Gyakran Ismételt Kérdések a FreeBSD 6.X és 7.X változatairól

A FreeBSD Dokumentációs Projekt

Ezek a gyakran ismételt kérdések a FreeBSD 6.X és 7.X változataira vonatkoznak. Az összes bejegyzés a FreeBSD 6.X vagy annál újabb változataira vonatkozik, hacsak azt külön nem jelezzük. Ha szeretnénk segíteni a projektnek, akkor küldjünk egy levelet a FreeBSD Dokumentációs Projekt levelezési lista címére! Ennek a dokumentumnak a legfrissebb változata mindig elérhető a FreeBSD World Wide Web szerveréről. HTTP-n keresztül letölthető egyetlen nagy HTML állományként, vagy a FreeBSD FTP szerveréről szöveges, PostScript® PDF stb. formátumban. Továbbá keresni is tudunk a GYIK-ban.

Fordította és a fordítást karbantartja: Páli Gábor

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.

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.

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.

Az IBM, AIX, EtherJet, Netfinity, 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 Iomega, Zip és Jaz az Iomega bejegyzett védjegyei vagy védjegyei az Egyesült Államokban és/vagy más országokban.

A Linux Linus Torvalds bejegyzett védjegye.

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 MIPS és R4000 a MIPS Technologies, Inc. bejegyzett védjegyei az Egyesült Államokban és 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 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 Silicon Graphics, SGI és OpenGL a Silicon Graphics, Inc. bejegyzett védjegyei az Egyesült Államokban és/vagy más országokban világszerte.

A Sparc, Sparc64, SPARCEngine és UltraSPARC a SPARC International, Inc védjegyei az Egyesült államokban és más országokban. A SPARC védjegyet hordozó termékek a Sun Microsystems, Inc. által kifejlesztett architektúrára épülnek.

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

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

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

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.


Tartalom
1. Bevezetés
2. Dokumentációs és támogatás
3. Telepítés
4. Hardverkompatibilitás
4.1. Általános kérdések
4.2. Memória
4.3. Architektúrák és processzorok
4.4. Merevlemezes, szalagos, CD- és DVD-meghajtók
4.5. Egér és billentyűzet
4.6. Hálózati és soros eszközök
4.7. Hang
4.8. Egyéb eszközök
5. Hibaelhárítás
6. Kereskedelmi alkalmazások
7. Felhasználói alkalmazások
8. A rendszermag beállítása
9. Lemezek, állományrendszerek és rendszertöltők
10. Rendszeradminisztráció
11. Az X Window System és a virtuális konzolok használata
12. Hálózatok
13. Biztonság
14. PPP
15. Soros vonali kommunikáció
16. Egyéb kérdések
17. Mókás dolgok a FreeBSD-vel kapcsolatban
18. Témák haladóknak
19. Köszönetnyilvánítás
Irodalomjegyzék
A táblázatok listája
3-1. Az állományok maximális mérete
12-1. A DEC PCI chipkészletére épülő hálózati kártyák
A példák listája
11-1. Egy példa Xorg konfigurációs állomány “InputDevice” szakasza görgős egerekhez
11-2. Egy egyszerű példa “.emacs” állomány görgős egerek (opcionális) használatához

Fejezet 1. Bevezetés

Üdvözöljük a FreeBSD 6.X-7.X Gyakran Ismételt Kérdéseiben!

Hasonlóan a Usenetes GYIK-okhoz, ennek a dokumentumnak is az a célja, hogy a FreeBSD operációs rendszerrel kapcsolatban feltegye a legyakrabban ismételt kérdéseket (és persze megválaszolja ezeket!). Habár eredetileg azért íródott, hogy megspórolja a feleslegesen elvesztegetett sávszélességet és hogy megelőzze a régóta ismert kérdések újbóli feltételét, a GYIK időközben egy értékes információforrássá is vált.

Igyekeztünk minden megtenni annak érdekében, hogy a GYIK a lehető legtöbb információt szolgáltassa. Ha szeretnénk javaslatokat tenni a továbbfejlesztésére, írjunk bátran a FreeBSD Dokumentációs Projekt levelezési lista címére!

1.1. Mi az a FreeBSD?
1.2. Mi a FreeBSD Projekt célja?
1.3. A FreeBSD licenc tartalmaz valamilyen megszorítást?
1.4. A FreeBSD képes kiváltani a jelenleg használt operációs rendszerünket?
1.5. Miért hívják FreeBSD-nek?
1.6. Mi a különbség a FreeBSD, a NetBSD, OpenBSD és a többi nyílt forráskódú BSD operációs rendszerek között?
1.7. Melyik a FreeBSD legújabb változata?
1.8. Mi az a FreeBSD-CURRENT?
1.9. Mit takar a FreeBSD-STABLE?
1.10. Mikor készülnek FreeBSD kiadások?
1.11. Ki felel a FreeBSD-ért?
1.12. Honnan lehet a FreeBSD-t beszerezni?
1.13. Hogyan lehet elérni a hibajelentések adatbázisát?
1.14. Honnan tudhatunk meg még többet?

1.1. Mi az a FreeBSD?

Ha tömören akarjuk összefoglalni, akkor a FreeBSD egy AMD64, Intel® EM64T, i386™, PC-98, IA-64, ARM®, PowerPC® és UltraSPARC® platformokra fejlesztett UNIX®-szerű operációs rendszer, amely a Kaliforniai Egyetem (Berkeley) rendszerének “4.4BSD-Lite” kiadására épül, valamint a “4.4BSD-Lite2” kiadásból tartalmaz még néhány továbbfejlesztést. Továbbá közvetett módon még felhasználja a Berkeley “Net/2” kiadásának i386 architektúrára készített portját, a “386BSD” forrásait is, amit annak idején William Jolitz készített, noha ebből ténylegesen már csak nagyon kevés található a rendszerben. A FreeBSD részletesebb bemutatása és annak tulajdonságai a FreeBSD honlapján találhatóak.

A FreeBSD-t munkához, oktatáshoz és szórakozáshoz rengeteg cég, internetszolgáltató, kutató, informatikus, diák és otthoni felhasználó használja a világ minden táján.

A FreeBSD bővebb bemutatásához olvassuk el a FreeBSD kézikönyvet.

1.2. Mi a FreeBSD Projekt célja?

A FreeBSD Projektnek az a célja, hogy olyan szoftvereket állítson elő, amelyek tetszőlegesen felhasználhatóak, mindenféle kötöttségek nélkül. A fejlesztők közül sokan nagyon sok időt és munkát fektetnek a forráskódba (és így a Projektbe), ami nyilván megérdemelne némi anyagi ellensúlyozást olykor, de egyáltalán nem ragaszkodunk hozzá. Úgy érezzük, mindenek előtt az a “küldetésünk”, hogy feltétel nélkül segítsünk mindenkit a munkánkkal, függetlenül annak szándékaitól, így a munkánk a lehető legnagyobb körben kerül felhasználására és így nyújtja a lehető legtöbb hasznot. Véleményünk szerint ez az egyik legalapvetőbb célja a szabad szoftvereknek és ezt a hozzáállást támogatjuk a leginkább.

A forrásaink között található, GNU General Public License (GPL) vagy a GNU Library General Public License (LGPL) licencelésű munkák azonban már valamivel több kötöttséggel járnak, habár ezek inkább a közzétételükre vonatkoznak, nem pedig annak ellenkezőjére, ahogy azt általában megszokhattuk. A GPL licencű szoftverek kereskedelmi célú felhasználásának további esetleges nehézségei miatt azonban lehetőségeink szerint igyekszünk ezeket olyan szoftverekkel felváltani, amelyek a kevésbé szigorúbb FreeBSD licencet alkalmazzák.

1.3. A FreeBSD licenc tartalmaz valamilyen megszorítást?

Igen. Ezek a megszorítások azonban nem az adott munka felhasználását szabályozzák, hanem csupán azt, hogy miként viszonyuljunk a FreeBSD Projekthez. Ha komoly kétségeink lennének a licenceléssel kapcsolatban, olvassuk a jelenleg érvényes licencet (angolul). Az egyszerű kíváncsiskodók kedvéért nagyjából így tudnánk összefoglalni a licencet:

  • Ne állítsuk, hogy mi készítettük.

  • Ne pereljük a Projektet, ha nem működik.

1.4. A FreeBSD képes kiváltani a jelenleg használt operációs rendszerünket?

A legtöbb ember számára igen. A kérdés megválaszolása azonban természetesen nem ennyire egyértelmű.

Sokan nem is magát az operációs rendszert, hanem inkább az alkalmazásokat használják. Valójában pedig maguk az alkalmazások azok, amelyek az operációs rendszert használják. A FreeBSD-t úgy alakították ki, hogy az alkalmazások számára egy szilárd és mindentudó környezetet nyújtson. Támogatja a böngészők, irodai programcsomagok, levelező programok, grafikus programok, programozási környezetek, hálózati szerverek széles választékát, és szinte minden mást, amire csak szükségünk lehet. Az ilyen alkalmazások legnagyobb része elérhető a Portgyűjteményen keresztül.

Ha viszont olyan alkalmazást kívánunk használni, amely csak bizonyos operációs rendszereken érhető el, nem tudjuk magát az operációs rendszert egyszerűen lecserélni alatta. Bizonyos esetekben azonban előfordulhat, hogy FreeBSD alatt is találunk hozzá hasonló alkalmazásokat. Amikor egy stabil irodai vagy internet szerverre van szükségünk, esetleg egy megbízható munkaállomásra, vagy egyszerűen csak megszakítások nélkül szeretnénk végezni a munkánkat, a FreeBSD-ben igényeinkhez mérten szinte minden megtalálhatunk. A világon rengeteg felhasználó, beleértve a kezdőket és a tapasztalt UNIX rendszergazdákat egyaránt, asztali operációs rendszerként is a FreeBSD-t használja.

Ha egy másik UNIX környezetről akarunk FreeBSD-re váltani, akkor a legtöbb dolog már ismerős lehet számunkra. Amennyiben viszont valamilyen grafikus operációs rendszerről, például Windows®-ról vagy a Mac OS® valamelyik régebbi változatáról szándékozunk átállni, minden bizonnyal időt kell majd szánnunk a feladatok UNIX stílusú megvalósításának megismerésére. Ez a GYIK és a FreeBSD kézikönyv ehhez tökéletes kiindulási alapot biztosít.

1.5. Miért hívják FreeBSD-nek?

  • Szabadon (mint “free”) felhasználható, akár kereskedelmi célokra is.

  • Az operációs rendszer teljes forráskódja bárki által szabadon elérhető, minimális megkötésekkel arra vonatkozóan, hogy miként használható és más (kereskedelmi vagy nem kereskedelmi) munkák részeként miként építhető be, terjeszthető.

  • Bárki, akinek fejlesztési vagy hibajavítási javaslata van a rendszerrel kapcsolatban, szabadon benyújthatja azt, amely aztán bekerül a források közé (egy-két nyilvánvaló ellenőrzést követően).

  • Érdemes valamint rámutatni, hogy a “szabad” szót az imént két értelemben is használtuk: az egyik jelentése szerint “költségek nélkül”, míg a másik jelentése szerint “tetszés szerint”. Egy-két tiltott dologtól, például azt állítjuk, hogy mi írtuk, eltekintve tényleg bármit csinálhatunk vele.

    1.6. Mi a különbség a FreeBSD, a NetBSD, OpenBSD és a többi nyílt forráskódú BSD operációs rendszerek között?

    James Howard The BSD Family Tree címmel (angolul) készített egy alapos leírást a különböző projektek közti eltérések bemutatására.

    1.7. Melyik a FreeBSD legújabb változata?

    Jelen pillanatban a FreeBSD fejlesztése két párhuzamos ágon folyik, és mind a kettőből készülnek kiadások. A 6.X sorozat kiadásai a 6-STABLE ágból, míg a 7.X sorozat kiadásai a 7-STABLE ágból készülnek.

    Az 7.0-s kiadás megjelenéséig a 6.X sorozat volt a -STABLE. Az 7.0 kiadás megjelenésével azonban a 6.X ág “meghosszabbított támogatást” kapott, és már csak a nagyobb hibákat, például a biztonsági hibákat javítják benne. Az 6-STABLE ágból még várhatóak további kiadások is, azonban ezt jelenleg már “örökségi” ágnak tekintjük, és a legtöbb munka már a 7-STABLE részeként jelenik meg.

    A 7.2 változat a 7-STABLE ág legfrissebb kiadása, amely 2009 májusban jelent meg. Az 6-STABLE ágból a 6.4 a legfrissebb kiadás, amely 2008 novemberban jelent meg.

    Ha röviden össze akarjuk foglalni, akkor a -STABLE változatokat elsősorban az internet-szolgáltatók, vállalkozások számára ajánljuk, illetve minden olyan felhasználó számára, aki a legújabb (és minden bizonnyal még instabil) -CURRENT pillanatkiadásokhoz viszonyítottan a legkevesebb változtatással kívánnak egy megbízható, stabil verziót használni a rendszerből. Ugyan bármelyik ágból készülhetnek, azonban a -CURRENT esetében meglehetősen sok változásra kell felkészülnünk (a -STABLE ághoz képest) az egyes kiadások között.

    A kiadások néhány havonta készülnek. Mivel a legtöbben ennél pontosabban követik a FreeBSD forrásait (lásd a FreeBSD-CURRENT és FreeBSD-STABLE változatokra vonatkozó kérdéseket), ennél valamire többre van szükségünk, hiszen a források folyamatosan változnak.

    A FreeBSD egyes kiadásairól a Kiadások megjelentetését összefoglaló oldalon tájékozódhatunk a FreeBSD honlapján.

    1.8. Mi az a FreeBSD-CURRENT?

    A FreeBSD-CURRENT az operációs rendszer aktív fejlesztés alatt álló változata, amely idővel az új FreeBSD-STABLE ággá válik. Ez a változat tulajdonképpen csak a rendszeren dolgozó fejlesztők és a megátalkodott hobbifelhasználók számára érdekes. A kézikönyv erre vonatkozó szakaszában olvashatunk részletesebben a -CURRENT használatáról.

    Ha nem mozgunk otthonosan az operációs rendszerek világában, vagy ha nem tudjuk megmondani a különbséget egy valódi és egy ideiglenes probléma között, akkor nem javasoljuk a FreeBSD-CURRENT használatát. Ez a fejlesztési vonal nagyon gyorsan fejlődik és néha lefordíthatatlan állapotba kerül. A FreeBSD-CURRENT változat használóitól elvárjuk, hogy képesek legyenek felmérni a felbukkanó problémákat, és közülük csak azokat jelenteni, amelyek valóban hibákat takarnak és nem pedig csak apró “bökkenők”. Ezért a FreeBSD-CURRENT levelezési lista olvasói általában “A make world parancs valami csoportra panaszkodik” típusú kérdéseket általában figyelembe se veszik.

    A -CURRENT és -STABLE ágak aktuális állapotáról minden hónapban pillanatkiadások készülnek. Célunk ezzel:

    • A telepítő legfrissebb változatának tesztelése.

    • Időt és sávszélességet szeretnénk megspórolni a -CURRENT vagy -STABLE változatok azon felhasználóinak, akik az iméntiek hiányából fakadóan nem tudják naponta frissíteni a rendszerüket.

    • Kiindulási pontokat rögzítünk a kód aktuális állapota alapján, ha később netalán valamilyen szörnyűség történne. (Noha a CVS általában védelmet nyújt az ilyen rémisztő dolgok bekövetkezése ellen.)

    • Az összes tesztelendő újítást és javítást ezen a módon kívánjuk a lehető legszélesebb körben elérhetővé tenni.

    Egyik -CURRENT pillanatkiadás sem tekinthető “hétköznapi felhasználásra alkalmasnak”. Ha egy megbízható és széles körben tesztelt rendszerre van szükségünk, akkor vagy maradjunk a kiadásoknál vagy használjuk a -STABLE vonalból készült pillanatkiadásokat.

    A pillanatkiadások innen érhetőek el.

    Minden aktívan fejlesztett ághoz havonta készülnek hivatalos pillanatkiadások. A népszerűbb i386 és amd64 ágakból azonban napi kiadások is elérhetőek a http://snapshots.us.freebsd.org a címen.

    1.9. Mit takar a FreeBSD-STABLE?

    Amikor a FreeBSD 2.0.5 megjelent, a FreeBSD fejlesztése kettévált. Az egyik ág neve -STABLE, a másiké pedig -CURRENT lett. A FreeBSD-STABLE az olyan internet-szolgáltatók és egyéb vállalkozások számára készült, ahol a fejlesztés alatt álló újítások vagy a hirtelen váltások által okozott problémák gyakran nem engedhetőek meg. Ide csak olyan hibajavítások és kisebb módosítások kerülnek, amelyeket alaposan leteszteltek. A FreeBSD-CURRENT ezzel szemben a 2.0 megjelenése óta egyetlen, szakadásmentes fejlesztési vonalat képvisel, amely a 7.2-RELEASE és az azon túli kiadások felé halad. Ha többet szeretnénk megtudni a jelenlegi ágak állapotáról és a következő kiadások ütemezéséről, akkor ezzel kapcsolatban olvassuk el a FreeBSD Release Engineering című cikk kiadások leágaztatásáról szóló részét (angolul). Az ágak jelenlegi állapota és a jövőbeni kiadások ütemterve a Kiadások információk oldalán található (angolul).

    A 2.2-STABLE ág a 2.2.8 megjelenésével nyugdíjba vonult. A 3-STABLE ág a 3.5.1 mint az utolsó 3.X kiadás megjelenésével ért véget. A 4-STABLE ág a 4.11 mint az utolsó 4.X kiadással fejeződött be. Ezekbe az ágakban a legtöbb esetben már csak biztonsági javításokat végeznek. Az 5-STABLE ág fejlesztése az utolsó 5.X kiadás, az 5.5 megjelenésével lezárult. A 6-STABLE ág fejlesztése még folytatódik valameddig, de ez alatt leginkább már csak a biztonsági rések és egyéb komoly problémák javításait kell érteni.

    A 7.2-STABLE a jelenleg fejlesztett -STABLE ág. A 7.2-STABLE ágból megjelent legfrissebb kiadás a 7.2-RELEASE, amely 2009 májusban jelent meg.

    A 8-CURRENT a -CURRENT ág legfrissebb változata, és ez a FreeBSD következő generációja. Erről az ágról a Mi az a FreeBSD-CURRENT? kérdésnél szolgálunk részletesebb információkkal.

    1.10. Mikor készülnek FreeBSD kiadások?

    A Release Engineering Team átlagosan a FreeBSD egy újabb nagyobb változatát 18 havonta, míg egy kisebb kiadását 8 havonta jelenteti meg. A kiadások dátumát előre kihirdetik, így a rendszeren dolgozó emberek pontosan tudják, hogy mikorra kell befejezniük a munkájukat és letesztelni azt. Minden kiadást egy tesztelési időszak előz meg, ahol megbizonyosodnak róla, hogy az elkészült újítások nem veszélyeztetik az új kiadás megbízhatóságát. A legtöbb felhasználó pontosan ezt a típusú elővigyázatosságot szereti legjobban a FreeBSD-ben, még annak árán is, hogy a legújabb finomságok bekerülésére még a -STABLE ág esetén gyakran sokat kell várni.

    A kiadások szerkesztéséről (valamint a soronkövetkező kiadások ütemezéséről) a FreeBSD honlapján belül ezen az oldalon olvashatunk részletesebben (angolul).

    Akik egy kicsivel több izgalomra vágynak, azok részére az előbb említett, naponta készített bináris pillanatkiadásokat ajánljuk.

    1.11. Ki felel a FreeBSD-ért?

    A FreeBSD Projektre vonatkozó fontosabb döntéseket, mint például a Projekt haladási irányát vagy hogy vehet részt a forráskód fejlesztésében, egy 9 fős irányító csoport hozza. Rajtuk kívül még egy több mint 350 fős fejlesztői csapat jogosult közvetlenül módosítani a FreeBSD forrásait.

    A legtöbb bonyolultabb változtatást általában azonban a megfelelő levelezési listákon is megvitatják, amiben bárki különösebb korlátozás nélkül részt vehet.

    1.12. Honnan lehet a FreeBSD-t beszerezni?

    A FreeBSD összes fontosabb kiadása elérhető anonim FTP-n keresztül a FreeBSD FTP oldaláról:

    • A legfrissebb 7-STABLE kiadás, a 7.2-RELEASE ebből a könyvtárból érhető el.

    • Havonta készülnek pillanatkiadások a -CURRENT és a -STABLE ágakból, de ezek leginkább a legújabb változatot tesztelők és a fejlesztők számára fontosak.

    • A legfrissebb 6-STABLE kiadás, a 6.4-RELEASE ebből a könyvtárból érhető el.

    Ha a FreeBSD-t CD-n, DVD-n vagy más egyéb telepítőeszközön szeretnénk megkapni, akkor ezzel kapcsolatban nézzük meg a kézikönyvet.

    1.13. Hogyan lehet elérni a hibajelentések adatbázisát?

    A felhasználók kéréseit tartalmazó hibajelentések adatbázisát a honlap webes hibajelentésekkel foglalkozó felületén keresztül érhetjük el.

    A send-pr(1) parancs segítségével tudunk e-mailen keresztül hibajelentéseket és egyéb változtatási kéréseket küldeni. Emellett még böngésző segítségével is tudunk hibajelentéseket küldeni a honlap webes hibabejelentő felületén.

    Mielőtt beküldenénk egy hibajelentést, olvassuk el a Writing FreeBSD Problem Reports című cikket (angolul), amelyből megtudhatjuk, hogyan készítsünk jól hasznosítható hibajelentéseket.

    1.14. Honnan tudhatunk meg még többet?

    Nézzük meg a FreeBSD Projekt honlapjáról elérhető dokumentációkat.


    Fejezet 2. Dokumentációs és támogatás

    2.1. Milyen jó könyvek szólnak a FreeBSD-ről?
    2.2. A dokumentáció elérhető más formátumokban is, például szöveges (ASCII) állományban vagy PostScript-ben?
    2.3. Hol található információ a FreeBSD levelezési listáiról?
    2.4. Milyen FreeBSD hírcsoportok léteznek?
    2.5. Vannak FreeBSD-s IRC (Internet Relay Chat) csatornák?
    2.6. Hol kaphatok kereskedelmi szintű FreeBSD tréninget és támogatást?

    2.1. Milyen jó könyvek szólnak a FreeBSD-ről?

    A Projekt igen széles körű dokumentációval rendelkezik, amely a következő linkről érhető el: http://www.FreeBSD.org/docs.html. Emellett a GYIK végén szereplő, valamint a kézikönyvben található irodalomjegyzék tartalmazza az ajánlott könyveket.

    2.2. A dokumentáció elérhető más formátumokban is, például szöveges (ASCII) állományban vagy PostScript-ben?

    Igen. A dokumentáció több különböző állomány- és tömörítési formátumban elérhető az FreeBSD FTP oldalán belül a /pub/FreeBSD/doc/ könyvtárból.

    A dokumentációt több különböző módon osztályozhatjuk. Többek közt:

    • A dokumentum neve alapján, például faq (GYIK), vagy handbook (kézikönyv).

    • A dokumentum nyelv és karakterkódolása alapján. Ezeket a FreeBSD rendszerekben, a /usr/share/locale könyvtárban megtalálható nyelvi beállítások nevei szerint adjuk meg. Jelenleg a következő nyelveken és kódolásokban érhető el a dokumentáció:

      NévLeírás
      en_US.ISO8859-1Angol (Egyesült Államok)
      bn_BD.ISO10646-1Bengáli vagy bangla (Banglades)
      da_DK.ISO8859-1Dán (Dánia)
      de_DE.ISO8859-1Német (Németország)
      el_GR.ISO8859-7Görög (Görögország)
      es_ES.ISO8859-1Spanyol (Spanyolország)
      fr_FR.ISO8859-1Francia (Franciaország)
      hu_HU.ISO8859-2Magyar (Magyarország)
      it_IT.ISO8859-15Olasz (Olaszország)
      ja_JP.eucJPJapán (Japán, EUC kódolás)
      mn_MN.UTF-8Mongol (Mongólia, UTF-8 kódolás)
      nl_NL.ISO8859-1Holland (Hollandia)
      no_NO.ISO8859-1Norvég (Norvégia)
      pl_PL.ISO8859-2Lengyel (Lengyelország)
      pt_BR.ISO8859-1Portugál (Brazília)
      ru_RU.KOI8-ROrosz (Oroszország, KOI8-R kódolás)
      sr_YU.ISO8859-2Szerb (Szerbia)
      tr_TR.ISO8859-9Török (Törökország)
      zh_CN.GB2312Egyszerűsített kínai (Kína, GB2312 kódolás)
      zh_TW.Big5Hagyományos kínai (Tajvan, Big5 kódolás)

      Megjegyzés: Nem mindegyik dokumentum érthető el mindegyik nyelven.

    • A dokumentum formátuma alapján. A dokumentumok több különböző formátumban állnak rendelkezésre. Mindegyik formátum használatának megvannak az előnyei és hátrányai. Egyes formátumok inkább az interneten keresztüli olvasgatásra megfelelőek, mások pedig nyomtatott formában nyújtanak esztétikus hatást. A több különböző formátumnak köszönhetően az olvasók igényeik szerint el tudják olvasni a dokumentáció különböző részeit akár a képernyőn, akár papíron. Jelenleg a következő formátumokban érhetőek el a dokumentumok:

      FormátumLeírás
      html-splitKis méretű, hiperhivatkozásokkal ellátott HTML állományok gyűjteménye
      htmlEgyetlen óriási, az egész dokumentumot tartalmazó HTML állomány
      pdbA Palm Pilot adatbázisának formátuma, amelyet az iSilo segítségével tudunk olvasni
      pdfAz Adobe-féle Portable Document Format
      psPostScript
      rtfA Microsoft Rich Text formátuma
      txtEgyszerű szöveges állomány

      Megjegyzés: Amikor egy ilyen dokumentumot betöltünk a Wordbe, akkor az oldalszámok maguktól nem frissülnek. Ehhez a dokumentum betöltése után nyomjuk le a Ctrl+A, Ctrl+End, F9 billentyűket.

    • A tömörítés és csomagolás típusa alapján. Ezek közül jelenleg hármat használunk.

      1. Ahol a formátum html-split, ott az állományokat a tar(1) segítségével csomagoltuk össze. Az így keletkező .tar állományt ezek után az alábbi részben szereplő tömörítési megoldásokkal tömörítettük.

      2. Az összes többi formátum esetén csak egyetlen állomány keletkezik, amelynek a neve típus.formátum (tehát például article.pdf, book.html és így tovább).

        Ezeket az állományokat azután két tömörítési eljárással tömörítjük.

        EljárásLeírás
        zipA zip formátum. FreeBSD alatt ezt úgy tudjuk kitömöríteni, ha először telepítjük a archivers/unzip portot.
        bz2A bzip2 formátum. Nem olyan elterjedt, mint a zip, de általában kisebb méretű állományokat készít. Ilyen állományokat akkor tudunk kitömöríteni, ha telepítjük a archivers/bzip2 portot.

        Ennek megfelelően tehát a kézikönyv bzip2-vel tömörített PostScript változata a handbook/ könyvtáron belül book.ps.bz2 néven található.

    Miután kiválasztottuk a számunkra megfelelő letöltendő formátumot és tömörítési módszert, magunknak kell letölteni a kiválasztott tömörített állományokat, majd kibontani ezeket és átmásolni a megfelelő helyre.

    Például, ha a GYIK fejezetekre darabolt, bzip2(1) segítségével tömörített változata a doc/en_US.ISO8859-1/books/faq/book.html-split.tar.bz2 állományban található meg. A letöltéséhez és kibontásához a következőket kell tennünk:

    # fetch ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/en_US.ISO8859-1/books/faq/book.html-split.tar.bz2
    # bzip2 -d book.html-split.tar.bz2
    # tar xvf book.html-split.tar

    A művelet befejeződésével kapunk néhány .html kiterjesztésű állományt. Ezek közül az egyik neve index.html, ebben található a tartalomjegyzék, a bevezetés és a dokumentum többi részére mutató hivatkozások. Ezeket az állományokat kell szükség szerint átmásolnunk vagy átmozgatnunk a megfelelő helyre.

    2.3. Hol található információ a FreeBSD levelezési listáiról?

    Az összes velük kapcsolatos információt a kézikönyv levelezési listákról szóló részében találjuk.

    2.4. Milyen FreeBSD hírcsoportok léteznek?

    Az összes rájuk vonatkozó információt a kézikönyv hírcsoportokról szóló részében találjuk meg.

    2.5. Vannak FreeBSD-s IRC (Internet Relay Chat) csatornák?

    Igen, a legtöbb nagyobb IRC hálózaton található FreeBSD-vel foglalkozó csatorna:

    • Az EFNet hálózaton található #FreeBSD csatorna lényegében egy FreeBSD-vel foglalkozó fórum, de itt ne nagyon próbálkozzunk segítséget kérni a többiektől, ha netalán lusták lennénk elolvasni a man oldalakat vagy éppen kutatunk valamit. Ez a hely elsősorban csevegésre szolgál, ahol mindenféle téma felmerül, a szextől kezdve a sportokon keresztül a nukleáris fegyverekig éppen úgy, ahogy a FreeBSD-ről is. Mi szóltunk előre! A szerver a irc.efnet.org címen érhető el.

    • Az EFNet hálózaton található #FreeBSDhelp csatorna kifejezetten a FreeBSD felhasználók megsegítését veszi célba. Az itt levők sokkal szívesebben válaszolnak a kérdéseinkre, mint a #FreeBSD csatornán.

    • A Freenode hálózaton található ##FreeBSD csatornán mindig sokan vannak, itt bármilyen témában kérhetünk segítséget. A beszélgetések időnként ugyan kifutnak a szigorú szakmai témákból, de a FreeBSD-vel kapcsolatos kérdések itt mindig elsőbbséget élveznek. Szívesen segítünk bárkinek, és lehetőség szerint igyekszünk a kézikönyv megfelelő részeire hivatkozni, vagy adni valamilyen útmutatást arra vonatkozóan, hogy merre tájékozódhatunk részletesebben a problémánkkal kapcsolatban. Ez alapvetően egy angol nyelvű csatorna, habár a világ minden tájáról érkeznek tagjaink. Ha az anyanyelvünkön szeretnénk inkább csevegni, akkor először tegyük fel a kérdésünket angolul, aztán próbálkozzunk a megfelelő ##freebsd-nyelv csatornán.

    • A DALNET hálózaton található #FreeBSD csatorna az Egyesült Államokból a irc.dal.net szerveren, Európából pedig az irc.eu.dal.net szerveren keresztül érhető el.

    • A DALNET hálózaton található #FreeBSDHelp csatorna az Egyesült Államokból a irc.dal.net szerveren, Európából pedig a irc.eu.dal.net szerveren keresztül érhető el.

    • Az UNDERNET hálózaton található #FreeBSD csatorna az Egyesült Államokból a us.undernet.org, Európából pedig a eu.undernet.org szerveren keresztül érhető el. Mivel ez a csatornát leginkább segítségnyújtásra tartjuk fenn, készüljünk fel arra, hogy a hivatkozott dokumentumokat is el kell olvasnunk.

    • A RUSNET hálózaton található #FreeBSD csatorna az oroszul beszélő FreeBSD felhasználók számára igyekszik segítséget nyújtani. Emellett viszont remek hely a nem szakmai jellegű témák megvitatásához is.

    • A Freenode hálózaton található #bsdchat csatorna a hagyományos kínai (UTF-8 kódolású) nyelvet beszélő FreeBSD felhasználókat igyekszik segíteni. A nem szakmai jellegű témák részére is egy remek hely.

    Az említett csatornák mindegyike egymástól független, és nem állnak egymással kapcsolatban. Sőt, még a csevegési stílusuk is eltérő, ezért érdemes a saját stílusunkhoz leginkább illeszkedőt megkeresni. Mint ahogy az összes IRC csatorna esetében előfordul, itt is könnyedén érhetnek bennünket személyes sértések vagy egyszerűen csak sok szóbeli sárdobálást láthatunk (mivel jóval több az ilyen helyeken a balga ifjú, mint a higgadtabb idős) -- ezekkel ne is törődjünk!

    2.6. Hol kaphatok kereskedelmi szintű FreeBSD tréninget és támogatást?

    A DaemonNews nyújt kereskedelmi szintű támogatást és tréninget a FreeBSD-hez. Erről részletesebb információkat a BSD Mall honlapján kaphatunk.

    A FreeBSD Mall is nyújt keresdelmi támogatást a FreeBSD-hez. Erről a honlapjunkon tudhatunk meg többet.

    A BSD Certification Group, Inc. DragonFly BSD, FreeBSD, NetBSD és OpenBSD rendszerekhez ad rendszergazdai képesítéseket. Amennyiben érdekel minket, látogassunk el a honlapjukra.

    Kérünk minden olyan további szervezetet, amely tréninget vagy támogatást kíván nyújtani a Projektnek, hogy jelentkezzenek és felvesszük őket a listánkra!


    Fejezet 3. Telepítés

    Nik Clayton
    3.1. Milyen állományokat kell letöltenünk a FreeBSD telepítéséhez?
    3.2. Mit tegyünk, ha a floppy image-ek nem férnek rá egyetlen lemezre?
    3.3. Hol található leírás a FreeBSD telepítéséről?
    3.4. Mire van szükség a FreeBSD használatához?
    3.5. Hogyan lehet saját telepítőfloppyt készíteni?
    3.6. A számítógépre lehet egynél több operációs rendszert is telepíteni?
    3.7. Windows mellé is telepíhető FreeBSD?
    3.8. A Windows letörölte a boot managert! Hogyan lehet visszaállítani?
    3.9. Az A, T és X sorozatú IBM Thinkpad laptopok lefagynak a FreeBSD telepítése utáni első indulásuk során. Hogy lehet ezen segíteni?
    3.10. Lehet telepíteni hibás szektorokat tartalmazó lemezre is?
    3.11. Furcsa dolgok történnek a telepítőfloppy használata közben! Mi okozhatja?
    3.12. ATAPI CD-meghajtóról indult a rendszer, de a telepítő szerint nem található semmilyen CD-meghajtó. Hova tűnt?
    3.13. PLIP (Parallel Line IP) használatával lehet laptopra telepíteni?
    3.14. A lemezmeghajtók esetében milyen geometriai beállításokat érdemes használni?
    3.15. Van valamilyen korlátozás a lemezek felosztására vonatkozóan?
    3.16. A FreeBSD kompatibilis valamilyen disk managerrel?
    3.17. Amikor a FreeBSD-t telepítése után először elindul, akkor egy “Hiányzó operációs rendszer” vagy egy “Missing Operating System” hiba jelenik meg. Mi történt?
    3.18. Miért nem lehet továbblépni a boot manager F? menüjénél?
    3.19. Az összes forrást telepíteni kell?
    3.20. Kell rendszermagot fordítani?
    3.21. A jelszavak tárolására használható-e DES, Blowfish vagy MD5, és ha igen, akkor hogyan lehet megadni?
    3.22. A rendszerindító lemez először elindul, de aztán miért akad meg a Probing Devices... képernyőn?
    3.23. A rendszer telepítését követő újraindítás után miért jelenik meg a “panic: can't mount root” hibaüzenet?
    3.24. Mennyi memóriát tudunk használni?
    3.25. Mik az FFS állományrendszerek korlátai?
    3.26. Egy új rendszermag fordítása után miért jelenik meg a “archsw.readin.failed” hibaüzenet az indítás során?
    3.27. A telepítés megszakad a rendszer indítása közben, mit lehet ezzel kezdeni?

    3.1. Milyen állományokat kell letöltenünk a FreeBSD telepítéséhez?

    Ehhez a következő három floppy image-re lesz alapvetően szükségünk: floppies/boot.flp, floppies/kern1.flp és floppies/kern2.flp. Ezeket az image-eket az fdimage vagy dd(1) segédprogramokkal kell rámásolnunk lemezekre.

    Ha magukat a terjesztéseket akarjuk letölteni (mert például egy DOS típusú állományrendszerről akarunk telepíteni), akkor az alábbi terjesztéseket kell beszereznünk:

    • base/

    • manpages/

    • compat*/

    • doc/

    • src/ssys.*

    A teljes folyamatot, valamint a telepítéssel kapcsolatos általános tudnivalókat valamivel bővebben a kézikönyv FreeBSD telepítésével foglalkozó részéből ismerhetjük meg.

    3.2. Mit tegyünk, ha a floppy image-ek nem férnek rá egyetlen lemezre?

    Egy 3,5 colos (1,44 MB kapacitású) lemezen 1 474 560 byte-nyi adat fér el. A rendszerindításhoz használt image mérete is pontosan 1 474 560 byte.

    A rendszerindító lemezek előkészítése során elkövetett hibák általában a következők:

    • Amikor az image-eket FTP-n keresztül töltjük le, elfelejtünk bináris (binary) átviteli módot használni.

      Egyes FTP kliensek alapértelmezés szerint szöveges (ascii) módban viszik át az állományokat, és ennek során megpróbálják a sorvége karaktereket az adott operációs rendszer konvenciói szerint átalakítani. Ilyenkor szinte kétségtelen, hogy ezzel tönkreteszik az image-et. Ezért ne felejtsük el ellenőrizni a letöltött image-eket: ha a méretük nem egyezik meg pontosan a szerveren levő változatukéval, akkor gyaníthatóan a letöltés közben történt velük valami.

      Megoldás: miután csatlakoztunk a szerverhez, de még mielőtt elkezdük volna a letöltést, az FTP kliens parancssorában gépeljük be, hogy binary.

    • Az image lemezre másolása a DOS copy parancsának (vagy hasonló grafikus eszközök) használatával.

      A copy és a hozzá hasonló programok nem használhatóak erre a célra, mivel az image-eket közvetlenül a rendszeindításhoz hozták létre. Ennek megfelelően az egyes image-ek a lemezek teljes tartalmát sávról sávra tartalmazzák, és így nem hétköznapi állományként kell velük bánni. Ezeket a floppykra alacsonyszintű eszközök (például az fdimage vagy rawrite) segítségével, “nyers” módban kell felvinni, ahogy azt a FreeBSD telepítését leíró útmutatóban is olvashatjuk.

    3.3. Hol található leírás a FreeBSD telepítéséről?

    A telepítés részletes leírása a kézikönyv FreeBSD telepítéséről szóló részében olvasható.

    3.4. Mire van szükség a FreeBSD használatához?

    A FreeBSD használatához egy 486-os vagy jobb processzorral rendelkező számítógépre, 24 MB vagy annál több memóriára, és legalább 150 MB tárhelyre lesz szükségünk.

    A FreeBSD összes változata képes futni szinte bármilyen olcsó MDA típusú grafikus kártyával, de az Xorg használatához már VGA vagy annál jobb videokártya szükségeltetik.

    Lásd 4 fejezet.

    3.5. Hogyan lehet saját telepítőfloppyt készíteni?

    Jelen pillanatban ennek nincs egyszerű módja. Minden egyes kiadáshoz tartoznak telepítőfloppyk, használjuk ezeket.

    Ha egy módosított kiadást akarunk készíteni, kövessük a(z angol nyelvű) Release Engineering cikk útmutatásait.

    3.6. A számítógépre lehet egynél több operációs rendszert is telepíteni?

    3.7. Windows mellé is telepíhető FreeBSD?

    Először telepítsük a Windowst, majd a FreeBSD-t. A FreeBSD boot managere ekkor képes lesz a Windows és a FreeBSD indítására is. Vigyázzunk, mert ha a Windowst telepítjük fel másodikként, akkor az minden figyelmeztetés nélkül durván felülírja az aktuális boot managert. Ha ezt tapasztaljuk, akkor olvassuk el a következő szakaszt.

    3.8. A Windows letörölte a boot managert! Hogyan lehet visszaállítani?

    A FreeBSD-hez tartozó boot managert háromféleképpen tudjuk újratelepíteni:

    • Indítsuk el a DOS-t, lépjünk be a FreeBSD terjesztéshez tartozó tools könyvtárba és keressük meg a bootinst.exe nevű állományt. Indítsuk el a következő módon:

      ...\TOOLS> bootinst.exe boot.bin

      Ekkor a boot manager visszakerül a helyére.

    • Használjuk a FreeBSD-hez létrehozott rendszerindító lemezeket, és a telepítőben válasszuk a Custom (Egyéni telepítés) menüpontot, majd azon belül válasszuk a Partition (Partíció) pontot. Itt válasszuk ki azt a meghajtót, ahol korábban a boot managerünk volt (ez valószínűleg a felsorolásban az első lesz) és amikor belépünk a partíciószerkesztőbe, akkor egyből válasszuk a Write (W) opciót (tehát ne változtassunk semmit). Ez megerősítést fog kérni, amire válasszuk a [ Yes ] gombot, és amikor a boot manager kiválasztása rész jelenik meg, válasszuk a FreeBSD Boot Manager pontot. Ezzel a boot manager újra a lemezre íródik. Miután ezzel végeztünk, lépjünk ki a telepítőből és indítsuk újra a rendszerünket a megszokott módon.

    • Indítsuk a rendszerünket a FreeBSD rendszerindító lemezéről (vagy CD-jéről), majd válasszuk a telepítőben a Fixit (Javítás) menüpontot. Ezután válasszuk a javítófloppy vagy a(z “élő” állományrendszerrel rendelkező) 2. CD használatát, majd lépjünk be a javításhoz elindított parancsértelmezőbe. Ezt követően adjuk ki az alábbi parancsot:

      Fixit# fdisk -B -b /boot/boot0 eszköz

      A parancsban az eszköz helyére annak az eszköznek a nevét adjuk meg, amelyről a rendszert szoktuk indítani, például ad0 (az első IDE-lemez), ad4 (az első IDE-lemez valamelyik vezérlőn), da0 (az első SCSI-lemez) stb.

    3.9. Az A, T és X sorozatú IBM Thinkpad laptopok lefagynak a FreeBSD telepítése utáni első indulásuk során. Hogy lehet ezen segíteni?

    Ezeken a gépeken az IBM BIOS-ának egy korai hibás változata található, amely a FreeBSD által használt partíciókat tévesen “suspend-to-disk” típusú partícióknak tekinti. Ennek következtében amikor a BIOS megpróbálja értelmezni a FreeBSD által létrehozott partíciót, megakad.

    Az IBM [1] szerint az alábbi típus/BIOS változatokban található meg ez a hiba.

    TípusBIOS
    T20IYET49WW vagy későbbi
    T21KZET22WW vagy későbbi
    A20pIVET62WW vagy későbbi
    A20mIWET54WW vagy későbbi
    A21pKYET27WW vagy későbbi
    A21mKXET24WW vagy későbbi
    A21eKUET30WW

    Úgy értesültünk, hogy az IBM BIOS-ok későbbi változataiban ismét felbukkant ez a típusú hiba. Ebben az üzenetben Jacques Vidrine a FreeBSD laptop computer levelezési lista tagjainak egy olyan módszert mutat be, ami segíthet, ha az újabb típusú IBM laptopunk nem tudja elindítani a FreeBSD-t, és így váltani tudunk a BIOS előző vagy következő verziójára.

    Ha régebbi típusú BIOS-szal rendelkezünk és a frissítés nem megoldható, akkor a FreeBSD-t telepíthetjük úgy is, hogy megváltoztatjuk a FreeBSD által használt partíció azonosítóját és egy olyan rendszerindító blokkot telepítünk, amelyik képes ezt kezelni.

    Ehhez először is a gépet egy olyan állapotba kell visszahoznunk, ahol már túl tudunk jutni a rendszerindító képernyőn. Ezt úgy tudjuk elérni, ha nem engedjük, hogy a gép indulása közben észrevegye az elsődleges lemezen található FreeBSD partíciót. Erre az egyik lehetséges megoldás, ha a gépből ideiglenesen eltávolítjuk a merevlemezt és átrakjuk egy régebbi ThinkPadba (például egy ThinkPad 600-as típusba) vagy a megfelelő átalakító használatával az asztali számítógépünkbe. Miután ezzel megvagyunk, töröljük le a FreeBSD partícióját és tegyük vissza a lemezt. Ekkor a ThinkPad újból működőképes lesz.

    Ezt követően az alábbi utasításokat követve tudjuk telepíteni a FreeBSD-t:

    1. Töltsük le a boot1 és boot2 állományokat a http://people.FreeBSD.org/~bmah/ThinkPad/ címről. Olyan helyre tegyük ezeket, ahol később is még el tudjuk érni.

    2. A megszokott módon telepítsük a FreeBSD-t a ThinkPadre. Ilyenkor ne használjuk a Veszélyesen dedikált (Dangerously Dedicated) módot. A telepítés befejezése után ne indítsuk újra a gépet.

    3. Váltsunk át a vészhelyzetekben használatos parancsértelmezőre (“Emergency Holographic Shell”, Alt+F4) vagy indítsuk el egy javításhoz használt (“fixit”) parancsértelmezőt.

    4. Az fdisk(8) segítségével változtassuk meg a FreeBSD-s partíció azonosítóját a 165 értékről a 166 értékre (ezt a típust az OpenBSD használja).

    5. Másoljuk át az imént letöltött boot1 és boot2 állományokat a helyi állományrendszerre.

    6. A disklabel(8) segítségével rögzítsük a boot1 és boot2 tartalmát a FreeBSD slice-unkra.

      # disklabel -B -b boot1 -s boot2 ad0sn

      ahol az n annak a slice-nak a sorszáma, ahová a FreeBSD-t telepítettük.

    7. Indítsuk újra a gépet. A rendszerindító parancssorban ekkora megjelenik az OpenBSD indításának lehetősége. Ezen keresztül tudjuk a FreeBSD-t elindítani.

    A kedves Olvasónak meghagytuk azt az esetet, amikor ugyanezen a konfiguráción OpenBSD és FreeBSD rendszereket akarunk egyszerre használni.

    3.10. Lehet telepíteni hibás szektorokat tartalmazó lemezre is?

    Igen, ez lehetséges, de egyáltalán nem ajánlott.

    Manapság ha egy IDE-meghajtón hibás szektorokat találunk, akkor az arra utal, hogy hamarosan tönkremegy (a meghajtó belső átképező funkciói már képesek megbirkózni a rossz szektorok növekvő számával, ami arra enged következtetni, hogy a lemez felülete jelentős mértékben sérült). Ezért inkább egy új merevlemezes meghajtó vásárlását javasoljuk.

    Ha hibás SCSI-meghajtónk van, ezt a választ olvassuk el.

    3.11. Furcsa dolgok történnek a telepítőfloppy használata közben! Mi okozhatja?

    Ha olyan furcsa dolgokkal találkozunk a telepítőfloppy használata során, mint például a lemez állandó darálása vagy a rendszer váratlan újraindulása, akkor a következő három kérdést érdemes feltennünk magunknak:

    1. Biztos, hogy új, frissen formázott, teljesen hibamentes floppykat használunk (tehát olyanokat, amelyeket egy frissen bontott dobozból vettünk ki, és nem olyanokat, amelyeket valamelyik magazin mellékletéből szedtük ki vagy éppen három évig az ágy alatt tároltunk)?

    2. Biztos, hogy bináris (vagy image) módban töltöttük le a lemezek image-eit? (Ne szégyelljük, mindenki életében legalább egyszer töltött már le véletlenül bináris állományt szöveges formátumban!)

    3. Windows 95 vagy Windows 98 alatt DOS módban használtuk az fdimage vagy rawrite parancsot? Ezek az operációs rendszerek általában nem férnek össze az olyan programokkal, amelyek közvetlenül a hardverrel akarnak kommunikálni, amire a lemezek írásához is szükség van. Ez a probléma leginkább akkor merülhet fel, amikor a grafikus felületen belül egy DOS ablakban futtatjuk ezeket a programokat.

    Kaptunk olyan visszajelzést is, hogy gondjaink lehetnek, ha Netscape®-pel töltjük le a rendszerindító lemezeket, ezért lehetőség szerint igyekezzünk más FTP klienst használni.

    3.12. ATAPI CD-meghajtóról indult a rendszer, de a telepítő szerint nem található semmilyen CD-meghajtó. Hova tűnt?

    Ezt a problémát általában egy rosszul beállított CD-meghajtó okozza. A CD-meghajtó rengeteg számítógépben a másodlagos IDE-vezérlő slave (szolga) portján található, a master (mester) port használata nélkül. Ez az ATAPI specifikációi szerint nem szabályos, de a Windows ezzel különösebben nem törődik, a BIOS pedig egyszerűen figyelmen kívül hagyja a rendszer indítása során. Ezért képes a BIOS ilyenkor látni a CD-meghajtót, és ezért nem képes a FreeBSD teljes telepítésnél használni.

    Ezen úgy tudunk segíteni, ha a CD-meghajtónkat az IDE-vezérlőn átállítjuk masterre, vagy arra az IDE-vezérlőre teszünk egy master eszközt.

    3.13. PLIP (Parallel Line IP) használatával lehet laptopra telepíteni?

    Igen. Ehhez csupán egy szabványos Laplink-kábel kell. Amennyiben szükséges, a párhuzamos vonali hálózatkezelés beállításához olvassuk el kézikönyv PLIP-ről szóló részét.

    3.14. A lemezmeghajtók esetében milyen geometriai beállításokat érdemes használni?

    Megjegyzés: A lemez “geometriája” alatt a lemezen található cilinderek, fejek és a sávonkénti szektorok számát értjük. Ezt a továbbiakban csak CHS-értéknek nevezzük (mint Cylinder/Head/Sector). Ebből állapítja meg a PC-s BIOS, hogy a lemezen honnan kell olvasnia és hova kell írnia.

    Ez rengeteg félreértést okoz az újdonsült rendszergazdák számára. Először is megemlítenénk, hogy egy SCSI-lemez fizikai geometriája ebben az esetben teljesen lényegtelen, mivel a FreeBSD lemezblokkokban gondolkozik. Igazából nem létezik “a” fizikai geometria fogalma, ugyanis a szektorok sűrűsége a lemezen felületén belül sem állandó. Amit a gyártók általában “fizikai geometriának” hívnak, az általában az a geometria, amely a legkevesebb helyveszteséggel jár. Az IDE-lemezek esetében a FreeBSD ugyan CHS-értékekkel dolgozik, de ezt minden modernebb meghajtó legbelül blokkhivatkozásokká alakítja.

    Egyedül tehát a logikai geometria számít. Ez a válasz, amikor a BIOS megkérdezi a meghajtónkat: “Mik a geometriai beállításaid?”, és ennek felhasználásával kommunikál vele a későbbiekben. Mivel a FreeBSD is ezt az értéket használja fel a rendszer indításánál, fontos, hogy jól adjuk meg. Ez különösen abban az esetben számít, amikor több operációs rendszer is található a lemezen, hiszen mindegyiküknek azonos geometriai beállításokat kell használniuk. Ellenkező esetben komoly gondok léphetnek fel a rendszer indítása során!

    A SCSI-lemezek esetében a beállítandó geometria értéke attól függ, hogy a vezérlőn használjuk-e a bővített fordítás támogatását (extended translation support, amelyet gyakran csak úgy neveznek, hogy “Support for DOS disks >1GB” vagy ehhez hasonlóan). Ha ezt letiltottuk, akkor használjuk az N cilinder, 64 fej és 32 szektor sávonkénti felírást, ahol N a lemez MB-okban számított mérete. Így például egy 2 GB méretű lemez geometriai beállítása 2048 cilinder, 64 fej és 32 szektor sávonként.

    Ha viszont engedélyeztük (ami gyakran előfordul, mivel így lehet az MS-DOS® bizonyos korlátozásait megkerülni) és a lemez kapacitása 1 GB-nál több, adjunk meg M cilindert, 255 fejet, 63 (és nem 64) szektort sávonként, ahol az M a lemez MB-okban mért kapacitása osztva 7,844238-al (!). Tehát az iménti példában is említett 2 GB-os meghajtó esetében 261 cilindert, 255 fejet és sávonként 63 szektort kapunk.

    Ha nem lennénk benne biztosak, vagy a FreeBSD-nek a telepítés közben nem sikerül megállapítania a lemez geometriai beállításait, mi magunk is könnyen meg tudjuk határozni, ha készítünk egy kis méretű DOS partíciót a lemezen. A BIOS ekkor észlelni fogja a megfelelő geometriai beállításokat, és ha már nincs rá tovább szükségünk, akkor a partíciószerkesztőben nyugodtan törölhetjük. Hálózati kártyák és hasonló hardverek programozásához azonban még a későbbiekben hasznos lehet.

    Használhatjuk viszont a FreeBSD-hez mellékelt pfdisk.exe segédprogramot is. Ezt a FreeBSD CD vagy a FreeBSD FTP oldalainak tools könyvtárában találhatjuk meg. Ennek a programnak a segítségével ki tudjuk deríteni, hogy a lemezen levő többi operációs rendszer milyen geometriai beállításokat használ. Az így kapott értékeket fel tudjuk használni a partíciószerkesztőben.

    3.15. Van valamilyen korlátozás a lemezek felosztására vonatkozóan?

    Igen. A rendszerindításhoz használt (gyökér)partíciónak az 1024. cilinder alatt kell kezdődnie, mivel a BIOS csak így képes betölteni onnan a rendszermagot. (Ez a korlátozás a PC-s BIOS-ok miatt van, nem a FreeBSD miatt.)

    A SCSI-lemezek esetében ez általában azt jelenti, hogy rendszerindításhoz használt partíciónak az első 1024 MB alatt kell kezdődnie (vagy az első 4096 MB alatt, ha a bővített fordítást is engedélyeztük -- lásd az előző kérdést). Az IDE-lemezek esetében ez 504 MB-nak felel meg.

    3.16. A FreeBSD kompatibilis valamilyen disk managerrel?

    A FreeBSD felismeri az Ontrack Disk Managert és figyelembe veszi. A többi disk managert nem támogatja.

    Ha egyedül csak a FreeBSD-t akarjuk használni, akkor nincs szükségünk disk managerre. Egyszerűen csak állítsunk be egy akkora méretű lemezt, amivel a BIOS képes még megbirkózni (a határ általában 504 MB) és majd a FreeBSD kideríti, hogy valójában mennyi hely áll a rendelkezésére. Ha régebbi gyártmányú merevlemezünk van MFM-vezérlővel, akkor a FreeBSD-nek konkrétan meg kell mondanunk, hogy mennyi cilindert használhat.

    Ha a FreeBSD mellett más operációs rendszereket akarunk használni, akkor ezt disk manager nélkül is megtehetjük. Egyedül arra kell vigyáznunk, hogy a FreeBSD indításához használt partíció és a másik operációs rendszer slice-a az első 1024 cilinder alatt kezdődjön. Ha nagyon körültekintőek akarunk lenni, akkor erre a célra egy 20 MB méretű rendszerindító partíció tökéletesen megfelel.

    3.17. Amikor a FreeBSD-t telepítése után először elindul, akkor egy “Hiányzó operációs rendszer” vagy egy “Missing Operating System” hiba jelenik meg. Mi történt?

    Ez általában akkor fordul elő, amikor a FreeBSD és a DOS vagy más operációs rendszerek nem értenek egyet a lemez geometriai beállításaiban. Telepítsük újra a FreeBSD-t és ezúttal figyelmesen kövessük a fentebb adott utasításokat!

    3.18. Miért nem lehet továbblépni a boot manager F? menüjénél?

    Ez az előbbi kérdéssel kapcsolatos probléma egy másik tünete: a BIOS és a FreeBSD által használt geometriai beállítások nem egyeznek! Amennyiben a vezérlő vagy a BIOS támogatja a cilinderek fordítását (amelyet gyakran “>1GB driver support” néven találhatunk meg), akkor próbáljuk meg átállítani és így újratelepíteni a FreeBSD-t.

    3.19. Az összes forrást telepíteni kell?

    Alapvetően nem. Ettől függetlenül azonban javasoljuk legalább a base források telepítését, ahol számos olyan állomány megtalálható, amelyekre a későbbiekben még hivatkozni fogunk, valamint a sys (rendszermag) források telepítését, amelyben a rendszermag forrásai találhatóak. A rendszeren belül azonban a működéshez semmi sem igényli közvetlenül a források jelenlétét, egyedül talán a rendszermag beállítását végző config(8) program. A rendszermag forrásainak kivételével a rendszerben a fordítás menetét úgy építettük fel, hogy akár egy írásvédett módon csatlakoztatott NFS állományrendszerről is képes legyen dolgozni (a rendszermag forrásaira vonatkozó megszorítások miatt azonban azt javasoljuk, hogy ezt közvetlenül ne a /usr/src könyvtárba csatlakoztassuk, hanem egy másik helyre, ahol aztán szimbolikus linkek segítségével másoljuk le a forráskód könyvtárszerkezetének legfelső szintjét).

    Ha kéznél vannak a források és tisztában vagyunk a rendszerfordítás folyamatával, akkor a későbbiekben sokkal könnyebben tudjuk a FreeBSD rendszerünket frissíteni.

    A források egyes részeinek kiválasztásához lépjünk be a telepítőprogram Custom (Egyéni telepítés), majd a Distributions (Terjesztések) menübe.

    3.20. Kell rendszermagot fordítani?

    Egy új rendszermag fordítása korábban fontos része volt a FreeBSD telepítésének, de a legújabb kiadások már kihasználják a rendszermag beállításának sokkal baratságosabb módszereit is. A FreeBSD 5.X és az azt követő változatokban már a betöltőből könnyen be tudjuk állítani a rendszermagot a beépített “hints” (eszközökre vonatkozó útmutatások) módszere által felkínált rugalmasabb lehetőségeknek köszönhetően.

    Egy új rendszermag készítése viszont olyan esetekben még továbbra is hasznos lehet, amikor csak azokat a meghajtókat akarjuk megtartani benne, amelyekre ténylegesen szükségünk van. Ezzel többnyire memóriát tudunk megspórolni, habár a legtöbb rendszer esetében erre igazából nincs szükségünk.

    3.21. A jelszavak tárolására használható-e DES, Blowfish vagy MD5, és ha igen, akkor hogyan lehet megadni?

    A FreeBSD alapértelmezés szerint MD5-alapú jelszavakat használ. Ezeket a DES algoritmuson alapuló hagyományos UNIX-os jelszavaknál sokkal megbízhatóbbnak tartják. A DES formátum természetesen továbbra is elérhető olyan esetekben, amikor a kevésbé biztonságos jelszavakat használó régi operációs rendszerekkel akarunk együttműködni. Emellett a FreeBSD-ben lehetőségünk van a sokkal biztonságosabb Blowfish jelszóformátum használatára is. Az új jelszavak formátumát az /etc/login.conf állományban található passwd_format bejelentkezési tulajdonság adja meg, amelynek értéke des, blf (amennyiben elérhető), illetve md5 lehet. A bejelentkezési tulajdonságokkal kapcsolatban a login.conf(5) man oldalt érdemes elolvasni.

    3.22. A rendszerindító lemez először elindul, de aztán miért akad meg a Probing Devices... képernyőn?

    Ha a rendszerünkhöz IDE-s Zip® vagy Jaz® meghajtót csatlakoztattunk, akkor próbálkozzunk újra az eltávolítása után. A rendszerindító floppy ugyanis hajlamos összekeverni a meghajtókat. A rendszer telepítése után természetesen újra csatlakoztathatjuk a meghajtót. Ezt remélhetőleg egy következő verzióban már kijavítják.

    3.23. A rendszer telepítését követő újraindítás után miért jelenik meg a “panic: can't mount root” hibaüzenet?

    Ez a hiba a rendszerindító blokk és a rendszermag közti félreértésből, a lemezes eszközök helytelen kezeléséből fakad. Ilyen hibát általában olyan rendszerekben kapunk, ahol két masternek beállított IDE-lemez található vagy ha az egyes IDE-vezérlőkre csak egy-egy eszközt csatlakoztattunk és a FreeBSD-t a másodlagos IDE-vezérlőre kapcsolódó lemezre telepítettük. Ekkor a rendszerindító blokk szerint a rendszert az ad0 (de a BIOS-ban a második) lemezre telepítettük, miközben a rendszermag szerint ez a másodlagos IDE-vezérlőn elhelyezkedő első lemez, az ad2. Az eszközök felkutatása után a rendszermag megpróbálja a rendszerindító blokk által nyilvántartott eszközről, az ad0 lemezről csatlakoztatni a rendszerindító partíciót, ami viszont számára a ad2 eszköz lesz, így ez a próbálkozása meghiúsul.

    Ezt a félreértést a következő módokon lehet helyretenni:

    1. Indítsuk újra a rendszert és nyomjuk le az Enter billentyűt, amikor a Booting kernel in 10 seconds; hit [Enter] to interrupt szöveg megjelenik. Ezzel a rendszerbetöltő parancssorába kerülünk.

      Ezután gépeljük be a set root_disk_unit="lemezszám" sort. Itt a lemezszám értéke 0 lesz, ha a FreeBSD-t az elsődleges IDE-vezérlő master portján levő merevlemezre telepítettük, 1, ha az elsődleges IDE-vezérlő slave portjára, 2, ha a másodlagos IDE-vezérlő master portjára, és végül 3, ha a másodlagos IDE-vezérlő slave portjára.

      Most már begépelhetjük, hogy boot, és így a rendszernek el is kell indulnia.

      Ha ezt a változtatást véglegesíteni akarjuk (vagyis nem akarjuk ugyanezt eljátszani a FreeBSD minden egyes indítása során), akkor a /boot/loader.conf.local állományba vegyünk fel a root_disk_unit="lemezszám" sort.

    2. Tegyük át a FreeBSD-t tartalmazó lemezt az elsődleges IDE-vezérlőre, és ezzel megszűnik az iménti félreértés.

    3.24. Mennyi memóriát tudunk használni?

    A memóriára vonatkozó korlátozások platformonként változnak. Egy szabványos i386 telepítés esetén például ez a határ 4 GB, de pae(4) segítségével akár még ennél több is elérhető. Ehhez olvassuk el az i386 platformon 4 GB-nál több memória használatára vonatkozó utasításokat.

    A FreeBSD/pc98 esetén a korlát szintén 4 GB, azonban itt a PAE nem használható. A FreeBSD által támogatott összes többi architektúra elméletileg ennél több memóriát képes kezelni (több terabyte-ot).

    3.25. Mik az FFS állományrendszerek korlátai?

    Az FFS állományrendszerek méretének elméleti határa 8 TB (2 milliárd blokk), illetve az alapértelmezett 8 KB-os blokkméret esetén 16 TB. A gyakorlatban azonban szoftveresen ebből 1 TB használható ki, de kisebb módosításokkal akár 4 TB-os állományrendszer is használható (és létezik).

    Egyetlen FFS állományrendszerbeli állomány mérete megközelítőleg legfeljebb 1 milliárd blokk lehet, ami 4 KB-os blokkmérettel számolva 4 TB-ot jelent.

    Táblázat 3-1. Az állományok maximális mérete

    BlokkméretGyakorlatbanElméletben
    4 KB> 4 GB4 TB - 1
    8 KB> 32 GB32 TB - 1
    16 KB> 128 GB32 TB - 1
    32 KB> 512 GB64 TB - 1
    64 KB> 2048 GB128 TB - 1

    4 KB-os blokkméret esetén a háromszoros indirekcióval származtatott blokkok a gyakorlatban is kihasználhatóak, és az egészet elméletben egyedül csak az állományrendszerben így ábrázolható blokkok maximális száma korlátozná (ami kb. 10243 + 10242 + 1024), azonban a gyakorlatban ezt az állományrendszeri blokkokra vonatkozó 1 GB - 1 méretű (rossz) határ korlátozza. Az állományrendszeri blokkok számát ugyanis ki kellene terjeszteni a 2 GB - 1 méretig. 2 GB - 1 számú blokk használata körül jelentkezik ugyan néhány hiba, de ezek 4 KB-os blokkméret esetén nem is érhetőek el.

    A 8 KB-nál nagyobb blokkméretek esetén mindenre a blokkok 2 GB - 1 maximális mennyisége érvényes, de a gyakorlatban ezt a blokkok számának 1 GB - 1 határa korlátozza. Az eredeti 2 GB - 1 mennyiségű blokk használata gondokat okozhat.

    3.26. Egy új rendszermag fordítása után miért jelenik meg a “archsw.readin.failed” hibaüzenet az indítás során?

    Mert a rendszermag és a felhasználói programok verziója eltér. A rendszermag frissítésekor feltétlenül használjuk a make buildworld és a make buildkernel parancsokat is!

    A rendszerindítás második fokozatában közvetlenül meg tudjuk adni a betöltendő rendszermagot, ha a betöltő indítása előtt, a | jel megjelenésekor lenyomunk egy billentyűt.

    3.27. A telepítés megszakad a rendszer indítása közben, mit lehet ezzel kezdeni?

    Próbáljuk meg letiltani az ACPI támogatást. Ezt úgy tudjuk megtenni, hogy amikor a rendszertöltő elindul, lenyomjuk a Szóköz billentyűt. Ekkor a következőt kapjuk:

    OK

    Itt gépeljük be az alábbi parancsot:

    unset acpi_load

    Majd ezt:

    boot

    Fejezet 4. Hardverkompatibilitás

    4.1. Általános kérdések

    4.1.1. A FreeBSD rendszerükhöz szeretnénk hardvert vásárolni. Melyik gyártmány/márka/típus a legjobb?

    4.1.1. A FreeBSD rendszerükhöz szeretnénk hardvert vásárolni. Melyik gyártmány/márka/típus a legjobb?

    Ez állandó téma a FreeBSD levelezési listákon. Mivel a hardverek gyorsan változnak, nem is számíthatunk másra. Továbbra is határozottan javasoljuk, hogy olvassuk át figyelmesen a FreeBSD 7.2 vagy 6.4 változatához tartozó hardverjegyzéket (Hardware Notes) és nézzünk után a levelezési listák archívumában mielőtt bármire is rákérdeznéünk a legfrissebb és legjobb hardverek ügyében. Könnyen előfordulhat, hogy éppen a múlt héten esett szó arról a típusú eszközről, amiről éppen érdeklődni szeretnénk.

    Ha laptoppal kapcsolatban lenne kérdésünk, akkor nézzük meg a FreeBSD laptop computer levelezési lista archívumát. Minden más esetben érdemes inkább a FreeBSD general questions levelezési lista archívumait megnézni vagy az adott hardverhez tartozó levelezési listát böngészni.


    4.2. Memória

    4.2.1. A FreeBSD képes 4 GB-nál, 16 GB-nál vagy akár 48 GB-nál több memóriát (RAM-ot) támogatni?
    4.2.2. A FreeBSD miért jelez 4 GB-nál kevesebb memóriát i386 architektúrájú számítógépeken?

    4.2.1. A FreeBSD képes 4 GB-nál, 16 GB-nál vagy akár 48 GB-nál több memóriát (RAM-ot) támogatni?

    Igen. A FreeBSD operációs rendszerként képes az adott platformon kihasználni az összes rendelkezésre álló fizikai memóriát. Ne felejtsük el azonban, hogy az egyes platformokon ennek határa eltér. Például az i386 platformon a PAE használata nélkül legfeljebb csak 4 GB memóriát tudunk elérni (amely azonban a PCI számára fenntartott címtér miatt a valóságban némileg kevesebb), illetve a PAE használatával legfeljebb 64 GB memóriát. Az AMD64 platformokon viszont már egészen 1 TB memóriáig is elmehetünk.

    4.2.2. A FreeBSD miért jelez 4 GB-nál kevesebb memóriát i386 architektúrájú számítógépeken?

    Az i386 platformon a címtér 32 bites, ami azt jelenti, hogy itt legfeljebb 4 GB memória címezhető meg (és érhető el). Ráadásul a címtér bizonyos tartományait a hardvereszközök számára tartják fenn különböző célokra, például a PCI eszközök működtetésére és vezérlésére, a videomemória hozzáférésére stb. Ennélfogva az operációs rendszer és annak rendszermagja által felhasználható teljes memória mérete jelentősen kevesebb, mint 4 GB. Ezen a típusú konfigurációkon általában 3,2 GB és 3,7 GB között mozog a maximálisan kihasználható fizikai memória mérete.

    Ha mégis 3,2  vagy 3,7 GB-nál több memóriát szeretnénk elérni (4 GB-ot vagy akár annál is többet), akkor ahhoz a PAE nevű speciális módosításra lesz szükségünk. A PAE a “Physical Address Extension” (“Fizikai címkiterjesztés”) rövidítése, és egy olyan módszerre utal, amellyel a 32 bites x86 típusú processzorokon tudunk 4 GB-nál több memóriát címezni. Lényegében nem csinál mást, csak 4 GB-os határ felé képezi le azokat a memóriaterületeket, amelyeket egyébként a hardverek részére tartanak fenn, ezzel kiegészíti a fizikai memóriát (pae(4)). A PAE használatának számos hátránya van: ebben a módban a megszokottnál (vagyis PAE nélkül) némileg lassabb a memória elérése, illetve ilyenkor a betölthető rendszermag-modulok (lásd kld(4)) sem támogatottak. Emiatt az összes meghajtót bele kell fordítanunk a rendszermagba.

    A PAE használatát általában a PAE nevű, a rendszermaghoz gyárilag mellékelt konfigurációs állománnyal engedélyezhetjük. Ezt eleve úgy állították össze, hogy gond nélkül készíteni tudjuk egy ilyen rendszermagot. Érdemes azonban megemlíteni, hogy a konfigurációs állomány bizonyos tekintetben egy kissé konzervatív, mivel egyes PAE esetén használhatatlannak megjelölt meghajtók valójában mégis minden gond nélkül hozzáadhatóak a konfigurációhoz. Ezzel kapcsolatban azt javasoljuk, hogy ha az adott meghajtó használható valamelyik 64 bites architektúrán (például AMD64-en), akkor nagy valószínűséggel PAE-vel is működni fog. Amennyiben saját magunk szeretnénk egy PAE-rendszermagot készíteni, akkor a következő sort tegyük bele a konfigurációs állományba:

    options       PAE

    A PAE alkalmazása napjainkban annyira már nem jellemző, mivel az újabb x86 hardverek mindegyike képes 64 bites (AMD64 vagy Intel 64) módban futni. Ebben az esetben már lényegesen nagyobb címtér használatára nyílik lehetőségünk, így nincs szükségünk további trükkökre. A FreeBSD támogatja az AMD64 architektúrát, így ha 4 GB-nál több memóriát szeretnénk elérni, akkor inkább a FreeBSD ezen változatát érdemes alkalmazni.


    4.3. Architektúrák és processzorok

    4.3.1. A FreeBSD az x86-on kívül támogat más architektúrájú rendszereket is?
    4.3.2. A FreeBSD támogatja a szimmetrikus többprocesszoros (SMP) rendszereket?

    4.3.1. A FreeBSD az x86-on kívül támogat más architektúrájú rendszereket is?

    Igen. A FreeBSD jelenleg az Intel x86 és az AMD64 architektúrákon működik. A Az Intel EM64T, IA-64, ARM, PowerPC, sun4v és Sparc64® architektúrák is támogatottak. A további tervezett platformok között van még a MIPS® és az S/390®, a MIPS aktuális állapotáról és FreeBSD MIPS levelezési lista segítségével értesülhetünk. Az újabb architektúrákhoz kapcsolódó általános jellegű megbeszéléseket a FreeBSD non-Intel platforms levelezési lista foglalja össze.

    Amennyiben a számítógépünk architektúrája nem szerepel a jelenleg támogatottak között, és valamilyen gyors megoldásra lenne szükségünk, akkor javasoljuk a NetBSD vagy az OpenBSD használatát.

    4.3.2. A FreeBSD támogatja a szimmetrikus többprocesszoros (SMP) rendszereket?

    A FreeBSD általánosságban véve támogatja a többprocesszoros rendszereket, noha egyes esetekben a BIOS vagy az alaplap hibájából fakadóan problémáink adódhatnak. A FreeBSD symmetric multiprocessing levelezési lista átolvasása segíthet tisztázni ezeket.

    A FreeBSD képes kihasználni az Intel processzorai által felkínált HyperThreading (HTT) támogatás előnyeit. Az options SMP beállítással fordított rendszermagok alapból maguktól felismerik a rendszerünkben található logikai processzorokat. A FreeBSD alapértelmezett ütemezője ezeket a logikai processzorokat a többivel teljesen egyenrangúnak tekinti, vagyis semmilyen ütemezési kérdés eldöntésénél nem fogja figyelembevenni az egy processzoron belül elhelyezkedő logikai processzorokat. Ezen naív ütemezési felfogás miatt bizonyos esetekben a rendszerünk teljesítménye nem tökéletesen optimális, ezért adódhatnak olyan helyzetek, amikor a machdep.hlt_logical_cpus sysctl-változó segítségével szükséges lehet a logikai processzorok használatának letiltása. Ezenkívül még a machdep.hlt_logical_cpus sysctl-változón keresztül lehetőségünk van leállítani az üresjáratban működő processzorokat. Ennek részleteiről bővebben a smp(4) man oldalon olvashatunk.


    4.4. Merevlemezes, szalagos, CD- és DVD-meghajtók

    4.4.1. A FreeBSD milyen típusú merevlemezes meghajtókat ismer?
    4.4.2. Milyen SCSI- vagy SAS-vezérlőket ismer?
    4.4.3. Milyen szalagos meghajtókat ismer?
    4.4.4. A FreeBSD támogatja a szalagok cseréjét?
    4.4.5. A FreeBSD milyen CD-meghajtókat ismer?
    4.4.6. A FreeBSD milyen CD-RW meghajtókat ismer?
    4.4.7. A FreeBSD ismeri az Zip meghajtókat?
    4.4.8. A FreeBSD ismeri a Jaz, EZ és a többi cserélhető lemezes meghajtót?

    4.4.1. A FreeBSD milyen típusú merevlemezes meghajtókat ismer?

    A FreeBSD ismeri az EIDE-, SATA-, SCSI- és SAS-meghajtókat (és a velük kompatibilis vezérlőket, erről bővebben lásd a következő szakaszt), valamint az összes olyan meghajtót, amely az eredeti “Western Digital” (MFM, RLL, ESDI és természetesen az IDE) interfészt használja. Néhány egyedi fejlesztésű ESDI vezérlő nem fog működni, ezért lehetőleg maradjunk a WD1002/3/6/7 interfészeknél és azok másolatainál.

    4.4.2. Milyen SCSI- vagy SAS-vezérlőket ismer?

    A teljes listát a FreeBSD hardverjegyzékében találhatjuk meg a 7.2 vagy 6.4 kiadásban.

    4.4.3. Milyen szalagos meghajtókat ismer?

    A FreeBSD a SCSI és QIC-36 (QIC-02 interfésszel) szabványokat ismeri. Ezek közé értendőek a 8 mm-es (más néven Exabyte) és DAT-meghajtók is.

    Bizonyos régebbi 8 mm-es meghajtók nem egészen kompatibilisek a SCSI-2 szabvánnyal, ezért a FreeBSD-vel sem feltétlenül képesek együttműködni.

    4.4.4. A FreeBSD támogatja a szalagok cseréjét?

    A FreeBSD ch(4) eszközön és a chio(1) parancson keresztül támogatja a SCSI szabványú szalagcserélőket. A használat pontos részleteiről a chio(1) man oldalán olvashatunk részletesebben.

    Ha nem az AMANDA vagy a hozzá hasonló programokat használjuk, amelyek alapból ismerik a szalagcserélés lehetőségét, akkor ne feledkezzünk meg arról, hogy a szalagot csak az egyik helyről a másikra tudjuk mozgatni, ezért nekünk kell figyelnünk arra, hogy melyik rekeszben vannak szalagok és a meghajtónak ezek közül melyiket kell használnia.

    4.4.5. A FreeBSD milyen CD-meghajtókat ismer?

    Bármilyen támogatott SCSI-vezérlőhöz csatlakoztatható SCSI-meghajtót ismer.

    Ezenkívül még az alábbi CD-interfészek ismertek:

    • Mitsumi LU002 (8 bites), LU005 (16 bites) és FX001D (16 bites, dupla sebességű).

    • Sony CDU 31/33A

    • Sound Blaster nem-SCSI CD-meghajtók

    • Matsushita/Panasonic CD-meghajtók

    • ATAPI kompatibilis IDE CD-meghajtók

    Az összes ismert nem-SCSI kártya nagyon lassan működik a SCSI-meghajtókhoz képest, és bizonyos ATAPI CD-meghajtók nem használhatóak.

    A Daemon News-tól és a FreeBSD Mall-tól rendelhető hivatalos FreeBSD CD-kről akár közvetlenül el is tudjuk indítani a rendszert.

    4.4.6. A FreeBSD milyen CD-RW meghajtókat ismer?

    A FreeBSD bármilyen ATAPI-kompatibilis IDE CD-R vagy CD-RW meghajtót ismer. Ennek részleteit lásd a burncd(8) man oldalán.

    A FreeBSD ezeken kívül még tetszőleges SCSI CD-R vagy CD-RW meghajtót támogat. A használatukhoz telepítsük a cdrecord programot a portok vagy csomagok közül, és gondoskodjunk róla, hogy a pass eszköz támogatása benne legyen a rendszermagban.

    4.4.7. A FreeBSD ismeri az Zip meghajtókat?

    A FreeBSD alapból ismeri a SCSI és ATAPI (IDE) interfészen kommunikáló Zip meghajtókat. A SCSI ZIP-meghajtók ugyan egyedül az 5 és 6 target ID-kről hajlandóak működni, de ha a SCSI-kártyánk BIOS-a támogatja, akkor még a rendszert is el tudjuk indítani róluk. Egyelőre nem tisztázott, hogy milyen kártyák képesek a 0 és 1 ID-ken kívül máshonnan is rendszert indítani, ezért ennek a hozzátartozó dokumentációben érdemes utánajárnunk.

    A FreeBSD ezenkívül még a párhuzamos porton csatlakoztatható ZIP-meghajtókat is ismeri. Ehhez ellenőrizzük, hogy a rendszermagunkban megtalálhatóak az scbus0, da0, ppbus0 és vp0 meghajtók (a GENERIC rendszermagban a vp0 kivételével mindegyik szerepel). Segítségükkel a párhuzamos vonalon csatlakozó meghajtó a da0s4 eszközön keresztül érhető el. Ennek megfelelően az állományrendszerek a mount /dev/da0s4 /mnt vagy (DOS esetén) a mount -t msdosfs /dev/da0s4 /mnt parancs kiadásával csatlakoztathatóak.

    Emellett még érdemes a GYIK cserélhető lemezes meghajtókról szóló részét is elolvasnunk ebben a fejezetben, valamint a “formázásról” szóló megjegyzést az adminisztrációról szóló fejezetben.

    4.4.8. A FreeBSD ismeri a Jaz, EZ és a többi cserélhető lemezes meghajtót?

    Használhatóak. Ezek többsége SCSI eszköz, ezért a FreeBSD SCSI-lemezként látja, az IDE csatolós EZ pedig IDE-meghajtóként érhető el.

    A rendszer indítása előtt ne felejtsük el bekapcsolni a külső egységeket.

    Ha tárolóeszközt akarunk cserélni a rendszer működése közben, olvassuk el a mount(8), umount(8) és (SCSI eszközök esetén) a camcontrol(8) vagy (IDE eszközök esetén) a atacontrol(8) man oldalakat, valamint a GYIK egy későbbi részében található részt a cserélhető lemezes meghajtókról.


    4.5. Egér és billentyűzet

    4.5.1. A FreeBSD ismeri az USB billentyűzeket?
    4.5.2. A nem szabványos buszos egereket hogyan lehet beállítani?
    4.5.3. Hogyan lehet PS/2 (“egérportos” vagy “billentyűzetes”) egeret használni?
    4.5.4. Az egeret az X Window Systemen kívül is lehet valamilyen módon használni?
    4.5.5. Hogyan lehet szöveget kijelölni és másolni a szöveges konzolban?
    4.5.6. Az egéren van mindenféle görgő és gomb. Ki lehet ezeket valahogy használni FreeBSD alatt is?
    4.5.7. A laptopokon megtalálható egér/trackball/touchpad hogyan használható?
    4.5.8. A Delete billentyű hogyan használható a sh és csh parancsértelmezőkben?

    4.5.1. A FreeBSD ismeri az USB billentyűzeket?

    A FreeBSD alapból ismeri az USB billentyűzeket. Miután engedélyeztük rendszerünkben az USB billentyűzet támogatását, az AT billentyűzet /dev/kbd0 lesz és az USB billentyűzet pedig /dev/kbd1, már amennyiben mind a kettőt csatlakoztattuk a számítógépünkhöz. Ha viszont csak USB billentyűzetünk van, akkor az a /dev/ukbd0 lesz.

    Ha az USB billentyűzetet konzolban akarjuk használni, akkor erre figyelmeztetnünk kell a konzolos meghajtót. Ezt úgy tudjuk megtenni, ha a következő parancsot lefuttatjuk a rendszer indítása közben:

    # kbdcontrol -k /dev/kbd1 < /dev/console > /dev/null

    Amikor viszont csak USB billentyűzetünk van, akkor az /dev/ukbd0 eszközön keresztül tudjuk elérni, ezért a parancsnak ilyenkor így kell kinéznie:

    # kbdcontrol -k /dev/ukbd0 < /dev/console > /dev/null

    Megjegyzés: Ha véglegesíteni akarjuk ezt a beállítást, akkor tegyük a keyboard="/dev/ukbd0" sort az /etc/rc.conf állományba.

    Miután ezt megcsináltuk, az USB billentyűzet X alatt is működni fog minden további beállítás nélkül.

    Ezzel a paranccsal tudunk visszaváltani az alapértelmezett billentyűzetre:

    # kbdcontrol -k /dev/kbd0 > /dev/null

    A kbdmux(4) meghajtón keresztül az alábbi parancsok kiadásával engedélyezhetjük az elsődleges AT billentyűzet és a másodlagos USB billentyűzet párhuzamos használatát a konzolon:

    # kbdcontrol -K < /dev/console > /dev/null
    # kbdcontrol -a atkbd0 < /dev/kbdmux0 > /dev/null
    # kbdcontrol -a ukbd1 < /dev/kbdmux0 > /dev/null
    # kbdcontrol -k /dev/kbdmux0 < /dev/console > /dev/null

    Részletesebb információkat az ukbd(4), kbdcontrol(1) és kbdmux(4) man oldalakon találhatunk.

    Megjegyzés: Az USB billentyűzet menet közbeni csatlakoztatása és leválasztása nem feltétlenül fog működni. Ezért a problémák elkerülése érdekében azt javasoljuk, hogy a rendszer indítása előtt mindenképpen csatlakoztassuk a billentyűzetet és hagyjuk egészen úgy, amíg le nem állítottuk.

    4.5.2. A nem szabványos buszos egereket hogyan lehet beállítani?

    A FreeBSD ismeri a buszos, illetve a Microsoft, Logitech és az ATI által gyártott InPort buszos egereket. A GENERIC rendszermag azonban ehhez nem tartalmaz meghajtót. A rendszermag konfigurációs állományába a következő sort kell megadni, ha egy buszos egereket támogató rendszermagot akarunk készíteni:

    device mse0 at isa? port 0x23c irq5

    A buszos egerekhez általában saját interfészkártya is tartozik. Ezeket a kártyákat a fentitől eltérő portcímre és IRQ megszakításra is beállíthatjuk. Részletesebb információkat az egerünk man oldalán és a mse(4) man oldalon olvashatunk.

    4.5.3. Hogyan lehet PS/2 (“egérportos” vagy “billentyűzetes”) egeret használni?

    Az PS/2 egereket alapból támogatjuk. Az ehhez szükséges psm meghajtó megtalálható a rendszermagban.

    Ha a saját magunk által összeállított rendszermagunk nem tartalmazza ezt a meghajtót, akkor a következő sort kell felvennünk a konfigurációs állományba:

    device psm0 at atkbdc? irq 12

    Miután a rendszermag a rendszer indítása során helyesen észlelte a psm0 eszközt, magától létrejön.

    4.5.4. Az egeret az X Window Systemen kívül is lehet valamilyen módon használni?

    Ha az alapértelmezett konzolos syscons(4) meghajtót használjuk, akkor a szöveges felületű konzolokon az egérmutató segítségével tudunk szövegrészeket kijelölni és másolni. Ehhez nem kell mást tennünk, csupán elindítani a moused(8) egérdémont és engedélyezni az egérmutatót a virtuális konzolokon:

    # moused -p /dev/xxxx -t yyyy
    # vidcontrol -m on

    Itt az xxxx az egeret leképező eszköz neve és az yyyy az egérhez használt protokoll típusa. Az egérdémon a legtöbb egér esetén képes magától megállapítani az alkalmazott protokoll típusát, kivéve a régebbi soros egereket. Az auto érték megadásával tudjuk aktiválni ezt az automatikus felderítést. Amennyiben ez nem működik, a moused(8) man oldalán nézhetünk után a támogatott protokolloknak.

    Ha PS/2 egerünk van, akkor egyszerűen csak vegyük fel a moused_enable="YES" sor az /etc/rc.conf állományba, és az egérdémon elindul a rendszer indítása közben. Valamint hogy ha az egérdémont a konzol helyett az összes virtuális konzolon is használni akarjuk, akkor az /etc/rc.conf állományba tegyük bele a allscreens_flags="-m on" sort.

    Miután az egérdémon elindult, valamilyen módon koordinálni kell az egér hozzáférését az egérdémon és az összes többi program, például az X Window System között. Erről a problémáról a GYIK Miért nem működik X alatt az egér? kérdésében olvashatunk részletesebb.

    4.5.5. Hogyan lehet szöveget kijelölni és másolni a szöveges konzolban?

    Ahogy sikerült elindítanunk az egérdémont (lásd az előző szakaszt), tartsuk lenyomva az egér első (bal oldali) gombját és az egér mozgatásával jelöljük ki a szöveget. Ezután nyomjuk le a második (középső) gombját, amivel a kurzor mellett megjelenik az imént kijelölt szöveg. A harmadik (jobb oldali) gomb segítségével a szöveg kijelölését tudjuk “kiterjeszteni”.

    Amennyiben az egerünkön nem található középső gomb, az egérdémon beállításainak segítségével megpróbálkozhatunk emulálni vagy áthelyezni a vele kapcsolatos funkciókat egy másik gombra. A moused(8) man oldalán olvashatunk erről részletesebben.

    4.5.6. Az egéren van mindenféle görgő és gomb. Ki lehet ezeket valahogy használni FreeBSD alatt is?

    A válaszunk erre sajnos csupán annyi, hogy “Attól függ”. A különböző kiegészítőkkel rendelkező egerekhez általában egy külön meghajtó szükségeltetik. Hacsak az egér meghajtóprogramja vagy a hozzátartozó felhasználói program nem nyújt valamilyen támogatást, az eszköz egyszerűen csak egy szabványos két- vagy háromgombos egérként fog funkcionálni.

    Ha az X Window környezetben akarunk görgőket használni, esetleg ezt a szakaszt érdemes elolvasnunk.

    4.5.7. A laptopokon megtalálható egér/trackball/touchpad hogyan használható?

    4.5.8. A Delete billentyű hogyan használható a sh és csh parancsértelmezőkben?

    A Bourne Shell esetében az alábbi sorokat kell megadnunk az .shrc állományunkban. Lásd sh(1) és editrc(5).

    bind ^? ed-delete-next-char # a konzolhoz
    bind ^[[3~ ed-delete-next-char # az xtermhez

    A C Shell esetében a következő soroknak kell az .cshrc állományba kerülnie. Lásd csh(1).

    bindkey ^? delete-char # a konzolhoz
    bindkey ^[[3~ delete-char # az xtermhez

    További információkat ezen az oldalon találhatunk.


    4.6. Hálózati és soros eszközök

    4.6.1. A FreeBSD milyen hálózati kártyákat ismer?
    4.6.2. A FreeBSD ismer szoftveres modemeket, például winmodemeket?
    4.6.3. Van natív meghajtó a Broadcom 43xx típusú kártyákhoz?
    4.6.4. A FreeBSD milyen többportos soros vonali kártyákat ismer?
    4.6.5. Hogyan lehet a boot: parancssort előhozni soros vonali konzolon?

    4.6.1. A FreeBSD milyen hálózati kártyákat ismer?

    Ezek teljes listáját a FreeBSD egyes kiadásaihoz tartozó hardverjegyzékben találjuk meg.

    4.6.2. A FreeBSD ismer szoftveres modemeket, például winmodemeket?

    A FreeBSD különböző kiegészítő szoftvereken keresztül több szoftveres modemet is támogat. A comms/ltmdm port például a szélesebb körben elterjedt Lucent LT chipsetes modemekhez ad támogatást.

    A FreeBSD azonban nem telepíthető szoftveres modemen keresztül. A hozzátartozó szoftvert csak az operációs rendszer telepítése után tudjuk telepíteni.

    4.6.3. Van natív meghajtó a Broadcom 43xx típusú kártyákhoz?

    Nem, és valószínűleg nem is lesz.

    A Broadcom nem hajlandó nyilvánossá tenni azokat az információkat, amik az általuk gyártott vezeték nélküli chipsetek programozásához lennének szükségesek, mivel szoftveresen vezérelt rádiót használnak. Az alkatrészeik FCC szintű engedélyeztetéséhez ugyanis valamilyen módon gondoskodniuk kell róla, hogy a felhasználók nem képesek bizonyos dolgokat módosítani vele kapcsolatban, például a működési frekvenciát, a modulációs paramétereket vagy a kimenő teljesítményt. A chipsetek programozásának ismerete nélkül azonban szinte lehetetlen elkészíteni hozzájuk a megfelelő meghajtót.

    4.6.4. A FreeBSD milyen többportos soros vonali kártyákat ismer?

    Ezek listáját a kézikönyv Soros vonali kommunikációról szóló része tartalmazza.

    Bizonyos névtelen másolatok is használhatók, különösen azok, amelyek magukat AST-kompatibilisnek nevezik.

    Az ilyen kártyák beállításáról a sio(4) man oldalon olvashatunk részletesebben.

    4.6.5. Hogyan lehet a boot: parancssort előhozni soros vonali konzolon?

    Olvassuk el a kézikönyvben ezt a fejezetet.


    4.7. Hang

    4.7.1. A FreeBSD milyen hangkártyákat ismer?
    4.7.2. Miért nincs hang a pcm(4) által támogatott hangkártyán?

    4.7.1. A FreeBSD milyen hangkártyákat ismer?

    A FreeBSD rengeteg hangkártyát ismer, (ennek részleteit lásd a FreeBSD kiadásait tartalmazó honlapon és a snd(4) man oldalon). Korlátozott módon az MPU-401 és a vele kompatibilis MIDI-kártyákat is támogatja. A Microsoft® Sound System specifikációinak megfelelő kártyákat tudjuk használni.

    Megjegyzés: Ez azonban csak a hangra vonatkozik! Ez a meghajtó a SoundBlaster® kivételével nem támogatja a kártyákon található CD-, SCSI- és joystick csatlakozásokat. A SoundBlaster SCSI csatlakozása és bizonyos nem-SCSI CD-meghajtókat ugyan támogat, de rendszert például nem tudunk róluk indítani.

    4.7.2. Miért nincs hang a pcm(4) által támogatott hangkártyán?

    Egyes hangkártyák esetében a hangerő minden indításkor nullára állítódik. Ezért ilyenkor mindig ki kell adni a következő parancsot:

    # mixer pcm 100 vol 100 cd 100

    4.8. Egyéb eszközök

    4.8.1. Képes a FreeBSD kihasználni az energiagazdálkodási lehetőségeket egy laptopon?
    4.8.2. Hogy lehet letiltani az ACPI támogatását?
    4.8.3. Miért fagynak le a Micron típusú rendszerek indulás közben?
    4.8.4. A rendszerindító lemez nem képes az ASUS K7V alaplapokkal működni. Hogyan lehet ezt orvosolni?
    4.8.5. Miért nem működnek a 3Com® PCI hálózati kártyák a Micron típusú számítógépekben?

    4.8.1. Képes a FreeBSD kihasználni az energiagazdálkodási lehetőségeket egy laptopon?

    A FreeBSD bizonyos gépeken képes az APM használatára. Erről az apm(4) man oldalon találunk pontosabb leírást.

    A FreeBSD ezenkívül még a legújabb hardverekben megtalálható ACPI lehetőségeit is igyekezik kihasználni. Erről részletesebben az acpi(4) man oldalon olvashatunk. Amennyiben a rendszerünk egyaránt tartalmazza az APM és az ACPI támogatását, bármelyiket használhatjuk. Ilyen esetben javasoljuk mind a kettő kipróbálását és az igényeinkhez leginkább illeszkedő megoldás kiválasztását.

    4.8.2. Hogy lehet letiltani az ACPI támogatását?

    Tegyük bele az alábbi sort az /boot/device.hints állományba:

    hint.acpi.0.disabled="1"

    4.8.3. Miért fagynak le a Micron típusú rendszerek indulás közben?

    Egyes Micron gyártmányú alaplapokon olyan PCI BIOS található, amely nem felel meg az szabványoknak, és ezért a FreeBSD nem tud elindulni, mivel a PCI eszközök nem jelentik le az általuk használt címeket.

    Ezt a problémát úgy tudjuk megoldani, ha a BIOS-ban kikapcsoljuk (Disabled értékűre állítjuk) a “Plug and Play Operating System” beállítást.

    4.8.4. A rendszerindító lemez nem képes az ASUS K7V alaplapokkal működni. Hogyan lehet ezt orvosolni?

    Menjünk be a BIOS-ba és kapcsoljuk ki (állítsuk Disabled értékre) a “Boot Virus Protection” beállítást.

    4.8.5. Miért nem működnek a 3Com® PCI hálózati kártyák a Micron típusú számítógépekben?

    Nézzük meg az előző választ.


    Fejezet 5. Hibaelhárítás

    5.1. Miért állapítja meg rosszul a FreeBSD a memória mennyiségét i386 hardveren?
    5.2. Mit tegyünk, ha meghibásodott szektorokat találunk a merevlemezünkön?
    5.3. A FreeBSD miért nem találja meg a HP Netserver SCSI-vezérlőjét?
    5.4. Állandóan “ed1: timeout” és ahhoz hasonló üzenetek jelennek meg. Mi lehet velük kezdeni?
    5.5. Miért állnak le a 3Com 3C509 kártyák minden különösebb ok nélkül?
    5.6. A párhuzamos nyomtató nevetségesen lassú. Mi lehet ezzel kezdeni?
    5.7. A programok miért állnak le időnként “Signal 11” hibákkal?
    5.8. A rendszer összeomlik vagy egy “Fatal trap 12: page fault in kernel mode” vagy pedig valamilyen “panic:” hibaüzenettel és egy halom számot ír ki. Mit tegyünk?
    5.9. A rendszer indulása közben miért sötétül a képernyő és megy el rajta a kép?
    5.10. A FreeBSD miért csak 64 MB memóriát használ, amikor 128 MB van a gépben?
    5.11. A számítógépben több mint 1 GB memória van, de mégis “kmem_map too small” üzenetek jelennek meg. Mi a gond?
    5.12. A számítógépben nincs 1 GB memória, a FreeBSD mégis “kmem_map too small” hibával leáll!
    5.13. Miért jelenik meg a “kernel: proc: table is full” hibaüzenet?
    5.14. Az új rendszermag indításakor miért keletkezik “CMAP busy” hibaüzenet?
    5.15. Mit jelent az “ahc0: brkadrint, Illegal Host Access at seqaddr 0x0” üzenet?
    5.16. Amikor elindul a rendszer, egy “ahc0: illegal cable configuration” hibaüzenet jelenik meg. A kábelek bekötésével semmilyen gond nincs. Mégis akkor mi a baj?
    5.17. Miért küld a sendmailmail loops back to myself” hibaüzenetet?
    5.18. A távoli gépeken miért viselkednek olyan furcsán a teljes képernyős alkalmazások?
    5.19. A Plug and Play kártyákat miért nem találja meg (vagy unknown típusúként látja) a FreeBSD?
    5.20. Miért keletkezik “nlist failed” hiba például a top vagy systat parancsok futtatásakor?
    5.21. Miért tart olyan sokáig ssh vagy telnet használatával csatlakozni a számítógéphez?
    5.22. Mire utal a “stray IRQ” (kóbor megszakítási kérés) üzenet?
    5.23. Miért jelenik meg folyamatosan a “file: table is full” üzenet a rendszernaplóban?
    5.24. Miért árasztják el “calcru: negative runtime” vagy “calcru: runtime went backwards” üzenetek a konzolt?
    5.25. Miért jár rosszul az óra a számítógépen?
    5.26. A rendszer laptopon miért nem tudja rendesen megtalálni a PC-kártyákat?
    5.27. Miért ad a FreeBSD rendszertöltője “Read error” hibát és áll meg a BIOS képernyőn?
    5.28. Egy másik operációs rendszer letörölte a boot managert. Hogyan lehet visszaállítani?
    5.29. Mit jelent a “swap_pager: indefinite wait buffer:” hibaüzenet?
    5.30. Mik azok a “UDMA ICRC” hibák és hogyan lehet ellenük tenni valamit?
    5.31. Mi az a “lock order reversal”?
    5.32. Mit jelent a “Called ... with the following non-sleepable locks held” üzenet?
    5.33. A buildworld/installworld miért áll le “touch: not found” hibával?

    5.1. Miért állapítja meg rosszul a FreeBSD a memória mennyiségét i386 hardveren?

    A válasz nagy valószínűséggel a fizikai és virtuális memóriacímek közti különbségben rejlik.

    A legtöbb PC-s hardvereszköz megegyezés szerint a 3,5 GB és 4 GB közti memóriaterületet speciális célokra tartja fenn (általában a PCI számára). Ezen a címterületen keresztül éri a PCI eszközöket. Ennek egyik következménye, hogy a fizikai memória ezen a részen nem érhető el.

    Hogy pontosan mi történik az itt elhelyezkedő memóriával, teljesen a hardvertől függ. Sajnálatos módon bizonyos eszközök semmilyen megoldást nem nyújtanak a problémára, és így lényegében az utolsó 500 MB-nyi memória elveszik.

    Szerencsére a legtöbb eszköz azonban képes ezt a területet egy felsőbb címre leképezni, így ki tudjuk használni. Ilyenkor azonban tapasztalhatunk némi félreértést, amikor megnézzük a rendszerindítás közben megjelenő üzeneteket.

    A FreeBSD 32 bites változata esetén ez a memóriaterület elveszik, mivel a címe a 4 GB-os határ felé kerül, amelyet a 32 bites módban futó rendszermag már nem képes elérni. Ezen egy PAE támogatással rendelkező rendszermag használatával segíthetünk. A GYIK-on belül ebben a bejegyzésben olvashatunk bővebben a memóriakorlátokról, valamint ebben a részben láthatjuk a különböző platformokra vonatkozó memóriakorlátozásokat.

    A FreeBSD 64 bites változata vagy a PAE használata esetén azonban a FreeBSD rendesen felismeri és leképezi a fennmaradó memóriaterületeket, így azok használhatóvá válnak. A rendszerindítás során azonban az előbb említett leképezés miatt látszólag úgy fog tűnni, mintha a FreeBSD több memóriát észlelne, mint amennyivel valójában rendelkezünk. Ez teljesen normálisnak tekinthető és a ténylegesen elérhető memória mennyisége a folyamat végén be fog állítódni.

    5.2. Mit tegyünk, ha meghibásodott szektorokat találunk a merevlemezünkön?

    A SCSI-meghajtók esetében a meghajtó általában képes önmagától átképezni az ilyen szektorokat. A legtöbb meghajtóban ez a lehetőség viszont alapból nem engedélyezett.

    A hibás szektorok átképezéséhez az eszköz első lapmódját kell átírnunk, amelyet (root felhasználóként) így tehetünk meg:

    # camcontrol modepage sd0 -m 1 -e -P 3

    Változtassuk meg az AWRE (az írás automatikus átképzése) és ARRE (az olvasás automatikus átképzése) beállítások értékeit 0-ról 1-re:

    AWRE (Auto Write Reallocation Enbld):  1
    ARRE (Auto Read Reallocation Enbld):  1

    A modernebb IDE-meghajtók is képesek a vezérlőjükkel nyilvántartani az időközben meghibásodott szektorokat, és ezt általában alapból engdélyezik.

    Ha rossz szektorokra figyelmeztető hibaüzeneteket látunk (akármilyen típusú meghajtónk is legyen), az kétségtelenül arra utal, hogy ideje lecserélnünk a hardvert. A hibás szektorok használatát esetleg a gyártó saját diagnosztikai programjával le tudjuk tiltani, de hosszabb távon mindenképpen az lesz a legjobb, ha veszünk egy újat.

    5.3. A FreeBSD miért nem találja meg a HP Netserver SCSI-vezérlőjét?

    Ez tulajdonképpen egy ismert probléma. A HP Netserver gépekben egy integrált EISA buszos SCSI-vezérlő található, amely a 11-es EISA bővítőhelyen található, ezért az összes “valódi” EISA bővítőhely ez előtt helyezkedik el. Sajnos a 10 feletti EISA bővítőhelyek címei ütköznek a PCI eszközök számára kiosztott címekkel, ezért a FreeBSD önmagától nem tudja valami jól kezelni az ilyen helyzeteket.

    Ezért a legjobban akkor járunk, ha egyszerűen letagadjuk a címterek ütközését :) Ezt úgy tudjuk megtenni, ha a rendszermag EISA_SLOTS nevű beállítását a 12 értékre állítjuk. Ezután már csak be kell konfigurálunk és újra kell fordítanunk a rendszermagot, ahogy azt a kézikönyv megfelelő része is tárgyalja.

    Természetesen, amikor egy ilyen gépre akarunk telepíteni, a helyzet tovább bonyolódik. A telepítést úgy tudjuk megoldani, ha a UserConfig programon belül alkalmazunk egy apró trükköt. Most ne a “vizuális” felületét használjuk, hanem a parancssoros részt. Gépeljük be, majd a megszokottak szerint telepítsük a rendszert:

    eisa 12
    quit

    Ettől függetlenül természetesen továbbra is javasolt egy, az előbbiek szerint módosított rendszermagot fordítanunk és telepítenünk.

    A következő verziókban remélhetőleg már lesz valamilyen megoldás erre a problémára.

    Megjegyzés: A HP Netserver esetén nem tudunk a lemezeken Veszélyesen dedikált (Dangerously Dedicated) módot használni. Erről itt olvashatunk bővebben.

    5.4. Állandóan “ed1: timeout” és ahhoz hasonló üzenetek jelennek meg. Mi lehet velük kezdeni?

    Ezt a hibát általában a megszakítások ütközése okozza (például két kártya ugyanazt a megszakítást akarja használni). Indítsuk a rendszerünket a -c beállítás használatával és az ed0/de0/... bejegyzéseket változtassuk meg a kártyáknak megfelelően.

    Ha a hálózati kártyánkon BNC típusú csatlakozó található, akkor még előfordulhat, hogy azért látunk ilyen hibaüzeneteket, mert nem jól zártuk le a csatlakozást. Ezt úgy tudjuk könnyen ellenőrizni, ha a lezárót közvetlenül a kártyára dugjuk rá (kábel nélkül) és figyeljük, hogy továbbra is jönnek-e a hibaüzenetek.

    Egyes NE2000-kompatibilis kártyák akkor adják ezt a hibát, ha az UTP portjukon nincs aktív összeköttetés vagy nem dugtuk be a kábelt.

    5.5. Miért állnak le a 3Com 3C509 kártyák minden különösebb ok nélkül?

    Az ilyen típusú kártyák néha hajlamosak elfelejteni a beállításaikat. Frissítsük a kártya beállításait a 3c5x9.exe program segítségével.

    5.6. A párhuzamos nyomtató nevetségesen lassú. Mi lehet ezzel kezdeni?

    Ha csupán annyi a problémánk, hogy a nyomtató irdatlanul lassan működik, akkor próbáljuk meg a kézikönyv nyomtatásról szóló részében leírtakhoz hasonlóan átállítani a nyomtató portkezelését.

    5.7. A programok miért állnak le időnként “Signal 11” hibákkal?

    Ezek a hibák akkor keletkeznek, amikor a futó programok olyan memóriaterülethez próbálnak meg hozzáférni, amihez eredetileg nem lenne szabad. Ha valami ehhez hasonló történik a rendszerünkben látszólag teljesen véletlenszerűen, akkor nagyon óvatosan kezdjünk el vizsgálódni.

    A lehetséges okok az alábbiak lehetnek:

    1. Ha csak olyan alkalmazások esetében jelentkezik ez a hiba, amelyeket mi magunk fejlesztünk, akkor az valószínűleg arra utal, hogy valamelyik része hibásan működik.

    2. Ha a FreeBSD alaprendszerének valamelyik részében tapasztalunk ilyen hibákat, akkor azt szintén okozhatja hibás kód, de az ilyen hibákat általában hamarabb meg szokták találni és ki szokták javítani, mint ahogy a GYIK-ot olvasók többsége találkozna velük (a -CURRENT ág pontosan ezt a célt szolgálja).

    Előfordulhat, hogy ez egy olyan furcsaság eredménye, amely nem a FreeBSD hibája: például ugyanazon program fordításakor mindig mást csinál a fordítóprogram.

    Például tegyük fel, hogy a make buildworld parancsot futtatjuk, és a fordítás félbeszakad, amikor az ls.c állományból el akarja készíteni az ls.o állományt. Ha ezután megint megpróbáljuk kiadni a make buildworld parancsot, akkor a fordítás ugyanazon a helyen újból meghiúsul -- valószínűleg hibás a forráskód, frissítsük a forrásainkat és próbáljuk meg ismét. Ha viszont a fordítás ilyenkor már egy másik helyen akad el, akkor szinte biztos, hogy hardverhibával akadtunk össze.

    Amit ilyenkor tenni tudunk:

    Az első esetben egy nyomkövető, például a gdb(1) segítségével keressük meg a program azon pontját, ahol rossz memóriaterülethez próbál meg hozzáférni és javítsuk ki.

    A második esetben ellenőrizzük, hogy nem a hardver a hibás.

    Ennek okai többek közt a következők lehetnek:

    1. Túlmelegednek a merevlemezeink: ellenőrizzük, hogy a gépben található ventillátorok rendesen működnek-e (persze előfordulhat, hogy más eszközök melegednek túl).

    2. A processzor túlmelegedett: lehet, hogy mert túlságosan nagy órajelen járatjuk, vagy mert egyszerűen leállt a hűtése. Akármelyik eset is következett be, legalább a hiba felderítéséig állítsuk vissza a hivatalos sebességére.

      Ha feltétlenül ragaszkodunk a rendszerünk tuningolásához, akkor érdemes elgondolkoznunk azon, hogy egy lassabb rendszerrel jobban járunk, mint egy állandóan cserélendő, ropogósra sült rendszerrel. Az emberek általában nem is nagyon szeretik az ilyen rendszereket, független attól, hogy szerintünk érdemes-e ilyet csinálni vagy sem.

    3. Hibás memóriamodulok: ha több SIMM és DIMM modul is található a gépünkben, akkor vegyük ki az összeset és próbáljuk ki mindegyiket egyesével, ezzel is leszűkíthetjük a probléma felderítését a hibás DIMM/SIMM modulokra vagy azok kombinációjára.

    4. Az alaplap túlbecslő értékei: a BIOS beállításai között vagy az alaplapon található jumperekkel szabályozni tudjuk a különböző időzítéseket, ahol általában az alapértelmezett értékek megfelelnek, de néha előfordulhat, hogy a memóriamodulok késleltetését lassúra, vagy éppen turbó sebességre állítják (“RAM Speed: Turbo” vagy ehhez hasonló néven keressük a BIOS-ban), ami szintén okozhat furcsa viselkedést. Próbáljuk meg visszaállítani az BIOS alapértelmezett értékeit, de előtte érdemes lejegyezni az aktuális beállításainkat.

    5. Az alaplap zajos vagy kevés áramot kap: ha vannak használaton kívüli I/O kártyáink, merevlemezeink, CD-meghajtóink a rendszerünkben, akkor próbáljuk meg ideiglenesen eltávolítani ezeket vagy egyszerűen csak lehúzni róluk a tápkábelt. Ezzel tudjuk vizsgálni, hogy a számítógépünk tápegysége képes-e megbirkózni a kisebb terheléssel. Esetleg kipróbálhatunk egy másik tápegységet is, lehetőleg egy kicsivel erősebbet (például ha a jelenlegi tápegységünk teljesítménye 250 watt, akkor használjunk helyette egy 300 wattosat).

    Továbbá érdemes lehet még elolvasnunk a SIG11 GYIK-ot (lásd lentebb), ahol mindezeket a problémákat részletesen kifejtik, noha a Linux® nézőpontjából. Arról is olvashatunk benne, hogy egy hibás memóriát miért nem képesek észlelni a szoftveres vagy hardveres tesztelőeszközök.

    Végezetül, ha az egyik javaslat sem segített a probléma megoldásában, akkor valószínűleg sikerült hibát találnunk a FreeBSD kódjában, amiről nyugodtan írhatunk a fejlesztőknek egy hibajelentést.

    A problémáról minden részletre kiterjedő módon A SIG11-es probléma GYIK-ja írásban olvashatunk (angolul).

    5.8. A rendszer összeomlik vagy egy “Fatal trap 12: page fault in kernel mode” vagy pedig valamilyen “panic:” hibaüzenettel és egy halom számot ír ki. Mit tegyünk?

    A FreeBSD fejlesztői nagyon kíváncsiak az ilyen hibákra, de a felderítéséhez sajnos jóval több információra van szükségük, mint amennyit láthattunk. Másoljuk le az összeomláshoz tartozó teljes üzenetet. Ezután nézzük meg a GYIK-nak azt a részét, amely a rendszermag összeomlásáról szól, készítsünk egy nyomkövetési információkkal ellátott rendszermagot és kérjük le a hívási láncot. Ez elsőre talán bonyolultnak hangzik, de ehhez igazából nem igényel semmilyen programozási tudást, egyszerűen csak a megadott utasításokat kell követnünk.

    5.9. A rendszer indulása közben miért sötétül a képernyő és megy el rajta a kép?

    Ez az ATI Mach 64 videokártyák esetében jelentkező probléma. Ilyenkor az a gond, hogy a kártya a 0x2e8 címet használja, akárcsak a negyedik soros port. A sio(4) meghajtóban levő hiba (vagy netalán beállítás?) miatt azonban a negyedik soros portot még akkor is használni fogja, ha kikapcsoljuk a sio3 (a negyedik soros port) eszközt.

    A hibát kijavításáig így kerülhetjük meg:

    1. A betöltő parancssorában adjuk meg a -c paramétert. (Így elő tudjuk hozni a rendszermag konfigurációs módját.)

    2. Kapcsoljuk ki a sio0, sio1, sio2 és sio3 eszközöket (tehát mindegyiket). Emiatt a sio(4) meghajtó nem indul el, és így nem okoz problémát.

    3. Lépjünk ki és folytassuk a rendszer indítását.

    Ha a soros portokat is használni akarjuk, akkor következő módosításokkal készítsünk egy új rendszermagot: a /usr/src/sys/dev/sio/sio.c (vagy pc98 esetén a /usr/src/sys/pc98/cbus/sio.c) állományban keressük meg a 0x2e8 karakterláncot és az azt megelőző vesszőt távolítsuk el (de az utána következőt tartsuk meg). Miután végrehajtottuk ezt a módosítást, a megszokott módon fordítsuk újra a rendszermagot.

    5.10. A FreeBSD miért csak 64 MB memóriát használ, amikor 128 MB van a gépben?

    Mivel FreeBSD a BIOS-tól próbálja megtudni a rendelkezésre álló memória méretét, ezért csak 16 biten képes lekérdezni a KB-okban (vagyis 65 535 KByte = 64 MB, vagy még ennél is kevesebb, mivel egyes BIOS-ok legfeljebb 16 MB memóriát engednek látni). Tehát ha 64 MB-nál több memóriával rendelkezünk, akkor a FreeBSD ugyan megpróbálja azt felderíteni, de nem feltétlenül fog sikerülni.

    Ezt úgy tudjuk megoldani, ha a rendszermag alábbi beállítását használjuk. Alapvetően ugyanis létezik egy módszer, amivel le lehet kérdezni a memória teljes méretét a BIOS-tól, de a hozzátartozó rutin nem fért el a rendszerindító blokkban. Ha egyszer majd sikerül neki helyet csinálni, akkor a rendszer képes lesz kizárólag ezzel a módszerrel dolgozni. Amíg viszont ez nem így van, addig kénytelenek leszünk a most következő megoldást választani:

    options MAXMEM=N

    ahol N a memória Kilobyte-okban megadott mérete. Tehát egy 128 MB memóriával rendelkező számítógép esetén ez 131072.

    5.11. A számítógépben több mint 1 GB memória van, de mégis “kmem_map too small” üzenetek jelennek meg. Mi a gond?

    A FreeBSD általában a rendszermag néhány fontos paraméterét, mint például az egyszerre megnyitható állományok maximális számát a számítógépben található memória méretéből származtatja. Az 1 GB memóriánál több esetén azonban elképzelhető, hogy ez az “automatikus méretezés” túlságosan is nagy értékeket választ. Így a rendszer indításakor a rendszermag olyan nagy méretű táblázatokat és egyéb struktúrákat foglal le, amelyek betöltik a rendelkezésére bocsátott terület nagy részét. Később, a rendszer futása közben pedig a rendszermag szépen lassan kifogy a dinamikus memóriaterületekből és összeomlik.

    Készítsünk egy olyan saját rendszermagot, ahol a VM_KMEM_SIZE_MAX beállítást megnöveljük egészen a maximális 400 MB-os értékig (options VM_KMEM_SIZE_MAX=419430400). 400 MB használata valószínűleg elég lesz egészen 6 GB memóriáig.

    5.12. A számítógépben nincs 1 GB memória, a FreeBSD mégis “kmem_map too small” hibával leáll!

    Ez a hibaüzenet arra utal, hogy a rendszer kifogyott a hálózati pufferek (különösen az mbuf klaszterek) számára kiosztott virtuális memóriából. Az mbuf klaszterek részére fenntartott virtuális memória méretének beállításáról a kézikönyv Hálózati korlátozások című szakaszában olvashatunk.

    5.13. Miért jelenik meg a “kernel: proc: table is full” hibaüzenet?

    A FreeBSD rendszermagja egyszerre csak bizonyos számú programot enged futni. Ezek konkrét száma a kern.maxusers sysctl(8)-változótól függ. A kern.maxusers ezenkívül még hatással van más belső korlátokra is, például a hálózati pufferekre (lásd ezt a korábbi kérdést). Ha a számítógépünk túlságosan leterhelt, akkor érdemes megpróbálkoznunk a kern.maxusers értékének növelésével. Ennek átállítása a rendszerben egyszerre futtatható maximális programok számával együtt sok más rendszerszintű korlátozást is finomít.

    A kern.maxusers értékének beállításához nézzük meg a kézikönyv Az állományok és futó programok korlátozásairól szóló szakaszát. (Miközben ez a rész a megnyitható állományok maximális számáról szól, addig ugyanez érvényes a futó programokra is.)

    Ha viszont a számítógépünk nem éri akkora terhelés, de mégis szeretnénk egyszerre nagyobb számú programot is futtatni rajta, akkor ehhez elegendő csak kern.maxproc változót átállítanunk. Ezt úgy tudjuk megtenni, ha felvesszük a /boot/loader.conf állományba. Ez az érték természetesen addig nem beállítódni, amíg a rendszerünket újra nem indítjuk. Ezekről a változókról a loader.conf(5) és sysctl.conf(5) man oldalakon tájékozódhatunk részletesebben. Ha az összes programot egyetlen felhasználóval akarjuk futtatni, akkor a kern.maxprocperuid változót értékét is át kell állítanunk, méghozzá a kern.maxproc új értékénél eggyel kisebbre. (Ezért kell így csinálni, mert egy rendszerprogram, az init(8) mindig fut.)

    A sysctl változók beállításait úgy is tudjuk véglegesíteni, ha felvesszük ezeket az /etc/sysctl.conf állományba. A kézikönyv A rendszermag korlátainak finomhangolása című szakaszában részletesebb is olvashatunk róla, hogy miként állítsuk be a rendszerünket.

    5.14. Az új rendszermag indításakor miért keletkezik “CMAP busy” hibaüzenet?

    Az elavult /var/db/kvm_*.db állományokat összegyűjtő rutin időnként nem működik megfelelően, és a nem egyező állományok esetén össze is omolhat.

    Amikor ilyen történik, indítsuk újra a rendszert egyfelhasználós módban és gépeljük be:

    # rm /var/db/kvm_*.db

    5.15. Mit jelent az “ahc0: brkadrint, Illegal Host Access at seqaddr 0x0” üzenet?

    Ez az Ultrastor SCSI vezérlőkártya ütközésére utal.

    A rendszerindítás közben lépjünk be a rendszermag konfigurációs menüjébe és tiltsuk le a gondot okozó uha0 eszközt.

    5.16. Amikor elindul a rendszer, egy “ahc0: illegal cable configuration” hibaüzenet jelenik meg. A kábelek bekötésével semmilyen gond nincs. Mégis akkor mi a baj?

    Az alaplapon nem található olyan áramkör, amely támogatja az automatikus lezárást (“automatic termination”). A SCSI BIOS-ban az automatikus lezárás helyett adjuk meg a megfelelő lezárást. Az ahc(4) meghajtója nem képes rendesen érzékelni a kábeleket, ha az alaplapon van ilyen érzékelés (és így automatikus lezárás). A meghajtó egyszerűen annyit feltételez, hogy ennek támogatása csak akkor érhető el, ha az EEPROM-ban megadtuk az “automatic termination” beállítást. A megfelelő kábeldetektáló eszköz nélkül a meghajtó gyakran rosszul állapítja meg a lezárást, ami pedig így veszélyezteti a SCSI busz megbízhatóságát.

    5.17. Miért küld a sendmailmail loops back to myself” hibaüzenetet?

    Erről részletesebben a kézikönyvben olvashatunk.

    5.18. A távoli gépeken miért viselkednek olyan furcsán a teljes képernyős alkalmazások?

    Előfordulhat, hogy az adott távoli gépen a terminál típusa nem cons25, amire viszont a FreeBSD konzolnak a megfelelő működéshez szüksége lenne.

    Ezt a problémát többféle módon is meg tudjuk kerülni:

    • Mikor bejelentkezünk a távoli gépre, állítsuk a TERM környezeti változót az ansi vagy sco értékre, amiből kiderül, hogy egyáltalán ismeri ezeket a termináltípusokat.

    • A FreeBSD konzolban használjunk VT100 emulátort, például a screen alkalmazást. A screen segítségével egyetlen terminálról egyszerre több munkamenetet is tudunk indítani, de egyébként is egy nagyon jó program. Minden screen által létrehozott ablak VT100-as terminálként működik, ezért a távoli gépen a TERM környezeti változó nyugodtan beállítható a vt100 értékre.

    • Tegyük hozzá a cons25 bejegyzést a távoli gép terminálokat tároló adatbázisához. Ez pontos módszere jelentős mértékben függ az adott gépen található operációs rendszertől. Ebben leginkább az adott gépen található man oldalak tudnak segíteni.

    • Indítsunk el a FreeBSD rendszert futtató gépen egy X szervert és a távoli gépről egy X rendszerre íródott terminálemulátorral, például az xterm vagy az rxvt programmal jelentkezzük be. A távoli gépen ekkor a TERM változó értéke vagy xterm, vagy pedig vt100 lesz.

    5.19. A Plug and Play kártyákat miért nem találja meg (vagy unknown típusúként látja) a FreeBSD?

    Ennek az okait a következő levélben fejtette ki Peter Wemm a FreeBSD general questions levelezési lista tagjainak, amelyben arra válaszolt, hogy egy belső modemet miért nem észlel a rendszer miután frissítették FreeBSD 4.X-re (az érthetőség kedvéért szögletes zárójelek között hozzáadtunk néhány kiegészítést is).

    Megjegyzés: Az eredeti szövegből készült idézetet frissítettük.

    A PNP BIOS beállította [a modemet] és magára hagyta valahol a portok számára fenntartott címtérben, így az ISA eszközök régi típusú [3.X-ben levő] eszközpróbálgatásai ott “találták” meg.

    A 4.0 esetében azonban az ISA eszközöket kezelő kód már sokkal inkább a PnP támogatására koncentrál. Korábban [a 3.X verziókban] előfordulhatott az is, hogy az ISA eszközök keresése során a rendszer egy “kóbor” eszközt talált, majd ugyanazt megtalálta PnP eszközként és ütköztek az így duplán lefoglalni kívánt erőforrások. Ennek kivédésére először tehát letiltjuk a programozható kártyák felderítését, így ez a típusú kettős detektálás nem történhet meg. Ez továbbá azt is jelenti, hogy a támogatott PnP hardverek azonosítóit előre ismerni kell. Ennek hangolhatóságát már tervbevettük.

    Tehát egy ilyen eszköz működtetéséhez szükségünk lesz a PnP azonosítójára, valamint arra, hogy felvegyük a felderítendő PnP eszközök ISA eszközök közé. Ezt a pnpinfo(8) segítségével kérhetjük le, amely például egy belső modem esetén a következő kimenetet fogja adni:

    # pnpinfo
    Checking for Plug-n-Play devices...
    
    Card assigned CSN #1
    Vendor ID PMC2430 (0x3024a341), Serial Number 0xffffffff
    PnP Version 1.0, Vendor Version 0
    Device Description: Pace 56 Voice Internal Plug & Play Modem
    
    Logical Device ID: PMC2430 0x3024a341 #0
            Device supports I/O Range Check
    TAG Start DF
        I/O Range 0x3f8 .. 0x3f8, alignment 0x8, len 0x8
            [16-bit addr]
        IRQ: 4  - only one type (true/edge)

    [a többi részt kihagytuk]

    TAG End DF
    End Tag
    
    Successfully got 31 resources, 1 logical fdevs
    -- card select # 0x0001
    
    CSN PMC2430 (0x3024a341), Serial Number 0xffffffff
    
    Logical device #0
    IO:  0x03e8 0x03e8 0x03e8 0x03e8 0x03e8 0x03e8 0x03e8 0x03e8
    IRQ 5 0
    DMA 4 0
    IO range check 0x00 activate 0x01

    Innen a Vendor ID kezdetű sorra lesz szükségünk. A zárójelek között szereplő hexadecimális szám (ami a példában a 0x3024a341) lesz az eszköz PnP azonosítója, valamint a közvetlenül ez előtt szereplő karakterlánc az egyedi ASCII azonosítója (PMC2430).

    Ha a pnpinfo(8) lefuttatásának eredményeképpen megjelenő lista nem tartalmazza a kérdéses eszközt, akkor helyette a pciconf(8) használatával is próbálkozhatunk. Íme a pciconf -vl parancs kimenete egy integrált hangkártya esetében:

    # pciconf -vl
    chip1@pci0:31:5:        class=0x040100 card=0x00931028 chip=0x24158086 rev=0x02 hdr=0x00
        vendor   = 'Intel Corporation'
        device   = '82801AA 8xx Chipset AC'97 Audio Controller'
        class    = multimedia
        subclass = audio

    Ebből a chip változót, vagyis a 0x24158086 értéket kell felhasználnunk.

    Ezt az információt (a Vendor ID vagy a chip értékét) ezután a /usr/src/sys/dev/sio/sio_isa.c állományba kell felvennünk.

    Ehhez először is készítsünk egy biztonsági másolatát a sio_isa.c állományról arra az esetre, ha véletlenül valami rossz történne. Ez azért is hasznunkra fog válni, mert így tudunk egy javítást mellékelni a hibajelentésünk mellé (mert ugye írni fogunk róla hibajelentést, ugye?). Szóval, keressük meg a sio_isa.c állományban a következő sort:

    static struct isa_pnp_id sio_ids[] = {

    Menjük lentebb egészen addig, amíg nem találunk egy helyet, ahova be tudunk szúrni egy bejegyzést az eszközünkhöz. A bejegyzések megadásának módja lentebb látható, és a jobb oldalt megjegyzésbe tett ASCII Vendor ID szerint rendezettek, amelyek mellett még megtalálható (amennyiben kifér) a pnpinfo(8) Device Description kimenetében kapott érték is:

    {0x0f804f3f, NULL},     /* OZO800f - Zoom 2812 (56k Modem) */
    {0x39804f3f, NULL},     /* OZO8039 - Zoom 56k flex */
    {0x3024a341, NULL},     /* PMC2430 - Pace 56 Voice Internal Modem */
    {0x1000eb49, NULL},     /* ROK0010 - Rockwell ? */
    {0x5002734a, NULL},     /* RSS0250 - 5614Jx3(G) Internal Modem */

    A megfelelő helyre ezután vegyük fel az eszközünkhöz tartozó hexadecimális Vendor ID értéket, mentsük el az állományt, fordítsuk újra a rendszermagot és indítsuk újra vele a rendszerünket. Ha mindent jól csináltunk, akkor az eszköz sio eszközként fog megjelenni.

    5.20. Miért keletkezik “nlist failed” hiba például a top vagy systat parancsok futtatásakor?

    A gondot alapvetően az okozza, hogy a kérdéses alkalmazás valamiért egy olyan rendszermagbeli szimbólumot keres, amit nem talál. Ez a típusú hiba a következőkből eredhet:

    • A rendszermag és a hozzátartozó programok nincsenek szinkronban (vagyis fordítottunk egy új rendszermagot, de nem volt installworld vagy fordítva) és emiatt a szimbólumokat tároló táblázat nem teljesen úgy épül fel, ahogy azt az alkalmazás gondolja. Ha erről lenne szó, akkor egyszerűen nincs más teendőnk, mint befejezni a frissítést (ennek pontos részleteit lásd a /usr/src/UPDATING állományban).

    • Nem a /boot/loader, hanem közvetlenül a boot2 (lásd boot(8)) segítségével töltjük be a rendszermagot. Noha alapvetően semmilyen problémát nem nem okoz a /boot/loader kihagyása, általánosságban véve azért mégis jobban elérhetővé tudja tenni a rendszermagban található szimbólumokat a felhasználói programok felé.

    5.21. Miért tart olyan sokáig ssh vagy telnet használatával csatlakozni a számítógéphez?

    A tünet: nagyon sok idő telik aközött, amíg a TCP kapcsolat felépül és a kliens bekéri a jelszót (vagy a telnet(1) esetében amíg a bejelentkező képernyő megjelenik).

    A betegség: nagyon valószínű, hogy a késlekedést az okozza, amikor a szerver megpróbálja a kliens IP-címét feloldani hálózati névvé. Sok szerver, köztük a FreeBSD-ben is megtalálható Telnet és SSH szerver is ezt csinálja, többek közt azért, hogy a rendszergazda számára el tudja tárolni egy naplóban ezt a hálózati nevet.

    Az orvosság: ha az említett jelenség minden olyan esetben jelentkezik, amikor a számítógépről (mint kliensről) valamilyen szerverhez csatlakozni akarunk, akkor a kliens oldalán lesz a gond. Ehhez hasonlóan, ha csak egy adott szervernél tapasztaljuk, akkor azzal a számítógéppel történhetett valami.

    Amennyiben a problémákat a kliens okozza, nem tehetünk mást, a névoldáson kell úgy javítanunk, hogy a szerver normálisan fel tudja oldani. Ha helyi hálózaton tapasztaljuk mindezt, akkor ez már a szerver problémája és olvassunk tovább. Ellenkező esetben az internet a felelős, ezért nagyon valószínű, hogy fel kell vennünk a kapcsolatot az internet-szolgáltatónkkal és segítséget kérni tőlük a hiba elhárításában.

    Ha a problémát viszont a helyi hálózaton található szerver okozza, akkor úgy kell azt beállítanunk, hogy a helyi neveket képes legyen rendesen feloldani. Ezzel kapcsolatban a hosts(5) és named(8) man oldalakat érdemes elolvasnunk. Ha a probléma viszont az interneten jelenik meg, akkor valószínű, hogy a szerver névfeloldása nem üzemel rendesen. Nézzünk meg egy másik gépet -- például a www.yahoo.com címet. Ha ez sem működik, akkor nálunk van a gond.

    A FreeBSD friss telepítését követően az is elképzelhető, hogy egyszerűen csak hiányoznak a tartományokkal és névszerverekkel kapcsolatos megfelelő adatok az /etc/resolv.conf állományból. Ez gyakran okoz késlekedést az SSH működésében, mivel az /etc/ssh könyvtárban található sshd_config állományban alapértelmezés szerint a UseDNS beállítás értéke yes (tehát a névfeloldás használata engedélyezett). Ha valóban ez okozza a problémát, akkor a pótoljuk az /etc/resolv.conf állományból hiányzó adatokat vagy az sshd_config állományban a UseDNS értéke ideiglenesen legyen no.

    5.22. Mire utal a “stray IRQ” (kóbor megszakítási kérés) üzenet?

    A kóbor megszakítási kéréseket jelző üzenetek általában a hardveres megszakítási kérések egyenletlenségeire utalnak, ezen belül is leginkább olyan esetekre, amikor az eszköz egy megszakítási kérés nyugtázása közepén eltávolítja az adott kérést.

    Három dolgot tehetünk ezzel kapcsolatban:

    • Elviseljük ezeket a figyelmeztetéseket. Megszakítási kérésenként az első öt üzenet után amúgy sem jelez többet a rendszer.

    • Ha platformunkhoz (mint például i386) tartozó intr_machdep.c állományban található MAX_STRAY_LOG értékét átírjuk 5-ről 0-ra és így újrafordítjuk a rendszermagot, akkor ezzel teljesen letilthatjuk a figyelmeztetéseket.

    • Megszüntetjük az üzeneteket úgy, hogy csatlakoztatunk a rendszerhez egy olyan párhuzamos vonali eszközt, amely a 7-es IRQ-t használja, és rakunk fel hozzá egy PPP meghajtót (a legtöbb helyen egyébként ezzel lesz a gond), valamint a 15-ös IRQ-ra pedig rakunk egy IDE-meghajtót vagy más hasonló eszközt és telepítjük hozzá a megfelelő meghajtót.

    5.23. Miért jelenik meg folyamatosan a “file: table is full” üzenet a rendszernaplóban?

    Ha ilyen hibaüzenetet látunk, akkor az arra utal, hogy kifogytunk a rendszerünkben egyszerre használható állományleírókból. A probléma leírásával és megoldásával kapcsolatban olvassuk el a kézikönyvben a kern.maxfiles változóról szóló részt A rendszermag korlátainak finomhangolása című szakaszban.

    5.24. Miért árasztják el “calcru: negative runtime” vagy “calcru: runtime went backwards” üzenetek a konzolt?

    Ismert egy olyan probléma, hogy a BIOS-ban engedélyezzük az Intel Enhanced SpeedStep technológiáját, akkor a rendszermag ehhez hasonló “calcru” üzeneteket kezd el küldözgetni:

    calcru: runtime went backwards from 6 usec to 3 usec for pid 37 (pagezero)
    calcru: runtime went backwards from 6 usec to 3 usec for pid 36 (vmdaemon)
    calcru: runtime went backwards from 170 usec to 138 usec for pid 35 (pagedaemon)
    calcru: runtime went backwards from 553 usec to 291 usec for pid 15 (swi6: task queue)
    calcru: runtime went backwards from 15521 usec to 10366 usec for pid 2 (g_event)
    calcru: runtime went backwards from 25 usec to 12 usec for pid 11 (swi1: net)
    calcru: runtime went backwards from 4417 usec to 3960 usec for pid 1 (init)
    calcru: runtime went backwards from 2084385 usec to 1793542 usec for pid 1 (init)
    calcru: runtime went backwards from 408 usec to 204 usec for pid 0 (swapper)

    Ennek oka, hogy az Intel SpeedStep (EIST) egyes alaplapokkal nem kompatibilis.

    Megoldás: Tiltsuk le a BIOS-ban az EIST használatát. Ekkor még az ACPI-alapú processzorfrekvencia-szabályozás továbbra is elérhető a powerd(8) használatán keresztül.

    5.25. Miért jár rosszul az óra a számítógépen?

    A számítógépnek kettő vagy több időmérő eszköze van, és a FreeBSD pont a rosszabbikat választotta.

    Adjuk ki a dmesg(8) parancsot és vizsgáljuk meg a Timecounter kezdetű sorokat. Ezek közül a FreeBSD a legnagyobb “quality” értékkel rendelkezőt választotta.

    # dmesg | grep Timecounter
    Timecounter "i8254" frequency 1193182 Hz quality 0
    Timecounter "ACPI-fast" frequency 3579545 Hz quality 1000
    Timecounter "TSC" frequency 2998570050 Hz quality 800
    Timecounters tick every 1.000 msec

    Erről a kern.timecounter.hardware sysctl(3) változó lekérdezésével tudunk ténylegesen megbizonyosodni:

    # sysctl kern.timecounter.hardware
    kern.timecounter.hardware: ACPI-fast

    Előfordulhat, hogy az ACPI-időzítő hibás. Ilyenkor az a legegyszerűbb, ha az /etc/loader.conf állományban letiltjuk az ACPI-időzítő használatát:

    debug.acpi.disabled="timer"

    Vagy a BIOS is tudja módosítani a TSC időzítőt -- például azért, hogy csökkentse a processzor sebességét, amikor merül az akkumulátor vagy energiatakarékos módra vált. A FreeBSD sajnos nem figyel ezekre a változtatásokra és elcsúszik az időméréssel.

    Ahogy viszont az iménti példában is látható, itt még az i8254 időzítő is használható, méghozzá úgy, hogy a kern.timecounter.hardware sysctl(8) változó értékét átállítjuk erre az értékre:

    # sysctl -w kern.timecounter.hardware=i8254
    kern.timecounter.hardware: TSC -> i8254

    Innentől kezdve a számítógépünk már sokkal pontosabban mutatja az időt.

    Ezt a változtatást úgy tudjuk minden rendszerindítás során automatikusan megtenni, ha felvesszük a következő sort az /etc/sysctl.conf állományba:

    kern.timecounter.hardware=i8254

    5.26. A rendszer laptopon miért nem tudja rendesen megtalálni a PC-kártyákat?

    Ez a probléma gyakran megjelenik olyan laptopokon, amelyek egynél több operációs rendszert is futtatnak, egyes nem-BSD típusú rendszerek ugyanis hajlamosak a hardvert inkonzisztens állapotban hagyni. Emiatt a pccardd(8) parancs az adott kártyát “"(null)""(null)"” néven észleli a valós típusa helyett.

    A hardvert innen teljesen csak úgy tudjuk alapállapotába hozni, ha a PC-kártya foglalatát áramtalanítjuk. Ehhez ki kell kapcsolnunk a laptopot. (Tehát ne tegyük se készenléti, se pedig hibernált állapotba -- teljesen ki kell kapcsolni.) A PC-kártya ezután várhatóan már működni fog.

    Némely laptopok hazudnak arról, hogy rendesen ki vannak-e kapcsolva. Amennyiben az előbbi módszer nem válna be, próbáljuk meg úgy, hogy kikapcsoljuk a gépet, kivesszük az akkumulátort, várunk egy keveset, visszarakjuk és újra bekapcsoljuk.

    5.27. Miért ad a FreeBSD rendszertöltője “Read error” hibát és áll meg a BIOS képernyőn?

    A FreeBSD rendszertöltője rosszul ismerte fel a merevlemez geometriáját. Ezt a FreeBSD slice-ok létrehozásakor és módosításakor külön meg kell adni az fdisk(8) használatakor.

    A meghajtóhoz tartozó megfelelő geometriai beállítások a számítógép BIOS-ában találhatóak. Keressük meg az adott meghajtó cilinder-fej-szektor (Cylinder/Head/Sector) értékét.

    A sysinstall(8) partíciószerkesztőjében a G billentyű lenyomásával tudjuk beállítani ezt.

    Ekkor egy párbeszédablak jelenik meg, ahol meg tudjuk adni a cilinderek, fejek és a sávonkénti szektorok számát. Ide perjelekkel elválasztva gépeljük e a BIOS-ban talált értékeket. Például ha a merevlemez geometriája 5000 cilinder, 250 fej és sávonként 60 szektor, akkor a 5000/250/60 értéket kell megadnunk.

    Az Enter billentyű lenyomására ezek az értékek beállítódnak, és a W lenyomására pedig az új partíciós tábla kiíródik a lemezre.

    5.28. Egy másik operációs rendszer letörölte a boot managert. Hogyan lehet visszaállítani?

    Indítsuk el a sysinstall(8) programot, majd válasszuk a Configure és Fdisk menüpontokat. A partíciószerkesztőben a Space billentyűvel tudjuk kiválasztani azt a partíciót, amelyen korábban a boot manager volt. Ezután az W billentyű lenyomásával tudjuk a változtatásainkat lemezre menteni. Ekkor egy menü jelenik meg, ahol a telepíteni kívánt rendszertöltőt választhatjuk ki. Adjuk meg és ekkor visszakerül a helyére.

    5.29. Mit jelent a “swap_pager: indefinite wait buffer:” hibaüzenet?

    Ez arra utal, hogy egy futó program megpróbált kiírni egy lapot a memóriából a lemezre, azonban 20 másodperce már nem tudott hozzáférni a lemezhez. Ezt okozhatják hibás szektorok a lemezen, a lemez hibás kábelezése vagy esetleg valamilyen lemezműveletekkel kapcsolatos hardver meghibásodása. Amennyiben maga a meghajtó a rossz, akkor az ilyen hibaüzenetek mellett még más, a lemez hibás működésére utaló üzenetet is látnunk kell a /var/log/messages állományban vagy a dmesg kimenetében. Minden más esetben érdemes a meghajtó csatlakozásait és kábelezését ellenőrizni.

    5.30. Mik azok a “UDMA ICRC” hibák és hogyan lehet ellenük tenni valamit?

    A ata(4) meghajtó jelenti ezeket a “UDMA ICRC” hibákat olyan esetekben, amikor a merevlemezre vagy a merevlemezről érkező DMA átvitel hibás. A meghajtó ilyenkor még párszor megpróbálja megismételni a műveletet. Amennyiben ezek a műveletek is meghiúsulnak, a DMA átvitel helyett a lassabb PIO átviteli módra állítja át a merevlemez felé irányuló kommunikációt.

    Ezt a problémát több tényező is okozhatja, habár ennek a leggyakoribb oka a hibás vagy rossz kábelezés. Ilyenkor mindig ellenőrizzük, hogy a merevlemezhez csatlakozó ATA-kábelek sértetlenek és a használni kívánt Ultra DMA átviteli módra alkalmasak. Ha cserélhető lemezes meghajtót használunk, akkor kompatibilisnek is kell lenniük. Ez a gond akkor jelentkezhet, amikor ugyanarra az ATA-csatornára egy Ultra DMA 66-os (vagy annál is gyorsabb) és egy régebbi meghajtót csatlakoztatunk. Végezetül ezek a hibaüzenetek arra is utalhatnak, hogy a meghajtó meghibásodott. A legtöbb gyártó külön szoftver ajánl fel ennek vizsgálatára, ezért ilyenkor érdemes letesztelnünk az érintett meghajtót, illetve amennyiben szükséges, biztonsági másolatot készíteni az adatainkról és kicserélni az eszközt.

    Az atacontrol(8) segédprogram használatával ellenőrizni tudjuk, hogy jelenleg az egyes ATA-eszközök milyen DMA vagy PIO módban működnek. Erre a célra különösen az atacontrol mode csatorna parancsot javasoljuk, amivel képesek vagyünk megnézni az adott ATA-csatornára csatlakozó eszközök átviteli módjait. Itt a csatorna értéke nullától indul.

    5.31. Mi az a “lock order reversal”?

    Erre a kérdésre a választ a FreeBSD-s szakkifejezések gyűjteményében találjuk meg a LOR címszó alatt.

    5.32. Mit jelent a “Called ... with the following non-sleepable locks held” üzenet?

    Ez az üzenet arra utalhat, hogy egy függvény lepihent miközben nála volt egy mutex (vagy más, nem pihentethető) típusú zárolás.

    Azért keletkezik ilyen hiba, mert a mutexeket nem úgy tervezték, hogy hosszabb ideig is meg lehessen tartani, kizárólag csak rövid időtartamra vonatkozó szinkronizációt lehet velük végezni. Ez a programozói megegyezés lehetővé teszi az eszközmeghajtók számára, hogy a megszakítások közben mutexek segítségével képesek legyenek szinkronizálni a rendszermag többi részével. A megszakítások (FreeBSD alatt) pedig nem pihenhetnek. Ezért a rendszermagon belül semmilyen olyan alrendszer nem blokkolódhat huzamosabb ideig, amelyik mutexet tart magánál.

    Ezeket a hibákat úgy tudjuk elcsípni, ha olyan ellenőrzéseket teszünk a rendszermagba, amelyek jeleznek a witness(4) alrendszernek, hogy küldjön figyelmeztetést vagy akár végzetes hibát (a rendszer konfigurációjától függően) azokban a helyzetekben, amikor egy sejthetően hosszabb ideig blokkolt hívás tart magánál egy mutexet.

    Röviden úgy foglalhatnánk össze, hogy ezek a hibák alapvetően nem végzetesek, de egy kis balszerencsével az egyszerű kis megakadásoktól kezdve a teljes lefagyásig szinte bármilyen hibáért felelősek lehetnek.

    5.33. A buildworld/installworld miért áll le “touch: not found” hibával?

    Ez a hibaüzenet nem azt jelenti, hogy a touch(1) segédprogram nem található, hanem inkább azt, hogy az érintett állományok dátuma a jövőre állítódott be. Ha a CMOS óránkat a helyi idő szerint állítottuk be, akkor egyfelhasználós módban indítsuk újra a rendszert és a adjkerntz -i parancs kiadásával állítsuk be a rendszermag óráját.


    Fejezet 6. Kereskedelmi alkalmazások

    Megjegyzés: Ez a fejezet még nagyon rövid, de természetesen reméljük, hogy a különböző cégek hamarosan bővíteni fogják! :) A FreeBSD fejlesztőinek ezzel kapcsolatban semmilyen anyagi érdekük nincs, csupán szeretnék felsorolni a nyilvánosan is elérhető szolgáltatásokat (de úgy érezzük, hogy a FreeBSD kereskedelmi irányú megközelítése a FreeBSD fejlődésére is jó hatással lehet hosszabb távon). Javasoljuk minden kereskedelmi fejlesztőnek, hogy küldjék be ide is a saját kérdéseiket. A gyártók honlapján olvashatjuk a teljes listájukat.

    6.1. Honnan lehet a FreeBSD-hez irodai programcsomagokat szerezni?
    6.2. Honnan lehet a Motif®-ot szerezni a FreeBSD-hez?
    6.3. Honnan lehet FreeBSD-re CDE-t szerezni?
    6.4. Használhatóak adatbázisrendszerek FreeBSD alatt?
    6.5. Az Oracle® fut FreeBSD alatt?

    6.1. Honnan lehet a FreeBSD-hez irodai programcsomagokat szerezni?

    A nyílt forráskódú OpenOffice.org irodai programcsomag FreeBSD alatt natívan is futtatható. StarOffice linuxos változata, amely az OpenOffice.org zárt forráskódú, továbbfejlesztett változata, szintén működik FreeBSD alatt.

    A FreeBSD ezeken kívül még számos szövegszerkesztőt, táblázatkezelőt és rajzprogramot is tartalmaz a Portgyűjteményében.

    6.2. Honnan lehet a Motif®-ot szerezni a FreeBSD-hez?

    A The Open Group kiadta a Motif 2.2.2 változatának forráskódját. Ez az x11-toolkits/open-motif csomagból vagy portból érhető el. A telepítésével kapcsolatban olvassuk el a kézikönyv portokról szóló részét.

    Megjegyzés: Az Open Motif kizárólag csak nyílt forráskódú operációs rendszereken terjeszthető.

    Ezenkívül még használhatóak a Motif kereskedelmi változatai is. Ezek viszont már nem ingyenesek, de a licencük megengedi azt, hogy zárt forráskódú szoftverekben is felhasználhassuk. Az Apps2gonál érdeklődjünk a FreeBSD-re elérhető legolcsóbb Motif 2.1.20 ELF (i386) típusú terjesztésekkel kapcsolatban.

    Kétfajta terjesztés létezik, a “fejlesztői változat” és a “futásidejű változat” (valamivel olcsóbb). Az egyes terjesztésekben a következők találhatóak:

    • OSF/Motif manager, xmbind, panner, wsm

    • Fejlesztői készlet: uil, mrm, xm, xmcxx, include és Imake állományok

    • Statikus és dinamikus ELF könyvtárak

    • Példa alkalmazások

    A megrendelés során ne felejtsük el megadni, hogy a Motif melyik FreeBSD verzióhoz készített változatát kérjük (valamint az architektúrát se)! Az Apps2go NetBSD és OpenBSD rendszerekkel is foglalkozik, ezeket a változatokat jelenleg csak FTP-n keresztül lehet elérni.

    További információk

    Az Apps2go honlapja

    illetve

    vagy

    vagy

    telefonon: (817) 431 8775 és +1 817 431-8775

    6.3. Honnan lehet FreeBSD-re CDE-t szerezni?

    A Xi Graphics korábban kínált fel CDE-t FreeBSD-hez, de manapság már nem foglalkoznak ezzel.

    A KDE a CDE-hez nagyon sok tekintetben hasonló nyílt forráskódú X11 munkakörnyezet, de érdemes pillanatást vetnünk az xfce-re is. A KDE és az xfce egyaránt megtalalálható a portok között.

    6.4. Használhatóak adatbázisrendszerek FreeBSD alatt?

    Igen! A FreeBSD hivatalos honlapján megtaláljuk ezeket a kereskedelmi gyártók között.

    Érdemes még megnéznünk a Portgyűjteményeben a adatbázisokat tartalmazó szekciót.

    6.5. Az Oracle® fut FreeBSD alatt?

    Igen. A következő oldalakon találunk arról információt, hogyan telepíthetjük FreeBSD-re az Oracle Linux változatát:


    Fejezet 7. Felhasználói alkalmazások

    7.1. Hol vannak a felhasználói programok?
    7.2. Hogyan tudjuk beállítani az INN (Internet News) szolgáltatást a gépünkön?
    7.3. A FreeBSD rendelkezik Java™ támogatással?
    7.4. Miért nem fordul egy port a 6.X-STABLE vagy a 7.X-STABLE változatot futtató gépeken?
    7.5. A make index paranccsal nem sikerült létrehozni az INDEX állomyánt. Mi a gond?
    7.6. A CVSup miért nincs a FreeBSD forrásai között?
    7.7. A forrásokon kívül a telepített portokat is lehet valahogy frissíteni?
    7.8. Minden nagyobb verziófrissítésnél újra kell fordítani az összes telepített portot a rendszeren?
    7.9. Minden kisebb verziófrissítésnél újra kell fordítani az összes telepített portot a rendszeren?
    7.10. A /bin/sh miért ilyen egyszerű? A FreeBSD-ben miért nincs bash vagy valamilyen más rendes parancsértelmező?
    7.11. A Netscape és az Opera indítása miért tart olyan sokáig?
    7.12. Ha a CVSup használatával frissítjük a Portgyűjteményt, akkor sok port nem fordul le mindenféle rejtélyes hibaüzenet kíséretében! Valami nagy baj van a Portgyűjteménnyel?
    7.13. Hogyan lehet MIDI állományokból audio CD-t készíteni?

    7.1. Hol vannak a felhasználói programok?

    Nézzünk szét a portok között és láthatjuk, hogy milyen szoftvereket portoltak eddig FreeBSD-re. A listában pillanatnyilag 20 000 port található és naponta növekszik, ezért érdemes folyamatosan figyelni vagy az új portokról úgy is értesülhetünk rendszeresen, ha feliratkozunk a FreeBSD announcements levelezési lista címére.

    A legtöbb portnak működnie kell a 6.X, 7.X és 8.X ágak használata esetén is. Mindegyik FreeBSD kiadás elkészítésekor készül egy pillanatfelvétel a portokat tartalmazó könyvtárról és bekerül a ports/ könyvtárba.

    Ezenkívül még “csomagok” is rendelkezésünkre állnak, amelyek lényegében egy tömörített bináris terjesztési formát takarnak, némi plusz információval kiegészítve az egyéni telepítésekhez elvégzéséhez. A csomagok könnyen telepíthetőek és eltávolíthatóak anélkül, hogy pontosan ismernénk a benne található állományok összes apró részletét.

    A különböző csomagokat a sysinstall(8) programban (a Configure menün belül) található Packages menüpontban tudjuk telepíteni, vagy meghívjuk meg a pkg_add(1) parancsot. A csomagokat leginkább .tbz kiterjesztésükről lehet megismerni, valamint a telepítő CD-ken a packages/All könyvtárban találhatóak. Az interneten keresztül is le tudjuk tölteni ezek közül a FreeBSD különböző verzióihoz tartozó változatukat a hozzánk legközelebbi tükrözésekről:

    Nem mindegyik port érhető el csomagként, mivel folyamatosan készülnek az újabbak. Ezért mindig érdemes bizonyos időközönként ellenőrizni a központi ftp.FreeBSD.org oldalon található csomagokat.

    7.2. Hogyan tudjuk beállítani az INN (Internet News) szolgáltatást a gépünkön?

    Telepítsük az news/inn csomagot vagy portot és utána kiindulásképpen nézzük meg Dave Barr INN oldalát, ahol (angolul) találhatunk egy INN GYIK-ot.

    7.3. A FreeBSD rendelkezik Java™ támogatással?

    Igen. Látogassunk el a http://www.FreeBSD.org/java/ oldalra.

    7.4. Miért nem fordul egy port a 6.X-STABLE vagy a 7.X-STABLE változatot futtató gépeken?

    Ha olyan FreeBSD verziónk van, amely egy kicsit lemaradt az aktuális -CURRENT vagy -STABLE ágak mögött, akkor valószínűleg frissítenünk kell a Portgyűjteményünket. Ennek részleteiről a Porterek kézikönyvében, a Keeping Up című részben olvashatunk (angolul). Ha viszont rendszerünkben minden a lehető legfrissebb, akkor előfordulhat, hogy valaki olyan változtatást rakott fel a porthoz, amely a -CURRENT esetén működik, de a -STABLE változatban már nem. Ilyenkor feltétlenül küldjünk egy hibajelentést a send-pr(1) paranccsal, hiszen a Portgyűjteménynek a -CURRENT és -STABLE ágak esetén egyaránt működnie kell.

    7.5. A make index paranccsal nem sikerült létrehozni az INDEX állomyánt. Mi a gond?

    Elsőként mindig ellenőrizzük, hogy a Portgyűjteményünk a lehető legfrissebb. A legfrissebb változatnál jelentkező INDEX készítési hibák mindig szem előtt vannak, ezért általában gyorsan megjavulnak.

    Ha viszont egy friss verzióval rendelkezünk, akkor elképzelhető, hogy egy másik hibával kerültünk szembe. A make index parancsnak van egy olyan hibája, amely miatt nem képes a Portgyűjtemény hiányos példányával dolgozni. Feltételezi ugyanis, hogy az összes olyan port megtalálható a rendszerünkben, amely telepítése szükséges az adott porthoz. Ennek megértéséhez most képzeljük el, hogy megvan az ize/mize port a lemezen, amely függ az aze/maze porttól, és emiatt az aze/maze portnak és függőségeinek is rajta kell lennie a lemezünkön. Minden más esetben a make index nem tud összegyűjteni elegendő információt ahhoz, hogy létre tudja hozni a függőségi gráfot.

    Ez különösen olyan FreeBSD felhasználókkal fordul elő, akik a cvsup(1) (vagy csup(1)) használatával frissítik a Portgyűjteményüket, de a refuse állományokban kizártak néhány kategóriát. Elméletben természetesen ki lehet zárni akármilyen kategóriát, azonban a gyakorlat azt mutatja, hogy ez szinte lehetetlen, mivel túlságosan sok port függ más kategóriákban található portoktól. Amíg valaki meg nem oldja ezt a problémát, addig fogadjuk el általános szabálynak, hogy az INDEX létrehozásához a teljes Portgyűjteménnyel rendelkeznünk kell.

    Néhány ritka esetben még előfordulhat, hogy az INDEX azért nem jön létre, mert a make.conf állományban megadtunk valamilyen WITH_* vagy WITHOUT_* változót. Ha úgy érezzük, hogy ez okozhatja a problémát, akkor próbáljuk meg először ezen változók nélkül létrehozatni az INDEX állományt és csak utána jelenteni a hibát a FreeBSD ports levelezési lista címére.

    7.6. A CVSup miért nincs a FreeBSD forrásai között?

    A FreeBSD alaprendszerét úgy állították össze, hogy saját magát legyen képes legyen lefordítani, vagyis az egész operációs rendszer előállítható legyen néhány alapvető eszköz használatával. Ezért a források között leginkább csak az található meg, ami feltétlenül kell a források lefordításához. Ilyen például a C fordító (gcc(1)), a make(1), awk(1) és a többi.

    Mivel a CVSup a Modula-3 programozási nyelven íródott, csak úgy tudnánk beletenni a FreeBSD alaprendszerbe, ha hozzávennénk és karbantartanánk egy Modula-3 fordítót is. Ezzel együtt viszont növekedne a FreeBSD forrása, amelyet aztán karban is kellene tartani. Ezért mind a fejlesztők, mind pedig a felhasználók számára egyszerűbb, ha a CVSup egy külön portként érhető el a rendszerhez. Ez viszont gyorsan telepíthető a FreeBSD telepítő CD-ken található csomagokból.

    Azonban a FreeBSD 6.2-RELEASE megjelenésétől kezdve a FreeBSD felhasználók nem maradnak integrált CVSup kliens nélkül. Maxime Henrion munkájának köszönhetően a CVSup alkalmazásnak elkészült a C nyelven újraírt változata, a csup(1), amely most már az alaprendszer része. Noha jelenleg nem még nem képes mindarra, amire a CVSup, elegendő (és nagyon gyors!) ahhoz, hogy a forrásainkat frissen tartsuk. A 6.2 előtt kiadott rendszerek esetében ezt portból vagy csomagból is felrakhatjuk (lásd net/csup).

    7.7. A forrásokon kívül a telepített portokat is lehet valahogy frissíteni?

    A FreeBSD alaprendszere ehhez nem kínál fel semmilyen eszközt, de léteznek olyan segédeszközök, amelyekkel valamennyire meg tudjuk könnyíteni a frissítés folyamatát. További segédprogramok telepítésével pedig a portok kezelését tudjuk tovább egyszerűsíteni, amiről a FreeBSD kézikönyv A portok frissítése című szakaszában olvashatunk bővebben.

    7.8. Minden nagyobb verziófrissítésnél újra kell fordítani az összes telepített portot a rendszeren?

    Mindenképpen! Noha látszólag a frissített rendszeren is remekül futnak a korábbi verzióra telepített alkalmazások, könnyen előfordulhat, hogy az újabb portok telepítésékor vagy a meglevőek frissítésekor véletlenszerű összeomlásokat vagy egyéb hibákat tapasztalunk.

    Ne felejtsük el, hogy a rendszer frissítésekor a különféle osztott könyvtárak, betölthető modulok és a rendszer egyéb komponensei is lecserélődnek. Ezért a régebbi változataikhoz fordított alkalmazások egyáltalán nem fognak elindulni vagy nem működnek rendesen.

    Ezzel kapcsolatban olvassuk el a FreeBSD kézikönyvének frissítéről szóló szakaszát.

    7.9. Minden kisebb verziófrissítésnél újra kell fordítani az összes telepített portot a rendszeren?

    Általánosságban véve nem. A FreeBSD fejlesztői ugyanis mindent megtesznek azért, hogy ugyanazon a fő fejlesztési ágon belüli verziók között megmaradjon a bináris szintű kompatibilitás. Az esetleges kivételeket pedig dokumentálni szokták a kiadásokhoz tartozó jegyzetekben, ahol többnyire megadják az adott változtatáshoz tartozóan a követendő tanácsokat.

    7.10. A /bin/sh miért ilyen egyszerű? A FreeBSD-ben miért nincs bash vagy valamilyen más rendes parancsértelmező?

    Mert a POSIX® szerint lennie kell egy ilyen parancsértelmezőnek.

    A valamivel bonyolultabb válasz: sokan szeretnének olyan szkripteket írni, amelyek több rendszer közt is átvihetőek. Ezért a POSIX a parancsértelmezőkre és a segédprogramokra vonatkozó parancsokat igen részletesen tárgyalja. A legtöbb ilyen szkriptet a Bourne-féle parancsértelmezőben készítik, és több fontos programozói felület (make(1), system(3), popen(3) és ezek magasabb szintű, például Perl és Tcl nyelvi megfelelői) a Bourne-parancsértelmező használatán alapszik. Mivel a Bourne-parancsértelmező használata ilyen széles körben elterjedt, fontos, hogy gyorsan induljon, előre megjósolható legyen a működése és ne foglaljon túlságosan sok memóriát.

    A jelenlegi implementáció igyekszik ezek közül az elvárások közül egyszerre a lehető legtöbbet teljesíteni. A /bin/sh programot csak úgy tudjuk a megfelelő méreten tartani, ha nem tesszük bele az összes többi parancsértelmezőben megtalálható kényelmi funkciót. Pontosan ezért találhatjuk meg viszont a Portgyűjteményben a többi, például a bash, scsh, tcsh és zsh parancsértelmezőket. (Ezek konkrét memóriahasználatát össze is tudjuk vetni, ha a ps -u parancs kimenetének “VSZ” és “RSS” oszlopait megnézzük.)

    7.11. A Netscape és az Opera indítása miért tart olyan sokáig?

    Erre az az általános válasz, hogy a névfeloldás valószínűleg rosszul működik a rendszerünkön. A Netscape és az Opera is ellenőrzi a névfeloldást az indulásakor. Ezért a böngésző egészen addig nem jelenik meg az asztalon, amíg választ nem kap vagy rá nem jön, hogy nincs aktív hálózati kapcsolat.

    7.12. Ha a CVSup használatával frissítjük a Portgyűjteményt, akkor sok port nem fordul le mindenféle rejtélyes hibaüzenet kíséretében! Valami nagy baj van a Portgyűjteménnyel?

    Ha úgy korábban úgy frissítettük a CVSup használatával a Portgyűjteményt, hogy nem adtuk meg a ports-all CVSup algyűjteményt, akkor a ports-base algyűjteményt is mindig frissítenünk kell! Ennek okairól a kézikönyvben olvashatunk.

    7.13. Hogyan lehet MIDI állományokból audio CD-t készíteni?

    Ha MIDI állományokból akarunk audio CD-t készíteni, akkor először telepítsük fel a Portgyűjteményből a audio/timidity++ portot, majd kézzel tegyük hozzá Eric A. Welsh GUS patch-eit, melyek a http://alleg.sourceforge.net/digmid.html címről tölthetőek le. Miután a TiMidity++ sikeresen felkerült a rendszerünkre, a MIDI állományokat a következő paranccsal tudjuk átkonvertálni WAV állományokra:

    % timidity -Ow -s 44100 -o /tmp/juke/01.wav 01.mid

    A WAV állományok ezek után tetszőleges formátumba konvertálhatóak tovább vagy készíthető belőlük egy audio CD, ahogy azt a FreeBSD kézikönyvben is olvashatjuk.


    Fejezet 8. A rendszermag beállítása

    8.1. Nehéz testreszabni a rendszermagot?
    8.2. A rendszermag nem fordul le, mert a _hw_float nem található. Hogyan lehet megoldani ezt a problémát?
    8.3. Miért ilyen nagy a rendszermag mérete (közel 10 MB)?
    8.4. Miért ütköznek a megszakítások, amikor többportos soros vonali kártyákat akarunk használni?
    8.5. Miért nem lehet lefordítani a rendszermagot, még a GENERIC beállításaival sem?
    8.6. Honnan tudhatjuk meg milyen ütemezővel dolgozik a rendszerünk?
    8.7. Mi az a kern.sched.quantum?

    8.1. Nehéz testreszabni a rendszermagot?

    Egyáltalán nem! Ezzel kapcsolatban olvassuk el a FreeBSD kézikönyv rendszermag beállításairól szóló részét.

    Megjegyzés: Az új kernel állomány a hozzátartozó modulokkal együtt a /boot/kernel könyvtárba települ, míg a rendszermag korábbi változata és a moduljai a /boot/kernel.old könyvtárba kerül át, így ha netalán valamit elrontottunk volna, akkor a rendszermag korábbi változatának betöltésével lehetőségünk lesz kijavítani a hibát.

    8.2. A rendszermag nem fordul le, mert a _hw_float nem található. Hogyan lehet megoldani ezt a problémát?

    Ez valószínűleg azért következett be, mert eltávolítottuk az npx0 (lásd npx(4)) támogatást a rendszermag beállításai közül, mert a rendszerünkben nincs matematikai társprocesszor. Az npx0 eszköz jelenléte azonban kötelező. Valahol a gépünkben lennie kell olyan eszköznek, amely a lebegőpontos számok hardveres kezelését végzi, annak ellenére, hogy nem egy különálló eszköz, ahogy régen a 386-osoknál volt. A rendszermagban szerepelnie kell az npx0 eszköznek. Ha netalán még sikerülne is npx0 támogatás nélkül fordítanunk egy rendszermagot, akkor sem tud elindulni.

    8.3. Miért ilyen nagy a rendszermag mérete (közel 10 MB)?

    Nagyon valószínű, hogy a rendszermagunk debug módban készült el. A debug módú rendszermagokban rengeteg olyan szimbólum található, amely hasznos lehet a hibák keresése és a rendszer vizsgálata során, ezért emiatt jelentős mértékben növekszik a mérete. Emiatt nem kell aggódnunk, mert egy hibakeresésre felkészített rendszermag egyáltalán nem vagy csak egy kicsivel lassabb, mint a hagyományos változat, illetve a rendszer összeomlásakor mindig mindig szükségünk lehet ezekre a debug információkra.

    Ha viszont kevés a lemezterület vagy egyszerűen csak nem akarunk debug módú rendszermagot akarunk futtatni, akkor a következőkre kell figyelnünk:

    • Vegyük ki a rendszermag konfigurációs állományából a következő sort:

      makeoptions DEBUG=-g
    • A config(8) használata során ne használjuk a -g beállítást.

    A fentiek közül akármelyiket is választjuk, a rendszermagunk debug módban jön létre. Ha azonban sikerült betartani a fentebb javasolt lépéseket, akkor egy normál rendszermagot kapunk, amely mérete ilyenkor jelentős mértékben visszaesik: a legtöbbjük olyan 1,5 és 2 MB körül van.

    8.4. Miért ütköznek a megszakítások, amikor többportos soros vonali kártyákat akarunk használni?

    Ha a rendszermagot a többportos soros vonali kártyák támogatásával fordítjuk le, akkor a rendszertől azt az üzenetet kapjuk, hogy csak az első megszakítást fogja használni, a többit pedig ütközés miatt (interrupt conflict) kihagyja. Hogyan lehet ezen javítani?

    A gondot alapvetően az okozza, hogy a FreeBSD a rendszermagban fixen letárolja ezeket, nehogy valamilyen hardveres vagy szoftveres ütközés miatt elkallódjanak. Ezen úgy tudunk segíteni, ha egyetlen IRQ vonal kivételével az összes többi beállítását szabadon hagyjuk. Íme erre egy példa:

    #
    # Többportos nagysebességű soros vonali eszközök - 16550 UART
    #
    device sio2 at isa? port 0x2a0 tty irq 5 flags 0x501 vector siointr
    device sio3 at isa? port 0x2a8 tty flags 0x501 vector siointr
    device sio4 at isa? port 0x2b0 tty flags 0x501 vector siointr
    device sio5 at isa? port 0x2b8 tty flags 0x501 vector siointr

    8.5. Miért nem lehet lefordítani a rendszermagot, még a GENERIC beállításaival sem?

    Ennek több oka is lehet. Ezek közül néhány, de nem feltétlenül ebben a sorrendben:

    • Nem a make buildkernel és make installkernel parancsokat használtuk és valószínűleg a forrásaink sem egyeznek meg a jelenleg futó rendszerével (például egy 7.2-RELEASE rendszert akarunk fordítani egy 6.4-RELEASE rendszeren). Ha frissíteni akarunk, akkor olvassuk el a /usr/src/UPDATING állományt, különös tekintettel a végén található “COMMON ITEMS” című szakaszra.

    • A make buildkernel és make installkernel parancsokat használtuk, de előtte nem futott le rendesen a make buildworld parancs. A make buildkernel parancs ugyanis erősen támaszkodik a make buildworld által végzett munkára.

    • Gyakran a FreeBSD-STABLE változat használata esetén is előfordulhat, hogy olyan pillanatban töltöttük le a forrásokat, amikor módosítás alatt voltak vagy valamiért nem működtek rendesen. Kizárólag a kiadások esetén tudjuk szavatolni a hibátlan fordítást, noha a FreeBSD-STABLE verzióból készült változatok is többnyire megfelelőek. Próbáljuk meg újra letölteni a forrásokat, ha eddig még nem próbálkoztunk volna vele, és nézzük meg, hogy ez segít-e megoldani a problémát. Keressük másik szervert, ha gondjaink vannak a frissítéssel.

    8.6. Honnan tudhatjuk meg milyen ütemezővel dolgozik a rendszerünk?

    Nézzük meg, hogy a rendszerünkben elérhető-e a kern.sched.quantum változó. Ha van ilyenünk, akkor valami ilyesmit kell tapasztalnunk:

    % sysctl kern.sched.quantum
    kern.sched.quantum: 99960

    Ha létezik a kern.sched.quantum nevű sysctl változó, akkor a 4BSD ütemező fut (lásd sched_4bsd(4)). Ha nem, akkor egy ilyen hibát kapunk a sysctl(8) parancstól (ezt nyugodtan figyelmen kívül hagyhatjuk):

    % sysctl kern.sched.quantum
    sysctl: unknown oid 'kern.sched.quantum'

    Az aktuálisan használt ütemező neve közvetlenül elérhető a kern.sched.name sysctl változó lekérdezésén keresztül:

    % sysctl kern.sched.name
    kern.sched.name: 4BSD

    8.7. Mi az a kern.sched.quantum?

    A kern.sched.quantum értéke határozza meg, hogy egy futó program legfeljebb mennyi órajelet futhat egyszerre, megszakítás nélkül. Ezt az értéket a 4BSD ütemező használja, ezért a jelenlétéből vagy hiányából következtetni tudunk a pillanatnyilag használatban levő ütemezőre.


    Fejezet 9. Lemezek, állományrendszerek és rendszertöltők

    9.1. Hogyan adjunk lemezeket a FreeBSD rendszerünkhöz?
    9.2. Hogyan lehet átteni a rendszert egy nagyobb lemezre?
    9.3. A “Veszélyesen dedikált” (“Dangerously Dedicated”) lemezek veszélyesek a felhasználóra?
    9.4. Milyen partíciókon lehet Soft Updatest használni? A Soft Updates állítólag nem működik rendesen a gyökérpartíció esetén.
    9.5. Mi történt a ccd(4) eszközzel?
    9.6. Miért nem lehet a ccd(4) eszköz lemezcímkéjét szerkeszteni?
    9.7. Lehet más operációs rendszerek állományrendszerét is csatlakoztatni FreeBSD alatt?
    9.8. Hogyan lehet másodlagos (logikai) DOS partíciókat csatlakoztatni?
    9.9. Használható titkosított állományrendszer FreeBSD alatt?
    9.10. A Windows NT® rendszertöltőjével is el lehet indítani a FreeBSD-t?
    9.11. A LILO-ból hogyan lehet FreeBSD-t és Linuxot is indítani?
    9.12. Hogyan lehet a GRUB használatával FreeBSD-t és Linuxot is indítani?
    9.13. Hogyan lehet a BootEasy használatával elindítani a FreeBSD-t és a Linuxot?
    9.14. A rendszerindításkor látható ??? hogyan írható át valami értelmesre?
    9.15. Cserélhető lemezes meghajtókat hogyan lehet használni?
    9.16. Miért ad a rendszer “Incorrect super block” hibát CD-k csatlakoztatásánál?
    9.17. Miért ad a rendszer “Device not configured” hibaüzenetet CD-k csatlakoztatásakor?
    9.18. Miért jelenik meg az összes nemzeti karakter helyén “?”, amikor FreeBSD alatt csatlakoztatunk egy CD-t?
    9.19. A FreeBSD alatt készített CD-ket nem lehet más operációs rendszerekkel olvasni. Miért nem?
    9.20. Hogyan lehet lementeni egy adat CD tartalmát a merevlemezre?
    9.21. Miért nem lehet audio CD-ket csatlakoztatni a mount paranccsal?
    9.22. Hogyan lehet többmenetes (multisession) CD-ket csatlakoztatni a mount paranccsal?
    9.23. Hogyan képesek az egyszerű felhasználók floppykat, CD-ket és más egyéb cserélhető lemezes eszközöket használni?
    9.24. A du és a df parancsok eltérő mennyiségű szabad helyet mutatnak. Mi okozza ezt?
    9.25. Hogyan lehet növelni a lapozóterületet?
    9.26. A FreeBSD miért látja kisebbnek a lemezeket mint amekkorának a gyártó mondja ezeket?
    9.27. Hogyan lehet egy partíció 100 százaléknál is jobban megtelt?

    9.1. Hogyan adjunk lemezeket a FreeBSD rendszerünkhöz?

    Ezzel kapcsolatban olvassuk el a lemezek hozzáadásáról szóló részt a FreeBSD kézikönyvben.

    9.2. Hogyan lehet átteni a rendszert egy nagyobb lemezre?

    Ezt legegyszerűbben úgy tudjuk megcsinálni, ha újratelepítjük az operációs rendszert az új lemezre és külön áttesszük a felhasználói adatokat. Ez különösen ajánlott abban az esetben, ha már több kiadás óta követjük a -STABLE változatot, vagy ha korábban már frissítettük a kiadásunkat. A boot0cfg(8) segítségével fel tudjuk rakni a booteasyt mind a két lemezre és így egészen addig váltogatni tudjuk a kettőt, amíg teljesen át nem álltunk. Ugorjuk át a következő bekezdést, és olvassuk el, hogy rakjuk át az adatokat.

    Úgy is dönthetünk, hogy nem telepítjük újra a rendszert. Ekkor vagy a sysinstall(8), vagy pedig a fdisk(8) és a disklabel(8) használatával osszuk fel és címkézzük meg az új lemezt. Érdemes még a boot0cfg(8) segítségével felraknunk a booteasyt mind a két lemezre, így miután átmásoltuk a régi rendszerünket az új lemezre, ennek megtartásával ki tudjuk próbálni az új rendszert. A lemezek formázásáról szóló cikkben olvashatunk ennek pontosabb részleteiről.

    Most, miután sikeresen beállítottuk az új lemezt, készen állunk az adatok átmásolására. Sajnos nem lehet csak úgy vakon átmásolni ezeket egyik lemezről a másikra. Ilyenkor ugyanis bizonyos dolgok (például a /dev könyvtárban található eszközleírók, az állományjelzők és a linkek stb.) hajlamosak elromlani. Ezért ehhez olyan eszközökre lesz szükségünk, amelyek ismerik ezeket a dolgokat, mint például a dump(8). Továbbá javasoljuk, hogy egyfelhasználós módban végezzük el az átvitelt, noha ez nem feltétlenül szükséges.

    A rendszerindító állományrendszer átmozgatásához egyedül a dump(8) és restore(8) segédprogramokra lesz szükségünk. Esetleg a tar(1) parancs is használható, de nem minden esetben. A dump(8) és restore(8) páros akkor is remekül használható, ha egy partíció tartalmát egy üres partícióra akarjuk átvinni. A következő lépések szükségesek ahhoz, hogy a dump parancs segítségével átvigyük egyik partícióról a másikra az adatokat:

    1. Hozzunk létre egy új partíciót.

    2. Ideiglenesen csatlakoztassuk egy könyvtárba.

    3. Lépjünk be abba a könyvtárba.

    4. Mentsük le a régi partíciót és az eredményt küldjük át az újra.

    Például, ha a /mnt könyvtárba csatlakoztatott /dev/ad1s1a eszközről akarjuk átvinni a jelenlegi gyökérpartíciónkat, akkor ezeket a parancsokat kell kiadnunk:

    # newfs /dev/ad1s1a
    # mount /dev/ad1s1a /mnt
    # cd /mnt
    # dump 0af - / | restore rf -

    További munkát igényel, ha a dump parancs segítségével a partícióinkat is át akarjuk szervezni. Például a /var partíciót úgy tudjuk beleolvasztani a tövébe, ha létrehozunk egy olyan partíciót, amely mind a kettő számára elegendő nagy, majd a fentebb leírt módszerrel először átmozgatjuk a tövét, utána pedig átmozgatjuk az alpartíció tartalmát az első mozgatás során létrejött egyik üres könyvtárba:

    # newfs /dev/ad1s1a
    # mount /dev/ad1s1a /mnt
    # cd /mnt
    # dump 0af - / | restore rf -
    # cd var
    # dump 0af - /var | restore rf -

    Egy könyvtárat, például /var tartalmát pedig úgy tudunk leválasztani a tövéről, vagyis átrakni egy korábban nem létező partícióra, ha először létrehozzuk mind a két partíciót, csatlakoztatjuk a leendő alpartíciót az ideiglenes csatlakozási ponton belül a megfelelő könyvtárba és mindkettőre átmozgatjuk a régi partíció teljes tartalmát:

    # newfs /dev/ad1s1a
    # newfs /dev/ad1s1d
    # mount /dev/ad1s1a /mnt
    # mkdir /mnt/var
    # mount /dev/ad1s1d /mnt/var
    # cd /mnt
    # dump 0af - / | restore rf -

    A felhasználói adatok esetén a cpio(1), pax(1), tar(1) és dump(8) eszközöket ajánljuk. Az írás pillanatában még úgy tudjuk, hogy nem tartják meg az állományjelzőkkel kapcsolatos információkat, ezért csak óvatosan használjuk ezeket!

    9.3. A “Veszélyesen dedikált” (“Dangerously Dedicated”) lemezek veszélyesek a felhasználóra?

    A telepítés során két különböző módon tudjuk partícionálni a lemezeinket. Alapértelmezés szerint a rendszer igyekszik kompatbilis maradni a gépünkön található többi operációs rendszerrel. Ilyenkor normális partíciós táblabeli bejegyzéseket készít (amelyeket FreeBSD alatt “slice”-oknak hívnak), és egy ilyen slice-ba teszi az összes saját partícióját. Emellé még telepíteni tudjuk az operációs rendszerek választásának lehetőségét is a rendszer indításakor. A másik lehetőség választása esetén azonban a FreeBSD teljesen kisajátítja a lemezt és nem is próbál meg kompatibilis maradni a többi operációs rendszerrel.

    Miért is nevezzük ezt “veszélyesnek”? A lemez ebben az esetben nem tartalmaz semmi olyat, amelyet a hétköznapi programok partíciós táblaként tudnának beazonosítani. Attól függően, hogy mennyire illedelmes, egy ilyen program panaszkodni fog, amikor megpróbálja értelmezni a lemez tartalmát, de rosszabb esetben anélkül felülírja a rendszerbetöltőt, hogy bármit is jelzett volna. Ráadásul a “veszélyesen dedikált módon” kiosztott lemezek még bizonyos BIOS-okat is képesek megzavarni, többek közt az Award (például amelyek a HP NetServer, Micronics és hasonló rendszerekben találhatóak) vagy Symbios/NCR (népszerű 53C8xx SCSI-vezérlők) típusúak esetén találkozhatunk ezzel a problémával. Ez a lista persze nem teljes, más gyártók termékeivel is gondok akadhatnak. Ennek a hibának jellemző tünete a “read error” hibaüzenet, amely arra utal, hogy a FreeBSD betöltője nem találja saját magát a lemezen, vagy éppen az egész rendszer megáll a rendszer indítása közben.

    Akkor mégis mi értelme van ennek? Csak néhány kilobyte-tot spórolunk vele, miközben komoly gondokat okozhat egy frissen telepített rendszer esetében. A “veszélyesen dedikált mód” eredetileg az új FreeBSD telepítőket veszélyeztető egyik komoly hibát szeretné kiküszöbölni: a merevlemezek BIOS és lemez önmaga által ismert geometriai beállításainak egyeztetése.

    A “lemezgeometria” fogalma tulajdonképpen már egy elavult fogalom, de a PC-k BIOS-a legbelül még mind a mai napig így kommunikál a lemezekkel. Amikor a FreeBSD telepítőjével slice-okat hozunk létre, olyan módon kell rögzítenünk a lemezre ezek pozícióját, hogy a BIOS képes legyen megtalálni. Ha ez nem sikerül, akkor nem tudjuk elindítani a rendszert.

    A “veszélyesen dedikált” mód ezt a problémát az egyszerűsítésén keresztül próbálja megoldani, és néha sikerül is neki. Ezt azonban csak akkor javasoljuk, ha semmi más nem működik, hiszen az esetek túlnyomó részében más megoldás is létezik.

    Hogy tudjuk tehát akkor elkerülni a “veszélyesen dedikált” mód használatát a telepítés során? Jegyezzük fel, hogy mik a BIOS szerint a merevlemezünk geometriai beállításai. Ezt a rendszerindítás közben a rendszermagtól is megkérdezhetjük úgy, hogy a boot: paranccsorába megadjuk a -v beállítást, vagy a betöltőben a boot -v parancsot használjuk. Így pontosan a telepítő indítása előtt a rendszermag ki fogja írni a BIOS által ismert geometriai beállításokat. Ne essünk pánikba, várjuk meg, amíg a telepítő elindul, tekerjünk vissza a számokhoz és olvassuk le ezeket. A lemezek általában a BIOS sorrendjében jelennek meg, tehát először az IDE aztán a SCSI típusúak.

    A lemez partícionálásakor ellenőrizzük, hogy az FDISK képernyőjén megjelenő geometriai beállítások megfelelőek (tehát egyeznek a BIOS által ismert értékekkel). Ha eltérést tapasztalunk, akkor a G billentyű lenyomásával tudjuk átjavítani. Erre leginkább akkor lesz szükségünk, ha a lemez teljesen üres, vagy ha a lemezt egy másik rendszerből hoztuk át. Ez egyébként csak azoknál a lemezeknél okoz gondot, amelyekről a rendszert akarjuk indítani, a FreeBSD a többi lemezzel már remekül elboldogul.

    Miután sikerült egyeztetnünk a BIOS és a FreeBSD geometriai beállításait, szinte biztos, hogy nem kell már emiatt aggódnunk, így a “veszélyesen dedikált” módra sincs szükségünk. Ha viszont mégis egy “read error” hibaüzenetet kapnánk a rendszer indítása közben, akkor tegyünk egy próbát. Semmit sem veszíthetünk.

    Ha a “veszélyesen dedikált” mód használatáról szeretnénk visszatérni a megszokottra, akkor két lehetőségünk van. Először is teljesen le kell nulláznunk az MBR-t, így biztosra vehetjük, hogy az ezután következő telepítések során egy teljesen üres lemezt látunk. Ezt például így lehet megtenni:

    # dd if=/dev/zero of=/dev/rda0 count=15

    A másik módszer egy hivatalosan nem dokumentált DOS-os “lehetőség” használata:

    C:\> fdisk /mbr

    Ezzel egy új Master Boot Recordot tudunk telepíteni, ami ezzel együtt felülírja a BSD rendszertöltőjét is.

    9.4. Milyen partíciókon lehet Soft Updatest használni? A Soft Updates állítólag nem működik rendesen a gyökérpartíció esetén.

    A rövid válasz: A Soft Updates bármelyik partíción minden további nélkül használható.

    A hosszabb válasz: Korábban voltak bizonyos kétségek afelől, hogy a Soft Updates jól működik a rendszerindító partíciókon is. Ez alapvetően a Soft Updates két jellemzőjére vezethető vissza. Először is, a Soft Updatest alkalmazó partíciók esetén előfordulhat, hogy a rendszerösszeomlás során elveszik valamennyi adat (maga a partíció nem lesz hibás, csupán némi adat tűnik el), illetve a Soft Updates ideiglenesen kifogyhat a tárhelyből.

    A Soft Updates használata során a rendszermag legfeljebb harminc másodperc múlva írja ki fizikailag a változtatásokat a lemezre. Tehát amikor egy nagyobb állományt törlünk, akkor ez az állomány egészen addig a lemezen marad, amíg a rendszermag ténylegesen el nem végzi ezt a törlést. Ezzel viszont nagyon egyszerűen létrehozható egy “ütközés” (race condition) az állományrendszeren. Tegyük fel, hogy letörlünk egy nagyobb állományt és utána közvetlenül létrehozunk egy másik nagyobb állományt. Mivel az első állomány ilyenkor még nem törlődik le valójában a lemezről, ezért a második számára már nem lesz elegendő helyünk. A rendszer ekkor egy hibaüzenetben fog figyelmeztetni minket, miközben pontosan az imént töröltünk le egy óriási állományt! Ha néhány másodperccel később újra megpróbáljuk létrehozni ezt az állományt, akkor már minden a megfelelő módon fog zajlani. Ezt régebben sok FreeBSD felhasználó nem tudta mire vélni.

    Ha a rendszerünk olyankor omlik össze, amikor a rendszermag már elkezdte egy nagyobb mennyiségű adat kiírását a lemezre, de még nem fejeződött be, akkor könnyen előfordulhat, hogy ez az adat elveszik vagy meghibásodik. Ennek kockázata nagyon kicsi, és általában kezelhető, viszont az IDE-meghajtókban található írási gyorsítótár használata jelentősen növeli ezt. Ezért a Soft Updates alkalmazása során nem javasoljuk ennek használatát.

    Ezek a problémák az összes Soft Updates partíciót veszélyeztetik. Mennyiben vonatkoznak viszont ezek a gyökérpartícióra?

    A gyökérpartíción nagyon ritkán változnak fontos információk. A /boot/kernel/kernel és az /etc egyedül a rendszer karbantartása során frissül, vagy például amikor a felhasználók jelszót változtatnak. Ha a rendszer egy ilyen változtatás harminc másodperces idején belül omlik össze, akkor megvan rá az esélyünk, hogy elvesznek az adataink. Ez a kockázat a legtöbb alkalmazás számára elfogadható, de semmiképpen sem szabad figyelmen kívül hagynunk. Ha a rendszerünk nem képes vállalni még ennyi kockázatot sem, akkor a rendszerindító partíción tiltsuk le a Soft Updates használatát!

    A gyökérpartíció hagyományosan az egyik legkisebb partíció. Ha viszont az ideiglenes állományok tárolására szánt /tmp könyvtárat is ezen belülre tesszük és gyakran használjuk, akkor ebből időszakosan tárhelyproblémáink adódhatnak. Könnyen megoldhatjuk azonban ezt a problémát, ha a /tmp könyvtárhoz létrehoznunk egy szimbolikus linket a /var/tmp könyvtárra.

    9.5. Mi történt a ccd(4) eszközzel?

    A hibajelenség:

    # ccdconfig -C
    ccdconfig: ioctl (CCDIOCSET): /dev/ccd0c: Inappropriate file type or format

    Ez általában olyankor történik, amikor olyan c partíciókat próbálunk meg összefűzni, amelyek alapértelmezés szerint unused (“nem használt”) típusúak. A ccd(4) meghajtó azonban megköveteli, hogy az érintett partíciók FS_BSDFFS típusúak legyenek. Szerkesszük át a lemezeken található címkéket és változtassuk meg a partíciók típusát a 4.2BSD értékre.

    9.6. Miért nem lehet a ccd(4) eszköz lemezcímkéjét szerkeszteni?

    A hibajelenség:

    # disklabel ccd0
    (itt valami gondot ír ki, ezért megpróbáljuk szerkeszteni a címkét)
    # disklabel -e ccd0
    (edit, save, quit)
    disklabel: ioctl DIOCWDINFO: No disk label on disk;
    use "disklabel -r" to install initial label

    Ezt általában azért kapjuk, mert a ccd(4) által visszaadott lemezcímke valójában “nem létezik” a lemezen. Ezen úgy tudunk segíteni, ha explicit módon visszaírjuk, valahogy így:

    # disklabel ccd0 > /tmp/lemezcimke.tmp
    # disklabel -Rr ccd0 /tmp/lemezcimke.tmp
    # disklabel -e ccd0
    (most már működni fog)

    9.7. Lehet más operációs rendszerek állományrendszerét is csatlakoztatni FreeBSD alatt?

    A FreeBSD több más állományrendszert is ismer.

    UFS

    Az UFS formátumú CD-k FreeBSD alatt közvetlenül csatlakoztathatóak. A Digital UNIX és más rendszerek UFS partícióit nem már annyira könnyű csatlakoztatni, ez leginkább a kérdéses operációs rendszer partícionálási megoldásaitól függ.

    ext2/ext3

    A FreeBSD támogatja az ext2fs és ext3fs partíciókat. Erről bővebben lásd a mount_ext2fs(8) man oldalt.

    NTFS

    A FreeBSD csak olvasni képes az NTFS partíciókat. Ezzel kapcsolatban a mount_ntfs(8) man oldalán találunk részletesebb információkat. Az írhatóság használatához az ntfs-3g portolt változatát javasoljuk (lásd sysutils/fusefs-ntfs).

    FAT

    A FreeBSD egyaránt képes írni és olvasni a FAT típusú partíciókat. Erről a mount_msdosfs(8) man oldalán tudhatunk meg többet.

    ReiserFS

    A FreeBSD tudja olvasni a ReiserFS partíciókat. Ezt a mount_reiserfs(8) man oldalon olvashatjuk.

    ZFS

    A FreeBSD jelen pillanatban a Sun™ ZFS meghajtójának átiratát is tartalmazza. Jelenleg azonban csak elegendő memóriával rendelkező amd64 platformokon javasoljuk a használatát. Részletesebb információkért lásd a zfs(8) man oldalt.

    A FreeBSD hálózati állományrendszereket is támogat, többek közt az NFS-t (lásd mount_nfs(8)), a NetWare-t (lásd mount_nwfs(8)), és Microsoft-féle SMB állományrendszereket (lásd mount_smbfs(8)). Más egyéb FUSE-alapú állományrendszer (sysutils/fusefs-kmod) támogatását is megtalálhatjuk a portok között.

    9.8. Hogyan lehet másodlagos (logikai) DOS partíciókat csatlakoztatni?

    A logikai DOS partíciók az elsődleges partíciók után találhatóak. Például, ha van egy “E” betűjelű logikai partíciónk a második SCSI-meghajtónkon, akkor lennie kell egy “ötödik slice-nak” a /dev könyvtárban, amelyet majd csatlakoztatni tudunk:

    # mount -t msdosfs /dev/da1s5 /dos/e

    9.9. Használható titkosított állományrendszer FreeBSD alatt?

    Igen. Erre a célra a gbde(8) és a geli(8) is tökéletesen alkalmas. A részleteket lásd a FreeBSD kézikönyv A lemezpartíciók titkosítása című fejezetében.

    9.10. A Windows NT® rendszertöltőjével is el lehet indítani a FreeBSD-t?

    Ehhez tulajdonképpen csak annyit kell csinálnunk, hogy átmásoljuk a FreeBSD rendszerindító partíciójának az első szektorát egy állományba a DOS/Windows NT partíción belül. Legyen ez például a C:\BOOTSECT.BSD állomány (a C:\BOOTSECT.DOS mintájára), amelyhez aztán így igazítjuk a c:\boot.ini állományt:

    [boot loader]
    timeout=30
    default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
    [operating systems]
    multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Windows NT"
    C:\BOOTSECT.BSD="FreeBSD"
    C:\="DOS"

    Ha a FreeBSD ugyanazon a lemezen található, ahonnan a Windows NT is indul, akkor egyszerűen csak másoljuk át a /boot/boot1 állományt C:\BOOTSECT.BSD néven. Ha viszont a FreeBSD egy másik lemezen található, akkor a /boot/boot1 önmagában már nem elegendő, hanem helyette a /boot/boot0 állományra lesz szükségünk.

    A /boot/boot0 állományt a sysinstall(8) használatával kell telepíteni abból a menüből, ahol a FreeBSD boot managerét kell kiválasztani. Erre azért van szükség, mert a /boot/boot0 állományon belül a partíciós tábla teljesen üres, azonban a sysinstall(8) át fogja másolni a partíciós táblát mielőtt a /boot/boot0 állományt az MBR-be tenné.

    Figyelem: Ne másoljunk át csak úgy egyszerűen a /boot/boot0 állományt a /boot/boot1 helyett! Ezzel felülíródik a partíciós táblánk és így a számítógépet nem tudjuk elindítani!

    Amikor a FreeBSD boot managere lefut, az utoljára indított operációs rendszert a partíciós táblában aktívként jelöli meg (ezzel lényegében megjegyzi), majd ezután beírja magát az MBR-be. Emiatt, hogy ha csak egyszerűen átmásoljuk a /boot/boot0 állományt a C:\BOOTSECT.BSD állományba, akkor csak egy egyetlen aktív bejegyzést tartalmazó üres partíciós táblát fog visszaírni az MBR-be.

    9.11. A LILO-ból hogyan lehet FreeBSD-t és Linuxot is indítani?

    Ha a FreeBSD és a Linux is ugyanazon a lemezen helyezkedik el, akkor nincs más teendőnk, mint követni a LILO telepítési útmutatójában a nem-Linux típusú operációs rendszerek indítására vonatkozó utasításokat. Ezek röviden összefoglalva a következők:

    Indítsuk el a Linuxot és vegyük fel a következő sort az /etc/lilo.conf állományba:

    other=/dev/hda2
            table=/dev/hda
            label=FreeBSD

    (A fentiekben feltételeztük, hogy a FreeBSD-t tartalmazó slice a Linux számára /dev/hda2 néven érhető el. Ez természetesen a saját konfigurációnkhoz kell szabni.) Ezután egyszerűen csak futtassuk le a lilo parancsot root felhasználóként és már készen is vagyunk.

    Ha a FreeBSD egy másik lemezen található, akkor a loader=/boot/chain.b LILO-bejegyzést kell használnunk. Például:

    other=/dev/dab4
            table=/dev/dab
            loader=/boot/chain.b
            label=FreeBSD

    Bizonyos helyzetekben előfordulhat, hogy a FreeBSD rendszertöltőjének át kell adnunk a meghajtó BIOS szerinti sorszámát, mert csak így tudjuk rendesen elindítani a második lemezről. Például, ha a FreeBSD szerint a SCSI-lemezünk a BIOS-ban az 1-es lemez, akkor ezt kell megadnunk a FreeBSD rendszertöltőjének:

    Boot: 1:da(0,a)/boot/kernel/kernel

    A boot(8) beállítható úgy, hogy a rendszer indításakor automatikusan mindig ezt a beállítást használja.

    A FreeBSD és Linux együttes használatáról további részleteket a Linux+FreeBSD mini-HOWTO című írásból tudhatunk meg.

    9.12. Hogyan lehet a GRUB használatával FreeBSD-t és Linuxot is indítani?

    A FreeBSD-t nagyon könnyű elindítani a GRUB segítségével. Ehhez csupán annyit kell tennünk, hogy felvesszük a következő sorokat a GRUB konfigurációs állományába (/boot/grub/menu.lst, vagy bizonyos, például Red Hat-típusú rendszerekben a /boot/grub/grub.conf):

    title FreeBSD 6.1
    	root (hd0,a)
    	kernel /boot/loader
    	  

    Itt a hd0,a az első lemezen található rendszerindító partícióra mutat. Ha a lemezen belül a slice számát is szeretnénk megadni, akkor írhatjuk így is: (hd0,2,a). Ha ezt nem adjuk meg, akkor a GRUB alapértelmezés szerint a lemezen levő első a partícióval rendelkező slice-ot keresi meg.

    9.13. Hogyan lehet a BootEasy használatával elindítani a FreeBSD-t és a Linuxot?

    A LILO-t ne a Master Boot Recordba, hanem a linuxos partíciónk elejére telepítsük. Ezután a BootEasyből már el tudjuk indítani a LILO-t.

    Abban az esetben is ezt javasoljuk, ha Windows és Linux is van a gépünkön, mivel így szintén egyszerűbb lesz elindítani a Linuxot, ha netalán valamikor újra kellene telepíteni a Windows-t (ami viszont egy “irigy” operációs rendszer, mert nem tűr meg semmilyen más operációs rendszert maga mellett a Master Boot Recordban).

    9.14. A rendszerindításkor látható ??? hogyan írható át valami értelmesre?

    Ez az szabványos boot managerrel csak úgy lehet megoldani, ha újratelepítjük. A portok között viszont a sysutils kategóriában rengeteg olyan más boot managert találhatunk, amely tud ilyet is.

    9.15. Cserélhető lemezes meghajtókat hogyan lehet használni?

    Legyen az akár egy Zip, EZ drive meghajtó (esetleg egy floppy, ha így akarjuk használni), vagy éppen egy új merevlemez, miután már telepítettük és felismerte a rendszert, illetve behelyeztük a lemezt, kártyát vagy akármit, minden esetben szinte ugyanaz a teendő.

    (Ez a válasz leginkább Mark Mayo ZIP GYIK című írásán alapszik.)

    Ha tehát egy ZIP meghajtóról vagy floppylemezről beszélünk, amelyen egy DOS-os állományrendszer található, akkor azt parancssorból így érhetjük el, ha floppy:

    # mount -t msdosfs /dev/fd0c /floppy

    vagy így, ha egy gyári beállításokkal rendelkező ZIP-lemez:

    # mount -t msdosfs /dev/da2s4 /zip

    A többi lemez esetén a fdisk(8) vagy a sysinstall(8) segítségével nézzük meg, hogy milyen partíciók és hogyan találhatóak meg rajtuk.

    A következő példákban egy da2 eszközként, vagyis egy harmadik SCSI-lemezként megjelenő ZIP-meghajtót fogunk használni.

    Hacsak nem floppyval van dolgunk, illetve nem tervezzük másoknak is odaadni a cserélhető médiumot, akkor érdemes inkább BSD típusú állományrendszert telepíteni rá. Így támogatottak lesznek a hosszú állománynevek, és legalább egy kétszer gyorsabb és egy sokkal megbízhatóbb megoldást kapunk. Ehhez először is le kell szednünk a DOS-szintű partíciókat és állományrendszereket. Erre a célra egyaránt megfelel a fdisk(8) vagy a sysinstall(8), illetve kisebb lemezek esetén valószínűleg nem is lesz szükségünk több operációs rendszer támogatására, így aztán közvetlenül is törülhetjük ezeket:

    # dd if=/dev/zero of=/dev/rda2 count=2
    # disklabel -Brw da2 auto

    A disklabel(8) vagy a sysinstall(8) használatával ezután létre tudunk hozni BSD típusú partíciókat. Valószínűleg erre lesz szükségünk, ha lapozóállományt is tenni akarunk a lemezre, noha ennek nem sok értelme van például egy ZIP-meghajtó esetén.

    Végezetül hozzunk létre egy új állományrendszert. Itt most ez egész ZIP-lemezen egyetlen partíció lesz:

    # newfs /dev/rda2c

    Csatlakoztassuk:

    # mount /dev/da2c /zip

    Emellett még hasznos lehet felvenni hozzá egy sort az /etc/fstab állományba is (lásd fstab(5)), így a jövőben elegendő csak a mount /zip parancsot kiadnunk a csatlakoztatásához:

    /dev/da2c /zip ffs rw,noauto 0 0

    9.16. Miért ad a rendszer “Incorrect super block” hibát CD-k csatlakoztatásánál?

    Fel kell világosítanunk a mount(8) parancsot a csatlakoztatandó eszköz típusáról. Erről a kézikönyv lézeres tárolóeszközökről szóló részében olvashatunk, innen is különösen a Adat CD-k használata című szakaszt ajánljuk.

    9.17. Miért ad a rendszer “Device not configured” hibaüzenetet CD-k csatlakoztatásakor?

    Ez általában arra utal, hogy nincs CD a meghajtóban, vagy a meghajtó nem érhető el a buszon. Ezzel kapcsolatban a kézikönyv Adat CD-k használata című szakaszát javasoljuk elolvasásra.

    9.18. Miért jelenik meg az összes nemzeti karakter helyén “?”, amikor FreeBSD alatt csatlakoztatunk egy CD-t?

    A CD-n valószínűleg a “Joliet” kiterjesztés használatával tárolják az állományok és könyvtárak adatait. Erre vonatkozóan a kézikönyvben a Lézeres tárolóeszközök (CD-k) létrehozása és használata című rész elolvasását javasoljuk, különös tekintettel az Adat CD-k használata című szakaszra.

    9.19. A FreeBSD alatt készített CD-ket nem lehet más operációs rendszerekkel olvasni. Miért nem?

    Ez minden bizonnyal abból fakad, hogy nem egy ISO 9660 állományrendszert vettük fel rá, hanem közvetlenül maguk az állományokat. Olvassuk el a kézikönyvben a Lézeres tárolóeszközök (CD-k) létrehozása és használata című fejezetet, de különösen a Nyers adat CD-k írása című részt.

    9.20. Hogyan lehet lementeni egy adat CD tartalmát a merevlemezre?

    Erről a kézikönyvben találunk hasznos információkat, azon belül is az Adat CD-k másolása című szakaszban. A CD-kkel végezhető további műveletekről a kézikönyv Lézeres tárolóeszközök (CD-k) létrehozása és használata című részében találhatunk részletes útmutatásokat.

    9.21. Miért nem lehet audio CD-ket csatlakoztatni a mount paranccsal?

    Ha zenei CD-ket próbálunk meg csatlakoztatni, akkor például egy “cd9660: /dev/acd0c: Invalid argument” hibát fogunk kapni a rendszertől. Ez azért történik, mert a mount parancs csak állományrendszerekkel használható. A zenei CD-ken viszont semmilyen állományrendszer nincs, egyszerűen csak maga az adat. Az olvasásukhoz olyan programra lesz szükségünk, amely képes zenei CD-kkel dolgozni, mint például az audio/xmcd port.

    9.22. Hogyan lehet többmenetes (multisession) CD-ket csatlakoztatni a mount paranccsal?

    A mount(8) alapértelmezés szerint az CD-n található utolsó adatsávot (menetet, vagy sessiont) próbálja meg olvasni. Ha viszont egy korábbi menetet szeretnénk vele betöltetni, akkor erre használjuk a -s paranccsori paramétert. Erre a mount_cd9660(8) man oldalon találhatunk különböző példákat.

    9.23. Hogyan képesek az egyszerű felhasználók floppykat, CD-ket és más egyéb cserélhető lemezes eszközöket használni?

    A normál felhasználók számára engedélyezni tudjuk az eszközök csatlakoztatását. Íme:

    1. root felhasználóként állítsuk be a vfs.usermount sysctl változót az 1 értékre:

      # sysctl -w vfs.usermount=1
    2. A cserélhető eszközöket képviselő eszközleírókra állítsuk be root felhasználóként a megfelelő engedélyeket.

      Például a felhasználóknak így tudjuk engedélyezni az első floppymeghajtó használatát:

      # chmod 666 /dev/fd0

      Az operator csoportban levő felhasználók pedig így fognak tudni CD-ket csatlakoztatni:

      # chgrp operator /dev/acd0c
      # chmod 640 /dev/acd0c
    3. Fel kell vennünk ezeket a módosításokat az /etc/devfs.conf állományba is, mivel csak így maradnak meg a következő rendszerindítás után.

      Ehhez root felhasználóként a vegyük fel a megfelelő sorokat az /etc/devfs.conf állományba. Például, ha a felhasználóknak engedélyezni akarjuk az első floppymeghajtó használatát, akkor:

      # Bármelyik felhasználó képes floppykat csatlakoztatni.
      own       /dev/fd0	  root:operator
      perm	  /dev/fd0	  0666

      Így engedélyezhetjük az operator csoport tagjainak a CD-k csatlakoztatását:

      # Az operator csoport tagjai csatlakoztathatnak CD-ket.
      own       /dev/acd0	  root:operator
      perm	  /dev/acd0	  0660
    4. Végezetül tegyük a vfs.usermount=1 sort az /etc/sysctl.conf állományba, így a rendszer következő indításakor is megmarad ez a beállítás.

    Most már mindegyik felhasználó képes csatlakoztatni a /dev/fd0 eszközleírón keresztül elérhető lemezt a saját könyvtárába:

    % mkdir ~/az-én-csatlakozási-pontom
    % mount -t msdosfs /dev/fd0 ~/az-én-csatlakozási-pontom

    A operator csoport tagjai is képesek most már az /dev/acd0c eszközleírón keresztül elérhető CD-ket csatlakoztatni a saját könyvtárukba:

    % mkdir ~/az-én-csatlakozási-pontom
    % mount -t cd9660 /dev/acd0c ~/az-én-csatlakozási-pontom

    Az eszközök leválasztása is hasonlóan egyszerű:

    % umount ~/az-én-csatlakozási-pontom

    A vfs.usermount engedélyezésével azonban együttjár némi biztonsági kockázat is. Az MS-DOS formátumú lemezek csatlakoztatására ezért inkább a Portgyűjteményben található emulators/mtools csomagot javasoljuk.

    Megjegyzés: A példákban használt eszközneveket természetesen a konfigurációnknak megfelelően meg kell változtatnunk.

    9.24. A du és a df parancsok eltérő mennyiségű szabad helyet mutatnak. Mi okozza ezt?

    A válaszhoz meg kell értenünk a du és a df működését. A du végigmegy a könyvtárszerkezeten és megnézi, hogy mekkorák az egyes állományok, majd megjeleníti a végösszegüket. A df ezzel szemben egyszerűen csak lekérdezi az állományrendszertől, hogy mennyi szabad hely maradt rajta. Ezek látszólag ugyanazt a módszer fedik, azonban miközben a könyvtár nélkül állományok befolyásolják a df parancsot, addig a du parancsot nem.

    Amikor egy program használ egy olyan állományt, amelyet eközben letörlünk, egészen addig létezni fog, amíg a program be nem fejezi a használatát. Ettől függetlenül viszont az állomány azonnal eltűnik a könyvtárból. Ezt nagyon könnyen ki is tudjuk próbálni egy olyan programmal, mint például a more. Tegyük fel, hogy van akkora állományunk, amely elég nagy ahhoz, hogy feltűnjön a du és a df kimenetében. (Mivel manapság már nagyok a tárolóeszközök, ennek egy igen nagy állománynak kell lennie!) Ha letöröljük ezt az állományt, miközben a more paranccsal még használjuk, a more nem fog rögtön leállni és panaszkodni az állomány hiányára. Egyedül csak az állományhoz tartozó bejegyzés tűnik el a könyvtárból, így más program már nem tud hozzáférni. A du erre már azt mondja, hogy nem létezik -- bejárta a könyvtárat és nem találta. A df szerint azonban még mindig ott van, hiszen az állományrendszer tudja, hogy a more parancsnak még szüksége van rá. Ahogy a more befejezte a dolgát, a du és a df által mutatott értékek ismét egyezni fognak.

    Azt sem szabad elfelejtenünk, hogy a Soft Updates használata esetén akár 30 másodpercet is várnunk kell, hogy a változtatásaink láthatóvá váljanak!

    Ez a helyzet nagyon gyakori webszerverek esetén. Sokan úgy állítanak be a FreeBSD rendszerükön webszervert, hogy elfelejtik beállítani hozzá a naplók archiválását és váltását. Ilyenkor a hozzáférések naplózása gyorsan meg tudja tölteni a /var könyvtárat. Ekkor a rendszergazda törli az adott állományt, de a rendszer még mindig panaszkodik a szabad hely hiánya miatt. A webszerver leállítása és újraindítása ekkor segít felszabadítani az állományt, így az állományrendszerről is törlődhet. Ennek megelőzésére használjuk a newsyslog(8) programot.

    9.25. Hogyan lehet növelni a lapozóterületet?

    A kézikönyv Beállítás és finomhangolás című fejezetében található egyik szakaszban olvashatunk erről.

    9.26. A FreeBSD miért látja kisebbnek a lemezeket mint amekkorának a gyártó mondja ezeket?

    A merevlemezek gyártói általában a gigabyte-okat egy milliárd byte-ként számolják, miközben a FreeBSD pedig 1 073 741 824 byte-nak. Ez remekül megmagyarázza, hogy a FreeBSD rendszerüzenetei között egy elméletileg 80 GB méretű lemez miért 76 319 MB-osnak jelenik meg.

    Emellett érdemes még tisztában lennünk azzal is, hogy a FreeBSD (alapértelmezés szerint) fenntartja a lemezterület 8 százalékát.

    9.27. Hogyan lehet egy partíció 100 százaléknál is jobban megtelt?

    Az UFS partíciók egy részét (amely alapértelmezés szerint a teljes kapacitás 8 százaléka) az operációs rendszer fenntartja a saját és a root felhasználó számára. A df(1) ezt a területet nem számolja a Capacity oszlopban megjelenő értékhez, ezért tudja átlépni a 100 százalékos arányt. Sőt még azt is láthatjuk, hogy a blokkok számát jelző Blocks oszlopban megjelenő érték mindig, általában pontosan 8 százalékkal nagyobb, mint a használt blokkokat jelző Used és a rendelkezésre álló blokkokat jelző Avail oszlopokban szereplő értékek összege.

    A részleteket a tunefs(8) man oldalon belül a -m opció bemutatásánál olvashatjuk.


    Fejezet 10. Rendszeradminisztráció

    10.1. Hol vannak a rendszerindítás beállításáért felelős állományok?
    10.2. Hogyan lehet felhasználókat egyszerűen létrehozni?
    10.3. A crontab szerkesztése után miért jelennek meg a “root: not found” és a hozzá hasonló hibaüzenetek?
    10.4. Miért jelenik meg a “you are not in the correct group to su root” hibaüzenet, amikor a su paranccsal át akarunk váltani a root felhasználóra?
    10.5. Az rc.conf állományban vagy valamelyik másik konfigurációs állományban rosszul adtuk meg a beállításokat, és nem lehet módosítani ezeket, mert így írásvédett lett az állományrendszer. Mi a megoldás?
    10.6. Miért nem sikerül beállítani a nyomtatót?
    10.7. Hogyan lehet módosítani a rendszerünkhöz tartozó billentyűkiosztást?
    10.8. Miért jelenik meg az “unknown: <PNP0303> can't assign resources” hibaüzenet a rendszer indulásakor?
    10.9. Miért nem működnek rendesen a kvóták?
    10.10. A FreeBSD tartalmazza a System V IPC alapeszközeit?
    10.11. A sendmail helyett milyen más levelező szerver használható még?
    10.12. Elveszett a root felhasználó jelszava! Mit tegyünk?
    10.13. Hogyan akadályozható meg, hogy a Control+Alt+Delete billentyűkombináció újraindítsa a rendszert?
    10.14. Hogyan lehet szöveges DOS állományokat UNIX formátumúra alakítani?
    10.15. Hogyan lehet futó programokat név szerint leállítani?
    10.16. A su(1) miért írja folyton, hogy a felhasználó nincs a root ACL-jében?
    10.17. Hogyan távolítható el a Kerberos?
    10.18. Mi történt a /dev/MAKEDEV állománnyal?
    10.19. Hogyan lehet még több pszeudoterminált létrehozni?
    10.20. Hogyan lehet újraindítás nélkül az /etc/rc.conf tartalmát újraolvastatni és újraindítani az /etc/rc szkriptet?
    10.21. A -STABLE rendszer frissítésekor -BETAx, -RC vagy -PRERELEASE verzió jelenik meg! Mi történt?
    10.22. Az új rendszermag telepítése során a chflags(1) program hibát jelez. Hogyan javítható ez a hiba?
    10.23. A rendszeren nem lehet egyszerre egy másodpercnél többel megváltoztatni az időt! Hogyan lehet megkerülni ezt a korlátozást?
    10.24. Az rpc.statd parancsnak miért kell 256 MB memória?
    10.25. Miért nem törölhető az schg állományjelző?
    10.26. Az .shosts állományon keresztül alapértelmezés szerint miért enged hitelesíteni a legújabb FreeBSD verziókban megtalálható SSH?
    10.27. Mi az a vnlru?
    10.28. Mit jelentenek top parancs által megjelenített különböző memóriaállapotok?
    10.29. Mekkora a rendelkezésre álló memória mérete?
    10.30. Mi az a /var/empty? Nem lehet letörölni!

    10.1. Hol vannak a rendszerindítás beállításáért felelős állományok?

    Az ezzel kapcsolatos beállítások elsősorban az /etc/defaults/rc.conf állományban találhatóak (lásd rc.conf(5)). A rendszer indításáért felelős szkriptek, mint például az /etc/rc vagy az /etc/rc.d könyvtár tartalma (lásd rc(8)) ezt használja. Ezt az állományt tilos közvetlenül szerkeszteni! Ha valamit meg akarunk változtatni az /etc/defaults/rc.conf állományban szereplő beállítások közül, akkor ehelyett egyszerűen csak másoljuk le az /etc/rc.conf állományba és állítsuk be ott az értékét.

    Például, ha el akarjuk indítani a beépített névfeloldó szolgáltatást, a named(8) démont, akkor ennyit kell tennünk:

    # echo named_enable="YES" >> /etc/rc.conf

    Ha helyi szolgáltatásokat akarunk futtatni, akkor tegyük a hozzátartozó szkripteket az /usr/local/etc/rc.d könyvtárba. Ezek a szkriptek legyenek végrehajthatóak és az alapértelmezett állománymóduk legyen 555.

    10.2. Hogyan lehet felhasználókat egyszerűen létrehozni?

    Használjuk a adduser(8), vagy bonyolultabb esetekben a pw(8) parancsot.

    Felhasználókat törölni a rmuser(8), vagy amennyiben szükséges, a pw(8) paranccsal tudunk.

    10.3. A crontab szerkesztése után miért jelennek meg a “root: not found” és a hozzá hasonló hibaüzenetek?

    Ilyen általában olyankor történik, amikor a rendszerszintű crontab állományt módosítjuk (/etc/crontab), majd a crontab(1) használatával megpróbáljuk telepíteni:

    # crontab /etc/crontab

    Ezt nem így kell megoldani. A rendszerszintű crontab felépítése eltér a felhasználókhoz tartozó crontab állományokétól (a crontab(5) man oldal szemlélteti részletesebben ezeket az eltéréseket), amelyet a crontab(1) próbál meg ilyenkor telepíteni.

    Ha így csináltuk, akkor a crontab nem lesz több, mint az /etc/crontab hibás formátumú változata. Töröljük le:

    # crontab -r

    Legközelebb, amikor az /etc/crontab állományt módosítjuk, nem kell értesítenünk a cron(8) démont, mivel magától észre fogja venni az elvégzett változtatásokat.

    Ha valamit napi, heti vagy havi rendszerességgel akarunk futtatni, akkor ehelyett inkább másoljuk be az /usr/local/etc/periodic könyvtárba, és hagyjuk, hogy a cron hívja meg a periodic(8) parancson keresztül az összes többi rendszeresen elvégzendő feladattal együtt.

    Ez a hiba egyébként onnan jön, hogy rendszerszintű crontab állomány esetén van még egy további mező, amely megadja, hogy az adott parancsot melyik felhasználóval kell futtatni. Az alapértelmezett rendszerszintű crontab állomány esetén ez mindenhol a root. Amikor ezt a crontab állományt a root crontab állományaként használjuk (amely nem ugyanaz, mint a rendszerszintű crontab), akkor a cron(8) a root szót a végrehajtandó parancs részének fogja tekinteni, amely viszont nem létezik.

    10.4. Miért jelenik meg a “you are not in the correct group to su root” hibaüzenet, amikor a su paranccsal át akarunk váltani a root felhasználóra?

    Ez egy biztonsági megszorítás. Csak úgy tudunk átváltani a root felhasználóra (vagy bármilyen más olyan hozzáférésre, amely rendszeradminisztrátori jogosultságokkal rendelkezik), ha a wheel csoport tagjai vagyunk. Ha nem létezne ez a korlátozás, akkor a rendszerben szinte bárki képes lenne rendszeradminisztrátori jogosultságokat szerezni csupán úgy, hogy ha megszerzi valahogy a root jelszavát. Ennek a korlátozásnak köszönhetően ez viszont már nem lesz feltétlenül helytálló. A su(1) még a jelszót sem engedi megadni azoknak, akik nem tagjai a wheel csoportnak.

    Ha engedélyezni akarjuk valakinek a root felhasználóra váltást, akkor nincs más teendőnk, mint egyszerűen a hozzáadni a wheel csoporthoz.

    10.5. Az rc.conf állományban vagy valamelyik másik konfigurációs állományban rosszul adtuk meg a beállításokat, és nem lehet módosítani ezeket, mert így írásvédett lett az állományrendszer. Mi a megoldás?

    Indítsuk újra a rendszert és a rendszertöltő parancssorában adjuk ki a boot -s parancsot, amivel így egyfelhasználós módba váltunk. Amikor meg kell adnunk a használni kívánt parancsértelmező nevét, egyszerűen csak nyomjuk le az Enter billentyűt, majd a mount -urw / parancs kiadásával csatlakoztassuk újra írható módban rendszerindító állományrendszert. Emellett még valószínűleg a mount -a -t ufs paranccsal azokat az állományrendszereket is érdemes lesz csatlakoztatnunk, ahol a kedvenc szövegszerkesztőnk található. Amennyiben az érintett szövegszerkesztő egy hálózati állományrendszeren található, akkor helyette használjunk egy helyben elérhető szövegszerkesztőt, például az ed(1) programot, vagy manuálisan állítsuk be a hálózat elérését a hálózati állományrendszerek csatlakoztatásához.

    Ha a vi(1) vagy emacs(1) programokhoz hasonló teljes képernyős szövegszerkesztőt akarunk használni, akkor előtte nem árt a export TERM=cons25 parancsot sem kiadnunk, így a termcap(5) adatbázisból elérhetővé válnak az ehhez szükséges adatok.

    Miután megtettük ezeket a lépéseket, már a szokásos módon át tudjuk szerkeszteni az /etc/rc.conf állományt. A rendszermag indulása után közvetlenül megjelenő üzenetekben találhatjuk meg azon sorok számait, amelyeket a rendszer nem tudott értelmezni.

    10.6. Miért nem sikerül beállítani a nyomtatót?

    Olvassuk el a kézikönyv nyomtatókkal foglalkozó részét, minden bizonnyal választ ad a legtöbb kérdésünkre.

    Bizonyos nyomtatókat azonban akkor tudunk használni, ha van hozzá meghajtónk. Ezeket gyakran csak “WinPrinter” néven emlegetik, amelyeket viszont a FreeBSD nem támogat. Ha a nyomtatónk nem használható DOS vagy Windows alatt, akkor valószínűleg egy ilyen WinPrinterrel van dolgunk. Ebben az esetben egyedül abban reménykedhetünk, hogy a print/pnm2ppa port támogatja.

    10.7. Hogyan lehet módosítani a rendszerünkhöz tartozó billentyűkiosztást?

    Olvassuk el a kézikönyv honosításssal foglalkozó részét, különös tekintettel a konzol beállításaira.

    10.8. Miért jelenik meg az “unknown: <PNP0303> can't assign resources” hibaüzenet a rendszer indulásakor?

    Erre a FreeBSD-CURRENT levelezési lista címére postázott egyik levél adja meg a választ:

     

    A “can't assign resources” üzenetek rendszerünkben olyan ISA eszközök jelenlétére utalnak, amelyekhez a rendszermagban PnP támogatást nem tartalmazó meghajtók tartoznak. Ilyenek többek közt a billentyűzetvezérlők, a programozható megszakítás-vezérlő chip és sok más alapvető elem a gépünkben. Ezek az erőforrások nem oszthatóak ki, mivel már valamelyik meghajtó használatba vette ezeket.

     
    --Garrett Wollman , 2001. április 24. 

    10.9. Miért nem működnek rendesen a kvóták?

  • Előfordulhat, hogy a rendszermag nem támogatja a kvóták használatát. Ha erről lenne szó, akkor vegyük fel az alábbi sort a rendszermag konfigurációs állományába és fordítsuk újra:

    options QUOTA

    Ennek részleteit a kézikönyv kvótákkal foglalkozó részében találjuk.

  • Az / állományrendszeren ne engedélyezzük a kvóták használatát.

  • Tegyünk kvótaállományokat azokra az állományrendszerekre, ahol be akarjuk vezetni a használatukat, például:

    ÁllományrendszerKvótaállomány
    /usr/usr/admin/quotas
    /home/home/admin/quotas
    ......

  • 10.10. A FreeBSD tartalmazza a System V IPC alapeszközeit?

    Igen, a FreeBSD a GENERIC típusú rendszermagban támogatja a System V típusú IPC megoldást, beleértve az osztott memória, az üzenetek és a szemaforok használatát. Ha saját rendszermagunk van, akkor az alábbi beállítások használatával engedélyezhetjük a használatukat:

    options    SYSVSHM          # az osztott memória engedélyezése
    options    SYSVSEM          # a szemaforok engedélyeze
    options    SYSVMSG          # az üzenetek kezelése

    Fordítsuk és telepítsük újra a rendszermagot.

    10.11. A sendmail helyett milyen más levelező szerver használható még?

    A sendmail a FreeBSD-ben található alapértelmezett levelező szerver, de könnyen le tudjuk cserélni másikra (például amelyet a portok közül telepítettünk).

    A Portgyűjteményben több különböző levelező szerver is megtalálható, amelyek közül a mail/exim, mail/postfix, mail/qmail és a mail/zmailer portok a leginkább népszerűek.

    Szép dolog, hogy lehet válogatni a különböző megoldások között és hogy ilyen sok levelező szerver használható. Ezért lehetőleg a levelezési listákon ne kérdezzünk senkitől olyat, hogy “De a sendmail akkor most miért jobb, mint a qmail?” Ha ilyen kérdéseink vannak, akkor először inkább olvassuk át az archívumokat. Szinte biztos, hogy már szinte az összes levelező szerver előnyét és hátrányát kivesézték jó néhányszor.

    10.12. Elveszett a root felhasználó jelszava! Mit tegyünk?

    Ne essünk kétségbe! Indítsuk újra a rendszerünket egyfelhasználós módban. Ehhez gépeljük be a boot -s parancsot a rendszertöltő Boot: parancssorában. Amikor a parancsértelmezőt kell megadnunk, egyszerűen csak nyomjuk le az Enter billentyűt. Ekkor kapunk egy # parancssort. A mount -urw / parancs begépelésével csatlakoztassuk újra a rendszerindító partíciónkat írható módban, majd a mount -a paranccsal csatlakoztassuk az összes többi állományrendszert. Ezt követően a passwd root parancs kiadásával változtassuk meg a root felhasználó jelszavát és a exit(1) futtatásával folytassuk a rendszer indítását.

    Megjegyzés: Ha az egyfelhasználós módra váltás során a rendszer a root felhasználó jelszavát kérné, akkor az arra utal, hogy a konzol (/dev/console) az /etc/ttys állomány szerint insecure (nem biztonságos) típusú. Ebben az esetben szereznünk kell egy FreeBSD telepítőlemezt, elindítanunk róla a rendszert, majd a sysinstall(8) programban a Fixit menüponton keresztül indított parancsértelmezőben kiadni az előbb említett parancsokat.

    Megjegyzés: Ha egyfelhasználós módban nem tudjuk csatlakoztatni a rendszerindító partíciót, akkor ennek könnyen az lehet az oka, hogy a partíciókat titkosították, ezért a megfelelő kulcsok nélkül nem tudjuk elérni ezeket. Ez leginkább adott implementációtól függ. A FreeBSD-ben előforduló lemeztitkosításokkal kapcsolatban a kézikönyv ad bővebb útmutatást.

    10.13. Hogyan akadályozható meg, hogy a Control+Alt+Delete billentyűkombináció újraindítsa a rendszert?

    Ha a syscons(4) (vagyis az alapértelmezett) konzolt használjuk, akkor ehhez a következő beállításokkal kell fordítanunk és telepítenünk egy rendszermagot:

    options SC_DISABLE_REBOOT

    Mindezt a rendszermag újrafordítása és a újraindítása nélkül is le tudjuk tiltani, ha beállítjuk az alábbi sysctl(8)-változót:

    # sysctl hw.syscons.kbd_reboot=0

    Megjegyzés: Az előbb említett két módszer kizárja egymást. A sysctl(8) változó nem létezik, ha a rendszermagot a SC_DISABLE_REBOOT beállítással fordítjuk újra.

    Ha viszont a pcvt(4) konzolt használjuk, akkor a következő konfigurációs beállítást kell megadnunk a rendszermag újrafordításakor:

    options PCVT_CTRL_ALT_DEL

    10.14. Hogyan lehet szöveges DOS állományokat UNIX formátumúra alakítani?

    Használjuk a következő perl(1) parancsot:

    % perl -i.bak -npe 's/\r\n/\n/g' állományok

    ahol az állományok az átalakítandó állományok. A konverzió helyben történik, illetve az eredeti állományokról .bak kiterjesztéssel létrejön egy biztonsági mentés.

    Erre a célra viszont ugyanígy megfelel a tr(1) parancs is:

    % tr -d '\r' < dos-szöveges-állomány > unix-szöveges-állomány

    Ekkor a dos-szöveges-állomány lesz a DOS formátumú szöveges állomány, miközben a unix-szöveges-állomány fogja az eredményt tartalmazni. Ez valamivel gyorsabb a perl megoldásánál.

    Ez említett megoldásokon kívül a DOS szöveges állományait a Portgyűjteményben található converters/dosunix porttal is könnyedén át tudjuk alakítani. Ennek részleteit a hozzátartozó dokumentációból tudjuk meg.

    10.15. Hogyan lehet futó programokat név szerint leállítani?

    Lásd killall(1).

    10.16. A su(1) miért írja folyton, hogy a felhasználó nincs a root ACL-jében?

    Ezt a hibát az elosztott hitelesítést végző Kerberos rendszer adja. Maga a probléma nem végzetes, viszont annál inkább idegesítő. Ilyenkor vagy a -K kapcsolóval kell futtatni a su(1) programot, vagy a következő kérdésben megadottak szerint el kell távolítani a Kerberos alkalmazást.

    10.17. Hogyan távolítható el a Kerberos?

    A Kerberos úgy távolítható el a rendszerből, ha újratelepítjük a base terjesztés tartalmát. Ha CD-ről telepítettük a rendszert, akkor csatlakoztassuk (most tegyük fel, hogy a /cdrom könyvtárba) és futassuk a következő parancsot:

    # cd /cdrom/base
    # ./install.sh

    Másik lehetőség, ha hozzáadjuk a NO_KERBEROS beállítást a /etc/make.conf állományhoz és újrafordítjuk az alaprendszert.

    10.18. Mi történt a /dev/MAKEDEV állománnyal?

    A FreeBSD 5.X és a későbbi változatok már a devfs(8) által felkínált automatikus megoldást alkalmazzák. Ilyenkor az eszközmeghajtók igény szerint hoznak létre eszközleírókat, és ezzel lényegében szükségtelenné teszik a /dev/MAKEDEV használatát.

    10.19. Hogyan lehet még több pszeudoterminált létrehozni?

    Ha sok telnet, ssh, X esetleg screen felhasználónk van, akkor könnyen előfordulhat, hogy kifogyunk a pszeudoterminálokból. A FreeBSD 6.2 és az azt megelőző változatokban alapértelmezés szerint 256 pszeudoterminál, a FreeBSD 6.3 és későbbi változatokban pedig 512 pszeudoterminál áll rendelkezésünkre.

    Tipp: Szükség esetén további pszeudoterminálok is hozzáadhatóak a rendszerhez. Ehhez azonban módosítanunk kell a szabványos C függvénykönyvtárakat, a rendszermagot és az /etc/ttys állományt. Például a http://www.freebsd.org/~jhb/patches/pty_1152.patch 1152 pszeudoterminál használatát teszi lehetővé. Ez a konkrét javítás viszont csak a FreeBSD 6.3 és későbbi változatok esetén alkalmazható zökkenőmentesen.

    10.20. Hogyan lehet újraindítás nélkül az /etc/rc.conf tartalmát újraolvastatni és újraindítani az /etc/rc szkriptet?

    Váltsunk egyfelhasználós módba, majd vissza többfelhasználós módba.

    Konzolon ez így oldható meg:

    # shutdown now
    (Megjegyzés: nincs -r vagy -h!)
    
    # return
    # exit

    10.21. A -STABLE rendszer frissítésekor -BETAx, -RC vagy -PRERELEASE verzió jelenik meg! Mi történt?

    Röviden: Ez csak egy elnevezés. Az RC jelentése “Release Candidate”, vagyis “kiadásra jelölt”. Ez egy küszöbön álló kiadásra utal. A FreeBSD-ben a -PRERELEASE elnevezés általában egyenlő a kiadások előtt bekövetkező kódfagyasztással. (Bizonyos kiadások esetén pedig a -BETA címkét a -PRERELEASE megjelöléshez hasonlóan használják.)

    Valamivel bővebben: A FreeBSD fejlesztésében a kiadások általában két helyről származnak. A nagyobb, ún. “nullás” kiadások, mint például 6.0-RELEASE és 7.0-RELEASE, a fejlesztési ág legfrissebb állapotából készülnek, amelyet gyakran csak -CURRENT néven emlegetnek. A kisebb kiadások, mint például a 6.3-RELEASE vagy az 5.2-RELEASE, az aktív -STABLE ágból származnak. A 4.3-RELEASE kiadástól kezdődően mindegyik kiadás saját ággal rendelkezik, amelyet elsősorban olyanoknak ajánlunk, akiknek csak nagyon visszafogott változtatásokra van szükségük a rendszerben (ezek általában csak különböző biztonsági javításokat takarnak).

    Amikor a fejlesztők készíteni akarnak egy újabb kiadást, az alapjául szolgáló fejlesztési ágon elvégeznek bizonyos műveleteket. Ennek egy része a források “befagyasztása”. Amikor ez megkezdődik, az ág neve megváltozik, és ezzel jelzik, hogy hamarosan kiadás készül belőle. Például, ha egy ág a 6.2-STABLE nevet viseli, akkor a 6.3-PRERELEASE névre vált arra az időszakra, amíg tart a kódfagyasztás és lezajlik a kiadások megjelentetéséhez szükség további tesztelés. Hibajavítások ekkor továbbra is rakhatóak bele. Ahogy a források elérik a kiadáshoz szükséges szintet, az ág neve 6.3-RC-re vált, és ezzel jelzik, hogy a kiadás előkészítése hamarosan befejeződik. Az RC állapotban csak a legfontosabb hibákat keresik meg és javítják. Miután a kiadás (jelen esetünkben a 6.3-RELEASE kiadás) és a hozzátartozó ág elkészült, az ág neve ismét 6.3-STABLE lesz.

    A verziószámokról és a CVS-ben található különböző ágakról a Release Engineering című cikkben olvashatunk (angolul).

    10.22. Az új rendszermag telepítése során a chflags(1) program hibát jelez. Hogyan javítható ez a hiba?

    Rövid válasz: A rendszerünk valószínűleg nullánál nagyobb biztonsági szinten fut. Indítsuk újra a rendszerünket egyfelhasználós módban és úgy telepítsük a rendszermagot.

    A hosszabb válasz: A FreeBSD nem engedi megváltoztatni a rendszerszintű állományjelzőket nullától a nagyobb biztonsági szinteken. A jelenleg érvényben levő biztonsági szintet a következő paranccsal lehet lekérdezni:

    # sysctl kern.securelevel

    A biztonsági szintet nem lehet csökkenteni. A rendszert egyfelhasználós módban kell újraindítani, mert csak úgy tudjuk újratelepíteni a rendszermagot. Másik lehetőségünk, ha átállítjuk a biztonsági szintet az /etc/rc.conf állományban és úgy indítjuk újra a rendszerünket. Az init(8) man oldalán olvashatunk bővebben a biztonsági szintek (securelevel) beállításáról, az rc.conf használatáról pedig az /etc/defaults/rc.conf állományból és a rc.conf(5) man oldalon tudhatunk meg többet.

    10.23. A rendszeren nem lehet egyszerre egy másodpercnél többel megváltoztatni az időt! Hogyan lehet megkerülni ezt a korlátozást?

    A rövid válasz: A rendszerünkben a biztonsági szintet (securelevel) minden bizonnyal egynél nagyobbra állították. Indítsuk újra a rendszert egyfelhasználós módban és változtassuk meg a dátumot.

    Egy hosszabb válasz: A FreeBSD nem engedi egy másodpercnél többel megváltoztatni az időt, ha az aktuális biztonsági szint értéke egy felett van. Ezt a következő parancs kiadásával tudjuk ellenőrizni:

    # sysctl kern.securelevel

    A biztonsági szint futás közben nem csökkenthető. A dátum megváltoztatásához ezért a rendszert egyfelhasználós módban kell indítanunk, vagy az /etc/rc.conf állományban csökkentenünk kell a biztonsági szintet. Az init(8) man oldalon olvashatunk részletesebben a biztonsági szintek működéséről, illetve az /etc/defaults/rc.conf állományból és az rc.conf(5) man oldalról tudhatunk meg többet az rc.conf működéséről.

    10.24. Az rpc.statd parancsnak miért kell 256 MB memória?

    Nem, itt szó sincs semmiféle memóriaszivárgásról, és egyébként sem használ 256 MB memóriát. Az rpc.statd parancs egyszerűen csak kényelmi megfontolásokból iszonyatos mennyiségű memóriát képez le a címterébe. Ebben technikailag semmi kivetnivaló nincsen, ezzel egyedül a top(1), ps(1) és a hozzá hasonló programokat zavarja meg egy kicsit.

    A rpc.statd(8) tehát leképezi az állapotát rögzítő állományt (amely a /var könyvtárban található a címterébe. Ilyenkor igyekszik egy kicsit előre gondolkodni és felkészülni a megnövekedésére, ezért viszonylag nagy méretben hozza létre ezt a leképezést. Ezt nagyon jól megfigyelhetjük a forráskódjából is, ahol látszik, hogy a mmap(2) függvényt a 0x10000000 értékkel hívja meg, tehát az 32 bites Intel architektúrán megcímezhető memória egytizenhatod részével, ami pontosan 256 MB.

    10.25. Miért nem törölhető az schg állományjelző?

    Rendszerünkben a biztonsági szint (securelevel) nagyobb nullánál. Próbáljuk meg csökkenteni az értékét és próbálkozzunk ismét. Ezzel kapcsolatban részletesebb információkat a a biztonsági szintekről szóló kérdésből vagy az init(8) man oldalról tudhatunk meg.

    10.26. Az .shosts állományon keresztül alapértelmezés szerint miért enged hitelesíteni a legújabb FreeBSD verziókban megtalálható SSH?

    A legújabb FreeBSD verziókban azért nem tudjuk az .shosts állományon keresztül hitelesíteni magunkat, mert az ssh(1) alapértelmezés szerint rendszeradminisztrátori jogok nélkül kerül telepítésre. Ezt a “hibát” többféle módon ki tudjuk “javítani”:

    • Ha tartós megoldásra van szükségünk, akkor az /etc/make.conf állományban állítsuk az ENABLE_SUID_SSH változót a true értékre, majd fordítsuk újra az ssh(1) programot (vagy futtassuk le a make world parancsot).

    • Ha ideiglenesen akarjuk csak javítani, akkor az /usr/bin/ssh állomány engedélyeit root felhasználóként állítsuk a 4555 értékre a chmod 4555 /usr/bin/ssh parancs kiadásával. Ezután vegyük fel az ENABLE_SUID_SSH= true sort az /etc/make.conf állományt, így ez a változtatás a make world következő futtatásakor is megmarad.

    10.27. Mi az a vnlru?

    A vnlru törli és szabadítja fel a rendszerben keringő vnode-okat, amikor a rendszermagban elérik a kern.maxvnodes változó által beállított határt. Ez a rendszermagban futó szál többnyire csak tétlenül ül a háttérben, és csak olyankor lép működésben, amikor rengeteg memóriát használunk és éppen több tízezernyi apró állományhoz akarunk egyszerre hozzáférni.

    10.28. Mit jelentenek top parancs által megjelenített különböző memóriaállapotok?

  • Active (Aktív): az utóbbi időben használt lapok.

  • Inactive (Inaktív): az utóbbi időben nem használt lapok.

  • Cache (Tárazott): (leginkább) azok a lapok, amelyeket még használnak, de gyakran azonnal újrafelhasználódnak (akár a régi, akár egy új hozzárendelésben). Egyes lapok az active állapotból közvetlenül a cache állapotba váltanak, ha tiszták (nem módosították), de ez az átmenet függ a házirendtől, vagyis a VM alrendszer karbantartója által kiválasztott algoritmustól.

  • Free (Szabad): effektív tartalom nélküli lapok, amelyek akár közvetlenül fel is használhatóak olyan esetekben, amikor a tárazott lapok erre nem alkalmasak. A szabad lapokat megszakításokban és a futó programokban is felhasználhatjuk.

  • Wired (Rögzített): olyan lapok, amelyek a memória egy rögzített pontján foglalnak helyet. Ezeket többnyire a rendszermag használja, de speciális esetekben a programoknak is szükségük lehet rá.

  • A lapok általában akkor kerülnek ki a lemezre (valamilyen VM alrendszerbeli szinkronizáció során), amikor inaktív állapotban vannak, de akár az aktív lapok is szinkronizálhatóak. Ez attól függ, hogy a processzor képes-e nyomkövetni a lapok módosítását, és némely helyzetekben előnyös lehet a rendszer számára, ha annak megfelelően szinkronizálja a VM lapjait, hogy azok aktívak vagy inaktívak. A legtöbb esetben itt egyszerűen csak egy olyan sort kell elképzelni, ahol a program számára viszonylag inaktív lapok találhatóak, amelyeket a rendszer tetszőlegesen a lemezre írhat. A tárazott lapok általában már eleve szinkronizáltak, nem leképzettek, közvetlenül a programok régi és új hozzárendelései használják ezeket. A szabad lapokat akár a megszakítások szintjén is lehet használni, miközben a tárazott vagy szabad lapokat a futó programokban érthetjük el. A tárazott lapok zárolása nem megfelelő ahhoz, hogy megszakításokban is el lehessen érni ezeket.

    Vannak még bizonyos jelzések (például a foglaltságot vagy foglaltság mértékét jelző értékek), amelyek még hatással vannak a fentebb leírt szabályokra.

    10.29. Mekkora a rendelkezésre álló memória mérete?

    A “rendelkezésre álló memóriának” rengeteg típusa létezik. Ezek közül egyik az a memória, amely közvetlenül anélkül elérhető, hogy bármi mást ki kellene hozzá lapoznunk. Ennek a mérete nagyjából a tárazott és a szabad lapokat tároló sorok hosszával arányos (amelyet még a rendszer beállításaitól függő további tényezők is módosíthatnak). A “rendelkezésre álló memória” másik típusa a teljes VM terület mérete. Ezt nem olyan könnyű meghatározni, de leginkább a lapozóterület és a fizikai memória méretétől függ. A “rendelkezésre álló memória” több más lehetséges megfogalmazása is létezik, de szinte teljesen felesleges beszélni róluk. Egyedül az a fontos, hogy a igyekezzünk mérsékelni a lapozást és mindig legyen elegendő lapozóterületünk.

    10.30. Mi az a /var/empty? Nem lehet letörölni!

    A /var/empty könyvtárat az sshd(8) program használja a privilégiumok elkülönítéséhez. A /var/empty könyvtárnak üresnek kell lennie, legyen a root tulajdonában és legyen rajta a schg állományjelző.

    Noha semmiképpen sem javasoljuk a könyvtár törlését, úgy tudjuk elvégezni, ha először az schg állományjelzőt töröljük róla. A chflags(1) man oldalán olvashatunk ezzel kapcsolatban részletesebb információkat (azonban ne felejtsük el számításba venni az esetleges nehézségeket).


    Fejezet 11. Az X Window System és a virtuális konzolok használata

    11.1. Mi az X Window System?
    11.2. FreeBSD alatt milyen X implementációk használhatóak?
    11.3. Mégis miért vált szét a két X projekt?
    11.4. A FreeBSD miért az Xorg változatát választotta alapértelmezettnek?
    11.5. Hogyan lehet használni az X-et?
    11.6. Az X indításakor egy “KDENABIO failed (Operation not permitted)” hiba keletkezik, közvetlenül a startx parancs kiadása után. Mi lehet ezzel kezdeni?
    11.7. Miért nem működik X alatt az egér?
    11.8. X alatt lehet használni görgős egeret?
    11.9. Hogyan lehet távoli X szervereket elérni?
    11.10. Mi az a virtuális konzol és hogyan lehet belőle többet létrehozni?
    11.11. Hogyan lehet elérni a virtuális konzolokat X-ből?
    11.12. Hogyan indítható el az XDM a rendszer indításakor?
    11.13. Az xconsole indításakor miért jelenik meg a “Couldn't open console” hibaüzenet?
    11.14. Régebben egyszerű felhasználóként is el lehetett indítani az XFree86 szervert. Most miért kell root felhasználóként indítani?
    11.15. Miért viselkednek furcsán a PS/2-es egerek X alatt?
    11.16. Miért nem működnek a MouseSystems által gyártott PS/2-es egerek?
    11.17. Hogyan lehet megcserélni a gombokat az egéren?
    11.18. Hogyan lehet betöltőképet telepíteni és hol találhatóak ilyen képek?
    11.19. X alatt lehet használni a billentyűzeten található Windows billentyűket?
    11.20. Hogyan lehet hardveres 3D gyorsítást használni az OpenGL®-hez?

    11.1. Mi az X Window System?

    Az X Window System (vagy gyakran csak X11) a UNIX és UNIX-szerű operációs rendszereken, így többek közt a FreeBSD-n is az egyik leginkább elterjedt ablakozórendszer. A The X.Org Foundation felügyeli az X protokoll szabványait, azok aktuális referencia implementációival együtt. Ezek hivatalos megnevezése “Version 11 Release 7.4”, de ezt gyakran csak X11 néven rövidítik.

    Számos implementációja is elérhető több különböző architektúrára és operációs rendszerre. A protokoll szerver oldali funkcióit megvalósító programokat hivatalosan “X szervereknek” nevezik.

    11.2. FreeBSD alatt milyen X implementációk használhatóak?

    Kezdetben a FreeBSD alapértelmezett X implementációja az XFree86™ volt, amelyet a The XFree86 Project, Inc. tartott karban. Ez a változat volt használatban alapértelmezés szerint egészen a FreeBSD 4.10 és 5.2 verziójáig. Habár eközben az Xorg maga is karbantartotta a saját változatát, kizárólag csak referencia célokat használt és az évek során teljesen leromlott az állapota.

    2004 elején azonban az XFree86 néhány korábbi fejlesztője elhagyta a projektjüket, mivel nem értettek egyet bizonyos kérdésekben, például a forráskód ütemét, a jövőbeni irányokat és egyéb személyes konfliktusokat illetően, és helyette közvetlenül az Xorg kódját kezdték el fejleszteni. Ekkor az Xorg hozzáigazította forrásait az utolsó XFree86 kiadás forrásaihoz (XFree86 4.3.99.903), majd megváltoztatta a licencelését. és beolvasztott több, korábban külön karbantartott változtatást, aminek eredményeképpen végül megszületett az X11R6.7.0. Egy különálló, de velük együttműködő projekt, a freedesktop.org (vagy röviden csak fd.o) jelenleg is az eredeti XFree86 források újraszervezésén dolgozik, aminek célja a napjainkban megjelenő grafikus kártyák minél nagyobb mértékű kihasználása (és ezáltal a rendszer gyorsítása), a rendszer modularisabbá tétele (ezáltal a rendszer karbantarthatóságának javítása, ami a kiadások gyorsabb előkészítését és könnyebb beállíthatóságát teszi lehetővé). Az Xorg a jövőben tervezi a freedesktop.org fejlesztéseit is átvenni.

    2004 júliusától kezdődően a FreeBSD-CURRENT változatban az XFree86 helyett az Xorg lett az alapértelmezett X implementáció. A FreeBSD-ben azóta is alapból az Xorg X11 implementációja található meg.

    A témával kapcsolatban a kézikönyv X11-ről szóló fejezetében kaphatunk részletesebb felvilágosítást.

    11.3. Mégis miért vált szét a két X projekt?

    Ezt a kérdést ez a GYIK nem tudja megválaszolni. Ezzel kapcsolatban viszont érdemes elolvasnunk a különböző levelezési listák archívumait szerte az interneten. Keressünk rá a válaszra a kedvenc keresőnkben, de ezzel a kérdéssel ne a FreeBSD levelezési listáit zavarjuk. Az is elképzelhető, hogy ennek a valós okait csak néhányan ismerik egész teljesen.

    11.4. A FreeBSD miért az Xorg változatát választotta alapértelmezettnek?

    Az Xorg fejlesztői azt ígérték, hogy gyorsabban fognak újabb verziókat kiadni, amelyek sokkal több újítást is fognak tartalmazni. Nos, amennyiben tényleg állják a szavukat, azzal mindenki jól jár. Emellett az ő változatuk továbbra is a hagyományos X licenc alatt érhető el, miközben az XFree86 licence ettől némileg eltér.

    11.5. Hogyan lehet használni az X-et?

    Amennyiben már egy meglévő rendszerre szeretnénk telepíteni az X-et, úgy érdemes a x11/xorg metaportot választanunk, amely magától feltelepíti az összes szükséges komponenst, vagy egyszerűen telepítsük az Xorg alkalmazást csomagból:

    # pkg_add -r xorg

    Emellett az Xorg a sysinstall(8) használatával is telepíthető: válasszuk a Configure (Beállítások), Distributions (Terjesztések), végül a The X.Org Distribution (Az X.Org terjesztés) menüpontokat.

    Az Xorg sikeres telepítése után kövessük az xorgconfig(1) segédprogram utasításait. Innen megtudhatjuk, hogy miként kell beállítani az Xorg szerverét a különböző grafikus kártyák, egerek stb. használatához. Továbbá érdemes még az xorgcfg(1) nevű programot is megnézni, amely egy grafikus felületen keresztül teszi lehetővé az X kényelmes beállítását.

    További információkat a kézikönyv X11-gyel foglalkozó fejezetéből tudhatunk meg.

    11.6. Az X indításakor egy “KDENABIO failed (Operation not permitted)” hiba keletkezik, közvetlenül a startx parancs kiadása után. Mi lehet ezzel kezdeni?

    A rendszerünkön valószínűleg túlságosan magas a biztonsági szint (securelevel) értéke. Ilyenkor az X-et nem tudjuk elindítani, mivel a működéséhez szüksége van a io(4) eszköz írására. Ezzel kapcsolatban az init(8) man oldal ad részletesebb útmutatást.

    A kérdés tehát az, hogy mit kellene ezzel csinálni. Alapvetően két lehetőségünk van: vagy visszaállítjuk a biztonsági szintet nullára (ezt általában az /etc/rc.conf állományon keresztül lehet megtenni), vagy az xdm(1) programot még a rendszerindítás során elindítjuk (mielőtt a biztonsági szintet magasabbra állítanánk).

    A K: 11.12. szolgál arról bővebb információval, hogy miként tudjuk használni az xdm(1) programot a rendszer indítása során.

    11.7. Miért nem működik X alatt az egér?

    Ha a syscons(4) (vagyis az alapértelmezett konzol) meghajtót használjuk, akkor be tudjuk úgy állítani a FreeBSD-t, hogy minden virtuális képernyőn látható legyen az egérkurzor. A syscons(4) egy /dev/sysmouse nevű virtuális eszköz támogatásával igyekszik elkerülni azt, hogy összeakadjon az X-szel. A valós egértől érkező összes eseményt a moused(8) démon írja folyamatosan a sysmouse(4) eszközre. Amennyiben az egerünket egy vagy több virtuális konzolon is használni akarjuk az X-szel együtt, akkor nézzük meg a K: 4.5.4. válaszát és állítsuk be annak megfelelően a moused(8) démont.

    Ezt követően nyissuk meg az /etc/X11/xorg.conf állományt és gondoskodjunk róla, hogy a következő sorok feltétlenül szerepeljenek benne:

    Section "InputDevice"
       Option          "Protocol" "SysMouse"
       Option          "Device" "/dev/sysmouse"
    .....

    Néhányan inkább a /dev/mouse eszközt szeretik használni X alatt. Ha mi is így akarjuk használni, akkor a /dev/mouse eszközhöz hozzunk létre egy szimbolikus linket a /dev/sysmouse eszközre (lásd sysmouse(4)). Ezt úgy tudjuk megtenni, ha az /etc/devfs.conf állományba (lásd devfs.conf(5)) felvesszük a következő sort:

    link    sysmouse    mouse

    A link maga közvetlenül a devfs(5) újraindításával keletkezik. Ehhez (root felhasználóként) a következő parancsot kell kiadnunk:

    # /etc/rc.d/devfs restart

    11.8. X alatt lehet használni görgős egeret?

    Igen.

    Jelezni kell az X-nek, hogy ötgombos egerünk van. Ezt úgy tudjuk megcsinálni, ha az /etc/X11/xorg.conf állományba felvesszük a Buttons 5 és ZAxisMapping 4 5 sorokat az “InputDevice” szakaszba. Vegyük például, hogy az /etc/X11/xorg.conf állományunkban a következő “InputDevice” szakasz található.

    Példa 11-1. Egy példa Xorg konfigurációs állomány “InputDevice” szakasza görgős egerekhez

    Section "InputDevice"
       Identifier      "Mouse1"
       Driver          "mouse"
       Option          "Protocol" "auto"
       Option          "Device" "/dev/sysmouse"
       Option          "Buttons" "5"
       Option          "ZAxisMapping" "4 5"
    EndSection

    Példa 11-2. Egy egyszerű példa “.emacs” állomány görgős egerek (opcionális) használatához

    ;; görgős egér
    (global-set-key [mouse-4] 'scroll-down)
    (global-set-key [mouse-5] 'scroll-up)

    11.9. Hogyan lehet távoli X szervereket elérni?

    Biztonsági okokból a szerver alapértelmezés szerint nem engedélyezi, hogy egy távoli gépről ablakot lehessen nyitni rajta.

    Ha szükségünk lenne erre a lehetőségre, akkor nem kell mást tennünk, mint az X-et a -listen_tcp paraméterrel indítani:

    % startx -listen_tcp

    11.10. Mi az a virtuális konzol és hogyan lehet belőle többet létrehozni?

    A virtuális konzolok röviden szólva arra alkalmasak, hogy egyetlen gépen is több párhuzamos munkamenetben tudjunk dolgozni, hálózat vagy X beállítása nélkül.

    Amikor a rendszer elindul, a rendszerüzenetek után általában egy bejelentkező képernyő jelenik meg. Ekkor az első virtuális konzolon keresztül tudjuk megadni a felhasználói nevünket és jelszavunkat, majd nekilátni a munkának (vagy éppen a játszadozásnak).

    Később aztán előfordulhat, hogy egy másik munkamenetet is szeretnénk elindítani, például előkeresni az éppen használt program dokumentációját vagy elolvasni a leveleinket, amíg FTP-n keresztül letöltünk egy állományt. Ehhez nem kell mást csinálnunk, csak le kell nyomni az Alt+F2 (tartsuk lenyomva az Alt billentyűt miközben megnyomjuk az F2 billentyűt) billentyűkombinációt és máris egy másik virtuális konzolon találjuk magunkat! Ha innen vissza szeretnénk térni az előző munkamenetbe, akkor nyomjuk le az Alt+F1 billentyűkombinációt.

    A frissen telepített FreeBSD rendszerekben alapértelmezés szerint nyolc virtuális konzol engedélyezett. Az Alt+F1, Alt+F2, Alt+F3, stb. lenyomásával tudunk váltogatni köztük.

    Ha ennél többet szeretnénk egyszerre használni, akkor nyissuk meg az /etc/ttys állományt (lásd ttys(5)) és a “Virtual terminals” részben vegyünk még fel a ttyv8 eszköz után továbbiakat, egészen a ttyvc eszközig:

    # Írjuk át az eredeti ttyv8 bejegyzést az /etc/ttys
    # állományban és engedélyezzük.
    ttyv8   "/usr/libexec/getty Pc"         cons25  on secure
    ttyv9   "/usr/libexec/getty Pc"         cons25  on secure
    ttyva   "/usr/libexec/getty Pc"         cons25  on secure
    ttyvb   "/usr/libexec/getty Pc"         cons25  on secure

    Akármennyit használhatunk belőlük. Ne felejtsük el azonban, hogy minél több virtuális terminálunk van, annál több erőforrásra lesz hozzájuk szükségünk. Ezt leginkább akkor érdemes megfontolni, ha 8 MB memóriánál kevesebbel rendelkezünk. Emellett még érdemes a secure értéket is az insecure értékre átállítani.

    Fontos: Ha X szervert is akarunk futtatni, akkor legalább egy virtuális konzolt szabadon (vagy kikapcsolva) kell hagynunk a számára. Így tehát, ha mind a tizenkét funkcióbillentyűre szeretnénk elindítani egy-egy virtuális konzolt, nos, akkor nincs szerencsénk -- ha X szervert is akarunk használni a gépen, akkor legfeljebb csak tizenegyet használhatunk belőlük.

    Az egyes konzolokat legegyszerűbben úgy tudjuk letiltani, ha kikapcsoljuk ezeket. Például, ha az előbb említettek szerint tizenkét terminálunk van, és X-et akarunk futtatni, akkor a tizenkettedik terminál beállításait meg kell változtatnunk erről:

    ttyvb   "/usr/libexec/getty Pc"         cons25  on  secure

    erre:

    ttyvb   "/usr/libexec/getty Pc"         cons25  off secure

    Amennyiben a billentyűzetünkön csak tíz funkcióbillentyű található, elengedő ennyi is:

    ttyv9   "/usr/libexec/getty Pc"         cons25  off secure
    ttyva   "/usr/libexec/getty Pc"         cons25  off secure
    ttyvb   "/usr/libexec/getty Pc"         cons25  off secure

    (Ezeket a sorokat akár ki is törölhetjük.)

    Ezt követően a legegyszerűbben (és egyben a legtisztábban) úgy tudjuk aktiválni a virtuális konzolokat, ha újraindítjuk a rendszerünket. Ha viszont nem akarjuk ezt feltétlenül megtenni, akkor állítsuk le az X szervert, majd (root felhasználóként) adjuk ki az alábbi parancsot:

    # kill -HUP 1

    Fontos, hogy a parancs végrehajtás előtt teljesen leállítsuk az X szervert, amennyiben az fut. Ha nem tesszük meg, akkor könnyen előfordulhat, hogy a kill parancs hatására lemerevedik vagy megáll a rendszerünk.

    11.11. Hogyan lehet elérni a virtuális konzolokat X-ből?

    A virtuális konzolokra a Ctrl+Alt+FN billentyűkombinációval lehet visszaváltani. Ennek megfelelően tehát a Ctrl+Alt+F1 kombinációval az első virtuális konzolra tudunk visszaváltani.

    Ahogy visszajutottunk a szöveges konzolra, az Alt+Fn billentyűkombinációval a megszokott módon tudunk váltani köztük.

    Ha innen az X szerverre akarunk visszaváltani, akkor egyszerűen csak váltsunk arra a virtuális konzolra, ahol az X fut. Ha az X-et a paranccsorból indítottuk el (például a startx paranccsal), akkor az X nem arra a virtuális konzolra kapcsolódik automatikusan, amelyen a parancsot kiadtuk, hanem az utána következő, használatban még nem levő konzolra. Ha nyolc aktív virtuális terminálunk van, akkor az X a kilencediken fog futni, ezért ide az Alt+F9 lenyomásával tudunk visszatérni.

    11.12. Hogyan indítható el az XDM a rendszer indításakor?

    Alapvetően kétféle megközelítés létezik az xdm(1) elindításával kapcsolatban. Az egyik megközelítés szerint az xdm parancsot az /etc/ttys állományból (lásd ttys(5)) tudjuk megadni a megadott példa alapján, a másikban pedig egyszerűen az rc.local állományból (lásd rc(8)) vagy a /usr/local/etc/rc.d könyvtárban megadható X szkripttel. Mind a kettő ugyanazt képviseli, de vannak bizonyos helyzetek, ahol a kettő közül csak az egyik működik. Az eredmény mind a két esetben azonos, hatásukra az X egy grafikus bejelentkező képernyővel jelentkezik.

    A ttys(5) módszernek van egy olyan előnye, hogy pontosan megadja, melyik virtuális terminálon fog futni az X és a szerver elindítását az init(8) programra bízza. Az rc(8) használata esetén viszont könnyű leállítani az xdm programot, ha netalán valamilyen gondunk adódna az X szerver indításakor.

    Ha az rc(8) állományból töltöttük be, akkor az xdm futtatásához semmilyen paramétert nem kell megadni (például, hogy démonként fusson). Az xdm(1) azonban csak az összes getty(8) elindulása után indítható, máskülönben a két program ütközni fog és a konzol nem tud létrejönni. Ezt a legkönnyebben úgy lehet megakadályozni, ha az xdm indítása előtt várunk kb. 10 másodpercet a szkriptben.

    Amennyiben az /etc/ttys állományból adjuk ki az xdm parancsot, úgy továbbra is fennáll az xdm(1) és a getty(8) ütközésének veszélye. Ezt például úgy tudjuk elkerülni, ha felvesszük a megfelelő virtuális terminál sorszámát a /usr/local/lib/X11/xdm/Xservers állományba:

    :0 local /usr/local/bin/X vt4

    A fenti példában az X szervert a /dev/ttyv3 eszközre irányitjuk. A számozást azonban eggyel el kell tolnunk, mert míg az X szerver egytől számozza a virtuális konzolokat, addig a FreeBSD rendszermagja nullától.

    11.13. Az xconsole indításakor miért jelenik meg a “Couldn't open console” hibaüzenet?

    Ha az X-et a startx paranccsal indítottuk el, akkor a /dev/console eszközre nem állítódnak be a szükséges engedélyek, ezért az xterm -C és az xconsole parancsok nem fognak működni.

    Ez a konzolok engedélyeinek alapértelmezett beállítási módjától függ. Egy többfelhasználós rendszer esetén nem feltétlenül van szükségünk arra, hogy bármelyik felhasználó kedvére írhasson a rendszerkonzolra. Az fbtab(5) állomány segítségével engedélyezni tudjuk azon felhasználók számára, akik a helyi gépen, virtuális konzolon keresztül jelentkeznek be.

    Dióhéjban az /etc/fbtab állományban (lásd fbtab(5)) kell kivennünk a következő sort a megjegyzésből:

    /dev/ttyv0 0600 /dev/console

    Ennek köszönhetően bárki, aki az /dev/ttyv0 eszközön keresztül jelentkezik be a rendszerbe, el tudja érni a konzolt.

    11.14. Régebben egyszerű felhasználóként is el lehetett indítani az XFree86 szervert. Most miért kell root felhasználóként indítani?

    Az X szerverek csak úgy képesek közvetlenül elérni a videokártyát, ha root felhasználóként futtatjuk ezeket. Az XFree86 régebbi (3.3.6 előtti) változatai az összes szervert úgy telepítették fel automatikusan, hogy a root felhasználó jogaival fussanak (setuid bittel). Ennek viszont megvan a maga nyilvánvaló biztonsági kockázata, hiszen az X szerverek általában nagy és bonyolult programok. Az XFree86 újabb változatai azonban már pontosan ebből kifolyólag nem állítanak be setuid root bitet a szerverekre.

    Értelemszerűen az a megoldás nem fogadható el és nem is annyira biztonságos, hogy az X szervert root felhasználóként futtassuk. Kétféleképpen tudjuk egyszerű felhasználóként futtatni az X-et. Használhatjuk az xdm vagy más egyéb bejelentkeztető képernyő (mint például a kdm) megoldását, vagy az Xwrapper programot.

    Az xdm egy grafikus bejelentkeztetésért felelős démon. Általában a rendszer indításakor aktiválódik, feladata a felhasználók hitelesítése és a hozzájuk tartozó munkamenetek elindítása. Lényegében a getty(8) és a login(1) grafikus megfelelője. Az xdm démonnal kapcsolatban még az XFree86 dokumentációját, illetve a GYIK-ban ezt a kérdést érdemes elolvasnunk.

    Az Xwrapper az X szerverhez tartozó burkolóprogram (wrapper). Ez egy apró segédprogram, amely lehetővé teszi az X szerver manuális indítását miközben igyekszik ügyelni a biztonságra is. Elvégez néhány alapvető ellenőrzést a paramétereken, és ha megfelelőnek találja ezeket, akkor elindítja a megfelelő X szervert. Ha valamiért nem akarunk bejelentkeztető képernyőt indítani, akkor ezt pontosan nekünk találták ki! Ha telepítettük a teljes Portgyűjteményt, akkor a /usr/ports/x11/wrapper portban találjuk meg.

    11.15. Miért viselkednek furcsán a PS/2-es egerek X alatt?

    Valószínűleg az egér és az egérmeghajtó kiesett a szinkronból.

    Nagyon ritkán előfordul, hogy a meghajtó hibásan szinkronizációs hibát jelez, és ekkor a rendszermag a következő üzenetet küldi:

    psmintr: out of sync (xxxx != yyyy)

    Közben természetesen azt tapasztaljuk, hogy az egerünk nem működik rendesen.

    Ha ilyen történne velünk, akkor tiltsuk le a meghajtó szinkronizáció ellenőrzéséért felelős rutinjait. Ezt úgy tudjuk megtenni, ha a meghajtónak beállítjuk a 0x100 értéket. Ehhez a rendszertöltő parancssorában a -c kapcsolóval tudjuk behozni a UserConfig részt:

    boot: -c

    Ezután a UserConfig parancssorában gépeljük be a következőt:

    UserConfig> flags psm0 0x100
    UserConfig> quit

    11.16. Miért nem működnek a MouseSystems által gyártott PS/2-es egerek?

    Kaptunk néhány visszajelzést arra vonatkozóan, hogy a MouseSystems által gyártott PS/2-es egerek bizonyos típusai csak abban az esetben működnek rendesen, ha “nagy felbontású” módban használjuk ezeket. Minden más esetben az egér néha fel-felugrik a képernyő bal felső sarkába.

    Úgy tudjuk nagy felbontású módban használni az egerünket, ha a PS/2-es egérmeghajtónak a 0x04 beállítást adjuk meg. Ehhez a rendszertöltő parancssorában gépeljük be a -c kapcsolót:

    boot: -c

    Ahogy bejön a UserConfig parancssora, gépeljük be a következőt:

    UserConfig> flags psm0 0x04
    UserConfig> quit

    Az előző részben olvashatunk egy másik hasonló egeres problémáról.

    11.17. Hogyan lehet megcserélni a gombokat az egéren?

    Futtassuk le a xmodmap -e "pointer = 3 2 1" parancsot az .xinitrc vagy .xsession állományunkból.

    11.18. Hogyan lehet betöltőképet telepíteni és hol találhatóak ilyen képek?

    Erre a kérdésre részletes választ a FreeBSD kézikönyv Rendszerbetöltő képernyők című szakaszában kapunk.

    11.19. X alatt lehet használni a billentyűzeten található Windows billentyűket?

    Igen. Ehhez mindössze az xmodmap(1) használatával meg kell adni a hozzájuk tartozó funkciót.

    Feltéve, hogy mindegyik “Windows” billentyűzet szabványos, a következő billentyűkódok tartoznak ehhez a három plusz gombhoz:

    • 115 -- Windows billentyű, a bal oldali Ctrl és Alt billentyűk között

    • 116 -- Windows billentyű, az AltGr mellett jobbra

    • 117 -- Menü gomb, a jobb oldali Ctrl mellett balra

    Például így lehet beállítani a bal oldali Windows billentyűt vesszőre:

    # xmodmap -e "keycode 115 = comma"

    A változatatások valószínűleg csak akkor fognak életbelépni, ha újraindítjuk az ablakkezelőnket.

    Ha azt szeretnénk, hogy a Windows billentyűkhöz rendelt funkciók az X indításakor automatikusan beállítódjanak, akkor tegyük az xmodmap parancs hívását az ~/.xinitrc állományunkba. Sokkal jobban járunk viszont, ha ehelyett inkább az ~/.xmodmaprc állományunkba vesszük fel az xmodmap beállításait, soronként egyesével, és a következő sor tesszük az ~/.xinitrc állományunkba:

    xmodmap $HOME/.xmodmaprc

    Például ezeket a gombokat be lehet állítani az F13, F14 és F15 billentyűkre is. Ezekre aztán az alkalmazásokban vagy az ablakkezelőben további hasznos funkciókat tudunk beállítani.

    Ehhez a következőt kell megadnunk az ~/.xmodmaprc állományban:

    keycode 115 = F13
    keycode 116 = F14
    keycode 117 = F15

    Ha például az x11-wm/fvwm2 ablakkezelőt használjuk, akkor az F13 gombra be tudjuk állítani a kurzor alatt álló ablak lekicsinyítésére (vagy visszanagyítására); az F14 billentyűvel az előtérbe tudjuk hozni a kurzor alatt levő ablakot, vagy ha már elöl van, akkor hátra tudjuk rakni; az F15 gomb előhozza a munkakörnyezet (alkalmazás) menüjét még olyankor is, amikor a kurzor nincs is az asztalon. Ez utóbbi abban az esetben lehet hasznos, amikor az asztal egyáltalán nem látható (és a billentyűn látható rajz pontosan is ezt mutatja).

    A következő beállítások valósítják meg az imént említett funkciókat az ~/.fvwmrc állományon belül:

    Key F13        FTIWS    A        Iconify
    Key F14        FTIWS    A        RaiseLower
    Key F15        A        A        Menu Workplace Nop

    11.20. Hogyan lehet hardveres 3D gyorsítást használni az OpenGL®-hez?

    Az Xorg pillanatnyilag használt verziójától és a videokártyánktól függ, hogy tudunk-e 3D gyorsítást alkalmazni. Ha nVidia kártyánk van, akkor a portok közül telepíteni tudjuk a FreeBSD-hez készített bináris meghajtót:

    • A legújabb nVidia-kártyákat az x11/nvidia-driver port támogatja.

    • A GeForce2 MX/3/4 sorozatú nVidia-kártyákat a meghajtó 96XX változata támogatja, amely az x11/nvidia-driver-96xx portból telepíthető.

    • Az ettől is régebbi kártyák, például a GeForce vagy Riva TNT esetén a meghajtó 71XX változata javasolt, amely az x11/nvidia-driver-71xx porton keresztül érhető el.

    Az nVidia honlapján részletes leírást találhatunk arról, hogy melyik kártyát melyik meghajtó ismeri. Ez az információ a következő címen érhető el: http://www.nvidia.com/object/IO_32667.htm.

    A Matrox G200/G400 esetén az x11-servers/mga_hal portot érdemes megnéznünk.

    ATI Rage 128 és Radeon kártyák számára a ati(4), r128(4) és radeon(4) man oldalakat ajánljuk.

    3dfx Voodoo 3, 4, 5 és Banshee kártyák számára az x11-servers/driglide port áll rendelkezésre.


    Fejezet 12. Hálózatok

    12.1. Honnan lehet többet megtudni a “lemez nélküli működésről”?
    12.2. A FreeBSD használható kizárólag csak hálózati útválasztóként?
    12.3. FreeBSD-n keresztül lehet Windows operációs rendszerrel internetre csatlakozni?
    12.4. A FreeBSD támogatja a SLIP és a PPP használatát?
    12.5. A FreeBSD támogat hálózati címfordítást (NAT) vagy maszkolást?
    12.6. A PLIP segítségével hogyan tudok két FreeBSD rendszert összekapcsolni párhuzamos porton keresztül?
    12.7. Hogyan lehet álneveket megadni az Ethernet eszközöknek?
    12.8. A 3C503 kártya hogyan állítható másik hálózati portra?
    12.9. Miért okoz gondot az NFS használata FreeBSD alatt?
    12.10. Miért nem lehet hálózati állományrendszereket csatlakoztatni Linux alól?
    12.11. Miért nem lehet hálózati állományrendszereket csatlakoztatni Sun típusú rendszerek alól?
    12.12. A mountd miért küld folyton “can't change attributes” hibaüzenetet és miért jelenik meg a “bad exports list” hibaüzenet a FreeBSD alapú NFS szerveren?
    12.13. A NeXTStep gépekkel miért nem sikerül PPP-n keresztül kommunikálni?
    12.14. Hogyan lehet engedélyezni a multicast használatát az IP-n belül?
    12.15. Milyen hálózati kártyák épülnek a DEC PCI chipkészletére?
    12.16. Miért kell teljes hálózati neveket megadni?
    12.17. Miért jelenik meg a “Permission denied” hibaüzenet minden egyes hálózati művelet esetén?
    12.18. Az ipfw “fwd” szabálya miért nem irányít át más gépekre szolgáltatásokat?
    12.19. Hogyan lehet egyik gépről a másikra szolgáltatásokat átirányítani?
    12.20. Hogyan lehet a sávszélességet szabályozni?
    12.21. Miért jelenik meg a “/dev/bpf0: device not configured” hibaüzenet?
    12.22. Hogyan lehet a hálózaton elérhető Windows típusú partíciókat csatlakoztatni, mint ahogy az smbmount csinálja Linux alatt?
    12.23. Mik azok az “Limiting icmp/open port/closed port response” üzenetek a naplókban?
    12.24. Mik azok az “arp: unknown hardware address format” hibaüzenetek?
    12.25. Miért jelennek meg “192.168.0.10 is on fxp1 but got reply from 00:15:17:67:cf:82 on rl0” üzenetek a konzolon és hogyan lehet ezeket kikapcsolni?
    12.26. A CVSup programot telepítése után nem lehet elindítani, mert hibákat jelez. Mi a gond?

    12.1. Honnan lehet többet megtudni a “lemez nélküli működésről”?

    A “lemez nélküli működés” kifejezés arra utal, hogy a FreeBSD rendszerünk hálózaton keresztül indul el, valamint a működéséhez szükséges állományokat nem merevlemezről, hanem egy szerverről olvassa be. Ennek részleteiről kézikönyv lemez nélküli működésről szóló részében olvashatunk.

    12.2. A FreeBSD használható kizárólag csak hálózati útválasztóként?

    Igen. Ezzel kapcsolatban a kézikönyv Egyéb haladó hálózati témák című fejezetét javasoljuk elolvasásra, különös tekintettel az útválasztás és az átjárók bemutatására.

    12.3. FreeBSD-n keresztül lehet Windows operációs rendszerrel internetre csatlakozni?

    Ezt a kérdést általában olyanok teszik fel, akiknek két számítógépük van otthon, és ezek közül az egyiken a FreeBSD, a másikon pedig a Windows valamelyik változata fut. A FreeBSD rendszer fog az internethez csatlakozni, és ezen keresztül szeretnénk a windowsos gépről is elérni azt. Ez tulajdonképpen az előző kérdés egy speciális esete, és remekül megoldható.

    Ha betárcsázós kapcsolattal csatlakozunk az internethez, akkor érdemes tudnunk, hogy a felhasználói módban futó ppp(8) tartalmaz egy -nat kapcsolót. A ppp(8) programot úgy tudjuk a -nat kapcsolóval futtatni, ha az /etc/rc.conf állományban a gateway_enable beállítást a YES értékre állítjuk. Ezután állítsuk be a windowsos gépünket ennek megfelelően és minden működni fog. A további részletekről a