Autor Tema: aptitude vs apt-get  (Leído 2563 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado Rock Lee

  • Administrador
  • *
  • Mensajes: 1118
    Ingreso: Enero de 2014
  • Sexo: Masculino
  • ar
  • Digitalizando tu Mundo
    • Ver Perfil
    • La nueva era del conocimiento
aptitude vs apt-get
« on: 13 Octubre de 2015, 08:41 pm »
El uso de apt-get es un buen método para instalar software en tu sistema. Tras probar alguna de las distros tipo Debian, como Ubuntu, aprendes algunos de sus usos y herramientas relacionadas:

apt-get: Instala y elimina paquetes en tu sistema, también permita actualizar las listas de paquetes o el propio software.

apt-cache: Busca paquetes en la lista de paquetes mantenida por apt en el sistema local.

dpkg- Se usa para varias tareas administrativas del sistema, como reconfigurar Xorg.

Probablemente esas sean las primeras herramientas relacionadas con apt que aprendiste a usar en una distro tipo Debian. Pero esto no es más que el principio. Necesitarás aprender y recordar otras herramientas si vas a administrar más a fondo tu sistema. Estas incluyen:

apt-listbugs: Muestra los bugs/errores conocidos de un paquete de software antes de instalarlo.
apt-listchanges: Igual que apt-listbugs, pero muestra cambios no relacionados con los errores/bugs.
apt-rdepends: Herramienta para ver los árboles de dependencias de los paquetes.
deborphan- Busca dependencias que han quedado huérfanas tras eliminar del sistema los paquetes que las necesitaban.
debfoster- Ayuda a deborphan a identificar qué dependencias no se necesitan más en tu sistema.
dselect- Interfaz curses para ver, seleccionar y buscar paquetes en tu sistema.
Pero aún hay más: apt-cdrom, apt-config, apt-extracttemplates, apt-ftparchive, apt-key, apt-mark y apt-sortpkgs.

Por si no llevas la cuenta, son 16 herramientas diferentes. No sé qué pensareis vosotros, pero a mí no me parece una forma muy correcta de hacer las cosas. Quiero decir, si decido usar OpenSSH, por ejemplo, salvo en el caso de scp, todal la functionalidad de OpenSSH es realizada por una herramienta: ssh. ¿No estaría bien tener lo mismo para el caso que nos ocupa: tener toda la functionalidad de apt en una sola herramienta llamada ‘apt’?

Más aún, apt-get tiene un gran problema (que sólo recientemente ha comenzado a solucionarse) a la hora de eliminar paquetes: apt-get trabaja muy bien identificando qué dependencias necesitan ser instaladas para que funcione un paquete determinado, pero falla miserablemente a la hora de eliminar dicho paquete. ‘apt-get remove’ elimina los paquetes indicados, pero deja sus dependencias, aunque éstas queden huérfanas (ningún paquete de tu sistema las necesita). En Psychocats.net se habla más de esto, viendo lo que ocurre al instalar y eliminar el paquete kword. ¿Cuál puede ser la solución? Aptitude.

Antes de continuar, he de decir que sí, que estoy al corriente de que ‘apt-get autoremove’ finalmente puede encargarse de las dependencias huérfanas. Es un paso en la buena dirección, por supuesto. Sin embargo, apt-get, junto a sus herramientas hermanas, es un buen método para las tareas mencionadas, si estás dispuesto a aprender 16 herramientas diferentes. Aptitude, como verás ahora, reune todas en una. Por otra parte, la opción ‘autoremove’ sólo está en las versiones más recientes de apt-get (en el caso de Ubuntu, la tienes a partir de Edgy (6.10)).

Aptitude es una herramienta mejor para instalar, eliminar, actualizar, y administrar de otras formas los paquetes en tu sistema que apt. Para empezar, desde sus comienzos, aptitude ha sido capaz de resolver el problema de las dependencias huérfanas. En 2º lugar, tiene una interfaz basada en curses que supera totalmente a la de dselect. Finalmente, y no menos importante, usa una sola herramienta con muchas funciones. Veamos:

aptitude: Al ejecutarlo sin argumentos muestra una interfaz para buscar, navegar, instalar, actualizar y realizar otras tareas de administración de paquetes.
aptitude install: Instala software en tu sistema, junto con las dependencias necesarias.
aptitude remove: Elimina paquetes junto con las dependencias que queden huérfanas.
aptitude purge: Elimina paquetes y dependencias huérfanas junto con los ficheros de configuración.
aptitude search: Busca paquetes en las listas de paquetes locales de apt.
aptitude update: Actualiza las listas de paquetes locales.
aptitude upgrade: Actualiza los paquetes disponibles.
aptitude clean: Elimina los ficheros que fué necesario descargar para instalar software en tu sistema.
aptitude dist-upgrade: Actualiza paquetes, incluso si eso significa que debe desinstalar otros.
aptitude show: Muestra detalles acerca del paquete nombrado.
aptitude autoclean: Elimina los paquetes deb obsoletos.
aptitude hold: Fuerza a que un paquete permanezca en su versión actual, y no se actualice.

¿Ves algún patrón aquí? Un sólo comando con diferentes opciones legibles (no flags). Y esto es sólo la punta del iceberg, hay muchas otras ventajas. Por ejemplo, al buscar un paquete con aptitude, los resultados aparecen ordenados alfabéticamente y justificados por columnas; también te dirá cuales están instalados en tu sistema, en lugar de darte un listado de paquetes en un formato desordenado e ilegible, como hace apt-cache.

Ya lo he mencionado, pero insisto en que al ejecutar aptitude sin ninguna opción hará que aparezca una interfaz curses para navegar por el sistema apt. Los que la hayais usado, sabreis que es de lejos superior a dselect. Aptitude facilita mucho la búsqueda paquetes, actualizarlos, eliminarlos, obtener detalles y otras tareas necesarias. Pasa 50 minutos en la consola, probando ambas aplicaciones, y verás que Aptitude está bastante mejor que dselect, la cual te hará sentir como si estuvieras perdido en un laberinto.

Aptitude es simplemente superior a apt-get en todo. Maneja mejor las dependencias. Mejor interfaz curses. Mejores opciones. UNA herramienta. Mejor formateo de la salida (stdout). La lista sigue y sigue. Veo continuamente, en foros, IRC y email, el uso de apt-get. Tenemos que educar mejor a nuestros compañeros acerca de las herramientas más apropiadas para cada tarea, y Aptitude destaca bastante. He estado usándola desde que la conocí, y continuaré haciéndolo hasta el final de mis días como usuario de Debian/Ubuntu. (Aunque también va a gusto de cada uno... es otro punto de vista)


Conclucion Final:

Aunque las órdenes apt-get y aptitude sean distintas, ambas son equivalentes a la hora de instalar paquetes o actualizar las listas de éstos, pues ambas usan los repositorios en /etc/apt/sources.list para recibir e instalar software.


Saludos Familia!
« Última Modificación: 13 Octubre de 2015, 08:43 pm por Rock Lee »