2012-08-22 8 views
7

Also ich versuche, einige init.d-Skripts zu schreiben, die LSB erfüllen, damit sie beim Starten und Herunterfahren ordnungsgemäß ausgeführt werden. Unglücklicherweise habe ich Probleme mit LSB/update-rc.d, um Abhängigkeiten zu erfüllen.update-rc.d und init.d Abhängigkeiten

# Required-Start: $network $local_fs hadoop-namenode hadoop-datanode zookeeper-server 
# Required-Stop: $network $local_fs hadoop-namenode hadoop-datanode zookeeper-server 
# Default-Start: 2 3 4 5 
# Default-Stop: 0 1 6 

jedoch, wenn ich update-rc.d Vorgaben ausführen, erzeugt es lediglich die Vorgaben beteiligt, mit der exakt gleichen Startzeit als die bereits Abhängigkeiten, die Dinge schrecklich bricht. Fehle ich etwas mit update-rc.d oder LSB, um das zu konfigurieren?

Falls es relevant ist, dann ist dies Ubuntu 12.04

Antwort

12

Um Ihren Skript ausführen später in der Startreihenfolge zu machen, nur eine Sequenznummer hinzufügen, wie in dem folgenden Befehl. Dann werden die meisten Abhängigkeiten erfüllt sein.

Einmal musste ich ein Boot-Skript verwenden, das von anderen Boot-Skripten abhing. Dies brachte viele Probleme mit sich. Am Ende habe ich diesen Befehl, um das Problem zu lösen:

cd /etc/init.d 
sudo update-rc.d my_script defaults 98 

Die bedeutet my_script bekommt Sequenznummer 98 beim Booten, es sieht aus wie es den Bereich von 1 bis 99, und die meisten andere Boot-Skripte hat kleinere Zahlen Dies stellt sicher, dass mein Skript alle Abhängigkeiten bereit hat. BTW

, das alte Skript zu entfernen, kann diese verwendet werden:

sudo update-rc.d -f my_old_script remove 
# -f means 'force' 

Hoffnung, das hilft.

Verwandte Themen