Per impostazione predefinita, alcuni importanti servizi di sistema vengono avviati automaticamente all'avvio del sistema. Ad esempio, i servizi NetworkManager e Firewalld verranno avviati automaticamente all'avvio del sistema. I servizi di avvio sono anche noti come demoni nei sistemi operativi simili a Linux e Unix. Continueranno a funzionare in background e faranno il loro lavoro senza alcun intervento da parte dell'utente. Oltre ai servizi di sistema, all'avvio verranno aggiunte anche altre applicazioni di terze parti. In questa breve guida, vediamo come trovare ed elencare i servizi di avvio all'avvio in sistemi Linux e simili a Unix.
Elenca i servizi di avvio all'avvio in Linux
La ricerca dell'elenco dei servizi di avvio varia a seconda di init
sistema. Sistema è il sistema di inizializzazione predefinito per le principali versioni più recenti delle distribuzioni Linux.
Se i tuoi sistemi funzionano con systemd
gestore di sistema, puoi elencare tutti i servizi con il seguente comando:
$ sudo systemctl list-unit-files --type=service
Risultato di esempio:
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.
Come indicato sopra, questo comando mostra l'elenco di tutti i servizi (sia abilitati che disabilitati all'avvio del sistema) nel tuo sistema Linux. Puoi verificarlo guardando nella sezione STATO nell'output sopra. I servizi avviati all'avvio sono contrassegnati come abilitati e i servizi che non sono stati avviati sono contrassegnati come disabilitati .
Per elencare solo i servizi abilitati all'avvio del sistema, esegui:
$ sudo systemctl list-unit-files --type=service --state=enabled --all
Risultato di esempio:
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.
Per elencare tutti i disabilitati servizi all'avvio del sistema, eseguire:
$ sudo systemctl list-unit-files --type=service --state=disabled --all
Come ho già detto, alcune vecchie distribuzioni Linux possono utilizzare sia SysV o Ripartenza come sistema di inizializzazione predefinito.
Se il tuo sistema utilizza sysv
, esegui il comando seguente per elencare tutti i servizi:
$ sudo service --status-all
Risultato di esempio:
[ + ] 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
Qui, il +
indica che il servizio è in esecuzione e -
indica un servizio interrotto. Se vedi ?
nell'output, non è possibile determinare lo stato del servizio (per qualche motivo).
Per elencare tutti i servizi abilitati all'avvio, esegui:
$ sudo chkconfig --list
Questo comando elencherà lo stato di ogni servizio in ogni livello di esecuzione . Un esempio di output del comando precedente sarà:
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
[...]
Nel comando precedente, "on" significa che il servizio è avviato all'avvio.
Puoi anche visualizzare lo stato di un servizio specifico a diversi livelli di esecuzione come di seguito:
$ sudo chkconfig --list httpd
Se il tuo sistema Linux utilizza upstart
, esegui questo comando per elencare tutti i servizi di avvio:
$ sudo initctl list
Il comando precedente mostrerà tutte le sessioni lavori.
Se vuoi mostrare tutto il Sistema lavori, esegui:
$ sudo initctl --system list
Per elencare tutti i servizi e mostrarne lo stato a ogni livello di esecuzione, esegui:
$ sudo initctl list | awk '{ print $1 }' | xargs -n1 initctl show-config
Per mostrare lo stato di un servizio specifico, esegui questo comando:
$ initctl show-config <service_name>
Disabilita i servizi di avvio in Linux
Più applicazioni installi sul tuo computer, più tempo ci vorrà per l'avvio del tuo sistema. Per migliorare il tempo di avvio del tuo sistema Linux, devi trovare i servizi non necessari e disabilitarli.
Ad esempio, se non desideri un servizio chiamato unattended-upgrades.service
per caricare all'avvio, puoi disabilitarlo usando il comando:
$ sudo systemctl disable --now unattended-upgrades.service
Per sapere se un servizio è abilitato all'avvio, esegui:
$ sudo systemctl is-enabled <service-name>
Lettura correlata:
- Come migliorare il tempo di avvio delle applicazioni in Linux