He estado pensando en cambiar a aptitude, pero escuché que la gente decía "si ya estás usando apt-get, debes esperar hasta tu próxima instalación para cambiar". ¿Por qué la gente dice esto? ¿Qué tipo de problemas (si alguno) puede causar?
He estado pensando en cambiar a aptitude, pero escuché que la gente decía "si ya estás usando apt-get, debes esperar hasta tu próxima instalación para cambiar". ¿Por qué la gente dice esto? ¿Qué tipo de problemas (si alguno) puede causar?
apt-get y aptitude son diferentes IU que forman parte del mismo sistema de administración de paquetes, APT, la herramienta de empaquetado avanzada . Por ejemplo, ambos se configuran usando /etc/apt/apt.conf
, ambos usan el mismo espacio de archivos y formatos para representar el estado del paquete, y el mismo espacio de archivos para almacenar .debs descargados.
En qué se diferencian es su sistema de reglas internas para representar posibles conflictos entre paquetes, cómo resolverlos (por ejemplo, durante apt-get dist-upgrade
vs. aptitude full-upgrade
) y cómo expresarlos cuando interactúa con el usuario. En términos generales, ambos podrían hacer lo incorrecto en situaciones difíciles, pero es mucho más probable que apt-get lo haga mal que la aptitud.
aptitude
los eliminará de inmediato, peroapt-get
solo le pedirá que los elimine ingresando el comandoapt-get autoremove
. En general, querrán eliminar los mismos elementos. Vea este enlace, sin embargo, para ver un caso complejo en el que no estuvieron de acuerdo en eso: forums.debian.net/viewtopic.php?f=10&t=49589&start=0Muchos buenos consejos ya están aquí, pero permítanme agregar una cosa que nadie ha mencionado. Si decide cambiar, es posible que desee ejecutar este comando, dependiendo de lo que haya estado haciendo
apt-get
:Ese comando restablece
aptitude
el sentido de qué paquetes son huérfanos y deben eliminarse.Aquí está la razón por la que a veces es útil: por un tiempo ahora, tanto
apt-get
yaptitude
hará un seguimiento de los paquetes que se instalaron automáticamente como una dependencia de otra cosa. Entonces, por ejemplo, si instalampd
, puede obtenerlib-so-and-so
una dependencia. Hacen esto, de modo que si luego lo eliminasmpd
, tambiénlib-so-and-so
se elimina. Peroaptitude
yapt-get
maneja esta limpieza de manera diferente.aptitude
intenta inmediatamente eliminar todas las dependencias huérfanas; peroapt-get
simplemente sugiere que corrasapt-get autoremove
para limpiar. (La lógica detrás de todo esto es que solo obtuviste la biblioteca, ya que lampd
necesitabas. Si no la conservasmpd
, ya no deberías necesitarla. Si otro paquete todavía depende de ella, entonces ambosaptitude
yapt-get
sabrá esto y no intentará eliminar la biblioteca).¿Cuál es mi punto? Bueno, si has visto constantes empujones para correr
apt-get autoremove
y cambias aaptitude
, entonces puedes sorprenderte la primera vez que intentes instalar algo.aptitude
inmediatamente intentará eliminar a todos esos huérfanos. En general, esto estará bien (son huérfanos después de todo, y no es necesario), pero hay un caso complicado. Todos los metapaquetes de escritorio implican una cadena de dependencia compleja donde cada programa individual se incorpora como una dependencia de un envoltorio de paquete virtual. Por ejemplo, si tiene instalado Gnome porque instaló elgnome
paquete, entonces todos sus programas de escritorio normales se instalaron como dependencias. Si ha desinstalado uno solo de estos programas (por ejemplo, Ekiga o Gedit), entonces a los ojos deaptitude
el resto de tu escritorio también debería eliminarse. Tenga en cuenta queaptitude
siempre pregunta antes de que elimine las cosas, pero las personas a menudo ingresan 'Y' sin leer. En mi experiencia, esta es la queja / confusión más común para las personas nuevas en Debian.Dos consejos generales:
aptitude
oapt-get
cuidadosamente, antes de decir sí a cualquier cosa.aptitude -s safe-upgrade
oaptitude -s install foo
. La-s|--simulate
bandera es tu amiga.fuente
Se dijo en la lista de correo de Debian, hace años, que cambiar de apt-get a aptitude era arriesgado. Estas son dos versiones de Debian (digamos 10 años) hace. Todos esos problemas parecen estar resueltos ahora, y ciertamente no he visto problemas en Debian o Ubuntu.
fuente
apt-get
aaptitude
. En aquel entonces, manejaban muchas funciones esenciales de manera muy diferente. Con el tiempo, se han vuelto mucho más similares yaptitude
han madurado una tonelada. Para el 90% de los casos ahora, no debería haber problemas si cambia. Vea mi publicación para un caso de borde.También diría que adelante y úselo
aptitude
.Aptitude
tiene una mejor gestión de dependencia queapt-get
. Esto ayudará a mantener baja la cantidad de paquetes huérfanos.He leído hace un tiempo que
aptitude
tiene el mejor algoritmo de actualización dist en comparaciónapt-get
. Pero eso no es una característica asesina, ya que no se usa con tanta frecuencia en la vida útil de un sistema.Además, tendrás más cosas unidas en una herramienta. En lugar de recordar cuándo llamar
apt-get
,apt-cache
odpkg
e interruptores con los que sólo tiene que utilizar la aptitud y la mayoría de las cosas consigo.En cuanto a las complicaciones al cambiar "en el medio": no recuerdo haber tenido ninguna cuando lo hice.
fuente
¿No son solo una interfaz diferente al mismo backend?
fuente
aptitude
es una interfaz más funcional ...dpkg
. perodpkg
solo instala los paquetes; son los front-end los que se encargan de la búsqueda, la resolución de la dependencia y la descarga.Desde mi experiencia, tienen una forma diferente de fijar las versiones del paquete. En mi caso, le dije a aptitud para bloquear ciertos paquetes, suponiendo que estaría a salvo de futuras actualizaciones. Estaba equivocado; el administrador de actualizaciones programadas por cron, que usa apt-get, procede a actualizarlo para mi consternación.
Drats, mientras escribía esto, busqué en Google y descubrí que el error (la aptitud # 557580 no obedece los pines en las preferencias.d / *) ya estaba solucionado.
fuente
Utilizo apt-get y aptitude sin ningún problema: tengo la misma pregunta ... ¿Por qué la gente dice esto? :RE
Continúa y no te preocupes: aptitude es solo una gui de texto para apt-get, que incluso podrías usar como una aplicación de línea de comandos, por ejemplo,
apt-get install foo
es lo mismo queaptitude install foo
.Saludos
fuente
apt-get
también ofrecen la eliminación automática de paquetes instalados solo como dependencias. La diferencia restante a ese respecto es queaptitude
elimina instantáneamente las dependencias (según corresponda), peroapt-get
solo le indica que ejecute el comandoapt-get autoremove
. Pero ambos rastrean las dependencias de la misma manera ahora. Sin embargo, todavía difieren en su manejo de dependencias complejas y casos extremos (instalaciones o eliminaciones muy complicadas), pero para la mayoría de las personas y la mayoría de las situaciones, ahora funcionan igual.