abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    včera 16:00 | Komunita

    Společnost Oracle vlastní ochrannou známku JAVASCRIPT. Komunita kolem programovacího jazyka JavaScript zastoupena společností Deno Land vede právní bitvu za její osvobození, viz petice a otevřený dopis na javascript.tm. Do 7. srpna se k nim má vyjádřit Oracle (USPTO TTAB).

    Ladislav Hagara | Komentářů: 2
    včera 13:11 | IT novinky

    Byl představen samostatný rádiový modul Raspberry Pi Radio Module 2 s Wi-Fi a Bluetooth.

    Ladislav Hagara | Komentářů: 6
    včera 12:44 | Upozornění

    Certifikační autorita Let’s Encrypt ukončila k 4. červnu zasílání e-mailových oznámení o vypršení platnosti certifikátů. Pokud e-maily potřebujete, Let’s Encrypt doporučuje některou z monitorovacích služeb.

    Ladislav Hagara | Komentářů: 0
    včera 01:44 | Pozvánky

    Přemýšlíte, jak začít prázdniny? Už v úterý 1. července se bude konat Virtuální Bastlírna, tedy online setkání bastlířů, techniků, vědců i akademiků, kde se ve volné diskuzi probírají novinky ze světa techniky, ale i jiných zajímavých témat.

    Za poslední měsíc jsme byli svědky plamenů několika raket. Zatímco malá raketa od Hondy se úspěšně vznesla a opět přistála, raketa od SpaceX se rozhodla letět všemi směry najednou. Díkybohu méně … více »
    Uprdkávač | Komentářů: 0
    29.6. 23:44 | Komunita

    Linus Torvalds zmínil, že souborový systém Bcachefs zřejmě odstraní z mainline Linuxu v začleňovacím okně pro vydání 6.17. Kent Overstreet mu totiž posílá kód s novou funkcionalitou i pro začlenění do kandidátů na vydání, kdy očekává pouze opravy chyb. Kent Overstreet byl již dříve z vývoje vyloučen kvůli konfliktní komunikaci.

    Fluttershy, yay! | Komentářů: 10
    27.6. 11:55 | IT novinky

    Ministerstvo průmyslu a obchodu propaguje Microsoft. Ten ve spolupráci s Ministerstvem průmyslu a obchodu spouští AI National Skilling Plan v ČR. "Iniciativa Microsoftu přináší konkrétní a praktickou podporu právě tam, kde ji nejvíc potřebujeme – do škol, firem i veřejné správy.", říká ministr průmyslu a obchodu Lukáš Vlček.

    Ladislav Hagara | Komentářů: 30
    27.6. 10:55 | Zajímavý projekt

    Jste český ISP? Vyplněním krátkého dotazníku můžete pomoci nasměrovat vývoj nové generace routerů Turris Omnia [𝕏].

    Ladislav Hagara | Komentářů: 4
    27.6. 01:33 | IT novinky

    Celkové tržby společnosti Canonical za rok 2024 byly 292 milionů dolarů (pdf). Za rok 2023 to bylo 251 milionů dolarů.

    Ladislav Hagara | Komentářů: 3
    27.6. 01:22 | Nová verze

    Byla vydána verze 1.88.0 programovacího jazyka Rust (Wikipedie). Podrobnosti v poznámkách k vydání. Vyzkoušet Rust lze například na stránce Rust by Example.

    Ladislav Hagara | Komentářů: 0
    27.6. 01:11 | Nová verze

    Distribuce Tails specializující se ochranu online soukromí uživatele byla vydána ve verzi 6.17. Mimo jiné aktualizuje Tor Browser (14.5.4) a opravuje několik chyb.

    Fluttershy, yay! | Komentářů: 0
    Jaký je váš oblíbený skriptovací jazyk?
     (59%)
     (28%)
     (7%)
     (2%)
     (0%)
     (1%)
     (3%)
    Celkem 335 hlasů
     Komentářů: 16, poslední 8.6. 21:05
    Rozcestník

    Náhrada za HDDtemp v Debian 12

    4.6.2023 09:56 | Přečteno: 1183× | c0mput3rs | poslední úprava: 4.6.2023 10:00

    Nakoľko nám zarezali balíček hddtemp v Debian 12 (a jeho používanie mám napr. ja vo viacerých bashových scriptoch) rozhodol som sa napísať si 2 náhrady.

    Prvá náhrada hddtemp.sh rieši zobrazenie teploty všetkých sd[x] a nvme[x] zariadení ktoré vyhľadá v systéme.
    #!/bin/bash
    
    get_disk_temperature() {
        local disk_path=$1
        local output=$(smartctl -a "$disk_path" 2>/dev/null)
        local temperature=$(echo "$output" | awk '/Temperature_Celsius/ { print $10 }')
    
        if [[ -n $temperature ]]; then
            echo "$temperature"
        else
            echo "-1"
        fi
    }
    
    main() {
        local disks_output=$(lsblk -d -n -o NAME)
        local disks=($disks_output)
    
        for disk in "${disks[@]}"; do
            if [[ $disk == sd* || $disk == nvme* ]]; then
                local temperature=$(get_disk_temperature "/dev/$disk")
    
                if [[ $temperature != -1 ]]; then
                    echo "Disk temperature for $disk: $temperature°C"
                else
                    echo "Disk temperature for $disk is not available."
                fi
            fi
        done
    }
    
    main
    
    Ukážka výstupu:
    $ ./hddtemp.sh
    Disk temperature for sda: 35°C
    Disk temperature for sdb: 39°C
    Disk temperature for sdc: 38°C
    Disk temperature for sdd: 32°C
    Disk temperature for sde is not available.
    
    Druhá náhrada hddtemp2.sh rieši zobrazenie iba samotnej teploty pre zvolený disk sd[x] a/alebo nvme[x] zariadenia.
    #!/bin/bash
    
    get_disk_temperature() {
        local disk_path=$1
        local output=$(smartctl -a "$disk_path" 2>/dev/null)
        local temperature=$(echo "$output" | awk '/Temperature_Celsius/ { print $10 }')
    
        if [[ -n $temperature ]]; then
            echo "$temperature"
        else
            echo "-1"
        fi
    }
    
    main() {
        local disk_name=$1
    
        if [[ -z $disk_name ]]; then
            echo "Error: Disk name not provided."
            echo "Usage: $0 <disk_name>>"
            exit 1
        fi
    
        local disk_path="/dev/$disk_name"
    
        if [[ ! -e $disk_path ]]; then
            echo "Error: Disk $disk_name does not exist."
            exit 1
        fi
    
        local temperature=$(get_disk_temperature "$disk_path")
    
        if [[ $temperature != -1 ]]; then
            echo "$temperature°C"
        else
            echo "Disk temperature for $disk_name is not available."
        fi
    }
    
    main "$@"
    
    
    Ukážka výstupu:
    $ ./hddtemp2.sh sda
    35°C
    
    Možno to niekomu pomôže. Tieto scripty vyžadujú inštaláciu balíčka smartmontools        

    Hodnocení: 100 %

            špatnédobré        

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    Komentáře

    Vložit další komentář

    4.6.2023 13:03 X
    Rozbalit Rozbalit vše Re: Náhrada za HDDtemp v Debian 12
    Klidne bych se nebal to spojit dohromady a udelat k tomu pres switch case napovedu a pak to soupnout bez pripony do /usr/local/bin a muzes to krasne volat z prikazove radky. Za shabang jeste patri popis co to dela.
    cbrpnk avatar 4.6.2023 13:56 cbrpnk | skóre: 8 | blog: bl0gium
    Rozbalit Rozbalit vše Re: Náhrada za HDDtemp v Debian 12
    Nejako takto ? :-)
    #!/bin/bash
    
    echo "hdt.sh v0.1 - bash script displays the temperature of hd/nvme disks"
    echo " "
    echo "--help show usage of script"
    echo " "
    
    get_disk_temperature() {
        local disk_path=$1
        local temperature=$(smartctl -a "$disk_path" 2>/dev/null | awk '/Temperature_Celsius/ { print $10 }')
    
        if [[ -n $temperature ]]; then
            echo "$temperature°C"
        else
            echo "Disk temperature is not available."
        fi
    }
    
    display_usage() {
        echo "Usage: $0 [disk_name]"
        echo "disk_name (optional): Name of the disk to display the temperature."
        echo "If not provided, temperatures for all eligible disks will be displayed."
        echo "Package smartmontools is mandatory."
    }
    
    main() {
        if [[ $1 == "--help" ]]; then
            display_usage
            exit 0
        fi
    
        if [[ -n $1 ]]; then
            local disk_path="/dev/$1"
            if [[ -e $disk_path ]]; then
                get_disk_temperature "$disk_path"
            else
                echo "Error: Disk $1 does not exist."
                exit 1
            fi
        else
            local disks_output=$(lsblk -d -n -o NAME)
            for disk in ${disks_output[@]}; do
                if [[ $disk == sd* || $disk == nvme* ]]; then
                    local disk_path="/dev/$disk"
                    echo "Disk temperature for $disk: $(get_disk_temperature "$disk_path")"
                fi
            done
        fi
    }
    
    main "$@"
    
    
    4.6.2023 14:13 jejda | skóre: 25 | blog: jejda
    Rozbalit Rozbalit vše Re: Náhrada za HDDtemp v Debian 12
    Pěkné, no mohls tam připsat nějaké upozornění že to funguje jenom pod rootem. Chvilku jsem s tím zápasil proč mi to vyhazuje error tempertature not available. Nějaký způsob jak se podívat na teploty disku bez práv roota existuje?
    cbrpnk avatar 4.6.2023 14:18 cbrpnk | skóre: 8 | blog: bl0gium
    Rozbalit Rozbalit vše Re: Náhrada za HDDtemp v Debian 12
    Ano, len root alebo sudo eventualne... ale to tusim takto fungoval aj originál hddtemp...
    4.6.2023 17:54 z_sk | skóre: 34 | blog: analyzy
    Rozbalit Rozbalit vše Re: Náhrada za HDDtemp v Debian 12
    + ešte možnosť: setuid bit
    debian.plus@protonmail.com
    4.6.2023 17:13 ewew | skóre: 40 | blog: ewewov_blog
    Rozbalit Rozbalit vše Re: Náhrada za HDDtemp v Debian 12

    Bez roota to nepôjde. Spustil som strace s rootom a bez. Podľa toho čo píše strace tak to spadne na prístupových právachk danému zariadeniu sdX.

    • S rootom openat(AT_FDCWD, "/dev/sda", O_RDONLY|O_NONBLOCK) = 3 ioctl(3, SG_IO, {interface_id='S', dxfer_direction=SG_DXFER_FROM_DEV, cmd_len=6, cmdp="\x12\x00\x00\x00\x24\x00", mx_sb_len=32, iovec_count=0, dxfer_len=36, tim eout=60000, flags=0, dxferp="\x00\x00\x05\x02\x5b\x00\x00\x02\x41\x54\x41\x20\x20\x20\x20\x20\x57\x44\x43\x20\x57\x44\x35\x30\x30\x33\x41\x5a\x45\x58\x2d\x30"..., status=0, masked_status=0, msg_status=0, sb_len_wr=0, sbp="", host_status=0, driver_status=0, resid=0, duration=0, info=0}) = 0 ioctl(3, SG_IO, {interface_id='S', dxfer_direction=SG_DXFER_FROM_DEV, cmd_len=16, cmdp="\x85\x08\x0e\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\xec\x00", mx_sb_len=32, iovec_count=0, dxfer_len=512, timeout=60000, flags=0, dxferp="\x7a\x42\xff\x3f\x37\xc8\x10\x00\x00\x00\x00\x00\x3f\x00\x00\x00\x00\x00\x00\x00\x20\x20\x20\x20\x57\x20\x2d\x44\x43\x57\x36\x43"..., status=0, masked_status=0, msg_status=0, sb_len_wr=0, sbp="", host_status=0, driver_status=0, resid=0, duration=0, info=0}) = 0
    • Bez rootaopenat(AT_FDCWD, "/dev/sda", O_RDONLY|O_NONBLOCK) = -1 EACCES (Permission denied) write(1, "Smartctl open device: /dev/sda f"..., 57) = 57 exit_group(2) = ? +++ exited with 2 +++
    Z tohto vyplýva, že na prístup k zariadeniu potrebuješ pridelenú capabilitie CAP_FOWNER,CAP_RAWIO. Lenže tieto povolenia sú všeobecne a zatial neviem o tom, že existuje ako vyriešiť riadené prístupu. Na bezpečný prístup k daným funkciam by musela byť aplikácia prepísaná. Čo asi nebude a zrejme bude nutné doprogramovať nejaký výstup cez filesystém sysfs.

    Root v linuxe : "Root povedal, linux vykona."
    4.6.2023 23:22 trekker.dk | skóre: 72
    Rozbalit Rozbalit vše Re: Náhrada za HDDtemp v Debian 12
    Mám za to, že v sysfs žádné informace ohledně teploty disků nejsou
    Quando omni flunkus moritati
    5.6.2023 14:08 plostenka | blog: plstnk
    Rozbalit Rozbalit vše Re: Náhrada za HDDtemp v Debian 12
    Ale mohly by byt, vlastne by tam mohl byt cely SMART, protoze proc ne.
    AraxoN avatar 5.6.2023 11:09 AraxoN | skóre: 47 | blog: slon_v_porcelane | Košice
    Rozbalit Rozbalit vše Re: Náhrada za HDDtemp v Debian 12
    Neskúšal som, ale údajne by sa teplota disku mala dať čítať aj cez SNMP (ak je nainštalovaný a správne nastavený).
    Max avatar 5.6.2023 11:26 Max | skóre: 72 | blog: Max_Devaine
    Rozbalit Rozbalit vše Re: Náhrada za HDDtemp v Debian 12
    Docela úchylný, ne? :)
    Zdar Max
    Měl jsem sen ... :(
    AraxoN avatar 5.6.2023 11:50 AraxoN | skóre: 47 | blog: slon_v_porcelane | Košice
    Rozbalit Rozbalit vše Re: Náhrada za HDDtemp v Debian 12
    Na prvotné nastavenie áno.

    Ale potom nepotrebuješ roota na čítanie teploty :)
    xkucf03 avatar 6.6.2023 19:12 xkucf03 | skóre: 49 | blog: xkucf03
    Rozbalit Rozbalit vše SNMP, JMX, D-Bus
    V čem je to úchylnější oproti takovému D-Bus, kde se publikují např. informace o stavu baterky a spousta dalších věcí?

    D-Bus akorát funguje přes doménový soket, jinak to dělá to samé. Podobně JMX. Znovu se vynalézá kolo, jak už je v IT zvykem.
    Mám rád, když se lidé přou, znamená to, že vědí, co dělají, a že mají směr. Frantovo.cz, SQL-DK, Relational pipes
    24.6.2023 13:40 ewew | skóre: 40 | blog: ewewov_blog
    Rozbalit Rozbalit vše Re: SNMP, JMX, D-Bus

    Napríklad teploty, napätia a frekvenicie sú v /sys/class/hwmon/

    Root v linuxe : "Root povedal, linux vykona."

    Založit nové vláknoNahoru

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.