成功将 /home 从旧磁盘复制到运行 Debian 的新计算机

成功将 /home 从旧磁盘复制到运行 Debian 的新计算机

我读过类似问题的答案,但还没有找到我感兴趣的问题的答案。我读过 rsync 手册页的大部分内容,我想确保我理解自己在做什么,以免给自己带来太多额外的工作。

我有一张来自坏掉的电脑的磁盘。它运行的是 Debian Oldstable。我现在有一台运行 Debian Stable (Stretch) 的机器,我想/home在不破坏任何东西的情况下转移它。我把旧磁盘放在底座上,新磁盘/home是空的,除了安装 Debian 时创建的配置文件和桌面上的一个文件夹,我把到目前为止必须创建的一些文件放在那里。

我认为 rsync 是最好的答案,但我也看到了 cp 的潜力。

这个命令和操作序列会起作用吗?

<mount disk OLD via the doc>
su
rsync -a -v -z -H -A -X --update -P --logfile=/tmp/rsynclog.txt /media/OLD/home/ /home
exit
<unmount disk OLD>

我会先尝试一下,-n看看它对这个过程有什么看法。我可能还会先复制,/media/OLD/home/user1/ /home/user1这样如果发生奇怪的事情,我就不用重复做了。

我知道我可以合并一些简短的选项;我在这里将它们分开以便于查看和讨论。

-a应该按名称保存时间、所有者和组,对吗?我不知道如果它在 OLD 上发现尚未在 NEW 上创建的组,它会怎么做;我希望它在 NEW 上创建该组。

我不确定这是否-z有帮助或有害处。我有一个来自旧磁盘的 USB3 连接,所以我可能应该跳过它。

我这么做AHX只是为了以防万一。我不记得我是否在某个时间在 OLD 上创建了硬链接,我不认为但不能保证 ACLS 不存在,而且我还不了解扩展属性。如果它们与我的目录无关,这真的不会造成伤害吗?

我有一些 Debian Stretch 创建的配置文件。这是否真的--update可以防止这些文件被覆盖而不会产生其他副作用?然后我可以稍后进行差异检查,看看是否需要考虑进行更改。(有没有办法为该差异做好准备?)

并且我认为但很少 100% 确定我指定的文件是最终得到一个/home模仿/home旧版本的“新版本”,除了可能由于 Debian 软件包的较新版本而导致的一些配置文件更改。

您是否发现我遗漏了什么或者有什么会给我带来麻烦?

@xenoid:我很感谢这个建议。这就是我使用 --update 选项的原因,这样它(大概)就不会覆盖 Stretch 刚刚在我的计算机上写入的任何点文件。我认为这很像执行 Linux dist-upgrade,始终采用新的配置文件,并在以后修补问题(如果有)。

作为参考,这是我在系统上定义的每个用户使用的命令:

su
rsync -avHAX --update -P --log-file=/tmp/rsynclog.txt /media/OLDpartition/username/ /home/username
exit

到目前为止,这似乎奏效了。我会接受答案,因为我认为我们基本上都说了同样的话,只是实际上没有答案——更多的是对我前进方向的确认。

相关内容