En Ubuntu, ¿por qué "sudo apt-get" a veces y "sudo aptitude" otras veces?

11

Estaba tratando de descubrir cómo instalar libgtk2.0-dev y descubrí que tenía que usar

sudo aptitude install

en lugar de

sudo apt-get install

¿Por qué estas dos formas diferentes de obtener cosas?

Lipton
fuente

Respuestas:

12

apt-gety aptitudeson ambas interfaces para dpkg. Use uno u otro pero sea consistente. Aptitude es más nuevo y se supone que es más fácil de usar. También unifica algunas de las apt-*funciones. Puede usar aptitudepara buscar e instalar mientras que con apt- * necesita apt-gety apt-cachepara la instalación y búsqueda respectivamente.

Por lo general, reemplazo todos los apt-getejemplos aptitudecuando copio y pego comandos.

Ejecute aptitudesin ninguna opción para obtener una interfaz para seleccionar paquetes. Nunca lo uso, así que no sé qué tan amigable es.

canen
fuente
3

apt-get y aptitude son interfaces para dpkg , el administrador de paquetes de Debian.

aptitude llegó más tarde que el conjunto de comandos apt y tiene algunas características de usabilidad que no están presentes en este último, pero aún no he encontrado un caso en el que tenga que usar uno sobre el otro.

La entrada de Wikipedia para aptitude afirma que comenzó como un front-end para apt- suite:

aptitude es un front-end de la Advanced Packaging Tool (APT). Muestra una lista de paquetes de software y permite al usuario elegir interactivamente paquetes para instalar o eliminar. [...] Aunque aptitude es un solo ejecutable, proporciona una funcionalidad CLI similar a la de apt-family of tools (apt-get, apt-cache, apt-listchanges, etc.). Aptitude también emula la mayoría de las opciones de línea de comandos de apt-get, lo que le permite actuar como un reemplazo directo para algunos de los usos de apt-get.


fuente
2

Los usuarios de Debian desde hace mucho tiempo me han dicho en otro lugar que aptitudetiene su propia base de datos que mantiene junto con la que aptmantiene. Esto significa que el uso de ambos intercambiables dará como resultado algunas cosas confusas que suceden a veces, particularmente aptitudecuando parece tener una copia ligeramente obsoleta del estado del paquete. He visto que esto sucede: resulta en cosas como paquetes que misteriosamente no puedes eliminar o no puedes instalar.

El programa GUI synapticno tiene este problema porque se basa completamente en la aptbase de datos.

staticsan
fuente
1

Aptitude y apt-get cumplen exactamente el mismo propósito para Ubuntu Dapper y más allá. Antes de eso, apt-get podría no eliminar automáticamente las cosas como debería.

Fuente: http://www.psychocats.net/ubuntu/aptitude

Katerberg
fuente
0

Una de las pequeñas diferencias es que si tiene paquetes marcados para 'eliminación automática' que, si bien una simple instalación de apt-get los enumerará, una instalación de aptitude continuará y los eliminará como parte de la instalación del paquete.

No es un gran problema a menos que instale paquetes con 'build-dep', comenzando en 8.10, todos los paquetes instalados de build-dep están marcados como autoinstalados (se agregarán a auto remove en apt-get y se eliminarán en aptitude).

(si planea construir y usar 'build-dep', esto evita el marcado automático si desea mantener (y / o evita una gran lista de eliminación automática en apt-get Ex. mplayer sudo apt-get build-dep mplayer -o APT :: Get :: Build-Dep-Automatic = false

Am1rr3zA
fuente