![2 个版本的 Linux,相同的主目录,哪个会起作用?](https://linux22.com/image/1381524/2%20%E4%B8%AA%E7%89%88%E6%9C%AC%E7%9A%84%20Linux%EF%BC%8C%E7%9B%B8%E5%90%8C%E7%9A%84%E4%B8%BB%E7%9B%AE%E5%BD%95%EF%BC%8C%E5%93%AA%E4%B8%AA%E4%BC%9A%E8%B5%B7%E4%BD%9C%E7%94%A8%EF%BC%9F.png)
我有一台新笔记本电脑,我想尝试一些不同版本的 Linux。
安装时我可以双启动并将主目录设置为同一分区吗?如果我这样做(例如在 Mint 和 Arch 之间),安装程序可以正常工作吗?
我可以使用相同的用户名并在它们之间切换吗?如果这样做,我需要注意什么?我猜用户名和 ID 需要匹配。
或者这是一个愚蠢的想法,最好不要去打扰?
答案1
这是有风险的。虽然很多程序可能都能正常工作(尤其是如果它们是同一版本),但有些发行版会编译它们的应用程序以在一个地方查找配置文件,而其他发行版则将其放在单独的文件夹中。最终,您最好创建一个分区来共享文件,而不是共享用户。
答案2
这不是个好主意。主要问题在于配置文件。大多数应用程序在您的电脑上都有几个地方存储其正常运行所需的“本地”信息。这些信息包括可用硬件、用户偏好、补充软件包的版本等等。这些信息通常存储在主目录中的隐藏文件和/或目录中,因此这不是个好主意。
可能发生的情况是,这些文件可能引用了 OS n.1 安装的程序版本,但在 OS n.2 安装的版本上仍然不可用。无法保证这些配置文件完全兼容;它们可能不同,并且一个版本可能会被覆盖,调用它的包可能会严重故障。
如果你认为不同操作系统上运行不同软件包版本的问题不大,那么你应该看看这张桌子,显示每个发行版中存在比发行版存储库中可用版本更新的软件包的百分比。如您所见,这些百分比令人沮丧。
不幸的是,代码也可能如此。您确定这两个发行版运行的是相同版本的 gcc、make、automake 等吗?您(几乎)确定 Linux 标头会有所不同(Arch Linux 运行内核 3.11,Debian Wheezy 运行 3.2,其他版本则介于两者之间)。等等。
虽然安装两个或多个发行版很有趣,但在虚拟机中安装 n-1 个发行版则没那么麻烦。在必要时,您始终可以共享文件夹,并且可以使用真实磁盘执行更复杂的事情,即根据需要调整磁盘大小。
答案3
没问题如果你做对了。Michael Pobega 和 MariusMatutiae 都发现了可能存在的问题,但这些问题只适用于两个安装都使用同一个家庭目录-- 例如,如果/home/fred
是两个安装的主目录。如果您使用两个不同的主目录,例如/home/mfred
Mint 和/home/afred
Arch,则不会有问题。这两个目录可以位于同一个/home
分割,并且可以建立从一个到另一个的符号链接,以便在它们之间轻松访问。
最棘手的部分是设置一切。一些发行版(例如 Mint)在操作系统安装过程中提供非常有限的帐户设置选项。这些发行版使用用户名作为/home
帐户主目录中的子目录名称,因此如果您使用fred
作为用户名,Mint 将使用它/home/fred
作为主目录。您可以在事后使用该usermod
实用程序更改这一点,但考虑到 Mint 的维护模型,这将要求您创建具有管理权限的第二个用户帐户或root
通过为其提供密码来激活该帐户。考虑到您的第二个发行版将是 Arch,最简单的方法可能是让 Mint 以默认方式创建帐户,然后使用 Arch 更灵活的用户管理方法,正如 Arch wiki 中详细描述的那样。不过,wiki 目前没有提到-d
/--home
选项useradd
;此选项可让您指定主目录。因此,假设您正在为 创建一个帐户fred
,并且 Mint 已经创建了一个/home/fred
目录,您可以在 Arch 中使用类似以下内容:
useradd -m -d /home/afred fred
这将创建一个名为 的帐户fred
,但将其用/home/afred
作主目录。因此,您将fred
在 Arch 和 Mint 中使用该用户名,但每个发行版在共享分区上都有自己的主目录/home
。
还有一点:您应该确保两个发行版使用的用户 ID (UID) 值相匹配。大多数发行版(包括 Mint)默认使用从 1000 开始的 UID。我不确定 Arch 默认使用什么。如果发行版之间的 UID 值不匹配,您可能会遇到无法在另一个发行版中访问使用一个发行版创建的文件的问题。