Journal Frontend à Aptitude

Posté par (page perso) . Licence CC by-sa
40
1
sept.
2012

Debian et Aptitude

Bonjour Nal,

Debian, le « système d'exploitation universel », fournit deux gestionnaires de paquets : APT et Aptitude (basé ce dernier). Le système recommandé par Debian est aptitude.

On peut trouver de nombreux trolls sur APT vs Aptitude, mais là n'est pas la question : leurs interfaces en cli sont moches à tous les deux !

Si on s'est un peu baladé sur d'autres distributions, on peut voir que certains gestionnaires de paquets s'en sortent bien mieux (yum sous Fedora, yaourt sous Arch Linux, …). Mais sous Debian, on a droit un gros pâté illisible.

Alors certes, ça ne va pas déranger madame Michu qui utilise la logithèque, mais pour d'autres personnes…

Transformons tout ça

Étant revenu (en partie) à Debian , la lisibilité d'Aptitude m'ennuyait. J'ai donc pris mes petits doigts, et écrit un script pour arranger un peu ça, et voilà qui a donné Apti (quand on n'a pas d'idée pour le nom…) :

Titre de l'image

Apti s'utilise comme Aptitude, et modifie la présentation des commandes safe-upgrade, full-upgrade, install, remove et search.
En petit bonus : il est possible de lancer apti sans droits root, le mot passe root ou sudo est demandé par la suite si besoin.

Sur une Debian stable, voir la version des paquets lors d'une mise à jour n'est pas forcément utile (encore que…), mais en Testing ou Sid, ça apporte je trouve un vrai plus.

Dépendances : ruby et aptitude
Installation : # cd /usr/local/bin/ && wget http://gnux.legtux.org/src/files/scripts/apti && chmod +x apti

  • # APT vs Aptitude ?

    Posté par . Évalué à  4 .

    Aptitude est un frontend de Apt, donc comparaison difficile ….
    Aptitude is an Ncurses based FrontEnd to Apt, the debian package manager.
    http://wiki.debian.org/Aptitude?action=show&redirect=aptitude

    "L'art est fait pour troubler. La science rassure" (Braque)

    • [^] # Re: APT vs Aptitude ?

      Posté par (page perso) . Évalué à  0 .

      Autant pour moi, j'ai confondu avec apt-get / apt-cache.

    • [^] # Re: APT vs Aptitude ?

      Posté par . Évalué à  6 .

      Hello!

      A noter que Debian déconseille l'utilisation d'aptitude à cause de certaines régressions:

      [EN] In case of doubt, please use the apt-get and apt-cache commands over the aptitude command.

      [FR] Si vous hésitez, utilisez plutôt les commandes apt-get et apt-cache plutôt que la commande aptitude.

      Sinon, très joli résultat! C'est vrai qu'un peu de couleur, ça change tout!

      My 2 cents!

    • [^] # Re: APT vs Aptitude ?

      Posté par . Évalué à  2 .

      Tu as oublié de citer les lignes juste en dessous :

      Aptitude is an Ncurses based FrontEnd to Apt, the debian package manager. Since it is text based, it is run from a terminal or a CLI (command line interface). Aptitude has a number of useful features, including:
      * a mutt-like syntax for matching packages in a flexible manner
      * mark packages as "automatically installed" or "manually installed" so that packages can be auto-removed when no longer required
      * colorful preview of actions about to be taken
      * dselect-like persistence of user actions
      * the ability to retrieve and display the Debian changelog of most packages
      * AptCLI-like (= apt-get + apt-cache) command line mode ("aptitude install foo")
      * Score-based and (usually) smarter dependency resolver than apt-get

      Sur le dernier point au moins, aptitude se démarque sensiblement d'APT

      BeOS le faisait il y a 15 ans !

      • [^] # Re: APT vs Aptitude ?

        Posté par (page perso) . Évalué à  4 .

        Il me semble d'ailleurs avoir lu/entendu qu'il est déconseillé d'utiliser à la fois apt-get et aptitude justement parce qu'ils n'arrivent pas tout le temps aux mêmes conclusions concernant les dépendances. C'est toujours d'actualité ?

        • [^] # Re: APT vs Aptitude ?

          Posté par (page perso) . Évalué à  8 .

          Il me semble que ce n'est plus le cas depuis au moins Lenny.

          « Moi, lorsque je n’ai rien à dire, je veux qu’on le sache. » Raymond Devos

          • [^] # Re: APT vs Aptitude ?

            Posté par . Évalué à  3 .

            Je confirme, "apt-get" aussi maintenant la différence entre les paquets automatiquement installés ou pas… et peu même supprimer les paquets devenus inutiles (apt-get autoremove), bien qu'il ne le fasse pas automatiquement.

            Du coup maintenant sur une Debian stable, les deux outils sont vraiment très similaires je trouve. aptitude est "pratique" (apt-get + apt-cache unifiés), mais apt-get est nettement plus "véloce".

            La seule différence réelle est le résolveur de conflit d'aptitude, qui m'est indispensable en Debian sid. Sans lui, les mises à jour me semblent bien "hasardeuses" : il y a quelques mois, aptitude & apt-get cherchaient fréquemment à virer Gnome, seul le résolveur d'aptitude m'a permis de trouver des solutions.

            • [^] # Re: APT vs Aptitude ?

              Posté par (page perso) . Évalué à  3 .

              mais apt-get est nettement plus "véloce".

              Ça et le fait qu'il cherche dans les descriptions pat défaut fait que je l'utilise par rapport à aptitude. Par contre, j'aime bien qu'aptitude affiche dans les résultats l'état d'installation des paquets.

              « Moi, lorsque je n’ai rien à dire, je veux qu’on le sache. » Raymond Devos

            • [^] # Re: APT vs Aptitude ?

              Posté par . Évalué à  2 .

              supprimer les paquets devenus inutiles (apt-get autoremove), bien qu'il ne le fasse pas automatiquement.

              Tu veux dire que apt-get autoremove fait la même chose que deborphan ? J'utilise aptitude perso (et deborphan donc).

              • [^] # Re: APT vs Aptitude ?

                Posté par (page perso) . Évalué à  2 .

                Ça ne fait pas tout à fait la même chose : apt-get autoremove, ou aptitude upgrade (ça se fait automatiquement avec aptitude), suppriment les paquets orphelins qui avaient été automatiquement installés. deborphan supprime les librairies orphelines (et paquets marqués obsolètes), mais n'est pas vraiment capable de trier les paquets « applications ».

                Deborphan est par contre capable de supprimer une librairie installée manuellement qui ne serait plus utilisée.

        • [^] # Re: APT vs Aptitude ?

          Posté par (page perso) . Évalué à  10 .

          Moi, je n'ai toujours pas compris comment deux gestionnaires de paquets pouvait trouver des dépendances différentes aux mêmes paquets…

          Si quelqu'un pouvait m'expliquer, ce serait sympa.

          • [^] # Re: APT vs Aptitude ?

            Posté par . Évalué à  3 .

            Simplement quand un paquet A indique qu'il dépend de B ou de C.
            C'est ensuite au gestionnaire de paquet de décider s'il va installer B ou bien C, en fonction de divers algos.

            apt-get semble avoir un algo "simple", qui généralement fonctionne bien. aptitude a un algo beaucoup plus complexe, qui lui permet de proposer divers scénarios.

            Par exemple, sur une système sans interface graphique, si tu demandes l'installation d'un soft graphique, le gestionnaire de paquet va devoir prendre des décisions plus ou moins arbitraires sur pas mal de choses afin que le paquet soit installable (Gnome, KDE ? gdm, slim ? etc).

            Non ?

            • [^] # Re: APT vs Aptitude ?

              Posté par . Évalué à  4 .

              Par exemple, sur une système sans interface graphique, si tu demandes l'installation d'un soft graphique, le gestionnaire de paquet va devoir prendre des décisions plus ou moins arbitraires sur pas mal de choses afin que le paquet soit installable (Gnome, KDE ? gdm, slim ? etc).

              Enfin moi si je suis sur une machine sans gestionnaire de fenêtre ni environnement de bureau (et sans xorg) et que je lui demande d'installer un logiciel graphique j'ose esperer qu'il m'installera pas plus que xorg.

              Je suis libre de lancer ce logiciel directement dans X, ou de le lancer à distance. Je ne vois vraiment pas pourquoi il choisirai de m'installer un gestionnaire de fenêtres, un environnement de bureau, un gestionnaire de connexion…

              • [^] # Re: APT vs Aptitude ?

                Posté par . Évalué à  8 .

                Visiblement j'ai pris un bien mauvais exemple : l'installation d'iceweasel ou même de gnote n'installe ni X ni Gnome ou encore GDM.

                Il n'empêche que le principe ne change pas : certaines dépendances ne sont pas limitées à un soft ou une librairie. Un meilleur exemple serait probablement le cas du MTA : un soft qui a besoin d'envoyer des mails se fout un peu qu'on utilise Exim, Postfix, Qmail ou même nullmailer, généralement il va simplement dépendre de "mail-transport-agent", qui lui est un paquet virtuel :
                $ aptitude show mail-transport-agent
                Pas de version courante ou candidate trouvée pour mail-transport-agent
                Paquet : mail-transport-agent
                État: n'est pas un paquet réel
                Fourni par : citadel-mta, courier-mta, dma, esmtp-run, exim4-daemon-heavy, exim4-daemon-light, lsb-invalid-mta, masqmail, msmtp-mta, nullmailer, postfix, qmail-run, sendmail-bin, ssmtp, xmail

                On voit qu'il y a plein de façons de résoudre cette dépendance. Donc si au fil du temps en sid je me retrouve avec un conflit entre un paquet N et exim4-daemon-light apt-get essaiera probablement de virer N alors que aptitude proposera de virer N ou installer un autre MTA, tel que postfix.

              • [^] # Re: APT vs Aptitude ?

                Posté par . Évalué à  3 .

                Enfin moi si je suis sur une machine sans gestionnaire de fenêtre ni environnement de bureau (et sans xorg) et que je lui demande d'installer un logiciel graphique j'ose esperer qu'il m'installera pas plus que xorg.

                Non, il n'installera pas xorg car ce n'est pas une dépendance des programmes graphiques. Tu pourrais lancer le programme avec un affichage déporté.

          • [^] # Re: APT vs Aptitude ?

            Posté par (page perso) . Évalué à  2 .

  • # Miam....

    Posté par (page perso) . Évalué à  4 .

    Ah oui, c'est mieux :)
    en tout cas, je préfère…

    2-3 Autres trucs que j'aime sur Yaourt :
    - La taille de téléchargement et de la mise à jour (Nouveau - anciens)
    - la séparation entre nouvelle version et mise à jour de packaging

    • [^] # Re: Miam....

      Posté par . Évalué à  4 .

      Très sympa effectivement. Du coup, pendant qu'on est sur la whishlist : le "software-center" est capable d'installer plusieurs paquets en parallèle [1], j'adorerais retrouver ce mécanisme en ligne de commande.

      [1] bon ce n'est pas tout à fait vrai, il semble simplement gérer une file d'attente. Mais du coup on peut demander l'installation d'une grosse appli, et durant que cette installation tourne on peut demander l'installation d'une autre appli également… qui sera effectuée après l'autre, évidemment, mais en attendant on est pas obligés d'attendre que les 42Mo soient téléchargés pour ajouter une autre appli à la liste.

  • # Installation

    Posté par (page perso) . Évalué à  6 .

    Pour une question de confiance, l'installation pourrait plutôt être :

    $ wget http://gnux.legtux.org/src/files/scripts/apti
    $ $EDITOR apti
    $ su
    # mv apti /usr/local/bin/
    # chmod +x /usr/local/bin/apti
    
    

    En tout cas, merci pour le script. C'est à tester !

  • # joli

    Posté par (page perso) . Évalué à  3 .

    j'aime beaucoup : )
    On pourrait faire la même chose avec apt-get? (ceci n'est pas un troll)

    wind0w$ suxX, GNU/Linux roxX!

    • [^] # Re: joli

      Posté par (page perso) . Évalué à  2 .

      Je suis dit la même chose et puis j'ai regardé le script.
      Je ne connais pas ruby, mais ça à l'air aisément modifiable.

      Il reste plus qu'a sortir son clavier.

      Sinon, Merci pour ce petit script, il est effectivement assez sympa.

      The next best thing to a good idea is to oppose it.

    • [^] # Re: joli

      Posté par . Évalué à  5 .

      J'aime beaucoup également !

      Etant principalement un utilisateur de Fedora/Redhat, j'avoue que j'ai toujours eu un peu de mal avec l'aspect visuel sous debian comparé à yum. L'idée me parait donc bonne et félicitation pour avoir pris la peine de passer à l'acte :)

      Une remarque peut-être un peu naïve : n'y avait-il pas moyen d'apporter ces améliorations directement à apt (ou aptitude), histoire de ne pas avoir un programme/commande de plus (toujours succeptible d'engendrer de la confusion pour savoir quoi utiliser). Bien sûr, pas en afficahge par défaut, mais avec un flag (comme pour demander le grep en couleur etc).

      D'ailleurs au sujet d'aptitude : autant je vois l'intérêt de son interface ncurse (un équivalent console à synaptic), autant j'ai pas trop compris pourquoi on peut aussi l'utiliser de la même manière qu'apt-get… Bon visiblement c'est un point qui fait débat, mais je trouve étonnant et dommage qu'il y ait ce choix ambigu et pas clair (alors au final debian recommande lequel !?). Mais à la limite, je trouve que tes évolutions trouveraient parfaitement leur place dans aptitude en le différenciant vraiment d'apt.

  • # Pacman

    Posté par (page perso) . Évalué à  7 .

    on peut voir que certains gestionnaires de paquets s'en sortent bien mieux (yum sous Fedora, yaourt sous Arch Linux, […] )

    Le gestionnaire de paquets sous Arch Linux, c'est pacman, pas yaourt. Yaourt n'est qu'un front end AUR à pacman (plus 2-3 bricoles), mais il y en a beaucoup d'autres.

  • # universel

    Posté par . Évalué à  -10 .

    C'est complètement universel en effet debian. Tous les "linux" ont un système d'alternatives, 7 versions de vim différentes, 4 couches à l'installateur de paquets, 9 frontends à ce dernier, …

    Tous les "linux" sont basés dessus. C'est bien connu d'ailleurs, quand je cherche de la documentation pour Slackware, gentoo, archlinux, suse, fedora, je peux complètement suivre les documents debian.

    Tous les "linux" ont une politique de patch et de split, absolument tous, c'est universel.

    Enfin, tous les "linux" ont une communauté francophonne aussi lourdingue que celle de debian, tous …

    C'est triste, il se peut que l'article soit intéressant, je lirais le prochain dans lequel le système d'exploitation universel sera marqué à la fin.

    Universel mon cher Watson !

    • [^] # Re: universel

      Posté par . Évalué à  2 .

      Me semble que la distrib Debian s'auto-proclame universelle car ce serait une de celles qui couvrent le plus grand nombre d'architectures, et qui reste générique (c'est à dire, sans la moindre spécialisation).

      Bref, ça sert uniquement à dire qu'elle peut faire tourner un peu tout, presque partout. En aucun cas il a été dit qu'elle le faisait mieux que les autres. Mais je suis d'accord avec toi, l'adjectif polyvalente serait probablement plus adapté.

    • [^] # Re: universel

      Posté par . Évalué à  10 .

      C'est triste, il se peut que l'article soit intéressant

      C'est triste d'avoir pris le temps de commenter un journal que tu n'a pas lu et qui, de toute évidence, ne t'intéresse pas.

      Un besoin irrépressible de dire haut et fort que tu n'a pas lu et que tu en est fiert ?

      L'auteur a mis ce que tu cite entre guillemets en plus.

      Bref t'es en retard, c'était hier.

      Je suis dans ma tour d'ivoire (rien à foutre des autres, dites moi un truc pour moi), si je ne pose pas explicitement une question pour les 99%, les kévin, les Mm Michu alors c'est que je ne parle pas d'eux.

  • # Autocompletion

    Posté par (page perso) . Évalué à  1 .

    L'idée est excellente et apporte un vrai confort d'utilisation. Cependant avec Zsh (et sans doute avec les autres shell), on perd l'autocompletion.

  • # Aptitude ncurses

    Posté par . Évalué à  3 .

    Bon travail Carif,

    Cependant, savais-tu qu'aptitude avait aussi une interface ncurses qui permet une expérience sensiblement différente de celle offerte en CLI ? Cela permet d'obtenir un menu, de la couleur, une organisation à l'écran plus simple à comprendre, de naviguer entre les diverses solutions proposées en cas de conflit, etc.

    Il suffit de simplement exécuter "aptitude". Voici la page Debian pour avoir un aperçu d'aptitude ncurses.

    • [^] # Re: Aptitude ncurses

      Posté par (page perso) . Évalué à  1 .

      Le peu que j'avais testé, je n'accroche pas du tout. Je préfère l'utilisation en cli, plus efficace je trouve.

      Et pour les mises à jours, le petit alias qui va bien dans le .bashrc : alias maj="su -c 'aptitude update && apti safe-upgrade'"

  • # C'est beau...

    Posté par . Évalué à  3 .

    On dirait du Gentoo !

  • # Remarques

    Posté par . Évalué à  0 .

    Je m'attendais à voir une interface en GTK ou quelque chose du genre. Je ne comprends pas ce que ça apporte par rapport à la version en Ncurses, dans laquelle on aurait fait u U g. Un peu plus rapide ? Il y a pas moyen de lancer tout en une seule ligne, comme aptitude -u qui fait la mise à jour des listes de paquets ?

    Pour l'application recommandée, je crois que les sources varient parce que ça dépend de la version debian. Aptitude apportait la gestion des paquets inutiles, mais maintenant, apt le ferait aussi. Je crois qu'apt est recommandé à partir de Wheezy (et Squeeze ?), de mémoire.

    Mais une fois que j'ai commencé avec aptitude, j'y reste. En effet, les deux ne maintiennent pas la même base de données, donc au niveau des dépendances, ça irait, je crois, mais c'est plus au niveau du nettoyage, que ça ferait n'importe quoi.

    En effet, quand on installe un paquet, ses dépendances installées automatiquement sont marquées comme telles, de telle sorte que lorsque plus personne n'en dépend, elles peuvent être retirées. (Ce marquage est modifiable à la main, au moins dans aptitude.) Si on mélange les deux, on aura des dépendances inutiles qui seront ne seront pas marquées comme automatiques et qui resteront. Je ne sais pas si on s'exposer à plus grave.

    Si j'installais une debian pour moi demain, je ne sais pas ce que je mettrais. J'irai voir qui est conseillé, je pense que c'est apt, mais si aptitude va encore, alors j'hésiterais, car j'aime bien aptitude.

    Si j'installais une debian pour un noob (ben quoi, pourquoi pas ?), je pense que je choisirais apt pour avoir synaptic / unpdate-notifier.

    • [^] # Re: Remarques

      Posté par (page perso) . Évalué à  1 .

      Ben les goûts et les couleurs.
      Perso je préfère utiliser aptitude (apti) en cli. Apti ne gère pas que les mises à jours comme montré sur la capture d'écran, mais aussi les installations/désinstallation et la recherche de paquets.

      Sinon je suis presque sûr que l'on peut mixer apt-get et aptitude sans que cela ne pose de problème au niveau des paquets marqués comme installés automatiquement.

      Quand j'interviens sur la Ubuntu de mes parents, qui utilisent la logithèque (donc apt-get), j'utilise aptitude, et je n'ai repéré aucun problème.

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.