apt
dient zum Verwalten von Remote-Repositorys, dpkg
- für lokal installierte Pakete. Sie sind verwandt. apt
ist Frontend zu dpkg
. Wenn Sie es ausführen apt-get install package
, wird die .deb
Datei abgerufen und über installiert dpkg
. Die Zahlen unterscheiden sich also, da viele Pakete verfügbar sind, aber nur ein Bruchteil lokal auf Ihrem System installiert ist.
apt-cache
kann sowohl installierte als auch nicht installierte Pakete anzeigen, da der apt
Cache abgefragt wird - eine Auflistung der in Remote-Repositorys verfügbaren Elemente (dieser Cache ist das, was Sie erhalten, wenn Sie dies tun apt-get update
). Zum Beispiel,
$ apt-cache policy terminator
terminator:
Installed: (none)
Candidate: 1.91-1
$ dpkg -l terminator
dpkg-query: no packages found matching terminator
Beachten Sie, dass es ein anderes Tool gibt, das die Liste der installierten / entfernten lokalen Pakete abfragen kann dpkg-query
. Zum Beispiel,
$ 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
Gemäß dpkg Handbuch
dpkg kann auch als Frontend für dpkg-deb (1) und dpkg-query (1) verwendet werden. Die Liste der unterstützten Aktionen finden Sie später im Abschnitt AKTIONEN. Wenn eine solche Aktion auftritt, führt dpkg nur dpkg-deb oder dpkg-query mit den ihm angegebenen Parametern aus, es werden jedoch derzeit keine spezifischen Optionen an sie übergeben. Um eine solche Option zu verwenden, müssen die Back-Ends direkt aufgerufen werden.
In dpkg-query
diesem Fall ist zu beachten, dass sich dieses Tool auf die Abfrage der Datenbank installierter Pakete konzentriert und Informationen in einem bestimmten Format ausgeben kann ( -f
Option plus -W
Aktion). Zum Beispiel,
$ 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
---
Interessanterweise enthält die dpkg-Datenbank eine Liste der Pakete, die zum Entfernen ausgewählt wurden oder zu einem bestimmten Zeitpunkt entfernt wurden . dpkg-query
kann auch das Glob-Muster als Argument verwenden und je nach Vorhandensein des Musters nur installierte / konfigurierte Pakete oder alle Pakete anzeigen.