staging.inyokaproject.org

Skript soll bei Systemstart aufgeführt werden. Bekomme Script nicht registriert.

Status: Ungelöst | Ubuntu-Version: Ubuntu 22.04 (Jammy Jellyfish)
Antworten |

bigchris

Anmeldungsdatum:
1. November 2008

Beiträge: 180

Hallo, ich habe ein Skript wakeonlan-unraid.sh mit dem Inhalt:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
#!/bin/sh
# Start the wakeonlan service

case "$1" in
  start)
    wakeonlan f8:b1:56:be:be:73 >> /home/christian/log-wakeonlan
    ;;
  stop)
    # stop the wakeonlan service
    ;;
  *)
    # invalid option
    echo "Usage: $0 start|stop"
    exit 1
    ;;
esac

exit 0

Dieses soll bei Systemstart ausgeführt werden. Dazu habe ich folgenden Befehl abgesetzt:

1
sudo update-rc.d wakeonlan-unraid.sh defaults

Ich wollte dann schauen, ob das Skript registriert ist mit

1
ls /etc/rc*.d | grep wakeonlan-unraid.sh 

Die Ausgabe bleibt aber leer und das Skript wird bei Systemstart nicht gestartet. Was mache ich falsch? Das Skript ist ausführbar.

Bearbeitet von rklm:

Syntaxhighlighting

rklm Team-Icon

Projektleitung

Anmeldungsdatum:
16. Oktober 2011

Beiträge: 12527

Mach das besser mal mit einer Systemd-Service-Unit. Da kannst Du auch die Abhängigkeiten definieren, so dass Dein Skript erst ausgeführt wird, wenn Networking funktioniert.

bigchris

(Themenstarter)

Anmeldungsdatum:
1. November 2008

Beiträge: 180

rklm schrieb:

Mach das besser mal mit einer Systemd-Service-Unit. Da kannst Du auch die Abhängigkeiten definieren, so dass Dein Skript erst ausgeführt wird, wenn Networking funktioniert.

Hast du da mal eine Quelle / Anleitung?

rklm Team-Icon

Projektleitung

Anmeldungsdatum:
16. Oktober 2011

Beiträge: 12527

Unser Wiki

noisefloor Team-Icon

Ehemaliger
Avatar von noisefloor

Anmeldungsdatum:
6. Juni 2006

Beiträge: 28316

Ich finde es echt erstaunlich, wie Leute 2023 immer noch auf rc-Runlevel kommen. Das ist seit systemd komplett obsolet, für Ubuntu als seit 20115/2016. Bzw. erschließt es sich mir nicht, wie man Suchen muss, um an systemd vorbei zu kommen.

Komischerweise ist das in anderen Foren auch z.Zt. so, dass da vermehrt Leute noch versuchen, mit rc.local oder so was zu reißen...

Egel: Link zum Wiki: systemd und speziell für Service Units systemd/Service Units.

Oder direkt den WOL Artikel lesen Wake on LAN, wo auch fertig Units gezeigt werden.

Gruß, noisefloor

user_unknown

Avatar von user_unknown

Anmeldungsdatum:
10. August 2005

Beiträge: 17432

noisefloor schrieb:

Ich finde es echt erstaunlich, wie Leute 2023 immer noch auf rc-Runlevel kommen. Das ist seit systemd komplett obsolet, für Ubuntu als seit 20115/2016.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
stefan@xubVm7:~$ cat /etc/lsb-release 
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=22.04
DISTRIB_CODENAME=jammy
DISTRIB_DESCRIPTION="Ubuntu 22.04.1 LTS"
stefan@xubVm7:~$ l -d /etc/rc* 
drwxr-xr-x 2 root root 4096 Dez 10 00:01 /etc/rc0.d
drwxr-xr-x 2 root root 4096 Dez 10 00:01 /etc/rc1.d
drwxr-xr-x 2 root root 4096 Dez 10 00:01 /etc/rc2.d
drwxr-xr-x 2 root root 4096 Dez 10 00:01 /etc/rc3.d
drwxr-xr-x 2 root root 4096 Dez 10 00:01 /etc/rc4.d
drwxr-xr-x 2 root root 4096 Dez 10 00:01 /etc/rc5.d
drwxr-xr-x 2 root root 4096 Dez 10 00:01 /etc/rc6.d
drwxr-xr-x 2 root root 4096 Dez  9 23:28 /etc/rcS.d

So komplett obsolet scheint es mir nicht zu sein. 😉

Oder direkt den WOL Artikel lesen Wake on LAN, wo auch fertig Units gezeigt werden.

Das erscheint mir dennoch als der beste Tipp.

kB Team-Icon

Supporter, Wikiteam
Avatar von kB

Anmeldungsdatum:
4. Oktober 2007

Beiträge: 7816

user_unknown schrieb:

noisefloor schrieb:

rc-Runlevel […] seit systemd komplett obsolet […]

[…] So komplett obsolet scheint es mir nicht zu sein.

Doch, bei Ubuntu ist das alte SysV-Initsystem obsolet, und zwar schon, nachdem Upstart eingeführt wurde, welches inzwischen durch systemd ersetzt wurde. Das es dennoch noch die Ordner /etc/rc* gibt, liegt an Softwarepaketen, welche eben auch noch Init-Skripte mitbringen.

Systemd hat auch eine Rückfallmöglichkeit durch /usr/lib/systemd/system-generators/systemd-sysv-generator. Diese Helferlein generiert für alle Dienste, welche selbst keine Service-Unit mitbringen, aus dem Init-Skript eine temporäre Service-Unit und startet diese. Dabei entspricht das Verhalten dieser Notlösung nicht in allen Aspekten dem Verhalten des alten SysV-Initsystems.

Die Existenz eines solchen Rückfallsystems sollte aber keinesfalls eine Empfehlung für dessen Verwendung sein.

user_unknown

Avatar von user_unknown

Anmeldungsdatum:
10. August 2005

Beiträge: 17432

kB schrieb:

user_unknown schrieb:

noisefloor schrieb:

rc-Runlevel […] seit systemd komplett obsolet […]

[…] So komplett obsolet scheint es mir nicht zu sein.

Doch, bei Ubuntu ist das alte SysV-Initsystem obsolet, und zwar schon, nachdem Upstart eingeführt wurde, welches inzwischen durch systemd ersetzt wurde. Das es dennoch noch die Ordner /etc/rc* gibt, liegt an Softwarepaketen, welche eben auch noch Init-Skripte mitbringen.

Und Softwarepakete sind nur ein Ornament, oder in wie fern folgert daraus, dass init-Scripte komplett obsolet sind?

Die Existenz eines solchen Rückfallsystems sollte aber keinesfalls eine Empfehlung für dessen Verwendung sein.

Vielleicht ist es deswegen auch gar nicht zu einer Empfehlung gekommen.

lubux

Anmeldungsdatum:
21. November 2012

Beiträge: 13293

user_unknown schrieb:

..., dass init-Scripte komplett obsolet sind?

Nein, sie sind nicht obsolet. Das zeigt nur, dass der maintainer _noch nicht die Zeit hatte_, eine (native) service-unit zu schreiben/konzipieren.

sebix Team-Icon

Moderator, Webteam

Anmeldungsdatum:
14. April 2009

Beiträge: 5077

Es geht in diesem Thread nicht darum, ob und wie obsolet SysV ist.

Antworten |