En fait, une phrase résume bien la raison pour laquelle je n'aime pas systemd : "A full exposition of systemd would take a book on its own." alors que les systèmes d'init plus classiques n'ont besoin que d'un chapitre dans un bouquin d'admin système, et de connaitre un peu le scripting shell pour être compris.
Je pense que la véritable erreur est là. systemd n'est pas juste un système d'init, c'est une collection de services bas niveau dont gestionnaire d'init mais aussi de session, etc. Donc il est normal qu'il soit plus complexe et complet, l'ensemble des parties de systemd est bien plus vaste que init.
En plus systemd a de nombreux comportements qui sont fournis d'entrée de jeux. Il suffit de configurer le service pour exploiter le comportement qu'on veut. init de SysV est vraiment rudimentaire, la complexité est en fait dans le script shell du service et tu dois tout faire à la main. Donc oui systemd est complexe à côté, mais la complexité est cachée à l'utilisateur et assumé de manière commune à tous les services.
Et systemd peut prendre en charge de manière uniforme tous les services, configurer SELinux, le redémarrage en cas de crash de l'application, etc. Avec init chaque service le fait à sa sauce, parfois ne le gère pas, parfois de manière différente d'un autre, etc. Bref, ce n'est pas parfait non plus...
Il faut comparer ce qui est comparable, systemd n'est pas qu'un système d'init et au niveau fonctionnel systemd gère la complexité lui même et ne la reporte pas sur le shell et les scripts de démarrages de chaque service.
[^] # Re: Merci pour la dédicace ... :)
Posté par Renault (site web personnel) . En réponse au journal Petites brèves en vrac. Évalué à 10.
Je pense que la véritable erreur est là. systemd n'est pas juste un système d'init, c'est une collection de services bas niveau dont gestionnaire d'init mais aussi de session, etc. Donc il est normal qu'il soit plus complexe et complet, l'ensemble des parties de systemd est bien plus vaste que init.
En plus systemd a de nombreux comportements qui sont fournis d'entrée de jeux. Il suffit de configurer le service pour exploiter le comportement qu'on veut. init de SysV est vraiment rudimentaire, la complexité est en fait dans le script shell du service et tu dois tout faire à la main. Donc oui systemd est complexe à côté, mais la complexité est cachée à l'utilisateur et assumé de manière commune à tous les services.
Et systemd peut prendre en charge de manière uniforme tous les services, configurer SELinux, le redémarrage en cas de crash de l'application, etc. Avec init chaque service le fait à sa sauce, parfois ne le gère pas, parfois de manière différente d'un autre, etc. Bref, ce n'est pas parfait non plus...
Il faut comparer ce qui est comparable, systemd n'est pas qu'un système d'init et au niveau fonctionnel systemd gère la complexité lui même et ne la reporte pas sur le shell et les scripts de démarrages de chaque service.