Il y’a d’une part ma faute (je n’arrive pas/n’ai pas envie de me plonger dans systemd/je lis les scripts bash assez intuitivement) et d’une part systemd (je peux pas juste lancer un grep dans le répertoire init pour voir ce qui est censé tourner, je peux pas simplement limiter la horde de process qui tournent sur mon ordi dès le démarrage).
Je pense que c'est surtout le premier point le problème. Si on veut, on peut très facilement comprendre comment fonctionne systemd. (Par exemple avec ça https://wiki.archlinux.org/title/Systemd)
je peux pas juste lancer un grep dans le répertoire init pour voir ce qui est censé tourner
Tout est dans /etc/systemd/system/ (configuration "admin", des liens symboliques) et /usr/lib/systemd/system/ (configuration "développeur", des fichiers)
ls -l /etc/systemd/system/default.target me dit que par défaut on lance /usr/lib/systemd/system/graphical.target (chez moi, Fedora 36)
Un cat /usr/lib/systemd/system/graphical.target (ou directement grep -E "(Wants|Requires)" /etc/systemd/system/default.target te dit qu'on a besoin de multi-user.target et display-manager.service (si possible).
Un ls /etc/systemd/system/graphical.target.wants me dit que mon admin a aussi rajouté 6 autres services voulu par graphical.target. (Je te laisse voir lesquels)
Et tu peux continuer comme ça a descendre l'arbre de dépendances. (削除) Alors oui, c'est un peu plus compliqué qu'un dossier avec des scripts 10_foo.sh, 50_bar.sh... où tu peux voir rapidement ce qui sera lancé et dans quel ordre. (削除ここまで) Alors oui, c'est plus facile de configurer son système. Il suffit de rajouter un lien symbolique dans /etc/systemd/system/foo.target.wants vers un service pour que le service soit lancé. T'as pas besoins de gérer les dépendances et de renommer tes fichiers avec des nombres pour garder un système globalement cohérent pour être sur que tout se lance dans l'ordre.
Toute les commandes à base de systemctl, c'est des outils "user-friendly" pour faire les liens et parcourir l'arbre des dépendances à ta place. Mais t'en a pas besoin.
Si tu veux l'arbre de dépendances : systemctl list-dependencies
Rajouter un lien symbolique pour mettre un service en dépendance d'une target : systemctl add-requires TARGET UNIT
je peux pas simplement limiter la horde de process qui tournent sur mon ordi dès le démarrage).
Tu vires des liens symboliques et c'est bon.
C'est pas vraiment plus compliquer que virer tout les scripts dans un dossier pour sysVinit. C'est juste que sysVinit tu connais et que systemd non.
mais j’explore justement le contraire "qu’est-ce qui casse si je touche à le truc".
Tu te crées une nouvelle target à toi, sans dépendance et tu fais pointer /etc/systemd/system/default.target dessus. Tu devrais vite voir ce qui casse :)
[^] # Re: Je pose la question dans l'autre sens
Posté par GaMa (site web personnel) . En réponse au journal Les problèmes d’un desktop sans systemd ?. Évalué à 10.
Je pense que c'est surtout le premier point le problème. Si on veut, on peut très facilement comprendre comment fonctionne systemd. (Par exemple avec ça https://wiki.archlinux.org/title/Systemd)
Tout est dans
/etc/systemd/system/(configuration "admin", des liens symboliques) et/usr/lib/systemd/system/(configuration "développeur", des fichiers)ls -l /etc/systemd/system/default.targetme dit que par défaut on lance/usr/lib/systemd/system/graphical.target(chez moi, Fedora 36)Un
cat /usr/lib/systemd/system/graphical.target(ou directementgrep -E "(Wants|Requires)" /etc/systemd/system/default.targette dit qu'on a besoin demulti-user.targetetdisplay-manager.service(si possible).Un
ls /etc/systemd/system/graphical.target.wantsme dit que mon admin a aussi rajouté 6 autres services voulu pargraphical.target. (Je te laisse voir lesquels)Et tu peux continuer comme ça a descendre l'arbre de dépendances.
(削除) Alors oui, c'est un peu plus compliqué qu'un dossier avec des scriptsAlors oui, c'est plus facile de configurer son système. Il suffit de rajouter un lien symbolique dans10_foo.sh,50_bar.sh... où tu peux voir rapidement ce qui sera lancé et dans quel ordre. (削除ここまで)/etc/systemd/system/foo.target.wantsvers un service pour que le service soit lancé. T'as pas besoins de gérer les dépendances et de renommer tes fichiers avec des nombres pour garder un système globalement cohérent pour être sur que tout se lance dans l'ordre.Toute les commandes à base de
systemctl, c'est des outils "user-friendly" pour faire les liens et parcourir l'arbre des dépendances à ta place. Mais t'en a pas besoin.Si tu veux l'arbre de dépendances :
systemctl list-dependenciesRajouter un lien symbolique pour mettre un service en dépendance d'une target :
systemctl add-requires TARGET UNITTu vires des liens symboliques et c'est bon.
C'est pas vraiment plus compliquer que virer tout les scripts dans un dossier pour sysVinit. C'est juste que sysVinit tu connais et que systemd non.
Tu te crées une nouvelle
targetà toi, sans dépendance et tu fais pointer/etc/systemd/system/default.targetdessus. Tu devrais vite voir ce qui casse :)Matthieu Gautier|irc:starmad