Ich habe kürzlich von Windows auf Linux (xubuntu) migriert.
Ich bin Entwickler und habe alles installiert, was ich brauche, LAMP. In Windows habe ich alle unnötigen Dienste deaktiviert - ich brauche nicht, dass der Apache- oder MySQL-Dienst ständig ausgeführt wird. Wann immer ich MySQL brauchte, benutzte ich:
net start mysql
Wie mache ich dasselbe unter Linux?
- Nicht benötigte Daemons für den automatischen Start deaktivieren?
- Starten Sie sie nur, wenn ich sie brauche?
Antworten:
In den meisten Linux-Distributionen können Sie Dienste manuell starten / stoppen, indem Sie (als Root oder mit sudo) die folgenden Befehle ausführen:
Welche Dienste automatisch gestartet werden, wird durch Dateilinks in /etc/rc[runlevel‹.d/ gesteuert. Finden Sie Ihren aktuellen Runlevel, indem Sie den Befehl "Runlevel" als root verwenden
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 in Ordnung. Beachten Sie jedoch, dass Sie andere Dienste entfernen müssen.
quelle
/etc/rc.d/
.Für Ubuntu-Versionen, die systemd (15.04 und höher) verwenden, verwenden Sie:
Dies wird den Job machen. Der Dienst wird deaktiviert und nach einem Neustart nicht neu gestartet. Um es vorübergehend zu aktivieren, starten Sie einfach den Dienst. Nicht aktivieren .
Um den Dienstnamen zu finden, verwenden Sie
Andere Befehle sind:
systemctl start service
- Verwenden Sie es, um einen Dienst zu starten. Bleibt nach dem Neustart nicht bestehensystemctl stop service
- Verwenden Sie diese Option, um einen Dienst zu beenden. Bleibt nach dem Neustart nicht bestehensystemctl restart service
- Verwenden Sie diese Option, um einen Dienst neu zu startensystemctl status service
- Zeigt den Status eines Dienstes an. Gibt an, ob gerade ein Dienst ausgeführt wird.systemctl enable service
- Schaltet den Dienst beim nächsten Neustart oder beim nächsten Startereignis ein. Es bleibt nach dem Neustart bestehen.systemctl disable service
- Schaltet den Dienst beim nächsten Neustart oder beim nächsten Stopp aus. Es bleibt nach dem Neustart bestehen.quelle
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 gepusht wird und in immer mehr Distributionen verfügbar wird).
SysVinit Service Management-Skripte befinden sich in
/etc/init.d
. Sie können den Dienst mit starten und mit/etc/init.d/SERVICENAME start
beenden/etc/init.d/SERVICENAME stop
. Ob der Dienst beim Booten automatisch gestartet wird, hängt vom Vorhandensein symbolischer Links ab, in/etc/rc?.d
denen?
sich eine Ziffer von2
bis5
( Runlevel ) befindet. Der einfachste Weg, um zu verhindern, dass ein Dienst beim Booten automatisch gestartet wird, ist die Verwendungupdate-rc.d SERVICENAME disable
.Konfigurationsdateien für das Upstart-Service-Management befinden sich in
/etc/init
. Sie können den Dienst mit starten und mitstart SERVICENAME
beendenstop SERVICENAME
. Die Konfigurationsdatei/etc/init/SERVICENAME.conf
enthält eine Zeile, die angibt, wann der Dienst gestartet werden soll :start on …
. Eine einfache Möglichkeit, diese Dienste zu deaktivieren, besteht darin, diese Zeile in zu ändernstart 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 endet.conf
.Ab Ubuntu 10.04 wird Apache mit einem SysVinit-Skript und Mysql mit einem Upstart-Skript geliefert.
quelle
/etc/default
und haben dort eineSTART_FOO
Option, die Sie deaktivieren können, aber viele erwarten, dass sie ausgeführt werden, wenn sie installiert sind. Updates werden Ihre Änderungen nicht ohne Aufforderung überschreiben, da dies alles Conffiles sind.dpkg-divert
die Servicedatei auch umbenennen. Wenn Sie dies jedoch tun, können Sie den Dienst nicht explizit starten.