Je sais que les deux apt-get
et aptitude
sont des interfaces de gestion des paquets de ligne de commande sur Debian Linux dérivées, avec des options différentes, mais je suis encore un peu confus. Sous le capot, n'utilisent-ils pas le même système APT?
Pourquoi Debian maintient-il ces outils parallèles? (Question bonus: qu'est - ce est wajig ?)
debian
package-management
apt
aptitude
Kevin Cantu
la source
la source
Réponses:
La différence la plus évidente est que
aptitude
fournit une interface de menu terminal (un peu comme Synaptic dans un terminal), alors que ceapt-get
n’est pas le cas.En considérant uniquement les interfaces de ligne de commande de chacune d'elles, elles sont assez similaires et, pour la plupart, peu importe celle que vous utilisez. Les versions récentes des deux suivront quels paquets ont été installés manuellement et lesquels ont été installés en tant que dépendances (et donc éligibles pour une 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 paquets installés manuellement ou automatiquement. le passé.
Il y a quelques différences mineures:
Il y a d'autres petites différences, mais ce sont les plus importantes auxquelles je puisse penser.
En bref, aptitude appartient plus correctement à la catégorie avec Synaptic et d’autres interfaces de gestion de paquets de niveau supérieur. Il se trouve que notre interface de ligne de commande ressemble à apt-get.
Bonus Round: Qu'est-ce que Wajig?
Rappelez-vous comment j'ai 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 quelles commandes fournissent quelles commandes. Wajig est une solution à ce problème. Il s’agit essentiellement d’un répartiteur, d’une enveloppe autour de tous ces outils. Il applique également sudo lorsque cela est nécessaire. Quand vous dites
wajig install foo
, Wajig dit "Ok,install
est fourni parapt-get
et requiert des privilèges d'administrateur", et tout fonctionnesudo apt-get install foo
. Quand vous diteswajig search foo
, wajig dit "Ok,search
est fourni parapt-cache
et ne nécessite pas de privilèges d'administrateur", et il s'exécuteapt-cache search foo
. Si vous utilisez wajig au lieu d'apt-get, d'apt-mark, d'apt-cache et d'autres, vous n'aurez jamais ce problème:Si vous voulez savoir ce que wajig est en train de faire dans les coulisses, les outils qu'il utilise pour mettre en œuvre une commande particulière, il a
--simulate
et--teaching
modes.Deux commandes wajig que j’utilise souvent sont
wajig listfiles foo
etwajig whichpkg /usr/bin/foo
.la source
aptitude install linux-im
tab), alors que c’est très rapide pour apt-get. Il semble y avoir un peu de cache présent dans la famille apt-get qui manque d'aptitude.aptitude
ont également l’impressionnantaptitude search
que vous pouvez utiliser avec des modèles de recherche très puissants . Vous avezaptitude reinstall
. Vous pouvez également utiliser l'interface ncurses (menu du terminal) pour préparer des opérations de paquetage complexes, telles que la mise à niveau partielle, la suppression d'un paquetage, le gel d'un autre paquetier, la mise à niveau de celui-ci, que vous pouvez ensuite exécuter en une seule opération . résolveur de conflit interactif .aptitude
doit égalementaptitude download package-name
récupérer le fichier .deb du paquet!aptitude
mais est dedansapt-get
, et c'estapt-get --compile source package-name
.apt-get build-dep package-name
existe mais je pense queaptitude build-dep package-name
faire un meilleur travail.Je me suis souvent demandé. Wikipedia souligne que la caractéristique principale est qu'aptitude possède une interface plein écran en mode texte (curses). Le fait que vous puissiez utiliser la plupart des
apt-get
arguments de commande avecaptitude
lui-même est simplement une décision de conception visant à faciliter leapt-get
déplacement des utilisateurs versaptitude
et vice-versa.Je ne l'ai jamais utilisé
wajig
, mais la documentation suggère qu'il ne s'agit que d'un script qui sait si vous lui transmettez undeb
fichier (lorsqu'il s'exécutedpkg
) ou unapt
nom de package (lorsqu'il s'exécute à laapt-get
place). Pourriez-vous l'essayer et voir si c'est ce qu'il fait?Bien sûr, la vraie différence est la suivante:
la source
aptitude
a plus. Vous avez oublié de mettre les-v
drapeaux sans fin àmoo
. (Vous pouvez aller jusqu'à-vvvvvv
)apt-get
ont maisaptitude
ne l'ont pas. (Essayez--help
les deux)aptitude est le programme préféré pour la gestion des paquets à partir de 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 l'outil et des fonctionnalités dont il dispose sur apt-get: http://www.debian.org/doc/FAQ/ch-pkgtools.en.html#s-aptitude
Donc, mon conseil est de simplement apt-get install apt apt :)
la source
aptitude
ont beaucoup plus de fonctionnalités avancées, comme la recherche et le mode plein écran, queapt-get
.aptitude
se souvient quels paquets ont été explicitement demandés et lesquels n'ont été installés qu'en raison de dépendances. Il désinstallera automatiquement les packages qui n'étaient pas explicitement demandés lorsqu'ils ne sont plus nécessaires.apt-get
traite explicitement les paquets demandés et leurs dépendances.Donc, mieux utiliser
aptitude
, cela aide à garder votre système propre.la source
apt-get autoremove
commande pour supprimer les paquets installés uniquement en tant que dépendances. Je ne sais pas quand cette fonctionnalité a été ajoutée, mais un site Web suggère que cela aurait pu arriver à Debian Lenny (juin 2010).apt-get autoremove
ne supprime pas les packages installés uniquement en tant que dépendances, il supprime les dépendances orphelines, ce qui constitue une différence subtile; il ne peut pas dire si un paquet 'feuille' a été installé avec intention ou comme dépendance, donc il le laisse, où aptitude le saurait et le supprime.aptitude
mais il s'agit clairement d'une fonctionnalité révolutionnaire.apt-get
, ainsi que les divers outils associés, utilisent beaucoup moins de mémoire que les appels respectifs en ligne de commandeaptitude
et sont un peu plus rapides. J'étais inconsciemment inconscient de cela jusqu'à ce que j'essaye de mettre à niveau l'installation Debian sur un vieux thinkpad pentium assoupi avec 32 Mo de RAM. Cela prendrait une heure ou deux d’échanges de swap pourapt-get
aboutir, qui s’est déroulée avec succès;aptitude
échouerait après je pense une plus longue période de temps.Cette distinction est plus ou moins sans importance pour tout ce qui ressemble à un système de bureau moderne.
la source
S'appuyant sur la réponse de @ Gaurav, les œufs de Pâques dans les deux gestionnaires de paquets sont assez amusants !:
etc.
la source
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-timer-apt-get/1749#1749.
la source
Comme mentionné , http://pthree.org/2007/08/12/aptitude-vs-apt-get/ ,
aptitude
a une interface de ligne de commande beaucoup plus facile à utiliser.Le système sous-jacent n'est pas juste
apt
, maisdpkg
. Ce système est aussi bête que RPM, il ne peut gérer que l’installation et l’administration de paquets uniques. Il suit quels fichiers installés appartiennent à quel paquet.apt
gère les téléchargements de référentiels, le suivi des dépendances, etc. pour tous les packages individuels - qu'il installe ensuite à l'aide dedpkg
.aptitude
fait la même chose, avec une interface différente.la source
Apt-get et aptitude reposent tous deux sur la bibliothèque APT, oui.
Voir ma réponse sur serverfault.com .
Debian n'est pas une entité monolithique, certaines personnes ont des opinions divergentes et le responsable des aptitudes a décidé qu'apt-get avait quelques défauts et souhaitait construire quelque chose de mieux avec aptitude. Il a amélioré la logique de trouver des solutions pour les scénarios de mise à jour complexes, a ajouté une interface graphique pour la console, etc. Et il y a plus que apt-get et aptitude, voir mon article apt-get, aptitude, ... choisir le gestionnaire de paquets pour vous .
la source
Je ne sais pas si cela tient toujours, mais Joey Hess, développeur Debian pour Debian, a toujours eu l'habitude de préconiser aptitude plutôt qu'apt-get. Bien sûr, les choses doivent changer à mesure que le logiciel évolue. Apt-get gère désormais les dépendances mieux qu’avant. De http://lists.debian.org/debian-user/2004/04/msg03138.html
Date: mar 20 avr 2004 22:27:12 -0400 De: Joey Hess
Neuf raisons pour lesquelles vous devriez utiliser aptitude au lieu d’apt-get ou de dselect.
aptitude peut ressembler à apt-get
Si vous exécutez 'aptitude update' ou 'aptitude upgrade' ou 'aptitude install', cela ressemblera et fonctionnera comme avec apt-get, avec quelques améliorations. Donc, il n'y a pas de courbe d'apprentissage.
(Si vous êtes un utilisateur de dselect, l’apprentissage de la courbe n’est évidemment pas un de vos problèmes.)
aptitude suit automatiquement les paquets installés
Ne craignez plus d'élaguer les bibliothèques inutilisées et les packages de support de votre système. Si vous utilisez aptitude pour tout installer, il gardera une trace des paquets extraits uniquement par les dépendances et supprimera ces paquets quand ils ne sont plus nécessaires.
aptitude sanely gère recommande
Un échec de longue date d'apt-get est son manque de soutien pour la relation de recommandation. Ce qui pose problème car de nombreux paquets dans Debian s’appuient sur Recommande pour intégrer les logiciels que l’utilisateur moyen utilise généralement avec ce paquet. Ceci est une cause fréquente de problèmes, même si apt-get a récemment été capable de mentionner au moins les paquets recommandés, il est facile de rater ses avertissements.
Aptitude prend en charge Recommends par défaut et peut également être configuré pour prendre en charge Suggests. Il prend même en charge l'installation des packages recommandés lorsqu'il est utilisé en mode ligne de commande.
utilisez aptitude en tant qu'utilisateur normal et évitez d'arroser votre système
Peut-être que vous ne saviez pas que vous pouvez exécuter aptitude en mode gui en tant qu'utilisateur régulier. Apportez les modifications que vous souhaitez essayer. Si vous tombez dans le pétrin, vous pouvez appuyer sur 'q' et quitter, vos modifications ne seront pas enregistrées. (Aptitude vous permet également d’utiliser ctrl-u pour annuler les modifications.) Puisqu'il fonctionne en tant qu'utilisateur normal, vous ne pouvez pas exécuter le test sur votre système tant que vous n'avez pas indiqué à aptitude de faire quelque chose. À ce stade, il vous demandera votre mot de passe root.
aptitude dispose d'une interface utilisateur puissante et de capacités de recherche
Entre le navigateur catégorique d’aptitude et son excellent support pour le filtrage selon le style mutt et la recherche de paquets par nom, description, mainteneur, dépendances, etc., vous devriez pouvoir trouver des paquets plus rapidement que jamais avant d’utiliser aptitude.
aptitude facilite le suivi des logiciels obsolètes
Si Debian cesse de distribuer un paquet, apt le laissera indéfiniment sur votre système, sans avertissements ni mises à niveau. Aptitude répertorie de tels packages dans sa section "Packages obsolètes et créés localement", afin que vous puissiez être informé du problème et y remédier.
aptitude a une interface avec le système de tâches Debian
Aptitude vous permet d'utiliser le système de tâches de Debian tel qu'il a été conçu pour être utilisé. Vous pouvez parcourir les tâches disponibles, sélectionner une tâche à installer, puis y plonger et désélectionner des parties de la tâche que vous ne souhaitez pas. apt-get ne prend pas en charge les tâches et aptitude est même meilleur que des outils spécifiques tels que tasksel.
aptitude prend en charge plusieurs sources
Si votre fichier sources.list est configuré pour rendre plusieurs versions d’un paquet disponible, aptitude vous permet d’avancer pour voir les versions disponibles et choisir une version autre que celle par défaut à installer. Si un paquet tombe en mode instable, remettez-le simplement à la version en cours de test.
aptitude enregistre ses actions
Le paquet de journaux d'Aptitude est installé, mis à niveau et supprimé dans / varlog / aptitude, ce qui peut être utile pour comprendre pourquoi les choses ont commencé à se rompre après la mise à niveau d'hier ou lorsque vous avez supprimé un paquet partiticlar.
- vois timide jo
================== il y a aussi une discussion plus récente de 2010 ici https://superuser.com/questions/93437/aptitude-vs-apt-get-which- est-le-recommandé-aka-le-bon-outil-à-utiliser sur StackExchange.
la source