Un pacchetto di un componente software binario, riconoscibile per
il suffisso .deb, contiene tutto ciò che serve a installare,
ed eventualmente rimuovere, il software in questione in modo efficiente,
cioè senza danneggiare il sistema, senza lasciare file inutili ad
occupare spazio su disco, senza entrare in conflitto con altri componenti
software, le cosiddette dipendenze (pararagrafo 3.2
seguente). Un interessante effetto secondario è che è molto semplice
avere una chiara visione di tutto il software installato sul sistema,
in maniera sintetica e pulita. Rispetto alla tradizione storica in
ambito Unix di fornire il codice sorgente del software, che poi doveva
essere compilato sulle singole macchine, il pacchetto costituisce
un notevole salto tecnologico verso la fruizione del software da parte
di un'utenza inesperta, in quanto esso permette, con un semplice comando,
di rendere il programma immediatamente usabile dall'utente. Per fare
un paragone, è come se si fosse passati dall'orticello di casa al
supermercato.
Il sistema che in Debian gestisce l'installazione e disinstallazione
dei pacchetti è relativamente complesso ma estremamente potente e
avanzato, consentendo:
- verifica in ogni momento di nuove versioni
- installazione automatica delle dipendenze
- installazione automatica degli aggiornamenti
- mantenimento delle configurazioni dell'utente
- aggiornamento dei programmi anche mentre sono in uso32
Lo strumento principe di gestione è APT (Advanced Package Tool)
consistente in vari programmi CLI33 apt- e il programma a menu di testo aptitude34, che può usarsi anche da riga di comando. Nella
tabella 3.1 sono elencati alcuni degli
strumenti disponibili più adeguati a giudizio dell'autore. APT si
appoggia comunque a dpkg (che funge da strumento di basso
livello) per eseguire i suoi compiti.
Table 3.1:
Strumenti di gestione dei pacchetti
Nome |
Note |
dpkg |
interfaccia a basso livello |
tasksel |
installa un gruppo di pacchetti |
apt-get |
CLI per APT |
aptitude |
CLI e interfaccia a menu per APT |
|
Da notare che per gestire i pacchetti non è necessario conoscere i
comandi shell che verranno illustrati per le interfacce a riga di
comando, perché esistono anche ottime e comode interfacce grafiche
specifiche, come ad esempio kpackage del
KDE, synaptic di GNOME, e l'ottimo dpkg-www
di Massimo Dal Zotto; tuttavia alcune delle
funzionalità più avanzate sono accessibili solo dalla riga di comando.
Il comando in assoluto più usato è quello, semplice, per installare
un pacchetto, che prende la seguente sintassi:
-
- # aptitude install <nomepacchetto>
Per esempio, la documentazione relativa ad APT è disponibile in italiano
installando il pacchetto apt-howto-it:
-
- # aptitude install apt-howto-it
Alternativamente, si può usare :
-
- # apt-get install apt-howto-it
mentre la variante:
-
- # aptitude -s install apt-howto-it
mostrerà cosa si andrà ad installare (il componente software
richiesto più le eventuali dipendenze) senza installare alcunché.
I due comandi ``aptitude'' e ``apt-get'' non sono esattamente equivalenti,
come spiegato nel paragrafo 3.2. Il programma dpkg,
invece, è quello che è apparso sulla scena per primo e per questo,
per certi versi, è limitato: a differenza di APT, interrompe l'installazione
di un pacchetto se le sue dipendenze non sono soddisfatte. D'altra
parte esso offre delle funzionalità uniche di accesso a basso livello
al contenuto dei pacchetti. Per conoscere per esempio i file che compongono
un determinato pacchetto inserire:
-
- # dpkg -L <nomepacchetto>
Esempio:
-
- # dpkg -L apt-howto-it
Un'altra eventualità che si potrebbe presentare è quella di voler
conoscere a quale pacchetto installato corrisponde un determinato
file; in questo caso serve il comando:
-
- # dpkg -S <nomefile-anche-approssimato>
Provate:
-
- # dpkg -S crontab
Notevole è poi il fatto che in ogni momento è possibile riconfigurare
un pacchetto già installato35 inserendo:
-
- # dpkg-reconfigure -p=medium <nomepacchetto>
Esempio:
-
- # dpkg-reconfigure man-db
che riconfigura l'archivio delle pagine Unix man. Vale la pena osservare
che purtroppo non esiste un sistema centralizzato per la configurazione;
per tutti quei pacchetti che fanno uso di debconf, si può installare
il seguente programma:
-
- # aptitude install configure-debian
# configure-debian
che esegue automaticamente il comando dpkg-reconfigure, presentando
i pacchetti in un elenco organizzato per sotto-sezioni.
Se si verificano dei problemi durante l'installazione di un pacchetto36 e il processo di installazione si interrompe senza essere portato
a termine, inserite:
-
- # aptitude -f install
per rimettere le cose a posto. Infine, se desiderate rimuovere un
pacchetto inutile, inserite semplicemente:
-
- # aptitude purge <nomepacchetto>
Prestate attenzione a quanto vi comunica il sistema: spesso,
a causa delle dipendenze, la cancellazione di un pacchetto ne comporta
la cancellazione di numerosi altri; il sistema però vi avverte sempre
in modo che abbiate la possibilità di annullare il comando, se la
cosa non vi piace.
APT deposita tutti i pacchetti del software installato in /var/cache/apt/archives.
Potrebbe capitare che la dimensione di questa cartella, con il passare
del tempo, divenga eccessiva; se necessario se ne può cancellare tutto
il contenuto (vengono cancellati i pacchetti e non il software
installato!) inserendo:
-
- # aptitude clean
Per concludere accenniamo al concetto di pacchetto virtuale
(virtual package), che è un nome generico per un gruppo di
pacchetti che forniscono la medesima funzionalità. Per esempio, il
pacchetto virtuale www-browser si riferisce ai pacchetti konqueror,
dillo, lynx che forniscono tutti la funzionalità di navigatore
web. Se si installa più di un pacchetto associato ad un pacchetto
virtuale, Debian consente di selezionare quello che sarà usato in
modo predefinito dal sistema. Provate:
-
- # update-alternatives -display editor
Mauro Darida
2006-07-25