了解文件系统的安装

我是Linux新手,想检查我对挂载/文件系统工作原理的理解。 我读相关的手册,但只是想确定。

我有一个分区说/ dev / sda5目前挂载到/ home与各种subdirs。 这是我的理解,这意味着/ dev / sda5有自己的便携式文件系统,可以移动到主要文件系统的任何地方。

问题:

如果我从/ home( # umount /home )卸载/ dev / sda5,然后将其挂载到/ var / www /(空)( # mount -t ext3 /dev/sda5 /var/www ),并将fstab入口,用/dev/sda5 /var/www ext3 defaults,noatime,nodev 1 2# mount -a

Q1)是/ var / www /( ie /home/username -> /var/www/username )下的/ home的所有内容?

Q2) / home文件系统的所有权限是否在这个新位置保持不变?

还有什么我应该关心的? 只是想确保我不去擦任何东西。 从Windows来的文件系统架构需要习惯(虽然我爱的灵活性!)。

 Q1) are all of the contents of /home now accessible under /var/www/ (ie /home/username -> /var/www/username)? 

是的,目录现在是/ var / www / username而不是/ home / username

 Q2) Are all of the permissions from the /home filesystem kept intact in this new location? 

只要重新安装在同一个系统上,即使在不同的系统上,文件所有权也是一样的,权限也是一样的。 所有权取决于/etc/passwd/etc/groups将数字UID转换为可读取的值,如果bob在系统x上是uid 1000,但在系统y上是uid 1050, bob将不具有新系统。

除非你在/ home重做用户目录,否则将会弄乱用户如何login,因为他们的主目录是不存在的。 他们的login脚本都不会被执行,等等。

把分区迁移到/var/www/你会想要做的;

 mkdir /home2/ cp -R /home/* /home2/ umount /home/ mv /home2/* /home/ rm -rf /home2/ # be VERY careful with this command mount -t ext3 /dev/sda5 /var/www/ 

然后添加如下内容:

 /dev/sda5 /var/www ext3 defaults 0 2 

/etc/fstab

具体问题:
1.是的,他们应该假设这个人拥有需要的目录权限才能进入该目录。 (更多关于这个答案的目录权限)。
2.是的,应该是完整的,因为所有权是存储在特定文件系统上的uid / gid编号。

单树与森林:
就Windows而言,主要的区别是一棵大树和一棵森林。 在Windows中,每个驱动器的根,一个字母,是它自己的树形结构。 由于可以有多个驱动器,所以最终会有一个“森林”(许多树)。 在Unix /是一棵树的根,每台机器上只有一棵树。

其他一些(也许是随机的)事情要记住:

  • 在Unix中,有“一切都是文件”的哲学。 所以设备,目录和套接字都被表示为文件。
  • 表示文件的名称(如“foo”)实际上是指向该文件的链接。 您可以有多个名称(链接)映射到该文件。 这些types,硬和符号链接。 硬链接只能指向存在于同一文件系统上的文件,符号链接可指向其他文件系统上的文件。
  • 你实际上可以在一个非空的目录下挂载一个文件系统(尽pipe这些日子可能会引起警告)。 这些最终会“隐藏”(而不是覆盖)您安装的文件,但不会被覆盖。 这些被称为“覆盖安装”。
  • 这只是为了让你困惑一下:-)实际上你可以创build一个本身就是一个文件系统的文件,并使用环回设备将其作为一个新的文件系统挂载到别的地方。 这就像在Windows中使用守护进程工具来挂载ISO镜像一样。

最后,旁白,听起来你正在努力从Windows背景中学习* nix,我认为这是一个值得尊敬的事情(相同的其他方式)。

你可以做那样的动作,但是/home将是空的,这会破坏一些东西。 例如, /etc/passwd的主目录将会丢失。