Millä komennolla saa tietoja systeemistä?

Onko olemassa jotain kätevää komentoa, jolla voisi palauttaa tietoa käyttiksestä ja systeemistä ilman, että tietoa tarvitsisi erikseen parseroida pidemmästä tulosteesta? Haen siis työkalua, jonka antamaa tulostetta voisi käyttää suoraan esimerkiksi skripteissä. En siis tarkoita mitään graafista ohjelmaa. Mitä enemmän tietoa ohjelma osaa palauttaa sitä parempi. Olisi hyvä, jos ohjelma osaisi antaa tietoa käyttiksestä, tietokonelaitteistosta ja systeemistä. Olisiko jotain työkalua, jolta voisi kysyä komentorivillä vaikkapa distron nimeä tai versionumeroa ja ohjelma tulostaisi ainoastaan sen nimen ja versionumeron eikä mitään muuta siten, että tulostetta voi käyttää sellaisenaan esimerkiksi skriptissä?
13255
Äänestä

Muut lukivat myös

Vastaukset 13

Vanhimmat

Tuollaisia työkaluja on kyllä olemassa. Debianissa on esimerkiksiksi erittäin kätevä työkalu nimeltä Facter. Facter toimii nimenomaan tuolla haluamallasi tavalla.Facter osaa palauttaa esimerkiksi nuo mainitsemasi tiedot, ja paljon muuta. Facter löytyy suoraan Debianin omasta virallisesta ohjelmalähteestä. Facterin voi asentaa näin:

apt install facter


Voit listata kaikki facterin tuntemat tiedot yksinkertasesti antamalla komentorivillä komennon:

facter


Komennon palauttamien rivien alussa on mainittuna hakusana facterin tuntemalle tiedolle. Esimerkiksi "architecture". Haku sanan jälkeen rivillä on "=>" minkä jälkeen rivillä on hakusanaa vastaava tieto, esimerkiksi tässä tapauksessa prosessoriarkkitehtuuri kuten "amd64". Jos haluat tietää ainoastaan prosessoriarkkitehtuurin voit selvittää sen antamalla komentorivillä komennon:

facter architecture


Komento palauttaa arvona esimerkiksi amd64. Aivan samalla tavalla voit selvittäämuutkin facterin tuntemat tiedot.

Facter mahdollistaa myös omien ns. faktojen (fact) lisäämisen facterin tuntemien tietojen listaan. Eli, jos facter ei oletuksena osaa palauttaa jotain haluamaasi tietoa, voit luoda facterille uuden faktan. fakta voi palauttaa esimerkiksi jonkin komennon antaman tulosteen. Kun olet luonut uuden faktan facterille, uutta faktaa voidaan käyttää samaan tapaan kuin facterin oletuksena tuntemia tietoja. Voit esimerkiksi luoda uuden faktan nimeltä "cputemperature", joka palauttaa CPU:n lämpötilan. Voit sitten selvittää CPU:n lämpötilan facterin avulla samaan tapaan kuin esimerkiksi prosessoriarkkitehtuurin edellä.

Netistä löytyy ohjeita facterin käyttöön.

T. miksuh

Äänestä

Tässä on esimerkki siitä miten facteriin lisätään fakta (fact) nimeltä hddtemp, joka palauttaa esimerkiksi läppärin kovalevyn lämpötilan:

1) Avataan komentorivi-ikkuna

2) Siirrytään root-käyttäjäksi komennolla:

su


3) Asennetaan hddtemp

apt install hddtemp


4) Luodaan hakemisto omille facter -faktoille:

mkdir -p /etc/facter/facts.d


5) Siirrytään luotuun hakemistoon:

cd /etc/facter/facts.d


6) Luodaan uusi factan sisältävä skriptitiedosto:

gedit hddtemp


7) Laitetaan tiedoston sisällöksi:


#!/bin/sh

temperature=$(hddtemp --numeric --unit=c /dev/sda)
echo "hddtemp=$temperature"


8) Tallennetaan tiedosto ja suljetaan tekstieditori

9) Annetaan luodulle skriptille suoritusoikeus:

chmod x hddtemp


10) Käytetään uutta facter -faktaa antamalla komento:

facter hddtemp


Tulokseksi saadaan kovalevyn lämpötila pelkkänä numeroarvona Celsiusasteina. Esimerkiksi:

43


Pitää huomata tämän esimerkin kohdalla, että luotu uusi fakta on käytettävissä vainroot -käyttäjänä tai ajettaessa facter sudoa käyttäen, koska hddtemp vaatiin rootin oikeudet.

T. miksuh

Äänestä

Lisään vielä, että jos tuon uuden hddtemp -faktan lisäämisen jälkeen ajetaan komento:

facter


Niin sillon facter listaa myös uuden luodun faktan, eli tulokseksi saadaan esimerkiksi:

hddtemp => 43


T. miksuh

Äänestä

Ainiin, tuohon liittyen kun antamassani ohjeessa sanoin, että root -käyttäjäksi voi siirtyä komennolla:
su


Debian Busterista alkaen pitää muistaa, että tuo komento ei toimi aivan samoin kuin vanhemmissa Debian -versioissa. Debian Busterista alkaen tuo ei aseta hakupolkua. Muutenkin on parempi antaa komento muodossa:

su -


Tuo asettaa hakupolun ja avaa login shellin. Näköjään tuli vanhasta tottumuksesta käytettyä pelkkää komentoa "su" tuossa ohjeessa.

T. miksuh

Äänestä

ja tekstieditorina voi tietenkin käyttää gedit -tekstieditorin sijasta haluamaansa tekstieditoria. Tuo on toki itsestäänselvää, mutta hyvä mainita etenkin, jos tuota ohjetta kokeilee joku jolla ei ole paljoa kokemusta linuxista.

T. miksuh

Äänestä

Tuollainen löytyy paketeista ( ainaki tässä MX:ssä)
Hardinfo: Sysrem profiler and benchmark
ja kertoo paljon

Äänestä

Oho, tuo facterhan vaikuttaa mielenkiintoiselta. Juuri jotain tuon tapaista hainkin. Kuten sanoin aluksi en hakenut graafista työkalua, vaan työkalua, jota voi käyttää skripteissä. Eli vaikka tuo hardinfo onkin hyvä työkalu sekin, niin se ei ollut sellainen mitä hain.

Äänestä

Näyttää todellakin simppeliltä tuo depianin käyttö, kuten tuhannen muun viritelmänkin!

Äänestä
  • Osaamattoman Windows.trollin kannattaakin pysyä sen möfköfanttinsa ääressä.

    Äänestä

Kokeilin tuota facterin laajentamista omilla faktoilla, toimii hienosti. Tuohan on suorastaan loistava löytö. En ollut tuollaisesta työkalusta kuullutkaan, kiitos vinkistä.

Äänestä

Grepillä saa monenlaista irti eri komennoista. Minä tein Linux Mintiin pienen skripitin, joka päivittää näyttää koneen lämmöt viiden sekunnin välein.

while :
tput civis
do
temp=$(sensors -u | grep -u 'temp2_input' | cut -f2 -d: | cut -c 2-3)
echo -en "$temp\r"
sleep 5
done
tput cnorm

Äänestä
  • Katkesi ajatus kesken kirjoittamisen. Skripti siis näyttää prosessorin lämpötilan ja päivittyy 5 sekunnin välein.

    Äänestä

Ketjusta on poistettu 1 sääntöjenvastainen viesti.

Kommentoi aloitusta


Anonyymi kirjoitti:

Onko olemassa jotain kätevää komentoa, jolla voisi palauttaa tietoa käyttiksestä ja systeemistä ilman, että tietoa tarvitsisi erikseen parseroida pidemmästä tulosteesta? Haen siis työkalua, jonka antamaa tulostetta voisi käyttää suoraan esimerkiksi skripteissä. En siis tarkoita mitään graafista ohjelmaa. Mitä enemmän tietoa ohjelma osaa palauttaa sitä parempi. Olisi hyvä, jos ohjelma osaisi antaa tietoa käyttiksestä, tietokonelaitteistosta ja systeemistä. Olisiko jotain työkalua, jolta voisi kysyä komentorivillä vaikkapa distron nimeä tai versionumeroa ja ohjelma tulostaisi ainoastaan sen nimen ja versionumeron eikä mitään muuta siten, että tulostetta voi käyttää sellaisenaan esimerkiksi skriptissä?

Anonyymi
5000

Ilmoita asiaton sisältö

  • Sisältää materiaalia, joka on loukkaavaa, herjaavaa, rasistista, uhkailevaa tai ahdistelevaa.

  • Materiaali sisältää nimiä, yhteystietoja tai muita henkilökohtaisia tietoja. Julkisuuden henkilöistä, julkisissa viroissa toimivista ihmisistä sekä yritysten vastuuhenkilöistä saa keskustella työhön liittyen. Myös yksityiselämään liittyvistä asioista voi keskustella siltä osin, kuin niistä on julkisesti kerrottu.

  • Sisältää lapsille haitallista tai heiltä kiellettyä materiaalia. Seksuaalinen sisältö on sallittua aiheeseen tarkoitetuilla palstoilla, joiden ikäraja on 18 vuotta.

  • Lainvastaista sisältöä voi olla mm. yksityiselämää loukkaavan tiedon levitys, kiihottaminen kansanryhmää vastaan, laiton uhkaaminen, alaikäisiin liittyvä seksuaalinen sisältö/grooming, petokset, identiteettivarkaudet, kunnianloukkaukset ja tekijänoikeusrikkomukset.

  • Sisältö ei liity palstan tai keskusteluketjun aiheeseen.

  • Viesti ei ole suomea tai ruotsia (pl. International Forums), se sisältää mainontaa, se sisältää tekijänoikeuksin suojattua materiaalia, se on massapostitus tai jokin muu syy.

Jaa keskustelu