Journal Laisser OpenRC de côté dans Gentoo

Posté par  . Licence CC By‑SA.
Étiquettes :
44
2
déc.
2014

Dans cette dépêche et aussi ailleurs il est souvent sous-entendu que les Gentooistes sont parmi les plus hostiles à systemd, pourtant on est quelques-uns sous cette distribution à avoir fait le grand saut et en être plutôt satisfait, d'autant plus que l'upstream, malgré son choix de conserver OpenRC par défaut, fait tout pour nous simplifier la vie.

Le grand saut ? Enfin pas totalement, OpenRC et derrière lui le paquet sysvinit restent désespérément accrochés au profil de base. Ce qui fait que désinstallés, ils reviendront à la prochaine mise à jour et ce même si aucun autre paquet n'en dépend.

La solution

Une fois systemd installé, configuré comme init par défaut et que vous êtes satisfait de son fonctionnement vous pouvez commencer à envisager de vous passer d'OpenRC.

Pour faire vite :

mkdir /etc/portage/profile
echo '-*sys-apps/openrc' >> /etc/portage/profile/packages
emerge --deselect openrc sysvinit

Et maintenant ?

OpenRC est désélectionné du profil de base (et de toute sa descendance) et éventuellement aussi de votre fichier world, ça ne veut pas dire pour autant qu'il sera automatiquement désinstallé, si un emerge --ask --depclean ne vous propose pas sa suppression (et celles de sysvinit) vérifiez qu'un paquet installé ne dépend pas d'openrc ou sysvinit et bloque leur suppression, utilisez la commande equery du paquet gentoolkit pour cela :

equery depends openrc sysvinit

Normalement, sur une Gentoo à jour avec des paquets pas trop exotiques, seul virtual/service-manager dépend d'openrc (et on s'en fout, il dépend alternativement de systemd et ne devrait donc pas bloquer la désinstallation) et seul openrc dépend de sysvinit (ça tombe bien…).

Les bugs

La politique de Gentoo est d'offrir un maximum de choix à l'utilisateur et ce n'est pas pour « troller » les « zélateurs » de systemd qu'OpenRC est conservé, mais car sa suppression pose encore quelques problèmes :

/etc/init.d/functions.sh

Ce fichier, installé par OpenRC et donc historiquement sensé être présent sur toutes les installations de Gentoo est utilisé hors de la phase d'init par pas-mal de programmes tiers mais spécifiques à Gentoo, pour faire, entre autres, des zolies sorties colorées en mode texte.

Problème, si on vire OpenRC, y'a pû. D'où l'idée de fournir ces fonctions dans un autre paquet, c'est sys-apps/gentoo-functions qui s'y colle et il est normalement installé dans toutes les Gentoo à jour maintenant.

Mais ce paquet fait les choses proprement, /etc/init.d/functions.sh ? Pas trop l'endroit pour ce genre de chose ! functions.sh se retrouve donc dans /lib/gentoo et les programmes dépendants de ce fichiers doivent donc être mis à jour.

Vous pouvez suivre l'état d’avancement de cette tâche sur le bugzilla de Gentoo et si vous utilisez des programmes pas encore patchés un petit ln -s /lib/gentoo/functions.sh /etc/init.d devrait suffire, en attendant.

halt

Le paquet sys-apps/systemd-sysv-utils fournit les commandes habituellement fournies par sysvinit (telinit, runlevel, reboot, poweroff…) maintenant que vous avez dégagés sysvinit, vous pouvez l'installer, ça vous évitera de vous retrouver comme une poule face à une cuillère au moment d'éteindre votre ordinateur.

Sur une distribution Linux moderne, la commande halt va appeler init 0 et c'est le RC script correspondant qui va décider de la version à appeler au final (halt ou poweroff) et donc généralement poweroff considéré par les mainteneurs comme correspondant plus au souhait de l'utilisateur.

systemd, lui, s'offre le luxe d'avoir une unité différente pour chacune de ces commandes et la commande halt se comporte donc « correctement » (càd fait la même chose que la commande halt -f qui ne passe pas par l'init), ce qui a pour effet de ne pas éteindre « électriquement » l'ordinateur, c'est ici le rôle de la commande poweroff.

Si vous avez l'habitude d'éteindre avec la commande halt et que vous n'arrivez pas à changer, pour poweroff (argh quatre caractères de plus) ou halt -p (argh trois caractères de plus) cela peut vous déranger.
Bien sûr rien d'insurmontable ici, vous pouvez faire un alias dans votre shell favori, ou dire à systemd de ce comporter comme les autres inits : ln -s /usr/lib64/systemd/system/systemd-poweroff.service /etc/systemd/system/systemd-halt.service.

Pourquoi ce journal ?

Pour diffuser une astuce à jour, j'ai supprimé OpenRC hier soir et eu beaucoup de mal à trouver comment faire vu que les articles à ce sujet glanés sur Google datent de minimum un an, que leurs conseils à ce sujet sont complètement périmés et que la page man de portage n'est pas très claire sur la syntaxe de certains fichiers.

Et non, je n'ai rien contre OpenRC, c'est un bon système d'init moderne avec suivi des processus, gestion des cgroups, plugins… Beaucoup plus proche de systemd ou upstart (et en mieux, face à ce dernier) que des init SysV traditionnels à la Debian < Jessie ou *BSD.

Juste que j'aime pas avoir des programmes installés en doublon.

  • # Bah pourquoi se dépécher

    Posté par  (site web personnel) . Évalué à -7.

    … alors que d'autres peuvent essuyer les plâtres du passage à systemd ?

    L'un des facteurs majeur poussant les utilisateurs de gentoo à transiter vers systemd n'a-t-il pas été la dépendance des ebuild de gnome3 à systemd ? Tous les utilisateurs de gnome se sont retrouvés à devoir s'essayer à systemd.

    Mais maintenant les problèmes sont résolus : mate et cinnamon sont disponibles en versions stables. On peut tranquillement attendre que systemd absorbe le noyau, et quelques autres éléments ; digère tranquillement ses proies ; puis se stabilise avant de faire la transition ;-).

    « IRAFURORBREVISESTANIMUMREGEQUINISIPARETIMPERAT » — Odes — Horace

    • [^] # Re: Bah pourquoi se dépécher

      Posté par  . Évalué à 4.

      https://lh3.googleusercontent.com/-j2FQERC9w6o/VH2JGxOf1-I/AAAAAAAANww/EG-qyRpNta4/w650-h595-no/Strip-SystmeD-650-finalenglish3.jpg

      « Le pouvoir des Tripodes dépendait de la résignation des hommes à l'esclavage. » -- John Christopher

    • [^] # Re: Bah pourquoi se dépécher

      Posté par  . Évalué à 5.

      En même temps, si personne ne propose de solution pour que les gens essuient les plâtres, ça ne risque pas d'avancer.

      « Rappelez-vous toujours que si la Gestapo avait les moyens de vous faire parler, les politiciens ont, eux, les moyens de vous faire taire. » Coluche

    • [^] # Re: Bah pourquoi se dépécher

      Posté par  . Évalué à 6. Dernière modification le 02 décembre 2014 à 22:18.

      À même temps je m'adresse à ceux qui utilisent déjà systemd comme init.

      J'ai rajouté au dernier moment une petite note qui précise qu'il faut avoir un systemd fonctionnel avant de faire la manip indiquée, mais j'ai failli oublier ce détail tellement il coule de source.

      Mon astuce, c'est juste la cerise sur le gâteau, hors les trucs listés dans la section bugs, supprimer les restes de l’ancien monde ne changera rien.

      • [^] # Re: Bah pourquoi se dépécher

        Posté par  (site web personnel) . Évalué à 5.

        Bien compris en ce qui me concerne.

        « Pour diffuser une astuce à jour […] »

        Je me permet une petite remarque sur la forme et sans tirer sur la queue du troll cette fois : des expressions comme « à jour, nouveau, moderne, actuel… » ne devrait-elle pas scrupuleusement s'accompagner d'informations sur la date à laquelle elles se rapportent (en rouge, gras, clignotant si possible, avec un surlignage fluo). Dans le contexte d'internet ça évite que les gens se cassent la tête sur de belles astuces toutes fraîche au moment de leur publication, mais qui ont suinte d’obsolescence au moment où un lecteur comme vous, si on en croît votre témoignage, les découvre.

        Ce midi — plongé dans la contemplation des rayonnages d'une bibliothèque couverts d'ouvrages poussiéreux et délabrés, dont au moins la moitié utilise une de ces expressions dans son titre — cette réflexion m'est revenue ; et votre astuce de forum y fait écho.

        « IRAFURORBREVISESTANIMUMREGEQUINISIPARETIMPERAT » — Odes — Horace

        • [^] # Re: Bah pourquoi se dépécher

          Posté par  . Évalué à 2.

          Bonne idée en effet, sauf pour l'effet Infonie.

        • [^] # Re: Bah pourquoi se dépécher

          Posté par  . Évalué à 10.

          Bonjour,

          Je me permet une petite remarque […] ne devrait-elle pas scrupuleusement s'accompagner d'informations sur la date à laquelle elles se rapportent.

          Ne trouveriez-vous pas que la date et heure de publication suffisent au lecteur attentif ?

          Matricule 23415

          • [^] # Re: Bah pourquoi se dépécher

            Posté par  . Évalué à 6.

            Dans ce cas oui.
            Mais en général, ǝpɐןƃu∀ nǝıɥʇʇɐW-ǝɹɹǝıԀ a raison : de trop nombreuses pages sur le net n'affichent pas de date alors même que la nature de leur contenu est très périssable.

  • # Pages périmées -> un petit coup de pouce si tu as le temps

    Posté par  . Évalué à 5. Dernière modification le 03 décembre 2014 à 11:30.

    j'ai supprimé OpenRC hier soir et eu beaucoup de mal à trouver comment
    faire vu que les articles à ce sujet glanés sur Google datent de minimum
    un an, que leurs conseils à ce sujet sont complètement périmés

    Salut, merci pour cette astuce intéressante. Si tu trouves un moment, tu pourrais aussi mettre à jour le wiki de gentoo, comme ça les suivants n'auront plus le problème des informations périmées. http://wiki.gentoo.org/wiki/Systemd (Je ne peux pas aider sur ce coup, je n'envisage pas de passer à systemd donc je ne peux pas savoir quelles informations sont périmées sur le wiki)

    • [^] # Re: Pages périmées -> un petit coup de pouce si tu as le temps

      Posté par  . Évalué à 3.

      Le wiki est à jour, mais ne propose pas la suppression totale d'OpenRC et je pense en effet que ce n’est pas l'endroit pour ça tant que le bug #504116 ne sera pas fermé.

      Les sites pas à jour sont surtout des blogs qui proposaient dès 2012 de faire la manipulation, à grand coup de hache à l'époque :D

  • # Instrumentalisation de Gentoo

    Posté par  (site web personnel) . Évalué à 7.

    il est souvent sous-entendu que les Gentooistes sont parmi les plus hostiles à systemd

    Et en tant que Gentooïste je n'apprécie pas du tout ça. Avec cette autre sombre histoire, ça fait beaucoup de gens qui ne comprennent rien à Gentoo mais qui se permettent de l'instrumentaliser.

    Il se trouve qu'un bon nombre utilise déjà systemd depuis longtemps, y compris des développeurs. Moi, je m'en fous un peu, j'ai joué avec systemd sur une autre distribution et j'ai trouvé ça plutôt bien fait. Je n'ai pas de raison de migrer mes systèmes existants pour autant car OpenRC est déjà bien meilleur que les autres systèmes non-systemd.

    Il y a surtout une incompréhension de ce qu'est Gentoo. Tant que c'est possible, le choix va être implémenté. Utiliser un autre système d'init n'a rien de nouveau sous Gentoo (même si la plupart de ceux qui étaient à la mode sont maintenant oubliés). Ou utiliser un système sans PulseAudio (auquel je suis passé volontairement et donc n'ait aucun rapport émotionnel comme bon nombre d'autres victimes de mauvaises distributions), ou même sans PAM pour les aventuriers.

    En tout cas, de plus en plus de paquets sont fournis avec des unités systemd, et OpenRC a le support de tmpfiles.d (une invention de systemd dont le format est très bien documenté - quoi, comment est-ce possible ?!). C'est d'ailleurs sur ça que les anti-systemd devraient se focaliser : implémenter les interfaces documentées de systemd.

    • [^] # Re: Instrumentalisation de Gentoo

      Posté par  (site web personnel) . Évalué à 3.

      il est souvent sous-entendu que les Gentooistes sont parmi les plus hostiles à systemd

      Je comprends pas trop non plus, j'ai l'impression qu'on a plutôt du debianneux chez les frondeurs. Bon ne parlons pas des slackeux, eux ils sont réticents à un solveur de dépendances de paquets, alors un init moderne, je sais même pas si la compréhension du concept leur est accessible.

      • [^] # Re: Instrumentalisation de Gentoo

        Posté par  (site web personnel) . Évalué à 3. Dernière modification le 08 décembre 2014 à 09:55.

        on ne parlons pas des slackeux, eux ils sont réticents à un solveur de dépendances de paquets, alors un init
        moderne, je sais même pas si la compréhension du concept leur est accessible.

        <flameware>
          Tout comme les notions de simplicité et de robustesse échappent aux Débianeux.
        </flamware>
        
        :D
    • [^] # Re: Instrumentalisation de Gentoo

      Posté par  (site web personnel) . Évalué à 2.

      Je suis Gentooiste aussi et je n'ai absolument rien contre systemd. La seule raison pour laquelle je ne l'ai pas encore essayé c'est que je n'ai pas le temps (et que OpenRC marche très bien).

Suivre le flux des commentaires

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