systemctl enable service - hilfe benötigt

  • Moin,


    ich möchte von mir benötigte netzwerkrouten nach einem neustart setzen und bin wie folgt vorgegangen:


    • setroutes.service angelegt unter: /etc/systemd/system chmod 744


    • setroutes.sh angelegt unter: /usr/script/systemd chmod 664




    Bash: /usr/script/systemd/setroutes.sh
    #!/bin/sh
    /sbin/route add -net 10.242.0.0 netmask 255.255.0.0 gw 192.168.99.1
    /sbin/route add -net 172.16.20.0 netmask 255.255.255.0 gw 192.168.99.1
    date > /tmp/setroutes.log
    echo "route add -net 10.242.0.0 netmask 255.255.0.0 gw 192.168.99.1 - OK" >> /tmp/setroutes.log
    echo "route add -net 172.16.20.0 netmask 255.255.255.0 gw 192.168.99.1 - OK" >> /tmp/setroutes.log
    exit 0


    enabled mit:



    root@dm920:~# systemctl enable setroutes.service
    Created symlink /etc/systemd/system/multi-user.target.wants/setroutes.service → /etc/systemd/system/setroutes.service.


    test:


    root@dm920:~# systemctl start setroutes.service

    root@dm920:~# systemctl status setroutes.service
    ● setroutes.service - set required routes
    Loaded: loaded (/etc/systemd/system/setroutes.service; enabled; vendor preset: enabled)
    Active: failed (Result: exit-code) since Thu 2018-03-01 14:42:47 CET; 2s ago
    Process: 3349 ExecStart=/usr/script/systemd/setroutes.sh (code=exited, status=203/EXEC)
    Main PID: 3349 (code=exited, status=203/EXEC)



    Mar 01 14:42:47 dm920 systemd[1]: Started set required routes.
    Mar 01 14:42:47 dm920 systemd[3349]: setroutes.service: Failed at step EXEC spawning /usr/script/systemd/setroutes.sh: No such file or directory
    Mar 01 14:42:47 dm920 systemd[1]: setroutes.service: Main process exited, code=exited, status=203/EXEC
    Mar 01 14:42:47 dm920 systemd[1]: setroutes.service: Unit entered failed state.
    Mar 01 14:42:47 dm920 systemd[1]: setroutes.service: Failed with result 'exit-code'.


    Ich checke es nicht warum gesagt wird das die Datei bzw das *.sh Script nicht vorhanden sein soll ...


    Ein manuelles starten mit:


    root@dm920:~# sh /usr/script/systemd/setroutes.sh
    route: SIOCADDRT: File exists
    route: SIOCADDRT: File exists
    funktioniert (SIOCADDRT: File exists kommt weil die Routen schon vorhanden sind).




    Hat jemand ne Idee? Bin völlig neu in dem Thema. :confused_face::confused_face::confused_face:


    Besten Dank im Vorwege

  • ich kenne mich da auch nicht mit aus... aber eine moeglichkeit waere, dass das filesystem, auf dem /usr/bla liegt zum zeitpunkt der execution noch nicht gemountet ist.

  • Dann kommt folgendes:


    root@dm920:~# systemctl status setroutes.service
    â setroutes.service - set required routes
    Loaded: loaded (/etc/systemd/system/setroutes.service; enabled; vendor preset: enabled)
    Active: failed (Result: exit-code) since Thu 2018-03-01 18:35:22 CET; 3s ago
    Process: 11973 ExecStart=/bin/sh -c /usr/script/systemd/setroutes.sh (code=exited, status=126)
    Main PID: 11973 (code=exited, status=126)



    Mar 01 18:35:22 dm920 systemd[1]: Started set required routes.
    Mar 01 18:35:22 dm920 sh[11973]: /bin/sh: /usr/script/systemd/setroutes.sh: /bin/sh^M: bad interpreter: No such file or directory
    Mar 01 18:35:22 dm920 systemd[1]: setroutes.service: Main process exited, code=exited, status=126/n/a
    Mar 01 18:35:22 dm920 systemd[1]: setroutes.service: Unit entered failed state.
    Mar 01 18:35:22 dm920 systemd[1]: setroutes.service: Failed with result 'exit-code'.
    root@dm920:~#



    Hmmm :thinking_face:


    EDIT: Wenn das Script in /usr/bin/ liegt, ebenfalls , gleicher Fehler

  • Datei ist nicht mit unix-Zeilenenden. kannst ja mal dos2unix setroutes.sh machen in telnet

    Gruss
    Dre


    Boxen (im Einsatz): DM920, DM900, DMOne
    Developer Project Merlin - we are OpenSource

  • Am besten verwendest du unter windows: notepad++. Beim mac sollte das zeilenende sowieso schon auf linux sein. beim notepad++ kannst du linxuzeilenende als standard definieren.

    Gruss
    Dre


    Boxen (im Einsatz): DM920, DM900, DMOne
    Developer Project Merlin - we are OpenSource

  • Man soll kein Betriebsystem wegen seiner Herkunft, seinem Geschlecht, seiner Religion, oder seiner sexuellen Orientierung diskriminieren.

  • Ok, ich mag es nicht, weil es immer langsamer wird, je mehr updates du installierst. Und temp ist sehr dauerhaft, wenn du nicht eingreifst.

    Gruss
    Dre


    Boxen (im Einsatz): DM920, DM900, DMOne
    Developer Project Merlin - we are OpenSource

  • jepp,


    mein Rekord: removed manually 83GB Windows Update files in Temp, die nicht automatisch gelöscht wurden ...


    @1887er
    viphop? :winking_face:


    Warum umständlich per FTP Files verschieben die direkt am System editiert werden können?

    Gruß Fred

    Die Dreambox ist tot, es lebe die Dreambox