有几次,在运行 时sudo apt-get upgrade
,我遇到了消息“以下软件包已被保留:”,后面跟着一串不会升级的软件包。在网上搜索消息显示,大多数人通过使用 来解决这个问题sudo apt-get dist-upgrade
。然而,有时有人说这是一个危险的命令,“它可能会让你的系统崩溃“。因此我总是通过执行来解决这个问题sudo apt-get --with-new-pkgs upgrade
。总是……直到现在。现在我遇到了这样一种情况,第一个命令有效,而第二个命令拒绝(即,它导致了相同的“包已被保留”问题)。
这可能是什么原因造成的?我知道dist-upgrade
可以删除软件包,而不是只能安装新软件包(如标志--with-new-pkgs
所示)。但为什么升级需要删除我的任何软件包?
答案1
您的问题的答案隐藏在您链接的帖子的评论中:有时软件包会升级或更改,并且该软件包无法与系统上的先前版本或计算机上的其他软件包共存。 “想想 llvm3.6 与 llvm3.6v5(“v5”表示它是用 gcc 5 编译的)。这两者不能共存,只能将两者之一保留在系统上。”
由于我是一个相对新手,我无法判断这一特定情况的真实性但我可以说我以前经常使用它dist-upgrade
,从来没有遇到过系统崩溃的情况。我也运行最新发布的 Ubuntu 版本,但偶尔还是需要重新安装系统。
当前的升级风格更倾向于使用apt
命令集,而不是apt-get
。以下是一些信息apt 和 apt-get 有什么区别?