apt
adalah untuk mengelola repositori jarak jauh, dpkg
- untuk paket yang diinstal secara lokal. Mereka terkait. apt
adalah ujung depan untuk dpkg
. Ketika Anda menjalankannya apt-get install package
mendapat .deb
file, dan menginstalnya melalui dpkg
. Jadi jumlahnya berbeda karena ada banyak paket yang tersedia, tetapi hanya sebagian kecil yang diinstal secara lokal pada sistem Anda.
apt-cache
dapat menampilkan paket yang diinstal dan yang tidak diinstal, karena ia menanyakan apt
cache - daftar apa yang tersedia di repositori jarak jauh (cache itu adalah apa yang Anda dapatkan ketika Anda melakukannya apt-get update
). Contohnya,
$ apt-cache policy terminator
terminator:
Installed: (none)
Candidate: 1.91-1
$ dpkg -l terminator
dpkg-query: no packages found matching terminator
Perhatikan bahwa ada alat lain yang dapat meminta daftar paket lokal yang diinstal / dihapus, dan itu dpkg-query
. Contohnya,
$ dpkg-query -l 'libc6'
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name Version Architecture Description
+++-====================-===============-===============-=============================================
ii libc6:amd64 2.27-3 amd64 GNU C Library: Shared libraries
ii libc6:i386 2.27-3 i386 GNU C Library: Shared libraries
$ dpkg -l libc6
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name Version Architecture Description
+++-====================-===============-===============-=============================================
ii libc6:amd64 2.27-3 amd64 GNU C Library: Shared libraries
ii libc6:i386 2.27-3 i386 GNU C Library: Shared libraries
Sesuai manual dpkg
dpkg juga dapat digunakan sebagai front-end ke dpkg-deb (1) dan dpkg-query (1). Daftar tindakan yang didukung dapat ditemukan nanti di bagian TINDAKAN. Jika tindakan semacam itu ditemui, dpkg hanya menjalankan dpkg-deb atau dpkg-query dengan parameter yang diberikan padanya, tetapi saat ini tidak ada opsi khusus yang diberikan kepada mereka, untuk menggunakan opsi tersebut, back-end perlu dipanggil secara langsung.
Sejauh ini dpkg-query
, perlu dicatat bahwa alat ini difokuskan pada pencarian basis data paket yang diinstal, dan dapat menampilkan informasi dalam format tertentu ( -f
opsi plus -W
tindakan). Contohnya,
$ dpkg-query -W -f='PACK:${Package}\nARCH:${Architecture}\nSTAT:${Status}\n---\n' libc6
PACK:libc6
ARCH:amd64
STAT:install ok installed
---
PACK:libc6
ARCH:i386
STAT:install ok installed
---
Yang cukup menarik, basis data dpkg mengelola daftar paket yang dipilih untuk dihapus atau dihapus di beberapa titik . dpkg-query
juga dapat mengambil pola glob sebagai argumen, dan tergantung pada tidak adanya itu hanya menunjukkan paket yang diinstal / dikonfigurasi atau semua paket.