当旧包依赖项位于更高优先级的源中时,如何解决较新的包依赖项?

Cha*_*ord 6 package-management apt

当尝试更新“统一”包(以及其他一些相关包,包括unity-2dlibunity-2d-private0)时,apt-get告诉我我不能,因为所需的依赖项是libxi6 > 2:1.6.99.1,但实际安装的版本是2:1.6.0-0ubuntu2.1.

我已经运行apt-cache policy libxi6,我可以看到版本2:1.7.1.901-1ubuntu1~precise1在“更新”源中可用,但我安装的版本来自“安全”源。遗憾的是,我的安全源 (990) 比我的更新源 (900) 具有更高的优先级,因此 apt-get 似乎无法解决依赖性问题。

我在 Launchpad 上看不到与此依赖项失败有关的任何问题,因为我希望精确更新中的统一版本需要libxi6安全性可用的版本,或者精确安全性中的统一包具有正确的依赖项.

/etc/apt/preferences.d/* 的内容:

    Package: *
    Pin: release a=precise-security
    Pin-Priority: 990

    Package: *
    Pin: release a=precise-updates
    Pin-Priority: 900

    Package: *
    Pin: release a=precise-proposed
    Pin-Priority: 400
Run Code Online (Sandbox Code Playgroud)

的输出apt-cache policy

 100 /var/lib/dpkg/status
     release a=now
 500 https://private-ppa.launchpad.net/commercial-ppa-uploaders/steam/ubuntu/ precise/main i386 Packages
     release v=12.04,o=LP-PPA-commercial-ppa-uploaders-steam,a=precise,n=precise,l=Steam,c=main
     origin private-ppa.launchpad.net
 500 https://private-ppa.launchpad.net/commercial-ppa-uploaders/steam/ubuntu/ precise/main amd64 Packages
     release v=12.04,o=LP-PPA-commercial-ppa-uploaders-steam,a=precise,n=precise,l=Steam,c=main
     origin private-ppa.launchpad.net
 500 http://dl.google.com/linux/talkplugin/deb/ stable/main i386 Packages
     release v=1.0,o=Google, Inc.,a=stable,n=stable,l=Google,c=main
     origin dl.google.com
 500 http://dl.google.com/linux/talkplugin/deb/ stable/main amd64 Packages
     release v=1.0,o=Google, Inc.,a=stable,n=stable,l=Google,c=main
     origin dl.google.com
 500 http://repository.spotify.com/ stable/non-free i386 Packages
     release c=non-free
     origin repository.spotify.com
 500 http://repository.spotify.com/ stable/non-free amd64 Packages
     release c=non-free
     origin repository.spotify.com
 500 http://gb.archive.ubuntu.com/ubuntu/ precise-proposed/universe Translation-en_GB
 500 http://gb.archive.ubuntu.com/ubuntu/ precise-proposed/universe Translation-en
 500 http://gb.archive.ubuntu.com/ubuntu/ precise-proposed/restricted Translation-en_GB
 500 http://gb.archive.ubuntu.com/ubuntu/ precise-proposed/restricted Translation-en
 500 http://gb.archive.ubuntu.com/ubuntu/ precise-proposed/multiverse Translation-en_GB
 500 http://gb.archive.ubuntu.com/ubuntu/ precise-proposed/multiverse Translation-en
 500 http://gb.archive.ubuntu.com/ubuntu/ precise-proposed/main Translation-en_GB
 500 http://gb.archive.ubuntu.com/ubuntu/ precise-proposed/main Translation-en
 400 http://gb.archive.ubuntu.com/ubuntu/ precise-proposed/universe i386 Packages
     release v=12.04,o=Ubuntu,a=precise-proposed,n=precise,l=Ubuntu,c=universe
     origin gb.archive.ubuntu.com
 400 http://gb.archive.ubuntu.com/ubuntu/ precise-proposed/multiverse i386 Packages
     release v=12.04,o=Ubuntu,a=precise-proposed,n=precise,l=Ubuntu,c=multiverse
     origin gb.archive.ubuntu.com
 400 http://gb.archive.ubuntu.com/ubuntu/ precise-proposed/main i386 Packages
     release v=12.04,o=Ubuntu,a=precise-proposed,n=precise,l=Ubuntu,c=main
     origin gb.archive.ubuntu.com
 400 http://gb.archive.ubuntu.com/ubuntu/ precise-proposed/restricted i386 Packages
     release v=12.04,o=Ubuntu,a=precise-proposed,n=precise,l=Ubuntu,c=restricted
     origin gb.archive.ubuntu.com
 400 http://gb.archive.ubuntu.com/ubuntu/ precise-proposed/universe amd64 Packages
     release v=12.04,o=Ubuntu,a=precise-proposed,n=precise,l=Ubuntu,c=universe
     origin gb.archive.ubuntu.com
 400 http://gb.archive.ubuntu.com/ubuntu/ precise-proposed/multiverse amd64 Packages
     release v=12.04,o=Ubuntu,a=precise-proposed,n=precise,l=Ubuntu,c=multiverse
     origin gb.archive.ubuntu.com
 400 http://gb.archive.ubuntu.com/ubuntu/ precise-proposed/main amd64 Packages
     release v=12.04,o=Ubuntu,a=precise-proposed,n=precise,l=Ubuntu,c=main
     origin gb.archive.ubuntu.com
 400 http://gb.archive.ubuntu.com/ubuntu/ precise-proposed/restricted amd64 Packages
     release v=12.04,o=Ubuntu,a=precise-proposed,n=precise,l=Ubuntu,c=restricted
     origin gb.archive.ubuntu.com
 500 http://archive.canonical.com/ precise/partner i386 Packages
     release v=12.04,o=Canonical,a=precise,n=precise,l=Partner archive,c=partner
     origin archive.canonical.com
 500 http://archive.canonical.com/ precise/partner amd64 Packages
     release v=12.04,o=Canonical,a=precise,n=precise,l=Partner archive,c=partner
     origin archive.canonical.com
 500 http://extras.ubuntu.com/ubuntu/ precise/main i386 Packages
     release v=12.04,o=LP-PPA-app-review-board,a=precise,n=precise,l=Application Review Board PPA,c=main
     origin extras.ubuntu.com
 500 http://extras.ubuntu.com/ubuntu/ precise/main amd64 Packages
     release v=12.04,o=LP-PPA-app-review-board,a=precise,n=precise,l=Application Review Board PPA,c=main
     origin extras.ubuntu.com
 500 http://security.ubuntu.com/ubuntu/ precise-security/universe Translation-en
 500 http://security.ubuntu.com/ubuntu/ precise-security/restricted Translation-en
 500 http://security.ubuntu.com/ubuntu/ precise-security/multiverse Translation-en
 500 http://security.ubuntu.com/ubuntu/ precise-security/main Translation-en
 990 http://security.ubuntu.com/ubuntu/ precise-security/multiverse i386 Packages
     release v=12.04,o=Ubuntu,a=precise-security,n=precise,l=Ubuntu,c=multiverse
     origin security.ubuntu.com
 990 http://security.ubuntu.com/ubuntu/ precise-security/universe i386 Packages
     release v=12.04,o=Ubuntu,a=precise-security,n=precise,l=Ubuntu,c=universe
     origin security.ubuntu.com
 990 http://security.ubuntu.com/ubuntu/ precise-security/restricted i386 Packages
     release v=12.04,o=Ubuntu,a=precise-security,n=precise,l=Ubuntu,c=restricted
     origin security.ubuntu.com
 990 http://security.ubuntu.com/ubuntu/ precise-security/main i386 Packages
     release v=12.04,o=Ubuntu,a=precise-security,n=precise,l=Ubuntu,c=main
     origin security.ubuntu.com
 990 http://security.ubuntu.com/ubuntu/ precise-security/multiverse amd64 Packages
     release v=12.04,o=Ubuntu,a=precise-security,n=precise,l=Ubuntu,c=multiverse
     origin security.ubuntu.com
 990 http://security.ubuntu.com/ubuntu/ precise-security/universe amd64 Packages
     release v=12.04,o=Ubuntu,a=precise-security,n=precise,l=Ubuntu,c=universe
     origin security.ubuntu.com
 990 http://security.ubuntu.com/ubuntu/ precise-security/restricted amd64 Packages
     release v=12.04,o=Ubuntu,a=precise-security,n=precise,l=Ubuntu,c=restricted
     origin security.ubuntu.com
 990 http://security.ubuntu.com/ubuntu/ precise-security/main amd64 Packages
     release v=12.04,o=Ubuntu,a=precise-security,n=precise,l=Ubuntu,c=main
     origin security.ubuntu.com
 500 http://gb.archive.ubuntu.com/ubuntu/ precise-backports/universe Translation-en
 500 http://gb.archive.ubuntu.com/ubuntu/ precise-backports/restricted Translation-en
 500 http://gb.archive.ubuntu.com/ubuntu/ precise-backports/multiverse Translation-en
 500 http://gb.archive.ubuntu.com/ubuntu/ precise-backports/main Translation-en
 100 http://gb.archive.ubuntu.com/ubuntu/ precise-backports/multiverse i386 Packages
     release v=12.04,o=Ubuntu,a=precise-backports,n=precise,l=Ubuntu,c=multiverse
     origin gb.archive.ubuntu.com
 100 http://gb.archive.ubuntu.com/ubuntu/ precise-backports/universe i386 Packages
     release v=12.04,o=Ubuntu,a=precise-backports,n=precise,l=Ubuntu,c=universe
     origin gb.archive.ubuntu.com
 100 http://gb.archive.ubuntu.com/ubuntu/ precise-backports/restricted i386 Packages
     release v=12.04,o=Ubuntu,a=precise-backports,n=precise,l=Ubuntu,c=restricted
     origin gb.archive.ubuntu.com
 100 http://gb.archive.ubuntu.com/ubuntu/ precise-backports/main i386 Packages
     release v=12.04,o=Ubuntu,a=precise-backports,n=precise,l=Ubuntu,c=main
     origin gb.archive.ubuntu.com
 100 http://gb.archive.ubuntu.com/ubuntu/ precise-backports/multiverse amd64 Packages
     release v=12.04,o=Ubuntu,a=precise-backports,n=precise,l=Ubuntu,c=multiverse
     origin gb.archive.ubuntu.com
 100 http://gb.archive.ubuntu.com/ubuntu/ precise-backports/universe amd64 Packages
     release v=12.04,o=Ubuntu,a=precise-backports,n=precise,l=Ubuntu,c=universe
     origin gb.archive.ubuntu.com
 100 http://gb.archive.ubuntu.com/ubuntu/ precise-backports/restricted amd64 Packages
     release v=12.04,o=Ubuntu,a=precise-backports,n=precise,l=Ubuntu,c=restricted
     origin gb.archive.ubuntu.com
 100 http://gb.archive.ubuntu.com/ubuntu/ precise-backports/main amd64 Packages
     release v=12.04,o=Ubuntu,a=precise-backports,n=precise,l=Ubuntu,c=main
     origin gb.archive.ubuntu.com
 500 http://gb.archive.ubuntu.com/ubuntu/ precise-updates/universe Translation-en_GB
 500 http://gb.archive.ubuntu.com/ubuntu/ precise-updates/universe Translation-en
 500 http://gb.archive.ubuntu.com/ubuntu/ precise-updates/restricted Translation-en_GB
 500 http://gb.archive.ubuntu.com/ubuntu/ precise-updates/restricted Translation-en
 500 http://gb.archive.ubuntu.com/ubuntu/ precise-updates/multiverse Translation-en_GB
 500 http://gb.archive.ubuntu.com/ubuntu/ precise-updates/multiverse Translation-en
 500 http://gb.archive.ubuntu.com/ubuntu/ precise-updates/main Translation-en_GB
 500 http://gb.archive.ubuntu.com/ubuntu/ precise-updates/main Translation-en
 900 http://gb.archive.ubuntu.com/ubuntu/ precise-updates/multiverse i386 Packages
     release v=12.04,o=Ubuntu,a=precise-updates,n=precise,l=Ubuntu,c=multiverse
     origin gb.archive.ubuntu.com
 900 http://gb.archive.ubuntu.com/ubuntu/ precise-updates/universe i386 Packages
     release v=12.04,o=Ubuntu,a=precise-updates,n=precise,l=Ubuntu,c=universe
     origin gb.archive.ubuntu.com
 900 http://gb.archive.ubuntu.com/ubuntu/ precise-updates/restricted i386 Packages
     release v=12.04,o=Ubuntu,a=precise-updates,n=precise,l=Ubuntu,c=restricted
     origin gb.archive.ubuntu.com
 900 http://gb.archive.ubuntu.com/ubuntu/ precise-updates/main i386 Packages
     release v=12.04,o=Ubuntu,a=precise-updates,n=precise,l=Ubuntu,c=main
     origin gb.archive.ubuntu.com
 900 http://gb.archive.ubuntu.com/ubuntu/ precise-updates/multiverse amd64 Packages
     release v=12.04,o=Ubuntu,a=precise-updates,n=precise,l=Ubuntu,c=multiverse
     origin gb.archive.ubuntu.com
 900 http://gb.archive.ubuntu.com/ubuntu/ precise-updates/universe amd64 Packages
     release v=12.04,o=Ubuntu,a=precise-updates,n=precise,l=Ubuntu,c=universe
     origin gb.archive.ubuntu.com
 900 http://gb.archive.ubuntu.com/ubuntu/ precise-updates/restricted amd64 Packages
     release v=12.04,o=Ubuntu,a=precise-updates,n=precise,l=Ubuntu,c=restricted
     origin gb.archive.ubuntu.com
 900 http://gb.archive.ubuntu.com/ubuntu/ precise-updates/main amd64 Packages
     release v=12.04,o=Ubuntu,a=precise-updates,n=precise,l=Ubuntu,c=main
     origin gb.archive.ubuntu.com
 500 http://gb.archive.ubuntu.com/ubuntu/ precise/universe Translation-en_GB
 500 http://gb.archive.ubuntu.com/ubuntu/ precise/universe Translation-en
 500 http://gb.archive.ubuntu.com/ubuntu/ precise/restricted Translation-en_GB
 500 http://gb.archive.ubuntu.com/ubuntu/ precise/restricted Translation-en
 500 http://gb.archive.ubuntu.com/ubuntu/ precise/multiverse Translation-en_GB
 500 http://gb.archive.ubuntu.com/ubuntu/ precise/multiverse Translation-en
 500 http://gb.archive.ubuntu.com/ubuntu/ precise/main Translation-en_GB
 500 http://gb.archive.ubuntu.com/ubuntu/ precise/main Translation-en
 500 http://gb.archive.ubuntu.com/ubuntu/ precise/multiverse i386 Packages
     release v=12.04,o=Ubuntu,a=precise,n=precise,l=Ubuntu,c=multiverse
     origin gb.archive.ubuntu.com
 500 http://gb.archive.ubuntu.com/ubuntu/ precise/universe i386 Packages
     release v=12.04,o=Ubuntu,a=precise,n=precise,l=Ubuntu,c=universe
     origin gb.archive.ubuntu.com
 500 http://gb.archive.ubuntu.com/ubuntu/ precise/restricted i386 Packages
     release v=12.04,o=Ubuntu,a=precise,n=precise,l=Ubuntu,c=restricted
     origin gb.archive.ubuntu.com
 500 http://gb.archive.ubuntu.com/ubuntu/ precise/main i386 Packages
     release v=12.04,o=Ubuntu,a=precise,n=precise,l=Ubuntu,c=main
     origin gb.archive.ubuntu.com
 500 http://gb.archive.ubuntu.com/ubuntu/ precise/multiverse amd64 Packages
     release v=12.04,o=Ubuntu,a=precise,n=precise,l=Ubuntu,c=multiverse
     origin gb.archive.ubuntu.com
 500 http://gb.archive.ubuntu.com/ubuntu/ precise/universe amd64 Packages
     release v=12.04,o=Ubuntu,a=precise,n=precise,l=Ubuntu,c=universe
     origin gb.archive.ubuntu.com
 500 http://gb.archive.ubuntu.com/ubuntu/ precise/restricted amd64 Packages
     release v=12.04,o=Ubuntu,a=precise,n=precise,l=Ubuntu,c=restricted
     origin gb.archive.ubuntu.com
 500 http://gb.archive.ubuntu.com/ubuntu/ precise/main amd64 Packages
     release v=12.04,o=Ubuntu,a=precise,n=precise,l=Ubuntu,c=main
     origin gb.archive.ubuntu.com
Run Code Online (Sandbox Code Playgroud)

Bra*_*iam 1

Package: *
Pin: release a=precise-security
Pin-Priority: 990
Run Code Online (Sandbox Code Playgroud)

这里,有一个问题。安全包总是有更高版本的字符串。总是。您无需设置包固定来首选这些包。APT 将始终安装可用的更高版本,除非任何用户首选项限制此行为,而这正是您正在做的。

我不知道你想通过这些包固定来实现什么,但它们会让你头疼。包固定是为不同的包源(即 Ubuntu 和某种 PPA)而设计的,通常首选用于操纵非官方源的优先级。建议的存储库始终具有较低的优先级,安全存储库始终每天自动升级。

我建议您降低 PPA 优先级(如果这是您想要控制的),而不是修改 Ubuntu 存储库。

如果你不想改变任何东西,你可以使用以下命令强制 apt 绑定到你的愿望:

sudo apt-get install libxi6=2:1.7.1.901-1ubuntu1~precise1
Run Code Online (Sandbox Code Playgroud)

或者

sudo apt-get install libxi6/precise-updates
Run Code Online (Sandbox Code Playgroud)

但请记住,更新存储库始终包含安全存储库所做的所有更改。