dpkg / apt-cache în Linux / Bash

Arhivare și pachete dpkg / APT (Debian, Ubuntu)

Interoghează pachetele .deb instalate pe Debian și Ubuntu și informațiile din depozitele APT.

Sintaxă comandă
dpkg -l | -L | -S | -i [pachet]
apt-cache policy | show | depends [pachet]

Ce face dpkg / apt-cache

dpkg este instrumentul de bază care instalează efectiv pachetele .deb pe Debian și Ubuntu; apt se sprijină pe el și se ocupă de descărcare și de dependențe. Direct, dpkg se folosește mai ales pentru întrebări despre pachetele instalate: ce versiune are un pachet, ce fișiere a pus pe disc, cărui pachet îi aparține un fișier.

apt-cache răspunde la întrebări despre pachetele din depozite: ce versiuni sunt disponibile și din ce depozit (policy), descrierea (show) și dependențele (depends). Niciuna dintre aceste interogări nu modifică sistemul, deci nu cer sudo.

Opțiuni și argumente

Opțiune / Parametru Descriere
dpkg -l [TIPAR] Listează pachetele instalate; primele două litere arată starea (ii = instalat corect).
dpkg -L PACHET Listează fișierele instalate de pachet.
dpkg -S FIȘIER Spune cărui pachet îi aparține un fișier.
dpkg -i FIȘIER.deb Instalează un pachet local (nu rezolvă dependențele).
apt-cache policy PACHET Versiunea instalată, versiunea candidat și depozitele din care vine.
apt-cache show / depends PACHET Descrierea completă / lista dependențelor.

Exemple

Exemplul 1: Ce versiune de nginx este instalată

Starea ii înseamnă că pachetul a fost cerut pentru instalare și este instalat corect.

dpkg -l nginx

Ieșire în terminal

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  nginx          1.24.0-2ubuntu7.5  amd64        small, powerful, scalable web/proxy server

Exemplul 2: Cărui pachet îi aparține o comandă și ce fișiere are

dpkg -S pornește de la fișier, dpkg -L de la pachet.

dpkg -S /usr/bin/htop
dpkg -L htop | grep bin

Ieșire în terminal

htop: /usr/bin/htop
/usr/bin
/usr/bin/htop

Exemplul 3: Ce versiune s-ar instala din depozite

Installed este versiunea de pe disc, Candidate este versiunea pe care o va instala apt install; *** marchează versiunea instalată, iar numărul 500 este prioritatea depozitului.

apt-cache policy nginx

Ieșire în terminal

nginx:
  Installed: 1.24.0-2ubuntu7.5
  Candidate: 1.24.0-2ubuntu7.5
  Version table:
 *** 1.24.0-2ubuntu7.5 500
        500 http://archive.ubuntu.com/ubuntu noble-updates/main amd64 Packages
        100 /var/lib/dpkg/status
     1.24.0-2ubuntu7 500
        500 http://archive.ubuntu.com/ubuntu noble/main amd64 Packages

Greșeli frecvente

  • Instalarea unui .deb cu dpkg -i și rămânerea cu dependențe lipsă: folosește sudo apt install ./pachet.deb, care rezolvă și dependențele.
  • Confuzia dintre ce este instalat și ce este disponibil: dpkg -l arată doar pachetele de pe sistem, apt-cache policy arată și versiunile din depozite.

Comenzi înrudite

  • apt: Managerul modern de pachete pentru instalarea, actualizarea și eliminarea programelor pe distribuții Debian și Ubuntu.
  • dnf / yum: Managerul de pachete din Fedora, RHEL, Rocky Linux și AlmaLinux: instalează, actualizează și caută pachete RPM.
  • snap: Instalează aplicații ambalate ca pachete snap, care vin cu propriile dependențe și se actualizează automat.