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

Da Guide@Debianizzati.Org.
Vai alla navigazione Vai alla ricerca
mNessun oggetto della modifica
m (verificata)
 
(5 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 o quando si ha bisogno di cercare un file appartenente a pacchetti non installati sul sistema.
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 ===
=== Aggiornamento della cache ===
<pre>
<pre>
Riga 38: Riga 40:
@reboot apt-file -N update
@reboot apt-file -N update
</pre>
</pre>
=== Eliminazione della cache ===
 
<pre>
# apt-file purge
</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.
=== Ricerca di un file ===  
=== Ricerca di un file ===  
<pre>
<pre>
# apt-file search <testo>
$ 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/>
Cerca e mostra tutti i file che hanno <testo> nel proprio nome, oltre al pacchetto in cui sono contenuti.<br/>
Esempio:
Esempio:
<pre>
<pre>
# apt-file search bin/nome-eseguibile
$ 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>).
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>).
Riga 56: Riga 54:
=== Visualizzazione dei contenuti di un pacchetto ===
=== Visualizzazione dei contenuti di un pacchetto ===
<pre>
<pre>
# apt-file list <nomepacchetto>
$ apt-file list <nomepacchetto>
</pre>
</pre>
Mostra il contenuto di <nomepacchetto>.<br/>
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/>
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:
Esempio:
<pre>$ apt-file -F list apt</pre>
mostrerà il contenuto del pacchetto <code>apt</code> .
Invece il comando:
<pre>$ apt-file list apt</pre>
<pre>$ apt-file list apt</pre>
mostrerà il contenuto di tutti i pacchetti che hanno <code>apt</code> nel loro nome.
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 ===
=== 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>--fixed-string | -F</code>:utile per delimitare la ricerca solo al solo pattern effettivamente digitato.
; <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
{{Autori
Riga 79: 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