Debian
如何獲取特定 Debian 軟體包 (.deb) 文件的資訊?
幾天前我下載了一個沒有描述性名稱的 .deb 文件,我想在執行之前知道它是哪個版本
dpkg -i
。我不知道儲存庫中是否也有相同的包,因此我希望從實際文件中提取此資訊,而不是查詢儲存庫的數據庫。
要獲取有關軟體包使用的大量資訊
-I
或--info
:dpkg-deb -I package.deb dpkg-deb --info package.deb
僅獲取版本使用,
-f
或--field
:dpkg-deb -f package.deb Version dpkg-deb --field package.deb Version
接受的答案絕對是最好的方法。
如果您手頭沒有基於 deb 的系統,那麼了解 deb 文件實際上是一個
ar
基於存檔的文件會很有幫助,其中包含 3 個幾乎固定名稱的文件。有 debian-binary,一個名為 control 的壓縮 tar 文件,其中包含元數據,主包位於一個名為 data 的壓縮 tar 文件中。可以提取 control.tar.xz 文件,並且可以從中提取控製文件並檢查以獲取版本$ ar vt zile_2.4.14-6_amd64.deb rw-r--r-- 0/0 4 Feb 10 11:00 2018 debian-binary rw-r--r-- 0/0 1372 Feb 10 11:00 2018 control.tar.xz rw-r--r-- 0/0 170540 Feb 10 11:00 2018 data.tar.xz $ mkdir /tmp/e ; cd /tmp/e ; ar x ~-/zile_2.4.14-6_amd64.deb $ xzcat control.tar.xz | tar vtf - drwxr-xr-x root/root 0 2018-02-10 11:00 ./ -rw-r--r-- root/root 557 2018-02-10 11:00 ./control -rw-r--r-- root/root 874 2018-02-10 11:00 ./md5sums -rwxr-xr-x root/root 468 2018-02-10 11:00 ./postinst -rwxr-xr-x root/root 167 2018-02-10 11:00 ./postrm -rwxr-xr-x root/root 219 2018-02-10 11:00 ./prerm $ xzcat control.tar.xz | tar xf - $ grep Version control Version: 2.4.14-6 $