dpkg, apt y aptitude
Vamos a explicar varios usos básicos de los paquetes de intalación de la distribución Debian y sus derivados.
Instalación básica de un archivo local
Los programas en Debian se distribuyen en forma de paquetes deb. Los paquetes deb son similares a los RPM de Fedora/RedHat que contienen todo lo necesario para instalar el programa y tienes las dependencias necesarias para instalar todo lo necesario. Para instalar un programa en paquete deb escribimos:
dpkg -i programa.deb
Listar el contenido de un paquete
dpkg nos proporciona un método sencillo de comprobar el contenido de un paquete:
dpkg -L programa
Es habitual que el paquete tenga tantos archivos que nos sea difícil encontrar el que nos interesa. En ese caso podemos utilizar less para tener un mejor control del resultado.
dpkg -L programa | less
¿A qué paquete pertenece un archivo?
En ocasiones podemos encontrarnos en el caso contrario de la sección anterior. Podemos tener un archivo y querer saber a qué paquete pertenece. Una vez más dpkg acude al rescate:
dpkg -S vimrc
Listar los paquetes instalados
Supongamos que queremos reinstalar el sistema operativo y necesitamos saber los paquetes que teníamos instalados para volver a instalarlos más tarde. Una opción es utilizar el comando:
dpkg -l
Lo mismo que antes el listado puede ser muy largo y lo mejor es pasar la salida al less.
dpkg -l | less
o bien un listado más simple:
dpkg --get-selections
Un truco con este último comando es replicar los paquetes instalados en un server en otro de la siguiente forma. Primero sacamos un listado de los paquetes instalados en el servidor origen:
dpkg --get-selections > paquetes_instalados
Luego en el servidor destino hacemos lo contrario, obtener el listado de paquetes a instalar, actualizar y por último instalar lo marcado con --set-selections:
dpkg --set-selections < paquetes_instalados sudo aptitude update sudo dselect
Otra opción para replicar los paquete instalados en un servidor a otro vía CD es usar la aplicación aptoncd, que hace una imagen con las aplicaciones que tenemos instaladas en un CD para poder llevarlo a otro server y poder restaurar e instalar dichas aplicaciones.
Reconfigurar un paquete
Una de las fases a ejecutar a la hora de instalar un paquete es la de configuración, en la que se hacen cosas como iniciar o parar servicios, crear archivos de log, etc. En ocasiones podemos querer reconfigurar un paquete sin necesidad de reinstalarlo completamente. Para ello utilizaríamos:
dpkg-reconfigure paquete
Buscar paquetes
En ocasiones necesitamos un cierto software que realice una determinada tarea, pero no conocemos ninguno. Si necesitáramos un reproductor de FLAC, por ejemplo, podríamos utilizar la opción search de aptitude para buscar paquetes con el texto flac en el nombre o la descripción:
aptitude search flac
Expresiones regulares y aptitude
Para hacer búsquedas utilizamos la condición ‘~n‘ (n de name, nombre) para buscar en los nombres de los paquetes aquellos que coincidan con la expresión regular que le sigue. Por ejemplo para encontrar paquetes que contengan el texto ‘sdl‘ en su nombre escribiríamos:
aptitude search ~nsdl
Para encontrar todos aquellos paquetes cuyo nombre termine con ‘sdl‘ usaríamos
aptitude search ~nsdl$
La condición ~n es la condición de búsqueda por defecto para aptitude, por lo que no es necesario especificarla y podríamos haber sustituido los comandos anteriores por:
aptitude search sdl
y
aptitude search sdl$
Sin embargo para el caso de install, si no especificáramos la condición de búsqueda:
sudo aptitude install sdl
aptitude sólo nos informaría de que no existen paquetes con ese nombre, y listaría los paquetes que coinciden con la expresión, mientras que si especificamos la condición de búsqueda:
sudo aptitude install ~nsdl
aptitude da por sentado que sabemos lo que hacemos y procede a instalar todos los paquetes que coincidan con la expresión.
Otras condiciones de búsqueda interesantes son:
- ~b para encontrar paquetes rotos
- ~d para buscar una expresión regular en las descripciones de los paquetes
- ~i para buscar paquetes instalados.
Impedir que un paquete se actualice
Si necesitas que un paquete se mantenga en una determinada versión, por ejemplo porque se elimine una característica que te gustaba, puedes utilizar la opción hold:
aptitude hold paquete
Actualizar
Tanto aptitude como apt ofrecen dos maneras de actualizar el sistema, upgrade y dist-upgrade. upgrade actualizará todos los paquetes a sus nuevas versiones, pero no tocará nada que requiera instalar nuevos paquetes o eliminarlos; ese es el cometido de dist-upgrade.
Información sobre un paquete
Cuando necesites saber la versión de un paquete, quién lo mantiene, si está instalado en el sistema actualmente, que es lo que hace se recurre a la opción show:
aptitude show paquete
Articulos similares:
- Porticus (MacPorts GUI) (21 agosto 2008)
- Compilar un paquete Debian (9 enero 2008)
- Compilar Netatalk con soporte de encriptación (9 enero 2008)
- SUDO y /etc/sudoers (27 julio 2008)
- 8 trucos para dejar Ubuntu 9.10 a punto (3 noviembre 2009)
Revisado: 15 de febrero de 2010 | etiquetas: Documentacion, Linux, Shell, Sistemas
































