El comando «apt-file» permite buscar el paquete que contiene un fichero concreto. Por defecto no viene instalado en Debian y derivados así que lo podemos instalar directamente con apt:
# apt-get install apt-file
Una vez instalado actualizamos la base de datos de paquetes y ficheros:
# apt-file update
A partir de este momento ya podemos buscar. En el siguiente ejemplo buscamos el paquete que contiene el fichero «vmlinuz-2.6.38-8-generic»:
~$ apt-file search vmlinuz-2.6.38-8-generic linux-image-2.6.38-8-generic: /boot/vmlinuz-2.6.38-8-generic
Se puede depurar la búsqueda por repositorio, patrón, arquitectura, etc:
Configuration options:
--sources-list -s sources.list location
--cache -c Cache directory
--architecture -a Use specific architecture
--cdrom-mount -d Use specific cdrom mountpoint
--from-file -f Read patterns from file(s), one per line
(use '-' for stdin)
--from-deb -D Use file list of .deb package(s) as
patterns; implies -F
--non-interactive -N Skip schemes requiring user input
(useful in cron jobs)
--package-only -l Only display packages name
--fixed-string -F Do not expand pattern
--ignore-case -i Ignore case distinctions
--regexp -x pattern is a regular expression
--verbose -v run in verbose mode
--dummy -y run in dummy mode (no action)
--help -h Show this help.
--version -V Show version number
Action:
update Fetch Contents files from apt-sources.
search|find Search files in packages
list|show List files in packages
purge Remove cache files
También puedes usar «dpkg -S »
# dpkg -S /etc/apache2/ports.conf
apache2.2-common: /etc/apache2/ports.conf
Otro: wajig whichpkg nombre_del_fichero
Gracias Ruben y Jors!