我给我的 APT 存储库设置了最高优先级,为什么没有从中安装最新的软件包?

我给我的 APT 存储库设置了最高优先级,为什么没有从中安装最新的软件包?

使用 apt-pinning 我给了我的 openSUSE 构建服务 (OBS) 存储库最高优先级 1003(其中 1000 分配给官方扩展存储库)并指定了我想要从中获取的软件包,但由于某种原因 Debian 9 使用的是我的 Vim 相关软件包的旧版本(即 8.0.1520 与最新版本)我在撰写本文时已打包,8.0.1587)。如果您想查看 /etc/apt 中我没有保留为默认值的 APT 配置他们来了这里是 的输出apt show -a vim

编辑:

apt show -a vim-common | grep 587

显示 vim-common 8.0.1587 似乎不可用。但https://download.opensuse.org/repositories/home:/fusion809/Debian_9.0/all/确实有版本 8.0.1587 的 vim-common 包,所以我认为这是 OBS 问题。

编辑2:

apt-cache policy返回:https://pastebin.com/5yusCSG1

apt-cache policy vim-common返回:

vim-common:
  Installed: 2:8.0.1520-1
  Candidate: 2:8.0.1520-1
  Version table:
     2:8.0.1587-1 500
        500 http://download.opensuse.org/repositories/home:/fusion809/Debian_9.0  Packages
 *** 2:8.0.1520-1 1003
        100 /var/lib/dpkg/status
     2:8.0.1453-1 1003
          2 http://debian.mirror.digitalpacific.com.au/debian sid/main amd64 Packages
          2 http://debian.mirror.digitalpacific.com.au/debian testing/main amd64 Packages
     2:8.0.0197-4+deb9u1 1003
       1000 http://deb.debian.org/debian stretch/main amd64 Packages
     2:7.4.488-7+deb8u3 1003
          2 http://debian.mirror.digitalpacific.com.au/debian oldstable/main amd64 Packages

答案1

要识别文件中的存储库preferences,请使用 的输出apt-cache policy或其文件中的信息Release

~ apt-cache policy 
Package files:
 100 /var/lib/dpkg/status
     release a=now
 500 http://ppa.launchpad.net/gophers/archive/ubuntu xenial/main amd64 Packages
     release v=16.04,o=LP-PPA-gophers-archive,a=xenial,n=xenial,l=Go 1.X packages,c=main,b=amd64
     origin ppa.launchpad.net
 500 https://dl.google.com/linux/chrome/deb stable/main amd64 Packages
     release v=1.0,o=Google, Inc.,a=stable,n=stable,l=Google,c=main,b=amd64
     origin dl.google.com
 500 ftp://ftp.iitb.ac.in//os/ubuntu/archives/ubuntu xenial-updates/multiverse i386 Packages
     release v=16.04,o=Ubuntu,a=xenial-updates,n=xenial,l=Ubuntu,c=multiverse,b=i386
     origin ftp.iitb.ac.in

o使用、a等值的组合来标识存储库以具有足够的唯一性。可以从存储库通道和组件的Release或文件中获取相同的信息。InRelease例如,Google 的 repo ( ) 的通道main组件有:stablehttps://dl.google.com/linux/chrome/deb/dists/stable/main/binary-amd64/Release

Archive: stable
Version: 1.0
Component: main
Origin: Google, Inc.
Label: Google
Architecture: amd64
Description: Google chrome-linux repository.

请注意,这a=/在您的情况下不起作用,因为您的存储库为 设定了不同的值Archive

Archive: Debian_9.0
Codename: Debian_9.0
Origin: obs://build.opensuse.org/home:fusion809/Debian_9.0
Label: home:fusion809

相关内容