/home
在不同的 Linux 发行版之间共享相同目录的最佳方法是什么?
我的意思是,我想同时拥有 Fedora 和 Arch,并且无论我启动到哪个 Linux 发行版,我都想在家里找到我的文件。但是如果我安装相同的分区,/home
那么我可能会弄乱/home
目录中保存的配置。
那我能做什么呢?
答案1
当然可以在不同的 Linux 发行版上共享主文件夹(或分区)。
但请注意以下事项:
- 对于特定用户,每个发行版上的 UID 和 GID 必须相同。
- (正如已经指出的)相同程序的不同配置文件可能会导致意外的行为。
- 如果将所有发行版安装到同一引导文件夹中,请确保引导加载程序正确处理不同的发行版。
我有一个工作(虚拟)设置:
/dev/sda (40GB)
+-/dev/sda1 /boot (100MB, ext2)
+-/dev/sda3 swap (2GB)
+-/dev/sda4 /home (20GB, ext4)
+---/dev/sda5 /root (Ubuntu 10.04, 5GB, ext4)
+---/dev/sda6 /root (Fedora 14, 5GB, ext4)
+---/dev/sda7 /root (openSUSE 11.3, 5GB, ext4)
+---/dev/sda8 /root (ArchLinux 2010.05, 5GB, ext4)
Ubuntu和Fedora都运行Gnome 2.30,openSUSE有KDE4和ArchLinux LXDE。所有发行版在一个分区上都有其必需的引导文件。发行版之间的切换提供了预期的持久用户配置。
另一种可能性是每个发行版的轻量级主文件夹(不必是整个分区),仅提供必要的配置文件(.gnome2、.kde4、.compiz、.themes 等)和与“重”东西(文档、图片、视频、音乐等)共享数据分区。每个发行版自己的主文件夹中的符号链接将指向共享分区。
之后,可以随意扩展以包含其他内容。
示例:您eclipse
在所有发行版上都安装了 IDE,并且希望在任何地方都可以使用相同的配置和源文件。您可以在每个发行版主文件夹上创建指向共享文件夹的符号链接来实现这一目的。
这将是 Ubuntu:
$ ls -l /home/user
.eclipse -> /mnt/shared/.eclipse
.gnome2
Documents -> /mnt/shared/Documents
workspace -> /mnt/shared/workspace
...
并打开SUSE:
$ ls -l /home/user
.eclipse -> /mnt/shared/.eclipse
.kde4
Documents -> /mnt/shared/Documents
workspace -> /mnt/shared/workspace
...
等等..
如果您不确定是否会干扰配置文件,请尝试第二种更安全的方法,并找出可以在已安装的发行版之间轻松共享哪些主组件。
答案2
我不建议/home
在完全不同的发行版之间共享您的内容。同一程序的两个版本读取和写入相同的配置文件可能会导致问题,例如,如果新版本写入了旧版本无法理解的内容。
如果您不介意路径不同,请将文件保存在/home
一个发行版中,并将 /home 安装在另一个发行版的另一个位置(例如/home/<user>/fedora
)。然后, 可以通过例如 on arch/home/<user>/foo/bar
进行访问。/home/<user>/fedora/foo/bar
如果您希望路径相同,请将大部分文件保存到第三个不同的分区,并将其安装在两个发行版中的同一位置,例如/home/<user>/stuff
.
答案3
您可以使用符号链接
ln -s /mnt/mydisk/mydocuments /home/user4123/mydocuments
每个发行版一次。现在每个发行版都有自己的配置文件
答案4
我建议对您发现自己缺少的所有常见配置文件使用符号链接。在两个发行版都可以访问的位置创建一个新目录,从那里移动文件和符号链接。
这不仅可以准确控制共享的内容,而且可以非常轻松地将您的首选项移动到其他计算机,如果需要,可以将它们置于版本控制之下并进行备份。甚至有一些工具可以根据您以这种方式工作的假设来帮助您完成这些事情(例如,想家)。
至于为文档、视频、音乐等设置通用目录,有一个 XDG 用户目录形式的标准,它配置桌面、音乐、图像、视频等内容。(http://freedesktop.org/wiki/Software/xdg-user-dirs)。这些目录可以位于您的主目录之外,或者您可以根据需要进行符号链接并将目录设置为指向符号链接。我知道 Gnome 可以使用这些,并且假设 KDE 也可以。
我过去确实尝试过使用整个相同的主目录,但不同版本的应用程序很快就会引起问题。