Jawaban:
dpkg -c(atau --contents) mencantumkan konten file paket .deb (Ini adalah front-end ke dpkg-deb.)
dpkg -c package_file.deb
Untuk bekerja secara langsung dengan nama paket daripada file paket, Anda dapat menggunakan apt-file. (Anda mungkin perlu menginstal apt-filepaket terlebih dahulu.)
sudo apt-file update
apt-file list package_name
Seperti yang dinyatakan dalam komentar pertama, file apt daftar konten untuk paket dalam repositori Apt Anda yang sudah dikonfigurasi. Tidak relevan apakah paket tertentu diinstal atau tidak.
sudo apt-file update), dan hanya mencantumkan konten untuk paket di repositori Apt Anda yang sudah dikonfigurasi.
dpkg -cbagus!
.debfile yang telah Anda unduh secara terpisah. Namun pertanyaan aslinya tidak jelas.
Gunakan --contentsalih-alih -L:
dpkg --contents PACKAGENAME
Ketika digunakan dengan cara ini, dpkgbertindak sebagai front-end dpkg-deb, jadi gunakan man dpkg-debuntuk melihat semua opsi.
Anda juga dapat menggunakan browser arsip untuk melihat konten paket.
dpkg --contents google-chrome-stable_current_amd64.debdan terdaftar semua file yang akan diinstal (kebanyakan ke /opt/google/chrome), tidak ada yang saat ini diinstal pada sistem saya saat saya mengetik ini. (Saya menjalankan Xubuntu 11,10 jika itu penting.)
dpkg --contentsakan membiarkan Anda melihat paket yang dihapus. Jika. Deb belum ada di sistem Anda, lakukan
apt-get --download-only install pkgname
Paket akan diunduh /var/cache/apt/archivestetapi tidak diinstal.
Cara terbaik adalah menelusuri langsung repositori paket:
http://packages.debian.org/[distro name]/all/[package name]/filelist
Contoh:
http://packages.debian.org/wheezy/all/transmission-common/filelist
lynx -dump -nolist http://packages.debian.org/wheezy/all/transmission-common/filelist | grep ^/(asalkan Anda telah lynxmenginstal).
Saya mengambil ide http @ baldoz dan menggeneralisasinya untuk Ubuntu dan Debian, menambahkan sedikit seddan membungkusnya dengan fungsi bash one-liner:
function deb_list () { curl -s $(lsb_release -si | sed -e 's Ubuntu https://packages.ubuntu.com ' -e 's Debian https://packages.debian.org ')/$(lsb_release -sc)/all/$1/filelist | sed -n -e '/<pre>/,/<\/pre>/p' | sed -e 's/<[^>]\+>//g' -e '/^$/d'; }
Pemakaian:
$ deb_list curl
/usr/bin/curl
/usr/share/doc/curl/changelog.Debian.gz
/usr/share/doc/curl/copyright
/usr/share/doc/curl/NEWS.Debian.gz
/usr/share/man/man1/curl.1.gz
Fungsi yang sama pada banyak baris:
function deb_list () {
curl -s $(lsb_release -si \
| sed -e 's Ubuntu https://packages.ubuntu.com ' \
-e 's Debian https://packages.debian.org '
)/$(lsb_release -sc)/all/$1/filelist \
| sed -n -e '/<pre>/,/<\/pre>/p' \
| sed -e 's/<[^>]\+>//g' -e '/^$/d';
}
Dijelaskan:
https://packages.ubuntu.comatauhttps://packages.debian.orghttps://packages.ubuntu.com/trusty/all/curl/filelist<pre>dan </pre>tag); strip kedua semua tag html; ketiga menghapus setiap baris kosong.Catatan: Ia tidak mencari PPA, repo sumber apt alternatif dan hanya menanyakan paket resmi yang tersedia untuk rilis debian / ubuntu yang Anda jalankan.
Untuk semua orang yang mungkin masih googling masalah ini pada Januari 2017, Anda dapat memiliki beberapa hal keren dengan apt dan dpkg versi terbaru di Debian 8.5 tanpa mengunduh apa pun.
Daftar Isi File Deb Tanpa Unduhan:
Pertama-tama cari url lengkap file deb:
root@debian:apt-get --print-uris download yade
'http://httpredir.debian.org/debian/pool/main/y/yade/yade_2016.06a-7_amd64.deb' yade_2016.06a-7_amd64.deb 1621148 SHA256:26c0d84484a92ae9c2828edaa63243eb764378d79191149970926aa3ec40cdd4
PS: - print-uris switch mencetak url paket deb tetapi deb tidak diunduh.
Kemudian tampilkan konten paket deb tanpa mengunduhnya:
root@debian:curl -sL -o- "http://httpredir.debian.org/debian/pool/main/y/yade/yade_2016.06a-7_amd64.deb" |dpkg-deb -c /dev/stdin
drwxr-xr-x root/root 0 2016-12-10 22:18 ./
drwxr-xr-x root/root 0 2016-12-10 22:18 ./usr/
drwxr-xr-x root/root 0 2016-12-10 22:18 ./usr/bin/
-rwxr-xr-x root/root 13184 2016-12-10 22:18 ./usr/bin/yade
.........................more files listed bellow ......................
PS: Hasil yang sama bisa dicapai dengan
root@debian:dpkg -c <(curl -sL -o- "http://httpredir.debian.org/debian/pool/main/y/yade/yade_2016.06a-7_amd64.deb")
Ekstrak file dari paket deb di atas, tanpa unduhan.
Misalnya kita ingin membaca halaman manual paket yade tanpa menginstal paket ini dan tanpa mengunduh paket deb.
Nama file halaman manual di dalam paket deb seperti yang disarankan oleh dpkg -cis./usr/share/man/man1/yade.1.gz
Untuk membaca halaman manual dengan cepat:
root@debian:curl -sL -o- "http://httpredir.debian.org/debian/pool/main/y/yade/yade_2016.06a-7_amd64.deb" |dpkg-deb --fsys-tarfile /dev/stdin |tar -xO ./usr/share/man/man1/yade.1.gz |man /dev/stdin
halaman manual ditampilkan dengan benar menggunakan aplikasi manual.
PS: Pipa di atas tidak bekerja dengan perintah ar.
root@debian:apt --version --> apt 1.4~beta2 (amd64)
root@debian:dpkg --version --> Debian 'dpkg' package management program version 1.18.18 (amd64).
root@debian:man --version --> man 2.7.6.1
root@debian:tar --version --> tar (GNU tar) 1.29
Sepertinya tidak mungkin sebelum menginstalnya terlebih dahulu atau mengekstraksi daftar dari .debfile.
Coba perintah berikut:
dpkg --contents <(curl -s $(apt-get install --yes --no-download --reinstall --print-uris language-pack-en | tail -n1 | grep -o "http[^']\+"))
Ubah language-pack-endengan nama paket Anda.
Ini pada dasarnya membaca .debfile yang diekstraksi melalui curldan dijalankan dpkg --contents FILEdi atasnya.
Anda juga dapat memeriksa konten tanpa mengunduh file paket.
Jadi jika Anda tahu URL .debfile, perintah shell berikut akan mencantumkan semua file paket:
dpkg -c <(curl -sL "http://httpredir.debian.org/debian/pool/main/a/avis/avis_1.2.2-4_all.deb")
Paruh ikal: -s- diam, -L- ikuti tautan yang dipindahkan.
Jika Anda tidak tahu URL-nya, ambil dengan:, apt --print-urismis
apt --print-uris install avis | grep avis