有人可以为我解释一下 Ubuntu(Debian)dist-upgrade 吗?

有人可以为我解释一下 Ubuntu(Debian)dist-upgrade 吗?

我有一台 Ubuntu 8.04 LTS 服务器。有几个软件包被“保留”了(“以下更新已被保留”) 当我执行 时apt-get upgrade。据我了解,我可以执行apt-get dist-upgrade来升级这些软件包,但我有几个顾虑:

  1. 如果我做了dist-upgrade,我会从 8.04 升级到更高版本吗(我猜是 8.10)?如果是这样,8.04 成为“长期支持”(LTS)有什么意义?

  2. 这是一个“危险”的过程吗?我假设这些软件包被保留下来,因为它们依赖新的软件包。是否dist-upgrade只需提取新的软件包并进行相当简单的升级,还是需要注意一些注意事项?

答案1

命令apt-get 升级不会添加或删除包。 apt-get dist-upgrade将根据需要添加或删除包。

命令apt-get dist-upgrade除非您还更新了源(/etc/apt/sources.list)以指向较新的版本,否则不会自动将您从一个版本升级到另一个版本。

男人apt-get

upgrade
    upgrade is used to install the newest versions of all packages 
    currently installed on the system from the sources enumerated 
    in /etc/apt/sources.list.

dist-upgrade
    dist-upgrade, in addition to performing the function of upgrade, 
    also intelligently handles changing dependencies with new versions 
    of packages;

在进行 dist-upgrade 与 upgrade 时,是否有需要注意的特别事项?

在大多数情况下,我总是使用 apt-get dist-upgrade 来将更新应用于系统。当然,要注意添加或删除了哪些新软件包。这种情况经常发生在添加某些东西时,例如与前一个内核不兼容的新内核,您将不得不重新编译模块。如果您有一些必须自行构建的内核模块,那么您可能需要确保为新内核重新编译它。我有几个系统的网络接口不受现有内核支持,因此每次更新内核后我都必须重新编译网络驱动程序。

答案2

upgrade 与 dist-upgrade 实际上是 Debian 术语。在 Debian 中,您可以使用 upgrade 来获取稳定版本中的更改(不会涉及任何像删除这样剧烈的操作),而使用 dist-upgrade 来在版本之间切换。假设不需要删除,dist-upgrade 应该具有与 upgrade 相同的结果。

在版本之间切换需要更改您的 sources.list 以指向新版本。

Ubuntu 没有相同的极端保守的发布模型,因此术语不能清楚地映射 - 您通常只想使用 dist-upgrade,除非您在发布之间切换,在这种情况下您可以使用它自己的升级程序 do-release-upgrade。

相关内容