Apt-get vs aptitude

Imagen de banyut
0 puntos

Bueno ya se que por la red hay multitud de manuales y tutoriales sobre este tema, pero creo que uno más no hara daño a nadie, en la diversidad está la libertad.

extraido de banyut.

Bueno, a pesar de las múltiples ventajas que presenta atpitude respecto a apt-get, aún se sigue viendo de una forma abrumadora el uso de apt-get, la fuerza de la costumbre supongo. En esta entrada miraré de aclarar las ventajas de aptitude respecto a apt-get.

Lo primero dejar claro que tanto apt-get como aptitude usan los mismos repositorios (/etc/apt/sources.list) y los comandos básicos son muy similares (install, upgrade, etc), aunque no todos se comportan exactamente de la misma manera.

La principal ventaja de aptitude respecto a apt-get, la encontramos a la hora de desinstalar los paquetes, en principio apt-get identifica las dependencias que un programa necesita a la hora de instalarlo, pero no hace lo mismo a la hora de desinstalarlo, dejando un rastro de paquetes huérfanos de los que no se preocupa de desinstalar, (problema que creo que esta en proceso de solución).

De todas formas tampoco supone un grave problema pues mediante apt-get autoremove, podremos desinstalar todos los paquetes huerfanos que la opcion remove de apt-get ha dejado en el sistema.

Aptitude, ofrece prácticamente las mismas opciones que apt-get, es más, ofrece prácticamente todas las opciones del paquete apt compuesto por cerca de una veintena de herramientas, agrupándolas todas bajo un único comando al más puro estilo de una navaja suiza.

A la hora de buscar un paquete, apt-get tiende a devolver muchos más resultados que aptitude, esto es debido a que aptitude solo busca por el nombre del paquete (para mi es el comportamiento deseado) mientras que apt creo recordar que también lo hacia por contenido.

Esto tiene sus ventajas y sus inconvenientes, muchas veces tenemos que usar pipes para filtrar y poder entender los ilegibles resultados de apt. Sin embargo los resultados de aptitude nos vienen ordenados y justificados cosa que es muy de agradecer.

Además aptitude, no solo muestra las dependencias de los programas, también nos ofrece una lista de paquetes recomendados, los cuales puede resultar interesante de instalar.

También permite tener varias distribuciones en /etc/apt/sources.list, de manera que al actualizar el sistema podamos elegir la distribución sobre la que queramos el paquete. Esto lo haremos mediante la opción -t .

Otra cosa que es muy de agradecer es el log que aptitude crea en /var/log/aptitude, el cual viene de perlas a la hora de revisar lo instalado.

Podría seguir comparando ambos, pero lo reconozco soy un seguidor de aptitude y creo que usar apt-get es ir en contra corriente, aptitude es la evolución natural de apt.

Ejecutando aptitude sin argumentos, entraremos en la interfaz de aptitude que nos permite realizar prácticamente todas las acciones (búsqueda, instalación, actualización, administración de paquetes, etc). En la pagina de esDebian, hay un fantástico tutorial sobre aptitude en general y en el que dedican gran parte a describir la interfaz gráfica, lo teneis aquí Tutorial de Aptitude.

La sintaxis del comando es

aptitude [opciones] paquetes

Las opciones son:

-D : Muestra las dependencias de los paquetes cambiados automáticamente.
-d: Descarga los paquetes (/var/cache/apt/archives)pero no los instala ni los borra
-F : Especifica el formato en el que se mostraran los resultados.
-f: fija las posibles dependencias rotas.
-s: simula las acciones, pero no las realiza. Esta opción no necesita privilegios de root.
-t : Establece la distribución desde la que instalaremos los paquetes.

sudo aptitude -t experimental ...

-O : Especifica el orden en el que se mostraran los resultados de la busqueda.
-q: no muestra los indicadores de progreso.
-V: muestra las versiones de los paquetes que serán instalados.
-v: verbose, información extra.
-w : ancho de la pantalla que sera usado para mostrar la salida del programa.
-y: responde yes a todas las preguntas de si/no.
-Z: Muestra el espacio en disco usado o liberado de cada paquete individual al instalar, actualizar o desinstalar.
-u: actualiza la lista de paquetes al iniciar el programa.

Dónde las acciones pueden ser.

install: instala el paquete o paquetes y todas sus dependencias. Si en el nombre del paquete aparece una tilde o un signo de interrogación (~, ?), estos serán tratados como un patrón de búsqueda y instalará todos los paquetes que lo cumplan.

Si se quiere instalar una versión en concreto de un paquete pondremos el nombre del paquete seguido del signo igual y la versión deseada.

Sudo atpitude install vim=7.1-138

remove: Elimina el paquete y todas las dependencias que queden huerfanas.

reinstall: descarga y reinstala un paquete.

purge: Elimina el paquete, todas las dependencias que queden huerfanas y sus ficheros de configuración.

hold: Bloquea un paquete, cancelando cualquier actividad sobre él (instalación, actualización o borrado), en definitiva, previene futuras actualizaciones.

unhold: desbloquea un paquete.

markauto: marca los paquetes como instalados manualmente.

unmarkauto: hace la operación inversa a markauto, desmarcando los paquetes.

forbid-version: impide que se actualice el paquete a una versión determinada.

update: Descarga las listas de paquetes nuevos i/o actualizables.

safe-upgrade: realiza una actualización segura, actualiza o instala los paquetes a la versión más reciente, pero no borra ninguno, esta opción puede traer problemas en algunas instalaciónes donde es necesario desinstalar un paquete para poder instalar otro.

full-upgrade: Actualiza los paquetes a la versión más reciente, borrando o instalando lo que sea necesario, soluciona el problema de safe-upgrade.

forget-new: elimina la información interna que identifica que paquetes son nuevos.

search: busca un paquete, también podemos aplicar un patrón.

Sudo aptitude search '~' vim

show: Nos da información sobre un paquete.

clean: Elimina los archivos descargados en la instalación de paquetes.

autoclean: Elimina los archivos de descargas obsoletos.

why, why-not: Nos informa porque un paquete puede o no puede instalarse en nuestro sistema, why busca las dependencias de un paquete y why-not identifica los conflictos.

changelog: descarga y muestra el registro de cambios del paquete.

download: una muy interesante opción, descarga los deb del paquete, igual que con install podemos seleccionar una versión particular del paquete.

- - -

Hay 10 tipos de personas, los que saben binario y los que no.