Linuxové noviny | Prosinec 1997 | |||
| ||||
Problém hledání ve zdrojových textech jádra operačního systému Linux nabývá rozměrů hlavně v poslední době, kdy např. velikost posledních vývojových jader (2.1.7x) se pohybuje těsně pod hranicí 10 megabytů (samozřejmě po komprimaci). Možná se zeptáte, proč vůbec (a co vlastně) hledat v takové spoustě zdrojových textů. Odpověď je jednoduchá - spousta uživatelů Linuxu se zajímá o detaily implementace jednotlivých funkcí operačního systému apod. Ve zdrojových textech se můžete mimo jiné dočíst i spoustu zajímavých informací o lidech, kteří Linux píší (např. věk Linuse Torvaldse). Zdrojové texty jsou místy i vtipné (zvláště pokud je jejich autorem Dave Miller ...).
Jak tedy efektivně hledat? Existuje několik způsobů. Asi ten nejméně efektivní je použít programu grep k hledání nějakého regulárního výrazu. To ale není řešení, protože program grep není napsán pro prohledávání desítek megabytů textu. K tomu je určen např. program glimpse http://glimpse.cs.arizona.edu umožňující po předchozí indexaci velmi rychle vyhledávat pomocí regulárních výrazů. Popíšeme si tedy typický postup při vyhledávání. Jak je již výše napsáno, musíme nejprve vytvořit počáteční indexový soubor. K tomu slouží program glimpseindex, který je součástí instalace balíku glimpse.
glimpseindex /usr/src/linux Indexový soubor se vytvoří ve vašem domovském adresáři (pomocí parametru -H můžete nastavit jiný adresář). Nyní máme již vše připraveno k rychlému hledání. Zkusíme tedy pro zajímavost najít ve zdrojových textech výskyt slova BogoMIPS:
glimpse BogoMIPS Výstupem by nám měl být seznam souborů obsahujících hledané slovo, včetně řádků, které jej obsahují. Programy glimpse a glimpseindex mají mnohem více možností, které bohužel nelze postihnout v tomto článku. Další možností, jak vyhledávat ve zdrojových textech jádra, je použít službu Linux Source Search http://www.math.muni.cz/cgi-bin/LSDSearch, která je vystavěna nad balíkem glimpse. Pokud chcete např. hledat pouze proměnnou nebo funkci v jádře, je k dispozici i aplikace Linux Source Index http://www.math.muni.cz/LSDIndex. |