¿Alguna vez te pasó que no pudiste construir un paquete debido a que faltaba una dependencia? Una situación similar puede ocurrir cuando queremos compilar un programa o ejecutar un binario. En estos casos, podemos toparnos con un error del estilo: «falta X archivo, imposible realizar la tarea solicitada«.
O peor: ¿cómo solucionar el clásico conflicto de dependencias: «el archivo X ya se encuentra instalado«? Para ello es preciso descubrir qué paquete contiene el archivo en cuestión. ¿Cómo hacerlo? ¡Ja! Pasá y enterate…
APT: Debian, Ubuntu y derivados
Aquellas distros que usan APT, pueden usar apt-file.
sudo apt-get install apt-file
Una vez instalado, se ejecuta así:
apt-file search /ruta/archivo
Donde /ruta/archivo es la ruta del archivo que buscás.
RPM: Red Hat, Fedora y derivados
Sólo hace falta ejecutar el siguiente comando:
rpm -qf /ruta/archivo
Donde /ruta/archivo es la ruta del archivo que buscás.
Pacman: Arch y derivados
En Arch, sólo hace falta utilizar el todopoderoso Pacman:
pacman -Qo /ruta/archivo
Así, por ejemplo, el comando:
pacman -Qo /usr/lib/gtk-2.0/2.10.0/engines/libmist.so
Devuelve:
/usr/lib/gtk-2.0/2.10.0/engines/libmist.so es propiedad de gtk-engines 2.20.2-1
También es posible utilizar pkgfile. Sólo hace falta instalarlo:
pacman -S pkgtools
Se ejecuta así:
pkgfile archivo
Donde archivo es el nombre del archivo que buscás.