Cómo encontrar a qué paquete pertenece un archivo en Linux

Un paquete de Linux es un archivo comprimido que contiene todos los archivos que pertenecen a aplicaciones específicas. En algunas situaciones, es posible que necesite encontrar el nombre del paquete que pertenece a un archivo.
En este tutorial, aprendemos cómo encontrar a qué paquete pertenece o posee un archivo en el sistema Linux.
¿Qué paquete proporciona el archivo en el sistema Ubuntu/Debian?
Para encontrar qué paquete proporciona el archivo en el sistema Ubuntu/Debian, tenemos varios métodos.
Usando dpkg
Puede usar los comandos dpkg y dpkg-query para encontrar el paquete que proporciona un archivo. Este comando busca un nombre de archivo de los paquetes instalados.
Sintaxis:
dpkg -S filename
dpkg-query -S filename
Por ejemplo, para encontrar el paquete al que pertenece el archivo /bin/ls, use el siguiente comando.
$ dpkg -S /bin/ls

Usando dpkg-query
También puede usar el comando dpkg-query para encontrar el nombre del paquete para el archivo instalado.
$ dpkg-query -S /bin/ls
$ dpkg-query -S '/bin/ls'
$ dpkg-query -S 'passwd*'
Usando el archivo apt
Puede usar apt-file para buscar archivos de paquetes DEB en su sistema, así como paquetes que no están instalados en sus sistemas Debian pero que están disponibles a través de los repositorios.
El paquete apt-file no está instalado de forma predeterminada. Para instalar apt-file en Ubuntu y otras distribuciones de Linux basadas en Debian, escriba:
$ sudo apt install apt-file
Asegúrese de actualizar el caché de su base de datos escribiendo:
$ sudo apt-file update
Ahora busquemos el paquete que proporciona el comando de ruta, use el siguiente comando.
$ apt-file search 'bin/route'

En el lado izquierdo, puede ver el nombre del paquete que pertenece al comando de ruta.
Qué paquete proporciona el archivo en el sistema basado en RHEL
Esto es compatible con distribuciones de Linux como Redhat, Fedora, AlmaLinux, Rocky Linux, CentOS Stream y Oracle Linux.
Usando el comando DNF
Puedes usar provides
opción junto con DNF para encontrar el paquete de un archivo en un sistema basado en RHEL como Fedora. Coincide con todos los suministros de archivos de cualquier paquete disponible.
Sintaxis:
dnf provides filename
dnf provides *filename
dpkg-query --search '/path/to/file'
Por ejemplo, si desea encontrar el paquete de un archivo binario, use el siguiente comando.
$ dnf provides *bin/ls

Usando el comando RPM y Yum
Puede usar el comando rpm para encontrar el paquete que proporciona un archivo en particular.
Sintaxis:
rpm -rf filename
rpm -q --whatprovides filename
Esto encontrará el nombre del paquete para el archivo del paquete instalado.
Por ejemplo, si desea encontrar el paquete rpm que proporciona el archivo /bin/ls, use el siguiente comando.
$ rpm -qf /bin/ls

También puede usar el siguiente comando rpm:
$ rpm -q --whatprovides /etc/nginx/nginx.conf

Usando el comando yum, puede hacer lo mismo de la siguiente manera:
$ yum whatprovides netstat
También puede usar un archivo de biblioteca específico para buscar el paquete al que pertenece
Buscar archivos desinstalados en Debian/Ubuntu
Puedes visitar Paquetes Debian y Buscar paquetes de Ubuntu y busque el archivo. El resultado mostrará el nombre del paquete. Luego puede usar el comando apt para instalar ese paquete.

Conclusión
En este tutorial, aprendimos cómo encontrar a qué paquete pertenece un archivo en Linux. Gracias por leer, por favor dé sus comentarios y sugerencias.