¿La aptitud todavía se considera superior a apt-get?

191

Cuando comencé a usar Ubuntu por primera vez, aptitudeestaba "en la cosa", con algunas mejoras declaradas apt-get. ¿Estoy en lo cierto al decir que apt-getahora se ha "puesto al día" aptitudey hace poca diferencia cuál se usa (aunque es preferible elegir uno u otro y seguir con él)?

Además, con el aptitudeconjunto que se eliminará de una instalación predeterminada de Ubuntu, ¿deberían volver todos apt-get, especialmente al guiar a nuevos usuarios interesados ​​en la CLI?

fluteflute
fuente
1
los niños geniales de hoy usan en aptlugar de cualquiera de ellos: itsfoss.com/apt-vs-apt-get-difference
tatsu
1
aptitude whyes útil a veces, y no hay un equivalente real .
Nathaniel M. Beaver

Respuestas:

131

Hasta donde puedo ver, en 10.04, las principales diferencias entre aptitude y apt-get son:

  1. aptitudeagrega indicadores explícitos por paquete, que indican si un paquete se instaló automáticamente para satisfacer una dependencia: puede manipular esos indicadores ( aptitude markautoo aptitude unmarkauto) para cambiar la forma en que aptitude trata el paquete.

    apt-getrealiza un seguimiento de la misma información, pero no la mostrará explícitamente. apt-markSe puede utilizar para manipular las banderas.

  2. aptitudeofrecerá eliminar los paquetes no utilizados cada vez que elimine un paquete instalado, mientras apt-getque solo lo hará si se le solicita apt-get autoremoveo especifica explícitamente --auto-remove.

  3. aptitudeactúa como un front-end de línea de comando único para la mayoría de las funcionalidades en ambos apt-gety apt-cache. Nota : A partir del 16.04, hay un aptcomando que incluye los comandos más utilizados desde apt-gety apt-cachealgunas características adicionales.

  4. A diferencia de apt-cachela "búsqueda" de aptitude' , la salida de "búsqueda" de también muestra el estado instalado / eliminado / purgado de un paquete (más los propios indicadores de estado de aptitude). Además, la salida de "instalación" marca qué paquetes se están instalando para satisfacer una dependencia y cuáles se están eliminando porque no se utilizan.

  5. aptitude tiene una interfaz de usuario interactiva (solo texto).

Personalmente lo uso solo aptitudepara la administración de paquetes de línea de comandos (y nunca uso la interfaz de usuario de texto); Encuentro su salida más legible que apt-get/ apt-cache.

Sin embargo, si aptitudeya no será estándar en Ubuntu, no hay otra opción que el uso apt-geten instrucciones y documentos instructivos.

(Personalmente, estoy bastante decepcionado de ver que desaparece en 10.10; especialmente porque las mejoras de aptitude over apt-getestán principalmente en el lado de la usabilidad. Supongo que consideraron que aquellos que están familiarizados con la línea de comandos saben cómo recuperar la aptitud, y a los que no usan la línea de comandos no les importará ...)

Riccardo Murri
fuente
10
aptitude search'es en los nombres de los paquetes, apt-cache en el nombre del paquete + descripción (solo tendremos que comenzar con todos los sudo apt-get install aptitude
procedimientos
3
2. Sin embargo, apt-get le dirá que hay paquetes no utilizados y que puede eliminarlos con apt-get autoremove.
sepp2k
2
Una de las desventajas de la aptitud es la incapacidad de considerar la fijación como lo hace apt-get
txwikinger
44
Aptitude lee correctamente /etc/apt/preferences(y su fijación), pero actualmente lo ignora /etc/apt/preferences.d/. Es un error conocido, por lo que hay esperanza de que se solucione pronto.
Riccardo Murri
3
Aptitud tiene una opción para recuperar la lista de cambios fácilmente: aptitude changelog package-name. No estoy al tanto de tal característica en apt-get.
Lekensteyn
21

Creo que es una cuestión de elección personal por ahora. Creo que escribir aptitude searchtiene más sentido para mí que eso apt-cache search, y me gusta que me diga qué paquetes he instalado allí mismo en la salida de búsqueda, en lugar de tener que ejecutarlo dpkg -l.

itsadok
fuente
2
+1 Aceptó poder ver si una aplicación está instalada mientras la búsqueda es muy útil. Aunque encuentro que la búsqueda de apt-cache es mucho más rápida que la búsqueda de aptitudes.
Mark Davidson el
Utilizo un alias bash de dos letras para la búsqueda de apt-cache, o probablemente también lo estaría usando aptitude search.
belacqua
He notado que apt-getla búsqueda es un poco más exhaustiva que aptitude. El último parece solo mirar el nombre del paquete, mientras que el primero también busca descripciones, creo. Por ejemplo, intente buscar build-essential.
Sparhawk
13

Anteriormente, apt-get no administraría las dependencias correctamente y, por lo tanto, haría que las dependencias huérfanas permanecieran en un sistema incluso después de que se desinstalara el paquete que las estaba usando; este ya no es el caso, para eliminar el uso de dependencias huérfanas

sudo apt-get autoremove

aptitude siempre hizo esto bien y rastrea mejor las dependencias, pero ahora ambos administradores de paquetes hacen el trabajo.

En ubuntu es mejor usar apt-get porque está respaldado y respaldado por la compañía, en debian usaría aptitude

kashif
fuente
2
La última declaración no es precisa. aptitudees compatible con Ubuntu y está instalado por defecto. Tampoco hay diferencia entre Ubuntu y Debian en ese sentido.
loevborg
3
Se está eliminando de la instalación predeterminada en 10.10
kashif
1
En mi experiencia, aptitudesiempre ha sido peor en el seguimiento de las dependencias instaladas. Solía ​​eliminar los que no estaban relacionados al eliminar un programa, y ​​terminó rompiendo otros programas en el proceso ...
Izkata
Lo que un equivalente de apt-get autoremovecon aptitude? Tengo núcleos antiguos que apt-get autoremoveme sugieren eliminar, pero no veo forma de eliminarlos aptitude.
Alexey
1
@Alexey Puedes usar aptitude remove '~g'. ( Fuente ) Tenga en cuenta que aptitudeofrecerá eliminar automáticamente las dependencias no utilizadas al eliminar paquetes con él.
nyuszika7h
6

Además de las otras respuestas, también vale la pena señalar que a apt-getmenudo recae en operaciones simples, y no tiene la capacidad de manejar desajustes de versiones de dependencia o paquetes rotos (aunque afirma que los paquetes rotos se pueden solucionar apt-get install -f, literalmente nunca he visto ese trabajo en toda mi vida).

Por alguna razón, todavía lo uso apt-getpor defecto, pero cuando encuentro problemas, generalmente termino resolviéndolos aptitude, lo que nunca parece encontrar apt-getlos numerosos problemas.

weberc2
fuente
También tengo una experiencia similar en la resolución de conflictos, aptitudees una alternativa mucho mejor en ese sentido.
Volkan Yazıcı
1
Para el registro, acabo de ver apt-get install -f fix mi sistema. aptitude tenía problemas, esto lo solucionó, y luego lo primero que hice fue instalar aptitude :) La elección es una buena cosa (tm)
teknopaul
3

Diría que, en mi experiencia personal, aptitude y apt-get tienen una funcionalidad muy similar.

La principal diferencia que viene a la mente que podría afectar las elecciones de los usuarios es que aptitude ofrece una interfaz ncurses y que ofrece opciones de actualización segura y actualización completa que pueden ser útiles.

Personalmente, siempre uso apt-get y recomiendo que los nuevos usuarios también usen apt-get. Con la aptitud configurada para ser eliminada de Ubuntu por defecto, como dijiste, esta parece ser la mejor recomendación. Como si quisieran usar aptitude, necesitarán saber cómo usar apt-get para instalar aptitude si lo desean :)

Mark Davidson
fuente
¿podría explicar qué es una interfaz ncurses por favor?
8128
@fluteflute: ncurses es una biblioteca utilizada para realizar la interfaz de usuario de texto. en.wikipedia.org/wiki/Ncurses
dierre
1

En un servidor, prefiero Atitude porque viene con una interfaz bastante buena para verificar registros de cambios de paquetes, actualizaciones selectivas y ese tipo de cosas. Sin embargo, apt-get es más rápido y siempre lo uso si solo quiero actualizar todo sin demasiados problemas.

Gladen
fuente