为什么 Ubuntu 在主分区上创建 @home 目录?

为什么 Ubuntu 在主分区上创建 @home 目录?

我希望多个 Linux 发行版共享同一个 home/data 分区,每个分区都有唯一的用户名和隐式的独立主目录。我安装了 Debian Wheezy,并将此分区格式化为 btrfs。但是,当我安装 Ubuntu 13.04 并选择该分区为 /home 时,它​​会创建一个新目录 @home,其中会放置另一个具有用户名的文件夹。

为什么会发生这种情况?

答案1

我猜 Ubuntu 总是想使用子卷,如果你使用 btrfs 作为根分区,你将自动获得两个子卷,“@/”和“@home/”(参见Ubuntu wiki btrfs 条目有关更多信息),并且可能仅仅为了保持一致性而设置“@home/”子卷。

附注:如果您查看 /etc/fstab,您应该会看到 /home 挂载点的选项“subvol=@home”,这意味着它挂载了该 btrfs 的“@home/”子卷(子卷在某种意义上与目录非常相似)。


回答评论:

是的,你可以同时挂载顶级节点和子卷节点:

mount /dev/sdX# /mnt/top_node -o subvolid=5
mount /dev/sdX# /mnt/home_subvol -o subvol=@home

(如果顶级节点是默认挂载点(默认情况)则可以省略“-o subvolid = 5”选项)

这里,@home/ 子卷将可以通过 /mnt/top_node/@home/ 和 /mnt/home_subvol/ 访问。

可能值得将 @home/ 旁边的两个目录作为子卷,这样您就可以独立地快照和安装它们......

答案2

我真的希望这对其他和我一样的人有所帮助。我将根分区安装到 btrfs。启动后,它在扫描 btrfs 分区后似乎挂起了……这与系统 v 兼容性有关。另一个线程中有人说执行“软关机”,这有效了一秒钟。然后我尝试使用打开文件中的压缩/etc/fstabcompress=lzo不幸的是,我在这里的这些设置之间加了一个空格:

defaults,compress=lzo

这会导致启动系统但在登录时没有主目录CtrlAlt例如F4,它会说没有目录并将您的主目录设置为HOME=/,您将看到您的主目录的根目录列表。

如果您这样做了,请删除空格,以便它显示为defaults,compress=lzo

相关内容