从可用性的角度来看,我不明白为什么在每次版本升级时都必须手动修补 apt 的所有 URL 以使它们指向较新的发行版。
为什么 apt 不能自动检测当前版本并使用它,这样当你升级时就不再需要升级 url 了?
答案1
我不明白为什么在每次版本升级时都必须手动修补 apt 的所有 URL 以使它们指向较新的发行版。
您不必这样做。(无论如何,通常不会。)实际上,在 Ubuntu 中,手动更改版本名称sources.list
不是受支持的升级方式,并且通常不起作用。
当软件包管理器检查哪些软件包版本可供安装或升级时,将查阅/etc/apt/sources.list
配置文件/etc/apt/sources.list.d
以了解已配置哪些软件源。这包括但不限于有关已安装哪个版本的信息,有时(但通常不是!)甚至有必要为您正在运行的版本以外的版本配置软件源。
当您使用受支持的方法(例如软件更新程序/更新管理器或命令do-release-upgrade
)升级到较新的 Ubuntu 版本时,版本名称sources.list
将自动更改。某些软件源(例如 PPA)可能会被禁用。
Ubuntu 的软件包管理器不只是检查安装了哪个版本,并动态地使用该信息来确定要使用哪些软件源,原因之一是没有一件事即您正在运行的版本。通常,您使用的 Ubuntu 版本(例如 14.04)是明确定义的。但在版本升级期间,以及在某些其他情况下(有些是病态的,有些是适当的),您可能会混合使用不同的版本。
为了让 Ubuntu 在版本升级中真正、真正、明确地运行下一个版本(即版本升级目标),或者甚至达到常用指标(如 的内容)/etc/lsb-release
指示目标版本的程度,它必须第一的更改配置的软件源(更改为目标版本的软件源)并升级、安装和删除软件包以反映这些软件源提供的内容。
答案2
您添加的每个存储库不一定都是官方的 Ubuntu 存储库。以 Oracle Virtualbox 为例:每次发布 Ubuntu 版本时,存储库都会延迟几天(或几周)更新。但与此同时,“旧”存储库工作正常。在这种情况下,能够说明您要查询哪个版本至关重要。
为什么 apt 不能自动检测当前版本并使用它,这样当你升级时就不再需要升级 url 了?
对于官方存储库,此操作可通过 GUI ( sudo update-manager
) 和命令行 ( sudo do-release-upgrade
) 自动完成。您可以手动执行此操作,但这不是必需的。