Ich schreibe ein Skript, um beim Booten einige Aufgaben in meinem Debian Wheezy AWS EC2 AMI auszuführen. Quellen im Internet sagen, dass dies normalerweise durch die Installation der Symlinks geschieht, die update-rc.d
erforderlich sind, um es für die Ausführung beim Booten einzurichten.
Wenn ich dies jedoch versuche, erhalte ich den Fehler
$ update-rc.d
-bash: update-rc.d: command not found
Diese Methode hat bei mir bis Debian Squeeze funktioniert. Hat sich die Standardmethode in Debian 7.0 geändert? Ich kann keine Dokumentation finden, die die offizielle Vorgehensweise erklärt.
Antwort1
Sieht aus, als würden Sie versuchen, es als nicht privilegierter Benutzer zu verwenden update-rc.d
? Da sich dieses Tool in befindet, /usr/sbin/
haben Sie es wahrscheinlich nicht in Ihrem $PATH
. Versuchen Sie also, es als Root-Benutzer auszuführen oder rufen Sie es über auf sudo update-rc.d
.
Antwort2
Ihr Skript muss einen LSB-Header (Linux Standards Base) enthalten, der seine Abhängigkeiten und Fähigkeiten angibt (siehehttps://wiki.debian.org/LSBInitScriptsfür weitere Informationen zu LSB-Headern).
Wenn ein LSB-Header vorhanden ist, können Sie ihn verwenden, insserv
um Ihr Skript in den Bootvorgang einzubinden (siehehttps://wiki.debian.org/LSBInitScripts/DependencyBasedBootfür mehr Informationen).
Antwort3
Abgesehen vom Erstellen und Hinzufügen eines neuen LSB-Skripts als Startdienst stellt dies einen eher standardmäßigen Ansatz dar.
Sie können auch kleinere Skripts hinzufügen (z. B. einen Bericht erstellen, Bereinigungsaufgaben) /etc/init.d/rc.local
.
Stellen Sie jedoch sicher, dass rc.local vorhanden und auf Ihrem Runlevel aktiviert ist (normalerweise 3 unter Debian).find /etc/rc*.d | grep rc.local