不同的Linux发行版共享相同的/ home文件夹?


58

/home在不同的Linux发行版之间共享相同目录的最佳方法是什么?

我的意思是,我想同时拥有Fedora和Arch,并且无论我启动到哪个Linux发行版,我都希望在家中找到我的文件。但是,如果我安装了相同的分区,/home则可能会使/home目录中保存的配置混乱。

那我该怎么办?


3
我正在3个Linux发行版之间共享我的主文件夹。我意识到这是不可避免的一个重要问题。虽然可以争论的是,使用不同版本的应用程序访问相同的文件通常不会导致任何数据丢失,但似乎很自然的是,每次启动不同的文件(主要文件或次要文件)时,都需要重新构建各种缓存和搜索索引应用程序的版本。看起来我正在GNOME桌面搜索索引中遇到这种情况。
Alexey,2016年

Answers:


40

当然,可以在不同的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
...

和openSUSE:

$ ls -l /home/user
.eclipse -> /mnt/shared/.eclipse
.kde4
Documents -> /mnt/shared/Documents
workspace -> /mnt/shared/workspace
...

等等..

如果不确定干扰配置文件,请尝试使用第二种更安全的方法,找出可以轻松在已安装的发行版之间共享哪些家庭组件。


1
好答案。我建议您和其他尝试类似方法的人一起看看LVM。
2011年

使用LVM创建设置将使其更加灵活和可扩展。使用主/逻辑分区可以很好地进行静态设置。取决于用例和可用时间来实施解决方案。
WAG

1
我使用重量较轻的房屋和另一个分区来放置带有符号链接的沉重物品。效果很好,您可以在共享的“沉重的东西”分区中为通用程序(例如firefox)添加一些配置,并用符号链接替换文件。
Fernando Briano

我正在计划用我的家用计算机执行类似的操作,因为Ubuntu的最新更新使它有很多问题。我首先在虚拟环境上测试了这种情况,并且由于该分区的权限,相同的/ home文件夹确​​实会引起很多问题,尤其是对于桌面管理器。我认为带有符号链接的/ home是我最终为PC所做的工作。我将使用:CentOS,Ubuntu,Debian,openSUSE,可能是Fedora LVM上的所有OS文件,主/ boot的主分区和所有其他OS / boot文件的扩展分区。因为他们不会在LVM工作
CenterOrbit

11

我不建议/home在完全不同的发行版之间共享您的文档。读取和写入相同配置文件的同一程序的两个版本可能会导致问题,例如,如果较新版本编写了较旧版本无法理解的内容。

如果您不介意路径不同,请将文件保存在/home一个发行版中,然后将该/ home挂载在另一个发行版的另一个位置(例如/home/<user>/fedora)。然后, 例如/home/<user>/foo/bar可以通过/home/<user>/fedora/foo/bar拱门进行访问。

如果希望路径相同,请将大多数文件保存到第三个不同的分区,然后将其安装在两个发行版中的同一位置,例如/home/<user>/stuff


1
我有一个类似这样的设置,但是有一个〜/ Docs /文件夹。那就是所有“我自己的数据”所在的地方,除此之外是其他程序数据(是否特定于机器)。关键配置文件会定期从〜/备份到〜/ Docs / configfiles /
kasterma 2011年

让每个用户拥有本地内容。我猜想,处理这些差异比仅共享“公用”(音乐,下载,Codding,Docs,Etc)文件夹而不是dotfile或其他like /usr或困难/opt。这样,您可以从所有框中每天使用的文件夹中备份数据。
erm3nda

7

您可以使用符号链接

ln -s /mnt/mydisk/mydocuments /home/user4123/mydocuments

在每个发行版上一次。现在每个发行版都有自己的配置文件


这对我有用!
马丁·德勒

@MartinDelille自您1年前发表评论以来,我可以问您问题吗?仍然乐于将所有文件混合在一起吗?发行。
erm3nda

它用于Ubuntu / ElementaryOS,但我不再使用了。
Martin Delille

6

您可以在发行版之间共享主目录,甚至在不同的unix变体之间也可以共享。通过异构网络上的NFS共享主目录的人一直在这样做。

如果在共享相同主目录的不同系统上运行某些程序的不同版本,则可能会遇到麻烦。麻烦的程序通常是GUI最高级的程序,例如Gnome。例如,Firefox会很乐意将您的配置文件升级到较新的版本,但可能不允许您在较早的版本中再次加载该配置文件。


5

我建议对所有常见配置文件使用符号链接,您会发现彼此之间缺少这些配置文件。在两个发行版都可以访问的地方创建一个新目录,从那里移动文件和符号链接。

该控件不仅可以精确控制共享的内容,还可以非常轻松地将您的首选项转移到其他计算机上,并在需要时对其进行版本控制并进行备份。甚至还有一些工具可以根据您以这种方式工作的假设来帮助您完成这些事情(例如,请参阅“想家”)。

至于东西,如文档,视频,音乐等常用的设置目录,存在XDG用户显示目录的形式,其配置像桌面,音乐,图片,视频等(东西这个标准的http:// freedesktop.org/wiki/Software/xdg-user-dirs)。这些目录可以位于您的主目录之外,也可以根据需要进行符号链接,并将目录设置为指向符号链接。我知道Gnome可以处理这些,并且假设KDE也可以。

过去,我确实尝试过使用整个相同的主目录,而不同版本的应用程序很快引起了问题。


3

您可以将默认的Documents文件夹设置在不同的位置或分区上,并将其他文件夹(例如Desktop文件夹,Download文件夹等)设置为相同的位置。

每个应用程序都有其使用默认路径的方式,因此第一次使用将是很长的工作...

一些例子

KDE http://docs.kde.org/stable/zh-CN/kdebase-workspace/kcontrol/paths/index.html

GNOME http://ubuntuforums.org/showthread.php?t=631711

如果找不到有关如何更改某些软件的默认设置的说明,则可以尝试在此处再次询问。

然后有一种困难而又明智的方法,那就是在共享同一内核的同一台PC上设置不同的发行版。

为了您的好奇心,我建议您(所有人)看一下这篇文章:

http://teddziuba.com/2011/01/multiple-concurrent-linux-distros.html

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.