Introduzione a systemd in Linux

systemd è un sistema di init e un gestore di servizi utilizzato dalla maggior parte delle distribuzioni Linux moderne. Sostituisce i tradizionali sistemi SysV e Upstart, offrendo funzionalità avanzate come l'avvio parallelo dei servizi, il tracciamento dei processi e il controllo dettagliato dello stato dei servizi.

Caratteristiche principali di systemd

  • Avvio parallelo dei servizi per migliorare la velocità di boot
  • Controllo centralizzato dei log tramite journald
  • Gestione delle dipendenze tra servizi
  • Supporto per socket e D-Bus activation
  • Snapshot e restore dello stato del sistema

Comandi fondamentali

I comandi principali per interagire con systemd sono forniti tramite systemctl. Ecco alcuni esempi:

# Avviare un servizio
sudo systemctl start nome-servizio

# Fermare un servizio
sudo systemctl stop nome-servizio

# Riavviare un servizio
sudo systemctl restart nome-servizio

# Abilitare un servizio all'avvio
sudo systemctl enable nome-servizio

# Disabilitare un servizio
sudo systemctl disable nome-servizio

# Controllare lo stato di un servizio
systemctl status nome-servizio

Unit file in systemd

Ogni servizio gestito da systemd è descritto in un "unit file". Questi file sono normalmente posizionati in /etc/systemd/system/ o /lib/systemd/system/.

Esempio di unit file per un servizio:

[Unit]
Description=Esempio di Servizio
After=network.target

[Service]
ExecStart=/usr/bin/esempio
Restart=on-failure

[Install]
WantedBy=multi-user.target

Logging con journald

Systemd include anche un sistema di logging chiamato journald, che raccoglie e organizza i messaggi di log.

# Visualizzare tutti i log
journalctl

# Log relativi a un servizio specifico
journalctl -u nome-servizio

# Log persistenti (se abilitati)
sudo mkdir -p /var/log/journal
sudo systemd-tmpfiles --create --prefix /var/log/journal

Conclusioni

Systemd ha rivoluzionato la gestione dei servizi in Linux grazie a un design modulare, funzionalità avanzate e una migliore integrazione con l'intero sistema operativo. Anche se non è privo di critiche, resta uno strumento potente e ormai standard per amministratori di sistema e sviluppatori.

Torna su