Wenn ich debian 7 x64 verwende, möchte ich beim Booten einen Autostart hinzufügen, aber es funktioniert nicht.
Der Befehl: "update-rc.d defaults" funktioniert einwandfrei und gibt mich zurück: update-rc.d: Verwendung von abhängiger basierter Startsequenz
Mein Skript funktioniert, wenn ich den Befehl "Dienst Start / Stopp" verwende Wenn ich den Computer neu starte, ist der Dienst jedoch inaktiv.
Mein Skript beginnt mit:
### BEGIN INIT INFO
# Provides: scriptname
# Required-Start: $remote_fs $syslog
# Required-Stop: $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start daemon at boot time
# Description: Enable service provided by daemon.
### END INIT INFO
Ich verstehe nicht was falsch ist?
Bearbeiten:
Ich habe einen anderen Weg für mein Skript versucht, ich habe mir dieses Beispiel angesehen: http://doc.ubuntu-fr.org/tutoriel/comment_transformer_un_programme_en_service und es funktioniert super. Verstehe immer nicht, warum der andere Weg nicht funktioniert hat. Was auch immer es für mich gut macht, danke, dass Sie mir geholfen haben.
Antworten:
0 für die Antwort № 1Einer der Gründe kann die Tatsache sein, dass das Skript beim Start des Betriebssystems Java an bekannten Orten nicht finden kann: env var JAVA_HOME
Pfad /usr/bin/java
, etc.
In meinem Fall gab es eine Nachricht in /var/log/boot.log
: Unable to find Java
. Es kam aus diesem Teil von launch.script:
# Find Java
if [[ -n "$JAVA_HOME" ]] && [[ -x "$JAVA_HOME/bin/java" ]]; then
javaexe="$JAVA_HOME/bin/java"
elif type -p java > /dev/null 2>&1; then
javaexe=$(type -p java)
elif [[ -x "/usr/bin/java" ]]; then
javaexe="/usr/bin/java"
else
echo "Unable to find Java"
exit 1
fi
Um dies zu beheben, müssen Sie sicherstellen, dass Java während des Bootens des Betriebssystems in Pfaden verfügbar ist. Oder Sie können Empfehlungen von folgen Bereitstellungsdokumente und benutzen .conf
Datei mit JAVA_HOME
Wert darin.