Domina el apt-get, dpkg y aptitude

En MakeTechEasier podemos encontrar una miniguia para conocer los parámetros mas comunes de los comando apt-get, aptitude y dpkg:

Posiblemente la característica más distintiva de las distribuciones Linux basadas en Debian (como Ubuntu, Mepis, Knoppix, etc.) es su sistema de paquetes - APT. También conocido como Advanced Package Tool, APT se introdujo por primera vez en Debian 2.1 en 1999. APT no es tanto un programa específico como una colección de paquetes separados y relacionados.

Con apt, Linux obtuvo la capacidad de instalar y administrar paquetes de software de una manera mucho más sencilla y eficiente que antes. Antes de su introducción, la mayoría de los programas tenían que instalarse compilando manualmente el código fuente o utilizando paquetes individuales sin gestión automática de dependencias (como los archivos RPM). Esto podría significar horas de "infierno de dependencia" incluso para instalar un programa bastante trivial.

En este artículo, vamos a destacar algunas de las mejores características de apt, y a compartir algunas de las características menos conocidas de apt y su primo dpkg. Lo creas o no, apt puede incluso ser utilizado para resolver Sodoku!

Índice
  1. dpkg
    1. Instalación básica del archivo local
    2. Listado del contenido de un paquete
    3. Encontrar el propietario de un archivo
    4. Listado de lo que tiene instalado
    5. Reconfigurar un paquete
  2. Apt/Apt-get
    1. Encontrar el paquete adecuado
    2. Evitar que un paquete se actualice
    3. Actualización
    4. Más información sobre un paquete

dpkg

La base del sistema de paquetes de Debian es dpkg. Realiza todas las funciones de bajo nivel de instalación de software. Puede instalar, eliminar y proporcionar información sobre la colección de software de su sistema. Aquí están algunas de mis características favoritas.

Instalación básica del archivo local

Algunos autores de software crean paquetes Debian de sus programas, pero no proporcionan un repositorio para que apt los obtenga. En este caso sólo proporcionan un archivo.deb descargable. Esto es muy similar a los paquetes RPM, o incluso a los archivos.msi de Windows. Contiene todos los archivos e información de configuración necesarios para instalar el programa. Para instalar un programa desde un archivo.deb, simplemente necesita

dpkg -i MiNuevoPrograma.deb

La -i, como puedes adivinar, le dice a dpkg que instale esta pieza de software.

Listado del contenido de un paquete

Es posible que, después de instalar un programa, no sepa cómo ejecutarlo. A veces, necesitas saber dónde encontrar los archivos de configuración para tu nuevo juego. Dpkg proporciona una manera fácil de listar todos los archivos que pertenecen a un paquete en particular.

dpkg -L MiNuevoPrograma

Tenga en cuenta que las mayusculas importan. Los parámetros -L y -l son opciones completamente diferentes.

A menudo, un paquete tiene tantos archivos que puede ser difícil examinar la lista para encontrar el(los) que está buscando. Si ese es el caso, podemos usar grep para filtrar los resultados. El siguiente comando hace lo mismo que el anterior, pero sólo muestra los resultados que tienen "bin" en la ruta, como /usr/bin.

dpkg -L MiNuevoPrograma | grep bin

Ni siquiera voy a empezar a entrar en la potencia impresionante que es grep, pero en su forma más simple se puede utilizar, como arriba, para filtrar rápida y fácilmente la salida de un programa.

Encontrar el propietario de un archivo

Ocasionalmente, usted se encuentra en una situación que es el reverso de la sección anterior. Tienes un archivo, pero no sabes a qué paquete pertenece. Una vez más, dpkg te tiene cubierto.

dpkg -S archivo.cfg

Esto le dirá que paquete creó/tiene ese archivo.

Listado de lo que tiene instalado

Digamos que está a punto de reinstalar su sistema y desea saber exactamente qué es lo que ya tiene instalado. Puedes abrir una aplicación como Synaptic y configurar un filtro para que muestre todo lo marcado como "instalado", o puedes hacerlo rápida y fácilmente desde la línea de comandos con dpkg.

dpkg -l

o

dpkg --get-selections

Eso le dará una larga lista de todo lo que tiene instalado. Los usuarios avanzados pueden utilizar estos comandos para crear un archivo de texto con todos sus paquetes listados, que se puede introducir en APT más tarde para reinstalarlo todo de una vez.

Reconfigurar un paquete

Cuando se instala un paquete.deb, pasa por varias etapas. Una de ellas es la etapa de configuración, donde los desarrolladores pueden poner en marcha una serie de acciones que se llevan a cabo una vez que todos los archivos han sido instalados en una ubicación adecuada. Esto incluye cosas como iniciar/detener servicios, o crear registros, u otras cosas por el estilo. A veces es necesario repetir estos pasos, sin pasar por todo el proceso de reinstalación. Para eso, se usa:

dpkg-reconfigure (packagename)

Esto rehará todos los pasos posteriores a la instalación necesarios para ese paquete sin forzarlo a reinstalarlo. Créeme, éste es muy útil.

Apt/Apt-get

Hay cierto debate y confusión con respecto a estas dos herramientas. A muchos usuarios de Linux les cuesta decir cuándo y por qué usar uno sobre el otro, ya que hacen casi lo mismo.

Respuesta corta: usa Aptitude.

Respuesta larga: Ambos pueden utilizarse para gestionar todas las eliminaciones de instalaciones de software, y ambos harán un buen trabajo. El equipo de Debian recomienda oficialmente el uso de Aptitude. No es que sea mucho mejor que apt-get, sino que es un poco mejor, en muchos sentidos. Puede usar cualquiera de los dos y satisfará sus necesidades de administración de paquetes, pero no mezcle y combine en el mismo sistema. Elige una y sigue con ella.

Encontrar el paquete adecuado

A menudo me encuentro en la necesidad de software para hacer una cierta cosa, pero no sé el nombre de ningún programa para hacerlo. Por ejemplo, puedo necesitar un reproductor FLAC, pero no sé de antemano qué reproductor se puede instalar....

Aptitude:

aptitude search flac

Apt-cache:

apt-cache search flac

Obtendrá una lista de paquetes disponibles que tienen "flac" en el nombre o descripción.

Evitar que un paquete se actualice

En algunas ocasiones, tengo una versión de un paquete que quiero conservar aunque haya actualizaciones. Cuando se trata de mi kernel, por ejemplo, prefiero actualizar manualmente.

Aptitude:

aptitude hold (nombre de paquete)

dpkg:

echo "(packagename) hold" | dpkg --set-selections

Actualización

Tanto Aptitude como apt-get ofrecen dos métodos para actualizar su sistema: upgrade y dist-upgrade. Esta es otra cosa que causa cierta confusión. Upgrade es una actualización, ¿verdad? Bueno, no exactamente.

Upgrade leerá su lista de paquetes, comprobará en línea si hay nuevas versiones y las instalará según sea necesario. Sin embargo, NO realizará ninguna actualización que requiera la instalación de nuevos paquetes o la eliminación de los existentes. Para esto es el dist-upgrade. Obtendrá cada versión más nueva que encuentre, incluso si implica la instalación de algo nuevo (como una dependencia) o la eliminación de un paquete existente (si está obsoleto o ya no es necesario).

Aptitude:

aptitude safe-upgrade
aptitude full-upgrade

Apt-get:

apt-get upgrade
apt-get dist-upgrade

Más información sobre un paquete

Finalmente, algunas veces sólo necesitas saber un poco sobre un paquete. ¿Qué versión es? ¿Quién lo mantiene? ¿Ya está instalado? Todas estas cosas y más que usted puede encontrar con:

Aptitude:

aptitude show (nombre del paquete)

Apt-get:

apt-cache showpkg (packagename)

También, para aquellos con la paciencia de leer hasta el final,

apt-get moo
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Subir