Quelle est la difference entre apt et apt-get?

458

J'ai lu des informations sur la nouvelle barre de progression sophistiquée ajoutée à la version apt1.0 de Softpedia et sur la manière de l'activer ici . Cependant, en cours d'exécution sudo apt-get update, je n'ai pas vu les barres de progression sophistiquées. En relisant le second lien, la solution vous oblige explicitement à utiliser sudo apt update.

D'où ma question est la différence entre aptet apt-get. Je pensais qu'ils étaient un et le même.

nik90
la source
1
Autant que je sache, ils ne sont disponibles que dans Trusty. Voici comment les activer: askubuntu.com/questions/445245/…
Seth
8
Etant donné que le commentaire de @Seth a presque 2 ans, je pensais ajouter que ce dernier est disponible, installé et utilisable dès la livraison. Rien n'est requis pour les activer, utilisez simplement aptau lieu de apt-get(je suis sur 15.10)
Madivad

Réponses:

400

Ce sont des outils en ligne de commande très similaires disponibles dans Trusty. apt-getet apt-cachede » les commandes les plus couramment utilisées sont disponibles dans apt.

apt-getpeut être considéré comme de niveau inférieur et "back-end", et prend en charge d'autres outils basés sur APT. apt est conçu pour les utilisateurs finaux (humains) et sa sortie peut être modifiée d’une version à l’autre.

Note d'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).

Jetez un coup d'œil à cet article pour plus d'informations sur le nouvel outil:

Un synopsis du lien ci-dessus (avec corrections * ):

La grande nouvelle de cette version est que nous avons inclus un nouveau binaire «apt» qui combine les commandes les plus couramment utilisées d’apt-get et d’apt-cache. Les commandes sont les mêmes que leurs contreparties apt-get / apt-cache mais avec des options de configuration légèrement différentes.

Actuellement, le binaire apt supporte les commandes suivantes:

  • list : qui est similaire à dpkg listet peut être utilisé avec des drapeaux tels que --installedou --upgradable.
  • search : fonctionne exactement comme apt-cache searchmais trié par ordre alphabétique.
  • show : fonctionne comme, apt-cache showmais cache certains détails que les gens sont moins susceptibles de se soucier (comme le hash). La notice complète est toujours disponible via apt-cache showbien sûr.
  • update : comme la normale apt-get updateavec sortie couleur activée.
  • install, remove : ajoute la sortie de progression lors de l'exécution de dpkg.
  • mise à niveau : identique à apt-get upgrade --with-new-pkgs. *
  • mise à niveau complète : un nom plus significatif pour dist-upgrade.
  • edit-sources : éditer sources.listavec $EDITOR.
  • politique : fonctionne commeapt-cache policy

Vous pouvez activer / désactiver la progression de l'installation [barre] via:

# echo 'Dpkg::Progress-Fancy "1";' > /etc/apt/apt.conf.d/99progressbar
Mario Limonciello
la source
3
Juste curieux - apt upgrade n'équivaut-il pas à 'upgrade --with-new-pkgs' (au lieu de dist-upgrade que l'IIRC le fait par défaut et supprime également)?
zeratul021
Étrangement apt upgrademe donne une erreur où apt-get upgradeimprime seulement un avertissement quand un PPA n'a pas de fichier Release.
Tor Klingberg
1
Ce blog est confondu dire apt upgradeest comme apt-get dist-upgrade --with-new-pkgs. dist-upgradepeut installer de nouveaux paquets et peut les supprimer . UI à part, apt upgradeest apt-get upgrade --with-new-pkgs. Voir la réponse de JungleMartin et apt (8) sur upgrade: "De nouveaux paquets seront installés si nécessaire pour satisfaire les dépendances, mais les paquets existants ne seront jamais supprimés."
Eliah Kagan
3
Il vaut la peine de mentionner que depuis 16.04, par défaut, apt ne sauvegarde pas les paquets téléchargés, contrairement à apt-get.
Doug
69

Au moment où j'écris ceci, la aptpage de manuel (la version de mon paquet apt: 1.0.1ubuntu2.8) inclut la section suivante:

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.
JungleMartin
la source
2
C'est la bonne réponse (pour Debian et Ubuntu ainsi que d'autres dérivés tels que Mint). En particulier, l'exécution sudo apt upgradeexécutera les mêmes opérations que sudo apt-get upgrade --with-new-pkgs. Il installera de nouveaux packages mais, contrairement à sudo apt-get dist-upgrade cela, il ne supprimera pas les anciens (sauf lors de l’installation d’une nouvelle version du même package, bien sûr - ce qui sudo apt-get upgradesera également le cas). man aptcorrobore en outre que cette réponse est correcte.
Eliah Kagan
Je reviens sur votre retour en arrière parce que a) votre mise en forme nécessite un défilement inutile et b) que votre texte copié est incorrect, l'option ne l'est pas DPkgPM::..., mais DPkg::.., comme l'indique la page de manuel en ligne.
muru
2
points bonus pour RTFM
Thufir
L'option "check" ne fonctionne pas avec apt. Je dois utiliser "apt-get check". Pourquoi?
Juan
22

Il existe divers outils qui interagissent avec APT (Advanced Packaging Tool) et vous permettent d’installer, de supprimer et de gérer des paquets dans des distributions Linux basées sur Debian . apt-getest un de ces outils en ligne de commande très populaire. Un autre outil populaire est Aptitude avec une interface graphique et des options de ligne de commande.

Si vous avez utilisé des apt-getcommandes, vous avez peut-être rencontré un certain nombre de commandes similaires telles que apt-cache, apt-configetc. C'est là que le problème se pose.

Vous voyez, ces commandes sont de niveau bien trop bas et elles ont tellement de fonctionnalités qui ne sont peut-être jamais utilisées par un utilisateur moyen de Linux. D'autre part, les commandes de gestion de paquets les plus couramment utilisées sont dispersées apt-get, apt-cacheet apt-config.

Les aptcommandes ont été introduites pour résoudre ce problème. aptse compose quelques - unes des caractéristiques les plus largement utilisés à partir apt-get, apt-cacheet en apt-configlaissant de côté les caractéristiques obscures et rarement utilisées.

Avec apt, vous n'avez pas de tripoter votre chemin de apt-getla apt-cacheà apt-config. aptest plus structuré et vous fournit les options nécessaires à la gestion des packages.

Ligne de fond: apt = les options de commande les plus utilisées, à partir de apt-get, apt-cacheet apt-config.

J'ai écrit en détail sur la différence entre apt et apt-get .

Abhishek
la source
15

APT est un vaste projet dont les plans originaux incluaient une interface graphique. Il est basé sur une bibliothèque qui contient l’application principale et apt-get est la première interface frontale - basée sur la ligne de commande - développée dans le cadre du projet.

aptest une deuxième interface frontale basée sur la ligne de commande fournie par APT qui résout certaines erreurs de conception de apt-get.

Cité de:

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

mit
la source