Základní informace o systému: Porovnání verzí

Z Milan Kerslager
Přejít na: navigace, hledání
m (Seznam přiřazených přerušení: fix)
(Běžné příkazy: +verze distribuce)
 
(Nejsou zobrazeny 2 mezilehlé verze od stejného uživatele.)
Řádka 1: Řádka 1:
Pokud se přihlásíme k neznámému systému, obvykle o něm chceme zjistit základní informace. V grafickém prostředí existují nejrůznější nástroje, které více či méně přehledně některé informace zobrazí. V tomto článku se budeme zabývat tím, jak je získat z příkazové řádky. Výhodou tohoto přístupu je, že příkazy se zapisují pořád stejně a není proto nutné je vysvětlovat pro různé verze systému. V grafickém režimu si spusťte terminál, ve kterém příkazový řádek naleznete. Tučně jsou v příkladech vyznačeny části, které zadává uživatel. Na některých systémech, kde není správně nastaveno prostředí uživatele, je nutné příkazy zadávat společně s cestou, například <code>/sbin/lspci</code> nebo <code>/usr/sbin/fdisk</code> (viz dále zmínka o příkazu <code>su</code> a <code>sudo</code>).
+
Pokud se přihlásíme k neznámému systému, obvykle o něm chceme zjistit základní informace. V grafickém prostředí existují nejrůznější nástroje, které více či méně přehledně některé informace zobrazí. V tomto článku se budeme zabývat tím, jak je získat z příkazové řádky. Výhodou tohoto přístupu je, že příkazy se zapisují pořád stejně a není proto nutné je vysvětlovat pro různé verze systému. V grafickém režimu si spusťte terminál, ve kterém příkazový řádek naleznete. Tučně jsou v příkladech vyznačeny části, které zadává uživatel. Na některých systémech, kde není správně nastaveno prostředí uživatele, je nutné příkazy zadávat společně s cestou, například <code>/sbin/lspci</code> nebo <code>/usr/sbin/fdisk</code> viz dále zmínka o přepínači mínus (<code>-</code>) příkazu <code>su</code> a <code>sudo</code>.
  
 
== Běžné příkazy ==
 
== Běžné příkazy ==
 +
 +
=== Jméno distribuce ===
 +
Verze a název linuxové distribuce bývá v souboru <code>/etc/os-release</code> nebo <code>/etc/system-release</code> (tři tečky naznačují část odstraněného výpisu):
 +
 +
$ '''cat /etc/os-release'''
 +
NAME=Fedora
 +
VERSION="25 (Workstation Edition)"
 +
[...]
  
 
=== Jméno systému ===
 
=== Jméno systému ===

Aktuální verze z 9. 2. 2017, 18:14

Pokud se přihlásíme k neznámému systému, obvykle o něm chceme zjistit základní informace. V grafickém prostředí existují nejrůznější nástroje, které více či méně přehledně některé informace zobrazí. V tomto článku se budeme zabývat tím, jak je získat z příkazové řádky. Výhodou tohoto přístupu je, že příkazy se zapisují pořád stejně a není proto nutné je vysvětlovat pro různé verze systému. V grafickém režimu si spusťte terminál, ve kterém příkazový řádek naleznete. Tučně jsou v příkladech vyznačeny části, které zadává uživatel. Na některých systémech, kde není správně nastaveno prostředí uživatele, je nutné příkazy zadávat společně s cestou, například /sbin/lspci nebo /usr/sbin/fdisk – viz dále zmínka o přepínači mínus (-) příkazu su a sudo.

Běžné příkazy

Jméno distribuce

Verze a název linuxové distribuce bývá v souboru /etc/os-release nebo /etc/system-release (tři tečky naznačují část odstraněného výpisu):

$ cat /etc/os-release
NAME=Fedora
VERSION="25 (Workstation Edition)"
[...]

Jméno systému

Příkaz uname vypisuje některé základní systémové informace. Volba -a zobrazí všechny najednou v pořadí: jméno jádra (Linux), jméno počítače (pluto.pslib.cz), vydání jádra (2.6.9-67.0.4.EL), verze jádra (#1 Sun Feb 3 06:53:29 EST 2008, tj. pořadí kompilace jádra, je-li určen pro víceprocesorový provoz (SMP) a datum kompilace jádra), HW platforma (i686), procesor (athlon), architektura (i386, tj. 32 bitový režim), název operačního systému (GNU/Linux):

$ uname -a
Linux pluto.pslib.cz 2.6.9-67.0.4.EL #1 Sun Feb 3 06:53:29 EST 2008 i686 athlon i386 GNU/Linux

Níže uvedený příkaz zobrazí platformu jádra. V případě Intel kompatibilní 32bitové platformy bude uvedeno i386, i586 nebo i686. V případě 64bitové platformy pak příkaz zobrazí x86_64:

$ uname -m

Doba běhu systému a jeho zatížení

Doba běhu systému se zobrazuje ve výpisu příkazu uptime:

$ uptime
07:51:18 up 12 days,  8:27, 93 users,  load average: 0.49, 0.48, 0.36

Na prvním místě je čas, systém běží 12 dní, 8 hodin a 27 minut. Přihlášeno je 93 uživatelů. Poslední údaj je zatížení počítače (load average), které je vyjádřeno třemi čísly (0.49, 0.48, 0.36). Čísla po řadě zobrazují průměrný počet běžících procesů za poslední 1, 5 a 15 minut. Je-li load 0, pak je procesor v klidu a žádný proces na přidělení CPU nečeká. Zatížení 1 znamená, že je procesor vytížen na 100%. V případě, že je hodnota větší než 1, není procesor schopen vyhovět požadavkům procesů a procesy musí čekat ve frontě na přidělení CPU, tj. je-li zatížení 2, jeden proces trvale běží a druhý musí vždy čekat, přičemž oba jsou schopni využít 100% procesoru.

Paměť

Informace o paměti počítače vypíšeme příkazem free.

$ free
            total       used       free     shared    buffers     cached
Mem:       3744956    3728600      16356          0      83688    1406696
-/+ buffers/cache:    2238216    1506740
Swap:      3919840        200    3919640

Celková velikost operační paměti RAM je 3744956 KiB, tj. počítač je zřejmě osazen 4 GiB RAM, ze kterých si část ukousne sdílená grafická karta (zřejmě 256 MiB) a část jádro operačního systému (zbytek). Přesné rozložení a velkost paměti lze vyčíst z logů jádra při startu (viz příkaz dmesg, hned na začátku část BIOS-provided physical RAM map). Přepínačem -k, -m nebo -g lze volit jednotky, ve kterých bude velikost uvedena. Položka free uvádí velikost volné paměti, přičemž za volnou paměť se považuje i buffers a cached, protože obě dvě lze snadno uvolnit a použít (a alokace volné paměti na tyto účely zrychluje odezvy systému). Volná paměť (tj. neobsazená procesy) je tedy součtem všech tří zmíněných položek, což je číslo v druhém řádku ve sloupci free.

Obsazení disků

Obsazení diskového prostoru vypisuje příkaz df. Přepínač -h způsobí používání běžných jednotek (kB, MB, GB, TB):

$ df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/md0               19G  5,7G   12G  34% /
/dev/mapper/VG1-Home  595G  399G  167G  71% /home

Ve výše uvedeném příkladu je kořenový systém souborů (/) zaplněn z 34%. Domácí adresáře jsou umístěny v adresáři /home, který je umístěn na vlastním diskovém svazku. Pokud nejsou disky připojeny (například při startu Linuxu z LiveCD), je nutné disky nejprve připojit, aby bylo možné zjistit jejich obsazení. Velikost dostupných disků lze zjistit ze souboru /proc/partitions (viz níže).

Seznam PCI zařízení

Seznam zařízení připojených na PCI sběrnici vypisuje příkaz lspci:

$ lspci
00:0b.0 Ethernet controller: Broadcom Corporation NetXtreme BCM5705 Gigabit Ethernet (rev 03)
00:0f.1 IDE interface: VIA Technologies, Inc. VT82C586A/B/VT82C686/A/B/VT823x/A/C PIPC Bus Master IDE (rev 06)
00:10.4 USB Controller: VIA Technologies, Inc. USB 2.0 (rev 86)
00:11.5 Multimedia audio controller: VIA Technologies, Inc. VT8233/A/8235/8237 AC97 Audio Controller (rev 60)
01:00.0 VGA compatible controller: ATI Technologies Inc Radeon RV100 QY [Radeon 7000/VE]
02:04.0 Mass storage controller: Silicon Image, Inc. SiI 3112 [SATALink/SATARaid] Serial ATA Controller (rev 02)

Výpis je zkrácen. V levé části výpisu je číslo udávající číslo_sběrnice:číslo_slotu.subzařízení (subzařízení umožňuje například rozlišit zdvojený řadič na jedné kartě). Ve výpisu jsou vypsána zařízení: síťová Ethernetová karta, rozhraní pro IDE disky, USB kontrolér, zvuková karta, grafická VGA karta a SATA řadič (připojený do PCI slotu). Uvedené texty jsou čerpány z databáze, protože ve skutečnosti se zařízení představují pouze čísly (typ zařízení, kód výrobce, číslo výrobku). Tyto čísla lze zjistit pomocí přepínače lspci -n.

Pro výpis ovladače, který dané zařízení obsluhuje, použijte přepínač -k. Pro výpis podrobnějších informací o zařízeních slouží přepínač -v (lze ho zadat vícekrát pro zobrazení většího počtu podrobnějších informací (I/O adresy, přerušení, mapování paměti atd.):

$ lspci -k
$ lspci -v

Seznam USB zařízení

Seznam zařízení připojených na USB porty lze vypsat příkazem lsusb. Součástí výpisu kromě připojených zařízení i USB řadiče:

$ lsusb
Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 003: ID 045e:00f9 Microsoft Corp. Wireless Desktop Receiver 3.1

Výpis DMI tabulky z BIOSu

Tabulku DMI (Desktop Management Interface) poskytuje BIOS počítače. Jsou v ní umístěny informace a hardware počítače (notebooku, serveru). Pro její dekódování slouží příkaz dmidecode:

$ dmidecode
Handle 0x0001
       DMI type 1, 25 bytes.
       System Information
               Manufacturer: MICRO-STAR INTERNATIONAL CO., LTD
               Product Name: K8T Master2-FAR
               Version:
               Serial Number:
               UUID: Not Present
               Wake-up Type: Power Switch

Výpis je zkrácen. Ve výše uvedené části výpisu je vidět výrobce základní desky (MSI) a její typ (K8T Master2-FAR). Podobně najdete informace o procesorech, modulech pamětí, připojených rozhraních, slotech a podobně. Protože je výpis dlouhý, je nutné použít stránkovací filtr less (posuv šipkami, PgDn/PgUp, ukončuje se klávesou q – jako quit):

$ dmidecode | less

Aktuální čas

Příkaz date zobrazí čas, který systém pokládá za aktuální. Standardně je zobrazen v časové zóně, ve které je počítač umístěn (podle souboru /etc/localtime), která se typicky nastavuje při instalaci (ale lze ji kdykoliv později snadno změnit). Pokud je uživatel připojen k počítači z jiné časové zóny, může si nastavit proměnnou prostředí TZ a systém bude veškeré časy automaticky přepočítávat (viz dále). Součástí výpisu je i informace o časové zóně (zde CET – Centra European Time).

$ date
Čt lis 11 12:02:33 CET 2010

Pro zobrazení času, který je uchováván v RTC použijte příkaz hwclock. Odchylka vyjadřuje rozdíl mezi časem v RTC a vnitřním časem, který používá běžící jádro systému (čas v RTC se používá jen při startu systému, jinak ne).

$ hwclock -r
Tue Dec 11 10:22:17 2012  -0.532136 seconds

Informace zveřejňované jádrem systému

Jádro systému Linux zveřejňuje své interní datové struktury pomocí speciálního systému souborů, který je připojen do adresářů /proc a /sys. V adresáři /proc najdeme kromě informací o běžících procesech též základní informace o systému (viz dále). V adresáři /sys je adresáři a soubory reprezentován strom zařízení, který je k systému připojen. Některá nastavení jádra mohou být měněna tak, že je do specifického souboru zapsána nová informace (adresář /proc/sys).

Oprávnění správce

Správcem je v unixovém systému uživatel root. Některé příkazy může provést jen on. Jestli jste root, lze zjistit příkazem id, kde root má identifikační číslo nula, obyčejný uživatel pak nenulové:

$ id
uid=1000(ke) gid=1000(ke) skupiny=1000(ke),10(wheel),989(wireshark)

Pokud se chcete stát uživatelem root, použijte příkaz su (budete muset vložit heslo správce). V systémech založených na distribuci Debian se používá příkaz sudo, který může chtít vaše uživatelské heslo. V LiveCD distribucích je někdy uživatel rovnou správcem (protože vypálené CD nelze přepsat, smazat, zavirovat).

$ su -
$ 'id
uid=0(root) gid=0(root) skupiny=0(root)

Přepínač mínus (su -) je v příkazu použit proto, aby se provedly přihlašovací skripty, které správně nastaví uživateli root jeho prostředí (například domácí adresář). Bez toho některé příkazy fungují špatně (pokouší se použít nastavení původního uživatele).

Typ procesoru

Typ procesoru lze zjistit ze souboru /proc/cpuinfo. Je-li procesorů více, je příslušný výpis opakován pro každé jádro.

$ cat /proc/cpuinfo
processor       : 0
vendor_id       : AuthenticAMD
cpu family      : 15
model           : 5
model name      : AMD Opteron(tm) Processor 242
stepping        : 1
cpu MHz         : 1604.422
cache size      : 1024 KB
fdiv_bug        : no
hlt_bug         : no
f00f_bug        : no
coma_bug        : no
fpu             : yes
fpu_exception   : yes
cpuid level     : 1
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 pni syscall nx mmxext lm 3dnowext 3dnow
bogomips        : 3209.84

Sekce flags zobrazuje dostupné možnosti konkrétního procesoru. Některé z nich jsou uvedeny v následující tabulce:

Vlastnosti procesoru ve výpisu /proc/cpuinfo
Příznak Popis
fpu Matematický koprocesor je přítomen přímo v CPU od procesorů 486.
cmov Instrukce CMOV významně urychluje práci s pamětí v procesorech Pentium Pro (1995) a novějších (tzv. i686 a novější). Je vhodné ji používat v jádře a v systémových knihovnách GLIBC.
nx NX bit (Non-eXecute bit) umožňuje označit část paměti, ve které není dovoleno vykonávat strojové instrukce, což významně zvyšuje odolnost systému proti nejběžnějším bezpečnostním chybám (a šíření virů a červů).
ht HT je hyperthreading, který používá v procesorech Intel znamenal použití 2 řídících jednotek v 1 jádru CPU, takže se procesor chová jako by měl jádra dvě (avšak ne s plnohodnotným výkonem dvou fyzických jader).
lm LM (Long Mode) oznamuje podporu 64bitového režimu procesoru.
pae Rozšíření PAE je přítomno v procesorech Pentium Pro (1995) a novějších. Umožňuje pomocí segmentace paměti využívat na 32 bitových procesorech až 64GB RAM, i když v každém okamžiku běžící proces stále pracuje maximálně s 4GB RAM. Rozšíření PAE a virtualizaci využívá projekt Xen a KVM.
vmx Podpora plné hardwarové virtualizace u procesorů Intel (Vanderbild).
svm Podpora plné hardwarové virtualizace u procesorů AMD (Pacifica).

Poznámka: Pokud je virtualizační schopnost CPU vypnuta v BIOSu, objeví se pouze pod označením hvm ve výpisu: cat /sys/hypervisor/properties/capabilities

Seznam pevných disků a jejich oddílů

Seznam disků a jejich oddílů nalezneme v souboru /proc/partitions. V níže uvedeném výpisu je v systému jen disk, který nalezneme pod zařízením /dev/sda, na kterém jsou vytvořeny tři oddíly (sda1, sda2 a sda3):

$ cat /proc/partitions
major minor  #blocks  name

  8        0  312571224 sda
  8        1    7823623 sda1
  8        2   39070080 sda2
  8        3   31463302 sda3

Podrobnější informace pak lze v tomto případě získat příkazem parted /dev/sda print nebo fdisk -l /dev/sda (operaci může provést pouze uživatel root).

Přečtěte si článek Monitorování disků (S.M.A.R.T.)

Verze jádra systému

Podrobnosti o verzi jádra systému lze získat vypsáním souboru /proc/version. Níže uvedený výpis obsahuje informuje o běžícím jádře verze 2.6.18-164.6.1.el5xen zkompilované uživatelem mockbuild na počítači builder10.centos.org kompilátorem GCC verze 4.1.2 20080704 (Red Hat 4.1.2-46), bylo kompilováno jako první v pořadí (#1), je určeno pro víceprocesorové stroje (SMP) a kompilace proběhla v úterý 3. listopadu 2009 v 16:48:13 EST.

$ cat /proc/version 
Linux version 2.6.18-164.6.1.el5xen (mockbuild@builder10.centos.org) (gcc version 4.1.2 20080704 (Red Hat 4.1.2-46)) #1 SMP Tue Nov 3 16:48:13 EST 2009

Zprávy jádra

Jádro zapisuje informace o svém běhu do speciálního bufferu (vyrovnávací paměti), který lze vypsat příkazem dmesg. Pokud je vyrovnávací paměť zaplněna, staré záznamy z ní mizí. Kopie všech zpráv se obvykle zapisuje do souborů /var/log/boot.log nebo /var/log/messages. Protože je záznamů mnoho, je nutné použít stránkovač less (posuv šipkami, PgDn/PgUp, ukončuje se klávesou q – jako quit):

$ dmesg | less

V těchto výpisech lze nalézt mnoho zajímavých informací, například mapu paměti, detekovaná zařízení (vypisují to jejich ovladače), použitý zdroj času, řadič přerušení atd.

Seznam přiřazených přerušení

Seznam přiřazených přerušení lze zjistit ze souboru /proc/interrupts. V níže uvedeném výpisu je přerušení 30 přiřazeno síťové kartě, přerušení 29 je přiřazeno WiFi kartě, přerušení 14, 15 a 28 je přiřazeno řadiči pevných SATA disků, přerušení 17, 18, 20 a 21 jsou přiřazeny USB portům. Výpis je zkrácen.

$ cat /proc/interrupts
          CPU0       CPU1       
 0:     284999     296715   IO-APIC-edge      timer
 1:          5          6   IO-APIC-edge      i8042
 8:          1          0   IO-APIC-edge      rtc0
 9:       8876       1556   IO-APIC-fasteoi   acpi
12:         80         68   IO-APIC-edge      i8042
14:       3340       3447   IO-APIC-edge      ata_piix
15:          0          0   IO-APIC-edge      ata_piix
17:      16209       2142   IO-APIC-fasteoi   uhci_hcd:usb6
18:         81         56   IO-APIC-fasteoi   uhci_hcd:usb7
20:         19         22   IO-APIC-fasteoi   ehci_hcd:usb1, uhci_hcd:usb3
21:         97        943   IO-APIC-fasteoi   uhci_hcd:usb4, HDA Intel
22:          5         22   IO-APIC-fasteoi   yenta, tifm_7xx1, mmc0, firewire_ohci
23:          5          1   IO-APIC-fasteoi   ehci_hcd:usb2, uhci_hcd:usb5
28:      40893       6876   PCI-MSI-edge      ahci
29:      42691      41158   PCI-MSI-edge      iwlagn
30:       2267      16949   PCI-MSI-edge      eth0

Parametry předané jádru při startu systému

Parametry zadané při startu systému jsou předány jádru Linuxu. Umožňují změnit nebo přizpůsobit standardní chování jádra.

$ cat /proc/cmdline
ro root=/dev/sda2 rhgb quiet

Stav RAID polí

Stav RAID polí je obsažen v souboru /proc/mdstat. V níže uvedeném výpisu jsou zobrazena dvě pole (obě typu RAID1): md1 (složeno z oddílů sda3 a hda3) a md2 (složeno z oddílů sdc1 a sdb1).

$ cat /proc/mdstat
Personalities : [raid1] 
md1 : active raid1 sda3[0] hda3[1]
      95715200 blocks [2/2] [UU]
      
md2 : active raid1 sdc1[0] sdb1[1]
      976759936 blocks [2/2] [UU]