use*_*626 6 dual-boot home-directory
在多个操作系统(例如 Ubuntu 和 Debian)之间共享 /home 挂载和 $HOME 目录是很常见的。各自的桌面环境(例如,Ubuntu Gnome 与 Debian Gnome)尝试共享 $HOME/.config 和 $HOME/.local \xe2\x80\x94 中的各种配置,这可能会导致冲突和混乱。例如,相同的字体或主题可能无法在两个操作系统安装上使用。不同的扩展及其版本也可能会造成混乱。有没有办法避免这个问题,而不是为每个操作系统创建一个单独的 $HOME,然后可能从这些操作系统中符号链接一个共享的“真实”主目录?
\n如果您分享相同的内容$HOME,那么您需要确保其按预期工作。如果两个系统都使用相同的桌面环境,并且您有不同版本的扩展等,那么这确实会导致问题。一个简单的解决方法是在两个系统上使用不同的桌面环境,这样设置就不会重叠。
尽管跨发行版共享 $HOME 确实很常见,但几年前这要简单得多,当时桌面环境较少,而且大多数设置都是关于 shell 而不是 GUI。您仍然可以这样做,但您确实需要更加小心,并尽量避免两个系统具有不同配置选项的情况。因此,在两个系统上安装相同的主题(如果它们具有相同的 GUI 和版本,这应该会自动发生),确保在两个系统上安装字体等等。只要让它们或多或少保持同步,就应该能够最大程度地减少问题。
然而,为了使其 100% 稳健,您需要将配置分开。一个技巧是将您的配置文件和目录移动到另一个位置,然后根据您加载的系统对它们进行符号链接。例如,您可以拥有一个仅由 Ubuntu 挂载的分区和一个仅由 Debian 挂载的分区,并在其中存储您的文件~/.config/和各种~/.foo文件。然后,在您的 中$HOME,将所有这些替换为 的符号链接/mnt/dynamicallyMountedDrive。您设置两个系统以安装一个或另一个分区/mnt/dynamicallyMountedDrive,这意味着您的符号链接将始终指向正确操作系统的正确设置。
这样,您仍然可以在两个系统之间共享实际数据,但配置是分开的。
我曾经很喜欢这样做,但当我遇到数据问题时就停止了。
如果共享 $HOME 的一个系统比另一个系统更新,或者只是您拥有不同版本的软件;可能会出现问题。我的一个系统上的 GNOME-MUA更新evolution使共享目录的其他操作系统看不到新收到的电子邮件;因为它有一个旧版本的进化,因此忽略了新版本存储邮件的方式......
如果两个操作系统都运行相同的版本,那么您应该不会遇到问题,但如果没有 - 您需要检查每个操作系统上的所有应用程序版本,使用它可以处理您正在使用的其他版本的文件版本,否则存在问题的风险。
您还应该避免较新版本中的较新功能(这是我测试的一项新功能,导致evolution改变它存储邮件的方式,从而产生了我的问题)。我用我的问题作为例子;但我在其他 GNOME 应用程序的共享方面也遇到了其他问题,所以我不再这样做了。
我现在使用网络共享,我知道的应用程序在该共享上安全共享数据(即*在逐个应用程序的基础上,我首先使用我使用的版本测试新功能;通过共享 $HOME,所有应用程序都将共享数据,因此需要更多的作业)。
当然,在两个发行版之间共享主文件夹并不常见。这是可以完成的,并且是在服务器系统上完成的,但它涉及在启动文件中采取预防措施,然后可能需要检查当前运行的版本以激活相应的设置(感谢 donal24 指出这一点)。
原因是不同发行版的不同版本的应用程序之间的配置数据不能保证保持相同。它在许多情况下都可以工作,但在其他一些情况下可能不起作用(例如 Gnome Shell 扩展):只是不能保证它能工作。
因此,您需要将用户配置数据在发行版之间分开。如果您想将相同的数据卷挂载到不同的发行版(这是可以的),您需要有不同的用户主目录,每个目录只能在一个发行版中使用。
在发行版之间共享用户文件(文档、图片等)不是问题。您可以对这些进行符号链接,以使数据可以从两个发行版平等地访问。然后,您可以设置足够自由的权限,以便具有不同 UID 的用户可以访问数据,但更好的方法是为不同发行版上的每个用户分配相同的 UID。您甚至可以拥有相同的登录名:用户的主文件夹名称不一定需要与登录名匹配。虽然 GUI 不允许设置,但useradd相反usermod,允许完全控制用户的登录名、主目录、uid 等。
| 归档时间: |
|
| 查看次数: |
1230 次 |
| 最近记录: |