Apt-file: ricerca all'interno dei pacchetti

Da Guide@Debianizzati.Org.
Versione del 27 giu 2017 alle 12:27 di HAL 9000 (discussione | contributi) (verificata per Stretch, rimosso purge (non sono sicuro quando sia stato tolto))
Vai alla navigazione Vai alla ricerca
APT
Arrow left.png

Gestori di pacchetti

Comandi utili

Configurazione del sistema

Altro

Arrow right.png



Debian-swirl.png Versioni Compatibili

Debian 8 "jessie"
Debian 9 "stretch"

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 pacchetti non installati sul sistema.

Installazione

Niente di più semplice, ovviamente con privilegi di amministrazione:

# apt-get install apt-file

Configurazione

Il file di configurazione, facoltativo e che va creato manualmente se si intendono modificare le impostazioni di default, è /etc/apt/apt-file.conf. Per maggiori informazioni si rimanda alla lettura del manuale (man apt-file).

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, e sarà consultabile da tutti gli utenti del sistema

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

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).

Visualizzazione 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 list apt

mostrerà il contenuto del pacchetto apt. L'opzione --fixed-string (abbreviata: -F) è implicita con questo comando, ma si può disabilitare con --substring-match, che se utilizzata mostrerà il contenuto di tutti i pacchetti che contengono la stringa apt nel loro nome.

Opzioni

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

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




Guida scritta da: MaXeR Swirl-auth80.png Debianized 80%
Estesa da:
Verificata da:
S3v 17:31, 7 giu 2013 (CEST)
Ombra 01:15, 12 gen 2016 (CET)
HAL 9000 14:27, 27 giu 2017 (CEST)

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