Professional Documents
Culture Documents
Linux - Alapparancsok
Linux - Alapparancsok
1.0.2
A Mithrandir Kft. nyelvi elleno rzsvel
Balsai Pter
Ksa Attila
2002. jnius 20.
Szerzo
Szjjrt Lszl laca@janus.gimsz.sulinet.hu
Szakmai lektor
Kis Tams dozer@lme.linux.hu
Nyelvi ellenorzs
Sri Gbor saga@tux.hu
Ksa Attila atkosa@shinwa.hu
Formzs (LATEX)
Ksa Attila atkosa@shinwa.hu
Elozmnyek
A GNU/Linux alapparancsai
A Mithrandir Kft. nyelvi ellenorzsvel
A kiads ve: 2002.
Szerzo
Szjjrt Lszl laca@janus.gimsz.sulinet.hu
Szakmai lektor
Kis Tams dozer@lme.linux.hu
Nyelvi ellenorzs
Sri Gbor saga@tux.hu
Ksa Attila atkosa@shinwa.hu
Formzs (LATEX)
Ksa Attila atkosa@shinwa.hu
Tartalomjegyzk
1. A GNU/Linux alapparancsai
1.1. Bevezets . . . . . . . . . . . . . . . . . . . . . . . .
1.2. ltalnos parancsok . . . . . . . . . . . . . . . . . . .
1.3. Segtsgkrs. A kziknyv (man) s az info hasznlata
1.4. Belps, kilps (s egyebek. . . ) . . . . . . . . . . . .
1.5. Tjkozds a rendszerben . . . . . . . . . . . . . . .
1.6. Szvegszerkesztok . . . . . . . . . . . . . . . . . . .
1.7. A rendszer mukdst befolysol parancsok . . . . .
1.8. llomnykezelo parancsok . . . . . . . . . . . . . . .
1.9. A knyvtrkezels parancsai . . . . . . . . . . . . . .
1.10. Fjlkezelo parancsok . . . . . . . . . . . . . . . . . .
1.11. Tulajdonjogok, hozzfrs szablyozsa . . . . . . . .
1.12. Egyb llomnykezelsi parancsok . . . . . . . . . . .
1.13. llomnyrendszerekkel kapcsolatos parancsok . . . .
1.14. Szvegkezelo parancsok . . . . . . . . . . . . . . . .
1.15. Folyamatkezelo parancsok . . . . . . . . . . . . . . .
1.16. Hlzati eszkzk kezelse, gyflprogramok . . . . .
1.17. Kernel s program pts, kernel modulok . . . . . . .
1.18. A hjprogramozs segdeszkzei . . . . . . . . . . . .
1.19. Az X Window rendszer alapparancsai . . . . . . . . .
1.20. Csomagok kezelse . . . . . . . . . . . . . . . . . . .
1.21. Egyb parancsok . . . . . . . . . . . . . . . . . . . .
1.22. Zrsz . . . . . . . . . . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
5
5
6
7
9
10
12
14
16
17
20
24
27
31
37
40
46
48
53
55
58
60
61
brk jegyzke
1.1.
1.2.
1.3.
1.4.
1.5.
1.6.
1.7.
1.8.
1.9.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
14
30
32
36
42
46
51
55
58
1. fejezet
A GNU/Linux alapparancsai
1.1. Bevezets
A GNU/Linux az utbbi vekben igazi alternatvt jelent a felhasznlk szmra a tbbi
elterjedt opercis rendszer mellett. Elo retrst tbb mindennek ksznheti:
mivel a UNIX opercis rendszerek csaldjba tartozik (amelyek immr 30 ve
bizonytanak), megbzhat mg az egybknt nem ppen stabilitsukrl hres
PC-ken is;
programokkal val elltottsga naprl-napra jobb, gyakorlatilag ma mr minden
fontosabb terletre megtallhat linuxos program is;
dokumentltsga angol nyelven nagyon j, mivel a rendszer teljes mrtkben
nylt forrskd, nincsenek nem dokumentlt belltsok vagy Easter Eggek;
s mg sok egyb vonz tulajdonsga is van, a vgre egy nagyon er o s rv mellette: ingyenes!
Mindezek figyelembevtelvel azt kell mondanunk, hogy ma mr nem csak a szmtgpes guruk opercis rendszere, hanem remnyeink szerint hamarosan bekltzhet az irodkba, s az egyszeru felhasznlk gpein is viszontlthatjuk. Hlzati
alkalmazsa mr ma is olyan mretu, hogy a szmtstechnikval kicsit haladbb szinten foglalkozknak mindenkppen hallaniuk kell rla, tallkozniuk kell vele.
A fzet clja, hogy azokat a fontosabb parancsokat sszefoglalja alkalmazsi pldk segtsgvel , amik a Linuxszal val ismerkeds els o idoszakban elofordulnak. A parancsok neveit a foly szvegen bell ilyen bet
ukkel talljuk meg, esetleges paramtereikkel. A pldknl egy kszenlti jel (ltalban
[root:~]>) utn lthat az, amit be kell gpelni, majd a gp vlasza kvetkezik, ezt
az rgpes szveghez hasonl betutpus jelzi. Nhol fjlok, knyvtrak
neve tallhat ms betutpussal. A fzet szvege felttelezi bizonyos alapfogalmak
ismerett (pldul terminl, domain-nv). Ahol lehet, hivatkozunk a DOS/Windows
rendszereken megszokott dolgokra, hogy azok szmra akik ezeket mr ismerik,
knnyebb legyen a munka. Mivel a szveg pldkat is tartalmaz, ajnlatos azonnal
gpen is kiprblni az itt lertakat.
kilistz parancs is! Az egyes programokat aztn a DOSbl is ismert gynevezett csovezetkekkel (angolul pipeline) sszekapcsolhatjuk, s gy egyszeru eszkzkkel meglepoen bonyolult dolgokat is meg tudunk oldani. Ezt a mdszert
nevezik szerszmoslda-modellnek. A programok paramtereit a - jel utn
kell magadni, ltalban tbb paramtert ssze is lehet vonni, az el o zo pldnl
maradva az ls -a -l -i ugyanaz, mint az ls -ali;
a DOSban is ltezik egy parancsrtelmezo program, a COMMAND.COM, ami az
ltalunk begpelt parancsokat tadja feldolgozsra a rendszernek, esetleg hibazeneteket kld, s alapszinten programozni is lehet a mr emlegetett batch fjlok
segtsgvel. Linux alatt tbbfle parancsrtelmezo , idegen nven shell, magyarul hj- vagy burokprogram kzl vlaszthatunk. A leggyakoribb a bash
(Bourne Again Shell), ami sok kellemes szolgltatsval s nagyon j programozhatsgval tunik ki. Nhny egyszerubb feladatra nem kell kln program,
azt a shell vgzi el.
Rvid sszefoglalsknt teht a Linux alatt kiadott parancsaink vagy binris, vgrehajthat programok, vagy a shell belso parancsai, esetleg shell-szkriptek. A legtbb
program a kvetkezo formban hasznland:
program_neve -opci1 -opci2 ... paramterek
-k kulcssz az apropos parancsnak felel meg, az adott kulcsszhoz tartoz bejegyzseket keres a man oldalakon. Az apropos directory pldul kilistz
minden olyan parancsot, ami valamilyen mdon kapcsolatos a knyvtrakkal;
-K string a stringet az sszes(!) man oldalon keresi, emiatt nagyon sokig is tarthat a
folyamat.
A fentiekben olvashat . . . parancsnak felel meg elso re rdekesnek tunhet: ugyanazt a funkcit tbbfle paranccsal is meg lehet oldani? Hogy is van akkor ez a bizonyos szerszmoslda-modell? Nos, a whatis s az apropos igazndibl egy
shell-szkript vagyis hjprogram, ami knyelmi funkcikkal b o vti ki az alapparancsot,
de ha nagyon akarjuk, akkor persze mindent lehet. A legtbb hjprogram tmogatja
ugyanis az lnevek (alias) hasznlatt. Ezekkel megoldhat pldul az, hogy ha egy
parancsot ltalban mindig ugyanazokkal a paramterekkel hasznlunk, s mr unjuk a
sok gpelst, vagy hajlamosak vagyunk elfelejteni a megfelel o paramtert, akkor csak
ki kell tallnunk egy rvid azonostt, olyat, amilyen nven mg nincs semilyen utasts. Tegyk fel, hogy a mr emlegetett ls -ali helyett egyszerubbnek tunik a lls
begpelse. Nzzk, mi a teendo :
Eloszr prbljuk ki, nincs-e vletlenl egy ilyen nevu, ms clra szolgl program:
[root:~]>lls
bash: lls: command not found
Nem kapunk ugyan semmilyen visszajelzst (megjegyezhetjk, hogy a legtbb helyen egy UNIX rendszer csak akkor zen vissza, ha baj van!), de adjuk ki az lls
parancsot, s lssunk csodt! Arrl, hogy milyen lneveink vannak belltva, a paramter nlkli alias tudst, ha pedig meg akarunk szntetni egy ilyen sszerendelst,
akkor az unalias aliasnv a kiadand utasts. Trjnk azonban vissza a segtsgkrshez!
A mannl jabb s sokszor pontosabb informcit ad az info parancsnv. A paramter nlkl kiadott info egy menrendszerben, gynevezett nodeokban, csompontokban jelenti meg a fontosabb tmkat, illetve parancsokat. Ezen bell billentyukombincikkal mozoghatunk:
space elore lapoz
backspace visszalapoz
n kvetkezo node
p elozo node
CTRL-L frissts
b legelejre ugrs
e legvgre ugrs
? help
q kilps
8
denfle zagyvasggal telt meg a kpernyo ), ekkor a reset parancs kiadsa segthet.
Lehet, hogy vakon kell begpelnnk, de ha sikerl, alapllapotba lltja vissza a beviteli
eszkznket.
Lehetosg van arra, hogy menet kzben vltsunk parancsrtelmez o t, csak a nevt
kell berni. Az ismertebbek a bash mellett a csh, tcsh, ash, zsh. A chsh utastssal ez a vltoztats hosszabb tvra szl.
Munknkat befejezve ki kell jelentkeznnk. A kilps az exit vagy logout
paranccsal, illetve a CTRL-D billentyukombincival is kezdemnyezhet o (ez utbbi
nem mindig s mindenhol mukdik).
Kiemelendo dolog, hogy RENDSZERGAZDAKNT CSAK AKKOR DOLGOZZUNK, HA ELENGEDHETETLENL SZKSGES! Ekkor is csak a leheto legkevesebb idot tltsk bejelentkezve.
10
vagyis: az opercis rendszer neve, a gp teljes neve, a kernel (rendszermag) verziszma, a kernel ksztsnek pontos dtuma, a gp hardvertpusa, s vgl a processzor tpusa (ez utbbit a fenti pldban nem sikerlt beazonostani). Ezek mindegyike kln-kln is lekrdezheto , pldul a -n opcival a domain-nv, a -m opcival
a hardvertpus.
A dtummal s idovel kapcsolatos adatok is fontosak lehetnek szmunkra, ekkor
adjuk ki a date parancsot, ez megad minden informcit. Hasznlatra nzznk nhny pldt!
A dtum- s idoadatok alkotrszei (v, h, nap, ra, perc stb.) mind kln-kln
kirathatak oly mdon, hogy mindegyiknek van egy azonost betujele, amit egy %
jellel bevezetve kell megadni, s gy egy gynevezett formtumsztringet kell tadni
paramterknt. Teht ha a mai dtumot akarjuk a szoksos formban ltni, rjuk be a
kvetkezot:
[root:~]>date +%Y.%m.%d
2001.05.29
Mivel a gpen most az angol terleti belltsok rvnyesek, ezrt ltjuk a nap nevt
Tue-knt (kedd), s az AM utal arra, hogy dlelo tti idopontrl van sz. Termszetesen
24 rs formtumban is dolgozhatunk, ekkor a %T hasznland. rdekessgkppen
mg nzzk meg, hny msodperc telt el 1970. jan. 1. 0 ra ta:
[root:~]>date +%s
991130612
-l long, azaz hossz formtumban listz. Taln nem minden tanulsg nlkli egy
ilyen lista:
[root:/bin]>ls -l
-rwxr-xr-x 1 root
-rwxr-xr-x 1 root
-rwxr-xr-x 1 root
lrwxrwxrwx 1 root
a*
root
2712 Oct 3 2000
root 65340 Oct 3 2000
root 263144 Oct 3 2000
root
4 Apr 29 14:12
arch*
ash*
ash.static*
awk -> gawk*
1.6. Szvegszerkesztok
Alapveto fontossgak a mindennapi munka sorn az egyszeru szveges fjlok. Nemcsak abban kapnak szerepet, hogy a kznapi rtelemben vett szveges informcit (leveleket, lersokat) troljanak, hanem a Linuxban mint konfigurcis llomnyok is
igen fontosak. Szveges adatok keletkezhetnek a parancsok mukdse sorn is. A
szveg szerkesztsre szolgl programok teht nagyon fontosak, vegynk sorra nhnyat.
Aki a Microsoft Wordn nevelkedett, az a ko korszakban rezheti magt az ed prog mg abbl az idobol maradt rnk, amikor nemhogy grafikus felletek
ram lttn. O
nem voltak, de mg olyan szerkeszto k sem, amik a szveget megjelentik a teljes kpernyon. Az ed sorszerkeszto: egyszerre a szveg egy sort kpes feldolgozni. Ma mr
inkbb csak hjprogramokban val hasznlatra lehet j.
Szintn o skvlet, de nagyon jl tartja magt a UNIXos szvegszerkeszt o k nagy
regje, a vi. Sokan azt mondjk, hogy br elso re o is rmszto, de a tudsa mg ma is
lepipl sok ltvnyosabb programot. Hrom zemmdja van: a parancs md, a beviteli md s az ex-zemmd. Indtsakor a parancsmdba kerlnk, ahol a nevb o l is
12
kvetkezoen csak parancsokat tudunk kiadni. Ilyen pldul a listzs, keress, csere,
mozgs a szvegben. A parancsmdba brmikor tvlthatunk az ESC billentyu lenyomsval. Szveget berni csak beviteli mdban tudunk, ezt az Insert- billentyuvel,
vagy az a, i, o billentyukkel is kezdemnyezhetjk. Az ex-zemmdban pedig a
ments vagy a kilps valsthat meg tbbek kztt, elrse a parancsmdbl trtnik. Lssunk egy egyszeru pldt. rjunk egy rvid szveget az uj nevu fjlba! Adjuk
ki a vi uj parancsot, majd nyomjunk Insert-et, s gpeljnk be pr sort. A mg
res sorok elott ilyenkor a ~ jel lthat, alul pedig az INSERT felirat olvashat. Bevitel kzben a mshol megszokott mdon a nylbillentyuk, a Home s End, Backspace s
a Delete is hasznlhat. Lpjnk vissza parancsmdba az ESC billentyut lenyomva, s
gpeljk be a kvetkezo hrom karaktert: :wq. A kettospont belptet az ex-mdba, a
w hatsra a fjl kirdik a lemezre, s a q kilptet a programbl (ha gy akarunk kilpni, hogy nem kell ments, a w helyett egy felkiltjelet hasznljunk). Akinek kedve
s ideje van, rdemes elmlyedni a program rejtelmeiben, nem is hinnnk, mennyi
mindenre j!
Knyelmesebben hasznlhat a joe program, ami mr valdi teljes kperny o s
szerkeszto. A legtbb funkci a CTRL s valamelyik msik billentyu egyideju lenyomsval rheto el. Mris rdemes kiadni a CTRL-K-H kombincit (teht tartsuk
lenyomva a CTRL-t, s nyomjunk K-t majd H-t). Ez a sgt jelenti meg, ami alapjn mr el tudunk boldogulni. Itt mindenhol a ^ jel jelenti a CTRL-t. Hasznlhatunk
blokkmuveleteket is, ami azt jelenti, hogy a szveg bizonyos rszeit ki tudjuk jellni,
s t tudjuk msolni vagy mozgatni mint egy egysget ms helyre. A CTRL-K-B
a kijells kezdett, a CTRL-K-K a vgt jelenti, ezek utn a msols a CTRL-K-C, a
mozgats a CTRL-K-M, a trls pedig a CTRL-K-Y kombincikkal valsthat meg.
A jed mr menvezrelt, emiatt mg knnyebben hasznlhat. A menk a mshol mr megszokott mdon, az ALT s a menpont nevben kiemelten szerepl o betu
lenyomsval nyithatk le, de az F10, majd az Enter lenyomsval is. A program kpes
egyszerre tbb fjl szerkesztsre, ezeket n. pufferekben trolja, s a Buffers menpont alatt rhetjk el o ket. A Windows menponton bell akr tbb rszre (ablakra)
is oszthatjuk a kpernyot. Megoldhat az is, hogy a programbl val kilps nlkl
vgrehajtassunk hjparancsokat (System -> Shell command), ezek eredmnye bekerl
egy j pufferbe, s ott tovbb szerkesztheto vagy tmsolhat msik szvegbe is. Az
Edit menben a Begin Region parancs kijelli, a Copy region kimsolja, a Paste pedig
beilleszti az adott rszt. Az 1.1. kpen egy Mandrake 7.2-es verzin futtatott pldny
lthat.
Aki sokat dolgozott a Norton Commander szvegszerkeszto jvel, annak ismeros
lesz az mcedit. A hasznlatos billentyukombincik megegyeznek az NC-beliekkel,
az F9 hatsra megjeleno mensorban azonban mg tovbbi hasznos dolgokat is felfedezhetnk. Szintn knnyu megszokni a pico hasznlatt, ami a pine levelez o program szvegszerkesztoje, de kln is hasznlhat. Ebben is nagy szerephez jut a CTRL
billentyu, a kpernyo aljn olvashat sg segtsgvel knnyen birtokba vehet o .
Emltst kell tenni vgl, de nem utolssorban az emacs programrl, ami tulajdonkppen nem is csak egy szvegszerkeszto mivel programozhat, s ezltal egy nagy tuds eszkz. Kezdoknek nehz vele bnni, de rdemes megtanulni a hasznlatt, f o leg,
ha programfejlesztsre adjuk a fejnket.
13
befolysol parancsok
Elvrhat, hogy egy tbb felhasznlt kiszolgl rendszer biztostson egy jl hasznlhat alapbelltst, munkakrnyezetet, amit aztn a felhasznlk teljesen egynire
szabhatnak t, ha gy ltjk jnak. A Linux ebbo l a szempontbl is mintaszeru. Taln
kicsit tl sok mindent is be lehet lltani ahhoz, hogy egy ido utn az ember elvesszen
a sok lehetosg kztt, de ez is egy j jtk. Nhny dologgal azonban mindenkppen
kell foglalkozni, mert annyira alapveto ek a gp mukdtetsre nzve. Nmelyeket a
rendszergazdnak kell megcsinlnia, ha nem akarja a felhasznlk rosszallst, de az
itt felsoroltak zmvel a mezei felhasznl is biztosan tallkozik.
Mindjrt a parancsok s egyb adatok bevitelnl szksg van a billentyuzetkioszts megfelelo belltsra. Az alaprtelmezettol eltro kioszts betltse a loadkeys
paranccsal trtnik. Paramter nlkl az alaprtelmezettet kapjuk, ha pedig megadunk
egy orszgnvre utal rvidtst, akkor az annak megfelel o t. A hu a hagyomnyos magyar QWERTZ, a hu101 az angol billentyuzetekhez jobban illeszked o , az us pedig az
amerikai angol kioszts rvidtse. So t, teljesen egyni kiosztst is kszthetnk, vagy
bizonyos billentyukombincikhoz parancsokat rendelhetnk. Nzzk, hogyan!
Elsoknt a dumpkeys parancsot kell hasznlnunk. Ez alaprtelmezs szerint a
kpernyore rja ki az aktulis billentyu-megfeleltetseket. Minden lenyomott billentyu egy kdot generl, ezt a showkey programmal meg is nzhetjk (a programbl
mshogy nem lehet kilpni, mint 10 msodperc vrakozssal). Ezekhez a kdokhoz
trsulnak a megjeleno karakterek, figyelembevve a vltbillentyuket is. Ezen kell teht vltoztatnunk, pldnak okrt szeretnnk, ha az F11 funkcibillentyu lenyomsra
lefutna az uname -a parancs. Ehhez a dumpkeys parancs kimenett t kell irnytanunk egy fjlba:
14
majd pedig az gy keletkezett sajat.bill llomnyban kell megkeresni azt a rszt, ami
valahogy gy kezdodik:
string F11 =
A kpernyon megjeleno betuk kpe is fontos lehet szmunkra. Szveges zemmdban is tbbfle lehetosgnk van, dolgozhatunk a hagyomnyos 80 oszlopos s 25
soros terleten, de a betuk mretnek vltoztatsval tgasabb tehetjk a kperny o t.
Igaz, ekkor jobban kell eroltetni a szemnket. A kpernyo n megjeleno betuk gynevezett font fjlokban troldnak a gpnkn, s a consolechars parancs segtsgvel
lehet kzttk vltani. A -f paramter utn kell megadnunk egy ilyen font nevt.
Mivel biztosan szeretnnk magyar kezetes karaktereket is, rszestsk el o nyben azokat a fontneveket, amelyek lat-tal kezdo dnek, teht latin 1-es vagy 2-es kdolsak.
Prbljuk ki pldul:
[root:~]>consolechars -f lat1u-12.psf
Ellenorizve az elobbi mdon, a vltoznk rtke most mr tnyleg a semmi, pontosabban az res sztring, de azrt a neve mg szerepel a tbbi vltoz kztt.
Tbbszr emlegettk mr a kszenlti jelet vagy promptot, ami nem ms, mint egy
rvid szveges zenet, melyben a gp kzli, hogy kszen ll parancsaink fogadsra,
illetve tjkoztat adatokat nyjt. Kzvetlenl utna ott villog a kurzor.
Gyakorlskppen a kszenlti jelet lltsuk be a pldkban lthat formtumra, teht mutassa a felhasznli nevnket s az aktulis knyvtrat szgletes zrjelek kzt,
kettosponttal elvlasztva, de most kvesse egy # jel:
[root:~]>export PS1=[\u:\w]#
[root:~]#
befuzs vagy beilleszts) bizonyos adathordozknl mr a rendszer indtsakor megtrtnik, de a cserlheto tpusaknl menet kzben kell ezt elvgeznnk. A kvetkez o
fejezetben mg rszletesebben is visszatrnk erre a tmra.
Arrl is volt sz, hogy a UNIX (gy a Linux) is gyakorlatilag mindent fjlknt
kezel. Szmra egy fjl olyan adattrolsi eszkz, amibe byte-ok formjban adatot tudunk berni, illetve belole kiolvasni. Ennek a vgletekig leegyszerustett modellnek a
kvetkezetes alkalmazsval dolgozik a rendszer. Ez magyarzza azt, amir o l mr trtnt emlts: fjlknt kell kezelnnk egy binris kdot tartalmaz programot, egy kpvagy szvegfjlt, de fjlknt lehet felfogni magt a knyvtrat is, s o t, azt a lemezpartcit is, amin a gykrknyvtr elhelyezkedik. Ennek megfelel o en tbb tpus fjllal
dolgozhatunk:
Norml fjl kznsges, adatot tartalmaz llomny.
Knyvtr olyan fjl, amiben tovbbi llomnyok troldnak.
Link egy, a Windows 9x parancsikonjaihoz hasonl tpus, kt fajtja is van: hard
link s soft (vagy szimbolikus) link.
Karakteres eszkz (character device) olyan specilis fjl, amin keresztl valamilyen hardvereszkzhz frhetnk hozz mint fjlhoz; tipikus pldja valamilyen
soros port vagy a PS/2 csatlakoz.
Blokk eszkz (block device) az elobbihez hasonlan specilis fjl, amivel olyan
eszkzket tudunk kezelni, amik egyszerre nagyobb mennyisgu adatot tudnak
tvinni, plda erre a merevlemez (ez utbbi kt fjltpust az mknod paranccsal
mi magunk is ltrehozhatjuk).
Csovezetk (named pipe) egy gynevezett first-in-first-out (FIFO) tpus fjl; egyszerre tbb program rhatja s olvashatja a tartalmt, gy adatokat tudnak cserlni
egyms kztt. Az mkfifo pipenv paranccsal hozhat ltre.
Socket elsosorban a hlzati kommunikci sorn ltrejvo fjl.
A mindennapi munka sorn ltalban az elso hrom tpussal van dolgunk, nzzk
t a kezelskkel kapcsolatos parancsokat!
vagy:
[root:/usr/doc]>cd ../../etc
18
az eredmny ugyanaz lesz. Arra oda kell figyelnnk, hogy a slampos cd.. parancskiads itt hibhoz vezet!
Unjuk a sok gpelst? Vegyk ignybe a bash azon j tulajdonsgt, hogy ki
tudja helyettnk egszteni azokat a parancs- vagy fjlneveket, amelyek egyrtelmuek.
Tegyk fel, hogy a /tmp alatt vagyunk, s szeretnnk belpni a /usr/local/src
knyvtrba. Kezdjk el begpelni a parancsot:
cd /u de itt lljunk meg, s nyomjuk le a tabultor billentyut! Ha a fo knyvtrban nincs tbb u betuvel kezdo do alknyvtr, akkor mr ki is egszl a parancssor
gy: cd /usr/. Ha most ismt tabultort nyomunk, az elso alkalommal nem trtnik
semmi ltvnyos, esetleg egy hangjelzst hallunk, de msodikra felsorolja az sszes
lehetosget, amibol vlasztani lehet (ha tl sok lenne, akkor rkrdez, hogy mindet
kilistzza-e). Most nyomjunk egy l betut, jra TABot, ekkor mr kevesebb o l kell vlasztani, s gy tovbb haladva rtelemszeruen, gyorsabban be tudjuk fejezni a dolgot.
Akkor klnsen gyors ez a mdszer, ha csak egyetlen alternatva van. Hosszabb nevu
parancsok kiadst is fel lehet gyorstani gy, pldul a mr ismert hostname parancsot a ho-TAB-n-TAB billentyuletsekkel is elo lehet varzsolni.
Meglvo knyvtrakban mr otthonosan mozgunk, hozzunk ltre mi is jakat.
A mkdir knyvtrnv parancs lesz ebben segtsgnkre. Vele, valamint a
mkdirhier paranccsal sem csak egyetlen knyvtrat, hanem egsz alknyvtrrendszert ltre tudunk hozni. Nzzk, hogyan:
[root:~]>mkdir -p egy ketto harom/a/magyar/igazsag ; ls -R egy ketto harom
egy:
harom/:
a
harom/a:
magyar
harom/a/magyar:
igazsag
harom/a/magyar/igazsag:
ketto:
19
[root:~]>file /etc/XF86Config
/etc/XF86Config: ASCII text
Az elso esetben egy programot adtunk meg, mgpedig egy assembler fordtprogramot. Az adatokbl kiderl, hogy gynevezett ELF tpus binris (ez a Linux jelenleg elfogadott tpusa, kezdetben az a.out formtumot hasznlta), 386-os processzort
ignyel. Dinamikusan szerkesztett, megosztott trgykdknyvtrakat hasznl, ami azt
jelenti, hogy nem minden funkcija van fixen a programba fordtva, hanem bizonyos
ismtlodo vagy ms programokban is elo fordul kdrszleteket ezekbo l a lib-ekbol
vesz futs kzben. Ezzel a programok mrett s a fejlesztskre sznt id o t is cskkenteni lehet, nem szlva a mindig rtkes memrirl s a trhelyr o l. A stripped
jelentse pedig az, hogy a hibakeresshez szksges, jl mukd o program esetn felesleges kdrszek hinyoznak belo le. A msodik plda ennl jval egyszerubb: sima
ASCII szveges llomny.
Maradjunk ez utbbinl, s nzzk meg, mit tartalmaz a fjl. Tbb mdon is megtehetjk ezt. Vegyk eloszr elo a cat parancsot! Ennek elsodleges clja tbb fjl
sszefuzse (conCATenate) volt, de sokszor inkbb arra hasznljuk, hogy fjlok tartalmt a kpernyore rassuk vele. Vigyzzunk, ha binris fjlt adunk meg paramterl,
azt is kirja, de mivel ilyenekben nem csak szveges, hanem vezrl o karakterek is elofordulhatnak, sok jra ne szmtsunk!
Hosszabb szvegek gyorsan elfutnak a kpernyo rol, sokszor a mr ismert SHIFTPage Up sem segt, ilyenkor jn jl a more vagy a less. Az elo bbi ismeros a DOSbl
is, ugyangy mukdik: vagy egy szuro karakterrel (|) egy msik program kimenett
adjuk az o bemenetre, vagy csak egyszeruen megadunk neki egy paramtert:
[root:~]>cat /etc/XF86Config | more
Section "Files"
RgbPath "/usr/X11R6/lib/X11/rgb"
ModulePath "/usr/X11R6/lib/modules"
FontPath "/usr/X11R6/lib/X11/fonts/75dpi:unscaled"
...
--More--(19%)
Az als sorban lthat, hogy mg nem mutatja az egsz fjlt, egy billentyu letsre
hozza kvetkezo kpernyooldalt.
20
A less (br neve nem ezt sugallja, ugyanis kevesebb a jelentse) tbbet tud
ennl. Legfontosabb klnbsg, hogy visszafel is lehet vele a szvegben lapozni, de
ezen fell mg keresni is tud adott szvegdarabot. Futsa kzben egy / jelet tve meg
kell adnunk a keresendo szveget, s mr r is ll az elso tallatra. Az n billentyuvel az
esetleges kvetkezo elofordulsokat is gyorsan megkereshetjk. A kilps belo le a q
billentyuvel trtnik, de elotte mg egy h lenyomsa is tancsos, hogy vgignzhessk,
mi mindenre kpes.
Egy szvegbol gyakran csak az elso pr sor, vagy ppensggel csak a vge rdekel
bennnket. Erre az esetre clszeru szerszm a head illetve a tail. Kiprblsukhoz
ksztsnk egy pr soros szveget, mgpedig meglepo mdon a cat felhasznlsval!
Ugyanis ez gy mukdik, hogy ha nem adunk meg kiratni valt, akkor gy veszi, hogy
az alaprtelmezett bemenetrol (STDIN) fog rkezni a jelsorozat, s ez a billentyuzet
jelen esetben. A kimenettel is buvszkednk, mert azt nem a kperny o re (STDOUT)
kldjk, hanem tirnytjuk egy fjlba. Teht:
[root:~]>cat > proba.txt
Boci, boci tarka
Se fle
Se farka
Oda megynk lakni
Ahol tejet kapni!
Ha kzben hibzunk, s esetleg a visszatrls nem mukdik, prbljuk ki a CTRLH kombincit, ez a Backspace funkcijt ltja el. Amikor vgeztnk a gpelssel,
nyomjunk az utols res sorban CTRL-D-t, ez a legtbb parancs szmra az adatbevitel
vgt jelenti. Most lssuk, mi a szveg elso kt sora:
[root:~]>head -2 proba.txt
Boci, boci tarka
Se fle
Mivel alaprtelmezs szerint mindkt program 10-10 sornyi adatot r ki a szvegbol, s prbnk ennl rvidebb, ezrt teljes egszben viszontltjuk.
A tail egy nagyon rdekes trkkre is mdot ad. Olyan llomnyok vgt is kpes figyelni, amelyek folyamatosan bo vlnek. Ilyenek pldul a naplfjlok, amikbo l a
/var/log knyvtr tartalmaz jnhnyat. Rendszergazdaknt ezekhez biztosan van
hozzfrsnk, ha nincs, a kiprblshoz pldul a wget nevu Internetes letlt o program naplfjlja is megfelelo. Feltve, hogy a naplfjl neve naplo.txt, adjuk ki a
tail -f naplo.txt parancsot! Ekkor azt ltjuk, mintha a fjl eleve a kperny o re
rdna, teht menet kzben bele tudunk nzni a folyamatba.
Az elobbiekben a cat parancsnl mr lttuk, hogy lehet szvegszerkeszt o nlkl
is ltrehozni fjlt. Nha szksg van arra is, hogy 0 byte mretu adatllomnyt ksztsnk. A touch parancs kivlan alkalmas erre a clra. Eredeti funkcija az, hogy
egy fjl legutbbi hozzfrsi s mdostsi dtumt az ppen aktulis id o pontra vltoztassa meg. Azonban ha a megadott fjl mg nem ltezik, akkor ltrehozza azt, a fent
emltett mdon.
21
Ideje kicsit bovebben szlni a mr emltett linkekro l. Alkalmazsuk fo clja a helymegtakarts, hiszen egy linkkel tulajdonkppen ugyanarra a fizikai adatllomnyra tudunk hivatkozni tbb nven s tbb helyro l. A hard link vagy kemny link segtsgvel
ugyanazon a fjlrendszeren bell tudjuk ezt megtenni, s csak fjlokra mukdik. A soft
link, vagy lgy link illetve szimbolikus link ennl rugalmasabb, tbb fjlrendszeren t
is l, s knyvtrakra is alkalmazhat. Lssuk, hogyan hasznljuk o ket!
Ksztsnk egy knyvtrat linkproba nven, lpjnk bele, majd gpeljk be
kvetkezoket:
[root:~/linkproba]>touch csingi.link
[root:~/linkproba]>ls -l
total 0
-rw-r--r-1 root
root
0 Jul
8 15:38 csingi.link
Ltrejtt teht a 0 byte-os fjl, a hozzfrsi adatai utn kvetkez o msodik oszlopban egy 1-est ltunk. Hasznljuk most a link-kszts parancst, az ln-t, s nzzk
meg, mi trtnik:
[root:~/linkproba]>ln
[root:~/linkproba]>ls
total 0
20071 -rw-r--r-20071 -rw-r--r--
csingi.link ezuj.link
-li
2 root
2 root
root
root
0 Jul
0 Jul
8 15:38 csingi.link
8 15:38 ezuj.link
azrt van gy, mert az eredeti fjlnv 9 karakteres volt, s a szimbolikus link valjban ezt trolja.
22
A pldbl kiderl, hogy ha abban a knyvtrban llunk ahol a fjl is van, az aktulis knyvtrra utal . knyvtrbejegyzst hasznlhatjuk az elrsi t megadshoz.
Hasznlhattuk volna a /etc/ megadst is, de lustk voltunk gpelni. . . Aki igazn
lusta, az pedig tudja, hogy teljesen elhagyhat az tvonalmegads, ha a szban forg
knyvtrban llunk.
A dd hasznlatval is msolsi muveleteket vgezhetnk, de ezt inkbb akkor hasznljuk, ha valamely llomny byte-onknti tmsolst kell elvgezni. Tipikus alkalmazsi terlete indtlemezek ksztse, ahol a rendszermagot tartalmaz fjlt kell kirni a floppyra:
[root:~]>dd if=kernel of=/dev/fd0 bs=1k
353+1 records in
353+1 records out
A fenti pldban a msoland fjl neve kernel, a kimenet a /dev/fd0 eszkz, ez az elso floppy-meghajt, s a msols 1 kB-os blokkonknt zajlik (megjegyzendo, hogy ez mg nem elg mukdo indtlemez ksztshez, hasznljuk inkbb az
mkbootdisk parancsot).
Az tnevezs, s egyben a mozgats parancsa is az mv. A megfelel o en kiadott utastsbl gyis kiderl, mi a teendo . Nzzk azt az esetet, amikor a home
knyvtrunkban tallhat proba.txt llomnyra kiadjuk a parancsot, feltve, hogy
proba.txt.uj nevu fjl vagy knyvtr nem ltezik itt:
[root:~]>mv proba.txt proba.txt.uj
[root:~]>ls p*
proba.txt.uj
Lthatan j nevet kapott a fjl. Nevezzk most vissza, majd ksztsnk egy
proba.txt.uj nevu knyvtrat, s adjuk ki ismt az elo bbi parancsot. Ugye tudjuk,
hogy nem kell jra begpelni?
[root:~]>mv proba.txt.uj proba.txt
[root:~]>mkdir proba.txt.uj
[root:~]>mv proba.txt proba.txt.uj
[root:~]>ls proba.txt.uj/
proba.txt
23
Az mv most tmozgatst csinlt, hiszen volt ilyen nevu knyvtrunk, amit clknt
kezelt.
A trls mindig s mindenhol veszlyes muvelet, hiszen adatvesztssel jr. Nhol mg van eslynk a meggondolatlanul trlt llomnyok visszalltsra (lsd a
DOS undelete parancsa), de jl jegyezzk meg: A UNIX-BAN A TRLT ADATOK
VISSZANYERSRE NAGYON KEVS ESLY VAN! Igaz, ugyan, hogy lteznek
mdszerek a Linux fjlrendszerben, az ext2-ben is arra, hogy ha szerencsnk van (s
st a nap, valamint nem 13-a van), akkor visszallthatjuk a trlt fjlt, de ez nem egyszeru. Olyan gpen, ahol viszonylag nagy az adatforgalom, sok felhasznl dolgozik,
vajmi kevs eslynk van erre. Mindezt azrt hangslyozom ennyire, mert Murphy
trvnyei alapjn biztosan azt a fjlt trljk le, amit nem kne, teht el o tte jl gondoljuk meg, mit csinlunk! Ha mindezek ellenre nha mgis erre adjuk a fejnket, akkor
az rm parancsot hasznljuk. Paramter nlkl jlnevelten r is krdez minden esetben, hogy valban trlni akarjuk-e a fjlt, ha nagyon biztosak vagyunk a dolgunkban,
akkor hasznlhatjuk a -f kapcsolt, ezutn csak vgzi csendben a munkjt. Klnsen csnjn kell bnni a -r paramtervel, ami (lassan mr lernom se kell), rekurzvan
trl. Aki igazn paranois, azt az elo bb elhangzottak sem nyugtatjk meg. Neki ajnlhat a shred parancs, ami igyekszik gy trlni az llomnyt, hogy valban senki se
tudja azt reproduklni: tbbszr is fellrja azt a lemeztartomnyt, ahol a fjl volt.
1 pistike
7 pistike
users
users
559 Jul
4096 Jul
8 17:41 .bashrc
8 17:41 .kde/
Az elso llomny, a .bashrc norml fjl, erre utal a legelso - karakter, tulajdonosa a pistike nevu felhasznl, aki a users csoport tagja. A kvetkez o hrom
karakter a tulajdonos jogait jelzi: rw-, jelentse az, hogy olvashatja s rhatja, s mivel ez nem programfjl, nem kell vgrahajtani. A kvetkez o hrmas a csoportjogok,
itt mr csak az olvassi jog adott, ugyangy az sszes tbbi felhasznl szmra is. A
.kde egy knyvtr, mutatja ezt a d betu a legelso helyen, majd ugyangy hrmas tagolsban kvetkezik a jogok felsorolsa. Knyvtraknl kicsit mshogy kell rtelmezni
azonban ezeket a dolgokat: olvassi jog esetn kilistzhat a knyvtr tartalma, rsi
jog esetn mdosthat a tartalma, teht pldul tudunk benne fjlt ltrehozni, vgrehajthat attribtum esetn pedig bele tudunk lpni. Jelenleg pistike brmit tehet a
knyvtrral, a csoporttagok s az egyebek viszont csak belphetnek s listzhatjk a
tartalmt, ltrehozni, vagy plne trlni nem tudnak semmit. Jtsszunk most el ezekkel
a lehetosgekkel, s ismerjk meg kzben a kapcsold utastsokat!
Eloszr is vltoztassuk meg a tulajdonviszonyokat. Megint ksztsnk egy j
knyvtrat, jogok nven, lpjnk be, s hozzunk ltre egy fjlt, de most rjunk bele
valamit, mondjuk az echo paranccsal:
24
Kilistzva ltjuk, hogy root, a root csoport tagja bitorolja most ezt a fjlt. O
azonban nagyon jban van pistikvel, s t akarja adni a rendelkezs jogt neki. Mit
kell tennie? Lssuk:
[root:~/jogok]>chown pistike julius
[root:~/jogok]>ls -l
total 4
-rw-r--r-1 pistike root
18 Jul
8 18:02 julius
lefordtva: az others (nem a root csoport tagjai) rszre engedlyeztk (+) az olvassi
s vgrehajtsi jogot, ez ugye knyvtrak esetn belpsi s tartalomlekrsi privilgiumot jelent. A . jelenti az aktulis knyvtrat. Viszont mg gy sem megy a dolog.
Jobban megvizsglva az esetet, rjvnk, hogy azrt nem, mivel pistike a jogok/ szloknyvtrba, a /root knyvtrba be sem tud lpni! Korrigljuk ezt (vigyzat, egy
lesben mukdo rendszeren ezzel NE ksrletezznk biztonsgi megfontolsokbl):
[root:~]>chmod o+x .
Most mr pistike ltja a fjlt, bele is nzhet, de nem nevezheti t, nem trlheti.
Persze, hiszen olyan knyvtrban van, amiben neki semmi joga rsi muveletekre. Adjuk ht meg neki a lehetosget a jogok/ knyvtrra kiadott chmod ow+ utastssal!
Dolgozzunk tovbb pistike nevben. lltgassuk a hozzfrseket a julius fjlon, adjunk meg magunknak minden jogot, a csoportnak az rs-olvass jogt, a tbbieknek pedig csak vgrehajtsi jogot (nem letszag a plda. . . ):
[pistike:/root/jogok]>chmod u+rwx,g+rw,o=x julius
[pistike:/root/jogok]>ls -l
total 4
-rwxrw---x
1 pistike users
18 Jul 8 18:02 julius*
25
18 Jul
8 18:02 julius*
Szmoljunk utna: a 6 a 4+2 (olvass+rs) sszege, ezt alkalmazzuk a tulajdonosra, az 5 a 4+1-bol (olvass + vgrehajts) kvetkezik, ezt adjuk a csoportra, mg az
olvassi jog nmagban a 4-es kddal szerepel a tbbieknl. Ami mr az el o zo pldban is lthat volt, mivel valahol szerepel egy vgrehajtsi jog is, az ls egy csillagot
tesz a fjl neve utn.
A felsoroltakon kvl is ltezik mg hrom olyan jogosultsg, amikkel nha tallkozunk. Az n. setuid bellts, clszeruen programfjl a futsi ideje alatt azokkal
a privilgiumokkal rendelkezik, mint az a felhasznl, akinek a tulajdonban van. Tipikus plda erre a jelszvltst vgzo passwd program. A felhasznlk fontosabb
adatait, gy a jelszt is a tradicionlis UNIX rendszerek egy szveges, brki szmra
olvashat fjlban, a /etc/passwd fjlban troljk. A fjl azonban csak a rendszergazda szmra rhat hogyan lehet akkor a jelszvltst megoldani? gy, hogy ha
egy mezei felhasznl futtatja a programot, az futsi ideje alatt a root jogaival fog futni
a setuid miatt, teht gy mr tudja rni is a jelszfjlt. Tbb helyen is alkalmazzk ezt
a trkkt, de sajnos a crackerek is ismerik, s emiatt egy biztonsgos rendszerben minl kevesebbre kell szortani az ilyen programok szmt. Hasonl rtelmu a setgid
jog, ami csoportra jelenti ugyanezt. Ltezik mg ezenkvl az n. sticky jog, amit
manapsg mr inkbb csak knyvtrakra alkalmaznak. Segtsgvel megoldhat, hogy
az ilyen bellts knyvtrban csak az tud mdostani, trlni egy fjlt, aki ltrehozta.
Nzzk meg a /tmp knyvtrat, itt tallkozunk ezzel a belltssal, gondoljunk bele,
mirt?
Azt, hogy egy fjl milyen jogosultsgokkal keletkezik, befolysolni lehet az
umask utastssal, ami a bash belso parancsa. Paramtere egy, a fentiekben megismerthez hasonl kd. Kialaktshoz bitszintu muveletek elvgzsre, teht kis fejszmolsra van szksg. ltalban mr az indulsnl illetve a felhasznl belpsekor
belltdik, ksobb ritkn van szksg a mdostsra. Bo vebb lersa a bash kziknyvben tallhat.
26
Hasznlata teht: meg kell adni a kiindulsi knyvtrat, majd azt, milyen mdszer
szerint akarunk keresni, s az ehhez szksges adatokat. Alapesetben rekurzvan bejrja a teljes alknyvtrat, ezen vltoztatni a -maxdepth n paramterrel lehet, ahol
n egy egsz szm, ekkor csak n alknyvtr mlysgig s le. Ha id o adatok alapjn
akarunk keresni, a -name helyett prbljuk ki a -ctime n illetve a -cmin n kapcsolkkal: elobbinl azokat a fjlokat keresi, amiket n-szer 24 rja, mg utbbi azokat, amelyet n perce mdostottak. Teht ha tudjuk, hogy a keresett fjlt 5 perce mg
szerkesztettk, de mr nem tudjuk, hova mentettk (ismt a szenilits. . . ), prblkozzunk a find / -cmin -5 paranccsal. A - jellel azt fejezzk ki, hogy 5-nl kisebb
a vizsglt idointervallum, ha pontosan az ellenkezo jt akarjuk, akkor persze a + kell.
Ki akarjuk derteni, hol vannak a fjlrendszerben setuid bellts programok? A
megolds a find / -perm 4000 kiadsa (a setuid, setgid s sticky miatt
ugyanis igazbl nem csak hrom, hanem ngy jegybo l ll a teljes jogosultsgi kd;
ebben az elso helyen ll 4 jelenti a setuid, a 2 a setgid s az 1 a sticky jelzobitet, a tovbbi hrom mr ismert). Keresni tudunk a fjl tpusa alapjn is, az sszes
felsorolt tpus megadhat a -type utn rt egybetus kddal. A /usr/local alatt
lvo sszes knyvtrat kirathatjuk pldul gy: find /usr/local/ -type d
Keressnket ezeken kvl a mret, a tulajdonviszonyok alapjn is elindthatjuk,
kinyomozhatjuk, melyik fjlokhoz nem tartozik felhasznl (valsznuleg amiatt, hogy
megszunt a hozzfrse a gphez), mindezeket ismt minden lehetsges el o fordulsban. Lssunk egy keresst olyan fjlokra, amik tulajdonosa nem a 0-s felhasznli
azonostj felhasznl (aki a rendszergazda egybknt), mgis a /root knyvtron
bell vannak:
[root:~]>find /root ! -uid 0
./jogok/julius
Igen, most van egy ilyen fjl, de hogy is adtuk ki a keresst? Tagadnunk kell azt,
hogy az azonost 0, ezrt elje egy felkiltjelet runk. Ez a megolds nagyon sok
helyen visszakszn, rdemes megjegyezni.
Keressnk most 30 byte-nl kisebb, a users csoporthoz tartoz fjlokat a /home
knyvtron bell:
[root:/home]>find . -group users -size -30c
./pistike/.bash_logout
Taln a -size szorul kis magyarzatra: a 30c jelenti a 30 byte-nyi adatot (megadhatjuk a mretet blokkban, kB-ban is), a - pedig mr tudjuk azt, hogy ennl kisebb
mennyisget keresnk.
A find mindezeken tl nyjt egy olyan leheto sget is, hogy a megtallt fjlokkal
muveleteket vgezhetnk. Tegyk fel, hogy a kvetkez o a feladatunk: a file parancs
27
Kezdjk teht: a -maxdepth 1 garantlja, hogy csak az /etc knyvtrban keres, mlyebbre nem megy; a -size nem szorul magyarzatra; a link tpusakat ki kell
zrnunk, ezrt kell a ! -type l; s vgl a legizgalmasabb a -exec. Elso paramtere a minden egyes megtallt fjlon vgrehajtand parancs neve, ez itt most a file. A
{} jelsorozatba helyettestodnek be futs kzben sorban a fjlnevek, s a vgn le kell
zrnunk a parancsot, erre szolgl a \;. Ugye, gy mr nem is olyan bonyolult. . . ?
Nzzk meg most azt, hogy lehet mg sszetettebb keresseket vgrehajtani. Meg
kell hatroznunk, milyen fjlok mrete esik 100 s 200 byte kz a /etc knyvtrban! Ehhez lthatlag nem lesz elg egyetlen -size kapcsol, mst kell kitallnunk.
Itt jnnek kpbe a logikai muveletek, hiszen a krdst gy is feltehetnnk, hogy szksgnk van a 100-nl nagyobb s a 200-nl kisebb mretu fjlokra. Vagyis mindkt
felttelnek egyidejuleg teljeslni kell, erre hasznlhat az S logikai fggvny, amivel
mr megfogalmazhat a parancs:
[root:/etc]>find . -size +100c -a -size -200c -maxdepth 1
./hosts
./hosts.allow
./pwdb.conf
./amd.net
./ftphosts
[root:~]>slocate hungary
/usr/local/so52/share/gallery/flags/hungary1.wmf
/usr/local/so52/share/gallery/flags/hungary2.wmf
parancsot. A -u egy, a patch program ltal elfogadott formtumot produkl, ezt belepumpltuk a javitas nevu fjlba. Vgl hasznljuk a patchet:
[root:~/jogok]>patch -p0 < javitas
patching file host.conf
foltozs (patching) megtrtnt, most mr a host.conf is a multi off sort tartalmazza. A diff ezen fell nem csak egy-egy fjlt, hanem akr egsz knyvtrakat
tud sszehasonltani a -r kiadsval. Msoljuk le pldnak okrt a jogok/ knyvtrat jogok1/ nven, de hagyjuk ki ebbo l a knyvtrbl a javitas nevu fjlt. Ekkor:
[root:~]>diff -r jogok1 jogok
Only in jogok: javitas
30
q kilps.
Akinek nem szimpatikus a program, hasznlhatja a cfdisk programot is, aminek
bejelentkezo kpernyoje lthat az 1.3. kpen.
Bztunk abban, hogy a mount felismeri a CD-n lvo iso9660 tpus rendszert, s
ez gy is volt. A gpen a /dev/cdrom igazbl egy szimbolikus link arra az esz32
a tar, ami annak idejn szalagos egysgekre val archivl programknt szletett
(Tape ARchiver). Nagyon jl kiegsztik egymst, mivel a tar tbb fjlt, akr
egsz knyvtr-struktrkat tud sszefuzni egyetlen fjlba, s ezt mr t lehet adni
a gzip parancsnak. Olyannyira egybepltek a hasznlat sorn, hogy a tar kln
kapcsolval rendelkezik, ami a vgn meghvja a gzip parancsot a tmrtsi lps
vgrehajtsra. Lssuk o ket mukds kzben! Taln mg nem dobtuk a sutba a
fentebb hasznlt jogok/ knyvtrunkat s tartalmt. Ebben elvileg tbb fjl is van,
lpjnk teht be ide, s rjuk be a kvetkezo ket:
[root:~/jogok]>tar cvf archiv.tar *
host1.conf
host.conf
javitas
julius
[root:~/jogok]>gzip -9 archiv.tar
[root:~/jogok]>ls a*
archiv.tar.gz
A tar kapcsoli sorban (figyeljk meg, hogy nem kell a - jel): a c jelzi, hogy
kszteni akarjuk az llomnyt, nem kicsomagolni, a v kicsit b o beszdubb zemmdra
kapcsol (ezrt listzza ki kzben a fjlneveket), az f fjlnv pedig maga az elksztend o
llomny neve. A kiterjeszts megllapods szerint .tar. Mivel mindent be akarunk
csomagolni, ezrt ll a sor vgn a * (s nem *.*, hiszen itt a fjlnvben tbb pont
is lehet). A gzip parancsot aztn a legero sebb fokozatban szabadtjuk r az elkszlt
fjlra, s megkapjuk a .gz kiterjesztsu, immr tmrtett llomnyt. Mindezt megtehetjk sokkal rvidebben is, ha a tar kapcsolit kiegsztjk mg egy z opcival,
megsprolhatjuk a gzip parancs kiadst.
A kicsomagols is tbbflekppen trtnhet:
vagy elo szr a
gunzip archiv.tar.gz, majd a tar xvf archiv.tar parancsok kiadsval, vagy egyszerubben csak a tar zxvf archiv.tar.gz parancs
bersval. A tar termszetesen mego rzi a knyvtrak elrendezst is, erre mindig
figyeljnk kicsomagols elott. Ha bele akarunk kukucsklni egy archvumba, tbbfle
mdon jrhatunk el. Csak a becsomagolt fjlok listjra vagyunk kvncsiak? Hasznljuk a tar ztvf archiv.tar.gz parancsot (listzs)! Van egy nagy mretu
szvegnk, s nem akarjuk kicsomagolni, csak elolvasni? A zcat vagy mg inkbb a
zless parancsnak vesszk hasznt.
A tar lehetosget ad arra is, hogy ha a kicsomagoland fjl nem azon a helyen van,
ahov sznjuk, s meg akarjuk sprolni a msolst, akkor egy -C clknyvtr paramter kzbeiktatsval eloszr belptessk a clknyvtrba, s ott kezdje el a kibontst.
Az Interneten a Linuxos forrsok tbbsge ilyen formtumban tallhat meg, a
.tgz kiterjeszts is ilyen archvumokat takar. Ltezik j ideje egy, a gzip programnl
jobb hatsfok tmrto is, a bzip2. Kezelse nagymrtkben hasonlt elo djre. Az
ltala ksztett llomnyok ismertetojegye a .bz2 kiterjeszts. Az ismert s elterjedt
ZIP-formtum is kpviselteti magt a zip/unzip programokon keresztl. Ezek kzl
foleg a kicsomagolt hasznljuk, fo bb paramterei:
-l kilistzza az archvum tartalmt;
-t teszteli az archvumot;
-d knyvtr a megadott knyvtrba csomagol ki;
-v bobeszdu zemmd bekapcsolsa.
35
A fenti fjl jelenleg 34 sort, 42 szt s 1260 karaktert tartalmaz. Ha ezekre egyenknt vagyunk kvncsiak, alkalmazzuk sorban a -l, -w illetve a -c kapcsolkat. Szmoltassuk meg, hny fjl van az aktulis knyvtrunkban! Ehhez nyilvn felhasznljuk
az ls parancsot is, majd az ltala adott szveges kimenetben lv o sorokat megszmolva kapjuk az eredmnyt:
[root:~]>ls | wc -l
39
A szvegek talaktst vgzo parancsok kzl a tr szolgl bizonyos talaktsokra, nevezetesen a bemenetn rkezo karaktersorozatot t tudja alaktani, transzformlni valamilyen szably alapjn. Gyakran alkalmazzuk kis- s nagybetuk cserjre,
mint az albbi pldban is:
[root:~]>echo VegyEs | tr a-z A-Z
VEGYES
Lthatan az sszes kisbetut a-tl z-ig talaktotta a nagybetus megfelel o jre. Ami
mr eleve nagybetus volt, azon persze ezt nem vesszk szre. Nemcsak talaktst,
hanem trlst is krhetnk tole:
[root:~]>echo egyesek | tr -d e
gysk
Ehelytt csak emltst tesznk a sed programrl, ami ennl jval tbbet tud, rszletes ismertetse egy msik fzet clja.
Szvegeink sokszor valamilyen tblzathoz hasonl felptsben fordulnak el o .
Lttunk ilyet pldul a df parancs kimenetnl, a w parancsnl, de rengeteg egyb
helyen is. Nemcsak ilyen, hanem igazndibl tetszo leges szvegbol val kivgsra
szolgl a cut. Megadhat, hogy karaktereket vagy valamilyen jellel elvlasztott mezoket szedjen ki neknk. Pldaknt hasznljuk fel a /etc/passwd fjlunkat. Ez
gy pl fel, hogy egy-egy sorban egymstl ketto sponttal elvlasztva szerepelnek az
egyes felhasznlk nevei, jelszavai majd egyb fontos adatai. Oldjuk meg most azt,
hogy csak a felhasznlk neveit ratjuk ki ebbo l:
37
A -d utn kvetkezo karakter szerepel a mezok elvlaszt jeleknt, a -f utn pedig az elso mezo sorszmt adtuk meg, gy azt rja csak ki. Ha fix szlessgu oszlopaink vannak, akkor hasznlhatjuk a -c kapcsolt: utna azt kell berni, hogy melyik
karakterpozcitl meddig akarjuk kivgni az adott sorbeli szveget. Szurjk meg ennek segtsgvel a df -h parancs kimenett gy, hogy csak az els o oszlop maradjon,
valamint a szabad helyet feltnteto oszloptl jobbra eso rsz:
[root:~]>df -h | cut -c1-11,34Filesystem Avail Use% Mounted on
/dev/hda2
1.9G 49% /
/dev/hda1
2.1G 47% /mnt/win_c
/dev/hda5
5.9G 47% /mnt/win_d
Itt eloszr az elso s a 11. karakter kztti, majd pedig a 34. karakterpozcitl a
sor vgig terjedo rszt vgtuk.
Szintn szeletelsi muveletet hajt vgre a split, de ez gy mukdik, hogy egy
nagyobb fjlt tbb, ltalunk szablyozhat mretu, kisebb rszre oszt szt. Csinljunk egy munka/ knyvtrat, msoljuk ide a /etc/passwd fjlt, majd alkalmazzuk
a split -l 5 passwd proba parancsot! Ennek hatsra olyan fjlok jnnek
ltre, amelyek maximum 5 sorosak, s nevk eleje proba, majd a program automatikusan ehhez hozzilleszti az aa, ab, ac stb. karaktereket is. Tartsuk meg ezek kzl az
elso kettot, hogy a kvetkezo parancsot is ki tudjuk prblni, illetve, hogy be tudjunk
mutatni egy olyan lehetosget, amire eddig mg nem kerlt sor.
A helyettesto (joker) karakterek kzl mr hasznltuk a csillagot, ami tbbfle s
tbb szm karaktert helyettest. A DOSban megszokott mdon a krd o jel is hasznlhat. Van azonban ezeken kvl ms leheto sg is. Nzzk pontosan, mi is a feladat. Az
sszes probaa kezdetu, de nem a vagy b vgu fjlt kell kijellnnk trlsre. Megoldsknt knlkozik a szgletes zrjelek alkalmazsa: azon karakterek brmelyike
elofordulhat az adott karakterpozcin, amit ebben felsorolunk. Most c-t o l egszen
z-ig engednk meg a fjlok vgn karaktereket, teht a kiadand parancs gy nz ki:
[root:~/munka]>rm -f probaa[c-z]
Elemezve: a mezoelvlaszt jel a kettospont, ez szerepel a -t utn; a mezo k sorszmozsa itt 0-tl indul, ezrt kell a +2; a -n numerikus rendezst r el o , a -r pedig
megfordtja a sorrendet.
A sort gyakran kzsen hasznlatos a uniq paranccsal: ez a bemenetre rkez o
szvegbol kiszuri az ismtlodoket, s csak egyszer jelent meg minden sort.
Szvegekben val keressre hasznlatos a grep. Mielo tt hasznlatrl beszlnnk,
szt kell ejteni az n. regulris kifejezsekro l, amivel nagyon bonyolult szvegmintkra
is lehet hivatkozni. Tbb szablya van, ezek kzl csak a fontosabbakat ismertetjk:
minden karakter, ami nem a [ ] $ ^ .* \ + karakterek valamelyike, nmagt
jelenti egy regulris kifejezsben, ezt gy is mondjuk, hogy nmagra illeszkedik;
a fenti karaktereket gy lehet megadni sajt, literlisan vett rtelmkben, hogy \
jelet rakunk elbk, teht pldul a \$ jelenti a dollrjelet;
a . (pont) karakter brmely karakterre illeszkedik; emiatt a pist. regulris
kifejezs jelentheti a pista, pisti, pistuka szveget is;
a * karakter az o t megelozo regulris kifejezs 0 vagy tbbszri elo fordulst
jelenti. Emiatt a a pist.* lehet pista, de lehet pistuka is, so t a pist is,
mivel ekkor pontosan 0-szor fordul elo az utols helyen vett karakter;
a szgletes zrjeleken bell felsorolt karakterek brmelyike el o fordulhat az
adott pozcin, kivve, ha a legelso karakter ^;
a regulris kifejezs utn rt $ jel a mintt a sor vgre, mg a kifejezs el rt ^
jel a sor elejre illeszti;
tbb egyms utn rt regulris kifejezs is regulris kifejezs lesz.
Ne ijedjen meg senki, nhny plda utn jval rtheto bb lesz ez a dolog. Lssunk is
hozz! Ksztsnk egy pldafjlt proba nven, s tltsk fel a kvetkez o tartalommal
(a hatodik sor res):
joska
jozsika
jolika
jocika
pist
pista
pistu
pistuka
pistike
juliska
[root:~/munka]>grep ^j proba
joska
jozsika
jolika
jocika
juliska
Most azokat, amik nem a beture vgzo dnek (itt a szgletes zrjel utn kvetkezo
az o t kveto a betu tagadst jelenti):
[root:~/munka]>grep [^a]$ proba
pist
pistu
pistike
Prbljuk meg azokat a neveket kiratni, amelyek kezdete jo, majd nem c betu
kvetkezik, vge pedig ika:
[root:~/munka]>grep jo[^c]ika proba
jolika
Adjuk meg az res sor sorszmt! Ehhez a -n paramter szksges, ami minden,
a mintnak megfelelo sor el kirja annak sorszmt is. Valamint azt kell tudni, hogy a
^$ kifejezs jelenti az res sort:
[root:~/munka]>grep -n ^$ proba
6:
Vgl rjuk t a szvegben jozsika s jolika nevt nagybetusre, hogy kiprblhassuk azt, amikor nem tesz klnbsget kis- s nagybetu kztt:
[root:~/munka]>grep -i jo.* proba
joska
Jozsika
Jolika
jocika
terminlhoz, ezek valamilyen rendszerszintu feladatot ltnak el. Ide tartoznak pldul
a hlzati kiszolglk (tbbek kztt FTP- vagy WWW-szerverprogramok), ezeket dmonoknak hvjuk. Nemhiba rta egy szakr, hogy ezek a dolgok vltoztatjk vidm
pokoll a UNIX belsejt.
A fut folyamatokrl val tjkozds alapveto eszkze a ps, amivel kilistzhatjuk
ezeket. Nagyon sok kapcsolja van, prat prbljunk ki! El o szr lssuk, jelenleg milyen folyamatok futnak a terminlunkon. Ehhez nem kell kln paramter, ha viszont
tbb helyrol is be vagyunk jelentkezve, akkor krdezzk le valamelyik msikat! A w
megmutatja a terminl kdjt, majd, ha trtnetesen a tty1 szerepel a listn, akkor:
[root:~]>ps -t tty1
PID TTY
TIME CMD
655 tty1
00:00:00 login
663 tty1
00:00:00 bash
719 tty1
00:00:00 xinit
727 tty1
00:00:04 icewm
42
Amikor elindtunk egy programot, akkor az az elo trben fut, a billentyuzeten adunk
t neki adatokat, o pedig a kpernyon zen vissza. A parancsrtelmezo k lehetosget
adnak azonban arra is, hogy az elindtott programjainkat a httrben futtassuk, ami azt
jelenti, hogy ha nem felttlenl szksges a futshoz az lland beavatkozs, akkor
amg dolgozik, addig mi mssal is tudunk foglalkozni. Az ilyen httrben futtatott
folyamatok elnevezse job vagy feladat. Prbljuk ki azt az esetet, amikor a find
segtsgvel az sszes t betuvel kezdo do nevu fjlt meg akarjuk keresni! Ez ido ignyes
feladat, de az ido pnz, mi addig mst is szeretnnk csinlni. Mi sem egyszerubb: a
find / -name t* & parancs kiadsval a program a httrben indul el, erre az
& karakter utastja, s azonnal visszakapjuk a kszenlti jelet. Illetve el o tte kt kdot
ltunk: az elso, szgletes zrjelben lvo szm a feladat azonostja, mellette pedig a
program processz-azonostja szerepel, hogy a kso bbiekben tudjunk rjuk hivatkozni.
Menetkzben, mivel mshogy nem rendelkeztnk, a find az eredmnyeket kirja a
kpernyore. Ez nha zavar lehet, ilyenkor hasznljunk fjlba val tirnytst. A
jobs parancs kiadsval lthatjuk, ppen milyen llapotban van a feladatunk:
[root:~]>jobs
[1]+ Running
Exit 1
find / -name t*
zenet tudst. Indtsuk most el ugyanezt a jobot gy, hogy id o legesen megszaktjuk a
futst. Ez gy rheto el, hogy az indts utn pr msodperccel lenyomjuk a CTRL-Z
billentyukombincit (ilyenkor persze nem rjuk ki a parancssor vgre az & jelet!). A
kvetkezo feliratot kell ltnunk:
[1]+
Stopped
find / -name t*
jra kijelezte a parancssort, s ismt ltjuk, hogy dolgozik. A kvetkez o lpsben jra lltsuk meg a CTRL-Z segtsgvel, de most majd azt szeretnnk, hogy az
elso esetben ltottakhoz hasonlan vgezze a httrben a feladatt! Ehhez a bg parancs szksgeltetik, ami ismt csak a feladatazonostval mint paramterrel kiadva
jobunkat a httrbe kldi:
[root:~]>bg %1
[1]+ find / -name t* &
A kijelzett parancsor ugyanaz, mint amit legelo szr kiadtunk. Ne vrjuk vgig
ismt, amg vgez, hanem hozzuk az elo trbe, majd ha a CTRL-C billentyukombincit
hasznljuk, ettol azonnal meg fog llni. Ez egybknt a legtbb programnl hatsos
fegyver, ha meg akarjuk szaktani.
Abban az esetben, ha egy hosszadalmas feladatot szeretnnk mg elindtani, de
nincs tbb idonk a gp elott maradni, jn jl a nohup parancs. Clja az, hogy az
utna rt parancsot akkor is folytassa, ha kilptnk. Prbljuk ki teht, hogy belpnk
a rendszerbe, kiadjuk a
43
Egy feladat van most a sorban, a vgn ll a betu jelzi, hogy mg vrakozik. Ha itt
egy egyenlosgjelet ltunk, akkor az a feladat ppen vgrehajts alatt ll. A vrakozsi
sorbl val kivtelre az atrm szolgl, csak meg kell neki adni a job sorszmt (akr
tbbet is lehet szkzzel elvlasztva).
Az at egybirnt nagyon sokfle formban elfogadja az ido pont megadst, nhny a lehetsges varicik kzl:
noon, midnight dli, illetve jjeli 12 rakor;
44
Az elso rszben teht olyan krnyezeti vltozkat adhatunk meg, amik a parancsok
hibtlan lefutshoz esetleg szksgesek. Ugyanis ezeket egy j hjprogramot nyitva,
annak krnyezeti belltsaival futtatja a dmon. Majd kvetkezik az, hogy mikor s
milyen parancsot kell lefuttatni. A percek 0-tl 59-ig, az rk 0-23-ig s a tbbi adat is
rtelemszeruen soroland fel (a ht napjainl a 0 vagy a 7 jelenti a vasrnapot, de lehet
az angol rvidtseket is hasznlni). Nhny pldbl mindez vilgosabb lesz:
0 12 1 * * parancs1 minden hnap elsejn 12 rakor;
30 0,12 * * Wed parancs1 szerdnknt 0:30 s 12:30 rakor;
0-59/20 * * Jul 1-3 parancs1 jliusban minden hten, htfo tol szerdig 20 percenknt
fut le a parancs1.
Lthat, hogy itt is nagyon rugalmasan adhatak meg az id o intervallumok. Teljes
lersuk a man 5 crontab parancs kiadsa utn elrheto . Lssuk a gyakorlatban is
ezt, adjuk ki a crontab -e parancsot, ezzel editlni tudjuk a fjlt (ha az EDITOR
krnyezeti vltoznk nincs msra belltva, akkor a vi programmal), s rjuk bele:
0-59/2 * * * * echo Hello >> ~/hello
45
ennl is rdekesebb eredmnyt ad, mivel a kiindulsi helyto l kezdve a megadand clgpig felsorolja azokat az llomsokat, amiken az zenet keresztlmegy. Nagyon jl
hasznlhat arra, hogy lssuk, hol vannak szuk keresztmetszetek a hlzatban.
A netstat segtsgvel a mukdo hlzati kapcsolatokrl lehet felvilgostst
nyerni. Paramter nlkl kiadva valami hasonlt lthatunk:
[pistike:~]>netstat
Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address
Foreign Address
State
tcp
0
0 star.valami.hu:1042
king.valami.hu:ftp
ESTABLISHED
Active UNIX domain sockets (w/o servers)
Proto RefCnt Flags
Type
State
I-Node Path
unix 1
[ ]
STREAM
CONNECTED
917
@0000005d
unix 1
[ ]
STREAM
CONNECTED
920
@0000005e
unix 0
[ ]
STREAM
CONNECTED
220
@00000020
unix 1
[ ]
STREAM
CONNECTED
29463 @00000063
...
Itt ppen egy FTP-kapcsolat van a harmadik sor tansga szerint egy
king.valami.hu nevu szerverrel. Az als rszen a hlzati kapcsolatok szmra nyitva
lvo n. socketek lthatk. Ezek a kommunikci vgpontjai a gpen, minden adatcsatorna szmra nylik egy ilyen. A -a paramterrel minden socketet kilistz, mg az
ppen nem aktv, csak figyelo llapotban lvoket is, a -c pedig folyamatos figyelsre szltja fel.
A tcpdump a hlzaton tmeno adatcsomagokat figyeli. Bellthat, hogy ezek
kzl csak bizonyos gpekre, szolgltatsokra, protokollokra vagy a kapcsolat irnyra stb. vonatkoz adatokat szurjn ki szmunkra. Rendszergazdknak ajnlatos beszerezni az iptraf programot is, ami menvezrelt rendszerben, rengeteg szolgltatst
nyjt hasonl tmakrben.
Ms felhasznlkrl val informciszerzsi parancsokat mr lttunk, akad azonban mg nhny. Jelesl, ha valakiro l szeretnnk megtudni, mikor lpett be legutbb a
rendszerbe, akkor a last felhasznlnv gpelendo be, pldul:
[root:~]>last pistike
pistike tty3
pistike tty2
wtmp begins Sun Jul
(00:51)
(00:51)
1 19:01:52 2001
47
Teht csak az adott szemly e-mail cme kell, s mris sok mindent megtudunk
rla, mg azt is, mit tervez (a Plan: utn lthat, ez az illeto sajt knyvtrban lvo
.plan fjl tartalma). ppen emiatt sok helyen az elso dolga a rendszergazdnak,
hogy a tbbi nem tl biztonsgos vagy felesleges szolgltats mellett ezt is lelltsa a
szervern, mivel a crackerek szmra j kiindulpont lehet.
Nha jlesik pr szt szlni valakihez, mg ha elektronikus formban is. Rvid
zenetet kldhetnk a write parancs felhasznlsval egy velnk egytt bejelentkezett felhasznlnak. Lpjnk be megint pistike nevben, majd rootknt rjuk be:
[root:~]>write pistike
<userinput>hello!!!
48
javtani. Ezek a forrsnyelvu llomnyok az esetek tbbsgben .tar.gz vagy jabban .tar.bz2 kiterjesztssel forgalomba kerlo archvumok, amelyek kezelst mr
ismerjk. Kicsomagolsuk utn rendelkezsnkre ll az adott program kdja azon a
programnyelven, amin megrtk. Ez dnto tbbsgben a C vagy C++, br nha mellkelik a binris, lefordtott vltozatot is. Ezek utn mindig olvassuk el a mellkelt
README illetve INSTALL fjlokat, mert ezek rjk le a pontos teleptsi menetet: milyen egyb programok, trgykdknyvtrak meglte szksges a futshoz, hova kerl
telepts utn a program, hogyan kell indtani, valamint esetlegesen azt, hogy milyen
szolgltatsokat lehet a fordtsnl engedlyezni vagy tiltani. A kvetkez o lps, hogy
ha van a forrsfban egy configure nevu llomny, akkor annak a lefuttatsa. Ez
ugyanis vgignzi a gp aktulis belltsait, sszegyujti a szksges adatokat, s ezek
alapjn kszti el az n. Makefile nevu llomnyt, ami alapjn a fordts menett
vezrlo program, a make dolgozni tud. A programok kdja nagyon ritkn rkezik
egyetlen fjlban, a legtbbszr rengeteg rszbo l ll, ezek a .c illetve a .h kiterjesztst
viselik (ez utbbiak az n. header-fjlok, amik a programrszekben tbb helyen is el o fordul, felhasznlt konstansokat, deklarcikat hordozzk). A make feladata, hogy a
programot a megfelelo sorrendben a megfelelo programokkal lefordttassa. Ezek lehetnek a gcc, a Linux C-fordtja, az as assemblerprogram, a strip, ami a ksz binrisbl a nyomkvetshez szksges informcikat tvoltja el, vagy az install, ami a
vgn a megfelelo helyre msolja a lefordtott programot s komponenseit, s mg tbb
ms segdprogram is. Amikor teht a configure szkript elkszlt a Makefile ltrehozsval, utna a legtbbszr csak egy make, majd egy make install parancs
szksges ahhoz, hogy telepljn a program, leginkbb a /usr/local/ alatti knyvtrfn bell.
Van, amikor ez nem megy ilyen egyszeruen, ennek oka legtbbszr az, hogy hinyzik egy olyan programcsomag, amire az j alkalmazsnak szksge van. Ekkor
azt is be kell szereznnk, lefordtanunk, s remlheto leg ezek a fggosgi problmk
megszunnek. Ha egy olyan programot szereztnk, ami eleve binris formtumban volt,
s szeretnnk meggyozodni arrl, hogy minden hozzval megvan-e a gpnkn, akkor adjuk ki az ldd program parancsot, ez a dinamikusan szerkesztett programrl
megjelenti a hozz szksges trgykdknyvtrak neveit, mint az albbi pldban is:
[root:~]>ldd /bin/sh
libreadline.so.4.1 => /lib/libreadline.so.4.1 (0x40020000)
libhistory.so.4.1 => /lib/libhistory.so.4.1 (0x40048000)
libtermcap.so.2 => /lib/libtermcap.so.2 (0x4004f000)
libdl.so.2 => /lib/libdl.so.2 (0x40053000)
libc.so.6 => /lib/libc.so.6 (0x40057000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
Abban az esetben, ha a teleptendo program tartalmaz ilyen j trgykdknyvtrakat, s a teleptoje nem gondoskodna errol, adjuk ki az ldconfig parancsot rendszergazdaknt! Ennek hatsra frissl az az adatbzis, amiben a rendszer trolja a libek
elrhetosgeit, ez a /etc/ld.so.cache llomnyban tallhat.
Nzzk most vgig az opercis rendszer lelkt kpezo rendszermag, vagyis a kernel jrafordtsnak s teleptsnek menett. Erre a lpsre akkor van szksg, ha
a gyrilag rkezo kernelben nincsenek, vagy nem megfelelo en vannak meg azok a
szolgltatsok, amik neknk kellenek, j leheto sgeket ptettek be, biztonsgi rseket kell betmni vagy egyszeruen csak szeretnnk jobban kzben tartani a rendszernket. A kernel fejlesztse folyamatosan zajlik, mgpedig kt fo szlon: van egy fejlesztoi g, amelyen a legfrissebb, de emiatt mg nem kiprblt technolgik, j vagy
javtott szolgltatsok plnek be, s van az les felhasznlsra sznt stabil verzik
ga; ide akkor kerl j verzi, ha mr valamennyi ideig teszteltk. Jelen pillanatban
49
(2002. janur kzepn) a 2.4.17 a legfrissebb stabil verzi, ezt fogjuk a pldban hasznlni. A verzik szmozsra egybknt az a szably, hogy az els o a foverziszm,
ez most a 2, utna pros szm kvetkezik ha stabil, pratlan, ha fejleszt o i vltozatrl van sz (mg nem llt le a 2.2.x szria fejlesztse sem), a vgn pedig az ezen
belli sorszm tallhat. A forrs hivatalosan az ftp://ftp.kernel.org/ szerverr o l tltheto le, de van magyar tkroldala is, pldul az ftp://ftp.kfki.hu/ kiszolgln. A fjl
neve linux-2.4.17.tar.gz, ezt msoljuk be a /usr/src/ al, majd adjuk ki a
tar zxvf linux-2.4.17.tar.gz utastst a kicsomagolshoz. Ezek utn csak
egy linux nevu knyvtr keletkezik, de clszerubb (amennyiben tbb kernelverzit
is o rznk itt), hogy tnevezzk a verziszmnak megfelel o en, majd ksztnk r egy
szimbolikus linket linux nven. Ezek utn teht hasonlt kell ltnunk:
[root:/usr/src]>ls -l
total 164
lrwxrwxrwx
1 root
drwxr-xr-x
17 root
drwxr-xr-x
14 1046
root
root
utmp
Lpjnk mg be a ./linux/include alknyvtrba, s elleno rizzk, hogy vane asm nevu alknyvtr, ami a gp kiptsnek megfelelo en PC-n az asm-i386
knyvtrra mutat. Ha megvan, kvetkezhet a konfigurls, de el o tte szedjk ssze
minden ismeretnket a gp hardverre vonatkozan, mert szksg lesz r! lljunk
be teht a /usr/src/linux knyvtrba, s adjuk ki a make mrproper parancsot. Ez nem letbevg, de rdemes hasznlni, mivel utna tiszta lappal indulhatunk
neki a belltsoknak, illetve olyan alapveto problmk is kiderlhetnek, hogy pldul nincs is teleptve a make. Kvetkezhet a make config, de inkbb hasznljuk
a make menuconfig, vagy make xconfig parancsokat, mindegyik a belltsi
lpseken val vgigvezetst szolglja.
Arany kzputat vlasztva a make menuconfig kezelst trgyaljuk. Ez szveges mdban, a nylbillentyuk s az Enter hasznlatval kezelhet o . Tbb egyms alatti
menponton keresztl frnk hozz az egyes konfigurlhat elemekhez, mivel nagyon
sok van belolk, csak a fobb pontokat nzzk t:
Code maturity level options ezen bell vlasszuk ki a Prompt for... kezdetu
sort, ekkor tbb olyan belltsi leheto sget is elrnk majd ksobb, amit a fejlesztok mg nem tltek 100 szzalkosan biztonsgosnak s mukd o nek. A
belltst egy * karakter jelzi.
Loadable module support rdekes s hasznos leheto sge a kernelnek, hogy bizonyos rszei n. modulokba fordthatk. Ezek lehetnek olyan hardvereszkzk
meghajti, amik csak idolegesen hasznlatosak, vagy ritkbban ignybe vett
szolgltatsok kdjai. A memriba csak akkor tlto dnek be, ha valban szksg van rjuk, ezrt nagyon gazdasgos a hasznlatuk. Most engedlyezzk o ket!
Ezek utn majd sok eszkznl felknlja a program a modulba val fordts lehetosgt is.
Processor type and features a kzponti egysg pontos tpusa adhat meg itt. Gyorsthatja a gp mukdst, ha kihasznljuk az jabb processzorok adta lehet o sgeket. Itt kell a tbbprocesszoros rendszerekhez is a kernel tmogatst engedlyezni.
General setup legyen-e hlzati tmogats (mindig vlasszuk ki!), PCI, EISA, MCA
eszkzk tmogatsa, milyen programkd-formtumokat ismerjen a kernel (lltsuk be mindig fixen az ELF-et!).
50
51
52
Az elso sor rtelmezse: a # jel utn kvetkezo rszt a parancsrtelmezo megjegyzsknt kezeli, kivve, ha egybo l a felkiltjel kvetkezik utna, mert akkor azzal a programmal prblja meg vgrehajtatni a szkriptet, ami ezutn ll. A msodik sor ismeros, a harmadikban lvo kddal pedig gy lpnk ki a vgrehajtsbl,
hogy egy n. visszatrsi rtket is belltunk. A legtbb program lefutsa utn bellt egy ilyet, s ezt egy programmal lekrdezve megtudhatjuk, hogy vgz o dtt a parancs. A 0 rtk ltalban azt jelenti, hogy rendben lefutott. Adjunk ennek a fjlnak a
chmod +x progi utastssal mindenki szmra vgrehajtsi jogot, majd futtassuk
a ./progi kiadsval! Ez mg gy nem tl ltvnyos, ezrt bo vtsk gy, hogy elotte
kpernyot trlnk, s az dvzlo szveg utn kirjuk, hogy Most ra:perc van.! A
program msodik sora legyen teht a clear, az utols elo tti pedig:
echo -n "Most "date +%T; echo " van."
53
parancsnak?
A programokban szinte mindig vannak elgazsok, logikai dntshozatalok. Valamely vltoz rtke befolysolhatja, hogyan folytatdjon a vgrehajts. A test
programnak nagy szerep jut ilyenkor, mivel megvizsgl bizonyos dolgokat, s az el o bb
emlegetett visszatrsi rtkek segtsgvel rtest annak eredmnyr o l. El tudja dnteni, hogy kt (szmszeru vagy szveges) rtk hogyan viszonyul egymshoz, egy adott
llomny ltezik-e s milyen tpus, mretu, s ezeket felhasznlva sok hasznos dolgot tehetnk. Nzzk meg prbakppen, hogy ltezik-e a /home/kispista nevu
knyvtr:
[root:~]>test -d /home/kispista && echo van || echo nincs
nincs
A programozsban jrtasak ismerik mr az if-then-else (magyarul ha-akkorklnben) szerkezetet, itt is ezt ltjuk viszont, egyes rszei egymstl a pontosvessz o vel vannak elvlasztva, s a fi kulcssz zrja le. De mit jelent a szgletes zrjel,
s hova tunt a test? Nos, a [ egy szimbolikus link a test llomnyra, ami figyel
ilyenkor arra is, hogy legyen zr ] jel is. Most teszteljk le, hogy nagyobb-e nullnl
a /etc/motd mrete:
[root:~]>if [ -s /etc/motd ]; then echo nagyobb; else echo zerus; fi
zerus
Ezen a gpen teht ppen a klnben g futott le, mivel a -s akkor ad IGAZ
eredmnyt, ha a vizsglt fjl ltezik, s mrete nagyobb mint zrus. Vizsgljuk most
meg, hogy pistike User ID-je nagyobb-e 500-nl! Ehhez els o lpsknt az rtket
beillesztjk egy krnyezeti vltozba, majd ezt adjuk t a test parancsnak:
[root:~]>export pistiid=id -u pistike
[root:~]>echo $pistiid
502
[root:~]>if [ $pistiid -gt 500 ]; then echo nagyobb; fi
nagyobb
Lthat, hogy a parancsok kimenetnek begyazsval is lehet krnyezeti vltozt feltlteni rtkkel, s ezt a jelen esetben szmszeru rtket a -gt (Greater Than,
nagyobb mint. . . ) kapcsol segtsgvel vetettk ssze az 500-as szmmal.
A bash programokon bell hasznlhat vezrlo szerkezetek az if-then-elsen kvl
mg a tbbg elgaztatst vgzo case, a ciklusok ltrehozsra szolgl for, while,
until s select. Ezek kzl most csak a lpteto tpus for ciklusra lljon itt egy plda:
[root:~]>for i in *.mp3; do mpg123 "$i"; done
Ennek hatsra az aktulis knyvtrban lvo minden .mp3 kiterjesztsu fjlt le fogja
jtszani az mpg123 nevu program, mg akkor is, ha szkz van a nevkben. Az i
54
helyi gpen futnia, sot megoldhat az is, hogy a dologba egy harmadik gpet is bevonnak: egy nagy kapacits gpet kr meg az egyikk (a kliens) arra, hogy elvgezze a
bonyolult szmtsokat ignylo muveletet, s az eredmnyt grafikus formban kldje
t egy harmadik (az X szervert futtat) gp kpernyo jre. . .
A Linux alatt ingyenesen hozzfrheto X verzi az XFree86, ami nemrg esett t
egy nagyobb verzivltson. Jelenleg a 4-es fo verziszm kiadsok a legjabbak, de
mg sok videokrtyhoz jobban hasznlhatk a rgi, 3.3.x verzi specilisan hozzjuk
rt szerverei (pldul az S3 krtyacsaldhoz). Az itt felsorolt parancsok mukdnek
mind az j, mind a rgebbi verzikban.
Mielott nekiltnnk az X fellesztsnek, pontos adatokkal kell rendelkeznnk a
videokrtynk s a monitorunk kpessgeiro l s azokrl a jellemzokrol, amik nlkl
nem tudjuk teljes egszben kihasznlni a kpessgeiket. A videokrtyk legfontosabb
jellemzoi a felbonts s a sznmlysg valamint a videomemria mrete, a monitor
pedig a vzszintes s a fggoleges kpfrisstsi frekvencia.
A videokrtya paramtereinek lekrdezsre hasznlhat a SuperProbe program, ami igyekszik kitallni a belltshoz szksges adatokat. A krtya gyrtjra
s a tpusra utal chipset meghatrozsa ltalban sikerl neki, de az mr nem mindig, hogy mennyi a videomemria mrete. Viszont ha teljesen tancstalanok vagyunk
ezekkel kapcsolatban, akkor valamit ez is segt.
A konkrt belltshoz tbbfle program is hasznlhat, a Linux terjesztsek is
sokfle megoldst knlnak, ezek tbbsgvel ma mr knnyen bel o heto az X. Meg
kell emlteni itt a Red Hat-beli XF86Setup programot, a SuSE disztribci SaX, illetve SaX2 nevu alkalmazst, vagy a Mandrakeben ismert XFdrake programot. Van
azonban egy olyan eszkz, ami mindegyiknek rsze, s a legrgebben hasznlatos, ez
pedig az xf86config. A programon vgighaladva elo szr a digitalizl eszkzt kell
belltanunk, ez nagyrszt valamilyen egr. Majd a billentyuzet kvetkezik, itt hasznlhatunk tbbfle kiosztst is, az jabb megolds az n. XKB hasznlata. A monitor
vzszintes frisstsi frekvencijt kell ezutn kivlasztani, itt mr szksg lehet a fent
emltett pontos adatokra, mert nagyobb rtk megadsa, mint amit br, krosthatja a
monitort. Ugyangy kell kivlasztani a fggo leges frekvencit is, majd lehet egy nevet adni a monitorunknak, hogy kso bb, a konfigurcis fjl esetleges szerkesztsekor
knnyebben megtalljuk.
Kvetkezhet a videokrtya kivlasztsa. Ha nem szerepelne a mink a hossz listn, akkor sem kell feladni, egy SVGA szerverrel nagy valsznusggel menni fog. Meg
kell adnunk a videomemria mrett, s a krtynak is egy azonost szveget. A sznmlysg belltsval azt adjuk meg, hogy egy-egy kppont, pixel hnyfle sznt vehet
fel: ajnlott legalbb 16 bites vagy annl nagyobb rtket megadni, ha szp kpet akarunk. Vgl pedig a rgi verzinl rkrdez arra, hogy elksztse-e azt a szimbolikus
linket, ami a /usr/X11R6/bin knyvtron bell a kivlasztott X szerverre mutat s
X a neve. Az j verziban egyetlen X szerver van, gy itt ez a lps kimarad. Vgl
pedig felajnlja az XF86Config konfigurcis fjl mentst, ez legtbbszr a /etc
knyvtrban vagy annak X11 alknyvtrban tallhat.
Ha jl dolgoztunk, mris indthatjuk a felletet a startx parancs kiadsval. Ez
egy hjprogram, s tulajdonkppen az xinit programot hvja meg a megfelel o paramterekkel. J esetben elindul az X szerver, az esetlegesen automatikus futsra belltott egyb programok, s vgl az n. ablakkezelo . X alatt ugyanis az a helyzet, hogy
nem maga a szerver gondoskodik az ablakok kinzetro l, dekorcijrl, hanem egy
erre szakosodott program, az ablakkezelo . Ilyenbol nagyon sokfle ltezik, kezdve a
nagyon egyszeru, de villmgyors fajtktl (icewm) a kzpkategrin t (Windowmaker, Afterstep) egszen a csillog-villog, de nagyon ero forrsignyes verzikig, amik
56
Az elso sorban elindtjuk az imwheel programot, ami grgo vel elltott egerekhez
nyjt tmogatst. Az & jel most azrt kell, hogy elindulsa utn ne lpjen ki azonnal,
hanem vgig fusson a httrben. Indtunk mg egy xterm programot s az xmodmap
segtsgvel magyar billentyukiosztst tltnk be. Vgl pedig az ablakkezel o program
az utols sorban szerepel.
A fut programok ablakairl az xwininfo ad informcit, fo leg a mretkrol s
elhelyezkedskrol a kpernyon. Az xmag felnagytja a kpernyo egy rszt, foleg
nagy felbontsnl lehet hasznos. Az xkill pedig mris sejtheto , mire j: azt a programot, amire rkattintunk a megjeleno kurzorral, azonnal lelltja, kilvi.
Vgl nzzk meg az xhost program alkalmazst, amivel az X szerverhez val hozzfrs szablyozhat. A + jel (mint paramter) utn felsorolt gpeket hozzadja, a - utniakat leveszi arrl a listrl, amin azok szerepelnek,
amiken a fut programok hasznlhatjk adataik megjelentsre a szervert. Lssuk, mi a teendo, ha a star.valami.hu gpen fut az X, ez elo tt lnk, de a
57
58
(Red Hat Package Management), ami a SuSE, Caldera, Mandrake, BeroLinux s egyb
ms terjesztsekben is hasznlatos. A msik pedig a Debian ltal hasznlt, .deb kiterjesztsrol knnyen felismerheto csomagformtum, amit tbbek kztt mg a Corel
terjesztse is hasznl. Nzzk meg rviden ezek kezelst!
Az RPM csomagokkal val munka megknnytsre ma mr sokfle, legtbbszr
grafikus program is hasznlhat, de az alapprogram rpm nvre hallgat. F o bb zemmdjai a telepts (install), frissts (upgrade), trls (erase), lekrdezs (query), s
csomagkszts (build). A kvetkezo kben egy valami.i386.rpm nevu fjlon keresztl mutatjuk be ezeket.
Teljesen j csomag teleptse az rpm -ih valami.i386.rpm parancs kiadsval trtnik, itt a -i az installlsra utal, a -h hatsra pedig ketto skeresztek jelennek meg a telepts sorn mint folyamatjelzo k. Ilyenkor mindig trtnik fggo sgellenorzs is, s ha valami hinyzik azok kzl, amikre a program pl, az rpm megtagadja a teleptst. A --force kapcsolval azonban kiero szakolhatjuk, hogy mgis
msolja fel a csomagot, a --nodeps pedig kikapcsolja ezt az elleno rzst (ezekhez
csak vgso esetben folyamodjunk). Mr meglvo , de rgebbi verzij csomag frisstshez az rpm -Uvh valami.i386.rpm hasznlhat, itt mg egy -v paramterrel
egsztettk ki, ami bobeszdubb zemmdra kapcsol. A program eltvoltsa biztonsgosan az rpm -e valami.i386.rpm kiadsval trtnik, ekkor is tkzhetnk
abba az zenetbe, hogy bizonyos programok mg ignyelnk ennek a jelenltt, de
a --force itt is vgleges megoldst knl. A csomagok lekrdezsre szolgl az
rpm -q valami (teht csak a neve kell!), de ez gy nmagban csak arra j, hogy
megtudjuk, egyltaln teleptve van-e. A -q utn rt kapcsolk tovbb b o vtik a lehetosgeket, pldul a -qa megjelenti az sszes teleptett csomag nevt, a -ql kilistzza a
teleptett csomagban tallhat sszes fjlt, a -qf /valahol/valami megmondja,
hogy az adott fjl melyik csomag rsze, a -qi a csomagrl szl informcikat (rvid
lers, mret, verzi, stb.) adja, ha pedig mindezek mell mg a p paramtert is betesszk, akkor a mg nem teleptett csomagokrl is krhetnk informcit. Vgl, ha
egy eddig csak forrsnyelven elrheto programot szeretnnk RPM csomagg alaktani,
akkor eloszr is ksztennk kell egy n. spec-fjlt, az ebben foglalt utastsok alapjn az rpm elobb lefordtja az alkalmazst, megnzi, milyen fggo sgeket kell majd
elorni, s vgl elkszti a binris csomagot, mgpedig a cpio kzremukdsvel.
A Midnight Commander segtsgvel az rpm csomagok kezelse egyszeru, csak Entert kell nyomni a csomag nevn, gy belenzhetnk, elolvashatjuk az informcikat,
s telepthetjk/frissthetjk is.
A Debian csomagok is hasonlan igyekeznek knnyebb tenni a rendszergazdk
lett. A .deb csomagok kezelsre tbb program is hasznlhat. Az alapvet o a
dpkg, ami parancssori kapcsolkkal vezrelheto , de ltezik hozz egy mens elo ttprogram a dselect szemlyben. A dpkg fo bb zemmdjai: installls a belltsok elvgzsvel (-i), kicsomagols belltsok nlkl (--unpack), jrakonfigurls
(--configure), eltvolts (-r), a rendelkezsre ll csomagok listjnak frisstse
(--update-avail). Az utols eset kivtelvel termszetesen meg kell adni a teleptendo csomag nevt is, mint paramtert. A dselect ht ponton keresztl vezet vgig
a fobb lpseken. Elsoknt az Access menpontban meg kell adni, milyen mdszer
szerint frhetnk hozz a csomagokhoz: NFS vagy FTP-szerverr o l, hajlkonylemezekrol vagy ms mdiumrl. Itt a leggyakrabban az APT (Advanced Package Tool) mdszer szerinti hozzfrst vlasztjuk. Az Update menponton bell a rendelkezsre
ll csomagok listjt frissthetjk. A Select ponton bell vlaszthatjuk ki a teleptendoket. A program figyeli a fggosgeket is, teht azokat is felknlja teleptsre,
amik kellhetnek a mukdshez. Az Install vlasztsval indul el a tulajdonkp59
60
1.22. Zrsz
A Linux a felsoroltakon kvl mg nagyon sok kisebb-nagyobb alkalmazst tartalmaz,
ha mindet fel akarjuk trkpezni, nagyon sok szabadido vel kell rendelkeznnk. Az
itt megemltett parancsok azonban remlheto leg j keresztmetszett adtk annak, mi
mindenre s hogyan is hasznlhat a rendszer, s kiindulsi pontknt szolgltak ahhoz,
hogy jobban megrtsk a mukdst, nem utolssorban hasznlni is tudjuk. Mint emltettem az elejn, itt mindegyik parancs vzlatosan, sokszor csak az emlts szintjn
szerepelt, ezrt mindenkppen javasolt a kziknyvoldalak s a rluk fellelhet o mindenfajta informci ttanulmnyozsa. Ezenfell pedig a gyakorls, a kiprbls vihet
elore. Ezrt is igyekeztem minl tbb helyen kiprbland dolgokat beiktatni, hogy
legalbb az elso lpseket megknnytsem, s mert sok lersbl hinyoznak az alkalmazsi pldk. Pedig ha egy-kt ilyet lt az ember, knnyebben megrti a sokszor
szraz, s csak a lnyegre szortkoz dokumentcikat is. Teht abban a remnyben,
hogy ez a fzet valamelyest hasznos volt, bztatok mindenkit a Linux hasznlatra, s
ha elsore nem sikerl valami, akkor se adjuk fel, ksrletezznk, egyszercsak r fogunk
jnni a megoldsra. Vgezetl lljon itt egy olyan idzet, amit vlaszthatunk jelmondatunknak is: Egy pingvinre gyakorlatilag lehetetlen haragosan nzni!
61
0. ELOSZ
Jelen Licensz clja egy olyan kziknyv, tanknyv, vagy effajta rott dokumentum megalkotsa, mely a sz szoros rtelmben szabad: annak rdekben, hogy mindenkinek
biztostsa a szveg sokszorostsnak s terjesztsnek teljes szabadsgt, mdostsokkal, vagy anlkl, akr kereskedelmi, akr nem-kereskedelmi ton. Msfel o l, e
Licensz megorzi a szerzo, vagy kiad munkja elismershez fuzo do jogt, s egyttal
mentesti o t a msok ltal beiktatott mdostsok kvetkezmnyei all.
Jelen Licensz egyfajta etalonnak tekintheto , ami nem jelent mst, mint hogy a
dokumentumbl szrmaztatott munkk maguk is szabad min o stst kell, hogy kapjanak. E dokumentum egyben a GNU ltalnos Felhasznli Licensz kiegszt o jeknt
is szolgl, mely egy a szabad szoftverekre vonatkoz etalon licensz.
E Licenszet a szabad szoftverek kziknyveiben val hasznlatra alkottuk, hiszen a
szabad szoftver egyben szabad dokumentcit is ignyel: egy szabad programot olyan
kziknyvvel kell elltni, mely ugyanazon szabadsgokat biztostja, mint maga a program. Jelen Licensz, mindazonltal, nem korltozdik pusztn kziknyvekre; felttelei
tetszoleges trgykru rott dokumentumra alkalmazhatk, fggetlenl attl, hogy az
knyvformban valaha megjelent-e. Mindamellett e Licenszet f o knt olyan munkkhoz ajnljuk, melyek elsodleges clja az tmutats, vagy a tjkoztats.
1. ALKALMAZHATSG S DEFINCIK
E Licensz minden olyan kziknyvre, vagy ms jellegu munkra vonatkozik, melyen
megtallhat a szerzoi jogtulajdonos ltal feltntetett figyelmeztets, miszerint a dokumentum terjesztse jelen Licensz felttelei alapjn lehetsges. A Dokumentum
albb brmely ilyen jellegu kziknyvre, vagy egyb munkra vonatkozik. A lakossg
minden tagja potencilis licensztulajdonosnak tekintheto , s mindegyikk megszltsa egyarnt n.
62
2. SZ SZERINTI SOKSZOROST S
nnek lehetosge van a dokumentum kereskedelmi, vagy nem-kereskedelmi jellegu
sokszorostsra s terjesztsre, brmely mdiumon keresztl, feltve, hogy jelen Licensz, a szerzoi jogi figyelmeztets, tovbb a Dokumentumot jelen Licensz hatlya
63
4. MDOST S
nnek lehetosge van a Dokumentum Mdostott Vltozatnak sokszorostsra s terjesztsre a 2. s 3. szakaszok fenti rendelkezsei alapjn, feltve, hogy a Mdostott
64
Vltozatot kizrlag jelen Licensz feltteleivel sszhangban teszi kzz, ahol a Mdostott Vltozat a Dokumentum szerept tlti be, ezltal leheto sget biztostva annak
terjesztsre s mdostsra brkinek, aki csak hozzjut egy pldnyhoz. Mindezen
fell, a Mdostott Vltozat az albbi kvetelmnyeknek is meg kell, hogy feleljen:
A Cmlapon (s ha van, a bortkon) tntessen fel egy a Dokumentumtl, illetve
brmely korbbi vltozattl eltro cmet (melyeknek, ha vannak, a Dokumentum Elozmnyek szakaszban kell szerepelnik). Egy korbbi vltozat cmt
csak akkor hasznlhatja, ha annak szerzo je engedlyezte azt.
A Cmlapon szerzokknt sorolja fel a Mdostott Vltozatban elvgzett vltoztatsokrt felelos szemlyeket, vagy entitsokat, tovbb a Dokumentum f o szerzoi kzl legkevesebb tt (vagy mindet, ha nincsenek ten).
A Cmlapon a Mdostott Vltozat kzzttelrt felelo s szemlyt tntesse fel
kiadknt.
A Dokumentum sszes szerzoi jogi figyelmeztetst hagyja rintetlenl.
Sajt mdostsaira vonatkozan is tegyen kzz egy szerz o i jogi megjegyzst,
a tbbi ilyen jellegu figyelmeztets mellett.
Rgtn a szerzoi jogi figyelmeztetseket kvetoen tntessen fel egy kzlemnyt,
az albbi Fggelk mintjra, melyben engedlyezi a Mdostott Vltozat felhasznlst jelen Licensz felttelei alapjn.
A fenti kzlemnyben hagyja rintetlenl a Nem Vltoztathat Szakaszok s a
szksges Bortszvegek jelen Dokumentum licenszben el o rt teljes listjt.
Mellkelje jelen Licensz egy eredeti pldnyt.
Az Elozmnyek szakaszt, illetve annak cmt szintn hagyja rintetlenl,
emellett adjon hozz egy j elemet, amely minimlisan tartalmazza a Mdostott Vltozat cmt, kiadsi vt, tovbb az j szerzo k, illetve a kiad nevt,
a Cmlapon lthatkhoz hasonlan. Amennyiben a Dokumentum nem tartalmaz
semmifle Elozmnyek elnevezsu szakaszt, gy hozzon ltre egyet, mely tartalmazza a Dokumentum cmt, kiadsi vt, tovbb a szerz o k, illetve a kiad
nevt, a Cmlapon lthatkhoz hasonlan; majd ezt kveto en adjon hozz egy j,
a Mdostott Vltozatra vonatkoz elemet, a fentiekkel sszhangban.
Ne tegyen vltoztatsokat a Dokumentumban megadott tltsz pldny nyilvnos hlzati elrhetosgt (ha van ilyen) illetoen, vagy hasonlkpp, a Dokumentum alapjul szolgl korbbi vltozatok hlzati helyre vonatkozan. Ezek az
Elozmnyek szakaszban is szerepelhetnek. Csak abban az esetben hagyhatja el
egyes korbbi vltozatok hlzati elrheto sgt, ha azok legkevesebb ngy vvel
a Dokumentum elott kszltek, vagy ha maga az alkot engedlyezi azt.
Brmely Ksznetnyilvnts, vagy Ajnlsok szakasz cmt hagyja rintetlenl, tovbb gondoskodjon arrl, hogy azok tartalma s hangvtele az egyes
hozzjrulkat, s/vagy az ajnlsokat illeto en vltozatlan maradjon.
A Dokumentum sszes Nem Vltoztathat Szakaszt hagyja rintetlenl, gy
cmket, mint tartalmukat illetoen. A szakaszok szmozsa, vagy brmely azzal
egyenrtku jells nem tartozik a szakaszcmek kz.
65
Trljn minden Jvhagys elnevezsu szakaszt. Effajta szakaszok nem kpezhetik rszt a Mdostott Vltozatnak.
Ne nevezzen t semmilyen ltezo szakaszt Jvhagys-ra, vagy olyasmire,
mely cmben a Nem Vltoztathat Szakaszokkal tkzhet.
Ha a Mdostott Vltozat j megelozo szakaszokat tartalmaz, vagy olyan fggelkeket, melyek Msodlagos Szakasznak mino slnek, m nem tartalmaznak a Dokumentumbl szrmaz anyagot, abban az esetben, beltsa szerint, e szakaszok nmelyikt,
vagy akr az sszeset nem vltoztathatknt sorolhatja be. Ehhez nem kell mst tennie,
mint felsorolni a szban forg cmeket a Mdostott Vltozat licensznek Nem Vltoztathat Szakaszok listjban. E cmeknek hatrozottan el kell klnlnie minden egyb
szakaszcmtol.
Jvhagys elnevezsu szakaszt csak akkor adhat a Dokumentumhoz, ha az kizrlag a Mdostott Vltozatra utal megjegyzseket tartalmaz pldul msok recenziira vonatkozan, vagy hogy egy szervezet a szveget egy standard mrvad defincijaknt ismerte el.
Cmlap-szveg gyannt egy legfeljebb t szbl ll szvegrszt adhat meg, a
Htlap-szveg esetn pedig 25 szt fuzhet a Mdostott Vltozat Bortszvegeinek
vghez. Brmely entits csak s kizrlag egy Cmlap- s egy Htlap-szvegrszt
adhat (akr kzvetton keresztl) a Dokumentumhoz. Ha a dokumentum mr eleve
rendelkezik Bortszveggel, akr azrt, mert azt korbban n adta hozz, vagy mert
valaki ms nn keresztl gondoskodott erro l, abban az esetben nincs leheto sg jabb
Bortszveg hozzadsra; a rgit mindazonltal lecserlheti, abban az esetben, ha
annak kiadja egyrtelmuen engedlyezi azt.
A Dokumentum szerzoje/i s kiadja/i jelen Licensz alapjn nem teszik leheto v
nevk nyilvnos felhasznlst egyetlen Mdostott Vltozat tmogatsa, vagy tmogatottsga rdekben sem.
5. KOMBINLT DOKUMENTUMOK
nnek lehetosge van a Dokumentum egyb, e Licensz hatlya alatt kiadott dokumentumokkal val kombinlsra a 4. szakasz mdostott vltozatokra vonatkoz rendelkezsei alapjn, feltve, hogy a kombinci mdosts nlkl tartalmazza az eredeti
dokumentumok sszes Nem Vltoztathat Szakaszt, s hogy azok mind Nem Vltoztathat Szakaszknt kerlnek felsorolsra a kombinlt munka licenszben.
A kombinlt munknak jelen Licensz mindssze egy pldnyt kell tartalmaznia, az egymssal tfedsben lvo Nem Vltoztathat Szakaszok pedig kivlthatk
egy sszegzett pldnnyal. Amennyiben tbb Nem Vltoztathat Szakasz szerepelne
ugyanazon cmmel, m eltro tartalommal, gy alaktsa t minden egyes szakasz cmt
olyan mdon, hogy mgrja zrjelben az eredeti szerzo s kiad nevt (ha ismeri),
vagy egy egyedi sorszmot. Ha szksges, a Nem Vltoztathat Szakaszok cmeivel is
vgezze el a fenti mdostsokat a kombinlt munka licenszben.
A kombinlt munkban az eredeti dokumentumok sszes El o zmnyek elnevezsu szakaszt ssze kell olvasztania, miltal egy sszefgg o Elozmnyek szakasz
jn ltre; hasonlkpp kell eljrnia a Ksznetnyilvnts, illetve az Ajnlsok szakaszok tekintetben. Ugyanakkor minden Jvhagys elnevezsu szakaszt trlnie
kell.
66
6. DOKUMENTUMGYUJTEMNYEK
nnek lehetosge van a Dokumentumbl, illetve brmely egyb, e Licensz hatlya alatt
kiadott dokumentumbl gyujtemnyt ltrehozni, s az egyes dokumentumokban tallhat licenszeket egyetlen pldnnyal kivltani, feltve, hogy a gyujtemnyben szerepl o
sszes dokumentum esetn minden ms tekintetben kveti jelen Licensz feltteleit,
azok sz szerinti sokszorostsra vonatkozan.
Tetszse szerint ki is emelhet egy meghatrozott dokumentumot a gyujtemnyb o l,
tovbb terjesztheti azt jelen Licensz felttelei alapjn, feltve, hogy a szban forg dokumentumhoz mellkeli e Licensz egy pldnyt, s minden egyb tekintetben betartja
jelen Licensz elorsait a dokumentum sz szerinti sokszorostsra vonatkozan.
7. SSZEFUZS
FGGETLEN MUNKKKAL
A Dokumentum s annak szrmazkainak klnll, vagy fggetlen dokumentumokkal, illetve munkkkal val sszefuzse egy kzs trolsi, vagy terjesztsi egysgen,
egszben nem tekintheto a Dokumentum Mdostott Vltozatnak, feltve, hogy az
sszefuzs nem lesz szerzoi jogvdett. Az effajta sszefuzs eredmnyeknt sszegzs jn ltre, m jelen Licensz nem rvnyes az abban a Dokumentummal egytt
szereplo nll munkkra, hacsak azok nem a Dokumentum szrmazkai.
Amennyiben a 3. szakasz Bortszvegekre vonatkoz rendelkezsei alkalmazhatk a Dokumentum e pldnyaira, s a Dokumentum a teljes sszegzsnek kevesebb,
mint egynegyedt teszi ki, gy a Dokumentum Bortszvegeit olyan mdon is el lehet helyezni, hogy azok csak magt a Dokumentumot fogjk t. Minden ms esetben
a teljes sszegzs bortlapjain kell feltntetni a fenti szvegeket.
8. FORDT S
A fordts egyfajta mdostsnak tekintheto , gy ht a Dokumentum lefordtott pldnyai a 4. szakasz rendelkezsei alapjn terjesztheto k. A Nem Vltoztathat Szakaszok
lefordtsa kln engedlyt ignyel a szerzo i jogtulajdonostl, mindazonltal kzzteheti a lefordtott vltozatokat is abban az esetben, ha az eredeti Nem Vltoztathat
Szakaszokat is belefoglalja a munkba. E Licensz lefordtsra ugyanezek a felttelek
rvnyesek, vagyis a lefordtott vltozat csak akkor jelenhet meg, ha mellette ott van
az eredeti, angol nyelvu Licensz szvege is. Amennyiben eltrs mutatkozna az eredeti vltozat, illetve a fordts kztt, gy a Licensz angol nyelvu eredetije tekintend o
mrvadnak.
9. MEGSZUNS
A jelen Licenszben egyrtelmuen kijellt kereteken kvl tilos a Dokumentum brminemu sokszorostsa, mdostsa, allicenszelse, vagy terjesztse. Minden ezzel
szembeni sokszorostsi, mdostsi, allicenszelsi, vagy terjesztsi ksrlet a jelen Licenszben meghatrozott jogok automatikus megszunst vonja maga utn. Azok a fe-
67
68
Htlapszveg
Ezen dokumentum eredetije kszlt 2001-2002-ben a Linux-Felhasznlk
Magyarorszgi Egyeslete gondozsban a MEH IKB pnzgyi tmogatsval. A dokumentum szabadon terjesztheto s msolhat a GNU Szabad
Dokumentcs Licensz felttelei alapjn.
69