DOWNGRADE, INITIALISATION : revenir au paquet systemd 44-11

Bonjour,

j’ai voulu tester un paquet (python3-memprof) dans le dépôt testing. Par le jeu des dépendances, celui-ci m’a été proposé avec tout un tas de mises à jour vers testing. Je me suis dit : “allez, tentons, il paraît que de toute manière on peut facilement revenir en arrière sur les mises à jour des paquets, et ce sera l’occasion de tester testing”.

Bon, après 48h de test, je ne suis pas satisfait (c’est d’ailleurs probablement plus lié à Gnome qu’à Debian, passons). J’aimerais donc revenir en arrière. Je suis parvenu à nettoyer pas mal de paquets (en suivantcette page), mais le processus bloque sur systemd (et j’ai réinstallé certains paquets pour avoir un environnement graphique sans lequel je serais encore plus perdu). En effet, il est devenu le nouveau “machin” (système d’amorçage ?) par défaut, et un apt-get remove systemd me demande de définir un autre système d’amorçage par défaut avant la suppression du paquet, ce que je ne sais pas faire.

J’ai parcouru quelques pages, comme celle-ci, qui me renseigne sur comment régler systemd comme système par défaut, mais je n’ai pas l’impression que cela soit reproductible à l’envers (typiquement, passer init=/bin/sysvinit semble sans espoir, puisqu’il n’y a pas de tel fichier dans le dossier /bin). Je précise aussi que pour le moment, je ne sais pas passer un paramètre au noyau pour le démarrage, que ce soit au moment du démarrage, ou comme réglage pour le démarrage suivant. J’ai aussi lu ce fil ; je vois chez moi que le fichier /proc/cmdline donne comme seules options ro et quiet, que le fichier /etc/inittab ressemble à celui mis dans ce fil, mais je ne sais pas quoi faire de ces infos.

Bien entendu, je sais aussi que j’ai d’autres options : rester sous testing avec un environnement de bureau moins gourmand, réinstaller tout le système avec une Wheezy propre, ou y aller à coup de dpkg ; mais les deux premières sont un peu brutales et ne me feront pas apprendre grand-chose, et la dernière semble encore plus difficile que ce que je tente de faire.

Merci de votre lecture et de vos éventuelles réponses.

packages.debian.org/fr/jessie/sysvinit

Tu démarres la machine. À l’apparition du tableau grub, tu sélectionnes l’entrée grub à démarrer à l’aide des flèches haut|bas. Tu appuyes sur la touche E comme edit. Tu te places sur la ligne linux (/boot/vmlinuz-*) et tu y ajoutes l’argument [mono]init=/lib/sysvinit/init[/mono] puis F10 ou ctrl+X ou autre combinaison pour le démarrer.

Je suis en train de procéder au donwgrade avec aptitude, qui semble pour le moment donner de bons résultats : j’ai pu revenir à la version wheezy du paquet systemd. Mais il reste encore pas mal de nettoyage à faire, j’avais fichu un joli bordel, et je n’ai pas encore atteint le moment critique du redémarrage.

Ceci dit la question demeure, même si je parviens au bout de mon nettoyage : comment régler sysvinit comme système de démarrage plutôt que systemd ? Je trouve ce dernier peu convivial et même désagréable : je tiens à ce que le système me tienne informé de ce qu’il fait quand il démarre.

(conflit d’edit) @Etxeberrizahar : merci, je vais tester au prochain redémarrage.

@etxeberrizahar. Fait avec l’option init=/sbin/init de https://packages.debian.org/fr/wheezy/sysvinit. Cela fonctionne. Il me reste à trouver comment régler pour ce soit l’option par défaut, je verrai ça ce soir (et à retrouver un environnement graphique, mais je ne m’inquiète pas trop pour ça).

Merci !

Pour utiliser SysV comme système d’init par défaut il faut que tu installes le paquet sysvinit-core, ce qui devrait au passage causer la désinstallation de systemd-sysv.

sysvinit est bien revenu par défaut, et je n’entends plus parler de systemd. Je ne sais pas si c’est parce que l’option passée manuellement au démarrage comme indiqué par etxeberrizahar persiste pour les démarrages suivants, ou si la réinstallation du paquet sysvinit le réactive comme système d’initialisation par défaut. En tout cas, ça marche.

Sinon, l’exercice d’aller débusquer, à la main, un à un, les paquets restant d’un passage sous testing et qui empêchent la réinstallation d’un environnement de bureau tournant sous Wheezy, est particulièrement fastidieux : je le déconseille.

L’option passée à grub grâce à E comme edit n’est qu’une édition ponctuelle qui n’est pas persistante. Pour la rendre persistante il aurait fallu éditer les réglages généraux de grub en /etc afin que les mises à jour de grub (update-grub) prennent en compte l’init défini.
Comment s’explique donc sysvinit par défaut ?
Nous supposons que tu as désinstallé systemd et installé sysvinit non pas de jessie mais sysvinit de wheezy.

Compare la description de sysvinit de jessie à celle de wheezy :
packages.debian.org/fr/wheezy/sysvinit

[quote]
Ce paquet contient les programmes requis pour démarrer un système Debian et assurer la gestion de base des processus.

Le programme le plus important de ce paquet est /sbin/init. C’est le premier processus (il a le numéro de processus 1) lancé au démarrage qui s’exécute jusqu’à ce que le système soit arrêté. Tous les autres processus descendent de lui. [/quote]
Sysvinit de jessie est un paquet de transition offrant une compatibilité avec SysV avec une option init= explicite au démarrage. Sysvinit de wheezy offre SysV plein et entier sans avoir à passer d’arguments au démarrage.