¿Cuáles son las diferencias entre apt-get
, aptitude
y synaptic
, y cuál es la opción recomendada para la administración normal de paquetes del día a día?
Esta es una pregunta básica, pero creo que sería buena información tenerla en el sitio, y además, soy relativamente nuevo en Ubuntu para poder usar una explicación experta.
Probablemente los gestores de paquetes más populares son apt-get, aptitude, synaptic y Software Center. Hay otros (Linux Mint tiene el suyo, y hay algunos diseñados para KDE), pero estos son los que encontrará con más frecuencia.
apt-get es una herramienta simple de línea de comandos. Es útil si conoce el nombre exacto del paquete de lo que desea instalar y no desea pasar tiempo haciendo clic en una GUI para obtenerlo.
aptitude es muy similar a apt-get, y he oído que trata mejor con situaciones de dependencia locas. Cuál es realmente mejor es discutible.
sináptico es una GUI de bajo nivel. Esta es una buena opción si es un usuario bastante avanzado pero no se siente cómodo con las utilidades de línea de comandos.
Software Center es una GUI de alto nivel y fácil de usar. El software está bien categorizado de modo que, si no está exactamente seguro de qué aplicación desea, puede encontrar lo que necesita rápidamente. El Centro de software también se destaca porque es el único administrador de paquetes en esta lista que le permite comprar aplicaciones comerciales.
dpkg es un estándar de administrador de paquetes de bajo nivel menos utilizado para la mayoría de los sistemas basados en Debian. En realidad, apt-get, aptitude, synaptic y el Centro de software de Ubuntu son solo front-end para dpkg o apt, que es en sí mismo un front-end para dpkg.
En respuesta a su pregunta, "cuál es la opción recomendada para la administración normal de paquetes del día a día", diría que Software Center se recomienda para la mayoría de los usos. Pero a medida que gane más experiencia, encontrará útiles algunas de las características de los administradores de paquetes de nivel inferior.
Preguntas frecuentes sobre Debian tiene una muy buena explicación de los diferentes administradores de paquetes. (dpkg
, apt-get
, aptitude
, tasksel
, synaptic
)
Como una adición a la excelente respuesta de mac9416 , Kubuntu ofrece las mismas herramientas de línea de comandos que Ubuntu, a saber, dpkg
, apt-get
y aptitude
. También hay dos administradores de paquetes gráficos:
Adept es una GUI sencilla para apt-get
, que le permite editar las listas de origen, buscar paquetes por categoría o por nombre, ver su estado e instalar/desinstalar ellos.
KPackageKit es una GUI simple para PackageKit, que es un nuevo sistema de administración de paquetes de distribución cruzada que utiliza apt-get
detrás de escena. Le permite buscar programas por diversos criterios, instalar y desinstalar programas, realizar actualizaciones de rutina y editar las listas de origen.
Personalmente prefiero apt-get porque es un programa de línea de comandos. Y la sintaxis para instalar paquetes es muy simple:
Sudo apt-get install nombre del paquete
Utilizo apt-get a diario para instalar y eliminar paquetes.
Synaptic está basado en GUI y la aptitud está basada en texto.
Básicamente, solo difieren en su nivel bajo.
dpkg: ni siquiera un administrador de paquetes adecuado, apt lo usa
apt-get: línea de comandos, solo si conoce el nombre del paquete
aptitud: basado en texto, pero fácil de usar
sináptico: equivalente de aptitud en GUI
Centro de software: para usuarios cotidianos
Por cierto, todos estos son front-end de apt (excepto dpkg), que es el único administrador de paquetes en Ubuntu.
Una diferencia clave entre aptitude y apt-get que se ha escapado de la notificación anterior es que aptitude
, a diferencia de apt-get
, le ofrecerá diferentes opciones en caso de que haya un choque de dependencias. apt-get
simplemente fallará. aptitude
es mucho más flexible y versátil por esa razón. Como nunca he usado un administrador de paquetes GUI, no sé cómo Synaptic y otros manejan tales situaciones.
Otra herramienta que apenas ha recibido mención es tasksel
. Se utiliza para seleccionar tareas específicas, marcarlas para la instalación y luego instalarlas (posiblemente usando aptitude
, no estoy seguro).
Ejecute tasksel --list-tasks
para ver qué tareas están disponibles.