这个疑问困扰了我 2-3 天,所以我决定自己测试一下。我所做的是在 VMWare 中安装了 Ubuntu 16.04.4,并使用以下内容进行编辑和/etc/apt/sources.list
替换:xenial
bionic
sudo sed -i 's/xenial/bionic/g' /etc/apt/sources.list
然后我就跑了
sudo apt-get update && sudo apt-get upgrade
我能够升级到 18.04,通过使用 进行确认lsb_release -a
。但是,我遇到了一些问题,例如:
apt 没有稳定的 CLI 界面。在脚本中请谨慎使用。
python3-aptdaemon.pkcompat 未满足的依赖关系
未找到针对“appstream”的版本“bionic-backports”
团结破裂
我解决了所有错误并安装gnome
了gdm3
。
所以,我只是想知道编辑是否是个好主意sources.list
?我知道我的系统可能会坏掉,但还有其他具体原因不使用它吗?
笔记:我在 VMWare 中的 Ubuntu 16.04 上测试了这一点,仅仅是为了消除我的疑虑。
答案1
编辑/etc/sources.list
是迁移到 Debian 后续版本的一步......但在 Ubuntu 中不是。你仍然可以使用它,但不建议因为大多数用户不需要处理您所遇到的问题。
相反,Ubuntu 提供了一个工具(命令do-release-upgrade
),可以正确地更改源代码、下载和安装升级,并删除孤立文件,所有这些都以可预测和可重复的方式进行,以防止出现极端问题。此工具是升级到较新版本的 Ubuntu 的推荐方法。
答案2
我将使用术语“源版本”对于升级前使用的版本以及“目标版本”针对您升级后使用的版本。
升级Ubuntu版本的方法:
第一种方式:编辑 sources.list
通常称为 Debian 升级方式,有时也被称为强力方法。
这边走:
- 使您的系统提供目标版本的软件包。
- 某些第三方存储库可能没有目标版本的渠道,因此您偶尔会遇到未满足的依赖关系问题,并且在所有情况下都无法将软件包升级到较新的版本。(例如,
wine-hq
存储库最近才添加了对 Bionic 的支持)。- 如果不删除第三方存储库,您将无法完成更新存储库,因为您将遇到
404 Not found
错误。
- 如果不删除第三方存储库,您将无法完成更新存储库,因为您将遇到
一些注意事项:禁用第三方存储库。
有效:要么有效,要么无效。
推荐程度:太低。
第二种方式:执行发布升级:
俗称的Ubuntu升级方式:
这边走:
- 对于存储库:
- 切换到
sources.list
新的存储库条目 - 自动删除过时的条目
- 对于包:
- 删除可能损坏的包裹
- 更新软件包索引(相当于
sudo apt full-upgrade
) - 升级系统(相当于
sudo apt full-upgrade
) - 删除旧软件包:
- 旧内核
- 软件包存在于 Ubuntu 的源版本中,但不存在于目标版本中。
- 处理 Nvidia 驱动程序。
- 发布具体工作:
- 使用一些配置
- 运行发布特定的脚本:
- 例如,用 Gnome Desktop 替换 Unity Desktop。
然而,很多人遇到以下问题do-release-upgrade
:
工作原理:它可以工作,但是有缺陷。
推荐级别:低至中。
第三种方式:全新安装
这是最推荐的系统升级方式。
注意事项#1:不要忘记备份。
注意事项 #2:您很可能要花费同样的时间来修复上述方法所导致的错误。如果是这样,为什么要犹豫是否要进行全新安装?
有效: 始终有效。
推荐程度:非常高。