Wie verhindere ich, dass Apache2 beim Booten automatisch gestartet wird?
173
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.
Vielleicht kann jemand spezifischer sein, aber ich kann Sie in die richtige Richtung weisen ... In / etc gibt es Verzeichnisse für rc * .d, die alle Start- / Stopp-Skripte enthalten, die, glaube ich, Init-Skripte heißen. Sie sehen Links zu Skripten, die sich in /etc/init.d befinden und entweder mit "k" oder "s" für "kill" oder "start" beginnen, sowie eine Nummer, die die Reihenfolge angibt.
Marty Fried
Ja, ich wusste über die Verzeichnisse /etc/rcX.d Bescheid, aber ich suchte danach, um ein besseres Tool zu finden, als nur Dateien manuell umzubenennen (das Leben ist zu kurz). update-rc.dhat diese Lücke gefüllt.
Tomasz Gandor
Antworten:
160
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.dbis 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
Dadurch werden alle Runlevel-Ordner, die mit apache2 verknüpft sind, entfernt.
chkconfig kann auch helfen - "chkconfig {service_name} off"
MCR
Funktioniert nicht mehr:The script you are attempting to invoke has been converted to an Upstart job, but lsb-header is not supported for Upstart jobs. (...)
TomDogg
2
@TomDogg, können Sie die Versionen angeben, mit denen Sie gearbeitet haben? Diese Antwort funktioniert für Apache 2 unter Ubuntu 14.04.3
Dale Anderson
1
Wie kann ich den Dienst wiederherstellen?
Eugen Konkov
9
Warnung! Dies wird den Service ENTFERNEN ! Verwenden Sie sudo update-rc.d apache2 disable.
Eduardo Cuomo
194
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.
enablegab mir einen Fehler wie runlevel arguments (none) do not match LSB Default-Start values, sudo update-rc.d apache2 defaultsscheint ihn aber erfolgreich wieder aktiviert zu haben.
hier
2
@here sudo update-rc.d apache2 enablespielte wie erwartet für mich
Georgios Pligoropoulos
1
Unter Ubuntu Trusty wird mir mitgeteilt, dass die API disable | enable nicht stabil ist und sich in Zukunft möglicherweise ändert.
Tanner
1
Funktioniert nicht - error: no runlevel symlinks to modify, aborting!. Apache2 läuft jedoch und startet automatisch.
Daniel Kmak
Funktioniert nicht mehr:update-rc.d: error: no runlevel symlinks to modify, aborting!
TomDogg
55
Mit können systemdwir nun systemctlBefehle 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.
Linux Mint basiert weiterhin auf Ubuntu 14.04. Ubuntu verwendet ab 15.04 systemd.
twan163
1
@dragonmnl wie twan163 sagte, systemd ist für die neueren versionen (debian jessie oder gleichwertiges +)
mchid
1
Dies hat bei Debian
Anupam
1
Die richtige Antwort für Debian 9+
John
1
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>
Amil Waduwawara
5
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
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 vonrc0.d
bis benannt sindrc6.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:
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:
Dadurch werden alle Runlevel-Ordner, die mit apache2 verknüpft sind, entfernt.
quelle
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:
und dann, wenn Sie es wieder aktivieren möchten:
Je nach Projekt, an dem ich arbeite, ist es praktisch, den Dienst bequem verfügbar zu haben, wenn ich ihn wieder aktivieren möchte.
quelle
enable
gab mir einen Fehler wierunlevel 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 micherror: 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 nunsystemctl
Befehle verwenden, um zu verhindern, dass ein Dienst beim Booten automatisch gestartet wird.Hier ist ein Beispiel:
Sie können den Dienst weiterhin starten und stoppen, er wird jedoch beim Start nicht gestartet.
quelle
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:
Sie können das Argument verwenden
defaults
, um Apache2 wieder in den Autostart einzufügenDann können Sie aktivieren / deaktivieren
quelle