Apt-file: ricerca all'interno dei pacchetti
|
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 | Debianized 80% |
Estesa da: | |
Verificata da: | |
Verificare ed estendere la guida | Cos'è una guida Debianized |