Professional Documents
Culture Documents
A UNIX-rl
A Unix nem egy j opercis rendszer. Elg rgta (informatikai mrtkkel mrve nagyon
rgta) stabilan s egyre nvekv arnyban jelen van a szmtstechnikai vilgban. Hossz ideig
az egyetemi, kutati szfrban volt egyeduralkod, s mostanban egyre jabb s jabb
terleteket (banki, vllalati, adatfeldolgoz szfra) hdt meg. Legfbb ereje dinamikussgban,
alkalmazkodkpessgben
rejlik:
kpes
ugyanazt
krnyezetet
nyjtani
mind
non-profit szervezetek
publikuss tettk.
Manapsg taln ez a Unix (Linux) rendszerek gyors terjedsnek f oka. A Linux az Interneten
szletett: br tmogat ms hlzati protokollokat is, igazn egyszeren Internetes krnyezetbe
illeszthet.
A Linux folyamatosan fejld rendszer. Gyors fejldsnek s terjedsnek egyik oka az, hogy a
fejlesztk mr a munkaverzikat elrhetv tettk (s teszik jelenleg is) brki szmra, akrki
kiprblhatta (kiprblhatja) a fejleszts brmely stdiumban. Teljesen tipikus eset, hogy - mert
a teljes forrskd mindig hozzfrhet - hogy az nkntes (njellt) tesztelk a megtallt hibkat
mr a javtssal egytt kldtk vissza a fejlesztknek - az Interneten.
Mivel a Linux rendkvl gyorsan fejldik, (hetente, de nha kt-hrom naponta is jelenik meg j
verzi), szsges taln mr itt az elejn kis rendet tennni a verziszmok dzsungelben.
Legelszr is jegyezzk meg, hogy ha "stabil" verzirl beszlnk, akkor is csak sajt
felelssgnkre hasznlhatjuk a Linuxot: mivel nem ll mgtte kereskedelmi cg, nincs aki a
megbzhat mkdsrt garancit vllaljon. (Ha hajlandk vagyunk ldozni r, vsrolhatunk
support-ot valamely erre szakosodott cgtl - br Linuxra szakosodott cgek jelenleg leginkbb
csak az USA-ban mkdnek - az igyenes Linuxhoz azonban nem jr garancia.)
Ha lefagy, s fontos adataink vesznek el, csak magunkra szmthatunk - azonban a tbb szzezer
Linux felhasznl tansga szerint a Linuxnak nem igazn szoksa lefagyni. Megjegyzend
egybknt, hogy szoftvereik hibamentessgre gyakran nagy szoftvercgek sem vllalnak
garancit.
A kernel verziszmrl
Linux verziszm alatt az n. "kernel", az opercis rendszer mag verziszmt rtjk, ez a
tulajdonkppeni Linux, azonban mint minden opercis rendszer esetn, nmagban ez nem j
semmire: arra val, hogy ms (felhasznli) programokat futtassunk vele (rajta). A kernel
verziszmozsa a kvetkez: x.y.z, ahol az x a f verziszm, ez jelenleg 2 az y, a kzps
szm az al-verziszm, amely ha pros, akkor az egy "stabil" verzit jelent, s ha pratlan, akkor
pedig fejleszti verzit. A harmadik szm, a z pedig az n. patch-level: az aprbb vltoztatsokat
sorszmozzk ezzel. E sorok irsa idejn a legutols stabil, bta llapot verzi szma 2.4.0 volt.
A disztribcikrl
Szoks mg az n. disztribci verziszmrl is beszlni: a disztribci egy Linux kernelen
alapul teljes (mkdkpes) Unix rendszer, segdprogramokkal, alkalmazsokkal egytt. Egy
disztribci elksztse tulajdonkppen a C forrsban meglv utility-k, programok
lefordtsbl,
knyvtrstruktrba
helyezsbl
sszekonfigurlsbl
ll.
Sokfle
sszefoglalva
A UNIX nv teht nem csak egy szimpla opercis rendszert jelent, hanem a hozz kapcsold
user interface-t, programokat, segdprogramokat, amelyek egytt egy tbbfelhasznls, (multi
user) tbbfeladatos (multi tasking) rendszer hasznlatt teszik lehetv. Mg a DOS
egyfelhasznls, egyfeladatos rendszer, azaz egyszerre csak egy felhasznl egy programot
futtathat rajta, addig a UNIX alatt egyszerre tbb felhasznl is dolgozhat, s mindegyikk tbb
programot is futtathat egyidejleg. A prhuzamosan fut programok prioritsuk alapjn jutnak
processzor idhz. A tbbprocesszoros rendszereknl lehetsges, hogy az egyes processzorokon
kln fussanak a programok.
A UNIX felptse
A UNIX rteges felpts. A legbels rsze a kernel, az opercis rendszer magja, amely a
rendszer erforrsainak sztosztst, s a fut folyamatok temezst vgzi. A kernel kr
plnek a UNIX klnbz programjai. Ezek kz tartoznak a klnbz segdprogramok (pld.
ls, cat, mv) s a felhasznl szmra a legfontosabb az gynevezett parancsrtelmez (shell,
"hj", "burok"). Ez az a program , amely egy felhasznl belpsekor elindul, kirja a promptot,
beolvassa s rtelmezi a felhasznl ltal begpelt parancsokat, meghvja az elindthat
programokat s mg egy igen rugalmas programozsi nyelvet is ad a felhasznl szmra.
Bejelentkezs, bejelentkezsi nevek s kulcsszavak
A tbbfelhasznls mkds alapja, hogy a gp bekapcsolsnak s a felhasznl belpsnek a
folyamata sztvlik. Mivel az egyes felhasznlkat egy UNIX-os gpen meg kell klnbztetni,
minden egyes felhasznlnak gynevezett bejelentkezsi neve (login identifer, login id) van. Ez
ltalban 8 karakternl nem hosszabb. A belpsi nv utn a rendszer egy jelszt kr tlnk.
Ennek clja az egyes felhasznlk adatainak vdelme. A felhasznlknak a rendszergazda
(superuser) adja meg a belpsi nevet s a jelszt is lltja be. A felhasznlnak azonban a
passwd parancs hasznlatval mdja van a jelsz megvltoztatsra. A rendszergazda kifejezs
kapcsn szt kell ejteni egy rendszeren bell a norml s privilgizlt felhasznlk kzti
klnbsgrl.
A UNIX gpeken mint ltalban minden nagyobb gpen igaz, hogy a felhasznlk kzl egyesek
specilis eljogokkal rendelkeznek ms norml felhasznlkkal szemben. k a privilgizlt
felhasznlk. Feladatuk lehet pldul a rendszer kikapcsolsa, j felhasznlk adminisztrcija,
programcsomagok installlsa stb. A privilgizlt felhasznlk kztt is kiemelt szerepe van a
rendszergazdnak, az, aki mindent megtehet, mert mindenre van jogosultsga. Minden UNIX
rendszeren kell hogy legyen egy rendszergazda, aki a fent emltett feladatokat elvgzi. Nagyobb
rendszereken ms-ms szemly vgezheti ezeket a feladatokat. A rendszergazda bejelentkezsi
neve hagyomnyosan root.
Folyamatkezels, eltr- httrfolyamatok, dmonok s jobok
A UNIX rendszernl a vgzett tbbfelhasznls munka sorn kt igen fontos nem azonos
fogalmat kell megemlteni a program s a folyamat fogalmt. A program egy futtathat fjl, mg
a folyamat a felhasznl ltal elindtott programbl keletkezik. Ez azt jelenti, hogy egyetlen
programnak tbb felhasznl ltal trtn elindtsakor tbb folyamat keletkezik, vagy egyetlen
felhasznl ltal ugyanazon program tbbszri indtsa sorn szintn tbb folyamat indul el.
A munka sorn a kiadott parancsok a DOS opercis rendszerhez hasonlan szekvencilisan
kerlnek vgrehajtsra. A DOS-al ellenttben itt viszont md van gynevezett httrfolyamatok
elindtsra, ahol a parancs kiadsa utn a promptot azonnal visszakapjuk s az elzleg kiadott
parancs vgrehajtsa a httrben folyik tovbb. Ehhez hasonl lehetsget nyjt PC-n a
WINDOWS gynevezett protected (vdett) zemmdban trtn alkalmazsa. A httrfolyamat
egy specilis fajtja dmon folyamat. Ezt a rendszer automatikusan indtja el s valamilyen
felgyeleti szerepet lt el. Pldul gondoskodik a nyomtatsi krelmek besorolsrl s
vgrehajtsrl. A dmonoknak vgrehajtsra tadott nyomtatsi s egyb krelmeket job-oknak
nevezik, ezeket a dmon srgssgi s egyb szempontok alapjn sorba rendezi s egyenknt
hajtja vgre.
A fjlrendszer, fjlok s katalgusok
A UNIX legfontosabb alapfogalma a fjl, ami ebben az esetben egyszeren csak bjtok
(karakterek) sorozata. Nem csak programokat s adatokat trolunk a fjlokban, de a parancsok is
futtathat fjlok, st mg a terminlokra is ugyangy runk, mint egy kznsges adatfjlba.
(Rviden: a UNIX-ban minden fjl, azaz a UNIX minden adatobjektumot azonos mdon, azonos
parancsokkal prbl meg kezelni.)
/etc Egyb rendszerfjlok, rendszerint a rendszeradminisztrcis fjlok. A legtbb esetben itt van
a jelszavakat trol fjl is. .
/tmp tmeneti trolsra szolgl alknyvtr. Ezt az alknyvtrat rendszeres idkznknt trlik,
ezrt soha ne troljunk itt semmi rtkeset!
/usr A felhasznli fjlrendszer: munkaknyvtrak, stb.
/home Bejelentkezsi katalgus (Home directory) a felhasznlk Home knyvtrai.
A fjlrendszer kitntetett pontjai
A UNIX fjlrendszerben hrom kitntetett pont ltezik az egyes felhasznlk szmra.
A gykrkatalgus (root directory) a fjlrendszer kezdpontja, ahonnan az egsz
llomnyrendszer felpl.
A bejelentkezsi vagy alapkatalgus (home directory home knyvtr) az egyes
felhasznlkhoz tartoz kiindulsi pont, ahonnan kezdve a felhasznl elhelyezheti sajt
llomnyait.
Az aktulis vagy munkakatalgus (working directory) az a pont ahol a felhasznl ppen
tartzkodik az llomnyrendszeren bell.
Mi van mg a fjlrendszerben ?
A UNIX fontos tulajdonsga, hogy tbbfelhasznls (multi user), teht biztostania kell, hogy a
felhasznlk egyms fjljaihoz ne nylhassanak hozz. Ennek elrse rdekben talltk ki a
UNIX alkoti a fjlelrsi jogokat (file permissions). Ennek az a lnyege, hogy a tulajdonos
(user) kontrolllja azt, hogy ki frhet hozz az ltala a gpen elhelyezett fjlokhoz,
knyvtrakhoz.
A UNIX lehetsget biztost arra is, hogy a felhasznli csoportok tagjai fjlokat megosszanak
egyms kztt, s a kzs fjlok lehetnek a csoport (s nem egyetlen felhasznl) tulajdonban.
Hrom fle jog ltezik: olvassi (read), rsi (write) s futtatsi (execute).
Ezeket a jogokat hrom osztlyba osztva adhatjuk meg: magunkra (user), a csoportunkra (group)
s mindenki msra (others) nzve.
Az olvassi jog lehetve teszi, hogy a felhasznl a fjl tartalmt megnzhesse, knyvtrak
esetn pedig, hogy azt kilistzhassa (ls parancs).
Az rsi jog a felhasznl szmra engedlyezi a fjlok rst, mdostst, knyvtrak esetben
pedig j fjlok ltrehozst s a rgiek trlst.
Vgl a futtatsi jog lehetv teszi a programok, burokprogramok (shell script-ek - amennyiben
a fjl egy program) - futtatst; knyvtrak esetn az oda val belpst (cd parancs).
Az mv (move) parancs
A fjlok llomnyrendszeren belli mozgatsra szolgl parancs. Az els paramterknt
megadott file nevet tkereszteli a msodik paramterben megadott file nvre. Ha az utols
paramter katalgus nv, akkor az eltte lv fjlokat thelyezi oda nv vltoztats nlkl. pl.
mv file1 file2 (Ha a file2 mr ltezik, akkor azt fellrja rendszerint figyelmeztets nlkl.)
mv file1 file2 demo
A cp (copy) parancs
Fjlok msolsra szolgl parancs. Az elz parancshoz hasonlan mkdik. Ebben az esetben
is kt paramtert kell megadni, elsknt a msolni kvnt fjl nevt, majd msodik paramterknt
a clfjlt, vagy clkatalgus nevt. Ha egy fjlt az aktulis knyvtrbl egy msik knyvtrba
akarunk msolni vagy mozgatni, meg kell adnunk a cl knyvtr nevt is. Ha a mvelet trgyt
kpz fjl nincs az aktulis alknyvtrban, akkor azt is meg kell adni, hogy melyik knyvtrban
tlaljuk meg. Az albbi parancs az aktulis knyvtrban lev level1 fjlt tmsolja az (aktulis
knyvtrbl nyl) mail knyvtrba:
cp level1 mail
A kvetkez plda felttelezi, hogy ppen nem tudjuk, melyik knyvtrban vagyunk, s a
gykrbl nyl public/news alknyvtrbl szeretnnk "hazamsolni" (a "home directory"-nkba)
a last-news nev fjlt. Ime:
cp /public/news/last-news ~
A ~ jel a bejelentkezsi (home) knyvtrunk rvid neve, gy nem kell kirnunk az ltalban
tekintlyes hosszsg (/home/users/13k/akarki) home knyvtr nevet.
Az aktulis knyvtrnak is van egy rvidtett neve, mgpedig a pont (.). A kvetkez parancs a
/usr/news/legujabb nev fjlt msolja t oda, ahol ppen tartzkodunk - vagyis az aktulis
alknyvtrba.
cp /usr/news/legujabb .
Kapcsolk:
-i Interaktv mkdsi md. Megkrdezi, hogy valban szeretnnk-e a fjlt fellrni.
-p Megrzi s rkti az eredeti fjl hozzfrsi jogait.
-r A megadott msoland katalgust a benne lv alkatalgusokkal egytt msolja.
-f Ha rsvdett a fjl vagy katalgus nem jelez hibt.
Az rm (remove) parancs
Fjlok trlsre szolgl parancs. Ennl a parancsnl szintn megadhatunk tbb fjlnevet a
paramterlistn. pl.
rm file1 file2 file3
Ez a parancs letrli a file1, file2 s file3 nev fjlokat az aktulis alknyvtrbl.
Kapcsolk:
-f Visszakrdezs nlkl trli az llomnyt, akkor is ha az rsvdett.
-r Az argumentumlistn megadott katalgustl kezdve rekurzven trli az alatta lv
llomnyokat s katalgusokat (mindent !)
-i Az llomnyok trlse eltt megkrdezi a felhasznlt.
!!!Ha egy fjlt letrltnk vagy fellrtunk, akkor az megsemmisl s semmilyen eszkzzel sem
lehet visszalltani!!!
Az ln parancs
Segtsgvel egy fjlra tbb fle nvvel is hivatkozhatunk, vagyis egy adott fjlnak tbbfle
nevet adhatunk.
Ez akkor lehet fontos, amikor van kett (vagy tbb) futtathat programunk melyek hasonl
feladatokat ltnak el, s nem akarjuk mindkettt kln-kln lefordtani binris programm,
hanem csak egy nagyobb programot akarunk melyet aszerint futtatunk le, hogy milyen nven
hivatkozunk r. gy memria s lemezterleteket lehet megtakartani. Szp plda erre ppen ez a
parancs, mely hasonl a cp s az mv parancshoz, gy e hrom tevkenysget tulajdonkppen egy
binris program vgzi.
A UNIX ktfle linket ismer a hard s a soft linket, melyek csak abban klnbznek egymstl,
hogy a UNIX mskpp kezeli ket.
Szintaxisa:
ln [ -s ] forrsnv clnv
Kapcsolk:
-s Soft linket kszt. (Kapcsol nlkl hard linket kszt.)
Pldul: Hard link kszitse:
ln egy ketto
Most az egy s a ketto ugyanaz a fjl - teht, ha az egyiket mdostjuk a msik is mdosul, mivel
csak a nv ms, a fjl ugyanaz. Ugy is felfoghatjuk, hogy egy fjlnak egyszerre ket nve is van.
Soft, avagy szimblikus link kszitse:
ln -s egy ketto
Mveletek szvegfjlokkal
A cat parancs
A cat parancs a paramterknt megnevezett fjlokat listzza ki folyamatosan trdels nlkl. pld
cat file1 (A file1 tartalmt kiratja a kpernyre.)
Kapcsolk:
-s Nem kapunk hibazenetet hinyz llomnyok esetn.
-v A nem nyomtathat karaktereket olvashat formban jelenti meg.
A touch parancs
Mdostja az utols hozzfrs dtumt vagy (ha mg nem ltez fjlra hasznljuk) ltrehozza
azt 0 hosszsggal.
touch file1
A more parancs
Hasonl mint a cat parancs, csak a fjl tartalmt oldalanknt jelenti meg. pld
more file1
A szvegbl most egy kpernynyi rsz jelenik meg, a szkz (space) billenty lenyomsra
megmutatja a kvetkez oldalt. Ha nem akarjuk vgignzni az egsz fjlt, ssk le a q bett vagy
a Ctrl-C-t.
A head parancs
Egy fjl els sorait lehet vele megjelenteni:
head -15 file1
A file1 fjl els tizent sort listzza ki.
A tail parancs
A fjl utols sorait lehet vele megtekinteni. pld
tail -3 fjl_nv
A file parancs
A file parancs egy adott fjl tpusnak meghatrozsra szolgl. Kapcsolk nlkl az aktulis
katalgusban vizsgl.
Kapcsolk:
-f knv A knv nev katalgusbl vizsglja a megadott fjl neveket.
-L Ha a fjl szimblikus link, akkor magt a fjlt vizsglja.
pld
file -f /home/demo file1
file1:ascii text
De a file* parancs az aktulis katalgus fjljait fogja megvizsglni.
A du parancs
A fjljaink s knyvtraink ltal elfoglalt lemezterletet lehet vele megtekinteni.
Szintaxisa:
du [ -a ] [ -s ] directory
Kapcsolk:
-a A knytrban szerepl sszes fjlrl is ad adatot.
-s Csak a knyvtr teljes helyfoglalst rja ki.
pld
du -s konyvtar
15 (A du parancs az eredmnyt kilobjtban adja meg.)
A cmp parancs
sszehasonlit kt llomnyt ha nincs klnbsg nem tesz semmit, ha van akkor ki irja azt a sort
ami klnbzik.
A comm parancs
sszehasonlt kt sorbarendezett file-t, sorrl sorra. kiirja azokat a sorokat, amelyek
megegyeznek, s amelyek klnbznek a kt file-ban. A kt file-nak rendezettnek kell lenni a
comm hasznlata eltt. Ha file-nvknt `-'-t adunk meg, az a standard bemenetet jelenti. Opcik
nkl a comm hrom oszlopot ad kimenetknt. Az els oszlop a file1-ben lv egyedi sorokat
mutatja, a msodik oszlop a file2-ben lvket, a harmadik pedig azokat, amelyek mindkettben
egyformk.
A UNIX shell
A UNIX felptse cm fejezetben mr volt rla sz. A shell az a program, amelyik elindul
amikor belpnk egy UNIX rendszerbe, a parancsokat innen adjuk ki s a parancsok
vgrehajtsa utn ide trnk vissza (hasonl a DOS command processzorhoz). Minden shell egy
un. prompttal jelzi, hogy ksz a parancsok fogadsra. Shell-bl tbb fajta ltezik. Az
albbiakban a legelterjedttebb vltozatairl lesz sz. Kt f kategria van: az un. "Bourne shell"
s a "C shell", ezek neve sh s csh. Nevkn kvl szintaxisukban klnbznek: a csh a C
programoknl hasznlatos szintaktikt kveti hasonlan a tcsh-hoz, amely a csh egy kibvtett
vltozata. Termszetesen az sh-nak is van bvitett vltozata: a ksh (Korn shell). Ez utbbi
mindazokat a funkcikat igyekszik megvalstani amivel a csh tbb az sh-nl. pl. "history" buffer
hasonlan a DOS doskey funkcijhoz, vagy aliasing mechanizmus, amelynek rvn hossz
parancsokra rvidebb nevekkel tudunk hivatkozni. Mi a Bash shellt hasznljuk ez egyesti a kt
shell fajat elnys tulajdongait.
Amennyiben egy loklis vagy krnyezeti vltozra nincs szksgnk, kitrlhetjk ket. Sh-ban
unset vltoznv, csh-ban a loklis vltozkra unset vltoznv, a globlisokra pedig unsetenv
vltoznv. Azt hogy milyen vltozk vannak bellitva gy tudhatjuk meg, hogy a set ill. a
setenv parancsok utn nem runk vltoznevet.
A PATH krnyezeti vltoz
Kiemelten kezeli a shell a PATH (csh-ban path) nev vltozt, ugyanis ez a vltoz jelzi a shell
szmra, hogy hol kell keresnie a futtatand programot. Pldul:
echo $PATH
/bin /usr/bin /usr/local/bin .
A fenti plda az sh -t mutatja, mindez csh-ban igy nz ki:
echo $path
/bin /usr/bin /usr/local/bin .
Teht a shell elszr megnzi, hogy a futtatand program a /bin-ben, a /usr/bin-ben, a
/usr/local/bin-ben vgl pedig az aktulis knyvtrban (a "." ezt jelzi) tallhat-e?
Automatikus indts shell scriptek
Minden shell kpes arra, hogy indulaskor egy adott nev shell scriptet elindtson, gy a
felhasznlknak lehetsgk van arra, hogy krnyezetket szemlyisgkhz igaztsk.
Ez a program az sh-nl a bejelentkezsi knyvtrban (home directory) lv ".profile", csh
esetben pedig a bejelentkezs esetn a ".login" s minden ms csh indtsnl a bejelentkezsi
knyvtrban lv ".cshrc" rejtett fjl. Ki-ki ebbe teheti az ltala kedvelt vltoz s krnyezet
belltsokat.
Lssuk mit lehet belltani egy .cshrc fjlban.
cat .cshrc
set history=100
alias h history
alias ls ls -F
alias ll 'ls -l | more'
set prompt="`hostname` > "
A set history arra szolgl, hogy a begpelt parancsainkat a rendszer megrizze. A 100-as szm
azt jelzi, hogy 100 parancsot riz meg. (mint a DOS-nl a doskey)
A h parancs most a history parancs ekvivalense - a history parancs az eddig begpelt utastsokat
listzza ki.
UNIX-ban a cs (pipe) fogalmt. Azt, hogy egy program kimenett egy msik bemenetre
szeretnnk tirnytani a "|" jellel jelezzk.
Vegynk egy konkrt pldt - szeretnnk a bejelentkezsi knyvtrunkat fordtott abc-sorrendben
kiratni. Eddigi tudsunkkal hogyan tudjuk ezt megvalstani?
ls -l > file_list
cat file_list
total 3
drwxr-xr-x 2 fvarga 1024 Jul 21 1992 Apps
drwxr-xr-x 8 fvarga 1024 Oct 19 13:35 Library
drwxr-xr-x 3 fvarga 1024 Jul 25 1992 Mailboxes
sort -r < file_list
total 3
drwxr-xr-x 3 fvarga 1024 Jul 25 1992 Mailboxes
drwxr-xr-x 8 fvarga 1024 Oct 19 13:35 Library
drwxr-xr-x 2 fvarga 1024 Jul 21 1992 Apps
A sort kapcsoli csak azt jelentik, hogy a 3. meztl kezdjen rendezni (egyet ki kell vonni a
mez sorszmbl!), s hogy forditva (r - reverse)
Ezt a cs hasznlatval egy sorban is el lehet intzni, s az eredmny ugyanaz:
ls -l | sort -r
Nagyon j szolglatot tesznek a csvek a hosszu knyvtrlistk nzegetsnl is. Az ls -l | more
paranccsal oldalanknt nzegethetjk a listt, igy az nem fut le a kpernyrl.
forrs: Csonka Gabor es Varga Ferenc: UNIX felhasznli ismeretek
LINUX
BEVETEZETS
A Linux szabadterjeszts szoftver, teht brki ingyen msolhatja, tovbbadhatja, mdosthatja,
ha ezrt nem kr pnzt. (Ez egy kiss bonyolultabb, de pecz megfogalmazsban olvashat a 6.2
fejezetben.) Ebbl addan a Linux mgtt nincs egy vilgcg, amely reklmmal, piackutatssal,
megvesztegetssel egyengetn a rendszer tjt. Ezzel szemben tbb szz fejleszt dolgozik a
tkletestsn, s Linus Torvalds mostanra nemcsak fejleszti Linux-ot, hanem ezt a fejlesztst
koordinlja. Ezek a fejlesztk tbbnyire nem ismerik egymst, csak az Interneten keresztl
tartjk a kapcsolatot. Ez a sztszrt fejleszts mgis olyan hatkonysggal trtnik, hogy a Linux
megbzhatsg, sebessg tekintetben btran felveheti a versenyt brmely ``pnzes'' opercis
rendszerrel. (Az rban meg egyenesen verhetetlen.)
A Linux trtnetbe val bepillants teht egy olyan vilgba vezet minket, ahol a programozk
``dicssgrt'' programoznak, mindenki szabadon tadja ismereteit a tbbieknek, s az egsz
vllalkozst a lelkeseds viszi elre, mgis a szoftvernagyhatalmakkal sszevethet
eredmnyessggel dolgozik.
Ez a mentalits nemcsak a Linuxot jellemzi, hisz mr a `70-es vekben jelentkeztek a UNIX-os
vilgban az els szabad terjeszts programok (maga a UNIX is az volt eredetileg). Ezeket a
szabad szoftvereket a ``GNU project'', valamint a ``Free Software Foundation'' fogja ssze,
melyeknek tevkenysge szlesesebb kr, mint a Linux rendszer. Ezen munkkba is bepillantst
szeretnnk adni ezen dolgozatban.
MI IS AZ A LINUX?
Ma a Linux egy 32/64 bites, POSIX szabvnyt kvet UNIX vltozat, amely eredetileg csak
IBM PC gpeken futott (80386 vagy jobb processzor esetn), de mra nagyon sok hardverre
adaptltk. gy ltezik Linux DEC AXP, PowerPC, M680x0, Sun Sparc alap gpekre is. A
klnbz hardverekre a rendszer kidolgozottsga eltr fok, de mindegyik esetn legalbbis
sszemrhet hatkonysg s megbzhatsg az azon a gpen szoksos opercis
rendszerekkel, tbb esetben pedig sok szempontbl jobb.
Klnsen igaz ez a 386/486/586/686 alap IBM PC-k esetben: sebessg s megbzhatsg
tekintetben messze tlszrnyalja a leginkbb elterjedt DOS, Windows, Windows '95
rendszereket. Pldul teljesen megszokott, hogy egy Linuxos szerver jjel-nappali zemben
dolgozva, 2-6 felhasznl ltal ignybe vve hnapokig megbzhatan zemel, mg a
legelterjedtebb rendszerekkel egy felhasznl sem tudja knnyen elrni, hogy naponta egyszer ne
kapjon ``ltalnos vdelmi hiba'', vagy hasonl sokatmond zenetet.
Egy msik plda erre az, hogy az Ultra Sparc processzoron fut 64 bites Linux teljesen stabilnak
tnik, mg a Sun mg nem tudott elllni stabil 64 bites opercis rendszerrel ugyanerre a
processzorra..
A Linux valban 32/64 bites s valban tbbfelhasznls (multiuser) s tbbfeladatos
(multitasking) opercis rendszer. Ennek az az oka, hogy rja nem egy korbbi rendszert kezdett
el tkletestgetni, toldozgatni, hanem ``az els bittl kezdve'' elrl rta meg, felhasznlva sok
ms programoz tapasztalatt, ksbb programrszleteit.
A nagyon gondos programozs miatt ritka, hogy kt program (pontosabban: kt process) zavarja
egymst, gy kitnen alkalmas programfejlesztsre is.
A Linux rendelkezik a szoksos funkcikkal: virtulis memria, merevlemez gyorsttr,
memrialemez, Internet hozzfrs, a leggyakoribb hardverelemek (CD-olvas/ir, nyomtat,
IDE s SCSI lemezek, stb.) kezelse.
A rendszer kidolgozottsga olyan fok, hogy egyre tbb helyen alkalmazzk UNIXos
munkallomsknt, vagy hlzati szerverknt. Mindkt esetben hatalmas elny a szoksos IBM
PC-s programokkal szemben a nagyfok megbzhatsg s az alacsony r, valamint az sem
elhanyagolhat, hogy nagyon nagy a hasonlsg a Linux s a ``nagygpek'' opercis rendszerei
kzt, azaz pl.\ egy Linuxos program knnyen tvihet mondjuk egy Sun SPARC gpre, de
gondos programozs esetn akr egy CRAY szupergpre is.
Joggal merlhet fel a krds: ha mindez gy van, mirt nem Linuxot hasznl mindenki a vilgon.
Erre a dolgozat htralev rszben rszletes magyarzatot adunk, itt csak a fbb szempontokat
emltjk meg.
Mivel a Linux szabadterjeszts, gy a programozk szmra nem biztost meglhetst (st,
leginkbb egy garast sem). Ezrt senki nem vllal felelssget azrt, hogy az ltala rt rsz
mkdni fog. Ez sokakat visszariaszt, s ki sem prbljk a rendszert. Tovbb, mivel nincs a
Linux mgtt egy nagy cg, nincs biztostk arra, hogy a rendszer fejlesztse nem marad abba
mondjuk jvre. Ugyanezen ok miatt nincs reklmozva sem a termk, teht sokan meg sem
ismerik.
Az, hogy ezek ellenre a Linux-felhasznlk szma millikban mrhet, azt jelzi, hogy rdemes
erre a rendszerre odafigyelni, s a szmtstechnika trtnetnek rdekes, s ma is l sznfoltjt
jelenti ez a program, s az a mozgalom, ami krltte kialakult.
Azt hiszem, soha senki nem fordtotta le ezt a vltozatot. De akkor mr beindultam, s nem
akartam addig megllni, amg tl nem haladom a Minixet.
Amikor Linus ttrt a C nyelvre, a fejleszts lnyegesen gyorsabb vlt, s olyan nagyratr
tervek fogalmazdtak meg, hogy valaha le lehessen fordtani a GNU C fordtjt Linux alatt.
(Ma mr csak csodlkozni lehet azon, hogy 1991-ben ez volt a nagy lom, s azta hol tart a
rendszer.)
Ez a legels vltozat mg nem volt hasznlhat: csak Minix alatt lehetett lefordtani, s semmi
hasznos funkcija nem volt azon kvl, hogy rja megismerkedett a processzorral.
1991. oktber 5-n hirdette meg Linus az els ``hivatalos'', 0.02-es Linux-ot az Interneten. Ekkor
mr nhny alapprogram futott a rendszeren (pl. a GNU ``gcc'' nev C fordtja, valamint a
``bash'' burokprogram), gy mr el lehetett kezdeni hasznlni a rendszert. Ekkor nem is a
rendszer hasznlhatsgnak nvelse volt a f cl, hanem a rendszermag fejlesztse. Ezrt
ekkor nem kszltek dokumentcik, installcis csomagok, stb. A Linux ekkor mg csak a
megszllott hackereknek kszlt.
Linus ekkor elhatrozta, hogy az Interneten keresztl bevonja a fejlesztsbe a szabad
kapacitssal rendelkez programozkat, s a kvetkez hirdetmnyt tette kzz a comp.os.minix
hrcsoportban:
Svrogsz a Minix-1.1 szp napjai utn, amikor a frfiak igazi frfiak voltak, s mindenki maga
rta a sajt eszkzmeghajtjt? Egy szp project nlkl vagy, s pp fened a fogad egy opercis
rendszerre, amit ignyeidnek megfelelen alakthatsz? Frusztrlnak tallod, ha minden
mkdik Minix alatt? ...Akkor ez a levl lehet hogy pont neked szl.
Ahogy egy hnapja emltettem, egy szabad Minix-szersgen dolgozom AT-386 szmtgpre.
Vglis elrkeztem egy olyan llapotra, amikor ez egytaln hasznlhat (br ez fgghet attl,
mit akarsz), s a program forrskdjt szlesebb krben tervezem sztosztani. Ez mg csak a
0.02-es vltozat, de sikeresen futtattam a bash, gcc, gnu-make, gnu-sed, compress, stb.
programokat alatta.
Megjegyzend, hogy ekkor, s mg egy darabig a Linux ersen kapcsoldott a Minix-hez:
nllan nem is ltezett, csak alatta lehetett lefordtani, futtatni, tovbb az Interneten is a Minix
hrcsoportjban folyt a Linux-rl szl trgyals.
A 0.03-as verzi kt-hrom ht alatt megszletett, majd 1991.\ decemberben Linus kibocstotta
a 0.10-eset is. Ez az ugrs a szmozsban azt tkrzte, hogy jelentsen megntt a Linux alatt
futtathat alkalmazsok szma, de a Linux mg mindig nem volt nll, szerzje szerint is ``egy
hacker ltal hackereknek rt'' rendszerrl van sz, gy a rendszernek csak fejleszti vannak,
felhaszli nem.
demand loading
hibajavtsok
Hercules/MDA/CGA/EGA/VGA tmogats
amerikai/nmet/francia/finn billentyzet
A 0.12-es vltozat 1992. janur 15-n ltott napvilgot, nhny bvtssel: Mr volt init/login
szolgltats (nem root-knt kellett elszr bejelentkezni, s inicializlni a rendszert), kzeledett a
POSIX szabvnyhoz, virtulis memrit is hasznlt s kissebb korrekcikat tartalmazott.
Ez egy elg stabil vltozat lett, ekkortl kezddtt el a Linux igazi hdtsa. A 0.12-es Linuxot
ugyanis elkezdtk hasznlni ``egyszer'' felhasznlk is, nemcsak megszllottak.
Szintn ehhez a vltozathoz kapcsoldik a Linux fejlesztsnek kiszlesedse: a 0.12-es mr
lnyeges rszeket tartalmazott, melyeket nem Linus Torvalds rt. Pl. a ``job control''-t Theodore
Ts'o, a virtulis konzolokat Peter MacDonald programozta.
Az gy elll rendszer mr tbb vonatkozsban jobb volt a Minix-nl, de mg mindig nem volt
lthat, hogy ebbl akkora mozgalom lesz, mint ami mra kialakult.
A sikeren felbuzdulva a verziszm hirtelen ugrott: a 0.95-s 1992.\ mrciusban, a 0.96
prilisban lett kibocstva. Ekkortl kezdve hihetetlen temben gyarapodott a Linux-felhasznlk
s -programozk szma.
Ekkor a verziszm hirtelen ``befkezett''. 1993. decemberben a verziszm 0.99pl14 volt. (A
pl14 a ``patch level 14'' rvidtse, azaz ez a 14.\ javtott vltozat.) Br a 0.95-s verzitl
kezdve a szolgltatsok szma, a megbzhatsg, s sok egyb szempontbl jelents javuls
kvetkezett be, s hihetetlenl sokan hasznltk ezeket a rendszermagokat, az 1.0 verziszmot
csak akkor mertk kiadni (1994. elejn), amikor a POSIX szabvnnyal val kompatibilits
kielgtv vlt.
A 0.95-0.99 rendszermagra pl rendszereknek risi npszersgk volt. Egyes egyetemeken,
pontosabban azok bizonyos intzeteiben gyakorlatilag likvidltk az sszes nem Linux-os
programot, s a PC-ken nem lehetett DOS-t vagy Windows-t tallni. (Legfeljebb a
titkrsgokon.) Ez fleg olyan helyeken kvetkezett be, ahol a kutatk UNIX alatt dolgoztak,
mert egy Linux-os PC-n otthon is fejleszthettk a programjukat, s ezeket egyszer volt az
intzet nagykapacits gpeire ttenni. (Egyik ismersm szemlyesen tapasztalta ezt 1993-ban
a Wrzburgi Egyetem Csillagszati Tanszkn: sz szerint senki sem hasznlt DOS-t, mg otthon
sem, legfeljebb a kedvenc jtkprogram futtatsra. Az otthoni Linux-os gpen kifejlesztett,
tesztelt programok gond nlkl ttehetk voltak az intzet CRAY gpre.)
Haznkban ekkortjt (1993) kezdett igazn elterjedni a Linux, mert ekkorra ktttk be a
felsoktatsi intzmnyek nagy rszt az Internetbe, gy sokaknak megnylt a lehetsge a Linux
beszerzsre.
Megjegyezzk, hogy a 9.1 fejezetben pontosan megadjuk a kernelek megjelensi idpontjait.
A Linux s a Minix sztvlst meggyorstotta, hogy a Minix szerzje, Andrew Tanenbaum nem
nzte j szemmel a Linux-ot. Alapveten elhibzottnak tartotta a Linux rendszermag tpust;
Linus Torvalds ugyanis n.\ ``monolitikus kernelt'' rt, mg Andrew Tannenbaum (elmleti
megfontolsok alapjn) a ``mikrokernelt'' jobb vlasztsnak tartotta. Sajnos, a vitba szemlyes
elemek is keveredtek, s a vita jrszt az Internet hrcsoportjaiban zajlott, meglehetsen nagy
nyilvnossg eltt. gy kiss ideges hangulatban zajlott le a Minix s a Linux sztvlsa.
Csak zeltl:
Andrew Tannenbaum:
Tovbbra is fenntartom azt, hogy 1991-ben monolitikus kernelt tervezni alapvet hiba. rlj,
hogy nem vagy a tantvnyom. Nem kapnl tl j minstst egy ilyen tervezsre :-)
Linus Torvalds:
Az n foglalkozsa professzor s kutat: Ez egy pokolian j mentsg a Minix nmely
agysrlsre.
Andrew Tannenbaum (1992-ben):
A Linux elavult!
Mivel nem ismerem a Minixet, ezrt nem tudok dntbr lenni a vitban, de mra a Linux
felhasznlk szma, alkalmazsok sokrtsge, s egy csom ms szempont szerint
nagysgrendekkel veri a Minix-et. Taln elg azt megjegyezni, hogy a Linux-szal kapcsolatos
angol nyelv hrcsoportok szma tbb, mint 10, s magyarul is jpr (kb. 6) Linuxos hrcsoport
mkdik, mg a Minix-szel csak egy foglalkozik az egsz vilgon, melynek forgalma ssze sem
vethet a magyar Linux-listkval sem.
Annyit azonban meg kell jegyezni, hogy a Minix azrt sem terjedhetett annyira, mint a Linux,
mert nem szabadterjeszts. Ennek ellenre az valsznsthet, hogy Andrew Tanenbaumnak
nem volt igaza abban, hogy a Linux alapvet szervezse teljesen hibs, mert alapvet hibkkal
nem lehetne egy rendszer ennyire stabil, s nem is terjedt volna el. Taln szemlyes ambciit
srtette, hogy egy egyetemista az vnl hasznlhatbb rendszert hozott ssze, mely mellett a
Minix elhanyagolhat szerepet jtszik. Mindenesetre sajnlatos, hogy ilyen veszekedsekre is sor
kerlhet komoly szakemberek kztt.
Ez a fura sorszmozs lehetv teszi, hogy az egyszer felhasznlk csak a valban hasznlhat
vltozatokat kapjk meg, de kzben az esetleg mg hibkat tartalmaz fejleszti vltozatok is
hozzfrhetek legyenek. A ksbbiekben mi csak a stabil verziszmokkal foglalkozunk, mert
ezek a ``hivatalos'' vltozatok.
Ezen vltozatok nem hoztak jabb hatalmas ttrst, mert az mr korbban bekvetkezett. A
fejleszts sorn a rendszermag egyre hatkonyabb lett, beptettk a legjabb hardverek
meghajtit (CD-olvask, PCI-buszok, jabb SCSI-eszkzk, stb.). Taln leginkbb az 1.2.x-es
kernelekkel bevezetett j vgrehajthat programformtum, az ELF megjelenst kell itt
megemlteni.
Ebben az idben a Linux alatti felhasznli programok szma ntt meg hihetetlenl. Mg
korbban fleg mr meglev szoftvereket vittek t a Linux al, addig ekkor mr megjelennek
azok a programok, melyeket Linux alatt fejlesztenek, s innt viszik t a tbbi rendszerre. Ekkor
mr nagy szoftvercgek is elksztik programjaik Linux-os vltozatt (pl. Maple V, Motif 2.0).
Ezek termszetesen nem szabadterjesztsek, s az, hogy megri Linux-ra is adaptlni ket,
egyrtelmen jelzi, hogy a Linux-felhasznlk tbora vilgmretekben is piacot jelent.
Ekkortjt egyre tbb Linux-disztribci kezd megjelenni, azaz tbb cg olyan programcsomagot
llt el, amelyekkel a Linux teleptse, karbantartsa sokkal knnyebb, mintha mindenki
egyenknt gyjten be a rendszer rszeit. Ezekrl egy ksbbi fejezetben kln szlunk.
A Linux jvje
Nehz, s veszlyes dolog jslsokba bocstkozni, de nhny alapvet dologban biztosak
lehetnk.
A Linuxnak akkora tbora van, hogy mg Linus Torvalds s a tbbi vezet programoz kilpse
esetn is tovbb fog folytatdni a munka. Klnsen igaz ez azrt, mert mra nemcsak IBM PCken, hanem a legerterjedtebb munkallomsokon is fut Linux.
A mai napig folyamatosan nvekszik a Linuxos szoftverek, a felhasznlk szma, s az
alkalmazsok sokrtsge. Hogy csak egy pldt emltsek: megptettek egy ``LOKI'' nev
Linux-os szupergpet, amely 16db, hlzatban sszekapcsolt 200MHz-es PC-bl ll, s ezt a Los
Alamos National Laboratory-ban komoly kutatsi feladatokra hasznljk, mert szmtsi
kapacitsa egy kisebb CRAY szmtgpvel egyenrtk, az ra pedig annak tredke. (A
rendszer fbb paramterei: 16 db Pentium Pro processzor, 2 gigabjt RAM, 50 gigabjt
winchester, 1.2 gigaflop. Az ra: 63000$.)
gy nz ki teht, hogy lendletben van a rendszer, s tbb vig tart biztos dinamikus fejlds
eltt ll.
Vlemnyem szerint az egyetemi s kutatsi helyeken mlt vetlytrsa brmelyik opercis
rendszernek, s itt a jelenleginl sokkal nagyobb elterjedsre szmthatunk a kzeljvben.
(Klnsen, ha figyelembe vesszk a magyar felsoktatsi intzmnyek anyagi helyeztt.)
Ugyanez nem mondhat el az irodai alkalmazsokrl, mert hinyzanak az ide szksges
szoftverek, de leginkbb a kzrthet, tbb nyelven elrhet dokumentcik. Igaz ugyan, hogy
az utbbi idben ez is vltozni ltszik: pl. a Staroffice rendszer, amelynek jelenleg nemrg jelent
meg az els stabil vltozata, kifejezetten irodai clokra kszl, s lltlag teljesen kompatibilis
mdon fut Linux, Windows `95, Windows NT, SunOS, s a legelterjedtebb opercis rendszerek
alatt.
Ezen kvl is egyre tbb irodai csomag kezd megjelenni Linux al, melyek kzl taln az
Applixware rendszert illetve a Wordperfect szvegszerkeszt programot kell leginkbb
megemlteni.
Az biztos, hogy Linus Torvalds nem lesz a fejlds gtja. Egy helyen ugyanis ezt rja:
Azon a napon, amikor a Linuxot valaki ms jobban tudja szolglni (az FSF egy termszetes
alternatva), flrellok. Nem gondolom, hogy emiatt valakinek aggdni kellene, s nem is
gondolom, hogy ez a kzeljvben bekvetkezik. Szeretek a Linuxszal foglalkozni, mg ha ez egy
kis munkval jr is, s mg senkitl sem kaptam panaszt. (Csak nhny, majdhogynem
szgyenls emlkeztett arrl, hogy egy foltot elfelejtettem, vagy nem vettem figyelembe, de
eddig semmi negatvot.)
Ne vegytek gy a fentieket, hogy azon a napon, amikor valaki ellenkezik, abbahagyom: elg
kemnyfej vagyok (Lasu, aki ezt a vllam felett olvassa, megjegyezte, hogy ``a FAfej kzelebb
van az igazsghoz'') egy kis mocskoldshoz. Ha nem lennk az, abbahagytam volna a Linux
fejlesztst, amikor a comp.os.minix-en nevetsgess tettek. Csak arra gondoltam, hogy br a
Linux eddig az n gyermekem volt, nem akarok tban lenni, ha az emberek jobbat szeretnnek
csinlni (*).
(*) H, lehet, hogy krhetnm a szentt avatsomat a Pptl! Tudja valaki az e-mail cmt?
A LINUX-TERJESZTSEK (DISZTRIBCIK)
A Linuxot kezdetben pusztn az Internetrl lehetett beszerezni, s az installls nem volt tl
knny. Ekkor a rendszert mg csak a szmtgphez nagyon rtk hasznltk. A npszersg
nvekedtvel azonban igny mutatkozott olyan programcsomag-rendszerre, amely a kevsb
szakrt szmra is lehetv teszi a teleptst. Ez volt az oka a Linux-terjesztsek (disztribcik)
megjelensnek.
ltalnos tendenciaknt azt emlthetjk, hogy az egyre ksbbi disztribcik egyre jobban
megknnytik a felhasznl dolgt. Igaz, ennek ra van: egyrszt a legautomatikusabb vltozatok
pnzbe kerlnek, msrszt egy automatikus telepts sohasem olyan gazdasgos, mint egy kzi
vezrls. Teht egy automatikus teleptskor felkerlhetnek felesleges programok is, vagy a
konfigurci nem a legjobban illeszkedik a rendszerhez, viszont a telepts elkezdse s a
rendszer hasznlatba vtele kzt sokkal kevesebb id telik el, s az j programvltozatok is
knnyen telepthetk lesznek.
Trtnetileg az els, vilgmretekben elterjedt disztribci a ``Slackware'' volt. Ez
megknnytette a rendszer teleptst, gy nemcsak szmtgp-specialistk tudtk feltenni a
Linuxot a gpkre. Ez azonban nem azt jelenti, hogy a telepts knny lenne: elg sok
dokumentcit kell elolvasni annak, aki Slackware-t akart telepteni. Ez a disztribci magn
viseli a mlt nyomait: mg mindig 1.4 megabjtonknt, azaz floppyra tehet mdon vannak
rendezve a programcsomagok, br ma mr kevesen teleptik a Linuxot floppyrl. (Taln CD-rl
trtnik a legtbb installci, de sokszor a az Interneten keresztl, valamilyen kzeli szerverrl
trtnik a telepts.)
Megemltend azonban, hogy a kezdeti idkben sem volt egyeduralkod a Slackware: lteztek
ms disztribcik is. Ilyenek voltak pl. az SLS, Transameritech illetve MCC terjesztsek,
melyekrl pontosabb informcival nem rendelkezek.
A Slackware rendelkezik programcsomagok installlsra, letrlsre, karbantartsra rt
programmal, de ez viszonylag kezdetleges a ksbbi disztribcikhoz kpest. (Igaz, a legjabb,
3.2-es Slackware-ben ezt lltlag javtottk, de mg nem szereztem megbthat rteslseket
errl.)
Mostanban egyre nagyobb trt hdt a ``Red Hat'' disztribci. Ez klnsen a knny
telepthetsgvel, fejlett csomagkezelsvel, s a programcsomagok nagy vlasztkval nyjt a
Slackware-nl tbb knyelmet. Igaz, ennek ra van: 8 megabjt RAM alatt nem telepthet, mg
a Slackware ennek felvel is megelgszik. A RedHat legfrisseb verziszma a 4.2-es.
A Red Hat-hez hasonl szolgltatsokat nyjt a ``Debian'' is, de errl nem tudtam pontos
informcikat begyjteni.
Az eddig emltett disztribcikkal ellenttben a ``Caldera Open Linux'' teljes vltozata nem
szabadterjeszts: nemcsak az informcihordozt s a msolsi kltsget kell megfizetnie
annak, aki ilyenhez szeretne jutni. Az ra (kb. 15-20000Ft) azonban mg gy is kedvez a
hasonl cl ``opercis'' rendszerekkel sszevetve, klnsen azrt, mert egy teljes Caldera
Open Linux csomag kereskedelmi (pnzes) szoftvereket is tartalmaz, mint pl. Netscape,
Staroffice.
35-fle eszkzt. Mr egy shell (parancs-interpreter) is majdnem kszen van. Egy j, hordozhat,
optimalizl C-fordt mr lefordtotta nmagt, s valsznuleg mg az idn kzreadjuk. Egy
kezdetleges kernel is mukdik mr, de mg sok rszlet hinyzik belole a UNIX emulcihoz. Ha a
kernel s a fordt kszen lesz, lehetov vlik a GNU, mint programfejlesztsre alkalmas
rendszer terjesztse. Szvegformzknt TeX-et fogunk hasznlni, de az nroff fejlesztse is folyik
mr. Az ingyenes s hordozhat X-windows rendszert is hasznlni fogjuk. Ezek utn ksztnk
majd egy hordozhat Common Lisp-et, egy Empire game-t, egy tblzatkezelot, s mg szz meg
szz egyb dolgot, belertve az on-line dokumentcit. Remljk, hogy minden hasznos dolgot,
amit egy UNIX rendszer tartalmaz, biztostani tudunk, sot, mg annl tbbet is.
......
Ki vagyok n?
Richard Stallman vagyok, a sokat utnzott EMACS megalkotja. Rgebben az MIT AI
laboratriumban dolgoztam. Nagyrszt fordtkat, editorokat, debuggereket,
parancsrtelmezoket rtam, s az Inkompatibilis Idoosztsos Rendszer s a Lisp Machine
opercis rendszer fejlesztsben vettem rszt.
......
Mirt kell megrnom a GNU-t?
Az aranyszably szerint, ha n kedvelek egy programot, akkor azt msokkal is meg kell
osztanom. A szoftver-kereskedok egyms ellen akarjk fordtani a felhasznlkat, majd uralkodni
akarnak flttk. El akarjk rni, hogy a felhasznlk beleegyezzenek: nem osztjk meg a
programokat msokkal. Visszautastom, hogy a tbbiekkel val szolidaritst gy felrgjam. Nem
tudok tiszta lelkiismerettel alrni egy titoktartsi vagy szoftver forgalmazsi szerzodst. Az AI
laborban tlttt vek alatt ellenlltam az ilyen tendenciknak s ms bartsgtalan lpseknek,
de vgl tl messzire mentek: nem maradhattam egy olyan intzmnyben, ahol ilyen dolgokat
kvettek el az n nevemben, az akaratom ellenre.
Azrt, hogy a szmtgpeket minden szgyenkezs nlkl tovbb hasznlhassam, elhatroztam,
hogy sszegyujtk egy olyan szabad szoftvercsomagot, amely lehetov teszi szmomra, hogy a
nem szabad szoftver nlkl is boldoguljak. Elmentem ht az AI laboratriumtl, hogy az MIT ne
tudja megakadlyozni, hogy a GNU-t kzreadhassam.
......
Mirt akar sok programoz segteni?
Sok programozt talltam, akit "lzba hozott" a GNU, s segteni akar.
Sok programoz nem rl a rendszerprogramok elzletiesedsnek. Ez lehetov teszi, hogy tbb
pnzt keressenek, de azt is megkvnja, hogy a ms programozkat rivlisnak s ne kollgnak
Msolsi jogok
A szabad szoftverek vilgban kln problma a msolsi jogok krdse. Tegyk fel ugyanis,
hogy valaki r egy j, hasznlhat programot, de nem ri meg neki a hivatalos terjesztssel jr
adminisztrcis, dokumentlsi, tesztelsi munkt elvgezni, ezrt szabad szoftverknt
kibocstja a programot az Interneten keresztl. Amg a felhasznlk hasznljk a programot,
esetleg tkletestik, s javaslatokat tesznek a szerznek, addig minden rendben van. A szerzk
azonban biztosan nem szeretnk, ha programjaikra lecsapna egy szoftvercg, s bepten sajt
termkei kz, jelents hasznot hajtva ezzel magnak, amibl a szerz semmit se kap.
Ilyen, s hasonl problmk kikszblsre szletett a ``GNU General Public Licence'' (GPL)
irat, amely magban foglalja a GNU cg szoftverforgalmazsi filozfijt is. Maga a GPL jogi
preczsggel van megfogalmazva, gy nem kzlnnk itt le, hanem Richard M. Stallman
bevezetjt adjuk kzre magyar fordtsban. Ennl jobban nem sikerlne elmagyarzni, mi is az
a szabad szoftver (freeware).
A fordts alapjul a 2.0.27-es Linux kernel ``COPYRIGHT'' fjlja szolglt.
Bevezet a GPL-hez
Mindenkinek megengedett bet szerint msolni s terjeszteni ezt az engedlyezsi dokumentumot,
de megvltoztatni tilos.
A legtbb szoftver engedlyeit gy tervezik, hogy elvegyk a terjesztsi s mdostsi
szabadsgodat. Ezzel ellenttben, a GNU ltalnos Publikus Engedly biztostani szndkozik
szabadsgodat a szoftverek szabad megosztsban s vltoztatsban, hogy biztostsuk a
szoftver szabadsgt minden felhasznlja szmra. Ez az ltalnos Publikus Engedly
rvnyes a ``Free Software Foundation'' (Szabad Szoftver Alaptvny) legtbb programjra, s
azokra, amelyeknek szezje alkalmazni akarja. (Nhny ms ``Free Softvare Foundation''
program a GNU Knytr ltalnos Publikus Engedly hatlya al esik.) Alkalmazhatod a sajt
programodra is.
Amikor szabad szoftverrl beszlnk, a szabadsgra hivatkozunk, nem az rra. A mi ltalnos
Publikus Engedlyeinket gy terveztk, hogy biztostva legyen szabadsgod a szabad szoftver
msolatainak terjesztsre (s ezen szolgltatsrt jr djazsra), hogy megkapod a
forrskdot, ha akarod, hogy megvltoztathatod a szoftvert, vagy felhasznlhatod rszeit ms
szabad szoftverekben; s hogy tudd, hogy ezt megteheted.
Azrt, hogy megvdjk jogaidat, korltozsokat kell bevezetnnk, amelyek mindenki msnak
megtiltjk, hogy megtagadja tled ezeket a jogokat, vagy megkrjen ezen jogok feladsra. Ezek
a korltozsok bizonyos felelssggel jrnak szmodra, ha a szofver msolatait terjeszted, vagy
mdostod.
Pldul ha egy ilyen program msolatait terjeszted, akr pnzrt, akr ingyen, gyfeleidnek
mindazokat a a jogokat meg kell adnod, amelyek neked megvannak. Biztosnak kell lenned abban,
hogy k is megkapjk, vagy meg tudjk szerezni a forrskdot. s ezeket kzlnd kell velk,
hogy tudjk jogaikat.
Jogaidat kt lpsben vdjk: (1) copyright-ot adunk ki a szoftverre, s (2) felajnjluk neked ezt
az engedlyt, amely valban megengedi a szoftver msolst, terjesztst s/vagy mdostst.
Minden szerz s a magunk vdelmben meg szeretnnk bizonyosodni arrl, hogy mindenki
megrtette, hogy nincs garancia erre a szabad szoftverre. Ha a szoftvert valaki ms mdostja s
tovbbadja, minden gyfelnek tudni kell, hogy amit kaptak, az nem az eredeti, gy a msok ltal
bevezetett problmk nem hatnak vissza az eredeti szerz megtlsre.
Vgl is, minden szabad program lland fenyegetettsgnek van kitve a szoftverszabadalmak
rszrl. Ettl a veszlytl szeretnnk vdekezni, gy, hogy a szabad program terjeszti
egyenknt megkapjk a szabadalmi engedlyeket, hogy a program szabadalma mkdhessen.
Hogy ezt megvdjk, vilgoss tettk, hogy minden szabadalom vagy mindenki szmra
engedlyezett legyen, vagy senki szmra sem.
HUMOR A LINUXBAN
A Linux kr egy nagy mozgalom alakult ki mra. Emltettk a kb. 200 programozt, aki a
rendszermagot rta, a tbb ezret, aki a felhasznli programokat ksztettk vagy adaptltk ms
gprl, s a millikat, akik hasznljk. Mivel a csatlakozs brmelyik szinthez nkntes, nem
kapcsoldnak hozz anyagi rdekek, amelyek ellenttesek a rendszer ri s felhasznli kzt, a
hogy egy j torony plt, vagy nhny falat elmozdtottak. Vagy esetleg valaki ideiglenesen
eltntette a padlt az gyad all.
(a Linux) ... fstjeleken kvl mindennel kpes kommuniklni.
pp most jtszottam le a kernelt a hangkrtymon s azt hittem, Isten szl hozzm.
Egy hullmz fstkdn keresztl felnztem, s elvaktott egy fnyes, fehr fny. Ez Isten. Nem,
nem Richard Stallman vagy Linus Torvalds, hanem Isten. Zg hangon azt mondta: ``Ez egy jel.
Haszlj Linuxot, a 386-ra rt szabad UNIX rendszert.''
A Linux igenis felhasznl-bart. Nem tudatlan-bart s nem idita-bart.
A Linux hvei sokszor vicceldnek a nagy szoftvercgekkel, klnsen a Microsoft s Bill Gates
a clpontjuk. lljon itt nhny idzet errl a tmrl: (Nmelyik idzet csak eredetiben
lvezhet. Ezeket nem fordtom le.)
Microsoft is not the answer.
Microsoft is the question.
NO (or Linux) is the answer.
A legtbb orszgban bntetik az rtalmas dolgok, mint pl. a kbtszer rustst. Akkor hogy
lehet, hogy az emberek bntetlenl rulhatnak Microsoft szoftvereket?
DOS: Egy kicsi, bosszant boot-vrus, amely vletlenszer, spontn rendszerlellsokat
eredmnyez, rendszerint egy komoly munka elmentse eltt. Knnyen kezelhet UNIX-szal. Lsd
mg MS-DOS, IBM-DOS, DR-DOS.
Avoid the Gates of Hell. Use Linux
A Linuxot klfldi terroristk rtk, hogy az USA vllalataitl, mint pl.\ a Microsoft, pnzt
vegyenek el.
Nem gondolom, hogy Bill Gates a Gonosz. Csak azt gyantom, hogy ha a Microsoft valaha
tallkozik a Gonosszal, nem lesz szksg tolmcsra.
SSZEFOGLALS
Egy olyan rendszer sikertrtnett kvethettk itt nyomon, amely az tlagos szmtgpfelhasznlk szmra (egyenlre ?) ismeretlen. Egy hobbiprogrambl 6 v alatt vilgmret
mozgalom vlt, s ez taln egyedlll a szmtstechnika trtnetben. Mindez gy trtnt,
hogy a Linux rendszerhez lnyegben ingyen juthat mindenki hozz, gy mg hihetetlenebb a
siker.
Megvizsglva a szabad szoftverek s gyrtik trtnett, ez az egsz mgis rthetv vlik. Tbb
vtizede csiszoldtak a megszllott programozk szoftverei, tletei, amire a Linux elkezddtt.
Ezekbe a programokba mindenki azt adta bele, amihez a legjobban rtett, nem pedig valami
kvlrl rerltetett feladaton dolgozott. A programok tesztelse is igen szles kr volt. Ezen
kvl, a freeware-programok nem zleti clbl kszltek, gy alkotik nem a maximlis anyagi
hasznot kerestk, hanem maguk szmra akartak hasznlhat rendszert sszehozni, s villogni
akartak a tbbiek eltt tudsukkal. Ez a lgkr sokkal jobban kedvezett a hatkony, stabil
programok kialaktsnak, mint a szoftverbirodalmak pnzorientlt rendszere.
Termszetesen a szabad szoftverek sok szempontbl mindig is htrnyban lesznek a ``gyri''
programokkal szemben. Ilyen szempontok pl. a dokumentltsg, piackutatsi adatok
felhasznlsa, reklm, stb.
Ezen jelensgek sszessgbl mgsem a szabad szoftverek kerlnek ki vesztesknt, hanem
bizonyos terleteken (pl. a tudomnyos kutatsban) egyre nagyobb trt hdtanak.
A Linux esetben teht egy jl eltallt rendszermag tallkozott egy flig meglev freewarerendszerrel, s ebbl szletett az, amirl dolgozatom szl.
Mindenkpp rdemes volt teht a szmtstechnika trtnetnek ezen fejezett megvizsglni,
mert -- br a nagykznsg keveset tud rla -- vilgmretekben sem elhanyagolhat jelentsg
rendszerrl s mozgalomrl van sz.
APPENDIX
A Linux elterjedtsge
Forrsok
13
16
18
21
22
28
3
6
7
16
. .
Mar 7
Mar 17
Mar 27
1994 linux-1.0.tar.gz
1994 patch1.gz
1994 patch2.gz
1994 patch3.gz
1994 patch4.gz
1994 patch5.gz
1994 patch6.gz
1994 patch7.gz
1994 patch8.gz
1994 patch9.gz
. . . .
1995 linux-1.2.0
1995 linux-1.2.1
1995 linux-1.2.2
Apr
Apr
Apr
Apr
Apr
May
Jun
Jun
Jun
Jul
Aug
Jun
Jul
Jul
Jul
2
6
12
23
29
3
1
12
26
25
2
9
3
5
6
1995
1995
1995
1995
1995
1995
1995
1995
1995
1995
1995
1996
1996
1996
1996
linux-1.2.3
linux-1.2.4
linux-1.2.5
linux-1.2.6
linux-1.2.7
linux-1.2.8
linux-1.2.9
linux-1.2.10
linux-1.2.11
linux-1.2.12
linux-1.2.13
linux-2.0
linux-2.0.1
linux-2.0.2
linux-2.0.3
Jul
Jul
Jul
Jul
Jul
Jul
Jul
Aug
Aug
Aug
Aug
Aug
Aug
Sep
8
10
12
15
25
26
27
5
9
16
20
25
31
2
1996
1996
1996
1996
1996
1996
1996
1996
1996
1996
1996
1996
1996
1996
linux-2.0.4
linux-2.0.5
linux-2.0.6
linux-2.0.7
linux-2.0.8
linux-2.0.9
linux-2.0.10
linux-2.0.11
linux-2.0.12
linux-2.0.13
linux-2.0.14
linux-2.0.15
linux-2.0.16
linux-2.0.17
Sep
Sep
Sep
Sep
Oct
Oct
Oct
Nov
Nov
Dec
Jan
Feb
Apr
5
11
13
20
8
18
30
8
22
1
14
7
8
1996
1996
1996
1996
1996
1996
1996
1996
1996
1996
1997
1997
1997
linux-2.0.18
linux-2.0.19
linux-2.0.20
linux-2.0.21
linux-2.0.22
linux-2.0.23
linux-2.0.24
linux-2.0.25
linux-2.0.26
linux-2.0.27
linux-2.0.28
linux-2.0.29
linux-2.0.30
Lthatjuk, hogy a fejleszts idnknt meggyorsul, majd esetleg hnapokat kell vrni az j
kernelre. Ennek ellenre a fejleszts llandan folyik, s remlhetleg folytatdni fog.
A LINUX ELTERJEDTSGE
A Linux annyira szabad terjeszts, hogy a felhasznljnak mg regisztrltatnia sem kell magt.
Ez azt jelenti, hogy nem is lehet pontosan felmrni a Linuxos gpek s felhasznlik szmt.
Azrt, hogy mgis lehessen valamit mondani, az Interneten egy ``Linux Registration Project''-et
indtottak be, ahova nkntesen mindenki berhatja Linux-os gpnek, s sajt magnak adatait.
A project honlapja megtallhat a http://counter.li.org:29659/ Web-cmen.
Az itt felhalmozott informcikbl szeretnnk kzreadni nhny rdekeset.
Az sszests:
This is the Linux Counter summary as of Mon Jul 21 05:02:07 1997
There are 48446 persons registerd.
1909 users have been registered by friends.
There are 20423 machines registered.
I guesstimate that between 0.2% and 5% of all Linux users have
registered with the Linux Counter.
So the total number of Linux users is probably between
968,920 and 24,223,000 people.
A lnyeg teht: 1997. jlius 21-n csaknem 50000 regisztrlt Linux-felhasznl s kb. 20000
Linux-os gp van szerte a vilgban. A Linux Counter gazdja a honlapon bvebben kifejtett
indokok szerint a regisztrltakat a tnyleges felhasznlk 0.2-5%-nak gondolja, azaz a tnyleges
Linux-felhasznlk szma kb. egy- s huszonngymilli kzt lehet.
Lthat teht, hogy pontos szmadat nem adhat, de az biztos, hogy tbb milli Linuxfelhasznl van a vilgon.
rdekes az orszgok szerinti eloszls tblzata. (A rendezs az egymilli lakosra jut Linux
felhasznlk szma szerint trtnt.)
No
Country
Pers Fri Mach P/Mpop
Mpop
=================================================================
=====
1 FI Finland
1453
34 594 284.6
5.1
2 NO Norway
1141
18 425 260.3
4.4
3 IS Iceland
70
3
33 259.0
0.3
4 AQ Antarctica
1
0
0 243.0
0.0
5 SE Sweden
1378
29 480 154.8
8.9
6 SI Slovenia
207
7
72 106.1
2.0
7 NL Netherlands
1544
30 597 99.2
15.6
8 DK Denmark
512
6 180 97.5
5.2
9 CA Canada
2349
64 942 81.5
28.8
10 US USA
20170 468 7273 75.7 266.5
11 AU Australia
1358
29 535 74.4
18.3
12 AT Austria
522
19 206 65.1
8.0
13 NZ New Zealand
195
2 108 55.0
3.5
14 CH Switzerland
368
10 155 51.1
7.2
15 EE Estonia
74
9
58 50.7
1.5
16 BE Belgium
510 518 221 50.1
10.2
17 DE Germany
4150 118 1627 49.7
83.5
18 LU Luxembourg
19
0
5 45.7
0.4
19 IE Ireland
158
4
68 44.3
3.6
20 SG Singapore
138
5
52 40.6
3.4
21 IL Israel
220
10
76 40.6
5.4
22 GB Great Britain
2334
61 906 39.9
58.5
23 HU Hungary
383
14 262 38.3
10.0
24 GL Greenland
2
0
0 34.4
0.1
25 BM Bermuda
2
0
2 32.2
0.1
26 LI Liechtenstein
1
0
0 32.1
0.0
27 GU Guam
5
0
0 31.9
0.2
28 MC Monaco
1
0
0 31.5
0.0
29 FR France
1831
71 555 31.4
58.3
30 KY Cayman Islands
1
0
2 28.9
0.0
(A tblzat 130 orszgot tartalmaz, itt terjedelmi okokbl csak az els 30-at kzltk.)
Magyarorszg az utbbi idkben elretr: az v elejn mg nem voltunk benn az els 30-ban,
most meg mr 23-dikak vagyunk. Vlemnyem szerint ebben a CHIP-CD-ken megjelent RedHat
Linuxnak fontos szerepe van.
A Linux-os gpek felhasznlsi helyei: (nhnyan tbb helyek is megjelltek)
WHERE PEOPLE USE LINUX
Place
Users Percent
==============================
school
5793 12.20%
home
40513 85.29%
not used
8
0.02%
work
15489 32.61%
somewhere
2269
4.78%
==============================
A Linuxos gpeken dolgoz felhasznlk szmrl kszlt az albbi lista:
accounts
========
18012 reported
18012 values
Average
36
Minimum
1
Maximum 3000
3318 18.42% accounts:
1-1
2968 16.48% accounts:
2-2
6898 38.30% accounts:
3-9
2983 16.56% accounts:
10-29
1078
5.98% accounts:
30-99
435
2.42% accounts: 100-299
227
1.26% accounts: 300-999
105
0.58% accounts:Others
Teht elg sok Linuxos gpen 3-9 felhasznl dolgozik, de 100 user is viszonylag sokszor
elfordul.
A felhasznlt disztribcik eloszlst adja meg a kvetkez tblzat: (az ttekinthetsget egy
kicsit megjavtottam)
distribution
============
19813 reported
19910 values
848
4.28% distribution:DIY
2084 10.52% distribution:Debian
1740
8.78% distribution:Red Hat
409
2.06% distribution:SLS
12805 64.63% distribution:Slackware
2023 10.21% distribution:Others
Itt mg az si Slackware az uralkod, de ez lehet, hogy vltozni fog.
A felhasznls clja is vltozatos: (termszetesen itt is lehet egy gp tbb clra is bejegyezve)
purpose
=======
4068 reported
6426 values
50
1.23% purpose:DNS
433 10.64% purpose:FTPServer
84
2.06% purpose:Mailserver
307
7.55% purpose:Router
694 17.06% purpose:Webserver
2356 57.92% purpose:Workstation
2430 59.73% purpose:Others
A LINUX TULAJDONSGAI
multiuser: tbb ember hasznlhat egy gpet (s semmi, csak kt-emberre szl licensz
nincs!)
a fut processzek kztt memriavdelem van, azaz egy program nem rnthatja magval
a rendszert
a futtathat programoknak csak azon rszeit tlti be, amelyek ppen hasznlva vannak
virtulis memria, lapozssal (nem teljes programokat ment ki/tlt be, csak azok rszeit).
A lapozs lemezre trtnik, partcira, vagy file-ba, s a virtulis memria mrete menet
kzben is llthat. Egyszerre maximum 16 db max. 128 Mb virtulis memriaterlet
lehet hasznlatban. De ez az rtk egyszeren nvelhet, pr sor megvltoztatsval a
forrsban.
kzs memria terlet programok s lemez cache szmra, gy az ppen szabad memria
cachelsre hasznlhat, s a cache mrete automatikusan cskken amikor a memrira
szksg van
core dump-okat gyrt, amivel egy program hibja, elszllsnak az oka a futs utn is
analizlhat
pszeudoterminlok (pty-ok)
tbb virtulis konzol: tbb fggetlen login session van egy fizikai konzolon, ezek kttt
gyorsan lehet billentykombincikkal vltani. Ezek dinamikusan vannak alloklva,
maximum 64 db lehet.
Tbb ismertebb file-rendszert tmogat, ide tartozik a minix, Xenix s a System V filerendszerek, s ezen fell rendelkezik egy sajt, fejlett filerendszerrel, ami 4 Terabyte-ig
mkdik, 255 karakter hossz filenevekkel.
Egy specilis filerendszer, amit UMSDOSnak hvnak, arra val, hogy a Linuxot DOS
FAT partcira is lehessen telepteni.
AppleTalk szerver
Sok hlzati protokoll: az alap protokollok, amit a legjabb kernel ismer: TCP, IPv4,
IPv6 (Internet II), AX.25, X.25, IPX, DDP (AppleTalk), NetBEUI, Netrom s mg sok
ms. Stabil hlzati protokollok a TCP, IPv4, IPX, DDP s AX.25.
HARDVERIGNYEK
Minimlis konfigurci
Valsznleg a legkisebb gp, amin a Linux fut a kvetkez: 386SX/16, 1 MB RAM, 1.44
MB or 1.2 MB floppy, brmilyen tmogatott videokrtya (+billentyzet, monitor, etc). Ezen
ugyan elindul a Linux, de mg nem igazn hasznlhat.
Ha csinlni is akarsz valamit vele, akkor kell legalbb 5-10 mbyte hely a merevlemezen egy
minimlis teleptsre. De mg ez se igazn hasznlhat a gyakorlatban.
Hasznlhat konfigurci
Ha szmolsignyes programokat futtatsz, pl. gcc-t, X-et vagy TeX-et, akkor a 386SX/16-nl
gyorsabb gp kell, de ha elg trelmes vagy, akkor mg az is megfelel lehet.
A gyakorlatban, ha nem hasznlsz X-et, akkor legalbb 4 Mb memrira van szksged, ha
X-et hasznlsz, akkor minimum 8 Mb-ra. Elvileg mr 2 Mb-al is mkdik a rendszer, de
ekkor tlsgosan lelassul, a virulis memria sr hasznlata miatt. Ha sok programot
futtatsz egyszerre, akkor legalbb 16 Mbyte memria kell ahhoz, hogy ne swappoljon sokat.
Ha azt akarod, hogy virtulis memriba ne nagyon swappoljon a gp, akkor 32 Mbyte
memria ltalban elg. Termszetesen ha nagy memriaigny programokat futtatsz, akkor
mg tbb memrira lehet szksged.
A rendszer merevlemez-helyignye attl fgg, hogy milyen programokat akarsz feltenni. Egy
alapkszlet a Unix segd-, adminisztrtori- s shell-programokbl elfr 10 Mbyte-on. Egy
teljesebb rendszerhez szerezzl be valamilyen disztribcit, mint pl. a Red Hat, Debian,
Slackware. Ekkor 60 s 300 Mbyte kztt vltozhat a hely szksglet. A mai rak mellett egy
j gphez nem is rdemes 500 Mb alatti merevlemezt venni, de inkbb vegyl 1Gb-nl
nagyobb lemezt, nem fogod megbnni.
A teljestmnyt javthatod ha tbb memrit, tbb merevlemez-helyet, vagy gyorsabb
processzort hasznlsz, amennyiben szksged van r. Itt a memria nvelse -- a DOS-al
ellenttben -- jelentsen nvelheti a teljestmnyt.
Tmogatott hardver
CPU:
Brmi lehet, ami 386-os vdett md programokat tud futtatni (minden 386-os,
486-os, 586-os, stb.). A 680x0 CPU-n (x=2 esetn csak MMU-val, x=3,4,6-on fut)
is fut a Linux egyik vltozata, ez a tsx-11.mit.edu-n tallhat,a 680x0 knyvtr
alatt. Jelenleg a Linux sok DEC Alpha alap modellt tmogat. Ugyszintn sok
SPARC modellen is futtathat a Linux. Az portolsa folyik a PowerPC, ARM s
MIPS gpekre.
Rendszer felptse:
ISA vagy EISA busszal rendelkez gpek. Az MCA (tbbnyire PS/2-es gpekben
van ilyen) tmogats javul, de mg nem teljes. Local buszok (VLB s PCI)
teljesen tmogatva vannak. A Linux jobban kihasznlja a gpet, mint a DOS,
Windows s mint a legtbb opercis rendszer. Ez azt jelenti, hogy nhny gp,
ami a mkds/hiba hatrn ll, s jl futtatja a kevsb erforrs-kihasznl
opercis rendszereket hiblkat produklhat a Linux futtatsa kzben. A Linux
egy szuper memriatesztel is egyben! -- A Linuxos hardver hibk egy nagy rsze
a memria hibjra vezethet vissza!
Memria:
Egszen 1Gb-ig Intel gpeken, 64-bites platformokon pedig tbb. Nhny ember
(Linus is) megjegyezte, hogy ha memrit adnak egy gphez, anlkl, hogy a
cache-t is megnvelnk, az akr le is lassthatja a gpet. Ha 64 Mb-nl tbb
memrit tesznek egy gpbe, akkor a Linux indtsnl egy paramterrel jelezni
kell a memria tnyleges mrett. Ez a BIOS hibja, nem szmtottak arra, hogy
egy gpben majd tbb mint 64 Mb memria is lehet.
Adattrolk:
Mindenfle AT meghajt (EIDE, IDE, 16 bites HD contollerek MFM, RLL vagy
ESDI-vel)
tmogatva
van,
tovbb
SCSI
merevlemezek,
CD-ROM-ok,
Video:
VGA, EGA, CGA, vagy Hercules (s kompatibilis modellek) szveges mdban.
A grafikus mdhoz, s az X-hez tmogats van legalbb normlis, szabvny VGA
szinten, de a legtbb super-VGA krtya is tmogatva van mr (tbbek kztt az
ET3000, ET4000, Paradise, Trident, S3, 8514/A, ATI MACH8/32/64, and
hercules alap/kompatibilis krtyk. (A Linux az Xfree86 X szervert hasznlja,
igazbl az adja meg, hogy milyen krtykat tmogat.) A tmogatott krtyk teljes
listja tbb oldalnyi.
Hlzat:
Az ethernet tmogats magban foglalja a 3COM 503/509/579/589 (501/505/507
nem ajnlott, de tmogatott), AT&T GIS (nei NCR) WaveLAN, legtbb WD8390alap krtyt, legtbb WD80x3-alap krtyt, NE1000/2000 s klnjaikat,
AC3200, Apricot 82596, AT1700, ATP, DE425/434/435/500, D-Link DE-600/620,
DEPCA, DE100/101, DE200/201/202 Turbo, DE210, DE422, Cabletron E2100
(nem ajnlott), Intel EtherExpress (nem ajnlott), DEC EtherWORKS 3, HP
LAN, HP PCLAN/plus, a legtbbAMD LANCE-alap krtytcards, NI5210,
ni6510, SMC Ultra, DEC 21040 (tulip), Zenith Z-Note ethernet. Semmilyen
Zircom krtya s az E2100-tl klnbz Cabletron krtya nincs tmogatva, a
gyrt azon dntse miatt, hogy nem hajland a programozsi informciit
ingyenesen elrhetv tenni.
Az FDDI tmogats a DEC DEFxx krtyit foglalja magba.
Pont-pont kzti hlzat tmogatsa tartalmazza a PPP, SLIP, CSLIP s PLIP-et.
Soros:
A legtbb 16450 s 16550 UART alap krtyk tmogatva vannak, belertve az
AST Fourport s Usenet Serial Card II-t, s tovbbiakat. Az intelligens soros
krtyk kzl tmogatva van a Cyclades Cyclom sorozata (a gyrt tmogatja),
Comtrol Rocketport sorozat (gyrt tmogatja), Stallion (tbbnyire, gyrt
tmogatja), s Digi (nhny krtya, nem gyrt ltal tmogatott). Nhny ISDN,
frame relay, s brelt-vonali hardver is tmogatva van.
Egyb hardver:
SoundBlaster, ProAudio Spectrum 16, Gravis UltraSound, s a legtbb
hangkrtya, legtbb (minden?) busz-egr tpus (Microsoft, Logitech, PS/2), stb.
+
---
drga
a szerver sokba kerl
M$ professzionlis tmogats
A M$ szoksa a pre-Alpha verziit nyilvnossgra hozni
(I/O Bug a 4.0-ban). A sok pnzt kifizet gyfeleiket
alpha/beta tesztereknek nzik.
-+
++++
+++
++
-++
++
++
-
+
+
---
---
Pentiumra optimalizlt
---
+++ ip tunneling/masquerading
+++ Szabvnyos NFS-szerver
+++ NIS szerver
X11R6, hlzatra felksztett GUI
+++
(Tvoli gpen fut programok megjelentse.)
+++
---
-------
?
tovbbi kiads
?
A Windows GUI nem hlzatorientlt
--(sok pnzrt beszerezhet kiegszts)
nem tl jl dokumentlt biztonsgi lyukak, nem
elgg vizsglt biztonsg, biztonsgi rs esetn a
javtsra a kvetkez Service Pack-ig vrni kell,
addig pedig csak imdkozni lehet.
C2 biztonsgi szintre hitelestett, HA a gp nem
+++ tartalmaz floppy-meghajtt, s nincs hlzatba
kapcsolva
alacsonyak a hardverkltsgek,
jk a nyomkvetsi lehetsgek,
Sosem tallkoztam a Linux rszrl olyan llapottal, amelybl lehetetlen lett volna
tovbblpni. Brmikor, amikor hozz akartam frni a gpemhez, ez akadnytalanul ment,
ltalban anlkl, hogy fizikailag is a gpemhez kellett volna nylnom.
ISDN
SCSI egysgeket
stb.
Minix
Extended
Ext2fs
xiafs
MSDOS FAT
ISO9660 (CDROM)
Sytem V s Coherent
stb.
Hlzati krtybl nagyon sokflt ismer, ezeket nem sorolom fel. Az egyik legelterjedtebb
krtyt, az NE2000-et (s kompatibilis krtyit) biztosan kezeli, s automatikusan fel is tudja
ismerni a cmet s az IRQ-t.
Hlzati protokollok kzl:
IPX (Novell)
Appletalk DDP
Frame Relay
stb.
Hangkrtyk kzl:
ProAudioSpectrum 16 support
MPU-401
PSS (ECHO-ADI2111)
Ensoniq SoundScape
SB AWE 32*
stb.
Kiszolglknt:
Router
SQL adatbzis-szerver
HTTP/WWW szerver
News szerver
IRC szerver
FTP szerver
Fax szerver
Rajzols, retusls
Internetezs otthonrl
Programozs
Emulcik:
A LINUX TELEPTSE
Az elads a npszer UNIX kln, a POSIX szabvnynak is megfelel Linux opercis rendszer
PC kategrij gpekre val teleptsvel foglalkozik. A telepts lpseit a Slackware Kit
alapjn trgyalja. Az elads terjedelmi korltai miatt nem tekinthet teljes rtk tmutatnak.
4. A UNIX fordtsa.
5. Bezemels.
Mivel a kd forrsnyelven terjedt, boldog-boldogtalan belejavtott, gy aztn UNIX nincs, csak
UNIX-ok... Az elksett egysgests a mai napig tart.
Ilyen kln volt a Minix is, amelyet Tannenbaum "Modern Operating Systems" c. knyvben
ismertetett. Lnyegben Linus Torvalds, a Linux "atyja" is erre alapozta sajt vltozatt, amelyet
diplomamunkaknt dolgozott ki PC-re. Az alaprendszer lnyegben teljestette mindazt a
felttelt, amit egy opercis rendszertl elvrhatunk, volt hozz egy shell s egy C fordt, de
ezen kvl semmi.
Mikzben Finnorszgban volt egy UNIX kompatibilis rendszer programok nlkl, addig a GNU
projektnek volt egy halom programja oprendszer nlkl. A GNU (GNU is not UNIX) clja az
akkor igen kltsges kereskedelmi UNIX-ok s UNIX programok kivltsa szabadon
felhasznlhat s ugyanakkor teljes rtk programokkal. A Linux s a GNU szerencsre
egymsra tallt. A PC-s UNIX kln tmogatsa szokatlanul nagy, gy ma mr tulajdonkppen
brki hozzjuthat egy teljes rtk, megbzhat s nagy teljestmny opercis rendszerhez -szinte ingyen. A telepts pedig, ha nem is "plug and play", de jelentsen egyszerbb a fent
felvzolthoz kpest. A program szinte kzenfogva vezet vgig rajta, m elindtsig van nmi
teendnk.
Elkszletek
0. lps: Megvlaszoland krdsek
CD-ROM-rl;
hlzatrl;
Root lemez:
A lemezeket a fenti nev imagefile-okbl ksztjk el -- ezek lnyegben az adott floppy binris
tkrkpei egy llomnyban. Ezt egy specilis rprogrammal tesszk t a floppyra, ez a
RAWRITE. Hasznlata:
RAWRITE imagefile drive:
Ezt a programot s az imagefile-okat vagy a floppyrl, CD-ROM-rl rjuk fel, vagy ftp-vel
lehozzuk hlzatrl. Miutn ezzel megvagyunk, a munka DOS rszt befejeztk, a teleptsre
felkszltnk.
5. lps: Reboot
Behelyezzk a boot lemezt s CTRL-ALT-DEL. Ha hlzatrl teleptnk, akkor figyelni kell arra
is, hogy a forrsknyvtr elrhet legyen, illetve a gpnknek legyen rvnyes (lland vagy
ideiglenes) IP szma.
[A] alaprendszer
[E] EMACS
[F] FAQ
[TCL] TCL/TK
[Y] jtkok
[XAP] X alkalmazsok
[IV] InterView
[T] TeX
Ezzel a setup futsa befejezdik. Ha minden rendben, adjuk ki a reboot utastst s szedjk ki a
root lemezt (valamint Linux alatt szokjunk le a Reset gomb hasznlatrl).
Utmunklatok
Ha rendben bejtt a rendszer, akkor hurr! Van egy mkdkpes UNIX-unk! Kezdhetjk az
utmunklatokat -- ez aztn a vgtelensgig tart...
Lnyegben itt arrl van sz, hogy a mr mkd rendszert bvthetjk s mdosthatjuk. Ezek
egy rsze inkbb a kezdeti idkre szl (X belvse, userek felvtele, serverprogramok pl. httpd
teleptse), msok lland munkt adnak (tovbbi userek), vagy igazn nagy buherls
eredmnyei (kernel jrafordtsa, sszedlt rendszer reparlsa ;-)).
Az X belvsrl rviden nhny sz: alapveten az XF86Config llomnyt kell javtgatnunk.
Tallunk egy pldt XF86Config.eg nven, valamint elg sok lerst a doc knyvtrban -- angol
A LINUX KERNEL
1. Bevezets
Neked szl ez a doukumentum? Igen, ha illik rd a kvetkezk valamelyike:
Az jabb kernelek egyikben van egy olyan eszkzmeghajt, amelyre geten szksged
van.
Mutatnod kell valamit azoknak, akik ragaszkodnak hozz, hogy Te installlj nekik
kernelt.
A pldk felttelezik hogy van a gpeden GNU tar, find, s xargs. Ezek elgg
szabvnyosak; ez nem okozhat problmt. Tovbb felttelezem, hogy ismered a gped
fjlrendszernek felptst; ha nem, akkor nagyon fontos, hogy legyen egy msolatod a mount
parancs norml mkds melletti outputjrl (vagy az /etc/fstab tartalma, ha el tudod
olvasni). Ez az informci fontos, s csak akkor vltozik meg, ha jraparticionljk a
merevlemezt, installlnak egy jat, jrateleptik a rendszert vagy valami hasonl.
Az aktulis ``stabil'' kernel verzi a dokumentum megrsnak idejn a 2.0.30 volt, teht a
hivatkozsok s pldk erre a verzira vonatkoznak. Br megprbltam annyira verzifggetlen
lenni, amennyire lehetsges, a kernel llandan fejleszts alatt ll, gy minden jabb verziban
elkerlhetetlenl lesznek bizonyos klnbsgek. Ez sem okozhat nagy problmkat.
A linux kernel forrsnak kt vltozata van: ``stabil'' s ``fejleszti''. A stabil verzik az 1.0.x -tl
kezddtek s pros szmot viselnek. Teht az 1.0.x, az 1.2.x s a 2.0.x is stabil. Ezeket tartjk a
legstabilabb, legkevsb hibs kernelnek a kibocsts idejn. A fejleszti kernelek (1.1.x, 1.3.x,
2.1.x, stb.) tesztelsre valk s olyanoknak sznjk, akik hajlandak j s esetleg sok hibval teli
kerneleket kiprblni. Ne mond, hogy nem szltam.
1.2 A stlusrl
Az a szveg ami gy nz ki, az vagy olyasmi ami megjelenik a kpernyn, vagy
amit kzvetlenl be kell gpelni, mint pldul egy parancs, vagy egy parancs opcii, vagy egy
fjlnv. (A sima szveges vltozatban nem ltszik semmi klnbsg.) A parancsok lltalban `'
jelek kztt vannak.
nagyon lass gped van akkor megkrhetsz valakit, akinek gyors gpe van, hogy fordtsa le
neked a kernelt.
sunsite.unc.edu:/pub/Linux/kernel
USA:
tsx-11.mit.edu:/pub/linux/sources/system
UK:
sunsite.doc.ic.ac.uk:/pub/unix/Linux/sunsite.unc-mirror/kernel
Ausztria:
ftp.univie.ac.at:/systems/linux/sunsite/kernel
Nmetorszg:
ftp.Germany.EU.net:/pub/os/Linux/Local.EUnet/Kernel/Linus
Nmetorszg:
sunsite.informatik.rwth-
aachen.de:/pub/Linux/PEOPLE/Linus
Franciaorszg:
ftp.ibp.fr:/pub/linux/sources/system/patches
Ausztrlia:
sunsite.anu.edu.au:/pub/linux/kernel
Magyarorszg:
ftp.kfki.hu:/pub/linux/kernel
ftp.aszi.sztaki.hu:/pub/Linux/kernel
ftp.bme.hu:/pub/OS/Linux/kernel
ftp.jate.u-szeged.hu:/pub/linux/kernel
zxpvf
linux-
x.y.z.tar.gz' paranccsal. (Ha csak egy .tar fjl van .gz nlkl a vgn, akkor a `tar
xpvf linux-x.y.z.tar' paranccsal.) Az archivum tartalma el fog szguldani a kpernyn.
Amikor vge, lesz egy j `linux' knyvtr a /usr/src-ben. Menj bele s nzd t a README
fjlt. Lesz benne egy `INSTALLING the kernel' cm rsz. Hajtsd vgre az utastsait, ha
szksges -- pldul a szimbolikus linkek elksztse a megfelel helyre, stb.
nem fontos opcit itt nem magyarzok el, nhny egyb opci lerst lsd az `` Egyb
konfigurcis opcik'' cm fejezetben.
A 2.0.x verzitl kezdve van egy `?' opci is. Ennek hatsra az adott paramter egy rvid
lerst kapjuk. Ez a legnaprakszebb informci az adott opcirl.
Networking support
Hlzati tmogats. Elmletileg erre csak akkor kellene igennel vlaszolni, ha gped egy
hlzaton van, mint amilyen az Internet, vagy ppen SLIP, PPP, term, stb. segtsgvel
telefonvonalon akarsz hlzatra kapcsoldni. De mivel sok programcsomag (mint pldul az X
ablakoz rendszer) akkor is ignyel hlzati tmogatst, ha a gp nincs igazi hlzatra ktve,
mindenkppen igennel kell vlaszolni. Ksbb megkrdezi, hogy akarsz-e TCP/IP tmogatst; itt
is y' a vlasz, ha nem vagy teljesen biztos az ellenkezjben.
System V IPC
Az IPC (Interprocess Communication = ``processzek kztti kommunikci'') egyik legjobb
definicja a Perl knyv szmagyarzatban tallhat. Nem meglep, hogy nhny Perl
programoz ennek segtsgvel kld zeneteket processzek kztt, csakgy mint sok ms
programcsomag (pl. a DOOM, hogy a legismertebbet emltsem). Ezrt nem ajnlatos n-nel
vlaszolni, hacsak nem tudod pontosan mit csinlsz.
SCSI support
SCSI tmogats. Ha van SCSI eszkzd, vlaszolj `y'-t. Tovbbi krdseket fog feltenni CDROM tmogatsrl, a lemezegysgek s az SCSI adapter tpusrl. Lsd az SCSI-HOWTO-t
rszletes informcirt.
Filesystems
Fjlrendszerek. A konfigurl script ezek utn megkrdi, hogy akarod-e hasznlni a kvetkez
fjlrendszereket:
Minix - Az jabb disztribcik nem hoznak ltre minix fjlrendszereket, s sokan nem is
hasznljk, de ennek ellnre rdemes lehet bekonfigurlni. Nhny ``mentlemez''-program
hasznlja, s sok floppyn van minix fjlrendszer, mert floppyn sokkal knyelmesebb ezt
hasznlni (kevesebb helyet foglal maga a fjlrendszer).
Extended (ext) - Ez volt az ext2 fjlrendszer els vltozata, ma mr nem hasznljk szles
krben. Ha szksged van r, akkor valsznleg tudsz is rla; ha nem tudod, akkor nincs is r
szksged.
Second extended (ext2) - Ezt szles krben hasznljk az jabb disztribcik. Valsznleg
ilyened van, ezrt igennel kell vlaszolni.
xiafs - Egy idben elterjedt volt, de most nem ismerek senkit aki hasznlja.
msdos - Ha hasznlni akarod a meglv MS-DOS winchester particikat, vagy DOS alatt
formzott floppykat akarsz mountolni, akkor vlaszolj igennel.
umsdos - Ez a fjlrendszer kibvt egy MS-DOS fjlrendszert a szoksos Unix-szer
tulajdonsgokkal, mint pldul a hossz fjlnevek. Haszontalan olyanoknak (mint n), akik nem
hasznlnak DOS-t.
/proc - Az egyik legnagyszerbb dolog a tejpor feltallsa ta. (Az tletet azt hiszem a Bell Labstl loptk szgyentelen mdon.) A proc fjlrendszer nem arra val, hogy ltrehozzk a lemezen;
ez egy fjlrendszer fellet a kernel s a processzek fel. Sok processz-listz (mint a `ps')
hasznlja. Egyszer prbld ki a `cat /proc/meminfo' vagy `cat /proc/devices'
parancsokat. Nhny parancsrtelmez (klnsen az rc) hasznlja a /proc/self/fd-t (ms
rendszereken /dev/fd nven ismert) I/O mveletekre. Majdnem biztosan igennel kell
vlaszolnod erre, sok fontos linux segdprogram tmaszkodik r.
NFS - Ha a gped hlzatra van ktve s szeretnl ms gpeken lv fjlrendszerereket hasznlni
NFS-sel, akkor vlaszd ki.
Character devices
Karakteres eszkzk. Itt llthatk be a (prhuzamos) nyomtat, busz-egr (busmouse), PS/2
egr (sok notebook gp hasznl PS/2 egr protokollt a beptett trackballhoz), nhny szalagos
egysg s ms hasonl ``karakteres'' eszkzkhz a meghajtk. Nyomj `y'-t a megfelel helyen.
1. Megjegyzs: A selection egy program amely lehetv teszi az egr hasznlatt az X ablakoz
rendszeren kvl is, virtulis konzolok kztti msolsra. Ha soros egered van, elg kellemes,
mert jl megfr az X-el, de ha msmilyen, akkor trkkzni kel. A selection tmogatsa valamikor
konfigurcis opci volt, de ma mr szabvnyos.
2. Megjegyzs: A selection mr elavultnak szmt. Az j program neve ``gpm''. Tbbet tud:
pldul egr protokollok kztt fordtani, tbb egeret kezelni, stb.
Sound card
Hangkrtya. Ha nagyon vgysz arra, hogy halljad a biff-et ugatni, nyomj `y'-t, s a
konfigurcis program rszletesen ki fog krdezni a hangkrtydrl. Ha van hangkrtyd,
melegen ajnlom a Sound-HOWTO-t.
Kernel hackels
Linus rja a README-ben:
A ``kernel hacking'' konfigurcis rszletek ltalban nagyobb vagy lassabb (vagy mindkett)
kernelt eredmnyeznek, st akr kevsb stabilabb is tehetik a kernelt azltal, hogy
bekonfigurlnak
nhny
rutint,
amelyek
megprbljk
aktvan
feltrni
hibs
programrszleteket, hogy gy talljanak problmkat. Ezrt inkbb `n'-t kell vlaszolni az erre
vonatkoz krdsekre egy ``stabil'' kernel esetn.
4. A KERNEL FORDTSA
4.1 Trlsek s fggsgek
Amikor a konfigurl script vget r, azt is mondja, hogy add ki a `make dep' s a `make
clean' parancsokat. A `make dep' ellenrzi, hogy az sszes fggsg, mint pldul az include
fjlok, a helykn vannak-e. Nem tart sokig, hacsak a gped nem nagyon lass. Egy `make
clean'-t is csinlni kell. Ez letrli az sszes object fjlt s nhny egyb dolgot, amit a rgi
verzi htrahagy. Mindenesetre ne felejtsd el ezt a lpst, mieltt megprblod jrafordtani a
kernelt.
4.2 Fordtsi id
A `make dep' s `make clean' utn jhet a `make zImage' vagy `make zdisk' (Ez az a
rsz, ami sokig tart.) A `make zImage' lefordtja a kernelt s (tbbek kztt) egy `zImage'
nev flt hagy maga utn a arch/i386/boot-ban. Ez az j tmrtett kernel. A `make
zdisk' ugyanezt teszi, de az j zImage-t rmsolja egy floppyra, amelyet addigra
remlhetleg mr betettl az ``A:'' drive-ba. A `zdisk' nagyon knyelmes az j kernelek
tesztelshez. Ha lefagy (vagy egyszeren csak nem mkdik jl), akkor csak kiveszed a floppyt
s bootolhatsz a rgi kernellel. Akkor is jl jn, ha vletlenl letrld a kernelt (vagy valami
hasonl szrnysg trtnik). j rendszerek teleptsre is lehet hasznlni; az egyik lemez
tartalmt egyszeren tmsolod a msikra.
Minden valamireval jabb kernel tmrtve van, ezrt van `z' a nevk eltt. A tmrtett kernel
automatikusan kicsomagolja magt, amikor vgrehajtdik.
5. A KERNEL PATCH-ELSE
5.1 Patch-els
A kernel inkrementlis frisstseit patch (``folt'') formban terjesztik. Pldul, ha neked a 2.0.30
verzi van meg, s szreveszed, hogy van hozz valahol egy `patch-2.0.31.gz', akkor ez
azt jelenti, hogy upgrade-elhetsz a 2.0.31 verzira a patch alkalmazsval. Elszr taln kszts
egy biztonsgi msolatot a forrsrl. (`make clean' aztn `cd /usr/src; tar zcvf
old-tree.tgz linux' csinl neked egy tmrtett tar archivumot.)
A fenti pldt folytatva, tegyk fel, hogy a `patch-2.0.31.gz' az /usr/src-ben van. Menj
t az /usr/src-be (cd) s add ki a `zcat patch-2.0.31.gz | patch -p0' parancsot
(vagy `patch -p0 < patch-2.0.31.gz', ha a patch nincs tmrtve). Egy csom minden
fog elsuhanni eltted a kpernyn (vagy pp elvnszorogni, ha annyira lass a gp). zenetek
jelennek meg arrl, hogy a patch ppen mit csinl, s hogy sikerlt-e neki vagy nem. Ez
ltalban tl gyors ahhoz, hogy brmit is el lehessen olvasni. Ha nem vagy biztos benne, hogy
sikerlt-e, hasznld a patch -s opcijt, aminek hatsra csak a hibazeneteket rja ki. Menj be
a /usr/src/linux-ba s keress .rej (``reject'') kiterjeszts fjlokat. A patch nhny
verzija (olyan rgebbi verzik, amelyeket gyengbb fjlrendszerhez fordtottak) # kiterjesztst
ad a ``reject'' fjloknak. A `find' parancsot hasznlhatod a keressre:
find .
Ez kirja a standard outputra az sszes olyan fjl nevt, amely az aktulis knyvtrban, vagy az
abbl nyl alknyvtrakban van s .rej a kiterjesztse.
Ha minden simn ment, akkor add ki a `make clean', `config', s `dep' parancsokat a 3. s
4. fejezetben lertaknak megfelelen.
A patch parancsnak elg sok opcija van. Ahogy az elbb is sz volt rla, a patch -s
kikapcsolja az zeneteket, a hibk kivtelvel. Ha a kernel forrst nem az /usr/src/linuxben tartod, hanem valahol msutt, akkor a patch -p1 (az adott knyvtrban) fogja helyesen
megpatchelni. A tbbi patch opci jl le van rva a manualban.
A fenti folyamat akr automatizlhat is a patch-kernel scripttel, ami szintn megtallhat a
kernel forrsban. Meghatrozza a kernel aktulis verziszmt, majd minden patch-et alkalmaz
r amit megtall, s ami frissebb az aktulis kernel verzijnl.
cd /usr/src
. linux/scripts/patch-kernel
A kernelforrs alaprtelmezett knyvtra a /usr/src/linux, de els argumentumknt ms is
megadhat. Tovbb a patch-eket az aktulis knyvtrban keresi a script, hacsak a msodik
argumantumban nem adsz meg egy msik knyvtrat.
megprblja lerontani a forrst, s nagy valsznsggel kudarcot vall. gy aztn szerezni kell
egy teljes vadonatj forrst. (Lehet, hogy mindjrt ezzel kellett volna kezdeni.)
Egy patch-et visszacsinlni a `patch -R' parancsal lehet.
Ha a patch-ek tnyleg nem mkdnek, akkor legjobban teszed, ha beszerzel egy rintetlen forrst
(pldul egy linux-x.y.z.tar.gz fjlt) s elkezded ellrl.
elintzi. A patch azon verzii, amelyek #-al jellik a ``reject'' fjlokat, tildt hasznlnak
.orig kiterjeszts helyett.
Van egy jobb mdja is az .orig fjloktl val megszabadulsnak, amihez kell a GNU xargs:
find .
6. TOVBBI CSOMAGOK
A linux kernelnek sok olyan szolgltatsa van, amelyet nem emltenek meg magban a forrsban.
Ezeket a szolgltatsokat ltalban kls programcsomagokon keresztl hasznlnak. A
leggyakoribbakbl nhny:
6.1 kbd
A linux konzolnak taln tbb szolgltatsa van, mint amennyit megrdemel. Tbbek kztt
betkszletet tud vltani, tlltja a billentyzetet, tvltja a video mdot (az jabb kerneleknl),
stb. A kbd csomagban olyan programok vannak, amelyekkel a felhasznl vgezheti el
mindezeket, plusz sok betkszlet s belltsok szinte minden billentyzethez. Ugyanazokrl a
helyekrl lehet beszerezni, mint a kernel forrst.
6.2 util-linux
Rik Faith (faith@cs.unc.edu) sszelltott egy linux segdprogramokbl ll nagy
gyjtemny, melynek neve, valami klns vletlen folytn, util-linux. Ennek karbantartja
azta Nicolai Langfeldt (util-linux@math.uio.no). Megszerezhet anonymous ftp-vel a
sunsite.unc.edu-rl a /pub/Linux/system/misc knyvtrbl. Tartalmazza tbbek kztt a
setterm, rdev, s ctrlaltdel programokat, a kernellel kapcsolatosak kzl. Ahogy Rik
mondja, ne rakd fel sz nlkl. Nem kell mindent installlni, ami a csomagban van, s knnyen
okozhat komoly problmkat, ha megteszed.
6.3 hdparm
Mint sok csomag, ez is egy kernel patch s hozzval segdprogramok gyjtemnye volt valaha.
A patch bekerlt a hivatalos kernelbe, a programokat, amelyekkel optimalizlni s btyklni
lehet a merevlemezt, kln terjesztik.
6.4 gpm
gpm annyit tesz, mint ``general purpose mouse'' (``ltalnos cl egr''). Ezzel a programmal
szveget lehet msolni (``cut and paste'') az egyik virtulis konzolrl a msikra, s mg sok
minden mst lehet csinlni, sokfle egrtpussal.
7. NHNY KELEPCE
7.1 make clean
Ha az j kernel egy rutinszer kernelfrissts utn elkezd nagyon vad dolgokat mvelni, akkor
knnyen lehet, hogy elfeljtetted kiadni a make clean parancsot az j kernel lefordtsa eltt. A
tnetek vltozatosak lehetnek: egyszeren sszeomlik, furcsa I/O problmk jnnek el vagy
csak nagyon lass lesz. Ne felejtsd el a make dep-et se.
kernel
log
fjlt,
brhol
is
legyen
gpeden
--
ltalban
ez
jl vannak-e belltva. ltalban elmondhat, hogy ha a szabvnyos kernel nem fordul le, akkor
valami komoly baj van a rendszerrel, s valsznleg jra kell installlni bizonyos programokat.
Vagy taln egy 1.2.x kernelt fordtassz egy ELF fordtval (gcc 2.6.3 s a fltt). Ha rengeteg
ez-meg-az undefined zenetet kapsz fordts kzben, akkor lehet, hogy ez a baj. A
megolds
legtbb
esetben
nagyon
egyszer.
Msold
kvetkez
sorokat
arch/i386/Makefile elejre:
AS=/usr/i486-linuxaout/bin/as
LD=/usr/i486-linuxaout/bin/ld -m i386linux
CC=gcc -b i486-linuxaout -D__KERNEL__ -I$(TOPDIR)/include
Azutn csinlj make dep-t s zImage-t jra.
Ritka esetekben elfordul, hogy a gcc hardver okok miatt szll el. A hibazenet valami olyasmi
lesz, hogy ``xxx exited with signal 15'' s ltalban nagyon rejtlyesen nz ki. Taln nem is
emltenm, he nem trtnt volna meg velem is egyszer -- A cache memria hibs volt s a gcc
idnknt vletlenszeren elszllt. Elszr prbld meg jrainstalllni a gcc-t, ha ilyen gond
merl fel. Csak akkor kell gyanakodni, ha a kernel hiba nlkl lefordul kikapcsolt kls cache,
kevesebb RAM, stb. mellett.
Az embereket ltalban nyugtalantja, ha felvetdik, hogy a hardverk hibs lehet. Nos, nem n
talltam ki. Itt van hozz egy FAQ: http://www.bitwizard.nl/sig11/.
/usr/src/linux/arch/i386/boot
/usr
/mnt/src/linux/arch/i386/boot
Helyezz egy formattlt lemezt az ``A:'' meghajtba (ne a boot vagy root lemezt!), msold a
kernelt a lemezre s konfigurld a root fjlrendszernek megfelelen:
cd /mnt/src/linux/arch/i386/boot
dd if=zImage of=/dev/fd0
rdev /dev/fd0 /dev/hda1
Menj a root knyvtrba s csatold le a normlisan /usr fjlrendszert.
cd /
umount /mnt
Ezek utn a megszokott mdon lehet bootolni errl a floppyrl. Ne felejtsd el futtatni a LILO-t
(vagy amit rosszul csinltl) az jrabootols utn.
Ahogy az elbb emltettem, van egy msik lehetsg. Ha van egy mkd kernel a
gykrknyvtrban (pldul /vmlinuz), akkor azt is lehet hasznlni egy bootlemezen. Feltve,
hogy minden vltozatlan, /vmlinuz a kernel, a kvetkez vltoztatsokat kell eszkzlni a
fenti
pldn:
legyen
/dev/hda3
helyett
/dev/hda1
(a
root
fjlrendszer)
az
egy
1.3.x
kernelt
az
1.3.57-ben
van,
pldul)
olvasd
el
szerint nem engedi meg, hogy a tbbi felhasznl lssa a fjljait s a kernel forrst a p (preserve
file modes) opci nlkl csomagoltad ki, akkor a felhasznlk a C fordtt sem fogjk tudni
hasznlni. Br a chmod paranccsal is meg lehet ezt oldani, knnyebb jra kicsomagolni az
include fjlokat. Ezt ugyangy kell csinlni, ahogy az elejn kicsomagoltuk az egsz forrst, csak
mg egy paramter kell hasznlni:
blah# tar zxvpf linux.x.y.z.tar.gz linux/include
Megjegyzs: a ``make config'' ltrehozza a /usr/src/linux linket, ha nincs meg.
9. MODULOK
A betlthet kernel modulok memrit takarthatnak meg s megknnythetik a konfigurlst. A
modulok kre egyre bvl, magban foglal tbbek kztt fjlrendszereket, ethernet-krtya
meghajtkat, szalagos egysg s nyomtat meghajtkat.
x.y.z), nzd t a README fjlt s hajtsd vgre az installlsi utastsokat (ami ltalban elg
egyszer, pldul make install). Ezutn kell hogy legyenek insmod, rmmod, ksyms,
lsmod, genksyms, modprobe s depmod nev programok az /sbin knyvtrban. Ha
akarod, kiprblhatod ket az insmod-ban tallhat ``hw'' plda-meghajtval. Ebben az
alknyvtrban, az INSTALL fjlban olvashatak a rszletek.
Az insmod beilleszt egy modult a fut kernelbe. A moduloknak ltalban .o kiterjesztsk van.
A fent emltett plda-meghajt neve drv_hello.o, ezt a `insmod
drv_hello.o'
#pages:
Used by:
`drv_hello' a modul neve, egy lap (``page'', 4k) memrit hasznl s egyetlen msik kernel
modul sem tmaszkodik r pillanatnyilag. A `rmmod drv_hello' tvoltja el a modult.
Figyeljk meg, hogy az rmmod egy modul nevet vr, nem egy fjlnevet. Az elbbit az
lsmodlistjbl lehet megtudni. A tbbi modul segdprogram is dokumentlva van a manual
oldalakon.
parancs az 1.2.2 verzi forrst teszi aktuliss. Mieltt ltrehozol egy ilyen szimblikus linket,
bizonyosodj meg arrl, hogy az ln utols argumentuma nem egy ltez knyvtr (rgi
szimblikus link is lehet), mivel az eredmny nem az lenne amire szmtasz.