autostart nach reboot

    • autostart nach reboot

      Ich mochte ein openvpn mit password.txt und openvpn.conf nach jeden reboot automatisch starten. wenn ich das per GUI mache dann verandert das system die Rechte zur den conf und txt Dateien (warum?) Sie werden 600 anstatt 755... Also hab ich den Autostart im GUI ausgeschaltet. jetzt hab ich eine .sh Datei erstellt die foglende Datei startet "/usr/sbin/openvpn /etc/openvpn/openvpn.conf". wie soll ich das aber machen so das es nach jeden reboot sich selbst ausfuhrt?
      Danke!
    • Stichwort: /etc/rc.local

      falls die nicht vorhanden ist, erstellen mit folgendem Inhalt:

      Shell-Script

      1. #!/bin/bash -e
      2. #etc/rc.local
      3. PATH=/usr/script:/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin
      4. VPNSLEEP=0
      5. vpn_start () {
      6. sleep $VPNSLEEP
      7. /usr/sbin/openvpn /etc/openvpn/openvpn.conf
      8. exit 1
      9. }
      10. vpn_start &
      11. exit 0
      Alles anzeigen

      die /etc/rc.local ausführbahr machen, das rc-local.service enablen und rebooten

      chmod 755 /etc/rc.local
      systemctl enable rc-local.service
      reboot


      das VPN Startscript wird so in einer Funktion im Hintergrund bei jedem boot gestartet. falls VPN nicht laufen sollte, wird der Start vermutlich zu früh ausgeführt
      dann einfach VPNSLEEP auf 5 oder 10 Sekunden setzen, dann wird wird der VPN Start um $VPNSLEEP Sekunden verzögert ohne den Systemstart zu beeinträchtigen
      Gruß Fred

      Die Dreambox ist tot, es lebe die Dreambox

      ¯\_(ツ)_/¯

      Quellcode

      1. root@dm920:~$ mount | grep "/ "
      2. /dev/mmcblk1p1 on / type ext4 (rw,relatime,data=ordered)
      3. root@dm920:~$
    • Hallo Fred

      Ich habe es genau so gemacht, wie du geschrieben hast. Beim Befehl "systemctl enable rc-local.service" kommt allerdings folgende Meldung:

      Quellcode

      1. The unit files have no installation config (WantedBy, RequiredBy, Also, Alias
      2. settings in the [Install] section, and DefaultInstance for template units).
      3. This means they are not meant to be enabled using systemctl.
      4. Possible reasons for having this kind of units are:
      5. 1) A unit may be statically enabled by being symlinked from another unit's
      6. .wants/ or .requires/ directory.
      7. 2) A unit's purpose may be to act as a helper for some other unit which has
      8. a requirement dependency on it.
      9. 3) A unit may be started when needed via activation (socket, path, timer,
      10. D-Bus, udev, scripted systemctl call, ...).
      11. 4) In case of template units, the unit is meant to be enabled with some
      12. instance name specified.
      Alles anzeigen
      Kannst du hier weiterhelfen? Danke!

      Gruß
      karlotta
    • vermutlich ist das rc-local.service bereits enabled

      das kannst du mit

      systemctl is-enabled rc-local.service

      überprüfen

      Quellcode

      1. root@dm900:~# systemctl is-enabled rc-local.service
      2. enabled
      3. root@dm900:~#



      Den Status mit systemctl status rc-local.service bringt nicht viel, weil das service beim boot nur einmalig die /etc/rc.local startet, danach läuft das service nicht mehr

      Wenn das service bereits enabled ist, kannst du einfach testen, ob die rc.local beim boot ausgeführt wird

      /etc/rc.local


      Shell-Script

      1. #!/bin/bash -e
      2. #/etc/rc.local
      3. PATH=/usr/script:/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin
      4. touch /tmp/rc-local.service.test
      5. exit 0


      Das Script erstellt die leere Datei /tmp/rc-local.service.test

      Wenn die Datei nach reboot in /tmp erstellt wurde, funktioniert das rc-local.service
      Gruß Fred

      Die Dreambox ist tot, es lebe die Dreambox

      ¯\_(ツ)_/¯

      Quellcode

      1. root@dm920:~$ mount | grep "/ "
      2. /dev/mmcblk1p1 on / type ext4 (rw,relatime,data=ordered)
      3. root@dm920:~$