Apt-cache: come elencare tutti i pacchetti installati con il numero di versione?


51

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.


3
bug # 775771 limita i risultati della ricerca apt-cache ai pacchetti installati
bartolo-otrit

Risposte:


53

provare dpkg -l

ti elenca i pacchetti, la versione e una breve descrizione.


1
Mi piace anche apt-show-versionsperché mostra anche quale è uptotdate.
Malat,

37

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'

13

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

Questo è davvero bello in quanto mostra la versione a cui è possibile aggiornare un pacchetto. +1.
Randall Cook,

combinato con apt-mark showmanualquesto 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
Gregor

4

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.txtfile 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.


4

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

1

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_appcontiene tutti i pacchetti installati!

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.