¿Está 'apt-get' en desuso?

54

Últimamente, he visto a muchas personas usar

sudo apt

en lugar de

sudo apt-get

Además, Ubuntu sigue diciéndome que instale cosas sudo apt

The program 'foo' is currently not installed. You can install it by typing:
sudo apt install foo

(recuerde, foo es marcador de posición, no una aplicación)

Entonces, después de esta popularidad en la comunidad sobre el uso en aptlugar de apt-get, estoy empezando a pensar que apt-get está en desuso y ya no se puede usar en mis programas bash.

En mis programas bash,

  • ¿tengo que reemplazar todos los apt-getcomandos con apt?
  • es apt-getpeligroso?
  • ¿seguirán funcionando mis programas?
Skybbles
fuente
77
Vea esta publicación relacionada: askubuntu.com/q/445384/295286
Sergiy Kolodyazhnyy
Apt es más bonito que apt-get
WinEunuuchs2Unix
2
La razón por la que algunos usuarios (como yo) usan aptes porque es más corta que apt-get. Menos pulsaciones de teclas, menos tiempo dedicado. Yo uso apt-getpara cosas como checksin embargo.
Gallifreyan

Respuestas:

36

apt-getes de nivel inferior y compatible con versiones anteriores. aptes mejor para los usuarios finales y no requiere ni contiene algunas características adicionales que están presentes en apt-get.

Ambos están perfectamente bien. apt-getno está en desuso, pero su instalación 15.10 es :)

Editar: desde la página de manual de apt (8)

El comando apt debe ser agradable para los usuarios finales y no necesita ser compatible con versiones anteriores como apt-get (8).

Edit2: aptfue diseñado para corregir algunos de los defectos de dependencia fundamentales apt-get. Como es un contenedor, aptpor lo tanto , es de mayor nivel, y también pierde algunas características de compatibilidad con versiones anteriores y secuencias de comandos.

negusp
fuente
19
¿Qué características no están en apt-get no en apt? ¿Y qué tan apto es mejor para el usuario final?
Anwar
44
Nuevamente, apt-get no tiene un nivel más bajo que apt. Esta es una información engañosa. apt está en el mismo nivel que apt-get y apt no es más que una envoltura alrededor de apt-get y apt-cache
Anwar
@Anwar: hay diferencias. Un ejemplo: apt upgradeapt-get upgrade, ya que el primero instala nuevos paquetes, mientras que el segundo no.
Gunnar Hjalmarsson
26
@Anwar Si se apttrata de una envoltura apt-get, definitivamente es de nivel superior.
Tavian Barnes
2
@Anwar Esa es en realidad la definición de ser "nivel superior" o "nivel inferior". apt tiene un nivel más alto porque envuelve apt-get. Una especie de prueba es que si su apt se corrompiera, apt-get seguiría funcionando, pero no al revés.
Sir Robert
47

No, apt-getno está en desuso. La página de manual de apttiene esto que decir sobre aptvs. apt-get(y apt-cache):

USO DE SCRIPT Y DIFERENCIAS DE OTRAS HERRAMIENTAS APT

La línea de comando apt (8) está diseñada como una herramienta para el usuario final y puede cambiar el comportamiento entre versiones. Si bien intenta no romper la compatibilidad con versiones anteriores, esto tampoco está garantizado si un cambio parece beneficioso para el uso interactivo.

Todas las características de apt (8) también están disponibles en herramientas APT dedicadas como apt-get (8) y apt-cache (8). apt (8) solo cambia el valor predeterminado de algunas opciones (consulte apt.conf (5) y específicamente el ámbito binario). Por lo tanto, debe preferir usar estos comandos (potencialmente con algunas opciones adicionales habilitadas) en sus scripts, ya que mantienen la compatibilidad con versiones anteriores tanto como sea posible.

apt también da una advertencia que dice

WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

si detecta que hay una tubería. Por ejemplo:

$ apt show python | grep Package

WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

Package: python
APT-Sources: http://us.archive.ubuntu.com/ubuntu xenial/main amd64 Packages

En cuanto a sus preguntas,

¿tengo que reemplazar todos los comandos apt-get con apt?

No, usted no tiene que reemplazar apt-getcon apt. Más bien, si lo estaba usando en scripts, debería seguirlo apt-getporque tiene una API CLI estable y garantiza la compatibilidad con versiones anteriores.

es apt-getpeligroso?

aptes tan peligroso como apt-get: solo debe instalar software de fuentes confiables.

¿Puedo usar apten Ubuntu 15.10?

Sí puedes. El problema aquí es que todavía estás usando Ubuntu 15.10, ¡que ahora no es compatible! Actualice a 16.04, que es una versión LTS.

¿seguirán funcionando mis programas?

Por programas, supongo que te refieres a los guiones. Sí, seguirán funcionando ya apt-getque no está en desuso. De hecho, debería preferir usar apt-geten scripts para compatibilidad con versiones anteriores como lo sugiere aptla página man de.

edwinksl
fuente
7

apty apt-getson básicamente el mismo administrador de paquetes, lo que hacen es lo mismo.

Una diferencia es que apttambién contiene características de, por ejemplo, apt-cachey tiene una salida más bonita.

Sin embargo, aptaún no debe usarse en scripts, al menos si desea analizar su salida, porque todavía está en desarrollo y su formato de salida aún puede cambiar. El autocompletado de pestañas de Bash tampoco funciona con muchos aptcomandos.

Puede usar ambos, lo que prefiera.

Byte Commander
fuente
¡apt proporciona funciones de apt-cache con retraso adicional! intente usar el paquete de búsqueda apt y el paquete de búsqueda apt-cache. La misma política de uso
Anwar
@Anwar No veo ninguna diferencia en absoluto usando apt(-cache) policy. Con apt(-cache) search, hay una diferencia en la velocidad, sí, pero la salida de aptestá ordenada y bien formateada a cambio.
Byte Commander
-1

Como puede ver en las otras respuestas, puede usar cualquiera apto apt-get. Lo que me gustaría agregar es que cuando lo intenté apthace unos años, noté que resolvió los conflictos de una manera diferente a la que lo apt-gethice. Cuando la situación era complicada (algo tenía que eliminarse, algún paquete se ancló a una versión específica, bajé la versión de un paquete o usé una mezcla de paquetes de diferentes versiones), por lo aptgeneral quería eliminar toneladas de paquetes o no podía resolver el problema. conflicto.

Como apt-getera mucho mejor en estas situaciones y no tenía inconvenientes, renuncié apty seguí usando apt-get. Esto fue hace varios años, por lo que puede haber cambiado, pero si te encuentras con una situación similar, es posible que desees probar ambos y ver cuál puede resolver mejor el conflicto.

Zoltan
fuente