
を実行すると、ステータスを含む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-multimediaがあります。
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のファイルを解析します。 WheezeからJesseにアップグレードしたようです。そして、システムにwheezyのパッケージのいくつかがあります。
私は英語で説明できません。理解できることを願っています。