Un tip sui pacchetti di una Debian

Vi è mai capitato di voler sapere quali pacchetti sono installati nel vostro sistema Debian-based (come Ubuntu)? Magari per reinstallarli nel caso doveste reinstallare un sistema identico. Beh, c’è un metodo semplice e spartano che consiste nell’usare il programma dpkg disponibile per ogni distribuzione basata su Debian.

Ecco il comando che permette di salvare la lista dei pacchetti in un unico file:

dpkg -l | grep "ii " | cut -d " " -f3 > pacchetti_installati

Vediamo uno a uno cosa fanno i pezzi di questo comando:

  • dpkg -l : fornisce informazioni sui pachcetti. Se provate a lanciarlo vedrete che l’output è suddiviso in colonne: la prima dice lo stato del pacchetto (se è installato, rimosso, marchato come da rimuovere o da installare, da configurare, ecc.), la seconda dà il nome del pacchetto, la terza la versione e l’ultima una descrizione. (vedere man dpkg per maggiori informazioni)
  • | grep "ii ": la barra verticale serve per dire “prendi l’output del comando precedente e lavora su quello”. grep invece permette di selezionare le righe che contengono una data espressione che nel nostro caso è "ii " che identifica un pacchetto installato
  • | cut -d " " -f3 permette di processare le rige restituite da grep selezionandone un “campo”. Per identificare i campi forniamo il delimitatore con l’opzione -d ” ” che corrisponde ad uno spazio. Quindi scegliamo il terzo campo (-f3) in modo da selezionare la colonna corrispondente al nome del pacchetto.
  • > pacchetti_installati permette di ridirigere l’output dei comandi precedenti nel file indicato.

C’è una lacuna in questo modo di compiere l’operazione perché quando si usa grep si potrebbero selezionare pacchetti già rimossi (con flag rc nella prima colonna) e che terminano in "ii". Per ovviare a questo si può usare lo script commentato che potete scaricare cliccando qui.
Basta salvare lo script e dargli i permessi di esecuzione con

chmod +x installati

ed eseguirlo come

  • ./installati : per avere l’output a schermo
  • ./installati nome_file : per salvare l’output in nome_file

Alla prossima!

Aggiornamento: naturalmente dopo aver terminato di scrivere il post ho trovato un comando molto più veloce e ortodosso per fare tutto questo:
dpkg --get-selections > lista_pacchetti
Restituisce la lista dei pacchetti e lo stato (e salva tutto in lista_pacchetti). Per avere solo i nome dei pacchetti installati basterà quindi dare il comando
dpkg --get-selections | grep install | cut -f1 > lista_pacchetti
Spero almeno che la pappardella di prima sia servita a qualcuno per capire come si possono usare i comandi dalla console!

Annunci

1 commento »

  1. […] per effettuare l’operazione. Lo script è commentato e spero che sia abbastanza chiaro (è una modifica dello script installati di un mio post precedente). […]

RSS feed for comments on this post · TrackBack URI

Rispondi

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...

%d blogger hanno fatto clic su Mi Piace per questo: