我在组合系统和主分区上运行 16.04。我计划使用单独的主分区进行完全重新安装。将我的整个 /home/myUser 文件夹保存在外部媒体上并将其复制回新的主分区(如果存在则覆盖文件)是个好主意吗?
或者我应该只将用户数据(如图片、我编辑的文件等)保存在外部媒体上。还有一些选定的“系统”文件?我现在唯一想到的是 .vimrc。(并且不覆盖任何文件。)
这个过程中可能出现什么问题/重复工作?
(很久以前,我就听说过不使用外部媒体来创建单独主分区的方法,但这可能是一种不必要的风险?)
答案1
是的!您可以将旧主文件夹复制到新分区(通过外部硬盘)
但是...文件权限怎么办?
问题是,如果您的外部硬盘驱动器因与 Windows 不兼容而格式化,那么当您将文件复制到外部驱动器时,它将不会尊重文件所有权和权限。
对于大多数文件来说,这无关紧要。但是,对于某些文件,例如ssh 私钥,权限很重要,如果没有正确的权限,密钥将不起作用。
解决方案 1
将外部驱动器格式化为ext4
Ubuntu 使用的默认格式。缺点是,当您将其重新格式化为时,外部驱动器中的所有数据都将丢失ext4
。从好的方面来说,您将拥有一个专门用于在两台 Ubuntu(任何 Linux)计算机之间传输数据的外部驱动器。
只有当您是计算机的唯一用户,并且只有一个用户帐户(您的)时,在 Nautilus 中通过Ctrl+C和Ctrl+进行拖放或复制粘贴才会起作用。V
如果计算机有其他用户帐户,您想使用终端复制。假设您的外部硬盘驱动器已安装为。按+ +/media/$USER/USB2TB
打开终端并输入:CtrlAltT
sudo cp -rp /home /media/$USER/USB2TB/home
cp
您可能不想使用以下命令rsync
:
sudo rsync -aXS --exclude='/*/.gvfs' /home/. /media/home/.
看https://stackoverflow.com/questions/6339287/copy-or-rsync-command关于cp
和之间的区别的各种答案rsync
。
在任何情况下,请记住喷射或者安全移除硬盘和等待直到可以安全拔掉电源为止。
解决方案 2
使用默认备份Ubuntu 附带的软件用于备份您的主文件夹。确保备份目标是外部驱动器。这可确保即使驱动器格式化为 FAT32 或 NTFS,所有权和权限数据也能得到保留。
解决方案 3
将所有内容放入压缩包中。按Ctrl+ Alt+打开终端T并输入:
tar czvf /media/$USER/USB2TB/myhomebackup.tar.gz /home/$USER
其中,$USER
是您在此计算机上的用户 ID。tar 选项czvf
执行以下操作:
- c 创建新的档案
- z 通过 gzip 过滤档案,使其压缩
- v 详细列出已处理的文件
- f
<name of archive>
使用档案文件名<name of archive>
是否覆盖?
由于这是同一台机器,没有新硬件,因此我将覆盖现有文件。首先,在全新安装的情况下,您的主文件夹中没有“真实”数据。其次,覆盖隐藏文件会恢复旧安装中的配置、书签等。
我发现稍后查看隐藏文件夹和文件(以 .dot 开头的文件和文件夹名称)并删除不需要的文件会更容易。例如,如果我不再需要程序 foo 并且没有foo
在新安装中安装,我会删除主文件夹中的文件夹.foo
。即使我不删除它也不会占用太多空间。如果我决定某天再次.foo
使用,配置会在那里。foo
不进行全新安装可以完成吗?
是的你可以移动将主文件夹移至新分区。这里有一份关于此问题的出色指南:https://help.ubuntu.com/community/Partitioning/Home/Moving
我强烈建议您在尝试此操作之前对您的图片、歌曲或任何您珍爱的东西进行备份(或两次备份!)。
错误是难免的。如果你犯了一个错误,你的数据可能会永远消失。所以,在尝试任何这些操作之前,一定要确保安全,至少备份两个重要文件。
希望这可以帮助
答案2
我在我的系统上做了完全相同的事情,并且通常没有问题。
- 我不会恢复 ~/.config 上的所有文件,但只选择包含我想要的一些数据的文件
- 我确实复制回了~/.mozilla 和 ~/.thunderbird 中的文件
- 我确实复制了 ~/.config/variety 和 ~/.config/qBittorrent 中的文件
当使用它们的程序第一次启动时,~/.config 中的大多数文件都会被重建,我所做的任何更改都无关紧要。
答案3
是的,你可以复制内容到新的分区。
假设你有从实时驱动器启动并挂载根分区和启动分区,
sudo mkdir /mnt/root
sudo mkdir /mnt/home
sudo mount /dev/sdxm /mnt/root # the root partition
sudo mount /dev/sdyn /mnt/home # the home partition
其中 x、y 是驱动器号,m、n 是分区号。
然后你可以复制rsync
以保留权限和所有权的方式,
sudo rsync -Havn /mnt/root/home/ /mnt/home
请注意源规范中的尾部斜杠/
。这是一次“试运行”,如果输出看起来不错,您可以进行真正的复制,
sudo rsync -Hav /mnt/root/home/ /mnt/home
/home
请记住在以下位置添加分区行/etc/fstab
文件,当/mnt/root/etc/fstab
您仍然从实时驱动器启动时。
sudo nano /mnt/root/etc/fstab
该行应该与此行类似,
UUID=2175f8ed-4ab3-4268-b5d6-f38c2017e547 /home ext4 errors=remount-ro 0 2
您应该将其中的 UUID 十六进制字符串替换为您/home
所见的分区的 UUID 十六进制字符串blkid
(不带引号)。
正如查尔斯·格林(Charles Green)在回答中所描述的,您可能会或可能不会跳过其中的某些数据~/.config
。
升级到 16.04 LTS 时,我使用了另一种方法:我将个人数据保存在单独的数据分区,它也是通过文件安装的/etc/fstab
。这使我的/home
目录相当小,因此可以将其保存在根分区中。我有符号链接从我的/home
目录到数据分区,邮箱、VirtualBox 文件和其他大文件可以驻留在该分区。