Uname

From EIK wiki

Artiklist

Autor: Ivo Suur
Rühm: A31 2014
Antud artikkel on kirjutatud aine Operatsioonisüsteemide administreerimine ja sidumine raames. Tegemist on iseseisva tööga mille eesmärk on anda lugejale ülevaade Linux/Unix süsteemides eksisteeriva käsu uname olemusest, parameetritest ja kasutatavusest. Uname tähendab pikalt kirjutatuna "Unix name".

Sissejuhatus

Selleks, et mõista artiklis kirjeldatut, ei pea kohe kindlasti olema Linuxi guru. Piisab mõningate algtõdede ja mõistete tundmisest, et aru saada millest juttu tehakse. Käsu uname kasutatavusest ja vajalikkusest üritan teile tuua mõne näite ning seejärel asume juba täpsema sisu ning parameetrite kirjeldamise juurde. Oletame, et teil on mingeid probleeme või küsimusi mis on seotud mõne tarkvara või riistvaralise komponendiga teie Linux operatsioonisüsteemiga masinal. Et neid küsimusi lahedama hakata, oleks hea teada milline kerneli (Kernel ehk tuum on operatsioonisüsteemi keskne osa, mis suhtleb vahetult riistvaraga, eraldab erinevatele protsessidele ressursse ja haldab rakenduste tööd) väljaanne teie süsteemil on või mis versiooniga kernel teil on. Või lähete sõbra/tuttava juurde, et aidata tal Linux OP-süsteemiga arvutisse uusi programme installeerida ja kasulik oleks teada kas installeerida 32bit või 64bit versioon (tegemist on väga lihtsate näidetega, kuid tegelikkuses on uname käsust abi ka keerulistes olukordades). Kui te ei tea kust seda infot lihtsasti leida (tegelikult on see leitav ka ühest süsteemis olevast kaustast - /proc/sys/kernel/ ja sealt leiab erinevad failid nagu nt ostype, hostname, osrelease, version, domainname, mis annavad sama infot, mida on võimalik uname käsuga saada.), siis õnneks ongi olemas uname käsklus, mis seda kiirelt ja mugavalt teha võimaldab. See aitab kindlasti probleemi lahendamist kiirendada. Lisades juurde vajalikud parameetrid, on meil võimalik saada süsteemi kohta veelgi rohkem informatsiooni.

Süntaks

Konkreetsed näited on simuleeritud autori enda arvutis, kus loodi ühendus Itcollege võrku doris@itcollege.ee. Vahet ei ole kas me oleme tavakasutaja või juurkasutaja, tulemused on samad.

  uname --help
    Usage: uname [OPTION]...
    Print certain system information.  With no OPTION, same as -s.
 -a, --all                print all information, in the following order,
                            except omit -p and -i if unknown:
 -s, --kernel-name        print the kernel name
 -n, --nodename           print the network node hostname
 -r, --kernel-release     print the kernel release
 -v, --kernel-version     print the kernel version
 -m, --machine            print the machine hardware name
 -p, --processor          print the processor type or "unknown"
 -i, --hardware-platform  print the hardware platform or "unknown"
 -o, --operating-system   print the operating system
     --help     display this help and exit
     --version  output version information and exit

Kogu süsteemi info väljastamine

  uname -a või uname --all
    Linux doris 3.0.101-0.35-default #1 SMP Wed Jul 9 11:43:04 UTC 2014 (c36987d) x86_64 x86_64 x86_64 GNU/Linux
    Kus siis järjest lahti seletatuna: Linux - masina kerneli nimi, doris - masina hostname,
    3.0.101-0.35-default - kerneli väljaanne, #1 SMP - kerneli versioon, x86_64 - protsessori arhitektuur, GNU/Linux - Operatsioonisüsteemi nimi 

Järgnev käsk uname (ilma lisaparameetriteta/võtmeteta) väljastab meile kerneli nime.Täpselt sama resultaadi saame ka siis kui lisame uname`ile parameetrid -s või --kernel-name

  uname
   Linux
  uname -s
   Linux
  uname --kernel-name
   Linux

Operatsioonisüsteemi nime väljastamine

  uname -o
   GNU/Linux
  uname --operating-system
   GNU/Linux

Kerneli versiooni info väljastamine

  uname -v
    #1 SMP Wed Jul 9 11:43:04 UTC 2014 (c36987d)
  uname --kernel-version
    #1 SMP Wed Jul 9 11:43:04 UTC 2014 (c36987d)

Mis väljaandega (inglise keeles release) kernelit meie süsteem kasutab

  uname -r
   3.0.101-0.35-default
  uname --kernel-release
   3.0.101-0.35-default

Millist arhitektuuri süsteem kasutab (mõtleme siinjuhul emaplaati ennast)

  uname -m
   x86_64
  uname --machine
   X86_64 
   Tulemus x86_64 osutab sellele, et teie süsteemi arhitektuur on 64bitine. i386 osutaks aga 32bitisele arhitektuurile.

Millise arhitektuuriga protsessorit süsteem kasutab (CPU)

  uname -p
   x86_64
  uname --processor
   x86_64
   Tulemus x86_64 osutab sellele, et protsessor on 64bitine. i686 osutaks aga 32bitisele protsessorile.

Mis tüüpi arhitektuuril tarkvara kompileeritakse ( tells us what architecture the software is compiled for)1

  uname -i
   x86_64
  uname --hardware-platform
   x86_64
   Tulemus x86_64 osutab 64bitisele süsteemile. i386 osutaks aga 32bitisele.

Võrgus oleva masina hostname

  uname -n
   doris
  uname --nodename
   doris
   olles loginud sisse doris@itcollege.ee

uname versiooniinfo väljastamine

  uname --version
   uname (GNU coreutils) 8.12
   Copyright (C) 2011 Free Software Foundation, Inc.
   License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.
   This is free software: you are free to change and redistribute it.
   There is NO WARRANTY, to the extent permitted by law.
   Written by David MacKenzie.

Kokkuvõte

Seega kokkuvõtvalt võiks öelda, et uname on üks kõige lihtsamaid ja efektiivsemaid käsklusi saamaks põhiinfot oma operatsioonisüsteemi ja kerneli kohta. Selleks pole vaja Internetis spetsiaalset infot otsida, piisab teadmisest, et on olemas uname käsklus.

Kasutatud kirjandus

Pealkirja all Süntaks esitatud näited ja sisu on kokku kogutud järgnevatest allikatest (Otseselt teiste autorite materjali kasutatud pole, pigem on võetud need näiteks mille alusel enda tööd teha):

http://unix.stackexchange.com/questions/124480/machine-hardware-name-processor-type-and-hardware-platform
https://www.ibm.com/developerworks/community/blogs/58e72888-6340-46ac-b488-d31aa4058e9c/entry/know_about_your_linux_system_using_uname_command77?lang=en
http://www.thegeekstuff.com/2012/09/uname-command-examples/
http://linoxide.com/linux-command/uname-command/
http://www.sbras.ru/cgi-bin/www/unix_help/unix-man?uname+3
http://www.delorie.com/gnu/docs/textutils/coreutils_141.html