You are on page 1of 89

UNIX

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

multiprocesszoros mainframe, mind az otthoni x86-os PC-je eltt l felhasznlnak (x86


olyan szmtgp ami IBM PC kompatibilis, processzora lehet: 386/486/pentium/PII/PIII s ezek
klnjai). Manapsg, amikor az otthoni szmtgpek teljestmnye, illetve a velk szemben
tmasztott ignyek, a vgzend feladatok mr egyre kzelebb kerlnek az egykori "nagygpek"
szintjhez, egyre inkbb szksg van egy olyan krnyezetre, amely kpes hardvertl, platformtl
fggetlenl mindenhol ugyanazt nyjtani: a szmtstechnikai vilg "utolrte" a Unix-ot.
Mert a Unix meglehetsen rgi dolog. Els vltozatt 1969-ben ksztette Ken Thomson s
Dennis Ritchie az AT&T Bell Laboratriumban egy PDP-7 tpus szmtgpre. A rendszer
magjt 1973-ban trtk C nyelvre - ennek ksznheti a Unix mind a mai napig legnagyobb
elnyt, a knny hordozhatsgot. Az AT&T kezdetben ingyen az amerikai egyetemek
rendelkezsre bocstotta a Unix forrskdjt, gy tz ven bell szzezer fl emelkedett a
mkd Unix rendszerek szma (ne felejtsk, ez mg a "hskorszakban" volt - a 80-as vek
elejn szzezer szmtgp mg hatalmas nagy szm volt). A gyors terjedsnek azonban
jelentkeztek a htulti is: nem volt egysges ellenrzse senkinek sem a forrskd, a rendszer
egysge felett, gy szmos (helyi mdostsokon alapul) vltozat alakult ki.
Fontos megjegyezni a "UNIX" s a "Unix" terminolgia kztti klnbsget: a szakmban
meghonosodott szoks szerint "UNIX"-szal jellik az "igazi", a licensszel rendelkez, eredeti
forrskdbl szrmaz rendszereket, mg a "Unix" jells ltalban jell mindenfle "Unix
tpus" rendszert, amelyek a "jzan sz" alapjn Unixnak mondhatk, fggetlenl attl, hogy
van-e valami kzk az X/Open-hez vagy sem.
Amikor a Unix mg csak az egyetemi s akadmiai szfrban volt kzismert, kialakult krltte
egy hatalmas programkrnyezet: minden egyetem, kutatintzet elksztette sajt megoldsait
felmerl szmtstechnikai problmira (a szvegszerkesztstl, tblzatkezelstl kezdve a
mindenfle apr utility-n keresztl a klnbz fordtprogramokig), s mivel ezek az
intzmnyek

non-profit szervezetek

voltak, elkszlt szoftvereiket

publikuss tettk.

Forrskdban, C nyelven adtk kzre ezeket a programokat, egyre inkbb a tereblyesed

Internet segtsgvel, s a C nyelv s az egysges krnyezet miatt minden Unix felhasznl


lefordthatta, hasznlhatta, mdosthatta s tovbbfejleszthette ket szinte teljes szabadsggal.
Ennek a folyamatnak az eredmnyeknt alakult meg az FSF (Free Software Foundation)
alaptvny, melynek clja egy szabadon (forrskdban is) ingyen hozzfrhet szoftverkrnyezet
biztostsa brki szmra, illetve ennek rszeknt a GNU project, amely pedig egy minl
teljesebb Unix rendszert kvn ltrehozni s biztostani.
Ennek jogi megfogalmazsa a GPL (GNU General Public License). GPL al es szoftvert brki
kszthet, amennyiben megfelel bizonyos feltteleknek, s jogi (copyright) problma esetn
szmthat az FSF segtsgre. GPL al es szoftvert brki hasznlhat, st mdosthatja is azt,
amennyiben amikor a szoftvert tovbbadja, tovbbadja annak teljes forrskdjt is, esetleges
mdostsai feltntetsvel. GPL szoftverrt pnzt krni nem szabad, viszont fel lehet szmtani
a msolssal, terjesztssel, installlssal konfigurlssal stb. kapcsolatos kltsgeket. A szoftver
mdostsrt sem szabad pnzt krni - GPL forrs mdostva is GPL forrs marad.
A Linuxrl
Megvolt teht a GNU krnyezet: fordtk, segdprogramok, s a szabadon terjeszthet XFree
grafikus fellet, egy olyan opercis rendszer mag hinyzott csak, amely bizonytottan szabad
(nem tartalmaz copyright al es kdot). Ennek megrst kezdte el helsinki egyetemista korban
Linus Torvalds, hogy aztn tbb szz segtjvel egytt ltrehozza azt, amit ma Linuxknt
ismernk: egy teljes, szabad opercis rendszert brki x86-os PC-jre. Br Linus Torvalds
egyedl kezdett hozz opercis rendszere elksztshez, ma mr a Linux oly sokfel gazott s
akkorra ntt (ma mr taln ez a legtbb PC-s hardvert tmogat szoftver, es trsa ms
architektrkra - Sun, MIPS, DEC Alpha, Macintosh stb. - folyamatban van), hogy Linus maga
mr leginkbb csak koordinlja a fejlesztseket.
A Linux jogi rtelemben nem UNIX teht, leghelyesebb volna Unix-klnak nevezni, s nem is
kveti szigoran egyik szabvnyt sem: sok jellemvonst egyest magban. Maga a Linux, illetve
a Linuxon fut szoftverek legnagyobb rsze a GPL al esik.
Szt kell itt mg ejtennk mg egy fontos dologrl, ami nlkl a Linux opercis rendszer nem
szlethetett volna meg: ez pedig az Internet vilghlzat, amely sszekttte a fejlesztket, s
amelyen mindig brki szmra ingyen hozzfrhetk az egyes Linux vltozatok. A Unix s az
Internet mindig is szorosan ktdtt egymshoz: az els IP (Internet Protocol) implementcikat
Unix rendszerekre ksztettk, a Unixot nyltsga, jl bvthetsge miatt vlasztottk a
fejlesztk. Az Internetbe kttt gpek legnagyobb rsze Unix alatt fut, az Internet szolgltatsait
maximlisan csak Unix alatt tudjuk kihasznlni.

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

disztribci ltezik, ingyenesek is s kereskedelmiek is Debian, Redhat, Mandrake, SuSe,


Corel Linux amely ingyenes s az Internetrl sok helyrl letlthet. Elhangzott, hogy lteznek
kereskedelmi (nem ingyenes) disztribcik is - taln ez furcsa lehet egy szabad szoftver esetn,
azonban mint azt mr a GPL ismertetsekor lttuk, ezek a cgek nem a Linux-rt krnek pnzt,
hanem a disztribci sszelltsrt, illetve esetleg a disztribciban lv, Linux alatt fut de
nem ingyenes szoftverek hasznlatrt.

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.)

A szablyos fjl nevek


A fjlnevek maximlis hossza ltalban 255 karakter lehet, s szinte brmilyen karakterbl
llhatnak. Nhny karakternek azonban klnleges szerepe van, ezrt clszer a nvadshoz csak
az angol abc betit, a szmokat, a pontot, valamint a mnusz s az alhzs jelet hasznlni. A kis
s nagybetk a fjlnevekben klnbznek szmtanak, csakgy mint a parancsokban. Lehetleg
ne hasznljunk a nevekben csillagot (*) s els karakterknt pontot. (Hasonlan a DOS-hoz itt is
vannak joker karakterek, melyeket fjlokra val hivatkozskor hasznlhatunk gy pld *c
valamennyi c betre vgzd fjlt jelenti, mg a c* valamennyi c betvel kezdd fjlt jelent, ha
egy karaktert akarunk helyettesteni a fjl nvben akkor a ? jelet hasznlhatjuk.)
Rejtett fjlok
A UNIX-ban vannak olyan fjlok melyek neve pont karakterrel kezddik s ezeket a rendszer
mskpp kezeli mint a tbbi fjlt. Ezek az gynevezett rejtett fjlok. A listzsi parancs hatsra
ezeknek a fjloknak a neve nem jelenik meg. Fleg konfigurcis informcikat tartalmaznak,
melyek egy-egy felhasznl home knyvtrban kell, hogy elhelyezkedjenek.
Katalgusok (Knyvtrak)
A UNIX hierarchikus felpts, ami azt jelenti, hogy a fjlokat knyvtrakban trolja. Egy
knyvtrbl alknyvtrak nylhatnak, amelyek ugyancsak tartalmazhatnak tovbbi fjlokat s
alknyvtrakat, s gy tovbb. A gykr knyvtrnak nincs neve s szl knyvtra. A / jel jelenti
a gykeret (root), alknyvtrai pedig az usr, home, stb. A /usr, /home, /stb. hivatkozssal rhetk
el. Ezt a hivatkozst elrsi tvonalnak (path) hvjk. Ez fggetlen attl az alknyvtrtl,
amelyikben ppen tartzkodunk. A /usr alknyvtrnak tovbbi alknyvtrai vannak, pldul bin,
etc, stb. Ezek elrsi tvonala /usr/bin, /usr/etc s gy tovbb.
Melyik knyvtrban mi van? llomnykonvekcik.
A UNIX-ban igencsak szertegaz s kiterjedt knyvtrszerkezetet tallunk. Van nhny
knyvtr, amelyet hagyomnyosan ugyangy hvnak minden UNIX vltozatban, s a bennk
tallhat programok s adatfjlok is ugyanahhoz a tmhoz kapcsoldnak.
Pldul:
/ A knyvtr gykere (root directory), minden ms knyvtr innen nylik s itt tallhat a UNIX
nev futtathat program, az opercis rendszer magja (kernel).
/bin Binris programok knyvtra, itt vannak a legfontosabb vgrehajthat binris programok .
/dev Itt vannak az eszkzfjlok (terminlok, lemezek, CD ROM olvask, stb.)

/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).

A hozzfrsi jogosultsgokat az ls -l parancsal tudjuk megnzni.


-rw-r--r-- 1 akarki student 6242 Aug 28 1992 file1
A legels mez mutatja a fjlelrsi jogokat. (Mezkn egymstl szkzkkel elvlasztott
karaktersorozatokat rtnk.) A harmadik a fjl tulajdonost, a negyedik pedig azt, hogy a
felhasznl milyen csoportba tartozik. Az utols mez pedig a fjlnv.
Teht a fjl tulajdonosa egy akarki nev felhasznl, aki a student csoportba tartozik, a "-rw-r-r--" pedig a jogokat jelenti a tulajdonos, a csoport, vgl pedig mindenki ms szmra.
Az els karakter ("-") a fjl tipust jelli. A "-" azt jelenti, hogy ez egy "sima" fjl (pl. knyvtr
esetn ez "d", mg szimblikus link ez "l" bet lenne.). A kvetkez hrom karakter "rw-"
jelentse, hogy a tulajdonos olvashatja s rhatja a fjlt, de nem futtathatja.
A kvetkez hrom karakter, "r--", a csoportra vonatkoz jogokat definilja. E szerint a student
csoportba tartoz felhasznlk olvashatjk a fjlt, amint ezt a kis "r" bet mutatja.
Az utols hrom karakter "r--" jelentse pedig az, hogy az elbbiekben felsoroltakon (owner,
group) kvl esk is olvashatjk a fjlt.
Fontos itt megjegyezni, hogy az egyes fjlelrsi jogok fggnek annak a knyvtrnak az elrsi
jogtol is, amelyben megtallhatak. Pldul, mg ha egy fjl elrsi joga -rwxrwxrwx (teht
mindenki mindent csinlhat vele), msok nem frhetnek hozz, ha a knyvtr amiben van, tiltja
az olvassi s futtatsi jogokat.
Az elrsi jogok megvltoztatsa
Az elrsi jogok megvltoztatsa a chmod paranccsal lehetsges a tulajdonos szmra. Szintaxisa
pedig:
chmod [ugoa][+-][rwx] fjlnv...
Az [ugoa] kapcsolkkal rjuk el, hogy kinek adjuk a jogot. Adhatunk jogokat a tulajdonosnak (u
- user), a csoportnak (g - group), msoknak (o - others) vagy pedig mindenkinek egyszerre (a all). A [+-] azt jelenti, hogy adhatunk (+) vagy elvehetnk (-) jogokat. Vgl pedig, hogy
olvassi (r - Read), rsi (w - Write) vagy futtatsi (eXecute) jogot adunk. Nehny plda:
chmod a+r file1 - olvassi jog mindenki szmra
chmod +r file1 - ugyanaz, mivel az alaprtelmezs az "all"
chmod go-rwx file1 - a tulajdonoson kvl senkinek semmi
A chmod parancs hasznlhat oktlis formban is, ahol az egyes tulajdonosi kategrikhoz
tartoz elrsi jogokat szm formjban adhatjuk meg, mely az egyes elrsi jogok szmainak az
sszege. Az olvassi jog rtke 4, az rs 2, a futtats pedig 1. A hrom tulajdonosi
kategrihoz hrom oktlis szm tartozik. pld

chmod 644 file1


Ennek a parancsnak a hatsra az file1 nev fjl elrsi joga "-rw-r--r--"-ra vltozik.
Az elrsi jogokon kvl mdunkban ll a fjl tulajdonosnak s csoportjnak megvltoztatsa is.
Az elbbire a chown az utbbira a chgrp parancs szolgl. pld
-rw-r--r-- 1 akarki student 6242 Aug 28 1992 file1
chown kovacs file1
-rw-r--r-- 1 kovacs student 6242 Aug 28 1992 file1
chgrp guest file1
-rw-r--r-- 1 kovacs guest 6242 Aug 28 1992 file1

A fjlrendszer kezelsre szolgl parancsok


A pwd (print working directory) parancs
Ezzel a paranccsal az aktulis knyvtr nevt rathatjuk ki.
Az ls (list) parancs
Ez a parancs megmutatja az aktulis knyvtrban tlalhat fjlok neveit. A lista alaprtelmezs
szerint abc sorrendben sorolja fel a neveket, de alkalmas kapcsolk segtsgvel ms sorrendet is
elrhatunk.
Kapcsolk:
-a Minden katalgusbejegyzst kilistz. A ponttal kezdd rejtett fjlokat is.
-d Ha az argumentum katalgus, a benne szerepl llomnyokat nem listzza.
-C Tbb hasbban nyomtatja ki a katalgus bejegyzseket.
-l Rszletes informcit listz ki, tulajdonos neve, hozzfrsi jogok.
-r Megfordtja a listzs sorrendjt, ha alfabetikus volt, akkor fordtott abc sorrendben listz, ha
keletkezsi id szerint volt, akkor a legidsebbel fogja kezdeni.
-t Fjlok kilistzsa idrendi sorrendben. (A legutols mdosts szerint.)
-R A katalgusnv alatti teljes fjlstruktrt kilistzza, nem csak a megnevezett katalgusban
szerepl fjlokat.
-F A listzs sorn minden nv utn / jelet rak ha az katalgus, * jelet rak ha az futtathat fjl s
@ jelet rak ha az szimbolikus link.
A kapcsolkbl egyszerre tbb is hasznlhat.

A cd (change directory) parancs


A katalgus rendszerben val mozgst teszi lehetv. Paramterknt a megclzott katalgus
nevt kell megadni, vagy abszolt, vagy relatv elrsi tvonal hasznlatval.
Az abszolt elrsi tvonal megadsnl a keresett katalgus teljes elrsi tvonalt kell
megadni. Ebben az esetben a cd parancs paramtere a / karakterrel kell hogy kezddjn, a cd
parancs errl ismeri fel, hogy abszolt elrsi tvonalrl van sz. pl.
cd /users/demo (gy a demo nev alknyvtrba jutunk.)
Relatv cmzs esetn azt mondjuk csak meg, hogy az aktulis katalgushoz kpest hol
helyezkedik el a megclzott katalgus. pl.
pwd
/users/demo
cd..
pwd
/users
cd demo
pwd
/users/demo
Ha a cd parancsot argumentum nlkl hvjuk meg, akkor a bejelentkezsi (home) knyvtrunkba
jutunk vissza. (Erre j a $ HOME jel, vagy a ~ jel is.)
Az mkdir (make directory) parancs
j katalgus ltrehozsra szolgl parancs. Ellenttben a DOS-ban alkalmazott paranccsal itt
lehetsg van megfelel kapcsol alkalmazsval tbb alknyvtr egyidej ltrehozsra.
Pl. mkdir ujkonyvtar
Kapcsolk:
-p Ltrehozza a kvnt katalgus elrsig az ssze szksges katalgust.
Az rmdir (remove directory) parancs
Knyvtrak trlsre szolgl parancs. Az rmdir parancs csak res knyvtrat vagy knyvtrakat
trl.
Pl.: rmdir konyvtar
Kapcsolk:
-p A katalgus trlse utn, a szl katalgust is trli, ha res, rekurzven.
-s A -p kapcsol zenetnek az elnyomsa.

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

lrw-r--r-- 1 fvarga student 12 Aug 5 14:25 ketto -> egy@


A fjlelrsi jogok kezd "-" jele most l betre vltozott. Innen ltszik, hogy szimblikus linkrl
van sz, azaz a link katalgus bejegyzse egy olyan fjlra mutat, ami a lncolt fjl nevt
tartalmazza. (lsd a listzs vgn lthat nyilat.)
A df parancs
Szabad lemezterlet sszegzse. A df program kijelzi az argumentumaiban megadott fjlokat
tartalmaz fjlrendszerekben rendelkezsre ll lemezterletet. Argumentum nll az sszes
beptett (mount-olt) fjlrendszer szabad terlett adja meg. Alaprtelmezs szerint a szabad
terletek 1K blokkokban rtendk.
A kill parancs
Megllt egy processzt (folyamatot). A kill program a megadott jelzst (signal) kldi a megadott
processznek. Amennyiben nem adunk meg jelzst, a TERM-jelet kldi el. Ez megli azokat a
processzeket, amelyek nem kapjk el ezt a jelzst. Szksg esetn hasznlhat a KILL (9) jelzs,
amely nem kaphat el, gy felttlenl meglltja a processzt. A legtbb modern buroknak (shell)
van beptett kill parancsa is.
A mount parancs
Fjlrendszert csatlakoztat (mount-ol). Egy Unix rendszeren elrhet sszes fjl egy nagy,
faszerkezet, hierarchikus rendszerben van elhelyezve, amely a / (gykr) knyvtrbl
gykerezik. Az innt elrhet fjlok azonban tbb eszkzn helyezkedhetnek el. A mount
parancs arra szolgl, hogy egy eszkzn tallhat fjlrendszert ebbe a nagy fastruktrba
bekapcsoljunk. Ezzel ellenttes rtelm az umount , ami a lecsatolsra szolgl.
Az umount parancs
Fjlrendszerek lecsatolsa (unmount-olsa). Az umount parancs lecsatolja a megadott
fjlrendszereket a knyvtrstruktrrl. A fjlrendszer megadhat a csatolsi knyvtr vagy a
csatolt eszkz specilis eszkzfjljnak megadsval. Megjegyzend, hogy egy fjlrendszert
nem lehet lecsatolni, ha `foglalt' (`busy'), pldul ha nyitott fjlok vannak rajta, vagy nmely
processznek a munkaknyvtra ezen tallhat, vagy rajta tallhat egy aktv swap fjl.
A ps parancs

A processzek (folyamatok) llapott adja meg. A ps program az aktulis processzek


pillanatfelvtelt adja. Amennyiben az llapotok ismtld frisstsre van szksg, a top
hasznlata javasolt.
A tar parancs
A tar archivl segdprogram GNU vltozata.
A zip parancs
A zip archivl segdprogram GNU vltozata.

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.

pico - egyszer szvegszerkeszt


A pico egy egyszer kperny orientlt szvegszerkeszt amely a Pine zenetszerkeszt
rendszern alapul. A pine-hoz hasonlan a parancsok itt is a kperny aljn jelennek meg s
krnyezetfgg sgval rendelkezik. A karakterek a begpels pillanatban megjelennek a
szvegben.
A szerkeszt parancsokat a control s a megfelel billenty kombincijval indthatjuk. Mivel a
legtbb kommunikcis program "elnyel" bizonyos vezrlkaraktereket ezrt a control billenty
az ESC billenty ktszer egyms utn val lenyomsval emullhat majd ezutn ssk be
akvnt vezrlkaraktert. Pldul: "ESC ESC c" ugyanazt csinlja mint a ctrl-c. A szerkeszt t
alapfunkcija: bekezds igazts, keress, blokk kivgs/ bemsols, helyesras ellenrzs, s fjl
bngszs.
Bekezds igazts (vagy kitlts) arra a bekezdsre vonatkozik amelyikben a kurzor ppen ll,
vagy ha a kurzor res sorban ll akkor a kvetkez alatta lvre. A bekezdsek res sorokkal
vannak elvlasztva vagy olyan sorokkal amelyek szkzzel vagy tabultorral kezddnek. A
visszaigazts a control-U billentyk kombincijval tehet meg de csak kzvetlenl az igazts
utn.
A szvegkeress nem kis/nagybet rzkeny. Egy keress a kurzor aktulis pozicijtl indul s
a szveg vgig tart. A keress sorn a legutols keresett szveget ajnlja fel a program mint
alaprtket a kvetkez keresshez.
A szvegblokkok mozgathatak, msolhatak s trlhetek a kijells (ctrl-^), a trls (ctrl-k)
s a trls visszavonsa (ctrl-u) parancsok gyes hasznlatval. A trls parancs eltvoltja a
kijellsek kztt lv szveget s a "kivgs" bufferbe rakja. A trls visszavonsa parancs egy
bemsolst hajt vgre az aktulis kurzorpozicinl.
A helyesrs ellenrz megvizsgl minden szt a szvegben. Ezutn egyms utn felajnlja az
elgpelt szavakat javtsra mikzben kiemelve megjelenti ket a szvegben. A helyesrs
ellenrzs brmikor megszakthat. A pico helyesrs ellenrz eljrsa helyett hasznlhatunk
mst is, ekkor az eljrst a SPELL krnyezeti vltozban kell definilni. Az eljrsnak a standard
bemenetet kell olvasnia es a standard kimenetre kell rnia.

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.

A parancsok ltalnos szintaxisa


A parancssor elejt a prompt jelzi- ez rendszerint % vagy $ esetleg # jel a sor elejn, de brmi
ms is lehet, tetszlegesen bellthat. A parancs neve utn szkzkkel elvlasztva kell megadni
a paramtereket: ezek hatrozzk meg kzelebbrl, hogy a parancs mit is csinljon. A szkz
fontos, mert a parancsrtelmez (shell) a parancssorban szerepl karaktereket az els "fehr
karakterig" egybe olvassa. A fehr karakterek kz tartozik a szkz, a tabultor s maga az jsor
karakter. A paramterek kzl azokat, amelyek mnusz (-) jellel kezddnek, ezentl
kapcsolknak fogjuk hvni, mivel ezekkel lehet bekapcsolni egy parancs klnfle zemmdjait.
A kapcsolkbl rendszerint egyszerre tbb is megadhat, ilyenkor ltalban elegend egy mnusz
jelet kirni s felsorolni utna a kapcsolkat (ezt nem minden rendszer teszi lehetve!). Pldul
az ls -l -a -r parancs megadhat igy is: ls -alr.
A UNIX mindig csak annyi zenetet ad, amennyit elengedhetetlenl szksgesnek tart. Ezrt ne
lepdjnk meg, ha egy parancs vgrehajtsa utn semmi sem jelenik meg a kpernyn: ez azt
jelenti hogy a parancs hibtlanul lefutott. A UNIX programok sikeres vgrehajts esetn soha
nem jeleznek vissza, csak hiba esetn.
A UNIX trekszik az egysgessgre, ennek szellemben minden interaktv parancsbl ugyangy
kell kilpni. (Interaktvnak nevezzk azokat a parancsokat, amelyek futs kzben elvrjk, hogy
begpeljnk nekik valamit.) Teht ha ki akarunk lpni egy ilyen programbl, ssk le a Ctrl+D
billentykombincit.

Ha a parancssorban tjk le a Ctlr+D-t, akkor kijelentkeznk a rendszerbl (nhny gpen ez le


van tiltva, helyette a logout parancsot kell hasznlnunk). Ez sszhangban van az elz
alapelvvel, mert amikor be vagyunk jelentkezve, valjban egy programot futtatunk (ez a
parancsrtelmez, amit shell-nek vagy buroknak hvnak): kijelentkezskor ebbl a programbl
lpnk ki.
Ugyancsak alapelv, hogy a kis- s a nagybetk klnbznek szmtanak. gyeljnk erre, s
lehetleg semmit ne gpeljk csupa nagybetvel!
A shell vltozk s a krnyezet
A shell rszben programozsi nyelv is, ezrt tartalmaz vltozkat, melyek lehetnek loklisak (a
shell bels vltozi) s globlisak (a shell krnyezeti vltozi). Figyelem! Az sh-ban (sh, ksh) s
a csh-ban (csh, tcsh) msknt kell rtket adni a vltozknak!
Az sh tipusu shellek az "=" jelet hasznljk loklis vltozk megadsra:
a="hello sh"
mg a csh tipusuakban a set paranccsal kell rtket adni a vltozknak:
set a="hello csh"
A kiratst mindkt shell esetben az echo parancs vgzi, a vltoz neve eltt pedig egy $ jelnek
kell szerepelnie:
echo $a
hello sh
Ezek a shell bels vltozi - teht csak az aktulis shellben ismertek, loklisak. A shell lehetv
teszi a futtatand programok krnyezetnek (environment) belltsat is. A krnyezet azon
vltozk csoportja, melyek minden programbl elrhetek, globlisak. A krnyezet belltsnak
szempontjbl is klnbzik az sh s a csh. A krnyezet belltsa sh-ban:
Pldul PAGER krnyezeti vltoz, amelyet pldul a man parancs (ksbb mg sz lesz rla)
hasznl megjelentprogramknt. A sh-ban kvetkezkppen llthat more helyett cat-ra.
PAGER="cat"
export PAGER
A krnyezeti vltozk belltsa csh-ban a setenv parancs segtsgvel trtnik. A fenti plda
csh-s megfelelje teht:
setenv PAGER cat
Ennek kicsit kellemetlen az eredmnye, mivel ha man-t krnk, a szveg elrohan a szemnk
eltt. Ha oldalanknt szeretnnk ltni a szveget, akkor llitsuk be a krnyezeti vltozt more
rtkre.

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.

A kvetkez sorban az ls az ls -F -nek lesz az ekvivalense. Ezutn minden ls parancs


automatikusan ls -F lesz.
Az ezutni sor mg rdekesebb, mivel arra plda, hogy egy utasitssorozatnak legyen egy rvid
neve. Teht egy lista kimenett tadjuk a more nzeget programnak, hogy oldalanknt lssuk
azt.
Ezutn a prompt belltsra lthatunk pldt. A gp elszr lefuttatja a hostname programot,
ami kirja a gp nevt s azt berakja a promptba. A ` (visszafel mutat egyes idzjel) jelentse,
hogy a program futsnak eredmnyt helyettestse be a hostname sz helyett.
Az alias parancs arra szolgl, hogy egy hosszab utasitssorozatot egy parancs begpelsvel
indthassunk. A jelenleg definilt aliasokat a paramterek nlkl hvott alias parancs mutatja
meg; egy-egy aliast pedig az unalias paranccsal tudunk megszntetni.

Bemenet s kimenet fogalma


Mint mr korbban olvashattuk, a UNIX parancsok nem, vagy nagyon ritkn jelzik, ha jl
mkdnek. Az, hogy a UNIX nem jelzi a hiba nlkli futst, azrt van, hogy a parancsok be- s
kimenetei ms parancsoknak tadhatak legyenek. A legtbb program a bemenetrl (standard
input - stdin) veszi az adatait s a kimenetre (standard output - stdout) kldi az eredmnyt.
Azonban elfordulhat, hogy hiba lp fel s azt a programnak jeleznie kell. Ilyenkor a hiba
lerst egy ms helyen, a hibacsatornn kapjuk (stderr). Rendszerint a bemenet a billentyzet, a
kimenet s a hibacsatorna pedig a kperny.
Pldul: a sort parancs rendezi a bemenetrl berkez sorokat (a -r kapcsolval fordtott
(reverse) rendezs):
sort
gyufa
izzok
csoko
<ctrl-d>
csoko
gyufa
izzok
Megjegyzs: a <ctrl-d> a control (Ctrl) s a d billentyk egyttes letst jelenti!
Igy mris abc-sorrendbe raktuk a bevsrllistt.

A bemenet s a kimenet tirnytsa


A shell lehetsget ad arra, hogy a kimenetet tirnytsuk (redirection), s ehhez csupn a ">"
jelet kell hogy hasznljuk. Nzzk, hogy is mkdik ez az elz pldn.
sort > mit_vegyek
gyufa
izzok
csoko
<ctrl-d>
Ugyanezzel a mdszerrel - tirnytas - hoztunk ltre fjlt (ott a cat parancs kimenett
irnytottuk t). Az eredmny nem lthat, hanem a mit_vegyek nev fjlba kerlt. Nzzk meg,
hogy valban ez trtnt-e?
cat mit_vegyek
csoko
gyufa
izzok
Ugyanez vonatkozik a bemenet tirnytsra is, ennek jele "<".
Pldul: csinljunk egy ruk nev fjlt, aminek tartalmt rendezzk:
cat > aruk
izzok
gyufa
csoko
<ctrl-d>
sort < aruk
csoko
gyufa
izzok
Fontos jel mg a ">>", ami szintn a kimenet tirnytst teszi lehetv; klnbsg kzte s a
szimpla tirnytjel kztt annyi, hogy ha ezt hasznljuk, a fjl vghez tudunk hozzfzni j
adatokat.
Csvek
Azt mr tudjuk, hogy egy-egy program eredmnyt hogy lehet fjlba tirnytani, azonban
lehetsg van arra, hogy egy program a bemenett egy msik programtl vegye. Erre talaltk 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.

A LINUX TRTNETE NAPJAINKIG


Nehz egy ilyen szertegaz rendszer trtnett megrni. A tbb szz fejleszt miatt -- a
kezdeteket leszmtva -- az esemnyek ugyanis tbb szlon zajlottak. Ezek kzl itt elszr, a
rendszermag (kernel) fejldsvel foglalkozunk. Ksbb kitrnk a terjesztsi csomagok
(disztribcik) trtnetre is.

A Linux szletse, csecsemkora (0.01-0.10)


A Linux fejlesztsnek kezdetn Linus Torvalds a 80386 processzor vdett md (protected
mode), feladat-vlt (task-switching) lehetsgeivel szeretett volna megismerkedni. Ez kb. 1991
nyarnak elejn lehetett. A pontos dtumra maga a szerz sem emlkszik, de amikor egyszer
megkrdeztk, mikor van a Linux szletsnapja, azt mondta, hogy nem tudja megmondani, de
egy e-mail tansga szerint jlius 3-n mr a POSIX szabvny utn rdekldtt, gy akkor mr
biztos futott az alaprendszer.

1 bra: Linus Torvalds


A program fejlesztse egy korbbi PC-s UNIX, a Minix alatt trtnt, eleinte assembly-ben. Az
els fzisban kialakul 0.01-es vltozat mg semmire sem volt hasznlhat, csak egy lpcs volt
a tovbbfejlesztshez. Linus Torvalds gy r errl:
Kt hnap telt el az alaprendszer fellltsig, de utna rvidesen lett egy lemezmeghajtm
(amely slyos programhibkkal volt tele, de az n gpemen trtnetesen mkdtt) s egy kis
fjl-rendszerem. Krlbell ekkor [1991.\ augusztusnak vgn] tettem kzz a 0.01-es
vltozatot: nem volt kicsinostva, nem volt floppi-meghajtja, s nem sok mindent tudott csinlni.

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.

A Linux gyermekkora (0.11-0.99)


1991. december 19-tl, a 0.11-es vltozat kibocststl szmthatjuk a Linux gyerekkort. Ez
volt az els nll rendszer, teht nem kellett Minix a hasznlathoz. Sok olyan tulajdonsggal
rendelkezett, amely jelezte, hogy itt valami komoly kszl. Ezeket Linus felsorolsban adjuk
kzre:
A 0.11-nek a kvetkez jdonsgai vannak:

demand loading

kd s adatmegoszts nem kapcsold processzek kzt

sokkal jobb floppi-vezrlk (most mr tbbnyire mkdnek)

hibajavtsok

Hercules/MDA/CGA/EGA/VGA tmogats

a konzol hangot is ad (h! Fantasztikus rendszermag!)

mkfs/fsck/fdisk (fjlrendszer karbantart programok)

amerikai/nmet/francia/finn billentyzet

a com1/2 sebessge bellthat

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.

A Linux fiatalkora (1.0.0-1.2.13)


A POSIX szabvnyosts megfelel szint elrsvel 1994. mrciusban megjelent az 1.0.0
sorszm kernel. Ekkortl kezdve egy specilis sorszmozsi eljrst vezettek be a fejlesztk: A
verziszmot hrom, ponttal elvlasztott nemnegatv egsz jelzi. Az els a f verziszm, ami
csak a rendszermag lnyegt rint vltozsoknl vlt eggyel nagyobbra. A msodik szm elg
specilis jelents: ha pros, akkor stabil, tesztelt kernelrl van sz, amit brkinek ajnlanak
hasznlatra, mg a pratlan szm tesztvltozatot jell, amit inkbb azoknak javasolnak, akik
tesztelni, fejleszteni szeretnk a kernelt, s akiknek nem szmt, ha a rendszer nha ``elszll''. A
harmadik szm pedig kisebb mdostsokkor ugrik egyet.

bra: A Linux "hivatalos" emblmja


Ennek megfelelen egyszerre kt szlon fut a legjabb verziszm: pl. a legfrissebb kt kernel
sorszma 2.0.30 illetve 2.1.46. A stabil verzikba csak olyan modulok kerlhetnek bele, amelyek
a fejleszti vltozatokban mr zembiztosnak bizonyultak.

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.

Napjaink Linux-a (2.0.0-2.0.30)


1996. augusztusban jelent meg a 2.0.0 sorszm rendszermag. Ennek f jtsa a modulok
megjelense volt: a kernel bizonyos rszei modulknt is elkszthetk, s ezek a modulok akr
automatikusan, akr kzzel betlthetk a memriba, ahonnt a rendszer kipakolja ket, ha
rgta nem hasznljuk.

bra: A Linux 2.0 logja

Pldul a nyomtat, floppi-vezrl, nem Linux-os fjlrendszereket kezel rszeket clszer


modulba tenni, mert ekkor ezek csak addig foglaljk a memrit, amg ppen hasznljuk ket, s
ez tbbnyire a munkaid jelentktelen rsze.
Ezzel az az rdekes helyzet llt el, hogy a rendszermag memriaignye kisebb lett, mg
hatkonysga s megbzhatsga megntt. (Errl a tendencirl pldt vehetnnek a piacot ural
szoftverhatalmak is. Csakhogy azok nem hatkonyabb, hanem nagyobb anyagi hasznot hoz
rendszer rsban rdekeltek, s a hardvergyrtkkal val sszefonds miatt sokszor a nagyobb
memriaigny kifejezetten elny a cg szmra.)

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.

A SZABAD SZOFTVEREK (FREEWARE) S A GNU PROJECT


A Linux szabad szoftverknt terjed. Els pillanatra ez furcsa lehet, azonban ha a
szmtstechnika trtnett megnzzk, rjhetnk, hogy ez nem mai tallmny.
Az mai rtelemben vett szmtstechnika az 50-es vekben indult. Ekkor a gpek ptsi s
karbantartsi (hardver) mveletek nagysgrendekkel tbb emberi munkt ignyeltek, mint a
programok (szoftver) ksztse. Ennek egyik oka abban keresend, hogy igen drga volt az
elektronikai berendezsek ellltsa, msrszrl a programok -- mai szemmel -- meglehetsen
kis mretek voltak. (Nem is lehettek nagyok az akkori gpeken.) Ez azt eredmnyezte, hogy a
szoftvereket szabadon, barti alapon terjesztettk rik, illetve az opercis rendszerek a

szmtgp tartozkainak szmtottak. Mg az 1969-ben szletett UNIX forrskdjnak egy


vltozata is szabadterjeszts volt eredetileg. Ksbb egyes intzmnyek, cgek is megrtk a
sajt UNIX-vltozatukat, s ezek nmelyikt mr komoly sszegekrt rultk, mindenfle mdon
vdekezve a szabad msols ellen. (Hasonl jelensg volt megfigyelhet ms opercis
rendszerek esetn is.) gy tnik, az MS-DOS is sok tletet szedett a UNIX-tl, ha nem is
kzvetlenl, de a CP/M-en keresztl. (Pl. faszerkezet knyvtrstruktra, standard input-output
tirnyts.)
A 70-es vek vgn s a 80-as vek elejn tbb programoz nem vette szvesen a nem msolhat
programok, s az zleti gondolkods trhdtst. Szabadsgukat korltoz tnyeznek lttk a
terjesztsre s a mdostsra kirtt korltokat, amelyek a egyesek meggazdagodst szolgljk
csak, mikzben j esetben kzepes szint programok szletnek ilyen krlmnyek kztt.
Ezrt ezek a programozk sajt programjaikat tovbbra is szabadon kzreadtk, vrtk msok
mdost javaslatait, esetleg programrszeit, ezek kzl a jobbakat beptettk az j verzikba,
s gy tkletestettk programjukat. Ez tbbnyire jobb minsg szoftverekhez vezetett, mint a
nagy cgek korltozott programozi grdinak termkei, amelyek ersen zleti megfontolsok
szerint kszlnek.
A sok klnll elsznt programozt szerette volna Richard M. Stallman sszefogni a 80-as vek
els felben azzal, hogy megalaptotta a ``Free Softvare Foundation''-t (FSF, Szabad Szoftver
Alaptvny), s elindtotta a ``GNU project''-et. Elbbinek elsdleges clja, hogy alaptvnyknt
adomnyokat fogadhat el, amelyekbl gpparkot tarthat fenn s fizethet a programozknak,
utbbi magt a programozsi munkt hivatott koordinlni. A GNU project alapvet clja, hogy
egy teljesen szabadterjeszts programokbl ll, UNIX-szer rendszert hozzon ssze.
A kvetkez fejezetben ennek 1985-ben megjelent kiltvnybl szeretnnk nhny rdekes
rszt idzni, mert ez rthetbb teszi a GNU project alapfilozfijt, amibe a Linux nagyon
szpen beilleszkedik.

Rszletek a GNU project kiltvnybl


Mi a GNU? A GNU Nem UNIX!
A GNU (jelentse: a Gnu Nem UNIX) egy teljes, UNIX-kompatibilis szoftverrendszer, melyet
azrt rok, hogy brkinek, aki hasznlni tudja, ingyen odaadhassam. Szmos nkntes segt
nekem. Nagy szksgnk lenne tovbbi tmogatsra munkban, pnzben, programokban s
felszerelsben.
Eddig elksztettnk egy Emacs szvegszerkesztot egy editor-parancsok rsra alkalmas Lisppel, egy forrsszintu debugger-t, egy yacc-kompatibilis rtelmezot, egy linker-t, s mg mintegy

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

tekintsenek. A programozk kztti alapveto barti tnykeds a programok klcsns


megosztsa; a jelenlegi piaci szerzodsek rendszerint megtiltjk a programozknak, hogy
msokat bartnak tekintsenek. Aki szoftvert vesz, annak vlasztania kell a bartsg s trvny
betartsa kztt. Termszetesen sokan gy dntenek, hogy a bartsg fontosabb. De azok, akik
hisznek a trvnyben, kellemetlen helyzetbe kerlnek, brmit is vlasztanak. Cinikuss vlnak, s
azt gondoljk, hogy a programozs csupn a pnzkeress egyik mdja.
Ha inkbb a GNU-n dolgozunk s ezt hasznljuk szerzoi joggal vdett programok helyett,
bartiak lehetnk mindenkivel, s a trvnyt is tiszteletben tartjuk. Tovbb, a GNU pldaknt
szolgl s inspirl, jelkp lesz, amely arra sztkl, hogy jra egyek legynk s megosszuk
egymssal, amink van. Ez a harmnia rzett adja, ami lehetetlen, ha nem szabad szoftvert
hasznlunk. A programozk mintegy felnek, akikkel idonknt beszlgetek, ez a boldogsg fontos,
s pnzzel nem helyettestheto.
......
Mirt lesz ez minden felhasznlnak j?
Ha a GNU elkszl, mindenki ugyangy kaphat majd j rendszerszoftvert, mint levegot.
Ez sokkal tbbet jelent annl, mint hogy mindenki megtakartja egy UNIX-engedly rt. Ez azt
jelenti, hogy a sok pazarl rendszerprogramozsi erofeszts, mellyel hasonl, de fggetlen
megoldsok kszltek, elkerlheto lesz. Ezek az erofesztsek a programozsi mdszerek
fejlesztsre szolglnak majd.
A rendszer sszes eroforrsai mindenki szmra elrhetok lesznek. Ennek eredmnyekppen, ha
a felhasznlnak vltoztatsokra van szksge, azt mindig szabadon megteheti sajt maga, vagy
megfizethet ms "rro" programozt vagy cget, hogy elvgezze neki azokat. A felhasznlk
nem lesznek kitve az eroforrsokat birtokl s monopolhelyzetben lvo programoz vagy cg
knynek-kedvnek.
Az iskolk egy sokkal inkbb nevelo hats krnyezetet biztostanak majd, arra btortva a
dikokat, hogy tanulmnyozzk s fejlesszk a rendszerprogramokat.

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.

A Linux s a GNU kapcsolata


Az elz fejezetekben zeltt adtunk a szabadterjeszts programok vilgbl. Maga ez a tma
is megrne egy kln dolgozatot, de itt hely hinyban csak az alapgondolatokat ismertettk.
Ebbe az alapfilozfiba illeszkedik bele a Linux rendszer is.
Egyrszt, a Linux rendszermag (az els nhny verzi kivtelvel) a GPL hatlya al esik,
msrszt a Linux rendszerek alapprogramjai s a felhasznli programok jelents hnyada a
GNU project keretben kszlt, vagy rja a GPL-t alkalmazza.
Bizonyos szempontbl a Linux kiegszti a GNU projectet. Mint fent olvashattuk, a GNU egy
teljes rendszer szeretne lenni, de ezidig mg nem rtak r egy megbzhat rendszermagot.
(Jelenleg a GNU rendszermag a 0.2-es verzinl tart, de ez mg nem teljesen stabil vltozat.)
Linus Torvalds s trsai viszont pont ezt tettk meg, igaz, nem a GNU keretein bell.
Nem lthat pontosan elre, hogy hogyan alakul a jv. Az is lehet, hogy a GNU rendszermag
nem fog elkszlni, vagy legalbbis elterjedni, mert a Linuxot nehz lesz tlszrnyalni. De az
sem kizrhat, hogy Richard Stallman egyszer csak mgis elll a GNU kernellel, ami lespri a
Linux-ot a sznrl. (Br ezt kevss tartom valsznnek.)

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

Linux fejlesztse s terjesztse nagyon oldott hangulatban zajlik. Ez sokszor a programok


dokumentcijban, vagy a hibazenetekben is jelentkezik, de mg inkbb a Linux-os levelezsi
listkon s hrcsoportokban.
Pl. a rgebbi kernelek egy rsze a rendszer indulsakor megvizsglta a processzort, s ha olyan
tpus volt, akkor kirta:
This processor honours the WP bit even in supervisor mode.
Good!
Ami magyarul: ``Ez a processzor tiszteletben tartja a WP bitet supervisor mdban is. J!''
Egy ilyen zenet nemigen fordulhatna el egy ``komoly'' kereskedelmi szoftverben.
Vagy pl. ha a tar programmal nem megfelel formtum fjlt akarunk kicsomagolni, akkor is
specilis a hibazenet eleje:
tar: Hmm, this doesn't look like a tar archive.
Azaz: ``Hmm, ez nem gy nz ki, mint egy tar archvum.''
Maga Linus Torvalds is vicceldik programjval kapcsolatban. Egyszer megkrdeztk tle:
-- Azon kvl, hogy a Linux egy cool nv, meg tudn mondani, mirt hasznljunk Linuxot BSD
helyett?
-- Nem, pont ez az. A cool nv, az a lnyeg. Nagyon kemnyen dolgoztunk egy olyan nven, ami
vonzert gyakorol az emberek tbbsgre, s biztosan megrte: tbb ezer ember csak azrt
hasznl Linuxot, hogy az mondhassa: ``OS/2? ! Nekem Linuxom van. Micsoda cool nv!''
A 386BSD elkvette azt a hibt, hogy sok szmot s htborzongat rvidtst tett bele a nvbe,
ami sok embert elriasztott, csak azrt, mert tl technikusan hangzik.
Vagy mskor:
Ha krbe akarod utazni a vilgot, s szeretnd, hogy meghvjanak egy csom helyre eladst
tartanai: rj egy UNIX opercis rendszert.
Egy nemzetkzi Linux konferencin pedig ezt mondta:
Mindnyjan tudjuk, hogy a Linux hatalmas ... 5 msodperc alatt vgrehajtja a vgtelen
ciklusokat is.
Egy hibajelentsre vlaszolva ezt rta:
Idita vagyok. Legalbbis ezen hiba megtallsa 5 percembe kerlt.
Termszetesen msok is trflkoznak a rendszerrel kapcsolatban.
Mostanban azt kezdem hinni, hogy a Linux valban a legjobb dolog a szeletelt kenyr ta.
Linux felhasznlnak lenni egy olyan letet jelent, mintha egy nagy, csokbl s ptszekbl ll
csalddal laknl egytt. Minden reggel, amikor felkelsz, a hz egy kicsit megvltozott. Lehet,

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 kernelek megjelensnek idpontjai

A Linux elterjedtsge

Forrsok

A Linux kernelek megjelensnek idpontjai


Kiegszt anyagknt megadjuk a Linux kernelek megjelensi idpontjait. Ez tulajdonkppen az
linux.kernel.org szerveren tallt, a rendszermagokat tartalmaz knyvtr listja.
Mar
Mar
Mar
Mar
Mar
Mar
Apr
Apr
Apr
Apr
. .

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

multitasking: tbb program futhat egyszerre

multiuser: tbb ember hasznlhat egy gpet (s semmi, csak kt-emberre szl licensz
nincs!)

multiplatform: tbb klnbz CPU-n fut, nem csak Intel-en.

a 386-oson (s jabb Intel processzorokon) vdett mdban fut

multiprocesszoros: Intel s SPARC gpeken SMP-t (Symmetric MultiProcessing)


tmogat, a tbbi platformon mg fejleszts alatt van az SMP

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

megosztott, 'rsnl msols' tpus memrialapokat hasznl. Ez annyit jelent, hogy ha


egy program tbb pldnyban fut, akkor kzs memrit hasznl, ha megprbl rni bele,
akkor megkettzdik, tmsolodik a memrialap (4 kb). Ennek a gyakorlati haszna az,
hogy kevesebb memrit hasznl a program, s gyorsabb lesz.

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

dinamikusan linkelt, megosztott knyvtrak (DLL-ek), s termszetesen statikusan linkelt


knyvtrak is

core dump-okat gyrt, amivel egy program hibja, elszllsnak az oka a futs utn is
analizlhat

tbbnyire (s egyre jobban) kompatibilis a POSIX-al, System V-vel s a BSD-vel forrs


szinten.

egy iBCS2-nek megfelel modul segtsgvel nagyrszt kompatibilis az SCO, SVR3 s


SVR4-el, binris szinten

minden forrskd hozzfrhet, az egsz kernel s minden meghajtprogram, a


fejleszteszkzk s a felhasznli programok forrsa is, s ezek mind szabadon
terjeszthetek. Jelenleg sok kereskedelmi program van Linux al, ezek forrs nlkl
jnnek, de minden, ami ingyenes volt, belertve az opercis rendszer egsz alapjt, most
is ingyenes.

POSIX szabvny szerinti 'job control'

pszeudoterminlok (pty-ok)

387-es koprocesszor emulci a kernelben, gy nem a programoknak kell emullniuk az


FPU-t.

sok nemzeti vagy szemlyreszabott billentykiosztst tmogat, s elg knny jabb


kiosztsokat definilni

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.

Transzparens hozzfrs az MS-DOS (vagy OS/2 FAT) partcikhoz egy specilis


filerendszeren t: nincs szksg semmilyen specilis parancsra az MS-DOS partici
hasznlatakor, gy nz ki teljesen, mint egy Unixos filerendszer (termszetesen a
filenevek hossza, alakja, stb. kttt). A Linux a 2.0-s vltozattl tmogatja a VFAT-ot is
(Windows 95 filerendszere). A tmrtett MS-DOS filerendszerek patch-ekkel elrhetk.

Egy specilis filerendszer, amit UMSDOSnak hvnak, arra val, hogy a Linuxot DOS
FAT partcira is lehessen telepteni.

csak-olvass szinten HPFS-2 filerendszert is tmogat

HFS (Macintosh) filerendszer tmogatsa, kln modullal.

CD-ROM filerendszer, ami minden szabvny formtum CD-ROM-ot olvas. (ISO9660,


Rock Ridge 1991A kiterjesztsekkel is)

TCP/IP hlzatkezels, ftp-vel, telnet-el, NFS-el, stb.

AppleTalk szerver

Netware kliens s szerver

Lan Manager (SMB) kliens, szerver (Window 3.11/95/NT)

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,

amennyiben a SCSI adaptere tmogatva van. XT controllerek is tmogatva


vannak (8 bites adapterek MFM vagy RLL-el). A tmogatott SCSI adapterek:
Advansys, Adaptec 1542, 1522, 1740, 27xx, and 29xx (nhny kivtellel)
sorozatok, Buslogic MultiMaster controllerek
NCR53c810-alap vezrlk, DPT vezrlk, Qlogic ISP s FAS vezrlk, Seagate
ST-01 s ST-02, Future Domain TMC-88x sorozat (vagy brmilyen or any
TMC950 chip alap vezrl) s TMC1660/1680, Ultrastor 14F, 24F s 34F,
Western Digital wd7000, s msok. SCSI, QIC-02, s nhny QIC-80 szalagos
egysget is tmogat a Linux. A tmogatott CD-ROM ok kztt szerepel a

Matsushita/Panasonic, Mitsumi, Sony, Soundblaster, Toshiba, ATAPI (EIDE),


SCSI, stb. A pontos modellekhez nzd meg a 'hardware compatibility HOWTO'-t.

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.

A LINUX S A WINDOWS-NT SSZEHASONLTSA,


FEJLESZTI SZEMMEL
n Linuxot s Window NT-t hasznlok, ugyanazon a gpen.
A tapasztalataim: (+: pozitv, -:negatv, -+:kzepes)
++ ingyenes
+
integrlt hlzati szerver s kliens
a szerverre nincs korltozva a felhasznlk
+++
szma
+
jelents tmogats az Interneten
lehet, hogy nehz tallni egy ksz termk
minsg bombabiztos rendszert, keresni
kell a legjobbat
(Szerintem nem nehz - J0)
Nincs egy f tmogat
(De pl. Caldera, Red Hat ad tmogatst.)

+
---

drga
a szerver sokba kerl

minden kliens plusz pnzbe 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.

-+

nagyon drga a professzionlis szint tmogats

tbb szoftver, 16-bites Windowsos programokat tud futtatni,


de kevs a natv NT-s program (nvekszik)

++++
+++

++
-++
++
++
-

+
+

kevs szoftver (gyorsan nvekszik)

---

Ingyenes Windows-emultor mg fejleszts


alatt.
+++ a windows programokat futtatja
A Sun WABI-ja (Win. Emultor) megvehet
a Caldertl.
nem olyan stabil mint az elvrhat lenne
nagyon stabil (megfelel kernellel)
(s a rosszul megrt eszkz-meghajtk...)
Az NT 4.0 File Szervere csak nhny fix s service pack
stabil szerver rsz
segtsgvel menthet meg a nagy file-ok okozta
sszeomlstl.
mivel ltalban kzepes hardverrel
Az NT az egy igazi memria s erforrs pocskol
rendelkez egyetemistk fejlesztik, a kd
--rendszer
kicsi s hatkony
sok hardvert tmogat, de csak kevs cscsjobb a helyzet, de nem igazn j, sok meghajt csak beta
+
tpust
llapotban van
modulris kernel
integrlt kernel
hlzati tmogats integrlva
-a hlzati rsz hozzadott
a forrskd hozzfrhet, ltalban a
-nem hozzfrhet a forrskd
rendszerrel egytt jn
a fejleszti krnyezet az opercis rendszer
-nincs fejleszti krnyezet
rsze
kevs nyomtatott dokumentci
(kinyomtathat), az elektronikus
+
'teljesen' dokumentlt
dokumentci amgy teljes
nem felel meg a POSIX ill. X/Open szabvnyoknak
POSIX s X/Open szabvnyoknak megfelel
-Az MS NT special ugyan POSIX.1 hitelestett, de ez
(pl. Lasermoon Disztribci)
valjban nem r sokat
A legtbb forrsprogram vltoztatsok
--- Nehz nem-Intel platformon fut programokat szerezni
nlkl lefordthat ms Unix platformokon
is.
Nagyobb szmtsi kapacitsra lenne
szksged?
Csak fordtsd le a programot egy nagyobb

teljestmny Unix gpen.


Tmogatott platformok: Intel, Sparc, Alpha,
+++
MIPS, PowerPC, Motorola 68k
+++ nagyon j hibakeressi lehetsgek
egyedi optimalizci (Pentiummal
bezrlag)
Szimmetrikus Multiprocessing
+++ 16 Pentium Pro-ig, az SMP-re vlts
megoldhat a rendszer jrainstallsa nlkl
Szoftveres RAID-0 s RAID-1
+++ (Mivel Disk Striping-ot hasznl, a RAID-0
jelentsen gyorstja a diszk elrst)
sok nagybiztonsg s stabil rendszer
+++ mkdik Linux-szal egyetemeken s ISPknl (Internet szolgltatknl)
+++

Intel, Alpha s MIPS platformokra korltozott

---

nagyon rossz hibakeressi lehetsgek, nha egy msodik


NT-s gpre is szksg lehet

Pentiumra optimalizlt

Szimmetrikus Multiprocessing lehetsges

---

A RAID-megoldsok csak kln kaphatak

Nem tudok egyetlen internet-szolgltatrl se, aki NT-t


hasznlna

A mkdssel kapcsolatos jellemzk:


legrosszabb task-kezels, amit valaha lttam,
nagyon j s stabil task-kezels, szinte lehetetlen egy
+++
egyetlen rosszul megrt program magval rnthatja
Linux rendszert szoftverbl sszeomlasztani
---+
az egsz rendszert. (GUI messagequeue-bug, jl
(Mkd hardver ajnlott!)
ismert)
nagyon nagya a hibatrse, ha nem a root
+++
disk/partci srlt meg, akkor a legtbb hardverhiba --- sok hiba sszeomlasztja/lelltja a szervert
+
kvetkeztben nem ll le a szerver
nincs lehetsg az sszes bellts tvoli
A Linux minden szempontbl tvolrl
adminisztrlsra. ha valamilyen hiba addik, meg
+++
----konfigurlhat
kell ltogatni a szervert, s nha csak a reset gomb
segt
minden szolgltats menet kzben elindthat s
lellthat. Tbb hlzati interfszt hasznlva
Szinte mindig jra kell indtani a rendszert.
lehetsges menetkzben tllni a msodlagosra, ha
Megvltoztattl valamit a hlzati belltsokban, a
+++
----egy hardverhiba miatt erre szksg van. Ilyenkor
route-olsban?
nem kell jraindtani a gpet, gy hamarabb jra
"jraindts ajnlott"
mkdkpes lesz a rendszer.
Samba file/nyomtatmegoszts szolgltatsa 20%+++ kal gyorsabb Linuxon, mint NT-n NT, Win95 s Lan
rossz/lass hlzati teljestmny
+
Manager kliensek kiszolglsban (azonos
hardveren)
a legtbb Linuxos hlzati szolgltats gyorsabb,
+++
mint NT-s megfelelje
A Windows Mailexchanger-rl ugyanez nem
+++ szabvny Mailer (levltovbbt) daemonok
--- mondhat el, sok levltovbbtsi problmja van,
plusz pnzbe kerl
+++ ingyenes sendmail
--- a sendmail tovbbi kiads
+++ tovbbi levlkezel segdprogramok
--- nincsenek, a mapi.dll nem ismeri az SMTP-t
+++ nagyon j, ingyenes Web-szerver
--- tovbbi kiads
+++ nagyon j, ingyenes ftp szerver
--- tovbbi kiads
+++ nagyon j, ingyenes adatbzis-szerver
--- tovbbi kiads
+++ fax-szerver
--- tovbbi kiads
RAS hasznlata esetn a tbbi szolgltats nem
+++ a modem megoszthat
--hasznlhatja a modemet
+++ ingyenes uucp szerver/kliens
--- ?
ppp, sh, uucp, fax ugyanazon a kommunikcis
+++
--- ?
porton
+++ ip aliasing
--- ?

+++ ip tunneling/masquerading
+++ Szabvnyos NFS-szerver
+++ NIS szerver
X11R6, hlzatra felksztett GUI
+++
(Tvoli gpen fut programok megjelentse.)
+++

jl dokumentlt biztonsgilag gyenge pontok,


mindegyik kivdhet

---

Egyltaln nincs C2-es biztonsgi bizonytvnya.


Senki se fizetett rte.

-------

?
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

ltalnossgban nnek kell dntenie. n szemly szerint fejlesztsre a Linuxot preferlom,


mivel

alacsonyak a hardverkltsgek,

jk a nyomkvetsi lehetsgek,

lehetsgem van akr igazi szuperszmtgpeket is felhasznlni a programjaim


futtatshoz. (Az NT az nem UNIX).

Szeretem a Linux azon lehetsgt, hogy vltogathatok a virtulis konzolok kztt,


mikzben X11 grafikus felletet vagy tbb klnbz nyomkvetsi kpernyt
hasznlok.

A Linux mindig vlaszkpes marad, mg az NT sokszor nem.

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.

MIT TUD A LINUX?


ttekintve a Linux tmogat:

ISDN

SCSI egysgeket

Hangkrtykat (pl. Sb, Gravis)

Hlzati krtykat (pl. Arcnet, Ethernet, Token ring-es krtyt)

stb.

A Linux ismeri a kvetkez filerendszereket:

Minix

Extended

Ext2fs

xiafs

MSDOS FAT

Windows95 VFAT (hossz filenevekkel)

NFS (Unixos Network File System)

SMB (Windowsos hlzati 'FS')

NCP (Novell NetWare hlzati protokoll)

ISO9660 (CDROM)

OS/2 HPFS (csak olvass)

Sytem V s Coherent

Amiga FFS (Fast File System)

UFS (BSD s leszrmazott rendszerei, csak olvass)

Macintosh HFS* (automatikusan pl. CD-ROM-ra is)

NTFS* (Windows NT, csak olvass)

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:

TCP/IP, Firewalling, Masquerading, IP accounting,...

IPX (Novell)

Appletalk DDP

Rdiamatr AX.25 level 2

PPP/SLIP, pl. Internetezshez telefonon t

Frame Relay

stb.

Hangkrtyk kzl:

Sound Blaster (SB, SBPro, SB16, clones)

ProAudioSpectrum 16 support

Generic OPL2/OPL3 FM synthesizer

Gravis Ultrasound (*) (GUS Classic, Max, PnP, Ace)

MPU-401

PSS (ECHO-ADI2111)

Microsoft Sound System

Ensoniq SoundScape

MediaTrix AudioTrix Pro

MAD16 and/or Mozart based cards

Crystal CS4232 based (PnP)

Turtle Beach Wave Front (Maui, Tropez)

SB AWE 32*

stb.

* kln driverrel, kln beszerezhet patch-el

A Linux konkrt felhasznlsi terletei lehetnek:

Kiszolglknt:

Router

Macintosh file s nyomtat szerver

Windows 3.1/3.11/95/NT SMB file szerver, nyomtat szerver

SQL adatbzis-szerver

Domain Name szerver

HTTP/WWW szerver

E-mail szerver, IMAP/POP3-al

News szerver

IRC szerver

Novell szerver (emullva)

FTP szerver

Fax szerver

PPP/SLIP dial-up kapcsolatokra szerver

Felhasznlknt pldul a kvetkezkre hasznlhat (de ez kombinlhat a


kiszolglssal, termszetesen):

Rajzols, retusls

GIMP, CorelDraw, StarOffice, ApplixWare

Internetezs otthonrl

Netscape, levelez programok (PINE, XF-mail, etc), IRC (Zircon, IRCII,


etc), telnet, ftp-zs

Programozs

Mindenfle (C/C++, Pascal, Fortran, Modula, JAVA, etc), grafikus fellet


al (X11) is

Irodai alkalmazs (itt se tl ers egyenlre mg)

Jtk (ebbl kevs van, de pl.)

StarOffice, WordPerfect, ApplixWare

Quake, Doom, Abuse, LinCity, etc.

Emulcik:

DOS, Window emultor, Macintosh, Commodore 64, VIC, etc.

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.

Az els UNIX-tl a Linuxig


Az els UNIX tulajdonkppen mellktermke volt egy remnytelenl elbonyoldott
opercisrendszer-fejlesztsi projektnek, a MULTICS-nak. A fejlesztsbl kiszllt AT&T kt
elvetemlt programozja, Ken Thomson s Dennis Ritchie azonban "unalombl" mgiscsak
megrtak egy opercis rendszert a megszerzett tapasztalatok alapjn PDP-7-re, 1969-ben. A
teljes kd mg 1971-ben, amikor egy PDP-11-re teleptettk t, sem volt 16 kilobyte-nl tbb, de
teljesen assemblyben rdott. ttenni ms gpre a teljes jrakdolssal volt egyenrtk. Ez
azonban akkoriban termszetesnek tnt.
Dennis Ritchie kidolgozott egy "magas szint assemblyt", arra a clra, hogy hatkony,
hardverkzeli, ugyanakkor hordozhat programok legyenek kszthetk. Ez a C nyelv. 1973-ra a
UNIX kernel mindazon rszt, amit egyltaln lehetsges volt, trtk C-be. Ettl kezdve a
rendszer brmilyen hardverre telepthet volt, amely bizonyos alapfeltteleknek megfelelt.
Megkezddtt az elterjedse, amit az is segtett, hogy az AT&T ingyen bocstotta az egyetemek
rendelkezsre a forrskdot.
A telepts ekkoriban a kvetkez procedrt jelentette:
1. A forrskd beszerzse (lehetleg lyukszalagon, mgnesszalagon, hogy ne kelljen sokat
gpelni).
2. Ha a gp nem binrisan kompatibilis a forrs gpvel, akkor a kernel gpi kd rsznek
jrarsa (de ez mg mindig jobb, mintha az egszet kellene).
3. C fordt beszerzse s bezemelse (ha vgkpp nem ltezett ilyen, lehetsg volt egy
mini C rsra, ami a "nagy" C fordtt ltrehozta, hiszen az is megvolt C forrsban).

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.

Kvetelmnyek a hardverrel szemben


A Linux eltt is lteztek UNIX kompatibilis rendszerek PC-re, ezek kzl a 286-os processzorra
rt Coherent szmt ismertnek, illetve a Xenix. A Linux 386-os processzorra lett kifejlesztve,
ennl gyengbb processzorral nem rt sz -- de ez ma, a Pentiumok idejn nem korlt.
A Linux teleptshez az albbi hardver minimum szksges:

386-ossal kompatibilis processzor (386SX-tl Pentiumig brmi);

4M RAM + 16M swap (ajnlott 8M, grafikhoz 16M s a swap is nvelhet);

20M merevlemezterlet a minimlis rendszerhez, 80-100M egy tlagoshoz s tbb, mint


150M egy teljeshez (s ez mg csak az opercis rendszer s krnyke, nem az
alkalmazsok...);

brmilyen videokrtya, de (a grafika miatt) ajnlott a VGA;

1.44-es vagy 1.2-es floppy drive.

Elkszletek
0. lps: Megvlaszoland krdsek

Honnan s milyen formban jutunk hozz a Linuxhoz? (floppy, merevlemez, CD-ROM,


hlzat)

Hova tesszk a gpnkn? (sajt merevlemez, sajt partci(k), DOS trsbrlet)

1. lps: A Linux megszerzse


A Linux beszerezhet s telepthet

floppykrl (vagy merevlemezrl);

CD-ROM-rl;

hlzatrl;

Lnyegben minden tpus a floppyra vezethet vissza. Az els kt esetben a mdia a


birtokunkban van, az utols esetben csupn a cm, de ez is elg. A telepts CD-ROM-rl a
legknyelmesebb s leginkbb problmamentes. A floppyval sokat kell vacakolni, ha pedig
merevlemezen kapjuk vagy oda msoljuk telepts eltt (floppykrl, CD-ROM-rl, vagy
hlzatrl), az sok helyet ignyel s egy kicsit veszlyes is, ha ugyanazon a merevlemezen lesz
majd a Linux is. Maga a teleptkszlet gy van sztbontva, hogy floppykon is terjeszthet
legyen.
2. lps: Backup a jelenlegi rendszerrl
A telepts sorn tbb alkalommal is lehetsgnk van vgzetes hibt elkvetni. Teht biztos,
ami biztos, ha egyltaln van mirl, ksztsnk biztonsgi msolatot!
3. lps: Helyet a Linuxnak!
Br lhet a Linux a DOS mellett trsbrletben is ugyanazon a partcin, mgis clszerbb
szmra sajt partcit biztostani. res merevlemezen ez nem gond, de mr munka al vett
merevlemezen jrafelosztst kell vgezni. Vagy lementjk az eredeti tartalmat (lsd az elz
lpst) s jra felosztjuk az egsz lemezt, vagy lecspnk a DOS-bl egy megfelel mret
darabot. Ez legalbb 100M legyen, ha dolgozni is akarunk a rendszerrel. A lecspst a FIPS nvre
hallgat program oldja meg, de eltte defragmentlni kell a DOS partcit. A Linuxnak
fenntartott helyet egyelre resen hagyjuk.

4. lps: Boot s root lemez ksztse


Most vlik lnyegess, honnan teleptjk majd a rendszert, mert ennek alapjn vlasztjuk ki a
kszletbl, milyen boot s root lemezt fogunk hasznlni.
Boot lemez:

floppy s merevlemez esetn gyakorlatilag mindegy;

CD-ROM esetn a meghajt tpusnak megfelel (mitsumi, sony, stb.);

hlzat esetn a net boot lemez szksges.

Root lemez:

VGA krtya esetn color144 vagy color12;

ms esetben tty144 vagy tty12.

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.

Telepts lpsrl lpsre


Az jrainduls sorn egy, a teleptshez idomtott nagyon szegnyes, m mkd Linux tltdik
be. Miutn a boot lemez olvassa befejezdtt, lemezt cserlnk s egy, a RAM-ban ltrehozott
virtulis meghajtra betltdik a root lemez is. Ha nincs elg RAM-unk ehhez (4M alatt), de van
kt meghajtnk, gy az egyikben marad a boot lemez, a msikban a root lemez s gy is
nekivghatunk. A root lemez olvassnak befejezte utn a rendszer elindul, hardver ellenrzst
hajt ltre s vgl, ha minden rendben van, kirja: login. Ide rootknt jelentkeznk be s nincs
password. Kezdhetjk a teleptst!

1. lps: A filesystem elksztse


Az res partcit az fdisk programmal vehetjk "mvels" al. ltalban kt partcit ksztnk,
egyet magnak a Linuxnak s egyet a swapnak. Nagy merevlemez esetn a Linux partcit
feloszthatjuk rendszerre s az alkalmazsokra. A Linux szmra a "Linux native", a swapnak a
"Linux swap" tpust vlasszuk.
A swap filerendszert az mkswap kszti el, majd ezt a swapon program be is kapcsolja. Ha
kevs a RAM-unk (4M mg kevs), akkor enlkl nem is tudunk tovbblpni.
2. lps: A Setup indtsa
A setup program elindtsval megkezdjk a tnyleges teleptst. A men hasznlata knyelmes,
innen kezdve tulajdonkppen pusztn trelemre van szksgnk -- elg sokig tart ugyanis.
Meg kell hatroznunk a forrs fajtjt (floppy, merevlemez, CD-ROM, hlzat) s a forrs helyt
(meghajt jele, knyvtr neve, IP szmok). Hlzat esetn megadand a forrs IP szma, az IP
maszk, a router IP szma s a sajt IP szm. A tvoli knyvtr bemountoldik erre az idre.
Meg kell adni a telepts helyt -- ez az a partci lesz, amit elksztettnk az fdisk-kel.
3. lps: Telepts
Ha minden ksz, megindul a Linux felteleptse. A telepts sorn elszr ki kell vlasztanunk,
mely csomagokra tartunk ignyt. Ezek:

[A] alaprendszer

[AP] "npszer" kiegsztsek

[D] fejleszti csomag (C/C++)

[E] EMACS

[F] FAQ

[I] GNU infk

[N] hlzati csomag

[OOP] Objektum orientlt nyelvek (de nem C++)

[Q] fejleszts alatt ll s specilis kernelek

[TCL] TCL/TK

[Y] jtkok

[X] Xwindow alaprendszer

[XAP] X alkalmazsok

[XD] X fejleszti csomag

[XV] XView s OpenLook

[IV] InterView

[T] TeX

Dlt betvel a mindenkppen szksges csomagok vannak jellve, de ebbl az X valjban


kihagyhat, viszont a hlzathoz az [N] s [Q] is kell, utbbi egyes specilis hardeverekhez is.
A telepts sorn a program ngy kategriba sorolja a csomagon belli rszeket.

Required Erre a gp r se krdez, ez ktelezen felkerl.

Recommanded Ezt ki lehet hagyni, de ajnlott. Ez tbbnyire igaz, de pl. X alatt az


sszes videokrtya tmogats ilyen, holott csak a sajtunknak megfelelt kell felraknunk.

Optional Ha akarjuk feltesszk, ha akarjuk nem.

Unknown Errl a csomag sszellti se tudtk, mi. ;-)

4. lps: Egyb belltsok


A csomagok felkerlse utn mg nhny dolgot be kell lltanunk:

gpnk neve s IP szma (van default, ha nem vagyunk a hlzaton);

soros port, egr, nyomtat, idzna, stb.

a LILO (Linux Loader) belltsa -- ez hozza be majd az oprendszert;

DOS s ms partcik bekapcsolsa -- rhatjuk s olvashatjuk;

boot (szervz) lemez ksztse.

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

nyelven. A megfelelnek vlt belltst az xinit programmal tesztelhetjk, illetve a vgaset


programmal finomhangolhatjuk.

A LINUX KERNEL
1. Bevezets
Neked szl ez a doukumentum? Igen, ha illik rd a kvetkezk valamelyike:

``Grrr''! Ennek a wizzo-46.5.6 programcsomagnak az 1.8.193-as kernel verzi kell,


nekem meg mg mindig csak 1.0.9-es van!"

Az jabb kernelek egyikben van egy olyan eszkzmeghajt, amelyre geten szksged
van.

Tnyleg fogalmad sincs arrl, hogy hogyan kell kernelt fordtani.

``Tnyleg csak annyi az egsz, amit a README-ben rnak?''

Jttl, lttl, nem sikerlt.

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.

2. FONTOS KRDSEK S VLASZOK


2.1 Egyltaln mit csinl a kernel?
A Unix kernel a kzvett a programok s a hardver kztt. Menedzseli a memrit az sszes
fut program (processz) szmra s biztostja, hogy mind egyenlen (vagy egyenltlenl, ha gy
tetszik) rszesljenek a processzor ciklusaibl. Tovbb egy knyelmes, hordozhat felletet
nyjt a programoknak, amelyen t kommuniklhatnak a hardverrel.
Ennl persze jval tbb szt rdemelne a kernel mkdse, de ezeket az alapvet funkcikat a
legfontosabb ismerni.

2.2 Mirt kell frissteni a kernelt?


Az jabb kernelek ltalban tbbfle hardverrel tudnak egyttmkdni mint a rgebbiek (azaz
tbb eszkzmeghajtjuk van). Lehet hogy az j kernelnek jobb a processz-kezelse, gyorsabb
vagy stabilabb mint a rgi verzi, s mr ki van benne javtva az elz ismert hibja. A legtbben
az eszkzmeghajtk s a kijavtott hibk miatt frisstenek kernelt.

2.3 Milyen hardvert tmogatnak az jabb kernelek?


Lsd a Hardware-HOWTO-t. Tovbb megnzheted a `.config' fjlt a linux forrsban, vagy
kiderl, ha kiadod a `make config', a `make menuconfig' vagy a `make xconfig'
parancsot. Ez megmutatja az sszes hardvert amit a szabvnyos kernel csomag tmogat, de nem
mindent amit a linux tmogat. Sok elterjedt eszkzmeghajt (mint pldul a PCMCIA krtyk s
nmely szalagos egysg meghajtja) betlthet modulknt vannak megrva, amelyeket kln
gondoznak s terjesztenek.

2.4 A gcc s libc melyik verzijra van szksg?


Linus ajnl egy gcc verzit a linux forrshoz mellkelt README fjlban. Ha neked nincs meg ez
a verzi, a gcc ajnlott verzijnak dokumentcija megmondja, hogy kell-e frissteni a libc-t. Ez
nem egy bonyolult eljars, de fontos betartani az utastsokat.

2.5 Mi a betlthet modul?


Ezek a kernel program olyan rszei, amelyek nincsenek kzvetlenl beillesztve a kernelbe.
Kln kell lefordtani, s szinte brmikor be lehet illeszteni a fut kernelbe illetve ki lehet venni
onnan. A rugalmassga miatt mr ez a legelterjedtebb mdszer bizonyos kernel-szolgltatsok
programozsra. Sok npszer eszkzmeghajt, mint pldul a PCMCIA meghajtk s a QIC80/40 szalagos egysg meghajtja betlthet modulknt van megrva.

2.6 Mennyi lemezterletre van szksg?


Ez az adott konfigurcitl fgg. Elszr is a tmrtett linux forrs majdnem 6 megabjt a
2.0.10 -es verzinl. A legtbb helyen ezt a kicsomagols utn is megtartjk. Kibontva 24 MB
helyett foglal. De mg nincs vge: ennl is tbb kell, hogy le is lehessen fordtani. Ez attl fgg
mennyi mindent akarsz betenni a kernelbe. Pldul az egyik gpemen van hlzat, a 3Com
3C509 meghajtja, hrom fjlrendszer, gy sszesen majdnem 30 MB lesz. A tmrtett forrssal
egytt krlbell 36 MB kell ehhez a konfigurcihoz. Egy msik gpen, hlzati eszkz
tmogats nlkl (de hlzati tmogatssal) s hangkrtya tmogatssal mg tbbet foglal. Egy
jabb kernelnek biztosan nagyobb a forrsa mint egy rginek, s ha sok hardvered is van, akkor
gondoskodj egy megfelelen nagy merevlemezrl. (s a mai rak mellett csak ajnlani tudom,
hogy egy jabb merevlemez beszerzsval oldd meg a trolsi problmkat.)

2.7 Mennyi ideig tart?


A tbbsg szmra a vlasz: "elg sokig". Alapveten a gp sebessge s a memria
mennyisge hatrozzk meg a fordtsi idt, de kis mrtkben fgg a kernelbe konfigurlt dolgok
mennyisgtl is. Egy 486DX4/100-es gpen 16 MB RAM-mal egy 1.2-es kernel fordtsa t
fjlrendszerrel, hlzati tmogatssal, hangkrtya meghajtval krlbell 20 percig tart. Egy
386DX/40-en (8 MB RAM) hasonl konfigurcival majdnem msfl ra. Amg a gp fordtja a
kernelt fzz egy kvt, nzz tvt, ktgess vagy hdolj egyb kedvtelseknek. Ha tnyleg

nagyon lass gped van akkor megkrhetsz valakit, akinek gyors gpe van, hogy fordtsa le
neked a kernelt.

3. HOGYAN KELL KONFIGURLNI A KERNELT ?


3.1 A forrs beszerzse
A forrst anonymous ftp-vel lehet beszerezni az ftp.kernel.org-on a /pub/Linux/
knyvtrbl, egy tkrzsrl, vagy egyb helyrl. ltalban linux-x.y.z.tar.gz a neve,
ahol x.y.z a verziszm. Az jabb (jobb?) verzk s patch-ek ltalban `v2.0' s `v2.1' nev
alknyvtrakban vannak. A legnagyobb szm a legjabb verzi (jelenleg v2.1), s ezek
"fejleszti verzik". Ha flsz az alfa s bta verziktl, akkor inkbb maradj egy stabil verzinl
(v2.0).
Nyomatkosan ajnlom, hogy hasznlj egy tkr ftp-helyet az ftp.kernel.org helyett. Itt egy rvid
lista a tkrzsekrl:
USA:

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

ltalban a sunsite.unc.edu tkrzsein rdemes keresni. A /pub/Linux/MIRRORS


fjl tartalmazza az ismert tkrzsek listjt. Ha ltalnos Linux informcikat keresel, prbld
meg a kvetkez cmeken: http://www.linux.org/ (angolul), http://www.cab.uszeged.hu/linux/ (magyarul).

3.2 A forrs kibontsa


Lpj be `root'-knt (vagy vlts t su-val) s menj t (cd-vel) a /usr/src-be. Ha a linux
teleptsekor a forrst is felrakattad (ahogy a legtbben), akkor mr lesz ott egy `linux' nev
knyvtr, ami tartalmazza az egsz forrs-hierarchit. Ha van elg lemezterleted s biztosra
akarsz menni, akkor tartsd meg ezt a knyvtrat. A legjobb ha kiderted melyik verzi fut ppen
s a knyvtrat annak megfelelen nevezed t. A `uname -r' parancs kirja az aktulis
verziszmot. Teht ha az `uname -r' azt vlaszolta, hogy `2.0.17', akkor nevezd t a
`linux'-ot (`mv'-vel) `linux-2.0.17'-re. Ha szeretsz kockztatni, akkor csak trld ki az
egsz knyvtrat. A lnyeg, hogy ne legyen `linux' nev knyvtr a /usr/src-ben amikor
kibontod a forrst.
Most (mg mindig a /usr/src-ben) bontsd ki a forrst a `tar

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.

3.3 A kernel konfigurlsa


Megjegyzs: Az itt kvetkezk egy rsze a Linus-fle README egy hasonl fejezetnek
megismtlse, rszletezse.
A /usr/src/linux-bl kiadott `make config' parancs elindt egy konfigurl scriptet,
amely sok krdst tesz fel. A bash kell hozz, ezrt ellenrizd, hogy ltezik-e a /bin/bash, a
/bin/sh a /bin/bash-ra mutat-e, vagy a $BASH tartalmazza-e a /bin/bash-t.
A `make config'-nak van kt knnyebben s knyelmesebben hasznlhat alternatvja. Azok
akik X alatt dolgoznak, megprblhatjk a `make xconfig'-ot, ha van Tk installlva. A
`make menuconfig' azoknak val, akik jobban szeretnnek egy szveges ment; (n)curses
kell hozz. Ezeknek a felleteknek van egy hatrozott elnyk: Ha elrontasz valamit a
konfigurls kzben, akkor egyszeren vissza lehet menni kijavtani.
A krdsekre ltalban igennel (`y' (yes)) vagy nemmel (`n' (no)) kell vlaszolni. Az
eszkzmeghajtkhoz ltalban van `m' opci is. Ez azt jelenti ``modul'', azaz a rendszer le fogja
fordtani, de nem kzvetlenl a kernelbe, hanem betlthet modulknt. Nhny nyilvnval s

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.

Kernel math emulation


Trsprocesszor emulci. Ha nincs matematikai trsprocesszor a gpedben (egy sima 386 vagy
486SX esetn) akkor erre igennel kell vlaszolni. Ha van trsprocesszor s mgis igennel
vlaszolsz, ne aggdj -- a kernel hasznlni fogja a trsprocesszort s figyelmen kvl hagyja az
emulcit. Az egyetlen kvetkezmny az, hogy a kernel nagyobb lesz, fogyasztva a memrit.
gy hallottam, hogy a trsprocesszor emulci lass. Br nincs sok kze ehhez a fejezethez, j
ha ez eszedbe jut, ha azt tapasztalod, hogy nagyon lass az X.

Enhanced IDE/MFM/RLL disk/cdrom/tape support


Megnvelt IDE/MFM/RLL disk/cdrom/szalagos egysg tmogats. Erre valsznleg szksg
lesz. Ez azt jelent, hogy a kernel tmogatni fogja a szabvnyos PC merevlemezeket; a legtbb
gpben ilyen van. Ebbe nem tartoznak bele az SCSI maghajtk, ezek konfigurlsra ksbb
kerl sor.
Amennyiben nem a fenti kell, vlaszthatod mg az `Old harddisk (MFM/RLL/IDE) driver'-t (rgi
MFM/RLL/IDE lemez meghajt). Csak az egyiket lehet vlasztani. A f klnbsg az, hogy a
rgi meghajt csak kt lemezegysget tud kezelni egy csatoln, mg az elbbi egy msodik
csatolt is tud kezelni illetve az IDE/ATAPI CD-ROM s szalagos egysgeket is. Az j meghajt
4k-val nagyobb, mint a rgi s felttelezheten ``javtott'', ami azt jelenti, hogy amellett, hogy
tbb hibajavtst is tartalmaz, megnveli a lemezek teljestmnyt, klnsen az jabb (EIDE)
hardver esetn.

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.

Limit memory to low 16MB


Memria korltozsa az als 16 MB-ra. Vannak hibs 386-os DMA vezrlk, amelyek nem
tudnak 16 MB fl es memrit megcmezni. Csak abban a ritka esetben kell igennel
vlaszolni, ha ilyened van.

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.

Processor type (386, 486, Pentium, PPro)


Processzor tpusa. Rgebben ez befordtott bizonyos optimalizcit az adott processzorhoz; a
kernel simn futott ms processzorokon is, csak egy kicsit nagyobb volt. Az jabb kernelek
esetn ez mr nem gy van, ezrt annak a processzornak a tipust kell berni, amelyhez a kernel
kszl. Egy ``386-os'' kernel minden gpen menni fog.

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.

Network device support


Hlzati eszkz tmogats. Ha van hlzati krtyd, vagy szeretnl SLIP-pel, PPP-vel vagy a
prhuzmos porton t csatlakozni az Internethez, vlaszolj igennel. A konfigurcis script
megkrdezi a krtya tipust s a hasznland protokollt.

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.

ISO9660 - A legtbb CD-ROM-on ez tallhat. Ha van CD-ROM meghajtd s szeretnd linux


alatt hasznlni, vlaszd ki.
HPFS - Az rs idejn egy csak olvashat fjlrendszer OS/2 HPFS-hez.
System V and Coherent - System V s Coherent partcikhoz. (Ezek ms PC-s Unix vltozatok.)

De n nem tudom milyen fjlrendszer kell nekem!


Jl van, rd be, hogy `mount'. A kimenet valami ilyesmi lesz:
blah# mount
/dev/hda1 on / type ext2 (defaults)
/dev/hda3 on /usr type ext2 (defaults)
none on /proc type proc (defaults)
/dev/fd0 on /mnt type msdos (defaults)
Nzd meg mindegyik sort. A `type' utni sz a fjlrendszer tpusa. Ebben a pldban a / s a
/usr fjlrendszerek tpusa ext2 (second extended). Hasznlok /proc fjlrendszert is, tovbb
egy floppy be van mountolva msdos fjlrendszerknt.
Megprblkozhatsz a `cat /proc/filesystems' paranccsal, ha a /proc ppen tmogatva
van a fut kernelben s be van mountolva; ez ki fogja listzni az aktulis kernel fjlrendszereit.
Ritkn hasznlt, nem ltfontossg fjlrendszerek bekonfigurlsa tlmretezett kernelt
eredmnyezhet. A modulokrl szl fejezetbl kiderl, hogy ezt hogy lehet elkerlni. A ``
Nhny kelepce'' cmbl pedig az, hogy mirt nemkvnatos a nagy kernel.

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.

Egyb konfigurcis opcik


Nincs az sszes konfigurcis opci felsorolva itt, egyrszt mert tl gyorsan vltoznak, msrszt
mert magtl rtetdek. (Pldul a ``3Com 3C509 support'' az emltett ethernet krtyhoz val
tmogatst jelenti.) Axel Boldt (axel@uni-paderborn.de) sszelltott egy meglehetsen
szleskr listt az sszes opcirl (s egy mdszert, amivel be lehet tenni ket a Configure
scriptbe), amely a
http://math-www.uni-paderborn.de/~axel/config_help.html
cmen tallhat, vagy anonymous FTP-vel a
ftp://sunsite.unc.edu/pub/Linux/kernel/config/krnl_cnfg_hlp.
x.yz.tgz
cmen, ahol x.yz a verziszm.
A ksbbi kernelekben (2.0.x s e fltt) ez mr be van integrlva a forrsba.

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.

3.4 Na most mi legyen? (A Makefile)


A make menuconfig vagy a make xconfig utn egy zenet tudatja, hogy a kernel
konfigurlsa megtrtnt s felszlt, hogy ``check the top-level Makefile for additional
configuration'', stb. (``Tovbbi konfigurlshoz ellenrizd a felsszint Makefile-t'')
Nzz bele teht a Makefile-ba. Valsznleg nem kell megvltoztatni semmit, de megnzni
sosem rthat. Az opcikat megvltoztathatod akkor is, amikor az j kernel mr a helyn van az
`rdev' paranccsal.

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.

4.3 A ``make'' egyb opcii


A `make mrproper' alaposabb trlst vgez. Nha szksg van r, ajnlott minden patch
alkalmval vgrehajtani. A `make mrproper' a konfigurcis fjlt (.config) is letrli, ezrt
csinlj rla biztonsgi msolatot, ha megtartsra rdemesnek tallod.
A `make oldconfig' megprblja egy rgi konfigurcis fjl alapjn konfigurlni a kernelt;
elvgzi helyetted a `make config' lpst. Ha mg sosem fordtottl kernelt vagy nincs rgi
konfigurcis fjl kznl, akkor ne tedd, mert minden bizonnyal meg kell vltoztatni az
alaprtelmezett konfigurcit.
A `make modules' lersa a modulokrl szl fejezetben tallhat.

4.4 A kernel installlsa


Ha ksz van a kernel s az gy is mkdik, ahogy szeretnd, itt az ideje installlni. A legtbben a
LILO-t (Linux Loader) hasznljk erre clra. A `make zlilo' installlja a kernelt, lefuttatja
rajta a LILO-t, s bootolsra ksz llapotba hozza, DE CSAK AKKOR, ha a LILO a
kvetkezkppen van konfigurlva: a kernel /vmlinuz, a LILO az /sbin-ben van, s a LILO
konfigurcis fjl (/etc/lilo.conf) tartalma is ennek megfelel.
Ellenkez esetben kzvetlenl kell a LILO-t hasznlni. Elgg knny installlni s hasznlni,
de a konfigurcis fjl hajlamos sszezavarni az embereket. Nzd meg a konfigurcis fjlban (a
rgebbi verziknl /etc/lilo/config, az jaknl /etc/lilo.conf), hogy mi az
aktulis bellts. A konfigurcis fjl gy nz ki:
...
image = /vmlinuz
label = Linux
root = /dev/hda1
...
Az `image =' az aktulis kernelre mutat. A legtbben /vmlinuz-t hasznlnak. A `label'
alapjn dnti el a lilo, hogy melyik kernelt, vagy opercis rendszert indtsa el, s a `root' az
adott opercis rendszert gykrknyvtra. Kszts biztonsgi msolatot a rgi kernelrl s
msold a frissen fordtott zImage-t a helyre. (Pldul, ha `/vmlinuz'-t hasznlsz, azt
mondod, hogy `cp zImage /vmlinuz') Ezutn futtasd a lilo-t -- az jabb rendszereken elg

annyi, hogy `lilo', de rgebbieken lehet, hogy /etc/lilo/install , vagy akr


/etc/lilo/lilo -C /etc/lilo/config kell.
Ha szeretnl tbbet tudni a LILO konfigurlsrl, vagy nincs is meg neked, akkor szerezd meg
a legjabb verzit a kedvenc ftp helyedrl s kvesd az utastsokat.
Ha szeretnl egy rgi kernelt bootolni a merevlemezrl (gy is megmeneklhetsz, ha az jat
elrontottad), msold le a lilo konfigurcis fjlban az `image = xxx' sort s az utnna
kvetkez sorokat a fjl aljra, s vltoztasd meg az `image = xxx' sort `image = yyy'-ra,
ahol `yyy' annak a fjlnak a teljes elrsi tvonala, amelybe a rgi kernelt mentetted. Azutn
vltoztasd meg a `label = zzz' sort `label = linux-backup'-ra s futtasd a lilo-t.
Lehet, hogy be kell tenni egy `delay=x' sort is a konfigurcis fjlba, ahol x az az id
tizedmsodpercben megadva, amennyit a lilo vr mieltt bootolna. gy meg lehet szaktani
(pldul a shift billentyvel) s be lehet rni a rgi kernel cmkjt, ha valami kellemetlen
trtnik az jjal.

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 .

-name '*.rej' -print

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.

5.2 Ha valami nem megy


(Megjegyzs: ez a fejezet fknt nagyon rgi kernelekre vonatkozik)
A leggyakrabban felmerl problma rgebben az volt, hogy a patch mdostott egy
`config.in' nev fjlt, s nem sikerlt, mert a felhasznl megvltoztatta az opcikat, hogy
illeszkedjen a gphez. Ezt azta megoldottk, de mg lehet vele tallkozni egy rgebbi
kibocsts esetben. A kvetkezkppen lehet megjavtani: Nzz bele a config.in.rej
fjlba s keresd meg mi maradt az eredeti patch-bl. A vltozsokat ltalban sor eleji `+' and `-'
jelek jelzik. Nzd meg a krltte lv sorokat s jegyezd emg, hogy az llsuk `y' vagy `n'.
Utnna szerkeszd t a config.in-t, s vltoztasd meg a `y'-t `n'-ra s az `n'-t `y'-ra a
megfelel helyeken. Addj ki egy
patch -p0 < config.in.rej
parancsot, s ha sikerl (nincs hibazenet), akkor lehet folytatni a konfigurlssal s fordtssal.
A config.in.rej fjl megmarad, de le lehet trlni.
Ha tovbbi problmk bukkannak el, akkor lehet, hogy rossz sorrendben alkalmaztad a patchokat. Ha azt mondja, hogy `previously applied patch detected: Assume -R?',
akkor lehet, hogy az aktulis verzi eltti patchot prblsz felrakni. Ha `y'-t vlaszolsz, akkor

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.

5.3 Az .orig fjloktl val megszabaduls


Mr nhny patch utn az .orig fjlok kezdenek felhalmozdni. Pldul egyszer volt egy
1.1.51 forrsom, ami az 1.1.48. ta nem volt megtisztogatva. Az .orig fjlok letrlse tbb mint
fl megt szabadtott fel. Egy
find .

-name '*.orig' -exec rm -f {} ';'

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 .

-name '*.orig' | xargs rm

vagy a ``hossz de biztos'' mdszer:


find . -name '*.orig' -print0 | xargs --null rm

5.4 Egyb patch-ek


Linus Torvalds ltal terjesztette patch-eken kvl vannak msmilyenek is (nevezzk ket ``nem
szabvnyos''-nak). Ha ezeket felrakod, akkor lehet, hogy a Linus fle patch-ek nem fognak jl
mkdni, s akkor vagy visszacsinlod ket s megjavtod a forrst vagy a patchet, vagy felraksz
egy j forrst, vagy a fentiek valamilyen kombincija. Ez nagyon idegest lehet, teht ha nem
akarod mdostani a forrst (kockztatva egy nagyon rossz vgkimenetelt), csinld vissza a nem
szabvnyos patcheket mieltt felrakod Linus-it, vagy rakj fel egy j forrst. gy ellenrzheted,
hogy a nem szabvnyos patch-ek mkdnek-e mg. Ha nem, akkor vagy be kell rned egy rgi
kernellel, vagy addig btykld vagy a forrst vagy a patch-et amg nem mkdik, vagy vrsz
(esetleg knyrgsz), hogy kijjjn a patch egy j verzija.
Mennyire elterjedtek a nem szabvnyos patchek? Valsznleg fogsz rluk hallani. Rgebben
hasznltam a noblink patchet a virtulis konzolokon, mert utlom a villog kurzort. (Ezt gyakran
frisstik (vagy legalbbis frisstettk) a kernel j verziihoz). De mivel a legtbb j
eszkzmeghajtt betlthet modulnak fejlesztik, a nem szabvnyos patch-ek gyakorisga
jelentsen cskken.

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.

7.2 Nagy vagy lass kernel


Ha a kernel sok memrit foglal el, tl nagy, s/vagy egy rkkvalsgig tart lefordtani akkor
is, ha a vadonatj 786DX6/440 gpeddel esel neki, akkor valsznleg tl sok flsleges dolog
(eszkzmaghajtk, fjlrendszerek, stb.) van belekonfigurlva. Ha nem hasznlod, akkor ne is
konfigurld be, mert foglalja a memrit. A tl nagy kernel legszembetnbb tnete a memria
s diszk kztti tlzott swappels. Ha a merevlemez sokat zrg, s nem egy rgi Fujitsu Eagles,
ami kikapcsolskor olyan hangot ad, mint egy sugrhajts replgp leszls kzben, akkor
nzd t a kernel konfigurlst.
Megtudhatod, hogy mennyi memrit hasznl a kernel, ha fogod a gpedben lev sszes
memria mennyisgt s kivonod belle a ``total mem'' mez rtkt a /proc/meminfo-bl,
vagy a `free' outputjbl. Megtuthatod mg gy is, hogy kiadod a `dmesg' parancsot (vagy
megnzed

kernel

log

fjlt,

brhol

is

legyen

gpeden

--

ltalban

ez

/var/log/messages). Lesz benne egy ilyen sor:


Memory: 15124k/16384k available (552k kernel code, 384k reserved,
324k data)
A 386-osom (amelyen egy kicsit kevesebb plusz dolog van bekonfigurlva) ezt rja ki:
Memory: 7000k/8192k available (496k kernel code, 384k reserved,
312k data)
Ha nem brsz lni nagy kernel nlkl, de a gp nem engedi, akkor prbld ki a `make
bzimage'-t. Knnyen lehet, hogy akkor a LILO egy j verzijt is installlnod kell.

7.3 A kernel nem fordul le


Ha nem fordul le, akkor valsznleg nem sikerlt egy patch, vagy a forrs valahogy megsrlt.
Lehet, hogy nem j a gcc adott verzija, vagy az is lehet srlt (pldul az include fjlok
lehetnek hibsak). Ellenrizd, hogy a szimblikus linkek, amelyeket Linus emlt a README-ben

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/.

7.4 Az j kernel nem bootol


Nem futtattad a LILO-t, vagy rosszul van konfigurlva. Egyszer az ``fogott'' meg, hogy hiba volt
a konfig fjlban. `boot =/dev/hda1' volt benne `boot = /dev/hda' helyett. (Ez elsre
nagyon idegest lehet, de ha mr van egy mkd konfig fjl, nem kell hozznylni.)

7.5 Elfelejtetted futtatni a LILO-t, vagy egyltaln nem bootol


Hopp! A legjobb amit ilyen helyzetben tehetsz az, hogy floppyrl bootolsz s csinlsz egy
msik bootolhat floppyt (ahogy a `make zdisk' is csinln). Tudnod kell, hogy hol van a root
(/) fjlrendszer s az milyen tpus (pl. msodik kiterjesztett, minix). Az albbi pldban azt is
tudni kell, hogy melyik fjlrendszeren van a linux forrs /usr/src/linux, annak a tpusa s
hogy rendszerint hova van mountolva.

A kvetkez pldban a root a /dev/hda1, az /usr/src/linux a /dev/hda3


fjlrendszeren van, normlisan az /usr-re mountolva. Mindkett ext2 fjlrendszer. A mkd
kernel a /usr/src/linux/arch/i386/boot-ban van s a neve zImage.
Az alaptlet az, hogy ha van egy mkdkpes zImage, akkor lehet azt hasznlni az j floppyn.
Egy msik mdszerrl, ami vagy jobban mkdik, vagy nem (attl fggen, hogy pontosan
hogyan rontottad el a rendszert) a plda utn lesz sz.
Elszr bootolj egy boot/root lemezprosrl vagy mentlemezrl s mountold fl azt a
fjlrendszert, ami a mkd kernelt tartalmazza.
mkdir /mnt
mount -t ext2 /dev/hda3 /mnt
Ha a mkdir azt mondja, hogy a knyvtr mr ltezik, ne trdj vele. Menj be abba a
knyvtrba, amelyben a mkd kernel volt. Ne feledd, hogy
/mnt

/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

/mnt/src/linux-t mountold az /mnt-re, s az if=zImage paramtert rd t


if=vmlinuz-re. A megjegyzst a /mnt/src/linux levezetsrl figyelmen kvl lehet
hagyni.
A LILO hasznlata nagy merevlemezekkel (tbb, mint 1024 cilinder) gondot okozhat. Lsd a
LILO mini-HOWTO-t vagy a dokumentcit segtsgrt.

7.6 Azt mondja `warning: bdflush not running'


Ez slyos problma lehet. Az 1.0 kernel verzi kibocstsa utn (1994 prilis 20. tjn)
felfrisstettk/lecserltk az `update' nev programot, amely rendszeresen kirti a fjlrendszer
puffereit. Szerezd meg a `bdflush' forrst (meg kell lennie ugyanott, ahol a kernel forrsnak),
s installld fel. (Ezt mg a rgi kernelt futtatva ajnlatos megtenni.) `update' nven installlja
magt. Az jrabootols utn a kernel nem fog tbbet panaszkodni.

7.7 Mond valamit ``undefined symbols''-okrl s nem fordul le


Valsznleg ELF fordtd van (gcc 2.6.3 s afltt) s 1.2.x (vagy korbbi) kernel forrs. A
szoksos megolds az, hogy az albbi sorokat bemsolod a 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
Ez lefordtja az 1.2.x kernelt az a.out knyvtrakkal.

7.8 Nem mkdik az IDE/ATAPI CD-ROM meghajt


Klns mdon sokan nem tudjk hasznlni az ATAPI meghajtkat, taln mert tbb oka lehet a
hibnak.
Ha a CD-ROM meghajt az egyetlen eszkz egy adott IDE csatoln, akkor a jumpereknek
``master'' vagy ``single'' llsban kell lennik. Valsznleg ez a leggyakoribb hiba.
A Creative Labs (s msok is) IDE csatolkat ptenek a hangkrtykra. Ebbl kvetkezik az az
rdekes problma, hogy egyes gpeken csak egy csatol van, msokon kett beptve az
alaplapra (ltalban IRQ15), ezrt a soundblaster csatolt a harmadik IDE portra teszik (IRQ11,
lltlag).
Ez problmkat okoz a linuxszal, mivel az 1.2.x kernelek nem tmogatjk a harmadik csatolt
(az 1.3.x valamelyik tagjtl kezdve mr van,de az fejleszti s nem detektlja automatikusan).
Ezt tbbflekppen lehet kikerlni.
Ha mr van msodik IDE port, knnyen lehet, hogy nem is hasznlod, vagy mg nincs rajta kt
eszkz. Vedd le az ATAPI meghajtt a hangkrtyrl s rakd a msodik csatolra. Ezutn ki lehet
kapcsolni a hangkrtya csatoljt s mg egy IRQ-t is megsprolsz.
Ha nincs msodik IDE csatol, akkor jumperold a hangkrtya IDE csatoljt (ne a hangkrtya
hang rszt) az IRQ15-re (msodik IDE csatol). Ennek mkdnie kell.

Ha valamilyen okbl nlklzhetetlen az n. ``harmadik'' csatol, vagy ms problmk vannak,


szerezz

egy

1.3.x

kernelt

az

1.3.57-ben

van,

pldul)

olvasd

el

drivers/block/README.ide-t. Ott sokkal tbb informci van.

7.9 Furcsa zenetek ``obsolete routing requests''-rl


Szerezd be a route program, s minden ms tvonalvlasztst manipull program egy j
verzijt. Az /usr/include/linux/route.h (ami valjban az /usr/src/linux-ban
van) megvltozott.

7.10 A tzfal (firewall) nem mkdik az 1.2.0 kernellel


Upgrade-elj legalbb az 1.2.1 verzira.

7.11 ``Not a compressed kernel Image file''


Nem tmrtett kernel fjl. Ne a /usr/src/linux knyvtrban keletkez vmlinux fjlt
hasznld kernelnek. Az [..]/arch/i386/boot/zImage a j.

7.12 Problmk a konzollal 1.3.x-ra val frissts utn


Az /etc/termcap flban a konzol termcap bejegyzsben rd t a dumb szt linux-ra.
Lehet, hogy egy terminfo bejegyzst is kell csinlni.

7.13 Nem lehet semmit lefordtani kernel upgrade utn


A linux kernel forrs tartalmaz szmos include fjlt (a .h vg fjlnevek) amelyekre a
szabvnyos include fjlok hivatkoznak. A hivatkozsok ltalban gy nznek ki (ahol xyzzy.h
egy fjl az /usr/include/linux-ban):
#include <linux/xyzzy.h>
Normlis esetben van egy linux nev link az /usr/include-ban, amely a kernel forrs
include/linux knyvtrra mutat (ltalban /usr/src/linux/include/linux). Ha
ez a link nincs a helyn, vagy rossz helyre mutat, akkor a legtbb programot egyltaln nem
lehet lefordtani. Ha letrlted a kernel forrst, mert tl sok helyet foglalt, akkor nyilvnval,
hogy ez a gond. Lehet baj a hozzfrsi jogosultsgokkal is. Ha a root umask-ja alaprtelmezs

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.

7.14 Korltok megemelse


A kvetkez plda parancsok hasznosak lehetnek azoknak, akik szeretnk tudni hogyan lehet
bizonyos, a kernel szabta korltokat megemelni.
echo 4096 > /proc/sys/kernel/file-max
echo 12288 > /proc/sys/kernel/inode-max
echo 300 400 500 > /proc/sys/vm/freepages

8. A 2.0.X KERNELEKRE TRTN FRISSTS


A kernel 2.0.x verzija elg sok vltozst hozott a kernel installlsban. A forrsban tallhat
Documentation/Changes fjl tartalmazza a 2.0.x verzira val tllshoz szksges
tudnivalkat. Valsznleg frissteni kell tbb fontos programcsomagot, mint pldul a gcc, libc,
s a SysVInit, s lehet, hogy meg kell vltoztatni nhny rendszerfjlt is. Ezekre kszlj fel. De
semmi pnik!

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.

9.1 A segdprogramok teleptse


A modulok hasznlathoz szksges segdprogramokat ugyanonnan lehet megszerezni, ahonnan
a kernel forrst is, modules-x.y.z.tar.gz nven. Vlaszd a legnagyobb x.y.z
verziszmot, ami mg kisebb-egyenl a kerneled verziszmnl. Csomagold ki a `tar zxvf
modules-x.y.z.tar.gz' paranccsal, menj be a knyvtrba, amit ltrehoz (modules-

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'

paranccsal lehet beilleszteni. Az lsmod kilistzza az ppen hasznlt modulokat. Az output gy


nz ki:
blah# lsmod
Module:
drv_hello

#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.

9.2 Kernellel terjesztett modulok


A 2.0.30 verzitl kezdve majdnem minden elrhet modul formban is. Hasznlatuk a
kvetkez: ne konfigurld bele a kernelbe, azaz ne mondj r y-t a `make config' alatt. Fordts
egy j kernelt s bootolj vele jra. Menj be megint az /usr/src/linux-ba s add ki a `make
modules' parancsot. Ez lefordtja az sszes olyan modult, amely nem szerepelt a kernel
konfigurciban s linkeket helyez el rjuk az /usr/src/linux/modules knyvtrban.
Lehet ket kzvetlenl innen is hasznlni, vagy kiadhatod a `make modules_install'
parancsot, ami elhelyezi ket a /lib/modules/x.y.z knyvtrban, ahol x.y.z a kernel
verzija.
Ez klnsen a fjlrendszerek esetn lehet knyelmes. Bizonyos fjlrendszereket ltalban ritkn
hasznlnak. Pldul ha a kezembe kerlne egy msdos floppy, akkor annyit tennk, hogy insmod
/usr/src/linux/modules/msdos.o, aztn rmmod msdos ha vgeztem. Ez az eljrs
kb. 50k memrit szabadt fel a szoksos mkds kzben. Egy megjegyzst kell tenni a minix

fjlrendszerrel kapcsolatban: a ``mentlemeznek'' ksztett kernelbe mindig kzvetlenl bele kell


fordtani.

10. EGYB KONFIGURCIS OPCIK


Ez a fejezet bizonyos, a konfigurcirl szl fejezetben nem emltett opcik lerst
tartalmazza. Az eszkzmeghajtk nagy rsze nincs itt felsorolva.

10.1 ltalnos belltsok


Normal floppy disk support (``Norml floppy lemez tmogats''). - Elolvashatod a
drivers/block/README.fd fjlt is; ez klnsen IBM Thinkpad felhasznlknak lehet
fontos.
XT harddisk support (``XT merevlemez tmogats'') - ha akarod hasznlni azt a 8 bites
XT vezrlt, ami csak a port fogja a sarokban.
PCI bios support (``PCI BIOS tmogats'') - kiprblhatod, ha PCI alaplapod van, de lgy
vatos, nhny rgi PCI alaplap lefagy ezzel az opcival. A PCI busz Linux alatti hasznlatrl
tbb informci tallhat a PCI HOWTO-ban.
Kernel support for ELF binaries (``ELF binris tmogats'') - Az ELF egy
erfeszts a binris programok architektrk s opercis rendszerek kztti hordozhatsgnak
megteremtsre. A Linux is ebbe az irnyba halad, ezrt ez minden bizonnyal kell.
Set version information on all symbols for modules - a mltban a kernel
modulokat jra le kellett fordtani minden j kernelhez. Ha y-t vlasztasz, akkor lehetv teszi
egy msik verzi alatt lefordtott modulok hasznlatt. Tbb informci a README.modulesben van.

10.2 HLZATI OPCIK


A hlzati opcik a NET-3-HOWTO-ban (vagy a NET-valami-HOWTO-ban) vannak lerva.

11. TIPPEK S TRKKK


11.1 A make s patch parancsok kimenetnek tirnytsa
Ha szeretnd nyomonkvetni, hogy mit mvelnek a `make' vagy `patch' parancsok,
tirnythatod a kimenetket egy fjlba. Elszr dertsd ki milyen shellt hasznlsz: `grep root
/etc/passwd' s keress valami olyasmit, hogy `/bin/bash'.
Ha sh-t vagy bash-t hasznlsz, akkor a
(command) 2>&1 | tee (output file)
parancs fog egy msolatot kldeni a (command) parancs kimenetrl az `(output file)'
fjlba.
csh vagy tcsh esetn hasznld a
(command) |& tee (output file)
parancsot.
A zsh-t hasznlkat nem ri vratlanul, hogy a fentiek kzl brmelyik helyes ;-)
rc esetn (megjegyzs: nem hiszem, hogy rc-t hasznlsz):
(command) >[2=1] | tee (output file)

11.2 Feltteles kernel installls


A floppy-k hasznlatn kvl mg tbb mdszer van arra, hogy anlkl prbljuk ki az j kernelt,
hogy a rgihez hozznylnnk. Sok ms UNIX vltozattl eltren a LILO kpes arra, hogy
brhonnan a merevlemezrl elindtson egy kernelt. (Ha nagy (500 MB vagy nagyobb)
merevlemezed van, olvasd el a LILO dokumentct, mert ez gondot okozhat). Ha az
albbiakhoz hasonlt fzl a LILO konfigurcis fjl vgre, akkor gy vlaszthatsz egy frissen
fordtott kernelt, hogy nem nylsz a rgi /vmlinuz-hoz: (persze elbb futtatni kell a lilo-t.)
image = /usr/src/linux/arch/i386/boot/zImage
label = uj_kernel
A legknnyebben gy lehet a LILO-t az j kernel indtsra utastani, hogy lenyomod a shift
billentyt bootolskor (amikor csak annyi van a kpernyn, hogy LILO). Megjelenik egy
prompt, ekkor be lehet rni, hogy `uj_kernel', hogy az j kernelt indtsa.
Ha tbb klnbz kernel forrst szeretnd megtartani a gpeden egyszerre (ez nagyon sok
helyet foglal, lgy vatos), akkor a legegyszerbb elnevezni az ket tartalmaz knyvtrakat
/usr/src/linux-x.y.z, formban, ahol x.y.z a kernel verzija. Ekkor egy szimblikus
linkkel lehet vlasztani kzttk. Pldul az `ln -sf linux-1.2.2 /usr/src/linux'

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.

11.3 Kernel frisstsek


Russell Nelson (nelson@crynwr.com) sszefoglalja az j kernelverzik vltozsait. Ezek
rvidek, rdemes beljk pillantani egy upgrade eltt. Letlthet anonymous ftp-vel a
ftp.emlist.com/pub/kchanges
cmrl, vagy a kvetkez URL-rl:
http://www.crynwr.com/kchanges

You might also like