Come trovare a quale pacchetto appartiene un file in Linux

Un pacchetto Linux è un archivio di file compressi che contiene tutti i file appartenenti a specifiche applicazioni. In alcune situazioni, potrebbe essere necessario trovare il nome del pacchetto che appartiene a un file.
In questo tutorial, impariamo come trova a quale pacchetto appartiene o possiede un file nel sistema Linux.
Quale pacchetto fornisce il file su Ubuntu/Debian System
Per trovare quale pacchetto fornisce il file su Ubuntu/Debian System abbiamo diversi metodi.
Utilizzando dpkg
Puoi usare i comandi dpkg e dpkg-query per trovare il pacchetto che fornisce un file. Questo comando cerca un nome file dai pacchetti installati.
Sintassi:
dpkg -S filename
dpkg-query -S filename
Ad esempio, per trovare il pacchetto a cui appartiene il file /bin/ls, utilizzare il seguente comando.
$ dpkg -S /bin/ls

Usando dpkg-query
Puoi anche utilizzare il comando dpkg-query per trovare il nome del pacchetto per il file installato.
$ dpkg-query -S /bin/ls
$ dpkg-query -S '/bin/ls'
$ dpkg-query -S 'passwd*'
Usando apt-file
Puoi usare apt-file per cercare file dai pacchetti DEB sul tuo sistema, così come pacchetti che non sono installati sui tuoi sistemi Debian ma sono disponibili attraverso i repository.
Il pacchetto apt-file non è installato per impostazione predefinita. Per installare apt-file su Ubuntu e altre distribuzioni Linux basate su Debian, digitare:
$ sudo apt install apt-file
Assicurati di aggiornare la cache del database digitando:
$ sudo apt-file update
Ora cerchiamo il pacchetto che fornisce il comando route, usa il seguente comando.
$ apt-file search 'bin/route'

Sul lato sinistro, puoi vedere il nome del pacchetto che appartiene al comando route.
Quale pacchetto fornisce il file sul sistema basato su RHEL
Questo è supportato su distribuzioni Linux come Redhat, Fedora, AlmaLinux, Rocky Linux, CentOS Stream e Oracle Linux.
Utilizzando il comando DNF
Puoi usare provides
opzione insieme a DNF per trovare il pacchetto di un file nel sistema basato su RHEL come Fedora. Corrisponde a tutte le forniture di file di qualsiasi pacchetto disponibile.
Sintassi:
dnf provides filename
dnf provides *filename
dpkg-query --search '/path/to/file'
Ad esempio, se vuoi trovare il pacchetto di un file binario, usa il seguente comando.
$ dnf provides *bin/ls

Utilizzo di RPM e Yum Command
È possibile utilizzare il comando rpm per trovare il pacchetto che fornisce un determinato file.
Sintassi:
rpm -rf filename
rpm -q --whatprovides filename
Questo troverà il nome del pacchetto per il file del pacchetto installato
Ad esempio, se desideri trovare il pacchetto rpm che fornisce il file /bin/ls, utilizza il seguente comando.
$ rpm -qf /bin/ls

Puoi anche usare il seguente comando rpm:
$ rpm -q --whatprovides /etc/nginx/nginx.conf

Usando il comando yum, puoi fare lo stesso come segue:
$ yum whatprovides netstat
Puoi anche utilizzare un file di libreria specifico per cercare il pacchetto a cui appartiene
Cerca i file disinstallati su Debian/Ubuntu
Puoi visitare pacchetti Debian e Cerca i pacchetti Ubuntu e cercare il file. Il risultato mostrerà il nome del pacchetto. È quindi possibile utilizzare il comando apt per installare quel pacchetto.

Conclusione
In questo tutorial, abbiamo imparato come trovare a quale pacchetto appartiene un file in Linux. Grazie per la lettura, si prega di dare il vostro feedback e suggerimenti.