apt-get upgarde和dist-upgrade的差别
apt-get upgarde和dist-upgrade的差别
apt-get upgarde和dist-upgrade的差别
Debian/Ubuntu Linux都使用apt,升级时都是:
www.2cto.com
apt-get update
apt-get upgrade
apt-get dist-upgrade
但是常常有人会问,
upgrade和dist-upgrade有何不同,仔细查查,似乎大家对upgrade和dist-upgrade的解释
都有点不同,在此也纪录自己的看法.
都有点不同,在此也纪录自己的看法.
我认为apt-get
upgrade和dist-upgrade的差别: www.2cto.com
upgrade:系统将现有的Package升级,如果有相依性的问题,而此相依性需要安装其它新的
Package或影响到其它Package的相依性时,此Package就不会被升级,会保留下来.
Package或影响到其它Package的相依性时,此Package就不会被升级,会保留下来.
dist-upgrade:可以聪明的解决相依性的问题,如果有相依性问题,需要安装/移除新的Package,
就会试着去安装/移除它.
就会试着去安装/移除它.
(所以通常这个会被认为是有点风险的升级)
apt-get upgrade 和 apt-get dist-upgrade 本质上是没有什么不同的。
只不过,dist-upgrade
会识别出当依赖关系改变的情形并作出处理,而upgrade对此情形不处理。
例如软件包 a 原先依赖 b c d,但是在源里面可能已经升级了,现在是 a 依赖 b c
e。这种情况下,dist-upgrade 会删除 d 安装 e,并把 a 软件包升级,而 upgrade 会认为
依赖关系改变而拒绝升级 a
依赖关系改变而拒绝升级 a
软件包。 www.2cto.com
man 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. Packages currently
installed with new versions available are retrieved and upgraded; under no
circumstances are currently installed packages removed, or packages not already
installed retrieved and installed. New versions of currently installed packages
that cannot be upgraded without changing the install status of another package
will be left at their current version. An update must be performed first so that
apt-get knows that new versions of packages are available.
dist-upgrade: dist-upgrade in addition to performing
the function of upgrade, also intelligently handles changing dependencies with
new versions of packages; apt-get has a "smart" conflict resolution system, and
it will attempt to upgrade the most important packages at the expense of
less
That which didn't kill me makes me stronger
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
2015-06-27 Facebook IV Winner's Interview: 1st place, Peter Best (aka fakeplastictrees)
2015-06-27 An Attempt to Understand Boosting Algorithm(s)
2015-06-27 A Statistical View of Deep Learning (V): Generalisation and Regularisation
2015-06-27 A Statistical View of Deep Learning (IV): Recurrent Nets and Dynamical Systems
2015-06-27 适合睡前阅读的书
2015-06-27 华师大政治学系主任刘擎在2015年毕业典礼上的致辞
2015-06-27 A Statistical View of Deep Learning (III): Memory and Kernels