APT es un programa en C++ cuyo código está principalmente en la biblioteca compartida libapt-pkg
. Utilizar una biblioteca compartida facilita la creación de interfaces de usuario ya que se puede reutilizar fácilmente el código que contiene la biblioteca. Históricamente apt-get
fue sólo diseñado como una interfaz de pruebas para libapt-pkg
, pero su éxito tiende a esconder este hecho.
aptitude
es un programa interactivo que puede utilizar en un modo semigráfico en una consola. Puede navegar la lista de paquetes instalados y disponibles, buscar toda la información disponible y seleccionar paquetes a instalar o eliminar. El programa está diseñado específicamente para que lo utilicen administradores, por lo que sus comportamientos predeterminados son mucho más inteligentes que los de apt-get
y su interfaz es mucho más sencilla de entender.
Al iniciar, aptitude
muestra una lista de todos los paquetes ordenados por estado (instalado, no instalado o instalado pero no disponible en las réplicas — otras secciones muestran tareas, paquetes virtuales y paquetes nuevos que aparecieron recientemente en las réplicas). Hay otras vistas disponibles para facilitar la navegación temática. En todos los casos, aptitude
muestra en la pantalla una lista que combina las categorías y los paquetes. Las categorías están organizadas a través de una estructura de árbol cuyas ramas puede ser desdobladas o cerradas con las teclas Enter, [ y ]. Puede utilizar + para marcar un paquete para instalación, - para marcarlo para eliminación y _ para purgarlo (note que también puede utiliziar estas teclas para categorías, en cuyo caso la acción correspondiente será aplicada a todos los paquetes en dicha categoría). u actualiza la lista de paquetes disponibles y Shift+u prepara una actualización global al sistema. g cambia la vista a un resumen de los cambios solicitados (y presione g nuevamente hará efectivos los cambios), y q sale de la vista actual. Si está en la vista inicial, esto cerrará definitivamente aptitude
.
Para buscar un paquete puede ingresar / seguido de un patrón de búsqueda. Este patrón buscará en los nombres de los paquetes pero también puede buscar en la descripción (si está precedido por ~d
), la sección (con ~s
) o a otras características que están detalladas en la documentación. Los mismos patrones pueden utilizarse para filtrar la lista de paquetes mostrados: presione la tecla l (como en limitar) e ingrese el patrón.
Administrar la «marca automática» de los paquetes Debian (revise la
Sección 6.2.7, “Seguimiento de paquetes instalados automáticamente”) es muy sencillo con
aptitude
. Es posible navegar la lista de paquetes instalados y marcar paquetes como automáticos con
Shift+
m o eliminar la marca con la tecla
m. Los «paquetes automáticos» se muestran con una «A» en la lista de paquetes. Esta funcionalidad también ofrece una forma simple de visualizar los paquetes utilizados en un equipo, sin las bibliotecas y dependencias que no le interesan. El patrón relacionado que puede utilizar con
l (para activar el modo de filtro) es
~i!~M
. Especifica que sólo desea ver paquetes instalados (
~i
) que no están marcados como automáticos (
!~M
).
6.4.1.1. Administración de recomendaciones, sugerencias y tareas
Otra funcionalidad interesante de aptitude
es el hecho de que respeta las recomendaciones entre paquetes al mismo tiempo que provee al usuario la opción de no instalarlas caso por caso. Por ejemplo, el paquete gnome recomienda gdebi (entre otros). Cuando selecciona para instalar al primero, el último también será seleccionado (y marcado como automático si no estaba instalado en el sistema). Presionar g lo hará evidente: gdebi aparecerá en la pantalla de resumen de acciones pendientes en la lista de paquetes instalados automáticamente para satisfacer dependencias. Sin embargo, puede decidir no instalarlo quitándolo de la selección de paquetes a instalar antes de confirmar las operaciones.
Note que esta funcionalidad de seguimiento de recomendaciones no funciona con actualizaciones. Por ejemplo, si una nueva versión de gnome recomienda un paquete que no estaba recomendado en la versión anterior, éste no será marcado para instalación. Sin embargo será mostrado en la pantalla de actualización para que el administrador pueda seleccionarlo para instalar.
También se tienen en cuenta las sugerencias entre paquetes pero adaptadas a su estado específico. Por ejemplo, ya que gnome sugiere dia-gnome, este último será mostrado en la pantalla de resumen de acciones pendientes (en la sección de paquetes sugeridos por otros paquetes). De esta forma es visto por el administrador que puede decidir si tomar en cuenta la sugerencia o no. Debido a que es sólo una sugerencia y no una dependencia o recomendación, no se seleccionará automáticamente al paquete — eso requiere intervención manual del usuario (por lo que el paquete no será marcado como automático).
En el mismo espíritu, recuerde que aptitude
hace un uso inteligente del concepto de tarea. Como se muestran las tareas como categorías en las pantallas de listas de paquetes puede seleccionar para instalar o eliminar una tarea completa o navegar la lista de los paquetes incluidos en una tarea para seleccionar un subconjunto más pequeño.
6.4.1.2. Mejores algoritmos de resolución
Para concluir esta sección, resaltaremos que aptitude
tiene algoritmos más elaborados para resolver situaciones difíciles comparado con apt-get
. Cuando se requiere un conjunto de acciones y dicha combinación de acciones resultaría en un sistema incoherente, aptitude
evalúa varios escenarios posibles y los presenta de más a menos relevante. Sin embargo, estos algoritmos no están exentos de fallos. Afortunadamente siempre existe la posibilidad de seleccionar manualmente las acciones a realizar. Cuando las acciones seleccionadas lleven a contradicciones, la parte superior de la pantalla mostrará la cantidad de paquetes «rotos» (puede ir directamente a dichos paquetes presionando b). Luego podrá construir manualmente una solución a los problemas encontrados. En particular, puede acceder a las diferentes versiones disponibles seleccionando el paquete con Enter. Si la selección de una de dichas versiones soluciona el problema, no debe dudar en utilizarla. Cuando reduzca el número de paquetes rotos a cero puede volver a la pantalla de resumen de acciones pendientes para una última revisión antes de aplicar los cambios.
synapyic
es un gestor gráfico de paquetes para Debian que tiene una interfaz gráfica limpia y eficiente basada en GTK+/GNOME. Sus muchos filtros listos para utilizar proveen un acceso rápido a nuevos paquetes disponibles, paquetes instalados, paquetes para actualizar, paquetes obsoletos y más. Si navega por estas listas puede seleccionar las operaciones a realizar en los paquetes (instalar, actualizar, eliminar, purgar); no se realizan inmediatamente estas operaciones sino que se las agrega a una lista de tareas. Un botón luego valida las operaciones y las ejecuta en conjunto.