我想确保一些事情。我正在运行一个充满信息的数据库并手动设置配置。现在我正尝试将我的 Ubuntu 从 16.04 升级到 18.04。我执行了“apt-get update”和“apt-get upgrade”,但我不确定 apt-get dist-upgrade 的作用是什么?它会擦除或覆盖任何先前定义的配置吗?
答案1
在 Ubuntu 中,您不需要使用apt dist-upgrade
。最佳做法是使用apt full-upgrade
。
dist-upgrade
可以追溯到 Ubuntu 诞生之前。
以前,当从 Debian 版本迁移到另一个版本时,您必须手动编辑 sources.list,然后使用 dist-upgrade 来计算和执行升级。与旧的、更费力的方法相比,这是一个巨大的改进。
当 Ubuntu 出现时,Ubuntu 用户开始使用 dist-upgrade 来达到意想不到的目的:内核包经常更改名称,因此普通的命令apt update
无法工作。使用 dist-upgrade 重新计算依赖项并引入新的内核包变得很常见。
用这么大的锤子去敲这么小的钉子是有风险的——如果你的源代码发生了变化,apt 可能会对你的系统实施巨大的、意想不到的改变。记住,这就是 dist-upgrade 的初衷!
几年前,Ubuntu 开发人员通过添加full-upgrade
apt 关闭了这个窗口,它可以保护您的系统免受意外的重大更改。
dist-upgrade
是许多 Ubuntu 老用户的习惯,而且很少会给他们带来问题 —— 他们通常不需要改变习惯。然而,我们鼓励新用户了解其中的区别,并full-upgrade
在出现问题时使用更有可能保护其系统的工具。
答案2
这升级文档解释apt dist-upgrade
一下。请注意,不推荐使用此命令。相反,do-release-upgrade
推荐使用此命令,并且专门用于服务器。
当您 时apt upgrade
,系统会将软件包升级到最新的已知版本。您可以使用 更新这组“已知版本” apt update
。 apt
将仅安装或升级在配置中找到的发行版和发行版的软件包。这意味着 Ubuntu 18.04 应该只下载该特定版本的 Ubuntu 的软件包。
当您执行 时dist-upgrade
,apt
它会执行一些操作,其中之一就是它会更新配置apt
以指向新版本。这意味着如果您dist-upgrade
从 17.04 升级到 18.04,apt
现在将提取 18.04 软件包。 这些配置文件发生变化,需要更改。升级期间,您的自定义存储库可能会被暂时禁用。
您应该搜索并阅读特定于您的升级路径的说明。例如,搜索“17.04 到 18.04 升级”。查看目标版本的发布页面了解更多信息。Debian 和 Ubuntu 维护者努力寻找干净的升级路径,并为此付出了很多努力,但所有系统都是不同的,很难给出明确的答案。
18.04 版本文档给出具体指示。
默认情况下,apt
将要求您覆盖或保留升级过程中检测到的任何更改的配置文件。通常,您会回答希望保留当前版本的配置文件。但是,请参阅笔记关于使用do-release-upgrade
而不是apt dist-upgrade
来确保这一点!
有时,主要的更改,例如在发行版中从一个应用程序切换到另一个应用程序,这可能会导致复杂情况。您需要检查升级路径是否存在此类更改。例如,更改为 SystemD。