Standardmäßig werden einige wichtige Systemdienste automatisch gestartet, wenn das System hochfährt. Beispielsweise werden die Dienste NetworkManager und Firewalld automatisch beim Systemstart gestartet. Die Startdienste werden in Linux- und Unix-ähnlichen Betriebssystemen auch als Daemons bezeichnet. Sie laufen im Hintergrund weiter und erledigen ihre Arbeit ohne Benutzereingriff. Neben den Systemdiensten fügen sich auch einige andere Anwendungen von Drittanbietern zum Start hinzu. Lassen Sie uns in dieser kurzen Anleitung sehen, wie Startdienste beim Booten in Linux- und Unix-ähnlichen Systemen gefunden und aufgelistet werden.
Startdienste beim Booten in Linux auflisten
Das Auffinden der Liste der Startdienste unterscheidet sich je nach init
System. Systemd ist das Standard-Init-System für die wichtigsten neueren Versionen von Linux-Distributionen.
Wenn Ihr System mit systemd
läuft system manager können Sie alle Dienste mit dem folgenden Befehl auflisten:
$ sudo systemctl list-unit-files --type=service
Beispielausgabe:
UNIT FILE STATE VENDOR PRESET
accounts-daemon.service enabled enabled
acpid.service disabled enabled
alsa-restore.service static enabled
alsa-state.service static enabled
alsa-utils.service masked enabled
anacron.service enabled enabled
apparmor.service enabled enabled
apport-autoreport.service static enabled
[email protected] static enabled
apport.service generated enabled
.
.
.
[email protected] static enabled
whoopsie.service disabled enabled
[email protected] disabled enabled
[email protected] disabled enabled
wpa_supplicant.service enabled enabled
[email protected] disabled enabled
x11-common.service masked enabled
[email protected] static enabled
xfs_scrub_all.service static enabled
[email protected] static enabled
265 unit files listed.
Wie oben erwähnt, zeigt dieser Befehl die Liste aller Dienste (sowohl aktiviert als auch deaktiviert beim Systemstart) in Ihrem Linux-System. Sie können dies überprüfen, indem Sie in der obigen Ausgabe unter dem Abschnitt STATE nachsehen. Die Dienste, die beim Booten gestartet werden, sind als aktiviert gekennzeichnet , und die nicht gestarteten Dienste werden als deaktiviert gekennzeichnet .
Um nur die aktivierten Dienste aufzulisten Führen Sie beim Systemstart Folgendes aus:
$ sudo systemctl list-unit-files --type=service --state=enabled --all
Beispielausgabe:
UNIT FILE STATE VENDOR PRESET
accounts-daemon.service enabled enabled
anacron.service enabled enabled
apparmor.service enabled enabled
[email protected] enabled enabled
avahi-daemon.service enabled enabled
.
.
.
udisks2.service enabled enabled
ufw.service enabled enabled
unattended-upgrades.service enabled enabled
vboxweb.service enabled enabled
wpa_supplicant.service enabled enabled
74 unit files listed.
Um alle deaktiviert aufzulisten Dienste beim Systemstart ausführen:
$ sudo systemctl list-unit-files --type=service --state=disabled --all
Wie ich bereits sagte, können einige ältere Linux-Distributionen entweder SysV verwenden oder Neuling als Standard-Init-System.
Wenn Ihr System sysv
verwendet , führen Sie den folgenden Befehl aus, um alle Dienste aufzulisten:
$ sudo service --status-all
Beispielausgabe:
[ + ] acpid
[ - ] alsa-utils
[ - ] anacron
[ + ] apparmor
[ + ] apport
[ + ] avahi-daemon
[ + ] bluetooth
[ - ] console-setup.sh
[ + ] cron
[ - ] cryptdisks
[ - ] cryptdisks-early
[ + ] cups
[ + ] cups-browsed
[ + ] dbus
[ - ] dns-clean
[ + ] dnsmasq
[ + ] exim4
[ + ] gdm3
[ + ] grub-common
[ + ] hddtemp
[ - ] hwclock.sh
[ + ] irqbalance
[ + ] kerneloops
[ - ] keyboard-setup.sh
[ + ] kmod
[ + ] lm-sensors
[ - ] lvm2
[ - ] lvm2-lvmpolld
[ + ] network-manager
[ + ] networking
[ + ] openvpn
[ - ] plymouth
[ - ] plymouth-log
[ - ] pppd-dns
[ + ] procps
[ - ] pulseaudio-enable-autospawn
[ - ] rsync
[ + ] rsyslog
[ - ] saned
[ - ] screen-cleanup
[ + ] smartmontools
[ - ] speech-dispatcher
[ - ] spice-vdagent
[ + ] sysstat
[ + ] udev
[ + ] ufw
[ + ] unattended-upgrades
[ - ] uuidd
[ + ] virtualbox
[ - ] whoopsie
[ - ] x11-common
Hier der +
zeigt an, dass der Dienst ausgeführt wird, und -
zeigt einen angehaltenen Dienst an. Wenn Sie ?
in der Ausgabe kann der Dienststatus (aus irgendeinem Grund) nicht bestimmt werden.
Um alle beim Booten aktivierten Dienste aufzulisten, führen Sie Folgendes aus:
$ sudo chkconfig --list
Dieser Befehl listet den Status jedes Dienstes auf jedem Runlevel auf . Eine Beispielausgabe des obigen Befehls lautet:
acpid 0:off 1:off 2:on 3:on 4:on 5:on 6:off
anamon 0:off 1:off 2:off 3:off 4:off 5:off 6:off
atd 0:off 1:off 2:off 3:on 4:on 5:on 6:off
[...]
Im obigen Befehl bedeutet "on", dass der Dienst beim Booten gestartet wird.
Sie können den Status eines bestimmten Dienstes auch auf verschiedenen Ausführungsebenen wie unten anzeigen:
$ sudo chkconfig --list httpd
Wenn Ihr Linux-System upstart
verwendet , führen Sie diesen Befehl aus, um alle Startdienste aufzulisten:
$ sudo initctl list
Der obige Befehl zeigt alle Sitzungen an Arbeitsplätze.
Wenn Sie alle System anzeigen möchten Jobs, führen Sie aus:
$ sudo initctl --system list
Führen Sie Folgendes aus, um alle Dienste aufzulisten und ihren Status auf jeder Ausführungsebene anzuzeigen:
$ sudo initctl list | awk '{ print $1 }' | xargs -n1 initctl show-config
Führen Sie diesen Befehl aus, um den Status eines bestimmten Dienstes anzuzeigen:
$ initctl show-config <service_name>
Startdienste in Linux deaktivieren
Je mehr Anwendungen Sie auf Ihrem Computer installieren, desto länger dauert es, bis Ihr System hochfährt. Um die Startzeit Ihres Linux-Systems zu verbessern, müssen Sie die unnötigen Dienste finden und deaktivieren.
Angenommen, Sie möchten keinen Dienst namens unattended-upgrades.service
um beim Start geladen zu werden, können Sie es mit dem Befehl deaktivieren:
$ sudo systemctl disable --now unattended-upgrades.service
Um zu erfahren, ob ein Dienst beim Booten aktiviert ist, führen Sie Folgendes aus:
$ sudo systemctl is-enabled <service-name>
Verwandte Lektüre:
- So verbessern Sie die Startzeit von Anwendungen unter Linux