¿Cuál es la diferencia entre apt y apt-get?

458

Leí sobre la nueva barra de progreso elegante que se agregó a apt1.0 en Softpedia y cómo habilitarla aquí . Sin embargo, al correr sudo apt-get update, no vi las elegantes barras de progreso. Al volver a leer el segundo enlace, la solución requiere explícitamente su uso sudo apt update.

Por lo tanto, mi pregunta es la diferencia entre apty apt-get. Pensé que eran uno y lo mismo.

nik90
fuente
1
AFAIK solo están disponibles en Trusty. Aquí está cómo habilitarlos: askubuntu.com/questions/445245/…
Seth
8
dado que el comentario de @Seth tiene casi 2 años, pensé agregar ahora que está disponible, instalado y utilizable de inmediato. No se requiere nada para habilitarlos, solo use en aptlugar de apt-get(estoy en 15.10)
Madivad

Respuestas:

400

Son herramientas de línea de comandos muy similares disponibles en Trusty. apt-gety apt-cachelos comandos más utilizados están disponibles en apt.

apt-getpuede considerarse como de nivel inferior y "back-end", y es compatible con otras herramientas basadas en APT. apt está diseñado para usuarios finales (humanos) y su salida puede cambiarse entre versiones.

Nota de apt (8):

The `apt` command is meant to be pleasant for end users and does not need
       to be backward compatible like apt-get(8).

Echa un vistazo a esta publicación para obtener más información sobre la nueva herramienta:

Una sinopsis del enlace anterior (con correcciones * ):

La gran noticia para esta versión es que incluimos un nuevo binario "apt" que combina los comandos más utilizados de apt-get y apt-cache. Los comandos son los mismos que sus homólogos apt-get / apt-cache pero con opciones de configuración ligeramente diferentes.

Actualmente, el binario apt admite los siguientes comandos:

  • lista : que es similar a dpkg listy se puede usar con banderas como --installedo --upgradable.
  • búsqueda : funciona igual apt-cache searchpero ordenado alfabéticamente.
  • show : funciona apt-cache showpero oculta algunos detalles que a las personas les importa menos (como los hashes). El registro completo todavía está disponible por apt-cache showsupuesto.
  • actualización : al igual que el normal apt-get updatecon salida de color habilitada.
  • instalar, eliminar : agrega salida de progreso durante la ejecución de dpkg.
  • actualización : igual que apt-get upgrade --with-new-pkgs. * *
  • actualización completa : un nombre más significativo para dist-upgrade.
  • editar-fuentes : editar sources.listusando $EDITOR.
  • política : funciona igual queapt-cache policy

Puede habilitar / deshabilitar el progreso de la instalación [barra] a través de:

# echo 'Dpkg::Progress-Fancy "1";' > /etc/apt/apt.conf.d/99progressbar
Mario Limonciello
fuente
3
Simplemente curioso: ¿no es la actualización adecuada equivalente a 'actualizar --con-new-pkgs' (en lugar de dist-upgrade, que IIRC lo hace por defecto y también elimina)?
zeratul021
Extrañamente apt upgrademe da un error donde apt-get upgradesolo imprime una advertencia cuando un PPA no tiene un archivo de lanzamiento.
Tor Klingberg el
1
Se equivoca al decir que la publicación de blogapt upgrade es como apt-get dist-upgrade --with-new-pkgs. dist-upgradepuede instalar nuevos paquetes y puede eliminarlos . UI a un lado, apt upgradees apt-get upgrade --with-new-pkgs. Vea la respuesta de JungleMartin y apt (8) en upgrade: "Se instalarán nuevos paquetes si es necesario para satisfacer las dependencias, pero los paquetes existentes nunca se eliminarán".
Eliah Kagan
3
Cabe mencionar que, a partir de 16.04, por defecto, apt no guarda los paquetes descargados, mientras que apt-get sí.
Doug
69

Mientras escribo esto, la aptpágina del manual (mi versión del paquete apt: 1.0.1ubuntu2.8) incluye la siguiente sección:

DIFFERENCES TO APT-GET(8)
   The apt command is meant to be pleasant for end users and does not need
   to be backward compatible like apt-get(8). Therefore some options are
   different:

   ·   The option DPkg::Progress-Fancy is enabled.
   ·   The option APT::Color is enabled.
   ·   A new list command is available similar to dpkg --list.
   ·   The option upgrade has --with-new-pkgs enabled by default.
SelvaMartin
fuente
2
Esta es la respuesta correcta (para Debian y Ubuntu, así como otros derivados como Mint). En particular, la ejecución sudo apt upgraderealizará las mismas operaciones que sudo apt-get upgrade --with-new-pkgs. Instalará nuevos paquetes pero, a diferencia sudo apt-get dist-upgrade , no eliminará los antiguos (excepto cuando instale una nueva versión del mismo paquete, por supuesto, lo sudo apt-get upgradeque también funcionará). man aptcorrobora aún más que esta respuesta es correcta.
Eliah Kagan
Revertiré la reversión de mi edición porque a) su formato requiere desplazamiento innecesario, yb) su texto copiado es incorrecto, la opción no lo es DPkgPM::..., pero DPkg::.., como muestra la página de manual en línea.
muru
2
puntos de bonificación para RTFM
Thufir
La opción "verificar" no funciona con apt. Tengo que usar "apt-get check". ¿Por qué?
Juan
22

Existen varias herramientas que interactúan con Advanced Packaging Tool (APT) y le permiten instalar, eliminar y administrar paquetes en distribuciones Linux basadas en Debian . apt-getes una de esas herramientas de línea de comandos que es ampliamente popular. Otra herramienta popular es Aptitude con GUI y opciones de línea de comandos.

Si ha utilizado apt-getcomandos, es posible que haya encontrado varios comandos similares como apt-cache, apt-configetc. Y aquí es donde surge el problema.

Verá, estos comandos tienen un nivel demasiado bajo y tienen tantas funcionalidades que quizás nunca sean utilizadas por un usuario promedio de Linux. Por otro lado, los comandos de administración de paquetes más utilizados se encuentran dispersos apt-get, apt-cachey apt-config.

Se apthan introducido los comandos para resolver este problema. aptconsta algunas de las características más utilizadas de apt-get, apt-cachey apt-configdejando a un lado las características oscuras y rara vez se utilizan.

Con apt, no tienes que tocar el camino de apt-getun apt-cachea otro apt-config. aptestá más estructurado y le brinda las opciones necesarias para administrar los paquetes.

En pocas palabras: apt = opciones de comando utilizadas más comunes de apt-get, apt-cachey apt-config.

He escrito en detalle sobre la diferencia entre apt y apt-get .

abhishek
fuente
15

APT es un gran proyecto, cuyos planes originales incluían una interfaz gráfica. Se basa en una biblioteca que contiene la aplicación principal, y apt-get es el primer front-end, basado en la línea de comandos, que se desarrolló dentro del proyecto.

aptes un segundo front-end basado en la línea de comandos proporcionado por APT que supera algunos errores de diseño de apt-get.

Citado de:

https://debian-handbook.info/browse/stable/sect.apt-get.html

mit
fuente