Esiste una esperienza di laboratorio sull’uso di Isi-checkup
isi-checkup è la suite di diagnostica del progetto ReteISI. Nasce con lo scopo di rilevare e notificare i problemi di configurazione più comuni. Viene costantemente aggiornata al fine di permettere di indentificare un numero sempre crescente di errori. Molto importanti ed apprezzati, sono quindi tutte le segnalazioni di problemi non coperti dalla Suite, fatte in mailing list Rete ISI. Segnalazioni che si tradurranno con tutta probabilità in un nuovi test.
Non è una tool di correzione degli errori: effettua checkup, non fix!
Chi non lo avesse già installato potrà farlo, come root, con un semplice:
apt-get install isi-checkup
Il sistema è composto principalmente da:
I test presenti nel sistema, scritti principalmente in codice python( e qualcuno in shell script), sono contenuti in /usr/share/isi-checkup/tests/.
Ogni script di test ha un nome che indica, con la prima parte numerica, la sua appartenenza ad un particolare gruppo. I gruppi definiti ad oggi (release in hg numero 119) sono i seguenti :
I test di sistema si occupano principalmente di rilevare problemi di configurazione legati al boot, file di configurazioni mancanti, etc...
I test utente effettuano una serie di controlli concentrandosi esclusivamente su un singolo utente o tutti gli utenti. Viene controllato, ad esempio, che l’utente possa leggere, scrivere od attraversare determinati file o cartelle. Sarà capitato a tutti di incappare nel famigerato messaggio di windows “Impossibile trovare il profilo”. Quasi sempre, questo problema è dovuto all’impossibilità dell’utente di accedere ad alcuni file della propria home directory.
I test locali sono test che un utente può decidere di aggiungere per conto proprio. Andranno aggiunti in /etc/isi/checkup e dovranno appartenere al range (701 ~ 2000).
Per lanciare un particolare gruppo di test, basterà invocare il comando isi-checkup con la relativa opzione. Si faccia riferimento all’help del comando per le opzioni da usare.
Come detto in precedenza, per test si intende un piccolo codice (una script bash o una funzione in python) che effettua un singolo controllo e ritorna un valore chiaro:
Esempio di test in bash: /etc/isi/checkup/tests-enabled/test-smbd.sh
#!/bin/bash
if pgrep -x smbd ; then
exit 0
else
echo "il processo smbd non sta girando"
exit 1
fi
In /usr/share/isi-checkup troveremo invece i file template *.conf. Cos’è un template? Un template è un semplice file di testo in cui vengono elencati tutti i test da attivare all’attivazione del profilo. Questo permette, tramite la semplice preparazione di template differenti di coprire le necessità di differenti tipologie di macchine (server ReteISI, server LTSP, firewall, client Linux). Al momento esiste un solo template che è quello del server ReteISI.
Volendo, ad esempio, attivare tutti i test contenuti nel profilo di default isi.conf
isi-checkup -t isi
Nota
E’ possibile evitare che un test venga lanciato accodandone il nome al file /etc/isi/checkup/exclude.
Nota
Con nome ci si riferisce al nome del file privo della parte numerica. es. squid_run_on_boot.py
E’ inoltre possibile copiare-incollare direttamente dal report a due colonne di isi-checkup.
Esempio:
I seguenti test non sono andati a buon fine
squid_run_on_boot.py BootProcessSquid
(notare la riga relativa al test squid_run_on_boot.py fallito)