Apt-file: ricerca all'interno dei pacchetti: differenze tra le versioni
(revisione) |
m (verificata) |
||
(14 versioni intermedie di 5 utenti non mostrate) | |||
Riga 1: | Riga 1: | ||
{{Versioni compatibili}} | {{APT | ||
|precedente=apt-cache | |||
|successivo=apt-mark | |||
}} | |||
{{Versioni compatibili|Jessie|Stretch|Buster}} | |||
== Introduzione == | == 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. | 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 == | == Installazione == | ||
Niente di più semplice, ovviamente | Niente di più semplice, ovviamente con [[privilegi di amministrazione]]: | ||
<pre> | <pre> | ||
# apt | # apt install apt-file | ||
</pre> | </pre> | ||
== Configurazione == | == Configurazione == | ||
Il file di configurazione, facoltativo e che va creato manualmente se si intendono modificare le impostazioni di default, è <code>/etc/apt/apt-file.conf</code>. Per maggiori informazioni si rimanda alla lettura del manuale (<code>man apt-file</code>). | |||
== Utilizzo == | == Utilizzo == | ||
Una volta installato, dobbiamo aggiornare la lista dei file. | Una volta installato, dobbiamo aggiornare la lista dei file e popolare la cache che <code>apt-file</code> utilizzerà per le sue ricerche. Per fare questo è sufficiente dare il seguente comando: | ||
Per fare questo è sufficiente dare il seguente comando: | |||
<pre> | <pre> | ||
# apt-file update | # apt-file update | ||
</pre> | </pre> | ||
così verranno | così verranno scaricati i file "Packages.gz" per i vari [[repository]] presenti nel file <code>/etc/apt/sources.list</code> e contenenti la lista di tutti i pacchetti disponibili. Questi file, a seconda dei repository impostati, possono raggiungere dimensioni di svariati MByte<br/> | ||
La directory che conterrà la cache di <code>apt-file</code> 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 === | |||
<pre> | <pre> | ||
# apt-file update | # apt-file update | ||
</pre> | </pre> | ||
Aggiorna | Aggiorna la cache di <code>apt-file</code> .<br/> | ||
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: | |||
<pre> | |||
# aggiornamento al boot della cache di apt-file | |||
@reboot apt-file -N update | |||
</pre> | |||
=== Ricerca di un file === | |||
<pre> | <pre> | ||
$ apt-file search <testo> | |||
</pre> | </pre> | ||
Cerca e mostra tutti i file che hanno <testo> nel proprio nome, oltre al pacchetto in cui sono contenuti.<br/> | |||
Esempio: | |||
<pre> | <pre> | ||
$ apt-file search bin/nome-eseguibile | |||
</pre> | </pre> | ||
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 <code>/bin/</code>, <code>/sbin/</code>, <code>/usr/bin</code>, <code>/usr/sbin</code>). | |||
=== Visualizzazione dei contenuti di un pacchetto === | |||
<pre> | <pre> | ||
$ apt-file list <nomepacchetto> | |||
</pre> | </pre> | ||
Mostra il contenuto di <nomepacchetto>.<br/> | |||
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.<br/> | |||
Esempio: | |||
<pre>$ apt-file list apt</pre> | |||
mostrerà il contenuto del pacchetto '''apt'''. L'opzione <code>--fixed-string</code> (abbreviata: <code>-F</code>) è implicita con questo comando, ma si può disabilitare con <code>--substring-match</code>, 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): | Tra le opzioni disponibili, ricordiamo quelle principali (di uso comune): | ||
; <code>--ignore-case | -i </code>: permette di effettuare ricerca case-insensitive; | ; <code>--ignore-case | -i </code>: permette di effettuare ricerca case-insensitive; | ||
; <code> -- | ; <code>--fixed-string | -F</code>:utile per delimitare la ricerca solo al solo pattern effettivamente digitato; | ||
; <code>--package-only </code>: mostra solo il nome del pacchetto, e non quello dei file, utile quando si esegue una ricerca usando un nome molto comune | ; <code>--package-only | -l</code>: mostra solo il nome del pacchetto, e non quello dei file, utile quando si esegue una ricerca usando un nome molto comune; | ||
; <code> --regexp | -x </code>: tratta come un pattern di una espressione regolare (in [[perl]] per la precisione, per maggiori informazioni si veda: <code>man pcrepattern</code>). | |||
< | |||
</ | |||
{{Autori | |||
|Autore=[[User:MaXeR|MaXeR]] | |||
|Verificata_da= | |||
:[[Utente:S3v|S3v]] 17:31, 7 giu 2013 (CEST) | |||
:[[Utente:Ombra|Ombra]] 01:15, 12 gen 2016 (CET) | |||
:[[Utente:HAL 9000|HAL 9000]] 15:19, 14 lug 2019 (CEST) | |||
|Numero_revisori=3 | |||
}} | |||
[[Categoria:Apt]] | [[Categoria:Apt]] |
Versione attuale delle 13:19, 14 lug 2019
|
Versioni Compatibili Debian 8 "jessie" Debian 9 "stretch" Debian 10 "buster" |
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 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 |