Wie lässt man ein Skript beim Booten in Debian Wheezy ausführen?

Wie lässt man ein Skript beim Booten in Debian Wheezy ausführen?

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.derforderlich 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, insservum 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

verwandte Informationen