Le distribuzioni Linux si stanno spostando dai vecchi processi di avvio in stile System V a un meccanismo più recente, il demone systemd e il suo strumento a riga di comando systemctl associato. I servizi gestiti da systemd/systemctl richiedono, come minimo, un file di configurazione che definisce i processi di avvio e arresto, una definizione del tipo che controlla come tali processi verranno gestiti dal sistema operativo e qualsiasi eseguibile necessario per avviare o arrestare i processi del servizio.
Sulla maggior parte delle nuove distribuzioni che utilizzano il sistema, gestiremmo i processi utilizzando il comando systemctl. Gli sviluppatori Linux hanno anche lasciato il supporto per il comando service; se proviamo a terminare un processo utilizzando il comando service, vedremo che in realtà reindirizzerà la nostra richiesta al comando systemctl.
Se si verifica l'errore seguente durante l'esecuzione di qualsiasi comando systemctl:
systemctl: command not found
puoi provare a installare il pacchetto systemd secondo la tua scelta di distribuzione.
Distribuzione | Comando |
---|---|
Debian | apt-get install systemd |
Ubuntu | apt-get install systemd |
Arci Linux | pacman -S sistema |
Kali Linux | apt-get install systemd |
CentOS | yum install systemd |
Fedora | dnf install systemd |
Raspbian | apt-get install systemd |
File di configurazione
- /usr/lib/systemd/system/ :contiene i file unit predefiniti del sistema.
- /etc/systemd/system :contiene parametri specifici del sistema per modificare il comportamento predefinito di systemd.
- /run/systemd/system/ :Contiene la configurazione di runtime dei file unit.
Esempi di comando systemctl
1. Visualizzazione degli stati di servizio con systemctl:
# systemctl status sshd.service
Stato | Descrizione |
---|---|
Caricato | Il file di configurazione dell'unità è stato elaborato correttamente |
Attivo (in esecuzione) | In esecuzione con uno o più processi attivi |
Attivo (chiuso) | Completata con successo una configurazione unica |
Attivo (in attesa) | Correre e aspettare che si svolga un evento |
Non attivo | Al momento non in esecuzione |
Abilitato | Inizierà all'avvio |
Disabilitato | Non si avvia all'avvio |
Statico | Non può essere abilitato direttamente, ma può essere avviato automaticamente da un'altra unità abilitata |
2. Visualizza lo stato di tutte le diverse unità attive e caricate all'avvio:
# systemctl
3. Visualizza lo stato delle sole unità di servizio attive:
# systemctl --type=service
o
# systemctl list-units --type=service
4. Visualizza lo stato di tutte le unità di servizio caricate, attive o inattive:
# systemctl --type=service –all
o
# systemctl list-units --type=service --all
5. Visualizza tutti i servizi non riusciti:
# systemctl --failed --type=service
6. Visualizza se il particolare servizio è attualmente attivo o meno:
# systemctl is-active sshd
7. Visualizza se il particolare servizio è abilitato all'avvio all'avvio o meno:
# systemctl is-enabled sshd
8. Visualizza le impostazioni abilitate, disabilitate o statiche di tutte le unità del tipo specificato:
# systemctl list-unit-files --type=service
9. Visualizza informazioni dettagliate sullo stato del servizio specificato:
# systemctl status sshd.service -l