Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

Monitorare il proprio Hardware

Link copiato negli appunti

Le moderne schede madri consentono, come molti di voi sapranno, di monitorare la temperatura della CPU e della motherboard stessa, velocità delle ventoline, e tensione di alimentazione. Con degli appositi microswitch è possibile anche controllare la corretta posizione del case. All'acquisto del PC o della scheda madre, tra il software a corredo, quasi sempre non manca quello relativo a questi dispositivi (qualora non fosse presente vi sono anche dei programmi reperibili su Internet). Si tratta però sempre di software per Windows, spesso anche molto curato nella grafica, che mostra l'andamento di questi parametri del vostro sistema.

Qualcuno di voi si chiederà se esista qualcosa di analogo per Linux. La risposta è ovviamente sì. Il vantaggio di controllare parametri come temperatura, velocità delle ventoline e tensione di alimentazione è quello di prevenire malfunzionamenti o situazioni anomale come il surriscaldamento della CPU. Cosa che in un server, ad esempio, può avere grande importanza. Tutto questo grazie al bus I2C (si legge I-square-C, I-quadro-C traducendolo in italiano).

Con Linux è possibile fare questo utilizzando lm_sensors. Questo programma sfrutta i driver I2C per questo sistema operativo, rendendo accessibili le informazioni provenienti dal "monitor di sistema". Allo stato attuale sono supportati moltissimi dei chip che provvedono a tenerci aggiornati sulla salute del nostro computer. Nonostante questo, non è assicurato (per quanto sia molto probabile) che funzioni con la vostra scheda madre. Attualmente lo sviluppo di lm_sensors è giunto alla versione 2.6.2. Abbiamo già detto che per far funzionare questo programma sarà necessario prima installare I2C, reperibili entrambi sul sito: http://www.netroedge.com/~lm78/download.html.

Prima di continuare è bene precisare una cosa: le ultime release del kernel (tutte quelle successive al 2.4.13) contengono già al loro interno I2C 2.6.1, che è già sufficiente, ma è meglio utilizzare la versione 2.6.2, disponibile sul sito, che presenta dei miglioramenti e bugfix.

Dopo aver quindi scaricato i file http://www.lm-sensors.nu/archive/lm_sensors-2.6.2.tar.gz e http://www.netroedge.com/~lm78/archive/i2c-2.6.2.tar.gz passiamo all'installazione di I2C. La procedura di installazione non dovrebbe cambiare di con l'uscita di nuove release, quindi quella che mi appresto a descrivervi dovrebbe essere valida anche con le prossime versioni. Un'altra cosa della quale avrete bisogno sono i sorgenti del kernel che utilizzate (controllate che sia presente nella directory /usr/src/linux ed eventualmente scaricatelo dal sito ftp://ftp.kernel.org). Prima di tutto decomprimiamo I2C in una directory, ad esempio in /usr/local/src e entriamo la sottodirectory appena creata.

lnxbox1:/usr/local/src# tar xfvz i2c-2.6.2.tar.gz

lnxbox1:/usr/local/src# cd i2c-2.6.2

A questo punto lanciamo make e subito dopo make install:

lnxbox1:/usr/local/src/i2c-2.6.2# make

lnxbox1:/usr/local/src/i2c-2.6.2# make install

Per completare l'installazione dei moduli di I2C diamo un depmod -a:

lnxbox1:/usr/local/src/i2c-2.6.2# depmod -a

A questo punto possiamo provvedere a installare lm_sensors. Decomprimiamo anche questo pacchetto in /usr/local/src e compiliamolo:

lnxbox1:/usr/local/src# tar xfvz lm_sensors-2.6.2.tar.gz

lnxbox1:/usr/local/src# cd lm_sensors-2.6.2

lnxbox1:/usr/local/src/lm_sensors-2.6.2# make

lnxbox1:/usr/local/src/lm_sensors-2.6.2# make install

Diamo un depmod -a come abbiamo fatto con I2C:

lnxbox1:/usr/local/src/lm_sensors-2.6.2# depmod -a

A questo punto apriamo il file /etc/ld.so.conf e controlliamo la presenza della directory /usr/local/lib (aggiungendola e salvando il file se è il caso). Dopo questo diamo:

lnxbox1:/usr/local/src/lm_sensors-2.6.2# ldconfig

Passiamo quindi alla creazione dei file speciali in /dev con:

lnxbox1:/usr/local/src/lm_sensors-2.6.2# prog/mkdev/mkdev.sh

E alla configurazione vera e propria di lm_sensors:

lnxbox1:/usr/local/src/lm_sensors-2.6.2# prog/detect/sensors-detect

Lo script per la configurazione di lm_sensors però sembra soffrire di qualche bug nella determinazione di alcuni tipi di hardware. Potete scaricarne una versione corretta all'indirizzo: http://www2.lm-sensors.nu/~lm78/cvs/lm_sensors2/prog/detect/sensors-detect (copiando il file appena scaricato, sensors-detect, nella directory prog/detect/).

Ora lo script di installazione ci farà alcune domande. Probabilmente la scelta a voi più adatta sarà quella consigliata. In pratica vi verrà chiesto se volete che si tenti il riconoscimento del vostro hardware (consigliato) e che vengano caricati altri driver che non siano stati riconosciuti. Alla fine della configurazione il programma vi dirà quali sono i moduli da caricare e cosa aggiungere nel file /etc/modules.conf (in alcune distribuzioni viene chiamato /etc/conf.modules). Una volta fatte le dovute modifiche al file in questione potrete caricare i moduli che fanno al caso vostro con il comando:

lnxbox1:~# modprobe nomemodulo

Se lo desideriate potete anche far caricare i moduli al boot, inserendone il caricamento in uno script.

A questo punto potete o fare un reboot oppure caricare i moduli e lanciare (da root) sensors -s.

Questa è un'utility studiata per la console: c'è un unico comando che vi permetterà di accedere a informazioni dettagliate come temperatura del processore e scheda madre (a dire il vero si tratta della temperatura sul chip preposto a queste funzioni), velocità di rotazione delle ventoline e tensione di alimentazione.

A questo punto potete lanciare il comando:

lnxbox1:~# sensors

che vi mostrerà ciò da voi richiesto.

Lm_sensors è un programma per console. In questo modo è possibile riutilizzarlo all'interno di script, magari da caricare con cron per controllare periodicamente la temperatura e avvertirvi (email ma anche eventualmente SMS ad esempio) in caso di un eventuale problema.

Questo non vuol dire che non esistano delle GUI per questo programma. È possibile ad esempio farlo "dialogare" con GKrellM, oppure utilizzare uno dei tanti frontend per X reperibili su freshmeat (www.freshmeat.net) oppure nella pagina dei link dello stesso sito di lm_sensors.

Ti consigliamo anche