我希望将我的/home
文件夹映射到计算机上的不同位置/驱动器。当我查看 fstab 文件时,我看到以下内容:
/dev/mapper/cl-home /home xfs defaults 0 0
/dev/mapper/cl-swap swap swap defaults 0 0
/dev/sda1 /mnt/store/hd2 ntfs defaults,auto 0 0
我的问题是:cl
in/dev/mapper/cl-home
指的是什么?
我可以这样输入吗:
/mnt/store/hd2/home/ /home ntfs defaults 0 0
答案1
在 中/etc/fstab
,第一列是卷位置,第二列是目录。该目录是挂载点,即可以访问文件的位置。卷位置指示文件的存储位置;根据文件系统类型,有不同类型的位置。对于“普通”文件系统,存储在磁盘上的文件和卷位置是磁盘分区。对于网络文件系统(例如nfs
或 )cifs
,这表示主机名和主机上的导出路径等。
您当前拥有的 ,/dev/mapper/cl-home
使用 Linux 卷格式指定一个分区(左心室容量)。卷名称由两部分组成:cl
是卷组(覆盖一个或多个磁盘的一部分),home
是该卷组内的逻辑卷。系统并不关心逻辑卷home
和目录/home
同名,但人类使用同名很方便。
如果您想将主目录放在现有的 Windows 分区上,那么您不能只在此处更改卷名称:/home
它不是安装磁盘文件系统的位置。您可以通过多种方式执行此操作:
您可以使用绑定挂载使
/mnt/store/hd2/home
也可通过 访问/home
。 fstab 条目将是/dev/sda1 /mnt/store/hd2 ntfs /mnt/store/hd2/home /home bind
请注意,您没有在 上挂载 NTFS 文件系统
/home
:它已经挂载在 上/mnt/store/hd2
。您正在另一个位置提供目录树;事实上,另一个目录树完全位于 NTFS 分区上,这一事实并不相关。您可以建立
/home
到 的符号链接/mnt/store/hd2/home
。在这种情况下根本/home
不会出现。/etc/fstab
您可以使用绑定安装或符号链接你的主目录,保留其他目录。
您可以将您的主目录更改为
/mnt/store/hd2/home
.使用 GUI 来管理用户帐户,或使用类似命令sudo usermod --home /mnt/store/hd2/linux-home --move-home joe
我不推荐任何这些选项,因为 NTFS 无法存储所有 Linux 文件名、类型和属性。所有这些选项都有进一步的问题:
- 绑定安装是一个非常有用的工具,但它们也有缺点。文件在枚举中的所有位置列出,这对
locate
、etc
等有影响。 - 符号链接没有这些缺点,但有时某些软件会在扩展符号链接的情况下记录主目录的位置。具有符号链接
/home
也可能导致AppArmor 策略导致的问题。 - 即使在外部有一个主目录
/home
也会导致安全策略的问题,尽管现在任何主要发行版都应该没问题。
我建议不要将主目录放在 NTFS 文件系统上,而应将其保留在 Linux 文件系统上。要从 Linux 访问 Windows 文件,请在/mnt/store/hd2
.为了方便起见,在主目录中创建指向以下位置的符号链接/mnt/store/hd2
。