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í
×
    dnes 14:44 | IT novinky

    Mozilla představuje Firefox Enterprise určený jako podnikový prohlížeč pro organizace s přísnými požadavky na bezpečnost, správu a dodržování předpisů. S profesionální podporou. Dostupný je zatím ve Francii, Německu, Rakousku a Švýcarsku.

    Ladislav Hagara | Komentářů: 4
    dnes 14:33 | Bezpečnostní upozornění

    Kybernetický útok zasáhl nejméně 150 supermarketů Intermarché a několik prodejen řetězců Leclerc a Coopérative U. Chladicí jednotky napadených obchodních domů byly nastaveny na nepřetržité odmrazování a teplota v nich mnohdy vystouala až nad 50°C. Škody napáchané na chlazeném a mraženém zboží budou patrně dosahovat miliónů eur.

    … více »
    ❗Červivý Hřib krade❗ | Komentářů: 2
    dnes 04:00 | Komunita

    Stát Kalifornie zažaloval výrobce 3D tiskových filamentů Polymaker. Vrchní soud San Diego County tvrdí, že firma propagací svých výrobků mezi příznivci 3D tištěných zbraní podporovala výrobu takzvaných 'ghost guns' (DIY zbraní) a že její PLA filament pro 3D tiskárny lze za těchto okolností považovat za součást určenou k výrobě střelné zbraně. Žaloba požaduje mimo jiné finanční sankce a soudní zákaz činnosti, Polymaker se hájí tím, že filament je běžný a sám o sobě legální produkt. Celý text žaloby (PDF na Google Drive).

    ❗Červivý Hřib krade❗ | Komentářů: 18
    dnes 03:33 | Nová verze

    V červnu byla představena aplikace Myna pro převod řeči na text v prostředí desktopu Ubuntu. Včera byla Myna zpřístupněna širší komunitě Ubuntu formou technologické ukázky dostupné v Ubuntu 24.04 LTS, Ubuntu 26.04 LTS a Ubuntu 26.10 s GNOME na Waylandu.

    Ladislav Hagara | Komentářů: 0
    včera 21:11 | Komunita

    Ubuntu 27.04 bude Tenacious T-Rex.

    Ladislav Hagara | Komentářů: 0
    včera 20:44 | Nová verze

    Byla vydána nová verze 2026.4.0 "Never-slop" svobodného softwaru ScummVM (Wikipedie) umožňujícího bezproblémový běh mnoha klasických adventur na zařízeních, pro které nebyly nikdy určeny. Přehled novinek v poznámkách k vydání a na GitHubu. ScummVM oslavil 25 let. Verze 0.0.1 vyšla 8. října 2001.

    Ladislav Hagara | Komentářů: 0
    včera 17:22 | Humor

    Kanadský vývojář Anthony Sistilli vytvořil ironický DIY projekt parodující kamerové systémy Flock, s cílem názorně demonstrovat rizika masového sledování jaké provozují tyto komerční ALPR systémy. Z levné IP kamery a vlastního ML softwaru (napsaného s pomocí SI circa za 20 minut, kód se mi bohužel nepodařilo dohledat) běžícího v laptopu sestavil jednoduchý systém, který detekuje výhradně policejní vozidla, zaznamenává jejich SPZ a

    … více »
    ❗Červivý Hřib krade❗ | Komentářů: 7
    včera 12:44 | Upozornění

    Část údajů uživatelů internetového supermarketu Rohlík byla odcizena. Kyberútočníci napadli nástroj zákaznické podpory Rohlíku, odcizili tak jména, e-mailové adresy, v některých případech také telefonní čísla nebo přepisy komunikace mezi klienty a zákaznickou podporou. Rohlík incident nahlásil příslušným orgánům a přijal příslušné opatření, aby zamezil podobným případům v budoucnosti, uvedla firma.

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

    Aplikace eDoklady fungovala v obou volebních dnech stabilně a prakticky bez front. Digitální a informační agentura (DIA) odhaduje, že se digitálním dokladem prokázalo více než 100.000 voličů. Aplikaci si před volbami či během nich aktualizovalo 247.517 uživatelů. Nových registrací bylo 19.431 a do aplikace se přihlásilo 357.879 lidí. Největší nápor přišel bezprostředně po otevření volebních místností mezi 14. a 16. hodinou, kdy si

    … více »
    Ladislav Hagara | Komentářů: 11
    včera 00:55 | Pozvánky

    Začal semestr, začal i podzim a kromě hub rostou jako po dešti i veřejné dílny v Praze. Nedávno strahováci referovali o hackerspacu Bordel, nyní se otevřela dílna Dejvice Lab jen kousek od ČVUT. Na blížící Virtuální Bastlírně tak uslyšíte nejen report z návštěvy dílny HWLab, ale i řadu novinek, událostí a úsměvných momentů, které se za poslední měsíc ve světě techniky, ale i vědy udály. Připojte se tedy již v úterý 13.10. od 20:00 a zapojte se do

    … více »
    bkralik | Komentářů: 1
    Které desktopové prostředí na Linuxu používáte?
     (9%)
     (7%)
     (4%)
     (21%)
     (29%)
     (8%)
     (5%)
     (2%)
     (14%)
     (20%)
    Celkem 2840 hlasů
     Komentářů: 32, poslední 11.10. 17:02
    Rozcestník

    Adresár /proc - brána do jadra

    18. 7. 2005 | Matej Gagyi | Systém | 9667×

    Procfs je virtuálny súborový systém, pomocou ktorého môže používateľ nahliadnuť do vnútorných premenných jadra. Nájdete ho v adresári /proc. Primárne bol vyvinutý na správu procesov, ale Linux z neho urobil veľmi použiteľný nástroj na správu systému.

    Úvod

    Prvú implementáciu procfs napísal Tom J. Killian pre UNIX 8th Edition. Cieľom bolo vytvorenie prirodzeného kontrolného rozhrania pre procesy v systéme. Procfs mal slúžiť len programátorom.

    V mnohých unixových systémoch bol /proc vždy využívaný na kontrolu bežiacich programov a nebol pre užívateľa nijak použiteľným.

    Procfs je virtuálny súborový systém. To znamená, že žiaden súbor sa nenachádza na vašom disku, ale všetko je v pamäti. Takýto súborový systém zaberá len málo operačnej pamäte a je veľmi dynamický.

    Charakteristika procfs na Linuxe

    Na Linuxe nie je procfs používaný len na správu procesov. Vývojári Linuxu postupom času pridávali do štruktúry procfs mnoho rôznych informácií. Zásadným rozdielom od iných unixových systémov je, že každý súbor je textový a užívateľ dokáže prečítať jeho obsah.

    Štruktúra procfs sa časom dostala do nekonzistentného stavu, pretože na začiatku neexistovali žiadne pravidlá, podľa ktorých by bol procfs organizovaný.

    Teraz sa procfs delí na viacero rozumne usporiadaných stromov, ktoré sú však rozhádzané v základnom strome.

    Štruktúra adresára /proc

    V hlavnom adresáti procfs sa nachádzajú:

    • Adresáre procesov
    • Adresáre a súbory jadra
    /proc/
    |-- 1/
    |-- 2/
    |-- 3/
    |-- 4/
    |-- 18/
    |-- 20/
    |-- 110/
    |-- 6203/
    |-- 6204/
    |   |-- auxv
    |   |-- cmdline
    |   |-- cwd -> /
    |   |-- environ
    |   |-- exe -> /usr/sbin/metalog
    |   |-- fd/
    |   |   |-- 0 -> /dev/pts/4
    |   |   |-- 1 -> /dev/pts/4
    |   |   `-- 2 -> /dev/pts/4
    |   .
    |   .
    |   .
    |   |-- status
    |   |-- task/
    |   `-- wchan
    |-- 7009/
    .
    .
    .
    |-- acpi/
    |-- asound/
    |-- buddyinfo
    |-- bus/
    |-- cmdline
    |-- cpuinfo
    .
    .
    .
    |-- swaps
    |-- sys/
    |-- sysvipc/
    |-- tty/
    |-- uptime
    |-- version
    `-- vmstat
    

    Ukážka štruktúry adresára /proc.

    Adresáre sú vyznačené hrubým písmom. Podčiarknuté kurzíva označujú symbolické linky. Symbolická linka je súbor obsahujúci len meno iného súboru, ktorú keď otvoríte, správa sa ako súbor na ktorý sa odkazuje.

    Adresáre procesov

    Tieto adresáre spoznáte podľa toho, že ich meno je len číslo. Toto číslo je identifikátor procesu v systéme, nazývané PID (Process IDentifier).

    Štruktúra týchto adresárov je rovnaká. Obsahujú rovnako nazvané súbory:

    cwd
    Adresár, v ktorom sa práve proces nachádza.
    root
    Program môže byť uväznený v niektorom adresári, ktorý je pre neho /. Takýto program nemôže pristupovať k žiadnemu adresáru vyššie. root sa na tento adresár odkazuje. Pozri: program chroot.
    cmdline
    Tu sú všetky parametre programu, s ktorými bol spustený. Nultý parameter je vždy meno spusteného súboru.
    fd/
    V ňom nájdete symbolické linky, ktoré sú nazvané tiež ako čísla. Tieto linky ukazujú na všetky súbory a sieťové spojenia, ktoré má program momentálne otvorené.

    Najdôležitejšie položky adresára procesu.

    Súbory a adresáre kernelu

    Na iných unixových operačných systémoch sa s týmto typom položiek v procfs nestretnete. Je to vlastnosť Linuxu, ktorý robí procfs zaujímavým.

    Pomocou súborov procfs sa exportujú užívateľského prostredia informácie z jadra. Pomocou nich môžeme zisťovať rôzne podrobnosti o systéme a niektorých druhoch hardvéru.

    $ cat /proc/cpuinfo
    processor       : 0
    vendor_id       : GenuineIntel
    cpu family      : 15
    model           : 2
    model name      : Intel(R) Celeron(R) CPU 2.40GHz
    stepping        : 9
    cpu MHz         : 2424.546
    cache size      : 128 KB
    fdiv_bug        : no
    hlt_bug         : no
    f00f_bug        : no
    coma_bug        : no
    fpu             : yes
    fpu_exception   : yes
    cpuid level     : 2
    wp              : yes
    flags           : fpu vme de pse tsc msr pae mce cx8 apic
                      sep mtrr pge mca cmov pat pse36 clflush
                      dts acpi mmx fxsr sse sse2 ss ht tm pbe
                      cid xtpr
    bogomips        : 4784.12
    

    Výpis informácií o CPU.

    V procfs sa podobných súborov nachádza veľké množstvo. Ich obsah môže, ale nemusí užívateľa zaujímať. Informácie, ktoré sa v nich nachádzajú, sú vždy aktuálne, pretože sa vzťahujú priamo na premenné v pamäti.

    Adresár /proc/sys

    Toto je pre administrátorov najzaujímavejšie miesto v procfs. Nachádzajú sa v ňom sysctl (System Control) súbory. Pomocou nich môžete meniť nastavenie jadra za behu a ovplyvňovať jeho správanie.

    K tu ukrytým súborom má užívateľ root práva na zápis. Zmenu nastavenia uskutočnite jednoduchým zápisom novej hodnoty do súboru, ktorý reprezentuje premennú, ktorú chcete zmeniť.

    # echo 1 > /proc/sys/dev/cdrom/autoeject

    Nastavenie automatického otvárania CD mechaniky po odpojení.

    Najdôležitejšie pre mnoho serverov je nastavenie siete. V adresári /proc/sys/net/ sa nachádza mnoho parametrov pre rôzne sieťové protokoly.

    Program sysctl je nástroj, ktorým si môžeme nastavovanie uľahčiť. Sysctl vie vypísať a nastaviť všetky hodnoty súborov v adresári /proc/sys. Nastavenia majú rovnaký tvar ako cesta k ich súborom relatívne od /proc/sys, len lomítka '/' sú zamenené bodkami.

    Sysctl vie zaviesť nastavenia zo súboru /etc/sysctl.conf, v ktorom sa ich môže nachádzať viacero. Skoro všetky distribúcie využívajú /etc/sysctl.conf na konfiguráciu jadra pri zavádzaní systému.

    # Disables packet forwarding
    #net.ipv4.ip_forward = 0

    # Disables IP dynaddr
    #net.ipv4.ip_dynaddr = 0

    # Disable ECN
    #net.ipv4.tcp_ecn = 0

    # Enables source route verification
    net.ipv4.conf.default.rp_filter = 1

    # Enable reverse path
    net.ipv4.conf.all.rp_filter = 1

    Ukážka časti konfiguračného súboru /etc/sysctl.conf.

    Pozrite sa do /proc/sys, kde nájdete mnoho užitočných nastavení, a podľa uváženia ich nastavte v súbore /etc/sysctl.conf, aby vaša distribúcia nastavenia aplikovala vždy po reštarte.

    Jednoduché príklady

    Všetky nižšie uvedené súbory sa dajú vypísať jednoduchým príkazom:

    $ cat /proc/<súbor>
    /proc/cpuinfo
    Obsahuje všetky zaujímavé informácie o vašich procesoroch. Napríklad typ procesoru, taktovaciu frekvenciu, inštrukčné sady, ...
    /proc/version
    Absolútne všetko, čo potrebujete vedieť o verzii jadra, počítači na ktorom je spustené a prostredie v ktorom bolo skompilované.
    /proc/sys/dev/cdrom/info
    Informácie o CDROM mechanikách. Vie vaša CD mechanika čítať DVD alebo zapisovať na DVD-R, DVD-RW? To sa niekedy z jej krytu nedozviete, z procfs áno.
    /proc/sys/dev/cdrom/autoclose
    /proc/sys/dev/cdrom/autoeject
    Tieto dva súbory obsahujú binárnu hodnotu (buď 0, alebo 1). Ak v autoclose nastavíme "1", CD mechanika sa pri pripojení (mount) CDčka automaticky zavrie (ak bola otvorená). Hodnota 1 v súbore autoeject CD mechaniku automaticky otvorí pri odpojení média (umount).
    /proc/sys/net/*
    Tu sa nachádzajú nastavenia sieťovania. Medzi ne patria bezpečnostné nastavenia, ovládanie routovania a pod. Viac o týchto nastaveniach nájdete v dokumentácii zdrojových kódov jadra Documentation/networking/ip_sysctl.txt, alebo na http://ipsysctl-tutorial.frozentux.net/ipsysctl-tutorial.html.

    Tieto jednotlivé súbory sú len ukážkou. Ak sa budete chcieť dozvedieť niečo viac o inom súbore z procfs, jednoducho ho aj s celou cesto vložte do Googla.

    História procfs

    Ako som povedal na začiatku článku, prvú implementáciu procfs napísal Tom J. Killian pre UNIX 8th Edition v roku 1984. Pán Killian je autorom knihy "Processes as files", takže je vlastne autorom celej myšlienky.

    V UNIX 8th Edition mal každý proces jeden súbor a procfs neexportoval žiadne ďalšie informácie do užívateľského prostredia.

    Procfs bol portovaný pre SVR4 Rogerom Faulknerom a Ronom Gomesom v roku 1991.

    4.4BSD ako prvý implementoval procfs s podadresármi.

    Solaris 2.6 prevzal všetko dobré, čo bolo v procfs použité v iných systémoch, a urobil z neho hlavné rozhranie na prácu s procesmi v systéme.

    Linux ako prvý použil ASCII formáty v súboroch procfs. Linux teda využíva procfs aj na exportovanie dát, ktoré sa procesov netýkajú, a na systémovú kontrolu.

    Záverom

    Súborový systém procfs ponúka veľké množstvo informácií o systéme a o hardvére, ku ktorým sa užívatelia iných OS jednoducho nedostanú.

    Často sa môžeme stretnúť s tvrdením, že sysfs má vytlačíť procfs z jadra. To však nie je pravda. Mnoho ľudí chce procfs prepracovať, lenže to je zložitejšia úloha a jadrá rady 2.8 žiadne zmeny pravdepodobne neprinesú.

    Tony Lawrence sa na Developer tutorial vyjadril: "/proc by mal byť nazvaný /kernel a proc by sa nachádzal v ňom. Už je neskoro, samozrejme, ..." V tomto prípade by sa sysfs taktiež nachádzal v adresári /kernel.

    Procfs ešte nejakú tú chvíľu v Linuxe zostane a nie je na škodu pozoznamovať sa s jeho výhodami a nevýhodami.

           

    Hodnocení: 84 %

            špatné • dobré        

    Nástroje: Tisk bez diskuse

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

    Komentáře

    Vložit další komentář

    18.7.2005 11:38 ---- | skóre: 23 | blog: -
    Rozbalit Rozbalit vše BSD process accounting
    Adresáře procesů se zobrazují v /proc je tehdy, máme li v kernelu zakompilovanou volbu CONFIG_BSD_PROCESS_ACCT=y
    18.7.2005 11:50 lizard
    Rozbalit Rozbalit vše Re: BSD process accounting
    No podle tohoto se mi to nejak nezda:

    This is what CONFIG_BSD_PROCESS_ACCT does:

    If you say Y here, a user level program will be able to instruct the kernel (via a special system call) to write process accounting information to a file: whenever a process exits, information about that process will be appended to the file by the kernel. The information includes things such as creation time, owning user, command name, memory usage, controlling terminal etc. (the complete list is in the struct acct in file:include/linux/acct.h). It is up to the user level program to do useful things with this information. This is generally a good idea, so say Y.

    Nepise se tam nic o /proc. asi mi neco uteklo :/
    18.7.2005 13:12 ---- | skóre: 23 | blog: -
    Rozbalit Rozbalit vše Re: BSD process accounting
    Jo, máš pravdu. Já to blbě pochopil :-) http://www.linuxjournal.com/article/6144
    18.7.2005 11:40 ondrej
    Rozbalit Rozbalit vše proc
    proc jecelkom dobry napad, ale asi sa vymkol kontrole. povodna myslienka bola dobra ale malo ostat len pri procesoch. V proc-e je skratka bordel a kazdy si tam pridal co sa mu hodilo, /proc bol jediny rozumny adresar...
    Yin avatar 18.7.2005 21:01 Yin | skóre: 39 | blog: Yinotopia | Slovesnko, Košice
    Rozbalit Rozbalit vše Re: proc
    V Linuxe bol taký zamýšlaný. Nieje to otrasný problém a myslím, že pripustenie "systémovo/programátorského bordelu" do proc je rozumné. (zrýchlil vývoj a rozšíril funkcionalitu)
    Nikdy nie je tak zle, aby to jeden poharik nemohol ešte zhorsiť.
    18.7.2005 21:24 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: proc
    Naopak, ze začátku vznikl v /proc chaos, když se tam nahodile bez ladu a skladu přidávaly soubory, z nichž většina byla sice hezky srozumitelná pro člověka, ale prakticky neparsovatelná programem. Tento nepořádek se teď postupně uklízí a ty nejhorší atavismy se postupně opatrně odbourávají (např. /proc/pci). Kvůli utilitám, které mezitím stihly vzniknout a které parsují ty neparsovatelné interface, ale proces čištění neprobíhá příliš rychle…
    Strojove zpracovavat informace = vrazdil bych, ale pokud nechceme mit v systemu spoustu balastu jako treba cele pciutils, usbutils, raidutils atd., pac je k nicemu nepotrebujeme a potrebujeme jen zkompilovat kernel a zjistit co mame v PCI zaplombovaneho pocitace zastrkano (a vubec nevadi, ze jen vime, ze je to Vendor X a zarizeny typu Y), tak staci cat /proc/pci a vite na cem jste...

    Jsem dinosaurus a konkretne /proc/pci, /proc//interupts, /proc/irq apod. mi budou opravdu chybet, casto mi usetrily spoustu nervu...

    Ale ty snahy celkem chapu a zacnu se ucit sysfs...:-)

    PS: Proc mi to hodilo "Re: Přetaktování procosoru"?

    18.7.2005 23:02 Taif
    Rozbalit Rozbalit vše Re: proc
    To vis,ze /proc je skvely napad :).Vis jak blbe by se bez neho hackovalo ;)
    18.7.2005 14:10 Jan Kundrát (jkt) | skóre: 27 | blog: jkt | Praha - Bohnice
    Rozbalit Rozbalit vše socket:[xyz]
    A pokud budete zvedavi, co to znamena to 3 -> socket:[15133] pod /proc/$PID/fd/, podivejte se na sloupec inode v /proc/net/tcp.
    Yin avatar 18.7.2005 20:58 Yin | skóre: 39 | blog: Yinotopia | Slovesnko, Košice
    Rozbalit Rozbalit vše Re: socket:[xyz]
    Mno... myslíš, že existuje nejaký rozumný dôvod, prečo by mali byť sieťové spojenia vnímané inak ako otvorené súbori, alebo vstupy z klávesnice, zariadení a iných podobných hračiek (dátových tokov)?

    Ja viem, že to chápeš, ale napadlo ma, že vysvetlovať tieto prípady by bolo off-topic. Možno sa tomu povenujem v nejakom budúcom článku (dík za pozn.).
    Nikdy nie je tak zle, aby to jeden poharik nemohol ešte zhorsiť.
    19.7.2005 21:34 Martin Čížek | skóre: 20 | Praha
    Rozbalit Rozbalit vše Re: socket:[xyz]
    No ony jsou ty linky vůbec zajímavé. Když se nad nimi provede open(), poždavek se vyřídí "přímo", tj. nenásleduje výsledek volání readlink(). To je důvod, proč je možné např. číst smazané, ale nezavřené soubory.
    Kdyby dva z nás byli dvěma z nich, všichni z nás by mohli být všemi z nich.
    19.7.2005 23:18 thefox | skóre: 25 | Ťapešovo
    Rozbalit Rozbalit vše OT: korektor
    Je to mierne mimo témy, ale chválim prácu korektora, na článku sa to naozaj prejavilo.
    0118 999 881 999 119 725 3
    20.7.2005 08:41 SharpiK
    Rozbalit Rozbalit vše Uzivatel vs. pouzivatel
    Len poznamka na okraj: v slovencine sa na vyjadrenie toho, ze nieco vyuzivam pouziva vyraz pouzivatel (pouzivam OS Linux), nie uzivatel (uzivam [si] OS Linux) ako v cestine. Vidim, ze pod titulkom je to uvedene spravne, ale nasledovnej vete nie:

    ... V mnohých unixových systémoch bol /proc vždy využívaný na kontrolu bežiacich programov a nebol pre užívateľa nijak použiteľným ...

    Aj kej je to mozno myslene tak, ze si niekto uzival spravu procfs :). Inak pekny clanok, len tak dalej.
    Yin avatar 20.7.2005 09:49 Yin | skóre: 39 | blog: Yinotopia | Slovesnko, Košice
    Rozbalit Rozbalit vše Re: Uzivatel vs. pouzivatel
    Pruser je v tom, že v článku DevFS vs. udev som dostal gramaticku opravu s/používateľ/užívateľ/... som zmätený...
    Nikdy nie je tak zle, aby to jeden poharik nemohol ešte zhorsiť.
    20.7.2005 14:41 Milan Plzik
    Rozbalit Rozbalit vše Re: Uzivatel vs. pouzivatel
    Hmm, vsade, kde mozem, pouzivam spojenie 'pouzivatel' (okrem momentov, ked sa pomylim:-). Podla http://www.slex.sk/onlines/slex:
    užívateľ -a mn. -ia m.
    
    kto má niečo v užívaní: užívateľ bytu;
    
    ...
    používateľ -a mn. -ia m.
    
    kto niečo používa: používatelia jazyka
    
    Takze pravda je zrejme na Tvojej strane.
    21.7.2005 12:19 Peter Figura | skóre: 12 | blog: pefi | Modra
    Rozbalit Rozbalit vše Re: Uzivatel vs. pouzivatel
    Slovo pouzivatel zaviedol nejaky dement. Bohuzial sa toho chytil aj v tom case jediny slovensky pocitacovy casopis PC Revue. Mam pocit, ze v tom case boli diskusie aj o slove "ukazovatel" vs. "smernik".

    Založit nové vlákno • Nahoru

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