Quelle est la vraie différence entre “ apt-get ” et “ aptitude ”? (Que diriez-vous de “ wajig ”?)

Je sais que apt-get et aptitude sont des interfaces de gestion de paquets en ligne de commande sur Linux dérivé de Debian, avec des options différentes, mais je « suis encore un peu confus. Sous le capot, nutilisent-ils pas le même système APT?

Pourquoi Debian maintient-elle ces outils parallèles? (Question bonus: quest-ce que cest que wajig ?)

Commentaires

  • Je sais que ce nest pas le bon répondeur pour votre question, mais pourquoi ne pouvez-vous pas essayer synaptic? son très utilisateur frindly et télécharge et installe automatiquement les dépendances. Gnome nest-il pas présent sur votre système?
  • Je ‘ m biaisé, mais je pense que cette question sur le site Ubuntu SE pourrait être pertinent.
  • duplicate: unix.stackexchange.com/questions/244/apt-get-or-aptitude .
  • @Wim en raison de la partie wajig de cette question, jai décidé de fusionner 244 dans cette question au lieu de linverse
  • Il convient de noter que laptitude est prévue pour la suppression de linstallation par défaut sur la prochaine version dUbuntu (bien que vous puissiez toujours linstaller en utilisant apt-get par la suite)

Réponse

La différence la plus évidente est que aptitude fournit une interface de menu de terminal (un peu comme Synaptic dans un terminal), alors que apt-get ne le fait pas.

Considérant seulement les interfaces de ligne de commande de chacune, elles sont assez similaires, et pour la plupart, peu importe celle que vous utilisez. Les versions récentes des deux suivront quels packages ont été installés manuellement et lesquels ont été installés en tant que dépendances (et donc éligibles à la suppression automatique). En fait, je pense que même plus récemment, les deux outils ont été mis à jour pour partager la même base de données de packages installés manuellement et automatiquement, donc les cas où vous installez quelque chose avec apt-get et ensuite aptitude veut le désinstaller sont principalement le passé.

Il y a quelques différences mineures:

  • aptitude supprimera automatiquement les paquets éligibles, alors quapt-get nécessite une commande séparée pour le faire
  • Le les commandes pour upgrade et dist-upgrade ont été renommées dans aptitude avec les noms probablement plus précis safe-upgrade et full-upgrade , respectivement.
  • aptitude exécute en fait les fonctions non seulement dapt-get, mais aussi de certains de ses outils compagnons, tels que apt-cache et apt-mark.
  • aptitude a une syntaxe de requête légèrement différente pour la recherche (par rapport à apt-cache)
  • aptitude a les commandes pourquoi et pourquoi-pas pour vous dire quels packages installés manuellement empêchent une action que vous pourriez vouloir entreprendre.
  • Si les actions (installation, suppression, mise à jour de packages) que vous souhaitez entreprendre provoquent des conflits, aptitude peut suggérer plusieurs résolutions potentielles. apt-get dira simplement « Je » suis désolé Dave, je ne peux « pas vous permettre de faire ça. »

Il y a dautres petites différences, mais ce sont les plus importantes que je peut y penser.

En bref, aptitude appartient plus correctement à la catégorie avec Synaptic et dautres interfaces de gestion de paquets de plus haut niveau. Il se trouve quil a aussi une interface de ligne de commande qui ressemble à apt-get.

Bonus Round: Quest-ce que wajig?

Rappelez-vous comment jai mentionné ces outils « compagnons » comme apt- cache et apt-mark? Eh bien, il y en a beaucoup, et si vous les utilisez beaucoup, vous ne vous souviendrez peut-être pas lesquels fournissent quelles commandes. Wajig est une solution à ce problème. Il sagit essentiellement dun répartiteur, dun wrapper autour de tous ces outils. applique également sudo si nécessaire. Lorsque vous dites wajig install foo, wajig dit « Ok, install est fourni par apt-get et nécessite des privilèges dadministrateur, « et il exécute sudo apt-get install foo. Lorsque vous dites wajig search foo, wajig dit » Ok, search est fourni par apt-cache et ne nécessite pas de privilèges dadministrateur, « et il exécute apt-cache search foo. Si vous utilisez wajig au lieu de apt-get, apt-mark, apt-cache et autres, alors vous naurez jamais ce problème:

$ apt-get search foo E: Invalid operation search 

Si vous voulez savoir ce que Wajig fait dans les coulisses, quels outils il utilise pour implémenter une commande particulière, il a --simulate et --teaching m odes.

Deux commandes wajig que jutilise souvent sont wajig listfiles foo et wajig whichpkg /usr/bin/foo.

Commentaires

  • Un gros problème que jai eu avec aptitude est quil faut beaucoup de temps pour obtenir des onglets complets sur les noms de paquet (par exemple, aptitude install linux-im tab), alors que cest très rapide pour apt-get. Il semble y avoir une certaine mise en cache présente dans la famille apt-get qui manque pour aptitude.
  • aptitude ont également le génial aptitude search que vous pouvez utiliser avec des modèles de recherche très puissants . Vous avez aptitude reinstall. Vous pouvez également utiliser l’interface ncurses (menu du terminal) pour préparer des opérations de package complexes comme une mise à niveau partielle, supprimer un package, en geler un autre, mettre à niveau celui-ci, que vous pouvez ensuite exécuter en opération … Oh, et il a un résolveur de conflit interactif .
  • @Totor Holy Cow, using aptitude ‘ s interface ncurses pour préparer les commandes vient de me vendre une fois pour toutes sur aptitude! (après des années de réflexion, aptitude vaut la peine dêtre fait, mais en tapant apt-get à partir de la mémoire musculaire)
  • … et aptitude a également aptitude download package-name pour obtenir le fichier .deb du package!
  • Il ‘ est juste une chose que jai trouvée qui nest ‘ t dans aptitude mais sont dans apt-get, et cest apt-get --compile source package-name . apt-get build-dep package-name existent mais je pense que aptitude build-dep package-name fait un meilleur travail.

Réponse

Je me suis souvent demandé. Wikipédia met en évidence que la principale caractéristique distinctive est quaptitude a un interface en mode texte (curses) plein écran. Le fait que vous puissiez utiliser la plupart des arguments de commande apt-get avec aptitude lui-même nest quune décision de conception pour faciliter le passage des utilisateurs de apt-get vers aptitude et vice-versa.

Je « nai jamais utilisé wajig, mais la documentation suggère quil « sagit simplement dun script qui sait si vous » lui passez un fichier deb (lorsquil sexécute dpkg) ou un nom de package apt (lorsquil exécute apt-get à la place). Pourriez-vous lessayer et voir si cest ce quil fait?

Bien sûr, la vraie différence est:

gaurav@fern:~$ apt-get moo (__) (oo) /------\/ / | || * /\---/\ ~~ ~~ ...."Have you mooed today?"... gaurav@fern:~$ aptitude moo There are no Easter Eggs in this program. 

Commentaires

  • Non! aptitude en a plus. Vous avez oublié de placer les indicateurs -v sans fin dans moo. (Vous pouvez aller jusquà -vvvvvv)
  • Don ‘ oublier les tous les pouvoirs importants des Super Vaches, qui apt-get a mais aptitude ne le fait pas. (Essayez --help sur les deux)
  • lmao. cest une réponse amusante à lire, même si la réponse de @ryan ‘ est beaucoup plus élaborée;)

Réponse

aptitude est le programme préféré pour la gestion des paquets depuis la console à la fois pour les installations de paquets et les mises à jour de paquets ou de systèmes dans Debian.

Voici un aperçu de loutil et les fonctionnalités quil a sur apt-get: http://www.debian.org/doc/FAQ/ch-pkgtools.en.html#s-aptitude

Donc, mon conseil est de juste apt-get install aptitude 🙂

Commentaires

  • Les notes de version disons quapt-get est maintenant recommandé par rapport à aptitude pour les mises à jour à compresser.
  • Oui, mais seulement pour cela. Sinon, ils sont considérés comme égaux mais aptitude a beaucoup de fonctionnalités plus avancées, comme la recherche et le mode plein écran, que apt-get.
  • Pour une raison quelconque, utilisé aptitude pour installer emacs et sans le regarder supprimé gdm! Donc, pour le moment, nous utiliserons apt-get mais je suis très curieux daptitude.

Réponse

aptitude se souvient quels paquets ont été explicitement demandés et lesquels nont été installés quen raison de dépendances. Il désinstalle automatiquement les paquets qui nont pas été explicitement demandés lorsquils ne sont plus nécessaires.

apt-get traite les paquets demandés explicitement et leurs dépendances de la même manière.

Il vaut donc mieux utiliser aptitude, cela permet de garder votre système propre.

Commentaires

  • Cétait vrai, mais je sais que mon apt-get a une commande apt-get autoremove pour supprimer les paquets installés uniquement en tant que dépendances. Je ne ‘ ne sais pas quand cette fonctionnalité a été ajoutée, mais un site Web suggère que cela aurait pu arriver avec Debian Lenny (juin 2010).
  • apt-get autoremove ne ‘ ne supprime pas les paquets installés uniquement en tant que dépendances, il supprime les dépendances orphelines, ce qui est une différence subtile ; il peut ‘ t dire si un package ‘ leaf ‘ a été installé avec intention ou comme une dépendance donc il la laisse, là où aptitude le saurait et la supprimerait.
  • Je ‘ m vendu! Il y a dautres choses intéressantes à propos de aptitude mais cest sans conteste une fonctionnalité qui tue.

Réponse

apt-get, ainsi que les divers outils compagnons, utilisent beaucoup moins de mémoire que les appels de ligne de commande respectifs de aptitude, et sont un peu plus rapides. Jignorais parfaitement cela jusquà ce que jessaye de mettre à jour linstallation de Debian sur un vieux thinkpad pentium vieilli avec 32 Mo de RAM. Il faudrait une heure ou deux de swap-thrashing pour exécuter apt-get, qui sest terminé avec succès; aptitude échouerait après, je pense, une période plus longue.

Cette distinction est plus ou moins hors de propos sur tout ce qui ressemble à un système de bureau moderne.

Réponse

En sappuyant sur la réponse de @Gaurav, les œufs de Pâques dans les deux gestionnaires de paquets sont assez drôles!:

siddhartha@siddhartha-dev:~$ apt-get moo (__) (oo) /------\/ / | || * /\---/\ ~~ ~~ ..."Have you mooed today?"... siddhartha@siddhartha-dev:~$ aptitude moo There are no Easter Eggs in this program. siddhartha@siddhartha-dev:~$ aptitude -v moo There really are no Easter Eggs in this program. siddhartha@siddhartha-dev:~$ aptitude -vv moo Didn"t I already tell you that there are no Easter Eggs in this program? siddhartha@siddhartha-dev:~$ aptitude -vvv moo Stop it! siddhartha@siddhartha-dev:~$ aptitude -vvvv moo Okay, okay, if I give you an Easter Egg, will you go away? siddhartha@siddhartha-dev:~$ aptitude -vvvvv moo All right, you win. /----\ -------/ \ / \ / | -----------------/ --------\ ---------------------------------------------- siddhartha@siddhartha-dev:~$ aptitude -vvvvvv moo What is it? It"s an elephant being eaten by a snake, of course. siddhartha@siddhartha-dev:~$ aptitude -vvvvvvv moo What is it? It"s an elephant being eaten by a snake, of course. siddhartha@siddhartha-dev:~$ aptitude -vvvvvvvv moo What is it? It"s an elephant being eaten by a snake, of course. 

et ainsi de suite.

Réponse

Ils offrent les mêmes fonctionnalités de base: installer et supprimer des packages de la ligne de commande.

Voici une comparaison plus détaillée, publiée sur le Site Web Ubuntu Stack Exchange : https://askubuntu.com/questions/1743/is-aptitude-really-better-than-apt-get/1749#1749

Commentaires

  • Ils sont assez similaires, je peux basculer entre eux assez facilement.

Réponse

Comme mentionné, soit http://pthree.org/2007/08/12/aptitude-vs-apt-get/ , aptitude a un muc h interface de ligne de commande plus facile à utiliser.

Sous le capot, nutilisent-ils pas le même système APT? Oui.

Le système sous-jacent nest pas seulement apt, mais dpkg. Ce système est tout aussi stupide que RPM, il ne peut gérer que linstallation et ladministration de packages uniques. Il suit quels fichiers installés appartiennent à quel package.

apt gère les téléchargements des référentiels, le suivi des dépendances, etc. pour tous les packages individuels – dont il sinstalle à laide de dpkg. aptitude fait de même, avec une interface différente.

Réponse

Les deux apt -get et aptitude reposent sur la bibliothèque APT, oui.

Voir ma réponse sur serverfault.com .

Debian nest pas une entité monolithique, il y a des gens avec des opinions différentes et le responsable daptitude a décidé quapt-get avait quelques lacunes et voulait construire quelque chose de mieux avec aptitude. Il a amélioré la logique pour trouver des solutions pour des scénarios de mise à jour complexes, ajouté une interface graphique pour la console, etc. Et il ya plus que juste apt-get et aptitude, voir mon article apt -get, aptitude,… choisissez le gestionnaire de paquets qui vous convient .

Réponse

Je ne suis pas sûr si cela est toujours valable, mais le développeur Debian à la fine pointe de la technologie, Joey Hess, a toujours préconisé laptitude plutôt que apt-get. Bien sûr, les choses doivent changer à mesure que le logiciel évolue. Apt-get gère désormais mieux les dépendances quauparavant. De http://lists.debian.org/debian-user/2004/04/msg03138.html

Date: mar 20 avril 2004 22:27:12 -0400 De: Joey Hess

Neuf raisons pour lesquelles vous devriez utiliser aptitude au lieu dapt-get ou dselect.

  1. aptitude peut ressembler à apt-get

    Si vous exécutez « aptitude update » ou « aptitude upgrade » ou « aptitude install », il ressemble et fonctionne exactement comme apt-get, avec quelques améliorations. Il ny a donc pas de courbe dapprentissage.

    (Si vous « êtes un utilisateur de dselect, la courbe dapprentissage nest évidemment pas lun de vos problèmes.)

  2. aptitude tracks paquets installés automatiquement

    Arrêtez de vous soucier de lélagage des bibliothèques inutilisées et des packages de support de votre système. Si vous utilisez aptitude pour tout installer, il gardera une trace des packages qui sont tirés par les dépendances seules, et supprimera ces packages lorsque ils ne sont plus nécessaires.

  3. aptitude gère sanely recommande

    Un échec de longue date dapt-get a été son manque de support pour la relation Recommends . Ce qui est un problème car de nombreux paquets dans Debian sappuient sur Recommends pour intégrer les logiciels que lutilisateur moyen utilise généralement avec le paquet. Ce nest pas une cause rare de problème, même si apt-get est récemment devenu capable de mentionner au moins les paquets recommandés , il est facile de rater ses avertissements.

    Aptitude prend en charge les recommandations par défaut et peut également être configuré pour prendre en charge les suggestions. Il prend même en charge linstallation des packages recommandés lorsquil est utilisé en mode ligne de commande.

  4. utilisez aptitude en tant quutilisateur normal et évitez de flotter votre système

    Peut-être que vous ne lavez pas fait  » Sachez que vous pouvez exécuter aptitude en mode interface graphique en tant quutilisateur normal. Apportez les modifications que vous aimeriez essayer. Si vous vous retrouvez dans un vrai désordre, vous pouvez appuyer sur « q » et sortir, vos modifications ne seront pas enregistrées. (Aptitude vous permet également dutiliser ctrl-u pour annuler les modifications.) Comme il fonctionne en tant quutilisateur normal, vous ne pouvez pas arroser votre système tant que vous navez pas demandé à aptitude de faire quelque chose, auquel cas il vous demandera votre mot de passe root. / p>

  5. aptitude a une interface utilisateur puissante et des capacités de recherche

    Entre le navigateur catégorique daptitude et son excellent support pour le filtrage de style mutt et la recherche de paquets par nom, description, mainteneur, dépendances, etc., vous devriez être en mesure de trouver des paquets plus rapidement que jamais avant dutiliser aptitude.

  6. aptitude facilite le suivi des logiciels obsolètes

    Si Debian arrête de distribuer un paquet, apt le laissera sur votre système indéfiniment, sans avertissement ni mise à jour. Aptitude répertorie ces paquets dans sa section «Paquets obsolètes et créés localement», afin que vous puissiez être informé du problème et faire quelque chose à ce sujet.

  7. aptitude a une interface avec Debian système de tâches

    Aptitude vous permet dutiliser le système de tâches de Debian tel quil a été conçu pour être utilisé. Vous pouvez parcourir les tâches disponibles, sélectionner une tâche à installer, puis y creuser et désélectionner des parties de la tâche que vous ne voulez pas. apt-get ne prend pas en charge les tâches, et aptitude est même meilleur que des outils spéciaux comme tasksel.

  8. aptitude prend en charge plusieurs sources

    Si vos sources. list est configuré pour rendre plusieurs versions dun package disponibles, aptitude vous permet de rechercher les versions disponibles et de choisir une version non par défaut à installer. Si un paquet tombe en instable, restaurez-le simplement à la version en cours de test.

  9. aptitude enregistre ses actions

    Paquet de journaux Aptitude quil installe, met à jour, et supprime vers / varlog / aptitude, ce qui peut être utile pour comprendre pourquoi les choses ont commencé à casser après la mise à jour dhier, ou lorsque vous avez supprimé un paquet partiticlar.

– voir timide jo

=================== il y a aussi une discussion plus récente de 2010 ici https://superuser.com/questions/93437/aptitude-vs-apt-get-which-is-the-recommended-aka-the-right-tool-to-use sur StackExchange.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *