gcokeefe@postoffice.utas.edu.au
Ideges�t�nek tartottam, hogy sok olyan dolog t�rt�nik a Linux g�pem belsej�ben, amit nem �rtek. Ha Te is, �gy mint �n, szeretn�d igaz�n meg�rteni a rendszered m�k�d�s�t ahelyett, hogy csak a haszn�lat�t tanulod meg, ez a dokumentum egy j� kiindul�si pont lehet. Ez a fajta h�tt�rismeret kellhet akkor is, ha els�rang� linuxos probl�mamegold� szeretn�l lenni.
Felt�telezem, hogy van egy m�k�d� Linux g�ped, �s tudsz n�h�ny alapvet� dolgot a Unix-r�l �s a PC hardver�r�l. Ha nem, akkor nagyon j� kiindul�si alap a tanul�shoz az Eric S. Raymond-f�le The Unix and Internet Fundamentals HOWTO (A Unix �s az Internet alapjai HOGYAN). Ez r�vid, nagyon olvasm�nyos doksi �s lefedi az alapokat.
A dokumentum f� ir�nyvonala az, hogy a Linux hogyan indul el. Ezen fel�l egy r�szletesebb tanulm�nyi forr�s pr�b�l lenni. Minden r�szhez mell�keltem gyakorlatokat is. Ha t�nylegesen megcsin�lsz n�h�nyat k�z�l�k, sokkal t�bbet tanulsz, mint csak az olvas�ssal.
Rem�lem, n�h�ny olvas� v�llalkozik a tudom�som szerinti legjobb, a Linux megismer�s�t seg�t� feladatra, ami a rendszer forr�sk�db�l val� fel�p�t�se. Az olasz filoz�fus, Giambattista Vico (1668-1744) szerint "verum ipsum factum", vagyis "a dolgokat k�sz�t�s�k k�zben �rtj�k meg igaz�n". K�sz�net Alexnek (l�sd K�sz�netnyilv�n�t�sok) az id�zet�rt.
Ha el szeretn�d k�sz�teni a saj�t Linuxodat, elolvashatod m�g Gerard Beekman Linux From Scratch HOWTO-j�t (Linux a kezdetekt�l HOGYAN, LFS). Ez r�szletes �tbaigaz�t�st ad egy teljes, haszn�lhat� rendszer forr�sk�db�l val� fel�p�t�s�r�l. A LFS weboldal�n levelez�list�t is tal�lsz, ami azoknak sz�l, akik ezen a m�don �p�tenek fel rendszereket. N�h�ny instrukci�, ami r�gebben r�sze volt ennek a dokumentumnak, most m�r egy m�sik le�r�sban tal�lhat� meg, c�me "Minim�lis Linux rendszer �p�t�se forr�sk�db�l", �s itt tal�lhat� meg: From PowerUp to Bash Prompt honlapja. Elmagyar�zz�k, hogyan "j�tsszunk" a rendszerrel, tiszt�n mint tanul�si gyakorlat.
A csomagok abban a sorrendben jelennek meg, amelyikben a rendszer indul�si folyamat�ban is r�szt vesznek. Ez azt jelenti, hogy ha ebben a sorrendben telep�ted fel �ket, �jraind�t�st csin�lhatsz minden telep�t�s ut�n, �s l�thatod, hogy a rendszer minden egyes alkalommal k�zelebb visz ahhoz, hogy megkapd a bash prompt-ot. Van ebben egy bizonyoss�got er�s�t� �rz�s.
Azt aj�nlom, hogy el�sz�r olvasd el a r�szek f� sz�vegeit, �tugorva a gyakorlatokat �s hivatkoz�sokat. Ezut�n d�ntsd el, milyen m�lys�g� szak�rtelmet akarsz el�rni, �s mennyi er�fesz�t�st vagy hajland� r��ldozni. Ezut�n kezdd el megint az elej�t�l, v�gigcsin�lva a gyakorlatokat �s a kieg�sz�t� olvasm�nyokat �ttanulm�nyozva.
Amikor bekapcsolod a sz�m�t�g�pet, az leteszteli mag�t, hogy minden rendben m�k�dik-e. Ezt "bekapcsol�si �nteszt"-nek (POST) h�vj�k. Ezut�n a bootstrap loader nev�, a ROM BIOS-ban tal�lhat� program keres egy bootszektort. A bootszektor egy lemez els� szektora, �s egy kis programk�dot tartalmaz, ami k�pes egy oper�ci�s rendszer bet�lt�s�re. A bootszektorokat a b�v�s 0xAA55=43603 sz�mmal jel�lik meg, ez a 0x1FE=510-es b�jtn�l tal�lhat�. Ez a szektor utols� k�t b�jtja. Ezen a m�don k�pes eld�nteni a hardver, hogy a szektor bootszektor vagy sem.
A bootstrap loader egy list�val rendelkezik arr�l, hogy hol keressen bootszektort. Az �n r�gi g�pem el�sz�r az els�dleges floppy-meghajt�n kereste, majd az els�dleges merevlemezen. A modern g�pek ezenk�v�l CD-ROM-on is kereshetik. Ha megtal�lja a bootszektort, bet�lti a mem�ri�ba, �s �tadja a vez�rl�st az oper�ci�s rendszert bet�lt� programra. Egy tipikus Linux rendszeren ez a LILO els� fokozat� (first stage) bet�lt�je. Ezen k�v�l persze m�g sok m�s m�don lehet bet�ltetni a rendszert. L�sd a LILO User's Guide-ot r�szletek�rt. L�sd m�g a LILO r�szt URL-ek�rt.
Term�szetesen m�g rengeteg mindent lehetne mondani arr�l, hogy mit csin�l a PC hardvere, de ez nem ennek a helye. Err�l a t�m�r�l sok j� k�nyvet olvashatsz .
A g�p n�h�ny inform�ci�t t�rol �nmag�r�l a CMOS-ban. Ez mag�ban foglalja a g�pben tal�lhat� lemezek �s mem�ria adatait/jellemz�it. A g�pben l�v� BIOS tartalmaz egy programot, amivel ezeket a be�ll�t�sokat m�dos�tani lehet. Figyeld meg a g�ped indul�sakor megjelen� �zeneteket, ezek egyike t�j�koztat az ehhez val�� hozz�f�r�s m�dj�r�l. Az �n g�pemen a "Delete" gombot kell megnyomni, miel�tt elkezden� bet�lteni az oper�ci�s rendszert.
Nagyon j� m�dszere a hardverr�l val� ismeretszerz�snek, ha haszn�lt alkatr�szekb�l �p�t egy g�pet az ember. V�gy legal�bb egy 386-ost, amin m�r k�nny�szerrel futtathatsz Linuxot. Nem fog sokba ker�lni. K�rdezgess k�rbe, h�tha valaki tud is adni olyan r�szegys�geket, amire sz�ks�ged van.
N�zz k�r�l a Neten, t�ltsd �s ford�tsd le, majd k�sz�ts egy ind�t�lemezt az
Unios-nak. (Volt egy
honlapjuk:
http://www.unios.org, de ez m�r elt�nt.)
Ez csak egy bootolhat� "Hell� vil�g!" program, alig t�bb mint 100 sornyi assembler k�d.
J� volna l�tni olyan form�tumban, hogy a GNU assembler, az "as
" is meg�rtse.
Nyisd meg egy hexa-editorral az Unios ind�t�lemez�nek k�pf�jlj�t. Ez a f�jl 512
b�jt m�ret�, pontosan egy szektornyi. Keresd meg a b�v�s 0xAA55-�s sz�mot. Tedd
ugyanezt egy ind�t�floppy-val vagy a saj�t g�peddel. Haszn�lhatod a "dd
"
programot egy f�jlba val� kim�sol�shoz: dd if=/dev/fd0 of=boot.sector
.
L�gy nagyon �vatos, hogy az "if
" (bemeneti f�jl) �s "of
"
(kimeneti f�jl) j�l legyen megadva!
N�zd meg a LILO bet�lt�j�nek forr�sk�dj�t.
Amikor a sz�m�t�g�p bet�lt egy bootszektort egy norm�l Linux rendszeren, val�j�ban a LILO egy r�sz� t�lti be, amit "els� fokozat� bet�lt�nek" h�vnak. Ez egy kicsi program, aminek nincs m�s szerepe, mint bet�lteni �s futtatni a "m�sodik fokozat� bet�lt�t".
A m�sodik fokozat� bet�lt� ad egy k�szenl�ti jelet (ha �gy �ll�tott�k be) �s bet�lti az �ltalad v�lasztott oper�ci�s rendszert.
Amikor a rendszer elindult, m�k�dik, �s futtatod a lilo
-t, akkor val�j�ban
a "map installer"-t futtatod. Ez kiolvassa a /etc/lilo.conf
konfigur�ci�s f�jlt,
ki�rja a bet�lt�ket �s az inform�ci�kat az �ltala bet�lthet� oper�ci�s rendszerekr�l
a merevlemezre.
Rengeteg egy�b m�dja van m�g a rendszered bet�lt�s�nek. Amit le�rtam, a legk�zenfekv�bb �s "norm�l" m�d, legal�bbis egy Linuxot, mint f� oper�ci�s rendszert futtat� g�p sz�m�ra. A LILO felhaszn�l�i k�zik�nyv t�bbf�le p�ld�t sorol fel a "bet�lt�si koncepci�kr�l". Meg�ri elolvasni, �s n�h�nyat kipr�b�lni k�z�l�k.
A LILO konfigur�ci�s f�jlja a /etc/lilo.conf
. L�tezik k�zik�nyv-oldala:
g�peld be a man lilo.conf
parancsot a megtekint�s�hez. A f� dolog a lilo.conf
-ban
egy bejegyz�s mindenhez, amit a LILO be tud t�lteni. A Linux eset�ben ez tartalmazza
a kernel hely�t, �s hogy melyik lemezpart�ci�t kell gy�k�r f�jlrendszerk�nt
bef�zni. M�s oper�ci�s rendszerekn�l a f� inform�ci� az, hogy melyik part�ci�r�l
bootoljanak.
VIGY�ZAT: nagyon vigy�zz ezekkel a gyakorlatokkal. Nagyon k�nny� elrontani valamit, t�nkretenni a master boot rekordot �s haszn�lhatatlann� tenni a rendszert. Bizonyosodj meg, hogy van egy m�k�d� ment�lemezed, �s tudod is haszn�lni arra, hogy vissza�ll�tsd a dolgokat. L�sd al�bb a hivatkoz�st a tomsrtbt-re, arra a ment�lemezre amit �n haszn�lok �s aj�nlok. A legjobb az, ha olyan g�pet haszn�lsz amelyikn�l mindez nem sz�m�t.
Telep�tsd a LILO-t egy floppy-ra. Nem sz�m�t a nincs m�s rajta, csak egy kernel - kapsz majd egy "kernel p�nik"-ot, amikor k�szen �ll az init bet�lt�s�re, de legal�bb tudod, hogy a LILO m�k�dik.
Ha akarod, m�g tov�bb l�phetsz �s megn�zheted, mekkora rendszert tudsz felrakni a floppy-ra. Ez val�sz�n�leg a m�sodik legjobb Linux-tanul�si tev�kenys�g. L�sd a Bootdisk HOWTO-t (Ind�t�lemez HOGYAN, URL al�bb) �s a tomsrtbt-t (URL al�bb) tippek�rt.
T�lsd be az Unios-t a LILO-val (l�sd a hardver gyakorlatok r�szt URL-ek�rt). Extra gyakorlatk�nt n�zd meg, v�gre tudod-e hajtani ezt egy floppy-lemezen.
K�sz�ts egy boot-ciklust. T�ltesd be a master boot rekord-beli LILO-val az egyik els�dleges part�ci�ban l�v� boot szektort, majd azzal �jra a MBR-beli LILO-t... Esetleg haszn�ld a MBR-t �s mind a n�gy els�dleges part�ci�t egy �t l�p�ses ciklushoz. S�ti!
lilo-u-21.ps.gz
(vagy egy �jabb verzi�).
Tal�n m�r megvan neked ez a dokumentum.
N�zd meg a /usr/doc/lilo
vagy valami hasonl� helyen.
A postscript verzi� jobb, mint a sima sz�veg,
mivel diagramokat �s t�bl�zatokat is tartalmaz.A kernel val�j�ban nagyon sok mindent csin�l. �gy gondolom j� �sszefoglal�sa a dolgoknak az, hogy r�veszi a hardvert, azt tegye amit a programok akarnak, m�ghozz� hat�konyan �s j�l.
A processzor egyszerre csak egy utas�t�st tud v�grehajtani, de a Linux rendszerek l�tsz�lag t�bb dolgot is v�geznek egyszerre. A kernel ezt �gy �ri el, hogy nagyon gyorsan v�ltogatja a feladatokat. Ezzel a lehet� legjobban ki lehet haszn�lni a processzort, �gy, hogy k�vetj�k melyik folyamat k�sz a fut�sra, �s melyik v�rakozik valamire - mint p�ld�ul egy rekordra egy merevlemez f�jlb�l, vagy egy billenty� le�t�s�re. Ezt nevezik �temez�snek (scheduling).
Ha egy program nem csin�l semmit, nem kell a mem�ri�ban lennie. M�g egy olyan programnak is ami csin�l valamit, lehet, hogy vannak olyan r�szei amik nem csin�lnak semmit. Mindegyik folyamat (process) c�mz�si tartom�nya fel van osztva lapokra. A kernel nyilv�ntartja, melyik folyamat melyik lapja van a legt�bbet haszn�lva. Azokat a lapokat, amik kev�sb� haszn�ltak, ki lehet helyezni a csere (swap) part�ci�ra. Amikor megint sz�ks�g van r�juk, egy m�sik nem haszn�lt lapot lehet kihelyezni. Ez a virtu�lis mem�riakezel�s.
Ha m�r ford�tott�l saj�t kernelt, �szrevehetted milyen sok az eszk�zf�gg� be�ll�t�s. A kernel sok egyedi k�dot tartalmaz, a k�l�nb�z� hardverekkel t�rt�n� kommunik�l�shoz, valamint hogy sz�p egys�ges fel�letet mutasson az alkalmaz�sok fel�.
Szint�n a kernel ir�ny�tja a f�jlrendszert, a folyamatok k�z�tti kommunik�ci�t, �s egy csom� h�lozati dolgot.
Amikor a kernel bet�lt�d�tt, az els� dolog amit csin�l, hogy egy "init
" programot
keres �s lefuttaja.
A kernel be�ll�t�s�nak legnagyobb r�sze akkor t�rt�nik, amikor futtatod a "make
menuconfig
"-ot
vagy a "make xconfig
"-ot az /usr/src/linux/
k�nyvt�rban, (vagy b�rhol m�shol, ahol a
Linux kernel forr�sk�d van). �jra tudod �ll�tani az alap�rtelmezett video m�dot, gy�k�r (root)
f�jlrendszert, csere (swap) eszk�zt �s a RAM disk m�ret�t, ha az "rdev
"-et haszn�lod.
Ezeket - vagy
m�g t�bb param�tert - a lilo is �t tud adni a kernelnek. Adhatsz a lilo-nak param�tereket a
lilo.conf f�jlban, vagy a lilo promptj�n�l, hogy �tadja ezeket az inform�ci�kat. P�ld�ul ha
a hda3-at akarod haszn�lni mint root f�jlrendszert a hda2 helyett, beg�pelheted hogy:
LILO: linux root=/dev/hda3
Ha forr�sb�l �p�tesz rendszert, sokkal egyszer�bb� teheted az �letet, ha "monolitikus" kernelt csin�lsz. Ez azt jelenti, hogy nincsenek moduljai. Ekkor nem kell kernel modulokat m�solni a c�l rendszerbe.
FIGYELEM: A System.map
f�jlt a kernel logger (napl�z�) haszn�lja, hogy meghat�rozza a
modulneveket gener�l� �zeneteket. A top
nev� program szint�n haszn�lja ezt az
inform�ci�t. Amikor a kernelt a c�lrendszerbe m�solod, m�sold �t a "System.map
"-ot is.
Egy kis gondolkodnival�: a /dev/hda3
egy k�l�nleges f�jl, ami le�r egy merevlemez
partici�t. De egy olyan f�jlrendszeren van, mint b�rmelyik m�sik f�jl. A kernel meg akarja
tudni, hogy melyik partici�t csatolja fel (mount), mint gy�k�r f�jlrendszert - de m�g nincs is
f�jlrendszere. M�gis hogyan tudja olvasni a /dev/hda3
part�ci�t, hogy megtudja melyik lemezr�szt
csatolja?
Ha m�g nem tetted meg, k�sz�ts saj�t kernelt. Olvass el minden s�g�inform�ci�t az opci�khoz.
Pr�b�ld ki, mekkora a legkisebb kernel ami m�g m�k�dik. Sokat tanulhatsz abb�l, ha kihagyod a felesleges dolgokat!
Olvasd el a "The Linux Kernel"-t (URL al�bb), �s k�zben keresd meg a forr�sk�d azon r�szeit, amire hivatkozik. A k�nyv (amint ezt �rom) a 2.0.33-as kernel verzi�val foglalkozik, ami el�g �reg m�r. K�nnyebb k�vetni, ha let�lt�d ezt az �reg verzi�t, �s ott olvasod a forr�st. Fantasztikus �rz�s "process" �s "page" nev� C k�ddarabokat tal�lni.
Hackelj! Pr�b�lj meg extra �zeneteket vagy valami m�st ki�ratni.
/usr/src/linux/README
�s a
/usr/src/linux/Documentation/
tartalma
(Lehet, hogy ezek m�shol vannak a Te rendszereden)make menuconfig
vagy make xconfig
haszn�latakorA k�vetkez� dolog, ami a sz�m�t�g�p bekapcsol�sakor t�rt�nik, hogy bet�lt�dik �s lefut az init. Azonban az init - mint majdnem minden program - f�ggv�nyeket haszn�l m�s k�nyvt�rakb�l.
Tal�n m�r l�tt�l C nyelv� p�ldaprogramot, mint ez is:
main() { printf("Hello World!\n"); }
A programban nincs le�rva mi az a "printf
", honnan is j�n ez? Ez a standard C k�nyvt�rakb�l
- egy GNU/Linux rendszeren a glibc - sz�rmazik. Ha Visual C++ alatt ford�tod le, akkor ugyanannak a
standard
f�ggv�nynek a Microsoftos v�ltozat�b�l j�n. Milli�rdnyi van ezekb�l a standard f�ggv�nyekb�l
a matematik�hoz, stringekhez, d�tumhoz/id�h�z, mem�riafoglal�shoz �s �gy tov�bb. A Unix (bele�rtve
a Linuxot) alatt minden vagy C-ben van �rva, vagy nagyon �gy kell tennie mintha abban lenne �rva.
Egysz�val minden program tudja haszn�lni ezeket a f�ggv�nyeket.
Ha belen�zel a /lib
k�nyvt�rba, sok olyan f�jlt fogsz l�tni, amit
libvalami.so
-nak vagy
libvalami.a
-nak h�vnak. Ezek a f�ggv�nyek k�nyvt�rai. A glibc csak a GNU v�ltozata
ezeknek a
f�ggv�nyeknek.
K�t m�don haszn�lhatj�k a programok ezeket a f�ggv�nyk�nyvt�rakat. Ha statikusan
kapcsol�dnak egy programhoz, ezek a f�ggv�nyek belem�sol�dnak a v�grehajthat� f�jlba, amikor
l�trej�n. Ez az, amire a libvalami.a
k�nyvt�rak val�k. Ha dinamikusan
kapcsol�dnak egy
programhoz (ez az alap�rtelmez�s), akkor amikor a program fut �s sz�ks�ge van a f�ggv�ny
k�dj�ra, megh�vja azt a libvalami.so
f�jlokb�l.
Az "ldd
" parancsra van sz�ks�ged, ha meg akarod tudni, melyik f�ggv�nyk�nyvt�rat
haszn�lja egy
bizonyos program. Itt vannak p�ld�ul azok a f�ggv�nyk�nyvt�rak, amiket a "bash
" haszn�l:
[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)
N�h�ny a k�nyvt�rakban l�v� f�ggv�ny att�l f�gg, hogy helyileg hol vagy. P�ld�ul mi itt
Ausztr�li�ban a d�tumokat �gy �rjuk: nn/hh/��, de az amerikaiak hh/nn/�� -et �rnak. Van egy
program ami a "glibc
" csomagban van, "localedef
" a neve. Ez lehet�v�
teszi ezek be�ll�t�s�t.
Haszn�ld az "ldd
" parancsot, hogy megtudd, milyen programk�nyvt�rakat haszn�lnak a kedvenc
alkalmaz�said.
Haszn�ld az "ldd
"-t arra, hogy megtudd, milyen k�nyvt�rakat haszn�l az "init
".
K�sz�ts egy j�t�k k�nyvt�rat, egy vagy k�t f�ggv�nnyel. Az "ar
" programmal lehet l�trehozni
�ket. Az "ar
" k�zik�nyv-oldal�b�l megtudhatod ennek menet�t.
�rj, ford�ts le �s csatolj egy programot ami ezt a k�nyvt�rat haszn�lja.
Csak a "System V" st�lus� "init"-r�l besz�lek, amit a Linux rendszerek a legink�bb haszn�lnak.
Vannak m�s megold�sok is. Val�j�ban b�rmilyen programot berakhatsz az /sbin/init
-be, amit a
kernel le fog futtatni, amint bet�lt�d�tt.
Az "init
" feladata, hogy minden �gy m�k�dj�n ahogy kell. Leellen�rzi a f�jlrendszereket �s
felcsatolja �ket. Lefuttatja a "d�monokat", hogy napl�zz�k a rendszer�zeneteket, h�l�zatkezel�st
csin�ljanak,
kiszolg�ljanak web oldalakat, figyeljenek az egeredre stb. Szint�n ez ind�tja a getty folyamatokat, amik
kirakj�k a bejelentkez� (login) promptot a virtu�lis termin�lodra.
Van egy nagyon komplik�lt t�rt�net a "fut�si szintek" (run-levels) k�z�tti kapcsol�sr�l, de a legnagyobb r�sz�t kihagyom, �s csak a rendszer indul�s�r�l besz�lek.
Az" init" beolvassa az /etc/inittab
f�jlt, ez �rja le mit csin�ljon. �ltal�ban el�sz�r
lefuttat egy inicializ�l� szkriptet. A program, ami v�grehajtja (soronk�nt) ezt a szkriptet, a
bash, ugyanaz a program ami ki�rja a parancssorodat. Debian rendszereken az inicializ�l� szkript
az /etc/init.d/rcS
, Red Hat-en a /etc/rc.d/rc.sysinit
. Ez az, ami a
f�jlrendszereket leellen�rzi �s
felcsatolja, be�ll�tja az �r�t �s a csere (swap) ter�letet, be�ll�tja a g�p h�l�zati nev�t
(hostname) stb.
Ezut�n egy m�sik szkript indul el, ami elvisz az alap�rtelmezett fut�si szintre. Ez csak
annyit jelent, hogy elindul n�h�ny alrendszer. Van egy p�r k�nyvt�r, 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 fut�si szintekhez tartozik. Ha a 3-as fut�si szinten vagyunk
Debianban, akkor a szkript lefuttatja az �sszes "S"-el (start r�vid�t�se) kezd�d� szkriptet az
/etc/rc3.d
-ben. Ezek a szkriptek val�j�ban csak linkek m�s szkriptekhez egy m�sik
k�nyvt�rban, amit �ltal�ban "init.d
"-nek h�vnak.
Teh�t az "init
" megh�vja a fut�si szint (run-level) szkript�nket, �s m�s "S"-el kezd�d�
szkripteket keres egy k�nyvt�rban. Megtal�lhatja els�k�nt az S10syslog
-ot. A sz�mok
megmondj�k
a (run-level) szkriptnek, milyen sorrendben futtassa le �ket. Ebben az esetben az S10syslog
hajt�dik
v�gre el�sz�r, mivel nincs S00 ... S09 kezdet� szkript. De az S10syslog
val�j�ban csak egy
link az
/etc/init.d/syslog
-hoz, ami egy rendszernapl�z�st (system logger) elind�t� �s le�ll�t�
szkript. Mivel a link "S"-el kezd�dik, a (run-level) szkript tudja, hogy v�gre kell hajtania a
syslog
-ot egy "start" param�terrel. Vannak ennek megfelel�, "K"-val (kill - meg�lni)
kezd�d� linkek,
amik meghat�rozz�k, mi �s milyen sorendben legyen le�ll�tva, amikor elhagyjuk a fut�si szintet.
Ha meg akarod v�ltoztatni az alrendszerek alap�rtelmezett ind�t�s�t, l�tre kell
hoznod ezeket a linkeket az rcN.d
k�nyvt�rban, ahol N az alap�rtelmezett fut�si szint az
inittab
f�jlodban.
Az utols� fontos dolog, amit az "init" csin�l, hogy elind�t p�r getty
-t. Ezek "respawned"
�llapot�ak, ami azt jelenti, hogy ha le�llnak, akkor az "init
" egyszer�en �jraind�tja
�ket. A legt�bb disztribuci� hat virtu�lis termin�lt ind�t. Lehet, hogy kevesebbet akarsz a
mem�sp�rol�s �rdek�ben, vagy t�bbet, amivel egy csom� dolgot hagyhatsz futni �s gyorsan
v�ltogathatsz k�zt�k ha sz�ks�ged
van r�juk. Lehet, hogy akarsz majd futtatni egy getty
-t sz�veges termin�lnak vagy modemes
bet�rcs�z�shoz. Ebben az estben �t kell szerkesztened az inittab
f�jlodat.
A /etc/inittab
az "init" legfels� szint� konfigur�ci�s f�jlja.
Az rcN.d
k�nyvt�rak, ahol N = 0, 1, ..., 6, hat�rozz�k meg, milyen alrendszerek
indulnak el.
Valahol az "init" �ltal elind�tott szkriptekben, a mount -a
parancs ker�l v�grehajt�sra. Ez
annyit jelent, hogy felcsatol�dik az �sszes f�jlrendszer, aminek fel kell csatol�dnia. Ez az
/etc/fstab
f�jlban van le�rva. Ha meg akarod v�ltoztatni, hogy hova �s mi
csatol�djon, amikor a rendszered elindul, ezt a f�jlt kell �tszerkesztened. Az fstab
f�jlnak van egy k�zik�nyv (man) oldala is.
Keresd meg alap�rtelmezett fut�si szintedhez tartoz� rcN.d
k�nyvt�radat �s adj ki egy
ls -l
parancsot, hogy l�sd milyen f�jlokhoz kapcsol�dnak a linkek.
V�ltoztasd meg a rendszereden fut� getty-k sz�m�t.
T�r�lj minden alrendszert, amire nincs sz�ks�ged, az alap�rtelmezett fut�si szinten.
N�zd meg, milyen k�zel jutott�l a kezd�shez.
Telep�ts egy floppy-ra lilo-t, kernelt �s egy statikusan linkelt "hello world" programot, amit
nevezz el /sbin/init
-nek, �s figyeld ahogy bebootol �s ki�rja: hello.
N�zd figyelmesen a rendszered indul�s�t �s jegyzetelj, milyen �zeneteket �r ki arr�l ami
t�rt�nik. Esetleg nyomtass ki egy r�szt a rendszernapl�b�l (/var/log/messages
). Ezut�n az
inittab
-bal kezdve, fusd �t az �sszes szkriptet �s figyeld meg, melyik k�dr�szlet mit
csin�l.
Berakhatsz extra start �zeneteket is, mint p�ld�ul:
echo "Hello, en vagyok a rc.sysinit"
Ez j� gyakorlat arra is, hogy megtanuld a Bash shell alatti szkript�r�st. A szkriptek k�z�l n�h�ny el�gg� komplik�lt. Legyen k�zn�l egy j� Bash referenciak�nyv.
inittab
�s fstab
f�jlokhoz.
Megn�zheted a "man inittab
" beg�pel�s�vel.Ebben a fejezetben a f�jlrendszer sz�t k�t k�l�nb�z� �rtelemben fogom haszn�lni. Vannak f�jlrendszerek a lemez partici�kon �s m�s eszk�z�k�n, �s van egy f�jlrendszer, amit a fut� Linux al�l l�tsz. A Linuxban "felcsatolod" (mount) a lemezes f�jlrendszereket az oper�ci�s rendszer f�jlrendszer�re.
Az el�z� fejezetben megeml�tettem, hogy az" init" szkriptek leellen�rzik �s felcsatolj�k a
f�jlrendszereket. Ezt az "fsck
" �s a "mount
" parancsok v�gzik el.
A merevlemez csak egy nagy t�rhely, ahova egyeseket �s null�kat �rhatsz. A f�jlrendszer erre r�rak
egy szerkezetet, �s ett�l n�z ki �gy, mintha f�jlok lenn�nek k�nyvt�rakon bel�l �s azok is
tov�bbi k�nyvt�rakon bel�l... Minden f�jlnak van egy le�r� t�bl�ja (inode), ami nyilv�ntartja
ki� a f�jl, mikor hozt�k l�tre �s hol vannak a r�szei. A k�nyvt�rakat is inode-ok �rj�k
le, de ezekben a t�rol�dik, hogy hol tal�lhat�k azoknak a f�jloknak az inode-jai, amik a
k�nyvt�rban
vannak. Ha a rendszer olvasni akarja a /home/greg/bigboobs.jpeg
f�jlt, el�sz�r megkeresi a
gy�k�r
(root) / k�nyvt�r le�r� t�bl�j�t a "superblock"-ban, ezut�n megkeresi a / tartalm�ban
l�v� home
k�nyvt�r inode-j�t, ezut�n megkeresi a /home
tartalm�ban l�v�
greg
k�nyvt�r
inode-j�t, ezut�n megkeresi a bigboobs.jpeg
le�r� t�bl�j�t, ami jelzi melyik
lemezblokkot kell olvasnia.
Ha hozz�f�z�nk egy kis adatot egy f�jl v�g�hez, megeshet, hogy el�sz�r az adat �r�dik ki,
miel�tt a le�r� t�bla friss�lne (ami jelezn�, hogy az �j blokkok a f�jlhoz tartoznak),
vagy ford�tva. Ha ezen a ponton �ramsz�net k�vetkezik be, megs�r�lhet a f�jlrendszer. Ez az a
dolog, amit az "fsck
" megpr�b�l felder�teni �s kijav�tani.
A "mount" parancs egy eszk�z�n l�v� f�jlrendszert hozz�ad a haszn�latban l�v� rendszered
hierarchi�j�hoz. �ltal�ban a kernel csak olvashat� m�dban csatolja fel a (root) f�jl
rendszert. A "mount" parancsot haszn�lj�k arra, hogy �jra felcsatolj�k �rhat�-olvashat� m�dban,
miut�n az "fsck
" leellen�rizte, hogy minden rendben.
A Linux t�mogat m�sfajta f�jlrendszereket is: msdos, vfat, minix stb. Egy bizonyos f�jlrendszer r�szletei el vannak vonatkoztatva egy virtu�lis f�jlrendszerre (VFS). Nem megyek bele a r�szletekbe, van egy vita err�l a "A Linux Kernel"-ben (l�sd a A Linux Kernel fejezetet URL-�rt).
Egy teljesen m�s f�jlrendszer csatol�dik be a /proc
k�nyvt�rba. Val�j�ban ez csak a
kernelben
l�v� dolgok megjelen�t�se. Mindegyik - a rendszerben fut� folyamatnak (process) - van egy
k�nyvt�ra, ahol a folyamat sz�ma a k�nyvt�r neve. Vannak ott f�jlok is, mint p�ld�ul
interrupts
(megszak�t�sok) �s meminfo
, amik el�rulj�k, hogy hogyan haszn�lja a g�p a hardvert.
Nagyon sokat
tanulhatsz a /proc
felfedez�se k�zben.
Vannak az "mke2fs
" parancsnak (ami ext2 f�jlrendszert hozza l�tre) param�terei is. Ezek
ellen�rzik a
blokkok m�ret�t, a le�r� t�bl�k (inode) sz�m�t stb. Olvasd el az "mke2fs
" k�zik�nyv-oldal�t
r�szletek�rt.
Hogy mi hova csatol�dik a f�jlrendszereden, az /etc/fstab
f�jlban d�l el. Ennek is
van k�zik�nyv-oldala.
K�sz�ts egy nagyon kicsi f�jlrendszert, �s n�zd meg egy hexa editorral. Azonos�tsd az inode-okat, szuperblokkokat �s a f�jl �sszetev�ket.
Biztos vagyok benne, vannak eszk�z�k amik visszadj�k a f�jlrendszered grafikus kin�zet�t. Keress egyet, pr�b�ld ki, �s k�ldj egy URL-t �s le�r�st nekem e-mailben!
N�zd meg az ext2 f�jlrendszer k�dj�t a kernelben.
mount
" parancs az util-linux csomag r�sze, van egy hivatkoz�s hozz� a
Building a Minimal Linux System from Source Code doksiban.mount
, "fstab
", "fsck
"," mke2fs
"
�s a proc
k�zik�nyv-oldalai.Documentation/proc.txt
f�jl a Linux forr�s�ban elmagyar�zza a
/proc
f�jlrendszert./bin
, /sbin
stb. k�nyvt�raknak mit kell tartalmaznia.
J� referencia, ha a c�lod egy minim�lis, m�gis teljes rendszer meg�p�t�se.Ha kiadod a "ps aux
" parancsot, valami ehhez hasonl�t fogsz l�tni:
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 list�ja. Az inform�ci� a /proc
f�jlrendszerb�l (amit az el�z� r�szben m�r eml�tettem)
sz�rmazik. Figyeld meg, hogy az "init
" az egyes sz�m� folyamat. A "kflushd", "kupdate", "kpiod" �s a "kswapd" a 2, 3, 4 �s 5-�s sz�m�
folyamatok. Van azonban valami furcsa: n�zd meg mind a virtu�lis t�rol�si m�ret (SIZE), mind a val�di t�rol�si m�ret (RSS)
nev� oszlopokat. Ezekn�l a folyamatokn�l null�k szerepelnek. Hogyhogy egy folyamat nem haszn�l mem�ri�t?
Ezek a folyamatok a kernel d�monok. A kernel legnagyobb r�sze egy�ltal�n nem mutatkozik a folyamatlist�kon. Csak �gy tal�lhatod ki mennyi mem�ri�t haszn�lnak, ha kivonod a g�pben l�v� mem�ri�b�l a rendelkez�sre �ll� mem�ria mennyis�g�t. A kernel d�monok az "init" ut�n indulnak el, �gy kapnak folyamatsz�mot ugyan�gy, mint a norm�l folyamatok. De a k�djuk �s adataik a kernel r�sz�re lefoglalt mem�ri�ban van.
A COMMAND oszlop bejegyz�sein�l z�r�jelek vannak, mivel a /proc
f�jlrendszer nem tartalmaz parancssori
inform�ci�kat ezekr�l a folyamatokr�l.
Teh�t mire is val�k ezek a kernel d�monok? E dokumentum el�z� verzi�iban volt egy seg�ts�gk�r� r�sz, mivel nem tudtam sokat r�luk. A k�vetkez� t�rt�net az erre adott v�laszokb�l (ami�rt nagyon h�l�s vagyok) lett �sszerakva. Sz�vesen fogadom a tov�bbi okos�t�sokat, referenci�kat �s kiigaz�t�sokat!
A bevitel �s kivitel puffereken (buffers) kereszt�l t�rt�nik a mem�ri�ban. Ett�l gyorsabban mennek a dolgok.
Amit a programok �rnak, a mem�ri�ban lehet tartan - egy pufferben - ezut�n nagyobb (hat�konyabb) darabokban lehet a lemezre �rni.
A "kflushd
" �s "kupdate
" d�monok ezt a munk�t v�gzik: a "kupdate
" periodikusan lefut
(5 m�sodpercenk�nt?), hogy leellen�rizze van-e haszn�lt puffer (dirty buffers). Ha igen, utas�tja a "kflushd
" d�mont,
hogy �rja ki �ket a lemezre.
A folyamatoknak gyakran semmi dolguk, �s azoknak amik �ppen futnak, gyakran nincs arra sz�ks�g�k,
hogy az �ssszes k�djukat �s adataikat a mem�ri�ban tarts�k. Ez azt jelenti, hogy jobb haszn�t vessz�k a mem�ri�nknak,
ha a fut� programok �ppen nem haszn�lt r�szeit ki�rjuk a merevlemez csere (swap) part�ci�j�ra. Az adat sz�ks�ges ki- �s
bemozgat�s�t a mem�ri�ba (-b�l) a "kpiod
" �s a "kswapd
" v�gzi. Minden m�sodpercben vagy valahogy �gy,
a "kswapd
" fel�bred, hogy leellen�rizze a mem�ria helyzet�t, �s ha sz�ks�g van valamire a mem�ri�ban -
ami a lemezen tal�lhat� - vagy nincs el�g szabad mem�ria, a "kpiod
" h�v�dik meg.
Lehet, hogy a "kapmd
" d�mon is fut a rendszereden, ha az automatikus �ramgazd�lkod�s (automatic power management)
be van ford�tva a kerneledbe.
Az "update
" programal lehet be�ll�tani a "kflushd
" �s a "kswapd
" d�monokatt.
Pr�b�ld az "update -h
" parancsot kiadni valami inform�ci��rt.
A csere part�ci�t be lehet kapcsolni a "swapon
", �s ki lehet kapcsolni a "swapoff
" paranccsal.
Az init szkript (/etc/rc.sysinit
vagy /etc/rc.d/rc.sysinit
) �ltal�ban megh�vja a "swapon
"-t,
amint a rendszer elindul. Azt mondt�k nekem, hogy a "swapoff
" praktikus, ha �ramot akarunk sp�rolni laptopon.
Csin�lj egy update -d
-t, �s figyeld a dum�t az utols� sorban a "threshold for buffer fratricide"-r�l.
Most m�r van egy �rdekes fogalmad, j�rj ut�na!
L�pj be a /proc/sys/vm
k�nyvt�rba �s adj ki egy "cat
" parancsot az ott l�v� f�jlokra.
Figyeld meg, mi mindenre tudsz r�j�nni ez�ltal.
A Linux Dokument�ci�s Projekt "The Linux Kernel" dokumentuma (l�sd A Linux kernel fejezetet URL-�rt)
A Linux kernel forr�sk�dja, ha el�g b�tor vagy!
A "kswapd
" k�dja a linux/mm/vmscan.c
-ben,
a "kflushd
" �s "kupdate
" k�dja pedig a
linux/fs/buffer.c
f�jlban van.
Az "init" elind�tja a "syslogd
" �s a "klogd
" d�monokat. Ezek �zeneteket �rnak a napl�f�jlokba.
A kernel �zeneteit a "klogd
" kezeli, m�g a "syslogd
" m�s folyamatok �zeneteit int�zi.
A f� napl�f�jl a /var/log/messages
. J�l teszed, ha el�sz�r itt keresel ha valami baj van a rendszereddel.
Gyakran tal�lhat� ott egy fontos nyom.
Az /etc/syslog.conf
f�jl �rja le a napl�z�knak, hogy milyen �zenetet hova �rjanak.
Az �zeneteketet az azonos�tja, hogy milyen folyamatt�l �s milyen priorit�ssal �rkeznek.
Ez a f�jl olyan sorokb�l �ll, amik jelzik, hogy az x folyamatt�l y priorit�ssal �rkez� �zenetek z-hez menjenek,
ahol z lehet egy f�jl, tty, nyomtat�, t�voli �gyf�l (remote host) vagy b�rmi m�s.
FIGYELEM: A Syslognak sz�ks�ge van az /etc/services
f�jlra. A services f�jl portokat jel�l ki.
Nem vagyok benne biztos, hogy a syslognak kell egy port, amivel �gy tud napl�f�jlt k�sz�teni t�voli g�pre is (remote logging),
vagy ahhoz is egy portra van sz�ks�g, hogy a helyi g�pre napl�f�jlt k�sz�tsen (local logging), vagy csak az /etc/services
-t
haszn�lja, hogy az �ltalad be�rt folyamatneveket az /etc/syslog.conf
port sz�mokk� konvert�lja.
Vess egy pillant�st a rendszernapl�dra. Keress egy �zenetet amit nem �rtesz, �s tal�ld ki mit jelent.
K�ld ki az �zeneteidet egy tty-re. (�ll�tsd vissza miut�n megcsin�ltad)
Ausztr�l sysklogd t�k�r
A getty program teszi lehet�v�, hogy bejelentkezzhess egy soros eszk�z�n kereszt�l mint p�ld�ul egy virtu�lis termin�l,
sz�veges termin�l, vagy egy modem. Ki�rja a bejelentkez� parancssort (login prompt). Miut�n be�rtad a felhaszn�l�i nevedet,
a getty �tadja azt a "login
"-nak, ami megk�rdezi a jelsz�t, leellen�rzi, �s ad egy shellt.
Sok haszn�lhat� getty van. N�h�ny disztribuci�- bele�rtve a Red Hat-et - egy nagyon kicsit haszn�lnak,
aminek a neve "mingetty
", ez csak virtu�lis termin�lokkal m�k�dik.
A "login
" program az util-linux csomag r�sze, amiben tal�lhat� egy m�sik getty is, aminek "agetty
" a neve,
�s j�l m�k�dik. Szint�n ebben a csomagban van az "mkswap", "fdisk", "passwd", "kill", "setterm", "mount", "swapon", "rdev", "renice",
"more"
�s m�g sok m�s program.
Az �zenet, amit a k�perny�d tetej�n l�tsz a login prompt-al egy�tt, az /etc/issue
f�jlb�l sz�rmazik. A getty-kat �ltal�ban a /etc/inittab
-b�l ind�tjuk.
A login a felhaszn�l�i jellemz�ket a /etc/passwd
-ben ellen�rzi, illetve,
ha �rny�kjelszavakat haszn�lsz, a /etc/shadow
-ban.
K�sz�ts "k�zzel" egy /etc/passwd
f�jlt. A jelszavak �resek lehetnek, �s
a "passwd
" programmal v�ltoztathatod meg, ha bel�psz. L�sd a f�jl k�zik�nyv-
oldal�t. Haszn�ld a "man 5 passwd
" parancsot ehhez, hogy ne a program, hanem
a f�jl k�zik�nyv�t kapd meg.
Ha adsz a "login
"-nak egy �rv�nyes felhaszn�l�i n�v - jelsz� p�rost,
ellen�rzi azt az /etc/passwd
�llom�nyban, hogy megtudja melyik shell-t ind�tsa el neked.
Linux rendszeren ez legt�bbsz�r a "bash
". A "bash
" dolga a parancsaid
�rtelmez�se, illetve gondoskodni ezek v�grehajt�s�r�l. Egyszerre felhaszn�l�i fel�let
�s programnyelv-�rtelmez� (programming language interpreter - a lektor).
Mint felhaszn�l�i fel�let beolvassa parancsaidat, �s v�gre is hajtja ezeket
- amennyiben un. "bels�" parancsok, mint p�ld�ul a "cd
" - illetve megkeresi �s futtatja a programot,
- ha az egy un. "k�ls�" parancs, mint p�ld�ul a "cp
" vagy a "startx
".
Olyan megszokott dolgokat is csin�l, mint p�ld�ul megjegyzi az el�z�leg kiadott parancsokat
valamint kieg�sz�ti a f�jlneveket.
M�r l�ttuk a "bash
"-t m�k�dni, mint
programnyelv-�rtelmez�. A szkriptek, amiket az "init
" a rendszer elind�t�s��rt futtat,
�ltal�ban shell szkriptek, amelyeket a "bash
" hajt v�gre. Egy rendes
programnyelv, a szok�sos parancssoros rendszereszk�z�kkel nagyon hat�sos
kombin�ci�t alkot, ha tudod mit csin�lsz.
P�ld�ul sokat kellett foltoznom (patch - a ford.)
egy k�nyvt�rnyi forr�sk�don a minap.
Mindezt egyetlen sorral v�gre tudtam hajtani:
for f in /home/greg/sh-utils-1.16*.patch; do patch -p0 < $f; done;
Ez megvizsg�lja az �sszes olyan f�jlt a home k�nyvt�ramban, aminek a neve
"sh-utils-1.16
"-al kezd�dik, �s ".patch
"-el v�gz�dik. Mindezt ciklusban
teszi, be�ll�tja az "f
" v�ltoz�t, majd v�grehajtja a
"do
" �s "done
" k�z�tti parancsot. Ebben az esetben 11 folt volt,
de k�nnyen lehetett volna ak�r 3000 is.
Az /etc/profile
f�jl hat�rozza meg a bash viselked�s�t/m�k�d�s�t a teljes rendszerre vonatkoz�an.
Amit ide beraksz, az hat�ssal lesz mindenkire, aki a bash shellt haszn�lja a rendszereden.
K�l�nb�z� dolgokat fog csin�lni, p�ld�ul k�nyvt�rakat ad hozz� a "PATH
"-hoz, vagy be�ll�tja a "MAIL
"
k�rnyezeti v�ltoz�t.
A billenty�zet alapbe�ll�t�sa gyakran k�v�nnival�t hagy maga ut�n.
A readline az, ami ezt ir�ny�tja. Ez egy k�l�n�ll� csomag, ami a
parancssori csatol�fel�letet ir�ny�tja, rendelkez�sre bocs�tja
a parancssori t�rt�netet (command history) �s f�jln�v-kieg�sz�t�st,
csak�gy mint n�h�ny fejlettebb sorszerkeszt�si m�dot.
Ez bele van szerkesztve a bash-ba. Alap�rtelmez�sk�nt a
readline a home k�nyvt�radban l�v� .inputrc
f�jl
haszn�lat�ra van be�ll�tva. Az INPUTRC v�ltoz� haszn�lhat� arra,
hogy a bash sz�m�ra fel�l�rjuk ezt. P�ld�ul a Red Hat 6 rendszerben az
"INPUTRC
" �rt�ke /etc/inputrc
az /etc/profile
f�jlban. Ez azt jelenti, hogy a backspace, delete, home �s end
billenty�k mindenkinek nagyszer�en m�k�dnek.
A bash a teljes rendszerre vonatkoz� be�ll�t�sok beolvas�sa ut�n
a szem�lyes be�ll�t�sokat tartalmaz� f�jlt keresi meg. Ellen�rzi a
home k�nyvt�radat, .bash_profile
, .bash_login
�s .profile
f�jlok ut�n kutatva. Ezek k�z�l az els� l�tez�t futtatja. Ha a bash m�k�d�s�n
szeretn�l v�ltoztatni �gy, hogy a t�bbiekre ne legyen hat�ssal, akkor azt itt tedd meg.
P�ld�ul sok alkalmaz�s k�rnyezeti v�ltoz�kat haszn�l a m�k�d�s�nek be�ll�t�s�ra.
Nekem van egy "EDITOR
" v�ltoz�m, ami a "vi
" programra van be�ll�tva,
�gy �n ezt haszn�lhatom a Midnight Commanderben (egy kiv�l� karakteres f�jlkezel�) az � saj�t
sz�vegszerkeszt�je helyett.
A bash alapjait k�nny� megtanulni. De ne �llj meg itt: hihetetlen m�lys�gei vannak. Tedd szok�sodd�, hogy mindig jobb utat keresel egy dolog v�ghezvitel�re.
Olvass shell szkripteket, keresd meg azokat a r�szeket, amelyeket nem �rtesz.
A legt�bb dolgot a bash-ban olyan parancsok seg�ts�g�vel v�gezheted el, mint a cp
.
Ezen parancsok legt�bbje kis program, b�r van n�h�ny - p�ld�ul a "cd
" - amely be van �p�tve a shell-be.
A parancsok csomagokban vannak, legt�bbj�ket a Free Software Foundation (Szabad Szoftver Alap�tv�ny) k�sz�ti. Ahelyett, hogy itt felsoroln�m a csomagokat, �tir�ny�talak a Linux From Scratch HOWTO (Linux a kezdetekt�l HOGYAN) honlapra. Ez egy teljes �s frissen tartott list�ja a Linux rendszerben l�v� csomagoknak, valamint �tmutat�s ahhoz, hogyan k�sz�ts�k el ezeket.
Az egyik legjobb dolog a Linuxban - szer�ny v�lem�nyem szerint - hogy a belsej�be n�zhetsz �s megtudhatod mik�nt m�k�dik. Rem�lem, legal�bb annyira �lvezed ezt mint �n, �s ez kis jegyzet seg�t abban, hogy ezt megtedd.
Eme dokumentum szerz�i jogait (c) 1999, 2000 Greg O'Keefe birtokolja. D�jaz�s n�lk�l haszn�lhatod, m�solhatod, terjesztheted vagy m�dos�thatod a GNU General Public Licence felt�telei szerint. K�rlek eml�tsd meg nevem, amennyiben ezt a dokumentumot r�szben vagy eg�szben felhaszn�lod egy m�sik dokumentumban.
A magyar ford�t�st Koller Csaba k�sz�tette (2002.11.25). A lektor�l�st Daczi L�szl� �s Sz�jj�rt� L�szl� v�gezte el (2003.07.18). B�rmilyen ford�t�ssal kapcsolatos �szrev�telt a linuxhowto@sch.bme.hu c�mre k�ldjetek. Eme dokumentum legfrissebb v�ltozata megtal�lhat� a Magyar Linux Dokument�ci�s Projekt honlapj�n.
A dokumentum legutols� v�ltozat�t a From Powerup To Bash Prompt honlapon tal�lod meg, csak�gy mint a p�rj�t, a "Building a Minimal Linux System from Source Code" le�r�st.
A francia ford�t�s a From Powerup To Bash Prompt honlapon tal�lhat�, k�sz�net �rte Dominique van den Broeck-nek. A jap�n ford�t�st Yuji Senda k�sz�ti el hamarosan, ha nem lenne a Japanese Documentation and FAQ Project honlapon m�ris.
B�rmilyen megjegyz�sedr�l, kritik�dr�l �s aj�nl�sodr�l szeretn�k hallani, a dokumentum fejleszt�se �rdek�ben. K�rlek k�ld el ezeket nekem: Greg O'Keefe.
A term�knevek az illet� c�gek �ltal bejegyzett v�djegyek, erre val� tekintettel ez itt megeml�t�sre ker�lt.
Szeretn�k p�r embernek k�sz�netet mondani az�rt, hogy seg�tettek ennek a doksinak a l�trehoz�s�ban.
Eml�keztetett az Unios-ra.
N�h�ny �tletet adott az /etc/passwd
-h�z.
R�mutatott, hogy a syslogd-nak az /etc/services
-re van sz�ks�ge,
�s megismertetett a "rolling your own" kifejez�ssel annak �rdek�ben,
hogy le�rjam egy rendszer forr�sk�db�l t�rt�n� fel�p�t�s�nek menet�t.
Felh�vta a figyelmem Vico-ra, az � mond�sa a "verum ipsum factum" (jelent�se: a dolgokat k�sz�t�s�k k�zben ismerj�k meg igaz�n).
Kijav�totta a hexadecim�lis sz�m�t�saimat.
R�mutatott n�h�ny helyes�r�si hib�ra.
K�zrem�k�d�tt a kernel d�monokr�l sz�l� r�sz megalkot�s�ban.
Leford�totta a dokumentumot franci�ra.
N�h�ny hasznos inform�ci�t adott a kernel d�monokr�l.
N�h�ny hasznos inform�ci�t adott a kernel d�monokr�l.
Elk�sz�tette a jap�n ford�t�st.
K�zrem�k�d�tt a GNU assembler UNIOS v�ltozat�nak l�trehoz�s�ban (l�sd a forr�sok fejezetet a honlapon).
/proc
f�jlrendszerr�l.