在工作中,我收到了一个虚拟机虚拟盒子。除了它正在运行之外,我对它的组成一无所知Debian 10。
很快,因为像这样的工具铬合金抱怨,我必须做一个apt-get update
+upgrade
才能将软件包放入最新版本中。
但因为我还有一些问题(冻结虚拟盒或者我的虚拟机,我无法决定),我正在考虑做一个apt-get dist-upgrade
.
在家里,我不会质疑自己,命令就会立即下达。但在工作中,面对一个未知的虚拟机,我想知道这是否明智。
如果我启动一个项目,我会面临哪些(一般)风险
apt-get dist-upgrade
?即使您不知道自己的操作系统和软件设置是什么,您是否会说,总的来说,这样做是个好主意?
相反,如果我拒绝
dist-upgrade
在这方面做任何事情”虚拟机寿命“我会面临什么?我注定会遇到一些麻烦吗?”
答案1
虽然“apt Upgrade”提供了一种保守的方法来升级软件包,而无需安装或删除任何其他软件,但“apt dist-upgrade”提供了更全面的解决方案,可以处理复杂的依赖项更改并最大限度地减少对其他软件包的影响。
建议执行 dist-upgrade 的决定,以使您的系统保持最新的安全补丁和错误修复但对未知的 VM 应该基于对所涉及风险的仔细评估!
Adist-upgrade
可以安装新的软件包或者删除现有的软件包。
如果您决定这样做dist-upgrade
,请检查是否有备份或回滚的可用性,以恢复原始状态。
决策时的风险:
dist-upgrade
可能会安装新的软件包或删除它们,如果系统上安装了自定义配置或第三方软件,这可能会导致软件包之间的冲突。它可能会引入可能未经过充分测试或与您的特定环境兼容的更改,这可能会导致系统不稳定、崩溃或不可预测的行为。
如果虚拟机已进行自定义或具有特定软件,则配置可能会覆盖这些自定义或与这些自定义冲突,并可能导致功能出现问题。
不做决定时的风险:
如果不升级系统组件,您可能会错过重要的安全更新,从而使您的系统容易受到攻击和攻击。
较新的软件包和依赖项可能与旧版本不兼容。
您可能会错过错误修复、性能改进以及更新包中引入的新功能。
为什么使用 apt-get Upgrade 而不是 apt-get dist-upgrade?
答案2
如果我启动 apt-get dist-upgrade,我会面临哪些(一般)风险?
如果系统较旧(如 Debian 10)和/etc/apt/sources.list
/或文件使用类似或 之/etc/apt/sources.list.d/*.list
类的词来标识 Debian 存储库,而不是使用适当的版本代号(对于 Debian 10),则 Debian 的当前稳定版本可能已更改,因为系统已更新最近更新时间。stable
testing
buster
这曾经是旧版本 Debian 中的标准默认值。
例如,如果/etc/apt/sources.list
有这些行:
deb http://deb.debian.org/debian stable main contrib non-free
deb http://security.debian.org/ stable main contrib non-free
由于当前stable
版本现在是 Debian 11(Debian 10 现在已成为 Debian 11 oldstable
),运行apt-get dist-upgrade
将尝试将系统从 Debian 10 升级到 Debian 11。如果没有先阅读新版本的发行说明,切勿执行此操作,因为可能需要遵循特定程序才能确保成功升级。
如果您希望继续使用 Debian 10,则应确保对 Debian 存储库的所有引用都在 中,/etc/apt/sources.list
并/etc/apt/sources.list.d/*.list
使用发行代号buster
而不是stable
或oldstable
。
如果您从第三方存储库为 Debian 10 安装了软件,那么当系统升级到 Debian 11 时,这些软件包可能会也可能不会工作。您必须检查每个此类第三方存储库:该软件是否声称也可以工作在 Debian 11 中,或者他们是否有应该与 Debian 11 一起使用的不同存储库?主要版本升级是否需要任何特殊程序?
答案3
apt-get Upgrade 和 apt-get dist-upgrade 之间的区别在于,后者将安装和/或删除软件包以解锁其他软件包的升级,而前者只会升级可以在不更改已安装软件包列表的情况下升级的软件包(注意:apt升级将安装新软件包,但不会删除软件包)。
如果您只使用 apt-get Upgrade,您可能会错过一些更新。
每当您使用 apt-get dist-upgrade 时,您都应该注意它所说的将要执行的操作。在您理解之前,您不应该选择“是”。
在一个发行版*内升级的纯 Debian 稳定系统上,dist-upgrade 不应添加或删除太多内容。稳定版本的要点在于,一旦发布,更改就应该保持在最低限度。
内核包是一个例外。即使在稳定版本系列中,内核也没有稳定的模块 ABI 上游,有时内核升级会带来内核 ABI 碰撞,从而导致内核包被重命名。
Web 浏览器也可能是一个例外。它们都没有与 Debian 稳定版本一样长的支持生命周期,这意味着新的主要浏览器版本(可能具有新的依赖项)必须引入稳定版本。
如果系统有向后移植或正在使用第三方存储库,那么这些升级可能会更具侵入性和风险更大。
* 升级到下一个版本是另一回事。