apt-cache dump --installed
non funziona, elenca anche i pacchetti disinstallati.
Voglio elencare i pacchetti di installazione ciascuno di una riga, con il numero di versione installato.
apt-cache dump --installed
non funziona, elenca anche i pacchetti disinstallati.
Voglio elencare i pacchetti di installazione ciascuno di una riga, con il numero di versione installato.
Risposte:
Il modo più semplice sta usando dpkg
, ma potrebbe mostrare alcuni pacchetti estranei e tronca nomi di pacchetti lunghi e numeri di versione:
dpkg -l
Per elencare solo i pacchetti installati correttamente e non troncare i nomi:
dpkg -l | grep '^ii'
Per ottenere un maggiore controllo sul formato di output, è possibile utilizzare dpkg-query
:
dpkg-query -W -f '${status} ${package} ${version}\n' | \
sed -n 's/^install ok installed //p'
Altro comando può essere:
apt-show-versions
Fornisce inoltre informazioni sullo stato del pacchetto (aggiornato, aggiornabile, ...) e sulla distribuzione dell'origine (wheezy, jessie, ...). Si possono facilmente filtrare i pacchetti che provengono da backport o altri repository esotici.
Questo programma è confezionato separatamente. Installalo prima con:
apt-get install apt-show-versions
apt-mark showmanual
questo ti dà un modo semplice e piacevole per recuperare le versioni di tutti i pacchetti installati manualmente, vedi anche questa risposta Askubuntu apt-mark showmanual > /tmp/versions && apt-show-versions | grep -f /tmp/versions
Il seguente comando elenca i pacchetti con le loro versioni e inoltre consente di configurare un sistema con gli stessi pacchetti e versioni successive, utilizzando il pkg-selections.txt
file generato qui:
aptitude -q -F "%?p=%?V %M" --disable-columns search \~i > pkg-selections.txt
Ogni riga conterrà il nome del pacchetto, la versione e una "A" opzionale se il pacchetto è stato installato automaticamente.
Fonte: " Clonare un sistema Debian - pacchetti e versioni identici ". Contiene anche lo script che imposta un sistema da pkg-selections.txt
.
Per elencare i nomi di ciascun pacchetto installato, digitare come qualsiasi utente:
dpkg --get-selections
Otterrai un output come questo:
accountsservice install
aclinstall install
acpi-supportinstall install
acpidinstall install
...
Per rimuovere la stringa di caratteri "installa" non necessaria, puoi usare sed :
dpkg --get-selections | sed 's:install$::'
E se vuoi salvarlo in un file chiamato InstalledPackages , digita questo:
dpkg --get-selections | sed 's:install$::' > InstalledPackages
Se non si ha accesso al sistema live e si dispone di un backup della /
partizione di root , è possibile:
root@backup_server /mnt/old_root/var/lib/dpkg/info # ls -la *.list | awk {'print $9'}| sed 's/.list//' >> /root/installed_app
Ora questo /root/installed_app
contiene tutti i pacchetti installati!