Introduzione
In questa guida, spiegheremo come elencare e filtrare i pacchetti installati su Debian. Ti mostreremo anche come verificare se è installato un pacchetto specifico, contare i pacchetti installati e scoprire la versione di un pacchetto installato.
Sapere come elencare i pacchetti installati sul proprio sistema basato su Debian può essere utile nelle situazioni in cui è necessario installare gli stessi pacchetti su un altro computer o se si desidera reinstallare il sistema.
Elencare i pacchetti installati con Apt
Apt è un'interfaccia a riga di comando per il sistema di gestione dei pacchetti e combina le funzionalità più comunemente utilizzate da apt-get
e apt-cache
include un'opzione per elencare i pacchetti installati.
Per elencare tutti i pacchetti installati sul tuo sistema esegui il seguente comando:
sudo apt list --installed
Listing... Done
adduser/stable,stable,now 3.118 all [installed]
apt-transport-https/stable,stable,now 1.8.2 all [installed]
apt-utils/stable,stable,now 1.8.2 amd64 [installed]
apt/stable,stable,now 1.8.2 amd64 [installed]
aptitude-common/stable,stable,now 0.8.11-7 all [installed,automatic]
aptitude/stable,stable,now 0.8.11-7 amd64 [installed]
base-files/stable,stable,now 10.3+deb10u3 amd64 [installed]
base-passwd/stable,stable,now 3.5.46 amd64 [installed]
bash-completion/stable,stable,now 1:2.8-6 all [installed]
bash/stable,stable,now 5.0-4 amd64 [installed]
bind9-host/stable,stable,now 1:9.11.5.P4+dfsg-5.1 amd64 [installed]
bsdmainutils/stable,stable,now 11.1.2+b1 amd64 [installed]
bsdutils/stable,stable,now 1:2.33.1-0.1 amd64 [installed]
bzip2/stable,stable,now 1.0.6-9.2~deb10u1 amd64 [installed]
ca-certificates/stable,stable,now 20190110 all [installed,automatic]
cloud-guest-utils/stable,stable,now 0.29-1 all [installed,automatic]
cloud-image-utils/stable,stable,now 0.29-1 all [installed,automatic]
cloud-init/stable,stable,now 18.3-6 all [installed]
cloud-initramfs-growroot/stable,stable,now 0.18.debian7 all [installed]
cloud-utils/stable,stable,now 0.29-1 all [installed]
console-setup-linux/stable,stable,now 1.193~deb10u1 all [installed,automatic]
console-setup/stable,stable,now 1.193~deb10u1 all [installed]
coreutils/stable,stable,now 8.30-3 amd64 [installed]
cpio/stable,stable,now 2.12+dfsg-9 amd64 [installed]
.....
Il comando visualizzerà un elenco di tutti i pacchetti installati, comprese le informazioni sulle versioni e sull'architettura dei pacchetti. La colonna più a destra nell'output mostra se il pacchetto è stato installato automaticamente come dipendenza di un altro pacchetto.
Poiché l'elenco dei pacchetti è lungo, è una buona idea convogliare l'output al comando less
per semplificare la lettura:
sudo apt list --installed | less
Per scoprire se è installato un pacchetto specifico, utilizzare il comando grep per filtrare l'output. Ad esempio, per scoprire se il pacchetto tmux è installato sul sistema, digitare:
sudo apt list --installed | grep tmux
tmux/stable,now 2.3-4 amd64 [installed]
In questo caso, sul mio sistema, l'output mostra che ho installato tmux 2.3-4 sul sistema.
Elencare i pacchetti installati con dpkg-query
dpkg-query
è una riga di comando che può essere utilizzata per visualizzare informazioni sui pacchetti elencati nel database dpkg.
Per ottenere un elenco di tutti i pacchetti installati digitare:
sudo dpkg-query -l | less
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 adduser 3.118 all add and remove users and groups
ii apt 1.8.2 amd64 commandline package manager
ii apt-transport-https 1.8.2 all transitional package for https support
ii apt-utils 1.8.2 amd64 package management related utility programs
ii aptitude 0.8.11-7 amd64 terminal-based package manager
ii aptitude-common 0.8.11-7 all architecture independent files for the aptitude package manager
ii base-files 10.3+deb10u3 amd64 Debian base system miscellaneous files
ii base-passwd 3.5.46 amd64 Debian base system master password and group files
...
Il comando visualizzerà un elenco di tutti i pacchetti installati, comprese le versioni dei pacchetti, l'architettura e una breve descrizione.
Puoi filtrare l'output dpkg-query -l
usando il comando grep
:
sudo dpkg-query -l | grep package_name_to_search
Creare un elenco di tutti i pacchetti installati
Il seguente comando memorizzerà l'elenco di tutti i pacchetti installati sul tuo sistema Debian in un file chiamato packages_list.txt
:
sudo dpkg-query -f '${binary:Package}\n' -W > packages_list.txt
Ora che hai l'elenco, puoi installare gli stessi pacchetti sul tuo nuovo server con:
sudo xargs -a packages_list.txt apt install
Contare il numero di pacchetti installati
Per scoprire quanti pacchetti sono installati sul tuo sistema puoi usare lo stesso comando di quando crei un elenco di pacchetti ma invece di reindirizzare l'output su un file puoi reindirizzarlo al comando wc
per contare le righe:
sudo dpkg-query -f '${binary:Package}\n' -W | wc -l
L'output mostrerà il numero di pacchetti installati:
388
Conclusione
In questo tutorial, hai imparato come elencare e filtrare i pacchetti installati sul tuo sistema Debian.