Wie verhindere ich, dass Apache2 beim Booten automatisch gestartet wird? Ich kann anscheinend keine Option finden, die den automatischen Start beim Einschalten der Maschine deaktiviert.
update-rc.d
hat diese Lücke gefüllt.
Wie verhindere ich, dass Apache2 beim Booten automatisch gestartet wird? Ich kann anscheinend keine Option finden, die den automatischen Start beim Einschalten der Maschine deaktiviert.
update-rc.d
hat diese Lücke gefüllt.
Antworten:
Unter dem Ordner /etc/init.d/
finden Sie alle Init-Skripte für verschiedene Boot-Services wie Apache2, Networking usw.
Abhängig davon, in welchem Runlevel der Computer gestartet wird, werden verschiedene Dienste gestartet. Ausgehend von diesem /etc/init.d/
Ordner ist jeder "Dienst" mit einem / mehreren / keinen Runlevel-Ordnern verknüpft, die von rc0.d
bis benannt sind rc6.d
.
Um die Dinge einfach zu halten, gibt es ein Tool zum Entfernen / Hinzufügen dieser Links und somit zum Entfernen oder Hinzufügen von Skripten zum und vom Start.
Um Apache2 zu deaktivieren, geben Sie einfach Folgendes ein:
sudo update-rc.d apache2 disable
Dies deaktiviert Apache2 beim Start, wird jedoch nicht entfernt, sodass es wieder aktiviert werden kann. Gehen Sie wie folgt vor, um die Apache2-Startskripte zu entfernen:
Um Apache2 zu entfernen, geben Sie einfach Folgendes ein:
sudo update-rc.d -f apache2 remove
The script you are attempting to invoke has been converted to an Upstart job, but lsb-header is not supported for Upstart jobs. (...)
sudo update-rc.d apache2 disable
.
Sie können es einfach deaktivieren, indem Sie:
sudo update-rc.d apache2 disable
und dann, wenn Sie es wieder aktivieren möchten:
sudo update-rc.d apache2 enable
Je nach Projekt, an dem ich arbeite, ist es praktisch, den Dienst bequem verfügbar zu haben, wenn ich ihn wieder aktivieren möchte.
enable
gab mir einen Fehler wie runlevel arguments (none) do not match LSB Default-Start values
, sudo update-rc.d apache2 defaults
scheint ihn aber erfolgreich wieder aktiviert zu haben.
sudo update-rc.d apache2 enable
spielte wie erwartet für mich
error: no runlevel symlinks to modify, aborting!
. Apache2 läuft jedoch und startet automatisch.
update-rc.d: error: no runlevel symlinks to modify, aborting!
Mit können systemd
wir nun systemctl
Befehle verwenden, um zu verhindern, dass ein Dienst beim Booten automatisch gestartet wird.
Hier ist ein Beispiel:
sudo systemctl disable apache2
Sie können den Dienst weiterhin starten und stoppen, er wird jedoch beim Start nicht gestartet.
update-rc.d: error: no runlevel symlinks to modify, aborting!
Erstellen Sie bei einer Begegnung die folgenden fehlenden Simlinks neu. Versuchen Sie dann erneut: /etc/rc0.d/K01 <service> /etc/rc1.d/K01 <service> /etc/rc2.d/S99 <service> /etc/rc3.d/S99 <service> / etc / rc4.d / S99 <service> /etc/rc5.d/S99 <service> /etc/rc6.d/K01 <service>
Ich dachte, ich würde nur die Antworten von @gsullins und @tomodachi für zukünftige Leser ergänzen, die die akzeptierte Antwort verwendet haben.
Wenn Sie bereits verwendet haben:
sudo update-rc.d apache2 remove
Sie können das Argument verwenden defaults
, um Apache2 wieder in den Autostart einzufügen
sudo update-rc.d apache2 defaults
Dann können Sie aktivieren / deaktivieren
sudo update-rc.d apache2 disable
sudo update-rc.d apache2 enable