Sé que tanto apt-get
y aptitude
son interfaces de gestión de paquetes línea de comandos en Debian Linux derivan, con diferentes opciones, pero todavía estoy un poco confundido. Debajo del capó, ¿no están usando el mismo sistema APT?
¿Por qué Debian mantiene estas herramientas paralelas? (Pregunta adicional : ¿qué demonios es wajig ?)
debian
package-management
apt
aptitude
Kevin Cantu
fuente
fuente
Respuestas:
La diferencia más obvia es que
aptitude
proporciona una interfaz de menú de terminal (muy similar a Synaptic en una terminal), mientrasapt-get
que no.Teniendo en cuenta solo las interfaces de línea de comandos de cada una, son bastante similares y, en su mayor parte, realmente no importa cuál use. Las versiones recientes de ambos rastrearán qué paquetes se instalaron manualmente y cuáles se instalaron como dependencias (y, por lo tanto, elegibles para la eliminación automática). De hecho, creo que incluso más recientemente, las dos herramientas se actualizaron para compartir realmente la misma base de datos de paquetes instalados manualmente o automáticamente, por lo que los casos en los que instala algo con apt-get y luego aptitude quiere desinstalarlo son en su mayoría una cuestión de el pasado.
Hay algunas diferencias menores:
Hay otras pequeñas diferencias, pero esas son las más importantes que se me ocurren.
En resumen, aptitude pertenece más apropiadamente a la categoría con Synaptic y otras interfaces de administrador de paquetes de nivel superior. Resulta que también tiene una interfaz de línea de comandos que se parece a apt-get.
Bonus Round: ¿Qué es wajig?
¿Recuerdas cómo mencioné esas herramientas "complementarias" como apt-cache y apt-mark? Bueno, hay un montón de ellos, y si los usa mucho, es posible que no recuerde cuáles proporcionan qué comandos. wajig es una solución a ese problema. Es esencialmente un despachador, un envoltorio alrededor de todas esas herramientas. También aplica sudo cuando es necesario. Cuando dices
wajig install foo
, wajig dice "Ok,install
es proporcionado porapt-get
y requiere privilegios de administrador", y se ejecutasudo apt-get install foo
. Cuando diceswajig search foo
, wajig dice "Ok,search
es proporcionado porapt-cache
y no requiere privilegios de administrador", y se ejecutaapt-cache search foo
. Si usa wajig en lugar de apt-get, apt-mark, apt-cache y otros, entonces nunca tendrá este problema:Si desea saber qué está haciendo wajig detrás de escena, qué herramientas está utilizando para implementar un comando en particular, tiene
--simulate
y--teaching
modos.Dos comandos wajig que uso con frecuencia son
wajig listfiles foo
ywajig whichpkg /usr/bin/foo
.fuente
aptitude install linux-im
pestañas), mientras que es muy rápido para apt-get. Parece que hay algo de caché presente en la familia apt-get que carece de aptitud.aptitude
También tiene lo increíbleaptitude search
que puedes usar con patrones de búsqueda muy potentes . Usted tieneaptitude reinstall
. También puede usar la interfaz ncurses (menú de terminal) para preparar operaciones complejas de paquetes como actualización parcial, eliminar un paquete, congelar otro, actualizar este, que luego puede ejecutar en una sola operación ... Ah, y tiene un resolución de conflictos interactiva .aptitude
también tieneaptitude download package-name
que obtener el paquete .deb file!aptitude
sino que está dentroapt-get
, y eso esapt-get --compile source package-name
.apt-get build-dep package-name
existen pero creo queaptitude build-dep package-name
hacer un mejor trabajo.A menudo me he preguntado. Wikipedia destaca que la principal característica distintiva es que aptitude tiene una interfaz de modo de texto (maldiciones) a pantalla completa. El hecho de que pueda usar la mayoría de los
apt-get
argumentos de comando consigoaptitude
mismo es solo una decisión de diseño para facilitar que losapt-get
usuarios se muevanaptitude
y viceversa.Nunca lo he usado
wajig
, pero la documentación sugiere que es solo un script que sabe si le está pasando undeb
archivo (cuando se ejecutadpkg
) o unapt
nombre de paquete (cuando se ejecuta en suapt-get
lugar). ¿Podrías probarlo y ver si eso es lo que hace?Por supuesto, la verdadera diferencia es:
fuente
aptitude
tiene mas. Olvidaste poner las-v
banderas interminablesmoo
. (Puedes subir-vvvvvv
)apt-get
tiene peroaptitude
no tiene. (Pruébelo--help
en ambos)aptitude es el programa preferido para la administración de paquetes desde la consola, tanto para instalaciones de paquetes como para actualizaciones de paquetes o sistemas en Debian.
Aquí hay una descripción general de la herramienta y las características que tiene sobre apt-get: http://www.debian.org/doc/FAQ/ch-pkgtools.en.html#s-aptitude
Entonces, mi consejo es simplemente apt-get install aptitude :)
fuente
aptitude
tiene muchas características más avanzadas, como la búsqueda y el modo de pantalla completa, queapt-get
.aptitude
recuerda qué paquetes se solicitaron explícitamente y cuáles solo se instalaron debido a dependencias. Desinstalará automáticamente los paquetes que no se solicitaron explícitamente cuando ya no se necesitan.apt-get
trata los paquetes solicitados explícitamente y sus dependencias de la misma manera.Así que mejor uso
aptitude
, esto ayuda a mantener limpio su sistema.fuente
apt-get autoremove
comando para eliminar paquetes instalados solo como dependencias. No sé cuándo se agregó esta función, pero un sitio web sugiere que podría haber sucedido con Debian Lenny (junio de 2010).apt-get autoremove
no elimina los paquetes instalados solo como dependencias, elimina las dependencias huérfanas, lo cual es una sutil diferencia; no puede decir si un paquete 'leaf' se instaló con intención o como una dependencia, por lo que lo deja, donde aptitude lo conocerá y lo eliminará.aptitude
esto, pero esta es sin duda una característica asesina.apt-get
, así como las diversas herramientas complementarias, usan significativamente menos memoria que las invocaciones de línea de comandos respectivasaptitude
y son un poco más rápidas. Estaba completamente inconsciente de esto hasta que intenté actualizar la instalación de Debian en un viejo thinkpad pentium con 32MB de RAM. Se necesitaría una o dos horas de intercambio swap para ejecutarseapt-get
, que se completó con éxito;aptitude
fallaría después de pensar un período de tiempo más largo.Esta distinción es más o menos irrelevante en cualquier cosa que se parezca a un sistema de escritorio moderno.
fuente
Basándose en la respuesta de @ Gaurav, ¡los huevos de pascua en los dos administradores de paquetes son bastante divertidos !:
y así.
fuente
Ofrecen la misma funcionalidad básica: instalar y eliminar paquetes de la línea de comandos.
Aquí hay una comparación más detallada, publicada en el sitio web de Ubuntu Stack Exchange : https://askubuntu.com/questions/1743/is-aptitude-really-better-than-apt-get/1749#1749
fuente
Como se mencionó , http://pthree.org/2007/08/12/aptitude-vs-apt-get/ ,
aptitude
tiene una interfaz de línea de comandos mucho más fácil de usar.El sistema subyacente no es solo
apt
, sinodpkg
. Este sistema es tan tonto como RPM, solo puede manejar la instalación y administración de paquetes individuales. Rastrea qué archivos instalados pertenecen a qué paquete.apt
maneja las descargas de repositorios, el seguimiento de dependencias, etc. para todos los paquetes individuales, que luego instala utilizandodpkg
.aptitude
hace lo mismo, con una interfaz diferente.fuente
Tanto apt-get como aptitude dependen de la biblioteca APT, sí.
Vea mi respuesta en serverfault.com .
Debian no es una entidad monolítica, hay personas con opiniones diferentes y el responsable de aptitudes decidió que apt-get tenía algunas deficiencias y quería construir algo mejor con aptitude. Él mejoró la lógica para encontrar soluciones para escenarios de actualización complejos, agregó una GUI para la consola, etc. Y hay más que solo apt-get y aptitude, vea mi artículo apt-get, aptitude, ... elija el administrador de paquetes adecuado para usted .
fuente
No estoy seguro de si esto todavía se mantiene, pero el desarrollador de Debian, Joey Hess, siempre solía abogar por la aptitud sobre apt-get. Por supuesto, las cosas cambian a medida que el software evoluciona. Apt-get ahora maneja las dependencias mejor de lo que solía hacerlo. De http://lists.debian.org/debian-user/2004/04/msg03138.html
Fecha: martes 20 de abril de 2004 22:27:12 -0400 De: Joey Hess
Nueve razones por las que deberías usar aptitude en lugar de apt-get o dselect.
aptitud puede parecerse a apt-get
Si ejecuta 'actualización de aptitude' o 'actualización de aptitude' o 'instalación de aptitude', se ve y funciona igual que apt-get, con algunas mejoras. Entonces no hay curva de aprendizaje.
(Si eres un usuario de dselect, la curva de aprendizaje obviamente no es uno de tus problemas).
aptitude rastrea paquetes instalados automáticamente
Deje de preocuparse por recortar bibliotecas no utilizadas y paquetes de soporte de su sistema. Si usa aptitude para instalar todo, hará un seguimiento de los paquetes que se obtienen solo por dependencias y eliminará esos paquetes cuando ya no sean necesarios.
aptitud maneja sanamente recomienda
Un fallo de larga data de apt-get ha sido su falta de soporte para la relación Recommends. Lo cual es un problema porque muchos paquetes en Debian dependen de Recommends para incorporar software que el usuario promedio generalmente usa con el paquete. Esta es una causa común de problemas, a pesar de que apt-get recientemente pudo al menos mencionar los paquetes recomendados, es fácil pasar por alto sus advertencias.
Aptitude admite Recommends de forma predeterminada, y también se puede configurar para admitir Sugerencias. Incluso admite la instalación de paquetes recomendados cuando se usa en modo de línea de comandos.
use aptitude como usuario normal y evite mangueras en su sistema
Tal vez no sabía que puede ejecutar aptitude en modo gui como usuario normal. Realice los cambios que le gustaría probar. Si se mete en un verdadero desastre, puede presionar 'q' y salir, sus cambios no se guardarán. (Aptitude también le permite usar ctrl-u para deshacer cambios). Dado que se está ejecutando como un usuario normal, no puede controlar su sistema hasta que le indique su aptitud para hacer algo, momento en el que le pedirá su contraseña de root.
aptitude tiene una poderosa interfaz de usuario y capacidades de búsqueda
Entre el navegador categórico de aptitude y su gran soporte para el filtrado de estilo mutt y la búsqueda de paquetes por nombre, descripción, mantenedor, dependencias, etc., debería poder encontrar paquetes más rápido que nunca utilizando aptitude.
aptitude facilita el seguimiento de software obsoleto
Si Debian deja de distribuir un paquete, apt lo dejará en su sistema indefinidamente, sin advertencias y sin actualizaciones. Aptitude enumera dichos paquetes en su sección "Paquetes obsoletos y creados localmente", para que pueda estar informado del problema y hacer algo al respecto.
aptitude tiene una interfaz para el sistema de tareas de Debian
Aptitude le permite utilizar el sistema de tareas de Debian tal como fue diseñado para ser utilizado. Puede explorar las tareas disponibles, seleccionar una tarea para instalar y luego profundizar en ella y deseleccionar partes de la tarea que no desea. apt-get no tiene soporte para tareas, y aptitude es mejor incluso que herramientas de propósito especial como taskel.
aptitud admite múltiples fuentes
Si su sources.list está configurado para hacer múltiples versiones de un paquete disponibles, aptitude le permite profundizar para ver las versiones disponibles y elegir una versión no predeterminada para instalar. Si un paquete se rompe inestable, simplemente vuelva a la versión en prueba.
aptitud registra sus acciones
El paquete de registros de aptitud que instala, actualiza y elimina a / varlog / aptitude, que puede ser útil para averiguar por qué las cosas comenzaron a romperse después de la actualización de ayer, o cuando eliminó un paquete parcial.
- ver timido jo
=================== también hay una discusión más reciente de 2010 aquí https://superuser.com/questions/93437/aptitude-vs-apt-get-which- es-la-recomendada-aka-la-herramienta-correcta-para-usar en StackExchange.
fuente