Sta*_*arx 41 dual-boot home-directory
我在一个分区中安装了 Ubuntu,在另一个分区中安装了 Debian,现在我还计划安装 backtrack 和 SUSE。Debian 挂载一个单独的分区作为其主挂载点,而 Ubuntu 在其文件系统中包含自己的主文件夹。
现在,我希望我的主分区由我目前拥有或将来可能拥有的所有其他发行版共享。
我怎样才能做到这一点?
PS 我在所有发行版上都有相同的用户名和昵称
Jo-*_*tad 25
Ubuntu 图形安装程序不会自动为 /home 创建单独的分区。确实如此。建议您这样做,如果您选择手动分区,则可以这样做。但即使你没有,你仍然可以修复它。
但是,有一些事情需要考虑。首先,确保所有发行版实际上都可以使用主分区上使用的文件系统。这通常不是问题,但安全总比抱歉好。其次,这是更重要的;除非您知道自己在做什么,否则不要在发行版之间使用相同的主目录。发行版可能具有不同版本的已安装软件,这意味着它们的设置可能不同。通常这应该不是问题,因为应用程序应该正确处理不同的版本,但并非所有版本都如此。不过,拥有一个名称与您的用户名不同的主目录完全没问题,所以这不是问题。
如果我没看错,你应该有两个用于 Ubuntu 的分区(swap 和 root)和一些用于 Debian 的分区。然后你要做的第一件事就是在 Ubuntu 中挂载 Debians 主目录,并通过将它添加到 /etc/fstab 来确保它在启动时挂载。有很多关于如何执行此操作的文档,因此我不会深入研究。
如果您将 Debian 的 home 分区挂载在 /home 上,那么它将隐藏 Ubuntus 的 /home 目录,因此首先将其挂载到其他位置,例如 /mnt。现在你必须做出一些决定。如果需要,您可以尝试为所有发行版使用相同的主目录,或者您可以为每个发行版使用不同的主目录。例如,您可以在 /home 中为每个发行版创建一个单独的文件夹,例如:
我会说这是最安全的解决方案。我假设您的主目录未加密。如果是,那么虽然主要程序是相似的,但事情会变得复杂。执行此操作时,您可能应该退出主帐户,因此创建一个新用户,将其设置为 admin 并以该用户身份登录。
您必须将所有发行版上的所有当前用户配置为使用主目录的新位置。您还应该将发行版配置为默认情况下为您创建的新用户使用这些路径。
如果您已将主分区挂载在 /mnt 上,那么您将创建 /home/ubuntu 和 /home/debian。然后将 /home/username 复制到 /mnt/ubuntu/username 并将 /mnt/username 移动到 /mnt/debian/username(对于 Debian 用户)。
您现在在同一分区中拥有 Ubuntu 和 Debians 用户主目录,但位于不同的主目录中。如果您已将 Debian 和 Ubuntu 配置为在启动时将该分区挂载到 /home 并将用户更改为将新路径用于他们的家,那么一切都应该没问题。当您打算安装新发行版时,您首先要创建 /home/distroname/ 并照常安装,但使用 home 分区并将其配置为使用 /home/distroname 作为新用户 home 的默认位置。如果您这样做,请确保不要对其进行格式化,否则您将丢失来自 Debian 和 Ubuntu 的数据 :)
如果您想重用单个主目录,请确保您知道自己在做什么。您需要为跨发行版的用户使用相同的 uid。否则权限会被搞乱。
祝你好运并备份:)
小智 15
这是一个迟到的答案,但对于尝试在发行版之间共享信息的其他人可能有用。
如上所述,不同版本的应用程序在/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/
Run Code Online (Sandbox Code Playgroud)
正如可以在上面所述可以看出Desktop
和Download
文件夹是在本地家庭分区而Documents
,Pictures
等等链接到共享分区。
以下是设置符号链接的方法(在此示例中为Documents
文件夹):
$ cd ~
$ mkdir old-folders
$ mv Documents old-folders/
$ ln -s /mnt/home/mike/Documents/ Documents
Run Code Online (Sandbox Code Playgroud)
以上将当前Documents
文件夹移动old-folders
到共享文档文件夹并设置符号链接。我已经使用这个方案很长时间了,到目前为止没有任何问题。
您可能会发现垃圾桶有问题,如果有,请查看此帖子:如何将 gnome 垃圾桶用于不同分区中的文件?
小智 7
假设共享您的主分区的目标是平等访问您的个人文件/文档/数据(但不是每个发行版特定的配置文件),我建议您为系统设置一个额外的分区,仅用于这些共享文档(数据)并仅将您的主目录用于特定于发行版的文件。
然后,您可以在每个发行版中将数据分区中的文件夹挂载(-bind)到您的家中,并且可以访问这些数据,就像它们在您的主分区上一样。同时,您可以通过设置冲突等避免任何麻烦......
这就是我所做的,这几乎完美无缺。(虽然它在从 Ubuntu 11.10 升级到 12.04 时以某种方式重置了我的 fstab,所以请记住不时检查(例如升级后)设置仍然正确。)
I took the /ect/fstab approach and here are the steps I took.
I created a separate 100+Gb partition to contain all my shared data, within that I created the 7 folders common to most OS's
Documents, Downloads, Music, Pictures, Public, Templates, Videos
Run Code Online (Sandbox Code Playgroud)
To find the UUID
of the partition containing shared data folders, execute the following:
sudo blkid
Run Code Online (Sandbox Code Playgroud)To automatically mount your shared data partition you need to edit /ect/fstab
, execute the following: (Substitute gedit
with vi
or your favourite text editor)
sudo gedit /etc/fstab
Run Code Online (Sandbox Code Playgroud)Add the partition information to /ect/fstab
, (for me it is the following).
#/dev/sda4
UUID=2dc891df-86aa-4d2b-a7aa-bc1620ef8024 /media/DATA ext2 defaults,rw,errors=remount-ro 0 0
/media/DATA/mitchbw/Documents/ /home/mitchbw/Documents bind defaults,noatime,bind 0 0
/media/DATA/mitchbw/Downloads/ /home/mitchbw/Downloads bind defaults,noatime,bind 0 0
/media/DATA/mitchbw/Music/ /home/mitchbw/Music bind defaults,noatime,bind 0 0
/media/DATA/mitchbw/Pictures/ /home/mitchbw/Pictures bind defaults,noatime,bind 0 0
/media/DATA/mitchbw/Public/ /home/mitchbw/Public bind defaults,noatime,bind 0 0
/media/DATA/mitchbw/Templates/ /home/mitchbw/Templates bind defaults,noatime,bind 0 0
/media/DATA/mitchbw/Videos/ /home/mitchbw/Videos bind defaults,noatime,bind 0 0
Run Code Online (Sandbox Code Playgroud)NB: note the bind
as the file system type and within the options.
Alternatively, you could amend noatime
to the mount options (after bind
and before 0 0
):
noatime,rw,errors=remount-ro,bind
Run Code Online (Sandbox Code Playgroud)
如果将这些添加到/
,/home
和数据文件夹的安装选项中,因为这会通过减少磁盘 I/O 来加快文件访问速度并延长磁盘驱动器的使用寿命
要测试您修改的fstab
,请执行:
sudo mount -a
Run Code Online (Sandbox Code Playgroud)并查看挂载的文件系统
mount
Run Code Online (Sandbox Code Playgroud)
可以在此处找到更多关于noatime
和/etc/fstab
选项的信息:
https://wiki.archlinux.org/index.php/fstab
http://www.openquery.com.au/blog/hint-day-noatime-relatime-fstab
归档时间: |
|
查看次数: |
72093 次 |
最近记录: |