当前位置: 首页>>技术问答>>正文


多个Linux发行版的公共/主分区

, ,

问题描述

我有一个Ubuntu安装在一个分区,Debian安装在另一个分区,现在我打算安装回溯和SUSE。 Debian安装一个单独的分区作为其主安装点,而Ubuntu在其文件系统中包含自己的主文件夹。

现在,我希望我的家庭分区由我目前或将来可能拥有的所有其他发行版共享。

我怎样才能做到这一点?

附:我有相同的用户名和&所有发行版上的昵称

最佳解决方法

Ubuntus图形安装程序不会自动为/home创建单独的分区。确实如此。建议这样做,如果您选择手动分区,则可以这样做。但即使你没有,你仍然可以解决它。

但是,有一些事情需要考虑。首先,确保所有发行版实际上都可以使用主分区上使用的文件系统。这通常不是问题,但比抱歉更安全。其次,这更重要;除非你知道你在做什么,否则不要在发行版之间使用相同的主目录。发行版可能具有已安装软件的不同版本,这意味着它们的设置可能不相同。它通常不应该是一个问题,因为应用程序应该正确处理不同的版本,但不是全部。尽管如此,拥有一个名称与您的用户名不同的主目录是完全没问题的,所以这不是问题。

如果我正确读取,你应该有两个Ubuntu分区(交换和root)和一些Debian分区。然后你要做的第一件事就是在Ubuntu中安装Debians主目录,并确保在启动时将它添加到/etc /fstab。有大量关于如何执行此操作的文档,因此我不会介绍它。

如果您在/home上安装Debians主分区,那么它将隐藏Ubuntus /home目录,因此首先将它安装在其他地方,例如/mnt。现在你必须做出一些决定。如果需要,您可以尝试为所有发行版使用相同的主目录,或者您可以为每个发行版使用不同的主目录。例如,您可以在/home中为每个发行版创建一个单独的文件夹,如:

  • /家庭/Ubuntu的/用户名

  • /家/于Debian /用户名

  • /家庭/other_distro /用户名

我会说这是最安全的解决方案。我假设您的主目录未加密。如果它们是,那么这将使事情变得复杂,尽管主要程序是相似的。执行此操作时,您可能应该从主帐户注销,因此请创建一个新用户,使其成为管理员并以该用户身份登录。

您必须在所有发行版上配置所有当前用户才能使用主目录的新位置。您还应该将发行版配置为默认情况下为您创建的新用户使用这些路径。

如果您已将主分区挂载在/mnt上,那么您将创建/home /ubuntu和/home /debian。然后将/home /username复制到/mnt /ubuntu /username并将/mnt /username移动到/mnt /debian /username(对于Debian用户)。

您现在在同一分区中同时拥有Ubuntu和Debians用户家庭,但在不同的主目录中。如果您已将Debian和Ubuntu配置为在启动时将该分区安装在/home中并将用户更改为使用新路径,那么一切都应该没问题。当您打算安装新的发行版时,首先创建/home /distroname /并照常安装,但使用主分区并将其配置为使用/home /distroname作为新用户住宅的默认位置。如果你这样做,请确保不要格式化它,否则你将从Debian和Ubuntu中丢失数据:)

如果要重用单个主目录,请确保知道自己在做什么。您需要为发行版中的用户提供相同的uid。否则权限将被搞砸。

祝你好运并备份:)

次佳解决方法

由于技术上可以从不同的发行版共享/home目录(请参阅this答案),因此这不是一个好主意。

应用程序的设置可能具有不同程序版本的不同格式。如果任何事情不相容或因此不同步,我们将完全失去找到原因。甚至不建议在同一分发的不同版本中这样做(参见例如here)。

因此,建议仅从用户家中的子目录共享个人数据文件(例如,通过创建symlinks到您选择的目录):

第三种解决方法

这是一个迟到的答案,但对于试图在发行版之间共享信息的其他人可能会有用。

如上所述,在/home/user/中共享相同配置文件的不同版本的应用程序存在问题。

解决部分问题(即共享主文件夹中的大部分数据)的简单解决方案是符号链接文件夹,如/home/user/Documents。我的主文件夹如下所示:

drwxr-xr-x  3 mike mike 4096 May  2 11:48 Desktop/
drwxr-xr-x  2 mike mike 4096 May  1 21:18 Downloads/
lrwxrwxrwx  1 mike mike   34 Apr 27 12:36 Documents -> /mnt/home/mike/Documents/
lrwxrwxrwx  1 mike mike   33 Apr 27 12:40 Pictures -> /mnt/home/mike/Pictures/
lrwxrwxrwx  1 mike mike   32 Apr 27 12:38 Public -> /mnt/home/mike/Public/
lrwxrwxrwx  1 mike mike   31 Apr 27 12:39 Videos -> /mnt/home/mike/Videos/
lrwxrwxrwx  1 mike mike   34 Apr 27 12:40 workspace -> /mnt/home/mike/workspace/

如上所示,DesktopDownload文件夹位于本地主分区,而DocumentsPictures等链接到共享分区。

以下是如何设置符号链接(在此示例中为Documents文件夹):

$ cd ~
$ mkdir old-folders
$ mv Documents old-folders/
$ ln -s /mnt/home/mike/Documents/ Documents

以上将当前Documents文件夹移动到old-folders并设置指向共享Documents文件夹的符号链接。我已经使用这个方案很长时间了,到目前为止没有问题。

您可能会发现垃圾桶有问题,如果是,请查看此帖子:How do I use gnome trash for files in different partition?

第四种方法

假设共享您的home-partitions的目标是对您的个人文件/文档/数据具有相同的访问权限(但不是对每个发行版特定的配置文件),我建议您仅为这些共享设置一个额外的分区系统文档(数据)并仅将您的主目录用于distro-specific文件。

然后,您可以将data-partition中的文件夹(-bind)安装到每个发行版中的家中,并且可以访问这些数据,就像它们位于您的主分区一样。同时你通过设置冲突等避免任何麻烦……

这就是我所做的,这几乎完美无缺。 (虽然在从Ubuntu 11.10升级到12.04时它以某种方式重置了我的fstab,但请记住不时检查(例如升级后)设置仍然正确。)

第五种方法

我拿了/ect /fstab approch,这是我采取的步骤。

我创建了一个单独的100 + Gb分区来包含我的所有共享数据,在其中我创建了大多数操作系统常用的7个文件夹

Documents, Downloads, Music, Pictures, Public, Templates, Videos
  1. 要查找包含共享数据文件夹的分区的UUID,请执行以下命令:

    sudo blkid
    
  2. 要自动挂载共享数据分区,需要编辑/ect/fstab,执行以下命令:(用vi或您喜欢的文本编辑器替换gedit)

    sudo gedit /etc/fstab
    
  3. 将分区信息添加到/ect/fstab,(对我而言,如下所示)。

    #/dev/sda4
    UUID=2dc891df-86aa-4d2b-a7aa-bc1620ef8024   /media/DATA ext2    noatime,rw,errors=remount-ro    0   0
    
    /media/DATA/mitchbw/Documents/  /home/mitchbw/Documents bind    noatime,rw,errors=remount-ro,bind   0   0
    /media/DATA/mitchbw/Downloads/  /home/mitchbw/Downloads bind    noatime,rw,errors=remount-ro,bind   0   0
    /media/DATA/mitchbw/Music/  /home/mitchbw/Music bind    noatime,rw,errors=remount-ro,bind   0   0
    /media/DATA/mitchbw/Pictures/   /home/mitchbw/Pictures  bind    noatime,rw,errors=remount-ro,bind   0   0
    /media/DATA/mitchbw/Public/ /home/mitchbw/Public    bind    noatime,rw,errors=remount-ro,bind   0   0
    /media/DATA/mitchbw/Templates/  /home/mitchbw/Templates bind    noatime,rw,errors=remount-ro,bind   0   0
    /media/DATA/mitchbw/Videos/ /home/mitchbw/Videos    bind    noatime,rw,errors=remount-ro,bind   0   0
    

注意:请注意bind作为文件系统类型并在选项中。我还修改了noatime//home和数据文件夹的挂载选项,因为这样可以加速文件访问并通过减少磁盘I /O来延长磁盘驱动器的life-span

  1. 要测试修改后的fstab,请执行:

    sudo mount -a
    

并使用查看已安装的文件系统

    mount

有关noatime/etc/fstab选项的更多信息,请访问:

https://wiki.archlinux.org/index.php/fstab

http://www.openquery.com.au/blog/hint-day-noatime-relatime-fstab

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/2906.html,未经允许,请勿转载。