Apt-file: ricerca all'interno dei pacchetti: differenze tra le versioni

Da Guide@Debianizzati.Org.
Vai alla navigazione Vai alla ricerca
(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-get install apt-file
# apt install apt-file
</pre>
</pre>


== Configurazione ==
== Configurazione ==
Non necessita di modifiche.
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>).
 
Nel file sono presenti due sezioni:
# dove collocare i file archivio e come rinominarli (all'interno del file è presente uno specchietto riassuntivo delle variabili utilizzabili);
# la sintassi dei comandi utilizzati per scaricare i file.
Queste direttive, salvo casi particolari, non necessitano di modifiche.


== 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 scaricate le liste.
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.


'''Attenzione''': sono file piuttosto corposi, fino a 8Mb; quindi si consiglia di non usarlo con una connessione dial-up.
Vediamo, ora, le principali funzioni.


Vediamo, ora, le principali funzioni:
=== Aggiornamento della cache ===
<pre>
<pre>
# apt-file update
# apt-file update
</pre>
</pre>
Aggiorna gli archivi dei contenuti dei pacchetti.
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 purge
$ apt-file search <testo>
</pre>
</pre>
Rimuove tutti gli archivi di apt-file scaricati.
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 <testo>
$ apt-file search bin/nome-eseguibile
</pre>
</pre>
Cerca, e stampa a video l'elenco dei pacchetti che contengono <testo>.
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>
$ apt-file list <nomepacchetto>
</pre>
</pre>
Stampa a video il contenuto dei pacchetti corrispondenti a <nomepacchetto>.
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> --regexp | -x </code>: tratta come un pattern di una espressione regolare;
; <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>).
== Esempio ==
Per cercare in quale pacchetto è contenuto un eseguibile si può usare:
<pre>
# apt-file search bin/nome-eseguibile
</pre>


Questo comando troverà tutti i pacchetti che contengono file che comincino per ''nome-eseguibile'' e che siano in una directory che finisce per bin (come <code>/bin/</code>, <code>/sbin/</code>, <code>/usr/bin</code>, <code>/usr/sbin</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
}}


---- [[User:MaXeR|MaXeR]]
[[Categoria:Apt]]
[[Categoria:Apt]]

Versione attuale delle 13:19, 14 lug 2019

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"
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 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 15:19, 14 lug 2019 (CEST)

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