就像它上面所说的那样。
我已经使用 Ubuntu 大约五年了,每次升级都是一场磨难。运行do-release-upgrade
结果导致部分升级、升级失败或显示“第三方”存储库将被禁用的消息。
因此,我最终进行了全新安装,我一直听说这个过程应该需要“几个小时”,但通常要花一整个周末(对于每台机器)才能让一切恢复到我喜欢的样子。
显然,这是一个选择;另一个选择是只运行来自 Ubuntu 存储库的软件——对于需要完成我需要的所有功能的“日常驱动器”计算机来说,这不是很实用(首先,Ubuntu 存储库中的游戏选择坦率地说很糟糕,其次,提供的生产力应用程序版本通常已经过时了几年)。
还有第三种选择吗?我运行 Libre Office(目前从他们的 repo/ppa 运行,因为 Ubuntu 上的版本太旧了)、SeaMonkey(同上)以及来自第三方网站的许多其他应用程序或插件。
答案1
是的,还有第三种方法(在我看来更好)。
首先,通过从第三方存储库安装软件,您已经接受了“它是否与我即将安装的 Ubuntu 版本兼容?”的责任。
您必须研究每个第三方存储库以查看它是否可以在新版本上运行。
我假设你已经/home
在单独的磁盘分区上做了类似的事情,并尽可能地使用/opt
。请参阅文件系统层次结构标准Linux 基金会的 FHS /opt
可以创建,但是 Linux 软件升级不会触及/opt
。
将第三方存储库添加到/etc/apt/sources.list.d/
而不是/etc/apt/sources.list
,并在期间禁用它们发布升級。
保持系统最新状态
sudo apt update
sudo apt upgrade
至少每周一次。
维护并使用一个固定程序,该程序对每个第三方工具进行简单的“这有效吗?”测试。
以上内容的意思是你应该列出您所关心的每个软件的清单。
然后,针对每个测试,决定进行一个简单的功能测试。测试可以简单到“守护进程是否正在运行?”,或者使用微小测试数据的命令行调用,或者使用expect
GUI 模拟器的更复杂的东西。目标是生成一个小型可测试(无害)的软件调用,并报告名称和结果,然后将测试包装在脚本中,以便您可以键入单个命令并执行:
$ ./run_tests
First_Program: OK
Program_Two: BAD
Prog_3: OK
...
7 Tests run, 6 OK 1 BAD
每次升级之前和之后运行这组测试。
当测试失败时,(BAD
)进行调查。查找哪些系统包已升级(在 中/var/log/apt/
)。
阅读包装内的Change Log
说明apt changelog packagename
。
确定哪些变化导致了失败,并找出要做的事情(重建失败的测试的软件(如果您有源代码),从其他地方重新安装包,向其他地方的开发人员报告,...)。
要获取灵感,请阅读man run-parts
。