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

Da Guide@Debianizzati.Org.
Vai alla navigazione Vai alla ricerca
m (verificata)
 
(8 versioni intermedie di 3 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 ==
Il file di configurazione è <code>/etc/apt/apt-file.conf</code> e presenta due sezioni:
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>).
# 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 ==
Riga 23: Riga 24:
La directory che conterrà la cache di <code>apt-file</code> sarà:
La directory che conterrà la cache di <code>apt-file</code> sarà:
;~/.cache/apt-file/:se il comando è stato eseguito da utente normale
;~/.cache/apt-file/:se il comando è stato eseguito da utente normale
;/var/cache/apt/apt/file/:se il comando è stato eseguito da [[root]]
;/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.
Il comando non necessita di essere eseguito come root.


Vediamo, ora, le principali funzioni:
Vediamo, ora, le principali funzioni.
 
=== Aggiornamento della cache ===
<pre>
<pre>
# apt-file update
# apt-file update
</pre>
</pre>
Aggiorna la cache di <code>apt-file</code>
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>
Cancella la cache di <code>apt-file</code>. Anche in questo caso, come per l'update, la directory varierà a seconda dell'utente che esegue il comando.
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
{{Autori
Riga 65: Riga 73:
|Verificata_da=
|Verificata_da=
:[[Utente:S3v|S3v]] 17:31, 7 giu 2013 (CEST)
:[[Utente:S3v|S3v]] 17:31, 7 giu 2013 (CEST)
|Numero_revisori=1
:[[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

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