FreeBSD kézikönyv

A FreeBSD Dokumentációs Projekt

Verzió: 43184

A dokumentum továbbadása forrás (SGML DocBook) és feldolgozott formában (SGML, HTML, PDF, PostScript, RTF, stb.) módosítással vagy anélkül a következő feltételek mellett lehetséges:

  1. A forráskódnak (SGML DocBook) tartalmaznia kell a fenti copyright megjegyzést és a feltételek ezen listáját, valamint a következő jogi nyilatkozatot, bármiféle módosítás nélkül.

  2. Feldolgozott dokumentum továbbadásakor (más DTD, PDF, PostScript, RTF és más formátumok) szintén meg kell tartani a fenti copyright megjegyzést, a feltételek listáját, valamint a következő jogi nyilatkozatot a dokumentumban, vagy a dokumentumot kísérő anyagokban.

Fontos:

EZT A DOKUMENTUMOT A FREEBSD DOKUMENTÁCIÓS PROJEKT A JELEN FORMÁJÁBAN BIZTOSÍTJA ÉS LEMOND MINDEN KIFEJEZETT VAGY TÖRVÉNYI SZAVATOSSÁGRÓL, BELEÉRTVE AZ ELADHATÓSÁG ÉS EGY ADOTT CÉLRA VALÓ ALKALMASSÁG SZAVATOSSÁGÁT. A FREEBSD DOKUMENTÁCIÓS PROJEKT SEMMILYEN ESETBEN SEM TEHETő FELELőSSÉ A DOKUMENTUM HASZNÁLATÁBÓL EREDő BÁRMILYEN KÖZVETLEN, KÖZVETETT JÁRULÉKOS, KÜLÖNLEGES, BÜNTETő VAGY KÖVETKEZMÉNYES KÁRÉRT (BELEFOGLALVA, DE NEM KORLÁTOZVA A HELYETTESÍTő JAVAK BESZERZÉSÉRE, HASZON, ADAT VAGY PROFIT ELVESZTÉSÉRE, ILLETVE ÜZLETI FORGALOM KIESÉSÉRE) VAGY EGYÉB MÁS ESETBEN SEM, AMIKOR ERőS TEHER VAGY KÍN (HANYAGSÁG VAGY EGYÉB) ERED A DOKUMENTUM AKÁRMIFÉLE FELHASZNÁLÁSÁBÓL, MÉG HA ERRE KÜLÖN FEL IS HÍVTUK a FIGYELMET.

A FreeBSD a FreeBSD Foundation bejegyzett védjegye.

A 3Com és HomeConnect a 3Com Corporation bejegyzett védjegyei.

A 3ware a 3ware Inc. bejegyzett védjegyei.

Az ARM az ARM Limited bejegyzett védjegye.

A Adaptec az Adaptec, Inc. bejegyzett védjegye.

Az Adobe, Acrobat, Acrobat Reader, és PostScript az Adobe Systems Incorporated bejegyzett védjegyei, vagy védjegyei az Egyesült Államokban és/vagy más országokban.

Az Apple, AirPort, FireWire, Mac, Macintosh, Mac OS, Quicktime, és TrueType az Apple Computer, Inc., bejegyzett védjegyei az Egyesült Államokban és más országokban.

A Corel és WordPerfect a Corel Corporation és/vagy leányvállalatainak bejegyzett védjegye Kanadában, az Egyesült Államokban és/vagy más országokban.

A Sound Blaster a Creative Technology Ltd. védjegye az Egyesült Államokban és/vagy más országokban.

A CVSup John D. Polstra bejegyzett védjegye.

A Heidelberg, Helvetica, Palatino, és Times Roman a Heidelberger Druckmaschinen AG bejegyzett védjegyei, vagy védjegyei az Egyesült Államokban és más országokban.

Az IBM, AIX, OS/2, PowerPC, PS/2, S/390 és ThinkPad az International Business Machines Corporation védjegyei az Egyesült Államokban, más országokban, vagy mindkettőben.

Az IEEE, POSIX és 802 az Institute of Electrical and Electronics Engineers, Inc. bejegyzett védjegyei az Egyesült Államokban.

Az Intel, Celeron, EtherExpress, i386, i486, Itanium, Pentium és Xeon az Intel Corporation vagy leányvállalatainak védjegyei vagy bejegyzett védjegyei az Egyesült Államokban és más országokban.

Az Intuit és Quicken az Intuit Inc., vagy valamely leányvállalatának bejegyzett védjegyei és/vagy bejegyzett szervizmárkái az Egyesült Államokban és más országokban.

A Linux Linus Torvalds bejegyzett védjegye.

Az LSI Logic, AcceleRAID, eXtremeRAID, MegaRAID és Mylex az LSI Logic Corp. védjegyei vagy bejegyzett védjegyei.

Az M-Systems és DiskOnChip az M-Systems Flash Disk Pioneers, Ltd. védjegyei vagy bejegyzett védjegyei.

A Macromedia, Flash és Shockwave a Macromedia, Inc. védjegyei és/vagy bejegyzett védjegyei az Egyesült Államokban és/vagy más országokban.

A Microsoft, IntelliMouse, MS-DOS, Outlook, Windows, Windows Media és Windows NT a Microsoft Corporation bejegyzett veacute;djegyei, vagy védjegyei az Egyesült Államokban és/vagy más országokban.

A Netscape és a Netscape Navigator a Netscape Communications Corporation bejegyzett védjegyei az Egyesült Államokban és más országokban.

A GateD és NextHopa NextHop bejegyzett és nem bejegyzett védjegyei az Egyesült Államokban és más országokban.

A Motif, OSF/1 és UNIX a The Open Group bejegyzett védjegyei, az IT DialTone és a The Open Group pedig védjegyei az Egyesült államokban és/vagy más országokban.

Az Oracle az Oracle Corporation bejegyzett védjegye.

A PowerQuest és PartitionMagic a PowerQuest Corporation bejegyzett védjegyei az Egyesült Államokban és/vagy más országokban.

A RealNetworks, RealPlayer és RealAudio a RealNetworks, Inc. bejegyzett védjegyei.

A Red Hat és RPM a Red Hat, Inc. védjegyei vagy bejegyzett védjegyei az Egyesült Államokban és más országokban.

A SAP, R/3 és mySAP a SAP AG védjegyei vagy bejegyzett védjegyei Németországban é sok más országban is világszerte.

A Sun, Sun Microsystems, Java, Java Virtual Machine, JDK, JRE, JSP, JVM, Netra, OpenJDK, Solaris, StarOffice, SunOS és VirtualBox a Sun Microsystems, Inc. védjegyei vagy bejegyzett védjegyei az Egyesült Államokban és más országokban.

A Symantec és Ghost a Symantec Corporation bejegyzett védjegyei az Egyesült Államokban és más országokban.

A MATLAB a The MathWorks, Inc. bejegyzett védjegye.

A SpeedTouch a Thomson védjegye.

A U.S. Robotics és Sportster a U.S. Robotics Corporation. bejegyzett védjegyei.

A VMware a VMware, Inc. védjegye.

A Waterloo Maple és Maple a Waterloo Maple Inc. védjegyei vagy bejegyzett védjegyei.

A Mathematica a Wolfram Research, Inc. védjegye.

Az XFree86 az XFree86 Project, Inc. védjegye.

Az Ogg Vorbis és Xiph.Org a Xiph.Org védjegyei.

A gyártók és terjesztők által használt megnevezések közül sok védjegy jogot követel. Ahol ilyen megnevezés tűnik fel ebben a dokumentumban, és a FreeBSD Projektnek tudomása volt a védjegyről, a megnevezést a vagy a ® szimbólum követi.

1999. február írta .
Kivonat

Üdvözöljük a FreeBSD világában! Ez a kézikönyv ismerteti a FreeBSD 7.3-RELEASE, ill. a FreeBSD 8.1-RELEASE telepítését és használatát a mindennapokban. A kézikönyv tartalmán számos független fejlesztő folyamatosan dolgozik. Emiatt elképzelhető, hogy bizonyos fejezetek már elavultak és aktualizálásra szorulnak. Amennyiben úgy érezzük, hogy segíteni tudnánk a projekt munkájában, értesítsük a fejlesztőket a FreeBSD Dokumentációs Projekt levelezési lista címén! Ezen dokumentum legfrissebb változata mindig elérhető a FreeBSD honlapjáról (a korábbi változatok pedig megtalálhatóak a http://docs.FreeBSD.org/doc/ címen). Ezenkívül még rengeteg más formátumban és tömörítve is letölthető a FreeBSD FTP szerveréről vagy a tüköroldalak egyikéről. Amennyiben a kézikönyv nyomtatott változatára lenne szükségünk, megvásárolhatjuk a FreeBSD Mall-ból. Ha pedig keresni szeretnénk benne, azt a funkciót itt érhetjük el.

Fordította: Páli Gábor, utolsó ellenőrzés: 2010.11.28.

[ Fejezetekre darabolt dokumentum / Teljes dokumentum ]

Tartalom
Előszó
I. Bevezetés
1. Bemutatkozás
1.1. Áttekintés
1.2. Üdvözöljük a FreeBSD-ben!
1.3. A FreeBSD Projektről
2. A FreeBSD telepítése
2.1. Áttekintés
2.2. Hardverkövetelmények
2.3. A telepítés előtt elvégzendő feladatok
2.4. A telepítés megkezdése
2.5. A sysinstall bemutatása
2.6. Lemezterület lefoglalása
2.7. A telepítendő összetevők kiválasztása
2.8. A telepítés eszközének kiválasztása
2.9. A telepítés véglegesítése
2.10. A telepítés után
2.11. Hibakeresés
2.12. Telepítési útmutató haladóknak
2.13. Saját telepítőeszköz elkészítése
3. A UNIX alapjai
3.1. Áttekintés
3.2. Virtuális konzolok és terminálok
3.3. Engedélyek
3.4. A könyvtárak elrendezése
3.5. A lemezek szervezése
3.6. Állományrendszerek csatlakoztatása és leválasztása
3.7. Folyamatok
3.8. Démonok, jelzések és a futó programok leállítása
3.9. Parancsértelmezők
3.10. Szövegszerkesztők
3.11. Eszközök és eszközleírók
3.12. Bináris formátumok
3.13. Bővebben olvashatunk...
4. Alkalmazások telepítése: csomagok és portok
4.1. Áttekintés
4.2. Az alkalmazások telepítésének összefoglalása
4.3. A számunkra szükséges alkalmazások felkutatása
4.4. A csomagrendszer használata
4.5. A Portgyűjtemény használata
4.6. Telepítés utáni teendők
4.7. Teendő a sérült portokkal
5. Az X Window System
5.1. Áttekintés
5.2. Az X áttekintése
5.3. Az X11 telepítése
5.4. Az X11 beállítása
5.5. Betűtípusok használata az X11-ben
5.6. Az X bejelentkeztető képernyője
5.7. Munkakörnyezetek
II. Gyakori feladatok
6. Asztali alkalmazások
6.1. Áttekintés
6.2. Böngészők
6.3. Irodai eszközök
6.4. Dokumentum-megjelenítők
6.5. Pénzügyi szoftverek
6.6. Összefoglalás
7. Multimédia
7.1. Áttekintés
7.2. A hangkártya beállítása
7.3. MP3
7.4. Videók lejátszása
7.5. TV kártyák beállítása
7.6. Lapolvasók
8. A FreeBSD rendszermag testreszabása
8.1. Áttekintés
8.2. Miért készítsünk saját rendszermagot?
8.3. A rendszerünkben levő hardverek összeszedése
8.4. Meghajtók, alrendszerek és modulok
8.5. Saját rendszermag készítése és telepítése
8.6. A konfigurációs állomány
8.7. Ha valamilyen hiba történne
9. Nyomtatás
9.1. Áttekintés
9.2. Bevezetés
9.3. Kezdeti beállítások
9.4. Magasszintű nyomtatóbeállítás
9.5. A nyomtatók használata
9.6. Más nyomtatási rendszerek
9.7. Hibakeresés
10. Bináris Linux kompatibilitás
10.1. Áttekintés
10.2. Telepítés
10.3. A Mathematica® telepítése
10.4. A Maple™ telepítése
10.5. A MATLAB® telepítése
10.6. Az Oracle® telepítése
10.7. Az SAP® R/3® telepítése
10.8. Témák haladóknak
III. Rendszeradminisztráció
11. Beállítás és finomhangolás
11.1. Áttekintés
11.2. Kezdeti beállítások
11.3. A mag beállítása
11.4. Az alkalmazások beállítása
11.5. Szolgáltatások indítása
11.6. A cron segédprogram beállítása
11.7. Az rc használata FreeBSD alatt
11.8. A hálózati kártyák beállítása
11.9. Virtuális címek
11.10. Konfigurációs állományok
11.11. Finomhangolás a sysctl használatával
11.12. A lemezek finomhangolása
11.13. A rendszermag korlátainak finomhangolása
11.14. A lapozóterület bővítése
11.15. Energia- és erőforrásgazdálkodás
11.16. A FreeBSD ACPI támogatásának használata és nyomonkövetése
12. A FreeBSD rendszerindítási folyamata
12.1. Áttekintés
12.2. A rendszerindítás problémája
12.3. A boot manager és az indulás fokozatai
12.4. Kapcsolat a rendszermaggal a rendszerindítás folyamán
12.5. Eszköz útmutatók (device.hints)
12.6. Init: A folyamatirányítás elindítása
12.7. A leállítási folyamat
13. Felhasználók és hozzáférések alapvető kezelése
13.1. Áttekintés
13.2. Bevezetés
13.3. Az adminisztrátori hozzáférés
13.4. Rendszerhozzáférések
13.5. Felhasználói hozzáférések
13.6. A hozzáférések módosítása
13.7. A felhasználók korlátozása
13.8. Csoportok
14. Biztonság
14.1. Áttekintés
14.2. Bevezetés
14.3. A FreeBSD védelme
14.4. DES, Blowfish, MD5 és a Crypt
14.5. Egyszeri jelszavak
14.6. A TCP kapcsolatok burkolása
14.7. KerberosIV
14.8. Kerberos5
14.9. OpenSSL
14.10. VPN IPsec felett
14.11. OpenSSH
14.12. Az állományrendszerek hozzáféréseit vezérlő listák
14.13. A külső programok biztonsági problémáinak figyelése
14.14. A FreeBSD biztonsági figyelmeztetései
14.15. A futó programok nyilvántartása
15. A jail alrendszer
15.1. Áttekintés
15.2. A jail alrendszerhez kapcsolódó fogalmak
15.3. Bevezetés
15.4. A jailek létrehozása és vezérlése
15.5. Finomhangolás és karbantartás
15.6. A jailek alkalmazása
16. Kötelező hozzáférés-vezérlés (MAC)
16.1. Áttekintés
16.2. A fejezet fontosabb fogalmai
16.3. A MAC ismertetése
16.4. Bővebben a MAC címkéiről
16.5. A védelem megtervezése
16.6. A modulok beállítása
16.7. A seeotheruids MAC-modul
16.8. A bsdextended MAC-modul
16.9. Az ifoff MAC-modul
16.10. A portacl MAC-modul
16.11. A partition MAC-modul
16.12. A többszintű biztonsági MAC-modul
16.13. A Biba MAC-modul
16.14. A LOMAC MAC-modul
16.15. A Nagios elzárása a MAC rendszerrel
16.16. A felhasználók korlátozása
16.17. A hibák elhárítása a MAC rendszerben
17. Biztonsági események vizsgálata
17.1. Áttekintés
17.2. A fejezet fontosabb fogalmai
17.3. A vizsgálat támogatásának telepítése
17.4. A vizsgálat beállítása
17.5. A vizsgálati alrendszer használata
18. Háttértárak
18.1. Áttekintés
18.2. Az eszközök elnevezései
18.3. Lemezek hozzáadása
18.4. RAID
18.5. USB tárolóeszközök
18.6. Lézeres tárolóeszközök (CD-k) létrehozása és használata
18.7. Lézeres tárolóeszközök (DVD-k) létrehozása és használata
18.8. Hajlékonylemezek létrehozása és használata
18.9. Szalagok létrehozása és használata
18.10. Biztonsági mentés hajlékonylemezekre
18.11. Mentési stratégiák
18.12. Alapvető tudnivalók a biztonsági mentésről
18.13. Hálózat, memória és állomány alapú állományrendszerek
18.14. Az állományrendszerek pillanatképei
18.15. Az állományrendszerek kvótái
18.16. A lemezpartíciók titkosítása
18.17. A lapozóterület titkosítása
19. GEOM: A moduláris lemezszervező rendszer
19.1. Áttekintés
19.2. A GEOM bemutatása
19.3. RAID0 - Csíkozás
19.4. RAID1 - Tükrözés
19.5. Eszközök hálózati illesztése a GEOM-ban
19.6. A lemezes eszközök címkézése
19.7. Naplózó UFS GEOM-on keresztül
20. Támogatott állományrendszerek
20.1. Áttekintés
20.2. A Z állományrendszer (ZFS)
21. A Vinum kötetkezelő
21.1. Áttekintés
21.2. Kicsik a lemezeink
21.3. A hozzáférési idők szűk keresztmetszetei
21.4. Adatintegritás
21.5. A Vinum objektumai
21.6. Példák
21.7. Az objektumok elnevezése
21.8. A Vinum beállítása
21.9. Rendszerindítás Vinum-kötetről
22. Virtualizáció
22.1. Áttekintés
22.2. A FreeBSD mint vendég
22.3. A FreeBSD mint gazda
23. Honosítás: Az I18N/L10N használata és beállítása
23.1. Áttekintés
23.2. Az alapok
23.3. A honosítás használata
23.4. I18N programok fordítása
23.5. A FreeBSD honosítása adott nyelvekre
24. A FreeBSD frissítése és frissen tartása
24.1. Áttekintés
24.2. A FreeBSD frissítése
24.3. A Portgyűjtemény frissítése a Portsnap használatával
24.4. A dokumentáció frissítése
24.5. A fejlesztői ág követése
24.6. A forrás szinkronizálása
24.7. Az alaprendszer újrafordítása
24.8. A források követése több géppel
25. DTrace
25.1. Áttekintés
25.2. Eltérések az implementációban
25.3. A DTrace támogatásának engedélyezése
25.4. A DTrace használata
25.5. A D nyelv
IV. Hálózati kommunikáció
26. Soros vonali kommunikáció
26.1. Áttekintés
26.2. Bevezetés
26.3. Terminálok
26.4. Betárcsázós szolgáltatások
26.5. A betárcsázós szolgáltatások használata
26.6. A soros vonali konzol beállítása
27. A PPP és a SLIP
27.1. Áttekintés
27.2. A felhasználói PPP alkalmazása
27.3. A rendszerszintű PPP alkalmazása
27.4. PPP kapcsolatok hibaelhárítása
27.5. A PPP használata Ethernet felett (PPPoE)
27.6. PPP ATM felett (PPPoA)
27.7. A SLIP használata
28. Elektronikus levelezés
28.1. Áttekintés
28.2. Az elektronikus levelezés használata
28.3. A sendmail beállítása
28.4. A levéltovábbító ügynök megváltoztatása
28.5. A hibák elhárítása
28.6. Komolyabb témák
28.7. SMTP és az UUCP
28.8. Csak küldés beállítása
28.9. Levelezés betárcsázós kapcsolattal
28.10. Az SMTP hitelesítése
28.11. Levelező kliensek
28.12. A fetchmail használata
28.13. A procmail használata
29. Hálózati szerverek
29.1. Áttekintés
29.2. Az inetd szuperszerver
29.3. A hálózati állományrendszer (NFS)
29.4. Hálózati információs rendszer (NIS/YP)
29.5. A hálózat automatikus beállítása (DHCP)
29.6. Névfeloldás (DNS)
29.7. Az Apache webszerver
29.8. Állományok átvitele (FTP)
29.9. Állomány- és nyomtatási szolgáltatások Microsoft® Windows® kliensek számára (Samba)
29.10. Az órák egyeztetése az NTP használatával
29.11. Távoli gépek naplózása syslogd használatával
30. Tűzfalak
30.1. Bevezetés
30.2. Röviden a tűzfalakról
30.3. Tűzfalak
30.4. Az OpenBSD csomagszűrője (PF) és az ALTQ
30.5. Az IPFILTER (IPF) tűzfal
30.6. IPFW
31. Egyéb haladó hálózati témák
31.1. Áttekintés
31.2. Átjárók és az útválasztás
31.3. Vezeték nélküli hálózatok
31.4. Bluetooth
31.5. Hálózati hidak
31.6. Linkek összefűzése és hibatűrése
31.7. Lemez nélküli működés
31.8. ISDN
31.9. Hálózati címfordítás
31.10. Párhuzamos vonali IP (PLIP)
31.11. Az IPv6
31.12. Az Aszinkron adatátviteli mód (ATM)
31.13. A Közös cím redundancia protokoll (CARP)
V. Függelék
A. A FreeBSD beszerzése
A.1. CD és DVD kiadók
A.2. FTP oldalak
A.3. BitTorrent
A.4. Anonim CVS
A.5. A CTM használata
A.6. A CVSup használata
A.7. CVS címkék
A.8. AFS oldalak
A.9. Rsync oldalak
B. Irodalomjegyzék
B.1. A FreeBSD-ről szóló könyvek és folyóiratok
B.2. Felhasználói kézikönyvek
B.3. Rendszeradminisztrátori kézikönyvek
B.4. Programozói kézikönyvek
B.5. Az operációs rendszerek belső működéséről
B.6. Biztonságról szóló írások
B.7. Hardverrel foglalkozó írások
B.8. UNIX® történelem
B.9. Magazinok és folyóiratok
C. Források az interneten
C.1. Levelezési listák
C.2. Usenet hírcsoportok
C.3. Világhálós szolgáltatások
C.4. E-mail címek
D. PGP-kulcsok
D.1. Tisztségviselők
D.2. A Core Team tagjai
D.3. Fejlesztők
A FreeBSD-s szakkifejezések gyűjteménye
Tárgymutató
Az ábrák listája
2.1. FreeBSD rendszerbetöltő menüje
2.2. Példa az eszközkeresés eredményeire
2.3. Az ország kiválasztása
2.4. A billentyűzet típusának kiválasztása
2.5. Kilépés a sysinstall programból
2.6. A Usage kiválasztása a sysinstall főmenüjében
2.7. A dokumentációs menü kiválasztása
2.8. A sysinstall dokumentációs menüje
2.9. A sysinstall főmenüje
2.10. A sysinstall billentyűkiosztást beállító menüje
2.11. A sysinstall főmenüje
2.12. A sysinstall beállításai
2.13. Egy szabványos telepítés megkezdése
2.14. A meghajtó kiválasztása az FDisk számára
2.15. Átlagos Fdisk partíciók szerkesztés előtt
2.16. Particionálás az Fdisk Using Entire Disk funkciójával
2.17. A sysinstall rendszerválasztókat tartalmazó menüje
2.18. Kilépés a meghajtóválasztó menüből
2.19. A sysinstall Disklabel partíciószerkesztője
2.20. A sysinstall Disklabel partíciószerkesztője, alapértelmezett értékekkel
2.21. Szabad hely a gyökérpartíción
2.22. A gyökérpartíció méretének szerkesztése
2.23. A gyökérpartíció típusának kiválasztása
2.24. A gyökér csatlakozási pontjának megadása
2.25. A Disklabel partíciószerkesztő
2.26. A terjesztések kiválasztása
2.27. A terjesztések telepítésének megerősítése
2.28. A telepítési eszköz kiválasztása
2.29. Az Ethernet-eszköz kiválasztása
2.30. Az ed0 hálózati beállítása
2.31. Az inetd.conf módosítása
2.32. Az anonim FTP alapbeállításai
2.33. Az FTP köszöntő üzenetének szerkesztése
2.34. Az exports szerkesztése
2.35. A rendszerkonzol beállításai
2.36. A képernyőkímélő beállításai
2.37. A képernyőkímélőhöz tartozó időkorlát beállítása
2.38. Kilépés a rendszerkonzol beállító menüjéből
2.39. A térség kiválasztása
2.40. Az ország kiválasztása
2.41. Az időzóna kiválasztása
2.42. Az egér által használt protokoll típusának beállítása
2.43. Az egér protokolljának beállítása
2.44. Az egér portjának beállítása
2.45. Az egér portjának kiválasztása
2.46. Az egérdémon engedélyezése
2.47. Az egérdémon kipróbálása
2.48. A csomagok kategóriájának kiválasztása
2.49. Csomag kiválasztása
2.50. Csomagok telepítése
2.51. Csomagok telepítésének megerősítése
2.52. Felhasználók kiválasztása
2.53. A felhasználó adatainak megadása
2.54. Kilépés a felhasználók és csoportok menüjéből
2.55. Kilépés a telepítőből
2.56. A hálózati beállítások menüjének felső szintje
2.57. Az alapértelmezett MTA kiválasztása
2.58. Az Ntpdate beállítása
2.59. A hálózati beállítások menüjének alsó szintje
21.1. Az összefűzött szervezési mód
21.2. A csíkozott szervezési mód
21.3. A RAID-5 szervezési mód
21.4. Egyszerű Vinum-kötet
21.5. Tükrözött Vinum-kötet
21.6. Csíkozott Vinum-kötet
21.7. Tükrözött, csíkozott Vinum-kötet
A táblázatok listája
2.1. Példa egy eszközleltárra
2.2. Az első lemez partícióinak kiosztása
2.3. Több lemez partícióinak kiosztása
2.4. FreeBSD 7.X és 8.X ISO image-ek nevei és jelentései
3.1. Lemezes eszközök kódjai
18.1. A fizikai lemezek elnevezésének szabályai
21.1. Vinum erezések
26.1. A DB-25 DB-25 közti null-modem kábel
26.2. A DB-9 DB-9 közti null-modem kábel
26.3. DB-9 DB-25 közti null-modem kábel
26.4. A jelek neve
31.1. A párhuzamos kábel hálózati használatra alkalmas bekötése
31.2. Fenntartott IPv6 címek
A példák listája
2.1. Meglevő partíció használata a méret megváltoztatása nélkül
2.2. Meglevő partíció zsugorítása
3.1. Példák lemezek, slice-ok és partíciók neveire
3.2. Egy lemez kialakításának sablonja
4.1. Csomagok letöltése manuálisan és telepítése lokálisan
11.1. Lapozóállomány létrehozása FreeBSD-ben
12.1. A boot0 munkában
12.2. A boot2 működés közben
12.3. Nem biztonságos konzol megadása az /etc/ttys-ben
13.1. Felhasználó hozzáadása a FreeBSD-ben
13.2. rmuser Hozzáférések interaktív eltávolítása
13.3. A chpass interaktív használata adminisztrátorként
13.4. A chpass interaktív használata normál felhasználóként
13.5. A jelszavunk megváltoztatása
13.6. Egy másik felhasználó jelszavának megváltoztatása adminisztrátorként
13.7. A csoportok tagjainak beállítása a pw(8) használatával
13.8. A csoport tagjainak beállítása a pw(8) használatával
13.9. Egy új tag felvétele a csoportba a pw(8) használatával
13.10. Az id(1) használata a csoporttagság megállapítására
14.1. Biztonságos tunnel létrehozása SSH-val SMTP-hez
18.1. A dump használata az ssh alkalmazással
18.2. A dump használata az ssh alkalmazással, az RSH környezeti változó beállításával
18.3. Egy meglevő állományrendszer image-ének csatlakoztatása az mdconfig paranccsal
18.4. Új állomány alapú lemez létrehozása az mdconfig paranccsal
18.5. Állomány alapú lemezek beállítása és csatlakoztatása az mdmfs paranccsal
18.6. Új memória alapú lemez létrehozása az mdconfig paranccsal
18.7. Új memória alapú lemez létrehozása az mdmfs paranccsal
19.1. Partíciók címkézése a rendszerindító lemezen
26.1. Terminálok felvétele az /etc/ttys állományba
28.1. A sendmail elérését szabályozó adatbázis beállítása
28.2. Virtuális postaládák
28.3. Példa a virtuális tartományok leképezésére
29.1. Az inetd konfigurációs állományának újraolvasása
29.2. Egy exportált állományrendszer csatlakoztatása az amd használatával
29.3. A Django telepítése az Apache, mod_python3 és a PostgreSQL használatával
29.4. Az Apache beállítása a Django és mod_python használatához
31.1. LACP alapú összefűzés egy Cisco® switch-csel
31.2. A hibatűrés beállítása
31.3. Hibatűrés beállítása vezetékes és vezeték nélküli hálózatok között
31.4. Egy otthoni vagy egy fiókbeli hálózat
31.5. Az igazgatósági iroda vagy egy másik helyi hálózat
A.1. Valami (az ls(1)) kikérése a -CURRENT ágból
A.2. Az src/ fa kikérése SSH-n keresztül
A.3. Az ls(1) 6-STABLE ágban szereplő változatának kikérése
A.4. Az ls(1) változásainak (Unified Diff formátumú) listázása
A.5. A használható modulok nevének kiderítése

Előszó

Kiknek szánjuk ezt a könyvet

A FreeBSD-t még nem ismerők felfedezhetik, hogy a könyv első része a FreeBSD telepítésének folyamatán vezeti keresztül a felhasználót, valamint érintőlegesen bemutatja az ezt alátámasztó UNIX®-os alapfogalmakat és szabályokat. Ennek a résznek a végigjárása nem kíván többet, csupán egy kis felfedező kedvet, illetve a menet közben bemutatott új fogalmak befogadását.

Ha túljutottunk rajta, a kézikönyv második, jóval terjedelmesebb része a FreeBSD-t használó rendszergazdák számára nyújt mindenféle témában minden részletre kiterjedő referenciát. Ezek közül egyes fejezetek elvárnak némi előzetes felkészülést, amelyet minden fejezet áttekintésében említeni is fogunk.

További információkért olvassuk át a B. függelék - Irodalomjegyzéket.

Változtatások a harmadik kiadás óta

A kézikönyv jelenleg interneten elérhető változata számtalan önkéntes által az utóbbi 10 évben végzett együttes erőfeszítéseinek eredményeit tükrözi. A 2004-ben két kötetben megjelentetett harmadik kiadás óta a következő fontosabb változások történtek:

Változtatások a második kiadás (2004) óta

A harmadik kiadás a FreeBSD Dokumentációs Projekt tagjainak két évi kemény munkájának gyümölcse. A nyomtatott változat már olyan nagyra nőtt, hogy két külön kötetben kellett kiadnunk. Az alábbi fontosabb változtatások jelentek meg ebben az új kiadásban:

  • 11. fejezet - Beállítás és finomhangolás: a beállításra és finomhangolásra vonatkozó részeket bővítettük az ACPI energia- és erőforrás gazdálkodásról szóló részekkel, a cron rendszerprogrammal, illetve még több, a rendszermag finomhangolását elősegítő opció leírásával.

  • 14. fejezet - Biztonság: a biztonságról szóló részt bővítettük a virtuális magánhálózatokról (VPN-ekről), állományrendszeri hozzáférés-vezérlési listákról (ACL-ek) szóló elemekkel, valamint biztonságtechnikai tanácsokkal.

  • 16. fejezet - Kötelező hozzáférés-vezérlés (MAC): a kötelező hozzáférés-vezérlésről (MAC-ről) szóló fejezet teljesen új ebben a kiadásban. Bemutatja, mi is az a MAC és hogyan hasznosítható egy FreeBSD-s rendszer biztonságossá tételében.

  • 18. fejezet - Háttértárak: a háttértárakat tartalmazó részt bővítettük az USB-tárakról, állományrendszeri pillanatképeiről, lemezkvótákról, állomány- és hálózat alapú állományrendszerekről, továbbá a titkosított partíciókról szóló részekkel.

  • 21. fejezet - A Vinum kötetkezelő: a Vinum egy új fejezet ebben a kiadásban. Bemutatja a Vinum logikaikötet-kezelő használatát, aminek segítségével eszközfüggetlen módon hozhatunk létre logikai lemezeket, szoftveres RAID-0, RAID-1 és RAID-5 konfigurációkat.

  • Bekerült egy hibaelhárításról szóló rész a 27. fejezet - A PPP és a SLIP PPP és SLIP leírásához.

  • 28. fejezet - Elektronikus levelezés: az elektronikus levelezést ismertető részt bővítettük a különféle levéltovábbító rendszerekről, az SMTP hitelesítésről, UUCP protokollról, a fetchmail és procmail programokról szóló elemekkel, valamint egyéb, haladókat megcélzó témákkal.

  • 29. fejezet - Hálózati szerverek: a hálózati szervereket ismertető rész egy teljesen új fejezet ebben a kiadásban. Benne megtalálható az Apache HTTP szerver, az ftpd szerver, illetve a Microsoft® Windows®-os kliensek számára megfelelő Samba szerver beállítása. Az érthetőség kedvéért egyes részek átkerültek ide a 31. fejezet - Egyéb haladó hálózati témák, vagyis a haladó hálózati témákat tárgyaló fejezetből.

  • 31. fejezet - Egyéb haladó hálózati témák: a haladó hálózati témákat tartalmazó részt kiegészítettük a FreeBSD és a Bluetooth® eszközök kapcsolatáról, a vezeték nélküli hálózatokról és az aszinkron adatátvitel módról (ATM-ről) szóló ismeretekkel.

  • Létrehoztunk egy szójegyzéket abból a célból, hogy a könyvben használt definíciók és szakkifejezések egyetlen központi helyen össze legyenek foglalva.

  • Számos esztétikai javítást eszközöltünk a könyvben található ábrákon és táblázatokon.

Változtatások az első kiadás (2001) óta

A második kiadás a FreeBSD Dokumentációs Projekt tagjainak két évi komoly munkájának eredménye. Az alábbi fontosabb változtatások jelennek meg ebben a kiadásban:

  • Bekerült egy teljes tárgy- és névmutató.

  • Mindegyik ASCII-ábrát grafikusak váltották fel.

  • Mindegyik fejezet elejére odakerült egy általános áttekintés, ami egy rövid összefoglalást ad a fejezet tartalmáról, valamint közli az elolvasásához szükséges ismereteket.

  • A tartalmat felosztottuk logikailag három részre: Bevezetés, Rendszeradminisztráció és Függelék.

  • A 2. fejezet - A FreeBSD telepítéseet (A FreeBSD telepítése) teljesen újraírtuk és sok-sok illusztráció is hozzáadásra került a könnyebb megértés érdekében.

  • A 3. fejezet - A UNIX alapjai (A UNIX® alapjai) kiegészült a futó programokról, démonokról és jelzésekről szóló további hasznos információkkal.

  • A 4. fejezet - Alkalmazások telepítése: csomagok és portoket (Alkalmazások telepítése) bővítettük a bináris csomagkezelésről szóló további ismeretekkel.

  • A 5. fejezet - Az X Window System (Az X Window System) teljes újraíráson ment át, aminek folyamán igyekeztünk nagyobb hangsúlyt helyezni a modern asztali technológiák, mint pl. a KDE és GNOME XFree86™ 4.X-en történő használatának leírására.

  • A 12. fejezet - A FreeBSD rendszerindítási folyamata (A FreeBSD rendszerindítási folyamata) kibővült.

  • A 18. fejezet - Háttértárak (Háttértárak) két, korábban külön levő fejezet, a Lemezek és Biztonsági mentések összeolvasztásából jött létre. Úgy éreztük, a bennük helyet kapott témákat sokkal könnyebb úgy megérteni, ha egyetlen fejezetben tárgyaljuk ezeket. Egy (hardveres és szoftveres) RAID-ről szóló rész is belekerült.

  • A 26. fejezet - Soros vonali kommunikáció (Soros vonali kommunikáció) teljes átszervezésre került, valamint a FreeBSD 4.X/5.X verziókhoz igazítottuk.

  • A 27. fejezet - A PPP és a SLIP (A PPP és a SLIP) lényegesen sokat fejlődött.

  • Számos új rész került a 31. fejezet - Egyéb haladó hálózati témákbe (Egyéb haladó hálózati témák).

  • A 28. fejezet - Elektronikus levelezés (Elektronikus levelezés) kibővült a sendmail beállításáról tartalmazó újabb információkkal.

  • A 10. fejezet - Bináris Linux kompatibilitás (Bináris Linux kompatibilitás) kiegészült az Oracle® és a SAP® R/3® telepítését bemutató részekkel.

  • Az alábbi új témák kerültek tárgyalásra a második kiadásban:

A könyv felépítése

A könyvet négy logikailag elkülönülő részre osztottuk fel. Az első, Bevezetés című részben bemutatjuk a FreeBSD telepítését és használatának alapjait. Elgondolásunk szerint az itt szereplő fejezeteket sorban érdemes elolvasni, esetenként kihagyni azokat, amelyek már az olvasó számára ismert témákat dolgoznak fel. A második, Gyakori feladatok című részben megismerhetjük a FreeBSD néhány gyakorta használt lehetőségét. Ez a rész, valamint az ezt követő összes többi tetszőleges sorrendben olvasható. Mindegyik fejezet egy rövidke összefoglalással kezdődik, amely ismerteti, az olvasótól milyen jellegű tapasztalatokat vár el a fejezet megértése. Célja, hogy segítsen az olvasónak megtalálni a számára érdekes témákat. A harmadik, Rendszeradminisztráció című részben rendszergazdai feladatokat tárgyalunk. A negyedik, Hálózati kommunikáció című részben hálózatok és szerverek üzemeltetésével kapcsolatos ismereteket foglaltunk össze. Végül, az ötödik rész tartalmazza a függeléket és az irodalomjegyzéket, hivatkozásokat.

1. fejezet - Bemutatkozás: Bemutatkozás

A FreeBSD bemutatkozik az új felhasználóknak. Szó esik a FreeBSD Projekt történetéről, célkitűzéseiről és a fejlesztési modelljéről.

2. fejezet - A FreeBSD telepítése: A FreeBSD telepítése

Végigvezetjük a felhasználót a telepítési folyamat egészén. Bizonyos rendhagyó kérdések, mint például a soros konzolon keresztül történő telepítés is terítékre kerülnek.

3. fejezet - A UNIX alapjai: A UNIX® alapjai

Sorra vesszük a FreeBSD operációs rendszer alapvető parancsait és lehetőségeit. Amennyiben már jártasak vagyunk valamilyen szinten a Linux® vagy más UNIX®-típusú rendszerek használatában, nyugodtan kihagyhatjuk ezt a fejezetet.

4. fejezet - Alkalmazások telepítése: csomagok és portok: Alkalmazások telepítése, csomagok és portok

Megismerhetjük, miként tudunk külső cégek által fejlesztett alkalmazásokat telepíteni a FreeBSD Portgyűjteményének (FreeBSD Ports Collection) vagy a megszokott bináris csomagok használatán keresztül.

5. fejezet - Az X Window System: Az X Window System

Általános bemutatásra kerül az X Window System, valamint az X11 használata a FreeBSD-n. Ezenkívül olvashatunk az elterjedtebb munkakörnyezetekről, mint pl. a KDE és a GNOME.

6. fejezet - Asztali alkalmazások: Asztali alkalmazások

Felsoroljuk az ismertebb asztali alkalmazásokat: webböngészőket és alkalmazói programcsomagokat, és bemutatjuk, hogyan telepítsük ezeket FreeBSD-re.

7. fejezet - Multimédia: Multimédia

Megtudhatjuk, hogyan állítsuk be a zene- és videolejátszást rendszerünkön. Emellett olvashatunk néhány multimédiás alkalmazás használatáról is.

8. fejezet - A FreeBSD rendszermag testreszabása: A FreeBSD rendszermag testreszabása

Kifejtjük, miért lehet szükségünk egy új rendszermag konfigurálására, és részletesen végigjárjuk egy rendszermag konfigurációjának, fordításának és telepítésének lépéseit.

9. fejezet - Nyomtatás: Nyomtatás

Ismertetjük, hogyan lehet nyomtatókat használni FreeBSD alatt, beleértve a munkalapok készítésének mikéntjét, a nyomtatóhasználat nyilvántartását és a kezdeti beállításokat.

10. fejezet - Bináris Linux kompatibilitás: Bináris Linux kompatibilitás

Megismerhetjük a FreeBSD bináris Linux kompabilitásához kapcsolódó lehetőségeket. Ezenfelül részletekre is kitérő telepítési útmutatót találhatunk különböző népszerű linuxos alkalmazásokhoz, mint például az Oracle®, SAP® R/3® és a Mathematica®.

11. fejezet - Beállítás és finomhangolás: Beállítás és finomhangolás

Megismerhetjük a FreeBSD azon paramétereit, amelyek megfelelő állításával a rendszergazdák a lehető legtöbbet képesek kihozni FreeBSD rendszerükből. Ezenkívül bemutatásra kerül a FreeBSD-ben használt számos konfigurációs állomány, valamint hogy ezeket hol találhatjuk meg.

12. fejezet - A FreeBSD rendszerindítási folyamata: A FreeBSD rendszerindítási folyamata

Tartalmazza a FreeBSD rendszerindítási folyamatának leírását, és elmagyarázza, miként lehet ezt vezérelni a konfigurációs beállítások segítségével.

13. fejezet - Felhasználók és hozzáférések alapvető kezelése: Felhasználók és hozzáférések alapvető kezelése

Bemutatja a felhasználói fiókok létrehozását és kezelését. Emellett megemlíti a felhasználókra érvényesíthető erőforrás-megszorításokat, illetve egyéb fiókkezelési feladatokat.

14. fejezet - Biztonság: Biztonság

Bemutatásra kerül a FreeBSD rendszerünk biztonságossá tételére alkalmas számos különféle eszköz, többek közt a Kerberos, IPsec és az OpenSSH.

15. fejezet - A jail alrendszer: A jail alrendszer

Megtudhatjuk, hogyan működik az alkalmazások elszigeteléséért felelős jail alrendszer, valamint miben emelkedik ki a FreeBSD-ben is megtalálható hagyományos chroot megoldással szemben.

16. fejezet - Kötelező hozzáférés-vezérlés (MAC): Kötelező hozzáférés-vezérlés

Megismerhetjük a kötelező hozzáférés-vezérlést (MAC-et), valamint azt, hogyan is tudjuk felhasználni egy FreeBSD-s rendszer biztonsága érdekében.

17. fejezet - Biztonsági események vizsgálata: Biztonsági események vizsgálata

Kiderül, mit jelent a FreeBSD-ben az események vizsgálata, illetve mindez hogyan telepíthető, konfigurálható és miként tudjuk a vizsgálatok adatait kielemezni vagy felügyelni.

18. fejezet - Háttértárak: Háttértárak

Bemutatásra kerül, miként kezelhetjük a háttértárolókat és állományrendszereket a FreeBSD-ben. Ide tartoznak a fizikai lemezek, RAID-tömbök, optikai és szalagos egységek, memória alapú lemezek és a hálózati állományrendszerek.

19. fejezet - GEOM: A moduláris lemezszervező rendszer: GEOM, a moduláris lemezszervező rendszer

Megismerhetjük a FreeBSD-ben jelenlevő GEOM alrendszert és az általa támogatott különböző RAID-szintek beállítását.

20. fejezet - Támogatott állományrendszerek: Támogatott állományrendszerek

A FreeBSD operációs rendszer számára nem natív állományrendszerekkel foglalkozik, például a Sun™ Z állományrendszerével.

21. fejezet - A Vinum kötetkezelő: A Vinum kötetkezelő

Megtudhatjuk, hogyan használjuk a Vinumot, a logikaikötet-kezelőt, amely eszközfüggetlen logikai lemezeket, szoftveres RAID-0, RAID-1 és RAID-5 konfigurációkat biztosít.

22. fejezet - Virtualizáció: Virtualizáció

Tartalmazza a virtualizációs rendszerek által felkínált lehetőségek bemutatását és használatát a FreeBSD-vel.

23. fejezet - Honosítás: Az I18N/L10N használata és beállítása: Honosítás, az I18N/L10N használata és beállítása

Bemutatja, hogyan használjuk a FreeBSD-t a rendszer és az alkalmazások szintjén az angoltól eltérő nyelveken.

24. fejezet - A FreeBSD frissítése és frissen tartása: A FreeBSD frissítése és frissen tartása

Elmagyarázza, mik az alapvető különbségek a FreeBSD-STABLE, FreeBSD-CURRENT verziók, valamint a FreeBSD kiadások között. Bemutatja, mely felhasználók lehetnek azok, akik a legtöbbet tudnak profitálni egy fejlesztői rendszer használatából, illetve körvonalazza ennek folyamatát. Továbbá röviden összefoglalja azokat az eszközöket, amelyekkel a felhasználók frissíthetik a rendszerüket a biztonsági és kritikus hibák javításakor.

25. fejezet - DTrace: DTrace

A Sun™ DTrace eszközének beállítását és használatát mutatja be. A segítségével megvalósított dinamikus nyomkövetéssel lehetőségünk nyílik valós idejű elemzéseken keresztül felderíteni a különböző teljesítménybeli problémákat.

26. fejezet - Soros vonali kommunikáció: Soros vonali kommunikáció

Kifejti, hogyan csatlakoztassunk terminált vagy modemet a FreeBSD rendszerünkhöz, ha behívó vagy betárcsázós kapcsolatot szeretnénk létrehozni.

27. fejezet - A PPP és a SLIP: A PPP és a SLIP

Bemutatja, miként tudjuk PPP-n, SLIP-en és Etherneten keresztüli PPP-vel (PPPoE) összekapcsolni a FreeBSD-t távoli rendszerekkel.

28. fejezet - Elektronikus levelezés: Elektronikus levelezés

Megismerhetjük egy elektronikus levelező szerver különféle komponenseit, és elmélyedhetünk az egyik leghíresebb levelezőszerver-szoftver, a sendmail használatában és felületesebb konfigurálásában.

29. fejezet - Hálózati szerverek: Hálózati szerverek

Részletekbe menően és konfigurációs példákkal mutatja be, miként tudunk hálózati állományrendszer kiszolgálónak, névszervernek, hálózati információs rendszer kiszolgálónak vagy időszinkronizációs szervernek beállítani egy FreeBSD-s számítógépet.

30. fejezet - Tűzfalak: Tűzfalak

Kifejti a szoftveres tűzfalak mögött álló filozófiát, valamint részletesen tárgyalja a különböző, FreeBSD-n elérhető tűzfalak konfigurációját.

31. fejezet - Egyéb haladó hálózati témák: Egyéb haladó hálózati témák

Feldolgoz számos hálózati témát, beleértve az internet kapcsolat helyi hálózaton (LAN-on) keresztül történő megosztását több számítógép között, haladó forgalomirányítási kérdéseket, vezeték nélküli hálózatok beállítását, Bluetooth®, ATM, IPv6 és sok minden mással kapcsolatos információkat.

A. függelék - A FreeBSD beszerzése: A FreeBSD beszerzése

Felsorolja azokat a forrásokat, ahonnan a FreeBSD CD-n vagy DVD-n beszerezhető, valamint azokat a honlapokat, ahonnan letölthető vagy telepíthető a FreeBSD.

B. függelék - Irodalomjegyzék: Irodalomjegyzék

A könyv sok tekintetben olyan témákat is érint, amelyek felkelthetik az olvasó érdeklődését és ezek kapcsán bővebb magyarázatra vágyik. Az irodalomjegyzékben ezért összeírtunk számos remek könyvet, amelyekre hivatkozunk is a fejezetekben.

C. függelék - Források az interneten: Erőforrások az interneten

Tartalmazza a FreeBSD felhasználók számára elérhető azon fórumokat, ahová beküldhetik kérdéseiket, illetve szakmai jellegű társalgásokat folytathatnak.

D. függelék - PGP-kulcsok: PGP-kulcsok

Az egyes FreeBSD fejlesztők PGP-kulcsait sorolja fel.

A könyvben alkalmazott konvenciók

A könnyebb és egységesebb olvashatóság kedvéért az alábbi konvenciókat igyekeztünk követni a könyvben.

Tipográfiai konvenciók

Dőlt

A dőlt betűket állománynevek, URL-ek, kiemelt szövegek és a szakmai kifejezések első előfordulásakor használjuk.

Írógépszerű

Az írógépszerű betűket hibaüzenetek, parancsok, környezeti változók, portok, számítógépek, felhasználók, csoportok, eszközök nevei, változók és kódrészletek esetén használjuk.

Félkövér

A félkövér betűket alkalmazások, parancsok és billentyűk megnevezésénél használjuk.

Felhasználói bevitel

A billentyűket félkövérrel írjuk, hogy kiemelkedjenek a szöveg többi részéből. Az egyszerre megnyomni kívánt billentyűk kombinációját a `+' jelöléssel adjuk meg, mint például:

Ctrl+Alt+Del

Ez azt jelenti, hogy a felhasználónak a Ctrl, Alt és Del billentyűket egyszerre kell lenyomnia.

Azokat a billentyűket, amelyeket egymás után kell lenyomni, vesszővel választjuk el, például:

Ctrl+X, Ctrl+S

Ez tehát azt jelenti, hogy a felhasználónak először a Ctrl és X billentyűket, majd a Ctrl és S billentyűket kell egyszerre lenyomnia.

Példák

A E:\> kijelzéssel kezdődő példák egy MS-DOS® parancsot jelölnek. Ha másképpen nem említjük, ezeket a parancsokat a modern Microsoft® Windows®-okban található Parancssorból kell kiadni.

E:\> tools\fdimage floppies\kern.flp A:

A # kijelzéssel kezdődő példák a FreeBSD-ben rendszeradminisztrátori jogokat igénylő parancsok kiadását jelentik. Ehhez bejelentkezhetünk a root felhasználóval, vagy felvethetjük a rendszeradminisztrátori jogokat a saját felhasználói fiókunkból a su(1) használatával is.

# dd if=kern.flp of=/dev/fd0

A % kijelzéssel kezdődő példák olyan parancsra utalnak, amelyeket egy normál felhasználói fiókból érdemes kiadni. Hacsak másképpen nem jelezzük, a C-shell szintaxisát használjuk a környezeti változók és egyéb parancsok megadásakor.

% top

Köszönetnyilvánítás

A könyv, amit itt most olvashatunk, több száz ember együttes munkájának eredménye a világ minden tájáról. Akár csak elgépeléseket javítottak, vagy komplett fejezeket adtak hozzá, minden hozzájárulás hasznosnak bizonyult.

Emellett sok cég anyagilag is támogatta a könyv fejlődését, lehetővé téve ezáltal, hogy a szerzők teljes munkaidőben dolgozhassanak rajta, pénzt kapjanak az írásaikért stb. Leginkább a BSDi (amelyet később felvásárolt a Wind River Systems) adott teljes munkaidős fizetést a FreeBSD Dokumentációs Projekt tagjainak a könyv gondozásához, amely végül az első nyomtatott kiadás megjelentetéséhez vezetett 2000 márciusában (ISBN 1-57176-241-8). A Wind River Systems ezt követően további szerzőket is finanszírozott a nyomtatási-szedési infrastruktúra továbbfejlesztéséhez és a könyv tartalmának bővítéséhez. Ennek eredménye lett a második nyomtatott kiadás, amely 2001 novemberében jelent meg (ISBN 1-57176-303-1). 2003 — 2004 folyamán a FreeBSD Mall, Inc. támogatott anyagilag számos hozzájárulót a kézikönyvet illető munkájáért, a harmadik nyomtatott kiadásra történő előkészítésben.

I. rész - Bevezetés

A FreeBSD kézikönyv ezen része azoknak a felhasználóknak és rendszergazdáknak szól, akik még nem ismerik a FreeBSD-t. A fejezetek:

  • Bemutatják a FreeBSD-t.

  • Végigvezetnek a telepítés folyamatán.

  • Ismertetik a UNIX® alapjait.

  • Megmutatják, hogyan telepítsük a FreeBSD-hez elérhető megannyi külső alkalmazást.

  • Megismerhetjük az X-et, a UNIX®-os ablakozórendszert, és részleteiben is láthatjuk, miként konfiguráljunk be egy munkakörnyezetet, amellyel kényelmesebbé válik a munka.

A fejezetek megírása során arra törekedtünk, hogy minél kevesebb hivatkozást tegyünk a könyv később következő részeire, így ennek köszönhetően a kézikönyv ezen része anélkül olvasható, hogy közben folyamatosan előre-hátra kellene lapozgatnunk benne.

Tartalom
1. Bemutatkozás
1.1. Áttekintés
1.2. Üdvözöljük a FreeBSD-ben!
1.3. A FreeBSD Projektről
2. A FreeBSD telepítése
2.1. Áttekintés
2.2. Hardverkövetelmények
2.3. A telepítés előtt elvégzendő feladatok
2.4. A telepítés megkezdése
2.5. A sysinstall bemutatása
2.6. Lemezterület lefoglalása
2.7. A telepítendő összetevők kiválasztása
2.8. A telepítés eszközének kiválasztása
2.9. A telepítés véglegesítése
2.10. A telepítés után
2.11. Hibakeresés
2.12. Telepítési útmutató haladóknak
2.13. Saját telepítőeszköz elkészítése
3. A UNIX alapjai
3.1. Áttekintés
3.2. Virtuális konzolok és terminálok
3.3. Engedélyek
3.4. A könyvtárak elrendezése
3.5. A lemezek szervezése
3.6. Állományrendszerek csatlakoztatása és leválasztása
3.7. Folyamatok
3.8. Démonok, jelzések és a futó programok leállítása
3.9. Parancsértelmezők
3.10. Szövegszerkesztők
3.11. Eszközök és eszközleírók
3.12. Bináris formátumok
3.13. Bővebben olvashatunk...
4. Alkalmazások telepítése: csomagok és portok
4.1. Áttekintés
4.2. Az alkalmazások telepítésének összefoglalása
4.3. A számunkra szükséges alkalmazások felkutatása
4.4. A csomagrendszer használata
4.5. A Portgyűjtemény használata
4.6. Telepítés utáni teendők
4.7. Teendő a sérült portokkal
5. Az X Window System
5.1. Áttekintés
5.2. Az X áttekintése
5.3. Az X11 telepítése
5.4. Az X11 beállítása
5.5. Betűtípusok használata az X11-ben
5.6. Az X bejelentkeztető képernyője
5.7. Munkakörnyezetek

1. fejezet - Bemutatkozás

Átszerkesztette, átszervezte és bizonyos részeit átdolgozta: Mock, Jim.

1.1. Áttekintés

Köszönjük, hogy érdeklődik a FreeBSD iránt! A fejezet a FreeBSD Projektet több különböző vonatkozásban mutatja be: a történetét, a céljait, a fejlesztési modelljét és így tovább.

A fejezet elolvasása során megismerjük:

  • hogyan viszonyul a FreeBSD más operációs rendszerekhez;

  • a FreeBSD Projekt történetét;

  • a FreeBSD Projekt célkitűzéseit;

  • a FreeBSD nyílt forráskódú fejlesztési modelljének alapjait;

  • és természetesen: hogyan is keletkezett a FreeBSD név.

1.2. Üdvözöljük a FreeBSD-ben!

A FreeBSD egy 4.4BSD-Lite alapú operációs rendszer Intel® (x86 és Itanium®), AMD64, Alpha™, Sun UltraSPARC® számítógépekre. Jelenleg is portolás alatt áll további architektúrákra. Olvashatunk a FreeBSD történetéről vagy éppen az aktuális kiadásáról. Ha szeretnénk hozzájárulni a Projekt fejlődéséhez (forráskód, hardver vagy pénz), olvassuk el a Hozzájárulás a FreeBSD-hez című cikket (angolul).

1.2.1. Mire képes a FreeBSD?

A FreeBSD számos figyelemre méltó tulajdonságot tudhat magáénak. Ezek közül néhány:

  • A preemptív ütemezés dinamikusan szabályozható prioritások segítségével biztosítja a számítógép felhasználók és alkalmazások közti finom és igazságos megosztását, akár a legnagyobb terhelés esetén is.

  • Többfelhasználós rendszerként lehetővé teszi, hogy sokan tudják a FreeBSD-t egyszerre többféle dologra is használni. Például, ez azt jelenti, hogy a rendszerhez csatlakoztatott különböző perifériák, mint például a nyomtatók és szalagos egységek, megfelelően szétoszthatóak a felhasználók között vagy éppen a hálózaton, és az egyes erőforrásokhoz a felhasználók vagy azok egy csoportja csak korlátozott módon férhetnek hozzájuk, elkerülve ezzel a rendszer számára létfontosságú erőforrások túlterhelését.

  • A TCP/IP hálózati protokoll gyors és megbízható implementációja, illetve a legfontosabb ipari szabványok, mint az SCTP, DHCP, NFS, NIS, PPP, SLIP, IPsec és IPv6 támogatása. Ezáltal egy FreeBSD-s számítógép könnyedén képes együttműködni más rendszerekkel vagy akár vállalati szerverként is üzemelni. Megbirkózik az NFS (Network File System, távoli állományelérés) és az elektronikus levelezés megszervezésével ugyanúgy, ahogy a vállalatunk internetes elvárásaival a WWW, FTP és forgalomirányítási protokollokon keresztül és tűzfal iránti (biztonsági) igényeivel is.

  • A memóriavédelem megvalósítása gondoskodik róla, hogy az alkalmazások (vagy a felhasználók) ne zavarják egymást. Az egyik alkalmazás összeomlása nincs kihatással a rendszerben futó összes többire.

  • A FreeBSD egy 32 bites operációs rendszer (az Alpha, Itanium®, AMD64 és UltraSPARC® architektúrákon pedig 64 bites), amelyet már a kezdetektől fogva annak terveztek.

  • A X Window System ipari szabványa (X11R7) alapján szolgáltatja a grafikus felhasználói felületet (GUI) bármelyik VGA-kártyán és monitoron, illetve annak teljes forráskódja is elérhető.

  • Bináris szintű kompatibilitás a Linuxra, SCO-ra, SVR4-re, BSDI-re és NetBSD-re készített programok nagy részével.

  • Futtatásra kész alkalmazások ezrei érhetőek el a FreeBSD port- és csomaggyűjteményében. Miért bújnánk az internetet értük, ha mindent egy helyen is megtalálhatunk?

  • További könnyen portolható alkalmazások ezrei állnak rendelkezésre az interneten. A FreeBSD forráskódja kompatibilis a legtöbb elterjedt kereskedelmi UNIX® rendszerével, aminek köszönhetően az alkalmazások nagy része csak kevés módosítást igényel a fordításhoz, már amennyiben erre egyáltalán szükség van.

  • Az igény szerinti lapozással működő virtuális memória és egyesített VM/puffer gyorsítótár úgy lett kialakítva, hogy hatékonyan kiszolgálja a nagyobb étvágyú alkalmazásokat, miközben a többi felhasználó számára továbbra is reakcióképes marad.

  • Az SMP támogatása a több processzorral rendelkező számítógépek számára.

  • C, C++ és Fortran fejlesztői eszközök széles tárháza használható. Kutatáshoz és fejlesztéshez más egyéb programozási nyelvek is elérhetőek a portok és csomagok segítségével.

  • Az egész rendszer forráskódjának megléte lehetővé teszi, hogy a legnagyobb fokú irányítást élvezhessük a környezetünk felett. Miért is bíznánk magunkat egy zárt rendszert fejlesztő cégre, mikor lehetne egy igazán nyílt rendszerünk?

  • Nagy mennyiségű internetes dokumentáció.

  • Még sok minden más!

A FreeBSD Kaliforniai Egyetem (Berkeley) Számítógépes rendszerek kutatócsoportja által fejlesztett 4.4BSD-Lite kiadásán alapszik és ápolja a BSD-rendszerek fejlesztésének jellegzetes hagyományait. Túl a kutatócsoport kivételes munkáján, a FreeBSD Projekt több ezernyi órát szentelt arra, hogy a legtöbbet hozza ki a rendszerből mind a teljesítményt, mind pedig a valós életben felbukkanó terhelési helyezetekben történő helytállást illetően. Ahogy a legnagyobb piaci óriások igyekeznek egy hasonló képességű, teljesítményű és megbízhatóságó PC-s operációs rendszert kifejleszteni, úgy a FreeBSD már most felajánlja ezeket!

Kizárólag csak a képzeletünk szabhat gátat annak, hogy mire is tudjuk használni a FreeBSD-t. Szoftverfejlesztéstől kezdve, a gyári automatizáláson és készletnyilvántartáson át a műholdas antennák tájolásáig szinte mindenre: ha ezt eddig egy kereskedelmi UNIX®-szal is meg tudtuk tenni, akkor nagyon valószínű, hogy a FreeBSD-vel is képesek leszünk erre! A FreeBSD ezen felül nagyban profitál a világban található különböző kutatóközpontok és egyetemek által fejlesztett, kiváló minőségű alkalmazások ezreiből, melyek gyakorta olcsón vagy ingyen elérhetőek. Kereskedelmi alkalmazások is egyre nagyobb számban képviseltetik magukat minden nap.

Mivel a FreeBSD forráskódja általánosan elérhető, a rendszer szinte tetszőleges mértékben testreszabható a különleges elvárásokat támasztó alkalmazások vagy projektek számára. Ez a nagyobb kereskedelmi fejlesztők operációs rendszereivel majdnem teljesen elképzelhetetlen. Íme csupán néhány példája azon alkalmazásoknak, melyek jelenleg is FreeBSD-t használnak:

  • Internetes szolgáltatások: A FreeBSD-be épített szilárd TCP/IP alapú hálózatkezelés különféle internetes szolgáltatások számára teszi ideális platformmá:

    • FTP szerverek

    • World Wide Web szerverek (hagyományos vagy biztonságos [SSL])

    • IPv4 és IPv6 forgalomirányítás

    • Tűzfalak és NAT (IP maszkolás), átjárók

    • Elektronikus levelező szerverek

    • USENET hírrendszer és üzenőfal

    • Sok minden más...

    A FreeBSD használatához kezdetben elegendő egy olcsó 386-os PC, melyet a vállalkozásunk fejlődésével szépen fel tudunk hozni egy RAID-del ellátott négyprocesszoros Xeon rendszerig.

  • Oktatás: Esetleg informatikával vagy műszaki informatikával foglalkozik? Nem is lehetne jobban a FreeBSD által felkínált élményeken kívül máshogy megismerkedni elsőkézből az operációs rendszerek, számítógépes architektúrák és hálózatok működésével! Rengeteg szabadon használható műszaki, matematikai és grafikai tervező programcsomag könnyíti meg azok munkáját is, akik számára a számítógép legfőképpen más feladatok elvégzésére hivatott!

  • Kutatás: Miután a teljes FreeBSD rendszer forráskódja bárki számára elérhető, tökéletes kiindulási pontot ad az operációs rendszerek témakörében vagy a számítástudomány egyéb ágaiban végzendő kutatásokhoz. A FreeBSD nyílt természete ezenkívül lehetővé teszi egymástól távol levő csoportok közös együttműködését is anélkül, hogy a résztvevőknek aggódnia kellene a különleges licencszerződések vagy a nyílt fórumokon felmerülő korlátozások miatt.

  • Hálózatépítés: Szüksége van egy új útválasztóra? Esetleg egy névszerverre (DNS)? Egy tűzfalra, mely távoltartja a nemkívánatos egyéneket a belső hálózattól? A FreeBSD pillanatok alatt átváltoztatja a sarokban porosodó 386-os vagy 486-os PC-nket egy kifinomult csomagszűrési képességekkel bíró forgalomirányító eszközzé.

  • X Window munkaállomás: A FreeBSD a szabadon használható X11 szerverrel együtt remek választás egy olcsó X terminál kiépítéséhez. Eltérően egy szokványos X termináltól, a FreeBSD azonban igény szerint sok alkalmazás helyi futtatását is képes megoldani, ezzel megszabadítva minket a központi szerver használatának kényszerétől. A FreeBSD viszont akár lemez nélkül is el tud indulni, aminek révén az egyes munkaállomások karbantartása még olcsóbbá és könnyebbé válik.

  • Szoftverfejlesztés: Az alap FreeBSD rendszer fejlesztőeszközök tömkelegével, többek közt a híres GNU C/C++ fordítóval és nyomkövetővel érkezik.

A FreeBSD CD-n, DVD-n és FTP-n keresztül elérhető forráskód és bináris formátumban is. A FreeBSD beszerzésével kapcsolatos bővebb információkért olvassuk el az A. függelék - A FreeBSD beszerzéseet.

1.2.2. Ki használja a FreeBSD-t?

A FreeBSD egyaránt remek eszköz- és termékfejlesztői platformként funkcionál a világ legnagyobb informatikai cégeinél, többek közt:

A FreeBSD mindezek mellett több nagyobb internetes oldal alapját képzi, mint például:

és még sokan mások.

1.3. A FreeBSD Projektről

A most következő rész egy-két háttérinformációt tár fel a Projektről, többek között a történetét, céljait és a benne alkalmazott fejlesztési modellt.

1.3.1. A FreeBSD rövid története

Írta: Hubbard, Jordan.

A FreeBSD Projekt valamikor 1993 kezdetéről eredeztethető, és részben a Nem hivatalos 386BSD Patchkit-ből nőtt ki, a patchkit 3 legutolsó koordinátorának, Nate Williamsnek, Rod Grimesnak és nekem köszönhetően.

Eredeti célunk a 386BSD köztes állapotainak rögzítése lett volna, amitől olyan problémák megoldását reméltük, melyeket a patchkitek gyártása önmagában egyszerűen nem tudott megoldani. Néhányan még talán emlékeznek is a Projekt kezdeti munkaneveire: 386BSD 0.5 vagy 386BSD Interim, melyek pontosan erre a tényre hivatkoztak.

A 386BSD eredetileg Bill Jolitz operációs rendszere volt, amely ennél a pontnál már közel egy éve senki sem tartott karban. Mivel a hozzá tartozó patchkit pedig napról napra duzzadt, egyre kényelmetlenebbé vált a karbantartása. Ezért egyhangúan úgy döntöttünk, segítünk Billnek azzal, hogy időnként létrehozunk egy letisztított változatot. Ez a próbálkozásunk csúnyán kudarcba fulladt, amikor Bill Jolitz hirtelen meggondolta magát és visszalépett a Projekt támogatásától. Semmilyen egyértelmű útmutatást nem adott arra, hogy mit csináljunk helyette.

Nem tartott sokáig eldöntenünk, hogy ez a cél továbbra is megéri a fáradtságot, még Bill segítsége nélkül is, ezért felvettük a FreeBSD nevet, melyet David Greenmannek köszönhetünk. Kezdeti feladatainkat a rendszer akkori felhasználóival tartott egyeztetések után állítottuk fel. Miután teljesen tisztán láthatóvá vált, hogy a Projekt a megvalósulás útján van, felvettem a kapcsolatot a Walnut Creek-kel, terjesztési mód után nézve azok számára, akik nem tudtak akkoriban könnyedén hozzáférni az internethez. A Walnut Creek nem csak támogatta a FreeBSD CD-n történő terjesztését, hanem még egy számítógépet és egy gyors internetkapcsolatot is a Projekt rendelkezésére bocsátott. A Walnut Creek szinte példátlan mértékű, egy akkoriban teljesen ismeretlen projektbe vetett hite nélkül nagyon nehezen lenne elképzelhető, hogy a FreeBSD olyan messzire és olyan gyorsan jutott volna el, ahol ma tart.

Az első CD-lemezen (és széles körben az interneten is megjelenő) változat a FreeBSD 1.0 volt, amely 1993 decemberében jelent meg. A Berkeley-ről származó 4.3BSD-Lite (Net/2) szalagokon található források alapján készült, kiegészítve a 386BSD-ből és a Szabad Szoftver Alapítványtól (Free Software Foundation, FSF) származó komponensekkel. Első kiadásként igen méltányos sikert könyvelhetett el, melyet a még inkább sikeres FreeBSD 1.1-gyel folytattunk 1994 májusában.

Nagyjából ekkortájt néhány váratlan sötét felhő bukkant fel az égbolton, ahogy a Novell és a Berkeley hosszantartó pereskedése lezárult a Berkeley Net/2 szalagjainak jogi formáját illetően. Ennek eredményeképpen a Berkeley elfogadta, hogy a Net/2 nagy része jelzáloggal terhelt és a Novell tulajdona, aki pedig valamivel korábban az AT&T-től szerezte. Ezért cserébe a Berkeley megkapta a Novell áldását a 4.4BSD-Lite kiadásra, és amikor az véglesen kijön, megszűnik a rajta levő jelzálog. Emiatt az összes Net/2 felhasználónak erősen javasolt volt váltani. Ez érintette magát a FreeBSD-t is, és így a Projekt 1994 júliusáig kapott határidőt, hogy leállítsa a Net/2 alapú termékeinek szállítását. A megegyezés értelmében a Projekt kiadhatott még egy utolsó kiadást a határidő előtt, amely végül a FreeBSD 1.1.5.1 lett.

A FreeBSD-nek ekkor szembesülnie kellett azzal a nehéz feladattal, hogy lényegében újra fel kellett találnia magát, a teljesen új és meglehetősen hiányos 4.4BSD-Lite bitjeitől elindulva. A Lite (egyszerűsített) kiadások abban az értelemben számítottak egyszerűbbnek, hogy a Berkeley kutatói (a különböző jogi követelések miatt) eltávolították a ténylegesen beindítható rendszerhez szükséges programrészek nagyobb részét, ill. a 4.4-es verzió Intel processzorokra készített portja nagyon is befejezetlen volt. A Projektnek egészen 1994 novemberéig tartott, hogy megtegye ezt a lépést, ugyanis ekkor jelent meg a FreeBSD 2.0 az interneten és (december vége felé) CD-n. Annak ellenére, hogy még némileg érdes maradt bizonyos helyeken, ez a kiadás jelentős sikereket ért el. Ezt követte 1995 júniusában a sokkalta stabilabb és könnyebben telepíthető FreeBSD 2.0.5.

A FreeBSD 2.1.5-öt 1996 augusztusában adtuk ki, mely akkora népszerűségnek örvendett az internet-szolgáltatók és kereskedelmi közösségek körében, hogy a 2.1-STABLE elágazásból egy újabb kiadást készítettünk. Ez volt a FreeBSD 2.1.7.1, amely 1997 februárjában jelent meg és ezzel együtt a 2.1-STABLE fejlesztését is zárta. Most már csak karbantartást végzünk rajta, és csak a biztonsági és egyéb kritikus hibajavítások kerülnek bele (RELENG_2_1_0).

A FreeBSD 2.2 fejlesztése 1996 novemberében ágazott le az akkori fejlesztői (-CURRENT) ágból, mint a RELENG_2_2-es ág. Ebből az első teljes kiadás (2.2.1) 1997 áprilisában jelent meg. A 2.2-es ág mentén további kiadások 1997 nyarán és őszén készültek, melyek közül az utolsó (2.2.8) 1998 novemberében jelent meg. Az első hivatalos 3.0-ás kiadás 1998 októberében jött ki, ami egyúttal a 2.2-es ág befejezésének kezdetét jelentette.

A fejlesztési fa 1999. január 20-án került ismét elágaztatásra, melynek eredménye a 4.0-CURRENT és 3.X-STABLE ágak lettek. A 3.X-STABLE ágban a 3.1 1999. február 15-én, a 3.2 1999. május 15-én, a 3.3 1999. szeptember 16-án, a 3.4 1999. december 20-án és a 3.5 2000. június 24-én jelent meg, melyet pár nappal később egy kisebb alverzió, a 3.5.1 követett, a Kerberosra vonatkozó friss biztonsági javításokkal. Ez lett egyben a 3.X ág utolsó kiadása.

Egy másik fontos elágaztatás 2000. március 13-án történt, mellyel életre kelt a 4.X-STABLE ág. Ebből aztán számos kiadás született: a 4.0-RELEASE 2000 márciusában mutatkozott be, az utolsó 4.11-RELEASE pedig 2005 januárjában látott napvilágot.

A várva várt 5.0-RELEASE 2003. január 19-én került bejelentésre. Közel háromévnyi munka eredményeképpen ez a kiadás indította meg a FreeBSD-t a többprocesszoros rendszerek és az alkalmazások szálkezelésének fejlettebb támogatásának útján, valamint az UltraSPARC® és ia64 platformok támogatása is itt jelent meg először. Ezt a kiadást az 5.1 követte 2003 júniusában. A hozzá tartozó -CURRENT ágból az utolsó kiadás az 5.2.1-RELEASE volt, amely 2004 februárjában mutatkozott be.

A 2004 augusztusában, a RELENG_5 ág létrehozását a 5.3-RELEASE követte, és egyben a 5-STABLE ág kezdetét is jelezte. A legújabb 5.5-RELEASE 2006 májusában jött ki. A RELENG_5 ágból már nem fog készülni több kiadás.

A fejlesztési fa ezután 2005 júliusában ágazott el ismét, ezúttal a RELENG_6 ágnak adott életet. A 6.0-RELEASE az 6.X ág első kiadásaként 2005 novemberében jelent meg. A legújabb 6.4-RELEASE 2008 november hónapjában jelentkezett. A RELENG_6 ágból már nem készülnek további kiadások.

A RELENG_7 ág 2007 októberében jött létre. Ebből az első kiadás 2008 februárjában a 7.0-RELEASE volt. A legfrissebb 7.3-RELEASE kiadás 2010 március hónapban készült el. A RELENG_7 ágból további kiadások is várhatóak.

A fejlesztési fából 2009 augusztusában ismét levált egy ág, amely ezúttal a RELENG_8 volt. A 8.0-RELEASE, a 8.X ág első kiadása 2009 novemberében jelent meg. A legfrissebb 8.1-RELEASE 2010 július hónapban jött ki. A RELENG_8 ágból várhatóak további kiadások.

Jelen pillanatban a hosszabb távú fejlesztések a 9.X-CURRENT (törzs) ágban kapnak helyet, és a 9.X-ből készült időközönkénti pillanatkiadások folyamatosan elérhetőek CD-n (és természetesen interneten keresztül is) a pillanatkiadásokat tároló szerverről.

1.3.2. A FreeBSD Projekt céljai

Írta: Hubbard, Jordan.

A FreeBSD Projekt célja, hogy olyan szoftvereket kínáljon, amelyek tetszőlegesen, bármilyen célra felhasználhatóak, mindenféle megkötések nélkül. Sokunk jelentős energiát fektet a programokba (és a Projektbe) és minden bizonnyal egyikünk sem utasítana vissza semmilyen anyagi ellenszolgáltatást se most, se később, de egyáltalán nem ragaszkodunk hozzá. Hisszük, hogy elsődleges küldetésünk olyan programok és programrészletek készítése bárki számára és bármilyen célra, melyeket a lehető legszélesebb körben alkalmaznak és a lehető legtöbb hasznot hajtják. Ez, úgy érzem, az egyik legalapvetőbb célja a szabad szoftvereknek, és ez az, amit mi is lelkesen magunkénak vallunk.

A forrásfánkban található GNU General Public License (GPL) vagy a Library General Public License (LGPL) alá eső kódok hozzáférhetőségére ezzel szemben némileg több megszorítás vonatkozik, legalább is inkább ami a hozzáférhetőséget illeti. Mivel a GPL-es szoftverek kereskedelmi használata további bonyodalmakat vethet fel, ha lehetőségünk adódik rá, inkább a sokkal enyhébb BSD licenccel rendelkező szoftvereket választjuk.

1.3.3. A FreeBSD fejlesztési modellje

Írta: Asami, Satoshi.

A FreeBSD fejlesztése egy nagyon nyitott és rugalmas folyamat, szó szerint a világ minden tájáról érkező többszáznyi segítségből építkezik, ahogy az látható is a résztvevőink listáján. A FreeBSD fejlesztési infrastruktúrája lehetővé teszi, hogy ez a többszáznyi résztvevő az interneten keresztül működjön együtt. Folyamatosan várjuk az új fejlesztőket és ötleteket, és mindazok, akik komolyabban érdeklődnek a Projekt iránt, egyszerűen felvehetik velünk a kapcsolatot a FreeBSD technical discussions levelezési lista címén. Egy FreeBSD announcements levelezési lista is elérhető azok számára, akik értesíteni kívánják a többi FreeBSD felhasználót munkájuk főbb eredményeiről.

A FreeBSD Projektről és annak fejlesztési modelljéről hasznos tudni az alábbiakat, függetlenül attól, hogy egyedül vagy másokkal szoros együttműködésben dolgozunk:

Az SVN és CVS repositoryk

Sok éven keresztül a FreeBSD központi forrásfáját CVS-en (Concurrent Versions System) keresztül tartották karban, amely egy, a FreeBSD-vel is érkező, szabadon elérhető verziókezelő rendszer. 2008 júniusában a Projekt az SVN (Subversion) használatára váltott. Ez a váltás szükségszerű volt, mivel a CVS által okozott technikai nehézségek gyorsan előjöttek a forrásfa és a hozzá tartozó metainformációk szapora növekedésével. Noha a központi repository most már SVN-alapú, a kliensoldali CVSup és csup alkalmazások továbbra is a korábbi infrastruktúrával dolgoznak, ahogy eddig is — az SVN respositoryban végzett változtatások ehhez automatikusan átkerülnek CVS alá. Jelen pillanatban egyedül csak a központi forrásfa használja ezt a megoldást, a dokumentáció, a weboldalak és a Portgyűjtemény forrásai továbbra is CVS alól üzemelnek. Az elsődleges CVS repository egy Santa Clara-i (California, USA) számítógépen található, ahonnan a világban található rengeteg tükörszerverre másolódik. Az SVN-fa, mely tartalmazza a -CURRENT és -STABLE ágakat, könnyen lemásolható a saját számítógépünkre is. Ennek részleteiről bővebben a A forrásfa szinkronizálása c. szakaszban olvashatunk.

A committerek listája

A hivatalos fejlesztők (committerek) azok az emberek, akik a CVS-fához írási joggal rendelkeznek, tehát módosítást hajthatnak végre a FreeBSD forrásaiban (a committer kifejezés a cvs(1) commit parancsából származik, amelyet arra használunk, hogy felvigyük a módosításainkat a CVS repository-ba). Javaslatainkat legjobban a send-pr(1) használatával tudjuk a committerek elé tárni. Ha valamiért ez mégsem működne, megpróbálhatjuk őket elérni közvetlenül a FreeBSD committer's mailing list címére küldött e-maillel.

A FreeBSD Core Team

Ha a FreeBSD Projekt egy vállalat lenne, akkor a FreeBSD Core Teamje (irányító csoportja) foglalná magában a vezetőséget. Ennek a csoportnak elsődleges feladata, hogy fenntartsa a Projekt egészének kondícióját és gondoskodjon róla, hogy a megfelelő irányba haladjon. Az irányító csoportnak ugyanígy feladata a megbízható és odaadó committerek tömörítése és az új tagok beszervezése, ha a csoportból kilépne valaki. A jelenlegi Core Team tagjait 2008 júliusában választották meg. A választásokat kétévente tartják.

Ebben a csoportban egyes tagoknak ezenfelül még bizonyos területekre felügyelniük is kell. Ez azt jelenti, hogy felelősek a rendszer valamelyik nagyobb részének az előírásoknak megfelelő működéséért. A FreeBSD fejlesztők teljes felsorolása és a hozzájuk tartozó területek megtalálhatóak A résztvevők listjában.

Megjegyzés:

A Core Team legtöbb tagja pusztán önkéntesen vesz részt a FreeBSD fejlesztésében és nem származik a projektből semmilyen anyagi haszna. Emiatt a részvétel nem tévesztendő össze a garantált támogatással. A vezetőségre vonatkozó hasonlat nem teljesen pontos abban az értelemben, hogy ezek az emberek tulajdonképpen egy kívülálló szempontjából ésszerűtlen döntést hoztak azzal, hogy a FreeBSD támogatására áldozták az életüket!

Külső résztvevők

Végül, de nem utoljára, következzen a fejlesztők legnagyobb csoportja: ők maguk a felhasználók, akik rendszeres visszajelzéseket és hibajavításokat küldenek. A FreeBSD kevésbé központosított fejlesztésében elsősorban a FreeBSD technical discussions levelezési lista segítségével lehet felvenni a fonalat, ahol ezeket a témákat tárgyalják meg. A FreeBSD-hez kapcsolódó különféle levelezési listákról többet a C. függelék - Források az internetenben olvashatunk.

A FreeBSD résztvevőinek listája hosszú és még most is növekszik; miért nem próbálunk mi is visszaadni valamit a FreeBSD-nek?

Nem csak programozással lehet segíteni a Projektet: a megoldandó feladatok listáját megtalálhatjuk a FreeBSD Projekt honlapján.

Röviden összefoglalva, a fejlesztési modellünk egymáshoz lazán kapcsolódó koncentrikus körökként szerveződik. Ez a központosított modell a FreeBSD-felhasználók kényelmét szolgálandó lett kialakítva, akik így könnyedén tudnak követni egyetlen központi kódbázist, azonban megvan a lehetőségük a részvételre is! Minden vágyunk egy olyan megbízható operációs rendszer kialakítása, amihez nagy mennyiségű könnyen telepíthető és használható alkalmazás tartozik — ez a modell ennek elérésére nagyon is megfelelő.

A haladás ütemének fenntartása érdekében mindössze csak annyit kérünk a leendő FreeBSD fejlesztőinktől, hogy legyenek legalább annyira elszántak, mint a jelenlegi tagjaink!

1.3.4. Az aktuális FreeBSD kiadások

A FreeBSD egy szabadon elérhető, teljes forráskóddal érkező 4.4BSD-Lite alapú kiadás Intel i386™, i486™, Pentium®, Pentium® Pro, Celeron®, Pentium® II, Pentium® III, Pentium® 4 (vagy azzal kompatibilis), Xeon™, DEC Alpha™ és Sun UltraSPARC® alapú számítógépekre. Elsősorban a Berkeley Számítógépes rendszerek kutatócsoportjának szoftverein alapszik, számos javítással a NetBSD, OpenBSD, 386BSD és a Szabad Szoftver Alapítvány munkásságának köszönhetően.

A FreeBSD 2.0 1994 végi megjelenése óta a FreeBSD teljesítménye, megbízhatósága és tudása drasztikusan megnövekedett. A legnagyobb változtatás az újjáalakított, összevont VM/állomány puffer gyorsítótárral rendelkező virtuális memória alrendszer, amely nem csak a teljesítményt növeli, hanem csökkenti a FreeBSD memóriaigényét is, jobban elfogadhatóvá téve ezzel az 5 MB-os minimumot. A további fejlesztések között találjuk a teljes NIS szerver és kliens támogatást, az átviteli TCP támogatását, az igény szerint tárcsázó PPP-t, a beépített DHCP támogatást, a továbbfejlesztett SCSI alrendszert, az ISDN támogatást, az ATM, FDDI, Fast és Gigabit Ethernet (1000 Mbit) hálózati csatolók támogatását, a legfrissebb Adaptec gyártmányú vezérlők fejlesztett támogatását és a többezernyi hibajavítást.

Az alapeszközök mellé a FreeBSD felkínálja többezernyi ismert és keresett program portjaiból álló gyűjteményét. Ebben a pillanatban is már több, mint 20 000 port érhető el! A portok listája a HTTP (WWW) szerverektől, a játékokon, nyelveken és sok mindenen keresztül a szövegszerkesztőkig terjed. Az egész Portgyűjtemény közelítőleg 417 MB tárhelyet kíván, minden portot az eredeti forráshoz viszonyított különbségként tárol. Ennek következtében a portok frissítése sokkal könnyebb és nagyban csökkenti a korábbi, 1.0-ás Portgyűjteménynél kialakult tárigényeket. Egy port lefordításához egyszerűen csak be kell lépnünk a telepíteni kívánt program könyvtárába és ki kell adnunk a make install parancsot, a többit a rendszer elvégzi. Minden egyes telepítendő port teljes forrása dinamikusan vagy CD-ről vagy pedig FTP-n keresztül töltődik le, így csak a ténylegesen telepítendők lefordításához elegendő tárhelyre van szükség. Majdnem mindegyik port elérhető előre lefordított csomag formájában azok számára, akik nem kívánják lefordítani a portokat, és melyeket egy egyszerű parancs (pkg_add) segítségével telepíteni is tudják. A csomagokról és portokról a 4. fejezet - Alkalmazások telepítése: csomagok és portokben tudhatunk meg többet.

A FreeBSD telepítéséről és használatáról most már számos további nagyon hasznos dokumentumot találhatunk bármelyik FreeBSD-s számítógép /usr/share/doc könyvtárában. A helyileg telepített kézikönyveket bármilyen HTML-t megjeleníteni képes böngészővel el tudjuk olvasni az alábbi URL-eken:

Az aktuális (leginkább frissített) verziók megtekinthetőek a http://www.FreeBSD.org/ címen.

2. fejezet - A FreeBSD telepítése

Átszervezte, átrendezte és egyes részeit átdolgozta: Mock, Jim.
A sysinstall bemutatása, ábrái és bemásolása: Pratt, Randy.

2.1. Áttekintés

A FreeBSD telepítéséhez egy könnyen használható szöveges telepítőprogram, a sysinstall használható. Ez a FreeBSD alapértelmezett telepítőprogramja, habár ezt a különféle gyártók kedvük szerint lecserélhetik. Ebben a fejezetben bemutatjuk a FreeBSD sysinstall segítségével történő telepítését.

A fejezet elolvasása során megismerjük:

  • hogyan készítsünk telepítőlemezeket a FreeBSD-hez;

  • a FreeBSD miként hivatkozza és osztja fel a merevlemezeinket;

  • hogyan indítsuk el a sysinstall programot;

  • milyen kérdéseket tesz fel nekünk a sysinstall, mire gondol, hogyan is kell azokat megválaszolni.

A fejezet elolvasásához ajánlott:

  • a telepítendő FreeBSD verzióhoz tartozó támogatott hardvereket felsoroló lista átolvasása és benne a saját hardvereszközeink megkeresése.

Megjegyzés:

Általánosan elmondható, hogy a most következő telepítési utasítások az i386™ (PC kompatibilis) architektúrájú számítógépekre vonatkoznak. Ahol erre szükség van, ott más platformokra vonatkozó utasítások is szerepelhetnek. Habár ezt a leírás igyekszünk a lehető legjobban naprakészen tartani, elképzelhető, hogy felfedezhetünk kisebb eltéréseket a telepítőben és az itt leírtak közt. Ezért ezt a fejezetet inkább egy általános útmutatónak javasoljuk, nem pedig egy szó szerint értelmezendő kézikönyvként.

2.2. Hardverkövetelmények

2.2.1. Minimális konfiguráció

A FreeBSD telepítéséhez szükséges minimális konfiguráció FreeBSD verziónként és architektúránként eltérő.

A minimális konfigurációt a FreeBSD honlapján a kiadásokról szóló oldalon, az Installation Notes részben találhatjuk meg. Ezt a következő szakaszokban foglaljuk össze. A FreeBSD telepítésének módszerétől függően szükségünk lehet egy hajlékonylemezes (floppy) vagy CD-ROM meghajtóra, esetleg egy hálózati kártyára. Ezt a 2.3.7. szakasz - Készítsünk egy rendszerindító lemeztban tárgyaljuk.

2.2.1.1. FreeBSD/i386 és FreeBSD/pc98

A FreeBSD/i386 és FreeBSD/pc98 egyaránt egy 486 vagy jobb processzort és legalább 24 MB memóriát igényel. A legkisebb telepítéshez legalább 150 MB szabad lemezterület szükséges.

Megjegyzés:

Régebbi konfigurációk esetén nem egy gyorsabb processzor, hanem inkább több memória beszerzése, illetve több lemezterület felszabadítása a fontosabb.

2.2.1.2. FreeBSD/alpha

Megjegyzés:

Az Alpha támogatás a FreeBSD 7.0 beindulásával eltávolításra került. A FreeBSD 6.X sorozat az utolsó, amely valamilyen támogatást ajánl ehhez az architektúrához. Ezzel kapcsolatban részletesebben a kiadásokkal kapcsolatos információkat tartalmazó oldalon olvashatunk a FreeBSD honlapján.

2.2.1.3. FreeBSD/amd64

Két típusú processzor képes futtatni a FreeBSD/amd64 verzióját. Az első ezek közül az AMD64 processzorok, beleértve az AMD Athlon™64, AMD Athlon™64-FX, AMD Opteron™ vagy újabb processzorokat.

A FreeBSD/amd64 verzióját kihasználni képes processzorok másik csoportja az Intel® EM64T architektúrájára épülő processzorok. Ilyen processzor például az Intel® Core™ 2 Duo, Quad és Extreme processzorcsaládok, valamint az Intel® Xeon™ 3000, 5000 és 7000 sorozatszámú processzorai.

Ha nVidia nForce3 Pro-150 alapú géppel rendelkezünk, ki kell kapcsolnunk a BIOS-ban az IO APIC használatát. Ha nem találnánk ilyen beállítást, akkor helyette magát az ACPI-t kell kikapcsolnunk. A Pro-150 chipsetnek vannak bizonyos hibái, amelyekre eddig még nem sikerült megfelelő megoldást találnunk.

2.2.1.4. FreeBSD/sparc64

A FreeBSD/sparc64 telepítéséhez egy támogatott platformra van szükségünk (lásd: 2.2.2. szakasz - Támogatott hardverek).

A FreeBSD/sparc64 telepítéséhez egy egész lemezre lesz szükségünk, mivel a rendszer jelenleg nem képes megosztani azt más operációs rendszerekkel.

2.2.2. Támogatott hardverek

A FreeBSD minden kiadásához mellékelik a támogatott hardverek listáját FreeBSD Hardware Notes címmel. Ez a dokumentum többnyire a HARDWARE.TXT nevű állomány, amelyet a rendszer CD-n vagy FTP-n keresztül elérhető változatának gyökerében vagy a sysinstall dokumentációkat tartalmazó menüjében találhatunk meg.

2.3. A telepítés előtt elvégzendő feladatok

2.3.1. Készítsünk leltárt a számítógépünkről

A FreeBSD telepítése előtt érdemes összeszedni, pontosan mi minden is található a számítógépünkben. A FreeBSD telepítőrutinjai mutatni fogják a különböző komponensek (merevlemezek, hálózati kártyák, CD-meghajtók és a többi) modelljét és gyártóját. A FreeBSD ezenkívü megpróbálja kideríteni a megjelenő eszközök pontos konfigurációját is, beleértve a használt IRQ és IO portok kiosztását. A PC-s hardverek különféle szeszélyei miatt azonban ez az iménti folyamat nem minden esetben megbízható, ezért előfordulhat, hogy helyesbíteni kell a FreeBSD által megállapított értékeket.

Ha már van a gépünkön egy másik operációs rendszer, például Windows® vagy Linux®, akkor mindenképpen hasznos lehet az általa felkínált eszközökkel lekérdezni a hardvereink beállításait. Ha nem lennénk biztosak benne, hogy az adott bővítőkártyákat pontosan milyen beállításokkal is használjuk, nézzük meg ezeket magán a kártyán. A népszerű IRQ értékek általában a 3, 5 és 7, valamint az IO portok számát általában tizenhatos számrendszerben szerepeltetik, például 0x330.

Javasoljuk, hogy nyomtassuk ki vagy írjuk le ezeket a paramétereket a FreeBSD telepítése előtt. Ehhez rendezzük ezeket egy táblázatban, valahogy így:

2.1. táblázat - Példa egy eszközleltárra
Eszköz neveIRQIO portokMegjegyzés
Első merevlemez--Mérete 40 GB, gyártmánya Seagate, elsődleges IDE master
CD-ROM meghajtó--Elsődleges IDE slave
Második merevlemez--Mérete 20 GB, gyártmánya IBM, másodlagos IDE master
Első IDE vezérlő140x1f0 
Hálózati kártya--Intel® 10/100
Modem--3Com® 56K-s faxmodem, COM1
   

Ahogy elkészítettük a számítógépünk alkatrészeit tartalmazó listát, vessük ezeket össze a telepítendő FreeBSD kiadás által megkövetelt eszközökkel.

2.3.2. Mentsük le az adatainkat

Amennyiben a FreeBSD telepítéséhez használt számítógép számunkra értékes adatokat tárol, igyekezzünk lementeni ezeket, és a FreeBSD tényleges telepítése előtt győződjünk is meg róla, hogy a mentés sikeres volt. A FreeBSD telepítőrutinjai természetesen megerősítést fognak kérni bármilyen adat lemezre írása előtt, azonban ha egyszer már elindítottuk a folyamatot, már semmit sem tudunk visszafordítani.

2.3.3. Döntsük el a FreeBSD telepítésének helyét

Ha a FreeBSD telepítéséhez az egész merevlemezünket fel akarjuk használni, akkor még nincs miért izgatnunk magunkat — nyugodtan átléphetjük ezt a szakaszt.

Amikor viszont a FreeBSD-t más operációs rendszerek mellé szeretnénk telepíteni, ismernünk kell, miként is helyezkednek el az adatok a lemezeken, és hogy ez miként is érint bennünket.

2.3.3.1. A lemezek kiosztása a FreeBSD/i386 esetén

A PC-k által használt lemezek különálló darabokra tagolhatóak. Ezeket a darabokat partícióknak nevezzük. Mivel azonban a FreeBSD maga is tárol partíciókat, ezért ez az elnevezés pillanatok alatt megtévesztővé válhat, ezért ezeket a lemezdarabokat a FreeBSD lemezslice-oknak vagy egyszerűen csak slice-oknak hívja. Például a PC-s lemezpartíciókkal dolgozó, fdisk nevű FreeBSD-s segédprogram partíciók helyett is slice-okra hivatkozik. A PC lemezenként alapvetően csak négy partíciót enged meg. Ezeket a partíciókat nevezik elsődleges partícióknak. Ettől a korlátozástól egy új típus, a kiterjesztett partíció létrehozásával szabadultak meg, amivel így négynél több partíció is készíthető. Lemezenként egyetlen ilyen kiterjesztett partíció található, de ezen belül speciális, ún. logikai partíciók hozhatóak létre.

Minden partíciónak van egy partíció-azonosítója, melyet a partíción található adatok típusának megállapítására használnak. A FreeBSD partícióinak azonosítója a 165.

Általánosságban véve minden operációs rendszer így azonosítja a partíciókat. Például a DOS és annak leszármazottai, mint például a Windows®, minden elsődleges és logikai partícióhoz egy C:-től induló meghajtó-betűjelet társít.

A FreeBSD-t egy elsődleges partícióra kell telepíteni. A FreeBSD az összes adatát, beleértve minden általunk létrehozott állományt is, ezen az egyetlen partíción fogja elhelyezni. Ha viszont több lemezünk van, többen is, vagy akár mindegyiken létrehozhatunk FreeBSD-s partíciókat. A FreeBSD telepítésekor azonban legalább egy ilyen partíciónak használhatónak kell lennie. Ez lehet előre megtisztított üres partíciói is, vagy akár egy olyan partíció, amelyen már nem használt adatok vannak.

Ha már mindegyik partíciónk betelt, akkor a többi operációs rendszer által felkínált eszközök (például MS-DOS®-ban vagy Windows®-ban az fdisk) valamelyikével először fel kell közülük szabadítanunk egyet a FreeBSD számára.

Amennyiben akadna egy használható partíció, akkor használjuk azt. Ekkor azonban előfordulhat, hogy ehhez először a meglévők közül össze kell majd zsugorítanunk valamelyiket.

A FreeBSD legkisebb telepíthető változata nagyjából 100 MB lemezterületet igényel. Azonban ez egy nagyon kicsi változat és szinte semmi helyet nem hagy a saját állományainknak. Sokkal valósághűbb, ha grafikus felület nélkül nagyjából 250 MB-ot mondunk, és legalább 350 MB-ot a grafikus felület használata esetén. Ha ezeken felül további szoftvereket is telepíteni kívánunk, még több helyre lesz szükségünk.

Amikor a FreeBSD számára akarunk helyet csinálni, vagy partíciókat akarunk átméretezni, használjuk például a PartitionMagic® nevű kereskedelmi szoftvert, vagy esetleg egy olyan szabad szoftvert, mint például a GParted. Ismereteink szerint a PartitionMagic® és a GParted is használható az NTFS partíciókkal. A GParted számos live linuxos disztribúción megtalálható, ilyen többek közt a SystemRescueCD.

Gondok lehetnek azonban a Microsoft® Vista által használt partíciókkal. Ezért nem árt, ha az átméretezésekor a kezünk ügyében van a Vista telepítő CD-je. Természetesen, mint minden lemezkarbantási művelet esetén, ilyenkor is határozottan ajánlott biztonsági mentéseket készíteni.

Figyelem:

Az említett eszközök helytelen használata megsemmisítheti a lemezeinken tárolt adatokat, ezért a használatuk előtt gondoskodjunk friss, működőképes biztonsági mentésekről.

2.1. példa - Meglevő partíció használata a méret megváltoztatása nélkül

Tegyük fel, hogy a számítógépünkben egyetlen 4 GB méretű lemez van, amelyen megtalálható a Windows® valamelyik verziója, és ezt a lemezt korábban két, egyaránt 2 GB méretű meghajtóra osztottuk, a C:-re és D:-re. 1 GB adatunk van a C: meghajtón és fél GB a D:-n.

Mindez tehát azt jelenti, hogy a lemezünkön két partíció található, betűjelenként egy. Ha átmásoljuk a D: meghajtón levő adatainkat a C: meghajtóra, akkor ezzel felszabadíthatjuk a FreeBSD számára a második partíciót.


2.2. példa - Meglevő partíció zsugorítása

Tegyük fel, hogy a számítógépünkben egyetlen 4 GB méretű lemez van, amelyet teljes egészében a Windows® valamelyik példánya foglal el. A Windows® telepítése során ezért minden bizonnyal egyetlen nagy partíciót hoztunk létre, amely a C: betűjelet kapta és a mérete 4 GB. Jelen pillanatban másfél GB helyet használunk a lemezen, és szeretnénk a FreeBSD számára 2 GB helyet felszabadítani.

A FreeBSD telepítéséhez a következők valamelyikét kell tennünk:

  1. Mentsük le a Windows®-os adatainkat, telepítsük újra a Windows®-t úgy, hogy egy 2 GB méretű partíciót választunk neki a telepítése során.

  2. A partíció összezsugorítására használjuk az előbb említett alkalmazásokat, például a PartitionMagic®-et.


2.3.4. Szedjük össze a hálózati beállításainkat

Amennyiben a FreeBSD telepítésének részeként hálózatra is szándékozunk csatlakozni (például egy FTP vagy NFS szerverről akarunk telepíteni), ismernünk kell a hálózatra vonatkozó beállításainkat is. A telepítő rá fog kérdezni ezekre az információkra, amelyek megadása után a FreeBSD a telepítés befejezéséhez csatlakozni tud majd a hálózatra.

2.3.4.1. Csatlakozás Ethernet-hálózaton, kábel- vagy DSL-modemen keresztül

Ha egy Ethernet-hálózathoz, vagy magához az internethez csatlakozunk egy DSL- vagy kábelmodemen keresztül, akkor az alábbi adatokra lesz szükségünk:

  1. IP-cím

  2. Az alapértelmezett átjáró IP-címe

  3. A gépünk neve

  4. DNS (névfeloldó) szerverek IP-címei

  5. Hálózati maszk

Ha nem ismerjük ezeket, érdeklődjünk a rendszergazdától vagy a szolgáltatónktól. Elképzelhető az is, hogy mindezen információkat DHCP segítségével, automatikusan kapjuk meg. Ezt is mindenképpen jegyezzük fel.

2.3.4.2. Kapcsolódás modemmel

Ha az internet-szolgáltatónkhoz hagyományos modemen keresztül csatlakozunk, akkor is tudjuk telepíteni a FreeBSD-t interneten keresztül, azonban ez nagyon sokáig tarthat.

Ehhez tudnunk kell:

  1. Az internet-szolgáltatónk behívószámát

  2. A soros (COM) port számát, amelyen keresztül a modem kapcsolódik a gépünkhöz

  3. Az internet-szolgáltatónktól kapott felhasználói nevet és jelszót

2.3.5. Olvassuk el FreeBSD hibajegyzékét

Habár a FreeBSD Projekt igyekszik a FreeBSD minden egyes kiadását a lehető legmegbízhatóbban felkészíteni, hibák óhatatlanul is maradnak bennük. Nagyon ritka esetekben ezek a hibák magára a telepítés folyamatára is kihathatnak. Amint ezeket a problémákat sikerül felderíteni és javítani, rögvest megjelennek a FreeBSD honlapján található hibajegyzékben (angolul). A telepítés előtt ezért mindig ajánlott átolvasni ezt a dokumentumot, így megbizonyosodunk róla, hogy semmilyen utólag felmerült probléma nem akadályozza munkánkat.

Az összes kiadáshoz tartozó információ, beleértve az egyes kiadások hibajegyzékeit is, a FreeBSD honlapjáról a kiadásokra vonatkozó információkat tartalmazó részen érhető el (angolul).

2.3.6. Szerezzük be a FreeBSD telepítéséhez szükséges állományokat

A FreeBSD telepítése az alábbi helyek bármelyikén megtalálható állományok felhasználásával történik:

Lokálisan:
  • CD vagy DVD

  • Ugyanazon a számítógépen levő MS-DOS® partíció

  • Pendrive (USB-flash-tároló)

  • SCSI- vagy QIC-szalag

  • Floppylemezek

Hálózaton keresztül:
  • FTP oldalról, tűzfalon keresztül vagy szükség szerint HTTP proxy használatával

  • NFS szerverről

  • Párhuzamos vagy soros vonali kapcsolaton keresztül

Ha megvásároltuk a FreeBSD telepítő CD-jét vagy DVD-jét, akkor már mindennel rendelkezünk a telepítéshez. Lépjünk bátran tovább a következő szakaszra (2.3.7. szakasz - Készítsünk egy rendszerindító lemezt)!

Ha eddig még nem szereztük volna be a FreeBSD telepítéséhez szükséges állományokat, ugorjunk a 2.13. szakasz - Saját telepítőeszköz elkészítésehoz, ahol megtudhatjuk, hogyan készítsük elő a FreeBSD telepítését az imént felsorolt helyzetekben. A szakasz elolvasása után pedig jöjjünk vissza ide, majd folytassuk az olvasást a 2.3.7. szakasz - Készítsünk egy rendszerindító lemeztban.

2.3.7. Készítsünk egy rendszerindító lemezt

A FreeBSD telepítése úgy kezdődik, hogy a számítógépünkkel a FreeBSD telepítőjét indítjuk el — ez viszont nem egy olyan program, amit más operációs rendszerben el tudunk indítani. A számítógépünk általában a merevlemezünkre telepített operációs rendszert indítja el, azonban beállítható úgy is, hogy az indulásához egy ún. rendszerindító (bootolható) floppy lemezt használjon. Napjaink számítógépei azonban a CD-meghajtóban levő CD-kről vagy USB lemezről is el tudnak indulni.

Tipp:

Ha CD-n vagy DVD-n megvan a FreeBSD telepítője (akár megvettük, akár éppen magunk készítettük) és a számítógépünk tud CD-ről vagy DVD-ről rendszert indítani (a BIOS-ban van egy Boot Order vagy hozzá hasonló nevű beállítás), akkor kihagyhatjuk ezt a szakaszt. A FreeBSD CD- és DVD image-ek kiírásával egy rendszerindításra alkalmas lemezt kapunk, amiről minden további előkészület nélkül telepíthetünk.

Rendszerindításra alkalmas pendrive-ot az alábbi lépések mentén tudunk készíteni:

  1. Az image állomány letöltése

    A pendrive-okhoz készült image állományok a ISO-IMAGES/ könyvtárból tölthetőek le, ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/architektúra/ISO-IMAGES/verzió/FreeBSD-8.1-RELEASE-architektúra-memstick.img néven. Az architektúra és verzió helyére a telepítendő architektúrát és verziószámot helyettesítsük be. Ennek megfelelően tehát például a FreeBSD/i386 8.1-RELEASE változata a ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/i386/ISO-IMAGES/8.1/FreeBSD-8.1-RELEASE-i386-memstick.img címről érhető el.

    A pendrive image .img kiterjesztéssel rendelkezik. A ISO-IMAGES/ könyvtár általában több különféle állományt tartalmaz, ezek közül kell választanunk a FreeBSD telepítendő változatának, és sok esetben a telepítéshez rendelkezésre álló hardver típusának megfelelően.

    Fontos:

    A következő lépés megkezdése előtt készítsünk biztonsági mentést a pendrive tartalmáról, mivel minden rajta levő adat törlődni fog.

  2. A pendrive előkészítése

    Figyelem:

    Az itt található példában a rendszerindításhoz és így a művelet végrehajtásához a /dev/da0 nevű eszközt fogjuk használni. Ezt ne felejtsük el helyettesíteni a rendszerünkön erre a célra használt eszköz nevével, máskülönben kárt tehetünk az adatainkban.

    A kern.geom.debugflags változó értékének megfelelő beállításával engedélyezzük a céleszközön a Master Boot Record írását.

    # sysctl kern.geom.debugflags=16
  3. Az image pendrive-ra írása

    Az .img kiterjesztésű állományt nem egyszerűen a pendrive-ra kell másolni, ez a lemez teljes tartalmát magában foglalja. Ennek megfelelően nem egyszerűen állományokat kell másolnunk az egyik lemezről a másikra. Helyette a dd(1) parancs segítségével írjuk az image állomány tartalmát közvetlenül a lemezre.

    # dd if=FreeBSD-8.1-RELEASE-i386-memstick.img of=/dev/da0 bs=64k

Rendszerindításra alkalmas floppy lemezt az alábbi lépések mentén tudunk készíteni:

  1. A rendszerindító lemezek image-einek beszerzése

    Fontos:

    A FreeBSD 8.0 kiadásától kezdődően megszűnik a floppy lemezek támogatása. Helyette telepítsünk pendrive-ról, amelyről fentebb olvashatunk, vagy egyszerűen használjunk CD-t vagy DVD-t.

    A rendszerindító lemezek a telepítőeszköz floppies/ könyvtárában találhatóak, illetve letölthetőek az ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/architektúra/változat-RELEASE/floppies/ helyről. Az architektúra és változat helyére természtesen írjuk be a telepíteni kívánt architektúrát és verziót. Így például a FreeBSD/i386 8.1-RELEASE rendszerindító lemezei az ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/i386/8.1-RELEASE/floppies/ címről érhetőek el.

    A floppyk image-ei .flp kiterjesztésűek. A floppies/ könyvtár számos különféle image-et tartalmaz, ezek közül leginkább a telepítendő FreeBSD változat, valamint emellett olykor konkrétan a hardver határozza meg a használandót. Az esetek túlnyomó részében négy floppyra lesz szükségünk: boot.flp, kern1.flp, kern2.flp és kern3.flp. A lemezek image-eit illető legfrissebb információkat ugyanazon a könyvtáron belül szereplő README.TXT állományban olvashatjuk (angolul).

    Fontos:

    Az FTP-hez használt programunkat az image-ek letöltése során ne felejtsük el bináris (binary) átviteli módban használni. Egyes böngészők hajlamosak ugyanis szöveges (text vagy ASCII) átviteli módot használni, ami viszont csak abból vehető észre, hogy nem tudjuk a lemezekről elindítani a rendszert.

  2. A floppyk előkészítése

    Mindegyik letöltendő image-hez elő kell készíteni egy-egy hajlékonylemezt. Nagyon fontos, hogy ezek a lemezek teljesen hibátlanok legyenek. Erről a legkönnyebben úgy győződhetünk meg, ha a lemezeket magunk formázzuk, és nem bízunk a különféle előreformázott (preformatted) floppykban. A Windows®-ban található formázó segédprogram sem árul el nekünk semmit a lemezeken található hibás részekről, egyszerűen csak rossznak (bad) jelöli meg és figyelmen kívül hagyja ezeket. Határozottan ajánljuk, hogy amennyiben a telepítésnek ezt a módját választjuk, mindig használjunk teljesen új floppykat.

    Fontos:

    Ha megpróbáljuk telepíteni a FreeBSD-t, és a telepítőprogram összeomlik, lefagy vagy bármilyen furcsaságot művel, elsőként mindenképpen a floppykra gyanakodhatunk. Ilyenkor írjuk ki az image-eket új lemezekre és próbálkozzunk újra a telepítéssel.

  3. Az image állományok írása a floppykra

    Az .flp kiterjesztésű állományok nem a lemezre másolható hagyományos állományok, hanem a lemezek teljes tartalmának képei, ezért ezeket egyszerűen nem másolhatjuk egyik lemezről a másikra. Az image-ek közvetlen lemezreírásához ehelyett kifejezetten erre a célra alkalmas eszközöket kell használnunk.

    Azok számára, akik a floppykat MS-DOS®/Windows® rendszerű számítógépeken kívánják elkészíteni, mellékeltünk egy fdimage nevű segédprogramot.

    Ha a CD-meghajtónk betűjele például E: és a telepítő CD-n található image-eket szeretnénk kiírni vele, akkor ezt a parancsot kell kiadnunk:

    E:\> tools\fdimage floppies\boot.flp A:

    Ezután ismételten adjuk ki az iménti parancsot minden egyes használni kívánt .flp állományra, azonban előtte mindig tegyünk be egy újabb floppyt, és a ráírt image-ek neveivel folyamatosan címkézzük fel a lemezeket. A megadott parancsot természetesen mindig írjuk át a konkrét .flp állományok tényleges elérési útvonalainak megfelelően. Ha nincs CD-nk, akkor az fdimage programot az FreeBSD FTP oldalán található tools könyvtárból is letölthetjük.

    Amikor a lemezeket egy UNIX® rendszeren készítenénk el (például egy másik FreeBSD rendszeren), akkor a dd(1) parancs is használható az image állományok közvetlen lemezreírásához. FreeBSD alatt így néz ki a paraméterezése:

    # dd if=boot.flp of=/dev/fd0

    FreeBSD-n a /dev/fd0 az első hajlékonylemezes meghajtóra hivatkozik (tehát az A: betűjelű meghajtóra). Ennek megfelelően a /dev/fd1 jelenti a B: meghajtót és így tovább. Más UNIX® változatok esetleg más neveket használhatnak a hajlékonylemezes meghajtók megnevezésére, ezért erről érdemes ilyenkor tájékozódni az adott rendszerhez tartozó dokumentációban.

Most már készen állunk a FreeBSD telepítésére!

2.4. A telepítés megkezdése

Fontos:

Alapértelmezés szerint a telepítés egészen addig nem fog semmit sem írni a lemezekre, amíg a következő üzenet fel nem bukkan:

Last Chance: Are you SURE you want continue the installation?

If you're running this on a disk with data you wish to save then WE
STRONGLY ENCOURAGE YOU TO MAKE PROPER BACKUPS before proceeding!

We can take no responsibility for lost disk contents!

A szöveg fordítása:

Utolsó esély: BIZTOSAN folytatni kívánja a telepítést?

Ha olyan lemezre szeretne telepíteni, amelyen fontos adatok
találhatóak, HATÁROZOTTAN JAVASOLJUK, hogy a továbblépés előtt
KÉSZÍTSEN RÓLUK MEGBÍZHATÓ BIZTONSÁGI MÁSOLATOT!

Nem vállalunk semmilyen felelősséget az elveszett adatokért!

A telepítőből tehát a fenti, végső figyelmeztetés előtt bármikor ki lehet lépni anélkül, hogy a merevlemezünkön levő adatokat veszélyeztetnénk. Ha úgy érezzük, hogy valamit véletlenül rosszul állítottunk volna be a telepítés során, ekkor még minden komolyabb kár okozása nélkül kikapcsolhatjuk a számítógépünket.

2.4.1. A rendszer indítása

2.4.1.1. Rendszerindítás i386™-on

  1. Kezdjünk egy kikapcsolt számítógéppel.

  2. Kapcsoljuk be a számítógépet. Az indulása során látnunk kell egy olyan opciót, amivel be tudunk lépni a rendszer beállításait tartalmazó menübe, avagy a BIOS-ba. Ezt többnyire a F2, F10, Del vagy a Alt+S lenyomásával érhetjük el. Ezek közül használjuk a képernyőn megjelenő billentyűket. Előfordulhat, hogy induláskor a számítógépünk semmilyen szöveget, csak egy képet mutat. Ilyenkor általában a Esc billentyű megnyomására eltűnik a kép és láthatóvá válnak a számunkra fontos üzenetek.

  3. Miután beléptünk a menübe, keressük meg azt a beállítást, amely a rendszerindításhoz használt eszközt határozza meg. Ennek a neve sokszor Boot Order (rendszerindítási sorrend) vagy valami hozzá hasonló. Itt mindenféle eszköz felsorolását találjuk: Floppy, CDROM, First Hard Disk (első merevlemezes meghajtó) és így tovább.

    Ha CD-ről akarjuk a telepítést elindítani, akkor akkor a CDROM eszközt válasszuk. Ha bármilyen kétség merülne fel bennünk, keressük meg ezt a beállítást a számítógéphez és/vagy az alaplaphoz kapott kézikönyvben.

    Igényeink szerint végezzük el a beállítást, majd mentsük el és lépjünk ki. Most indítsuk újra a számítógépet.

  4. Ha a 2.3.7. szakasz - Készítsünk egy rendszerindító lemeztban leírtak szerint rendszerindító pendrive-ot készítettünk, akkor bekapcsolás előtt csatlakoztassuk a számítógéphez.

    Ha CD-ről indítjuk a telepítést, akkor kapcsoljuk be a számítógépet és az elindulása után igyekezzünk minél hamarabb betenni a lemezt a meghajtóba.

    Megjegyzés:

    A FreeBSD 7.3 és az azt megelőző változatokban a 2.3.7. szakasz - Készítsünk egy rendszerindító lemeztban leírtak szerint előkészített floppy-ról is el tudjuk kezdeni a telepítést. Ezek egyike lesz az első rendszerindító lemez, a boot.flp. Helyezzük ezt a lemezt a meghajtóba, és indítsuk el vele a számítógépet.

    Ha minden próbálkozásunk ellenére a számítógépünk a megszokott módon indul és a meglevő operációs rendszert tölti be, akkor a következőkkel lehet a gond:

    1. A lemezeket nem raktuk be eléggé korán. Hagyjuk benn ezeket és próbáljuk meg ismét újraindítani a számítógépet.

    2. Nem állítottuk be jól a BIOS-t. Próbáljuk meg egészen addig újra végrehajtani az előző lépést, amíg a megfelelő beállítást el nem találjuk.

    3. A BIOS nem támogatja a kiválasztott eszközről történő rendszerindítást.

  5. A FreeBSD megkezdi az indulását. Ha CD-ről indítjuk, akkor valami ehhez hasonlót fogunk látni (a konkrét verzióra vonatkozó adatokat itt most kihagytuk):

    Booting from CD-Rom...
    645MB medium detected
    CD Loader 1.2
    
    Building the boot loader arguments
    Looking up /BOOT/LOADER... Found
    Relocating the loader and the BTX
    Starting the BTX loader
    
    BTX loader 1.00 BTX version is 1.02
    Console: internal video/keyboard
    BIOS CD is cd0
    BIOS drive C: is disk0
    BIOS drive D: is disk1
    BIOS 639kB/261056kB available memory
    
    FreeBSD/i386 bootstrap loader, Revision 1.1
    
    Loading /boot/defaults/loader.conf
    /boot/kernel/kernel text=0x64daa0 data=0xa4e80+0xa9e40 syms=[0x4+0x6cac0+0x4+0x88e9d]
    \

    Amikor floppyról indítjuk a rendszert, ehhez hasonlóval találkozhatunk (itt sem szerepelnek most verzióadatok):

    Booting from Floppy...
    Uncompressing ... done
    
    BTX loader 1.00  BTX version is 1.01
    Console: internal video/keyboard
    BIOS drive A: is disk0
    BIOS drive C: is disk1
    BIOS 639kB/261120kB available memory
    
    FreeBSD/i386 bootstrap loader, Revision 1.1
    
    Loading /boot/defaults/loader.conf
    /kernel text=0x277391 data=0x3268c+0x332a8 |
    
    Insert disk labelled "Kernel floppy 1" and press any key...

    Kövessük a képernyőn megjelenő utasítást (Helyezze be a "Kernel floppy 1" címkéjű lemezt és nyomjon meg egy billentyűt...), tehát vegyük ki a boot.flp image-hez tartozó lemezt és tegyük be helyette a kern1.flp image-hez tartozó lemezt, majd nyomjuk le az Enter billentyűt. Várjuk meg amíg a rendszer megkezdi az indulást az első lemezről, majd az utasításoknak megfelelően folyamatosan tegyük be a soron következő lemezeket.

  6. Miután elindítottuk a rendszert CD-ről, pendrive-ról vagy floppy-ról, a rendszerindítási folyamat be fogja hozni a FreeBSD rendszertöltőjének menüjét:

    2.1. ábra - FreeBSD rendszerbetöltő menüje
    FreeBSD rendszerbetöltő menüje

    Várjuk ki a tíz másodperces szünetet vagy egyből nyomjuk le az Enter billentyűt.

2.4.1.2. Rendszerindítás SPARC64®-en

A legtöbb SPARC64® alapú rendszert úgy állították be, hogy automatikusan lemezről induljon. A FreeBSD telepítéséhez azonban hálózaton keresztül vagy CD-ről kell indítanunk a rendszert, ezért módosítanunk kell a PROM (az OpenFirmware) beállításait.

Mindehhez indítsuk újra a rendszert és várjuk meg, amíg feltűnik a rendszerindító üzenet. A konkrét üzenet nagyban függ a számítógép típusától, azonban valami ilyesmi lesz:

Sun Blade 100 (UltraSPARC-IIe), Keyboard Present
Copyright 1998-2001 Sun Microsystems, Inc.  All rights reserved.
OpenBoot 4.2, 128 MB memory installed, Serial #51090132.
Ethernet address 0:3:ba:b:92:d4, Host ID: 830b92d4.

Amikor megpróbálja a rendszert elindítani a lemezről, a PROM parancssorának bekéréshez nyomjuk le a billentyűzeten az L1+A vagy a Stop+A billentyűket, esetleg a soros konzolon keresztül küldjünk egy BREAK parancsot (például a tip(1) vagy cu(1) man oldalakon szereplő ~# parancs használatával). Körülbelül így néz ki:

ok     1
ok {0} 2

1

Ez a fajta parancssor csak az egy processzorral rendelkező rendszereken jelenik meg.

2

Ez a fajta parancssor többprocesszoros (SMP) rendszereken jelenik meg, ahol a szám az éppen aktív processzor sorszámát jelöli.

Most helyezzük a CD-t a meghajtóba, és a PROM parancssorában pedig gépeljük be boot cdrom parancsot.

2.4.2. Az eszközkeresés eredményeinek vizsgálata

A képernyőn megjelenő utolsó pár száz sor mindig eltárolódik, később tetszőlegesen átvizsgálhatóak.

A puffer tartalmának átnézéséhez nyomjuk le a Scroll Lock billentyűt, amivel bekapcsoljuk a korábban megjelent üzenetek közti visszalépést. Itt a nyílbillentyűk, vagy a PageUp és PageDown billentyűk használhatóak a kiírások átböngészéséhez. A Scroll Lock ismételt lenyomásával kiléphetünk ebből a módból.

Tegyük most mi is ezt, és nézzük az összes olyan üzenetet, amely a rendszermag indulása során keletkezett. A 2.2. ábra - Példa az eszközkeresés eredményeireban látható szövegekhez hasonlóakat fogunk találni, habár ez a számítógépben található konkrét eszközöktől függően eltérő lehet.

2.2. ábra - Példa az eszközkeresés eredményeire
avail memory = 253050880 (247120K bytes)
Preloaded elf kernel "kernel" at 0xc0817000.
Preloaded mfs_root "/mfsroot" at 0xc0817084.
md0: Preloaded image </mfsroot> 4423680 bytes at 0xc03ddcd4

md1: Malloc disk
Using $PIR table, 4 entries at 0xc00fde60
npx0: <math processor> on motherboard
npx0: INT 16 interface
pcib0: <Host to PCI bridge> on motherboard
pci0: <PCI bus> on pcib0
pcib1:<VIA 82C598MVP (Apollo MVP3) PCI-PCI (AGP) bridge> at device 1.0 on pci0
pci1: <PCI bus> on pcib1
pci1: <Matrox MGA G200 AGP graphics accelerator> at 0.0 irq 11
isab0: <VIA 82C586 PCI-ISA bridge> at device 7.0 on pci0
isa0: <iSA bus> on isab0
atapci0: <VIA 82C586 ATA33 controller> port 0xe000-0xe00f at device 7.1 on pci0
ata0: at 0x1f0 irq 14 on atapci0
ata1: at 0x170 irq 15 on atapci0
uhci0 <VIA 83C572 USB controller> port 0xe400-0xe41f irq 10 at device 7.2 on pci
0
usb0: <VIA 83572 USB controller> on uhci0
usb0: USB revision 1.0
uhub0: VIA UHCI root hub, class 9/0, rev 1.00/1.00, addr1
uhub0: 2 ports with 2 removable, self powered
pci0: <unknown card> (vendor=0x1106, dev=0x3040) at 7.3
dc0: <ADMtek AN985 10/100BaseTX> port 0xe800-0xe8ff mem 0xdb000000-0xeb0003ff ir
q 11 at device 8.0 on pci0
dc0: Ethernet address: 00:04:5a:74:6b:b5
miibus0: <MII bus> on dc0
ukphy0: <Generic IEEE 802.3u media interface> on miibus0
ukphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
ed0: <NE2000 PCI Ethernet (RealTek 8029)> port 0xec00-0xec1f irq 9 at device 10.
0 on pci0
ed0 address 52:54:05:de:73:1b, type NE2000 (16 bit)
isa0: too many dependant configs (8)
isa0: unexpected small tag 14
orm0: <Option ROM> at iomem 0xc0000-0xc7fff on isa0
fdc0: <NEC 72065B or clone> at port 0x3f0-0x3f5,0x3f7 irq 6 drq2 on isa0
fdc0: FIFO enabled, 8 bytes threshold
fd0: <1440-KB 3.5” drive> on fdc0 drive 0
atkbdc0: <Keyboard controller (i8042)> at port 0x60,0x64 on isa0
atkbd0: <AT Keyboard> flags 0x1 irq1 on atkbdc0
kbd0 at atkbd0
psm0: <PS/2 Mouse> irq 12 on atkbdc0
psm0: model Generic PS/@ mouse, device ID 0
vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0
sc0: <System console> at flags 0x100 on isa0
sc0: VGA <16 virtual consoles, flags=0x300>
sio0 at port 0x3f8-0x3ff irq 4 flags 0x10 on isa0
sio0: type 16550A
sio1 at port 0x2f8-0x2ff irq 3 on isa0
sio1: type 16550A
ppc0: <Parallel port> at port 0x378-0x37f irq 7 on isa0
pppc0: SMC-like chipset (ECP/EPP/PS2/NIBBLE) in COMPATIBLE mode
ppc0: FIFO with 16/16/15 bytes threshold
plip0: <PLIP network interface> on ppbus0
ad0: 8063MB <IBM-DHEA-38451> [16383/16/63] at ata0-master UDMA33
acd0: CD-RW <LITE-ON LTR-1210B> at ata1-slave PIO4
Mounting root from ufs:/dev/md0c
/stand/sysinstall running as init on vty0

Figyelmesen olvassuk át az üzeneteket, és bizonyosodjuk meg róla, hogy a FreeBSD minden számunkra fontos eszközt felismert. Ha nem látunk egy eszközt, akkor azt valószínűleg nem találta meg. Egy saját rendszermag létrehozásával azonban fel tudunk ismertetni olyan eszközöket is, amelyek támogatása eredetileg nem szerepel a GENERIC rendszermagban. Ilyenek például a hangkártyák.

A FreeBSD 6.2 vagy későbbi változataiban az eszközök felkutatása után a 2.3. ábra - Az ország kiválasztásaban láthatóak következnek. Itt a nyílbillentyűk segítségével választhatjuk ki az országot (country), térséget (region) vagy csoportot (group). Az Enter lenyomása után pillanatok alatt beállítódik az országunk. Ha meg akarjuk ismételni az iménti beállítást, pillanatok alatt ki tudunk lépni a sysinstall programból.

2.3. ábra - Az ország kiválasztása
Az ország kiválasztása

Ha országként United States (Egyesült Államok) került beállításra, akkor a szabványos amerikai billentyűzet-kiosztás állítódik be. A többi ország esetében az alábbi menü jelenik meg. A kurzormozgató billentyűk segítségével ekkor keressük meg ki a számunkra megfelelő kiosztást, és az Enter billentyű lenyomásával válasszuk ki.

2.4. ábra - A billentyűzet típusának kiválasztása
A billentyűzet típusának kiválasztása

2.5. ábra - Kilépés a sysinstall programból
Kilépés a sysinstall programból

A telepítőprogram főképernyőjén válasszuk ki a nyílbillentyűkkel az Exit Install (Kilépés a telepítésből) menüpontot. Erre a következő üzenet fog megjelenni:

                      User Confirmation Requested
         Are you sure you wish to exit? The system will reboot

                            [ Yes ]    No

Az üzenet fordítása:

                  Felhasználói megerősítés szükséges
         Valóban ki akar lépni? A rendszer ezt követően újra fog
         indulni

                           [ Igen ]    Nem

Ha a [ Yes ] választ adjuk és a CD-t az újraindításkor is a meghajtóban hagyjuk, akkor a telepítőprogram még egyszer el fog indulni.

Ha floppyról indítottuk volna a rendszert, az újraindítás előtt vegyük ki a boot.flp image-et tartalmazó lemezt.

2.5. A sysinstall bemutatása

A sysinstall a FreeBSD Projekt által fejlesztett telepítőprogram. Konzol alapú, menükre és képernyőkre oszlik, amelyeken a beállításokat és a telepítési folyamat irányítását tudjuk elvégezni.

A sysinstall menürendszerét több más billentyű mellett legfőképpen a nyílbillentyűkkel, az Enter, Tab és a Szóköz billentyűkkel kezelhetjük. Ezek és az általuk elvégezhető feladatok részletes leírása a sysinstall használatáról szóló információk között található.

Ennek megtekintéséhez először győződjünk meg róla, hogy a 2.6. ábra - A Usage kiválasztása a sysinstall főmenüjében által illusztrált helyzetnek megfelelően kiválasztottuk a Usage (Használat) menüpontot és a [Select] (Kiválaszt) feliratú gombon állunk, majd nyomjuk le az Enter billentyűt.

Ezt követően megjelenik a menürendszer használatát bemutató leírás. Miután végigolvastuk, a főmenübe az Enter billentyű lenyomásával tudunk visszajutni.

2.6. ábra - A Usage kiválasztása a sysinstall főmenüjében
A „Usage” kiválasztása a sysinstall főmenüjében

2.5.1. A dokumentációs menü kiválasztása

A főmenüben a nyílbillentyűkkel válasszuk a Doc feliratú menüpontot és nyomjuk meg az Enter billentyűt.

2.7. ábra - A dokumentációs menü kiválasztása
A dokumentációs menü kiválasztása

Ezzel megjelenik a dokumentációs menü.

2.8. ábra - A sysinstall dokumentációs menüje
A sysinstall dokumentációs menüje

Feltétlenül olvassuk el az itt található leírásokat.

A dokumentumok elolvasásához először válasszunk közülük a nyílbillentyűkkel, majd nyomjuk meg az Enter billentyűt. A dokumentum elolvasása után az Enter lenyomásával tudunk visszatérni a dokumentációs menübe.

A dokumentációs menüből a főmenübe úgy tudunk kilépni, ha a nyílbillentyűkkel kiválasztjuk az Exit (Kilépés) menüpontot és megnyomjuk az Enter billentyűt.

2.5.2. A billentyűkiosztás menüjének kiválasztása

A billentyűzetkiosztás megváltoztatásához válasszuk ki a nyílbillentyűk segítségével a Keymap menüpontot a menüből és nyomjuk meg az Enter billentyűt. Erre természetesen csak akkor lesz szükségünk, ha nem szabványos vagy nem angol billentyűzetet használunk.

2.9. ábra - A sysinstall főmenüje
A sysinstall főmenüje

A különböző billentyűkiosztásoknak megfelelő menüpontok a fel/le nyílak és a Szóköz billentyű segítségével választhatóak ki. A Szóköz ismételt lenyomásával töröljük a választásunkat. A befejezéshez válasszuk ki a nyilakkal a [ OK ] gombot és nyomjuk le az Enter billentyűt.

A mellékelt képen a lista egy része látható csupán. Ha a Tab billentyűvel a [ Cancel ] gombot választjuk, akkor az alapértelmezett billentyűkiosztást kapjuk és visszakerülünk a főmenübe.

2.10. ábra - A sysinstall billentyűkiosztást beállító menüje
A sysinstall billentyűkiosztást beállító menüje

2.5.3. A telepítés beállításai tartalmazó képernyő

Válasszuk az Options (Beállítások) menüpontot, majd nyomjuk le az Enter billentyűt.

2.11. ábra - A sysinstall főmenüje
A sysinstall főmenüje

2.12. ábra - A sysinstall beállításai
A sysinstall beállításai

Az itt szereplő alapértelmezett értékek a legtöbb felhasználó számára minden további nélkül megfelelnek, nem szükséges a megváltoztatásuk. A kiadás neve (release name) mező értéke a telepítendő verziótól függően változhat.

A kiválasztott mező rövid leírása a képernyő alján, kékkel kiemelten jelenik meg. A Use Defaults (Az alapértelmezések használata) beállítás az alapértelmezésére állítja vissza az összes értéket.

Az F1 lenyomásával elolvashatjuk a különböző beállításokhoz tartozó súgót.

A Q billentyűvel visszatérhetünk a főmenübe.

2.5.4. Egy szabványos telepítés megkezdése

A Standard (Szabványos) elnevezésű menüpont által felkínált telepítési módszer ajánlott a UNIX®-szal vagy a FreeBSD-vel most ismerkedők számára. A telepítés megkezdéséhez a nyilakkal válasszuk ki a Standard menüpontot, majd nyomjuk meg az Enter billentyűt.

2.13. ábra - Egy szabványos telepítés megkezdése
Egy szabványos telepítés megkezdése

2.6. Lemezterület lefoglalása

Első feladatunk lemezterületet foglalni a FreeBSD számára, majd megcímkézni azt, hogy a sysinstall elő tudja készíteni. Ehhez tisztában kell lennünk azzal, hogy a FreeBSD milyen formában is keresi az adatokat a lemezünkön.

2.6.1. A BIOS meghajtószámozása

Egy témára különösen tekintettel kell lennünk mielőtt telepítenénk és beállítanánk a FreeBSD-t a rendszerünkön, főleg abban az esetben, ha több merevlemezünk is van.

Egy BIOS-függő operációs rendszert, például MS-DOS®-t vagy Windows®-t futattó PC esetén a BIOS az operációs rendszer beleegyezésével képes elvonatkoztatni a lemezek megszokott sorrendjétől. Ennek köszönhetően a felhasználó nem csak az ún. primary master (elsődleges master) merevlemezes meghajtótól tudja elindítani a rendszert. Ez kifejezetten kényelmes megoldás az olyan felhasználók számára, akik az elsővel teljesen megegyező második merevlemez megvásárlásával kialakították a rendszerük egyszerű és egyben a legolcsóbb biztonsági mentését, amire a Ghost vagy XCOPY programokkal tudnak rendszeres másolatokat készíteni. Így, ha az elsődleges meghajtó tönkremegy vagy vírus támadja meg, esetleg az operációs rendszer egy hiba miatt használhatatlanná teszi, akkor a BIOS-t utasíthatjuk a meghajtók logikai cseréjére és ezzel könnyen helyre tudjuk állítani. Olyan, mintha a ház felnyitása nélkül felcseréltük volna a lemezeket bekötő kábeleket.

A SCSI-vezérlőkkel szerelt drágább rendszerek gyakran tartalmaznak olyan BIOS-bővítéseket, amelyeken keresztül a SCSI-lemezek ugyanígy tetszőlegesen átrendezhetőek, egészen hét meghajtóig.

Az ilyen lehetőségek használatához szokott felhasználókat azonban könnyen csalódás érheti, amikor a FreeBSD nem az elvárásaiknak megfelelően cselekszik. A FreeBSD ugyanis nem használja a BIOS-t és nem ismeri a BIOS logikai meghajtókiosztását. Ez meghökkentő eredményekre vezethet, főleg akkor, amikor paramétereiket tekintve a meghajtók fizikailag teljesen megegyeznek és ráadásul egymás másolatait tartalmazzák.

A FreeBSD telepítése előtt mindig állítsuk vissza a BIOS-ban a meghajtók eredeti sorrendjét, és a használatához hagyjuk is így ezt a beállítást. Ha valamiért mégis meg kellene cserélnünk a meghajtókat, akkor ezentúl válasszuk a nehezebb utat: nyissuk ki a gépházat és kössük át a kábeleket, tegyük át a jumpereket mi magunk.

2.6.2. Slice-ok létrehozása az FDisk használatával

Megjegyzés:

Itt még semmilyen változtatás nem kerül lemezre. Ha úgy érezzük, hogy valamit rosszul csináltunk és újra el akarjuk kezdeni a telepítést, a menük segítségével büntetlenül távozhatunk a sysinstallból és újra próbálkozhatunk, vagy az U billentyű lenyomásával aktiválhatjuk az Undo (Visszacsinál) funkciót. Ha véletlenül összezavarodtunk volna és nem találunk kilépési lehetőséget, akkor bármikor ki tudjuk kapcsolni a számítógépet.

A sysinstallban a szabványos telepítés megkezdésekor az alábbi üzenet jelenik meg:

                                 Message
 In the next menu, you will need to set up a DOS-style ("fdisk")
 partitioning scheme for your hard disk. If you simply wish to devote
 all disk space to FreeBSD (overwriting anything else that might be on
 the disk(s) selected) then use the (A)ll command to select the default
 partitioning scheme followed by a (Q)uit. If you wish to allocate only
 free space to FreeBSD, move to a partition marked "unused" and use the
 (C)reate command.
                                [  OK  ]

                      [ Press enter or space ]

Az üzenet fordítása:

                                  Üzenet
 A most következő menüben össze kell állítanunk a merevlemezünk
 DOS-szerű ("fdiskes") partícióit. Amennyiben egyszerűen csak át
 akarjuk adni az összes lemezterületet a FreeBSD számára (ezzel
 felülírva mindent, ami a kiválasztott lemezeken található), akkor
 az alapértelmezett partíció-kiosztás kiválasztásához használjuk az
 (A)ll (Mind), majd utána a (Q)uit (Kilépés) parancsokat. Ha viszont
 csak az éppen szabad területet szánjuk a FreeBSD-nek, lépjünk egy
 "unused" ("üres") feliratú partícióra és használjuk a (C)reate
 (Létrehozás) parancsot.

                               [  OK  ]

            [ Nyomja le az Enter vagy a Szóköz billentyűt ]

Az utasításnak megfelelően nyomjuk le az Enter billentyűt. Ezután a rendszermag által az eszközök felkutatása során megtalált összes merevlemezes meghajtót láthatjuk. A 2.14. ábra - A meghajtó kiválasztása az FDisk számára egy két IDE-lemezzel rendelkező rendszert mutat be, amelyeknek nevei rendre ad0 és ad2.

2.14. ábra - A meghajtó kiválasztása az FDisk számára
A meghajtó kiválasztása az FDisk számára

Feltűnhet, hogy itt nem szerepel az ad1. Vajon miért maradt ki?

Képzeljük el, mi történne, ha két IDE-csatolós merevlemezünk lenne: az egyik az első IDE-vezérlőn, a másik pedig a második IDE-vezérlőn lenne master. Ha a FreeBSD a megtalálásuk szerint ad0 és ad1 nevekkel számozná ezeket, attól még minden remekül működhetne.

Ha azonban beszerelnénk egy harmadik lemezt, például egy slave eszközt kapcsolnánk az első IDE-vezérlőre, akkor már ez lenne a ad1, és ennek megfelelően a korábban ad1 megnevezésű meghajtó pedig az ad2. Mivel az állományrendszerek felkutatására általában az eszközneveket (mint amilyen a ad1s1a) használják, ezért ilyenkor azt tapasztalhatnánk, hogy bizonyos állományrendszerek helytelenül jelennek meg, ezért meg kell változtatnunk a FreeBSD ezeket érintő beállításait.

A probléma megoldására a rendszermag beállítható úgy, hogy az IDE-lemezeket a kapcsolódásuk szerint azonosítsa, ne pedig a megtalálásuk sorrendje szerint. Ezzel a kialakítással a második IDE-vezérlőn található master lemez mindig az ad2 eszköz lesz, tehát még olyankor is, amikor egyáltalán nincs a rendszerünkben ad0 vagy ad1 eszköz.

Ez a beállítás alapértelmezés a FreeBSD rendszermagjában, és ez magyarázza, hogy az iménti ábra miért csak ad0 és ad2 eszközöket mutat. Tehát a képen szereplő számítógép mind a két IDE-vezérlőjének master csatornáján található egy-egy IDE-lemez, a slave csatornákon pedig nincs egy sem.

Itt válasszuk ki azt a lemezt, amelyre a FreeBSD-t telepíteni kívánjuk, majd nyomjuk meg a [ OK ] gombot. Erre az 2.15. ábra - Átlagos Fdisk partíciók szerkesztés előtt által bemutatott képernyővel elindul az FDisk.

Az FDisk képernyője három részre osztható.

Az első részben, amely a képernyő felső két sorát foglalja össze, láthatjuk az éppen kiválasztott lemez adatait: a FreeBSD szerinti nevét, a paramétereit és az összméretét.

A második részben láthatjuk a lemezen megtalálható slice-okat: hol kezdődnek (Offset) és hol érnek véget (End); mekkorák (Size); a FreeBSD milyen névvel hivatkozik rájuk (Name); milyen leírás (Description) és altípus (Subtype) tartozik hozzájuk. A példában két kicsi üres slice-ot láthatunk, ami a PC-k lemezkiosztására jellemző. Ezenkívül felfedezhetünk egy nagyobb méretű FAT típusú slice-ot is, amely az MS-DOS® / Windows® világban szinte minden bizonnyal a C: betűjelet viseli, valamint egy kiterjesztett slice-ot is, amely az MS-DOS® / Windows® számára további meghajtókat is tartalmazhat.

A harmadik részben az FDisk működtetésére használható parancsok láthatóak.

2.15. ábra - Átlagos Fdisk partíciók szerkesztés előtt
Átlagos Fdisk partíciók szerkesztés előtt

A most következő teendőink attól függenek, hogy miként is akarjuk felosztani a lemezünket.

Ha az egész lemezt a FreeBSD használatára áldozzuk (és amikor majd megerősítjük a sysinstall számára a továbblépést, a lemezen így minden más adat törlődni fog), akkor nyomjuk le az A billentyűt, amely megfelel a Use Entire Disk (Az egész lemez használata) menüpontnak. A létező slice-ok eltávolításra kerülnek és helyettük megjelenik egy unused (üres) jelzésű kis méretű terület (elvégre PC-ről beszélünk), valamint egy nagyobb slice a FreeBSD számára. Ha így jártunk el, akkor válasszuk ki nyilakkal a frissen létrejött FreeBSD slice-ot és az S billentyű lenyomásával jelöljük be indíthatónak (bootable). A képernyő ekkor a 2.16. ábra - Particionálás az Fdisk Using Entire Disk funkciójával által mutatotthoz fog erősen hasonlítani. A Flags (Beállítások) oszlopban láthatjuk az A jelzést, amelyből kiderül, hogy az adott slice aktív, tehát róla tud indulni a rendszer.

Ha a FreeBSD számára egy meglevő slice törlésével szeretnénk helyet csinálni, akkor ehhez válasszuk ki nyílbillentyűkkel a használni kivánt slice-ot és nyomjuk le a D billentyűt. Ezután nyomjuk le a C billentyűt is, amire felbukkan a létrehozandó slice méretét kérdező ablak. Adjuk meg a számunkra megfelelő méretet a számunkra megfelelő formában, majd zárjuk le az Enter lenyomásával. Az ablakban szereplő alapértelmezett érték a létrehozható lehető legnagyobb méretű slice-ot adja meg, ami vagy a legnagyobb összefüggő üres terület, vagy pedig az egész merevlemez összterülete lehet.

Ha már korábban készítettünk elő helyet a FreeBSD-nek (például egy PartitionMagic® vagy egy hozzá hasonló alkalmazás segítségével), akkor csak elegendő az új slice létrehozásához megnyomnunk a C billentyűt. Ekkor szintén megkérdezésre kerül a létrehozandó slice mérete.

2.16. ábra - Particionálás az Fdisk Using Entire Disk funkciójával
Particionálás az Fdisk „Using Entire Disk” funkciójával

Amikor befejeztük, nyomjuk le a Q billentyűt. Ekkor a sysinstall elmenti a beállított értékeket, azonban a lemezre ekkor még nem kerülnek ki.

2.6.3. A rendszerválasztó telepítése

Mindezek után lehetőségünk nyílik telepíteni egy rendszerválasztót (boot manager). Általában véve akkor van szükségünk a FreeBSD rendszerválasztójának telepítésére, ha:

  • Egynél több meghajtónk van, és közülük nem az első meghajtóra telepítjük a FreeBSD-t.

  • A FreeBSD-t ugyanazon a lemezen más operációs rendszerek mellé telepítjük, és szeretnénk választhatóvá tenni, hogy a számítógép indításakor a FreeBSD vagy a többi operációs rendszer induljon-e el.

Amennyiben a FreeBSD lesz az egyetlen operációs rendszer a gépünkön és az első merevlemezes meghajtóra telepítjük, akkor a Standard (Szabványos) rendszerválasztó tökéletesen megteszi. Ha viszont a FreeBSD indításához egy másik rendszerválasztót szeretnénk használni, válasszuk a None (Nincs) opciót.

Válasszunk, majd nyomjuk le az Enter billentyűt!

2.17. ábra - A sysinstall rendszerválasztókat tartalmazó menüje
A sysinstall rendszerválasztókat tartalmazó menüje

Az F1 billentyű lenyomásán keresztül elérhető súgóképernyőn olvashatunk az egy merevlemezen több operációs rendszer használatával kapcsolatos problémákról.

2.6.4. Slice-ok létrehozása egy másik meghajtón

Ha egynél több meghajtónk van, a program a rendszerválasztó képernyője után ismét visszatér a meghajtók kiválasztásához. Amennyiben a FreeBSD-t egy másik meghajtóra is telepíteni szeretnénk, itt válasszuk ki azt és ismételjük meg vele az imént az FDisk programmal végzett felosztási folyamatot.

Fontos:

Amikor a FreeBSD-t nem az első meghajtóra telepítjük, akkor a FreeBSD rendszerválasztóját mind a két meghajtóra telepíteni kell.

2.18. ábra - Kilépés a meghajtóválasztó menüből
Kilépés a meghajtóválasztó menüből

A Tab billentyűvel tudunk váltani a legutoljára kiválasztott meghajtó, a [ OK ] és a [ Cancel ] gombok között.

Az [ OK ] gombra álláshoz nyomjuk le egyszer a Tabot, majd a telepítés folytatásához nyomjuk le az Enter billentyűt.

2.6.5. Partíciók létrehozása a Disklabel segítségével

A következő lépésként létre kell hoznunk partíciókat a frissen létrehozott slice-okban. Ne felejtsük el, hogy minden partíció rendelkezik egy a-tól h-ig terjedő betűjellel, amelyek közül a b, c és d jelzésűeknek külön szerepe van, amire tekintettel kell lennünk.

Bizonyos alkalmazások kedvelnek egyes partíciókiosztási sémákat, különösen az egynél több lemezen elhelyezkedő partíciókat. Azonban az első FreeBSD telepítésünk során még nem annyira fontos koncentrálnunk a lemezünk hatékony felosztására. Sokkal inkább fontosabb, hogy először egyszerűen csak telepítsük a FreeBSD-t és tanuljuk meg a használatát. Amikor már jobban ismerni fogjuk az operációs rendszert, a partíciók kiosztásának megváltoztatásához mindig újra tudjuk telepíteni a FreeBSD-t.

Ebben a sémában négy partíció szerepel — egy a lapozóállománynak és három az állományrendszereknek.

2.2. táblázat - Az első lemez partícióinak kiosztása
PartícióÁllományrendszerMéretLeírás
a/1 GBEz a rendszerindításhoz használt, más néven a gyökér állományrendszer (root filesystem). Minden további állományrendszer ehhez csatlakozik valahol. Ennek az állományrendszernek 1 GB méret elfogadható, mivel nem fogunk túlságosan sok adatot tárolni rajta, a FreeBSD telepítője is csak nagyjából 128 MB adatot fog ide tenni. Az így fennmaradó lemezterület felhasználható átmeneti adatok tárolására, illetve a / könyvtárban helyet ad a FreeBSD későbbi változatainak terjeszkedéséhez is.
b-RAM mérete x 2-3

A rendszer lapozóállománya a b partíción tárolódik. Itt a megfelelő méret megválasztása egyfajta művészet, azonban minden esetben hasznosnak bizonyulhat, ha tudjuk, hogy méretnek mindig érdemes a fizikai avagy központi memória (RAM) méretének két, esetleg háromszorosát választani. Legyen mindig legalább 64 MB-nyi méretű lapozóállományunk, és ha 32 MB RAM-nál kevesebb van a számítógépünkben, akkor is legalább 64 MB-ra állítsuk be.

Ha egynél több lemezünk van, mindegyikre rakhatunk lapozóállományt, ezzel a FreeBSD mindegyikőjüket fel tudja használni lapozásra, amivel pedig gyakorlatilag felgyorsítja a folyamatot. Ilyenkor számoljunk úgy, hogy először meghatározzuk a teljes lapozóállomány méretét (például 128 MB), majd ezt elosztjuk a rendelkezésünkre álló lemezek számával (például kettő). Ebből kiszámítható az egyes lemezeken elhelyezendő lapozóállomány mérete, ami most a példánk szerint 64 MB lesz.

e/var512 MB-tl 4096 MB-igA /var könyvtár foglalja magában az állandó változó naplóállományokat, valamint a többi, adminisztrációhoz használt állományt. Ezek többsége a FreeBSD mindennapos működése közben folyamatosan íródnak vagy olvasódnak. Ha ezeket az állományokat egy külön állományrendszerre rakjuk, akkor ezzel segítünk a FreeBSD-nek optimalizálni az ilyen állományok elérését anélkül, hogy ez hatással lenne a többi, más hozzáférési gyakorisággal bíró állományra.
f/usrA lemez többi része (legalább 8 GB)Az összes többi állomány többnyire a /usr könyvtárban és annak alkönyvtáraiban helyezkedik el.

Figyelem:

Az imént megadott értékeket csak példaként adtuk meg és csak a tapasztalt felhasználók számára ajánljuk. A többi felhasználónak inkább a partíciók automatikus kiosztását javasoljuk a FreeBSD partíciószerkesztőjében található Auto Defaults opció használatával.

Ha a FreeBSD-t egynél több lemezre telepítjük, akkor a korábban megadott többi slice-ban is létre kell hoznunk partíciókat. Ezt legegyszerűbben úgy tehetjük meg, ha minden lemezen létrehozunk két partíciót: egyet a lapozóállománynak, egyet pedig az állományrendszernek.

2.3. táblázat - Több lemez partícióinak kiosztása
PartícióÁllományrendszerMéretLeírás
b-Lásd a leírástAhogy már korábban is említettük, szét tudjuk osztani a lapozóállományt a lemezek között. Habár az a partíció szabad, a hagyományok mégis azt diktálják, hogy a lapozáshoz használt terület maradjon a b partíción.
e/disknA lemez többi részeA lemez fennmaradó része egyetlen nagy partícióval fedhető le. Ez az e partíció helyett lehetne minden további nélkül az a partíció, azonban a hagyományok szerint az a partíciónak a rendszer gyökér állományrendszerét (/) kell tartalmaznia. Nekünk ugyan nem kellene ezt a megszokást követnünk, azonban a sysinstall viszont így tesz, ezért ezzel a választással csak magunkkal teszünk jót. Az állományrendszer bárhová csatlakoztatható — ebben a példában a lemezeket rendre a /diskn könyvtárakhoz csatoltuk, ahol az n az adott lemez sorszáma. De itt természetesen más rendszert is követhetünk.

A partíciók elrendezésének kigondolása után most már létre is hozathatjuk ezeket a sysinstall segítségével. Ekkor a következő üzenetet fogjuk látni:

                                 Message
 Now, you need to create BSD partitions inside of the fdisk
 partition(s) just created. If you have a reasonable amount of disk
 space (1GMB or more) and don't have any special requirements, simply
 use the (A)uto command to allocate space automatically. If you have
 more specific needs or just don't care for the layout chosen by
 (A)uto, press F1 for more information on manual layout.

                                [  OK  ]
                          [ Press enter or space ]

Az üzenet fordítása:

                                  Üzenet
Most létre kell hoznunk az fdiskkel nemrég elkészített partíciókban a
BSD-s partíciókat. Ha van hozzá elegendő helyünk (1G vagy több) és
nincs semmilyen különleges elvárásunk, akkor egyszerűen csak osszuk
fel automatikusan az (A)uto paranccsal. Amennyiben azonban ennél
többre lenne szükségünk, vagy csak nincs szükségünk az (A)uto által
felkínált sémára, az F1 lenyomására bővebb információkat is kaphatunk
a kézi kiosztás lehetőségeiről.

                                [  OK  ]
            [ Nyomja le az Enter vagy a Szóköz billentyűt ]

Nyomjuk le a Enter billentyűt a FreeBSD partíciószerkesztőjének, avagy a Disklabel elindításához.

A 2.19. ábra - A sysinstall Disklabel partíciószerkesztője mutatja a Disklabel első elindulásakor megjelenő képet. A képernyő három részre tagolható.

A felső pár sorban a jelenleg használt lemez nevét láthatjuk, valamint azt a slice-ot, ami az általunk létrehozott partíciókat tartalmazza (itt a Disklabel a Partition name megnevezéssel hivatkozik a slice-ra). A képernyőn továbbá láthatjuk a slice-ban levő szabad helyet is, vagyis azt a helyet, amely ugyan a slice-hoz tartozik, viszont még nem rendeltünk hozzá partíciót.

A képernyő közepén találhatóak az eddig már létrehozott partíciók, az általuk tartalmazott állományrendszerek, azok mérete és az állományrendszerek létrehozására vonatkozó különböző beállítások.

A képernyő alsó harmadában a Disklabel programban használható billentyűk felsorolása szerepel.

2.19. ábra - A sysinstall Disklabel partíciószerkesztője
A sysinstall Disklabel partíciószerkesztője

A Disklabel képes magától partíciókat készíteni a nekik megfelelő alapértelmezett méretekkel. A partíciók automatikus méretét egy belső partícióméretező algoritmus számítja ki a lemez összmérete alapján. Próbáljuk most mi is ezt ki, és nyomjuk le az A billentyűt. Ekkor a 2.20. ábra - A sysinstall Disklabel partíciószerkesztője, alapértelmezett értékekkel szerint illusztráltaknak megfelelő képernyőt tapasztalhatunk. A használt lemez méretétől függően az alapértelmezett értékek megfelelőek lesznek vagy sem. Ez igazából nem számít, hiszen nem kell feltétlenül elfogadnunk az alapértelmezetten megállapított értékeket.

Megjegyzés:

Az alapértelmezett partícionálási sémában a /tmp könyvtár nem a / könyvtár része lesz, hanem saját partíciót kapott. Ezzel igyekszünk elkerülni, hogy a / partíció átmenetileg tárolt állományokkal teljen be.

2.20. ábra - A sysinstall Disklabel partíciószerkesztője, alapértelmezett értékekkel
A sysinstall Disklabel partíciószerkesztője, alapértelmezett értékekkel

Ha nem az alapértelmezett partíciókat szeretnénk használni, és le akarjuk váltani ezeket a saját magunk által megadottakra, akkor a nyílbillentyűkkel válasszuk ki az első partíciót és a törléséhez nyomjuk meg a D billentyűt. Hasonlóan járjunk el az összes többi javasolt partíció törléséhez.

Az első (a, vagyis a / könyvtárként, azaz a gyökérként csatolt) partíció elkészítéséhez először győződjünk arról, hogy a felső sorban a megfelelő slice van kiválasztva, majd nyomjuk meg a C billentyűt. Ekkor az új partíció méretét kérdező párbeszédablak jelenik meg (lásd: 2.21. ábra - Szabad hely a gyökérpartíción). Itt a méret a lemez blokkjainak számában adható meg, amit viszont M-mel lezárva megabyte-ban, G-vel gigabyte-ban vagy C-vel cilinderben is kifejezhetünk.

2.21. ábra - Szabad hely a gyökérpartíción
Szabad hely a gyökérpartíción

Az alapértelmezés szerint felkínált méret az egész slice-ot lefoglaló partíciót hoz létre. Amennyiben a korábbi példában tárgyalt partícióméreteket kívánjuk használni, akkor a Backspace billentyű használatával töröljük ki az így megadott értéket, és helyette gépeljük be, hogy 512M, ahogy ez a 2.22. ábra - A gyökérpartíció méretének szerkesztése segítségével is látható. A bevitelt zárjuk a [ OK ] gomb lenyomásával.

2.22. ábra - A gyökérpartíció méretének szerkesztése
A gyökérpartíció méretének szerkesztése

Miután meghatároztuk a partíció méretét, a telepítő megkérdezi, hogy a létrehozandó partícióban állományrendszer vagy lapozóállomány foglaljon-e helyet. Ennek a párbeszédablakját a 2.23. ábra - A gyökérpartíció típusának kiválasztása mutatja. Mivel az első partíciónk állományrendszert fog tartalmazni, ezért mindenképpen az FS paramétert válasszuk ki, majd nyomjuk meg az Enter billentyűt.

2.23. ábra - A gyökérpartíció típusának kiválasztása
A gyökérpartíció típusának kiválasztása

Végezetül, mivel egy állományrendszert hoztunk létre, meg kell mondanunk a Disklabelnek, hova csatlakoztassa. A hozzá tartozó párbeszédablak a 2.24. ábra - A gyökér csatlakozási pontjának megadásan látható. A gyökér állományrendszer csatlakozási pontja a /, ezért itt csak annyit adjunk meg, hogy / és zárjuk az Enter billentyű lenyomásával.

2.24. ábra - A gyökér csatlakozási pontjának megadása
A gyökér csatlakozási pontjának megadása

A képernyőn látható lista ezután az újonnan létrehozott partíciónak megfelelően frissül. A többi partícióra ugyanígy meg kell ismételnünk ezt a műveletsort. Arra azonban figyeljünk, hogy a lapozásra használt partíciót létrehozásánál a szerkesztő nem fogja megkérdezni a csatlakozási pontot, hiszen az ilyen típusú partíciókat sosem csatlakoztatjuk. A /usr, vagyis az utolsó partíció készítése során a slice fennmaradó részének lefoglalásához már nyugodtan meghagyhatjuk a felajánlott értéket.

A FreeBSD partíciószerkesztőjének utolsó képernyője a 2.25. ábra - A Disklabel partíciószerkesztőn hasonlóhoz, habár az általunk választott értékek minden bizonnyal eltérnek. A művelet befejezéséhez nyomjuk le a Q billentyűt.

2.25. ábra - A Disklabel partíciószerkesztő
A Disklabel partíciószerkesztő

2.7. A telepítendő összetevők kiválasztása

2.7.1. A terjesztések típusának kiválasztása

A telepítendő terjesztések típusa nagyban függ attól, hogy a rendszerünket mire szándékozzuk majd használni és mennyi szabad hely áll rendelkezésünkre. Az előre megadott beállítások a lehető legkisebb konfiguráció telepítésétől egészen a komplett rendszer telepítéséig terjednek. A UNIX® és/vagy FreeBSD világában még az új felhasználók számára szinte tökéletesen megfelelőnek bizonyulhat az egyik ilyen előkészített beállítás kiválasztása. A terjesztések kiválogatása pedig általában a tapasztaltabb felhasználók számára lehet hasznos.

Az F1 billentyűvel többet is megtudhatunk a terjesztések különböző típusairól és bennük található összetevőkről. Miután befejeztük a súgó áttanulmányozását, nyomjuk le az Enter billentyűt, és ezzel visszatérünk a terjesztések kiválasztását tartalmazó menübe.

Ha grafikus felületet szeretnénk használni, akkor az X szerver beállítását az alapértelmezett munkakörnyezet beállítását a FreeBSD telepítése után kell megtenni. Az X szerver beállításáról részletesebben a 5. fejezet - Az X Window Systemban olvashatunk.

Ha egy saját rendszermag építését is fontolgatjuk, akkor olyan terjesztést válasszuk, amiben a forráskód (kernel source) is megtalálható. A saját rendszermag építésének hátteréről és mikéntjéről lásd a 8. fejezet - A FreeBSD rendszermag testreszabásaet.

Értelemszerűen a legsokoldalúbb rendszer az, amiben minden megtalálató. Így aztán, ha a lemezünk is megengedi, a nyilak és az Enter használatával válasszuk a All (Minden) opciót, ahogy azt az 2.26. ábra - A terjesztések kiválasztása is mutatja. Ha viszont úgy érezzük, hogy ehhez nem eléggé nagy a lemezünk, akkor válasszuk az igényeinkhez jobban illeszkedő típust. Sokat azonban ne üljünk a tökéletes megoldás kiötlésén, hiszen ezek a terjesztések még a telepítés befejezése után is hozzáadhatóak a rendszerünkhöz.

2.26. ábra - A terjesztések kiválasztása
A terjesztések kiválasztása

2.7.2. A Portgyűjtemény telepítése

Miután kiválasztottuk a nekünk megfelelő terjesztést, a telepítőprogram felajánlja a FreeBSD Portgyűjteményének (Ports Collection) telepítésének lehetőségét. A portok gyűjteménye a szoftverek telepítésének egyszerű és kényelmes módja. A Portgyűjtemény önmaga nem tartalmazza a szoftverek lefordításához szükséges forráskódot, hanem helyette csupán azokat az állományokat, amelyek a különböző külsős programok letöltéséhez, fordításához és telepítéséhez kellenek. A 4. fejezet - Alkalmazások telepítése: csomagok és portokben megtalálhatjuk, miként is kell használni ezt a gyűjteményt.

A telepítőprogram nem fogja ellenőrizni a kibontásához szükséges helyet, ezért csak abban az esetben válasszuk ezt a lehetőséget, ha mindenképpen elfér a merevlemezünkön. A FreeBSD jelenlegi, 8.1 változatában a Portgyűjtemény nagyjából 417 MB helyet foglal el a lemezen. A FreeBSD frissebb verzióiban nyugodtan feltételezhetünk ennél valamivel nagyobb értéket is.

                         User Confirmation Requested
 Would you like to install the FreeBSD ports collection?

 This will give you ready access to over 20 000 ported software packages,
 at a cost of around 417 MB of disk space when "clean" and possibly much
 more than that if a lot of the distribution tarballs are loaded
 (unless you have the extra CDs from a FreeBSD CD/DVD distribution
 available and can mount it on /cdrom, in which case this is far less
 of a problem).

 The Ports Collection is a very valuable resource and well worth having
 on your /usr partition, so it is advisable to say Yes to this option.

 For more information on the Ports Collection & the latest ports,
 visit:
     http://www.FreeBSD.org/ports

                              [ Yes ]     No

Az üzenet fordítása:

                      Felhasználói megerősítés szükséges
 Szeretné telepíteni a FreeBSD portjainak gyűjteményét?

 Ezen keresztül közel 20 000 portolt szoftvercsomaghoz tudunk
 könnyedén hozzáférni, amelyek "tiszta" állapotukban nagyjából
 417 MB lemezterületünkbe kerülnek, ami a későbbiekben
 valószínűleg majd növekedni fog, ahogy letöltjük a különböző
 szoftverekhez tartozó állományokat (hacsak nincs meg a FreeBSD
 valamelyik CD- vagy DVD alapú terjesztésének az összes lemeze,
 amelyeket a /cdrom könyvtárba csatlakoztatva el tudjuk ezeket érni,
 mert ekkor kevesebb gondunk lesz vele).

 A Portgyűjtemény egy nagyon értékes erőforrás, amelynek megéri helyet
 szentelni a /usr partíciónkon, ezért javasoljuk, hogy válassza az
 "Igen" opciót. A Portgyűjteményről és annak legújabb portjairól a
 http://www.FreeBSD.org/ports oldalon olvashat részletesebben.

                             [ Igen ]     Nem

A Portgyűjtemény telepítéséhez a [ Yes ] gombot, ennek kihagyásához pedig a [ No ] gombot válasszuk ki a nyilakkal, majd az Enter lenyomásával mehetünk tovább. Ekkor a kiválasztott terjesztések menüje fog újra megjelenni.

2.27. ábra - A terjesztések telepítésének megerősítése
A terjesztések telepítésének megerősítése

Ha elégedettek vagyunk a beállításokkal, válasszuk ki a nyilakkal az Exit menüpontot, győződjünk meg róla, hogy a [ OK ] gombon állunk, majd nyomjuk le az Enter billentyűt a folytatáshoz.

2.8. A telepítés eszközének kiválasztása

Ha CD-ről vagy DVD-ről telepítünk, akkor a következő képernyőn a nyílbillentyűkkel válasszuk ki a Install from a CDROM or DVD (Telepítés CD-ről vagy DVD-ről) menüpontot. Ügyeljünk a [ OK ] gomb kiválasztására is, majd a telepítés megkezdéséhez nyomjuk meg az Enter billenyűt.

A telepítés másfajta módszereinek alkalmazásához válasszuk ki a menüpontok közül a nekünk megfelelőt és kövessük a megjelenő utasításokat.

Az F1 billentyű lenyomására megjelenik az adott telepítőeszközhöz tartozó súgó. Innen az Enter lenyomása után térhetünk vissza a menühöz.

2.28. ábra - A telepítési eszköz kiválasztása
A telepítési eszköz kiválasztása

Telepítés FTP szerverről:

Három FTP-s telepítési mód közül választhatunk: aktív, passzív vagy HTTP proxyn keresztül.

Aktív FTP: Install from an FTP server (Telepítés FTP szerverről)

Ezzel a beállítással az összes FTP-n keresztüli átvitel aktív módban történik. Ez tűzfalak esetén nem működik, de gyakran alkalmazható olyan régebbi FTP szerverek esetén, amelyek nem ismerik az passzív adatátvitelt. Ha (az alapértelmezett) passzív módban megakadna a kapcsolat, próbáljunk meg helyette az aktívat.

Passzív FTP: Install from an FTP server through a firewall (Telepítés tűzfalon keresztül FTP szerverről)

Ezzel a beállítással a sysinstall programot az FTP művelet végrehajtásakor a passzív mód használatára utasítjuk. Így át tudunk menni olyan tűzfalakon is, amelyek nem engedik a véletlenszerű TCP portokon érkező kapcsolatokat.

FTP HTTP proxyn keresztül: Install from an FTP server through a http proxy (Telepítés HTTP proxyn keresztül FTP szerverről)

Ezzel a beállítással megmondhatjuk a sysinstall programnak, hogy (egy böngészőhöz hasonlóan) a HTTP protokollon keresztül használja az FTP műveletek elvégzéséhez használt proxyt. Ennek a proxynak lesz a feladata az átadott kérések lefordítása és elküldése az FTP szervernek. Ennek köszönhetően át tudunk menni olyan tűzfalakon is, amelyek egyáltalán nem engednek semmilyen FTP műveletet, azonban tartozik hozzájuk egy HTTP proxy. Ilyenkor az FTP szerver beállításai mellett meg kell adnunk ezt a HTTP proxyt is.

Az FTP szervert proxyn keresztül általában úgy érjük el, hogy a felhasználói név részeként egy @ jellel elválasztva megadjuk a ténylegesen elérni kívánt szerver nevét. A proxy szerver ezután helyettesíti a valódi szervert. Például tegyük fel, hogy a ftp.FreeBSD.org szerverről akarunk telepíteni az 1234 porton várakozó ize.minta.com proxy használatával.

Ehhez lépjünk be a beállításokat tartalmazó menübe, állítsuk az FTP kapcsolathoz használt felhasználói nevet az ftp@ftp.FreeBSD.org értékre, majd jelszónak adjuk meg az e-mail címünket. Telepítési eszközként adjuk meg az FTP-t (vagy a passzív FTP-t, amennyiben a proxy ismeri) és a ftp://ize.minta.com:1234/pub/FreeBSD címet.

Mivel az ftp.FreeBSD.org címről származó /pub/FreeBSD könyvtár a ize.minta.com szerveren keresztül érhető el számunkra, ezért lényegében arról a gépről fogunk telepíteni (amely pedig a telepítő kéréseire elhozza a ftp.FreeBSD.org szervertől az állományokat).

2.9. A telepítés véglegesítése

Ezután ha óhajtjuk, megkezdhetjük a telepítést. Ez egyben az utolsó lehetőségünk a telepítés megszakítására és merevlemezünket érintő változtatások érvénytelenítésére.

                       User Confirmation Requested
 Last Chance! Are you SURE you want to continue the installation?

 If you're running this on a disk with data you wish to save then WE
 STRONGLY ENCOURAGE YOU TO MAKE PROPER BACKUPS before proceeding!

 We can take no responsibility for lost disk contents!

                             [ Yes ]    No

Az üzenet fordítása:

                    Felhasználói megerősítés szükséges
 Utolsó esély: BIZTOSAN folytatni kívánja a telepítést?

 Ha olyan lemezre szeretne telepíteni, amelyen fontos adatok
 találhatóak, HATÁROZOTTAN JAVASOLJUK, hogy a továbblépés előtt
 KÉSZÍTSEN RÓLUK MEGBÍZHATÓ BIZTONSÁGI MÁSOLATOT!

 Nem vállalunk semmilyen felelősséget az elvesztett adatokért!

                            [ Igen ]    Nem

A továbblépéshez válasszuk a [ Yes ] gombot és nyomjuk meg az Enter billentyűt.

A telepítés időtartama a kiválasztott terjesztéstől, a telepítésre használt eszköztől és számítógépünk sebességétől függ. A folyamat előrehaladásáról üzenetek sorozata tájékoztat minket.

A telepítés befejezése után a következő üzenet jelenik meg:

                               Message

Congratulations! You now have FreeBSD installed on your system.

We will now move on to the final configuration questions.
For any option you do not wish to configure, simply select No.

If you wish to re-enter this utility after the system is up, you may
do so by typing: /usr/sbin/sysinstall.

                                 [ OK ]

                      [  Press enter or space  ]

A szöveg fordítása:

                               Üzenet

Gratulálunk, sikeresen telepítette a FreeBSD rendszert a számítógépére!

Most rátérünk az utolsó néhány kérdésre. A "Nem" választásával
egyszerűen átugorhatjuk mindazt, amit nem szeretnénk beállítani. Ezt a
segédprogramot a rendszer újbóli elindítása után a "/usr/sbin/sysinstall"
parancs begépelésével tudjuk elérni.

                                 [ OK ]

            [ Nyomja le az Enter vagy a Szóköz billentyűt ]

Az Enter billentyű lenyomásával megkezdhetjük a telepítés utáni beállításokat.

A [ No ] gomb kiválasztásával és az Enter lenyomásával megszakíthatjuk a telepítést, így a rendszerünkön semmilyen változtatás nem történik. Ilyenkor a következő üzenet jelenik meg:

                                Message
Installation complete with some errors.  You may wish to scroll
through the debugging messages on VTY1 with the scroll-lock feature.
You can also choose "No" at the next prompt and go back into the
installation menus to retry whichever operations have failed.

                                 [ OK ]

Az üzenet fordítása:

                                 Üzenet
A telepítés során hiba történt. A Scroll Lock használatával érdemes
átnézni a VTY1 terminál megjelenő üzeneteket. A következő ablakban a
"Nem" választásával vissza tudunk menni a telepítőmenühöz és
megpróbálkozhatunk ismét a sikertelen műveletek végrehajtásával.

                                 [ OK ]

Ez az üzenet azért jelent meg, mert semmit sem sikerült telepíteni. Innen az Enter megnyomásával térhetünk vissza a főmenübe, majd onnan tudunk kilépni a telepítőből.

2.10. A telepítés után

A sikeres telepítést különféle beállítások követik. Közülük az új FreeBSD rendszer indítása előtt bármelyik megismételhető a beállítások opcióit tartalmazó menü újbóli használatával, vagy pedig a telepítés után a sysinstall parancs kiadásával, majd a Configure (Beállítások) menüpont kiválasztásával.

2.10.1. A hálózati eszközök beállítása

A következő képernyő már nem jelenik meg, ha az FTP szerveren keresztüli telepítéshez korábban már beállítottuk a PPP kapcsolatot. Ez a korábbiakban említettek szerint állítható be.

Ha többet szeretnénk megtudni a helyi hálózatokról (LAN), vagy a FreeBSD-t átjáróként, illetve útválasztóként kívánjuk beállítani, olvassuk el az Egyéb haladó hálózati témák című fejezetet.

                      User Confirmation Requested
   Would you like to configure any Ethernet or PPP network devices?

                             [ Yes ]   No

Fordítása:

                   Felhasználói megerősítés szükséges
  Szeretnénk beállítani valamilyen Ethernet- vagy PPP hálózati eszközt?

                            [ Igen ]   Nem

A hálózati eszközeink beállításához válasszuk a [ Yes ] gombot, majd nyomjuk meg az Enter billentyűt. Ellenkező esetben a [ No ] gombbal mehetünk tovább.

2.29. ábra - Az Ethernet-eszköz kiválasztása
Az Ethernet-eszköz kiválasztása

A beállítandó csatoló kiválasztásához használjuk a nyílbillentyűket és utána nyomjuk meg az Enter billentyűt.

                      User Confirmation Requested
       Do you want to try IPv6 configuration of the interface?

                              Yes   [ No ]

Fordítás:

                   Felhasználói megerősítés szükséges
           Megpróbálkozik az IPv6 beállításával a csatolón?

                             Igen   [ Nem ]

A példánkban szereplő helyi hálózatban az aktuális internetes protokoll (IPv4) egyelőre megfelelő, ezért válasszuk a [ No ] gombot és nyomjuk meg az Enter billentyűt.

Amennyiben RA-szerveren keresztül egy már létező IPv6 hálózathoz csatlakozunk, akkor válasszuk a [ Yes ] gombot és nyomjuk meg az Enter billentyűt. Ezt követően az RA-szerverek felderítése kezdődik meg, ami néhány másodpercig eltarthat.

                             User Confirmation Requested
        Do you want to try DHCP configuration of the interface?

                              Yes   [ No ]

Az üzenet fordítása:

                          Felhasználói megerősítés szükséges
            Megpróbálkozik a DHCP használatával a csatolón?

                             Igen   [ Nem ]

Ha nincs szükségünk a DHCP (Dynamic Host Configuration Protocol, azaz a Dinamikus állomáskonfigurációs protokoll) használatára, akkor a [ No ] gomb kiválasztásával majd az Enter lenyomásával továbbléphetünk.

A [ Yes ] gomb kiválasztására elindul a dhclient nevű program, és amennyiben sikerrel jár, magától kitölti a hálózati beállításokra vonatkozó adatokat. Ennek részleteit a 29.5. szakasz - A hálózat automatikus beállítása (DHCP)ben találhatjuk meg.

Az alábbi hálózati beállító képernyő mutatja a helyi hálózat átjárójaként használni kívánt Ethernet-eszköz konfigurációját.

2.30. ábra - Az ed0 hálózati beállítása
Az ed0 hálózati beállítása

A Tab billentyűvel tudunk navigálni az adatlap mezői között és kitölteni ezeket a megfelelő információkkal:

Host (Számítógépnév)

A számítógépünk teljes neve, amely a példában most k6-2.example.com.

Domain (Tartomány)

Annak a tartománynak a neve, amelyben a számítógépünk a található. Ez itt konkrétan a example.com.

IPv4 Gateway (IPv4-átjáró)

A helyben nem elérhető célok megközelítésére használt gép IP-címe. Ezt a mezőt mindenképpen töltsük ki akkor, ha a számítógépünk valamilyen hálózatba van kötve. Azonban hagyjuk üresen, ha a számítógép a hálózat átjárója az internet felé. Az IPv4 átjárót más néven default gateway-nek (alapértelmezett átjárónak) vagy default route-nak (alapértelmezett útvonalnak) is nevezik.

Name server (Névszerver)

A helyi DNS (névfeloldó) szerverünk IP-címe. Ha nem található ilyen a helyi hálózatunkon, akkor az internet-szolgáltató DNS szerverének címét (a példában ez a 208.163.10.2) adjuk meg.

IPv4 address (IPv4-cím)

A csatoló IP-címe, amely az ábrán a 192.168.0.1.

Netmask (Hálózati maszk)

A helyi hálózatban használt címtartomány a 192.168.0.0 - 192.168.0.255, amihez a 255.255.255.0 hálózati maszk tartozik.

Extra options to ifconfig (Az ifconfig további beállításai)

Az ifconfig parancs adott csatolóra vonatkozó egyéb beállításai. Jelen esetünkben itt semmi sem szerepel.

Miután végeztünk, a Tab billentyű lenyomásával válasszuk ki a [ OK ] gombot és nyomjuk le az Enter billentyűt.

                      User Confirmation Requested
        Would you like to bring the ed0 interface up right now?

                             [ Yes ]   No

A fordítás:

                   Felhasználói megerősítés szükséges
                     Aktiválja most az ed0 csatolót?

                            [ Igen ]   Nem

A [ Yes ] gomb kiválasztásával, majd az Enter lenyomásával csatlakoztatjuk a számítógépet a hálózathoz, ami ezután használhatóvá válik. Ez azonban a telepítés számára nem jelent túlságosan sokat, hiszen ettől függetlenül a számítógépet egyébként is újra kell majd indítanunk.

2.10.2. Az átjáró beállítása

                       User Confirmation Requested
       Do you want this machine to function as a network gateway?

                              [ Yes ]    No

A fordítás:

                    Felhasználói megerősítés szükséges
       Ezt a számítógépet hálózati átjáróként is használni akarja?

                             [ Igen ]    Nem

Ha a számítógépet a helyi hálózat átjárójaként használni akarjuk gépek közti csomagok továbbítására, akkor válasszuk a [ Yes ] gombot és nyomjuk meg hozzá az Enter billentyűt. Ha viszont ez a gép csupán a hálózat egy tagja, akkor válasszuk a [ No ] gombot és a folytatáshoz nyomjuk meg az Enter billentyűt.

2.10.3. A hálózati szolgáltatások beállítása

                      User Confirmation Requested
Do you want to configure inetd and the network services that it provides?

                               Yes   [ No ]

Fordítás:

                   Felhasználói megerősítés szükséges
Beállítja az inetd démont és az általa felkínált hálózati szolgáltatásokat?

                              Igen   [ Nem ]

Ha itt a [ No ] gombot választjuk, akkor ezzel kikapcsoljuk a különböző szolgáltatásokat, például a telnetd démont. Ez azt jelenti, hogy a távoli felhasználók nem lesznek képesek a telnet program használatával belépni erre a számítógépre. A helyi felhasználók viszont továbbra is képesek lesznek távoli számítógépeket elérni a telnet segítségével.

Az /etc/inetd.conf átírásával azonban ezek a szolgáltatások később természetesen engedélyezhetőek. A 29.2.1. szakasz - Áttekintés foglalkozik a téma részleteivel.

A [ Yes ] gomb választásával már a telepítés során beállíthatjuk a szolgáltatásokat. Ekkor egy további párbeszédablak is felbukkan:

                      User Confirmation Requested
The Internet Super Server (inetd) allows a number of simple Internet
services to be enabled, including finger, ftp and telnetd.  Enabling
these services may increase risk of security problems by increasing
the exposure of your system.

With this in mind, do you wish to enable inetd?

                             [ Yes ]   No

Fordítása:

                   Felhasználói megerősítés szükséges
A fő internetes kiszolgáló (az inetd) számos egyszerű internetes
szolgáltatás, többek közt a finger, ftp és telnet elérését teszi
lehetővé. Ezen szolgáltatások engedélyezése azonban a felmerülő
biztonsági problémák kockázatát, mivel ezzel rendszerünket jobban
kitesszük támadásoknak.

Mindezek tudatában használni kívánja az inetd démont?

                            [ Igen ]   Nem

A folytatáshoz válasszuk a [ Yes ] gombot.

                      User Confirmation Requested
inetd(8) relies on its configuration file, /etc/inetd.conf, to determine
which of its Internet services will be available.  The default FreeBSD
inetd.conf(5) leaves all services disabled by default, so they must be
specifically enabled in the configuration file before they will
function, even once inetd(8) is enabled.  Note that services for
IPv6 must be separately enabled from IPv4 services.

Select [Yes] now to invoke an editor on /etc/inetd.conf, or [No] to
use the current settings.

                             [ Yes ]   No

Fordítás:

                   Felhasználói megerősítés szükséges
Az inetd(8) démonnak az elérhető internetes szolgáltatások
megállapításához szüksége van a beállításait tartalmazó
/etc/inetd.conf állományra. A FreeBSD-hez tartozó inetd.conf(5)
állomány alapértelmezés szerint az összes szolgáltatást letiltja,
ezért a működéséhez minden egyes szolgáltatást külön kell engedélyezni
az említett állományban, még abban az esetben is, ha az inetd(8)
démont korábban már engedélyeztük. Az IPv6 szolgáltatások az IPv4
szolgáltatásoktól külön engedélyezendőek.

Az [ Igen ] választásával behívjuk az /etc/inetd.conf szerkesztését,
míg a [ Nem ] választásával pedig az imént felvázolt beállításokat
fogadjuk el.

                            [ Igen ]   Nem

A [ Yes ] gomb kiválasztásával lehetőségünk nyílik szolgáltatásokat engedélyezni a sorok elején található # jel törlésével.

2.31. ábra - Az inetd.conf módosítása
Az inetd.conf módosítása

Miután felvettük az összes használni kívánt szolgáltatást, az Esc billentyű lenyomásával előhozhatjuk azt a menüt, ahol elmenthetjük a módosításainkat és kiléphetünk.

2.10.4. Az SSH-n keresztüli bejelentkezés engedélyezése

                      User Confirmation Requested
                  Would you like to enable SSH login?
                           Yes        [  No  ]

Fordítás:

                   Felhasználói megerősítés szükséges
               Engedélyezi az SSH-n keresztüli bejelentkezést?
                          Igen        [  Nem  ]

A [ Yes ] gomb kiválasztása engedélyezi az OpenSSH-hoz tartozó sshd(8) démont, aminek segítségével a számítógépünkre biztonságosan be tudunk jelentkezni távolról. Az OpenSSH részleteiről lásd a 14.11. szakasz - OpenSSHt.

2.10.5. Anonim FTP

                      User Confirmation Requested
 Do you want to have anonymous FTP access to this machine?

                              Yes    [ No ]

Fordítás:

                   Felhasználói megerősítés szükséges
 Hozzáférhető legyen ez a számítógép anonim FTP használatán keresztül?

                             Igen    [ Nem ]

2.10.5.1. Az anonim FTP tiltása

Az alapértelmezett [ No ] gomb kiválasztásával és az Enter billentyű lenyomásával a jelszóval védett FTP hozzáféréssel rendelkező felhasználók továbbra is elérhetik a számítógépünket.

2.10.5.2. Az anonim FTP engedélyezése

Ha ezt választjuk, akkor anonim FTP kapcsolaton keresztül bárki hozzáférhet a számítógépünkhöz. Ebben az esetben azonban alaposan meg kell fontolnunk néhány biztonsági következményt. A beállítással járó kockázatokról az 14. fejezet - Biztonságben olvashatunk többet.

Az anonim FTP bekapcsolásához a nyílbillentyűkkel válasszuk ki a [ Yes ] feliratú gombot és nyomjuk meg az Enter billentyűt. Ekkor egy további párbeszédablak is megjelenik:

                       User Confirmation Requested
 Anonymous FTP permits un-authenticated users to connect to the system
 FTP server, if FTP service is enabled.  Anonymous users are
 restricted to a specific subset of the file system, and the default
 configuration provides a drop-box incoming directory to which uploads
 are permitted.  You must separately enable both inetd(8), and enable
 ftpd(8) in inetd.conf(5) for FTP services to be available.  If you
 did not do so earlier, you will have the opportunity to enable inetd(8)
 again later.

 If you want the server to be read-only you should leave the upload
 directory option empty and add the -r command-line option to ftpd(8)
 in inetd.conf(5)

 Do you wish to continue configuring anonymous FTP?

                          [ Yes ]         No

Az üzenet fordítása:

                     Felhasználói megerősítés szükséges

 Az anonim FTP használatával a rendszer FTP szolgáltatásához
 hitelesítetlen felhasználók is hozzáférhetnek, amennyiben az aktív. A
 névtelen felhasználók az állományrendszernek csak egy részét érhetik
 el, valamint az alapbeállítások szerint a feltöltést egy külön erre
 a célra fenntartott könyvtárba végezhetik el. Az FTP szolgáltatás
 használatát külön engedélyeznünk kell az inetd(8) démon részéről és
 az inetd.conf(5) állományban található ftpd(8) démon aktiválásával.
 Ha eddig még nem tettük volna meg, akkor az inetd(8) használatát
 később még újra engedélyezhetjük.

 Ha csak letöltést kívánunk engedni, akkor hagyjuk a feltöltési
 könyvtárra vonatkozó paramétert üresen és az inetd.conf(5)
 állományban az ftpd(8) parancssorához adjuk hozzá az -r kapcsolót.

 Folytatja az anonim FTP beállítását?

                         [ Igen ]         Nem

Az üzenet értesít minket arról, hogy az anonim FTP kapcsolatok engedélyezéséhez az FTP szolgáltatást az /etc/inetd.conf állományban is be kell majd kapcsolni, lásd 2.10.3. szakasz - A hálózati szolgáltatások beállítása. Válasszuk a [ Yes ] gombot és a folytatáshoz nyomjuk meg az Enter billentyűt. Ekkor a következő képernyő jön elő:

2.32. ábra - Az anonim FTP alapbeállításai
Az anonim FTP alapbeállításai

A beállítások kitöltése során a Tab billentyűvel mozoghatunk az adatmezők között:

UID (felhasználói azonosító)

A névtelen FTP felhasználókhoz társított felhasználói azonosító. A feltöltött állomány tulajdonosa ez az azonosító lesz.

Group (csoport)

A névtelen FTP felhasználók csoportja.

Comment (megjegyzés)

Ez a szöveg szerepel a felhasználónál az /etc/passwd állományban.

FTP Root Directory (az FTP gyökere)

Itt találhatóak az anonim FTP-n keresztül elérhető állományok.

Upload Subdirectory (feltöltési könyvtár)

A névtelen FTP felhasználók által feltöltött állományok ide kerülnek.

Az FTP gyökere alapból a /var könyvtár lesz. Ha a becsült FTP-forgalom lebonyolításához itt nem rendelkezünk elegendő hellyel, akkor az /usr könyvtárban található /usr/ftp alkönyvtár is beállítható az FTP gyökerének.

Ha elfogadhatónak találjuk az értékeket, nyomjuk le az Enter billentyűt a folytatáshoz.

                          User Confirmation Requested
         Create a welcome message file for anonymous FTP users?

                              [ Yes ]    No

Fordítás:

                       Felhasználói megerősítés szükséges
        Létre kíván hozni egy köszöntő üzenetet tartalmazó állományt
        az anonim FTP felhasználók számára?

                             [ Igen ]    Nem

A [ Yes ] választásával és az Enter megnyomásával az üzenet szerkesztéséhez egy szövegszerkesztő fog elindulni.

2.33. ábra - Az FTP köszöntő üzenetének szerkesztése
Az FTP köszöntő üzenetének szerkesztése

Ez az ee szövegszerkesztő. Az üzenet átírásához használjuk a megadott utasításokat, de akár később is módosíthatjuk ezt a kedvenc szövegszerkesztőnkkel. Ehhez a módosítandó állomány neve és helye a szerkesztő képernyőjének alján olvasható.

A kilépéshez az Esc lenyomására felbukkanó menüben alapból az a) leave editor (kilépés a szerkesztőből) menüpont érhető el, ezért itt az Enter lenyomásával léphetünk tovább. Az Enter ismételt lenyomásával elmenthetjük a módosításainkat.

2.10.6. A hálózati állományrendszer beállítása

A hálózati állományrendszer (Network File System, NFS) állományok közzétételét teszi lehetővé hálózaton keresztül. Használata során egy számítógép beállítható szervernek, kliensnek vagy akár mindkettőnek. Ezzel kapcsolatban a 29.3. szakasz - A hálózati állományrendszer (NFS) ajánlott elolvasásra.

2.10.6.1. Az NFS szerver

                       User Confirmation Requested
 Do you want to configure this machine as an NFS server?

                              Yes    [ No ]

A fordítása:

                   Felhasználói megerősítés szükséges
   Be akarja állítani NFS szervernek ezt a számítógépet?

                             Igen    [ Nem ]

Ha nincs szükségünk a hálózati állományrendszer szerver részére, akkor válasszuk a [ No ] gombot és nyomjuk le az Enter billentyűt.

Amennyiben a [ Yes ] gombot választjuk, egy üzenet fogja közölni velünk, hogy létre kell hoznunk az exports állományt.

                               Message
Operating as an NFS server means that you must first configure an
/etc/exports file to indicate which hosts are allowed certain kinds of
access to your local filesystems.
Press [Enter] now to invoke an editor on /etc/exports
                               [ OK ]

Az üzenet fordítása:

                               Üzenet
Az NFS szerver működtetéséhez először az /etc/exports állomány
összeállításán keresztül meg kell adnunk, hogy milyen gépek milyen
típusú hozzáféréssel rendelkezzenek a helyi állományrendszereinken.
Az [Enter] lenyomására megkezdődik az /etc/exports állomány
szerkesztése.
                              [ OK ]

Az Enter billentyű lenyomásával továbbléphetünk. Ekkor az exports állomány létrehozására és szerkesztésére egy szövegszerkesztő indul el.

2.34. ábra - Az exports szerkesztése
Az exports szerkesztése

A exportálni kívánt állományrendszerek felsorolásához használjuk képernyőn a megadott utasításokat, vagy tegyük meg ezt később az általunk választott szövegszerkesztő segítségével. Ilyenkor ne felejtsük el megjegyezni az állomány képernyő alján látható nevét és helyét.

Amikor végeztünk, az Esc billentyűvel felhozható menüben alapból az a) leave editor (kilépés a szövegszerkesztőből) menüpont aktív, ezért itt a folytatáshoz egyszerűen nyomjuk le az Enter billentyűt.

2.10.6.2. Az NFS kliens

Az NFS kliens beállításával NFS szerverekhez tudunk hozzáférni.

                       User Confirmation Requested
 Do you want to configure this machine as an NFS client?

                              Yes   [ No ]

Fordítás:

                    Felhasználói megerősítés szükséges
      Beállítja NFS kliensnek ezt a számítógépet?

                             Igen   [ Nem ]

A nyílbillentyűkkel igényeinknek megfelelően válasszuk a [ Yes ] vagy [ No ] gombokat és utána nyomjuk meg az Enter billentyűt.

2.10.7. A rendszerkonzol beállításai

Számos beállítás kapcsolódik a rendszerben található konzolok testreszabásához.

                      User Confirmation Requested
       Would you like to customize your system console settings?

                              [ Yes ]  No

Fordítás:

                   Felhasználói megerősítés szükséges
               Testreszabja a rendszerkonzol beállításait?

                             [ Igen ]  Nem

A beállítások megtekintéséhez és megváltoztatásához válasszuk a [ Yes ] gombot és nyomjuk le az Enter billentyűt.

2.35. ábra - A rendszerkonzol beállításai
A rendszerkonzol beállításai

A képernyőkímélő beállítása egy gyakori opció. A nyilak használatával álljunk a Saver menüpontra, majd nyomjuk le az Enter billentyűt.

2.36. ábra - A képernyőkímélő beállításai
A képernyőkímélő beállításai

A nyilakkal válasszuk ki a használni kívánt képernyőkímélőt és nyomjuk meg hozzá az Enter billentyűt. Ekkor a rendszerkonzol beállításait tartalmazó menü jelenik meg ismét.

Az aktivizálódás ideje alapbeállítás szerint 300 másodperc. Ennek megváltoztatásához válasszuk ismét a Saver menüpontot. A képernyőkímélő beállításait tartalmazó menüben a nyílbillentyűkkel válasszuk a Timeout (Időkorlát) menüpontot és nyomjuk meg az Enter billentyűt. Ekkor egy párbeszédablak jelenik meg:

2.37. ábra - A képernyőkímélőhöz tartozó időkorlát beállítása
A képernyőkímélőhöz tartozó időkorlát beállítása

Miután megváltoztattuk az értéket, a rendszerkonzol beállításához a [ OK ] gomb kiválasztásával, majd az Enter billentyű lenyomásával térhetünk vissza.

2.38. ábra - Kilépés a rendszerkonzol beállító menüjéből
Kilépés a rendszerkonzol beállító menüjéből

A Exit (Kilépés) választásával és az Enter lenyomásával folytathatjuk tovább a telepítés utólagos beállításait.

2.10.8. Az időzóna beállítása

Ha kiválasztjuk számítógépünk számára a megfelelő időzónát, akkor lehetővé tesszük, hogy magától elvégezze a helyi időhöz kapcsolódó összes szükséges korrekciót és helyesen kezelje az időzónákhoz kapcsolódó többi funkciót.

A példában az Egyesült Államok keleti időzónájában elhelyezkedő számítógépet láthatunk. A mi beállításaink természetesen a saját földrajzi helyzetünktől függenek.

                      User Confirmation Requested
          Would you like to set this machine's time zone now?

                            [ Yes ]   No

Fordítás:

                    Felhasználói megerősítés szükséges
                 Beállítja most a számítógép időzónáját?

                           [ Igen ]   Nem

A [ Yes ] gomb és az Enter billentyű segítségével kiválaszthatjuk az időzóna beállítását.

                       User Confirmation Requested
 Is this machine's CMOS clock set to UTC? If it is set to local time
 or you don't know, please choose NO here!

                              Yes   [ No ]

Fordítás:

                     Felhasználói megerősítés szükséges
 A számítógép órája az egységes világidőhöz (UTC) van beállítva? Ha a
 helyi időhöz vagy nem tudjuk, akkor itt válasszuk a NEM gombot!

                             Igen   [ Nem ]

A számítógépünk órájának beállításának megfelelően válasszuk a [ Yes ] vagy [ No ] gombot, és nyomjuk meg az Enter billentyűt.

2.39. ábra - A térség kiválasztása
A térség kiválasztása

A nyilakkal kiválasztható a megfelelő térség, amit aztán az Enter billentyűvel tudunk lezárni.

2.40. ábra - Az ország kiválasztása
Az ország kiválasztása

A megfelelő ország a nyílbillentyűkkel, valamint az Enter billentyűvel választható ki.

2.41. ábra - Az időzóna kiválasztása
Az időzóna kiválasztása

A nekünk megfelelő időzóna a nyilakkal választható meg, amit ezután az Enter billentyűvel tudunk jóváhagyni.

                            Confirmation
            Does the abbreviation 'EDT' look reasonable?

                            [ Yes ]   No

Az üzenet fordítása:

                             Megerősítés
                 Ezek szerint az 'EDT' elfogadható?

                           [ Igen ]   Nem

Erősítsük meg, hogy az időzóna helyes-e. Ha rendbenlevőnek látszik, nyomjuk meg az Enter billentyűt a folytatáshoz.

2.10.9. Linux binárisok használata

Megjegyzés:

Ez a rész csak a FreeBSD 7.X telepítésére vonatkozik, FreeBSD 8.X esetén ez a képernyő nem jelenik meg.

                      User Confirmation Requested
          Would you like to enable Linux binary compatibility?

                            [ Yes ]   No

A fordítás:

                   Felhasználói megerősítés szükséges
               Engedélyezi a Linux binárisok futtatását?

                           [ Igen ]   Nem

A [ Yes ] gomb kiválasztásával és az Enter lenyomásával megengedjük, hogy a Linuxra készült szoftvereket futtassunk FreeBSD-n. A telepítő ennek biztosításához még további csomagokat is fel fog rakni.

Ha FTP-n keresztül telepítünk, akkor a számítógépnek csatlakoznia kell az internetre. Ilyenkor előfordulhat, hogy az FTP szerveren nem találhatóak meg a Linux® kompatibilitással kapcsolatos csomagok. Ezeket azonban később is telepíthetjük.

2.10.10. Az egér beállításai

Ezen beállítás használatával egy háromgombos egérrel lehetőségünk adódik a konzol és a felhasználói programok között kivágni és bemásolni szövegeket. Kétgombos egér használata esetén nézzük meg a moused(8) man oldalán, miként tudjuk emulálni a háromgombos működést. A következő példa egy nem USB-s (tehát PS/2-es vagy soros portra csatlakozó) egér beállítását illusztrálja:

                      User Confirmation Requested
         Does this system have a PS/2, serial, or bus mouse?

                            [ Yes ]    No 

Fordítás:

                   Felhasználói megerősítés szükséges
      Csatlakozik a rendszeréhez PS/2-es, soros vagy buszos egér?

                           [ Igen ]    Nem

A PS/2, soros vagy buszos egér használatához válasszuk a [ Yes ] gombot, illetve az USB-s egérhez pedig a [ No ] gombot, majd nyomjuk meg az Enter billentyűt.

2.42. ábra - Az egér által használt protokoll típusának beállítása
Az egér által használt protokoll típusának beállítása

A nyílbillentyűk használatával keressük ki a Type (Típus) menüpontot és nyomjuk le az Enter billentyűt.

2.43. ábra - Az egér protokolljának beállítása
Az egér protokolljának beállítása

A példában használt egér típusa PS/2, ezért itt a alapértelmezés szerint felkínált Auto megfelelő. A protokoll megváltoztatásához a nyilakkal válasszunk ki egy másikat. Ezután gondoskodjunk róla, hogy az [ OK ] gombot választottuk ki és a kilépéshez nyomjuk meg az Enter billentyűt.

2.44. ábra - Az egér portjának beállítása
Az egér portjának beállítása

A nyílbillentyűkkel válasszuk ki a Port menüpontot és nyomjuk meg az Enter billentyűt.

2.45. ábra - Az egér portjának kiválasztása
Az egér portjának kiválasztása

Mivel a példában szereplő rendszerhez egy PS/2 egér csatlakozik, ezért az alapértelmezett PS/2 menüpont megfelelőnek tűnik. A port megváltoztatásához használjuk a nyilakat, majd nyomjuk le az Enter billentyűt.

2.46. ábra - Az egérdémon engedélyezése
Az egérdémon engedélyezése

Befejezésül a egérhez tartozó démon aktiválásához és kipróbálásához válasszuk ki a nyilakkal az Enable (Engedélyezés) menüpontot.

2.47. ábra - Az egérdémon kipróbálása
Az egérdémon kipróbálása

Próbáljuk mozgatni a képernyőn megjelenő egérkurzort, és ellenőrizzük, hogy a kurzor a mozdulatainknak megfelelően reagál-e. Ha mindent rendben találunk, akkor válasszuk a [ Yes ] gombot és nyomjuk le az Enter billentyűt. Ellenkező esetben az egeret nem jól állítottuk be — válasszuk a [ No ] gombot és kísérletezzünk tovább más beállításokkal.

Az utólagos beállítások folytatásához válasszuk először az Exit (Kilépés) menüpontot, majd nyomjuk meg az Enter billentyűt.

2.10.11. Csomagok telepítése

A csomagok előre lefordított binárisokat tartalmaznak, és használatukkal igen kényelmesen tudunk szoftvereket telepíteni.

Szemléltetés céljából most bemutatjuk az egyik ilyen csomag telepítését. Természetesen igény szerint más csomagokat is hozzávehetünk. A telepítés után a sysinstall parancs használható további csomagok telepítésére.

                     User Confirmation Requested
 The FreeBSD package collection is a collection of hundreds of
 ready-to-run applications, from text editors to games to WEB servers
 and more. Would you like to browse the collection now?

                            [ Yes ]   No

Az üzenet fordítása:

                 Felhasználói megerősítés szükséges
 A FreeBSD csomaggyűjteménye többezernyi azonnal használható
 alkalmazást tartalmaz, a szövegszerkesztőktől a játékokon keresztül a
 WEBszervereken át szinte mindent. Át kívánja lapozni most ezt a
 gyűjteményt?

                           [ Igen ]   Nem

A [ Yes ] kiválasztása és az Enter lenyomása után a csomagválasztó képernyő következik:

2.48. ábra - A csomagok kategóriájának kiválasztása
A csomagok kategóriájának kiválasztása

Ekkor csak az adott telepítőeszközön elérhető csomagok fognak megjelenni.

Az összes csomagot az All (Mind) menüpont kiválasztásával láthatjuk, vagy leszűkíthetjük ezt egy adott kategóriára is. Álljunk a kiválasztott kategóriához tartozó menüpontra és nyomjuk meg az Enter billentyűt.

Ezután egy menü fogja felsorolni az adott kategórián belül telepíthető csomagokat:

2.49. ábra - Csomag kiválasztása
Csomag kiválasztása

A példában a bash parancsértelmezőt választottuk ki. Válogassunk kedvünkre a csomagok között, és álljunk a telepíteni kívántakra, majd a Szóköz billentyű lenyomásával jelöljük be ezeket. Minden egyes csomag rövid leírása a képernyő bal alsó sarkában olvasható.

A Tab billentyű segítségével mozoghatunk az utoljára kiválasztott csomag, az [ OK ] és [ Cancel ] gombok között.

Miután bejelöltük az összes telepítésre szánt csomagot, a csomagválasztó menübe úgy tudunk visszatérni, ha a Tab billentyűvel átváltunk az [ OK ] gombra és nyomjuk meg az Enter billentyűt.

Ezeken felül a bal és jobb nyilak használhatóak az [ OK ] és [ Cancel ] gombok közti váltásra. Ugyanezzel a módszerrel választható ki az [ OK ] gomb is, ami után az Enter billentyű megnyomásával visszajutunk a csomagválasztó menübe.

2.50. ábra - Csomagok telepítése
Csomagok telepítése

A nyilakkal és a Tab billentyűvel válasszuk ki az [ Install ] (Telepítés) gombot és nyomjuk meg az Enter billentyűt. Ekkor meg kell erősítenünk a csomagok telepítését:

2.51. ábra - Csomagok telepítésének megerősítése
Csomagok telepítésének megerősítése

Az [ OK ] kiválasztása majd az Enter billentyű lenyomása indítja el a csomagok telepítését. A telepítés befejezéséig különböző üzenetek fognak megjelenni. Figyeljünk az ilyenkor felbukkanó hibaüzenetekre!

A beállítások véglegesítése a csomagok telepítése után folytatódik. Amennyiben egyetlen csomagot sem választottunk és szeretnénk továbblépni, akkor is az Install (Telepítés) gombot válasszuk.

2.10.12. Felhasználók és csoportok felvétele

A telepítés során legalább egy felhasználót érdemes hozzáadnunk a rendszerhez, mivel a rendszer használatához így nem kell root felhasználóként bejelentkezni. Általánosságban véve ahhoz egyébként is kicsi a gyökérpartíció, hogy root felhasználóként (rendszeradminisztrátorként) futtassunk rajta programokat, és gyorsan be is telik. A nagyobb veszélyt azonban itt olvashatjuk:

                     User Confirmation Requested
 Would you like to add any initial user accounts to the system? Adding
 at least one account for yourself at this stage is suggested since
 working as the "root" user is dangerous (it is easy to do things which
 adversely affect the entire system).

                            [ Yes ]   No
                  Felhasználói megerősítés szükséges
 Szeretnénk mosta rendszerbe felvenni felhasználói fiókokat? Ebben a
 lépésben legalább egy felhasználó felvétele javasolt, hiszen "root"
 felhasználóként veszélyes dolgozni (mivel így könnyen tehetünk olyan
 dolgokat, amelyek káros hatással lehetnek rendszerünkre).

                           [ Igen ]   Nem

Ezért válasszuk a [ Yes ] gombot és az Enter billentyű lenyomásával lépjünk tovább a felhasználók felvételéhez.

2.52. ábra - Felhasználók kiválasztása
Felhasználók kiválasztása

A nyílbillentyűkkel válasszuk ki a User (Felhasználó) menüpontot és nyomjuk meg az Enter billentyűt.

2.53. ábra - A felhasználó adatainak megadása
A felhasználó adatainak megadása

Amikor a Tab billentyűvel lépkedünk a kitöltendő mezők között, a képernyő alsó részén az alábbi leírások magyarázzák az egyes mezők tartalmát:

Login ID (Bejelentkezési azonosító)

Az új felhasználó bejelentkezési neve (kötelező).

UID (Felhasználói azonosító)

A felhasználó számszerű azonosítója (automatikusan létrejön, ha üresen hagyjuk).

Group (Csoport)

A felhasználó bejelentkezési csoportjának neve (automatikusan létrejön, ha üresen hagyjuk).

Password (Jelszó)

A felhasználó jelszava (óvatosan bánjunk ezzel a mezővel!)

Full name (Teljes név)

A felhasználó teljes neve (megjegyzés).

Member groups (További csoportok)

A felhasználó ezen csoportoknak is tagja (tehát rendelkezik az engedélyeikkel).

Home directory (Felhasználói könyvtár)

A felhasználó saját könyvtára (ha üresen hagyjuk, az alapértelmezés szerint töltődik ki).

Login shell (Parancsértelmezől)

A felhasználó által használt parancsértelmező (ha üresen hagyjuk, az alapértelmezés szerint töltődik, mint például /bin/sh).

Az ábrán a bejelentkezés után használt parancsértelmezőt a /bin/sh parancsértelmezőről a /usr/local/bin/bash parancsértelmezőre változtattuk, így most a korábban telepített bash parancsértelmezőt fogjuk használni. Itt ne is próbáljunk nem létező parancsértelmezőt kiválasztani, hiszen ekkor nem tudunk majd bejelentkezni. A BSD világban egyébként a C shell a leggyakrabban használt, amelyet a /bin/tcsh megadásával választhatjuk ki.

Az ábrán szereplő felhasználót ezenkívül még a wheel csoportba is felvettük, aminek köszönhetően képes lesz a rendszerünkben a root felhasználói jogaival rendelkező rendszeradminisztrátorrá válni.

Amikor mindent megfelelőnek találunk, nyomjunk az [ OK ] gombra és ekkor ismét a felhasználók és csoportok karbantartását tartalmazó menü jelenik meg:

2.54. ábra - Kilépés a felhasználók és csoportok menüjéből
Kilépés a felhasználók és csoportok menüjéből

Csoportokat is létre tudunk hozni, amennyiben erre szükségünk lenne. Ez a rész a telepítés befejezése után továbbra is elérhető a sysinstall parancs segítségével.

Amikor befejeztük a felhasználók hozzáadását, a nyilakkal válasszuk ki az Exit (Kilépés) menüpontot és a telepítés folytatásához nyomjuk meg az Enter billentyűt.

2.10.13. A root felhasználó jelszavának megadása

                        Message
 Now you must set the system manager's password.
 This is the password you'll use to log in as "root".

                         [ OK ]

               [ Press enter or space ]

Fordítása:

                         Üzenet
 Most meg kell adnia a rendszergazda jelszavát. Ezt a jelszót
 kell a "root" felhasználó bejelentkezésekor használni.

                         [ OK ]

     [ Nyomja le az Enter vagy a Szóköz billentyűt ]

A root felhasználó jelszavának beállításához nyomjuk meg az Enter billentyűt.

A jelszót kétszer kell megadnunk. Felesleges megemlíteni, hogy gondoskodjunk arról az esetről is, ha véletlenül elfelejtenénk ezt a jelszót. Megemlítjük, hogy az itt begépelt jelszó nem lesz látható és a betűk helyett sem jelennek meg csillagok.

New password:
Retype new password :

A jelszó sikeres megadása után a telepítés folytatódik.

2.10.14. Kilépés a telepítőből

Ha be szeretnénk még állítani egyéb hálózati szolgáltatást vagy valamilyen más konfigurációs lépést kívánunk még elvégezni, ezen a ponton megtehetjük vagy a telepítés után a sysinstall parancs kiadásával.

                     User Confirmation Requested
 Visit the general configuration menu for a chance to set any last
 options?

                              Yes   [ No ]

Fordítás:

                  Felhasználói megerősítés szükséges
 Végignézi még utoljára a beállításokat arra az esetre, ha véletlenül
 kihagytunk volna valamit?

                             Igen   [ Nem ]

Ha a nyilakkal a [ No ] gombot választjuk, majd megnyomjuk rajta az Enter billentyűt, akkor visszatérünk a telepítő főmenüjébe.

2.55. ábra - Kilépés a telepítőből
Kilépés a telepítőből

Válasszuk ki a nyílbillentyűkkel a [X Exit Install] (Kilépés a telepítőből) gombot és nyomjuk meg az Enter billentyűt. Ezután meg kell erősítenünk kilépési szándékunkat:

                     User Confirmation Requested
 Are you sure you wish to exit? The system will reboot.

                            [ Yes ]   No

Fordítás:

                  Felhasználói megerősítés szükséges
         Valóban ki akar lépni? A rendszer ezt követően újra fog
         indulni!

                           [ Igen ]    Nem

Válasszuk a [ Yes ] gombot. Ha CD-meghajtóról indítottuk a telepítést, akkor a következő üzenet fog figyelmeztetni minket a lemez kivételére:

                     Message
 Be sure to remove the media from the drive.

                    [ OK ]
           [ Press enter or space ]

Fordítás:

                     Üzenet
 Ne felejtsük el kivenni a CD-lemezt a meghajtóból.

                    [ OK ]
        [ Nyomjunk Entert vagy szóközt ]

A CD-meghajtó egészen az újraindítás megkezdéséig zárolt lesz, ezért csak ekkor tudjuk (gyorsan) kivenni a meghajtóból a lemezt. Nyomjuk meg az [ OK ] gombot az újraindításhoz.

A rendszer újraindul, legyünk résen és figyeljük a megjelenő hibaüzeneteket, erről bővebben lásd a 2.10.16. szakasz - A FreeBSD indulásaban.

2.10.15. További hálózati szolgálatások beállítása

Írta: Rhodes, Tom.

A hálózati szolgáltatások terén csekély tapasztalattal rendelkező kezdő felhasználók számára ijesztő lehet ezek beállítása. A hálózatok és többek közt az internet kezelése napjaink modern operációs rendszereink, így a FreeBSD-nek is az egyik fontos területe. Ezért nagyon hasznos ismernünk valamennyire a FreeBSD által felkínált hálózati lehetőségeket. A telepítés közben ezért a felhasználónak tisztában kell lennie a rendelkezésére álló szolgáltatásokkal.

A hálózati szolgáltatások olyan programok, amelyek a hálózat minden részéről fogadnak adatokat. Mindent el kell követnünk annak érdekében, hogy ezek a programok ne tehessenek semmilyen kárt. Sajnos a programozók sem tökéletesek, és az idők során már előfordult párszor, hogy a hálózati szolgáltatásokban maradtak hibák, amelyek kihasználásával a támadók rossz dolgokat tudtak csinálni. Ezért fontos, hogy csak is azokat a szolgáltatásokat engedélyezzük, amelyekre ténylegesen szükségünk van. Ha nem tudjuk eldönteni, akkor az a legjobb, ha egészen addig egyiket sem engedélyezzük, amíg valóban szükségünk nem lesz rájuk. A sysinstall újbóli elindításával vagy az /etc/rc.conf megfelelő beállításával mindig tudunk új szolgáltatásokat aktiválni.

A Networking (Hálózatok) menüpont kiválasztása után valami ilyesmit láthatunk:

2.56. ábra - A hálózati beállítások menüjének felső szintje
A hálózati beállítások menüjének felső szintje

Ezek közül a Interfaces (Csatolók), vagyis az első menüpontról korábban már szó esett a 2.10.1. szakasz - A hálózati eszközök beállításaban, ezért ez most nyugodtan kihagyható.

Az AMD menüpont kiválasztásával engedélyezzük a BSD automatikus csatlakoztatásokért felelős segédeszközét (AMD, az AutoMounter Daemon). Ezt általában az NFS protokollal (lásd lentebb) együtt szokás használni a távoli állományrendszerek automatikus csatlakoztatásához. Itt nincs szükség semmilyen különleges beállításra.

A következő sorban az AMD Flags (Az AMD beállításai) menüpont szerepel. Kiválasztása után az AMD beállításait bekérő ablak fog felbukkani. Ez már számos alapértelmezett beállítást tartalmaz:

-a /.amd_mnt -l syslog /host /etc/amd.map /net /etc/amd.map

A -a kapcsolóval adjuk meg a csatlakozási pontok alapértelmezett helyét, amely ebben az esetben az /.amd_mnt. A -l kapcsolóval adjuk meg az alapértelmezett log (napló) állományt, habár a syslogd használata során az összes naplózási tevékenység a rendszer naplózó démonján fut majd keresztül. A /host könyvtárba fognak csatlakozni a távoli gépek exportált állományrendszerei, míg a /net könyvtárba a különböző IP-címekről exportált állományrendszerek kerülnek csatlakoztatásra. Az /etc/amd.map állomány tartalmazza az AMD exportjainak alapértelmezett beállításait.

Az Anon FTP menüponton keresztül engedélyezhetjük az anonim FTP kapcsolatokat. A menüpont kiválasztásával számítógépünket egy anonim FTP szerverré tehetjük, azonban legyünk tekintettel a beállításhoz tartozó biztonsági veszélyekre! A kiválasztásakor egy ablak tájékoztat minket a beállítás részleteiről és felmerülő biztonsági kockázatokról.

A Gateway (Átjáró) menüpont használatával a korábbiakban tárgyaltak szerint állíthatjuk be számítógépünket hálózati átjárónak. Ugyanekkor a Gateway menüben nyílik lehetőségük kikapcsolni ezt a beállítást, amennyiben a telepítési folyamat korábbi lépései során véletlenül engedélyeztük volna.

Az Inetd menüpont segítségével beállíthatjuk, vagy akár teljesen ki is kapcsolhatjuk a korábban tárgyalt inetd(8) démont.

A Mail (Levelezés) menüpontban beállíthatjuk a rendszer alapértelmezett MTA avagy levéltovábbító ügynökét (Mail Transfer Agent). Ennek hatására a következő menü jelenik meg:

2.57. ábra - Az alapértelmezett MTA kiválasztása
Az alapértelmezett MTA kiválasztása

Itt válaszhatunk, hogy a különböző levélküldő rendszerek közül melyiket telepítsük alapértelmezettként. Egy ilyen alkalmazás lényegében nem több, mint egy levélküldésre használt szerver, amely továbbítja a rendszerben vagy az interneten található felhasználók számára a leveleket.

A Sendmail választásával a FreeBSD alapból felkínált megoldását, a népszerű sendmail szervert telepíthetjük. A Sendmail local (Helyi Sendmail) menüpont kiválasztásával szintén a sendmail lesz a telepítendő levélküldő szerver, azonban nem lesz képes az internetről érkező leveleket fogadni. Az itt felsorolt többi beállítás, tehát a Postfix és Exim, a Sendmail beállításához hasonlóan zajlik. Mind a kettő elektronikus levelek kézbesítésére használható, azonban bizonyos felhasználók a sendmail helyett inkább ezek valamelyikét használják.

Valamelyik vagy éppen semelyik levéltovábbító szerver kiválasztása után az NFS client (NFS kliens) beállítására vonatkozó menü jelentkezik.

Az NFS client beállításával a rendszerünk NFS szerverekkel lesz képes kapcsolatba lépni. Egy ilyen NFS szerver az NFS protokoll segítségével a hálózaton keresztül elérhetővé tesz állományrendszereket. Ha gépünk független, akkor nem fontos kiválasztanunk ezt a menüpontot. A rendszernek később további beállításokra is szüksége lehet, amelyekről az 29.3. szakasz - A hálózati állományrendszer (NFS)ban olvashatunk részletesebben.

Az NFS server (NFS szerver) menüpont kiválasztásával hozzájárulunk, hogy rendszerünk NFS szerverként üzemeljen. Ehhez meg kell adnunk az RPC, vagyis a távoli eljáráshívások kiszolgálásának elindításához szükséges adatokat is. Az RPC használatával a különböző kiszolgálók és programok között tudjuk vezérelni a kapcsolatot.

A sorban az Ntpdate beállítása következik, ahol az időszinkronizációhoz kapcsolódó opciókat találjuk. Kiválasztásakor az ábrán szereplőhöz hasonló menü fog megjelenni:

2.58. ábra - Az Ntpdate beállítása
Az Ntpdate beállítása

Ebből a menüből válasszuk ki a hozzánk legközelebb levő szevert. Egy közeli szerver megadásával az időszinkronizáció sokkalta pontosabbá válik, mivel a tőlünk távolabbi szerverek kapcsolatának késleltetése nagyobb lehet.

A következő beállítás az PCNFSD. Ennek kiválasztása során a Portgyűjteményből telepítésre kerül a net/pcnfsd csomag. Ez lényegében egy hasznos segédprogram, amellyel olyan operációs rendszerek számára tudunk hitelesítést szolgáltatni az NFS használata során, amelyek maguktól erre nem képesek, mint például a Microsoft® MS-DOS® rendszere.

A többi beállítás megtekintéséhez egy kicsit lejjebb kell haladnunk a listában:

2.59. ábra - A hálózati beállítások menüjének alsó szintje
A hálózati beállítások menüjének alsó szintje

Az rpcbind(8) és rpc.statd(8), valamint az rpc.lockd(8) segédprogramok mind a távoli eljáráshívásokhoz (Remote Procedure Call, RPC) használhatóak. Az rpcbind segédprogram az NFS szerverei és kliensei között felügyeli a kapcsolatot, ezért a használata az NFS szerverek és kliensek működéséhez elengedhetetlen. Az állapot figyeléséhez az rpc.statd démon felveszi a kapcsolatot a többi gépen futó rpc.statd démonokkal. A jelentett állapotok általában a /var/db/statd.status állományban találhatóak. Itt a következőként felsorolt elem az rpc.lockd, amelynek kiválasztásával állományzárolási szolgáltatásokat érhetünk el. Ezt többnyire az rpc.statd démonnal együtt alkalmazzák a zárolásokat kérő gépek és a kérések gyakoriságának nyilvántartására. Míg ezekkel a beállításokkal gyönyörűen nyomon lehet követni a működést, az NFS szerverek és kliensek megfelelő működéséhez nem kötelező a használatuk.

Ahogy haladunk tovább a listában, a következő elem a Routed, vagyis az útválasztásért felelős démon lesz. A routed(8) segédprogram a hálózati útválasztó táblázatokat tartja karban, felderíti az elérhető útválasztókat és kérésre bármelyik hozzá fizikailag csatlakozó gép számára átadja az általa nyilvántartott útválasztási adatokat. Ezt leginkább a helyi hálózat átjárójaként működő számítógépek használják. Kiválasztásakor egy ablak fog rákérdezni a segédprogram helyére. Az itt alapból felkínált érték általában megfelelő, ezért nyugtázhatjuk az Enter billentyű lenyomásával. Ezt követően egy másik menü jelenik meg, ahol a routed beállításait adhatjuk meg. Itt alapértelmezés szerint a -q kapcsoló szerepel.

A következő sor az Rwhod beállításé, aminek kiválasztásával el tudjuk indíttatni az rwhod(8) démont a rendszer elindítása során. Az rwhod segédprogram a rendszerüzeneteket a hálózaton időközönként szétküldi vagy figyelő (consumer) módban összegyűjti ezeket. Ennek pontosabb részleteit az ruptime(1) és rwho(1) man oldalakon találhatjuk meg.

Az sshd(8) démoné az utolsó előtti beállítás. Ez az OpenSSH biztonságos shell szervere, melyet a szabványos telnet és FTP szerverek helyett ajánlanak. Az sshd szerver tehát két gép közti biztonságos, titkosított kapcsolatok létrehozására használható.

A lista végén a TCP Extensions (TCP kiterjesztések) menüpontot találhatjuk. Segítségével a TCP RFC 1323 és RFC 1644 dokumentumokban leírt kiterjesztéseinek használatát engedélyezhetjük. Ezzel egyes gépek esetén felgyorsulhat a kapcsolat, azonban más esetekben pedig eldobódhat. Ez szerverek használatánál nem ajánlott, viszont független gépeknél kifizetődő lehet.

Most, miután beállítottuk a hálózati szolgáltatásokat, lépjünk vissza a lista elején található X Exit (Kilépés) menüpontra és folytassuk a beállítást a következő opcióval, vagy egyszerűen az X Exit kétszeri kiválasztásával, majd a [X Exit Install] (Kilépés a telepítőből) gomb lenyomásával lépjünk ki a sysinstall programból.

2.10.16. A FreeBSD indulása

2.10.16.1. A FreeBSD/i386 indulása

Ha minden remekült ment, a képernyőn lentről felfelé gördülő üzeneteket fogunk látni, majd a rendszer várni fog tőlünk egy bejelentkezési nevet. A kiírt üzeneteket között a Scroll Lock lenyomása után a PgUp és PgDn billentyűk használatával tudunk lapozni. A Scroll Lock ismételt lenyomásával visszatérünk a bejelentkezéshez.

Nem minden esetben lesz látható az összes üzenet (a puffer végessége miatt), de miután bejelentkeztünk, ezeket a dmesg parancs kiadásával is megnézhetjük.

Bejelentkezni a telepítéskor megadott felhasználói név/jelszó párossal tudunk (a példában ez most rpratt). Lehetőleg ne jelentkezzünk be root felhasználóként!

A rendszer indításakor jellemzően előforduló üzenetek (a verzióra vonatkozó adatokat kihagytuk):

Copyright (c) 1992-2002 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
        The Regents of the University of California. All rights reserved.

Timecounter "i8254"  frequency 1193182 Hz
CPU: AMD-K6(tm) 3D processor (300.68-MHz 586-class CPU)
  Origin = "AuthenticAMD"  Id = 0x580  Stepping = 0
  Features=0x8001bf<FPU,VME,DE,PSE,TSC,MSR,MCE,CX8,MMX>
  AMD Features=0x80000800<SYSCALL,3DNow!>
real memory  = 268435456 (262144K bytes)
config> di sn0
config> di lnc0
config> di le0
config> di ie0
config> di fe0
config> di cs0
config> di bt0
config> di aic0
config> di aha0
config> di adv0
config> q
avail memory = 256311296 (250304K bytes)
Preloaded elf kernel "kernel" at 0xc0491000.
Preloaded userconfig_script "/boot/kernel.conf" at 0xc049109c.
md0: Malloc disk
Using $PIR table, 4 entries at 0xc00fde60
npx0: <math processor> on motherboard
npx0: INT 16 interface
pcib0: <Host to PCI bridge> on motherboard
pci0: <PCI bus> on pcib0
pcib1: <VIA 82C598MVP (Apollo MVP3) PCI-PCI (AGP) bridge> at device 1.0 on pci0
pci1: <PCI bus> on pcib1
pci1: <Matrox MGA G200 AGP graphics accelerator> at 0.0 irq 11
isab0: <VIA 82C586 PCI-ISA bridge> at device 7.0 on pci0
isa0: <ISA bus> on isab0
atapci0: <VIA 82C586 ATA33 controller> port 0xe000-0xe00f at device 7.1 on pci0
ata0: at 0x1f0 irq 14 on atapci0
ata1: at 0x170 irq 15 on atapci0
uhci0: <VIA 83C572 USB controller> port 0xe400-0xe41f irq 10 at device 7.2 on pci0
usb0: <VIA 83C572 USB controller> on uhci0
usb0: USB revision 1.0
uhub0: VIA UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub0: 2 ports with 2 removable, self powered
chip1: <VIA 82C586B ACPI interface> at device 7.3 on pci0
ed0: <NE2000 PCI Ethernet (RealTek 8029)> port 0xe800-0xe81f irq 9 at
device 10.0 on pci0
ed0: address 52:54:05:de:73:1b, type NE2000 (16 bit)
isa0: too many dependant configs (8)
isa0: unexpected small tag 14
fdc0: <NEC 72065B or clone> at port 0x3f0-0x3f5,0x3f7 irq 6 drq 2 on isa0
fdc0: FIFO enabled, 8 bytes threshold
fd0: <1440-KB 3.5" drive> on fdc0 drive 0
atkbdc0: <keyboard controller (i8042)> at port 0x60-0x64 on isa0
atkbd0: <AT Keyboard> flags 0x1 irq 1 on atkbdc0
kbd0 at atkbd0
psm0: <PS/2 Mouse> irq 12 on atkbdc0
psm0: model Generic PS/2 mouse, device ID 0
vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0
sc0: <System console> at flags 0x1 on isa0
sc0: VGA <16 virtual consoles, flags=0x300>
sio0 at port 0x3f8-0x3ff irq 4 flags 0x10 on isa0
sio0: type 16550A
sio1 at port 0x2f8-0x2ff irq 3 on isa0
sio1: type 16550A
ppc0: <Parallel port> at port 0x378-0x37f irq 7 on isa0
ppc0: SMC-like chipset (ECP/EPP/PS2/NIBBLE) in COMPATIBLE mode
ppc0: FIFO with 16/16/15 bytes threshold
ppbus0: IEEE1284 device found /NIBBLE
Probing for PnP devices on ppbus0:
plip0: <PLIP network interface> on ppbus0
lpt0: <Printer> on ppbus0
lpt0: Interrupt-driven port
ppi0: <Parallel I/O> on ppbus0
ad0: 8063MB <IBM-DHEA-38451> [16383/16/63] at ata0-master using UDMA33
ad2: 8063MB <IBM-DHEA-38451> [16383/16/63] at ata1-master using UDMA33
acd0: CDROM <DELTA OTC-H101/ST3 F/W by OIPD> at ata0-slave using PIO4
Mounting root from ufs:/dev/ad0s1a
swapon: adding /dev/ad0s1b as swap device
Automatic boot in progress...
/dev/ad0s1a: FILESYSTEM CLEAN; SKIPPING CHECKS
/dev/ad0s1a: clean, 48752 free (552 frags, 6025 blocks, 0.9% fragmentation)
/dev/ad0s1f: FILESYSTEM CLEAN; SKIPPING CHECKS
/dev/ad0s1f: clean, 128997 free (21 frags, 16122 blocks, 0.0% fragmentation)
/dev/ad0s1g: FILESYSTEM CLEAN; SKIPPING CHECKS
/dev/ad0s1g: clean, 3036299 free (43175 frags, 374073 blocks, 1.3% fragmentation)
/dev/ad0s1e: filesystem CLEAN; SKIPPING CHECKS
/dev/ad0s1e: clean, 128193 free (17 frags, 16022 blocks, 0.0% fragmentation)
Doing initial network setup: hostname.
ed0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
        inet 192.168.0.1 netmask 0xffffff00 broadcast 192.168.0.255
        inet6 fe80::5054::5ff::fede:731b%ed0 prefixlen 64 tentative scopeid 0x1
        ether 52:54:05:de:73:1b
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
        inet6 fe80::1%lo0 prefixlen 64 scopeid 0x8
        inet6 ::1 prefixlen 128
        inet 127.0.0.1 netmask 0xff000000
Additional routing options: IP gateway=YES TCP keepalive=YES
routing daemons:.
additional daemons: syslogd.
Doing additional network setup:.
Starting final network daemons: creating ssh RSA host key
Generating public/private rsa1 key pair.
Your identification has been saved in /etc/ssh/ssh_host_key.
Your public key has been saved in /etc/ssh/ssh_host_key.pub.
The key fingerprint is:
cd:76:89:16:69:0e:d0:6e:f8:66:d0:07:26:3c:7e:2d root@k6-2.example.com
 creating ssh DSA host key
Generating public/private dsa key pair.
Your identification has been saved in /etc/ssh/ssh_host_dsa_key.
Your public key has been saved in /etc/ssh/ssh_host_dsa_key.pub.
The key fingerprint is:
f9:a1:a9:47:c4:ad:f9:8d:52:b8:b8:ff:8c:ad:2d:e6 root@k6-2.example.com.
setting ELF ldconfig path: /usr/lib /usr/lib/compat /usr/X11R6/lib
/usr/local/lib
a.out ldconfig path: /usr/lib/aout /usr/lib/compat/aout /usr/X11R6/lib/aout
starting standard daemons: inetd cron sshd usbd sendmail.
Initial rc.i386 initialization:.
rc.i386 configuring syscons: blank_time screensaver moused.
Additional ABI support: linux.
Local package initialization:.
Additional TCP options:.

FreeBSD/i386 (k6-2.example.com) (ttyv0)

login: rpratt
Password:

Az RSA és DSA kulcsok generálása a lassabb gépeken sokág is eltarthat, habár ez mindig csak a friss telepítések utáni első indításkor történik meg. A rendszer későbbi indulásai ettől már gyorsabbak lesznek.

Ha X szervert is beállítottunk és választottunk hozzá egy alapértelmezett munkakörnyezetet, akkor ezt a parancssorból a startx kiadásával elindíthatjuk el.

2.10.17. A FreeBSD leállítása

Fontos, hogy mindig szabályosan állítsuk le az operációs rendszert, ne kapcsoljuk ki csak úgy egyszerűen a számítógépünket! A leállításhoz először a su parancs kiadásával, majd itt a root jelszavának megadásával vegyük fel az ehhez szükséges rendszeradminisztrátori jogosultságokat. Ez viszont csak abban az esetben fog működni, ha a felhasználónk tagja a wheel csoportnak. Minden más esetben egyszerűen jelentkezzünk be root felhasználóként és használjuk a shutdown -h now parancsot.

The operating system has halted.
Please press any key to reboot.

A fenti üzenet jelzi, hogy a leállító parancs kiadása után már kikapcsolhatjuk a számítógépet, vagy ha ehelyett egy billentyűt nyomunk le, akkor a gép újraindul.

A Ctrl+Alt+Del billentyűkombináció használatával is újra tudjuk indítani a rendszert, azonban ez normál működés közben nem ajánlott.

2.11. Hibakeresés

A most következő szakaszban azokra a telepítés során felmerülő problémákra próbálunk meg megoldásokat adni, amelyeket eddig már sokan jeleztek nekünk. Ezek mellett szerepel néhány kérdés és válasz is a FreeBSD és az MS-DOS® vagy Windows® közös használatáról.

2.11.1. Mit tegyünk ha valami nem működik

A PC architektúra különféle korlátozásai miatt szinte lehetetlen 100%-ban megbízhatóvá tenni az eszközök felderítését, azonban ennek hibája kapcsán néhány dolgot még tenni tudunk.

Ellenőrizzük a Hardware Notes (Hardverjegyzék) című dokumentumban, hogy az adott hardvert a FreeBSD valóban ismeri.

Amennyiben a hardvereszközünket a rendszer ismeri, azonban még mindig jelentkeznek fagyások vagy egyéb gondok, készítenünk kell egy saját rendszermagot. Ezzel olyan eszközök támogatását is beépíthetjük a rendszermagba, amelyek eredetileg nem szerepelnek a GENERIC rendszermagban. A telepítéshez készített rendszerindító lemezeken található rendszermag a legtöbb eszközt a gyári IRQ, IO-cím és DMA csatorna beállításaik mentén próbálja felkutatni. Ha viszont a hardverünket átállítottuk, ennek megfelelően módosítanunk kell a rendszermag beállításait és újra kell fordítanunk, hogy a FreeBSD tudja, hol is keresse az eszközt.

Olyan is adódhat, hogy egy nem létező eszköz keresése egy utána keresendő másik, jelenlevő eszköz felkutatását akadályozza meg. Ilyenkor az ütköző meghajtókat le kell tiltani.

Megjegyzés:

Egyes problémák elkerülhetőek vagy csillapíthatóak a különböző hardverösszetevők, különösen az alaplapi firmware frissítésével. Az alaplap firmware-jére sokszor csak BIOS-ként hivatkoznak, és a legtöbb alaplap- vagy számítógépgyártó honlapján találhatjuk meg ezeket, valamint a rájuk vonatkozó utasításokat.

A legtöbb gyártó azonban erősen tiltakozik az alaplapi BIOS-frissítések ellen, és csak indokolt esetekben, például kritikus javításoknál javasolják. A frissítés kimenetele lehet rossz is, aminek következménye a BIOS tartós károsodása.

2.11.2. Az MS-DOS® és Windows® állományrendszereinek használata

A FreeBSD jelenleg nem támogatja a Double Space™ alkalmazással tömörített állományrendszereket, ezért a FreeBSD csak úgy tud az adataihoz hozzáférni, ha előtte kitömörítjük ezeket. Ezt a Start menü Programs (Programok) > System Tools (Rendszereszközök) menüjében található Compression Agent (Lemeztömörítés) elindításával tehetjük meg.

A FreeBSD támogatja az MS-DOS® alapú (gyakran csak FAT típusúnak nevezett) állományrendszereket. A mount_msdosfs(8) parancs segítségével az ilyen rendszerek könnyedén becsatlakoztathatók a már létező könyvtárszerkezetbe, amivel így el tudjuk érni a tartalmát. A mount_msdosfs(8) programot általában nem közvetlenül hívjuk meg, hanem az /etc/fstab vagy a mount(8) segédprogram megfelelő paraméterezésével.

Az /etc/fstab állományban általában így néz ki egy ilyen sor:

/dev/ad0sN  /dos	msdosfs rw 0 0

Megjegyzés:

A művelet végrehajtásához a /dos könyvtárnak már léteznie kell. Az /etc/fstab pontos formátumával kapcsolatban a fstab(5) man oldalt olvassuk el.

Az MS-DOS® állományrendszerek esetében a mount(8) parancsot többnyire így adjuk ki:

# mount -t msdosfs /dev/ad0s1 /mnt

Ebben a példában a MS-DOS® állományrendszer az elsődleges merevlemez első partícióján helyezkedik el. A mi helyzetünk ettől eltérő lehet, ezért ehhez vizsgáljuk meg a dmesg és mount parancsok kimeneteit. Segítségükkel elegendő információt tudunk összeszedni a gépünkön található partíciók kiosztásáról.

Megjegyzés:

Előfordulhat, hogy a FreeBSD a többi operációs rendszertől eltérő módon számozza a slice-okat (vagyis az MS-DOS® partíciókat). Konkrétan: a kiterjesztett MS-DOS® partíciók általában nagyobb sorszámot kapnak, mint az elsődleges MS-DOS® partíciók. Az fdisk(8) segédprogram segíthet megállapítani, hogy mely slice-ok tartoznak a FreeBSD-hez és melyek más operációs rendszerekhez.

A mount_ntfs(8) parancs használatával az NTFS partíciók hasonló módon csatlakoztathatóak.

2.11.3. Kérdések és válaszok

2.11.3.1. A rendszerem teljesen leáll amikor az indítás során eszközöket próbál megtalálni, vagy furcsán viselkedik a telepítés során, esetleg a floppy meghajtót nem is keresi.
2.11.3.2. A FreeBSD telepítése után először indítom el a merevlemezről a rendszert, a rendszermag betöltődik és nekilát felkutatni a hardvereszközöket, azonban megáll a következő üzenettel:
2.11.3.3. A telepítés után először próbálom meg elindítani a merevlemezről a FreeBSD-t, azonban a rendszerválasztó mindig csak F? opciókat kínál fel, és a rendszer indítása sem halad tovább.
2.11.3.4. A rendszer megtalálja a ed(4) hálózati kártyámat, azonban folyamatosan hibát ad időtúllépésre hivatkozva.
2.11.3.5. Amikor a sysinstall programot egy X11 terminálban futtatom, a sárga színű betűket viszonylag nehéz olvasni a világosszürke háttérrel. Esetleg lehet valahogy növelni a kontrasztot az alkalmazás használatakor?

2.11.3.1.

A rendszerem teljesen leáll amikor az indítás során eszközöket próbál megtalálni, vagy furcsán viselkedik a telepítés során, esetleg a floppy meghajtót nem is keresi.

A FreeBSD az i386, amd64 és ia64 platformokon az indítás közben az eszközök felderítésében erősen építkeznek a rendszeren elérhető ACPI szolgáltatásra. Sajnos még mindig vannak hibák az ACPI meghajtóban, az alaplapokban és a BIOS-okban. A rendszerbetöltő harmadik fokozatában viszont az hint.acpi.0.disabled megadásával kikapcsolható az ACPI használata:

set hint.acpi.0.disabled="1"

Ez a beállítás a rendszer minden egyes indításakor törlődik, ezért a hint.acpi.0.disabled="1" bejegyzést fel kell vennünk a /boot/loader.conf állományba. A rendszerbetöltő működéséről részletesebben a 12.1. szakasz - Áttekintésban olvashatunk.

2.11.3.2.

A FreeBSD telepítése után először indítom el a merevlemezről a rendszert, a rendszermag betöltődik és nekilát felkutatni a hardvereszközöket, azonban megáll a következő üzenettel:

changing root device to ad1s1a panic: cannot mount root

Mi lehet a gond? Mit tegyek?

Mit jelent a bios_drive:interface(unit,partition)kernel_name a rendszerindítás során megjelenő súgóban?

Ez egy régóta fennálló probléma olyan rendszerek esetén, ahol a rendszerindításhoz használt lemez nem az első. A BIOS a FreeBSD-től eltérő sorszámozást használ, és az általa alkalmazott megfeleltetések megfejtése nehézkes.

Amikor a rendszer indítására használt lemez nem az első lemez a rendszerünkben, segítenünk kell a FreeBSD-nek a megtalálásában. Két gyakori helyzet alakulhat ki, és mind a kettőben el kell árulnunk a FreeBSD-nek, hogy hol található a rendszer indításához használható gyökér állományrendszer. Ezt a lemez BIOS-ban nyilvántartott sorszámának, típusának és a neki megfelelő FreeBSD szerinti lemezszám megadásával tehetjük meg.

Az első szituációban két IDE-lemezünk van, mind a kettőt masterként állítottuk be a hozzájuk tartozó IDE-buszokon, és a közülük a másodikról akarjuk indítani a FreeBSD-t. A BIOS ezeket 0. és 1. lemezként látja, miközben a FreeBSD pedig ad0 és ad2 eszközként.

A FreeBSD 1. BIOS-számozású lemezen van, amelynek a típusa ad és a FreeBSD szerinti a 2 sorszámot viseli. Ezért ezt kell használnunk:

1:ad(2,a)kernel

Ha az elsődleges buszon van egy slave meghajtónk, akkor mindez nem szükséges (és valószínűleg rossz is).

A második szituációban egy SCSI-lemezről akarjuk indítani a rendszert, miközben egy vagy több IDE-lemez is található a gépünkben. Ebben az esetben a FreeBSD szerinti sorszám kisebb lesz, mint a BIOS szerinti. Ha tehát a két IDE-lemezünk mellett van még egy SCSI-lemez is, akkor annak a BIOS szerinti sorszáma 2, a típusa da és a FreeBSD szerinti sorszáma pedig 0. Ennek megfelelően a

2:da(0,a)kernel

sorral tudjuk elárulni a FreeBSD-nek, hogy a BIOS szerint 2. lemezről akarjuk indítani, amely a rendszerben található első SCSI-lemeznek felel meg. Ha csak egy IDE-lemezünk van, akkor a sort kezdjük az 1: beírásával.

Miután megtaláltuk a megfelelő értékeket, a hozzá tartozó sort egy szövegszerkesztő segítségével tegyük közvetlenül a /boot.config állományba. A FreeBSD ezen állomány tartalmát fogja alapból felhasználni a boot: bekérésénél, hacsak másképpen nem utasítjuk.

2.11.3.3.

A telepítés után először próbálom meg elindítani a merevlemezről a FreeBSD-t, azonban a rendszerválasztó mindig csak F? opciókat kínál fel, és a rendszer indítása sem halad tovább.

A FreeBSD telepítése során rosszul adtunk meg a partíciószerkesztőben a merevlemezhez tartozó geometriát. Menjünk vissza a partíciószerkesztőhöz és adjuk meg újra a merevlemezünk helyes geometriáját. Ennek használatához pedig a FreeBSD-t is újra kell telepítenünk.

Ha egyáltalán képtelenek vagyunk megállapítani a merevlemezhez tartozó geometriát, akkor próbáljuk meg ezt: a lemez elején hozzunk létre egy kis méretű DOS partíciót és rakjuk utána a FreeBSD-t. Amikor a telepítőprogram észreveszi a DOS partíciót, megpróbálja magától kikövetkeztetni belőle a helyes geometriát, ami általában működik is.

Ez a tanács ugyan már nem érvényes, de álljon itt felvilágosításként:

Ha teljesen egy FreeBSD alapú szerver vagy munkaállomás kialakítására szánjuk a számítógépünket, és nem törődünk a DOS-szal, Linuxszal és a többi operációs rendszerrel történő (jövőbeli) kompatibilitással, használhatjuk akár az egész lemezt is (a partíciószerkesztőben ez az A opció). Ezzel egy olyan nem szabványos beállítást engedélyezünk, amivel a FreeBSD elfoglalja a lemezt annak legelső szektorától a legutolsó szektoráig. Ilyenkor ugyan el tudunk tekinteni a geometriával kapcsolatos beállításoktól, azonban így a FreeBSD-n kívül semmilyen más operációs rendszert nem tudunk majd futtatni a gépen.

2.11.3.4.

A rendszer megtalálja a ed(4) hálózati kártyámat, azonban folyamatosan hibát ad időtúllépésre hivatkozva.

Az említett kártya valószínűleg a /boot/device.hints állományban beállítottaktól eltérő IRQ-t használ. A ed(4) meghajtó alapértelmezés szerint nem használ szoftveres beállításokat (amiket DOS-ban az EZSETUP használatával adunk meg), viszont engedélyezhetjük, ha a kártyánál megadjuk az -l beállítást.

Hardveresen ezt a kártyán levő jumperek segítségével állíthatjuk be (ehhez változtassuk meg a rendszermag beállításait is, amennyiben szükséges), vagy a -l kapcsolón keresztül a hint.ed.0.irq="-l" megadásával utasíthatjuk a rendszermagot az IRQ szoftveres beállítására.

Másik lehetőség, amikor a kártyánk a 9-es IRQ-t használja, amelyet általában megosztanak a 2-es IRQ-val, ami gyakori problémák forrása (különösen abban az esetben, amikor a VGA kártya a 2-es IRQ-t használja!) lehet. Lehetőleg ne használjuk a 2-es és 9-es IRQ-kat.

2.11.3.5.

Amikor a sysinstall programot egy X11 terminálban futtatom, a sárga színű betűket viszonylag nehéz olvasni a világosszürke háttérrel. Esetleg lehet valahogy növelni a kontrasztot az alkalmazás használatakor?

Ha az X11 telepítése után a sysinstall által választott színekkel nem olvasható a szöveg xterm(1) vagy rxvt(1) terminálokban, akkor vegyük fel a következő sort a felhasználói könyvtárunkban levő .Xdefaults konfigurációs állományunkba: XTerm*color7:#c0c0c0. Ezzel majd egy sötétebb szürke hátteret kapunk.

2.12. Telepítési útmutató haladóknak

Írta: Vaschetto, Valentino és Fonvieille, Marc.

Ebben a szakaszban megtudhatjuk, hogyan telepítsük a FreeBSD-t speciális esetekben.

2.12.1. A FreeBSD telepítése billentyűzet vagy monitor nélkül

A telepítés ezen fajtáját fej nélküli telepítésnek (headless install) hívják, mivel a gép, amire a FreeBSD-t telepíteni akarjuk, nem rendelkezik monitorral vagy éppen még VGA kimenettel sem. Felmerülhet a kérdés: hogyan lehetséges mindez? A soros vonali konzol használatával! A soros konzol segítségével lényegében egy másik számítógép monitorját és billentyűzetét használjuk. Ennek megvalósításához elsőként kövessük a rendszerindító pendrive készítésének 2.3.7. szakasz - Készítsünk egy rendszerindító lemeztban leírt lépéseit, vagy töltsük le a megfelelő ISO image-et a telepítéshez, lásd 2.13.1. szakasz - Telepítő CD készítése.

A következő lépésekkel tehetjük képessé a soros konzolon keresztüli rendszerindításra: (CD-lemez használata esetén az első lépésre nincs szükség)

  1. A rendszerindító pendrive átállítása soros konzolra

    Ha a korábban előkészített pendrive-val most csak egyszerűen elindítanánk a FreeBSD-t, akkor a megszokott telepítési módban indulna el. Mi viszont azt akarjuk, hogy a telepítéshez a FreeBSD a soros konzolon keresztül induljon el. Ehhez csatlakoztassuk az eszközt a számítógéphez, valamint a mount(8) paranccsal FreeBSD rendszerünkhöz pedig a hozzátartozó állományrendszert.

    # mount /dev/da0a /mnt

    Megjegyzés:

    A konkrét eszköznevet és csatlakozási pontot módosítsuk a saját környezetünknek megfelelően.

    Most, miután már fizikailag és logikailag is csatlakoztattuk a pendrive-ot, be kell állítanunk a soros konzol használatára rendszerindítás közben. Ehhez egy loader.conf nevű állományt kell elhelyeznünk a pendrive állományrendszerén a soros konzolra (mint rendszerkonzolra) vonatkozó beállítással:

    # echo 'console="comconsole"' >> /mnt//boot/loader.conf

    Miután a pendrive-on sikeresen elvégeztük a szükséges beállítást, válasszuk le a umount(8) parancs kiadásával:

    # umount /mnt

    Most már leválaszthatjuk a pendrive-ot, és ugorjunk közvetlenül a harmadik lépésre.

  2. A null-modem kábel csatlakoztatása

    Össze kell kötnünk a két számítógépet egy null-modem kábellel. Nincs más teendőnk, mit összekapcsolni a két gép soros portjait. Itt a szokásos soros kábel nem működik, konkrétan null-modem kábelre van szükség, mivel benne néhány vezetéket máshogy kötöttek be.

  3. A telepítő CD beállítása soros konzolra

    Ha a telepítésre szánt ISO image-ből készített lemezzel (lásd 2.13.1. szakasz - Telepítő CD készítése) a FreeBSD normál módban indul el. A soros konzol használatához viszont kibontani, módosítani és újragenerálni kell az adott image-et mielőtt lemezre írnánk.

    A korábban, például a FreeBSD-8.1-RELEASE-i386-disc1.iso néven letöltött image-ből a tar(1) segédprogrammal tudjuk kinyerni a benne tárolt összes állományt:

    # mkdir /a/hasznalt/iso/helye
    # tar -C /a/hasznalt/iso/helye -pxvf FreeBSD-8.1-RELEASE-i386-disc1.iso

    Ezt követően módosítanunk kell a telepítőlemezt a soros konzol használatára. Ehhez egy loader.conf állományt kell hozzáadnunk a kibontott ISO image tartalmához. Ebben állítjuk be a soros konzolt rendszerkonzolnak:

    # echo 'console="comconsole"' >> /a/hasznalt/iso/helye/boot/loader.conf

    Ezután készítsünk egy új ISO image-et a módosított tartalom alapján. Ehhez a sysutils/cdrtools port részeként elérhető mkisofs(8) segédprogramot használjuk:

    # mkisofs -v -b boot/cdboot -no-emul-boot -r -J -V "soroskonzolos" -o soroskonzolos-FreeBSD-8.1-RELEASE-i386-disc1.iso /a/hasznalt/iso/helye

    Most már van egy megfelelően összeállított ISO image-ünk, amelyet CD-lemezre tudunk írni a kedvenc CD-író alkalmazásunkkal.

  4. A telepítés indítása

    Most már ideje elkezdeni a telepítést. Tegyük a boot.flp image-et tartalmazó lemezt a fej nélkül telepítendő gép meghajtójába és kapcsoljuk be.

  5. Kapcsolódás a fej nélküli gépre

    Ezután a cu(1) parancs felhasználásával kapcsolódjunk rá a gépre:

    # cu -l /dev/cuau0

    Ezt FreeBSD 7.X esetén így kell használnunk:

    # cu -l /dev/cuad0

Ezzel készen is vagyunk! Innentől a cu által megnyitott kapcsolaton keresztül tudjuk vezérelni a fej nélküli számítógépet. Hamarosan betölti a rendszermagot, majd megkérdezi a használt terminál típusát. Itt válasszuk ki a színes FreeBSD konzolt (FreeBSD color console) és folytassuk a telepítést a megszokott módon.

2.13. Saját telepítőeszköz elkészítése

Megjegyzés:

Az ismétlések elkerülése végett a továbbiakban a FreeBSD lemez a megvásárolható vagy a magunk által készített FreeBSD CD-re vagy DVD-re vonatkozik.

Adódhatnak olyan esetek, amikor létre kell hoznunk a FreeBSD telepítésére használt saját eszközünket és/vagy forrásunkat. Ez lehet egy tetszőleges fizikai eszköz, például szalag, vagy bármilyen olyan forrás, ahonnan a sysinstall képes állományokat elérni, például egy FTP oldal vagy egy MS-DOS® partíció.

Például:

  • Egy FreeBSD lemezünk van és több hálózaton kapcsolódó számítógépünk. Készíteni akarunk egy helyi FTP oldalt a FreeBSD lemez felhasználásával, és így a hálózaton levő gépre az internet helyett innen telepítjük a rendszert.

  • Van egy FreeBSD lemezünk, azonban a FreeBSD-nek nem sikerült felismernie a CD/DVD-meghajtónkat, viszont az MS-DOS®/Windows®-nak igen. Felmásoljuk a FreeBSD telepítéséhez használt állományokat ugyanazon a számítógépen található egyik DOS partícióra, majd a FreeBSD-t ezekkel telepítjük.

  • A gépben, amelyre telepíteni akarunk, nincs CD/DVD-meghajtó vagy hálózati kártya, viszont Laplink stílusú soros vagy párhuzamos kábellel hozzá tudunk kapcsolódni egy olyan számítógépről, amelyben viszont van.

  • Készíteni akarunk a FreeBSD telepítésére használható szalagot.

2.13.1. Telepítő CD készítése

A FreeBSD Projekt minden kiadás részeként architektúránként elérhetővé tesz legalább két CD image-et (ISO image-et). Ha rendelkezünk CD-íróval, ezeket az image-eket fel-, illetve ki tudjuk írni (égetni) CD-re, és a FreeBSD telepítésére tudjuk használni. Tehát ha van a kezünk ügyében CD-író és olcsón jutunk nagyobb sebességű interneteléréshez, akkor a FreeBSD telepítésének ez a legkönnyebb módja.

  1. A megfelelő ISO image-ek letöltése

    Az egyes kiadások ISO image-ei letölthetőek a ftp://ftp.FreeBSD.org/pub/FreeBSD/ISO-IMAGES-architektúra/változat címről vagy annak legközelebbi tükrözéséről. Az architektúra és változat részeket igényeinknek megfelelően helyettesítsük.

    Az említett könyvtár általában a következő lemezek image-eit tartalmazza:

    2.4. táblázat - FreeBSD 7.X és 8.X ISO image-ek nevei és jelentései
    ÁllománynévTartalom
    FreeBSD-változat-RELEASE-architektúra-bootonly.isoEzzel a CD image-dzsel tudjuk a FreeBSD CD-meghajtóról indításával elkezdeni a telepítést. Fontos tudnunk azonban, hogy ez az image nem tartalmazza a FreeBSD telepítéséhez szükséges komponenseket. Ezt a rendszer indítása után hálózaton keresztül (például egy FTP szerver segítségével) tudjuk megtenni.
    FreeBSD-változat-RELEASE-architektúra-dvd1.iso.gzEz a DVD image minden, az alap FreeBSD rendszer telepítéséhez szükséges komponenst tartalmaz, bináris csomagokkal és dokumentációval együtt. Ezenkívül még élő rendszert is tudunk indítani vele, közvetlenül a lemezről.
    FreeBSD-változat-RELEASE-architektúra-memstick.imgEz az image egy USB pendrive-ra írható, és minden olyan számítógépen használható, amely képes ilyen eszközről elindulni. Támogatja az élő módot is, amellyel rendszerünket állíthatjuk helyre. Ez az image nem érhető el FreeBSD 7.3 vagy korábbi rendszerek esetén.
    FreeBSD-változat-RELEASE-architektúra-disc1.isoEz az image tartalmazza az alap FreeBSD operációs rendszert és a hozzá tartozó dokumentációt, de semmilyen más további csomagot nem.
    FreeBSD-változat-RELEASE-architektúra-disc2.isoEzen az image-en bináris csomagok találhatóak. Ilyen a FreeBSD 8.0 és az utána következő változatoknál már nincs.
    FreeBSD-változat-RELEASE-architektúra-disc3.isoEz egy másik image, amelyen szintén bináris csomagok találhatóak. Ilyen a FreeBSD 8.0 és az utána következő változatoknál már nincs.
    FreeBSD-változat-RELEASE-architektúra-docs.isoA FreeBSD dokumentációja.
    FreeBSD-változat-RELEASE-architektúra-livefs.isoEz az image a rendszerhelyreállításhoz használt élő indítási módot támogatja, telepítést alapvetően nem lehet vele végezni.

    Megjegyzés:

    A FreeBSD 7.3 és a FreeBSD 8.1 előtti 7.X, illetve 8.X kiadások egy ettől eltérő elnevezési sémát követnek: a hozzájuk tartozó ISO image-ek neveiben nem szerepel a FreeBSD- előtag.

    Le kell töltenünk az első lemez vagy (ha elérhető) a bootonly lemez ISO image-einek egyikét. A kettőt egyszerre viszont ne töltsük le, mivel a disc1 image tartalmaz mindent, ami a bootonly image-en megtalálható.

    Akkor használjuk a bootonly jelzésű image-et, ha szélessávú interneteléréssel rendelkezünk. Segítségével el tudjuk kezdeni a FreeBSD telepítését, és szükség szerint a port/csomagrendszer (lásd 4. fejezet - Alkalmazások telepítése: csomagok és portok) használatával csomagokat tudunk letölteni és telepíteni.

    A DVD image-ét (dvd1) akkor érdemes használni, ha a FreeBSD adott kiadásának telepítése mellett igényt tartunk valamennyi csomagra is.

    A további lemezek image-ei is hasznosak lehetnek, de nem feltétlenül kellenek a telepítéshez, főleg abban az esetben, amikor gyors interneteléréssel rendelkezünk.

  2. A CD-k írása

    Ezután lemezekre kell írnunk a letöltött image-eket. Amennyiben ezt egy másik FreeBSD rendszeren végezzük, ennek részleteiről a 18.6. szakasz - Lézeres tárolóeszközök (CD-k) létrehozása és használata számol be (különösen a 18.6.3. szakasz - burncd és a 18.6.4. szakasz - cdrecord leírása).

    Ha másik platformon végezzük ezt a műveletet, akkor az adott platformon felkínált CD-író szoftverekkel kell dolgoznunk. Az image-ek szabványos ISO formátumúak, amelyet szinte az összes CD-író alkalmazás ismer.

Megjegyzés:

Ha kíváncsiak vagyunk egy saját FreeBSD kiadás elkészítésére, olvassuk el a kiadások szervezéséről szóló cikket (angolul).

2.13.2. Helyi FTP oldal létrehozása FreeBSD lemezzel

A FreeBSD lemezeken az FTP oldalakéhoz hasonló elrendezést találunk. Ez megkönnyíti a hálózatunkban található számítógépekhez a FreeBSD telepítésére használható helyi FTP oldal létrehozását.

  1. Az FTP oldalnak otthont adó FreeBSD számítógépen tegyük a CD-t a meghajtóba, majd csatlakoztassuk a /cdrom könyvtárba.

    # mount /cdrom
  2. Hozzunk létre egy anonim FTP hozzáférést az /etc/passwd állományban. A vipw(8) segítségével tehát illesszük be a következő sort az /etc/passwd állományba:

    ftp:*:99:99::0:0:FTP:/cdrom:/nonexistent
  3. Gondoskodjuk róla, hogy az FTP szolgáltatás engedélyezve legyen az /etc/inetd.conf állományban.

Most már bárki, aki képes csatlakozni ehhez a számítógéphez, a telepítés típusának ki tudja választani az FTP-t. Az FTP oldalak menüjében válassza az Other (Egyéb) pontot, majd adja meg az ftp://gépnév címet.

Megjegyzés:

Ha az FTP-n csatlakozó kliensek rendszerindításhoz használt eszköze (általában a floppy) verziója nem egyezik meg tökéletesen a helyi FTP oldalon találhatóval, akkor a sysinstall nem engedi a telepítést. Ha a változatok nem hasonlóak és ezt felül akarjuk bírálni, akkor be kell lépnünk az Options (Beállítások) menübe, ahol át kell állítanunk a terjesztés nevét (distribution name) any (bármelyik)-re.

Figyelem:

A fenti megközelítés kizárólag csak egy tűzfallal védett helyi hálózaton javasolt. FTP szolgáltatás létrehozása az interneten (és nem a helyi hálózatunkban) levő számítógépek számára különböző támadásoknak és egyéb kellemetlenségeknek teszi ki a számítógépünket. Határozottan javasoljuk, hogy ebben az esetben különösen ügyeljünk a biztonságra.

2.13.3. Telepítőfloppyk létrehozása

Ha floppylemezről kellene telepítenünk (amit viszont semmiképpen sem ajánlanánk) egy nem támogatott hardvereszköz miatt, vagy mert egyszerűen szeretjük a dolgok nehezebbik oldalát megfogni, akkor ehhez először elő kell készítenünk pár lemezt.

Legalább annyi 1,44 MB-os lemezre van szükségünk, mint amennyire ráférnek a base (alapterjesztés) könyvtárban található állományok. Ha DOS-ban hozzuk létre ezeket a lemezeket, akkor a használatukhoz meg kell formázni ezeket az MS-DOS® FORMAT parancsával. Windows® használata esetén az Windows Explorerben (Intézőben) tudjuk megformázni a lemezeket (kattintsunk a jobb gombbal az A: meghajtóra, majd válasszuk a Format (Formázás) menüpontot).

Ne bízzunk a gyárilag formázott (pre-formatted jelzésű) lemezekben! Menjünk biztosra és formázzuk meg mi magunk is lemezeket. A felhasználóinktól régebben számtalan olyan panasz érkezett, amely a helytelenül megformázott lemezből fakadt, ezért erre most kiemelten felhívjuk a figyelmet.

A formázás abban az esetben sem bizonyul rossz ötletnek, ha egy másik FreeBSD gépen gyártjuk le a lemezeket, habár nem kell mindegyik lemezre DOS állományrendszert tennünk. Helyette a bsdlabel és newfs parancsok használatával UFS állományrendszert is tehetünk rájuk, ahogy (1,44 MB méretű lemezek esetén) ezt az alábbi parancsok mutatják:

# fdformat -f 1440 fd0.1440
# bsdlabel -w fd0.1440 floppy3
# newfs -t 2 -u 18 -l 1 -i 65536 /dev/fd0

Ezután a többi állományrendszerhez hasonlóan a lemezeket tudjuk csatlakoztatni és írni.

Miután megformáztuk a lemezeket, rájuk kell másolnunk az állományokat. A terjesztésekhez tartozó állományokat adott méretű darabokra szeleteltük, így kényelmesen ráférnek egy hagyományos 1,44 MB méretű floppyra. Menjünk végig az összes floppyn és mindegyikre pakoljuk fel a lehető legtöbb állományt egészen addig, amíg így az összes szükséges terjesztést össze nem szedtük. A floppykon minden terjesztés kerüljön egy hozzá tartozó alkönyvtárba, például: a:\base\base.aa, a:\base\base.ab és így tovább.

Fontos:

Az első lemezre rá kell másolnunk a base.inf nevű állományt is, mivel ennek beolvasásával lesz képes kitalálni a telepítő, hogy a terjesztések összeszedése és összefűzése során mennyi darabot keressen.

Ahogy elérkezünk a telepítőeszköz kiválasztásához a telepítés folyamatában, ott válasszuk a Floppy menüpontot, majd utána kövessük a felbukkanó üzeneteket.

2.13.4. Telepítés MS-DOS® partícióról

Amikor egy MS-DOS® partícióról akarunk telepíteni, előkészítés gyanánt másoljuk a terjesztésekhez tartozó állományokat a partícióra egy freebsd könyvtárba. Ez lesz például a c:\freebsd. Ebben a könyvtárban igyekezzük minél jobban megtartani a CD vagy az FTP oldal könyvtárszerkezetét, ezért erre a CD-ről történő átmásolásra a DOS xcopy parancsát javasoljuk. Például így tudjuk előkészíteni a FreeBSD legegyszerűbb változatának telepítését:

C:\> md c:\freebsd
C:\> xcopy e:\bin c:\freebsd\bin\ /s
C:\> xcopy e:\manpages c:\freebsd\manpages\ /s

A fentiekben feltételeztük, hogy ehhez a C: meghajtón elég szabad helyünk van, valamint az E: meghajtón érjük el a CD-t.

Ha nincs CD-meghajtónk, az ftp.FreeBSD.org címről letölthetjük a terjesztésket. Minden egyes terjesztés külön könyvtárban található, tehát például a base (alap) terjesztés az 8.1/base/ könyvtárban található.

Mindegyik telepítendő terjesztést (ami még elfér) másoljuk át az MS-DOS® partíció c:\freebsd könyvtárába — a telepítéshez egyébként egyedül a BIN terjesztés szükséges.

2.13.5. Telepítőszalag létrehozása

Valószínűleg a szalagos módszer a legegyszerűbb, egyfajta élő FTP-s vagy CD-s telepítés. A telepítőprogram arra számít, hogy a szalagon az állományok egymás után helyezkednek el. Tehát miután beszereztük a nekünk kellő terjesztésekhez tartozó összes állományt, egyszerűen vegyük fel ezeket a szalagra:

# cd /freebsd/distdir
# tar cvf /dev/rwt0 dist1 ... dist2

Mielőtt telepítenénk, ellenőrizzük, hogy legyen elég helyünk valamelyik (a telepítés során majd kiválasztható átmeneti) könyvtárban ahhoz, hogy az itt létrehozott szalag teljes tartalma elférjen benne. Mivel a szalagok csak szekvenciálisan érhetőek el, ezért ennél a módszernél jó sok ideiglenes tárhelyre lesz szükségünk.

Megjegyzés:

A telepítés megkezdése után a szalagnak már azelőtt a meghajtóban kell lennie, hogy rendszerindító floppyról elindítanánk a rendszert, máskülönben nem találja meg.

2.13.6. Mielőtt hálózatról telepítenénk

Háromféle hálózati telepítési mód létezik: Ethernet (szabványos Ethernet-vezérlővel), soros port (PPP) vagy párhuzamos port (PLIP (laplink kábel)).

Valószínűleg az Ethernet-csatlakozó választásával érjük el a leggyorsabb hálózati telepítést. A FreeBSD ismeri a legtöbb PC-s Ethernet kártyát. Az ismert kártyák (és a hozzájuk tartozó beállítások) a FreeBSD egyes kiadásának hardverjegyzékében (Hardware Notes) találhatóak meg. Amennyiben egy támogatott PCMCIA Ethernet kártyát használunk, mindig a laptop bekapcsolása előtt helyezzük be! A FreeBSD telepítés közben sajnos nem támogatja a PCMCIA kártyák menetközbeni behelyezését.

Ezenkívül még ismernünk kell a hálózaton kapott IP-címünket, az általa használt címosztály hálózati maszkját, a gépünk nevét. Ha PPP kapcsolaton keresztül telepítünk és nincs statikus IP-címünk, akkor minden bizonnyal az internet-szolgáltatónktól kaptunk egyet dinamikusan. A konkrét hálózati beállításokat a hálózatunk rendszergazdájától is érdemes megkérdezni. Ha a hálózaton levő többi gépre névvel és nem IP-címmel hivatkozunk, akkor szükségünk lesz még egy név(feloldó) szerverre és az internet eléréséhez egy átjáró címére is (ha PPP-t használunk, ez a szolgáltatónk IP-címe lesz). Ha FTP-ről HTTP proxy használatával telepítünk, akkor a proxy címe is kelleni fog. Ha magunktól nem vagyunk képesek ezekre a kérdésekre válaszolni, akkor az ilyen típusú telepítés megkezdése előtt tényleg segítséget kell kérnünk egy rendszergazdától vagy az internet-szolgáltatónktól.

Ha modemet használunk, akkor a PPP szinte biztosan megfelel nekünk. Gondoskodjunk róla, hogy már a telepítés korai szakaszában rendelkezésünkre áll az internet-szolgáltatónkkal kapcsolatosan minden hasznos információ.

Ha PAP vagy CHAP használatával kapcsolódunk a szolgáltatónkhoz (másképp szólva Windows®-ban így tudunk szkriptek nélkül csatlakozni), mindössze a dial parancsot kell kiadnunk a ppp parancssorában. Minden más esetben tudnunk kell a modemünk saját AT parancsaival tárcsázni az internet-szolgáltatónkat, hiszen ehhez a PPP tárcsázó csak egy nagyon kezdetleges terminálemulációt nyújt. Ezzel kapcsolatban olvassuk el a kézikönyv és a GYIK idevágó részeit. Ha gondjaink akadnának, a naplózás a set log local ... parancs kiadásával átirányítható közvetlenül a képernyőre.

Ha kötött módon tudunk csatlakozni egy másik (2.0-R vagy későbbi verziójú) FreeBSD géphez, akkor megpróbálkozhatunk a párhuzamos laplink kábellel. A párhuzamos porton keresztüli adatátvitel sebessége a soros vonalénál jóval nagyobb (egészen 50 kbyte/mp), ezért vele a telepítés is gyorsabb.

2.13.6.1. Mielőtt NFS-ről telepítenénk

A telepítés NFS-en keresztül szinte magától értetődik. Egyszerűen csak másoljuk a FreeBSD terjesztéseihez tartozó állományokat az NFS szerverre és állítsuk be rá az NFS telepítőeszközt.

Ha a szerver csak privilegizált portokat ismer (ami általában alapértelmezett a Sun munkaállomásoknál), a telepítés megkezdése előtt az Options (Beállítások) menüben be kell állítani az NFS Secure (Biztonságos NFS) opciót.

Ha egy gyenge minőségű és kis adatátviteli sebességű Ethernet kártyánk van, akkor emellett még hasznos lehet beállítani az NFS Slow (Lassú NFS) opciót is.

Az NFS-en keresztüli telepítés működéséhez a szervernek támogatnia kell az alkönyvtárak csatlakoztatását is, tehát például ha a FreeBSD 8.1 terjesztésünk a ziggy:/usr/archive/stuff/FreeBSD könyvtárban található, akkor ziggy nevű gépnek lehetővé kell tennie a /usr/archive/stuff/FreeBSD könyvtár közvetlen csatlakoztatását is, nem csak a /usr vagy /usr/archive/stuff könyvtárakét.

A FreeBSD /etc/exports állományában ezt az -alldirs beállítással vezérelhetjük. Más NFS szervereken esetleg más megszokásokat kell követnünk. Amennyiben a szervertől permission denied (hozzáférés megtagadva) üzeneteket kapjuk, valószínű, hogy ezt nem állítottuk be megfelelően.

3. fejezet - A UNIX alapjai

Átdolgozta: Shumway, Chris.

3.1. Áttekintés

Ez a fejezet a FreeBSD operációs rendszer alapvető funkcióit és parancsait mutatja be. Az itt tárgyalásra kerülő anyag nagy része érvényes bármelyik más UNIX®-szerű operációs rendszer esetén is. Ezért, ha már ismerjük az említésre kerülő ismereteket, minden további gond nélkül átugorhatjuk ezt a fejezetet. Azonban ha még teljesen ismeretlen számunkra a FreeBSD, minden bizonnyal ez lesz az, amit alaposan át kell majd olvasnunk.

A fejezet elolvasása során megismerjük:

  • az ún. virtuális konzolok használatát FreeBSD alatt;

  • hogyan működnek együtt a UNIX® állományokra vonatkozó engedélyei a FreeBSD saját kiegészítéseivel;

  • egy FreeBSD állományrendszer alapértelmezett kialakítását;

  • a FreeBSD lemezszervezését;

  • hogyan csatlakoztassunk és válasszunk le állományrendszereket;

  • mik azok a folyamatok, démonok és jelzések;

  • mik azok a parancsértelmezők, és miként tudjuk megváltoztatni az alapértelmezett bejelentkezési környezetünket;

  • hogyan használjuk az alapvető szövegszerkesztőket;

  • mik az eszközök és az eszközleírók;

  • FreeBSD alatt milyen bináris formátumokat használhatunk;

  • szükség esetén hogyan olvassuk el a megfelelő man oldalakat.

3.2. Virtuális konzolok és terminálok

A FreeBSD számos módon használható. Ezek közül az egyik az, ha parancsokat gépelünk be a szöveges terminálon. Így érhető el egyszerűen a UNIX® operációs rendszer rugalmasságának és erejének jelentős része. Ebben a szakaszban megtudhatjuk, mik azok a terminálok és konzolok és miként tudjuk ezeket FreeBSD alatt használni.

3.2.1. A konzol

Ha nem állítottuk volna be, hogy a FreeBSD indulása során automatikusan induljon el a grafikus felület is, akkor a rendszer egy bejelentkező képernyőt fog mutatni közvetlenül a rendszerindítás befejeződése után. Ekkor valami ilyesmit kell majd látnunk:

Additional ABI support:.
Local package initialization:.
Additional TCP options:.

Fri Sep 20 13:01:06 EEST 2002

FreeBSD/i386 (pc3.example.org) (ttyv0)

login:

Egyes rendszereken ugyan némileg eltérhetnek az üzenetek, de hasonlót kell látnunk. Minket most az utolsó két sor érdekel. Az utolsó előtti sorban ez olvasható:

FreeBSD/i386 (pc3.example.org) (ttyv0)

Ez a sor arról értesít minket, hogy a rendszerünk éppen most indult el: egy FreeBSD konzolt látunk, amely egy Intel® x86 architektúrájú processzoron fut [1]. A gépünk neve (mivel minden UNIX®-os gép rendelkezik egy névvel) pc3.example.org, és ennek a rendszerkonzolját látjuk most éppen — a ttyv0 terminált.

Végezetül az utolsó sor mindig:

login:

Ez az a rész, ahova a FreeBSD-be történő bejelentkezéshez meg kell adnunk a felhasználói nevünket (user name). A következő szakaszban erről olvashatunk.

3.2.2. Bejelentkezés a FreeBSD-be

A FreeBSD egy többfelhasználós, többfeladatos rendszer. Így hívják hivatalosan azokat a rendszereket, amelyeket többen tudnak használni és egyetlen számítógépen egyszerre rengeteg programot képesek futtatni.

Minden többfelhasználós rendszernek valamilyen módon meg kell tudnia különböztetnie egy felhasználóját a többitől. A FreeBSD-ben (és minden más UNIX®-szerű operációs rendszerben) ezt úgy érik el, hogy a programok futtatása előtt minden felhasználónak be kell jelentkeznie a rendszerbe. Minden felhasználó rendelkezik egy egyedi névvel (ez a felhasználói név) és ehhez egy titkos kulcssal (ez a jelszó). A FreeBSD a programok futtatásához ezt a kettőt fogja elkérni a felhasználótól.

Egyből miután a FreeBSD elindult és befejezte a rendszerindításhoz használt szkriptjeinek lefuttatását [2], ez a kijelzés (vagy más néven prompt) fog megjelenni és kér egy érvényes felhasználói nevet:

login:

A példa kedvéért most tegyük fel, hogy a felhasználói nevünk pgj. Az iménti prompthoz írjuk be, hogy pgj és nyomjuk le az Enter billentyűt. Ezt követően meg kell jelennie egy másik promptnak is, amely egy jelszót (password) kér:

login: pgj
Password:

Most pedig gépeljük be pgj jelszavát és nyomjunk utána egy Enter billentyűt. Vigyázzunk, hogy a jelszót nem látjuk a beírás során! Emiatt most ne aggódjunk. Ezzel kapcsolatban elegendő csak annyit tudni, hogy mindez biztonsági megfontolásokból történik.

Amennyiben jól adtuk meg a jelszavunkat, sikeresen bejelentkezünk a FreeBSD rendszerébe és készen állunk az összes elérhető parancs kipróbálására.

Bejelentkezés után a MOTD (message of the day) vagy más néven a nap üzenete jelenik meg, amelyet a parancssor követ (egy #, $ vagy % jel). Innen tudhatjuk meg, hogy sikerült bejelentkeznünk.

3.2.3. Több konzol használata

A UNIX® parancsokat egy konzolon is szépen ki tudjuk adni, de a FreeBSD egyszerre ugyebár több programot is tud futtatni. A parancsok megadásához viszont egyetlen konzol használata elég nagy pazarlás lenne, hiszen egy olyan operációs rendszer mint a FreeBSD, tucatnyi programot képes futtatni egy időben. Ebben az esetben jelenthetnek számunkra segítséget a virtuális konzolok.

A FreeBSD beállítható úgy, hogy sok-sok különféle virtuális konzolt ajánljon fel számunkra. A virtuális konzolok között a billentyűzeten a megfelelő gombok lenyomásával tudunk váltani. Mindegyik konzolnak megvan a saját kimeneti csatornája, és a virtuális konzolok közti váltás folyamán a FreeBSD gondoskodik a billentyűzetről érkező bemenet, valamint a monitorra irányított kimenet megfelelő kezeléséről.

A konzolok közti váltásra a FreeBSD külön billentyűkombinációkat tart fenn [3]. A FreeBSD-ben a különböző virtuális konzolok közti váltásra az Alt+F1, Alt+F2 billentyűket, az Alt+F8 billentyűkombinációval bezárólag használhatjuk.

A konzolok közti váltogatás során a FreeBSD ügyel a képernyő tartalmának elmentésére és visszaállítására. Ennek eredményeképpen úgy látszik, mintha több virtuális képernyőn és billentyűzeten adnánk parancsokat a FreeBSD-nek.

3.2.4. Az /etc/ttys állomány

A FreeBSD alapértelmezés szerint nyolc virtuális konzollal indul. Ez azonban nem egy előre rögzített érték, hiszen könnyedén testreszabhatjuk úgy a telepített rendszerünket, hogy több vagy esetleg kevesebb virtuális konzollal induljon el. A virtuális konzolok száma és azok pontos beállítása az /etc/ttys állományon keresztül adható meg.

A FreeBSD virtuális konzoljait tehát az /etc/ttys állomány megfelelő módosításával tudjuk behangolni. Itt minden egyes olyan sor, amely nem megjegyzés (vagyis azok a sorok, amelyek nem a # karakterrel kezdődnek), tartalmazza az egyes terminálok vagy virtuális konzolok beállításait. Az állomány a FreeBSD telepítésében szereplő, alapértelmezett változata kilenc virtuális konzol konfigurációját tartalmazza, amelyek közül nyolc aktív. Ezek a ttyv résszel kezdődő sorok:

# name  getty                           type    status          comments
#
ttyv0   "/usr/libexec/getty Pc"         cons25  on  secure
# Virtual terminals
ttyv1   "/usr/libexec/getty Pc"         cons25  on  secure
ttyv2   "/usr/libexec/getty Pc"         cons25  on  secure
ttyv3   "/usr/libexec/getty Pc"         cons25  on  secure
ttyv4   "/usr/libexec/getty Pc"         cons25  on  secure
ttyv5   "/usr/libexec/getty Pc"         cons25  on  secure
ttyv6   "/usr/libexec/getty Pc"         cons25  on  secure
ttyv7   "/usr/libexec/getty Pc"         cons25  on  secure
ttyv8   "/usr/X11R6/bin/xdm -nodaemon"  xterm   off secure

Az állományban található oszlopok kimerítő magyarázatát, illetve a virtuális konzolok beállításához használható kapcsolókat a ttys(5) man oldalon olvashatjuk.

3.2.5. Az egyfelhasználós mód konzolja

Az egyfelhasználós mód részletes leírása a 12.6.2. szakasz - Egyfelhasználós módban található. Fontos tudni, hogy amikor a FreeBSD-t egyfelhasználós módban futtatjuk, csupán egyetlen konzolunk van, és a virtuális konzolok nem érhetőek el. Egyébként az egyfelhasználós mód erre vonatkozó beállításai is megtalálhatóak az /etc/ttys állományban. Ehhez keressük meg a console kezdetű sort:

# name  getty                           type    status          comments
#
# Ha a konzolt "insecure" (nem biztonságos) típusúnak választjuk meg,
# akkor a használatához az egyfelhasználós mód aktivilásá előtt a rendszer
# kérni fogja a rendszeradminisztrátori jelszót.
console none                            unknown off secure

Megjegyzés:

A console felett látható megjegyzés jelzi, hogy át tudjuk írni ebben a sorban a secure (biztonságos) értékű paramétert insecure (nem biztonságos) értékűre. Ilyenkor, hogy ha a FreeBSD egyfelhasználós módban indul, kérni fogja a root felhasználó (a rendszeradminisztrátor) jelszavát.

Vigyázzunk, amikor ezt az értéket insecure-ra állítjuk! Ha ugyanis véletlenül elfeledkeznénk a root jelszaváról, akkor azzal az egyfelhasználós mód használata is veszélybe kerülhet. Habár ettől függetlenül is lehetséges, azokra számára mégis nehéz helyzetnek bizonyulhat, akik nem mozognak elég otthonosan a FreeBSD rendszerindítási folyamatának és a hozzákapcsolódó programok ismeretében.

3.2.6. A videomód váltása konzolban

A FreeBSD konzol alapértelmezett videomódja átállítható 1024x768-ra, 1280x1024-re, vagy bármilyen olyan más méretre, amit a videokártyánk és monitorunk képes megjeleníteni. Az eltérő videomódok használatához először újra kell fordítanunk a rendszermagunkat az alábbi két beállítás hozzáadásával:

options VESA
options SC_PIXEL_MODE

Miután a rendszermagot sikeresen újrafordítottuk a fenti beállításokkal, a vidcontrol(1) segédprogrammal tudjuk megállapítani, hogy a hardverünk milyen videomódokat enged használni. Az összes támogatott videomódot a következőképpen tudjuk lekérdezni:

# vidcontrol -i mode

A parancs eredményeképpen tehát megkapjuk a hardverünk által ismert videomódokat. Ezek közül tudjuk kiválasztani valamelyikőjüket és root felhasználóként a vidcontrol(1) segítségével beállítani:

# vidcontrol MODE_279

Ha az új videomód megfelel számunkra, akkor ezt a beállítást az /etc/rc.conf állományon keresztül véglegesíthetjük is:

allscreens_flags="MODE_279"

3.3. Engedélyek

A FreeBSD, mivel a BSD UNIX® egyik közvetlen leszármazottja, számos UNIX®-os alapötletre épül. Ezek közül az első és talán a leginkább kihangsúlyozott, hogy a FreeBSD egy többfelhasználós operációs rendszer. Egy olyan rendszer, amely egyszerre több, egymástól független feladattal foglalkozó felhasználót képes kiszolgálni. A rendszer felelős a hardveres eszközök, a különféle perifériák, a memória és a processzor idejének minden egyes felhasználó számára szabályos és pártatlan megosztásáért és a feléjük irányuló kérések szervezéséért.

Mivel a rendszer több felhasználót is képes támogatni, az általa kezelt erőforrások rendelkeznek engedélyek egy adott halmazával, amelyek eldöntik, ki tudja ezeket olvasni, írni és végrehajtani. Az engedélyek háromszor három bit formájában jelennek meg, amelyek közül az első bitcsoport az állomány tulajdonosára, a második az állomány csoportjára, végül az utolsó pedig a mindenki másra vonatkozó engedélyeket tárolja.

ÉrtékEngedélyKönyvtárlistában
0Nem olvasható, nem írható, nem hajtható végre---
1Nem olvasható, nem írható, végrehajtható--x
2Nem olvasható, írható, nem hajtható végre-w-
3Nem olvasható, írható, végrehajtható-wx
4Olvasható, nem írható, nem hajtható végrer--
5Olvasható, nem írható, végrehajthatór-x
6Olvasható, írható, nem hajtható végrerw-
7Olvasható, írható, végrehajthatórwx

A ls(1) -l kapcsolójának segítségével megnézhetjük a könyvtárak tartalmának részletes listáját, amiben megjelennek az állományok tulajdonosaira, csoportjára és a mindenki másra vonatkozó engedélyek is. Például ezt láthatjuk, ha kiadjuk az ls -l parancsot egy tetszőleges könyvtárban:

% ls -l
total 530
-rw-r--r--  1 root  wheel     512 Sep  5 12:31 egyik
-rw-r--r--  1 root  wheel     512 Sep  5 12:31 masik
-rw-r--r--  1 root  wheel    7680 Sep  5 12:31 e-mail.txt
...

A példabeli ls -l parancs kimenetének első oszlopa így bomlik fel:

-rw-r--r--

Az első (bal szélső) karakter mondja meg, hogy ez egy hagyományos állomány, könyvtár, speciális karakteres eszköz, socket vagy bármilyen más különleges pszeudoállomány. Ebben az esetben a - jelzi, hogy egy hagyományos állományról van szó. A következő három karakter, ami ebben a példában az rw-, adja meg az állomány tulajdonosának engedélyeit. Az ezután következő három karakter, az r-- mutatja az állomány csoportjának engedélyeit. Az utolsó három karakter, vagyis itt az r-- adja meg a többiek engedélyeit. A kötőjel arra utal, hogy az adott engedélyű tevékenység nem engedélyezett. Tehát ennél az állománynál az engedélyek a következőek: a tulajdonosa tudja olvasni és írni, a csoportja csak olvasni tudja, ugyanígy bárki más. A fenti táblázatnak megfelelően az állomány engedélyének kódja 644 lesz, ahol az egyes számjegyek jelentik az állomány engedélyeinek három elemét.

Ez mind szép és jó, de vajon a rendszer milyen módon kezeli az állományok engedélyeit? A FreeBSD a legtöbb hardveres eszközt állománynak tekinti, amelyeket a programok meg tudnak nyitni, tudnak róluk olvasni és adatokat tudnak kiírni rájuk pontosan úgy, mint bármilyen más állomány esetén. Ezeket a speciális állományokat a /dev könyvtárban találjuk.

A könyvtárakat is állományokként kezeli, ezért azok is rendelkeznek olvasási, írási és végrehajtási engedélyekkel. Azonban a könyvtárak végrehajtását engedélyező bit némileg más jelentéssel bír, mint az állományok esetén. Amikor ugyanis egy könyvtárat végrehajthatónak jelölünk meg, az arra fog utalni, hogy bele tudunk lépni, vagyis hogy ki tudjuk rá adni a könyvtárváltás (cd, change directory) parancsát. Ez továbbá arra is utal, hogy az ismert nevű állományokhoz hozzá tudunk férni (természetesen az egyes állományok engedélyeinek megfelelően).

A könyvtárak tartalmát ennek megfelelően viszont csak úgy láthatjuk, ha olvasási engedéllyel rendelkezünk a könyvtárra, míg egy általunk ismert állomány törléséhez a tartalmazó könyvtárhoz kell írási és végrehajtási engedélyekkel rendelkeznünk.

Ezeken kívül még léteznek további engedélyek is, de ezeket csak olyan különleges esetekben használják, mint például a felhasználóváltó programok (setuid program) vagy a ragadós könyvtárak (sticky directory) létrehozása. Az állományok engedélyeinek behatóbb megismeréséhez és beállításához mindenképpen nézzük át a chmod(1) man oldalt.

3.3.1. Szimbolikus engedélyek

Írta: Rhodes, Tom.

A szimbolikus engedélyek (gyakran csak szimbolikus kifejezések) az állományok és könyvtárak engedélyeinek megadása során a számok helyett karaktereket használnak. A szimbolikus kifejezések (ki) (hogyan) (milyen engedélyt) alakúak, ahol az alábbi értékek adhatóak meg:

ElemBetűJelentése
(ki)utulajdonos
(ki)gcsoport tulajdonos
(ki)oegyéb
(ki)amindenki (a világ)
(hogyan)+engedély megadása
(hogyan)-engedély visszavonása
(hogyan)=engedély explicit beállítása
(milyen engedély)rolvasás
(milyen engedély)wírás
(milyen engedély)xvégrehajtás
(milyen engedély)tragadós (sticky bit)
(milyen engedély)sUID vagy GID állítása

Ezek az értékek a chmod(1) paranccsal az eddigiekhez hasonló módon használhatóak, csak itt betűket kell megadnunk. Például az alábbi paranccsal akadályozhatjuk meg, hogy a tulajdonosán kívül bárki hozzáférhessen az ÁLLOMÁNY nevű állományhoz:

% chmod go= ÁLLOMÁNY

Amennyiben egy állománnyal kapcsolatban több változtatást is el kívánunk végezni, össze tudjuk ezeket fűzni egy vesszőkkel elhatárolt felsorolásban:

% chmod go-w,a+x ÁLLOMÁNY

3.3.2. A FreeBSD állományjelzői

Írta: Rhodes, Tom.

A korábban tárgyalt engedélyek mellett még a FreeBSD ismeri az ún. állományjelzők (file flags) beállítását is. Ezek a jelzőbitek egy további biztonsági és irányítási szintet nyújtanak az állományok felett, viszont a könyvtárakra nem vonatkoznak.

Ezek az állományjelzők az állományok felett további vezérlést adnak a kezünkbe, aminek révén gondoskodhatunk róla, hogy akár még a root felhasználó (a rendszer adminisztrátora) se legyen képes állományokat eltávolítani vagy módosítani.

Az állományjelzők értékei egy egyszerű felületen keresztül, a chflags(1) segédprogrammal változtathatóak meg. Például a következő paranccsal állíthatjuk a rendszer törölhetetlen (undeletable) jelzését az allomany1 állományon:

# chflags sunlink allomany1

A törölhetetlen jelzés eltávolításához egyszerűen csak írjuk be az előző parancsot úgy, hogy a sunlink paraméter elejére még beszúrunk egy no szövegrészt. Így:

# chflags nosunlink allomany1

Az állományokra éppen érvényes jelzéseket az ls(1) parancs -lo kapcsolójának segítségével jeleníthetjük meg:

# ls -lo file1
	

Ennek megfelelően az eredménynek valahogy így kellene kinéznie:

-rw-r--r--  1 trhodes  trhodes  sunlnk 0 Mar  1 05:54 allomany1

Sok jelzés csak a root felhasználón keresztül vehető fel vagy távolítható el. Más esetekben viszont az állomány tulajdonosa állíthatja ezeket. A rendszergazdáknak javasoljuk, hogy ezzel kapcsolatban a chflags(1) és chflags(2) man oldalakat tanulmányozzák át.

3.3.3. A setuid, setgid és sticky engedélyek

Készítette: Rhodes, Tom.

A korábban említett engedélyeken kívül létezik még további három, amelyekkel minden rendszergazdának illik tisztában lennie. Ezek név szerint a setuid, setgid és sticky típusú engedélyek.

Ezek a beállítások bizonyos UNIX® műveletek esetén nagyon fontosak, mivel az átlagos felhasználók számára általában el nem érhető funkciók használatát támogatják. A megértésükhöz elsőként a felhasználók valódi és effektív azonosítója közti különbségeket kell tisztáznunk.

A valódi azonosító tulajdonképpen az a felhasználói azonosító, amellyel a programot indítjuk el vagy futás előtt birtokoljuk. A program futása közben azonban az effektív felhasználói azonosítóval fut. Például a passwd(1) segédprogram a jelszavát megváltoztatni kívánó felhasználó valódi azonosítójával indul, miközben a jelszavakat tároló adatbázis elérésékor már a root felhasználó effektív azonosítójával fut. Ezáltal a privilégiumokkal nem rendelkező felhasználók is meg tudják anélkül változtatni a jelszavaikat, hogy a Permission Denied hibaüzenettel találkoznának.

Megjegyzés:

A mount(8) nosuid beállításával azonban az ilyen típusú binárisok minden különösebb jel nélkül csődöt fognak mondani. Mellesleg a mount(8) man oldala szerint ez az opció nem is teljesen megbízható, mivel nosuid wrapperek segítségével meg lehet kerülni.

Ahogy azt az alábbi példa is szemlélteti, a setuid engedélyt a többi elé egy négyes (4) beszúrásával tudjuk beállítani:

# chmod 4755 suidexample.sh

A suidexample.sh állomány engedélyei ezt követően már így fognak megjelenni:

-rwsr-xr-x   1 trhodes  trhodes    63 Aug 29 06:36 suidexample.sh

Most már jól látható, hogy az állomány tulajdonosához tartozó engedélyek között a végrehajthatóságot szabályozó bit lecserélődött egy s bitre. Ennek köszönhetően a passwd parancshoz hasonló módon kibővített engedélyekkel leszünk képesek futtatni programokat.

Két terminál megnyitásával mindezt valós időben is megvizsgálhatjuk. Az egyiken indítsuk el normál felhasználóként a passwd programot. Miközben a program várakozik az új jelszó megadására, a másik terminálon kérdezzük le a programhoz tartozó felhasználói információkat.

Tehát az egyik terminálon a következőt látjuk:

% passwd
Changing local password for trhodes
Old Password:

Eközben pedig a másikon:

# ps aux | grep passwd
trhodes  5232  0.0  0.2  3420  1608   0  R+    2:10AM   0:00.00 grep passwd
root     5211  0.0  0.2  3620  1724   2  I+    2:09AM   0:00.01 passwd

A passwd parancsot egyszerű felhasználóként adtunk ki, azonban jól látható, hogy valójában a root felhasználó azonosítójával fut.

A setgid a setuid engedélyhez hasonlóan működik, egyedül annyiban tér el, hogy a csoportra vonatkozó beállításokat módosítja. Amikor egy alkalmazást vagy segédprogramot ilyen engedéllyel futtatunk, akkor az adott programot birtokló csoport engedélyeit kapjuk meg.

Úgy tudjuk állományokon beállítani a setgid típusú engedélyt, ha az iménti példához hasonlóan a chmod parancs hívásakor még egy kettest (2) írunk az engedélyek elé:

# chmod 2755 sgidexample.sh

Az így beállított engedélyek az előbbihöz hasonló módon szemlélhetőek meg, azonban ebben az esetben a csoporthoz tartozó engedélyeknél jelenik meg az s bit:

-rwxr-sr-x   1 trhodes  trhodes    44 Aug 31 01:49 sgidexample.sh

Megjegyzés:

Az előbb tárgyalt példákkal kapcsolatban fontos megemlítenünk, hogy habár a szkriptek is végrehajtható állományok, nem fognak a valóditól eltérő effektív felhasználói azonosítóval futni. Ennek oka abban keresendő, hogy a parancssori szkriptek nem hívhatják a setuid(2) rendszerhívást.

Ez a két speciális engedély (a setuid és a setgid) a programhoz tartozó engedélyek kiterjesztésével csökkentheti rendszerünk biztonságát. Ezzel szemben viszont a harmadik bemutatandó speciális engedély rendszerünk védelmének erősítésére szolgál: ez az ún. sticky bit.

Ha a sticky típusú engedélyt könyvtárra adjuk meg, akkor a benne levő állományok törlését kizárólag azok tulajdonosainak engedi. Ezzel az engedéllyel lényegében a /tmp könyvtárhoz hasonló nyilvános, bárki által elérhető könyvtárakban akadályozhatjuk meg az állományok idegen felhasználók általi törlését. Az engedély beállításához egy egyest (1) kell a többi elé fűznünk, mint például:

# chmod 1777 /tmp

Most már az ls parancs segítségével láthatjuk ennek a hatását:

# ls -al / | grep tmp
drwxrwxrwt  10 root  wheel          512 Aug 31 01:49 tmp

A sticky bit a beállítások végén felbukkanó t révén azonosítható be.

3.4. A könyvtárak elrendezése

A FreeBSD könyvtárszerkezetének ismerete alapvető jelentőségű a rendszer egészének megértése szempontjából. Ezen belül is a legfontosabb a gyökérkönyvtár, a /. Ez az első könyvtár, amelyet a rendszer a rendszerindítás során csatlakoztat és a többfelhasználós mód előkészítéséhez elegendhetlenül szükséges alaprendszert tartalmazza. A gyökérkönyvtár emellett csatlakozási pontokat szolgáltat a többfelhasználós működésre váltás során csatlakoztatandó további állományrendszerek számára.

A csatlakozási pont egy olyan könyvtár, ahová a szülő állományrendszeren (ami gyakran maga a gyökér-állományrendszer) belül további állományrendszereket tudunk beoltani. Erről bővebben a 3.5. szakasz - A lemezek szervezéseban olvashatunk. A szabványos csatlakozási pontok: /usr, /var, /tmp, /mnt és /cdrom. Ezekre a könyvtárakra általában az /etc/fstab állományban találunk hivatkozásokat. Az /etc/fstab állomány a rendszer számára a különböző állományrendszerek és a hozzájuk tartozó csatlakozási pontok táblázatát tartalmazza. Az /etc/fstab állományban szereplő legtöbb állományrendszer a rendszerindítás során automatikusan csatlakoztatásra kerül az rc(8) szkriptből, hacsak nem tartalmazzák a noauto beállítást. Ennek részleteit a 3.6.1. szakasz - Az fstab állományban találhatjuk meg.

Az állományrendszerek hierarchiájának teljes leírását a hier(7) man oldalon olvashatjuk. Mi egyelőre most megelégszünk a leggyakrabban megjelenő könyvtárak rövid áttekintésével.

KönyvtárMi található itt
/Az állományrendszer gyökere.
/bin/Az egy- és többfelhasználós környezetekben is egyaránt alapvető felhasználói segédprogramok.
/boot/Az operációs rendszer indítása során használt programok és konfigurációs állományok.
/boot/defaults/A rendszerindítás alapértelmezett konfigurációs állományai. Lásd loader.conf(5)
/dev/Eszközleírók, lásd intro(4).
/etc/Rendszerkonfigurációs állományok és szkriptek.
/etc/defaults/Az alapértelmezett rendszerkonfigurációs állományok, lásd rc(8).
/etc/mail/A sendmail(8) programhoz hasonló levélküldő rendszerek konfigurációs állományai.
/etc/namedb/A named program konfigurációs állományai, lásd named(8).
/etc/periodic/A cron(8) által naponta, hetente és havonta lefuttatandó szkriptek, lásd periodic(8).
/etc/ppp/A ppp program konfigurációs állományai, lásd ppp(8).
/mnt/Egy üres könyvtár, amelyet a rendszergazdák általában ideiglenes csatlakozási pontként használnak.
/proc/A futó programokat tartalmazó állományrendszer, lásd procfs(5), illetve mount_procfs(8).
/rescue/Statikusan linkelt programok vészhelyzet esetére, lásd rescue(8).
/root/A root felhasználó könyvtára.
/sbin/Az egy- és többfelhasználós környezetekben fontos rendszerprogramok és rendszerfelügyeleti eszközök.
/tmp/Átmeneti állományok. A /tmp könyvtár tartalma általában NEM marad meg az újraindítás után. Erre a célra gyakran memóriában létrehozott állományrendszert szoktak csatlakoztatni a /tmp könyvtárba. Ez utóbbit az rc.conf(5) tmpmfs-re vonatkozó változóinak beállításával lehet automatikussá tenni (vagy a /etc/fstab megfelelő módosításával, lásd mdmfs(8)).
/usr/A felhasználói programok és alkalmazások többsége.
/usr/bin/Általános segédprogramok, programozási eszközök és alkalmazások.
/usr/include/Szabványos C include-állományok.
/usr/lib/Függvénykönyvtárak.
/usr/libdata/Egyéb hasznos adatállományok.
/usr/libexec/(Más programok által használt) Rendszerdémonok és rendszereszközök.
/usr/local/A helyi rendszeren telepített programok, függvénykönyvtárak stb. A FreeBSD portrendszere is ezt használja alapértelmezés szerint. A /usr/local könyvtáron belül a hier(7) man oldalon található /usr könyvtár általános felépítése használatos. Ez alól kivételt képez a man alkönyvtár, amely közvetlenül a /usr/local alatt található, nem pedig a /usr/local/share könyvtáron belül, valamint a portok dokumentációja a share/doc/port könyvtárban található.
/usr/obj/A /usr/src könyvtárfában található források fordítása során keletkező architektúrafüggő objektumok.
/usr/ports/A FreeBSD Portgyűjtemény (választható).
/usr/sbin/(A felhasználók által használt) Rendszerdémonok és rendszereszközök.
/usr/share/Architektúrafüggő állományok.
/usr/src/BSD és/vagy helyi források.
/usr/X11R6/Az X11R6 rendszer programjai, függvénykönyvtárai stb. (választható)
/var/Különféle napló, átmeneti, ideiglenes és pufferben tárolt állományok. A memóriában létrehozott állományrendszereket is olykor a /var könyvtárban találjuk. Ezt az rc.conf(5) állományban található varmfs-változók beállításával tehetjük automatikussá (vagy a /etc/fstab megfelelő módosításával, lásd mdmfs(8)).
/var/log/Mindenféle rendszernaplók.
/var/mail/A felhasználók postafiókjait tároló állományok.
/var/spool/A nyomtatók és a levelezés puffereléséhez használt könyvtárak.
/var/tmp/Átmeneti állományok. Az itt található állományok általában megmaradnak a következő rendszerindítás alkalmával is, hacsak a /var nem egy memóriában létező állományrendszer.
/var/ypA NIS állományai.

3.5. A lemezek szervezése

Az állománynév a legkisebb szervezési egység, amin keresztül a FreeBSD képes megtalálni az állományokat. Az állományok neveiben a kis- és nagybetűt megkülönböztetjük, tehát a readme.txt és a README.TXT elnevezés két különböző állományra utal. A FreeBSD nem az állományok kiterjesztése (ami a konkrét példánkban a .txt volt) alapján dönti el, hogy az adott állomány vajon program, dokumentum vagy valamilyen más fajtájú adat.

Az állományok könyvtárakban tárolódnak. Egy könyvtár lehet akár üres (nincs benne egyetlen állomány sem), vagy többszáz állományt is tartalmazhat. Egy könyvtár ráadásul további könyvtárakat is tárolhat, és így az egymásban elhelyezkedő könyvtárak segítségével könyvtárak egy hierarchiáját tudjuk felépíteni. Ezzel sokkalta könnyebben szervezhetővé válnak az adataink.

Az állományokat és könyvtárakat úgy tudjuk elérni, ha megadjuk az állomány vagy a könyvtárt tároló könyvtár nevét, amit egy perjel, a / követ, valamint így összefűzve az eléréshez szükséges további könyvtárak felsorolása. Tehát, ha van egy ize nevű könyvtárunk, amelyben található egy mize könyvtár, amelyen belül pedig egy readme.txt, akkor ennek az állománynak a teljes neve, vagy másképpen szólva az elérési útja ize/mize/readme.txt lesz.

A könyvtárak és az állományok egy állományrendszerben tárolódnak. Minden állományrendszer pontosan egy könyvtárat tartalmaz a legfelső szintjén, amelyet az adott állományrendszer gyökérkönyvtárának nevezünk. Ez a gyökérkönyvtár tartalmazhat aztán további könyvtárakat.

Eddig még valószínűleg minden nagyon hasonló a más operációs rendszerekben tapasztalható fogalmakhoz. Azonban adónak különbségek: például az MS-DOS® a \ jellel választja el az állományok és könyvtárak neveit, miközben a Mac OS® erre a : jelet használja.

A FreeBSD az elérési utakban sem betűkkel, sem pedig semmilyen más névvel nem jelöli meg a meghajtókat. Tehát a FreeBSD-ben nem írhatjuk, hogy a c:/ize/mize/readme.txt.

Helyette az egyik állományrendszert kijelölik gyökér-állományrendszernek. A gyökér-állományrendszer gyökérkönyvtárára hivatkoznak később / könyvtárként. Ezután minden más állományrendszert a gyökér-állományrendszerhez csatlakoztatunk. Ennek értelmében nem számít, hogy mennyi lemezünk is van a FreeBSD rendszerünkben, hiszen minden könyvtár egyazon lemez részeként jelenik meg.

Tegyük fel, hogy van három állományrendszerünk, hívjuk ezeket A-nak, B-nek és C-nek. Minden állományrendszer rendelkezik egy gyökérkönyvtárral, amely két további könyvtárat tartalmaz: A1-et és A2-t (és ennek megfelelően a többi B1-et és B2-t, valamint C1 és C2-t).

Nevezzük A-t a gyökér-állományrendszernek. Ha a könyvtár tartalmának megjelenítéséhez most kiadnánk az ls parancsot, két alkönyvtárat látnánk, az A1-et és A2-t. A létrejött könyvtárfa valahogy így nézne ki:

Egy állományrendszert csak egy másik állományrendszer valamelyik könyvtárába tudunk csatlakoztatni. Ezért most tételezzük fel, hogy a B állományrendszert az A1 könyvtárba csatlakoztatjuk. Ezután a B gyökérkönyvtára átveszi a A1 helyét az állományrendszerben, és ennek megfelelően megjelennek a B könyvtárai is:

A B1 vagy B2 könyvtárakban található állományok bármelyike innentől kezdve a /A1/B1, illetve a /A1/B2 elérési utakon érhetőek el. Az A1 könyvtárban található állományok erre az időre rejtve maradnak. Akkor fognak újra felbukkanni, ha a B állományrendszert leválasztjuk az A állományrendszerről.

Ha a B állományrendszert az A2 könyvtárba csatlakoztatnánk, az iménti ábra nagyjából így nézne ki:

és ennek megfelelően az előbb tárgyalt elérési utak /A2/B1 és /A2/B2 lennének.

Az állományrendszerek egymáshoz is csatlakoztathatóak. A példát ennek megfelelően úgy is folytathatjuk, hogy a C állományrendszert csatlakoztatjuk B állományrendszerben található B1 könyvtárhoz. Ennek eredménye a következő elrendezés lesz:

Vagy a C állományrendszer az A1 könyvtáron keresztül csatlakoztatható akár közvetlenül az A állományrendszerhez is:

Az MS-DOS® operációs rendszert ismerők számára ez hasonló lehet a join parancshoz (habár teljesen nem egyezik meg vele).

Általában azonban ezzel nem kell törődnünk, hiszen többnyire csak a FreeBSD telepítése során hozunk létre állományrendszereket és választjuk meg a csatlakozási pontjukat. A későbbiekben ez legfeljebb akkor kerül elő ismét, amikor újabb lemezeket adunk hozzá a rendszerhez.

Teljességgel megengedhető, hogy elhagyjuk a többit és csak egyetlen óriási gyökér-állományrendszert használjunk. Ennek viszont megvannak a maga hátrányai és az egyetlen előnye.

Több állományrendszer használatának előnyei
  • A különböző állományrendszereknek különböző csatlakoztatási beállításai (mount options) lehetnek. Például, ha kellően elővigyázatosak akarunk lenni, a gyökér-állományrendszer írásvédett módon is csatlakoztatható, aminek köszönhetően lehetetlenné válik a rendszer számára fontos állományok véletlen törlése vagy felülírása. Ha elkülönítjük a felhasználók számára írható állományrendszereket (például a /home könyvtárakat) a többi állományrendszertől, lehetővé válik számunkra, hogy nosuid beállítással csatlakoztassuk ezeket. Ez a beállítás megakadályozza, hogy ezekben a suid/guid bitekkel rendelkező végrehajtható állományok használhatóak legyenek, ezáltal növeli a rendszer biztonságosságát.

  • A FreeBSD az állományrendszer használatától függően magától határoz a benne található állományok optimális kiosztását illetően. Így tehát a gyakorta módosított, kisebb állományokat tartalmazó állományrendszerek esetén teljesen más technikákat alkalmaz, mint például a nagyobb, kevésbé változó állományok esetén. Azonban egyetlen állományrendszer használatával ez a gyorsítási módszer odavész.

  • Noha a FreeBSD állományrendszerei nagyon jól tűrik a hirtelen áramkimaradásokat, egy döntő ponton bekövetkező váratlan leállás mégis kárt okozhat a szerkezetükben. Ha azonban több állományrendszerre osztjuk a tárolandó adatainkat, sokkal valószínűbbé válik, hogy egy ilyen eset után a rendszerünk talpra tud állni, és szükség esetén nekünk is könnyebb lesz a biztonsági mentéseinkből helyreállítani a sérült állományokat.

Egyetlen állományrendszer használatának előnyei
  • Az állományrendszerek mérete rögzített. Miután a FreeBSD telepítése során létrehoztunk egy adott méretű állományrendszert, előfordulhat, hogy később szükségünk lesz a méretének növelésére. Ilyenkor nehezen kerülhetjük el az ilyenkor szokásos teendőket: biztonsági mentés készítése, az új méretnek megfelelő állományrendszer létrehozása, majd ezután a lementett adataink visszaállítása.

    Fontos:

    A FreeBSD-ben azonban megtalálható a growfs(8) parancs, amelynek segítségével az állományrendszerek mérete használat közben növelhető, és ezzel megszűnik a méretre vonatkozó korlátozás.

Az állományrendszerek partíciókban tárolódnak. A FreeBSD UNIX®-os eredete miatt azonban ez a kifejezés nem a hétköznapi partíció jelentését takarja (mint például egy MS-DOS® partíció). Minden partíciót egy betű azonosít a-tól h-ig. Mindegyik partíció csak egyetlen állományrendszert tartalmazhat, aminek révén az állományrendszereket vagy az állományrendszerek hierarchiájában található csatlakozási pontjukkal vagy pedig az ezeket tartalmazó partíció betűjével azonosíthatjuk.

A FreeBSD ezeken felül külön lemezterülen tárolja a lapozóállományt (swap space). A lapozóállományt használja a FreeBSD virtuális memória (virtual memory) megvalósításához. Ennek köszönhetően a számítógép képes úgy viselkedni, mintha jóval több memóriával rendelkezne, mint valójában. Így, amikor a FreeBSD kifogy a memóriából, egyszerűen kirakja a memóriából a lapozóállományba az éppen nem használt adatokat, majd amikor ismét szüksége lesz rájuk, visszatölti ezeket (és ilyenkor megint kirak valami mást).

Némely partícióhoz kötődnek bizonyos megszokások.

PartícióMegszokás
aÁltalában ez tartalmazza a gyökér-állományrendszert.
bÁltalában ez tartalmazza a lapozóállományt.
cMérete általában a tartalmazó slice méretével egyezik meg. Ennek köszönhetően a segédprogramok (például egy hibás szektorokat kereső program) a c partíción keresztül képesek akár az egész slice-szal dolgozni. Normális esetben ezen a partíción nem hozunk létre állományrendszert.
dA d partícióhoz egykoron kapcsolódott különleges jelentés, azonban mostanra ez már megszűnt, és a d egy teljesen átlagos partíciónak tekinthető.

Minden állományrendszert tartalmazó partíciót a FreeBSD egy ún. slice-ban tárol. A FreeBSD számára a slice elnevezés utal mindarra, amit általában partíciónak neveznek, és ismét megemlítjük, mindez a UNIX®-os eredet miatt. A slice-okat 1-től 4-ig sorszámozzák.

A slice-ok sorszáma 1-től indulva az eszközök neve után egy s betűvel elválasztva következik. Így tehát a da0s1 jelentése az első slice lesz az első SCSI-meghajtón. Lemezenként négy fizikai slice hozható létre, de ezeken belül tetszőleges típusú logikai slice-ok helyezhetőek el. Ezen további slice-ok sorszámozása 5-től kezdődik, így ennek megfelelően a ad0s5 lesz az első IDE-lemezen található első kiterjesztett slice. Ezeket az eszközöket foglalják el a különböző állományrendszerek.

A slice-ok, a veszélyesen dedikált (Dangerously Dedicated) fizikai meghajtók, és minden más olyan meghajtó, amely partíciókat tartalmaz, a-tól h-ig jelölődnek. Ez a betű az eszköz neve után következik, így ennek megfelelően a da0a lesz az első da meghajtó a, vagyis a veszélyesen dedikált partíciója. Az ad1s3e lesz a második IDE-lemezmeghajtón a harmadik slice-ban szereplő ötödik partíció.

Végezetül, a rendszerben minden lemezt azonosítunk. A lemez neve a típusára utaló kóddal kezdődik, amely után aztán egy sorszám jelzi, hogy melyik lemezről is van szó. Azonban eltérően a slice-okétól, a lemezek sorszámozása 0-tól indul. Az általánosan elterjedt kódolások a 3.1. táblázat - Lemezes eszközök kódjaiban találhatóak.

Amikor hivatkozunk egy partícióra, a FreeBSD elvárja tőlünk, hogy nevezzük meg az adott partíciót tartalmazó slice-ot és lemezt is. Emiatt egy partícióra mindig úgy hivatkozunk, hogy először megadjuk a tartalmazó lemez nevét, ettől s-sel elválasztva a tartalmazó slice sorszámát, majd ezt a partíció betűjelével zárjuk. Erre példákat a 3.1. példa - Példák lemezek, slice-ok és partíciók neveireban láthatunk.

Az érhetőség kedvéért a 3.2. példa - Egy lemez kialakításának sablonja bemutatja egy lemez kiosztásának fogalmi sablonját.

A FreeBSD telepítéséhez először be kell állítani a lemezen található slice-okat, majd létrehozni benne a FreeBSD-hez használni kívánt partíciókat, kialakítani rajtuk az állományrendszereket (vagy a lapozóállományt) és eldönteni, melyik állományrendszert kívánjuk csatlakoztatni.

3.1. táblázat - Lemezes eszközök kódjai
KódJelentés
adATAPI (IDE) lemez
daközvetlen hozzáférésű SCSI lemez
acdATAPI (IDE) CDROM
cdSCSI CDROM
fdFloppylemez

3.1. példa - Példák lemezek, slice-ok és partíciók neveire
NévJelentés
ad0s1aAz első IDE lemezen (ad0) levő első slice (s1) első partíciója (a).
da1s2eA második SCSI-lemzen (da1) levő második slice (s2) ötödik partíciója (e).

3.2. példa - Egy lemez kialakításának sablonja

Az ábrán a rendszerhez csatlakoztatott első IDE-lemez látható a FreeBSD szemszögéből. Tegyük fel, hogy ez a lemez 4 GB méretű és két, egyenként 2 GB méretű slice-ot (avagy MS-DOS® partíciót) tartalmaz. Az első slice egy MS-DOS® formátumú lemezt foglal magában, a C: meghajtót, illetve a második slice egy telepített FreeBSD-t tartalmaz. Ebben a példában a FreeBSD három adatot és egy lapozóállományt tároló partícióval rendelkezik.

A három partíció mindegyikén találhatunk egy-egy állományrendszert. Az a partíció lesz a gyökér-állományrendszer, az e lesz a rendszerünkben a /var és az f pedig a /usr könyvtár.


3.6. Állományrendszerek csatlakoztatása és leválasztása

Az állományrendszereket legkönnyebben egy-egy faként tudjuk magunk előtt elképzelni, amelyek a / könyvtárból nőnek ki. A /dev, /usr és mellettük szereplő, hozzájuk hasonló összes többi könyvtár csupán egy-egy ág, amelyeknek saját ágaik is lehetnek, mint például a /usr/local és így tovább.

Különféle okai vannak annak, hogy egyes könyvtárakat különálló állományrendszereken tárolunk. A /var könyvtár tartalmazza a log/, spool/ könyvtárakat és különféle átmeneti állományokat, azonban az ilyen állományok könnyen megszaporodhatnak és megtölthetik az állományrendszert. Mivel a gyökér-állományrendszert nem tanácsos elárasztani mindenféle állománnyal, ezért gyakran a hasznunkra válhat, ha a /var könyvtárat leválasztjuk a / könyvtárból.

A másik gyakori ok, ami az imént említett fa egyes ágainak különböző állományrendszereken történő tárolását indokolja, hogy ezek gyakran más fizikai vagy virtuális lemezeken, például a rendszerhez csatlakoztatott Hálózati állományrendszereken vagy éppen CD-meghajtókon találhatóak.

3.6.1. Az fstab állomány

A rendszerindítás folyamata során az /etc/fstab állományban felsorolt állományrendszerek maguktól kerülnek csatlakoztatásra (kivéve amikor a noauto beállítással szerepelnek).

Az /etc/fstab állományban található sorok az alábbi szerkezetűek:

eszköz       /csatlakozási-pont típus     beállítások      mentésigyak     ellszám
eszköz

A 18.2. szakasz - Az eszközök elnevezéseiban leírtak szerint megnevezett (létező) eszköz.

csatlakozási-pont

Egy (létező) könyvtár, ahova az állományrendszer csatlakozik.

típus

Az állományrendszer mount(8) parancs szerint ismert típusa. A FreeBSD alapértelmezett állományrendszere az ufs.

beállítások

Az írható-olvasható állományrendszerek esetén rw, az írásvédettek esetén pedig ro, amelyet igény szerint további beállítások követhetnek. A rendszerindítás során automatikusan nem csatlakoztatandó állományrendszerek esetén gyakran alkalmazott beállítás itt még a noauto. Egyéb lehetőségeket a mount(8) man oldalon láthatunk.

mentésigyak

Ezt általában a dump(8) parancs használja a menteni szükséges állományrendszerek megállapításához. Amennyiben hiányzik ez a mező, az automatikusan a nulla értéket jelöli.

ellszám

Megadja, hogy mely állományrendszereket kell ellenőrizni. A nullás pass értékkel rendelkező állományrendszerek nem kerülnek ellenőrzésre. A gyökér-állományrendszer (melyet minden más előtt kell ellenőrizni) passno értéke egy, míg az összes többi állományrendszer passno értéke általában egytől különböző. Ha egynél több állományrendszer is ugyanazt a passno értéket kapta, akkor az fsck(8) a lehetőségei szerint megpróbálja ezeket egyszerre ellenőrizni.

Az /etc/fstab felépítéséről és a benne használható beállításokról bővebben a fstab(5) man oldalon olvashatunk.

3.6.2. A mount parancs

Az állományrendszerek tényleges csatlakoztatására avagy mountolására a mount(8) parancs használható.

Legegyszerűbb formája:

# mount eszköz csatlakozási-pont

Ahogy a mount(8) man oldalán is olvashatjuk, itt rengeteg opció is megadható, de ezek közül a leggyakoribbak:

Csatlakoztatási opciók
-a

Csatlakoztatja az /etc/fstab állományban felsorolt összes állományrendszert, kivéve azokat, amelyek a noauto beállítást tartalmazzák, vagy kizártuk a -t kapcsolóval, esetleg korábban már csatlakoztattuk.

-d

A tényleges csatlakoztatás elvégzése nélkül végrehajt minden mást. Ez az opció leginkább -v opcióval együtt használható annak megállapítására, hogy a mount(8) valójában mit is akar csinálni.

-f

Egy nem tiszta állományrendszer csatlakoztatásának kényszerítése (veszélyes!) vagy egy korábban már csatlakoztatott állományrendszer írható állapotának felfüggesztése.

-r

Az állományrendszer írásvédett csatlakoztatása. Megegyezik a -o opciónál megadható ro (vagy a FreeBSD 5.2-nél régebbi verziója esetén a rdonly) beállítás használatával.

-t típus

Az adott állományrendszert az adott típusnak megfelelően csatlakoztatja, vagy az -a használata esetén csak az adott típusú állományrendszereket.

Az ufs az állományrendszerek alapértelmezett típusa.

-u

Frissíti az állományrendszerre vonatkozó csatlakoztatási beállításokat.

-v

Részletesebb kijelzés.

-w

Az állományrendszer csatlakoztatása írásra és olvasásra.

Az -o opció után vesszővel elválasztott beállításokat adhatunk meg, többek közt az alábbiakat:

noexec

Az állományrendszeren található állományok végrehajtásának tiltása. Ez egy nagyon hasznos biztonsági beállítás.

nosuid

Az állományrendszeren nem használhatóak a felhasználó- (setuid) vagy csoportváltásra (setgid) vonatkozó engedélyek. Nagyon hasznos biztonsági beállítás.

3.6.3. Az umount parancs

Az umount(8) parancs paraméterként egy csatlakozási pontot, egy eszköznevet vagy a -a, illetve az -A opciókat várja.

A leválasztás kényszerítéséhez mindegyik alakban szerepelhet az -f opció, valamint a részletesebb kijelzést a -v opcióval kapcsolhatjuk be. Azonban szeretnénk mindenkit figyelmeztetni, hogy a -f használata alapvetően nem ajánlott. Az erőszakkal leválasztott állományrendszerek összeomlaszthatják a számítógépet vagy kárt okozhatnak az állományrendszereken található adatokban.

Az -a és -A opciók használatosak az összes csatlakoztatott állományrendszer leválasztására, amelyek típusait a -t opció megadása után sorolhatjuk fel. Fontos különbség azonban, hogy az -A opció a gyökér állományrendszert nem próbálja meg leválasztani.

3.7. Folyamatok

A FreeBSD egy többfeladatos operációs rendszer. Ez azt jelenti, hogy képes látszólag egyszerre több programot is futtatni. Az így egyszerre futó programokat egyenként folyamatoknak (process) nevezzük. Minden kiadott parancsunk elindít legalább egy ilyen folyamatot, és a rendszerünk mozgásban tartásához bizonyos rendszerszintű folyamatok állandóan futnak a háttérben.

Minden folyamatot egy folyamatazonosítónak (process ID vagy PID) nevezett szám azonosít egyértelműen, és az állományokhoz hasonlóan, minden folyamatnak van tulajdonosa és csoportja is. A tulajdonos és a csoport ismeretében állapítja meg a rendszer, hogy az adott folyamat a korábban említett engedélyek szerint milyen állományokhoz és eszközökhöz férhet hozzá. Ezenkívül a legtöbb folyamatnak van még egy szülőfolyamata is. A szülőfolyamat az a folyamat, amely az adott folyamatot elindította. Például amikor parancsokat adunk egy parancsértelmezőn keresztül, akkor maga a parancsértelmező is egy ilyen folyamat lesz ugyanúgy, ahogy a benne kiadott parancsok által elindított programok. Ennek megfelelően az így létrehozott összes folyamat szülője maga a parancsértelmező folyamata lesz. Az említettek alól egyik kivétel az init(8) nevű speciális folyamat. Az init lesz a rendszerben mindig az első folyamat, ezért a PID-je is mindig 1. Az init programot a FreeBSD indulásakor a rendszermag fogja automatikusan elindítani.

A rendszerben futó programok vizsgálatához két, különösen hasznos parancsot találhatunk: ezek a ps(1) és a top(1). A ps parancs használatos a pillanatnyilag futó programok statikus listájának megjelenítésére. Ebben olvashatjuk a futó programok azonosítóit, mennyi memóriát használnak éppen, milyen paranccsal indították ezeket stb. A top parancs mutatja az összes aktívan futó programot, majd néhány másodpercenként automatikusan frissíti ezt a listát, aminek révén folyamatosan láthatjuk, miként viselkednek a futó programok.

A ps alapértelmezés szerint csupán az általunk futtatott programokat mutatja. Például:

% ps
  PID  TT  STAT      TIME COMMAND
  298  p0  Ss     0:01.10 tcsh
 7078  p0  S      2:40.88 xemacs mdoc.xsl (xemacs-21.1.14)
37393  p0  I      0:03.11 xemacs freebsd.dsl (xemacs-21.1.14)
48630  p0  S      2:50.89 /usr/local/lib/netscape-linux/navigator-linux-4.77.bi
48730  p0  IW     0:00.00 (dns helper) (navigator-linux-)
72210  p0  R+     0:00.00 ps
  390  p1  Is     0:01.14 tcsh
 7059  p2  Is+    1:36.18 /usr/local/bin/mutt -y
 6688  p3  IWs    0:00.00 tcsh
10735  p4  IWs    0:00.00 tcsh
20256  p5  IWs    0:00.00 tcsh
  262  v0  IWs    0:00.00 -tcsh (tcsh)
  270  v0  IW+    0:00.00 /bin/sh /usr/X11R6/bin/startx -- -bpp 16
  280  v0  IW+    0:00.00 xinit /home/nik/.xinitrc -- -bpp 16
  284  v0  IW     0:00.00 /bin/sh /home/nik/.xinitrc
  285  v0  S      0:38.45 /usr/X11R6/bin/sawfish

Ahogy az a fenti példában is látszik, a ps(1) kimenete oszlopokra tagolható. Ezek közül a PID tartalmazza a korábban már ismertetett folyamatazonosítókat. Az azonosítók 1-től indulva egészen 99999-ig sorszámozódhatnak, illetve ha kifutnánk belőlük, akkor a számozás kezdődik elölről (azonban a használatban levő azonosítók sosem kerülnek újra kiosztásra). A TT oszlopban láthatjuk azt a terminált, amelyen az adott program éppen fut, de ezt pillanatnyilag akár nyugodtan figyelmen kívül is hagyhatjuk. A STAT oszlopban a program állapotát kapjuk meg, de szintén átugorható. A TIME a program processzoron eltöltött idejét mutatja — ez általában nem arra utal, hogy mennyi ideje fut maga a program, hiszen a legtöbb program sok időt tölt tétlenül, mielőtt egyáltalán szüksége lenne processzora. Végezetül a COMMAND oszlopban olvashatjuk azt a parancsot, amellyel a programot elindították.

A ps(1) számos különféle beállítást ismer az általa megjelenített információk megválasztásához. Az egyik ilyen leghasznosabb beállítás az auxww: az a segítségével az összes futó programot láthatjuk, nem csak a sajátjainkat; az u megadásával láthatóvá válik a folyamat tulajdonosának a felhasználói neve, valamint a memóriahasználata is; az x megmutatja a démon (avagy háttér)folyamatok adatait is és a ww hatására pedig a ps(1) az összes folyamathoz a teljes parancssort kiírja, még akkor is, ha nem férne ki a képernyőre.

A top(1) kimenete is hasonló. Ha elindítjuk, általában ezt láthatjuk:

% top
last pid: 72257;  load averages:  0.13,  0.09,  0.03    up 0+13:38:33  22:39:10
47 processes:  1 running, 46 sleeping
CPU states: 12.6% user,  0.0% nice,  7.8% system,  0.0% interrupt, 79.7% idle
Mem: 36M Active, 5256K Inact, 13M Wired, 6312K Cache, 15M Buf, 408K Free
Swap: 256M Total, 38M Used, 217M Free, 15% Inuse

  PID USERNAME PRI NICE  SIZE    RES STATE    TIME   WCPU    CPU COMMAND
72257 nik       28   0  1960K  1044K RUN      0:00 14.86%  1.42% top
 7078 nik        2   0 15280K 10960K select   2:54  0.88%  0.88% xemacs-21.1.14
  281 nik        2   0 18636K  7112K select   5:36  0.73%  0.73% XF86_SVGA
  296 nik        2   0  3240K  1644K select   0:12  0.05%  0.05% xterm
48630 nik        2   0 29816K  9148K select   3:18  0.00%  0.00% navigator-linu
  175 root       2   0   924K   252K select   1:41  0.00%  0.00% syslogd
 7059 nik        2   0  7260K  4644K poll     1:38  0.00%  0.00% mutt
...

A kimenet két részre osztható. A fejlécben (vagyis az első öt sorban) látható az utoljára futtatott program azonosítója (PID), a rendszer átlagos terhelése (load average, amellyel mérjük, hogy a rendszerünk mennyire lefoglalt), a rendszer indítása óta eltelt idő (up mint uptime) és a jelenlegi idő. A fejlécben még megtalálhatjuk azt is, mennyi program fut (esetünkben ez most 47), mennyi memóriát és lapozóállományt használnak, és mennyi időt tölt a rendszer a processzor különböző állapotaiban.

A fejléc alatt a ps(1) kimenetéhez hasonló módon oszlopokba rendezve találhatjuk meg a folyamatok adatait: az azonosítóikat, a tulajdonosaik nevét, a felhasznált processzoridőt, a futtatott parancsot. A top(1) alapértelmezés szerint mutatja a futó programok által használt memória mennyiségét is: ez további két oszlopra oszlik, ahol az egyikben a teljes memóriafoglalást (SIZE), a másikban pedig a jelen pillanatban aktívan használt memóriát (RES) láthatjuk. A példában látható is, hogy a Netscape® (navigator-linu) alkalmazásnak majdnem 30 MB-nyi memóriára van szüksége, de ebből aktívan csak 9 MB-ot használ.

A top(1) a kijelzést minden második másodpercben magától frissíti, de ez az s kapcsolóval állítható.

3.8. Démonok, jelzések és a futó programok leállítása

Amikor elindítunk egy szövegszerkesztőt, nem sok gondunk akad az irányításával, könnyen utasíthatjuk az állományok betöltésére és így tovább. Mindezt azért tehetjük meg, mert a szövegszerkesztő erre lehetőséget biztosít és mivel a szövegszerkesztő egy terminálhoz kapcsolódik. Egyes programok azonban nem úgy lettek kialakítva, hogy állandóan a felhasználó utasításaira támaszkodjanak, ezért az első adandó alkalommal lekapcsolódnak a terminálról. Például egy webszerver egész nap csak webes kéréseket válaszol meg, és általában semmi szüksége nincs a felhasználók utasításaira. A szerverek között leveleket közvetítő programok is ugyanezen osztályba tartoznak.

Ezeket a programokat démononoknak hívjuk. A démonok a görög mitológiában jelentek meg: sem a jót, sem pedig a gonoszt nem képviselték, egyszerű apró szellemecskék voltak, akik az emberiség javát szolgálták, pontosan úgy, ahogy ma teszik azt a különféle web- és levelező szerverek. Ezért is ábrázolták sokáig a BSD kabalafiguráját is egy tornacipős, vasvillás vidám démonként.

A démonként futó programok nevéhez a hagyományok szerint hozzá szokták fűzni a d betűt. A BIND a Berkeley Internet Name Domain (névfeloldó) szolgáltatása, azonban a hozzá tartozó program neve named, az Apache webszerver programját httpd-nek nevezik, a sornyomtató kezeléséért felelős démon pedig az lpd és így tovább. Ez csupán egy hagyomány, megszokás, nem pedig egy kőbe vésett szabály: például a Sendmail levelező démonának neve sendmail és nem pedig maild.

Néha azért szükségünk lehet arra, hogy felvegyük valahogy a kapcsolatot a démonként futó programokkal is. Ennek egyik lehetséges módja a jelzések (signal) küldése (de alapvetően bármilyen futó programnak küldhetünk). Több különféle jelzés küldhető — egyeseknek közülük megkülönböztetett jelentése van, másokat magukat az alkalmazások értelmeznek, amelyről a dokumentációjukban tájékozódhatunk. A kill(1) vagy kill(2) paranccsal más tulajdonában levő futó programoknak nem tudunk jelzéseket küldeni, ami alól egyedüli kivétel a root felhasználó.

Bizonyos esetekben a FreeBSD maga is küld néha jelzéseket. Amikor egy alkalmazást rosszul programoznak le és megpróbál egy számára tiltott memóriaterülethez hozzáférni, a FreeBSD küld neki egy Segmentation Violation (SIGSEGV, szegmentálási hiba) jelzést. Ha egy alkalmazás az alarm(3) rendszerhíváson keresztül kér egy adott idő utáni bekövetkező értesítést, akkor kap erről egy Alarm (SIGALRM) jelzést és így tovább.

A folyamatok leállítására két jelzés használható: a SIGTERM (befejeztetés) és a SIGKILL (leállítás). A SIGTERM a folyamatok leállításának illedelmes módja, mivel ekkor a futó program képes elkapni ezt a jelzést és észrevenni, hogy le akarjuk állítani. Ilyenkor a leállítás előtt lehetősége van szabályosan lezárni a naplóit és általánosságban véve befejezni mindent, amit éppen csinál. Előfordulhat azonban, hogy a folyamatok figyelmen kívül hagyják a SIGTERM jelzést, ha például éppen egy félbeszakíthatatlan feladat közepén tartanak.

A SIGKILL jelzést azonban egyetlen futó program sem hagyhatja figyelmen kívül. Ez lenne a Nem érdekel, mivel foglalkozol, azonnal hagyd abba! jelzés. Amikor SIGKILL jelzést küldünk egy folyamatnak, a FreeBSD leállítja a folyamatot ott és ahol tart [4].

További használható jelzések: SIGHUP, SIGUSR1 és SIGUSR2. Ezek általános célú jelzések, amelyeket az alkalmazások eltérő módokon kezelnek.

Tegyük fel, hogy megváltoztattuk a webszerverünk beállításait tartalmazó állományt — valamilyen módon szeretnénk tudatni a szerverrel, hogy olvassa be újra a beállításait. Ezt megtehetjük úgy, hogy leállítjuk és újraindítjuk a httpd démont, de ezzel kiesést okozhatunk a szerver működésében, amit viszont nem engedhetünk meg. A legtöbb démont úgy készítették el, hogy a SIGHUP jelzés hatására olvassa be újra a beállításait tartalmazó állományt. Így a httpd leállítása és újraindítása helyett egyszerűen elegendő egy SIGHUP jelzés küldése. Mivel azonban ez nem szabványosított, a különböző démonok ezt a jelzést többféleképpen is értelmezhetik. Ezért a használata előtt ennek mindenképpen járjunk utána a kérdéses démon dokumentációjában.

A jelzéseket a kill(1) paranccsal tudjuk elküldeni, ahogy ezt a következő példában is láthatjuk.

Eljárás 3.1. Jelzés küldése egy futó programnak

Ebben a példában megmutatjuk, hogyan lehet jelzést küldeni az inetd(8) démonnak. Az inetd a beállításait az /etc/inetd.conf állományban tárolja, és az inetd a SIGHUP jelzés hatására képes újraolvasni ezt.

  1. Keressük meg annak a folyamatnak az azonosítóját, amelynek a jelzést kívánjuk küldeni. Ezt a ps(1) és a grep(1) használatával tehetjük meg. A grep(1) parancs segítségével más parancsok kimenetében tudunk megkeresni egy általunk megadott szöveget. Ezt a parancsot átlagos felhasználóként futtatjuk, azonban az inetd(8) démont a root birtokolja, ezért az ps(1) használata során meg kell adnunk az ax kapcsolókat is.

    % ps -ax | grep inetd
      198  ??  IWs    0:00.00 inetd -wW

    Innen kiderül, hogy az inetd(8) azonosítója 198. Előfordulhat, hogy az eredményben maga a grep inetd parancs is megjelenik. Ez a ps(1) listázási módszere miatt következhet be.

  2. A jelzés elküldésére használjuk a kill(1) parancsot. Mivel az inetd(8) démont a root felhasználó futtatja, ehhez először a su(1) parancs kiadásával nekünk is root felhasználóvá (rendszeradminisztrátorrá) kell válnunk.

    % su
    Password:
    # /bin/kill -s HUP 198

    Ahogy az a legtöbb UNIX® esetén elfogadott, a sikeres végrehajtás esetén a kill(1) sem válaszol semmit. Amikor viszont nem egy saját programunknak akarunk jelzést küldeni, akkor a kill: PID: Operation not permitted (a művelet nem engedélyezett) hibaüzenetet látunk. Ha véletlenül elgépeltük volna a futó program azonosítóját, akkor a küldendő jelzés nem a megfelelő folyamatnál fog kikötni (ami nem éppen jó), vagy ha szerencsénk van, akkor a jelzést egy éppen használaton kívüli azonosítóra küldtük. Az utóbbi esetben a következő láthatjuk: kill: PID: No such process (nincs ilyen folyamat).

    Miért /bin/kill?:

    A legtöbb parancsértelmező beépítetten tartalmazza a saját kill parancsát, tehát ilyenkor közvetlenül maga a parancsértelmező küldi a jelzést, nem pedig a /bin/kill programon keresztül. Ez gyakran a javunkra válhat, azonban a küldhető jelzések megadása parancsértelmezőnként eltérhet. Így, ahelyett, hogy egyenként ismernünk kellene mindegyiket, sokkal egyszerűbb közvetlenül a /bin/kill ... parancsot használni.

A többi jelzés küldése is nagyon hasonló módon történik, hiszen elegendő csupán a TERM vagy a KILL behelyettesítése a parancs megfelelő helyére.

Fontos:

A rendszerünkben óvatosan bánjunk a futó programok leállítgatásával, és legyünk különös tekintettel az 1-es azonosítóval rendelkező, speciális feladattal bíró init(8) folyamatra. A /bin/kill -s KILL 1 parancs kiadásával ugyanis gyorsan le tudjuk állítani a rendszerünket. Mielőtt egy kill(1) parancsot lezárnánk az Enter billentyűvel, mindig győződjünk meg róla, hogy valóban tényleg a jó paramétereket adtuk meg.

3.9. Parancsértelmezők

A FreeBSD-ben hétköznapi munkánk legnagyobb részét a parancsértelmezőknek (shell) nevezett parancssoros felületen tudjuk elvégezni. A parancsértelmező fő feladata a beérkező parancsok elfogadása és végrehajtatása. Sok parancsértelmező ezenfelül rendelkezik beépített funkciókkal is, amelyek olyan hétköznapi feladatokban igyekeznek segíteni, mint például az állományok kezelése és tömeges elérése reguláris kifejezések használatával, a parancssor szerkesztése, parancsok makrózása és a környezeti változók használata. A FreeBSD alapból tartalmaz néhány parancsértelmezőt, ilyen például az sh, a Bourne Shell, és a tcsh, a továbbfejlesztett C-shell. Sok más parancsértelmező, mint például a zsh és bash is elérhető a FreeBSD Portgyűjteményéből.

De melyik parancsértelmezőt is válasszuk? Ez igazából ízlés kérdése. Ha inkább C programozók vagyunk, akkor valószínűleg egy olyan C-szerű shelllel tudunk kényelmesen dolgozni, amilyen például a tcsh. Ha viszont egy linuxos rendszert használtunk korábban vagy éppen még soha nem használtunk volna a UNIX® parancssorát, érdemes a bash-sel megpróbálkoznunk. A lényeg az, hogy minden parancsértelmezőnek vannak olyan egyedi jellemezői, amiért használatóak vagy éppen nem használatóak a munkánkban, ezért magunknak kell kiválasztani a nekünk megfelelőt.

A shellek egyik legáltalánosabb jellemzője az állományok neveinek kiegészítése. Miután begépeljük egy parancs vagy állománynév első néhány karakterét, a Tab billentyű lenyomásával megkérhetjük a parancsértelmezőt, hogy magától egészítse ki (találja ki) a fennmaradó részt. Nézzük erre egy példát. Tegyük fel, hogy van két állományunk, izemize és ize.mize, és szeretnénk letörölni az ize.mize nevűt. Ehhez a következőt kell begépelnünk: rm iz[Tab].[Tab].

Erre a parancsértelmező a következő parancsot írja ki: rm ize[SIPOLÁS].mize.

A [SIPOLÁS] itt a konzol sípjára vonatkozik, amellyel jelzi, hogy nem tudta teljesen kiegészíteni az állomány nevét, mivel egynél több is megfelel a megadott alaknak. Az izemize és az ize.mize is egyaránt az iz előtaggal kezdődik, azonban ebből a parancsértelmező csak az ize előtagot tudta kikövetkeztetni. Ha most begépelünk még egy . karaktert és újra megnyomjuk a Tab billentyűt, a parancsértelmező ezúttal képes lesz az állomány teljes nevét megállapítani.

A parancsértelmezők másik általános jellemzője a környezeti változók használata. A környezeti változók lényegében a parancsértelmező környezetéhez tárolt név-érték párok. Ezt a környezetet látja minden olyan program, amit a parancsértelmezőből meghívunk, és ezért tartalmazni is szokott sok ilyen beállítást. Íme a leggyakoribb környezeti változók felsorolása és rövid leírása:

VáltozóLeírás
USERA bejelentkezett felhasználó neve.
PATHVesszővel elválasztott könyvtárak, ahol a parancsértelmező a végrehajtható állományokat keresi.
DISPLAYAz aktuálisan használt X11 megjelenítő hálózati neve, amennyiben létezik ilyen.
SHELLA használt parancsértelmező.
TERMA felhasználó által használt terminál típusa. Ebből a terminál képességeit lehet megállapítani.
TERMCAPA terminálok adatbázisából származó, különböző terminálfunkciókhoz tartozó helyettesítő (escape) kódok.
OSTYPEAz operációs rendszer típusa, például FreeBSD.
MACHTYPEA rendszer alatt futó gép architektúrája.
EDITORA felhasználó által használt szövegszerkesztő.
PAGERA felhasználó által lapozásra használt program.
MANPATHVesszővel elválasztott könyvtárak, ahol a parancsértelmező a man oldalakat keresi.

A környezeti változók beállítása parancsértelmezőnként valamennyire eltér. Például egy C stílusú parancsértelmező, mint például a tcsh vagy a csh, a setenv paranccsal állítja a környezeti változókat. A Bourne-féle parancsértelmezők, mint például az sh vagy a bash, az export parancsot használják a környezeti változók beállítására. Például a csh vagy a tcsh használata során a következőképpen tudjuk be- vagy átállítani az EDITOR környezeti változó értékét /usr/local/bin/emacs-re:

% setenv EDITOR /usr/local/bin/emacs

Ugyanez a Bourne-féle parancsértelmezőkben:

% export EDITOR="/usr/local/bin/emacs"

A legtöbb parancsértelmezőben a nevük előtt szerepeltetett $ jel segítségével kérhetjük a környezeti változók értékének behelyettesítését a parancssorba. Ennek megfelelően az echo $TERM parancs kiíratja a TERM változó aktuális értékét, mivel ebbe a parancsértelmező már az echo meghívása előtt behelyettesíti a TERM értékét.

A parancsértelmezők számos speciális karaktert, ún. metakaraktert az adatok különleges reprezentációjaként kezelnek. Köztük a leggyakrabban használt a *, amely tetszőleges számú karaktert helyettesít egy állomány nevében. Az ilyen metakarakterek segítségével tudunk egyszerre több állományt is megnevezni. Például ha begépeljük az echo * parancsot, akkor majdnem ugyanazt kapjuk eredményül, mintha az ls parancsot adtuk volna ki, hiszen a parancsértelmező ilyenkor veszi az összes * metakarakterre illeszkedő állományt, és a kiíratásukhoz pedig rendre behelyettesíti ezeket a parancssorba az echo paramétereként.

Ha nem szeretnénk, hogy a parancsértelmező értelmezze a speciális karaktereket, akkor egy backslash (visszaper) (\) karaktert eléjük téve mindezt megakadályozhatjuk. Az echo $TERM parancs ugyebár kiíratja a terminálra vonatkozó környezeti változó beállítását, azonban a echo \$TERM változatlanul kiírja a $TERM szöveget.

3.9.1. A parancsértelmezőnk megváltoztatása

A parancsértelmezőnk legegyszerűbben a chsh parancs használatával változtatható meg. A chsh kiadása után elindítja az EDITOR környezeti változónak megfelelő szövegszerkesztőt, ha nem lenne ilyen, akkor alapértelmezés szerint a vi hívódik meg. Az így megnyitott állományban változtassuk meg kedvünk szerint a Shell: kezdetű sort.

A chsh parancsnak megadhatjuk az -s opciót is, amin keresztül szövegszerkesztő használata nélkül be tudjuk állítani a parancsértelmezőt. Például ha a parancsértelmezőnket a bash-re akarjuk lecserélni, akkor ezt írjuk be:

% chsh -s /usr/local/bin/bash

Megjegyzés:

A használni kívánt parancsértelmezőnek szerepelnie kell az /etc/shells állományban. Ha a kiválasztott parancsértelmezőt a Portgyűjteményből telepítettük fel, akkor az már minden bizonnyal bekerült oda. Ha viszont saját magunk raktuk volna fel, akkor ide is fel kell vennünk.

Például ha a bash-t manuálisan telepítettük és másoltuk a /usr/local/bin könyvtárba, akkor így kell eljárnunk:

# echo "/usr/local/bin/bash" >> /etc/shells

Majd próbálkozzunk újra a chsh paranccsal.

3.10. Szövegszerkesztők

A FreeBSD beállításának nagy része szöveges állományok szerkesztésével történik. Emiatt sosem árt legalább egy szövegszerkesztőt ismernünk. A FreeBSD alaprendszerében, valamint a Portgyűjteményben is találhatunk néhányat belőlük.

A legegyszerűbben megtanulható és legkönnyedebb szövegszerkesztőt ee-nek, avagy easy editornak hívják. Az ee indításához írjuk be az ee állománynév parancsot, ahol az állománynév lesz a szerkesztendő állomány neve. Így például az /etc/rc.conf állomány szerkesztéséhez gépeljük be az ee /etc/rc.conf parancsot. Miután elindult az ee, az összes szerkesztéshez használható parancsa megjelenik a képernyő felső részében. Itt a kalap (^) karakter a Ctrl billentyű lenyomására utal, így tehát a ^e jelölés a Ctrl+e billentyűkombinációt jelenti. Ha ki akarunk lépni az ee-ből, nyomjuk le az Esc billentyűt, majd a felbukkanó menüből válasszuk a szerkesztő elhagyását (leave editor). Ha az állományt módosítottuk, kilépés előtt még a szövegszerkesztő rákérdez, hogy mentse-e a változtatásainkat.

A FreeBSD nagyobb tudású szövegszerkesztőket, mint például a vi-t, is tartalmaz az alaprendszer részeként, miközben a többi, mint például az Emacs vagy a vim a Portgyűjtemény részeként (editors/emacs és editors/vim) érhető el. Ezek a szerkesztők sokkal több lehetőséget és erőt képviselnek, amiért cserébe viszont valamivel nehezebb megtanulni a használatukat. Ha viszont rengeteg szöveget akarunk majd szerkeszteni, akkor egy vim vagy Emacs használatának megismerésével sok időt megspórolhatunk.

Számos alkalmazás, amely állományokat akar módosítani vagy szöveges bemenetre van szüksége, automatikusan szövegszerkesztőt nyit meg. Ezt az EDITOR környezeti változó beállításával tudjuk meghatározni. Erről részletesebben a parancsértelmezőknél olvashatunk.

3.11. Eszközök és eszközleírók

Az eszköz elnevezést leginkább a rendszerben folyó, hardverrel kapcsolatos tevékenységek kapcsán használják lemezekre, nyomtatókra, grafikus kártyákra és billentyűzetekre. A FreeBSD indulása során többnyire azt láthatjuk, hogy milyen eszközöket sikerült felismernie. Ezeket a rendszerindításkor megjelenő üzeneteket a /var/run/dmesg.boot állományban nézhetjük meg újra.

Például az acd0 az első IDE CD-meghajtót, míg a kbd0 a billentyűzetet képviseli.

A UNIX® operációs rendszerben a legtöbb eszközt a /dev könyvtárban található, eszközleíróknak (device node) nevezett speciális állományokon keresztül érhetjük el.

3.11.1. Eszközleírók létrehozása

Amikor egy újfajta eszközt adunk hozzá a rendszerhez vagy csak annak egy új példányát, mindig létre kell hoznunk hozzá egy új eszközleírót.

3.11.1.1. DEVFS (DEVice File System, Eszköz-állományrendszer)

Az eszközöket tartalmazó állományrendszer, avagy DEVFS, ad hozzáférést a rendszermag által ismert eszközök neveihez a globális állományrendszer nevein keresztül. Így ahelyett, hogy magunknak kellene létrehoznunk és módosítanunk az eszközleírókat, a DEVFS erre a célra fenntart egy külön állományrendszert.

A devfs(5) man oldalon olvashatunk bővebben erről.

3.12. Bináris formátumok

Annak megértéséhez, hogy a FreeBSD miért az elf(5) formátumot használja, először is tisztában kell lennünk a UNIX® típusú rendszerekben használt végrehajtható állományok három uralkodó formátumával:

  • a.out(5)

    A legősibb és egyben a klasszikus UNIX®-os tárgykódformátum. Egy tömör és rövidke fejlécet használ, aminek az elején a formátum leírására szolgáló bűvös szám található (erről bővebben lásd a.out(5)). Három betöltött szegmenst tartalmaz: .text, .data és .bss, valamint egy szimbólumokat és karakterláncokat tároló táblát.

  • COFF

    Az SVR3 tárgykódformátuma. A fejléc itt már tartalmaz egy table nevű szegmenst is, tehát a .text, .data és .bss szegmensekhez hasonlóan ebből is többet tud tárolni.

  • elf(5)

    A COFF után következő formátum, amelyben több szegmens is megtalálható, valamint létezik 32 bites és 64 bites változatban is. Egyetlen hátránya van: az ELF tervezése során rendszerarchitektúránként csupán egyetlen ABI-t (bináris alkalmazói felületet) feltételeztek. Ez azonban meglehetősen helytelen, mivel még a kereskedelmi SYSV világában (ahol már legalább három ABI található: SVR4, Solaris és SCO) sem állja meg a helyét.

    A FreeBSD ezt a problémát a megbélyegzés (branding) segítségével próbálja megoldani, aminek révén el tudunk látni egy ismert ELF állományt a futtatásához megfelelő ABI-ra vonatkozó információkkal. Erről részletesebben a brandelf(1) oldalán tájékozódhatunk.

A FreeBSD a klasszikusok táborából indult, ezért kezdetben az a.out(5) formátumot használta, mivel ez a technológia a BSD kiadások számos generációjában megmérettetett és bevált, egészen a 3.X ág elindulásáig. Habár már jóval előtte lehetett fordítani és futtatni natív ELF binárisokat (és rendszermagokat) a FreeBSD rendszereken, a FreeBSD kezdetben ódzkodott váltani az alapértelmezés szerinti ELF formátumra. De vajon miért? Nos, amikor a Linux-tábor megtette a maga fájdalmas váltását az ELF-re, az nem annyira azért volt, hogy megszabaduljanak az a.out végrehajtható formátumtól, hanem mert a rugalmatlan, ugrótáblákon alapuló oszottkönyvtár-kezelési mechanizmusaik nagyon megnehezítették a gyártók és fejlesztők számára az osztott függvénykönyvtárak létrehozását. Mivel az ELF formátumhoz rendelkezésre álló eszközök megoldást kínáltak az osztott könyvtárak gondjaira, és mivel általánosan elfogadták a jövőbe vezető útként, a FreeBSD is felvállalta az átállással kapcsolatos költségeket és végrehajtotta azt. A FreeBSD az osztott könyvtárakat leginkább a Sun SunOS™ rendszeréhez hasonlóan kezeli, ami egy nagyon könnyen használható megoldás.

De miért van ilyen sok különböző formátum?

A ködös és sötét múltban egyszerűbb hardverek voltak. Ezek az egyszerű hardverek egyszerű, kicsi rendszereket támogattak. Az a.out tökéletesen megfelelő volt egy ilyen egyszerű rendszer (egy PDP-11) binárisainak tárolására. Ahogy az emberek nekiláttak átültetni erről az egyszerű rendszerről a UNIX®-ot más rendszerekre, az a.out formátumot továbbra is megtartották, mivel a UNIX® kezdeti, Motorola 68k-ra, VAXenre készített átírataihoz is elegendő volt.

Ezután néhány éles elméjű hardvermérnök kitalálta, ha rá tudnák kényszeríteni a programokat egy-két ügyetlen trükkre, akkor a terveken meg tudnának spórolni néhány logikai kaput és ezzel a processzor is gyorsabban tudna futni. Miközben az a.out formátumot ilyen hardverre (amit manapság RISC-nek hívnak) is szerették volna áthozni, kiderült, hogy ebben az esetben szinte használhatatlan. Ezért az a.out formátum által felkínáltnál nagyobb teljesítmény elérése érdekében nekiláttak számos más formátumot is kidolgozni. Ekkor jöttek létre a COFF, ECOFF és más hasonló formátumok, amelyek előbb-utóbb korlátokba ütköztek, még mielőtt a történelem megállapodott volna az ELF formátumnál.

Ráadásul a programok méretei egyre inkább kezdtek nőni, miközben a lemezek (valamint a fizikai memória) továbbra is viszonylag kicsik maradtak, ezért megszületett az osztott könyvtár ötlete, és a virtuális memóriát kezelő alrendszer is sokat finomodott. Mivel ezek a különböző fejlesztések az a.out formátumra épültek, annak használatósága a beletömött módosítások számával együtt romlott. Emellett az emberek még szerettek volna betölteni különféle dolgokat futási időben dinamikusan, vagy éppen a memória és a lapozóállomány megspórolásához kipucolni a programjaik egyes részeit az inicializáló kódrészletek lefutása után. A programozási nyelvek is fejlődtek, és az emberek a főprogram futása előtt is akartak kódot futtatni. Az a.out formátum rengeteg apró foltozáson esett keresztül, amelyek egy ideig még tudták is tartani magukat. Azonban egy idő után már az a.out formátum egyre növekvő teljesítménycsökkenés nélkül már nem volt képes állni a sarat. Habár az ELF megszüntette a fennálló problémák jelentős részét, egyúttal megnehezítette egy alapvetően működő rendszer leváltását. Ezért az ELF formátumnak meg kellett várnia azt a pillanatot, amikorra az a.out használata már kényelmetlenné vált.

Azonban ahogy múlt az idő, az eszközökből, amelyekből a FreeBSD a fordításához szükséges eszközöket származtatta (különösen az assembler és a betöltő),létrejött két párhuzamos fejlesztési fa. A FreeBSD-fa kiegészült az osztott könyvtárak támogatásával és hibákat javított, miközben a GNU-fa alkotói, akik eredetileg készítették ezeket a programokat, újraírták az eszközeiket és a keresztfordításhoz egyszerűbb támogatást készítettek, cserélhetővé tették a különböző formátumokat és így tovább. Sokan akartak FreeBSD-re keresztfordítani, azonban nem volt szerencséjük, mert a FreeBSD régebbi forrásait az as és ld már nem emésztette meg. Az új GNU eszköztár (a binutils) viszont ismeri már a keresztfordítást, az ELF formátumot, az osztott könyvtárakat, a C++ kiterjesztéseit stb. Időközben egyre több gyártó ELF formátumú binárisokat adott ki, és jó érzés volt ezeket FreeBSD-n is futtatni.

Az ELF sokkal kifejezőbb az a.out formátumnál, és jóval több bővítési lehetőséget enged az alaprendszerben. Az ELF formátumhoz tartozó eszközöket jobban karbantartják és támogatja a keresztfordítást, ami viszont sokaknak fontos. Az ELF talán némileg lassabb, mint az a.out, azonban ez nehezen mérhető le. Számos részletben eltérnek ugyan, például hogyan képeznek le lapokat, hogyan kezelik az inicializáló kódot stb., de ezek egyike sem igazán fontos. Idővel az a.out támogatása ki fog kerülni a GENERIC rendszermagból, és végül majd teljesen eltávolításra kerül, ahogy a régi a.out formátumú programok szépen lassan kifutnak.

3.13. Bővebben olvashatunk...

3.13.1. Man oldalak

A FreeBSD legátfogóbb dokumentációja a benne található man oldalak összessége. A rendszerben található szinte majdnem mindegyik programhoz létezik egy rövid használati útmutató, amely bemutatja az adott program alapvető működését és a különböző beállításait. Ezek a leírások a man parancs segítségével jeleníthetőek meg. A man parancs használata egyszerű:

% man parancs

ahol a parancs a megismerni kívánt parancsra utal. Például ha az ls parancsról szeretnénk többet megtudni, írjuk be:

% man ls

Az elérhető használati útmutatókat a következő számozott szakaszokra osztották:

  1. Felhasználói parancsok

  2. Rendszerhívások és hibakódok

  3. A C függvénykönyvtár függvényei

  4. Eszközmeghajtók

  5. Állományformátumok

  6. Játékok és egyéb szórakoztató alkalmazások

  7. Egyéb információk

  8. Rendszerkarbantartási és -működtetési parancsok

  9. Rendszermagfejlesztők számára

Bizonyos esetekben ugyanaz a téma az útmutatók több szakaszában is elérhető. Például létezik chmod felhasználói parancs és a chmod() rendszerhívás. Ilyenkor a man parancsnak meg tudjuk adni pontosan, melyik szakaszra is vagyunk kíváncsiak:

% man 1 chmod

Ennek hatására a chmod felhasználói parancshoz tartozó oldal jelenik meg. Írott formában a használati útmutatók különböző szakaszaira hagyományosan a név után zárójelbe tett számmal hivatkoznak, így a chmod(1) a chmod felhasználói parancs és a chmod(2) a rendszerhívás.

Ez a módszer remekül működik abban az esetben, amikor ismerjük a parancs nevét, azonban mit tegyünk akkor, ha nem is emlékszünk a nevére? A man parancs a -k segítségével paraméterezhető úgy is, hogy a parancsok leírásai között keressen valamilyen kulcsszó mentén:

% man -k mail

Ezzel a paranccsal megkapjuk azon parancsok listáját, amelyek leírásában szerepel a mail kulcsszó. Ez egyébként működésében teljesen megegyezik a apropos paranccsal.

Szóval szeretnénk megtudni, hogy a /usr/bin könyvtárban levő parancsok pontosan mit is csinálnak? Ehhez írjuk be:

% cd /usr/bin
% man -f *

vagy

% cd /usr/bin
% whatis *

ami ugyanezt teszi.

3.13.2. A GNU info állományok

A FreeBSD-ben megtalálható a Szabad Szoftver Alapítvány (Free Software Foundation, FSF) által készített számos alkalmazás. Ezek a programok a szokványos man oldalakon kívül még általában tartalmaznak egy infonak nevezett, sokkal részletesebb hipertext alapú leírást is, amelyeket az info paranccsal, vagy ha van fenn emacs, akkor annak az info módjában tudjuk megjeleníteni.

Az info(1) parancs használatához ennyit kell beírnunk:

% info

Itt a h lenyomásával kapunk egy rövid bemutatkozást. A parancsok rövid listáját a ? billentyű hozza elő.



[1] Erre utal pontosan az i386 jelzés. Még abban az esetben is az i386 kiírást fogjuk látni, ha a FreeBSD-t konkrétan nem is az Intel® 386-os processzorán futtatjuk. Itt ugyanis nem a processzorunk típusát, hanem annak architektúráját láthatjuk.

[2] A rendszerindító szkriptek olyan programok, amelyek a FreeBSD indulása során maguktól lefutnak. Legfontosabb feladatuk elvégezni a többi program futtatásához szükséges beállításokat, valamint elindítani a háttérben futtatandó, hasznos munkát végző szolgáltatásokat.

[3] A FreeBSD konzol- és billentyűzetmeghajtóinak teljes, pusztán műszaki és precíz leírása a syscons(4), atkbd(4), vidcontrol(1) és kbdcontrol(1) man oldalakon olvasható. Itt most nem bocsátkozunk részletekbe, azonban a téma iránt érdeklődő olvasóknak mindig érdemes fellapozniuk a kapcsolódó man oldalakat, ahol megtalálhatják az említett eszközök részletesebb és bővebb leírását.

[4] Ez azért nem teljesen igaz. Van néhány olyan tevékenység, ami nem szakítható meg. Ilyen például az, amikor a program egy másik számítógépen található állományt próbál olvasni, miközben valamilyen ok (kikapcsolás, hálózati hiba) folytán elveszti vele a kapcsolatot. Ekkor a program futása megszakíthatatlan. Majd amikor a program feladja a próbálkozást (általában két perc után), akkor következik be a tényleges leállítása.

4. fejezet - Alkalmazások telepítése: csomagok és portok

4.1. Áttekintés

A FreeBSD rendszereszközök gazdag gyűjteményével érkezik az alaprendszer részeként. Azonban a külső alkalmazások telepítéséhez rengeteg teendőt kell elvégeznünk. A feladat elvégzésére ezért a FreeBSD két, egymást kiegészítő technológiát kínál fel: a FreeBSD Portgyűjteményt (telepítés forráskódból) és a csomagokat (telepítés előre elkészített bináris csomagokból). Mind a két módszerrel fel tudjuk telepíteni a kedvenc alkalmazásunk legújabb verzióját lokálisan vagy egyenesen a hálózatról.

A fejezet elolvasása során megismerjük:

  • hogyan telepítsünk külső fejlesztésű bináris szoftvercsomagokat;

  • hogyan fordítsunk le a forrásukból külső fejlesztésű szoftvereket a Portgyűjtemény segítségével;

  • hogyan távolítsunk el korábban már telepített csomagokat és portokat;

  • hogyan bíráljuk felül a Portgyűjtemény által használt alapértelmezett értékeket;

  • hogyan keressük meg a megfelelő szoftvercsomagokat;

  • hogyan frissítsük a telepített alkalmazásokat.

4.2. Az alkalmazások telepítésének összefoglalása

Ha korábban már használtunk UNIX® rendszereket, valószínűleg ismerjük a külső alkalmazások telepítésének jellemező menetét:

  1. Töltsük le a szoftvert, amelyet vagy forráskód vagy pedig bináris formátumban érhetünk el.

  2. Bontsuk ki az alkalmazás letöltött változatát (ez általában a compress(1), gzip(1) vagy a bzip2(1) által tömörített tar állomány).

  3. Keressük meg a dokumentációt (többnyire az INSTALL vagy a README állományban található, vagy a doc/ alkönyvtárban) és olvassuk el benne, hogyan tudjuk telepíteni a szoftvert.

  4. Ha a szoftver forrását töltöttük le, fordítsuk le. Elképzelhető, hogy ennek során szerkesztenünk kell a Makefile állományt vagy lefuttatnunk a configure szkriptet, illetve más lépéseket is el kell végeznünk.

  5. Próbáljuk a ki szoftvert, majd telepítsük.

Ez annak a forgatókönyve, amikor minden hiba nélkül lezajlik. Megeshet azonban, ha olyan szoftvert telepítünk, amelyet nem kifejezetten a FreeBSD-hez terveztek, akkor javítanunk kell a forráskódban a szoftver megfelelő működéséhez.

Ha sikerül működésre bírni, folytathatjuk FreeBSD-n a szoftver telepítését a megszokott módon. Habár a FreeBSD erre a célra két lehetőséget is felkínál, amivel rengeteg erőfeszítéstől megkímélhet minket: ezek a csomagok és a portok. Az írás pillanatában közel 20 000 külső alkalmazás érhető el ilyen formában.

Egy adott alkalmazás esetén a hozzá tartozó FreeBSD-s csomag mindössze egyetlen letöltendő állományt takar. A csomag tartalmazza az alkalmazás telepítéséhez szükséges összes parancs előre lefordított változtatát, ugyanígy magát a dokumentációt is. A letöltött csomagokat a FreeBSD csomagkezelő parancsaival vehetjük használatba: ezek a pkg_add(1), pkg_delete(1), pkg_info(1) és így tovább. Az új alkalmazások telepítése ennek köszönhetően egyetlen paranccsal elvégezhető.

Egy alkalmazás FreeBSD-s portja mögött lényegében állományok gyűjteménye áll, amelyek abban segítenek, hogy automatikusan tudjunk telepíteni a forráskód felhasználásával.

Ne felejtsük el, hogy normális esetben számos lépcsőt végig kell járnunk egy program sajátkezű lefordításához (letöltés, kitömörítés, javítgatás, fordítás, telepítés). A portot alkotó állományok tartalmazzák az összes olyan szükséges információt, amelyek átengedik ezt a feladatot a rendszernek. Kiadunk néhány egyszerű parancsot és az alkalmazás magától letöltődik, kitömörítődik, módosítja a forráskódját, lefordul és települ.

Valójában a portrendszer használható olyan csomagok létrehozására is, amelyeket később a pkg_add és többi hozzá hasonló, hamarosan részletesebben is bemutatandó csomagkezelő paranccsal is kezelni tudunk.

A csomagok és a portok egyaránt képesek függőségeket kezelni. Tegyük fel, hogy egy olyan alkalmazást akarunk telepíteni, amely egy adott függvénykönyvtár meglététől függ a rendszeren. Az alkalmazás és a könyvtár is elérhető FreeBSD portként és csomagként. Akár a pkg_add parancsot, akár a portrendszert használjuk az alkalmazás hozzáadására, mind a kettő észre fogja venni, hogy a szükséges könyvtárt még nem telepítettük, ezért először azt fogja automatikusan telepíteni.

Tudván, hogy a két említett megoldás szinte teljesen egyenértékű, felmerülhet a kérdés: a FreeBSD mégis miért rendelkezik mindkettővel? A csomagoknak és a portoknak is megvannak a maguk előnyei, és hogy a kettő közül melyiket használjuk, csak az egyéni ízlésünkön múlik.

A csomagok használatának előnyei
  • Egy csomag általában kisebb, mint az alkalmazás forráskódját tartalmazó tömörített tar állomány.

  • A csomagokat nem kell fordítani. Nagyobb alkalmazások, mint például a Mozilla, KDE vagy GNOME esetén ez kulcsfontosságú lehet, főleg abban az esetben, ha a rendszerünk ehhez nem eléggé gyors.

  • A csomagok használata nem várja el tőlünk, hogy behatóbban ismerjük, miként is kell FreeBSD-n szoftvereket lefordítani.

A portok használatának előnyei
  • A csomagokat általános esetben igen óvatos beállításokkal készítik el, hiszen a lehető legtöbb rendszeren működőképesnek kell lenniük. Ha viszont portból telepítünk, nyugodtan hangolhatjuk úgy a beállításokat, hogy (például) a Pentium® 4 vagy az Athlon processzoroknak kedvező kódot hozzanak létre.

  • Bizonyos alkalmazások fordítás idején állítandó beállításokkal rendelkeznek arról, hogy mire lesznek képesek és mire nem. Például az Apache beépített konfigurációs opciók széles kelléktárával rendelkezik. Amikor viszont portból hozzuk létre, nem kell elfogadnunk ezek alapértelmezett értékeit, hanem a saját igényeinknek megfelelően átállíthatjuk ezeket.

    Egyes esetekben több különféle beállítást tükröző csomag is létezhet ugyanahhoz az alkalmazáshoz. Például a Ghostscript elérhető ghostscript és ghostscript-nox11 csomagként is attól függően, hogy telepítettük-e az X11 szervert. Ez természetesen egy meglehetősen durva kijátszása a csomagrendszernek, és gyorsan lehetetlenné is válik a használata, ha az adott alkalmazás egy-két fordítási idejű beállításnál többel rendelkezik.

  • Néhány szoftver licencelése tiltja a bináris terjesztést. Ezért ezek a szoftverek kizárólag csak forráskód formájában továbbíthatóak.

  • Néhányan nem bíznak meg a bináris verziókban. Ha látjuk a forráskódot is, akkor (elméletben) át tudjuk nézni, és mi magunk is megkereshetjük a benne lappangó hibákat.

  • Ha vannak saját javításaink, csak a forráskód birtokában tudjuk ezeket felhasználni.

  • Sokan szeretik, ha egyszerűen csak ott van a szoftverek forráskódja. Ha éppen unatkoznak, beléjük tudnak nézni, ötleteket és kódot tudnak belőlük meríteni (persze csak akkor, ha ezt a licenc megengedi), vagy tovább tudják ezeket fejleszteni, orvosolni tudják a hibáikat stb.

A portok frissítéséről a FreeBSD ports levelezési lista és a FreeBSD ports bugs levelezési lista valamelyikéről szerezhetünk naprakész információkat.

Figyelem:

Mielőtt bármelyik alkalmazást is telepítenénk, érdemes meglátogatnunk az http://vuxml.freebsd.org oldalt, ahol a hozzá tartozó ismert biztonsági problémákról olvashatunk.

Telepíthetjük a ports-mgmt/portaudit programot is, amely automatikusan ellenőrzi a telepített alkalmazások ismert sebezhetőségeit. Ez az ellenőrzés egyébként megejthető minden port lefordítása előtt is. Ezalatt a portaudit -F -a parancs kiadásával ellenőrizhetjük utólag a telepített csomagokat.

A fejezet fennmaradó részében megmutatjuk, hogyan használjuk FreeBSD-ben a csomagokat és portokat külső alkalmazások telepítésére és karbantartására.

4.3. A számunkra szükséges alkalmazások felkutatása

Mielőtt telepítenénk bármilyen alkalmazást, tudnunk kell, hogyan is nevezik.

A FreeBSD-hez elérhető alkalmazások listája folyamatosan növekszik. Szerencsére számos módja van annak, hogy utánajárjunk a keresett szoftvernek:

  • A FreeBSD honlapján találhatunk egy rendszeresen frissülő listát az összes elérhető alkalmazásról, a http://www.FreeBSD.org/ports/ címen. Itt a portok különböző kategóriákba sorolva találhatóak meg, ahol név szerint megkereshetjük az alkalmazást (amennyiben ismerjük), vagy végigböngészhetjük az adott kategóriában elérhető alkalmazásokat is.

  • Dan Langlille a http://www.FreshPorts.org/ címen karbantartja a FreshPorts nevű oldalt. Ezen az oldalon folyamatosan nyomon lehet követni a Portgyűjteményben megtalálható alkalmazások változásait, lehetővé téve, hogy egy vagy több portot is figyeljünk, vagy e-mailt küldjünk a frissítésükről.

  • Amennyiben nem ismerjük a keresett alkalmazás nevét, próbáljuk meg felkutatni a FreshMeaten (http://www.freshmeat.net/) vagy hozzá hasonló oldalakon, majd nézzük meg a FreeBSD honlapján, hogy az adott alkalmazást portolták-e már a rendszerre.

  • Ha pontosan ismerjük a port nevét, és csak a kategóriáját kellene megkeresnünk, használjuk a whereis(1) parancsot. Egyszerűen csak adjuk ki a whereis név parancsot, ahol a név a telepítendő program neve. Ha sikerült megtalálni, részletes információt kapunk arról, hogy hol található, valahogy így:

    # whereis lsof
    lsof: /usr/ports/sysutils/lsof

    A fenti példában megtudhatjuk, hogy az lsof parancs a /usr/ports/sysutils/lsof könyvtárban található.

  • Vagy egy egyszerű echo(1) paranccsal is megkereshetjük a portfában a portokat. Mint például:

    # echo /usr/ports/*/*lsof*
    /usr/ports/sysutils/lsof

    Ez a módszer a /usr/ports/distfiles könyvtárba letöltött összes illeszkedő állományt is kilistázza.

  • Egy másik lehetőség egy adott port megtalálására, ha a Portgyűjtemény beépített keresési mechanizmusát használjuk. Ennek használatához a /usr/ports könyvtárban kell lennünk. Miután beléptünk ide, futtassuk le a make search name=programnév parancsot, ahol a programnév a keresendő program neve. Például, ha az lsof programot keressük:

    # cd /usr/ports
    # make search name=lsof
    Port:   lsof-4.56.4
    Path:   /usr/ports/sysutils/lsof
    Info:   Lists information about open files (similar to fstat(1))
    Maint:  obrien@FreeBSD.org
    Index:  sysutils
    B-deps:
    R-deps: 

    A keresés eredményében leginkább a Path: kezdetű sorra kell odafigyelnünk, mivel ez árulja el, hol is találhatjuk meg a portot. Az itt szereplő többi információ nem szükséges a port telepítéséhez, ezért azokkal itt most nem foglalkozunk.

    Mélyebb keresésekhez használhatjuk a make search key=szöveg parancsot is, ahol a szöveg a keresendő szöveg(részlet) lesz. Ezt a rendszer keresni fogja a portok neveiben, megjegyzésekben, leírásokban és függőségekben. Amikor nem ismerjük a keresett program nevét, ez olyan portok keresésére alkalmas, amelyek egy adott témához kapcsolódnak.

    A fenti esetek mindegyikében a keresés nem különbözteti meg a kis- és nagybetűket. Tehát az LSOF keresése ugyanazt az eredményt adja, mint az lsof esetén.

4.4. A csomagrendszer használata

Írta: Lee, Chern.

FreeBSD alatt több különböző módon tudunk csomagokat használni:

  • A sysinstall használatán keresztül a futó rendszeren tudjuk megnézni a telepített csomagokat, tudunk vele csomagokat telepíteni vagy törölni. Ezzel részletesebben a 2.10.11. szakasz - Csomagok telepítése foglalkozik.

  • A szakasz további részében ismertetett egyéb parancssoros csomagkezelő segédprogramok.

4.4.1. Csomagok telepítése

A pkg_add(1) segédprogram segítségével telepíthetünk FreeBSD-hez készült szoftvercsomagokat lokálisan vagy a hálózaton levő egyik szerveren megtalálható állományokból:

4.1. példa - Csomagok letöltése manuálisan és telepítése lokálisan
# ftp -a ftp2.FreeBSD.org
Connected to ftp2.FreeBSD.org.
220 ftp2.FreeBSD.org FTP server (Version 6.00LS) ready.
331 Guest login ok, send your email address as password.
230-
230-     This machine is in Vienna, VA, USA, hosted by Verio.
230-         Questions? E-mail freebsd@vienna.verio.net.
230-
230-
230 Guest login ok, access restrictions apply.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> cd /pub/FreeBSD/ports/packages/sysutils/
250 CWD command successful.
ftp> get lsof-4.56.4.tgz
local: lsof-4.56.4.tgz remote: lsof-4.56.4.tgz
200 PORT command successful.
150 Opening BINARY mode data connection for 'lsof-4.56.4.tgz' (92375 bytes).
100% |**************************************************| 92375       00:00 ETA
226 Transfer complete.
92375 bytes received in 5.60 seconds (16.11 KB/s)
ftp> exit
# pkg_add lsof-4.56.4.tgz

Ha nincsenek egyáltalán helyben csomagjaink (például egy FreeBSD CD-készletben), akkor a legjobban úgy járunk, ha használjuk a pkg_add(1) -r kapcsolóját. Ennek hatására a segédprogram önmagától meghatározza a szükséges állományformátumot és verziót, majd FTP-n keresztül letölti és telepíti a csomagot.

# pkg_add -r lsof

Az iménti példában a program mindenféle további beavatkozás nélkül letölti a megfelelő csomagot és felteszi. Ha a központi helyett egy másik szervert szeretnénk használni, felül kell bírálnunk az alapértelmezett beállításokat és igényeinknek megfelelően be kell állítanunk a PACKAGESITE környezeti változó értékét. A pkg_add(1) a fetch(3) programot használja az állományok letöltésére, amely pedig számos egyéb környezeti változót is figyel, mint például az FTP_PASSIVE_MODE, az FTP_PROXY és az FTP_PASSWORD. Ha tűzfal mögött vagyunk, ezek közül néhányat biztosan be kell majd állítanunk, vagy FTP/HTTP proxyt kell használnunk. A fetch(3) man oldalán megtaláljuk ezen változók teljes felsorolását. Figyeljük meg, hogy az lsof-4.56.4 helyett csak lsof-ot adtunk meg. Amikor ugyanis kérjük a csomag letöltését is, nem szabad verziószámot megadnunk. A pkg_add(1) mindig az alkalmazás legfrissebb verzióját fogja letöltetni.

Megjegyzés:

Ha a FreeBSD-CURRENT vagy FreeBSD-STABLE verziókat használjuk, a pkg_add(1) mindig az alkalmazás elérhető legfrissebb verzióját fogja letölteni. Ha azonban valamelyik -RELEASE verziót használjuk, a csomagnak az adott kiadáshoz készült verzióját fogja leszedni. Ezt a működési módot a PACKAGESITE változó felülírásával viszont meg tudjuk változtatni. Például ha a FreeBSD 5.4-RELEASE változatával dolgozunk, a pkg_add(1) alapértelmezés szerint a ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-5.4-release/Latest/ címről fogja letölteni a csomagokat. Ha mi viszont a FreeBSD 5-STABLE csomagok letöltését akarjuk elérni, állítsuk az PACKAGESITE értékét a ftp://ftp.freebsd.org/pub/FreeBSD/i386/packages-5-stable/Latest/ címre.

A csomagok .tgz és .tbz formátumokban kerülnek terjesztésre. Ezek az ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/packages/ címen, vagy pedig a FreeBSD CD-ken találhatóak meg. A 4 CD-ből álló készlet (illetve a PowerPak stb.) minden CD-jén találhatunk csomagokat a packages/ könyvtárban. A csomagokat tároló könyvtár struktúrája hasonló a /usr/ports könyvtárban kialakított könyvtárfához. Minden kategóriának saját könyvtára van, és minden csomag megtalálható az All (összes) kategóriában.

A csomagrendszer könyvtárszerkezete tehát megegyezik a portok szétosztásával, ezáltal így képesek egymással összedolgozni a teljes csomag/port rendszer megformálásában.

4.4.2. A csomagok kezelése

A pkg_info(1) egy olyan segédprogram, amellyel készíteni lehet egy listát a telepített csomagokról, és emellett még más egyéb információkat tudhatunk meg róluk.

# pkg_info
cvsup-16.1          A general network file distribution system optimized for CV
docbook-1.2         Meta-port for the different versions of the DocBook DTD
...

A pkg_version(1) összefoglalja az összes telepített csomag verzióját. Ezenkívül össze is hasonlítja a csomagok verzióját a portfában található aktuális verziókéval.

# pkg_version
cvsup                       =
docbook                     =
...

A második oszlopban látható jelek utalnak a telepített verzió a helyi portfában található verzióéhoz viszonyított korára.

JelJelentés
=A telepített csomag verziója megegyzik a helyi portfában található verziójával.
<A telepített verzió a portfában levőnél régebbi.
>A telepített verzió újabb, mint a portfában található. (A helyi portfa valószínűleg nem lett frissítve.)
?A telepített csomag nem található a portok között. (Ez akkor történhet meg, amikor például egy portot eltávolítottak a Portgyűjteményből vagy átnevezték.)
*A csomagnak több verziója is jelen van.
!A telepített csomag szerepel az indexben, de a pkg_version valamiért nem volt képes összehasonlítani a verziószámát az indexben levő bejegyzéssel.

4.4.3. Csomagok törlése

Egy korábban már telepített csomag eltávolításához használjuk a pkg_delete(1) segédprogramot.

# pkg_delete xchat-1.7.1

A pkg_delete(1) használatánál szükség van a csomag teljes nevének és verziószámának megadására. A fenti parancs tehát nem működik, ha csak az xchat-et adjuk meg az xchat-1.7.1 helyett. A telepített csomag verzióját azonban könnyedén kitalálhatjuk a pkg_version(1) alkalmazásával. Esetleg egyszerűen dzsókerkaraktereket is használhatunk:

# pkg_delete xchat\*

Ebben az esetben az összes xchat-tel kezdődő csomagot letörli.

4.4.4. Egyebek

A csomagokra vonatkozó összes információ a /var/db/pkg könyvtárban található. Az egyes csomagok leírása és hozzájuk telepített állományok listája az ezen a könyvtáron belül elhelyezkedő állományokban tárolódik.

4.5. A Portgyűjtemény használata

A most következő szakaszokban megismerhetjük azokat az alapvető utasításokat, amelyekkel a Portgyűjteményen keresztül tudunk programokat telepíteni és eltávolítani. Az ehhez használható make targetek és környezeti változók részletesebb leírását a ports(7) man oldalán lelhetjük meg.

4.5.1. A Portgyűjtemény beszerzése

Mielőtt bármelyik portot is tudnánk telepíteni, elsőként magát a Portgyűjteményt kell megszereznünk — ez lényegében a /usr/ports könyvtárban megtalálható Makefile állományok, javítások és leírások gyűjteménye.

A FreeBSD telepítése közben a sysinstall rákérdez a Portgyűjtemény telepítésére is. Ha erre nemet válaszoltunk volna, a portok gyűjteményét az alábbi módokon szerezhetjük be:

Eljárás 4.1. A CVSup használatával

A CVSup protokoll használatával viszonylag gyorsan el tudjuk érni és naprakészen tudjuk tartani a Portgyűjtemény egy példányát. A CVSup használatát alaposabban a A CVSup használata című függelékben ismerhetjük meg.

Megjegyzés:

A FreeBSD 6.2 változatától kezdve az alaprendszerben a CVSup protokollt a csup valósítja meg. A FreeBSD korábbi változatának használói ezt a programot a net/csup porton vagy csomagon keresztül tudják telepíteni.

Gondoskodjunk róla, hogy a /usr/ports üres legyen a csup első futtatása előtt! Ha más forrásból raktuk ide a Portgyűjteményt, a csup nem fogja lenyesegetni az azóta eltávolított javításokat.

  1. Futtassuk a csup programot:

    # csup -L 2 -h cvsup.FreeBSD.org /usr/share/examples/cvsup/ports-supfile

    Itt írjuk át a cvsup.FreeBSD.org címét a hozzánk legközelebb levő CVSup szerver címére. Az összes elérhető tükörszerver címét a CVSup tükrözések (A.6.7. szakasz - CVSup oldalak) című részben olvashatjuk.

    Megjegyzés:

    Ha például el akarjuk kerülni a CVSup szerver megadását a parancssorban, akkor mindenképpen a ports-supfile állományból érdemes készíteni egy saját verziót.

    1. Ebben az esetben root felhasználóként másoljuk a /usr/share/examples/cvsup/ports-supfile állományt egy új helyre, például a /root könyvtárba vagy a saját felhasználói könyvtárunkba.

    2. Szerkesszük át a ports-supfile állományt.

    3. Írjuk át a CHANGE_THIS.FreeBSD.org értéket a hozzánk legközelebb található CVSup szerverére. A CVSup tükrözések (A.6.7. szakasz - CVSup oldalak) című részben megtaláljuk az összes ilyen tükörszervert.

    4. És most indítsuk el a csup parancsot az alábbi módon:

      # csup -L 2 /root/ports-supfile
  2. A csup(1) parancs későbbi futása során már letölti és érvényesíti az észlelt változtatásokat a saját Portgyűjteményünkben, de a telepített portokat nem fogja újrafordítani.

Eljárás 4.2. A Portsnap használatával

A Portsnap egy másik módszert képvisel a Portgyűjtemény terjesztésére, a lehetőségeinek részletesebb megismeréséhez tekintsük át A Portsnap használata című szakaszt.

  1. Töltsük le a Portgyűjtemény tömörített pillanatképét a /var/db/portsnap könyvtárba. Ha akarjuk, ezután a lépés után már lekapcsolódhatunk az internetről.

    # portsnap fetch
  2. Ha még csak először futtatjuk a Portsnapet, bontsuk ki az imént letöltött állapotot a /usr/ports könyvtárba:

    # portsnap extract

    Ha viszont már korábban is létezett a /usr/ports könyvtárunk és most csak frissítjük, akkor helyette ezt a parancsot adjuk ki:

    # portsnap update
Eljárás 4.3. A sysinstall használatával

Ebben az esetben a sysinstall nevű programmal telepítjük a Portgyűjteményt valamilyen telepítőeszközről. Ilyenkor azonban a kiadás dátumának megfelelő, valószínűleg régebbi változat kerül fel. Ha rendelkezünk internet-hozzáféréssel, akkor inkább az előbb tárgyalt módszerek valamelyikét alkalmazzuk.

  1. root felhasználóként adjuk ki a sysinstall parancsot, ahogy itt is láthatjuk:

    # sysinstall
  2. Menjünk le és álljunk meg a Configure (Beállítások) menüpontnál, és nyomjunk Enter billentyűt.

  3. Menjünk le és keressük meg a Distributions (Terjesztések) menüponot, majd nyomjuk meg az Enter billentyűt.

  4. Menjünk le, válasszuk ki a ports elemet a Szóköz megnyomásával.

  5. Menjünk fel az Exit (Kilépés) ponthoz, nyomjuk meg az Enter billentyűt.

  6. Válasszuk ki a telepítéshez használni kívánt eszközt, mint például CD, FTP stb.

  7. Menjünk fel az Exit (Kilépés) menüpontig, majd nyomjuk meg az Enter billentyűt.

  8. Végezetül lépjünk ki a sysinstall programból, aminhez nyomjuk meg az X billentyűt.

4.5.2. Portok telepítése

A váz fogalma az első, amit a Portgyűjteménnyel kapcsolatban tisztázni kell. Dióhéjban összefoglalva, egy port váza azon állományok legszűkebb halmaza, amelyek elárulják a FreeBSD számára, hogyan fordítsuk le hibamentesen és hogyan telepítsük az adott programot. Ehhez minden port vázában megtalálható:

  • Egy Makefile nevű állomány. Ez tartalmazza azokat a különböző utasításokat, amelyek megmondják, hogyan kell lefordítani és hova kell telepíteni a rendszerünkben az adott alkalmazást.

  • Egy distinfo nevű állomány. Ebben található információ a port lefordításához szükséges állományok letöltéséről, valamint a letöltött állományok ellenőrzéséhez szükséges (az md5(1) és sha256(1) programokkal számolt) ellenőrzőösszegek.

  • Egy files alkönyvtár. Itt találhatjuk meg azokat a javításokat, amelyek alkalmazásával le tudjuk fordítani a programot FreeBSD-n is. Ezek a javítások többnyire bizonyos állományok módosításaira vonatkozó apró állományok formájában jelennek meg. Természetüknél fogva szöveges formátumúak, és általában olyanok szerepelnek bennük, hogy Töröld a 10. sort vagy Változtasd meg a 26. sort erre: .... Ezeket a javításokat eredetileg patcheknek (foltoknak) nevezik, vagy másképp diffeknek (eltéréseknek) is, mivel a diff(1) program segítségével hozzák ezeket létre.

    Ez a könyvtár tartalmazhat további állományokat is portok elkészítéséhez.

  • Egy pkg-descr nevű állomány. Ez a program részletesebb, gyakran többsoros bemutatása.

  • Egy pkg-plist nevű állomány. Itt találjuk meg a port által telepítendő összes állományt. Ez egyben közli a portrendszerrel is, hogy az eltávolítás során mely állományokat kell majd törölnie.

Egyes portokban szerepelhetnek még egyéb állományok is, mint például a pkg-message. Ezeket az állományokat a portrendszer különleges helyzetek kezelésére tartogatja. Ha még többet kívánunk megtudni ezekről az állományokról, vagy magukról a portokról általánosságban, lapozzuk fel a FreeBSD porterek kézikönyvét.

A port ugyan tartalmazza a forráskód lefordításához szükséges utasításokat, de konkrétan a forráskódot nem. Ezt egy CD-ről vagy az internetről tudjuk megszerezni. A forráskód általában a szerzője által kedvelt formában jelenik meg: ez gyakran egy gzip-pel tömörített tar állomány, de lehet tömörítve mással is, vagy éppen lehet tömörítetlen. A program forráskódját, legyen akármilyen formában is, nevezik distfile-nak (terjesztési állománynak). A FreeBSD portok telepítésének két módszerét tárjuk fel a következőkben.

Megjegyzés:

A portok telepítéséhez root felhasználóként kell bejelentkeznünk.

Figyelem:

Mielőtt telepítenénk bármelyik portot is, ajánlott frissíteni a Portgyűjteményünket és ellenőriznünk az adott portot a http://vuxml.freebsd.org címen található biztonsági adatbázisban.

Az újonnan telepítendő alkalmazások biztonsági sebezhetőségeinek ellenőrzését automatikussá is tehetjük a portaudit használatával. Ez a segédeszköz is a Portgyűjteményben található (ports-mgmt/portaudit). Érdemes minden port telepítése előtt letöltenünk a legfrissebb sebezhetőségi adatbázist a portaudit -F parancs kiadásával. Mellesleg az adatbázis rendszeres frissítése és ez a biztonsági felülvizsgálat a naponként elvégzendő biztonsági ellenőrzések közt is megjelenik. Ezekről részletesebben a portaudit(1) és periodic(8) man oldalakon olvashatunk.

A Portgyűjtemény feltételezi, hogy működő internet-hozzáféréssel rendelkezünk. Amennyiben ez nem így lenne, a terjesztési állományokat, forráskódokat saját magunknak kell bemásolnunk a /usr/ports/distfiles könyvtárba.

A kezdéshez lépjünk be a telepítendő port könyvtárába:

# cd /usr/ports/sysutils/lsof

Miután beléptünk az lsof könyvtárába, láthatjuk a port vázát. A következő lépés a fordítás, avagy a port buildelése (elkészítése). Ezt egy szimpla make parancs kiadásával kezdeményezhetjük. Miután megtettük, valami ilyesmit kell tapasztalnunk:

# make
>> lsof_4.57D.freebsd.tar.gz doesn't seem to exist in /usr/ports/distfiles/.
>> Attempting to fetch from ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/.
===>  Extracting for lsof-4.57
...
[ide jön a kitömörítés kimenete]
...
>> Checksum OK for lsof_4.57D.freebsd.tar.gz.
===>  Patching for lsof-4.57
===>  Applying FreeBSD patches for lsof-4.57
===>  Configuring for lsof-4.57
...
[ide jön a configure szkript kimenete]
...
===>  Building for lsof-4.57
...
[ide jön a fordítás kimenete]
...
#

A fordítás befejeztével visszakapjunk a parancssort. A soron következő lépés a port telepítése lesz. Ehhez mindössze egyetlen szóval kell kiegészítenünk a make parancs meghívását: ez a szó pedig az install (telepít) lesz.

# make install
===>  Installing for lsof-4.57
...
[a telepítés kimenete kimarad]
...
===>   Generating temporary packing list
===>   Compressing manual pages for lsof-4.57
===>   Registering installation for lsof-4.57
===>  SECURITY NOTE:
      This port has installed the following binaries which execute with
      increased privileges.
#

Miután ismét visszakaptuk a parancssort, már futtatni is tudjuk a frissen telepített alkalmazásunkat. Mivel az lsof programnak tovább jogosultságokra is szüksége van, egy erről szóló biztonsági figyelmeztetést is láthatunk. A portok létrehozása és telepítése során érdemes figyelnünk az ehhez hasonló figyelmeztetésekre.

A telepítés befejeztével nem árt törölnünk a fordításhoz felhasznált alkönyvtárat (work) is. Ezzel nemcsak a drága lemezterületet spóroljuk meg, hanem megelőzzük a port későbbi frissítése során felmerülő esetleges problémákat is.

# make clean
===>  Cleaning for lsof-4.57
#

Megjegyzés:

Az eljárásból két lépést meg is tudunk takarítani, ha egyszerűen csak a make install clean parancsot adjuk ki az előbb három lépésben tagolt make, make install és make clean parancsok helyett.

Megjegyzés:

Bizonyos parancsértelmezők a PATH környezeti változóban felsorolt könyvtárakban található parancsokat gyorsítótárban tárolják, ezzel felgyorsítva a hozzájuk tartozó végrehajtható állományok keresését. Ha történetesen ilyen parancsértelmezőt használnánk, az új portok telepítése után szükségünk lehet a rehash parancs kiadására, mivel enélkül nem tudjuk elérni a frissen telepített parancsokat. Ezt a parancsot például a tcsh és a hozzá hasonló parancsértelmezőkben találhatjuk meg, az sh és rokonainál pedig a hash -r ennek a megfelelője. A pontos információkat erről a témáról a parancsértelmezőnk dokumentációjában lelhetjük meg.

Némely külső DVD termék, mint például a FreeBSD Malltól megrendelhető FreeBSD Toolkit, tartalmazhatnak terjesztési állományokat. Ezek remekül használhatóak a Portgyűjteménnyel. Ehhez csatlakoztatnunk kell a DVD-t a /cdrom könyvtárba. Ettől eltérő csatlakozási pontok használata esetén ne felejtsük el átállítani a CD_MOUNTPTS változót sem a make számára. Ekkor a fordításhoz szükséges állományokat úgy fogja kezelni a rendszer, mintha a merevlemezünkön lennének.

Megjegyzés:

Vigyázzunk arra, hogy néhány portot nem lehet CD-n terjeszteni. Ez részben azért lehet, mert a szükséges állományok letöltéséhez, illetve újbóli terjesztéséhez ki kell tölteni valamilyen regisztrációs nyomtatványt, vagy pedig egyéb okok miatt. Tehát ha olyan portot akarunk telepíteni, ami nincs rajta a CD-n, mindenképpen rendelkeznünk kell internetkapcsolattal.

A portrendszer a fetch(1) segédprogramot használja az állományok letöltésére, amely figyelembevesz különféle környezeti változókat, ilyenek többek közt az FTP_PASSIVE_MODE, FTP_PROXY és az FTP_PASSWORD. Ha tűzfal mögött vagyunk, szükségünk lehet ezek némelyikének helyes beállítására, vagy FTP/HTTP proxyt kell használnunk. A fetch(3) man oldala tartalmazza ezen változók teljes listáját.

A make fetch azon felhasználók számára nyújt segítséget, akik nem csatlakoznak minden esetben a hálózatra. Egyszerűen csak futtassuk le a könyvtárszerkezet legtetejéről (/usr/ports) ezt a parancsot és a szükséges állományok letöltődnek nekünk. A parancs működik az alsóbb szinteken is, például a /usr/ports/net könyvtárban. Azonban legyünk tekintettel arra, hogy ha egy port függ más portoktól vagy függvénykönyvtáraktól, ez a parancs nem fogja letölteni a hozzájuk tartozó állományokat. Ilyenkor a fetch helyett használjuk a fetch-recursive targetet.

Megjegyzés:

Ha a make parancsot egy felsőbb szinten futtatjuk, akkor ezzel létre tudjuk hozni az összes vagy csak kategóriánként az összes portot, hasonlóan az előbb említett make fetch módszerhez. Ez azonban veszélyes, mivel egyes portok kizárják mások használatát. Emellett előfordulhat az is, hogy bizonyos portok ugyanazon a néven telepítenek több, tartalmukban különböző állományt.

Nagyon ritkán adódhat, hogy a felhasználónak nem a MASTER_SITES által mutatott helyekről kell beszereznie a szükséges állományokat (innen töltődnek ugyanis le). A MASTER_SITES beállítást az alábbi paranccsal bírálhatjuk felül:

# cd /usr/ports/könyvtár
# make MASTER_SITE_OVERRIDE= \
ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/ fetch

Ebben a példában a MASTER_SITES értékét a ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/ címre változtattuk meg.

Megjegyzés:

A portok némelyike lehetővé teszi (esetleg meg is követeli), hogy engedélyezzük vagy letiltsuk a készülő program bizonyos elemeit hatékonysági, biztonsági vagy egyéb testreszabási irányelvek mentén. Ilyen többek közt a www/mozilla, a security/gpgme és a mail/sylpheed-claws. Ha elérhetőek ilyen beállítási lehetőségek, arról a rendszer egy üzenetben tájékoztat minket.

4.5.2.1. Az alapértelmezett könyvtárak felülbírálása

Néha hasznos (vagy kötelező) lehet eltérő munka- és célkönyvtárak alkalmazása. A WRKDIRPREFIX és a PREFIX változókkal ezek alapértelmezéseit tudjuk megváltoztatni. Például a

# make WRKDIRPREFIX=/usr/home/example/ports install

parancs a portot a /usr/home/example/ports könyvtárban fogja lefordítani és az eredményét a /usr/local könyvtárba telepíti. A

# make PREFIX=/usr/home/example/local install

parancs hatására a port a /usr/ports könyvtárban készül el és a /usr/home/example/local könyvtárba települ.

Természetesen a

# make WRKDIRPREFIX=../ports PREFIX=../local install

parancs ötvözi az előbbi kettőt (amelyet most túlságosan is hosszú lenne kiírni, de vélhetően sejthető belőle az alapötlet).

Lehetőség van ezen változókat a saját környezetünkben is beállítani. Ha erre lenne szükségünk, nézzünk utána az ezzel kapcsolatos teendőnek a parancsértelmezőnk man oldalán.

4.5.2.2. Az imake használatáról

Bizonyos portok az (X Window System részeként megjelenő) imake segédprogramra támaszkodnak, ahol viszont nem működik a PREFIX átállítása és mindenképpen a /usr/X11R6 könyvtárba akar telepíteni. Ehhez hasonlóan egyes Perl portok figyelmen kívül hagyják a PREFIX változót és közvetlenül a Perl fájába kerülnek. Az ilyen portok esetén nagyon nehéz vagy szinte lehetetlen betartatni a PREFIX használatát.

4.5.2.3. A portok újrakonfigurálása

Egyes portok lefordítása előtt megjelenik egy ncurses alapú menü, ahol ki tudunk választani bizonyos fordítási beállításokat. Gyakran előfordul, hogy a port lefordítása után a felhasználók szeretnék újra előhozni ezt a menüt és megadni vagy kivenni bizonyos beállításokat. Erre több mód is kínálkozik. Egyik ilyen lehetőség az, ha belépünk a port könyvtárába és kiadjuk a make config parancsot, amivel lényegében ismét előcsaljuk a beállításokat összefoglaló menüt. Másik ilyen lehetőség a make showconfig alkalmazása, amivel a porthoz tartozó összes beállítást tudjuk egyszerre megjeleníteni. Ezek mellett még használható a make rmconfig parancs is, amivel törölni tudjuk az összes eddigi beállítást és így újrakezdhetjük a port konfigurációját. Ezek és a többi ilyen opció a ports(7) man oldalon kerül bővebb kifejtésre.

4.5.3. A portok eltávolítása

Most már tudjuk, miként lehet portokat telepíteni, azonban valószínűleg még az is érdekelhet minket, hogy miként kell ezeket eltávolítani abban az esetben, ha például később meggondolnánk magunkat velük kapcsolatban. A korábban telepített példaportot fogjuk eltávolítani (a figyelmetlenek kedvéért megemlítjük, hogy ez az lsof volt). A portok eltávolítása teljesen egybevág a csomagokéval (erről a csomagokról szóló részben beszéltünk), mivel ekkor is használhatjuk a pkg_delete(1) parancsot:

# pkg_delete lsof-4.57

4.5.4. A portok frissítése

Először is a pkg_version(1) parancs felhasználásával listázzuk ki azokat a portokat, amik felett már eljárt az idő és a Portgyűjteményben található belőlük újabb verzió:

# pkg_version -v

4.5.4.1. A /usr/ports/UPDATING állomány

Miután frissítettük a Portgyűjteményünket, de még mielőtt megpróbálnánk akármelyik portot is frissíteni, érdemes egy pillantást vetnünk a /usr/ports/UPDATING állományra. Itt megtalálhatóak azok a problémák és a hozzájuk tartozó lépések, amelyekkel a felhasználóknak a portok frissítése során szembe kell nézniük, beleértve az állományformátumok, a konfigurációs állományok helyének megváltozását vagy egyéb olyan módosításokat, amik a korábbi verziókkal összeférhetetlenséget szülhetnek.

Amennyiben az UPDATING állomány tartalma ellentmondana az itt olvasottakkal, mindig az UPDATING állományban leírtak az irányadóak.

4.5.4.2. Portok frissítése a portupgrade használatával

A portupgrade nevű segédprogramot a portok egyszerűbb frissítésére találták ki, és a ports-mgmt/portupgrade portban található meg. A make install clean paranccsal bármelyik más porthoz hasonlóan telepíthetjük:

# cd /usr/ports/ports-mgmt/portupgrade
# make install clean

A pkgdb -F paranccsal fésültessük át a telepített portok listáját, és javítsuk az általa jelentett ellentmondásokat. Érdemes rendszeresen elvégezni ezt, lehetőleg minden frissítés előtt.

Miután kiadtuk a portupgrade -a parancsot, a portupgrade nekilát frissíteni az összes elavult portot a rendszerünkben. Ha minden egyes frissítést külön meg szeretnénk erősíteni, használjuk a -i kapcsolót is.

# portupgrade -ai

Ha nem akarjuk az összes portot frissíteni, csupán egy bizonyos alkalmazásét, használjuk a portupgrade pkgname paraméterezést. A -R kapcsoló megadásával a portupgrade először frissíti az adott alkalmazás függőségeit.

# portupgrade -R firefox

Ha a művelet során csomagokat kívánunk használni portok helyett, adjuk meg a -P kapcsolót. Ennek révén a portupgrade megkeresi a csomagokat a PKG_PATH környezeti változóban felsorolt könyvtárakban vagy ha itt nem találja, letölti ezeket egy távoli szerverről. Amennyiben a csomagokat sem helyben, sem pedig a távoli szerveren nem találja, a portupgrade helyettük portokat fog használni. Ilyenkor a portok használatát a -PP kapcsoló beállításával lehet elkerülni:

# portupgrade -PP gnome2

Csak a terjesztési állományok (vagy a -P esetén csomagok) letöltéséhez használjuk a -F kapcsolót. Mindezekről részletesebben a portupgrade(1) man oldalon olvashatunk.

4.5.4.3. Portok frissítése a Portmanager használatával

A Portmanager egy másik hasznos segédprogram a portok könnyű frissítéséhez. A ports-mgmt/portmanager porton keresztül érhető el:

# cd /usr/ports/ports-mgmt/portmanager
# make install clean

Használatával az összes telepített port egyetlen paranccsal frissíthető:

# portmanager -u

Ha a Portmanager minden egyes lépését külön meg kívánjuk erősíteni, akkor a -ui kapcsolókat se felejtsük el megadni. A Portmanager emellett új portok telepítésére is használható. Eltérően a make install clean parancsban megszokottaktól, a kiválasztott port összes függőségét még a fordítás és a telepítés előtt fogja frissíteni.

# portmanager x11/gnome2

Ha bármilyen gondot tapasztalnánk a kiválasztott port függőségeit illetően, a Portmanagert felkérhetjük az összes függőség helyes sorrendben történő újrafordítására. Amikor befejezte, a problémás portot is újra létrehozza.

# portmanager graphics/gimp -f

Bővebb információkért lásd portmanager(1).

4.5.4.4. Portok frissítése a Portmaster használatával

A Portmaster szintén a portok frissítésére alkalmas segédprogram. A Portmaster esetében a hangsúly az alaprendszerben is megtalálható eszközök használatán van (tehát nem függ semmilyen más porttól) és a /var/db/pkg/ könyvtárban található információk alapján dönti el, hogy milyen portokat kell frissítenie. A ports-mgmt/portmaster portból érhető el:

# cd /usr/ports/ports-mgmt/portmaster
# make install clean

A Portmaster a portokat az alábbi négy kategória valamelyikébe sorolja be:

  • Gyökér (root) portok (nem függenek semmitől, semmi sem függ tőlük)

  • Törzs (trunk) portok (nem függenek semmitől, de mások függenek tőlük)

  • Ág (branch) portok (vannak függőségeik és mások is függenek tőlük)

  • Levél (leaf) portok (vannak függőségeik, de semmi sem függ tőlük)

A következő paranccsal le tudjuk kérni az összes telepített portot és az -L kapcsolóval frissítéseket keresni hozzájuk:

# portmaster -L
===>>> Root ports (No dependencies, not depended on)
===>>> ispell-3.2.06_18
===>>> screen-4.0.3
        ===>>> New version available: screen-4.0.3_1
===>>> tcpflow-0.21_1
===>>> 7 root ports
...
===>>> Branch ports (Have dependencies, are depended on)
===>>> apache-2.2.3
        ===>>> New version available: apache-2.2.8
...
===>>> Leaf ports (Have dependencies, not depended on)
===>>> automake-1.9.6_2
===>>> bash-3.1.17
        ===>>> New version available: bash-3.2.33
...
===>>> 32 leaf ports

===>>> 137 total installed ports
        ===>>> 83 have new versions available

Az összes telepített port egyetlen egyszerű paranccsal frissíthető:

# portmaster -a

Megjegyzés:

A Portmaster alapértelmezés szerint minden egyes törlendő korábbi portról biztonsági másolatot készít. Amikor az új változat telepítése sikeresen lezajlott, akkor a Portmaster ezt a másolatot megsemmisíti. A -b paraméterrel azonban megkérhetjük, hogy ne törölje le a biztonsági mentést. Az -i megadásával a Portmaster interaktív módban indul el, és minden port frissítése előtt a felhasználó megerősítését fogja kérni.

Amennyiben valamilyen hiba lép fel a frissítés folyamán, az -f opció megadásával kérhetjük az összes port frissítését és újrafordítását is:

# portmaster -af

A Portmaster használatával új portokat is fel tudunk telepíteni a rendszerre úgy, hogy azok függőségeit is igyekszik frissíteni a lefordításuk előtt:

# portmaster shells/bash

A további részleteket a portmaster(8) man oldalon találjuk.

4.5.5. A portok tárigénye

A Portgyűjtemény idővel egyre több helyet fog elfoglalni a merevlemezünkön. Miután sikeresen létrehoztunk és telepítettünk egy szoftvert a hozzá tartozó portból, érdemes mindig eltakarítanunk magunk után a work könyvtárban menet közben keletkezett átmeneti állományokat a make clean parancs használatával. Az egész Portgyűjteményt egyetlen mozdulattal ezzel a paranccsal tudjuk végigsepregetni:

# portsclean -C

Az idő előrehaladtával a distfiles könyvtárban is rengeteg régi forrás tud felhalmazódni. Ezeket eltávolíthatjuk kézzel, vagy az alábbi parancs segítségével törölhetjük az összes olyan terjesztési állományt, amelyekre már egyetlen port sem hivatkozik:

# portsclean -D

Vagy törölhetjük az összes olyan terjesztési állományt, amelyre egyetlen pillanatnyilag feltelepített port sem hivatkozik a rendszerünkben:

# portsclean -DD

Megjegyzés:

A portsclean segédprogram a portupgrade programcsomag része.

Ne felejtsük el eltávolítani azokat a portokat, amikre már nincs szükségünk a továbbiakban. Ebben a feladatban egy jól használható segédeszköz lehet a segítségünkre, a ports-mgmt/pkg_cutleaves port.

4.6. Telepítés utáni teendők

Az új alkalmazás feltelepítése után minden bizonnyal szeretnénk elolvasni a hozzá társított dokumentációt, az egyedi beállításainknak megfelelően módosítani a konfigurációs állományokat, engedélyezni a rendszerindítás során történő automatikus indítását (ha démonról lenne szó) és így tovább.

Az egyes alkalmazások beállításához elvégzendő lépések nyilvánvalóan egyedenként eltérőek. Azonban tudunk szolgálni néhány általános tanáccsal válaszként az ilyenkor felmerülő Na és akkor most mi legyen? kérdésre:

  • Kérdezzük meg a pkg_info(1) programtól, milyen állományok és hova kerültek fel a telepítés során. Például, ha a SzuperCsomag 1.0.0-át raktunk fel, akkor a

    # pkg_info -L SzuperCsomag-1.0.0 | less

    parancs kilistázza az összes állományt, amit a csomagból felraktunk. Ezek közül leginkább a man/ könyvtárban levőekre figyeljünk, mivel ezek lesznek az alkalmazás man oldalai. Ehhez hasonlóan az etc/ könyvtárban a konfigurációs állományok és a doc/ könyvtárban pedig a nagyobb lélegzetvételű dokumentációk foglalnak helyet.

    Ha nem emlékszünk pontosan rá, hogy az alkalmazások melyik verzióját is telepítettük, a

    # pkg_info | grep -i SzuperCsomag

    alakú parancs megkeresi az összes olyan csomagot, aminek a nevében szerepel a SzuperCsomag szövegrészlet. A fenti példában természetesen igény szerint változtassuk meg a SzuperCsomag szöveget a tényleges csomag nevére.

  • Ahogy sikerült megtalálnunk az alkalmazáshoz tartozó man oldalakat, lapozzuk fel ezeket a man(1) segítségével. Ugyanígy nézzük át a mellékelt minta konfigurációs állományokat és az összes elérhető dokumentációt.

  • Ha az alkalmazásnak van saját honlapja, kutassunk ott is információk után, olvassuk el a gyakran ismételt kérdéseket és így tovább. Ha nem tudnánk pontosan a honlap címét, a

    # pkg_info SzuperCsomag-1.0.0

    kimenetéből könnyen előkeríthető. Itt egy WWW: kezdetű sort kell keresnünk (már amennyiben létezik), amit az alkalmazás honlapjának címe kell kövessen.

  • A rendszerrel együtt indítandó portok (ilyenek többek közt az internetes szolgáltatások), általában a /usr/local/etc/rc.d könyvtárba rakják a saját indítószkriptjüket. Érdemes leellenőrizni ezt a szkriptet és az igényeinknek megfelelően módosítani, átnevezni. A Szolgáltatások indítása című szakaszban ezt részleteiben is megismerhetjük.

4.7. Teendő a sérült portokkal

Ha véletlenül ráakadnánk egy olyan portra, ami nem működik megfelelően, nagyjából a következőket tudjuk tenni:

  1. Derítsük ki a Hibajelentések adatbázisából, hogy készül-e már javítás az adott porthoz. Ha igen, akkor annak befejezése után már képesek leszünk használni.

  2. Kérjük meg a port karbantartóját, hogy segítsen. A karbantartó elérhetőségének felderítéséhez gépeljük be a make maintainer parancsot, vagy keressük meg a Makefile állományban a karbantartó e-mail címét. Ne felejtsük el neki megemlíteni a levélben a port nevét és verzióját (vagyis mindenképpen küldjük el a $FreeBSD: sort a Makefile állományból) és a parancs kiadásától a hiba felbukkanásáig tartó kimenetet.

    Megjegyzés:

    Némely portokat nem egyedülálló személyek tartanak karban, hanem egy levelezési lista. A legtöbbjük neve, ha nem is mindé, nagyjából ilyen alakú: . Egy ilyen jellegű kérdés megfogalmazása során ezt is vegyük figyelembe!

    Kifejezetten a karbantartóval rendelkező portoknak nincs rendes gazdája. A hozzájuk kapcsolódó javítások és mindenféle segítség, ötlet erről a levelezési listáról érkeznek. Ilyen esetekben számítunk az önkéntes segítőkre!

    Ha nem kapunk semmilyen választ, a hiba bejelentésére használhatjuk a send-pr(1) programot is (erről bővebben lásd a FreeBSD-s hibajelentések írása című cikket).

  3. Javítsuk meg mi magunk! A porterek kézikönyve részletesen taglalja a portok belső felépítését, így onnan elindulva akár magunktól is meg tudunk javítani egy esetlegesen sérült portot, vagy be is küldhetjük a sajátunkat!

  4. Töltsük le a porthoz tartozó csomagot a hozzánk legközelebb levő FTP oldalról. A központi csomaggyűjtemény az ftp.FreeBSD.org címen, a packages nevű könyvtárban található, de mielőtt ide fordulnánk, nézzük meg a hozzánk legközelebb levő tükörszervert is! Ha egy csomagot így telepítünk, akkor több eséllyel fog működni és ráadásul még jóval gyorsabb is. A csomag telepítésére használjuk a pkg_add(1) programot.

5. fejezet - Az X Window System

Az X.Org X11 szerveréhez igazította: Tom, Ken és Fonvieille, Marc.

5.1. Áttekintés

A FreeBSD az X11-en keresztül nyújt a felhasználók számára hatékony grafikus felhasználói felületet. Az X11 az X Window System szabadon elérhető változata, melyet az Xorg és az XFree86 egyaránt implementál (valamint más egyéb programcsomagok is, amelyeket itt viszont nem tárgyalunk). A FreeBSD verziói a FreeBSD 5.2.1-RELEASE kiadással bezárólag a The XFree86™ Project, Inc. által kiadott X11 szervert, az XFree86-ot tartalmazzák alapértelmezés szerint. A FreeBSD 5.3-RELEASE kiadástól kezdve az X11 alapértelmezett és hivatalos változata az Xorg, melyet az X.Org alapítvány a FreeBSD-éhez nagyon hasonló licenc alatt fejleszt. A FreeBSD-hez kereskedelmi X szerverek is elérhetőek.

Ebben a fejezetben az X11 telepítését és beállítását járjuk végig, miközben a hangsúlyt az Xorg 7.5 kiadására helyezzük. Az XFree86 (vagyis a FreeBSD olyan régebbi változata, ahol az XFree86 az alapértelmezett X11 rendszer) vagy az Xorg korábbi kiadásainak beállításával kapcsolatban mindig találhatunk információkat a FreeBSD kézikönyv http://docs.FreeBSD.org/doc/ címen található archivált változataiban.

Az X11 által támogatott megjelenítőkről bővebben az Xorg honlapján olvashatunk.

A fejezet elolvasása során megismerjük:

  • az X Window System különböző alkotóelemeit, és hogy ezek miként működnek együtt;

  • hogyan telepítsük és állítsuk be az X11-et;

  • hogyan telepítsük és használjuk a különféle ablakkezelőket;

  • hogyan használjunk TrueType® betűtípusokat az X11-ben;

  • hogyan állítsuk be rendszerünkön a grafikus bejelentkezést (XDM).

A fejezet elolvasásához ajánlott:

5.2. Az X áttekintése

Az X használata elsőre megdöbbentő lehet azok számára, akik olyan más grafikus környezetekben járatosak, mint például a Microsoft® Windows® vagy a Mac OS®.

Míg az X minden komponensének részleteit és azok kapcsolatát nem szükséges megérteni a használatukhoz, néhány alapvető ismeret velük kapcsolatban elősegíti kiaknázni az X erősségeit.

5.2.1. Miért X?

Az X ugyan nem az első UNIX®-ra íródott ablakozó rendszer, de fajtáját tekintve a legnépszerűbb. Az X eredeti fejlesztőcsapata az X előtt egy másik ablakozó rendszeren dolgozott, aminek a neve W (mint Window, azaz ablak) volt. Az X pedig az arab ábécében pontosan ezt a betűt követi.

Az X-et hívhatjuk X-nek, X Window System-nek, és még sok más néven. Előfordulhat azonban, hogy az X Windows elnevezés sértő lehet egyes emberek számára. Erről többet a X(7) man oldalon tudhatunk meg többet.

5.2.2. Az X kliens-szerver modellje

Az X-et már az elejétől kezdve hálózatközpontúnak tervezték, és ezért az ún. kliens-szerver modellt használja.

Az X modelljében az X szerver egy olyan számítógépen fut, amelyhez billentyűzetet, monitort és egeret csatlakoztattunk. A szerver feladatai között találjuk a megjelenítés irányítását az egérről és a billentyűzetről, valamint a többi bemeneti és kimeneti eszközről érkező adatok feldolgozását és így tovább (például a digitális táblák is használhatóak beviteli eszközként, illetve egy projektor is lehet megjelenítő). Mindegyik X alkalmazás (mint például az XTerm vagy a Netscape®) egy kliens. A kliens üzeneteket küld a szervernek, például Kérlek, rajzolj egy ablakot ezekre a koordinátákra, és a szerver pedig olyan üzeneteket küld, mint például A felhasználó az OK gombra kattintott.

Az otthoni vagy a kisebb irodai környezetben az X szerver és az X kliensek általában ugyanazon a számítógépen futnak. Emellett azonban nagyon is lehetséges, hogy az X szerver egy kevésbé erős gépen fusson, miközben az X alkalmazások (a kliensek) az irodát kiszolgáló erősebb és drágább gépen fussanak. Egy ilyen konfigurációban az X kliensei és szerverei közti kommunikáció a hálózaton keresztül zajlik.

Jegyezzük meg, hogy az X szerver az a számítógép, ahol a monitor és a billentyűzet található, az X kliensek pedig azok a programok, amelyek az ablakokat jelenítik meg.

A protokollban semmi sem várja el, hogy a kliens és a szerver ugyanazon az operációs rendszeren vagy éppen ugyanolyan típusú számítógépen fusson. Ezért akár Microsoft® Windows®-on vagy Apple® Mac OS®-en is indíthatunk X szervert, és számos különböző szabad valamint kereskedelmi alkalmazás képes pontosan erre.

5.2.3. Az ablakkezelő

Az X kialakításának filozófiája leginkább a UNIX® kialakításának filozófiájához hasonlítható, vagyis eszközöket, ne szabályokat. Ez tehát azt jelenti, hogy az X nem köti meg, miként oldjuk meg vele a feladatokat. Helyette különféle eszközöket ad a felhasználó kezébe, és onnantól a saját felelőssége eldönteni, hogyan használja ki ezeket.

Ez a filozófia az X-ben egészen addig terjed, hogy nem rögzíti, hogyan nézzenek ki a képernyőn megjelenő ablakok, miként kell ezeket mozgatni az egérrel, milyen billentyűk lenyomásával közlekedhetünk az ablakok között (ami a Microsoft® Windows® esetén az Alt+Tab), hogyan nézzen ki az ablakok címsora, a bezárás funkciónak legyen-e rajtuk gombja és így tovább.

Ehelyett az X az összes ezzel járó felelősséget átadja az ablakkezelő (window manager) részére. Tucatnyi ilyen ablakkezelőt találhatunk az X-hez: AfterStep, Blackbox, ctwm, Enlightenment, fvwm, Sawfish, twm, Window Maker és még sok más. Ezen ablakkezelők mindegyike más és más kinézetet és hangulatot kínál fel: némelyikük támogatja a virtuális munkaasztalok (virtual desktop) létrehozását; néhányuk pedig megengedi, hogy mi magunk állítsuk be az asztal irányításához használt gombkombinációkat; köztük találhatunk olyat is, amelynek van Start gombja vagy ehhez hasonló eszköze; némelyek közülük ismerik a témákat, aminek révén a kinézetük és hangulatuk teljesen megváltoztatható. Az említett ablakkezelők és társaik a Portgyűjtemény x11-wm kategóriájában érhetőek el.

Ráadásul a KDE és a GNOME munkakörnyezetek mindegyikének van saját integrált ablakkezelője.

Az egyes ablakkezelők mellesleg eltérő beállítási módszerrel rendelkeznek. Némelyikük kézzel összeállított konfigurációs állományt vár, mások pedig külön grafikus eszközöket tartalmaznak erre a feladatra is. Az egyikük (a Sawfish) konfigurációs állományát például a Lisp programozási nyelv egyik dialektuásban kell megírni.

Az irányítás átadása:

Az ablakkezelő másik fontos feladata lekezelni, hogy az egérrel miként tudjuk átadni az ablakok között az irányítást, vagyis a fókuszt (focus policy). Minden ablakkezelő rendszerben el kell tudnunk valahogy dönteni, hogy a beérkező billentyűleütések melyik ablakhoz vándoroljanak, valamint az ilyen értelemben aktív ablakot valamilyen módon jeleznünk is kell.

Ennek egyik ismert módszere a fókusz kattintásra megoldás, amely modellt a Microsoft® Windows® rendszerekben találhatjuk meg. Itt az ablakok akkor válnak aktívvá, amikor rájuk kattintunk az egérrel.

Az X viszont nem kötelezi el magát egyik vezérlésátadási módszer mellett sem, helyette az ablakkezelő fogja majd eldönteni, melyik ablak birtokolja a fókuszt az adott pillanatban. A különböző ablakkezelők különböző fókuszvezérlési technikákat ismernek. Mindegyikük ismeri a kattintásos fókuszt, azonban a többségük emellett még sok más megoldást is felkínál.

A legnépszerűbb fókuszvezérlési elvek:

A fókusz az egeret követi (focus-follows-mouse)

Az egérmutató alatt található ablak kapja meg fókuszt. Az érintett ablaknak nem kell feltétlenül az összes többi felett elhelyezkednie. Ilyenkor a fókuszt egyszerűen úgy vihetjük át egy másik ablakra, ha rámutatunk az egérrel, amihez még kattintanunk sem kell.

Hanyag fókusz (sloppy-focus)

Ez az elv az előbbi apró kibővítése. Amikor a fókusz az egérmutatót követi, és az egeret a leghátsó ablakra (vagy a háttérre) visszük, akkor valójában egyik ablak sem birtokolja az irányítást, ezért a leütött billentyűk elvesznek. A hanyag fókusz használatával azonban az irányítás csak abban az esetben kerül át máshová, amikor egy másik ablakba lépünk be, nem pedig akkor, amikor a jelenlegiből lépünk ki.

Fókusz kattintásra (click-to-focus)

Az aktív ablakot egy egérkattintással választjuk ki. Ilyenkor a kiválasztott ablak felemelkedhet és a többi előtt jelenhet meg. Ezt követően az összes irányítás ebbe az ablakba vándorol, még abban az esetben is, amikor egy másik ablakra visszük az egérmutatót.

Sok ablakkezelő ismer ezekből különböző variációikat, valamint rajtuk kívül más egyéb vezérlési elvet is. Ezzel kapcsolatban az adott ablakkezelő dokumentációjából deríthetünk ki a legtöbbet.

5.2.4. Widgetek

Az X megközelítése, vagyis az eszközök és nem a szabályok felsorakoztatása, kiterjed az egyes alkalmazásokban látható különféle widgetekre is.

A widget (window gadget, vagyis widget, de magyarul sok helyen a mütyürke) elnevezést azokra a felhasználói felületen megjelenő elemekre használjuk, amelyekkel valamilyen módon kapcsolatba léphetünk: kattinthatunk rájuk, piszkálhatjuk ezeket. Ilyenek többek közt a gombok, jelölőnégyzetek, rádiógombok, ikonok, listák és a többi. A Microsoft® Windows® nyelvén ezeket vezérlőknek (control) nevezzük.

A Microsoft® Windows® és az Apple® Mac OS® ezen a téren nagyon merev. Az alkalmazások fejlesztőinek gondoskodniuk kell róla, hogy a programjaik az elterjedt kinézetet és kialakítást kövessék. Az X viszont nem várja az egységes vezérlőeszközök vagy grafikai stílus használatát.

Ennek eredményeképpen az X cseppet sem kívánja meg az alkalmazásoktól, hogy közös kinézetben vagy viselkedésben osztozzanak. Természetesen léteznek népszerű eszközrendszerek és azoknak számos variációja is kialakult, beleértve az MIT Athenaját, a Motif®ot (amiről a Microsoft® Windows® eszközeit is mintázták, az összes ferde élet és a három szürkeárnyalatot), az OpenLookot és társaikat.

Napjaink X alkalmazásai a KDE fejlesztéséhez használt Qt, esetleg a GNOME-hoz használt GTK+ könyvtárból származó, korszerű kinézetű widgeteket tartalmaznak. Ebből a szempontból megfigyelhető egyfajta tendencia a grafikus UNIX®-alkalmazások felépítésében, ami minden bizonnyal megkönnyíti a kezdő felhasználók tájékozódását.

5.3. Az X11 telepítése

Az X11 FreeBSD-n alapértelmezett implementációja az Xorg. Az Xorg az X.Org alapítvány által kiadott, az X Window Systemet megvalósító nyílt forráskódú X szerver. Az Xorg az XFree86™ 4.4RC2 és X11R6.6 kódja alapján készült. A FreeBSD Portgyűjteményében jelenleg az Xorg 7.5 változata érhető el.

Az Xorg-ot a Portgyűjteményből így tudjuk lefordítani, majd telepíteni:

# cd /usr/ports/x11/xorg
# make install clean

Megjegyzés:

Az egész Xorg lefordításához legalább 4 GB szabad helyre van szükségünk.

Az X11-et természetesen telepíthetjük közvetlenül csomagok segítségével is. A pkg_add(1) használatával telepíthető bináris csomagok is elérhetőek az X11-hez. Amikor a pkg_add(1) programra bízzuk a csomag letöltését, ne adjunk meg verziószámot, a pkg_add(1) ugyanis mindig automatikusan az alkalmazás legfrissebb verzióját tölti le.

Az Xorg csomagjának letöltéséhez és telepítéséhez egyszerűen csak ennyit írjunk be:

# pkg_add -r xorg

Megjegyzés:

A fentebb megadott példák a teljes X11 rendszert telepíteni fogják, beleértve a szervereket, klienseket, betűtípusokat stb. Az X11 egyes részeihez külön találhatunk csomagokat és portokat.

Ha csak az X11 legszükségesebb elemeit szeretnénk telepíteni, akkor alternatívaként választhatjuk az x11/xorg-minimal portot.

A fejezet további részében szót ejtünk az X11, valamint egy irodai használatra alkalmas munkakörnyezet beállításáról.

5.4. Az X11 beállítása

Írta: Shunway, Christopher.

5.4.1. Mielőtt nekilátnánk

Az X11 beállítása előtt a célrendszer következő adataira lesz szükségünk:

  • A monitor jellemzői

  • A videokártya chipkészlete

  • A videokártya memóriájának mérete

Az X11 a monitor jellemzőiből állapítja meg, hogy milyen felbontásban és frissítési frekvenciával működtesse azt. Ezek általában a monitorhoz tartozó dokumentációból vagy a gyártó honlapjáról deríthetőek ki. Igazából két értékre van szükségünk: a függőleges és a vízszintes frissítési frekvenciára.

A videokártya chipkészlete határozza meg, hogy az X11 melyik meghajtóján keresztül kommunikál a grafikus hardverrel. Ez a legtöbb chipkészlet esetén magától megállapítható, de ennek ellenére mégis jó tisztában lenni ezzel arra az esetre, ha az automatikus felismerés mégsem működne.

A grafikus kártya memóriájának mérete határozza meg a rendszer által kihasználható felbontást és színmélységet. Ezt fontos tudunk ahhoz, hogy ismerjük a rendszerünk korlátait.

5.4.2. Az X11 beállítása

Az Xorg 7.3-as változatában gyakran mindenféle konfigurációs állomány használata nélkül egyszerűen csak adjuk ki a következő parancsot:

% startx

A Xorg 7.4 verziójától kezdődően a számítógépünkhöz csatlakoztatott egerek és billentyűzetek HAL segítségével automatikusan felismerhetőek. Ennek megfelelően a x11/xorg port függőségeként telepítődni fognak a sysutils/hal és devel/dbus portok, viszont az /etc/rc.conf állományban a következő sorok hozzáadásával külön engedélyeznünk kell még ezeket:

hald_enable="YES"
dbus_enable="YES"

Ezeket a szolgáltatásokat még az Xorg beállítása előtt el kell indítanunk (a parancssorból manuálisan vagy a rendszer újraindításával).

Bizonyos hardvereszközök esetén az automatikus felismerés még nem működik megbízhatóan vagy nem jól állítja be az értékeket. Ilyen esetekben kézzel kell megadnunk a szükséges beállításokat.

Megjegyzés:

A különböző munkakörnyezetek, mint például a GNOME, a KDE vagy éppen az Xfce általában tartalmaznak olyan segédprogramokat, amelyekkel a felhasználó könnyedén be tudja állítani a megjelenítés paramétereit, többek közt a képernyő felbontását. Tehát ha az alapértelmezések nem megfelelőek, viszont használni akarunk majd valamilyen munkakörnyezetet is, akkor egyszerűen csak telepítsük az adott környezetet és a hozzá tartozó eszközön keresztül állítsuk be a megjelenítést.

Az X11 beállítása egy többlépcsős folyamat. Első lépésünk egy alap konfigurációs állomány összeállítása lesz. Rendszeradminisztrátorként adjuk ki az alábbi parancsot:

# Xorg -configure

Ennek segítségével az X11 xorg.conf.new néven létrehozza a konfigurációs állomány vázát a /root könyvtárban (akár a su(1) parancsot használjuk, akár közvetlenül így jelentkezünk be, az így örökölt rendszeradminisztrátori szerepkör maga után vonja a $HOME könyvtár átállítását is). Az X11 megpróbálja megkeresni a célrendszerben elérhető grafikus eszközöket, és létrehozni egy olyan konfigurációs állományt, amely az észlelt eszközökhöz tartozó meghajtókat tölti be.

A következő lépésünk legyen az imént létrehozott beállítás kipróbálása, amin keresztül ellenőrizhetjük, hogy az Xorg tényleg képes működni a célrendszer grafikus eszközén. Az Xorg 7.3 és azt megelőző változataiban ezt így tehetjük meg:

# Xorg -config xorg.conf.new

A Xorg 7.4 és későbbi változataiban a próba eredménye egy fekete képernyő lesz, amely meglehetősen megnehezítheti az X11 helyes működésének megállapítását. A -retro kapcsoló használatával azonban továbbra is elérhetjük a korábbi verziókban megszokott viselkedési módot:

# Xorg -config xorg.conf.new -retro

Ha ezután a képernyőn egy fekete-fehér rácsot látunk egy X alakú egérmutatóval a közepén, akkor jó a beállítás. A próbát úgy szakíthatjuk meg, ha először a Ctrl+Alt+Fn billentyűk együttes lenyomásával átváltunk valamelyik virtuális konzolra (például az F1 esetén az elsőre), majd megnyomjuk a Ctrl+C gombokat.

Megjegyzés:

Az Xorg korábbi változataiban a 7.3 verzióig bezárólag a Ctrl+Alt+Backspace billentyűkombinációval tudjuk leállítani a működését. Amennyiben erre továbbra is szükségünk lenne, a 7.4 és későbbi változatokban ezt úgy tudjuk engedélyezni, ha a begépeljük a következő parancsot egy X terminálablakban:

% setxkbmap -option terminate:ctrl_alt_bksp

Egy másik lehetséges megoldás, ha a billenytűzet beállításához létrehozunk a /usr/local/etc/hal/fdi/policy könyvtárban egy konfigurációs állományt x11-input.fdi néven a hald számára. Ebben az állományban a következőknek kell szerepelnie:

<?xml version="1.0" encoding="iso-8859-2"?>
<deviceinfo version="0.2">
  <device>
    <match key="info.capabilities" contains="input.keyboard">
	<merge key="input.x11_options.XkbOptions" type="string">terminate:ctrl_alt_bksp</merge>
    </match>
</deviceinfo>

A hald a számítógép újraindításával fogja majd beolvasni ezt az állományt.

Ilyenkor az xorg.conf.new állomány ServerLayout vagy ServerFlags szekciójához vegyük még hozzá az alábbi sort:

Option  "DontZap"      "off"

Ha az egér még nem működne, mindenképpen be kell állítanunk a továbblépés előtt. Ezzel kapcsolatban a FreeBSD telepítéséről szóló fejezetben levő 2.10.10. szakasz - Az egér beállításait ajánljuk elolvasásra. Fontos megemlíteni, hogy az Xorg 7.4 változatától kezdődően az xorg.conf InputDevice szekcióit az eszközök automatikusan észlelt beállításai felülbírálják. A régebbi változatok viselkedését úgy tudjuk visszanyerni, ha a ServerLayout és ServerFlags szekciók valamelyikéhez hozzáadjuk az alábbi sort:

Option "AutoAddDevices" "false"

Ezt követően a beviteli eszközök a lehetséges beállítási opciók (például a billentyűzet-kiosztás váltása) mentén a korábbiakban megszokott módon konfigurálhatóak.

Megjegyzés:

Ahogy arról korábban szó esett, a 7.4 verziótól kezdődően a hald magától érzékelni fogja a számítógépre csatlakoztatott billentyűzetet. Előfordulhat, hogy a billentyűzet típusa vagy éppen kiosztása nem lesz megfelelő. Ennek beállítására többnyire a népszerűbb munkakörnyezetek, mint például a GNOME, KDE vagy Xfce tartalmaznak külön segédprogramot. A setxkbmap(1) vagy a hald konfigurációs szabályával azonban akár közvetlenül is meg tudjuk változtatni a billentyűzethez társított tulajdonságokat.

Például ha egy 102 gombos billentyűzetet szeretnénk használni francia kiosztással, akkor ehhez a /usr/local/etc/hal/fdi/policy könyvtárban kell létrehoznunk egy x11-input.fdi nevű állományt a hald részére. Ebben az állományban szerepeljenek az alábbi sorok:

<?xml version="1.0" encoding="iso-8859-2"?>
<deviceinfo version="0.2">
  <device>
    <match key="info.capabilities" contains="input.keyboard">
	<merge key="input.x11_options.XkbModel" type="string">pc102</merge>
	<merge key="input.x11_options.XkbLayout" type="string">fr</merge>
    </match>
  </device>
</deviceinfo>

Ha létezik már ilyen állományunk, akkor a billentyűzet megfelelő beállításához egyszerűen csak másoljuk ki a fenti sorokat és adjuk hozzá.

Indítsuk újra a számítógépet, hogy a hald beolvassa az állományt.

Ugyanezt egy X terminálból is kényelmesen el tudjuk végezni:

% setxkbmap -model pc102 -layout fr

A paraméterként megadható billentyűzettípusokat és -kiosztásokat a /usr/local/share/X11/xkb/rules/base.lst állományban találhatjuk meg.

Ezután az ízlésünknek megfelelően hangoljuk be az xorg.conf.new állományt, nyissuk meg egy szövegszerkesztőben, például az emacs(1)-ben vagy az ee(1)-ben. Elsőként adjuk meg a célrendszerhez csatlakoztatott monitor frekvenciájára vonatkozó adatokat. Ezek általában a függőleges és a vízszintes frissítés értékei, melyeket az xorg.conf.new állomány "Monitor" szakaszában (Section) kell feltüntetni:

Section "Monitor"
        Identifier   "Monitor0"
        VendorName   "A monitor gyártója"
        ModelName    "A monitor típusa"
        HorizSync    30-107
        VertRefresh  48-120
EndSection

A konfigurációs állományból valószínűleg csak a HorizSync és VertRefresh kulcsszavak fognak hiányozni. Amennyiben ez tényleg így lenne, a megfelelő vízszintes frissítés értékét a HorizSync kulcsszó után, a hozzá tartozó függőleges frissítés értékét pedig a VertRefresh kulcsszó után kell hozzátennünk a szakaszhoz. Az iménti példában már megadtuk a célrendszer monitorának frissítési értékeit.

Az X megengedi, hogy DPMS (Energy Star) energiagazdálkodási szabványt ismerő monitorok lehetőséget is kihasználjuk. A xset(1) program vezérli a monitorok ki- és bekapcsolását, és segítségével készenléti vagy energiatakarékos üzemmódba tudjuk helyezni azokat. Ha engedélyezni kívánjuk a monitorunk DPMS lehetőségeit, egyszerűen csak tegyük hozzá az alábbi sort a monitorunkat leíró szakaszhoz:

        Option       "DPMS"

Ha már a xorg.conf.new konfigurációs állomány szerkesztésével vagyunk elfoglalva, válasszuk ki számunkra kedvező alapértelmezett felbontást és színmélységet is. Ezt a "Screen" (Képernyő) nevű szakaszban tehetjük meg:

Section "Screen"
        Identifier "Screen0"
        Device     "Card0"
        Monitor    "Monitor0"
        DefaultDepth 24
        SubSection "Display"
                Viewport  0 0
                Depth     24
                Modes     "1024x768"
        EndSubSection
EndSection

A DefaultDepth kulcsszó után adjuk meg a rendszer alapértelmezett színmélységét. Ezt később az Xorg(1) -depth paraméterével bírálhatjuk felül a parancssorból. A Modes kulcsszó után jelennek meg azok a felbontások, amelyekben az adott színmélység elérhető. Itt csak olyan VESA szabványú módok jelenhetnek meg, amelyet a célrendszer grafikus eszköze is támogat. A fenti példában az alapértelmezett színmélység képpontonként huszonnégy bit, és ebben a színmélységben az elfogadott felbontás 1024-szer 768 pixel.

Végezetül mentsük el a szerkesztett konfigurációs állományt és próbáljuk ki a korábban leírt módszer szerint.

Megjegyzés:

A hibakeresés során maguk az X11 naplóállományai is hasznos eszköznek bizonyulhatnak, mivel ezek minden olyan eszközről tartalmaznak információt, amelyekhez az X11 szervernek sikerült csatlakoznia. Az Xorg naplóit a /var/log/Xorg.0.log elnevezést követő állományokban találjuk meg. A konkrét naplók nevei Xorg.0.log-tól Xorg.8.log-ig és így tovább terjedhetnek.

Ha minden a legnagyobb rendben haladt eddig, a konfigurációs állományt el kell tennünk egy olyan központi helyre, ahol az Xorg(1) képes lesz majd megtalálni. Ez a hely általában az /etc/X11/xorg.conf vagy a /usr/local/etc/X11/xorg.conf.

# cp xorg.conf.new /etc/X11/xorg.conf

Az X11 beállítását ezzel befejeztük. Az Xorg innentől elindítható a startx(1) segédprogram vagy az xdm(1) használatával.

5.4.3. Témák idősebbeknek és haladóknak

5.4.3.1. Az i810 grafikus chipkészlet beállítása

Az Intel® i810 integrált chipkészletének meghajtásához szükségünk lesz az agpart nevű AGP programozási felületre az X11-ben. Erről az agp(4) meghajtó man oldalán olvashatuk többet.

Ennek segítségével ezt a hardvert is a többi grafikus kártyához hasonlóan állíthatjuk be. Vegyük figyelembe azonban, hogy az agp(4) meghajtót beépítve nem tartalmazó rendszermaggal futó rendszerekben a kldload(8) paranccsal utólag már nem tudjuk betölteni! Ezt a meghajtót már a rendszerindítás során be kell tudnunk tölteni: vagy a rendszermagba fordítjuk, vagy pedig a /boot/loader.conf állományban hivatkozunk rá.

5.4.3.2. Widescreen Flat Panel monitorok használata

Ebben a részben feltételezünk némi tapasztalatot a beállítások terén. Amennyiben a szabványos konfigurációs eszközök csődöt mondtak a beállítás során, magukból a naplóállományokból is kinyerhetünk elegendő információt ahhoz, hogy működésre bírjuk rendszerünket. Ehhez mindenképpen legyen kéznél egy szövegszerkesztő!

A jelenlegi szélesvásznú (WSXGA, WSXGA+, WUXGA, WXGA, WXGA+ és társai) formátumok a 16:10-es és 10:9-es képarányokat ismerik, amik néha gondot okozhatnak. Például a 16:10-es képarány felbontásai:

  • 2560x1600

  • 1920x1200

  • 1680x1050

  • 1440x900

  • 1280x800

Bizonyos szempontból egyszerűen csak a fenti felbontások valamelyikét kell felvenni a "Screen" szakasz Mode sorába, valahogy így:

Section "Screen"
Identifier "Screen0"
Device     "Card0"
Monitor    "Monitor0"
DefaultDepth 24
SubSection "Display"
	Viewport  0 0
	Depth     24
	Modes     "1680x1050"
EndSubSection
EndSection

Az Xorg elég intelligens ahhoz, hogy a szélesvásznú megjelenítéssel kapcsolatos információkat lekérje a monitor I2C/DDC adatai közül, ezért meg tudja állapítani, hogy az eszköz milyen frissítési frekvenciákat és felbontásokat bír el.

Ha az alábbi ModeLine értékek nem szerepelnének a meghajtókban, akkor velük kapcsolatban egy kicsit súgnunk kell az Xorg-nak. A /var/log/Xorg.0.log átrágásával elegendő információt tudunk gyűjteni ahhoz, hogy manuálisan vegyünk fel használható ModeLine értékeket. Nem kell mást tennünk, mint ehhez hasonló sorokat keresnünk:

(II) MGA(0): Supported additional Video Mode:
(II) MGA(0): clock: 146.2 MHz   Image Size:  433 x 271 mm
(II) MGA(0): h_active: 1680  h_sync: 1784  h_sync_end 1960 h_blank_end 2240 h_border: 0
(II) MGA(0): v_active: 1050  v_sync: 1053  v_sync_end 1059 v_blanking: 1089 v_border: 0
(II) MGA(0): Ranges: V min: 48  V max: 85 Hz, H min: 30  H max: 94 kHz, PixClock max 170 MHz

Ezeket nevezik EDID-adatoknak (Extended display identification data, vagyis bővített megjelenítési azonosító adatoknak). Belőlük a megfelelő ModeLine sor létrehozása csupán annyiból áll, hogy a számértékeket a megfelelő sorrendbe tesszük:

ModeLine <name> <clock> <4 horiz. timings> <4 vert.  timings>

Ezáltal a példában látott "Monitor" szakasz ModeLine sora így fog kinézni:

Section "Monitor"
Identifier      "Monitor1"
VendorName      "Bigname"
ModelName       "BestModel"
ModeLine        "1680x1050" 146.2 1680 1784 1960 2240 1050 1053 1059 1089
Option          "DPMS"
EndSection

Miután végrehajtottuk ezeket az egyszerű beállítási lépéseket, az X most már valószínűleg el fog indulni az új szélesvásznú monitorunkon.

5.5. Betűtípusok használata az X11-ben

Írta: Stokely, Murray.

5.5.1. Type1 betűtípusok

Az X11-hez tartozó alap betűtípusok nem mondhatóak kifejezetten ideálisnak például egy átlagos asztali kiadványszerkesztő alkalmazás számára. A nagyobb méretű bemutatókon a betűi szögletesen és idétlenül néznek ki, a Netscape®ben megjelenő kisebb betűk pedig szinte teljességgel olvashatatlanok. Viszont manapság már rengeteg szabad, nagyon jó minőségű és könnyen használható Type1 (PostScript®) betűtípus érhető el az X11-hez. Például az URW betűtípus-gyűjtemény (x11-fonts/urwfonts) a szabványos Type1 betűtípusok (Times Roman®, Helvetica®, Palatino® és még sok más) jó minőségű változatait tartalmazza. A Freefonts nevű gyűjtemény (x11-fonts/freefonts) is tartalmaz sok más betűtípust, de a legtöbbjüket inkább csak a Gimpben és a hozzá hasonló grafikai alkalmazásokban tudjuk használni, illetve nincsenek is még kellő mértékben befejezve a hétköznapi munkákhoz. Ezeken felül az X11 minimális ügyeskedéssel beállítható a TrueType® betűtípusok használatára is. Erről részleteket a X(7) man oldalon, illetve a TrueType® betűtípusokról szóló szakaszban olvashatunk.

A Portgyűjteményből az imént említett Type1 betűtípusokat az alábbi parancsok segítségével telepíthetjük:

# cd /usr/ports/x11-fonts/urwfonts
# make install clean

Ugyanígy járjunk el a freefont és a többi gyűjtemény esetén is. Az X szerver akkor fogja észlelni ezeket a betűtípusokat, ha hozzáadjuk a következő sort a konfigurációs állományához (/etc/X11/xorg.conf):

FontPath "/usr/local/lib/X11/fonts/URW/"

Vagy megtehetjük mindezt az X futtatása során is:

% xset fp+ /usr/local/lib/X11/fonts/URW
% xset fp rehash

Ez utóbbi beállítás viszont el fog veszni az X leállításával, hacsak nem vesszük hozzá az indítószkriptjéhez (ez az ~/.xinitrc a startx használata esetén, illetve az ~/.xsession, amikor egy XDM-szerű grafikus bejelentkezést használunk). Ezek mellett használhatjuk a /usr/local/etc/fonts/local.conf állományt is: erről az élsimítással foglalkozó szakaszban szólunk részletesebben.

5.5.2. TrueType® betűtípusok

Az Xorg beépített támogatást tartalmaz a TrueType® betűtípusok rendereléséhez. Két különböző modul valósítja meg ezt a feladatot. Ebben példában a freetype nevű modult használjuk, mivel sokkal jobban illeszkedik a többi betűrenderelőhöz. A freetype modul használatához mindössze az /etc/X11/xorg.conf állomány "Module" szakaszába kell beírnunk a következő sort:

Load  "freetype"

Most pedig hozzunk létre egy könyvtárat a TrueType® betűtípusok számára (ez legyen például a /usr/local/lib/X11/fonts/TrueType), majd másoljuk az összes TrueType® betűtípusunkat ide. Vigyázzunk rá, hogy Macintosh®-ról TrueType® betűtípusok közvetlenül nem hozhatóak át, az X11 számára UNIX®/MS-DOS®/Windows® formátumban kell lenniük. Miután sikerült átmásolnunk az állományokat ebbe a könyvtárba, használjuk a ttmkfdir parancsot a fonts.dir állomány létrehozására, aminek révén az X betűrenderelője tudni fogja, hogy új állományokat telepítettünk. A ttmkfdir x11-fonts/ttmkfdir néven elérhető a FreeBSD Portgyűjteményéből.

# cd /usr/local/lib/X11/fonts/TrueType
# ttmkfdir -o fonts.dir

Ezután adjuk hozzá a TrueType® könyvtárat a betűtípusok könyvtáraihoz. Itt is a Type1 betűtípusoknál leírtak szerint kell eljárnunk, vagyis használjunk a

% xset fp+ /usr/local/lib/X11/fonts/TrueType
% xset fp rehash

parancsot, vagy adjunk hozzá a xorg.conf állományhoz egy további FontPath sort.

Ezzel végeztünk is. Innentől kezdve a Netscape®, Gimp, a StarOffice és mindegyik X alkalmazás fel fogja ismerni a frissen telepített TrueType® betűtípusokat. A nagyon kicsi betűk (egy honlap megtekintése során, nagyfelbontásban) és a nagyon nagy betűk (a StarOffice használatakor) most már sokkal jobban fognak mutatni.

5.5.3. A betűk élsimítása

Frissítette: Clarke, Joe Marcus.

Az X11 által használt, a /usr/local/lib/X11/fonts/ és a ~/.fonts/ könyvtárakban található összes betűtípus élsimítása automatikusan elérhető az Xft-re felkészített alkalmazások számára. A mostanság megjelenő legtöbb alkalmazás, mint például a KDE, GNOME és Firefox, ismeri az Xft-t.

A betűtípusok élsimításának be- és kikapcsolásához, valamint élsimítási jellemzőinek beállításához hozzuk létre (vagy ha már létezne, módosítsuk) a /usr/local/etc/fonts/local.conf állományt. Az Xft betűrendszer számos kifinomult lehetősége hangolható ezzel az állománnyal, amelyekből ebben a szakaszban csupán rövidke ízelítőt fogunk adni. A pontosabb részletekről a fonts-conf(5) man oldalon tájékozódhatunk.

Az állománynak XML formátumúnak kell lennie. Különösen ügyeljünk a kis- és nagybetűkre, illetve győződjünk meg mindig róla, hogy lezártuk-e az összes taget. Az állomány a szokásos XML-fejléccel kezdődik, amelyet egy DOCTYPE definíció követ, majd a <fontconfig> tag:

      <?xml version="1.0"?>
      <!DOCTYPE fontconfig SYSTEM "fonts.dtd">
      <fontconfig>

Ahogy azt már korábban is említettük, a /usr/local/lib/X11/fonts és a ~/.fonts/ könyvtárakban található összes betűtípus élsimítása elérhető az Xft-re felkészített alkalmazások számára. Amennyiben ezeken túl még további könyvtárakat is fel kívánunk venni, írjuk bele a /usr/local/etc/fonts/local.conf állományba, nagyjából ilyen alakban:

<dir>/az/en/betu/tipusaim</dir>

Az új betűtípusok, de legfőképpen az új betűtípusokat tartalmazó könyvtárak hozzáadása után a betűkkel kapcsolatos gyorsítótárak frissítéséhez mindenképpen javasolt lefuttatni az alábbi parancsot:

# fc-cache -f

Az élsimítás hatására a betűk kontúrjai egy kissé elmosódnak, aminek köszönhetően a nagyon kis méretű szövegek sokkal olvashatóbbá válnak és eltűnnek a nagy méretű betűkről a lépcsők, azonban a normál méretű betűknél megfájdulhat tőle a szemünk. A 14 pontnál kisebb méretű betűk esetén az alábbi sorok hozzáadásával tudjuk kikapcsolni az élsimítást:

        <match target="font">
            <test name="size" compare="less">
                <double>14</double>
            </test>
            <edit name="antialias" mode="assign">
                <bool>false</bool>
            </edit>
        </match>
        <match target="font">
            <test name="pixelsize" compare="less" qual="any">
                <double>14</double>
            </test>
            <edit mode="assign" name="antialias">
                <bool>false</bool>
            </edit>
        </match>

Bizonyos egyenszélességű (monospaced) betűtípusok élsimítása esetén a betűk távolsága nem megfelelő. Ez leginkább a KDE használata esetén merül fel. Ezt a problémát úgy is orvosolhatjuk, ha az ilyen betűtípusok térközét kézzel 100-ra állítjuk. Ehhez írjuk be a következő sorokat:

       <match target="pattern" name="family">
           <test qual="any" name="family">
               <string>fixed</string>
           </test>
           <edit name="family" mode="assign">
               <string>mono</string>
           </edit>
        </match>
        <match target="pattern" name="family">
            <test qual="any" name="family">
                <string>console</string>
            </test>
            <edit name="family" mode="assign">
                <string>mono</string>
            </edit>
        </match>

(ezzel lefedjük összes rögzített méretű (fixed) betűtípust "mono"-ként), majd vegyük hozzá ezt is:

         <match target="pattern" name="family">
             <test qual="any" name="family">
                 <string>mono</string>
             </test>
             <edit name="spacing" mode="assign">
                 <int>100</int>
             </edit>
         </match>      

Egyes betűtípusoknál, mint például a Helveticánál, gondok akadhatnak az élsimítással. Ez általában egy függőlegesen kettévágottnak látszó betű képében jelenik meg. De ami a legrosszabb, hogy emiatt némely alkalmazás képes összeomlani. Ennek elkerülésére tegyük hozzá még az alábbi sorokat a local.conf állományhoz:

         <match target="pattern" name="family">
             <test qual="any" name="family">
                 <string>Helvetica</string>
             </test>
             <edit name="family" mode="assign">
                 <string>sans-serif</string>
             </edit>
         </match>        

Miután befejeztük a local.conf szerkesztését, ellenőrizzük, hogy szerepel-e az állomány végén a </fontconfig> tag. Ha ugyanis nem zárjuk le rendesen, akkor a változtatásaink érvénytelenné válnak.

Végezetül a felhasználók is megadhatják a saját beállításaikat a saját .fonts.conf állományuk segítségével. Ehhez nem kell mást tenni, mindössze létrehozni egy ~/.fonts.conf XML-állományt.

Még egy utolsó ötlet: LCD képernyők esetén szükségünk lehet az ún. sub-pixel sampling (részképpont mintavételezési) technikára. Ezzel lényegében a (vízszintesen elválasztott) vörös, zöld és kék összetevőket külön-külön kezeljük a horizontális felbontás javítására. Bámulatos eredményeket lehet elérni a segítségével! A bekapcsolásához a következő sorokat kell beszúrnunk valahova a local.conf állományba:

         <match target="font">
             <test qual="all" name="rgba">
                 <const>unknown</const>
             </test>
             <edit name="rgba" mode="assign">
                 <const>rgb</const>
             </edit>
         </match>
      

Megjegyzés:

A megjelenítő fajtájától függően lehet, hogy az rgb értéket bgr-re, vrgb-re vagy vbgr-re kell cserélnünk. Próbálgassuk és kiderül, hogy melyikkel működik jobban.

5.6. Az X bejelentkeztető képernyője

Írta: Kingsley, Seth.

5.6.1. Összefoglalás

Az X bejelentkeztető képernyője (az X Display Manager vagy röviden csak XDM) az X Window System egyik kiegészítő eleme, melyet a bejelentkezések lebonyolítására használunk. Számtalan helyzetben hasznosnak bizonyulhat, beleértve a legkisebb X terminálokat és a legnagyobb hálózati szervereket is. Mivel az X Window System független hálózattól és protokolltól, a hálózaton összekapcsolt, X klienseket és szervereket futtató különböző számítógépek széles kombinációja előfordulhat. Az XDM egy grafikus felületen keresztül segít választani az elérhető szerverek között, valamint a felhasználók, például felhasználónév és jelszón keresztüli, hitelesítésében.

Az XDM tulajdonképpen a felhasználó számára ugyanazokat a funkciókat nyújtja, mint a getty(8) program (erről bővebben lásd 26.3.2. szakasz - Beállítás). Tehát: belépteti a felhasználót a szerverre, ahova csatlakozott, illetve elindítja helyette a hozzá tartozó munkamenet kezelőjét (ami általában egy X-es ablakkezelő). Az XDM megvárja ennek a programnak a befejeződését, ami egyben jelzi számára, hogy a felhasználó elvégezte a dolgát, és kilépteti a szerverről. Ezután az XDM újra várakozni kezd a következő felhasználóra, miközben a bejelentkezéshez és a szerver kiválasztásához szükséges képernyőket jeleníti meg.

5.6.2. Az XDM használata

A XDM használatához először telepítenünk kell rendszerünkre a x11/xdm portot (mivel az Xorg újabb változatai ezt alapértelmezés szerint már nem telepítik). Ezt követően az XDM démon a /usr/local/bin/xdm helyen található meg. A programot root felhasználóként bármikor tudjuk futtatni, és ez veszi kezelésbe a helyi gépen futó X szervert. Amennyiben az XDM-et a számítógép minden egyes indulása során el akarjuk indítani, egyszerűen csak adjuk hozzá a megfelelő bejegyzést az /etc/ttys állományhoz. Ennek a formai szabályairól és használatáról bővebben lásd 26.3.2.1. szakasz - Egy bejegyzés felvétele az /etc/ttys állományba. Az /etc/ttys alapértelmezett változatában az XDM démont ebben a formában találjuk meg a virtuális terminálok között:

ttyv8   "/usr/local/bin/xdm -nodaemon"  xterm   off secure

Ez a bejegyzés alapból nem aktív. Az engedélyezéséhez írjuk át az ötödik mezőben szereplő off (kikapcsolva) értéket on (bekapcsolvá)-ra, majd indítsuk újra az init(8) programot a 26.3.2.2. szakasz - A init utasítása az /etc/ttys újraolvasásáraban leírtak szerint. Az első mezőben találhatjuk a program által kezelt terminált, ez jelen esetünkben a ttyv8. Ennek megfelelően az XDM a 9. virtuális terminálon kezdi meg a futását.

5.6.3. Az XDM beállítása

Az XDM beállításait tartalmazó könyvtár a /usr/local/lib/X11/xdm. Itt találhatjuk meg azokat az állományokat, amelyek megváltoztatásával befolyásolhatjuk az XDM megjelenését és viselkedését. Általában a következő állományok bukkannak fel ezen a helyen:

ÁllományLeírás
XaccessA kliens hitelesítésének szabályrendszere.
XresourcesAz X erőforrásainak alapértelmezett értékei.
XserversAz ismert távoli és helyi X szerverek listája.
XsessionA bejelentkezések során lefutó alapértelmezett szkript.
Xsetup_*A bejelentkező felület indítása előtt indítandó alkalmazásokkal kapcsolatos szkript.
xdm-configA gépen futó összes X szerver globális beállításai.
xdm-errorsA szerver által jelentett hibák.
xdm-pidA jelenleg futó XDM-hez tartozó azonosító.

Ebben a könyvtárban találunk még néhány olyan programot és szkriptet, amelyekkel be tudjuk állítani a munkaasztalunkat az XDM futása alatt. Ezen állományok céljait egyenként ismertetni fogjuk. A felépítésükről és használatukról az xdm(1) man oldala árul el többet.

Az alapértelmezett beállítás egy téglalap alakú bejelentkező ablak, aminek tetején nagy betűkkel a gép neve olvasható, valamint alatta a Login: (felhasználói név) és Password: (jelszó) mezők várnak kitöltésre. Ez egy remek kiindulási alap az XDM-képernyő kinézetének megváltoztatásához.

5.6.3.1. Xaccess

Az XDM-mel szabályozott X szerverek által használt protokoll az X Display Manager Connection Protocol (XDMCP). Ez az állomány tartalmazza a távoli számítógépekről érkező XDMCP-kapcsolatok vezérlésére vonatkozó szabályokat. Ezt a rendszer általában figyelmen kívül hagyja, hacsak az xdm-config állományban be nem állítottuk a távoli számítógépek csatlakoztathatóságát. Alapértelmezés szerint viszont semmilyen klienst nem enged csatlakozni.

5.6.3.2. Xresources

Ez tartalmazza a szerverválasztó és bejelentkező képernyő alapértelmezéseit. Segítségével a bejelentkeztetést végző program kinézetét változtathatjuk meg. Formátuma hasonló az X11 dokumentációjában leírt app-defaults állományhoz.

5.6.3.3. Xservers

A szerverválasztó által felkínálandó távoli X szerverek felsorolását tartalmazza.

5.6.3.4. Xsession

A felhasználó bejelentkezése után ez az XDM-szkript fog lefutni. Általában minden felhasználóhoz tartozik egy saját ~/.xsession szkript, ami ezt felülbírálja.

5.6.3.5. Xsetup_*

Ezek fognak automatikusan lefutni a szerverválasztó vagy bejelentkeztető felületek megjelenése előtt. Minden általunk használt X szerverhez tartozik egy ilyen szkript, amelyek neve Xsetup_-al kezdődik és a helyi X szerver sorszámával folytatódik (például Xsetup_0). Ezek a szkriptek általában egy-két programot, mint például az xconsole, indítanak el a háttérben.

5.6.3.6. xdm-config

Az app-defaults nevű állományéhoz hasonló alakban tartalmaz beállításokat a program által kezelt minden egyes X szerverhez.

5.6.3.7. xdm-errors

Ebben található meg az XDM által futtatni próbált X szerverek kimenete. Itt érdemes hibaüzenetek után kutatni, ha az XDM által indított X szerver valamiért megállna. Ezek az üzenetek egyébként a felhasználó ~/.xsession-errors állományába is beíródnak.

5.6.4. Hálózati X szerver futtatása

Az X szerverünkhöz csak akkor tudnak kívülről más felhasználók is kapcsolódni, ha átírjuk a hozzáférésre vonatkozó szabályokat és engedélyezzük rajta a kapcsolódást. Az alapértelmezett szabályok nagyon óvatosak. Ha tehát engedélyezni akarjuk a kívülről érkező kapcsolódásokat, akkor ahhoz először az xdm-config állományból vegyük ki az alábbi sort:

! SECURITY: do not listen for XDMCP or Chooser requests
! Comment out this line if you want to manage X terminals with xdm
DisplayManager.requestPort:     0

Ezután indítsuk újra az XDM-et. Ne felejtsük el, hogy az app-defaults állományokban a megjegyzések ! (felkiáltó)jellel kezdődnek, nem pedig a megszokott # (kettőskereszt)tel. A fentieknél természetesen szigorúbb hozzáférési szabályok is szükségesek lehetnek — ezzel kapcsolatban nézzük meg Xaccess állományban szereplő példákat, illetve lapozzuk fel az xdm(1) man oldalt.

5.6.5. Az XDM helyett

Az alapértelmezett XDM feladatát számos más program is képes ellátni. Ezek közül az egyik a kdm (a KDE része), amire ebben a fejezetben még vissza fogunk térni. A kdm különféle vizuális effekteket és egyéb kozmetikázást ígér, valamint lehetővé teszi a felhasználók számára, hogy a bejelentkezés előtt kiválaszthassák a használni kívánt ablakkezelőt.

5.7. Munkakörnyezetek

Írta: Vaschetto, Valentino.

Ebben a szakaszban a FreeBSD-n futó X-hez elérhető különböző munkakörnyezetekről (desktop environment) lesz szó. Maga a munkakörnyezet elnevezés sok mindenre utalhat egy mezei ablakkezelőtől kezdve az asztali alkalmazások teljes garmadájáig, ahogy igaz ez a KDE vagy a GNOME esetében is.

5.7.1. A GNOME

5.7.1.1. Röviden a GNOME-ról

A GNOME egy felhasználóbarát munkakörnyezet, aminek segítségével a felhasználók számára gyerekjáték a számítógép használata és beállítása. A GNOME-ban találhatunk egy panelt (az alkalmazások indítására és különféle állapotjelzők megjelenítéséhez), egy asztalt (ahova az alkalmazások és az adatok kerülnek), szabványos asztali eszközöket és alkalmazásokat, valamint számos konvenciót, aminek mentén az alkalmazások könnyen együtt tudnak működni és tartani egymással az összhangot. Más operációs rendszerek vagy környezetek ismerői otthon érezhetik magukat ebben a GNOME által nyújtott vizuális környezetben. A FreeBSD és a GNOME kapcsolatáról bővebb információkat a FreeBSD GNOME Projekt honlapján találhatunk. Ezen az oldalon a GNOME telepítéséről, beállításáról és karbantartásáról egy meglehetősen átfogó leírást olvashatunk.

5.7.1.2. A GNOME telepítése

A programot könnyen fel tudjuk telepíteni csomagból vagy a Portgyűjtemény segítségével:

A hálózatról a GNOME csomagját mindössze ennek a sornak a beírásával fel tudjuk telepíteni:

# pkg_add -r gnome2

A portfa felhasználásával pedig a GNOME-ot így tudjuk forrásból telepíteni:

# cd /usr/ports/x11/gnome2
# make install clean

Miután a GNOME-ot sikerült feltelepítenünk, meg kell mondanunk az X szervernek, hogy az alapértelmezett ablakkezelő helyett a GNOME-ot indítsa el.

A GNOME-ot legkönnyebben a GDM, vagyis a GNOME Display Manager használatával indíthatjuk el. A GDM a GNOME részeként települ (habár alapból nincs bekapcsolva), és úgy tudjuk aktiválni, ha /etc/rc.conf állományba beírjuk a gdm_enable="YES" sort. Újraindítás után a GDM automatikusan elindul.

Ha a GDM mellett az összes GNOME szolgáltatást is el akarjuk indítani, vegyük fel a gnome_enable="YES" sort az /etc/rc.conf állományba.

A GNOME-ot parancssorból is elindíthatjuk, ha hozzá megfelelően beállítjuk az .xinitrc nevű állományt. Ha már van egy saját .xinitrc állományunk, akkor nincs más teendőnk, mint átírni az aktuális ablakkezelőnket hívó sort a /usr/local/bin/gnome-session sorra. Ha nem csináltunk előtte semmilyen különleges dolgot az említett konfigurációs állománnyal, akkor elegendő csak ennyit beírnunk:

% echo "/usr/local/bin/gnome-session" > ~/.xinitrc

Ezt követően írjuk be a startx parancsot, és a GNOME munkakörnyezete fog elindulni.

Megjegyzés:

Ha az XDM-hoz hasonló régebbi bejelentkeztető képernyőt használunk, ez a módszer nem fog működni. Helyette hozzunk létre egy .xsession nevű futtatható állományt, amely ezt a parancsot tartalmazza. Ehhez nyissuk meg és cseréljük ki benne a korábbi ablakkezelőnk hívását a /usr/local/bin/gnome-session utasításra:

% echo "#!/bin/sh" > ~/.xsession
% echo "/usr/local/bin/gnome-session" >> ~/.xsession
% chmod +x ~/.xsession

Megcsinálhatjuk azt is, hogy a bejelentkezéskor választható legyen az ablakkezelő. A KDE-ről bővebben című szakaszban látni fogjuk, hogyan tudjuk ezt a a KDE bejelentkeztető képernyője, a kdm esetén beállítani.

5.7.2. A KDE

5.7.2.1. Röviden a KDE-ről

A KDE egy könnyen használható modern munkakörnyezet. Ízelítőül a KDE felhasználók számára felkínált lehetőségei közül:

  • Gyönyörű, korszerű munkafelület

  • Az asztal hálózaton keresztüli transzparens kezelése

  • A KDE asztal és alkalmazásainak használatában egy beépített súgórendszer segíti a kényelmes és összefüggő közlekedést

  • A KDE alkalmazásainak összehangolt kinézete és hangulata

  • Szabványosított menük és eszköztárak, billentyű-hozzárendelések, színsémák stb.

  • Honosítás: a KDE több, mint 40 nyelven elérhető

  • Központosított, összehangolt, párbeszédablak alapú asztalbeállítás

  • Számos hasznos KDE-alkalmazás

A KDE-hez egy Konqueror nevű böngésző is tartozik, mely a többi UNIX®-os böngésző komoly ellenfelének bizonyul. A KDE-ről többet a KDE honlapján olvashatunk. A KDE FreeBSD-re vonatkozó tudnivalóiról és a hozzá tartozó anyagokról a FreeBSD KDE csapat honlapján találhatunk információkat.

FreeBSD alatt a KDE két verziója érhető el: a harmadik változat már régóta használható, nagyon megbízható, amely mellett viszont a következő generációt képviselő negyedik változat is megtalálható a Portgyűjteményben. Akár egymás mellé is telepíthetőek.

5.7.2.2. A KDE telepítése

Ahogy a GNOME és a többi más munkakörnyezet esetében is, maga a program könnyen telepíthető csomagból vagy a Portgyűjtemény segítségével is:

A KDE3 csomagját hálózaton keresztül így tudjuk telepíteni:

# pkg_add -r kde

A KDE4 csomagját pedig hálózaton keresztül így tudjuk telepíteni:

# pkg_add -r kde4

A pkg_add(1) magától letölti az alkalmazás legfrissebb verzióját.

Ha a KDE3 környezetet forrásból akarjuk telepíteni, használjuk a portfát:

# cd /usr/ports/x11/kde3
# make install clean

Ha viszont a KDE4 környezetet akarjuk inkább a portfa felhasználásával forrásból telepíteni, akkor ezeket a parancsokat adjuk ki:

# cd /usr/ports/x11/kde4
# make install clean

Miután a KDE-t sikeresen telepítettük, tudatnunk kell az X szerverrel, hogy az alapértelmezett ablakkezelő helyett ezt indítsa el. Ezt az .xinitrc állomány módosításával érhetjük el.

KDE3 esetén:

% echo "exec startkde" > ~/.xinitrc

KDE4 esetén:

% echo "exec /usr/local/kde4/bin/startkde" > ~/.xinitrc

Mostantól pedig mindig KDE lesz az asztalunk, amikor az X Window Systemet elindítjuk a startx paranccsal.

Ha az XDM-et használjuk bejelentkeztető képernyőként, a beállítást némileg máshogyan kell elvégeznünk. Ekkor az iménti helyett az .xsession állományt kell szerkesztenünk. A kdm-re vonatkozó utasítások a fejezet későbbi részében találhatóak meg.

5.7.3. A KDE-ről bővebben

Most, miután telepítettük a KDE-t a rendszerünkre, a dolgok többsége felfedezhető a különféle súgók segítségével vagy egyszerűen a menükre történő kattintással. A Windows®-hoz vagy Mac®-hez szokott felhasználók itt most már egészen otthonosan érezhetik magukat.

A KDE-hez a legtöbb segítséget a saját internetes dokumentációjából nyerhetjük. A KDE a saját böngészőjét, a Konquerort tartalmazza, valamint tucatnyi ügyes alkalmazást és temérdek mennyiségű dokumentációt. A szakasz további részeiben ezért inkább olyan problémákkal foglalkozunk, amelyek megoldásai céltalan kóborlással már nem fedezhetőek fel olyan egyszerűen.

5.7.3.1. A KDE bejelentkeztető képernyője

Egy többfelhasználós rendszer karbantartója minden bizonnyal szeretné üdvözölni rendszere felhasználóit egy grafikus bejelentkező képernyőn keresztül. A korábbiakban erre a célra az XDM-et javasoltuk. Azonban a KDE erre ajánl egy alternatívát, a kdm-et, amely jóval látványosabb és sokoldalúbb. Ez különösen abban merül ki, hogy a felhasználók (egy menün keresztül) ki tudják választani a bejelentkezés után használni kívánt munkakörnyezetet (legyen az KDE, GNOME vagy bármi más).

A kdm használatához a KDE aktuális verziójától függően különböző állományokat kell szerkesztenünk.

KDE3 esetén a /etc/ttys állományban szereplő ttyv8 sort kell az alábbiak szerint módosítanunk:

ttyv8 "/usr/local/bin/kdm -nodaemon" xterm on secure

KDE4 esetén a következő sorokat kell felvennünk az /etc/rc.conf állományba:

local_startup="${local_startup} /usr/local/kde4/etc/rc.d"
kdm4_enable="YES"

5.7.4. Az Xfce

5.7.4.1. Röviden az Xfce-ről

Az Xfce a GNOME által használt GTK+-ra épülő munkakörnyezet, amely azonban sokkal könnyedebb és azoknak készült, akik egy szimpla, hatékony, mindazonáltal könnyen használható és beállítható munkafelületre vágynak. Látvány szempontjából leginkább a kereskedelmi rendszereken megtalálható CDE-hez hasonlítható. Íme az Xfce néhány jellemzője:

  • Egyszerű, könnyen kezelhető munkaasztal

  • Tökéletesen konfigurálható egérrel, drag-and-droppal (vonszolás) stb.

  • A menükkel, kisalkalmazásokkal és alkalmazásindítókkal tarkított főpanelje hasonló a CDE paneljéhez

  • Beépített ablak-, állomány- és hangkezelővel, GNOME kompatibilitási modullal és még sok minden mással rendelkezik

  • Használhatunk témákat (mivel GTK+-ra épül)

  • Gyors, könnyű és hatékony: ideális régebbi vagy lassabb, esetleg kevés memóriával rendelkező számítógépekhez

Az Xfce-ről részletesebben az Xfce honlapján olvashatunk.

5.7.4.2. Az Xfce telepítése

Az Xfce-hez tartozik bináris csomag (legalábbis az leírás készítésének pillanatában). Ezt a következő módon tudjuk telepíteni:

# pkg_add -r xfce4

Vagy a Portgyűjtemény használatával forrásból is felrakhatjuk:

# cd /usr/ports/x11-wm/xfce4
# make install clean

Ezután világosítsuk fel az X szervert, hogy a következő indulása során mi már az Xfce-t kívánjuk használni. Ehhez csak ennyit kell tennünk:

% echo "/usr/local/bin/startxfce4" > ~/.xinitrc

Így az X következő indításakor már az Xfce lesz a munkakörnyezetünk. Ahogy azt már korábban is jeleztük, az XDM használata során a GNOMEban leírtak szerint létre kell hoznunk az .xsession állományt, azonban ezúttal a /usr/local/bin/startxfce4 parancs használatával. Vagy a kdm-ről szóló szakaszban tárgyaltak mentén beállíthatjuk úgy a bejelentkeztető képernyőt, hogy a bejelentkezés előtt válasszuk ki a munkakörnyezetet.

II. rész - Gyakori feladatok

Miután az alapokat már átvettük, a FreeBSD kézikönyv következő része néhány gyakorta alkalmazott funkciót tárgyal. Az itt szereplő fejezetek:

  • Bemutatnak különféle hasznos és népszerű asztali alkalmazásokat: böngészőket, irodai elősegítő eszközöket, dokumentum-megjelenítőket stb.

  • Bemutatják a FreeBSD alatt is elérhető multimédia eszközöket.

  • Kifejtik egy saját FreeBSD rendszermag elkészítésének folyamatát, amellyel így bővíteni tudjuk rendszerünk funkcionalitását.

  • Részletesen bemutatják a nyomtatásért felelős alrendszert, asztali és hálózati nyomtatók használata esetén egyaránt.

  • Megmutatják, hogyan futassunk Linuxra íródott alkalmazásokat a FreeBSD rendszerünkön.

Egyes fejezetek elolvasásához ajánlott bizonyos mértékű felkészülés, amely megemlítésre is kerül az érintett fejezetek áttekintésében.

6. fejezet - Asztali alkalmazások

Írta: Juniet, Christophe.

6.1. Áttekintés

A FreeBSD-n asztali alkalmazások széles spektrumát lehet futtatni, például böngészőket és szövegszerkesztőket. Legtöbbjük csomagként áll rendelkezésre, illetve automatizált módon lefordíthatóak a Portgyűjteményből. Az új felhasználók közül sokan szeretnének ilyen fajta alkalmazásokat használni, ezért ez a fejezet bemutatja, miként lehet a népszerűbb asztali alkalmazásokat minden különösebb erőfeszítés nélkül telepíteni, legyen szó az előre csomagolt vagy a Portgyűjteményben megtalálható formájukról.

Amikor portként telepítünk egy programot, lényegében a forráskódját fordítjuk le. Ez bizonyos esetekben nagyon sokáig is eltarthat attól függően, hogy pontosan mit is fordítunk le, illetve mekkora az erre a célra felhasznált számítógépünk vagy számítógépeink teljesítménye. Amennyiben a fordításra nem tudunk vagy nem kívánunk elegendő időt szánni, a Portgyűjteményben található programok többségét már előre lefordított csomagból is telepíthetjük.

Mivel a FreeBSD-ben bináris szintű Linux kompatibilitás is található, ezért az eredetileg Linuxra fejlesztett alkalmazások is használhatóak a munkakörnyezetünkben. Azonban határozottan javasoljuk, hogy a linuxos alkalmazások használatához először figyelmesen olvassuk át a 10. fejezet - Bináris Linux kompatibilitáset. A linuxos bináris kompabilitást használó portok neve általában a linux- előtaggal kezdődik, amit ne felejtsük el figyelembe venni, amikor például a whereis(1) segítségével keressük valamelyiket. A fejezet további részében feltételezzük, hogy a linuxos alkalmazások telepítése előtt aktiváltuk a bináris Linux kompatibilitást.

Íme a fejezetben tárgyalt kategóriák:

  • Böngészők (mint a Firefox, Opera, Konqueror)

  • Irodai eszközök (mint a KOffice, AbiWord, The GIMP, OpenOffice.org)

  • Dokumentum-megjelenítők (mint az Acrobat Reader®, gv, Xpdf, GQview)

  • Pénzügyi szoftverek (mint a GnuCash, Gnumeric, Abacus)

A fejezet elolvasásához ajánlott:

a multimédiás környezet kialakítására vonatkozó információkért a 7. fejezet - Multimédiaet érdemes elolvasni. Az elektronikus levelezés beállítását és használatát a 28. fejezet - Elektronikus levelezésből tudhatjuk meg.

6.2. Böngészők

A FreeBSD-vel együtt nem települ semmilyen böngésző. Helyette keressük meg a Portgyűjteményben a www könyvtárat, ahol ezzel szemben rengeteg böngésző áll telepítésre készen. Ha nem lenne időnk mindent lefordítani (ami egyes esetekben akár rengeteg időnkbe is kerülhet), ezek csomagolt formában is elérhetőek.

A KDE-hez és a GNOME-hoz eleve tartoznak HTML-böngészők. Ezen komplett munkakörnyezetek beállításához a 5.7. szakasz - Munkakörnyezetekt olvassuk el.

Ha viszont csak egy kevés erőforrást igénylő böngészőkre vágyunk, érdemes megnéznünk a Portgyűjteményben található www/dillo2, www/links vagy www/w3m portokat.

Ez a rész az alábbi alkalmazásokat említi:

AlkalmazásErőforrásigényTelepítés forrásbólFőbb függőségek
FirefoxközepesnehézGtk+
OperakevéskönnyűVannak FreeBSD-s és linuxos változatai is. A linuxos verzió használatához azonban szükség van a bináris Linux kompatibilitásra és a linux-openmotif portra.
KonquerorközepesnehézA KDE függvénykönyvtárai.

6.2.1. Firefox

A Firefox egy modern, szabad és nyílt forráskódú böngésző, amely tökéletesen használható FreeBSD alatt. Megtalálható benne egy, a jelenlegi HTML szabványoknak nagyon jól megfelelő megjelenítő motor, a lapokra bontható böngészés támogatása, a kéretlenül felbukkanó ablakok blokkolása, különböző kiterjesztések, javított biztonsági lehetőségek és még sok minden más. A Firefox forrása a Mozilla kódján alapszik.

Csomagból így telepíthető:

# pkg_add -r firefox

Ekkor a Firefox 3.6 változata fog települni. Ha helyette a Firefox 3.5 változatát szeretnénk használni, akkor ezt a parancsot adjuk ki:

# pkg_add -r firefox35

Ha forrásból szeretnénk felrakni, használhatjuk a Portgyűjteményben található portját is:

# cd /usr/ports/www/firefox
# make install clean

A Firefox 3.5 telepítéséhez az iménti parancsban cseréljük ki a firefox részt a firefox35 könyvtárra.

6.2.2. A Firefox és a Java™ plugin

Megjegyzés:

Ennél és a következő résznél feltételezzük, hogy már korábban telepítettük a Firefox alkalmazást.

A Java™ plugin jelenleg nem működik a Firefox 3.6 változatával.

A FreeBSD Alapítvány megegyezett a Sun Microsystems-szel, hogy terjesztheti a Java™ futtatókörnyezet (JRE™) és a Java™ fejlesztőkörnyezet (JDK™) FreeBSD-re lefordított bináris változatait. Ezek a csomagok elérhetőek a FreeBSD Alapítvány honlapjáról.

Ha tehát Java™-támogatást szeretnénk hozzáadni a Firefox böngészőhöz, elsőként fel kell telepítenünk a java/javavmwrapper portot. Ezután le kell töltenünk a Diablo JRE csomagot a http://www.freebsdfoundation.org/downloads/java.shtml címről, majd telepítenünk azt a pkg_add(1) segítségével.

Megjegyzés:

Ezen az oldalon nem találunk bináris csomagokat FreeBSD 8.X rendszerekhez, azonban a FreeBSD 7.X rendszerekhez készült csomagok használhatóak 8.X esetén is. Ehhez mindössze a misc/compat7x portot kell előtte telepítenünk.

A másik lehetőség a Diablo JRE (valamint a Diablo JDK) telepítése a Portgyűjteményből (java/diablo-jre16 és java/diablo-jdk16). Ehhez a szükséges forrásokat (distfile állományokat) licencelési megkötések miatt nekünk kell külön letölteni. A kapcsolódó utasításokat a make maketarget parancs meghívásával kaphatjuk meg.

Indítsuk el a böngészőnket, és írjuk be a címsorba, hogy about:plugins és nyomjuk le az Enter billentyűt. Az eredményül kapott oldalon láthatjuk az eddig telepített pluginok listáját, ahol mostanra már a Java pluginnak is meg kell jelennie. Amennyiben ez nem következne be, mindegyik felhasználónál adjuk ki az alábbi parancsot:

% ln -s /usr/local/diablo-jre1.6.0/plugin/i386/ns7/libjavaplugin_oji.so \
  $HOME/.mozilla/plugins/

Vagy ha a Diablo JDK csomagot telepítettük:

% ln -s /usr/local/diablo-jdk1.6.0/jre/plugin/i386/ns7/libjavaplugin_oji.so \
  $HOME/.mozilla/plugins/

Ezt követően indítsuk újra a böngészőnket.

Megjegyzés:

Ezek a parancsok az i386 architektúra használatát feltételezik, de a csomagok az amd64 architektúra esetén is elérhetőek.

6.2.3. A Firefox és a Macromedia® Flash™ plugin

A Macromedia® Flash™ plugin nem érhető el közvetlenül FreeBSD-re. Azonban létezik egy, a plugin linuxos verziójára épített szoftveres réteg (wrapper). Ez a wrapper még többek közt az Adobe® Acrobat® és a RealPlayer® pluginjait is használhatóvá teszi.

Attól függően, hogy a FreeBSD melyik változatát használjuk, különböző módokon tudjuk működésbe hozni:

  1. FreeBSD 7.X

    Telepítsük a www/nspluginwrapper portot. Ehhez szükség lesz még az emulators/linux_base-fc4 portra is, amely viszonylag nagy méretű.

    Következő lépésként telepítsük a www/linux-flashplugin9 portot. Ezáltal megkapjuk a Flash™ 9.X változatát, amely FreeBSD 7.X alatt remekül működik.

    Megjegyzés:

    A 7.1-RELEASE előtti FreeBSD verziók esetén a www/linux-flashplugin7 portot telepítsük és hagyjuk ki a linprocfs(5) használatára vonatkozó részt.

  2. FreeBSD 8.X

    Telepítsük a www/nspluginwrapper portot. Ehhez szükségünk lesz majd a valamivel nagyobb emulators/linux_base-f10 portra.

    Ezt követően telepítsük a www/linux-f10-flashplugin10 portot. Ekkor a Flash™ 10.X változatát kapjuk, amely FreeBSD 8.X alatt remekül használható.

    Ezen változat beüzemeléséhez még létre kell hoznunk az alábbi linket:

    # ln -s /usr/local/lib/npapi/linux-f10-flashplugin/libflashplayer.so \
      /usr/local/lib/browser_plugins/

Miután a FreeBSD rendszerünk változatának megfelelően elvégeztük a Flash™ port telepítését, a plugint az egyes felhasználóknak a nspluginwrapper paranccsal tehetjük elérhetővé:

% nspluginwrapper -v -a -i

Ha Flash™ animációkat szeretnénk lejátszani, akkor ehhez a /usr/compat/linux/proc könyvtárba csatlakoztatnunk kell egy linprocfs(5) típusú linuxos proc állományrendszert. Ezt a következő paranccsal tehetjük meg:

# mount -t linprocfs linproc /usr/compat/linux/proc

Az /etc/fstab állományban az alábbi sor hozzáadásával azonban ennek csatlakoztatása akár automatikussá is tehető a rendszerindítás során:

linproc  /usr/compat/linux/proc  linprocfs      rw       0       0

Ezután indítsuk el a böngészőt, majd gépeljük be az about:plugins szöveget a címsorba és nyomjuk le az Enter billentyűt. Ekkor a jelenleg elérhető pluginok listájának kell megjelennie.

6.2.4. A Firefox és az Swfdec Flash™ plugin

Az Swfdec egy Flash™ animációk dekódolásáért és megjelenítéséért felelős programkönyvtár. Az Swfdec-Mozilla pedig egy Firefox böngészőkhöz készített plugin, amely az Swfdec könyvtáron keresztül játszik le SWF állományokat. Jelenleg még aktív fejlesztés alatt áll.

Ha nem akarjuk vagy netalán nem tudjuk forrásból lefordítani, akkor egyszerűen csak telepítsük csomagként a hálózaton keresztül:

# pkg_add -r swfdec-plugin

Ha valamiért mégsem érhető el hozzá csomag, akkor a Portgyűjteményből is telepíthetjük:

# cd /usr/ports/www/swfdec-plugin
# make install clean

Miután telepítettük a plugint, a használatához indítsuk újra a böngészőt.

6.2.5. Opera

Az Opera egy sokoldalú és szabványokkal kompatibilis böngésző. Tartalmaz beépített levelező klienst és hírolvasót, IRC-klienst, RSS/Atom-olvasót és még sok mindent mást. Ennek ellenére az Opera viszonylag pehelysúlyúnak és gyorsnak számít. Két fajta módon is használható: létezik natív FreeBSD-s változata, valamint a Linux emulációval futó változata.

Az Opera FreeBSD-s változatát a megfelelő csomag telepítésével érhetjük el:

# pkg_add -r opera

Habár egyes FTP oldalakon nem található meg az összes csomag, viszont a Portgyűjteményből még ekkor is be tudjuk szerezni az Operat:

# cd /usr/ports/www/opera
# make install clean

A linuxos Opera telepítéséhez opera helyett linux-opera nevet kell megadnunk a fenti parancsokban. Ennek a verziónak a használata akkor lehet előnyös, ha olyan plugineket akarunk elérni, amelyek csak Linuxra léteznek. Ilyen például az Adobe Acrobat Reader®. Ettől eltekintve azonban a FreeBSD-s és a linuxos változatok szinte teljesen megegyeznek.

6.2.6. Konqueror

A Konqueror a KDE része, de a használatához elegendő, ha csak a x11/kdebase3 portot telepítjük fel. A Konqueror több, mint egy egyszerű böngésző: állománykezelő és multimédiás nézegető is.

Számtalan plugin áll rendelkezésre a Konquerorhoz, melyeket a misc/konq-plugins portban találunk meg.

A Konqueror ismeri a Flasht is. A Flash és a Konqueror kapcsolatával egy külön Hogyan is foglalkozik, amelyet a http://freebsd.kde.org/howtos/konqueror-flash.php címen olvashatunk el.

6.3. Irodai eszközök

Amikor irodai felhasználásról van szó, az új felhasználók gyakorta keresnek egy jó irodai programcsomagot vagy egy barátságos szövegszerkesztőt. Habár az egyes munkakörnyezetek, mint például a KDE, gyakran saját irodai eszközöket is tartalmaznak, FreeBSD alatt nincs alapértelmezett irodai programcsomag. A rendszer a munkakörnyezetektől függetlenül igyekszik felkínálni mindazt, amire szükségünk lehet.

Ebben a részben a következő alkalmazásokról esik szó:

AlkalmazásErőforrásigényTelepítés forrásbólFőbb függőségek
KOfficekevésnehézKDE
AbiWordkevéskönnyűGtk+ vagy GNOME
The GimpkevésnehézGtk+
OpenOffice.orgsoknagyon nehézJDK, Mozilla

6.3.1. KOffice

A KDE közösség által kiadott munkakörnyezethez társul egy irodai programcsomag is, amely a KDE-től függetlenül is használható. Tartalmazza a többi irodai programcsomagban is megtalálható négy szabványos komponenst: a KWord szövegszerkesztőt, a KSpread táblazatkezelőt, a KPresenter prezentációkészítőt és végezetül a Kontourt, mellyel grafikus dokumentumokat tudunk elkészíteni.

A legfrissebb KOffice telepítése előtt bizonyosodjuk meg róla, hogy a KDE legfrissebb verziójával is rendelkezünk.

Ha a KOffice-t csomagként akarjuk telepíteni, akkor adjuk ki az alábbi parancsot:

# pkg_add -r koffice

Amennyiben ez a csomag nem érhető el, telepíthetjük a Portgyűjteményből is. Például a KDE3-hoz tartozó KOffice-t így rakhatjuk fel:

# cd /usr/ports/editors/koffice-kde3
# make install clean

6.3.2. AbiWord

Az AbiWord egy szabad szövegszerkesztő program, a Microsoft® Word-höz hasonló kinézettel. Remekül használható levelek, beszámolók, feljegyzések, cikkek stb. írásához. Nagyon gyors, rengeteg funkciót ajánl fel, és kifejezetten felhasználóbarát.

Az AbiWord képes többféle állományformátumba exportálni és onnan importálni, beleértve az olyan zárt formátumokat is, mint például a Microsoft® .doc.

Az AbiWord csomagból telepíthető a következő módon:

# pkg_add -r abiword

Amennyiben ez a csomag nem érhető el, lefordítható a Portgyűjteményből is, ami ráadásul sokszor egy frissebb verziót tartalmaz. Ezt így tudjuk megtenni:

# cd /usr/ports/editors/abiword
# make install clean

6.3.3. The GIMP

Képek készítésére vagy retusálásra a The GIMP a legfejlettebb képszerkesztő program. Egyszerű rajzolóprogram gyanánt is használható, de akár minőségi fényképretusálásra is. Óriási mennyiségű plugin található hozzá és magában foglal egy szkriptes interfészt is. A The GIMP formátumok széles skáláját ismeri. Számos scanner és digitális rajztábla csatlakoztatható hozzá.

A hozzá tartozó csomag a következő módon telepíthető fel:

# pkg_add -r gimp

Ha a csomagoknak beállított FTP oldalon nem található meg ez a csomag, megpróbálkozhatunk vele a Portgyűjteményen keresztül is. A gyűjtemény graphics könyvtárában ezen felül fellelhetjük a The Gimp Manualt, vagyis a The GIMP kézikönyvét. Így kell ezeket innen telepíteni:

# cd /usr/ports/graphics/gimp
# make install clean
# cd /usr/ports/graphics/gimp-manual-pdf
# make install clean

Megjegyzés:

A Portgyűjtemény graphics könyvtárában a The GIMP fejlesztői változatával is találkozhatunk a graphics/gimp-devel alkönyvtárban. A The Gimp Manual HTML változata pedig a graphics/gimp-manual-html alkönyvtárban található.

6.3.4. OpenOffice.org

Az OpenOffice.org tartalmaz minden olyan elengedhetetlenül fontos alkalmazást, amelyek napjaink bármelyik irodájához hozzátartoznak: egy szövegszerkesztőt, egy táblázatkezelőt, egy prezentációszerkesztőt és egy rajzolóprogramot. A felhasználói felülete nagyon hasonlít a többi irodai programcsomagéhoz, és képes többféle elterjedt állományformátumot kezelni. Számos különböző nyelven elérhető — a honosítása kiterjed a felületekre, helyesírás-ellenőrzőkre és szótárakra is.

Az OpenOffice.org szövegszerkesztője natív XML állományformátumot használ a hordozhatóság és a rugalmasság növeléséhez. A táblázatkezelője tartalmaz egy makrónyelvet és könnyedén összekapcsolható külső adatbázisokkal. Az OpenOffice.org natívan és megbízhatóan fut Windows®-on, Solaris™-on, Linux®-on, FreeBSD-n és Mac OS® X-en. Az OpenOffice.org-ról bővebb információt a projekt saját honlapján találhatunk. A FreeBSD-s változatra vonatkozó információkat és a csomagokat pedig a FreeBSD OpenOffice.org Porting Team honlapján lelhetjük meg.

Az OpenOffice.org telepítéséhez ennyit kell csak beírni:

# pkg_add -r openoffice.org

Megjegyzés:

Ha a FreeBSD -RELEASE ágát használjuk, ennek működnie kell. Ettől eltérő esetben érdemes egy pillantást vetni a FreeBSD OpenOffice.org Porting Team honlapjára, ahonnan le tudjuk tölteni a verziókhoz megfelelő csomagot, amelyet ezután a pkg_add(1)-al fel is tudunk telepíteni. A legfrissebb megbízható és a fejlesztői változat egyaránt elérhető erről a helyről.

Ahogy sikerült feltelepíteni a csomagot, egyszerűen csak be kell gépelni a következő parancsot az OpenOffice.org futtatásához:

% openoffice.org

Megjegyzés:

Az első futtatás során válaszolnunk kell még néhány további kérdésre is, valamint a felhasználói könyvtárunkban keletkezik egy .openoffice.org könyvtár.

Ha nem érhetőek el OpenOffice.org csomagok, lefordíthatjuk a forrását is. Azonban mielőtt még ennek nekilátnánk, el kell fogadnunk, hogy ez a művelet a lemezünkön rettenetesen sok területet fog igényelni és meglehetősen sokáig tart.

# cd /usr/ports/editors/openoffice.org-3
# make install clean

Megjegyzés:

Ha egy honosított verziót szeretnénk fordítani, az utolsó parancs helyett írjuk inkább ezt:

# make LOCALIZED_LANG=nyelv install clean

A nyelv helyett itt természetesen a nyelvnek megfelelő ISO-kódot kell megadni. Az itt támogatott nyelvek kódjának listája a port könyvtárán belül, a files/Makefile.localized állományban található meg.

Ahogy a fordítás befejeződött, az OpenOffice.org így indítható el parancssorból:

% openoffice.org

6.4. Dokumentum-megjelenítők

A UNIX® megjelenése óta néhány új népszerű dokumentumformátum is felbukkant, melyek szabványos megjelenítői nem minden esetben részei az alaprendszernek. Ebben a részben azt tekintjük át, hogyan lehet ilyen megjelenítőket telepíteni.

Ez a rész az alábbi alkalmazásokat említi:

AlkalmazásErőforrásigényTelepítés forrásbólFőbb függőségek
Acrobat Reader®kevéskönnyűBináris Linux kompatibilitás
gvkevéskönnyűXaw3d
XpdfkevéskönnyűFreeType
GQviewkevéskönnyűGtk+ vagy GNOME

6.4.1. Acrobat Reader®

A dokumentumok többsége manapság PDF (Portable Document Format, avagy hordozható dokumentumformátum) állományok formájában terjed. Az ilyen típusú állományok megnézésére az egyik legmegfelelőbb alkalmazás az Acrobat Reader®, melyet az Adobe adott ki Linuxra. De mivel a FreeBSD képes Linux binárisok futtatására, ezért így FreeBSD-re is elérhető.

Ha az Acrobat Reader® 8-at a Portgyűjteményből akarjuk telepíteni, akkor írjuk be:

# cd /usr/ports/print/acroread8
# make install clean

Licencelési megszorítások miatt csomag nem áll rendelkezésre.

6.4.2. gv

A gv egy PostScript® és PDF megjelenítő. Eredetileg a ghostview alapján készült, de a Xaw3d-nek köszönhetően sokkal szebben néz ki. Gyors és a felülete letisztult. A gv sok mindent tud, többek közt beállítható benne a dokumentum tájolása, a papírméret, skálázás és az élsimítás. Szinte bármelyik művelet elvégezhető csak billentyűzetről vagy egérrel.

A gv csomagjának telepítéséhez a következő parancsot használhatjuk:

# pkg_add -r gv

Ha pedig nem tudjuk letölteni a csomagot, használhatjuk a Portgyűjteményt is:

# cd /usr/ports/print/gv
# make install clean

6.4.3. Xpdf

Ha egy egyszerű FreeBSD-s PDF megjelenítőre lenne szükségünk, erre a célra az Xpdf pontosan megfelel. Nagyon kevés erőforrást igényel és nagyon megbízható. A szabványos X-beli betűtípusokat használja, és nincs szüksége sem a Motif®ra, sem pedig más X-es eszközkészletre.

Az Xpdf csomagjának felrakásához az alábbi parancs javasolt:

# pkg_add -r xpdf

Amennyiben nem áll rendelkezésre az említett csomag, vagy egyszerűen csak a Portgyűjteményből szeretnénk felrakni, adjuk ki ezeket a parancsokat:

# cd /usr/ports/graphics/xpdf
# make install clean

Ahogy a telepítés befejeződik, már el is indíthatjuk az Xpdf alkalmazást, ahol a jobb egérgombbal tudjuk aktiválni a menüt.

6.4.4. GQview

A GQview egy képkezelő. Állományokat tudunk megnyitni benne egyetlen kattintással, külső szerkesztőprogramot tudunk indítani vagy akár még a képek kicsinyített változatait is láthatjuk és így tovább. Megtalálható benne a diavetítés és az alapvető állományműveletek. Képgyűjteményeket is kezelhetünk és könnyedén megtalálhatjuk a bennük levő képek között az egyezőeket. A GQview teljes képernyős nézegetést is megenged, illetve támogatja a honosítást.

A GQview csomag telepítéséhez ezt a parancsot kell kiadni:

# pkg_add -r gqview

Amikor ez a csomag nem tölthető le, vagy amikor inkább a Portgyűjteményből szeretnénk felrakni, ezt írjuk be:

# cd /usr/ports/graphics/gqview
# make install clean

6.5. Pénzügyi szoftverek

Ha bármilyen ok folytán a FreeBSD-vel szeretnénk kezeli személyes pénzügyeinket, akadnak olyan kellően komoly és könnyen kezelhető alkalmazások, amelyek csak a telepítésükre várnak. Néhány közülük kompatibilis az elterjedtebb állományformátumokkal, mint például amiben a Quicken és az Excel is tárolja az adatait.

Ebben a részben az alábbi programokat vesszük sorra:

AlkalmazásErőforrásigényTelepítés forrásbólFőbb függőségek
GnuCashkevésnehézGNOME
GnumerickevésnehézGNOME
AbacuskevéskönnyűTcl/Tk
KMyMoneykevésnehézKDE

6.5.1. GnuCash

A GnuCash a GNOME része, és egy felhasználóbarát, mégis hatékony eszközt ad a felhasználók kezébe. A GnuCash segítségével nyilván tudjuk tartani a bevételeinket és kiadásainkat, bankszámláinkat és befektetéseinket. Felülete intuitív, miközben továbbra is professzionális minőségű.

A GnuCash-ben megtalálhatunk egy intelligens nyilvántartást, a számlák hierarchikus rendszerét, és számtalan billentyűkombinációt és automatikus kiegészítést, amivel felgyorsul a munkánk. Egyetlen tranzakciót képes felbontani több kisebb és részletesebb elemre. A GnuCash képes importálni és exportálni a Quicken QIF típusú állományait. Ezenkívül még kezeli a legtöbb nemzetközi dátumformátumot és pénznemet.

A GnuCash-t az alábbi módon tudjuk telepíteni a rendszerünkre:

# pkg_add -r gnucash

Ha ez a csomag nem érhető el, használhatjuk a Portgyűjteményt is:

# cd /usr/ports/finance/gnucash
# make install clean

6.5.2. Gnumeric

A Gnumeric egy táblázatkezelő program, a GNOME munkakörnyezet része. Sok esetben képes a helyzethez alkalmazkodva automatikusan kitalálni a felhasználó gondolatait a cellák formátumának megfelelő automatikus kiegészítő rendszerével. Be tud olvasni számos népszerűbb formátumot, mint például az Excel, Lotus 1-2-3 vagy a Quattro Pro állományait. A math/guppi grafikonkészítő programon keresztül támogatja grafikonok rajzolását is. Nagyszámú beépített funkcióval rendelkezik, és ismeri az összes megszokott cellaformátumot, legyen az szám, pénznem, dátum, idő vagy bármi más.

A Gnumeric telepítését az alábbi paranccsal adhatjuk ki:

# pkg_add -r gnumeric

Ha valamiért nem érhető el ez a csomag, a Portgyűjteményből is fel tudjuk rakni:

# cd /usr/ports/math/gnumeric
# make install clean

6.5.3. Abacus

Az Abacus egy kicsi és egyszerűen használható táblázatkezelő program. Számos olyan funkciót tartalmaz beépítve, amelyek kifejezetten hasznosnak bizonyulhatnak a statisztika, pénzügyek és a matematika területén. Importálni és exportálni tudja az Excel állományformátumát is. Az Abacus még PostScript® formátumú kimenetet is tud készíteni.

Az Abacus telepítéséhez csupán ennyit kell tennünk:

# pkg_add -r abacus

Amennyiben viszont nem érhető el ez a csomag, használhatjuk a Portgyűjteményt is:

# cd /usr/ports/deskutils/abacus
# make install clean

6.5.4. KMyMoney

A KMyMoney a KDE részeként kifejlesztett személyi pénzügyi nyilvántartó. A KMyMoney igyekszik az összes kereskedelmi pénzügyi nyilvántartó programban megtalálható fontosabb lehetőséget magában foglalni és rendelkezésre bocsátani. Mindezek mellett egy könnyen használható és nagyon ügyes kettős könyvelést is találhatunk benne. A KMyMoney képes beolvasni a szabványos Quicken Interchange Format (QIF) szerint készült állományokat, követni a befektetéseket, többféle pénznemet kezelni és sokfajta kimutatást tudunk vele készíteni. A megfelelő bővítmény hozzáadásával még az OFX formátumú állományok olvasására is alkalmas.

A KMyMoney csomagként így telepíthető:

# pkg_add -r kmymoney2

Ha ez a csomag nem érhető el, akkor a Portgyűjteményen keresztül is fel tudjuk rakni:

# cd /usr/ports/finance/kmymoney2
# make install clean

6.6. Összefoglalás

Miközben a FreeBSD igen népszerű az internetszolgáltatók körében a teljesítménye és megbízhatósága révén, a hétköznapi használatban is remekül beválik. Többezernyi olyan alkalmazás érhető el hozzá csomagként vagy portként, amelyekkel az igényeinknek megfelelő munkakörnyezetet tudjuk kiépíteni.

Íme egy rövidke emlékeztető azokról az asztali alkalmazásokról, melyeket a fejezetben tárgyaltunk:

AlkalmazásCsomagPort
Operaoperawww/opera
Firefoxfirefoxwww/firefox
KOfficekoffice-kde3editors/koffice-kde3
AbiWordabiwordeditors/abiword
The GIMPgimpgraphics/gimp
OpenOffice.orgopenofficeeditors/openoffice.org-3
Acrobat Reader®acroreadprint/acroread8
gvgvprint/gv
Xpdfxpdfgraphics/xpdf
GQviewgqviewgraphics/gqview
GnuCashgnucashfinance/gnucash
Gnumericgnumericmath/gnumeric
Abacusabacusdeskutils/abacus
KMyMoneykmymoney2finance/kmymoney2

7. fejezet - Multimédia

Szerkesztette: Lippert, Ross.

7.1. Áttekintés

A FreeBSD a hangkártyák széles választékát ismeri, ami által képesek vagyunk számítógépünkkel hi-fi minőségű hangzást létrehozni. Ennek részeként rögzíteni és visszajátszani tudunk többek közt MPEG Audio Layer 3 (MP3), WAV és Ogg Vorbis formátumokban. A FreeBSD Portgyűjteménye ezenkívül tartalmaz még olyan alkalmazásokat is, amelyekkel szerkeszteni lehet a felvett hangokat, effekteket hozzátenni és vezérelni a hangkártyánkhoz csatlakoztatott MIDI eszközöket.

Némi kísérletezéssel a FreeBSD még videoállományok és DVD-k lejátszására is rávehető. A különféle videoanyagok kódolására, konvertálására és visszajátszására alkalmas programok száma azonban jóval kisebb, mint a hanganyagok esetén. Például az írás pillanatában nincs a FreeBSD Portgyűjteményében a formátumok közti konvertálásra alkalmas, a videókat olyan jól újrakódolni tudó alkalmazás, amilyen az audio esetén az audio/sox. Azonban ezen a területen a szoftverek palettája gyorsan változik.

Ebben a fejezetben bemutatjuk a hangkártyánk beállításához szükséges lépéseket. Az X11 telepítése és beállítása (5. fejezet - Az X Window System) során ugyan már foglalkoztunk a videokártyánkkal kapcsolatos hardveres problémákkal, azonban a jobb visszajátszás érdekében további cselfogásokat is be kell majd vetnünk.

A fejezet elolvasása során megismerjük:

  • hogyan állítsuk be úgy a rendszerünket, hogy felismerje a hangkártyánkat;

  • hogyan bizonyosodjuk meg róla, hogy a kártyánk valóban működik;

  • hogyan oldjuk meg a hangkártya beállítása során felmerülő problémákat;

  • hogyan játsszunk le és kódoljunk MP3-at vagy más egyéb hangformátumot;

  • hogyan támogatja a videokat az X szerver;

  • hogyan adnak az egyes lejátszók és kódolók még jobb eredményt

  • hogyan játsszunk le DVD-ket, .mpg és .avi állományokat;

  • hogyan mentsük a CD-k és DVD-k tartalmát állományokba;

  • hogyan állítsuk be a TV kártyánkat

  • hogyan állítsunk be egy scannert.

A fejezet elolvasásához ajánlott:

Figyelem:

Ha zenei CD-ket próbálunk meg a mount(8) paranccsal csatlakoztatni, akkor az hibával, vagy a legrosszabb esetben akár teljes rendszerösszeomlással is járhat. Az ilyen típusú lemezek az ISO szabványú állományrendszerekétől eltérő kódolással rendelkeznek.

7.2. A hangkártya beállítása

Írta: Moore, Moses.
A FreeBSD 5.X verziójához igazította: Fonvieille, Marc.

7.2.1. A rendszer beállítása

A művelet megkezdése előtt ki kell derítenünk, milyen típusú hangkártyánk van, milyen chip van rajta, PCI vagy ISA buszon csatlakozik-e. A FreeBSD rengeteg PCI és ISA buszos kártyát ismer egyaránt. A sajátunk beazonosításához a támogatott hangeszközök listáját a Hardware Notes (Hardverjegyzék) oldalán találhatjuk meg. Ebből a jegyzékből mellesleg azt is megtudhatjuk, hogy melyik meghajtó kezeli a kártyánkat.

A hangeszközünk használatához be kell töltenünk a neki megfelelő meghajtót. Ez két módon is megtehető. Ezek közül az a legkönnyebb, ha a kldload(8) paranccsal egyszerűen betöltjük a rendszermag hangkártyánkhoz tartozó modulját. Ezt megtehetjük közvetlenül parancssorból:

# kldload snd_emu10k1

vagy a /boot/loader.conf állományból az alábbihoz hasonló sor hozzáadásával:

snd_emu10k1_load="YES"

A fenti példák a Creative SoundBlaster® Live! hangkártyára vonatkoznak. A többi betölthető hangkártya-modul felsorolása a /boot/defaults/loader.conf állományban található. Ha nem vagyunk benne biztosak, hogy melyik meghajtót is akarjuk pontosan használni, akkor próbálkozzunk az snd_driver modul betöltésével:

# kldload snd_driver

Ez egy olyan metameghajtó, ami egyszerre betölti az összes érintett eszközmeghajtót, és segítségével felgyorsíthatjuk a megfelelő meghajtó megtalálását. A /boot/loader.conf használatával is be tudjuk ugyanígy tölteni az összes meghajtót.

Az snd_driver metameghajtó betöltése után úgy kereshetjük meg a ténylegesen használatban levő meghajtót, ha megnézzük a /dev/sndstat állományt a cat /dev/sndstat paranccsal.

A második módszer szerint a hangkártyánk támogatását statikusan beépítjük a rendszermagba. A lentebb található szakaszban olvashatjuk mindazok az információkat, amelyekre szükségünk lehet ennek elvégzése közben. A rendszermag újrafordításával kapcsolatban forduljunk a 8. fejezet - A FreeBSD rendszermag testreszabásahez.

7.2.1.1. A hangkártya támogatásával rendelkező saját rendszermag összeállítása

Elsőként hozzá kell adnunk a rendszermaghoz a hangeszközök alapmeghajtóját, a sound(4) eszközt. Ezt a rendszermag beállításait tartalmazó állományban az alábbi sor felvételével tehetjük meg:

device sound

Ezután tegyük még hozzá a hangkártyánkhoz kapcsolódó támogatást is. Ehhez viszont pontosan tudunk kell, melyik meghajtó képes működtetni a kártyát. A hangkártyához tartozó meghajtót a Hardware Notes (Hardverjegyzék)-ben található eszközök listájából deríthetjük ki. Például a Creative SoundBlaster® Live! hangkártyát a snd_emu10k1(4) meghajtó kezeli. Ennek a hangkártyának a támogatását az alábbi sorral állíthatjuk be:

device snd_emu10k1

Az itt használatos formátumot a meghajtó man oldalának átolvasásából tudhatjuk meg. Azonban az összes támogatott hangkártya meghajtó megadásának pontos formátuma megtalálható a /usr/src/sys/conf/NOTES állományban is.

A PnP (Plug n Play)-t nem ismerő ISA kártyák esetén az összes többi nem PnP-s ISA kártyához hasonlóan szükséges lehet a rendszermag számára megadnunk a kártya hardveres beállításait (IRQ, I/O port stb). Ezt a /boot/device.hints állományon keresztül tehetjük meg. A rendszerindítási folyamat során a loader(8) beolvassa ezt az állományt, majd átadja a benne szereplő információkat a rendszermagnak. Például a Creative SoundBlaster® 16, nem PnP-s ISA kártya az snd_sb16 meghajtóval együtt az snd_sbc(4) meghajtót használja. A kártya használatához a rendszermag beállításait tartalmazó állományba ezeket a sorokat kell megadni:

device snd_sbc
device snd_sb16

valamint a /boot/device.hints állományba ezeket:

hint.sbc.0.at="isa"
hint.sbc.0.port="0x220"
hint.sbc.0.irq="5"
hint.sbc.0.drq="1"
hint.sbc.0.flags="0x15"

Ekkor a kártya a 0x220 I/O portot és 5 IRQ-t használja.

A /boot/device.hints állományban alkalmazott felírási módról bővebben a sound(4), valamint a kérdéses meghajtó man oldalán tájékozódhatunk.

A fentiekben bemutatott beállítások alapértelmezettek, néhány esetben azonban a kártyánknak megfelelően meg kell változtatnunk az IRQ és egyéb értékeket. Erről a kártyáról konkrétan a snd_sbc(4) man oldalon olvashatunk részletesebben.

7.2.2. A hangkártya kipróbálása

Miután újraindítottuk a számítógépünket a módosított rendszermaggal, vagy miután betöltöttük a szükséges modult, a hangkártyának valahogy így kell megjelennie a rendszerünk üzenetpufferében (dmesg(8)):

pcm0: <Intel ICH3 (82801CA)> port 0xdc80-0xdcbf,0xd800-0xd8ff irq 5 at device 31.5 on pci0
pcm0: [GIANT-LOCKED]
pcm0: <Cirrus Logic CS4205 AC97 Codec>

A hangkártyánk állapota a /dev/sndstat állományon keresztül ellenőrizhető:

# cat /dev/sndstat
FreeBSD Audio Driver (newpcm)
Installed devices:
pcm0: <Intel ICH3 (82801CA)> at io 0xd800, 0xdc80 irq 5 bufsz 16384
kld snd_ich (1p/2r/0v channels duplex default)

Ez a kiírás rendszerenként eltérhet. Ha nem látunk semmilyen pcm0 eszközt, akkor menjünk vissza és nézzük át újra, pontosan mit is csináltunk. Vizsgáljuk át a rendszermagunk beállításait tartalmazó állományt és győződjünk meg róla, hogy a megfelelő meghajtót adtuk meg. Az itt felmerülő gyakori gondokkal a 7.2.2.1. szakasz - Gyakori problémák foglalkozik.

Ha azonban minden remekül haladt, akkor most már van egy működő hangkártyánk. Ha rendesen összekapcsoltuk hangkártyánkat a CD- vagy DVD-meghajtónk audio csatlakozásával, akkor tegyünk egy CD-t a meghajtóba és kezdjük el játszani a cdcontrol(1) paranccsal:

% cdcontrol -f /dev/acd0 play 1

Az olyan alkalmazások, mint például az audio/workman, ehhez egy sokkal barátságosabb felületet nyújtanak. Az MP3 formátumú állományok meghallgatásához pedig minden bizonnyal jól fog jönni egy olyan alkalmazás is, mint például az audio/mpg123.

A kártyát úgy is tesztelhetjük, ha az alábbihoz hasonló módon adatokat küldünk a /dev/dsp állományba:

% cat állománynév > /dev/dsp

ahol az állománynév tetszőleges állomány neve lehet. A parancs hatására valamilyen zajt kell hallanunk, és ez egyben meg is erősíti, hogy a hangkártyánk működik.

A hangkártyánk csatornáinak jellemzőit a mixer(8) paranccsal állíthatjuk. Erről további részleteket a mixer(8) man oldalon olvashatunk.

7.2.2.1. Gyakori problémák

HibaMegoldás
sb_dspwr(XX) timed outNem állítottuk be jól az I/O portot.
bad irq XXNem állítottuk be jól az IRQ értékét. Gondoskodjunk róla, hogy a beállított érték megegyezik a hangkártyánkéval.
xxx: gus pcm not attached, out of memoryNincs elég memória az eszköz használatához.
xxx: can't open /dev/dsp!A fstat | grep dsp parancs kiadásával ellenőrizzük, hogy valamelyik alkalmazás használja-e már az eszközt. Gyakori bajkeverő az esound és a KDE hangtámogatása.

7.2.3. Több hangforrás kihasználása

Írta: Chopra, Munish.

Gyakran szükségünk lehet több hangforrás egyidejű használatára, főleg olyankor, amikor az esound vagy az artsd bizonyos alkalmazásokkal nem hajlandó megosztani a hangeszközt.

A FreeBSD ezt a virtuális hangcsatornák használatával oldja meg, amit a sysctl(8) eszközön keresztül tudunk engedélyezni. Amikor a rendszermagban virtuális csatornák használatával keverünk, akkor lényegében képesek vagyunk a hangkártyánk által egyszerre játszható hangok számát megtöbbszörözni.

A virtuális csatornák számának beállításához a sysctl három változóját kell módosítanunk, amelyet root felhasználóként így tehetünk meg:

# sysctl dev.pcm.0.play.vchans=4
# sysctl dev.pcm.0.rec.vchans=4
# sysctl hw.snd.maxautovchans=4

A fenti példa négy virtuális csatornát hoz létre, ami egészen jellemző a mindennapi használatban. A dev.pcm.0.play.vchans és dev.pcm.0.rec.vchans a pcm0 eszköz lejátszásra és felvételre használt virtuális csatornáinak számát adja meg, amelyet az eszköz csatlakoztatása után tudunk beállítani. A hw.snd.maxautovchans az új eszközhöz tartozó virtuális csatornákat adja meg, ami akkor állítódik be, amikor a kldload(8) paranccsal csatlakoztatjuk. Mivel a pcm modul a többi eszközmeghajtótól függetlenül töltődik be, ezért a hw.snd.maxautovchans azt tárolja, hogy a később hozzá csatlakozó eszközök mennyi virtuális csatornát fognak majd kapni. Erről részletesebben a pcm(4) man oldalon olvashatunk.

Megjegyzés:

A használatban levő eszközöknél nem tudjuk megváltoztatni a virtuális csatornák számát. Ehhez először le kell állítanunk az eszközt használó összes programot, tehát a zenelejátszókat és hangdémonokat.

Amennyiben nem használjuk ki a devfs(5) által nyújtott lehetőségeket, az összes alkalmazásnak a /dev/dsp0.x eszközre kell mutatnia, ahol az x értéke 0-tól 3-ig terjedhet attól függően, hogy a dev.pcm.0.rec.vchans értékét a fenti példához hasonlóan 4-re állítottuk-e. A devfs(5) megoldását használó rendszerek esetén ez a folyamat automatikusan lezajlik, tehát az összes /dev/dsp eszközre irányuló kérés magától átirányítódik.

7.2.4. A keverő alapértelmezett értékeinek beállítása

Írta: El-Rayes, Josef.

A keverőben megjelenő különböző csatornák alapértékei a pcm(4) meghajtó forráskódjában huzalozottan találhatóak meg. Számos alkalmazás és démon segít két hívás közt megőrizni a keverőben beállított értékeket, azonban ez nem teljesen tiszta megoldás. A meghajtó szintjén is be tudjuk állítani a keverő alapértékeit — ezt a /boot/device.hints állomány megfelelő módosításával érhetjük el, például:

hint.pcm.0.vol="50"

Ezzel a pcm(4) modul betöltése során a hangerő (volume) csatorna alapértelmezett értéket 50-re állítjuk.

7.3. MP3

Írta: Lee, Chern.

Az MP3 (MPEG Layer 3 Audio) használatával közel CD minőségű hangot lehet elérni, ezért a mi FreeBSD munkaállomásunk sem maradhat ki előnyeinek élvezetéből.

7.3.1. MP3 lejátszók

Az XMMS (X Multimedia System) kiemelkedően a legnépszerűbb X11-es MP3 lejátszó. Mivel az XMMS grafikus felhasználói felülete szinte teljesen megegyezik a Nullsoft Winampjának felületével, ezért még a Winamp skinjeit is használhatjuk vele. Az XMMS-ben ezenkívül még a natív pluginek támogatását is megtalálhatjuk.

Az XMMS a multimedia/xmms portból vagy csomagból telepíthető.

Az XMMS használatára könnyű ráérezni: megtaláljuk benne a lejátszandó számok listáját, egy grafikus hangszínszabályzót és még sok minden mást. Akik már ismerik a Winamp működését, azok az XMMS-t is egyszerűnek érzik majd.

Mellette az audio/mpg123 port egy másik, parancssoros MP3 lejátszót kínál fel.

Az mpg123 futtatásához paraméterként meg kell adnunk a hangeszközt és lejátszandó MP3 állományt. Ha a hangeszközünk a /dev/dsp1.0 és a IzéMizé-Sláger.mp3 nevű MP3 állományt akarjuk rajta lejátszatni, akkor a következőt kell begépelnünk:

# mpg123 -a /dev/dsp1.0 IzéMizé-Sláger.mp3
High Performance MPEG 1.0/2.0/2.5 Audio Player for Layer 1, 2 and 3.
Version 0.59r (1999/Jun/15). Written and copyrights by Michael Hipp.
Uses code from various people. See 'README' for more!
THIS SOFTWARE COMES WITH ABSOLUTELY NO WARRANTY! USE AT YOUR OWN RISK!





Playing MPEG stream from IzéMizé-Sláger.mp3 ...
MPEG 1.0 layer III, 128 kbit/s, 44100 Hz joint-stereo

7.3.2. Sávok lementése CD-ről

Mielőtt MP3 formátumba tömörítenénk egy CD-t vagy annak egy sávját, a CD-n található audio adatot valahogy le kell tudnunk szedni a merevlemezre. Ezt úgy tehetjük meg, ha a nyers CDDA (CD Digital Audio) adatot WAV formátumú állományokba mentjük.

A sysutils/cdrtools csomag részeként elérhető cdda2wav segédprogrammal tudjuk a CD-ken levő audio és a hozzájuk tartozó egyéb információkat leszedni.

A meghajtóban levő CD teljes tartalmát (root felhasználóként) a következő parancs kiadásával lehet (sávonként) különálló WAV állományokba menteni:

# cdda2wav -D 0,1,0 -B

A cdda2wav ismeri az ATAPI (IDE) CD-meghajtókat, használatukhoz a SCSI egység sorszáma helyett az eszköz nevét kell megadni. Tehát például így szedjük le egy IDE-meghajtóról a 7. sávot:

# cdda2wav -D /dev/acd0 -t 7

A -D 0,1,0 a 0,1,0 sorszámú SCSI eszközre utal, ami megfelel cdrecord -scanbus parancs eredményének.

Az egyes sávok lementéséhez a -t kapcsoló használható:

# cdda2wav -D 0,1,0 -t 7

A példa szerint a zenei CD-ről a hetedik sávot szedjük le. Egyszerre több sávot, például az elsőtől a hetedikig, egy tartomány megadásával menthetünk le:

# cdda2wav -D 0,1,0 -t 1+7

A dd(1) segédprogram is használható ATAPI eszközökön levő hangsávok kimentéséhez. Ennek lehetőségéről részletesebben a 18.6.5. szakasz - Audio CD-k másolásaban olvashatunk.

7.3.3. MP3 állományok tömörítése

Az MP3 állomány tömörítésére manapság a legtöbben a lame elnevezésű kódolót választják. A portfában a lame az audio/lame helyen található meg.

Az előbb kimentett WAV állományok felhasználásával az alábbi paranccsal tudjuk átalakítani a audio01.wav állományt audio01.mp3 állománnyá:

# lame -h -b 128 \
--tt "Izé dal címe" \
--ta "Izé-mizé előadó" \
--tl "Izé-mizé album" \
--ty "2001" \
--tc "Leszedte és tömörítette: Izé" \
--tg "Műfaj" \
audio01.wav audio01.mp3

A 128 kbites tömörítés a gyakorlatban leginkább használt kódolási arány, sokan azonban a sokkal jobb minőségű 160 vagy 192 kbites tömörítést szeretik. Minél nagyobb a kódolási arány, annál több helyet fog foglalni a keletkező MP3 állomány — habár a minősége is jobb lesz. A -h kapcsoló alkalmazásával tudjuk aktivizálni a jobb minőségű de valamivel lassabb módot. A --t kezdetű paraméterek ID3 tageket adnak meg, amelyek segítségével az MP3 állományokba rájuk vonatkozó információkat tudunk beágyazni. A tömörítés további beállításairól a lame man oldalán tájékozódhatunk.

7.3.4. MP3 állományok kitömörítése

Ha MP3 formátumú állományokat szeretnénk audio CD-re írni, akkor ehhez először tömörítetlen WAV formátumba kell ezeket alakítanunk. Az XMMS és az mpg123 is egyaránt lehetőséged ad az MP3 állományok kitömörítésére.

Lemezre írás az XMMS-sel:

  1. Indítsuk el az XMMS alkalmazást.

  2. Az XMMS menüjének felhozásához kattinsunk jobb gombbal az ablakjára.

  3. Válasszuk az Options almenüben található Preference menüpontot.

  4. Változtassuk meg az Output Plugin beállítást a Disk Writer Plugin értékre.

  5. Nyomjunk a Configure gombra.

  6. Írjuk be (vagy válasszuk ki a Browse gombbal) a könyvtárat, ahová majd a kitömörített állományok kerülnek.

  7. Az eddig megszokottak szerint töltsük be az XMMS-be az MP3 állományt, állítsuk 100%-ra a hangerőt és kapcsoljuk ki a hangszínszabályzót (EQ, equalizer).

  8. Nyomjuk le a Play gombot — úgy fog tűnni, mintha az XMMS játszaná az MP3 állományt, de nem hallunk semmit. Ekkor a tartalmát állományba menti.

  9. Mikor befejeztük a kitömörítést, ne felejtsük el visszaállítani az Output Plugin értékét az alapértelmezettre.

Írás a szabványos kimenetre az mpg123-mal:

  • Futtassuk le a mpg123 -s audio01.mp3 > audio01.pcm parancsot.

Az XMMS az állományokat WAV formátumban írja, miközben az mpg123 nyers PCM hangadatokat képez belőlük. A cdrecord használata során mind a két formátumból hozhatóak létre audio CD-k. A nyers PCM a burncd(8) programmal használható. Amikor WAV állományokkal dolgozunk, minden egyes sáv elején egy apró kattanást hallhatunk: ez a WAV állomány fejléce lesz. A (audio/sox portból vagy csomagból telepíthető) SoX segédprogrammal a WAV formátumú állományok fejléce pillanatok alatt eltávolítható:

% sox -t wav -r 44100 -s -w -c 2 track.wav track.raw

A CD-írók FreeBSD alatti használatával kapcsolatban olvassuk el a 18.6. szakasz - Lézeres tárolóeszközök (CD-k) létrehozása és használatat.

7.4. Videók lejátszása

Írta: Lippert, Ross.

A videolejátszás egy nagyon friss és gyorsan fejlődő alkalmazási terület. Legyünk türelmesek, ez nem minden fog annyira könnyen menni, mint a hangok esetében.

A kezdéshez nem árt tudnunk, hogy a videokártyánk milyen gyártmányú és milyen chipet használ. Míg az Xorg és az XFree86 számos különféle videokártyát ismer, csupán töredékükkel lehet jó lejátszási teljesítményt előhozni. Az X11 futtatása közben az xdpyinfo(1) parancs kiadásával kérdezhetjük le az X szervertől a kártyánk használatával elérhető kiterjesztéseket.

Érdemes a kezünk ügyében tartani egy rövidke MPEG formátumú állományt, amellyel majd ki tudjuk próbálni a különféle lejátszókat és azok beállításait. Mivel egyes DVD lejátszók alapértelmezés szerint a /dev/dvd helyen keresik a lejátszandó DVD eszközt, vagy egyszerűen csak így írták meg ezeket, mindenképpen hasznos lehet, ha szimbolikus linkeket hozunk létre a megfelelő eszközökre:

# ln -sf /dev/acd0 /dev/dvd
# ln -sf /dev/acd0 /dev/rdvd

A devfs(5) működése miatt azonban ezek a kézzel létrehozott linkek az újraindítás után már nem maradnak meg. A szimbolikus linkeket a rendszer minden egyes indulásakor úgy tudjuk automatikusan létrehozni, hogyha az /etc/devfs.conf állományba felvesszük az alábbi sort:

link acd0 dvd
link acd0 rdvd

Emellett a DVD-k titkosításának feloldása, mely a DVD-meghajtók speciális funkcióit igényli, a DVD eszközökön írási jogot is igényel.

Az X11 osztott memóriát kezelő felületének gyorsításához javasolt néhány sysctl(8) változó értékének megnövelése is:

kern.ipc.shmmax=67108864
kern.ipc.shmall=32768

7.4.1. A megjelenítő képességeinek megállapítása

Több különböző úton lehet X11 alatt videókat nézni, de ennek tényleges módját igazából a rendelkezésre álló hardver határozza meg. Az itt leírt módszerek által kihozható minőség hardverenként eltérhet. Másodsorban a videók megjelenítése az X11-ben az utóbbi időben igen nagy hangsúlyt kapott, ezért az Xorg és az XFree86 minden egyes változatával jelentősen javulhat a helyzet ezen a téren.

A videók megjelenítésére használt gyakori felületek:

  1. X11: az X11 normális kimenete osztott memórián keresztül

  2. XVideo: az X11 felületének kiterjesztése, ami tetszőleges X11 által kirajzolható objektum esetén támogat videót

  3. SDL: a Simple Directmedia Layer

  4. DGA: a Direct Graphics Access (közvetlen grafikus hozzáférés)

  5. SVGAlib: alacsonyszintű konzolos grafikus réteg

7.4.1.1. XVideo

Az Xorg és az XFree86™ 4.X rendelkezik egy XVideo (avagy Xvideo, Xv, xv) elnevezésű kiterjesztéssel, amelyen keresztül egy speciális gyorsítás segítségével a kirajzolható objektumokban közvetlenül meg tudunk jeleníteni videókat. Ezzel a kiterjesztéssel még a gyengébb gépeken is nagyon jó minőségű lejátszást tudunk elérni.

A kiterjesztés működéséről az xvinfo parancs kiadásával győződhetünk meg:

% xvinfo

Ha a parancs eredménye ehhez hasonló, akkor a kártyánk támogatja az XVideót:

X-Video Extension version 2.2
screen #0
  Adaptor #0: "Savage Streams Engine"
    number of ports: 1
    port base: 43
    operations supported: PutImage
    supported visuals:
      depth 16, visualID 0x22
      depth 16, visualID 0x23
    number of attributes: 5
      "XV_COLORKEY" (range 0 to 16777215)
              client settable attribute
              client gettable attribute (current value is 2110)
      "XV_BRIGHTNESS" (range -128 to 127)
              client settable attribute
              client gettable attribute (current value is 0)
      "XV_CONTRAST" (range 0 to 255)
              client settable attribute
              client gettable attribute (current value is 128)
      "XV_SATURATION" (range 0 to 255)
              client settable attribute
              client gettable attribute (current value is 128)
      "XV_HUE" (range -180 to 180)
              client settable attribute
              client gettable attribute (current value is 0)
    maximum XvImage size: 1024 x 1024
    Number of image formats: 7
      id: 0x32595559 (YUY2)
        guid: 59555932-0000-0010-8000-00aa00389b71
        bits per pixel: 16
        number of planes: 1
        type: YUV (packed)
      id: 0x32315659 (YV12)
        guid: 59563132-0000-0010-8000-00aa00389b71
        bits per pixel: 12
        number of planes: 3
        type: YUV (planar)
      id: 0x30323449 (I420)
        guid: 49343230-0000-0010-8000-00aa00389b71
        bits per pixel: 12
        number of planes: 3
        type: YUV (planar)
      id: 0x36315652 (RV16)
        guid: 52563135-0000-0000-0000-000000000000
        bits per pixel: 16
        number of planes: 1
        type: RGB (packed)
        depth: 0
        red, green, blue masks: 0x1f, 0x3e0, 0x7c00
      id: 0x35315652 (RV15)
        guid: 52563136-0000-0000-0000-000000000000
        bits per pixel: 16
        number of planes: 1
        type: RGB (packed)
        depth: 0
        red, green, blue masks: 0x1f, 0x7e0, 0xf800
      id: 0x31313259 (Y211)
        guid: 59323131-0000-0010-8000-00aa00389b71
        bits per pixel: 6
        number of planes: 3
        type: YUV (packed)
      id: 0x0
        guid: 00000000-0000-0000-0000-000000000000
        bits per pixel: 0
        number of planes: 0
        type: RGB (packed)
        depth: 1
        red, green, blue masks: 0x0, 0x0, 0x0

Az XVideo nem mindegyik implementációjában vannak jelen a felsorolt formátumok (YUV2, YUV12 stb.), ami viszont néhány lejátszó számára akadályokat jelenthet.

Amennyiben viszont ezt látjuk:

X-Video Extension version 2.2
screen #0
no adaptors present

Akkor a kártyánk nem rendelkezik XVideo támogatással.

Ha az XVideo nem támogatott a kártyánk számára, akkor az csupán csak annyit jelent, hogy a gépünknek nehéz dolga lesz a videók megjelenítéséhez szükséges számítási kapacitás kiszolgálásában. Azonban a videokártyánktól és processzorunktól függően még így is kielégítő eredményt tudunk előcsalni. Ekkor viszont minden bizonnyal érdemes lesz átolvasnunk a 7.4.3. szakasz - Ajánlott olvasmányokban, miként tudjuk növelni a teljesítményét.

7.4.1.2. A Simple Directmedia Layer

A Simple Directmedia Layer, vagy SDL, eredetileg a Microsoft® Windows®, BeOS és UNIX® közti hordozhatóságot szándékozta megvalósítani, aminek segítségével a hangot és grafikát hatékonyan használni tudó alkalmazások hozhatóak létre. Az SDL által nyújtott réteg a hardver olyan alacsonyszintű absztrakcióját öleli fel, amely gyakran még az X11 felületénél is hatékonyabb.

Az SDL a devel/sdl12 helyen található.

7.4.1.3. Direct Graphics Access (Közvetlen grafikus hozzáférés)

A közvetlen grafikus hozzáférés az X11 egy olyan kiterjesztése, ami lehetővé teszi a programok számára az X szerver megkerülését és így közvetlenül a videokártya memóriáját képesek elérni. Mivel a megosztás hatékony megvalósításához ez nagyban építkezik alacsonyszintű leképzési műveletekre, ezért az ilyet használó programokat root felhasználóként kell futtatni.

A DGA kiterjesztés a dga(1) segítségével tesztelhető és mérhető. A dga parancs kiadása után minden billentyű lenyomására megváltoztatja a képernyőn látható színeket. A kilépéshez a q billentyűt kell lenyomni.

7.4.2. A videókkal foglalkozó portok és csomagok

Ebben a szakaszban a FreeBSD Portgyűjteményéből a videók lejátszására alkalmas programokat vesszük számba. A videolejátszás nagyon gyorsan fejlődő terület, ezért az itt említett különböző alkalmazások képességei az itt leírtaktól némileg eltérhetnek.

Először is fontos tisztában lennünk azzal, hogy számos FreeBSD-n futó videoalkalmazás eredetileg linuxos alkalmazásként indult, és közülük sokan még csak béta minőségűek. Íme a FreeBSD-n is megtalálható videocsomagokkal kapcsolatos néhány olyan gond, amivel esetleg összefuthatunk:

  1. Az egyik alkalmazás nem képes visszajátszani olyan állományt, amit egy másik alkalmazás hozott létre.

  2. Az alkalmazás nem képes visszajátszani a saját maga által készített állományokat.

  3. Ugyanazon alkalmazás két különböző gépen, amikor mind a kettőn az adott konfigurációra fordítjuk le, ugyanazt az állományt másképpen játssza vissza.

  4. Egy olyan látszólag egyértelmű szűrő, mint például a kép átméretezése, a hibás átméretező rutin miatt nagyon csúnya eredményt produkál.

  5. Az alkalmazás gyakran elszáll.

  6. A porthoz nem találjuk a dokumentációt, egyedül csak az interneten vagy a port work könyvtárában van.

Sok alkalmazás a linuxizmus jeleit is hordozza, vagyis gondok adódhatnak abból, hogy a szerzők az alkalmazások működtetéséhez a Linux rendszermag és a különféle terjesztésekben megtalálható módosított szabványos könyvtárak különlegességeit használják ki. Ezeket a portok karbantartói nem mindig észlelik és javítják ki, ami miatt az alábbiak bármikor bekövetkezhetnek:

  1. A processzor jellemzőit a /proc/cpuinfo állományon keresztül állapítják meg.

  2. A szálak helytelen használatuk miatt a program befejeződésekor összeakadnak.

  3. Az alkalmazással gyakran együtt használt egyéb alkalmazások még nem nincsenek benne a FreeBSD Portgyűjteményében.

Az ilyen alkalmazások fejlesztői a hordozhatóság javításával és a problémák megoldásával kapcsolatban eddig mindig igyekeztek együttműködni a portok karbantartóival.

7.4.2.1. MPlayer

Az MPlayer az utóbbi időben felbukkant, gyorsan fejlődő videolejátszó. Fejlesztőinek célja a sebesség és rugalmasság a Linux, illetve más UNIX® rendszereken. A kezdeményezés abból fakadt, hogy a fejlesztés mögött álló csapat alapítójának elege lett az akkoriban elérhető lejátszók teljesítményéből. Mondhatnánk, hogy ez a program feláldozta a grafikus felületet az áramvonalas kialakításért, azonban ha hozzászokunk a parancssori beállításokhoz és a billentyűkön keresztüli vezérléshez, remekül működik.

7.4.2.1.1. Az MPlayer lefordítása

Az MPlayer a multimedia/mplayer helyen található. A program a fordítási folyamat során elvégez számos hardverellenőrzést, aminek eredményeképpen az egyik rendszeren fordított program nem vihető a másikra. Ezért különösen fontos portból fordítani és nem pedig bináris csomagot használni. Mindezek mellett a Makefile állományban még számos, a make parancsnak a fordítás megkezdésekor átadható beállítást találhatunk:

# cd /usr/ports/multimedia/mplayer
# make
N - O - T - E

Take a careful look into the Makefile in order
to learn how to tune mplayer towards you personal preferences!
For example,
make WITH_GTK1
builds MPlayer with GTK1-GUI support.
If you want to use the GUI, you can either install
/usr/ports/multimedia/mplayer-skins
or download official skin collections from
http://www.mplayerhq.hu/homepage/dload.html

Az üzenet fordítása:

F - I - G - Y - E - L - E - M

Az mplayert személyes igényeinkhez úgy tudjuk igazítani, ha
figyelmesen átnézzük a Makefile állományt!  Például a WITH_GTK1
megadásával az MPlayer GTK1 alapú grafikus felülettel jön létre.
A grafikus felület használatához telepítenünk kell a
/usr/ports/multimedia/mplayer-skins portot is, vagy letölteni a
hivatalos skingyűjteményt a http://www.mplayerhq.hu/homepage/dload.html
oldalról.

A port alapbeállításai a legtöbb felhasználó számára megfelelőek, habár az Xvid kódek használatához meg kell adnunk a WITH_XVID beállítást. Rajta kívül még az alapértelmezett DVD eszközt is érdemes megadni a WITH_DVD_DEVICE beállítással, amelynek alapértéke a /dev/acd0.

A leírás elkészítésének időpontjában az MPlayer portja létrehozza a HTML dokumentációt és a két végrehajtható állományt: az mplayer lejátszót és a videók újrakódolásáért felelős mencoder segédprogramot.

Az MPlayer HTML dokumentációja nagyon közlékeny, és ha az olvasó nem találná valamelyik videohardver vagy felület leírását ebben a fejezetben, akkor ez a dokumentáció mindenképpen hasznos olvasnivalónak bizonyul. Ha a UNIX®-ok alatt elérhető videotámogatás leírását keressük, határozottan megéri időt szánni az MPlayer dokumentációjának alapos végigolvasására.

7.4.2.1.2. Az MPlayer használata

Az MPlayer használatához a felhasználói könyvtárunkban rendelkeznünk kell egy .mplayer elnevezésű könyvtárral. Ezt a következő paranccsal tudjuk létrehozni:

% cd /usr/ports/multimedia/mplayer
% make install-user

Az mplayer parancssori paraméterei a hozzá tartozó man oldalon találhatóak meg, valamint mindezek a HTML dokumentációban még részletesebben. Ebben a szakaszban csupán néhányukat mutatjuk be.

Egy állomány, mint például a tesztvideo.avi, a -vo beállításával játszható le a különböző felületeken:

% mplayer -vo xv tesztvideo.avi
% mplayer -vo sdl tesztvideo.avi
% mplayer -vo x11 tesztvideo.avi
# mplayer -vo dga tesztvideo.avi
# mplayer -vo 'sdl:dga' tesztvideo.avi

Érdemes az itt felsorolt konfigurációk mindegyikét kipróbálni, mivel az egymáshoz mért teljesítményük rengeteg tényezőn múlik, de közülük talán maga a hardver a legjelentősebb.

A DVD-k lejátszásához cseréljük ki a tesztvideo.avi paramétert a dvd://N -dvd-device ESZKÖZ paraméterekkel, ahol az N a lejátszandó fejezet sorszáma, valamint az ESZKÖZ a DVD-hez tartozó eszközleíró. Például így tudjuk elkezdeni /dev/dvd eszközről a 3. fejezet lejátszását:

# mplayer -vo xv dvd://3 -dvd-device /dev/dvd

Megjegyzés:

A port fordítása során a WITH_DVD_DEVICE paraméter segítségével megadható az alapértelmezett DVD eszköz, amely alapból a /dev/acd0. Erről többet a port Makefile állományában találhatunk.

A leállításhoz, szüneteltetéshez, továbblépéshez és többi hasonló funkcióhoz tartozó billentyűket a mplayer -h parancs kimenetéből vagy a man oldal elolvasásából deríthetjük ki.

A lejátszáshoz tartozó néhány viszonylag fontos beállítás: az -fs -zoom teljesképernyős módra vált, valamint a -framedrop segít növeli a teljesítményt.

A lejátszáskor kiadandó parancs túlburjánzását el tudjuk kerülni, ha létrehozunk egy .mplayer/config állományt és itt állítjuk be a gyakori opciókat:

vo=xv
fs=yes
zoom=yes

Végezetül megemlítjük, hogy az mplayer segítségével a DVD-n található fejezeteket ki tudjuk menteni .vob állományokba. A DVD második fejezetének kimentéséhez gépeljük be ezt:

# mplayer -dumpstream -dumpfile out.vob dvd://2 -dvd-device /dev/dvd

A parancs eredményeképpen keletkező out.vob állomány formátuma MPEG lesz, amit a fejezetben bemutatott további csomagokkal tudunk feldolgozni.

7.4.2.1.3. mencoder

A mencoder használatának megkezdése előtt javasolt alaposan beleásnunk magunkat a HTML dokumentációba és megismerkednünk az alapvető beállításaival. Van külön man oldala is, azonban a HTML leírás nélkül önmagában ez nem túl sokat ér. Megszámlálhatatlan úton és módon növelhető benne a minőség, csökkenthető a kódolási arány, változtatható a formátum, és ezen apró finomságok felelősek a jó vagy éppen a rossz teljesítményért. A témába néhány példa bemutatásával igyekszünk beavatni az olvasót. Először vegyünk egy egyszerű másolást:

% mencoder bemenő.avi -oac copy -ovc copy -o eredmény.avi

A parancssori paraméterek helytelen kombinációja olyan állományokat eredményezhet, amelyeket még maga az mplayer sem képes lejátszani. Ezért ha csak le akarunk szedni egy állományt, akkor maradjunk meg az mplayer -dumpfile opciójánál.

A bemenő.avi állományt MPEG4 video- és MPEG3 hangtömörítéssel (amihez kell majd a audio/lame) így tudjuk lekódolni:

% mencoder bemenő.avi -oac mp3lame -lameopts br=192 \
	 -ovc lavc -lavcopts vcodec=mpeg4:vhq -o eredmény.avi

Ezzel az mplayer és xine programok számára is egyaránt lejátszható állomány jön létre.

A DVD fejezeteit úgy tudjuk közvetlenül kódolni, ha a parancssorban kicseréljük a bemenő.avi állományt az dvd://1 -dvd-device /dev/dvd beállításra, illetve ha a programot root felhasználóként futtatjuk. De mivel elsőre általában ritkán vagyunk elégedettek a kódolással, érdemes először inkább lementeni az egész fejezetet egy állományba, majd azon dolgozni.

7.4.2.2. A xine videolejátszó

A xine egy széles hatókörű projekt, amelynek nem csak az a célja, hogy egy mindenes videolejátszó alkalmazást fejlesszenek, hanem az is, hogy újrahasznosítható függvénykönyvtárakat és egy moduláris felépítésű programot hozzanak létre, amely kiegészítűkkel bűvíthetű. A multimedia/xine helyen portként, valamint csomagként is elérhető.

A xine itt-ott még valamelyest durva, de mindenképpen egy dicséretes kezdeményezés. A xine a gyakorlatban erős processzort és mellé gyors videokártyát kíván, vagy pedig az XVideo kiterjesztés támogatását. A grafikus felhasználói felülete ugyan használható, de még kicsit esetlen.

Az írás pillanatában a xine mellé még nem kapunk olyan modult, amivel le tudnánk játszani a CSS kódolású DVD-ket. Léteznek azonban olyan külsős modulok, amelyekkel meg lehet valósítani ezt a feladatot, azonban a FreeBSD Portgyűjteményében ezeket még nem találhatjuk meg.

A xine az MPlayerhez képes többet tesz a felhasználóért, azonban ezzel egyidőben el is veszi tőle a finomhangolás lehetőségét. A xine legjobban az XVideót ismerő felületeken teljesít.

A xine alapértelmezés szerint grafikus felülettel indul, ahol a menük segítségével tudunk megnyitni egy adott állományt:

% xine

Vagy a grafikus felület használata nélkül kiadhatjuk közvetlenül is az állomány lejátszását:

% xine -g -p kedvencmozim.avi

7.4.2.3. A transcode

A transcode nem egy újabb lejátszó, hanem a video- és audio állományok újratömörítésére használható programok gyűjteménye. A transcode segítségével a szabványos be- és kimeneten keresztül parancssoros programokkal képesek vagyunk videoállományokat összefűzni, megjavítani.

A multimedia/transcode port fordítása során temérdek beállítást adhatunk meg, amelyek közül az alábbi parancsban foglaljuk össze az általunk javasolandókat:

# make WITH_OPTIMIZED_CFLAGS=yes WITH_LIBA52=yes WITH_LAME=yes WITH_OGG=yes \
WITH_MJPEG=yes -DWITH_XVID=yes

Ezek a beállítások a legtöbb felhasználó számára elegendőek.

A transcode képességeinek illusztrálásához lássunk egy példát, amiben megmutatjuk, hogyan kell egy DivX állományt PAL szabványú MPEG-1 formátumú (PAL VCD) állománnyá alakítani:

% transcode -i bemenő.avi -V --export_prof vcd-pal -o output_vcd
% mplex -f 1 -o eredmény_vcd.mpg eredmény_vcd.m1v eredmény_vcd.mpa

Az eredményül keletkező eredmény_vcd.mpg MPEG állomány akár már játszható is MPlayerrel. Ha az állományt kiírjuk egy írható CD-re, akkor ezzel video CD-t is létre tudunk hozni, amihez viszont szükségünk van mind a multimedia/vcdimager és sysutils/cdrdao programokra.

A transcode parancsnak van saját man oldala, azonban ehelyett a transcode wikiben érdemes inkább további információkat és példákat keresni.

7.4.3. Ajánlott olvasmányok

A FreeBSD-hez tartozó videoszoftverek nagyon gyorsan fejlődnek. Könnyen elképzelhető, hogy az imént tárgyalt problémák legtöbbje a közeljövőben hamarosan megoldódik. Addig viszont bárkinek, aki a legtöbbet szeretné kihozni a FreeBSD audio- és video lehetőségeiből, rengeteg leírás és dokumentáció elolvasása alapján kell összecsiszolnia a különböző beállításokat, és csak néhány alkalmazás mellett érdemes kitartania. Ebben a szakaszban igyekszünk segíteni az olvasónak megtalálni az ilyen jellegű információkat.

Az MPlayer dokumentációja szakmai szempontból igen közlékeny. Ezt mindenkinek érdemes elolvasnia, aki a későbbiekben magasabb szakmai szinten akar foglalkozni a UNIX®-os videózással. Az MPlayer levelezési listája viszont alig tolerálja a dokumentációt rendesen el nem olvasó emberek kérdéseit, ezért minden egyes hiba bejelentése előtt lehetőleg rendesen nézzük át a dokumentáció odavágó részeit.

A xine HOGYAN egyik külön fejezetében az összes lejátszó esetén érvényesíthető teljesítménynövelési módszereket mutat be.

Végül íme néhány ígéretes alkalmazás, amelyeket érdemes kipróbálnunk:

7.5. TV kártyák beállítása

Eredetileg írta: El-Rayes, Josef.
Kiegészítette, továbbfejlesztette: Fonvieille, Marc.

7.5.1. Bevezetés

A TV kártyák segítségével kábeles vagy antennás televízióadásokat tudunk nézni a számítógépünkön. A legtöbbjük RCA vagy S-video bemenettel rendelkezik, valamint néhányukon még FM rádiókészülék is megtalálható.

A FreeBSD a bktr(4) meghajtón keresztül a Brooktree Bt848/849/878/879, illetve a Conexant CN-878/Fusion 878a típusú, PCI-os videorögzító chipeket ismeri. Ügyelnünk kell arra, hogy a kártyánkon levő vevőkészülék is használható legyen, amit pedig a bktr(4) man oldalán megtalálható támogatott eszközök listájából ellenőrizhetünk.

7.5.2. A meghajtó beállítása

A kártyánk használatához be kell töltenünk a bktr(4) meghajtót, ami csupán annyiból áll, hogy a /boot/loader.conf állományhoz hozzáadunk egy ilyen sort:

bktr_load="YES"

Másik lehetőségünk, ha a TV kártya támogatását statikusan beleépítjük a rendszermagba. Ha ezt a megoldást választjuk, a következő sorokat kell elhelyeznünk a rendszermag beállításait tartalmazó állományba:

device	 bktr
device	iicbus
device	iicbb
device	smbus

A fentebb látható egyéb eszközök megadása azért szükséges, mert a kártya részegységei egy I2C buszon csatlakoznak egymáshoz. Miután beillesztettük a szükséges változtatásokat, fordítsuk le és telepítsük az új rendszermagot.

A támogatás hozzáadása után újra kell indítanunk a számítógépünket. A rendszerindítási folyamat során meg kell jelennie a TV kártyánknak is, valahogy így:

bktr0: <BrookTree 848A> mem 0xd7000000-0xd7000fff irq 10 at device 10.0 on pci0
iicbb0: <I2C bit-banging driver> on bti2c0
iicbus0: <Philips I2C bus> on iicbb0 master-only
iicbus1: <Philips I2C bus> on iicbb0 master-only
smbus0: <System Management Bus> on bti2c0
bktr0: Pinnacle/Miro TV, Philips SECAM tuner.

Természetesen a fenti üzenetek az aktuális hardvereszközünknek megfelelően némileg eltérhetnek. Ellenőrizzük, hogy a vevőkészüléket helyesen ismerte-e fel a rendszer. Ha nem sikerült volna, akkor a sysctl(8) és a rendszermag beállításai segítségével még mindig van lehetőségünk állítani rajta. Például, ha egy Philips SECAM vevőkészüléket akarunk beállítani, akkor a rendszermag beállításaihoz még hozzá kell adni a következő sort:

options OVERRIDE_TUNER=6

vagy erre közvetlenül használhatjuk a sysctl(8) programot is:

# sysctl hw.bt848.tuner=6

A bktr(4) man oldalán és a /usr/src/sys/conf/NOTES állományban megtalálhatjuk a többi beállítás részletes leírását is.

7.5.3. Hasznos alkalmazások

A TV kártyánk tényleges használatához azonban még a következő alkalmazások valamelyikét is telepítenünk kell:

  • A multimedia/fxtv használatával ablakban tévézhetünk, valamint lehetőségünk van kép/audio/video kimentésére is.

  • A multimedia/xawtv az fxtv-hez hasonló lehetőségekkel bíró tévénéző alkalmazás.

  • A misc/alevt dekódolja és megjeleníti a műsorhoz kapcsolódó Videotex/Teletext üzeneteket.

  • Az audio/xmradio segítségével az egyes TV kártyákon megtalálható FM rádiókészülékeket tudjuk használatba venni.

  • Az audio/wmtune a rádióvevőkhöz használható hasznos grafikus alkalmazás.

Ebben a témában a FreeBSD Portgyűjteményében további érdekes alkalmazások találhatóak még.

7.5.4. Hibakeresés

Ha bármilyen gond adódna a TV kártyánkkal kapcsolatosan, akkor először mindenképpen érdemes megnézni, hogy a rajta levő videorögzítő chipet és vevőkészüléket a bktr(4) meghajtó ténylegesen ismeri-e, illetve hogy jól állítottuk-e be. A TV kártyákra irányuló különféle egyéb kérdések és segítség tekintetében érdemes lehet még levelet küldeni a freebsd-multimedia címére is.

7.6. Lapolvasók

Írta: Fonvieille, Marc.

7.6.1. Bevezetés

A FreeBSD lapolvasókhoz a SANE (Scanner Access Now Easy) elnevezésű API (alkalmazásfejlesztői felület) segítségével képes hozzáférni, amelyet a Portgyűjteményben találhatunk meg. A lapolvasást végző hardvereszközök használatához a FreeBSD a SANE mellett még néhány eszközmeghajtóra is támaszkodik.

A FreeBSD egyaránt ismeri az SCSI és USB csatlakoztatású lapolvasókat is. Még mielőtt nekikezdenénk a lapolvasó beállításához, bizonyosodjuk meg róla, hogy a SANE támogatja. A SANE által ismert eszközök felsorolásában ellenőrizhetjük a lapolvasónk támogatottságának állapotát. A FreeBSD 8.X előtti kiadásaiban ezenkívül még a uscanner(4) man oldalon is láthatjuk az ismert USB-s lapolvasók listáját.

7.6.2. A rendszermag beállítása

A korábbiak értelmében tehát mind a SCSI, mind pedig a USB felületen csatlakozó eszközök támogatottak. A lapolvasónknak megfelelően eltérő eszközmeghajtók szükségesek.

7.6.2.1. Beállítás USB felületen

A GENERIC rendszermag alapértelmezés szerint tartalmazza az USB-s lapolvasók használatához szükséges eszközmeghajtókat. Ha valamiért azonban mégis saját rendszermagot akarunk használni, akkor ne felejtsük el ellenőrizni, hogy a rendszermag beállításai között megtalálhatóak a következő sorok:

device usb
device uhci
device ohci
device ehci

A FreeBSD 8.X előtti kiadásaiban még a következő sorra is szükségünk lesz:

device uscanner

A FreeBSD ezen változataiban a uscanner(4) eszközmeghajtón keresztül tudjuk használni az USB csatolóval rendelkező lapolvasókat. A FreeBSD 8.0 változatától kezdődően pedig ehhez a libusb(3) függvénykönyvtár nyújt közvetlen támogatást.

A megfelelően előkészített rendszermag elindítása után csatlakoztassuk az USB-s lapolvasónkat. Ez a sor fog megjelenni a rendszer üzenetpufferében (dmesg(8)):

ugen0.2: <EPSON> at usbus0

Vagy FreeBSD 7.X rendszerek esetében:

uscanner0: EPSON EPSON Scanner, rev 1.10/3.02, addr 2

Ezek az üzenetek elárulják nekünk, hogy a lapolvasóhoz mostantól a használt FreeBSD verziótól függően a /dev/ugen0.2 vagy a /dev/uscanner0 eszközleíró tartozik. A fenti példában egy EPSON Perfection® 1650 típusú USB lapolvasót láthatunk.

7.6.2.2. Beállítás SCSI felületen

Ha a lapolvasónk SCSI felületen csatlakozik, fontos tisztában lennünk azzal, hogy pontosan milyen SCSI-vezérlőn keresztül is érhetjük el, ugyanis a rajta található SCSI chipkészletnek megfelelően kell majd hangolnunk a rendszermag beállításait. A GENERIC rendszermag alapból ismeri a leggyakrabban előforduló SCSI-vezérlőket. Mindenképpen olvassuk át a NOTES nevű állományt és adjuk hozzá a rendszermag beállításaihoz a megfelelő sort. A SCSI-kártya meghajtóján kívül még az alábbi beállításokat is meg kell adnunk a rendszermagunk számára:

device scbus
device pass

Ahogy sikerült a rendszermagot sikeresen lefordítani és telepíteni, a rendszer indulása során az üzenetpufferben már láthatjuk is a felismert eszközt:

pass2 at aic0 bus 0 target 2 lun 0
pass2: <AGFA SNAPSCAN 600 1.10> Fixed Scanner SCSI-2 device
pass2: 3.300MB/s transfers

Ha a rendszer indulásakor még nem kapcsoltuk volna be a lapolvasónkat, a camcontrol(8) parancs segítségével később külön kérhetjük a SCSI buszon található eszközök újbóli felderítését:

# camcontrol rescan all
Re-scan of bus 0 was successful
Re-scan of bus 1 was successful
Re-scan of bus 2 was successful
Re-scan of bus 3 was successful

Ekkor a lapolvasó megjelenik a SCSI eszközök felsorolásában:

# camcontrol devlist
<IBM DDRS-34560 S97B>              at scbus0 target 5 lun 0 (pass0,da0)
<IBM DDRS-34560 S97B>              at scbus0 target 6 lun 0 (pass1,da1)
<AGFA SNAPSCAN 600 1.10>           at scbus1 target 2 lun 0 (pass3)
<PHILIPS CDD3610 CD-R/RW 1.00>     at scbus2 target 0 lun 0 (pass2,cd0)

A SCSI eszközökről további leírásokat a scsi(4) és camcontrol(8) man oldalakon találhatunk.

7.6.3. A SANE beállítása

A SANE rendszere két részre oszlik: a backendekre (graphics/sane-backends) és a frontendekre (graphics/sane-frontends). Ezek közül maguk a backendek szolgáltatják a lapolvasó hozzáférhetőségét. A SANE által ismert eszközeinek listájából kifürkészhetjük, hogy lapolvasónkat melyik backenden keresztül érhetjük el. Az eszköz megfelelő használatához döntő fontosságú megállapítani a hozzá tartozó backendet. A frontendek között találjuk meg a lapolvasást felügyelő grafikus felületeket (mint például az xscanimage).

Elsőként telepítsük a graphics/sane-backends portot vagy csomagot. Ezután ellenőrizzük, hogy a SANE felismeri a lapolvasót, és ehhez adjuk ki a sane-find-scanner parancsot:

# sane-find-scanner -q
found SCSI scanner "AGFA SNAPSCAN 600 1.10" at /dev/pass3

A kimenetében jelzi a felületet, amin a lapolvasó csatlakozik, valamint a hozzá tartozó eszközleírót. A gyártó neve és a termék típusa nem minden esetben jelenik meg, de ez nem is annyira fontos.

Megjegyzés:

Némely USB-s lapolvasók esetén még egy firmware-t is be kell töltenünk, amiről bővebben a backendhez tartozó man oldalokon olvashatunk. Ajánlott még elolvasni a sane-find-scanner(1) és sane(7) man oldalakat is.

Most pedig nézzük meg, hogy vajon a frontend is be tudja-e azonosítani a lapolvasónkat. Alapértelmezés szerint a SANE backendjéhez tartozik még egy scanimage(1) nevű segédprogram is, aminek segítségével listázni tudjuk a használható eszközöket és képeket tudunk beolvasni parancssorból. Közülük a -L kapcsoló listáz:

# scanimage -L
device `snapscan:/dev/pass3' is a AGFA SNAPSCAN 600 flatbed scanner

Vagy ha a 7.6.2.1. szakasz - Beállítás USB felületenban szereplő USB lapolvasóval nézzük:

# scanimage -L
device 'epson2:libusb:/dev/usb:/dev/ugen0.2' is a Epson GT-8200 flatbed scanner

Ezt a kimenetet egy FreeBSD 8.X rendszeren kaptuk, ahol a 'epson2:libusb:/dev/usb:/dev/ugen0.2' az eszközhöz tartozó backendet (epson2) és eszközleírót (/dev/ugen0.2) adja meg.

Megjegyzés:

Ha ennek eredményeképpen semmi sem jelenik meg, vagy a scanimage(1) látszólag nem talált semmilyen eszközt, akkor a lapolvasó azonosítása nem sikerült. Ilyen esetekben valószínűleg módosítanunk kell a backend beállításait tartalmazó állományt a használni kívánt lapolvasó eszköz szerint. A backendek beállításait a /usr/local/etc/sane.d/ könyvtárban találjuk. Ez a probléma bizonyos USB-s lapolvasók esetében jelentkezik.

Például, ha 7.6.2.1. szakasz - Beállítás USB felületenban használt USB-s lapolvasónkat FreeBSD 8.X alatt tökéletesen felismeri a rendszer, de a FreeBSD korábbi változatai esetén (ahol a uscanner(4) eszközmeghajtót használják) a sane-find-scanner parancs a következőket adja vissza:

# sane-find-scanner -q
found USB scanner (UNKNOWN vendor and product) at device /dev/uscanner0

Akkor a lapolvasót sikerült megtalálni, és láthatjuk, hogy USB-n keresztül csatlakozik és a /dev/uscanner0 eszközleíró tartozik hozzá. Most már ellenőrizhetjük a lapolvasó helyes beazonosítását is:

# scanimage -L

No scanners were identified. If you were expecting something different,
check that the scanner is plugged in, turned on and detected by the
sane-find-scanner tool (if appropriate). Please read the documentation
which came with this software (README, FAQ, manpages).

Az üzenet fordítása:

Nincs azonosítható lapolvasó.  Ha nem erre számítottunk, akkor ellenőrizzük,
hogy az eszközt tényleg bekapcsoltuk, csatlakoztattuk és észlelte a
sane-find-scanner segédprogram (amennyiben szükséges).  Kérjük, olvassa el a
szoftverhez tartozó dokumentációt (README, FAQ, man oldalak)!

Mivel a lapolvasót nem sikerült azonosítani, át kell írnunk a /usr/local/etc/sane.d/epson2.conf állományt. A használt lapolvasó típusa EPSON Perfection® 1650, ezért hozzá az epson2 backendet fogjuk használni. Ehhez feltétlenül olvassuk el a konfigurációs állományban található megjegyzéseket is. A sorokat igen könnyű átírni: tegyük megjegyzésbe az összes olyat, ahol a lapolvasónk számára nem megfelelő felületek találhatóak (a mi esetünkben tehát megjegyzésbe fogjuk tenni az összes scsi szóval kezdődő sort, hiszen nekünk USB-s eszközünk van), majd az állomány végére írjuk be a használni kívánt felületet és eszközleírót. Ez ebben a konkrét esetben ennyi lenne:

usb /dev/uscanner0

A megfelelő formátum és a további részletek leírásához ne felejtsük el azonban elolvasni a backend konfigurációs állományában felbukkanó megjegyzéseket és az ide tartozó man oldalt sem. Most már megpróbálkozhatunk újra a lapolvasó azonosításával:

# scanimage -L
device `epson:/dev/uscanner0' is a Epson GT-8200 flatbed scanner

Láthatjuk, hogy az USB-s lapolvasónkat sikerült azonosítani. Nem számít, ha esetleg nem egyezne a valósággal a gyártó vagy a típus megjelölése. Itt a valóban lényeges elem az `epson:/dev/uscanner0' mező lesz, melynek a backend és az eszközleíró nevét kell helyesen tartalmaznia.

A beállítást akkor zárhatjuk le, miután a scanimage -L parancs képes észlelni a lapolvasót. A eszköz ekkor már készen áll a beolvasásra.

Míg a scanimage(1) parancssorból teszi lehetővé számunkra a lapolvasást, addig érdemesebb a képek olvasását egy grafikus felületen keresztül végeznünk. A SANE egy egyszerű, ám hatékony grafikus felületet ajánl fel ehhez, ez az xscanimage (graphics/sane-frontends).

Az Xsane (graphics/xsane) egy másik népszerű grafikus frontend. Segítségével speciális lehetőségeket is kihasználhatunk, mint például többféle képolvasási mód (fénymásoló, fax stb.), színkorrekció, kötegelt beolvasás, stb. Mind a két említett alkalmazás elérhető a The GIMP bővítményeként is.

7.6.4. A lapolvasó használatának engedélyezése más felhasználók számára

A korábban tárgyalt műveletek mindegyikét root felhasználóként tudjuk csak végrehajtani. Azonban előfordulhat, hogy más felhasználók számára is szeretnénk hozzáférést biztosítani a lapolvasóhoz. Ehhez az érintett felhasználóknak a lapolvasóhoz tartozó eszközleíróhoz olvasási és írás joggal kell rendelkezniük. Például az USB-s lapolvasónk a /dev/ugen0.2 eszközleírót használja, amely valójában csak a /dev/usb/0.2.0 eszközleíróra mutató szimbolikus link (ezt gyorsan le tudjuk ellenőrizni, ha megnézzük a /dev könyvtár tartalmát). Az eszközleíró és a rá mutató szimbolikus link rendre a wheel és operator csoportok birtokában van. Ha a pgj nevű felhasználót felvesszük ezekbe a csoportokba, akkor ezáltal hozzá tud majd férni a lapolvasóhoz. Nyilvánvaló biztonsági megfontolásokból azonban kétszer is javasolt meggondolni, mely felhasználókat mely csoportokba vesszük fel, különösen, ha wheel csoportról van szó. Ennél valamivel jobb megoldást kínál, ha létrehozunk külön az USB eszközök használatára vonatkozó csoportot és a lapolvasót ezen csoport tagjainak számára elérhetővé tesszük.

Tehát erre a célra például megalkotjuk a usb csoportot. Ehhez első lépésként a pw(8) parancs segítségével hozzuk létre magát a csoportot:

# pw groupadd usb

Ezután a /dev/usb/0.2.0 eszközleírót és a rá mutató /dev/ugen0.2 szimbolikus linket kell az usb csoport részére elérhetővé tennünk, a megfelelő írási engedélyekkel (0660 vagy 0664) együtt, mivel alapértelmezetten csak a tulajdonosuk (root) tudja írni ezeket. Mindezt úgy tudjuk megtenni, ha az /etc/devfs.rules állományhoz hozzáadjuk a megfelelő sorokat:

[system=5]
add path ugen0.2 mode 0660 group usb
add path usb/0.2.0 mode 0660 group usb

A FreeBSD 7.X változatok esetén valószínűleg a következő sorokra lesz szükségünk a /dev/uscanner0 eszközleíróhoz:

[system=5]
add path uscanner0 mode 0660 group usb

Ezt követően az /etc/rc.conf állományba írjuk be az alábbi sort és utána indítsuk újra a számítógépet:

devfs_system_ruleset="system"

Az itt szereplő sorok pontos jelentéséről a devfs(8) man oldaláról tájékozódhatunk.

Ezután már csak fel kell vennünk azokat a felhasználókat a usb csoportba, amelyeknek engedélyezzük a lapolvasó használatát:

# pw groupmod usb -m pgj

A további részletekről a pw(8) man oldalon olvashatunk.

8. fejezet - A FreeBSD rendszermag testreszabása

Frissítette és átdolgozta: Mock, Jim.
Eredetileg írta: Hamby, Jake.

8.1. Áttekintés

A rendszermag a FreeBSD operációs rendszer lelke. Felelős a memória kezelésért, a biztonsági szabályozások betartatásáért, a hálózat működtetéséért, a lemezhozzáférésért és sok minden másért is. Miközben maga a FreeBSD egyre jobban konfigurálható dinamikusan, addig alkalmanként elegedhetetlen, hogy újrakonfiguráljuk és újrafordítsuk a rendszermagot.

A fejezet elolvasása során megismerjük:

  • miért lehet szükségünk egy saját rendszermagra;

  • hogyan készítsünk konfigurációs állományt a rendszermaghoz, vagy hogyan módosítsunk egy már létezőt;

  • hogyan használjuk a rendszermag konfigurációs állományát egy új rendszermag lefordítására és létrehozására;

  • hogyan telepítsük az új rendszermagot;

  • hogyan orvosoljuk a felmerülő problémákat.

A fejezetben az összes példaként bemutatásra kerülő parancsot root felhasználóként kell kiadni a sikeres végrehajtásukhoz.

8.2. Miért készítsünk saját rendszermagot?

A FreeBSD eredetileg ún. monolitikus rendszermaggal rendelkezett. Ez azt jelenti, hogy a rendszermag egyetlen nagy program volt, ami előre rögzített eszközöket ismert, és ha meg akartuk változtatni a rendszermag működését, akkor új rendszermagot kellett fordítanunk, majd újra kellett indítanunk vele a számítógépet.

Manapság azonban a FreeBSD már inkább afelé a megközelítés felé halad, ahol a rendszermag funkcionalitásának nagy részét működés közben az igények szerint betölthető és eltávolítható modulok adják. Ezzel lehetővé válik, hogy a rendszermag gyorsan illeszkedjen az újonnan megjelenő hardvereszközökhöz (mint például a laptopok PCMCIA-kártyáihoz), vagy olyan új funkciókat tegyünk a rendszermaghoz, amelyek a fordításánál nem voltak feltétlenül szükségesek. Ezt a modellt nevezik moduláris rendszermagnak.

Ennek ellenére még mindig elkerülhetetlen, hogy esetenként ne legyen szükség a rendszermag statikus testreszabására. Ez a legtöbb esetben azzal magyarázható, hogy vannak olyan funkciók, amelyek túlságosan is mélyen helyezkednek el a rendszermagban, ezáltal nem tölthetőek be dinamikusan. Máskor viszont egyszerűen azért nem lehetséges, mert még senki sem szánt időt az adott funkcióhoz tartozó, dinamikusan betölthető modul elkészítésére.

Egy saját rendszermag készítése azon legfontosabb próbatételek egyike, melyet egy haladó BSD felhasználónak ki kell állnia. Ez a folyamat, habár némileg időigényes, számos előnyt tartogat FreeBSD rendszerünk számára. Eltérően egy GENERIC (általános) rendszermagtól, amely rengeteg hardvert támogat, egy saját rendszermag csak a saját PC-nk hardverét ismeri. Ennek több előnye is van, például:

  • A rendszerünk gyorsabban indul. Mivel a rendszermag csak azokat a hardvereket fogja keresni, melyek a rendszerünkben megtalálhatóak, jelentős mértékben le tud csökkeni az induláshoz szükséges idő.

  • Kisebb memóriahasználat. Egy saját rendszermag a szükségtelen részek és eszközmeghajtók elhagyása miatt gyakran kevesebb memóriát emészt fel, mint a GENERIC rendszermag. Ez azért is fontos, mert a rendszermag mindig benn van a fizikai memóriában, és ezzel az alkalmazások elől veszi el a helyet. Emiatt egy saját rendszermag elkészítése különösen hasznos lehet egy kevés fizikai memóriával rendelkező rendszeren.

  • További hardverek támogatása. A saját rendszermagunkba olyan eszközök támogatását is beletehetjük, amelyek nem szerepelnek a GENERIC rendszermagban, mint például a hangkártyákét.

8.3. A rendszerünkben levő hardverek összeszedése

Írta: Rhodes, Tom.

Mielőtt belevetnénk magunkat a rendszermag beállításába, érdemes egy leltárt készíteni a gépünkben található különböző eszközökről. Ahol a FreeBSD nem elsődlegesen használt operációs rendszer, ott ehhez elegendő megnézni a jelenlegi rendszerben található elemeket. Például a Microsoft® rendszerek Eszközkezelőjében (Device Manager) általában az összes eszköz fontosabb adatait megtaláljuk. Magát az Eszközkezelőt pedig a Vezérlőpultból (Control Panel) érhetjük el.

Megjegyzés:

A Microsoft® Windows® egyes verzióiban a Rendszer (System) ikonjára kattintva megkapjuk azt a képernyőt, ahonnan közvetlenül el tudjuk érni az Eszközkezelőt.

Ha viszont nincs másik operációs rendszer a gépünkön, akkor magunknak kell mindezeknek utánanéznünk. Erre az egyik alkalmas módszer a dmesg(8) és a man(1) parancsok használata. A FreeBSD-ben található legtöbb meghajtónak van saját man oldala, ami tartalmazza az általuk kezelt eszközök listáját, illetve így a rendszerindítás során észlelt hardvereket nézhetjük vissza. Például az alábbi sorok arra utalnak, hogy a psm meghajtó megtalálta a gépünkhöz tartozó egeret:

psm0: <PS/2 Mouse> irq 12 on atkdbc0
psm0: [GIANT-LOCKED]
psm0: [ITHREAD]
psm0: model Generic PS/2 mouse, device ID 0

Ezután ezt a meghajtót vagy a rendszermagba kell beépítenünk, vagy pedig a loader.conf(5) állományon keresztül betöltenünk.

Bizonyos esetekben a dmesg az eszközök felkutatásának eredményei helyett csak a rendszer üzeneteit mutatja. Ilyen helyzetekben a teljes kimenet a /var/run/dmesg.boot állományban tekinthető meg.

A hardverek manuális felderítésének módja a pciconf(8) segédprogram kimenetének böngészése, ami valamivel részletesebb eredményt ad. Mint például:

ath0@pci0:3:0:0:        class=0x020000 card=0x058a1014 chip=0x1014168c rev=0x01 hdr=0x00
         vendor     = 'Atheros Communications Inc.'
         device     = 'AR5212 Atheros AR5212 802.11abg wireless'
         class      = network
         subclass   = ethernet

A pciconf -lv paranccsal kapott kimenet ezen része azt mutatja, hogy az ath meghajtó talált egy vezeték nélküli Ethernet eszközt. Innen a man ath paranccsal érhetjük el a ath(4) man oldalát.

A man(1) a -k paraméter megadásával további hasznos információkkal is tud szolgálni. A fentiekből kiindulva például a következő paranccsal:

# man -k Atheros

le tudjuk kérdezni azokat a man oldalakat, amelyek tartalmazzák az adott szót:

ath(4)                   - Atheros IEEE 802.11 wireless network driver
ath_hal(4)               - Atheros Hardware Access Layer (HAL)

A hardvereszközeink listájával felvértezve most már egy saját rendszermag létrehozása sem lesz annyira ijesztő.

8.4. Meghajtók, alrendszerek és modulok

Mielőtt új rendszermagot készítenénk, érdemes megfontolnunk, hogy egyáltalán szükségünk lesz-e rá. Ha például valamilyen eszköz támogatásához kell, akkor könnyen előfordulhat, hogy azt modulként is be tudjuk tölteni.

A rendszermaghoz tartozó modulok a /boot/kernel könyvtárban találhatóak, és a kldload(8) segítségével a rendszer működése közben dinamikusan betölthetőek. Ha nem is az összes, de a legtöbb meghajtóhoz tartozik egy modul és egy man oldal. Például az előző szakaszban az ath vezeték nélküli Ethernet meghajtóval foglalkoztunk. A következő leírást találjuk a hozzá tartozó man oldalon:

Vagy ha modulként akarjuk betölteni ezt a meghajtót a rendszer indítása
során, akkor a loader.conf(5) állományba vegyük fel a következő
sort:

    if_ath_load="YES"

A fentebb leírtak szerint tehát, ha az if_ath_load="YES" sort hozzáadjuk a /boot/loader.conf állományhoz, akkor a rendszer indulásakor ez a modul mindig dinamikusan betöltődik.

Némely esetben azonban nem áll rendelkezésünkre ilyen modul. Ez különösen igaz bizonyos alrendszerekre és a fontosabb meghajtókra, például az FFS állományrendszerre vonatkozóan, mivel ezeknek kötelezően a rendszermagban kell lenniük. Ugyanez elmondható a hálózati támogatásra is (INET). Csak úgy tudjuk megmondani, hogy valamelyik meghajtóra szükség van a rendszermagban, ha először megpróbáljuk megkeresni hozzá a megfelelő modult.

Figyelem:

A beépített meghajtók figyelmetlen eltávolításával könnyen lefordíthatatlan állapotba kerülhet a rendszermag. Például, ha az ata(4) meghajtót kivesszük a rendszermag konfigurációs állományából, az ATA alrendszert használó meghajtók csak abban az esetben fognak biztosan működni, ha egyúttal felvesszük a loader.conf állományba. Ha nem vagyunk benne biztosak, akkor először próbáljuk meg használni a modult, és csak utána hagyjuk el a rendszermagba épített változatát.

8.5. Saját rendszermag készítése és telepítése

Először is tegyünk egy rövidke sétát a rendszermag könyvtárában. A továbbiakban említendő összes könyvtár a /usr/src/sys könyvtáron belül található, amely /sys néven is elérhető. Itt rengeteg alkönyvtár található, mindegyikük a rendszermag különböző részeit testesíti meg. Ezek közül most számunkra a legfontosabb az architektúra/conf lesz, ahol majd létrehozzuk a saját rendszermagunk konfigurációs állományát, valamint a compile, ahol majd a rendszermagunk fordítása történik. Itt az architektúra lehet i386, alpha, amd64, ia64, powerpc, sparc64 vagy pc98 (a PC-k egyik, leginkább Japánban elterjedt változata). Az adott architektúra könyvtárában található összes állomány csak arra az architektúrára vonatkozik, a kód többi része pedig gépfüggetlen és közös az összes többi létező és leendő FreeBSD platformon. Érdemes megfigyelni a könyvtárak logikai elrendezését: minden egyes ismert eszköz, állományrendszer és bővítmény saját alkönyvtárral rendelkezik.

A példák során ez a fejezet feltételezi, hogy az i386 architektúrát használjuk. Ha ez a mi esetünkben nem így lenne, ne felejtsük el átírni bennük az elérési útvonalakat a rendszerünk architektúrájának megfelelően.

Megjegyzés:

Ha nem lenne /usr/src/sys könyvtár a rendszerünkben, valószínűleg még nem telepítettük a rendszermag forráskódját. Ezt a legkönnyebben úgy tudjuk megtenni, ha root felhasználóként elindítjuk a sysinstall programot és ott kiválasztjuk a Configure (Beállítások), azon belül Distributions (Terjesztések) menüpontot, amiben válasszuk ki a src, base és sys terjesztéseket. Ha nem szeretnénk erre a célra a sysinstall programot használni, de rendelkezésünkre áll a hivatalos FreeBSD CD, akkor a forrásokat akár parancssorból is telepíthetjük:

# mount /cdrom
# mkdir -p /usr/src/sys
# ln -s /usr/src/sys /sys
# cat /cdrom/src/ssys.[a-d]* | tar -xzvf -
# cat /cdrom/src/sbase.[a-d]* | tar -xzvf -

Ezután lépjünk be az i386/conf könyvtárba és másoljuk le a GENERIC konfigurációs állományt a kedvünk szerinti nevűre. Például:

# cd /usr/src/sys/i386/conf
# cp GENERIC SAJÁT

Általában a nevet végig nagybetűkkel írjuk, és ha több FreeBSD-s gépet is üzemeltetünk különböző hardverekkel, hasznosnak bizonyulhat megemlíteni benne az adott gép rendszerének nevét is. Ebben a példában ez most a SAJÁT lesz.

Tipp:

A rendszermagunk konfigurációs állományát nem éppen a legjobb ötlet a /usr/src könyvtárban tárolni. Ugyanis könnyen előfordulhat, hogy egy rosszul sikerült fordítás után egyszerűen csak letöröljük az egész /usr/src könyvtárat és onnan kezdjük újra. Azonban csak ezután juthat eszünkbe, hogy vele együtt bizony letöröltük a saját rendszermagunk konfigurációs állományát is! Ehhez hasonlóan, közvetlenül a GENERIC konfigurációs állomány szerkesztése sem ajánlott, mivel a források egy esetleges frissítésénél könnyen felülíródhat és ezzel együtt elvesznek a módosításaink is.

Tehát érdemes inkább valahol máshol tárolnunk a rendszermagunk konfigurációs állományát, majd létrehozni rá egy szimbolikus linket a i386 könyvtárban.

Valahogy így:

# cd /usr/src/sys/i386/conf
# mkdir /root/kernel
# cp GENERIC /root/kernel/SAJÁT
# ln -s /root/kernel/SAJÁT

Most pedig a kedvenc szövegszerkesztőnkkel lássunk neki a SAJÁT átírásának! Ha nemrég telepítettük csak a rendszerünket, az egyetlen elérhető szövegszerkesztőnk minden bizonnyal a vi lesz. Róla most túlságosan is bonyolult lenne leírást adnunk, de az Irodalomjegyzékben található könyvek közül sokban elég jól bemutatják. Ezen kívül a FreeBSD ajánl egy könnyebben megtanulható szövegszerkesztőt is az ee személyében, amely a kezdők számára az ideális választás. Nyugodtan átírhatjuk az elöl található megjegyzéseket a saját konfigurációnknak megfelelően, vagy akár azt is rögzíthetjük, hogy miben tértünk el a GENERIC beállításaitól.

Ha fordítottunk már rendszermagot SunOS™ vagy más BSD operációs rendszer alatt, ez az állomány ismerősnek tűnhet. Ha viszont más operációs rendszerek, mint például a DOS felől érkezünk, a GENERIC konfigurációs állomány egy kissé terebélyesnek tűnhet számunkra, ezért A konfigurációs állomány című részt figyelmesen és lassan olvassuk át.

Megjegyzés:

Amennyiben a forrásfánkat a FreeBSD projekt legfrissebb forrásaival szinkronizáljuk, mindig olvassuk el a /usr/src/UPDATING állományt, mielőtt bármilyen frissítéshez is kezdenénk. Itt megtalálhatóak azok a fontos érintett kérdések és területek, amely külön figyelmet igényelnek a frissített forráskód esetén. A /usr/src/UPDATING mindig a FreeBSD forrásának legfrissebb változatához igazodik, és ezért sokkal naprakészebb információkat tartalmaz, mint ez a kézikönyv.

Most pedig le kell lefordítanunk a rendszermag forráskódját.

Eljárás 8.1. A rendszermag lefordítása
  1. Lépjünk be a /usr/src könyvtárba:

    # cd /usr/src
  2. Fordítsuk le a rendszermagot:

    # make buildkernel KERNCONF=SAJÁT
  3. Telepítsük az új rendszermagot:

    # make installkernel KERNCONF=SAJÁT

Megjegyzés:

A FreeBSD teljes forrásfájára szükség van a rendszermag lefordításához.

Tipp:

Amikor egy saját rendszermagot alapértelmezés szerint fordítunk, vele együtt az összes modul is lefordításra kerül. Ha viszont időt szeretnénk megtakarítani a rendszermag frissítése során, vagy csak a saját moduljainkat akarjuk lefordítani, érdemes átírnunk az /etc/make.conf állományt a rendszermag fordításának megkezdése előtt:

MODULES_OVERRIDE = linux acpi sound/sound sound/driver/ds1 ntfs

Ez a változó megadja a ténylegesen lefordítandó modulok listáját.

WITHOUT_MODULES = linux acpi sound ntfs

Ez a változó a fordításból kihagyandó felső szintű modulokat sorolja fel. A rendszermag fordításának folyamatában egyéb hasznosnak tekinthető változókról a make.conf(5) man oldalán olvashatunk.

Ezután az új rendszermag a /boot/kernel könyvtárba kerül /boot/kernel/kernel néven, a korábbi rendszermag pedig /boot/kernel.old/kernel néven őrződik meg. Most állítsuk le a rendszert és indítsuk újra az új rendszermag aktiválásához. Ha közben valamilyen hiba történt volna, nézzük meg a fejezet végén található, hibakeresésre vonatkozó utasításokat. Mindenképpen olvassuk el azt a részt, amely leírja, hogyan állítsuk helyre a rendszerünket abban az esetben, ha az új rendszermaggal nem indul.

Megjegyzés:

A rendszerindítási folyamathoz tartozó további állományok, mint például a rendszerbetöltő (loader(8)) és annak konfigurációs állománya, a /boot könyvtárban találhatóak. A külső és saját modulok a /boot/kernel a könyvtárba kerülhetnek, azonban a felhasználóknak nagyon ügyelniük kell rá, hogy az itt található modulok szinkronban legyenek a lefordított rendszermaggal. Ellenkező esetben a rendszerben megbízhatatlanságot, hibákat észlelhetünk.

8.6. A konfigurációs állomány

A FreeBSD 6.X verziójához igazította: Dahl, Joel.

A konfigurációs állomány általános formátuma igen egyszerű. Minden sor tartalmaz egy kulcsszót és egy vagy több paramétert. A további egyszerűsítés kedvéért a legtöbb sor csak egyetlen paramétert tartalmaz. Bármi, ami egy # (kettőskereszt) jelet követ, megjegyzésnek minősül és nem számít konfigurációs elemnek. A most következő részek bemutatják az egyes kulcsszavakat abban a sorrendben, ahogy azokat a GENERIC állományban is megtalálhatjuk. Az architektúrafüggő opciók és eszközök teljes listáját a GENERIC állománnyal egy könyvtárban levő NOTES állományban találhatjuk meg. Az architektúrától független opciókat a /usr/src/sys/conf/NOTES állományban találjuk.

A FreeBSD 5.0 megjelenése óta a konfigurációs állományokban használható az include direktíva. Ennek segítségével egy másik konfigurációs állomány tartalma logikailag beilleszthető az aktuálisba, így könnyebbé válik egy már meglevő állományhoz tartozó kisebb mennyiségű változtatás karbantartása. Például ha csupán pár egyszerű kiegészítést szeretnénk hozzáadni a GENERIC rendszermaghoz, akkor elegendő a hozzá vett eltéréseket nyilvántartanunk egy külön konfigurációs állományban:

include GENERIC
ident SAJAT

options         IPFIREWALL
options         DUMMYNET
options         IPFIREWALL_DEFAULT_TO_ACCEPT
options         IPDIVERT

Valószínűleg sok rendszergazda számára jelentős előnyt jelent ez a megoldás a konfigurációs állományok korábbról már megszokott újraírásával szemben: a helyi konfigurációs állomány csak a GENERIC rendszermag helyi rendszerre vonatkozó eltéréseit tartalmazza. Így amikor frissítjük a rendszerünket, a GENERIC rendszermag összes újítása elérhetővé válik, kivéve ha explicit módon le nem tiltottuk ezeket a noptions vagy a nodevice megadásával. A fejezet további részében egy átlagos konfigurációs állománnyal fogunk foglalkozni, mind a beállítások, mind pedig az eszközök tekintetében.

Megjegyzés:

Ha olyan állományt akarunk készíteni, amely tartalmazza az összes lehetséges opciót, például teszteléshez, futtassuk le root felhasználóként az alábbi parancsot:

# cd /usr/src/sys/i386/conf && make LINT

Itt a GENERIC rendszermag-konfigurációs állomány ismertetése következik, az érthetőség kedvéért helyenként megjegyzésekkel kibővítve. A bemutatott állománynak majdnem pontosan meg kell egyeznie a rendszerünkben található /usr/src/sys/i386/conf/GENERIC állománnyal.

machine      i386

A számítógépünk architektúráját adja meg. A következők valamelyikének kell lennie: alpha, amd64, i386, ia64, pc98, powerpc, vagy sparc64.

cpu          I486_CPU
cpu          I586_CPU
cpu          I686_CPU

A fenti beállítás segítségével megadhatjuk, milyen típusú processzor található a számítógépünkben. Több ilyen sorunk is lehet (ha például nem lennénk biztosak benne, hogy az I586_CPU vagy I686_CPU értéket kellene megadnunk), de a saját rendszermagunk összeállításához érdemes csak egyet meghagynunk. Ha nem ismerjük pontosan a processzorunk típusát, vessünk egy pillantást a /var/run/dmesg.boot állományra és keressük ki belőle.

ident          GENERIC

Ez a rendszermag azonosítója. Változtassuk meg rendszermagunk nevére, legyen például SAJAT, ha a korábbi utasításokat követtük. Az ident után írt sztring fog megjelenni a rendszermag neve mellett a rendszer indítása során, ezért fontos, hogy az új rendszermagunknak más nevet adjunk, ha meg akarjuk különböztetni az általában használttól (például egy tesztelésre szánt rendszermagot akarunk készíteni).

# ha a /boot/device.hints használata helyett statikusan bele akarjuk fordítani
#hints          "GENERIC.hints"         # itt szerepelnek a device hintek

A device.hints(5) használható az eszközmeghajtók beállítására. A loader(8) a rendszer indítása során alapértelmezés szerint a /boot/device.hints állományt olvassa be erre a célra. A hints beállítás használatával ezeket a hinteket statikusan bele tudjuk építeni a rendszermagba. Ebben az esetben nincs szükségünk külön device.hints állomány létrehozására a /boot könyvtárban.

makeoptions     DEBUG=-g          # a nyomkövetéshez szükséges gdb(1) szimbólumok beépítése

A FreeBSD hagyományos fordításának folyamata során a rendszermagot a -g használatával készítjük el, aminek köszönhetően hibakeresési információkat tudunk átadni a gcc(1) fordítónak.

options          SCHED_ULE          # ULE ütemező

A FreeBSD alapértelmezett rendszerütemezője. Ne változtassuk meg!

options          PREEMPTION         # a rendszerszálak megszakíthatóságának engedélyezése

Ha engedélyezzük, a rendszermagban futó szálakat meg tudják szakítani más, magasabb prioritású szálak. Ez segít növelni a rendszer válaszadási sebességét és csökkenti a megszakításokat kezelő szálak várakozását.

options          INET              # hálózatkezelés

A hálózatkezelés támogatása. Ne töröljük ki, még akkor sem, ha nem tervezzük hálózatra kapcsolni a rendszert. Sok programnak szüksége van legalább az ún. loopback típusú hálózat támogatására (vagyis a számítógépünkön belüli hálózati kapcsolatokra), ezért ez feltétlenül kötelező!

options          INET6             # IPv6 kommunikációs prokotollok

Engedélyezi az IPv6 kommunikációs protokollok használatát.

options          FFS               # Berkeley Fast Filesystem

Ez a legalapvetőbb merevlemezes állományrendszer. Hagyjuk meg, ha merevlemezről akarjuk indítani a rendszerünket.

options          SOFTUPDATES       # az FFS Soft Updates támogatása

Ez a beállítás engedélyezi a rendszermagban a Soft Updates használatát, amely segít felgyorsítani a lemez írási sebességét. Ha már a rendszermag ezt a funkcionalitást ismeri, akkor még külön az egyes lemezeken is engedélyezni kell. Nézzük meg a mount(8) kimenetét, hogy lássuk, a rendszerünkben levő lemezek közül melyiken van ténylegesen engedélyezve a Soft Updates használata. Ha nem látjuk benne sehol sem a soft-updates opciót, akkor azt (meglevő állományrendszerek esetén) a tunefs(8) vagy (új állományrendszerek esetén) a newfs(8) parancsokkal tudjuk bekapcsolni.

options          UFS_ACL           # a hozzáférés-vezérlési listák (ACL) támogatása

Ezzel a beállítással engedélyezhetjük a rendszermagban a hozzáférés-vezérlési listák támogatását. Ez a kiterjesztett attribútumok és az UFS2 használatára támaszkodik. Ezt a lehetőséget részleteiben a 14.12. szakasz - Az állományrendszerek hozzáféréseit vezérlő listákban tárgyaljuk. Az ACL alapértelmezés szerint támogatott, és ha korábban már használtuk, akkor semmiképpen se kapcsoljuk ki, mert ezzel az eddig létrehozott hozzáférés-vezérlési listáink érvénytelenné, az állományaink pedig védtelenné válnak.

options          UFS_DIRHASH       # nagyobb könyvtárak esetén gyorsulást hoz

Ezzel a beállítással némi memória feláldozása árán fel tudjuk gyorsítani a nagyobb könyvtárakon végzett lemezműveletek sebességét, ezért ezt a beállítást érdemes nagyobb szerverekre vagy interaktivitást igénylő munkaállomásokra tartogatni, és eltávolítani olyan esetekben, amikor a FreeBSD-t olyan kisebb számítógépeken használjuk, ahol a memória kevés és a lemezműveletek sebessége kevésbé fontos, például egy tűzfalon.

options          MD_ROOT           # tudunk memórialemezről is rendszert indítani

Ezzel az opcióval engedélyezni tudjuk a rendszer indítását memóriában tárolt virtuális lemezekről.

options          NFSCLIENT         # hálózati állományrendszer (NFS) kliens
options          NFSSERVER         # NFS szerver
options          NFS_ROOT          # NFS használható gyökérként is, kell hozzá az NFSCLIENT

A hálózati állományrendszer támogatása. Hacsak nem akarunk TCP/IP-n keresztül állományrendszereket csatlakoztatni egy UNIX® állományszerverről, kivehetjük.

options          MSDOSFS           # MS-DOS állományrendszer

Az MS-DOS® állományrendszer. Hacsak nem akarunk DOS-ra formázott merevlemezes partíciót csatlakoztatni a rendszerindítás során, nyugodtan elhagyhatjuk. A fentebb leírtak szerint az első olyan alkalommal automatikusan betöltődik, amikor egy DOS partíciót csatlakoztatni akarunk. Sőt, a nagyszerű emulators/mtools szoftver segítségével külön csatlakoztatás és leválasztás nélkül tudunk DOS-os floppykat olvasni (és az MSDOSFS-re egyáltalán nincs is szüksége).

options          CD9660            # ISO 9660 állományrendszer

Az ISO 9660 állományrendszert a CD-k használják. Vegyük ki, ha nincs a számítógépben CD-ROM meghajtó, vagy csak ritkán fogunk CD-ket csatlakoztatni (mivel a hozzá tartozó modul magától betöltődik az első adat CD csatlakoztatása során). Az audio CD-k nem használják ezt az állományrendszert.

options          PROCFS            # a futó programok állományrendszere (szükséges hozzá a PSEUDOFS)

A futó programok állományrendszere. Ez csak a /proc könyvtárra csatlakoztatott színlelt állományrendszer, amelynek segítségével a ps(1) és hozzá hasonló programok képesek több információt adni a futó programokról. A PROCFS használata a legtöbb esetben nem indokolt, mivel a különféle nyomkövető és felügyeleti eszközök képesek a PROCFS használata nélkül is működni: alapértelmezés szerint a telepített rendszerek sem csatlakoztatják ezt az állományrendszer.

options          PSEUDOFS          # pszeudo állományrendszerek támogatása

A 6.X verziójú rendszermagokban a PROCFS használatához engedélyeznünk kell a PSEUDOFS használatát is.

options          GEOM_GPT          # GUID típusú partíciós táblák használata

Ezzel a beállítással engedélyezni tudjuk nagy mennyiségű partíció támogatását egyetlen lemezen.

options          COMPAT_43         # kompatibilitás fenntartása a 4.3 BSD-vel [NE TÖRÖLD!]

Kompatibilitás a 4.3BSD-vel. Ne vegyük ki, mert bizonyos programok furcsán fognak viselkedni a hiánya esetén.

options          COMPAT_FREEBSD4   # kompatibilitás a FreeBSD4-el

Ez a beállítás szükséges a FreeBSD 5.X i386™ és Alpha rendszerein a FreeBSD korábbi verzióihoz fordított alkalmazások támogatásához, melyek régebbi rendszerhívásokat használnak. Az összes i386™ és Alpha típusú rendszeren ajánlott engedélyezni, mivel itt előfordulhatnak régebbi alkalmazások. A többi platform, mint például az ia64 vagy a SPARC64®, támogatása csak az 5.X verzióban jelent meg, ezért ott nincs szükség erre.

options          COMPAT_FREEBSD5   # kompatibilitás a FreeBSD5-el

Ezt a beállítást a FreeBSD 6.X és afeletti verziókban kell használni az olyan FreeBSD 5.X verziókra fordított alkalmazások futtatásának támogatásához, melyek a FreeBSD 5.X rendszerhívásait használják.

options          SCSI_DELAY=5000  # a SCSI eszközök keresése előtt késleltetés (ezredmásodpercben)

Ezzel a beállítással a rendszermag 5 másodpercig várakozni fog a SCSI eszközök keresése előtt. Ha kizárólag csak IDE típusú merevlemezeink vannak, nyugodtan kihagyhatjuk, máskülönben érdemes a rendszerindítás gyorsítása érdekében csökkenteni ezt az értéket. Természetesen, ha így teszünk és a FreeBSD nem tudja felismerni a SCSI eszközeinket, akkor növeljük meg valamennyivel.

options          KTRACE            # a ktrace(1) támogatása

Engedélyezi a rendszermagban futó rutinok nyomonkövetését, ami hasznos lehet a hibák keresése során.

options          SYSVSHM           # SYSV-szerű osztott memória

Ezzel a beállítással engedélyezni tudjuk a rendszerben a System V típusú osztott memória használatát. Leggyakrabban az X rendszer XSHM kiterjesztése használja, amelyen keresztül számos műveletigényes grafikus program működését fel lehet gyorsítani. Ha X-et használunk, mindenképpen szükségünk lehet erre.

options          SYSVMSG           # SYSV-szerű üzenetsorok

A System V üzenetek támogatása. Ez a beállítás csupán néhány száz byte-tal növeli a rendszermagot.

options          SYSVSEM           # SYSV-szerű szemaforok

A System V szemaforok támogatása. Nem túl gyakran alkalmazzák ezeket, de ez csak néhány száz byte-ot tesz hozzá a rendszermaghoz.

Megjegyzés:

A ipcs(1) parancs -p paraméterével ki tudjuk listáztatni azokat a futó programokat, amelyek ezen System V eszközöket használják.

options          _KPOSIX_PRIORITY_SCHEDULING # POSIX P1003_1B valósidejű kiterjesztések

A POSIX® 1993-as változatában megjelent valósidejű bővítések. A Portgyűjteményben megjelenő egyes alkalmazások használják ezeket (mint például a StarOffice).

options          KBD_INSTALL_CDEV  # CDEV bejegyzés létrehozása a /dev könyvtárban

Ez a beállítás kell ahhoz, hogy a /dev könyvtárban létre tudjunk hozni eszközleírókat a billentyűzethez.

options          ADAPTIVE_GIANT    # adaptív Giant mutexek

A Giant annak a kölcsönös kizárási mechanizmusnak (blokkolt mutexnek) a neve, amely a rendszermag erőforrásainak jelentős részét védi. Manapság ez már egy elfogadhatatlanul szűk keresztmetszetet képez a teljesítményben, ezért a fejlesztésben fokozatosan felváltják az egyes erőforrásokat külön-külön védő zárolások. Az ADAPTIVE_GIANT beállítás hatására a Giant a helyzethez igazodóan forgó (spin) mutexek közé kerül. Ez azt jelenti, hogy amikor egy szál zárolni akarja a Giant mutexet, de ezt már megtette előtte egy másik processzorról futó szál, a szál tovább fut és várakozni fog a zárolás feloldására. Normális esetben ugyanis egy szál továbbra is blokkolt állapotban marad, várakozva a futásra. Ha nem tudunk dönteni, hagyjuk változatlanul.

Megjegyzés:

Hozzátesszük, hogy a FreeBSD 8.0-CURRENT és későbbi változataiban az össszes mutex alapértelmezés szerint adaptív, hacsak meg nem adjuk a NO_ADAPTIVE_MUTEXES beállítást. Ennek eredményeképpen a Giant most már alapból adaptív, ezért esetükben az ADAPTIVE_GIANT nem szerepel a rendszermag beállításai között.

device          apic               # I/O APIC

Az apic nevű eszköz engedélyezésével használhatjuk a hardveres APIC-ot a megszakítások vezérlésére. Az apic alkalmazható egy- és többprocesszoros rendszerek esetén is egyaránt, de az SMP rendszermagoknál szükséges. Több processzor támogatásánál mindenképpen tegyük hozzá az options SMP beállítást is.

Megjegyzés:

Az apic eszköz csak az i386 architektúrán létezik, ezért a többi architektúrán nem szabad használnunk ezt a beállítást.

device          eisa

Abban az esetben engedélyezzük, ha EISA-s alaplapunk van, ezzel aktiváljuk az EISA buszra csatlakoztatott eszközök automatikus felismerését és beállíthatóságát.

device          pci

Tegyük hozzá a konfigurációs állományhoz, ha PCI-os alaplapuk van. Ezzel engedélyezhetjük a PCI kártyák automatikus felismerését és a PCI és ISA buszok közti átirányítást.

# Hajlékonylemezes meghajtók
device          fdc

Ez a hajlékonylemezes meghajtó vezérlője.

# ATA és ATAPI eszközök
device          ata

Ez az eszközmeghajtó felelős az összes ATA és ATAPI eszközért. A modern számítógépeken csak egyszer kell megadnunk a device ata sort a beállítások között az összes PCI-os ATA/ATAPI eszköz felismeréséhez.

device          atadisk                 # ATA lemezmeghajtók

Az ATA lemezmeghajtók támogatásához erre van még szükség a device ata mellett.

device          ataraid                 # ATA RAID-meghajtók

Az ATA RAID-meghajtók kezeléséhez erre a sorra van szükség a device ata mellett.


device          atapicd                 # ATAPI CD-meghajtók

Az ATAPI CD-meghajtók használatához ezt is tegyük a konfigurációba a device ata mellé.

device          atapifd                 # ATAPI floppy meghajtók

A device ata használata mellett erre van még szükségünk az ATAPI floppy meghajtók kezeléséhez.

device          atapist                 # ATAPI szalagos meghajtók

Az ATAPI szalagos egységek használatához ezt a sort is tegyük a konfigurációba a device ata mellé.

options         ATA_STATIC_ID           # statikus eszközszámozás

Ezzel a beállítással a vezérlők számozása állandó lesz. Nélküle az eszközszámok dinamikusan kerülnek kiosztásra.

# SCSI vezérlők
device          ahb        # EISA AHA1742 család
device          ahc        # AHA2940 és integrált AIC7xxx eszközök
options         AHC_REG_PRETTY_PRINT    # a hibák kereséséhez kiíratja a regiszterek
                                        # bitmezőit.  Kb. 128 KB-al növeli a méretét.
device          ahd        # AHA39320/29320 és integrált AIC79xx eszközök
options         AHD_REG_PRETTY_PRINT    # a hibák kereséséhez kiíratja a regiszterek
                                        # bitmezőit.  Kb. 215 KB-al növeli a méretét.
device          amd        # AMD 53C974 (Teckram DC-390(T))
device          isp        # Qlogic család
#device         ispfw      # a QLogic HBA firmware-e, többnyire modul
device          mpt        # LSI-Logic MPT-Fusion
#device         ncr        # NCR/Symbios Logic
device          sym        # NCR/Symbios Logic (újabb chipsetek, illetve az `ncr' típusúak)
device          trm        # Tekram DC395U/UW/F DC315U csatolók

device          adv        # Advansys SCSI-csatolók
device          adw        # Advansys wide SCSI-csatolók
device          aha        # Adaptec 154x SCSI-csatolók
device          aic        # Adaptec 15[012]x SCSI-csatolók, AIC-6[23]60.
device          bt         # Buslogic/Mylex MultiMaster SCSI-csatolók

device          ncv        # NCR 53C500
device          nsp        # Workbit Ninja SCSI-3
device          stg        # TMC 18C30/18C50

SCSI-vezérlők. Vegyük ki azokat, amelyekkel ténylegesen nem rendelkezünk. Ha csak IDE eszközeink vannak a rendszerünkben, az összeset eltávolíthatjuk. A _REG_PRETTY_PRINT végződésű sorok a megfelelő meghajtók hibakerési beállításait takarják.

# SCSI-perifériák
device          scbus      # SCSI-busz (kell a SCSI-hoz)
device          ch         # SCSI médiumváltók (media changer)
device          da         # közvetlen hozzáférés (lemezek)
device          sa         # soros hozzáférés (szalag stb.)
device          cd         # CD
device          pass       # áteresztő eszköz (közvetlen SCSI hozzáférés)
device          ses        # SCSI környezeti szolgáltatások (és SAF-TE)

SCSI-perifériák. Itt is érvényes, hogy kivehetjük azokat az eszközöket, amelyekkel nem rendelkezünk. De ha csak IDE hardvereink vannak, teljesen eltávolíthatjuk ezeket.

Megjegyzés:

Annak ellenére, hogy valójában nem igazi SCSI-eszközök, az USB-s umass(4) és még néhány más egyéb meghajtó is használja a SCSI alrendszert. Emiatt semmiképpen se távolítsuk el a SCSI támogatást a rendszerünkől abban az esetben, ha ilyen meghajtókat is használni szándékozunk.

# a SCSI alrendszerhez kapcsolódó RAID-vezérlők
device          amr        # AMI MegaRAID
device          arcmsr     # Areca SATA II RAID
device          asr        # DPT SmartRAID V, VI és Adaptec SCSI RAID
device          ciss       # Compaq Smart RAID 5*
device          dpt        # DPT Smartcache III, IV - lásd a NOTES állományt
device          hptmv      # Highpoint RocketRAID 182x
device          rr232x     # Highpoint RocketRAID 232x
device          iir        # Intel Integrated RAID
device          ips        # IBM (Adaptec) ServeRAID
device          mly        # Mylex AcceleRAID/eXtremeRAID
device          twa        # 3ware 9000 series PATA/SATA RAID

# RAID vezérlők
device          aac        # Adaptec FSA RAID
device          aacp       # SCSI áteresztő az aac-hez (kell hozzá a CAM)
device          ida        # Compaq Smart RAID
device          mfi        # LSI MegaRAID SAS
device          mlx        # Mylex DAC960 család
device          pst        # Promise Supertrak SX6000
device          twe        # 3ware ATA RAID

Az ismert RAID-vezérlők. Ha közülük egyikkel sem rendelkezünk, távolítsuk el ezeket a konfigurációból.

# az atkbdc0 vezérli a billentyűzetet és a PS/2-es egeret
device          atkbdc     # AT billentyűzet vezérlő

A billentyűzet vezérlője (atkbdc) az AT-s billentyűzet és a PS/2 stílusú pozícionáló eszközök vezérléséhez szükséges I/O szolgáltatásokat biztosítja. Erre a vezérlőre a billentyűzet meghajtójának (atkbd) és a PS/2 pozícionáló eszközök eszközmeghajtójának (psm) is szüksége van.

device          atkbd      # AT billentyűzet

Az atkbd meghajtó, a atkbdc vezérlővel együtt, adja a hozzáférést az AT billentyűzet vezérlőre csatlakoztatott AT 84 és a fejlettebb AT billentyűzetek felé.

device          psm        # PS/2 egér

Használjuk ezt az eszközt, ha az egerünk a PS/2 portra csatlakozik.

device          kbdmux        # billentyűzet multiplexer

A billentyűzet multiplexer alapszintű támogatása. Ha nem kívánunk a jövőben egynél több billentyűzetet csatlakoztatni a rendszerünkre, nyugodt szívvel kivehetjük ezt a sort.

device          vga        # VGA videokártya meghajtó

Videokártya meghajtó.

device          splash     # üdvözlőképernyők és képernyőkímélők támogatása

Nyissunk egy üdvözlőképernyővel! A képernyőkímélőknek is szükségük van erre az eszközre.

# a syscons az alapértelmezett konzolmeghajtó, hasonlít a SCO konzolra
device          sc

Az sc az alapértelmezett meghajtó a konzolok számára, és sokban hasonlít a SCO konzolra. Mivel a legtöbb teljesképernyős program a termcap termináladatbázis könyvtáron keresztül éri el a konzolt, nem igazán számít, hogy ezt vagy a VT220-kompatibilis vt konzolmeghajtót használjuk. Ha bármilyen gondunk lenne a teljesképernyős programok futtatásával ezen a konzolon, a bejelentkezéskor állítsuk a TERM környezeti változónkat a scoansi értékre.

# ezzel tudjuk engedélyezni a pcvt (VT220-kompatibilis) konzolmeghajtót
#device          vt
#options         XSERVER          # az X szerver támogatása vt konzolon
#options         FAT_CURSOR       # telt kurzor használata

Ez a VT220-kompatibilis konzolmeghajtó, amely visszafelé kompatibilis a VT100/102-vel is. Remekül működik olyan laptopokon, ahol a hardver nem használható az sc konzollal. Itt ugyanúgy érdemes egyébként a vt100 értékre vagy a vt220 értékre állítani a TERM környezeti változónkat. Hasznosnak bizonyulhat abban az esetben is, amikor hálózaton keresztül nagy mennyiségű és eltérő típusú számítógépekhez csatlakozunk, és ahol a termcap és terminfo adatbázisokban az sc bejegyzései gyakran nem is érhetőek el — a vt100 viszont virtuálisan az összes platformon elérhető.

device          agp

Írjuk bele a konfigurációba, ha van AGP kártya a rendszerünkben. Ezzel engedélyezzük az AGP és az AGP GART támogatását az ezeket ismerő kártyák számára.

# energiagazdálkodás támogatása (bővebben lásd: NOTES)
#device          apm

A fejlett energiagazdálkodás támogatása. Laptopok esetén hasznos, habár ez alapértelmezés szerint nincs engedélyezve a GENERIC konfigurációban.

# az i8254 készenléti módjának támogatása
device           pmtimer

Az energiagazdálkodási események, mint például APM és ACPI időzítőjének eszközmeghajtója.

# PCCARD (PCMCIA) támogatás
# PCMCIA és cardbus támogatás
device          cbb               # cardbus (yenta) bridge
device          pccard            # PC Card (16 bites) busz
device          cardbus           # CardBus (32 bites) busz

A PCMCIA támogatása. Mindenképpen szükségünk lesz rá, ha laptopunk van.

# soros (COM) portok
device          sio               # 8250, 16[45]50 alapú soros portok

Ezek azok a soros portok, amelyek az MS-DOS®/Windows® világban csak COM portokként ismernek.

Megjegyzés:

Ha van egy belső modemünk a COM4-en és egy soros portunk a COM2-n, a modem IRQ-ját meg kell változtatnunk 2-re (valamilyen homályos műszaki okból kifolyólag a COM2 = IRQ9), hogy hozzá tudjunk férni FreeBSD-ből. Ha többportos soros kártyánk lenne, lapozzuk fel a sio(4) man oldalát, és ott hozzá megtaláljuk a /boot/device.hints állományba írandó megfelelő értékeket. Egyes videokártyák (különösen az S3 chipekre épülők) az I/O címeket 0x*2e8 alakban használják, és mivel rengeteg olcsó soros kártya nem kódolja vissza egészében a 16 bites I/O címteret, ütközni fognak ezekkel a kártyákkal, és ezáltal a COM4 port gyakorlatilag elérhetetlenné válik.

Minden egyes soros portnak egyedi IRQ-ja kell legyen (hacsak nem használunk olyan többportos kártyát, amely támogatja a megosztott megszakításokat), ezért a COM3 és COM4 esetén alapértelmezett IRQ-k nem használhatóak.

# párhuzamos port
device          ppc

Ez az ISA busz párhuzamos portjának felülete.

device          ppbus      # a párhuzamos port busza (kell)

A párhuzamos porthoz tartozó busz támogatása.

device          lpt        # nyomtató

A párhuzamos portra csatlakozó nyomtatók támogatása.

Megjegyzés:

A fentiek közül mind a három szükséges a párhuzamos porton csatlakozó nyomtatók használatához.

device          plip       # TCP/IP párhuzamos porton keresztül

Ez a párhuzamos port hálózati felületének meghajtója.

device          ppi        # a párhuzamos port felületének eszköze

Általános célú (geek port) és IEEE1284 I/O.

#device         vpo        # az scbus és a da kell a használatához

Ez az Iomega Zip meghajtóihoz tartozó eszköz. A működéséhez szükség van az scbus és da engedélyezésére. A legjobb teljesítményt EPP 1.9 módban működő portokkal lehet kihozni belőle.

#device         puc

Tegyük bele a konfigurációba ezt az eszközt, ha egy olyan buta soros vagy párhuzamos PCI kártyánk van, amelyet a puc(4) segédmeghajtó ismer.

# PCI Ethernet kártyák
device          de         # DEC/Intel DC21x4x (Tulip)
device          em         # Intel PRO/1000 Gigabit Ethernet kártya
device          ixgb       # Intel PRO/10GbE Ethernet kártya
device          txp        # 3Com 3cR990 (Typhoon)
device          vx         # 3Com 3c590, 3c595 (Vortex)

Különféle PCI hálózati kártyák meghajtói. Vegyük ki azokat, amelyek nem találhatóak meg a rendszerünkben.

# PCI Ethernet kártyák, melyek az MII busz vezérlőkódját használják
# FIGYELEM: Ne töröljük ki a 'device miibus' sort, ha ilyen kártyánk van!
device          miibus     # az MII busz támogatása

Az MII busz engedélyezése elengedhetetlen bizonyos 10/100-as PCI Ethernet kártyák használatához, konkrétan azokéhoz, amelyek az MII-vel együttműködni képes adó-vevőt használnak vagy az MII-höz hasonló adó-vevő vezérlő felületet valósítanak meg. A device miibus hozzáadása a rendszermaghoz magával vonja az általános miibus API és az összes PHY meghajtó támogatását, beleértve azt az általános PHY eszközt is, amelyet az egyes eszközmeghajtók külön nem támogatnak.

device          bce        # Broadcom BCM5706/BCM5708 Gigabit Ethernet
device          bfe        # Broadcom BCM440x 10/100 Ethernet
device          bge        # Broadcom BCM570xx Gigabit Ethernet
device          dc         # DEC/Intel 21143 és egyéb hasonlóak
device          fxp        # Intel EtherExpress PRO/100B (82557, 82558)
device          lge        # Level 1 LXT1001 gigabit ethernet
device          msk        # Marvell/SysKonnect Yukon II Gigabit Ethernet
device          nge        # NatSemi DP83820 gigabit ethernet
device          nve        # nVidia nForce MCP integrált Ethernet hálózat
device          pcn        # AMD Am79C97x PCI 10/100 (az 'lnc' előtt)
device          re         # RealTek 8139C+/8169/8169S/8110S
device          rl         # RealTek 8129/8139
device          sf         # Adaptec AIC-6915 (Starfire)
device          sis        # Silicon Integrated Systems SiS 900/SiS 7016
device          sk         # SysKonnect SK-984x & SK-982x gigabit Ethernet
device          ste        # Sundance ST201 (D-Link DFE-550TX)
device          stge       # Sundance/Tamarack TC9021 gigabit Ethernet
device          ti         # Alteon Networks Tigon I/II gigabit Ethernet
device          tl         # Texas Instruments ThunderLAN
device          tx         # SMC EtherPower II (83c170 EPIC)
device          vge        # VIA VT612x gigabit ethernet
device          vr         # VIA Rhine, Rhine II
device          wb         # Winbond W89C840F
device          xl         # 3Com 3c90x (Boomerang, Cyclone)

Meghajtók, melyek az MII busz vezérlőkódját használják.

# ISA Ethernet és pccard hálózati kártyák.
device          cs         # Crystal Semiconductor CS89x0 NIC
# az 'device ed' eszközhöz kell a 'device miibus'
device          ed         # NE[12]000, SMC Ultra, 3c503, DS8390 cards
device          ex         # Intel EtherExpress Pro/10 és Pro/10+
device          ep         # Etherlink III alapú kártyák
device          fe         # Fujitsu MB8696x alapú kártyák
device          ie         # EtherExpress 8/16, 3C507, StarLAN 10 stb.
device          lnc        # NE2100, NE32-VL Lance Ethernet kártyák
device          sn         # az SMC 9000-res sorozatú Ethernet chipjei
device          xe         # Xircom pccard Ethernet

# ISA eszközök, melyek a régi ISA betétet használják
#device         le

ISA Ethernet meghajtók. A konkrétan támogatott kártyák teljes felsorolását lásd a /usr/src/sys/i386/conf/NOTES állományban.

# vezeték nélküli hálózati kártyák
device          wlan            # 802.11 támogatás

Általános 802.11 támogatás. Erre a sorra mindenképpen szükség van a vezeték nélküli hálózatok használatához.

device          wlan_wep        # 802.11 WEP támogatás
device          wlan_ccmp       # 802.11 CCMP támogatás
device          wlan_tkip       # 802.11 TKIP támogatás

A 802.11 eszközök esetén a titkosítás támogatása. Ezeket a sorokat akkor adjuk meg, ha titkosítást akarunk használni vagy a 802.11i biztonsági protokolljait.

device          an         # Aironet 4500/4800 802.11 vezeték nélküli hálózati kártyák
device          ath             # Atheros pci/cardbus hálózati kártyák
device          ath_hal         # Atheros HAL (Hardware Access Layer)
device          ath_rate_sample # küldési mintavételi vezérlés az ath-hoz
device          awi        # BayStack 660 és mások
device          ral        # Ralink Technology RT2500 vezeték nélküli hálózati kártyák
device          wi         # WaveLAN/Intersil/Symbol 802.11 vezeték nélküli hálózati kártyák
#device         wl         # régebbi, nem 802.11 Wavelan vezeték nélküli hálózati kártyák

A különböző vezeték nélküli kártyák támogatása.

# Pszeudo eszközök
device   loop          # hálózati loopback

Ez a TCP/IP általános loopback eszköze. Ha telnettel vagy FTP-vel rácsatlakozunk a localhost címére (vagyis a 127.0.0.1-re), akkor rajta keresztül saját magunkhoz jutunk vissza. Ennek a megléte kötelező!

device   random        # álvéletlenszám eszköz

Kriptográfiai szempontból biztonságos álvéletlenszám generátor.

device   ether         # Ethernet támogatás

Az ether eszközre csak abban az esetben van szükség, ha Ethernet kártyánk van. Ez magában foglalja az általános Ethernet protokoll kódját.

device   sl            # belső SLIP

Az sl a SLIP használatát engedélyezi. Ez egy régi protokoll, amelyet azóta már szinte teljesen kiszorított a PPP, mivel azt könnyebb beállítani és sokkal jobban is illik a modem-modem kapcsolatokhoz, illetve sokkal erőteljesebb.

device   ppp           # belső PPP

Ez a tárcsázós kapcsolatok rendszermagon belüli PPP támogatását adja meg. Van a PPP-nek egy külső, a felhasználói programként megvalósított változata is, amely a tun eszközt használja és sokkal nagyobb rugalmasságot kínál fel, illetve olyan lehetőségeket, mint például az igény szerinti tárcsázás.

device   tun           # csomag alagút

Ezt a felhasználói PPP szoftver használja. A könyv PPP-ről szóló részében többet is megtudhatunk róla.


device   pty           # Pszeudo terminálok (telnet stb.)

Ezek a pszeudo terminálok, vagy más néven szimulált bejelentkezési portok. A bejövő telnet és rlogin munkamenetek használják, valamint az xterm és a hozzá hasonló alkalmazások, mint például az Emacs.

device   md            # memórialemezek

A memóriában levő pszeudo lemezes meghajtók.

device   gif           # IPv6 és IPv4 tunnelek használata

Megvalósítja az IPv6 IPv4 feletti, az IPv4 IPv6 feletti, az IPv4 IPv4 feletti és az IPv6 IPv6 feletti közvetítését. A gif eszköz magától másolódik, vagyis szükség szerint hozza létre a megfelelő eszközleírókat.

device   faith         # IPv6-IPv4 közti továbbítás (fordítás)

Ez a pszeudo eszköz elfogja a hozzá küldött csomagokat és átadja ezeket az IPv4/IPv6 fordítással foglalkozó démonnak.

# a `bpf' eszköz használatával a Berkeley csomagszűrőt (Berkeley Packet Filter) engedélyezzük
# Legyünk rá tekintettel, hogy ennek komoly következményei lehetnek
# rendszeradminisztrációs szempontból!
# A 'bpf'-re szükség van a DHCP-hez.
device   bpf           # Berkeley csomagszűrő

A Berkeley csomagszűrője. Ez egy olyan pszeudo eszköz, amely lehetővé teszi, hogy a hálózati csatolók forgalmát megfigyeljük, mivel a (pl. Ethernet) hálózatunkon minden csomagot elkap. Ezek a csomagok lemezre is menthetőek vagy kielemezhetőek a tcpdump(1) program segítségével.

Megjegyzés:

A bpf(4) eszközt a dhclient(8) is használja többek közt az alapértelmezett átjáró IP-címének megszerzéséhez. Ha DHCP-t akarunk használni, hagyjuk így.

# USB támogatás
device          uhci          # UHCI PCI->USB felület
device          ohci          # OHCI PCI->USB felület
device          ehci          # EHCI PCI->USB felület (USB 2.0)
device          usb           # USB busz (kell)
#device         udbp          # USB Double Bulk Pipe eszközök
device          ugen          # általános
device          uhid          # Human Interface Devices
device          ukbd          # billentyűzet
device          ulpt          # nyomtató
device          umass         # lemez/háttértároló - kell hozzá az scbus és a da
device          ums           # egér
device          ural          # Ralink Technology RT2500USB vezeték nélküli hálózati kártyák
device          urio          # Diamond Rio 500 MP3 lejátszó
device          uscanner      # lapolvasók
# USB Ethernet, kell hozzá az mii
device          aue           # ADMtek USB Ethernet
device          axe           # ASIX Electronics USB Ethernet
device          cdce          # általános USB, Etherneten keresztül
device          cue           # CATC USB Ethernet
device          kue           # Kawasaki LSI USB Ethernet
device          rue           # RealTek RTL8150 USB Ethernet

A különféle USB eszközök támogatása.

# FireWire támogatás
device          firewire      # FireWire buszkód
device          sbp           # SCSI FireWire-ön keresztül (kell hozzá az scbus és a da)
device          fwe           # Ethernet FireWire-ön keresztül (nem szabványos!)

A különféle Firewire eszközök támogatása.

A FreeBSD által ismert további eszközökről a /usr/src/sys/i386/conf/NOTES állományból tájékozódhatunk.

8.6.1. Sok memória kezelése (PAE)

A sok memóriával rendelkező számítógépek esetén szükség lehet a felhasználói és rendszerszintű virtuális címek (Kernel Virtual Address, KVA) 4 gigabyte feletti használatára. Ennek a korlátozásnak a kiküszöbölésére az Intel® külön támogatást épített be a Pentium® Pro és az azt követő processzorok 36 bites fizikai címzésének kialakításához.

A Fizikai Címkiterjesztés (Physical Address Extension, PAE) az Intel® Pentium® Pro és későbbi processzoraiban található meg, és lehetővé teszi egészen 64 gigabyte-ig a memóriahasználatot. A FreeBSD is támogatja ezt a tulajdonságot a PAE rendszermag beállítás használatával, és megtalálható a FreeBSD összes jelenlegi verziójában. Az Intel® architektúrájú processzorok memóriaszervezésének korlátai miatt nem különböztethető meg a 4 gigabyte alatti és feletti memória. A 4 gigabyte felett található memóriaterületek egyszerűen hozzáadódnak a rendelkezésre álló memóriához.

A rendszermagban a PAE támogatását egyszerűen az alábbi sor hozzáadásával tudjuk engedélyezni:

options          PAE

Megjegyzés:

A FreeBSD-ben a PAE támogatása csak az Intel® IA-32 architektúrájú processzoraihoz érhető el. Emellett meg kell említenünk, hogy a FreeBSD-ben található PAE támogatás nem lett szélesebb körben próbára téve, ezért a FreeBSD többi megbízható elemeihez képest csak béta állapotúnak tekinthető.

A FreeBSD PAE támogatásának van néhány hiányossága:

  • Egy futó program a virtuális memóriában nem képes 4 gigabyte-nál többet elérni.

  • A bus_dma(9) felületet nem használó eszközmeghajtók adathibákat okozhatnak a PAE-t támogató rendszermagokban, és emiatt nem ajánljuk a használatukat. Ebből a megfontolásból készítettünk egy PAE nevű konfigurációs állományt a FreeBSD-hez, amelyben nem szerepel egyetlen olyan meghajtó sem, amely ismereteink szerint nem működik együtt a PAE-t támogató rendszermagokkal.

  • Bizonyos finomhangolási beállítások a memóriahasználatot a rendelkezésre álló fizikai memória mennyiségéből számítják ki. A PAE támogatással működő rendszerek esetében megjelenő sok memória miatt azonban az ilyen eszközök szükségtelenül több területet foglalhatnak le. Erre példa lehet a kern.maxvnodes sysctl változó, amely a rendszermag által maximálisan felhasználható virtuális csomópontok számát korlátozza. Ajánlott tehát az ilyen és ehhez hasonló beállítások értelmes értékre történő visszaállítása.

  • Szükséges lehet a rendszermag virtuális címterének (KVA) növelése vagy a rendszermag által túlságosan nagy méretűre foglalt címterű különféle erőforrások (lásd fentebb) csökkentése a KVA kifogyásának elkerülésére. A KVA területének növelését a KVA_PAGES beállításával tehetjük meg.

Ha gondjaink lennének a teljesítménnyel vagy a megbízhatósággal, keressük fel a tuning(7) man oldalt. A pae(4) man oldalon pedig a FreeBSD PAE támogatásáról találhatunk naprakész információkat.

8.7. Ha valamilyen hiba történne

Négyféle probléma jelentkezhet egy saját rendszermag készítése során. Ezek:

A config hibát jelez:

Amikor a config(8) parancs hibát jelez vissza a rendszermagunk konfigurációs beállításainak feldolgozása során, akkor minden bizonnyal csak egy apró hibát vétettünk valahol. Szerencsére a config(8) kiírja a hibás sor számát, ezért gyorsan fel tudjuk kutatni a hibát tartalmazó sort. Például, ha ezt látjuk:

config: line 17: syntax error

Akkor győződjünk meg róla, hogy helyesen írtuk be az adott sorban szereplő kulcsszót. Ebben segítségünkre lehet, ha összevetjük a GENERIC konfigurációs állománnyal vagy más hivatkozásokkal.

A make hibát jelez:

Ha a make jelez hibát, az általában arra utal, hogy az általunk korábban megadott rendszermag konfigurációs állományt a config(8) nem értette meg rendesen. Megint azt tudjuk csak javasolni, hogy nézzük át a konfigurációs beállításainkat, és ha ezután sem sikerül megoldani a problémát, akkor mellékeljük egy levélben a rendszermagunk konfigurációs beállításait és küldjük el a FreeBSD general questions levelezési lista címére, ahol a hozzáértők gyorsan átnézik.

A rendszermag nem indul:

Ha az új rendszermagunk nem indul vagy nem képes felismerni az eszközeinket, ne essünk kétségbe! Szerencsére a FreeBSD tökéletes megoldással tud szolgálni az összeférhetetlen rendszermagok esetére: a FreeBSD rendszerbetöltőjében egyszerűen válasszuk ki az indítandó rendszermagot. Ezt akkor tudjuk előhívni, amikor a rendszerindító menü megjelenik. Válasszuk ki a hatos, vagyis az Escape to a loader prompt (a betöltő parancssorának előhívása) menüpontot. Mikor megjelenik a parancssor, írjuk be, hogy unload kernel, majd adjuk ki a boot /boot/kernel.old/kernel, parancsot, amiben bármilyen más olyan rendszermagot is megnevezhetünk, ami korábban már működött. Ezért amikor beállítunk egy új rendszermagot, mindig érdemes a kezünk ügyében tartani legalább egy olyan rendszermagot, amely működik.

Miután sikerült elindítanunk az egyik használható rendszermagot, nézzük át még egyszer a konfigurációs állományt és próbáljuk újra lefordítani a rendszermagot. A probléma megoldását segítheti a /var/log/messages állomány áttanulmányozása is, ami többek közt rögzíti a rendszermag sikeres indulása során keletkező üzeneteket. Ezenkívül a dmesg(8) parancs is meg tudja jeleníteni az aktuális rendszerindítás üzeneteit.

Megjegyzés:

Ha gondok merülnének fel a rendszermag elkészítése során, mindenképpen tartsuk meg a GENERIC, vagy bármilyen másik olyan rendszermagot, amelyről tudjuk, hogy működik. Nevezzük át, így nem fog felülíródni a következő fordítás és telepítés során. A kernel.old állományra ugyanis nem minden esetben számíthatunk, mivel az új rendszermagok telepítésénél a kernel.old mindig felülíródik a legutóbb telepített rendszermaggal, amely azonban nem feltétlenül lesz működőképes. Sőt, amint csak lehetséges, rakjuk a működő rendszermagot a /boot/kernel könyvtárba vagy különben a ps(1) és a hozzá hasonló parancsok nem fognak rendesen működni. Mindezek elvégzéséhez egyszerűen nevezzük át a jó rendszermagot tartalmazó könyvtárt:

# mv /boot/kernel /boot/kernel.rossz
# mv /boot/kernel.jó /boot/kernel
A rendszermag működik, a ps(1) viszont nem:

Ha olyan rendszermagot telepítettünk, aminek a verziója nem egyezik meg a hozzá tartozó segédprogramokéval, tehát például -CURRENT rendszermagot raktunk egy -RELEASE rendszerhez, egyes rendszerállapotjelző parancsok, mint például a ps(1) vagy a vmstat(8) nem fognak működni. Ebben az esetben az egész rendszert újra kell fordítanunk és telepítenünk a rendszermagunkkal megegyező verziójú forrásból. Részben ezért sem különösen ajánlott, hogy az operációs rendszer többi részétől eltérő verziójú rendszermagot használjunk.

9. fejezet - Nyomtatás

Írta: Kelly, Sean.
Átdolgozta és frissítette: Mock, Jim.

9.1. Áttekintés

A FreeBSD a nyomtatók széles skálájával képes együttműködni, a legrégebbi vegyszeres nyomtatótól kezdve egészen napjaink lézernyomtatójáig, aminek köszönhetően alkalmazásainkkal nagyon jó minőségű nyomtatásokat tudunk készíteni.

A FreeBSD a helyi hálózaton nyomtatószervernek is beállítható. Ekkor a vele közös hálózatra csatlakozó többi, FreeBSD, Windows® vagy Mac OS® rendszerű számítógéptől képes nyomtatási kéréseket elfogadni. A FreeBSD gondoskodik róla, hogy egyszerre csak egy nyomtatás készüljön el, számon tartja, hogy mely felhasználók és számítógépek nyomtatnak a legtöbbet, és minden feladathoz munkalapot (banner page) készít, amiben többek közt megtalálhatjuk, hogy kihez tartozik.

A fejezet elolvasása során megismerjük:

  • hogyan állítsuk be a FreeBSD nyomtatási sorát;

  • hogyan telepítsünk nyomtatási szűrőket, hogyan kezeljünk különböző speciális nyomtatási feladatokat, tehát például miként alakítsuk át a beérkező dokumentumokat olyan nyomtatási formátumra, amelyet a nyomtatónk is megért;

  • hogyan engedélyezzük a fejléc- vagy nyomtatási információk kinyomtatását;

  • hogyan nyomtassunk más számítógépekhez csatlakoztatott nyomtatókkal;

  • hogyan nyomtassunk a hálózatra közvetlenül kapcsolt nyomtatókkal;

  • hogyan állítsuk be a nyomtatási korlátozásokat, például a nyomtatási feladatok méretét, amivel egyes felhasználók nyomtatását visszafoghatjuk;

  • hogyan készítsünk nyomtatási kimutatásokat és nyilvántartást a nyomtató használatáról;

  • hogyan keressük meg a nyomtatás során felmerülő problémák okait.

A fejezet elolvasásához ajánlott:

9.2. Bevezetés

A FreeBSD-ben a nyomtatók működéséhez be kell állítani az LPD nyomtatási rendszert. Ez a Berkeley sornyomtatási rendszere, amelyet ezentúl röviden csak LPD-nek fogunk hívni. Ez a FreeBSD alapértelmezett szabványos nyomtatásvezérlő rendszere. Ebben a fejezetben az LPD és annak konfigurációja kerül bemutatásra.

Ha már találkoztunk az LPD-vel vagy hozzá hasonló rendszerekkel, akkor innen nyugodtan ugorhatunk a Kezdeti beállítások című szakaszra.

Az LPD vezérli a számítógéphez csatlakoztatott nyomtató összes funkcióját. Számos feladata van:

  • Felügyeli a lokálisan és hálózaton keresztül csatlakoztatott nyomtatók hozzáféréseit.

  • Lehetővé teszi az átküldött állományok kinyomtatását, amelyeket nyomtatási feladatoknak nevezünk.

  • Minden nyomtatóhoz fenntart egy nyomtatási sort, amivel meg tudja akadályozni, hogy egyszerre több felhasználó is hozzá tudjon férni az egyes nyomtatókhoz.

  • A fejléceket (vagy más néven munka- vagy elválasztó lapokat) nyomtat, így a felhasználók könnyen megtalálják a saját nyomtatásaikat a többi közt.

  • Felügyeli a soros portokon csatlakozó nyomtatók kommunikációs beállításait.

  • A hálózaton keresztül átküldi a nyomtatási feladatokat egy másik számítógép LPD sorába.

  • A nyomtatási feladatok formázásához lefuttatja az adott nyomtató nyelvéhez és képességeihez illeszkedő speciális szűrőket.

  • Nyilvántartja a nyomtató kihasználtságát.

A beállításait tartalmazó állomány (/etc/printcap) és a speciális szűrőprogramok segítségével az LPD sokféle nyomtatón képes az összes említett feladatot vagy annak egy részét megvalósítani.

9.2.1. Amiért nyomtatási sort érdemes használni

Amikor csak egyedül vagyunk a rendszerben, felmerülhet bennünk a kérdés, hogy minek is kellene nekünk vesződni a nyomtatási sor beállításával, hiszen nincs szükségünk sem a hozzáférések vezérlésére, sem fejlécekre, sem pedig nyilvántartásra. Noha akár közvetlenül is el tudjuk érni a nyomtatót, néhány okból azért mégis érdemes nyomtatási sort használni:

  • Az LPD a háttérben nyomtat, ezért ilyenkor nem kell megvárni, amíg az adat átmásolódik a nyomtatóra.

  • Az LPD tetszőlegesen tudja alakítani a nyomtatási feladatokat: hozzájuk tud tenni különböző adatokat (dátum és idő), vagy a speciális állományokat (például a TeX DVI formátumát) képes megértetni a nyomtatóval, és nem nekünk kell mindezeket a lépéseket elvégeznünk.

  • Számos nyomtatási lehetőséggel rendelkező szabad és kereskedelmi program arra számít, hogy a rendszerünkben nyomtatási sor található, ezért annak beállításával sokkal könnyebb használni ezeket a szoftvereket.

9.3. Kezdeti beállítások

Úgy tudjuk használni a nyomtatókat az LPD nyomtatási rendszerével, ha egyaránt beállítjuk a nyomtatót és magát az LPD-t is. Itt a beállítás két szintjét tárgyaljuk:

  • Az Alacsonyszintű nyomtatóbeállítás című szakaszból megtudhatjuk, hogyan tudunk csatlakoztatni egy nyomtatót, hogyan adjuk meg az LPD-nek, miként kommunikáljon vele, hogyan nyomtassunk ki egyszerű szöveges állományokat a nyomtatón.

  • A Magasszintű nyomtatóbeállítás szakaszban bemutatjuk, hogyan nyomtassunk ki különféle speciális állományokat, hogyan készíttessünk fejléceket, hogyan nyomtassunk hálózaton keresztül, hogyan vezéreljük a nyomtatók hozzáférését és hogyan tartsuk nyilván a nyomtató használatát.

9.3.1. Alacsonyszintű nyomtatóbeállítás

Ebben a szakaszban láthatjuk, miképpen kell beállítani a nyomtatónkat és az LPD hogyan lesz képes azt használatba venni. Az alapoktól kezdünk:

  • A Hardveres beállítás című szakaszban abban kapunk segítséget, hogyan kell a nyomtatót a számítógéphez csatlakoztatni.

  • A Szoftveres beállítás című szakaszban az LPD nyomtatási rendszer beállítását tartalmazó állományt (/etc/printcap) vesszük sorra.

Amennyiben olyan nyomtatót akarunk beállítani, amely nem helyileg, hanem valamilyen hálózati protokollon keresztül csatlakozik, nézzük meg a Nyomtatók hálózati adatcsatlakozással című szakaszt.

Habár ez a szakasz nevében csupán Alacsonyszintű nyomtatóbeállításról szól, meglehetősen szerteágazó tud lenni. A nyomtató hardveres és szoftveres életre keltése az egyik legnehezebb feladat. Ha van egy működő nyomtatónk, a fejlécek és a nyilvántartás beállítása tulajdonképpen már gyerekjáték.

9.3.1.1. Hardveres beállítás

Ebben a szakaszban a nyomtatók csatlakoztatásának lehetséges módozatairól esik szó. Beszélni fogunk mindenféle portokról és kábelekről, és a FreeBSD rendszermagjának az egyes nyomtatók használatához szükséges beállításairól is.

Ha korábban tudtuk csatlakoztatni a nyomtatónkat, és más operációs rendszerekkel már sikeresen nyomtattunk is vele, akkor rögtön ugorhatunk is a Szoftveres beállításokat tartalmazó szakaszra.

9.3.1.1.1. Portok és kábelek

A személyi számítógépekhez kapható nyomtatók általában a következő három csatolófelület egyikével rendelkeznek:

  • A soros, más néven RS-232-es vagy COM porton keresztül kommunikáló felületek a számítógép soros portján küldenek adatot a nyomtatónak. A soros csatolófelületek igen elterjedtek a számítógépiparban, könnyen tudunk ilyen kábelt szerezni, gyorsan is gyártható. Előfordulhat, hogy a soros csatolófelületek használatához valamilyen különleges kábelre, valamint bonyolult kommunikációs beállítások megadására van szükség. A legtöbb soros port által elérhető legnagyobb adatátviteli sebesség másodpercenként 115 200 bit, ami miatt azonban a komolyabb grafikai tartalmak nyomtatása szinte lehetetlen.

  • A párhuzamos csatolófelületek a számítógépünk párhuzamos portjával küldenek adatokat a nyomtatónak. A párhuzamos felületek gyorsabbak az RS-232 soros felületnél, és a számítógéppiacon is gyakran megtalálhatóak. Könnyen tudunk ilyen kábelt szerezni, azonban kézileg nehezebb elkészíteni. A párhuzamos csatolófelületekhez általában nem tartoznak kommunikációs beállítások, ezért rendkívül egyszerűen el lehet boldogulni velük.

    A párhuzamos felületekre olykor Centronics csatolófelületként is hivatkoznak, amelyet egy nyomtatótípus után neveztek el.

  • A Universal Serial Bus (Univerzális soros busz) rövidítéseként használt USB elnevezésű csatolófelület a párhuzamos és a soros felületeknél jóval nagyobb sebességre képes. A hozzá tartozó kábelek felépítése egyszerű és az áruk olcsó. Habár a nyomtatás terén az USB hivatott leváltani az RS-232-es soros és a párhuzamos felületeket, nem mindegyik UNIX® rendszer támogatja kellőképpen. Ezt a problémát például úgy kerülhetjük el, ha olyan nyomtatót vásárolunk, amelyen a legtöbbhöz hasonlóan a párhuzamos és az USB csatlakozás is megtalálható.

A párhuzamos felületeken általában csak egy irányban tudunk üzeneteket küldeni (a számítógéptől a nyomtatóhoz), miközben az USB és a soros felület használatával mind a két irányban is. FreeBSD alatt viszont már az újabb (EPP és ECP) párhuzamos portok egy IEEE 1284 szabványú kábellel képesek oda-vissza kommunikálni.

A párhuzamos nyomtatók kétirányú kommunikációját általában két mód közül az egyiken szokták megvalósítani. Az első esetben a FreeBSD a nyomtatóhoz egy speciális meghajtót használ, amely ismeri az általa beszélt nyelvet. Ilyenek a tintasugaras nyomtatók, amelyek más egyéb állapotinformációk mellett ezen keresztül képesek jelezni a tintapatronokban levő tinta mennyiségét. A második esetben a nyomtató ismeri a PostScript® nyelvet.

A PostScript® nyelvű nyomtatási feladatok valójában a nyomtatónak küldött programok. Használatukhoz még papírra sincs feltétlenül szükség, és előfordulhat, hogy közvetlenül a számítógépnek válaszolnak. A PostScript® is kétirányú kommunikáción keresztül értesíti a számítógépet az olyan gondokról, mint például a PostScript® programokban levő hibák vagy a papír beakadása, amely információnak a felhasználók szoktak örülni. Hovatovább ez a kétirányú kommunikáció a kulcsa a PostScript® nyomtatók hatékony nyilvántartásának is: egyszerűen lekérdezzük a nyomtatótól a lapszámlálót (ami megadja, hogy a nyomtató eddig mennyi lapot nyomtatott ki), kiküldjük a felhasználóhoz tartozó feladatot és ismét lekérdezzük a lapszámlálót. A két érték kivonásából tájékozódhatunk a felhasználó által igényelt lapok mennyiségéről.

9.3.1.1.2. Párhuzamos portok

A párhuzamos csatolófelületen érintkező nyomtató használatához kapcsoljunk össze számítógépünket és nyomtatónkat egy párhuzamos kábellel. Az erre vonatkozó konkrét utasítások a nyomtató és/vagy a számítógép kézikönyvében olvashatóak.

Jegyezzük meg, hogy a számítógép melyik párhuzamos portjára csatlakoztattuk a kábelt. FreeBSD alatt az első ilyen port a ppc0 eszköz, a második pedig a ppc1 eszköz lesz és így tovább. A nyomtatóeszköz elnevezése ugyanezt a sémát követi: a /dev/lpt0 lesz az első párhuzamos porton levő nyomtató stb.

9.3.1.1.3. Soros portok

A soros csatolófelületet használó nyomtatók beüzemeléséhez először egy soros kábel segítségével kapcsoljuk össze a számítógépünkkel. Ennek pontos részleteit a nyomtató és/vagy a számítógépünk kézikönyvében találhatjuk meg.

Ha nem vagyunk benne biztosak, hogy milyen a megfelelő soros kábel, próbáljunk az alábbiak alapján dönteni:

  • A modem kábele a két oldalán levő, egymásnak megfelelő tüskéket közvetlenül összeköti. Ezt a típust nevezik DTE-DCE kábelnek.

  • A null-modem kábel bizonyos érintkezőket rendesen, másokat pedig fordítva köt össze (például a küldőt a fogadóval), illetve némelyeket rövidre zár közvetlenül a csatlakozón belül. Ez a típus a DTE-DTE kábel.

  • Néhány speciális nyomtató esetén előfordul még a soros nyomtatókábel, amely leginkább a null-modem kábelekhez hasonlít, azonban az ott rövidre zárt csatornák itt a nekik megfelelő érintkezőknek továbbítanak jeleket.

Emellett még a nyomtató előlapján vagy az alján található kapcsolók segítségével be kell állítanunk a nyomtatóhoz tartozó kommunikációs paramétereket is. Itt válasszuk azt a bps (a bitek száma másodpercenként) értéket, amelyet még a számítógépünk és a nyomtatónk is egyaránt képes támogatni. Válasszunk 7 vagy 8 adatbitet, páros, páratlan vagy kikapcsolt paritásbitet és 1 vagy 2 stopbitet. Ekkor tudjuk megadni a forgalomirányítási protokollt is: lehet kikapcsolt, XON/XOFF (ez az ún. sávon belüli vagy szoftveres) forgalomirányítás. Ne felejtsük el ezeket a beállításokat a most következő szoftveres beállítások elvégzése során sem.

9.3.1.2. Szoftveres beállítás

Ebben a fejezetben tárgyaljuk a FreeBSD-ben található LPD nyomtatási rendszer működéséhez és a nyomtatáshoz szükséges szoftveres beállításokat.

Íme az elvégzendő lépések rövid vázlata:

  1. Amennyiben szükséges, állítsuk be a rendszermagunkat a nyomtató által használt portra. Ehhez A rendszermag beállítása szakaszban olvashatjuk el, mit is kell pontosan tenni.

  2. Ha párhuzamos portot használunk, akkor állítsuk be, hogy a párhuzamos port miként fog kommunikálni. A párhuzamos port kommunikációs módjának beállítása című szakasz tárja fel ennek részleteit.

  3. Próbáljuk ki, hogy ezek után az operációs rendszer képes-e adatot küldeni a nyomtatónak. A nyomtató kommunikációjának ellenőrzése szakaszban kapunk erre pár javaslatot.

  4. Az /etc/printcap állomány felhasználásával állítsuk be a nyomtatónkhoz az LPD-t. Erről a fejezet további részei adnak majd felvilágosítást.

9.3.1.2.1. A rendszermag beállítása

Az operációs rendszer magja eszközök egy adott csoportjával képes együttműködni, amelyben a soros és párhuzamos felületen csatlakozó nyomtatók is megtalálhatóak. Azonban ha a rendszermag nem ismeri fel még valamelyiket, akkor a soros vagy párhuzamos portok használatához külön támogatásra van szükség.

Így tudjuk megnézni, hogy a jelenleg használt rendszermag támogatja-e a soros csatolófelületet:

# grep sioN /var/run/dmesg.boot

Itt az N nullától kezdődően adja meg a soros port sorszámát. Amennyiben látunk valami ilyesmit:

sio2 at port 0x3e8-0x3ef irq 5 on isa
sio2: type 16550A

Ez azt jelenti, hogy a rendszermag sikeresen észlelte a portot.

A párhuzamos csatolófelület támogatásáról így győződhetünk meg:

# grep ppcN /var/run/dmesg.boot

Itt az N nullától kezdődően sorszámozza a párhuzamos portot. Ha eredményül valami hasonlót kapunk:

ppc0: <Parallel port> at port 0x378-0x37f irq 7 on isa0
ppc0: SMC-like chipset (ECP/EPP/PS2/NIBBLE) in COMPATIBLE mode
ppc0: FIFO with 16/16/8 bytes threshold

Ez arra utal, hogy a rendszermagunk tud a portról.

Előfordulhat azonban, hogy az operációs rendszer csak akkor fogja észrevenni a nyomtatásra használt soros vagy párhuzamos portot, ha átállítjuk a rendszermagunkat.

A soros port támogatásának beállításához olvassuk el a rendszermag beállításáról szóló szakaszt. A párhuzamos port támogatásához szintén olvassuk el ugyanazt a szakaszt és a most következőt.

9.3.1.3. A párhuzamos port kommunikációs módjának beállítása

A párhuzamos csatolófelület használata esetén választhatunk, hogy a FreeBSD milyen módon tartsa a kapcsolatot a nyomtatóval: megszakításokkal vezérelje (interrupt-driven), vagy esetleg folyamatosan kérdezgesse (polled). A FreeBSD általános meghajtója (lpt(4)) a ppbus(4) alrendszert használja, ami a portot a ppc(4) meghajtón keresztül vezérli.

  • A megszakítás alapú módszer a GENERIC rendszermagban alapértelmezés. Ilyenkor az operációs rendszer egy megszakításkérés felhasználásával értesül arról, hogy a nyomtató mikor áll készen adatok fogadására.

  • A lekérdezéses módszer használata során az operációs rendszer folyamatosan érdeklődik a nyomtató rendelkezésre állásáról. Amikor erre pozitív megerősítést kap, akkor a rendszermag újabb adatokat küld.

A megszakításos módszer valamivel gyorsabb, azonban cserébe lefoglal egy értékes IRQ vonalat. A HP újabb nyomtatói állítólag nem működnek megfelelően ilyen módban, valamilyen (pillanatnyilag még nem teljesen tisztázott) időzítési probléma miatt. Ezért az ilyen nyomtatóknak is valószínűleg a lekérdezéses módszert kell használniuk. Más nyomtatók pedig, habár működnek mind a két módszerrel, hihetetlenül lassúak a megszakításokkal.

Kétféleképpen állíthatjuk be a kommunikációs módot: a rendszermagon keresztül, vagy az lptcontrol(8) segédprogrammal.

A rendszermagban így állíthatjuk be a kommunikációt:

  1. Írjuk át a rendszermag beállításait tartalmazó állományt. Keressük meg benne a használt párhuzamos portnak megfelelően a ppc0, ppc1 (második párhuzamos port) vagy ppc2 (harmadik párhuzamos port) bejegyzést, és engedélyezzük.

    • A megszakításos mód használatához nyissuk meg a /boot/device.hints állományt, és az N helyére írjuk be a

      hint.ppc.0.irq="N"

      sorba a megfelelő IRQ számát. A rendszermag beállításait tartalmazó állománynak tartalmaznia kell a ppc(4) meghajtót is:

      device ppc
    • A lekérdezéses mód használatához a /boot/device.hints állományból távolítsuk el a következő sort:

      hint.ppc.0.irq="N"

      Némely esetben azonban ennyi még nem lesz elég a port lekérdezéses beállításához. Ugyanis ha a hozzá tartozó meghajtó az acpi(4), akkor ez fogja felismerni, kezelni és a nyomtatóhoz tartozó portok hozzáférési módját vezérelni. A problémát ezért gyakran érdemes az acpi(4) beállításai között is keresni.

  2. Mentsük el az állományt. Konfiguráljuk be, fordítsuk le és telepítsük az új rendszermagot. Ennek pontos részleteit a rendszermag beállításáról szóló fejezetben olvashatjuk.

A kommunikáció módjának beállítása az lptcontrol(8) programmal:

  1. A megszakításos mód beállításához írjuk be:

    # lptcontrol -i -d /dev/lptN

    ahol az lptN a nyomtatóhoz tartozó eszköz neve.

  2. A lekérdezéses mód beállításához írjuk be:

    # lptcontrol -p -d /dev/lptN

    ahol az lptN a nyomtatóhoz tartozó eszköz neve.

Ha ezeket a parancsokat berakjuk az /etc/rc.local állományunkba, akkor azzal a rendszer minden egyes indítása során beállítjuk a számunkra megfelelő módot. Erről többet az lptcontrol(8) man oldaláról tudhatunk meg.

9.3.1.4. A kommunikáció ellenőrzése

Még mielőtt nekilátnánk a nyomtatási rendszer beállításának, bizonyosodjuk meg róla, hogy az operációs rendszer képes adatokat továbbítani a nyomtatónak. Sokkal könnyebb egymástól függetlenül megvizsgálni a kommunikáció és a nyomtatási rendszer működését.

A nyomtatót úgy tudjuk kipróbálni, ha küldünk neki valamilyen szöveget. Az lptest(1) tökéletesen megfelelő akkor, ha olyan nyomtatónk van, amely azonnal kinyomtatja a kapott szöveget. Ez a program 96 sorban létrehozza mind a 96 kinyomtatható ASCII karaktert.

A PostScript® (vagy más egyéb nyelvet ismerő) nyomtatóknak azonban ennél kifinomultabb próbára van szüksége. Erre a célra tökéletesen megfelel egy olyan kisebb PostScript® programocska, mint például ez:

%!PS
100 100 moveto 300 300 lineto stroke
310 310 moveto /Helvetica findfont 12 scalefont setfont
(Remek! Ez mukodik!) show
showpage

Ezt a PostScript® kódot nyugodtan elmenthetjük egy állományba, amelyet aztán a későbbi szakaszokban megjelenő példák szerint használni is tudunk majd.

Megjegyzés:

A kézikönyvben a nyomtató nyelve alatt leginkább egy PostScript®-szerű nyelvet értünk, nem pedig a Hewlett Packard PCL típusú nyelvét. Habár a PCL nagyon sokra képes, hiszen keverhetjük még benne akár a programokat és a nyers szövegeket is. Ezzel szemben a PostScript® nem képes nyers szöveget kinyomtatni, ezért az ilyen típusú nyomtatók működtetéséhez külön támogatásra van szükségünk.

9.3.1.4.1. A párhuzamos nyomtató ellenőrzése

Ebben a szakaszban megtudhatjuk, hogy FreeBSD alatt miként ellenőrizzük a párhuzamos portra csatlakozó nyomtatók működését.

A párhuzamos porton levő nyomtató kipróbálásához:

  1. A su(1) segítségével váljunk root felhasználóvá.

  2. Küldjünk a nyomtatónak valamilyen adatot.

    • Ha a nyomtató képes nyers szöveget fogadni, akkor használjuk az lptest(1) programot. Ehhez gépeljük be:

      # lptest > /dev/lptN

      ahol az N nullától kezdődően a párhuzamos port sorszáma.

    • Ha a nyomtató PostScript® vagy más nyomtatási nyelvet ismer, akkor egy apró programot kell küldenünk neki. Ehhez írjuk be:

      # cat > /dev/lptN

      Ezután soronként írjuk be a programot, de vigyázzunk, mert az Enter vagy a Return lenyomása után már nem tudjuk kijavítani! A program begépelése után nyomjuk meg a Ctrl+D vagy bármely más olyan billentyűkombinációt, amivel ki tudunk lépni.

      Ezt a programot belerakhatjuk egy állományba is, amire aztán adjuk ki az alábbi parancsot:

      # cat állomány > /dev/lptN

      ahol az állomány a nyomtatóra küldendő program neve lesz.

Ezután a nyomtató megkezdi a nyomtatást. Ne aggódjunk, ha netalán valami furcsán nézne ki, mert a későbbiekben ezt még úgyis rendbetesszük.

9.3.1.4.2. A soros nyomtató ellenőrzése

Ebben a szakaszban megtudhatjuk, hogyan ellenőrizzük a FreeBSD és soros portra kötött nyomtató kapcsolódását.

Így tudjuk kipróbálni a soros porton csatlakozó nyomtatónkat:

  1. A su(1) paranccsal váljunk root felhasználóvá.

  2. Nyissuk meg az /etc/remote állományt. Tegyük hozzá a következő sort:

    printer:dv=/dev/port:br#bps:pa=paritás

    ahol a port a soros porthoz tartozó eszközleíró neve (ttyd0, ttyd1, stb.), a bps a nyomtató által használt adatátviteli sebesség, végül a paritás a nyomtatóhoz használt paritás (ami lehet even (páros), odd (páratlan), none (nincs), vagy zero (nulla)).

    Íme egy olyan soros nyomtató beállítása (printer néven), amely sebessége 19 200 bps, a harmadik portra csatlakozik és nem használ paritást:

    printer:dv=/dev/ttyd2:br#19200:pa=none
  3. Kapcsolódjunk a nyomtatóhoz a tip(1) segítségével. Ennek parancsa:

    # tip printer

    Ha az iménti lépés nem működne, próbálkozzunk az /etc/remote állomány újbóli módosításával, és a /dev/cuaaN eszköz helyett használjuk a /dev/ttydN eszközt!

  4. Küldjünk adatot a nyomtatónak.

    • Ha a nyomtató képes nyers szöveget nyomtatni, akkor használjuk az lptest(1) segédprogramot. Gépeljük be:

      % $lptest
    • Ha a nyomtató a PostScript® vagy egy hozzá hasonló nyomtatási nyelven kommunikál, akkor a nyomtatónak egy rövid programot kell küldenünk. Soronként gépeljük be a programot, azonban vigyázzunk arra, hogy a törlés és minden más szerkesztésre használt billentyű a nyomtató számára is értelmes lehet. Az is előfordulhat, hogy a program küldését egy speciális jelsorozattal tudjuk csak lezárni. A PostScript® nyomtatók esetén ilyenkor elegendő a Ctrl+D billentyűk együttes lenyomása.

      Vagy tehetjük az egész programot egy állományba, amihez aztán írjuk be ezt:

      % >állomány

      ahol az állomány a programot tartalmazó állomány neve. Miután a tip(1) elküldte az állományt, nyomjuk le a lezáráshoz szükséges billentyűkombinációt.

Most már meg kellene jelennie valaminek a nyomtatón. Az még nem számít, pontosan mi is lesz az — később még majd úgyis beállítjuk.

9.3.1.5. A nyomtatási rendszer aktiválása: a /etc/printcap állomány

Csatlakoztattuk a nyomtatónkat, a működtetéséhez beállítottuk a rendszermagot (amennyiben erre szükségünk volt), és tudtunk neki adatokat küldeni. Most már készen állunk arra, hogy LDP alkalmazáson keresztül beállítsuk a nyomtató hozzáférésének vezérlését.

Az LPD beállításait az /etc/printcap állományban találjuk. Az LPD nyomtatási rendszer minden egyes művelet előtt beolvassa ezt az állományt, ezért a benne végzett módosítások szinte azonnal életbe is lépnek.

A printcap(5) tartalma könnyen érthető, a /etc/printcap állományt egyszerűen módosíthatjuk a kedvenc szövegszerkesztőnkkel. A felépítése teljesen megegyezik a többi hozzá hasonló állományéval: ilyenek például a /usr/share/misc/termcap és a /etc/remote. Az itt alkalmazott formátum teljes leírását a cgetent(3) man oldalon találjuk.

A nyomtatási rendszer egyszerű beállítása az alábbi lépésekből áll:

  1. Adjunk nevet (és még néhány álnevet) a nyomtatónak, írjuk ezeket az /etc/printcap állományba. A nevekről A nyomtató elnevezése című szakaszban kapunk felvilágosítást.

  2. A(z alapból bekapcsolt) fejléclapokat az sh tulajdonság megadásával kapcsolhatjuk ki. A részleteket A fejléclapok letiltása című szakaszban találjuk.

  3. Hozzunk létre egy nyomtatási könyvtárat, és adjuk meg a helyét az sd tulajdonság beállításával. A nyomtatási könyvtár létrehozása című szakaszban fogunk erről többet mondani.

  4. Állítsunk be egy nyomtató által használt /dev könyvtárbeli leírót, és az lp tulajdonsággal adjuk meg az /etc/printcap állományban. Erről részletesebben A nyomtatóeszköz azonosítása című szakaszban olvashatunk. Ha a nyomtató soros porton keresztül csatlakozik, az ms# tulajdonsággal még meg kell adnunk A nyomtatási rendszer kommunikációs paraméterei szakaszban tárgyaltakat is.

  5. Helyezzünk el egy szűrőt a beérkező nyers szövegek számára. Erről A szövegszűrő telepítése című szakasz értekezik.

  6. Az lpr(1) parancs segítségével próbáljuk ki a nyomtatást. Ennek pontos részleteit a Próbáljuk ki! és a Hibakeresés című fejezetekben találhatjuk meg.

Megjegyzés:

A magasabb szintű nyomtatók, mint például a PostScript® nyomtatók nem képesek közvetlenül nyers szöveget nyomtatni. Az imént felvázolt egyszerű beállítási séma feltételezi, hogy csak olyan állományokat fogunk nyomtatni a nyomtatón, amelyeket meg is ért.

A felhasználók gyakran arra számítanak, hogy bármelyik általuk elérhető nyomtatón képesek nyers szöveget kinyomtatni. Az LPD alkalmazással kapcsolatban álló programok is általában ugyanezt az elgondolást követik. Ha egy saját nyelvvel rendelkező nyomtatót akarunk telepíteni, de a nyomtató saját nyelvén és a nyers szöveg formájában érkező nyomtatási feladatok is rendesen ki akarjuk nyomtatni, akkor mindenképpen javasoljuk, hogy illeszünk még egy további lépést is ebbe a sorba: illesszünk a rendszerbe egy nyers szövegről automatikusan PostScript® (vagy más egyéb) nyelvre tolmácsoló programot. Erről a Szöveges nyomtatási feladatok PostScript® nyomtatókon című fejezetben olvashatunk.

9.3.1.5.1. A nyomtató elnevezése

Az első (egyszerű) lépés a nyomtatónk nevének kiválasztása. Igazából nem számít, mennyire kifejező vagy éppen hóbortos nevet adunk neki, hiszen emellett még számos álnévvel is illethetjük.

Az /etc/printcap állományban megtalálható nyomtatók egyikének legalább az lp álnévvel rendelkeznie kell, mivel ez lesz az alapértelmezett nyomtató neve. Tehát ha a felhasználó nem adja meg sem a PRINTER környezeti változót, sem pedig az LPD-vel kapcsolatban álló aktuális parancsban a használni kívánt nyomtató nevét, akkor a rendszer az lp nevűt fogja keresni.

Ezenkívül általában még gyakran adnak egy olyan álnevet is a nyomtatónak, ahol annak teljes leírása, többek közt a gyártmánya és a típusa szerepel.

Ahogy sikerült nevet és álneveket adni a nyomtatónak, írjuk is be ezeket az /etc/printcap állományba. Itt a nyomtató neveit balról kezdjük felsorolni, mindegyik álnevet egy függőleges vonallal válasszunk el, és az utolsó után tegyünk pontosvesszőt.

A most következő példában egy olyan vázt mutatunk be az /etc/printcap állományhoz, amelyben két nyomtatót (egy Diablo 630 márkájú sornyomtatót és egy Panasonic KX-P4455 típusú PostScript® lézernyomtatót) adunk meg:

#
#  /etc/printcap (rose)
#
rattan|line|diablo|lp|Diablo 630 Line Printer:

bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:

Ebben a példában az első nyomtató neve rattan, és ehhez tartozik még a line, diablo, lp, és Diablo 630 Line Printer álnév. Mivel itt soroltuk fel az lp álnevet is, ezért a rendszerben ez lesz az alapértelmezett nyomtató. A második nyomtató neve bamboo, és álnevei többek közt a ps, PS, S, panasonic, valamint a Panasonic KX-P4455 PostScript v51.4.

9.3.1.5.2. A fejléclapok letiltása

Az LPD nyomtatási rendszer alapértelmezés szerint minden egyes feladathoz fejléclapot készít. Ez a lap szép nagy betűkkel tartalmazza a nyomtatási feladatot kiadó felhasználó nevét, a gépet, amiről küldték, és a feladat nevét. Sajnálatos módon ez azonban inkább akadályozza a hibakeresést a nyomtató beállításában, ezért most inkább kapcsoljuk ki ezeket.

Ha le akarjuk tiltani a fejléclapokat, az /etc/printcap állományban adjuk meg az sh (úgymint suppress header pages) tulajdonságot. Íme egy példa az sh tulajdonsággal bővített /etc/printcap állományra:

#
#  /etc/printcap (rose) - sehol sem lesznek fejléclapok
#
rattan|line|diablo|lp|Diablo 630 Line Printer:\
        :sh:

bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\
        :sh:

Ebben a példában megfigyelhetjük a helyes felírási módot: az első sor a bal szélső oszlopban kezdődik, az azt követő sorok pedig bentebb. Minden bejegyzésben az utolsó kivételével mindegyik sor egy visszaper (backslash) karakterrel zárul.

9.3.1.5.3. A nyomtatási könyvtár létrehozása

A nyomtatási rendszerünk beállításának következő lépése a nyomtatási könyvtár létrehozása. Ez egy olyan könyvtár, ahová a különböző nyomtatási feladatok kerülnek a feldolgozásuk előtt, valamint ahol a nyomtatási rendszer többi állománya lakozik.

A nyomtatási rendszer adatait tároló könyvtárakat tartalmuk gyakori változása miatt általában a /var/spool könyvtárba szokás tenni. Ezen könyvtárak tartalmát nem szükséges menteni sem. Az mkdir(1) parancs futtatásával egyszerűen újra létre tudjuk hozni.

Általában minden nyomtatóhoz külön létre szoktak hozni egy könyvtárat az adott nyomtató nevén. Erre példa:

# mkdir /var/spool/nyomtatónév

Azonban ha a hálózatunkon rengeteg nyomtató található, akkor érdemes inkább egyetlen könyvtárat használni, amelyet az LPD számára tartunk fenn.

# mkdir /var/spool/lpd
# mkdir /var/spool/lpd/rattan
# mkdir /var/spool/lpd/bamboo

Megjegyzés:

Amennyiben fontos nekünk a felhasználói nyomtatások titkosságának megóvása, érdemes levédenünk a nyomtatási könyvtárat, így az nem lesz mindenki által elérhető. A nyomtatási könyvtárak tulajdonosa egyedül és kizárólag a daemon felhasználó és a daemon csoport legyen, és hozzá olvasási, írási és keresési engedélyekkel rendelkezzen. Ezt fogjuk most beállítani a példáinkban szereplő nyomtatóinkhoz is:

# chown daemon:daemon /var/spool/lpd/rattan
# chown daemon:daemon /var/spool/lpd/bamboo
# chmod 770 /var/spool/lpd/rattan
# chmod 770 /var/spool/lpd/bamboo

Végezetül az /etc/printcap állományban ezeket a könyvtárakat se felejtsük el megadni az LPD-nek. Itt a nyomtatási könyvtár nevét az sd tulajdonsággal írjuk le:

#
#  /etc/printcap (rose) - a nyomtatási könyvtárak hozzáadása
#
rattan|line|diablo|lp|Diablo 630 Line Printer:\
        :sh:sd=/var/spool/lpd/rattan:

bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\
        :sh:sd=/var/spool/lpd/bamboo:

Vegyük észre, hogy a nyomtató neve ugyan a sor elején kezdődik, azonban a hozzá tartozó összes többi sor mind bentebb kezdődik és egy visszaper (backslash) karakterrel választjuk le.

Ha az sd tulajdonsággal nem adunk meg semmilyen nyomtatási könyvtárat, akkor ennek az értéke alapértelmezés szerint a /var/spool/lpd lesz.

9.3.1.5.4. A nyomtatóeszköz azonosítása

A Hardveres beállítás című szakaszban már beazonosítottuk, hogy a FreeBSD a /dev könyvtárban melyik eszközleírón keresztül fogja megszólítani a nyomtatót. Most ideje ugyanezt tudatni az LPD démonnal is. Így amikor a nyomtatási rendszer végre szeretne hajtani egy nyomtatási feladatot, a szűrőprogram nevében ezt az eszközt nyitja meg (ahol a szűrőn keresztül továbbítjuk az adatokat a nyomtató felé).

Az lp tulajdonság segítségével a /etc/printcap állományban soroljuk fel a nyomtatók /dev könyvtárban található leíróit.

Az eddig használt példánkban most tételezzük fel, hogy a rattan nevű nyomtató az első párhuzamos porton található, míg a bamboo nevű a hatodik soros porton. Ebben a helyzetben így kellene kiegészítenünk az /etc/printcap állományunkat:

#
#  /etc/printcap (rose) - a használni kívánt eszközök
#  beazonosítása
#
rattan|line|diablo|lp|Diablo 630 Line Printer:\
        :sh:sd=/var/spool/lpd/rattan:\
        :lp=/dev/lpt0:

bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\
        :sh:sd=/var/spool/lpd/bamboo:\
        :lp=/dev/ttyd5:

Az LPD alapértelmezés szerint a /dev/lp eszközt fogja használni, ha nem adjuk meg az lp tulajdonságot az /etc/printcap állományban. A /dev/lp azonban a FreeBSD-ben jelenleg nem létezik.

Ha a telepítendő nyomtatónk valamelyik párhuzamos portra csatlakozik, akkor innen akár tovább is léphetünk A szövegszűrő telepítése című szakaszra. Ha viszont nem, kövessük a most következő szakaszban szereplő utasításokat.

9.3.1.5.5. A nyomtatási rendszer kommunikációs paraméterei

A soros portra csatlakozó nyomtatóknál az LPD képes beállítani az adatátviteli sebességet, a paritást, valamint más egyéb olyan kommunikációs paramétereket, amelyekkel a szűrőprogram adatokat tud továbbítani a nyomtató felé. Ez több szempontból is előnyös, mivel:

  • Egyszerűen az /etc/printcap állomány átírásával ki tudunk próbálni több kommunikációs beállítást, nem kell magát a szűrőprogramot újrafordítanunk.

  • A nyomtatási rendszer képes ugyanazt a szűrőt több, különböző kommunikációs beállítást alkalmazó nyomtatóhoz is használni.

Az /etc/printcap állományban az lp tulajdonsággal megadott eszközök soros kommunikációjának beállításait az alábbi tulajdonságok határozzák meg:

br#sebesség

Beállítja az eszköz adatátviteli sebességét a sebesség értékre, ahol a sebesség lehet 50, 75, 110, 134, 150, 200, 300, 600, 1200, 1800, 2400, 4800, 9600, 19 200, 38 400, 57 600 vagy 115 200 bit másodpercenként (bps).

ms#stty-mód

Beállítja az eszköz megnyitása után használt termináleszköz működésének paramétereit. Az stty(1) man oldalon többet is megtudhatunk róluk.

Miután az LPD megnyitja az lp tulajdonsággal megadott eszközt, beállítja az ms# tulajdonság értéke szerint annak jellemzőit. Itt a parenb, parodd, cs5, cs6, cs7, cs8, cstopb, crtscts, és ixon módok lehetnek lényegesek, melyekről az stty(1) man oldalon többet is megtudhatunk.

Állítsuk most be az egyik képzeletbeli nyomtatónkat a hatodik soros portra. Az adatátviteli sebessége 38 400 bps lesz. A kommunikáció módjánál kapcsoljuk ki a paritást (-parenb), 8 bites karakterek legyenek (cs8), ne legyen modemes vezérlés (clocal) és a hardveres forgalomirányítás legyen crtscts:

bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\
        :sh:sd=/var/spool/lpd/bamboo:\
        :lp=/dev/ttyd5:ms#-parenb cs8 clocal crtscts:
9.3.1.5.6. A szövegszűrő telepítése

Most már utasíthatjuk az LPD-t, hogy milyen szövegszűrőt használjon a nyomtatási feladatok eszközre küldéséhez. A szövegszűrő (text filter), vagy más néven bemeneti szűrő (input filter) egy olyan program, amelyet az LPD egy nyomtatási feladat elvégzésekor lefuttat. Amikor az LPD lefuttatja a nyomtatóhoz tartozó szövegszűrőt, a szűrő szabványos bemenetére elküldi az elvégzendő nyomtatási feladatot, és a szabványos kimenetét pedig átirányítja az lp tulajdonság által megadott nyomtatóeszközre. Ennek megfelelően a szűrőnek a szabványos bemenetről kell olvasnia az elvégzendő feladatot, a szabványos kimenetre pedig a ténylegesen nyomtatandót kell kiírnia. A szövegszűrők részleteiről a Hogyan működnek a szűrők? szakasz szól.

A mi esetünkben most szövegszűrőnek tökéletesen megfelel egy olyan rövid szkript, ami a nyomtatóra a nyomtatási feladatot a /bin/cat paranccsal küldi ki. A FreeBSD-ben még találhatunk egy másik szűrőt is, amelynek a neve lpf. Ez képes a törlést és aláhúzást jelző karaktereket érthetővé tenni bizonyos nyomtatók számára. Természetesen itt használhatunk kedvünk szerinti szűrőt is. Az lpf szűrő működésének részleteit Az lpf szövegszűrő című szakaszban fejtjük ki bővebben.

Először is készítsünk egy /usr/local/libexec/if-simple nevű egyszerű szövegszűrő szkriptet. A kedvenc szövegszerkesztőnkkel írjuk bele a következő sorokat:

#!/bin/sh
#
# if-simple - egyszerű szövegszűrő szkript az lpd-hez
# Helye: /usr/local/libexec/if-simple
#
# Egyszerűen átmásolja a kimenetére a bemenetéről érkező adatokat; nem
# fogad el semmilyen paramétert.

/bin/cat && exit 0
exit 2

Tegyük indíthatóvá:

# chmod 555 /usr/local/libexec/if-simple

Ezután tájékoztassuk róla az LPD-t az /etc/printcap állományban található if tulajdonság megadásával. Itt most a példánkban szereplő mind a két nyomtatóhoz beillesztjük:

#
#  /etc/printcap (rose) - a szövegszűrő hozzáadása
#
rattan|line|diablo|lp|Diablo 630 Line Printer:\
        :sh:sd=/var/spool/lpd/rattan:\
        :lp=/dev/lpt0:\
        :if=/usr/local/libexec/if-simple:

bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\
        :sh:sd=/var/spool/lpd/bamboo:\
        :lp=/dev/ttyd5:ms#-parenb cs8 clocal crtscts:\
        :if=/usr/local/libexec/if-simple:

Megjegyzés:

Az if-simple szkript megtalálható a /usr/share/examples/printing könyvtárban.

9.3.1.5.7. Az LPD elindítása

Az lpd(8) az /etc/rc szkriptből, az lpd_enable változó értékének megfelelően indul el. Ennek értéke alapból NO, vagyis nem. Ha eddig még nem tettük volna meg, akkor az /etc/rc.conf állományba most vegyük fel a következő sort:

lpd_enable="YES"

Ezután vagy indítsuk újra a számítógépünket, vagy pedig adjuk ki az lpd(8) parancsot:

# lpd
9.3.1.5.8. Próbáljuk ki!

Elérkeztünk az LPD egyszerű beállításának utolsó lépéséhez. Sajnos azonban még nem gratulálhatunk, hiszen hátra van még a nyomtató kipróbálása és az esetlegesen előforduló hibák kijavítása. A beállítást úgy tudjuk a legegyszerűbben letesztelni, ha megpróbálunk valamit kinyomtatni. Az LPD rendszerben az lpr(1) parancs használatával tudunk nyomtatási feladatokat kiadni.

A kommunikáció ellenőrzése című szakaszban megtalálhatjuk, hogy hozzunk létre tesztelésre alkalmas szövegeket az lpr(1) és az lptest(1) programok segítségével.

Az LPD beállításainak egyszerű tesztelése:

Írjuk be:

# lptest 20 5 | lpr -Pnyomtatónév

ahol a nyomtatónév az /etc/printcap állományban megadott egyik nyomtató neve (vagy álneve) lehet. Az alapértelmezett nyomtató kipróbálásához ne adjunk meg az lpr(1) parancsnak semmilyen -P paramétert. Még egyszer megemlítenénk, hogy amennyiben PostScript® nyomtatót tesztelünk, az előbbi helyett az lptest(1) paranccsal küldjünk ki egy PostScript® programot. Ehhez tegyük a tesztelő programunkat egy állományba, majd írjuk be az lpr állománynév parancsot.

A PostScript® nyomtató esetén a kiküldött program eredményét kell látnunk. Amennyiben az lptest(1) parancsot használjuk, valami ilyesmire kell számítanunk:

!"#$%&'()*+,-./01234
"#$%&'()*+,-./012345
#$%&'()*+,-./0123456
$%&'()*+,-./01234567
%&'()*+,-./012345678

A nyomtató kimerítőbb teszteléséhez próbáljunk meg nagyobb programokat keríteni valahonnan (ha a nyomtatónk valamilyen nyelven kommunikál) vagy adjunk meg az lptest(1) parancsnak más paramétereket. Például az lptest 80 60 soronként 80 karaktert írat ki 60 sorban.

Amennyiben a nyomtató nem működne, nézzük meg a Hibakereséshez tartozó szakaszt.

9.4. Magasszintű nyomtatóbeállítás

Ebben a szakaszban olyan szűrőket mutatunk be, amelyek speciálisan formázott állományok, fejléclapok, hálózati nyomtatás, nyomtatási nyilvántartás vagy szabályozás esetén használhatóak.

9.4.1. Szűrők

Noha az LPD képes hálózati protokollokat, nyomtatási sorokat, hozzáférést és sok minden más nyomtatási feladatot kezelni, a tényleges munka legnagyobb része a szűrőkben (filter) történik. A szűrők olyan programok, amelyek tartják a kapcsolatot a nyomtatóval és megbirkóznak annak eszközfüggőségeivel és különleges igényeivel. Az egyszerű beállítás során egy primitív szövegszűrőt állítottunk be (lásd A szövegszűrő telepítése) — ami annyira egyszerű, hogy szinte minden nyomtatón működnie kell.

Azonban mindahhoz, hogy ki tudjuk használni a különböző átalakítási, nyilvántartási lehetőségeket, valamint a nyomtatók különlegességeit és egyebeit, meg kell értenünk a szűrők pontos működését. Az előbb említett feladatok ugyanis teljesen a szűrő kezében vannak. Ezzel kapcsolatban azonban rossz hír, hogy ezeket a szűrőket nekünk kell megírnunk. A jó hír ellenben az, hogy könnyen találunk ilyen szűrőket, vagy ha éppen nem lelnénk valamelyiket, akkor is gyorsan meg tudjuk ezeket írni.

Sőt, a FreeBSD alapból tartalmaz is egyet, amit a /usr/libexec/lpr/lpf helyen találunk meg, és sok olyan nyomtatóval képes együttműködni, amelyek nyers szöveget tudnak nyomtatni. (Kezeli az állományokban felbukkanó törléseket és tabulálásokat, valamint képes nyilvántartást vezetni, de semmi többet.) Rajta kívül még számos szűrőt és szűrőelemet is találhatunk a FreeBSD Portgyűjteményében.

Lássuk, mit tartogat számunkra ez a rész:

  • A Hogyan működnek a szűrők? című szakaszban megpróbálunk egyfajta áttekintést adni a szűrők nyomtatási folyamatban betöltött szerepéről. Mindenképpen érdemes elolvasnunk ezt a szakaszt, mivel ebben derül ki, hogy valójában mi is történik a függöny mögött, vagyis amikor az LPD használja ezeket a szűrőket. Ezzel a tudással el tudjuk kerülni vagy éppen nyakon tudjuk csípni azokat a problémákat, amelyek a nyomtatóinkhoz telepített szűrők hozzáadása során adódhatnak.

  • Az LPD alapból arra számít, hogy minden nyomtató képes nyers szöveget nyomtatni. Ez gondot okoz a PostScript® (és minden más nyelv alapú) nyomtatók esetén, mivel azok nem képesek nyers szöveget nyomtatni. Szöveges nyomtatási feladatok PostScript® nyomtatókon című szakaszban viszont fény derül rá, hogyan kerekedjünk felül ezen. Feltétlenül olvassuk el, ha PostScript® nyomtatónk van.

  • A PostScript® számos program közkedvelt kimeneti formátuma, sőt gyakran maguk a felhasználók is szeretnek ilyen programokat írni. Sajnos azonban a PostScript® nyomtatók egyáltalán nem olcsók. A PostScript® szimulációja nem PostScript® nyomtatókon című szakaszban megtudhatjuk, miképp tudjuk úgy módosítani a szűrőt, hogy nem PostScript® nyomtatókon is tudjunk PostScript® programokkal nyomtatni. Ezt a szakaszt akkor érdemes elolvasni, ha nincs PostScript® nyomtatónk.