[ precedente ] [ Contenuti ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ 11 ] [ 12 ] [ successivo ]


APT HOWTO
Capitolo 3 - Gestione dei pacchetti


3.1 Uso del gestore di pacchetti Debian: aptitude

Per un lungo periodo Debian disponeva di un gestore dei pacchetti che era famoso per essere complicato sia da capire che da usare chiamato dselect. Il sistema Debian si sta spostando verso un nuovo gestore predefinito chiamato aptitude e basato sulla libreria APT.

Installando Sarge verrà automaticamente installato aptitude come componente del sistema di base, altrimenti si installi il pacchetto aptitude eseguendo, per esempio, questo comando prima di proseguire:

     # apt-get install aptitude

Si provi a evitare l'uso di apt-get e invece si usi aptitude, conosce molte più cose sulle capacità di APT e ha alcune funzionalità uniche come la marcatura dei pacchetti che sono installati solo per soddisfare le dipendenze in modo da chiederne automaticamente la rimozione quando non sono più necessari.

aptitude ha due modalità principali: una interfaccia utente basata su ncurses con cui si può navigare nell'elenco dei pacchetti molto simile a dselect e una interfaccia utente a riga di comando molto simile a apt-get. Molti esempi in questo documento usano l'interfaccia a riga di comando, fornendo consigli su quale comando usare per ottenere gli stessi risultati con aptitude nell'interfaccia simile a dselect.

Per attivare questa interfaccia digitare aptitude in un terminale, a questo punto non è necessario essere root, aptitude richiede automaticamente i privilegi di root quando è necessario. Le cose principali sono: per accedere alla barra dei menu in alto si deve, come suggerito nella seconda riga, premere F10. La seconda riga contiene un breve elenco delle funzionalità più comuni: come ottenere aiuto, come aggiornare l'elenco dei pacchetti e come andare avanti.

Si può consultare il Manuale Utente nel menu help per capire come funzionano le cose.

Notare che aptitude funziona in modo simile agli altri gestori di pacchetti: prima si fanno tutte le scelte e poi si fanno i cambiamenti. Quasi tutte le azioni per la gestione dell'installazione di un pacchetto richiedono la pressione del tasto g due volte per essere effettive. La prima pressione di g mostra l'elenco dei cambiamenti da effettuare, la successiva pressione di g conferma i cambiamenti oppure premere q per tornare indietro.

Allo stesso modo si può premere il tasto Invio per avere più dettagli su un pacchetto o su un gruppo di pacchetti, per esempio si può premere Invio quando è selezionato "New Package" per vedere l'elenco delle sezioni, premendo Invio su una sezione si vedono i nuovi pacchetti in quella sezione e si possono vedere i dettagli di un pacchetto premendo di nuovo Invio. Notare che visualizzando i dettagli di un pacchetto viene cambiato il contesto di visualizzazione di aptitude e quindi è necessario premere q per tornare alla precedente visualizzazione.

Normalmente i pacchetti sono catalogati in base al loro stato di installazione e in alcune categorie speciali. È possibile vedere queste categorie appena si entra in aptitude.

     --- New Packages
     --- Upgradable Packages
     --- Installed Packages
     --- Not Installed Packages
     --- Obsolete and Locally Created Packages
     --- Virtual Packages
     --- Tasks

I New Packages sono i pacchetti che sono entrati in Debian dall'ultima volta che si è cancellato l'elenco dei pacchetti nuovi con il comando Forget new packages nel menu Actions o con il tasto "f".

Upgradable Packages sono i pacchetti installati di cui è disponibile una nuova versione. Installed Packages sono i pacchetti installati, Not Installed Packages sono quelli non installati ma che sono disponibili da una delle sorgenti di APT. Obsolete e Locally Created Packages sono quelli che non sono più disponibili da nessuna delle sorgenti di APT o quelli che sono stati creati in proprio. Virtual Packages sono pacchetti che definiscono un servizio anziché un particolare software e che sono forniti da diversi altri pacchetti specifici. Infine Task sono delle raccolte di pacchetti che servono a un determinato scopo, sono usati anche dal programma tasksel.

Premendo Invio su uno qualsiasi di questi viene espanso l'albero in modo simile a questo:

     --\ Not Installed Packages
       --- admin - Administrative utilities (install software, manage users, etc)
       --- base - The Debian base system
     [...]

Andando ancora più a fondo si ha:

       --\ games - Games, toys, and fun programs
         --- contrib - Programs which depend on software not in Debian
         --\ main - The main Debian archive
     p     3dchess                                               <none>    0.8.1-10

Questo mostra un pacchetto installato e uno non installato, quest'ultimo è un gioco ed è disponibile dal repository Debian main, cioè dalla distribuzione ufficiale.

Nella parte centrale dello schermo c'è una riga evidenziata che viene riempita da informazioni quando viene selezionato un pacchetto, questa viene chiamata descrizione breve del pacchetto. Sotto c'è un'area testuale che contiene informazioni più dettagliate sul pacchetto, questa è la descrizione lunga. In qualche caso la descrizione lunga è troppo lunga per stare tutta all'interno dell'area riservata, si possono premere i tasti "z" e "a" rispettivamente per scorrere in basso o in alto il testo.

Vedere Installazione e reinstallazione dei pacchetti, Sezione 3.4 per maggiori informazioni su i dati mostrati.


3.2 Aggiornare la lista dei pacchetti disponibili

Il sistema di gestione dei pacchetti usa un proprio database per tenere traccia di quali pacchetti sono installati, di quali non lo sono e di quali sono disponibili per l'installazione. Il programma aptitude usa questo database per capire come installare i pacchetti richiesti dall'utente e per scoprire quali ulteriori pacchetti sono necessari per far funzionare correttamente i pacchetti selezionati.

Per aggiornare questo elenco, va usato il comando aptitude update. Questo comando controlla gli elenchi dei pacchetti presenti negli archivi elencati in /etc/apt/sources.list; vedere Il file /etc/apt/sources.list, Sezione 2.1 ulteriori informazioni su questo file. Si può usare il tasto "u" all'interno dell'interfaccia ncurses di aptitude per aggiornare l'elenco dei pacchetti.

È una buona idea eseguire questo comando regolarmente per avere un sistema informato su possibili aggiornamenti dei pacchetti, in particolare sugli aggiornamenti di sicurezza.


3.3 Ricerca dei pacchetti

Aptitude dispone di una funzionalità di ricerca molto flessibile e potente. Si può usarla premendo il tasto "/" (slash) che apre una piccola finestra di dialogo al centro dello schermo.

Poi inserire il nome di un pacchetto. Aptitude ricerca esattamente ciò che si è scritto. Se il pacchetto trovato non è esattamente ciò che si sta cercando si può premere Invio per far sparire la finestra di dialogo e poi premere il tasto "n" per ripetere la ricerca della stessa stringa.

Si possono usare le espressioni regolari[2] nella finestra di dialogo, comunque aptitude ha il proprio linguaggio di ricerca che in qualche caso si può sovrapporre alle espressioni regolari. Un esempio, se si vuole avere un confronto esatto con la stringa "gnome" inserire "^gnome$" nella finestra di dialogo.

Notare che ricerche come queste sono semplici ricerche fra i nomi dei pacchetti. Se si vuole cercare nelle descrizioni è necessario usare "~d" prima della parola da cercare. Quindi se si desidera trovare tutti i pacchetti che menzionano "isolinux" nelle loro descrizioni si deve scrivere "~disolinux" nella finestra di dialogo.

È anche possibile cercare tutti i pacchetti che al momento sono incompleti cercando la stringa "~b" oppure cercare tutti i pacchetti che sono stati rimossi ma i cui file di configurazione sono stati lasciati nel sistema cercando la stringa "~c".

Per ricerche ancora più avanzate con aptitude si legga il Manuale Utentre di Aptitude, che è possibile trovare nel menu Help.

È anche possibile usare la riga di comando per cercare i pacchetti in questo modo:

     $ aptitude search '~c'
     c A abiword-common                  - WYSIWYG word processor based on GTK2
     c A acme                            - Enables the "multimedia buttons" found on
     (...)

Come si può vedere è possibile usare qualsiasi stringa di ricerca anche con l'interfaccia a riga di comando, aptitude fornisce le stesse informazioni sullo stato dei pacchetti che sono già state presentate in questo manuale.


3.4 Installazione e reinstallazione dei pacchetti

Con il file sources.list pronto e l'elenco dei pacchetti disponibili aggiornato, tutto quello che è necessario fare per installare un pacchetto è eseguire aptitude.

Quando si entra in aptitude si può installare uno o più pacchetti premendo il tasto "+" quando il pacchetto in questione è selezionato. Si può usare il tasto "/" per cercare il pacchetto che interessa, vedere Ricerca dei pacchetti, Sezione 3.3. Quando si richiede l'installazione di un pacchetto questo viene marcato con il colore verde e riga assomiglierà a questa:

     pi    celestia-gnome                                        <none>    1.3.0-1

Questo sgnifica che il pacchetto non è installato ("p") e che è marcato per l'installazione. La parola <none> significa che nessuna versione è installata e il numero di versione successivo è quello della versione che è stata marcata per l'installazione.

Notare che quando si segue questa procedura sono automaticamente marcati per l'installazione altri pacchetti (le dipendenze, i suggeriti e i raccomandati del pacchetto scelto). Questi pacchetti sono marcati in questo modo:

     piA   gnome-bin                                             <none>    1.4.2-16

Il carattere maiuscolo "A" significa che questo pacchetto verrà installato perché un altro pacchetto dipende da questo. Tutti i pacchetti installati per questo motivo verranno rimossi quando non sono più necessari. Si può mettere questo marchio manualmente premendo "M" quando il cursore è posizionato sopra il pacchetto.

Si possono avere delle informazioni dettagliate sul pacchetto che si desidera installare premendo Invio quando il pacchetto è selezionato, verrà visualizzato qualcosa di simile a questo:

     i A --\ xterm                                               4.2.1-14  4.2.1-14
       Description
     xterm - X terminal emulator
     xterm is a terminal emulator for the X Window System.  It provides DEC VT102
     and Tektronix 4014 compatible terminals for programs that cannot use the
     window system directly.  This version implements ISO/ANSI colors and most of
     the control sequences used by DEC VT220 terminals.
       Priority: optional
       Section: x11
       Maintainer: Branden Robinson <branden@debian.org>
       Compressed size: 547k
       Uncompressed size: 1130k
       Source Package: xfree86
       --\ Depends
         --- libc6 (>= 2.3.2.ds1-4)
         --- libfreetype6 (>= 2.1.5-1)
         --- libncurses5 (>= 5.3.20030510-1)
         --- libxaw7 (> 4.1.0)
         --- xlibs (> 4.1.0)
         --- xlibs (> 4.2.0)
       --\ Conflicts
         --- xbase (< 3.3.2.3a-2)
         --- suidmanager (< 0.50)
       --\ Replaces
         --- xbase (< 3.3.2.3a-2)
       --- Packages which depend on xterm
       --\ Versions
     p A 4.3.0-0pre1v4
     i A 4.2.1-14

Notare che quasi sempre quando ci sono tre o più trattini si può premere Invio per espandere l'elenco e i trattini diventeranno qualcosa di simile a --\. Si possono avere moltissime informazioni sul pacchetto come da quali pacchetti dipende e con quali pacchetti va in conflitto[3], per esempio:

Notare anche che in basso sullo schermo (si può scorrere in basso con i tasti cursore) ci sono le varie versioni disponibili per il pacchetto. Nell'esempio il pacchetto xterm ha due versioni disponibili perché è fornito da più di una sorgente APT in versioni differenti.

Si può installare la versione che si vuole premendo "+". Ricordarsi che si deve chiedere a aptitude di eseguire le scelte che fatte premendo "g". Aptitude mostra un elenco con le azioni che verranno effettuate in modo che si possa controllare che quello che verrà fatto sia esattamente ciò che si desidera:

     --\ Packages being automatically installed to satisfy dependencies
     ciA calctool                                                <none>    4.3.16-2
     --\ Packages being held back
     ih  libgnomeprintui2.2-0                                    2.4.0-1   2.4.2-1
     --\ Packages to be installed
     pi  gwget2                                                  <none>    0.7-3
     --\ Packages to be removed
     ip  qvwm                                                    1:1.1.12-11:1.1.12-1

Gli elementi dovrebbero essere comprensibili. La cosa nuova è un pacchetto che viene trattenuto (held back). Si possono trovare altre informazioni in FIXME. Dopo aver controllato che le modifiche siano proprio quelle che si desidera confermare le proprie scelte premendo nuovamente il tasto "g".

Se si vuole reinstallare un pacchetto, per esempio per ripristinare dei file che sono stati cancellati accidentalmente, si può premere "L" per marcarlo per la reinstallazione. Per proseguire si percorre la stessa strada come se lo si dovesse installare.

Si può usare aptitude anche senza l'interfaccia interattiva per installare o reinstallare i pacchetti in questo modo:

     # aptitude install pacchetto1 pacchetto2 ...
     # aptitude --reinstall install pacchetto1 pacchetto2 ...

3.5 Installazione di pacchetti scaricati manualmente o creati in locale

Se si è scaricato manualmente un file .deb da internet o si è recuperato un .deb da una qualsiasi sorgente diversa da quelle che APT è in grado di usare allora non lo si può installare né con aptitude né con qualsiasi altro programma basato su APT.

È necessario usare lo strumento di gestione dei pacchetti sottostante, che è quello che effettivamente compie il duro lavoro dell'installazione dei pacchetti. Anche aptitude richiama questo strumento per fare le installazioni: dpkg.

È possibile installare un pacchetto eseguendo:

     # dpkg -i file.deb

Se si vuole usare il ramo unstable di Debian o si disidera creare dei pacchetti Debian è consigliabile imparare molte altre cose riguardo a dpkg! È uno strumento molto potente e ha delle opzioni molto utili.


3.6 Rimozione dei pacchetti

Se non si vuole più usare un pacchetto, lo si può rimuovere dal sistema usando APT. Per farlo digitare "-" quando è selezionato il pacchetto in aptitude. Questo marca il pacchetto per la rimozione colorando la riga di viola in questo modo:

     id    celestia-gnome                                    1.3.0-1        1.3.0-1

Notare che questo comporta che una volta rimosso il pacchetto la riga assomiglierà a questa:

     c    ocaml-base                                            <none>    3.07.2a-1

C'è il carattere c all'inizio della riga anziché p. Questo significa che il pacchetto ocaml-base è stato rimosso ma che i suoi file di configurazione continuano a essere sparsi nel sistema. Per rimuovere il pacchetto e i suoi file di configurazione si deve usare il tasto "_"[4], cioè lo si elimina (purge).

Notare che se si tenta di rimuovere un pacchetto che è una dipendenza di altri pacchetto allora si otterranno dei pacchetti incompleti e nella parte superiore dello schermo apparirà:

     aptitude 0.2.13      #Broken: 1   Will free 208MB of disk space

I pacchetti incompleti sono marcati con una riga simile a questa:

     iBA   openoffice.org                                        1.1.0-3   1.1.0-3

Si può tentare di risolvere da soli il problema dei pacchetti incompleti provando a rimuovere il pacchetto che crea problemi in modo da non lasciare dipendenze rotte oppure si può lasciare a aptitude il compito di risolvere il problema premendo il tasto "g". Se la soluzione trovata dal programma non soddisfa i propri desideri la si può correggere manualmente prima di confermare con "g".

Si possono cercare i pacchetti incompleti premendo "/" e usando "~b" come stringa di ricerca. Si può passare alla successiva occorrenza premendo il tasto "n". Vedere FIXME.

Ovviamente si possono rimuovere o eliminare i pacchetti anche tramite l'interfaccia a riga di comando in questo modo:

     # aptitude remove pacchetto1 pacchetto2 ...
     # aptitude purge pacchetto1 pacchetto2 ...

3.7 Aggiornamento dei pacchetti

Gli aggiornamenti dei pacchetti sono un grande successo di APT. Aptitude marca automaticamente i pacchetti che dispongono di nuove versioni da aggiornare e quindi, solitamente, tutto quello che si deve fare per aggiornare il sistema è aggiornare l'elenco dei pacchetti (vedere Aggiornare la lista dei pacchetti disponibili, Sezione 3.2), poi chiedere a aptitude di procedere premendo "g" e, dopo aver controllato i cambiamenti, confermare l'operazione premendo nuovamente "g".

Si può controllare l'elenco dei pacchetti che dispongono di nuove versioni guardando nella categoria Upgradable Packages:

     --\ Upgradable Packages
       --\ libs - Collections of software routines
         --\ main - The main Debian archive
     iu    libgnomeprintui2.2-0                                  2.4.0-1   2.4.2-1

I pacchetti marcati per l'aggiornamento hanno le loro righe di colore ciano e hanno il carattere u come indicatore dell'azione che deve essere effettuata. Se si vuole aggiornare a una nuova release vedere la prossima sezione Aggiornare a una nuova release, Sezione 3.8.


3.8 Aggiornare a una nuova release

Questa caratteristica di APT permette di aggiornare l'intero sistema in una volta sola, sia attraverso Internet che attraverso un CD (acquistato o scaricato come immagine ISO).

Per esempio, supponiamo che si stia usando la release 0 della versione stable di Debian e di disporre di un CD con la release 3. Si può usare APT per aggiornare il sistema da questo nuovo CD. Per farlo si usa apt-cdrom (vedere Aggiungere un CD-ROM al file sources.list, Sezione 2.2) per aggiungere il CD al file /etc/apt/sources.list e poi si esegue aptitude per effettuare l'installazione come descritto precedentemente.

È importante notare che APT cerca sempre la versione più recente dei pacchetti. Quindi, se nel file /etc/apt/sources.list è elencato un archivio che contiene una versione di un pacchetto più recente di quella sul CD, APT vorrà scaricare il pacchetto da quell'archivio.

Se si vuole aggiornare il sistema da Internet si deve solo impostare opportunamente il file /etc/apt/sources.list. Per aggiornare a una nuova release stabile è di solito sufficiente eseguire il normale procedimento di aggiornamento con aptitude. Se nel file /etc/apt/sources.list è specificato il nome in codice della release[5] è necessario aggiornarlo al nuovo nome o cambiarlo in "stable".

Quindi, per esempio, questa riga:

     deb http://http.us.debian.org/debian woody main

nei sistemi che si vuole tenere aggiornati con la distribuzione stable si deve cambiarla con una delle seguenti non appena Sarge sarà rilasciata come stable:

     deb http://http.us.debian.org/debian sarge main
     deb http://http.us.debian.org/debian stable main

La differenza è che la prima mantiene il sistema su sarge per tutto il tempo che si desidera, anche se viene rilasciata una nuova stable. Questo può essere utile se si vuole decidere quando fare l'aggiornamento alla nuova stable. Il secondo esempio aggiornerà automaticamente la macchina alla nuova stable quando viene rilasciata.


3.9 Bloccare i pacchetti

Come si è visto nella precedente sezione aptitude marca automaticamente i pacchetti per l'aggiornamento. Se si vuole bloccare un pacchetto alla versione attualmente installata si può chiedere di impostare un pacchetto come bloccato.

Questo si ottiene premendo il tasto "=". I pacchetti bloccati appaiono in questo modo:

     ih    alien                                                 8.41      8.41

In questo esempio il pacchetto alien viene mantenuto alla versione 8.41 anche se una nuova versione è presente su una delle sorgenti di APT, notare il carattere h sulla sinistra. Per rendere il pacchetto nuovamente aggiornabile marcarlo per l'installazione.

È possibile impostare i pacchetti come bloccati anche con l'interfaccia a riga di comando, eseguendo:

     # aptitude hold pacchetto1 pacchetto2 ...

3.10 Rimozione dei file dei pacchetti: clean e autoclean

Quando si installa un pacchetto APT recupera tutti i file necessari delle sorgenti specificate in /etc/apt/sources.list, gli immagazzina in un archivio locale (/var/cache/apt/archives/) e poi procede con l'installazione, vedere Installazione e reinstallazione dei pacchetti, Sezione 3.4.

Con il tempo il repository locale cresce e può occupare molto spazio sul disco. Fortunatamente APT fornisce gli strumenti per gestire il suo repository locale: i metodi clean e autoclean di APT.

Il metodo clean viene richiamato con il comando Clean package cache nel menu Actions. Il metodo autoclean viene richiamato con il comando Clean obsolete files anch'esso nel menu Actions.

Il metodo autoclean può essere usato da coloro che vogliono tenere una copia locale dei pacchetti che sono installati, infatti cancella solo quei file .deb che non sono più disponibili dalle sorgenti APT e che quindi sono resi obsoleti da una nuova versione.


[ precedente ] [ Contenuti ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ 11 ] [ 12 ] [ successivo ]


APT HOWTO

1.9.3 - Novembre 2004

Gustavo Noronha Silva kov@debian.org

Traduzione di Luca Monducci