Apt-file: ricerca all'interno dei pacchetti

Debian-swirl.png Versioni Compatibili

Tutte le versioni supportate di Debian

Introduzione

Apt-file è un potente motore di ricerca in grado di indicare a quale pacchetto appartiene un determinato file; sembra una cosa da poco, ma non sempre è così, soprattutto quando si ha a che fare con le compilazioni da sorgenti o quando si ha bisogno di cercare un file appartenente a apcchetti non installati sul sistema.

Installazione

Niente di più semplice, ovviamente

# apt-get install apt-file

Configurazione

Il file di configurazione è /etc/apt/apt-file.conf e presenta due sezioni:

  1. dove collocare i file archivio e come rinominarli (all'interno del file è presente uno specchietto riassuntivo delle variabili utilizzabili);
  2. la sintassi dei comandi utilizzati per scaricare i file.

Queste direttive, salvo casi particolari, non necessitano di modifiche.

Utilizzo

Una volta installato, dobbiamo aggiornare la lista dei file e popolare la cache che apt-file utilizzerà per le sue ricerche. Per fare questo è sufficiente dare il seguente comando:

# apt-file update

così verranno scaricati i file "Packages.gz" per i vari repository presenti nel file /etc/apt/sources.list e contenenti la lista di tutti i pacchetti disponibili. Questi file, a seconda dei repository impostati, possono raggiungere dimensioni di svariati MByte
La directory che conterrà la cache di apt-file sarà:

~/.cache/apt-file/
se il comando è stato eseguito da utente normale
/var/cache/apt/apt/file/
se il comando è stato eseguito da root

Il comando non necessita di essere eseguito come root.

Vediamo, ora, le principali funzioni.

Aggiornamento della cache

# apt-file update

Aggiorna la cache di apt-file .
Questo è il comando che bisognerebbe eseguire sempre prima di ogni ricerca per fare in modo che quest'ultima possa operare su dati aggiornati. In alternativa è possibile creare un job di Cron che effettui l'aggiornamento della cache ad ogni avvio del sistema; per questo scopo è sufficiente eseguire il comando "crontab -e" da utente normale (o da root o da entrambi) e inserire le seguenti righe:

# aggiornamento al boot della cache di apt-file
@reboot apt-file -N update

Eliminazione della cache

# apt-file purge

Cancella la cache di apt-file. Anche in questo caso, come per l'update, la directory varierà a seconda dell'utente che esegue il comando.

Ricerca di un file

# apt-file search <testo>

Cerca e mostra tutti i file che hanno <testo> nel proprio nome, oltre al pacchetto in cui sono contenuti.
Esempio:

# apt-file search bin/nome-eseguibile

Questo comando troverà tutti i pacchetti che contengono file che cominciano per nome-eseguibile e che si trovano in una directory che finisce per bin (come /bin/, /sbin/, /usr/bin, /usr/sbin).

Ricerca all'interno dei contenuti di un pacchetto

# apt-file list <nomepacchetto>

Mostra il contenuto di <nomepacchetto>.
Si noti che questo comando è molto simile a "dpkg -L <nomepacchetto>" tranne che per un aspetto non di poco conto: il pacchetto non deve necessariamente essere installato. Esempio:

$ apt-file -F list apt

mostrerà il contenuto del pacchetto apt .

Invece il comando:

$ apt-file list apt

mostrerà il contenuto di tutti i pacchetti che hanno apt nel loro nome.

Opzioni

Tra le opzioni disponibili, ricordiamo quelle principali (di uso comune):

--ignore-case | -i
permette di effettuare ricerca case-insensitive;
--regexp | -x
tratta come un pattern di una espressione regolare;
--package-only
mostra solo il nome del pacchetto, e non quello dei file, utile quando si esegue una ricerca usando un nome molto comune.
--fixed-string | -F
utile per delimitare la ricerca solo al solo pattern effettivamente digitato.




Guida scritta da: MaXeR   Debianized 40%
Estesa da:
Verificata da:
S3v 17:31, 7 giu 2013 (CEST)

Verificare ed estendere la guida | Cos'è una guida Debianized