有时由于“依赖冲突”,sudo aptitude upgrade
会出现失败,然后需要删除大约 100 个软件包。sudo aptitude upgrade --full-resolver
通常我可以启动它update-manager
,它会为我提供“Teilweise Systemaktualisierung”(大致为“部分分发升级”),当我运行它时,所有软件包都会更新,并且在大多数情况下它不会删除任何软件包。
因为我想避免使用图形工具来处理这类事情,所以我的问题是:有没有办法通过命令行启动“部分 dist-upgrade”?最好使用 aptitude?
答案1
我通常也会dist-upgrade
默认这样做。当它想要删除大量的软件包时,我要么说不反复进行,直到找到一个合理的解决方案,或者我切换到aptitude upgrade
。
Aptitude 的交互模式也可以成为解决复杂冲突情况的便捷方式(只需运行即可aptitude
启动它。)
有时apt-get
会默认提出更好的解决方案(因为apt-get
人们没有机会拒绝解决方案)。
答案2
在这种情况下,切换到通常apt-get
可以帮助您。下次发生这种情况时,请尝试apt-get upgrade
或甚至apt-get dist-upgrade
。从历史上看,这是不可取的,因为aptitude
和apt-get
使用不同的数据库,但现在这不是问题。
与往常一样,确保读向您提出的解决方案(特别是如果您dist-upgrade
这样做可能会删除软件包)。它的一个优点aptitude
(也是我通常首先使用它的原因)是,您可以拒绝解决方案并选择您自己的解决方案(如果您愿意)。apt-get
没有这个功能,所以如果它给您的解决方案不是您想要的,那么玩起来会更困难。不幸的是,这些天没有得到很好的开发(希望这种情况将来会再次改变),所以我们将来aptitude
可能不得不越来越多地依赖它。apt-get