• [^] # Re: C’est du propre

    Posté par . En réponse à la dépêche Entretien avec François Tigeot, développeur DragonFly BSD. Évalué à 10.

    Systemd remplace (hormis le système d’init) l’automontage (mal), la gestion de la veille (sans fournir toutes les fonctionnalités non plus), les journaux système ...

    → Systemd propose une alternative à autofs (avec l'option x-systemd.automount à ajouter dans le fstab). Si cette solution ne satisfait pas ton besoin, libre à toi de ne pas l'utiliser, et de préférer autofs.

    → Systemd se propose de gérer la mise en veille. Si tu préfères qu'il ne le fasse pas, voici comment faire : avec un éditeur de texte, modifie le fichier /etc/systemd/logind.conf, et utilise les options suivantes :

    • HandlePowerKey=ignore
    • HandleSuspendKey=ignore
    • HandleHibernateKey=ignore
    • HandleLidSwitch=ignore

    Bien entendu, tu peux utiliser le traditionnel démon acpid pour gérer la mise en veille, l'hibernation, etc.

    → Systemd centralise les journaux système, et tu peux utiliser syslog qui écrira les logs dans des fichiers texte.

    Bref : que ce soit pour l'automontage, la gestion de l'énergie ou le format des logs, l'utilisateur a le choix.


    À l’opposé, sur un serveur, le démarrage parallélisé, voire à la demande, rend plus difficile de vérifier que tous les services ont démarré correctement.

    Pour vérifier qu'un service a bien démarré :

    journalctl --unit=reseau.service --all
    

    Pour déboguer :

    journalctl --unit=reseau.service --all --follow
    

    Les mêmes options, en version courte :

    journalctl -u reseau.service -a -f
    

    Si le lancement d'un service à la demande ne répond pas à ton besoin, tu peux lancer ce service automatiquement au boot :

    ln -s /usr/lib/systemd/system/machin.service /etc/systemd/system/multi-user.target.wants/
    

    Si le démarrage parallélisé des services ne répond pas à ton besoin, tu peux personnaliser les fichiers .service pour imposer un ordre de démarrage :

    $ cat /etc/systemd/system/truc.service.d/personnalisation.conf
    [Unit]
    # truc.service doit être lancé après machin.service :
    Requires=machin.service
    After=machin.service
    

    Il arrive que des points de montage NFS restent après l’arrêt du réseau

    Ah.
    Peut-être avec en personnalisant nfsd.service ?

    $ cat /etc/systemd/system/nfsd.service.d/personnalisation.conf
    [Unit]
    # nfsd.service doit être *lancé après* reseau.service,
    # et *stoppé avant* reseau.service :
    Requires=reseau.service
    After=reseau.service
    

    Au démarrage, reseau.service sera d'abord lancé, puis ensuite nfsd.service. Et à l'extinction, nous aurons l'ordre inverse : nfsd.service sera stoppé le premier, puis ensuite reseau.service sera stoppé (comme expliqué sur ce lien).