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

APT HOWTO
Capitolo 5 - Ottenere informazioni sui pacchetti


Ci sono vari front-end per APT che rendono più semplice avere la lista dei pacchetti disponibili per l'installazione o di quelli già installati, così come scoprire a quale sezione appartiene un pacchetto, qual è la sua priorità, qual è la sua descrizione, ecc.

Ma... il nostro scopo è usare APT. Come si può conoscere il nome di un pacchetto che si vuole installare?

Sono disponibili alcuni programmi ognuno con il suo specifico compito. Inizieremo con apt-cache. Questo programma è usato da APT per gestire il suo database. Faremo un breve riassunto sulle sue applicazioni più comuni.


5.1 Avere informazioni sui nomi dei pacchetti

Per esempio, supponiamo che si voglia ricordare i bei vecchi tempi dell'Atari 2600. Si vuole usare APT per installare un emulatore dell'Atari e per scaricare qualche gioco. Si può fare così:

     # apt-cache search atari
     atari-fdisk-cross - Partition editor for Atari (running on non-Atari)
     circuslinux - The clowns are trying to pop balloons to score points!
     madbomber - A Kaboom! clone
     tcs - Character set translator.
     atari800 - Atari emulator for svgalib/X/curses
     stella - Atari 2600 Emulator for X windows
     xmess-x - X binaries for Multi-Emulator Super System

Abbiamo trovato svariati pacchetti che riguardano quello che stavamo cercando, e tutti hanno una breve descrizione. Per avere più informazioni su un pacchetto, si può usare:

     # apt-cache show stella
     Package: stella
     Priority: extra
     Section: non-free/otherosfs
     Installed-Size: 830
     Maintainer: Tom Lear <tom@trap.mtview.ca.us>
     Architecture: i386
     Version: 1.1-2
     Depends: libc6 (>= 2.1), libstdc++2.10, xlib6g (>= 3.3.5-1)
     Filename: dists/potato/non-free/binary-i386/otherosfs/stella_1.1-2.deb
     Size: 483430
     MD5sum: 11b3e86a41a60fa1c4b334dd96c1d4b5
     Description: Atari 2600 Emulator for X windows
      Stella is a portable emulator of the old Atari 2600 video-game console
      written in C++.  You can play most Atari 2600 games with it.  The latest
      news, code and binaries for Stella can be found at:
      http://www4.ncsu.edu/~bwmott/2600

Questo è l'output con molti più dettagli sul pacchetto che si desidera (o non si desidera) installare. Se il pacchetto è già installato sul sistema e ne esiste una nuova versione saranno mostrate le informazioni su entrambe le versioni. Per esempio:

     # apt-cache show lilo
     Package: lilo
     Priority: important
     Section: base
     Installed-Size: 271
     Maintainer: Russell Coker <russell@coker.com.au>
     Architecture: i386
     Version: 1:21.7-3
     Depends: libc6 (>= 2.2.1-2), debconf (>=0.2.26), logrotate
     Suggests: lilo-doc
     Conflicts: manpages (<<1.29-3)
     Filename: pool/main/l/lilo/lilo_21.7-3_i386.deb
     Size: 143052
     MD5sum: 63fe29b5317fe34ed8ec3ae955f8270e
     Description: LInux LOader - The Classic OS loader can load Linux and others
      This Package contains lilo (the installer) and boot-record-images to
      install Linux, OS/2, DOS and generic Boot Sectors of other OSes.
      .
      You can use Lilo to manage your Master Boot Record (with a simple text screen)
      or call Lilo from other Boot-Loaders to jump-start the Linux kernel.
     
     Package: lilo
     Status: install ok installed
     Priority: important
     Section: base
     Installed-Size: 190
     Maintainer: Vincent Renardias <vincent@debian.org>
     Version: 1:21.4.3-2
     Depends: libc6 (>= 2.1.2)
     Recommends: mbr
     Suggests: lilo-doc
     Description: LInux LOader - The Classic OS loader can load Linux and others
      This Package contains lilo (the installer) and boot-record-images to
      install Linux, OS/2, DOS and generic Boot Sectors of other OSes.
      .
      You can use Lilo to manage your Master Boot Record (with a simple text screen)
      or call Lilo from other Boot-Loaders to jump-start the Linux kernel.

Notare che il primo pacchetto nella lista dell'esempio precedente è la versione disponibile per l'installazione e il secondo è quello già installato. Per avere delle informazioni generali su un pacchetto si può usare:

     # apt-cache showpkg penguin-command
     Package: penguin-command
     Versions: 
     1.4.5-1(/var/lib/apt/lists/download.sourceforge.net_debian_dists_unstable_main_binary-i386_Packages)(/var/lib/dpkg/status)
     
     Reverse Depends: 
     Dependencies: 
     1.4.5-1 - libc6 (2 2.2.1-2) libpng2 (0 (null)) libsdl-mixer1.1 (2 1.1.0) libsdl1.1 (0 (null)) zlib1g (2 1:1.1.3) 
     Provides: 
     1.4.5-1 - 
     Reverse Provides:

E per sapere solo quali sono le dipendenze:

     # apt-cache depends penguin-command
     penguin-command
       Depends: libc6
       Depends: libpng2
       Depends: libsdl-mixer1.1
       Depends: libsdl1.1
       Depends: zlib1g

Ricapitolando, abbiamo un'ampia gamma di strumenti che possiamo usare per trovare il nome dei pacchetti che vogliamo.


5.2 Usare dpkg per avere informazioni sui pacchetti

Un modo per localizzare un pacchetto è conoscere il nome di un file che può essere trovato al suo interno. Per esempio, per trovare il pacchetto che fornisce un particolare ".h" che serve per compilare un programma si può eseguire:

     # dpkg -S stdio.h
     libc6-dev: /usr/include/stdio.h
     libc6-dev: /usr/include/bits/stdio.h
     perl: /usr/lib/perl/5.6.0/CORE/nostdio.h

oppure:

     # dpkg -S /usr/include/stdio.h
     libc6-dev: /usr/include/stdio.h

Per avere i nomi dei pacchetti installati nel sistema, che è utile in previsione di "pulizie" dei dischi, si può lanciare:

     # dpkg -l | grep mozilla
     ii  mozilla-browse 0.9.6-7        Mozilla Web Browser

Il problema di questo commando è che può "rompere" il nome del pacchetto. Nell'esempio sopra, il nome intero del pacchetto è mozilla-browser. Per sistemare questo inconveniente, si può usare la variabile d'ambiente COLUMNS in questo modo:

     $ COLUMNS=132 dpkg -l | grep mozilla
     ii  mozilla-browser             0.9.6-7                     Mozilla Web Browser - core and browser

Un altro modo per trovare i pacchetti è fare una ricerca sulla descrizione o su parte di essa:

     # apt-cache search "Mozilla Web Browser"
     mozilla-browser - Mozilla Web Browser

5.3 Come installare pacchetti "on demand"

Si sta compilando un programma e, ad un certo punto, boom! C'è un errore perché è necessario un file .h che non è installato. Il programma auto-apt può essere utile in questa situazione. Questo programma ferma l'esecuzione del processo principale, chiede di installare i pacchetti necessari e, una volta installati, prosegue nell'esecuzione del processo principale.

Quello che si deve fare è lanciare:

     # auto-apt run command

Dove "command" è il comando che deve essere eseguito a cui potrebbero mancare alcuni file. Per esempio:

     # auto-apt run ./configure

Questo chiederà di installare i pacchetti necessari e, se li vogliamo installare, chiama automaticamente apt-get. Gli utenti che usano X possono usare anche un'interfaccia grafica anziché la normale interfaccia testuale.

Per funzionare correttamente auto-apt usa un database che deve essere tenuto aggiornato. Questo può essere fatto usando i commandi auto-apt update, auto-apt updatedb e auto-apt update-local.


5.4 Come scoprire a quale pacchetto appartiene un file

Se si vuole installare un pacchetto, di cui non si riesce a scoprire il nome usando apt-cache, ma si conosce il nome del programma, o di qualche altro file che è contenuto nel pacchetto, si può usare apt-file per trovare il nome del pacchetto, in questo modo:

     $ apt-file search file

Funziona come dpkg -S, con la differenza che la ricerca è effettuata anche nei pacchetti non installati. Può anche essere usato per scoprire quali pacchetti contengono i file mancanti quando si compilano dei programmi, benché auto-apt sia un metodo molto migliore per risolvere questo genere di problemi, vedere Come installare pacchetti "on demand", Sezione 5.3.

È anche possibile vedere contenuto di un pacchetto eseguendo:

     $ apt-file list packagename

apt-file tiene un database del contenuto di tutti i pacchetti, come fa auto-apt, e questo dev'essere tenuto aggiornato. Lo si fa eseguendo:

     # apt-file update

apt-file usa lo stesso database di auto-apt, controllare Come installare pacchetti "on demand", Sezione 5.3.


5.5 Come rimanere informato sui cambiamenti nei pacchetti

Ogni pacchetto installa, nella sua directory dedicata alla documentazione (/usr/share/doc/packagename), un file chiamato changelog.Debian.gz che contiene l'elenco dei cambiamenti fatti al pacchetto fino all'ultima versione. È possibile leggere questo file usando zless, per esempio, ma non è semplice, dopo un aggiornamento completo del sistema, iniziare a cercare i changelog di ogni pacchetto che è stato aggiornato.

C'è un modo per automatizzare questo lavoro tramite l'uso di apt-listchanges. Per prima cosa si deve installare il pacchetto apt-listchanges. Durante l'installazione, debconf chiederà come lo si vuole configurare. Si consiglia di ricordare i seguenti suggerimenti mentre si risponde.

L'opzione "Should apt-listchanges be automatically run by apt?" è molto utile ed il suo effetto è che per tutti i pacchetti che verranno installati APT chiederà se mostrarti i changelog automaticamente. L'opzione "Should apt-listchanges prompt for confirmation after displaying changes?" è utile perché permette di fermare l'installazione dopo che il changelog è stato mostrato permettendo così di leggere cosa è apparso ed inoltre verrà chiesto se continuare l'installazione. Se rispondiamo che non si vuole più installare il pacchetto apt-listchanges ritornerà un errore e apt interromperà l'installazione.

Dopo aver installato apt-listchanges, appena i pacchetti sono disponibili per l'installazione (scaricati, presi da un CD, ecc.) apt mostrerà i changelog di questi pacchetti prima di installarli.


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

APT HOWTO

1.8.5 - Luglio 2003

Gustavo Noronha Silva kov@debian.org