Go to:
Gentoo Home
Documentation
Forums
Lists
Bugs
Planet
Store
Wiki
Get Gentoo!
Gentoo's Bugzilla – Attachment 59323 Details for
Bug 89215
[cs] non-86 Handbook + parts 2, 3
Home
|
New
–
[Ex]
|
Browse
|
Search
|
Privacy Policy
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
doc/cs/handbook/hb-working-rcscripts.xml - new translation (jkt)
hb-working-rcscripts.xml (text/plain), 20.27 KB, created by
Jan Kundrát (RETIRED)
on 2005-05-19 13:49:02 UTC
(
hide
)
Description:
doc/cs/handbook/hb-working-rcscripts.xml - new translation (jkt)
Filename:
MIME Type:
Creator:
Jan Kundrát (RETIRED)
Created:
2005-05-19 13:49:02 UTC
Size:
20.27 KB
patch
obsolete
><?xml version='1.0' encoding='UTF-8'?> ><!DOCTYPE sections SYSTEM "/dtd/book.dtd"> > ><!-- The content of this document is licensed under the CC-BY-SA license --> ><!-- See http://creativecommons.org/licenses/by-sa/1.0 --> > ><!-- $Header$ --> > ><sections> > ><version>1.18</version> ><date>2005-05-06</date> > ><section> ><title>Runlevely</title> ><subsection> ><title>Boot systému</title> ><body> > ><p> >BÄhem bootovánà systému si pravdÄpodobnÄ vÅ¡imnete toho, jak po monitoru ubÃhá >pomÄrnÄ hodnÄ textu. Budete-li pozornÃ, zjistÃte, že pÅi každém rebootu jde o >ty samé informace. PoÅadà tÄchto akcà se nazývá <e>bootovacà sekvence</e> a je >(do znaÄné mÃry) pevnÄ daná. ></p> > ><p> >Nejprve bootloader naÄte do pamÄti obraz jádra (urÄený v konfiguraÄnÃm >souboru) a pÅedá jej CPU k provedenÃ. Kernel si poté zinicializuje potÅebné >datové struktury a pochody a spustà proces <c>init</c>. ></p> > ><p> >Tento proces postupnÄ namountuje vÅ¡echny potÅebné souborové systémy (urÄeno >v <path>/etc/fstab</path>) a spustà různé soubory z adresáÅe ><path>/etc/init.d</path>, které se starajà o spuÅ¡tÄnà služeb, které potÅebujete >k bezproblémovému provozu poÄÃtaÄe. ></p> > ><p> >Nakonec, když jsou vÅ¡echny skripty provedeny, aktivuje <c>init</c> terminály >(ve vÄtÅ¡inÄ pÅÃpadů pouze virtuálnà konzole ukryté za <c>Alt-F1</c>, ><c>Alt-F2</c> atd) pomocà procesu <c>agetty</c>. Ten se postará o to, abyste se >byli schopni pÅihlásit - spustà <c>login</c>. ></p> > ></body> ></subsection> ><subsection> ><title>Init skripty</title> ><body> > ><p> ><c>init</c> samozÅejmÄ neprovádà skripty z adresáÅe ><path>/etc/init.d</path> náhodnÄ. Nejen, že dodržuje jejich správné poÅadÃ, >ale provádà jenom ty, které má. VÅ¡echny potÅebné informace má k dispozici >v adresáÅi <path>/etc/runlevels</path>. ></p> > ><p> >Nejprve spouÅ¡tà <c>init</c> ty skripty z <path>/etc/init.d</path>, na >které vede odkaz z <path>/etc/runlevels/boot</path>. VÄtÅ¡inou je poÅadà >spouÅ¡tÄnà urÄeno abecednÄ, ale nÄkteré skripty obsahujà informace o >závislostech, podle kterých systém zjistÃ, že je potÅeba nejdÅÃve spustit jiný >skript. ></p> > ><p> >Po zpracovánà <path>/etc/runlevels/boot</path> pokraÄuje <c>init</c> skripty, >na které vede symbolický odkaz z in <path>/etc/runlevels/default</path>. >Znovu platÃ, že poÅadà jejich spuÅ¡tÄnà je urÄeno abecednÄ, a pÅÃpadné >závislosti jsou dodrženy. ></p> > ></body> ></subsection> ><subsection> ><title>Jak init pracuje</title> ><body> > ><p> >SamozÅejmÄ se <c>init</c> o tom vÅ¡em nerozhoduje sám; potÅebuje konfiguraÄnà >soubor, který mu ÅÃká, co má dÄlat. Tento soubor se jmenuje ><path>/etc/inittab</path>. ></p> > ><p> >Pamatujete-li si na bootovacà sekvenci, jistÄ si vzpomenete i na to, že jako >prvnà byly pÅipojeny potÅebné souborové systémy. Tuto akci obstará následujÃcà >Åádek v <path>/etc/inittab</path>: ></p> > ><pre caption="Åádek inicializace systému v /etc/inittab"> >si::sysinit:/sbin/rc sysinit ></pre> > ><p> >Tento Åádek ÅÃká <c>init</c>u, že pro inicializaci systému musà musà spustit ><c>/sbin/rc sysinit</c>. Skript <path>/sbin/rc</path> se o ni postará; můžeme >tedy ÅÃci, že <c>init</c> toho moc nedÄlá - úkol pouze pÅevede na jiný proces. ></p> > ><p> >Jako druhý krok <c>init</c> provede vÅ¡echny skripty, na které vedou symbolické >odkazy z <path>/etc/runlevels/boot</path>, viz tento Åádek: ></p> > ><pre caption="PokraÄovánà inicializace systému"> >rc::bootwait:/sbin/rc boot ></pre> > ><p> >O samotné provedenà úkolu se opÄt stará skript <c>rc</c>. PovÅ¡imnÄte si, že >parametr pÅedaný skriptu (<e>boot</e>) je zároveÅ i jméno použitého adresáÅe >uvnitÅ <path>/etc/runlevels</path>. ></p> > ><p> >Nynà se <c>init</c> podÃvá do svého konfiguraÄnÃho souboru, aby zjistil, >v jakém <e>runlevelu</e> má systém bÄžet. Åádka >z <path>/etc/inittab</path>: ></p> > ><pre caption="Åádek initdefault"> >id:3:initdefault: ></pre> > ><p> >V tomto pÅÃpadÄ (který bude použÃvat vÄtÅ¡ina uživatelů Gentoo) je ÄÃslo ><e>runlevelu</e> 3. <c>init</c> tedy zjistÃ, že musà spustit ><e>runlevel 3</e>: ></p> > ><pre caption="Definice runlevelů"> >l0:0:wait:/sbin/rc shutdown >l1:S1:wait:/sbin/rc single >l2:2:wait:/sbin/rc nonetwork >l3:3:wait:/sbin/rc default >l4:4:wait:/sbin/rc default >l5:5:wait:/sbin/rc default >l6:6:wait:/sbin/rc reboot ></pre> > ><p> >OpÄt vidÃme, že Åádka definujÃcà runlevel 3 použÃvá ke spuÅ¡tÄnà >služeb skript <c>rc</c>, nynà s parametrem <e>default</e>. Parametr >pÅedaný skriptu <c>rc</c> se znovu shoduje se jménem adresáÅe >z <path>/etc/runlevels</path>. ></p> > ><p> >Až <c>rc</c> skonÄà svoji práci, <c>init</c> se rozhodne, jaké virtuálnà >konzole má aktivovat a jaké programy na nich spustit: ></p> > ><pre caption="Definice virtualnÃch konzolÃ"> >c1:12345:respawn:/sbin/agetty 38400 tty1 linux >c2:12345:respawn:/sbin/agetty 38400 tty2 linux >c3:12345:respawn:/sbin/agetty 38400 tty3 linux >c4:12345:respawn:/sbin/agetty 38400 tty4 linux >c5:12345:respawn:/sbin/agetty 38400 tty5 linux >c6:12345:respawn:/sbin/agetty 38400 tty6 linux ></pre> > > ></body> ></subsection> ><subsection> ><title>Co je to runlevel?</title> ><body> > ><p> >Ukázali jsme, že se <c>init</c> pÅi rozhodovánà o tom, do jakého ><e>runlevelu</e> vstoupit, držà ÄÃselného schématu. <e>Runlevel</e> je stav, ve >kterém Váš systém bÄžÃ; vážà se k nÄmu skripty (skripty runlevelu nebo ><e>init skripty</e>), které musà být spuÅ¡tÄny, když systém do runlevelu vstupuje >a nebo jej ukonÄuje. ></p> > ><p> >V Gentoo je definováno sedm runlevelů: tÅi pro vnitÅnà potÅebu a ÄtyÅi >uživatelsky definované. Runlevely pro vnitÅnà potÅebu jsou <e>sysinit</e>, ><e>shutdown</e> a <e>reboot</e> a dÄlajà to, co jejich jména napovÃdajà - >starajà se o inicializaci systému, jeho vypnutà a restart. ></p> > ><p> >Uživatelsky definované runlevely jsou ty, které použÃvajà podadresáŠ><path>/etc/runlevels</path> - <path>boot</path>, <path>default</path>, ><path>nonetwork</path> a <path>single</path>. Runlevel <path>boot</path> >spouÅ¡tà vÅ¡echny nezbytné služby, které dále použÃvajà dalÅ¡Ã runlevely. >ZbývajÃcà tÅi runlevely se odliÅ¡ujà poÄtem a druhy služeb, které spouÅ¡tÃ: >runlevel <path>default</path> sloužà pro bÄžný chod systému, ><path>nonetwork</path> pro dobu, kdy nenà potÅeba sÃÅ¥, a <path>single</path> >tehdy, je-li potÅeba opravit systém. ></p> > ></body> ></subsection> ><subsection> ><title>Práce s init skripty</title> ><body> > ><p> >Skripty, které spouÅ¡tà proces <c>rc</c>, se nazývajà <e>init skripty</e>. Každý >ze skriptů uložených v <path>/etc/init.d</path> může být spuÅ¡tÄn >s parametry <e>start</e>, <e>stop</e>, <e>restart</e>, <e>pause</e>, ><e>zap</e>, <e>status</e>, <e>ineed</e>, <e>iuse</e>, <e>needsme</e>, ><e>usesme</e> nebo <e>broken</e>. ></p> > ><p> >Pro spuÅ¡tÄnÃ, zastavenà a nebo restart služby (a zároveÅ vÅ¡ech služeb, které na >nà závisÃ), sloužà parametry <c>start</c>, <c>stop</c> a <c>restart</c>: ></p> > ><pre caption="SpuÅ¡tÄnà Postfixu"> ># <i>/etc/init.d/postfix start</i> ></pre> > ><note> >Pouze služby, které ji <e>potÅebujÃ</e>, jsou zastaveny nebo restartovány. >DalÅ¡Ã na nà závislé služby (ty, které ji <e>použÃvajÃ</e>, ale nepotÅebujÃ), >nejsou dotÄeny. ></note> > ><p> >Chcete-li zastavit službu, ale ne dalÅ¡Ã služby, které na nà závisÃ, můžete >použÃt parametr <c>pause</c>: ></p> > ><pre caption="Pozastavenà Postfixu a ponechánà dalÅ¡Ãch služeb naživu"> ># <i>/etc/init.d/postfix pause</i> ></pre> > ><p> >Chcete-li vÄdÄt, v jakém stavu se daná služba právÄ nacházà (zda bÄžÃ, je >ukonÄená a nebo pozastavená), můžete použÃt argument <c>status</c>: ></p> > ><pre caption="Informace o stavu Postfixu"> ># <i>/etc/init.d/postfix status</i> ></pre> > ><p> >ÅÃká-li informace o stavu, že služba bÄžÃ, avÅ¡ak Vy vÃte, že ne, můžete tuto >informaci zmÄnit pomocà argumentu <c>zap</c>: ></p> > ><pre caption="ZmÄna informace o stavu služby postfix"> ># <i>/etc/init.d/postfix zap</i> ></pre> > ><p> >Pro zjiÅ¡tÄnà závislostà služby můžete použÃt <c>iuse</c> Äi <c>ineed</c>. >Parametr <c>ineed</c> vypÃÅ¡e seznam služeb, které služba aktuálnà ke svému >chodu opravdu potÅebuje; <c>iuse</c> naproti tomu ukáže ty služby, které daná >služba použÃvat může, ale ke správné funkci je nutnÄ nevyžaduje. ></p> > ><pre caption="Výpis vÅ¡ech služeb, na kterých Postfix závisÃ"> ># <i>/etc/init.d/postfix ineed</i> ></pre> > ><p> >PodobnÄ se můžete dotázat na služby, které danou službu potÅebujà >(<c>needsme</c>) nebo mohou použÃvat (<c>usesme</c>): ></p> > ><pre caption="Výpis vÅ¡ech služeb, které potÅebujà Postfix"> ># <i>/etc/init.d/postfix needsme</i> ></pre> > ><p> >KoneÄnÄ, je možné požádat i o výpis závislostÃ, které služba vyžaduje, ale >které chybÃ: ></p> > ><pre caption="Výpis chybÄjÃcÃch závislostà Postfixu"> ># <i>/etc/init.d/postfix broken</i> ></pre> > ></body> ></subsection> ></section> ><section> ><title>Práce s rc-update</title> ><subsection> ><title>Co je rc-update?</title> ><body> > ><p> >Init systém Gentoo použÃvá pro rozhodovánà o poÅadà spouÅ¡tÄnà služeb strom >závislostÃ. Protože jeho udržovánà je pomÄrnÄ zdlouhavé a únavné, vytvoÅili jsme >nástroje, které správu runlevelů a init skriptů usnadÅujÃ. ></p> > ><p> >Nástrojem <c>rc-update</c> můžete do runlevelu pÅidávat a odebÃrat skripty, a >on se sám postará o zavolánà skriptu <c>depscan.sh</c> pro znovuvytvoÅenà >stromu závislostà ></p> > ></body> ></subsection> ><subsection> ><title>PÅidánà a odebÃránà služeb</title> ><body> > ><p> >BÄhem instalace Gentoo jste již init skripty pÅidávali do runlevelu "default". >Tehdy jste možná jeÅ¡tÄ nemÄli páru, k Äemu onen "default" sloužÃ, ale teÄ >už byste to vÄdÄt mÄli. Skript <c>rc-update</c> vyžaduje i druhý argument >definujÃcà akci k provedenÃ: <e>add</e>, <e>del</e> nebo <e>show</e>. ></p> > ><p> >Pro pÅidánà Äi odebránà init skriptu jednoduÅ¡e spusÅ¥te <c>rc-update</c> >s argumentem <c>add</c> (pÅidánÃ) nebo <c>del</c> (odebránÃ) následovaným >jménem init skriptu a runlevelem. NapÅÃklad takto: ></p> > ><pre caption="OdstranÄnà Postfixu z výchozÃho runlevelu"> ># <i>rc-update del postfix default</i> ></pre> > ><p> >PÅÃkaz <c>rc-update show</c> zobrazà dostupné init skripty a patÅiÄné runlevely, >ve kterých jsou skripty aktivnÃ: ></p> > ><pre caption="Informace o init skriptech"> ># <i>rc-update show</i> ></pre> > ></body> ></subsection> ></section> ><section> ><title>Konfigurace služeb</title> ><subsection> ><title>K Äemu dalÅ¡Ã konfigurace?</title> ><body> > ><p> >Init skripty mohou být pomÄrnÄ komplexnÃ, a proto nenà vhodné, aby je mÄnili >uživatelé sami, kvůli riziku zanesenà chyb. Služby je vÅ¡ak potÅeba >konfigurovat, napÅÃklad nÄkdy můžete potÅebovat pÅedat samotné službÄ dalÅ¡Ã >parametry. ></p> > ><p> >Druhým důvodem k tomu, abychom udržovali informace o konfiguraci mimo init >skript jsou aktualizace, resp. zamezenà obavám o to, že o svoji konfiguraci >bÄhem aktualizace pÅejdete. ></p> > ></body> ></subsection> ><subsection> ><title>AdresáŠ/etc/conf.d</title> ><body> > ><p> >Konfigurace služeb je v Gentoo snadná - každý konfigurovatelný init skript >má svůj soubor v adresáÅi <path>/etc/conf.d</path>. KupÅÃkladu >konfigurace init skriptu apache2 (<path>/etc/init.d/apache2</path>) se provádà >v souboru <path>/etc/conf.d/apache2</path>; tento obsahuje parametry >pÅedávané serveru Apache 2 pÅi jeho spuÅ¡tÄnÃ: ></p> > ><pre caption="PromÄnná definovaná v /etc/conf.d/apache2"> >APACHE2_OPTS="-D PHP4" ></pre> > ><p> >V tÄchto konfiguraÄnÃch souborech nenajdete nic než promÄnné, ovlivÅujÃcà >chovánà daného init skriptu, a samozÅejmÄ komentáÅe. Formát je podobný jako >v <path>/etc/make.conf</path>. ></p> > ></body> ></subsection> ></section> ><section> ><title>Psanà init skriptu</title> ><subsection> ><title>MusÃm?</title> ><body> > ><p> >Ne, psanà init skriptů vÄtÅ¡inou nenà nutné, protože Gentoo poskytuje skripty >pÅipravené k použitÃ. AvÅ¡ak je možné, že jste si nainstalovali nÄjakou >službu, která nenà v Portage, a v takovém pÅÃpadÄ si budete muset >init skript pravdÄpodobnÄ vytvoÅit. ></p> > ><p> >NepoužÃvejte init skript, který nenà napsaný pÅÃmo pro Gentoo -- formát jiných >distribucà nenà s naÅ¡Ãm kompatibilnÃ! ></p> > ></body> ></subsection> ><subsection> ><title>Schéma</title> ><body> > ><p> >Základnà uspoÅádánà init skriptu je ukázáno nÞe: ></p> > ><pre caption="Základnà uspoÅádánà init skriptu"> >#!/sbin/runscript > >depend() { > <comment>(informace o závislostech)</comment> >} > >start() { > <comment>(pÅÃkazy potÅebné pro start služby)</comment> >} > >stop() { > <comment>(pÅÃkazy nezbytné pro zastavenà služby)</comment> >} > >restart() { > <comment>(pÅÃkazy potÅebné pro restart služby)</comment> >} ></pre> > ><p> >Každý init skript <e>musÃ</e> obsahovat funkci <c>start()</c>, vÅ¡echny dalÅ¡Ã >sekce jsou volitelné. ></p> > ></body> ></subsection> ><subsection> ><title>Závislosti</title> ><body> > ><p> >Můžete definovat dva druhy závislostÃ: <c>use</c> a <c>need</c>. Jak již bylo >zmÃnÄno výše, <c>need</c> je striktnÄjÅ¡Ã než <c>use</c>. ObÄ dvÄ akceptujà buÄ >jméno služby, kterou potÅebujete Äi použÃváte a nebo <e>virtuálnÃ</e> závislost. ></p> > ><p> ><e>VirtuálnÃ</e> závislost může být poskytovaná vÃce službami. Váš init skript >může napÅÃklad záviset na systémovém loggeru, avÅ¡ak protože jich je vÃce >možných (metalogd, syslog-ng, sysklogd,...), a služba nemůže pÅes <c>need</c> >záviset na vÅ¡ech (žádný rozumný systém nemá vÅ¡echny nainstalované a spouÅ¡tÄné), >použijete <e>virtuálnÃ</e> závislost, poskytovanou pomocà <c>provide</c>. ></p> > ><p> >PodÃvejme se na na informace o závislostech pro službu postfix: ></p> > ><pre caption="Informace o závislostech Postfixu"> >depend() { > need net > use logger dns > provide mta >} ></pre> > ><p> >Jak můžete vidÄt, služba postfix: ></p> > ><ul> > <li> > vyžaduje (virtuálnÃ) závislost <c>net</c> (kterou poskytuje napÅÃklad > <path>/etc/init.d/net.eth0</path>) > </li> > <li> > použÃvá (virtuálnÃ) závislost <c>logger</c> (kterou poskytuje napÅÃklad > <path>/etc/init.d/syslog-ng</path>) > </li> > <li> > použÃvá (virtuálnÃ) závislost <c>dns</c> (kterou poskytuje napÅÃklad > <path>/etc/init.d/named</path>) > </li> > <li> > poskytuje (virtuálnÃ) závislost <c>mta</c> (která je spoleÄná pro vÅ¡echny > mailservery) > </li> ></ul> > ></body> ></subsection> ><subsection> ><title>Kontrola poÅadÃ</title> ><body> > ><p> >V nÄkterých pÅÃpadech nebudete nÄjakou službu potÅebovat, ale pÅejete si, >aby byla ta VaÅ¡e spuÅ¡tÄna pÅed (<c>before</c>) nebo až po (<c>after</c>) nÄjaké >jiné, pokud je tato v systému pÅÃtomná (povÅ¡imnÄte si podmÃnky - již nejde >o závislost) <e>a zároveÅ</e> je ve stejném runlevelu (opÄt podmÃnka - >v úvahu jsou brány pouze služby ve stejném runlevelu). Takového >chovánà můžete dosáhnout pomocà nastavenà <c>before</c> nebo <c>after</c>. ></p> > ><p> >Jako pÅÃklad se podÃváme na nastavenà služby portmap: ></p> > ><pre caption="Funkce depend() služby portmap"> >depend() { > need net > before inetd > before xinetd >} ></pre> > ><p> >Také můžete použÃt metaznak "*", který znamená "vÅ¡echny služby >v runlevelu", avÅ¡ak nenà to doporuÄeno. ></p> > ><pre caption="SpuÅ¡tÄnà init skriptu jako prvnà v runlevelu"> >depend() { > before * >} ></pre> > ></body> ></subsection> ><subsection> ><title>Standardnà funkce</title> ><body> > ><p> >Dále je potÅeba definovat funkci <c>start()</c>, která musà obsahovat vÅ¡echny >pÅÃkazy potÅebné ke spuÅ¡tÄnà služby. Je doporuÄeno použÃt funkce ><c>ebegin</c> a <c>eend</c>, aby uživatel vidÄl, co se dÄje: ></p> > ><pre caption="Ukázková funkce start()"> >start() { > ebegin "Starting my_service" > start-stop-daemon --start --quiet --exec /path/to/my_service > eend $? >} ></pre> > ><p> >PotÅebujete-li vÃce pÅÃkladů funkce <c>start()</c>, pÅeÄtÄte si, prosÃm, >zdrojové kódy dostupných init skriptů v adresáÅi <path>/etc/init.d</path>. >PÅÃkaz <c>start-stop-daemon</c> má výbornou manuálovou stránku, potÅebujete-li >dalÅ¡Ã informace: ></p> > ><pre caption="Zobrazenà manuálové stránky start-stop-daemon"> ># <i>man start-stop-daemon</i> ></pre> > ><p> >DalÅ¡Ã funkce, které můžete definovat, jsou <c>stop</c> a <c>restart</c>, nenà >to vÅ¡ak povinné! Náš init systém je natolik inteligentnÃ, že pokud použÃváte ><c>start-stop-daemon</c>, doplnà si tyto funkce sám. ></p> > ><p> >Syntax init skriptů použÃvaných v Gentoo je kompatibilnà s Bourne >Again Shellem (bash), Äili v nich můžete použÃvat rozÅ¡ÃÅenà bashe. ></p> > ></body> ></subsection> ><subsection> ><title>PÅidánà vlastnÃch možnostÃ</title> ><body> > ><p> >Chcete-li, aby VaÅ¡e init skripty podporovaly vÃce voleb než ty, na které jsme >zatÃm narazili, mÄli byste je pÅidat do promÄnné <c>opts</c> a definovat funkci >se jménem shodným, jako má daná možnost. NapÅÃklad pro volbu ><c>restartdelay</c>: ></p> > ><pre caption="Podpora volby restartdelay"> >opts="${opts} restartdelay" > >restartdelay() { > stop() > sleep 3 <comment># PÅed novým spuÅ¡tÄnÃm poÄkej 3 sekundy</comment> > start() >} ></pre> > ></body> ></subsection> ><subsection> ><title>PromÄnné pro konfiguraci služeb</title> ><body> > ><p> >Abyste mohli využÃvat konfiguraci v <path>/etc/conf.d</path>, nemusÃte >dÄlat vůbec nic - když je váš skript spuÅ¡tÄn, provede se "source" vÅ¡ech tÄchto >souborů (tj. promÄnné z nich budou k dispozici): ></p> > ><ul> > <li><path>/etc/conf.d/<Váš init skript></path></li> > <li><path>/etc/conf.d/basic</path></li> > <li><path>/etc/rc.conf</path></li> ></ul> > ><p> >ZároveÅ pokud Váš init skript poskytuje virtuálnà závislost (napÅÃklad ><c>net</c>), bude soubor s nà asociovaný rovnÄž zpracován (napÅÃklad ><path>/etc/conf.d/net</path>). ></p> > ></body> ></subsection> ></section> ><section> ><title>ZmÄna výchozÃho chovánÃ</title> ><subsection> ><title>Kdo by to mohl použÃt?</title> ><body> > ><p> >Mnoho uživatelů notebooků tuto situaci zná - doma chcete spouÅ¡tÄt ><c>net.eth0</c>, ale na cestách ne, protože bÄhem nich sÃÅ¥ k dispozici >nemáte. S Gentoo můžete zmÄnit chovánà runlevelů k obrazu svému. ></p> > ><p> >Můžete si napÅÃklad pÅidat druhý "výchozÃ" runlevel, do kterého mlžete >nabootovat, s pÅiÅazenými patÅiÄnými skripty. PÅi spuÅ¡tÄnà poÄÃtaÄe si >budete moci vybrat, který runlevel se má zavést. ></p> > ></body> ></subsection> ><subsection> ><title>Použità SOFTLEVEL</title> ><body> > ><p> >Nejprve vytvoÅte adresáŠpro svůj "druhý" výchozà runlevel. Jako pÅÃklad >vytvoÅÃme runlevel <path>offline</path>: ></p> > ><pre caption="VytvoÅenà adresáÅe runlevelu"> ># <i>mkdir /etc/runlevels/offline</i> ></pre> > ><p> >PÅidejte nezbytné init skripty do novÄ vytvoÅeného adresáÅe. NapÅÃklad pokud >chcete mÃt pÅesnou kopii souÄasného runlevelu <c>default</c>, avÅ¡ak bez ><c>net.eth0</c>: ></p> > ><pre caption="PÅidánà nezbytných init skriptů"> ># <i>ls /etc/runlevels/default</i> >acpid domainname local net.eth0 netmount postfix syslog-ng vixie-cron ># <i>rc-update add acpid offline</i> ># <i>rc-update add domainname offline</i> ># <i>rc-update add local offline</i> ># <i>rc-update add syslog-ng offline</i> ># <i>rc-update add vixie-cron offline</i> ></pre> > ><p> >Nynà zmÄÅte konfiguraci svého bootloaderu a pÅidejte novou položku pro runlevel ><c>default</c>. NapÅÃklad pro <path>/boot/grub/grub.conf</path>: ></p> > ><pre caption="PÅidánà položky pro runlevel offline"> >title Gentoo Linux Offline Usage > root (hd0,0) > kernel (hd0,0)/kernel-2.4.25 root=/dev/hda3 <i>softlevel=offline</i> ></pre> > ><p> >Voila, to je vÅ¡echno. Když nynà pÅi bootovánà VaÅ¡eho systému vyberete novÄ >pÅidanou položku, runlevel <c>offline</c> bude použit mÃsto výchozÃho ><c>default</c>. ></p> > ></body> ></subsection> ><subsection> ><title>Použità BOOTLEVEL</title> ><body> > ><p> >Použità <c>bootlevel</c>u je úplnÄ stejné jako <c>softlevel</c>, jediný rozdÃl >je, že mÃsto druhého runlevelu "default" definujete druhý runlevel "boot". ></p> > ></body> ></subsection> ></section> ></sections>
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Raw
Actions:
View
Attachments on
bug 89215
:
56372
|
56373
|
56380
|
56456
|
56461
|
56462
|
56463
|
56466
|
56467
|
56468
|
56601
|
56602
|
56603
|
56625
|
56626
|
56627
|
56628
|
56649
|
56696
|
56860
|
56861
|
56863
|
57278
|
58952
|
59134
|
59204
|
59205
|
59236
|
59315
|
59323
|
59399
|
59409
|
59410
|
59441
|
59453
|
59454
|
59637
|
59650
|
59768
|
59779
|
59781
|
59789
|
59805
|
59896
|
60116
|
60390
|
60392
|
60409
|
60410
|
60470
|
60475
|
60479
|
60480
|
60482
|
60858
|
60860
|
60862
|
60921
|
60924
|
60927
|
60928
|
61059
|
61062
|
61063
|
61078
|
61082
|
61083
|
61084
|
61115
|
61186
|
61400
|
61401
|
61402
|
61403