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!!!