Informatika | UNIX / Linux » SuSE Linux 8.2 Rendszerkézikönyv

Alapadatok

Év, oldalszám:2003, 616 oldal

Nyelv:magyar

Letöltések száma:381

Feltöltve:2007. szeptember 12.

Méret:1 MB

Intézmény:
-

Megjegyzés:

Csatolmány:-

Letöltés PDF-ben:Kérlek jelentkezz be!



Értékelések

Nincs még értékelés. Legyél Te az első!


Tartalmi kivonat

SuSE Linux R ENDSZERKÉZIKÖNYV 5. kiadás, 2003 Copyright Jelen mű a SuSE Linux AG szellemi tulajdona. A könyv teljes tartalmának, illetve részeinek másolása engedélyezett, a fenti licencbejegyzés minden másolt példányon való szerepeltetésével. Az ebben a könyvben szereplő információkat a legjobb tudásunk szerint állítottuk össze, hibák előfordulása azonban nem kizárható. Ezen ok miatt a könyv szerzői és a SuSE Linux AG semmilyen felelősséget nem vállalnak, és semmilyen anyagi következményért nem felelnek, mely valamilyen módon e könyv – vagy részének – használatából ered. Az ebben a dokumentációban szereplő használati és kereskedelmi nevek, árumegjelölések stb. használata külön megjelölés nélkül sem jogosít fel arra a feltételezésre, hogy e nevek a márkavédelmi törvény értelmében szabadnak tekinthetők lennének, és így bárki által használhatók lennének. Minden márkanevet a szabad

felhasználhatóság szavatossága nélkül használunk; ezek lehetnek akár bejegyzett védjegyek is. A SuSE Linux AG lényegében a gyártó írásmódjához igazodik. A többi, itt említett termék a mindenkori gyártó védjegye lehet Az esetleges megjegyzéseket és javaslatokat kérjük az alábbi e-mail címre küldeni: dokumentacio@suselinux.hu Szerzők: Fordítók: Technikai szerkesztők: Tervezés: Szedés: Frank Bodammer, Stefan Dirsch, Olaf Donjak, Torsten Duwe, Roman Drahtmüller, Thorsten Dubiel, Karl Eichwalder, Thomas Fehr, Stefan Fent, Werner Fink, Kurt Garloff, Carsten Groß, Andreas Grünbacher, Franz Hassels, Hendrik Vogelsang, Klaus Kämpf, Hubert Mantel, Anas Nashif, Johannes Meixner, Lars Müller, Matthias Nagorni, Peter Pöml, Siegfried Olschner, Heiko Rommel, Marcus Schaefer, Klaus Singvogel, Klaus G. Wagner, Christian Zoz Baksa József, Blaskó Sándor, Breuer Péter, Csiszár Imre, Fodor Orsolya, Hermann Benedek, Hilzinger Marcel, Kovács Krisztián,

Kósa Lajos, Levárdy Zoltán, Petőfi Sándor László, Sári Gábor, Subosits Gyula, dr. Szentiványi Gábor, Tóth Ákos, Vámosi Tamás, Váradi István, Zelena Endre Jörg Arndt, Antje Faber, Berthold Gunreben, Roland Haidl, Jana Jaeger, Edith Parzefall, Peter Reinhart, Thomas Rölz, Marc Rührschneck, Thomas Schraitle, Rebecca Walter Manuela Piotrowski, Thomas Schraitle LATEX Ezt a könyvet 100 %-osan klórmentes, fehérített papírra nyomtattuk. Tartalomjegyzék Előszó . 1 Újítások a Rendszerkézikönyvben . 2 Tipográfiai és kiejtési különlegességek . 3 Köszönet . 4 I Telepítés 5 1 A rendszer telepítése 7 Szöveges telepítés YaST2 segítségével . 8 Az indítóképernyő . 8 Az alapok: linuxrc . 9 A SuSE Linux indítása . 14

Különleges esetek . 16 Tippek és trükkök . 18 Indítólemez létrehozása DOS alatt . 18 Indítólemez készítése Linux/UNIX alatt . 19 Indítás hajlékonylemezről (SYSLINUX) . 20 Indítás a második CD-ről . 21 Támogatja a Linux a CD-ROM-omat? . 21 Ha az ATAPI CD-ROM olvasás közben lefagy . 22 Particionálás haladóknak . 23 A cserepartíció mérete . 24 2 iv A gép alkalmazási területe . 24 Optimalizálási lehetőségek . 26 LVM beállítása a YaST segítségével . 28 A logikai kötetkezelő (LVM) . 29 LVM beállítása YaST-tal . 30 Particionálás az LVM segítségével . 30 Fizikai kötetek

beállítása . 32 Logikai kötetek létrehozása . 34 Szoftver RAID . 36 Szokványos RAID szintek . 37 Szoftver RAID beállítása YaST-tal . 37 LVM és szoftver RAID együttes használata . 38 Rendszerfrissítés és csomagkezelés 39 A SuSE Linux frissítése . 40 Előkészületek . 40 Frissítés YaST2-vel . 41 Frissítés manuálisan . 43 Egyedi csomagfrissítés . 45 Frissítés verzióról verzióra . 46 7.0-ról 71-re 46 7.1-ről 72-re 47 7.2-ről 73-ra 48 7.3-ról 80-ra 48 8.0-ról 81-re 50 8.1-ről 82-re

52 RPM – a csomagkezelő . 52 A csomag eredetiségének ellenőrzése . 53 Csomagok kezelése: telepítés, frissítés és eltávolítás . 53 RPM lekérdezések . 55 Forráscsomagok telepítése és fordítása . 59 RPM-ek és patch RPM-ek . 61 Egyéb eszközök az RPM archívumokkal való munkához . 63 Tartalomjegyzék II 3 4 Beállítások 65 YaST2 szöveges módban A program kezelése . Az egyes modulok kezelése . Modulok közvetlen indítása . YOU – A YaST Online frissítési modulja Cron mintafeladat a YOU-hoz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Rendszertöltés és rendszertöltő programok A PC rendszerindítása . Rendszerindítással kapcsolatos

fogalmak . Térképfájlok: a GRUB és a LILO . Rendszertöltő beállítása a YaST segítségével . A főablak . A rendszertöltő szerkesztési lehetőségei . Rendszertöltés a GRUB rendszertöltővel . A GRUB menü . A BIOS eszközök elnevezése . Telepítés a GRUB burok használatával . További információk . Rendszerindítás a LILO-val . A LILO beállítása . A lilo.conf szerkezete Egyéb LILO opciók . A LILO telepítése és eltávolítása . Példabeállítások . DOS/Windows 95/98 és Linux . Windows NT/2000 és Linux egy merevlemezen . LILO problémák . Indítás a loadlin segítségével . Minden loadlin-felhasználó számára szükséges

lépések Indítómenük beállítása . A Linux indítása a Windowson belül . A Windows indítómenü . Indítólemez helyett indító CD . Az ISOLINUX rendszertöltő . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SuSE Linux – Rendszerkézikönyv . . . . . 67 68 69 70 70 71 . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 74 75 76 77 77 78 80 80 82 82 83 83 86 86 90 94 97 98 98 100 100 101 102 104 105 107 107 v 5 Az X Window rendszer 111 Történelmi háttér . 112 A 4.3-as XFree86 113 Beállítás az xf86config segítségével .

114 Az X Window rendszer optimalizálása . 124 További (True Type) betűkészletek beillesztése . 129 OpenGL – 3D támogatás Linux alatt . 133 Hardvertámogatás . 133 OpenGL meghajtók . 134 3Ddiag, a diagnosztikai eszköz . 135 OpenGL tesztalkalmazások . 136 Hibakeresés . 136 Telepítési támogatás . 136 További online dokumentációk . 137 6 Hangkezelés Linux alatt 139 Az ALSA alapvető PCM típusai . 140 Keverő opciók a Soundblaster Live és Audigy kártyákhoz . 140 Az envy24control hangkeverő . 141 Monitor és Patchbay az envy24control-ban . 141 Analóg be- és kimenetek . 142 Az S/PDIF csatornák beállítása . 142 Bufferelés és

latenciák . 142 A JACK audió kapcsoló készlet . 145 Hangfelvétel készítése az Audacity segítségével . 146 WAV fájlok felvétele és importálása . 147 Hangfájlok szerkesztése . 147 Mentés és exportálás . 148 WAV fájlok közvetlen felvétele és lejátszása . 149 Hangadatok tömörítése . 149 ALSA és MIDI . 150 Hangfontok telepítése (SB Live! és AWE) . 151 vi Tartalomjegyzék Vkeybd Virtuális MIDI billentyűzet . 152 Kapcsolatok létrehozása MIDI portok között . 153 Kmid a KDE MIDI lejátszó . 155 MIDI fájlok lejátszása WaveTable kártya nélkül . 156 Az iiwusynth hangfont szintetizátor . 156 A timidity++ beállítása . 156 A

timidity++ indítása grafikus felülettel . 157 A timidity++ ALSA szerver üzemmódja . 158 WAV fájlok felvétele és visszajátszása . 158 AlsaModularSynth szintetizátor és effektprocesszor egyben . 158 Hangprogramok véletlenszerű lejátszása . 159 AlsaModularSynth mint effektprocesszor . 160 Szintetizátor hangprogramok . 160 Nyomkövetés a vezérlőközponttal . 162 A MIDI kimeneti modul . 163 WAV fájlok írása a WAV kimeneti modul segítségével . 163 NoteEdit és egyéb MIDI szekvenszer programok . 163 7 Nyomtatás 165 Alapvető fogalmak és működési elvek . 166 Mi történik pontosan Linux alatti nyomtatáskor? . 167 A sikeres nyomtatás alapfeltételei . 169 Hardver- és szoftverkövetelmények . 169 Konfigurációs és nyomtatási sorok .

174 A YaST-tal elvégezhető alapbeállítások . 175 Nyomtató automatikus beállítása . 177 Nyomtatás felhasználói programokból . 181 Parancssorból történő nyomtatás . 181 Helyi nyomtató csatolófelület kézi beállítása . 182 Párhuzamos csatolófelület . 182 USB kapcsolat . 186 IrDA nyomtatási csatolófelület . 187 SuSE Linux – Rendszerkézikönyv vii Soros kapuk . 188 Az LPRng/lpdfilter kézi beállítása . 188 Az LPRng/lpdfilter feladatgyűjtője . 189 Parancssori segédeszközök az LPRng-hez . 190 Helyi nyomtatási sorok kezelése . 190 Távoli nyomtatási sorok kezelése . 193 lpdfilter – az LPRng nyomtatási rendszer nyomtatószűrője . 195 A CUPS

nyomtatási rendszer . 201 Elnevezési konvenciók . 201 IPP és a szerverek . 201 A CUPS szerver beállítása . 202 Hálózati nyomtatók . 203 Belső feladatfeldolgozás . 204 Tippek és trükkök . 206 A CUPS nyomtatási rendszer parancssori eszközei . 207 Helyi nyomtatósorok . 208 Távoli nyomtatósorok . 211 A Ghostscript által nyújtott lehetőségek . 212 Az a2ps program . 215 PostScript adatok átalakítása a psutils segédeszközökkel . 216 psnup . 216 pstops . 217 psselect . 220 PostScript fájlok megtekintése a képernyőn . 221 ASCII szövegkódolás .

221 Nyomtatás TCP/IP hálózatban . 224 Terminológia . 224 Távoli nyomtatók hibakezelése . 233 Nyomtatószerverek LPD és IPP támogatással . 236 viii Tartalomjegyzék 8 Hotplug eszközök 239 Hotplug Linux alatt . 240 A hotplug indítása és a coldplug . 240 USB – Universal Serial Bus PCI és PCMCIA . 241 . 243 Hálózat . 244 Firewire (IEEE1394) . 245 Egyéb eszközök és további fejlesztések . 245 9 Laptopok beállítása és használata 247 PCMCIA . 248 Hardver . 248 Szoftver . 248 Beállítások . 250 Sémák készítése SCPM . 252

Hibakeresés . 253 Telepítés PCMCIA eszközről . 257 Segédeszközök . 258 A rendszermag vagy a PCMCIA csomag frissítése . 258 További információ . 259 Rendszerbeállítások profilkezelése – SCPM . 259 Alapvető fogalmak és működési elvek . 260 Az SCPM YaST modul és további dokumentáció . 261 Az SCPM beállítása . 261 Profilok létrehozása és kezelése . 262 Átkapcsolás a beállítási profilok között . 263 Különleges profilbeállítások . 264 Beállítási profil kiválasztása a rendszerindításkor . 266 APM és ACPI – energiakezelő rendszerek . 268 Energiatakarékossági funkciók . 268 APM . 270 Hasznos parancsok .

273 SuSE Linux – Rendszerkézikönyv ix ACPI . 273 Pihentessük a merevlemezt . 276 Infravörös adatátvitel – IrDA . 279 Szoftver . 279 Beállítások . 279 Alkalmazás . 280 Hibaelhárítás . 281 III Rendszer 10 A Linux rendszermag 283 285 A rendszermag frissítése . 286 A rendszermag forrásai . 287 A rendszermag beállítása . 287 A rendszermag moduljai . 289 A rendszermag fordításához szükséges beállítások . 291 A rendszermag fordítása . 292 A rendszermag telepítése . 293 Rendrakás a merevlemezen fordítás után . 294 11 Rendszerjellemzők 295 Linux szabványok .

296 A Filesystem Hierarchy Standard (FHS) . 296 A Linux Standard Base (LSB) . 296 teTeX – TeX SuSE Linux alatt . 296 Példakörnyezetek FTP-hez és HTTP-hez . 296 FTP . 296 HTTP . 296 Különleges szoftvercsomagok . 297 A bash csomag és az /etc/profile fájl . 297 A cron csomag . 297 Naplófájlok – a logrotate csomag . 298 x Tartalomjegyzék Kézikönyvlapok . 300 A ulimit parancs . 300 A free parancs . 301 Az /etc/resolv.conf fájl 301 Rendszerindítás a kezdeti memóriaeszköz (initrd) segítségével . 302 Az initrd koncepciója . 302 Az initrd-vel történő rendszerindítás .

303 A rendszertöltő . 304 Az initrd alkalmazása SuSE Linux alatt . 304 Lehetséges problémák általunk fordított rendszermag esetén . 306 Kitekintés . 306 Linuxrc . 307 Főmenü . 307 Rendszerinformációk . 308 Modulok betöltése . 309 Paraméterek megadása . 309 Telepítés megkezdése / rendszerindítás . 310 A SuSE mentőrendszer . 311 Mentőlemezek létrehozása . 313 A mentőrendszer indítása . 314 A mentőrendszer alkalmazása . 315 Virtuális konzolok . 317 Billentyűzetkiosztás . 318 Helyi beállítások (locale) – I18N/L10N . 319 12 A SuSE Linux

rendszerindítási koncepciója Az init program 323 . 324 Futási szintek . 324 Futási szintek megváltoztatása . 326 Inicializáló szkriptek . 327 A YaST futási szint szerkesztője . 330 A SuSEconfig és az /etc/sysconfig . 330 A sysconfig szerkesztő . 332 Rendszerbeállítás: szkriptek és változóik . 332 SuSE Linux – Rendszerkézikönyv xi IV Hálózat 363 13 Hálózati alapok 365 TCP/IP A Linux fő hálózati protokollja . 366 A rétegmodell . 367 IP címek és útválasztás . 369 Doménnév-rendszer . 372 IPv6 A következő generáció internete . 374 Az új internetprotokoll . 374 Egy IPv6 cím szerkezete .

376 IPv6 hálózati maszkok . 378 További információk az IPv6-ról . 378 Hálózati integráció . 379 Előkészületek . 379 Beállítás a YaST segítségével . 379 Hotplug – PCMCIA . 381 Az IPv6 beállítása . 381 Manuális hálózati beállítások . 382 Beállítási fájlok . 383 Indító szkriptek . 390 Útválasztás a SuSE Linux rendszerben . 390 DNS doménnév szolgáltatás . 392 A BIND névszerver indítása . 392 Az /etc/named.conf beállítási fájl . 394 Bővebb információk . 401 NIS hálózati információs szolgáltatás . 402 Elsődleges és másodlagos NIS szerver .

402 A YaST NIS kliens modulja . 404 NFS a Linux hálózati fájlrendszere . 406 Fájlrendszerek megosztása a YaST-tal . 406 Fájlrendszer kézi importálása . 406 Fájlrendszerek kiajánlása a YaST-tal . 407 xii Tartalomjegyzék Fájlrendszer kézi kiajánlása . 408 DHCP . 411 A DHCP protokoll . 411 DHCP szoftvercsomagok . 411 A DHCP szerver . 412 Állandó IP címek kijelölése . 414 További információk . 415 14 Fájlok szinkronizálása 417 Adatszinkronizáló szoftverek . 418 Inter-Mezzo . 418 Unison . 419 CVS . 419 mailsync . 419 Döntési

tényezők a megfelelő program kiválasztásához . 420 Kliens-szerver vagy nem dedikált gép-gép kapcsolat . 420 Hordozhatóság . 420 Interaktív vagy automatikus működés . 420 Sebesség . 420 Ütközések: lehetőségek és megoldások . 421 Fájlok kiválasztása és hozzáadása . 421 Előzmények . 421 Meghajtó és merevlemez követelmények . 421 Grafikus felhasználói felület (GUI) . 422 Felhasználóbarát kezelés . 422 Biztonság a támadásokkal szemben . 422 Védekezés az adatvesztéssel szemben . 423 Bevezetés az InterMezzo használatába . 423 Felépítés . 423 Az InterMezzo szerver beállítása . 425 Az InterMezzo kliensek beállítása .

425 Hibakeresés . 426 SuSE Linux – Rendszerkézikönyv xiii A Unison ismertetése . 426 Használat . 426 Követelmények . 427 A Unison használata . 427 További információk . 428 Bevezetés a CVS használatába . 428 Használata . 428 A CVS szerver beállítása . 429 A CVS használata . 429 További információk . 431 A mailsync ismertetése . 431 Használat . 431 Beállítás és használat . 431 Lehetséges problémák . 434 További információk . 434 15 Heterogén hálózatok 435 Samba . 436 A szerver

telepítése és beállítása . 437 Azonosítás a Samba szerverrel . 441 Kliensek telepítése . 442 Optimalizálás . 443 Netatalk . 444 A fájlszerver beállítása . 445 Nyomtatószerver beállítása . 448 A szerver indítása . 449 Netware emuláció a MARSNWE segítségével . 451 A MARSNWE Netware emulátor elindítása . 451 Az /etc/nwserv.conf beállítási fájl 451 A Netware kiszolgáló és adminisztrálásának elérése . 454 IPX útválasztó az ipxrip segítségével . 455 xiv Tartalomjegyzék 16 Internet 457 Az smpppd tárcsázó segédprogram . 458 Programok az internetkapcsolat létrehozásához . 458 Az smpppd beállítása . 458 A kinternet

és a cinternet előkészítése távoli eléréshez . 459 ADSL kapcsolat beállítása . 460 Alapértelmezett beállítás . 460 DSL kapcsolat automatikus kapcsolatfelvétellel . 461 A Squid proxy szerver . 461 A proxy gyorstárakról . 462 Néhány tény a proxy használatáról . 462 Rendszerkövetelmények . 464 A Squid indítása . 465 Az /etc/squid.conf beállítási fájl 467 Transzparens proxy beállítása . 471 Squid és más programok . 474 További információk a Squid-ről . 479 17 Biztonságos hálózatok 481 Álcázás és tűzfal . 482 Az álcázás alapjai . 483 A tűzfalak alkalmazásának alapjai . 484 SuSEfirewall2 .

485 SSH Secure Shell, a biztonságos burok . 489 Az OpenSSH csomag . 490 Az ssh program . 490 scp biztonságos másolás . 491 sftp fájlok biztonságos továbbítása . 491 Az SSH démon (sshd) szerver oldal . 491 SSH azonosítási mechanizmusok . 493 X, azonosító- és egyéb továbbítóeljárások . 494 Hálózati felhasználóazonosítás Kerberosszal . 495 SuSE Linux – Rendszerkézikönyv xv Kerberos terminológia . 496 Hogyan működik a Kerberos? . 497 A Kerberos és a felhasználó kapcsolata . 501 További hasznos információk . 502 A Kerberos telepítése és adminisztrálása . 503 A Kerberos tartományok kiválasztása . 503 A KDC hardveres beállítása .

504 Óra szinkronizálás . 505 Naplózás beállítása . 506 A KDC telepítése . 506 Kerberos kliensek beállítása . 508 Távoli Kerberos adminisztráció . 511 Kerberos gép megbízások létrehozása . 513 A Kerberos PAM támogatásának bekapcsolása . 515 SSH beállítása Kerberos azonosítással . 518 LDAP és Kerberos . 519 Biztonság és megbízhatóság . 522 Alapvető megfontolások . 522 Helyi és hálózati biztonság . 522 Néhány általános biztonsági tanács és fortély . 532 A központi biztonsági bejelentő cím használata . 535 V Függelék A A Linux fájlrendszerei 537 539 Terminológia . 539 A legfontosabb linuxos fájlrendszerek .

540 Ext2 . 540 Ext3 . 541 ReiserFS . 542 JFS . 543 XFS . 544 További támogatott fájlrendszerek . 545 Nagy fájlok támogatása Linux alatt (LFS) . 546 További információk . 547 xvi Tartalomjegyzék B Hozzáférési jogosultságlisták (ACL) Linux alatt 549 Miért ACL? . 550 Definíciók . 551 ACL-ek kezelése . 551 ACL bejegyzések felépítése . 552 ACL bejegyzések és jogosultság bitek . 553 Könyvtárak hozzáférési ACL-lel . 554 Alapértelmezett ACL-lel rendelkező könyvtárak . 557 ACL-ek kiértékelése . 561 Kitekintés .

561 C Az e2fsck kézikönyvlapja 563 D A reiserfsck kézikönyvlapja 569 E A GNU GPL 575 Irodalomjegyzék 583 SuSE Linux – Rendszerkézikönyv xvii Előszó Ebben a könyvben a SuSE Linux szakmai részéről írunk. Információkat találunk benne a rendszer karbantartásához és egyes részeinek beállításához. A megfelelő elméleti és háttértudás is található az egyes fejezetekben, legyen szó az X Window rendszerről, a rendszerindítási koncepcióról, a nyomtatásról vagy éppen a Linux rendszermagról. A Linux mindig is hálózatban mutatta meg valódi erősségét. Emiatt a könyv nagy részében az egyes hálózatok beállításával és karbantartásával, valamint a különböző protokollok és szolgáltatások elméletével foglalkozunk. Bemutatjuk például az egyes hálózati protokollokat, az útválasztást, az NFS hálózati fájlrendszert és a NIS-t, de szó esik a Sambáról és a Netatalkról, valamint a

világ vezető webszerveréről, az Apache-ről is. A könyv végén részletesen foglalkozunk az IT világ biztonsági veszélyeivel, és hogy milyen megoldásokat nyújt rá a SuSE Linux. A kezdő felhasználó ebben a könyvben nagy valószínűséggel többször olyan információval találja magát szemben, ami elsőre érthetetlennek tűnik. Azonban érdemes e könyvet időnként elővenni és benne lapozgatni. A legtöbb fejezet ugyanis könnyen érthető, és lényegesen bővítheti Linux tudásunkat, sőt még a tapasztalt Linux rendszergazda is talál benne olyan információkat, amelyek számára újak és hasznosak lehetnek. Így egy napon Ön is rá fog jönni, hogy a SuSE Linux operációs rendszer a rendszerindítási koncepciótól kezdve a telepítésen és a hálózat használatán keresztül egészen a nyílt forráskódon alapuló biztonsági koncepcióig egyszerűen jobb! Újítások a Rendszerkézikönyvben Az utolsó verzió óta az alábbi

újítások történtek a Rendszerkézikönyvben: Kiegészítettük a Kerberos fejezetet. Az 503 oldalon bővebben olvashatunk arról, hogy hogyan lehet a Kerberos azonosítást telepíteni és beállítani. Kiegészítésre került az energiagazdálkodással foglalkozó APM és ACPI – energiakezelő rendszerek fejezet (268. oldal) Számos helyen módosításra került a kézikönyv a SuSE Linux 8.2 újdonságai alapján. A YaST-tal történő beállításokról szóló fejezet egyes részei átkerültek a Felhasználói kézikönyvbe, részben bele olvasztottuk a Rendszerkézikönyv megfelelő fejezeteibe. Teljesen új részek: Külön fejezetet írtunk az ACL-ek (Access Control Lists) használatáról (a B. függelékben (549 oldal)), Információk a SuSE Meta PPPD (smpppd) használatához az Az smpppd tárcsázó segédprogram bekezdésben (458. oldal), Külön leírás a patch RPM-ek telepítéséhez az RPM-ek és patch RPM-ek bekezdésben (61. oldal), A 417. oldalon egy

teljesen új fejezet találhatunk a fájlszinkronizálásról (Fájlok szinkronizálása). 2 Újítások a Rendszerkézikönyvben Tipográfiai és kiejtési különlegességek A könyvben használt kiejtési irányelvek A Linux témakörében sokféleképpen lehet a többnyire angol eredetű kifejezéseket kiejteni. Ebben nem szeretnénk kötelező jellegű iránymutatást adni A kifejezések leírásakor azonban a névelők és a toldalékolás automatikusan sugalmaz egy kiejtést, ami nem mindig egyértelmű. Az alábbiakban felsoroljuk az általunk használt névelők és toldalékolás alapjául szolgáló kiejtésmintákat: . a /usr/lib könyvtárban a júzer lib könyvtárban . az /etc könyvtárban az etécé könyvtárban . a --nodeps opcióval a mínusz mínusz nodepsz opcióval . az /mnt könyvtárba az ementé könyvtárba . a ypbind parancs kiadása a wájpíbájnd parancs kiadása Jelmagyarázat A könyvben alkalmazott tipográfiai

jeleket az 1. táblázat magyarázza el Szöveg kinézete Jelentés /etc/passwd egy fájl vagy könyvtár neve YaST2 hfájli a YaST2 program elindítása a yast2 paranccsal amikor a parancsot megadjuk, a fájl-t helyettesítsük be a kívánt értékkel, de a h i jeleket NE adjuk meg! PATH környezeti változó, melynek neve PATH 192.16812 egy változó értéke ls az ls parancs jancsi a jancsi nevű felhasználó meggyfa:˜ # kdf a root burok a ~ könyvtárban (a ‘~’ az adott felhasználó „saját könyvtára”); kdf a parancs, meggyfa a számítógép neve jancsi@meggyfa: /tmp> ls a jancsi nevű felhasználó parancsértelmezője a /tmp könyvtárban, az ls parancs kiadásával C:> fdisk DOS parancssorban az fdisk parancs 1. táblázat: folytatás a következő oldalon SuSE Linux – Rendszerkézikönyv 3   Alt      + Alt  + Del  Ctrl  az „Alt” billentyű lenyomása a ‘+’ jel a megadott billentyűk egyidejű

lenyomását jelzi. Az egymás után lenyomandó billentyűket írásban csak egy szóköz választja el. Permission denied rendszerüzenet ‘Rendszerfrissítés’ menübejegyzés Ablak szakkifejezés, melynek magyarázata a könyv végén lévő szójegyzékben található 1. táblázat: Tipográfiai konvenciók a szöveg szedése közben Köszönet Ha mindazoknak szeretnének köszönetet mondani, akik hozzájárultak ennek a könyvnek a megjelenéséhez, még egy külön könyvet kellene gyártanunk. Emiatt itt most kollektívan mindenkinek szeretnénk köszönetet mondani, aki áldozatos munkájával, több liter kávéval, több köbméter füsttel, számos túlórával és alváshiánnyal szenvedve segített nekünk, hogy ezzel a verzióval is egy kiváló SuSE Linux készülhessen Önöknek. A Linux fejlődését nem utolsó sorban azoknak a fejlesztőknek köszönheti, akik világszerte önkéntesen dolgoznak különböző projekteken. Munkájuk nélkül nem

jöhetett volna létre ez a disztribúció, emiatt különösen szeretnénk itt nekik köszönetet mondani. Természetesen a Linux szellemi atyjáról sem feledkeztünk meg: Köszönjük, Linus Torvalds! Kalandra fel! A magyarországi SuSE csapat 4 Köszönet I. rész Telepítés 1 A rendszer telepítése A rendszer telepítése A SuSE Linux telepítése rugalmas és könnyen testreszabható, legyen az a kézi telepítés, vagy a szinte automatikusan történő, alapértelmezett gyorstelepítési mód. Az alábbiakban információkat kaphatunk a különböző telepítési módokhoz – például a szöveges módban történő telepítéshez – a különböző telepítési forrásokhoz (CD-ROM, FTP, NFS) és az automatikus telepítéshez. Az alapértelmezett, grafikus módban történő telepítés leírása a Felhasználói kézikönyv elején található. A fejezet végén néhány részletes tippet adunk a particionáláshoz. Szöveges telepítés YaST2

segítségével . A SuSE Linux indítása . Különleges esetek . Tippek és trükkök . Particionálás haladóknak . LVM beállítása a YaST segítségével . A logikai kötetkezelő (LVM) . Szoftver RAID . LVM és szoftver RAID együttes használata . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 14 16 18 23 28 29 36 38 Tájékoztatás Itt – a Rendszerkézikönyvben – csak a különleges telepítési módokhoz adunk segítséget. A szokványos, grafikus módban történő telepítéshez a Felhasználói kézikönyv elején találhatunk további információt. Tájékoztatás Szöveges telepítés YaST2 segítségével Háttérinformáció A SuSE Linux nem csak grafikus módban, hanem a YaST2 szöveges menükön keresztül is rendelkezésre áll a telepítéskor (konzol

módban). Minden YaST2 modul szöveges módban is rendelkezésünkre áll. A szöveges mód különösen akkor hasznos, ha nincs szükségünk grafikus felhasználói felületre (például szerverrendszereknél) vagy ha a videokártyát az X Window System nem támogatja, illetve azt később szeretnénk beállítani. A szöveges mód a vakok számára is előnyös, mert szöveges interfészen keresztül érhetik el az információkat. Az indítóképernyő Tegyük be az első CD-t a meghajtóba, majd indítsuk újra a számítógépet. Ha a gép nem a CD-ről próbálná a rendszert indítani, állítsuk át a BIOS-ban a boot sorrendet CDROM,C,A sorra (vagy valami hasonlóra; lényeg, hogy a CDROM álljon elől). Néhán másodpercen belül megjelenik a nyitóképernyő.   illetve  billentyűkkel tíz másodpercen belül a ‘Manual Válasszuk a  ↑ ↓ Installation’ menüpontot, így a YaST nem indul el automatikusan. A boot options sorban szükség szerint

adjuk meg a rendszertöltési paramétereket, ha a hardverünk megkívánja azt. A textmode=1 paraméter megadásával a YaST2 szöveges, teljes képernyős módban indul. Figyeljünk arra, hogy ilyenkor még nem használhatjuk a magyar billentyűkiosztást.   Szokványos szöveges módba való kapcsoláshoz válasszuk az  F2=Text  billentyűt   majd üssünk az ↵  -t. Ezután egy szöveges képernyő jelenik meg a ”Loading Linux kernel” folyamat jelzésével. A rendszermag betöltődik és a linuxrc elindul A menüvezérelt linuxrc alkalmazás felhasználói bevitelre vár. 8 Szöveges telepítés YaST2 segítségével 1 Lehetséges problémák Ha az (ATAPI) CD-ROM meghajtó a rendszerindítás során összeomlik, nézzük meg Ha az ATAPI CD-ROM olvasás közben lefagy részt (22. oldal) Ha az 1. CD-t, ami Pentium processzor számára optimalizált rendszermagot tartalmaz, a BIOS nem ismeri fel mint rendszerindításra alkalmas médiumot, próbáljuk az

„indítólemezt” vagy a 2. CD-t alkalmazni Lásd még az idevonatkozó Indítás hajlékonylemezről (SYSLINUX) és Indítás a második CD-ről részt (21. oldal) A rendszer telepítése A rendszerindításkor keletkező problémákat általában megfelelő rendszermag-paraméterekkel lehet orvosolni. Amennyiben a DMA mód okozza a problémát, válasszuk az ‘Installation - Safe Settings’ pontot a telepítéshez. FireGL 1, 2, és 3-at tartalmazó videokártyák számára a grafikus mód nem indul el (framebuffer). Ebben az esetben szöveges módon kell   F2=Text  a képernyő alján). telepítenünk ( A ‘Memory Test’ bejegyzés kiválasztása akkor ajánlott, ha a rendszer telepítésekor vagy később a rendszerben „furcsa” hibák keletkeznek (hírtelen leállás vagy újraindítás). A Linuxnak nagyobb igényei vannak a hardverrel szemben, így a memóriának is tökéletesen működnie kell! További információt a memóriateszthez az alábbi címen

található: http://sdb.susede/de/sdb/html/thallma memtest86html A legjobb, ha a memóriatesztet egész éjjel futtatjuk. Az alapok: linuxrc A linuxrc a telepítés beállítását teszi lehetővé, továbbá be tudjuk tölteni az esetleges rendszermagmodulokat illetve meghajtókat. Végül a linuxrc elindítja a YaST2 telepítőeszközt, megkezdve a rendszerszoftverek és más alkalmazások telepítését.       Használjuk a  -t vagy  -t a menük közötti választáshoz és a  ← -t vagy   -t ↑ ↓ egy parancs kiválasztásához. Egy menüpont kiválasztásához nyomjuk meg az   billentyűt. ↵  Szélesebb körű dokumentáció a linuxrc programot illetően a Linuxrc fejezetben (307. oldal) található SuSE Linux – Rendszerkézikönyv 9 1.1 ábra: Nyelv kiválasztása Beállítások A linuxrc első párbeszédablakában be tudjuk állítani a nyelvet és a billentyűzetkiosztást.   Válasszuk ki a telepítés nyelvét (például

‘Magyar’) és hagyjuk jóvá az ↵  megnyomásával. Ezután válasszuk ki a billentyűzet kiosztását (például ‘Magyar’). Lehetséges problémák A linuxrc nem teszi lehetővé az általunk kívánt kiosztás kiválasztását. Ez esetben válasszunk más kiosztást (például ‘English (US)’). A telepítést követően a YaST2 segítségével még mindig be tudjuk állítani a megfelelő billentyűzetkiosztást. A linuxrc fő menüje Ezután a linuxrc fő menüjében találjuk magunkat (1.2 ábra) Itt a következő lehetőségeket találjuk: ‘Beállítások’ Itt a nyelvet, monitort vagy a billentyűzetet lehet állítani. Ezeket már beállítottuk az előző részben. ‘Rendszerinformáció’ Itt jónéhány információt találunk a hardverről, ha azokat a rendszermag felismerte és aktiválta a már betöltött modulokkal. 10 Szöveges telepítés YaST2 segítségével 1 A rendszer telepítése 1.2 ábra: A linuxrc fő menüje

‘Rendszermag modulok (hardver meghajtók)’ Itt szükségünk lehet hardver-kompatibilis modulok elérésére. Ezek között található egyéb fájlrendszerek betöltéséhez is modul (ReiserFS). Rendszerint nincs szükségünk e menü használatára ha a merevlemezünk és CD-ROM meghajtónk ATAPI rendszerű és egy (E)IDE vezérlőhöz csatlakozik, mivel az (E)IDE támogatás már be van építve a rendszermagba. ‘Telepítés megkezdése / rendszerindítás’ Folytatja a telepítést ‘Kilépés vagy újraindítás’ Kilép a telepítőből. ‘Power off’ Leállítja a rendszert és kikapcsolja az áramellátást. Hardver illesztése modulok használatával Válasszuk ki a ‘Kernel modulok (hardver meghajtók)’ menüből a rendszermag modulok betöltését, akkor, ha SCSI vagy PCMCIA támogatásra van szükségünk vagy olyan CDROM meghajtóról szeretnénk telepíteni, ami nem ATAPI típusú. Elképzelhető, hogy más hardvereszközök vagy fájlrendszerek

használata szintén rendszermag modulok betöltését igényli, például USB, FireWire, ReiserFS. A modulok betöltésének módjáról a Linuxrc fejezetben (307 oldal) olvashatunk. A következő almenüben válasszuk ki a betöltendő modulokat A lehetséges választások: Egy SCSI modul ha SCSI merevlemezünk vagy SCSI CD-ROM meghajtónk van. A CD-ROM modul amennyiben a CD-ROM meghajtónk nem (E)IDE vagy SCSI kontrollerhez csatlakozik. SuSE Linux – Rendszerkézikönyv 11 Egy hálózati modul ha NFS vagy FTP segítségével szándékozunk telepíteni, de ezt itt nem részletezzük. Egy vagy több fájlrendszer , például ReiserFS vagy ext3. Tipp Ha semmilyen támogatást nem találunk a telepítési médiumunkhoz (egyedi CD-ROM meghajtó, párhuzamos portos CD-ROM meghajtó, hálózati kártyák, PCMCIA) a szabvány modulok között, megtalálhatjuk azt a modult, akkor még létre tudunk hozni egy külön modullemezt (lásd az Indítólemez létrehozása DOS alatt

bekezdést (18. oldal)) Ehhez menjünk a lista végére és válasszuk a ‘-- További modulok --’ lehetőséget. Ezután a telepítő megkér, hogy töltsük be a modulokat-at tartalmazó lemezt. Tipp Telepítés megkezdése   Ha már kiválasztottuk a ‘Telepítés/Rendszerindítás’ menüt, csak az ↵  billentyűt kell megnyomnunk a telepítés megkezdéséhez. 1.3 ábra: linuxrc Telepítési menü Az alábbi pontok közül választhatunk: ‘Telepítés/frissítés megkezdése’ Előkészül a telepítésre vagy egy létező rendszer frissítésére ‘A telepített rendszer indítása’ Erre akkor lehet szükségünk, ha a rendszer indításával kapcsolatban problémák lépnek fel. 12 Szöveges telepítés YaST2 segítségével ‘Cd kiadása’ Elektronikusan kiadja a cd-t.   A telepítés megkezdéséhez nyomjuk meg az ↵  billentyűt, és ezzel elérjük a ‘Telepítés megkezdése/Frissítés’ menüt. Ezután válasszuk ki a

forrásmédiumot Rendesen a kurzor az alapbeállított választáson marad (‘CD-ROM’). 1 A rendszer telepítése ‘Mentőrendszer indítása’ Ezen a menüponton keresztül el tudunk indítani egy olyan rendszer, mely vészhelyzet esetében segíthet a rendszer visszaállításában. 1.4 ábra: A forrásmédium kiválasztása a linuxrc programban   billentyűt. A telepítési környezet közvetlenül az első Most nyomjuk meg az ↵  CD-ről betöltődik. Miután ez a folyamat befejeződött, elindul a szöveges módban futó YaST2 (ncurses). A telepítés innentől kezdve a [SuS03]ben található Telepítés fejezetben leírtak alapján folytatódik. Lehetséges problémák Az SCSI csatolót nem ismeri fel: . Próbáljunk egy modult kompatibilis meghajtóként betölteni . Használjunk egy megfelelő SCSI meghajtóval integrált kernelt Hozzunk létre egy rendszerindító lemezt az Indítólemez létrehozása DOS alatt részben (18. oldal) leírtak szerint Az

ATAPI CD-ROM meghajtó feladja az adat olvasása során: olvassuk el Ha az ATAPI CD-ROM olvasás közben lefagy részt (22. oldal) SuSE Linux – Rendszerkézikönyv 13 Még nem ismert okokból néha probléma léphet fel mikor az adatok a memórialemezre töltődnek, és így a YaST2 nem képes elindulni. Ha ez bekövetkezik, a következő eljárás általában kielégítő eredményt hoz: Válasszuk a ‘Beállítások’ ➝ ‘Debug (Experts)’ menüt a linuxrc főmenüjében. Ott válasszuk a nem-et a ‘Root image kényszerítése’ menüben. Ez után térjünk vissza a fő menübe és indítsuk újra a telepítést A SuSE Linux indítása Miután a rendszer telepítése sikeresen befejeződött, már csak az kérdés, hogy azt hogyan fogjuk elindítani. Az alábbi fejezetben megmutatjuk, milyen lehetőségek vannak a telepített rendszer indítására. Az alkalmazandó lehetőség nagy mértékben attól függ, mire szeretnénk használni a gépet.

Indítólemez: A Linuxot indíthatjuk egy indítólemezről (angolul boot floppy). Ez a megoldás mindig működik (egészen addig, amíg az indítólemez meg nem sérül), és könnyen megoldható a YaST segítségével, ahogyan arról a Felhasználói kézikönyvben olvashatunk bőveben. Az indítólemezt létrehozhatjuk telepítés közben is. Az indítólemez akkor is ajánlott, ha meg akarjuk tartani a meglévő rendszertöltőt. Linuxos rendszertöltő: Általános és technikailag elegáns megoldás a rendszerindításra valamilyen rendszertöltő alkalmazása, például a GRUB (GRand Unified Bootloader) vagy a LILO (LInux LOader). A rendszertöltő lehetővé teszi, hogy a számítógép bekapcsolása után a telepített operációs renszerek közül kiválasszuk azt, amelyet indítani szeretnénk. A rendszertöltőt akár telepítéskor, akár később a YaST segítségével is beállíthatjuk. Figyelem Vannak BIOS változatok, melyek ellenőrzik a boot szektor

állapotát (MBR), és a LILO telepítését „vírusfigyelmeztetés” hibaüzenettel jelzik. Ez a probléma könnyen elhárítható, ha a BIOS-ban kikapcsoljuk a megfelelő beállításokat, például ki kell kapcsolnunk a ´vírus védelmet´ (angolul virus protection). Később visszakapcsolhatjuk ezt az opciót, bár ez a lehetőség felesleges, ha a Linux az egyedüli operációs rendszer, amit használunk. Figyelem 14 A SuSE Linux indítása A grafikus SuSE képernyő A SuSE Linux 7.2-től kezdődően a grafikus SuSE képernyő (splash) jelenik meg az első konzolon, amennyiben a ”vga=<érték>” opciót rendszermag paraméterként megadjuk. Ha a YaST-ot használjuk a telepítéshez, ez az opció a kiválasztott felbontástól függően automatikusan kerül beállításra. A SuSE képernyő kikapcsolása 1 A rendszer telepítése A különböző indítási módszerek részletes tárgyalása, elsősorban a GRUB és a LILO megtalálható a

Rendszertöltés és rendszertöltő programok fejezetben (73. oldal) Alapvetően három lehetőség létezik a SuSE képernyő kikapcsolására: A SuSE képernyő kikapcsolása szükség szerint: Adjuk meg a meggyfa:˜ # echo 0 >/proc/splash parancsot a grafikus képernyő kikapcsolására. A visszakapcsolásra adjuk meg a meggyfa:˜ # echo 0x0f01 >/proc/splash parancsot. A SuSE képernyő kikapcsolása alapértelmezetten: Adjuk hozzá a splash=0 rendszermag-paramétert a rendszertöltő beállításunkhoz. Arról, hogy ezt hogyan tehetjük meg a Rendszertöltés és rendszertöltő programok fejezetben (73. oldal) találhatunk bővebb leírást Ha mindenképpen ragaszkodunk a régi szöveges módhoz (amely alapértelmezett volt a régebbi verziókban), akkor az alábbi paramétert használjuk: ”vga=normal” A SuSE képernyő teljes kikapcsolásához: Fordítsunk egy új rendszermagot miután kikapcsoltuk a ‘Use splash screen instead of boot logo’ opciót a

rendszermag konfigurátor ‘Framebuffer support’ menüjében. SuSE Linux – Rendszerkézikönyv 15 Tipp A frame buffer támogatás eltávolítása a rendszermagból automatikusan ki fogja kapcsolni a splash képernyőt is. Ne felejtsük el azonban, hogy a SuSE nem nyújt terméktámogatást a rendszerhez, ha saját fordítású rendszermaggal futtatjuk azt! Tipp Különleges esetek Telepítés támogatott CD-ROM meghajtó nélkül Mit csináljunk, ha a telepítés a CD-ROM meghajtóról nem lehetséges? Ha például a CD-ROM meghajtónk egy nem támogatott, régebbi „speciális” típus? Vagy olyan a gépünk (például egy noteszgép), aminek talán nincs is CD-ROM meghajtója, viszont van ethernet adaptere vagy PLIP kábele. A SuSE Linux lehetőséget ad a rendszertelepítésre olyan gépen is, aminek nincs támogatott CD-ROM meghajtója: hálózati kapcsolaton át NFS vagy FTP protokollal, valamint ethernet kártyával vagy PLIP-pel (lásd a Telepítés

hálózaton lévő forrásról fejezet). Telepítés hálózaton lévő forrásról A hálózaton keresztüli telepítésre nem tér ki a 90 napos telepítési segítség. Ezért ezt csak gyakorlott számítógép felhasználóknak ajánljuk! Miről is van szó? Nincs CD-ROM beépítve abba a gépbe, ahová a Linuxot akarjuk telepíteni, viszont kapcsolódni tudunk egy távoli géphez, amin van CD-ROM, vagy amelynek a merevlemezére a CD-t már felmásoltuk hálózaton keresztül. Fel kell másolni az összes fájlt a CD-ROM /suse könyvtárából, valamint a (.SuSE-disk*) fájlt a merevlemezre. Linux alatt ez például a következőképpen oldható meg: 16 meggyfa:~ # cp /media/cdrom/.S* /home/jancsi/inst meggyfa:~ # cp -a /media/cdrom/suse /home/jancsi/inst Különleges esetek 1 Tipp Alternatívaként megtehető, hogy mentőrendszert (rescue system) indítunk a távoli gépen, és itt kiajánljuk az első CD tartalmát. Tipp Lépésről lépésre A rendszer

telepítése A másik számítógépnek ki kell ajánlania (export) ezt a könyvtárat megfelelő módon. 1. Kezdjük meg a kliens telepítését a Szöveges telepítés YaST2 segítségével fejezetben (8. oldal) leírtak szerint 2. Folytassuk a telepítést az Az alapok: linuxrc fejezetben (9 oldal) ismertetett módszerrel, de: Amikor a ‘Rendszermag modulok (hardver meghajtók)’ következik, válasszuk a ‘Hálózati kártyák (Networking cards)’-ot, és töltsük be a szükséges meghajtót. Ez nem szükséges, ha PLIP-en keresztül telepítünk. Amikor a linuxrc felszólít, hogy határozzuk meg a ‘Forrásmédium’ot, a ‘Hálózat (NFS)’-t kell választanunk, és az elérhető menükkel kell beállítanunk a hálózatot. Másik lehetőség az FTP-n keresztüli telepítés. 3. Fejezzük be a telepítést az A rendszer telepítése fejezet alapján (7 oldal) Lehetséges problémák A telepítés megszakad, mielőtt valójában elkezdődne, mert a másik gépen a

telepítési könyvtár nem exec engedélyezéssel lett kiajánlva. Javítsuk ki ezt és kezdjük újra. A szerver nem ismeri a gépet, amelyre a SuSE Linux telepítve lesz. Adjuk meg az új, telepítésre kerülő gép nevét és IP címét a szerver /etc/hosts fájljában. SuSE Linux – Rendszerkézikönyv 17 Tippek és trükkök Indítólemez létrehozása DOS alatt Feltételek Szükségünk van egy formázott 3,5"-os mágneslemezre (floppy disk) és egy indítható 3,5"-os meghajtóra (floppy drive). Alapvető információk Az első CD /boot könyvtárában több rendszer-képmásfájl is található. Egy ilyen képmás átmásolható hajlékonylemezre a megfelelő kiegészítő programokkal; ezt a lemezt hívjuk azután indítólemeznek. Szintén ezen a képmásfájlokon található a Syslinux rendszertöltő és a linuxrc program. A Syslinux lehetővé teszi, hogy kiválasszunk egy rendszermagot az indítási eljáráshoz, és megadjunk paramétereket

hardverünk számára, ha szükséges. A linuxrc program támogatja a különleges, hardverfüggő rendszermag-modulok betöltését a hardverünkhöz, és azután elindítja a telepítést. Indítólemez készítése a rawrite-tal A legegyszerűbb módja az indítólemez elkészítésének a rawrite.exe DOSprogram, mely az első CD-n lévő dosutils awrite könyvtárban található Mivel DOS programról van szó, szükségünk van egy DOS (például a SuSE Linuxban is található FreeDOS) vagy egy Windows rendszerre. Windows esetében a szükséges lépések az alábbiak: 1. Helyezzük be az első SuSE Linux CD-t 2. Nyissunk egy DOS ablakot (a Start menü ‘Programok’ ➝ ‘MS-DOS Parancssor’ bejegyzésével). 3. Indítsuk el a rawriteexe alkalmazást a helyes útvonal megadásával A következő példa azt feltételezi, hogy a CD meghajtó a D: betűjelet kapta: C:Windows> d:dosutils awrite awrite 4. A program indítása után bekéri a másolandó fájl forrását

és célját A képmás az első CD /boot könyvtárában található, bootdisk néven. Ne felejtsük el megadni a CD meghajtó betűjelét. C:Windows> d:dosutils awrite awrite 18 Tippek és trükkök Ilyen módon más képmásokat is hajlékonylemezre írhatunk, például készíthetünk modules1 vagy modules2 lemezt. Ezekre szükségünk lehet, ha a telepítés során egy USB illetve SCSI eszközt vagy hálózati kártyát kívánunk használni. Modullemezre akkor is lehet szükségünk, ha már a telepítés közben szeretnénk egy különleges fájlrendszert használni. Indítólemez készítése Linux/UNIX alatt 1 A rendszer telepítése RaWrite 1.2 -- Write disk file to raw floppy diskette Enter source file name: d:ootootdisk Enter destination drive: a: Feltételek Szükségünk van egy Unix/Linux rendszerre (amin elérhető a CD-ROM meghajtó), valamint egy nem hibás(!) hajlékonylemezre. Az alábbi módon hozzuk létre az indítólemezt: 1. Amennyiben meg

kell formáznunk a lemezt: meggyfa:~ # fdformat /dev/fd0u1440 2. Csatoljuk az első CD-t például /media/cdrom alá: meggyfa:~ # mount -t iso9660 /dev/cdrom /media/cdrom 3. Váltsunk a CD boot alkönyvtárába: meggyfa:~ # cd /media/cdrom/boot 4. Hozzuk létre az indítólemezt: meggyfa:~ # bs=8k dd if=/media/cdrom/boot/bootdisk of=/dev/fd0 A boot könyvtárban lévő README illetve README.DOS fájlban olvashatunk arról, hogy milyen tulajdonságai vannak az egyes rendszermagoknak. Ezeket a fájlokat a more illetve a less paranccsal tekinthetjük meg. Ilyen módon más képmásokat is hajlékonylemezre írhatunk, például készíthetünk modules1 vagy modules2 lemezt. Ezekre szükségünk lehet, ha a telepítés során egy USB illetve SCSI eszközt vagy hálózati kártyát kívánunk SuSE Linux – Rendszerkézikönyv 19 használni. Modullemezre akkor is lehet szükségünk, ha már a telepítés közben szeretnénk egy különleges fájlrendszert használni.

Valamivel bonyolultabb a helyzet, ha saját fordítású rendszermagot használunk a telepítés során. Ebben az esetben írjuk az alapértelmezett képmást (bootdisk) a lemezre, és utána írjuk felül az aktuális rendszermagot (linux) a saját rendszermagunkkal (lásd még az A rendszermag fordítása fejezetet (292. oldal)): meggyfa:~ # dd if=/media/cdrom/boot/scsi01 of=/dev/fd0 bs=8k meggyfa:~ # mount -t msdos /dev/fd0 /mnt meggyfa:~ # cp /media/cdrom/suse/images/eide.ikr /mnt/linux meggyfa:~ # umount /mnt Indítás hajlékonylemezről (SYSLINUX) Az indítólemezes módszert kisegítő megoldásként használhatjuk, ha valamilyen speciális telepítési körülménnyel kell számolnunk (pl. a CD-ROM meghajtó nem elérhető). Egy hagyományos indítólemez elkészítéséhez olvassuk el az Indítólemez létrehozása DOS alatt (18. oldal) és az Indítólemez készítése Linux/UNIX alatt bekezdéseket (előző oldal). Az indító eljárást a SYSLINUX

rendszertöltő (syslinux csomag) kezdeményezi. A SYSLINUX úgy van beállítva, hogy az indításkor néhány minimális hardver felismerést hajt végre. Alapvetően ez az alábbi lépésekből áll: Ellenőrzi, vajon a BIOS nyújt-e VESA 2.0-nak megfelelő frame buffertámogatást, és meggyőződik arról, hogy a rendszermag is e szerint töltődött-e be. Kiolvassa az elérhető monitorinformációt (DDC info). Kiolvassa az első merevlemez első szektorát („MBR”), hogy előkészítse a későbbi LILO-beállítást, ahol a BIOS azonosítók (ID) a Linux eszköznévhez lesznek rendelve. Ebbe a tesztbe beletartozik a szektorbeolvasás a BIOS lba32 függvényének használatával, hogy megállapítsa, vajon a BIOS támogatja-e a megfelelő tulajdonságokat. 20 Tippek és trükkök 1 Tipp  A hibakeresés megkönnyítésére hozzáadhatjuk a syslinux.cfg fájlunkhoz a verbose 1 sort, mert ekkor a rendszertöltő kiírja, melyik lépést hajtotta már

végre. Tipp Lehetséges problémák A rendszer telepítése  Ha a  Shift  gombot lenyomva tartjuk, mialatt a SYSLINUX elindul, az az összes fenti lépést átlépi. Amennyiben a számítógép nem indul el CD-ről, elsőként ellenőrizzük, hogy a BIOS-ban be van-e állítva a következő indítási sorrend: A,C,CDROM Indítás a második CD-ről Nem csak az első SuSE Linux CD indítható, hanem a második CD is. Amíg az első CD-n a teljes képmás indítható, addig a második CD egy 2,88 megabájtos indítóképmáson keresztül indítható. A második CD-t akkor kell használnunk, ha biztosak vagyunk benne, hogy a CD-ről történő indítás alapvetően működik, azonban az első CD-t nem tudjuk betölteni (ez általában kényszermegoldás). Sajnos nem minden BIOS ismeri fel helyesen a nagy indítóképmásokat. Támogatja a Linux a CD-ROM-omat? A SuSE Linux szinte minden CD-ROM meghajtót támogat. Az ATAPI meghajtók használata (ezeket a

meghajtókat csatlakoztatják az EIDE vezérlőhöz) egyáltalán nem jelenthet problémát. A SCSI CD-ROM meghajtók használata csak annyiban érdekes, hogy a Linux támogatja-e a SCSI vezérlőnket. Ha a SCSI vezérlőnket nem támogatja, és oda egy merevlemezt csatlakoztattunk, akkor különben is problémánk lesz. Sok speciális CD-ROM meghajtót támogat a Linux. Leginkább itt merülhet fel probléma Ha a meghajtónk itt nincs felsorolva, megpróbálhatunk választani egy hasonló típust. SuSE Linux – Rendszerkézikönyv 21 A SuSE Linux az USB CD-ROM-meghajtókat is támogatja a rendszerindításhoz, amennyiben a BIOS támogatja az USB-ről történő rendszerindítást. Ha nincs ilyen lehetőség, a hagyományos hajlékonylemezes megoldást kell választanunk (lásd: Indítás hajlékonylemezről (SYSLINUX) ) (20. oldal) Mielőtt egy USB meghajtórol szeretnénk indítani a gépet, mindenképpen győzödjünk róla, hogy a megfelelő eszköz be van-e

kapcsolva és csatlakoztassuk a számítógéphez. Ha az ATAPI CD-ROM olvasás közben lefagy Ha az ATAPI CD-ROM-unkat nem ismeri fel a Linux, vagy lefagy miközben olvas, akkor leginkább helytelenül telepített hardverre gyanakodhatunk. A megoldáshoz végig kell gondoljuk a CD-ROM beépítését. Minden eszközt megfelelő sorrendben kell csatlakoztatni az EIDE vezérlőre: Az első eszköz a vezérlő első csatornáján lévő master (angolul primary master), a második eszköz a vezérlő első csatornáján lévő slave (angolul primary slave). A harmadik eszköznek masternek kell lennie a vezérlő második csatornáján (angolul secondary master), valamint a negyedik eszköz slave a második csatornán (angolul secondary slave). Gyakran előfordul, hogy csak egy CD-ROM-mal rendelkezünk az első eszközként beépített merevlemezen kívül. A CD-ROM meghajtó ilyenkor gyakran csatlakozik a második IDE csatornára masterként. A Linux néha nem tud mit kezdeni

ezzel a „lyukkal”. Próbálkozhatunk a megfelelő rendszermagparaméter átadásával (hdc=cdrom), de a legjobb megoldás ilyenkor, ha mindkét eszközt ugyanarra a csatornára tesszük. Néha egy eszköz egyszerűen nem a csatlakoztatásának megfelelően van beállítva (rosszul van „jumperelve”). Ez azt jelenti például, hogy slave-ként van beállítva, de masterként van csatlakoztatva, vagy fordítva. Kétség esetén ellenőrizzük hardverünk beállítását, és javítsuk ki, ahol szükséges. Ha az indítás nem megy azonnal, akkor próbáljuk ki az alábbi rendszermagparamétereket: hdhx i=cdrom – hxi jelentése a, b, c, d stb. és az alábbiak szerint kell értelmeznünk: a – Master az első IDE csatornán (primary master) b – Slave az első IDE csatornán (primary slave) c – Master a második IDE csatornán (secondary master) . 22 Tippek és trükkök Egy példa a fenti hparaméterekrei: hdb=cdrom idehx i=noautotune – hxi jelentése 0, 1, 2,

3 stb. és az alábbiak szerint kell értelmeznünk: 0 – 1. IDE csatorna 1 – 2. IDE csatorna . Egy példa a fenti hparaméterrei: ide0=noautotune A rendszer telepítése Ezzel a paraméterrel meghatározhatjuk a CD-ROM meghajtót a rendszermag számára abban az esetben, ha nem találja meg azt magától, és ha ATAPI típusú. 1 Ez a paraméter gyakran használható (E)IDE merevlemezek esetén. Particionálás haladóknak A felhasználói kézikönyvben segítséget adtunk rendszerünk különböző módon történő particionálásához. Ez a fejezet még részletesebb információt ad arról, hogy miként alakítsunk ki egy rendszert, hogy az a legjobban megfeleljen szükségleteinknek. Ez azokat érdekelheti, akik egy adott környezetre optimalizált rendszert akarnak, ami a biztonságot és a teljesítményt is szem előtt tartja, valamint akik felkészültek a rendszer teljes újratelepítésére, ha az szükséges. Nagyon lényeges, hogy a UNIX fájlrendszer

működéséről széles körű ismeretekkel rendelkezzünk. Ismernünk kell lennünk az alábbi fogalmakat: csatolási pontok, fizikai, kiterjesztett és logikai partíciók. Meg kell említenünk, hogy nincs aranyszabály mindenre, de sok szabály létezik egyes konkrét szituációkra. Ebben a részben a partíciók méretére konkrét számokat fogunk találni segítségképpen. Először is össze kell gyűjtenünk az alábbi információkat: Mire fogjuk használni a gépet (fájlszerver, tudományos számítási módszerek számításszervere, egyedülálló gép)? Hány ember fog dolgozni a gépen (egyidőben történő bejelentkezések száma)? Hány merevlemez van telepítve? Milyen nagyok és milyen típusúak (EIDE, SCSI vagy éppen RAID vezérlősek)? SuSE Linux – Rendszerkézikönyv 23 Tipp Mindenképpen fontoljuk meg egy különálló /home partíció használatát. Ilyenkor hátrány, hogy előre (particionáláskor) meg kell húznunk a határt az

alkalmazások és a felhasználói adatok számára szánt lemezterület között. Ez napjaink diszkméreteinél talán nem olyan nagy gond, és sokkal könnyebben tudjuk fájljainkat, adatainkat megtartani, ha később a rendszert bármilyen oknál fogva újratelepítjük (például újabb változatra frissítés helyett az új változat telepítését választjuk). Tipp A cserepartíció mérete Elég gyakran azt olvashatjuk, hogy a „cserepartíció legalább akkora kell hogy legyen, mint a fizikai RAM mérete”. Ez azokból az időkből maradt ránk, amikor 8 MB még nagy mennyiségű RAM-nak számított. Azok az alkalmazások, melyeknek meglehetősen sok memória kell, kitolták a felső határt. Általában 128 MB virtuális memória (azaz RAM és cserepartíció) elegendő kell, hogy legyen. Ne legyünk fukarok Ha például rendszermagot fordítunk X alatt, és bele akarunk nézni a kézikönyvbe a Netscape-et használva, sőt még egy emacs is fut, már el is

használtuk mind a 128 MB-ot. A biztonság kedvéért legyen legalább 256 MB virtuális memóriánk. Soha nem szabad megtennünk, hogy egyáltalán nem jelölünk ki csereterületet! Még egy olyan gépben, amiben 256 MB RAM van, is szükséges cserepartíció, akkor azonban akár 64 MB is elegendő lehet. A particionálásról az A feldolgozás sebessége és a központi memória mérete bekezdésben olvashatunk bővebben (28. oldal) Tervezzük egy kiterjedt szimuláció futtatását, és szükségünk van gigabyte-nyi memóriára? Kétség esetén, hogy vajon a Linux megfelel-e szükségleteinknek, olvassuk el a Példa: Alkalmazásszerver bekezdést is (26. oldal) A gép alkalmazási területe Egyedülálló gép Annak érdekében, hogy könnyebb legyen döntenünk, alább néhány konkrét számadatot adunk meg, ami otthoni, illetve irodai használatra is megfelel. Az 1.1 táblázatban egy áttekintés látható a különböző Linux-rendszerek lemezméret-előírásairól.

Ezek az értékek csak magára a rendszerre vonatkoznak. Ne feledkezzük tehát az adatok tárhelyéről sem! 24 Particionálás haladóknak Szükséges hely a merevlemezen 300 MB-tól 500 MB-ig 500 MB-tól 1 GB-ig 1 GB-tól 4 GB-ig 4 GB-tól 8 GB-ig 1.1 táblázat: Példák különböző telepítések lemezhely-igényeire Példa: Egyedülálló gép (kicsi) Van egy 500 MB-os régi merevlemezünk a Linuxra: használjunk 64 MB-ot cserepartíciónak, a többit a /-hez (gyökérpartíciónak). 1 A rendszer telepítése Telepítés minimum kicsi közepes nagy Példa: Egyedülálló gép (átlagos) Van 2 GB helyünk a Linuxra. Egy kis indító bootpartíció (/boot, 50 MB vagy 2-3 cilinder), 1,3 GB a / számára, 128 MB cserepartíciónak, a többit egy külön /home partíciónak. Példa: Egyedülálló gép (luxus) Ha több, mint 2 GB áll rendelkezésünkre, nincs javasolt módja a particionálásnak. Olvassuk el az Optimalizálási lehetőségek fejezetet (következő

oldal) Példa: Fájlszerver Ebben az esetben a merevlemez teljesítménye valóban kritikus. Ha lehetséges, SCSI eszközt használjunk. Tartsuk szem előtt a lemez és a csatoló teljesítményét Egy fájlkiszolgálót adatok központi tárolására használnak. Ezek az adatok lehetnek felhasználók saját könyvtárai (/home, adatbázis vagy dokumentumarchívumok is. Ennek az az előnye, hogy egyszerű az adatok adminisztrálása, biztonsági mentése stb. Ha a fájlszerver egy nagyobb hálózatot fog kiszolgálni (20 felhasználónál többet), akkor lényeges a merevlemez-hozzáférés optimalizálása. Tegyük fel, hogy egy fájlkiszolgálót akarunk biztosítani 25 felhasználónak (a saját könyvtáraiknak). Ha egy átlagos felhasználónak 100–150 MB hely kell, akkor valószínűleg megteszi egy 4 GB-os partíció a /home alá csatolva. Ha 50 ilyen felhasználónk van, egy 8 GB-os lemezre lesz szükségünk. Ebben az esetben érdemesebb felosztani a /home-ot két 4

GB-os lemezre, mert ekkor megoszlik a terhelés (és csökkentjük az elérési időt is). SuSE Linux – Rendszerkézikönyv 25 Tipp Ügyeljünk azonban arra, hogy az internetböngésző gyorsítótára a helyi merevlemezen legyen. Tipp Példa: Alkalmazásszerver Az alkalmazásszerver általában egy nagyteljesítményű gép sok központi memóriával, ami kiterjedt számításokat végez a hálózaton keresztül. Egy ilyen gép rendszerint legalább 512 MB memóriával van ellátva. Az egyedüli hely, ahová gyors lemez kell, a csereterület. Ugyanez a szabály érvényes itt is: ha több merevlemezünk van, szétoszthatjuk közöttük a cserepartíciókat. Optimalizálási lehetőségek A lemezek általában teljesítmény szempontjából korlátozó tényezők. A torlódások elkerülésére három lehetőség van, amit együtt kell használnunk: osszuk el a terhelést több lemezre, használjunk optimalizált fájlrendszert (pl. reiserfs), lássuk el a

fájlszervert elég memóriával (legalább 256 MB). Lemezek párhuzamosítása Meg kell ismernünk néhány további fogalmat. A teljes időmennyiséget, ami az adatok továbbításhoz kell, öt tényezőre bonthatjuk: az eltelt idő, amíg a lekérés eléri a vezérlőt. az eltelt idő, amíg ez a lekérés a lemezhez kerül. az eltelt idő, amíg a merevlemez beállítja a fejet. az eltelt idő, amíg az eszköz a megfelelő szektorhoz fordul. az adatok továbbítására fordított idő. 26 Particionálás haladóknak Optimalizált teljesítményhez a harmadik tényezőt kell figyelembe vennünk. Itt a SCSI lekapcsolódás (disconnect) képessége jön be a játékba. Nézzük meg, mi történik: A vezérlő parancsot küld az eszköznek (ebben az esetben a merevlemeznek): „állj az n. sáv m szektorára” A lemez motorja beindul Ha ez egy intelligens lemez (ha támogatja a lekapcsolódást (disconnect)), és a meghajtó maga is képes a lekapcsolódásra, a

vezérlő küld egy lekapcsolódás-jelet, és a lemez lekapcsolódik a SCSI busztól. Így egy másik SCSI eszköz használhatja a buszt Egy idő után (a SCSI busz stratégiájától vagy terhelésétől függően) a kapcsolat az eredeti lemezzel újból felépül. Rendszerint az eszköz ekkorra már elérte a kívánt sávot. 1 A rendszer telepítése Az első tényező a hálózati kapcsolattól függ, de ezt máshol kell optimalizálni. A második tényezőt figyelmen kívül lehet hagyni; ez a vezérlőtől függ. A harmadik tényező a lényeges rész. Az időt ezredmásodpercben számoljuk A központi memória-elérési időhöz képest (amit nanoszekundumban mérünk) ez egy a millióhoz arány! A negyedik tényező a lemez fordulatszámától függ. Az ötödik tényező függ a fordulatszámtól, a fejek számától és az adatok tényleges helyétől (a lemez központjánál vagy szélénél). Egy többfeladatos, többfelhasználós rendszeren, mint

amilyen a Linux, sok optimalizálást lehet beállítani. Nézzük meg a df parancs kimenetét (lásd az 1 képernyőlistát). Filesystem /dev/sda5 /dev/sda1 /dev/sdb1 /dev/sdc1 shmfs Size 1.8G 23M 2.9G 1.9G 185M Used Avail Use% Mounted on 1.6G 201M 89% / 3.9M 17M 18% /boot 2.1G 677M 76% /usr 958M 941M 51% /usr/lib 0 184M 0% /dev/shm 1. képernyőlista: példa a df -h parancs kimenetére Milyen előnyöket hoz nekünk a párhuzamosítás? Tegyük fel, beléptünk a /usr/src könyvtárba és kiadtuk a következő parancsot: root@meggyfa:/usr/src/ > tar xzf package.tgz -C /usr/lib A fenti parancs segítségével a package.tgz csomagot kitömörítjük /usr/lib/package-be. Ehhez a burok elindítja a tar-t és a gzip-et (amelyek a /bin-ben vannak a /dev/sda lemezen). Ezután a packagetgz a /usr/srcből olvasásra kerül (a /dev/sdb lemezről) Végül a kitömörített adatokat SuSE Linux – Rendszerkézikönyv 27 a /usr/lib-be írja (a /dev/sdc lemezre).

Párhuzamosítást használva a pozícionálás és a lemez belső tárolóinak írása/olvasása egyidőben lehet aktív. Ez csak egyetlen példa; van még sok másik is. Ha ez a példa egy gyakori eljárássá válna, akkor aranyszabályként (ha van több lemez azonos sebességgel) a /usr és a /usr/lib könyvtárakat fizikailag különböző lemezekre kellene tenni. Itt a /usr-ből megközelítőleg 70% kapacitást a /usr/lib-nek kell szánni. A / könyvtárat elérhetősége miatt a /usr/lib-et tartalmazó lemezre kell tenni. Bizonyos számú SCSI lemezen felül (4–5-nél több) RAID vezérlő vásárlása válhat indokolttá, így a lemezeken a műveletek nemcsak kvázi-párhuzamosak, hanem valóban párhuzamosak lesznek, és emellett a RAID sok egyéb funkciót – mint például hibatűrést is – nyújthat. A feldolgozás sebessége és a központi memória mérete A központi memória mennyisége fontosabb a Linuxban, mint maga a processzor. Ennek egyik oka –

ha nem a fő oka – a Linux dinamikus átmeneti tároló létrehozási képessége. Itt a Linux sok trükköt használ, mint az előreolvasás (read ahead) (szektorok beolvasása előre) és a késleltetett írás (delayed write), azaz az írnivalók megőrzése, amíg elegendő mennyiség össze nem gyűlik belőle. Ez a fő oka annak, hogy miért nem szabad hirtelen lekapcsolni egy Linux gépet. E két tényező eredménye, hogy a Linux gyors, és hatékonyan használja ki a memóriát. Ehhez a témához lásd még A free parancs fejezetet (301 oldal) LVM beállítása a YaST segítségével A szakértők számára készült, de könnyen kezelhető particionáló eszköz lehetőséget nyújt arra, hogy meglévő partíciókat átméretezzünk vagy töröljünk és hogy újakat létrehozzunk. A modulon keresztül az LVM és a szoftveres RAID beállítását is érhetjük el. Tájékoztatás A particionáláshoz szükséges háttérinformációk és tippek a

Particionálás haladóknak fejezetben találhatók (23. oldal) Tájékoztatás Szokványos körülmények között a partíciókat a telepítés során határozzuk meg. Azonban ha egy második merevlemezt akarunk telepíteni helyhiány miatt, megtehetjük azt egy már működő Linux rendszerben is. Először is particionálni kell az új merevlemezt, és utána csatolnunk kell; valamint az /etc/fstab 28 LVM beállítása a YaST segítségével Legyünk óvatosak, ha át akarjuk particionálni azt a merevlemezt, amelyiken éppen dolgozunk – ez ugyan lehetséges, de a fájlrendszer műveletek után célszerű a rendszert újraindítani. Ha biztosak akarunk lenni, indítsuk a rendszert CD-ről, majd onnan particionáljuk át a merevlemezt. A ‘Szakértő’ gomb gomb alatt felbukkanó menü található, amely az alábbi lehetőségeket tartalmazza: Partíciós tábla újraolvasása: Újraolvassa a partíciós táblát a lemezről. Szükségünk lehet erre például

manuális particionálásnál szöveges konzolon. 1 A rendszer telepítése fájlba is be kell jegyeznünk adatait. Esetleg át kell másolnunk néhány adatot, hogy például az /opt partíciót átköltöztessük a régi merevlemezről az újra. Csatolási pontok beolvasása egy létező /etc/fstab fájlból: Ez csak a telepítés alatt fontos. Hasznos lehet beolvasni a régi fstab-ot a rendszerünk teljes újratelepítésénél ahelyett, hogy csak frissítenénk azt. Ebben az esetben nem szükséges kézzel megadni a csatolási pontokat. Partíciós tábla törlése: Ez teljesen felülírja a régi partíciós táblát. Hasznos lehet, ha problémánk van a nem hagyományos lemezcímkékkel. Ezt a módszert használva minden adat a merevlemezen el fog veszni. A logikai kötetkezelő (LVM) A logikai kötetkezelő (Logical Volume Manager – LVM) lehetővé teszi a partíciók rugalmas elosztását több merevlemez között. Mivel nehézkes egy futó rendszeren módosítani a

partíciókat, kifejlesztették az LVM-et. Az LVM egy virtuális kötetcsoportot (Volume Group – VG) képez az összes hozzárendelt merevlemez-területekből. A kötetcsoportokat alkotó egységeket, melyek tetszőleges merevlemezek vagy merevlemez-partíciók lehetnek, fizikai köteteknek (Physical Volume – PV) hívjuk. A PV-kből álló VG-t ezek után ugyanúgy használhatjuk, mint egy tetszőleges merevlemezt, avval a különbséggel, hogy ez a partíciók alaptulajdonságain túlmenően sokkal rugalmasabb kezelést tesz lehetővé. A VG-t, a merevlemeztől eltérően speciális utasításokkal particionálhatjuk, ami eredményeképpen úgynevezett logikai kötetek (Logical Volumes – LV) jönnek létre. A logiaki kötetek a hagyományos partíció fogalmát helyettesítik; továbbá, a merevlemez és a VG viszonyához hasonlóan, a logikai kötetek a partíciókénál sokkal rugalmasabb kezelést tesznek lehetővé. Az LVM főbb jellemzői: SuSE Linux –

Rendszerkézikönyv 29 Tetszőleges számú merevlemez ill. partíció (PV) kombinálható össze egy nagy logikai partícióba (VG). Ha egy LV (például /usr) megtelt, az megnagyobbítható a megfelelő beállítással; az adott VG-n belül. További merevlemezeket (PV-ként) illetve újonnan létrehozott LV-ket is hozzákapcsolhatunk egy futó rendszerhez, annak leállítása nélkül. Nyilván, új PV-k csatolásához menetközben cserélhető, ún. hot-swapable hardver eszközök szükségesek. Az LVM alkalmazása hasznos lehet akár komoly igénybevételnek kitett PC-k és kis szerverek esetén is. Ha növekvő adathalmazunk, adatbázisaink, MP3archívumaink vagy felhasználói könyvtáraink vannak, a logikai kötetkezelő a megfelelő eszköz, mivel lehetővé teszi, hogy nagyobb fájlrendszereink legyenek, mint amit fizikailag a merevlemez mérete korlátoz. Másik előnye az LVM-nek, hogy akár 256 LV-t is készíthetünk rajta. Tartsuk szem előtt, hogy az

LVM-et, ha közvetlen, manuális módon szeretnénk létrehozni, teljesen máshogyan kell beállítani, mint a hagyományos partíciókat. Miután azonban beállítottuk őket, ugyanúgy csatolhatjuk őket és írhatunk bele, mint egy közönséges partícióba. További, angol nyelvű információt a logikai kötetkezelő (LVM) beállításához a hivatalos LVM HOWTO-ban és egy a SuSE által elkészített dokumentumban találunk: http://tldp.org/HOWTO/LVM-HOWTO/ http://www.susecom/us/support/oracle/ LVM beállítása YaST-tal A YaST LVM beállítását, telepítés alatt az ‘Egyéni particionálás – szakértőknek’ pont kiválasztásával lehet megtenni. Ehhez a YaST2 javaslatai közül ki kell választanunk a ‘Partícinálás’ menüpontot. A megfelelő modul később a telepített rendszeren is található ‘Particionálás’ név alatt, a YaST1 vezérlőközpont ‘Rendszer’ menüjében. Ahhoz, hogy egyáltalán használhassuk az LVM-et létre kell hoznunk

egy megfelelő, ‘0x8e Linux LVM’ típusú partíciót. Particionálás az LVM segítségével Egy új LVM eszköz létrehozásához, nyomjuk meg az ‘LVM.’ gombot A megjelenő párbeszédablak szerkeszthetjük a meglévő partíciókat. Egy új LVM 30 A logikai kötetkezelő (LVM) 1 A rendszer telepítése 1.5 ábra: YaST2: LVM partíciók beállítása partíció létrehozásához nyomjuk meg a ‘Hozzáadás’ gombot és válasszuk ki a Linux LVM, 8E típust. Tipp Logikai kötetek átpartícionálása A fizikai kötet elején különböző információk a kötetről találhatók. A fizikai kötet így „tudja”, hogy melyik kötetcsoporthoz tartozik. Ha újonnan szeretnénk particionálni, érdemes a kötetek elejét törölni. Feltételezve, hogy a kötetcsoport neve „system” és a fizikai kötet a /dev/sda2, az alábbi paranccsal tehetjük ezt meg: dd if=/dev/zero of=/dev/sda2 bs=512 count=1 Tipp Nem kell azonban minden egyes LVM partíciónal

beállítanunk annak típusát. Ha egy partíciót hozzárendelünk egy LVM kötetcsoporthoz, akkor a YaST automatikusan beállítja annak típusát 8E-re. Ha a merevlemezünk még van szabad hely, akkor célszerű azt is LVM-re, 8E típusúra beállítani. így később könnyebb az egyes kötetek bővítése, átméretezése. Formázni azonban nem kell őket és csatolási pontot sem kell beállítanunk. Ha már van működő LVM-beállítás a rendszerünkön, akkor az automatikusan aktiválódik, amint elkezdjük az LVM beállítását. Ha ez sikeresen aktiválódott, semelyik lemezt, amely aktivált kötetcsoport partíciót tartalmaz, már nem lehet SuSE Linux – Rendszerkézikönyv 31 1.6 ábra: YaST2: LVM partíció létrehozása újraparticionálni. A Linux rendszermag vissza fogja utasítani a módosított merevlemez partíciójának beolvasását addig, amíg akár egy partíció is használatban van ezen a lemezen. Természetesen egyáltalán nem probléma

újraparticionálni azt a lemezt, amely nem tartozik egy LVM kötetcsoporthoz sem. Ha már van működő LVM-beállítás a rendszerünkön, az újraparticionálás rendszerint nem szükséges. Ezen a képernyőn most be kell állítanunk az összes csatolási pontot, amely nem az LVM logikai köteten található. Legalább a gyökér fájlrendszert hagyományos partíción kell tárolnunk; erre nem használhatjuk az LVM-et. Válasszuk ki ezt a partíciót a listáról, és jelöljük ki ezt gyökér fájlrendszernek a ‘Szerkesztés’ gombbal. Miután meghatároztuk a gyökér partíciót, kiléphetünk ebből a párbeszédablakból. Az LVM kitűnő rugalmassága miatt azt javasoljuk, hogy a gyökérpartíción kívül minden fájlrendszert LVM-en hozzunk létre. Fizikai kötetek beállítása Ez a párbeszédablak felelős az LVM kötetcsoportok (VG) kezeléséért. Ha nincs még kötetcsoport a rendszerünkön, egy feljövő párbeszédablakot kapunk, mely felszólít,

hogy hozzunk egyet létre. A system a kötetcsoport alapértelmezett neve. A fizikai egység mérete (Physical Extent – PE) meghatározza a fizikai és a logikai kötet maximális méretét ebben a kötetcsoportban. Ez a méret alapértelmezett esetben 4 megabájtra van beállítva. Ez maximálisan 256 gigabyte méretet tesz lehetővé a fizikai és logikai kötetek számára. A fizikai egység méretet ezért csak akkor kell megnövelnünk (például 8, 16 vagy 32 megabájtra), ha 256 gigabájtnál nagyobb logikai kötetekre van szükségünk. 32 A logikai kötetkezelő (LVM) 1 A rendszer telepítése 1.7 ábra: YaST2: LVM: kötetcsoport hozzáadása A következő párbeszédablakban (1.5 ábra) az összes partíció megjelenik, amely vagy Linux LVM vagy Linux native típusú. Ha egy partíció már kötetcsoportnak van kijelölve, a kötetcsoport neve látható lesz a listán. A ki nem jelölt partíciókat a -- jel jelöli. Egy partíció hozzáadásához jelöljük ki

azt, majd nyomjuk meg a ‘Kötet hozzáadása’ gombot. A jelenleg szerkesztendő kötetcsoportot módosíthatjuk a kijelölő mezőben balra fent. A jobb felső gombokkal hozhatunk létre további kötetcsoportokat vagy törölhetünk meglévő kötetcsoportokat. Minden esetben csak olyan kötetcsoportok törölhetők, amelyekhez nincs más partíció kijelölve. Egy kötetcsoport létrehozása mindenképpen szükséges az LVM számára; többre általában nincs is szükség. Egy olyan partíciót, amit hozzárendeltünk egy kötetcsoporthoz, fizikai kötetnek nevezzük (rövidítve: PV). Miután hozzáadtuk a partíciót, a kötetcsoport neve megjelenik a kiválasztott partíció mellett. Az összes LVM számára félretett partíciót egy kötetcsoportnak kell kijelölnünk, különben a hely a partíción kihasználatlan marad, azaz hiába hoztuk létre. Mielőtt elhagyjuk ezt a párbeszédablakot, rendeljük tehát minden partíciót legalább egy kötetcsoporthoz.

Miután hozzáadtuk a megfelelő kötet(ek)et, nyomjuk meg a ‘Következő’ gombot. Egy kötetcsoporthoz kijelölt partícióra úgy is hivatkozunk, mint egy fizikai kötet (PV). Egy korábban ki nem jelölt partíciót a kiválasztott kötetcsoporthoz hozzáadni úgy tudunk, hogy először rákattintunk a partícióra, majd a ‘Kötet hozzáadása’ gombra lejjebb, a kiválasztási listán. SuSE Linux – Rendszerkézikönyv 33 1.8 ábra: YaST2: Áttekintés a meglévő partíciókról Logikai kötetek létrehozása Az 1.9 ábrán (következő oldal) látható párbeszédablakban létrehozhatjuk és szerkeszthetjük logikai köteteinket (LV). Ez a párbeszédablak nagyon hasonlít az 1.5 ábrán látható párbeszédablakra (31. oldal), csak hogy itt nem partíciókat, hanem logikai köteteket hozunk létre Az összes Linux partíció, amelyhez csatolási pontot jelöltünk ki, az összes cserepartíció és az összes létező logikai kötet megjelenik itt a

listán. Ha első alkalommal állítunk be LVM-et a rendszerünkön, még nem fog megjelenni logikai kötet ezen a képernyőn. Itt is egy adott típusú fájlrendszert hozunk létre (például reiserfs, ext2), és csatolási pontot jelölhetünk ki számára. A fájlok, amelyeket a logikai köteten tárolunk, a telepített rendszerben ennél a csatolási pontnál találhatók majd meg. Ha már van beállított LVM a rendszerünkön, a létező logikai köteteket most kell megadnunk; de mielőtt folytatnánk, ki kell jelölnünk a megfelelő csatolási pontot ezekhez a logikai kötetekhez. Egy új logikai kötet létrehozásához nyomjuk meg a ‘Hozzáadás’ gombot, madj adjuk meg a kötet nevét, méretet, a fájlrendszer típusát (például reiserfs vagy ext2) és a csatolási pontját, ahogyan azt az 1.10 ábrán láthatjuk (36 oldal) 34 A logikai kötetkezelő (LVM) 1 A rendszer telepítése 1.9 ábra: YaST2: Logikai kötetek kezelése Tájékoztatás Fontos, hogy

megkülönböztessük a logikai kötet nevét a csatolási pontjától. Ahol a csatolási pontnak egy / jellel kell kezdenie, a kötet nevének nem szabad per jelet tartalmaznia. Rendszerint az a legjobb megoldás, ha a neve megegyezik a csatolási pontjával, azonban per jel nélkül legyen! Tájékoztatás Ha több kötetcsoportot hoztunk létre, átkapcsolhatunk a különböző kötetcsoportok között a kiválasztási listában fent és baloldalt. A hozzáadott logikai kötetek megjelennek a kötetcsoport itt látható listájában. Amint létrehoztuk az összes logikai kötetet az előírás szerint, nyomjuk meg a ‘Következő’ illetve az ‘Alkalmazás’ gombot. Ezt követően a YaST2 létrehozza LVM rendszerünket és folytathatjuk a telepítést. Figyelem Az LVM használata nagyobb kockázattal járhat. Ha például egy átméretezés vagy átrendezés közben áramszünet miatt vagy egy hibás program miatt leáll a rendszer, adatvesztéssel kell számítanunk.

Emiatt (is) fontos, hogy az LVM szerkesztése előtt biztonsági mentést készítsünk legfontosabb adatainkról! Figyelem SuSE Linux – Rendszerkézikönyv 35 1.10 ábra: YaST2: LVM: logikai kötetek létrehozása Szoftver RAID A RAID (Redundant Array of Independent Disks) célja, hogy összekapcsoljon több merevlemezt vagy partíciót egy nagyobb virtuális merevlemezzé a teljesítmény optimalizálása és az adatbiztonság végett. Ezt a módszert használva azonban egy előnyt mindig feláldozunk egy másikért. Azt, hogy ez az áldozat mily módon történjen, a RAID szintjével (RAID level) jellemezhető. A merevlemezek együttes, adott RAID szintnek megfelelő kezelését az ún. RAID vezérlő végzi. A „RAID level” meghatározza a poolt és a közös indítóeszközt (triggering device) az összes merevlemezre, amit RAID vezérlőként ismerünk. A RAID vezérlő legtöbbször SCSI protokollt használ, mivel ez több merevlemezt tud egyszerre

meghajtani, mint az IDE protokoll. Ez hatékonyabban tudja feldolgozni a párhuzamosan futó parancsokat is. A hardveren alapuló RAID vezérlő helyett, amely gyakran igen sokba kerülhet, a szoftver RAID is képes ellátni ezeket a feladatokat. A SuSE Linux felajánlja nekünk a lehetőséget, hogy több merevlemezt kombináljunk egy szoftver RAID rendszerré a YaST2-vel – ez egy nagyon kedvező alternatívája a hardver RAIDnek. 36 Szoftver RAID 1 Szokványos RAID szintek RAID 1 Ez a szint több, mint elegendő biztonsági mentést nyújt adatainknak, mivel az adatokat 1:1-ben átmásolja egy másik merevlemezre. Ez a módszer merevlemez tükrözés (angolul mirroring) néven is ismert. Ilyen esetben, ha egy lemez megsemmisül, a másolat megtalálható egy másik merevlemezen. Az összes lemez megsérülhet egy kivételével anélkül, hogy a kiesés veszélyeztetné adatainkat. RAID 1 esetén az írási teljesítmény egy kicsit lelassul az állandó másolások

miatt (10–20 %-kal lassabb), de épp ezért az olvasási hozzáférés lényegesen gyorsabb egy szokványos fizikai merevlemezhez képest, mivel az adatok többszörösen vannak jelen, és így párhuzamosan olvashatók be. A rendszer telepítése RAID 0 Ez a szint megemeli az adatokhoz való hozzáférés teljesítményét. Valójában nem valódi RAID, mivel nem redundáns, de a RAID 0 név használatossá vált az ilyen típusú rendszerek esetén. A RAID 0-val két merevlemezt tesznek közössé egymással. Ezt angolul striping (csíkozás) néven is illetik. A teljesítmény nagyon jó – azonban a teljes RAID rendszer azonnal működésképtelenné válik és az adataink elvesznek, ha akár egyik merevlemezünk is meghibásodik. RAID 5 A RAID 5 egy optimalizált kompromisszum a két fenti szint között a teljesítmény és a redundancia tekintetében. A merevlemez-kapacitás egyenlő a használt lemezek száma mínusz eggyel. Az adatok elosztódnak a lemezek között,

akár a RAID 0-nál. Paritás blokkok létesülnek minden egyes partíción. Ezek egymással egy XOR logikai függvénnyel kapcsolódnak – így lehetővé válik a tartalom visszaállítása a XORon át a vonatkozó blokkok segítségével, a rendszer meghibásodása esetén. Ne felejtsük el, hogy a RAID 5 egyszerre csak egy merevlemez meghibásodását viseli el. Ha tehát egy lemez meghibásodik, azt a lehető leggyorsabban helyettesítenünk kell, hogy megmentsük adatainkat. Szoftver RAID beállítása YaST-tal A ‘Rendszer’ menüpont alatti ‘Particionálás’ modulban, illetve a ‘Hardver’ menüpontban a ‘RAID’ modulon át érhetjük el a szoftver RAID beállítást. Első lépés: particionálás Látni fogunk egy listát a partícióinkról a ‘Szakértői beállítások’ alatt a particionálási eszközökben. Ha a szoftver RAID partíciók már be vannak állítva, azok meg fognak jelenni itt, különben be kell állítanunk azokat elölről. A RAID

0-hoz és RAID 1-hez legalább két partícióra lesz szükségünk – SuSE Linux – Rendszerkézikönyv 37 rendszerint a RAID 1-hez pontosan kettő és nem több. Másrészről, ha RAID 5-öt használunk, legalább három partícióra lesz szükségünk. Javasolt, hogy azonos méretű partíciókat válasszunk. A RAID partíciókat különböző merevlemezeken kell tárolnunk, hogy bebiztosítsuk magunkat az adatvesztés veszélye ellen, ha egy meghibásodik (RAID 1 és RAID 5 esetén), valamint, azért, hogy optimalizáljuk a teljesítményt (RAID 0 esetén). Második lépés: a RAID beállítása Kattintsunk a ‘RAID’-re, és egy párbeszédablak fog megjelenni, ahol választhatunk a RAID szintek között (0, 1 és 5). A következő képernyőn lehetőségünk lesz kijelölni a partíciót az új RAID-nek. A ‘Szakértői opciók’ gomb megnyitja a beállítási opciókat a „chunk méret”-re – itt lehet finomhangolni a teljesítményt. A ‘perzisztens

szuperblokk’ jelölőmezőre kattintva biztosíthatjuk, hogy a RAID partíciók felismerésre kerüljenek, amikor indítjuk a rendszert. Miután a RAID beállítások ablakában befejeztük a konfigurációt, a particionálás modul szakértői ablakában megjelenik a /dev/mdX eszköz is, ahol X=0,1,2,ldots. Hibakeresés A /proc/mdstats fájl tartalmából megtudhatjuk, hogy egy RAID partíció hibás-e. Az első teendő rendszermeghibásodás esetén a Linux rendszer azonnali leállítása, majd a hibás merevlemez lecserélése egy újra, amelyet azonosan particionáltunk. Ezután újraindíthatjuk a rendszerünket és kiadjuk az alábbi parancsot: raidhotadd /dev/mdX /dev/sdX (IDE esetén értelemszerűen sdX helyett hdX-et kell írni). Ez lehetővé teszi a merevlemez automatikus beillesztését a RAID rendszerbe, valamint a teljes helyreállítást. További részletek erről az alábbi HOWTO-kban találhatók: /usr/share/doc/packages/raidtools/Software-RAID-HOWTO.html

http://www.LinuxDocorg/HOWTO/Software-RAID-HOWTOhtml vagy a Linux RAID levelező listán, http://www.mail-archivecom/linux-raid@vgerrutgersedu LVM és szoftver RAID együttes használata A két, fent leírt technológiát együttesen is használhatjuk, mivel egymást kiegészítő szolgáltatásokat kínálnak. Logikus módon, ilyenkor a szoftver RAID által létrehozott /dev/mdX eszközökön létrehozott partíciókból kell felépítenünk a logikai kötetcsoportokat. 38 LVM és szoftver RAID együttes használata 2 A SuSE Linux lehetővé teszi rendszerünk frissítését anélkül, hogy azt újra kellene telepíteni. Kétféle frissítés lehetséges: egyedi csomagok frissítése illetve a teljes rendszer frissítése. Csomagokat kézzel is telepíthetünk az RPM csomagkezelővel. A SuSE Linux frissítése . Frissítés verzióról verzióra . RPM – a csomagkezelő . 40 46 52 Rendszerfrissítés és

csomagkezelés Rendszerfrissítés és csomagkezelés A SuSE Linux frissítése A szoftverek újabb változatai általában valamivel nagyobb méretűek a régieknél. Ezért frissítés előtt nézzük meg például a df paranccsal, hogy vane elég hely a partíción az új fájlok számára Ha úgy gondoljuk, hogy túl kevés a rendelkezésre álló hely, készítsünk biztonsági másolatot, és particionáljuk újra merevlemezünket. Nincs örök érvényű szabály arra, hogy mennyi hely szükséges az egyes esetekben. Tájékoztatás Hasznos elolvasnunk a README vagy a README.DOS fájlt a CD-ről; ezekben további változtatásokról szerezhetünk tudomást, melyek a könyv nyomdába adása után jelentek meg. Tájékoztatás Előkészületek Mielőtt megkezdjük a frissítést, győződjünk meg róla, hogy megőriztüke régi konfigurációs fájljainkat külön médiumon, pl. szalagon, hordozható meghajtón, hajlékonylemezen vagy ZIP-meghajtón. Ezek

rendszerint az /etc és a /var/lib. Célszerű biztonsági másolatot készíteni a felhasználók adatait tartalmazó /home könyvtárról is. A mentést root-ként végezzük, mert bizonyos fájlok csak rendszergazdai jogosultsággal olvashatók. Mielőtt megkezdjük a frissítést, írjuk fel a gyökér partíciónk eszközének nevét. Ezt a meggyfa:~ # df / paranccsal tudjuk a legegyszerűbben kideríteni, például a 2. képernyőlistában látható példában ez /dev/hda7. Filesystem /dev/hda1 /dev/hda7 /dev/hda5 Size 1.9G 3.0G 15M Used Avail Use% Mounted on 189M 1.7G 10% /dos 1.1G 17G 38% / 2.4M 12M 17% /boot 2. képernyőlista: A df -h kimenete A fenti lista azt mutatja, hogy a /dev/hda7 eszköz csatolva van a fájlrendszerbe, a / alá. 40 A SuSE Linux frissítése 2 Lehetséges problémák Frissítés YaST2-vel Az Előkészületek fejezetben említett előkészületek után újra kell indítanunk a rendszert. 1. Indítsuk el a telepítést úgy, ahogyan az

első telepítésnél tettük, és válasszuk a ‘Meglévő rendszer frissítése’ opciót a YaST2-ben a nyelv kiválasztása után. Rendszerfrissítés és csomagkezelés PostgreSQL Mielőtt frissítjük a PostgreSQL-t (postgres csomag), javasoljuk, hogy mentsük az adatbázist (lásd man pg dump). Erre természetesen csak akkor van szükség, ha a PostgreSQL-t előzőleg is használtuk. 2.1 ábra: A rendszer frissítése 2. A YaST ilyenkor ki próbálja deríteni, hogy egynél több gyökérpartíció van-e a a gépen. Ha csak egyet talál, akkor a 3 bekezdés alapján folytatja munkáját. Ha több gyökérpartíció létezik, nekünk kell kiválasztanunk a megfelelő partíciót a rendszer frissítéséhez, majd meg kell nyomnunk a ‘Következő’ gombot. ( az Előkészületek a (előző oldal)latt található példánál a /dev/hda7 van kiválasztva). A YaST beolvassa a „régi” fstab fájlt, mely a megadott gyökérkönyvtárban található, hogy elemezni

és csatolni tudja az ott bejegyzett fájlrendszereket. SuSE Linux – Rendszerkézikönyv 41 2.2 ábra: Gyökérpartíció kiválasztása 3. Ezt követően lehetőségünk van arra, hogy biztonsági mentést készítsünk a legfontosabb rendszerfájlokról. Ezzel a biztonsági mentéssel jóval tovább tart a frissítés. Használata azonban mindenképpen ajánlott, ha nincs friss mentésünk a rendszerről. 4. A következő párbeszédablakban meg tudjuk határozni, hogy csak a telepített csomagok kerüljenek frissítésre, vagy olyan új csomagokat is szeretnénk hozzáadni, melyek a jelenlegi rendszerben nincsenek telepítve. Az adott javaslaton (pl ‘Alapértelmezett rendszer’ lehetőleg ne módosítsunk. Ha később más csomagokat is akarunk telepíteni, bármikor megtehetjük azt a YaST segítségével. A frissítés illetve telepítés további lépéseiről a Felhasználói kézikönyvben olvashatunk bővebben. 42 A SuSE Linux frissítése 2

Rendszerfrissítés és csomagkezelés 2.3 ábra: Biztonsági másolat a rendszerfájlokról Frissítés manuálisan Az alaprendszer frissítése Mivel a rendszer központi elemei, a függvénytárak is cserélésre kerülnek az alaprendszer frissítésekor, ez a feladat nem végezhető el egy éppen futó Linux rendszerből. Ekkor el kell indítanunk a frissítő környezetet – ez rendszerint indító CD-vel vagy lemezzel történik. Ha kézzel kívánunk módosítani a frissítés folyamatán, vagy a YaST2 szöveges (ncurses) felületét szeretnénk használni, használjuk a Szöveges telepítés YaST2 segítségével fejezetben (8. oldal) leírtakat Lényegében a következő lépések szükségesek: 1. Amint a rendszermag elindult, a linuxrc is automatikusan elindul 2. A linuxrc főmenüjében, a ‘Beállítások’ menü alatt ki kell választanunk a telepítés nyelvét és a billentyűzetet, majd végezetül megnyomni az ‘OK’-t. SuSE Linux –

Rendszerkézikönyv 43 2.4 ábra: A rendszer frissítése 3. Győződjünk meg róla, hogy betöltöttük-e az összes szükséges meghajtót a ‘Rendszermag modulok’ kiválasztásával. A pontos eljárás a linuxrc-ben van megadva, amint azt a Modulok betöltése fejezetben (309. oldal) leírtuk 4. Ezek után válasszuk ki a ‘Telepítés / Rendszerindítás’ menüpontot A ‘Telepítés indítása’ menüpont választása után ki kell választanunk a forrásmédiumot (lásd Telepítés megkezdése / rendszerindítás). 5. A linuxrc ezek után betölti a telepítési környezetet és a YaST2 automatikusan elindul A YaST2 főmenüjében a ‘Meglévő rendszer frissítése’ menüpontot válasszuk ki. A YaST2 megpróbálja meghatározni a gyökérpartíciót, és kilistázza az eredményt. Kiválaszthatjuk a gyökérpartíciót, ahogyan fentebb már említettük (pl. /dev/sha7) A YaST2 ekkor beolvassa a régi /etc/fstab-ot, és annak alapján csatolja a

partíciókat. Itt kérhetjük a rendszerfájlok biztonsági mentését 44 A SuSE Linux frissítése Egy figyelmeztető ablak következik: Válasszuk az ‘Igen’-t a telepítés megkezdéséhez. Először az RPM adatbázis ellenőrzése és az alap rendszercsomagok frissítése történik meg. A YaST2 automatikusan mentést készít azon konfigurációs fájlokról, melyek a telepítés óta megváltoztak. Továbbá, a régi fájlok rpmorig illetve .rpmsave kiterjesztéssel is megtalálhatók lesznek (lásd a Csomagok kezelése: telepítés, frissítés és eltávolítás fejezetet (54. oldal)) A telepítési illetve frissítési folyamat naplója a /var/adm/inst-log/installation-* fájlokban lesz később bármikor megtekinthető. A rendszer további részeinek frissítése Ha az alaprendszert frissítjük, a YaST speciális frissítési üzemmódjába kerülünk. Itt frissíthetjük a rendszer további részeit is. Miután befejeződött a frissítés, hasonló módon

kell eljárnunk, mint az első telepítésnél. Elsőként egy új rendszermagot kell választanunk 2 Rendszerfrissítés és csomagkezelés A következő ablakban megadhatjuk, hogy csak a már telepített csomagok kerüljenek frissítésre, vagy a fontos új csomagok is telepítődjenek. Ajánlott az előre elkészített összeállítások egyikét választani. Tipp Ha a loadlin-t használjuk indításra, át kell másolnunk az új rendszermagot, és valószínűleg az initrd fájlt is a DOS partíció loadlin könyvtárába! Tipp Lehetséges problémák Ha bizonyos környezeti változók értéke eltér az általunk megszokottól, ellenőrizzük, hogy a saját könyvtárban a ponttal kezdődő fájlok még mindig megfelelnek-e az /etc/skel alatti változattal. Például az alábbi parancs segítségével a környezeti változók értékét a kezdeti értékekre állíthatjuk vissza: jancsi@meggyfa:~ > cp /etc/skel/.profile ~/profile Egyedi csomagfrissítés A SuSE

Linuxszal egyedi csomagfrissítést is végezhetünk. Ha a YaST csomaglistájából olyan csomagot választunk, amely szükséges a rendszer SuSE Linux – Rendszerkézikönyv 45 futásához, a YaST figyelmeztetni fog minket erre. Ilyen csomag csak frissítési módban cserélhető le. Például sok csomag tartalmaz osztott függvénytárat (shared libraries), ami frissítéskor éppen használatban lehet. Nyilvánvalóan, az osztott függvénytárak frissítése problémákat okozhat egy futó rendszeren. Frissítés verzióról verzióra Az alábbi fejezetekben részletes felsorolást adunk arról, hogy mi változott két verzió között. Ebben az áttekintésben az olyan dolgokat soroljuk fel, mint a konfigurációs fájlok szintaxis-változása és a jól ismert programok normálistól eltérő viselkedése. Csak azokat az eltéréseket tüntetjük fel, melyek a rendszergazdának vagy a felhasználónak problémákat okozhatnak. Ez a lista valószínűleg nem teljes.

Olvassuk el a támogatási adatbázist, ami megtalálható az sdb csomagban. Az ismert problémák és az egyes verziók normálistól eltérő jellegzetességeit az alábbi weboldalon találhatjuk meg: http://sdb.suselinuxhu/hu/sdb/html/bugs80html Az egyes csomagok fontos frissítéseit megtaláljuk itt: http://www.susede/en/support/download/updates/ 7.0-ról 71-re Problémák és speciális cikkek az alábbi címen: http://sdb.suselinuxhu/hu/sdb/html/bugs71html Rendszermag: A speciális EIDE lapkakészletek alacsony szintű meghajtói a szabvány rendszermagba kerültek; A k eide vagy eide rendszermagok használata már nem szükséges többé. Ez azt jelenti, hogy nem kell készítenünk saját indítólemezt, ha erre a meghajtóra van szükségünk. A futási szintek értelmezése megváltozott; lásd a 12.1 táblázatot Az init szkriptek mostantól a /etc/init.d alatt találhatók; ha készítettünk saját szkripteket, akkor azokról biztonsági másolatot kell készítenünk

mielőtt frissítjük azokat. DEFAULT LANGUAGE: Új neve van a korábbi LANGUAGE változónak az /etc/rc.config állományban Az /etc/resolv.conf-ot közvetlen a YaST, valamit a YaST2 írja; többé már nem a SuSEconfig készíti. 46 Frissítés verzióról verzióra A korábbi ypclient csomagra vonatkozóan: a csomagokat kettéosztottuk ypbind és yp-tools csomagokra, és az indító szkriptjüket ypbind-nek hívják. A jade dsl csomagra vonatkozóan: Az rzsz csomaggal való konfliktus elkerülésére az sx parancsot most s2x-nek és sgml2xml-nek hívják. 7.1-ről 72-re Problémák és speciális jellemzők: http://sdb.suselinuxhu/hu/sdb/html/bugs72html Az nkitb csomag nem létezik többé; a programok szétköltöztek különböző csomagokba: talk, rsh, finger, rwho, telnet stb. a server csomagba. Pl a ping parancs most az iputils csomagban található. 2 Rendszerfrissítés és csomagkezelés A csomagnevek 8 karakteres korlátozása megszűnt és sok csomagnak lehet

ezután jobban értelmezhető neve. Ezek az új nevek már figyelembe lesznek véve frissítéskor, és az ismerős programok továbbra is rendelkezésünkre fognak állni. Ha egy teljes újratelepítést végzünk, akkor vigyáznunk kell, mert ezek a csomagok már az új nevükön lesznek kiválasztva. Több csomagot átneveztünk (lásd feljebb), például: docbook-dsssl-stylesheets csomag, docbook 3 csomag és docbook 4 csomag. Telepítenünk kell a mod php4 csomagot a mod php csomag helyett. Az Emacs több csomagra szét lett osztva: . Alapcsomag emacs . Továbbá telepítenünk kell az emacs-x11 csomagot, amely tartalmazza a programot X11 támogatással. . Az emacs-nox csomag tartalmazza a programot X11 támogatás nélkül. . Az emacs-info csomag: Online dokumentáció infó formátumban . Az emacs-el csomag tartalmazza a lefordítatlan lib fájlokat Emacs Lisp-ben megírva – ez nem kíván futási környezetet. . Számos további csomag, amely kívánságra

telepíthető: emacs-auctex csomag (LATEX-hez); psgml csomag (SGML/XMLhez); gnuserv csomag (egy kliens/szerver környezethez) stb. SuSE Linux – Rendszerkézikönyv 47 A változás követi a jelenlegi FHS-t (Filesystem Hierarchy Standard): (lásd A Filesystem Hierarchy Standard (FHS) bekezdést (296. oldal)): . A /media/cdrom és a /media/floppy azelőtt /cdrom és /floppy volt. Kompatibilis hivatkozások elérhetők lesznek az átmeneti időszakra. 7.2-ről 73-ra Problémák és különlegességek: A naprakész lista magyar nyelven az alábbi címen található: http://sdb.suselinuxhu/hu/sdb/html/bugs73 html. A 2.4-es rendszermag esetében – ami a SuSE Linux alapértelmezett rendszermag verziója – az IDE-DMA mód be lett kapcsolva alapértelmezésben, így a „rendszerhangolás” névre hallgató YaST2modul (yast2-config-tune csomag) sem része már a YaST2-nek. Ha a rendszerindításkor problémák adódnának, a ‘failsafe’ opcióval kell a gépet indítani.

Az rc.config-ban található többi változótól függetlenül, a DISPLAYMANAGER változó határozza meg, hogy milyen futási szint kerül az /etc/inittab fájlba. A MySQL már a TCP wrapper libet használja; így növelve a biztonságot. Az új mysql-Max csomag tartalmazza az új illetve továbbfejlesztett tulajdonságokat. A csomag telepítése után ezek a tulajdonságok automatikusan rendelkezésére állnak. Azokat a DocBook dokumentumokat, melyek bizonyos tulajdonságokat használnak, elfogadja a db2x.sh (docbktls csomag) Annak, aki a kompatibilis dokumentumokra van utalva, javasoljuk a --strict használatát. 7.3-ról 80-ra Problémák és különlegességek: http://sdb.suselinuxhu/hu/sdb/html/bugs80html 48 Frissítés verzióról verzióra A YaST2 teljesen átvette a YaST1 helyét, szöveges (konzol) módban is. Néhány BIOS-nak szüksége van egy realmode-power-off rendszermag-paraméterre, mely a 2.412-es rendszermagig real-mode-poweroff névre hallgatott. A

korábban rc.config-ban található START-változók nem léteznek többé. Egy szolgáltatás akkor indul el, ha a megfelelő futási szint könyvtárában létezik a szolgáltatáshoz szimbolikus link. Ezek a linkek az insserv paranccsal hozhatók létre vagy távolíthatók el. A régi /etc/rc.configd könyvtár fájljai, illetve az /etc/rcconfig fájl tartalmának túlnyomó része mostantól az /etc/sysconfig könyvtár alatt található. A rendszer a frissítés során a régi fájlokat átírja az új helyre. 2 Rendszerfrissítés és csomagkezelés A boot lemezek csak képmás formájában érhetőek el (a disks könyvtárban). Ezekre csak akkor van szükségünk, ha nem képes CD-ről indítani a rendszert. Hardverének és igényeinek megfelelően készíthetünk modules1 (régebben modules) és modules2 lemezt a képmásokból (ásd az Indítólemez létrehozása DOS alatt (18. oldal) és az Indítólemez készítése Linux/UNIX alatt fejezetet). A hálózati

beállítások át lettek dolgozva. Ezekről részletesebben a Hálózati integráció fejezetben olvashatunk (379. oldal) A logrotate csomag végzi a naplófájlok tömörítését. Az /etc/logfiles fájlra többé nincs szükség. Lásd Naplófájlok – a logrotate csomag (298 oldal) A root felhasználó telnet-en vagy rlogin-on keresztüli bejelentkezése az /etc/pam.d alatti fájlokban állítható be Biztonsági okokból a ROOT LOGIN REMOTE változó yes-re állítása nem működik. A PASSWD USE CRACKLIB beállítható a YaST2-n keresztül. Ha az autofs NIS-es térképet használ, a YaST2-t használjuk ennek beállítására. Itt válasszuk ki az ‘Automounter indítása’ opciót A USE NIS FOR AUTOFS változó fölöslegessé vált. A fájlok gyors megtalálására szolgáló locate program nem része az alapértelmezett telepítésnek. Amennyiben szeretnénk használni, külön kell azt telepítenünk (findutils-locate csomag). Ebben az esetben az updatedb program

rendszeresen – ahogyan a korábbi verziókban tette – végig fogja nézni a merevlemezt. SuSE Linux – Rendszerkézikönyv 49 A pine programban engedélyezve lett az egér kezelésének lehetősége.   Amennyiben ezt bekapcsolja (enable-mouse-in-xterm opció), a ⇑  gomb segítségével tud szöveget másolni (copy-paste) az xterm ablakban, ahogyan ez az egyéb, egeret kezelő programok (például mc, links) esetén is így van. Az RPM csomagok gzip helyett bzip2 tömörítést használnak. Így méretük lecsökkent, de a telepítési idő lassabb gép esetén érezhetően megnőhet. Új csomagként megjelent az ispell helyesírás-ellenőrző magyar változata, ispell-hungarian néven. A magyar kézikönyvlapokat tartalmazó man-pages-hu csomag nem települ automatikusan. A 2.2-es rendszermag többé nem része a disztribúciónak A nyomtató szoftverek közül csak a cups és az lprng maradt meg, a plp és az lprold kikerült a disztribúcióból. Biztonsági

okokból az FTP démonok terén is nagytakarítás történt, többé nem található meg a wu-ftpd és a proftpd. Helyettük az inftpd, vsftpd és pure-ftpd közül választhatunk. A csomagok egyéni válogatását teljesen újraszervezett, az előzőeknél logikusabb RPM csoportokba sorolás segíti. A CD-ken kissé átszerveződött a fájlrendszer. Megszűnt a full-names könyvtár, az egyes készletek könyvtárán belül a fájlok teljes névvel (verzióval) szerepelnek. 8.0-ról 81-re Ismert problémák és különlegességek: http://sdb.suselinuxhu/hu/sdb/html/bugs81html A UnitedLinux kompatibilitás érdekében néhány felhasználó- és csoportnév megváltozott, az /etc/passwd és az /etc/group fájlok ennek megfelelően változtak meg. . Megváltozott felhasználók: az ftp felhasználó a daemon helyett az ftp csoport tagja. . Átnevezett csoportok: www (előzőleg wwwadmin); games (előzőleg game). 50 Frissítés verzióról verzióra . Új csoportok:

ftp (GID-je: 50), floppy (GID-je: 19), cdrom (GID-je: Az FHS-sel kapcsolatos változások (vö. A Filesystem Hierarchy Standard (FHS)): . A HTTP szerver (például az Apache szerver) környezete az /srv/httpd könyvtárban található (az előző verziókban ez a /usr/local/httpd könyvtárban volt). . Az FTP szerver környezete a /srv/ftp könyvtárban jön létre (előzőleg a /usr/local/ftp könyvtárban volt) Az egyes szoftverek telepítésének egyszerűsítése érdekében a csomagok nincsenek készletekbe csoportosítva, csak RPM csomag csoportok léteznek. Ez azzal jár, hogy a CD-n levő könyvtárstruktúra is megváltozott, az eddigi rejtélyes könyvtárak helyett az egyes architektúrákról elnevezett alkönyvtárakat találunk, például ppc, i586, és noarch. A következő programok automatikusan települnek: . A GRUB rendszertöltő, amely a LILO-nál több lehetőséggel Rendszerfrissítés és csomagkezelés 20), console (GID-je: 21), utmp (GID-je: 22).

2 rendelkezik. Frissítés esetén azonban a LILO nem íródik felül, ekkor továbbra is azt használja a rendszer. . A postfix levelezőszerver a sendmail program helyett . A modernebb mailman levelezési lista kezelő a régebbi majordomo helyett. Az alábbi csomagok nem települnek automatikusan: . A harden suse csomag, ezt utólag telepíthetjük amennyiben szükséges. A dokumentációját feltétlenül olvassuk el! Több részre bontott csomagok: az rpm, rpm és rpm-devel csomagokra; a popt, popt és popt-devel csomagokra; valamint a libz, zlib és zlib-devel csomagokra. A yast2-trans-* csomag nyelvek szerint került szétbontásra: yast2-trans-hu (magyar), yast2-trans-de (német), yast2-trans-es (spanyol), és így tovább. Hogy a felesleges helyfoglalást elkerüljük, nem mindegyik települ automatikusan. Utólag természetesen bármelyik nyelv támogatása telepíthető a YaST2-höz. Átnevezett csomagok: a bzip csomag bzip2-re. Törölt csomagok: openldap.

Használjuk helyette az openldap2-t SuSE Linux – Rendszerkézikönyv 51 8.1-ről 82-re Ismert problémák és különlegességek: http://sdb.suselinuxhu/hu/sdb/html/bugs82html Új telepítés esetében az inetd helyett az xinetd program települ, biztonságos értékekkel beállításra is kerül (lásd az /etc/xinetd.d könyvtárat). A rendszer frissítése esetén azonban megmarad az inetd Új alapértelmezett DSSSL motorként az openjade (openjade csomag) program kerül alkalmazásra a db2x.sh futtatásakor (docbook-toys csomag). Kompatibilitási okokból az egyes programok az ‘o’ prefix nélkül is alkalmazhatók. Az rzsz csomaggal történő ütközés elkerülése érdekében az sx parancs újonnan az s2x illetve sgml2xml vagy osx néven érhető el. RPM – a csomagkezelő A SuSE Linuxban az RPM – „RPM Package Manager” – szolgál csomagkezelőként. Az RPM adatbázisa részletes információt nyújt a telepített szoftvercsomagokról, megkönnyítve

ezzel mindenki életét: a felhasználókét, a rendszeradminisztrátorokét és a csomagkészítőkét egyaránt. Az rpm programnak három fő módja van. Az egyik módban lefordítja a szoftveralkalmazásokat az eredeti forrásból és telepítéshez becsomagolja azokat. A másik mód telepít, frissít illetve eltávolít RPM formátumú szoftvercsomagokat A harmadik mód a csomagokkal kapcsolatos lekérdezéseket tartalmazza, beleértve a függőségek és a csomagok ellenőrzését. A telepíthető RPM archívumok egy speciális bináris formátumba vannak csomagolva. Ezek az archívumok tartalmazzák a telepítendő programfájlokat, valamint egyéb meta-információkat, amiket az rpm használ telepítés alatt, hogy beállítsa a szoftvercsomagot, vagy tárolja azt az RPM adatbázisban, dokumentációs célból. Az RPM archívumok rendszerint rpm kiterjesztésűek Tipp Jónéhány csomag esetén a szoftverfejlesztéshez szükséges fájlok (fejlécek, include fájlok)

külön csomagba kerültek. Ezekre csak akkor van szükség, ha mi magunk akarunk programokat fordítani (például olyan KDE vagy GNOME alkalmazásokat, melyek nem része a disztribúciónak). Ezen csomagok neve rendszerint devel-re végződik, például alsa-devel, glibc-devel, gimp-devel, kdelibs-devel stb. Tipp 52 RPM – a csomagkezelő A csomag eredetiségének ellenőrzése 1024D/9C800ACA 2000-10-19 SuSE Package Signing Key <build@suse.de> Key fingerprint = 79C1 79B2 E1C8 20C1 890F 9994 A84E DAE8 9C80 0ACA meggyfa:~ # rpm --verbose --checksig apache-1.312rpm Fenti paranccsal ellenőrizhetjük például az RPM csomag aláírását, és ezzel megállapíthatjuk, hogy az valóban a SuSE-tól származik-e, esetleg más megbízható forrásból; ez különösen ajánlott az internetről letöltött frissítési csomagok esetén. A SuSE nyilvános csomagaláírási kulcsa általában a /root/ .gnupg/ alatt található A 81-es verzió óta a kulcs ezen felül a

/usr/lib/ rpm/gnupg/ könyvtárban is található, hogy a szokványos felhasználók is ellenőrizni tudják az RPM csomagok eredetiségét. Rendszerfrissítés és csomagkezelés A 7.1-es verzió óta a SuSE RPM csomagoknak GnuPG aláírásuk van: 2 Csomagok kezelése: telepítés, frissítés és eltávolítás Az RPM archívum telepítése rendkívül egyszerű: meggyfa:~ # rpm -i hcsomagnév i.rpm E paranccsal a csomag telepítésre kerül, – de csak akkor, ha a függőségi elvárásoknak megfelel és nincs konfliktusa más csomaggal. Az rpm egy hibaüzenettel felhívja a figyelmet azokra a csomagokra, amelyek telepítése szükséges ahhoz, hogy kielégüljenek a függőségek. A háttérben az RPM adatbázis biztosítja, hogy ne keletkezzen konfliktus – egy adott fájl csak egy csomaghoz tartozhat és különböző csomagok fájljai nem írhatják egymást felül. Különböző opciók megadásával kényszeríthetjük az rpm-et, hogy ne vegye figyelembe ezeket

az alapértelmezéseket, de ekkor biztosnak kell lennünk benne, hogy tudjuk mit csinálunk, különben veszélyeztetjük a rendszer egységét, és frissítési képességét. Ezek az opciók a --nodeps (függőségek figyelmen kívül hagyása), valamint a --force („downgrade” (régebbi verzióra lecserélés) vagy azonos verzió újratelepítése esetén, illetve ha más csomag által tartalmazott fájlt felülír a csomag). Szükség esetén akár mindkét opciót is megadhatjuk (például rpm -i --nodeps --force csomag.rpm), de mindig legyünk körültekintőek, és ne feledjük, hogy teljesítetlen függőség esetén lehet, hogy a program nem fog működni. SuSE Linux – Rendszerkézikönyv 53 Célszerű a csomagok telepítéséhez a -U vagy a --upgrade opciót alkalmazni. Ez az opció eltávolítja a csomag régebbi verzióját, és azonnal telepíti az új fájlokat. Amennyiben nincs régebbi verzió, egyszerűen telepíti az új csomagot Egy csomag

frissítéséhez használjuk a az alábbi parancsot: meggyfa:~ # rpm -F hcsomagnév i.rpm Ezzel a paranccsal csak akkor kerül telepítésre a csomag, ha már telepítve van egy régebbi verziója. Az rpm parancs a konfigurációs fájlokat óvatosan frissíti Ehhez az alábbi „rendszert” alkalmazza: Ha egy konfigurációs fájl nem lett megváltoztatva a rendszeradminisztrátor által, akkor az rpm telepíti a megfelelő fájl új verzióját. Ilyenkor a rendszeradminisztrátornak semmit nem kell tennie. Ha egy konfigurációs fájlt a rendszeradminisztrátor a frissítés előtt megváltoztatott, az rpm menteni fogja a lecserélt fájlt .rpmorig vagy .rpmsave (biztonsági mentési fájl) kiterjesztéssel, majd telepíti az új verziót az új csomagból, de csak akkor, ha az eredetileg telepített fájl és az újabb verzió különbözik egymástól. Ilyen esetben össze kell hasonlítanunk a biztonsági fájlt (.rpmorig vagy rpmsave) az újonnan telepített állománnyal,

és a változtatásainkat az új fájlon ismét el kell végeznünk. Ezután meg kell győződnünk arról, hogy az összes .rpmorig vagy rpmsave fájlt kitöröltük, hogy elkerüljük a problémákat a jövőbeni frissítéseknél. .rpmnew fájl keletkezik, ha már létezett a konfigurációs fájl, és a csomag .spec fájljában noreplace opció volt megadva ehhez a fájlhoz Frissítés után a .rpmsave és rpmnew fájlokat vizsgáljuk meg, majd a tényleges konfigurációs fájl esetleges módosítása után ajánlott ezeket eltávolítani, hogy ne zavarják a későbbi frissítéseket. rpmorig kiterjesztése lesz a fájlnak, ha az előzőleg nem volt része az RPM adatbázisnak. Ellenkező esetben .rpmsave lesz a kiterjesztés Más szavakkal, az rpmorig fájlok idegen formátumból RPM formátumra átállás eredményei, míg az .rpmsave fájlok egy RPM csomag frissítésekor keletkeznek. Az rpmnew fájl nem hordoz semmilyen információt arról, hogy a rendszergazda

változtatott-e korábban a meglévő konfigurációs fájlon. Bizonyos konfigurációs fájlok (például az /etc/httpd/httpd.conf) direkt nem kerülnek frissítésre, hogy az adott alkalmazás a frissítést követően azonnal a saját beállításainkkal működjön. 54 RPM – a csomagkezelő Tájékoztatás Frissítés után ellenőriznünk kell minden olyan biztonsági mentési fájlt, amit az rpm hozott létre. Ezek a saját régi beállítási állományaink Ha szükséges, tegyük át egyéni beállításainkat a biztonsági mentési fájlokból az új beállítási fájlokba. Ezután az eljárás után az rpmorig és .rpmsave kiterjesztésű fájlokat ajánlott kitörölni Tájékoztatás Egy csomag eltávolítására, adjuk ki az alábbi parancsot: meggyfa:~ # rpm -e hcsomagnév i A csomagnév ilyenkor nem tartalmazza az .rpm kiterjesztést Az rpm csak akkor fog eltávolítani csomagot, ha annak nincs feloldatlan függősége. (Ez a --nodeps kapcsolóval

felülbírálható) 2 Rendszerfrissítés és csomagkezelés A -U kapcsoló nem egyenértékű az eltávolítás (-e) és telepítés (-i kapcsoló) egymás utáni használatával, hanem annál többet tud. Használjuk a -U-t ahol csak lehetséges. Elméletileg lehetetlen eltávolítani például a Tcl/Tk-t addig, amíg más programnak (pl. a tkdesknek) szüksége van arra Az RPM adatbázis védi a működő rendszer egységét. Ha egy csomag eltávolítása – annak ellenére, hogy nincsenek vele függőségi problémák – mégsem lehetséges, segíthet az RPM adatbázis újraépítése (--rebuilddb). Erről bővebben az RPM lekérdezések bekezdésben olvashatunk (58. oldal) RPM lekérdezések A -q opcióval az rpm lekérdezést végez, ezzel lehetővé téve egy RPM archívum megvizsgálását (a -p opció hozzáadásával), és az RPM adatbázis telepített csomagjainak lekérését. Több kapcsoló áll rendelkezésünkre, hogy meghatározzuk a kívánt információ

típusát (lásd a 2.1 táblázatot) -i -l -f hfájlnév i Csomag információ A csomag fájljainak listája A hfájlnevi-et tartalmazó csomag keresése (a fájl teljes útvonalát a hfájlnévi segítségével kell meghatároznunk) 2.1 táblázat: folytatás a következő oldalon SuSE Linux – Rendszerkézikönyv 55 -s -d -c --dump --provides --requires, -R --scripts -p Fájllista állapotinformációval (tartalmazza a -l-t) csak a dokumentációs fájlokat listázza ki (tartalmazza a -l-t) csak a beállítási fájlokat listázza ki (tartalmazza a -l-t) Fájlok listája teljes részletezéssel (ez azelőtt a -l, -c vagy -d-vel volt elérhető) Képességek, amit a csomag nyújt Képességek, amit a csomag elvár Módosító szkriptek (telepítés és eltávolítás előtt ill. után) Az RPM adatbázis helyett a megadott fájlt kérdezi le 2.1 táblázat: A legfontosabb RPM lekérdezési opciók (-q [-p] hcsomagnévi) Például az meggyfa:~ # rpm -q -i wget

avagy rövidebben meggyfa:~ # rpm -qi wget a 3. képernyőlistán látható kimenetet adja vissza Name : wget Relocations: (not relocateable) Version : 1.81 Vendor: SuSE AG, Nuernberg, Germany Release : 142 Build Date: Fri Apr 5 16:08:13 2002 Install date: Mon Apr 8 13:54:08 2002 Build Host: knox.susede Group : Productivity/Networking/Web/Utilities Source RPM: wget-1.81-142srcrpm Size : 2166418 License: GPL Packager : http://www.susede/feedback Summary : A tool for mirroring FTP and HTTP servers Description : Wget enables you to retrieve WWW documents or FTP files from a server. This might be done in script files or via command line. [.] 3. képernyőlista: rpm -q -i wget 56 RPM – a csomagkezelő Például az meggyfa:~ # rpm -qf /bin/rpm /usr/bin/wget parancs a következő eredményhez vezet: rpm-3.06-268 wget-1.82-82 Ha a fájl nevének csak egy részét ismerjük, egy, az alábbihoz hasonló szkriptet kell használnunk: % XXX #!/bin/sh for i in ‘rpm -qal | grep

$1‘; do echo A(z) ""$i" fájl az alábbi csomagban található: rpm -qf $i echo "" done 2 Rendszerfrissítés és csomagkezelés Az -f opció csak akkor működik, ha megadjuk a teljes fájlnevet, a teljes útvonallal. Megadhatunk annyi fájlnevet, amennyit csak akarunk: 1. fájllista: Szkript csomagok kereséséhez Az alábbi paranccsal meggyfa:~ # rpm -q --changelog rpm egy pontos listát kaphatunk információkkal (frissítés, beállítás, módosítások stb.) a megadott csomagról; ez a példa magáról az rpm csomagról szól Ez a lista csak az utolsó öt bejegyzést tárolja el az adatbázisban, helytakarékosság céljából. Ha a teljes listára vagyunk kíváncsiak (2 évre visszamenőleg), magát a csomagot kérdezzük le. Például ha az első CD csatolva van /media/cdrom-ra, akkor használhatjuk ezt az alábbi parancsot: meggyfa:~ # rpm -qp --changelog /media/cdrom/suse/a1/rpm-*.rpm Az RPM adatbázis segítségével ellenőrzés is

végezhető. Ezek az ellenőrzések a -V (vagy -y, vagy a --verify) opciókkal kezdeményezhetők. Ezzel az opcióval az rpm megmutatja az összes olyan fájlt a csomagban, ami meg lett változtatva az első telepítés óta. Az rpm nyolc karaktert használ arra, hogy közölje, milyen változtatás történt (lásd a 2.2 táblázatot): SuSE Linux – Rendszerkézikönyv 57 5 S L T D U G M MD5 ellenőrző összeg Fájlméret Szimbolikus link Változtatás ideje Fő és al eszközszámok Tulajdonos Csoport Mód (jogosultságok és fájltípus) 2.2 táblázat: RPM ellenőrzési opciók Beállítási fájlok esetén a c betű lesz kiírva. Például, ha megváltoztattuk az /etc/wgetrc-t a wget csomagból, ezt láthatjuk: meggyfa:~ # rpm -V wget S.5T c /etc/wgetrc A teljes adatbázis ellenőrzésére használhatjuk az meggyfa:~ # rpm -Va („verify all”) parancsot. Ez az összes csomag összes fájlját végigolvassa, így nagyon sokáig eltarthat. Ha csak a

csomagok közti függőségeket kívánjuk ellenőrizni, ezt a parancsot adjuk ki: meggyfa:~ # rpm -Va --nofiles Az RPM adatbázis a /var/lib/rpm alatt található. Ha a /usr partíció mérete 1 GB, ez az adatbázis közel 30 MB helyet is elfoglalhat, különösen egy teljes frissítés után. Ha az adatbázis sokkal nagyobb, mint elvárnánk, hasznos lehet, ha újraépítjük az adatbázist a --rebuilddb opcióval. Mielőtt újraépítünk, készítsünk biztonsági másolatot a régi adatbázisról. A cron szkript (pontosabban a cron.daily), naponta készít másolatot az adatbázisról (gzip-pel tömörítve), és a /var/adm/backup/rpmdb alatt tárolja azt. A másolatok számát a MAX RPMDB BACKUPS változó határozza meg (alapértelmezése 5) az /etc/sysconfig/backup-ban. Egy biztonsági mentés mérete megközelítőleg 3 MB (1 GB-os /usr partíció esetén). Ezt a helyigényt kell figyelembe vennünk, amikor meghatározzuk, hogy mekkora legyen a gyökér partíciónk. Ha

a /var-nak saját partíciója van, nem kell aggódnunk emiatt. 58 RPM – a csomagkezelő 2 Forráscsomagok telepítése és fordítása Tipp Ezeket a csomagokat is ugyanúgy kezelhetjük, mint az összes többi csomagot. Viszont ezek a csomagok nem lesznek benne az RPM adatbázisban (és nem lesznek megjelölve [i]-vel a YaST-ban), mivel ott csak a „telepített” szoftverek vannak listázva. Tipp Az rpm könyvtáraknak a /usr/src/packages alatt kell létezniük (ha egyetlenegy saját változtatást sem csináltunk, például az /etc/rpmrc alatt) az alábbi formában: SOURCES Az eredeti forrásokhoz (.targz-fájlok stb), és a disztribúcióspecifikus igazításokhoz (dif-fájlok) SPECS A „spec” fájlokhoz, ami hasonló egy meta Makefile-hoz, definiálva a fordítási eljárást. Rendszerfrissítés és csomagkezelés A SuSE Linux összes forráscsomagja a zq1 könyvtár alatt van. BUILD Ebbe a könyvtárba kerül az öszes forrás kicsomagolásra, foltozásra, és

lefordításra. RPMS Ez az a könyvtár, ahol a teljesen kész bináris csomagok létrejönnek. SRPMS Itt vannak a forrás-RPM-ek. Tájékoztatás Ne kísérletezzünk fontos rendszercsomagokkal, mint amilyen a libc, rpm, vagy nkit! Ez könnyen a rendszer helytelen működéséhez vezethet! Tájékoztatás Amikor egy forráscsomagot telepítünk a YaST-tal, az összes szükséges elem a /usr/src/packages alá lesz telepítve: a források és a kiigazítások a SOURCES alá, a .spec fájlok a SPECS alá1 A példa kedvéért, a wgetspm csomagot választottuk. Miután telepítettük a csomagot a YaST-tal, az alábbi fájlokat kell kapnunk: /usr/src/packages/SPECS/wget.spec /usr/src/packages/SOURCES/wget145dif /usr/src/packages/SOURCES/wget-145targz Az rpm -b hX i /usr/src/packages/SPECS/wget.spec 1 További információt kaphatunk a kézikönyvoldalakból: man rpm. SuSE Linux – Rendszerkézikönyv 59 parancs megkezdi a fordítást. Itt az hXi egy dzsóker karakter a

fordítási (build) eljárás különböző lépcsőihez (lásd az rpm --help kimenetét, vagy az RPM dokumentációját). Íme egy pár opció: -bp Előkészíti a forrást a /usr/src/packages/BUILD alatt: kicsomagol és foltoz. -bc ugyanaz, mint a -bp, de további fordításokkal. -bi ugyanaz, mint a -bp, de a build szoftver további telepítéseivel. Figyelem: ha egy csomag nem támogatja a BuildRoot képességet, felülírhatjuk a beállítási fájlokat. -bb ugyanaz, mint a -bi, de a bináris csomagok további létrehozásával. Ha a fordítás sikeres volt, a binárisnak a /usr/src/packages/RPMS alatt kell létrejönnie. -ba ugyanaz, mint a -bb, de a forrás RPM további létrehozásával. Ha a fordítás sikeres volt, a binárisnak a /usr/src/packages/SRPMS alatt kell létrejönnie. A --short-circuit megengedi nekünk, hogy kihagyjunk bizonyos lépéseket. A bináris RPM az rpm -i meghívásával telepíthető, vagy inkább az rpm -Uval, hogy megjelenjen az RPM

adatbázisban. Nagyon sok csomagnál az a veszély áll fennt, hogy a csomag fordításakor akaratunk ellenére a futó rendszerbe fájlok másolásra kerülnek. Annak elkerüléséhez használhatjuk a build csomagot, mely egy határozott környezetet alakít ki csomagok fordításához. A szükséges chroot környezet felépítéséhez egy teljes csomagfának kell rendelkezésre állnia a build szkript számára. A fa lehet a helyi merevlemezen, NFS-en keresztül vagy például egy DVD-n. A szkriptnek csak meg kell adni az útvonalat a build --rpms <elérési útvonal> opcióval. Az rpm paranccsal szemben a build parancs ugyanabban a könyvtárban várja a megfelelő SPEC fájlt, mint a forrást. Fetételezve, hogy a fenti példában említett wget programot újonnan le szeretnénk fordítani, és hogy ehhez a /media/dvd könyvtárhoz csatolt DVDt használjuk, root felhasználóként az alábbi parancsokat kell kiadnunk: cd /usr/src/packages/SOURCES/ mv ./SPECS/wgetspec build

--rpms /media/dvd/suse/ wget.spec 60 RPM – a csomagkezelő A build szkript még egyéb opciókkal is rendelkezik, amelyekről a build --help és a man 1 build parancsokkal kaphatunk bővebb felvilágosítást. RPM-ek és patch RPM-ek Az operációs rendszer biztonságos működésének biztosításához szükségünk lehet arra, hogy időnként frissítsünk egy-egy szoftvercsomagot. A hagyományos RPM rendszernél mindig a teljes csomagot kell frissíteni, ami főleg nagy csomagoknál nem éppen túl hely és időtakarékos megoldás. A 81-es verzió óta a SuSE Linux támogatja az olyan RPM csomagok telepítését, amelyek csak a frissítő részt tartalmazzák. Ezeket patch RPM-nek, vagy frissítőfoltnak hívjuk. Az alábbiakban a pine program példáján megmutatjuk a patch RPM-ek alkalmazásának lehetőségeit. 2 Rendszerfrissítés és csomagkezelés Erre a rendszer a /var/tmp/build-root alatt egy minimális buildkörnyezetet épít fel, ahol elkészíti az

RPM csomagot. A kész RPM-et a sikeres fordítást követően a /var/tmp/build-root/usr/src/packages/RPMS könyvtárban találjuk. Megfelelő-e a patch RPM? A patch RPM telepítése előtt ellenőrizzük, hogy jelenleg mely verziója van telepítve. Ezt az alábbi paranccsal tehetjük meg: # rpm -q pine pine-4.44-188 Ezt követően ellenőrizzük, hogy a patch RPM ehhez a verzióhoz készülte: # rpm -qp --basedon pine-4.44-224i586patchrpm pine = 4.44-188 pine = 4.44-195 pine = 4.44-207 A fenti listából kiderül, hogy a frissítőcsomag három különböző pine verzióhoz alkalmazható. Mivel köztük a mi verziónk is szerepel, alkalmazható a frissítőfolt. SuSE Linux – Rendszerkézikönyv 61 Milyen fájlokat frissít a frissítőfolt? A patch RPM által érintett fájlokat könnyen ki tudjuk olvasni az rpm parancs -P opcióját használva. A frissítőfoltban lévő fájlok listáját az alábbi parancs adja ki: # rpm -qpPl pine-4.44-224i586patchrpm

/etc/pine.conf /etc/pine.conffixed /usr/bin/pine Amennyiben a patch csomagot már telepítettük, akkor a # rpm -qPl pine /etc/pine.conf /etc/pine.conffixed /usr/bin/pine paranccsal listázható a változtatott fájlok neve. Hogyan telepíthetők a patch RPM-ek? A patch RPM-eket ugyanúgy kezelhetjük, mint a szokványos RPM-eket. A különbség csupán annyi, hogy a patch RPM telepítéséhez szükséges, hogy telepítve legyen az „eredeti” csomag is. Milyen frissítőcsomagok vannak telepítve a rendszerben? A rendszeren telepített frissítőfoltok listáját az rpm -qPa paranccsal kapjuk meg. Mivel példánkban csak egy frissítőcsomagot telepítettük, az alábbi kimenetet kapunk: # rpm -qPa pine-4.44-224 Amennyiben azt szeretnénk tudni, hogy eredetileg a program mely verziója került telepítésére, használjuk az alábbi parancsot (az RPM adatbázis ugyanis őrzi ezt az információt is): # rpm -q --basedon pine pine = 4.44-188 További információt az RPM rendszer

patch képességeiről a man 1 rpm parancs nyújt. 62 RPM – a csomagkezelő 2 Egyéb eszközök az RPM archívumokkal való munkához Tipp   Nem árt tudnunk, hogy amikor egy RPM csomagba az  Enter  billentyű megnyomásával belenézünk, akkor az mc kicsomagolja az archívum tartalmát a /tmp könyvtárba. Kis archívumok esetén ez nem különösebb probléma, de nagyok esetén figyeljünk erre! Tipp KDE alatt használhatjuk a kpackage csomagkezelőt, GNOME-hoz a gnorpm programot. Az Alien perl szkript használatával lehetőség van átalakítani vagy telepíteni egy idegen bináris csomagot. Ez megpróbálja átalakítani a „régi” TGZ archívumokat RPM-re, mielőtt telepítenénk. Így az RPM adatbázis követni tudja az ilyen csomagokat, miután telepítésre kerültek. Vigyázat: az alien szerzői szerint ez még mindig „alfa” szoftver. SuSE Linux – Rendszerkézikönyv Rendszerfrissítés és csomagkezelés A Midnight Commander (mc) képes

böngészni és kezelni az RPM archívumokat. Ez az eszköz úgy működik az RPM csomag archívumon, mintha az egy valódi fájlrendszer lenne. Az mc-t használva megnézhetjük pl a HEADER     információt az  F3  -mal és kimásolhatjuk az archívum részeit az  F5  -tel. 63 II. rész Beállítások 3 Ez a fejezet főleg azoknak a rendszeradminisztrátoroknak szól, akik a SuSE Linux rendszert grafikus felület nélkül használják, illetve mind azoknak, akik a YaST2-t szöveges módban szeretnének használni. A fejezet alapvető információkat nyújt a szöveges módban futó YaST2 (ncurses) kezeléséhez és az egyes gyorsbillentyűkombinációkról. Szó esik arról is, hogy hogyan lehet a YaST2 online frissítést parancssorból illetve időzítve elindítani. A program kezelése . Az egyes modulok kezelése . Modulok közvetlen indítása . YOU – A YaST Online frissítési modulja . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . 68 69 70 70 YaST2 szöveges módban YaST2 szöveges módban A program kezelése A szöveges módban futó YaST2 kezelése nagyon könnyen megtanulható. A           teljes program a  Tab  , Alt  + Tab  , szóköz  , nyílgombokkal ( és  ) az  Enter  ↑ ↓ és a gyorsbillentyűkkel irányítható. A szöveges módban futó YaST2-nél is a vezérlőközpont az első képernyő. (lásd a 31 ábrát) 3.1 ábra: A szöveges módú YaST2 főablaka Az ablak három részből áll: Baloldalt láthatjuk a különböző menüpontokat. Ha egyet kiválasztunk (a kiválasztott menüpontot egy x jelöli), akkor annak moduljai megjelennek a jobboldali ablakban, a fehér kereten belül. Az ablak alján látható egy-egy gomb a YaST-ból illetve a kiválasztott modulból való kilépéshez és a kiválasztott modul indításához. A YaST első indítását követően a kurzor az első mezőn áll

(‘Mind’). Ez a mező színesen (rendszerint zöld színnel) van kijelölve. A kiválasztott menüpont azonban a ‘Szoftver’ pont, amit onnan lehet felismerni, hogy menüpont egy   ”x”-szel van megjelölve. Az egyes menüpontok közül a  Tab  billentyűvel tudunk váltani. Erre a zöld mező pontról-pontra ugrik Egy adott menüpont   szóköz  billentyűt. kiválasztásához jelöljük ki zöld színnel, majd nyomjuk meg a  Erre megjelenik a menüpont összes modulja a jobboldali keretben, ahogyan azt fent említettük. A kijelölésre használt szín nem mindig zöld, mivel ez az általunk használt terminálablaktól függ.   Egy modul kiválasztásához nyomjuk addig a  Tab  billentyűt, amíg a modulablak kerete ki nem fehéredik. Az általunk használt terminálablaktól       függően az  Alt  + Tab  illetve a ⇑  + Tab  billentyűkombinációval vissza tudunk lépni, ha túl mentünk volna a célon. Ha a keret aktív (fehér),

akkor a nyílgombokkal ki tudjuk választani a megfelelő modult. Ezt követően nyomjuk 68 A program kezelése   Ennél még egyszerűbb, ha a megfelelő menüpont kiválasztásához egyszerre   megnyomjuk az  Alt  és a sárgán kijelölt gyorsbillentyűt (a modulablakot például   az  Alt  + o billentyűkombinációval tudjuk így kiválasztani). Nem működnek a gyorsbillentyűk Mivel szinte minden egyes ablakkezelő használja valamilyen formában az   billentyűkombinációkat, előfordulhat, hogy a gyorsbillentyűk a YaST-ban Alt  nem működnek. Továbbá előfordulhat, hogy maga a terminál is foglalja az egyik vagy a másik billentyűkombinációt. Így a KDE konzol alatt például nem    + működik a ⇑  Tab  billentyűkombináció. 3 YaST2 szöveges módban meg kétszer a  Tab  billentyűt, hogy a kurzor az ‘Indítás’ mezőre ugorjon. Itt   már csak meg kell nyomnunk az  Enter  billentyűt és máris

elindul a kiválasztott modul.         helyettesítése az  Esc  billentyűvel: Az  Alt  billentyű helyett az  Esc  Alt  billentyűvel használhatjuk a gyorsbillentyűkombinációkat, (például     + h az  Alt  + h helyett). Esc      Menüpontok közötti lépegetés a  Ctrl  + f és a  Ctrl  + b : Amennyiben a fenti     Alt vagy kombinációk egyikével sem tudnánk az egyes ablakok   ⇑      között lépegetni, használhatjuk még a  Ctrl  + f (előre) és  Ctrl  + b (vissza) billentyűkombinációkat. A gyorsbillentyűk korlátozásai: ASuSE Linux 8.2 egyik újdonsága, hogy a szöveges módban futó YaST-ban az F-billentyűk (lásd lent) is külön      funkciókkal rendelkeznek ( F1  , F2  , F3  stb.) Itt is előfordulhat, hogy ezeket a billentyűket az ablakkezelő vagy a terminálablak foglalja le, azonban tiszta szöveges környezetben, a valós konzolon szinte biztos,   hogy

minden  Alt  billentyűkombináció és minden F-billentyű működik. Az további leírások az egyszerűbb áttekinthetőség kedvéért abból indulnak ki,   hogy az  Alt  billentyűvel alkotott billentyűkombinációk működnek. Az egyes modulok kezelése      Gombok illetve listák közötti navigáció: A  Tab  és az  Alt  + Tab  segítségével lépkedhetünk az egyes gombok és a listák keretei közül. SuSE Linux – Rendszerkézikönyv 69 Irányítás a listán belül: Miután kiválasztottunk egy listát (az ablakkeret   fehérré válik), az  és a  nyílbillentyűkkel választhatjuk ki a megfelelő ↑ ↓ elemet. Rádiógombok és jelölőmezők kijelölése Azon gombok kiválasztása, amelyeket egy szögletes zárójel (jelölőmező) vagy egy szokványos zárójel     szóköz  vagy az  Enter  billentyű megnyomásával jelöl (rádiógómb) a  történik. A YaST2 főablakának alján található gombokat a

megfelelő      gyorsbillentyűvel ( Alt  + sárga betű  ) lehet „megnyomni” vagy ha a  Tab    billentyűvel kiválasztottuk (zöld szín), akkor az  Enter  megnyomásával.     F1  -től  F12  -ig) a YaST2-ben is szerepet Funkció billentyűk: Az F-billentyűk ( játszanak. A YaST1 rajongói kedvéért például az ‘OK’, a ‘Következő’ és   a ‘Kész’ funkciókat az  F10  billentyűre definiáltuk. Az egyes billentyűk   azonban nem minden modulban egyformák. Az  F1  billentyűvel elérhető YaST segítségben olvashatunk bővebben arról, hogy melyik F-billentyű melyik modulban milyen funkcióval rendelkezik. Modulok közvetlen indítása Ha eleve tudjuk, hogy csak egy modult szeretnénk használni, akkor azt a yast hmodul nevei paranccsal indíthatjuk el. Így a hálózat beállításához szükséges modult például a yast lan paranccsal tudjuk elindítani. Az összes modulnév listáját a yast -l illetve a

yast - -list paranccsal tudjuk előhívni. Tipp A yast -i parancs segítségével közvetlenül telepíthetünk RPM csomagokat. Amennyiben az adott csomag a SuSE CD/DVD-n található, a YaST a megfelelő függőségekkel együtt telepíti azt. Ha egy helyi könyvtárban lévő csomagról van szó, akkor a YaST a függőségeket nem veszi figyelembe, és erőszakosan telepíti a csomagot. Tipp YOU – A YaST Online frissítési modulja A YaST Online frissítés modulja (YOU) is teljesen vezérelhető a konzolon keresztül, sőt, teljesen automatizálhatjuk is a frissítési feladatot. 70 Modulok közvetlen indítása Cron mintafeladat a YOU-hoz Mivel talán nem mindenki jártas a cron feladatok szerkesztésében aki eddig használta a YOU-t, álljon itt egy rövid leírás. Kifejezetten az egyszerűbb módszert választottuk a feladat megoldásához. 1. Váljunk rendszergazdává (su -) 2. Indítsuk el a crontab szerkesztőt az alábbi paranccsal: 3 YaST2 szöveges

módban Rendszergazdaként így különösen könnyű dolgunk van, hiszen nem kell mást tennünk mint egy megfelelő, ütemezett (cron) feladatot írni, mely például hetente frissíti a rendszert a YOU segítségével. crontab -e 3. Nyomjuk meg az i billentyűt, hogy a vi szerkesztő beviteli módba kapcsoljon (angolul insert) 4. Írjuk be az alábbi sorokat: MAILTO=” ” 13 3 * 0 /sbin/yast2 online update auto.get 53 3 * 0 /sbin/yast2 online update auto.install Az alsó két sor 5 első bejegyzése balról-jobbra az alábbiakat jelenti: 13=perc, 3=óra, *=a hónap napja (nem számít), =az év hónapja (nem számít), 0=vasárnap Ez tehát azt jelenti, hogy vasárnaponként, éjjel 3 óra 13-kor végrehajtódik az ‘/sbin/yast2 online update auto.get’ parancs, 40 perccel később (második sor) pedig az /sbin/yast2online updateauto.install Az üres MAILTO=” ” sorral megakadályozzuk, hogy a root megkapja a YaST2-ncurses kimenetét e-mailben. Ezt természetesen

ki is hagyhatjuk Figyelem Kérjük, hogy fenti példát NE SZÓ SZERINT vegye át, hanem változtassa meg az időpontokat, különben a SuSE FTP szervere nagy valószínűséggel túl lesz terhelve illetve nem enged be, mivel egyszerre túl sokan próbálnak csatlakozni. Figyelem SuSE Linux – Rendszerkézikönyv 71 5. Mentsük az új cron feladatot az alábbi billentyűk megnyomásával (egymás után gépelendő): (Esc) :wq illetve (Esc) ZZ Készen vagyunk, a cron démon automatikusan újraindul és a megadott időpontban elindítja a YOU-t. A feladatot bármikor meg tudjuk tekinteni a /var/spool/cron/tabs/root fájlban. Szerkesztéséhez egyszerűen adjuk ki újból a crontab -e parancsot. 72 YOU – A YaST Online frissítési modulja 4 Ebben a fejezetben a Linux rendszer betöltésének különböző módjait mutatjuk be. Hogy ezt a folyamatot jobban megértsük, először is meg kell ismernünk néhány általános technikai információt a PC

rendszertöltésével kapcsolatban. A következőkben részletesen ismertetjük a LILO és a GRUB rendszertöltőket, majd röviden bemutatjuk a loadlin programot is. A SuSE Linux eddigi verzióinál a LILO volt az alapértelmezett rendszertöltő. Amennyiben a telepítéskor ‘A meglévő rendszer frissítése’ menüpontot választjuk ki, ezentúl is a LILO fogja elindítani a rendszert. Egy új telepítéskor azonban az új GRUB rendszertöltő kerül telepítésre és beállításra. A PC rendszerindítása . Rendszerindítással kapcsolatos fogalmak . Térképfájlok: a GRUB és a LILO . Rendszertöltő beállítása a YaST segítségével Rendszertöltés a GRUB rendszertöltővel . Rendszerindítás a LILO-val . A LILO beállítása . A LILO telepítése és eltávolítása . Példabeállítások . LILO problémák . Indítás a loadlin segítségével . Indítólemez helyett indító CD .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 75 76 77 80 83 86 94 97 100 100 107 Rendszertöltés és rendszertöltő programok Rendszertöltés és rendszertöltő programok A PC rendszerindítása A gép bekapcsolása után elsőként a BIOS (Basic Input Output System) veszi át az irányítást, mely bekapcsolja a képernyőt és a billentyűzetet, valamint ellenőrzi a memóriát. Amíg ez a feladat végrehajtódik, semmilyen külső tárolóeszközről vagy más eszközről nem vesz tudomást a rendszer. Miután az alaprendszer elvégezte a belső beállítását, nekilát ellenőrizni a körülötte lévő hardvert. A dátumot, időt és a legfontosabb külső eszközökre vonatkozó információt a CMOS beállítások tartalmazzák (rendszerint erre vonatkozik a CMOS

setup). A CMOS olvasása után a BIOS felismerheti az első merevlemezt (beleértve például a geometriájára vonatkozó adatokat). Ezután képes lesz onnan betölteni az operációs rendszert (OS). Ahhoz, hogy az operációs rendszert betöltse, a BIOS 512 bájtnyi adatot olvas be az első merevlemezről a rendszermemóriába, és végrehajtja a terület elején található programkódot. Az ott található utasítások meghatározzák a rendszertöltési folyamat jó részét. Ez okból nevezzük a merevlemez első 512 bájtját Master Boot Record-nak, röviden MBR-nek. Minden PC a BIOS-ban tárolt rutinok (meghajtók) segítségével éri el a perifériákat. A rendszertöltési folyamat eléggé összetett, lényegében annyit kell megértenünk belőle, hogy az egészen az MBR betöltéséig a telepített operációs rendszertől teljesen függetlenül, minden PC-n azonos módon zajlik. A Master Boot Record Az MBR elrendezése egy független hagyomány szerint vált

szabvánnyá. Az első 446 bájt a programkód számára van fenntartva. A következő 64 bájt helyet ad a partíciós táblának, négy partícióig (lásd a Particionálás haladóknak fejezetben). Partíciós tábla nélkül nem tudnánk fájlrendszert létrehozni (amit például MSDOS alatt betűkkel jelölünk) a merevlemezen, azaz a lemez használhatatlan lenne a tábla nélkül. Az utolsó két bájt egy különleges „magic number”-t (AA55) tartalmaz. Bármely MBR, amely megpróbálja felülírni ezt más számmal, kudarcot vall. Rendszertöltő szektorok A rendszertöltő szektorok az elsők egy merevlemezes partíción, kivéve a kiterjesztett partíciók esetén, melyek „tartályként” szolgálnak más partíciók számára. 512 bájtot szánnak arra, hogy tartalmazzák azt a kódot, ami képes elindítani a partíción lévő operációs rendszert. A DOS-ra formázott, 74 A PC rendszerindítása DOS vagy Windows 95/98 betöltése Az MBR tartalmazza az

arra vonatkozó információt, hogy a merevlemez mely partíciója „aktív”, azaz melyik partíción érdemes keresni az indítandó operációs rendszert. Ennek értelmében a DOS-t mindig az első merevlemezre kell telepíteni. A végrehajtható kód az MBR-ben (a „rendszertöltő első fokozata”) leellenőrzi, vajon a megjelölt partíció tartalmaz-e érvényes indítószektort. Ha igen, a „rendszertöltő második fázisa” onnan indulhat. DOS rendszerprogramok most már betöltődhetnek, és látni fogjuk a szokásos DOS promptot DOS esetén csak elsődleges partíció lehet aktívként jelölve. Ezért nem használhatunk kiterjesztett partíción belüli logikai partíciót rendszerindító DOS partícióként. Rendszerindítással kapcsolatos fogalmak A legegyszerűbb rendszerindítás csak egy gépet feltételez, egy telepített operációs rendszerrel. A PC-ken általában csak DOS vagy Windows 95/98/ME van egyedüli rendszerként telepítve. A

rendszerindítási folyamat ebben az esetben már ismert. 4 Rendszertöltés és rendszertöltő programok windowsos és OS/2-es partíciók kifejezetten ezt is teszik. Ezzel ellentétben a Linux rendszerpartíciók az elejükön üresek. A Linux partíció tehát nem indítható közvetlenül, bár tartalmazhat egy rendszermagot és egy érvényes gyökérfájlrendszert. A rendszertöltő szektor követi a hagyományokat, és bejegyzi a „magic number”-t az MBR utolsó két bájtjába. Hasonlóképpen áll a dolog, ha a Linux az egyedül használt operációs rendszer. Ebben az esetben elméletileg kihagyható a LILO telepítése. Ennek azonban az a nagy hátránya, hogy a rendszermag számára a rendszerindításkor nem adhatók át paraméterek. Amennyiben több telepített operációs rendszerünk van, több új rendszerindítási lehetőség kínálkozik. Egyéb operációs rendszer indítása hajlékonylemezről: Egy operációs rendszer a merevlemezről, a többi egy

rendszerindító hajlékonylemez használatával indítható. Követelmények: a floppymeghajtó képes legyen rendszerindításra. Példa: DOS vagy Windows 95/98 van a merevlemezre telepítve, és a Linux betöltése rendszerlemezről történik. SuSE Linux – Rendszerkézikönyv 75 Előny: Elkerülhetjük a lehetséges rendszertöltő ügyes-bajos telepítését. Hátrány: Biztosnak kell lennünk abban, hogy nem fogyunk ki a működő rendszerindító lemezekből. Előny vagy hátrány is lehet, hogy a használat körülményeitől függően Linuxunk nem képes rendszertöltő lemez nélkül indulni. Rendszertöltő telepítése: Elvileg ez lehetővé teszi tetszőleges számú operációs rendszer használatát egy egyedülálló gépen. A rendszer kiválasztása a rendszer indításakor történik. Egyetlen feltétele az, hogy a kiválasztott rendszertöltőnek minden egyes operációs rendszert tudnia kell indítani. Térképfájlok: a GRUB és a LILO Az

operációs rendszer betöltésekor az a legnagyobb probléma, hogy a betöltendő rendszermag egy olyan eszközön található fájl, amivel a BIOS nem tud mit kezdeni. A BIOS ugyanis csak a merevlemezt „ismeri”, a partíció és a fájlrendszer fogalma számára ismeretlen. E probléma kiküszöbölésére dolgozták ki az ún. térképeket illetve térképfájlokat (angolul Map Files). A térképfájlokban az kerül bejegyzésre, hogy a merevlemez fizikai egységein hol találhatók az adatok. Egy térképfájl feldolgozásakor a BIOS abban a sorrendben tölti be az adatokat, ahogyan azok a térképfájlban szerepelnek, és így épül majd fel a fájl a memóriában. A legnagyobb különbség a LILO és a GRUB között az, hogy a LILO szinte teljesen vakon bízik a térképfájlokban, amíg a GRUB minél gyorsabban „szeretne megszabadulni” a térképfájloktól. Ezt a GRUB az ún File System Code rendszer segítségével végzi, mely lehetővé teszi, hogy már a

rendszerindításkor is az elérési útvonalon keresztül érjük el az egyes fájlokat és ne a blokkszám alapján. Ennek a különbségnek történelmi oka van. Amikor a Linux még gyerekcipőben járt, nagyon sok különböző fájlrendszer létezett hozzá. Ekkor fejlesztette ki Werner Almesberger a LILO rendszertöltőt, melynek az volt a különlegessége, hogy a fájlrendszertől függetlenül tudta indítani az operációs rendszert. A GRUB még idősebb a LILO-nál, Unix és BSD környezetben „nőtt fel”, ahol rendszerint mindenki ugyanazt a fájlrendszert használta és ahol előre adott volt a rendszertöltő helye a fájlrendszeren. Ennek a rendszertöltőnek ismernie kellett a fájlrendszer felépítését, a gyökérpartíciót és az azon lévő rendszermag helyét. Egy további lényeges különbség a két rendszertöltő között, hogy a LILO forráskódja 16-bites Assembly kódban lett írva, a GRUB viszont egy 32-bites C környezetben. E

különbség magyarázata azonban túlmutat könyvünk témáján 76 Térképfájlok: a GRUB és a LILO Rendszertöltő beállítása a YaST segítségével A YaST rendszertöltő modulja lényegesen egyszerűsíti a rendszertöltő beállítása. Annak ellenére, hogy a rendszertöltő beállításához csak pár kattintás szükséges, egy kifejezetten összetett dologról van szó. A modul futtatása előtt javasoljuk, a Rendszertöltés a GRUB rendszertöltővel (80. oldal) és a Rendszerindítás a LILO-val bekezdés (83. oldal) tanulmányozása, így kimélhetünk magunkat kellemetlen meglepetésektől. Az alábbi fejezet első sorban az alapértelmezett GRUB telepítésre vonatkozik, azonban számos általános információkat is tartalmaz. A modul indításához válasszuk ki a YaST vezérlőközpontban lévő ‘Rendszer’ ➝ ‘Rendszertöltő beállítása’ pontot. Erre megjelenik egy párbeszédablak, amelyben az aktuális

rendszertöltő-beállításokat láthatjuk. A főablak 4 Rendszertöltés és rendszertöltő programok A következő részben a rendszertöltő telepítését mutatjuk be a GRUB rendszertöltő példáján. Ezt követően a LILO rendszertöltő főbb tulajdonságairól lesz szó. A LILO teljes dokumentációja a /usr/share/doc/packages/lilo könyvtárban található, a user.dvi fájlban Ezt a fájlt elolvashatjuk például a ‘kdvi’ programmal. A fehérrel kitöltött konfigurációs ablakban három oszlop található. Baloldalt a ‘Mod.’ pont alatt találhatjuk azokat az opciókat, melyek a középső oszlopban felsorolt lehetőségek közül módosításra kerültek. Az aktuális érték a jobboldali oszlopban található. Egy új opció hozzáadásához kattintsunk a ‘Hozzáadás’ gombra, módosításához válasszuk ki az egérrel, majd kattintsunk a ‘Szerkesztés’ gombra. Amennyiben egy már beállított opciót nem szeretnénk használni, válasszuk

ki a ‘Törlés’ pontot. A konfigurációs ablak alatt, jobboldalt található egy ‘Visszaállítás’ legördülő menü, mely az alábbi lehetőségeket biztosítja: Javaslat egy új konfigurációhoz Ha kiválasztjuk ezt a pontot, akkor a YaST létrehoz egy új konfigurációs fájlt. Amennyiben a rendszerben talál egy másik Linux verziót vagy egy másik operációs rendszert, azt is integrálja a konfigurációba. Ilyenkor ki tudjuk választani, hogy a Linuxot közvetlenül vagy egy másik rendszertöltőn keresztül szeretnénk indítani. Ha az utóbbinél döntünk, akkor a rendszerindítás két párbeszédablakból fog állni. SuSE Linux – Rendszerkézikönyv 77 Kezdés elölről Amennyiben azt szeretnénk saját magunk is szerkeszthetjük a konfigurációs fájlt. Ezt a menüpontot kiválasztva segítség nélkül létre kell hoznunk a rendszertöltő konfigurációját. Beállítások beolvasása a lemezről A YaST beolvassa a létező konfigurációs

fájlokat és lehetőségünk van azok szerkesztésére. Javaslat kombinálása létező GRUB bejegyzésekkel Amennyiben a számítógépen egy másik operációs rendszer és egy régebbi Linux verzió található, akkor ezt a pontot kiválasztva egyetlenegy rendszerindítási párbeszédablakot fogunk majd kapni, ahol választani tudunk az alapértelmezett SuSE Linux, a másik operációs rendszer és a rendszertöltő régebbi bejegyzései közül. A menüszerkezet létrehozása ebben az esetben eltarthat egy ideig. Ez a lehetőség csak akkor áll fent, ha a GRUBot használjuk rendszertöltőnek. A felsorolt visszaállítási lehetőségek közül a konfigurációs javaslat közvetlen szerkesztésre is van lehetőség. Ehhez kattintsunk a ‘Konfiguráció szerkesztése’ gombra, majd válasszuk ki a szerkesztendő fájlt a ‘Fájlnév’ listából. A módosítások mentéséhez kattintsunk az ‘OK’ gombra. Ha meggondoltunk magunkat használjuk a ‘Vissza’ gombot,

hogy vissza térjünk a konfigurációs párbeszédablakhoz. Ha teljesen ki szeretnénk lépni a rendszertöltő beállító párbeszédablakból, nyomjuk meg az ‘Elvet’ gombot. Tájékoztatás Vegyünk figyelembe, hogy GRUB alatt fontos az egyes bejegyzések sorrendje. Kövessük tehát a GRUB által javasolt sorrendet, különben előfordulhat, hogy a rendszer nem fog indulni. Tájékoztatás A rendszertöltő szerkesztési lehetőségei A nem tapasztalt felhasználók számára körülményesnek tűnhet a YaST által vezérelt rendszertöltő beállítása. Előnye azonban az, hogy nem kell közvetlen hozzányúlnunk a konfigurációs fájlokhoz. Egyszerűen válasszunk ki egy opciót, kattintsunk a ‘Módosítás’ gombra, és máris igazíthatjuk a megfelelő opciót egy külön párbeszédablakban. Az elérhető opciók nagy mértékben az alkalmazott rendszertöltőtől függnek. Az alábbiakban a GRUB rendszertöltő főbb beállítás lehetőségeit

mutatjuk be: Rendszertöltő típusa: A ‘Szerkesztés’ gombra kattintva először ki kell választanunk , hogy a LILO-t vagy a GRUB-ot szeretnénk használni 78 Rendszertöltő beállítása a YaST segítségével Rendszertöltő telepítési helye: Itt adhatjuk meg, hová kerüljön telepítésre a rendszertöltő. Ha a gépünkön csak Linux van, akkor mindenképpen az MBR-be telepítsük a rendszertöltőt. Ha több operációs rendszer van a gépen, akkor a legbiztonságosabb mód a hajlékonylemezre történő telepítés. Kényelmi szempontokból azonban akkor is az MBR-be történő telepítést javasoljuk. Különlegese esetekben máshová is telepíthető a rendszertöltő. Erről a Hová telepíthető a LILO? bekezdésben (85 oldal) olvashatunk bővebben. Lemeze sorrendje: Ha gépünkben több merevlemez található, netán vegyes EIDE-SCSI rendszerünk van, itt be tudjuk állítani, hogy a BIOS szerint milyen sorrendben vannak a merevlemezek.

Rendszerint itt nincs mit beállítanunk. Alapértelmezett bejegyzés: Itt adhatjuk meg, hogy melyik rendszer induljon alapértelmezett esetben, azaz abban az esetben, ha csak bekapcsoljuk a számítógépet és nem nyúlunk hozzá a rendszertöltő menühöz. Az alapértelmezett bejegyzés változtatásához válasszuk ki a megfelelő bejegyzést, majd kattintsuk az ‘Alapértelmezettként beállít’ gombra. 4 Rendszertöltés és rendszertöltő programok rendszertöltőnek. Következik egy további párbeszédablak, ahol lehetőségünk van arra, hogy egy meglévő LILO konfigurációt átalakítsuk GRUB konfigurációvá és fordítva. Ha megváltoztatjuk a rendszertöltő típusát, megjelenik egy megfelelő figyelmeztető ablak, ahol ki tudjuk választani, hogy új teljesen újonnan, a YaST javaslata vagy egy meglévő konfiguráció alapján szeretnénk a rendszertöltő beállítani. Ha véletlenül megváltoztattuk a rendszertöltő típusát, vissza tudjuk

állítani azt ugyanitt, mindaddig, amíg ki nem lépünk a rendszertöltő modulból. Elérhető bejegyzések: Az itt látható bejegyzések közül választhatunk majd a rendszer indításakor. A beállítások módosításához használjuk fenti ‘Alapértelmezett bejegyzés’ pontot. Rendszertöltő partíció aktiválása: Ezzel az opcióval aktívvá tudjuk tenni azt a partíciót, ahová telepítésre kerül a rendszertöltő (rendszerint a /boot vagy a gyökérpartíció /). Az MBR-ben lévő kód helyettesítése: Ha megváltoztattuk a rendszertöltő helyét, itt el tudjuk dönteni, hogy a meglévő MBR felülírásra kerüljön-e. Az utolsó bekezdésben néhány kényelmi funkciót lehet beállítani, amelyekre azonban itt nem térünk ki részletesebben. A leghasznosabb közülük a ‘timeout’, ahol be tudjuk állítani, hogy a rendszertöltő képernyője hány másodpercig legyen látható. SuSE Linux – Rendszerkézikönyv 79 További

információkat a rendszertöltő beállításához a Rendszertöltés a GRUB rendszertöltővel bekezdésben és az A lilo.conf szerkezete bekezdésben találhatunk (86. oldal) és a megfelelő információs oldalakon találhatunk (info:/grub parancs a Konquerorban). A GRUB ezen felül egy nagyon jó online kézikönyvvel is rendelkezik, mely az alábbi címen található: http://www.gnuorg/software/grub/ A LILO-hoz a man lilo.conf parancs ad további felvilágosítást (man:/lilo parancs a Konquerorban). Rendszertöltés a GRUB rendszertöltővel Az eddig felsoroltak tulajdonképpen ugyanúgy a GRUB-ra is érvényesek (az említett kivételektől eltekintve). Ez azonban néhány pontban mégis különbözik az eddigi alapértelmezett rendszertöltőtől. A GRUB is két lépésben tölti be a rendszert. Első lépésben 512 bájtot ír az MBR illetve a rendszerindításhoz használt partícióba, a második lépésben („stage2”) pedig megkeresi a megfelelő térkép

(map) fájlt. Innentől kezdve a GRUB lényegesen különbözik a LILO-tól. A stage2 ugyanis már hozzá tud férni a fájlrendszerekhez (jelenleg ext2, ext3, reiser FS, jfs, xfs, minix és a Windows által használt DOS FAT fájlrendszer). Ha a fájlrendszer egy támogatott BIOS lemezeszközön található (hajlékonylemez illetve a BIOS által felismer merevlemez) a GRUB az ezeken a fájlrendszereken lévő fájlokat meg tudja jeleníteni, végre tudja hajtani vagy be tudja tölteni a memóriába (rendszermagmodul vagy initrd). Ehhez nem kell mást tennünk, mint megadni a megfelelő parancsot. A legnagyobb különbség a LILO-val szemben tehát az, hogy a GRUB, a telepítése után anélkül is végre tudja hajtani a rendszermagüzeneteket illetve a menümódosításokat, hogy ehhez szerkesztenünk kellene egy konfigurációs fájlt. A GRUB ezeket az adatokat a rendszerindításkor automatikusan megtalálja, majd beolvassa azokat. A GRUB menü A legfontosabb fájl a

felhasználó számára a GRUB menüfájlja, a /boot/grub/ menu.lst fájl A konfigurációs fájl az operációs rendszerekről és az egyes partíciókról minden olyan információt tartalmaz, ami a menün keresztül történő rendszerindításhoz szükséges. A GRUB ezt a konfigurációs fájlt minden egyes rendszerindításkor újra beolvassa, így nincs szükségünk arra, hogy a fájl módosítását követően újra 80 Rendszertöltés a GRUB rendszertöltővel A könnyen átlátható konfigurációs fájl különböző parancsokból áll. Minden egyes sor egy parancsból és a megfelelő paraméterekből áll. Az egyes paramétereket egy szóközzel (illetve az első paraméter előtt egy egyenlőség jellel) lehet elválasztani. Megjegyzéseinket egy ketteskereszttel tudjuk megjelölni (‘#’). Ahhoz, hogy a GRUB felismerje az egyes menübejegyzéseket, minden egyes menübejegyzésnek meg kell adnunk egy nevet (title). A title bejegyzés mögött lévő

szöveg egy az egyben megjelenik a GRUB grafikus indítómenüjében. A menübejegyzés alatt található parancsokat pedig végrehajtja, amíg nem talál új title bejegyzést. A GRUB-nak akkor a legkönnyebb a feladata, ha egy másik rendszertöltőt megbízhat az operációs rendszer elindításával. Az ehhez szükséges parancs a chainloader, paraméterként rendszerint a betöltendő partíció indítóblokkját kell megadni egy GRUB specifikus formában, például: chainloader (hd0,3)+1 Az egyes eszközök elnevezéséről az A BIOS eszközök elnevezése bekezdésben (következő oldal) olvashatunk bővebben. Fenti példában az elsődleges merevlemez negyedik partícióján lévő első blokkról van szó. A kernel parancs segítségével meg tudjuk adni a betöltendő rendszermag képmásfájlt. Első paraméterként a rendszermag képmás elérési útvonalát kell megadnunk, az esetleges további paraméter a rendszertöltő parancssorából tudjuk megadni. 4

Rendszertöltés és rendszertöltő programok telepítsük a rendszertöltőt. Elég a fájlt szerkeszteni a YaST2 vagy kedvenc szerkesztőnk segítségével. Ha a rendszermag nem tartalmazza azokat a meghajtókat, amelyekkel hozzá tud férni a gyökérfájlrendszerhez, akkor az initrdt kell használnia. Ehhez egy külön GRUB parancsot kell kiadnunk, mely paraméterként tartalmazza az initrd elérési útvonalát. Mivel azt a betöltött rendszerképmás tölti be, mindenképpen a kernel parancs után kell megadnunk azt. A root paranccsal a rendszermag és az initrd fájlok specifikációit tudjuk egyszerűbbé tenni. A parancs tulajdonképpen nem tesz semmit, egyszerűen hozzáigazítja a fájlrendszer elérési útvonalait. A root parancs egyedüli paramétere csak a GRUB eszköz, vagy az azon lévő partíció lehet. Ha tehát a rendszermaghoz, az initrd-hez vagy bármilyen egyéb elérési útvonalhoz nem adjuk meg kifejezetten az eszközt, akkor az elérési útvonal

(a legközelebbi root parancsig) automatikusan kiegészítésre kerül az itt megadott eszközzel. Minden egyes menübejegyzésnél megtalálható a boot parancs, így ezt a parancsot nem kell megadnunk a menüfájlban. Amennyiben azonban a GRUB SuSE Linux – Rendszerkézikönyv 81 rendszertöltőt interaktív módon szeretnénk használni, meg kell adnunk a boot parancsot. A boot parancsnak nincs paramétere, egyszerűen végrehajtja a rendszermag képmásfájlt, illetve a megadott rendszertöltőt. Ha minden menübejegyzés megvan, meg kell adnunk, hogy melyik legyen az alapértelmezett (default). Ha nem adunk meg alapértelmezett bejegyzést, a GRUB az első bejegyzést használja (0 bejegyzés). Ezen felül megadhatjuk, hogy a rendszertöltő hány másodpercig várjon a rendszer betöltéséig. Ezt a timeout bejegyzéssel adhatjuk meg. Célszerű a timeout és a default parancsokat a menübejegyzés elejére írni. A BIOS eszközök elnevezése A GRUB

„hovatartozása” onnan derül ki, hogyan kezeli a különböző BIOS eszközöket. Ehhez egy, a BSD rendszerhez hasonló eljárást használ: a hajlékonylemez meghajtókat (0x00, 0x01) fd0 és fd1 néven szólítja meg, a merevlemezeket (0x80, 0x81, 0x82), melyeket a BIOS vagy egy esetleges külön vezérlő vezérli hd0, hd1 stb. néven, a vezérlőtől függetlenül Mind a LILO, mind a GRUB küzd azzal a problémával, hogy nem tudja egyértelműen azonosítani a BIOS eszközneveket. Mindketten hasonló algoritmusokat használnak a megfelelő hozzárendeléshez, a GRUB azonban egy külön, szerkeszthető fájlban tárolja a hozzárendelést. A merevlemez egyes partícióit egy vesszővel elválasztott szám jelöli meg, ahol az első partíciót a 0 jelöli meg. Egy teljes értékű GRUB elérési útvonal a zárójelben megadott eszköznévből valamint a szükséges rendszerképmásfájl teljes elérési útvonalából áll. Az elérési útvonalnak egy per jellel

kell kezdenie Ha rendszerünkön például egyetlen egy merevlemez található, amin a SuSE Linux rendszermag az első partíción található, a következőképpen kell kinéznie a GRUB bejegyzésnek: (hd0,0)/boot/vmlinuz Tájékoztatás A GRUB a partíciók számozását nullánál kezdi. A (hd0,0) tehát a /dev/hda1-nek felel meg. Tájékoztatás Telepítés a GRUB burok használatával A GRUB tulajdonképpen nem csak egy rendszertöltő, hanem egyben egy parancsértelmező burok is. Az utóbbi programot GRUB buroknak 82 Rendszertöltés a GRUB rendszertöltővel Amennyiben a GRUB-ot linuxos programként (nem rendszertöltőként) szeretnénk futtatni, akkor fontos az egyes eszközök hozzárendelése. A rendszertöltő ilyenkor kiolvassa a device.map fájlt, mely minden egyes sorban egy GRUB eszközt és a hozzátartozó Linux eszköznevet tartalmaz. Mivel az egyes IDE, SCSI és egyéb eszközök sorrendje számos különböző tényezőtől függ, és mivel a

Linux ezeket nem ismeri fel automatikusan, megadhatjuk az egyes eszközök linuxos hozzárendelési sorrendjét a device.map fájlban Ha tehát a rendszertöltéskor problémákat tapasztalnánk, ellenőrizzük, hogy az eszközök sorrendje a device.map fájlban megfelel-e a BIOS sorrendnek A fájlt rendszerint a /boot/grub/ könyvtárban találhatjuk meg. További információk A GRUB honlapján (http://www.gnuorg/software/grub/) további információk találhatók a rendszertöltőről, német, angol és japán nyelven. Amennyiben telepítve van a texinfo rendszer (alapértelmezett esetben telepítésre kerül), akkor az info grub paranccsal illetve a Konquerorban az info:/grub bejegyzéssel megtekinthetjük a GRUB információs oldalait. 4 Rendszertöltés és rendszertöltő programok nevezzük. A GRUB burok lehetőséget nyújt arra, hogy a rendszertöltőt egy hajlékonylemezre vagy a merevlemezre telepítsük, akár a rendszer indításakor. Ehhez használhatjuk az

install vagy a setup parancsot. E két parancs lényegesen egyszerűbbé teszi a rendszer javítását, hiba esetén. Rendszerindítás a LILO-val A Linux rendszertöltő általában az MBR-be kerül telepítésre. Amikor elindul, a LILO már elér minden a gépben lévő merevlemezt, és telepítése során képes minden szükséges adatot megtalálni a nyers (raw) merevlemezről, a particionálásra vonatkozó információk nélkül is. Így az operációs rendszer bármelyik merevlemezről be tud töltődni. A partíciós tábla általános DOS MBR bejegyzéseit, melyek az aktív partícióra vonatkoznak, a LILO MBR-beli használata esetén figyelmen kívül hagyja. Fontos különbség a szokásos DOS rendszertöltő folyamathoz képest, hogy a LILO-t használva bármely telepített rendszer közül választhatunk. Az MBR memóriába töltése után a LILO elindul, és felszólít, hogy válasszunk ki egyet a telepített operációs rendszerek közül. A LILO egy sokoldalú

rendszertöltő program. Betölti egy partíció indító szektorát és elindít egy operációs rendszert, vagy betölti a Linux rendszermagot és indítja a Linuxot. SuSE Linux – Rendszerkézikönyv 83 A LILO még egy fontos lehetőséggel rendelkezik: képes parancssort átadni a rendszermagnak. Biztonsági okokból ez jelszóval levédhető A LILO elemei A LILO az alábbi részekből áll: Első lépés a LILO kód elindítása az indító szektorban, ami ezután aktiválja a rendszerindítást, Tipp A LILO által telepített indító szektor tartalmaz olyan kódrészletet, ami vírusokban is megtalálható. A DOS víruskeresők általában vírusosnak érzékelik a /boot/chain.b vagy a /boot/os2 db fájlokat és jelzik, hogy találtak egy AIRCOP indítószektor vírust. Tipp a LILO kód szíve a /boot/boot.b-ben található, egy térkép (map) fájl, alapértelmezetten a /boot/map, ahová a LILO bejegyzi a Linux rendszermagok helyét és egyéb adatokat,

opcionális: egy üzenet fájl, aminek tartalma üdvözlő üzenetként megjelenik a választás előtt. Ez rendszerint a /boot/message (vagy hasonló) alatt található, a különböző Linux rendszermagok és indító szektorok, amit a LILO felajánlhat. Figyelem Bármilyen írási kísérlet (még fájl áthelyezése is) tönkreteszi a map fájlt. Ez a LILO újratelepítését igényli (lásd Telepítés a beállítások megváltoztatása után fejezetben (94. oldal)) Ez csak akkor fontos, amikor egy másik rendszermagra váltunk. Figyelem 84 Rendszerindítás a LILO-val 4 Hová telepíthető a LILO? http://sdb.suselinuxhu/en/sdb/html/1024 Zylinderhtml Az alábbi helyekre telepíthetjük a LILO indító szektorát. Egy hajlékonylemezre. Ez a legbiztonságosabb, azonban leglassabb lehetőség a LILO-val való indításra. Akkor válasszuk ezt a megoldást, ha nem akarjuk megváltoztatni a merevlemez indító szektorait. Az első merevlemez elsődleges Linux

partíciójának indító szektorába. Ez érintetlenül hagyja az MBR-t. Mielőtt indíthatnánk, a partíciót aktívvá kell tennünk az fdisk-kel. Ha a Linux csak logikai meghajtókra van telepítve, esetleg a második merevlemez partícióira, akkor csak az első meghajtó kiterjesztett partíciójának indító szektora marad (ha lehet ilyen). A Linux fdisk programja aktiválni is tud egy ilyen partíciót. Ha több rendszert akarunk indítani a merevlemezről, akkor ez meglehetősen körülményes módszer. Minden alkalommal, amikor indítani akarunk, előzőleg aktiválnunk kell a megfelelő indító szektort. A következő két változat sokkal kényelmesebb. Rendszertöltés és rendszertöltő programok A fentebb említett első lépés meghatározza a LILO telepítési helyét is. Számítógépünk BIOS verziójától függően elképzelhető, hogy a rendszermag képmásnak /boot/vmlinuz a merevlemez első 1024 cilinderén belül kell lennie. Ez megoldható

egy kis külön partícióval, ami csatolható a /boot könyvtárhoz, és teljes egészében az első 1024 cilinderen belül található. További információt a SuSE terméktámogatási adatbázisában találunk: A Master Boot Record-ba. Ez a változat kínálja a legnagyobb rugalmasságot. Ráadásul csak ez az egyetlen lehetséges alternatíva, ha az összes Linux partíció a második merevlemezen van és nincs kiterjesztett partíció az első meghajtón. Minden beállítást az MBR-ben rendkívüli körültekintéssel kell szerkesztenünk, mivel a hibák súlyos következményekkel járhatnak. Ennek a biztonsági vonatkozásait A LILO telepítése és eltávolítása pontban tárgyaljuk. Ha eddig más rendszertöltőt használtunk és továbbra is azt akarjuk használni. A rugalmasságuktól és teljesítményüktől függően különböző változatok léteznek. Elterjedt eset, hogy az elsődleges Linux partíciónk a második merevlemezen van, ahonnan a Linuxot is

indítjuk. A rendszertöltőnk képes indítani ezt a partíciót az indító szektoron keresztül Ezután aktiválhatjuk a Linux partíciónkat a LILO-nak ebbe az indító szektorba történő telepítésével és megmondva a rendszertöltőnknek, hogy ez aktív. SuSE Linux – Rendszerkézikönyv 85 Figyelem Legyünk óvatosak, ha megpróbálunk egy logikai Linux partíciót indíthatóvá tenni a LILO-nak arra a partícióra való telepítésével. A siker nem garantált a 8.1-es verzióban, még akkor sem, ha a másik rendszertöltőnk képes indítani logikai partíciókat. Figyelem A LILO beállítása A LILO egy rugalmas rendszertöltő, ami sokféle módszert kínál az egyedi igényű beállítások alkalmazására. A legfontosabb lehetőségeket és értelmezéseket a következőkben írjuk le. A LILO beállítása az /etc/lilo.conf-ban történik Ha most telepítjük a LILO-t első alkalommal, akkor ajánlatos a YaST-ot használni a LILO beállítására. A

további beállításokat később is elvégezhetjük az /etc/lilo.conf szerkesztésével. Tájékoztatás Az /etc/lilo.conf-nak csak a root számára szabad olvashatónak lennie, mivel jelszavakat is tartalmazhat és az egész rendszer épsége függ tőle (lásd az Egyéb LILO opciók pontot. Ez a SuSE Linuxban az alapértelmezett beállítás). Tájékoztatás Javasolt, hogy tartsunk a meglévő régi (és működő) lilo.conf fájlból biztonsági másolatot egy biztos helyen. A beállításunk csak akkor lép életbe, amikor újratelepítjük a LILO-t az /etc/lilo.conf megváltoztatása után (lásd A LILO telepítése és eltávolítása pontot). A lilo.conf szerkezete Az /etc/lilo.conf egy global section-nel kezdődik, amit egy vagy több system section követ minden egyes operációs rendszerre, melyeket majd a LILO-nak kell elindítania. Egy új rész (section) kezdő sora mindig image vagy other. Az /etc/lilo.conf fájlban a bejegyzések sorrendje csak olyan

mértékben számít, hogy a listában elsőként szereplő operációs rendszer indul el 86 A LILO beállítása A 2. fájllistában egy olyan példabeállítás látható, amely szerint a számítógépen két operációs rendszer (DOS és Linux) is telepítve van. Két Linux rendszermag (/boot/vmlinuz és /boot/vmlinuz.old) a /dev/hda7-en található, valamint az MS-DOS (vagy Windows 95/98/ME) a /dev/hda1-en. A Memtest86 ezenkívül szintén rendelkezésre áll. # LILO Configuration file # LILO általános rész boot=/dev/hda # A LILO az MBR-be települ backup=/boot/MBR.hda20010925 # A régi MBR backup fájlja # 2002. szept 25 vga = normal # normál szöveges mód (80x25 karakteres) read-only menu-scheme = Wg:kw:wg:Wg lba32 # BIOS használata az 1024 # cilinderes határ kikerülésére prompt password = q99iwr4 # LILO jelszó (csak példa) timeout = 80 # 8 mp-et vár, mielőtt # az alapbeállítást # elkezdené betölteni message = /boot/message # A LILO üdvözlő

szövege 4 Rendszertöltés és rendszertöltő programok alapértelmezettként, ha nincs felhasználói beavatkozás. Ezt be lehet állítani a delay= és timeout= opciókkal. # Vége a LILO általános részének SuSE Linux – Rendszerkézikönyv 87 # Itt kezdődnek az egyes bootolható partíciók adatai ### LILO Linux rész (alapbeállítás) image = /boot/vmlinuz # alapbeállítás label = linux root = /dev/hda7 # A kernel gyökérpartíciója initrd = /boot/initrd ### LILO Linux rész (szükség esetén) image = /boot/vmlinuz.shipped # alapbeállítás label = Failsafe root = /dev/hda7 # A kernel gyökérpartíciója initrd = /boot/initrd.suse optional ### LILO más rendszerek (Windows) other = /dev/hda1 # Windows partíció label = windows ### LILO memóriateszt (memtest) image = /boot/memtest.bin label = memtest86 optional 2. fájllista: Példabeállítás az /etc/liloconf-ban Minden ami a ‘#’ jel és a sor vége között van, megjegyzésnek tekintendő. A

szóközöket és megjegyzéseket a LILO figyelmen kívül hagyja, ezek a könnyebb átláthatóság érdekében használhatók. Most végignézzük a legfontosabb sorokat lépésről lépésre: Globális opciók (Paraméter rész) . boot=hindítóeszköz (bootdevice)i Az az eszköz, amelynek az első szektorába a LILO-t telepíteni kell. Az hindítóeszközi lehet: egy hajlékonylemez-meghajtó (/dev/fd0), egy partíció (például /dev/hdb3), vagy egy egész lemez (például /dev/hda). Utóbbi opció azt jelenti, hogy a LILO az MBR-be kerül Alapértelmezés: ha ez az opció hiányzik, a LILO a jelenlegi gyökér partícióba települ. 88 A LILO beállítása 4 . lba32 . prompt A LILO prompt mindig megjelenik. Az alapértelmezés: nincs prompt (hasonlítsuk össze a delay opcióval távolabb lent). Ez akkor javasolt, ha a LILO-nak több mint egy rendszert kell kezelnie. Továbbá a timeout-ot is be kell állítanunk, hogy biztosítsuk az automatikus indítást, ha semmit

nem adunk meg a promptnál. . timeout=htizedmásodperci Állítsuk a timeout-ot a prompt opcióra, így lehetővé téve egy automatikus indítást, ha az adott időn belül semmi beavatkozás nem történik. A htizedmásodperci a hátralévő időt jelöli 0,1 másodperces   lépésekben. Nyomjuk meg a ⇑  -et és a timeout megszűnik. Alapértelmezés: 80. A Linux szekció . image=hrendszermag fájl (kernelimage)i Ide az indítandó rendszermagfájl nevét kell megadni teljes elérési úttal együtt. Az új rendszerünkben ez általában /boot/vmlinuz . label=hnév i A rendszer választásunk szerinti neve. Használata javasolt, mert az alapértelmezés, azaz a rendszermagfájl neve kevésbé informatív. A címkének egyedi névnek kell lennie, és szabadon választhatunk nevet a rendszer részére (például Linux). A címke maximális hossza 15 karakter lehet, csak betűket, számokat és aláhúzást használhatunk – sem szóköz, sem speciális karakterek nem

szerepelhetnek a névben. A rendszermagfájl alapértelmezett azonosítója (például /boot/vmlinuz). Rendszerindításnál e név megadásával választhatjuk ki, hogy melyik rendszermag induljon. Ha sok rendszert telepítettünk, célszerű használnunk a message= opciót, aminek segítségével tájékoztató üzenetet írathatunk ki a LILO prompt elé (lásd az Egyéb LILO opciók fejezetben, opció üzenet). Rendszertöltés és rendszertöltő programok Ez az opció lehetővé teszi, hogy az 1024 cilinderes határt figyelmen kívül hagyjuk, ha azt a BIOS támogatja. . root=hrooteszköz (rootdevice)i A Linux rendszerünk gyökérpartíciójának megadása a rendszermag részére (például /dev/hda2). Használatát biztonsági megfontolásból javasoljuk Ha ezt az opciót kihagyjuk, a rendszermag saját eredeti gyökér partícióját tekinti aktív gyökér partíciónak hrendszermag fájl (kernelimage)i. SuSE Linux – Rendszerkézikönyv 89 Linux partíció

(Tartalék) Ha egy magunk által fordított rendszermagot telepítünk, még mindig lehetőségünk van a SuSE szabványos rendszermagját betölteni. . optional Ha úgy döntünk, hogy töröljük a /boot/vmlinuz.shipped fájlt (ami nem ajánlatos), ez a rész ki lesz hagyva a LILO telepítésekor hibaüzenet nélkül. Más rendszerek . other=hpartitioni Az other mondja meg a LILO-nak, hogy az adott partíción más (nem Linux) indítható rendszer van (például /dev/hda1). . label=hnamei A rendszer (általunk választott) neve. Ajánlatos, mert az alapbeállított – nyers eszköznév – kevésbé informatív. Egyéb LILO opciók Az előző részben leírtuk az /etc/lilo.conf fájl által megkívánt bejegyzéseket További lehetőségekről az alábbiakban olvashatunk Azok a beállítások, melyeket képmás opciónak jelöltünk, az operációs rendszer megfelelő részére vonatkoznak. A többi az általános részre az /etc/lilo conf-nak. backup=hbackupi A fájl,

ahova a LILO elmenti az indítószektort. Az alapértelmezett fájl a /boot/boot.xxxx, ahol az xxxx a telepítő partíció eszközszáma Használjunk egyértelmű elnevezést! Ugyanis a későbbiekben nem tudjuk majd kihasználni a LILO beépített visszaállító képességét de úgy gondoljuk, mindenképp jobb, ha körültekintően járunk el (lásd A LILO eltávolítása részt). Figyelem Ha a mentett fájl már létezik, a LILO nem fog készíteni egy újat. Győződjünk meg róla, hogy a név még nem létezik. Figyelem 90 A LILO beállítása 4 compact loader=hboot loader i Egy másik operációs rendszerhez tartozó indító szektor betöltéséhez a LILO létrehoz egy ál (pseudo) MBR-t a térkép fájlban. Induláskor a LILO először elindítja ezt az ál MBR-t, ami elindítja a másik indító szektort. Ez az opció meghatározza azt a fájlt, amiben az ál MBR-hez tartozó kód található. Alapértelmezés: /boot/chain.b (rendszerint ez a helyes) Néha

a LILO-val olyan operációs rendszert akarunk indítani, amely csak az első merevlemezről indítható (például a DOS-t), de azt mégis másik merevlemezre akarjuk telepíteni. A LILO az alábbi lehetőségeket nyújtja, hogy a merevlemezek logikai sorrendje felcserélődjön: map-drive=hszámi és to=hszámi (lásd a 3. fájllistát) # DOS rendszerindítás a második merevlemezről # DOS indítható partíció konfiguráció kezdete other = /dev/hdb1 label = DOS loader = /boot/chain.b map-drive = 0x80 # első hd: BIOS sorszáma 0x80 to = 0x81 # második hd: BIOS sorszáma 0x81 map-drive = 0x81 to = 0x80 table = /dev/hdb # DOS indítható partíció konfiguráció vége Rendszertöltés és rendszertöltő programok Ez az opció akkor ajánlatos, ha a LILO-t floppy-ra akarjuk telepíteni. Ha ezt a beállítást használjuk, a LILO egyidejűleg több szektort próbál beolvasni, ami gyorsabb rendszertöltési folyamatot eredményez. Ez nem működik minden gépen. Nem

ajánljuk ennek beállítását; a szokványos út biztonságosabb és csak egy-két másodperc többletet jelent. 3. fájllista: Kivonat a /etc/liloconf-ból: DOS rendszerindítás a második merevlemezről table=hptablei A hptablei megadja a forráseszközt az ál (pseudo) MBR-be beírásra kerülő partíciós tábla részére (általában ez a /dev/hda vagy a /dev/sda). disk=heszközfájli bios=hBIOS eszközszámi cylinders=hnumerikus érték i SuSE Linux – Rendszerkézikönyv 91 heads=hnumerikus érték i sectors=hnumerikus érték i A fentiekkel mondhatjuk meg a LILO-nak, hogy pontosan milyen BIOS eszközszámot és geometriát kell használnia. Ritkán van rá szükség Van azonban egy kivétel: az IDE-SCSI vegyes rendszer. Ha olyan BIOS-unk van, ami képes váltani az indító eszközöket (például a SCSI-t az IDE elé), és ha használni is akarjuk ezt a képességét, akkor meg kell mondanunk a LILO-nak a kapcsolási sorrendet a BIOS szempontjából. Ez egy

külön bejegyzéssel valósítható meg a lilo.conf fájl global szekciójában A 4 fájllistában egy példa látható egy SCSI/IDE lemezes rendszerről. # Lehetővé tesszük a LILO számára, hogy elérje bootoláskor # a /dev/sda (SCSI) és /dev/hda (IDE) eszközöket, # amennyiben boot sorrendjük fel van cserélve a BIOS-ban: disk = /dev/sda bios = 0x80 disk = /dev/hda bios = 0x81 # # # # A SCSI diszket tekintjük . . az első BIOS diszknek; az IDE merevlemezt pedig . . a második BIOS diszknek 4. fájllista: Kivonat a liloconf fájlból Indítási sorrend: SCSI az IDE előtt linear A LILO telepítésekor ezen opció megadása azt eredményezi, hogy az összes merevlemez-szektorra vonatkozó adat logikaiként tárolódik a fizikai címek helyett, így azok függetlenek a merevlemez geometriájától. Ezt a lehetőséget arra az esetre tervezték, ahol indításkor a BIOS eltérő geometriát érzékel, mint amin a Linux rendszer fut. Csak kivételes esetben

szükséges! A linear opció nem oldja meg az 1024-es cilinderhatár-korlátozást, ami a BIOS által meghatározott indító merevlemez geometriája. Nézzük meg még a következő oldalt: http://sdb.suselinuxhu/sdb/hu/html/ kgw lilo linear.html message=hmessage-filei Egy szövegfájlt határoz meg, melynek tartalma a rendszer indításakor a képernyőn megjelenik. A SuSE Linux egy PCX képet használ a klasszikus indítási üzenet helyett, ha többet akarunk megtudni erről, akkor olvassuk el itt: file:/usr/ share/doc/sdb/de/html/jkoeke bootgrafik 72.html 92 A LILO beállítása 4 Tájékoztatás Tájékoztatás password=hpassword i Lehet akár a globális, akár a rendszerspecifikus részben. Védett elérést nyújt a LILO szolgáltatásokhoz. Ha a biztonságot komolyan vesszük, el kell távolítanunk a jelszót a lilo.conf-ból miután telepítettük azt Mint root annyiszor állítunk be új jelszót a LILO-nak, ahányszor csak akarunk (csak újra kell

telepítenünk a LILO-t utána). Tájékoztatás Figyeljünk arra, hogy amikor rendszerindításkor a jelszót megadjuk, még amerikai billentyűzetkiosztást használunk. Ezért fontos, hogy ne használjunk ékezetes karaktereket a jelszóban. Tájékoztatás read-only Ez az opció megmondja a rendszermagnak, hogy kezdetben csakolvasásra csatolja a gyökér partíciót, ami normális egy Linux rendszer indításakor, mivel később az init szkriptek állítják át írhatóra ezt a fájlrendszert. Ha ezt kihagyjuk, a rendszermag a saját belső beállítását használja, amelyeket a rdev -R hkernelimagei paranccsal megtekinthetünk. delay=htizedmásodperci Rendszertöltés és rendszertöltő programok Ha ezt az opciót használjuk, az üzenetfájl a LILO rendszertöltő része, és a fájl minden változtatása után a LILO-t újra kell telepíteni (lásd A LILO telepítése és eltávolítása fejezetet).     Ha a prompt nincs egyértelműen beállítva, promptot

a ⇑  , Ctrl  , Alt  gombok lenyomásával kérhetünk. A delay= opció beállítja azt az időt, ami után a LILO elindítja az első rendszert a belső listájáról. Az alapértelmezés 0, tehát nincs várakozás. A delay opciónak nincs hatása, ha a promptot a prompt opció jelenítette meg. vga=hképernyő üzemmód i A kívánt VGA üzemmód beállítása indításkor. Használható módok többek között a normal (80x25), az ext (80x50), vagy az ask (utóbbi esetben indításkor kérdezi meg az üzemmódot). A frame buffert bekapcsoló rendszermaghoz a lehetséges értékek és azok angol nyelvű SuSE Linux – Rendszerkézikönyv 93 leírása itt található: /usr/src/linux/Documentation/fb/vesafb. txt. append=”hparaméter i” Paraméterátadási lehetőség a Linux rendszermag számára. Lehetővé teszi a rendszermagok és hardverelemek meghatározását ugyanúgy, ahogy ez a LILO promptnál is lehetséges. A rendszermag először az append sorban,

majd a LILO promptnál megadott paramétereket kapja meg. Például: append=”mcd=0x300,10” A LILO telepítése és eltávolítása Új Linux telepítése során vagy később a YaST2 segítségével interaktív módon telepíthetjük a LILO-t. Ebben a részben feltételezzük, hogy néhány olyan dolgot is szerkesztenünk kell, amit a YaST2-vel nem tudunk megtenni, emiatt részletesen áttekintjük a LILO telepítésének és eltávolításának folyamatait. Figyelem A rendszertöltő telepítésekor néhány apróságra figyelni kell! Győződjünk meg jó előre, hogy 100%-osan el tudjuk indítani a Linuxot és az egyéb csatolt rendszereket. Telepítve kell lennie az fdisk-nek a mentőlemezünkön (rescue system), különben olyan kényelmetlen helyzetben találhatjuk magunkat, hogy egyáltalán nem tudunk hozzáférni merevlemezünkhöz! Fontos, hogy a már telepített operációs rendszereket szükség esetén CD-ről vagy hajlékonylemezről el tudjuk indítani. A

SuSE Linux bármikor elindítható az első CD-ről Figyelem Telepítés a beállítások megváltoztatása után Ha a LILO bármelyik alkotóelemét megváltoztattuk vagy módosítottuk a beállításokat az /etc/lilo.conf fájlban, újra kell telepítenünk a LILO-t Ezt egyszerű elvégezni rootként a „Map Installer” elindításával: /sbin/lilo. Ez a következőt eredményezi: a LILO megpróbál kiírni egy biztonsági másolatot a cél indító szektorról, felírja saját első részét, és létrehoz egy új térkép fájlt (lásd A LILO elemei bekezdést (84. oldal)) A LILO megjeleníti az összes telepített rendszert – lásd a 4. képernyőlistát 94 A LILO telepítése és eltávolítása 4 linux * suse windows memtest86 4. képernyőlista: A LILO futása utáni képernyőkimenet Amikor a telepítés befejeződött, a gépet újra lehet indítani a következő paranccsal: shutdown -r now. Újraindítás közben a BIOS először elvégzi a

rendszertesztet, közvetlenül utána látni fogjuk a LILO-t és annak parancspromptját, ahol paramétereket adhatunk meg, kiválaszthatunk egy indító képmást   a legutóbb telepített beállításokból. A  Tab  egy listát jelenít meg az összes telepített rendszerről. Telepítés a rendszermag újrafordítása után Ha egy újonnan készített rendszermagot hozzá akarunk fűzni a LILObeállításokhoz, a Linux rendszermag forrásában a Makefile mindenben megfelelő megoldást kínál erre. Minden parancs a rendszermag létrehozására és beállítására egy helyen, a /usr/src/linux/Makefile fájlban található meg. Itt az INSTALL PATH=/boot van definiálva A Makefile megfelelő opcióját bzlilo-nak hívják, ami a rendszermag lefordítása után automatikusan átmásolja a jelenlegi rendszermagot, a /boot/vmlinuz-t a /boot/vmlinuz. old alá, az új rendszermagot pedig a /boot/vmlinuz alá, és utána újratelepíti a LILO-t. Ezt az alábbi paranccsal

indíthatjuk el: make bzlilo a make zImage vagy make bzImage helyett. Ez csak akkor hasznos, ha már előre átszerkesztettük az /etc/lilo.conf fájlt, és ha a jelenlegi rendszermagunk valóban a /boot/vmlinuz alatt van. Az új, valamint a régi rendszermag most a listán kell, hogy legyen. Lásd még a 2 példát az /etc/liloconf fájl tartalmára. Rendszertöltés és rendszertöltő programok Added Added Added Added Újraindítás után a LILO promptnál a két rendszermagból bármelyiket elindíthatjuk. Ez a rendszerindítást biztonságosabbá teszi, mert még mindig elindíthatjuk a régi rendszermagunkat, ha az új valamiért nem indul. Az új rendszermag létrehozásáról bővebben A Linux rendszermag fejezetben (285. oldal) olvashatunk SuSE Linux – Rendszerkézikönyv 95 A LILO eltávolítása Figyelem A rendszertöltő eltávolítása előtt gondoskodnunk kell arról, hogy később majd a Linuxot, vagy más rendszert képesek legyünk megfelelő

rendszertöltő lemezekről indítani. Mindegyik lemezen legyen meg az fdisk, hogy elérhessük a merevlemezünket. Figyelem A LILO eltávolításához másoljuk vissza a boot szektor LILO előtti tartalmát. Ehhez szükséges egy érvényes biztonsági másolat. Lásd a backup opciót az Egyéb LILO opciók fejezetben. Figyelem Egy indító szektor biztonsági mentése használhatatlanná válik, ha a kérdéses partícióra közben új fájlrendszer kerül (DOS felhasználóknak: formázva lett). A partíciós tábla (MBR) biztonsági mentése érvénytelenné válik, ha a kérdéses merevlemezt időközben átparticionálták. Ezek az elavult „biztonsági mentések” időzített bombák. Legjobb letörölni azokat olyan gyorsan, ahogy csak lehet. A rendszerszektorokba kicsomagolni régi és érvénytelen biztonsági mentéseket biztos utat jelent az adatvesztéshez! Figyelem Nagyon könnyű visszaállítani a DOS, Windows 95/98/ME vagy OS/2 MBRjét. Csak adjuk ki az

alábbi MS-DOS parancsot egy rendszerlemezről (50 óta elérhető): C:> FDISK /MBR vagy OS/2-n, C:> FDISK /NEWMBR A fenti parancsok csak az első 446 bájtot (az indító kódot) írják az MBR-be és érintetlenül hagyják a partíciókat. Egyéb helyreállításokhoz először készítsünk biztonsági mentést a kérdéses LILO-ról – a biztonság kedvéért. Most ellenőriznünk kell, vajon a régi biztonsági mentés fájlunk helyes-e, és pontosan 512 bájt-e a mérete! Végül írjuk vissza, de fel ne cseréljük az if= paramétert az of= paraméterrel! Ha a LILO az y partíción található (például /dev/hda1, /dev/hda2 . ): 96 A LILO telepítése és eltávolítása dd if=/dev/y of=ÚjMBR bs=512 count=1 meggyfa:~ # dd if=RégiMBR of=/dev/y 4 Ha a LILO a z eszköz MBR-jében található (például /dev/hda, /dev/sda): meggyfa:~ # dd if=/dev/z of=ÚjMBR bs=512 count=1 meggyfa:~ # dd if=RégiMBR of=/dev/z bs=446 count=1 Az utolsó parancs

„óvatos”, és nem írja felül a partíciós táblát. Ne feledjük: az fdisk-kel meg kell jelölnünk a kívánt indító partíciót bootable-ként. Egyébként figyeljük meg, hogy milyen könnyű és gyors egy indító szektor biztonsági mentésének elkészítése. Javasoljuk, hogy tegyük meg gyakran! Az MBR visszaállítása Windows XP alatt  Indítsuk el a Windows XP-t a telepítő CD-ről, majd nyomjuk meg az  R billentyűt, hogy a rendszer visszaállító módban induljon. Válasszuk ki a megfelelő XP telepítést a listáról és adjuk meg a rendszergazdai jelszót. Adjuk ki a FIXMBR parancsot parancssorban és nyomjuk meg a megfelelő billentyűt a parancs jóváhagyásához. Ezt követően újraindíthatjuk a rendszert az exit paranccsal. Az MBR visszaállítása Windows 2000 alatt Rendszertöltés és rendszertöltő programok meggyfa:~ #  R Indítsuk el a Windows 2000-t a telepítő CD-ről, majd nyomjuk meg az   billentyűt és a  K

billentyűt, hogy a rendszer visszaállító módban induljon. Válasszuk ki a megfelelő Windows telepítést a listáról és adjuk meg a rendszergazdai jelszót. Adjuk ki a FIXMBR parancsot parancssorban és nyomjuk meg a megfelelő billentyűt a parancs jóváhagyásához. Ezt követően újraindíthatjuk a rendszert az exit paranccsal. Példabeállítások Ha Linux az egyetlen operációs rendszer gépünkön, akkor nincs semmi teendőnk, mivel minden szükségeset már megtett a YaST2. A következőkben bemutatunk néhány példabeállítást. Nézzük meg a /usr/share/doc/howto/ en/mini/Linux+*.gz angol nyelvű dokumentációs fájlokat, itt találhatunk néhány LILO beállítási fájlt. SuSE Linux – Rendszerkézikönyv 97 DOS/Windows 95/98 és Linux Követelmények: kell lennie legalább egy elsődleges partíciónak minden egyes DOS / Windows 95/98/ME-hez és a Linuxhoz, ami az 1024-es cilinderhatár alá esik (lásd Hová telepíthető a LILO?

bekezdést). Erre az esetre már bemutattunk egy beállítást (lásd a 2. pontot) – csak a root, image és other opciókat kell megfelelően beállítanunk. A LILO az MBR-be van telepítve. Mentsük el az /etc/lilo.conf fájlt, és győződjünk meg róla, hogy van Linux indítólemezünk. A Windows 95/98/ME különösen hajlamos eltüntetni az „idegen” MBR-t telepítés közben. Ha még mindig el tudjuk indítani a Linuxot az indítólemezzel, ezt a problémát gyorsan megoldhatjuk az alábbi paranccsal: meggyfa:~ # /sbin/lilo Ez a parancs ismételten végrehajtja a LILO telepítését. Windows NT/2000 és Linux egy merevlemezen 1. Ha a Windows NT/2000-nek és a Linuxnak együtt kell lenniük azonos merevlemezen, akkor az NT/2000 indító (boot) managerét kell használnunk indításra. Ez indíthatja akár a rendszermagfájlt, akár magát az indító szektort. Az alábbi lépések végrehajtása előkészít mindent a Linux és a Windows NT/2000 békés egymás

melletti létezéséhez: Telepítsük az NT-t. Particionáljuk az NT/2000 lemezt (FAT-ot használva, hogy a Linux tudjon rá írni). Telepítsük a Linuxot, mint rendesen (példánkban a gyökérpartíció a /dev/sda3-on van). Csatoljunk be egy DOS partíciót vagy egy hibamentes DOS hajlékonylemezt (például a /dos alá). Telepítsük a LILO-t, de a Linux gyökér partícióba (/dev/sda3), ne pedig az MBR-be (/dev/sda). Állítsuk be a megfelelő Linux rendszermagot a LILO-hoz. Például: % # LILO konfigurációs fájl # LILO globális rész kezdete boot=/dev/sda3 # Ide telepítjük a LILO-t backup=/boot/boot.sda3970428 # Az előző boot szektor # másolata 2001.0422 98 Példabeállítások # LILO globális rész vége # Linux bootolható partíció konfiguráció kezdete image = /vmlinuz # alapértelmezett kernel root = /dev/sda? # A gyökér partíció neve! label = Linux # Linux bootolható partíció konfiguráció vége A lilo.conf fájl szerkesztése után

telepítsük a LILO-t a /sbin/lilo paranccsal. Másoljuk a LILO indító szektorát oda, ahol az NT/2000 majd meg tudja találni azt, például: meggyfa:~ # /bin/dd if=/dev/sda3 bs=512 count=1 of=/dos/bootsek.lin Ezt a lépést, valamint a következőket minden rendszermagfrissítéskor el kell végezni. Indítsuk el a Windowst. Másoljuk át a bootseklin fájlt az adatlemezről a Windows rendszermeghajtó főkönyvtárába (ha az még nincs ott). 4 Rendszertöltés és rendszertöltő programok prompt timeout=100 # Várakozás a promptra: 10 mp vga = normal # Normál videoüzemmód A boot.ini fájlban (először beállítandó attribútumok), egészítsük ki a végét: c:ootsek.lin="Linux" A következő indítás után (ha eddig minden problémamentesen ment), kell lennie egy bejegyzésnek az NT/2000 indító manager menüjében. 2. Másik lehetőség: telepítsük a LILO-t az MBR-be és állítsuk be a lilo conf fájlban ezt a bejegyzést pontosan úgy,

mintha az DOS lenne. Ez az eljárás állítólag már nem működik minden NT verzióval; úgy tűnik, ha indításkor nem észleli a speciális (nem dokumentált) sorrendet az MBR-ben, melyek sajnálatos módon vannak, akkor nem ismeri fel a LILO-val. SuSE Linux – Rendszerkézikönyv 99 Figyelem Az NT 3.5x és 40 nem ismeri fel a Linux 82 és 83 típusú partíciókat Győződjünk meg róla, hogy egyetlen NT program sem próbálja „megjavítani” a partíciós táblánkat. Ez adatvesztést eredményezhet! Mindig legyen kéznél egy működő, naprakész biztonsági másolatunk a LILO indító szektoráról. Figyelem LILO problémák Néhány útmutató Most néhány egyszerű tanácsot adunk azért, hogy elkerülhessük a legtöbb LILO problémát. Ne essünk pánikba! Ha valami nem működik, próbáljuk megtalálni a hibát és/vagy az okát először; ellenőrizzük a hibaüzeneteket, mielőtt elkezdjük kijavítani a problémát. Mindig legyen egy

naprakész és letesztelt indítólemez kéznél. A SuSE Linux tartalmaz egy teljes Linux mentőrendszert az indítólemezén és a telepítő CD-n (rescue rendszer), lehetővé téve, hogy elérjük az összes Linux partíciónkat. Az itt szereplő eszközökkel majdnem minden felmerülő problémát kijavíthatunk. Olvassuk el a LILO teljes dokumentációját, különösen ha a rendszer nem azt csinálja, amit szeretnénk. Ellenőrizzük az /etc/lilo.conf-ot, mielőtt az (/sbin/lilo) telepítőt használnánk. Indítás a loadlin segítségével A következőkben szeretnénk egy alternatívát ajánlani a SuSE Linux indítására, ez a loadlin. A loadlin program egy DOS-program, amely képes indítani egy Linux rendszermagot DOS alól. Így a loadlin tökéletesen integrálja magát egy létező DOS/Windows 9x/ME környezetbe. Mivel nem szükséges bejegyzés az MBR-be, a Windows csak egy vagy több partíciót észlel, ismeretlen ID-vel. Így 100 LILO problémák A

következőkben leírt eljárás működik a Windows 95-ön és a Windows 98-on is. A fájlokat magukat Windows 95-höz írtuk; ezért csak a Windows 95-ről fogunk beszélni. Lényegében két mód van a loadlin aktiválására. Az egyik, hogy az indítómenüvel átkapcsolunk a különböző rendszerek között, vagy elindítjuk a Linuxot a loadlin-en keresztül a már futó rendszerből. Mindkét módszernek van előnye és hátránya: Az indítómenüvel elkerülhetjük a lehetséges problémákat, ami egy másik operációs rendszer indításából adódhat, mielőtt a Linuxot elindítanánk. Egy másik beállítást is hozzáadhatunk az indítómenünkhöz, hogy létrehozzunk egy általános indító gépezetet. Módosítanunk kell az indító fájlokat, azonban indítómenüt készíteni csak megfelelő tapasztalat birtokában lehetséges. Linuxra váltani a DOS promptból nagyon egyszerű. A Linux indítását integrálhatjuk a Windows 95-be. Kettős kattintás egy

megfelelően létrehozott ikonra, elindíthatja a Linuxot (a Windows 95 tartalmazza a DOS 7.0 verzióját) 4 Rendszertöltés és rendszertöltő programok a Linux telepítéséből keletkező, nem kívánatos mellékhatások a minimálisra csökkennek. Tipp Amennyiben a gép bekapcsolásakor rögtön a Linuxot szeretnénk használni, célszerű egy külön indítómenüt használni. DOS illetve Windows 95/98 alól ezenkívül a duplakattintásos módszert is alkalmazhatjuk. Mivel az indítómenü illetve a Windows 95 beállítása elégé összetett – illetve nem a fejezet célja, itt csak mellékesen foglalkozunk vele. Tipp Minden loadlin-felhasználó számára szükséges lépések Az alábbiakat kell tennünk, akár az indítómenü használata mellett döntünk, akár egy futó rendszerből (DOS, Windows 95/98/ME) indítunk: 1. Bizonyára már telepítettük a loadlin-t Ha nem, akkor most tegyük meg a YaST2 használatával. SuSE Linux – Rendszerkézikönyv 101

2. Váltsunk át a c:dir{loadlin} könyvtárba MS-DOS-ban Itt fogunk találni egy linux.par nevű fájlt Hozzunk létre egy startlinbat nevű fájlt (adhatunk más nevet is neki). Most illesszük be a következő fájllistában látható sort: c:loadlinloadlin @c:loadlin{}linux.par Utána szerkesszük át a linux.par fájlt: # az első értéknek a Linux # rendszermag fájlnévnek kell lenni initrd=c:loadlininitrd root=/dev/xxx # az eszköz amit becsatolunk mint # root FS (fájlrendszer) ro # csak olvasható root becsatolás c:loadlinzimagez Az xxx helyett adjuk meg gyökérpartíciónk eszköznevét. A startlin.bat elindítja a Linuxot A startlinbat a linux par, valamint a config.sys fájlokat használja A linuxpar lényeges paramétereket tartalmaz. Később, amikor már jobban megismerjük a Linuxot, hozzáadhatunk vagy helyettesíthetünk paramétereket is itt. Ha saját rendszermagot építettünk, csak másoljuk a c:dir{loadlin}dir{vmlinuz} alá, és onnan ez a

rendszermag fog elindulni. Indítómenük beállítása Így állíthatjuk be az indítómenüt a DOS-ban vagy a Windows 95-ben: 1. Először definiáljuk az indítómenü részt a c:dir{configsys} fájlunkban. Nyissuk meg a c:dir{configsys}-t egy szerkesztőben, és írjunk be valami hasonlót, mint ami az 5. fájllistában látható [Menu] menuitem=Win, a Windows indítása. menuitem=DOS, a DOS, MS-DOS indítása. menuitem=Linux, a Linux indítása. menucolor=15,1 menudefault=Win,5 102 Indítás a loadlin segítségével 5. fájllista: Példa a Linux indítómenüre a c:dir{configsys}-ben 2. Adjuk meg a címszavakat [Common], [Win], [DOS], és [Linux] A [Common]-ban megadott parancsok mindig végrehajtódnak. Minden más bejegyzés operációs rendszertől függő. Útmutatóként használhatjuk a sorokat a saját config.sys fájlunkból: [Common] device=c:doshimem.sys /testmem:off device=c:dosemm386.exe noems I=E000-F4FF dos=high,umb files=30 buffers=10

shell=c:doscommand.com [Win] devicehigh=c:dosdblspace.sys /move devicehigh=c:cdslcd.sys /D:SONY 000 /B:340 /M:P /V /C [DOS] devicehigh=c:dosdblspace.sys /move devicehigh=c:cdslcd.sys /D:SONY 000 /B:340 /M:P /V /C Rendszertöltés és rendszertöltő programok Az indítómenüben a [Menu] címszó alatt definiáljunk egy-egy bejegyzést minden egyes operációs rendszerhez, amit indítani akarunk. Határozzuk meg a menü színét is, és hogy hány másodperc után induljanak el automatikusan az egyes operációs rendszerek. 4 [Linux] shell=c:loadlinloadlin.exe @c:loadlinlinuxpar [Common] rem Remains blank Mentsük el a fájlt a változtatásainkkal. 3. Szerkesszük a c:dir{autoexecbat} fájlt Figyeljük meg, hogy a Linux esetét nem említjük itt, mert a Linuxot a loadlin használatával indítjuk közvetlen a c:dir{config.sys} fájlból A %config% változó tartalmazza a kiválasztott címkéket (:Win vagy :DOS). Módosítsuk a kódot, hogy illeszkedjen a gépünkhöz,

például: @echo off SuSE Linux – Rendszerkézikönyv 103 rem Entries for all Configurations switches= /f set comspec=c:doscommand.com prompt $p$g loadhigh c:doskeyb gr,,c:doskeyboard.sys loadhigh c:dosdoskey set temp=c: emp loadhigh c:dosmscdex.exe /D:SONY 000 /E /V /L:H c:logimausmouse.exe goto %config% :Win c:dossmartdrv.exe a- b- c+ 2048 1024 path c:.;d:;c:windows;c:dos;c:util; win : c:dossmartdrv /C goto ende :DOS path c:.;d:;c:dos;c:util; goto ende :ende echo * Viszlát 4. Ha most elindítjuk gépünket, az indítómenü jelenik meg Öt másodpercünk van, hogy kiválasszunk egy operációs rendszert Az idő letelte után a Windows indul el automatikusan (menudefault=Win,5). Ha a ‘Linux’-ot választjuk, a Linux elindul és várja bejelentkezésünket. A Linux indítása a Windowson belül A Linux indításához egy indító ikont is készíthetünk, amivel elindítjuk a Linuxot a futó Windows 95-ön belül: 1. Nyissuk ki a Windows Intéző-t (Explorer) Váltsunk

át a c: dir{loadlin} könyvtárba. A jobb egérgombbal kattintsunk a startlin.bat fájlra és válasszuk a ‘Parancsikon készítés (Create Shortcut)’ opciót. 2. Vigyük át a parancsikont a munkaasztalra 104 Indítás a loadlin segítségével 4. Kattintsunk az ‘Ikon megváltoztatása (Change icon)’ gombra, és válasszunk egy szép ikont; adjunk a parancsikonnak megfelelő nevet. 5. Kattintsunk duplán az új parancsikonra, ez előhoz egy párbeszédablakot, ami azt közli, hogy a Windows 95 átkapcsol DOS módra. Ha ez a párbeszédablak zavar minket, kikapcsolhatjuk a tulajdonságok menüben. A Windows indítómenü Így kell telepítenünk indítómenüt a Windows 95-höz: 1. Át kell szerkesztenünk a c:dir{msdossys} fájlt Először tegyük a fájlt láthatóvá a következő paranccsal: C:> attrib -R -S -H c:msdos.sys Ez egy szöveges fájl, amibe be kell írnunk néhány sort, hogy hatástalanítsuk a Windows 95 indítómenüt. Az [Options] címszó

alatt hasonlót kell látnunk, mint ami a 6. fájllistában van 4 Rendszertöltés és rendszertöltő programok 3. Kattintsunk a ‘Shortcut to startlinbat’-ra a jobb egérgombbal, és válasszuk a ‘Tulajdonságok (Properties)’ opciót. Menjünk a ‘Program’ fülre, kattintsunk az ‘Advanced’ gombra és kattintsunk az ‘MS-DOS mode on’ra. Választásunkat erősítsük meg az ‘OK’-val [Options] BootGUI=0 BootDelay=0 BootMenu=0 Logo=0 6. fájllista: Az msdossys a Windows 95 indítómenü használatához A Logo=0 paraméter opcionális és megakadályozza a grafikus módba való kapcsolást, mielőtt a Windows 95 elindul. Az indítás sokkal gyorsabb és elkerülünk sok problémát, ha tervezzük a DOS-emulátor használatát később a Linuxban. A BootGUI=0 paraméter a Windows 95 közvetlen DOS-módba való indításához kell. A Windows innen való indításához a következőt kell beírnunk: C:> win SuSE Linux – Rendszerkézikönyv 105 de ezt

már megtettük a példánkban c:dir{}autoexec.bat állományban, ha a Win95-öt a menüből választottuk ki. 2. Definiáljuk az indítómenünket a c:dir{}configsys-ben: [Menu] menuitem=Win95, start Windows 95. menuitem=DOS, start MS-DOS. menuitem=Linux, start Linux. menudefault=Win95,5 A [Menu] címszó alatt állítsuk be az indítómenü paramétereit, a színeket és az indítási várakozás mértékét. 3. Később a configsys fájlban adjuk meg a [Win95], [DOS], [Linux], és [Common] címszavakat. A [Common] egy olyan bejegyzés, amely minden esetre vonatkozik (ez nagyon ritka eset lesz a Windows 95-ben). Minden más címszó a megfelelő operációs rendszerre értendő. Használjuk azokat a sorokat, amelyek már bele vannak írva a config.sys fájlunkba: [Win95] dos=high,umb device=c:windowshimem.sys /testmem:off [DOS] device=c:plugplaydriversdosdwcfgmg.sys dos=high,umb device=c:windowshimem.sys /testmem:off device=c:windowsemm386.exe noems I=B000-B7FF

devicehigh=c:cdrom orisan.sys /D:TSYCD3 /P:SM [Linux] shell=c:loadlinloadlin.exe @c:loadlinlinuxpar [Common] accdate=C+ D+ H+ switches= /F buffers=20 Mentsük ezt a fájlt. 4. Utána szerkesszük át a c:dir{}autoexecbat-ot Itt ugyanazokat a címszavakat adjuk meg, de a használatuk kicsit különböző. A címszó, amit kiválasztottunk, a %config% változóban kerül tárolásra. Figyeljük meg, hogy a Linux mint lehetőség itt nem szerepel, mert az a loadlin segítségével már a config.sys fájlban elindul A bejegyzésünknek nagyjából a következőképpen kell kinézni: 106 Indítás a loadlin segítségével :Win95 win goto ende :DOS path c:.;d:;c:windowscommand;c:util; loadhigh c:windowscommandmscdex.exe /D:TSYCD3 /L:x loadhigh c:windowscommanddoskey c:windowscommandmouse.exe goto ende :ende echo * And now? Amikor befejeztük a fájl szerkesztését, ne felejtsük el menteni azt. 5. Ha most elindítjuk gépünket, a Windows 95 indítómenünek kell megjelenni,

két másodpercet adva nekünk, hogy kiválasszunk egy bejegyzést. Ha a Parancssort (Command line) választjuk, saját indító menünk fog megjelenni. Van öt másodpercünk, hogy kiválasszunk egy operációs rendszert. A késleltetés letelte után a Windows 95 automatikusan elindul. Ha a ‘Linux’-ot választjuk, a Linux indul el és várja bejelentkezésünket. 4 Rendszertöltés és rendszertöltő programok @echo off loadhigh keyb gr,,c:windowscommandkeyboard.sys goto %config% Indítólemez helyett indító CD Ha a rendszerindításkor problémába ütközünk és a telepített rendszertöltővel nem tudjuk a rendszert indítani, szükségünk van egy indítólemezre. A SuSE Linux tartalmaz ilyen lemezeket (az első és a második CD, valamint az indítható hajlékonylemez), azonban soha nem árt, ha saját rendszerünkről készítünk indítólemezt. Ha rendelkezünk a megfelelő hardverrel (CD író) létrehozhatunk egy saját indítható CD-t, mely a mi

rendszerünkre lett szabva. Az ISOLINUX rendszertöltő Egy indítható CD létrehozásához szükségünk van egy rendszertöltőre. A feladat megoldásához mi azt a rendszertöltőt javasoljuk, amely a SuSE Linux CD-ken is indítja a rendszert: az Isolinux rendszertöltőt. SuSE Linux – Rendszerkézikönyv 107 Indítsuk a telepített rendszert a következő – viszonylag körülményes – eljárással: . Tegyük be az első CD-t és indítsuk azt, mintha telepíteni szeretnénk . Válasszuk ki az alapértelmezett ‘Installation’ menüpontot a rendszerindítási képernyőnél. . Válasszunk nyelvet és billentyűzetkiosztást . Szakítsuk meg a telepítést, majd a megjelenő képernyőnél, válasszuk ki a ‘Telepítés / Rendszer indítás’ menüpontot. . Válasszuk ki a telepített rendszer indítása menüpontot, majd adjuk meg a gyökérpartíció eszköznevét (például /dev/hda3). Ezt követően elindul a rendszer. Telepítsük a YaST2

segítségével a syslinux csomagot. Nyissunk meg egy terminálablakot és jelentkezzünk be root felhasználóként. Az alábbi parancsokkal létrehozunk egy ideiglenes könyvtárat az indító CD számára, ezt követően belemásoljuk a rendszerindításhoz szükséges fájlokat (rendszermag, isolinux és az inird). meggyfa:~ # mkdir /tmp/CDroot meggyfa:~ # cp /usr/share/syslinux/isolinux.bin /tmp/CDroot/ meggyfa:~ # cp /boot/vmlinuz /tmp/CDroot/linux meggyfa:~ # cp /boot/initrd /tmp/CDroot Indítsuk el kedvenc szerkesztőnket, hogy létrehozzuk a rendszertöltő konfigurációs fájlját (/tmp/CDroot/isolinux.cfg) Ha a vi kezelésében nem vagyunk (még) jártasak, használhatjuk például a pico szerkesztőt: pico /tmp/CDroot/isolinux.cfg A fájlnak a következőképpen kell kinéznie: DEFAULT linux LABEL linux KERNEL linux APPEND initrd=initrd root=/dev/hdXY [indítóparaméterek] 108 Indítólemez helyett indító CD DEFAULT linux LABEL linux KERNEL linux

APPEND initrd=initrd root=/dev/hda7 hdd=ide-scsi Ezt követően a könyvtár tartalmából egy, az ISO9660 szabványnak megfelelő fájlrendszert kell létrehoznunk. Ezt a következő paranccsal tudjuk megtenni, amelyet egy sorban kell kiadnunk(!): mkisofs -o /tmp/bootcd.iso -b isolinuxbin -c bootcat -no-emul-boot -boot-load-size 4 -boot-info-table /tmp/CDroot Most már csak CD-re kell írnunk a kész /tmp/bootcd.iso fájlt Ehhez használhatjuk például a grafikus felületű XCDroast illetve a KDE K3b programot, de parancssorból is írhatunk CD-t: cdrecord -v speed=2 dev=0,0,0 /tmp/bootcd.iso -eject 4 Rendszertöltés és rendszertöltő programok A root=/dev/hdXY helyett be kell írnunk a gyökérpartíció megfelelő eszköznevét (például root=/dev/hda3. Ha nem vagyunk biztosak benne, hogy melyik a gyökérpartíció nézzük meg az /etc/fstab fájlban. Az [indítóparaméterek] pontnál különböző opciókat tudunk megadni a rendszertöltő számára (például a

scsi emulációt). Íme egy példa egy kész konfigurációs fájlra: A parancssorból történő CD íráshoz esetleg még igazítanunk kell a dev=0,0,0 paramétert, mely a CD író SCSI azonosítója. A megfelelő azonosítót a cdrecord -scanbus paranccsal tudjuk kideríteni. Teszteljük az indítható CD-t! Nincs annál rosszabb, mintha vészhelyzet esetén csak egy nem működő indító CD-nk van. Indítsuk tehát újra a gépet, és ellenőrizzük, hogy el tudjuk-e indítani a rendszert CD-ről. SuSE Linux – Rendszerkézikönyv 109 5 Az X Window rendszer Az X Window rendszer Az X Window System a UNIX szabványos grafikus felülete. Valójában az X Window System (X11-nek is hívjuk) sokkal több ennél – egy hálózatalapú rendszer. Így például a meggyfa nevű gépen futó alkalmazások kimenete megjeleníthető az atlantisz nevű gépen, ha a két gép hálózaton keresztül össze van kötve. Ez a hálózat lehet helyi hálózat (LAN), de az is

lehetséges, hogy a két gép több ezer kilométernyire van egymástól, és az interneten keresztül vannak kapcsolatban. Az alábbiakban bemutatjuk többek között az xf86config programot, ami akkor lehet segítségünkre, ha a SaX2 -vel történő monitorbeállítás nem járt sikerrel. A fejezet végén az OpenGL/3D beállításra térünk ki A YaST-tal történő képernyőbeállításról a Felhasználói kézikönyvben olvashatunk bővebben. Történelmi háttér . A 4.3-as XFree86 Beállítás az xf86config segítségével . Az X Window rendszer optimalizálása OpenGL – 3D támogatás Linux alatt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112 113 114 124 133 Történelmi háttér Az X11 kifejlesztése a DEC (Digital Equipment Corporation) és a MIT (Massachusetts Institute of Technology) Athena projektjének közös vállalkozásaként indult. Az

X11R1 első kiadására 1987 szeptemberében került sor A 6 kiadástól kezdve az X Window System fejlesztéséért az X Consortium, Inc. cég a felelős1 Az XFree86™, amely az X szerverek szabadon hozzáférhető implementációja PC rendszerekre, egy maroknyi lelkes programozó munkája, akik 1992-ben alapították meg az XFree86 csoportot. Ez vezetett 1994-ben a The XFree86 Project létrehozásához, melynek célja az X11 további fejlesztése és elérhetővé tétele a nyilvánosság számára. 2000 márciusa óta a http://wwwXFree86 org/ címről letölthető a teljesen átírt új verzió, XFree86-4.0 néven A SuSE Linux alapértelmezett esetben az XFree86 4.X-et használja Alábbiakban közelebbről is bemutatjuk ezt a verziót. A következőkben az X szerver beállítását ismertetjük, ami korábban nagyon bonyolult feladatnak számított. Ehhez bemutatjuk az xf86config programot, mely akkor lehet segítségünkre, ha a grafikus felület beállítása a SaX2 -vel

nem járt sikerrel. Ahhoz, hogy az elérhető hardverelemeket (egér, billentyűzet, monitor, grafikus kártya) optimálisan tudjuk használni, kézzel tudjuk szerkeszteni az XF86Config fájlt. Kitérünk az optimalizálás néhány szempontjára, más lehetőségek csak említésre kerülnek. További információkat a grafikus felület beállításához a /usr/share/doc/packages/xf86 alatt valamint a man XF86Config parancs kimenetében találhatunk. Figyelem Az X Window rendszer beállításakor nagyon óvatosan járjunk el! Soha ne indítsuk el az X Window rendszert addig, amíg be nem fejeztük a beállítást. A rendszer helytelen beállítása jóvátehetetlenül károsíthatja a hardvert (ez főleg az állandó frekvenciájú monitorok esetén fordulhat elő). Jelen könyv szerzői és a SuSE nem tehetők felelőssé az esetleges károkért. Az itt közölt információkat gondosan ellenőriztük, de ez nem jelent garanciát arra, hogy a bemutatott eljárások

hibátlanok és nem károsíthatják a hardvert. Figyelem 1 112 Figyeljünk rá, hogy a Window szó egyes számban áll! Történelmi háttér 5 A 4.3-as XFree86 Milyen előnyei vannak ennek a verziónak? Az új X kiszolgáló többé nem egy monolitikus program, hanem egy viszonylag kicsi váz, amihez később bármikor hozzá lehet adni a szükséges programmodulokat. Például előző verziókkal ellentétben nincs többé sok különböző X kiszolgáló a különböző grafikus kártyákhoz, hanem csak egy futtatható program van XFree86 néven, amely a /usr/X11R6/bin alkönyvtárban található. Ez maga az X kiszolgáló A grafikus meghajtó, melynek feladata a grafikus kártya irányítása, egy betölthető modullá vált. Az X Window rendszer A SuSE Linux ezen verziója az XFree86 legújabb, 4.3-as verzióját tartalmazza, amely több szempontból is különbözik a régebben használt 3.3-as verziótól Általában elmondható, hogy a felhasználó

szempontjából alig van különbség az új grafikai felületben. Az olyan alkalmazások, mint például a KDE és a GNOME továbbra is ugyanúgy működnek az új verzióval, mint a korábbi verziókkal. Hasonló módon támogatja az X a különböző bemeneti eszközöket, karakterkészleteket és X protokollokat is. Ezek további különálló modulokból állnak, amelyeket bármikor betöltheti az X szerver. Rendszerint nem kell különösebb figyelmet fordítanunk ezekre a modulokra, mert a grafikai felület működtetéséhez szükséges modulok beállítását és működtetését – amennyire csak tudja – elvégzi helyettünk a SaX2. Ez a modularizáltság lehetővé teszi a gyártó cégeknek, hogy saját meghajtót írjanak teljesen új grafikus kártyákhoz, vagy akár még olyan egzotikus hardverekhez is, mint például az érintőképernyő. A fejlesztők még arról is gondoskodtak, hogy a különböző operációs rendszerekhez szükséges modulokat elég

legyen csak egyszer rendelkezésre bocsátani, mert például egy FreeBSD alatt lefordított grafikus meghajtó ugyanúgy használható Linux alatt is és fordítva. A hordozhatóság azonban adott hardverarchitektúrára korlátozódik: egy Power PC processzoron futó Linux alatt lefordított modult nem lehet Intel/AMD PC-n is használni. Az egértámogatás szintén jelentősen fejlődött. Az egérmutató – különösen nagy terhelés esetén – sokkal gyorsabban és közvetlenebbül reagál egérmozgásokra, mint a korábbi XFree86 X szerverek esetében. Általában elmondható, hogy a képalkotási sebesség sokat fejlődött, mivel a teljesen átírt XAA (XFree86 Acceleration Architecture – XFree86 Gyorsító Architektúra) segítségével a grafikus tevékenységek sokkal gyorsabbak. Az XFree86 4.3 beállítási fájlja a /etc/X11/XF86Config állományban található: ha szeretnénk finomítani az X beállításokon, Az X Window rendszer SuSE Linux –

Rendszerkézikönyv 113 optimalizálása fejezetben további részletek olvashatóak erről. A hibanaplózás is sokat javult. Az X szerver nagyon részletes naplózó fájlt készít, amely az X kiszolgáló elindulása után a /var/log/XFree86.0log helyen található Ennek a verziónak egy további tulajdonsága a speciális eszközök támogatása, mint például a True Type karakterkészleteké. Továbbá lehetőség nyílik a glx, azaz a 3D protokoll kiterjesztések beállítására, a képernyő gamma korrigálására, és az ún. többfejű beállításokhoz szükséges egynél több grafikus kártya támogatására. További információk erről Az X Window rendszer optimalizálása fejezetben találhatók (124. oldal) Mi változott? Az XFree86 4.3 alapját természetesen a 336 verzió adja Az új X azonban nem tartalmazza a régi verzió minden meghajtóját, mert némelyikük nagyon összetett volt, és nem lehetett beilleszteni őket az új XAA architektúrába.

Ha az efféle grafikus kártyákat korábban támogatta a SuSE Linux, akkor továbbra is lehet őket használni az XFree86 3.36 verziójával Ajánljuk, hogy az ilyen kártyákkal a 3.36-os verziót használjuk, amely szintén benne van a SuSE Linuxban. Ezek beállításához továbbra is lehet a SaX programot használni, csakúgy, mint korábban. A korábbi verziókban az XF86 S3, XF86 Mach8, XF86 Mach32 és XF86 8514 szervereket használó grafikus kártyák okozhatják most a gondot. Az S3 kártyák esetében azokat, amelyekhez korábban szükség volt az S3 kiszolgálóra, az XFree86 4.3 immár nem támogatja, de azokat igen, amelyek működtek az SVGA kiszolgálóval. A következő grafikus lapkákat használó kártyákról van szó: S3 Trio3D, Savage4, Savage3D és Savage2000, valamint majdnem mindegyik S3 Virge kártya. Azon grafikus kártyák, amelyeknek a többi fentebb említett X szerverre volt szüksége eddig (a Mach8, Mach32 és a 8514), manapság már ritkák.

Ezekhez a grafikus kártyákhoz – a régi S3 kártyákhoz hasonlóan – az XFree86-3.3 verziót kell használni. Beállítás az xf86config segítségével A legtöbb esetben a SaX2 jobb, mint az egyszerűbb xf86config. Mindazonáltal néha előfordulhat, hogy a SaX2 nem működik megfelelően. Ebben az esetben használjuk az xf86config-ot, amely szinte mindig működik. 114 Beállítás az xf86config segítségével Tájékoztatás Annak ellenére, hogy az XFree86 4.x-ben is lehetőség van az xf86config használatára, többnyire nincs szükség erre, mivel a legtöbb „problémás” videokártya beállítható a „frame buffer” meghajtóval vagy a „vga” modullal. Tájékoztatás A sikeres beállításhoz a következő információkra lesz szükségünk: 5 Az X Window rendszer Az XFree86 4.x is tartalmaz egy egyszerű, karakteres felületű beállító programot, az xf86config-ot. Ez néhány helyen kicsit másképp működik, és a végleges

konfigurációt az /etc/X11/XF86Config fájlba menti. Lenti leírás emiatt csak a 3.3x-es XFree86-re vonatkozik az egér típusa, kapuja, vagyis ahová csatlakozik, és sebessége (a sebesség megadása csak opcionális). a videokártya jellemzői a monitor adatai (képfrissítési frekvencia, stb.) Ha mindezekkel a beállítási lehetőségekkel tisztában vagyunk, vagy hardvereszközeink kézikönyvei elérhető távolságban vannak, elkezdhetjük a beállítást. Emlékeztetőül: a beállítás csak root-ként végezhető el A beállítás elkezdéséhez adjuk ki a következő parancsot: meggyfa:/root # xf86config Az egér Az üdvözlő képernyő után a program megkérdezi az egér típusát. A következő lehetőségek közül választhatunk (lásd még az 5. képernyőlistát): 1. Microsoft compatible (2-button protocol) (Microsoft kompatibilis (2 gombos)) 2. Mouse Systems (3-button protocol) (Mouse Systems (3 gombos)) 3. Bus Mouse (Soros egér) 4. PS/2 Mouse

(PS/2-es egér) 5. Logitech Mouse (serial, old type, Logitech protocol) (Logitech egér (soros, régi típusú, Logitech protokollos)) SuSE Linux – Rendszerkézikönyv 115 6. Logitech MouseMan (Microsoft compatible) (Logitech MouseMan (Microsoft kompatibilis)) 7. MM Series 8. MM HitTablet 5. képernyőlista: Egértípus kiválasztása X alatt Amikor kiválasztjuk az egér típusát, vegyük figyelembe, hogy a Logitech egerek többsége vagy Microsoft-kompatibilis, vagy a MouseMan protokollt használja. A soros egér választása (Bus Mouse) bármelyik soros egérre vonatkozik, beleértve a Logitechet is! A kiválasztás a megfelelő sorszám megadásával történik. Megjelenhet egy kérdés a „ChordMiddle” engedélyezésére vonatkozólag. Ez néhány Logitech egér vagy hanyattegér (trackball) középső gombjának használatához szükséges. Please answer the following question with either ’y’ or ’n’. Do you want to enable ChordMiddle?) Ha kétgombos

egerünk van, emulálhatjuk a harmadik egérgombot a következő kérdésre adott ‘y’ (igen) válasszal. Please answer the following question with either ’y’ or ’n’. Do you want to enable Emulate3Buttons? A középső egérgomb emulálása egyszerűen a bal és a jobb egérgombok együttes megnyomásával történik. Ezután meg kell adni az egér csatlakozásának típusát: Now give the full device name that the mouse is connected to, for example /dev/tty00. Just pressing enter will use the default, /dev/mouse Mouse device: Ha a rendszer telepítése során már megadtuk az egér kapuját, nyomjunk Entert a /dev/mouse elfogadásához. A billentyűzet   A program a következőkben megkérdezi, hogy szeretnénk-e a Meta  ESC  -et       Alt  gombhoz és a  ModeShift  -et a jobb oldali  Alt  hozzárendelni a bal oldali  gombhoz. Please answer the following question with either ’y’ or ’n’. Do you want to enable these bindings for the Alt keys?

  Ha igennel (‘y’) válaszolunk, a magyar billentyűkiosztást érhetjük el a jobb  Alt    megnyomásával, a bal  Alt  mint meta billentyű használható2 . 2 116 pl. az Emacs programban Beállítás az xf86config segítségével 5 A monitor Figyelem A frekvenciák helytelen megadásával tönkretehetjük monitorunkat, különösen ha régebbi típusú! Az X Window rendszer csak azokat a videomódokat használja, amelyek a megadott frekvenciatartományba tartoznak. Ha olyan frekvenciatartományt adunk meg, amelyet a monitor nem támogat, az a képernyő meghibásodásához is vezethet. Figyelem Az X Window rendszer Ezután meg kell adnunk a képernyő tulajdonságait. Legyünk óvatosak a vízszintes és a függőleges frissítési frekvenciák megadásával! Ezek az értékek megtalálhatók a monitor kézikönyvében. A vízszintes frekvencia megadásához a következő lista jelenik meg (lásd a 6. képernyőlistát): hsync in kHz; monitor type

with characteristic modes 1 31.5; Standard VGA, 640x480 @ 60 Hz 2 31.5 - 351; Super VGA, 800x600 @ 56 Hz 3 31.5, 355; 8514 Compatible, 1024x768 @ 87 Hz interl. (no 800x600) 4 31.5, 3515, 355; Super VGA, 1024x768 @ 87 Hz il, 800x600 @ 56 Hz 5 31.5 - 379; Extended Super VGA, 800x600 @ 60 Hz, 640x480 @ 72 Hz 6 31.5 - 485; Non-Interlaced SVGA, 1024x768 @ 60 Hz, 800x600 @ 72 Hz 7 31.5 - 570; High Frequency SVGA, 1024x768 @ 70 Hz 8 31.5 - 643; Monitor that can do 1280x1024 @ 60 Hz 9 31.5 - 790; Monitor that can do 1280x1024 @ 74 Hz 10 Enter your own horizontal sync range Enter your choice (1-10): 6. képernyőlista: A vízszintes frekvencia megadása Csak egy módot választhatunk az előre definiáltak közül, ha nem vagyunk biztosak a monitor beállítási értékeiben. A ‘10’ menüpont választásával egyedi értékeket adhatunk meg. A következő oldalon a függőleges frekvenciát állíthatjuk be (lásd a 7. képernyőlistát). Ismételten javasolt az egyedi, konkrét

értékek megadása (az ‘5’-ös menüpont választásával) az ‘1’ - ‘4’ menüpontok választása helyett. SuSE Linux – Rendszerkézikönyv 117 1 2 3 4 5 50-70 50-90 50-100 40-150 Enter your own vertical sync range Enter your choice (1-5): 7. képernyőlista: Függőleges frekvencia megadása Ezután adjuk meg monitorunk nevét, a gyártó nevét, illetve a modell típusszámát: Enter an identifier for your monitor definition: Enter the vendor name of your monitor: Enter the model name of your monitor: Ezek csak magyarázó nevek, amelyek a rendszer dokumentálásához   szükségesek, a beállításokra ténylegesen nincsenek befolyással. Az  Enter  -t egymás után gyorsan lenyomva az alapértelmezett értékek tárolódnak, amelyek többnyire elegendőek. A monitor beállításaival ezzel készen is volnánk. Grafikus kártyák /X szerverek Most meg kell adnunk a videokártya típusát: Do you want to look at the card database? Ha igennel

válaszolunk (az ‘y’ lenyomásával), listát kapunk az ismert kártyákról. A listából kiválaszthatjuk a videokártyát a megfelelő sorszám begépelésével. Ne bízzunk meg vakon az itt szereplő adatokban, mert lehetnek különbségek a clockchip és a RAMDAC3 értékeiben! Ez az, amiért egy későbbi menüpontban be kell állítani a RAMDAC és a clock chip értékét, még akkor is, ha ezt korábban már megtörtént. Az előre megadott értékek mint extra opciók fognak megjelenni. A kártyadefiníciók tartalmazzák a clock chipek, a RAMDAC és a használandó X szerver típusát. A továbbiakban több hasznos (és pontosító) információ kerülhet az XF86Config fájl eszköz részébe (device section). 3 118 Random Access Memory Digital-to-Analogue Converter. Beállítás az xf86config segítségével További információk a kártya beállítására vonatkozólag megtalálhatók Az X Window rendszer optimalizálása fejezetben (124. oldal) A

videokártya beállítása után az X szerver beállítása következik. Az xf86config megjeleníti a lehetőségeket, ahogy az látható a 8. képernyőlistában Az ‘5’-ös menüpont csak akkor jelenik meg, ha a videokártyát a listán szereplők közül választottuk ki az előző pontban. Ebben az esetben válasszuk az ‘5’-öst, amely a kártyának megfelelő X szerver. 5 Az X Window rendszer Ne essünk pánikba, ha a videokártyánkat nem tartalmazza a lista! Visszatérhetünk a normál beállításokhoz a ‘q’ megnyomásával. Csak akkor válasszunk az előre definiált kártyák közül a listáról, ha tulajdonságai pontosan megegyeznek a mi kártyánkéival (pontosan olyan típusú)! Hasonló nevű kártya kiválasztása nem igazán javasolt. A hasonló elnevezések nem mindig jelentik ugyanazt a hardvert. 1 The XF86 Mono server. This a monochrome server that should work on any VGA-compatible card, in 640x480 (more on some SVGA chip sets). 2 The XF86

VGA16 server. This is a 16 color VGA server that should work on any VGA-compatible card. 3 The XF86 SVGA server. This is a 256 color SVGA server that supports a number of SVGA chip sets. It is accelerated on some Cirrus and WD chip sets. It supports 16 and 32-bit color on certain Cirrus configurations. 4 The accelerated servers. These include XF86 S3, XF86 Mach32, XF86 Mach8, XF86 8514, XF86 P9000, XF86 AGX, XF86 W32, and XF86 Mach64. These four server types correspond to the four different "Screen" sections in XF86Config (vga2, vga16, svga, accel). 5 Choose the server from the card definition, XF86 S3. Which one of these four screen types do you intend to run by default (1-4)? 8. képernyőlista: X szerver kiválasztása 1 Szerver monokróm (fekete-fehér)monitorokhoz. Működnie kell az összes VGA-kompatibilis kártyával, legalább 640x480-as felbontásban. 2 16 színű XF86 VGA16 szerver. Működnie kell az összes VGA-kompatibilis kártyával. SuSE Linux –

Rendszerkézikönyv 119 3 XF86 SVGA SVGA szerverA. SVGA kártyák széles skáláját támogatja cards Gyorsítva megy néhány Cirrus and WD chipkészleten; támogatja a 16/32 bites színmélységet számos Cirrus konfiguráción. 4 Szerverek, hardveres gyorsítást kihasználó kártyákhoz. Itt megtalálható néhány szerver, melyekből kedvünkre válogathatunk (lásd lentebb). 5 Ez a menüpont csak akkor jelenik meg, ha az előzőnél a kártyaadatbázisból választotta ki a kártyát. Az itt megjelenő szerver a kiválasztott kártya alapértelmezett szervere. Miután kiválasztottuk a szervert, a program megkérdezi, hogy létrehozza-e az alábbi szimbolikus linket: /usr/X11R6/bin/X. Ha ‘y’-nal válaszolunk, megkérdezi, hogy az alábbi helyen hozza-e létre: /var/X11R6/bin/X. Do you want to set it in /var/X11R6/bin? Válaszoljunk igennel (az ‘y’ lenyomásával), még akkor is, ha nem mindig tudunk írni a /usr-be. Ezután, ha az előzőek során a

‘4’-es menüpontot választottuk (a gyorsított szervert), egy menü jelenik meg az összes hozzáférhető gyorsított szerver nevével, ahogyan az a 9. képernyőlistában szerepel Select an accel server: 1 2 3 4 5 6 7 8 XF86 S3 XF86 Mach32 XF86 Mach8 XF86 8514 XF86 P9000 XF86 AGX XF86 W32 XF86 MACH64 Which accel server: 9. képernyőlista: Gyorsított X szerverek opciói Miután az X szervert kiválasztottuk, be kell állítani a grafikus megjelenést is. Először a videomemória méretét kell megadni, lásd a 10. képernyőlistát How much memory do you have on your graphics card: 120 Beállítás az xf86config segítségével 5 256K 512K 1024K 2048K 4096K Other Enter your choice: 10. képernyőlista: A videomemória megadása Ezután meg kell adnunk a videokártya és gyártója nevét, majd a kártya   Enter  megnyomásával típusszámát. Ezek megint tájékoztató jellegű adatok, az  az alapértelmezettet írja be. Az X Window rendszer 1 2 3 4

5 6 Enter an identifier for your graphics card definition: Enter the vendor name of your graphics card: Enter the model (board) name of your graphics card : Ha gyorsított szervert választottunk, meg kell adnunk a RAMDAC-értékeket. Ez csak az S3 és az AGX szerverekre vonatkozik.   Enter  megnyomása is elegendő. Ha olyan Legtöbb esetben egyszerűen az  kártyát adtunk meg, amelyik csak megfelelő RAMDAC-beállításokkal működik helyesen, ezt itt be kell állítani (lásd a 11. képernyőlistát) 1 2 3 4 5 6 7 8 9 10 11 12 AT&T 20C490 (S3 server) AT&T 20C498/21C498/22C498 (S3) AT&T 20C505 (S3) BrookTree BT481 (AGX) BrookTree BT482 (AGX) BrookTree BT485/9485 (S3) Sierra SC15025 (S3, AGX) S3 GenDAC (86C708) (autodetected) S3 SDAC (86C716) (autodetected) STG-1700 (S3) TI 3020 (S3) TI 3025 (S3) att20c490 att20c498 att20c505 bt481 bt482 bt485 sc15025 s3gendac sdac stg1700 ti3020 ti3025 11. képernyőlista: A RAMDAC beállítása Ezután meg kell

adnunk a clock chipet a gyorsítást használó kártyákhoz (lásd a 12. képernyőlistát) A clock chip megadásával elkerülhetők a zavaró hibák, amint azokat beállítottuk. SuSE Linux – Rendszerkézikönyv 121 1 2 3 4 5 6 7 8 9 10 11 12 13 AT&T 20C490 (S3 server) AT&T 20C498/21C498/22C498 (S3) AT&T 20C505 (S3) BrookTree BT481 (AGX) BrookTree BT482 (AGX) BrookTree BT485/9485 (S3) Sierra SC15025 (S3, AGX) S3 GenDAC (86C708) (autodetected) S3 SDAC (86C716) (autodetected) STG-1700 (S3) TI 3020 (S3) TI 3025 (S3) Normal DAC att20c490 att20c498 att20c505 bt481 bt482 bt485 sc15025 s3gendac s3 sdac stg1700 ti3020 ti3025 normal 12. képernyőlista: A clock chip beállítása Ha olyan kártyát választottunk, amelyen nincs clock chip, csak nyomjunk Enter-t (így nem adunk meg clock chipet). Ha a kártyát kiválasztottuk, a clock chip alapértelmezettként kerül beállításra. Ha semmilyen clock chipet sem állítottunk be, az xf86config program javasolja az

X -probeonly futtatását az időzítések beállításához. Ezeket automatikusan az XF86Config-ban tárolja különböző clocks sorokban. Most pedig nézzük meg, hogy az automatikus felismerés miért lehet igazán veszélyes: ha a kártyán programozható clock chip található, akkor az X szerver, amikor kipróbálja, nem tudja megkülönböztetni a különböző órajeleket, és csak az alábbiakat ismeri fel: 0, 1 és néha 2. Minden más érték valamilyen véletlen szám (normálisan 0, 1, és 2 ismétlődik, vagy nullákkal helyettesítődik). Minden érték, a 0 és 1 kivételével, erősen függ az előre programozott clock chiptől. Ezért a 2-es érték más beállításokat kaphat kipróbáláskor (és emiatt a hibás értékek kerülnek az XF86Config fájlba), mint amit az X szerver későbbi indulásakor használ. Így az összes beállítás elcsúszhat, és ez a monitor meghibásodását okozhatja! A programozható clock chip (és a vele kapcsolatos

probléma is) felismerhető az egymást követő sok nulla vagy az ismétlődő időzítési értékek láttán. Sohasem szabad ilyen értékeket találomra az XF86Config fájlba kézzel beírni! A clock chipek beállításának lépései: A legjobb, ha megadjuk a létező (programozható) clock chipet, ha van ilyen. Ez automatikusan beállítódik, így az XF86Config nem fog tartalmazni erre vonatkozó sorokat. Össze kell vetni a kártyán szereplő értékeket a listában találhatóakkal. A legújabb S3 kártyákon például található programozható clock chip. 122 Beállítás az xf86config segítségével Kivétel: ha a P9000 szervert használjuk, a sorrend lényegtelen; csak gépeljük be a megfelelő értékeket a clocks line sorba. 5 Az X Window rendszer Ha nincs programozható clock chip, el kell indítanunk az X -probeonly programot, és a kapott értékeket össze kell vetnünk a kártya leírásában találhatóakkal. Ha az értékek nem egyeznek (±2),

be kell írni az XF86Config fájlba. Ha a kártya leírásában nincsenek ilyen tippek, megpróbálhatjuk az X -probeonly futtatását. Ellenőrizzük az értékek helyességét, mert az értékek nem minden kártyánál ismerhetők fel egyértelműen. (A sok egymást követő nulla vagy az ismétlődő értékek hibás felismerésre utalnak.) Gépeljük be a helyes értékeket az XF86Config fájlba. Ne hagyjunk ki egyet sem közülük, és ne próbáljuk megváltoztatni vagy a sorrendjüket felcserélni. Az értékeket az eredeti sorrendjüknek megfelelően kell begépelni. Általában: ha van programozható clock chip, akkor nem kell szerepelnie erre utaló sornak az XF86Config fájlban (kivéve a P9000 szerver használatánál). Programozható clock chip nélküli kártyák esetén kell szerepelni a clocks line-ra vonatkozó sornak az XF86Config fájlban. Ezzel megelőzhetjük a fárasztó (és néha igazán veszélyes) kipróbálást az indítások során. Azokon a

kártyákon, amelyeken ezek az értékek kiolvashatatlanok, nincsenek érvénytelen (hibás) értékek, így nem tehetik tönkre a monitort. Az előzőek elolvasása után ha az órajel-értékeket szeretnénk automatikusan felismertetni, válaszoljunk igennel (az ‘y’ megnyomásával) a következő kérdésre: Do you want me to run ’X -probeonly’ now? Ekkor a képernyő elfeketedik, és a kipróbált órajelek listája megjelenik rajta, vagy egy üzenetet kapunk, hogy nincsen órajel. Ha kiválasztottunk egy clock chipet, ez a kérdés nem fog megjelenni, mert a chip programozása automatikus. Ebben az esetben ez a rész kihagyható. Figyelem Ha az előző kérdésre igennel válaszoltunk (az ‘y’ lenyomásával), és a monitor több, mint 30 másodpercig sötét maradt, a tesztelést azonnal be     kell fejeznünk a  Ctrl  + Alt  + ← billentyűkombináció használatával vagy   a Ctrl  + c lenyomásával. Ha ez nem működne, kapcsoljuk ki a

monitort, majd a számítógépet, hogy a hardver nehogy megsérüljön! Figyelem SuSE Linux – Rendszerkézikönyv 123 A beállítások mentése Most a beállításokat el kell menteni. Javasoljuk, hogy az /etc/XF86Config fájlba mentsük el, hálózatos környezetben is jobb, ha minden gép saját konfigurációs fájllal rendelkezik – még ha a /usr fájlrendszert megosztva is használják. Miután a beállításokat mentettük az /etc/XF86Config fájlba, az xf86config program kilép, és megjelenik a prompt. Ezzel az X Window rendszer beállításai befejeződnek. Az X Window rendszer optimalizálása Ez a rész az XFree86 4.x verziójára vonatkozik és leírja az /etc/X11/ XF86Config beállítási fájl felépítését. Habár a SaX2-vel több összetett beállítási lépést vihetünk véghez, nagyon hasznos ismerni a beállítási fájl formátumát. Az /etc/X11/XF86Config különböző szekciókra (sections) oszlik. Ezeknek a szekcióknak az elejét egy Section

<a szekció neve> bejegyzés jelöli meg, a végét pedig egy EndSection bejegyzés. A következőkben egy rövid áttekintést nyújtunk a legfontosabb részekről, majd megismertetjük, hogy hogyan integráljunk további betűkészleteket, miként állíthatunk be beviteli eszközöket (input devices), valamint a 3D gyorsítók működését. Ezeket szintén az XF86Config fájl bizonyos részei kezelik, habár például a további karakterkészletek integrálása külső programok segítségét igényli. Alapértelmezett telepítés esetén, ezek azonban már telepítve vannak SuSE Linux alatt. Az itt tárgyalt eljárás célja, hogy illusztráljuk az elérhető lehetőségeket és ösztönzőként szolgáljon; nem térünk ki viszont az összes eshetőségre. A SaX2 és az xf86config programok létrehozzák az XF86Config fájlt, mely alapértelmezettként az /etc/X11 könyvtárban van (az XFree86-4.x-hez) Ez az elsődleges beállítási fájl az X Window rendszerhez.

Itt megtalálhatjuk az összes beállítást, ami a grafikus kártyánkra, egerünkre és a képernyőnkre vonatkozik. Az XF86Config több szekcióból áll. Minden egyes szekció a beállítások egy bizonyos aspektusával foglalkozik. A szekciók mindegyike azonos formátumú: Section hA szekció nevei 1. bejegyzés 2. bejegyzés n. bejegyzés EndSection A következő típusú szekciók léteznek: 124 Az X Window rendszer optimalizálása 5 ServerFlags InputDevice Monitor Modes Device Screen Ez a rész írja le az összes használt elérési utat és az RGB színtáblázatot. Itt adjuk meg az általános kapcsolókat a szerver működéséhez. A beviteli eszközöket állítjuk be ebben a részben. Az XFree86-3.3-mal ellentétben a billentyűzet és az egér, valamint a speciális beviteli eszközök (touch pad, joysticks stb.) ebben a részben kerülnek beállításra Fontos itt a Driver és azok a lehetőségek (options), amelyek meghatározzák a Protocol és a

Device bejegyzéseket. A képernyő leírását tartalmazza. Az ebben a részben található elemek tartalmazzák a nevet, amire a későbbiekben Screen definícióként hivatkozunk, a sávszélességet (bandwidth) és a szinkronjelek frekvenciáit (HorizSync és VertRefresh). A beállítások rendre MHz-ben, kHz-ben és Hz-ben vannak megadva. A szerver rendszerint nem fogadja el az olyan modelineokat, amelyek nem felelnek meg a képernyő leírásának, ezzel megakadályozza, hogy a monitor véletlenül túl nagy frekvenciát kapjon. A modeline-paramétereket tartjuk itt a speciális képernyőfelbontásokhoz. Ezeket a paramétereket a SaX2 számítja ki a felhasználó által megadott értékek alapján, és általában nem szükséges megváltoztatni azokat. Ennél a pontnál beavatkozhatunk kézzel, ha például egy állandó frekvenciájú képernyőt akarunk csatlakoztatni. Az egyes paraméterek pontos elmagyarázása túlmutatna a könyv keretein, azonban az egyenkénti

számértékek jelentéséről részleteket találhatunk a /usr/share/doc/howto/en/ XFree86-Video-Timings-HOWTO.gz HOWTO fájlban Ez a rész meghatároz egy speciális grafikus kártyát. Erre a leíró neve alapján utalunk. Ebben a részben a Driver (pl. vga2), a Monitor és a Device bejegyzések alkotják az XFree86 számára szükséges beállításokat. A Display alrészben megadhatjuk az adott virtuális képernyő méretét (Virtual, valamint az ezzel a virtuális képernyővel használt ViewPort-ot és Modes-t). Az X Window rendszer Files 5.1 táblázat: folytatás a következő oldalon SuSE Linux – Rendszerkézikönyv 125 ServerLayout Ebben a a részben meghatározhatjuk a képernyők elrendezését, ha többmonitoros videokártyánk van. A beviteli eszközök az InputDevice, a megjelenítő eszközök a Screen szekcióban találhatók. 5.1 táblázat: Szekciók (Sections) az /etc/X11/XF86Config-ban Vizsgáljuk meg közelebbről a Monitor, a Device és a

Screen szekciókat, a többi szakasszal kapcsolatban olvassuk el az XF86Config kézikönyvlapját. Az XF86Config több, különböző Monitor illetve Device szekciót tartalmazhat. Előfordulhat az is, hogy több Screen szekció létezik Ilyenkor a ServerLayout szekcióban meghatározhatjuk, hogy melyik legyen az alapértelmezett képernyő. Screen szekció Először is nézzük meg közelebbről a screen szekciót. Mint már említettük, ez egy monitor és egy device szekciót foglal magába, és meghatározza a használt felbontást és színmélységet. Lássunk egy példát: Section "Screen" DefaultDepth 16 SubSection "Display" 16 Depth Modes "1152x864" "1024x768" "800x600" Virtual 1152x864 EndSubSection SubSection "Display" Depth 24 Modes "1280x1024" EndSubSection SubSection "Display" Depth 32 Modes "640x480" EndSubSection SubSection "Display" Depth 8 Modes

"1280x1024" EndSubSection Device "Device[0]" Identifier "Screen[0]" Monitor "Monitor[0]" EndSection 7. fájllista: Példa az etc/XF86Config screen szekciójára 126 Az X Window rendszer optimalizálása    5 Az X Window rendszer Az Identifier sor (itt Screen[0]) meghatározott nevet ad ennek a szekciónak, amire majd a ServerLayout szekcióban hivatkozni lehet. A Device és a Monitor sorok a beállításhoz tartozó grafikus kártyát és képernyőt határozzák meg. A bejegyzések az adott nevű Device, illetve Monitor részre mutatnak. Ezeknek a szekcióknak a részletes ismertetésére a későbbiekben kerül sor. A DefaultDepth meghatározza, hogy milyen színmélységben induljon a szerver, ha nem adjuk meg külön a színmélységet. Minden egyes színmélységhez tartozik egy-egy Display alrész. A Depth határozza meg az alrészhez tartozó színmélységet. A Depth lehetséges értékei 8, 16, 24 és 32. Nem minden X

szerver támogatja az összes üzemmódot A legtöbb kártya esetén a 24 és a 32 bites színmélység gyakorlatilag ugyanaz, egyes kártyáknál a 24 packed-pixel a 24 bit/pixeles üzemmódot, viszont néhány egyéb kártyánál a 32 padded-pixel üzemmódot jelenti. A színmélységet követi a beállított felbontások listája (Modes). Ezt a listát a szerver balról jobbra haladva ellenőrzi. Minden egyes felbontáshoz megkeresi a megfelelő Modeline-t, amely meg kell, hogy egyezzen a megadott órajelfrekvenciák egyikével, vagy egy órajel-frekvenciával a kártya programozásához.  Ctrl  + Alt  + szürke +  Az első megtalált felbontás az alapértelmezett felbontás. A  billentyűkombinációval a listában eggyel jobbra lépve válthatunk a soron     következő felbontásra, a  Ctrl  + Alt  + szürke -  billentyűkkel pedig eggyel balra léphetünk, így grafikus felület alatt is bármikor módosíthatjuk a felbontást. A Display alszekció

utolsó sora (Virtual) a virtuális képernyő méretére utal. A virtuális képernyő maximális mérete a grafikus kártya memóriájától és a kívánt színmélységtől függ, nem pedig a monitor maximális felbontásától. Igen nagy virtuális munkaasztalt hozhatunk létre, mivel a mai grafikus kártyák nagy mennyiségű videomemóriával rendelkeznek. Azonban figyelembe kell vennünk, hogy túl nagy virtuális felbontás mellett esetleg nem tudjuk használni a kártya 3D funkcióit, hiszen a kártya teljes memóriáját a virtuális munkaasztalra használjuk. Ha a kártyánk például 16 MB videomemóriával rendelkezik, akár egy 4096x4096 (!) felbontású virtuális képernyőnk is lehet, 8 bites színmélységben. A gyorsítással rendelkező X szervereknél azonban nem ajánlott az összes memóriát a virtuális képernyőhöz felhasználni, mivel a kártya memóriáját különféle betűkészlet- és grafikus gyorsítótárak is használják. Device szekció

Egy Device szekció egy adott grafikus kártyát ír le. Az XF86Config fájl tetszőleges számú device bejegyzést tartalmazhat, feltéve, hogy a nevük különbözőek (erre való az Identifier bejegyzés). SuSE Linux – Rendszerkézikönyv 127 Több grafikus kártya esetében az egyes kártyák rendszerint meg vannak számozva a behívás sorrendjében, az első a Device[0], a második Device[1] stb. A 8 fájllistán egy Matrox Millennium PCI grafikus kártyával rendelkező gép XF86Config Device szekcióját láthatjuk. Section "Device" BoardName "MGA2064W" BusID "0:19:0" Driver "mga" "Device[0]" Identifier VendorName "Matrox" Option "sw cursor" EndSection 8. fájllista: Példa egy /etc/X11/XF86Config fájl device bejegyzésre Ha a SaX2-t használjuk a grafikus felület beállításra, akkor a szekció úgy néz ki, mint a fenti ábrán. Mind a Driver, mind a BusID természetesen a gépünkben

lévő hardvertől függ, és a SaX2 automatikusan érzékeli azokat. A BusID meghatározza a grafikus kártya által használt PCI illetve AGP foglalatot. Ez egyezik az azonosítóval (ID), ami megjelenik az lspci parancsra. Vegyük figyelembe hogy az X szerver a részleteket decimális formában kéri, míg az lspci hexadecimális formában jeleníti meg azokat! A Driver paraméteren keresztül meghatározhatjuk a meghajtót, amit ehhez a grafikus kártyához használunk. Ha a kártya például egy Matrox Millennium, akkor a meghajtó modul neve mga. Az X szerver ekkor végigkeresi azt a ModulePath-t, amit a Files részben határoztunk meg a drivers alkönyvtárban. Szabványos telepítésnél ez a /usr/X11R6/lib/modules/ drivers könyvtár. Ezért egyszerűen a drvo-t hozzáadja a névhez, így az mga meghajtó esetében az mga drv.o meghajtó fájl kerül betöltésre Az X szerver (pontosabban: az egyes meghajtók) viselkedése további lehetőségeken (options) keresztül is

befolyásolható. Egy példa erre a lehetőségre az sw cursor, mely a Device részben került beállításra. Ez hatástalanítja a hardveres egérmutatót, szoftveres egérmutatót használva. A meghajtó modultól függően különféle lehetőségek állnak rendelkezésünkre, amelyek megtalálhatók a meghajtó modulokat leíró fájlokban a /usr/X11R6/lib/X11/ doc könyvtárban. További hasznos lehetőségeket találunk a man XF86Config és man XFree86 alatt. 128 Az X Window rendszer optimalizálása 5 Monitor szekció A képernyődefiníciókra is vonatkozik az, hogy csak gyakorlott felhasználók módosítsák ezeket. A képernyő rész legkényesebb részei az úgynevezett modeline-ok, amelyek a vízszintes és függőleges frissítéseket állítják be az adott felbontáshoz. A Monitor szekcióban beállíthatjuk tehát a képernyő tulajdonságait, elsősorban a szükséges frekvenciákat. Az X Window rendszer A Monitor szekciók mindegyike egy-egy

képernyőt ír le, ugyanúgy, ahogy a device szekciók egy-egy grafikus-kártyát. Több Monitor szekciónk is lehet A szerver elrendezés (server layout) rész határozza meg, hogy melyik képernyő milyen beállításokat használ. Figyelem Ne módosítsuk a modeline-okat, ha nem ismerjük alaposan a képernyő és a grafikus kártya működését, ellenkező esetben súlyosan károsíthatjuk a képernyőt! Figyelem Azoknak, akik saját képernyőleírásokat szeretnének kidolgozni, hasznos lehet a /usr/X11/lib/X11/doc könyvtárban található dokumentáció. Szerencsére „kézi” modeline beállításra manapság aligha van szükség. Ha modern többfrekvenciás monitort használunk, a megengedett frekvenciák és az optimális felbontás meghatározása DDC-n keresztül történhet, ahogy azt a SaX2 beállítási részben leírtuk. Ha ez nem lehetséges, akkor használhatunk egy olyan VESA módot, amit az X szerver ismer. Ez gyakorlatilag az összes grafikus kártya

/ képernyő kombinációval működik. További (True Type) betűkészletek beillesztése Az alapértelmezett SuSE Linux telepítés sok betűkészletet tartalmaz. Ezek megtalálhatók a /usr/X11R6/lib/X11/fonts könyvtárban és annak alkönyvtáraiban. Fontos tudni, hogy az X szerver csak azokat az alkönyvtárakat használja, amelyek: fel vannak sorolva az etc/X11/XF86Config fájl Files szekciójában a FontPath pont alatt. tartalmaznak egy érvényes fonts.dir fájlt, nem lettek hatástalanítva az xset −fp paranccsal, miközben az X szerver futott, illetve SuSE Linux – Rendszerkézikönyv 129 nem lettek utólagosan hozzáadva az xset +fp paranccsal, miközben az X szerver futott. Az XFree86 a 4.x-es verzió óta nem csak a saját formátumú Type1 (PostScript) formátumot használja méretezhető betűkhöz (illetve a pcf-et bitmapekhez), hanem a ttf (angolul True Type font) betűket is kezeli. Amint azt leírtuk A 43as XFree86 fejezetben (113 oldal), ezt a

támogatást az X szerver saját betölthető moduljain keresztül nyújtja. Így az X szerverrel együtt használhatunk olyan könyvtárakat is, amelyek truetype betűket tartalmaznak. Ehhez szinte semmi előkészítésre nincs szükség. A Truetype betűkészletek előnye, hogy nagyon jól méretezhetők és hogy a szokványos 256 karakteres „iso-8859-2” készletnél jóval több betűt tartalmaznak. Ezekkel a betűkkel megjeleníthetünk cirill, görög vagy nyugateurópai nyelveket is; külön szoftverrel még akár ázsiai nyelveket is Tipp A KDE vezérlőközpontban lévő betűkészlet-telepítő segítségével is telepíthetünk különböző True Type vagy Type1 betűkészleteket. Ehhez még root jogosultsággal sem kell rendelkeznünk. Tipp Az ISO alapú leírás a 8 bites karakterkészletek használatának lényege. Ha ázsiai nyelvek karaktereit akarjuk használni (japán, kínai stb.), használhatunk speciális szerkesztőket, amelyek szintén

elérhetők a SuSE Linuxban. A 8 bites karakterkészlet 256 karaktert tartalmaz, és alapjában US-ASCII karakterkészletet tartalmaz, ami csak az első 128 karaktert határozza meg a lehetséges 256-ból. Egy karakter így 8 bitet foglal el a számítógép memóriájában A 128 karakter természetesen nem elegendő a speciális karakterekhez, például az összes európai nyelvhez, ezért a különböző nyelveket csoportokba osztották és adtak nekik egy rövid nevet. A megfelelő karakterkészletet az idevonatkozó szabvány szerint nevezték el, például „iso-8859-X” karakterkészlet, ahol az X jelentése egy szám, 1-től 15-ig. Az iso-8859-2 betűkészlet karaktereinek pontos sorrendje megtalálható a man iso-8859-2 alatt. Az 5.2 táblázaton (következő oldal) láthatunk néhány ismert kódolást A felhasználónak ezután, a használt nyelvtől függően, ki kell választania a megfelelő kódolást. Különösen amikor szövegeket mozgatunk különböző

gépek között, a használt kódolást is továbbítanunk kell. Az előnye ennek az eljárásnak nyilvánvaló: a regionális karakterek támogatásához csak ki kell választanunk a megfelelő kódolást, és (majdnem) azonnal az összes program képes lesz megjeleníteni a speciális karaktereket, mivel (majdnem) az összes program 8 130 Az X Window rendszer optimalizálása Font iso-8859-2 iso-8859-5 iso-8859-7 iso-8859-15 5.2 táblázat: Fontosabb betű (font) kódolások 5 Az X Window rendszer iso-8859-1 Támogatott nyelvek, melyek speciális karaktereket tartalmaznak nyugat-európai nyelvek: spanyol, német, francia, svéd, finn, dán és egyebek közép- és kelet-európai: cseh, román, lengyel, magyar és egyebek cirill karakterek az oroszhoz görög karakterek mint az iso-8859-1, de a török karakterekkel és az Euró jellel. bites értéket használ a szöveges karakter megjelenítésére. Ha rossz kódolást választunk, akkor a különleges karakterek

helytelenül jelennek meg. A legtöbb X alkalmazásban, valamint a KDE grafikus munkakörnyezetben kiválaszthatjuk a karakterkészlet kódolást, amikor beállítjuk a használandó betűkészletet. Az X alkalmazásokban a kódolásra rendszerint mint Encoding-ra utalunk. E módszer hátránya, hogy néhány nyelvet nem lehet egymással kombinálni: nem tudunk például olyan magyar szöveget írni, amiben megemlítünk egy orosz helységnevet cirill betűkkel. Ezt a dilemmát csak egy másik megközelítéssel tudjuk feloldani, a Unicode (ejtsd: "junikód") használatával. A Unicode kódok karakterei – az ASCII-tól eltérően – nem egy, hanem kettő vagy több byte segítségével teszik lehetővé lényegesen több karakter egyidejű megjelenítését. Mindenképpen Unicode-ot kell használnunk, ha a gépünkön olyan ázsiai nyelveket akarunk ábrázolni, mint a kínait, a japánt vagy a koreait. Hátránya ennek a módszernek, hogy a legtöbb létező

szoftver nem tudja kezelni ezeket a karaktereket, és speciális szoftver használata szükséges. Ha további információra van szükségünk a Unicode betűkészlet használatáról, tekintsük meg a http://www.unicode org/ honlapot. Várható, hogy a jövőben egyre több program fogja támogatni a Unicode karaktereket. A SuSE Linuxban a yudit programmal tudunk szöveget szerkeszteni Unicode-ban. A yudit program megtalálható az yudit csomagban, vagy telepítés után a SuSE menün keresztül, az Irodai alkalmazások almenü ‘Szerkesztők’ menüpontjában. Térjük most azonban vissza a betűkészlet beállításához. Keressük meg azokat a betűtípusokat, amiket telepíteni akarunk. Ha már vannak Truetype betűkészleteink (például egy jogtiszta Windowson, akkor egyszerűen használhatjuk azokat, ha a betűket tartalmazó partíciót a rendszerhez csatoljuk. SuSE Linux – Rendszerkézikönyv 131 Létesítsünk egy betűkészlet-könyvtárat és váltsunk

át oda. A SuSE Linux már tartalmaz egy /usr/X11R6/lib/X11/fonts/truetype könyvtárat, átmásolhatjuk a kívánt betűkészleteket ebbe a könyvtárba is. meggyfa:/root # cd /usr/X11R6/lib/X11/fonts/truetype Készítsünk ebben a könyvtárban szimbolikus linkeket a ttf fájlokhoz vagy másoljuk a betűkészleteket ebbe a betűkészlet-könyvtárba. A truetype betűk használatához egy speciális programra, a ttmkfdir-re van szükségünk (ttmkfdir csomag), mely létrehozza a betűtípusok leírását tartalmazó fonts.dir fájlt Hagyományos X betűkészleteket (Type1) az mkfontdir parancs használatával készíthetünk így elő. meggyfa:/usr/X11R6/lib/X11/fonts/truetype # ln -s h/a/fontok/elérési/útvonalai/*.ttf meggyfa:/usr/X11R6/lib/X11/fonts/truetype # ttmkfdir | sed s/ˆ[0-9]*// >fonts.scalemyfonts meggyfa:/usr/X11R6/lib/X11/fonts/truetype # /sbin/conf.d/SuSEconfigfonts Ha az X szerver már fut, dinamikusan elérhetővé tehetjük a betűket. Ehhez adjuk

ki a következő parancsot: meggyfa:~ # xset fp rehash Tájékoztatás Az xset parancs az X szervert az X protokollon keresztül éri el. Ezért az X szerver futásához elérhető engedéllyel kell rendelkeznünk (például ha jancsi-ként indítottuk az X szervert). Erről bővebbet a man xauth alatt találunk. Tájékoztatás A betűkészletek végleges beállításához hozzá kell adjuk a keresési útvonalat az XF86Config fájlhoz. Használhatjuk erre a SaX2-t is, ahol a ‘Betűkészletek elérési útvonala’ párbeszédablakban hozzáadhatjuk a könyvtárat a ‘Hozzáad’ menüpont alatt. Ellenőriznünk kell, hogy a betűkészleteket jól állítottuk-e be. Ehhez használjuk az xlsfonts parancsot. Ha a betűket helyesen telepítettük, az összes telepített betűkészlet megjelenik a listán, beleértve az újonnan telepített TrueType betűkészleteket is: meggyfa:~ # xlsfonts Az újonnan telepített betűkészletek korlátozás nélkül használhatók

az összes X alkalmazásban. 132 Az X Window rendszer optimalizálása Támogatott grafikus kártyák minden, az XFree86 által támogatott kártyához nVidia-GLX / XFree86 4.x nVidia lapkakészlet: minden a Riva 128(ZX)-et kivéve DRI / XFree86 4.x 3Dfx Voodoo Banshee 3Dfx Voodoo-3/4/5 Intel i810/i815/i830/i845 Matrox G200/G400/G450/G550 ATI Rage 128(Pro)/Radeon SiS 300/540/630 Mesa/Glide 3Dfx Voodoo Graphics 3Dfx Voodoo II 5 Az X Window rendszer OpenGL-meghajtók Mesa szoftveres megjelenítés (nagyon lassú) 5.3 táblázat: Támogatott 3D grafikus kártyák OpenGL – 3D támogatás Linux alatt A Linuxban két 3D felület ismert. Az egyik az OpenGL, a másik a GLIDE a 3DFX Voodoo kártyákhoz. Szinte kivétel nélkül a legtöbb modern alkalmazás az OpenGL felületet használja, ezért a hardveres 3D gyorsítás csak az OpenGL felületen keresztül van implementálva. Egyes régebbi programoknál azonban előfordulhat, hogy 3Dfx Voodoo kártyák esetén a GLIDE

felületen keresztül jelenítik meg a térbeli ábrákat. A Microsoft Direct3D felülete Linux alatt jelenleg még nem használható, de létezik megoldás a Wine OpenGL támogatásának használatára. Hardvertámogatás A SuSE Linux a 3D-s hardvertámogatáshoz különböző OpenGL-meghajtó programokat tartalmaz. Az 53 táblázatban összefoglaltuk e meghajtókat Ha új rendszerünket a YaST2 segítségével telepítjük és a YaST2 felismeri a megfelelő kártyát, már a telepítés alatt bekapcsolható a 3D-támogatás használata. Kivételt képeznek az nVidia lapkakészletre épülő grafikus kártyák Ezek esetében a disztribúcióban szereplő úgynevezett helykitöltő-meghajtót ki kell cserélni az nVidia hivatalos meghajtóprogramjával. Frissítendők az SuSE Linux – Rendszerkézikönyv 133 NVIDIA GLX és az NVIDIA kernel csomagok. Töltsük le a megfelelő NVIDIA GLX és NVIDIA kernel RPM-csomagokat az nVidia weboldaláról (http://www.nvidiacom)

Telepítsük ezeket a YaST2 segítségével, és futtassuk le a switch2nvidia glx szkriptet. Licencjogi okokból az nVidia-nak csak az ún. helykitöltő-meghajtó csomagjai szerepelhetnek disztribúciónkban. SiS grafikus lapkakészletnél a grafikus memória méretét be kell állítani legalább 32MB-ra a BIOS-ban. Ezen felül a rendszermag általános framebuffer támogatását ki kell kapcsolni. Tájékoztatás A legújabb nVidia meghajtóknál fentiekre már nincs szükség. Egyszerűen futtassuk a YaST Online frissítést, majd válasszuk ki az Nvidia meghajtót a telepítéshez. A YaST erre mindent automatikusan beállít Tájékoztatás Ha frissítenünk kell rendszerünket vagy később kell beszerelni a videokártyát a gépünkbe, és a 3D-támogatást más módon kell beállítanunk. Az eljárás attól függ, hogy milyen OpenGL-meghajtót kell használni; ezt a következő fejezetben részletesen elmagyarázzuk. OpenGL meghajtók Mesa Szoftveres megjelenítés Ez

az OpenGL meghajtó minden esetben hozzáférhető, ha nem lett a hardveres 3D támogatás használata kijelölve a telepítés során az adott kártyához. A Mesa szoftveres megjelenítést akkor is használhatjuk, ha a 3D-meghajtó hibásan működik (megjelenítési hibával vagy nem stabil). Ellenőrizzük, hogy a mesasoft csomagot telepítettük-e, és futtassuk le a switch2mesasoft szkriptet. Ha nVidia-kártyánk van, akkor futtassuk le még a switch2nv parancsot is, így az nvidia-meghajtó helyett az XFree86 nv helykitöltőmeghajtóját fogja használni a rendszer. A 3Ddiag --mesasoft parancs ellenőrzi, hogy a Mesa szoftveres megjelenítés beállítása megfelelő-e. Az nVidia-GLX és a DRI meghajtók Ezeket az OpenGL-meghajtókat a SaX2-vel nagyon egyszerűen be lehet állítani. Mindössze annyit kell tennünk, hogy a SaX2 indításakor a 3D használatára vonatkozó kérdésre igennel válaszolunk. Ügyeljünk arra, hogy nVidia-kártyák esetében a SuSE

„helykitöltő” (dummy) meghajtóit ki kell cserélni az nVidia hivatalos meghajtóival az Online Update segítségével, kivéve, ha a csomagokat 134 OpenGL – 3D támogatás Linux alatt Biztonsági okokból csak a video csoport tagjai használhatják a 3D eszközt. Győződjünk meg róla, hogy minden felhasználó, aki lokálisan dolgozik a gépen, a video csoport tagja. Ha ez nincs így, akkor az OpenGL-programok elindításakor memóriakezelési hiba történik (nVidia-GLX), illetve az OpenGLmeghajtó nagyon lassú szoftveres megjelenítő helyettesítőjét fogja a rendszer használni (DRI). Az id parancs segítségével ellenőrizhetjük, hogy az aktuális felhasználó tagja-e a video csoportnak. Ha nem, akkor a Yast segítségével a felhasználót hozzáadhatjuk a csoporthoz. Mesa/Glide 5 Az X Window rendszer már kicseréltük. A 3Ddiag segítségével ellenőrizhetjük, hogy az nVidia-GLX, illetve a DRI beállításai megfelelőek-e. Ennek az OpenGL

meghajtónak a használatához szükség van egy kis manuális beállításra is, ami a 3Ddiag program leírása alapján elvégezhető. Részletes információkat 3Ddiag, a diagnosztikai eszköz fejezetben találhatunk. Ha Mesa/Glide meghajtót használunk, az OpenGL alkalmazásokat csak root felhasználóként tudjuk futtatni, mert csak a root férhet hozzá a hardverhez. Hogy ezt megtehessük, a felhasználónak be kell jelentkeznie és elérést kell adnia a hDISPLAYi-hez a root számára. Ezt a felhasználó az xhost localhost paranccsal teheti meg. Az OpenGL alkalmazás által használt képfelbontás a GLIDE támogatást is igényli (a támogatott méretek 640×480 és 800×600). Ellenkező esetben a nagyon lassú „Szoftveres leképző motor” kerül felhasználásra. 3Ddiag, a diagnosztikai eszköz SuSE Linux alatt a 3D beállítások ellenőrzésére a 3Ddiag nevű diagnosztikai eszköz használható. Ügyeljünk rá, hogy ez egy parancssori eszköz, amit terminálban

kell futtatni. A program ellenőrzi például az XFree86 beállításait, a 3D támogatáshoz szükséges csomagok meglétét és hogy a megfelelő OpenGL-könyvtárat, illetve GLX-kiterjesztést használjuk-e. Kövessük a 3Ddiag utasításait, ha ”failed” hibaüzenet jelenik meg. Ha mindent jól csináltunk, csak ”done” üzenetek jelennek meg a képernyőn. Ha a 3D támogatás be lett kapcsolva a telepítés során, a A Mesa/Glide OpenGL meghajtó beállítása a 3Ddiag eszköz segítségével gyorsan megy, amennyiben a 3D támogatás a telepítés során nem lett bekapcsolva. 3Ddiag -h bővebb információkat nyújt a 3Ddiag opcióiról. SuSE Linux – Rendszerkézikönyv 135 OpenGL tesztalkalmazások Az OpenGL teszteléséhez a gears program mellett különböző játékokat is használhatjuk, például a tuxracer vagy az armagetron programokat (az azonos nevű csomagokban megtalálhatók). Ha a 3D támogatás be lett kapcsolva, a játékok gördülékenyen

futnak egy mai átlagos számítógépen is. Ezeknek a játékoknak a futtatása a Mesa Software Rendering használatával nem lehetséges, illetve nem élvezhető (olyan, mintha egy diavetítést néznénk). Megbízható információt a 3D támogatásról a glxinfo parancs nyújt. Ellenőrizzük a ”direct rendering” értéket (”Yes”). Hibakeresés Ha a 3D-teszt negatív eredményt hoz (nem élvezhető a játék), akkor először a 3Ddiag segítségével ellenőrizni kell, hogy a beállítás nem hibás-e (”failed” üzenetek). Először ezeket kell kiküszöbölni, amennyiben lehetséges Ha ez sem segít, vagy ha nem jelennek meg hibaüzenetek, gyakran csak úgy juthatunk előre, ha az XFree86 naplófájlját is megvizsgáljuk. Ebben gyakran fordulhat elő a ”DRI is disabled” sor (a fájlt XFree86 4.x esetén a /var/log/XFree860log néven találjuk meg). A hibaüzenetnek több oka is lehet, amelyeket azonban csak a naplófájl alapos megvizsgálása után lehet

megtalálni, ami egy laikus számára minden esetben túl nagy feladat. Az ilyen esetekben rendszerint nem beállítási hibáról van szó, mivel ezt már a 3Ddiag is felismerte volna. Ha az OpenGL megjelenítése hibás, illetve ha stabilitási problémák lépnek fel, ajánlott visszatérni a Mesa szoftveres megjelenítő alkalmazására, de sajnos így a hardveres 3D-gyorsításról is le kell mondanunk. Stabilitási problémára gyakori példa, ha a DRI és bttv programokat használjuk (tévénézés Linux alatt) ATI Rage 128 kártyával. Telepítési támogatás A Mesa szoftveres megjelenítő kivételével Linux alatt minden OpenGLmeghajtó fejlesztési szakaszban van, és részben még kísérletinek kell őket tekinteni. Mégis úgy döntöttünk, hogy a meghajtókat beépítjük a disztribúcióba, mivel nagy igény jelentkezett a Linux alatti hardveres 3D-támogatásra; viszont – mivel az OpenGL-meghajtók részben kísérleti szakaszban vannak – a telepítési

terméktámogatás keretében nem minden esetben tudunk segítséget nyújtani a hardveres 3D-támogatás beállításában, és az ilyen problémák esetén nem mindig tudjuk segíteni a továbblépést. Tehát az X11 grafikus felület beállítása nem jelenti a hardveres 3D-gyorsítás beállítását. 136 OpenGL – 3D támogatás Linux alatt További online dokumentációk nVidia-GLX: /usr/share/doc/packages/nv glx/, /usr/src/kernel-modules/nv glx/README (a NVIDIA GLX és NVIDIA kernel csomagok nVidia szerver esetében) DRI: /usr/X11R6/lib/X11/doc/README.DRI (xf86 csomag) 5 Az X Window rendszer Mégis bízunk abban, hogy ez a fejezet sok felmerülő kérdést megválaszolt ebben a témakörben. A hardveres 3D-támogatás esetén fellépő problémák megoldásához minden nem egyértelmű esetben a Mesa szoftveres megjelenítő programot ajánljuk, amint az a Mesa Szoftveres megjelenítés alatt is szerepel (134. oldal) Utah-GLX: /usr/share/doc/packages/glx/ (glx

csomag) Mesa/Glide: /usr/share/doc/packages/mesa3dfx/ (mesa3dfx csomag) Mesa általános: /usr/share/doc/packages/mesa/ (mesa csomag) SuSE Linux – Rendszerkézikönyv 137 6 A Felhasználói kézikönyvben bemutattunk néhány alapvető hangkezelő alkalmazást. A most következő fejezet a linuxos hangkezelő szoftverek jelenlegi állapotát mutatja be, így kiegészítve a Felhasználói kézikönyvben található fejezetet. Az ALSA alapvető PCM típusai . Keverő opciók a Soundblaster Live és Audigy kártyákhoz Az envy24control hangkeverő . Bufferelés és latenciák . A JACK audió kapcsoló készlet . Hangfelvétel készítése az Audacity segítségével . WAV fájlok közvetlen felvétele és lejátszása . Hangadatok tömörítése . ALSA és MIDI . Kmid a KDE MIDI lejátszó . MIDI fájlok lejátszása WaveTable kártya

nélkül . WAV fájlok felvétele és visszajátszása . AlsaModularSynth szintetizátor és effektprocesszor egyben . . . . . . . . . . . . . 140 140 141 142 145 146 149 149 150 155 156 158 . 158 Hangkezelés Linux alatt Hangkezelés Linux alatt Az ALSA alapvető PCM típusai Az ALSA 0.9x megváltoztatta a PCM eszközök kiterjesztett kezelésére vonatkozó koncepciót. Mostantól egy megadott PCM típus kiválasztásával a felhasználó meghatározhatja, hogy az ALSA hogyan kezelje az a hangkártyát. A legfontosabb PCM típusok a hw és a plughw. Hogy érthető legyen a két típus közötti különbség, tisztázni kell, milyen módon nyitjuk meg az adott PCM eszközt. Legalább a következő paraméterek beállítása szükséges: a hangminta formátuma (sample format) és frekvenciája, a csatornák száma, a töredékek száma (fragmentek) és egy periódus mérete. Ez akkor lehet fontos, ha egy alkalmazás lejátszana egy

WAV fájlt 44.1 kHzes frekvenciával olyan kártyán, amely ezt a formátumot nem támogatja Ez esetben az ALSA automatikusan átalakítja az adatokat a plug-in rétegében a szükséges formátumra. Az átalakítás kihatással van a hangminta formátumra, a mintavételezési frekvenciára és a csatornák számára. A plughw PCM típus kiválasztásával a plug-in réteg felhasználásra kerül. A hw PCM típus kiválasztásával az ALSA kísérletet tesz a PCM eszköz közvetlen megnyitására, az alkalmazás által megadott paraméterekkel. Egy PCM eszköz teljes meghatározását úgy adhatjuk meg, hogy a PCM típus után kettősponttal elválasztva a kártya számát, majd vesszővel elválasztva az eszközszámot is megadjuk, például: plughw:0,0. Keverő opciók a Soundblaster Live és Audigy kártyákhoz A kézikönyvben leírt AC97 szabványok mellett a Soundblaster Live és Audigy kártyák további beállítási lehetőségekkel rendelkeznek. A lejátszáshoz létezik

az ‘AC97’, a ‘Wave’ és a ‘Music’ szabályzó. Az ‘AC97’ segítségével az ‘AC97’ keverő szintjét tudjuk beállítani. Ez a keverő egyesíti a ‘Line’, ‘Mic’ és ‘CD’ jeleit A ‘Wave’ a PCM csatornák szintjét állítja be. A ‘Music’ szabályzóval a MIDI fájlok belső Wavetable szintézis hangerejét tudjuk beállítani. A felvételhez a ‘Capture’ paraméter mellett egy ‘AC97 Capture’ paramétert is találhatunk, melynek segítségével az ‘AC97’ felvételi szintjét állíthatjuk be. Ezen felül a ‘Wave’ és a ‘Music’ is választható felvételi forrásként Ezt a belső visszacsatolt felvétel (angolul Loopback Capture) képességet az ‘AC97’ szabványon belül úgy tudjuk beállítani, ha a ‘Mix’ szabályzót állítjuk be felvételi forrásként. 140 Az ALSA alapvető PCM típusai Az envy24control hangkeverő 6 Hangkezelés Linux alatt 6.1 ábra: Monitor és digitális hangkeverő az

envy24control programban Az envy24control egy hangkeverő alkalmazás az Envy24 (ice1712) lapkával rendelkező hangkártyák számára. Ezt a programot a ‘SuSE’ ➝ ‘Multimédia’ ➝ ‘Hang’ menüben, vagy parancssorból az envy24control & parancs kiadásával indíthatjuk el. A következőkben ismertetjük az envy24control legfontosabb jellemzőit. Az Envy24 lapka rugalmasságot, a funkcionalitást tekintve függ a felhasznált hangkártyától. Naprakész és részletes információkat az Envy24 lapkáról a következő leírás tartalmaz: /usr/share/doc/packages/alsa/ alsa-tools/envy24control. Monitor és Patchbay az envy24control-ban A jel vezérlői az envy24control program ‘Monitor keverő’ részében láthatók. A jelek összekeverhetők a hangkártyán. Az alkalmazások által előállított jelek a ‘PCM kimenet (PCM Out)’ címkével láthatók, ezek az alkalmazások küldenek PCM adatokat a hangkártyának. Az analóg bemenetek jelei a

‘Hardver bemenet (H/W In)’ címkével vannak jelölve. Az ‘S/PDIF’ bemenet ettől jobbra látható Az analóg csatornák be- és kimeneti vezérlői az ‘analóg hangerő (Analog Volume)’ részben láthatók. Használjuk a ‘Monitor keverő’ csúszkáit a digitális keveréshez. A vezérlők a ‘digitális keverő (Digital Mixer)’ részben láthatók. A kevert kimenet útvonala a ‘Patchbay’-en adható meg. A ‘Patchbay’ tartalmaz az összes kimeneti SuSE Linux – Rendszerkézikönyv 141 6.2 ábra: A jelek útjának beállítása a Patchbay-ben csatornához egy választógomb listát, amelyben megadhatjuk a kívánt forráscsatornát. Analóg be- és kimenetek Az analóg-digitális és digitális-analóg átalakítók erősítése az ‘analóg hangerő (Analog Volume)’ részben adható meg. A ‘DAC’ csúszkák felelnek a kimeneti csatornákért. Használjuk az ‘ADC’ csúszkákat a bemeneti csatornákhoz A választógombokkal megadhatjuk

a vezérlés mértékét +4 dBu és -10 dBV között. Az első beállítás érdekes lehet a professzionális felhasználás számára. A -10 dBV beállítás inkább otthoni célokat szolgál. Az S/PDIF csatornák beállítása Az S/PDIF csatorna beállítások a ‘hardver beállítások (Hardware Settings)’ részben találhatók. Az ‘Envy24’ reakcióideje beállítható a ‘Hangerő állítás (Volume Change)’ paraméteren keresztül. Bufferelés és latenciák Ez a bekezdés a folyamatos hanglejátszás problémájával foglalkozik. A hanglejátszás megszakadása nem csak Linuxon jelentkezik, hanem az összes többfeladatos operációs rendszerben. A többfeladatosság alatt értjük több 142 Bufferelés és latenciák 6 Hangkezelés Linux alatt 6.3 ábra: Az analóg ki- és bemenetek keverőegysége folyamat egyidejű futtatását. Mivel a processzor egyszerre csak egy feladatot lát el, minden folyamat korlátozott ideig veheti igénybe a processzort,

amely egyik feladatról a másikra vált. Alapesetben a felhasználó nem veszi észre ezeket a váltásokat. Hang lejátszása esetén azonban ez kattogó hangok formájában jelentkezhet. A hangprogramok ezért fel vannak szerelve egy ún. átmeneti lejátszási tárolóval (playback buffer). A hangkártya ebből játssza le a hangot, amíg az adott alkalmazás futását meg nem szakítja az ütemező. Ha az átmeneti tároló elég nagy méretű, akkor így megvalósítható a folyamatos hangvisszajátszás többfeladatos környezetben is. A tároló mérete megszabja a program reakcióidejét is (latencia). Ez elsősorban interaktív alkalmazásoknál fontos, például valós idejű szintetizátoroknál és DJ keverő programoknál. Ezeknél a tároló méretét a lehető legkisebbre kell beállítani. A megszakítások hossza alapvetően a rendszer terheltségétől és a folyamat futási prioritásától függ. Következtetés: a legnagyobb prioritásnál legyen a

lejátszási tároló a legkisebb, ha a hangprogramot megszakítások nélkül akarjuk futtatni. Néhány alkalmazás lehetővé teszi, hogy valósidejű prioritással futtassuk azokat. Ez azonban csak akkor lehetséges, ha a program root jogosultsággal fut. Egy program root jogosultsággal való futtatása mindig veszélyes; ezzel a jogosultsággal a program bármit megtehet. Ez különösen akkor kritikus, ha a számítógép az internetre csatlakozik. Ez esetben a jogosulatlan felhasználók megpróbálhatnak biztonsági réseket keresni és rendszerszintű hozzáférést kapni e programok segítségével. SuSE Linux – Rendszerkézikönyv 143 6.4 ábra: Az S/PDIF paraméterek beállítása Figyelem A következőkben bemutatott parancsokat soha ne futtassuk olyan gépeken, amelyek elérhetők az internetről. Továbbá figyeljünk arra, hogy a program megszakadása komoly károkat (esetleg adatveszteséget) okozhat. Csak akkor hajtsuk végre az alábbiakban leírt

utasításokat, ha gépünket kizárólag saját szórakozásra használjuk. Figyelem Alkalmazások root-ként történő futtatására a sudo mechanizmust kell használnunk. A példák a timidity++ alkalmazást használják Ahhoz, hogy minden felhasználó futtathassa a timidity++ programot root jogokkal, módosítani kell az /etc/sudoers fájlt. Lásd a man sudo és man sudoers parancsokat a bővebb információkért. Indítsuk el a visudo programot rootként és adjuk hozzá a következő sort az /etc/sudoers fájlhoz: ALL ALL=(ALL) /usr/bin/timidity Mostantól az összes felhasználó jogosult a timidity root módban történő futtatására a meggyfa:~ # sudo timidity paranccsal. Ehhez meg kell adnunk a saját jelszavunkat, ha az utoljára kiadott sudo parancs kiadása óta több, mint 5 perc telt el. 144 Bufferelés és latenciák A JACK audió kapcsoló készlet Hangkezelés Linux alatt A JACK audió kapcsoló készlet segítségével (jack és qjackconnect

csomagok) az alkalmazások megoszthatják egymással és a hangkártyával az audio adatokat, ha rendelkeznek a JACK csatolási felület támogatásával. Mivel a JACK támogatás hamarosan közös szabvány lesz, számos alkalmazás tartalmazza a szükséges interfészt. 6 6.5 ábra: QJackConnect a Jack kapcsolótáblája A JACK használatához először is indítsuk el annak központi részét az alábbi parancs segítségével: meggyfa:~ # jackd -d alsa -d hw:0 A JACK-et alacsony válaszidejű működésre tervezték. Éppen ezért a motort valós idejű prioritással kell futtatnunk. További információkért olvassuk el a /usr/share/doc/packages/README.SuSE fájlt A QJackConnect virtuális "kapcsolótábla" segít nyomon követni a rendszerben futó JACK klienseket. A qjackconnect paranccsal történő indítást követően, SuSE Linux – Rendszerkézikönyv 145 az olvasható kapuval rendelkező kliensek a bal oldalon láthatók, az írható kapukkal

rendelkezők pedig a jobb oldalon. Ha nem indítottunk JACK klienseket, a lista kezdetben csak a hangkártya ki- és bemenetetét tartalmazza. A lista automatikusan frissül a kapuk beállításainak megváltoztatásakor. A kapuk három nézetben jelennek meg a kliensben. Egyedi kapukat úgy köthetünk össze, hogy kiválasztjuk őket a listákon és a ‘Connect’ gombra kattintunk. Több kaput is összeköthetünk egymással párhuzamosan a kliensek kiválasztásával. Hangfelvétel készítése az Audacity segítségével Az Audacity segítségével (audacity csomag) hangokat rögzíthetünk és szerkeszthetjük azokat. Amikor a programot először indítjuk, az első lépés a nyelv kiválasztása. A nyelvi beállításokat a későbbiekben a ‘Fájl’ ➝ ‘Beállítások’ ➝ ‘Felület’ pontban módosíthatjuk. A nyelvválasztás hatása a program következő indításakor tapasztalható. 6.6 ábra: A Audacity képes a hangadatok spektrális megjelenítésére

is 146 Hangfelvétel készítése az Audacity segítségével WAV fájlok felvétele és importálása Hangfájlok importálásához válasszuk ki a ‘Projekt’ ➝ ‘Audio import’ menüpontot. A program támogatja a WAV formátumot valamint a tömörített MP3 és Ogg Vorbis formátumokat. További információkat a Hangadatok tömörítése fejezetben (149. oldal) olvashatunk erről a témáról Hangkezelés Linux alatt Kattintsunk a vörös felvételi gombra egy üres sztereó sáv létrehozásához, majd kezdjük meg a felvételt. Az általános paraméterek megváltoztatásához adjuk meg azokat a ‘Fájl’ ➝ ‘Beállítások’ menüpont alatt. Az ‘Audio I/O’ és ‘Minőség’ bejegyzések fontosak a felvétel szempontjából. Ha a hangsáv már létezik, kattintsunk a felvevő gombra új sávok létrehozásához. Ezek a sávok nem látszanak az ablak alapértelmezett méreteinél, tehát át kell méreteznünk az ablakot. 6 Hangfájlok szerkesztése

A ‘Hangsáv’ menüben, amely minden egyes sáv kezdeténél megtalálható, többféle nézet közül választhatunk. A ‘Waveform dB’ nézet az adatokat mindig a sáv maximális amplitúdójához igazítja, ezért nem alkalmazható a jel amplitúdójának ellenőrzésére. Az alkalmazástól függően számos nézeti formátumot kínál a ‘Kijelölés formátumának megváltoztatása’. Az ‘igazított mód beállítása’ pontban a szegmensek határai automatikusan igazodnak a kiválasztott nézeti módhoz. Például ha kiválasztjuk a ‘PAL képkockák’ módot mint nézet formátumot és bekapcsoljuk az ‘Igazítás’ menüpontot, a szegmens határok minden esetben a kiválasztásnak megfelelően képkockák többszörösei lehetnek. A legtöbb szerkesztőeszköz használatához eszköztippeket is kapunk. Az ‘Előzmények visszavonása’ pont, amely a ‘Nézet’ ➝ ‘Előzmények’ pontban kapcsolható be, a megfelelő elemre kattintva a listában

hatékony eszköz a legutóbbi módosítási lépések megtekintésére és visszavonására. Legyünk óvatosak az ‘Elvetés’ gomb használatakor, amely az összes lépést törli a listáról. Ennek következményeként ezek a lépések többé nem vonhatók vissza. Az integrált spektrum analízis segít lecsökkenteni bármilyen zajt. A ‘Nézet’ ➝ ‘Színkép ábrázolása’ pontban látható a kiválasztott terület spektruma. Ugyanitt választható ki a logaritmikus frekvenciaskála oktávokban a ‘Log. frekvencia’ pontban. Ha az egérmutatót mozgatjuk a spektrumon belül, a hangpontok frekvenciái automatikusan megjelennek a megfelelő hangjegy nevekkel. A nem kívánt frekvenciákat legjobban az ‘FFT szűrő’ segítségével távolíthatjuk el, amely az ‘Effekt’ menüben található. A szűrési folyamattal kapcsolatban szükségünk lehet a jel amplitúdójának finomítására az ‘Erősítés’ pontban. Ezen SuSE Linux – Rendszerkézikönyv

147 6.7 ábra: Spektrális nézet az Audacity programban felül az ‘Erősítés’ használható az amplitúdó ellenőrzésére is. Alapértelmezésben az ‘Új hangpont amplitúdó’ 0.0 dB értéken van Ez az érték jelöli a kiválasztott hangformátumban használható legnagyobb lehetséges amplitúdót. Az ‘Erősítés’ megmutatja azt az értéket, amely ahhoz szükséges, hogy a kiválasztott rész erre az amplitúdóra hangosodjon. A negatív értékek túlhangosítást jelölnek, ilyenkor a jelalak torzul. Mentés és exportálás A teljes projekt mentéséhez válasszuk ki a ‘Fájl’ ➝ ‘Projekt mentése’ vagy ‘Projekt mentése másként’ pontot. Ez egy XML fájlt hoz létre aup kiterjesztéssel, amely a projekt leírását tartalmazza. A jelenlegi hangadatok a projekt nevével létrehozott könyvtárban kerülnek mentésre az data utótag hozzáadásával. A teljes projekt vagy csak a jelenleg kijelölt rész is exportálható, mint sztereó

WAV fájl. Ha MP3 formátumba is szeretnénk exportálni, olvassuk el a Hangadatok tömörítése fejezetet (következő oldal). 148 Hangfelvétel készítése az Audacity segítségével WAV fájlok közvetlen felvétele és lejátszása meggyfa:~ # arecord -d 10 -f cd -t wav mysong.wav egy tíz másodperces WAV fájlt vesz fel CD minőségben (16 bites, 44.1 kHz mintavételezési frekvenciával). Az opciók teljes listáját az arecord és az aplay parancs --help parancssori opciójával kaphatjuk meg. A qaRecord egy egyszerű felvevőprogram grafikus felhasználói felülettel és felvételi szint kijelzéssel. A program egy körülbelül 1MB méretű belső tárolót használ (ez beállítható a --buffersize paraméterrel). Éppen ezért garantálja a folyamatos felvételt ha nem túl lassú a hardverünk és valósidejű prioritással indítottuk (lásd a Bufferelés és latenciák bekezdést (142. oldal)) A felvételi folyamat során a jelenleg használatban

lévő tároló mérete megjelenik az állapotsorban a ‘Buffer’ bejegyzésnél. A maximális igényelt tárolóméret a ‘Peak’ felirat mellett olvasható. Hangkezelés Linux alatt A kalsatools csomagban található arecord és aplay programok egyszerű és rugalmas interfészt kínálnak PCM eszközökhöz. Az arecord és az aplay segítségével többek között a WAV formátumban is tudunk hangokat felvenni. Az alábbi parancs: 6 Hangadatok tömörítése A http://www.xiphorg/paranoia/dochtml címen találhatunk részletes leírást a cdparanoia program használatához, itt ezt nem tárgyaljuk. Emlékeztetőül álljon itt viszont egy példa: a cdparanoia -B -z ”1-3” parancsot használhatjuk a CD 1 - 3 sávjának WAV fájlokba történő kiolvasáshoz, ahol a cdparanoia automatikusan megkeresi a zenei CD-t tartalmazó CD-meghajtót. KDE alatt, a zenei CD-k sávjai másolhatók a fogd-és-vidd módszerrel is. A Konqueror elindítása után beírva az audiocd:/

szöveget az URL sorába az audio CD sávjai listázódnak, néhány virtuális könyvtár kíséretében. Többet erről a „Konqueror” és a „K3b - CD író alkalmazás KDE-hez” fejezetben olvashatunk, amelyek a Felhasználói kézikönyvben találhatók. A tömörítetlen hangadatok CD minőségben több, mint 10 MB helyet foglalnak le percenként. Éppen ezért hozta létre a Fraunhofer IIS az MP3 kódoló eljárást Sajnos ez az eljárás szabadalmi védettség alá esik, így azoknak a cégeknek, akik MP3 kódoló programot vagy hardvert árulnak, licencdíjat kell fizetniük. Emiatt a Linux alá kifejlesztett nagyteljesítményű MP3 kódolók, mint például a Lame, nem lehetnek a disztribúció részei, annak ellenére, hogy legtöbbjük SuSE Linux – Rendszerkézikönyv 149 forráskódja a GPL licenc alá esik. Bővebb információkat a Lameről a projekt weboldalán, a http://lame.sourceforgenet címen olvashatunk A Lame használata azonban néhány

országban, mint például Németországban és az Egyesült Államokban kutatási célokra ingyenes. Az Ogg Vorbis egy szabad tömörített hangformátum. Az Ogg formátumot többek között a K3b CD író szoftver és az xmms audiolejátszó támogatja. A kezdeményezés weboldala a http://www.xiphorg/ogg/vorbis címen található. A vorbis-tools csomag tartalmazza a kódolót és egy egyszerű lejátszót. WAV fájlok átkódolása az oggenc paranccsal indítható, közvetlen CD-ről akár a Konqueror fájlböngészővel is lehet OGG fájlokat létrehozni. Parancssorból az egyetlen szükséges paraméter a tömörítendő WAV fájl neve. A -h opció megjeleníti a további megadható paramétereket. A legújabb verzióban az Ogg már támogatja a változó bitrátával történő kódolást is. Ezen a módon sokkal nagyobb tömörítési arány érhető el ugyanabban a hangminőségben. Paraméterekben szintén megadható a használandó bitráta. A -b paraméter definiálja

az átlagos bitrátát, az -m és -M megadja a minimális és maximális bitrátát. A bitráta helyett a -q paraméterrel megadható a kívánt hangminőség Az ogg123 egy parancssori Ogg lejátszó. Paraméterként adjuk meg a lejátszáshoz használt eszközt. Indítsuk el az alkalmazást a következő parancshoz hasonló módon: ogg123 -d alsa09 mysong.ogg ALSA és MIDI PCM adatok lejátszása mellett a legtöbb hangkártya MIDI funkcionalitással is rendelkezik. Az ALSA MIDI szekvenszer egy hatékony architektúrát tartalmaz a MIDI adatok kezeléséhez. Ehhez szükségünk van az alábbi csomagokra: alsa, pmidi, aseqview, vkeybd, awesfx, snd sf2 és kalsatools. A legtöbb hangkártyán van egy külső MIDI port a MIDI eszközök összekötéséhez, úgymint szintetizátorok, billentyűzetek és hangmodulok. Ha a kártya MIDI portja az ALSA által támogatott, felvehetünk MIDI fájlokat is ezen a porton keresztül egy szekvenszer alkalmazás használatával (például a

jazz). A hangkártya által nyújtott MIDI eszközök listája a KDE vezérlőközpontban a ‘Hang’ ➝ ‘Midi’ pontok alatt található. Itt adható meg az is, hogy melyik eszközt használja a MIDI fájlok lejátszására. Használjuk a pmidi -l parancsot az összes elérhető eszköz kilistázásához és azok ALSA port számának meghatározásához. A Soundblaster Live! kártyáknál egy a 9 fájllistához hasonló (következő oldal) kimenetet kell kapnunk: 150 ALSA és MIDI Client name External MIDI 0 Emu10k1 WaveTable Emu10k1 WaveTable Emu10k1 WaveTable Emu10k1 WaveTable Port name MIDI 0-0 Emu10k1 Port Emu10k1 Port Emu10k1 Port Emu10k1 Port 6 0 1 2 3 9. fájllista: Soundblaster Live! MIDI eszközök Az első oszlop tartalmazza a belső portszámot, amely a megfelelő ALSA meghajtó eszközre utal. A fennmaradó oszlopokban találjuk a kliens és port neveket minden egyes eszközhöz. A külső MIDI porton kívül látható itt néhány hullámtábla

(WaveTable) port is. Használjuk a következőhöz hasonló parancsot a MIDI fájl lejátszására a kilistázott portok egyikén: pmidi -p 73:0 mysong.mid Hangkezelés Linux alatt Port 72:0 73:0 73:1 73:2 73:3 Tájékoztatás A MIDI lejátszás megszakítása folyamatosan szóló beragadt hangot eredményezhet. Ha ez történik, adjuk ki az all notes off parancsot vagy indítsuk újra az ALSA-t az rcalsasound restart paranccsal (root felhasználóként). Tájékoztatás Néhány hangkártya, mint a Soundblaster AWE és Live!, tartalmaz egy belső hullámtábla szintetizátort. Ez átalakítja a MIDI eseményeket hallható hangokká Ezek a MIDI események függhetnek a hullámtábla szintetizátortól, egy külső MIDI billentyűzettől vagy egy alkalmazástól (példáulMIDI lejátszó vagy szekvenszer). Ha Soundblaster AWE vagy Soundblaster Live! kártyánk van, inicializáljuk a hullámtábla szintetizátort egy hangfont feltöltésével, hogy a hangok hallhatók legyenek.

Ha nincs ilyen kártyánk, nyugodtan kihagyhatjuk a következő bekezdést. Hangfontok telepítése (SB Live! és AWE) Az awesfx csomag tartalmazza az sfxload parancsot a hangfontok feltöltéséhez Soundblaster AWE és Live! kártyák esetén. A szükséges hangfontokat megtaláljuk a hangkártya meghajtó CD-jén. Az ALSA indítószkript képes automatikusan betölteni a szükséges hangfontot a hullámtábla szintézishez, ha a Creative meghajtó CD telepítve lett a YaST2-vel. Jelenleg a szkript csak egy hangkártyához működik, annak ellenére, hogy az ALSA egyszerre akár nyolc hangkártyát is tud kezelni. SuSE Linux – Rendszerkézikönyv 151 A hangfontokat például egy ehhez hasonló paranccsal tölthetjük be: sfxload -D hni /usr/share/sfbank/creative/8MBGMSFX.SF2,ahol az hni helyén a hangkártya eszközszámát kell megadnunk. Ez a szám nem feltétlenül felel meg a kártyák beállítási sorrendjének. Ha nem vagyunk biztosak, indítsuk el a YaST2

‘Hardver’ ‘Hang’ modulját, ahol megtalálhatjuk a hangkártya eszközszámát. Ha nem áll rendelkezésünkre a meghajtó CD, betölthetünk egy már telepített hangfontot a /usr/share/sounds/sf2 könyvtárból is. A Vintage Dreams Waves v2.sf2 hangfontot Ian Wilson készítette, és 128 analóg szintetizátor hangot és 8 dobkészletet tartalmaz. Ez kompatibilis mindkét kártyával. A ROM hangfontot (gu11-romsf2) Samuel Collins készítette, és csak az SB AWE kártyákkal kompatibilis, amelyek számára kiterjesztett general MIDI hangbankot nyújt. További információkat és a szerzői jogokra vonatkozó fájlokat a /usr/share/doc/packages/snd sf2 könyvtárban találhatjuk meg. További hangfontokat az internetről is letölthetünk Nézzük meg a http://www.hammersoundnet címet Tipp Az ALSA által támogatott maximális hangfont méret jelenleg 32 MB. Tipp Vkeybd Virtuális MIDI billentyűzet Ha nincsen külső MIDI billentyűzetünk, használhatjuk a vkeybd

virtuális billentyűzetet is. A belső portszámok listázhatók az előbb említett pmidi -l paranccsal, ez itt fontos szerepet kap. Az alkalmazást parancssorból a következőképpen lehet elindítani: vkeybd --addr 73:0 &. A port cím az adott rendszertől függően változhat. Adjuk meg az első WaveTable port számát a listában. Ha külső hanggenerátor van a géphez csatlakoztatva, ennek száma itt adható meg. A vkeybd felismer sok további opciót. Növelhetjük az oktávok számát például ötre a vkeybd --addr 73:0 --octave 5 & parancs kiadásával. Teljes összegzést a parancssorban elérhető opciókról a vkeybd --help vagy man vkeybd parancsok kiadására kaphatunk. A beállítási listában szereplő hangszerek nevei beállíthatók egy ún. preset fájl megadásával a --preset opció használatával. Ha hangfontból szeretnénk kinyerni a hangszerek neveit, azt megtehetjük az sftovkb paranccsal: meggyfa:~ # 152 cd /usr/share/sounds/sf2

ALSA és MIDI 6 Hangkezelés Linux alatt 6.8 ábra: vkeybd Komplett virtuális MIDI billentyűzet meggyfa:/usr/share/sounds/sf2 # sftovkb Vintage Dreams Waves v2.sf2 >~/vintage.vkb Ez a parancs menti a neveket a felhasználó saját könyvtárában található vintage.vkb fájlba A vkeybd felülete beállítható a ‘View’ menüpontban Kapcsolatok létrehozása MIDI portok között Az ALSA egy könnyen kezelhető infrastruktúrát nyújt MIDI portok összekötéséhez. Azok a hangkártyák és a MIDI alkalmazások amelyek támogatják az ALSA szekvenszer struktúráját egy vagy több MIDI porttal rendelkeznek, amelyen keresztül a többiekkel kommunikálhatnak. Ezeket a portokat összeköthetjük egymással a kaconnect KDE alkalmazással vagy az aconnect parancs használatával. A kaconnect program megjeleníti az olvasható és írható MIDI portokat, amelyek felhasználhatók a rendszerben, valamint a meglévő kapcsolatokat is. Hogy egy példát lássunk,

indítsunk el két MIDI alkalmazást a vkeybd és aseqview parancsokkal. Adjuk meg a port címét az alkalmazás neve után. Az első alkalmazást rendeljük hozzá a 128:0 port számhoz, a második legyen 129:0. Az alkalmazások portjainak listája felkerül a kaconnect ablakába. A kapcsolat az alkalmazás portja és a SuSE Linux – Rendszerkézikönyv 153 6.9 ábra: MIDI portok összekötése a kaconnect programmal WaveTable port (vagy külső MIDI port) között az egér segítségével hozható létre. Ehhez válasszuk ki a megfelelő portokat, és kattintsunk a ‘connect’ gombra. Ha jobban szeretjük használni a parancssori eszközöket, használhatjuk az aconnect parancsot, például aconnect 128:0 73:0. Ez beállít egy egyirányú kapcsolatot a 128:0 port mint küldő és a 73:0 port mint fogadó között. Most már beállíthatjuk a kapcsolatot a billentyűzet vkeybd MIDI portja és az ALSA szekvenszer esemény megjelenítő MIDI portja között. Ha

játszunk a billentyűzeten, akkor például a panoráma és hajlítókar állapota, azonnal megjelenik az aseqview programban (ehhez még az is szükséges, hogy a View menüpontot kiválasszuk). A portok állapotát megnézhetjük attól függően, hogy mit küldenek vagy fogadnak az aconnect -il vagy aconnect -ol parancsokkal. Az aconnect-tel létrehozott kapcsolat megszüntethető a -d opció használatával, például: aconnect -d 128:0 129:0. Az összes kapcsolat megszüntetéséhez adjuk ki az aconnect -x parancsot. A további parancssori opciók megtekinthetők a man aconnect paranccsal. Tipp Haladóknak: az aseqnet lehetővé teszi MIDI kapcsolatok létrehozását a hálózaton keresztül is. Játszhatunk egy zongora duettet külföldön élő barátunkkal is. Tipp 154 ALSA és MIDI Kmid a KDE MIDI lejátszó 6 Hangkezelés Linux alatt 6.10 ábra: A kmid főablaka és csatorna nézete A KDE menüben találjuk a ‘Multimédia’ ➝ ‘Midi/Karaoke

Player’-t. Néhány bemutató fájl a kmid-hez a /opt/kde3/share/apps/kmid könyvtárban található, .kar formátumban Ezek a fájlok tartalmazzák a dal szövegét is, amely végigfut és kivilágosodik a lejátszással egyidőben. MIDI fájlokat az interneten is találhatunk. Az egyik ajánlott cím a http: //www.midinet Egy átfogó MIDI archívum a klasszikus zenei művekről a http://www.classicalarchivescom címen található   A kmid részletes segítsége megnyitható az  F1  billentyűvel. Ebben az alkalmazásban a MIDI portok beállíthatók a ‘Beállítások’ ➝ ‘MIDI beállítások’ menüpont alatt. Egy érdekesség a csatorna nézet, amelyet az eszköztáron lévő „billentyűzet” ikonjára kattintva jeleníthetünk meg. Ha kinagyítjuk az ablakot, sok mást is megfigyelhetünk. A MIDI események megjelennek grafikus formában a billentyűzet(ek)en. Ugyanitt a hangszerek is megváltoztathatók SuSE Linux – Rendszerkézikönyv 155

Tájékoztatás Ha a kmid programot a Konqueror fájlkezelőn keresztül indítjuk (egy MIDI fájlra történő kattintással), akkor a KDE vezérlőközpontban megadott MIDI beállítások kerülnek alkalmazásra. Ha az alkalmazás eredeti beállításait akarjuk használni, akkor külön kell elindítanunk azt. Tájékoztatás MIDI fájlok lejátszása WaveTable kártya nélkül Nem minden hangkártyán van hullámtábla szintetizátor a MIDI fájlok lejátszásához. Ebben az esetben a timidity++ vagy az iiwusynth szoftveres hullámtábla szintetizátort hívhatjuk segítségül. Az iiwusynth hangfont szintetizátor Miután a programot elindítottuk az alábbi paranccsal: meggyfa:tux # iiwusynth -a alsa -m alsa seq gm.sf2 az iiwusynth megjelenik az írható MIDI kapuk között és hangforrásként használható. Ebben a példában a gmsf2 egy SoundFont formátumú fájl Ilyen formájú fájlokat legegyszerűbben az internetről szerezhetünk be. Az iiwusynth számos

parancssori opciót tartalmaz, amelyeket az iiwusynth -h paraméterrel írathatunk ki. A timidity++ beállítása A timidity++ beállításait a /usr/share/timidity/timidity.cfg fájl tartalmazza. A beállításról egy részletes dokumentációt olvashatunk a man timidity.cfg parancs kiadásával A további dokumentációk a /usr/share/doc/packages/timidity könyvtárban találhatók meg. A kompatibilis hangszerek letölthetők a http://www.stardatebcca/eawpatches/html/defaulthtm oldalról. Az eawpats11 fullrar fájlt érdemes letölteni innen Ez a fájl 22 MB méretű, viszont mindent tartalmaz, ami kell, azaz teljes GM/GS/XG hangkészlet található benne. Ezek használatához a következőket kell megtenni: 156 MIDI fájlok lejátszása WaveTable kártya nélkül dir /usr/share/timidity/eawpats source timidity.cfg 10. fájllista: Kivonat a timiditycfg fájlból Figyeljünk arra, hogy az eawpats11 full.rar egy másik timidity cfg fájlt tartalmaz, amely megmutatja mi

látszik az eawpats könyvtárban kicsomagolás után. Ezt a fájlt szúrja be a source paranccsal a timiditycfg fájlba. Ebből csak négy sor érdekes számunkra: source source source source 6 Hangkezelés Linux alatt Root-ként hozzunk létre egy könyvtárat /usr/share/timidity/eawpats néven, másoljuk ide a eawpats11 full.rar fájlt, ezután lépjünk be ebbe a könyvtárba. Az unrar x eawpats11 fullrar parancs kicsomagolja ezt a fájlt. Ezt követően szerkesztenünk kell a /usr/share/timidity/ könyvtárban lévő timidity.cfg fájlt, ahol a következő két sort kell megadnunk: gravis.cfg gsdrums.cfg gssfx.cfg xgmap2.cfg Hangfontok használatához a Gravis hangprogramok helyett módosítsuk a /usr/share/timidity/timidity.cfg fájlt Például a Vintage Dreams hangfont használatához timidity++ alatt, csak a következő sort kell tartalmaznia a timidity.cfg fájlnak: soundfont /usr/share/sounds/sf2/Vintage Dreams Waves v2.sf2 További információkért olvassuk el a

/usr/share/doc/packages/timidity/C/README.sf fájlt A timidity++ indítása grafikus felülettel A timidity++ programot különböző grafikus felületekkel használhatjuk. A lehetséges grafikus felületek listáját a man timidity parancs kiadásával tekinthetjük meg. Az „Athena Widget Interface” grafikus felület például a /usr/bin/timidity -iatv & paranccsal használható. Tájékoztatás A timidity nem indítható el a /usr/share/timidity könyvtárban. Tájékoztatás SuSE Linux – Rendszerkézikönyv 157 Brahms első szimfóniája egy eléggé jó bemutatást ad a teljes nagyzenekari hangzásról. Megtalálható a következő címen: http://www classicalarchives.com/brahmshtml A timidity++ ALSA szerver üzemmódja Indítsuk el a timdity++ ALSA szerver módban a /usr/bin/timidity -iA -B2,8 -Os & paranccsal. Ezt követően megjelenik egy, az alábbihoz hasonló üzenet, Opening sequencer port: 128:0 128:1 ahol megtaláljuk a MIDI portot, melyet a

szintetizátoron keresztük érhetünk el, például a vkeybd --addr 128:0 paranccsal. A timidity++ program befejezése az alábbi paranccsal történhet, meggyfa:~ # killall timidity mely minden futó timidity folyamatot leállít. WAV fájlok felvétele és visszajátszása Hangadatok rögzítéséhez és visszajátszásához használhatjuk az arecord és aplay programokat, melyek az alsa csomag szerves része. Az arecord -t 10 -m mysong.wav parancs például felvesz egy tíz másodperces időtartamú WAV fájlt. Az arecord és aplay opcióinak teljes listája a -h paraméterrel tekinthető meg. Tartsuk meg a korrekt keverő beállításokat mind felvétel, mind lejátszás alatt. Ezeket az alsamixer segítségével a ‘Capture’ menüben, és a felvételi forrástól függően a ‘Line’ és ‘MIC’ pont alatt állíthatjuk be. A felvétel forrását meg kell adni A jelforrás a felvétel során egy analóg-digitális konverterrel lesz digitalizálva. 16 bites

konverterek esetén a maximális amplitúdó 65535. Bármilyen ennél nagyobb jel torzul, mivel a maximális amplitúdóértéket veszi fel. AlsaModularSynth szintetizátor és effektprocesszor egyben Az AlsaModularSynth az analóg moduláris szintetizátorok digitális megvalósítása. A program a JACK felülettel rendelkezik és képes az összes 158 WAV fájlok felvétele és visszajátszása 6 Hangkezelés Linux alatt lehetséges LADSPA effekt modul betöltésére. Éppen emiatt használható úgy is, mint hatékony effektprocesszor. 6.11 ábra: AlsaModularSynth szkóp és spektrum nézettel A parancssorból az ams parancs kiadásával indíthatjuk az AlsaModularSynth programot. A -j paraméter aktiválja a JACK módot, melyet a JACK motor (jackd) futása tesz lehetővé (lásd: A JACK audió kapcsoló készlet ) (145. oldal) A kívánt kapuk összekötését a QJackConnect programmal végezhetjük el. A JACK módban a PCM modulok automatikusan konvertálódnak JACK

modulokká (és viszont). Minden egyes JACK modulhoz egyedi kapuk jönnek létre. Az AlsaModularSynth csak akkor jelenik meg a QJackConnect listájában ha legalább egy JACK modul létezik. Az /usr/share/doc/packages/alsamodular könyvtár számos példaprogramot tartalmaz, amely a változatos lehetőségeket hivatott bemutatni. Részletes dokumentációt html formában ugyanebben a könyvtárban olvashatunk. Hangprogramok véletlenszerű lejátszása A hangzásbeli lehetőségekről gyors áttekintést nyújt az, ha a hangprogramokat véletlenszerűen lejátsszuk MIDI billentyűzet vagy hang bemenet nélkül. SuSE Linux – Rendszerkézikönyv 159 Az example ams demo.ams fájlban található kapcsolás véletlenszerű zenét hoz létre. Az example ams demo scope spectrumams fájlban ez a zene megjelenik egy szkóp és egy spektrum nézegető modul segítségével. Nyissuk ki ezen modulok nézetét a jobb egérgombbal. Láthatjuk, hogyan változik a zene karaktere,

amikor a pontosító modul (ID 7) pontosítási értékeit állítjuk pentatónikus skáláról 1/6-ra (teljes tonális skálára). Egyike a leghíresebb (és legdrágább) analóg szintetizátor moduloknak H. Bode által tervezett és R. A Moog által megépített frekvenciamódosító Ezt S.WHaris részben megvalósította LADSPA modulként és ezért használható az AlsaModularSynth-ben is. Az example ams demo bodeams fájlban az effekt egy véletlenszerű zenéhez lett hozzárendelve. Az example bodeams bemutatja a frekvenciamódosító használatát a spektrum nézegető modullal együtt. A szerző által készített egyik példa az example bode wailams fájlban található. Itt a visszacsatolást egy JACK modullal valósíthatjuk meg a JACK üzemmódban. Az example wind.ams fájl egy szélhez hasonló hangot generál az AlsaModularSynth segítségével. Számos egyéb példa hangprogram van az example random * és sequence0 fájlokban. AlsaModularSynth mint effektprocesszor

Ha JACK módban fut, az AlsaModularSynth használható mint sokoldalú effektrocesszor. Egy példa erre az example captureams fájl Ha egy külső hangforrást kötünk a hangkártyára és az alsamixer számára megadjuk a megfelelő beállításokat a mintavételezésre, a példa működik a JACK nélkül is. A ‘Ladspa böngészővel’, amely a ‘Modul’ ➝ ‘Ladspa böngésző megjelenítése’ ponton látható, létrehozhatunk modulokat a LADSPA effektek számára. A modulokat minden esetben a ‘Modul létrehozása’ pontban hozzuk létre, hacsak nem akarjuk az AlsaModularSynth-et mint polifónikus szintetizátort használni. A ‘Poly modul létrehozása’ pontban létrehozhatjuk a modul egyes példányait minden egyes szólamra (angolul partra). Szintetizátor hangprogramok Miután használtuk a kaconnect MIDI kapcsolódobozt az AlsaModularSynth mesterbillentyűzettel történő összekötésére (vkeybd vagy külső MIDI billentyűzet), használhatjuk a

programot, mint szintetizátort. Ha a polifónia nincs külön megadva a --poly paraméterrel, az AlsaModularSynth monofónikus hangzású, akárcsak a klasszikus modellek. Az example basicams fájl tartalmazza a legegyszerűbb szintetizátorprogramot. Az example basic 160 AlsaModularSynth szintetizátor és effektprocesszor egyben 6 Hangkezelés Linux alatt 6.12 ábra: A Ladspa böngésző vcf.ams fájlban a hangot már egy szűrő is módosítja A szűrő csúsztatása és a rezonancia az example basic vcf reverb.ams fájlban válik lehetővé A legtöbb hangprogram esetében a hajlítókar és a modulációs kerék használható modul paraméterekként. A paraméter túlcsordulások elkerülése érdekében ezek a MIDI vezérlők egyszerre csak a jelenlegi paraméterre vannak kihatással. Akárcsak a legtöbb analóg szintetizátor esetében a burkológörbe generátor modulok „egyszeri triggerelésűek” nem indulnak újra legato játéknál. Ez lehetővé

teszi érdekes frázisok kialakítását. Az example full midi.ams fájlban az első tizenhat MIDI vezérlő esemény modul paraméterekhez van kötve. Ha nem rendelkezünk olyan eszközzel, amely képes ezen események küldésére, használhatunk egy szoftveres MIDI vezérlődobozt (QMidiControl), amelyet a qmidicontrol paranccsal indíthatunk el. Amikor kisérletezünk a programmal, nyissuk ki a ‘Vezérlőközpontot’ a ‘Control Center’ ➝ ‘Show Control Center’ opcióval. Ha a ‘Follow Midi’ jelölőnégyzet itt aktív, a legutóbb megmozdított MIDI vezérlő és annak első paramétere automatikusan megjelenik. SuSE Linux – Rendszerkézikönyv 161 Nyomkövetés a vezérlőközponttal A ‘vezérlőközpont’ alapvető célja a modul paraméterek MIDI vezérlőkhöz való társításának lehetősége. Mindemellett a kiterjesztett paraméter vezérlés beállításokkal, valamint a csúszkák értéktartományának beállítása terén egyéb

lehetőségeink is vannak. 6.13 ábra: MIDI vezérlők és modul paraméterek a vezérlőközpontban A lista bal oldalán láthatók a hangprogramban használt MIDI vezérlők. A három nézet megmutatja a vezérlőhöz tartozó paramétereket a megfelelő vezérlővel együtt. Akárcsak a vezérlőesemények amelyek nem léteznek a fogadott MIDI események között, ezek is hozzáadódnak a listához. A jobb oldali lista mutatja a modulokat és azok paramétereit. Amikor itt kiválasztunk egy paramétert, a megfelelő vezérlő megjelenik, lehetővé téve a paraméter és a határértékek módosítását. MIDI kötések létrehozásához válasszuk ki a vezérlőt a bal oldali listából és a paramétert a jobb oldali listában, majd kattintsunk a ‘Bind’ gombra. A MIDI kötés törléséhez egyszerűen válasszuk ki a megfelelő paramétert a bal- és jobboldali listában és kattintsunk a ‘Clear Binding’ gombra. A ‘Clear All’ törli a MIDI vezérlők

és kötések teljes listáját. A ‘Toggle MIDI Sign’ kapcsolóval szabályozhatjuk hogy a paraméter értéke nőjön vagy csökkenjen a vezérlő változásaira. 162 AlsaModularSynth szintetizátor és effektprocesszor egyben 6 A MIDI kimeneti modul Hangkezelés Linux alatt Ahogyan azt már megfigyelhettük, az AlsaModularSynth-nek két olvasható kapuja is látszik a kaconnect bal oldali listájában. A MIDI kimeneti modul által generált MIDI események ezeken keresztül valósulnak meg. Ha több MIDI kimeneti modult használunk párhuzamosan, a MIDI események ennek megfelelően összegezve jelennek meg. Ahogyan mind a hangérték, mind a vezérlő események elküldésre kerültek, ezt a modult a vezérlőfeszültségen keresztül bármilyen paraméter vezérlésére felhasználhatjuk. Ehhez csupán az olvasható MIDI kapukat össze kell kötnünk az írható MIDI kapuval. Az example midiout controller.ams példában láthatjuk a burkológörbe változását

az automatikusan generált vezérlőeseményekben. Egyszerűen követhetjük a görbe mozgását ha megnyitjuk az ENV modul (ID 5) beállítási párbeszédablakát a jobb egérgombbal. A ‘Follow MIDI’ opciót a ‘Control Center’-ben ki kell kapcsolnunk, amíg a hangprogram aktív. Ha az AlsaModularSynth olvasható MIDI kapuit összekötjük egy MIDI hanggenerátorral, az example midiout note.ams példa egy LFO-vezérelt skálát fog lejátszani. Az example midiout note velocityams fájban láthatjuk hogy a leütés erősségének adatai szintén automatikusan generálhatók. Az example midiout random.ams véletlenszerű dobritmusokat hoz létre WAV fájlok írása a WAV kimeneti modul segítségével A WAV kimeneti modul használatával egyenesen felvehetjük az AlsaModularSynth által generált vagy feldolgozott jeleket egy WAV fájlba. A beállítási párbeszédablakban nyomjuk meg a ‘New File’ gombot a fájlböngésző megnyitásához. Ha a fájl megjelenik a

‘File’ pont alatt, akkor sikeresen létrejött és a ‘Record’ alatti gombokkal aktiválhatjuk és használhatjuk azt. NoteEdit és egyéb MIDI szekvenszer programok A NoteEdit egy minden részletre kiterjedő Linux szoftver kották grafikus felületen történő szerkesztésére. A program széles skáláját kínálja a zenei szimbólumoknak kották lejegyzéséhez. A noteedit segítségével MIDI fájlokat is lejátszhatunk valamint felvehetünk. A kottákat többféle formátumban exportálhatjuk (beleértve a MusixTeX és LilyPond fájlokat). Indítsuk el a programot a noteedit paranccsal. Az /usr/share/doc/ packages/noteedit/examples könyvtár számos példát tartalmaz, ezeket a ‘Fájl’ ➝ ‘Megnyitás’ menüpontban tölthetjük be. MIDI fájl importálásához SuSE Linux – Rendszerkézikönyv 163 menjünk a ‘TSE3’ ➝ ‘TSE3 Midi bemenet’ menüpontra. Válasszuk ki a ‘TSE3– >Kotta’ pontot a szerkesztőbe történő betöltéshez. A

‘Szűrő párbeszédablakban’ megadhatunk pár beállítást a konverziót illetően (pl. pontosítás) A ‘Midi’ ➝ ‘Eszközök’ pontban kiválaszthatunk egy a rendszerben beállított ALSA MIDI eszközt. Ezt az eszközt használjuk lejátszásra és a felvételre Az ‘Előjegyzés’ ➝ ‘Előjegyzés tulajdonságok’ pontnál választhatjuk ki a hangszert, a MIDI csatornát és néhány paramétert, mint a sztereó panoráma. A hangjegyeket az egér segítségével írhatjuk be. Először is válasszuk ki a hang hosszát. Nyomjuk meg a középső egérbombot a hang beszúrásához vagy a jobb oldali egérgombot szünet beszúrásához. A ‘Beszúrás’ menüben találhatjuk a többi szimbólumot. Ezeket szintén a középső egérgombbal helyezhetjük el 6.14 ábra: A noteedit zeneszerkesztő ablaka Válasszuk ki a ‘Szerkesztés’ ➝ ‘Általános tulajdonságok’ ➝ ‘billentyűzetről történő bevitel engedélyezése’ pontot a

billentyűzetről történő hangjegy bevitel beállításához. A hangmagasságot a kurzormozgató billentyűkel adhatjuk meg,   a hosszat a numerikus billentyűzeten (ha a  Num  LED aktív). Nyomjuk meg     az  Enter  billentyűt hangjegy beszúrásához és a  Szóköz  billentyűt szünetjel beszúrásához. További információkat a noteedit programról a /usr/share/doc/ packages/noteedit könyvtárban olvashatunk. Ezen felül még számos tövábbi MIDI szekvenszer létezik Linuxhoz, egyesek közülük nagyon meglepő dolgokra képesek. Például a Jazz egy megbízható és bevált program. A Rosegarden kifejezetten a „klasszikus” zenék lejegyzésére készült, fejlesztése mostanában indult újból. Ezen felül a MusE egy nagyon jól kezelhető szekvenszer, audió sávok kezelésének lehetőségével. 164 AlsaModularSynth szintetizátor és effektprocesszor egyben 7 Nyomtatás Nyomtatás Ez a fejezet részletes információval szolgál a

Linux alatt történő nyomtatáshoz. Az egyes példák alapos áttanulmányozása lehetővé teszi számunkra, hogy megértsük a nyomtatás folyamatát, ezáltal az esetlegesen felmerülő problémákat gyorsan megoldhassuk és nyomtatási rendszerünket igényeinknek megfelelően alakíthassuk ki. Alapvető fogalmak és működési elvek . A sikeres nyomtatás alapfeltételei . Nyomtatás felhasználói programokból . Helyi nyomtató csatolófelület kézi beállítása . Az LPRng/lpdfilter kézi beállítása . Az LPRng/lpdfilter feladatgyűjtője . Parancssori segédeszközök az LPRng-hez . lpdfilter – az LPRng nyomtatási rendszer nyomtatószűrője . A CUPS nyomtatási rendszer . A CUPS nyomtatási rendszer parancssori eszközei . A Ghostscript által nyújtott lehetőségek . Az a2ps program . PostScript adatok átalakítása a

psutils segédeszközökkel . ASCII szövegkódolás . Nyomtatás TCP/IP hálózatban . 166 169 181 182 188 189 190 195 201 207 212 215 216 221 224 Alapvető fogalmak és működési elvek Linux alatt a nyomtatók vezérlése rendszerint úgynevezett nyomtatási sorokon keresztül történik. Ilyenkor a kinyomtatni kívánt adatok átmenetileg a nyomtatósorban tárolódnak, majd egy külön program, az úgynevezett nyomtatásvezérlő egymás után a nyomtatóra küldi azokat. A kinyomtatásra szánt adatok azonban többnyire nem állnak rendelkezésre közvetlenül a nyomtatóra küldhető formában. A grafikákat rendszerint először olyan formátumúra kell konvertálni, amelyet a nyomtató közvetlenül ki tud nyomtatni. Az adatok ilyen formába való átalakítását az úgynevezett nyomtatószűrő végzi. Ez alatt egy olyan programot értünk, amelyik a kinyomtatásra szánt adatok sokféleségét egységesen a nyomtató

számára érthető nyelvre fordítja le. Példák szabványos nyomtatónyelvekre ASCII-szöveg Az ASCII szöveg az a formátum, melyet általában minden nyomtató egyformán megért. Kivételt képeznek ez alól a kizárólag Windows alatti használatra tervezett úgynevezett GDI nyomtatók, melyek sem ASCII-szöveget, sem pedig a következőkben leírt szabványos nyomtatónyelveken értelmezhető szöveget nem képesek kinyomtatni. Létezik néhány olyan nyomtató is, amelyik nem érti az ASCII szöveget, de ezek szerencsére a szabványos nyomtatónyelvek egyikét azért ismerik. PostScript A PostScript a Unix/Linux szabványos nyomtatónyelve. Sajnos azonban a PostScript nyomtatók viszonylag drágák, ezért aztán Linux alatt létezik egy speciális szűrőprogram (a GhostScript), amelyik a szabványos PostScript nyelvet a mindenkori nyomtató nyelvére lefordítja. Fontos tudni, hogy manapság forgalomban vannak úgynevezett soft PostScript nyomtatók is, melyeknek

azonban semmi köze a PostScripthez, mivel csak egy szoftveres PostScript szűrőt szállítanak velük; azt is csak Windows-hoz. Ez a szűrő megfelel a Linux alatti GhostScriptnek, mely minden nyomtatóhoz illeszthető, azaz minden nyomtató egyben soft PostScript is egyben; akármit is írnak a nyomtatók dobozára. PCL3, PCL4, PCL5e, PCL6, ESC/P2, ESC/P és ESC/P-raszter Ha nem rendelkezünk Post Script nyomtatóval, akkor a nyomtatószűrő a GhostScript segítségével a fenti nyomtatónyelvek egyikére alakítja át a nyomtatandó adatokat. Ezek mind szabványos nyomtatónyelvek, kifejezetten jó Linux támogatással. Azonban szinte minden nyomtatóhoz külön meghajtó szükséges, a nyomtatóspecifikus beállítások támogatásához (például színbeállítások). 166 Alapvető fogalmak és működési elvek Mi történik pontosan Linux alatti nyomtatáskor? 2. A nyomtatandó adatok tárolódnak a nyomtatósorban, amíg a nyomtatási feladatgyűjtő

továbbítja azokat a nyomtatószűrőhöz. 3. Ezt követően a nyomtatószűrő feldolgozza az adatokat: Nyomtatás 1. A felhasználó (vagy egy program) létrehoz egy új nyomtatási feladatot 7 (a) Meghatározza a nyomtatandó adatok típusát. (b) Amennyiben nem PostScript adatokról van szó, átalakítja azokat a PostScript szabvány nyelvre. Egyszerű szöveg átalakítása például az a2ps paranccsal történik. (c) Ezt követően – szükség szerint – átalakítja a PostScript adatokat egy másik nyomtatónyelvre. Amennyiben PostScript nyomtatóval rendelkezünk, az adatok közvetlenül a nyomtatóra kerülnek. Ha nincs PostScript nyomtatónk, akkor a Ghostscript program feldolgozza az adatokat a megfelelő, nyomtatóspecifikus nyomtatónyelv alkalmazásával, majd elküldi az átalakított adatokat a nyomtatóra. 4. Miután kikerültek a nyomtatandó adatok a nyomtatóhoz és befejeződött a nyomtatás, a feladatgyűjtő kitörli a feladatot a

várakozási sorból. Különböző nyomtatási rendszerek A SuSE Linux két különböző nyomtatási rendszert támogat: LPRng/lpdfilter Az „LPRng” feladatgyűjtőből és az „lpdfilter” nyomtatófilterből álló páros a hagyományos Linux nyomtatórendszert testesíti meg. Itt a rendszergazda állítja be a különböző várakozási sorokat, minden paraméterrel együtt (felbontás, színek stb.), a felhasználó csak ezek közül a várakozási sorok közül választhat. Ha tehát ugyanazon a nyomtatón színesen 600 dpi-s felbontásban és egyszínű 300 dpi-s felbontásban is akarunk nyomtatni, két különböző várakozási sort kell létrehoznunk. Ennek előnye, hogy a felhasználók csak a rendszeradminisztrátor által létrehozott sorokat használhatják. Ez egyből hátránya is lehet, hiszen rendszerint minden nyomtatóhoz több sort kell beállítanunk. Egyszerű, egyszínű nyomtatóknál (például lézernyomtatók) rendszerint egy

alapértelmezett konfiguráció elegendő. A korszerű színes, SuSE Linux – Rendszerkézikönyv 167 tintasugaras nyomtatóknál azonban célszerű külön konfigurációkat beállítani az egyszínű, a színes, valamint a nagy felbontású, fotóminőségű nyomtatáshoz. Ezeknek a konfigurációknak az az előnye, hogy a felhasználók csak a rendszergazda által beállított nyomtatási sorokon keresztül nyomtathatnak, egy színes tintasugaras nyomtatón például nem nyomtathatnak színesen, ha nincs pontosan egy ilyen konfiguráció. Az otthoni felhasználóknak ez azonban inkább hátrányt jelent, mivel nagyon sok különböző nyomtatási sort kell beállítani ahhoz, hogy a mai nyomtatókon viszonylag rugalmasan lehessen nyomtatni. CUPS A CUPS nyomtatórendszernél a felhasználó minden egyes nyomtatáskor tetszés szerint beállíthatja a nyomtatóspecifikus adatokat. A nyomtatóspecifikus lehetőségeket nem a rendszergazda határozza meg, hanem fel

vannak sorolva egy úgynevezett PPD fájlban (angolul PostScript Printer Description), mely rendelkezésre áll minden egyes várakozási sorhoz. Így a felhasználó a várakozási sor kiválasztása után is be tudja állítani a nyomtatást. Természetesen a rendszergazda itt is korlátozhatja a nyomtató lehetőségeit, ha szerkeszti az alapértelmezett esetben minden lehetőséget tartalmazó PPD fájlt. Mivel a két rendszer konfigurációs fájljai részben ugyanazt a nevet viselik, nem lehet a két rendszert egyszerre használni illetve telepíteni. Hibaelhárítási lehetőségek és problémamegoldások Ebben a dokumentációban főleg általános problémákkal és azok megoldásait tárgyaljuk. Különleges esetekben mindenképpen keressük fel a terméktámogatási adatbázist, amit a SuSE segítségnyújtó rendszeren keresztül vagy a http: //sdb.suselinuxhu címen érhetünk el A nyomtató beállításához a Nyomtatási problémák a SuSE Linux 8.0-ban és a

Nyomtatók beállítása SuSE Linux 8.0 vagy újabb verzió esetén cikkekben találhatunk segítséget, ha rákeresünk a „nyomtató” kulcsszóra. A két cikket az interneten az alábbi címen érhetjük el: http://sdb.suselinuxhu/hu/sdb/html/jsmeix print-einrichten-80html http://sdb.suselinuxhu/hu/sdb/html/jsmeix print-80-problemehtml 168 Alapvető fogalmak és működési elvek 7 Nyomtatás A legismertebb hibákat az egyes verziókban mindig egy külön cikkben foglaljuk össze: Különlegességek és ismert hibák a SuSE Linux 8.1-ben http://sdb.suselinuxhu/hu/sdb/html/bugs81html Különlegességek és ismert hibák a SuSE Linux 8.0-ban http://sdb.suselinuxhu/hu/sdb/html/bugs80html Amennyiben sem a dokumentációban sem az interneten nem talál segítséget, akkor használja telepítési terméktámogatásunkat. Terméktámogatásunkról bővebben a http://www.suselinuxhu/tamogatas/inst support/ index.html címen olvashat A sikeres nyomtatás alapfeltételei Hardver-

és szoftverkövetelmények Ellenőrizzük, hogy nyomtatónkat támogatja-e a SuSE Linux. A támogatott nyomtatókról az alábbi helyeken találhatunk információt: . /usr/share/doc/packages/ghostscript/catalog devices . http://hardwaredbsusede . http://wwwlinuxprintingorg/databasehtml . http://wwwcswiscedu/~ghost/printerhtml Tájékoztatás Az interneten lehet néha olyan nyomtatókról olvasni, melyek az „Aladdin Ghostscript” aktuális verzióját várják el. Licencjogi okokból, a SuSE Linux csak a „GNU Ghostscriptet” tartalmazza. Azonban a legtöbb esetben az érintett nyomtató egy megfelelő GNU Ghostscript meghajtóval is működik. Tájékoztatás Ellenőrizzük a fizikai és logikai csatlakozást a nyomtatóhoz (lásd a Helyi nyomtató csatolófelület kézi beállítása bekezdést ennek részleteiért (182. oldal)) Előfordulhat, hogy a saját magunk által fordított rendszermagban hiányzik a nyomtatáshoz szükséges támogatás: telepítsük a

szabványos SuSE rendszermagot az első CD-ről, és indítsuk a rendszert ezzel a rendszermaggal. SuSE Linux – Rendszerkézikönyv 169 A telepítéshez az ‘Alapértelmezett rendszer’ pontot válasszuk ki. Ez a rendszer tartalmazza a nyomtatáshoz szükséges összes csomagot. Ha az alapértelmezett rendszerből nem távolítottunk el semmilyen csomagot, akkor a nyomtatásnak működnie kell. A ‘Minimális’ rendszer kiválasztásával (például kevés hellyel rendelkező meghajtók esetén) nem települ minden a nyomtatáshoz szükséges csomag. A megfelelő nyomtatómeghajtó kiválasztása Ha PostScript nyomtatóval rendelkezünk, nincs szükségünk külön meghajtóra. Azon nyomtatók számára, akik nem értik a PostScript nyelvet, egy megfelelő Ghostscript meghajtó hozza létre a nyomtatóspecifikus adatokat. A Ghostscript meghajtó tehát az az elem, amelyik meghatározza a nem PostScript nyomtatók nyomtatási minőségét, így annak kiválasztása

a legfontosabb feladat. A Hardver- és szoftverkövetelmények alatt felsorolt információs forrásoknál (előző oldal) az egyes nyomtatók Ghostscript meghajtóiról is találhatunk információkat. Ha nem vagyunk biztosak benne, hogy nyomtatónk pontosan milyen nyelvet ért, illetve hogy esetleg milyen típussal kompatibilis, akkor kérdezzük meg a nyomtató gyártójától vagy forgalmazójától. Az új nyomtatóknál rendszerint csak az eszköz gyártója tudja megmondani, hogy a Linux támogatja-e a nyomtatót, mivel csak ő tudja, hogy a nyomtató hogyan emulálja a PostScript nyelvet. Sajnos az egyes nyomtatógyártók között nagyon nagy a különbség a nyomtatók linuxos támogatottságát illetően. Ha az eszköz gyártója nem adott semmi információt a nyomtató Linux alatti működéséről, a következő tippek segíthetnek: Derítsük ki, hogy a nyomatónk kompatibilis-e egy másik modellel, amelyik biztosan működik Linux alatt; ilyenkor használhatjuk

a kompatibilis modell GhostScript meghajtóját. „Kompatibilis Linux alatt” azt jeleni, hogy a nyomtatónk megfelelően tud nyomtatni az azonos bináris vezérlőparancsokkal, azaz a nyomtató közvetlenül „megérti” az azonos nyomtatónyelvet és nem egy (például Windows-hoz tervezett) meghajtószoftveren keresztül. Tájékoztatás Ha két nyomtatónak hasonló neve van, az nem mindig garantálja, hogy kompatibilisek is egymással. Ugyanis a hasonló nevű nyomtatók nem mindig értik közvetlenül ugyanazt a nyomtatónyelvet. Tájékoztatás 170 A sikeres nyomtatás alapfeltételei PCL5e vagy PCL6 – Ha nyomtatónk közvetlen támogatja a PCL5e vagy a PCL6 nyelvet, akkor nagy valószínűséggel működni fog az ljet4 Ghostscript meghajtóval 600x600 dpi-s felbontásig. A PCL5e-t gyakran csak PCL5-ként említik. 7 Nyomtatás A legpontosabb információval a nyomtató nyelvéről az eszköz gyártója szolgálhat. A legtöbb esetben megtalálhatjuk a

nyomtatónyelvet a nyomtató kézikönyvében is. PCL4 vagy PCL5 – Ha nyomtatónk közvetlen támogatja a PCL4 vagy a PCL5 nyelvet, akkor nagy valószínűséggel működni fog a laserjet, az ljetplus, az ljet2p vagy az ljet3 Ghostscript meghajtóval, azonban csak 300x300 dpi-s felbontásban. PCL3 – Ha nyomtatónk közvetlen támogatja a PCL3 nyelvet, akkor nagy valószínűséggel működni fog a deskjet, a hpdj, a pcl3, a cdjmono, a cdj500 vagy a cdj550 Ghostscript meghajtóval. ESC/P2, ESC/P vagy ESC/P Raster – Ha nyomtatónk közvetlen támogatja az ESC/P2, ESC/P vagy az ESC/P raszter nyelvet, akkor nagy valószínűséggel működni fog az stcolor vagy a uniprint Ghostscript meghajtóval. Ehhez azonban egy megfelelő *.upp paraméterfájlra is van szükségünk (például a stcany.upp) Problémák GDI nyomtatókkal Mivel a legtöbb nyomtatógyártó rendszerint linuxos meghajtó nélkül szállítja eszközeit, feltétlenül szükséges, hogy nyomtatónk a fent

felsorolt nyomtatónyelvek egyikét értse. A szokványos nyomtatók szinte mind megfelelnek ennek a feltételnek. Amennyiben azonban a nyomtatót gyártó cég úgy dönt, hogy kispórolja ezt a tudást a nyomtatóból, és egy úgynevezett GDI nyomtatót gyárt, akkor az csak azzal a meghajtóval (és azzal az operációs rendszerrel) fog működni, amit a gyártó a nyomtatóhoz adott. Mivel itt minden egyes modell másképp működik, csak nagyon lassan haladnak a linuxos fejlesztők a szükséges meghajtók fejlesztésével, kitalálásával. A GDI egy a Microsoft által kifejlesztett programozási interfész, a grafikus megjelenítéshez. A probléma nem maga az interfész, hanem az, hogy a GDI nyomtatók kizárólag saját nyomtatónyelven beszélnek, minden egyes típus más nyelven. A GDI nyomtató tehát kizárólag a saját individuális nyomtatónyelvén keresztül szólítható meg. Vannak azonban olyan nyomtatók is, amelyek a GDI módon kívül az egyik szabványos

nyelvet is értik. Ehhez a legtöbb esetben át kell kapcsolni a SuSE Linux – Rendszerkézikönyv 171 nyomatatót. Ha a Linux mellett egy másik operációs rendszert is használunk, akkor előfordulhat, hogy a másik operációs rendszer újból GDI módba kapcsolja a nyomtatót, így legközelebb Linux alatt megint nem működik. Ilyenkor célszerű a nyomtatót még a GDI-s operációs rendszer alatt visszakapcsolni nem GDI-s módba. Végül léteznek olyan nyomtatók is, amelyek csak részben értenek egy szabvány nyelvet, azaz csak az alapvető parancsokat kezelik, például egy rasztergrafika nyomtatásához. A legtöbb esetben problémamentesen használhatók ezek a nyomtatók, azonban ASCII szöveget rendszerint nem lehet közvetlenül a nyomtatóra nyomtatni, hanem csak a Ghostscript meghajtón keresztül. Az ilyen nyomtatók csak akkor szoktak problémákat okozni, ha nyomtatás előtt át kell őket kapcsolni bizonyos vezérlőparancsokkal. Ezt a legtöbb

szokványos Ghostscript meghajtó nem tudja megtenni, így egy különleges Ghostscript meghajtóra lehet szükségünk. Néhány GDI nyomtatóhoz maga a gyártó (is) készít linuxos meghajtókat, melyek rendszerint jól működnek. Hátránya azonban, hogy új Linux verziók alatt nem feltétlenül fognak működni. A legjobb nyomtatási eredményt azonban még mindig azokkal a nyomtatókkal lehet elérni, amelyek egy hivatalos szabvány nyelven beszélnek. Így nem függnek sem az operációs rendszertől sem annak verziójáról. Ha ezen felül maga az eszköz gyártója szállítja a meghajtót is, biztosak lehetünk benne, hogy nagyon jó nyomtatási eredményeket fogunk elérni Linux alatt. A SuSE Linux 8.2-ben a YaST2 az alábbi GDI nyomtatót is támogatja, azonban nem mindegyiket egyformán. Előfordulhat, hogy Linux alatt nagyfelbontású színes GDI nyomtatónkkal csak kis felbontással és fekete-fehéren tudunk nyomtatni. Mivel ezeket a meghajtókat nem mi

fejlesztjük semmi garanciát sem tudunk adni az egyes nyomtatók működésére. Brother HL 720/730/820/1020/1040, MFC 4650/6550MC/9050 és kompatibilis modelljei. HP DeskJet 710/712/720/722/820/1000 és kompatibilis modelljei. Lexmark 1000/1020/1100/2030/2050/2070/3200/5000/5700/7000/7200, Z11/42/43/51/52 és kompatibilis modelljei. A Lexmark linuxos meghajtói a http://wwwlexmarkcom/printers/linuxprintershtml cím alatt találhatók. Oki Okipage 4w/4w+/6w/8w/8wLite/8z/400w és kompatibilis modelljei. Samsung ML-200/210/1000/1010/1020/1200/1210/1220/4500/5080/6040 és kompatibilis modelljei. 172 A sikeres nyomtatás alapfeltételei Brother DCP-1000, MP-21C, WL-660 Canon BJC 5000/5100/8000/8500, LBP 460/600/660/800, MultiPASS L6000 7 Nyomtatás Az alábbi nyomtatókat a YaST jelenleg nem támogatja, azonban létezhetnek hozzá gyári meghajtók, mint például egyes Lexmark nyomtatókhoz: Epson AcuLaser C1000, EPL 5500W/5700L/5800L HP LaserJet 1000/3100/3150 Lexmark

Z12/22/23/31/32/33/82, Winwriter 100/150c/200 Minolta PagePro 6L/1100L/18L, Color PagePro L, Magicolor 6100 DeskLaser, Magicolor DeskLaser 2 Plus/Duplex Nec SuperScript 610plus/660/660plus Oki Okijet 2010 Samsung ML 85G/5050G, QL 85G Sharp AJ 2100, AL 1000/800/840/F880/121 Ehhez a témához további információk a terméktámogatási adatbázisunkban találhatók (http://sdb.suselinuxhu) Keressünk rá a „GDI” kulcsszóra HP OfficeJet nyomtatók beállítása Amennyiben ezeket a kombinált nyomtató-lapolvasó eszközöket csak nyomtatáshoz szeretnénk használni, be tudjuk őket állítani a YaST segítségével. Amennyiben azonban a lapolvasó funkciót is szeretnénk használni, telepítenünk kell a hp-officejet csomagot. Ilyenkor nem szabad a nyomtatót a YaST-ban beállítani, hanem root-ként ki kell adnunk a patal-init setup parancsot. A nyomtató beállításához a következőképpen kell eljárnunk: Állítsuk be az eszközt a ptal-init setup paranccsal, Indítsuk

el a CUPS szervert az rccups start paranccsal, Indítsuk el a HTTP szervert az rcapache start paranccsal, Egy tetszőleges böngésző URL mezőjébe írjuk be, hogy: http://localhost:631 SuSE Linux – Rendszerkézikönyv 173 A megjelenő webes felületen adjuk hozzá a nyomtatót a ‘Printers’ ➝ ‘Add Printer’ menüpontot kiválasztva. Figyeljünk arra, hogy az eszköz pont alatt (angolul Device) az mlc:usb:OfficeJe<modell> meghajtót válasszuk, ne a hagyományos /dev/usblp0 eszközt. A lapolvasó beállításához szerkesszük root felhasználóként az /etc/sane.d/dllconf fájlt, ahol el kell távolítanunk a megjegyzés jelet (ketteskereszt) a hpoj sor előtt. Ezt követően indítsuk el a Sane-t az rcsane start paranccsal. Konfigurációs és nyomtatási sorok Sokféle nyomtatási sorra a következő okokból lehet szükségünk: Ha több nyomtatónk van, különböző nyomtatási sorokon keresztül kell azokat megszólítani. Minden nyomtatási sor

a saját nyomtatási szűrőjét használja. Így például szabványos nyomtatási sort használhatunk a gyors fekete-fehér nyomtatásnak és egy másik nyomtatási sort (például színes névvel) egy lassabb nyomtatási szűrővel amely magasabb minőségű színes nyomtatást eredményez. Ha nyomtatónk csak fekete-fehérben tud nyomtatni (mint például a legtöbb lézernyomtató) rendszerint elegendő egy konfiguráció (azaz várakozási sor), tintasugaras nyomtatóknál azonban célszerű, hogy legalább két konfigurációt hozzuk létre: Egy lp nevű, alapértelmezett sort a gyors és takarékos fekete-fehér nyomtatáshoz. Egy például „foto” elnevezésű konfigurációt illetve várakozási sort a színes nyomtatáshoz. Tájékoztatás Egy lp nevű nyomtatási sort mindenképpen hozzuk létre, mivel ez az alapértelmezett linuxos nyomtatási sor neve! Tájékoztatás 174 A sikeres nyomtatás alapfeltételei A YaST-tal elvégezhető

alapbeállítások Nyomtatás A YaST2-ben történő nyomtatóbeállítás nem csak a menüvezérelt YaST2n keresztül, hanem közvetlen a parancssorból is történhet. Ehhez root felhasználóként ki kell adnunk a yast2 printer parancsot. Ha a nyomtató automatikus felismerésére nincs szükségünk, akkor adjuk ki a yast2 printer .nodetection parancsot Erről bővebben a Párhuzamos csatolófelület bekezdésben (182. oldal) is olvashatunk 7 Ha a nyomtatót a YaST2-vel beállítjuk, akkor mind a CUPS mind az LPRng/lpdfilter kerül beállításra. A beállításhoz szükséges nyomtatóadatbázisban (/usr/lib/YaST2/data/printerdb/suseprdb) mindkét rendszer számára megtalálhatók a megfelelő konfigurációk. Azonban nem minden konfiguráció elérhető mind a két rendszerhez. Bizonyos konfigurációkat csak a CUPS illetve csak az LPRng/lpdfilter támogat. Erről a YaST2 tájékoztat minket a nyomtató beállításakor. A SuSE Linux jelenlegi verziójában bármikor

át tudunk váltani a két nyomtatórendszer között, ha kiválasztjuk a megfelelő menüpontot a YaST2-ben. Ha konfigurációnk mindkét rendszer alatt működik, azonnal használhatjuk a másik nyomtatási rendszert. Mivel azonban nem mind a két rendszer működik egyformán , mégis lehetnek különbségek a nyomtatás minőségében, annak ellenére, hogy a két konfiguráció elvileg teljesen egyforma. A két nyomtatási rendszer között a YaST2 nyomtatóbeállító moduljában tudunk váltani, ahol az alábbi lehetőségek állnak rendelkezésünkre: CUPS szerverként Ha a nyomtató közvetlen a mi számítógépünkhöz csatlakozik, futnia kell egy CUPS szervernek, hogy tudjunk nyomtatni. Ehhez többek között az alábbi csomagok szükségesek: cups-libs csomag cups-client csomag cups csomag cups-drivers csomag cups-drivers-stp csomag CUPS kizárólag kliensként Ha a helyi hálózatban egy CUPS hálózati szerver található, és kizárólag azt szeretnénk használni

a nyomtatáshoz, akkor a CUPS-nak csak kliensként kell futnia. Ennél a beállításnál csak a hálózati CUPS szervert kell megadnunk. A kliensgépen az alábbi csomagok szükségesek: cups-libs csomag SuSE Linux – Rendszerkézikönyv 175 cups-client csomag LPRng Válasszuk ezt a pontot, ha az LPRng/lpdfilter nyomtatási rendszerrel szeretnénk nyomtatni, illetve ha a helyi hálózatban nincs CUPS szerver és egy szokványos LPD nyomtatószerveren keresztül szeretnénk nyomtatni (lásd az Az LPRng/lpdfilter feladatgyűjtője bekezdést (189. oldal)) Ennél a beállításnál az alábbi csomagok kerülnek telepítésre: lprng csomag lpdfilter csomag Mivel a cups-client csomag és az lprng csomagok kizárják egymást, figyelnünk kell arra, hogy ne telepítsük őket egyszerre! A cups-libs csomag telepítése mindenképpen ajánlott, mivel bizonyos programok (például a Samba) használják a CUPS függvénytárakat. Ahhoz, hogy nyomtatni is lehessen ezekkel a

rendszerekkel, természetesen még további csomagokra is van szükségünk. Ezek azonban az ‘Alapértelmezett rendszer’ telepítésekor automatikusan telepítésre kerülnek. A legfontosabb csomagok a következők: ghostscript-library csomag ghostscript-fonts-std csomag ghostscript-x11 csomag a2ps csomag file csomag . A YaST2 a nyomtatót telepített nyomtatási rendszer nélkül is be tudja állítani. Ilyenkor a megfelelő konfigurációs fájlokat a /var/lib/YaST2/printers könyvtárban tárolja. Ha később telepítünk egy nyomtatási rendszert, vagy ha megváltoztatjuk azt, akkor a YaST2 a /var/lib/YaST2/printers alatt található konfiguráció alapján hozza létre annak beállításait. A YaST2 a nyomtató beállításakor szigorúan megkülönbözteti a saját nyomtatási sorait (YaST2 sorok), és azokat a sorokat, amelyeket nem a YaST2-vel hoztuk létre (nem YaST2 sorok). Az utóbbi nyomtatási sorokat a YaST2 nem módosítja, kivéve akkor – ha névütközés

miatt – nem tud mit tenni. A névütközés legtöbbször akkor fordul elő, ha a YaST2-vel például egy color nevű nyomtatási sort hozunk létre, és ezt követően kézzel átváltunk egy másik rendszerre, ahol 176 A sikeres nyomtatás alapfeltételei Az egyes nyomtatási sorok szerkesztésekor eldönthetjük, hogy a YaST2-vel vagy kézzel szeretnénk dolgozni. Ha el akarjuk kerülni, hogy a YaST2 felülírjon egy régebbi nyomtatási sort, szerkesszük nem YaST2 nyomtatási sorként. 7 Nyomtatás szintén kézzel szerkesztjük a color várakozási sort. Ha ezt követően elindítjuk a YaST2-t, hogy beállítsuk az új sort a YaST2-vel, az felülírja a meglévő color sort a régebben a a YaST2-vel létrehozott, azonos nevű sorral. Nyomtató automatikus beállítása Attól függően, hogy a YaST2 a nyomtatót ismeri-e kellőképpen, és hogy a nyomtatók adatbázisában milyen információk szerepelnek, a YaST2 javaslata a legtöbb beállításhoz

változtatás nélkül használható. A SuSE Linux lehetőséget kínál, hogy nyomtatónk beállítását teljesen a YaST2-re bízzuk. Ehhez azonban az alábbi feltételeknek kell teljesülniük: A YaST2 automatikusan felismeri a párhuzamos illetve az USB kaput és automatikusan be tudja állítani az ehhez csatlakoztatott nyomtatót. A nyomtatási adatbázisban szerepel a nyomtatónk pontos típusa. Mivel ez a típus nem mindig egyezik a nyomtató nevével (például HB-TJ 234), előfordulhat, hogy kézzel kell kiválasztanunk nyomtatónk pontos típusát. Az érzékelt/kiválasztott típushoz található legalább egy bejegyzés a nyomtatók adatbázisában, ami problémamentes nyomtatást biztosít mind a CUPS, mind az LPRng nyomtatási rendszerhez. Minden esetben ajánlott a YaST2 tesztoldal nyomtatása, mivel sokszor a gyártó támogatása nélkül jönnek létre az adatbázisban lévő bejegyzések és nem biztos, hogy minden bejegyzés hibamentes. Ezen felül a tesztoldal

a beállított értékekről is ad információt. Nyomtató kézi beállítása Ha nyomtatónk az automatikus beállításhoz szükséges feltételek egyikét nem teljesíti, kézzel kell beállítanunk azt. Erre természetesen akkor is sor kerülhet, ha egy különleges konfigurációt szeretnénk beállítani. A sikeres beállításhoz az alábbi információk szükségesek: Hardveres csatolófelület Ha a nyomtató automatikus felismerése nem sikerült, kézzel kell megadnunk, hogy nyomtatónk milyen csatolófelülethez csatlakozik. A nem érzékelhető nyomtatók rendszerint „Egyéb (nem SuSE Linux – Rendszerkézikönyv 177 érzékelt)” nyomtatóként szerepelnek a ‘Beállítható nyomtatók’ ablakában. A nyomtató beállításához kattintsunk a ‘Beállítás’ gombra és válasszuk ki, hogy milyen módon kapcsolódik a számítógéphez a nyomtató. /dev/lp0 /dev/usb/lp0 ez az első párhuzamos kapu ez az első USB nyomtató kapuja A nyomtató kézi

beállítása során meg kell adnunk a csatolófelületet. Ilyenkor mindenképpen használjuk a ‘Kapcsolat ellenőrzése’ gombot, hogy ellenőrizzük az alapvető kapcsolatot a nyomtató és az interfész között. Ha minden kötél szakad, csatlakoztassuk nyomtatónkat az első párhuzamos kapuhoz (ha van a nyomtatónak ilyen csatolófelülete) és ellenőrizzük, hogy a BIOS-ban a párhuzamos kapuhoz (parallel port) be vannak-e állítva az alábbi értékek: IO-Adress 378 (hexadecimális) Az Interrupt nem jászik szerepet Mód Normal, SPP vagy Output-Only A DMA nem játszik szerepet Ha a nyomtatónk az első párhuzamos kapun ezzel a BIOS beállításokkal sem működik, akkor a YaST2 nyomtatóbeállító moduljában meg kell adnunk az IO-cím pont alatt a 0x378 értéket. Ha gépünk két párhuzamos kapuval rendelkezik, melyek a 378-as és a 278-as IO-címre vannak beállítva (hexadecimális) meg kell adnunk mind két értéket 0x378,0x278 formában (lásd még a

Párhuzamos csatolófelület bekezdést is (182. oldal)) Ezt követően mindenképpen nyomjuk meg a ‘Kapcsolat ellenőrzése’ gombot. Így ellenőrizhetjük, hogy a YaST2 tud-e kommunikálni a nyomtatóval. A várakozási sor neve Itt meg kell adnunk egy nevet a nyomtatási sorhoz. Több nyomtató esetében célszerű a nyomtató nevét megadni (például dj640c vagy bj600). A név csak kisbetűkből és számokból állhat Ha csak egy nyomtatónk van, nyugodtan hagyhatjuk az alapértelmezett lp nevet. Az LPRng/lpdfilter nyomtatási rendszer használata esetén az alábbi lehetőségek állnak még rendelkezésre: Különleges esetekben létrehozhatunk egy nyers (raw) nyomtatási sort. A raw nyomtatási soroknál a nyomtatandó adatok átalakítás nélkül kerülnek a nyomtatóra, azaz nem mennek át egy szűrőn 178 A sikeres nyomtatás alapfeltételei Beállíthatunk a nyomtatási sorhoz egy külön formfeed paramétert, mely arról gondoskodik, hogy a nyomtató

minden nyomtatás végén kiadja az utolsó lapot is. Ezt a feladatot rendszerint a Ghostscript meghajtó látja el, ha azonban az utolsó lap mindig a nyomtatóban maradna, használjuk a formfeed opciót. 7 Nyomtatás sem. Ha ezzel a nyomtatási sorral szeretnénk nyomtatni, az adatoknak olyan formátumban kell lenniük, hogy azokat közvetlen a nyomtatóra lehessen küldeni (ami ugye a nyomtató típusától is függ). Ghostscript meghajtó illetve nyomtatónyelv A Ghostscript meghajtó és a nyomtatónyelv az adott nyomtatótípustól függ. A YaST2 minden beállításhoz felkínál egy előre definiált konfigurációt, amit igényeinknek megfelelően átvehetünk, vagy szerkeszthetjük is. Mivel a nem Post Script nyomtatóknál a Ghostscript meghajtó hozza létre a nyomtatóspecifikus adatokat, a Ghostscript meghajtó beállítása a nyomtatás központi eleme. Először ki kell választanunk egy meghajtót, majd a kiválasztott meghajtótól függően meghatározhatjuk a

nyomtatás minőségét. Amennyiben a nyomtatónk szerepel a YaST2 nyomtatóadatbázisában, javaslatot tesz nekünk, hogy milyen Ghostscript meghajtókat használjuk. Ebben az esetben a YaST2 például az alábbi konfigurációkat kinálja. fekete-fehér nyomtatás 300 dpi csak LPRng-nél: szürkeárnyalatok 300 dpi színes nyomtatás 300 dpi csak CUPS-nél: színes nyomtatás 600 dpi fotó minőségű nyomtatás 600 dpi .ahol fel is sorolja, ha egy adott konfiguráció csak az egyik nyomtatási rendszerrel működik. Az előre definiált kombinációk tartalmazzák a Ghostscript meghajtót és az esetleg szükséges nyomtatóspecifikus adatokat a mindenkori nyomtatási minőséghez. Nem minden kiválasztható kombináció működik minden nyomtatótípusnál, főként nagy felbontás esetén lehetnek problémák. Ezért mindenképpen nyomtassunk először tesztoldalt. Amennyiben a nyomtató a tesztoldal nyomtatásakor nem azt nyomtatja amit kellene, nyomjuk meg a

‘Leállítás’gombot. Ha sok, majdnem teljesen SuSE Linux – Rendszerkézikönyv 179 üres lapot nyomtat, akkor ki is tudjuk venni az összes papírt a tálcából, mielőtt megszakítanánk a nyomtatást, ilyenkor azonban előfordulhat, hogy a nyomtató ezt követően már nem reagál a tesztoldal nyomtatására. Használjuk tehát a nyomtatás megszakításához inkább a ‘Leállítás’ gombot és várjuk meg amíg a nyomtató befejezi a nyomtatást. Amennyiben nyomtatónk nem szerepel a nyomtatók adatbázisában, ki tudunk választani egy szokványos meghajtót az egyes szabvány nyelvekhez. Amennyiben egy olyan Ghostscript meghajtót szeretnénk használni, amely nem szerepel a YaST2 meghajtói közül, ki tudunk választani egy általunk meghatározott meghajtót. Ez főleg a CUPS nyomtatási rendszernél lehet hasznos. A CUPS nyomtatási rendszer a /usr/lib/YaST2/data/ printerdb/ alatt található PPD fájlokat használja, melyek pontosan illeszkednek a YaST2

nyomtatóadatbázisban lévő konfigurációkhoz. A YaST2 PPD fájljai a cups-drivers csomag és a cups-drivers-stp csomagokban található PPD fájlokon alapszik. Ha a nyomtató típusát kézzel választottuk ki, akkor a nyomtató típusa helyett (azaz az alapértelmezett PPD fájl helyett) egy saját PPD fájlt tudunk kiválasztani. Mivel azonban a saját PPD fájlunkhoz nincs megfelelő bejegyzés a YaST2 nyomtatóadatbázisában, nem tudjuk azt a PPD fájlt a YaST2-vel szerkeszteni. Ilyenkor az alapértelmezett beállítások a Nyomtatósorok beállítása fejezetben leírtak alapján tudjuk szerkeszteni. Különleges beállítások Ezen a ponton keresztül érhetjük el a hardverspecifikus (meghajtó) és hardverfüggetlen beállításokat. Itt határozhatjuk például a különböző hozzáférési jogosultságokat a várakozási sorhoz. A legtöbb esetben ezek a beállítások megfelelőek, változtatásukra nincs szükségünk. Ezek a különleges beállításokat csak

szakértőknek ajánljuk. Ha egyegy esetben nem vagyunk biztosak, használjuk az alapértelmezett beállításokat. A CUPS rendszer az alábbi különleges beállítási lehetőségeket kínálja: Hozzáférés korlátozása bizonyos felhasználók részére. Állapotkijelző a nyomtatási sorok: Történjen-e a nyomtatás, és hogy a sor fogadjon-e új feladatokat. Banner oldalak: Meghatározhatjuk hogy a nyomtatás előtt illetve után nyomtatásra kerüljön egy külön oldal. Magát az oldalt is meg tudjuk adni. 180 A sikeres nyomtatás alapfeltételei Be tudjuk állítani az oldal elrendezését. Ez azonban csak szöveges ASCII fájlok nyomtatására érvényes, grafikus felületű programokból történő nyomtatáskor nem kerül alkalmazásra. Különleges esetekben létrehozhatunk egy ascii nyomtatási sort, melynek az a célja, hogy az olyan szöveg is ASCII szövegként kerüljön nyomtatásra, amit a nyomtatószűrő nem annak lát. Ez például akkor hasznos,

ha PostScript adatokat forrásszövegként szeretnénk nyomtatni. 7 Nyomtatás Az LPRng/lpdfilter rendszer az alábbi különleges beállítási lehetőségeket kínálja: A kódolás meghatározása arra való, hogy nyelvspecifikus különleges karakterek is helyesen kerüljenek nyomtatásra (például az ő és az ű). Nyomtatás felhasználói programokból A felhasználói programok szintén az lpr parancs segítségével nyomtatnak. Így azokban nem kell külön nyomtatót beállítani, hanem használjuk azokat a nyomtatósorokat, amelyeket már korábban létrehoztunk a YaST2vel, és amelyek helyességét már leteszteltük. A programokból történő nyomtatáskor tehát nem a nyomtatót, hanem a létező nyomtatási sorokat tudjuk beállítani. Parancssorból történő nyomtatás Parancssorból az lpr -Plp fájlnév paranccsal lehet nyomtatni, ahol a fájlnév a nyomtatandó fájl neve. Ilyenkor a rendszer az alapértelmezett nyomtatási sort használja a

nyomtatáshoz. Ha az általunk beállított nyomtatási soron keresztül szeretnénk nyomtatni (és megváltoztattuk az lp bejegyzést a nyomtató beállítása során), megadhatjuk azt a -P opcióval. Az lpr -Pdj640c fájlnév paranccsal tehát az általunk létrehozott nyomtatási sort használja a rendszer a nyomtatáshoz. LPRng/lpdfilter nyomtatási rendszer Az egyes programok szintén az lpr parancsot használják a nyomtatáshoz. A nyomtatáshoz csak ki kell választanunk a megfelelő várakozási sort (például lp vagy dj640c). CUPS nyomtatási rendszer SuSE Linux – Rendszerkézikönyv 181 A cups-client csomag tartalmazza a CUPS-szal történő nyomtatáshoz szükséges parancssori eszközöket, többek között az lpr parancsot. Így a nyomtatás ugyanúgy működik mint az LPRng-nél. Ezen felül használhatjuk például az xpp alkalmazást vagy a KDEbe integrált kprinter programot a nyomtatáshoz, melyek nem csak a várakozási sor kiválasztását teszik

lehetővé, hanem a CUPS alapértelmezett funkcióhoz és a PPD fájl beállításához is számos grafikus felületű beállítási lehetőségeket kínálnak. Helyi nyomtató csatolófelület kézi beállítása Párhuzamos csatolófelület Linux alatt a nyomtató csatlakoztatása rendszerint a párhuzamos kapun keresztül történik. A rendszermag a párhuzamos kapuhoz csatlakoztatott nyomtatót a parport alrendszerén keresztül címezi. A párhuzamos kapu alapvető beállításáról a Nyomtató kézi beállítása bekezdésben írtunk bővebben (177. oldal) Ez a bekezdés az ott leírtakon alapszik A parport alrendszerhez a párhuzamos csatolófelületeket (kapukat) egy megfelelő modul betöltésével tudjuk hozzáadni. Így lehet egyszerre több, sorba kapcsolt eszközt (például egy párhuzamos ZIP meghajtót és egy nyomtatót) egyetlenegy párhuzamos kapun keresztül egyszerre vezérelni. Az első párhuzamos kapuhoz csatlakoztatott nyomtatók eszközfájlja a

/dev/lp0. Ahhoz, hogy az első párhuzamos kapun keresztül tudjuk nyomtatni SuSE Linux alatt be kell töltenünk a az alapértelmezett rendszermag parport, parport pc és lp modult. Ezeket a kmod program (angolul Kernel Module Loader) rendszerint automatikusan tölti be, amikor első alkalommal hozzá szeretnénk férni az eszközfájlhoz (például a /dev/lp0-hoz). Ha a parport pc modult paraméter nélkül töltjük be, automatikusan felismeri a párhuzamos kaput és beállítja azt. Nagyon ritka esetben előfordulhat azonban, hogy az automatikus felismerés/beállítás nem sikerül és a rendszer lefagy. Ilyenkor kézzel kell megadnunk a parport pc modul betöltéséhez szükséges paramétereket. Ha ilyen problémába ütköznénk, ne használjuk a YaST2 automatikus nyomtatófelismerő lehetőségét. A párhuzamos kapu kézi beállítása Az /dev/lp0 párhuzamos kaput egy megfelelő bejegyzésel az /etc/ modules.conf fájlban tudjuk beállítani (lásd a 11 fájlt) 182

Helyi nyomtató csatolófelület kézi beállítása 11. fájllista: /etc/modulesconf: első párhuzamos kapu Az io alatt meg kell adnunk a párhuzamos kapu IO címét. Az irq pont alatt rendszerint a none az alapértelmezett érték. Meg tudjuk adni a párhuzamos kapu megszakítását is, ezt azonban csak akkor kell megadni, ha alaplapunk/nyomtatónk a megfelelő működéshez ezt igényli. A megszakítás megadásának másik nagy előnye, hogy a nyomtató nagy terhelés alatt is elegendő adatot kap a nyomtatáshoz. 7 Nyomtatás alias parport lowlevel parport pc options parport pc io=0x378 irq=none Ahhoz, hogy fenti bejegyzéssel valóban nyomtatni tudjunk, a BIOS-ban illetve a gép firmware-ben az alábbi beállításokat kell elvégeznünk: IO cím 378 (hexadecimális) Megszakítás 7 (de nem feltétlenül szükséges) Mód Normal, SPP vagy Output-Only (más módban nem mindig működik) DMA kikapcsolva (illetve Normal módban, ami azt jelenti, hogy ki van

kikapcsolva) Ha a 7-es megszakítás még szabad, akkor az alábbi bejegyzéssel alias parport lowlevel parport pc options parport pc io=0x378 irq=7 12. fájllista: /etc/modulesconf: megszakítás beállítása az első párhuzamos kapuhoz be tudjuk állítani, hogy a nyomtató használja a megszakítást. Mielőtt ezt azonban bekapcsolnánk, adjuk ki a meggyfa:~ # cat /proc/interrupts parancsot, hogy kiderítsük, hogy a rendszer jelenleg melyik megszakításokat használja. A parancs csak a jelenleg használt megszakításokat mutatja meg, ami az éppen használt eszközöktől függ. A párhuzamos kapunak mindenképpen egy szabad megszakítást kell megadnunk, ha nincs ilyen, inkább ne használjuk megszakítás módban. SuSE Linux – Rendszerkézikönyv 183 További párhuzamos kapu beállítása Ha számítógépünk még egy párhuzamos kapuval rendelkezik (/dev/lp1), mely rendszerint a 278-as IO címen keresztül címezhető (ISA kártyán például egy jumper

segítségével), azt is be tudjuk állítani az /etc/modules.conf fájlban egy megfelelő bejegyzéssel (lásd a 13. fájllistát) alias parport lowlevel parport pc options parport pc io=0x378,0x278 irq=none,none 13. fájllista: /etc/modulesconf: két párhuzamos kapu Különleges kártyák: ISA-PnP és PCI Ha egy kiegészítő párhuzamos kapu IO címét nem ismerjük előre, ki kell derítenünk azt. ISA PnP kártyák Néha az ilyen kártyáknál egy állandó értékre lehet beállítani az IO címet, a megszakítást és a módot. Ez történhet egy úgynevezett jumper-rel vagy egy megfelelő programon keresztül. Ha ez lehetséges, az IO címnek, a megszakításnak és a módnak állítsunk be állandó értékeket. Más esetben az IO cím, a megszakítás és a mód az ISA PnP kártyán csak a Linux indításakor lesz beállítva. A megadott értékek láthatók még a Linux rendszer indító üzeneteiben (/var/log/boot.msg), de ki is deríthetők a pnpdump paranccsal

(isapnp csomag). PCI kártyák Hogy mely IO címek és mely megszakítások vehetők figyelembe egy PCI kártya számára, megtekinthető a következő paranccsal (lásd a 13. képernyőlistát): meggyfa:~ # /sbin/lspci -vv | less 00:0a.0 Parallel controller: . IRQ 10 I/O ports at b400 I/O ports at b000 I/O ports at a800 I/O ports at a400 184 Helyi nyomtató csatolófelület kézi beállítása 13. képernyőlista: Az lspci -v kimenete egy PCI interfészkártya esetében alias parport lowlevel parport pc options parport pc io=0x378,0xb400,0xa800 irq=none,none,none Nyomtatás Minden esetben két IO cím, 400 (hexadecimális) különbséggel, tartozik egy párhuzamos kapuhoz. Az /etc/modulesconf fájlba bejegyzésre kerülő sorok az alábbiak: 7 14. fájllista: /etc/modulesconf: PCI kártya 2 párhuzamos kapuval Párhuzamos kapu aktiválása és ellenőrzése Miután a fentiek alapján beállítottuk a párhuzamos kaput, újra kell indítanunk a gépet. Ha ezt

mindenképpen el szeretnénk kerülni, akkor root felhasználóként frissítsük a rendszermagmodulok függőségeinek listáját, majd távolítsuk el azokat a modulokat, amelyek a párhuzamos kaput érintik. meggyfa:~ # depmod -a 2>/dev/null meggyfa:~ # rmmod lp meggyfa:~ # rmmod parport pc meggyfa:~ # rmmod parport . és töltsük be újból: meggyfa:~ # modprobe parport meggyfa:~ # modprobe parport pc meggyfa:~ # modprobe lp Ha nyomtatónk tud ASCII szöveget nyomtatni, akkor root felhasználóként az alábbi paranccsal tudunk egy oldalt nyomtatni,. meggyfa:~ # echo -en ” Hello f” >/dev/lp0 . amely csupán a Hello szöveget tartalmazza Az jel azt jelenti, hogy a nyomtatófej visszatér az alappozícióba, az f jel pedig az oldal kiadását eredményezi. Ha nem az első párhuzamos kapun keresztül akarunk nyomtatni, akkor annak megfelelően meg kell változtatnunk az eszköznevet (/dev/lp1 illetve /dev/ lp2). SuSE Linux –

Rendszerkézikönyv 185 USB kapcsolat Ha USB nyomtatót szándékozunk használni, ellenőrizzük, hogy az USB támogatás be van kapcsolva a BIOS-ban. Egy Award BIOS esetén például be kell állítanunk a ‘PNP AND PCI SETUP’ menüben (vagy hasonlóban), az ‘USB IRQ’ (vagy hasonló) változót Enabled-re (vagy hasonlóra). Az USB nyomtatókapcsolat ellenőrzéséhez root-ként adjuk ki a következő parancsot: meggyfa:~ # echo -en ” hello f” >/dev/usb/lp0 Feltéve, hogy az első USB kapun (/dev/usb/lp0) van egy nyomtató, amelyik képes ASCII szöveget nyomtatni, megjelenik egy oldal a hello szóval. Néhány USB nyomtatónak – a tulajdonképpeni nyomtatás előtt – egy külön vezérlőparancsot kell elküldeni. Az alábbi paranccsal tudunk például egy Epson Stylus Color USB nyomtatót rávenni, hogy fogadjon nyomtatóadatokat (a parancsot egy sorban kell kiadni): echo -en "x0x0x0x1bx01x40x45x4ax4c x20x31x32x38x34x2ex34x0ax40x45x4ax4cx20

x20x20x20x20x0a" >/dev/usb/lp0 A nyomtató gyártóját és típusát rendszerint az alábbi paranccsal tudjuk kideríteni: meggyfa:~ # cat /proc/bus/usb/devices Ha itt sem a nyomtató gyártója sem annak típusa nem jelenik meg, akkor annak két oka lehet: Az USB rendszer (még) nem ismeri az eszközt. Ellenőrizzük, hogy be vane kapcsolva a nyomtató Ha így sem ismeri fel a nyomtatót, nem tudjuk azt használni. Az USB rendszer felismerte a nyomtatót, azonban annak gyártóját vagy típusát nem ismeri. Ebben az esetben a nyomtató megcímezhető Előfordulhat, hogy az USB nyomtató többé nem címezhető – például ha eltávolítottuk az USB csatlakozót nyomtatás közben. Ilyenkor rendszerint elegendő, ha root felhasználóként kiadjuk az alábbi parancsokat: 186 meggyfa:~ # rchotplug stop meggyfa:~ # rchotplug start Helyi nyomtató csatolófelület kézi beállítása 7 meggyfa:~ # fuser -k /dev/usb/lp0 meggyfa:~ # rchotplug stop meggyfa:~

# rmmod printer meggyfa:~ # rmmod usb-uhci meggyfa:~ # umount usbdevfs meggyfa:~ # rmmod usbcore meggyfa:~ # modprobe usbcore meggyfa:~ # mount usbdevfs meggyfa:~ # modprobe usb-uhci Nyomtatás Ha ez sem segít, akkor le kell állítani minden folyamatot, amely használja a /dev/usblp0 eszközt, és root felhasználóként az USB nyomtatót érintő rendszermagmodulokat újra be kell tölteni: # vagy rmmod usb-ohci # vagy modprobe usb-ohci meggyfa:~ # modprobe printer meggyfa:~ # rchotplug start Előzőleg ellenőrizzük az lsmod paranccsal, hogy mely USB modulok vannak betöltve (usb-uhci vagy usb-ohci), és hogy milyen további modulfüggőségek léteznek. usbcore . [printer usb-uhci] például azt jelenti, hogy az usbcore modulnak még szüksége van a printer és az usb-uhci modulokra. Éppen ezért a printer és az usb-uhci modulokat az usbcore modul előtt kell eltávolítani. A problémamentes nyomtatáshoz célszerű az eszközt már a rendszer

indítása előtt bekapcsolni és lehetőleg ne is kapcsoljuk ki, amíg használjuk a gépet. IrDA nyomtatási csatolófelület A Linux az IrDA használatakor emulálja a párhuzamos kaput az infravörös kapcsolaton keresztül. A megfelelő eszközfájl a /dev/irlpt0 alatt található A nyomtató kezelése ugyanúgy működik, mintha párhuzamos nyomtatónk lenne, egyszerűen helyettesítenünk kell a /dev/lp0-t a /dev/irlpt0-val. Az IrDA nyomtató alapvető működését root-ként az alábbi paranccsal tudjuk ellenőrizni: SuSE Linux – Rendszerkézikönyv 187 meggyfa:~ # echo -en ” Hello f” >/dev/irlpt0 Feltéve, hogy a nyomtatónk képes ASCII szöveget nyomtatni, megjelenik egy oldal a Hello szóval. Ha nyomtatón nem nyomtat, adjuk ki az alábbi parancsot: meggyfa:~ # irdadump Ha itt nem jelenik meg a nyomtatónk, nem tudjuk használni azt. Ilyenkor mindenképpen ellenőrizzük, hogy egyáltalán fut-e az IrDA szolgáltatás. Az IrDA szolgáltatás

alapértelmezett esetben nem indul el automatikusan. Az IrDA rendszerszolgáltatás indításához adjuk ki az alábbi parancsot: meggyfa:~ # rcirda start Leállításához pedig: meggyfa:~ # rcirda stop Soros kapuk Alapvető információkat a soros kapun keresztül történő nyomtatásról, a megfelelő HOGYAN-ból kaphatunk: file:/usr/share/doc/packages/lprng/LPRng-HOWTO.html file:/usr/share/doc/packages/lprng/LPRng-HOWTO. html#SECSERIAL Ha további információra van szükségünk keressük fel a SuSE Linux terméktámogatási adatbázist és keressük a soros illetve a serial kulcsszavakra. Az LPRng/lpdfilter kézi beállítása Ha csak tehetjük, állítsuk be a nyomtatót a YaST2 segítségével, ahogyan azt a Felhasználói kézikönyvben leírtuk. Ha nem akarjuk/tudjuk használni a YaST2-t, beállíthatjuk a nyomtatót a parancssorból vezérelhető lprsetup programmal. A YaST2 is ezt a programot használja a nyomtató beállításához a háttérben, miután a

szükséges információkat összegyűjtötte a nyomtató beállításához. Az lprsetup program használatát kizárólag szakértőknek ajánljuk, mivel a YaST2-vel ellentétben nem ad segítséget az egyes opciók beállításához. 188 Az LPRng/lpdfilter kézi beállítása További információt az egyes Ghostscript meghajtókról és a meghajtóspecifikus paraméterekhez az A megfelelő nyomtatómeghajtó kiválasztása bekezdésben (170. oldal) és az A Ghostscript által nyújtott lehetőségek találhatunk 7 Nyomtatás Kis segítséget azonban itt is kaphatunk, ha kiadjuk az lprsetup -help parancsot vagy elolvassuk a megfelelő kézikönyvlapokat (man lprsetup, man lpdfilter). Az LPRng/lpdfilter feladatgyűjtője Az LPRng/lpdfilter nyomtatási rendszer feladatgyűjtője az LPRng (lprng csomag). Az lpd démon (angolul Line Printer Daemon) az /etc/init.d/lpd szkript segítségével automatikusan elindul a rendszer indításakor, feltéve, hogy az insserv

program segítségével a megfelelő szimbolikus linkeket létrehoztuk. Indítása után a démon a háttérben fut és az alábbi parancsokkal tudjuk elindítani/leállítani: meggyfa:~ # rclpd start meggyfa:~ # rclpd stop Az LPRng az alábbi konfigurációs fájlokat használja: /etc/printcap az egyes várakozási sorok konfigurációi /etc/lpd.conf a feladatgyűjtő általános beállítása /etc/lpd.perms a hozzáféréseket meghatározó fájl Ha kiadjuk az rclpd start parancsot, akkor az /etc/init.d/lpd szerint a checkpc -f parancs is végrehajtódik. Ez a parancs az /etc/printcap fájl alapján szükség szerint létrehozza a megfelelő /var/spool/lpd/* feladatgyűjtő könyvtárakat, majd módosítja azon hozzáférési jogosultságait. A feladatgyűjtő minden indításakor megállapítja az /etc/printcap fájl bejegyzései alapján, hogy milyen nyomtatási sorok léteznek. Fő feladata az, hogy rendezze a nyomtatási sorokban várakozó nyomtatási feladatokat

(angolul Jobs): Karbantartja a helyi várakozási (azaz nyomtatási) sorokat: Minden egyes nyomtatási feladatnál elküldi a megfelelő adatokat a nyomtatási szűrőn keresztül közvetlen a nyomtatóhoz illetve egy másik (esetleg távoli) nyomtatási sorhoz. SuSE Linux – Rendszerkézikönyv 189 Felügyeli a nyomtatási sorban lévő feladatok sorrendjét. Felügyeli a nyomtatási sorok és a nyomtatók állapotát, és szükség szerint megadja nekünk a megfelelő információkat erről. Figyel az 515-ös kapun, hogy esetleg megérkezik-e egy nyomtatási feladat egy távoli gépről, majd eldönti, hogy elfogadja azt vagy sem. Továbbítja a nyomtatási sorban várakozó feladatokat az 515-ös kapun keresztül egy távoli géphez, illetve az ott futó feladatgyűjtőnek. Részletes leírás az LPRng feladatgyűjtőről a file:/usr/share/doc/ packages/lprng/ könyvtárban lévő LPRng-HOWTO.html fájlban és a megfelelő kézikönyvlapokban található (man

printcap illetve man lpd). Parancssori segédeszközök az LPRng-hez Az egyes segédeszközökhöz angol nyelven a LPRng-Howto-ban (file:/usr/share/doc/packages/lprng/LPRng-HOWTO. html#LPRNGCLIENTS) találhatunk bővebb információkat, következzen itt tehát egy rövid összefoglalás: Helyi nyomtatási sorok kezelése Nyomtatási feladat létrehozása Egy új nyomtatási feladatot az alábbi paranccsal tudunk létrehozni: jancsi@meggyfa:~ > lpr -Phnyomtatási sor i hfájlnév i Amennyiben a nyomtatási sort nem adjuk meg a -Phnyomtatási sor i paraméterrel, akkor a parancs a PRINTER környezeti változóban beállított nyomtatót használja a nyomtatáshoz. Ez ugyanúgy vonatkozik az lpq és az lprm parancsra is (lásd ehhez még: man lpr, man lpq és man lprm). A PRINTER környezeti változó automatikusan beállítódik amikor bejelentkezünk a rendszerbe (feltéve, hogy be lett állítva legalább egy nyomtató). Lekérdezéséhez adjuk ki az echo $PRINTER parancsot. A

változó beállítása az alábbi paranccsal történik: jancsi@meggyfa:~ > 190 export PRINTER=hnyomtatási sor i Parancssori segédeszközök az LPRng-hez Információk a nyomtatási sorok állapotáról lpq -Phnyomtatási sor i Fenti paranccsal ki tudjuk deríteni, hogy az adott sorban milyen feladatok találhatók. Ha a nyomtatási sor helyett az all értéket adjuk meg, akkor a parancs az összes nyomtatási sor feladatait mutatja meg. Ha csak kevés információra vagyunk kíváncsiak, akkor adjuk ki az lpq -s -Phnyomtatási sor i parancsot, bőbeszédűbb az lpq -l -Phnyomtatási sor i parancs. Nyomtatás jancsi@meggyfa:~ > 7 Ha hibaelhárításról van szó, akkor célszerű a parancsot a -L opcióval használni: lpq -L -Phnyomtatási sor i. Így egy részletes jelentést kapunk a nyomtatási sorban lévő feladatokról. További információkért olvassuk el az A nyomtatási sor állapotának megtekintése bekezdést (193. oldal), a megfelelő

kézikönyvlapot (man lpq) és a file:/usr/share/doc/packages/lprng/LPRng-HOWTO.html#LPQ alatt található LPRng-Howto fájlt. Feladatok törlése jancsi@meggyfa:~ > lprm -Phnyomtatási sor i hfeladat azonosítói Fenti paranccsal ki tudunk törölni egy adott feladatot a nyomtatási sorból, ha mi vagyunk a feladat tulajdonosa és ha ismerjük annak azonosítószámát. A nyomtatási feladat rendszerint azé a felhasználóé, aki elindította a nyomtatást. A szükséges információk kiderítéséhez, adjuk ki az lpq parancsot. Ha minden feladatot ki szeretnénk törölni minden nyomtatási sorból, akkor azt az alábbi paranccsal tehetjük meg: meggyfa:~ # lprm -Pall all Természetesen ezzel a paranccsal is csak a saját nyomtatási feladatainkat tudjuk kitörölni. Ha valóban az összes feladatot szeretnénk kitörölni, akkor fenti parancsot root felhasználóként kell kiadnunk. További információkért olvassuk el a megfelelő kézikönyvlapot (man lprm) és az

LPRng-Howto fájlt: file:/usr/share/doc/packages/lprng/LPRng-HOWTO.html#LPRM A nyomtatási sorok irányítása jancsi@meggyfa:~ > lpc opció hnyomtatási sor i SuSE Linux – Rendszerkézikönyv 191 Fenti parancs kiadásával irányíthatjuk a nyomtatási sorokat az alábbi opciókat használva: help felsorolja az elérhető opciókat. status hnyomtatási sor i jelentést ad a nyomtatási sor állapotáról. disable hnyomtatási sor i megakadályozza, hogy új feladatok kerülhessenek a sorba. enable hnyomtatási sor i engedélyezi, hogy a nyomtatási sor új feladatokat fogadjon. stop hnyomtatási sor i leállítja a nyomtatást úgy, hogy új feladatok már ne kerüljenek nyomtatásra (az éppen nyomtatás alatt lévő feladat még befejeződik). start hnyomtatási sor i folytatja a nyomtatási sorban lévő feladatok nyomtatását. down hnyomtatási sor i a disable és a stop opció együttvéve. up hnyomtatási sor i az enable és a start opció együttvéve. abort

hnyomtatási sor i megfelel a down opciónak, itt azonban az éppen nyomtatás alatt lévő feladat sem fejeződik be. Az egyes feladatok azonban a sorban maradnak, így egy újbóli up paranccsal folytatni tudjuk azokat. Fenti parancsok kiadásához rendszerint root jogosulságokkal kell rendelkeznünk. Kiadhatjuk őket egyben, parancssorból (például lpc status all), de külön ki is adhajuk az lpc parancsot, paraméter nélkül. Ilyenkor egy új promptot kapunk (lpc>), ahol kiadhatunk további opciókat. Az lpc> promptból való kilépéshez adjuk ki a quit vagy az exit parancsot. Az lpc status all parancs kimenete lehet például: Printer lp@meggyfa color@meggyfa laser@meggyfa 192 Printing Spooling Jobs enabled enabled disabled disabled disabled enabled Parancssori segédeszközök az LPRng-hez Server Subserver 2 123 456 0 none none 8 none none További információkért olvassuk el a megfelelő kézikönyvlapot (man lpc)vagy a

file:/usr/share/doc/packages/lprng/LPRng-HOWTO.html#LPC alatt található LPRng-Howto fájlt. 7 Nyomtatás Fenti példánál az lp sor engedélyezve van és fogad nyomtatási feladatokat. A sorban két feladat található, az egyik éppen nyomtatás alatt. A color nyomtatási sor teljesen le van tiltva. A laser sornál le van tiltva a nyomtatás, azonban feladatokat fogad. Ez főleg akkor hasznos, ha például éppen ki akarjuk cserélni a tonert és nem akarjuk, hogy minden feladat törlődjön a sorból (fenti példánál 8 feladat található a sorban). Távoli nyomtatási sorok kezelése A következő példákban a nyomtatószerver változó a megfelelő gép IP címével illetve nevével helyettesítendő. A hnyomtatási sor i alatt pedig a nyomtatószerveren lévő nyomtatási sor értendő. Új feladat létrehozása Az LPRng feladatgyűjtőnél közvetlen az lpr paranccsal lehet egy távoli gépen lévő nyomtatási soron keresztül nyomtatni. Ehhez a parancsot az

alábbi módon kell kiadnunk: jancsi@meggyfa:~ > hfájlnév i lpr -Phnyomtatási sor i@nyomtatószerver Ennek feltétele azonban az, hogy a távoli gépen lévő nyomtatószerver hozzáférést biztosítson a nyomtatási sorokhoz. Az LPRng-nél ez alapértelmezett esetben biztosítva van. A nyomtatási sor állapotának megtekintése Az alábbi parancsokkal: jancsi@meggyfa:~ > lpq -Phnyomtatási sor i@nyomtatószerver jancsi@meggyfa:~ > lpq -s -Phnyomtatási sor i@nyomtatószerver jancsi@meggyfa:~ > lpq -l -Phnyomtatási sor i@nyomtatószerver jancsi@meggyfa:~ > lpq -L -Phnyomtatási sor i@nyomtatószerver illetve: jancsi@meggyfa:~ > lpc status hnyomtatási sor i@nyomtatószerver SuSE Linux – Rendszerkézikönyv 193 jancsi@meggyfa:~ > lpc status all@nyomtatószerver le tudjuk kérdezni a távoli nyomtatási sor állapotát. A leghasznosabb parancs rendszerint az lpq -s -Pall@nyomtatószerver illetve az lpc status all@nyomtatószerver, melynek

segítségével minden a nyomtatószerveren lévő nyomtatási sort le tudunk kérdezni, amennyiben azon az LPRng fut. Ha valamelyik nyomtatási soron keresztül nem tudunk nyomtatni, akkor kérdezzük le a nyomtatási sor állapotát. Ezt az lpq -L -Phnyomtatási sor i@nyomtatószerver paranccsal tehetjük meg, mely (LPRng használata esetén) részletes információkat nyújt a sor állapotáról. Távoli nyomtatási feladatok törlése Az alábbi parancsokkal jancsi@meggyfa:~ > lprm -Phnyomtatási sor i@nyomtatószerver hfeladatazonosítói jancsi@meggyfa:~ > lprm -Phnyomtatási sor i@nyomtatószerver all jancsi@meggyfa:~ > lprm -Pall@nyomtatószerver all minden a távoli nyomtatószerveren lévő feladatot ki tudunk törölni, feltéve, hogy mi hoztuk létre azokat. Mivel távoli gépről van szó, a root felhasználó is csak a saját nyomtatási feladatait tudjuk kitörölni. Az all opciót csak akkor tudjuk használni, ha a nyomtatószerver is az LPRng

feladatgyűjtőt használja. Hibaelhárítási lehetőségek az LPRng használatakor Linux alatt a nyomtatási feladatok akkor is benne maradnak a sorban, ha kikapcsoljuk, majd újraindítjuk a számítógépet. Emiatt egy hibás vagy tévedésből elküldött nyomtatási feladatot nekünk kell eltávolítanunk a nyomtatási sorból (lprm). Amennyiben a nyomtató és a számítógép közötti kommunikációnál valamilyen hiba lépne fel, akkor a nyomtató a kapott adatokkal rendszerint nem tud mit kezdeni. Így elkezd egy „csomó hülyeséget” nyomtatni Ebben az esetben tegyük meg a következőt: 1. Vegyünk ki minden papírt a papíradagoló tálcából (illetve lézernyomtató esetén, húzzuk ki a papírfiókot). Erre a nyomtató leáll a nyomtatással 194 Parancssori segédeszközök az LPRng-hez 3. Ezt követően a nyomtató még mindig nyomtathat, mivel azokat az adatokat, amelyek már el lettek küldve a nyomtatóhoz nem tudtuk kitörölni a feladat

törlésével. Az összes olyan feladatot, amely hozzáfér a nyomtatóhoz az fuser -k /dev/lp0 (párhuzamos kapuhoz csatlakozó nyomtató esetén) illetve az fuser -k /dev/usb/lp0 paranccsal (USB nyomtató esetén) tudjuk befejezni. 7 Nyomtatás 2. Mivel a nyomtatási feladat ilyenkor azonban még a sorban marad (lásd fent), ki kell adnunk az lpq illetve az lpc status parancsot, hogy kiderítsük, melyik feladatról és melyik sorról van szó, majd az lprm feladatazonosító paranccsal töröljük ki a nyomtatási feladatot. 4. Ezt követően még a nyomtatót kell „lecsillapítanunk” Ehhez húzzuk ki a konnektorból (hogy semmiképpen ne kapjon áramot), várjunk egy jó percet, majd tegyük vissza a papírt és kapcsoljuk be újból. Most már nem szabad nyomtatnia a nyomtatónak. lpdfilter – az LPRng nyomtatási rendszer nyomtatószűrője Az LPRng nyomtatási rendszer a nyomtatási feladatok szűréséhez az lpdfilter programot használja (lpdfilter csomag). Íme

egy részletes leírás arról, hogy mi is történik pontosan ha nyomtatni szeretnénk. További információkért tekintsük meg a nyomtatószűrő szkriptfájljait (például /usr/lib/lpdfilter/bin/if) és olvassuk el a Hibaelhárítási lehetőségek az lpdfilter-nél bekezdést (200. oldal) 1. A nyomtatási szűrő az /etc/printcap és az /etc/ lpdfilter/hnyomtatási sori/conf fájl alapján meghatározza a feladatgyűjtő által megkapott illetve a nyomtatási feladat vezérlőfájljában található opciókat. 2. Ezt követően kideríti, hogy milyen nyomtatandó adatokról van szó Ehhez a /usr/lib/lpdfilter/bin/guess alapján végrehajt egy file parancsot a nyomtatandó adaton (például file kép.ps, majd a parancs kimenetének és az /etc/lpdfilter/types fájlnak megfelelően kezeli a nyomtatandó adatokat: Amennyiben a nyomtatáshoz kiválasztottunk egy ascii sort, akkor az adatokat ASCII formátumban nyomtatja. SuSE Linux – Rendszerkézikönyv 195 Ha nem

ascii sorról van szó, akkor a nyomtatószűrő kinyomtatja az adatokat a fájltípusnak megfelelően. 3. A nyomtatási sortól és a kinyomtatandó adattól függően előfordulhat, hogy a szűrőnek még át kell alakítania az adatokat: Ha egy nyers sorról van szó (raw), akkor az adatok közvetlenül a nyomtatóra vagy egy másik sorba továbbítódnak. Lehetőségünk van azonban arra is, hogy az /etc/lpdfilter/hnyomtatási sori/conf fájlban meghatározzuk az adatok átkódolását egy másik karakterkészletre (ez a recode paranccsal történik). Ha az adatokat teljesen nyers formában szeretnénk a nyomtatóra küldeni (azaz az lpdfilter elkerülésével), akkor az /etc/printcap fájlban a megfelelő nyomtatási sornál ki kell törölnünk az :if=/usr/lib/lpdfilter/bin/if: sort. Ha a nyomtatási sor nem nyers adatokat vár (nem raw sor) akkor az alábbi lehetőségek állnak fenn: (a) A /usr/lib/lpdfilter/filter/xxx2ps szűrő átalakít minden egyéb formátumú

adatot PostScript formátumba (az xxx a nyomtatandó fájl típusával helyettesítendő). Egy egyszerű szöveges ASCII fájl esetén ezt az átalakítást az a2ps program hajtja végre a /usr/lib/lpdfilter/filter/ascii2ps szűrő alapján. A program az átalakításkor figyelembe veszi a szöveg kódolását is, így közvetlen módon ki lehet nyomtatni például egy ő betűt is (lásd ehhez még a man a2ps kézikönyvlapot is). (b) A szűrő átalakítja az adatokat, ha létezik egy megfelelő szkript a /etc/lpdfilter/hnyomtatási sori/pre alatt. (c) A szűrő átalakítja a PostScript adatokat egy másik nyomtatónyelvre: . PostScript nyomtató esetén a szűrő beépíti a /usr/lib/ lpdfilter/global/functions fájlban definiált „duplex” illetve a „tray” burokfunkciókat, a kétoldalas nyomtatáshoz illetve a papírtálca kiválasztáshoz. Ennek feltétele, hogy nyomtatónk támogatja ezeket a funkciónkat. . Nem PostScript nyomtató esetén a Ghostscript

átalakítja a nyomtatandó adatokat a megfeleló nyomtatóspecifikus meghajtóval abba a formátumba, amit a nyomtató (vagy egy újabb sor) igényel. A Ghostscript parancs paramétereit az /etc/printcap fájlban a cm sorban vagy az /etc/lpdfilter/hnyomtatási sori/upp fájlban tudjuk megadni. 196 lpdfilter – az LPRng nyomtatási rendszer nyomtatószűrője 7 Nyomtatás A Ghostscript adatok kimenetét is át tudjuk alakítani, ha létezik ehhez egy megfelelő /etc/lpdfilter/hnyomtatási sori/post szkript. (d) A szűrő továbbítja a (mostmár nyomtatóspecifikus) adatokat a nyomtatóhoz (vagy egy másik nyomtatási sorhoz), ahol kinyomtatásra kerülnek az adatok. A tulajdonképpen adatok mellett a nyomtatóra nyomtatóspecifikus vezérlőparancsokat is lehet küldeni, akár az adatok előtt akár utánuk. Ezeket a nyomtatóspecifikus vezérlőparancsokat az /etc/ lpdfilter/hnyomtatási sori/conf fájlban kell megadnunk. Az lpdfilter beállítása A nyomtatási

rendszer beállítása rendszerint a YaST2-vel történik, ahogyan azt a Felhasználói kézikönyvben leírtuk. Ilyenkor az lpdfilter is automatikusan beállításra kerül. Ha különleges beállításokra van szükségünk, kézzel kell szerkesztenünk a nyomtatószűrő konfigurációs fájljait. Minden egyes nyomtatási sornak külön konfigurációs fájlja van /etc/ lpdfilter/hnyomtatási sori/conf néven (ahol a hnyomtatási sori a megfelelő nyomtatási sor nevével helyettesítendő). Ebben a fájlban az egyes opciókhoz is kaphatunk információkat. Saját kiegészítések az lpdfilter-hez 1. A /usr/lib/lpdfilter/filter/xxx2ps szűrő minden olyan adatot, ami nem PostScript formátumú, átalakítja PostScript formátumba (ahol az xxx a nyomtatandó fájl típusával helyettesítendő). Ha létezik egy megfelelő /etc/lpdfilter/hnyomtatási sori/xxx2ps szkript, akkor a szűrő annak segítségével alakítja át az adatokat PostScript formátumba. A szkript a

megfelelő adatokat a stdin bemeneten keresztül kapja meg, kimenetét pedig a stdout-on keresztül továbbítja. 2. A szűrő szüksége szerint átalakítja az adatokat, ha létezik egy megfelelő szkript a /etc/lpdfilter/hnyomtatási sori/pre alatt. Itt hozzáadhatunk saját, úgynevezett PostScript-Preload szkriptjeinket. A szkriptnek a megfelelő adatokat a stdin bemeneten keresztül kell megkapnia, kimenetét pedig a stdout-on keresztül továbbítja. A megfelelő programokat a PostScript adatok átalakításához a psutils csomagban találhatók. Mindenképpen javasolt a pstops program kézikönyvlapjának áttanulmányozása (man pstops). SuSE Linux – Rendszerkézikönyv 197 3. Különleges Ghostscript paraméterek: Ha nyomtatónkat a YaST2-vel állítjuk be, akkor a Ghostscript paraméterei az /etc/ lpdfilter/hnyomtatási sori/upp fájlban kerülnek mentésre. Ezt a fájl szerkeszthetjük és kiegészíthetjük saját paramétereinkkel. Az lehetséges Ghostscript

paraméterekről olvassuk el az A Ghostscript által nyújtott lehetőségek bekezdést (212. oldal) 4. A Ghostscript adatok kimenetét is át tudjuk alakítani, ha létezik ehhez egy megfelelő /etc/lpdfilter/hnyomtatási sori/post szkript. A szkript a megfelelő adatokat a stdin bemeneten keresztül kapja meg, kimenetét pedig a stdout-on keresztül továbbítja. Hardverfüggetlen példa Tételezzük fel, hogy vagy egy teszt nevű nyomtatási sor, amelyen keresztül úgy szeretnénk kinyomtatni ASCII szöveget, hogy minden egyes sor előtt megjelenjen az adott sor sorszáma, és hogy laponként két oldalnyit lehessen nyomtatni. Ehhez létrehozhatunk egy megfelelő szkriptet az /etc/ lpdfilter/teszt/ascii2ps és az /etc/lpdfilter/teszt/pre programokkal: #!/bin/bash cat -n - | a2ps -1 --stdin=’ ’ -o 15. fájllista: /etc/lpdfilter/teszt/ascii2ps: ASCII átalakítása PostScript-ba #!/bin/bash pstops -q ’2:0L@0.6(20cm,2cm)+1L@06(20cm,15cm)’ 16. fájllista:

/etc/lpdfilter/teszt/pre: PostScript átszerkesztése Ezeket a szkripteket minden egyes felhasználó számára szeretnénk elérhetővé tenni. Ehhez használhatjuk a chmod parancsot: 198 meggyfa:~ # chmod -v a+rx /etc/lpdfilter/teszt/ascii2ps meggyfa:~ # chmod -v a+rx /etc/lpdfilter/teszt/pre lpdfilter – az LPRng nyomtatási rendszer nyomtatószűrője 7 Példa egy GDI nyomtató beállítására GDI nyomtatóknál a Ghostscript és a meghajtóprogram a következőképpen működik együtt (lásd ehhez még az A Ghostscript által nyújtott lehetőségek fejezetet (212. oldal)) Nyomtatás Tegyük fel, hogy be szeretnénk állítani egy gdi nyomtatási sort egy úgynevezett GDI nyomtatóhoz. Mivel az ilyen nyomtatók Linux alatt nem mindig működnek, mindenképpen olvassuk el a Problémák GDI nyomtatókkal bekezdést (171. oldal) mielőtt munkához látnánk 1. A Ghostscript felbontja a PostScript adatokat egy képpontokból álló raszterképre. A raszteres

adatokat egy megfelelő ghostscript meghajtó továbbítja a meghajtónak a megfelelő formátumban és felbontásban. 2. A meghajtó átalakítja a raszteres adatokat a nyomtatóspecifikus formátumba. Az alábbi leírás abból indul ki, hogy nyomtatónkhoz létezik egy linuxos meghajtó, mely a fent leírtak alapján dolgozik. Továbbá jártásnak kell lennünk a linuxos források kezelésében (például .zip- targz vagy rpm fájlok) Miután a megfelelő forrásfájlokat kicsomagoltuk illetve telepítettük, olvassuk el a csomagban lévő README és/vagy INSTALL fájlt a telepítéshez és a beállításhoz. Példánkban: a /usr/local/bin/printerdriver a meghajtóprogram. a pbmraw a Ghostscript meghajtó 600 dpi-s felbontásban. a nyomtató az első párhuzamos kapuhoz csatlakozik (/dev/lp0). Hogy pontosan melyik Ghostscript meghajtónkra van szükségünk, azt a meghajtóprogram dokumentációjából tudjuk kideríteni. Először létre kell hoznunk egy gdi nyomtatási

sort. Ehhez használhatjuk az lprsetup programot (root felhasználóként): meggyfa:~ # lprsetup -add gdi -lprng -device /dev/lp0 -driver pbmraw -dpi 600 -size a4dj -auto -sf A parancsot egy sorban kell kiadnunk, visszafordított perjel nélkül (‘’). Ezt követően létre kell hoznunk az alábbi szkriptet /etc/lpdfilter/gdi/ post néven: SuSE Linux – Rendszerkézikönyv 199 #!/bin/bash /usr/local/bin/printerdriver hmeghajtóspecifikus paraméterek i 17. fájllista: /etc/lpdfilter/gdi/post: meghajtóprogram indítása A meghajtóspecifikus paraméterek megadásához tekintsük meg a nyomtatómeghajtó dokumentációját. A szkriptnek minden felhasználó számára végrehajthatónak kell lennie, ezt követően újra kell indítanunk a feladatgyűjtőt: meggyfa:~ # chmod -v a+rx /etc/lpdfilter/gdi/post meggyfa:~ # rclpd stop meggyfa:~ # rclpd start Az alábbi paranccsal most már minden felhasználó nyomtathat: jancsi@meggyfa:~ > lpr -Pgdi hfájlnév i

Hibaelhárítási lehetőségek az lpdfilter-nél Ahhoz, hogy a nyomtatószűrő esetleges hibaüzenetei nyomon követhetők legyenek, el kell távolítanunk a megjegyzésjelet ‘#’ a /usr/lib/lpdfilter/ bin/if fájl megfelelő sora előtt: # DEBUG="off" # DEBUG="low" DEBUG="medium" # DEBUG="high" 18. fájllista: /usr/lib/lpdfilter/bin/if: Debug-Level Ha DEBUG="low" értékre van beállítva, akkor a /usr/lib/lpdfilter/bin/ if csak a stderr kimenetét naplózza a /tmp/lpdfilter.if-YYXXXXXX fájlban (ahol az YY a folyamatazonosító, az XXXXXX pedig egy véletlen, de egyedi karaktersorozat). DEBUG="medium" szinten a stderr üzeneten kívül a /usr/lib/ lpdfilter/filter/ található szkriptek is naplózásra kerülnek a /tmp/ lpdfilter.name-XXXXXXXX fájlban (ahol az XX a folyamatazonosító, az XXXXXX pedig egy véletlen, de egyedi karaktersorozat). DEBUG="high" beállításnál a kimenet nem csak a

nyomtatóra kerül, hanem egy /tmp/lpdfilter.out-YYXXXXXX fájlba is (ahol az YYXXXXXX szintén fenti példa szerint helyettesítendő). Hogy hiba esetén ne veszítsük el az áttekintést, töröljük ki ezeket a fájlokat minden egyes teszt előtt az rm -v /tmp/lpdfilter* paranccsal. 200 lpdfilter – az LPRng nyomtatási rendszer nyomtatószűrője A CUPS nyomtatási rendszer A kliens illetve a kliensprogram kifejezések egy olyan programot takarnak, amit azért indítunk el, hogy nyomtatási feladatokat küldjünk a nyomtatószervernek, jelen esetben a CUPS démonnak. Nyomtatás Elnevezési konvenciók 7 A démon egy helyi szolgáltatás, amelyik nyomtatási feladatokat fogad, hogy azokat feldolgozza vagy továbbküldje. A szerver egy olyan démon, amelyik egy vagy több nyomtatót el tud látni nyomtatási adatokkal. Mivel minden szerver egyben démon is, a szerver a démon feladatait is ellátja. A démon és a szerver kifejezések általában nem válnak el

egymástól; így van ez a CUPS rendszerben is. IPP és a szerverek A nyomtatási feladatokat CUPS-alapú kliensprogramok küldik el a szervereknek, például az lpr, a kprinter vagy az xpp, az Internet Printing Protocol, röviden IPP segítségével. Az IPP az RFC-2910 és az RFC-2911 számú Internet Standard gyűjteményben van lefektetve (lásd http://www.rfc-editor org/rfc.html) Az IPP nagyban hasonlít a HTTP webprotokollhoz; azonos fejlécet, de különböző tartalmat foglal magában. Ezenkívül a 631-es kapun keresztül kommunikál, mely az IANA ((angolul Internet Authority for Number Allocation)) szervezetnél került regisztrálásra. A kliensek az adatokat a beállított CUPS démonnak küldik el, ami általában a helyi szerver is. Más szerverek közvetlenül, a CUPS SERVER környezeti változó által meghatározott címen érhetők el. A CUPS démon egy broadcast funkción keresztül tudja a saját maga által kezelt helyi nyomtatókat a hálózat tudtára adni,

méghozzá a 631-es UDP kapun keresztül. Ezek a nyomtatók minden olyan démon nyomtatósorában megjelennek, melyek megkapták a broadcast üzenetet, illetve jogosultak a kiértékelésére. Ez különösen előnyös vállalati hálózatok számára, ahol egy hálózatba kapcsolt számítógép már közvetlenül az indítása után minden, a hálózatban elérhető nyomtatóról tudomást szerez anélkül, hogy bármilyen beállítást elvégezünk volna. Ez azonban veszélyeket is hordozhat magában, ha a számítógép az internettel is kapcsolatban áll. A broadcast funkció beállításánál arra kell tehát ügyelnünk, hogy ennek hatásköre csak a helyi hálózat legyen, és hogy csak a helyi SuSE Linux – Rendszerkézikönyv 201 hálózatból lehessen elérni a nyomtatókat, valamint, hogy a nyilvános internethálózaton használt IP cím ne a helyi hálózat tartományán belül legyen. Máskülönben az internetszolgáltató által ellátott tejes terület

láthatja a ”broadcastolt„ nyomtatókat és használhatja is. Ezenkívül a broadcast üzenetek további hálózati forgalmat generálnak, ami esetleg megnövekedett költségeket vonhat maga után. Egy jó megoldás egy csomagszűrő tűzfal, például a SuSEFirewall2 használata. A broadcast üzenetek fogadásához nem kell semmit beállítanunk; a küldéshez is csupán egy úgynevezett broadcast címet kell megadnunk, melyet ezt megelőzően például a YaST2-ben állítottunk be. A helyi és a távoli CUPS démon (a szerver) közötti kommunikációhoz az IPP protokollt használjuk. Újabb típusú hálózati nyomtatók már támogatják az IPP-t. Erről közelebbi információt a nyomtatók gyártóitól vagy a termék kézikönyvében kaphatunk. A Windows 2000 (és újabb) operációs rendszerek szintén tartalmaznak IPP támogatást. Sajnos ez jelenleg még nem működik megbízhatóan Remélhetőleg hamarosan közölnek olyan hibajavítást (Service Pack-et), mely

működővé teszi a windowsos IPP-t. A CUPS szerver beállítása Sok módja van annak, hogy a CUPS rendszer alatt nyomtatókat és démonokat állítsunk be. Megtehetjük ezt parancssori eszközökkel, a YaST2-vel, a KDE Vezérlőközpontjában, webes felületen stb. A következő fejezetekben a parancssori és a YaST2-n keresztüli beállításokkal foglalkozunk. Figyelem A weben keresztüli CUPS beállítások azt a veszélyt hordozzák magukban, hogy a root jelszó kódolatlan formában a hálózatra kerülhet. Ezért, ha weben keresztüli beállítást használunk, csak a http://localhost:631/ címet használjuk, mivel ez a gépen belül marad, és semmiképpen ne adjunk meg a gépen kívülre mutató címeket. Figyelem Ezen okból, a CUPS démonhoz való adminisztrációs felület annyiban van korlátozva, hogy csak localhost-ként lehet hozzáférni. Más címről való hozzáférés kísérlete esetén hibajelentést küld a rendszer. A helyi nyomtatók

adminisztrációjához az szükséges, hogy a helyi gépen fusson egy CUPS démon. Ehhez telepítenünk kell a cups csomagot, valamint a SuSE által generált PPD adatokat, melyek a cups-drivers és a cups-drivers-stp csomagokban találhatók. Ezután elindíthatjuk a 202 A CUPS nyomtatási rendszer A PPD jelentése PostScript Printer Description. Ez a szabvány a különféle nyomtatóopciókat írja le PostScript parancsokkal. A PPD fájlok szükségesek CUPS alatti nyomtató telepítéshez. A SuSE Linuxban már megtalálhatók a PPD fájlok a legtöbb nyomtatóhoz. Ezen kívül a nyomtatók gyártói is egyre gyakrabban kínálják a PostScript nyomtatókhoz tartozó saját PPD fájljaikat például weboldalaikon illetve a meghajtókat tartalmazó CD-ken. (legtöbbször a Windows alatti telepítés résznél). 7 Nyomtatás szervert root-ként az /etc/rc.d/cups restart paranccsal Ha YaST2-vel dolgozunk, a telepítés és a szerver indítása automatikusan történik a CUPS

nyomtatási rendszerként történő kiválasztásával, és legalább egy nyomtató telepítésével. A helyi démont azért is elindíthatjuk, hogy minden, a hálózaton található szerver összes nyomtatóját összegyűjtsük és a helyi gépen rendelkezésre bocsássuk akkor is, ha esetleg nem lenne helyi nyomtató csatlakoztatva gépünkhöz. Ezek után például a KDE és az OpenOffice alatti nyomtatóválasztás a lehető legegyszerűbbé válik. A broadcast üzenetek kibocsátását beállíthatjuk a YaST2-ben, illetve úgy, hogy a /etc/cups/cupsd.conf fájlban a Browsing változót On (alapértelmezett) értékre állítjuk, valamint a BrowseAddress értékét a megfelelő broadcast címre állítjuk (például 192.168255255) Ahhoz, hogy nyomtatási feladatokat is tudjon fogadni a démon, legalább a <Location /printers>, illetve a <Location /> változókban a fogadást engedélyezni kell. Ehhez a Allow From xyz-host.mydomain értéket kell kiegészíteni;

a részletekhez lásd a file:/usr/share/doc/packages/cups/sam.html fájlban található leírást. A démont a /etc/rcd/cups reload paranccsal indíthatjuk újra, természetesen rootként a démont, hogy átvegye az új beállításokat. Hálózati nyomtatók Hálózati nyomtató alatt olyan nyomtatókat értünk, melyekbe bele van építve egy hálózati interfész. Ez lehet gyárilag a nyomtató része, de utólag is hozzákapcsolhatunk ilyesfajta kiegészítést (például HP JetDirect interfész). Akkor is hálózati nyomtatóról beszélünk, ha egy nyomtató egy nyomtatószerver-dobozhoz vagy egy nyomtatószerver funkcionalitással rendelkező útválasztóhoz van kapcsolva. Nem minősülnek azonban hálózati nyomtatónak azok a Windows gépek, melyek saját, helyi nyomtatójukat kiajánlják (az úgynevezett share segítségével). Ennek ellenére, CUPS alatt ezek a nyomtatók is könnyen megszólíthatók. A legtöbb hálózati nyomtató az LPD protokollt használja, az

515-ös kapun keresztül. A hálózati nyomtató meglétét a következő paranccsal ellenőrizhetjük: SuSE Linux – Rendszerkézikönyv 203 netcat -z gépnév.domén 515 && echo ok || echo failed Ha ez sikeres, az lpd://szerver/nyomtatósor eszköz URI (device URI) segítségével beállíthatjuk a nyomtatót. További információk az eszköz URI-hoz a file:/usr/share/doc/packages/cups/sam.html címen találhatók Általában jobb megoldás, ha az arra képes nyomtatókat inkább közvetlenül, az LPD protokollt megkerülve szólítjuk meg. Ezt vagy a 9100-as kapun (HP, Kyocera stb.) vagy a 35-ös kapun (QMS) keresztül tehetjük meg Ebben az esetben az eszköz URI a következő: socket://szerver:kapu/ Windows nyomtatókra való nyomtatás esetén telepítenünk kell a samba-client csomag nevű csomagot. Továbbá be kell állítanunk a Samba rendszert, értjük ezalatt például a megfelelő munkacsoportot (Workgroup) stb. A Windows nyomtatók megszólítása

többféleképpen történhet. A leggyakoribb forma a következő eszköz URI lehet: smb://felhasználó:jelszó@ gépnév/nyomtató. Egyéb megszólítási formákat a file:/usr/share/doc/ packages/cups/sam.html fájlban és a man smbspoolban találhatunk Miután beállítottuk a hálózati nyomtatónkat és egy kisebb helyi hálózat tulajdonosai vagyunk, melyben több Linux gép is helyet kap, akkor előnyös lehet, ha nem kell minden kliensen külön beállítani a hálózati nyomtatót, ha ilyenkor egyszerűen be kell kapcsolni a démon broadcast funkcionalitását (lásd korábban). Ilyenkor a papírméretet és az egyéb beállításokat sem kell minden egyes kliensen megtenni, hanem csak egyszer a szerveren (lásd még a Nyomtatósorok beállítása fejezetet (209. oldal)) Ezeket a beállításokat ugyan helyileg tárolja a szerver, de a CUPS segédeszközök segítségével, illetve bizonyos feltételek mellett az IPP protokollon keresztül, eljutnak a kliensekig. Belső

feladatfeldolgozás Átalakítás PostScriptté Általánosságban véve minden adattípust elküldhetünk egy CUPS démonnak. A legkevesebb probléma egyértelműen a PostScript fájlokkal van. A CUPS úgy alakítja át a különböző adattípusokat PostScriptté, hogy először a fájl típusát a /etc/cups/mime.types fájl alapján azonosítja, majd a /etc/cups/mime convs fájlban rögzített szabályok alapján egy adott átalakítóprogramnak átadja. Ez az átalakítás a hagyományos LPR feladatgyűjtőkkel ellentétben nem a kliensen, hanem a szerveren történik. Ezzel az volt a CUPS tervezőinek a célja, hogy az adott nyomtatóhoz tartozó speciális átalakítások csak az erre hivatott szerveren menjenek végbe. Ennek a módszernek előnyei és hátrányai is vannak 204 A CUPS nyomtatási rendszer 7 Számlázás Egy sor bejegyzései a következőket jelentik: Nyomtatás Ez a PostScript átalakítás a nyomtatási feladat oldalszámát számítja ki. A

módszer egyszerű: a CUPS a pstops programot indítja megfelelő paraméterekkel és természetesen a nyomtatási feladattal az argumentumban: (/usr/lib/cups/ filter/pstops). A program kimenete a /var/log/cups/page log fájlba íródik. Nyomtató neve (például lp), Felhasználónév (például jancsi), Feladatszám Dátum szögletes zárójelek között [ ], A nyomtatási feladat oldalszáma Másolatok száma Egyéb átalakító szűrők Egyéb szűrők is aktívvá válhatnak, ahogy a nyomtatáshoz kiválasztjuk a megfelelő opciókat. Különösen érdekesek lehetnek az alábbiak: psselect: ha a dokumentumnak csak bizonyos oldalait szeretnénk kinyomtatni, ps-n-up: ha több oldalt szeretnénk kicsinyítve egy oldalra nyomtatni. Ezeket a szűrőket nem lehet beállítani. Az opciók aktiválásának leírása a file: /usr/share/doc/packages/cups/sum.html fájlban található Nyomtatófüggő átalakítások Következő lépésben arra a szűrőre kerül sor, amelyik

a nyomtatófüggő adatokat állítja elő (például /usr/lib/cups/filter/cupsomatic). Ez a szűrő meg lehet adva a telepítési PPD fájlban, vagy ha ilyen nincs, a rendszer PostSript nyomtató meglétét feltételezi. Minden eszközfüggő nyomtatási lehetőség, mint például a felbontás és a papírméret, ebben a szűrőben kerülnek feldolgozásra. Semmiképpen nem ajánljuk nyomtatófüggő szűrők sajátkezű megírását. SuSE Linux – Rendszerkézikönyv 205 Átadás a nyomtatóeszköznek Legutoljára egy háttérmodul válik aktívvá. Ez egy speciális szűrő, amelyik a nyomtatóadatokat egy eszköznek vagy egy hálózati nyomtatónak átadja (lásd még /usr/share/doc/packages/cups/overview.html) Ez a háttérmodul lehetővé teszi a kommunikációt a megfelelő eszközzel. Az eszköz pontos mibenléte az eszköz URI-tól függ. A háttérmodul lehet például usb; ilyenkor a /usr/lib/cups/backend/usb kerül meghívásra. Ebben az USB eszköz

a fájlrendszeren keresztül lesz megnyitva, majd az idegen hozzáférés elől le lesz zárva (lock), végül inicializálásra kerül. Ezek után a szűrőre érkező adatokat a szűrő az előkészített USB eszközre továbbküldi. Az adatfolyam megszűnése után az eszközt a rendszer felszabadítja. Jelenleg az alábbi háttérmodulokat tartalmazza a CUPS: párhuzamos, soros, usb, ipp, lpd, http, socket (a CUPS csomagból), valamint canon és epson (a cups-drivers-stp csomagból), és smb (a samba-client csomagból). Szűrés nélkül Ha bármilyen szűrés nélkül akarjuk a nyomtatóra küldeni adatainkat, az lpr parancsot a -l kapcsolóval kell meghívnunk, illetve ha a lp parancsot használjuk, akkor a -oraw kapcsolóra van szükség. Ilyen esetben általában nem működnek a nyomtatók mert a GhostScript értelmező nincs a képben (cupsomatic), illetve más, fontos szűrők nem tudják kifejteni hatásukat. Tippek és trükkök OpenOffice.org A CUPS úgy

támogatja az OpenOffice.org-ból való nyomtatást, hogy például a StarOffice-szal ellentétben nem kell a nyomtatókat egyenként beállítani. Az OpenOffice.org felismeri, hogy fut egy CUPS démon, és automatikusan lekérdezi azt az elérhető nyomtatókról és opciókról. Pótlólagos OpenOfficeorgon belüli nyomtatóbeállításra ezért nincs szükség Windows Egy Windowst futtató számítógéphez kapcsolt nyomtatót a megfelelő eszköz URI-val érhetünk el (smb://szervernév/nyomtatónév, lásd feljebb). Fordított esetben, azaz amikor Windowsból akarunk egy CUPS nyomtatóra nyomtatni, a szerveren a Samba beállítási fájlt kell módosítanunk: a /etc/ samba/smb.conf fájlban kell a printing = cups illetve printing = CUPS sort létrehozni, és a Samba szervert újraindítani. Részletekért lásd még a file:/usr/share/doc/packages/cups/sam.html alatti dokumentációt 206 A CUPS nyomtatási rendszer 7 Nyers nyomtatás Nyomtatás Nyers nyomtatót úgy

tudunk beállítani, hogy a PPD fájlt elhagyjuk, azaz nem illesztünk szűrést és számlázást a nyomtatási folyamatba. Ehhez az szükséges, hogy az adatok pontosan olyan formátumban álljanak rendelkezésre, mint ahogy azt a nyomtató elvárja. Saját tesztjeink alapján állíthatjuk, hogy ez a módszer nem túl megbízható , ezért használatát nem ajánljuk. Egyedi nyomtatási beállítások A beállítási lehetőségeket (például szabványosan más DPI) a ~/.lpoptions fájlban módosíthatjuk. Ha egy ilyen átállított nyomtatót eltávolítunk a szerverről, a különböző eszközök számára (pl. kprinter vagy xpp) továbbra is elérhető marad. Ha már nem is létezik a nyomtató, az eszközökben még akkor is ki lehet választani, ami problémákhoz vezethet. Tapasztalt felhasználók a zavaró opciókat eltávolíthatják az ~/.lpoptions fájlból Kompatibilitás az LPR rendszerrel A CUPS az LPR rendszerekből is tud nyomtatási feladatokat fogadni. A

szükséges beállításokat az /etc/inetd.conf-ban manuálisan, vagy a YaST2 segítségével állíthatjuk be. Egy megoldás, ha a meglévő printer sorból a megjegyzést eltávolítjuk. Ezt például az alábbi módon tudjuk (root-ként) elvégezni: perl -pi -e ’s:^# (printer):$1:’ /etc/inetd.conf rcinetd reload Ha vissza akarunk váltani LPRng-re, a fenti sort el kell látnunk egy megjegyzés jellel: perl -pi -e ’s:^(printer):# $1:’ /etc/inetd.conf rcinetd reload A CUPS nyomtatási rendszer parancssori eszközei A CUPS nyomtatási rendszer parancssori eszközei és a hozzá tartozó kézikönyvlapok a cups-client csomagban találhatók. További dokumentációt a cups csomagban, a /usr/share/doc/packages/cups/ könyvtárban SuSE Linux – Rendszerkézikönyv 207 találunk. Különösen érdekes lehet a CUPS felhasználók kézikönyve (CUPS Software Users Manual) a file:/usr/share/doc/packages/cups/sum.html fájlban, valamint a CUPS adminisztrátorok kézikönyve

(„CUPS Software Administrators Manual”) a file:/usr/share/doc/packages/cups/sam.html fájlban Ezek helyileg futó CUPS démon esetén a http://localhost:631/documentation.html címen elérhetők A CUPS parancssori eszközeinek paraméterezésénél számos esetben fontos lehet a kapcsolók sorrendje. Kétséges esetekben javasolt a mindenkori kézikönyvlap áttanulmányozása. Helyi nyomtatósorok Nyomtatási feladatok előállítása Általános esetben, úgynevezett System V módra nyomtatunk a jancsi@meggyfa:~ > lp -d hnyomtatósor i hfájli paranccsal vagy Berkeley (BSD) módra a jancsi@meggyfa:~ > lpr -Phnyomtatósor i hfájli paranccsal. További információkat a man lpr és a man lp dokumentációban találunk, illetve a CUPS Software Users Manual (file:/usr/share/doc/packages/cups/sum.html#USING SYSTEM) Using the Printing System fejezetében. A -o kapcsolóval számos, a nyomtatás módjára vonatkozó opciót határozhatunk meg. További információkat

szintén a man lpr és a man lp dokumentációkban, illetve a fenti felhasználói kézikönyv „Standard Printer Options” fejezetében olvashatunk (file:/usr/share/doc/packages/cups/sum.html#STANDARD OPTIONS). Állapot kijelzése System V módra a jancsi@meggyfa:~ > lpstat -o hnyomtatósor i -p hnyomtatósor i paranccsal, vagy „Berkeley (BSD) módra” a 208 A CUPS nyomtatási rendszer parancssori eszközei jancsi@meggyfa:~ > lpq -Phnyomtatósor i A nyomtatósor nevének megadása híján minden nyomtatósor megjelenítésre kerül. Az lpstat -o parancs minden aktív nyomtatási feladatot megjelenít hnyomtatósori-hfeladatszámi formában. Az lpstat -l -o hnyomtatósor i -p hnyomtatósor i parancs több információt jelenít meg, valamint az lpstat -t illetve az lpstat -l -t az összes, rendelkezésre álló információt megmutatja. Nyomtatás paranccsal jeleníthetjük meg a nyomtatósorok állapotát. 7 További információt a szokásos man lpq és man

lpstat kézikönyv lapokban, illetve a „Using the Printing System” dokumentáció (file:/usr/share/doc/packages/cups/sum.html#USING SYSTEM) emphCUPS Software Users Manual fejezetében találunk. Nyomtatási feladatok törlése System V módra a jancsi@meggyfa:~ > cancel hnyomtatósor i-hfeladatszám i vagy „Berkeley módra” az jancsi@meggyfa:~ > lprm -Phnyomtatósor i hfeladatszám i parancs törli az adott feladatszámú nyomtatási feladatot a megadott nyomtatósorból. További információt a szokásos man lprm és man cancel kézikönyv lapokban, illetve a „Using the Printing System” dokumentáció (file:/usr/share/doc/packages/cups/sum.html#USING SYSTEM) CUPS Software Users Manual fejezetében találunk. Nyomtatósorok beállítása A CUPS Software Users Manual dokumentáció Standard Printer Options fejezete (file:/usr/share/doc/packages/cups/sum.html#STANDARD OPTIONS) leírja a hardverfüggetlen szabványlehetőségeket a nyomat fajtájának

meghatározására, illetve a Saving Printer Options and Defaults fejezet (file:/usr/share/doc/packages/cups/sum.html#SAVING OPTIONS) a beállítási lehetőségek tárolásáról tartalmaz leírást. A nyomat fajtájára vonatkozó nyomtatófüggő lehetőségek az adott nyomtatósorhoz tartozó PPD fájlokban határozhatók meg, és az SuSE Linux – Rendszerkézikönyv 209 jancsi@meggyfa:~ > lpoptions -p hnyomtatósor i -l paranccsal listázható ki az alábbi formában: Option/Text: Wert Wert Wert . ahol a lehetőség értéke előtti ‘*’ jel az aktuális beállítást jelöli. Példa: PageSize/Page Size: A3 *A4 A5 Legal Letter Resolution/Resolution: 150 *300 600 A fenti példában a PageSize (oldalméret) lehetőség aktuálisan A4 értékre, a Resolution (felbontás) 300 értékre van beállítva. A következő paranccsal tetszőleges értéket is beállíthatunk: jancsi@meggyfa:~ > lpoptions -p hnyomtatósor i -o lehetőség=érték Így tudjuk a

fenti példában a papírméretet amerikai formátumra átállítani: jancsi@meggyfa:~ > lpoptions -p hnyomtatósor i -o PageSize=Letter Ha egy szokványos felhasználó kiadja az lpoptions parancsot, a beállítások alapértelmezetté válnak, de csak az adott felhasználóra, mivel a vonatkozó beállítások a felhasználó ~/.lpoptions fájljában tárolódnak Ha a rendszergazda (root) adja ki az lpoptions parancsot, a beállítások minden lokális felhasználó számára alapértelmezetté válnak, mert ilyenkor a tárolás helye a /etc/cups/lpoptions fájl. A PPD fájlok nem változnak Globálisan (az egész hálózatra nézve) csak akkor változnak meg az értékek, ha az adott nyomtatósorhoz tartozó PPD fájlban változtatunk. Ekkor minden felhasználó a hálózaton, aki abba a nyomtatósorba nyomtat, érintve lesz a változások által. Egy nyomtatósor PPD fájljának szabványbeállításait a rendszergazda az meggyfa:~ # lpadmin -p hnyomtatósor i -o

lehetőség=érték paranccsal változtathatja meg, így a fenti példa szerint az meggyfa:~ # lpadmin -p hnyomtatósor i -o PageSize=Letter parancs állítja be a papírméretet Letter értékre megfelelő nyomtatósor számára, az egész hálózatban. 210 A CUPS nyomtatási rendszer parancssori eszközei 7 Távoli nyomtatósorok Itt csak a legalapvetőbb parancsokkal foglalkozunk. További lehetőségekért olvassuk el a Helyi nyomtatósorok fejezetet (208. oldal) Nyomtatás A print-server értéket a nyomtatószerver nevére vagy IP címére kell változtatni, illetve a hnyomtatósori egy, a nyomtatószerveren lévő sor kell legyen. Nyomtatási feladatok előállítása System V módra az jancsi@meggyfa:~ > lp -d hnyomtatósor i -h print-server hfájli paranccsal, illetve Berkeley (BSD) módra az jancsi@meggyfa:~ > lpr -Phnyomtatósor i@print-server hfájli paranccsal állíthatunk elő nyomtatási feladatot a megadott nyomtatósor számára, az

adott nyomtatószerveren. Ennek feltétele, hogy a nyomtatószerver úgy legyen beállítva, hogy a felhasználó a szerver nyomtatósoraiba nyomtatni tudjon. CUPS esetében nem ez az alapértelmezett eset, de a YaST2 nyomtatóbeállító moduljával ezt megfelelően beállíthatjuk. Állapot kijelzése System V módra az jancsi@meggyfa:~ > hnyomtatósor i lpstat -h print-server -o hnyomtatósor i -p paranccsal megjeleníthetjük egy nyomtatószerver adott nyomtatósorának állapotát. Nyomtatási feladatok törlése System V módra a jancsi@meggyfa:~ > hfeladatszám i cancel -h print-server hnyomtatósor i- paranccsal törölhetünk egy adott feladatszámú nyomtatási feladatot az adott szerver adott nyomtatósorából. SuSE Linux – Rendszerkézikönyv 211 Hibaelhárítás a CUPS eddig megismert parancsaival A hibaelhárítás a Hibaelhárítási lehetőségek az LPRng használatakor fejezetben (194. oldal) leírtakhoz hasonlóan mehet végbe, azzal a

kivétellel, hogy CUPS esetén a második lépésben más parancsok szükségesek: 1. Vegyünk ki minden papírt a nyomtatóból, hogy a nyomtatás leálljon 2. Ellenőrizzük az lpstat -o (illetve az lpstat -h print-server -o) paranccsal, hogy melyik a kérdéses nyomtatósor, és töröljük a sorból a feladatot a cancel hnyomtatósor i-hfeladatszámi (illetve a cancel -h print-server hnyomtatósor i-hfeladatszámi) paranccsal. 3. Használjuk igény esetén az fuser parancsot 4. Végül indítsuk újra a nyomtatót (kapcsoljuk ki, majd újra be) A Ghostscript által nyújtott lehetőségek A Ghostscript képes PostScript és PDF fájlokból olyan adatot előállítani, amit nem PostScript nyomtatókon is ki lehet nyomtatni. A Ghostscript ehhez a feladathoz számos különböző meghajtót tartalmaz, amiket eszközöknek (angolul Devices) is nevezzük. A Ghostscript az átalakításnál két lépésben dolgozik: 1. A Ghostscript először raszterizálja az adatokat, azaz

képpontokra bontja fel a PostScript nyelven leírt grafikát. Ez a lépés még teljesen független a mindenkori Ghostscript meghajtótól. Minél finomabb a raszter (minél nagyobb a felbontás), annál jobb lesz a nyomtatás minősége. Ha azonban a felbontást függőlegesen és vízszintesen megduplázzuk, akkor négyszer annyi raszterpont keletkezik, így a nyomtatás több memóriát és számítási művelet igényel. 2. A Ghostscript átalakítja a raszterpontokra felbontott grafikát a megfelelő, végleges formátumba (például az adott nyomtatónyelvre). A Ghostscript nem csak nyomtatómeghajtókat tartalmaz, hanem a PostScript adatokat a képernyőn is meg tudja jeleníteni, sőt PDF fájlok létrehozásához is használhatjuk. 212 A Ghostscript által nyújtott lehetőségek A Ghostscript azonban még számos további képességgel is dicsekedhet, főleg a parancssorhoz nagyon sok opciókat kínál fel. Legfontosabb dokumentációja a man gs, illetve a

Ghostscript meghajtók listája a file:/usr/share/doc/packages/ghostscript/catalog.devices 7 Nyomtatás Ha a képernyőn szeretnénk megtekinteni egy PostScript fájlt, akkor azt a gv (gv csomag) vagy a kghostview programmal tehetjük meg. Ilyenkor a Ghostscript az x11 meghajtót használja. fájlban és az alábbi helyeken: file:/usr/share/doc/packages/ghostscript/doc/index.html file:/usr/share/doc/packages/ghostscript/doc/Use.htm file:/usr/share/doc/packages/ghostscript/doc/Devices.htm file:/usr/share/doc/packages/ghostscript/doc/hpdj/gs-hpdj. txt file:/usr/share/doc/packages/ghostscript/doc/hpijs/hpijs readme.html file:/usr/share/doc/packages/ghostscript/doc/stp/README Ha egy terminálablakban egyszerűen kiadjuk a gs parancsot, akkor egy üres ablak és egy GS> parancsértelmező jelenik meg, amelyből a quit paranccsal tudunk kilépni. Ha a parancsot a gs -h opcióval indítjuk, akkor fellistázza a jelenleg támogatott meghajtókat és a lehetséges opciókat. Vannak

általános meghajtók is, mint például a uniprint vagy az stp, melyek számos nyomtatót támogatnak. A uniprint és az stp meghajtó által támogatott nyomtatókról a file:/usr/share/doc/packages/ghostscript/catalog.devices fájlban olvashatunk bővebben. Példák a Ghostscript-tel történő munkához Számos PostScript fájl található a következő alkönyvtárban: /usr/share/ doc/packages/ghostscript/examples. Ezek közül a /usr/share/doc/packages/ghostscript/examples/ colorcir.ps egyike azon fájloknak, melyek különösen alkalmas a nyomtató tesztelésére. X11 kimenet Grafikus felület alatt a gs paranccsal tudjuk megjeleníteni PostScript adatokat: jancsi@meggyfa:~ > gs -r60 /usr/share/doc/packages/ghostscript/examples/colorcir.ps SuSE Linux – Rendszerkézikönyv 213 A parancsot egy sorban kell kiadni visszafordított perjel nélkül (‘’). A -r opcióval meg tudjuk adni a felbontást. A képernyőn történő megjelenítésnél erre rendszerint

nincs szükség, próbaképpen azonban kiprobálhatjuk például a -r75 értékkel. A programból való kilépéhez,    írjuk be a terminálablakba, hogy quit, vagy nyomjuk meg a,  Ctrl  + C billentyűkombinációt. Adatok átalakítása PCL5e formátumba PostScript fájlok PCL-5 vagy PCL-6-os nyomtatók számára érthető formátumba való átalakítása például a következő paranccsal történik: jancsi@meggyfa:~ > gs -q -dNOPAUSE -dSAFER sOutputFile=/tmp/out.prn -sDEVICE=ljet4 -r300x300 /usr/share/doc/packages/ghostscript/colorcir.ps quitps ahol a parancsot egy sorba kell beírni, a visszafordított per jellel együtt (‘’). Továbbá feltételezzük, hogy a /tmp/out.prn fájl még nem létezik Adatok átalakítása PCL3 formátumba Egy HP DeskJet (színes nyomtató, PCL 3) számára, egy PostScript fájlt a megfelelő formátumra a következő parancsok egyikével alakíthatunk: jancsi@meggyfa:~ > gs -q -dNOPAUSE -dSAFER sOutputFile=/tmp/out.prn

-sDEVICE=hpdj -r300x300 -sModel=500 -sColorMode=mono -dCompressionMethod=0 /usr/share/doc/packages/ghostscript/examples/colorcir.ps quit.ps jancsi@meggyfa:~ > gs -q -dNOPAUSE -dSAFER sOutputFile=/tmp/out.prn -sDEVICE=cdjmono -r300x300 /usr/share/doc/packages/ghostscript/examples/colorcir.ps quit.ps jancsi@meggyfa:~ > gs -q -dNOPAUSE -dSAFER sOutputFile=/tmp/out.prn -sDEVICE=cdj500 -r300x300 /usr/share/doc/packages/ghostscript/examples/colorcir.ps quit.ps jancsi@meggyfa:~ > gs -q -dNOPAUSE -dSAFER sOutputFile=/tmp/out.prn -sDEVICE=cdj550 -r300x300 /usr/share/doc/packages/ghostscript/examples/colorcir.ps quit.ps 214 A Ghostscript által nyújtott lehetőségek 7 Adatok átalakítása ESC/P, ESC/P2 illetve ESC/P raszter formátumba ESC/P2, ESC/P vagy ESC/P tűs mátrixnyomtató esetében a PostScript fájlt a következő parancsok egyikével alakíthatunk a nyomtatóknak megfelelő formátumra: Nyomtatás (Minden parancsot egybe írjuk, ‘’ nélkül.)

jancsi@meggyfa:~ > gs -q -dNOPAUSE -dSAFER sOutputFile=/tmp/out.prn @stcanyupp /usr/share/doc/packages/ghostscript/examples/colorcir.ps quit.ps jancsi@meggyfa:~ > gs -q -dNOPAUSE dSAFER -sOutputFile=/tmp/out.prn sDEVICE=stcolor -r360x360 -dBitsPerPixel=1 sDithering=gsmono -dnoWeave -sOutputCode=plain /usr/share/doc/packages/ghostscript/examples/colorcir.ps quit.ps Itt láthatjuk a különbséget azon parancs esetén, ha egy uniprint meghajtót használunk és mikor egyet a többi Ghostscript meghajtó közül. Mivel minden meghajtó-specifikus paraméter adott az uniprint paraméter fájlban, többé nincs szükség meghajtó-specifikus paraméterek megadására, ellentétben más Ghostscript meghajtókkal. Közvetlen nyomtatás Minden fenti parancs után a nyomtatónak megfelelő adat a /tmp/out.prn fájlban helyezkedik el, amelyet a root már közvetlenül a nyomtatóra küldhet a következő paranccsal. jancsi@meggyfa:~ > cat /tmp/out.prn >/dev/lp0 .

feltételezve, hogy a nyomtató az első párhuzamos kapura kapcsolódik (/dev/lp0) Az a2ps program Ha parancssorból ki szeretnénk nyomtatni egy szöveges (ASCII) fájlt a Ghostscript segítségével, akkor először át kell alakítanunk azt PostScript SuSE Linux – Rendszerkézikönyv 215 formátumba, mivel a Ghostscript bemenetként egy PostScript fájlt vár. Ehhez az átalakításhoz használhatjuk az a2ps programot, mely az a2ps csomagban található. Az a2ps számos lehetőséget nyújt arra, hogy egy egyszerű szövegből jó minőségű Postscript fájlt készítsünk. Ehhez ismernünk kell a program egyes parancssori opcióit, melyekről a program kézikönyvlapjában (man a2ps) olvashatunk bővebben. A program teljes dokumentációja az a2ps információs oldalán található, melyet például a SuSE segítségnyújtó központon keresztül érhetjük el. PostScript adatok átalakítása a psutils segédeszközökkel PostScript adatok átalakításához

először létre kell hoznunk azokat. Ez Linux alatt nagyon egyszerű, hiszen csak ki kell választanunk a ‘Nyomtatás fájlba’ pontot a megfelelő alkalmazás ‘Nyomtatás’ menüjében (például /tmp/in.ps) Ha szöveges fájlból szeretnénk PostScript adatot készíteni, akkor használhatjuk hozzá az a2ps parancsot is. Ha nem vagyunk biztosak benne, hogy egy adott fájl valóban PostScript adatokat tartalmaz, ellenőrizzűk a file /tmp/in.ps paranccsal. A PostScript adatok átalakításához szükséges programok a psutils csomagban találhatók. A csomagban található alkalmazások közül a pstops parancs nyújtja a legtöbb lehetőséget. Használata előtt mindenképpen vessünk egy pillantást a kézikönyvlapjára (man pstops). Mivel a psutils csomag alapértelmezett telepítéskor nem kerül telepítésre, telepítsük a YaST2 segítségével. Tájékoztatás Az alábbbi parancsok csak akkor működnek, ha olyan PostScript fájlunk van, amely lehetővé

teszi az átalakítást. A legtöbb fájl ugyan megfelel ennek a feltételnek, azonban bizonyos programok olyan PostSript fájlokat szoktak generálni, melyek kutólagos átalakítása már nem lehetséges Tájékoztatás psnup Az alábbi paranccsal úgy kerül nyomtatásra a tesztfájlunk, hogy laponként két oldal kerül nyomtatásra, egymás mellett: 216 PostScript adatok átalakítása a psutils segédeszközökkel jancsi@meggyfa:~ > psnup -2 /tmp/in.ps /tmp/outps pstops Nyomtatás Mivel így egy oldal lényegesen több nyomtatandó adat tartalmaz, előfordulhat hogy régebbi, illetve kevés memóriával rendelkező PostScript nyomtatók ezt a feladatot már nem tudják teljesíteni. 7 A nyomtatásra kerülő adatok elhelyezését az oldalon például az alábbi paranccsal tudjuk meghatározni: jancsi@meggyfa:~ > /tmp/out.ps pstops ’1:0@0.8(2cm,3cm)’ /tmp/inps Itt a nyomtatott adatok 0.8-szoros „nagyításban” kerülnek nyomtatásra, azaz egy

tulajdonképpen A4-es oldal (21x30 cm) 17x24 cm-en kerül nyomtatásra. A (2cm,3cm) paraméter azt határozza meg, hogy az oldal ne a lap közepén, hanem jobbra 2 cm-rel, felfelé pedig 3 cm-rel elcsúztatva jelenjen meg a nyomtatón. Ezzel a paranccsal már erősen kicsinyíthatjuk a nyomtatandó adatokat, ami például akkor hasznos, ha olyan programból szeretnénk nyomtatni, ami viszonylag optimista beállításokkal dolgozik a mi nyomtatónkhoz képest (nem fér ki a jobb széle stb.) Az alábbi paranccsal egymás mellett két oldalt tudunk kinyomtatni egyszerre: jancsi@meggyfa:~ > /tmp/out1.ps pstops ’1:0@0.8(2cm,3cm)’ /tmp/inps jancsi@meggyfa:~ > psnup -2 /tmp/out1.ps /tmp/outps Ilyenkor azonban viszonylag a két oldal közötti margó, így az egyes opciókon még csiszolnunk kell, hogy az oldalak elhelyezése is megfelelő legyen: jancsi@meggyfa:~ > pstops ’2:0L@0.6(20cm,2cm)+1L@06(20cm,15cm)’ /tmp/in.ps /tmp/outps Fenti parancsot egy sorban kell

kiadnunk, visszafordított per jel (‘’) nélkül. A pstops ’2:0L@0.6(20cm,2cm)+1L@06(20cm,15cm)’ parancs részletesen: 2:0 . +1 azt jelenti, hogy 2-2 oldal kerül egymás mellé, ahol az egyes oldalak modulo 2-ként kerülnek számozásra: 0. oldal (modulo 2) és 1 oldal (modulo 2) SuSE Linux – Rendszerkézikönyv 217 0L@0.6(20cm,2cm) azt jelenti, hogy a 0 oldal az órával ellentétes irányban 90 fokkal el lesz forgatva, a 0.6-os szorzóval nagyítva, jobbra 20 centivel és felfelé 2 centivel eltólva. 1L@0.6(20cm,15cm) azt jelenti, hogy az 1 oldal az órával ellentétes irányban 90 fokkal el lesz forgatva, a 0.6-os szorzóval nagyítva, jobbra 20 centivel és felfelé 15 centivel eltólva. Egy kis elmélet: A PostScript a lap bal alsó sarkát tekinti meg origónak, itt a + jellel kijelölve. A képen egy 0. oldal látható (modulo 2) három sor szöveggel: + Ha elforgatjuk 90 fokkal, így néz ki: + Miután pedig 0.6 szorosára nagyítottuk: 218 PostScript

adatok átalakítása a psutils segédeszközökkel 7 Nyomtatás + Eltoljuk 20 centivel jobbra és 2 centivel felfelé: + Ráteszünk egy első odalt (modulo 2) két sor szöveggel: + Elforgatjuk azt is 90 fokkal: + SuSE Linux – Rendszerkézikönyv 219 Kicsinyítjuk 60%-ra: + Végül az első oldalt is eltoljuk 20 centivel jobbra és 15 centivel felfelé: + psselect A psselect paranccsal ki tudunk választani egyes oldalakat. Az alábbi paranccsal jancsi@meggyfa:~ > psselect -p2,3,4,5 /tmp/in.ps /tmp/outps illetve jancsi@meggyfa:~ > psselect -p2-5 /tmp/in.ps /tmp/outps a /tmp/in.ps fájl 2, 3, 4 és 5 oldala kerül az új, /tmp/outps kimeneti fájlba. jancsi@meggyfa:~ > psselect -p1,2,3,4 /tmp/in.ps /tmp/outps illetve jancsi@meggyfa:~ > psselect -p-4 /tmp/in.ps /tmp/outps ➝ az első 4 oldal 220 PostScript adatok átalakítása a psutils segédeszközökkel jancsi@meggyfa:~ > psselect -p2,2,2,5,5 /tmp/in.ps /tmp/outps

jancsi@meggyfa:~ > psselect -p3- /tmp/in.ps /tmp/outps ➝ a harmadik oldaltól az utolsó oldalig jancsi@meggyfa:~ > psselect -p 1 /tmp/in.ps /tmp/outps Nyomtatás ➝ háromszor a második és kétszer az ötödik oldalt 7 ➝ csak az utolsó oldal jancsi@meggyfa:~ > psselect -p 4- 2 /tmp/in.ps /tmp/outps ➝ hátulról a negyedik az utolsó előtti oldalig jancsi@meggyfa:~ > psselect -r -p3-5 /tmp/in.ps /tmp/outps ➝ a harmadik, negyedik és ötödik oldal, visszafordított sorrendben jancsi@meggyfa:~ > psselect -r -p- /tmp/in.ps /tmp/outps ➝ az összes oldal fordított sorrendben PostScript fájlok megtekintése a képernyőn A /tmp/out.ps kimeneti fájlt grafikus felület alatt a például a gs -r60 /tmp/out.ps paranccsal tudjuk megtekinteni, ahogyan azt fent   említettük. Az oldalak közötti lapozáshoz nyomnunk kell az ↵  billentyűt. Annál kényelmesebb megoldást nyújtanak a gv (gv csomag) és a kghostview programok, melynek

segítségével nem csak nagyítva vagy kicsinyítve tudjuk megjeleníteni az adott fájlt (amelynek felbontása és mérete természetesen ezzel nem változik), hanem el is tudjuk forgatni azt és ki tudjuk választani a nyomtatásra kerülő oldalakat. ASCII szövegkódolás Az egyszerű szövegfájlokban minden egyes betűnek megfelel egy numerikus kód. A betűket és a nekik megfelelő kódokat a kódtábla rögzíti Ha az alkalmazás által használt kódtábla és a nyomtató kódtáblája egyezik, akkor ugyanaz a betű fog megjelenni nyomtatásban, mint ami a képernyőn található. A szabványos betűkészletek csak a 0 és 255 értékek közötti kódokat tartalmazzák. SuSE Linux – Rendszerkézikönyv 221 Ezek közül a 0 és 127 közé eső karakterkódok az úgynevezett ASCII készletet alkotják, amely minden elterjedt kódlapon azonos betűket jelöl. (tartalmazza az összes „normál” betűt, a számokat és néhány speciális karaktert, de nem

tartalmazza az adott ország betűkészletében szereplő speciális írásjeleket). Az ASCII készlet 128 és 255 közé eső értékei az ország-specifikus karakterek számára vannak fenntartva, amilyenek például a speciális ékezetes magánhangzók. Sajnos a különféle nyelvekben fellelhető speciális betűk száma több, mint 128. Éppen ezért a 128 és 255 kódok közé eső betűk nem azonosak országonként. E helyett ugyanaz a kód más és más betűt jelenít meg az adott nyelv beállításainak megfelelően. A nyugat-európai nyelvek által használt kódlap az ISO-8859-1 (vagyis Latin 1) szabványban került rögzítésre, az ISO-8859-2 (vagyis Latin 2) a közép- és keleteurópai nyelvek kódlapja. A 241-es kód (oktális), például a spanyol nyelvben egy fordított felkiáltójel (ISO-8859-1), viszont az ISO-8859-2 kódlap szerint ez egy nagy A betű vonallal (ogonek). Az ISO-8859-15 alapjaiban megegyezik az ISO-8859-1 kódlappal, de például

tartalmazza az euró jelét, amely a 244-es kódhoz lett hozzárendelve. A német umlautok ellenben az ISO-8859-1 és ISO8859-2 kódlapokban azonosak, ezért ha éppen német nyelven gépelünk, nem kell megkülönböztetni a kódlapokat, feltéve ha nincs szükségünk az euró-jelre. Példaszöveg Az alábbi parancsokat egyetlen sorba kell írni, a ‘’-jelek kihagyásával, akkor (és csak akkor) ha azok a sor végére esnek. Hozzunk létre egy példa szövegfájlt az alábbiakkal: jancsi@meggyfa:~ > echo -en ” Code 241(octal): 241 Code 244(octal): 244 f” >example A példa megjelenítése különféle kódlapokkal X felület alatt adja ki a következő parancsokat három terminálban: jancsi@meggyfa:~ > xterm -fn -*------14------iso8859-1 -title iso8859-1 & jancsi@meggyfa:~ > xterm -fn -*------14------iso885915 -title iso8859-15 & 222 ASCII szövegkódolás Most a következő parancsokkal jelenítsük meg a példafájlt, egyenként minden

terminálban: jancsi@meggyfa:~ > cat example 7 Nyomtatás jancsi@meggyfa:~ > xterm -fn -*------14------iso8859-2 -title iso8859-2 & Az „iso8859-1” terminálban a 241-es kódú betű mint fordított (spanyol) felkiáltójel, a 244-es kód mint általános pénznem jelölés jelenik meg. Az „iso8859-15” terminálban a 241-es kódú betű mint fordított (spanyol) felkiáltójel, a 244-es kód mint euró-jel jelenik meg. Az „iso8859-2” terminálban a 241-es kód nagy A betű vonással (ogonek), és a 244-es kód az általános pénznem jele. Azon tény miatt, hogy a karakterkódolás fix hosszúságú készletekben van megadva, nem lehetséges az összes ország-specifikus betű egymás melletti megjelenítése ezen a módon. Például az A vonással ábrázolt változata nem jelenhet meg együtt az euró jellel azonos szövegfájlon belül. További információkért (beleértve minden betű megfeleltetését), tekintsük meg a megfelelő kézikönyv

lapot minden terminálon, i. eaz man iso 8859-1 az „iso8859-1” terminálon, az man iso 8859-15 az „iso8859-15” terminálon, és az man iso 8859-2 az „iso8859-2” terminálon. A példa kinyomtatása különböző kódlapokkal Amikor kinyomtatásra kerülnek az ASCII szövegfájlok, például az example fájl, a megadott nyomtatási sorban beállított kódlap lesz használatban. A szövegszerkesztők dokumentumaira ez a kódlap nincs kihatással, mivel azok nyomtatási kimenete PostScript formátumú (és nem ASCII). Ezek alapján, amikor a fenti example fájlt nyomtatjuk, az abban szereplő betűk a nyomtatórendszerben beállított kódlappal jelennek meg. Természetesen az example fájlt előzőleg PostScript formába lehet kódolni, így a kívánt kódlap megadható. A következő a2ps parancsok is ezt teszik: jancsi@meggyfa:~ > 1.ps example a2ps -1 -X ISO-8859-1 -o example-ISO-8859- jancsi@meggyfa:~ > 15.ps example a2ps -1 -X ISO-8859-15 -o

example-ISO-8859- jancsi@meggyfa:~ > 2.ps example a2ps -1 -X ISO-8859-2 -o example-ISO-8859- SuSE Linux – Rendszerkézikönyv 223 Ha ezután nyomtatjuk ki a example-ISO-8859-1.ps, example-ISO-8859-15.ps, és example-ISO-8859-2ps fájlokat, azok különböző kódlappal jelennek meg, ahogy az előzőekben az a2ps paranccsal megadtuk. Nyomtatás TCP/IP hálózatban Részletes dokumentációt az LPRng nyomtatórendszerről az LPRng-Howto leírásban olvashatunk, az file:/usr/share/doc/packages/lprng/LPRng-HOWTO.html fájlban, a CUPS nyomtatórendszerről a CUPS szoftver adminisztrátorok kézikönyvben, az file:/usr/share/doc/packages/cups/sam.html fájlban Terminológia Nyomtatószerver A „nyomtatószerveren”, mi egy teljes, dedikált nyomtatással foglalkozó gépet értünk, a szükséges CPU erőforrással, memóriával és merevlemez tárhellyel ellátva. Nyomtatószerver-doboz, hálózati nyomtató A „nyomtatószerver-dobozon”, mi egy olyan gépet

értünk, amely viszonylag kevés erőforrással rendelkezik és mint TCP/IP hálózati kapcsolattal és egy helyi nyomtató porttal van felszerelve. Ebbe tartoznak az „útválasztó dobozok (router boxes)” is, amelyeknek beépített nyomtató csatlakozójuk van, és hasonlóképpen viselkednek. A „hálózati nyomtató” név alatt olyan nyomtatóeszközt értünk, melynek saját TCP/IP kapcsolata van – alapvetően egy nyomtató integrált nyomtatószerver-dobozzal. Éppen ezért a hálózati nyomtatók és nyomtatószerver-dobozok kezelése és beállítása egyazon módon történik. Van egy fontos dolog, ami megkülönbözteti a hálózati nyomtatókat és a nyomtatószerver-dobozokat a valódi nyomtatószerverektől. Ahogy speciális esetekben lehetnek nagy nyomtatóeszközök, amelyekben teljes nyomtatószerver található, amely a hálózati elérést biztosítja. De ezeket sosem hívhatjuk nyomtatószervereknek, mert a kliensek a nyomtatóval csak a szerveren

keresztül beszélgetnek (és nem direkt módon). 224 Nyomtatás TCP/IP hálózatban 7 TCP/IP nyomtatási protokollok Ennek megfelelően a YaST2 nyomtatóbeállítója a kiválasztandó protokollt kérdezi meg és nem a hardver eszközt a hálózati nyomtatás beállításakor. Nyomtatás Alább található a különféle nyomtatási módszerek listája amely a TCP/IP hálózati nyomtatás eltérő megvalósításait tükrözi. A különbség nem feltétlenül a hardvertől függ, hanem főleg a protokollok által nyújtott szolgáltatásoktól. Nyomtatás az LPD protokollon keresztül A nyomtatási munkák egy távoli sornak továbbítódnak az LPD protokollon keresztül. Hogy ez lehetővé váljon, a protokollnak támogatottnak kell lennie mind kliens, mind szerver oldalon. Kliens oldal LPRng Az LPRng rendszer lpd démonja támogatja az LPD protokoll használatát. Távoli nyomtatáshoz a helyi sort be kell állítani arra, hogy a helyi lpd továbbítsa a nyomtatási

feladatot a távoli sorba, az LPD protokoll használatával. Az LPRng lehetővé teszi a hálózati nyomtatást helyi futó lpd nélkül is. Ezzel a módszerrel az lpr parancs, amely az lprng csomag része, a protokollt a nyomtatási feladat direkt átirányítására használja a távoli sorba. CUPS A CUPS támogatja az LPD protokollt, de csak a CUPS démonon cupsd keresztül. Ennek bekapcsolására a helyi sort be kell állítani és a nyomtatási feladat továbbításra kerül a helyi cupsd által a távoli sorba az LPD protokoll használatával. Szerver oldal Nyomtatószerver A nyomtatót rá kell közvetlenül csatlakoztatni a nyomtatószerverre és a nyomtatószervernek támogatnia kell az LPD protokollt. Hálózati nyomtató vagy nyomtatószerver-doboz A nyomtatószerver-doboznak vagy hálózati nyomtatónak támogatnia kell az LPD protokollt (alapesetben ez a normális). Nyomtatása az IPP protokollon keresztül A nyomtatási feladatok továbbításra kerülnek a távoli sorba

az IPP protokoll használatával. Hogy ezt lehetővé tegyük, a protokoll használatát mindkét oldalnak támogatnia kell. SuSE Linux – Rendszerkézikönyv 225 Kliens oldal LPRng Az LPRng jelenleg nem támogatja az IPP protokollt. CUPS A CUPS az IPP protokollt a cupsd démonon keresztül támogatja. Ehhez egy helyi sort be kell állítani, amelyet a cupsd használ a nyomtatási feladatok átirányítására az IPP protokoll segítségével. A CUPS lehetővé teszi a hálózati nyomtatást helyi cupsd használata nélkül. Ezzel a módszerrel, az lp paranccsal, amely a cups-client csomag része, vagy az xpp vagy kprinter (KDE nyomtatóprogram) programokkal lehetővé válik a nyomtatási feladat IPP protokollon keresztüli átirányítása. Szerveroldal Nyomtatószerver A nyomtatót a nyomtatószerverre kell csatlakoztatni, és a nyomtatószervernek támogatnia kell az IPP protokollt. Hálózati nyomtató vagy nyomtatószerver-doboz A nyomtatószerver-doboznak vagy

hálózati nyomtatónak támogatnia kell az IPP protokollt, amely jelenleg csak néhány eszközben található meg. Direkt távoli nyomtatás TCP kapcsolaton keresztül Ezzel a módszerrel nincs nyomtatási feladat, amelyet a távoli sorba kell küldeni, mivel nincsen protokoll a nyomtatási feladatok sorbarendezésére a művelet végrehajtásakor (ellentétben az LPD vagy IPP protokollokkal). E helyett a nyomtató specifikus adatok egy távoli TCP kapura érkeznek a TCP kapcsolaton keresztül, amelyet mind a kliens oldalnak, mind a szerver oldalnak támogatnia kell. Kliens oldal LPRng/lpdfilter Az lpd démon, amely az LPRng nyomtatási rendszer része, támogatja a folyamszerű adatátvitelt egyenesen TCP kapcsolatokon keresztül. Hogy ezt lehetővé tegyük, léteznie kell egy helyi sornak amelyet a helyi lpd használ az adatok konvertálására minden egyes nyomtatási feladatot átalakítva a nyomtató-specifikus formátumba (az lpdfilter segítségével). Ezután átküldi a

távoli TCP kapura a TCP kapcsolaton keresztül. 226 Nyomtatás TCP/IP hálózatban 7 Nyomtatás Az LPRng-vel lehetséges mindez egy helyi lpd használata nélkül is. Ez azt feltételezi, hogy az lpr parancsot (az lprng csomagban található) a -Y opcióval hívjuk meg, az adatok egyenes átirányításához. Részletesebben erről a man lpr parancs segítségével olvashatunk. – Jegyezzük meg hogy ebben az esetben nincs nyomtatószűrő, amely azt jelenti, hogy a nyomtatott adatnak nyomtató-specifikus formátumúnak kell lennie. CUPS A CUPS támogatja az adatok direkt továbbítását TCP kapcsolaton keresztül, de csak ha a cupsd fut. Ennek a módszernek a használatához is szükség van egy helyi sorra, amelyet a helyi cupsd használ minden egyes nyomtatási feladat konvertálására, ezután továbbküldve azokat a TCP kapcsolaton keresztül. Szerver oldal Hálózati nyomtató vagy nyomtatószerver-doboz A nyomtatószerver-dobozok és a hálózati nyomtatók

rendesen is nyitva tartanak egy TCP kaput a nyomtatóspecifikus adatfolyam fogadására. A HP hálózati nyomtatók, és néhány HP JetDirect nyomtatószerver-doboz, a 9100-as kaput használja alapértelmezettként az ilyenfajta adatok fogadására, és a két vagy három nyomtató csatlakozót tartalmazó JetDirect nyomtatószerver dobozok a 9100, 9101, és 9102 kapukat figyelik. Jó néhány egyéb nyomtatószerver-doboz ugyanezeket a címeket használja. Ha nem vagyunk benne biztosak, nyugodtan érdeklődhetünk a gyártónál vagy a nyomtató kézikönyvében megkereshetjük az erre vonatkozó részt (raw socket printing). További információk az LPRng-Howto-ban, az file:/usr/share/doc/packages/lprng/LPRng-HOWTO. html fájlban, az alábbi bekezdésekben olvashatók: file:/usr/share/doc/packages/lprng/LPRng-HOWTO. html#SECNETWORK file:/usr/share/doc/packages/lprng/LPRng-HOWTO. html#SOCKETAPI file:/usr/share/doc/packages/lprng/LPRng-HOWTO. html#AEN4858 SuSE Linux –

Rendszerkézikönyv 227 Nyomtatás az SMB protokollon keresztül Ezzel a módszerrel a nyomtatási feladatok először is nyomtatóspecifikus formátumba kerülnek átalakításra, majd az SMB protokoll segítségével egy távoli megosztott nyomtatóra továbbítódnak. Mind a kliens, mind a szerver oldal részéről követelmény, hogy támogassa az SMB protokollt. Mivel az LPRng/lpdfilter és a CUPS támogatja direkt módon az SMB protokollt, ezért indirekt módú támogatást kell beállítani az smbclient és smbspool programokkal. (Mindkettő a samba-client csomag része.) Kliens oldal LPRng/lpdfilter Az LPRng-nek szüksége van az lpdfilter-re az SMB protokoll támogatásához. Léteznie kell egy helyi sornak, mellyel a helyi lpd konvertálja a nyomtatási feladatot a nyomtatóspecifikus formába az lpdfilter segítségével. Az adatokaz ezután az smbclient segítségével továbbítja a távoli megosztásnak az SMB protokoll használatával. CUPS Léteznie kell egy

helyi sornak, amellyel a cupsd átkonvertálja az adatokat nyomtatóspecifikus formátumba. Ezután az adat a távoli megosztáshoz az smbspool program révén jut el, az SMB protokoll használatával. Szerver oldal SMB nyomtatószerver A nyomtatót ezúttal egy SMB nyomtatószerverhez kell kötni. Ez lehet egy DOS/Windows operációs rendszert futtató gép is, de természetesen Linux is, amely Samba szervert futtat. Az SMB nyomtatószervernek támogatnia kell az SMB protokollt és hozzá kell férnie a nyomtatóhoz (i. ea megfelelő megosztáshoz), amelyet létre kell hozni a szerver oldalon. Szűrés hálózati nyomtatók esetén Ez a bekezdés a hálózati nyomtatószűrők lehetséges megvalósításait mutatja be. Függetlenül attól, hogy milyen szűrési módszert használunk, egy pontnak mindenképp lennie kell az egész folyamatban, mégpedig ahol a bemeneti fájl átalakításra kerül a végleges formátumba, i. eabba, amelyet a nyomtató igényel az adatok papíron

történő megjelenítéséhez (PostScript, PCL, ESC/P). A konverziónak valahogyan, valahol meg kell történnie a nyomtatószűrő által, ehhez egy elegendő CPU és merevlemez erőforrással rendelkező gép kell. 228 Nyomtatás TCP/IP hálózatban A hálózati nyomtatók és nyomtatószerver-dobozok általában nem tartalmaznak beépített szűrési lehetőségeket, éppen ezért nyomtatószerver használatát igénylik. Ha a nyomtató egy PostScript modell, lehetséges a nyomtatószerver elhagyása. Mivel a PostScript nyomtatók automatikusan felismerik, hogy a beérkező feladat ASCII vagy PostScript formában van, ennek megfelelően jelenítik meg azt. Viszont ha olyan ASCII szövegeket akarunk nyomtatni, amelyek országspecifikus betűket tartalmaznak, szükséges lehet a nyomtatót a megfelelő kódlaphoz állítani, 7 Nyomtatás Különösen igaz ez akkor, ha Ghostscript-et használunk a nagyfelbontású fotókat tartalmazó nyomatok nem PostScript alapú

eszközökön való megjelenítésére. és az a2ps parancsot használni az ASCII bemenet átalakítására a kívánt kódolást tartalmazó PostScript fájl formátumba. Mivel a nyomtatási terhelés ez esetben nem túl nagy, egy PostScript nyomtató nem igényel dedikált nyomtatószervert, ha a legtöbb alkalmazás ASCII és/vagy PostScript kimenetet képes generálni. Másrészt a hálózati nyomtatók és nyomtatószerver-dobozok nem rendelkeznek elegendő erőforrással a nagyobb nyomtatási terheléshez. Ekkor egy dedikált nyomtatószerver kell elegendő merevlemez tárhellyel a nyomtatási feladatok átmeneti tárolására és várakoztatására. Előfeltételek A nyomtató modellnek támogatottnak kell lennie a SuSE Linux által, mivel a nyomtatandó adatokat előbb nyomtatóspecifikus nyelvre kell konvertálni a szűrőn keresztül, hasonló módon, ahogy azt a helyi nyomtatók esetében ismertettük. (lásd Helyi nyomtató csatolófelület kézi beállítása (182

oldal) és a megfelelő bekezdésekben). Terminológia A „kliens”, alatt egy olyan gépet értünk, ahol a nyomtatási feladat létrejön. A „nyomtató szerver doboz” néven olyan hálózati nyomtatókat (és nem csak nyomtatószerver-dobozokat első ránézésre) értünk, hanem azokat, amelyek ezen a módon működnek. A „nyomtatószerver” alatt egy központi, dedikált gépet értünk, amely az összes nyomtatási feladatot kezeli az összes hálózati kliensről. A nyomtatószerver küldheti az adatokat egy helyi nyomtatóra vagy továbbíthatja azokat a nyomtatószerver-dobozoknak a TCP/IP hálózaton keresztül. SuSE Linux – Rendszerkézikönyv 229 A „továbbítósor (forwarding queue)” alatt egy olyan sort értünk, amely továbbít vagy átjátszik nyomtatási feladatokat a távoli sorokhoz, de nem végez szűrést rajtuk. A „szűrő soron (filter queue)” azt értjük, hogy egy sor szűri (konvertálja) a nyomtatási feladatokat.

„Előszűrő soron (prefilter queue)” azt értjük, amely elküldi a nyomtatási feladatokat egy szűrőnek, ezután a kapott adatokat átadja egy továbbítósornak ugyanazon a gépen. „Továbbító szűrősor (forwarding filter queue)” alatt azt értjük, ha egy sor szűri a nyomtatási feladatokat és az eredményt egy távoli gépre továbbítja. By „Folyamatos szűrősor (streaming filter queue)” alatt azt értjük hogy a sor szűri a nyomtatási feladatokat és a kapott adatokat folyamszerűen továbbítja a távoli TCP kapura. A fenti terminológia kombinálható az „LPD(-alapú)”, „IPP(-alapú)”, vagy „SMB(-alapú)” megnevezésekkel, a módszerrel kapcsolatos protokoll jelölésére. A hálózati nyomtatás lehetséges szűrési módjai Nyomtatószerver-doboz kliens általi szűréssel A szűrés kliens oldalon hajtódik végre, éppen ezért teljes nyomtatórendszert kell futtatni a kliensen, amely lehet LPRng/lpdfilter vagy CUPS

nyomtatási rendszer. LPD protokollt használó kliens (LPRng vagy CUPS) Előszűrés utáni továbbítás (csak LPRng) Ez a klasszikus távoli nyomtatás megoldás, amely két sort használ a kliens oldalon. Egyet az (elő)szűrésre, és egyet a továbbításra. 1. Kliens: Az előszűrő sor konvertálja a nyomtatási feladatot a nyomtató formátumába, és ezután továbbítja az adatokat a továbbítósorba vagy új nyomtatási feladatba. 2. Kliens: A továbbítósor átjátssza a nyomtatási adatokat a nyomtatószerver-dobozra (LPD-alapú továbbítás). 3. LPD nyomtatószerver-doboz: A nyomtatási adatokat elküldi a nyomtatóra. 230 Nyomtatás TCP/IP hálózatban 1. Kliens: A nyomtatási feladat átalakításra kerül a nyomtató formátumába és továbbításra kerül a nyomtatószerverdobozhoz (LPD-alapú továbbítószűrő). 2. LPD nyomtatószerver-doboz: A nyomtató adatok kikerülnek a nyomtatóra. 7 Nyomtatás Továbbító szűrő (LPRng vagy CUPS)

Ezzel a módszerrel a szűrést és a továbbítást egy és ugyanaz a sor végzi. Ha az LPRng nyomtatórendszert használjuk, a módszert „lpr bounce” vagy „lpd bounce” néven is említik. IPP protokollt használó kliens (csak CUPS) Továbbító szűrő (csak CUPS) 1. Kliens: A nyomtatási feladat átalakításra kerül nyomtató formátumba és továbbítódik a nyomtatószerver-doboznak (IPP-alapú továbbító szűrő). 2. IPP nyomtatószerver-doboz: A nyomtatóadatok ki lesznek küldve a nyomtatóra. TCP kapcsolatot használó kliens (LPRng vagy CUPS) Folyamatos szűrő (LPRng vagy CUPS) 1. Kliens: A nyomtatási feladat konvertálódik nyomtató formátumba és folyamatos átküldésre kerül a nyomtatószerver-dobozra (folyamatos szűrő). 2. Nyomtatószerver-doboz: A nyomtatási adatok ki lesznek küldve a nyomtatóra. Nyomtatószerver-doboz a nyomtató szerver által szűrve Mivel a szűrés egy nyomtatószerveren történik, ennek egy teljes nyomtatási

rendszert kell futtatnia (a megfelelő démonnal együtt), amely lehet LPRng/lpdfilter vagy a CUPS nyomtatási rendszer. Másrészről a kliens oldali teljes nyomtatórendszer futtatása nem feltétlenül szükséges (mivel a szerver az összes szűrést elvégzi), a kliensnek csak a nyomtatási feladatok létrehozása szükséges, az lpr paranccsal (az LPRng esetén), vagy lp, xpp vagy kprinter (CUPS esetén) parancsokkal, és a nyomtatási feladatok egyenesen a nyomtatószervernek továbbítódnak, A nyomtatószervernek támogatnia kell a kliens által használt protokollt (LPD vagy IPP). Amikor a nyomtatószerver fogadja a nyomtatási feladatot, azonos módon dolgozza fel, mint ahogy a kliens résznél említettük, a Nyomtatószerverdoboz kliens szűréssel résznél. SuSE Linux – Rendszerkézikönyv 231 A kliensnek egy protokollt kell használnia a nyomtatási feladatok elküldéséhez, és egy annak másik protokollt a nyomtatószerver-dobozra történő küldéshez.

LPD protokollt használó kliens (csak LPRng) Közvetlen nyomtatási parancs (csak LPRng) 1. Kliens: A nyomtatási feladat direkt küldése a nyomtatószervernek az lpr paranccsal 2. LPD nyomtatószerver: a nyomtatási feladatot konvertálja a nyomtató formátumára, majd kiküldi azt a nyomtatószerver-doboznak. Továbbítás (csak LPRng) 1. Kliens: a nyomtatási feladatot továbbítja a nyomtatószervernek (LPD-alapú továbbítás) 2. LPD nyomtatószerver: A nyomtatási feladatot konvertálja a nyomtató formátumára, és elküldi az adatokat a nyomtatószerver-doboznak. IPP protokollt használó kliens (csak CUPS) Direkt nyomtatási parancs (csak CUPS) 1. Kliens: a nyomtatási feladatot egyenesen a nyomtatószerverre továbbítja, az lp parancs használatával vagy az xpp vagy kprinter programokkal. 2. IPP nyomtatószerver: A nyomtatási feladatot konvertálja a nyomtató formátumába, és elküldi az adatokat a nyomtatószerver-doboznak. A nyomtatószerverre csatlakozó

nyomtató, a nyomtatószerver általi szűréssel Ha a nyomtatószerverhez helyi nyomtató csatlakozik, az eljárás azonos a Nyomtatószerver-doboz szűréssel a nyomtatószerverenű részben leírtakkal, az egyetlen különbség az alábbi mondatrészben van: „az adatokat elküldi a nyomtatószerver-doboznak” helyett az alábbiakat kell behelyettesíteni: „az adatokat elküldi a nyomtatónak”. A nyomtató a nyomtatószerverre csatlakozik, a szűrés a kliensen folyik Ez nem túl jó megoldás, mivel nem derül ki, hogy LPD vagy IPP nyomtatószerver van. A megvalósításhoz minden egyes kliensre teljes nyomtatási rendszert kell telepíteni és beállítani. Jobb megoldásként tanulmányozzuk a fenti módszert: A nyomtató a nyomtatószerverre csatlakozik, a szűrést a nyomtatószerver végzi. 232 Nyomtatás TCP/IP hálózatban SMB protokollt használó kliens (LPRng vagy CUPS) SMB-alapú továbbítószűrő (LPRng vagy CUPS) 1. Kliens: a nyomtatási feladatot

konvertálja nyomtató formátumba és továbbítja azt az SMB nyomtatószervernek (SMB-alapú továbbítószűrő). 2. SMB-nyomtatószerver: az adatokat elküldi a nyomtatónak 7 Nyomtatás SMB nyomtatószerver kliensen történő szűréssel A szűrést nem egyszerű megvalósítani egy SMB nyomtatószerver esetében. Ezt figyelembe véve egy SMB nyomtatószerver hasonló módon kezelendő, mint egy nyomtatószerver-doboz. Távoli nyomtatók hibakezelése A TCP/IP hálózat ellenőrzése Először is bizonyosodjunk meg arról, hogy minden rendben van a TCP/IP hálózattal, általánosságban, a név felbontással. A szűrőbeállítások ellenőrzése Csatlakoztassuk a nyomtatót az első párhuzamos kapura a számítógépen. A kapcsolat tesztelésére először is állítsuk be mint helyi nyomtató, ezzel kiküszöbölhető számos hálózatfüggő probléma. Ezután keressünk egy korrekt Ghostscript meghajtót és az egyéb beállítási opciókat próbáljuk

ki, amíg a nyomtató hiba nélkül működik. Távoli lpd tesztelése A következő parancs: meggyfa:~ # netcat -z host 515 && echo ok || echo failed teszteli, hogy az lpd elérhető az 515-ös TCP kapunk keresztül a gépen. Ha az lpd nem érhető el ezen a módon, akkor nem fut vagy más hálózati probléma van. Miután bejelentkeztünk root felhasználóként, adjuk ki az alábbi parancsot: meggyfa:~ # 515 echo -e ”04queue” | netcat -w 2 -p 722 host a sor (lehet hogy nagyon hosszú) állapot jelentéséről azon a (távoli) gépen, amelyen az lpd fut, és amely elérhető. Ha a démon nem válaszol, akkor nem fut vagy más hálózati hiba áll fenn. Ha az lpd válaszol, akkor a kimenet tippet adhat abban, hogy kiderítsük a hiba okát. – Néhány példa: SuSE Linux – Rendszerkézikönyv 233 lpd: your host does not have line printer access lpd: queue does not exist printer: spooling disabled printer: printing disabled 14. képernyőlista: lpd

állapot üzenetek Ha a fentiekhez hasonló üzeneteket kaptunk, a probléma a távoli lpd-ben van. Távoli cupsd tesztelése Az alábbi parancs: meggyfa:~ # netcat -z host 631 && echo ok || echo failed ellenőrzi, hogy a cupsd elérhető a 631-es TCP kapun a gépen. Ha a cupsd nem érhető el ezen a módon, akkor nem fut vagy alapvető hálózati probléma van. A következő paranccsal: meggyfa:~ # lpstat -h host -l -t a sor (lehet hogy nagyon hosszú) állapot jelentéséről azon a (távoli) gépen, amelyen az cupsd fut, és amely elérhető. A következő paranccsal: meggyfa:~ # echo -en ” ” | lp -d queue -h host elküldhetünk egy egyszerű új sor karaktert tartalmazó nyomtatási feladatot, amellyel tesztelhető a sor a gépen amely a feladatokat fogadja. Ez a teszt parancs nem nyomtat ki semmit, csupán egy üres lapot dob. Távoli SMB szerver tesztelése Az SMB szerver alapvető teszteléséhez adja ki a következő parancsokat: meggyfa:~ # echo

-en ” ” | smbclient ’//HOST/SHARE’ ’PASSWORD’ -c ’print -’ -N -U ’USER’ && echo ok || echo failed Ezt a parancsot egyetlen sorban kell kiadni, a (‘’)-jel nélkül. A HOST, helyén adjuk meg a Samba szerver nevét; a SHARE, a távoli sor neve; a PASSWORD, a jelszó; a USER, a felhasználói azonosító. 234 Nyomtatás TCP/IP hálózatban Ez a teszt parancs nem nyomtat ki semmit, csupán egy üres lapot dob. 7 meggyfa:~ # smbclient -N -L host meg tudunk tekinteni minden olyan megosztást a gépen, amelyek jelenleg elérhetők. Részleteket a man smbclient parancsra kaphatunk Nyomtatás A következő paranccsal: Hibakeresés egy megbízhatatlan hálózati nyomtatón vagy nyomtatószerver-dobozon A nyomtatószerver-dobozokon található várakozósorok megbízhatatlanná válnak, ha nem tudják kezelni a viszonylag nagy terhelést. Ennek a szerver oldali várakozósor az oka, sajnos nincs mód javítására. Kikerülésként a

nyomtatószerver-dobozhoz TCP kapcsolaton keresztül küldhetjük a folyamatos adatokat. Ezáltal a nyomtatószerver doboz csak adatkonverter a különböző adatfolyamok között (TCP/IP hálózat és helyi nyomtató vonal), ezáltal úgy működik majd, mintha helyi nyomtató lenne. Ez a megoldás több direkt vezérlési lehetőséget is nyújt az általánosnál. A módszer használatához ismernünk kell a megfelelő TCP kaput a nyomtatószerver-dobozon. Ha nyomtató be van kapcsolva és rendesen csatlakozik, ezt az nmap program használatával lehet megtudni: . Az nmap-ot futtatva a nyomtatószerveren a kimenet valami ehhez hasonló lesz: Port 23/tcp 80/tcp 515/tcp 631/tcp 9100/tcp State open open open open open Service telnet http printer cups jetdirect Bejelentkezhetünk a fenti nyomtatószerver-dobozba a telnet-tel, a fontos információk megtekintéséhez vagy az alapvető beállítások megváltoztatásához. A fenti nyomtatószerver mint HTTP démon fut, amely

részletes információkat ad, vagy beállítási felülettel szolgál webböngészőn keresztül. SuSE Linux – Rendszerkézikönyv 235 A nyomtató várakozósora az LPD protokollal az 515-ös kapun keresztül érhető el. A nyomtató várakozósora elérhető az IPP protokollon keresztül is a 631-es kapun. A nyomtató elérhető közvetlen TCP kapcsolattal a 9100-as kapun keresztül. Nyomtatószerverek LPD és IPP támogatással Mindkét protokoll támogatása CUPS segítségével Alapértelmezésként a CUPS démon csak az IPP protokollt támogatja. A /usr/lib/cups/daemon/cups-lpd program a cups csomagból lehetővé teszi a CUPS démon számára a nyomtatási feladatok LPD protokollon keresztüli elfogadását az 515-ös kapun. Ez akkor szükséges, ha a megfelelő szolgáltatás be van kapcsolva az inetd számára – ez történhet a YaST2 segítségével, vagy a megfelelő sor aktivizálásával az /etc/inetd.conf fájlban Mindkét protokoll támogatása: az

LPRng/lpdfilter együtt a CUPS-szal Előfordulhatnak olyan helyzetek, ahol mindkét (LPRng/lpdfilter és CUPS) rendszeret szeretnénk használni egyazon rendszeren, vagy az LPD funkcionalitását kibővíteni néhány CUPS lehetőséggel, vagy az LPRng/lpdfilter rendszert bővítményként használni speciális esetekre. A két rendszer együttes használata egyazon gépen számos probléma forrása. Alább egy lista a legfontosabbakról és egy rövid ismertetés az általuk okozott korlátozásokról – a téma túl összetett hogysem bővebben tudnánk foglalkozni vele. Ahogy mondtuk, van néhány mód ezen hibák kiküszöbölésére, egyéni esetektől függően. Ha megoldást szeretne, a SuSE szolgáltatásait az alábbi címen találja: http://www.suselinuxhu/szolgaltatas/ Ne a YaST2-t használja beállításra, ha mindkét nyomtatási rendszert telepítette; a YaST2 nyomtató beállító modulja erre nem alkalmazható. Ütközés áll fent az lprng csomag és

cups-client csomagok között, mivel számos azonos helyű és nevű fájl található bennük, mint az /usr/bin/lpr és /usr/bin/lp. Éppen ezért nem tudjuk telepíteni a cups-client csomag-et. Ez azt eredményezi, hogy nincs CUPSalapú elérhető parancssori eszköz csak az, amelyet az LPRng tartalmaz Továbbra is nyomtathatunk a CUPS rendszerben az X Window Systemben az xpp vagy kprinter parancsokkal, illetve az összes ezeket használó beépített CUPS támogatással rendelkező programokból. 236 Nyomtatás TCP/IP hálózatban SuSE Linux – Rendszerkézikönyv 7 Nyomtatás Alapértelmezésben, a cupsd létrehozza az /etc/printcap fájlt amikor elindul, és a CUPS sorok nevét ebbe írja. Ez azon alkalmazásokkal való kompatibilitást szolgálja, amelyeknek kifejezett sorneveket kell létrehozni az /etc/printcap fájlban, hogy a saját nyomtatási párbeszédjük elérhető legyen. Ha mindkét nyomtatási rendszer telepítve van, ki kell kapcsolni ezt a cupsd

lehetőséget, az /etc/printcap exkluzív használatának biztosításához az LPRng/lpdfilter nyomtatási rendszer által. Ennek eredményeként azok az alkalmazások amelyek a fenti módszert használják, csak a helyi sorokhoz férhetnek hozzá, a távoli sorok a CUPS segítségével érhetők továbbra is el. 237 8 Hotplug eszközök Hotplug eszközök Manapság már a legtöbb számítógépnél használnak olyan hardverkomponenseket, amelyek a rendszer futása közben csatlakoztathatók és újra el is távolíthatók. A leginkább ismert példa ilyen hardverelemek csatlakoztatására az USB, ezenkívül használatos még a PCI, a SCSI, a PCMCIA, a firewire, valamint más egyéb csatolók. A hotplug rendszerek elsődleges feladata az újonnan csatlakoztatott illetve beépített hardverek felismerése és üzemképes beállítása. Emellett a rendszernek biztosítania kell annak lehetőségét, hogy egyes hardverelemek bármikor újra eltávolíthatók legyenek, ezt

automatikusan fel kell ismernie és a megfelelő erőforrásokat fel kell szabadítania. Hotplug Linux alatt . A hotplug indítása és a coldplug . USB – Universal Serial Bus . PCI és PCMCIA . Hálózat . Firewire (IEEE1394) . Egyéb eszközök és további fejlesztések . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240 240 241 243 244 245 245 Hotplug Linux alatt A Linux rendszer egyes részeit általában úgynevezett démonok felügyelik, melyek a külső történésekre megfelelőképpen reagálnak. Ilyen például az inetd démon, amelyik a bejövő hálózati kéréseket felügyeli. A hotplug esetén maga a rendszermag látja el a felügyeletet. Ehhez az szükséges, hogy az egyes buszok meghajtói képesek legyenek az új eszközöket felismerni és ezt szabványos módon a rendszer

számára közölni. A 24-es rendszermagban erre az USB, a PCMCIA, a firewire, részben a PCI és a hálózati alrendszer képes. A hotplugnak ez az eleme minden esetben az adott rendszermag modul szerves részét képezi és nem változtatható meg, csak a rendszermag újrafordításával. Tájékoztatás A PCMCIA eszközöket a hotplug csak abban az esetben képes kezelni, ha azok CardBus kártyák és a rendszermag PCMCIA/CardBus támogatás aktív. Ekkor ezek PCI eszközökként jelennek meg További információk ehhez a PCMCIA pont alatt találhatók. Tájékoztatás A hotplug másik eleme az eszközök csatlakoztatásához illetve eltávolításához szükséges teendőket látja el. Ez valójában egy szkriptgyűjtemény, ami az /etc/hotplug könyvtárban található. A hotplug központi szkriptje az /sbin/hotplug szkript, amely egy illesztő felület a rendszermag és a hotplug szkriptgyűjtemény között. Ezeket a szkripteket a fejezet további részeiben egyszerűen

„hotplug rendszer”nek nevezzük. Ha a rendszer futása közben számítógépünkhöz egy olyan eszközt csatlakoztatunk amelyet a hotplug képes felismerni, akkor a rendszermag elindítja az /sbin/hotplug szkriptet és átadja számára az adott hardverkomponensre vonatkozó információkat. Természetesen ugyanez történik az eszköz esetleges újbóli eltávolítása esetén is. Az /sbin/hotplug szkript ezután kiosztja a feladatot a megfelelő további szkripteknek, annak alapján, hogy melyik eszközről is van szó. Ezt követően a megfelelő szkriptek betöltik illetve leállítják a szükséges rendszermag modulokat és további programokat indítanak el, amikkel a hardverek beállíthatók. Ezek a programok az /etc/hotplug könyvtárban találhatók, *.agent kiterjesztésű fájlok A hotplug indítása és a coldplug Habár a rendszermag a hotplug történések információit minden esetben továbbítja az /sbin/hotplug számára, azonban a hotplug rendszer csak

240 Hotplug Linux alatt Ezenkívül léteznek olyan hardverkomponensek is, amiket a rendszermag még azelőtt felismer, mielőtt egyáltalán lehetőség lenne a fájlrendszer elérésére. Ezeknek az eseményeknek az információi ilyenkor egyszerűen elvesznek. Ennek kiküszöbölésére az /etc/hotplug/*.rc szkriptekben megpróbálják a már meglévő hardverek számára ezeket az eseményeket mesterségesen újra szimulálni. Ebben az összefüggésben beszélünk „coldplug”-ról 8 Hotplug eszközök akkor fog működni, ha azt előzőleg már elindítottuk az rchotplug start paranccsal. Ameddig a hotplug rendszer nem fut, ezek az események nem kerülnek feldolgozásra. SuSE Linux alatt a hotplug rendszer a rendszer indításakor alapértelmezett esetben automatikusan indul el. Ha ilyenkor az USB alapmodulok még nincsenek betöltve, akkor ezek betöltődnek és az USB eszközfájlrendszer (usbdevfs) csatolva lesz. Ha a hotplug rendszert az rchotplug stop

paranccsal leállítjuk, akkor a további események már nem kerülnek kiértékelésre. Ha általában nincs szükségünk arra, hogy a rendszer futása közben új hardvereket csatlakoztassunk illetve távolítsunk el, akkor a hotplug rendszert akár teljesen le is állíthatjuk. Ebben az esetben azonban más módon kell megoldanunk az USB és a PCMCIA eszközök csatlakoztatását. A hotplug rendszer jellemzőit az /etc/sysconfig/hotplug beállítási fájlban található változók segítségével konfigurálhatjuk. A hotplug „beszédességét” például a hHOTPLUG DEBUGi változó segítségével állíthatjuk be. A hHOTPLUG START USBi, a hHOTPLUG START PCIi és a hHOTPLUG START NETi változókkal állíthatjuk be, hogy a hotplug rendszer milyen típusú eseményeket dolgozzon fel. A többi változó beállítására a megfelelő alfejezetben bővebben kitérünk. A hotplug minden üzenete bekerül a rendszernapló fájlba (/var/log/ messages). USB – Universal Serial

Bus Ha egy új USB eszközt csatlakoztatunk, akkor az /etc/hotplug/usb.agent szkript keres számára egy alkalmas meghajtót és gondoskodik róla, hogy az be legyen töltve. Nem feltétlenül szükséges, hogy ez a meghajtó egy rendszermag modul legyen, számos USB digitális kamerát például közvetlenül a felhasználói program vezérel. A megfelelő meghajtó hozzárendelése a hardvereszközhöz több lépésben történik: első lépésként a szkript megvizsgálja az /etc/hotplug/usb.usermap fájl alapján, hogy létezik-e az adott eszközhöz SuSE Linux – Rendszerkézikönyv 241 megfelelő felhasználói program illetve olyan speciális indítószkript, amelyik azt kezelni tudja. Amennyiben nem, akkor az /etc/hotplug/usbhandmap fájlban keres egyéni hozzárendelést egy rendszermag modulhoz. Ha itt sem talál semmit (ami az esetek nagy többségében így is történik), végül a rendszermag hozzárendelési táblázatában, azaz a /lib/modules/hrendszermag

verziójai/modules.usbmap fájlban keres Ezután ismét elvégez egy USB hardverkeresést, aminek során további alkalmazások is elindulnak, ha a KDE grafikus felületet használjuk. Például ha egy eszközt a legelső alkalommal csatlakoztatunk, megnyílik a megfelelő YaST2 modul, ahol elvégezhetjük a szükséges beállításokat. Ha az eszköz kezelésére létezik megfelelő alkalmazás, úgy az is automatikusan elindul a csatlakoztatás után. Mindez az /etc/hotplug/usb.agent által elvégzett egyéb feladatokkal párhuzamosan történik. Az usb.agent az egyes USB eszközöket azok típusa szerint különbözőképpen kezeli: A tároló médiumok, mint például a merevlemezek kezelését a /usr/sbin/ checkhotmounts perl szkript látja el, amint a szükséges meghajtók be lettek töltve. A hálózati eszközök egy egyéni hotplug eseményt indítanak el a rendszermagban, amint regisztrálva lettek. Az usbagent csupán hardverinformációkat gyűjt, amik azután a

hálózat használata során kerülnek alkalmazásra. Ez csak átmeneti megoldást nyújt a 24-es rendszermag számára és nem működik helyesen, ha több USB hálózati eszközt csatlakoztatunk. Erre azonban csak ritkán kerül sor A digitális kamerákat a KDE hardverkereső rendszere kezeli. Ehhez még az /etc/hotplug/usb/usbcam szkripten keresztül biztosítva lesz a bejelentkezett felhasználó számára a hozzáférési jog az eszközfájlhoz (/dev/audio), mert a KDE alatt csak így tudja azt elérni. Az egér számára csak egy betöltött modulra van szükség, amelyik itt betöltésre is kerül, így az azonnal használható. A billentyűzetre már a rendszertöltés során is szükség van, ezért a hotplug azt nem kezeli. A modem és az ISDN jelenleg még nem állítható be automatikusan a hotpluggal. Az /etc/sysconfig/hotplug beállítási fájl tartalmaz még néhány további, USB-re vonatkozó változót is. A hHOTPLUG USB HOSTCONTROLLER LISTi 242 USB –

Universal Serial Bus 8 Hotplug eszközök alatt találhatók az USB kezelő meghajtói, méghozzá betöltésük sorrendjében. Amint egy meghajtó sikeresen be lett töltve, a hHOTPLUG USB MODULES TO UNLOADi alatt megjelennek azok a betöltött modulok, amelyeket a hardver eltávolítása esetén ismét le kell állítani. Az ezután következő USB modulok nem lesznek eltávolítva, mert nem állapítható meg egyértelműen, hogy van-e még olyan eszköz csatlakoztatva, aminek a működéséhez szükségesek. A hHOTPLUG USB NET MODULESi változó tartalmazza azoknak a moduloknak a nevét, amelyek hálózati csatolófelületet biztosítanak. Amint e modulok közül egy betöltésre kerül, elkészül egy hardverleírás, amit a későbbiekben a hálózati folyamatokhoz fel lehet használni. Ezek az események bekerülnek a rendszernaplóba. PCI és PCMCIA PCMCIA kártyák alkalmazása esetén gondosan kell eljárnunk, mert a hotplug a PC kártyák közül csak a CardBus

kártyákat kezeli, de ezeket is csak akkor, ha a rendszermag PCMCIA/CardBus támogatása aktív. Erről a PCMCIA rendszerek közti különbségek fejezetben olvashatunk bővebben (248. oldal) A CardBus kártyák műszaki szempontból gyakorlatilag PCI eszközökként viselkednek, ezért ezeket ugyanaz a hotplug szkript – az /etc/hotplug/pci. agent – kezeli. Ennek az alapvető feladata egy alkalmas meghajtó keresése a kártya számára és annak betöltése. Ezen túlmenően eltárolja még a kártya csatlakoztatási helyének az információját (PCI busz vagy PCMCIA foglalat (slot) és a foglalat száma), hogy egy későbbi hotplug illetve hálózati esemény alkalmával ezek az információk rendelkezésre álljanak az alkalmas konfiguráció kiválasztásához. A meghajtó hozzárendelése itt két egymást követő lépésben történik: a szkript először az /etc/hotplug/pci.handmap fájlt vizsgálja és egyéni beállításokat keres. Amennyiben semmit sem talál,

ezután a rendszermag PCI meghajtótáblázatát, azaz a /lib/modules/hrendszermag verziószámai/modules pcimap fájlt vizsgálja. Ha meg kívánjuk változtatni a hozzárendelt meghajtókat, akkor ezt az /etc/hotplug/pci.handmap fájlban tegyük meg, mert a rendszermag meghajtókat tartalmazó táblázata egy esetleges későbbi rendszermag frissítés során megváltozhat. A hotplug rendszer – az USB eszközökkel ellentétben – a PCI és a CardBus kártyák típusa alapján semmilyen egyéb további beállítást nem végez el. Csak a hálózati kártyák esetén történik még egy automatikus beállítási lépés; a rendszermag egy hotplug hálózati eseményt generál, ami a csatolófelület inicializálásához vezet. Minden egyéb kártya esetén az esetleges további SuSE Linux – Rendszerkézikönyv 243 beállításokat kézzel kell megtenni, azonban a hotplug rendszert ebből a szempontból a jövőben még továbbfejlesztik. Amint a kártyát újra

eltávolítjuk, a megfelelő modulok is automatikusan le lesznek állítva. Ha ezáltal a kártya kivétele során egyes modulok esetén probléma lépne fel, akkor azt úgy orvosolhatjuk, hogy az /etc/sysconfig/ hotplug fájlban a hHOTPLUG PCI MODULES NOT TO UNLOADi változóhoz az adott modulok nevét beírjuk. Hálózat Amint a rendszermagban egy új hálózati csatoló be- illetve kijelentésre kerül, az egy hotplug hálózati eseményt generál, amit az /etc/hotplug/net.agent elemez ki. Ilyenkor a megfelelő bejegyzés is bekerül a rendszernaplóba A hotplug rendszer jelenleg még csak az ethernet, a tokenring és a vezeték nélküli LAN csatolókat képes kezelni. Az egyéb hálózati csatolók, mint például a modem és az ISDN számára más megoldásokat kell alkalmazniuk. A PCMCIA kártyák által nyújtott illesztőfelületeket sem a hotplug, hanem a cardmanager kezeli. A hotplug először megpróbálja megállapítani, hogy milyen hardvereszköz biztosítja az

illesztőfelületet. Mivel az ehhez szükséges információkat a 24es rendszermag önmaga nem képes megadni, a hotplug azokat az adatokat használja fel, amik egy előző USB illetve PCI hotplug esemény során lettek mentve. Habár ez a módszer az esetek döntő többségében megfelelően működik, mégis csak átmeneti kényszermegoldásnak kell tekintenünk, hiszen így még nem lehetséges két hálózati kártya egyidejű csatlakoztatása. Amennyiben mégis két hotplugot támogató hálózati kártyát kívánunk egyidejűleg használni, akkor azokat egymás után, külön-külön csatlakoztassuk a számítógéphez. Néhány másodperces várakozás elegendő a két kártya csatlakoztatása között. Az információk ilyen jellegű átadása is a /var/log/ messages fájlban kerül naplózásra. A hotplug ezek után a csatlakoztatott hardvereszköz információinak felhasználásával futtatja az /sbin/ifup (illetve az ifdown) szkriptet, amelyik így már képes

arra, hogy egy adott kártyához mindig a megfelelő beállításokat társítsa, még abban az esetben is, ha az illesztőfelületnek más lenne az elnevezése. A rendszermag az illesztőfelületek neveit ugyanis nem célzottan osztja ki. Amennyiben egy új hálózati illesztőfelület létrehozása után még egyéb parancsokat is futtatni kívánunk, akkor azokat beilleszthetjük az /sbin/ifup fájlba. Ehhez részletes leírás található az man ifup kézikönyvlapján 244 Hálózat Ha az illesztőfelület hardverének automatikus felismerése nem járna eredménnyel, (például firewire esetén) és csak egy hotplugot támogató hálózati eszközt alkalmazunk, akkor írjuk be az eszköz nevét az /etc/sysconfig/ hotplug fájlban található hHOTPLUG NET DEFAULT HARDWAREi változóba. A beírt karakterláncnak azonosnak kell lennie azzal a névvel, amit az /sbin/ifup szkript a megfelelő konfiguráció hozzárendeléséhez alkalmaz. A hHOTPLUG NET TIMEOUTi változóban

kerül meghatározásra, hogy a net.agent legfeljebb mennyi ideig várjon egy dinamikusan generált hardverleírásra. 8 Hotplug eszközök Lehetőség nyílik arra is, hogy a csatlakoztatott hardvertől függően különböző alapértelmezett útvonalakat (default route) alkalmazzunk; lásd a man route kézikönyvlapon. Firewire (IEEE1394) A firewire eszközök számára a hotplug jelenleg még csak a meghajtómodulokat tölti be. Fel szeretnénk mérni, hogy a SuSE Linux felhasználók jelenleg milyen arányban használnak firewire eszközöket. Ezzel kapcsolatban visszajelzéseket a http: //www.susede/feedback internetes előtétprogramunkon keresztül küldhetnek számunkra. Egyéb eszközök és további fejlesztések Az ebben a fejezetben nem tárgyalt, azonban hotplugot támogató eszközöket a hotplug rendszer jelen pillanatban még nem képes kezelni. A hotplug jelenleg komoly fejlesztés alatt áll, ami azonban jelentősen függ a rendszermag képességeitől.

Várhatóan a következő 26-os rendszermaggal együtt már lényegesen jobb lehetőségek állnak rendelkezésre. SuSE Linux – Rendszerkézikönyv 245 9 Laptopok használatakor sajátos igények merülnek fel. Ilyen például az energiagazdálkodás (APM és ACPI), az infravörös port (IrDA) és a PCkártyák (PCMCIA). Ezek a hardverelemek egyes asztali számítógépekben is megtalálhatók, de mivel e kétfajta hardvercsoport között nincs lényeges különbség, ezért az e fejezetben leírtak mindkét típusnál felhasználhatók. PCMCIA . Rendszerbeállítások profilkezelése – SCPM APM és ACPI – energiakezelő rendszerek . Infravörös adatátvitel – IrDA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248 259 268 279 Laptopok beállítása és használata Laptopok beállítása és használata PCMCIA A PCMCIA a „Personal Computer Memory Card International Association” rövidítése.

A kifejezés kétféle jelentéssel bír: a hardver mellett a hozzá kapcsolódó szoftverelemeket is így hívjuk. Hardver A legfontosabb rész maga a PCMCIA-kártya, amelynek két alapvető fajtája van: PC-kártya: ez a legalapvetőbb típus. Viszonylag olcsó, megbízható és stabil kártya, 16 bites csatlakozóval. CardBus-kártya: ez a típus 32 bites adatbuszt használ, ezért természetesen gyorsabb és drágább is a PC-kártyánál. Mivel az adatátvitel a rendszer más pontjain ennél lassabb, ezért az adatátvitel sebességének növelése sok esetben indokolatlan. Jelenleg már sok meghajtóprogram létezik ezekhez a kártyákhoz, azonban ezek működése a PCMCIA-vezérlőtől függően sokszor instabil. Ha a PCMCIA szolgáltatás aktív, akkor a cardctl ident paranccsal lehet lekérdezni a kártyák típusát. A támogatott kártyák listája a SUPPORTED CARDS fájlban található meg a /usr/share/doc/packages/pcmcia alatt. Ugyancsak itt található a

PCMCIA-HOWTO, azaz a PCMCIA-HOGYAN aktuális változata is. A másik lényeges elem a PCMCIA-vezérlő ill. a PC CARD/CARDBUS-híd Ez az eszköz biztosítja a kapcsolatot a kártya és a PCI (vagy régebbi rendszereken az ISA) csatoló között, és általában kompatibilis az Intel i82365 típusával. A Linux minden elterjedt változatot támogat. A konkrét típus a probe paranccsal kérdezhető le, PCI eszköz esetén további értékes információkat adhat még az lspci -vt parancs is. Szoftver PCMCIA rendszerek közti különbségek Jelenleg kétféle PCMCIA rendszer érhető el: a külső PCMCIA meghajtó, illetve a rendszermagban található. A David Hinds által írt külső PCMCIA rendszer a régebbi, ami egyben azt is jelenti hogy többen tesztelték már. A meghajtómodulok nincsenek a rendszermagba építve, ezért is nevezzük külső rendszernek. A 24-es verziótól kezdve a rendszermag is tartalmaz PCMCIA 248 PCMCIA Sajnos azonban a két rendszer nem fér

meg egymás mellett, ezért a hardvertől függően választanunk kell a két változat között. A SuSE Linuxban a rendszermagbeli PCMCIA az alapértelmezett, de természetesen a másik rendszert is használhatjuk. Ennek beállításához az /etc/sysconfig/pcmcia fájlban a hPCMCIA SYSTEMi változót external vagy rendszermagbeli értékre kell beállítanunk. Ezután a PCMCIA újraindításához a rcpcmcia restart parancsot adjuk ki. Amennyiben csak ideiglenesen akarjuk átállítani a használt PCMCIA rendszert, ezt a rcpcmcia restart external illetve a rcpcmcia restart kernel parancsokkal tehetjük meg. (Ha a PCMCIA alrendszer még nem fut, akkor a restart helyett a start paramétert használjuk.) Részletesebb információt találunk a /usr/share/doc/ packages/pcmcia/README.SuSE fájlban Az alapmodulok Mindkét rendszerhez a rendszermag csomagjában találhatóak a rendszermag modulok. Ezen kívül még a pcmcia és a hotplug csomagok is szükségesek 9 Laptopok beállítása

és használata meghajtókat, ezek alkotják a rendszermag-szintű PCMCIA rendszert, amelynek az alapjait Linus Torvalds fektette le. Általánosságban elmondhatjuk, hogy ez a rendszer az újabb CardBus hidakat jobban kezeli. A PCMCIA indításakor a pcmcia core, az i82365 (külső PCMCIA) vagy a yenta socket (rendszermag beli PCMCIA), és a ds modulok töltődnek be. Néhány nagyon ritka esetben az i82365 vagy yenta socket modulok helyett a tcic modul szükséges. Ezek a modulok végzik a PCMCIA vezérlő inicializálását és néhány alapszintű szolgáltatást is nyújtanak. A kártya kezelő Mivel a PCMCIA kártyák a számítógép újraindítása nélkül cserélhetőek, szükség van egy démonra, amely folyamatosan figyeli a foglalatok állapotát. Attól függően hogy melyik PCMCIA rendszert használjuk, a kártya kezelő (card manager) vagy a rendszermag hotplug alrendszere látja el ezt a feladatot. Külső PCMCIA használata esetén csak a kártya kezelő

szükséges, rendszermagbeli PCMCIA esetén azonban ez csak a PC-kártyákat kezeli, a CardBus kártyák a hotplug alrendszerrel használhatóak. A kártya kezelőt a PCMCIA indítószkript közvetlenül a rendszermag modulok betöltése után elindítja. A hotplugnak külön indítószkriptje van, mert a PCMCIA alrendszeren kívül más eszközöket is felügyel. Amikor egy új kártyát helyezünk a csatlakozóba, a kártya kezelő vagy a hotplug megállapítja annak típusát, majd betölti a szükséges további meghajtóprogramokat. Amennyiben ez sikerült, a kártya típusától függően SuSE Linux – Rendszerkézikönyv 249 elindít egy inicializáló-szkriptet, amely például csatolhat partíciókat külső SCSI merevlemezekről, vagy a kártya típusától függő egyéb feladatokat hajthat végre. A kártya kezelő szkriptjei az /etc/pcmcia , a hotplug szkriptjei pedig az /etc/hotplug könyvtárban találhatóak. A kártya kivételekor ugyanezen szkriptek

segítségével kerülnek visszavonásra a kártya behelyezésekor végrehajtott parancsok. Legvégül a már nem használt meghajtóprogramok is megállításra kerülnek. Mind a PCMCIA renszer indítása, mind a kártyák cseréje naplózásra kerül a rendszer naplófájljában (/var/log/messages). A naplóbejegyzések alapján visszakövethető hogy melyik PCMCIA rendszert használjuk jelenleg, illetve hogy milyen démonok milyen szkripteket indítottak a kártya beállítása során. A PCMCIA kártyák elméletileg minden további nélkül kivehetőek. Ez nagyon jól működik hálózati kártyák, modemek, vagy ISDN kártyák esetén amikor éppen nincs megnyitott hálózati kapcsolat. Abban az esetben azonban ha egy PCMCIA külső eszközről csatoltunk egy partíciót, vagy ha NFS fájlrendszert használunk, nem ilyen egyszerű a helyzet. Ilyenkor a kártya kivétele előtt mindenképpen győződjünk meg arról, hogy ezek az eszközök szinkronizálásra kerültek,

illetve a rajtuk található partíciókat válasszuk le. (Ezt a kártya kivétele után már nem tudjuk megtenni!) Ha biztosra akarunk menni, használjuk a cardctl eject parancsot. Ez minden csatlakoztatott kártyát deaktivál. Ha csak egyetlen kártyát szeretnénk kivenni, akkor a PCMCIA csatlakozó számát írjuk még a parancs után, például cardctl eject 0 Beállítások Azt, hogy a PCMCIA vagy a hotplug a rendszer indításakor automatikusan elinduljon, a YaST2 futási szint szerkesztőjével, vagy a chkconfig paranccsal állíthatjuk be. A /etc/sysconfig/pcmcia fájlban négy változót találunk: hPCMCIA SYSTEM i – Ez a változó határozza meg, hogy melyik PCMCIA rendszert használjuk. hPCMCIA PCICi – A PCMCIA vezérlőhöz szükséges modulok neveit tartalmazza. Az indítószkript általában automatikusan felismeri, hogy milyen rendszermag modulok szükségesek, ezért ennek a változónak csak akkor adjunk értéket, ha netán problémánk lenne az

automatikusan választottal, egyébként hagyjuk üresen. 250 PCMCIA hPCMCIA CORE OPTSi – A pcmcia core rendszermag modul számára hPCMCIA PCIC OPTSi – Az i82365 rendszermag modul betöltésekor használt paraméterek listája, a lehetséges értékeiről bővebben a man i82365 parancs kiadása után olvashatunk. Amennyiben a yenta socket rendszermag modult használjuk, az itt megadott paramétereket nem veszi figyelembe a rendszer, hiszen a yenta socket modulnak nincsenek paraméterei. Azt, hogy az egyes PCMCIA kártyákhoz a kártya kezelő melyik meghajtókat rendeli, az /etc/pcmcia/config és az /etc/pcmcia/*.conf fájlokban találhatjuk meg. Az egyes bejegyzések ABC sorrendben találhatóak a fájlokban, amennyiben pedig több bejegyzés is tartozna egy kártyához, akkor az ahhoz tartozó legutolsó bejegyzés az érvényes. A fájlok felépítéséről bővebben a man pcmcia parancs kiadása után olvashatunk. A hotplug használata esetén a Hotplug eszközök

fejezetben (239. oldal) olvashatunk a meghajtók hozzárendeléséről. Laptopok beállítása és használata szükséges paramétereket adja meg. Ezek használatára ritkán van szükség Részletesebb leírást a man pcmcia core paranccsal kaphatunk. 9 Hálózati kártyák (Ethernet, vezetéknélküli LAN és Token Ring) A PCMCIA hálózati kártyákat a többi kártyához hasonlóan a YaST2 segítségével állíthatjuk be. A kártya típusának válasszunk ‘PCMCIA’-t A hálózati beállításokról részletesen a hálózati fejezetben olvashatunk. ISDN ISDN PC kártyák esetében a beállítás nagyrészt szintén a YaST2-vel történik. Az, hogy melyik PCMCIA kártyát választjuk lényegtelen, csupán arra figyeljünk hogy PCMCIA típust válasszunk. A hardver és a szolgáltató beállításakor fontos hogy a működési módot hotplug-ra, és ne onboot-ra állítsuk. Léteznek PCMCIA ISDN modemek is, ezekkel önálló ISDN modem kártyaként vagy gyakran

többfunkciós kártyák részeként találkozhatunk. Ezeket ugyanúgy használjuk mint a többi modemtípust. Modemek PCMCIA modemeknél általában nincs szükség különleges beállításokra; a csatolóba helyezés után az eszköz a /dev/modem eszköznéven elérhető. Léteznek PCMCIA „szoftvermodemek” is, ezek rendszerint nem működnek Linux alatt. Amennyiben találunk hozzá meghajtót, kézzel kell telepítenünk azt SuSE Linux – Rendszerkézikönyv 251 SCSI és IDE A szükséges modulokat a kártya kezelő tölti be helyettünk, behelyezés után az eszköz azonnal működőképes. A kártyához kapcsolt eszközök szintén rögtön használhatóak. Az eszközök nevei dinamikusan kerülnek kiosztásra, ezért változóak lehetnek, az éppen aktuális állapotról a /proc/scsiés a /proc/ide fájlok adnak részletes információt. Külső meghajtók, CD-ROM meghajtók és hasonló eszközök behelyezése előtt győződjünk meg arról, hogy ezek be

vannak kapcsolva. A SCSI kártyákat aktív lezáróval kell lezárni. Tájékoztatás SCSI vagy IDE meghajtó eltávolítása előtt a megfelelő partíció(ka)t előbb le kell választani. E lépés nélkül a rendszer ugyan működőképes marad, de a meghajtót csak egy újraindítás után tudjuk majd újból használni. Tájékoztatás Elvileg a Linux telepíthető teljes egészében külső meghajtóra is, de a rendszerindítási folyamatot ebben az esetben indítólemezről kell elindítani. Ez a lemez tartalmaz egy betöltő programot és egy virtuális RAM lemezt is (initrd – initial RAM disk). Erről bővebben a Rendszerindítás a kezdeti memóriaeszköz (initrd) segítségével fejezetben (302. oldal) olvashatunk Az initrd egy kisméretű virtuális fájlrendszert tartalmaz, amelyben benne vannak a PCMCIA kezeléséhez szükséges modulok és programok is. A SuSE Linux indítólemeze tartalmazza ezeket a programokat, így felhasználható olyan Linux

indítására is, amely külső meghajtóra van telepítve. Sajnos kissé körülményes minden indításkor kézzel betölteni a szükséges modulokat. Gyakorlottabb felhasználók a saját rendszerüknek megfelelően átalakíthatják RAM lemezüket. Erről bővebben a PCMCIA-HOWTO-ban olvashatunk Sémák készítése SCPM Hordozható számítógépek esetén gyakran többféle beállításra van szükség. A PCMCIA sémáknak köszönhetően PCMCIA eszközökkel ez soha nem jelentett problémát. Mivel erre a lehetőségre gyakran beépített hálózati kártyák, USB és Firewire eszközök esetében is szükség van, a SuSE Linux 8.0-s verziótól elérhető az SCPM (System Configuration Profile Management) rendszer, és megszűnt a PCMCIA sémák támogatása. Amennyiben mégis ezeket szeretnénk használni, kézzel kell módosítanunk az /etc/pcmcia könyvtárban található konfigurációs fájlokat. Mindazonáltal az SCPM rendszer az ajánlott, hiszen azzal nem csak

a PCMCIA beállítások, hanem az összes rendszerbeállítás 252 PCMCIA Hibakeresés Néhány laptop esetén bizonyos PCMCIA kártyákkal problémák lehetnek. A legtöbb probléma könnyen megoldható, ha módszeresen kezdünk hozzá a megoldáshoz. Figyelem Mivel mind a külső, mind a rendszermagbeli PCMCIA rendszer használható SuSE Linuxon, mindenképpen figyeljünk a következőkre, mikor kézzel töltünk be meghajtókat. A két PCMCIA rendszer ugyanolyan nevű modulokat használ, amelyek azonban a /lib/modules/hrendszermag-verziói könyvtár különböző alkönyvtáraiban találhatóak. A rendszermagbeli PCMCIA moduljai a pcmcia könyvtárban, a külső PCMCIA rendszermag moduljai pedig a pcmcia-external könyvtárban találhatók. Ezen okból kifolyólag a modulok betöltésekor mindenképpen adjuk meg a könyvtár nevét is, amelyben az megtalálható. A következő parancsok valamelyikét használhatjuk: insmod /lib/

modules/hrendszermag-verziói/halkönyvtári/hmodul fájlnevei vagy modprobe -t halkönyvtári hmodulnévi. 9 Laptopok beállítása és használata változtatható. Részletes információt az SCPM-hez a Rendszerbeállítások profilkezelése – SCPM bekezdésben (259. oldal) találunk Figyelem Első lépésként azt próbáljuk meghatározni, hogy a kártyával vagy a PCMCIA rendszerrel van a probléma. Ezért először mindig a kártya nélkül kapcsoljuk be a gépet, és csak akkor helyezzük be a kártyát, ha a rendszer jól működik. A /var/log/messages fájlban minden fontos üzenetet megtalálunk, ezért ezt a kártya behelyezésekor folyamatosan figyeljük a tail -v /var/log/messages parancs segítségével. Ezzel a módszerrel a következő két lehetséges eset valamelyikére vezethetjük vissza a problémát. Nem működő PCMCIA alaprendszer Ha a rendszer indításkor lefagy a ”Starting services” üzenet megjelenése után, vagy egyéb furcsa dolgok

történnek, a következő indításkor a rendszerindítási promptnál adjuk meg a NOPCMCIA=yes paramétert. Hogy tovább szűkítsük a lehetséges hibák körét, töltsük be kézzel a PCMCIA rendszer alapmoduljait. Ezt a következő parancsokkal tehetjük meg: SuSE Linux – Rendszerkézikönyv 253 meggyfa:~ # modprobe -t hdir i pcmcia core meggyfa:~ # vagy modprobe -t pcmcia-external i82365 (külső PCMCIA esetén) meggyfa:~ # modprobe -t pcmcia yenta socket (ha rendszermagbeli PCMCIA-t használunk) Egyes esetekben szükséges lehet egy további modul is: meggyfa:~ # modprobe -t hdir i tcic vagy meggyfa:~ # modprobe -t hdir i ds A két első modul a legfontosabb. Ha a hiba akkor lép fel, amikor a pcmcia core modult töltjük be, a pcmcia core kézikönyv lap segíthet. Az ott leírt opciókat először próbáljuk ki a modprobe paranccsal. Például, ha a PCMCIA modul APM támogatását szeretnénk letiltani, a do apm opciót kell beállítanunk. (Gyakran ez

okozza a problémákat.) A do apm=0 paraméter megadásával letilthatjuk az energiagazdálkodást: modprobe -t hdir i pcmciacore do apm=0 Ha így meggyőződtünk arról, hogy az adott paraméterrel a PCMCIA rendszer működik, írjuk be azt az /etc/sysconfig/pcmcia fájl hPCMCIA CORE OPTSi változójába: PCMCIA CORE OPTS=”do apm=0” Olyan esetekben, ha a gépben olyan hardverek is vannak, amelyek nem kompatibilisek a PCMCIA automatikus I/O cím felismerésével, használjuk a probe io=0 paramétert. Ha több paramétert szeretnénk megadni, azokat szóközzel válasszuk el egymástól: PCMCIA CORE OPTS=”do apm=0 probe io=0” Amennyiben a hiba az i82365 modul betöltésekor lép fel, olvassuk el a i82365 kézikönyvlapot. Ebben az esetben a hiba oka valószínűleg erőforrás-ütközés: egy megszakítást, I/O kaput vagy memóriacímet két eszköz is használ. Bár az i82365 modul ellenőrzi, hogy csak addig nem használt erőforrásokat használjanak a kártyák,

néha éppen ez az ellenőrzés okozza a hibákat. Például a 12-es megszakítás (amelyet a PS/2 eszközök használnak) ellenőrzése egyes számítógépeken a billentyűzet vagy az egér „lefagyásához” vezethet. Ilyenkor a 254 PCMCIA modprobe i82365 irq list=5,7,9,10 vagy írjuk be az /etc/sysconfig/pcmcia fájlba: PCMCIA PCIC OPTS=”irq list=5,7,9,10” A fentieken kívül még két fontos fájlt kell megemlítenünk: az /etc/pcmcia/ config és az /etc/pcmcia/config.opts fájlt Ezeket a fájlokat a kártya kezelő használja; a bennük levő beállítások az egyes PCMCIA kártyák meghajtóinak betöltésekor lényegesek. Az /etc/pcmcia/configopts fájlban adhatjuk meg a felhasználható megszakításokat, I/O kapukat valamint memóriatartományokat. A már említett irqlist paraméterhez képest fontos különbség, hogy a config.opts fájlban nem engedélyezett erőforrásokat ugyan biztosan nem rendeli hozzá a rendszer a PCMCIA kártyákhoz, de ettől

függetlenül az i82365 modul betöltésekor azok ellenőrzésre kerülnek. Nem, vagy nem jól működő PCMCIA kártya Ebben az esetben alapvetően három lehetőség van: a kártyát nem ismeri fel a rendszer, nem sikerül betölteni a meghajtóprogramot, vagy rosszak a meghajtó által nyújtott interfész beállításai. 9 Laptopok beállítása és használata irq list=hszabad IRQ-k listájai paraméter használatával megadhatjuk hogy mely megszakításokat használhatja a PCMCIA rendszer. Például: Először is, határozzuk meg hogy a kártyát a kártya kezelő vagy a hotplug kezeli. Külső PCMCIA esetén mindig a kártya kezelő, rendszermagbeli PCMCIA esetén PC kártyákat a kártya kezelő, CardBUS kártyákat pedig a hotplug. Ebben a fejezetben csak a kártya kezelőről lesz szó, a hotpluggal kapcsolatos problémák leírását a Hotplug eszközök fejezetben (239. oldal) találhatjuk Ismeretlen kártya Ha a kártyát nem ismeri fel a rendszer, a

/var/log/messages fájlban a ”Unsupported Card in Slot x” üzenet jelenik meg. Ez azt jelenti, hogy a kártya kezelő nem tudott meghajtót rendelni a kártyához. A kártya kezelő a /etc/pcmcia/config és az /etc/pcmcia/*.conf fájlok alapján határozza meg hogy mely kártyákhoz milyen meghajtókat kell betölteni; ezek a fájlok egyfajta meghajtó-adatbázisként szolgálnak. Ezt az adatbázist természetesen könnyen bővíthetjük a már meglevő bejegyzések alapján. Ehhez először nézzük meg, hogy a kártya hogyan azonosítja magát. Ezt a cardctl ident paranccsal tehetjük meg (Részletesebb leírást pedig a PCMCIA-HOWTO hatodik fejezetében és a pcmcia kézikönyvlapban találunk.) Miután beírtuk a szükséges bejegyzéseket a fenti konfigurációs fájlokba, a kártya-adatbázist töltsük be újra az rcpcmcia reload paranccsal. SuSE Linux – Rendszerkézikönyv 255 Nincs betöltve meghajtó Ezen hiba egyik lehetséges oka, hogy a

meghajtó-adatbázisban rossz meghajtó van hozzárendelve a kártyához. Ez például olyankor fordulhat elő, ha a kártya gyártója egy látszólag azonos típuson belül különböző belső felépítésű kártyákat is készít. Egyes kártyákhoz léteznek olyan meghajtók, melyek jobban működhetnek a SuSE Linuxban megtalálható meghajtóknál. Ilyenkor a lehető legrészletesebb információval kell rendelkeznünk a kártyáról. Esetleg hasznos lehet ha valamilyen levelezési listán megkérdezzük mások tapasztalatait, vagy természetesen kérhetünk segítséget a SuSE bővített terméktámogatási szolgáltatásán keresztül is. A másik lehetséges ok az erőforrás-ütközés. Általában mindegy, hogy egy PCMCIA kártya milyen megszakításokat, I/O kapukat vagy memóriaterületeket használ, de vannak kivételek. Először egyetlen kártyával teszteljünk, és ha szükséges, a rendszer más eszközeit (például a hangkártyát, modemet, nyomtatót) is

tiltsuk le. A rendszererőforrások hozzárendeléseit az lsdev paranccsal tekinthetjük meg (figyeljünk arra, hogy az, ha PCI eszközök ugyanazt a megszakítást használják abszolút elfogadott). Szintén lehetséges, hogy az i82365 rendszermag modulnak kell valamilyen paramétert adni. (Lásd a PCMCIA PCIC OPTS változót) Sok meghajtónak szintén vannak paraméterei, ezeket a modinfo /lib/ modules/hdriveri.o paranccsal listázhatjuk ki A legtöbb meghajtónak van kézikönyvlapja is. Az rpm -ql pcmcia | grep man paranccsal a pcmcia csomagban található összes kézikönyvlap listáját megkaphatjuk. Az egyes paraméterek teszteléséhez kézzel is betölthetjük a modulokat. Természetesen itt is figyelnünk kell arra, hogy a használt PCMCIA rendszernek megfelelő meghajtót töltsük be. Ha megtaláltuk a megoldást, az /etc/pcmcia/config.opts fájlban általánosan letilthatjuk az adott erőforrások használatát. Arra is lehetőség van, hogy az egyes kártyák

meghajtóinak paramétereket adjunk. Például ha azt szeretnénk, ha a pcnet cs modul kizárólag az 5-ös IRQ-t használja, a következő bejegyzést kell beírnunk: module pcnet cs opts irq list=5 A 10/100 Mbit-es hálózati kártyák esetén gyakori probléma, hogy az átviteli sebességet nem érzékelik megfelelően. Ebben az esetben az ifport vagy az mii tool parancsokkal beállíthatjuk az átvitel módját és sebességét. Ahhoz hogy a hálózati kapcsolat indításakor ez automatikusan megtörténjen, az /etc/pcmcia/network szkriptet kell módosítanunk. 256 PCMCIA Telepítés PCMCIA eszközről Ha PCMCIA hálózati kártyával hálózatról, vagy PCMCIA CD-ROM-mal CD-ről szeretnénk telepíteni a SuSE Linuxot, akkor már a telepítés során szükségünk lesz működő PCMCIA támogatásra. Ehhez egy indítólemezről kell kezdenünk a telepítést, és szükségünk lesz az egyik rendszermag modulokat tartalmazó lemezre is. 9 Laptopok beállítása és

használata Hibásan beállított interfész Ebben az esetben ellenőrizzük az interfész beállításait, hogy az amúgy ritka beállítási hibákat kiküszöböljük. Hálózati kártyák esetén az /etc/ sysconfig/network/config fájlbeli DEBUG=yes változó beállításával részletesebb hibaüzeneteket kaphatunk. Más kártyák esetében, vagy ha az előző módszer nem vezetett eredményre, a kártya kezelő által futtatott szkriptbe helyezzük el a set -x sort. (Azt, hogy melyik ez a szkript, a /var/log/messages fájlból tudhatjuk meg.) Ezen sor hatására a szkript által végrehajtott összes parancs megjelenik a rendszernaplóban. Ha megtaláltuk a szkript gyanús részét, próbáljuk meg egyesével végrehajtani a parancsokat. Miután az indítólemezről elindítottuk a telepítést (vagy amennyiben CD-ről telepítünk a ‘Manuális telepítést’ választottuk) elindul a linuxrc program. Itt válasszuk a ‘Rendszermag modul (hardver meghajtó)’ ➝

‘PCMCIA modul betöltése’ menüpontot. Ekkor két beviteli mező jelenik meg, amelyekben a pcmcia core és az i82365 modulok számára adhatunk meg paramétereket. Általában ezeket üresen hagyhatjuk. A pcmcia core és az i82365 modulok dokumentációja megtalálható az első CD docu könyvtárában. A SuSE Linux 81 telepítésekor a külső PCMCIA rendszert használja.    + Fx  billentyűkombinációval válthatunk. Alt  Telepítés közben olyan virtuális konzolok is rendelkezésünkre állnak, amelyeken parancsokat futtathatunk. Mialatt a linuxrc fut, a 9-es konzolt használhatjuk (egy igen egyszerű burokkal). Miután a YaST2 elindult, a 2-es konzolon találunk egy bash burkot és a legtöbb rendszerparancs is futtatható. Ha a telepítés közben rossz meghajtómodul töltődik be a PCMCIA kártyánkhoz, akkor módosítanunk kell az indítólemezt. Ehhez természetesen nem árt, ha konyítunk valamicskét a Linuxhoz. Amint a telepítés első része

befejeződött, a rendszer részben vagy teljesen újraindul. Egyes esetekben előfordulhat hogy a PCMCIA rendszer indításakor a gép lefagy. Mivel ilyenkor már a telepített rendszermag fut, PCMCIA nélkül is elindíthatjuk a Linuxot a NOPCMCIA=yes paraméterrel. Ezzel kapcsolatban olvassuk még el a Hibakeresés fejezetet (253. oldal) A problémát úgy is megoldhatjuk, hogy még mielőtt a telepítés első SuSE Linux – Rendszerkézikönyv 257 része befejeződik, a kettes konzolon megváltoztatjuk a rendszerbeállításokat, és így már az első újraindítás is sikeres lehet. Segédeszközök A cardctl program igen hasznos segédeszköz a PCMCIA eszközökre vonatkozó információk összegyűjtéséhez és sok ezekkel kapcsolatos művelet elvégzésére. Használatáról bővebb információt a man cardctl parancs kiadásával kaphatunk. A legfontosabb beállításokat a cardctl grafikus felületével is elvégezhetjük: ez a cardinfo paranccsal

indítható. A cardinfo használatához telepítenünk kell a pcmcia-cardinfo csomagot. 9.1 ábra: A cardinfo program További hasznos programok találhatóak a pcmcia csomagban, például az ifport, az ifuser, a probe és az rcpcmcia. Ezek használatára azonban szerencsére nem mindig van szükség. A pcmcia csomagban található összes parancsot az rpm -ql pcmcia paranccsal kaphatjuk meg. A rendszermag vagy a PCMCIA csomag frissítése Ha a rendszermagot frissíteni szeretnénk, mindenképpen a SuSE által közzétett rendszermag-csomagokat telepítsük. Amennyiben mindenképpen saját rendszermagot fordítunk, a PCMCIA modulokat is feltétlenül újra kell fordítanunk Fontos, hogy ezen modulok fordításakor már az új rendszermag fusson, mivel a fordítás közben a rendszer felhasznál az éppen futó rendszermaggal kapcsolatos információkat. A pcmcia csomag már bizonyára telepítve van, de nem szabad futnia. Ha biztosak akarunk lenni benne, hogy nem fut, adjuk ki a

258 PCMCIA rpm -ba /usr/src/packages/SPECS/pcmcia.spec Az új csomagokat az /usr/src/packages/RPMS könyvtárban találjuk. A pcmcia-modules csomag tartalmazza a PCMCIA rendszermag modulokat a külső PCMCIA-hez. Ezt a csomagot a rpm --force paranccsal kell telepítenünk, mert a rendszermag modulok normális esetben a rendszermag csomag szerves részét képezik. További információ For more information about specific laptops, visit the Linux Laptop home page at Laptopokkal kapcsolatos további információért látogassunk el a Linux Laptop honlapra (http://linux-laptop.net) Hasznos információkat, a Laptop– és IrDA-HOWTO-t találhatunk a Mobilix honlapon (http:// mobilix.org/) Ezen kívül érdemes még elolvasnunk a Laptopok, Notebookok (PCMCIA) és a Linux című cikket a SuSE terméktámogatási adatbázisában (http://sdb.susede/en/sdb/html/laptophtml) 9 Laptopok beállítása és használata rcpcmcia stop parancsot. Ezután telepítsük a PCMCIA forráscsomagot

majd írjuk be a következő parancsot: Rendszerbeállítások profilkezelése – SCPM Számos esetben előfordulhat, hogy valamilyen okból meg szeretnénk változtatni számítógépünk alapvető rendszerbeállításait. Ez az igény a leggyakrabban valószínűleg hordozható számítógép használata során merülhet fel, amit különböző környezetekben egyaránt használunk. Azonban természetesen előfordulhat bármikor ugyanúgy, hogy az asztali számítógépünkön kívánunk időszakosan, eltérő hardverkomponenseket is használni. Az is könnyen elképzelhető, hogy egyszerűen csak ki szeretnénk próbálni egy új beállítást. Ilyen esetekben joggal várjuk el, hogy az eredeti rendszerbeállításokhoz bármikor problémamentesen újra visszatérhessünk. Még könnyebb dolgunk van akkor, ha a már kipróbált új beállítás is bármikor ismét újra előhívható. Ezeknek az elvárásoknak mindeddig csak a PCMCIA hardverek feleltek meg. Esetükben

különböző sablonokba menthettük el az eltérő konfigurációkat. Ezen az alapon fejlesztették ki az SCPM-et, aminek segítségével az említett lehetőségek már nem kizárólag csak a PCMCIA számára állnak rendelkezésre. Az SCPM a System Configuration Profile Management rövidítése, ami szabad fordításban rendszerbeállítási profilkezelést jelent. A profilkezelés alkalmazásával a rendszerkonfiguráció bármely tetszőlegesen meghatározott SuSE Linux – Rendszerkézikönyv 259 területét kijelölhetjük, és annak különböző beállításait egyedi konfigurációs profilokban tárolhatjuk. Kevésbé szabatosan, de érthetően megfogalmazva, ez olyan, mintha pillanatfelvételeket készítenénk a rendszer konfigurációjáról, amiket azután bármikor újra előhívhatunk. Mindehhez még szabadon meg is határozhatjuk, hogy melyik részlet legyen a képen. Az SCPM profilkezelő fő felhasználási területe nagy valószínűséggel a

laptopok hálózati beállítása lesz. Azonban az eltérő hálózati beállítások közötti váltás bizonyára más összetevőkre is hatással van, majdnem törvényszerű például, hogy egyidejűleg meg kell változtatnunk a levelezés vagy a proxyhasználat beállításait is. Ehhez még hozzájön az otthoni és a céges nyomtató közti különbség, a különleges XFree86 konfiguráció a prezentációk során alkalmazott vetítő részére, a kivételesen energiatakarékos beállítás, akkor, amikor éppen úton vagyunk a külföldi kirendeltségünk felé, ahol azután ráadásul még az időzónát is át kell majd állítanunk. Az SCPM profilkezelő minél szélesebb körben való elterjedésével egyidőben mind újabb és újabb igények és elvárások fogalmazódnak meg vele szemben. Ha alkalmazása során bármilyen újító vagy kritikai jellegű észrevételünk lenne, akkor bizalommal fordulhatunk a program fejlesztőihez, akik az SCPM számára egy

olyan rugalmas alapkoncepciót kívántak megteremteni, amivel például a szerveralapú profilkezelés is megvalósítható. Visszajelzéseket, észrevételeket és hibabejelentéseket az info@suselinux.hu e-mail címen keresztül lehet a fejlesztőkhöz eljuttatni. Alapvető fogalmak és működési elvek Első lépésként következzen most néhány alapfogalom meghatározása, amiket az SCPM profilkezelőt ismertető fejezet további részében és a YaST2 modulban is így alkalmazunk. A rendszerbeállítás (System Configuration) alatt a számítógép teljes konfigurációját értjük. Ennek részét képezik az olyan jellegű alapvető beállítások, mint például a merevlemezek partícióinak a kezelése, a hálózati beállítások, az időzóna kiválasztása, vagy a billentyűzetkiosztás megválasztása. Egy profil vagy beállítási profil a rendszerbeállítás egy olyan meghatározott állapota, amelyiket elmentettünk és szükség esetén bármikor újra

visszaállíthatunk. Az aktív profil alatt mindig azt a beállítási profilt értjük, amelyiket legutóbb bekapcsoltunk. Ez nem jelenti azt, hogy az aktuális rendszerbeállítás teljes egészében megfelel ennek a profilnak, hiszen a beállítások bármikor egyenként is megváltoztathatók egyéb más módon is. 260 Rendszerbeállítások profilkezelése – SCPM A leggyakoribb alkalmazási környezeteknek megfelelően léteznek előre definiált erőforráskészletek (resource sets). Egy ilyen erőforráskészlet kiválasztásával egyszerűen meghatározhatjuk, hogy az SCPM profilkezelő a rendszerbeállítás mely elemeit vegye figyelembe. Ha szükségünk van rá, még saját erőforráskészleteket is definiálhatunk. Az SCPM fejlesztés jelenlegi szintjén az összes beállítási profil ugyanazt az erőforráskészletet alkalmazza, azonban már folyamatban vannak fejlesztések olyan profilok irányába, amelyek különböző erőforráskészleteket is

használhatnak. Az SCPM YaST modul és további dokumentáció 9 Laptopok beállítása és használata Az SCPM profilkezelés kapcsán az erőforrás (resource) elnevezést alkalmazzuk minden olyan elemre, amelyik valamilyen módon a rendszerbeállítás részét képezi. Egy ilyen rendszerbeállítási adat lehet egy egyszerű fájl vagy softlink a metaadataival együtt, egy könyvtár, egy felhasználó, jogosultságok, vagy egy hozzáférési időkorlát is. De ugyanilyen rendszerbeállítási adat lehet egy adott rendszerszolgáltatás (démon) is, amelyik az egyik profilban fut, egy másikban pedig ki van kapcsolva. Az SCPM beállítását egyszerűen elvégezhetjük a megfelelő YaST modulban. Ha még nem ismerjük kellőképpen a profilkezelőt, akkor mindenképpen olvassuk el az ott található segítségnyújtó szövegeket is. A beállításhoz használhatjuk az SCPM parancssorból indítható grafikus előtétprogramját is, amelyik alapvetően ugyanazokat a

beállítási lehetőségeket nyújtja. Mivel a parancssori előtétprogram ismerete sok szempontból hasznos lehet, ezért itt most ezt ismertetjük bővebben. A YaST modul néhány különlegességére természetesen bővebben kitérünk az adott helyen. Az SCPM aktuális dokumentációját az információs oldalain találjuk. Ezeket megtekinthetjük a Konqueror vagy az Emacs segítségével (konqueror info:scpm parancs). A parancsértelmezőben pedig használjuk az info vagy a pinfo parancsot. Komolyabb érdeklődők és fejlesztők számára készült technikai dokumentáció a /usr/share/doc/packages/scpm alatt található. Az SCPM beállítása Ahhoz, hogy az SCPM profilkezelőt beállíthassuk, először engedélyezni kell a profilkezelést a számítógépen. Minden egyéb beállítás előtt ajánlatos első lépésként egy erőforráskészletet megadni az /lib/scpm/resource sets/ alatt találhatók közül. A kiválasztott készlet az /etc/scpmconf SuSE Linux

– Rendszerkézikönyv 261 fájl hRESOURCE SETi változójába kerül be. Ha nem adunk meg egyetlen forráskészletet sem, akkor az SCPM megpróbál létrehozni egy számára értelmezhető halmazt a erőforrásokról, amihez a rendszer különféle beállítási adatait elemzi. Ez azonban sok alkalmazás esetében túl bonyolult eredményhez vezethet. Igény szerint definiálhatunk saját erőforráskészleteket is és elhelyezhetjük azokat a /var/lib/scpm/resource sets alatt. Nem feltétlenül vezet azonban eredményre, ha túl sok és bonyolult készletet állítunk össze. Az SCPM ugyanis a megadott erőforráskészlet felhasználásával készíti el saját adatbázisát, amit a beállítási profilok kezelésére használ. Amint egy új erőforráskészletet választunk ki, a változásokat minden egyes beállítási profilra érvényesítenie kell és annyiszor kell elvégeznie, ahány profil létezik. A beállítási profilok teljes konfigurációja annál

bonyolultabb, minél nagyobb az alkalmazott erőforráskészlet. A profilkezelő számára bármikor megadhatunk egy új erőforráskészletet, azonban csak a kisebb készletről nagyobb készletre váltás működik problémamentesen. Ha ugyanis az alkalmazott erőforráskészlet rövidebb mint az előző, akkor mindig külön el kell dönteni, hogy egy erőforrás melyik verzióját (melyik profilban) kell megtartani és melyiket kell elvetni. Az SCPM profilkezelőt az scpm enable parancs kiadásával indíthatjuk el. Az első indítás során az SCPM inicializálásra kerül, ami néhány másodpercet vesz igénybe. Az SCPM-et bármikor leállíthatjuk az scpm disable paranccsal, hogy megelőzzük a véletlen átváltást egy másik profilra. A következő indításkor a profilkezelő inicializálása folytatódik. Profilok létrehozása és kezelése A profilkezelés első indításakor az SCPM elkészít egy alapértelmezett profilt (default néven) az aktuális

rendszerbeállítások alapján. A létező profilok listája megjeleníthető az scpm list parancs kiadásával. Mivel még csak egyetlen profil létezik, ezért most ez egyben az aktív profil is. Hogy melyik az éppen kijelölt aktív profil, azt mindig az scpm active paranccsal tudhatjuk meg. Az alapértelmezett profil valójában azt a kiindulási alapkonfigurációt tárolja, amit az új profilok elkészítésekor megváltoztatunk. Ezért először célszerű azokat a beállításokat elvégezni, amiknek minden profilban egységesnek kell lenniük. Az scpm reload parancs kiadása után a változtatások el lesznek mentve az új aktív profilba. Az alapértelmezett (default) profilt pedig bármikor tetszés szerint megváltoztathatjuk, átnevezhetjük vagy akár törölhetjük is. Új profilt két különböző módon hozhatunk létre; egy már létező profil szerkesztésével, vagy az aktuális rendszerbeállítások alapján. 262 Rendszerbeállítások profilkezelése

– SCPM Ha a rendszerbeállításokat bármilyen célból megváltoztattuk és az új beállításokat egy profilban el is szeretnénk tárolni (például munka néven), akkor ezt az scpm add munka paranccsal tehetjük meg. Ezáltal létrehoztunk egy új profilt az éppen aktuális rendszerbeállítások alapján. Az új munka profil egyben a kijelölt aktív profil is, azaz az scpm reload parancs kiadása után a változtatások ebbe lesznek elmentve. Profilokat természetesen bármikor átnevezhetünk és törölhetünk, erre szolgálnak az scpm rename x y és az scpm delete x parancsok. Ha a munka profilt szeretnénk például otthon névre átkeresztelni és ezután egyből törölni, akkor adjuk ki az scpm rename munka otthon majd az scpm delete munka parancsot. Csak az aktív profilt nem lehet törölni Az egyes parancsok felsorolása: 9 Laptopok beállítása és használata Ha egy új profil létrehozásához egy már meglévő profilt szeretnénk kiindulásként

felhasználni, például a munka profilt szeretnénk elkészíteni a default alapján, akkor ehhez először az scpm copy default munka parancsot kell kiadnunk. Az scpm switch munka paranccsal átkapcsolhatunk az új profilra, amit azután tetszőlegesen szerkeszthetünk. scpm list kilistázza a létező profilokat scpm active megmutatja az aktív profilt scpm add hprofilnév i elmenti a jelenlegi rendszerbeállításokat egy új profilba és azt kijelöli aktívnak scpm copy hprofilnév1i hprofilnév2i átmásol egy profilt egy új profilba scpm rename hprofilnév1i hprofilnév2i átnevez egy profilt scpm delete hprofilnév i töröl egy profilt A YaST2 modulban a ‘Hozzáadás’ gombbal hozhatunk létre egy új profilt. Ennek során kiválaszthatjuk, hogy ezt egy már meglévő profil, vagy a jelenlegi rendszerbeállítások alapján kívánjuk-e elkészíteni. Profilok átnevezésére a ‘Szerkesztés’ alatt van lehetőség. Átkapcsolás a beállítási profilok

között Egy másik profilra (példánkban ez a munka) az scpm switch munka paranccsal válthatunk át. Engedélyezett az éppen aktív profilra történő átváltás SuSE Linux – Rendszerkézikönyv 263 is, így menthetjük el az utólag megváltoztatott rendszerbeállításokat az adott profilba. Erre használhatjuk még az scpm reload parancsot is Hogy a profilváltás folyamatát és a közben megjelenő esetleges kérdéseket pontosabban megértsük, meg kell először ismernünk, hogy mi is történik annak során. Az SCPM először összehasonlítja az aktuálisan érvényes és az aktív profilba eredetileg elmentett rendszerbeállításokat. Ennek során azt vizsgálja, hogy a legutolsó átkapcsolás óta, azaz a jelenleg aktív profilra történt átváltás óta, melyik a profilban is szereplő erőforrás (beállítási adat) változott meg. Ezután minden egyes megváltozott erőforrás esetén eldönthetjük, hogy az abban történt változást

átvesszük-e a még mindig aktív profilba, vagy sem. Ezek a kérdések tehát azt a profilt érintik, amelyiket éppen el kívánunk hagyni. Az SCPM ezután az aktuális rendszerbeállításokat az alkalmazni kívánt új profillal hasonlítja össze. Ennek során megvizsgálja, hogy melyek azok a rendszerszolgáltatások, amiket az új beállítások életbeléptetése, vagy kölcsönös függőségek miatt le kell állítani illetve el kell (újra) indítani. Ezt a rendszer részleges újraindításaként is felfogatjuk, ami azonban a rendszernek csak egy kisebb részét érinti és az egyéb részek változatlanul tovább működnek. Az profilváltási folyamat során eddig összegyűjtött adatokat az SCPM ezután megjeleníti egy felbukkanó ablakban és csak azok jóváhagyása után hajtja végre magát a profilváltást, azaz a következő műveleteket: 1. leállítja az érintett rendszerszolgáltatásokat, 2. elmenti a megváltoztatott erőforrásokat (általában

beállítási fájlokat) és 3. (újra) elindítja a kívánt rendszerszolgáltatásokat Különleges profilbeállítások Minden profil mellé készíthetünk egy leírást is, ami ezután az scpm list parancs kiadásakor szintén megjelenik. Az éppen aktív profil számára elkészíthetjük ezt a leírást az scpm set description "szöveg" paranccsal. A nem aktív profilokhoz még meg kell adni a profil nevét is, azaz: scpm set description "szöveg" munka. Előfordulhat, hogy egy új profilra való átváltás folyamán szeretnénk egyéb más tevékenységeket is elvégeztetni, amik az SCPM-ben (még) nem állnak rendelkezésre. Ezért minden profilhoz négy futtatható programot vagy szkriptet rendelhetünk hozzá, amik a profilváltás különböző fázisaiban lesznek futtatva. Ezek a fázisok a: 264 Rendszerbeállítások profilkezelése – SCPM prestop a szolgáltatások leállítása előtt, a profil kikapcsolásakor prestart a

szolgáltatások indítása előtt, a profil aktiválásakor poststart a szolgáltatások indítása után, a profil aktiválásakor A példáinkban szereplő munka profilról az otthon profilra való átkapcsolás tehát a következő lépésekben zajlik: 1. A munka profil leállítás előtt futó szkript végrehajtása 2. Szolgáltatások leállítása 3. A munka profil leállítás után futó szkript végrehajtása 4. A rendszerbeállítások megváltoztatása 5. Az otthon profil indítása előtt futó szkript végrehajtása 6. Szolgáltatások elindítása Laptopok beállítása és használata poststop a szolgáltatások leállítása után, a profil kikapcsolásakor 9 7. Az otthon profil indítása után futó szkript végrehajtása A kiegészítő műveleteket a set paranccsal is beiktathatjuk, azaz: scpm set prestop hfájlnév i, scpm set poststop hfájlnév i, scpm set prestart hfájlnév i és scpm set poststart hfájlnév i. Itt mindig egy futtatható programot

kell megadni, azaz a szkripteknek tartalmazniuk kell a megfelelő értelmezőt is, és biztosítani kell a jogot (legalább) a root felhasználó számára, hogy futtathassa őket. Minden kiegészítő beállítás, amit a set paranccsal adtunk meg, lekérdezhető a get paranccsal. Például az scpm get poststart megjeleníti a profil indítása után futó szkript nevét, ha van ilyen. Ezeket a beállításokat "" általi felülírással törölhetjük; ez azt jelenti, hogy az scpm set prestop ”” parancs kiadása után a profil leállítása előtt futó szkript ki lesz iktatva. A leírásokhoz hasonló módon a set és a get parancsokat is alkalmazhatjuk bármely tetszőleges profil kiegészítéséhez. Ehhez csak meg kell adnunk a kívánt profil nevét, például: scpm set prestop hfájlnév i munka vagy scpm get prestop munka. SuSE Linux – Rendszerkézikönyv 265 Figyelem Mivel ezek a szkriptek vagy programok a root felhasználó jogosultságaival

lesznek végrehajtva, gondoskodjunk róla, hogy más felhasználó ne módosíthassa őket. A szkriptek rendszerint bizalmas információkat is tartalmaznak, ezért ajánlatos, hogy csak a root felhasználó számára engedélyezzük az olvasást. A legjobb megoldás az, ha ezeket a programokat -rwx---- root root jogosultsággal látjuk el . (chmod 700 hfájlnév i és chown root.root hfájlnév i) Figyelem Beállítási profil kiválasztása a rendszerindításkor Lehetőségünk van arra is, hogy az alkalmazni kívánt beállítási profilt már a rendszerindítás során kiválasszuk. Ehhez csak meg kell adnunk a PROFILE=hprofil nevei rendszerindítási paramétert a rendszerindítási parancssorban. A title opcióban szintén a profil nevét kell használni. Az alapértelmezett rendszertöltő a GRUB. A program részletes leírását a Rendszertöltés a GRUB rendszertöltővel fejezetben (80. oldal) találjuk; vagy olvassuk el az ide vonatkozó információs oldalakat az info

grub parancs kiadása után. 266 Rendszerbeállítások profilkezelése – SCPM A GRUB beállítása ilyenkor például így néz ki: title munka kernel (hd0,5)/boot/vmlinuz-2.419-4GB root=/dev/hda6 PROFILE=munka initrd (hd0,5)/boot/initrd-2.419-4GB title otthon kernel (hd0,5)/boot/vmlinuz-2.419-4GB root=/dev/hda6 PROFILE=otthon initrd (hd0,5)/boot/initrd-2.419-4GB title uton kernel (hd0,5)/boot/vmlinuz-2.419-4GB root=/dev/hda6 PROFILE=uton initrd (hd0,5)/boot/initrd-2.419-4GB Laptopok beállítása és használata gfxmenu (hd0,5)/boot/message color white/green black/light-gray default 0 timeout 8 9 19. fájllista: A /boot/grub/menulst fájl Azokon a rendszereken, amelyek még a LILO rendszertöltőt alkalmazzák, a 20. fájllista szerint végezhetjük el a szükséges beállításokat. boot = /dev/hda change-rules reset read-only menu-scheme = Wg:kw:Wg:Wg prompt timeout = 80 message = /boot/message image label root initrd append = = = = = /boot/vmlinuz otthon /dev/hda6

/boot/initrd "vga=0x317 hde=ide-scsi PROFILE=otthon" image label = /boot/vmlinuz = munka SuSE Linux – Rendszerkézikönyv 267 root = /dev/hda6 initrd = /boot/initrd append = "vga=0x317 hde=ide-scsi PROFILE=munka" image label root initrd append = = = = = /boot/vmlinuz uton /dev/hda6 /boot/initrd "vga=0x317 hde=ide-scsi PROFILE=uton" 20. fájllista: Az /etc/liloconf fájl Most már a rendszertöltés során egyszerűen kiválasztható az alkalmazni kívánt beállítási profil. APM és ACPI – energiakezelő rendszerek Ahhoz, hogy használni tudjuk a Linux energiakezelő rendszerét, a megfelelő hardverrel és BIOS rendszerrel kell rendelkeznünk. Ezeknek a követelményeknek nem csak a legtöbb hordozható számítógép (laptop), hanem a legtöbb szokványos számítógép is megfelel ma már. Az energiagazdálkodási funkcióknál eddig a legtöbben az APM szabványt alkalmazták (angolul Advanced Power Management). Ennek

működését a számítógép BIOS rendszere határozza meg, így lényeges különbségek tapasztalhatók az egyes eszközök között. Ha hordozható számítógépünkön megfelelően működik az APM rendszer, akkor azt célszerű használni Az utóbbi időben azonban olyan gépek is kaphatók, melyekben a gyártó teljesen lemond az APM rendszer használatáról és az újabb ACPI rendszert használja (angolul Advanced Configuration and Power Interface). Ennek megvalósítása azonban alapvetően bonyolultabb, és működéséhez szorosan együtt kell működniük a hardvergyártóknak, a BIOS programozóknak valamint az operációs rendszer fejlesztőinek. Ezen felül a Linux rendszermag sem támogatja még teljesen, így a legtöbbjüknek a 2.6-os rendszermag megjelenésére kell várnunk, ha az ACPI rendszert szeretnénk használni. Energiatakarékossági funkciók A legtöbb itt leírt funkció és beállítás minden számítógépre vonatkozik, „valódi”

értéke azonban a legtöbb esetben csak hordozható számítógépeknél tapasztalható. Az alábbiakban áttekintjük, hogy milyen lehetőségek állnak rendelkezésünkre, és hogy azok hogyan működnek. 268 APM és ACPI – energiakezelő rendszerek Suspend (to memory) – felfüggesztés a memóriában Itt a rendszer teljes állapota mentésre kerül a memóriába, majd kikapcsolja az egyes hardverelemeket. Ebben az állapotban a gép csak nagyon kevés áramot fogyaszt és típusától függően akár egy-két napon át is használhatjuk kizárólag az akkumulátorral A felfüggesztés állapotának előnye, hogy pillanatok alatt felébred a gép és azonnal ott dolgozhatunk tovább, ahol éppen abbahagytuk a munkát. Nincs szükség a rendszer újbóli indítására és az egyes programok újból betöltésére. A legtöbb laptopnál ehhez nem kell mást tennünk, mint lecsukni annak fedelét. Ha újból kinyitjuk máris rendelkezésre áll a rendszer. Ez az állapot

az S3-as ACPI állapotának felel meg. Hibernation (Suspend to disk) – felfüggesztés a merevlemezre Ennél a módszernél a számítógép akár egy egész télen keresztül is megy anélkül, hogy újra kellene indítanunk azt (a hibernáció szó jelentése: áttelelés), mivel itt a rendszer állapota a merevlemezre íródik, majd az kikapcsol. A téli álomból történő visszatérés rendszerint 30 - 90 másodpercet vesz igénybe, és pontosan visszaállítja a felfüggesztés előtti állapotot. Az egyes gyártók hordozható számítógépeinél kombinálják fenti módszereket (példáulRediSafe az IBM Thinkpad gépeknél). A hibernáció a S4-es ACPI állapotának felel meg. a hibernációnak létezik egy magyar fejlesztésű, teljesen szoftveres megoldása is, mely azonban nem része a SuSE Linux disztribúciónak és melynek megvalósításához szakértői Linux tudás szükséges: http://falcon.schbmehu/~seasons/linux/ swsusp.html 9 Laptopok beállítása és

használata Stand-by – pihenés Ennél a módszernél tulajdonképpen csak a monitor kapcsolódik ki. Bizonyos processzoroknál a processzor is kevesebb energiát fogyaszt. Ez a funkció nem minden APM rendszernél érhető el ACPI alatt ez az állapot az S2-nek felel meg. Az akkumulátor állapotának ellenőrzése Azon felül, hogy a legtöbb esetben tudni szeretnénk, hogy mennyi energia van még az akkuban, az is fontos, hogy mit teszt a gép, ha lemerülőben van. Ehhez a legtöbb rendszereknél a BIOS nyújt valamilyen megoldást. Linux alatt használhatjuk hozza az apmd illetve acpid programokat vagy a klaptopdaemon alkalmazást. Automatikus kikapcsolódás Fontos, hogy a laptop a rendszer leállítását követően teljesen kikapcsoljon. Erre főleg akkor van szükség, amik a gép a lemerülő akkumulátor miatt automatikusan leállítja a rendszert, mielőtt teljesen lemerülne. Egyes elemek kikapcsolása Az egyik legfontosabb tényező az energia takarékossága

szempontjából a merevlemez. A rendszer SuSE Linux – Rendszerkézikönyv 269 megbízhatóságától függően több vagy kevesebb ideig tudjuk azt felfüggeszteni. Tisztában kell azonban lennünk azzal, hogy az adatvesztés kockázata annál nagyobb, minél több ideig hagyjuk felfüggesztve a merevlemezt. A BIOS rendszerben illetve az ACPI rendszernél/footnoteelméletileg lehetőség van arra, hogy az egyes eszközöket ideiglenesen kikapcsoljuk. Ezt tegyük meg Főleg az infravörös kaput ne aktíváljuk, amíg nincs rá szükségünk . A processzor teljesítményének vezérlése Legtöbbször csak az BIOS APM részében tudjuk erre vonatkozó beállításokat elvégezni. Linux alatt a processzor órajelét az apmd csomagban lévő procspeed programmal is tudjuk vezérelni. APM Az APM-BIOS bizonyos áramtakarékossági funkciókat magától hajtja végre. Ezen felül a legtöbb laptop gépen külön billentyűk találhatók a rendszer pihentetéséhez (Stand-by)

illetve felfüggesztéséhez (Suspend). Ezekhez a funkciókhoz rendszerint az operációs rendszerre nincs szükség. Akinek azonban arra van szüksége, hogy ezeket a funkciókat szoftveresen elérje, illetve ha azt szeretnénk, hogy a például rendszer felfüggesztése előtt még végrehajtódjon egy parancs, akkor rendelkeznünk kell a megfelelő rendszermaggal és a megfelelő alkalmazásokkal. A SuSE Linux rendszermag teljes APM támogatást tartalmaz. Amennyiben a rendszermag a rendszer indításkor egy APM kompatíbilis BIOS-t talál el is indítja annak támogatását. Ha rendszerünket APM támogatás nélkül szeretnénk indítani, válasszuk a ‘Installation – Safe settings’ menüpontot a telepítéskor illetve adjuk meg az apm=off opciót a rendszerindítási promptnál. Az APM állapotát a cat /proc/apm paranccsal tudjuk lekérdezni. Ha a parancs kiadását követően egy különböző jeleket tartalmazó sor megjelenik, be van kapcsolva az APM támogatás. Ha

most például kiadnánk a shutdown -h parancsot, kikapcsolna a számítógép. Mivel néhány BIOS rendszer nem tartja be a tulajdonképpeni szabványokat, néha nem mindig úgy viselkedik az APM rendszer, ahogyan kellene. Néhány problémát úgy lehet megoldani, hogy a rendszer indításakor megadunk egy külön rendszerindítási paramétert. A lehetséges paraméterek, melyeket az apm=hparaméter i formában kell megadnunk, az alábbiak: on/off APM támogatás be-/kikapcsolása (no-)allow-ints Megszakítások használatának engedélyezése a BIOS funkciók számára 270 APM és ACPI – energiakezelő rendszerek (no-)broken-psr Ha nem működik a BIOS „GetPowerStatus” funkciója (no-)debug Az APM események naplózását határozza meg (no-)power-off Meghatározza a gép kikapcsolását a rendszer leállítását követően bounce-interval=hni Az itt 1/100 másodpercekben megadott ideig, a rendszer ignorál minden új felfüggesztési eseményt. idle-threshold=hni

A rendszer aktivitásának azon aránya %-ban, amelynél a BIOS tétlennek tekinti az eszközt (0=mindig, 100=soha) idle-period=hni Idő 1/100 másodpercben, amely alatt a rendszer megállapítja, hogy az eszköz tétlen-e. A APM démon (apmd) Az apmd feladata az akkumulátor ellenőrzése.Továbbá használhatjuk arra is, hogy a rendszer pihentetésekor vagy felfüggesztésekor végrehajtódjon egy bizonyos esemény. Az apmd csomag a rendszer működéséhez nem feltétlenül szükséges, azonban számos probléma megoldásánál segíthet. Laptopok beállítása és használata (no-)realmode-power-off Visszakapcsolja a processzort valódi módba (Real Mode), mielőtt kikapcsolna a gép 9 Az apmd a rendszer indításakor nem indul el automatikusan. Amennyiben azonban szeretnénk, beállíthatjuk automatikus indítását a YaST2 futási szint szerkesztő moduljával (lásd a megfelelő fejezetet a Felhasználói kézikönyvben). Ha nem használunk YaST-ot, beállíthatjuk a

chkconfig programmal. Az apmd manuális indításához root felhasználóként ki kell adnunk az rcapmd start parancsot. A energiagazdálkodási démon beállítása az /etc/sysconfig/ powermanagement fájlban található változókon keresztül történik. Mivel a fájlban számos megjegyzés található, itt csak néhány hasznos tippet adunk. APMD ADJUST DISK PERF Ez az opció azt határozza meg, hogy a merevlemez az áramellátásnak megfelelően működjön. A változó beállításához további opciók tartoznak, melyek mind APMD BATTERY-vel vagy APMD AC-val kezdődnek, ahol az előzőnél az akkuval kapcsolatos beállításokról , az utóbbinál a külső áramellátással kapcsolatos beállításokról van szó. SuSE Linux – Rendszerkézikönyv 271 APMD BATTERY/AC DISK TIMEOUT Meghatározza, hogy a merevlemez mennyi idő után kapcsoljon tétlenségi állapotra. A lehetséges értékekről a Pihentessük a merevlemezt bekezdéseben (276. oldal) illetve a

hdparm kézikönyvlapjában olvashatunk bővebben (-S opció). APMD BATTERY/AC KUPDATED INTERVAL Az egyes Kernel Update démonok futtatási közötti idő. APMD BATTERY/AC DATA TIMEOUT Az átmeneti tárolóban található adatók maximális kora. APMD BATTERY/AC FILL LEVEL Az átmeneti tároló maximális telitettsége. APMD PCMCIA EJECT ON SUSPEND Annak ellenére, hogy SuSE Linux alatt a PCMCIA rendszer APM támogatással lett lefordítva, előfordulhat, hogy az egyes meghajtóknál a kártya a felfüggesztés követően nem használható már (xirc2ps cs). E probléma elkerüléséhez ki kell kapcsolni a PCMCIA rendszert a felfüggesztés előtt, majd a felébredést követően újra indítani azt. Amennyiben ilyen jellegű problémáink vannak, állítsuk az APMD PCMCIA EJECT ON SUSPEND változót yes értékre. APMD INTERFACES TO STOP Itt adhatunk hálózati interfészeket, amelyeket – a PCMCIA kártyákhoz hasonlóan – ki szeretnénk kapcsolni a felfüggesztés előtt.

APMD INTERFACES TO UNLOAD Ha ezekhez az interfészekhez a megfelelő modulokat is kell kell távolítani, akkor azt itt tudjuk megadni. APMD TURN OFF IDEDMA BEFORE SUSPEND Előfordulhat, hogy a merevlemez nem akar felébredni, ha bekapcsolt DMA módban függesztettük fel. Ennél a változónál be tudjuk állítani, hogy a DMA mód a felfüggesztés előtt kikapcsolásra kerüljön. A konfigurációs fájl további lehetőségeket is tartalmaz, például a rendszeróra igazításához vagy a billentyűzet ismétlési rátának (újra-)beállításához. Szintén ebben a fájlban tudjuk beállítani, hogy a rendszer az akkumulátor lemerülése előtt automatikusan leálljon. Ha még jobban szeretnénk testreszabni az APM lehetőségeit, akkor szerkesszük a /usr/sbin/apmd proxy szkriptet, melyen keresztül minden fent leírt lehetőség végrehajtódik. 272 APM és ACPI – energiakezelő rendszerek 9 Hasznos parancsok Az apmsleep parancs segítségével egy adott

ideig tudjuk felfüggeszteni a rendszert, ahogyan azt az apmsleep kézikönyvlapjában olvashatjuk. Ha egy naplófájlt úgy akarjuk figyelni, hogy közben ne mennyen állandóan a merevlemez, használhatjuk a tail -f parancs helyett a tailf programot. Természetesen grafikus felület alá is léteznek megfelelő segédeszközök. Az akkumulátor állapotát például az xapm vagy a KDE panelbe integrált klaptopdeamon programmal tudjuk megtekinteni. Az utóbbi programon keresztül a rendszer felfüggesztése is lehetséges, alapértelmezett esetben azonban csak root-ként. ACPI Laptopok beállítása és használata Az apmd csomag néhány további hasznos parancsot tartalmaz. Az apm parancs segítségével le tudjuk kérdezni az akkumulátor állapotát és szükség szerint pihentetni vagy felfüggeszteni tudjuk a rendszert (apm -S illetve apm -s). A parancs pontos működéséhez tekintsük meg annak kézikönyvlapját (man apm). Általános tudnivalók Az ACPI az Advanced

Configuration and Power Interface (bővített beállítási és energiagazdálkodási interfész) rövidítése, mely lehetővé teszi az operációs rendszer számára, hogy egyenként beállítsa és irányítsa a megfelelő hardverelemeket. Így az ACPI hosszú távon nem csak az APM-et fogja helyettesíteni, hanem a „Plug and Play” rendszert is. Az ACPI azon része, mely a hardvert inicializálja, nem témája ennek a bekezdésnek. Igazán a felhasználó itt nem is nagyon tud mit beállítani. A BIOS-ban találhatók különböző táblázatok, melyek információkat tartalmaznak az egyes hardverelemekről és azok hozzáférhetőségéről. Ezeket az információkat használja az operációs rendszer a hardverhez történő hozzáféréshez, a megszakítások kezeléséhez illetve az egyes hardverek ki/bekapcsolásához. Mivel az operációs rendszer azonban csak a BIOS-ban lévő utasításokat tudja végrehajtani, nagymértékben BIOS-függő a rendszer. A

gépünk BIOS-ában lévő, és a Linux által felismert táblázatokról a rendszerindító üzenetek adnak felvilágosítást. Megtaláljuk őket a /var/log/bootmsg fájlban. DSDT Differentiated System Description Table: A számítógép egyes alkatrészeiről és annak beállítási lehetőségeiről tartalmaz információkat. SuSE Linux – Rendszerkézikönyv 273 FADT Fixed ACPI Description Table: Az ACPI hardver-regiszterblokk megvalósításáról tartalmaz információkat, többek között a DSDT fizikai elérhetőségét tartalmazza. MADT Multiple APIC Description Table: Leírja az APIC megvalósítását és beállítását. RSDT Root System Description Table: A többi táblázatokra utaló mutatókat tartalmazó táblázat. Az RSDT-re utaló mutatónak (RSDP) az alacsony szintű memóriában kell lennie. SSDT Secondary System Description Table: A DSDT tábla folytatása. Egymás mellett több SSDT is létezhet, ami a rendszer rugalmasságát növeli,

elsősorban OEM esetében. XSDT Extended Root System Description Table: Ugyanazokat az információkat tartalmazza, mint az RSDT, tartalmazhat azonban 32 bitnél nagyobb Description Header mutatókat. Az RSDP mutathat az XSDT-re is. Az ACPI szabvány különböző rendszer-állapotokat definiál. Megkülönbözteti az alábbi főállapotokat: G0 A rendszer dolgozik. G1 A rendszer alszik. G0-ra váltás az operációs rendszer újraindítása nélkül lehetséges (Suspend). G2 Szoftveres kikapcsolás. Az operációs rendszernek kell indulnia a bekapcsoláskor. G3 Hardveres kikapcsolás. A rendszer nem kap áramot Ezen felül létezik 6 különböző alvásállapot, melyekkel jobban meg lehet különböztetni a G0/G1/G2 állapotokat: S0 A rendszer dolgozik. S1 Készenlét: kevesebb áramfogyasztás, azonnali ébredés. S2 Egy másik fajta készenlét, ezt a gyakorlatban nagyon ritkán alkalmazzák. S3 Felfüggesztés: minimális áramfogyasztás, gyors ébredés. S4 Hibernálás

illetve Felfüggesztés a merevlemezre: nincs áramfogyasztás, lassú ébredés (a hardvertől függően 20 és 100 másodperc között). 274 APM és ACPI – energiakezelő rendszerek 9 S5 Szoftveres kikapcsolás (G2). C0 A processzor dolgozik. C1 A processzor utasításra szünetel. Így kevesebb áramot fogyaszt, mégis nagyon gyorsan fel tudja újból venni a munkát. C2 Ugyanaz, mint C1, kisebb áramfelvétellel és nagyobb ébredési idővel. C3 Ugynaz, mint C2, még takarékosabb, azonban inkonzisztenssé válik az elsődleges gyorstár (nagyon kevés gépben található, ritkán használják). Az alábbi teljesítményállapotok (performance) a különböző processzorképességektől függnek. Ilyenek például a Speedstep (Intel) vagy a PowerNow (AMD), ahol az órajel és a magfeszültség módosul: Laptopok beállítása és használata Minden egyes hardverelem rendelkezhet ezen felül egy D0 - D3 állapottal, mely aktív, felfüggesztett illetve kikapcsolt

állapotba kapcsolja a hardvert. Ezen felül már csak a processzorok számára léteznek más állapotok. Ezeket az ún. C-állapotokat csak a processzor tudja kezdeményezni, közvetlenül nincs hozzáférésünk: P0 maximális órajel és feszültség P1 első energiatakarékos mód, csökkentett órajel és feszültség, P2 következő energiatakarékos lépcső (amennyiben létezik), P3 . A harmadik lehetőség a processzor pihentetésére az ún. throttling Ennél a módszernél ideiglenesen lekapcsolásra kerül a processzor órajele: T0 0%-os órajel-lekapcsolás T1 12%-os órajel-lekapcsolás T2 25%-os órajel-lekapcsolás T4 . SuSE Linux – Rendszerkézikönyv 275 A P- és T- állapotok a felhasználó és egy megfelelő démon által közvetlenül irányíthatók. A legnagyobb különbség a két állapot között az energiatakarékosság/teljesítménycsökkenés aránya Amíg a throttling segítségével a teljesítmény az energiatakarékossággal

együtt, lineárisan csökken, addig a a teljesítményállapotoknál több energiát lehet megtakarítani, mint amennyi a teljesítménycsökkenés. A teljesítmény-csökkentést sokszor aktív hűtésnek is használják. Arra is nagyon alkalmas, ha a számítógép használata mellett gyorsan fel szeretnénk tölteni az akkumulátort. Az ACPI ezen felül az akkumulátorról, a hálózati adapterről, a hűtőventillátorról és az olyan rendszer-eseményekről, mint például a fedél lezárása vagy az akkumulátor lemerülése tud információval szolgálni. Figyelem A linuxos ACPI még nem támogatja a felfüggesztést (sem a memóriába, sem a merevlemezre (hibernálás)). Ezt a funkciót csak a 26-os rendszermag (illetve a fejlesztés alatt lévő 2.5-ös) biztosítja majd Aki már fordított rendszermagot, az már most is kísérletezhet a magyar fejlesztésű sw-susp rendszermag folttal, mely a 2.4-es rendszermaggal is lehetővé teszi a felfüggesztést. Figyelem

Az ACPI démon (acpid) Az APM démonhoz hasonlóan az ACPI démon is különböző ACPI eseményeket dolgoz fel. Egy ilyen esemény lehet például a ki-/bekapcsoló gomb megnyomása vagy a laptop fedélretesz használata. Minden egyes esemény naplózásra kerül a rendszernaplóba. Az /etc/sysconfig/ powermanagement fájlban meg tudjuk határozni, hogy a bekapcsológomb megnyomásakor (ACPI BUTTON POWER) illetve a fedélretesz becsukásakor (ACPI BUTTON LID) mi történjen. Ennél bővebb beállítási lehetőségeket nyújt a /usr/sbin/acpid proxy szkript illetve az /etc/acpi/ könyvtárban található acpid közvetlen beállítása. Az apmd-vel szemben viszonylag sok kézi beállításra van szükség, mivel a linuxos ACPI még feljesztés alatt áll. Egyes esetekben teljesen át kell konfigurálni az ACPI-t. Az esetleges javaslatokat várjuk az info@suselinux.hu címre Pihentessük a merevlemezt Linux alatt ki tudjuk kapcsolni a merevlemezt, ha nincs rá szükségünk. Ehhez

(és további a merevlemezre vonatkozó beállításokhoz) használhatjuk a hdparm 276 APM és ACPI – energiakezelő rendszerek 1. 0: Nincs felfüggesztés, a merevlemez mindig működik (SuSE Linux alatt ez az alapértelmezett) 2. 1-től 240-ig: ezeket az értékeket 5 másodperccel kell szorozni 3. 241: 30 perc után történik a felfüggesztés 4. 242: 2 x 30 perc után történik a felfüggesztés 5. 243: 3 x 30 perc után történik a felfüggesztés 6. 7. 251: 11 x 30 perc után történik a felfüggesztés A merevlemez felfüggesztése Linux alatt nem olyan egyszerű, mivel számos olyan folyamat fut, mely szint állandóan a merevlemezre ír és azt felébreszti. A felfüggesztési lehetőségének értelmes használatához tehát szükséges, hogy megértsük, hogy a Linux hogyan kezeli a merevlemezre írandó adatokat. 9 Laptopok beállítása és használata programot. A programot alapértelmezett esetben csak root felhasználóként tudjuk használni. Ha a

parancsot például a -y opcióval használjuk, pihenteti a merevlemezt, a -Y opcióval (vigyázat!) teljesen kikapcsolhatjuk azt. Ha azt szeretnénk, hogy a merevlemez egy bizonyos idő után kikapcsoljon, adjuk ki a hdparm -S hx i parancsot. A helykitöltő hxi helyet az alábbiakat adhatjuk meg: Minden egyes adat írás előtt a memóriában kerül átmeneti tárolásra. Ezt az átmeneti tárolót (puffer) a kupdated, a „Kernel Update Daemon” felügyeli. Amikor a pufferben egy bizonyos adatmennyiség összegyűlt, illetve amikor a pufferben lévő adatok elérték egy bizonyos kort, a rendszer kiüríti azt és kiírja az adatokat a merevlemezre. A puffer mérete dinamikus, azaz a memória méretétől és a rendszer terhelésétől függ. Mivel a rendszer főbb célja az adatok épsége, a kupdated viszonylag rövid időközönként ellenőrzi a puffert, majd ha talál ott 30 másodpercnél idősebb adatokat, vagy ha a puffer telitettsége 30%nál nagyobb,

értesíti a bdflush démont, amely kiírja az adatokat a merevlemezre. A bdflush démon ezt a feladatot a kupdated démontól függetlenül is tudja elvégezni, ha például megtelik a puffer. Ha rendszerünk megbízható, növelni tudjuk ezeket a beállításokat. Azonban mindig tisztában kell lennünk azzal, hogy ez az adatbiztonság rovására történhet. Jelenlegi beállításokat a cat /proc/sys/vm/bdflush paranccsal tudjuk kideríteni. A kimenet első értéke a puffer kiürítésének telitettségi értéke A hatodik érték a pufferben lévő adatok maximális kora 1/100 másodpercekben. SuSE Linux – Rendszerkézikönyv 277 Az ötödik érték az ellenőrzéshez alkalmazott időköz, szintén 1/100 másodpercekben. Ha például az ellenőrzési időközt 1 percre szeretnénk növelni akkor vissza kell írnunk az új adatokat az alábbi paranccsal: echo 30 500 0 0 6000 > /proc/sys/vm/bdflush A változtatni kívánt érték előtti adatokat másoljuk le, az

utána követő értékeket nem kell még egyszer megadnunk. Ha például csak a pufferértéket szeretnénk növelni (60 %-ra), akkor azt a következő paranccsal tehetjük meg: echo 60 > /proc/sys/vm/bdflush Az egyes értékek pontos jelentéséről a rendszermag dokumentációban lévő Documentation/filesystems/proc.txt fájlban kaphatunk további információt. Figyelem A Kernel Update Daemon beállításainak megváltoztatása kockáztathatja az adatok épségét. Ha nem vagyunk biztosak, inkább ne változtassuk az alapértelmezett beállításokat. Figyelem A legfontosabb beállításokat (merevlemez leállítása, kupdated időköz, puffer telitettség és az adatok korát) az /etc/sysconfig/powermanagement fájlban is tudjuk megadni, ráadásul az akkumulátoros üzemmódhoz és az állandó (külső) áramellátáshoz külön-külön. Az egyes változók jelentéséhez olvassuk el a megfelelő megjegyzéseket. A fent említett folyamatok mellett a naplózó

fájlrendszerek is folyamatosan írnak a merevlemezre, mint például a példáulReiserFS vagy az Ext3. Ez a folyamat, mely a metaadatok mentését szolgálja és a bdflush parancstól teljesen függetlenül történik, szintén megakadályozza a merevlemez felfüggesztését. Jelenleg az Ext3/JBD fájlrendszer csak a /proc/sys/vm/bdflush ötödik értékének megváltoztatását engedélyezi, így azonban tényleg csökkenttethető a metaadatok írási gyakorisága. A ReiserFS fájlrendszernél is nemsokára lehetővé válik a fájlrendszert karbantartó munkák és a merevlemez felfüggeszttetése. Ha minden áron felfüggeszteni szeretnénk a merevlemezünket, akkor egyelőre még a régi jó ext2 fájlrendszer a legjobb megoldás. Végül az egyes alkalmazásokról sem szabad feledkeznünk. Így írnak például a jobb (szöveg-) szerkesztők rendszeresen a merevlemezre, ahol adatainkról biztonsági másolatokat készítenek. Természetesen ettől is rendszeresen

felébredhet a merevlemez. A legtöbb programban ki tudjuk kapcsolni az automatikus mentést, azonban itt is gondoskodjunk adataink biztonságáról 278 APM és ACPI – energiakezelő rendszerek Infravörös adatátvitel – IrDA Az IrDA (Infrared Data Association) egy ipari szabvány elnevezése, ami infravörös fény alkalmazásával biztosítja a vezeték nélküli adatátvitelt. A forgalomban lévő laptopok többsége már fel van szerelve egy IrDA kompatibilis adó-vevővel amin keresztül lehetséges számukra a kommunikáció más eszközökkel, mint például nyomtatókkal, modemekkel, LAN-nal és más laptopokkal. Az átvitel sávszélessége 2400 bps-tól egészen 4 Mbps-ig terjedhet Az IrDA számára két különböző üzemmód létezik. Az egyszerűbb SIR üzemmódban az infra kapu egy soros portot használ az adatátvitel során. Ez az üzemmód majdnem az összes eszközön működik és a felhasználói igények többségét kielégíti. A gyorsabb FIR

üzemmód egy speciális meghajtót igényel az IrDA chip számára, azonban nem minden chiphez létezik ilyen meghajtó. Ezenkívül a kívánt üzemmódot még be kell állítani a BIOS setupban, ahol azt is megtudhatjuk, hogy melyik soros kaput is használja a SIR üzemmód. 9 Laptopok beállítása és használata mielőtt ezt megtennénk. A postfix levelezőrendszer démonja rendelkezik például egy POSTFIX LAPTOP változóval. Ha ezt yes-re állítjuk lényegesen ritkábban nyúl a merevlemezhez. Az érték beállítása azonban csak akkor érdemes, ha nem növeljük a kupdated időközét. További részletes információért keressük fel a Werner Heuser által szerkesztett IrDA-Howto honlapot, ez megtalálható a http://tuxmobil.org/ Infrared-HOWTO/Infrared-HOWTO.html címen, vagy közvetlenül a Linux IrDA projekt hivatalos honlapját: http://irda.sourceforgenet/ Szoftver A szükséges rendszermag modulokat a rendszermag csomag tartalmazza. Az irda csomag az infra

csatoló támogatásához szükséges segédprogramokat biztosítja. A csomag telepítése után a dokumentációt a /usr/share/doc/ packages/irda/README alatt találjuk meg. Beállítások Az IrDA rendszerszolgáltatás alapértelmezett beállításnál nem indul el automatikusan a rendszerindítás során. A YaST2 Futási szint szerkesztő moduljában változtathatjuk meg a beállításokat a rendszerszolgáltatások indítása számára. Alternatív megoldásként alkalmazhatjuk még a chkconfig parancsot is. Sajnos gépünk az IrDA futtatása során érezhetően több energiát SuSE Linux – Rendszerkézikönyv 279 igényel, mert az néhány másodpercnyi időközönként rendszeresen elküld egy "felfedező" csomagot (discovery packet), más perifériák automatikus felismerése céljából. Ezért, ha akku üzemmódban dolgozunk, célszerű az IrDA szolgáltatást csak akkor elindítani, amikor tényleg használni szeretnénk. A következő paranccsal

bármikor aktiválhatjuk a csatolót: rcirda start A leállításhoz pedig a stop paramétert adjuk meg. A csatoló aktiválásakor az ehhez szükséges rendszermag modulok automatikusan betöltődnek. Az /etc/sysconfig/irda beállítási fájlban egyetlen változó található, ez a: hIRDA PORTi. Itt beállíthatjuk, hogy melyik soros kaput használja a SIR üzemmód; ez az infra támogatás elindításakor az /etc/irda/drivers szkripten keresztül lesz beállítva. Alkalmazás Ha az IrDA szolgáltatás alkalmazásával az infra kapun keresztül szeretnénk nyomtatni, akkor a /dev/irlpt0 eszközfájlon keresztül küldhetjük el az adatokat a nyomtatóra. A /dev/irlpt0 eszközfájl pontosan úgy viselkedik, mint az egyszerűbb, vezetéket használó /dev/lp0 illesztőfelület, az egyetlen különbség csak az, hogy most a nyomtatási adatok vezeték nélkül, infravörös fény alkalmazásával lesznek elküldve a nyomtatóra. Egy infra csatolón keresztül üzemeltetett

nyomtatót pontosan ugyanúgy kell beállítani, mint egy közönséges, párhuzamos vagy soros kapun keresztül üzemeltetett nyomtatót. Figyeljünk arra, hogy a nyomtatás során a nyomtató a számítógép infra csatolóját lássa és ne felejtsük el elindítani az infra támogatást. Ha az infra csatolón keresztül egy másik számítógéppel, egy mobiltelefonnal, vagy más egyéb hasonló eszközzel szeretnénk kapcsolatot létesíteni, akkor ezt a /dev/ircomm0 eszközfájlon keresztül tehetjük meg. Így például egy Siemens S25-ös mobiltelefon segítségével lehetőségünk van a wvdial programon keresztül, vezeték nélkül csatlakozni az internethez. Hasonló módon lehetséges egy Palm Pilot adatainak a lekérése, vagy frissítése is, ehhez a megfelelő programban egyszerűen csak meg kell adni a /dev/ircomm0 eszközt. Figyeljünk továbbá még arra is, hogy csak azokat az eszközöket lehetséges problémamentesen megszólítani, amelyek a nyomtató vagy az

IrCOMM protokollokat támogatják. Speciális programok segítségével (irobexpalm3, irobexreceive, lásd az IR-HOWTO dokumentációt) olyan eszközöket is megszólíthatunk, amelyek az IROBEX protokollt használják (3Com Palm Pilot). Az eszköz által támogatott protokollokat az irdadump parancs kiadásakor az eszköz neve után szögletes zárójelben kell megadni. Az IrLAN protokoll 280 Infravörös adatátvitel – IrDA Hibaelhárítás Ha az infra kapun keresztül csatlakoztatott eszközök nem reagálnak, akkor root felhasználóként az irdadump paranccsal ellenőrizhetjük, hogy az eszközt a számítógép felismeri-e: irdadump Egy Canon BJC-80 nyomtató esetén, amelyik a számítógép látótávolságában helyezkedik el, ilyenkor az alábbihoz hasonló kimenet jelenik meg, többször megismételve egymás után (lásd még a 15. listát) 21:41:38.435239 21:41:38.525167 21:41:38.615159 21:41:38.705178 21:41:38.795198 21:41:38.885163 21:41:38.965133 xid:cmd

xid:cmd xid:cmd xid:cmd xid:cmd xid:cmd xid:rsp 5b62bed5 > ffffffff S=6 s=0 (14) 5b62bed5 > ffffffff S=6 s=1 (14) 5b62bed5 > ffffffff S=6 s=2 (14) 5b62bed5 > ffffffff S=6 s=3 (14) 5b62bed5 > ffffffff S=6 s=4 (14) 5b62bed5 > ffffffff S=6 s=5 (14) 5b62bed5 < 6cac38dc S=6 s=5 BJC-80 hint=8804 [ Printer IrCOMM ] (23) 21:41:38.975176 xid:cmd 5b62bed5 > ffffffff S=6 s=* erde hint=0500 [ PnP Computer ] (21) 9 Laptopok beállítása és használata támogatása egy úgynevezett work in progress – sajnos jelenleg még nem elég stabil, de rövid időn belül bizonyosan rendelkezésre áll Linux alatt is. 15. képernyőlista: IrDA: irdadump Ha egyáltalán semmilyen kimenet sem jelenik meg vagy a másik eszköz nem jelez vissza, akkor ellenőrizzük a csatoló beállításait. Első lépésként ellenőrizzük, hogy valóban a megfelelő illesztőfelületet használjuk-e. Bizonyos esetekben az infra port a /dev/ttyS2 vagy a /dev/ttyS3 alatt található meg,

vagy egy másik megszakítást használ és nem az interrupt 3-at. Ezeket a beállításokat majdnem minden laptopon beállíthatjuk a BIOS setupban. Egy egyszerű videókamerával ellenőrizhetjük, hogy az infravörös led egyáltalán felvillan-e – az emberi szemmel ellentétben a videókamerák látják az infravörös fényt. SuSE Linux – Rendszerkézikönyv 281 III. rész Rendszer 10 A Linux rendszermag A Linux rendszermag A rendszermag a rendszer szíve. Bár a következő részben nem fogjuk megtanulni hogyan legyünk kernel hackerek, de bevezetést kapunk a rendszermag világába, beleértve a rendszermag fordításának és testreszabásának alapjait és annak frissítését. Ha követjük a rendszermag fordításakor az itt leírtakat, mindig működőképes rendszermagunk lesz, így azt bármikor el tudjuk indítani. A rendszermag frissítése . A rendszermag forrásai . A rendszermag beállítása . A

rendszermag moduljai . A rendszermag fordításához szükséges beállítások A rendszermag fordítása . A rendszermag telepítése . Rendrakás a merevlemezen fordítás után . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286 287 287 289 291 292 293 294 A szabványos SuSE rendszermag, ami telepítés folyamán a lemezre kerül, rendszerint a /boot könyvtárban található. Ez a rendszermag hardverek széles skálájához tartalmaz beállított támogatást amennyire ez lehetséges. Ha jól választottunk a telepítés vagy a frissítés során, kimondottan a mi processzorunkhoz optimalizált változatot használhatjuk. Ezért tehát nem létszükséglet saját rendszermagot fordítanunk. Mindamellett, ha ki akarunk próbálni kísérleti tulajdonságokat és meghajtóprogramokat, akkor egy saját új rendszermagot kell készítenünk. Ennek során természetesen kapunk egy érdekes

bepillantást a fejlesztés jelenlegi állapotába. Egyes Makefile-ok biztosítják a rendszermaggal való automatizálási folyamatot. Ezek a Makefile-ok kezelik szinte az összes részletet A kézzel elvégzendő dolog csak a kiválogatás, ami azonos a hardver és más rendszermag jellemzők beállításának elvégzésével. Mivel a Linuxban nagyon jártásnak kell lennünk, ahhoz, hogy a rendszermag egyes paramétereit úgy tudjuk beállítani, hogy az a végén működjön is, célszerű az első kísérletekhez egy létező konfigurációs fájlt használni. A rendszermag frissítése Ahhoz, hogy frissíteni tudjuk meglévő SuSE Linux rendszermagunkat, le kell töltenünk a megfelelő RPM csomagot a SuSE Linux FTP szerverről, vagy annak egyik tükörszerveréről, például az ftp://ftp.gwdgde/pub/linux/suse/ címről. Ott megtalálható a rendszermag csomag a <verzió> update/kernel könyvtárban. Az alapértelmezett rendszermag a k deflt- hverzióii586 rpm

nevét viseli. Mielőtt azonban telepítenénk ezt a csomagot, mindenképpen készítsünk biztonsági mentést a meglévő rendszermagról és a hozzátartozó initrd fájlról. Ehhez root felhasználóként ki kell adnunk az alábbi két parancsot: cp /boot/vmlinuz /boot/vmlinuz.old cp /boot/initrd /boot/initrd.old Most már telepíthetjük az új rendszermagot: rpm -Uvh k deflt-2.4xxxxxxrpm ahol a sok x a rendszermag megfelelő verziószámával helyettesítendő! A SuSE Linux a 7.3-as verzió óta a reiserfs fájlrendszert használja alapértelmezett fájlrendszernek. Ha mi is ezt a fájlrendszert használjuk, szükségünk van a kezdeti memóriaeszközre, amelyet az mk initrd paranccsal tudjuk létrehozni. 286 A rendszermag frissítése Természetesen bármikor újból telepíthetjük a SuSE Linux CD-ken lévő, eredeti rendszermagot. Ehhez indítsuk el a YaST-ot, majd válasszuk ki a megfelelő ‘k deflt’ csomagot a telepítéshez, vagy telepítsük az első CD

boot könyvtárában lévő csomagot a fenti lírás alapján kézzel. Amennyiben a kézi telepítéskor egy hibaüzenetet kapunk, hogy telepítve van már egy újabb csomag, használjuk az rpm parancsot a --force opcióval. A rendszermag forrásai 10 A Linux rendszermag Amennyiben a régi rendszermagot is el szeretnénk tudni indítani, be kell állítanunk a rendszertöltőt annak megfelelően. Ehhez a Rendszertöltés és rendszertöltő programok fejezetben (73. oldal) kaphatunk további információkat A rendszermag fordításához a következő csomagokat kell telepítenünk: a rendszermag forrást (kernel-source csomag), a C fordítót (gcc csomag), a GNU binutils-t (binutils csomag) és az include fájlokat a C fordítóhoz (glibc-devel csomag). A rendszermag forrása a /usr/src/linux-<kernel-verzió>.SuSE alatt helyezkedik el. Ha tervezzük a kísérletezést különféle rendszermagokkal, akkor különböző könyvtárakba kell azokat kicsomagolnunk, és

szimbolikus linket kell készítenünk az aktuális rendszermag forrásra. Mivel a szoftverek egy része támaszkodik a rendszermag forrására /usr/src/linux alatt, fenn kell tartanunk a könyvtárat szimbolikus linkként, biztosítva az olyan rendszerprogramok hibamentes fordítását, melyeknek szükségük van ennek elérésére. Ezt a YaST a rendszermag forrásának telepítésekor automatikusan teszi meg. A rendszermag beállítása A telepítéskor illetve frissítéskor beállított rendszermag konfigurációs fájlja a /usr/src/linux/.config fájlban található, feltéve, hogy nem került még (véletlenül) felülírásra egy új konfigurációval. Ha meg akarjuk változtatani a jelenlegi rendszermagbeállítást, akkor root felhasználóként lépjük be a /usr/ src/linux könyvtárba, ahol a biztonság kedvéért először ki kell adnunk az alábbi parancsot: meggyfa:/usr/src/linux # cp /boot/vmlinuz.config config A rendszermag fordítás beállítása a parancssorból

vagy egy szöveges módban futó menün keresztül történhet, de használhatunk egy megfelelő grafikus SuSE Linux – Rendszerkézikönyv 287 felületű segédeszközt is. Az alábbiakban röviden bemutatjuk e három lehetőséget. Tipp Ha a rendszermagot egy meglévő .config fájl alapján szeretnénk lefordítani, csak a make oldconfig parancsot kell kiadnunk, majd folytassuk az A rendszermag fordítása fejezet alapján (292. oldal) Ilyenkor nincs lehetőség, a konfiguráció beállítására. Tipp Rendszermag fordításának beállítása parancssorból A rendszermag beállításához be kell lépnünk a /usr/src/linux könyvtárba, majd ott ki kell adnunk a make config parancsot. Erre a program feltesz nekünk számos kérdést a leendő rendszermag képességeiről. A kérdésekre   igennel  y (angolul yes) vagy nemmel  n (angolul no) lehet választani, illetve ha nem vagyunk biztosak, hogy ezt a képességet a rendszermagba szeretnénk   m

billentyű megnyomni (angolul module), így fordítani, akkor célszerű az  modulként kerül a rendszermagba az adott képesség. Azonban azokat a meghajtókat, amelyek a rendszer indításához szükséges nem szabad modulként  lefordítani, ilyenkor tehát az  y billentyűt kell megnyomnunk. A program minden egyes beállítási lehetőséghez tesz egy javaslatot, amelyet a .config fájlból olvassa ki. Ha el akarjuk fogadni a javaslatot, egyszerűen nyomjuk meg   az  Enter  gombot. Ha bármilyen másik billentyűt nyomjuk meg, akkor segítséget kapunk az adott beállításhoz. Szöveges módban történő, menüvezérelt beállítás Valamennyivel kényelmesebb a menüvezérelt, szöveges módban futó beállítás a „menuconfig” programmal. A programot a make menuconfig paranccsal tudjuk elindítani. Ha valamilyen oknál fogva nem indulna el, ellenőrizzük, hogy telepítve van-e az ncurses-devel csomag, majd szükség szerint telepítsük a YaST2-vel. Ha a

konfiguráció csak néhány pontját szeretnénk megváltoztatni, nem kell végigmennünk, minden egyes kérdésen, hanem a menün keresztül eltudjuk érni az egyes témaköröket. Az alapértelmezett beállításokat itt is a config fájlból veszi át. Egy másik konfiguráció betöltéséhez válasszuk ki a ‘Load an Alternate Configuration File’ menüpontot, majd adjuk meg a fájl teljes elérési útvonalát. 288 A rendszermag beállítása 10 Grafikus felületű beállítás meggyfa:/usr/src/linux # make xconfig parancsot. Mivel ezt a programot csak root felhasználóként tudjuk futtatni, felhasználóként el kell indítanunk egy terminálablakot, ahol beírjuk a sux parancsot (itt meg kell adni a root jelszót), majd a make xconfig parancsot. A program a .config fájlból veszi át az alapértelmezett beállításokat Ha meg akarjuk változtatni a SuSE rendszermag illetve a jelenleg használt rendszermag beállításait, kattintsunk a ‘Load Configuration

from File’ menüpontra, majd válasszuk ki a megfelelő konfigurációs fájlt. Az aktuális rendszermag konfigurációs fájlja a /boot/vmlinuz.config Ha ezt szeretnénk használni a rendszermag fordításához, másoljuk át a /usr/src/ linux/.config fájlba A Linux rendszermag Ha grafikus felület alatt dolgozunk és telepítve van a Tcl/Tk (tcl csomag tk csomag), akkor a grafikus felületű ‘xconfig’ programmal is be tudjuk állítani a rendszermag egyes paramétereit. Ehhez ki kell adnunk a A rendszermag moduljai PC-nkhez nagyon sok féle hardver közül tudunk választani. Ahhoz, hogy használni is tudjuk ezeket a hardverelemeket, ún. meghajtókra van szükségünk, amelyen keresztül az operációs rendszer – Linux alatt ez a rendszermag – kommunikálni tudjon a hardverrel. Alapvetően az egyes meghajtókat kétféleképpen lehet a rendszermagba integrálni: Beépíthetjük a meghajtót a rendszermagba. Az ilyen rendszermagokat, melyek „egy darabból

állnak”, monolitikus rendszermagnak szoktuk nevezni. Bizonyos meghajtókat csak úgy lehet használni, ha azok beépített része a rendszermagnak. Elkészíthetjük a modulokat úgy is, hogy azok csak szükség szerint, illetve igényeink szerint betöltődjenek. Ilyenkor egy moduláris felépítésű rendszermagról beszélünk. A rendszermagmoduloknak az az előnyük, hogy csak akkor foglalnak le erőforrást, amikor valóban szükségünk van rájuk. Hogy melyik meghajtót hogyan használjuk (modulként vagy a rendszermag állandó részeként, azt a rendszermag beállításakor kell megadnunk. Célszerű minden olyan rendszermag komponenst, amire nincs állandóan szükségünk SuSE Linux – Rendszerkézikönyv 289 modulként lefordítani. Így a legtöbb esetben nem lesz túl nagy a rendszermag és a BIOS illetve a rendszertöltő probléma nélkül be tudja tölteni. A rendszermag állandó részeként „bele” kell fordítani például az ext2 fájlrendszer

támogatását és hasonló komponenseket. Az isofs és az msdos fájlrendszerek vagy például a sound támogatását mindenképpen modulként valósítsuk meg. Modulok kezelése A következő parancsok állnak rendelkezésünkre: insmod Az insmod betölti a megadott modult, miután megtalálta azt a /lib/ modules/hverziószámi alkönyvtárban. Előnyösebb azonban a modprobe használata (lásd alább) az insmod helyett. rmmod A megadott modul eltávolítása. Ez csak akkor lehetséges, ha az adott modulra már nincs szükség. Nem lehet például eltávolítani az isofs modult (a CD-ROM fájlrendszerét), amíg a CD-ROM a rendszerhez van csatolva. depmod Elkészít egy modules.dep nevű fájlt a /lib/modules/hverziószámi könyvtárban, melyben meghatározzuk a modulok függőségei. Ez biztosítja azt hogy az összes szükséges függő modul betöltődjön a kiválasztottal együtt. modprobe A megadott modul betöltése vagy eltávolítása, miközben figyelembe veszi a

modulok függőségeit is. Ez a parancs nagyon hatékony és lehetőleg ezt használjuk egy modul betöltéséhez (például minden modul kipróbálása egy adott típusból, amíg végül egy sikeresen be nem töltődik). Ellentétben az insmod-dal, a modprobe megvizsgálja az /etc/modules.confot, ami az előnyösebb módszer a modulok betöltésére Részletesebb információkat ebben a témában a megfelelő kézikönyvoldalakon találunk. lsmod Megjeleníti, hogy jelenleg mely modulok vannak betöltve, és hány modul van használatban. A rendszermag démon által indított modulok, amelyek autoclean-nel vannak megjelölve, azt mutatják hogy ezek a modulok automatikusan el lesznek távolítva, ha az üresjárati időhatárukat elérik. modinfo Részletes információkat mutat egy adott modulról. 290 A rendszermag moduljai 10 /etc/modules.conf Ebben a fájlban paraméterek találhatók azokhoz a modulokhoz, amelyeknek közvetlenül kell elérniük a hardvert, illetve

olyan moduloknak, amelyeknek rendszerspecifikus beállításokra van szükségük (például CD-ROM-meghajtók vagy hálózati meghajtók). Az itt megadott paraméterek elvben azonosak azokkal, amelyeket a rendszermag betöltésekor is megadhatunk, de sok esetben a promptnál használható nevek különbözőek. Ha egy modul betöltése sikertelen, ebben a fájlban pontosan meghatározhatjuk a hardvert, majd a modprobe parancsot használva újból megkísérelhetjük a modul betöltését. A Linux rendszermag A /etc/modules.conf határozza meg milyen modulok lesznek betöltve A depmod kézikönyvoldal (man depmod) olvashatunk erről bővebben. Kmod – a rendszermag modultöltő A rendszermag modultöltő a legelegánsabb módszer a modulok használatához. A Kmod végzi a háttérfigyelést és meggyőződik a szükséges modulok automatikus betöltődéséről amikor a modprobe parancsot futtatjuk, és a rendszermagfunkció működésbe lép. A Kmod használatához be

kell állítani a megfelelő változót a kernel konfigurálásakor (‘Kernel module loader’ (CONFIG KMOD)). A Kmod nincs a modulok automatikus eltávolítására felkészítve. A modulok eltávolításával elérhető memórianyereség jelentéktelen napjaink számítógépeinek RAM mennyiségéhez képest. Lásd még: /usr/src/ linux/Documentation/kmod.txt Éppen ezért a nagyobb teljesítményű szervereknek, melyek speciális feladatokat látnak el, és csak néhány eszközmeghajtót igényelnek, „monolitikus” rendszermagjuk van. A rendszermag fordításához szükséges beállítások Ebben a dokumentációban nem tudunk a rendszermag egyes beállítási lehetőségeire kitérni. Emiatt a rendszermag fordítása ellőtt mindenképpen olvassuk el a rendelkezésre álló dokumentációt a rendszermag fordításáról. A legújabb rendszermagdokumentáció a /usr/src/linux/Documentation könyvtárban található. SuSE Linux – Rendszerkézikönyv 291 A

rendszermag fordítása Javasoljuk, hogy bzImage képmásfájlt fordítsunk. Ez egy bevett szokás a túl nagy a rendszermag probléma elkerülésére, ami könnyen megtörténik ha nagyon sok összetevőt választunk, és egy „zImage” képmást készítünk. Ilyenkor hasonló hibaüzenetet kapunk mint: kernel too big, vagy System is too big. Miután kialakítottuk a kernel konfigurációját saját igényeink szerint, indítsuk el a fordítást: meggyfa:/usr/src/linux # make dep meggyfa:/usr/src/linux # make clean meggyfa:/usr/src/linux # make bzImage A három parancs egy sorba is írható: meggyfa:/usr/src/linux # make dep clean bzImage Rendszerünk teljesítményétől függ, mennyi időt vesz igénybe az újrafordítás. Amíg a fordítás megtörténik, nyugodtan dolgozhatunk egy másik konzolon. Sikeres fordítás után megtaláljuk a tömörített rendszermagot a /usr/src/ linux/arch/i386/boot könyvtárban. A rendszermag képmást (image), – a fájlt, ami

tartalmazza a rendszermagot – bzImage-nek hívják. Ha nem találjuk ezt a fájlt, akkor valószínűleg hiba történt a rendszermagfordítás során. Ez könnyen elkerülheti a figyelmünket a bőséges mennyiségű képernyőkimenet között. Ha hiba történt, azt megállapíthatjuk a rendszermag újrafordításával: meggyfa:/usr/src/linux # make bzImage és a parancs kiadása után figyeljük a hibaüzeneteket. Mindamellett hibák nem gyakran fordulnak elő a rendszermagfordítás közben. Ha Bash burkot használunk, beírhatjuk a következőt: meggyfa:/usr/src/linux # make bzImage 2>&1 | tee kernel.out ekkor a fordítás kimenete a kernel.out fájlba kerül tcsh burok alkalmazása esetén a parancs így néz ki: meggyfa:/usr/src/linux # make bzImage |& tee kernel.out Ha beállítottunk a rendszermaghoz modulként betöltődő részeket, akkor rendszermag fordítás után el kell indítanunk a modulok fordítását is. Ezt a következők beírásával

tudjuk megtenni: meggyfa:/usr/src/linux # 292 make modules A rendszermag fordítása 10 A rendszermag telepítése Ha LILO-t használunk, akkor azt helyesen be kell állítanunk. Egyszerűbb esetben másoljuk a rendszermagot a /boot/vmlinuz fájlba, ezt követően futtassuk a LILO-t. GRUB esetén erre nincs szükség Kellemetlen meglepetések kivédésére azonban ajánlott, hogy őrizzük meg a régi rendszermagot (/boot/ vmlinuz.old), azért hogy nyugodtan indíthassuk a rendszert akkor is, ha az új rendszermag nem az elvárásunknak megfelelően működne: meggyfa:/usr/src/linux # cp /boot/vmlinuz /boot/vmlinuz.old meggyfa:/usr/src/linux # cp arch/i386/boot/bzImage /boot/vmlinuz meggyfa:/usr/src/linux # lilo A Linux rendszermag Miután a rendszermagot lefordítottuk, telepítenünk, és indíthatóvá kell tennünk. A make bzlilo Makefile-ja mellesleg megteszi ezt a három lépést egyszerre. Tájékoztatás Amennyiben az alapértelmezett GRUB

rendszertöltőt használjuk a rendszer indításahoz, nincs szükségünk az utolsó lépésre. Ebben az esetben csak az első két parancsot kell kiadnunk, hogy a rendszermagot a helyére másoljuk! Tájékoztatás Most a lefordított modulokat még telepíteni kell. Írjuk be a következőt: meggyfa:/usr/src/linux # make modules install mire a modulok átmásolódnak a megfelelő célkönyvtárba, azaz a /lib/ modules/hverziói helyre. Amikor ezt tesszük, a régi modulok az azonos rendszermag verzióval felülíródnak. Azonban, ha akarjuk, visszatelepíthetjük az eredeti modulokat a rendszermaggal együtt a CD-ről. Figyelem Meg kell győződnünk róla, hogy azok a modulok, amelyek funkciói talán már most közvetlenül be vannak fordítva a jelenlegi rendszermagba, eltávolításra kerültek a /lib/modules/hverziószámi könyvtárból. Különben váratlan hatásuk lehet! Ez is egy oka, hogy a gyakorlatlan felhasználónak erősen ellenjavasolt az önálló

rendszermagfordítás. Figyelem SuSE Linux – Rendszerkézikönyv 293 Adjunk meg egy új címkét Linux.old a rendszertöltő konfigurációs fájljában (/boot/grub/menu.lst illetve /etc/liloconf) és nevezzük át a régi rendszermagunkat /boot/vmlinuz.old Evvel lehetővé tesszük a régi rendszermag indítását akkor is, ha az új nem működik megfelelően. Miután átalakítottuk a megfelelő konfigurációs fájlt, LILO esetén még ki kell adnunk a lilo parancsot, hogy a módosítások érvénybe lépjenek. A GRUB-nál erre nincs szükség. Ha a Linuxot DOS-ból indítjuk például egy linuxbattal (a loadlin alkalmazásával), akkor át kell másolnunk a rendszermagot a /dosc/loadlin/bzimage fájlba (illetve abba a könyvtárba, ahová a loadlin-t telepítettük), hogy a következő indításkor elérhető legyen. Ha a Linuxot a Windows NT rendszertöltőjével szeretnénk indítani, át kell másolnunk a LILO indítószektort a Windows NT indító

partíciójára (lásd a részleteket a Windows NT/2000 és Linux egy merevlemezen fejezetben (98. oldal)) Ezenkívül a /boot/System.map tartalmazza a rendszermag szimbólumokat, amelyekre a moduloknak szükségük van ahhoz, hogy biztosítsák a rendszermag funkciók indítását. Ez a fájl függ a használt rendszermagtól Ezért amint rendszermagot fordítunk és telepítünk, akkor át kell másolnunk a /usr/src/ linux/System.map fájlt a (/boot) könyvtárba Ez a fájl újragenerálódik minden rendszermag újrafordításkor. Ha a make bzlilo vagy make zlilo paranccsal fordítjuk az új rendszermagot, akkor ez automatikusan megtörténik. Ha ehhez hasonló üzenetet kapunk: System.map does not match current kernel, akkor valószínűleg a System.map nem lett átmásolva Rendrakás a merevlemezen fordítás után Ha kevés hely van merevlemezünkön, akkor töröljük a rendszermag fordítása során előállított tárgykódot a make clean kiadásával a /usr/src/linux

könyvtárban. Ha van bőven helyünk, és egy új rendszermag fordítását tervezzük ugyanabból a forrásból, akkor hagyjuk ki ezt a lépést. Az új fordítás gyorsabban készül el, ha csak azokat a részeket kell újrafordítanunk, amelyeken változtattunk. 294 Rendrakás a merevlemezen fordítás után 11 Rendszerjellemzők Rendszerjellemzők Ebben a fejezetben információkat nyújtunk a Filesystem Hierarchy Standard (FHS) és a Linux Standard Base (LSB) kezdeményezésekről, az egyes szoftvercsomagokról, valamint a SuSE Linux néhány különlegességéről, mint például a rendszerindításkor futó initrd és linuxrc programokról,valamint a „mentőrendszerről”. Linux szabványok . Példakörnyezetek FTP-hez és HTTP-hez . Különleges szoftvercsomagok . Rendszerindítás a kezdeti memóriaeszköz (initrd) segítségével . Linuxrc . A SuSE mentőrendszer .

Virtuális konzolok . Billentyűzetkiosztás . Helyi beállítások (locale) – I18N/L10N . . . . 296 296 297 . . . . . . 302 307 311 317 318 319 . . . . . . . . . . . . . . . . . . . . . . . . Linux szabványok A Filesystem Hierarchy Standard (FHS) A SuSE Linux törekszik arra, hogy minél tökéletesebben megfeleljen a Filesystem Hierarchy Standard szabványainak (FHS, fhs csomag, illetve http://www. pathname.com/fhs/) Ez oknál fogva előfordulhat néha, hogy bizonyos fájlokat illetve könyvtárakat a fájlrendszerben „helyes” helyére kell másolnunk. A Linux Standard Base (LSB) A SuSE a Linux Standard Base kezdeményezés munkáját aktívan támogatja; erről bővebben a http://www.linuxbaseorg címen olvashatunk Az LSB specifikációjának, mely jelenleg az 1.2-es verziónál tart, immár a Filesystem Hierarchy Standard (FHS) is része. Ezen kívül például a szoftvercsomagok formátumát valamint a

rendszerindítást határozza meg, amiről A SuSE Linux rendszerindítási koncepciója fejezetben (323. oldal) olvashatunk bővebben teTeX – TeX SuSE Linux alatt A SuSE Linuxban található teTeX rendszer megfelel a TEX Directory Structure (TDS) kezdeményezésben foglaltaknak, valamint az FHS-nek (lásd még: ftp://ftp.dantede/tex-archive/tds/) Példakörnyezetek FTP-hez és HTTP-hez FTP FTP szerver telepítéséhez az ftpdir csomagot javasoljuk, mely tartalmaz egy példakörnyezetet a könnyített beállításhoz. A telepített környezetet az path/srv/ftp könyvtárban találjuk meg. HTTP A SuSE Linux alapértelmezett webszervere az Apache. A program telepítésével egyidőben példafájlok is telepítésre kerülnek, melyeket az /srv/www könyvtárban találhatunk meg. Saját webszerverünk üzemeltetéséhez célszerű az /etc/httpd/httpd.conf fájlban egy új DocumentRoot bejegyzést létrehozni. 296 Linux szabványok Különleges szoftvercsomagok A bash burok

indításakor az alábbi sorrendben értékeli ki a megfelelő fájlokat, ha alapértelmezett bejelentkezési burokként használjuk: 1. /etc/profile 2. ~/profile 3. /etc/bashbashrc Rendszerjellemzők A bash csomag és az /etc/profile fájl 11 4. ~/bashrc Saját bejegyzéseinket a ~/.profile illetve a ~/bashrc fájlba írjuk bele Ahhoz, hogy ezek a fájlok megfelelően tudjanak működni, át kell vennünk az /etc/skel/.profile illetve az /etc/skel/bashrc konfigurációs fájlok alapbeállításait saját könyvtárunkban. A rendszer frissítését követően vegyük tehát át az /etc/skel könyvtárban lévő fájlok beállításait. Ezt a legjobban az alábbi parancsokat tehetjük meg, így nem veszítünk el semmilyen beállítást: mv cp mv cp ~/.bashrc ~/bashrcold /etc/skel/.bashrc ~/bashrc ~/.profile ~/profileold /etc/skel/.profile ~/profile Ezt követően másoljuk saját kiegészítéseinket az *.old kiterjesztésű fájlokból az új konfigurációs fájlokba.

A cron csomag A cron fájljai a path/var/spool/cron/tabs alatt találhatók (nem a /var/cron/ tabs könyvtárban!). A rendszerszinten érvényes táblázat az /etc/crontab fájl. Ebben a fájlban az időbejegyzésen kívül a felhasználót is meg kell adnunk, melynek a nevében fut majd az elvégzendő feladat. (a 21 fájllista esetében ez a root). Ugyanígy állíthatók be az /etc/crond könyvtárban található csomagspecifikus táblázatok is (lásd a cron kézikönyvlapot). Az /etc/crontab szerkesztése nem történhet a crontab -e paranccsal, hanem közvetlenül a szerkesztőben kell történnie. 1-59/5 * root test -x /usr/sbin/atrun && /usr/sbin/atrun SuSE Linux – Rendszerkézikönyv 297 21. fájllista: Példabejegyzés az /etc/crontab fájlból Néhány szoftvercsomag az /etc/cron.hourly, az /etc/crondaily, az /etc/cron.weekly és az /etc/cronmonthly fájlokban telepít burokszkripteket, melyek feldolgozásáról a /usr/lib/cron/run-crons gondoskodik. A

/usr/lib/cron/run-crons 15 percenként fut le, az /etc/crontab főtáblázatban lévő bejegyzés szerint. A rendszer biztosítja azon feladatok elvégzését is, melyek a cron fő mentéből (mely rendszerint naponta egyszer fut le) kimaradtak. Ha tehát a rendszerindítást követően a futó folyamatok listájában a nobody felhasználót látjuk a legtetején, ne csodálkozzunk, nagy valószínűséggel a nobody éppen frissíti a gyorskereséshez szükséges locate adatbázist (lásd a Beállítások az /etc/sysconfig könyvtárban bekezdést (347. oldal)) Naplófájlok – a logrotate csomag Számos rendszerszolgáltatás („démonok”) valamint maga a rendszermag is szabályos időközönként naplózza a rendszer állapotát és az esetleges rendkívüli eseményeket az erre a célra létrehozott naplófájlokban (angolul logfiles). Így a rendszeradminisztrátor bármikor megállapíthatja, hogy egy adott időpontban milyen állapotban volt a rendszer, és hogy az

esetleges hibák milyen módon orvosolhatók. A naplófájlok az FHS szabvány szerint a /var/log könyvtárban tárolódnak, ahol napról napra nőnek. A logrotate csomag abban nyújt segítséget, hogy a naplófájlokat karbantartsuk. Átállás a logrotate programra Ha rendszerünket egy régebbi SuSE Linux verzióból frissítjük, akkor a jelenlegi beállítások megmaradnak: Az /etc/logfile fájl azon bejegyzései, amelyek nem tartoznak semmilyen csomaghoz, átkerülnek az /etc/logrotate.d/aaa base fájlba. A volt MAX DAYS FOR LOG FILES rc.config változó dateext illetve maxage bejegyzésként belekerül a logrotate konfigurációs fájljába (lásd man 8 logrotate). Beállítás A logrotate „viselkedését” az /etc/logrotate.conf konfigurációs fájlban határozhatjuk meg. Az include bejegyzéssel meghatározhatjuk például, 298 Különleges szoftvercsomagok # see "man logrotate" for details # rotate log files weekly weekly # keep 4 weeks worth of

backlogs rotate 4 11 Rendszerjellemzők hogy milyen fájlok kerüljenek (még) kiértékelésre. SuSE Linux alatt úgy vannak beállítva az egyes csomagok, hogy az erre vonatkozó fájlokat, az /etc/logrotate.d könyvtárba telepítsék (mint például a syslog vagy a yast). # create new (empty) log files after rotating old ones create # uncomment this if you want your log files compressed #compress # RPM packages drop log rotation information into this directory include /etc/logrotate.d # no packages own lastlog or wtmp - we’ll rotate them here #/var/log/wtmp { # monthly # create 0664 root utmp # rotate 1 #} # system-specific logs may be also be configured here. 22. fájllista: Példa az /etc/logrotateconf fájlhoz A logrotate program irányítását a cron végzi el egyszer naponta az /etc/ cron.daily/logrotate alapján Tájékoztatás A create opció kiolvassa az /etc/permissions* alatt található jogosultságokat, amelyeket esetleg mi, rendszeradminisztrátorként utólag

módosítottuk. Győződjünk meg róla, hogy ezek a beállítások ne ütközzenek a logrotate beállításaival. Tájékoztatás SuSE Linux – Rendszerkézikönyv 299 Kézikönyvlapok Néhány GNU alkalmazás (például tar) nem ápolja tovább a kézikönyvlapok hagyományát. Helyette a parancs --help opcióját és a GNU hypertext rendszeren alapuló információs oldalakat kínálja () (info). Az info info paranccsal segítséget kaphatunk az info rendszer használatához, melyet vagy az Emacs emacs -f info parancson keresztül indíthatjuk el, vagy a egyszerűen az info paranccsal. Kellemesebben kezelhetjük azonban az info oldalakat tkinfo, az xinfo programokkal, vagy a SuSE segítségnyújtó rendszerén belül. A ulimit parancs A ulimit (angolul user limits(ejtsd:júlimit)) parancs lehetővé teszi, hogy az egyes rendszererőforrások használatához határokat szabjuk illetve, hogy megtekintsük a megszabott határokat. Legfontosabb funkciója talán a

memóriához való hozzáférés korlátozása, így elkerülve, hogy egyetlenegy alkalmazás túl sok memóriát igényeljen, ami akár a rendszer összeomlásához is vezethetne. A ulimit program indításakor különböző opciókat adhatunk a parancsnak, melyek közül néhányat a 11.1 táblázatban foglaltunk össze -m -v -s -c -a a fizikai memória maximális mérete a virtuális memória (swap) maximális mérete a stack maximális mérete a core fájlok maximális mérete a beállított korlátozások megtekintése 11.1 táblázat: ulimit: erőforrások korlátozása felhasználók számára Rendszerszinten az /etc/profile fájlban szabhatjuk meg a határokat, ahol például engedélyeznünk kell a programozási nyomkövetéshez szükséges core fájlok létrehozását. Felhasználóként természetesen nem növelhetjük a rendszeradminisztrátor által az /etc/profile fájlban megadott határértékeket, azonban saját magunknak is szabhatunk határokat a saját

könyvtárunkban lévő ~/.bashrc fájlban # Fizikai memória korlátozása: ulimit -m 98304 300 Különleges szoftvercsomagok 11 23. fájllista: ulimit beállítás a ~/bashrc fájlban A memóriára vonatkozó adatokat kb-ban kell hogy megadjuk. További információért olvassuk el a bash kézikönyvlapját (man bash). A free parancs Rendszerjellemzők # Virtuális memória korlátozása: ulimit -v 98304 A free, melynek segítségével kitalálhatjuk, hogy a memóriából éppen mennyit használ a rendszer, néha kicsit megtévesztő lehet. A parancs információit egyébként a /proc/meminfo fájlból veszi. Egy olyan modern operációs rendszert használva, mint a Linux manapság tulajdonképpen nem kell a szabad memóriával törődni; a szabad memória koncepció ugyanis még abból az időből származik, amikor az operációs rendszerek még nem rendelkeztek központi egységes memóriakezeléssel (angolul unified memory management). Sőt, ellenkezőleg: Linux

alatt az az alapszabály, hogy a szabad memória rossz memória. A Linux ugyanis arra törekszik, hogy egyensúlyban tartsa a különböző átmeneti tárolókat, és ne engedélyezze, hogy valóban szabad (azaz nem használt) memória álljon parlagon. A rendszermag tulajdonképpen semmilyen információval nem rendelkezik az egyes programokról vagy felhasználói adatokról. A szükséges információkat a lapozó gyorsítótárban (angolul Page Cache) tárolja. Ha el kezd fogyni a memória, a rendszermag annak egy részét a cserepartícióra vagy azokba a fájlokba írja, ahonnan eredetileg az mmap rendszerhíváson keresztül beolvasta (lásd még: man 2 mmap). Ezen felül a rendszermag további átmeneti tárolókat is használ, mint például az úgynevezett slab cache, mely a hálózati hozzáféréshez szükséges tárolót tartalmazza. A fentiek alapján talán érthetők a /proc/meminfo fájlban látható eltérések. Ezek nagy részének a /proc/slabinfo-ban található

a magyarázata. Az /etc/resolv.conf fájl Az /etc/resolv.conf fájlt az /sbin/modify resolvconf szkript tartja karban. Az egyes programok közvetlen hozzáférése az path/etc/resolvconf fájlhoz le van tiltva, mivel csak így biztosítható, hogy a hálózat és a hozzátartozó adatok beállítása konzisztens maradjon. SuSE Linux – Rendszerkézikönyv 301 Rendszerindítás a kezdeti memóriaeszköz (initrd) segítségével Bevezetés A Linux rendszermag betöltését és a gyökérkönyvtár (/) csatolását követően betöltődhetnek különböző programok és további rendszermagmodulok, melyek a rendszer alapképességeit megvalósítják. Azonban már az első lépéshez, a gyökérkönyvtár csatolásához, számos feltételnek kell teljesülnie: a rendszermagnak rendelkeznie kell a szükséges meghajtókkal, hogy kezelni tudja az eszközt (főleg SCSI meghajtók esetén). Továbbá rendelkeznie kell azokkal az információkkal, melyek szükségesek a

különböző fájlrendszerek kezeléséhez (ext2, reiserfs, romfs stb.), nem is beszélve arról, hogy már a gyökérkönyvtár is tartalmazhat titkosított fájlrendszert. Így a rendszermagnak kérnie kell a szükséges jelszót és kulcsot Ha vetünk egy pillantást a SCSI meghajtók problémájára, több lehetőség szóba jöhet: A rendszermag tartalmazhatna minden lehetséges meghajtót. Ez azért nem szerencsés, mert egyrészt az egyes meghajtók zavarhatják egymást, másrészt nagyon nagy lenne a rendszermag. Egy másik lehetőség az lenne, hogy különböző rendszermagokat hoznánk létre, mindegyiket külön SCSI meghajtóval. Itt meg az a probléma, hogy az így nyert rendszermagokat még a különböző architektúrákhoz is hozzá kellene igazítani (Pentiumra optimalizált, többprocesszoros stb.), ami végeredményben egy átláthatatlan rendszermagkáoszhoz vezetne. A SCSI meghajtó betöltése modulként szintén tartalmaz egy problémát, melynek

megoldása a kezdeti memóriaeszköz: Ez megoldást ad arra, hogy hogyan lehet felhasználói térben (angolul userspace) programokat futtatni anélkül, hogy csatolva lenne a gyökérkönyvtár. Az initrd koncepciója Az initdisk illetve initrd kezdeti memóriaeszköz (angolul initial ramdisk) pont a fenti problémát oldja meg. A Linux rendszermag lehetővé teszi, hogy egy (minimális) fájlrendszert betöltsük a memóriaeszközbe, majd azon futtassunk programokat, anélkül, hogy a gyökérkönyvtár csatolásra kerülne. Az initrd betöltése a rendszertöltő feladata (LILO,loadlin stb.) A rendszertöltőnek csak BIOS rutinokkal kell rendelkeznie, hogy be tudja tölteni az adatokat az indító médiumról. Ha a rendszertöltő be tudja tölteni a rendszermagot, akkor a kezdeti memóriaeszközt is be tudja tölteni, külön meghajtóra tehát nincs szükség. 302 Rendszerindítás a kezdeti memóriaeszköz (initrd) segítségével Az initrd-vel történő

rendszerindítás Amennyiben az initrd egy tömörített fájl (SuSE Linux alatt alapértelmezett esetben az), a rendszermag kicsomagolja azt és ideiglenes fájlrendszerként csatolja gyökérkönyvtárként. Ezt követően az initrd fájlrendszerén elindul a linuxrc program, mely mindazokat a folyamatokat indítja el, melyek a valódi gyökérkönyvtár csatolásához szükségesek. Ahogy a linuxrc befejezte munkáját, az (ideiglenes) initrd leválasztásra kerül és a rendszerindítás a megszokott gyökérfájlrendszer csatolásával folytatódik. Az initrd csatolása, valamint a linuxrc futtatása tehát nem más, mint egy rövid intermezzo a rendszerindítás folyamán. Rendszerjellemzők A rendszertöltő betölti a rendszermagot és az initrd-t a központi memóriába, majd elindítja a rendszermagot. A rendszertöltő tudatja a rendszermaggal, hogy létezik az initrd, és hogy a memóriában hol találja meg. 11 Miután rendszermagnak sikerült a valódi

gyökérfájlrendszert csatolni, újra csatolja az initrd-t, most az /initrd csatolási ponthoz. Amennyiben ez nem sikerült (mert például nincs ilyen csatolási pont), megpróbálja leválasztani. Amennyiben az initrd leválasztása sem jár sikerrel, ugyanúgy minden működik a rendszerben, azonban az initrd által foglalt memóriát nem fogjuk tudni másra használni. A linuxrc alkalmazás Az kezdeti memóriaeszközön futó linuxrc programnak a következő feltételeknek kell felelnie: Mindenképpen a linuxrc nevet kell viselnie és az initrd gyökérkönyvtárában kell lennie. Ezen kívül a rendszermag számára futtathatóvá kell tennünk, azonban dinamikusan is linkelhető. Ebben az esetben természetesen az osztott függvénytáraknak (angolul shared libraries) is rendelkezésre kell állniuk az initrd-n lévő /lib könyvtárban. A linuxrc lehet burokszkript is, azzal a feltétellel, hogy a /bin könyvtárban található egy futtatható burok. Lényegében tehát az

initrd egy mini Linux rendszert tartalmaz, mely lehetővé teszi a linuxrc program futtatását. A SuSE Linux telepítésekor egy statikusan linkelt linuxrc kerül alkalmazásra, hogy az initrd minél kisebb maradjon (hajlékonylemezen nagyon kevés a hely). A linuxrc a root felhasználó jogosultságaival fut. A valódi gyökérfájlrendszer Miután a linuxrc befejezte munkáját, az initrd leválasztásra kerül. A rendszerindítási folyamat folytatódik és a rendszermag csatolja a valódi gyökérfájlrendszert. A linuxrc programban meghatározhatjuk, hogy mi legyen az a valódi gyökérfájlrendszer. Ehhez a linuxrc-nek csatolnia kell a /proc SuSE Linux – Rendszerkézikönyv 303 fájlrendszert, majd a /proc/sys/kernel/real-root-dev fájlban meg kell adni a valódi gyökérfájlrendszert numerikus formában. A rendszertöltő A legtöbb rendszertöltő (első sorban a LILO, a GRUB és a syslinux) kezeli az initrd-t, SuSE Linux alatt ez az alapértelmezett eset. Ha

rendszertöltőnk nem támogatná, a következőképpen rávehetjük, hogy használja a kezdeti memóriaeszközt: GRUB Megfelelő bejegyzés a /boot/grub/menu.lst fájlban: initrd (hd0,0)/initrd Mivel az initrd-nek betöltése a már betöltött rendszermagba történik az initrd a kernel parancs mögé kell írnunk. LILO Ki kell egészíteni az /etc/lilo.conf fájlt a következő sorral: initrd=/boot/initrd ahol a /boot/initrd fájl az kezdeti memóriaeszköz, mely akár tömörítve is lehet. syslinux Ki kell egészítenünk a syslinux.cfg fájlt a következő sorral: append initrd=initrd htovábbi paraméterek i Az initrd alkalmazása SuSE Linux alatt Rendszer telepítése A SuSE már régóta használja az initrd-t a rendszer telepítéséhez. Így a linuxrc alkalmazáson keresztül tölthetünk be modulokat, illetve adhatunk meg további, a telepítéséhez szükséges információkat (például a telepítési médium kiválasztása). Ezt követően a linuxrc

elindítja a YaST2-t, mely elvégzi a tulajdonképpeni telepítést. Miután a YaST2 befejezte az első CDn lévő csomagok telepítését, tudatja a linuxrc-vel, hogy hol található a gyökérfájlrendszeren a frissen telepített SuSE Linux rendszer. A linuxrc beírja ezt az információt a /proc könyvtárba és a rendszermag elindítja a frissen 304 Rendszerindítás a kezdeti memóriaeszköz (initrd) segítségével A SuSE Linux telepítésekor tehát már elsőre az a rendszer indul, mely éppen telepítésre is kerül – elegáns megoldás, ugye? Valódi újraindításra csak akkor van szükség, ha a telepítéshez használt rendszermag nem tartalmazza azokat a modulokat, melyek telepítésre kerültek. Mivel a SuSE Linux a telepítéshez jelenleg egyprocesszoros rendszermagot használ, erre csak akkor szokott sorra kerülni, ha többprocesszoros rendszerünk van. Ilyenkor a rendszer újraindul az új rendszermaggal, hogy minden modult tudjon használni. A telepített

rendszer indítása 11 Rendszerjellemzők telepített rendszert (ez az a pont, amikor a YaST2 kiírja, hogy „A telepített rendszer most indul”). Régebben a YaST a telepítéshez több mint 40 különböző rendszermagot ajánlott a telepítéshez, ahol az egyes rendszermagok közötti különbség lényegében a bennük lévő SCSI meghajtó volt. Erre azért volt szükség, hogy a rendszer indítását követően csatolni lehessen a gyökérfájlrendszert. A különböző meghajtókat ezt követően már modulként be lehetett tölteni. Mivel manapság azonban már optimalizált rendszermagokat is lehet készíteni (Pentiumra, SMP), fel kell adni ezt a koncepciót, a lehetséges rendszermagok száma ugyanis többszázra emelkedett volna. Emiatt a SuSE Linux a szokványos rendszerindításhoz is az initrd megoldást használja. Működése nem különbözik a telepítéstől, a használt linuxrc azonban csak egy burokszkript, mely betölti az adott modulokat. Szokás

szerint ez csak egy modulra korlátozódik, a gyökérfájlrendszer csatolásához szükséges SCSI meghajtóra. Saját initrd létrehozása Saját kezdeti memóriaeszközöket az mkinitrd (régebbi verziókban mk initrd) programmal hozhatunk létre. SuSE Linux alatt a betöltendő modulokat az /etc/sysconfig/kernel fájlban lévő INITRD MODULES változóval lehet megadni. Alapértelmezett telepítés esetében ez a változó már a helyes bejegyzéseket tartalmazza (mivel a telepítéshez használt linuxrc tudja, hogy milyen modult töltött be). Itt még meg kell említenünk, hogy a modulok pont abban a sorrendben töltődnek be, ahogy azt bejegyezzük az INITRD MODULES-ban. Ennek főleg akkor van fontos szerepe, amikor több SCSI merevlemezhez különböző meghajtókra van szükségünk; így elkerülhető, hogy a merevlemez eszközneve változzon. Szigorúan véve elegendő lenne, ha csak az a SCSI meghajtó kerülne betöltésre, mely a gyökérfájlrendszerhez való

hozzáférés szükséges. Mivel azonban a SCSI meghajtók utólagos betöltése nem teljesen problémamentes (főleg több SCSI csatoló esetében), egyszerűbb, ha a az initrd tölti be a telepítéshez használt SCSI meghajtókat. SuSE Linux – Rendszerkézikönyv 305 Az mkinitrd ellenőrzi, hogy a gyökérfájlrendszerhez való hozzáféréshez egyáltalán szükségünk van-e SCSI meghajtóra. Ha a programot egy olyan rendszerben indítjuk, melyben a / egy EIDE merevlemezen található, nem hozza létre az initrd-t, hiszen a SuSE Linux rendszermag már tartalmazza a szükséges meghajtókat. Mivel mostanában azonban egyre több különböző EIDE vezérlőt is lehet a piacon találni, elképzelhető, hogy a jövőben a telepített rendszer indításához is szükség lesz az initrd-re. Tájékoztatás Mivel az initrd betöltését a rendszermag ugyanúgy végezi el, mint magát a rendszermag betöltését (a LILO menti a fájlok helyét a map fájlban), minden

initrd szerkesztés után kötelező a LILO futtatása! Ha tehát kiadjuk az mkinitrd parancsot, ne feledkezzünk meg a lilo parancsról sem! Tájékoztatás Lehetséges problémák általunk fordított rendszermag esetén Ha saját magunknak fordítunk rendszermagot, a következő problémák léphetnek fel: Megszokásból belefordítjuk a SCSI meghajtót a rendszermagba, a meglévő initrd-t azonban nem változtattuk meg. Ilyenkor a rendszerindításnál az initrd megpróbálja a SCSI meghajtót modulként betölteni Mivel azonban a rendszermag már tartalmazza a meghajtót, néhány SCSI meghajtó (főleg az aic7xxx) ilyenkor „kifagyaszthatja” a rendszert. Szigorúan véve, a rendszermag hibája (egy meglévő meghajtót nem szabadna még egyszer, modulként betölteni) – azonban más összefüggésben is ismert (pl. soros meghajtó). A problémára több megoldás is létezik. Betölthetjük a meghajtót eleve modulként (azaz nem fordítjuk bele a rendszermagba); ekkor

az initrd helyesen betölti. Vagy kitörölhetjük az initrd-re vonatkozó bejegyzést a /etc/lilo.conf fájlból Az utóbbi megoldás helyett el is távolíthatjuk a meghajtót az INITRD MODULES bejegyzésből. Ha ezután lefuttatjuk az mkinitrd parancsot, a program észreveszi, hogy nincs szükség initrdre. Kitekintés Elképzelhető, hogy a jövőben az initrd sokkal többet fog tudni, mint az egyes modulok betöltése illetve a gyökérkönyvtárhoz való hozzáférés (/). A tervek az alábbi abban foglalhatók össze: 306 Rendszerindítás a kezdeti memóriaeszköz (initrd) segítségével 11 Csúcskategóriás EIDE meghajtók LVM-es gyökérfájlrendszer Titkosított gyökérfájlrendszer (a linuxrc bekéri a jelszót) PCMCIA csatolós SCSI merevlemezen lévő gyökérfájlrendszer További információ /usr/src/linux/Documentation/ramdisk.txt /usr/src/linux/Documentation/initrd.txt initrd kézikönyvlapja (man4initrd). Rendszerjellemzők Szoftver RAID-es

gyökérfájlrendszer (a linuxrc állítja be az md eszközöket) Linuxrc A linuxrc az a program, mely elsőként indul a rendszermag betöltődése után, mielőtt a tulajdonképpeni rendszerindítás megkezdődne. A rendszermag ezen tulajdonsága teszi lehetővé, hogy elindítsuk egy viszonylag kis moduláris rendszermagot, majd azokat a meghajtókat, melyekre valóban szükségünk van, (akár egy hajlékonylemezről) modulként töltsük be. A linuxrc ezen felül segítséget nyújt, hogy a megfelelő meghajtókat kézzel tudjuk betölteni, bár szabály szerint nyugodtan rábízhatjuk ezt a feladatot a YaST2 automatikus hardverfelismerésére is. A linuxrc programot tehát nem csak a telepítéshez használhatjuk, hanem a telepített rendszer indításához is. Sőt egy önálló, memórialemezen alapuló mentőrendszert is létre hozhatunk segítségével, ha például nagyobb baj történt a merevlemezzel vagy ha elfelejtettük a root jelszót. További

információhoz olvassuk el A SuSE mentőrendszer fejezetet (311. oldal) Főmenü Miután beállítottuk a nyelvet és a billentyűzetkiosztást, a linuxrc főmenüjébe kerülünk (lásd az 1.2 ábrát (11 oldal)) Mivel a linuxrc program arra való, hogy elindítsuk a Linuxot, válasszuk ki a ‘Telepítés megkezdése / rendszerindítás’ menüpontot. SuSE Linux – Rendszerkézikönyv 307 Rendszerinformációk A ‘Rendszerinformáció’ menüpontban (lásd a 11.1 ábrát) a rendszermag üzenetein kívül néhány további pontot is ellenőrizhetünk, mint például a PCI kártyák I/O-címei, illetve a Linux által felismert memória. 11.1 ábra: Rendszerinformáció Az alábbi sorokban látható egy CD-ROM és egy EIDE csatoló példakonfigurációja. Ebben a példában nincs szükség külön rendszermodulok betöltésére: hda: ST32140A, 2015MB w/128kB Cache, LBA, CHS=1023/64/63 hdb: CD-ROM CDR-S1G, ATAPI CDROM drive Partition check: hda: hda1 hda2 hda3 <

hda5 > Ha olyan rendszermaggal indítottuk el a gépünket, mely már tartalmazza a szükséges SCSI meghajtót, természetesen szintén nincs szükségünk további modul betöltésére. Ilyenkor az alábbi üzenetek jellemzők a rendszerindításkor: scsi : 1 host. Started kswapd v 1.422 scsi0 : target 0 accepting period 100ns offset 8 10.00MHz FAST SCSI-II scsi0 : setting target 0 to period 100ns offset 8 10.00MHz FAST SCSI-II Vendor: QUANTUM Model: VP32210 Rev: 81H8 Type: Direct-Access ANSI SCSI revision: 02 Detected scsi disk sda at scsi0, channel 0, id 0, lun 0 scsi0 : target 2 accepting period 236ns offset 8 4.23MHz synchronous SCSI scsi0 : setting target 2 to period 248ns offset 8 4.03MHz synchronous SCSI Vendor: TOSHIBA Model: CD-ROM XM-3401TA Rev: 0283 Type: CD-ROM ANSI SCSI revision: 02 scsi : detected 1 SCSI disk total. SCSI device sda: hdwr sector= 512 bytes. Sectors= 4308352 [2103 MB] [21 GB] Partition check: sda: sda1 sda2 sda3 sda4 < sda5 sda6 sda7 sda8 >

308 Linuxrc 11 Modulok betöltése Ha CD-ről vagy DOS alól a loadlin segítségével indítottuk a rendszert, már eleve minden modul rendelkezésre áll a linuxrc-nek és nem kell kézzel betöltenünk azokat. Azonban így több memóriára van szükségünk Rendszerjellemzők Ebben a menüpontban kiválaszthajuk, hogy milyen modulokat szeretnénk betölteni. Amennyiben hajlékonylemezről lett elindítva a telepítés, a linuxrc betölti a megfelelő adatokat és felkínálja a következő lehetőségeket. 11.2 ábra: Modulok betöltése A linuxrc felsorolja az elérhető modulokat egy listában. Baloldalt a megfelelő modul neve látható, jobboldalt egy rövid leírás a meghajtott hardverről. Néhány eszközhöz itt találhatjuk meg a legújabb, illetve alfa állapotú meghajtókat. Paraméterek megadása Miután megtaláltuk a megfelelő meghajtót a hardverünkhöz, jelöljük ki és   nyomjuk meg az ↵  billentyűt. Erre megjelenik egy

párbeszédablak, melyen belül különböző paramétereket adhatunk a modul betöltéséhez. Arra szeretnénk felhívni a kedves olvasó figyelmét, hogy a rendszertöltő promptjával szemben (MILO, LILO vagy SYSLINUX), itt vesszővel kell elválasztanunk a különböző paramétereket. SuSE Linux – Rendszerkézikönyv 309 11.3 ábra: SCSI meghajtók kiválasztása A legtöbb esetben nincs szükség arra, hogy jobban meghatározzuk a hardvert, a legtöbb meghajtó ugyanis szinte magától találja meg hardverét. Csak hálózati kártyáknál, illetve régebbi típusú, saját vezérlővel rendelkező CDROM meghajtóknál szokott előfordulni, hogy paramétereket kell adnunk.   Mindenesetre először próbáljuk meg egyszerűen az ↵  megnyomásával. Néhány modulnál előfordulhat, hogy a hardver felismerése és inicializálása   viszonylag sok időt vesz igénybe. Ha eközben átváltunk a 4-es konzolra ( Alt    + F4  ), megtekinthetjük a

rendszermag üzeneteit a modul betöltése közben. Főleg a SCSI csatolók ismertek arról, hogy nagyon sokáig tart, mire betöltődnek, hiszen várniuk kell, mire a SCSI buszra csatolt eszközök megfelelő visszajelzést adnak. Ha a modul betöltése befejeződött, a linuxrc megjelenít egy megfelelő üzenetet a folyamatról. Sikertelen betöltés esetén ebben az üzenetben találhatunk esetleg utalást a probléma megoldásához. Telepítés megkezdése / rendszerindítás Miután elértük, hogy a rendszermag támogassa hardverünket, folytathatjuk a telepítést a ‘Telepítés megkezdése / rendszerindítás’ menüpontot kiválasztva. Ebben a menüben (lásd az 1.3 ábrát (12 oldal)) több folyamatot is el tudunk indítani: ‘Telepítés megkezdése’, ‘Telepített rendszer indítása’ (már csak ki kell választanunk a gyökérkönyvtárat), ‘Biztonsági rendszer indítása’ (lásd még: A SuSE mentőrendszer fejezetben (következő oldal)) valamint a

‘CD kiadása’. 310 Linuxrc 11 Rendszerjellemzők 11.4 ábra: Paraméterek megadása modulok betöltéséhez A ‘LiveEval CD indítása’ menüpont csak akkor áll rendelkezésre, ha rendszerünket egy „LiveEval” CD-ről indítottuk. A megfelelő ISO képmásfájlt le lehet tölteni az FTp szerverünkről heruntergeladen werden (live-eval- hVERSION i): ftp://ftp.suselinuxhu/pub/suse/i386/ Tipp A ‘LiveEval-CD’ különösen akkor hasznos, ha telepítés nélkül szeretnénk ellenőrizni, hogy egy adott számítógépen vagy laptopon fut-e a SuSE Linux – egy ilyen tesztet egy korszerű szakboltban biztosan végre lehet hajtani, mielőtt megvennénk a gépet. Tipp A telepítéshez és a mentő rendszer indításához különböző forrásmédium közül választhatunk, ahogyan azt a Telepítés megkezdése / rendszerindítás ábrán láthatjuk (következő oldal). A SuSE mentőrendszer A SuSE Linux több lehetőséget tartalmaz, melynek

segítségével akkor is hozzá tudunk férni adatainkhoz illetve Linux rendszerünkhöz, ha már SuSE Linux – Rendszerkézikönyv 311 11.5 ábra: Forrásmédium kiválasztása a linuxrc-ben szinte minden reményt feladtuk: elsősorban itt az indítólemezre illetve a mentőrendszerre gondolunk, mely hajlékonylemezről, CD-ről, hálózatról vagy FTP szerverünkön keresztül érhető el. Továbbá létezik egy indítható SuSE Linux CD (az úgynevezett LiveEval-CD), mely szintén alkalmazható mentőrendszerként. A mentőrendszer különböző segédalkalmazásokat tartalmaz, melyek lehetővé teszik a hozzáférést a merevlemezhez, konfigurációs fájlokhoz stb. Szintén része a mentőrendszernek a parted (parted) alkalmazás, melynek segítségével akár át is particionálhatjuk merevlemezünket, ha nem tudjuk elérni a YaST ‘Particionálás’ modulját. További információt a parted programhoz a honlapunkon illetve a következő címen találhatunk:

http://www.gnuorg/software/parted/ Tipp Mindenképpen hozzunk létre indító- illetve mentőlemezt, hiszen a ráfordított idő nincs összhangban avval az idővel és munkával, melyet a sérült rendszer visszaállítására kell fordítanunk, ha nem tudunk hozzáférni a CD-ROM meghajtóhoz illetve a rendszerhez. Tipp 312 A SuSE mentőrendszer 11 Mentőlemezek létrehozása Amíg még választhatunk, három lehetőség létezik a gyökérfájlrendszer-lemez létrehozásához: használhatjuk a megfelelő YaST2 modult Rendszerjellemzők Egy működő mentőrendszerhez összesen két hajlékonylemezre van szükségünk. Az egyik lemezről el fogjuk indítani a rendszert, a másik lemezre egy minimális gyökérfájlrendszer kerül. A rendszerindításhoz szükséges rendszerképmás fájlokat az első SuSE Linux CD-n lévő /disks könyvtárban találhatjuk. terminálablakból a következő Linux parancsokat: meggyfa:~ # /sbin/badblocks -v /dev/fd0 1440

meggyfa:~ # dd if=/cdrom/disks/rescue of=/dev/fd0 bs=18k DOS-ból a következő parancsot (ahol a Q: betű a CD-ROM meghajtónk betűjelével helyettesítendő): Q:> cd dosutils awrite Q:dosutils awrite> rawrite.exe A mentőlemez jelenleg a libc5 függvénytáron alapszik (SuSE Linux 5.3), mivel ebben a SuSE Linux verzióban még minden szükséges program (szerkesztő, fdisk, e2fsck stb.) egyetlenegy hajlékonylemezen elfért Tájékoztatás A mentőlemezt ne próbáljuk csatolni, hiszen nem tartalmaz fájlrendszert, hanem csak annak tömörített rendszerképmását. Amennyiben kíváncsiak vagyunk a mentőlemez fájlrendszerére, olvassuk el a következő bekezdést. Tájékoztatás Ha bele akarunk nézni a tömörített fájlrendszer képmásába, ki kell csomagolnunk azt, majd root felhasználóként a loop eszköz segítségével csatolhatjuk a következőképpen: meggyfa:~ # cp /cdrom/disks/rescue /root/rescue.gz meggyfa:~ # gunzip /root/rescue.gz

meggyfa:~ # mount -t ext2 -o loop /root/rescue /mnt SuSE Linux – Rendszerkézikönyv 313 A mentőrendszer indítása A mentőrendszert az általunk létrehozott SuSE mentőlemezről vagy az első SuSE Linux CD-ről tudjuk elindítani. Ennek feltétele, hogy indítható legyen és hogy be legyen állítva a megfelelő meghajtó. A mentőrendszer indításához a következőképpen kell eljárnunk: 1. Helyezzük be az általunk létrehozott SuSE mentőlemezt vagy az első SuSE Linux CD-t a meghajtóba és indítsuk újra a számítógépet. 2. Várjunk, amíg elindul a rendszer, vagy válasszuk ki a ‘Manual Installation’ menüpontot a LILO indítómenüjéből és adjuk meg – szükség szerint – a megfelelő paramétereket. 3. Válasszunk nyelvet és billentyűzetkiosztást a linuxrc programhoz 4. A főmenüből válasszuk ki a ‘Telepítés megkezdése / rendszerindítás’ menüpontot. 5. Amennyiben hajlékonylemezről végeztük el az indítást,

helyezzük be az első SuSE Linux CD-t illetve a tömörített mentőrendszert tartalmazó lemezt a meghajtóba. 11.6 ábra: Mentőrendszer forrásmédiuma 314 A SuSE mentőrendszer ‘CD-ROM’: A mentőrendszer betöltésekor exportálásra kerül a /cdrom útvonal. Így akár telepíthetünk is erről a CD-ről ‘Hálózat’: Ahhoz, hogy a mentőrendszert hálózaton keresztül tudjuk elindítani, először be kell töltenünk a hálózati kártya meghajtóját (lásd ehhez még a Telepítés hálózaton lévő forrásról bekezdést is (16. oldal))Ezt követően egy almenüben különböző hálózati protokollok közül választhatunk (lásd a 11.7 ábrát): NFS, FTP, SMB stb. 11 Rendszerjellemzők 6. A ‘Telepítés megkezdése / rendszerindítás’ menüpontból válasszuk ki a ‘Biztonsági rendszer’ menüpontot (lásd az 1.3 ábrát (12 oldal)), majd adjuk meg a forrásmédiumot (lásd a 11.6 ábrát (előző oldal)), ahol az alábbi

lehetőségek közül választhatunk: 11.7 ábra: Hálózati protokollok ‘Merevlemez’: Akár merevlemezről is el lehet indítani a mentőrendszert. ‘Hajlékonylemez’: Akár hajlékonylemezről is el lehet indítani a mentőrendszert. Ez főleg akkor hasznos, ha gépünk kevés memóriával rendelkezik. Akármelyik médiumot választottuk, a rendszertöltő most kicsomagolja a tömörített mentőrendszert, majd új gyökérfájlrendszerként betölti a RAM diszkbe, csatolja és elindítja. Máris használhatjuk A mentőrendszer alkalmazása A mentőrendszer legalább három virtuális konzolt bocsát rendelkezésünkre       Alt  + F1  -től  Alt  + F3  -ig), ahol root felhasználóként jelszó nélkül ( SuSE Linux – Rendszerkézikönyv 315    bejelentkezhetünk. Az  Alt  + F10  billentyűket megnyomva a rendszerkonzol jelenik meg, ahol követhetjük a rendszermag és a syslog üzeneteit. A /bin könyvtárban megtaláljuk a

burkot és a különböző segédeszközöket (például a mount programot). A fájlrendszer ellenőrzéséhez és javításához szükséges (hálózati) segédeszközök (például az e2fsck programot) az /sbin könyvtárban találhatók. Szintén ebben a könyvtárban találhatjuk a legfontosabb, (hálózati) rendszeradminisztrációhoz szükséges programokat (fdisk, mkfs, mkswap, init, shutdown, ifconfig, route és netstat). Természetesen a vi szerkesztő sem hiányozhat ebből a rendszerből. Ezt megtaláljuk a /usr/bin könyvtárban, további segédeszközökkel együtt (grep, find, less valamint a telnet program). Hozzáférés a rendszerhez A merevlemezen lévő SuSE Linux rendszer csatolásához az /mnt csatolási pontot már létrehoztuk. Természetesen más könyvtárakat is létre hozhatunk, saját céljainkra. Tételezzük fel, hogy rendszerünk az /etc/fstab alapján úgy néz ki, mint a 24. fájllista: /dev/sdb5 /dev/sdb3 /dev/sdb6 swap / /usr swap ext2 ext2

defaults defaults defaults 0 1 1 0 1 2 24. fájllista: Példa /etc/fstab Figyelem Mindenképpen vegyük figyelembe az egyes eszközök csatolási sorrendjét! Figyelem Ahhoz, hogy hozzáférhessünk a teljes rendszerhez, végig kell mennünk a következő lépéseken, melyekben csatoljuk azt az /mnt ponthoz: meggyfa:/ # mount /dev/sdb3 /mnt meggyfa:/ # mount /dev/sdb6 /mnt/usr Ezt követően már hozzáférhetünk a teljes rendszerhez és kijavíthatjuk például a hibás /etc/fstab, /etc/passwd vagy éppen az /etc/inittab fájlt. Azt azonban ne feledjük, hogy a konfigurációs fájlok most az /etc könyvtár helyett az /mnt/etc könyvtárban vannak. 316 A SuSE mentőrendszer meggyfa:~ # fdisk -l /dev/hdisk i A hdiski változót a megfelelő eszköznévvel kell helyettesítenünk ami például lehet hda. Fájlrendszer javítása Ha megsérült valamelyik fájlrendszerünk, szinte biztos, hogy a mentőrendszert kell alkalmaznunk. Ezt bekövetkezhet egy váratlan

leállításkor (például áramszünet) vagy rendszerösszeomlás után. A fájlrendszer javítása a legtöbb esetben nem történhet a futó rendszerben. Nagy károsodáskor sokszor még a gyökérfájlrendszert sem lehet csatolni és a rendszerindítás kernel panic hibaüzenettel leáll. Ilyenkor csak a külső mentőrendszer segíthet 11 Rendszerjellemzők Ahhoz, hogy a teljesen kárbaveszett partíciókat újból létrehozhassuk az fdisk programmal, célszerű, ha kinyomtatjuk az /etc/fstab fájlt és az alábbi parancs kimenetét: A SuSE Linux mentőrendszer tartalmazza az e2fsck és a dumpe2fs (a diagnosztikához) segédeszközöket, melyek segítségével a legtöbb hibát el lehet hárítani. Mivel ilyenkor (Murphy;-) sokszor még az e2fsck kézikönyvlapjához sem férhetünk hozzá, beletettük azt kinyomtatva e könyv függelékébe! Példa: Ha a fájlrendszer csatolása bad superblock hibaüzenet miatt nem lehetséges, valószínű, hogy az e2fsck sem fog vele

megbirkózni elsőre. Itt segíthetnek a fájlrendszeren a minden 8192-dik blokkon (8193, 16385. ) lévő szuperblokk másolatok. Erre használhatjuk a következő parancsot: meggyfa:~ # e2fsck -f -b 8193 /dev/hhibás partíciói A -f paraméterrel kényszeríthetjük ki a fájlrendszer ellenőrzést, hiszen az e2fsck a szuperblokk ép másolatai miatt abból indulhat ki, hogy minden rendben. Virtuális konzolok A Linux egy többfeladatos és többfelhasználós operációs rendszer. Ennek előnyeit előbb-utóbb értékelni fogjuk, még akkor is, ha számítógépünket csak egyedül használjuk.      Szöveges módban hat virtuális konzol között válthatunk az  Alt  + F1  illetve  Alt    + F6  és a közötte lévő billentyűkombinációkat megnyomva. A hetedik konzol az X11 számára, a grafikus munkafelületnek van fenntartva.1 1 Az /etc/inittab szerkesztésével több vagy kevesebb konzolt is létrehozhatunk, és a sorrendet is

megváltoztathatjuk. SuSE Linux – Rendszerkézikönyv 317 Amennyiben grafikus felületről szeretnénk szöveges konzolmódba átkapcsolni anélkül, hogy ki kellene lépnünk a grafikus felület alól, egyszerűen nyomjuk     meg a  Ctrl  + Alt  + F1  billentyűket, majd ha vissza szeretnénk térni a grafikus     felületre, akkor az  Alt  + F7  billentyűkombinációt. Billentyűzetkiosztás Az egyes programok egységes billentyűkiosztás-használata érdekében SuSE Linux alatt módosításra kerültek a következő fájlok: /etc/inputrc /usr/X11R6/lib/X11/Xmodmap /etc/skel/.Xmodmap /etc/skel/.exrc /etc/skel/.less /etc/skel/.lesskey /etc/csh.cshrc /etc/termcap /usr/lib/terminfo/x/xterm /usr/X11R6/lib/X11/app-defaults/XTerm /usr/share/emacs/hVERZIÓ i/site-lisp/term/*.el /usr/lib/joerc Ezek a változtatások csak azokra az alkalmazásokra érvényesek, melyek kiolvassák a terminfo bejegyzéseket (illetve ahol közvetlen a konfigurációs fájl

került szerkesztésre, mint például a vi vagy a less parancsoknál). Célszerű más, nem SuSE alkalmazásokat is ehhez igazítani.    Grafikus felület alatt az úgynevezett „Multi key” billentyűt a ⇑  + Ctrl  (jobb oldali) billentyűkombinációval érhetjük el (lásd ehhez a /usr/X11R6/lib/ X11/Xmodmap fájlt). 318 Billentyűzetkiosztás Helyi beállítások (locale) – I18N/L10N A helyi beállításokat LC * változókon keresztül lehet elvégezni, melyeknek definíciója az /etc/sysconfig/language fájlban található. Itt természetesen nem csak nyelvi beállításokról van szó (angolul native language support), hanem olyan értékekről is, mint például a dátum és idő formátum, számok, pénz, elválasztás stb. Minden kategóriát külön-külön be lehet állítani, de egyszerre is beállíthatók a language fájl változóinak beállításával (lásd ehhez még: man 5 locale). Jelenlegi beállításainkat bármikor lekérdezhetjük

a locale paranccsal. Rendszerjellemzők A SuSE nagy hangsúlyt fektet arra, hogy termékei könnyen igazíthatók legyenek a helyi sajátosságokhoz. Az I18N és L10N az internationalization illetve localization rövidítései, ahol csak az első és az utolsó betűt írjuk le, a kihagyott betűknek pedig felírjuk a sorszámát. 11 1. RC LC MESSAGES, RC LC CTYPE, RC LC COLLATE, RC LC TIME, RC LC NUMERIC, RC LC MONETARY: Ezek a változók RC előtag nélkül továbbítódnak a burokhoz, melyben meghatározzák a megfelelő kategóriákat. Az érintett változók a következők: 2. RC LC ALL: Ez a változó felülbírálja az előző pontban adott értékeket 3. RC LANG: Ha sem az RC LC ALL változó, sem az adott kategóriára vonatkozó RC LC változó (például RC LC MESSAGES) nincsen beállítva, akkor helyette az RC LANG kerül kiértékelésre. A SuSE Linux alapértelmezett esetben csak ezt a változót állítja be, így biztosítva, hogy az egyes felhasználók

könnyen beállíthassák saját értékeit. 4. ROOT USES LANG: Ez a yes/no változó meghatározza, hogy a helyi beállítások a root számára is érvényesek legyenek-e. Ha beállítjuk no-ra akkor a root POSIX környezetben dolgozik. SuSE Linux alatt ez a változó alapértelmezett esetben ctype-ra van beállítva, így a rendszergazda csak LC CTYPE változót kap. A fenti változókat a sysconfig szerkesztőben állíthatjuk be. Az egyes változók több részből állhatnak: a nyelvből (angolul language code), az országból illetve régióból (angolul country code), a nyelvi kódolásból (angolul encoding) és további opciókból (angolul modifier). Az egyes adatokat külön jelek kötik össze: LANG=hlanguagei[[ hCOUNTRY i].Encoding[@Modifier]] SuSE Linux – Rendszerkézikönyv 319 Néhány példa Célszerű a nyelv- és az országértéket mindig egyszerre megadni. A nyelvet az ISO 639 szabványnak megfelelően, az országot az ISO 3166 szabványnak

megfelelően kell megadnunk (http://www.evertypecom/standards/ iso639/iso639-en.html és http://wwwlocgov/standards/ iso639-2/) Értelemszerűen azonban csak azokat az értékeket használhatjuk, melyekhez leírások is szerepelnek a /usr/lib/locale könyvtárban. További leírásokat a localedef paranccsal készíthetünk, a /usr/share/i18n könyvtárban található adatok alapján. LANG=hu HU.ISO-8859-2 Így lehet beállítani a rendszert, hogy magyarul működjön, a megfelelő ISO-8859-2 karakterkészletekkel. A karakterkészletet (ebben az esetben az ISO-8859-2-t) több alkalmazás is kiértékeli, például az Emacs szerkesztő. LANG=hu HU Ez megegyezik az előzővel, mivel magyar nyelv esetén az ISO-8859-2 az alapértelmezett karakterkészlet. LANG=hu HU.UTF-8 Amennyiben rendszerünkben unicode-dal szeretnénk dolgozni, beállíthatjuk a karakterkészletet UTF-8-ra. Ahhoz, hogy például az xterm UTF-8 karakterkészlettel induljon, célszerű egy egyszerű

burokszkriptet létrehozni (például uxterm): #!/bin/bash export LANG=hu HU.UTF-8 xterm -fn ’-Misc-Fixed-Medium-R-Normal--18-120-100-100-C-90-ISO10646-1’ -T ’uxterm UTF-8’ $* 25. fájllista: uxterm a unicode-xterm elindításához A SuSEconfig kiértékeli az /etc/sysconfig/language fájlban lévő adatokat, és ennek megfelelően módosítja az /etc/SuSEconfig/profile és /etc/ SuSEconfig/csh.cshrc fájlokat Az /etc/SuSEconfig/profile fájlt az /etc/profile olvassa be, az /etc/SuSEconfig/csh.cshrc pedig az /etc/csh.cshrc Így a beállítások az egész rendszerben használhatók Az egyes felhasználók ezeket a rendszerbeállításokat felülbírálhatják a ~/.bash profile fájlban Ha tehát beállítottuk rendszerünket hu HU értékre és nem örülünk a magyar nyelvű rendszerüzeneteknek illetve kézikönyvlapoknak, átválthatunk például angolra: 320 Helyi beállítások (locale) – I18N/L10N 11 LC MESSAGES=en US A rendszer nem ismeri fel a

tizedesvesszőt. Nagy valószínűséggel a LANG változó csak hu-ra van beállítva. Mivel a glibc függvénytárnak szükséges információk azonban a /usr/lib/locale/hu HU/LC NUMERIC könyvtárban találhatók, be kell állítanunk például az LC NUMERIC változót hu HU-ra. További információ: Rendszerjellemzők Lehetséges problémák The GNU C Library Reference Manual ”Locales and Internationalization” című fejezete. Megtaláljuk a glibc-info csomagban Markus Kuhn, UTF-8 and Unicode FAQ for Unix/Linux, jelenleg a http: //www.clcamacuk/~mgk25/unicodehtml cím alatt található Vessünk egy pillantást a file:/usr/share/doc/howto könyvtárban található dokumentációra is. SuSE Linux – Rendszerkézikönyv 321 12 Egy Linux rendszer betöltése és alapállapotba hozása, azaz inicializálása meglehetősen komplex folyamat. Ez a fejezet a SuSE Linux rendszertöltési (boot) koncepciójának rövid áttekintését tartalmazza. Az új megvalósítás

kompatibilis az LSB specifikáció 1.3-as változatainak rendszerindításról szóló fejezetével. Az LSB-ről az A Linux Standard Base (LSB) fejezetben (296 oldal) olvashatunk bővebben. Az init program . Futási szintek . Futási szintek megváltoztatása . Inicializáló szkriptek . A YaST futási szint szerkesztője . A SuSEconfig és az /etc/sysconfig . A sysconfig szerkesztő . Rendszerbeállítás: szkriptek és változóik . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 324 324 326 327 330 330 332 332 A SuSE Linux rendszerindítási koncepciója A SuSE Linux rendszerindítási koncepciója A rendszertöltés a megfelelő rendszermag képmásának betöltésével kezdődik. Az Uncompressing Linux. üzenet azt jelzi, hogy a rendszermag átveszi az irányítást a hardver

felett. Ellenőrzi és beállítja a konzolt – még pontosabban, a grafikus kártyák BIOS regisztereit és a megjelenítési módot –, miközben kiolvassa a BIOS beállításokat és inicializálja az alapvető hardveres csatolókat. Ezután a meghajtók végigtesztelik a gépben lévő hardveregységeket és alapállapotba hozzák őket. A partíciók ellenőrzése és a gyökér fájlrendszer csatolása után (amit a / jelhez rendelünk) a rendszermag elindítja az /sbin/init programot, ami az alap rendszert képviseli, annak minden további programjával és beállításával együtt. A rendszermag irányítja tehát az egész rendszert, beleértve a hardveres hozzáféréseket és a programok rendelkezésére álló CPU időt is. Az init program Az init program felelős minden rendszerfolyamat megfelelő alapállapotba hozásáért. Ennélfogva az init az őse (szülője) minden folyamatnak az egész rendszerben. Az init-nek különleges szerepe van: az init-et

közvetlenül a rendszermag indítja el, és ellenáll a 9-es szignálnak, ami normál esetben a folyamatok leállítására szolgál. Minden további programot közvetlenül az init, vagy valamelyik leszármazott, ún. gyermekfolyamata (child process) indít el Az init beállítása központilag történik az /etc/inittab fájlban. Itt kell meghatározni az ún. futási szinteket is – ezekről majd a következő részben lesz szó. Ugyanitt van megadva, hogy mi történjen ezeken a különböző szinteken Az /etc/inittab-ban található bejegyzésektől függően több szkriptet is elindít az init program, amelyek az egyszerűség kedvéért mind ugyanabban a könyvtárban vannak (/etc/init.d) A rendszer elindításának (és egyben lezárásának is) egész folyamatát az init felügyeli és irányítja. Ebből a szempontból a rendszermagot „háttérfolyamatnak” lehet tekinteni, amelynek feladata minden más folyamat felügyelete, ill a CPU idő és a hardveres

hozzáférések szabályozása a programoktól jövő kérések alapján. Futási szintek Linux alatt a futási szintek határozzák meg, hogy hogyan fog elindulni a rendszer. Indítás után a rendszer az /etc/inittab fájl initdefault 324 Az init program 1 2 3 4 5 6 12 Jelentése Leállítás Egyfelhasználós mód a boot menüből, amerikai billentyűzetkiosztással Egyfelhasználós mód Többfelhasználós mód hálózat nélkül Többfelhasználós mód hálózattal Nem használt Többfelhasználós mód hálózattal és grafikus bejelentkezéssel Újraindítás 12.1 táblázat: A Linux érvényes futási szintjei bejegyzése szerint indul el, mely általában a 3. vagy az 5 futási szint (a 12.1 táblázatban látható) Egy másik megoldás, hogy konkrét futási szinteket adunk meg indításkor (például a rendszertöltő promptnál); a rendszermag minden paramétert, amire nincs szüksége, közvetlenül az init programnak ad át. Amikor már fut a rendszer, a

futási szintek megváltoztatásához elég elindítani az init programot a megfelelő paraméterrel. Ezt viszont csak a rendszergazda tudja megtenni: root@meggyfa:/ > A SuSE Linux rendszerindítási koncepciója Futási szint 0 S init 1 Az előbbi parancs egyfelhasználós módba küldi a rendszert, amely a rendszer karbantartására és adminisztrálására szolgál. Az 1 szinten elvégzett munka végeztével a rendszeradminisztrátor ismét a 3-as szintre tudja visszakapcsolni a futási szintet a következők begépelésével: root@meggyfa:/ > init 3 Ekkor minden alapvető program újra elindul és más felhasználók is bejelentkezhetnek, dolgozhatnak a rendszerben. Az alábbi táblázat áttekintést nyújt a rendelkezésre álló futási szintekről. Az 1-es futási szintet soha nem szabad használni olyan rendszerben, melynek a /usr partíciója NFS-en keresztül lett csatolva. A rendszert (többek között) az root@meggyfa:/ > init 0 SuSE Linux –

Rendszerkézikönyv 325 begépelésével lehet leállítani, újraindítani pedig ezzel: root@meggyfa:/ > init 6 Ha az X Window rendszer már megfelelő módon telepítve van és be lett állítva (lásd Az X Window rendszer fejezetben (111. oldal)), valamint azt szeretnénk, hogy a felhasználók grafikus módban jelentkezzenek be, ehhez egyszerűen a futási szintet az 5-ös szintre kell módosítani. Először érdemes kipróbálni, hogy az init 5 paranccsal. root@meggyfa:/ > init 5 . úgy működik-e a rendszer, mint ahogy azt elvárjuk Ez után a YaST2-ben beállíthatjuk az alap értelmezett futási szintet 5-ösre. Figyelem Előfordulhat, hogy egy sérült /etc/inittab fájllal a rendszert nem lehet megfelelően elindítani. Ezért legyünk különösen óvatosak amikor az /etc/inittab fájlt szerkesztjük! Végszükség esetén megpróbálhatjuk az init=/bin/sh begépelését a LILO boot promptnál, hogy közvetlenül a parancsértelmezővel (shell)

induljon a rendszer. Ez így néz ki: boot: linux init=/bin/sh Figyelem Futási szintek megváltoztatása Rendszerint két dolog történik a futási szint megváltoztatása során. Először a jelenlegi futási szint ún. leállítási (stop) szkript-jei lefutnak, amelyek lezárnak néhány, a jelenlegi futási szint számára nélkülözhetetlen programot. Ezután elindulnak az új futási szint indítási (start) szkript-jei. Általában ekkor indul el több program. A folyamat illusztrálására bemutatjuk, mi történik, ha a futási szintet a 3-as szintről az 5-ösre változtatjuk: A rendszergazda (root) utasítja az init-et a futási szint megváltoztatására: root@meggyfa:/ > 326 init 5 Futási szintek megváltoztatása Ezután az rc program elindítja a jelenlegi futási szint összes leállító (stop) szkriptjét, de csak azokat, amelyekhez nincs megfelelő indító (start) szkript a kiválasztott új futási szinten. A mi példánkban ezek azok a szkriptek,

amelyek az /etc/init.d/rc3d fájlban vannak (mivel az előző futási szint a 3-as volt), és amelyek ‘K’ betűvel kezdődnek. A ‘K’ betűt követő szám adja a szkriptek leállási sorrendjét, mivel vannak bizonyos sorrendi függőségek, amelyeket figyelembe kell venni. Tájékoztatás A leállító szkriptek neve mindig ‘K’-val (kill) kezdődik, az indító szkriptek pedig ‘S’-sel (start). Tájékoztatás Az utolsó teendő az új futási szint indító szkriptjeinek elindítása. Ezek példánkban az /etc/init.d/rc5d fájlban találhatók, és ‘S’ betűvel kezdődnek. Ezek indítási sorrendjére is ugyanaz vonatkozik, mint fentebb. Ha a futási szintet ugyanarra változtatjuk, amiben a rendszer eddig is volt, akkor az init csak az /etc/inittab-ot ellenőrzi (hogy történt-e benne valami változtatás), majd elindítja a megfelelő lépéseket (például elindít egy getty-t egy másik interfészen). 12 A SuSE Linux rendszerindítási

koncepciója Az init program ekkor „belenéz” az /etc/inittab beállítási fájlba, amiből kiderül, hogy el kell indítania az /etc/init.d/rc programot, paraméterként adva át neki az új futási szint számát. Inicializáló szkriptek Az /etc/init.d könyvtárban található szkriptek a következő két nagy csoportra oszthatók: Azon szkriptek, melyeket közvetlenül az init indít el. Ezek csak a rendszer elindítása és leállítása során fognak lefutni (például áramkimaradás     esetén, vagy a  Ctrl  + Alt  + Del  megnyomása után). Azon szkriptek, amelyeket az init közvetett módon indít el. Ezek a futási szint megváltoztatásakor futnak le és mindig meghívják a master szkriptet (/etc/init.d/rc), amely garantálja, hogy a megfelelő szkriptek a megfelelő sorrendben fussanak le. SuSE Linux – Rendszerkézikönyv 327 Opció start stop restart force-reload status Jelentése Elindítja a szolgáltatást. Leállítja a

szolgáltatást. Leállítja és újra elindítja a szolgáltatást, ha a szolgáltatás már fut; különben elindítja a szolgáltatást. Újra beolvassa a szolgáltatás beállítását, annak leállítása és újraindítása nélkül. Megmutatja a jelenlegi állapotot. 12.2 táblázat: Az init szkript opcióinak áttekintése Minden szkript az /etc/init.d könyvtárban található A futási szint megváltoztatása során használt szkriptek is itt találhatóak, de azok szimbolikus hivatkozásokon keresztül hívódnak meg az /etc/init.d/rc0d-től /etc/init.d/rc6d-ig terjedő alkönyvtárak valamelyikéből Ez pusztán a duplikált szkriptek elkerülése (például amikor több futási szint is használja ugyanazt a szkriptet), és a könnyebb érthetőség miatt van így. Mivel minden szkriptet indító és leállító szkriptként is el lehet indítani, ezért ezeknek a szkripteknek értelmezniük kell a „start” és „stop” paramétereket. A szkriptek megértik

továbbá a „restart”, „reload”, „force-reload” és „status” opciókat; ahhoz, hogy részletesen mit jelentenek ezek a különböző opciók, lásd a 12.2 táblázatot A 3-as futási szint elhagyása után az /etc/init.d/rc3d/K40network szkript hívódik meg; az /etc/init.d/rc elindítja az /etc/init.d/network szkriptet „stop” paraméterrel Az 5-ös futási szintre lépve ugyanez a szkript indul el, azonban a „start” paraméterrel. Az insserv program (vagy a /usr/lib/lsb/install initd hivatkozás) végzi az előírt hivatkozások (linkek) hozzáadását és eltávolítását, amikor egy csomagot telepítünk vagy eltávolítunk; lásd még man 8 insserv. A következőkben röviden bemutatjuk az elsőként (avagy értelemszerűen utoljára) elindított boot és stop szkripteket, valamint megmagyarázzuk a karbantartó szkriptet. boot A rendszer indítása során közvetlenül hajtódik végre az init program által. Ez a szkript független a kiválasztott

futási szinttől, és csak egyszer indul el. Futása során ellenőrzi a fájlrendszereket, letörli a /var/lock felesleges fájljait, és a hálózatot beállítja a visszacsatoló (loopback, lo) eszközre. Továbbá beállítja a rendszerórát, és alaphelyzetbe hozza az ISA 328 Inicializáló szkriptek Ha a fájlrendszer automatikus ellenőrzése és javítása során hiba történik, a rendszeradminisztrátor a jelszó megadása után avatkozhat be. A boot.local szkript legutolsóként fut le boot.local Ebben a fájlban lehet olyan parancsokat megadni, amelyeknek a rendszer indításának utolsó lépéseként, de még egy futási szintre való belépés előtt kell lefutniuk. Szerepe hasonló, mint az AUTOEXECBAT fájlnak DOS rendszereken. boot.setup E szkript feladata azon általános beállítások elvégzése, amiket az egyfelhasználós módból más futási szintre történő váltás során kell elvégezni. Ekkor töltődik be a billentyűzetkiosztás, és

ekkor indul el a rendszermag démon (kerneld), amely automatikusan betölti a rendszermag szükséges moduljait. halt Ez a szkript csak a 0-s vagy a 6-os futási szintekre való váltás során indul el. Vagy halt, vagy reboot programként fut le A halt program lefutásától függ, hogy a rendszer újraindul, avagy leáll. rc E szkriptnek a futási szintek megváltoztatása során van különösen nagy jelentősége. Ez hívja meg az aktuális futási szint leállító szkriptjeit, és az újonnan kiválasztott futási szint indító szkriptjeit. 12 A SuSE Linux rendszerindítási koncepciója Plug-and-Play (automatikusan felismert és telepített) hardveregységeket az isapnp segédprogram segítségével. Saját szkripteket nagyon könnyen lehet hozzáadni ehhez a vázhoz. Az /etc/init.d/skeleton fájl sablont szolgáltat ehhez A pontos fájlformátumot, és annak végrehajtási helyét az LSB specifikálja A szkript megírása után bele kell írni a hivatkozásokat a

megfelelő rc?.d fájlba, hogy a szkript valóban el is induljon a futási szint megváltoztatása során (a szkript fájlok neveit stb. lásd fentebb, Futási szintek megváltoztatása fejezetben). A man 7 initd és a man 8 insserv nyújt ehhez technikai magyarázatot. E linkek létrehozásához használjuk a grafikus felületű YaST2 futási szint szerkesztőjét (lásd A YaST futási szint szerkesztője (következő oldal)). Figyelem Saját initszkriptek készítése Kezeljük ezeket a szkripteket a lehető legnagyobb óvatossággal, és ha lehetséges, teszteljük őket többfelhasználós környezetben! Egy hibás szkript lefagyaszthatja gépünket! Ha már semmi más nem segít, olvassuk el a a Futási szintek fejezetet (324. oldal) Figyelem SuSE Linux – Rendszerkézikönyv 329 A YaST futási szint szerkesztője Miután ez a szakértői modul elindul, először inicializálódni fog. A jelenlegi alapértelmezett futási szint a következő

párbeszédablakban fog megjelenni. Ez az üzemmód fog elindulni rendszerünk beindítása után. A SuSE Linuxban ez rendszerint az 5-ös futási szint (teljes többfelhasználós működés hálózattal és KDM grafikus bejelentkezéssel). A 3-as futási szint szintén hasznos lehet (teljes többfelhasználós működés hálózattal). Ezen a ponton a YaST2 segítségével tetszőleges alapértelmezett futási szint beállítható, lásd a 12.1 táblázatot (325. oldal) A ‘Szerkesztő’ áttekintést ad az összes szolgáltatásról és démonról, megadva, hogy az aktiválva van-e a rendszerünkben és ha igen, mely futási szinteken. Jelöljük ki a megfelelő sort az egérrel és aktiváljuk a futási szint jelölőmezejét (‘0’, ‘1’, ‘2’, ‘3’, ‘5’, ‘6’ vagy ‘S’), megadva, hogy melyik szolgáltatás vagy démon legyen aktiválva és melyik futási szinteken. A 4-es futási szint nincs használatban – ez az egyéni, testre szabott

beállításra van fenntartva. Az ‘Indítás’-sal és ‘Leállítás’-sal meghatározhatjuk, hogy a szerver fusson-e éppen. A jelenlegi állapotot a ‘Frissítés’ segítségével kérdezhetjük le, ha ez még nem történt meg automatikusan. Az ‘Alapértelmezett érték visszaállítása’ lehetővé teszi, hogy visszaállítsuk az alapértelmezett értékeket a telepítést követő kezdeti értékekre. A ‘Szolgáltatás aktiválása’ csak akkor fog megjelenni, ha a szolgáltatás jelenleg kikapcsolt állapotban van. Az ‘Összes szolgáltatás visszaállítása az alapértelmezett értékre’ visszaállítja az összes szolgáltatást a telepítést követő kezdeti értékekre. A ‘Kész’ menti a rendszer beállításait Figyelem Futási szint megváltoztatása A hibás futási szint beállítások a rendszer használhatatlanságát eredményezheti. Mielőtt a változtatásokat véglegesítjük, teljességgel győződjünk meg a beállítások

helyességéről. Figyelem A SuSEconfig és az /etc/sysconfig Gyakorlatilag a teljes SuSE Linux beállítása elvégezhető az /etc/sysconfig könyvtár alatti konfigurációs fájlok szerkesztésével. Ezek környezeti változókat állítanak be, melyeket - többek között - az init szkriptek használnak. 330 A YaST futási szint szerkesztője Így ha saját magunk változtatjuk meg az /etc/sysconfig egyik fájlját, akkor ezt követően el kell indítanunk az /sbin/SuSEconfig-ot annak biztosítására, hogy minden beállítási fájl a megfelelő beállításokat tartalmazza a megfelelő helyen. Ha a beállítást a YaST-tal változtatjuk meg, erre nincs szükség, ugyanis a YaST automatikusan elindítja az /sbin/SuSEconfig-ot és frissíti a beállítási fájlokat. Ez a koncepció képessé tesz minket arra, hogy alapvető beállításokat a rendszer újraindítása nélkül is meg tudjunk változtatni. Mivel néhány változtatás nagyon bonyolult, egyes

programokat valószínűleg újra kell indítani ahhoz, hogy a beállítások érvényesüljenek rajtuk. Ezt az eljárást részletesebben is taglaljuk a hálózati beállításokról szóló fejezetben, ahol ezeket a programokat a következő parancsokkal indítjuk újra: meggyfa: # rcnetwork stop meggyfa: # rcnetwork start Amint látható, az indító és leállító szkripteket könnyedén el tudjuk magunk is indítani. A rendszer beállításához a következő lépések megtételét javasoljuk: 12 A SuSE Linux rendszerindítási koncepciója Számos olyan konfigurációs fájl létezik, mely az /etc/sysconfig tartalma alapján készül el. Ezek előállítása az /sbin/SuSEconfig feladata Ha például megváltoztatjuk a hálózati beállításokat, az /etc/host.conf fájl újra elkészül, mivel ez az általunk megadott beállításoktól függ. Küldjük a rendszert egyfelhasználós üzemmódba: init 1. Szükség szerint változtassuk meg a szükséges

konfigurációs fájlokat. Ezt egy tetszés szerint kiválasztott szerkesztővel vagy a YaST2 Sysconfig szerkesztőjével tehetjük meg. Indítsuk el az /sbin/SuSEconfig-ot, hogy érvényesüljenek a beállítások. Ha a konfigurációs fájl(oka)t a YaST2-vel változtattuk meg, ez a lépés automatikusan végrehajtódik. Küldjük vissza rendszerünket az eredeti (általában 5-ös) futási szintre: init 5. Ez az eljárás főként akkor szükséges, amikor az egész rendszerre kiható (például hálózati) beállításokat változtatunk meg. A kisebb változtatásokhoz nem szükséges egyfelhasználós üzemmódba lépni, de segítségével biztosítjuk, hogy minden szükséges program megfelelő módon újrainduljon. SuSE Linux – Rendszerkézikönyv 331 Tipp A SuSEconfig automatikus elindulásának teljes kikapcsolásához az hENABLE SUSECONFIGi változót kell beállítani no-ra, az /etc/sysconfig/suseconfig fájlban (lásd a Beállítások az /etc/sysconfig

könyvtárban fejezetet (357. oldal)) A SuSEconfig kikapcsolása esetén nem tudunk telepítési segítséget nyújtani. Bizonyos változók kiválasztásával részlegesen is ki lehet kapcsolni az automatikus elindulást. Tipp A sysconfig szerkesztő A legfontosabb SuSE Linux rendszerbeállításokat az /etc/sysconfig könyvtár alatt találhatjuk. A sysconfig szerkesztő könnyen olvasható formában tálalja a beállítási lehetőségeket. Az értékek itt megváltoztathatók; melyek azután beíródnak a megfelelő fájlba. Általában nem szükséges közvetlenül szerkeszteni ezeket a fájlokat, még itt, a sysconfig szerkesztőn keresztül sem, mivel az értékek és az azokat tartalmazó fájlok automatikusan igazodnak, amikor egy modullal beállítást végzünk, például telepítünk egy csomagot vagy beállítunk egy szolgáltatást stb. Figyelem Az /etc/sysconfig/ alatti fájlok módosítása Nem szabad módosítanunk az /etc/sysconfig alatti fájlokat, ha nincs

ebben korábbi tapasztalatunk vagy ismeretünk; ilyen esetben ugyanis komolyabb kárt is tehetünk a rendszerben! Figyelem Rendszerbeállítás: szkriptek és változóik Ebben a fejezetben a rendszer összes paraméterét leírjuk, beleértve az alapértelmezett értéküket is. Ha nem a YaST2-t használjuk az /etc/sysconfig alatt található fájlok szerkesztéséhez, ne felejtsük el az üres paramétereket két idézőjellel megadni (például hKEYTABLE=””i), valamint azon paramétereket, melyek legalább egy szóközt tartalmaznak, idézőjelek közé zárni (a csupán egy szót tartalmazó paramétereknél az idézőjelek használata nem kötelező). 332 A sysconfig szerkesztő 12 Tájékoztatás Platformfüggő változók az /etc/sysconfig alatti fájlokban A SuSE Linux rendszerindítási koncepciója 12.1 ábra: YaST2: Beállítás a sysconfig szerkesztővel Itt csak egy áttekintést nyújtunk az /etc/sysconfig könyvtárban található fájlokról és

környezeti változókról. A teljes dokumentáció az /etc/sysconfig könyvtárban található, minden fájlhoz. Tájékoztatás Beállítások az /etc/sysconfig könyvtárban 3ddiag A 3Ddiag programhoz. SCRIPT 3D=”switch2mesasoft” Ez a változó adja meg, hogy mely szkript állítsa be az OpenGL számára szükséges linkeket. A szkriptek az /usr/X11R6/bin könyvtárban találhatók. Lehetséges értékek: no – Ne hajtson végre szkriptet. switch2mesasoft – Mesa emulálása (minden grafikus kártyával működik) switch2mesa3dfx – Mesa/Glide használata SuSE Linux – Rendszerkézikönyv 333 switch2nvidia glx – XFree86 4.x/NVIDIA GLX NVIDIA GLX/NVIDIA kernel használata. switch2xf86 glx – XFree86 4.x/DRI használata Használjuk a 3Ddiag programot a paraméter helyes értékeinek meghatározására. SuSEfirewall2 Tűzfal aktiválása. Lásd a README fájlt a SuSEfirewall2 csomagban. amavis Aktiválja az AMaVIS víruskereső alkalmazást. USE AMAVIS=”yes”

Állítsuk az értéket yes-re, ha használni szeretnénk az AMaVIS email vírusszűrőt sendmail vagy postfix levelezőszerverünkkel együtt. Ha a változó értékét yes-re állítjuk, a SuSEconfig elkészíti a helyes sendmail vagy postfix beállítást az AMaVIS használatához. A részletekért olvassuk el az amavis csomagban lévő README.SuSE fájlt apache Az Apache HTTP démon beállítása. Ez az áttekintés csak a legfontosabb változókat tartalmazza, melyek az alapbeállításhoz vagy az Apache működésének alapszintű megértéséhez szükségesek. További információkért olvassuk el az Apache dokumentációját, mely az apache-doc csomag telepítése után érhető el. HTTPD PERFORMANCE=”slim” Az Apache webszerver teljesítményét határozhatjuk meg. A slim, mid, thick és az enterprise értékek közül választhatunk a kapcsolódó kliensek számának meghatározásához. A SuSEconfig ennek megfelelően fogja beállítani a MinSpareServers,

MaxSpareServers, StartServers és MaxClients értékeit (lásd /sbin/conf.d/ SuSEconfig.apache) Választhatunk slim, mid és thick közül HTTPD START TIMEOUT=”2” Időtúllépési érték a szerver indításakor (másodpercben), mely idő után a stat szkript eldönti, hiba nélkül megtörtént-e httpd folyamat elindítása. Célszerű ezt az értéket megnövelni, ha mod ssl-t használunk és a tanúsítványunk passphrase-zel védett. HTTPD SEC ACCESS SERVERINFO=”no” Engedélyezi vagy tiltja a server status és a server info hozzáférést. HTTPD SEC SAY FULLNAME=”no” Milyen információk jelenjenek meg a szerver által generált dokumentumok alján? Yes érték esetén a verziószám és a szerver neve látható. Ha az érték email, egy mailto: utasítást ad a verziószámhoz és a szerver 334 Rendszerbeállítás: szkriptek és változóik HTTPD SEC SERVERADMIN=”” Beállítja a szerver adminisztrátorának email címét. Ezt a címet hozzáadja a szerver

válaszaihoz, ha a hHTTPD SEC SAY FULLNAMEi értéke emailre van állítva. Ha a hHTTPD SEC SERVERADMINi értéke üres, akkor az alapértelmezett webmaster@$HOSTNAME-et használja. Jegyezzük meg, hogy a ServerAdmin beállításai a VirtualHost-on belül nem változnak. HTTPD SEC PUBLIC HTML=”yes” Engedélyezni szeretnénk a hozzáférést a felhasználói könyvtárakhoz (mint például /home/*/public html)? Ha igen, ezek az /etc/httpd/suse public html.conf fájlban vannak definiálva HTTPD CONF INCLUDE FILES=”” Itt adhatjuk meg azoknak a fájloknak a nevét szóközzel elválasztva, melyeket a httpd.conf fájlnak tartalmaznia kell Így lehetőségünk van arra, hogy például a /etc/httpd/httpd.conf „érintése” nélkül VirtualHostokat adjunk a szerverhez. HTTPD AWSTATS COMBINED LOG=”yes” Az Apache készítsen kombinált naplófájlt? Ez az awstats program számára szükséges. (a lehetséges értékek: yes vagy no) 12 A SuSE Linux rendszerindítási koncepciója

névhez. Ez az opció összefüggésben van az Apache ServerSignatureével Állítsuk az értéket no-ra, ha nem engedélyezzük az információ megjelenítést. HTTPD DDT=”yes” Engedélyezett legyen a DDT admin CGI? Ezt lokális DDT (Dynamic DNS Tools) szerveren szokták használni hozzáférések létrehozására és menedzselésére. MAILMAN APACHE=”yes” Engedélyezi a Mailman webes felületét. HTTPD SEC MOD MIDGARD=”yes” Engedélyezi a midgard modult. A Midgard egy nyílt forráskódú tartalomkezelő rendszer. HTTPD SEC MOD PERL=”yes” Engedélyezi ezt a Perl modult. HTTPD SEC MOD PHP=”yes” Engedélyezi ezt a PHP modult. HTTPD SEC MOD PYTHON=”yes” Engedélyezi ezt a Python modult. SuSE Linux – Rendszerkézikönyv 335 HTTPD SEC MOD SSL=”no” Engedélyezi ezt az SSL modult. A modul engedélyezéséhez szükség van egy szerver tanúsítványra. Egy próba tanúsítványt a következő parancsok root felhasználóként való kiadásával

készíthetünk: cd /usr/share/doc/packages/mod ssl ./certificatesh Továbbá át kell állítanunk a ServerName változót a <VirtualHost default :443> blokkban a teljes bejegyzett domén névre (lásd a /etc/HOSTNAME fájlban). Ha szerverünk tanúsítványa jelmondattal (passphrase) védett, növeljük meg a hHTTPD START TIMEOUTi változó értékét. HTTPD SEC NAGIOS=”yes” Engedélyezi a hozzáférést a Nagios webes felületéhez (a /etc/httpd/ nagios.conf fájlban állíthatjuk be) ZOPE PCGI=”no” Ha nincs beállítva, a Zope egyedülálló szerverként fut. Ne feledkezzünk meg róla: a PCGI használatához az Apache-t telepíteni kell. ZOPE KEEP HOMES=”yes” Ha a Zope-ot az apache-pcgi kezeli és a felhasználók könyvtárait az Apache-nek kell kezelnie, állítsuk a változó értékét yes-re. argoups Ennek a csomagnak a segítségével ellenőrizni tudjuk egy ArgoUPS aktuális állapotát. Ha áramszünet van, a rendszeren elindít egy kikapcsolás

folyamatot. ARGO TYPE=”local” Meghatározza a rendszer kapcsolódását az állapotfigyelőhöz. Ha a rendszer állapotát távolról (net) figyeljük, az hARGO REMOTESERVERi változóban meg kell határoznunk a távoli szervert. ARGO REMOTESERVER=”” ARGO TTY=”/dev/ttyS0” Az a soros kapu, amire az ArgoUPS kapcsolódik. ARGO USERTIME=”2” Az az idő percben megadva, mely áramszünet esetén az hARGO USERFILEi fájlban megadott szkript végrehajtásáig eltelik. ARGO USERFILE=”/usr/sbin/argoblackout” ARGO SHUTDOWN=”8” argus az Argus hálózati felügyelő szerver 336 Rendszerbeállítás: szkriptek és változóik ARGUS LOGFILE=”/var/log/argus.log” Az Argus naplófájlja. Vigyázat, ez nagyon nagyra tud nőni autofs Ezzel a démonnal távoli NFS könyvtárak vagy helyi könyvtárak (például CD-ROM) csatolhatók automatikusan. A autofsnek telepítve és beállítva kell lennie. AUTOFS OPTIONS=”” Opciók az autofs démon számára, például

”--timeout 60”. A --timeout kapcsolóban adjuk meg azt az időt (másodpercben), mely eltelte után a könyvtárak automatikusan leválasztódnak. autoinstall AutoYast2 a YaST2 automatikus telepítője. REPOSITORY=”/var/lib/autoinstall/repository” A profilok tárolóhelye. CLASS DIR=”/var/lib/autoinstall/classes” Osztályok a profilok készítésének egyszerűsítéséhez, összetett telepítési feladatok esetére. Ezeket az osztályokat a /var/lib/autoinstall/ classes könyvtárban találjuk. PACKAGE REPOSITORY=”” A telepítendő SuSE Linux csomagok és telepítési adatok tárolási helye. 12 A SuSE Linux rendszerindítási koncepciója ARGUS INTERFACE=”eth0” Melyik interfészen „figyeljen” az argus? backup az RPM adatbázis biztonsági mentése RPMDB BACKUP DIR=”/var/adm/backup/rpmdb” Hová tegye a cron.daily program az RPM adatbázis mentését? Üres érték esetén nem készül ilyen mentés. MAX RPMDB BACKUPS=”5” A mentések száma.

RCCONFIG BACKUP DIR=”/var/adm/backup/rpmdb” Ha szeretnénk napi mentést végezni az /etc/sysconfig és /etc/rc. config könyvtárak alatti fájlokról, itt adjuk meg annak a könyvtárnak a nevét ahova a mentések történjenek. A biztonsági mentés a crondaily minden egyes lefutásakor megtörténik. Az opció tiltásához állítsuk a változó értékét ””-ra. MAX RCCONFIG BACKUPS=”5” Itt adhatjuk meg az /etc/rc.config és az /etc/sysconfig fájlok biztonsági másolatainak maximális számát. clock Az óra beállításai SuSE Linux – Rendszerkézikönyv 337 GMT=”” Ha hardveróránk GMT szerint jár, állítsuk -u-ra, ellenkező esetben --localtime-ra. Ez a beállítás nagyon fontos a nyári időszámításra való automatikus átálláshoz. TIMEZONE=”” Az időzóna beállítása is nagyon fontos az automatikus nyári időszámításra való át-, illetve onnan visszaálláshoz. Ezt a /usr/lib/ zoneinfo/localtime fájlban állíthatjuk be.

console A konzol beállításai FB MODULES=”” Lehetőségünk van az fbset programmal például a grafikus módot megváltoztatni konzolban. Ehhez be kell tölteni a framebuffer eszközkezelő rendszermag modult. A legtöbb felhasználó ezt a részt üresen hagyja, hiszen az fbset nem működik együtt a vesafb-vel, ha az már aktív. Előnyös, ha a framebuffer támogatást a rendszermagba fordítjuk, azonban néhány XFree86 eszköz meghajtó (különösképpen az XFree86-4.x verziójúak) nem működnek megfelelően, ha szöveges módban engedélyezzük a framebuffer támogatást. FBSET PARAMS=”” Ha a rendszermagunk rendelkezik framebuffer támogatással, vagy betöltöttük a megfelelő modult, lehetőségünk van a felbontás vagy más paraméterek megváltoztatására az hFBSET PARAMSi változó segítségével. A lehetséges paraméterekről illetve azok jelentéséről a man fbset paranccsal olvashatunk, vagy adjuk ki az fbset -h parancsot egy konzolban.

Figyelem Framebuffer paraméterek beállítása A framebuffer módok nagyban függenek a hardvertől. Egy rossz döntés kárt tehet monitorunkban. A framebuffer módok megváltoztatása előtt vegyjük figyelembe a következőket: A vesafb (jelenleg) nem támogatja a kijelzési mód megváltoztatását. Ne állítsunk be a monitorunk által nem támogatott módokat. Különösen figyeljünk a maximális vízszintes frekvenciára; régebbi monitortípusok esetén a monitor károsodásához vezethet, ha túllépjük a megengedett értéket. Figyelem 338 Rendszerbeállítás: szkriptek és változóik CONSOLE UNICODEMAP=”” Néhány betűtípus nem támogatja a unicode-ot. Ebben az esetben mi határozhatjuk meg a unicode kiosztást betűtípusaink számára. Ezeket a kiosztásokat a /usr/share/kbd/unimaps/ könyvtárban találhatjuk. Normális esetben erre a változóra nincs szükségünk. CONSOLE SCREENMAP=”” Át kell alakítanunk a konzolon használt

betűtípusunkat unicode készletté? Válasszunk egy képernyőn használt kiosztást a /usr/share/ kbd/consoletrans/ könyvtárból. CONSOLE MAGIC=”” Általában erre az opcióra nincs szükség. SVGATEXTMODE=”80x25” Az hSVGATEXTMODEi az svgatext csomagban található, melynek segítségével magasabb szöveges módú felbontásokat (akár 160x60) használhatunk SVGA kártyával. A változó értéke egy valós érték, melyet a /etc/TextConfig fájlból olvas ki. A fájl használatáról a /usr/ share/doc/packages/svgatext könyvtárban lévő dokumentációban olvashatunk. Az hSVGATEXTMODEi változó alapértelmezett értéke 80x25. Az SVGATextMode felbontásokat az 1, 2, 3 és 5 futási szinteken használjuk. 12 A SuSE Linux rendszerindítási koncepciója CONSOLE FONT=”” Ezzel adjuk meg a konzol által használt karakterkészletet. Figyelem! Nem minden karakterkészlet támogatja a magyar ékezeteket! További beállítási lehetőségek: hCONSOLE SCREENMAPi,

hCONSOLE UNICODEMAPi és hCONSOLE MAGICi. cron napi szintű adminisztrációs teendők a rendszerben A cron démon meghatározott időközönként elindít bizonyos programokat (2-es, 3-as és 5-ös futási szint esetén). Programok időzített indítására egy másik lehetőség az AT démon használata. Tájékoztatás A rendszerbeállítások egy része bizonyos programok szabályos időközönkénti futtatását igényli. Ezért a cron démonnak minden rendszeren aktívnak kell lenni. Tájékoztatás MAX DAYS IN TMP=”0”ideiglenes fájlok törlése Meg lehet adni, hogy a rendszer naponta ellenőrizze a tmp könyvtárat, hogy a benne lévő fájlokat használta-e valaki a megadott időszakban (az intervallumot napokban kell megadni). Azon fájlokat, amelyek ezen SuSE Linux – Rendszerkézikönyv 339 időszak során nem lettek megváltoztatva, a rendszer automatikusan törli. Üres érték vagy 0 esetén nem történik törlés. TMP DIRS TO CLEAR=”/tmp

/var/tmp” Itt lehet megadni azon alkönyvtárakat, amelyekben régi átmeneti fájlokat keres a rendszer. OWNER TO KEEP IN TMP=”root” Meghatározza, hogy mely felhasználók által létrehozott fájlok ne törlődjenek, még akkor sem, ha egy adott időszakon belül nem lettek megváltoztatva. CLEAR TMP DIRS AT BOOTUP=”no” Állítsuk ezt a változót yes-re, hogy minden rendszerindításkor eltávolítsuk (rm -rf) az összes fájlt és alkönyvtárat a TMP DIRS TO CLEARben megadott ideiglenes könyvtárakból. Vigyázat: Ha ez a változó yes, a bejegyzések, amelyeket az OWNER TO KEEP IN TMP alatt adtunk meg, nem lesznek figyelembe véve, ugyanis kivétel nélkül minden fájl eltávolításra kerül! DELETE OLD CORE=”no” Az ún. core fájlok olyan programok memória-képmásai, amelyek szegmentációs hiba miatt leálltak. Ezek a fájlok nagyon hasznosak mélyebb hibakeresésekhez. Ha ez a változó be van kapcsolva, akkor a rendszer bizonyos időközönként

megkeresi, és letörli a régi core fájlokat. Ehhez a szolgáltatáshoz a RUN UPDATEDB változónak yes-nek kell lennie, és a findutils-locate csomag csomagnak telepítve kell lennie. MAX DAYS FOR CORE=”7” Meghatározza, hogy hány napnál régebben létrehozott core fájlokat lehet letörölni. REINIT MANDB=”yes” Frissüljön-e a kézikönyvlapok adatbázisa naponta egyszer a cron.daily program segítségével. DELETE OLD CATMAN=”yes” Törlődjenek-e a régi, előformázott kézikönyvoldalak a /var/cache/man könyvtárból. CATMAN ATIME=”7” Hány nap után törlődjenek a használaton kívül lévő előformázott kézikönyv oldalak. dhcpd A DHCP szerver beállítása DHCPD INTERFACE=”eth0” Adjuk meg azoknak az interfészeknek a nevét szóközzel elválasztva, amelyeken a DHCP szerver figyeljen. 340 Rendszerbeállítás: szkriptek és változóik DHCPD CONF INCLUDE FILES=”” A dhcpd.conf tartalmazhat include fájlokat Ha ide bármelyik include

fájl nevét beírjuk, minden konfigurációs fájl a dhcpd chroot környzetben indulásakor át fog másolódni a $chroot/etc/ könyvtárba. DHCPD RUN AS=”nobody” Ha a dhcpd-t a root nevében szeretnénk futtatni, hagyjuk üresen vagy írjunk ide root-ot. Ha a nobody felhasználó vagy csoport nevében akarjuk futtatni a dhcpd-t, írjunk ide nobody-t. DHCPD OTHER ARGS=”” Egyéb argumentumok, melyekkel a dhcpd-t indíthatjuk. További információért adjuk ki a man dhcpd parancsot. dhcrelay DHCP továbbító ügyfél. Egy DHCP továbbító ügyfél lehetővé teszi DHCP (és BOOTP) kérelmek továbbítását egy DHCP szerver nélküli alhálózatból egy DHCP szerverrel rendelkező alhálózatba. DHCRELAY INTERFACES=”” Azok az interfészek, amelyeket a DHCP továbbító ügyfél figyel (a neveket szóközzel elválasztva kell beírni). DHCRELAY SERVERS=”” Azok a DHCP szerverek, melyeket a DHCP továbbító ügyfél használ (a szervereket szóközzel elválasztva

kell megadni). 12 A SuSE Linux rendszerindítási koncepciója DHCPD RUN CHROOTED=”yes” A dhcpd-nek chroot környezetben kell futnia? További információkért olvassuk el a /usr/share/doc/packages/dhcp/README.SuSE fájlt displaymanager Bejelentkezéskezelő beállítása DISPLAYMANAGER=”” Beállítja a bejelentkezéshez használt programot. Lehetséges értékek: console, xdm (az X Window System hagyományos bejelentkezéskezelője), kdm (a KDE bejelentkezéskezelője), gdm (a GNOME bejelentkezéskezelője), vagy a wdm (WINGs bejelentkezéskezelő). DISPLAYMANAGER REMOTE ACCESS=”no” Távoli hozzáférés engedélyezése. Az alapértelmezett érték no DISPLAYMANAGER STARTS XSERVER=”yes” A bejelentkezéskezelő indítson-e helyi X szervert. Ha no-ra állítjuk be, csak távoli bejelentkezéseket fogad. KDM SHUTDOWN=”auto” A hKDM SHUTDOWNi azokat a felhasználókat határozza meg, akik a le tudják állítani a rendszert a kdm-ből. A lehetséges

értékek: root, all, none, local, and auto. SuSE Linux – Rendszerkézikönyv 341 KDM USERS=”” Adjuk meg azoknak a felhasználóknak a listáját (a neveket szóközzel elválasztva), akiknek az ikonja megjelenik a KDM-ben. Ha nem írunk ide semmit, a rendszer az alapértelmeztt értékeket veszi figyelembe. KDM BACKGROUND=”” Egyedi háttérképet adhatunk a grafikus bejelentkezéshez. KDM GREETSTRING=”” Egyedi üdvözlő szöveget adhatunk meg. dracd Beállítások a dracd-hez és a levél továbbításhoz. DRACD RELAYTIME=”5” Egy POP szerveren futó Postfix bizonyos ideig „megjegyzi” a bejelentkezett gép IP címét és engedélyezi számára levél küldését. Az idő lejárta után új azonosítás szükséges. Ezt az időt percben kell megadni DRACD DRACDB=”/etc/postfix/dracd.db” A dracdb tárolási helye. dvb DVB kártya beállításai DVB SOUND CHIP=”ti” Adjuk meg a DVB kártyánkon lévő hangchip típusát – ti vagy crystal. hardware

Hardver beállítások DEVICES FORCE IDE DMA ON=”” DMA engedélyezése a felsorolt IDE eszközökhöz. DEVICES FORCE IDE DMA OFF=”” DMA tiltása a felsorolt IDE eszközökhöz. hotplug A hotplug szolgáltatás beállítása HOTPLUG DEBUG=”default” Ez a változó szabályozza a hotplug szolgáltatás kimenetén megjelenő információ mennyiségét. Ha az értéke default, ”” vagy no, csak néhány üzenet és hiba kerül a syslog fájlba. Ha az értéket off-ra állítjuk, semmilyen üzenetet nem fogunk kapni. A verbose (vagy yes) érték esetén néhány extra üzenet is meg fog jelenni. Ha a változó értéke max, a syslog fájlba minden egyszerű üzenet is be fog kerülni. HOTPLUG START USB=”yes” USB hotplug események kezelésének engedélyezése vagy tiltása. 342 Rendszerbeállítás: szkriptek és változóik 12 Tájékoztatás Használatban lévő USB beviteli eszközök esetén, ha azok eszközkezelői modulként vannak betöltve, az USB

hotplug tiltása a billentyűzet használhatatlanságát eredményezi. Tájékoztatás HOTPLUG USB HOSTCONTROLLER LIST=”usb-uhci uhci usbohci ehci-hcd” Az USB vezérlő chipek meghajtói ebben a sorrendben kerülnek kipróbálásra. HOTPLUG USB MODULES TO UNLOAD=”scanner” Ezek a modulok kerülnek eltávolításra egy „USB eltávolítás” eseménykor. Néhány eszköznél hasznos lehet a hardver újrainicializálása. HOTPLUG USB NET MODULES=”pegasus usbnet catc kaweth CDCEther” Ha ezek közül a modulok közül az egyik be van töltve vagy el van távolítva, akkor az hálózati eszközként lesz kezelve és a rendszer készít egy hardver leírást a következő hálózati eseményhez. HOTPLUG START NET=”yes” NET hotplug események kezelésének engedélyezése vagy tiltása. A SuSE Linux rendszerindítási koncepciója USB hotplug tiltása HOTPLUG NET DEFAULT HARDWARE=”” A jövőben biztos lesz arra megoldás annak megállapítására, hogy egy adott

hálózati interfész mögött milyen típusú hardvereszköz van. Manapság ennek megállapítása nem egyszerű. Ebben a pillanatban mi a következő módszert használjuk: az USB vagy PCI hotplug eseményekkor hardverleírások készülnek, majd a NET esemény olvassa ezeket. Ha egyidőben több eszközt csatlakoztatunk, versenyhelyzet alakulhat ki. Ha a módszer nem működik, a hHOTPLUG NET DEFAULT HARDWAREi változó értékét használjuk, amikor az if{up,down} parancsot kiadjuk. A következő értékek közül adjuk meg azt, amit hotplug NIC-ként használunk; pcmcia, usb, vagy firewire. HOTPLUG NET TIMEOUT=”8” Itt lehet megadni másodpercekben azt a várakozási időt, míg a rendszer megkapja a hardver leírást az USB vagy PCI eseménytől. Ha ez az érték 0, a hotplug szolgáltatás nem vár leírásra, hanem a hHOTPLUG NET DEFAULT HARDWAREi értékét fogja mindig használni. Az alapértelmezett érték 8, míg néhány PCMCIA eszköz esetén hosszabb idő

szükséges. SuSE Linux – Rendszerkézikönyv 343 HOTPLUG START PCI=”yes” PCI hotplug eseménykezelő engedélyezése vagy tiltása. HOTPLUG PCI MODULES NOT TO UNLOAD=”” Ezeket a modulokat nem szabad eltávolítani egy PCI esemény esetén, mert az túl sok bonyodalmat okozna. intermezzo Az Intermezzo fájlrendszer beállítása. EXCLUDE GID=”63” Adjuk meg azt a csoportot, melyet kizárunk a sokszorosításból. irda IrDA az infravörös interfész, melyet például a hordozható számítógépekben használnak. Folyamatos működéséhez adjuk ki az insserv /etc/init.d/irda parancsot IRDA PORT=”/dev/ttyS1” Alapértelmezett beállításban az UART (SIR) mód a támogatott. Az hIRDA PORTi változó állítja be a használt soros kaput. A helyes érték megadásához nézzük meg a BIOS beállításokat. Ha a portnak Linux alatt támogatott FIR chipje van, adjuk meg a megfelelő rendszermag modul nevét az hIRDA PORTi változóban, például IRDA

PORT="toshoboe". Ezt a chipet először is a BIOS-ben kell engedélyeznünk. Néhány esetben le kell még tiltani azt a soros kaput, amelyiket SIR módban szeretnénk használni. Ezt a következő paranccsal tudjuk megtenni: setserial /dev/ttyS<x> uart none. isdn/ Itt található minden olyan szkript, amelyik az ISDN használatához szükséges. ispell Az ispell helyesírás ellenőrző beállítása angol nyelv esetén. ENGLISH DICTIONARY=”system american british” A SuSEconfig.ispell szkript kezel egy hivatkozást az alapértelmezett english szótárról egy american vagy british szótárra. Ha ezek közül csak egy van telepítve, a hivatkozás csak arra mutat. Ha mindkettő telepítve van az hENGLISH DICTIONARYi változó értékeként megadott lista a mérvadó. java A Java beállítása. CREATE JAVALINK=”yes” A SuSEconfig automatikusan készít egy szimbolikus linket /usr/lib/ java és /usr/lib/jre néven, amely az egyik telepített JDK illetve JRE

verzióra mutat, ha ezt engedélyezzük itt. Ha ezzel a módszerrel nem vagyunk megelégedve, állítsuk a hCREATE JAVALINKi értékét no-ra, és készítsük el a hivatkozást magunk. 344 Rendszerbeállítás: szkriptek és változóik JAVA THREADS TYPE=”green” A java csomag beállítása. Állítsuk az értékét native-ra, ha valódi többszálúságot szeretnénk például SMP rendszerekkel kombinálva. joystick Botkormány beállítása GAMEPORT MODULE 0=”” Játékport modul neve, például ns558 a hagyományos játékport támogatáshoz. JOYSTICK MODULE 0=”” Botkormány modul neve, általában analog. JOYSTICK MODULE OPTION 0=”” Botkormány modul opciói, például js=gameport analóg játékport esetén. JOYSTICK CONTROL 0=”” A hang meghajtó nevét adja meg (alsactl-en keresztül). JOYSTICK CONTROL PORT 0=”” A használandó port (alsactl-en keresztül). Néhány hangkártyának, például az ens1371-nek szüksége van port címre (ez általában

0x200). kernel A rendszermagra vonatkozó beállítások. 12 A SuSE Linux rendszerindítási koncepciója JAVA JRE THREADS TYPE=”green” A java-jre csomag beállítása. Állítsuk az értékét native-ra, ha valódi többszálúságot szeretnénk például SMP rendszerekkel kombinálva. INITRD MODULES=”” Ez a változó tartalmazza azoknak a moduloknak a listáját, melyeket az mk initrd szkript másol a kezdeti memória eszközre (ramdisk) (például SCSI vezérlők, lvm vagy reiserfs meghajtók). SHMFS SIZE=”” Az shmfs fájlrendszer csatolásához szükséges méret paraméter. A rendszermag alapértelmezésben megfelezi a rendelkezésre álló RAM méretét, azonban speciális beállítások esetén ez kevésnek bizonyulhat. keyboard Billentyűzet kiosztás KEYTABLE=”hu-latin2-nodeadkeys” Ebben a változóban definiálhatjuk a billentyűzetkiosztást. Ha US billentyűzetet használunk, ezt az értéket üresen hagyhatjuk. KBD RATE=”24.0” Az automatikus

billentyűismétlés gyakoriságát adja meg. A lehetséges értékek skálája: másodpercenként kétszer, másodpercenként harmincszor, vagy bármilyen érték e kettő között. Ez a változó csak akkor lép életbe, ha a billentyűzet-késleltetést is beállítottuk. SuSE Linux – Rendszerkézikönyv 345 KBD DELAY=”500” Az itt megadott késleltetés után fog elkezdődni a nyomvatartott billentyű automatikus ismétlése. Lehetséges értékek: 250, 500, 750, és 1000 milliszekundumban. Beállítása után a KBD RATE változó értékét is be kell állítani. KBD NUMLOCK=”bios” Ha a változó értékét no-ra állítjuk, akkor a rendszer indulásakor a   nem lesz aktiválva. További lehetőségek: yes, ”” vagy bios NumLock  KBD SCRLOCK=”no”   A ScrollLock  engedélyezése vagy tiltása. KBD CAPSLOCK=”no”   Ne engedélyezzük a  CapsLock  -ot rendszer indulásakor. KBD TTY=”tty1 tty2 tty3 tty4 tty5 tty6”      NumLock  ,

CapsLock  és a  ScrollLock  használatát bizonyos Korlátozhatjuk a  terminálokban. A ”” opció jelentése: mindenhol tiltott COMPOSETABLE=”clear winkeys shiftctrl latin1.add” Billentyű kombinációk összerakási táblájának betöltése. További információkért olvassuk el a /usr/share/doc/packages/kbd/ README.SuSE fájlt language Nyelvi és helyi beállítások. RC LANG=”hu HU” Beállítja a LANG környezeti változót. Segítségével a helyi felhasználók alapértelmezései állítódnak be. Ez az érték addig érvényben marad, amíg nincs megadva egy különleges RC LC * változó sem. A szabványos sysconfig változók: RC LC ALL (ez felülbírálja az összes LC * változót és LANG-ot is), RC LC MESSAGES, RC LC CTYPE, RC LC MONETARY, RC LC NUMERIC, RC LC TIME és RC LC COLLATE. Lásd a Helyi beállítások (locale) – I18N/L10N fejezetet (319. oldal) RC LC CTYPE=”hu HU” Amennyiben angolul kívánjuk használni a rendszert, és az RC LANG

változónak en US értéket adtunk meg, akkor is érdemes ezt hu HU értékre beállítani, hogy a karaktertípusokat a magyar ábécéhez igazítsa a rendszer. Ennek hiánya esetén a magyar billentyűzet nem fog működni, és több alkalmazásnak gondja lehet a magyar ékezetes karakterek kijelzésével. Ha teljesen magyarul használjuk a rendszert (az RC LANG változó értéke hu HU), akkor ezt nem szükséges itt újra megadni. ROOT USES LANG=”ctype” Használja-e ezeket a locale beállításokat a root felhasználó is? ctype esetén csak az hLC CTYPEi változó állítódik be a root számára, míg yes és no esetén rendre mindegyik, illetve egyik sem. 346 Rendszerbeállítás: szkriptek és változóik RUN UPDATEDB=”no” Legyen e változó értéke yes, ha azt akarjuk, hogy a locate adatbázis minden nap egyszer frissüljön a cron segítségével. Az updatedb beállítása a következő változók segítségével lehetséges: RUN UPDATEDB AS=”nobody” Itt

adjuk meg azt a felhasználót, aki az updatedb-t futtatja. Alapértelmezésben, biztonsági okokból ez a felhasználó a nobody. UPDATEDB NETPATHS=”” Normális esetben az uptdatedb csak a helyi lemezeket veszi számba, de az adatbázisban lehetnek hálózati elérések is. Az itt megadott könyvtárak lesznek vizsgálva. UPDATEDB PRUNEPATHS=”/mnt /media/cdrom /tmp /usr/tmp /var/tmp /var/spool /proc /media” Itt adhatjuk meg azokat a könyvtárakat, melyeket az updatedb ki fog hagyni a napi frissítésekből. UPDATEDB NETUSER=”” UPDATEDB PRUNEFS=”” Itt adhatjuk meg azokat a fájlrendszereket, melyeket kívül esnek az updatedb hatókörén. 12 A SuSE Linux rendszerindítási koncepciója locate A locate adatbázis lehetővé teszi, hogy gyorsan megtaláljunk fájlokat. Általában röviddel rendszerindítás után történik az adatbázis első felépítése. lvm A logikai kötet kezelő. mail Az elektronikus levelezés beállításai FROM HEADER=”” A

kimenő levelekben megjelenő feladó (From:) domainnév. Ha üres (””), a gép teljes doménneve lesz használatban. Lásd még a Doménnév-rendszer fejezetet (372. oldal) MAIL CREATE CONFIG=”yes” Állítsuk no-ra ahhoz, hogy a SuSEconfig ne készítsen beállítási fájlt a levelezéshez. Állítsuk az értéket yes-re ahhoz, hogy a SuSEcofig elkészítse a sendmail konfigurációs fájlját (/etc/sendmail.cf) a /etc/sysconfig/sendmail-ben megadottak alapján. NULLCLIENT=”” A null client egy olyan gép, amely csak levelet küldeni tud. Nem fogad levelet a hálózatról és nem is kézbesít levelet helyileg. Az ilyen gépek általában POP-pal vagy NFS-en keresztül érik el a levelesládát. SuSE Linux – Rendszerkézikönyv 347 SMTPD LISTEN REMOTE=”no” Állítsuk ennek a változónak az értékét yes-re ahhoz, hogy külső leveleket tudjunk fogadni. Ez a beállítás minden levelező szerver számára szükséges. Ha a változó értéke no vagy üres,

akkor csak a gépünkről érkező (belső) leveleket tudjuk fogadni. mouse az egér beállításai MOUSE=”” Itt adhatjuk meg, hogy melyik csatolóra van az egér kötve. A YaST2 és a SuSEconfig egy hivatkozást (linket) készít a /dev/mouse-ról az adott eszközre. GPM PROTOCOL=”” A használt GPM protokoll a hMOUSEi változó alapján. Az alapértelmezett értéket a YaST2 állítja be. GPM PARAM=” -t $GPM PROTOCOL -m $MOUSE” A gpm alapértelmezett beállítási adatai. network Hálózati beállítások. network/config Néhány fontos hálózati beállítás DEFAULT BROADCAST=”+” A hDEFAULT BROADCASTi változó akkor lép érvénybe, amikor sehol nincs hBROADCASTi változó beállítva. A következő értékek közül választhatunk: ”” , ha nem akarunk broadcast címet beállítani, „-” az hIPADDRi változó számára host bitek nélkül, vagy „+” az hIPADDRi változó számára minden host bit beállítással. CHECK FOR MASTER=”yes” Állítsuk a

hCHECK FOR MASTERi változó értékét yes-re ahhoz, hogy egy már aktív interfészünk legyen (master) mielőtt egy álnevet (labelled address) aktívvá teszünk. Technikailag ez nem szükséges, mert a jelölt és jelöletlen címek egyenértékűek. Ez a beállítás az ifconfigot használók kényelmét szolgálja. CHECK DUPLICATE IP=”yes” Ha az ifup-nak ellenőriznie kell egy IP cím foglaltságát, állítsuk az értéket yes-re. Mivel ez a szolgáltatás arpinget használ, a rendszermagnak rendelkeznie kell packet socket támogatással (hCONFIG PACKETi). DEBUG=”no” Itt tudjuk be- illetve kikapcsolni a hálózati konfigurációs szkriptek által megjelenített hibaüzeneteket. Ha az értéke no, a legtöbb szkript esetén lokálisan még mindig megjeleníthetjük ezeket a -o debug kapcsolóval. 348 Rendszerbeállítás: szkriptek és változóik hálózat/dhcp A DHCP beállítása (Dynamic Host Configuration Protocol). Tájékoztatás Ahhoz, hogy egy vagy

több hálózati interfész DHCP beállítást használjon, át kell állítani a /etc/sysconfig/network/ ifcfg-<interface> fájlban a hBOOTPROTOi változó értékét dhcp-re (és ha lehetséges a hSTARTMODEi változót onboot-ra). Ezeknek az opcióknak a többségét csak a dhcpcd használja, a ISC dhclient más konfigurációs fájlokat használnak. A beállítások többségét felülbírálhatjuk a ifcfg-* fájlok közvetlen szerkesztésével. 12 A SuSE Linux rendszerindítási koncepciója USE SYSLOG=”yes” A hálózati konfigurációs szkriptek üzenetei a syslogba kerüljenek? Ha nem, akkor a stderr-t használják. MODIFY RESOLV CONF DYNAMICALLY=”yes” Néhány szolgáltatás (ppp, ippp, dhcp-client, pcmcia) esetén az /etc/resolv.conf fájlt bizonyos esetekben dinamikusan változtatni kell. Állítsuk a változó értékét no-ra ahhoz, hogy ne minden szolgáltatás változtassa meg az /etc/resolv.conf fájlt Ha nem vagyunk biztosak a dolgunkban, hagyjuk az

értéket az alapértelmezett yes értéken. MODIFY NAMED CONF DYNAMICALLY=”no” Ha nem vagyunk biztosak a dolgunkban, hagyjuk meg az alapértelmezett no értéket. Tájékoztatás DHCLIENT BIN=”” Ha a változó értéke üres, a rendszer előbb a dhcpcd-vel próbálkozik majd a dhclient-tel. A további lehetséges értékek: dhcpcd vagy dhclient az ISC kliensekhez. DHCLIENT DEBUG=”no” A DHCP kliens hibakövető módban induljon-e. Az információk dhcpcd esetén a /var/log/messages fájlba kerülnek, míg ISC dhclient esetén a /var/log/dhclient-script fájlba. DHCLIENT SET HOSTNAME=”no” Szeretnénk-e DHCP-n keresztül beállítani a gépnevet. Ha az értéke yes, ügyeljünk arra, hogy a gépnév nem változik egy futó X folyamat közben vagy a hDISPLAYi változó többet nem lesz olvasható. Következésképpen ilyenkor nem nyitható új ablak. DHCLIENT MODIFY RESOLV CONF=”yes” A DHCP kliens módosítsa-e az /etc/resolv.conf fájlt minden esetben? Ha nem

szeretnénk, állítsuk az értéket no-ra. A változó SuSE Linux – Rendszerkézikönyv 349 alapértelmezett értéke yes. Ebben az esetben a resolvconf fájl tartalma is változatlan marad, ha az /etc/sysconfig/network/ config fájlban a hMODIFY RESOLV CONF DYNAMICALLYi változó értéke no. DHCLIENT SET DEFAULT ROUTE=”yes” DHCP-n keresztül szeretnénk-e beállítani alapértelmezett átjárót. Ha a dhcpcd több példányban fut, célszerű, hogy azok közül csak az egyik legyen így beállítva. DHCLIENT MODIFY NTP CONF=”no” Módosítsa-e a DHCP az NTP beállításokat? Az alapértelmezett érték no. Ha az értékét yes-re állítjuk, az /etc/ntpconf fájl felülíródik (kilépéskor helyreállítódik). DHCLIENT MODIFY NIS CONF=”no” A DHCP kliens módosítsa-e a NIS beállításokat? Az alapértelmezett érték no. Ha az értékét yes-re állítjuk, az /etc/ypconf fájl felülíródik (kilépéskor helyreállítódik). DHCLIENT SET DOMAINNAME=”yes”

A DHCP kliens állítsa-e be a NIS domén nevet? (Ez az opció csak akkor elérhető, ha a szerver támogatja a nis domén opciót.) DHCLIENT KEEP SEARCHLIST=”no” Új /etc/resolv.conf fájl írása során a DHCP kliens a meglévő keresési listát hozzáadja-e a DHCP szervertől származóhoz? DHCLIENT LEASE TIME=”” Itt határozhatjuk meg másodpercben a javasolt bérleti időt. Az alapértelmezett érték végtelen. Hordozható számítógépek esetén célszerű alacsonyabb értéket megadni. DHCLIENT TIMEOUT=”999999” Ez a beállítás csak a dhcpcd-re érvényes. Itt időtúllépési időt adhatunk meg másodpercben, mely után a dhcpcd bontja a kapcsolatot, ha a DHCP szerver nem válaszol. DHCLIENT REBOOT TIMEOUT=”” Ez a beállítás csak a dhcpcd-re érvényes. Ez az idő túllépés paraméter szabályozza, hogy mennyi ideig próbálja újra megszerezni a dhcpcd az előzőleg használt paramétereket mielőtt újakat kap a szervertől. DHCLIENT

HOSTNAME OPTION=”AUTO” Itt adhatunk meg egy sztringet, melyet a dhcpcd DHCP üzenetek küldésekor használ a host name option mezőhöz. Alapértelmezésben az aktuális gépnevet küldi el (AUTO), ha az létezik az /etc/HOSTNAME fájlban. 350 Rendszerbeállítás: szkriptek és változóik DHCLIENT VENDOR CLASS ID=”” Itt határozhatjuk meg a típus azonosító sztringet. A dhcpcd az alapértelmezett azonosítót használja: rendszer neve, rendszer verziószáma és a gép típusa. DHCLIENT RELEASE BEFORE QUIT=”yes” Küldjön-e hDHCPRELEASEi-t a szervernek (leíratkozás a címről)? Ez azt eredményezheti, hogy a következő cím kérésekor más címet és gépnevet kaphatunk. Néhány szerver esetén erre szükség van DHCLIENT SLEEP=”0” Néhány interfész inicializálása időt vesz igénybe. Adjunk meg egy várakozási időt (másodpercben), hogy ezeket a DHCP kliens helyesen tudja kezelni. Ezt a beállítást célszerűbb az interfész

alapbeállításaiban elvégezni. network/ifcfg-eth0 Beállítja az első hálózati kártyát. Ezeket a beállításokat a YaST2-vel is el lehet végezni STARTMODE=”” A hSTARTMODEi változó jelzi az ifup-nak, hogy mikor kell egy interfészt beállítani. A lehetséges értékek: onboot (rendszerindításkor automatikusan), manual (az ifup parancs futtatásakor), és hotplug (ha az ifup-ot hotplug vagy pcmcia szolgáltatás hívta meg). 12 A SuSE Linux rendszerindítási koncepciója DHCLIENT CLIENT ID=”” Megadhatunk egy kliens azonosító sztringet. Alapértelmezésben a hálózati interfész hardvercíme lesz elküldve kliens azonosítóként. BOOTPROTO=”” A hBOOTPROTOi változóban adjuk meg, hogy állandó IP címmel (static) vagy dhcp-n keresztül konfiguráljuk a hálózati interfészünket. IPADDR=”” Itt adjuk meg az IP címet. NETMASK=”” Itt adjuk meg a hálózat vagy alhálózat hálózati maszkját. PREFIXLEN=”” Választásképpen, adjuk meg a

prefix hosszúságot. NETWORK=”” Itt adjuk meg a hálózat címét. BROADCAST=”” Adjuk meg hálózatunk broadcast címét. network/ifcfg-lo A hálózati visszacsatoló eszköz. SuSE Linux – Rendszerkézikönyv 351 network/wireless Vezeték nélküli hálózatok beállítása. Használjuk a YaST2 Hálózatok modulját. news NNTP szerverekhez való csatlakozás beállítása ORGANIZATION=”” Ez a szöveg jelenik meg az erről a gépről kiküldött minden news levélben. NNTPSERVER=”news” A hírszerver címe. Ha a híreket UUCP-n keresztül kapjuk és helyileg vannak mentve, akkor ennek a változónak az értéke localhost legyen. nfs NFS szerver; az rpc.nfsd és rpcmountd démonok egyszerre indulnak el REEXPORT NFS=”no” Állítsuk yes-re csatolt NFS vagy NetWare kötetek újra exportálásához. onlineupdate a YaST2 Online Update beállításai YAST2 LOADFTPSERVER=”yes” A YOU (YaST2 Online Update) indításakor az FTP szerverek listáját letöltse-e a

wget program segítségével a www.susede címről? Ez a lista az /etc/suseservers fájlban kerül eltárolásra. Állítsuk a változó értékét az /etc/sysconfig/onlineupdate fájlban no-ra, ha nem szeretnénk újra letölteni az FTP szerverek listáját. PROXY USER=”” A proxy felhasználók. PROXY PASSWORD=”” Jelszó a proxyhoz. pcmcia PCMCIA rendszer és PC kártyák PCMCIA SYSTEM=”kernel” Állítsuk a változó értékét externalra (külső), vagy kernelre (rendszermag). Ha ezek közül a rendszerek közül egy telepítve van, a változó érvénytelenné válik. PCMCIA PCIC=”” A pcmcia rendszer socket meghajtója. Lehetséges értékek: i82365 és tcic külső PCMCIA rendszer esetén, illetve yenta socket, i82365 és tcic rendszermag PCMCIA esetén. Üres érték esetén a rendszer megpróbálja kitalálni a megfelelő értéket. PCMCIA PCIC OPTS=”” Socket meghajtó időzítési opciói. Ezekről az i82365 illetve tcic kézikönyv oldalakban

olvashatunk. 352 Rendszerbeállítás: szkriptek és változóik postfix A postfix beállítása. Ezt a YaST2 Levéltovábbító szerver moduljában tehetjük meg. postgresql PostgreSQL. POSTGRES DATADIR=”~postgres/data” A PostgreSQL adatbázis helye. POSTGRES OPTIONS=”” Azok az opciók, melyeket a PostgreSQL master démon induláskor átvesz. A lehetséges értékekről a postmaster és a postgres kézikönyvlapjaiban olvashatunk. Ne soroljuk itt fel a -D datadir változót, míg az adatbázis helyét a start-up szkript a hPOSTGRES DATADIRi változóból olvassa ki. powermanagement apmd. APMD WARN LEVEL=”10” Itt megadhatjuk az akkumulátor azon töltöttségi szintjét (százalékban), mely alatt a rendszer figyelmeztet minket az alacsony töltöttségre. Állítsuk a változó értékét 0-ra, ha ezt és a következő három funkciót ki szeretnénk kapcsolni. Az alapértelmezett érték a 10 12 A SuSE Linux rendszerindítási koncepciója PCMCIA CORE

OPTS=”” A PCMCIA rendszer magjának opciói, lásd: man pcmcia core. További információkért a /usr/share/doc/packages/pcmcia könyvtárban lévő PCMCIA-HOWTO leírásban keressünk rá a „CORE OPTS”-ra. APMD WARN ALL=”no” A változó yes értéke esetén az apmd figyelmeztetést küld minden terminálra. Egyébként a figyelmeztetések a megfelelő naplófájlba kerülnek. A változó alpértelmezett értéke a no APMD WARN STEP=”0” Az üzenetek megismétlődnek minden alkalommal, amikor a kapacitás az itt megadott százalék értékkel (a teljes töltöttséghez viszonyítva) csökken. Az alapértelmezett érték 0, ami a funkció kikapcsolását jelenti. APMD CHECK TIME=”0” Alapértelmezésben az apmd ellenőrzi a telep töltöttséget, amikor a BIOS-tól erre felszólítást kap. Ezt az időközt csökkenthetjük, ha ide 0nál nagyobb értéket adunk meg Ne felejtsük el, hogy az apmd ebben az esetben minden ellenőrzéskor a merevlemezt feléleszti.

Alapértemezett érték: 0. APMD DEBUG=”no” Ennek a változónak a segítségével az apmd és az apmd proxy-script programokról tudhatunk meg többet. Ha a változó értéke yes, láthatjuk, SuSE Linux – Rendszerkézikönyv 353 hogy mikor és hogyan hívtuk meg az apmd proxy-t. Ha ezeket az üzeneteket a stdout-ra és a stderr-ra akarjuk irányítani, állítsuk a változó értékét errorra. Ha minden üzenetet szeretnénk látni, válasszuk az all értéket. Az alapértelmezett érték: no APMD ADJUST DISK PERF=”no” Energiatakarékosság céljából leállíthatjuk merevlemezünket, ha az itt megadott ideig használaton kívül volt. Ehhez nem szükséges, ha hálózati áramot használunk. Állítsuk ennek a paraméternek az értékét yes-re, ha szeretnénk ezt a funkciót használni. Jegyezzük meg, hogy ez nem működik, ha valamelyik alkalmazás dolgozik a merevlemezre. Az alapértelmezett érték: no. APMD BATTERY DISK TIMEOUT=”12” Az az

időtúllépés, mely után – akkumulátor használat esetén – a merevlemezünk leáll. A paraméterek megadási módjáról olvassuk el a man hdparm kézikönyvlapot Ez a paraméter csak az hADJUST DISK PERFi változó yes értéke esetén elérhető. Az alapértelmezett érték 12, ami kb. egy perc időtúllépésnek felel meg APMD AC DISK TIMEOUT=”0” Ezt a változót csak hálózati áram használata esetén állítsuk be. Alapértelmezett értéke 0 vagyis nem áll le a merevlemez. APMD BATTERY LOW SHUTDOWN=”0” Amikor az akkumulátor töltöttsége egy kritikus érték alá csökken, néhány laptop BIOS-a küld egy battery low üzenetet. Itt adhatjuk meg azt az időt (percben), melynek eltelte után a rendszer gépünket szabályosan kapcsolja ki. A megadható legkisebb érték 1 perc Az alapértelmezett érték a 0, ami a funkció tiltását jelenti. APMD SET CLOCK ON RESUME=”no” Ha problémánk adódna az óra beállításokkal, készenléti állapotból

való visszatérés után állítsuk ennek a változónak az értékét yes-re. Ekkor a rendszermag idő beállításra kerül a GMT változóban tárolt értékek szerint. Az alapértelmezett érték: 0 APMD SUSPEND ON AC=”yes” Állítsuk a hSUSPEND ON ACi változó értékét no-ra, ha el szeretnénk kerülni a készenléti vagy felfüggesztett állapotba váltást hálózati áram használata esetén. Alapértelmezésben a felfüggesztett állapotba váltás hálózati áram és akkumulátor használata esetén is bekövetkezhet. APMD PCMCIA SUSPEND ON SUSPEND=”no” Ha a PCMCIA modul APM támogatással lett fordítva, a kártyák a rendszer felfüggesztése előtt felfüggeszutett állapotba kerülnek. Ha a 354 Rendszerbeállítás: szkriptek és változóik APMD PCMCIA EJECT ON SUSPEND=”no” A PCMCIA kártyák többé kevésbé vannak felkészítve a felfüggesztett mód kezelésére. Ha van egy olyan kártyánk, mely nem megfelelően kezeli ezt az eseményt

(mint például egy SCSI kártya), azt előbb le kell választani a rendszerről, természetesen nem fizikailag. Inkább az áramellátásukat szakíthatjuk meg a cardctl eject paranccsal. APMD INTERFACES TO STOP=”” Ha egy olyan beépített NIC eszközzel rendelkezünk, mely nem tud feléledni a felfüggesztett állapotból, adjuk meg itt ennek az interfésznek a nevét. Így ez az eszköz a felfüggesztés előtt leállításra kerül és éledés után újraindul. Az alapértelmezett érték: ”” APMD INTERFACES TO UNLOAD=”” Ha az előbbi paraméter nem tudja leállítani a hálózati interfészt, távolítsuk el a modult felfüggesztéskor és indítsuk újra a hálózatot élesztéskor. APMD LEAVE X BEFORE SUSPEND=”no” Ha a grafikus kártya nem képes feléledni megfelelően felfüggesztett állapot után, a rendszer felfüggesztés előtt előbb váltson át szöveges konzolra, és élesztés után térjen vissza az X-hez. Az alapértelmezett érték: no. 12

A SuSE Linux rendszerindítási koncepciója PCMCIA modul nem támogatja az APM-et, ezt a feladatot az apmd-nek kell elvégeznie. Az alapértelmezett érték: no APMD LEAVE X BEFORE STANDBY=”no” Néhány esetben szükséges beállítás lehet. Az alapértelmezett érték: no APMD LOCK X ON SUSPEND=”no” Állítsuk ennek a változónak az értékét yes-re, ha felfüggesztés előtt szeretnénk a képernyőt lezárni. Ha csak egy X szerver fut és a virtuális terminálon senki nincs bejelentkezve, ez bizonyos szempontból biztonságos állapot: ebben az állapotban a laptopunkon lévő adatokhoz nem tud hozzáférni senki. Az alapértelmezett érték: no APMD STOP SOUND BEFORE SUSPEND=”no” Bizonyos esetekben a hangmodulok nem „élnek túl” egy felfüggesztési és élesztési folyamatot. Ebben az esetben minden jónak tűnik, csak éppen hang nem hallható. Ezt elkerülhetjük, ha a hangmodult felfüggesztés előtt eltávolítjuk a rendszerből. A modulok újra

betöltése csak akkor szükséges, ha OSS-t vagy ALSA-t használunk, rendszermag modul használata esetén az automatikusan betöltődik. Az összes hangmodul sikeres eltávolításához az azokat használó alkalmazásokat le kell állítani. A változó alapértelmezett értéke: no. A lehetséges értékek: alsa, oss vagy kernel. SuSE Linux – Rendszerkézikönyv 355 APMD KBD DELAY=”” APMD TURN OFF IDEDMA BEFORE SUSPEND=”” Néhány laptop nem tud visszatérni a felfüggesztett állapotból, ha a merevlemez használja a DMA módot. Itt adhatjuk meg szóközzel elválasztva azokat a merevlemezeket, melyeknél ki kell kapcsolni a DMA módot felfüggesztés előtt. például /dev/hda esetén írjunk hda Az alapértelmezett érték: ””. printer Nyomtatóra vonatkozó beállítások. DEFAULT PRINTER=”lp” Annak a nyomtatási sornak a neve, melyet az lpr parancs -P opció nélkül használ. proxy Proxy settings HTTP PROXY=”” Néhány program (például a lynx,

arena, vagy a wget) proxy szervert fog használni, ha ez a környezeti változó be van állítva. A SuSEconfig az /etc/SuSEconfig/* fájlokban állítja ezt be. Példa: ”http://proxy.szolgaltatohu:3128/” FTP PROXY=”” Az FTP proxy megadása. Példa: ”http://proxy.szolgaltatohu:3128/” NO PROXY=”localhost” Ezzel lehet (al-)doméneket kizárni a proxy-zásból. Példa: ”wwwmede, do.main, localhost” security Biztonsági beállítások CHECK PERMISSIONS=”set” Meghatározza, hogy a SuSEconfig ellenőrizze-e azon fájlok hozzáférési engedélyeit, amelyek az /etc/permissions fájlban vannak megadva. A set helyrehozza a rossz bejegyzéseket, a warn csak figyelmeztet minket, a no pedig kikapcsolja ezt a szolgáltatást. PERMISSION SECURITY=”easy local” Három biztonsági szint van előre definiálva: /etc/permissions.paranoid, /etc/permissionssecure és /etc/permissions.easy A változó értéke lehet easy, secure vagy paranoid. Saját biztonsági szinteket is

megadhatunk az /etc/permissions.local fájlban Ha a változó értéke local, az általunk meghatározott biztonsági szint lép érvénybe. A paranoid értéket választva néhány rendszer szolgáltatás nem lesz elérhető. 356 Rendszerbeállítás: szkriptek és változóik sendmail A sendmail változói. Ezek beállításához használjuk a YaST2-t LOAD SEQUENCER=”yes” Az ALSA szekvenszer modulok betöltése rendszerindításkor. Ezekre a modulokra csak akkor van szükség, ha MIDI eszközöket szeretnénk kezelni. Ha nincsenek ilyen szándékaink, tiltsuk ezt az opciót Ezek a modulok szükség esetén betölthetők. ssh Az ssh démon indítása előtt győződjünk meg róla, hogy létezik a gépnek ssh kulcsa. Részletekért nézzük meg a dokumentációt az /usr/share/doc/packages/ssh könyvtárban és a kézikönyv oldalakban. SSHD OPTS=”” Opciók az sshd számára. suseconfig A SuSEconfig beállításai. ENABLE SUSECONFIG=”yes” Ezzel a változóval

szükség esetén teljesen ki lehet kapcsolni a SuSEconfigot. Nem kérhetünk telepítési segítségnyújtást, ha problémák adódnak a rendszer telepítésével a SuSEconfig kikapcsolása után. MAIL REPORTS TO=”root” A SuSEconfig a telepített csomagok által készített jelentéseket el tudja küldeni e-mailben is. Itt lehet megadni, mely címre küldje őket A SuSE Linux rendszerindítási koncepciója sound Hang beállítása. 12 MAIL LEVEL=”warn” Állítsuk warn-ra, ha csak a fontos üzenetekre vagyunk kíváncsiak. Az all esetén minden naplóüzenetet megkapunk levélben. CREATE INFO DIR=”yes” Ha ennek az értéke yes, akkor létrejön a /usr/info/dir, amely minden információs lap általános indexeként szolgál. Használata hasznos egy olyan csomag telepítése után, amely információs lapokat tartalmaz. Nem árt megjegyezni, hogy szükséges hozzá a perl program telepítése. CHECK ETC HOSTS=”yes” Végrehajthat-e a SuSEconfig módosításokat és

ellenőrzéseket az /etc/hosts fájlon. BEAUTIFY ETC HOSTS=”no” Szükséges-e az /etc/hosts tartalmának ábécé sorba rendezése. SORT PASSWD BY UID=”no” Ha ez yes-re van állítva, a SuSEconfig az /etc/passwd és /etc/group fájlokat az azonosító (UID illetve GID) szerint növekvő sorba rendezi. SuSE Linux – Rendszerkézikönyv 357 CWD IN ROOT PATH=”no” Az aktuális könyvtár szerepeljen-e a root keresési útvonalában. Biztonsági okokból ezt nem ajánlott beállítani. Ez a beállítás minden rendszer-felhasználóra (100 alatti azonosító) vonatkozik. CWD IN USER PATH=”yes” Az aktuális könyvtár szerepeljen-e a normál felhasználók keresési útvonalában. CREATE PERLLOCAL POD=”yes” A SuSEconfig módosíthatja-e a perllocal.pod fájlt UPDATE GROFF CONF=”yes” Frissüljön a DESC, helyes lapméretet állítva be. GROFF PAGESIZE=”” Ha a helyes papírméret nem található meg a printcap fájlban, itt megadhatjuk. A lehetséges

értékek, melyeket a groff és a ghostscript is ismer: letter, legal, a4 és b5. sysctl A rendszermag speciális beállításai IP DYNIP=”no” Engedélyezzük-e a dinamikus IP foltozást rendszerindításkor? IP TCP SYNCOOKIES=”yes” A „syn flood” (SYN elárasztás) elleni védekezés bekapcsolása. További információkért olvassuk el a /usr/src/linux/Documentation/ Configure.help fájlt IP FORWARD=”no” Ha azt akarjuk, hogy a gép csomagtovábbítást végezzen két hálózati kártya között, akkor az IP FORWARD értékét állítsuk be yes-re. Normális esetben útválasztáskor (routing) és az álcázáskor (masquerading) erre szükség van. Az /etc/initd/boot szkript az „IP forwarding”-ot (csomagtovábbítást) a /proc fájlrendszerbe tett bejegyzéssel kapcsolja be. ENABLE SYSRQ=”no” Ez a rendszermag egy belső tulajdonságát kapcsolja ki/be. Részletesebb információkért olvassa el a /usr/src/linux/Documentation/sysrq.txt fájlt! DISABLE

ECN=”yes” Állítsuk yes-re, ha problémánk van olyan gépekhez való csatlakozással, melyek olyan tűzfal mögött vannak, amelyek az ECN (early congestion notification) bittel rendelkező csomagokat eldobják. 358 Rendszerbeállítás: szkriptek és változóik syslog A syslog démon beállítása. SYSLOGD ADDITIONAL SOCKET DHCP=”/var/lib/dhcp/dev/log” Ennek a változónak a tartalmát a dhcp-server csomag tartalmazza. Az itt említett fájlok a syslogd indulásakor a hSYSLOGD PARAMSi változón, mint socketen keresztül jönnek létre a -a <fájlnév> kapcsolóval. Ez a socket abban az esetben szükséges, amikor a syslogd újraindul. Különben a chroot környezetben futó dhcpd nem fogja tudni folytatni a naplózást. KERNEL LOGLEVEL=”1” A klogd (rendszermag naplózási démon) naplózási szintje. SYSLOGD PARAMS=”” Paramétereket adhatunk meg a syslogd program számára, például ”-r -s my.domain” syslog-ng A syslog-ng beállítása. SYSLOG NG

REPLACE=”yes” Le szeretné cserélni az alapértelmezett syslog démont? SYSLOG NG PARAMS=”” Paraméterek a syslog-ng számára. További információkért olvassuk el a man 8 syslog-ngat. 12 A SuSE Linux rendszerindítási koncepciója BOOT SPLASH=”yes” no esetén a „splash” képernyő (grafikus első konzol) eltűnik a rendszer indítása után. tetex TEX/LATEX. CLEAR TEXMF FONTS=”no” A TeX vagy LaTeX rendszerek automatikus betűtípus készítője a bittérkép betűtípusokat a /var/cache/fonts/ könyvtárban találja. Ha ennek a változónak az értékét yes-re állítjuk, ebből a könyvtárból törlődni fognak a legutóbbi 20 napban nem használt betűtípusok. windowmanager ablakkezelő beállítások DEFAULT WM=”kde” Itt állíthatjuk be az alapértelmezett ablakkezelőt, mint például kde, gnome, fvwm. INSTALL DESKTOP EXTENSIONS=”yes” A SuSE kiterjesztések (témák és egyéb szolgáltatások) beállítása új felhasználók

számára. KDM SHUTDOWN=”auto” Mely felhasználók állíthassák le vagy indíthassák újra a gépet kdm-en keresztül. Lehetséges értékek: root, all, none, local és auto SuSE Linux – Rendszerkézikönyv 359 KDE USE FAM=”no” Használja-e a KDE a fam démont. Ennek csak NFS-en csatolt könyvtárak esetén van értelme. KDE USE FAST MALLOC=”no” Gyors memóriafoglalást használjon-e a KDE. SUSEWM UPDATE=”yes” A SuSEconfig.wm készítsen-e rendszerszintű beállítási fájlokat az ablakkezelőkhöz? SUSEWM WM=”all” Szóközzel elválasztott lista azokról az ablakkezelőkről, melyekhez konfigurációs fájl készül. A lehetséges értékek: fvwm, fvwm2, fvwm95, bowman, mwm, ctwm, kwm, illetve all. SUSEWM XPM=”yes” Legyenek-e képek a menükben. Ehhez a 3dpixms csomagnak telepítve kell lennie. xdmsc X terminálok használata START RX=”no” Először is szerkesztenünk kell az /etc/inittab fájlt: távolítsuk el a megjegyzés jelet (#) a

/sbin/init.d/rx bejegyzést tartalmazó sor elől Ezután az hRX XDMCPi és az hRX RHOSTi változókat kell beállítanunk. Végül a hSTART RXi változó értékét állítsuk yes-re. RX XDMCP=”broadcast” Az xdm vezérlő protokoll az alábbi lehet: query, indirect vagy broadcast. query vagy indirect használata esetén állítsuk be az hRX RHOSTi változót. RX RHOST=”” xdm gépnév; akkor szükséges megadni, ha az hRX XDMCPi változó értéke query vagy indirect. RX DSP=”” Opcionális DISPLAY sorszám, mint például :1 vagy :2. Alapértelmezett DISPLAY: :0. RX BPP=”” A helyi X szerver által használt opcionális színmélység. RX CLASS=”” Opcionális osztálynév egy alap osztály elnevezéséhez távoli xdm konfigurációkban. xntp Az NTP (Network Time Protocol) démon indítási opciói. A démon beállítása az /etc/ntp.conf fájlban történik 360 Rendszerbeállítás: szkriptek és változóik ypbind NIS kliens beállítása. A doménnév az

/etc/defaultdomain fájlban található. A szerver nevét közvetlenül az /etc/ypconf fájlba írja a YaST2. YPBIND OPTIONS=”” Opciók a NIS számára. YPBIND LOCAL ONLY=”no” Ha ez az opció be van állítva, a ypbind csak a hálózati visszacsatoláshoz (loopback) kötődik. 12 A SuSE Linux rendszerindítási koncepciója XNTPD INITIAL NTPDATE=”AUTO-2” Azon NTP szerverek listája, amelyektől meg lehet kapni az időt, mielőtt még a helyi szerver elindulna. ”atlantiszliget” Egynél több szerver esetén szóközzel kell elválasztani neveiket egymástól. Ha az érték AUTO, akkor az összes, /etc/ntp.conf-ban felsorolt szerver és társszerver (peer) lekérdezésre kerül. Az új alapértelmezett érték az AUTO-2, amely az /etc/ntp.conf-ban felsorolt szerverekből csak az első kettőt kérdezi le. Rádió- és modem órák esetén a cím 127.127TU, ahol T az óra típusa, U pedig az egységet adja meg 0-tól 3-ig. A legtöbb ilyen órának szüksége van

soros kapura vagy speciális buszra. A tényleges eszközt általában egy /dev/device-U szimbolikus link adja meg (U a fenti egység), amely a tényleges eszközre mutat. Részletek a /usr/share/doc/packages/xntp/html/refclock.htm fájlban találhatók. YPBIND BROADCAST=”no” Ha ennek a változónak az értéke yes, a ypbind figyelmen kívül hagyja az /etc/yp.conf fájlt, és a broadcast hívásokat fogja használni NIS szerver kereséshez. Ennek használata nagy biztonsági rést hagy a rendszeren YPBIND BROKEN SERVER=”no” Állítsuk az értéket yes-re, ha hálózatunkban van olyan NIS szerver, amely 1024-nél magasabb kapura csatlakozik. Ez azonban egy biztonsági rés, használata nem javasolt. ypserv NIS szerver beállítása YPPWD SRCDIR=”/etc” Adjuk meg azt a könyvtárat, ahol a YP a forrás fájlokat fogja keresni a passwd és group táblázathoz. Alapértelmezésben ez az /etc könyvtár YPPWD CHFN=”no” Engedélyezzük-e, hogy egy felhasználó

megváltoztassa saját GECOS mezőjét a ypchfn használatával? SuSE Linux – Rendszerkézikönyv 361 YPPWD CHSH=”no” Engedélyezzük-e, hogy a felhasználó megváltoztassa alapértelmezett bejelentkező burkát? zope A ZOPE beállítása ZOPE FTP=”yes” Elérhető legyen-e a Zope FTP-n keresztül? ZOPE FTP PORT=”8021” Melyik kapun legyen elérhető a Zope FTP-n keresztül? ZOPE HTTP PORT=”8080” Ha önálló szerverként futtatjuk a Zope-ot, melyik kaput foglalja le? 362 Rendszerbeállítás: szkriptek és változóik IV. rész Hálózat 13 Hálózati alapok Hálózati alapok A Linux az internettel együtt nőtt fel. Így minden feltételt teljesít és minden szükséges segédeszközzel rendelkezik ahhoz, hogy bármilyen hálózati környezetbe be tudjon illeszkedni. Az alábbiakban egy rövid leírást nyújtunk a Linux által (is) általánosan alkalmazott TCP/IP protokollról, annak különféle szolgáltatásairól és egyéb

tulajdonságairól. Az alapok ismertetése után megmutatjuk, hogyan állíthatunk be hálózati elérésünket SuSE Linux alatt a hálózati kártya használatával és a YaST segítségével. Végül a legfontosabb központi beállítási fájlokat tárgyaljuk, valamint néhány hasznos segédeszköz használatát. Mivel ezek a beállítások meglehetősen összetettek is lehetnek, csak az alapvető mechanizmusokat és a fontosabb hálózati beállítási fájlokat tárgyaljuk ebben a fejezetben. Az internet modemen keresztül, ISDN vagy más csatlakozások felállításával is érhető el a YaST segítségével. Erről a Felhasználói kézikönyvben olvashatunk bővebben. TCP/IP A Linux fő hálózati protokollja IPv6 A következő generáció internete . Hálózati integráció . Manuális hálózati beállítások . Útválasztás a SuSE Linux rendszerben . DNS doménnév szolgáltatás . NIS hálózati információs szolgáltatás . NFS a

Linux hálózati fájlrendszere . DHCP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 366 374 379 382 390 392 402 406 411 TCP/IP A Linux fő hálózati protokollja A Linux operációs rendszer a TCP/IP protokollt használja. Pontosabban szólva, ez nem egy egyedülálló hálózati protokoll, sokkal inkább egy hálózati protokollcsalád, amely sokféle szolgáltatást nyújt. A TCP/IP kifejlesztése egy katonai célú alkalmazáson alapul és a jelen formájában az RFC-ben, 1981-ben lett meghatározva. Az RFC a Request for Comments betűszava Az RFC-k olyan dokumentumok, melyek leírják a különféle Internet protokollokat és kivitelezési eljárásokat az operációs rendszerek és alkalmazásaik számára. Ezeket a dokumentumokat közvetlenül a http://www.ietforg/ honlapon lehet elérni. A TCP/IP

protokollt azóta már többször finomították, de az alapvető protokoll szinte változatlan maradt 1981 óta. Tipp Az RFC dokumentálja az Internet protokollokat. Tudásunk kibővítése érdekében, az idevonatkozó RFC dokumentumok kiindulópontja a http://www.ietforg/rfchtml honlap lehet Tipp A 13.1 táblázatban (következő oldal) felsorolt szolgáltatások két Linux gép közötti TCP/IP adatcserére szolgálnak. TCP Transmission Control Protocol – egy kapcsolatorientált biztonságos protokoll. Az alkalmazás által először átküldendő adat egy adatfolyam, amelyet aztán az operációs rendszer átalakít a megfelelő formára. Az adat a célgépen futó megfelelő alkalmazáshoz mindig az eredeti adatfolyam formátumában érkezik meg. A TCP garantálja, hogy az átvitel során minden adat maradéktalanul és megfelelő sorrendben megérkezzen a rendeltetési helyére. A TCP jól kezeli az adatfolyam hibáit. UDP User Datagram Protocol – Egy kapcsolat

nélküli, nem biztonságos protokoll. Az átvinni kívánt adatok az alkalmazás által előállított csomagok formájában kerülnek elküldésre. Az érkező adatok sorrendje nem garantált, adatvesztés is lehetséges. Az UDP előnyös a csomagorientált alkalmazások számára. Előnye a TCP-vel szemben a kisebb válaszidő, és a kisebb protokoll overhead. 13.1 táblázat: folytatás a következő oldalon 366 TCP/IP A Linux fő hálózati protokollja 13 Internet Control Message Protocol – Lényegében ez nem felhasználói programok által használatos protokoll, hanem egy különleges felügyelő protokoll, amely hibajelentést nyújt és ellenőrzi a TCP/IP adatátvitelben részt vevő gépek viselkedését. Ezen kívül egy egyedi visszhang üzemmódja is van (ICMP echo), amelyet pl. a ping program használ ki IGMP Internet Group Management Protocol (Internet csoportfelügyeleti protokoll): Ez a protokoll a gép viselkedését felügyeli IP multicast

végrehajtása közben. A következő részek hely hiányában nem tartalmaznak több információt az IP multicasting-ról. Hálózati alapok ICMP 13.1 táblázat: Számos protokoll a TCP/IP protokollcsaládban A TCP/IP-vel megvalósított hálózatokra, beleértve a világméretű hálózatot is, teljes egészében hivatkozhatunk úgy, mint az Internetre. A hardverközeli protokollok többsége csomag alapú megoldásokon alapszik. A továbbítandó adatokat csomagokba rendezik, így azok egyszerre nem küldhetők el. Ez az egyik oka, amiért a TCP/IP csak kis adatcsomagokkal dolgozik. Egy TCP/IP csomag mérete maximum 64 kilobyte lehet Valójában a csomagok kicsit kisebbek, így a hálózati szoftver egy korlátozó tényező lehet. Egy adatcsomag maximális mérete egy ethernet szegmensben 1500 byte. Ez az érték adja egy TCP/IP csomag méretét egy ethernet hálózatban. Ha ettől nagyobb mennyiségű adatot szeretnénk továbbítani, az operációs rendszernek több

adatcsomagot kell továbbítania. A rétegmodell Egészen pontosan meghatározva, nem a TCP/IP protokollról van szó, hanem az IP protokollról. Az IP (Internet Protocol) protokollon történik az adatok nem titkosított továbbítása. A TCP (Transmission Control Protocol), mely bizonyos mértékben az IP platform felsőbb rétege, garantálja a biztonságos adatátvitelt. Az IP réteget valójában egy legalsó, hardverszintű protokoll támogatja, mint például az Ethernet. Szaknyelven ezt a felépítést nevezzük rétegmodellnek Az ábrán, minden rétegre, egy-két példát is találunk. Amint látjuk, a rétegek az „absztrakciós szintek”-nek megfelelően vannak rendezve. A legalsó szinten a hardverközeli réteg van. A legfelső, azonban mindig a hardver egy SuSE Linux – Rendszerkézikönyv 367 13.1 ábra: A TCP/IP egyszerűsített rétegmodellje absztrakciója. Minden rétegnek megvan a funkcionalitása, melyet ezt követően mutatunk meg. Minden réteg

szerepe a meghatározásukból kiderül. Például a használt hálózat (pl. ethernet) a bit átvitellel és a biztonsági réteggel vannak ábrázolva Míg az első réteg kábeltípusokkal, jelformákkal, jelkódokkal és hasonlókkal foglalkozik, a második réteg az elérési folyamatokért (melyik gép küldhet adatot?) és a hibajavításért felelős. Az első szintet fizikai rétegnek a második réteget adatkapcsolati rétegnek nevezzük. A harmadik réteg a viszonyréteg és a távoli adatátvitelért felelős. Ez a hálózati réteg biztosítja, hogy az adat megérkezzen a távoli címzetthez és kézbesíthető legyen. A negyedik szint a szállítási réteg, amely az alkalmazás adataiért felelős. A szállítási réteg biztosítja, hogy az adatok a megfelelő sorrendben megérkezzenek és ne legyen adatvesztés. Az adatkapcsolati réteg csak a megérkezett adatok helyességéért felelős. Az átviteli réteg véd meg az adatvesztéstől. Végül az ötödik

szint (alkalmazási réteg) az, ahol az adatot maga az alkalmazás feldolgozza. Hogy minden szint elvégezhesse a tervezett funkcióját, minden réteg számára kiegészítő információk kerülnek az adatcsomagokba. Ez a csomag fejlécében helyezkedik el. Minden réteg egy adatblokkot, ún protokoll fejlécet, fűz minden csomag elejére. a 132 ábrán (következő oldal) egy TCP/IP adatcsomag ethernt kábelen való továbbítására látunk példát. 368 TCP/IP A Linux fő hálózati protokollja 13 Hálózati alapok 13.2 ábra: TCP/IP Ethernet csomag Az ellenőrző összeg nem a csomag elején, hanem a végén helyezkedik el. Ez leegyszerűsíti a hálózati hardver dolgát. Az ethernet hálózatban továbbítható csomag legnagyobb mérete 1460 byte lehet. Amikor egy alkalmazás adatot küld a hálózaton keresztül, az adat egy kivételével (az első réteg maga a hálózati kártya) minden hálózati rétegen áthalad, melyeket a Linux rendszermagja tartalmaz.

Minden réteg felelős azért, hogy az adatot előkészítse, a következő alacsonyabb réteg számára. A legalacsonyabb réteg felelős végül az adat elküldéséért Adat fogadása esetén az egész folyamat fordítva zajlik le. A rétegek olyanok, mint egy hagyma: minden rétegben a protokoll fejlécek leválnak a használható adatról. Végül a negyedik réteg felelős azért, hogy az alkalmazások számára felhasználható adatot állítson elő. Ebben a módban egy réteg csak a közvetlenül felette és alatta levővel kommunikálhat. Az alkalmazások számára nem lényeges, hogy az adat egy 100 MBit/s-is FDDI hálózaton vagy egy 56-kbit/s-os modemvonalon érkezik. Az sem fontos, hogy milyen adatok érkeznek, így az sem gond, amint az adatok megfelelően vannak tömörítve. IP címek és útválasztás IP címek Az Interneten minden számítógépnek 32 bites egyedi címe van. Ennek a 32 bitnek (vagy 4 byte-nak) a használatát mutatja be a 13.2 táblázat

(következő oldal) második sora. Decimális formában a négy byte-ot tízes számrendszerben ábrázoltuk, pontokkal elválasztva. Pontosabban nem csak a szóban forgó gép, hanem minden egyes hálózati interfésze kap IP címet. Egy IP cím egy géphez vagy egy hálózati interfészhez SuSE Linux – Rendszerkézikönyv 369 IP cím (bináris): IP cím (decimális): 11000000 10101000 00000000 00010100 192. 168. 0. 20 13.2 táblázat: Hogyan írható fel egy IP cím tartozik. A gép által használt IP cím sehol máshol a világban nem használható Vannak azonban bizonyos kivételek e szabály alól, de ezek minimális szerepet játszanak a következő részekben. Az ethernet kártyák mindegyikének egyedi címe van: a MAC (media access control) cím. Ez egy 48 bit hosszú, nemzetközileg egyedi és a hálózati kártya gyártója által a hardverbe programozott azonosító. Mindazonáltal van egy szerencsétlen hátránya a gyártó kijelölte címeknek a MAC címek

nem alkotnak hierarchikus rendszert, helyette többé-kevésbé véletlenszerű a kibocsátásuk. Ezért nem használhatók távoli gépek címzéséhez. A MAC cím fontos szerepet játszik két gép közötti kommunikációban a helyi hálózatban, és fő alkotórész a második réteg protokoll fejlécében. A pontok jelzik, hogy az IP címek hierarchikus rendszert alkotnak. Az 1990-es évekig az IP címek szigorúan kategorizált osztályokban voltak. Ez a rendszer azonban túlságosan merevnek bizonyult, ezért napjainkban az „osztálynélküli útvonalválasztást” (vagy CIDR, Classless Inter Domain Routing) használjuk. A hálózati maszk feladata, hogy informálja a 192.168020 IP címnél lévő gépet a 192.16801 IP című gép elhelyezkedését illetően Hálózati maszkok és útvonalválasztás Egyszerűbben, a hálózati maszk alapján be lehet azonosítani, hogy egy adott IP cím milyen hálózatban található. A hálózati maszk felbontja az IP címet

hálózati és gépcímre, meghatározva ezzel a hálózat kiterjedését. A hálózaton belül elhelyezkedő gépek (szakkifejezéssel „azonos alhálózaton lévők” közvetlenül válaszolnak. A hálózaton kívül elhelyezkedő gépek („nem azonos alhálózaton lévők”) csak egy átjárón vagy útvonalválasztón keresztül válaszolnak. Mióta minden hálózati interfésznek saját IP címe lehet, ez eléggé bonyolulttá vált. Mielőtt egy hálózati csomag küldésre kerül, a következők zajlanak le a számítógépben: az IP cím egy logikai ÉS-sel a hálózati maszkhoz csatolódik, a küldő gép címe hasonlóan kapcsolódik a hálózati maszkhoz. Ha több elérhető interfész van, normális esetben minden lehetséges feladó cím ellenőrizve lesz. Az ÉS kapcsolatok eredményei összehasonlításra kerülnek. Ha az eredmények megegyeznek, a cél vagy a fogadó gép egy alhálózatban helyezkedik el. Más 370 TCP/IP A Linux fő hálózati

protokollja 13 IP cím: 192.168022 Hálózati maszk: 255.2552550 Eredményezett csatolás Tízes rendszerben 11000000 10101000 00000000 00010110 11111111 11111111 11111111 00000000 11000000 10101000 00000000 00000000 192. 168. 0. 0 IP cím: 213.9515200 Hálózati maszk: 255.2552550 Eredményezett csatolás Tízes rendszerben 11010101 10111111 00001111 11001000 11111111 11111111 11111111 00000000 11010101 10111111 00001111 00000000 213. 95. 15. 0 Hálózati alapok IP cím:192.168020 Hálózati maszk: 255.2552550 Eredményezett csatolás Tízes rendszerben bináris ábrázolás 11000000 10101000 00000000 00010100 11111111 11111111 11111111 00000000 11000000 10101000 00000000 00000000 192. 168. 0. 0 13.3 táblázat: IP címek hálózati maszkhoz való csatolása esetben egy átjárón keresztül lehet elérni a célgépet. Ez azt jelenti, hogy több „1” bit helyezkedik el a hálózati maszkban, kevesebb gép érhető el közvetlenül és több gép átjárón keresztül.

Számos példa illusztrálja ezt a 133 táblázatban A hálózati maszk ismét megjelenik az IP címmel együtt pontokkal osztott tízes számrendszerbeli formában. Mióta a hálózati maszk is 32-bit értékű, négy számérték íródik egymás után. Hogy mely gépek átjárók, és melyik címtartomány melyik hálózati interfészen keresztül érhető el, a beállításokban kell megadnunk. Más példával szemléltetve: az ugyanarra az ethernet kábelre csatlakozó gépek rendszerint egy alhálózatban helyezkednek el és közvetlenül elérhetőek. Mikor az ethernetet hálózatot kapcsolók és hidak osztják fel, ezek a gépek még mindig elérhetők. Egy gazdaságos ethernet nem alkalmas nagyobb távolságok áthidalására. Ilyen esetekben szükséges az IP csomagokat más hardverre továbbítani (például, FDDI vagy ISDN). Ezeket az eszközöket útvonalválasztóknak vagy átjáróknak nevezzük. Egy Linux gép természetesen ezeket a feladatokat is képes

ellátni Erre megfelelő lehetőséget biztosít az ip forwarding. Ha beállítottunk egy átjárót, az IP csomag a megfelelő átjárón keresztül kerül elküldésre. Az átjárók ugyanazon a módon továbbítják a csomagot, géptől gépig, amíg az eléri a címzett gépet vagy a csomag TTL-je (time to live – életben maradási idő) le nem jár. SuSE Linux – Rendszerkézikönyv 371 Az alap hálózati cím A broadcast cím A helyi gép Ez a hálózati maszk ÉS bármely cím a hálózatban megadva a 13.3 táblázatban (előző oldal) az Eredmény alatt. Ez a cím nem jelölhető ki egy gép számára sem. Alapjában véve „minden gép hozzáférhet az alhálózatban”. Ezt úgy állíthatjuk elő, hogy a hálózati maszkot bináris formába alakítjuk és az alap hálózati címhez adjuk egy logikai VAGY-gyal. A fenti példa eredménye így 192.1680255 Ez a cím egy gép számára sem jelölhető ki. A 127.001 cím szigorúan a „loopback eszköz”

számára van kijelölve minden gépen. A saját géppel való kapcsolat létesíthető e címen keresztül. 13.4 táblázat: Meghatározott címek Mióta az IP címek az egész világon egyediek, saját magunk által készített, véletlen címmel nem csatlakozhatunk a világhálóra. Három címtartomány használatos magán célokra szánt IP alapú hálózat üzemeltetésére. Ezekkel nem lehetséges az Internet felé kapcsolatot létesíteni, mivel ezek a címek nem mehetnek keresztül az Interneten, hacsak egy kis trükköt nem alkalmazunk,. Ezek a címtartományok az RFC 1597-ben vannak definiálva és a 13.5 táblázatban felsorolva Hálózat, Hálózati maszk 10.000, 255000 172.1600, 25524000 192.16800, 25525500 Domén 10.xxx 172.16xx - 17231xx 192.168xx 13.5 táblázat: Privát IP címtartományok Doménnév-rendszer DNS A DNS szolgáltatás megkönnyíti az IP címek „emlékezetben´´ tartását: A DNS segít kijelölni egy IP címet egy vagy több gépnévhez és

fordítva, a gépnevet rendelni az IP címhez. Olyan ez, mint egy telefonkönyv a nevekkel és a 372 TCP/IP A Linux fő hálózati protokollja A nevek hierarchikus rendszert alkotnak, ahol a név minden egyes alkotórésze pontokkal tagolt. A név hierarchia viszont független a fentebb leírt IP cím hierarchiájától. Vizsgáljunk meg egy teljes nevet: meggyfa.suselinuxhu gépnév.doménnév A teljes név – ahogyan a szakértők mondják „teljesen meghatározott doménnév” vagy FQDN (Fully Qualified Domain Name) rövidítésként – a gép nevéből és a domén egy részéből áll. Itt a részleges domén a domén bármely alkotóelemét tartalmazza a fenti példát tekintve a suselinux és a legfelső szintű doménnév (top level domain - TLD). 13 Hálózati alapok telefonszámokkal. A Linuxban ezt az átalakítást egy speciális szoftver, a bind végzi. A gépet, mely ezt az átalakítást végzi névkiszolgálónak nevezzük A TLD kijelölés

történelmi okok miatt meglehetősen zavarossá vált. Például a hárombetűs doménnevek az USA-ban voltak használatosak, míg a világ más részein kétbetűs ISO nemzeti kód volt a szabvány. A 136 táblázatban a különbözőféle TLD-k felsorolása található. Ez az áttekintés nem teljes .com .edu .gov .org .hu .sk (Kereskedelmi) US-beli cégek. (Oktatási) Iskolák, egyetemek és más nem kereskedelmi intézetek az Egyesült Államokban. (Kormányzati) Állami intézmények az Egyesült Államokban. (Szervezeti) Nem kereskedelmi és non-profit szervezetek az Egyesült Államokban. Magyarországi gépek. Szlovákiai gépek. 13.6 táblázat: Különböző legfelső szintű doménnevek Az Internek korai időszakában (1990 előtt) egy fájlt (/etc/hosts) használtak az Interneten elérhető gépek neveinek tárolására. Ez azonban hamar használhatatlannak bizonyult, mivel az Internetet elérő gépek száma nagy arányban megnőtt. Ezért egy

decentralizált adatbázist fejlesztettek ki a gépnevek széles körű terjesztésére. Ennek az adatbázisnak, hasonlóan a fentebb említett névszerverhez, nem kell az Interneten elérhető összes gépről adatot tartalmaznia, hanem kéréssel fordulhat más névszerverekhez. A hierarchia teteje foglalt a „gyökér névszerver” számára. Ezek a gyökér névszerverek kezelik a legfelső szintű doméneket. A gyökér névszervereket a SuSE Linux – Rendszerkézikönyv 373 Hálózati Információs Központ, röviden NIC (Network Information Center) kezeli. A gyökér névszerver felismer minden legfelső szintű doménért felelős névszervert. További információk a legfelső szintű NIC-ekről a http://www.internic net honlapon találhatók. Hogy a gépünk megfelelően fel tudjon oldani egy IP címet, legalább egy névszerver IP címét ismernie kell. Állítsunk be egy névszervert a YaST2 segítségével. Ha modemes elérésünk van, egyáltalán

nem kell szakértői módon beállítani a névszervert. A dial-up protokoll elérhetővé teszi névszerver címét a kapcsolat létrejöttekor. A DNS többet is tud névfeloldásnál. A névszerver azt is „tudja”, melyik gép fogad az egész domén részére elektronikus leveleket, melyik gép a mail exchanger (MX) (levéltovábbító). A SuSE Linux segítségével névszerver elérését a DNS doménnév szolgáltatás részben (392. oldal) leírtak alapján állíthatjuk be. Whois Közeli viszonyban van a DNS-sel a whois protokoll. Ezzel a programmal gyorsan megtaláljuk, ki felelős bármely adott doménért. A szerzői jog miatt magyar doménekhez a szolgáltatás csak a http://www.domainhu/domain/domainsearch/feltetelekhtml címen elérhető feltételek elfogadása és betartása mellett használható legálisan. IPv6 A következő generáció internete Az új internetprotokoll A WWW (World Wide Web) felbukkanása miatt az interneten jelenlévő, TCP/IP

segítségével kommunikáló gépek száma robbanásszerűen megnőtt az elmúlt tíz évben. Mióta Tim Berners-Lee a CERN-nél (http://publicwebcernch/) 1990-ben kitalálta a WWW-t, az internetre kapcsolódó gépek száma néhány ezerről körülbelül 100 millióra nőtt. Egy IP cím „csak” 32 bitet tartalmaz. Mivel szervezési okokból sok IP cím nem használható, sok IP cím elvész számunkra. Az internet alhálózatokra tagolódik. Az alhálózaton rendelkezésre álló címek számát kiszámolhatjuk, ha a bitek számának négyzetéből kivonunk kettőt. Például egy alhálózatban kettő, hat vagy tizennégy IP cím lehetséges. Ahhoz, hogy például 128 gépet csatlakoztassunk az internethez, „C osztályú” alhálózatra lesz szükségünk 374 IPv6 A következő generáció internete Egy gépet TCP/IP hálózatba beállítani viszonylagosan bonyolult dolog. Mint ahogyan már láttuk, a következő dolgokat kell beállítani a gépünkön: IP

címet, alhálózati maszkot, átjáró címét (ha van ilyen) és a névszervert. Ezeket az információkat tudnunk kell, vagy meg kell kapnunk a szolgáltatónktól. Minden IP csomag tartalmaz egy ellenőrző összeget, ami minden útvonalválasztó folyamatot ellenőriz és minden alkalommal újra kell számolni. Ez az, amiért a nagyon gyors útvonalválasztók nagy processzorteljesítményt igényelnek és meglehetősen drágák. 13 Hálózati alapok 256 IP címmel, amelyből csak 254 használható. Két IP cím nem használható az alhálózat gépei számára – a broadcast és az alap hálózati cím. Néhány szolgáltatás üzenetszórást (broadcast) is használ (például a Windows hálózati protokoll, az SMB). Azoknak a gépeknek, amelyeknek ez a szolgáltatás nem fontos, ennek ellenére fel kell dolgozniuk a csomagokat és csak azután hagyhatják azokat figyelmen kívül. Ez nagysebességű hálózatokon problémákhoz vezethet. Az előző IP protokollt az

IPv6 váltja fel, amely ezeket a problémákat mind megoldja. E fejlesztés fő eredménye, hogy jelentősen megnő az eléggé korlátozott címtartomány, leegyszerűsíti a munkaállomások beállítását és automatizálja azt, mikor lehetséges. Ebben a részben az IPv4 vagy IP a jelenleg használt protokollként lesz említve, az IPv6 az új hatos verzió vonatkozásában. Az IPv6 részletekbe menő meghatározása az RFC 1752-ben található. További erre vonatkozó adatok után kutatva, nézzük ennek az RFC-nek a bevezetését. Az IPv6 128 bites címeket használ, ezért így IP címek quadrillióit lehet használatával kiosztani. Ez a nagyszámú cím lehetővé teszi a legkisebb alhálózati kiterjesztését 48 bitre. Ezáltal lehetséges lesz a fentebb említett MAC címet egy címrészként használni. Ez a cím teljes mértékben egyedi és szigorúan a hardver előállítója által meghatározott, így a gép beállítását sokkal könnyebé teszi. A

valóságban egy EUI-64 gyűrű fog egyesülni, az első 64 bitig. Ezzel, a MAC cím utolsó 48 bitjének eltávolítása után a megmaradó 24 bit fogja tartalmazni a gyűrű típusára vonatkozó különleges információt, ami lehetővé teszi EUI-64 gyűrű kijelölését MAC cím nélküli eszközhöz (PPP és ISDN kapcsolatok). Továbbá az IPv6 új fejlesztést is tartalmaz: normál esetben különböző IP címek vannal egy hálózati interfészhez kijelölve. Ennek az az előnye, hogy különböző hálózatokat tehetünk ezáltal elérhetővé. Egy ezek közül automatikusan beállított hálózat is lehet. A hálózati kártya MAC címe és egy előtag meghatározásán kívül semmi mást nem kell beállítanunk. A helyi hálózat minden gépe elérhető lesz az IPv6 indulása után („helyi-csatolású cím”). A munkaállomás további beállítási feladatai is nagy mértékben automatikusak SuSE Linux – Rendszerkézikönyv 375 Cím típusa

Localhost IPv4-kompatibilis IPv6 cím IPv4-re alakított IPv6 cím véletlen cím helyi csatolású cím Site-local cím Multicast csoport „Helyi csatolású útválasztók” Érték ::1 ::10.1011102 (IPv6 által támogatott) ::ffff:10.1011102 (IPv6 által nem támogatott) 3ffe:400:10:100:200:c0ff:fed0:a4c3 fe80::10:1000:1a4 fec0:1:1:0:210:10ff:fe00:1a4 ff02:0:0:0:0:0:0:2 13.7 táblázat: Különböző IPv6 címek lesznek. E célból létezik egy különleges protokoll, mellyel a munkaállomás egy IP címet fogadhat az útvonalválasztótól. Minden IPv6-tal támogatott géphez teljes mértékben szükséges a „multicast” támogatás. A multicast segít több gépet egyidejűleg elérhetővé tenni – nem kell mindegyiket broadcasthoz vagy csak egyet unicasthoz beállítani. Hogy melyikre, az az alkalmazástól függ. Minden esetre egy pár jól meghatározott multicast csoport létezik, például „minden névszerver csoport” vagy „minden útvonalválasztó

multicast csoport”. Az Interneten lévő minden gépet nem lehet IPv4-ről IPv6-ra fejleszteni, helyette a kompatibilis mód áll rendelkezésre. Ez a korábbi címeket IPv6 címekké alakítja. Ezzel egyidőben használhatjuk a „tunneling” mechanizmust – itt ez azt jelenti, hogy az IPv6-os csomagok IPv4 formában továbbítódnak. Természetesen lehetséges IPv6-ot IPv4-re alakítani. Hogy egy IPv6 gépet el lehessen érni egy IPv4-ről, az IPv6-os gépnek mindenképpen rendelkeznie kell IPv4 kompatibilis címmel. Egy IPv6 cím szerkezete Egy IPv6 cím 128 bites, amely jelentősen hosszabb az IPv4 32 bites hosszánál. Egy IPv6 cím következetesen 16 byte hosszú. A méret miatt az új IPv6 címek más formában íródnak, mint az előzetesen használt IPv4 címek. Ehhez lássuk a 137 táblázatot Ahogyan a táblázatban láttuk, az IPv6 címek tizenhatos alapú számrendszerbeliek. Ezek a számok két byte-os szegmensekre oszlanak, melyeket kettőspont 376 IPv6 A

következő generáció internete Az IPv6 cím minden részének jelentése van a beállítást tekintve. Az első byte-ok egy előtagot és egy meghatározott címtípust foglalnak magukban. A középső címrészek egy hálózatot jelentenek vagy nincs jelentésük, míg az utolsó rész a gépszegmenst magába foglalja. A 138 táblázat magyarázattal szolgál néhány jobban elterjedt előtag felől. Előtag (hexadecimális) 00 Az első szám 2 vagy 3 fe80-tól febf-ig fec0-től feff-ig ff 13 Hálózati alapok választ el. Ezért legfeljebb csak nyolc csoport és hét kettőspont lehet egy címben. Az első nulla byte-ok a csoport elején figyelmen kívül hagyhatók, de a közepén és a végén lévők nem. Több mint négy egymást követő nullabyte átugorható a :: kihagyási karakterrel Mindazonáltal csak egy kihagyási karakter lehetséges egy címben. Ez a kihagyási folyamat technikailag az „összeomlásra” vonatkozik. Az IPv4 kompatibilis

cím egy különleges formája az összeomlásnak: itt az IPv4 cím egyszerűen csatolódik IPv4 kompatibilis címek előre meghatározott előtagjához. Használat IPv4 és IPv4 IPv6-on keresztüli kompatibilis címek. Ez egy IPv4 kompatibilis cím Egy megfelelő útvonalválasztóval az IPv6 csomagot IPv4-re szükséges átalakítani. További különleges címek (például,loopback eszközök) is ezzel az előtaggal vannak megjelölve. szolgáltató alapú unicast cím. Ahogyan az előző példában is, kijelölhetünk IPv6 alhálózatot a szolgáltatótól. helyi csatolású cím ezzel az előtaggal nem routeolható, és ezért nem érhető el ugyanabban az alhálózatban. site-local. Ezek a címek routolhatók, de csak a szervezeten belül. Ezek a címek összefüggenek az előzőleg említett „magán” hálózatokkal (például 10.xxx) multicast IPv6 címek ff-fel kezdődve multicast címek. 13.8 táblázat: Különböző IPv6 előtagok Ahogyan már fentebb

láthattuk, a különleges unicast címek egészen hosszúak lehetnek. Ezek többé nem jegyezhetők meg egyszerűen Épp ezért egy működő névszerver az IPv6-számára nagyobb jelentőségű mint az IPv4 esetében volt. SuSE Linux – Rendszerkézikönyv 377 Mivel a névszerverek ilyen fontosak, ezért létezik számukra automata beállítási protokoll. IPv6 hálózati maszkok A hálózati maszkok szigorúan más módon jelennek meg az IPv6-ban. A hálózatok osztályszintű besorolása ezentúl nem praktikus dolog, mivel az osztálynélküli útvonalválasztás használható kezdve a kis alhálózatoktól nagy számú gépet tartalmazó hálózatok esetéig. Mióta az előző módon kiírt hálózati maszkok meglehetősen hosszúakká váltak, azokat teljesen más formában kell felírni. fec0:1:1:0:210:10ff:fe00:1a4/64 azt jelzi, hogy az utolsó 64 bit adja a gép szegmenst és az első 64 a hálózati szegmenst. Pontosabban, a 64 azt jelenti, hogy a

hálózati maszk fel van töltve 1-es bitekkel, ahogyan a jobb oldalon jelezve van. Ezért 64 egyes bit van a hálózati maszkban. Ahogyan az IPv4 esetén is, a hálózati maszkot egy logikai ÉS csatolja az IP címhez, meghatározva ezzel azt, hogy a gép ugyanabban vagy más alhálózatban helyezkedik-e el. További információk az IPv6-ról Természetesen a fenti áttekintés nem lehet és nem is kíván teljes bevezetés lenni az IPv6 nagyon kiterjedt témakörében. További mélyrehatóbb információkért keressük fel a http://www.ipv6org/ honlapot 378 IPv6 A következő generáció internete 13 Hálózati integráció Hálózati alapok Jelenleg a TCP/IP a szabványos hálózati protokoll. Minden modern operációs rendszer képes TCP/IP-n keresztül kommunikálni. Mindamellett a linux más hálózati protokollt is támogat, amilyen például a Novell Netware rendszerhez tartozó IPX vagy a Macintosh gépek által használt appletalk. Mi itt csak egy linuxos gép

TCP/IP hálózatba való illesztésével foglalkozunk. „Egzotikusabb” Arcnet, token ring vagy FDDI hálózati kártyák illesztéséhez a rendszermag forrásának dokumentációjában találunk további információt (/usr/src/linux/Documentation). A SuSE Linux 8.1 óta történt változásokat a következő fájlban találhatjuk részletezve: /usr/share/doc/packages/sysconfig/README. Előkészületek A gép számára biztosítanunk kell egy, a rendszer által támogatott hálózati kártyát. A legtöbb esetben a hálózati kártya már a telepítés során felismerésre kerül és a megfelelő meghajtóval használható. Ellenőrizhetjük, hogy a kártyánk megfelelően illeszkedik-e, amennyiben kiadjuk az ifstatus eth0 parancsot. A program kimenete megjeleníti az eth0 hálózati eszköz állapotát. Tipp Ha a rendszermag a hálózati kártyánkat modulként támogatja, ahogyan az általában a SuSE rendszermag esetén lenni szokott, a modul nevét meg kell adnunk

alias-ként az /etc/modules.conf fájlban Például az első ethernet kártya: alias eth0 tulip. Ez automatikusan azt eredményezi, hogy ha a meghajtó támogatott, elindul a linuxrc programban, az első telepítés során. Más esetben később a YaST2 segítségével teszi ezt. Tipp Hotplug hálózati kártyák esetén (pl. PCMCIA vagy USB) automatikusan azonosításra kerülnek a meghatómodulok; ilyenkor semmit sem kell beállítanunk. Részleteket a Hotplug eszközök fejezetben találunk (239 oldal) Beállítás a YaST segítségével A YaST2 segítségével gyorsan beállíthatjuk hálózati kártyánkat. A hálózati kártya YaST2 segítségével történő beállításához indítsuk el a YaST vezérlőközpontot és válasszuk a ‘Hálózati eszközök’ ‘Hálózati kártya beállítása’ SuSE Linux – Rendszerkézikönyv 379 menüpontot. A ‘Hozzáadás’ menüvel új hálózati kártyát állíthatunk be A ‘Törlés’ gombbal eltávolíthatjuk a

beállítások közül. A ‘Szerkesztés’ gombbal módosíthatjuk a meglévő hálózati kártyák beállításait. Jelöljük ki a ‘Hardver’ panelon a ‘Szerkesztés’ gombbal előzőleg beállított hálózati kártya hardveradatainak módosításához. A megjelenő párbeszédablakban megváltoztathatjuk a hálózati kártya beállításait a 133 ábrán látható módon. Alap esetben a hálózati kártya megfelelő meghajtója a telepítés folyamán beállítódik és elindul. Ezen túl hardverparaméter kézi beállítása csak több hálózati kártya használata esetén, vagy akkor szükséges ha a hálózati hardver felismerése nem történt meg automatikusan. Ebben az esetben válasszuk a ‘Hozzáadás’ gombot az új meghajtómodul meghatározásához. 13.3 ábra: A hardverparaméterek beállítása Ebben a párbeszédablakban beállíthatjuk a hálózati kártya típusát, és ISA kártyák számára a megszakítást és az IO címet. Néhány hálózati

meghajtó számára ezen kívül különleges paramétereket is meg lehet adni, úgymint a használandó interfészt combo kártyák esetén (pl. RJ-45 vagy BNC csatlakozó) Igény esetén olvassuk el a meghajtómodul leírását. PCMCIA és USB esetén elegendő, ha a megfelelő mezőt bejelöljük. A hardverparaméterek megadása után állítsuk be a kiegészítő hálózati interfész adatokat. Válasszuk ki az ‘Interfész’ részt a ‘Hálózati alapbeállítások’ párbeszédablakban, hogy a hálózati kártyát aktiváljuk és IP címet rendeljünk 380 Hálózati integráció Állítsunk be egy névszervert a ‘Gépnév és névszerver’ menüpont alatt, ahogyan a DNS doménnév szolgáltatás fejezetben (392. oldal) található A ‘Útvonalválasztás’ menün keresztül állítsuk be az útvonalválasztást. 13 Hálózati alapok hozzá. Válasszuk ki a kártya számát és kattintsunk a ‘Szerkesztés’ gombra Egy új párbeszédablak fog feltűnni,

ahol megadhatjuk az IP címet és más IP hálózati adatokat. A saját hálózatunk számára kijelölt címekről további információt a TCP/IP A Linux fő hálózati protokollja fejezetben (366. oldal) és a 135 táblázatban (372 oldal) találunk Egyéb esetben a hálózati adminisztrátorunk által kijelölt címet írjuk be a megfelelő mezőbe. Ha vezetéknélküli (wireless) hálózati kártyákat használunk, akkor a ‘Vezetéknélküli eszköz’ menüpontot kell aktiváljuk. A legfontosabb beállításokat egy külön párbeszédablakban kell megtennünk Ezek az üzemmód, a hálózati nevek, és a titkosított átvitel kulcsa. Ezzel a hálózati beállítás kész. A YaST2 elindítja a SuSEconfig programot és átvezeti a beállításokat a megfelelő fájlokba (lásd a Manuális hálózati beállítások fejezetet (következő oldal)). A változások életbe lépéséhez az e szempontból fontos programokat újra kell konfigurálni és a szükséges démonoknak

újra kell indulniuk. Ez megtehető a rcnetwork restart paranccsal Hotplug – PCMCIA A hotplug hálózati kártyák, mint például a PCMCIA vagy az USB kezelése különleges módon történik. A beépített hálózati kártyákkal ellentétben, melyek állandó eszköznévvel bírnak (például eth0), a hotplug kártyák egy kijelölt ”keretből„ szereznek szabad eszköznevet dinamikus módon, igény esetén. Hogy elkerülhető legyen a beépített hálózati kártyákkal való ütközés, a PCMCIA és hotplug szolgáltatások csak a hálózati alapszolgáltatások után töltődnek be a rendszerindulás folyamán. Ezek a kártyák automatikusan kerülnek beállításra, amikor behelyezzük őket, illetve amikor a rendszertöltési folyamat részeként felismerésre kerülnek. Ezért tehát nem szükséges, hogy mindez hálózati szolgáltatások előtt történjen. Sőt, pont ellenkezőleg: ha ezeket a kártyákat csak a hálózati indítószkript kezelné, nem

tudnánk futási időben cserélni az eszközöket. Az IPv6 beállítása IPv6 beállításához nem lesz szükség változtatásokra az egyedülálló munkaállomások esetén. Az IPv6 támogatásnak be kell töltődnie Ezt legkönnyebben a modprobe ipv6 parancs segítségével lehet megtenni, de erre többnyire nincs SuSE Linux – Rendszerkézikönyv 381 szükség, hiszen a modul alapértelmezésben automatikusan töltődik be a SuSE Linux rendszeren. Az IPv6 automatikus beállítási koncepciója értelmében a hálózati kártya számára a „link-local” hálózati címtartományban lesz cím kijelölve. Nincs szükség útvonalválasztó táblázat kezelésére sem a munkaállomáson. A hálózati útvonalválasztókat a munkaállomások a „Router Advertisment Protocol” névre hallgató protokollon keresztül lekérdezhetik, hogy milyen előtagot és átjárót kell alkalmazniuk. A radvd csomag használható IPv6 útvonalválasztó beállítására. Ez a program

informálja a munkaállomást, melyik előtagot használja az IPv6 számára és melyik útvonalválasztókat. Hogy könnyedén kijelölhessünk IPv6 címeket munkaállomások számára, tanácsos a radvd program használatával telepíteni és beállítani az útvonalválasztót. A munkaállomások automatikusan fogadni fogják a számukra kijelölt IPv6 címeket. Manuális hálózati beállítások A hálózati szoftverek kézi beállítása mindig az utolsó lehetőség kell legyen a megoldások sorában. Ha csak lehetséges, használjuk a YaST2 programot a hálózat beállításához. Fontos tudni, hogy minden hálózati interfészt a /sbin/ifup szkripttel indíthatunk (”húzhatunk fel„). Az interfész megállításához illetve ellenőrzéséhez, rendre az ifdown és a ifstatus parancsokat használhatjuk. Ha csak beépített hálózati kártyákkal rendelkezünk, elegendő az interfészeket csupán a nevükkel beállítani. A ifup eth0 parancs indítja, a ifstatus eth0

parancs ellenőrzi, és a ifdown eth0 állítja le az eth0 interfészt. Az interfész beállítási adatai a /etc/sysconfig/network/ifcfg-eth0 fájlban vannak. Ebben az esetben az eth0 az interfész neve, de egybe a hálózati konfiguráció neve is. A hálózati konfigurációt választható módon a hardvercímhez (MAC cím) is hozzárendelhetjük. Ehhez egy olyan beállítási fájlra van szükségünk, melynek neve tartalmazza a MAC címet: ifcfg-<hardvercím kettõspontok nélkül>. A címet kisbetűkkel kell írjuk, úgy, ahogy a ip link szolgáltatja (ezzel szemben az ifconfig nagybetűket használ). Ha az ifup parancs hardvercímes konfigurációs fájlt talál, akkor az esetleg szintén jelen levő ifcfg-eth0 fájlt figyelmen kívül hagyja. Hotplug hálózati kártyák esetén egy kicsit komplexebb a dolog. Ha nem rendelkezünk ilyen kártyával, nyugodtan továbblapozhatunk a Beállítási fájlok fejezethez (következő oldal). 382 Manuális hálózati

beállítások Példaként vegyünk egy latopot két PCMCIA foglalattal és egy PCMCIA Ethernet kártyával. Ebben a laptopban van még egy beépített hálózati kártya is, mely az eth0 nevet kapja. Ha a PCMCIA hálózati kártya a 0-s foglalatban van, a hardverleírása eth-pcmcia-0 lesz. A cardmgr (a kártyakezelő) vagy a hotplug hálózati szkript ezért a ifup eth-pcmcia-0 eth1 parancsot hívja meg. Erre az ifup parancs megvizsgálja, hogy létezik-e a /etc/sysconfig/network/ könyvtárban ifcfg-eth-pcmcia-0 fájl. Ha nem, akkor tovább keres ifcfg-eth-pcmcia, ifcfg-pcmcia-0, ifcfg-pcmcia, ifcfg-eth1 és ifcfg-eth után. Az elsőként megtalált fájlt fogja felhasználni a beállításhoz. Ha tehát olyan hálózati beállítást szeretnénk készíteni, ami minden PCMCIA kártya számára érvényes kell legyen, akkor ezt ifcfg-pcmcia-nak kell nevezzük. Ez aztán minden kártya esetén érvényes lesz, legyen az eth-pcmcia-0 vagy esetleg egy 1-es foglalatban lévő

tr-pcmcia-1 Token ring kártya. 13 Hálózati alapok Mivel a hotplug hálózati kártyák interfész-hozzárendelése véletlenszerűen történik, egy ilyen kártya beállításai nem az interfész-név alatt lesznek, hanem egy olyan név alatt, amelyik a felhasznált hardver fajtáját és a csatlakozási pontot írja le. Ez a továbbiakban hardverleírásnak fogjuk nevezni Ilyen esetben az ifup parancsot két argumentummal kell meghívni; jelesül a pontos hardverleírással és a jelenlegi interfész-névvel. Ezek után az ifup parancs megkeresi azt a konfigurációt, ami a lehető legközelebb áll a hardverleíráshoz. Itt is érvényes, hogy egy hardvercímmel rendelkező beállítási fájlnak abszolút elsőbbsége van. Ezt a mostani példában az áttekinthetőség kedvéért elhagytuk A YaST a hotplug kártyák beállítását kerülőúton végzi, ugyanis sorban beszámoz minden konfigurációt. Ezért írja a PCMCIA kártyák beállításait mindig a

ifcfg-eth-pcmcia-<elmelkedõ szám> fájlokba. Ahhoz, hogy ezek a beállítások mindegyik foglalat esetén működjenek, még egy ifcfg-eth-pcmcia linket is elhelyez, ami a fenti fájlra mutat. Ezt figyelembe kell vegyük, ha részlegesen a YaST-tal, részlegesen pedig manuálisan állítjuk be a hálózatot. Beállítási fájlok Ez a rész áttekintést nyújt a hálózati beállítási fájlokról, megvilágítja céljukat és az általuk használt formátumot. /etc/sysconfig/network/ifcfg-* Ezek a fájlok olyan adatokat tartalmaznak, melyek egy specifikusak egy hálózati interfészre. A fájlokat elnevezhetjük az interfész-név alapján (pl. ifcfg-eth2), a hálózati kártya hardvercíme alapján (pl. (ifcfg-000086386be3), vagy SuSE Linux – Rendszerkézikönyv 383 hardverleírása alapján (pl. (ifcfg-usb) Amennyiben álneveket (alias) használunk, a nevek ennek megfelelően módosulnak (pl. ifcfg-eth2:1 vagy ifcfg-usb:1). Az ifup szkript az interfész-név

mellett igény esetén egy pontos hardverleírást is kap, és ebből keresi ki a legjobban illeszkedő fájlnevet a beállításhoz. A fájlok számos fontos beállítási adatot tartalmaznak. Elsősorban az IP címet (BOOTPROTO=”static”, IPADDR=”10.1011214”) vagy DHCP használatot (BOOTPROTO=”dhcp”). Az IP cím már tartalmazhatja a hálózati maszkot (IPADDR=”10.1011214/16”), de ezt külön is meg lehet adni (NETMASK=”255.25500”) A teljes listát a man ifup tartalmazza Ezen kívül a dhcp, wireless és a config, és a ifcfg-* fájlokból is felhasználhatunk változókat, amennyiben egy különben általános beállítást szeretnénk egy konkrét interfészre alkalmazni. A POST UP SCRIPT és a PRE DOWN SCRIPT változók segítségével az interfész indítása után, illetve leállítása előtt egyedi szkripteket hajthatunk végre. /etc/sysconfig/network/config,dhcp,wireless A config fájl általános beállításokat tartalmaz az ifup, az ifdown és az

ifstatus viselkedésére vonatkozóan. A fájlon belül részletes megjegyzéseket találunk. Ugyanúgy el van látva megjegyzésekkel a dhcp és a wireless fájl is, ahol a DHCP-hez és a vezetéknélküli hálózati kártyákhoz találunk általános beállításokat. Ezeket a változókat a ifcfg-* fájlban is felhasználhatjuk, és ott természetesen elsőbbséget élveznek. /etc/resolv.conf Hasonlóan a /etc/host.conf fájlhoz, ez a fájl is fontos szerepet játszik a gépnevek feloldásában a resolver függvénytár alapján. Ebben a fájlban adhatjuk meg, hogy melyik doménhez tartozik a számítógép (a search kulcsszóval), valamint, hogy melyik névszerverhez forduljon a számítógép (a nameserver kulcsszóval). Több nevszervert is megadhatunk. Egy nem teljes név feloldásakor a search listában megadott doménekkel egyenként kiegészítve próbál meg a rendszer teljes neveket összeállítani. Több névszerver megadása külön sorokban tehető meg; minden sort a

nameserver kulcsszóval bevezetve. Megjegyzéseket a ‘#’ jellel vezethetünk be. Egy példa /etc/resolv.conf fájlt a 26 fájllista (következő oldal) tartalmaz. 384 Manuális hálózati beállítások 26. fájllista: /etc/resolvconf A YaST ide írja be a megadott névszervert! Néhány szolgáltatás, mint például a pppd (wvdial), ipppd (isdn), dhcp (dhcpcd és dhclient), pcmcia és a hotplug megváltoztatják az /etc/ resolv.conf fájlt a modify resolvconf szkripten keresztül 13 Hálózati alapok # a saját doménünk search liget # # A atlantisz (192.16801) gépet használjuk névszerverként nameserver 192.16801 Ha a fenti szkript megváltoztatja a /etc/resolv.conf fájlt, akkor létrejön egy megjegyzés a fájlban, mely arról világosít fel, hogy melyik szolgáltatás módosította, hol található az eredeti fájl biztonsági mentése, valamint hogy hogyan lehet leállítani az automatikus módosításokat. Ha a /etc/resolv.conf többször módosításra

kerül, az egymásba ágyazott módosítások akkor is tisztán eltávolítódnak, ha a szolgáltatások más sorrendben állnak le, mint ahogy induláskor a módosításokat eszközölték. Ez ugyanis isdn, pcmcia és hotplug esetén előfordulhat Ha egy szolgáltatás nem tisztán áll le, a modify resolvconf szkript segítségével visszaállítható az alapállapot. Rendszerindításkor ellenőrzésre kerül, hogy maradt-e vissza módosított resolv.conf (például rendszerösszeomlás miatt nem volt lehetséges az eredeti állapot visszaállítása). Ilyenkor az eredeti (módosítatlan) fájl kerül visszaállításra A YaST a modify resolvconf check parancs segítségével megállapítja, a resolv.conf fájl módosítva lett-e, és figyelmezteti a felhasználót, hogy az ő módosításai a visszaállítás után semmissé válnak. Ha a felhasználó ezt nem fogadja el, akkor a YaST nem használja a modify resolvconf szkriptet, azaz a resolv.conf fájlban történő YaST

általi változtatás és a független manuális változtatás hatásait tekintve egyformának minősül. Amíg mindkét fenti megoldás egy célzott és állandó változtatást jelent, addig a fent említett szolgáltatások általi változtatások átmeneti jellegűek. /etc/hosts Ebben a fájlban (lásd a 27. fájlt) Ip címek gépnevekhez való társítása történik. Ha nincsen névszerver használatban, minden gépet, melyen IP kapcsolat van beállítva, fel kell itt sorolni. Ebben a fájlban minden gép számára egy sor tartalmazza az IP címet és a teljes mértékben megadott nevet és gépnevet (például, meggyfa). Az IP címnek a sor elején kell lennie, a bejegyzések üres hellyel és tabulátorral vannak tagolva. A megjegyzéseket minden esetben ‘#’ jel előzi meg SuSE Linux – Rendszerkézikönyv 385 127.001 localhost 192.16801 atlantiszliget atlantisz 192.168020 meggyfaliget meggyfa # End of hosts 27. fájllista: /etc/hosts /etc/networks A hálózati

nevek itt hálózati címekké alakítódnak át. A forma hasonló a hosts fájlban találhatókhoz, kivéve, hogy a hálózati név megelőzi a címeket (lásd a 28. fájlt) loopback localnet 127.000 192.16800 28. fájllista: /etc/networks /etc/host.conf A névfeloldás (a gép és hálózati nevek lefordítása címekké a resolver programkönyvtáron keresztül) felügyelete valósul meg ezzel a fájllal. Ez a fájl csak a libc4 vagy a libc5-höz csatolt programok által használatos. A jelenlegi glibc programok a /etc/nsswitch.conf fájlban lévő beállításokra hivatkoznak. Egy paraméternek mindig egyedül kell állnia egy sorban és a megjegyzéseket egy ‘#’ jel előzi meg. A 139 táblázat (következő oldal) megmutatja a lehetséges paramétereket. order hosts, bind multi on/off Meghatározzák milyen sorrendben érjék el a szolgáltatások a névfeloldást. A rendelkezésre álló argumentumok a következők (üres hellyel vagy vesszőkkel elválasztva):

hosts: A /etc/hosts fájlban keres bind: Egy névszervert ér el nis: NIS-en keresztül Meghatározza, hogy egy /etc/hosts fájlban lévő gépnek lehet-e többszörös IP címe. 13.9 táblázat: folytatás a következő oldalon 386 Manuális hálózati beállítások 13 trim hdomainnamei Ezek a paraméterek a névszerver átejtése elleni védekezéshez kellenek, de ettől függetlenül nem gyakorolnak hatást a hálózati beállításokra. A meghatározott doménnév elkülönül a gépnévtől a gépnév feloldását követően (amennyiben a gépnév tartalmazza a doménnevet). Ez a lehetőség akkor hasznos, ha csak a helyi doménből származó nevek vannak a /etc/hosts fájlban, ezért az elért doménneveket még mindig fel kell ismerni. Hálózati alapok nospoof on alert on/off 13.9 táblázat: Parameters for /etc/hostconf Egy példa a /etc/host.conf-ra vonatkozóan a 29 fájlban látható # Fut a named order hosts bind # Megengedünk többszörös

címeket is multi on 29. fájllista: /etc/hostconf /etc/nsswitch.conf A GNU C programkönyvtár 2.0 verziója óta a „Name Service Switch” (névkiszolgálás kapcsoló) (NSS) egyre fontosabbá vált. Vessünk egy pillantást az nsswitch.conf kézikönyv lapjaira vagy további részletekért a The GNU C Library Reference Manual című írásra, ”System Databases and Name Service Switch” dokumentációra. Idevonatkozik még a libcinfo csomagdoc is. Az /etc/nsswitch.conf fájlban bizonyos adatok sorrendje határozódik meg. Egy példa látható a nsswitchconf fájlra vonatkozóan a 30. fájlban A megjegyzéseket ‘#’ jel előzi meg Itt, például a „database” hosts alatti bejegyzés azt jelenti, hogy a kérés a /etc/hosts felé továbbítódik DNS-en keresztül (lásd a DNS doménnév szolgáltatás fejezetet (392. oldal)) SuSE Linux – Rendszerkézikönyv 387 passwd: group: compat compat hosts: networks: files dns files dns services: protocols: db files db

files netgroup: files 30. fájllista: /etc/nsswitchconf Az NNS-en túl elérhető „adatbázisok” a 13.10 táblázatban vannak felsorolva (következő oldal). Kiegészítésül a közeli jövőben várható az automount, bootparams, netmasks, és publickey. aliases ethers group hosts netgroup networks passwd protocols rpc services A sendmail-hez tartozó levél álnevek (alias). Lásd még azaliases kézikönyvoldalt. Ethernet címek. A getgrent(3) által használt felhasználói csoportok. Lásd még a group kézikönyvoldalait. Gépnevek és IP címek, melyeket a gethostbyname(3) használ, és hasonló funkciók. Érvényes gép és felhasználói lista a hálózaton, hozzáférési jogosultságok ellenőrzése céljából. Lásd még a netgroup kézikönyvoldalait. A getnetent(3) által használt hálózati nevek és címek. A getpwent(3)által használt felhasználói jelszavak. Lásd még a passwd kézikönyvoldalait. A getprotoent(3) által használt hálózati

protokollok. Lásd még a protocols kézikönyvoldalait. „Remote Procedure Call” nevek és címek melyeket a getrpcbyname(3) használ és hasonlók. A getservent(3) által használt hálózati szolgáltatások. 13.10 táblázat: folytatás a következő oldalon 388 Manuális hálózati beállítások 13 13.10 táblázat: Az /etc/nsswitchconf-on keresztül elérhető adatbázisok Az NSS adatbázis beállítási lehetőségei a 13.11 táblázatban találhatók Hálózati alapok „Árnyék” felhasználói jelszavak, melyeket a getspnam(3)használ. Lásd még a shadow kézikönyvoldalait. shadow fájlokhoz való közvetlen elérés, például /etc/ aliases-hez. elérés adatbázison keresztül. NIS, lásd még a NIS hálózati információs szolgáltatás fejezetet (402. oldal) files db nis nisplus dns compat also Csak a hosts és networks által használt kiterjesztés. Csak a passwd, shadow, és group által használt kiterjesztésként. Lehetségesen többféle

választ idéz elő bizonyos keresési eredményekkel. Részletek az nsswitch.conf kézikönyvoldalain találhatók 13.11 táblázat: Az NSS „adatbázis” beállítási lehetőségei /etc/nscd.conf Az nscd (Name Service Cache Daemon, névszerver gyorstár démon) ebből a fájlból veszi a beállításait (lásd aznscd és nscd.conf kézikönyv lapokat). A wertpasswd, groups, és hosts eredményezte adatokra van kihatással. A démont minden esetben újra kell indítani, mikor a névfeloldás (DNS) megváltozott a /etc/resolv.conf fájl változtatásával Használjuk az rcnscd restart parancsot az újraindításra Figyelem Ha, például a passwd-re vonatkozó gyorstárat aktiváljuk, gyakran 15 másodperc is eltelik, míg egy újonnan hozzáadott felhasználóról a rendszer tudomást vesz. Az nscd újraindítása csökkenti a várakozási időt. Figyelem SuSE Linux – Rendszerkézikönyv 389 /etc/HOSTNAME Itt egy gépnév szerepel doménnévvel való kiegészítés

nélkül. Ezt a fájlt számos szkript olvassa rendszer indulása során. Csak egy a gépnevet említő sort tartalmazhat ez a fájl. Indító szkriptek A fentebb említett beállítási fájloktól függetlenül, számos szkript létezik mely hálózati programot tölt be a gép rendszerindítása alatt. Ezek azon nyomban elindulnak, mihelyst a gép a többfelhasználós futási szintek egyikére kapcsol (lásd a 13.12 táblázatot) /etc/init.d/network /etc/init.d/inetd /etc/init.d/portmap /etc/init.d/ nfsserver /etc/init.d/sendmail /etc/init.d/ypserv /etc/init.d/ypbind Ez a szkript hajtja végre a hálózati hardver és szoftver beállítását a rendszer indulási szakaszában. Elindítja az inetd programot. Ez csak akkor szükséges, ha a gépre hálózaton keresztül is szeretnénk bejelentkezni. Elindítja az RPC szerver számára szükséges portmapper-t, úgy mint egy NFS szerver. Elindítja az NFS szervert. Felügyeli a sendmail folyamatot. Elindítja a NIS szervert.

Elindítja a NIS klienst. 13.12 táblázat: Néhány indítási szkript hálózati program számára Útválasztás a SuSE Linux rendszerben A SuSE Linux 8.0-tól kezdve az útvonalválasztó táblázat a következő beállítási fájlokban kerül meghatározásra: /etc/sysconfig/network/routes és /etc/sysconfig/network/ifroute-*. Minden statikus útvonal bejegyzés megléte szükséges különféle rendszerfolyamatok futásához a /etc/sysconfig/network/routes fájlban elhelyezve: útvonalak egy géphez, útvonalak egy géphez átjárón keresztül, útvonalak egy hálózathoz. Minden interfész számára, melynek egyedi útvon- 390 Útválasztás a SuSE Linux rendszerben DESTINATION GATEWAY NETMASK INTERFACE [ TYPE ] [ OPTIONS ] DESTINATION GATEWAY PREFIXLEN INTERFACE [ TYPE ] [ OPTIONS ] DESTINATION/PREFIXLEN GATEWAY INTERFACE [ TYPE ] [ OPTIONS ] 13 Hálózati alapok alválasztásra van szüksége, egy kiegészítő beállítási fájlt kell meghatározni:

/etc/sysconfig/network/ifroute-* A ‘’ jelet az interfész nevével kell helyettesíteni. Az útvonalválasztó beállítási bejegyzések valahogy így néznek ki: Hogy elhagyjuk a GATEWAY, NETMASK, PREFIXLEN vagy INTERFACE bejegyzéseket, írjunk helyette ‘-’ jelet. Az útvonalválasztás célja van az első oszlopban. Ez az oszlop tartalmazhatja egy hálózat vagy gép IP címét vagy elérhető névszerverek esetén a teljesen meghatározott hálózati vagy gépnevet. A második oszlop az alapértelmezett átjárót tartalmazza vagy egy átjárót, melyen keresztül egy gép vagy hálózat elérhető. A harmadik oszlop a hálózatok vagy gépek egy átjáró mögötti hálózati maszkját tartalmazza. Ez például 255255255255 lehet egy átjáró mögötti gép számára. A utolsó oszlop a helyi géphez csatlakozott hálózatok számára fontos, mint amilyen a loopback, ethernet, ISDN, PPP és dummy eszköz. Itt meg kell adni az eszköz nevét. SuSE Linux –

Rendszerkézikönyv 391 DNS doménnév szolgáltatás A DNS (Domain Name Service) szükséges ahhoz, hogy a domén- és gépneveket IP címekké lehessen átalakítani (névfeloldás). Például – esetünkben – a 192.168020 IP cím hozzá van rendelve a meggyfa gépnévhez Mielőtt beállítanánk a névszervert, mindenképpen olvassuk el a DNS leírását a Doménnév-rendszer fejezetben (372. oldal) A BIND névszerver indítása A BIND névszerver előzetes beállításokkal együtt található meg a disztribúcióban, hogy könnyen és egyszerűen indítható legyen, illetve azonnal használatba vehessük a telepítés után. Ha már rendelkezünk jól működő Internet kapcsolattal és beírtuk a 127.001 címet, mint a helyi névszerver címét az /etc/resolv.conf fájlba, akkor már rendelkezünk is saját névfeloldással, anélkül, hogy a szolgáltató DNS szerverét ismernénk. A BIND feloldja a megadott nevet a gyökér névszerverek segítségével, mely

folyamat így egy kicsit lassú lehet. Ezen javíthatunk, ha a szolgáltató névszerverének IP címét beírjuk a BIND beállítási fájl (/etc/named.conf) forwarders részébe. Ekkor a BIND először ennek a szervernek adja tovább a kérést – ezáltal a működés biztonságosabb és gyorsabb is lesz. Ha ez működik, akkor már van egy csak cachelő (caching-only) névszerverünk. Ez csak akkor tekinthető DNS szervernek, ha elkészítünk legalább egy saját zónát. Erre példát (BIND8) a /usr/share/doc/packages/bind8/sample-config fájlban olvashatunk. Ne állítsunk be egyetlen ismert domént se, amíg ezt a magyar doménneveket kezelő intézménynél be nem jegyeztettük. A névszerver elindításához adjuk ki a következő parancsot: rcnamed start, természetesen root jogokkal. Ha zöld színű done szöveg jelenik meg, akkor minden rendben, a named program sikeresen elindult. Ennek működését azonnal ki is próbálhatjuk, például a host parancs

segítségével. A gép saját címe (a localhost) mindig a 127001 IP címet viseli, ennek kell a Usingdomainserver: felirat után a következő két sorban szerepelnie. Ha nem ezt látjuk, akkor a /etc/resolvconf fájlban nem ez az IP cím van megadva vagy ez a fájl nem is létezik. Az első próbálkozáshoz adjuk ki host localhost parancsokat, majd a host 127.001 parancsot, mindkettőnek működnie kell 392 DNS doménnév szolgáltatás Ha a névszerver nem indul el, vagy hibásan fut, ellenőrizzük a /var/log/messages fájlba írt üzeneteit, amelyek sokat segítenek a hiba okának felderítésében. Ha telefonos kapcsolatot használunk, akkor a BIND8 némi gondot fog okozni azon tulajdonsága miatt, hogy keresi a gyökér névszervereket. A probléma nem vészes, de egy kis időnek el kell telnie, míg a BIND8 rájön, hogy nincs élő kapcsolat (sok – internetet használó és nem többszálú – program ekkor olyan állapotba kerül, mintha lefagyott volna).

Ez a probléma természetesen nem befolyásolja az általunk definiált helyi zónák feloldását. A BIND9 ezen a téren javult, viszont többletszolgáltatásaiért cserébe több erőforrást igényel. 13 Hálózati alapok Ha a connectiontimedout vagy Noresponsefromserver hibaüzeneteket kapjuk, akkor ellenőrizzük a named program futását. Ezt az rcnamed status paranccsal tehetjük meg. Ellenőrizzük az is, hogy a /etc/resolvconf fájlban szerepel-e 127.001 IP cím Ha használni szeretnénk a szolgáltatónk vagy a helyi hálózat névszerverét, mint továbbító (forwarder) célszervert, akkor írjuk ezen IP címeket az options részben a forwarders után. Lásd 31 fájllistában options { directory "/var/lib/named"; forwarders { 10.111213; 10111214; }; listen-on { 127.001; 192168099; }; allow-query { 127/8; 192.1680/24; }; notify no; }; 31. fájllista: Továbbítási lehetőségek a namedconf fájlban Az itt használt IP címek csak példák, ezek helyett

használjuk a hálózatunk kialakításának megfelelő címeket. Az options részt követi a localhost, a 0.0127in-addrarpa és a . zónaleírás Az utóbbi a root zónák leírása, ennek típusa typehint A fájl tartalmát – amire mutat – lehetőleg ne változtassuk meg. Fontosak a sorok végére tett pontosvesszők, illetve a megfelelő helyre tett kapcsos zárójelek, ezek nélkül a fájl nem dolgozható fel. Ha megváltoztattuk az /etc/named.conf beállítási fájlt vagy a zónaleíró fájlokat, akkor a BIND újraolvassa őket, ha erre a rcnamed reload paranccsal utasítjuk. Újraindíthatjuk a névszolgáltatást a rcnamed restart paranccsal, illetve le is állíthatjuk a rcnamed stop parancsot használva. SuSE Linux – Rendszerkézikönyv 393 Az /etc/named.conf beállítási fájl A BIND8 és a BIND9 összes beállítása az /etc/named.conf fájlban található A zónaleírásokat a /var/lib/named könyvtár alatti különálló fájlokban találhatjuk meg,

amelyekben a gépnevek, IP címek és hasonló adatok adhatók meg a nevek adminisztrálásához. Az /etc/named.conf alapvetően két részre osztható Az egyik részt az options szöveg vezeti be; itt állíthatjuk be az általános tulajdonságokat, a zone rész pedig a doménnevek megadására szolgál. Természetesen több rész is megadható, de ezek nem feltétlenül szükségesek. Ilyen például a logging és az acl rész. A megjegyzések ‘#’ vagy ‘//’ jellel kezdődnek és hatásuk a sor végig érvényes. A minimális /etc/namedconf hasonló a 32 fájllistához options { directory "/var/lib/named"; forwarders 10.001; ; notify no; }; zone "localhost" in { type master; file "localhost.zone"; }; zone "0.0127in-addrarpa" in { type master; file "127.00zone"; }; zone "." in { type hint; file "root.hint"; }; 32. fájllista: Egy minimális /etc/namedconf Ez a példa működik a BIND8 és a BIND9

esetében is, mivel nem használtunk speciális paramétereket, amelyeket csak az egyik verzió értene meg. A BIND 9.11 mindent megért, ami a BIND8 konfigurációjában szerepel; elindulásakor figyelmen kívül hagyja az általa nem értett beállításokat, ezekről naplóbejegyzés 394 DNS doménnév szolgáltatás Fontosabb beállítási lehetőségek directory "/var/lib/named"; megadható az a könyvtár, ahol a BIND a zónaleírásokat keresi. forwarders 10.001; ; megadhatók az(ok) a névszerver(ek), amely(ek) felé továbbítódnak a helyileg fel nem oldható kérések (többnyire itt szerepel a szolgáltató szervere). 13 Hálózati alapok is készül. Természetesen vannak olyan BIND9 paraméterek, amelyeket a BIND8 nem ért meg. forward first; minden kérést először továbbít a gyökér névszervereknek, ha ez sikertelen, akkor kezdi el saját maga teljesíteni a kérést. Ha a forwardfirst helyett a forwardonly szerepel itt, akkor minden

kérést az előzőleg megadott cím(ek)re továbbít és nem próbálja elérni a gyökér szervereket. Tűzfalak esetén ennek kiemelt jelentősége van listen-on port 53 127.001; 19216801; ; a BIND számára meghatározhatjuk, hogy melyik porton és melyik hálózati interfészen figyelje a kéréseket. A port53 elhagyható, mivel ez az alapértelmezett. Ha az egész sort elhagyjuk, akkor a BIND az összes elérhető címen elfogad kéréseket. query-source address * port 53; ez a bejegyzés lehetővé teszi, hogy a tűzfal megtagadhassa a külső DNS kéréseket, a BIND az 53-as portról küldhet adatokat, az 1024 feletti portokról viszont nem. allow-query 127.001; 1921681/24; ; megadhatunk hálózati címeket, amelyek DNS kéréseit a BIND teljesíti. A /24 rövid formája a hálózati maszknak, ami jelen esetben 255.2552550 allow-transfer ! *; ; beállíthatjuk, hogy ki kérhet zónatranszfert. Jelen esetben teljesen kitiltottuk a zónatranszfert, ennek a sornak a

megadása nélkül az alapértelmezett eset szerint bármilyen cím kérheti azt. statistics-interval 0; a BIND8 rendszeresen készít statisztikát a /var/log/messages fájlba. Ha a megadott érték 0, akkor nem készít ilyet, egyébként percben adható meg a gyakoriság. cleaning-interval 720; a megadott érték szerint a BIND8 kiüríti a gyorsítótárát, amelyről naplóbejegyzést is készít. A megadott szám percben értendő, az alapértelmezés 60 perc. interface-interval 0; a BIND8 állandóan keresi a hálózati eszközöket, mivel lehet új, illetve megszűnhet egy régebbi. A megadott érték percben SuSE Linux – Rendszerkézikönyv 395 adja meg a keresés gyakoriságát, ha 0, akkor csak az induláskor keres eszközöket és azokat használja. Az alapértelmezés 60 perc notify no; a no esetén a BIND nem értesíti a többi névszervert, ha a zónaleírásokban változás történik, illetve ha újraindítjuk. A naplózási („Logging”) rész

beállításai Az hogy mi, honnan és hova kerüljön, részletesen beállítható a BIND8ban. A legtöbb esetben az alapértelmezett beállítások megfelelőek A 33. fájllista bemutatja a bejegyzések lehető legegyszerűbb formáját a naplózás megszüntetéséhez: logging { category default { null; }; }; 33. fájllista: Bejegyzések a naplózás megszüntetéséhez Zóna bejegyzések struktúrája Az 34. fájllistában látható módon a zone után, az adminisztrálandó domén nevét adjuk meg, ez példánkban a my-domain.hu Ezt követi az in kulcsszó, valamint a doménre vonatkozó opciók kapcsos zárójelek közé zárva. zone "my-domain.hu" in { type master; file "my-domain.zone"; notify no; }; 34. fájllista: A my-domainhu zónabejegyzése Ahogy a 35. fájllistában látható, a másodlagos zónák (slavezone) megadásához, egyszerűen a type paramétert kell slave értékre átírni és a megadott névszervert, amely a zónát

adminisztrálja, master-nek kell beállítani (de ez ettől még lehet slave is). 396 DNS doménnév szolgáltatás 13 35. fájllista: Zóna bejegyzések az other-domainhu doménhez A paraméterek a következők: Hálózati alapok zone "other-domain.hu" in { type slave; file "slave/other-domain.zone"; masters { 10.001; }; }; type master; A master azt jelzi, hogy ez a zóna ezen a névszerveren van adminisztrálva. Feltételezzük, hogy a zónafájl ennek megfelelően be van állítva. type slave; Ez a zóna egy másik névszerverről másolódik. Csak master névszerverekkel együtt lehet alkalmazni. type hint; A hint típussal megadott . zónát alkalmazzák a gyökérnévszerverek megadására. Ezt a zónadefiníciót nem kell megváltoztatni. „my-domain.zone” vagy „slave/other-domainzone” fájlok; Ezzel a bejegyzéssel adhatjuk meg a fájlt, amelyben megtalálhatók a doménre vonatkozó zónaadatok. Ez a fájl nem szükséges a másodlagos

(slave) névszerverek számára, mivel ennek tartalmát egy másik névszerver olvassa. Hogy elkülöníthessük a master és slave fájlokat, a slave könyvtárba kerülnek a másodlagos névszerverhez tartozó fájlok. masters { 10.001; }; Ezt a bejegyzést csak másodlagos zónák esetén használjuk Megadható, hogy melyik névszervernek kell elküldeni a zónafájlt. allow-update { ! *; }; Ez az opció vezérli a külső írási hozzáférést, amely lehetővé teszi a kliensek számára DNS bejegyzések létrehozását alap esetben ez nem megengedhető biztonsági okokból. Ezen bejegyzés nélkül a zóna frissítése nem lehetséges. Jegyezzük meg a fenti példa bejegyzést, mivel a !* kizárja minden kliens hozzáférését. A zónafájlok struktúrája A zónafájloknak két típusa létezik: egyik az IP címek gépnévre fordításához kell, a másik ennek ellenkezőjéhez a gépnév IP cím párjához. A ‘.’-nak fontos jelentése van a zónafájlokban Ha a

gépnevek ‘’ végződés nélkül vannak megadva, a zóna kiegészül. Éppen ezért a teljes doménnel SuSE Linux – Rendszerkézikönyv 397 megadott teljes gépneveknek ‘.’ jellel kell végződniük, hogy a domén ne legyen újból hozzáadva. A hiányzó vagy rossz helyen megadott pont eredményezi a névszerver beállítási hibák nagy százalékát. Az első esetben tételezzük fel, hogy van egy world.zone zónafájl, amely a world.cosmos doménért felelős A példát lásd a 36 fájllistában 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. $TTL 2D world.cosmos gateway sun moon earth mars IN SOA 2001040901 1D 2H 1W 2D ) gateway root.worldcosmos ( ; serial ; refresh ; retry ; expiry ; minimum IN NS IN MX gateway 10 sonne IN IN IN IN IN IN 192.16801 192.16811 192.16802 192.16803 192.16812 192.16813 A A A A A A 36. fájllista: A /var/lib/named/worldzone fájl 1. sor: A $TTL megadja az általános TTL-t, amely az összes bejegyzésre

érvényes a fájlon belül, itt ez 2 nap. A TTL az élettartamot „(time to live)” jelenti. 2. sor: Itt kezdődik a SOA vezérlőrekord: Az adminisztrálandó domén neve az első pozícióban (world.cosmos) Ez egy ponttal végződik, mivel a különben zóna mégegyszer hozzáfűződne. Alternatívaként egy ‘@’ is megadható itt. Ezután a zóna az /etc/namedconf fájl megfelelő bejegyzésében található. Az IN SOA után a névszerver neve található, amely a zónát adminisztrálja. A név kiegészül gateway-ről gatewayworldcosmosra, mivel nem tartalmazza a ‘’ jelet a végén 398 DNS doménnév szolgáltatás A ‘(’ jel végétől a ‘)’ jelig megadott sorok tartoznak a SOA rekordba. 3. sor: A sorszám (serial number) egy tetszőleges szám, amelyet a fájl minden egyes változtatásakor növelni kell. Ebből értesülnek a másodlagos névszerverek (slave) a változtatásokról. Éppen ezért egy tíz számjegyű dátum és egy

tetszőleges szám elfogadható formát eredményez. 13 Hálózati alapok Ezután egy e-mail cím van megadva, amelyet a névszerverért felelős személy neve követ. Mivel a ‘@’ jelnek már van egy speciális jelentése, a ‘.’ jelet írjuk e helyett, a root@worldcosmos cím így root.worldcosmos lesz A ‘’ jel a sor végén nem maradhat el, mivel a zóna újból hozzáadódna. 4. sor: A frissítés gyakorisága (refresh rate) megadja azt, hogy mennyi időnként ellenőrizze a másodlagos névszerver a zónát. Ebben az esetben naponta 5. sor: Az újrapróbálkozások gyakorisága (retry rate) megadja azt, hogy mennyi időnként kell a másodlagos névszervernek hiba esetén megkísérelni újból az elsődleges névszerver elérését. A példában ez 2 óra 6. sor: A lejárat ideje (expiration time) megadja azt, hogy mennyi idő után törölje a másodlagos névszerver az átmenetileg tárolt adatokat, ha nincs másodlagos szerver, felveszi a kapcsolatot az

elsődleges szerverrel. Itt ez hetente történik. 7. sor: A minimális élettartam (minimum time to live) állapot határozza meg, hogy a DNS kérések mennyi ideig legyenek tárolva a szervereken, mielőtt érvénytelenné válva újból le kell kérni azokat. 9. sor: Az IN NS adja meg a doménért felelős névszervert A gateway kiegészül gateway.worldcosmos-ra, mivel a megadott név nem végződik ponttal. Itt lehet még pár hasonló sor, egy az elsődleges és egy-egy a másodlagos névszerverek számára. Ha a /etc/namedconf fájlban a notify nincs beállítva no értékre, az összes itt felsorolt névszerver értesül a zóna adatok változásairól. 10. sor: Az MX rekordban adható meg a levelező szerver, amely fogadja, kezeli és továbbítja a leveleket a world.cosmos domén számára Ebben a példában ez a sun.worldcosmos gép A gépnév elején található szám egy preferencia érték. Ha több MX bejegyzés szerepel, a legkisebb értékhez tartozó levelező

szerver kapja meg először a levelet, és ha ennek küldése hibába ütközik, a következő nagyobb értékkel szereplő szerverhez fordulunk kéréssel. SuSE Linux – Rendszerkézikönyv 399 12–17. sorok: Ezek az aktuális címrekordok, ahol egy vagy több IP címet hozzárendelünk a gépnevekhez. A nevek itt ‘’ nélkül szerepelnek, mivel az összes név kiegészül a world.cosmos névvel Két IP címet rendelünk hozzá a gateway géphez, mivel az két hálózati kártyával rendelkezik. Az in-addr.arpa pszeudo domén használható a fordított névfeloldáshoz, amikor IP címeket társítunk gépnevekhez. Ez lesz hozzáfűzve ebben az esetben, amikor a hálózati komponenseket adjuk meg fordított sorrendben. Például a 1921681 át lesz alakítva 1.168192in-addrarpa címre Lásd a 37 fájlban 1. $TTL 2D 2. 1168192in-addrarpa IN SOA 3. 4. 5. 6. 7. 8. 9. 10. 11. 1 12. 2 13. 3 gateway.worldcosmos root.worldcosmos ( 2001040901 ; serial 1D ; refresh 2H ; retry 1W

; expiry 2D ) ; minimum IN NS gateway.worldcosmos IN PTR IN PTR IN PTR gateway.worldcosmos earth.worldcosmos mars.worldcosmos 37. fájllista: Fordított névfeloldás 1. sor: A $TTL segítségével megadhatjuk az általános TTL-t, amely az összes itt szereplő bejegyzésre érvényes. 2. sor: A fordított névfeloldást aktiválhatjuk ezen fájl segítségével a 19216810 hálózat számára. Mivel a zónát ’1168192in-addrarpa’-nak hívjuk, itt természetesen nem adhatunk meg gépnevet. Éppen e miatt az összes bejegyzést teljes doménnévvel együt adjuk meg, és mind ’.’-ra végződik A maradék az előző példa alapján ismertetett a world.cosmos fájlban 3–7. sorok: Lásd az előző példát a worldcosmos fájlban 9. sor: Ebben a sorban adhatjuk meg a zónáért felelős névszervert Ebben az esetben a nevet szintén teljes formában, ponttal végződően kell megadni. 400 DNS doménnév szolgáltatás Mostantól, ha a zóna kiegészül és a

.in-addrarpa hozzáadódik, az egész IP cím meg lesz fordítva. Az ebben a formában megadott zónafájlokat használhatjuk mind a BIND8 és BIND9 számára is. A zónák átvitele a különböző verziók között alap esetben nem lehetséges. 13 Hálózati alapok 11–13. sorok: Ezek mutató rekordok, amelyek egy IP-címre mutatnak a megfelelő gépnévhez. Csak az IP cím utolsó része van beírva a sor elején, pont nélkül. Bővebb információk A bind8 csomag dokumentációja a következő fájlban található: /usr/share/doc/packages/bind8/html/index.html Egy példa a beállításokra: /usr/share/doc/packages/bind8/sample-config Érdemes átolvasni a named (man 8 named) kézikönyvlapjait, illetve az ebben a témában készült RFC dokumentumokat SuSE Linux – Rendszerkézikönyv 401 NIS hálózati információs szolgáltatás Gyakran előfordul az a helyzet, hogy több Linuxot futtató számítógép akar közös hálózati erőforrásokat elérni. Ilyenkor

meg kell bizonyosodni például arról, hogy minden felhasználó és csoport azonosítója azonos a hálózatban lévő összes gépen. A felhasználó számára a hálózatnak transzparensnek kell lennie, azaz bármely gépet is használja a felhasználó, mindig pontosan ugyanabban a környezetben kell találja magát. Ez a kényelem NIS és NFS szolgáltatásokkal valósítható meg. Az NFS-ről, mely lehetővé teszi az egyes fájlrendszerek hálózaton keresztüli elérését a NFS a Linux hálózati fájlrendszere fejezetben olvashatunk bővebben (406. oldal) A NIS (Network Information Service - Hálózati információs szolgáltatás)1 egy adatbázis szolgáltatás, amely lehetővé teszi az /etc/passwd, az /etc/ shadow és az /etc/group fájlok hálózaton keresztüli elérését. A NIS-t más, speciálisabb feladatokra is használhatjuk (mint például az /etc/hosts vagy az /etc/services megosztására), de ezeket itt nem tárgyaljuk. Elsődleges és másodlagos NIS

szerver Indítsuk el a YaST-ot és válasszuk ki a ‘NIS szerver beállítása’ modult a ‘Hálózati szolgáltatások’ menüből. Ha hálózatunkban eddig még nem futott NIS szerver, akkor ki kell jelölnünk a ‘NIS master szerver létrehozása’ pontot. Ha már van NIS szerverünk, akkor el tudjuk dönteni, hogy (például egy alhálózatban) be akarunk állatni egy ‘NIS slave szervert’. Ha NIS master szervert akarunk beállítani, nyomjuk meg a ‘Következő’ gombot, majd az Elsődleges és másodlagos NIS szerver ábrán látható képernyőn adjuk meg a NIS szerver doménnevét. Az alatta lévő pontnál ki tudjuk jelölni, hogy ‘ez a host egyben NIS ügyfél is’. Erre akkor van szükség, ha a felhasználoknak a szerverre is be kell tudniuk jelentkezni. Ha később további NIS szervereket is be fogunk állítani (Slave szervereket) akkor itt ki kell jelölnünk a ‘Létezik aktív slave NIS szerver’ pontot. Ilyenkor célszerű egyből a ‘Gyors

map disztribúció’ pontot is kijelölni, így a szükséges adatbázisbejegyzések gyorsabban továbbítódnak az egyes szerverek között. Ha engedélyezni szeretnénk a felhasználóknak, hogy a yppasswd paranccsal változtathassák a jelszót (azaz nem csak a kliensen, hanem a szerveren is), akkor jelöljük ki a megfelelő menüpontot. Ha fenti menüpontot kijelöltük, akkor az ‘Engedélyezi a GECOS mező megváltoztatását’ és az ‘Engedélyezi a LOGIN 1 A NIS-re gyakran YP-ként hivatkoznak. Ez a rövidítés a yellow pages-ből származik, mely a NIS eredeti neve volt, csak jogi viták miatt lemondtak róla. 402 NIS hálózati információs szolgáltatás 13 Hálózati alapok 13.4 ábra: YaST: NIS szerver beállítása SHELL megváltoztatását’ jelölőmező is aktívvá válik. A „GECOS” azt jelenti, hogy a felhasználó saját név- és címbejegyzéseit is meg tudja változtatni (a ypchfn paranccsal). A „LOGIN SHELL” az alapértelmezett

bejelentkezési burok, megváltoztatása a ypchsh paranccsal történik. Az ‘Egyéb általános beállítások.’ pont alatt megtalálható az Elsődleges és másodlagos NIS szerver ábrán látható párbeszédablak, ahol többek között meg tudjuk változtatni a NIS alapértelmezett könyvtárát (/etc). Ezen felül a felhasználók és csoportok összefésüléséhez is nyújt lehetőséget. Célszerű az alapértelmezett beállítást (‘Igen’) megtartani, hogy az /etc/passwd és /etc/ shadow illetve /etc/group és /etc/gshadow fájlok összeilljenek. Végül meg tudjuk adni a NIS felhasználók és csoportok legkisebb azonosítóját, ami főleg akkor hasznos, ha a kliensgépen olyan felhasználók is léteznek (például rendszerfelhasználók), amelyeket a NIS rendszerben nem szeretnénk látni. Egy kattintás az ‘OK’ gombra és vissza kerülünk az előző párbeszédablakhoz. Itt nyomjuk meg a ‘Következő’ gombot. Ha kijelöltük a ‘Létezik aktív

slave NIS szerver’ pontot, itt meg kell adnunk azon gépek neveit, melyek slave szerverként működnek. Más esetben nem jelenik meg a párbeszédablak. A következő párbeszédablakban be tudjuk állítani az egyes térképfájlokat (angolul map), azaz azokat az adatbázisrészeket, amelyeket a NIS kliens átveszi a szervertől. A legtöbb esetben az alapértelmezett beállítások megfelelők. Ha nem vagyunk (még) jártasak a NIS szerver beállításában ne változtassuk meg. SuSE Linux – Rendszerkézikönyv 403 13.5 ábra: YaST: NIS szerver – könyvtár beállítása és adatok összefésülése Egy utolsó kattintás a ‘Következő’ gombra, és már csak azt kell beállítanunk, hogy melyik gépek férhessenek hozzá a NIS szerverhez (lásd az Elsődleges és másodlagos NIS szerver ábrát (következő oldal)). Ha csak belső hálózatban használjuk, az alapértelmezett beállítás rögtön alkalmazható: 255.000 127000 0.000 0000 Itt ugyanis az

első bejegyzés alapján a saját gépünk is hozzá tud férni a második bejegyzés pedig minden gépnek engedélyezi a hozzáférést. A YaST NIS kliens modulja Ezzel a modullal két kattintással tudjuk gépünket NIS kliensként beállítani. A modul indítóképernyőjén el kell döntenünk, hogy szeretnénk-e NIS-t használni. A következő párbeszédablakban már csak meg kell adnunk a NIS domént és a NIS szerver IP címét illetve gépnevét – máris kész vagyunk. Ha ezen felül még azt is szeretnénk, hogy a gépünk keressen egy NIS szervert, ha az alapértelmezett elsőre nem érhető el, akkor jelöljük ki a ‘Körkérdés’ jelölőmezőt. Arra is van lehetőség, hogy hozzáadjuk további doméneket az alapértelmezett doménhez. Ehhez nyomjuk meg a ‘Több domén »’ gombot, majd adjuk meg a további doméneket is (beleértve a körkérdés opciót). 404 NIS hálózati információs szolgáltatás 13 Hálózati alapok 13.6 ábra: YaST:

Hozzáférés beállítása a NIS szerverhez SuSE Linux – Rendszerkézikönyv 405 NFS a Linux hálózati fájlrendszere Ahogyan a NIS hálózati információs szolgáltatás fejezetben (402. oldal) említettük, az NFS (a NIS-sel együtt) a felhasználó számára a hálózatot átlátszóvá teszi. Az NFS segítségével lehetséges fájlrendszereket a hálózaton keresztül elérhetővé tenni. Ha például a felhasználó saját könyvtárát NFS fájlrendszeren keresztül csatoljuk, akkor mindig ugyanabban a környezetben fogja magát találni, függetlenül attól, hogy a felhasználó mely gépre jelentkezett be. Ahogyan a NIS, úgy az NFS is aszimmetrikus szolgáltatás. NFS szerverekről és NFS kliensekről beszélhetünk. Egy gép mindkettő lehet hálózaton keresztül kiajánlhat (exportálhat) fájlrendszereket és csatolhat (importálhat) más gépekről. Általában ezek meglehetősen nagyméretű merevlemez kapacitással rendelkező szerverek, melyek

fájlrendszereit más kliensek csatolhatják. Fájlrendszerek megosztása a YaST-tal Ha rendelkezünk a megfelelő jogosultságokkal, akkor más gépeken lévő könyvtárakat tudunk a mi gépünk fájlrendszeréhez csatolni. Ehhez szükséges, hogy a távoli gépen fusson egy NFS szerver, a mi gépünket pedig NFS kliensként kell beállítanunk. Ezt a legegyszerűbben a megfelelő YaST modullal tudjuk megtenni. A sikeres csatoláshoz (NFS esetén importálásnak is nevezzük) csak meg kell adnunk az NFS szerver nevét illetve IP címet, a szerveren lévő, csatolható könyvtárat, valamint azt a könyvtárat, ahova a saját gépünkön csatolni szeretnénk az új (hálózati) könyvtárat. Ehhez nyomjuk meg a ‘Hozzáadás’ gombot és adjuk meg a szükséges adatokat. Fájlrendszer kézi importálása Hogy egy NFS kiszolgálóról fájlrendszereket importálhassunk, az egyedüli követelmény egy már futó RPC portmapper. Ha ez működik, más fájlrendszerek is

csatolhatók (ha a kiszolgáló exportálja azokat) éppoly könnyen mintha helyiekkel tennénk ezt a mount programmal, a következő módon: mount -t nfs hgépi:htávoli elérési úti hhelyi elérési úti Ha a atlantisz gépről akarunk felhasználói könyvtárakat importálni, a következő parancs használható erre: meggyfa:/ # 406 mount -t nfs atlantisz:/home /home NFS a Linux hálózati fájlrendszere Fájlrendszerek kiajánlása a YaST-tal Az NFS szerver telepítéséhez indítsuk el a YaST ‘Hálózati szolgáltatások’ menü ‘NFS szerver’ modulját (lásd a Fájlrendszerek kiajánlása a YaST-tal ábrát). Hálózati alapok A YaST segítségével egy pár kattintással tudunk létrehozni egy NFS szervert, könyvtáraink kiajánlásához. A szerverre azért van szükségünk, hogy mások is hozzá tudjanak férni a mi gépünkön lévő fájlokhoz és könyvtárakhoz. Így nem csak fájlokat, hanem alkalmazásokat is tudunk más felhasználók

rendelkezésére bocsátani anélkül, hogy azokat telepíteni kellene a távoli gépeken. 13 13.7 ábra: NFS szerver beállítása a YaST2-ben A következő lépésnél ki kell jelölnünk az ‘NFS szerver indítása’ pontot, majd kattintsunk a ‘Következő’ gombra. Az utolsó párbeszédablakban meg kell adnunk azokat a könyvtárakat, amelyeket csatolhatóvá szeretnénk tenni más felhasználók (pontosabban gépek) számára. Továbbá azon gépek nevét, amelyeknek hozzáférést biztosítunk az NFS szerverhez, ahogyan azt a Fájlrendszerek kiajánlása a YaST-tal ábrán láthatjuk (következő oldal)). Az egyes gépneveknél négy beállítási lehetőség található: hsingle hosti, hnetgroupsi, hwildcardsi és hIP networksi SuSE Linux – Rendszerkézikönyv 407 13.8 ábra: NFS könyvtárak kiajánlása és kliensgépek meghatározása Fenti opciók pontos jelentőségéről az exports csomag parancs kézikönyvlapjában olvashatunk bővebben (man

exports). Egy kattintás a ‘Kész’ gombra és máris hozzá lehet férni a kiajánlott könyvtárhoz. Fájlrendszer kézi kiajánlása Könyvtárak kiajánlásához az NFS szerveren az alábbi szolgáltatásoknak kell futniuk: RPC portmapper (rpc.portmap) RPC mount daemon (rpc.mountd) RPC NFS daemon (rpc.nfsd) Ezek a szolgáltatások az /etc/init.d/portmap és /etc/initd/nfsserver szkriptekkel indulnak el a rendszertöltés során. E démonok indulása után az /etc/exports beállítási fájl dönti el, mely alkönyvtárak, mely gépek számára exportálhatók. 408 NFS a Linux hálózati fájlrendszere A kiajánlásra kijelölt fájlrendszerhez tartozó jogosultságokat zárójelben adjuk meg a gépnév után. A legfontosabb opciók: ro rw root squash no root squash link relative link absolute map identity map-daemon 13 Hálózati alapok Minden kiajánlott könyvtárhoz egy sor szükséges, amely meghatározza, mely gépek, milyen jogosultsággal érhetik azt el.

Mivel a teljes kiajánlott könyvtár csatolásra kerül, minden alkönyvtára automatikusan látszik a távoli gépen. Minden engedélyezett gépet rendszerint a teljes neve azonosít (beleértve a domain nevet), de lehetséges dzsókerjeleket is használni, például a ‘*’ vagy a ‘?’ jelet. Ha itt nem határozunk meg gépeket, bármely gép számára engedélyezett ennek a fájlrendszernek a csatolása a megadott jogosultságokkal. a fájlrendszer csak olvasható (alapértelmezés). a fájlrendszer írható és olvasható. Ez azt eredményezi, hogy a megadott gép root felhasználója ne rendelkezzék root jogosultságokkal erre a fájlrendszerre vonatkozóan. Ez azáltal érhető el, hogy a 65534-es felhasználói azonosítót jelöljük ki a 0-val rendelkező (root) felhasználók számára. Ez az azonosító rendszerint a nobody felhasználó azonosítója. Nem jelöl ki 65534-es azonosítót a 0 azonosítóhoz (alapértelmezés). Átalakítja az abszolút csatolásokat

(melyek ‘/’ jellel kezdődnek) ‘./’ formájúra Ez csak akkor hasznos, ha egy gép egész fájlrendszere csatolva van (alapértelmezés). Szimbolikus csatolások érintetlenül maradnak. A felhasználói azonosítók pontosan ugyanazok a kliensen és a kiszolgálón (alapértelmezés). A kliens és kiszolgáló felhasználói azonosítóknak nem kell egyezniük. Ez arra utasítja az nfsd programot, hogy hozzon létre átalakítási táblázatot a felhasználói azonosítók részére. Ennek működéséhez szükség van a ugidd-re. 13.13 táblázat: Jogosultságok kiajánlott fájlrendszerhez Az exports fájlunk valahogy úgy nézzen ki mint a 38. fájllistában # # /etc/exports SuSE Linux – Rendszerkézikönyv 409 # /home /usr/X11 /usr/lib/texmf / /home/ftp # End of exports atlantisz(rw) eperfa(rw) atlantisz(ro) eperfa(ro) atlantisz(ro) eperfa(rw) meggyfa(ro,root squash) (ro) 38. fájllista: Az /etc/exports fájl Az /etc/exports fájlt a mountd olvassa be. Ha

bármit változtatunk ebben fájlban, indítsuk újra a mountd és nfsd programokat, hogy a változások érvénybe lépjenek. Ezt könnyen megtehetjük az rcnfsserver restart paranccsal. 410 NFS a Linux hálózati fájlrendszere 13 DHCP A „Dynamic Host Configuration Protocol” (dinamikus gépbeállító protokoll) a hálózat központi beállítását leszi lehetővé. DHCP-t használva központilag végezhetjük el azokat a beállításokat, amelyeket különben minden egyes munkaállomáson helyileg kellene megtenni. A DHCP használatára beállított kliensnek például nem kell a saját statikus címével törődnie, hanem teljesen automatikusan megkapja azt a szervertől. Hálózati alapok A DHCP protokoll A kliens azonosítása ilyenkor a hálózati kártya hardvercímét használva történik. A kliensgép indításakor a szerver ellátja azt a szükséges IP címmel, melyet kiválasztja az elérhető IP címek közül. A DHCP szerver ilyenkor megpróbálja a

kliensnek ugyanazt a címet kijelölni minden alkalommal, amikor kérést kap tőle (hosszabb idő elteltével is). Ez természetesen nem működik, ha több kliensgép van a hálózatban, mint amennyi hálózati cím rendelkezésre áll. Ezekkel a lehetőségekkel a DHCP a rendszergazdák életét kétféleképpen is könnyebbé teheti. Minden hálózati címekkel kapcsolatos (akár nagyobb) változás és hálózati beállítás általánosságban elvégezhető központilag a szerver beállítási fájlját szerkesztve. Ez sokkal kényelmesebb, mint egy csomó kliensgépet újra meg újra beállítani. Ezen kívül sokkal könnyebb (új) gépeket a hálózat részévé tenni. Egyszerűen kioszt nekik egy, a készletben lévő IP címet A DHCP adta lehetőségeinek különösen azok a laptop tulajdonosok örülnek, akik különböző hálózatokban dolgoznak. A DHCP szerver azonban nem csak IP címmel és hálózati maszkkal látja el a klienst, hanem hanem gépnévvel,

doménnével, átjáróval és a névszerver megjelölésével is. Ezek kiegészítése képpen a DHCP lehetővé teszi számos más paraméter központi beállítását, például időszervert, mely