Linux Abszolút-Kezdő HOGYAN
0.2-es verzió

(aki a linux-kezdő levlistáról összefoglalta: Román Gellért, gellert@www.bke.hu)



Bevezetésként elmondanám, hogy ez a howto (=hogyan) csak nevében hasonlít a többi 'normális' howto-ra, és csak pár olyan észrevételt tartalmaz, amely hozzásegít, hogy olyan, haladóbbaknak egyértelmű dolgokra rájöjjön az ember, amit általában csak kín-keservesen talál ki magától. Próbáltam úgy összeállítani, hogy az ötletek a szükségesség sorrendjét kövessék. Nem szeretnék sok rizsát írni (ennek ellenére sikerült :), hát íme:



(Tartalomjegyzék, ha valaki kíváncsi rá) (LINK a tart.jegyzékre)



Telepítés előtt...


Kell-e neked a Linux?
Igen!

Mindenek előtt megjegyzem, hogy a Linux tökéletesen toleráns az egyéb operációs rendszerekkel szemben, megtűr maga mellett DOS-t, Windows-t, legyen az akár NT, vagy Win95, stb. Arról, hogy ezeket a párosításokat hogyan lehet megoldani, a howto gyűjteményben találhat az ember kitűnő leírásokat.

Mielőtt tovább olvasnál, gondolkozz el ezeken a kérdéseken:

Meg vagy-e elégedve tökéletesen a M$ termékeivel?
Hidegen hagy-e a Windows instabilitása, hogy sokszor lefagy?
Hidegen hagy-e, hogy Internetezés közben állandóan kószáló vírusoknak vagy kitéve?
Hidegen hagy-e, hogy egy ügyes web-oldallal bárki bármilyen file-t letölthet/letörölhet gépedről?
Hidegen hagy-e, hogy (ha illegális W*-t használsz,) bármikor kopogtathat az ajtón a BSA, és lecsukhatnak min. két évre?
Hidegen hagy-e, hogy nem tudod, hogyan is működik az operációs rendszered?
Nem baj az, ha tanulnod kell egy picit annak érdekében, hogy ura legyél a gépednek?

Ha a kérdések többségére hangos nemmel válaszoltál, Neked a linux való, olvass tovább nyugodtan.
0.2-es verzió kiegészítés: tanulj meg angolul. Sajna ma (még) alig lehet magyar linux-irodalmat olvasni, de remélhetőleg ez a helyzet javulni fog. Ja, még egy tanács: érdemes hozzászokni a monitorról való olvasáshoz. Sok linux-könynyvet lehet kapni, de a legjobb leírásokat mégis neten lehet találni, vagy adják a linux-disztribúcióhoz. A könyvek vagy rosszak, vagy egy az egyben a gépen lévő dokumentáció kiadása papíron.

Ha még mindig nem tudsz dönteni, olvasd el Gyulai Mihály: Nekem való-e a Linux? c. írását.


Ha Linuxot akarunk, ki kell dobni imádott (?!?) Windoze-unkat?

A válasz: nem. Kisebb gond csak akkor lehet, ha nincsen szabad partíciónk, ekkor a meglévőből kell lecsippenteni. Ennek módja röviden:
1. Kb. 500 MB szabad hely létrehozása (Delete, avagy Törlés parancs :)
2. Defragmentálás (=töredezettség-mentesítés)
3. Partíció méret csökkentése fips-el.

Bővebben lásd az fips dokumentációját. Az fips minden normálisabb disztribúcióban (pl. Debian, Corel) megtalálható.


Milyen, nem linuxos programok futnak linux alatt?

Amik futnak (dosemu - DOS emulátor, WINE - Windoze emulátor, X64 - C64 emulátor segítségével):
- DOS, és ebben a régebbi (azaz ősi) játékok, pl. Prince of Persia
- Néhány újabb játék is, pl. Duke Nukem 3D
- Windows 3.1 -es programok egy része, pl. WinWord 6.0, Excel 5.0
- Kevés Win95-ös program is, pl. StarCraft, ha ügyes vagy :).
- C64-es, ZX Spectrumos játékok, meg amihez még van emulátor

Amik általában nem futnak:
- Win95-ös játékok
- Jónéhány DOS-os, Win95-ös program

Ezen a helyen kell megemlítenem a VMWare (Virtual Machine Ware) nevű PC-emulátort. Igen, ez egy x86-os PC-t emulál, és fut rajta DOS, Windows (95, 98, NT, 2000), még Linux is. Az aktuális béta-verziók mindig shareware-ek, érdemes kipróbálni őket. DirectX-es alkalmazások ritkán futnak rajta (és a játékok pedig DirectX-et használnak...), de egyéb alkalmazásokat kitűnően futtathatjuk rajta (Office, CorelDraw, 3DStudio...).



A disztribúciókról


A linuxnak többféle 'kiadása' van, ezeket disztribúcióknak hívjak. A nagyobbak:
Mind a háromnak megvan a maga előnye és hátránya, éppen ezért a levelezési listákon sok ún. dist-war volt már, amiben mindenki a magáéra esküszött. Azóta tabu ez a téma a levlistákon, én mégis megpróbáltam pár véleményt összegyűjteni.


Red Hat

Én először Red Hattel kezdtem, de az 5.0-as verziónál átváltottam Debianra, így a mai verziókról nem tudok sokat mondani.

Amennyit tudok róla, teljesen grafikus az installáció, és utána már maga a rendszer is, ami segítheti a windoze-ról való átállást, viszont elfeledteti, hogy mennyire is hatékony a parancssor. A baj akkor kezdődik, amikor a grafikus beállító program nem tud valamivel megbírkózni, és csak a config-file-ok kézi editálgatásával lehet segíteni a bajon. (Win-eseknek: a config file egy olyan file, amiben szöveges formában van letárolva egy adott program konfigurációja, lásd .ini file-ok. Általában a /etc könyvtárban találhatóak azok a file-ok, amelyek bizonyos programok konfigurációját tartalmazzák.)

Ami nekem a RedHatet unszimpatikussá teszi, az az, hogy az ember kézhez kap egy disztribúciót, benne a kiadás időpontjában aktuális programverziókkal. Viszont a Linuxos progik naponta frissülnek, és ha fel akarunk tenni egy progit, melynek egy másik progi aktuális verziójára lenne szüksége, akkor nagy bajban találjuk ám magunkat...


SuSE

Slapic (akinek a nevét sokszor lehet hallani, én ebből arra következtetek, hogy nagy linux-guru:), egyébként, ha jók az értesüléseim, ő felelős a Chip újság linux tartalmáért is. (Javítsatok!))... szóval Slapic esküszik erre a disztribúcióra, szerinte kezdőknek fantasztikusan jó. Legnagyobb előnyének a YaST-ot (Yet Another Setup Tool) szokták mondani, ami állítólag teljesen kezdőbarát, minden ezzel a progival, menrürendszer segítségével állíthatsz be, beleértve a felhasználók, illetve csoportok konfigurálását is. A grafikus felületet pedig a SAX-al állíthatjuk be, szintén minden benne van, amit csak be lehet állítani. (pl. magyar billentyűzet-kiosztás alapból, a hozzáadott KDE magyarul is, stb). Érdemes a 98 októberi Chipben a SuSE-hoz adott bevezetőt elolvasni, illetve megnézni a képernyőképeket. Mit ne mondjak, lenyűgöző.

Fontos még, hogy alapban tud mind rpm, mind deb csomagokat kezelni. (Egyébként RPM=RedHat Package Manager, a deb pedig a Debian csomagja.)

Meg kell említenem, hogy sokaknak nem ment a SuSE telepítese elsőre, és mindenféle trükkel kellett kicselezni, hogy felmásszon a gépre... (Bár nem kizárt, hogy ők csináltak valamit rosszul :)


Corel Linux

Nos, kissé ledöbbentem, amikor kipróbáltam a Corel Linuxot. Az installálás kb. fél óra volt, mindent automatikusan felismert, minden működött elsőre. Csicsamicsa felhasználói felület, könnyű kezelés, minden, ami kell. Ami kritikát eddig hallottam felőle, az inkább az új felhasználók értetlensége miatt volt, aki nem volt lusta kicsit utánaolvasni, az egy-két hónap alatt beletanult a linux alapjaiba a rendszer segítségével.
Amit még meg kell említenem, hogy teljesen a Debianra épül, amit Corelék hozzátettek, az az install-felület, a KDE (nomeg a Qt) javítása, változtatása, és a grafikus csomagkezelő program. A Debian-alap lényege, hogy internet-összeköttetéssel rendelkezve naponta frissíthetjük csomagjainkat, így mindig egy aktuális, biztonságos rendszert használva.


Debian

Ezen összefoglaló saját tapasztalataim mellett nagyban támaszkodik Papp Tamással folytatott párbeszédünkre (-levelezésünkre), köszönet neki :).

Első lényeges dolog, hogy teljesen free, azaz szabad szoftver, és ezzel megőrizte a Linux 'filozófiáját', míg a másik háromban - ha boltban vesszük meg - vannak olyan dolgok, amit nem szabad csak úgy másolgatni. Második lényeges különbség, hogy nem profitorientált, tehát a Debiant nem azért fejlesztik, hogy minél több pénzt szerezzenek vele... És ne higyje senki azt, hogy emiatt nem törődnek a kinézettel. Bizonyítékként egy screenshot, amin a Windowmaker ablakkezelő felületén (Debian Theme) fut egy Netscape, egy XMMS, egy Gimp egy VIM, és egy VMWare, benne Win95, alatta Word97, Far Manager, és egy Explorer4 a linuxos gép weboldalával.

A használatáról annyit, hogy Tamás szerint 'nem idióta barát', amin szerintem azt értette, hogy kevés benne a menükkel segített beállítási lehetőség (bár idővel egyre több lesz). Kezdőknek nem szokták ajánlani, mert az elején túl kemény, és esetleg elveszi az ember kedvét, bár Tamás azoknak a kezdőknek is ajánlja, akik 'hajlandók picit tanulni, és türelmesek.' Ezzel én teljes mértékben egyetértek, és még azt is hozzátenném, hogy első dolog, amin a RedHat-es tapasztalatok után meglepődtem, hogy jéééé, Debian alatt minden működik... Viszont aki már picit konyít a Linuxhoz, és nem túl lusta, annak biztosan a Debian a legjobb választás.

A csomagjai .deb formában vannak, amiket az apt-get program kezel. (Ennek a kezelőfelülete a dselect, amit használni szokás.) Debianék először a Red Hat rpm-jét akarták használni, de "rájöttek, hogy tudnak jobbat is írni". A .deb előnyei az .rpm-mel szemben: automata csomagletöltés és -frissítés az internetről, de ami a legfontosabb, hogy az installhoz szükséges minden tennivalót elintézi. Legszebb példája a különböző libraryk felrakása, mivel az apt-get mindent beállít úgy, hogy az működjön is. (Pontosabban: minden csomaghoz 'jár' egy config-script is, ami elintézi a szükséges tennivalókat.)

(Csomagok: egy program több file-ból áll, amiket a könyvtárstruktúrában különböző helyre kell tenni. Na, ezek a csomagok tartalmazzák, hogy mit hova, és hogyan; és ami a legfontosabb, teljes áttekintést kap az ember arról, hogy mi van installálva a rendszeren.)


Mely csomagok kellenek az átlagfelhasználónak?

Erre válaszolni elég nehéz, én legelőször úgy csináltam, hogy amelyik szimpatikus volt, azt felraktam. Ha valami kell még, azt később úgyis pótolhatjuk, a feltétlen szükséges csomagok felrakásáról pedig az install program gondoskodik.





Bejelentkezés, felhasznalók, root
(Ezt már tudom-mehet tovább!)


Valaki kétségbeesetten írta a linux-kezdő listára, hogy miután felrakta a Linuxot, és rebootolt, csak ennyi állt a kepernyőn:

Red Hat Linux release 5.0 (Hurricane)
Kernel 2.0.32 on an i586

localhost login:

"Ilyenkor mit kell csinálni?"

(Ha már volt dolgod NT-vel, akkor: Administrator (Rendszergazda) = root, a többi szerintem oké, mehetsz tovább)

Bevezető magyarázat: Hát, a linuxban nem úgy van ám, mint egyéb (egyelőre :) népszerűbb helyeken, hogy csak egyvalaki használhatja egy időben a gépet. De nem ám! Itt egyszerre többen is kínozhatják, és hogy szegény rendszer tudja, hogy éppen ki akar hozzányúlni, azonosítani kell valahogy a felhasználókat, ez a login azonosítód. Egyébként nem egyszerre püfölik ugyanazt a billentyűzetet, és nem is egyik használja az egeret, másik a billentyűket; a Linux alatt lehetőség van arra, hogy egy másik gépről 'belépjél': azaz annak a gépnek a képernyőjére írjon, és annak a gépnek a billentyűzetét is használja. Ha pedig interneten is rajta vagy, a világ bármely pontjáról beléphetnek a gépedre, ha van login-nevük (a profik azt mondják: account-juk), és tudják a jelszavát. A régi 'nagy' gépek pl. úgy működtek, hogy volt egy szoba, amiben volt a gép, és volt egy másik szoba, tele kis képernyőkkel és billentyűzetekkel. A mai világban pedig telnettel (ami minden M$-operációs rendszerben is megvan!) be lehet lépni az interneten levő összes gépre. Például a mázlista Schönherzesek, akiknek ingyen non-stop internetük van, bárhonnan a világból beléphetnek a saját gépükre, és ügyködhetnek rajta. (Feltéve, hogy vannak olyan okosak, és linuxot futtatnak rajtuk :)

Elég a rizsából! Lényeg, hogy root-ként lépj be (írd be: root, majd nyomj ENTER-t), majd ha kérdez jelszót, akkor írd be azt, amit a linux felrakásakor megadtál. (Van, amikor első belépéshez nem kell jelszó, pl. Corel Linux. Ekkor rögtön felajánlja a jelszóváltást, amit illik elfogadni.)


Jelszóváltoztatás
(Feltételezem, be tudtál lépni. Ha nem, írj: gellert@www.bke.hu)

Belépés után írd be: passwd, majd nyomj enter-t, és válaszolj a kérdésekre. Ha nem fogadja el, és Te csakazért is a cicamicá-t akarod jelszónak, írogasd be addig, amíg a gép rá nem jön, ki is itt a főnök :-)

Ha nem akarsz jelszót: (nem javallott, de lehetséges) editáld meg a /etc/passwd file-t, és az első két kettőspont közül töröld ki azt a maszlagot, ami benne van. (Ez a jelszó, kódolva. Lehet próbálkozni a visszafejtésével :)


Új felhasználó létrehozása

Házasodj meg, nemzzél gyerekeket, 10 év múlva ültesd egy számítógép elé. ;-)

Oké, komolyabban: useradd, vagy adduser parancs. (RedHatben a kettő ugyanaz, Debianban az adduser interaktív, kérdezgetős, a useradd paraméterekkel vezérelhető utasítás.) Meg kell adni a login-nevet, tehát azt az azonosítót, amit az említett localhost login: után akarsz megadni. Ja, és persze válaszolj a kérdésekre, ha vannak.

Ha ez megvolt, adj neki jelszót, ha még nincs neki a passwd anévamitcsináltál paranccsal.

iPS: hozzá kell tenni, hogy a csicsamicsa grafikus környezetekben valamilyen adminprogival i lehet felhasználókat készíteni, változtatni, törölni. Ha valaki azt nem tudja kezelni, inkább ne is nyúljon számítógéphez :-)


Felhasználó törlése

Ez a userdel -r anévamitcsináltál paranccsal történik. Azért kell a -r-et is beírni utána, hogy letörölje a felhasználó home könyvtárát (M$ használóknak: könyvtár=mappa) is, magyarul ne hagyjon a vincsin fölös szemetet.
(Haladóknak: 'kézzel' is egész könnyen megoldható a dolog: összesen a /etc/passd-ből (plusz a /etc/shadow -ból) és a /etc/group -ból kitörlöd a usernek megfelelő sort, majd pedig az összes file-ját. Ezekre a find paranccsal lehet rákeresni.)


"Oké, de mi az a home könyvtár?"

Az arra való, hogy a felhasználó azt csináljon benne, amit akar. Itt tárolhatja a saját dolgait, meg amit akar. Csak ide van írásjoga, (írásjog= létrehozhat, megváltoztathat file-t), plusz még a /tmp-be, ahova írhat, de nem biztos, hogy az odaírt file-ok tartósan ott is maradnak. (Írhat még a /var/spool/mail/auserneve file-ba, ebben tárolódnak el a levelei.)

Még egy fontos funkciója van a home-könyvtárnak: minden program itt tárolja el a konfigurációját rejtett file-okban. A parancssorban a ~ mindig a homekönyvtárat jelenti, így a konfig-file elég egyszerűen elérhető a program számára univerzális módon a ~/konfig-file-neve kifejezéssel. Így minden egyes usernek saját konfigfile-ja lesz, és úgy állítja be a programokat, ahogyan ő akarja.

Ja, a home könyvtár általában a /home/auserneve.


A root felhasználó

A root az, akinek joga van mindenhez. (Novellesek: supervisor; NT-sek: Administrator, vagy Rendszergazda)

"De miért ne léphetnék be mindig root-tal?" Mert ha még nem vagy profi (márpedig akkor nem olvasnád ezt :), akkor igen könnyű nagyon elrontani valamit. Sima userként pedig egyszerűen nincs jogod hozzá, maga a rendszer lehetetlenné teszi, hogy a programok olyan dolgot csinájanak, amihez nincs joguk, például a jelszófile megváltoztatása. Ezt úgy érik el, hogy mindent a kernelen keresztül csinálnak a programok: pl. a diszkműveleteknél sem a lemezhez nyúlnak, hanem szólnak a kernelnek, hogy ugyan már, írjon már fel valamit nekünk a lemezre. Ha a kernel észreveszi, hogy ehhez az adott programnak nincs joga, akkor végrahajtás helyett egy hibaüzenetet küld vissza a programnak. Másik ok: ha internetezel, akkor bizonyos ilyen-olyan java-s honlapokról el lehet indítani olyan programot, ami hozzányúlhat a gépedhez. Ennek kicsi az esélye, de jobb a biztonság.


Jogos a kérdés: akkor hogyan változtassuk meg a jelszavunkat, ha nincs jogunk írni a jelszófile-t (/etc/passwd)?

Erre való az suid-bit. Nézzük meg, hol van a jelszóváltó program (which), majd listázzuk ki:

ls -al /usr/bin/passwd

-r-sr-xr-x 1 root bin 15725 Oct 31 1997 /usr/bin/passwd

Hopplá! Az első x helyett egy s betűt látunk. Ez azt mutatja, hogy az suid-bit be van állítva, ami azt jelenti, hogy ha a programot futtatják, akkor ugyanolyan jogokat élvez, mint a tulajdonosa, jelen esetben root. Így tudja írni a passwd parancs a jelszófile-t, függetlenül attól, hogy ki futtatja. Az suid bitet a chmod paranccsal állíthatjuk be, a többi engedély-bit mintájára.


"Elfelejtettem a root jelszavamat, mit csináljak?"
(Avagy: hogyan törjünk be haverunk Linuxára?)

Ez nagy baj (mármint a jelszófelejtés), de lehet rajta segíteni, bár ez a rész pici UNIX-tudást feltételez.

a. a legegyszerűbb módszer:

Amikor a gép kiírja, hogy LILO boot: (ha csak LILO-t ír ki, a shiftet kell megnyomni), nem linux-ot kell beírni, ami rendesen a linuxot indítanád, hanem 'linux single'-t. (Ha erre hibát ír ki, akkor lehetséges, hogy nem linux a címke, hanem Linux, vagy simán L. Ezt a tab-bal nézhetjük meg.) A 'single' paraméterként a kernelnek adódik, így az single módban, azaz bejelentkezés nélkül fog indulni, egyből root jogokat adva. Innentől lásd Jelszóváltoztatás.

b. kevésbé egyszerű módszer:

Be kell tenni azt a boot lemezt, vagy boot CD-t, amiről a rendszert installáltuk. Mivel ekkor rögtön egy linux redszer indul, azzal már elérhetjük a merevlemezünk linux-partícióját. Ennek módja: Amikor bejön az install kepernyő, alt+Fx-el (ahol 1<=x<=6) nézd meg, hogy melyik képernyőn tudsz parancsot beírni. Itt próbáld meg felmountolni valahova a linux-partíciót, és valahogyan editáld meg a /etc/passwd file-t. VI editor biztosan van az indított linux rendszeren, ezzel az editálás:

vi /etc/passwd
Utána a kurzorbillentyűkkel menjünk a kódolt jelszó fölé, és addig nyomogassuk rajta az x billentyűt, amíg ki nem törlődik teljesen. Ha itt egy szimpla csillagot, vagy x-et találunk a kódolt jelszó helyett, akkor lépjünk ki (lásd lejjebb), majd a vi /etc/shadow paranccsal folytassuk. A sor elejének így kell kinéznie:

root::0:0......

Ezután a következőket kell megnyomni: kettőspont (parancs mód), w (parancs a kiírásra), q (kilépés). Ha valamit elrontottunk, akkor kettőspont, q, felkiáltójel (nem akarjuk menteni a változásokat).

c. legbonyolultabb módszer, ha van DOS partíció is:

Bootolj be dos-ba, rakj fel egy mini-linux-ot (pl. Monkey Linux, az ftp://ftp.kfki.hu/pub/linux/sunsite.unc.edu/... valami distribution/monkey). Indítsd el, lépj be root-kent, mountold fel a Linux partíciódat, és tada: máris kiszedheted a root jelszavát, ahogyan az a Jelszóváltoztatásnál le van írva.



A következő lépés

Ha az előzőekkel megvagy, már el is lehet kezdeni tanulni a UNIX-alapokat.

Ha sok időd van, ajánlom az Orlando Unix Iskola című szöveget, amit a Magyar Elektronikus Könyvtárban találsz (www.mek.iif.hu), ezen belül pedig a Műszaki tudományok => Számítástechnika => Operációs rendszerek felé kell navigálni. Azért a teljes címe: http://www.mek.iif.hu/porta/szint/muszaki/szamtech/os/orlando/

Ha ezzel szemben nincsen sok időd, de foglalkoztál már DOS-szal, akkor neked a Dos-to-Linux HOWTO kell. Ez megtalálható a Magyar Linux Felhasználók oldalán, a http://mlf.linux.rulez.org/mlf/doc/DOS-rol_Linuxra.html címen magyarul, vagy, ha RedHat linuxod van, akkor a /usr/doc/HOWTO/other-formats/html/DOS-to-Linux-HOWTO.html fileban.

Ha pedig nagyon sok időd van, akkor érdemes elolvasni Brian W. Kernighan - Rob Pike: A Unix operációs rendszer c. könyvét.

Ja: szöveges file-ok szerkesztésére javaslom a joe-t. Hamar megtanulható, helpet ctrl-k h -val kapsz, amiben alt-, es alt-. -al tudsz lapozgatni. Aztán, ha kezdesz belejönni, elkezdhetsz vi-t, emacs-et tanulni.





(Nem is annyira) apró 5letek
(Ide is jöhetnek kiegészítesek!)


A mágikus TAB-billentyű

(Tömör forma: Írj be a parancssorba egy a betűt, majd nyomd meg a TAB-ot. Ezután írd be: ani <TAB>, ahol a <TAB> természetesen a TAB billentyű lenyomását jelenti. Vond le a következtetéseket.)

Amikor elkezdtem linuxozni, teljesen értelmetlennek tartottam pár karakteresnél hosszabb file-nevek használatát, mert konzolon pötyögve órákig tartana, amíg egy olyat begépelek. (Márpedig a dolgok 80%-át konzolon intézi el az ember linuxban.)

Pedig milyen egyszerű is az egész!

Tegyük fel, így néz ki az aktuális könyvtárunk:

level_katinak_1998.nov.10.txt
level_andrisnak_2000.okt.9.txt
sok_sok_level_egyben_1970-2000.txt

... és szerkeszteni akarjuk Andris barátunknak szánt levelünket. Szerkeszteni például a joe-val lehet, meghívása:

joe filenév
(és utána ENTER :)

Hogy célunkat elérjük, írjuk be:

joe l<TAB>a<TAB> <ENTER>

...aminek hatására az első TAB után megjelenik a joe level_ felirat; a rendszer (pontosabban a shell) kiegészítette a file-nevet, amíg tudta. (Utána nem tudta eldönteni, hogy melyikkel folytassa: Katival, vagy Andrissal?) Miután megadtuk neki az 'útmutatást', már teljesen kiegészíti a nevet, és már nyomhatunk is entert.
Ha egy TAB helyett kettőt nyomunk, akkor pedig megjeleníti azon lehetőségeket, amikre ki lehetne egészíteni.

Egyébként, ha paraméterként írjuk be a file-nevet, akkor a shell az aktuális könyvtár file-jaiból próbálja meg kiegészíteni; ha pedig egy parancs begépelése közben ütjük le a TAB-ot, akkor az egész PATH-t végignézi. (Tehát az összes indítható parancsot.) A PATH-ról bővebben az Orlando Unix Iskolában.

Példa:

ani<TAB> => animate

Feladat: hogyan nézhetjük meg, hogy X-Windows felület alá milyen programjaink vannak? (Útmutatás: ezek neve általában egy x betűvel kezdődik.)


A less

Hasznos kis program. Ha valamely parancsnak túl hosszú lenne a kimenete, érdemes egy pipe-al a lessnek átirányítani a kimenetet. Less-el lapozgathatsz, görgethetsz oda-vissza, sőt, még kereshetsz is a kimenetben: üsd le a / -t, majd írd be a keresendőt. Többszöri kereséshez elég egyszerűen a / -t beírni.
(DOS-osoknak: emlékeztek a more-ra? Az is van linux alatt, de ez most nem a more, hanem less. :)

Példa:
ls | less


Midnight Commander

Hiányzik a Norton Commander? Itt a megoldás! A Midnight Commander, röviden mc (majdnem) tökéletes klónja a NC-nek, amiben különböznek, hogy az MC többet tud.

Hasznos billentyűkombinációk:
alt-c: change dir (próbáld ki ftp://valami -re!)
alt-p: előzőleg beadott utasítas előhívása (=ctrl-e nc-ben)
alt-n: következő (=ctrl-x nc-ben)
ctrl-t: file-ok kijelölése, ha az ins nem megy
ctrl-s: 'filekeresés', az alt+billentyű (lásd NC, FAR Manager) helyett
ctrl-\: személyes dir-lista, ahová felvehetsz gyakran használt könyvtárakat, amikbe így gyorsan bejuthatsz.
ctrl-enter: aktuális filenév parancssorba másolása
Esc, majd enter: ugyanez
Esc, majd szám: funkcióbillentyű (pl. esc-2 = F2, esc-0 = F10, stb)

Ha az editort meg akarod változtatni, be kell állítani az EDITOR környezeti változó értéket a kívánt editor indítóparancsára.
Megemlítendő, hogy általában az escape egyszeri leütése nem működik; ha esc-kel akarsz valahonnan kiszállni, kétszer kell lenyomnod. Ennek az az oka, hogy a linux-konzol a funkcióbillentyűket úgy értelmezi, hogy pl. az F1 megnyomásakor küld egy esc-jelet (ami egy ctrl-[), majd egy [[A karaktersorozatot.


Hol vannak a parancsok? - A which parancs

Unixban általában a kiadott parancsok is programok (nem úgy, mint DOS-ban). Kérdés: hol vannak ezek a programok? Elég nehézkes lenne a PATH-ban szereplő összes könyvtárat végignézni, ezért találták ki a which parancsot. Használata:

which passwd - itt a jelszavunkat megváltoztató programot keressük, az eredmény: (RedHat)
/usr/bin/passwd

Nem kell megijedni, ha egy parancsra nem ír ki semmit a which, két eset lehetséges:
- A parancs mégsem program, hanem tényleg a shell beépített parancsa (pl. cd, export)
- Alias-t (ld. Orlando) definiáltak a parancsra (sok esetben az ls, cp, rm, mv)


Ha a súgót hiányolod... - a kézikönyv (manual) oldalai

Hol a help??? - ez lehet a Windowsban tájékozottak első kérdése. Nos, help az van, méghozzá bőségesen. Ha bármely parancsról segítséget akarsz kérni, a következőt kell beírnod:

man [fejezet] parancsnev

Minden Unix leírásban elsütik, (így itt is :), hogy a man parancsról is van man-page, ezt a man man paranccsal hívhatjuk elő. Mivel minden angolul van (még...), a man oldalai is angolul olvashatók. Egyébként általánosan érvényes az, hogy érdemes alapszinten ismerni az angolt, mert sajnos csak kevés dolog van lefordítva magyarra.
Egyébként (RedHat) a man oldalakat olvasva, kereshetsz is bennük, hiszen a less program írja ki a képernyőre a formázott oldalakat.
A man-oldalak fejezetekre vannak osztva, ezek:

1. fejezet: Felhasználói (általában shellben kiadható) parancsok
2. fejezet: Rendszerhívások
3. fejezet: Szubrutinok
4. fejezet: Eszközök (devices)
5. fejezet: File formátumok (pl. man 5 passwd: a /etc/passwd formátuma)
6. fejezet: Játékok
7. fejezet: Egyéb
8. fejezet: Rendszeradminisztráció
9. fejezet: ???
n. fejezet: Új (Nálam ebben a Tcl/Tk man oldalai vannak)

Másik információs rendszer az info rendszer, amit az info parancsnev paranccsal indíthatunk. Ha nem adjuk meg a 'topic'-ot, akkor magáról az info rendszerről tanulhatunk, amiben van egy jó tutorial az info kezelésének elsajátítására.
Egyébként KDE-ben a KDE helpje automatikusan tartalmazza a gépen található man és info oldalakat, amiket kényelmesen HTML-ként nézegethetünk.


Még egy kicsit a PATH-ról

Először is összefoglalnám, hogyan kell kezelni a PATH változót, nekem előszörre nem volt világos az Orlando.
A példákat a PATH-al írom, de minden shell-változóra érvényesek. Ahhoz, hogy egy shell-változót minden program számára láthatóvá tegyünk, exportáni kell azt, különben nem ér semmit, ha beállítjuk:
PATH=$PATH:uj_konyvtar
export PATH
Avagy rövidebben:
export PATH=$PATH:uj_konyvtar

Még egy fontos dolog: rootként sose tedd bele a jelenlegi könyvtárat (a . könyvtár) a PATH-ba, csak azért, hogy egy program elindításánál a ./program helyett elég legyen a program-ot beírni! Képzeld el, mi történne, ha valaki rakna a /tmp -be egy ls nevű scriptet, amiben egyetlen utasítás, az rm -r /* állna, Te meg ki akarod listázni a /tmp tartalmát...


Hogyan működik a * ?

Ahogyan az bármelyik UNIX-leírásban olvsható, ha a jelen könyvtár összes file-jával akarunk valamit csinálni, a parancssorba egy *-ot kell írni a file-név helyére. Ha valaki programozott DOS-ban, emlékezhet rá, hogy ott a programnak kellett lekezelnie ezen rövidítéseket. UNIX alatt viszont már a shell végzi a behelyettesítést. Tehát pl. az összes file ~/temp-be való másolásakor a

cp * ~/temp parancsot adjuk ki, de ezt a cp program így látja:

cp file1 file2 file3... filen ~/temp (ahol file1...filen a könyvtárban lévő file-ok neve)

Hozzá kell még tenni, hogy a ponttal kezdődő filenevek ilyenkor nem kerülnek kilistázásra, UNIX-ban ezek a rejtett file-ok. Arról nem is szólva, hogy ezek közé tartozik a . (a jelenlegi) és a .. (a szülő-) könyvtár is.

Persze a megfeleltetés is nagyban különbözik a DOS-tól, pl. a *.* az összes olyan file-t jelenti, aminek a nevében a pont is megtalálható kér bármilyen karakter között. (Tehát a hello.txt beletartozik, de a .hello vagy a . már nem.) A kérdőjel ugyanúgy működik, mint DOS-ban.
De nem csak ez a kettő rövidítés létezik. Ha két szögletes zárójelben felsorolunk karaktereket, akkor ez a karakterek egyikére fog illeszkedni, pl.:

ls hello[123456789].c Ez a parancs kilistázza a hello1.c ... hello9.c file-okat.

Ha a felsorolásban a karakterek sorrendje követik az ASCII táblát (angol abc sorrend, vagy - mint jelen esetben - számok sorrendje), akkor írhatjuk rövidebben is:

ls hello[1-9].c ...ami egyenértékű az előzővel.

Az ls természetesen itt is úgy látja, mintha az összes hello1.c, hello2.c, .... file-t felsoroltuk volna.


Irány az Internet! (Point-To-Point Protocol, PPP)

Debian alatt:

root-ként indítsd el a pppconfig programot, ez mindet szépen végig fog kérdezni, és be fog állítani. Ezek után a pon nev paranccsal tudod indítani a csatlakozást (ahol nev a megadott csatlakozás-azonosítót jelenti). A kapcsolat helyzetét a plog -f paranccsal lehet folyamatosan nyomon követni, megszakítani pedig a poff nev paranccsal lehet. (A nev nem kell, ha egyszerre csak egy kapcsolat fut, ami a legtöbb esetben így van.)

Egyéb disztribúciók:

Manapság biztos van a RedHat, meg SuSE-hez is csicsás beállító (pl. kppp), de ezekre nagyon sok panaszt hallottam. Így íme egy fapados, de biztos módszer.

Teendők:
1. A /usr/doc/ppp-*/scripts/ppp-on és ppp-off (ha nincs ilyen, valószínűleg nem raktad fel a pppd csomagot; rakd fel!) másolása a /usr/bin-be.
2. Ezek futtathatóvá tétele. (chmod +x /usr/bin/ppp-o*)
3. A ppp-on editálása, usernév, jelszó, telefonszám, modemsebesség, soros port beírása. A soros portok a következők lehetnek:

/dev/ttyS0 com1
/dev/ttyS1 com2
/dev/ttyS2 com3
/dev/ttyS3 com4

4. A /usr/doc/ppp*/scripts/ppp-on-dialer másolása a /etc/ppp-be.
5. Ennek editálása, ha a kiszolgálód nem a login: után várja a login-nevet. (Vagy nem a Password: után a jelszót.)
Ebben adhatunk utasításokat a modemnek, pl. az ATH0-t ATH0M0-ra kiegészítve kikapcsolhatjuk a sokszor idegesítő sípolást.
6. Az egyik rendszerinicializáló scriptbe a setserial beírása megfelelő paraméterezettséggel. Nekem csak a modem IRQ-ja tér el az alapbeállítástól, ezért ezt írtam a /etc/rc.d/rc.sysinit végére:

/bin/setserial /dev/ttyS2 irq 7

Ha rögtön ki akarjuk próbálni a modemet, adjuk ki parancsként is a setserial-t, majd pl. a minicommal próbáljunk tárcsázni, ennek kezelése igen egyszerű.

Ha igaz, akkor most a ppp-on parancs kiadásával csatlakozhatunk szolgáltatónkhoz. Ha kíváncsiak vagyunk, hol tart a kapcsolódás, adjuk ki a

tail -f /var/log/messages

parancsot. A -f kapcsoló hatására a tail folyamatosan figyeli a messages file-t, és bővülésekor automatikusan frissíti a képernyőt is, így mi azonnal értesülünk a történtekről.


Floppy, CD kezelése - mountolás, mtools, formázás

A mai operációs rendszerek mindegyikében meg van oldva az ún. cache-elés, ami annyit jelent, hogy lemezről való olvasás során a memóriában eltárolják a beolvasott adatot, hogy ha esetleg többször is szükség lesz még rá, akkor már ne kelljen a lemezhez nyúlni. Íráskor is először az adatok a memóriába íródnak, a programnak nem kell megvárnia, míg azok ténylegesen felkerülnek a lemezre. A rendszer majd lemezre írja az adatokat, ha lesz rá ideje. Viszont mi van akkor, ha floppyra írunk? DOS alatt a smartdrive ezt letudta úgy, hogy a floppynak letiltotta az írás-cache-ét. Win95 és NT alatt pedig a felhasználónak kell megvárni, amíg nincs lemeztevékenység, majd imádkozhat, mikor kiszedi a lemezt, hogy tényleg felíródott minden.

Linux alatt viszont először mountolni, csatlakoztatni kell a lemezt. Ebből tudja a rendszer (a kernel), hogy most bent van egy floppy a drive-ban. Mountoláskor beolvassa a directoryt, így azt sem kell minden hozzáféréskor megvárni. Ha ki akarjuk szedni a lemezt, akkor azt előbb unmountolni kell, le kell választani. Ekkor automatikusan felíródik az összes nem mentett adat a lemezre. Ha pedig a rendszernek még szüksége van a lemezre (pl. az egyik program még dolgozik vele), akkor nem engedi unmountolni.

Ennyit az elméletről, lássuk, hogy is megy ez valójában. Amikor mountolunk, akkor megmondjuk a kernelnek, hogy az xyz könyvtárat úgy nézze, mintha az lenne a mountolandó eszköz. Mountolni a mount paranccsal lehet, pl.:

mount -t msdos /dev/fd0 /mnt/floppy

Ezzel a paranccsal az első (a:) drive-ban lévő msdos rendszerű floppyt lehet mountolni a /mnt/floppy könyvtárba (amit előzetesen létre kell hozni, vagy hibaüzenetet kapunk). Ezután, ha a floppyra akarunk valamit másolni, akkor célkönyvtárnak a /mnt/floppy-t kell megadni.
Unmountolni az umount parancs segítségével lehet, paraméternek pedig vagy az eszköz (itt /dev/fd0) nevét, vagy a mount-könyvtárat (itt /mnt/floppy) kell megadni. A parancs visszaírja az összes nem mentett adatot a lemezre, leválasztja azt, majd kilép, mi pedig megnyugodva vehetjük ki a meghajtóból.

De nem csak a floppyt, hanem a CD-t, és az összes winchester-partíciót is mountolhatjuk, és így hozzáférhetünk egyéb windows vagy DOS területünkhöz. Az eszköznevek:

/dev/hdaX - Primary Master lemez, X-ik partíció
/dev/hdbX - Primary Slave lemez, X-ik partíció
/dev/hdcX - Secondary Master lemez, X-ik partíció
/dev/hddX - Secondary Slave lemez, X-ik partíció
/dev/cdrom - CD-ROM meghajtó

Ha a legutóbbi nem létezik, akkor egyszerűen csinálni kell rá egy linket. Pl. ha a CD a primary slave:

ln -s /dev/hdb /dev/cdrom

A filerendszerek:
ext2A Linux saját filerendszere.
msdos DOS, FAT16
vfat FAT16 (és FAT32, ha a kernel >= 2.0.35), hosszú filenevekkel (Win95, 98)
iso9660 CD-ROM, akár joliet, akár Rockridge kiterjesztéssek (win, illetve Linux hosszú filenevek)

Az fstab

Ebben a file-ban a default mountolási paraméterek vannak letárolva, formátuma a következő:

Eszköznév Mount-könyvtár Filerendszer Opciók Dump-paraméter Fsck-sorrend

Az eszköznév, a mount könyvtár és a filerendszer megfelel a mount prarmétereinek. Ha filerendszernek auto-t adunk meg, a rendszer megpróbálja automatikusan meghatározni a filerendszert. Sajnos, a vfat-ot msdos-nak érzékeli, én ezért nem használom.
A főbb opciók: ezeket vesszővel elválasztva kell megadni, következők szerint:
(no)auto: bootoláskor próbálja-e a rendszer automatikusan mountolni az eszközt?
user: ha be van állítva, akkor minden felhasználónak joga van mountolni az eszközt.
ro: read-only, CD-nél kell megadni, vagy egyéb biztonsági okból

Van még egy csomó opció, sajna nem nagyon találtam leírást róluk. :(

A proc filerendszer

Ez nem egy fizikailag valódi filerendszer, csak a memóriában létezik. A /proc könyvtár alatt látjuk, file-jai a rendszerről adnak különböző információt. Pl. a /proc/mounts file-t kilistázva (cat) megkapjuk, hogy mi hova van felmountolva milyen opciókkal, a /proc/kcore pedig maga a fizikai memóriát jelenti.





Köszönet

Ezúton szeretném megköszönni a sok segítséget legelőször is a Linux-kezdő levlista tagjainak, akik folyamatos kérdezősködéseikkel megadták ennek a howto-nak az ötletét, és az egymásnak adott válaszokkal pedig hozzájárultak a tartalmához.

Külön köszönet még:
Papp Tamásnak és Gyulai Mihálynak a rengeteg ötletért és segítségért, és Herczeg Ferencnek a 'ctrl-s'-ért. (lásd Midnight Commander :)
A GameStar újságnak, amiért a Corel Linuxról szóló cikkükben a Linuxos linkeknél a LAK-ot is említették :)


Lesz még:

- kernel-forditas
- rotsuveg!!!