如何在不删除软件包依赖项的情况下升级软件包?

如何在不删除软件包依赖项的情况下升级软件包?

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-upgradeaptitude想要先删除 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在依赖图中挂起(=在安装/升级时,它要先删除数百个软件包),请再试一次旧工具。

相关内容