
  A bekapcsolstl a bash promptig


    Greg O'Keefe, |gcokeefe@postoffice.utas.edu.au|

v0.9, 2000 november
------------------------------------------------------------------------
/Ez a dokumentum rviden lerja, hogy mi trtnik egy Linux rendszerben
a gp bekapcsolstl a bash prompt megjelensig. Ezek megrtse
hasznos lehet, amikor problmkat kell megoldanod vagy be kell lltanod
a rendszert./
------------------------------------------------------------------------


    1. Bevezets

Idegestnek tartottam, hogy sok olyan dolog trtnik a Linux gpem
belsejben, amit nem rtek. Ha Te is, gy mint n, szeretnd igazn
megrteni a rendszered mkdst ahelyett, hogy csak a hasznlatt
tanulod meg, ez a dokumentum egy j kiindulsi pont lehet. Ez a fajta
httrismeret kellhet akkor is, ha elsrang linuxos problmamegold
szeretnl lenni.

Felttelezem, hogy van egy mkd Linux gped, s tudsz nhny alapvet
dolgot a Unix-rl s a PC hardverrl. Ha nem, akkor nagyon j
kiindulsi alap a tanulshoz az Eric S. Raymond-fle The Unix and
Internet Fundamentals HOWTO
<http://www.tldp.org/HOWTO/Unix-and-Internet-Fundamentals-HOWTO.html> (A
Unix s az Internet alapjai HOGYAN). Ez rvid, nagyon olvasmnyos doksi
s lefedi az alapokat.

A dokumentum f irnyvonala az, hogy a Linux hogyan indul el. Ezen fell
egy rszletesebb tanulmnyi forrs prbl lenni. Minden rszhez
mellkeltem gyakorlatokat is. Ha tnylegesen megcsinlsz nhnyat
kzlk, sokkal tbbet tanulsz, mint csak az olvasssal.

Remlem, nhny olvas vllalkozik a tudomsom szerinti legjobb, a Linux
megismerst segt feladatra, ami a rendszer forrskdbl val
felptse. Az olasz filozfus, Giambattista Vico (1668-1744) szerint
"verum ipsum factum", vagyis "a dolgokat ksztsk kzben rtjk meg
igazn". Ksznet Alexnek (lsd Ksznetnyilvntsok <#acknowledge>) az
idzetrt.

Ha el szeretnd kszteni a sajt Linuxodat, elolvashatod mg Gerard
Beekman Linux From Scratch HOWTO <http://www.linuxfromscratch.org>-jt
(Linux a kezdetektl HOGYAN, LFS). Ez rszletes tbaigaztst ad egy
teljes, hasznlhat rendszer forrskdbl val felptsrl. A LFS
weboldaln levelezlistt is tallsz, ami azoknak szl, akik ezen a
mdon ptenek fel rendszereket. Nhny instrukci, ami rgebben rsze
volt ennek a dokumentumnak, most mr egy msik lersban tallhat meg,
cme "Minimlis Linux rendszer ptse forrskdbl", s itt tallhat
meg: From PowerUp to Bash Prompt honlapja
<http://www.netspace.net.au/~gok/power2bash/>. Elmagyarzzk, hogyan
"jtsszunk" a rendszerrel, tisztn mint tanulsi gyakorlat.

A csomagok abban a sorrendben jelennek meg, amelyikben a rendszer
indulsi folyamatban is rszt vesznek. Ez azt jelenti, hogy ha ebben a
sorrendben telepted fel ket, jraindtst csinlhatsz minden telepts
utn, s lthatod, hogy a rendszer minden egyes alkalommal kzelebb visz
ahhoz, hogy megkapd a bash prompt-ot. Van ebben egy bizonyossgot
erst rzs.

Azt ajnlom, hogy elszr olvasd el a rszek f szvegeit, tugorva a
gyakorlatokat s hivatkozsokat. Ezutn dntsd el, milyen mlysg
szakrtelmet akarsz elrni, s mennyi erfesztst vagy hajland
rldozni. Ezutn kezdd el megint az elejtl, vgigcsinlva a
gyakorlatokat s a kiegszt olvasmnyokat ttanulmnyozva.


    2. Hardver

Amikor bekapcsolod a szmtgpet, az leteszteli magt, hogy minden
rendben mkdik-e. Ezt "bekapcsolsi nteszt"-nek (POST) hvjk. Ezutn
a bootstrap loader nev, a ROM BIOS-ban tallhat program keres egy
bootszektort. A bootszektor egy lemez els szektora, s egy kis
programkdot tartalmaz, ami kpes egy opercis rendszer betltsre. A
bootszektorokat a bvs 0xAA55=43603 szmmal jellik meg, ez a
0x1FE=510-es bjtnl tallhat. Ez a szektor utols kt bjtja. Ezen a
mdon kpes eldnteni a hardver, hogy a szektor bootszektor vagy sem.

A bootstrap loader egy listval rendelkezik arrl, hogy hol keressen
bootszektort. Az n rgi gpem elszr az elsdleges floppy-meghajtn
kereste, majd az elsdleges merevlemezen. A modern gpek ezenkvl
CD-ROM-on is kereshetik. Ha megtallja a bootszektort, betlti a
memriba, s tadja a vezrlst az opercis rendszert betlt
programra. Egy tipikus Linux rendszeren ez a LILO els fokozat (first
stage) betltje. Ezen kvl persze mg sok ms mdon lehet betltetni a
rendszert. Lsd a /LILO User's Guide/-ot rszletekrt. Lsd mg a LILO
<#lilo-links> rszt URL-ekrt.

Termszetesen mg rengeteg mindent lehetne mondani arrl, hogy mit
csinl a PC hardvere, de ez nem ennek a helye. Errl a tmrl sok j
knyvet olvashatsz .


    2.1 Bellts

A gp nhny informcit trol nmagrl a CMOS-ban. Ez magban foglalja
a gpben tallhat lemezek s memria adatait/jellemzit. A gpben lv
BIOS tartalmaz egy programot, amivel ezeket a belltsokat mdostani
lehet. Figyeld meg a gped indulsakor megjelen zeneteket, ezek egyike
tjkoztat az ehhez val hozzfrs mdjrl. Az n gpemen a "Delete"
gombot kell megnyomni, mieltt elkezden betlteni az opercis rendszert.


    2.2 Gyakorlatok

Nagyon j mdszere a hardverrl val ismeretszerzsnek, ha hasznlt
alkatrszekbl pt egy gpet az ember. Vgy legalbb egy 386-ost, amin
mr knnyszerrel futtathatsz Linuxot. Nem fog sokba kerlni. Krdezgess
krbe, htha valaki tud is adni olyan rszegysgeket, amire szksged van.

Nzz krl a Neten, tltsd s fordtsd le, majd kszts egy indtlemezt
az Unios <http://www.netspace.net.au/~gok/resources>-nak. (Volt egy
honlapjuk: http://www.unios.org, de ez mr eltnt.) Ez csak egy
bootolhat "Hell vilg!" program, alig tbb mint 100 sornyi assembler
kd. J volna ltni olyan formtumban, hogy a GNU assembler, az "|as|"
is megrtse.

Nyisd meg egy hexa-editorral az Unios indtlemeznek kpfjljt. Ez a
fjl 512 bjt mret, pontosan egy szektornyi. Keresd meg a bvs
0xAA55-s szmot. Tedd ugyanezt egy indtfloppy-val vagy a sajt
gpeddel. Hasznlhatod a "|dd|" programot egy fjlba val kimsolshoz:
|dd if=/dev/fd0 of=boot.sector|. Lgy /nagyon/ vatos, hogy az "|if|"
(bemeneti fjl) s "|of|" (kimeneti fjl) jl legyen megadva!

Nzd meg a LILO betltjnek forrskdjt.


    2.3 Tovbbi informci

    * The Unix and Internet Fundamentals HOWTO
      <http://www.tldp.org/HOWTO/Unix-and-Internet-Fundamentals-HOWTO.html>,
      szerz Eric S. Raymond, klnsen a 3. fejezet: /What happens when
      you switch on a computer?/ (Mi trtnik, ha bekapcsolod a
      szmtgpet?)
    * Az els fejezet a /The LILO User's Guide/-bl kitn magyarzatot
      ad a PC lemezpartcikrl s a bootolsrl. Lsd a LILO
      <#lilo-links> fejezetet URL-ekrt.
    * /Az J Peter Norton Programmer's Guide to the IBM PC & PS/2/,
      szerz Peter Norton s Richard Wilton, kiad Microsoft Press,
      1988. Van egy jabb Norton-knyv, ami jl nz ki, de mg nem
      engedhetem meg magamnak!
    * A PC-k fejlesztsrl szl ms knyvek egyike


    3. LILO

Amikor a szmtgp betlt egy bootszektort egy norml Linux rendszeren,
valjban a LILO egy rsz tlti be, amit "els fokozat betltnek"
hvnak. Ez egy kicsi program, aminek nincs ms szerepe, mint betlteni
s futtatni a "msodik fokozat betltt".

A msodik fokozat betlt ad egy kszenlti jelet (ha gy lltottk
be) s betlti az ltalad vlasztott opercis rendszert.

Amikor a rendszer elindult, mkdik, s futtatod a |lilo|-t, akkor
valjban a "map installer"-t futtatod. Ez kiolvassa a |/etc/lilo.conf|
konfigurcis fjlt, kirja a betltket s az informcikat az ltala
betlthet opercis rendszerekrl a merevlemezre.

Rengeteg egyb mdja van mg a rendszered betltsnek. Amit lertam, a
legkzenfekvbb s "norml" md, legalbbis egy Linuxot, mint f
opercis rendszert futtat gp szmra. A LILO felhasznli kziknyv
tbbfle pldt sorol fel a "betltsi koncepcikrl". Megri elolvasni,
s nhnyat kiprblni kzlk.


    3.1 Bellts

A LILO konfigurcis fjlja a |/etc/lilo.conf|. Ltezik
kziknyv-oldala: gpeld be a |man lilo.conf| parancsot a
megtekintshez. A f dolog a |lilo.conf|-ban egy bejegyzs mindenhez,
amit a LILO be tud tlteni. A Linux esetben ez tartalmazza a kernel
helyt, s hogy melyik lemezpartcit kell gykr fjlrendszerknt
befzni. Ms opercis rendszereknl a f informci az, hogy melyik
partcirl bootoljanak.


    3.2 Gyakorlatok

/VIGYZAT:/ nagyon vigyzz ezekkel a gyakorlatokkal. Nagyon knny
elrontani valamit, tnkretenni a master boot rekordot s
hasznlhatatlann tenni a rendszert. Bizonyosodj meg, hogy van egy
mkd mentlemezed, s tudod is hasznlni arra, hogy visszalltsd a
dolgokat. Lsd albb a hivatkozst a tomsrtbt-re, arra a mentlemezre
amit n hasznlok s ajnlok. A legjobb az, ha olyan gpet hasznlsz
amelyiknl mindez nem szmt.

Teleptsd a LILO-t egy floppy-ra. Nem szmt a nincs ms rajta, csak egy
kernel - kapsz majd egy "kernel pnik"-ot, amikor kszen ll az init
betltsre, de legalbb tudod, hogy a LILO mkdik.

Ha akarod, mg tovbb lphetsz s megnzheted, mekkora rendszert tudsz
felrakni a floppy-ra. Ez valsznleg a msodik legjobb Linux-tanulsi
tevkenysg. Lsd a Bootdisk HOWTO-t (Indtlemez HOGYAN, URL albb) s
a tomsrtbt-t (URL albb) tippekrt.

Tlsd be az Unios-t a LILO-val (lsd a hardver gyakorlatok
<#hardware-ex> rszt URL-ekrt). Extra gyakorlatknt nzd meg, vgre
tudod-e hajtani ezt egy floppy-lemezen.

Kszts egy boot-ciklust. Tltesd be a master boot rekord-beli LILO-val
az egyik elsdleges partciban lv boot szektort, majd azzal jra a
MBR-beli LILO-t... Esetleg hasznld a MBR-t s mind a ngy elsdleges
partcit egy t lpses ciklushoz. Sti!


    3.3 Tovbbi informci

    * A LILO kziknyv-oldala
    * A LILO csomag ( lilo
      <ftp://lrcftp.epfl.ch/pub/linux/local/lilo/>), ami tartalmazza a
      "LILO User's Guide"-ot is |lilo-u-21.ps.gz| (vagy egy jabb
      verzi). Taln mr megvan neked ez a dokumentum. Nzd meg a
      |/usr/doc/lilo| vagy valami hasonl helyen. A postscript verzi
      jobb, mint a sima szveg, mivel diagramokat s tblzatokat is
      tartalmaz.
    * A tomsrtbt <http://www.toms.net/rb>, a legjobb egyfloppy-s
      disztribci. Nagyon j mentlemezknt is.
    * A Bootdisk HOWTO <http://www.tldp.org/HOWTO/Bootdisk-HOWTO/>
      (Indtlemez HOGYAN)


    4. A Linux kernel

A kernel valjban nagyon sok mindent csinl. gy gondolom j
sszefoglalsa a dolgoknak az, hogy rveszi a hardvert, azt tegye amit a
programok akarnak, mghozz hatkonyan s jl.

A processzor egyszerre csak egy utastst tud vgrehajtani, de a Linux
rendszerek ltszlag tbb dolgot is vgeznek egyszerre. A kernel ezt gy
ri el, hogy nagyon gyorsan vltogatja a feladatokat. Ezzel a lehet
legjobban ki lehet hasznlni a processzort, gy, hogy kvetjk melyik
folyamat ksz a futsra, s melyik vrakozik valamire - mint pldul egy
rekordra egy merevlemez fjlbl, vagy egy billenty letsre. Ezt
nevezik temezsnek (scheduling).

Ha egy program nem csinl semmit, nem kell a memriban lennie. Mg egy
olyan programnak is ami csinl valamit, lehet, hogy vannak olyan rszei
amik nem csinlnak semmit. Mindegyik folyamat (process) cmzsi
tartomnya fel van osztva lapokra. A kernel nyilvntartja, melyik
folyamat melyik lapja van a legtbbet hasznlva. Azokat a lapokat, amik
kevsb hasznltak, ki lehet helyezni a csere (swap) partcira. Amikor
megint szksg van rjuk, egy msik nem hasznlt lapot lehet kihelyezni.
Ez a virtulis memriakezels.

Ha mr fordtottl sajt kernelt, szrevehetted milyen sok az
eszkzfgg bellts. A kernel sok egyedi kdot tartalmaz, a klnbz
hardverekkel trtn kommuniklshoz, valamint hogy szp egysges
felletet mutasson az alkalmazsok fel.

Szintn a kernel irnytja a fjlrendszert, a folyamatok kztti
kommunikcit, s egy csom hlozati dolgot.

Amikor a kernel betltdtt, az els dolog amit csinl, hogy egy
"|init|" programot keres s lefuttaja.


    4.1 Bellts

A kernel belltsnak legnagyobb rsze akkor trtnik, amikor futtatod
a "|make menuconfig|"-ot vagy a "|make xconfig|"-ot az |/usr/src/linux/|
knyvtrban, (vagy brhol mshol, ahol a Linux kernel forrskd van).
jra tudod lltani az alaprtelmezett video mdot, gykr (root)
fjlrendszert, csere (swap) eszkzt s a RAM disk mrett, ha az
"|rdev|"-et hasznlod. Ezeket - vagy mg tbb paramtert - a lilo is t
tud adni a kernelnek. Adhatsz a lilo-nak paramtereket a lilo.conf
fjlban, vagy a lilo promptjnl, hogy tadja ezeket az informcikat.
Pldul ha a hda3-at akarod hasznlni mint root fjlrendszert a hda2
helyett, begpelheted hogy:

        LILO: linux root=/dev/hda3

Ha forrsbl ptesz rendszert, sokkal egyszerbb teheted az letet, ha
"monolitikus" kernelt csinlsz. Ez azt jelenti, hogy nincsenek moduljai.
Ekkor nem kell kernel modulokat msolni a cl rendszerbe.

FIGYELEM: A |System.map| fjlt a kernel logger (naplz) hasznlja, hogy
meghatrozza a modulneveket generl zeneteket. A |top| nev program
szintn hasznlja ezt az informcit. Amikor a kernelt a clrendszerbe
msolod, msold t a "|System.map|"-ot is.


    4.2 Gyakorlatok

Egy kis gondolkodnival: a |/dev/hda3| egy klnleges fjl, ami ler egy
merevlemez particit. De egy olyan fjlrendszeren van, mint brmelyik
msik fjl. A kernel meg akarja tudni, hogy melyik particit csatolja
fel (mount), mint gykr fjlrendszert - de mg nincs is fjlrendszere.
Mgis hogyan tudja olvasni a |/dev/hda3| partcit, hogy megtudja melyik
lemezrszt csatolja?

Ha mg nem tetted meg, kszts sajt kernelt. Olvass el minden
sginformcit az opcikhoz.

Prbld ki, mekkora a legkisebb kernel ami mg mkdik. Sokat tanulhatsz
abbl, ha kihagyod a felesleges dolgokat!

Olvasd el a "The Linux Kernel"-t (URL albb), s kzben keresd meg a
forrskd azon rszeit, amire hivatkozik. A knyv (amint ezt rom) a
2.0.33-as kernel verzival foglalkozik, ami elg reg mr. Knnyebb
kvetni, ha letltd ezt az reg verzit, s ott olvasod a forrst.
Fantasztikus rzs "process" s "page" nev C kddarabokat tallni.

Hackelj! Prblj meg extra zeneteket vagy valami mst kiratni.


    4.3 Tovbbi informci

    * |/usr/src/linux/README| s a |/usr/src/linux/Documentation/|
      tartalma (Lehet, hogy ezek mshol vannak a Te rendszereden)
    * Kernel HOWTO
      <http://mirror.aarnet.edu.au/linux/LDP/HOWTO/Kernel-HOWTO.html>
      (Kernel HOGYAN)
    * A kernel belltsakor olvashat segtsg a |make menuconfig| vagy
      |make xconfig| hasznlatakor
    * The Linux Kernel (s ms LDP tmutatk)
      <http://mirror.aarnet.edu.au/linux/LDP/LDP/> (A Linux Kernel)
    * forrskd, lsd a Building a Minimal Linux System from Source Code
      <http://www.netspace.net.au/~gok/power2bash> (Minimlis Linux
      rendszer ptse forrsbl) doksit URL-ekrt


    5. A GNU C knyvtr

A kvetkez dolog, ami a szmtgp bekapcsolsakor trtnik, hogy
betltdik s lefut az init. Azonban az init - mint majdnem minden
program - fggvnyeket hasznl ms knyvtrakbl.

Taln mr lttl C nyelv pldaprogramot, mint ez is:

        main() {
                printf("Hello World!\n");
        }

A programban nincs lerva mi az a "|printf|", honnan is jn ez? Ez a
standard C knyvtrakbl - egy GNU/Linux rendszeren a glibc - szrmazik.
Ha Visual C++ alatt fordtod le, akkor ugyanannak a standard fggvnynek
a Microsoftos vltozatbl jn. Millirdnyi van ezekbl a standard
fggvnyekbl a matematikhoz, stringekhez, dtumhoz/idhz,
memriafoglalshoz s gy tovbb. A Unix (belertve a Linuxot) alatt
minden vagy C-ben van rva, vagy nagyon gy kell tennie mintha abban
lenne rva. Egyszval minden program tudja hasznlni ezeket a fggvnyeket.

Ha belenzel a |/lib| knyvtrba, sok olyan fjlt fogsz ltni, amit
|libvalami.so|-nak vagy |libvalami.a|-nak hvnak. Ezek a fggvnyek
knyvtrai. A glibc csak a GNU vltozata ezeknek a fggvnyeknek.

Kt mdon hasznlhatjk a programok ezeket a fggvnyknyvtrakat. Ha
/statikusan/ kapcsoldnak egy programhoz, ezek a fggvnyek
belemsoldnak a vgrehajthat fjlba, amikor ltrejn. Ez az, amire a
|libvalami.a| knyvtrak valk. Ha /dinamikusan/ kapcsoldnak egy
programhoz (ez az alaprtelmezs), akkor amikor a program fut s
szksge van a fggvny kdjra, meghvja azt a |libvalami.so| fjlokbl.

Az "|ldd|" parancsra van szksged, ha meg akarod tudni, melyik
fggvnyknyvtrat hasznlja egy bizonyos program. Itt vannak pldul
azok a fggvnyknyvtrak, amiket a "|bash|" hasznl:

        [greg@Curry power2bash]$ ldd /bin/bash
                libtermcap.so.2 => /lib/libtermcap.so.2 (0x40019000)
                libc.so.6 => /lib/libc.so.6 (0x4001d000)
                /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)


    5.1 Bellts

Nhny a knyvtrakban lv fggvny attl fgg, hogy helyileg hol vagy.
Pldul mi itt Ausztrliban a dtumokat gy rjuk: nn/hh/, de az
amerikaiak hh/nn/ -et rnak. Van egy program ami a "|glibc|" csomagban
van, "|localedef|" a neve. Ez lehetv teszi ezek belltst.


    5.2 Gyakorlatok

Hasznld az "|ldd|" parancsot, hogy megtudd, milyen programknyvtrakat
hasznlnak a kedvenc alkalmazsaid.

Hasznld az "|ldd|"-t arra, hogy megtudd, milyen knyvtrakat hasznl az
"|init|".

Kszts egy jtk knyvtrat, egy vagy kt fggvnnyel. Az "|ar|"
programmal lehet ltrehozni ket. Az "|ar|" kziknyv-oldalbl
megtudhatod ennek menett. rj, fordts le s csatolj egy programot ami
ezt a knyvtrat hasznlja.


    5.3 Tovbbi informci

    * forrskd, lsd a Building a Minimal Linux System from Source Code
      <http://www.netspace.net.au/~gok/power2bash> doksit URL-rt


    6. Init

Csak a "System V" stlus "init"-rl beszlek, amit a Linux rendszerek a
leginkbb hasznlnak. Vannak ms megoldsok is. Valjban brmilyen
programot berakhatsz az |/sbin/init|-be, amit a kernel le fog futtatni,
amint betltdtt.

Az "|init|" feladata, hogy minden gy mkdjn ahogy kell. Leellenrzi a
fjlrendszereket s felcsatolja ket. Lefuttatja a "dmonokat", hogy
naplzzk a rendszerzeneteket, hlzatkezelst csinljanak,
kiszolgljanak web oldalakat, figyeljenek az egeredre stb. Szintn ez
indtja a getty folyamatokat, amik kirakjk a bejelentkez (login)
promptot a virtulis terminlodra.

Van egy nagyon kompliklt trtnet a "futsi szintek" (run-levels)
kztti kapcsolsrl, de a legnagyobb rszt kihagyom, s csak a
rendszer indulsrl beszlek.

Az" init" beolvassa az |/etc/inittab| fjlt, ez rja le mit csinljon.
ltalban elszr lefuttat egy inicializl szkriptet. A program, ami
vgrehajtja (soronknt) ezt a szkriptet, a bash, ugyanaz a program ami
kirja a parancssorodat. Debian rendszereken az inicializl szkript az
|/etc/init.d/rcS|, Red Hat-en a |/etc/rc.d/rc.sysinit|. Ez az, ami a
fjlrendszereket leellenrzi s felcsatolja, belltja az rt s a
csere (swap) terletet, belltja a gp hlzati nevt (hostname) stb.

Ezutn egy msik szkript indul el, ami elvisz az alaprtelmezett futsi
szintre. Ez csak annyit jelent, hogy elindul nhny alrendszer. Van egy
pr knyvtr, az |/etc/rc.d/rc0.d, /etc/rc.d/rc1.d, ...,
/etc/rc.d/rc6.d| Red Hat alatt, vagy az |/etc/rc0.d , /etc/rc1.d, ...,
/etc/rc6.d| Debian alatt, ami a futsi szintekhez tartozik. Ha a 3-as
futsi szinten vagyunk Debianban, akkor a szkript lefuttatja az sszes
"S"-el (start rvidtse) kezdd szkriptet az |/etc/rc3.d|-ben. Ezek a
szkriptek valjban csak linkek ms szkriptekhez egy msik knyvtrban,
amit ltalban "|init.d|"-nek hvnak.

Teht az "|init|" meghvja a futsi szint (run-level) szkriptnket, s
ms "S"-el kezdd szkripteket keres egy knyvtrban. Megtallhatja
elsknt az |S10syslog|-ot. A szmok megmondjk a (run-level)
szkriptnek, milyen sorrendben futtassa le ket. Ebben az esetben az
|S10syslog| hajtdik vgre elszr, mivel nincs S00 ... S09 kezdet
szkript. De az |S10syslog| valjban csak egy link az
|/etc/init.d/syslog|-hoz, ami egy rendszernaplzst (system logger)
elindt s lellt szkript. Mivel a link "S"-el kezddik, a
(run-level) szkript tudja, hogy vgre kell hajtania a |syslog|-ot egy
"start" paramterrel. Vannak ennek megfelel, "K"-val (kill - meglni)
kezdd linkek, amik meghatrozzk, mi s milyen sorendben legyen
lelltva, amikor elhagyjuk a futsi szintet.

Ha meg akarod vltoztatni az alrendszerek alaprtelmezett indtst,
ltre kell hoznod ezeket a linkeket az |rcN.d| knyvtrban, ahol N az
alaprtelmezett futsi szint az |inittab| fjlodban.

Az utols fontos dolog, amit az "init" csinl, hogy elindt pr
|getty|-t. Ezek "respawned" llapotak, ami azt jelenti, hogy ha
lellnak, akkor az "|init|" egyszeren jraindtja ket. A legtbb
disztribuci hat virtulis terminlt indt. Lehet, hogy kevesebbet
akarsz a memsprols rdekben, vagy tbbet, amivel egy csom dolgot
hagyhatsz futni s gyorsan vltogathatsz kztk ha szksged van rjuk.
Lehet, hogy akarsz majd futtatni egy |getty|-t szveges terminlnak vagy
modemes betrcszshoz. Ebben az estben t kell szerkesztened az
|inittab| fjlodat.


    6.1 Bellts

A |/etc/inittab| az "init" legfels szint konfigurcis fjlja.

Az |rcN.d| knyvtrak, ahol N = 0, 1, ..., 6, hatrozzk meg, milyen
alrendszerek indulnak el.

Valahol az "init" ltal elindtott szkriptekben, a |mount -a| parancs
kerl vgrehajtsra. Ez annyit jelent, hogy felcsatoldik az sszes
fjlrendszer, aminek fel kell csatoldnia. Ez az |/etc/fstab| fjlban
van lerva. Ha meg akarod vltoztatni, hogy hova s mi csatoldjon,
amikor a rendszered elindul, ezt a fjlt kell tszerkesztened. Az
|fstab| fjlnak van egy kziknyv (man) oldala is.


    6.2 Gyakorlatok

Keresd meg alaprtelmezett futsi szintedhez tartoz |rcN.d|
knyvtradat s adj ki egy |ls -l| parancsot, hogy lsd milyen fjlokhoz
kapcsoldnak a linkek.

Vltoztasd meg a rendszereden fut getty-k szmt.

Trlj minden alrendszert, amire nincs szksged, az alaprtelmezett
futsi szinten.

Nzd meg, milyen kzel jutottl a kezdshez.

Telepts egy floppy-ra lilo-t, kernelt s egy statikusan linkelt "hello
world" programot, amit nevezz el |/sbin/init|-nek, s figyeld ahogy
bebootol s kirja: hello.

Nzd figyelmesen a rendszered indulst s jegyzetelj, milyen zeneteket
r ki arrl ami trtnik. Esetleg nyomtass ki egy rszt a
rendszernaplbl (|/var/log/messages|). Ezutn az |inittab|-bal kezdve,
fusd t az sszes szkriptet s figyeld meg, melyik kdrszlet mit
csinl. Berakhatsz extra start zeneteket is, mint pldul:

        echo "Hello, en vagyok a rc.sysinit"

Ez j gyakorlat arra is, hogy megtanuld a Bash shell alatti
szkriptrst. A szkriptek kzl nhny elgg kompliklt. Legyen kznl
egy j Bash referenciaknyv.


    6.3 Tovbbi informci

    * Ltezik kziknyv-oldal az |inittab| s |fstab| fjlokhoz.
      Megnzheted a "|man inittab|" begpelsvel.
    * A Linux System Administrators Guide tartalmaz egy j rszt
      <http://mirror.aarnet.edu.au/linux/LDP/LDP/> az init-rl.
    * forrskd, lsd a Building a Minimal Linux System from Source Code
      <http://www.netspace.net.au/~gok/power2bash> doksit URL-rt.


    7. A fjlrendszer

Ebben a fejezetben a fjlrendszer szt kt klnbz rtelemben fogom
hasznlni. Vannak fjlrendszerek a lemez particikon s ms eszkzkn,
s van egy fjlrendszer, amit a fut Linux all ltsz. A Linuxban
"felcsatolod" (mount) a lemezes fjlrendszereket az opercis rendszer
fjlrendszerre.

Az elz fejezetben megemltettem, hogy az" init" szkriptek leellenrzik
s felcsatoljk a fjlrendszereket. Ezt az "|fsck|" s a "|mount|"
parancsok vgzik el.

A merevlemez csak egy nagy trhely, ahova egyeseket s nullkat rhatsz.
A fjlrendszer erre rrak egy szerkezetet, s ettl nz ki gy, mintha
fjlok lennnek knyvtrakon bell s azok is tovbbi knyvtrakon
bell... Minden fjlnak van egy ler tblja (inode), ami nyilvntartja
ki a fjl, mikor hoztk ltre s hol vannak a rszei. A knyvtrakat is
inode-ok rjk le, de ezekben a troldik, hogy hol tallhatk azoknak a
fjloknak az inode-jai, amik a knyvtrban vannak. Ha a rendszer olvasni
akarja a |/home/greg/bigboobs.jpeg| fjlt, elszr megkeresi a gykr
(root) / knyvtr ler tbljt a "superblock"-ban, ezutn megkeresi a
/ tartalmban lv |home| knyvtr inode-jt, ezutn megkeresi a |/home|
tartalmban lv |greg| knyvtr inode-jt, ezutn megkeresi a
|bigboobs.jpeg| ler tbljt, ami jelzi melyik lemezblokkot kell olvasnia.

Ha hozzfznk egy kis adatot egy fjl vghez, megeshet, hogy elszr
az adat rdik ki, mieltt a ler tbla frisslne (ami jelezn, hogy az
j blokkok a fjlhoz tartoznak), vagy fordtva. Ha ezen a ponton
ramsznet kvetkezik be, megsrlhet a fjlrendszer. Ez az a dolog,
amit az "|fsck|" megprbl felderteni s kijavtani.

A "mount" parancs egy eszkzn lv fjlrendszert hozzad a hasznlatban
lv rendszered hierarchijhoz. ltalban a kernel csak olvashat
mdban csatolja fel a (root) fjl rendszert. A "mount" parancsot
hasznljk arra, hogy jra felcsatoljk rhat-olvashat mdban, miutn
az "|fsck|" leellenrizte, hogy minden rendben.

A Linux tmogat msfajta fjlrendszereket is: msdos, vfat, minix stb.
Egy bizonyos fjlrendszer rszletei el vannak vonatkoztatva egy
virtulis fjlrendszerre (VFS). Nem megyek bele a rszletekbe, van egy
vita errl a "A Linux Kernel"-ben (lsd a A Linux Kernel fejezetet
<#Kernel> URL-rt).

Egy teljesen ms fjlrendszer csatoldik be a |/proc| knyvtrba.
Valjban ez csak a kernelben lv dolgok megjelentse. Mindegyik - a
rendszerben fut folyamatnak (process) - van egy knyvtra, ahol a
folyamat szma a knyvtr neve. Vannak ott fjlok is, mint pldul
|interrupts| (megszaktsok) s |meminfo|, amik elruljk, hogy hogyan
hasznlja a gp a hardvert. Nagyon sokat tanulhatsz a |/proc|
felfedezse kzben.


    7.1 Bellts

Vannak az "|mke2fs|" parancsnak (ami ext2 fjlrendszert hozza ltre)
paramterei is. Ezek ellenrzik a blokkok mrett, a ler tblk
(inode) szmt stb. Olvasd el az "|mke2fs|" kziknyv-oldalt rszletekrt.

Hogy mi hova csatoldik a fjlrendszereden, az |/etc/fstab| fjlban dl
el. Ennek is van kziknyv-oldala.


    7.2 Gyakorlatok

Kszts egy nagyon kicsi fjlrendszert, s nzd meg egy hexa editorral.
Azonostsd az inode-okat, szuperblokkokat s a fjl sszetevket.

Biztos vagyok benne, vannak eszkzk amik visszadjk a fjlrendszered
grafikus kinzett. Keress egyet, prbld ki, s kldj egy URL-t s
lerst nekem e-mailben!

Nzd meg az ext2 fjlrendszer kdjt a kernelben.


    7.3 Tovbbi informci

    * A "The Linux Kernel" cm LDP knyv 9. fejezete kitn lerst ad
      a fjlrendszerekrl. Megtallhatod pldul. a TLDP egyik ausztrl
      tkroldaln <http://mirror.aarnet.edu.au/linux/LDP/LDP/>.
    * A "|mount|" parancs az util-linux csomag rsze, van egy hivatkozs
      hozz a Building a Minimal Linux System from Source Code
      <http://www.netspace.net.au/~gok/power2bash> doksiban.
    * A "|mount|, "|fstab|", "|fsck|"," |mke2fs|" s a |proc|
      kziknyv-oldalai.
    * A |Documentation/proc.txt| fjl a Linux forrsban elmagyarzza a
      |/proc| fjlrendszert.
    * Az EXT2 fjlrendszer segdprogramjai, az ext2fsprogs
      <http://web.mit.edu/tytso/www/linux/e2fsprogs.html> honlapja, vagy
      az ext2fsprogs
      <ftp://mirror.aarnet.edu.au/pub/linux/metalab/system/filesystems/ext2/>
      ausztrl tkroldal. Itt van mg egy Ext2fs-ttekints, br mr
      rgi s nem olyan olvasmnyos, mint a "The Linux Kernel" 9. fejezete.
    * Unix Fjlrendszer Standard
      <ftp://tsx-11.mit.edu/pub/linux/docs/linux-standards/fsstnd/>.
      Msik link <http://www.pathname.com/fhs/> a Unix Fjlrendszer
      Standard-hoz. Ez lerja, minek hova kell kerlnie egy Unix
      fjlrendszerben, s mirt. Szintn ebben tallhat egy lers
      arrl, hogy a |/bin|, |/sbin| stb. knyvtraknak mit kell
      tartalmaznia. J referencia, ha a clod egy minimlis, mgis
      teljes rendszer megptse.


    8. Kernel dmonok

Ha kiadod a "|ps aux|" parancsot, valami ehhez hasonlt fogsz ltni:

USER       PID %CPU %MEM  SIZE   RSS TTY STAT START   TIME COMMAND
root         1  0.1  8.0  1284   536   ? S    07:37   0:04 init [2]
root         2  0.0  0.0     0     0   ? SW   07:37   0:00 (kflushd)
root         3  0.0  0.0     0     0   ? SW   07:37   0:00 (kupdate)
root         4  0.0  0.0     0     0   ? SW   07:37   0:00 (kpiod)
root         5  0.0  0.0     0     0   ? SW   07:37   0:00 (kswapd)
root        52  0.0 10.7  1552   716   ? S    07:38   0:01 syslogd -m 0
root        54  0.0  7.1  1276   480   ? S    07:38   0:00 klogd
root        56  0.3 17.3  2232  1156   1 S    07:38   0:13 -bash
root        57  0.0  7.1  1272   480   2 S    07:38   0:01 /sbin/agetty 38400 tt
root        64  0.1  7.2  1272   484  S1 S    08:16   0:01 /sbin/agetty -L ttyS1
root        70  0.0 10.6  1472   708   1 R   Sep 11   0:01 ps aux

Ez a rendszerben fut folyamatok listja. Az informci a |/proc|
fjlrendszerbl (amit az elz rszben mr emltettem) szrmazik.
Figyeld meg, hogy az "|init|" az egyes szm folyamat. A "kflushd",
"kupdate", "kpiod" s a "kswapd" a 2, 3, 4 s 5-s szm folyamatok. Van
azonban valami furcsa: nzd meg mind a virtulis trolsi mret (SIZE),
mind a valdi trolsi mret (RSS) nev oszlopokat. Ezeknl a
folyamatoknl nullk szerepelnek. Hogyhogy egy folyamat nem hasznl
memrit?

Ezek a folyamatok a kernel dmonok. A kernel legnagyobb rsze egyltaln
nem mutatkozik a folyamatlistkon. Csak gy tallhatod ki mennyi
memrit hasznlnak, ha kivonod a gpben lv memribl a rendelkezsre
ll memria mennyisgt. A kernel dmonok az "init" utn indulnak el,
gy kapnak folyamatszmot ugyangy, mint a norml folyamatok. De a
kdjuk s adataik a kernel rszre lefoglalt memriban van.

A COMMAND oszlop bejegyzseinl zrjelek vannak, mivel a |/proc|
fjlrendszer nem tartalmaz parancssori informcikat ezekrl a
folyamatokrl.

Teht mire is valk ezek a kernel dmonok? E dokumentum elz verziiban
volt egy segtsgkr rsz, mivel nem tudtam sokat rluk. A kvetkez
trtnet az erre adott vlaszokbl (amirt nagyon hls vagyok) lett
sszerakva. Szvesen fogadom a tovbbi okostsokat, referencikat s
kiigaztsokat!

A bevitel s kivitel /puffereken/ (buffers) keresztl trtnik a
memriban. Ettl gyorsabban mennek a dolgok. Amit a programok rnak, a
memriban lehet tartan - egy pufferben - ezutn nagyobb (hatkonyabb)
darabokban lehet a lemezre rni. A "|kflushd|" s "|kupdate|" dmonok
ezt a munkt vgzik: a "|kupdate|" periodikusan lefut (5
msodpercenknt?), hogy leellenrizze van-e hasznlt puffer (dirty
buffers). Ha igen, utastja a "|kflushd|" dmont, hogy rja ki ket a
lemezre.

A folyamatoknak gyakran semmi dolguk, s azoknak amik ppen futnak,
gyakran nincs arra szksgk, hogy az ssszes kdjukat s adataikat a
memriban tartsk. Ez azt jelenti, hogy jobb hasznt vesszk a
memrinknak, ha a fut programok ppen nem hasznlt rszeit kirjuk a
merevlemez csere (swap) partcijra. Az adat szksges ki- s
bemozgatst a memriba (-bl) a "|kpiod|" s a "|kswapd|" vgzi.
Minden msodpercben vagy valahogy gy, a "|kswapd|" felbred, hogy
leellenrizze a memria helyzett, s ha szksg van valamire a
memriban - ami a lemezen tallhat - vagy nincs elg szabad memria, a
"|kpiod|" hvdik meg.

Lehet, hogy a "|kapmd|" dmon is fut a rendszereden, ha az automatikus
ramgazdlkods (automatic power management) be van fordtva a kerneledbe.


    8.1 Bellts

Az "|update|" programal lehet belltani a "|kflushd|" s a "|kswapd|"
dmonokatt. Prbld az "|update -h|" parancsot kiadni valami informcirt.

A csere partcit be lehet kapcsolni a "|swapon|", s ki lehet kapcsolni
a "|swapoff|" paranccsal. Az init szkript (|/etc/rc.sysinit| vagy
|/etc/rc.d/rc.sysinit|) ltalban meghvja a "|swapon|"-t, amint a
rendszer elindul. Azt mondtk nekem, hogy a "|swapoff|" praktikus, ha
ramot akarunk sprolni laptopon.


    8.2 Gyakorlatok

Csinlj egy |update -d|-t, s figyeld a dumt az utols sorban a
"threshold for buffer fratricide"-rl. Most mr van egy rdekes
fogalmad, jrj utna!

Lpj be a |/proc/sys/vm| knyvtrba s adj ki egy "|cat|" parancsot az
ott lv fjlokra. Figyeld meg, mi mindenre tudsz rjnni ezltal.


    8.3 Tovbbi informci

A Linux Dokumentcis Projekt "The Linux Kernel" dokumentuma (lsd A
Linux kernel <#Kernel> fejezetet URL-rt)

A Linux kernel forrskdja, ha elg btor vagy! A "|kswapd|" kdja a
|linux/mm/vmscan.c|-ben, a "|kflushd|" s "|kupdate|" kdja pedig a
|linux/fs/buffer.c| fjlban van.


    9. Rendszernaplz

Az "init" elindtja a "|syslogd|" s a "|klogd|" dmonokat. Ezek
zeneteket rnak a naplfjlokba. A kernel zeneteit a "|klogd|" kezeli,
mg a "|syslogd|" ms folyamatok zeneteit intzi. A f naplfjl a
|/var/log/messages|. Jl teszed, ha elszr itt keresel ha valami baj
van a rendszereddel. Gyakran tallhat ott egy fontos nyom.


    9.1 Bellts

Az |/etc/syslog.conf| fjl rja le a naplzknak, hogy milyen zenetet
hova rjanak. Az zeneteketet az azonostja, hogy milyen folyamattl s
milyen prioritssal rkeznek. Ez a fjl olyan sorokbl ll, amik jelzik,
hogy az x folyamattl y prioritssal rkez zenetek z-hez menjenek,
ahol z lehet egy fjl, tty, nyomtat, tvoli gyfl (remote host) vagy
brmi ms.

FIGYELEM: A Syslognak szksge van az |/etc/services| fjlra. A services
fjl portokat jell ki. Nem vagyok benne biztos, hogy a syslognak kell
egy port, amivel gy tud naplfjlt kszteni tvoli gpre is (remote
logging), vagy ahhoz is egy portra van szksg, hogy a helyi gpre
naplfjlt ksztsen (local logging), vagy csak az |/etc/services|-t
hasznlja, hogy az ltalad bert folyamatneveket az |/etc/syslog.conf|
port szmokk konvertlja.


    9.2 Gyakorlatok

Vess egy pillantst a rendszernapldra. Keress egy zenetet amit nem
rtesz, s talld ki mit jelent.

Kld ki az zeneteidet egy tty-re. (lltsd vissza miutn megcsinltad)


    9.3 Tovbbi informci

Ausztrl sysklogd tkr
<http://mirror.aarnet.edu.au/pub/linux/metalab/system/daemons/>


    10. Getty s bejelentkezs

A getty program teszi lehetv, hogy bejelentkezzhess egy soros eszkzn
keresztl mint pldul egy virtulis terminl, szveges terminl, vagy
egy modem. Kirja a bejelentkez parancssort (login prompt). Miutn
bertad a felhasznli nevedet, a getty tadja azt a "|login|"-nak, ami
megkrdezi a jelszt, leellenrzi, s ad egy shellt.

Sok hasznlhat getty van. Nhny disztribuci- belertve a Red Hat-et -
egy nagyon kicsit hasznlnak, aminek a neve "|mingetty|", ez csak
virtulis terminlokkal mkdik.

A "|login|" program az util-linux csomag rsze, amiben tallhat egy
msik getty is, aminek "|agetty|" a neve, s jl mkdik. Szintn ebben
a csomagban van az |"mkswap", "fdisk", "passwd", "kill", "setterm",
"mount", "swapon", "rdev", "renice", "more"| s mg sok ms program.


    10.1 Bellts

Az zenet, amit a kpernyd tetejn ltsz a login prompt-al egytt, az
|/etc/issue| fjlbl szrmazik. A getty-kat ltalban a
|/etc/inittab|-bl indtjuk. A login a felhasznli jellemzket a
|/etc/passwd|-ben ellenrzi, illetve, ha rnykjelszavakat hasznlsz, a
|/etc/shadow|-ban.


    10.2 Gyakorlatok

Kszts "kzzel" egy |/etc/passwd| fjlt. A jelszavak resek lehetnek,
s a "|passwd|" programmal vltoztathatod meg, ha belpsz. Lsd a fjl
kziknyv- oldalt. Hasznld a "|man 5 passwd|" parancsot ehhez, hogy ne
a program, hanem a fjl kziknyvt kapd meg.


    11. Bash

Ha adsz a "|login|"-nak egy rvnyes felhasznli nv - jelsz prost,
ellenrzi azt az |/etc/passwd| llomnyban, hogy megtudja melyik shell-t
indtsa el neked. Linux rendszeren ez legtbbszr a "|bash|". A "|bash|"
dolga a parancsaid rtelmezse, illetve gondoskodni ezek
vgrehajtsrl. Egyszerre felhasznli fellet s
programnyelv-rtelmez (programming language interpreter - a lektor).

Mint felhasznli fellet beolvassa parancsaidat, s vgre is hajtja
ezeket - amennyiben un. "bels" parancsok, mint pldul a "|cd|" -
illetve megkeresi s futtatja a programot, - ha az egy un. "kls"
parancs, mint pldul a "|cp|" vagy a "|startx|". Olyan megszokott
dolgokat is csinl, mint pldul megjegyzi az elzleg kiadott
parancsokat valamint kiegszti a fjlneveket.

Mr lttuk a "|bash|"-t mkdni, mint programnyelv-rtelmez. A
szkriptek, amiket az "|init|" a rendszer elindtsrt futtat, ltalban
shell szkriptek, amelyeket a "|bash|" hajt vgre. Egy rendes
programnyelv, a szoksos parancssoros rendszereszkzkkel nagyon hatsos
kombincit alkot, ha tudod mit csinlsz. Pldul sokat kellett
foltoznom (patch - a ford.) egy knyvtrnyi forrskdon a minap. Mindezt
egyetlen sorral vgre tudtam hajtani:

for f in /home/greg/sh-utils-1.16*.patch; do patch -p0 < $f; done;

Ez megvizsglja az sszes olyan fjlt a home knyvtramban, aminek a
neve "|sh-utils-1.16|"-al kezddik, s "|.patch|"-el vgzdik. Mindezt
ciklusban teszi, belltja az "|f|" vltozt, majd vgrehajtja a "|do|"
s "|done|" kztti parancsot. Ebben az esetben 11 folt volt, de knnyen
lehetett volna akr 3000 is.


    11.1 Bellts

Az |/etc/profile| fjl hatrozza meg a bash viselkedst/mkdst a
teljes rendszerre vonatkozan. Amit ide beraksz, az hatssal lesz
mindenkire, aki a bash shellt hasznlja a rendszereden. Klnbz
dolgokat fog csinlni, pldul knyvtrakat ad hozz a "|PATH|"-hoz,
vagy belltja a "|MAIL|" krnyezeti vltozt.

A billentyzet alapbelltsa gyakran kvnnivalt hagy maga utn. A
readline az, ami ezt irnytja. Ez egy klnll csomag, ami a
parancssori csatolfelletet irnytja, rendelkezsre bocstja a
parancssori trtnetet (command history) s fjlnv-kiegsztst,
csakgy mint nhny fejlettebb sorszerkesztsi mdot. Ez bele van
szerkesztve a bash-ba. Alaprtelmezsknt a readline a home
knyvtradban lv |.inputrc| fjl hasznlatra van belltva. Az
INPUTRC vltoz hasznlhat arra, hogy a bash szmra fellrjuk ezt.
Pldul a Red Hat 6 rendszerben az "|INPUTRC|" rtke |/etc/inputrc| az
|/etc/profile| fjlban. Ez azt jelenti, hogy a backspace, delete, home
s end billentyk mindenkinek nagyszeren mkdnek.

A bash a teljes rendszerre vonatkoz belltsok beolvassa utn a
szemlyes belltsokat tartalmaz fjlt keresi meg. Ellenrzi a home
knyvtradat, |.bash_profile|, |.bash_login| s |.profile| fjlok utn
kutatva. Ezek kzl az els ltezt futtatja. Ha a bash mkdsn
szeretnl vltoztatni gy, hogy a tbbiekre ne legyen hatssal, akkor
azt itt tedd meg. Pldul sok alkalmazs krnyezeti vltozkat hasznl a
mkdsnek belltsra. Nekem van egy "|EDITOR|" vltozm, ami a
"|vi|" programra van belltva, gy n ezt hasznlhatom a Midnight
Commanderben (egy kivl karakteres fjlkezel) az  sajt
szvegszerkesztje helyett.


    11.2 Gyakorlatok

A bash alapjait knny megtanulni. De ne llj meg itt: hihetetlen
mlysgei vannak. Tedd szoksodd, hogy mindig jobb utat keresel egy
dolog vghezvitelre.

Olvass shell szkripteket, keresd meg azokat a rszeket, amelyeket nem
rtesz.


    11.3 Tovbbi informci

    * Ltezik egy "Bash Reference Manual" (Bash referencia kziknyv)
      amely rszletes, de nehezen rthet
    * Van egy O'Rielly knyv amely a Bash-rl szl, de nem vagyok biztos
      abban, hogy ez j
    * n nem ismerek tbb szabadon hasznlhat, j s napraksz
      ismertett a "bash"-rl. Ha Te igen, krlek kld el nekem
      e-mailben az URL-t
    * forrskdokra mutat hivatkozsokrt ltogass el a Building a
      Minimal Linux System from Source Code
      <http://www.netspace.net.au/~gok/power2bash> honlapra


    12. Parancsok

A legtbb dolgot a bash-ban olyan parancsok segtsgvel vgezheted el,
mint a |cp|. Ezen parancsok legtbbje kis program, br van nhny -
pldul a "|cd|" - amely be van ptve a shell-be.

A parancsok csomagokban vannak, legtbbjket a Free Software Foundation
(Szabad Szoftver Alaptvny) kszti. Ahelyett, hogy itt felsorolnm a
csomagokat, tirnytalak a Linux From Scratch HOWTO
<http://www.linuxfromscratch.org> (Linux a kezdetektl HOGYAN) honlapra.
Ez egy teljes s frissen tartott listja a Linux rendszerben lv
csomagoknak, valamint tmutats ahhoz, hogyan ksztsk el ezeket.


    13. Befejezs

Az egyik legjobb dolog a Linuxban - szerny vlemnyem szerint - hogy a
belsejbe nzhetsz s megtudhatod miknt mkdik. Remlem, legalbb
annyira lvezed ezt mint n, s ez kis jegyzet segt abban, hogy ezt
megtedd.


    14. Adminisztrci


    14.1 Szerzi jog

Eme dokumentum szerzi jogait (c) 1999, 2000 Greg O'Keefe birtokolja.
Djazs nlkl hasznlhatod, msolhatod, terjesztheted vagy mdosthatod
a GNU General Public Licence <http://www.gnu.org/copyleft/gpl.html>
felttelei szerint. Krlek emltsd meg nevem, amennyiben ezt a
dokumentumot rszben vagy egszben felhasznlod egy msik dokumentumban.


    14.2 Magyar fordts

A magyar fordtst Koller Csaba <mailto:ckoller@mailbox.hu_NO_SPAM>
ksztette (2002.11.25). A lektorlst Daczi Lszl
<mailto:dacas@freemail.hu_NO_SPAM> s Szjjrt Lszl
<mailto:laca@janus.gimsz.sulinet.hu_NO_SPAM> vgezte el (2003.07.18).
Brmilyen fordtssal kapcsolatos szrevtelt a linuxhowto@sch.bme.hu
<mailto:linuxhowto@sch.bme.hu_NO_SPAM> cmre kldjetek. Eme dokumentum
legfrissebb vltozata megtallhat a Magyar Linux Dokumentcis Projekt
<http://tldp.fsf.hu/index.html> honlapjn.


    14.3 Honlap

A dokumentum legutols vltozatt a From Powerup To Bash Prompt
<http://www.netspace.net.au/~gok/power2bash> honlapon tallod meg,
csakgy mint a prjt, a "Building a Minimal Linux System from Source
Code" lerst.

A francia fordts a From Powerup To Bash Prompt
<http://www.freenix.fr/unix/linux/HOWTO/From-PowerUp-To-Bash-Prompt-HOWTO.html>
honlapon tallhat, ksznet rte Dominique van den Broeck-nek. A japn
fordtst Yuji Senda kszti el hamarosan, ha nem lenne a Japanese
Documentation and FAQ Project <http://www.linux.or.jp/JF> honlapon mris.


    14.4 Visszajelzs

Brmilyen megjegyzsedrl, kritikdrl s ajnlsodrl szeretnk
hallani, a dokumentum fejlesztse rdekben. Krlek kld el ezeket
nekem: Greg O'Keefe <mailto:gcokeefe@postoffice.utas.edu.au>.


    14.5 Ksznetnyilvntsok

A termknevek az illet cgek ltal bejegyzett vdjegyek, erre val
tekintettel ez itt megemltsre kerlt.

Szeretnk pr embernek ksznetet mondani azrt, hogy segtettek ennek a
doksinak a ltrehozsban.

*Michael Emery*

    Emlkeztetett az Unios-ra.

*Tim Little*

    Nhny tletet adott az |/etc/passwd|-hz.

*sPaKr on #linux in efnet*

    Rmutatott, hogy a syslogd-nak az |/etc/services|-re van szksge,
    s megismertetett a "rolling your own" kifejezssel annak rdekben,
    hogy lerjam egy rendszer forrskdbl trtn felptsnek menett.

*Alex Aitkin*

    Felhvta a figyelmem Vico-ra, az  mondsa a "verum ipsum factum"
    (jelentse: a dolgokat ksztsk kzben ismerjk meg igazn).

*Dennis Scott*

    Kijavtotta a hexadecimlis szmtsaimat.

*jdd*

    Rmutatott nhny helyesrsi hibra.

*David Leadbeater*

    Kzremkdtt a kernel dmonokrl szl rsz megalkotsban.

*Dominique van den Broeck *

    Lefordtotta a dokumentumot francira.

*Matthieu Peeters *

    Nhny hasznos informcit adott a kernel dmonokrl.

*John Fremlin*

    Nhny hasznos informcit adott a kernel dmonokrl.

*Yuji Senda*

    Elksztette a japn fordtst.

*Antonius de Rozari*

    Kzremkdtt a GNU assembler UNIOS vltozatnak ltrehozsban
    (lsd a forrsok fejezetet a honlapon).


    14.6 Vltozsok trtnete


      0.8 -> 0.9 (2000 november)

    * Hozzadtam nhny Matthieu Peeterstl s John Fremlin-tl szrmaz
      informcit a kernel dmonokrl s a |/proc| fjlrendszerrl.


      0.7 -> 0.8 (2000 szeptember)

    * Kivettem a rendszerptsrl szl tmutatt, s egy kln
      dokumentumba raktam, ezrt nhny hivatkozst beszrtam.
    * A honlapot traktam a learning@TasLUG
      <http://learning.taslug.org.au/power2bash>-rl, a sajt
      trhelyemre <http://www.netspace.net.au/~gok/power2bash>.
    * Nem sikerlt beraknom a dokumentumba sok - klnbz emberektl
      szrmaz - hasznos anyagot. Taln legkzelebb :(


      0.6 -> 0.7

    * nagyobb hangsly a magyarzaton s kissebb a rendszerptsen. A
      rendszerptsi informcit kln fejezetbe raktam s
      megrvidtettem. Az ez irnt rdekldk olvassk el Gerard Beekman
      "Linux From Scratch" (Linux a kezdetektl) cm mvt.
    * David Leadbeater nhny magyarzatnak hozzadsa
    * pr hivatkozs javtsa, s egy hozzadsa az unios letltshez a
      learning.taslug.org.au/resources webhelyrl
    * hivatkozsok tesztelse s javtsa
    * ltalnos jrars s csinosts


      0.5 -> 0.6

    * a vltozsok trtnetnek hozzadsa
    * nhny teend hozzadsa


    14.7 Tennivalk

    * elmagyarzni mindent a kvetkezkrl: kernel modulok, depmod,
      modprobe, insmod (elszr utna kell nznem!)
    * megemlteni a /proc fjlrendszert itt
    * docbook sgml formtumba konvertlni a doksit
    * tovbbi tmutatk hozzadsa - taln a nagyobb tmutatsokbl
      kln fejezetet ksztve - mint pldul egy minimlis rendszer
      ksztse egy linux sszelltsbl, fjlrl-fjlra
    * a makefile hack-et hozzadni a bash ptsi tmutathoz - lsd az
      "easter" megjegyzsekben.

