Forum Linux.debian/ubuntu La démence des packageurs debian ou un bug ?

Posté par . Licence CC by-sa
Tags : aucun
1
7
mai
2016

Hello.

Suis-je le seul à trouver ça bizarre ?

pi@raspberrypi:~ $ sudo apt-get install ruby-dbus
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following extra packages will be installed:
  javascript-common libjs-jquery libruby2.1 libyaml-0-2 ruby ruby-glib2 ruby2.1 rubygems-integration
Suggested packages:
  apache2 lighttpd httpd ri ruby-dev ruby-nokogiri bundler
The following NEW packages will be installed:
  javascript-common libjs-jquery libruby2.1 libyaml-0-2 ruby ruby-dbus ruby-glib2 ruby2.1 rubygems-integration
0 upgraded, 9 newly installed, 0 to remove and 0 not upgraded.
Need to get 3,660 kB of archives.
After this operation, 15.9 MB of additional disk space will be used.
Do you want to continue? [Y/n] Y

d'autant plus que si je supprime ensuite libjs-jquery:


pi@raspberrypi:~ $ sudo apt-get remove libjs-jquery
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages will be REMOVED:
  libjs-jquery
0 upgraded, 0 newly installed, 1 to remove and 0 not upgraded.
After this operation, 388 kB disk space will be freed.
Do you want to continue? [Y/n] y
(Reading database ... 33652 files and directories currently installed.)
Removing libjs-jquery (1.7.2+dfsg-3.2) ...
pi@raspberrypi:~ $ sudo apt-cache policy ruby-dbus
ruby-dbus:
  Installed: 0.11.0-1
  Candidate: 0.11.0-1
  Version table:
 *** 0.11.0-1 0
        500 http://mirrordirector.raspbian.org/raspbian/ jessie/main armhf Packages
        100 /var/lib/dpkg/status

OS : Raspbian Jessie.

Auriez-vous une explication ? (ce n'est pas la première fois que je remarque ce genre de délire avec les paquets sous Debian/Ubuntu).

  • # Explique

    Posté par . Évalué à 2.

    Qu'est-ce qui est bizarre ? Je ne vois pas le problème.

    • [^] # Re: Explique

      Posté par . Évalué à 2.

      Le problème ? des dépendance superflue :

      1/ Pourquoi des dépendances à jquery pour une lib dbus ruby ?
      2/ Pourquoi lorsque je supprime ces fameuses dépendances, il ne me rale pas dessus en disant que c'est requis par la lib que j'ai installée ?

      • [^] # Re: Explique

        Posté par . Évalué à 6.

        Ah, je comprends. En plus des dépendances, APT gère des "paquets suggérés" et des "paquets recommandés", qui sont un genre de dépendance, non obligatoires. Les premiers sont par défaut mentionnés mais pas installés, les seconds sont installés avec les dépendances.

        Tu peux gérer ce comportement avec les options --no-install-recommends, --install-proposed, --install-recommends et --no-install-proposed. (Pas utilisé APT depuis quelques temps, pas sûr des options exactes).

        Du coup, ici, ces paquets en plus doivent être marqués "recommandés", et sont installés même si pas obligatoires. Et comme ils ne sont pas obligatoires, apt-get ne s'oppose pas à leur désinstallation.

  • # Recommandations/Suggestions

    Posté par . Évalué à 2.

    Par défaut, apt installe les paquets en "Recommends" (et parfois les paquets en "Suggests"), il faut à tout prix désactiver l'installation automatique des Recommends/Suggests, c'est une connerie monumentale : https://askubuntu.com/questions/179060/how-not-to-install-recommended-and-suggested-packages

    Dans ton cas, ça arrive car ruby-dbus dépend (indirectement) de ruby2.1 qui recommande libjs-jquery, etc.

    • [^] # Re: Recommandations/Suggestions

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

      il faut à tout prix désactiver l'installation automatique des Recommends/Suggests, c'est une connerie monumentale

      Non, par exemple un logiciel de retouche d’image fonctionne très bien sans prendre en charge les exif (les métadonnées ne sont pas l’image), donc on peut imaginer mettre la bibliothèque qui prend en charge les exif en recommends. Dans le cas où les recommends ne sont pas installées par défaut, le gars qui installe un logiciel d’image sans faire gaffe il se met à retoucher ses images et perd les métadonnées à chaque enregistrement (oui j’ai vécu cela il y a très longtemps sur une autre distro). Le mécanisme des recommends est là pour permettre de se satisfaire de moins si dans un cas particulier cela suffit, mais les recommends correspondent à l’expérience utilisateur que la distribution soigne.

      Autre exemple : quand l’utilisateur installe un bureau, l’utilisateur espère généralement un bureau complet, pas uniquement un gestionnaire de session et de fenêtre. Le mécanisme des recommends est là pour permettre à l’utilisateur averti de retirer des choses qui ne lui plaisent pas dans son cas particulier et qui, par chance, sont optionnelles. L’expérience utilisateur Debian c’est avec les recommends, personne n’a jamais réfléchi à la qualité de l’expérience utilisateur sans les recommends, les recommends sont là uniquement parce qu’il est à la fois possible de fournir une expérience utilisateur bien léchée, et à la fois permettre au cas particulier de se restreindre à moins fonctionnel.

      Si tu demandes à apt de ne jamais installer les recommends, en fait tu demandes à apt de ne jamais rien installer quoi que ce soit dès lors qu’un jour un développeur a permis de rendre une dépendance optionnelle. Ça signifie aussi qu’à chaque fois qu’un développeur rend une dépendance optionnelle pour satisfaire le besoin d’un tiers (pas toi), Debian place cette dépendance en recommends, et donc toi, entre deux installations, tu perds des fonctionnalité.

      Ça signifie aussi que tu obtiens une expérience utilisateur que personne au monde n’a jamais pensée, réfléchi, et préparé. Ton expérience utilisateur n’est plus que ce qui reste après que tu aies retiré tout ce que tout le monde dans le monde a permis de retirer, sans jamais comparer cela avec ton propre besoin. Ton expérience utilisateur n’est alors dictée que par la capacité des développeurs à rendre des parties optionnelles ou non.

      En fait si tu n’installes jamais les recommends et que le résultat te convient, tu ne le dois qu’à une seule chose qui te déplaît : ce que tu utilises n’a pas été conçu pour permettre de se passer de certaines fonctionnalité, et tu es obligé de te farcir ces dépendances.

      ce commentaire est sous licence cc by 4 et précédentes

      • [^] # Re: Recommandations/Suggestions

        Posté par . Évalué à 4.

        personnellement, sur un raspberry pi, je préfère lui dire explicitement ce que je veux installer, pour économiser de la place. Idem sur un serveur, mais pas forcément pour les mêmes raison (qui dit paquet installé dit paquet supplémentaire à vérifier du point de vue de la sécurité). Et aujourd'hui, sur une machine de bureau, je suis regardant au niveau de l'espace consommé, en raison de l'arrivée des SSD qui en général pour le même prix sont plus petit. Sinon au final, en ce qui concerne l'installation du jquery pour du ruby (alors que je n'ai pas demandé de rails), je trouve ça complêtement superflu. Qu'il passe en suggéré, pourquoi pas, mais en recommandé, ça n'a pas vraiment de sens.

        Sinon, merci à tous pour vos réponses, je vais modifier la conf apt pour ne plus les installer. Encore une question : y a-t-il un moyen de supprimer tous ces paquets?

        • [^] # Re: Recommandations/Suggestions

          Posté par . Évalué à 2.

          Une méthode ici. Il faut ajouter les options

          APT::AutoRemove::RecommendsImportant "false";
          APT::AutoRemove::SuggestsImportant "false";
          

          pour qu'APT ne considère plus ces paquets comme des dépendances. Ensuite, un apt-get autoremove fera le nettoyage.

        • [^] # Re: Recommandations/Suggestions

          Posté par . Évalué à 2.

          Idem sur un serveur

          Ah le fameux ssh qui recommande xauth (pour le X forwarding) et du coup te ramène la moitié de Xorg avec lui…

          Je ne désactive pas systématiquement les paquets recommandés, surtout que si tu cherche à les installer par la suite c'est assez galère. Mais je connaît quelques paquets où les recommends sont vachement indésirables.

          • [^] # Re: Recommandations/Suggestions

            Posté par . Évalué à 2.

            Salut,

            Ah le fameux ssh qui recommande xauth (pour le X forwarding)

            N'empêche que pour la plus-part des utilisateurs (mode linux pour le desktop), X est déjà installé et c'est pratique. Et que pour un admin de serveur (mode « admin », donc), s'il fait pas gaffe à ses paquets tirés par dépendances, y'a peut-être un soucis entre le clavier et la chaise.

            On aurait beaucoup plus de "travail" ici si le mode sans X était inactivé à répondre à des questions d'utilisateurs novices à mon avis.

            Le choix par défaut est donc peut-être le bon dans un bon nombre d'usages courants. ;-)

      • [^] # Re: Recommandations/Suggestions

        Posté par . Évalué à 2.

        quand l’utilisateur installe un bureau, l’utilisateur espère généralement un bureau complet, pas uniquement un gestionnaire de session et de fenêtre

        Il y a déjà des paquets comme "kde-standard" ou "gnome" qui installe un bureau complet.

        Non, par exemple un logiciel de retouche d’image fonctionne très bien sans prendre en charge les exif (les métadonnées ne sont pas l’image), donc on peut imaginer mettre la bibliothèque qui prend en charge les exif en recommends. Dans le cas où les recommends ne sont pas installées par défaut, le gars qui installe un logiciel d’image sans faire gaffe il se met à retoucher ses images et perd les métadonnées à chaque enregistrement (oui j’ai vécu cela il y a très longtemps sur une autre distro). Le mécanisme des recommends est là pour permettre de se satisfaire de moins si dans un cas particulier cela suffit, mais les recommends correspondent à l’expérience utilisateur que la distribution soigne.

        Et ben j'ai pas du tout la même expérience, les Recommends, c'est très souvent tirer un tas de dépendances dont on n'a rien à faire, comme par exemple l'interpréteur ruby qui dépend de jquery et de apache, grâce à la puissance du Recommends…

        • [^] # Re: Recommandations/Suggestions

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

          Dans les préférences de aptitude, en mode interactif, je décoche toujours la case "installer automatiquement les paquets recommandés".

          Du coups, lorsque j'ai choisi mes paquets et que je prépare l'installation (touche G), aptitude va me montrer les paquets à supprimer, les paquets installé automatiquement à cause des dépendances, les paquets à installer, et me proposer les paquets recommandés ainsi que ceux suggérés.
          Je peux donc facilement ajouter ces paquets un par un, puis je ressort (Q), et je prépare de nouveau l'installation (G) etc..

          Quand je suis satisfait de la liste des opérations j'appuie de nouveau sur la touche G et le téléchargement et l'installation commence.

          aptitude en mode interactif est très pratique.

          En laissant les recommandations en installation automatique,on se retrouve juste avec une quantité phénoménales de trucs à télécharger et à installer.

          Pour un débutant, c'est peut être préférable…

          • [^] # Re: Recommandations/Suggestions

            Posté par . Évalué à 4.

            Sous Arch Linux, les paquets recommandés n'existent pas, et seules les dépendances nécessaires sont installées automatiquement. Mais à l'installation d'un paquet, une liste similaire aux paquets suggérés est affichée, avec en face de chaque nom de paquet son utilité pour ce qu'on vient d'installer. Je trouve que c'est le meilleur système, même pour un débutant, qui n'a pas plus besoin de bloat que les autres, et a besoin qu'on l'informe au lieu de le prendre pour un idiot.

        • [^] # Re: Recommandations/Suggestions

          Posté par . Évalué à 3.

          Je suis assez d'accord avec toi, d'autant plus que pour pouvoir reproduire/documenter, c'est pas génial.

          La j'ai fait un certain nombre de configurations sur mon raspberry qui risquent de ne plus fonctionner lorsque j'aurai fait le nettoyage.

Suivre le flux des commentaires

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