Systemd est-il seulement un système d'init ?

A force de lire tous ces messages sur systemd le réduisant à un simple système d’init, je vous pose la question.

A mon avis, systemd aurait dû s’appeler management. C’est un intermédiaire (un de plus) entre l’utilisateur et le système d’exploitation.

Qu’en pensez-vous ?

Clairement non, et c’est bien ça qui lui ai reproché !
Il veut tout faire sous prétexte que tout a voir avec le système d’init.
Je ne suis pas d’accord avec ton idée que Systemd est un intermédiaire entre le SE et l’utilisateur, il FAIT PARTI du SE. Pour ce que je sais Sytemd n’invente pas de nouveau service/role il ne fait que les remplacer en bien ou en mal.

Pour son renommage en effet «management» aurait été plus adapté à sa forme actuelle. On voie apparaitre la distinction avec ou sans systemd dans les distib, son impacte est vraiment énorme.

@Mimoza : merci pour cette réponse.

systemd serait alors une sorte d’intramédiaire. :slightly_smiling:

Rien que pour le qualifier, il faut inventer un mot.

svchost

@fran.b : ouais et visal stdio code qui s’avance sous linux…

J’ai lu quelque part que pour les bureaux que nous utilisons, on parlait d’un desktop-environment, et que pour systemd, on pouvait parler d’un system-environment.
Je suis assez d’accord avec ça. Bien sur que non, ce n’est pas qu’un système d’init.

Gnome3 + systemd + noyau Linux = ???-OS

Quelqu’un pourrait-il définir exactement ce que doit être un système d’init, à quoi il ne doit que servir ?
Son rôle, quoi.
Merci

on peut aussi créer ses propres services.
forums.archlinux.fr/viewtopic.php?f=18&t=16076

@Ricardo : Pour moi un système d’init ne doit travailler que pendant la phase de démarrage et d’arrêt d’un PC (hors arrêt relance de service). Ne pas se mêler de la gestion du matériel, des logs ou du Cron par exemple. Juste se contenter de faire en sorte que depuis le lancement du noyau jusqu’à un état stable du système il s’assure que tous les service et composant du SE soit bien lancé dans le bon ordre. Enfin ça c’est ma vision d’un système d’init, je ne suis pas expert en la question. :030

@Misaine : Je ne parle pas de service tel qu’un FTP ou autre, mais plus de la gestion d’un composant indispensable au SE pour son fonctionnement. Heureusement que Systemd permette de créer de nouveau service. :038

[quote=“ricardo”]Quelqu’un pourrait-il définir exactement ce que doit être un système d’init, à quoi il ne doit que servir ?
Son rôle, quoi.
Merci[/quote]
Simple, le système d’exploitation (linux donc) n’est qu’une couche assurant l’interface entre la machine et les programmes, cela assure l’excecution de processus, l’etancheité entre, les privilèges, etc.
Lorsque tu utilises un ordinateur, tu veux au moins pouvoir lancer un programme. Tu dois donc démarrer la machine avec un programme permettant à un utilisateur de se connecter et de lancer lui même un programme. Idéalement, tu as également envie de lancer des programmes systématiques automatiquement (les démons) permettant de lancer le réseau, les imprimantes, etc dont souvent un processus de démarrage d’un utilisateur. Le processus qui lance tout ça est init, le père de tous les processus tournant. Initialement c’était un programme lançant les scripts de /etc/rc*.d un par un ou en parallèle avec innserv. systemd est un tout nouveau init. Le problème est que jusqu’à présent ce processus lançait des programmes absolument indépendants les uns des autres, c’est le fameux «une tache un programme», via des scripts en clair et des sorties en clair lisibles par l’oeil humain (conséquences du «Keep It Simple, Stupid!». systemd est un init qui a grossi et a tout avalé sous prétexte que c’est lancé à l’initialisation, systemd intègre désormais le système de logging (désormais en binaire donc illisible!), udev, le système d’authentification et pam, cron, at, etc. transformant le démarrage de linux en une grande boite noire très puissante certes. Tu comprends l’analogie avec l’ordinateur de bord d’une voiture, le jour où ça plante, tu ne peux plus rien faire. D’un autre coté ton démarrage est rapide.
systemd lance en fait toute une batterie de processus gérant tout cela, comme windows lance toute une batterie de processus svchost gérant chacun des services. que systemd [svchost] connaisse un bug et tout ou partie des services peut être impacté et linux [windows] peut planter. De même que svchost a dissocié les services dans plusieurs DLL, systemd a dissocié les services dans des binaires séparés. Cependant ces binaires [DLL] sont dépendants et impossible à utiliser séparemment sauf par le biais d’artifices (systemd-shim). Plus ça va, plus je pense que systemd est une très mauvaise idée dans son principe, mais je suis peut être dans l’erreur.

[quote=“fran.b”]svchost[/quote]Rétropédalage ?

Merci François et les autres, au moins, maintenant, c’est clair pour moi.
Dès le début des discussions sur ces sujets, je pensais à l’analogie avec Windows et sa politique : “cliquez et nous faisons le reste”. Malheureusement, quand ça plante, faut tout recharger.

Systemd est à voir comme une interface entre le noyau et le système d’exploitation.
Le système d’init (gestion des services, et rien d’autre) n’est qu’une des fonctionnalités de systemd.

De là à dire si c’est ou non une bonne chose, les avis divergent franchement. Perso je ne me suis pas encore fait un avis “définitif”, ça fait trop peu de temps que j’utilise ce système pour ça.

Le gros problème autour de cette polémique ce sont essentiellement tous ceux qui “parlent sans savoir”, qui ont noyé tous les arguments valables sous une masse de pseudo-arguments forgés de toutes pièces, gratinés de mauvaise foi.
Qu’on s’inquiète (comme fran.b le fait ici) de l’architecture de systemd et des implications potentielles de celle-ci, ou (comme BelZéButh nous en parle beaucoup ces temps-ci) de la difficulté croissante d’utiliser des systèmes alternatifs, tout ça conduit à des discussions saines qui ne peuvent conduire qu’à l’amélioration de systemd et/ou ses alternatives. Malheureusement le débat tourne beaucoup trop facilement autour des thèmes « C’est un logiciel écrit par Lennart, donc c’est de la mârde ! » ou « C’est un complot de Red Hat pour prendre le contrôle de Linux ! », fermant toute discussion, et par conséquent toute possibilité de réfléchir à de vraies solutions.

Le seul conseil que je donnerai au sujet de systemd, pour ceux qui ont plusieurs machines, est d’en garder au moins une avec le système “classique” SysV, cron, etc., et d’utiliser en parallèle au moins une machine avec systemd. C’est ce que je pratique au quotidien à peu près depuis l’arrivée de systemd dans Debian (avec Wheezy), et ça me permet de contrôler et comparer régulièrement le fonctionnement de ces systèmes.
Le simple fait qu’après tout ce temps je ne me sois pas encore fait un avis tranché me suffit comme signe que cette question est bien plus complexe que ce qu’ont pourrait penser au premier abord, et que la question « Systemd est-il le Mal, ou l’Avenir ? » n’a pas de réponse évidente.

Je pense que systemd a eu les yeux plus gros que le ventre. Faire une nouveau system d’init c’est bien, qu’il ai des avantages face aux anciens c’est mieux. Mais qu’il commence a tout remplacer et lier c’est mal venu, surtout pour ceux qui veulent suivre l’esprit KISS.

Lennart a une politique très tranché sur comment déveloper un composant pour Linux. Il a dit très clairement que si l’on voulait avoir quelque chose de performent il ne fallait plus suivre POSIX et exploiter aux maximum les fonctionnalités du noyau, ce qu’il a fait avec systemd.

Bref il a été le poil a grater des conventions précédemment établi dans le monde Linux et ça ça dérange énormément a tort où a raison.

Je pense qu’il est toujours bon de se remettre en question de temps a auter, mais le défaut qu’il y a eu avec systemd c’est qu’aucune alternative crédible/populaire n’est venu le concurencer, du coup il s’est “imposer” naturellement.

le marteau -> systemd / GNU / Linux <- l’enclume

Prochaine étape, kdbus, l’intégration de dbus au kernel Linux. Pour l’instant c’est controversé, et Linus Torvalds l’a encore repoussé après le 4.1
kdbus est “emmené” par le bras droit de Lennart Poettering, mais porté par tout le projet systemd.

phoronix.com/scan.php?page=n … -Linux-4.1

[quote=“Mimoza”]Je pense que systemd a eu les yeux plus gros que le ventre. Faire une nouveau system d’init c’est bien, qu’il ai des avantages face aux anciens c’est mieux. Mais qu’il commence a tout remplacer et lier c’est mal venu, surtout pour ceux qui veulent suivre l’esprit KISS.

Lennart a une politique très tranché sur comment déveloper un composant pour Linux. Il a dit très clairement que si l’on voulait avoir quelque chose de performent il ne fallait plus suivre POSIX et exploiter aux maximum les fonctionnalités du noyau, ce qu’il a fait avec systemd.

Bref il a été le poil a grater des conventions précédemment établi dans le monde Linux et ça ça dérange énormément a tort où a raison.

Je pense qu’il est toujours bon de se remettre en question de temps a auter, mais le défaut qu’il y a eu avec systemd c’est qu’aucune alternative crédible/populaire n’est venu le concurencer, du coup il s’est “imposer” naturellement.[/quote]

KISS : attention faut pas se voiler avec sa factorisation limite à l’extrême Systemd est KISS d’un certains points de vue, il ne réinvente pas la roue mais permet de réutiliser pas mal de code ce qui implique qu’il améliore le maintient du code.

Maintenant je me demande si une autre personne que Lennart avait proposer ça est-ce qu’il y aurait eu autant de bruit ?

Systemd vous dérange ? rejoignez moi sur des système BSD :077

[quote=“dpascal”]Prochaine étape, kdbus, l’intégration de dbus au kernel Linux. Pour l’instant c’est controversé, et Linus Torvalds l’a encore repoussé après le 4.1
kdbus est “emmené” par le bras droit de Lennart Poettering, mais porté par tout le projet systemd.[/quote]
Tu m’étonnes, le progrès allait dans le sens d’une libération du noyau en confiant le plus de taches à des programmes utilisateurs (udev en est le parfait exemple), ici on fait la démarche inverse. On va finir avec un système avec un noyau , systemd (un deuxième noyau qui regroupe toutes les taches systèmes tournant en espace utilisateur) et ce qui accepte cette construction c’est à dire Gnome. Le reste devra se débrouiller. J’attend avec impatience l’intégration de l’audio/video à systemd, il ne reste plus que ça.

Oui, mais là, en tout cas pour kdbus, c’est un peu Lennart contre Linus.
Ce dernier ne s’est pas gêné de les envoyer ch*** vertement, avec son langage châtié, et à plusieurs reprises.
A suivre … Et pas mal de développeurs noyau sont contre.

Pour ceux qui utiliseraient les DVD d’installation proposés par debian, des précisions :

  • systemd-sysv est sur le DVD 1 (c’est le défaut)
  • sysvinit-core est sur le DVD 2
  • upstart est sur le DVD 7

Sachant qu’en bittorrent ou en iso, seuls les 3 premiers DVD sont proposés, pour le DVD 7, il faut le reconstruire à l’aide de la commande [mono]jigdo-lite[/mono] disponible dans le paquet jigdo-file.

De toute façon, utiliser jigdo est recommandé. :slightly_smiling:

réf :
http://cdimage.debian.org/cdimage/release/current/amd64/list-dvd/