• [^] # Re: systemd

    Posté par . En réponse à la dépêche Petit état de l'art des systèmes d'initialisation (1). Évalué à 1.

    Je suis plutôt d’accord, néanmoins quelques points sur lesquels je souhaiterais discuter.

    Tout d’abord, la documentation dans le script, je trouve ça bof. Évidemment si tu veux modifier le script tu peux te faire plaisir, mettre de la documentation concernant le fonctionnement interne et les variables, etc. Pour les utilisateurs, systemd offre la commande systemctl help [nom de l’unité]. C’est dommage, ça n’offre que la documentation pour les trucs internes à systemd pour le moment, mais c’est un truc qui existe depuis le début (systemd est très bien documenté depuis le début d’après ce que j’ai pu voir).

    D’autre part, même à fonctionnalité égale la syntaxe des fichiers d’unité systemd est plus sympa, avec User, Group ou TimeoutSec, OOMScoreAdjust (ces dernières fonctionnalités semblent manquer dans ton exemple...). Dans tous les cas, oui on peut faire aussi cours ou presque en script Shell, mais le fait d’utiliser des champs déclaratifs et pas des scripts ça permet d’introduire facilement un comportement unifié, sans pour autant empêcher de faire un script Shell! Du coup, on pourrait tout à fait utiliser le script Shell de l’unité rcNG et l’utiliser en conjonction avec systemd. Ça serais sans doute légèrement plus propre. Dans tous les cas c’est pas le script Shell qui m’intéresse mais ce qui gravite autour et qui est assez rébarbatif à faire, et sur ce point-là systemd est quand même bon.

    Enfin,

    # Add the following line to /etc/rc.conf to enable PostgreSQL:
    #
    # postgresql_enable="YES"
    # # optional
    # postgresql_data="/usr/local/pgsql/data"
    # postgresql_flags="-w -s -m fast"
    # postgresql_initdb_flags="--encoding=utf-8 --lc-collate=C"
    # postgresql_class="default"
    # postgresql_profiles=""
    

    Je trouve pas ça super propre quand une commande peut faire les choses à notre place en faisant toutes les vérifications nécessaires (systemctl...), même si c’est ce que je faisais avec le /etc/rc.conf d’Arch Linux. Par contre je sais pas du tout comment on peut gérer les variables de ce type dans systemd, est-ce que quelqu’un a une idée de comment ça se fait? Perso je préfère laisser le logiciel tel quel sans script fait par la distro (mais c’est sans doute parce que je suis archlinuxien), mais pour d’autres distributions ça a un intérêt certains.

    Écrit en Bépo selon l’orthographe de 1990