Debian ha sviluppato una solida e ben strutturata gestione dei pacchetti software, tanto da essere considerato spesso il sistema più avanzato (ma semplice da utilizzare) tra quelli disponibili per l’ambiente GNU/Linux. Tutto il software può essere installato, aggiornato o rimosso con pochi semplici comandi, oppure utilizzando direttamente un’interfaccia grafica punta e clicca. I software vengono distribuiti mediante un formato di impacchettamento che al suo interno contiente tutto il necessario al funzionamento dei programmi (eseguibile, documentazione, etc.) ed alla loro installazione/rimozione/aggiornamento. Tutto il software fornito da Debian (circa 20.000 pacchetti) è scaricabile gratuitamente da Internet usando server Debian o di terze parti ed è immediatamente utilizzabile. Altrettanto programmi sono disponibili su server non ufficiali.
In questa pagina è possibile trovare alcuni appunti sui fondamenti della gestione dei pacchetti in Debian GNU/Linux.
I pacchetti per Debian sono immediatamente riconoscibili grazie al loro suffisso .deb. Debian mette a disposizione diversi strumenti per gestire questi file e scegliere il programma da utilizzare dipende solo dalle vostre esigenze e preferenze. I programmi più usati sono:
dpkg che facilitano la gestione dei pacchetti. apt-get e gli altri script che lo accompagnano (apt-cache, apt-cdrom etc.) permettono di cercare, reperire, installare, rimuovere, aggiornare i pacchetti o l’intera installazione da qualsiasi fonte (Internet o supporto fisico). APT si basa sul file sources.list per reperire i pacchetti su cui lavorare;apt-get e permette di effettuare (quasi) tutto quello che è possibile fare con apt tramite pochi click del mouse. Il suo utilizzo è molto comodo per la ricerca dei pacchetti/programmi di cui non si conoscono il nome o le caratteristiche.
Quasi tutte le operazioni sui pacchetti richiedono di autenticarsi come root.
dpkg è lo strumento ideale per la gestione dei pacchetti locali, cioè già presenti nel vostro Hard Disk. Di seguito alcuni esempi di utilizzo:
# dpkg -i nomepacchetto.deb
Installa il pacchetto chiamato nomepacchetto.deb.
# dpkg -r nomepacchetto
Rimuove il pacchetto nomepacchetto
# dpkg -l | grep parolachiave
Elenca gli eventuali pacchetti installati nel sistema il cui nome contenga il termine parolachiave.
# dpkg -P nomepacchetto
Rimuove completamente i file di configurazione di un pacchetto.
# dpkg-reconfigure nomepacchetto
Riconfigura un pacchetto installato
# dpkg -L nomepacchetto
Elenca i file che compongono un pacchetto installato nel sistema.
Per un’analisi dettagliata del comando dpkg controllare le pagine man del programma.
APT (Advanced Packaging Tool) è l’interfaccia principale di Debian per la gestione dei pacchetti. L’intero sistema APT è formato da vari script i cui nomi solitamente iniziano con “apt-“. I tool principali di APT sono apt-get e apt-cache.
Di seguito alcuni esempi di utilizzo.
# apt-get install pacchetto
Installa un pacchetto.
# apt-get remove pacchetto
Rimuove un pacchetto.
# apt-get --purge remove pacchetto
Rimuove un pacchetto e tutti i suoi file di configurazione.
# apt-get install deborphan # apt-get remove --purge `deborphan`
Installa deborphan ed in seguito utilizza il suo output per rimuovere tramite apt tutte le librerie rimaste senza dipendenze.
# apt-cache search pacchetto
Cerca un pacchetto.
# apt-cache show pacchetto
Visualizza informazioni dettagliate su un pacchetto.
# apt-get update
Aggiornare il DataBase dei pacchetti basandosi sul contenuto del file sources.list
# apt-get upgrade
Aggiorna tutti i pacchetti installati all’ultima versione.
# apt-get dist-upgrade
Aggiorna l’interno sistema.
# apt-get clean
Cancella da /var/cache/apt i pacchetti .deb scaricati.
# apt-get autoclean
Cancella da /var/cache/apt solo i pacchetti obsoleti.
# apt-get source pacchetto
Scarica i sorgenti di un pacchetto senza installarlo.
Usare una firma GPG con apt v0.6
Con la versione di APT targata 0.6 è stata introdotta una funzione aggiuntiva per garantire l’integrità ed aumentare la sicurezza dei pacchetti .deb scaricati dalla rete: la firma GPG. GNU Privacy Guard è un sistema molto utilizzato che permette di firmare o cifrare un qualsiasi documento che può essere elaborato da un computer.
Synaptic è un programma basato su GTK che fornisce un metodo semplice ed intuitivo per utilizzare il sistema APT. Non tutte le distribuzioni basate su Debian lo installano di default, nel caso basta collegarsi come root ed eseguire il seguente comando:
# apt-get install synaptic

Synaptic va poi eseguito da root. Il programma mostra all’utente una semplice interfaccia grafica che, come è possibile vedere nell’immagine riportata qui a fianco, permette all’utente di scorrere le liste dei pacchetti installati/installabili e con un click del mouse di applicare su di essi gli stessi comandi che possono essere eseguiti da console tramite apt-get/apt-cache. E’ possibile quindi marcare uno o più pacchetti per un upgrade, per una disinstallazione o per il semplice scaricamento senza installazione. Tutte le opzioni scelte vengono messe in coda ed eseguite in massa solo dietro esplicita conferma dell’utente. Synaptic permette inoltre di gestire direttamente dalla sua interfaccia il file sources.list, indispensabile per un corretto utilizzo di APT e tutti i programmi su di esso basati.
APT e tutti i programmi su di esso basati utilizzano il file /etc/apt/sources.list per reperire i pacchetti da installare. sources.list è uno dei file di configurazione dell’ambiente Debian più importante: esso contiene una lista di repository (archivi ben organizzati dove sono raccolti ed indicizzati sia i pacchetti Debian che i file sorgenti dei programmi) tra i quali APT cercherà e reperirà i pacchetti da installare. Gli archivi indicati nei repository possono includere ogni tipo di media/supporto di memorizzazione, quali cd-rom, http, ftp, nfs, percorsi locali, etc. Una corretta manutenzione del file sources.list, assieme ad un corretto uso degli strumenti per la gestione dei pacchetti .deb, consente ad ogni utilizzatore di Debian di mantenere aggiornata, sicura ed attuale la propria installazione.
In sources.list ogni riga indica un archivio (repository) ben specifico; il sources.list di un’installazione di Debian/Sid potrebbe contenere le seguenti righe:
# Sid deb ftp://ftp.it.debian.org/debian/ unstable main contrib non-free deb ftp://ftp.nerim.net/debian-marillat/ unstable main deb-src http://ftp.it.debian.org/debian unstable main contrib non-free deb-src ftp://ftp.nerim.net/debian-marillat unstable main
Come di consueto tutto ciò che inizia con il simbolo “#” (cancelletto) viene considerato come un commento ed ignorato da apt-get. Le successive due righe che iniziano con deb ... indicano nell’ordine il repository principale (l’unico necessario) per una installazione Debian/Sid ed il famoso archivio “Marillat” (così chiamato dal nome del suo manutentore) che contiene software dedicato al lato audio/video di Debian (quiì è possibile trovare programmi quali Mplayer, mencoder, dvdrip, etc.). Le ultime due righe si riferiscono ai repository contenenti solo i sorgenti dei pacchetti che sono repribili nei repository visti precedentemente.
Ovviamente un file sources.list può essere ben più compicato di quello analizzato in questo esempio; per un’analisi approfondita di sources.list vi rimando alle sue pagine man.
Di seguito sono indicati i repository da inserire nel file /etc/apt/sources.list per le installazioni Stable/Sarge, Testing/Etch ed Unstable/Sid di Debian. I repository sono aggiornati al 13/07/05. N.B. in nessun caso il repository “Marillat” è necessario.
#Sarge deb ftp://ftp.it.debian.org/debian/ stable main contrib non-free deb-src http://ftp.it.debian.org/debian stable main contrib non-free deb ftp://ftp.nerim.net/debian-marillat/ stable main deb-src ftp://ftp.nerim.net/debian-marillat stable main
# Etch deb http://http.us.debian.org/debian/ testing main contrib non-free deb-src http://http.us.debian.org/debian/ testing main contrib non-free deb http://mirrors.kernel.org/debian/ testing main deb-src http://mirrors.kernel.org/debian/ testing main
#Sid deb ftp://ftp.it.debian.org/debian/ unstable main contrib non-free deb-src http://ftp.it.debian.org/debian unstable main contrib non-free deb ftp://ftp.nerim.net/debian-marillat/ unstable main deb-src ftp://ftp.nerim.net/debian-marillat unstable main
Di seguito la sourcelist che utilizzo per la mia installazione Debian AMD64 aggioranta al 07/02/06. Una lista dei mirror per Debian AMD64 è disponibile al seguente URL: http://amd64.debian.net/README.mirrors.html
#Sid deb ftp://ftp.de.debian.org/debian-amd64/debian/ sid main contrib non-free # marrilat amd64 deb http://spello.sscnet.ucla.edu/marillat/ sid main # VLC Dev deb http://nightlies.videolan.org/build/sid-amd64/arch ./ # java 1.4.2 con plugin per amd64 deb ftp://ftp.tux.org/java/debian/ sarge non-fr