我的 /home 和 /(文件系统) 位于不同的分区。我升级过几次 (xubuntu),但多年来我的操作系统已不可避免地出现问题,我想重新安装。
要全新安装 / 并保持主页原样,使用此方法。
唯一的区别是我不想放弃所有 / 而没有机会备份有用的东西,以防我可以有选择地重新应用东西或其他什么。有人有关于从 / 备份什么(如果有的话)的指南吗?我所能找到的只是备份整个东西的指南,我不想要。同样,有没有一种明显的方法来保存已安装程序的列表,还是只是“程序菜单的屏幕截图”方法?
谢谢
(请注意:根据“不允许安装标签”规则,不允许使用“重新安装”和“软件安装”标签,尽管它们作为替代方案存在。这肯定是一个错误)
答案1
要保留旧系统中安装的软件包列表,您可以执行以下操作:
apt --installed list
或者
dpkg --list
并将其重定向到主文件系统中的某个文件。然后,如果您想备份 / 目录中的某些子目录,可以使用带有适当参数的 tar。我建议备份 /etc。此外,/var/log 中的某些日志可能对将来与新系统的比较有用。如果您的 / 文件系统较小,并且想要备份整个 / 文件系统,请使用带有参数 --one-file-system 的 tar。
答案2
备份你的根目录
使用 mount 获取根分区设备:
$ mount
[...]
/dev/sdXY on / type ext4 (rw,relatime,errors=remount-ro,data=ordered)
[...]
将其挂载到另一个目录(使用您的分区替换 /dev/sdXY):
$ sudo mkdir -p /mnt/root
$ sudo mount /dev/sdXY /mnt/root
将其复制到另一个分区,无需更改文件权限(在示例中,我将使用 /home):
$ sudo cp -rfp /mnt/root/ /home/old_root
获取所有已安装的程序
我认为获取此信息的最佳方法是观察已安装软件包的列表。在 Ubuntu 中,大多数情况下程序的安装都是通过软件包完成的,如果您重新安装相应程序的软件包,您将恢复该程序。
获取已安装包的列表:
$ dpkg -l |grep ^ii
如果你想将其保存到文件中,可以添加> path/to/file
此命令。例如:
$ dpkg -l |grep ^ii > /home/user/package_list