当我执行时apt-show-versions
,我会看到几十个带有No available version in archive
状态的包。例如:
# apt-show-versions -a -p ffmpeg
ffmpeg:i386 6:0.8.17-1 install ok installed
No stable version
ffmpeg:i386 6:0.8.17-1 installed: No available version in archive
#
所有这些包的共同点是它们都具有/var/lib/dpkg/status
唯一可用的存储库。例如:
# apt-cache policy ffmpeg
ffmpeg:
Installed: 6:0.8.17-1
Candidate: 6:0.8.17-1
Version table:
*** 6:0.8.17-1 0
100 /var/lib/dpkg/status
#
即使软件包的版本在存储库列表中可用,也会/var/lib/dpkg/status
作为优先级较低的存储库:
# apt-cache policy tcpdump
tcpdump:
Installed: 4.6.2-5+deb8u1
Candidate: 4.6.2-5+deb8u1
Version table:
*** 4.6.2-5+deb8u1 0
500 http://http.debian.net/debian/ jessie/main i386 Packages
100 /var/lib/dpkg/status
#
为什么 /var/lib/dpkg/status 文件被列为包的存储库?
答案1
我希望我能很好地理解。这是您的系统上存在特定版本的信息。
例如
$ LANG=C apt-cache policy k3b
k3b:
Installed: (none)
Candidate: 2.0.2-8
Version table:
2.0.2-8 0
500 http://http.us.debian.org/debian/ jessie/main amd64 Packages
我的系统上没有 k3b,所以我的状态文件中没有任何内容。它们在您的源中没有可用的 ffmpeg 包。我有向后移植和 deb-多媒体。
LANG=C apt-cache policy ffmpeg
ffmpeg:
Installed: 10:2.6.9-dmo1
Candidate: 10:2.6.9-dmo1
Version table:
*** 10:2.6.9-dmo1 0
300 http://www.deb-multimedia.org/ jessie/main amd64 Packages
100 /var/lib/dpkg/status
7:3.2-2~bpo8+2 0
100 http://http.us.debian.org/debian/ jessie-backports/main amd64 Packages
LANG=C cat /var/lib/dpkg/status | egrep "Package: ffmpeg"-A9
Package: ffmpeg
Status: install ok installed
Priority: optional
Section: graphics
Installed-Size: 1951
Maintainer: Christian Marillat <[email protected]>
Bugs: mailto:[email protected]
Architecture: amd64
Source: ffmpeg-dmo
Version: 10:2.6.9-dmo1
状态文件中也有您的版本。
apt-show-versions 解析 dpkg 状态文件和 /var/apt/lists 中的文件。看来你已经从喘息升级为杰西了。以及您系统上 wheezy 的一些软件包。
我不太擅长用英语解释。我希望它是可以理解的