答案1
由于没有其他答案,我将写下我在过去几天尝试这两种方法以及过去各种场合所收集到的信息。
- Ubiquity/GUI 升级会记录之前安装的软件包。然后,它会继续安装一个新的基础系统,并主要替换旧系统。之后,将安装同一组软件包。在此过程中,许多 /etc 文件(例如 /var/www)会被重置。
对于具有自定义配置或数据的服务器来说,这种方法不是很好,但它非常快并且保证系统正确现代化。
- 该
do-release-upgrade
方法从系统内部运行。它执行一些自定义过渡脚本,但大多数情况下只是apt-get upgrade
过渡到下一个 LTS 系统。如果您像我一样落后 2 个 LTS 版本,则需要运行两次。安装软件包时会检测默认配置文件之间的差异。
如果一切顺利,许多自定义配置将被保留或由升级指出,每个配置都需要少量的手动工作。
缺点是这个过程需要很长时间,并且可能需要多次手动干预。试图找出新旧配置文件之间的差异可能会变得很技术化。结果可能是最新的 Ubuntu 技术与旧软件包和配置之间出现奇怪的交叉。
关于运行和图形会话的一些注意事项do-release-upgrade
:从图形用户界面运行它可能不是一个好主意。当软件包从其下方升级时,图形会话会以各种方式受到折磨。明智的是,它将do-release-upgrade
自己包装在screen
会话中。(我无法重新连接到会话screen
。幸运的是,我还有一个tmux
运行在上面的。在获得旧版本后,tmux
我能够从文本控制台恢复。)