apt
es para administrar repositorios remotos, dpkg
- para paquetes instalados localmente. Están relacionados apt
es front end para dpkg
. Cuando lo ejecuta apt-get install package
, obtiene el .deb
archivo y lo instala a través de dpkg
. Por lo tanto, los números difieren porque hay muchos paquetes disponibles, pero solo una fracción se instala localmente en su sistema.
apt-cache
puede mostrar tanto los paquetes instalados como los no instalados, porque consulta la apt
memoria caché: una lista de lo que está disponible en repositorios remotos (esa memoria caché es lo que obtienes cuando lo haces apt-get update
). Por ejemplo,
$ apt-cache policy terminator
terminator:
Installed: (none)
Candidate: 1.91-1
$ dpkg -l terminator
dpkg-query: no packages found matching terminator
Tenga en cuenta que existe otra herramienta que puede consultar la lista de paquetes locales instalados / eliminados, y eso es todo dpkg-query
. Por ejemplo,
$ 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
Según el manual dpkg
dpkg también se puede usar como interfaz para dpkg-deb (1) y dpkg-query (1). La lista de acciones compatibles se puede encontrar más adelante en la sección ACCIONES. Si se encuentra alguna acción de este tipo, dpkg solo ejecuta dpkg-deb o dpkg-query con los parámetros que se le han dado, pero actualmente no se les pasa ninguna opción específica, para usar dicha opción, se debe llamar directamente al back-end.
En lo que respecta dpkg-query
, debe tenerse en cuenta que esta herramienta se centra en consultar la base de datos de paquetes instalados y puede generar información en un formato particular ( -f
opción más -W
acción). Por ejemplo,
$ 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
---
Curiosamente, la base de datos dpkg mantiene una lista de los paquetes seleccionados para su eliminación o que se eliminaron en algún momento . dpkg-query
También puede tomar el patrón global como argumento, y dependiendo de la presencia de ausencia de él , solo se muestran los paquetes instalados / configurados o todos los paquetes.