Ottenere la lista dei pacchetti installati in Debian e Ubuntu

  Debian, Ubuntu

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"

  • @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

Lascia un commento

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.