fnux a écrit 2 commentaires

  • [^] # Re: Un peu d'air frais

    Posté par  . En réponse à la dépêche Haiku R1 bêta 1. Évalué à 4.

    Vous oubliez cependant OS/2 né en 1987 puis sa version 32 bit à partir de 1992 qui fut à l'origine de NT et qui était bien plus performant, stable et sécurisé jusqu'à son malheureux abandon par Big Blue pour de très mauvaises raisons commerciales invoquées par les barrons de la PC Company en guerre avec la Software Company.

    N'engage pas une débat lors d'un dîner car celui qui n'a pas faim aura le denier mot.

  • [^] # Re: systemd

    Posté par  . En réponse au journal Devuan a deux ans . Évalué à 0.

    Bonjour,

    systemd n'a (à mon humble et modeste avis) rien de mauvais.

    En revanche, et après utilisation, sa structuration ne lui donne vraiment pas autant de souplesse que les scripts "init" (.sh) de sysVinit.

    Par exemple, essaye de faire l'équivalent de ceci avec systemd :

     #!/bin/sh
     PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/my_stuff" 
     SUPATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/my_stuff" 
     CLASSPATH=$CLASSPATH":/usr/share/java/scala-library.jar" 
     export PATH CLASSPATH ENV_SUPATH 
    
     ### BEGIN INIT INFO 
     # Provides:          My_stuff
     # Required-Start:    $remote_fs $syslog 
     # Required-Stop:     $remote_fs $syslog 
     # Default-Start:     2 3 4 5 
     # Default-Stop:      0 1 6 
     # Short-Description: My_stuff init script 
     # Description:       This init script can start my_stuff in deamon or client mode, restart it, stop it and request its status and version
     ### END INIT INFO 
    
     # Author: Fnux, fnux.fl at gmail dot com 
     # Version: 1.0 as of 10.02.2013 
    
     Name=my_stuff 
     My_stuff_path=/opt/my_stuff
     START="-d" 
     STOP="-k" 
     TEST="" 
     VERSION="-v" 
     SCRIPT_NAME=/etc/init.d/$Name 
     START_DLG="\\nStarting My_stuff in deamon mode.\\n" 
     UP_DLG="\\nMy_stuff is running.\\n" 
     DOWN_DLG="\\nMy_stuff is not running!\\n" 
     CLIENT_DLG="\\nStarting My_stuff in client mode.\\nHit Ctrl+C (or close the terminal) to stop My_stuff.\\n" 
     STATUS_TEST=`pidof $Name` 
    
     # Exit if My_stuff is not installed 
     [ -x "$My_stuff_path/$Name" ] || exit 0 
    
     case "$1" in 
       start) 
         sleep 3 
         echo $START_DLG 
         cd $My_stuff_path 
         ./$Name $START 
         ;; 
       stop) 
         cd $My_stuff_path 
         ./$Name $STOP 
         ;; 
       status) 
         if [ "$STATUS_TEST" > 0 ] ; then 
           echo $UP_DLG 
         else 
           echo $DOWN_DLG 
         fi 
         ;; 
       restart) 
         cd $My_stuff_path 
         ./$Name $STOP 
         echo $START_DLG 
         ./$Name $START 
         ;; 
       version) 
         cd $My_stuff_path 
         ./$Name $VERSION 
         ;; 
       client) 
         cd $My_stuff_path 
         echo $CLIENT_DLG
         ./$Name 
         ;; 
       *) 
         echo "Usage: $SCRIPT_NAME {start|status|restart|stop|version|client}" >&2 
         exit 3 
         ;; 
     esac 
     : 
    

    Perso, je n'y suis jamais arrivé, et pire encore, malgré de très nombreuses recherches sur de nombreux fora, personne n'a jamais réussi à trouver une solution pour permettre à mon "unit" ci-dessous de proposer les 7 options de mon script "init" à savoir ajouter les options client, status, version et l'invocation de my_stuff sans switch !

     [Unit]
     Description=My_stuff
     ConditionFileExecutable=/opt/my_stuff/my_stuff
     After=NetworkManager.service
    
     [Service]
     Type=oneshot
     Environment="PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/my_stuff"
     ExecStart=/opt/my_stuff/my_stuff -d
     ExecStop=/opt/my_stuff/my_stuff -k
     ExecRestart=/opt/my_stuff/my_stuff-k : /opt/my_stuff/my_stuff -d
     TimeoutSec=0
     RemainAfterExit=yes
    
     [Install]
     WantedBy=multi-user.target
    

    De plus, il est dit que systemd est compatible avec les scripts de sysVint, mais je n'ai jamais trouvé non plus comment le faire.

    Si tu parviens à l'une ou l'autre de ces deux solutions, je suis vraiment preneur.

    Merci d'avance.

    Cordialement.

    N'engage pas une débat lors d'un dîner car celui qui n'a pas faim aura le denier mot.