Guadalinex

Que no te engañen, exige el código fuente.

Archive for the ‘Paquetes’ Category

apt-file

Posted by Enrique Ramos Ortiz en junio 4, 2008

Una utilidad interesante que podemos instalar en nuestro Guadalinex es ‘apt-file’

Aunque supongo tiene muchos mas usos, personalmente la utilizo para buscar a qué paquete pertenece un ejecutable concreto y para listar los archivos que contiene un paquete determinado.

Por ejemplo, si queremos buscar a que paquete pertenece ‘lspci’ haremos:

$ apt-file search lspci
debian-installer: /usr/share/doc/debian-installer/devel/hardware/arm/netwinder/info/lspci
debian-installer: /usr/share/doc/debian-installer/devel/hardware/mipsel/cobalt/info/lspci
grub-pc: /usr/lib/grub/i386-pc/lspci.mod
manpages-ja: /usr/share/man/ja/man8/lspci.8.gz
manpages-pl: /usr/share/man/pl/man8/lspci.8.gz
manpages-tr: /usr/share/man/tr/man8/lspci.8.gz
manpages-zh: /usr/share/man/zh_CN/man8/lspci.8.gz
manpages-zh: /usr/share/man/zh_TW/man8/lspci.8.gz
pciutils: /bin/lspci
pciutils: /usr/bin/lspci
pciutils: /usr/share/man/man8/lspci.8.gz
upstreamdev: /usr/share/upstreamdev/log-modules/lspci.py

Como podemos ver, el ejecutable ‘lspci’ lo encontramos en el paquete pciutils en los diretorios /bin y /usr/bin. En caso de ser un ejecutable con permisos de root, seguramente estaría en /sbin y /usr/sbin. Notar también que existen páginas de manual (man lspci) para varios idiomas, entre los cuales no se encuentra el español (manpages-es)… y que le vamos a hacer si es que los españoles somos así.

Ahora, imaginemos que queremos listar los archivos que contiene el paquete pciutils:

$ apt-file show pciutils
pciutils: /bin/lspci
pciutils: /bin/setpci
pciutils: /usr/bin/lspci
pciutils: /usr/bin/pcimodules
pciutils: /usr/bin/setpci
pciutils: /usr/bin/update-pciids
pciutils: /usr/share/doc/pciutils/README.gz
pciutils: /usr/share/doc/pciutils/TODO.Debian
pciutils: /usr/share/doc/pciutils/changelog.Debian.gz
pciutils: /usr/share/doc/pciutils/changelog.gz
pciutils: /usr/share/doc/pciutils/copyright
pciutils: /usr/share/doc/pciutils/examples/example.c
pciutils: /usr/share/man/man8/lspci.8.gz
pciutils: /usr/share/man/man8/pcimodules.8.gz
pciutils: /usr/share/man/man8/setpci.8.gz
pciutils: /usr/share/man/man8/update-pciids.8.gz
pciutils: /usr/share/misc/pci.ids
pciutils-dev: /usr/include/pci/config.h
pciutils-dev: /usr/include/pci/header.h
pciutils-dev: /usr/include/pci/pci.h
pciutils-dev: /usr/include/pci/types.h
pciutils-dev: /usr/lib/libpci.a
pciutils-dev: /usr/share/doc/pciutils-dev

En ocasiones, los listados que me aparecen con estos paquetes pueden ser tan grandes, que se hace necesario paginar (ej: apt-file search ejecutable | less). Otra opción sería filtrar, aunque para esto deberíamos saber qué estamos buscando, que por ejemplo para el caso de ejecutables podría ser algo así como ‘apt-file show pciutils | grep bin/’.

Previo a todo esto, como es lógico, tendríamos que haber instalado el paquete y actualizada la caché.

$ sudo apt-get install apt-file
Leyendo lista de paquetes… Hecho
Creando árbol de dependencias
Leyendo la información de estado… Hecho
Se instalarán los siguientes paquetes extras:
libapt-pkg-perl libconfig-file-perl liblist-moreutils-perl menu
Se instalarán los siguientes paquetes NUEVOS:
apt-file libapt-pkg-perl libconfig-file-perl liblist-moreutils-perl menu
0 actualizados, 5 se instalarán, 0 para eliminar y 1 no actualizados.
Necesito descargar 614kB de archivos.
Se utilizarán 2712kB de espacio de disco adicional después de desempaquetar.
¿Desea continuar [S/n]?
Des:1 http://v5.guadalinex.org hardy/universe libapt-pkg-perl 0.1.21build3 [87,9kB]
Des:2 http://v5.guadalinex.org hardy/universe libconfig-file-perl 1.41-1 [11,1kB]
Des:3 http://v5.guadalinex.org hardy/universe liblist-moreutils-perl 0.21-1 [58,1kB]
Des:4 http://v5.guadalinex.org hardy/universe menu 2.1.38ubuntu2 [440kB]
Des:5 http://v5.guadalinex.org hardy/universe apt-file 2.1.0 [17,0kB]
Descargados 614kB en 1s (375kB/s)
Seleccionando el paquete libapt-pkg-perl previamente no seleccionado.
(Leyendo la base de datos …
96342 ficheros y directorios instalados actualmente.)
Desempaquetando libapt-pkg-perl (de …/libapt-pkg-perl_0.1.21build3_i386.deb) …
Seleccionando el paquete libconfig-file-perl previamente no seleccionado.
Desempaquetando libconfig-file-perl (de …/libconfig-file-perl_1.41-1_all.deb) …
Seleccionando el paquete liblist-moreutils-perl previamente no seleccionado.
Desempaquetando liblist-moreutils-perl (de …/liblist-moreutils-perl_0.21-1_i386.deb) …
Seleccionando el paquete menu previamente no seleccionado.
Desempaquetando menu (de …/menu_2.1.38ubuntu2_i386.deb) …
Seleccionando el paquete apt-file previamente no seleccionado.
Desempaquetando apt-file (de …/apt-file_2.1.0_all.deb) …
Configurando libapt-pkg-perl (0.1.21build3) …
Configurando libconfig-file-perl (1.41-1) …
Configurando liblist-moreutils-perl (0.21-1) …
Configurando menu (2.1.38ubuntu2) …

Configurando apt-file (2.1.0) …
ls: no se puede acceder a /var/cache/apt/apt-file: No existe el fichero ó directorio
You need to run ‘sudo apt-file update’ to update the cache.

$ sudo apt-file update

Can’t get http://es.archive.ubuntu.com/ubuntu/dists/hardy-updates/Contents-i386.gz
Can’t get http://es.archive.ubuntu.com/ubuntu/dists/hardy-updates/Contents-i386.gz
Can’t get http://es.archive.ubuntu.com/ubuntu/dists/hardy-updates/Contents-i386.gz
Can’t get http://v5.guadalinex.org/ubuntu/dists/hardy/Contents-i386.gz
Can’t get http://v5.guadalinex.org/guadalinex-lobo/dists/lobo/Contents-i386.gz
Can’t get http://v5.guadalinex.org/guadalinex-lobo/dists/lobo-updates/Contents-i386.gz
Can’t get http://v5.guadalinex.org/guadalinex-lobo/dists/lobo-security/Contents-i386.gz
Can’t get http://v5.guadalinex.org/guadalinex-lobo/dists/lobo-backports/Contents-i386.gz
Can’t get http://security.ubuntu.com/ubuntu/dists/hardy-security/Contents-i386.gz
Can’t get http://security.ubuntu.com/ubuntu/dists/hardy-security/Contents-i386.gz
Can’t get http://security.ubuntu.com/ubuntu/dists/hardy-security/Contents-i386.gz

Es posible que nos devuelva algunos errores indicando que no ha podido obtener ciertas fuentes,
pero aun así nos debe funcionar o por lo menos a mí me lo ha hecho.

Posted in Administración, Paquetes | 3 Comments »