Chi usa Synaptic in Debian, Ubuntu o derivate riesce ad avere la lista dei pacchetti installati a colpo d’occhio, però spesso c’è la necessità di voler avere la lista in una shell, vediamo come ottenere tali informazioni.
Il Debian Package Manager, meglio noto come dpkg, è il gestore principale dei pacchetti in Debian (ma anche in Ubuntu ed in tutte le derivate da queste due distribuzioni), esso memorizza tutte le informazioni dei pacchetti nella directory /var/lib/dpkg. In essa potrete trovare diverse tipologie di informazioni, come lo stato dei pacchetti installati, gli aggiornamenti e molto altro. Ad esempio lo stato dei pacchetti installati è salvato nel file /var/lib/dpkg/status, quindi se volessimo ottenere lo stato dei pacchetti installati bastarebbe leggere il file con un qualsiasi comando che genere un output testuale come cat, less o more. Ad esempio con cat basta digitare:
cat /var/lib/dpkg/status
Otterrete in output una lista che dipenderà da quanti pacchetti avete installato nel sistema. Prendendo il risultato per un singolo pacchetto giusto per chiarirci le idee, avremo un risultato del tipo:
Package: vim-tiny
Status: install ok installed
Priority: important
Section: editors
Installed-Size: 1196
Maintainer: Debian VIM Maintainers <[email protected]>
Architecture: amd64
Source: vim
Version: 1:7.0-122+1etch3
Provides: editor
Depends: vim-common (= 1:7.0-122+1etch3), libc6 (>= 2.3.5-1), libncurses5 (>= 5.4-5)
Description: Vi IMproved – enhanced vi editor – compact version
Vim is an almost compatible version of the UNIX editor Vi.
.
Many new features have been added: multi level undo, syntax
highlighting, command line history, on-line help, filename
completion, block operations, folding, Unicode support, etc.
.
This package contains a minimal version of vim compiled with no
GUI and a small subset of features in order to keep small the
package size. This package does not depend on the vim-runtime
package, but installing it you will get its additional benefits
(online documentation, plugins, …).
Come potete vedere le informazioni sono tantissime, dal nome del pacchetto alla versione installata, passando per nome del maintainer, dipendenze e descrizione completa.
Naturalmente in questo modo si ottengono molte più informazioni di quanto spesso siano necessarie, in realtà dpkg fornisce un metodo più veloce e leggibile per ottenere una lista di pacchetti installati, basta usare l’opzione -l che ci restituisce una lista dei pacchetti installati con stato desiderato, stato attuale, nome, versione e una descrizione breve. Quindi per ottenere la lista vi basterà scrivere da shell:
dpkg -l
e avrete un risultato tipo questo:
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Installed/Config-files/Unpacked/Failed-config/Half-installed
|/ Err?=(none)/Hold/Reinst-required/X=both-problems (Status,Err: uppercase=bad)
||/ Name Version Description
+++-======================-====================================-============================================
ii adduser 3.102 Add and remove users and groups
ii apache2 2.2.3-4+etch6 Next generation, scalable, extendable web se
ii apt 0.6.46.4-0.1 Advanced front-end for dpkg
ii apt-utils 0.6.46.4-0.1 APT utility programs
ii aptitude 0.4.4-4 terminal-based apt frontend
ii base-files 4 Debian base system miscellaneous files
ii base-passwd 3.5.11 Debian base system master password and group
ii bash 3.1dfsg-8 The GNU Bourne Again SHell
ii bsdmainutils 6.1.6 collection of more utilities from FreeBSD
ii bsdutils 2.12r-19etch1 Basic utilities from 4.4BSD-Lite
ii ca-certificates 20070303 Common CA Certificates PEM files
ii coreutils 5.97-5.3 The GNU core utilities
ii cpio 2.6-18.1+etch1 GNU cpio — a program to manage archives of
ii cron 3.0pl1-100 management of regular background processing
ii curl 7.15.5-1etch1 Get a file from an HTTP, HTTPS, FTP or GOPHE
ii debconf 1.5.11etch2 Debian configuration management system
ii debconf-i18n 1.5.11etch2 full internationalization support for debcon
ii debian-archive-keyring 2007.07.31~etch1 GnuPG archive keys of the Debian archive
ii debianutils 2.17 Miscellaneous utilities specific to Debian
Naturalmente questo è solo un estratto, la vostra linga sarà molto più lunga, ricordate che con comandi tipo more o less potete paginarla.
Questo è tutto, spero vi sia utile, se avete dubbi, correazioni, suggerimenti o domande di qualsiasi tipo non esitate a commentare.
3 pensieri su – "Ottenere la lista dei pacchetti installati in Debian e Ubuntu"
molto più pulito questo comando:
dpkg –get-selections >> elenco.txt
🙂
@anonimo (sopra): Non va su mint=
# dpkg –get-selections >> elenco.txt
dpkg: errore: necessaria un’opzione che indichi un’azione
invece funziona bene=
dpkg -l > elenco.txt
Non funziona perché è errata l’opzione!
Quella corretta è: –get-selections
Quindi il comando completo è: dpkg –get-selections > elenco.txt