Website-Suche

So konfigurieren Sie Netzwerkdienste für den automatischen Start beim Booten


Normalerweise ist es eine gute Idee, wichtige Netzwerkdienste so zu konfigurieren, dass sie beim Booten automatisch gestartet werden. Dies erspart Ihnen den Aufwand, sie bei einem Neustart manuell zu starten, und auch den daraus resultierenden Chaos, falls Sie dies vergessen. Zu den entscheidenden Netzwerkdiensten gehören SSH, NTP und httpd.

Sie können Ihren Systemdienstmanager bestätigen, indem Sie den folgenden Befehl ausführen.

ps --pid 1

Basierend auf der Ausgabe des obigen Befehls verwenden Sie einen der folgenden Befehle, um zu konfigurieren, ob jeder Dienst beim Booten automatisch gestartet werden soll oder nicht:

Auf Systemd-basiert
----------- Enable Service to Start at Boot -----------
systemctl enable [service]
----------- Prevent Service from Starting at Boot -----------
systemctl disable [service] # prevent [service] from starting at boot
Auf Sysvinit-basiert
----------- Start Service at Boot in Runlevels A and B -----------
chkconfig --level AB [service] on 
-----------  Don’t Start Service at boot in Runlevels C and D -----------
chkconfig --level CD service off 

Auf einem systemd-System wie CentOS 8, RHEL 8 und Fedora 30+ ist das systemctl Der Befehl „“ wird zum Verwalten von Diensten verwendet. Um beispielsweise eine Ansicht der deaktivierten Dienste zu erhalten, führen Sie den folgenden Befehl aus:

sudo systemctl list-unit-files --state=disabled
sudo chkconfig --list     [On sysvinit-based]

Die folgende Ausgabe gibt alle deaktivierten Dienste aus und wie Sie sehen können, wird der httpd-Dienst aufgelistet, was bedeutet, dass er nicht für den Start beim Booten konfiguriert ist.

Um den Start eines Dienstes beim Booten zu ermöglichen, verwenden Sie die folgende Syntax:

sudo systemctl enable service-name
sudo chkconfig service_name on     [On sysvinit-based] 

Zum Beispiel, um den httpd-Dienst bei der Boot-Ausführung zu aktivieren.

sudo systemctl enable httpd
sudo chkconfig httpd on     [On sysvinit-based] 

Um zu bestätigen, dass der httpd-Dienst aktiviert wurde, listen Sie alle aktivierten Dienste auf, indem Sie den folgenden Befehl ausführen:

sudo systemctl list-unit-files --state=enabled
sudo chkconfig --list | grep 3:on     [On sysvinit-based] 

Aus der obigen Ausgabe können wir deutlich erkennen, dass der httpd-Dienst jetzt in der Liste der aktivierten Dienste erscheint.

Um mehr über die Befehle systemctl und chkconfig zu erfahren, lesen Sie die folgenden Artikel:

  • So verwalten Sie „Systemd“-Dienste und -Einheiten mit „Systemctl“ unter Linux
  • Grundlegende chkconfig-Befehlsbeispiele unter Linux