¿Cuál es la diferencia entre los administradores de paquetes?

129

¿Cuáles son las diferencias entre apt-get, aptitudey synaptic, y cuál es la opción recomendada para la gestió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.

David Z
fuente
1
También he visto personas recomendando taskel. ¿Quizás alguien podría explicar para qué es bueno también?
silvo
2
taskseles para seleccionar tareas específicas, no para instalar J. Random Package.
lfaraone
Un [comparación excelente] [1] de apt-gety aptitude, con una mención especial de mi front-end favorito, wajig. [1]: unix.stackexchange.com/questions/767/…
tshepang
Para una comparación más detallada apt-gety aptitudever otra pregunta en este sitio: ¿es realmente mejor la aptitud que apt-get?
8128

Respuestas:

111

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.

synaptic 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 muy 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.

Michael Crenshaw
fuente
Tengo que preguntarme cuál es el punto de Synaptic en este punto. ¿Las personas que quieren bibliotecas usan la línea de comando y las personas que quieren programas usan el Centro de software?
mlissner
Para ser honesto, rara vez uso Synaptic más, y por el momento no puedo pensar en ninguna razón en particular por la que usaría Synaptic sobre una de las otras herramientas (aunque lo hago de vez en cuando). Buena pregunta.
Michael Crenshaw
10
aptitude vs apt-get no es discutible, aptitude es una mejora sobre apt-get y es perfectamente compatible con él.
Mircea Chirea
1
No tengo el conocimiento para debatirlo, pero he visto a otros debatirlo. Entonces, que yo sepa, es discutible. En cuanto a la compatibilidad, he oído que es mejor no usar ambos. Pero de nuevo, no lo sé. Lo dejaré para otra pregunta. :-)
Michael Crenshaw
3
aptitude permite funciones avanzadas de gestión de paquetes, como la retención de paquetes que falta en apt-get
scottl
18

Las preguntas frecuentes de Debian tienen una explicación bastante buena de los diferentes gestores de paquetes. ( dpkg` apt-get` aptitude` tasksel` synaptic)

lfaraone
fuente
1
Si bien este enlace puede responder la pregunta, es mejor incluir aquí las partes esenciales de la respuesta y proporcionar el enlace como referencia. Las respuestas de solo enlace pueden volverse inválidas si la página vinculada cambia. - De la opinión
Pilot6
1
¿Siete años despues?
lfaraone
13

Como una adición a una excelente respuesta de mac9416 , Kubuntu ofrece las mismas herramientas de línea de comandos como Ubuntu, a saber dpkg, apt-gety aptitude. También hay dos administradores de paquetes gráficos:

Adept es una interfaz gráfica de usuario sencilla para apt-get, que le permite editar las listas de origen, buscar paquetes por categoría o por nombre, ver su estado e instalarlos / desinstalarlos.

KPackageKit es una GUI simple para PackageKit, que es un nuevo sistema de administración de paquetes de distribución cruzada que se utiliza apt-getdetrás de escena. Le permite buscar programas por diversos criterios, instalar y desinstalar programas, realizar actualizaciones de rutina y editar las listas de origen.

David Z
fuente
KPackageKitahora se reemplaza por Apper.
David tu amigo
6

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 packagename

Utilizo apt-get a diario para instalar y eliminar paquetes.

Synaptic está basado en GUI y la aptitud está basada en texto.

Nathan Osman
fuente
aptitudetambién se puede usar de forma interactiva y durante mucho tiempo tuvo características que la mayoría de los otros clientes de libapt no tenían. sudo aptitude installfunciona igual de bien como sudo apt-get install. sudo apitude searchfunciona igual de bien como sudo apt-cache search. Sin embargo, la aptitud está programada para su eliminación en el futuro.
Broam
@Broam, ¿puede proporcionar una fuente para el reclamo de que Aptitude está programado para su eliminación? Buscando en Google no pude encontrar nada al respecto.
itsadok
Está programado para su eliminación en la instalación predeterminada, como GIMP.
Broam
5

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 : basada 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.

Sőrés Viktor
fuente
1

Otra herramienta que apenas ha recibido mención es tasksel. Se usa para seleccionar tareas específicas, marcarlas para la instalación y luego instalarlas (posiblemente usando aptitude, no estoy seguro).

Ejecute tasksel --list-taskspara ver qué tareas están disponibles.

tshepang
fuente
Eso en realidad fue mencionado en los comentarios sobre la pregunta.
David Z
1
@david vi esa mención, pero los comentarios son ciudadanos de segunda clase.
tshepang
1

Una diferencia clave entre aptitude y apt-get que ha pasado desapercibido anteriormente es que aptitude, a diferencia apt-get, le ofrecerá diferentes opciones en caso de que haya un choque de dependencias. apt-getsimplemente fallará. aptitudees 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.

ShankarG
fuente