Qu'est-ce qui est apte et aptitude? Et quelle est la vraie différence entre eux?

Qu'est-ce qui est apte et aptitude? Et quelle est la vraie différence entre eux?

Aptitude et apt-get sont deux des outils populaires qui gèrent la gestion des packages. Les deux sont capables de gérer toutes sortes d'activités sur des packages, y compris l'installation, la suppression, la recherche, etc. Mais il existe toujours des différences entre les deux outils qui font que les utilisateurs préfèrent l'un à l'autre. Quelles sont ces différences qui font que ces deux outils à considérer séparément est la portée de cet article.

Différence entre apt et aptitude

Qu'est-ce qui est apte

Apte ou Outil d'emballage avancé est un logiciel gratuit et open source qui gère gracieusement l'installation et la suppression du logiciel. Initialement, il a été conçu pour Debian .deb packages mais il a été rendu compatible avec RPM Package Manager.

Apte est une ligne de commande entière sans interface graphique. Chaque fois qu'on appelle à partir de la ligne de commande avec la spécification du nom du package à installer, il trouve ce package dans la liste configurée de sources spécifiées dans '/ etc / apt / sources.liste' Avec la liste des dépendances pour ce package et les trie et les installe automatiquement avec le package actuel permettant ainsi à l'utilisateur de ne pas s'inquiéter d'installer des dépendances.

Il est très flexible permettant à l'utilisateur de contrôler facilement diverses configurations, comme: l'ajout de toute nouvelle source pour rechercher des packages, apt-pinning i.e. Marquer n'importe quel pack, "intelligent" Mettre à niveau I.e. Mise à niveau des packages les plus importants et en laissant les moins importants.

Qu'est-ce que l'aptitude?

Aptitude est un outil frontal de l'emballage avancé qui ajoute une interface utilisateur aux fonctionnalités, permettant ainsi à un utilisateur à rechercher de manière interactive un package et à l'installer ou à le supprimer. Initialement créé pour Debain, l'aptitude étend également ses fonctionnalités aux distributions basées sur RPM.

Son interface utilisateur est basée sur ncurses bibliothèque qui y ajoute divers éléments couramment vus dans l'interface graphique. L'un de ses points forts est qu'il peut imiter la plupart des arguments de ligne de commande d'Apt-Get.

Dans tout, Aptitude est un gestionnaire de packages de niveau supérieur qui résume les détails de bas niveau et peut fonctionner en mode interactif interactif basé sur le texte et même en mode non interactif de ligne de commande.

Si vous voulez connaître l'utilisation de l'APT et de l'aptitude aux exemples du monde réel, vous devriez vous diriger vers les articles suivants.

  1. Apprenez 25 exemples utiles sur apt-get et apt-cache
  2. Apprenez la gestion des packages Linux avec aptitude et DPKG

Quelles sont les différences entre apt et aptitude?

En plus de la différence principale étant que Aptitude est un gestionnaire de packages de haut niveau APTE est le gestionnaire de packages de niveau inférieur qui peut être utilisé par d'autres gestionnaires de packages de niveau supérieur, d'autres points forts principaux qui séparent ces deux gestionnaires de package sont:

  1. Aptitude est une fonctionnalité plus grande que apt-get et intègre les fonctionnalités d'APT-get et de ses autres variantes, notamment mark et apt-cache.

Alors que apt-get gère toute l'installation du package, la grade de niveau, la mise à niveau du système, le package de purge, la résolution des dépendances, etc., L'aptitude gère beaucoup plus de choses qu'APT, y compris les fonctionnalités de mark et apt-cache je.e. Recherche d'un package dans la liste des packages installés, marquant un package à installer automatiquement ou manuellement, maintenant un pack.

  1. Alors qu'apt-get manque d'interface utilisateur, l'aptitude a une interface utilisateur en texte uniquement et interactive

Apt-get Être un gestionnaire de package de niveau inférieur est limité uniquement à la ligne de commande, tandis que l'aptitude étant un outil de niveau supérieur a une interface interactive en texte par défaut uniquement avec l'option de fonctionnement de la ligne de commande en entrant les commandes requises.

  1. Aptitude a une meilleure gestion des packages qu'apt-get

Dans de nombreuses situations impliquant l'installation, la suppression et la résolution des conflits pour les packages, l'aptitude prouve sa valeur plutôt que sur APT-get. Certaines des situations comprennent:

1. Tout en supprimant tout package installé, Aptitude supprimera automatiquement les colis inutilisés, tandis que apt-get aurait besoin que l'utilisateur le spécifie explicitement en ajoutant l'option supplémentaire de '-Auto-Remove' ou spécifiant 'APT-GET AUTOREMOVE'.4

2. Pour enquêter davantage sur les raisons pour lesquelles certaines mesures sont bloquées ou pourquoi ou pourquoi une certaine action doit être prise, les offres d'aptitude 'pourquoi' et 'pourquoi pas' commandes.

Comme: Aptitude peut vous trouver la raison d'installer un certain pack.

$ aptitude pourquoi yaws-wiki i doc-base suggère dhelp | dwww | Doc-central | Yelp | khelpcenter4 p dwww dépend apache2 | httpd-cgi p 

Comme ici, il a cherché la raison pour installer un package nommé 'Yaws-wiki' être qu'il est suggéré par une dépendance (pian) qui fournit un package virtuel (HTTPD-CGI) sur quel paquet (dwww) a une dépendance et un package (dwww) est suggéré par l'un des packages installés nommés 'doc-base'.

Cette fonctionnalité est manquante dans apt-get.

3. Alors que apt-get Souhait probablement en cas d'action contradictoire concernant l'installation ou la suppression du package avec un message, Aptitude peut suggérer des mesures possibles pour supprimer ce conflit.

Aptitude Fournit une recherche puissante qui peut être utilisée pour rechercher presque n'importe quel package non seulement sur le système mais aussi sur l'ensemble du référentiel.

Alors que apt-get a besoin d'une autre variante de l'APT I.e. apt-cache Pour rechercher un package, l'aptitude fournit un moyen beaucoup plus facile et efficace de rechercher un package qui est installé ou présent dans le référentiel mais qui n'est pas encore installé.

Recherche d'un package à l'aide d'APT-Cache vs aptitude

$ apt-cache Search 'Python' | tête -N4 Kate - éditeur de texte puissant Kcachegrind-Convertres - Convertisseurs de format pour l'outil de visualisation Kcachegrind Profiler Kig - Tool de géométrie interactive pour KDE Python-KDE4 - Lines Python pour la plateforme de développement KDE $ Recherche d'aptitude 'Python' | tête -N4 I Bpython - Interface fantaisie avec l'interprète Python P Bpython-GTK - Interface fantaisie avec l'interprète Python P Bpython-Urwid - Interface fantaisie avec l'interpréteur Python P Bpython3 - Interface fantaisie avec l'interpréteur Python3 

Ici, par défaut apt-cache et aptitude Recherchez un package sur une liste entière de packages dans le référentiel, mais la sortie de l'aptitude montre si le package est installé sur le système ou non en donnant un drapeau par package qui est ici 'P' indiquant que le package est présent mais non installé et 'je' ce qui indique que le package est installé, tandis qu'apt-cache répertorie simplement le package et ses détails en ligne sans dire si le package est installé ou non.

Quelques autres exemples de recherche avancée de packages avec aptitude

1. Recherche d'un package dans le référentiel avec 'Python2.7' au nom du package et '2.7' Dans sa description.

$ Recherche d'aptitude '~ npython2.7 ~ d2.7' p Idle-python2.7 - ide pour python (v2.7) Utilisation de tkinter I libpython2.7 - Bibliothèque d'exécution Python partagée (version 2.7 P libpython2.7: i386 - bibliothèque d'exécution Python partagée (version 2.7 P libpython2.7-dbg - Build de débogage de l'interprète Python (ver P libpython2.7-dbg: i386 - Build de débogage de l'interpréteur Python (ver i a libpython2.7-DEV - Fichiers d'en-tête et une bibliothèque statique pour Pyth p libpython2.7-dev: i386 - fichiers d'en-tête et une bibliothèque statique pour pyth i libpython2.7 minutes - sous-ensemble minimal de la langue python (ver p libpython2.7-moins: i386 - sous-ensemble minimal de la langue python (ver i libpython2.7-stdlib - Lan P libpython2 axé sur les objets de haut niveau de haut niveau.7-stdlib: i386 - Lan P libpython2 axé sur les objets de haut niveau de haut niveau.7-testsuite - Testsuite pour la bibliothèque standard Python I Python2.7 - LAN interactif de haut niveau d'objet P Python2.7: I386 - LAN interactif de haut niveau d'objet P Python2.7-dbg - Build de débogage de l'interprète Python (ver P Python2.7-dbg: i386 - Build de débogage de l'interprète Python (ver i a python2.7-DEV - Fichiers d'en-tête et une bibliothèque statique pour Pyth P Python2.7-dev: i386 - fichiers d'en-tête et une bibliothèque statique pour pyth p python2.7-DOC - Documentation pour l'objet de haut niveau ou P Python2.7-Exemples - Exemples pour la langue Python (v2.7) I Python2.7 minutes - sous-ensemble minimal de la langue python (ver p python2.7-MINIMAL: I386 - Sous-ensemble minimal de la langue Python (ver 

Ici '~ n' indique le nom et '~ D' indique la description. Une autre forme de même commande est:

$ Recherche d'aptitude '?nom (python2.7) ?Description (2.7)' 
Certains autres drapeaux incluent:
  1. ~ i ou ?installée(): Recherche d'un package dans la liste des packages installés uniquement.
  2. ~ U ou ~ Mise à niveau: Répertorie tous les packages qui sont mis à niveau avec leurs dernières versions disponibles.
  3. ~ E ou ?Essentiel(): Ces packages installés ou disponibles, qui sont essentiels.
$ versions d'aptitude '?Mise à niveau '| tête -N 12 Package apache2: pH 2.4.7-1Ubuntu4 Trusty 500 PH 2.4.7-1ubuntu4.5 fiduciaire de sécurité 500 ih 2.4.7-1ubuntu4.8 100 pH 2.4.7-1ubuntu4.9 Package de fiducie 500 APACHE2-BIN: P A 2.4.7-1ubuntu4 Trusty 500 P A 2.4.7-1ubuntu4.5 fiduciaire de sécurité 500 I A 2.4.7-1ubuntu4.8 100 p a 2.4.7-1ubuntu4.9 Trusty-updates 500 

Comme une liste restreinte indiquée ici de 3 packages avec version installée (indiquée par 'je') et leur version midogue présente (indiquée par 'P').

2. Trouver tous les packages qui fournissent un service particulier

Pour trouver tous les packages que celles-ci fournissent smtp service:

$ Recherche d'aptitude '?fournit (smtp) ' p libghc-smtpclient-dev - bibliothèque client haskell smtp haskell p libghc-smtpclient-dev: i386 - bibliothèque client haskell smtp p libghc-smtpclient-prof - bibliothèque client haskell simple haskell; Profil p libghc-smtpclient-prof: i386 - bibliothèque client haskell smtp haskell; Profil p syslog-ng-mod-smtp - démon de journalisation du système amélioré (smtp plugi p syslog-ng-mod-smtp: i386 - démon de journalisation du système amélioré (smtp plugi 

3. Trouver tous les packages qui suggèrent un certain package

Comme ici, nous énumérons tous les packages qui suggèrent 'gcc' emballer.

$ Recherche d'aptitude '~ dousggests: gcc' | tête -N10 P BOCHS - IA-32 PC EMULATEUR P BOCHS: I386 - IA-32 PC EMulator P CPP-4.4 - GNU C Prerocesseur P CPP-4.4: I386 - PRÉSPRANCEUR GNU C.6 - GNU C PRÉSCORSEUR P CPP-4.6: I386 - PRANTROCESSEUR GNU C.7 - GNU C PRÉSCORSEUR P CPP-4.7: I386 - PRANTROCESSEUR GNU C.7-arm-linux-gnueabi - GNU C Prerocesseur P CPP-4.7-Arm-Linux-Gnueabi: I386 - Prérocesseur GNU C 

Conclusion

Ainsi, pour la plupart des cas, la syntaxe de Aptitude est gardé presque la même que celle de apt-get, Pour faire que les utilisateurs d'APT-Get ont moins de douleur à migrer vers l'aptitude, mais en plus de cela, de nombreuses fonctionnalités puissantes sont intégrées dans l'aptitude qui en font le choix. En dehors de ces différences que nous avons soulignées, si vous trouvez d'autres différences intéressantes entre ces deux gestionnaires de packages, mentionnez-les dans vos commentaires.