Unter Debian 7.5 wird rc.local beim Booten nicht ausgeführt

Unter Debian 7.5 wird rc.local beim Booten nicht ausgeführt

Ich versuche herauszufinden, warum rc.local beim Booten nicht ausgeführt wird.
Die Datei selbst ist ausführbar, sie wird von /etc/rc2.d aufgerufen.
Auch wenn die Datei von der Befehlszeile aus aufgerufen wird, gibt sie keine Fehler zurück.
Irgendwelche Ideen, was man sonst noch überprüfen könnte, um herauszufinden, warum es nicht ausgeführt wird?

Antwort1

Da Sie sagen, dass die rc.localAusführung bei manueller Ausführung ordnungsgemäß erfolgt, fallen mir sofort zwei Dinge ein:

  • Beim Booten läuft etwas schief, aber wenn Sie es selbst ausführen, funktioniert es. Vielleicht versuchen Sie, beim Booten ein Programm auszuführen, das sich nicht im Pfad befindet.
  • /etc/rc.localwird beim Booten wirklich nicht ausgeführt.

In beiden Fällen würde ich als erstes etwas wie

/usr/bin/printenv > /var/tmp/rc.local-$(date +%T)

als allererste Zeile rc.localnach der #!/bin/shZeile. Dadurch werden die Umgebungsvariablen bei jedem Ausführen in eine mit Zeitstempel versehene Datei gedruckt. (Schreiben Sie die Datei nicht in , /tmpda diese beim Booten geleert wird.) Führen Sie es /etc/rc.localmanuell aus und werfen Sie einen kurzen Blick auf die resultierende Datei (sie wird etwa so heißen /var/tmp/rc.local-21:14:35). Starten Sie dann Ihr System neu.

Sie sollten zwei Dateien in /var/tmp(oder wo auch immer) haben, die Sie vergleichen können. Wenn Sie nur die erste Datei haben, /etc/rc.localwird sie nicht wirklich aufgerufen. Wenn Sie zwei Dateien haben, vergleichen Sie sie. Die letztere hat einesehrSparse-Umgebung und PATH. Sehen Sie sich Ihr rc.localSkript an und prüfen Sie, ob Sie etwas ausführen möchten, das von einer Variablen oder einer Komponente von PATH abhängt, die sich nicht in der Boot-Umgebung befindet. Wenn Sie etwas finden, fügen Sie die erforderliche Initialisierung hinzu rc.local.

verwandte Informationen