S těma modulama na tom samozřejmě něco je - předpokládám hodota je pak "m", že jo. To je pravda, to chce doplnit, zvláš? kvůli distribučním kernelům. Co se týče CONFIG_IKCONFIG_PROC, tak to RPM bude pro RedHat/Fedoru nebo pro Mandrake - nevím jestli to ve svých distribučních kernelch mají zapnuté. Poraďte někdo. Případně poraďte obecně lepší způsob jak to zjistit, komu se můj skript nelíbí. Já nejsem ten, kdo je v tomhle vlákně Děd Vševěd, evidentně (člověčinu nežeru :-)
S tím zgrepem, to abychom pak přidali závislost na balíčku zgrep, ne ? Sice koukám že ho všude mám, ale gunzip a grep mě přijdou jako klasičtější nástroje, a to zvláš? v embded distribucích může hrát roli (v BusyBoxu pro Asus a Ovislink není například ani joe - jenom vi - fuj! Asi to budu administrovat přes nějaký sshfs (nebo scpfs :-)
Nevím kde jsem psal že balíčky pohrdám. Debianí balíčky celkem i používám. Já bych si představoval pro začátečníky a desktopové usery spíš hrubší členění balíků - byl by to nějaký základní Dannian Linux v11.3, a pro něj velké balíky jako Gimp, OpenOffice, Mozilla, a tak - bez křížových závislostí, apod. Ale routery a servery se holt většinou dělají přesně na míru, a balíčky je zvykem jemně členit.
Linuxové distribuce se dneska snaží nacpat tam, odkud byl Microsoft v řadě zemí vykázán antimonopolním úřadem. Stírá se rozdíl mezi operačním systémem a aplikacemi. Operační systém není určitě jenom kernel, to ne - ale na druhou stranu - nevím proč by jediným způsobem jak se open source aplikace dostane k uživatelům měly být balíčky vytvořené autory distribuce. Přirozené je instalovat si systém od nějakého dodavatele, a aplikace od jiného dodavatele. Když už to Vitex nakousl, tak oficiální balíčky dodáme, RPM i Debianí package, ale popravdě nepokládám to za nejštastnější řešení a za doporučený způsob instalace téhle aplikace. Jen a? si každý ten "make" spustí sám - C<<1 bylo vymyšlené právě aby tohle šlo, a aby jednoduchoučké skriptíky nemusely hned mít dependece na monstrnástrojích typu Perl5. Balíčky budou - ale doporučený způsob instalace aplikací a skriptíků napsaných v C<<1 bude stejně kompilace ze zdrojáků.
Ad /usr/share/doc v Debianu - tohle je RPM a kupodivu není určené pro Debianí lamy, ale pro Redha?ácké a Mandrakovské BFUčka :-) Až budeme dělat balík pro Debianí lamy, tak se tě zeptáme na připomínky :-)
Runtime kontrola parametru potřeba není, protože se předpokládá odborná instalace. U toho RPM jsme si už ujasnili, že to po nainstalování vlastně vůbec chodit nemusí - že stačí když nebude v systému po SW stránce nebude chybět nic potřebného. "apt-get install php4" taky nevygeneruje nutně použitelný httpd.conf a Apache s PHPke. Místo runtime kontroly parametrů k tomu napíšu semigrafický setup, který bude generovat vždy jen korektní konfigurák.
Jinak nějaká základní kontrola tam samozřejmě je, a samozřejmě je to open source - kdo chce, tak tam může něco dopsat a contributnout to...
Tohle je do určité míry taky kontroluje, a některé parametry ani zkontrolovat nelze - například "qos-leaf" (nebo jak tomu říkám) může být jakákoliv platná část příkazové řádky tc, o které třeba ani nemusím mít tušení. A takhle to je skoro se vším - téměř do každého programu lze napsat nemysly - do Apache neexistující adresáře, do Promethea neexistující interfacy...
U Apache lze například velmi jednoduše zadat kombinaci maximální povolené paměti, živnostnosti jednoho procesu a počtu současně povolených běžících procesů takovou, že zatížený systém spolehlivě místo aby začal odmítat další spojení začne zuřivě swapovat a na několik minut vytuhne. Tomu tedy říkám absence runtime kontroly parametrů! Vždy? Apache by si přece mohl snad zkontrolovat velikost dostupné paměti a swapu, spočítat si to (tak jako já když ho konfiguruju) - a jednoduše říct, že při dané konfiguraci hrozí přetížení a zhroucení systému! A pokládá kvůli tomu snad někdo Apache za nekvalitní software ?
Mohl bych kontrolovat když se někdo pokusí napsat input a output interface stejný. Ono to teda "trochu" chodit bude, ale ne přesně, a není to na takové použití myšlené. Nic dalšího mě ale moc nenapadá - vysloveně neplatných hodnot parametrů je tam docela málo.
Celý problém uměle vytváříš ty - já svoje řešení postavil na tom, že lidi co instalujou z .tar.gz si většinou dokumentaci čtou a lidi co instalují z RPM si ji nečtou. Samozřejmě to nemusí platit obecně, ale nikdy neuděláš nic zcela blbuvzdorného - vždy musíš vyjít z nějakých předpokladů (třeba že lidi umějí číst, psát, počítat, apod.)
Kromě toho jsi dosud nedodal žádný lepší nápad jak podporu HTB v kernelu otestovat (jedno jestli z pre-install skriptu nebo přímo z runtimu) - asi protože sám žádný nemáš. Jedním z řešení by bylo použít knihovnu libqos - jenže já chci mít co nejméně dependencí a tc z iproute2 je standardní nástroj, libqos zatím ne.
Tak dodej nějakou cmdline pro tc, která vrátí true nebo false podle toho jestli tam HTB je nebo není, když jsi takový expert!