====== systemd (esercitazione) ====== Esercitazioni sul modulo **systemd**. ==== Parte 1: Visualizzazione dello stato del sistema e proprieta' delle units ==== - Visualizzazione dello stato del sistema. - Identificazione della unit che ha fallito (a dopo la soluzione del problema). - Visualizzazione di tutte le unit ed identificazione di eventuali problemi (units not found).\\ Le unit **not found** sono unit non installate (no unit file) ma presenti in dipendenze di altre unit. - Verificare che la unit ypbind.service non e' installata (visualizzare stato e unit file). - Cercare la unit che riporta ypbind.service tra le sue dipendenze. ==== Parte 2: Stato dei servizi: start/stop/ena/disa ==== - Visualizzare lo stato di httpd - Far partire httpd, e visualizzare il suo stato - Abilitare httpd e visualizzare il suo stato - Riconfigurare lo stato di abilitazione di httpd al preset ==== Parte 3: target units ==== - Visualizzare la default target unit - Visualizzare le dipendenze di multi-target dirette e inverse - Visualizzare la lista di link delle unit //wanted// da multi-user.target - Andare in graphical target - Creare una snapshot con httpd e mysqld attivi - Spostarsi tra multi-user target e snapshot e verificare che i servizi si attivano e disattivano - Andare in default target e rimuovere la snapshot ==== Parte 4: unit files ==== In /root/ses c'e' una applicazione che implementa un servizio (Simple Echo Service) che si mette in ascolto sulla porta TCP 0.0.0.0:5555.\\ Provate ad eseguirlo interattivamente:\\ su una finestra eseguite: **# /root/ses/ses**\\ su una seconda finestra eseguite **# telnet 127.0.0.1 5555**\\ L'esercitazione consiste nei seguenti punti: - Creare uno unit file per far eseguire ses tramite systemd (includere configuraizone per fare restart in 30 secondi) - Creare unit files per far eseguire ses da systemd tramite socket-based activation - Creare uno unit file per far eseguire ses da systemd tramite path-based activation ==== Parte 5: journald ==== - Visualizzare i log di journald, tutti o quelli di una particolare unit - Visualizzare solo i messaggi con priority compresa tra **notice** ed **err** - Visualizzare con filtro sul transport stdout; utilizzare la completion - Visualizzare con filtro su SYSLOG_IDENTIFIER - Abilitare la persistenza (verificare la collocazione dei journal files) - Visualizzazione della lista di boot. Verifica della persistenza al reboot. - Visualizzazione dei kernel log del boot precedente - Visualizzazione della unit **postfix** in configurazione di persistenza (verificare la visualizzazione dei boot) - Visualizzazione in follow mode\\ Per generare un messaggio di log utilizzare **logger** - Visualizzare un evento in modalita' verbose, json-pretty, - Modifica della configurazione\\ Disabilitare lo storage per i log, e verificare che rsyslogd non logga piu' ==== Parte 6: systemd utilities ===== - Visualizzare e modificare i diversi valori di host name tramite hostnamectl - Modificare la timezone del sistema (verificare che i journal log cambiano la data) - Modificare l'ora del sistema (si deve disabilitare NTP: verificare che chronyd viene fermato)