Hoy os traigo una joya en bruto para el sistema de paquetes APT. Se trata de apt-file, un buscador de archivos para el sistema de paquetes Debian. Sí, habéis entendido bien, apt-file busca dentro de los paquetes Debian para encontrar en qué paquete (o paquetes) está dicho archivo. Una auténtica maravilla para cuando nos tenemos que pelear con dependencias a la hora de compilar software de terceros.
Lógicamente, podéis encontrarlo en repositorios:
$ aptitude install apt-file
Una vez instalado, actualizamos la cache de los paquetes (root):
# apt-file update
(O simplemente el clásico apt-get update).
Para buscar en qué paquete se encuentra un determinado archivo:
$ apt-file search (archivo)
O:
$ apt-file find (archivo)
Tened en cuenta que la búsqueda no se realiza sobre directorios, sino sobre archivos, por lo que es importante que la cadena de texto que utilicéis contenga parte del nombre de archivo que queréis encontrar.
Apt-file también permite listar los contenidos de un paquete concreto:
$ apt-file list (paquete)
Con la ventaja sobre dpkg -L de que no requiere que el paquete este instalado para listar su contenido.
Y entre sus muchas opciones, un par de ellas especialmente interesantes:
$ apt-file -a (arquitectura) search (archivo)
Permite buscar archivos en paquetes pertenecientes a arquitecturas distintas a la de nuestro sistema.
$ apt-file -x search (archivo)
Permite utilizar expresions regulares de Perl para la búsqueda. Esta opción a veces puede ser un poco lenta, por lo que los autores recomiendan utilizar una tubería para parsear el output de apt-file a posteriori:
$ apt-file search (archivo) | perl -ne '/expresion_regular/'
Como siempre, recomiendo echar un vistazo al manual para explorar todas las opciones de uso disponible.
Happy hacking! 😉
4 ideas sobre “Buceando en los paquetes Debian con apt-file”
Muchas gracias!
¡De nada! 😉
Buen artículo y muy completo. El último truco de la expresión regular con perl me ha dejado loco jeje
Desconocía totalmente la existencia apt-file y la de veces que me hubiera gustado poder utilizarlo. Gracias por la info, muy buena.
Mola sí, a mi me ha sacado de un apuro más de una vez. Me alegro de que te sea útil 😉