Wie verhindere ich den automatischen Start von Linux-Diensten?

Wie verhindere ich den automatischen Start von Linux-Diensten?

Ich bin vor kurzem von Windows auf Linux (xubuntu) umgestiegen.

Ich bin Entwickler und habe alles installiert, was ich brauche, LAMP. Unter Windows habe ich alle unnötigen Dienste deaktiviert – ich brauche den Apache- oder MySQL-Dienst nicht ständig laufen. Immer wenn ich MySQL brauchte, habe ich Folgendes verwendet:

net start mysql

Wie mache ich dasselbe unter Linux?

  1. Automatischen Start nicht benötigter Daemons deaktivieren?
  2. Nur starten, wenn ich sie brauche?

Antwort1

In den meisten Linux-Distributionen können Sie Dienste manuell starten/stoppen, indem Sie (als Root oder mit sudo) die folgenden Befehle ausführen:

# /etc/init.d/apache2 start
# /etc/init.d/mysqld start

# /etc/init.d/apache2 stop
# /etc/init.d/mysqld stop

Welche Dienste automatisch gestartet werden, wird durch Dateilinks in /etc/rc[runlevel].d/ gesteuert. Finden Sie Ihren aktuellen Runlevel, indem Sie als Root den Befehl "runlevel" verwenden.

# runlevel
N 2

Was hier auf Runlevel 2 hinweist. Jetzt müssen Sie nur noch die Dateien in /etc/rc2.d/ entfernen, die nicht gestartet werden sollen.

Das Entfernen von Apache und MySQL auf einem Desktop ist normalerweise kein Problem. Seien Sie jedoch vorsichtig, wenn Sie andere Dienste entfernen.

Antwort2

Für Ubuntu-Versionen, die systemd verwenden (15.04 und höher), verwenden Sie:

systemctl disable service

Damit wird der Dienst deaktiviert und nach einem Neustart nicht mehr neu gestartet. Um ihn vorübergehend zu aktivieren, einfachStartder Dienst. Nichtaktivieren.

Um den Dienstnamen zu finden, verwenden Sie

service --status-all

Andere Befehle sind:

systemctl start service- Verwenden Sie es, um einen Dienst zu starten. Bleibt nach einem Neustart nicht bestehen.

systemctl stop service- Verwenden Sie es, um einen Dienst zu stoppen. Bleibt nach einem Neustart nicht bestehen.

systemctl restart service- Verwenden Sie es, um einen Dienst neu zu starten

systemctl status service- Zeigt den Status eines Dienstes an. Gibt an, ob ein Dienst derzeit ausgeführt wird.

systemctl enable service- Schaltet den Dienst beim nächsten Neustart oder beim nächsten Startereignis ein. Die Funktion bleibt nach dem Neustart bestehen.

systemctl disable service- Schaltet den Dienst beim nächsten Neustart oder beim nächsten Stoppereignis aus. Dieser Dienst bleibt nach dem Neustart bestehen.

Antwort3

Ubuntu 10.04 befindet sich mitten in einem Übergang zwischen zwei Service-Management-Systemen: SysVinit (das traditionelle System, das von den meisten Linux-Distributionen verwendet wird) und Upstart (ein neueres System, das von Ubuntu vorangetrieben wird und in immer mehr Distributionen verfügbar wird).

SysVinit-Dienstverwaltungsskripte befinden sich in /etc/init.d. Sie können den Dienst mit starten /etc/init.d/SERVICENAME startund mit stoppen /etc/init.d/SERVICENAME stop. Ob der Dienst beim Booten automatisch gestartet wird, hängt von der Anwesenheit symbolischer Links in ab, /etc/rc?.dwobei ?eine Ziffer von 2bis ist 5(dieRunlevel). Der einfachste Weg, den automatischen Start eines Dienstes beim Booten zu verhindern, ist die Verwendung von update-rc.d SERVICENAME disable.

Die Konfigurationsdateien für die Upstart-Dienstverwaltung befinden sich in /etc/init. Sie können den Dienst mit starten start SERVICENAMEund mit stoppen stop SERVICENAME. Die Konfigurationsdatei /etc/init/SERVICENAME.confenthält eine Zeile, die angibt, wann der Dienst gestartet werden soll: start on …. Diese Dienste können Sie ganz einfach deaktivieren, indem Sie diese Zeile in ändern start on never and (…). Wenn Sie die Datei nicht bearbeiten möchten, können Sie den Dienst auch vollständig deaktivieren, ohne das Verpackungssystem zu verwirren, indem Sie ihn so umbenennen, dass er nicht auf endet .conf.

dpkg-divert --add --local --divert /etc/init/foo.conf.disabled --rename /etc/init/foo.conf

Ab Ubuntu 10.04 wird Apache mit einem SysVinit-Skript und Mysql mit einem Upstart-Skript geliefert.

verwandte Informationen