我过去曾升级过 2 次发行版,每次都遇到了严重的问题,所以我决定不进行任何自动升级。
但是,我确实想要最新的发行版,因为我开始注意到我的软件包已经过时了。(最明显的是 wine)
我的计划是重新安装最新版本的 (X)Ubuntu,我已经收集了一些有关如何操作的信息。由于这样做至关重要,任何错误都可能导致花费大量时间进行修复(并可能导致数据丢失),因此我想确保我没有遗漏任何内容。
以下是我的假设:
我的 /home 位于单独的分区上。那里的所有内容都是安全的,重新安装 Ubuntu 不会影响那里的所有内容。(除了一些依赖项,如果需要,它们应该很容易重新安装)
我有一个单独的 /boot 分区。我的引导加载程序可以保持原样,不需要重新安装。但是,我可能需要更新 GRUB 的配置。
我可以使用这些脚本保存和恢复所有已安装的包:https://askubuntu.com/a/99151(我只谈论那里介绍的前两个)
重新安装并恢复我的软件包列表后,软件包管理器仍然会知道哪些软件包是手动安装的,哪些软件包是作为依赖项安装的。(我想我错了)
重新安装并恢复软件包列表后,我的系统几乎与以前一样。我丢失的是 /etc 中的任何配置(从旧版本的备份中恢复它听起来并不好玩,我可以重新配置我更改的任何内容)以及我安装的任何未在 dpkg 中注册的程序。(我实际上想要那个)
我现在想知道的是,我的假设是否有误,或者我是否遗漏了什么。此外,如果我安装的某些软件包在较新的发行版中不可用,会发生什么情况?
还有一件事:我应该为此安装哪种 Ubuntu?(我正在考虑服务器版本,因为它似乎是最轻量级的类型)
我希望你能帮助我解决这个问题。
答案1
你只需要这样做(TM)。只有一些观察:
- 始终备份你的资料. 如果您犯了错误,没有什么可以像备份一样保护您。
- 仔细检查分区,以免格式化不该格式化的分区(例如
/home
)。验证安装点是否正确,旧的/
将是新的/
,旧的/boot
将是新的,/boot
等等。 我不建议直接导入软件包列表,但请先检查要删除的软件包以及是否未包含软件包。这需要手动检查,但您可以使用以下方法阻止其中的一大堆:
dpkg --get-selections | grep -E 'hold|deinstall' > packagelist.old
这将生成一个已清理的列表。在新系统中执行以下操作:
dpkg --get-selections | grep -E 'hold|deinstall' > packagelist.new
然后比较两个列表。有些软件包会随着升级而更改名称,因此最好检查一下。
我应该为此安装哪种 Ubuntu?
随便你怎么想,但请记住 Ubuntu 服务器没有图形用户界面 (GUI)。是纯文本。
答案2
不要以为你的数据是安全的。安装错误可能会删除驱动器中的所有数据。在开始之前备份你可能需要的所有内容。我自己的技巧是使用两个或三个硬盘。我在一个驱动器上默认安装 Ubuntu 的稳定版本,在另一个驱动器上安装测试版本。第三个驱动器是我的主目录的备份。我总是使用安装程序上的默认设置对整个驱动器进行全新安装。我在第一个测试版本可用时立即执行此操作并覆盖上一个稳定版本。到目前为止,我从未丢失过任何数据。