Internet Info, s.r.o. Lupa Měšec Podnikatel Root Zdroják DigiZone Slunečnice Vitalia TopDrive KupDnes Navrcholu NovýTarif Dobrý web Weblogy Woko Jagg Computer.cz SK: MojeLinky

Hlavní navigace

Názory k článku
Source Mage GNU/Linux: Není init jako init

deda.jabko
deda.jabko (neregistrovaný)
19. 12. 2003 2:29 Nový

slack

celé vlákno

mozna budu vypadat jak mosochysta, ale slackovske init scripty me pripadaji nejjednussi a pro cloveka a ted uz mozna i pro pocitac nejsrozumitelnejsi ze vsech.
podle me je zbytecne, zavadet system na slozitejsim principu. samozrejme nemluvim o specializovanych distirbucich, kde vlastni init je nutnosti.

ja osobne sem si vybral misto RH radej slack, prave pro jeho jednoduchou administraci, ktera se za kazkou cenu nesnazi byt idiot-friendly.

jura
jura (neregistrovaný)
19. 12. 2003 3:47 Nový

Re: slack

celé vlákno

Jo, to mě taky připadaly initscripty ve slacku nejlepší a nejsrozumitelnější.... Jenže to se psal rok 1994!!! Od té doby se ale z hračky pro podivíny a mágy stala docela použitelná věcička a pokud musím nachystat svoji aplikaci tak, aby ji byla schopna nainstalovat i normální lama (co udržuje 8 hodin denně, 5 dní v týdnu nějaký server), tak je sysvinit prostě "trefa na jistotu".

P.S. - Co se týká článku, tak mi připadá stejně vachrlatý jako SM-linux a jako skalní přívrženec skalního linuxu (http://www.rocklinux.org/) si musím jen 3x odplivnout... tfi tfi tfi a ještě jednou tfi za dietlibc

skorates
skorates (neregistrovaný)
19. 12. 2003 10:33 Nový

Re: slack

celé vlákno

nesouhlas

1) ten kdo nezvladne ani trivialni editaci textoveho souboru nema u serveru co pohledavat (to je podle mne jako kdyby ridic autobusu nemel ridicak - vy by jste takoveho cloveka zamestnal ?)

2) co _KONKRETNIHO_ mate proti dietlibc ?

xChaos
xChaos (neregistrovaný)
25. 12. 2003 0:31 Nový

Re: slack

celé vlákno

Hmmm, a od kdy se Linux pouziva jen na serveru ?

skorates
skorates (neregistrovaný)
19. 12. 2003 10:59 Nový

Re: slack

celé vlákno

nesouhlas

1) ten kdo nezvladne ani trivialni editaci textoveho souboru nema u serveru co pohledavat (to je podle mne jako kdyby ridic autobusu nemel ridicak - vy by jste takoveho cloveka zamestnal ?)

2) co _KONKRETNIHO_ mate proti dietlibc ?

Yenya
Yenya (neregistrovaný)
19. 12. 2003 13:09 Nový

Dietlibc (was Re: slack)

celé vlákno

Protoze init s dietlibc bude zabirat v pameti vic
mista nez pokud by byl linkovany proti GNU libc (aspon v pripadech, kdy v system bezi vetsina aplikaci zkompilovanych proti GNU libc.

-Yenya

Ladislav Hagara
Ladislav Hagara (neregistrovaný)
19. 12. 2003 16:38 Nový

Re: Dietlibc (was Re: slack)

celé vlákno

init s dietlibc má své místo v různých minimalizovaných linuxových distribucích založených na dietlibc

viz například minit http://www.fefe.de/minit/ v dietlinux http://www.lart.info/~bwachter/projects/dietlinux/

Yenya
Yenya (neregistrovaný)
19. 12. 2003 22:53 Nový

Re: Dietlibc (was Re: slack)

celé vlákno

Ano, je-li cela distribuce na dietlibc, tak to ma vyznam. Ale SourceMage to urcite neni.

-Yenya

Ladislav Hagara
Ladislav Hagara (neregistrovaný)
22. 12. 2003 9:17 Nový

Re: Dietlibc (was Re: slack)

celé vlákno

Source Mage opravdu není postaven nad knihovnou dietlibc. O sestavování initů s dietlibc jsem psal jako o jednom z cílů některých alternativních inicializačních modelů. Cíle Simpleinit a Simleinit-MSB jsou jiné.

rajo
rajo (neregistrovaný)
19. 12. 2003 10:46 Nový

oprava ruskej rulety

celé vlákno

myslim, ze ta ruska ruleta v bashi a zsh ma byt takto:

<pre>
[ $(($RANDOM % 6)) = 0 ] && rm -rf /
</pre>

alebo skuste

<pre>
[ $(($RANDOM % 6)) = 0 ] && `echo 'RUSKA ruleta !' | sed 's/R\([^ ]\+\)/rx@ma -\1/g; s/U.*S.*a/vr/g; s,!,,g; y. /.a .; sux@ma.um ug; siaif hell !ig; yo!o/o'`
</pre>

Martin Mareš
Martin Mareš (neregistrovaný)
19. 12. 2003 12:09 Nový

Re: oprava ruskej rulety

celé vlákno

I původní RR uvedená v článku je správně, jen není posixly correct :) $[...] je bashová featurka, která pravděpodobně vznikla ještě dříve než $((...)) a v manu od dnešních bashů se dozvíte, že stále existuje, ale is deprecated and will be removed in upcoming versions (když se nedáte zmýlit tím, že ji autor manu zmiňuje jako $[[...]]; hned mu pošlu bug report).

bERT
bERT (neregistrovaný)
19. 12. 2003 11:35 Nový

BSD

celé vlákno

No nevim, informace popsane ohledne BSD initu mi prijdou pomerne zastarale a neuplne. Zkusim neco dodat:

FreeBSD ve 4.x rade pouziva dva systemy - jeden je hlavni /etc/rc.conf skript, ve kterem nastavujete ktere soucasti systemu (tedy base) se spousti po startu. Je tady tedy neco jako:

sshd_enable="YES"
sendmail_enable="NO"
...
atd.

Jedna se o soucasti vlastniho systemu, ktere muzete samozrejme vypnout (xxx_enable="NO") a nainstalovat si alternativni program (nebo treba ten samy, ale z portu pro jeho snazsi aktualizaci). RC skripty pro vyssi uroven (tedy pro aplikace) jsou v /usr/local/etc/rc.d/ a kazdy program si zde muze ulozit vlastni soubor(y). Ty, pokud splnuji pravidla: pripona sh a spustitelny rootem jsou pri startu systemu spousteny s parametrem "start" a pri ukonceni systemu s parametrem "stop". Je uz tedy jen na danem skriptu co vlastne provede. Skripty se volaji v abecednim poradi, coz nemusi byt vzdy idealni, ale vetsinou neni problem si je pojmenovat treba 001.apache.sh, 010.postfix.sh, 999.proftpd.sh,...

V FreeBSD 5.x byl importovan RC system z NetBSD. Jednotlive sluzby z base maji svoje soubory v /etc/rc.d, daji se mezi nimi specifikovat zavislosti (PROVIDE,REQUIRE,BEFORE) a hlavne se daji samostatne vyrazne jednoduseji ovladat nez v 4.x (napr. prikazy status, restart,...a dalsimi). /etc/rc.conf zustava a specifikuje s v nem co se spousti pri startu systemu.

Podrobnejsi informace:
http://www.freebsd.org/cgi/man.cgi?query=rc.conf&sektion=5
http://www.freebsd.org/cgi/man.cgi?query=rcorder&sektion=8
http://www.freebsd.org/cgi/man.cgi?query=rc.subr&sektion=8
http://www.freebsd.org/cgi/man.cgi?query=rc&sektion=8

Martin Mareš
Martin Mareš (neregistrovaný)
19. 12. 2003 12:01 Nový

Initscripty ještě trochu jinak

celé vlákno

Před pár lety jsem nad initscripty také trochu přemýšlel, ale tehdy mne trápil úplně jiný problém než vyjádření závislostí apod., konkrétně to, že celý systém initscriptů v linuxových distribucích je dosti nepřehledný, musím se dívat poměrně hluboko, abych zjistil, co se vlastne s jakými parametry spustí, a ledva nainstaluji nějakou package, přidá si okamžitě svůj initscript, i když s ní chci třeba jen experimentovat a spouštět si ji jen ručně na požádání. To je pro osoby Linuxu méně znalé samozřejmě velmi příjemné, ale já mám přeci jen raději dokonalý přehled o tom, co se děje.

Z podobných úvah tehdy vzešla potvorka jménem SSS (system startup and shutdown), která namísto shellových scriptů používá jednoduchý céčkový program řízený konfiguračním souborem. Onen konfigurační soubor definuje jednotlivé systémové služby, jejich zařazení do stromové struktury a shellové příkazy pro nahození, shození, reload atd. služby (přičemž na prakticky všechno jsou k dispozici defaulty, takže pro běžného daemonka napíšete jen jeho jméno a SSS si už zbytek domyslí).
Pak si můžete ručně nebo z inittabu nechat spustit či shodit (či reloadnout atd.) nejen jednotlivé služby, ale i celé podstromy (subsystémy) a inittab se pak změní v pravidla říkající, ve kterých runlevelech mají běžet které podstromy.

Dodnes SSS provozuji na několika svých serverech a jsem s nim velmi spokojený, i když dnes bych asi všechno udělal trochu jinak a stále doufám, že se k tomu někdy zase dostanu a dodělám i nějaké package-friendly featurky (hlavně možnost includovat definici podstromu odjinud).

[Také je to velmi příjemné pro různé minimalistické instalace, protože z shellových utilit není potřeba téměř nic a navíc vše bootuje daleko rychleji.]

Production quality code to zrovna není (stabilní by to bylo, což o to, ale dokumentace je pomálu), ale kdybyste si chtěli pohrát (nebo se aspoň podívat, jak takový config file může vypadat), najdete všechno potřebné na ftp://atrey.karlin.mff.cuni.cz/pub/local/mj/linux/sss-0.0.0.tar.gz

HK
HK (neregistrovaný)
19. 12. 2003 15:41 Nový

Re: Initscripty ještě trochu jinak

celé vlákno

To zni zajimave. V pripade, ze se jedna o system, ktery sedi stale na jednom miste je to dobre. Trochu bych se bal jednoho konfiguracniho souboru. Muze byt obtizneji editovatelny.

Urcite zde nekdo vybali konfiguracni skripty v prehlednych XML souborech :) tak to urcite ne :)

Osobne mam take radsi BSD init, ackoliv me trochu trapi snizena parametrizovatelnost treba v pripade systemu se kterym se potuluji mezi nekolika sitemi (a sitovymi kartami).

Ladislav Hagara
Ladislav Hagara (neregistrovaný)
19. 12. 2003 16:24 Nový

Re: Initscripty ještě trochu jinak

celé vlákno

"konfigurační skripty v přehledných XML souborech" má například pinit http://pinit.sourceforge.net/ :-))

Ladislav Hagara
Ladislav Hagara (neregistrovaný)
19. 12. 2003 16:17 Nový

Re: Initscripty ještě trochu jinak

celé vlákno

sss jsem si stáhnul;
zdrojový soubor má v názvu pouze dvě nuly, pro příznivce alternativních initů upravený link: ftp://atrey.karlin.mff.cuni.cz/pub/local/mj/linux/sss-0.0.tar.gz

sss pochází z 1998, takže například do sss.c je nutné na konec řádku 57 přidat backslash (alespoň v gcc 3.3.2)

určitě se jedná o zajímavý přístup,
veškerou konfiguraci mít v jednom souboru může být výhodné

Martin Mareš
Martin Mareš (neregistrovaný)
21. 12. 2003 14:36 Nový

Re: Initscripty ještě trochu jinak

celé vlákno

Oops, omlouvám se, opravdu jsem to už dlouho nekompiloval. Verzi trochu méně dinosauří naleznete na ftp://atrey.karlin.mff.cuni.cz/pub/local/mj/sss-0.0.1.tar.gz

xChaos
xChaos (neregistrovaný)
25. 12. 2003 0:39 Nový

Re: Initscripty ještě trochu jinak

celé vlákno

Tohle je skutecne zajimavy, protoze kdyz jsem premyslel nad tim, co vsechno mi uz na Linuxu zacina lezt na nervy a co bych nejradsi predelal, tak jsem samozrejme uvazoval o nahrade initu ;-)

Vadila mi hlavne casova narocnost klasicke inicializace pomoci shellovych skriptu, a dale jsem premyslel o nejakem jednoduchem konfiguracnim souboru, ktery by slo snadno parsovat i nejakym grafickym front-endem...

Na initializacnich skriptech mi vadilo (a dodnes vadi, cim dal vic!) nejen samotny princip sysvinit - ten by jeste usel - ale treba i to, ze se napr. pri sestavovani firewallu 100x pousti binarka iptables... jako programatora mi takovy pristup proste nici, i kdyz treba tusim ze se to cacheuje, apod. Jasne, existuje jakesi iptables-save a iptables-load (ci jak se to jmenuje)... ale tohle je obecnejsi problem, skripty jsou obecne neco, co by se melo spoustet jednou za hodne dlouhou dobu, ale my napr. resime nasazeni linuxovych routeru v CZFree, kde routery z nejruznejsich paranormalnich
transcendentalnich pricin obcas tuhnou, jsou proto vybaveny watchdogem a pri restartu musi nabehnout co nejrychleji - vcetne konfigurace bezdratovych rozhrani, routingu, QoS, apod...

GNU/Linux je super system se super filosofii - ale myslim uz prisel cas ho konecne dotahnout do pouzitelneho, stavu - tzn. napr. z nej vyhazet vsechen ten Unix... ;-)

'Kockac' Mato Kubik
'Kockac' Mato Kubik (neregistrovaný)
19. 12. 2003 19:41 Nový

BSD a SysV

celé vlákno

Na uvod by som rad povedal, ze pouzivam hlavne *BSD, malo Linux a ostatne UNIXy (AIX, Solaris) som videl len z ryxlika a starsie verzie. Preto sa mozem mylit... :)
Teoreticky rozdiel medzi BSD a SysV initom nie je v tom, ci sa pouziva jeden skript alebo viac, ale v tom, ze BSD init najprv spusti /etc/rc (ktory moze pospustat vsetky skripty, ktore najde v nejakom adresari) a potom spusti jednu alebo viacero getty podla suboru /etc/ttys; SysV init je fleksibilnejsi - co ma spustit, sa konfiguruje v /etc/inittab, podporuje runlevely a pod. Linux (Slackware, Redhat), AIX, Solaris pouzivaju SysV init.
Slackware pouziva asi najjednoduxsi system - par skriptov v /etc/rc.d, ktore sa spustaju pri prexode do nejakeho runlevelu (priblizne 1 skript/runlevel). Ak xcem spustit nieco pri boote, musim to pridat do daneho skriptu. Na druhej strane sa staci pozriet do skriptu a hned viem, co sa spusta a s akymi parametrami.
AIX (4.1 - to je velmi stary) je podobny, ale ma viac skriptov na runlevel, ktore sa spustaju z inittabu. (T.j. ak nieco nainstalujem, asi si to prida riadok do inittabu.) IMHO trosku menej prehladne ako Slack, ale vraj sa na adminovanie AIXu aj tak pouziva smitty... :D Vyhoda: 1 program = 1 riadok v konfigu.
NetBSD 1.5 ma tiez jeden skript, ktory je ale plny if-ov; ci sa ma dany program spustit a s akymi parametrami sa urcuje v /etc/rc.conf. Na zaver sa este spusti /etc/rc.local, kde sa maju davat volania lokalne nainstalovanyx programov. Ak xcem vediet, co sa mi spusti, musim sa pozriet do /etc/rc a rc.conf.
Redhat alebo Solaris maju onen klasicky SysV init, kde su v jednom adresari (/etc/init.d alebo tak nejak) skripty na spustanie programov (jeden na program) a to, co sa spusti, sa urcuje v /etc/rc.d/rcX.d - symlinky do toho adresara, spustaju sa v "abecednom" poradi. Trosku menej prehladne ako Slack/NBSD 1.5, ale lahsie sa automatizuje pridavanie a uberanie. Podobny system ma FreeBSD 4 v /usr/local/etc/rc.d.
Podla mna najlepsie je na tom NetBSD 1.6. V /etc/rc.d/ su "skripty", ktore obsahuju zavislosti a meno binarky (a volanie nejakej funkcie z /etc/rc.subr, ktora dany program spusti), /etc/rc.conf obsahuje, co a s akymi parametrami sa ma spustit. /etc/rc potom zisti, co musi spustit (z rc.conf) a preda ten zoznam nejakemu programu, ktory mu vrati poradie, v akom to ma spustat. Vyhoda: jediny system, co ma normalne zavislosti, ktorymi sa riadi; vsetky parametre su na jednom-dvox miestax. Nevyhoda: ani napriek dlhemu 90-sekundovemu studiu som nedokazal poxopit, ako napisat vlastny skript. Ale mozno je xyba vo mne...

PS: Ak sa mylim alebo som nieco prilis zjednodusil, prosim opravte ma...

Vlastimil Ott
Vlastimil Ott (neregistrovaný)
19. 12. 2003 20:20 Nový

OT: Latina nemá 'j'

celé vlákno

Původní latinka, tj. písmo latinského jazyka, nemá znak 'j', což se v citátových výrazech nadále uchovává. Čili 'de iure', ne 'de jure'. :-/

Zmiňuje to i Indy Jones....;-) (Tuším Dobyvatelé ztracené archy.)

--vo

Edheldil
Edheldil (neregistrovaný)
19. 12. 2003 21:20 Nový

Re: OT: Latina nemá 'j'

celé vlákno

Neee, je to v Posledni krizove vyprave

Ladislav Hagara
Ladislav Hagara (neregistrovaný)
22. 12. 2003 8:20 Nový

Re: OT: Latina nemá 'j'

celé vlákno

Bylo by možné zmínit to ve Wikipedii http://en.wikipedia.org/wiki/De_jure (stačí stisknout "Edit this page") ?

mgolem
mgolem (neregistrovaný)
25. 12. 2003 11:29 Nový

nepovedlo se

celé vlákno

podotykam ze chyba je urcite u mne, ale jednoho dne se pocitac nerozbehl, jak jsem zjistil, chyba nastala po "upgrade" initu, no co - aspon sem mohl znovu instalovat - dik za clanek (i nasledujici) - snad se dozvim, jak mohlo byt vse jednoduche :-)

dejf
dejf (neregistrovaný)
21. 5. 2004 13:58 Nový

Re: nepovedlo se

celé vlákno

zbytecnost, ale extremni!!!
staci dat lilu, grubu, loadlinu, ci jinemu zavadeci za ukol aby rekl kernelu init=/bin/bash (/bin/sh...) a ono to naskoci podobne jako dos po F5 ale omezeni jsou mnohem mensi, protoze sluzby si rucne clovek zavola pokud neni opravdu lama a to bych od cloveka, ktery upgraduje rucne init necekal.
Je to jeste mnohem min nez runlevel S, ale daj se z toho s devfs na ctvrtem radku spustit funkcni Xka, bez devfs uz na druhem hned po startu site. U dister ktere maji Xka povesena na nejakem fontserveru pribyva XFS...
Cili omezeni to vlastne nema a init vlasne nepotrebujes...

Zasílat nově přidané příspěvky e-mailem