Il demone di gestione del sistema Systemd è stato progettato per sostituire l'attuale sistema init ereditato dai sistemi operativi UNIX System V come Linux, rendendo così obsoleto l'attuale sistema init. In questo tutorial discuteremo alcune nozioni di base di systemd come avviare o interrompere il servizio e vedere lo stato del servizio usando systemctl
comando.
Iniziamo con un po' di informazioni sulla nostra versione di systemd. Usa il seguente systemctl
comando per determinare la versione di systemd:
[root@rhel7 ~]# systemctl --version systemd 208 +PAM +LIBWRAP +AUDIT +SELINUX +IMA +SYSVINIT +LIBCRYPTSETUP +GCRYPT +ACL +XZ
Successivamente, utilizziamo systemctl
comando per elencare tutti i servizi attualmente in esecuzione sul nostro sistema server Redhat Linux:
[root@rhel7 ~]# systemctl list-units --type=service | grep running
Allo stesso modo possiamo elencare tutti i servizi che non sono stati caricati durante il tempo di avvio del sistema:
[root@rhel7 ~]# systemctl list-units --type=service | grep failed fprintd.service loaded failed failed Fingerprint Authentication Daemon rhnsd.service loaded failed failed LSB: Starts the Spacewalk Daemon rngd.service loaded failed failed Hardware RNG Entropy Gatherer Daemon
Se sei interessato a tutti i servizi attivi disponibili sul tuo sistema, esegui semplicemente il systemctl
sopra comando senza la pipe grep:
[root@rhel7 ~]# systemctl list-units --type=service ... ... ... systemd-udevd.service loaded active running udev Kernel Device Manager systemd-update-utmp.service loaded active exited Update UTMP about System Reboot/Shutdown systemd-user-sessions.service loaded active exited Permit User Sessions systemd-vconsole-setup.service loaded active exited Setup Virtual Console tuned.service loaded active running Dynamic System Tuning Daemon upower.service loaded active running Daemon for power management vboxadd-service.service loaded active running LSB: VirtualBox Additions service vboxadd-x11.service loaded active exited LSB: VirtualBox Linux Additions kernel modules vboxadd.service loaded active exited LSB: VirtualBox Linux Additions kernel modules LOAD = Reflects whether the unit definition was properly loaded. ACTIVE = The high-level unit activation state, i.e. generalization of SUB. SUB = The low-level unit activation state, values depend on unit type. 68 loaded units listed. Pass --all to see loaded but inactive units, too. To show all installed unit files use 'systemctl list-unit-files'.
Il comando precedente elencherà solo i servizi attivi. Per elencare tutti i servizi, inclusi i servizi inattivi, esegui:
[root@rhel7 ~]# systemctl list-units --type=service --all
Una volta individuato il servizio che desideriamo avviare, interrompere, riavviare o ottenere uno stato, utilizziamo systemctl
comando con una sintassi seguente:
systemctl COMMAND SERVICE
Ad esempio, per interrompere il nostro agente di trasporto di posta Postfix:
postfix.service loaded active running Postfix Mail Transport Agent
Possiamo emettere un systemctl
comando:
[root@rhel7 ~]# systemctl stop postfix.service OR SIMPLY [root@rhel7 ~]# systemctl stop postfix
Successivamente possiamo controllare lo stato utilizzando:
[root@rhel7 ~]# systemctl status postfix.service postfix.service - Postfix Mail Transport Agent Loaded: loaded (/usr/lib/systemd/system/postfix.service; enabled) Active: inactive (dead) since Mon 2014-09-15 12:27:09 WST; 5s ago
A seconda del servizio che stai cercando di gestire puoi usare diversi comandi come stop, start, restart, status, reload, kill ecc. Controlla la pagina di manuale di systemctl
comando per ottenere un elenco completo dei comandi.