![如何在不删除软件包依赖项的情况下升级软件包?](https://linux22.com/image/817503/%E5%A6%82%E4%BD%95%E5%9C%A8%E4%B8%8D%E5%88%A0%E9%99%A4%E8%BD%AF%E4%BB%B6%E5%8C%85%E4%BE%9D%E8%B5%96%E9%A1%B9%E7%9A%84%E6%83%85%E5%86%B5%E4%B8%8B%E5%8D%87%E7%BA%A7%E8%BD%AF%E4%BB%B6%E5%8C%85%EF%BC%9F.png)
xorg-edgers
由于某些原因(过去使用过可能是其中的一部分原因),我仍然安装了一个非常旧的 X 服务器:
xorg 7.6+7ubuntu7.1
xserver-xorg-core 1.10.4-1ubuntu4.2
xserver-xorg-video-intel 2.16.0+git20111011.823a4272-0ubuntu0sarvatt~natty
当我尝试时dist-upgrade
,aptitude
想要先删除 255 个包(acrobat
,,bluez-alsa
......,,ia32-libs
......,xserver-xorg-video-
* 仅举几例)
有没有办法更新软件包,迫使 Ubuntu 忽略它认为理论上可能被违反的任何依赖关系?
在基于 RPM 的系统上,我会使用rpm --force --nodeps
注意:我已经删除了 xorg-edgers ppa。
注 2:我正在尝试aptitude safe-upgrade
升级aptitude dist-upgrade
答案1
我知道的唯一保持方法是使用aptitude
,您可以在其中设置要保持的软件包。唯一的问题是,您应该进一步使用 aptitude 进行每个更新/安装/删除任务,因为据我所知,其他软件包管理器工具并不关心保持标志。在apt-get
文档中也有选项--ignore-hold
,但至少上次我使用apt-get
带有保持标志的软件包时,它还是忽略了它们。
答案2
似乎aptitude
包含用于解决依赖关系的新代码。此代码是...有待改善。 :-)
就我的情况来说,运行apt-get upgrade
仅提供升级 13 个 xorg 包的功能,而系统的其余部分则保持不变。
因此,如果您aptitude
在依赖图中挂起(=在安装/升级时,它要先删除数百个软件包),请再试一次旧工具。