GNU/Linux >> LINUX-Kenntnisse >  >> Ubuntu

So aktivieren oder deaktivieren Sie Dienste in Ubuntu Systemd/Upstart

Oft müssen Dienste auf unserem Ubuntu-System vorübergehend oder dauerhaft aktiviert oder deaktiviert werden. Manchmal müssen wir möglicherweise bestimmte Dienste beim Hochfahren automatisch starten, z. B. ssh oder Webserver, und manchmal müssen wir Dienste deaktivieren, die wir nicht mehr benötigen und die CPU und RAM in Beschlag nehmen.

In diesem Tutorial sehen wir uns an, wie wir Dienste unter Ubuntu aktivieren und deaktivieren können. Dazu müssen wir zunächst verstehen, dass es 3 Haupt-Init-Systeme für Ubuntu gibt

  • Systemd
  • Neuling
  • SysV

Jedes Init-System hat eine andere Art, Dienste zu starten und zu stoppen. Wir werden uns jeden einzelnen davon ansehen.

So aktivieren und deaktivieren Sie Dienste in Systemd init

Um einen Dienst in systemd zu starten Führen Sie den Befehl wie gezeigt aus:

systemctl start service-name

Um beispielsweise den Apache-Webdienst zu starten, führen Sie

aus
systemctl start apache2

Führen Sie

aus, um zu überprüfen, ob der Dienst ausgeführt wird
systemctl status apache2

Ausgabe

● apache2.service - LSB: Apache2 web server
   Loaded: loaded (/etc/init.d/apache2; bad; vendor preset: enabled)
  Drop-In: /lib/systemd/system/apache2.service.d
           └─apache2-systemd.conf
   Active: active (running) since Thu 2018-03-15 17:09:05 UTC; 35s ago
     Docs: man:systemd-sysv-generator(8)
   CGroup: /system.slice/apache2.service
           ├─2499 /usr/sbin/apache2 -k start
           ├─2502 /usr/sbin/apache2 -k start
           └─2503 /usr/sbin/apache2 -k start

Mar 15 17:09:04 ip-172-31-41-251 systemd[1]: Starting LSB: Apache2 web server...
Mar 15 17:09:04 ip-172-31-41-251 apache2[2475]:  * Starting Apache httpd web ser
Mar 15 17:09:05 ip-172-31-41-251 apache2[2475]:  *
Mar 15 17:09:05 ip-172-31-41-251 systemd[1]: Started LSB: Apache2 web server.

Zum Beenden des Dienstes laufender Dienst

systemctl stop apache2

Um zu bestätigen, dass der Dienst nicht ausgeführt wird, führen Sie

aus
systemctl status apache2

Ausgabe

● apache2.service - LSB: Apache2 web server
   Loaded: loaded (/etc/init.d/apache2; bad; vendor preset: enabled)
  Drop-In: /lib/systemd/system/apache2.service.d
           └─apache2-systemd.conf
   Active: inactive (dead) since Thu 2018-03-15 17:19:47 UTC; 12s ago
     Docs: man:systemd-sysv-generator(8)
  Process: 2822 ExecStop=/etc/init.d/apache2 stop (code=exited, status=0/SUCCESS
  Process: 2687 ExecStart=/etc/init.d/apache2 start (code=exited, status=0/SUCCE

Mar 15 17:10:11 ip-172-31-41-251 systemd[1]: Starting LSB: Apache2 web server...
Mar 15 17:10:11 ip-172-31-41-251 apache2[2687]:  * Starting Apache httpd web ser
Mar 15 17:10:12 ip-172-31-41-251 apache2[2687]:  *
Mar 15 17:10:12 ip-172-31-41-251 systemd[1]: Started LSB: Apache2 web server.
Mar 15 17:19:46 ip-172-31-41-251 systemd[1]: Stopping LSB: Apache2 web server...
Mar 15 17:19:46 ip-172-31-41-251 apache2[2822]:  * Stopping Apache httpd web ser
Mar 15 17:19:47 ip-172-31-41-251 apache2[2822]:  *
Mar 15 17:19:47 ip-172-31-41-251 systemd[1]: Stopped LSB: Apache2 web server.

Um den Apache2-Dienst beim Booten zu aktivieren, führen Sie aus

systemctl enable apache2

Um den Apache2-Dienst beim Booten zu deaktivieren, führen Sie aus

systemctl disable apache2

Um den Dienst neu zu starten

systemctl restart apache2

Um zu überprüfen, ob der Dienst derzeit so konfiguriert ist, dass er beim nächsten Start gestartet wird

systemctl is-enabled apache2

Ausgabe

Executing /lib/systemd/systemd-sysv-install is-enabled apache2
enabled

Um zu prüfen, ob der Dienst aktiv ist

systemctl is-active apache2

Ausgabe

active

So entfernen Sie Systemd-Dienste vollständig

Was ist, wenn Sie ein Paket installiert haben und später entscheiden, dass Sie es nicht mehr benötigen? Wie gehst du vor, um es vollständig zu entfernen? Befolgen Sie die nachstehenden Befehle.

Stoppen Sie zuerst den Dienst

systemctl stop service-name

Deaktivieren Sie dann den Dienst

systemctl disable service-name

Entfernen des Dienstes in systemd

rm /etc/systemd/system/service-name
rm /etc/systemd/system/service-name/[related symlinks]

Systemd neu laden

systemctl daemon-reload

Endlich laufen,

systemctl reset-failed

So aktivieren und deaktivieren Sie Dienste in Upstart init

Das Upstart-Init-System wurde kurz vor systemd vorgestellt. Es wurde in Ubuntu 9.10 bis Ubuntu 14.10 verwendet. Es wurde später eingestellt, um den Weg für systemd init in Ubuntu 15.04 und neueren Versionen zu ebnen. Sehen wir uns in diesem Beispiel an, wie wir Dienste in Ubuntu 14.04 starten und stoppen, aktivieren und deaktivieren können.

Upstart verwendet Konfigurationsdateien zur Steuerung von Diensten. Diese Dateien befinden sich im Verzeichnis /etc/init. Diese Dateien bestehen aus einfachen Textabschnitten, die in Strophen organisiert sind, und jede Strophe beschreibt einen Dienst und wie er funktioniert.

Zur Überprüfung, ob ein Dienst ausgeführt wird oder nicht Führen Sie den folgenden Befehl aus

initctl status service-name

ODER

service service-name status

ODER

status service-name

In diesem Beispiel überprüfen wir den Status von cups, einem Linux-Druckserver.

 initctl status cups

ODER

service cups status

ODER

status cups

Ausgabe

cups start/running, process 3029

Um den Dienst zu stoppen, führen Sie den folgenden Befehl aus

initctl stop cups

ODER

service cups stop

ODER

stop cups

Ausgabe

cups stop/waiting

Um einen Dienst in Upstart init zu aktivieren

In der Datei /etc/init/*.conf finden Sie die Datei „respawn " Direktive, die einen Dienst startet, sollte er unerwartet abstürzen oder das System neu starten. Normalerweise ist sie standardmäßig aktiviert.

Zum Beispiel in der Datei /etc/init/cups.conf unten,

Das erste Argument (3) ist die Anzahl der Neustartversuche und das zweite Argument (12) ist das Zeitintervall zwischen den Wiederholungsversuchen. Wenn es nicht automatisch neu gestartet wird. es wird in einem angehaltenen Zustand gehalten.

Um einen Dienst in Upstart Init zu deaktivieren

Führen Sie den folgenden Befehl aus

echo manual >> /etc/init/service.override

Dadurch wird eine Überschreibungsdatei erstellt, die einen Dienst deaktiviert, ohne die Jobdefinition überhaupt zu ändern.
Für den Cups-Dienst lautet der Befehl

echo manual >> /etc/init/cups.override

Bei einem Neustart des Systems befindet sich cups in einem angehaltenen Zustand. Wenn Sie den Dienst wieder aktivieren möchten, müssen Sie die Datei /etc/init/cups.override löschen.

Sysv-rc-conf-Tool

Dies ist eine textbasierte Konsole, die Ihnen einen Überblick über verschiedene Dienste und Runlevel gibt, deren Start geplant ist. Es kann mit dem folgenden Befehl installiert werden

apt-get install sysv-rc-conf

Um das Tool auszuführen, führen Sie

aus
sysv-rc-conf

Jobs-Admin-Tool

Dies ist eine weitere Funktion, mit der Sie Dienste und Prozesse in einer GUI-Umgebung steuern können. Sie können dies installieren, indem Sie ausführen.

apt-get install jobs-admin

So aktivieren und deaktivieren Sie Dienste in SysV init

Um einen Dienst in SysV zu aktivieren, init run

update-rc.d enable service-name

Wenn Sie beispielsweise den Apache-Webserver aktivieren möchten, würden Sie

ausführen
update-rc.d enable apache2

Um einen Dienst zu deaktivieren, führen Sie

aus
update-rc.d disable service-name

Zum Beispiel

update-rc.d disable apache2

Fast alle Linux-Systeme laufen auf Systemd init von Ubuntu, Debian, RHEL und CentOS. Sie werden daher feststellen, dass Sie mehr systemctl-Befehle verwenden werden, um Dienste zu starten, zu stoppen, zu aktivieren und zu deaktivieren. Wir laden Sie ein, die in diesem Artikel gezeigten Befehle auszuprobieren. Danke.

Lesen Sie auch:

  • Systemctl-Befehle zum Verwalten des Systemd-Dienstes in Linux

Ubuntu
  1. So aktivieren Sie den SSH-Dienst in Ubuntu 22.04 LTS

  2. Wie deaktiviere/aktiviere ich die automatische Verbindung zum WLAN?

  3. Wie richte ich einen Dienst ein?

  4. So deaktivieren Sie einen Dienst in Ubuntu

  5. So aktivieren und deaktivieren Sie Wayland unter Ubuntu

So aktivieren / deaktivieren Sie Edge-Scrolling in Ubuntu 18.04 LTS

So aktivieren / deaktivieren Sie die automatische Anmeldung in Ubuntu 20.04 LTS

So aktivieren und deaktivieren Sie Netzwerkschnittstellen in Ubuntu 20.04

So deaktivieren/aktivieren Sie die automatische Fehlerberichterstattung in Ubuntu 20.04 LTS

So starten, stoppen oder starten Sie Dienste in Ubuntu neu

So aktivieren und deaktivieren Sie AppArmor unter Ubuntu 20.04