diff --git a/hu_HU.ISO8859-2/books/faq/book.sgml b/hu_HU.ISO8859-2/books/faq/book.sgml
index ce4916950c..3ed0c3a679 100644
--- a/hu_HU.ISO8859-2/books/faq/book.sgml
+++ b/hu_HU.ISO8859-2/books/faq/book.sgml
@@ -1,15408 +1,15408 @@
%books.ent;
]>
Gyakran Ismételt Kérdések a &os;
6.X és
7.X változatairólA &os; Dokumentációs Projekt$FreeBSD$199519961997199819992000200120022003200420052006200720082009A &os; Dokumentációs Projekt
&bookinfo.legalnotice;
&tm-attrib.freebsd;
&tm-attrib.3com;
&tm-attrib.adobe;
&tm-attrib.creative;
&tm-attrib.cvsup;
&tm-attrib.ibm;
&tm-attrib.ieee;
&tm-attrib.intel;
&tm-attrib.iomega;
&tm-attrib.linux;
&tm-attrib.microsoft;
&tm-attrib.mips;
&tm-attrib.netscape;
&tm-attrib.opengroup;
&tm-attrib.oracle;
&tm-attrib.sgi;
&tm-attrib.sparc;
&tm-attrib.sun;
&tm-attrib.usrobotics;
&tm-attrib.xfree86;
&tm-attrib.general;
Ezek a gyakran ismételt kérdések a &os;
6.X és
7.X változataira vonatkoznak.
Az összes bejegyzés a &os;
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 &a.doc;
címére! Ennek a dokumentumnak a legfrissebb
változata mindig elérhetõ a &os; World Wide Web szerverérõl.
HTTP-n keresztül letölthetõ egyetlen nagy HTML állományként,
vagy a &os;
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: &a.hu.pgj;BevezetésÜdvözöljük a &os;
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 &os; 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 &a.doc; címére!Mi az a &os;?Ha tömören akarjuk összefoglalni, akkor a
&os; 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 &os;
részletesebb bemutatása és annak
tulajdonságai a &os; honlapján
találhatóak.A &os;-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 &os; bõvebb bemutatásához olvassuk
el a &os;
kézikönyvet.Mi a &os; Projekt célja?A &os; 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 &os; licencet
alkalmazzák.A &os; 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 &os; 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.A &os; 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 &os;-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 &os; 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 &os;-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 &os;-t
használja.Ha egy másik &unix; környezetrõl
akarunk &os;-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 &macos; 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 &os;
kézikönyv ehhez tökéletes
kiindulási alapot biztosít.Miért hívják &os;-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.Mi a különbség a &os;, a NetBSD,
OpenBSD és a többi nyílt
forráskódú BSD operációs
rendszerek között?James Howard a DaemonNews
oldalán The
BSD Family Tree címmel (angolul)
készített alapos leírást a
különbözõ projektek közti
eltérések bemutatására.Melyik a &os; legújabb változata?Jelen pillanatban a &os; 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 &rel.current;
változat a 7-STABLE ág
legfrissebb kiadása, amely &rel.current.date;ban
jelent meg. Az 6-STABLE
ágból a &rel2.current;
a legfrissebb kiadás, amely &rel2.current.date;ban
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 &os; forrásait
(lásd a &os.current;
és &os.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 &os; egyes kiadásairól a Kiadások
megjelentetését összefoglaló
oldalon tájékozódhatunk a &os;
honlapján.Mi az a &os;-CURRENT?A &os.current;
az operációs rendszer aktív
fejlesztés alatt álló változata,
amely idõvel az új &os.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önyverre 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 &os.current;
használatát. Ez a fejlesztési vonal
nagyon gyorsan fejlõdik és néha
lefordíthatatlan állapotba kerül. A
&os.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
&a.current; 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 &arch.i386; és &arch.amd64;
ágakból azonban napi kiadások is
elérhetõek a a
címen.Mit takar a &os;-STABLE?Amikor a &os; 2.0.5 megjelent, a &os;
fejlesztése kettévált. Az egyik
ág neve -STABLE,
a másiké pedig -CURRENT
lett. A &os;-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 &os;-CURRENT
ezzel szemben a 2.0 megjelenése óta egyetlen,
szakadásmentes fejlesztési vonalat
képvisel, amely a &rel.current;-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 &os; 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 &rel.current;-STABLE a jelenleg fejlesztett
-STABLE ág. A
&rel.current;-STABLE ágból megjelent
legfrissebb kiadás a &rel.current;-RELEASE, amely
&rel.current.date;ban jelent meg.A 8-CURRENT a -CURRENT ág
legfrissebb változata, és ez a &os;
következõ generációja. Errõl
az ágról a Mi az a &os;-CURRENT?
kérdésnél szolgálunk
részletesebb információkkal.Mikor készülnek &os; kiadások?A &a.re; átlagosan a &os; 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 &os;-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 &os;
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.Ki felel a &os;-ért?A &os; 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 &os;
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.Honnan lehet a &os;-t beszerezni?A &os; összes fontosabb kiadása
elérhetõ anonim FTP-n keresztül a &os; FTP
oldaláról:A legfrissebb 7-STABLE kiadás, a
&rel.current;-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
&rel2.current;-RELEASE ebbõl
a könyvtárból érhetõ
el.Ha a &os;-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.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 &man.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
&os; Problem Reports címû cikket
(angolul), amelybõl megtudhatjuk, hogyan
készítsünk jól
hasznosítható hibajelentéseket.Honnan tudhatunk meg még többet?Nézzük meg a &os; Projekt
honlapjáról elérhetõ dokumentációkat.
Dokumentációs és
támogatásMilyen jó könyvek szólnak a
&os;-rõl?A Projekt igen széles körû
dokumentációval rendelkezik, amely a
következõ linkrõl érhetõ el:
.
Emellett a GYIK végén szereplõ,
valamint a kézikönyvben található
irodalomjegyzék
tartalmazza az ajánlott könyveket.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 &os; 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
&os; 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ásen_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)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áshtml-splitKis méretû,
hiperhivatkozásokkal ellátott HTML
állományok
gyûjteményehtmlEgyetlen óriási, az
egész dokumentumot tartalmazó HTML
állománypdbA Palm Pilot adatbázisának
formátuma, amelyet az iSilo
segítségével tudunk
olvasnipdfAz Adobe-féle Portable Document
Formatps&postscript;rtfA Microsoft Rich Text
formátumatxtEgyszerû szöveges
állományAmikor 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
CtrlA,
CtrlEnd,
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.Ahol a formátum
html-split, ott az
állományokat a &man.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.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ászipA zip
formátum. &os; 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,
&man.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:&prompt.root; fetch ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/en_US.ISO8859-1/books/faq/book.html-split.tar.bz2
&prompt.root; bzip2 -d book.html-split.tar.bz2
&prompt.root; tar xvf book.html-split.tarA 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.Hol található információ a
&os; 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.Milyen &os; 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.Vannak &os;-s IRC (Internet Relay Chat)
csatornák?Igen, a legtöbb nagyobb IRC hálózaton
található &os;-vel foglalkozó
csatorna:Az EFNet
hálózaton található
#FreeBSD csatorna
lényegében egy &os;-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 &os;-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
&os; 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 &os;-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õ &os; 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õ &os; 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!Hol kaphatok kereskedelmi szintû &os;
tréninget és támogatást?A DaemonNews nyújt kereskedelmi szintû
támogatást és tréninget a
&os;-hez. Errõl részletesebb
információkat a BSD Mall
honlapján kaphatunk.A &os; Mall is nyújt keresdelmi
támogatást a &os;-hez. Errõl a honlapjunkon
tudhatunk meg többet.A BSD Certification Group, Inc. DragonFly BSD,
&os;, 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!NikClaytonnik@FreeBSD.orgTelepítésMilyen állományokat kell
letöltenünk a &os;
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 &man.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
&os; telepítésével foglalkozó
részébõl ismerhetjük
meg.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 &os;
telepítését leíró
útmutatóban is olvashatjuk.Hol található leírás a &os;
telepítésérõl?A telepítés részletes
leírása a kézikönyv &os; telepítésérõl szóló részében
olvasható.Mire van szükség a &os;
használatához?A &os; 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 &os; ö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 .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.A számítógépre lehet
egynél több operációs rendszert is
telepíteni?Olvassuk el a A &os;
telepítése és használata
más operációs rendszerekkel
együtt címû cikket.&windows; mellé is telepíhetõ
&os;?Elõször telepítsük a &windows;t,
majd a &os;-t. A &os; boot managere ekkor képes lesz
a &windows; és a &os; indítására
is. Vigyázzunk, mert ha a &windows;t
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.A &windows; letörölte a boot managert! Hogyan
lehet visszaállítani?A &os;-hez tartozó boot managert
háromféleképpen tudjuk
újratelepíteni:Indítsuk el a DOS-t, lépjünk be a
&os; 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.binEkkor a boot manager visszakerül a
helyére.Használjuk a &os;-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 &gui.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 &os;
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özA 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.Az A, T és X sorozatú IBM Thinkpad
laptopok lefagynak a &os; 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 &os; á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 &os;
által létrehozott partíciót,
megakad.Az IBM
Ahogy Keith Frechette
(kfrechet@us.ibm.com) írta
levelében. szerint az alábbi típus/BIOS
változatokban található meg ez a
hiba.TípusBIOST20IYET49WW vagy késõbbiT21KZET22WW vagy késõbbiA20pIVET62WW vagy késõbbiA20mIWET54WW vagy késõbbiA21pKYET27WW vagy késõbbiA21mKXET24WW vagy késõbbiA21eKUET30WWÚ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 &a.nectar; a &a.mobile;
tagjainak egy olyan módszert mutat be, ami
segíthet, ha az újabb típusú IBM
laptopunk nem tudja elindítani a &os;-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 &os;-t telepíthetjük
úgy is, hogy megváltoztatjuk a &os;
á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ó &os; 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
&os; 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 &os;-t:Töltsük le a boot1
és boot2
állományokat a
címrõl. Olyan helyre tegyük ezeket,
ahol késõbb is még el tudjuk
érni.A megszokott módon telepítsük a
&os;-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.Váltsunk át a vészhelyzetekben
használatos parancsértelmezõre
(Emergency Holographic Shell, AltF4)
vagy indítsuk el egy javításhoz
használt (fixit)
parancsértelmezõt.Az &man.fdisk.8; segítségével
változtassuk meg a &os;-s partíció
azonosítóját a
165 értékrõl a
166 értékre (ezt a
típust az OpenBSD használja).Másoljuk át az imént
letöltött boot1 és
boot2 állományokat a
helyi állományrendszerre.A &man.disklabel.8;
segítségével
rögzítsük a boot1
és boot2 tartalmát a
&os; slice-unkra.&prompt.root; disklabel -B -b boot1 -s boot2 ad0snahol az n annak a
slice-nak a sorszáma, ahová a &os;-t
telepítettük.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 &os;-t
elindítani.A kedves Olvasónak meghagytuk azt az esetet,
amikor ugyanezen a konfiguráción OpenBSD
és &os; rendszereket akarunk egyszerre
használni.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.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: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)?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!)&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.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 &os; 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.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.A lemezmeghajtók esetében milyen
geometriai beállításokat érdemes
használni?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 &os;
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 &os; 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
&os; 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 &os;-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 &os;-hez mellékelt
pfdisk.exe segédprogramot is.
Ezt a &os; CD vagy a &os; 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.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 &os; 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.A &os; kompatibilis valamilyen disk managerrel?A &os; felismeri az Ontrack Disk
Managert és figyelembe veszi. A
többi disk managert nem támogatja.Ha egyedül csak a &os;-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 &os;
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
&os;-nek konkrétan meg kell mondanunk, hogy mennyi
cilindert használhat.Ha a &os; 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 &os;
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.Amikor a &os;-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 &os; é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 &os;-t és
ezúttal figyelmesen kövessük a fentebb
adott utasításokat!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 &os; á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 &os;-t.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õ
&man.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
&os; 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. Kell rendszermagot fordítani?Egy új rendszermag fordítása
korábban fontos része volt a &os;
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 &os; 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.A jelszavak tárolására
használható-e DES, Blowfish vagy MD5,
és ha igen, akkor hogyan lehet megadni?A &os; 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 &os;-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 &man.login.conf.5; man oldalt érdemes
elolvasni.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 &iomegazip; 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.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 &os;-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: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
&os;-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 &os; 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.Tegyük át a &os;-t tartalmazó
lemezt az elsõdleges IDE-vezérlõre,
és ezzel megszûnik az iménti
félreértés.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 &man.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 &os;/pc98 esetén a korlát szintén
4 GB, azonban itt a PAE nem használható.
A &os; által támogatott összes többi
architektúra elméletileg ennél
több memóriát képes kezelni
(több terabyte-ot).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.
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.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.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:OKItt gépeljük be az alábbi
parancsot:unset acpi_loadMajd ezt:bootHardverkompatibilitásÁltalános kérdésekA &os; rendszerükhöz szeretnénk
hardvert vásárolni. Melyik
gyártmány/márka/típus a
legjobb?Ez állandó téma a &os;
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 &os; &rel.current; vagy
&rel2.current;
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
&a.mobile; archívumát. Minden más
esetben érdemes inkább a &a.questions;
archívumait megnézni vagy az adott hardverhez
tartozó levelezési listát
böngészni.MemóriaA &os; 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 &os; 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.A &os; 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 (&man.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
&man.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 PAEA 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 &os; 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
&os; ezen változatát érdemes
alkalmazni.Architektúrák és
processzorokA &os; az x86-on kívül támogat
más architektúrájú rendszereket
is?Igen. A &os; 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 &s390;, a &mips;
aktuális állapotáról és
&a.mips; segítségével
értesülhetünk. Az újabb
architektúrákhoz kapcsolódó
általános jellegû
megbeszéléseket a &a.platforms; 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.A &os; támogatja a szimmetrikus
többprocesszoros (SMP) rendszereket?A &os; á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 &a.smp;
átolvasása segíthet tisztázni
ezeket.A &os; 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 &os; 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 &man.smp.4; man oldalon olvashatunk.Merevlemezes, szalagos, CD- és
DVD-meghajtókA &os; milyen típusú merevlemezes
meghajtókat ismer?A &os; 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.Milyen SCSI- vagy SAS-vezérlõket
ismer?A teljes listát a &os;
hardverjegyzékében találhatjuk meg a
&rel.current;
vagy &rel2.current;
kiadásban.Milyen szalagos meghajtókat ismer?A &os; 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 &os;-vel sem feltétlenül
képesek együttmûködni.A &os; támogatja a szalagok
cseréjét?A &os; &man.ch.4; eszközön és a
&man.chio.1; parancson keresztül támogatja a SCSI
szabványú szalagcserélõket. A
használat pontos részleteirõl a
&man.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.A &os; 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/33ASound Blaster nem-SCSI CD-meghajtókMatsushita/Panasonic CD-meghajtókATAPI kompatibilis IDE CD-meghajtókAz ö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
&os; Mall-tól rendelhetõ hivatalos &os;
CD-krõl akár közvetlenül el is tudjuk
indítani a rendszert.A &os; milyen CD-RW meghajtókat ismer?A &os; bármilyen ATAPI-kompatibilis IDE CD-R vagy
CD-RW meghajtót ismer. Ennek részleteit
lásd a &man.burncd.8; man oldalán.A &os; 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.A &os; ismeri az &iomegazip; meghajtókat?A &os; alapból ismeri a SCSI és ATAPI
(IDE) interfészen kommunikáló
&iomegazip; 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 &os; 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 /mntvagy (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.A &os; 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 &os; 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 &man.mount.8;, &man.umount.8; és (SCSI
eszközök esetén) a &man.camcontrol.8; vagy
(IDE eszközök esetén) a &man.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.Egér és billentyûzetA &os; ismeri az USB billentyûzeket?A &os; 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:&prompt.root; kbdcontrol -k /dev/kbd1 < /dev/console > /dev/nullAmikor 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:&prompt.root; kbdcontrol -k /dev/ukbd0 < /dev/console > /dev/nullHa 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:&prompt.root; kbdcontrol -k /dev/kbd0 > /dev/nullA &man.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:&prompt.root; kbdcontrol -K < /dev/console > /dev/null
&prompt.root; kbdcontrol -a atkbd0 < /dev/kbdmux0 > /dev/null
&prompt.root; kbdcontrol -a ukbd1 < /dev/kbdmux0 > /dev/null
&prompt.root; kbdcontrol -k /dev/kbdmux0 < /dev/console > /dev/nullRészletesebb információkat az
&man.ukbd.4;, &man.kbdcontrol.1; és &man.kbdmux.4;
man oldalakon találhatunk.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.A nem szabványos buszos egereket hogyan lehet
beállítani?A &os; 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 irq5A 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 &man.mse.4; man oldalon
olvashatunk.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 12Miután a rendszermag a rendszer
indítása során helyesen észlelte
a psm0 eszközt,
magától létrejön.Az egeret az X Window Systemen kívül is
lehet valamilyen módon használni?Ha az alapértelmezett konzolos &man.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 &man.moused.8;
egérdémont és engedélyezni az
egérmutatót a virtuális
konzolokon:&prompt.root; moused -p /dev/xxxx -t yyyy
&prompt.root; vidcontrol -m onItt 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 &man.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.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 &man.moused.8; man oldalán
olvashatunk errõl részletesebben.Az egéren van mindenféle görgõ
és gomb. Ki lehet ezeket valahogy használni
&os; 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.A laptopokon megtalálható
egér/trackball/touchpad hogyan
használható?Olvassuk el az elõzõ
kérdésre adott választ.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 &man.sh.1; és &man.editrc.5;.bind ^? ed-delete-next-char # a konzolhoz
bind ^[[3~ ed-delete-next-char # az xtermhezA C Shell esetében a
következõ soroknak kell az
.cshrc állományba
kerülnie. Lásd &man.csh.1;.bindkey ^? delete-char # a konzolhoz
bindkey ^[[3~ delete-char # az xtermhezTovábbi információkat ezen az
oldalon találhatunk.Hálózati és soros
eszközökA &os; milyen hálózati
kártyákat ismer?Ezek teljes listáját a &os; egyes
kiadásaihoz tartozó hardverjegyzékben
találjuk meg.A &os; ismer szoftveres modemeket, például
winmodemeket?A &os; 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 &os; 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.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.A &os; 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 &man.sio.4;
man oldalon olvashatunk részletesebben.Hogyan lehet a boot: parancssort
elõhozni soros vonali konzolon?Olvassuk el a kézikönyvben ezt a
fejezetet.HangA &os; milyen hangkártyákat ismer?A &os; rengeteg hangkártyát ismer, (ennek
részleteit lásd a &os; kiadásait
tartalmazó honlapon és a &man.snd.4;
man oldalon). Korlátozott módon az MPU-401
és a vele kompatibilis MIDI-kártyákat
is támogatja. A µsoft; Sound System
specifikációinak megfelelõ
kártyákat tudjuk használni.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.Miért nincs hang a &man.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:&prompt.root; mixer pcm 100 vol 100 cd 100Egyéb eszközökKépes a &os; kihasználni az
energiagazdálkodási lehetõségeket
egy laptopon?A &os; bizonyos gépeken képes az
APM használatára.
Errõl az &man.apm.4; man oldalon találunk
pontosabb leírást.A &os; ezenkívül még a
legújabb hardverekben megtalálható
ACPI lehetõségeit is
igyekezik kihasználni. Errõl
részletesebben az &man.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.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"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 &os; 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.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.Miért nem mûködnek a &tm.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.HibaelhárításMiért állapítja meg rosszul a &os;
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 &os; 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 &os; 64 bites változata vagy a PAE
használata esetén azonban a &os; 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
&os; 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.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:&prompt.root; camcontrol modepage sd0 -m 1 -e -P 3Vá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): 1A 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.A &os; 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 &os; ö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
quitEttõ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.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.Á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
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.Miért állnak le a &tm.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.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.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: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.Ha a &os; 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 &os;
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 &man.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: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).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.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.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.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 &os; 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).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 &os; 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.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 &man.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:A betöltõ parancssorában adjuk meg
a paramétert. (Így
elõ tudjuk hozni a rendszermag
konfigurációs
módját.)Kapcsoljuk ki a sio0,
sio1,
sio2 és
sio3 eszközöket
(tehát mindegyiket). Emiatt a &man.sio.4;
meghajtó nem indul el, és így nem
okoz problémát.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.A &os; miért csak 64 MB
memóriát használ, amikor 128 MB van
a gépben?Mivel &os; 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 &os;
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=Nahol 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.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 &os; á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
beállítást megnöveljük
egészen a maximális 400 MB-os
értékig (). 400 MB
használata valószínûleg
elég lesz egészen 6 GB
memóriáig.A számítógépben nincs
1 GB memória, a &os; 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.Miért jelenik meg a kernel: proc:
table is full hibaüzenet?A &os; rendszermagja egyszerre csak bizonyos
számú programot enged futni. Ezek
konkrét száma a
kern.maxusers
&man.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
&man.loader.conf.5; és &man.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 &man.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.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:&prompt.root; rm /var/db/kvm_*.dbMit 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.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 &man.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.Miért küld a
sendmailmail loops back
to myself hibaüzenetet?Errõl részletesebben a kézikönyvben
olvashatunk.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 &os; 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 &os; 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 &os; 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.A Plug and Play kártyákat miért nem
találja meg (vagy unknown
típusúként látja) a
&os;?Ennek az okait a következõ levélben
fejtette ki &a.peter; a &a.questions; tagjainak, amelyben
arra válaszolt, hogy egy belsõ modemet
miért nem észlel a rendszer miután
frissítették
&os; 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).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 &man.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:&prompt.root; 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 0x01Innen 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 &man.pnpinfo.8; lefuttatásának
eredményeképpen megjelenõ lista nem
tartalmazza a kérdéses eszközt, akkor
helyette a &man.pciconf.8; használatával is
próbálkozhatunk. Íme a
pciconf -vl parancs kimenete egy
integrált hangkártya esetében:&prompt.root; 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 = audioEbbõ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
&man.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.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 &man.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é.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 &man.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 &os;-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 &man.hosts.5; és &man.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 &os; 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.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.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.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 &man.powerd.8;
használatán keresztül.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 &os; pont a rosszabbikat
választotta.Adjuk ki a &man.dmesg.8; parancsot és
vizsgáljuk meg a Timecounter
kezdetû sorokat. Ezek közül a &os; a
legnagyobb quality értékkel
rendelkezõt választotta.&prompt.root; 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 msecErrõl a
kern.timecounter.hardware &man.sysctl.3;
változó lekérdezésével
tudunk ténylegesen megbizonyosodni:&prompt.root; sysctl kern.timecounter.hardware
kern.timecounter.hardware: ACPI-fastElõ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 &os; 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 &man.sysctl.8;
változó értékét
átállítjuk erre az
értékre:&prompt.root; sysctl -w kern.timecounter.hardware=i8254
kern.timecounter.hardware: TSC -> i8254Innentõ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=i8254A 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
&man.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.Miért ad a &os; rendszertöltõje
Read error hibát és
áll meg a BIOS képernyõn?A &os; rendszertöltõje rosszul ismerte fel a
merevlemez geometriáját. Ezt a &os; slice-ok
létrehozásakor és
módosításakor külön meg kell
adni az &man.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 &man.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.Egy másik operációs rendszer
letörölte a boot managert. Hogyan lehet
visszaállítani?Indítsuk el a &man.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.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.Mik azok a UDMA ICRC hibák
és hogyan lehet ellenük tenni valamit?A &man.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 &man.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.Mi az a lock order
reversal?Erre a kérdésre a választ a &os;-s
szakkifejezések gyûjteményében
találjuk meg a LOR
címszó alatt.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 (&os; 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
&man.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.A
buildworld/installworld
miért áll le touch: not
found hibával?Ez a hibaüzenet nem azt jelenti, hogy a
&man.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.Kereskedelmi alkalmazásokEz 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 &os;
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 &os; kereskedelmi
irányú megközelítése a &os;
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.Honnan lehet a &os;-hez irodai programcsomagokat
szerezni?A nyílt forráskódú
OpenOffice.org
irodai programcsomag &os; 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 &os;
alatt.A &os; ezeken kívül még számos
szövegszerkesztõt,
táblázatkezelõt és rajzprogramot
is tartalmaz a Portgyûjteményében.Honnan lehet a &motif;-ot
szerezni a &os;-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.
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 &os;-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,
wsmFejlesztõi készlet: uil, mrm, xm,
xmcxx, include és
Imake
állományokStatikus és dinamikus ELF
könyvtárakPélda alkalmazásokA megrendelés során ne felejtsük el
megadni, hogy a &motif; melyik &os;
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ókAz Apps2go honlapjailletvesales@apps2go.com vagy
support@apps2go.comvagytelefonon: (817) 431 8775 és
+1 817 431-8775Honnan lehet &os;-re CDE-t
szerezni?A Xi Graphics korábban
kínált fel CDE-t
&os;-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.
Használhatóak adatbázisrendszerek
&os; alatt?Igen! A &os; 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.Az &oracle; fut &os;
alatt?Igen. A következõ oldalakon találunk
arról információt, hogyan
telepíthetjük &os;-re az
&oracle; &linux;
változatát:
http://www.unixcities.com/oracle/index.html
http://www.shadowcom.net/freebsd-oracle9i/Felhasználói alkalmazásokHol vannak a felhasználói
programok?Nézzünk szét a portok között
és láthatjuk, hogy milyen szoftvereket
portoltak eddig &os;-re. A listában pillanatnyilag
&os.numports; 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 &a.announce; 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 &os; 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
&man.sysinstall.8; programban (a
Configure menün belül)
található Packages
menüpontban tudjuk telepíteni, vagy
meghívjuk meg a &man.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 &os; különbözõ
verzióihoz tartozó változatukat a
hozzánk legközelebbi
tükrözésekrõl:6.X-RELEASE/6-STABLE
esetén:
ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/i386/packages-6-stable/7.X-RELEASE/7-STABLE
esetén:
ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/i386/packages-7-stable8-CURRENT esetén:
ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/i386/packages-8-currentNem 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.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.A &os; rendelkezik &java;
támogatással?Igen. Látogassunk el a http://www.FreeBSD.org/java/
oldalra.Miért nem fordul egy port a
6.X-STABLE vagy a
7.X-STABLE változatot
futtató gépeken?Ha olyan &os; 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 &man.send-pr.1; paranccsal, hiszen a
Portgyûjteménynek a -CURRENT és -STABLE
ágak esetén egyaránt mûködnie
kell.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 &os;
felhasználókkal fordul elõ, akik a
&man.cvsup.1; (vagy &man.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 &a.ports;
címére.A CVSup miért nincs a
&os; forrásai között?A &os; 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ó
(&man.gcc.1;), a &man.make.1;, &man.awk.1; és a
többi.Mivel a CVSup a Modula-3
programozási nyelven íródott, csak
úgy tudnánk beletenni a &os; alaprendszerbe,
ha hozzávennénk és
karbantartanánk egy Modula-3 fordítót
is. Ezzel együtt viszont növekedne a &os;
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
&os; telepítõ CD-ken található
csomagokból.Azonban a &os; 6.2-RELEASE
megjelenésétõl kezdve a &os;
felhasználók nem maradnak integrált
CVSup kliens nélkül.
&a.mux; munkájának köszönhetõen
a CVSup alkalmazásnak
elkészült a C nyelven újraírt
változata, a &man.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).A forrásokon kívül a
telepített portokat is lehet valahogy
frissíteni?A &os; 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 &os;
kézikönyv A portok frissítése
címû szakaszában olvashatunk
bõvebben.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 &os;
kézikönyvének frissítérõl
szóló szakaszát.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
&os; 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.A /bin/sh miért ilyen
egyszerû? A &os;-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
(&man.make.1;, &man.system.3;, &man.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
parancs kimenetének
VSZ és RSS oszlopait
megnézzük.)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.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-allCVSup algyûjteményt,
akkor a ports-base
algyûjteményt is mindig
frissítenünk kell! Ennek okairól a
kézikönyvben olvashatunk.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
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:&prompt.user; timidity -Ow -s 44100 -o /tmp/juke/01.wav01.midA 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 &os; kézikönyvben
is olvashatjuk.A rendszermag beállításaNehéz testreszabni a rendszermagot?Egyáltalán nem! Ezzel kapcsolatban
olvassuk el a &os;
kézikönyv rendszermag
beállításairól
szóló részét.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.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 &man.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 nem sem tudni elindulni.
+ akkor sem tud elindulni.
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=-gA &man.config.8; használata során ne
használjuk a
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.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 &os; 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 siointrMié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 &rel.current;-RELEASE
rendszert akarunk fordítani egy
&rel2.current;-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 &os;-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 &os;-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.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:&prompt.user; sysctl kern.sched.quantum
kern.sched.quantum: 99960Ha létezik a
kern.sched.quantum nevû sysctl
változó, akkor a 4BSD ütemezõ fut
(lásd &man.sched.4bsd.4;). Ha nem, akkor egy ilyen
hibát kapunk a &man.sysctl.8; parancstól (ezt
nyugodtan figyelmen kívül hagyhatjuk):&prompt.user; 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:&prompt.user; sysctl kern.sched.name
kern.sched.name: 4BSDMi 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.Lemezek, állományrendszerek és
rendszertöltõkHogyan adjunk lemezeket a &os;
rendszerünkhöz?Ezzel kapcsolatban olvassuk el a lemezek
hozzáadásáról
szóló részt a &os; kézikönyvben.
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
&man.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
&man.sysinstall.8;, vagy pedig a &man.fdisk.8; és a
&man.disklabel.8; használatával osszuk fel
és címkézzük meg az új
lemezt. Érdemes még a &man.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 &man.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
&man.dump.8; és &man.restore.8;
segédprogramokra lesz szükségünk.
Esetleg a &man.tar.1; parancs is használható,
de nem minden esetben. A &man.dump.8; és
&man.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:Hozzunk létre egy új
partíciót.Ideiglenesen csatlakoztassuk egy
könyvtárba.Lépjünk be abba a
könyvtárba.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:&prompt.root; newfs /dev/ad1s1a
&prompt.root; mount /dev/ad1s1a/mnt
&prompt.root; cd /mnt
&prompt.root; 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:&prompt.root; newfs /dev/ad1s1a
&prompt.root; mount /dev/ad1s1a/mnt
&prompt.root; cd /mnt
&prompt.root; dump 0af - / | restore rf -
&prompt.root; cd var
&prompt.root; 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:&prompt.root; newfs /dev/ad1s1a
&prompt.root; newfs /dev/ad1s1d
&prompt.root; mount /dev/ad1s1a/mnt
&prompt.root; mkdir /mnt/var
&prompt.root; mount /dev/ad1s1d/mnt/var
&prompt.root; cd /mnt
&prompt.root; dump 0af - / | restore rf -A felhasználói adatok esetén a
&man.cpio.1;, &man.pax.1;, &man.tar.1; és &man.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!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 &os;
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 &os; 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 &os;
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 &os; 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 &os;
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
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 &os; a többi lemezzel
már remekül elboldogul.Miután sikerült egyeztetnünk a BIOS
és a &os; 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:&prompt.root; dd if=/dev/zero of=/dev/rda0 count=15A másik módszer egy hivatalosan nem
dokumentált DOS-os lehetõség
használata:C:\>fdisk /mbrEzzel egy új Master Boot Recordot tudunk
telepíteni, ami ezzel együtt felülírja
a BSD rendszertöltõjét is.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 &os; 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.Mi történt a &man.ccd.4;
eszközzel?A hibajelenség:&prompt.root; ccdconfig -C
ccdconfig: ioctl (CCDIOCSET): /dev/ccd0c: Inappropriate file type or formatEz á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
&man.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.Miért nem lehet a &man.ccd.4; eszköz
lemezcímkéjét szerkeszteni?A hibajelenség:&prompt.root; disklabel ccd0
(itt valami gondot ír ki, ezért megpróbáljuk szerkeszteni a címkét)
&prompt.root; disklabel -e ccd0
(edit, save, quit)
disklabel: ioctl DIOCWDINFO: No disk label on disk;
use "disklabel -r" to install initial labelEzt általában azért kapjuk, mert a
&man.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:&prompt.root; disklabel ccd0 > /tmp/lemezcimke.tmp
&prompt.root; disklabel -Rr ccd0/tmp/lemezcimke.tmp
&prompt.root; disklabel -e ccd0
(most már mûködni fog)Lehet más operációs rendszerek
állományrendszerét is csatlakoztatni &os;
alatt?A &os; több más
állományrendszert is ismer.UFSAz UFS formátumú CD-k &os; 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/ext3A &os; támogatja az
ext2fs és ext3fs
partíciókat. Errõl bõvebben
lásd a &man.mount.ext2fs.8; man oldalt.NTFSA &os; csak olvasni képes az NTFS
partíciókat. Ezzel kapcsolatban a
&man.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).
FATA &os; egyaránt képes írni
és olvasni a FAT típusú
partíciókat. Errõl a
&man.mount.msdosfs.8; man oldalán tudhatunk meg
többet.ReiserFSA &os; tudja olvasni a ReiserFS
partíciókat. Ezt a &man.mount.reiserfs.8;
man oldalon olvashatjuk.ZFSA &os; jelen pillanatban a &sun; ZFS
meghajtójának átiratát is
tartalmazza. Jelenleg azonban csak elegendõ
memóriával rendelkezõ &arch.amd64;
platformokon javasoljuk a használatát.
Részletesebb
információkért lásd a
&man.zfs.8; man oldalt.A &os; hálózati
állományrendszereket is támogat,
többek közt az NFS-t (lásd
&man.mount.nfs.8;), a NetWare-t (lásd
&man.mount.nwfs.8;), és Microsoft-féle SMB
állományrendszereket (lásd
&man.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.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:&prompt.root; mount -t msdosfs /dev/da1s5 /dos/eHasználható titkosított
állományrendszer &os; alatt?Igen. Erre a célra a &man.gbde.8; és a
&man.geli.8; is tökéletesen alkalmas. A
részleteket lásd a &os; kézikönyv
A lemezpartíciók titkosítása
címû fejezetében.A &windowsnt; rendszertöltõjével is el
lehet indítani a &os;-t?Ehhez tulajdonképpen csak annyit kell
csinálnunk, hogy átmásoljuk a &os;
rendszerindító
partíciójának az elsõ
szektorát egy állományba a
DOS/&windowsnt; 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="&os;"
C:\="DOS"Ha a &os; ugyanazon a lemezen található,
ahonnan a &windowsnt; is indul, akkor egyszerûen csak
másoljuk át a /boot/boot1
állományt C:\BOOTSECT.BSD
néven. Ha viszont a &os; 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 &man.sysinstall.8;
használatával kell telepíteni
abból a menübõl, ahol a &os; 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 &man.sysinstall.8; át fogja
másolni a partíciós
táblát mielõtt a
/boot/boot0 állományt az
MBR-be tenné.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 &os; 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.A LILO-ból hogyan lehet &os;-t és Linuxot
is indítani?Ha a &os; é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=&os;(A fentiekben feltételeztük, hogy a &os;-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 &os; 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=&os;Bizonyos helyzetekben elõfordulhat, hogy a &os;
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
&os; szerint a SCSI-lemezünk a BIOS-ban az 1-es lemez,
akkor ezt kell megadnunk a &os;
rendszertöltõjének:Boot: 1:da(0,a)/boot/kernel/kernelA &man.boot.8; beállítható
úgy, hogy a rendszer indításakor
automatikusan mindig ezt a beállítást
használja.A &os; és &linux; együttes
használatáról további
részleteket a &linux;+&os; mini-HOWTO
címû írásból tudhatunk
meg.Hogyan lehet a GRUB használatával &os;-t
és Linuxot is indítani?A &os;-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 &os; 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.Hogyan lehet a BootEasy
használatával elindítani a &os;-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).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.Cserélhetõ lemezes meghajtókat hogyan
lehet használni?Legyen az akár egy &iomegazip;, 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:&prompt.root; mount -t msdosfs /dev/fd0c /floppyvagy így, ha egy gyári
beállításokkal rendelkezõ
ZIP-lemez:&prompt.root; mount -t msdosfs /dev/da2s4 /zipA többi lemez esetén a &man.fdisk.8; vagy a
&man.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 &man.fdisk.8; vagy a
&man.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:&prompt.root; dd if=/dev/zero of=/dev/rda2 count=2
&prompt.root; disklabel -Brw da2 autoA &man.disklabel.8; vagy a &man.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:&prompt.root; newfs /dev/rda2cCsatlakoztassuk:&prompt.root; mount /dev/da2c /zipEmellett még hasznos lehet felvenni hozzá
egy sort az /etc/fstab
állományba is (lásd &man.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 0Miért ad a rendszer Incorrect super
block hibát CD-k
csatlakoztatásánál?Fel kell világosítanunk a &man.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.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.Miért jelenik meg az összes nemzeti karakter
helyén ?, amikor &os; 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.A &os; 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.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.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.Hogyan lehet többmenetes (multisession) CD-ket
csatlakoztatni a mount paranccsal?A &man.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
paranccsori paramétert. Erre a
&man.mount.cd9660.8; man oldalon találhatunk
különbözõ példákat.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:root
felhasználóként
állítsuk be a
vfs.usermount sysctl
változót az 1
értékre:&prompt.root; sysctl -w vfs.usermount=1A 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:&prompt.root; chmod 666 /dev/fd0Az operator csoportban
levõ felhasználók pedig így
fognak tudni CD-ket csatlakoztatni:&prompt.root; chgrp operator /dev/acd0c
&prompt.root; chmod 640 /dev/acd0cFel 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 0660Vé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:&prompt.user; mkdir ~/az-én-csatlakozási-pontom
&prompt.user; mount -t msdosfs /dev/fd0 ~/az-én-csatlakozási-pontomA 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:&prompt.user; mkdir ~/az-én-csatlakozási-pontom
&prompt.user; mount -t cd9660 /dev/acd0c ~/az-én-csatlakozási-pontomAz eszközök leválasztása is
hasonlóan egyszerû:&prompt.user; umount ~/az-én-csatlakozási-pontomA 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.A példákban használt
eszközneveket természetesen a
konfigurációnknak megfelelõen meg kell
változtatnunk.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 &os;
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 &man.newsyslog.8; programot.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.A &os; 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
&os; pedig 1 073 741 824 byte-nak. Ez
remekül megmagyarázza, hogy a &os;
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 &os;
(alapértelmezés szerint) fenntartja a
lemezterület
8 százalékát.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
&man.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 &man.tunefs.8; man oldalon
belül a opció
bemutatásánál olvashatjuk.Rendszeradminisztráció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 &man.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 &man.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 &man.named.8; démont,
akkor ennyit kell tennünk:&prompt.root; echo named_enable="YES" >> /etc/rc.confHa 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.Hogyan lehet felhasználókat
egyszerûen létrehozni?Használjuk a &man.adduser.8;, vagy bonyolultabb
esetekben a &man.pw.8; parancsot.Felhasználókat törölni a
&man.rmuser.8;, vagy amennyiben szükséges, a
&man.pw.8; paranccsal tudunk.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 &man.crontab.1;
használatával megpróbáljuk
telepíteni:&prompt.root; crontab /etc/crontabEzt nem így kell megoldani. A
rendszerszintû crontab
felépítése eltér a
felhasználókhoz tartozó
crontab
állományokétól (a
&man.crontab.5; man oldal szemlélteti
részletesebben ezeket az eltéréseket),
amelyet a &man.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:&prompt.root; crontab -rLegközelebb, amikor az
/etc/crontab állományt
módosítjuk, nem kell
értesítenünk a &man.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 &man.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 rootcrontab
állományaként használjuk (amely
nem ugyanaz, mint a rendszerszintû
crontab), akkor a &man.cron.8; a
root szót a
végrehajtandó parancs részének
fogja tekinteni, amely viszont nem létezik.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
&man.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.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
&man.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 &man.vi.1; vagy &man.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
&man.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.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 &os; 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.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.Miért jelenik meg az unknown:
<PNP0303> can't assign resources
hibaüzenet a rendszer indulásakor?Erre a &a.current; címére postázott
egyik levél adja meg a választ:
&a.wollman;, 2001. április
24.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.
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 QUOTAEnnek 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……A &os; tartalmazza a System V IPC
alapeszközeit?Igen, a &os; 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éseFordítsuk és telepítsük
újra a rendszermagot.A sendmail helyett milyen
más levelezõ szerver használható
még?A sendmail
a &os;-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.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 &prompt.root;
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 &man.exit.1;
futtatásával folytassuk a rendszer
indítását.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 &os;
telepítõlemezt, elindítanunk
róla a rendszert, majd a &man.sysinstall.8;
programban a Fixit
menüponton keresztül indított
parancsértelmezõben kiadni az elõbb
említett parancsokat.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
&os;-ben elõforduló
lemeztitkosításokkal kapcsolatban a kézikönyv
ad bõvebb útmutatást.Hogyan akadályozható meg, hogy a ControlAltDelete
billentyûkombináció
újraindítsa a rendszert?Ha a &man.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_REBOOTMindezt a rendszermag újrafordítása
és a újraindítása
nélkül is le tudjuk tiltani, ha
beállítjuk az alábbi
&man.sysctl.8;-változót:&prompt.root; sysctl hw.syscons.kbd_reboot=0Az elõbb említett két
módszer kizárja egymást. A
&man.sysctl.8; változó nem létezik,
ha a rendszermagot a SC_DISABLE_REBOOT
beállítással fordítjuk
újra.Ha viszont a &man.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_DELHogyan lehet szöveges DOS
állományokat &unix; formátumúra
alakítani?Használjuk a következõ &man.perl.1;
parancsot:&prompt.user; perl -i.bak -npe 's/\r\n/\n/g' állományokahol 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
&man.tr.1; parancs is:&prompt.user; tr -d '\r' < dos-szöveges-állomány > unix-szöveges-állományEkkor 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.Hogyan lehet futó programokat név szerint
leállítani?Lásd &man.killall.1;.A &man.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
kapcsolóval kell futtatni a
&man.su.1; programot, vagy a következõ
kérdésben megadottak szerint el kell
távolítani a
Kerberos
alkalmazást.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:&prompt.root; cd /cdrom/base
&prompt.root; ./install.shMá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.Mi történt a
/dev/MAKEDEV
állománnyal?A &os; 5.X és
a késõbbi változatok már a
&man.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.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 &os; 6.2
és az azt megelõzõ változatokban
alapértelmezés szerint 256
pszeudoterminál, a &os; 6.3 és
késõbbi változatokban pedig 512
pszeudoterminál áll
rendelkezésünkre.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
1152 pszeudoterminál használatát
teszi lehetõvé. Ez a konkrét
javítás viszont csak a &os; 6.3
és késõbbi változatok
esetén alkalmazható
zökkenõmentesen.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:&prompt.root; shutdown now
(Megjegyzés: nincs -r vagy -h!)
&prompt.root; return
&prompt.root; exitA -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 &os;-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 &os;
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).Az új rendszermag telepítése
során a &man.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 &os; 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:&prompt.root; sysctl kern.securelevelA 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
&man.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 &man.rc.conf.5;
man oldalon tudhatunk meg többet.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 &os; 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:&prompt.root; sysctl kern.securelevelA 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 &man.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
&man.rc.conf.5; man oldalról tudhatunk meg
többet az rc.conf
mûködésérõl.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
&man.top.1;, &man.ps.1; és a hozzá
hasonló programokat zavarja meg egy kicsit.A &man.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 &man.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.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 &man.init.8; man
oldalról tudhatunk meg.Az .shosts állományon
keresztül alapértelmezés szerint
miért enged hitelesíteni a legújabb
&os; verziókban megtalálható
SSH?A legújabb &os; verziókban azért
nem tudjuk az .shosts
állományon keresztül hitelesíteni
magunkat, mert az &man.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 &man.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.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.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.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.Mi az a /var/empty? Nem lehet
letörölni!A /var/empty
könyvtárat az &man.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 &man.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).
Az X Window System és a virtuális konzolok
használataMi 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 &os;-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
&xorg.version;, 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.&os; alatt milyen X implementációk
használhatóak?Kezdetben a &os; 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 &os; 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 &os.current; változatban az &xfree86; helyett az
&xorg; lett az alapértelmezett X
implementáció. A &os;-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.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 &os; levelezési listáit zavarjuk. Az is
elképzelhetõ, hogy ennek a valós okait
csak néhányan ismerik egész
teljesen.A &os; 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.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:&prompt.root; pkg_add -r xorgEmellett az &xorg; a &man.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 &man.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 &man.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.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 &man.io.4; eszköz írására.
Ezzel kapcsolatban az &man.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 &man.xdm.1;
programot még a rendszerindítás
során elindítjuk (mielõtt a
biztonsági szintet magasabbra
állítanánk).A szolgál arról
bõvebb információval, hogy miként
tudjuk használni az &man.xdm.1; programot a rendszer
indítása során.Miért nem mûködik X alatt az
egér?Ha a &man.syscons.4; (vagyis az alapértelmezett
konzol) meghajtót használjuk, akkor be tudjuk
úgy állítani a &os;-t, hogy minden
virtuális képernyõn látható
legyen az egérkurzor. A &man.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 &man.moused.8; démon írja
folyamatosan a &man.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
válaszát és állítsuk be
annak megfelelõen a &man.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 &man.sysmouse.4;). Ezt úgy tudjuk
megtenni, ha az /etc/devfs.conf
állományba (lásd &man.devfs.conf.5;)
felvesszük a következõ sort:link sysmouse mouseA link maga közvetlenül a &man.devfs.5;
újraindításával keletkezik. Ehhez
(root
felhasználóként) a következõ
parancsot kell kiadnunk:&prompt.root; /etc/rc.d/devfs restartX 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ó.Egy példa &xorg; konfigurációs
állomány InputDevice szakasza
görgõs egerekhezSection "InputDevice"
Identifier "Mouse1"
Driver "mouse"
Option "Protocol" "auto"
Option "Device" "/dev/sysmouse"
Option "Buttons" "5"
Option "ZAxisMapping" "4 5"
EndSectionEgy 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)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
paraméterrel
indítani:&prompt.user; startx -listen_tcpMi 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
AltF2
(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 AltF1
billentyûkombinációt.A frissen telepített &os; rendszerekben
alapértelmezés szerint nyolc virtuális
konzol engedélyezett. Az AltF1,
AltF2,
AltF3,
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 &man.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 secureAká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.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 secureerre:ttyvb "/usr/libexec/getty Pc" cons25 off secureAmennyiben 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:&prompt.root; kill -HUP 1Fontos, 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.Hogyan lehet elérni a virtuális konzolokat
X-bõl?A virtuális konzolokra a
CtrlAltFN billentyûkombinációval lehet
visszaváltani. Ennek megfelelõen tehát a
CtrlAltF1 kombinációval az elsõ
virtuális konzolra tudunk
visszaváltani.Ahogy visszajutottunk a szöveges konzolra, az
AltFn 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
AltF9 lenyomásával tudunk
visszatérni.Hogyan indítható el az
XDM a rendszer
indításakor?Alapvetõen kétféle
megközelítés létezik az
&man.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 &man.ttys.5;)
tudjuk megadni a megadott példa alapján, a
másikban pedig egyszerûen az
rc.local
állományból (lásd &man.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 &man.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 &man.init.8; programra
bízza. Az &man.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 &man.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 &man.xdm.1; azonban
csak az összes &man.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 &man.xdm.1; és a &man.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 vt4A 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 &os;
rendszermagja nullától.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
&man.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 &man.fbtab.5;) kell kivennünk a
következõ sort a megjegyzésbõl:/dev/ttyv0 0600 /dev/consoleEnnek köszönhetõen bárki, aki az
/dev/ttyv0 eszközön
keresztül jelentkezik be a rendszerbe, el tudja
érni a konzolt.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
&man.getty.8; és a &man.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.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
kapcsolóval tudjuk behozni a
UserConfig részt:boot: -cEzután a UserConfig
parancssorában gépeljük be a
következõt:UserConfig> flags psm0 0x100
UserConfig> quitMié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
kapcsolót:boot: -cAhogy bejön a UserConfig
parancssora, gépeljük be a
következõt:UserConfig> flags psm0 0x04
UserConfig> quitAz elõzõ részben olvashatunk egy
másik hasonló egeres
problémáról.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.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 &os; kézikönyv Rendszerbetöltõ
képernyõk
címû szakaszában kapunk.X alatt lehet használni a billentyûzeten
található Windows
billentyûket?Igen. Ehhez mindössze az &man.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ött116 —
Windows billentyû, az
AltGr mellett jobbra117 —
Menü gomb, a jobb oldali
Ctrl mellett balraPéldául így lehet
beállítani a bal oldali
Windows billentyût
vesszõre:&prompt.root; 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/.xmodmaprcPé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 = F15Ha 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 NopHogyan 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 &os;-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: .
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 &man.ati.4x;,
&man.r128.4x; és &man.radeon.4x; 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.HálózatokHonnan 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 &os; 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.A &os; 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.&os;-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 &os;, a
másikon pedig a &windows; valamelyik változata
fut. A &os; 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ó
&man.ppp.8; tartalmaz egy
kapcsolót. A &man.ppp.8; programot úgy tudjuk
a 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
&man.ppp.8; man oldalán vagy a kézikönyv
felhasználói PPP-rõl
szóló bejegyzésében
olvashatunk.Amennyiben rendszerszintû PPP-t használunk
vagy Ethernettel csatlakozunk az internethez, akkor a
&man.natd.8; démonra lesz
szükségünk. Erre vonatkozóan a
kézikönyv natd
démonról szóló
szakaszában találhatunk részletesebb
információkat.A &os; támogatja a SLIP és a PPP
használatát?Igen. Érdemes elolvasnunk az &man.slattach.8;,
&man.sliplogin.8;, &man.ppp.8; és &man.pppd.8; man
oldalakat. A &man.ppp.8; és a &man.pppd.8;
egyaránt támogatja a beérkezõ
és kimenõ kapcsolatokat, miközben a
&man.sliplogin.8; kizárólag csak
beérkezõ kapcsolatokkal dolgozik, valamint a
&man.slattach.8; pedig csak kimenõ
kapcsolatokkal.Ezek pontos használatáról olvassuk
el a kézikönyv
PPP-rõl és a SLIP-rõl szóló
fejezetét.Ha viszont csak egy shellen
keresztül érjük el az internetet, akkor
hasznos lehet megnéznünk a net/slirp csomagot.
Segítségével a helyi géprõl
(korlátozott módon) hozzá tudunk
férni különbözõ FTP és
HTTP szolgáltatásokhoz.A &os; támogat hálózati
címfordítást (NAT) vagy
maszkolást?Igen. Ha egy felhasználói PPP kapcsolat
esetén szeretnénk hálózati
címfordítást alkalmazni, akkor olvassuk
el a kézikönyv
felhasználói PPP-vel foglalkozó
részét. Ha viszont
más típusú hálózati
kapcsolatok esetén kívánunk
címfordítást használni, akkor
ahhoz a kézikönyv natd
démonnal kapcsolatos részét kell
fellapoznunk.A PLIP segítségével hogyan tudok
két &os; rendszert összekapcsolni
párhuzamos porton keresztül?Ezt illetõen a kézikönyv PLIP-rõl
szóló szakaszát
érdemes megnéznünk.Hogyan lehet álneveket megadni az Ethernet
eszközöknek?Amennyiben az álnév ugyanazon az
alhálózaton található, mint a
hozzátartozó interfész, akkor
egyszerûen csak adjuk meg a netmask
0xffffffff paramétert az &man.ifconfig.8;
parancs meghívásakor, például
így:&prompt.root; ifconfig ed0 alias 192.0.2.2 netmask 0xffffffffMinden más esetben a hagyományos
módon adjunk meg egy hálózati
címet és egy hálózati
maszkot:&prompt.root; ifconfig ed0 alias 172.16.141.5 netmask 0xffffff00Errõl bõvebben a &os; kézikönyvben
olvashatunk.A 3C503 kártya hogyan
állítható másik
hálózati portra?Ha a kártyán egy másik portot
szeretnénk használni, akkor ahhoz meg kell
adnunk egy további paramétert a
&man.ifconfig.8; meghívásakor. Itt az
alapértelmezett port a link0. Ha
a BNC helyett az AUI portot akarjuk használni, akkor
ennek a link2 értéket kell
megadnunk. Az ilyen típusú
beállítások az
/etc/rc.conf állomány
(lásd &man.rc.conf.5;) ifconfig_*
változóival adhatóak meg.Miért okoz gondot az NFS használata &os;
alatt?A személyi
számítógépekben
található bizonyos hálózati
kártyák (szépen szólva)
ügyesebbek a többieknél, ami az olyan
komolyabb hálózati alkalmazások, mint
például az NFS esetén gondokat
okozhat.Ezzel kapcsolatban
kézikönyv NFS-rõl szóló
részét érdemes
megnéznünk.Miért nem lehet hálózati
állományrendszereket csatlakoztatni &linux;
alól?A &linux; egyes változataiban
található NFS kód csak bizonyos
privilegizált portokról fogad el
kéréseket. Próbáljuk meg a
következõt:&prompt.root; mount -o -P linux:/valami/mntMiért nem lehet hálózati
állományrendszereket csatlakoztatni &sun;
típusú rendszerek alól?A &sunos; 4.X
változatait futtató munkaállomások
csak privilegizált portokról fognak el
kéréseket. Próbálkozzunk az
alábbi paranccsal:&prompt.root; mount -o -P sun:/valami/mntA mountd miért küld
folyton can't change attributes
hibaüzenetet és miért jelenik meg a
bad exports list hibaüzenet a
&os; alapú NFS szerveren?Ez leginkább azért történik,
mert nem jól adtuk meg az
/etc/exports állomány
tartalmát. Olvassuk át a &man.exports.5; man
oldalt és a kéziköny
NFS-rõl
szóló részét,
különös tekintettel az NFS
beállítására.A NeXTStep gépekkel
miért nem sikerül PPP-n keresztül
kommunikálni?Próbáljuk meg az
/etc/rc.conf állományban
(lásd &man.rc.conf.5;) kikapcsolni a TCP
kiterjesztések használatát úgy,
hogy az alábbi változót a
NO értékre
állítjuk:tcp_extensions=NOA Xylogic által
gyártott Annex
típusú gépek esetén is javasolt
megtenni a fenti változtatást.Hogyan lehet engedélyezni a multicast
használatát az IP-n belül?A &os; alapértelmezés szerint
támogatja a multicast mûveleteket. Amennyiben egy
multicast küldéseket közvetítõ
útválasztót szeretnénk
beállítani, akkor újra kell
fordítanunk a rendszermagunkat a
MROUTING beállítás
használatával és elindítani a
&man.mrouted.8; démont. Ez a démon úgy
aktiválható a rendszer minden egyes
indításakor, ha az
/etc/rc.conf állományban
az mrouted_enable változót
YES értékûre
állítjuk.A &os; újabb változataiban az
&man.mrouted.8; multicast útválasztó
démon, a &man.map-mbone.8; valamint az
&man.mrinfo.8; segédprogramok már nem
szerepelnek az alaprendszerben. Ezek a programok
már a &os; Portgyûjteményében az
net/mrouted portban
találhatóak meg.Az MBONE használatához további
eszközök találhatóak a külön
mbone
kategóriában a Portgyûjeményen
belül. Ha a vic és
vat nevû konferenciaszervezõ
eszközöket keressük, akkor itt érdemes
szétnéznünk!Milyen hálózati kártyák
épülnek a DEC PCI
chipkészletére?Glen Foster (gfoster@driver.nsta.org) a
következõ listát állította
össze róluk, amelyet
kiegészítettünk még
néhány további elemmel:
Miért kell teljes hálózati neveket
megadni?Erre a &os; kézikönyvben
találjuk meg a választ.Miért jelenik meg a Permission
denied hibaüzenet minden egyes
hálózati mûvelet esetén?Amennyiben a rendszermagot az
IPFIREWALL
beállítással fordítottuk le,
akkor nem szabad elfelejtenünk, hogy ez
alapértelmezés szerint minden olyan csomagot
eldob, amelyet külön nem
engedélyeztünk.Ha véletlenül rosszul
állítottuk volna be a rendszerünkön
futó tûzfalat, akkor a hálózat
mûködését úgy tudjuk
visszaállítani, ha root
felhasználóként kiadjuk a
következõ parancsot:&prompt.root; ipfw add 65534 allow all from any to anyAz /etc/rc.conf
állományban is megadhatjuk ehhez a
firewall_type="open" sort.Ha a tûzfalak
beállításáról
szeretnénk többet megtudni &os; alatt, akkor
olvassuk el a kézikönyv
erre vonatkozó fejezetét.Az ipfwfwd
szabálya miért nem irányít
át más gépekre
szolgáltatásokat?Valószínûleg azért, mert nem
egyszerûen a csomagok
továbbítására (forward) van
szükségünk, hanem hálózati
címfordításra. Az fwd
szabály pontosan azt csinálja, amirõl a
nevét kapta: csomagokat továbbít, de
azokon belül semmit sem változtat meg.
Tegyük fel, hogy van egy ilyen
szabályunk:01000 fwd 10.0.0.1 from any to ize 21Amikor egy csomag az ize
célcímmel megérkezik a
10.0.0.1 gépre, akkor
benne a cél címe továbbra is az
ize lesz! A csomag
célcíme nem fog
magától megváltozni a
10.0.0.1 címre. A
legtöbb gép általában eldobja
azokat a csomagokat, amelyeket nem egyenesen neki
címeztek. Emiatt a fwd szabály
használata nem minden esetben úgy
mûködik, ahogy arra a felhasználó
számít. Ez viszont ilyen, semmilyen hiba
nincs benne.Részletesebb információkat a szolgáltatások
átirányításával
foglalkozó GYIK-ban, a &man.natd.8; man
oldalán vagy a Portgyûjtemény
valamelyik port átirányítással
foglalkozó portjának
dokumentációjában
találhatunk.Hogyan lehet egyik géprõl a másikra
szolgáltatásokat
átirányítani?Az FTP (vagy más egyéb
szolgáltatás-) kéréseket a
Portgyûjteményen belül
található sysutils/socket porttal tudunk
átirányítani. Az adott
szolgáltatás helyett egyszerûen csak
adjuk meg a socket parancsot és
annak paramétereit, valahogy így:ftp stream tcp nowait nobody /usr/local/bin/socket socket ftp.minta.comftpahol az ftp.minta.com az a
gép, ahová át akarjuk
irányítani a szolgáltatást, az
ftp pedig a konkrét
szolgáltatás.Hogyan lehet a sávszélességet
szabályozni?&os; alatt alapvetõen három eszköz
szolgál erre a célra. A &man.dummynet.4; a &os;
részeként megtalálható
&man.ipfw.4; egyik komponense. Az ALTQ
a &os;-ben található &man.pf.4; rendszer
része, az Emerging Technologies
által fejlesztett Bandwith
Manager pedig egy kereskedelmi
termék.Miért jelenik meg a /dev/bpf0: device
not configured hibaüzenet?Olyan programot akarunk futtatni, amelynek
szüksége van a Berkeley Packet Filter
(&man.bpf.4;) használatára, azonban a
rendszermag ezt nem tartalmazza. Úgy tudjuk
aktiválni, ha a rendszermag
konfigurációs állományába
felvesszük a következõ sort, majd
fordítunk egy új rendszermagot:device bpf # Berkeley Packet FilterHogyan lehet a hálózaton
elérhetõ &windows; típusú
partíciókat csatlakoztatni, mint ahogy az
smbmount csinálja &linux; alatt?Erre az SMBFS eszközeit
használhatjuk, amely tartalmazza az ehhez
szükséges rendszermagbeli
módosításokat és a
hozzátartozó felhasználói
programokat. Ezek a programok és a hozzájuk
tartozó &man.mount.smbfs.8; man oldal az alaprendszer
részei.Mik azok az Limiting icmp/open port/closed
port response üzenetek a
naplókban?Ilyen üzeneteket akkor kapunk a
rendszermagtól, ha valaminek a hatására
több ICMP vagy TCP reset (RST) választ
küld, mint amennyit kellene. Az ICMP válaszok
sokszor olyankor generálódnak, amikor
használaton kívüli UDP portokat akarnak
elérni a rendszerünkön. A TCP reset pedig
általában olyankor keletkezik, amikor meg nem
nyitott TCP porthoz akarnak csatlakozni. Többek
közt ilyenek okozhatják:A rendszer túlterhelését
célzó, nyers erõvel indított
Denial of Service (Dos)
támadások (ellentétben az
egycsomagos, adott sebezhetõség
kihasználó
támadásokkal).A portok szisztematikus letapogatása,
amelynek során egyszerre nagy
mennyiségû portot próbálnak
meg átvizsgálni (ellentétben azzal,
amikor csak néhány jól ismert
portot nyitnak meg).Az üzenetben olvasható elsõ szám
azt mondja meg, hogy a rendszermag mennyi csomagot
küldött volna, ha nem korlátoztuk volna, a
második pedig magát a határt jelzi.
Ezt a net.inet.icmp.icmplim sysctl
változó segítségével
tudjuk beállítani, ahogy például
most megnöveljük az értékét
300-ra:&prompt.root; sysctl -w net.inet.icmp.icmplim=300Amennyiben le szeretnénk tiltani az ilyen
jellegû üzeneteket a naplókban, viszont
még továbbra is szükségünk
lenne a válaszküldés
korlátozására, a
net.inet.icmp.icmplim_output sysctl
változó segítségével
így tudjuk ezt megtenni:&prompt.root; sysctl -w net.inet.icmp.icmplim_output=0Végezetül, ha teljesen ki akarjuk kapcsolni
a válaszküldés
korlátozását, akkor
állítsuk a
net.inet.icmp.icmplim sysctl
változót (lásd az elõbbi
példában) a 0 nulla
értékre. A korlát törlése
azonban a fenti okok miatt egyáltalán nem
ajánlott.Mik azok az arp: unknown hardware address
format hibaüzenetek?Ez arra utal, hogy valamelyik gép a helyi
Ethernet-alapú hálózatunkon olyan
MAC-címet használ, amelynek a &os; nem ismeri
a formátumát. Valószínûleg
olyankor kapjuk ezt a hibaüzenetet, amikor valaki
más kísérletezik az Ethernet
kártyája beállításaival
valahol a hálózaton. Leggyakrabban
kábelmodemes hálózatokon
tapasztalhatunk ilyet. Megnyugodhatunk, teljesen
veszélytelen, semmilyen hatással nincs a &os;
gépünk
teljesítményére.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?Ilyen üzeneteket akkor kapunk, amikor a
hálózaton kívülrõl
érkezik hozzánk váratlanul egy csomag.
A letiltásukhoz állítsuk a
net.link.ether.inet.log_arp_wrong_iface
értékét 0-ra.A CVSup programot
telepítése után nem lehet
elindítani, mert hibákat jelez. Mi a
gond?Elõször is nézzük meg, hogy az
iménti hibaüzenet mellett nem látunk-e
valami hasonlót:/usr/libexec/ld-elf.so.1: Shared object "libXaw.so.6" not foundAz ilyen jellegû hibák
általában olyankor keletkeznek, amikor olyan
gépre telepítjük a net/cvsup portot, amelyen
viszont nem található meg a
&xorg; programcsomag.
Amennyiben szükségünk lenne
CVSup programhoz mellékelt
grafikus felületre, akkor kénytelenek
leszünk mellé az
&xorg; programjait is
telepíteni. Ha viszont egyszerûen csak
parancssorból szeretnénk használni a
CVSup lehetõségeit,
töröljük le a korábban
telepített csomagot, majd helyette rakjuk fel a
net/cvsup-without-gui
vagy a net/csup portot.
A &os; újabb változataiban
megpróbálkozhatunk a &man.csup.1;
használatával is. Ezzel a
témával részletesebban a
kézikönyv CVSup használatáról
szóló része foglalkozik.BiztonságMi az a járóka
(sandbox)?A járóka alapvetõen egy
biztonsági szakkifejezés. Két dolgot
jelenthet:Egy virtuális falak között
futó programot, melyeket azért emeltek a
program köré, hogy a
feltörését követõen
megakadályozzák a rendszer többi
részének
elérését.A program csak a falon belül
játszhat. Ilyenkor semmilyen
olyan kódot nem képes futtatni, amellyel
át tudna lépni a falakon, így a
használatához nem kell elõzetesen
átvizsgálni a forrásait ahhoz,
hogy meg tudjuk gyõzõdni a
biztonságosságáról.Ez a fal lehet például egy
felhasználói azonosító. A
&man.security.7; és &man.named.8; man oldalakon
is ezt a definíciót találjuk
meg.Vegyük például az
ntalk szolgáltatást
(lásd &man.inetd.8;). Ezt a
szolgáltatást korábban a
root felhasználó
azonosítójával futtatták,
de manapság viszont már a
tty felhasználóval
fut. A tty
felhasználó lényegében egy
olyan járóka, amely az
ntalk szolgáltatás
feltörésekor nem engedi, hogy a rendszer
többi részéhez is hozzá
lehessen férni.A valódi gépet utánzó
rendszerben futó programot. Ez már egy
sokkal kifinomultabb megoldás. Ha ilyenkor
valakinek sikerül betörnie a programba,
akkor könnyen azt hiheti, hogy sikerült a
rendszer többi részét is
elérnie, de valójában csak egy
szimulált gépen van, és semmilyen
valós adatot nem képes
módosítani.Leggyakrabban ezt úgy szokták
elérni, hogy egy könyvtárban
létrehoznak egy szimulált
környezetet, majd itt futtatják az adott
programot a &man.chroot.8;
segítségével. (Ekkor az
iménti könyvtár lesz a
gyökérkönyvtár az adott
folyamat számára, nem pedig a rendszer
igazi gyökere.)Másik szintén gyakori
megoldás a használt
állományrendszerek
írásvédett
csatlakoztatása, amely felett aztán
kialakítanak a program számára
egy látszólag írható
réteget. Ilyenkor a program teljesen
úgy érzékeli, hogy képes a
rendszerben elérhetõ
állományokat módosítani,
azonban egyedül csak saját maga
látja ezeket, a rendszerben futó
többi program viszont nem
feltétlenül.Ezeket a járókákat
általában úgy szokták
felépíteni, hogy a
felhasználók (vagy a
támadók) számára teljesen
észrevétlenek legyenek.A &unix; két alapvetõ
járókát valósít meg. Az
egyik a futó programok, a másik pedig a
felhasználói azonosítók
szintjén mûködik.Futása közben minden &unix; program teljesen
elszigetelt minden más &unix; programtól,
így az egyik nem képes
módosítani a másik
memóriában tárolt adatait. A
&windows;-tól eltérõen, ahol
ugyebár az egyik program könnyedén el
tudja érni egy másik
memóriaterületét, ezért a program
nem képesek egymásban kárt
tenni.A &unix; alatt futó programok mindig egy adott
felhasználóhoz tartoznak. Ha ez nem a
root felhasználó, akkor
azzal lényegében egy tûzfalat hozunk
létre a különbözõ
felhasználók által birtokolt folyamatok
között. A felhasználók
azonosítói emellett segítenek a lemezen
tárolt adatokat is elszigetelni
egymástól.Mi az a biztonsági szint (securelevel)?A biztonsági szintek egy rendszermagon belül
megvalósított védelmi módszert
képviselnek. A pozitív
értékû biztonsági szintek
esetén a rendszermag korlátoz bizonyos
feladatokat, amelyeket ilyenkor még a
rendszeradminisztrátor (vagyis a
root felhasználó) sem
képes elvégezni. Az írás
pillanatában a biztonsági szintek, több
más dolog mellett, a következõk
szabályozására alkalmasak:a különbözõ
állományjelzõk, például
az schg (a system
immutable jelzés)
törlése;a rendszermag memóriájának
elérése a /dev/mem
és /dev/kmem
eszközökön keresztül;a rendszermag moduljainak
betöltése;a tûzfal szabályainak
módosítása.A jelenleg futó rendszer biztonsági
szintjét a következõ parancs
segítségével lehet
lekérdezni:&prompt.root; sysctl kern.securelevelA parancs eredménye az adott &man.sysctl.8;
változó (vagyis esetünkben a
kern.securelevel) és annak
értéke lesz, amely egy szám. Ez
utóbbi adja meg a biztonsági szint
aktuális értékét. Amennyiben ez
pozitív (vagyis nullánál nagyobb),
akkor érvényben vannak a biztonsági
szintekhez kapcsolódó bizonyos
korlátozások.Egy mûködõ rendszer biztonsági
szintjét nem lehet csökkenteni, hiszen ezzel
tulajdonképpen hatástalanná
tennénk. Ha olyan feladatot akarunk
végrehajtani, amely nem pozitív
biztonsági szintet igényel
(például az alaprendszer
frissítése vagy a dátum
átállítása), akkor ahhoz
elõször módosítanunk kell az
/etc/rc.conf állományt
(lásd kern_securelevel és
kern_securelevel_enable
változók), majd újraindítani a
rendszert.A biztonsági szintekkel és rájuk
vonatkozó információkkal kapcsolatban
olvassuk el az &man.init.8; man oldalt.A biztonsági szintek nem
feltétlenül jelentenek minden
problémára tökéletes
megoldást. Rentegeg ismert
hátulütõvel rendelkeznek, és
gyakran a biztonság hamis érzetét
keltik.Ezzel kapcsolatban az egyik legnagyobb gond, hogy
csak abban az esetben mûködik rendesen a
rendszer, ha a rendszerindítás
során a biztonsági szintek
beállításáig minden
állományt levédünk. Ha a
támadó képes lefuttatni a
saját programját még a
biztonsági szint beállítása
elõtt (amely viszont elég késõn
történik meg, hiszen a
rendszerindítás során számos
olyan dolog feladat van, amely nem végezhetõ
el magasabb biztonsági szinteken), akkor azzal az
egész védelmi módszer
hatástalanítható. Habár a
rendszerindítás folyamán
felhasznált állományok
biztonságba helyezése technikailag
egyáltalán nem lehetetlen,
nehezebbé válik tõle a rendszer
karbantartása, mivel ilyenkor az egész
rendszert át kell állítanunk
legalább egyfelhasználós
módba és úgy
módosítani a konfigurációs
állományokat.Ezt és az ehhez hasonló
problémák gyakran felmerülnek a
levelezési listákon,
különösen a &a.security;
archívumaiban. Ezen a
funkción keresztül nézhetünk
után a téma részletesebb
tárgyalásának.
Néhányan reménykednek, hogy a
biztonsági szinteket hamarosan leváltja
valami sokkal finomabb beállítási
lehetõségekkel rendelkezõ
megoldás, azonban a dolgok még
eléggé homályosak ebbõl a
szempontból.Figyelmeztettünk mindenkit!A BIND (named)
különféle nagyobb sorszámú
portokat használ. Miért?A BIND a kimenõ kérésekhez
véletlenszerûen kiválaszt egy nagyobb
sorszámú portot. A legújabb
változataiban már minden egyes
kéréshez külön
véletlenszerûen keres új UDP portot. Ez
bizonyos hálózati konfigurációk
esetén problémákhoz vezethet,
különösen olyankor, amikor a
beérkezõ UDP csomagokat egy tûzfal
megállítja. A tûzfalak által
blokkolt porttartományok használatát az
avoid-v4-udp-ports vagy az
avoid-v6-udp-ports
beállítással tilthatjuk le a program
számára.Ha ezt a portot (mint például az 53) az
/etc/namedb/named.conf
állományban a
query-source vagy a
query-source-v6
beállításokkal adjuk meg explicit
módon, akkor a program nem fogja
véletlenszerûen váltogatni a portokat.
Határozottan javasoljuk, hogy ezekkel az
opciókkal ne adjunk meg elõre
rögzített portokat.Mindenesetre örülünk, hogy ezt is valaki
megkérdezte! Hiába, nem árt néha
nézegetni a &man.sockstat.1; kimenetét
és észrevenni benne néhány
furcsaságot.A sendmail a
szabványos 25-ös port mellett az 587-es portot
használja! Miért?A sendmail újabb
verzióiban felfedezhetõ
levélküldési lehetõségek az
587-es portot használják. Jelenleg ezt
még nem sokan használják ki, de
növekszik a népszerûsége.Kié az a nullás felhasználói
azonosítójú toor
fiók? Betörtek a gépre?Ne aggódjunk! A toor egy
alternatív rendszergazdai
hozzáférés (a toor a
root visszafelé). Korábban
csak a &man.bash.1; parancsértelmezõ
telepítésekor jött létre, azonban
manapság már alapértelmezés
szerint létrejön. A nem szabványos
parancsértelmezõk számára
találták ki, így nem a
root alapértelmezett
parancsértelmezõjét kell
megváltoztatnunk. Ez különösen olyan
parancsértelmezõk esetén fontos, amelyek
nem részei az alaprendszernek (például
a portként vagy csomagként telepített
parancsértelmezõk esetén) és
ezért a /usr/local/bin
könyvtárba fognak kerülni. Ez a
könyvtár alapértelmezés szerint
azonban egy külön állományrendszeren
található. Ha a root
parancsértelmezõje viszont a /usr/local/bin
könyvtárban lenne, miközben a /usr (vagy bármelyik
más állományrendszer, amely az
imént említett könyvtárat
tartalmazza) nem csatlakoztatható valamilyen
oknál fogva, akkor a root nem
lenne képes bejelentkezni és kijavítani
a problémát. (Noha amikor
újraindítjuk a rendszerünket
egyfelhasználós módban, akkor a
rendszer rá fog kérdezni, hogy melyik
parancsértelmezõt akarjuk
használni.)Egyesek nem szabványos
parancsértelmezõn keresztül a
toor felhasználóval
végzik el a root mindennapi
teendõit, így a szabványos
parancsértelmezõt csak a vészhelyzetekre
tartogatják. Alapértelmezés szerint a
toor felhasználóval nem
tudunk bejelentkezni, mivel nincs jelszava, ezért ha
használni akarjuk, akkor elõször
jelentkezzünk be a root
felhasználóval, majd állítsunk
be neki egy jelszót.A suidperl parancs miért nem
mûködik rendesen?Biztonsági okokból a
suidperl parancs
alapértelmezés szerint nem kerül
telepítésre. Ha forrásból
frissítjük rendszerünket és azt
szeretnénk, hogy ennek során a
suidperl is leforduljon, akkor a
perl fordításának
megkezdése elõtt vegyük fel a
ENABLE_SUIDPERL=true
sort az /etc/make.conf
állományba.PPPNem mûködik a &man.ppp.8;. Mit lehet a
gond?Elsõként mindenképpen olvassuk el a
&man.ppp.8; man oldalt és a kézikönyv
PPP-vel
foglalkozó részét. A
következõ paranccsal engedélyezzük a
naplózást:set log Phase Chat Connect Carrier lcp ipcp ccp commandEzt a parancsot a &man.ppp.8; parancssorában vagy
az /etc/ppp/ppp.conf
konfigurációs állományban kell
megadnunk (leginkább a default
szakasz elejére érdemes betennünk).
Gondoskodjunk róla, hogy az
/etc/syslog.conf állomány
(lásd &man.syslog.conf.5;) tartalmazza az
alábbi sort, illetve az
/var/log/ppp.log állomány
létezzen:!ppp
*.* /var/log/ppp.logA napló segítségével
már több mindent ki tudunk deríteni a
&man.ppp.8; mûködésérõl. Ne
aggódjunk, ha nem értünk belõle
semmit. Kérjünk segítséget
másoktól, nekik minden bizonnyal
segíteni fog a probléma
felderítésében.A &man.ppp.8; miért bontja a vonalat, amikor
elindul?Ilyen általában azért
történik, mert nem tudta feloldani a
hálózati nevet. Ezt a legkönnyebben
úgy tudjuk orvosolni, ha az
/etc/host.conf állományba
elõre rakjuk a hosts sort,
így a névfeloldó elõször az
/etc/hosts állománnyal
fog próbálkozni. Ezután a
/etc/hosts állományba
vegyük fel a helyi gépet. Ha nincs helyi
hálózatunk, akkor így írjuk
át a localhost sort:127.0.0.1 ize.minta.com ize localhostMinden más esetben egyszerûen csak
vegyünk fel egy újabb bejegyzést a
gépünkhöz. Ennek pontosabb
részleteivel kapcsolatban nézzük meg a
megfelelõ man oldalakat.Ha mindent jól csináltunk, akkor a
ping -c1 `hostname` parancs hiba
nélkül tér vissza.A &man.ppp.8; miért nem tárcsáz
-auto módban?Elõször is ellenõrizzük, hogy
létezik az alapértelmezett útvonal. A
netstat -rn parancs (lásd
&man.netstat.1;) kiadása után
nagyjából a következõ két
bejegyzést kell látnunk:Destination Gateway Flags Refs Use Netif Expire
default 10.0.0.2 UGSc 0 0 tun0
10.0.0.2 10.0.0.1 UH 0 0 tun0Feltételezzük, hogy a
kézikönyvbõl, a man oldalról vagy
ppp.conf.sample
állományból másoltuk ki ezeket a
címeket. Ha nincs alapértelmezett
útvonalunk, akkor annak az lehet az oka, hogy a
ppp.conf állományba
elfelejtettük felvenni a HISADDR
kulcsszót.Az alapértelmezett útvonal
hiányának másik oka lehet még, ha
az /etc/rc.conf
állományban (lásd &man.rc.conf.5;)
beállítottunk egy alapértelmezett
átjárót, de elfelejtettük az
ppp.conf állományba
betenni a következõ sort:delete ALLEbben az esetben menjünk vissza a
kézikönyv A rendszer végsõ beállítása
címû részéhez.Mit jelent a No route to host
hibaüzenet?Általában azért jelentkezik, mert
az /etc/ppp/ppp.linkup
állományban nem adtuk meg az
alábbiakat:MYADDR:
delete ALL
add 0 0 HISADDRErre csak akkor van szükségünk, ha
dinamikus IP-címünk van, vagy nem ismerjük az
átjáró címét. Ha az
interaktív módot használjuk, akkor
ehhez a következõket kell begépelni
csomag módba lépés után (a
csomag módot a csupa nagybetûs
PPP jelzi a parancssorban):delete ALL
add 0 0 HISADDRA kézikönyv A PPP és a dinamikus IP-címek
címû részében olvashatunk
errõl bõvebben.Miért szakad meg a kapcsolat 3 perc
után?A PPP alrendszer alapértelmezett lejárati
ideje 3 perc. Ezt a beállítást a
következõ sor megadásával tudjuk
módosítani:set timeout NNNahol az NNN
másodpercekben megadja a kapcsolat
lezárása elõtti inaktivitás
maximális idejét. Ha az
NNN értéke nulla,
akkor a kapcsolat idõtúllépés
miatt soha nem fog magától megszakadni. Ezt a
parancsot a ppp.conf
állományba tudjuk felvenni, vagy
interaktív módban a parancssorban
gépelhetjük be. Emellett menet közben is
állítani tudjuk ezt az értéket,
ha a ppp szerverre a
&man.telnet.1; vagy a &man.pppctl.8;
segítségével rácsatlakozunk.
Errõl a &man.ppp.8; man oldal ad részletesebb
tájékoztatást.A kapcsolat miért szakad meg nagyobb
terhelést alatt?Ha beállítottuk a Link Quality Reporting
(LQR) használatát, akkor elõfordulhat,
hogy túlságosan sok csomag veszik el a
gépünk és a másik oldal
között. A &man.ppp.8; ezért a vonalat
rossznak érzékeli és bontja. A
&os; 2.2.5 változata elõtt az LQR
alapértelmezés szerint engedélyezett
volt. Az LQR így tiltható le:disable lqrA kapcsolat miért szakad meg
véletlenszerûen?Néha elõfordulhat, hogy a zajos telefonvonal
esetén vagy a
hívásvárakoztatás
használatakor a modem bontja a vonalat, mivel
(helytelenül) azt hiszi, hogy nincs kapcsolat.Manapság a legtöbb modemen
általában be lehet valahogy
állítani, hogy mennyire legyenek
elnézõek a kapcsolat ideiglenes
megszakadásával szemben.
Például egy &usrobotics; &sportster;
esetén ezt tizedmásodpercekben mérik az
S10 regiszter
segítségével. A modemünk ilyenkor
tehát úgy tehetõ sokkal
toleránsabbá, ha a következõ
hívási beállítást
adjuk:set dial "...... ATS10=10 OK ......"További részleteket a modem
kézikönyvébõl tudhatunk meg.A kapcsolat miért fullad le
véletlenszerûen?Sokan tapasztalják, hogy a kapcsolat minden
különösebb magyarázat nélkül
lefullad. Ilyenkor elsõként azt érdemes
tisztázni, hogy az összeköttetés
melyik oldalán történt a vonal
bontása.Ha belsõ modemet használunk, akkor
próbáljuk meg a &man.ping.8; paranccsal
ellenõrizni, hogy a modem TD
lámpája villog-e az adatok
küldésekor. Amennyiben igen (miközben az
RD lámpa viszont nem), akkor a
gond a vonal másik végén lesz. Ha
viszont a TD nem villog, akkor a
probléma a mi oldalunkon áll fenn. A
belsõ modemek esetében a
ppp.conf állományban a
set server parancsot is érdemes
megadnunk, így amikor a kapcsolat
leállását tapasztaljuk, a
&man.pppctl.8; segítségével rá
tudunk csatlakozni a &man.ppp.8; démonra. Ha a
hálózati kapcsolat ekkor hirtelen erõre
kapna (mivel rácsatlakoztunk
kívülrõl) vagy egyáltalán nem
tudunk csatlakozni (feltételezve, hogy a set
socket parancs sikeresen lefutott az
induláskor), akkor a probléma még
mindig nálunk lesz. Ha viszont sikerül
csatlakoznunk és a vonallal még mindig gondok
vannak, akkor próbáljuk a set log
local async parancs használatával
engedélyezni a helyi aszinkron
naplózást, majd egy másik
konzolból a &man.ping.8; parancs
segítségével kezdjük el
használni az összeköttetést. Az
aszinkron naplózás jelezni fogja, ha
sikerül adatokat átvinni és fogadni a
kapcsolaton keresztül. Ha ilyenkor nem látunk
visszafele érkezõ adatokat, akkor az arra utal,
hogy a gond a vonal távoli végén
van.Miután sikeresen kiderítettük, hogy
az adott probléma helyi vagy távoli, két
lehetõségünk van:Amennyiben távoli, olvassuk el a
válaszát.Amennyiben helyi, olvassuk el a válaszát.A vonal túlsó végérõl
nem érkezik válasz. Mi lehet tenni?Ezzel szemben nagyon keveset tudunk mi,
felhasználók tenni. A legtöbb
internetszolgáltató egyszerûen nem
hajlandó segítséget nyújtani
abban az esetben, ha nem valamelyik µsoft;
operációs rendszert használjuk. A
ppp.conf állományunkban a
enable lqr sor megadásával
engedélyezni tudjuk a &man.ppp.8;
számára, hogy észlelhesse a
távoli hibákat és bontsa a vonalat, de
ez a vizsgálat viszonylag idõigényes
és ennélfogva nem túlságosan
hasznos. A szolgáltatónknak pedig ne nagyon
emlegessük, hogy felhasználói PPP-t
futtatunk.Elõször próbáljunk meg letiltani
mindenféle tömörítést a
következõ sor megadásával:disable pred1 deflate deflate24 protocomp acfcomp shortseq vj
deny pred1 deflate deflate24 protocomp acfcomp shortseq vjKapcsolódjunk újra és
ellenõrizzük, hogy továbbra is
mûködõképes a kapcsolat. Ha ennek
hatására javul a helyzet vagy a
probléma teljesen megoldódik, akkor a
beállítások egyenkénti
próbálgatásával keressük
meg, hogy melyik okozta a gondot. Ez már
elegendõ lesz ahhoz, hogy komolyabban felvegyük a
kapcsolatot a szolgáltatónkkal (habár
ebbõl gyorsan ki fog derülni, hogy nem µsoft;
terméket használunk).Mielõtt szólnánk a
szolgáltatónknak, a gépünkön
engedélyezzük az aszinkron
naplózást és várjuk meg,
amíg a kapcsolat újra megszakad. Erre nem
árt felkészülnünk, mert viszonylag
sok tárhelyet igényel. Innen majd a
portról utoljára olvasott adat lesz a
lényeges. Ez általában szöveges
adat és akár a probléma konkrét
okára is utalhat (Memory
fault, Core
dumped?).Ha segítõkész
szolgáltatót választottuk, akkor a
naplózást akár az õ oldalunkon is
engedélyezhetjük, így amikor a vonal
megszakad, az õ szemszögükbõl is
képesek leszünk elemezni a
problémát. Ilyen esetben nyugodtan
küldjünk egy levelet &a.brian;
címére vagy kérjük meg a
szolgáltatónkat, hogy közvetlenül
vele tárgyaljon.A &man.ppp.8; teljesen megállt. Mi lehet
tenni?A legjobban úgy járunk, ha a &man.ppp.8;
programot nyomkövetési
információkkal fordítjuk újra,
majd a &man.gdb.1; segítségével
lekérünk egy hívási láncot
az éppen megakadt ppp
példánytól. A
ppp alkalmazást a
következõ parancsokkal tudjuk úgy
újrafordítani, hogy tartalmazza a
kívánt információkat:&prompt.root; gdb ppp `pgrep ppp`Ezt követõen a gdb
parancssorában a bt és
where parancsok
segítségével hozzá tudunk jutni
a hívási lánchoz. Mentsük el
valahova a gdb által
kinyert adatokat, majd a detach
paranccsal váljunk le a futó programról
és a quit
begépelésével lépjünk ki a
gdb programból.Végezetül az elmentett eredményeket
küldjük el &a.brian; címére.Miért nem történik semmi a
Login OK! üzenet után?A &os; 2.2.5 elõtti kiadásaiban a
&man.ppp.8; az összeköttetés
létrejötte után megvárta, hogy a
távoli pont kezdeményezze a
kapcsolatvezérlõ protokoll (Line Control
Protocol, LCP) használatát. Sok
szolgáltató azonban nem csinál ilyet,
ehelyett inkább a klienstõl várják
mindezt. Az LCP kezdeményezését
így kényszeríthetjük ki a
&man.ppp.8; használata során:set openmode activeÁltalában semmilyen gond nem
származik abból, ha a mind a két
oldal kezdeményez, így az
openmode alapértelmezés
szerint active
értékû. A következõ
szakaszban azonban bemutatjuk mikor gondot
okoz a használata.Folyamatosan Magic is same
hibák jelennek meg. Ez mire utal?Csatlakozás után idõnként
elõfordulhat, hogy magic is the
same hibaüzeneteket látunk a
naplóban. Ezek az üzenetek bizonyos esetekben
teljesen ártalmatlanok, máskor viszont
akár komolyabb problémákat is jelezhet.
A legtöbb PPP implementáció nem él
túl egy ilyen hibát, és még ha
látszólag létre is jön ilyenkor a
kapcsolat, folyamatosan konfigurációs
kérések és válaszok
jönnek-mennek a naplóban egészen addig,
amíg a &man.ppp.8; végül fel nem adja
és lezárja a kapcsolatot.Ez általában olyan szervereken jelenik
meg, ahol nem elég gyorsak a lemezek és minden
kapcsolathoz elindítanak egy &man.getty.8; és
a bejelentkezéskor vagy azt következõ
elindítják a &man.ppp.8; programot. Egyes
visszajelzések szerint ilyen egyébként
gyakran elõfordul a slirp használatakor. A
problémát egyébként a
&man.getty.8; és a &man.ppp.8; indítása
között eltelt idõ okozza, amikor a kliens
oldalán futó &man.ppp.8; elkezdi küldeni
a kapcsolatvezérlõ (Line Control Protocol, LCP)
csomagokat. Mivel ilyenkor az ECHO még mindig
aktív a szerver adott portján, a kliens
&man.ppp.8; a saját csomagjainak
tükrözõdését
fogja látni.Az LCP beállításának
része az összeköttetés két
oldalán egy-egy bûvös szám
(magic number)
megállapítása, amellyel ezután
észlelhetõek az ilyen
tükrözõdések. A
protokoll szerint amikor a két pont
megpróbálja ugyanazt a bûvös
számot használni, akkor visszautasítja
(NAK jelzést küld) és egy másikat
választ. Ha ilyenkor még a szerver
portján aktív az ECHO, akkor a kliens oldali
&man.ppp.8; azt tapasztalja, hogy elkezd LCP csomagokat
küldeni, majd mivel ugyanazt kapja vissza, erre egy NAK
jelzést válaszol. Ugyanígy
látja magát a NAK jelzést (aminek
hatására a &man.ppp.8; megváltoztatja a
bûvös számát) is. Ennek
eredményeképpen hirtelen nagy
mennyiségû
bûvösszám-váltás keletkezik,
ami pedig szépen felhalmozódik a szerver
terminálpufferében. Ahogy a &man.ppp.8;
végre elindul a szerveren, elönti ez a rengeteg
információ, aminek alapján
sikertelennek ítéli meg az LCP
beállítását és feladja a
további próbálkozást.
Eközben a kliens számára megszûnnek
a visszaverõdõ csomagok és csak annyit
lát, hogy a szerver bontja a kapcsolatot.Ezt úgy tudjuk elkerülni, ha a
ppp.conf állományban a
távoli pontra bízzuk az
beállítás
kezdeményezését:set openmode passiveEnnek hatására a &man.ppp.8;
megvárja, hogy a szerver kezdeményezze az LCP
beállítását. Egyes szerverek
azonban sosem teszik meg ezt. Ilyenkor valami ilyesmit
tudunk tenni:set openmode active 3Így a &man.ppp.8; 3 másodpercig
passzív marad, majd csak ezután kezd el LCP
kérésket küldeni. Ha a távoli
pont eközben küld valamilyen kérést,
az &man.ppp.8; azonnal válaszol rá és
nem várja végig a 3 másodperces
idõtartamot.Az LCP beállítása egészen a
kapcsolat befejezõdéséig
folytatódik. Mi lehet a probléma?A &man.ppp.8; programban jelenleg van egy olyan
hibásan implementált jellemzõ, ahol az LCP,
CCP és IPCP válaszokat nem
társítja az eredeti kérésekhez.
Ennek következményeképpen, ha az egyik
PPP implementáció 6 másodperccel
lassabb a másik oldalnál, akkor az még
két további LCP konfigurációs
kérést is küld, ami viszont
végzetesnek bizonyul.Vegyünk például két
implementációt, az A és
a B pontokat. Az A
már közvetlenül a csatlakozás
után LCP kéréseket kezd el
küldeni, miközben a B csak
7 másodperc múlva tud elindulni. Mire
végre a B pont is elindul, addigra
az A már kiküldött 3 LCP
kérést. Most feltételezzük, hogy
nincs ECHO, máskülönben az elõzõ
szakaszban leírt, bûvös számokkal
kapcsolatos problémába
ütköznénk. A B ekkor
tehát küld egy kérést, majd
nyugtázza az A ponttól kapott
korábbi kérést. Ennek
hatására az A pont
OPENED állapotba megy át,
újra küld és nyugtázza az
elõzõ kérést B
felé. Eközben a B
további két nyugtázást küld
az A pontról kapott további
két kérésre, a B
indulása elõttrõl. A B
ekkor megkapja az A elsõ
nyugtáját és átvált
OPENED állapotba. Az
A ekkor megkapja a második
nyugtát a B ponttól és
visszavált REQ-SENT
állapotba, majd az RFC szerint elküld
(elõre) egy újabb kérést. Ekkor
megkapja a harmadik nyugtát és
OPENED állapotba vált.
Eközben a B megkapja elõre
küldött kérést a A
ponttól, amelynek hatására
ACK-SENT állapotba vált
vissza, és az RFC szerint ismét küld egy
(második) kérést és egy
nyugtázást. Az A erre
megkapja a kérést, visszavált
REQ-SENT állapotban és
küld egy újabb kérést. Ekkor
közvetlenül megkapja a
rákövetkezõ nyugtázást
és átvált OPENED
állapotba.Ez egészen addig folytatódik, amíg
az egyik oldal rá nem eszmél, hogy ennek nincs
túlságosan sok értelme és
feladja a próbálkozást.Ez legkönnyebben úgy kerülhetõ el,
ha ilyenkor az egyik oldalt passive
típusúra állítjuk, vagyis az
egyik oldalon várunk egy keveset a
beállítás
kezdeményezésére. Ezt a
következõ paranccsal lehet megoldani:set openmode passiveÓvatosan bánjunk ezzel a
paraméterrel! A beállítás
kezdeményezésének
várakoztatási idejét a
következõ paraméterrel tudjuk
megadni:set stopped NHasználhatjuk viszont ezt a parancsot is (ahol
N adja meg, hogy mennyi
másodperc teljen el a beállítás
megkezdése elõtt):set openmode active NAz ezzel kapcsolatos további részleteket a
man oldalon olvashatjuk.Miért akad meg a &man.ppp.8;, ha egy
külsõ parancsot adunk ki alatta?A shell vagy !
parancsok végrehajtásakor a &man.ppp.8;
elindít egy parancsértelmezõt (illetve ha
paramétereket is adtunk meg, akkor a &man.ppp.8;
átadja azokat is), majd megvárja annak
befejezõdését. Ha a parancs
futtatása közben éppen egy PPP
kapcsolatot akartunk használni, akkor erre az
idõre az elõbbiek miatt látszólag
meg fog állni. Ez tehát azért
történik, mert a &man.ppp.8; megvárja a
parancs lefutását.Ha nem akarjuk megvárni a parancs
befejezõdését, akkor inkább
használjuk a !bg parancsot. Ennek
hatására az adott parancs a
háttérben fog lefutni és a &man.ppp.8;
képes lesz folyamatosan szemmel tartani az
összeköttetést.A &man.ppp.8; null-modem kábel
használatakor miért nem lép ki
soha?A &man.ppp.8; ilyen esetekben nem képes
magától megállapítani, hogy mikor
bontották a vonalat. Ennek oka a tûk null-modem
kábelben kiosztott szerepében keresendõ.
Amikor ilyen típusú kapcsolattal dolgozunk, a
következõ sor megadásával ne
felejtsük el engedélyezni az LQR
használatát:enable lqrHa a távoli pont LQR csomagokat küld, akkor
a &man.ppp.8; alapértelmezés szerint fogadja
azokat.A &man.ppp.8; miért tárcsáz
látszólag minden különösebb ok
nélkül
módban?Amennyiben a &man.ppp.8; szándékainkkal
szemben váratlanul kezdene el tárcsázni,
akkor keressük meg kiváltó okát
és használjunk hívási
szûrést (Dial filter, dfilter) ennek
megelõzésére.A tárcsázás okát a
következõ sor használatával tudjuk
kideríteni:set log +tcp/ipEnnek hatására a kapcsolaton
keresztüláramló összes forgalmat
naplózni fogjuk. Így a legközelebb,
amikor a vonal hirtelen aktív lesz, a
hozzátartozó idõbélyegek
alapján könnyen elõ tudjuk keresni, hogy
pontosan miért is történt.Az automatikus tárcsázást bizonyos
esetekben le tudjuk tiltani. Ez általában egy
olyan probléma, amely a névfeloldások
miatt keletkezik. Úgy tudjuk megakadályozni,
hogy a névfeloldások
felépítsék a kapcsolatot (ami viszont
nem gátolja abban a &man.ppp.8;
programot, hogy egy már meglevõ kapcsolaton
keresztül küldjön ilyen csomagokat), ha az
alábbi beállításokat adjuk
meg:set dfilter 1 deny udp src eq 53
set dfilter 2 deny udp dst eq 53
set dfilter 3 permit 0/0 0/0Ezek az értékek nem minden esetben
megfelelõek számunkra, hiszen ezzel együtt az
igény szerinti tárcsázás
kényelmét is szûkítjük, mivel
a legtöbb program közvetlenül
névfeloldással kezd, mielõtt komolyabb
hálózati forgalmat bonyolítana
le.A névfeloldás esetében
igyekezzünk kideríteni, hogy pontosan melyik
program is próbál hálózati
neveket feloldatni. Az esetek
többségében
valószínûleg a &man.sendmail.8; lesz a
bûnös. Amennyiben ez a helyzet, akkor az
sendmail démonnak a
saját konfigurációs
állományában kell
beállítanunk, hogy ne oldasson fel
hálózati neveket. Az érintett
konfigurációs állomány
módosításának pontos
részleteirõl a kézikönyv Levelezés
betárcsázós kapcsolattal
címû szakszában olvashatunk
bõvebben. Továbbá az
.mc állományunkba a
következõ sort is érdemes
felvennünk:define(`confDELIVERY_MODE', `d')dnlEzzel a sendmail
beindításáig mindent egy sorban fog
eltárolni (általában a
sendmail démont a
paraméterekkel
szokták meghívni, ami arra utasítja,
hogy 30 percenként dolgozza fel a sorát)
vagy amíg a sendmail
parancs le nem fut
(például a ppp.linkup
állományból).Mit jelentenek a CCP hibák?A naplóban folyamatosan a következõ
üzeneteket lehet látni:CCP: CcpSendConfigReq
CCP: Received Terminate Ack (1) state = Req-Sent (6)Ilyenek azért keletkeznek, mert a &man.ppp.8; a
Predictor1
tömörítési eljárást
próbálja meg beállítani, azonban
a távoli pont egyáltalán semmilyen
tömörítést nem akar
használni. Az ilyen üzenetek többnyire
ártalmatlanok, de ha el akarjuk tüntetni ezeket,
akkor próbáljuk meg a következõ
módon kikapcsolni a Predictor1
tömörítés
használatát:disable pred1A &man.ppp.8; miért nem naplózza a
kapcsolat sebességét?A modemmel végzett teljes
beszélgetés
szövegének
rögzítéséhez a
következõket kell engedélyezni:set log +connectEnnek eredményeképpen a &man.ppp.8;
egészen az utolsóként lekért
karakterláncig naplóz mindent.Ha PAP vagy CHAP hitelesítést
használunk (ezért a CONNECT
parancs kiadása után már nincs semmi
mondanivalónk a
hívószkriptben, tehát nincs
set login szkript), és
szeretnénk látni a csatlakozási
sebességet, ne felejtsük el utasítani a
&man.ppp.8; programot, hogy a teljes
CONNECT sort kérje le, valahogy
így:set dial "ABORT BUSY ABORT NO\\sCARRIER TIMEOUT 4 \
\"\" ATZ OK-ATZ-OK ATDT\\T TIMEOUT 60 CONNECT \\c \\n"Itt most megkapjuk a CONNECT sort,
ezután nem küldünk semmit, majd
várunk egy soremelést, aminek
hatására a &man.ppp.8; arra
kényszerül, hogy a teljes
CONNECT választ beolvassa.A &man.ppp.8; miért hagyja figyelmen
kívül a \ karaktereket a
szkriptekben?A ppp a
konfigurációs állományokból
minden sort külön beolvas, ezért a
set phone "123 456 789" és
hozzá hasonló karakterláncok
esetén képes felismerni, hogy a megadott
számok valójában
egyetlen paramétert
formáznak. A "
megadásához a visszaper karaktert
(\) kell használnunk.Amikor tárcsázásért
felelõs értelmezõ beolvassa az egyes
paramétereket, újraértelmezi ezeket
olyan speciális helyettesítési
szekvenciák után kutatva, mint
például a \P vagy
\T (részletesebben lásd a
man oldalon). A kettõs elemzés miatt
nekünk is a megfelelõ számban kell
megadnunk ezeket a helyettesítendõ
karaktereket.Ha tehát egy \ karaktert
szeretnénk átküldeni a modemünknek,
akkor nagyjából valami ilyesmit kellene
írnunk:set dial "\"\" ATZ OK-ATZ-OK AT\\\\X OK"Ennek az eredménye a következõ
lesz:ATZ
OK
AT\X
OKVagy:set phone 1234567
set dial "\"\" ATZ OK ATDT\\T"Ez pedig a következõ szekvenciát
adja:ATZ
OK
ATDT1234567A &man.ppp.8; miért küld
Segmentation Fault hibát,
miközben nem is keletkezik
ppp.core állomány?A ppp (vagy más
hasonló program) elméletileg soha nem hoz
létre .core
állományt. Mivel a &man.ppp.8;
tulajdonképpen a nullás
felhasználói azonosítóval fut,
az operációs rendszer soha nem fogja a
&man.ppp.8; memórialenyomatát
leállítása elõtt a lemezre
menteni. Ha viszont &man.ppp.8; mûködése
valóban leáll egy szegmentációs
hiba vagy bármilyen más
.core állományt
eredményezõ jelzés miatt,
és valóban a legfrissebb
változatát használjuk (lásd a
fejezet elejét), akkor a következõt
tehetjük:&prompt.root; cd/usr/src/usr.sbin/ppp
&prompt.root; echoSTRIP= >> /etc/make.conf
&prompt.root; echoCFLAGS+= >> /etc/make.conf
&prompt.root; makeinstallcleanA fenti parancsokkal telepíteni tudjuk a
&man.ppp.8; egy nyomonkövethetõ
változatát. A &man.ppp.8;
futtatásához root
felhasználónak kell lennünk, mivel minden
korábbi engedélyét
felülírtuk az elõbbiek során. A
&man.ppp.8; indításakor ne felejtsük el
megjegyezni pontosan az aktuális
könyvtárat sem.Innentõl kezdve, amikor a &man.ppp.8; kap egy
szegmentációs hibára vonatkozó
jelzést, létre fog hozni egy
ppp.core nevû
állományt. Ennek birtokában a
következõt kell csinálnunk:&prompt.user; su
&prompt.root; gdb /usr/sbin/ppp ppp.core(gdb)bt
.....
(gdb)f 0
....
(gdb)i args
....
(gdb)l
.....Az így beszerzett információkat
mellékelve nagyobb
valószínûséggel kaphatunk
választ az ezzel kapcsolatos
kérdésünkre.Ha járatosak vagyunk a &man.gdb.1;
használatában, akkor a
.core állományban
további részletek és
információk utáni is kutathatunk,
például mi okozta a hibát, milyen
változóknak ekkor milyen értékei
voltak stb.Miért nem csatlakozik soha az a program, amely a
hívást kezdeményezte
módban?Ez korábban egy ismert probléma volt a
&man.ppp.8; használatával kapcsolatban, amikor
dinamikus helyi IP-címet akart
beállítani
módban. Ez a hiba az újabb
változatokban már nem nincs meg (a man oldalon
keressünk rá az iface
részre).A gondot az okozta, hogy amikor a
tárcsázást elindító
program meghívja a &man.connect.2;
rendszerhívást, akkor a &man.tun.4;
interfészhez tartozó IP-cím a
végpontot képviselõ sockethez
társul. A rendszermag létrehozza az elsõ
kimenõ csomagot és kiírja a &man.tun.4;
eszközre. A &man.ppp.8; ekkor beolvassa a csomagot
és felépíti a kapcsolatot. Ha a
&man.ppp.8; dinamikus IP-cím
kiosztásának eredményeképpen
ilyenkor az interfész címe megváltozik,
akkor azzal egyidõben az eredeti socket végpont
érvénytelenné válik. Így
a távoli végpont felé küldött
további csomagok általában
eldobódnak. Ha valahogy mégis
eljutnának a céljukhoz, a válasz
már semmiképpen sem érkezhet meg, mivel
a küldéshez használt IP-címnek
már nem az adott gép a tulajdonosa.Számos elméleti
megközelítés létezik az
imént felvázolt probléma
megoldására. A legszebb az lenne, ha a
távoli pont lehetõség szerint a
korábban használt IP-címet
osztaná ki újra. A &man.ppp.8; jelenlegi
változata pontosan ugyanezt teszi, viszont a
legtöbbi implementáció már
nem.Részünkrõl az bizonyulna a
legegyszerûbb megoldásnak, ha a &man.tun.4;
intefész IP-címe egyáltalán nem
változhatna meg, hanem helyette menet közben az
összes kimenõ csomag, köztük
természetesen a forrás IP-címe az
interfész IP-címérõl az
idõközben beállított IP-címre
változna. Ez lényegében az, amit a
&man.ppp.8; legújabb változataiban
felbukkanó iface-alias
opció is csinál (a &man.libalias.3; és
a &man.ppp.8; kapcsolója
segítségével): karbantartja az
összes korábban használt interfész
címét és átfordítja
ezeket az utoljára beállított
címre.A másik (és
valószínûleg a sokkal
megbízhatóbb) lehetõség egy olyan
rendszerhívás implementálása
lenne, amely képes az összes használatban
levõ socketet egyik IP-címrõl a
másik IP-címre
átállítani. A &man.ppp.8; ekkor fel
tudná használni ezt arra, hogy
módosítsa az összes addig futó
program socketjét az új IP-cím
beállításakor. Ugyanezzel a
rendszerhívással a DHCP
kliensek is képesek lennének
átállítani a socketjeiket.Lehetõségünk van még
IP-cím nélkül is létrehozni
interfészeket. A kimenõ csomagok ekkor a
255.255.255.255
IP-címet használnák egészen
addig, amíg az elsõ
SIOCAIFADDR &man.ioctl.2;
rendszerhívás le nem zajlik. A &man.ppp.8;
feladata ilyenkor a forrás IP-cím
megváltoztatása, de ha ez 255.255.255.255, akkor egyedül
csak az IP-címnek és az
ellenõrzõösszegnek kell megváltoznia.
Ez viszont már valamilyen mértékben
trükközést a rendszermagon belül,
mivel így könnyen tudunk csomagokat küldeni
egy rosszul beállított interfészre is,
feltételezve, hogy valamilyen módon
képesek vagyunk ilyeneket visszamenõleg
helyreállítani.A legtöbb játék miért nem
mûködik a kapcsoló
megadásával?A játékok és a hozzájuk
hasonló alkalmazások általában
azért nem mûködnek, amikor a
&man.libalias.3; könyvtárat használjuk,
mert a távoli gép megpróbál
kapcsolódni a belsõ hálózatunkon
levõ géphez és kéretlen UDP
csomagokat kezd el küldeni neki. A
címfordítást végzõ
programnak fogalma sincs róla, hogy ezeket a
csomagokat egy belsõ gépnek kell
továbbküldenie.Akkor lehetünk biztosak ebben, ha egyedül csak
azt a szoftvert indítjuk el, amellyel gondjaink
akadtak, majd a vagy az átjáró
&man.tun.4; interfészét kezdjük el a
&man.tcpdump.1; segítségével, vagy
pedig engedélyezzük az
átjárón a &man.ppp.8; TCP/IP
naplózó funkcióját (set
log +tcp/ip).Ahogy elindítjuk a gondokat okozó
programot, látnunk kell a csomagjait, ahogy
megpróbálnak keresztüljutni az
átjárón. Az erre érkezõ
válaszolok eldobódnak (ez jelenti a
problémát). Jegyezzük fel a csomagokhoz
társuló portszámokat és
állítsuk el a programot. Csináljuk meg
néhányszor ezt a vizsgálatot,
így ellenõrizni tudjuk, hogy mindig ugyanazokat
a portokat használja-e. Amennyiben úgy
tapasztaljuk, hogy igen, akkor az
/etc/ppp/ppp.conf
állományba a következõ sort kell
betenni a megfelelõ helyre a mûködés
helyreállításához:nat port protokollbelsõ-gép:portportahol a protokoll lehet
tcp vagy udp, a
belsõ-gép annak a
gépnek a címe, ahova tovább akarjuk
küldeni a csomagokat, valamint a
port a csomagok
célportját adja meg.A fenti parancs megváltoztatása
nélkül nem tudjuk ugyanezt a szoftvert más
gépeken is használni, és itt azzal most
nem is foglalkozunk, hogy miként lehet két
belsõ géprõl használni ugyanazt a
programot. Mindenesetre annyi biztos, hogy a
külvilág felé a belsõ
hálózatunk csupán egyetlen
gépnek fog látszani.Ha azt látjuk, hogy az alkalmazás nem
mindig ugyanazt a portot használja, akkor három
választási lehetõségünk
van:Készítsük el a
támogatását a &man.libalias.3;
függvénykönyvtárhoz. A
különbözõ
szélsõséges esetekre a
/usr/src/sys/netinet/libalias/alias_*.c
állományokban találhatunk
példákat (az
alias_ftp.c tökéletes
kiindulási alap). Ez általában
annyit jelent, hogy beolvasunk bizonyos ismert
kimenõ csomagokat, beazonosítjuk benne azt
az utasítást, amelynek
hatására a külsõ gép
csatlakozni próbál a belsõ
géphez egy adott (véletlenszerûen
választott) porton, majd beállítunk
hozzá egy útvonalat,
így a rákövetkezõ csomagok
már tudni fogják, hogy merre
menjenek.Ez ugyan a legnehezebb megoldás, de egyben ez
is a legjobb, ráadásul így a szoftver
több gépen is
mûködtethetõ.Proxy használata. Elõfordulhat, hogy az
alkalmazás támogatja a
socks5 protokollt vagy (mint ahogy a
cvsup is csinálja) rendelkezik
passzív móddal, és
így lehetõleg igyekszik elkerülni azt,
hogy a távoli géprõl kapcsolatot
próbáljanak meg indítani a helyi
gépre.A nat addr
használatával irányítsunk
át mindent a belsõ gépre. Ez viszont
egy nagyon durva megközelítés.Valaki összeírta már a hasznosabb
portok sorszámait?Egyelõre még nem, de
szándékunkban áll
összeállítani egy ilyen listát
(már amennyiben igény lesz rá). Minden
itt szereplõ példában az
belsõ helyett mindig annak a
gépnek a belsõ IP-címét
írjuk, amelyrõl játszani akarunk.Asheron's Callnat port udp
belsõ :65000
65000Manuálisan változtassuk meg a
játékon belül a portszámot
65000-re. Ha a belsõ
hálózatunkról több
gépen is szeretnénk játszni, akkor
mindegyiknek adjuk meg egy egyedi portot (vagyis
65001, 65002
stb.), majd vegyünk fel mindegyikhez egy-egy
nat port sort.Half Lifenat port udp
belsõ:27005
27015PCAnywhere 8.0nat port udp
belsõ:5632
5632nat port tcp
belsõ:5631
5631Quakenat port udp
belsõ:6112
6112Quake 2nat port udp
belsõ:27901
27910nat port udp
belsõ:60021
60021nat port udp
belsõ:60040
60040Red Alertnat port udp
belsõ:8675
8675nat port udp
belsõ:5009
5009Mik azok az FCS hibák?Az FCS jelentése Frame
Check Sequence, vagyis
az Adatkeret ellenõrzésének
sorozata. Mindegyik PPP csomaghoz tartozik egy
ellenõrzõösszeg, amely arról
gondoskodik, hogy ugyanaz az adat érkezzen meg, mint
amit elküldtek. Amennyiben egy bejövõ csomag
FCS értéke érvénytelennek
minõsül, a csomag eldobódik és a
HDLC FCS számláló
értékkel eggyel növekszik. A HDLC
hibaszámlálói a show
hdlc parancs segítségével
tekinthetõek meg.Ha rosszul mûködik az
összeköttetés (vagy a soros vonali
meghajtónk folyamatosan eldobja a csomagokat), akkor
láthatunk helyenként FCS hibákat.
Többnyire nem érdemes az ilyenek miatt
aggódni, habár ez jelentõs
mértékben lassítja a
tömörítést végzõ
protokollok munkáját. Ha külsõ
modemünk van, akkor ne felejtsük el a
megfelelõ módon leárnyékolni,
mivel ebbõl is származhat a
probléma.Ha a vonal a kapcsolódást
követõen szinte azonnal lemerevedik és
hirtelen nagy mennyiségû FCS hiba jelentkezik,
akkor az arra is utalhat, hogy az
összeköttetés nem tisztán
8 bites. Gondoskodjunk róla, hogy a modem ne a
szoftveres forgalomirányítást
(XON/XOFF) használja. Ha viszont az adatok
közvetítéséhez mégis
szoftveres forgalomirányítást
kell használnunk, akkor a
set accmap 0x000a0000 parancs
kiadásával jelezzük a &man.ppp.8;
felé, hogy a ^Q és
^S karaktereket
helyettesítse.Nagy mennyiségû FCS hibát olyan
esetekben is tapasztalhatunk, amikor a távoli pont
abbahagyta a PPP üzenetek
küldését. Ilyenkor javasolt
engedélyezni az aszinkron naplózás
használatát, aminek
segítségével gyorsan meg tudjuk
állapítani, hogy a beérkezõ adatok
bejelentkezõ vagy shell üzeneteket. Ha a
másik oldalon egy shell parancssorát kapjuk
meg, akkor a &man.ppp.8; a close lcp
megadásával a vonal eldobása
nélkül leállítható (az
utána következõ term
paranccsal pedig a távoli gépen futó
shellre tudunk csatlakozni).Ha a naplókban látszólag semmi sem
indokolja az összeköttetés
leállását, próbáljunk meg
erre rákérdezni a távoli pont
(talán a szolgáltató?)
karbantartójánál.A &macos; és &windows; 98 alól
indított kapcsolatok miért állnak le, ha
PPPoE fut az átjárón?A probléma megoldását Michael
Wozniak (mwozniak@netcom.ca) adta meg, valamint
Dan Flemming (danflemming@mac.com) alkalmazta
ugyanezt Macre:Ennek oka az ún.
útválasztási fekete lyuk.
A &macos; és a &windows; 98 (de
valószínûleg az összes többi
µsoft; operációs rendszer) olyan nagy
méretû TCP csomagokat küld, amelyek
már nem férnek bele egy PPPoE keretbe (amely
mérete Ethernet estén 1500 byte
alapértelmezés szerint)
és beállítja
hozzá a darabolás letiltását
jelzõ (do not fragment) bitet (TCP
esetén ez alapértelmezett), és a Telco
útválasztó pedig nem küldi el a
must fragment (darabolni kell)
ICMP csomagot a letölteni kívánt oldal
szolgáltatója felé. (Másik
lehetõség, hogy az
útválasztó ugyan küld egy ilyen
ICMP csomagot, de ezt a
tartalomszolgáltatónál
található tûzfal eldobja.) Amikor
válaszul a szolgáltató olyan kereteket
kezd el küldeni, amelyek nem illeszkednek a PPPoE
keresztmetszetébe, a Telco
útválasztó egyszerûen eldobja
ezeket és a lap nem pedig nem lesz
elérhetõ (egyes képek és oldalak
esetén elõfordul). Úgy tûnik, ez az
alapbeállítás a legtöbb Telco
PPPoE konfiguráció esetében.Ezt a hibát úgy javíthatjuk, ha a
&windows; 95/98 rendszerekben megtalálható
regedit segítségével
felvesszük a következõ
regisztrációs bejegyzést:HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Class\NetTrans\0000\MaxMTUA karakterlánc értéke legyen
1436, mivel bizonyos ADSL
útválasztók
állítólag nem képesek
ennél nagyobb méretû csomagokat kezelni.
&windows; 2000 esetén ezt a
beállítást a
Tcpip\Parameters\Interfaces\a
hálózati kártya
azonosítója\MTU helyen kell keresni
és típusa duplaszó (DWORD).A &windows; MTU beállításaival
kapcsolatban olvassuk el a Microsoft Knowledge Base
címén található dokumentumokat:
Q158474
- Windows TCPIP Registry Entries és Q120642
- TCPIP & NBT Configuration Parameters for &windowsnt;
.&windows; 2000 alatt a regisztrációs
adatbázisban érdemes még a
Tcpip\Parameters\Interfaces\a
hálózati kártya
azonosítója\EnablePMTUBHDetect
duplaszó értékét
1-re állítani, ahogy arra
az imént említett 120642-es µsoft;
dokumentum is hivatkozik.Sajnos a &macos; nem nyújt semmilyen
beállítási lehetõséget a
TCP/IP beállítások
megváltoztatására. Léteznek
viszont kereskedelmi termékek, amelyek
lehetõvé teszi a felhasználók
számára, hogy igényeik szerint
módosítsák rendszerük TCP/IP
beállításait. A hálózati
címfordítást használók
keressék meg az MTU
beállításaikat és adják
meg az 1450 értéket az
eredeti 1500 helyett.A &man.ppp.8; újabb (2.3 vagy afeletti)
változatai már tartalmaznak egy
enable tcpmssfixup parancsot, amellyel az
MSS értéke tetszõlegesen
átállítható. Ez
alapértelmezés szerint engedélyezett.
Ha valamiért mégis a &man.ppp.8; egy
korábbi változatával kellene
dolgoznunk, akkor érdemes megnéznünk
net/tcpmssd
portot.Ezek közül egyik sem használt —
segítség! Mit lehetne még
tenni?Ha eddig minden más csõdött mondott,
akkor próbáljuk meg elküldeni az
összes beszerezhetõ információt,
beleértve a konfigurációs
állományokat, hogyan indítjuk el a
&man.ppp.8; programot, a naplók fontosabb
részeit és a netstat -rn
parancs kimenetét (a csatlakozás elõtt
és után) a &a.questions; címére
vagy a comp.unix.bsd.freebsd.misc
hírcsoportba, és valaki talán majd
megmutatja a helyes irányt.Soros vonali kommunikációEbben a szakaszban a &os; alatti soros vonali
kommunikációval kapcsolatos kérdéseket
tárgyaljuk. A PPP és SLIP
használatáról a Hálózatok
címû részben esik szó.Honnan deríthetõ ki, hogy a &os; felismerte
a soros portokat a gépben?Ahogy a &os; rendszermagja az elindulása
után azokat a soros portokat fogja keresni, amelyeket a
konfigurációs állományban
beállítottunk. Figyeljük a rendszer
indulása közben megjelenõ üzeneteket
vagy adjuk ki a következõ parancsot a rendszer
indulásának befejeztével:&prompt.user; dmesg | grep -E "^sio[0-9]"Íme egy példa az iménti parancs
kimenetére:sio0: <16550A-compatible COM port> port 0x3f8-0x3ff irq 4 flags 0x10 on acpi0
sio0: type 16550A
sio1: <16550A-compatible COM port> port 0x2f8-0x2ff irq 3 on acpi0
sio1: type 16550AEzen két soros portot láthatunk. Az
elsõ a negyedik megszakítást és a
0x3f8 címet használja
és egy 16550A típusú UART chip. A
második ugyanolyan chip, de a harmadik
megszakítást és a
0x2f8 címet használja. A
belsõ modemeket a rendszer úgy kezeli, mintha
soros portok lennének, azzal a kivétellel,
hogy a modem mindig kapcsolódik az
adott porthoz.A GENERIC rendszermag
alapértelmezés szerint két soros portot
támogat, a példában szereplõ
megszakítási- és
memóriaértékek
felhasználásával. Ha ezek a
beállítások nem felelnek meg a
rendszerünk számára, esetleg modemet
raktunk a gépünkbe vagy a rendszermagban
több soros portot is támogatni
szeretnénk, akkor nincs más teendõnk,
mint ennek megfelelõen megváltoztatni a
rendszermag paramétereit. A rendszermag fordításáról szóló
rész tárgyalja ennek részleteit.Honnan deríthetõ ki, hogy a &os; felismerte
a modemkártyát a gépben?Olvassuk el az elõzõ kérdésre
adott választ.Hogyan lehet a soros portokat elérni &os;
alatt?A harmadik soros port, a sio2
(lásd &man.sio.4;, DOS alatt
COM3) a
/dev/cuad2 eszközön
keresztül érhetõ el
tárcsázó eszközként,
és a /dev/ttyd2
eszközön keresztül behívó
eszközként. Mi a különbség a
két eszközosztály
között?A
ttydX
eszközöket behívásra
használjuk. Amikor tehát a
/dev/ttydX
eszközt blokkoló módban nyitjuk meg,
akkor a hívó program egészen addig
várni fog, amíg a megfelelõ
cuadX
eszköz inaktívvá nem válik, majd
kivárja, hogy megérkezzen a
hívás fogadását
tolmácsoló jelzés. Amikor megnyitjuk a
cuadX
eszközt, gondoskodik róla, hogy a soros portot
ekkor ne használja a
ttydX
eszköz. Ha a port szabaddá válik,
egyszerûen ellopja a
ttydX
eszköztõl. Sõt, a
cuadX
eszközt egyáltalán nem érdekli a
hívás fogadása jelzés. Ezzel a
megoldással és egy automata modem
segítségével a távoli
felhasználók bármikor be tudnak
jelentkezni a rendszerünkbe, hogy közben
ugyanezzel a modemmel továbbra is tudunk
tárcsázni, mivel a rendszer elintézi a
többit.Hogyan lehet engedélyezi a többportos soros
vonali kártyák
támogatását?Ismét megemlítjük, hogy a rendszermag
beállításával foglalkozó
részben olvashatunk bõvebben a rendszermag
paraméterezésének
mikéntjérõl. A többportos soros
vonali kártyák esetén a
kártyán található mindegyik
soros porthoz vegyünk fel egy-egy &man.sio.4;
bejegyzést a &man.device.hints.5;
állományába. Az IRQ és vektor
értékeket azonban csak az egyiknél
adjuk meg, mivel a kártyán
található összes port egyetlen
megszakításon fog osztozni. A
következetesség kedvéért az
utolsó porthoz adjuk meg a
megszakítást. Ne felejtsük el még
megadni a rendszermag konfigurációs
állományában az alábbi
opciót sem:options COM_MULTIPORTAz alábbi /boot/device.hints
egy AST típusú négyportos soros vonali
kártyát láthatunk a tizenkettedik
megszakításon:hint.sio.4.at="isa"
hint.sio.4.port="0x2a0"
hint.sio.4.flags="0x701"
hint.sio.5.at="isa"
hint.sio.5.port="0x2a8"
hint.sio.5.flags="0x701"
hint.sio.6.at="isa"
hint.sio.6.port="0x2b0"
hint.sio.6.flags="0x701"
hint.sio.7.at="isa"
hint.sio.7.port="0x2b8"
hint.sio.7.flags="0x701"
hint.sio.7.irq="12"A flags paraméterrel megadott
értékek azt jelzik, hogy a fõport
7 alszámmal rendelkezik
(0x700), valamint az összes port
ugyanazon a megszakításon osztozik
(0x001).A &os; képes több többportos soros
vonali kártyát ugyanazon a
megszakításon keresztül
használni?Sajnos még nem. Minden kártyához
másik megszakítást kell megadni.Hogyan lehet beállítani a portok
alapértelmezett paramétereit?Ezzel kapcsolatban olvassuk el a &os;
kézikönyv soros kommunikációt
tárgyaló részét.Hogyan lehet a modemen betárcsázást
beállítani?Erre vonatkozóan olvassuk el a &os;
kézikönyv betárcsázós szolgáltatásokkal
kapcsolatos részét.Hogyan lehet buta terminálokat
&os;-re csatlakoztatni?Az ezzel kapcsolatos információkat a &os;
kézikönyv terminálokról
szóló részében
találhatjuk meg.Miért nem indul el a tip vagy
cu parancs?Elõfordulhat, hogy rendszerünkön a
&man.tip.1; és &man.cu.1; programok csak az
uucp felhasználón
és a dialer csoporton
keresztül tudnak hozzáférni a
mûködésükhöz
szükséges /var/spool/lock
könyvtárhoz. A dialer
csoport segítségével lehet
szabályozni, hogy ki férhessen hozzá a
modemekhez vagy a távoli rendszerekhez. Ilyenkor
egyszerûen csak vegyük fel magunkat a
dialer csoportba.A következõ parancs kiadásával
viszont ettõl függetlenül is
engedélyezhetjük a rendszerünkön
belül, hogy bárki használhassa a
&man.tip.1; vagy &man.cu.1; parancsokat:&prompt.root; chmod 4511 /usr/bin/cu
&prompt.root; chmod 4511 /usr/bin/tipA rendszerhez csatlakozó Hayes
szabványú modem támogatott — mi
ilyenkor teendõ?A &os; kézikönyvben lásd ezt
a választ.Hogyan adjuk meg az AT parancsokat?A &os; kézikönyvben lásd ezt
a választ.A pn tulajdonságnál
miért nem lehet @ jelet
megadni?A &os; kézikönyvben lásd ezt
a választ.Hogyan lehet telefonszámokat
tárcsázni parancssorból?A &os; kézikönyvben lásd ezt
a választ.Minden alkalommal meg kell adni az adatátviteli
sebességet?A &os; kézikönyvben lásd ezt
a választ.Terminálszerver segítségével
hogyan lehet könnyen elérni egyszerre több
gépet is?A &os; kézikönyvben lásd ezt
a választ.A &man.tip.1; képes több vonalat is
használni az egyes gépek
eléréséhez?A &os; kézikönyvben lásd ezt
a választ.Miért kell kétszer lenyomni a CtrlP
billentyûket, hogy egyszer elküldjük
ezeket?A &os; kézikönyvben lásd ezt
a választ.Miért lett hirtelen minden NAGYBETÛS?A &os; kézikönyvben lásd ezt
a választ.Hogyan lehet állományokat mozgatni a
tip használatával?A &os; kézikönyvben lásd ezt
a választ.Hogyan használható a zmodem protokoll a
tip programmal?A &os; kézikönyvben lásd ezt
a választ.Egyéb kérdésekA &os; miért használ sokkal több
lapozóállományt, mint a &linux;?A &os; csupán látszólag
használ több helyet a lapozásra, mint a
&linux;, valójában egyébként
nem. A &os; és a &linux; közt az egyik
leglényegesebb különbség, hogy a
&os; valamivel elõre gondolkodik, és az
összes pillanatnyilag nem használt lapot
kilapozza a központi memóriából a
lapozóterületre. Ezzel igyekszik minél
több memóriát
elõkészíteni az aktív
használatra. A &linux; ezzel szemben a
lapozást csak végsõ esetben
használja. Ennek megfelelõen a
lapozóterület gyakoribb
használatát remekül ellensúlyozza
a fizikai memória hatékonyabb
kihasználása.Habár a &os; igyekszik ebben a tekintetben
elõrelátó lenni, nem minden esetben tudja
pontosan eldönteni, hogy a rendszerben mely lapokat nem
használják éppen. Emiatt nem fogja az
összes memóriát kilapozni, ha
például egész éjszakára
futni hagyjuk a gépünket.A top miért jelez kevés
szabad memóriát, miközben csak
néhány program fut?Röviden úgy válaszolhatnánk
meg ezt a kérdést, hogy a szabad memória
igazából elvesztegetett memória. A
programok által szabadon hagyott
memóriát a &os; rendszermagja többnyire a
lemez gyorsítótárazására
használja fel. A &man.top.1; kimenetében
olvasható Inact,
Cache és Buf
értékek a lényegében
különbözõ öregedési szintek
szerint kategorizált tárazott adatok. A
tárazás lényegében arra utal,
hogy a rendszernek így nem a lassú
elérésû lemezen kell a gyakran
elérni kívánt adatok után
kutatni, aminek köszönhetõen növekszik
az összteljesítmény. A &man.top.1;
kimenetében tehát Free
kategória alacsony értéke
alapvetõen jót jelent, feltéve, ha nem
nagyon kevés.A chmod miért nem
változtatja meg a szimbolikus linkek
engedélyeit?A szimbolikus linkekhez alapértelmezés
szerint nem tartoznak engedélyek, ezért a
&man.chmod.1; ilyen esetekben nem követi nyomon az
eredeti állomány engedélyeinek
megváltozását. Ezért
például, ha adott egy ize
nevû állomány, valamint erre egy
mize nevû szimbolikus link, akkor
a következõ parancs mindig mûködni
fog:&prompt.user; chmod g-w mizeEnnek ellenére az ize
engedélyei nem fognak megváltozni.Ez csak akkor fog mûködni, ha a
opció mellett a
vagy opciókat is megadjuk.
Errõl részletesebb információkat a
&man.chmod.1; és a &man.symlink.7; man
oldalairól tudhatunk meg.A &man.chmod.1; opciója
rekurzív
mûködést tesz lehetõvé.
Óvatosan bánjunk a
könyvtárakkal vagy a
könyvtárakra mutató szimbolikus
linkekkel a &man.chmod.1; használata
során. Ha egy szimbolikus link által
hivatkozott könyvtár engedélyeit
akarjuk megváltoztatni, akkor a &man.chmod.1;
parancsnak ne adjunk meg semmilyen paramétert
és a nevet zárjuk perjellel (/).
Például, ha az ize a
mize
könyvtárra mutató szimbolikus link,
és meg akarjuk változtatni az
ize engedélyeit (ami
valójában a mize engedélyeit
jelenti), akkor valami ilyesmit kellene
megadnunk:&prompt.user; chmod 555 ize/A név végén szereplõ
perjelbõl a &man.chmod.1; tudni fogja, hogy
követnie kell a foo
szimbolikus linket és így az általa
hivatkozott könyvtár, a mize engedélyeit
fogja megváltoztatni.A &os; képes DOS programokat futtatni?Igen, a Portgyûjteményben
található emulators/doscmd, vagyis egy DOS
emulációs program
segítségével.Amennyiben a doscmd
önmagában még nem lenne elegendõ, egy
másik segédprogram, a emulators/pcemu
segítségével emulálni tudunk egy
8088-as processzort, valamint a BIOS annyi
részét, hogy futtatni tudjunk szöveges
DOS alkalmazásokat. A használatához az
X Window Systemre is szükségünk
lesz.Érdemes ezenkívül még
megpróbálnunk a &os;
Portgyûjteményében
található emulators/dosbox portot is. Ez
az alkalmazás elsõsorban a régi DOS-os
játékok futtatásához
szükséges környezet
emulációjára koncentrál, a helyi
állományrendszerben található
állományok
felhasználásával.Hogyan tudjuk az anyanyelvünkre lefordítani
a &os; dokumentációját?Olvassuk el a &os; Dokumentációs Projekt
bevezetõjében található Fordítói
GYIK-ot.A FreeBSD.org
tartományon belüli e-mail címekre
küldött levelek miért pattannak
vissza?A FreeBSD.org
levelezõrendszere a bejövõ levelekre
vonatkozóan átvett néhány
szigorúbb ellenõrzést a
Postfix
alkalmazástól, és ezért eldobja
azokat a leveleket, amelyek formátuma hibás
vagy feltehetõen szemét. A leveleink az
alábbi okok miatt pattanhatnak vissza:A levelet olyan név- vagy
IP-tartományból küldtük, ahonnan
korábban levélszemetet küldtek,
ezért feketelistára került.A &os; levelezõ szerverei eldobnak minden olyan
levelet, amelyek feketelistás
tartományokból érkeznek. Ha olyan
cégen vagy tartományon keresztül
akarunk küldeni, amelyik levélszemetet
gyárt vagy továbbít, akkor
váltsunk szolgáltatót.A levél törzse csak HTML kódot
tartalmaz.A leveleinket egyszerû szöveges
formátumban küldjük.
Állítsuk be a levelezõ
kliensünket erre.A FreeBSD.org
címen üzemelõ levelezõ szerver nem
tudta a csatlakozó gép
IP-címét szimbolikus névre
feloldani.Az ellenkezõ irányú
névfeloldás sikeressége alapvetõ
követelmény a levelek
fogadásához. Gondoskodjunk róla,
hogy a levelezõ szerverünk
IP-címével mûködjön az
inverz névfeloldás, Sok otthoni
szolgáltatás (DSL, kábel,
betárcsázós stb. kapcsolat) erre
nem ad lehetõséget. Ilyenkor a leveleinket
próbáljuk meg a
szolgáltatónk levelezõ szerverein
keresztül küldeni.Az SMTP protokoll EHLO/HELO részében
megadott hálózati név nem
oldható fel valós IP-címre.Egy teljes, feloldható hálózati
név elegendhetetlen a levél
elfogadásához szükséges SMTP
párbeszéd
érvényességéhez. Ha nincs
hivatalosan bejegyzett hálózati
nevünk, akkor a szolgáltató
levelezõ szervereit kell használnunk a
levél elküldéséhez.A küldött üzenet
azonosítója (Message ID) végén
a localhost szerepel.Egyes levelezõ kliensek rossz
azonosítónak hoznak létre az
üzenetekhez, ezért a rendszer nem
hajlandó elfogadni ezeket. Ilyenkor vagy
rávesszük valahogy a levelezõ
kliensünket, hogy rendes azonosítókat
készítsen, vagy úgy
állítjuk be a
levéltovábbítónkat, hogy
érvényes azonosítókra
írja át.Hogyan lehet egyszerûen &os; rendszereket
elérni?Habár a &os; maga nem nyújt akárki
számára hozzáférést a
saját szervereihez, mások viszont
kínálnak bárki által
elérhetõ &unix; rendszereket. Ennek
költsége és minõsége
szolgáltatónként
változik.Az Arbornet,
Inc, vagy másik nevén
M-Net 1983 óta szolgáltat
nyílt hozzáférést &unix;
típusú rendszerekhez. Egy System III
alapokon mûködõ Altos rendszerrõl a
1991-ben BSD/OS-re váltottak, majd 2000
júliusában aztán &os;-re
váltottak. Az M-Nettelnet és
SSH
szolgáltatásokon keresztül is
elérhetõ, és lényegében a
&os; alatt elérhetõ összes programhoz enged
egy alapvetõ hozzáférést. A
hálózati hozzáférés
azonban csak a tagok és a támogatók
számára engedélyezett. Ez egy
non-profit szervezet. Az M-Net
rendelkezik üzenõfallal (bulletin board system,
BBS) és interaktív csevegõrendszerrel
is.A Grex az
M-Net
szolgáltatásához hasonlóan
ugyanúgy kínál üzenõfalat
és csevegési lehetõséget.
Többségében azonban &sun; 4M
gépeik vannak, amelyen &sunos; fut.Mi az a sup és hogyan lehet
használni?A SUP
mozaikszó mögött a Software Update
Protocol (Szoftverfrissítési
protokoll) áll, amelyet fejlesztési
fák szinkronban tartására dolgoztak ki
a Carnegie-Mellon Egyetemen. Régebben ennek
segítségével tartották
frissítették magukat a fejlesztõi
források különbözõ
tükrözései a &os; Projekten
belül.A SUP nem kifejezetten egy
sávszélesség-takarékos
megoldás, és egy ideje már
nyugdíjba vonult. A forrásainkat jelen
pillanatban a CVSup
használatával tudjuk frissíteni.Hogy hívják azt a cuki kis vörös
fickót?Igazából nincs neve, mindenki
egyszerûen csak BSD démonnak
nevezi. Ha mégis hívni szeretnénk
valahogy, akkor szólítsuk csak
beastie-nek, ugyanis a beastie
kiejtése megegyezik a BSD
szóéval
(bíeszdi).A BSD démonról a saját honlapján
tudhatunk meg többet.Felhasználható a BSD démon
képe?Talán. A BSD démon jogait Marshall Kirk
McKusick birtokolja. A felhasználás pontos
lehetõségeivel kapcsolatban olvassuk el Statement
on the Use of the BSD Daemon Figure címû
írást.Röviden úgy foglalhatnánk össze,
hogy ízléses stílusban a saját
céljainkra mindaddig nyugodtan
felhasználhatjuk a képet, amíg
megemlítjük az eredeti szerzõt. Ha
kereskedelmi céljaink vannak, akkor írjunk
&a.mckusick; címére. A pontosabb
részleteket a BSD démon honlapján
olvashatjuk.Található valahol
felhasználható kép a BSD
démonról?EPS és XFig formátumú rajzok a
/usr/share/examples/BSD_daemon/
könyvtárban vannak.A levelezési listákon szerepeltek
ismeretlen kifejezések vagy
rövidítések. Hol lehet ezeknek
utánanézni?Olvassuk el a &os; szakkifejezéseinek gyûjteményét.
Miért fontos annyira a
biciklitároló színe?Erre röviden úgy adhatnánk
választ, hogy ezzel igazából nem kell
annyira törõdnünk. Ha viszont valamivel
terjedelmesebben akarunk válaszolni, akkor azt
mondhatnánk, hogy azért, mert egy
biciklitároló megépítése
még nem tántorít el senkit sem a
válaszott szín
kritizálásától és az
átfestésének
fontolgatásától. Ez a metafora
alapvetõen arról szól, hogy nem kell
feltétlenül minden apró
részletrõl vitatkoznunk csupán
azért, mert jobban értünk hozzá.
Sokak tapasztalata szerint ugyanis a
változtatásokhoz kapcsolódó
megjegyzések által gerjesztett zaj
fordítottan arányos az adott
változtatás
bonyolultságával.A még hosszabb és teljesebb válasz
eredetileg egy nagyon hosszú és
fárasztó vita eredményeképpen
keletkezett, amikor arról esett szó, hogy a
&man.sleep.1; törtekkel dolgozzon-e vagy sem. Erre
válaszul küldte &a.phk; az azóta
híressé vált A
bike shed (any color will do) on greener
grass... ((Bármilyen
színû) biciklitároló megfelelne
egy zöldebb gyepen...) címû
levelét. Ebbõl szeretnénk most
idézni:
&a.phk;, &a.hackers.name;, 1999.
október 2.Mirõl is szól ez a
biciklitároló? —
kérdezték tõlem sokan.Ez egy hosszú, vagy még inkább
régi történet, amely azonban
valójában meglehetõsen rövid. C.
Northcote Parkinson Parkinson
törvénye címmel írt egy
könyvet az 1960-as évek elején,
amelyben elég nagy betekintést adott a
vezetés dinamikájába.[a könyv részletes
bemutatását most
kihagyjuk]A konkrét példában egy
biciklitároló szerepel egy
atomerõmûvel szemben, szóval ez is
eléggé jól érzékelteti
a könyv korát.Parkinson ezen keresztül bemutatja, hogyan kell
egy igazgatói tanács elé járulni
egy több millió vagy akár
milliárd dolláros atomerõmû
megépítéséhez, azonban egy
egyszerû biciklitároló
megépítésekor könnyen
véget nem érõ vitatkozásba
bonyolódhatunk.Parkinson elmagyarázza, mindez azért
van, mert egy atomerõmû annyira
óriási, drága és bonyolult,
hogy az emberek egyszerûen nem értik meg.
Ezért nem szólnak semmit és
megnyugtatják magukat a
feltételezéssel, hogy valaki más
korábban már biztosan
utánajárt a részleteknek. Richard P.
Feynmann is könyveiben rengeteg érdekes
és nagyon találó példát
ad ezekre Los Alamossal kapcsolatban.Vegyünk ezzel szemben most egy
biciklitárolót. Bárki képes egy
hétvége alatt összetákolni egy
ilyet és még így is marad ideje
megnézni a meccset. Ezért nem
számít, mennyire jól megfogalmazott,
elõkészített és logikus is a
javaslatunk, valaki biztosan meg fogja ragadni a
lehetõséget, hogy az orrunk elõtt
fitogtassa a képességeit és
megmutassa magát: õ bizony itt
járt.Dániában ezt mi úgy
hívjuk, hogy otthagyjuk a kezünk
nyomát. Ez mindössze a
személyes büszkeségrõl és
tekintélyrõl szól, vagyis hogy
végre elmondhassuk: Ezt nézd!
Én csináltam.
Ez ugyan leginkább a politikusokra jellemzõ,
de alapvetõen minden emberben ott él.
Gondoljunk csak a friss betonban hagyott
lábnyomokra.
Mókás dolgok a &os;-vel kapcsolatbanMennyire hûsít a &os;?Kérdés: Mérte már valaki,
hogy a &os; futása közben mennyire melengeti meg
a számítógépet? Úgy
hírlik, a &linux; ebben a tekintetben sokkal jobb,
mint a DOS, de &os;-rõl még nem ismert ezzel
kapcsolatban semmi. Mondjuk, elég tüzesnek
tûnik.Válasz: Nem, de korábban már
számos tesztet végeztünk bekötött
szemû önkénteseken, akiknek elõzetesen
250 mikrogram LSD-25-öt adagoltak. A tesztalanyok
35 százaléka szerint a &os; kissé
narancsos ízû volt, míg a &linux;
inkább a rózsaszín ködhöz
hasonlított. A hõmérséklettel
kapcsolatban azonban egyik csoport sem észlelt
komolyabb változást. Végül
aztán teljesen el kellett vetnünk a
kísérlet eredményeit, mert menet
közben túlságosan sok
önkéntes kóborolt el, és ezzel
torzították a mérések
eredményeit. A legtöbb önkéntes
azóta is Apple-nél van, és azóta
is egy új színes, szagos
grafikus felületen dolgoznak. Szép kis
felfordulás!Komolyan: a &os; és a &linux; is egyaránt
a processzorokban található
HLT (halt) utasítást
használja arra, hogy az üresjáratban
levõ rendszer energiafogyasztását
és ezáltal hõtermelését is
valamennyire mérsékelje. Emellett még
az APM (Advanced Power Management) is támogatott,
így a &os; akár tetszés szerint
alacsonyabb energiafogyasztású módba is
tudja tenni a processzort.Mi mocorog a memóriamodulokban?Kérdés: A &os; csinál valami
szokatlan a rendszermag fordítása
közben, ami miatt a memóriák felõl
mocorgást lehet hallani? Amikor fordítok
(vagy egy rövid ideig, amikor az
indításkor a rendszer keresi a
floppymeghajtót) valamilyen furcsa
mocorgásszerû hang jön a
memóriamodulokból.Válasz: Igen! Gyakran utalnak a BSD rendszerek
dokumentációiban mindenféle
démonokra, és ezzel
kapcsolatban a legtöbb ember nem is tudja, hogy ezek
valójában apró, öntudatos,
fizikailag nem létezõ lények, amelyek a
rendszer indulása után
megszállják a
számítógépünket. A
memóriából kiszûrõdõ
mocorgás hangja igazából a
démonok közti magas frekvenciás
beszélgetésbõl ered, amikor éppen
arról egyeztetnek, hogy miként
birkózzanak meg a különbözõ
rendszeradminisztrációs feladatokkal.Ha teljesen megõrjít minket ez a
zajongás, akkor úgy tudunk tõlük
megszabadulni, ha kiadjuk DOS-ból a jó
öreg fdisk /mbr parancsot. Ekkor
viszont ne lepõdjünk meg, ha netalán
visszalõnének és próbálnak
minket megállítani. Ha eközben a
hangszóróinkból Bill Gates
sátáni kacaja harsanna fel, akkor rohanjunk
és ne is nézzünk többet vissza! A
BSD démonok támogatásától
mentesen a &windows; és a DOS ikerördögei
ilyenkor gyakran visszaszerzik gépünk felett a
teljes irányítást és ezzel
örök szenvedésre kárhoztatják
gyarló lelkünket. Ennek tudatában lehet,
hogy mégis csak jobb lenne, ha egyszerûen csak
hozzászoknánk azokhoz a furcsa hangokhoz,
nem?Hány &os; fejlesztõ kell egy
villanykörte kicseréléséhez?Ezeregyszázhatvankilenc:Huszonhárman panaszkodnak a -current
listán, hogy már megint kiment a villany.Négyen erre azt válaszolják, hogy
ez csak konfigurációs probléma,
ezért ennek a -questions listán a
helye.Hárman írnak róla
hibajelentést, de ezek közül az egyik
ráadásul tévesen a
doc kategóriába kerül,
és csak annyi áll benne, hogy
sötét van.Erre az egyikük beszerel egy
kipróbálatlan villanykörtét,
amitõl nem mûködik a rendszer többi
része, így öt perc múlva ki is
szereli.Nyolcan leszidják a hibajelentések
íróit, hogy nem mellékelték a
javítást a jelentéseik
mellé.Öten siránkoznak, hogy nem mûködik
a rendszer.Harmincegyen erre azt válaszolják, hogy
nekik minden remekül mûködik, és az
érintettek minden bizonnyal pont rosszkor
frissítettek.Egy küld egy új villanykörtét a
-hackers listára.Erre egy rászól, hogy õ már
három évvel ezelõtt megcsinálta
ugyanezt, de amikor beküldte a -current listára,
akkor senki sem foglalkozott vele, és
egyébként sem szereti a
hibajelentéseket. Emellett ráadásul az
új villanykörte egyébként sem
tetszik.Huszonheten nekiállnak skandálni, hogy a
villanykörték nem tartoznak az alaprendszerbe,
ezért a committerek a közösség
megkérdezése nélkül nem
csinálhatnak semmit, és különben is:
Mi errõl a -core
véleménye?Kétszázan eközben megvitatják,
milyen színû legyen a
biciklitároló.Hárman jelzik, hogy a javítás nem
felel meg a &man.style.9;
elõírásainak.Tizenheten megjegyzik, hogy az újonnan javasolt
villanykörte GPL licenccel rendelkezik.Ötszázhatvankilencen valóságos
vitaözönt indítanak a GPL, a BSD, MIT
és NPL licencek elõnyeit illetõen, majd
megjegyzéseket tesznek különféle meg
nem nevezett FSF alapítók személyes
higéniajára.Heten a vita bizonyos részeit átviszik a
-chat és -advocacy listákra.Egy végül beszereli a javasolt
villanykörtét, de az valamivel mintha
halványabban világítani, mint az
elõzõ.Ketten leszólják a szerelést,
és összekapnak azon, hogy most akkor a &os;
inkább maradjon sötétségben vagy
érje be a halványabb
világítással.Negyvenhárman rikácsolva követelik a
halványan világító
villanykörte kiszerelését és
panaszukat megírják a -core
listára.Tizenegyen egy kisebb villanykörtét
kérnek, mert ha majd portolni akárják a
Tamagotchijukra a rendszert, akkor ott is
használható legyen.Hetvenhárman felemelik a szavukat a -hackers
és -chat listákon felerõsödött
zaj miatt, és tiltakozásul leiratkoznak
ezekrõl a listákról.Tizenhárman erre egy leiratkozom,
Hogyan kell innen leiratkozni? vagy
Kérlek, vegyetek le errõl a
listáról témájú
levelet küldenek a megszokott stílusban.Egy eközben beszerel végre egy
mûködõ villanykörtét, miközben
mindenki azzal van elfoglalva, hogy szidja a másikat,
így szinte észre sem veszik.Harmincegy ezután hozzáteszi, hogy az
új villanykörte
0,364 százalékkal jobban
világítana, ha TenDRA-val
csinálták volna (akkor viszont kocka
alakú lenne) és a &os;-nek ezért a GCC
helyett TenDRA-t kellene használnia.Egy valaki megemlíti, hogy az új
villanykörtén nincs is burkolat.Kilencen (beleértve a hibajelentések
íróit) azt kérdezgetik folyton, hogy
Mi az az MFC?.Ötvenheten két hét múlva
kezdenek el panaszkodni, hogy a villanykörte
kiment.&a.nik; hozzáteszi:Nagyon jót nevettem
ezen.Közben az jutott az eszembe, hogy
Várjunk csak, nem kellene valahol a
felsorolásban lennie egy egy, aki pedig
ledokumentálja
résznek?És akkor végre
megértettem :-)&a.tabthorpe; szerint: Egy
sem, mert a valódi &os;
fejlesztõk nem félnek a
sötétben!Hova kerül a /dev/null
eszközre küldött adat?A processzoron található speciális
adatsüllyesztõbe kerül, majd hõvé
alakul és elszállítja a felszerelt
hûtõborda és ventillátor.
Ezért is annyira fontos a processzor
hûtése: az emberek minél gyorsabb
géppel rendelkeznek, annál inkább
gondatlanná válnak és annál
több adat köt ki a /dev/null
eszközben. Ha sikerül letörölnünk
a /dev/null eszközt (amivel
így lényegében letiltjuk a processzor
adatsüllyesztõjét), akkor a processzorunk
ugyan kevésbé fog melegedni, viszont gyorsan
eldugul a sok adattól és furcsán kezd
el viselkedni. Ha nagyon gyors hálózati
kapcsolattal rendelkezünk, akkor úgy is le
tudjuk hûteni a processzorunkat, ha folyamatosan
olvassuk a /dev/random eszközt
és valahova elküldjük az eredményt.
Ekkor viszont vigyázzunk arra, hogy ezzel a
módszerrel könnyen túlmelegedhet a
hálózati kártyánk és a
gyökér állományrendszerünk,
valamint a szolgáltató sem fog
örülni ennek, mert akkor a felesleges hõ
náluk keletkezik. Általában viszont
jó a hûtésük, ezért ha okosan
csináljuk, akkor semmi gondunk nem származik belõle.Paul Robinson
hozzáteszi:Vannak még más módszerek is.
Minden jó rendszergazda tudja, hogy szokás a
képernyõre is folyamatosan adatot küldeni,
mert így a pixik is vidámabbak lesznek. A
képernyõt formázó pixik (melyek
gyakran tévesen és hibásan
pixeleknek hívnak) a fejükön
viselt kalapok szerint három csoportba
sorolhatóak (vörös, zöld vagy
kék), és annak megfelelõen bújnak
elõ (illetve mutatják meg a kalapjukat), hogy
kapnak-e enni. A videokártyák felelõsek
azért, hogy a kapott adatokból pixiétel
készüljön és hogy az eljusson a
pixikhez — minél drágább a
kártya, annál jobb minõségû
az elõállított étel, és
annál fegyelmezettebben viselkednek a pixik.
Állandó cirogatásra is
szükségük van — ez a
képernyõvédõk feladata.Az elõbbi javaslatot azzal tudnám még
kiegészíteni, hogy a
/dev/random eszköztõl
származó adatokat akár a konzolra is
küldhetjük, így a pixiket is jól
tudjuk lakatni. Ezzel együtt nem jár semmilyen
hõtermelés, viszont a pixik boldogok lesznek
és így könnyen meg tudunk szabadulni a
felesleges adatoktól is, még úgy is, ha
kissé zavarosnak tûnik közben a
kép.Mellesleg mint az egyik nagy szolgáltató
egykori rendszergazdája elmondhatom, hogy mivel
tapasztalatom szerint a szerverszobában nehéz
tartani a megfelelõ hõmérsékletet,
ezért nem ajánlom senkinek a felesleges adatok
átküldését a
hálózaton. A csomagok
közvetítésével és
irányításával foglalkozó
tündérek sem különösebben szoktak
örülni ennek.Témák haladóknakHonnan lehet többet megtudni a &os; belsõ
felépítésérõl?Jelen pillanatban csak egyetlen mû foglalkozik az
operációs rendszerek
felépítésével a &os;
szemszögébõl, név szerint a Marshall
Kirk McKusick és George V. Neville-Neil által
írt The Design and Implementation of the
&os; Operating System címû könyv
(ISBN 0-201-70245-2), amely a &os;
5.X változatára
koncentrál.Emellett a &unix; típusú rendszerek
használatával kapcsolatos ismeret remekül
alkalmazható a &os; esetén is.A témához tartozó többi
könyvet a kézikönyv Az
operációs rendszerek belsõ
mûködésével
foglalkozó irodalomjegyzékben
találhatjuk meg.Hogyan lehet bekapcsolódni a &os;
fejlesztésébe?Pontosabb tanácsokat akkor kapunk, ha elolvassuk
a &os;
fejlesztésérõl szóló
cikket. Nagyon is számítunk mindenki
segítségére!Mik azok a pillanatkiadások és
kiadások?Jelenleg három aktív és
félig aktív ág van a &os; CVS
repositoryjában. (A korábbi
ágakat már csak nagyon ritkán
módosítják, ezért is csak
három aktív fejlesztési ágon
fejlesztenek):RELENG_6 avagy
6-STABLERELENG_7 avagy
7-STABLEHEAD avagy
-CURRENT avagy
8-CURRENTA HEAD nem olyan ág, mint a
másik kettõ. Ez egyszerûen csak
a jelenlegi, még el nem
ágaztatott fejlesztési
irány jelentéssel
bír, amire pedig sokszor röviden csak
-CURRENT néven
hivatkoznak.Jelen pillanatban a -CURRENT a
8.X fejlesztési
irányát képviseli; az
6-STABLE ág, a
RELENG_6, 2005 novemberében,
míg a 7-STABLE ág, a
RELENG_7, 2008 februárjában
vált le a -CURRENT
ágból.Hogyan lehet saját kiadást
készíteni?Olvassuk el a kiadások
készítésérõl
szóló cikket.A make world
parancs miért írja felül a
korábban telepített binárisokat?Mert alapvetõen ez lenne a cél: ahogy a neve
is sugallja, a rendszer újrafordítása,
vagyis a
make world
parancs feladata a rendszerben található
összes bináris
újrafordítása, aminek
eredményeképpen egy tiszta és
összefüggõ környezetet kapunk
(ezért is tart ilyen sokáig).Ha a make
world vagy a make
install parancs
futtatása elõtt megadjuk a
DESTDIR környezeti
változót, akkor a frissen létrehozott
binárisok az általa mutatott
könyvtárba fognak kerülni pontosan
úgy, ahogy az eredeti rendszer. Az osztott
könyvtárak bizonyos
módosításai és egyes programok
fordítása azonban könnyen térdre
kényszerítheti a make
world
futását.Miért nem forgó (round
robin) névfeloldással lehet
elérni a CVSup szervereket
és így megosztani köztük a
terhelést?Habár a CVSup
tükrözések óránként
frissítik magukat a központi
CVSup szerverrõl, maga a
frissítés azonban bármikor
megtörténhet. Ennek
következményeképpen egyes szervereken
frissebb kód található, miközben a
többin még az egy órával
ezelõtti állapot szerepel. Ha a cvsup.FreeBSD.org forgó
névfeloldással mûködne, akkor a
felhasználók mindig egy
véletlenszerûen választott
CVSup szervert kapnának,
és ezért a CVSup
egymás utáni futtatásakor könnyen
elõfordulhatna, hogy a rendszer régebbi
forrásait kapjuk vissza.A -CURRENT forrásait
korlátozott interneteléréssel is lehet
követni?Igen, ezt a CTM
használatával
anélkül is megtudjuk tenni,
hogy le kellene töltenünk az egész
forrásfát.Hogyan lehet 1392 KB-os darabokra felosztani az
egyes terjesztéseket?Az újabb BSD alapú rendszerekben a
&man.split.1; parancsnak már van egy
paramétere, amellyel
tetszõleges méretûre fel tudunk darabolni
állományokat.Íme erre egy példa a
/usr/src/release/Makefile
állományból:ZIPNSPLIT= gzip --no-name -9 -c | split -b 1392k -Hova lehet küldeni a rendszermaghoz írt
kiegészítéseket?Erre vonatkozóan vessünk egy
pillantást a &os; továbbfejlesztésérõl szóló
cikkre.Köszönjük, hogy gondolt
ránk!A rendszer hogyan érzékeli és
inicializálja a Plug and Play ISA
kártyákat?Frank Durda IV
(uhclem@nemesis.lonestar.org)
válasza:Dióhéjban úgy tudnám ezt
elmagyarázni, hogy van néhány I/O port,
amelyet lekérdezve a PnP kártya képes
válaszolni, hogy elérhetõ-e.
Ezért a PnP eszközök keresése azzal
kezdõdik, hogy a rendszer felteszi a
kérdést, van-e PnP kártya a
számítógépben. Erre
aztán a különbözõ
kártyák a típusuk
megjelölésével válaszolnak,
amelyet ugyanezen az I/O porton kell visszaolvasni,
így ha már legalább egy bitet
beállít valaki, akkor folytatható a
keresés. Ezután a keresést
végzõ kódrész letiltja az
X alatti (a µsoft; és az
&intel; által kiosztott) azonosítóval
rendelkezõ kártyákat, majd ismét
megnézi, hogy valaki továbbra is
válaszol-e. Amennyiben a válasz
0, az arra utal, hogy már nincs
aktív kártya az X
azonosító felett. Ezt követõen a
rendszer megpróbálkozik az
X alatti azonosítók
lekérdezésével. Végül
folytatja az X alatti keresést az
X -(korlát / 4)
feletti azonosítók letiltásával,
majd megismétli az iménti
kérdést. Ezzel a félig-meddig
bináris keresési módszerrel
aztán képes 264
lépésnél jóval kevesebbõl
felderíteni a rendszerünkben
megtalálható PnP
kártyákat.Az azonosítók két 32 bit
hosszúságú mezõbõl
(ezért írtunk az elõbb
264 lépést)
és egy 8 bites
ellenõrzõösszegbõl állnak. Az
elsõ 32 bit a gyártót
azonosítja. Ugyan soha nem vallják be, de
úgy tûnik, hogy még ugyanannak a
gyártónak is lehetnek eltérõ
gyártóazonosítóval
rendelkezõ kártyái. A
gyártók számára fenntartott
32 bites mezõ ezért valamennyire
túlzás.A második 32 bit lehet a kártya
sorozatszáma vagy bárki más, amely
alapján egyértelmûen
beazonosítható. A gyártó
ugyanazzal a 32 bites értékkel nem
gyárthat egy másik kártyát, csak
abban az esetben, ha a másik 32 bit is
eltér. Ennek köszönhetõen egy
gépen belül még az azonos
típusú kártyák is el fognak
térni 64 biten.Az iménti 32 bites csoportok nem lehetnek
teljesen nullák, ezért lehetséges, hogy a
bináris keresés során a
válaszban legalább egy bit mindig aktív
lesz.Miután a rendszer sikeresen beazonosította
a rendelkezésre álló
kártyákat, egyenként újra
elindítja ezeket (ugyanazon az I/O porton
keresztül), és megpróbálja
kitalálni, hogy az adott eszközöknek milyen
erõforrásokra van szüksége, milyen
megszakítást akarnak használni stb. Az
összes kártyától lekérdezi
ezeket az információkat.Az így megszerzett információkat
aztán még kiegészíti a
merevlemezen vagy az MLB BIOS-ban található
ECU állományok tartalmával. Az ECU
és az MLB BIOS PnP támogatása
általában viszont nem valódi, és
az ilyen eszközök igazából nem is
állítanak be semmit maguktól. A BIOS
és az ECU átvizsgálása azonban
segít a felderítést végzõ
rutinnak értesíteni a tényleges PnP
eszközöket, hogy ne foglaljanak el olyan
erõforrásokat, amelyeket a rendszer nem tud
áthelyezni.Ezután a PnP eszközöket a kód
még egyszer végigjárja és
átadja nekik a
mûködésükhöz
szükséges I/O, DMA, IRQ és
memóracímek hozzárendeléseit.
Az eszközök ekkor a megadott helyeken
elérhetõvé válnak és
úgy is maradnak a rendszer következõ
indításáig, de igazából
semmi sem rögzíti ezeket.Talán túlságosan is
egyszerûsítettem a fentieket, de szerintem
már ennyi is elegendõ az alapok
megértéséhez.A µsoft; néhány elsõdleges
nyomtatási állapotot jelzõ portot
átrakott PnP-re, azzal a címszóval,
hogy egyik kártya sem kódolta át ezeket
a címeket az ellenkezõ I/O ciklusok
számára. Találtam is egy eredeti IBM
nyomtatókártyát, amely valóban
át tudta írni az állapotjelzõ
portot a PnP kezdeti változataiban, de arra a
µsoft; csak annyit mondott, hogy
fogós. Ezért a
nyomtatási állapotot jelzõ portot a
címek beállítására
használja, illetve még a
0x800-as portot és egy harmadik
I/O portot valahol a 0x200 és a
0x3ff
környékén.Hogyan lehet fõeszközazonosítót
rendelni egy általunk fejlesztett
meghajtóhoz?2003 februárja óta a &os; képes
dinamikusan és önmûködõen
futás közben lefoglalni
fõeszközazonosítókat a
meghajtóknak (lásd &man.devfs.5;),
ezért erre tulajdonképpen már nincs
szükség.A könyvtárakra vonatkozóan milyen
más kiosztási házirendek léteznek
még?A könyvtárak más fajta
kiosztására vonatkozóan annyit tudok
válaszolni, hogy a jelenleg is alkalmazott
sémát az 1983-ban megalkotott változata
óta változatlanul használjuk.
Eredetileg a gyors állományrendszerhez
készítettem, de soha nem ragaszkodtam
hozzá. Remekül megoldja a cilindercsoportok
betelésének problémáját,
azonban sokan megjegyezték már, hogy a
&man.find.1; esetén gyengén mûködik.
A legtöbb állományrendszert
mélységi bejárással
hozzák létre, így a
könyvtárak szétszóródnak a
cilindercsoportok közt és ezzel a
késõbbi mélységi keresések
számára a lehetõ legrosszabb helyzetet
alakítják ki. Ha valaki például
tudja elõre a létrehozni kívánt
könyvtárak számát, akkor ezt
úgy lehet megoldani, ha a mûvelet során
(összes / cilindercsoportok)
mennyiségû könyvtárat hozunk
létre az egyes cilindercsoportokban. Ennek
meghatározására
nyilvánvalóan lehet adni valamilyen
heurisztikát. Már egy kisebb elõre
rögzített szám, mint
például a 10 kiválasztása is
legalább egy nagyságrendnyi javulást
jelent. Ha szeretnénk
megkülönböztetni az
állományrendszerek
visszaállítását a
hagyományos mûködéstõl (amire a
jelenlegi algoritmus sokkal érzékenyebb),
akkor érdemes tizes csoportokba összefogni a
könyvtárakat, feltéve, hogy
10 másodpercen belül hoztuk létre
ezeket. Mindenesetre elmondható, hogy ezzel
nyugodtan lehet kísérletezni.&a.mckusick;, 1998 szeptembereHogyan lehet kinyerni a legtöbb
információt a rendszermag
összeomlásából?Általában így néz ki a
rendszermag összeomlása:Fatal trap 12: page fault while in kernel mode
fault virtual address = 0x40
fault code = supervisor read, page not present
instruction pointer = 0x8:0xf014a7e5
stack pointer = 0x10:0xf4ed6f24
frame pointer = 0x10:0xf4ed6f28
code segment = base 0x0, limit 0xfffff, type 0x1b
= DPL 0, pres 1, def32 1, gran 1
processor eflags = interrupt enabled, resume, IOPL = 0
current process = 80 (mount)
interrupt mask =
trap number = 12
panic: page faultAmikor egy ilyen üzenetet látunk, akkor nem
elegendõ újra elõcsalni a hibát
és beküldeni. Az
utasításszámláló
(instruction pointer) értéke
ugyan nagyon fontos, de sajnos konfigurációk
szerint eltérhet. Más szóval
úgy fogalmazhatnék, hogy ennek az
értéke a használatban levõ
rendszermag értékétõl
függõen változhat. Ha a
GENERIC rendszermagot használjuk
valamelyik kiadásból, akkor viszont már
elképzelhetõ, hogy valaki más is le tudja
nyomozni a hibát okozó függvényt.
Ha viszont egy saját
beállításokkal rendelkezõ
rendszermagot használunk, akkor egyedül csak
mi vagyunk képesek megmondani a
hiba pontos helyét.Ezért a javaslatom a következõ:Jegyezzük le az
utasításszámláló
értékét. A
0x8: rész ebben az esetben
annyira nem fontos, egyedül csak a
0xf0xxxxxx részre van
szükségünk.A rendszer újraindításakor
írjuk be a következõt:&prompt.user; nm/a.hibát.okozó.rendszermag | grep f0xxxxxxahol az f0xxxxxx az
utasításszámláló
értéke. Könnyen elõfordulhat,
hogy ilyenkor még nem találunk
egyezést, mivel a rendszermag
szimbólumtáblájában csak
az egyes függvények belépési
pontjai találhatóak, és ha az
utasításszámláló
általában valamelyikük
belsejébe mutat, nem az elejükre. Ha
tehát nem még látunk semmit,
akkor egyszerûen hagyjuk el az utolsó
számjegyet és
próbálkozzunk így:&prompt.user; nm/a.hibát.okozó.rendszermag | grep f0xxxxxHa még ez sem hoz eredményt, akkor
vágjunk le a végérõl egy
újabb számjegyet. Egészen addig
csináljuk, amíg nem kapunk valami
értékelhetõ eredményt.
Ilyennek tekintjük például azokat a
függvényeket, amelyek a hibát
okozhatták. Ez ugyan egy nem annyira pontos
felderítési eszköz, viszont
még ez is jobb a semminél.A legjobb viszont mégis az, amikor sikerül
lementeni a hiba bekövetkezésekor a memória
tartalmát, majd a &man.kgdb.1;
használatával elõbányászni
belõle egy hívási láncot.Ehhez többnyire a következõ
módszer javasolt:A rendszermag konfigurációs
állományába
(/usr/src/sys/arch/conf/RENDSZERMAGKONFIG)
vegyük fel a következõ sort:makeoptions DEBUG=-g # A rendszermag fordítása gdb(1) szimbólumokkalLépjünk be a /usr/src
könyvtárba:&prompt.root; cd/usr/srcFordítsuk le a rendszermagot:&prompt.root; makebuildkernelKERNCONF=RENDSZERMAGKONFIGVárjuk meg, amíg a &man.make.1;
befejezi a fordítást.&prompt.root; makeinstallkernelKERNCONF=RENDSZERMAGKONFIGIndítsuk újra a gépet.A KERNCONF használata
nélkül a GENERIC
rendszermag fordul és
telepítõdik.A &man.make.1; programnak a folyamat
végeredményeként két rendszermagot
kell készítenie: a
/usr/obj/usr/src/sys/RENDSZERMAGKONFIG/kernel
és a
/usr/obj/usr/src/sys/RENDSZERMAGKONFIG/kernel.debug.
Ezek közül a kernel/boot/kernel/kernel néven
mentõdik el, miközben a
kernel.debug használható
nyomonkövetésre a &man.kgdb.1;
programmal.A rendszer csak akkor fogja elmenteni
összeomláskor a memória tartalmát,
ha az /etc/rc.conf
állományban beállítjuk a
dumpdev értékét a
lapozóállományt tároló
partícióra (vagy az AUTO
értékre). Ennek hatására az
&man.rc.8; szkriptek a &man.dumpon.8; paranccsal
képesek engedélyezni a memória
lementését. A &man.dumpon.8;
természetesen manuálisan is
elindítható. Az összeomlást
követõen a memória lementett
tartalmához a &man.savecore.8; programmal
férhetünk hozzá. Amikor viszont az
/etc/rc.conf állományban
megadjuk a dumpdev
értékét, az &man.rc.8; szkriptek
maguktól lefuttatják a &man.savecore.8;
parancsot és átrakják a mentést
a /var/crash
könyvtárba.A &os; által létrehozott
memóriamentések mérete
általában a
számítógépünkben
levõ fizikai memória
mennyiségével egyezik meg. Tehát
ha 512 MB RAM van a gépünkben, akkor
egy 512 MB méretû mentést fogunk
kapni. Ezért gondoskodjunk róla, hogy a
/var/crash könyvtárban
mindig legyen elegendõ hely az
állomány tárolásához.
A &man.savecore.8; kézzel is lefuttathazó,
és ilyenkor a memóriát akár
egy másik könyvtárba is
menthetjük. A mentés méretét
options
MAXMEM=N
beállítással is
korlátozhatjuk, ahol az
N értéke a
rendszermag által használható
memória mérete KB-okban.
Például, ha 1 GB RAM van a
gépünkben, de a rendszermag által
használható memóriát
lekorlátozzuk 128 MB-ra, akkor a
mentés mérete sem 1 GB lesz, hanem
csak 128 MB.Ahogy sikerült hozzájutnunk a
memóriamentéshez, azonnal is
kérhetünk a &man.kgdb.1;
használatával egy hívási
láncot belõle:&prompt.user; kgdb/usr/obj/usr/sys/RENDSZERMAGKONFIG/kernel.debug/var/crash/vmcore.0(kgdb)backtraceElõfordulhat, hogy ilyenkor több oldalnyi
információ özönlik hirtelen a
képernyõre, ezért javasolt ezeket
lementeni a &man.script.1; programmal. A
nyomkövetési szimbólumokat is
tartalmazó rendszermag esetén még
akár azt a sort is megkapjuk a rendszermagon
belül, ahol a hiba történt. A
hívási láncot általában
alulról felfelé kell olvasni, és
ebbõl deríthetõ, hogy pontosan milyen
események is vezettek az összeomláshoz.
A &man.kgdb.1; használatával még a
különbözõ változók
és struktúrák értékeit is
meg tudjuk vizsgálni, így még
többet megtudhatunk a rendszer
állapotáról az összeomlás
pillanatában.Ha az iméntiek mentén nagyon
fellelkesültünk volna és van egy
másik
számítógépünk is, akkor a
&man.kgdb.1; akár távoli
nyomkövetésre is
beállítható, aminek
köszönhetõen a &man.kgdb.1;
használatával az egyik rendszeren meg tudjuk
állítani a másikon futó
rendszermagot, ellenõrizhetjük a
viselkedését, akárcsak
bármelyik más felhasználói
program esetében.Ha netalán engedélyeztük volna a
DDB beállítást,
és a rendszermag beleáll a
nyomkövetõbe, akkor a rendszert mi magunk is
össze tudjuk omlasztani (és így a
memóriát elmenteni) a ddb
parancssorában a panic parancs
kiadásával. Ilyenkor a nyomkövetõ
általában még egyszer megáll az
összeomláskor. Ekkor a
continue paranccsal fejeztethetjük
be a memória lementését.A dlsym() függvény
miért nem mûködik már az ELF
állományokra?Az ELF állományokhoz tartozó
segédprogramok alapértelmezés szerint nem
teszik láthatóvá a dinamikus linker
számára a végrehajtható
állományban definiált
szimbólumokat. Ennek eredményeképpen a
dlsym() a dlopen(NULL,
flags) függvénytõl kapott
információk alapján nem találja
meg a keresett szimbólumokat.Ha szükségünk lenne ilyen
keresésekre a dlsym()
használata során a program
végrehajtható állományán
belül, akkor az adott programot a
opció
megadásával kell linkelni (lásd
&man.ld.1;).Hogyan növelhetõ vagy csökkenthetõ a
rendszermag címtere &i386;
architektúrán?Az &i386; platformon a rendszermag címtere
alapértelmezés szerint 1 GB
(PAE esetén 2 GB). Ha
komolyabb hálózati forgalmat
bonyolító szerverünk van
(például egy nagyobb FTP vagy HTTP szerver)
vagy rendszerükön használni akarjuk a ZFS
állományrendszert, akkor könnyen
kifuthatunk a címtérbõl.A címtér méretének
megváltoztatásához vegyük fel a
következõ sort a rendszermag
konfigurációs
állományába, majd fordítsuk
újra a rendszermagot:options KVA_PAGES=NAz N megfelelõ
értékének
megállapításához osszuk el a
beállítani kívánt
címtér (MB-okban megadott)
méretét néggyel. (Tehát
például 2 GB esetén ez
512 lesz.)KöszönetnyilvánításEzt a szegény kis ártatlan GYIKocskát
több százan, ha nem is éppen több ezren
írták, újraírták,
szerkesztették, hajtogatták, tekergették,
csonkítgatták, kibelezték,
nézegették, összekutyulták,
emlegették, felöklendezték,
újraépítették,
javítgatták és felpezsdítették
az utóbbi években. Folyamatosan.Ezúton is szeretnénk köszönetet
mondani mindazoknak, akik gondozásukba vették,
és mindenkit csak bátorítani tudunk, hogy
csatlakozzon
hozzájuk a GYIK
továbbfejlesztésében.
&bibliography;
diff --git a/hu_HU.ISO8859-2/books/handbook/config/chapter.sgml b/hu_HU.ISO8859-2/books/handbook/config/chapter.sgml
index 2b0290b694..04d6402982 100644
--- a/hu_HU.ISO8859-2/books/handbook/config/chapter.sgml
+++ b/hu_HU.ISO8859-2/books/handbook/config/chapter.sgml
@@ -1,4832 +1,4842 @@
ChernLeeÍrta: MikeSmithAz alapjául szolgáló
bemutatást írta: MattDillonValamint az alapját képzõ tuning(7)
oldalt írta: Beállítás és
finomhangolásÁttekintésa rendszer
beállításaa rendszer
finomhangolásaA &os; egyik fontos szempontja a rendszer megfelelõ
beállítása, aminek
segítségével elkerülhetjük a
késõbbi frissítések során
keletkezõ kellemetlenségeket. Ez a fejezet a &os;
beállítási folyamatából
kíván minél többet bemutatni,
köztük a &os; rendszerek finomhangolására
szánt paramétereket.A fejezet elolvasása során
megismerjük:hogyan dolgozzunk hatékonyan az
állományrendszerekkel és a
lapozóállományokkal;az rc.conf
beállításának alapjait és a
- /usr/local/etc/rc.d
+ /usr/local/etc/rc.d
könyvtárban található
indítási rendszert;hogyan állítsunk be és
próbáljunk ki egy hálózati
kártyát;hogyan állítsunk be virtuális
címeket a hálózati
eszközökeinken;
- hogyan használjuk az /etc
- könyvtárban megtalálható
- különféle konfigurációs
- állományokat;
+ hogyan használjuk az /etc könyvtárban
+ megtalálható különféle
+ konfigurációs állományokat;hogyan hangoljuk a &os; mûködését
a sysctl változóinak
segítségével;hogyan hangoljuk a lemezek
teljesítményét és
módosítsuk a rendszermag
korlátozásait.A fejezet elolvasásához ajánlott:a &unix; és a &os; alapjainak
megértése ();a rendszermag beállításához
és fordításához
kötõdõ alapok ismerete ().Kezdeti beállításokA partíciók kiosztásapartíciókiosztás
- /etc
- /var
- /usr
+ /etc
+ /var
+ /usrAlappartíciókAmikor a &man.bsdlabel.8; vagy a &man.sysinstall.8;
segítségével
állományrendszereket telepítünk, nem
szabad figyelmen kívül hagynunk a tényt,
hogy a merevlemezes egységekben a külsõ
sávokból gyorsabban lehet
hozzáférni az adatokhoz, mint a
belsõkbõl. Emiatt a kisebb és gyakrabban
elérni kívánt
állományrendszereket a meghajtó
lemezének külsejéhez közel kell
létrehozni, míg például a
- /usr partícióhoz
- hasonló nagyobb partíciókat annak
- belsõ része felé. A
- partíciókat a következõ sorrendben
- érdemes kialakítani: gyökér
+ /usr
+ partícióhoz hasonló nagyobb
+ partíciókat annak belsõ része
+ felé. A partíciókat a
+ következõ sorrendben érdemes
+ kialakítani: gyökér
(rendszerindító),
- lapozóállomány, /var
- és /usr.
+ lapozóállomány, /var és /usr.
- A /var méretének
- tükröznie kell a
+ A /var
+ méretének tükröznie kell a
számítógép
szándékolt használatát. A
- /var partíción foglalnak
- helyet a felhasználók postaládái,
- a naplóállományok és a
+ /var
+ partíción foglalnak helyet a
+ felhasználók postaládái, a
+ naplóállományok és a
nyomtatási sorok. A postaládák és
a naplóállományok egészen
váratlan mértékben is képesek
megnövekedni attól függõen, hogy mennyi
felhasználónk van a rendszerben és hogy
mekkora naplókat tartunk meg. Itt a legtöbb
felhasználónak soha nem lesz
szüksége egy gigabyte-nál több
helyre.
- Bizonyos esetekben a /var/tmp
- könyvtárban azért ennél több
- tárterület szükségeltetik. Amikor a
- &man.pkg.add.1; segítségével egy friss
- szoftvert telepítünk a rendszerünkre, akkor
- a program a /var/tmp
- könyvtárba tömöríti ki a
- hozzátartozó csomag tartalmát.
- Ezért a nagyobb szoftvercsomagok, mint
- például a Firefox
- vagy az OpenOffice esetén
- gondok merülhetnek fel, ha nem rendelkezünk
- elegendõ szabad területtel a
- /var/tmp
+ Bizonyos esetekben a /var/tmp
+ könyvtárban azért ennél
+ több tárterület szükségeltetik.
+ Amikor a &man.pkg.add.1; segítségével
+ egy friss szoftvert telepítünk a
+ rendszerünkre, akkor a program a /var/tmp könyvtárba
+ tömöríti ki a hozzátartozó
+ csomag tartalmát. Ezért a nagyobb
+ szoftvercsomagok, mint például a
+ Firefox vagy az
+ OpenOffice esetén gondok
+ merülhetnek fel, ha nem rendelkezünk elegendõ
+ szabad területtel a /var/tmp
könyvtárban.
- A /usr partíció
- tartalmaz a rendszer mûködéséhez
- elengedhetetlenül számos fontos
- állományt, többek közt a portok
- gyûjteményét (ajánlott, lásd
- &man.ports.7;) és a forráskódot
- (választható). A portok és az
- alaprendszer forrásai telepítés
- során választhatóak, de
- telepítésük esetén akkor ezen a
- partíción legalább két
- gigabyte-nyi hely ajánlott.
+ A /usr
+ partíció tartalmaz a rendszer
+ mûködéséhez elengedhetetlenül
+ számos fontos állományt, többek
+ közt a portok gyûjteményét
+ (ajánlott, lásd &man.ports.7;) és a
+ forráskódot (választható). A
+ portok és az alaprendszer forrásai
+ telepítés során
+ választhatóak, de telepítésük
+ esetén akkor ezen a partíción
+ legalább két gigabyte-nyi hely
+ ajánlott.Vegyük figyelembe a tárbeli igényeket,
amikor megválasztjuk partíciók
méretét. Igen kellemetlen lehet, amikor
úgy futunk ki az egyik partíción a szabad
helybõl, hogy a másikat alig
használjuk.Egyes felhasználók szerint
elõfordulhat, hogy a &man.sysinstall.8;
- Auto-defaults opciója a
- /var és /
- partíciók méretét túl
- kicsire választja. Partícionáljuk
- okosan és nagylelkûen!
+ Auto-defaults opciója a /var és / partíciók
+ méretét túl kicsire választja.
+ Partícionáljuk okosan és
+ nagylelkûen!A lapozóállomány
partíciójaa lapozóállomány
méretea lapozóállomány
partíciójaÁltalános szabály, hogy a
lapozóállományt tároló
partíció mérete legyen a rendszer fizikai
memóriájának (RAM) kétszerese.
Például, ha a
számítógépünk
128 megabyte memóriával rendelkezik, akkor
a lapozóállomány méretének
256 megabyte-nak kell lennie. Az ennél kevesebb
memóriát maguknak tudó rendszerek
több lapozóállománnyal jobban
teljesítenek. 256 megabyte-nál kevesebb
lapozóállományt semmiképpen sem
ajánlunk, és inkább a fizikai
memóriát érdemes
bõvítenünk. A rendszermag virtuális
memóriát kezelõ lapozási
algoritmusait úgy állították be,
hogy abban az esetben teljesítsenek a legjobban, ha a
lapozóállomány mérete
legalább kétszerese a központi
memória mennyiségének. A túl
kicsi lapozóállomány
beállítása rontja a virtuális
memória lapkeresésési rutinjának
hatékonyságát és a memória
bõvítése esetén még
további gondokat is okozhat.A több SCSI-lemezzel (vagy a
különbözõ vezérlõkre
csatlakoztatott több IDE-lemezzel) bíró
nagyobb rendszerek esetében érdemes minden egyes
(de legfeljebb négy) meghajtóra
beállítani lapozóállományt.
A lapozóállományoknak közel azonos
méretûnek kell lenniük. A rendszermag
tetszõleges méretûeket képes kezelni,
azonban a belsejében alkalmazott adatszerkezetek a
legnagyobb lapozóállomány
méretének négyszereséig
képesek növekedni. Ha a
lapozóállományokat
nagyjából ugyanazon a méreten tartjuk,
akkor a rendszermag képes lesz a lapozáshoz
felhasznált területet optimálisan elosztani
a lemezek között. A nagyobb
lapozóállományok használata
még akkor is jól jön, ha nem is
használjuk annyira. Segítségével
sokkal könnyebben talpra tudunk állni egy
elszabadult program tombolásából,
és nem kell rögtön
újraindítanunk a rendszert.
-
Miért partícionáljunk?Egyes felhasználók úgy
gondolják, hogy egyetlen nagyobb méretû
partíció mindenre megfelel, ám ez a
gondolat több okból is helytelennek
tekinthetõ. Elõször is, minden egyes
partíciónak eltér a
mûködési jellemzõje, és
különválasztásukkal
lehetõvé válik az
állományrendszerek megfelelõ
behangolása. Például a
rendszerindításhoz használt és a
- /usr partíciókat
- többségében csak olvasásra
- használják, és nem sokat írnak
- rájuk. Eközben a /var
- és /var/tmp
+ /usr
+ partíciókat többségében csak
+ olvasásra használják, és nem sokat
+ írnak rájuk. Eközben a /var és /var/tmp
könyvtárakban zajlik az írások
és olvasások túlnyomó
része.A rendszer megfelelõ felosztásával a
kisebb, intenzívebben írt
partíciókon megjelenõ
töredezettség nem szivárog át a
többségében csak olvasásra
használt partíciókra. Ha a sokat
írt partíciókat közel tartjuk a
lemez széléhez, akkor azokon a
partíciókon növekszik az I/O
teljesítménye, ahol az a leggyakrabban
megjelenik. Mivel mostanság az I/O
teljesítményére inkább a nagyobb
partíciók esetén van szükség,
azzal nem érünk el ebben különösebb
mértékû növekedést, ha a
- /var partíciót a lemez
- szélére toljuk. Befejezésképpen
- hozzátesszük, hogy ennek vannak biztonsági
- megfontolásai is. Egy kisebb és takarosabb
- rendszerindító partíció, ami
- többnyire írásvédett, nagyobb
- eséllyel él túl egy csúfos
+ /var
+ partíciót a lemez szélére toljuk.
+ Befejezésképpen hozzátesszük, hogy
+ ennek vannak biztonsági megfontolásai is. Egy
+ kisebb és takarosabb rendszerindító
+ partíció, ami többnyire
+ írásvédett, nagyobb eséllyel
+ él túl egy csúfos
rendszerösszeomlást.
-
A mag beállításarc állományokrc.confA rendszer beállításaira vonatkozó
információk központi lelõhelye az
/etc/rc.conf állomány. Ez az
állomány tartalmazza a
beállításokra vonatkozó adatok
széles körét, amelyet elsõsorban a
rendszer indulása során a rendszer
beállítására használnak. Erre
a neve is utal: ez az rc*
állományok konfigurációs
állománya.A rendszergazda az rc.conf
állományban tudja felülbírálni az
/etc/defaults/rc.conf
állományban szereplõ alapértelmezett
beállításokat. Az
alapértelmezéseket tartalmazó
állományt nem szabad közvetlenül
- átmásolni az /etc
- könyvtárba, hiszen alapértelmezett
- értékeket tartalmaz, nem pedig mintákat.
- Minden rendszerfüggõ beállítást
- magában az rc.conf
- állományban kell elvégezni.
+ átmásolni az /etc könyvtárba, hiszen
+ alapértelmezett értékeket tartalmaz, nem
+ pedig mintákat. Minden rendszerfüggõ
+ beállítást magában az
+ rc.conf állományban kell
+ elvégezni.
Számos stratégia létezik a tömegesen
adminisztrált
számítógépeknél a
közös és rendszerfüggõ
beállítások
különválasztására, ezáltal a
karbantartási költségek
csökkentésére. A közös
beállításokat ajánlott egy
másik helyre, például az
/etc/rc.conf.site állományba
rakni, majd hivatkozni erre a kizárólag csak
rendszerfüggõ információkat
tartalmazó /etc/rc.conf
állományból.Mivel az rc.conf állományt
az &man.sh.1; dolgozza fel, ezt elég könnyen el tudjuk
érni. Például:rc.conf: . /etc/rc.conf.site
hostname="node15.example.com"
network_interfaces="fxp0 lo0"
ifconfig_fxp0="inet 10.1.1.1"rc.conf.site: defaultrouter="10.1.1.254"
saver="daemon"
blanktime="100"Az rc.conf.site állomány
ezt követõen az rsync parancs
használatával már
szétszórható a rendszerben, miközben az
rc.conf állomány
mindenkinél egyedi marad.Ha a rendszert a &man.sysinstall.8; vagy a make
world használatával
frissítjük, akkor az rc.conf
tartalma nem íródik felül, így a
rendszer beállításairól
szóló adatok nem vesznek el.Az alkalmazások
beállításaA telepített alkalmazások
általában saját konfigurációs
állományokkal, amelyek pedig saját
formátummal stb. rendelkeznek. Fontos, hogy ezeket az
állományokat az alaprendszertõl
elkülönítve tároljuk, ezáltal a
csomagkezelõ eszközök könnyen rájuk
tudjanak találni és dolgozni velük./usr/local/etcEzeket az állományokat általában a
- /usr/local/etc könyvtárban
- találjuk meg. Amennyiben egy alkalmazáshoz
- több konfigurációs állomány is
- tartozik, akkor ahhoz ezen belül egy külön
- alkönyvtár jön létre.
+ /usr/local/etc
+ könyvtárban találjuk meg. Amennyiben egy
+ alkalmazáshoz több konfigurációs
+ állomány is tartozik, akkor ahhoz ezen belül
+ egy külön alkönyvtár jön
+ létre.
Normális esetben, amikor egy portot vagy csomagot
telepítünk, minta konfigurációs
állományokat is kapunk. Ezek nevében
többnyire a .default utótag
szerepel. Ha még nincs konfigurációs
állomány az adott alkalmazáshoz, akkor a
.default jelzésû
állományokból ez
létrehozható.
- Példaképpen most tekintsük a
- /usr/local/etc/apache könyvtár
- tartalmát:
+ Példaképpen most tekintsük a /usr/local/etc/apache
+ könyvtár tartalmát:-rw-r--r-- 1 root wheel 2184 May 20 1998 access.conf
-rw-r--r-- 1 root wheel 2184 May 20 1998 access.conf.default
-rw-r--r-- 1 root wheel 9555 May 20 1998 httpd.conf
-rw-r--r-- 1 root wheel 9555 May 20 1998 httpd.conf.default
-rw-r--r-- 1 root wheel 12205 May 20 1998 magic
-rw-r--r-- 1 root wheel 12205 May 20 1998 magic.default
-rw-r--r-- 1 root wheel 2700 May 20 1998 mime.types
-rw-r--r-- 1 root wheel 2700 May 20 1998 mime.types.default
-rw-r--r-- 1 root wheel 7980 May 20 1998 srm.conf
-rw-r--r-- 1 root wheel 7933 May 20 1998 srm.conf.defaultAz állományok mérete jól mutatja,
hogy csak az srm.conf változott meg.
Az Apache késõbbi
frissítései ezt az állományt nem
fogják felülírni.TomRhodesÍrta: Szolgáltatások indításaszolgáltatásokA felhasználók közül sokan
választják a &os;
Portgyûjteményében található
külsõ szoftverek telepítését. A
telepített szoftvert gyakran ilyenkor úgy kell
beállítani, hogy a rendszer
indulásával együtt induljon. Az olyan
szolgáltatások, mint például a
mail/postfix vagy a www/apache13 csupán két
+ role="package">www/apache13 csupán két
olyan szoftvercsomag, amelyet a rendszerrel együtt kell
elindítani. Ebben a szakaszban a külsõ
szoftverek indítására használatos
eljárásokkal foglalkozunk.A &os;-ben megjelenõ legtöbb
szolgáltatás, mint például a
&man.cron.8;, a rendszerindító szkripteken
keresztül kel életre. Habár ezek a szkriptek a
&os; egyes verziói vagy az egyes gyártók
esetén különbözhetnek, azonban az
mindegyikükben közös, hogy az
elindításukra vonatkozó
beállítások egyszerû
indítószkriptekkel adhatóak meg.Az rc.d eljövetele elõtt az
alkalmazások indításához be kellett
másolni egy egyszerû indítószkriptet a
/usr/local/etc/rc.d
könyvtárba, melyet aztán a rendszer
indításához használt szkriptek
olvastak be. Ezek a szkriptek aztán késõbb a
rendszer indítása során
végrehajtódtak.Miközben rengetegen próbálták
beolvasztani ezt a megszokott konfigurációs
stílust egy új rendszerbe, a külsõ
alkalmazások mûködtetéséhez
továbbra is az elõbb említett
könyvtárban elhelyezett szkriptekre van
szükség. A szkriptek közötti apró
eltérések leginkább abban nyilvánulnak
meg, hogy az rc.d könyvtárat
használják-e vagy sem. A &os; 5.1-es
verziója elõtt a régebbi
konfigurációs megoldást
használták, de az új szkriptek szinte az
összes esetben megfelelõnek bizonyultak.Jóllehet minden szkriptnek teljesítenie kell
minimális elvárásokat, ezek a legtöbb
esetben függetlenek a &os; konkrét
verziójától. Minden szkriptnek a rendszer
által végrehajthatónak kell lennie. Ezt
úgy érhetjük el, ha a chmod
parancs felhasználásával
beállítjuk a 555
kódú engedélyeket. Ezen felül a
szkriptnek még tudnia kell kezelnie a
start és stop
paramétereket.A legegyszerûbb indítószkript valahogy
így nézhet ki:#!/bin/sh
echo -n ' utility'
case "$1" in
start)
/usr/local/bin/utility
;;
stop)
kill -9 `cat /var/run/utility.pid`
;;
*)
echo "Usage: `basename $0` {start|stop}" >&2
exit 64
;;
esac
exit 0Ez a szkript képes értelmezni a
start és stop
parancsokat az alkalmazás számára, ami itt
egyszerûen csak a utility nevet
kapta.Manuálisan így tudjuk elindítani:&prompt.root; /usr/local/etc/rc.d/utility startHabár nem mindegyik külsõ szoftvert kell
külön megadni az rc.conf
állományban, majdnem minden nap
módosítani kell egy portot a
beállítások elfogadásához. Az
egyes alkalmazásokra vonatkozó
kiegészítõ információkhoz
nézzük meg a telepítés után
keletkezõ üzeneteket. Egyes külsõ
szoftverekhez mellékelnek olyan
indítószkripteket, amelyek lehetõvé
teszik az alkalmazás meghívását az
- rc.d könyvtárból.
- Ezekrõl a következõ szakaszban még
- szólni fogunk.
+ rc.d
+ könyvtárból. Ezekrõl a
+ következõ szakaszban még szólni
+ fogunk.
Az alkalmazások részletesebb
beállításaMost miután a &os; rendelkezik egy
rc.d könyvtárral, az
alkalmazások indításának
beállítása is könnyebbé
és ügyesebbé vált. Az rc.d
mûködésérõl szóló
szakaszban megismert kulcsszavak
segítségével az alkalmazások
mostantól kezdve a többi szolgáltatás,
például a DNS után
indulnak el, és az rc.conf
állományon keresztül a szkriptekbe
huzalozottak helyett most már tetszõleges
paramétereket is átadhatunk stb. Egy
egyszerû szkript ehhez hasonlóan néz
ki:#!/bin/sh
#
# PROVIDE: utility
# REQUIRE: DAEMON
# KEYWORD: shutdown
#
# NE VÁLTOZTASSUK MEG AZ ITT LÉVÕ ALAPÉRTELMEZÉSEKET,
# INKÁBB AZ /etc/rc.conf ÁLLOMÁNYBAN ÁLLÍTSUK BE EZEKET
#
utility_enable=${utility_enable-"NO"}
utility_flags=${utility_flags-""}
utility_pidfile=${utility_pidfile-"/var/run/utility.pid"}
. /etc/rc.subr
name="utility"
rcvar=`set_rcvar`
command="/usr/local/sbin/utility"
load_rc_config $name
pidfile="${utility_pidfile}"
start_cmd="echo \"Starting ${name}.\"; /usr/bin/nice -5 ${command} ${utility_flags} ${command_args}"
run_rc_command "$1"Ez a szkript gondoskodik arról, hogy a
utility nevû alkalmazás a
daemon szolgáltatás után
induljon el. Emellett még felkínál egy
módszert a PID avagy futó
programok azonosítójának
beállítására és
nyomonkövetésére is.Ezt követõen az /etc/rc.conf
állományból az alkalmazás
elindítható az alábbi sor
hozzáadásával:utility_enable="YES"Ez a módszer megkönnyíti a paranccsorban
átadott paraméterek
módosítását, az
/etc/rc.subr állományban
szereplõ alapértelmezett függvények
használatát, az &man.rcorder.8;
segédprogrammal szembeni kompatibilitást és
az rc.conf állomány
könnyebb beállítását.Szolgáltatások indítása
szolgáltatásokkalMás szolgáltatások, mint
például a POP3 vagy
IMAP szerverek démonai stb. az
&man.inetd.8; segítségével
indíthatóak el. Ez a
Portgyûjteménybõl telepített
szolgáltatások esetén magával vonja
az adott segédprogram felvételét vagy a
hozzátartozó sor
engedélyezését az
/etc/inetd.conf állományban.
Az inetd
mûködésével és annak
beállításával
mélyrehatóbban az inetd szakasza
foglalkozik.A legtöbb esetben a &man.cron.8; démon
használata kézenfekvõ a rendszerszintû
szolgáltatások elindításában.
Ez a megközelítés számos elõnyt
tartogat, mivel a cron ezeket a programokat a
felhasználó crontab
állománya alapján futtatja. Ezzel a mezei
felhasználók számára is
lehetõvé válik, hogy elindítsanak
és karbantsanak alkalmazásokat.A cron segédprogramnak van egy
olyan speciális lehetõsége, hogy az idõ
helyett a @reboot értéket
adhatjuk meg. Ennek hatására a feladat a
&man.cron.8; indításával együtt fut
le, tehát megszokott esetben a rendszer
indítása során.TomRhodesÍrta: A cron segédprogram
beállításacronbeállításaA &man.cron.8; a &os; egyik leghasznosabb
segédprogramja. A cron
segédprogram a háttérben fut és
folyamatosan figyeli az /etc/crontab
állományt. Emellett a cron
új crontab állományok
után kutatva folyamatosan ellenõrzi a
- /var/cron/tabs könyvtárat. Ezek
- a crontab állományok olyan
- feladatokról tárolnak adatokat, amelyeket a
- cron programnak egy adott pillanatban el kell
- végeznie.
+ /var/cron/tabs
+ könyvtárat. Ezek a crontab
+ állományok olyan feladatokról tárolnak
+ adatokat, amelyeket a cron programnak egy adott
+ pillanatban el kell végeznie.
A cron a konfigurációs
állományok két külön
fajtáját, a rendszer- és
felhasználói crontabokat használja. A
két típus között levõ egyetlen
különbség a hatodik mezõben
található. A rendszerszintû crontabok
esetében a hatodik mezõ annak a
felhasználónak a nevét tartalmazza, amivel a
program fut. Ezzel a rendszer szintjén
mûködõ crontaboknak megadatott az a
képesség, hogy tetszõleges
felhasználó nevében futtassanak programokat.
A felhasználók crontabjaiban a hatodik mezõ a
futtatandó parancsot tartalmazza, és ilyenkor az
összes parancs a crontabot létrehozó
felhasználó nevében hajtódik
végre. Ez utóbbi egy fontos biztonsági
jellemzõ.A felhasználói crontabok lehetõvé
teszik az egyes felhasználók
számára, hogy a root
felhasználó jogosultságai
nélkül képesek legyenek feladatokat
ütemezni, ugyanis a felhasználóhoz
tartozó crontabban szereplõ parancsok mindegyike a
tulajdonosának engedélyeivel fut.Az átlagos felhasználókhoz
hasonlóan a root
felhasználónak is lehet crontabja, ami nem
ugyanazt, mint az /etc/crontab (a rendszer
saját crontab állománya). De mivel a
rendszernek külön crontabja van, ezért a
root felhasználónak nem kell
külön crontabot létrehozni.Vessünk egy pillanatást az
/etc/crontab (a rendszer crontabjának)
tartalmára:# /etc/crontab - a root crontabja &os; alatt
#
# $&os;: src/etc/crontab,v 1.32 2002/11/22 16:13:39 tom Exp $
#
#
SHELL=/bin/sh
PATH=/etc:/bin:/sbin:/usr/bin:/usr/sbin
HOME=/var/log
#
#
#minute hour day month wday who command
#
#
*/5 * * * * root /usr/libexec/atrun A &os; legtöbb konfigurációs
állományához hasonlóan itt is a
# jelöli a megjegyzéseket. Az
ilyen megjegyzések remekül
használhatóak annak feljegyzésére,
hogy mit és miért akarunk futtatni. A
megjegyzések azonban nem szerepelhetnek a paranccsal
egy sorban, mivel máskülönben a parancs
részeként kerülnek
értelmezésre. Tehát mindig új
sorba kell raknunk ezeket. Az üres sorokat a program nem
veszi figyelembe.Elõször is meg kell adnunk egy környezetet.
Az egyenlõség (=) karakter
használatos a környezeti
beállítások
meghatározására, ahogy mindezt az itteni
példában is tapasztalhatjuk a
SHELL, PATH és
HOME értékek esetében. Ha
nem adunk meg mást, akkor a cron az
alapértelmezés szerinti sh
parancsértelmezõt használja. Ha nem adjuk
meg a PATH változó
értékét, akkor minden
állományra abszolút elérési
úttal kell hivatkoznunk, mivel ennek nincs
alapértelmezett értéke. Ha nem
definiáljuk a HOME változó
értékét, akkor a cron
a parancshoz tartozó felhasználó
könyvtárából fog dolgozni.Ez a sor írja le a megadható hét
mezõt. Az itt szereplõ értékek a
minute (perc), hour
(óra), mday (a hónap napja),
month (hónap),
wday (a hét napja),
who (ki) és
command (mit). A mezõk szinte
maguktól értetõdnek. A
minute egy órán belül
adja meg azokat a perceket, amikor az adott parancsot le kell
futtatni. A hour hasonló a
minute beállításhoz,
csak az itt szereplõ értékét
órákban kell értelmezni. Az
mday a hónap napjaiban
számol. A month hasonló a
minute és hour
opciókhoz, de ez hónapot jelöl. A
wday a hét egy napját jelzi.
Ezeknek a mezõknek numerikus, valamint a
huszonnégy órás
idõformátumnak megfelelõ
értékeket kell tartalmazniuk. A
who mezõ, a többiektõl
eltérõ módon, csak az
/etc/crontab állományban
jelenik meg. Ez a mezõ adja meg, hogy a parancsot milyen
felhasználóval kell futtatni. Ez az
opció nem jelenik meg a felhasználók
saját crontab
állományainak telepítésekor. A
sor végén láthatjuk még a
command oszlopot is. Ez az utolsó
mezõ, és ide kerül a
végrehajtandó parancs.Ez az utolsó sor a fentebb tárgyalt
értékeket határozza meg.
Észrevehetjük, hogy a sor egy
*/5 alakú felírással
kezdõdik, amelyet további *
karakterek követnek. A * karakterek
jelentése elsõ-utolsó, ami
arra utal, hogy mindig. Ennek
megfelelõen úgy értelmezhetjük ezt a
sort, hogy a root
felhasználóval le kell futtatni az
atrun parancsot minden ötödik
percben, függetlenül attól, hogy milyen nap
vagy hónap van. Az atrun
parancsról részletesebban az &man.atrun.8; man
oldalán kapunk
felvilágosítást.Az itt szereplõ parancsoknak tetszõleges
mennyiségû paraméter
átadható, azonban a több soron
keresztül átívelõ parancsok
tördelését a sor végén a
\ karakterrel kell jelezni.Ez mindegyik crontab
állomány alapbeállítása,
habár ettõl általában egy dologban
eltérnek. A hatodik mezõ, ahol a
felhasználót adtuk meg, csak a rendszer
/etc/crontab
állományában jelenik meg. Ez a mezõ a
felhasználók crontab
állományaiból kimarad.Egy crontab telepítéseNem kötelezõ az itt ismertetésre
kerülõ módon szerkeszteni vagy
telepíteni a rendszer crontabját.
Egyszerûen nyissuk meg a kedvenc
szövegszerkesztõnkkel és a
cron segédprogram majd
észreveszi, hogy az állomány
megváltozott, majd ennek megfelelõen neki is
lát a módosított változat
használatának. Errõl a
GYIK-ban (angolul) többet is megtudhatunk.Egy frissen készített
felhasználói crontab
telepítéséhez elõször a kedvenc
szövegszerkesztõnk segítségével
létre kell hoznunk a megfelelõ
formátumú állományt, majd
használnunk a crontab
segédprogramot. Ennek általános
alakja:&prompt.user; crontab crontab_állományEbben a példában a
crontab_állomány
a korábban létrehozott
crontab neve lesz.Lehetõségünk van lekérdezni a
telepített crontab
állományokat: egyszerûen adjuk át a
kapcsolót a
crontab parancsnak és
nézzük meg mit ad vissza.A crontab -e használata olyan
felhasználók számára
ajánlott, akik sablon alkalmazása
nélkül szeretnének teljesen maguktól
megírni egy crontab állományt. Ennek
hatására a kiválasztott
szövegszerkesztõ egy üres állományt
kap. Miután ezt az állományt
elmentettük, a crontab programmal
magától telepítésre
kerül.Ha a késõbbiekben törölni akarjuk a
felhasználónkhoz tartozó
crontab állományt, akkor erre
a célra használjuk a crontab
kapcsolóját.TomRhodesÍrta: Az rc használata &os; alattA rendszer indítására a &os; 2002-ben
átvette a NetBSD rc.d
rendszerét. Ezt a felhasználók könnyen
- felismerhetik a /etc/rc.d
+ felismerhetik a /etc/rc.d
könyvtárban található
állományokról. A legtöbbjük olyan
alapvetõ szolgáltatások, amelyeket a
, és
paraméterekkel lehet
vezérelni. Például az &man.sshd.8; az
alábbi paranccsal indítható
újra:&prompt.root; /etc/rc.d/sshd restartEz az eljárás hasonló a többi
szolgáltatás esetén is. Természetesen
ezek a szolgáltatások általában
maguktól indulnak el a rendszer indítása
során az &man.rc.conf.5; állományban megadott
szerint. Például ha a rendszerünk
indulásakor szeretnénk aktiválni a
hálózati címfordítással
foglalatoskodó démont, akkor csak adjuk hozzá
az /etc/rc.conf állományhoz a
következõ sort:natd_enable="YES"Amennyiben a sor már
szerepel benne, akkor egyszerûen írjuk át a
értéket -re.
Ezután az rc szkriptek a a rendszer következõ
indításakor a lentieknek megfelelõen
automatikusan elindítják a
hozzátartozó szolgáltatásokat
is.Mivel az rc.d rendszert elsõsorban
arra használják, hogy szolgáltatásokat
indítsanak el vagy állítsanak le az
operációs rendszerrel együtt, a
szabványos ,
és paraméterek csak abban
az esetben látják a feladatukat, ha a nekik
megfelelõ változókat beállítottuk
az /etc/rc.conf állományban.
Tehát például a sshd
restart csak abban az esetben fog bármit is
csinálni, ha az /etc/rc.conf
állományban az sshd_enable
változót a
értékre állítottuk. Ha az
/etc/rc.conf
beállításaitól függetlenül
kívánunk egy szolgáltatásnak
, vagy
parancsot adni, akkor elé kell
tennünk egy one szót.
Például ha az sshd
szolgáltatás
újraindításához az
/etc/rc.conf tartalmát figyelmen
kívül akarjuk hagyni, akkor ezt a parancsot kell
kiadnunk:&prompt.root; /etc/rc.d/sshd onerestartKönnyen le tudjuk ellenõrizni, hogy az adott
szolgáltatás az /etc/rc.conf
részérõl engedélyezett-e, ha a neki
megfelelõ rc.d szkriptnek megadjuk az
paramétert. Ennek
segítségével például a
rendszergazda így képes ellenõrizni, hogy a
sshd szolgáltatást
engedélyezi-e az /etc/rc.conf:&prompt.root; /etc/rc.d/sshd rcvar
# sshd
$sshd_enable=YESA második sor (# sshd) az
sshd parancs kimenete, nem pedig a
root parancssora.A paraméterrel
kideríthetjük, hogy egy szolgáltatás
aktív-e. Ezzel például így tudjuk
ellenõrizni a sshd
szolgáltatás
mûködését:&prompt.root; /etc/rc.d/sshd status
sshd is running as pid 433.Az üzenet:Az sshd a 433-as azonosítóval fut.Bizonyos esetekben a paraméter
használatával lehetõségünk a
szolgáltatások
újraindítására is. Ilyenkor a
rendszer megpróbál egy olyan jelzést
küldeni a szolgáltatásnak, amivel a
konfigurációs állományainak
újraolvasását kéri. A
legtöbbször lényegében ez a
SIGHUP jelzést
kiküldését rejti magában. Ez a
lehetõség azonban nem mindegyik
szolgáltatás esetén érhetõ
el.Az rc.d rendszer nem csupán
hálózati szolgáltatások esetén
használatos, hanem nagyrészben
hozzájárul a rendszer
indításához is. Erre vegyük
példának a bgfsck
állományt. Amikor ez a szkript lefut, a
következõ üzenetet jeleníti meg:Starting background file system checks in 60 seconds.Az üzenet fordítása:A háttérben 60 másodperc múlva megkezdõdik az állományrendszerek ellenõrzése.Ennek megfelelõen tehát ezt az
állományt az állományrendszerek
háttérben folyó
ellenõrzésére használják, ami
pedig a rendszer indítása során fut
le.Számos rendszerszolgáltatás
igényel a mûködéséhez
további szolgáltatásokat.
Például a NIS és más egyéb
távoli eljáráshíváson
alapú szolgáltatások egészen addig nem
képesek elindulni, amíg az
rpcbind (portmapper)
szolgáltatást el nem indítjuk. Az ilyen
jellegû gondok feloldására az
indítószkriptek elején levõ
megjegyzésekben található egy kevés
metainformáció a szkript
mûködéséhez szükséges elemekre
(függõségeire) vonatkozóan. A rendszer
indítása közben az &man.rcorder.8; nevû
program képes a megjegyzések közt ezeket az
információkat feldolgozni és ebbõl
megállapítani, hogy a függõségi
viszonyok betartásával milyen sorrendben kell
elindítani a rendszer által felkínált
szolgáltatásokat.Ehhez a következõ kulcsszavakat kell megadni az
egyes indító szkriptek elején (az
&man.rc.subr.8; így tudja
engedélyezni az indító
szkriptet):PROVIDE:
segítségével megmondjuk, hogy ez az
állomány milyen szolgáltatásokat
nyújt.A következõ kulcsszavak az egyes
indítóállományok elején
szerepelhetnek. Nem kell feltétlenül
használnunk ezeket, de velük az &man.rcorder.8;
munkáját segíthetjük:REQUIRE: felsoroljuk azokat a
szolgáltatásokat, amelyek a
futásához kellenek. Az állomány
tehát az itt megadott szolgáltatások
után fog lefutni.BEFORE: felsoroljuk azokat a
szolgáltatásokat, amelyek
elõtt futtatni kell ezt az
állományt.Az indító szkriptekben a kulcsszavak ügyes
megválasztásával a rendszergazda nagyon
finoman képes az indításkor
végrehajtódó szkriptek sorrendjét
szabályozni és a többi &unix; alapú
operációs rendszerbõl ismert
futtatási szintek használata
nélkül vezérlelni a rendszerben megjelenõ
szolgáltatásokat.Az rc.d rendszerrõl bõvebben az
&man.rc.8; és &man.rc.subr.8; man oldalakon olvashatunk.
Ha szeretnénk saját rc.d
szkripteket írni vagy javítani a már
meglevõeken, akkor ez a cikk (angolul)
segítségünkre lehet.MarcFonvieilleÍrta: A hálózati kártyák
beállításahálózati kártyákbeállításaManapság már el sem tudunk képzelni
számítógépet hálózati
csatlakozás nélkül. A hálózati
csatolókártyák hozzáadása
és beállítása egy &os; rendszergazda
mindennapos feladata.A megfelelõ meghajtóprogram
felderítésehálózati kártyákmeghajtóMielõtt bárminek is nekikezdenénk,
érdemes tisztában lennünk azzal, hogy a
rendelkezésünkre álló kártya
milyen típusú, milyen chipet használ
és hogy PCI vagy ISA buszon csatlakozik-e. A &os; a PCI
és ISA csatolós kártyák
széles spektrumát ismeri. Az egyes
kiadásokhoz mellékelt Hardware
Compatibility List (Hardverkompatibilitási lista)
dokumentumokban tudjuk ellenõrizni, hogy a
kártyákat ismeri a rendszer.Miután meggyõzõdtünk róla, hogy
a kártyánkat ismeri a rendszer, meg kell
keresnünk a hozzátartozó meghajtót. A
/usr/src/sys/conf/NOTES és a
/usr/src/sys/arch/conf/NOTES
állományok tartalmazzák a
hálózati kártyák meghajtóinak
rövid leírását, benne a
támogatott chipsetek és kártyák
típusaival. Ha ez alapján nem tudjuk teljes
biztosággal eldönteni, hogy melyik a
számunkra megfelelõ meghajtó,
nézzük meg a saját man oldalát. Ezen
a man oldalon megtaláljuk az által ismert
összes eszközt és velük kapcsolatban
elõforduló jellemzõ
problémákat.Ha egy elterjedt típust sikerült
beszereznünk, akkor nem kell különösebben
sokáig keresnünk a neki megfelelõ
meghajtót. Az ismertebb hálózati
kártyák meghajtói ugyanis alapból
benne vannak a GENERIC rendszermagban,
ezért a rendszer indítása során
ehhez hasonlóan meg is jelennek a
kártyák:dc0: <82c169 PNIC 10/100BaseTX> port 0xa000-0xa0ff mem 0xd3800000-0xd38
000ff irq 15 at device 11.0 on pci0
dc0: Ethernet address: 00:a0:cc:da:da:da
miibus0: <MII bus> on dc0
ukphy0: <Generic IEEE 802.3u media interface> on miibus0
ukphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
dc1: <82c169 PNIC 10/100BaseTX> port 0x9800-0x98ff mem 0xd3000000-0xd30
000ff irq 11 at device 12.0 on pci0
dc1: Ethernet address: 00:a0:cc:da:da:db
miibus1: <MII bus> on dc1
ukphy1: <Generic IEEE 802.3u media interface> on miibus1
ukphy1: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, autoEbben a példában láthatunk is
két olyan kártyát, amelyek a &man.dc.4;
meghajtót használják.Ha a hálózati kártyánk
meghajtója nem szerepel a GENERIC
konfigurációban, akkor a
mûködéséhez be kell tölteni a
megfelelõ meghajtót. Ezt alapvetõen
kétféleképpen érhetjük
el:Ennek legegyszerûbb módja, ha a
&man.kldload.8; használatával
alkalmanként vagy a
/boot/loader.conf
állományban a megfelelõ sor
hozzáadásával a rendszer
indításával együtt
betöltjük a hálózati kártya
meghajtójához tartozó modult. Nem
mindegyik hálózati kártya
meghajtója érhetõ el modul
formájában. Erre konkrét
például szolgálnak az ISA
kártyákhoz tartozó modulok.Másik lehetõségünk, ha
statikusan beépítjük a
kártyánk támogatását a
- rendszermagba. A
- /usr/src/sys/conf/NOTES és az
+ rendszermagba. A
+ /usr/src/sys/conf/NOTES és az
/usr/src/sys/arch/conf/NOTES
állományok, valamint a meghajtóhoz
tartozó man oldal elolvasásából
megtudhatjuk a rendszermag beállításait
tartalmazó állományban megadandó
paramétereket. A rendszermag
újrafordítását lásd . Ha a rendszermag
(GENERIC) az indulás
során észlelte a kártyánkat, nem
kell újat készítenünk.A &windows; NDIS meghajtóinak
használataNDISNDISulator&windows;
meghajtókMicrosoft WindowsMicrosoft WindowseszközmeghajtókKLD (a rendszermag betölthetõ
objektuma)Sajnos még mindig sok olyan gyártó
akad, akik a nyílt forrású
közösség számára nem
adják ki a meghajtóik
mûködésének alapjait, mivel az ilyen
adatokat szakmai titkoknak tekintik. Ebbõl
következik, hogy a &os; és más
operációs rendszerek fejlesztõi
számára két választás
marad: vagy a gyári meghajtók
visszafejtésének hosszú és
fájdalmas útján haladva fejlesztik ki a
saját meghajtójukat, vagy pedig a
µsoft.windows; platformra kiadott meghajtók
binárisait hasznosítják. A legtöbb
fejlesztõ, köztük a &os; fejlesztõi is, ez
utóbbi megközelítést
választották.Bill Paul (wpaul) jóvoltából a
&os; 5.3-RELEASE változatában megjelent a
Network Driver Interface Specification (NDIS,
avagy hálózati meghajtók
szabványos felülete) natív
támogatása. A &os; NDISulator
(másnéven Project Evil, a Gonosz terve)
nevû komponense fog egy &windows;-os meghajtót
és elhiteti vele, hogy a &windows;-szal
kommunikál. Mivel az &man.ndis.4; meghajtó
&windows; binárisokat használ fel, ezért
csak &arch.i386; és &arch.amd64; rendszerek
esetén érhetõ el.Az &man.ndis.4; meghajtó leginkább a PCI,
CardBus és PCMCIA csatolójú
eszközök támogatására lett
kitalálva, az USB eszközöket még nem
ismeri.Az NDISulator használatához három
tényezõre van szükségünk:A rendszermag forrásaa &windowsxp; meghajtó binárisa
(.SYS a kiterjesztése)a &windowsxp; meghajtó
konfigurációs állománya
(.INF a kiterjesztése)Keressük meg az említett
állományokat az adott kártyához.
Ezeket általában a mellékelt CD-n vagy a
gyártó honlapján találjuk meg. A
most következõ példákban a
W32DRIVER.SYS és a
W32DRIVER.INF neveket fogjuk
használni.A &windows; i386 architektúrájú
verziójához készült
meghajtóprogramokat nem tudjuk a &os;/amd64
verziójával használni. A
mûködéshez amd64-re készült
&windows;-os meghajtókra van
szükség.A következõ lépés a
meghajtó binárisainak betölthetõ
modulba fordítása. Ennek
eléréséhez használjuk az
&man.ndisgen.8; parancsot a root
felhasználóval:&prompt.root; ndisgen /windowszos/meghajtó/W32DRIVER.INF/windowsos/meghajtó/W32DRIVER.SYSAz &man.ndisgen.8; egy interaktív
segédprogram, amely mûködése
közben még rákérdez
néhány szükséges
információra. Az aktuális
könyvtárban létrehoz egy rendszermagmodult,
amelyet az alábbi módon tudunk
betölteni:&prompt.root; kldload ./W32DRIVER.koAz elõállított modul mellé be
kell töltenünk még az
ndis.ko és az
if_ndis.ko modulokat is. Ez
általában minden olyan modul esetén
megtörténik magától, amely függ
az &man.ndis.4; használatától.
Kézileg az következõ parancsokkal tudjuk
ezeket betölteni:&prompt.root; kldload ndis
&prompt.root; kldload if_ndisItt az elsõ parancs betölti az NDIS miniport
meghajtó burkolására szánt
kódot, valamint a második a tényleges
hálózati csatolófelületet.Most pedig a &man.dmesg.8; kimenetében
ellenõrizzük, hogy történt-e valamilyen
hiba a betöltés során. Ha minden
jól ment, akkor az alábbiakhoz hasonló
kimenetet produkált:ndis0: <Wireless-G PCI Adapter> mem 0xf4100000-0xf4101fff irq 3 at device 8.0 on pci1
ndis0: NDIS API version: 5.0
ndis0: Ethernet address: 0a:b1:2c:d3:4e:f5
ndis0: 11b rates: 1Mbps 2Mbps 5.5Mbps 11Mbps
ndis0: 11g rates: 6Mbps 9Mbps 12Mbps 18Mbps 36Mbps 48Mbps 54MbpsInnentõl kezdve az ndis0
nevû eszközt úgy tudjuk használni,
mint bármelyik más hálózati
felületet (például
dc0).A többi modulhoz hasonló módon be
tudjuk állítani, hogy a rendszer
indulásával együtt betöltõdjenek
az NDIS modulok. Ehhez elõször másoljuk az
imént létrehozott modult, az
W32DRIVER.ko állományt a
/boot/modules
könyvtárba. Ezután adjuk hozzá a
következõ sort a
/boot/loader.conf állomány
tartalmához:W32DRIVER_load="YES"A hálózati kártya
beállításahálózati kártyákbeállításaAhogy betöltõdött a megfelelõ
meghajtó a hálózati
kártyánkhoz, be is kell állítanunk a
kártyát. A hálózati
kártyák sok más dologgal együtt
beállíthatóak a telepítés
során a sysinstall
segítségével.A rendszerünkben beállított
hálózati csatolófelületek
megjelenítéséhez gépeljük be a
következõ parancsot:&prompt.user; ifconfig
dc0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
inet 192.168.1.3 netmask 0xffffff00 broadcast 192.168.1.255
ether 00:a0:cc:da:da:da
media: Ethernet autoselect (100baseTX <full-duplex>)
status: active
dc1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
inet 10.0.0.1 netmask 0xffffff00 broadcast 10.0.0.255
ether 00:a0:cc:da:da:db
media: Ethernet 10baseT/UTP
status: no carrier
lp0: flags=8810<POINTOPOINT,SIMPLEX,MULTICAST> mtu 1500
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
inet 127.0.0.1 netmask 0xff000000
tun0: flags=8010<POINTOPOINT,MULTICAST> mtu 1500A &os; korábbi változatainál az
&man.ifconfig.8; parancsnak ehhez még meg kell adni az
kapcsolót is. Az &man.ifconfig.8;
érvényes paraméterezésével
kapcsolatban legyünk szívesek elolvasni a
hozzátartozó man oldalt.
Hozzátennénk, hogy IPv6
(inet6 stb.) típusú
bejegyzések nem szerepelnek a
példában.Az elõbbi parancs kimenetében a
következõ eszközök jelentek meg:dc0: az elsõ Ethernet
felületdc1: a második Ethernet
felületlp0: a párhuzamos port
felületelo0: a loopback
eszköztun0: a
ppp által használt
tunnelhez tartozó eszközA &os; a kártyához tartozó
meghajtó nevével és egy sorszámmal
azonosítja a rendszermag indulása során
talált eszközöket. Például az
sis2 a rendszerben
található harmadik olyan eszköz, amely a
&man.sis.4; meghajtót használja.A példában a dc0
eszköz aktív és
mûködõképes. Ennek legfontosabb
jelei:Az UP szó mutatja, hogy a
kártyát sikerült beállítani
és készen áll a
használatra.A kártya internet (inet)
címe (jelen esetünkben ez 192.168.1.3).Érvényes hálózati maszkkal
rendelkezik (netmask, ahol a 0xffffff00 a 255.255.255.0 címnek felel
meg).Érvényes broadcast
(üzenetszóró) címmel rendelkezik
(ami itt most 192.168.1.255).A kártya MAC-címe
(ether) 00:a0:cc:da:da:da.A hozzátartozó fizikai eszköz
kiválasztása automatikus (media:
Ethernet autoselect (100baseTX
<full-duplex>)). Láthatjuk, hogy a
dc1 eszközt egy
10baseT/UTP típusú fizikai
eszközhöz állítottuk be. Az egyes
meghajtókhoz tartozó fizikai
módokról a nekik megfelelõ man oldalakon
olvashatunk.A kapcsolat állapota (status)
active értékû,
tehát van vonal. A dc1
esetén láthatjuk, hogy a status: no
carrier (nincs vonal). Ez teljesen
normálisnak tekinthetõ minden olyan esetben,
amikor a kártyába még nem dugtunk
Ethernet-kábelt.Amennyiben az &man.ifconfig.8; kimenete valami
ilyesmi:dc0: flags=8843<BROADCAST,SIMPLEX,MULTICAST> mtu 1500
ether 00:a0:cc:da:da:daakkor az arra utal, hogy a kártyát nem
állítottuk be.A kártya beállításához a
root felhasználó
jogosultságaira van szükségünk. A
hálózati kártyák
beállítása az &man.ifconfig.8;
segítségével elvégezhetõ
parancssorból is, de a gép
újraindításakor az így megadott
értékek elvesznek. Ezért az
/etc/rc.conf állományba kell
felvennünk a hálózati kártyák
érvényes beállításait.A kedvenc szövegszerkesztõnkben nyissuk meg az
/etc/rc.conf állományt.
Minden egyes hálózati csatolóhoz fel kell
vennünk benne egy sort, ennek megfelelõen most a
példához tartozó módon az
alábbiakat:ifconfig_dc0="inet 192.168.1.3 netmask 255.255.255.0"
ifconfig_dc1="inet 10.0.0.1 netmask 255.255.255.0 media 10baseT/UTP"A dc0 és
dc1 neveket kell a rendszerünkben
ténylegesen megtalálható eszközök
neveire kicserélni, valamint megadni a nekik
megfelelõ címeket. A kártya
meghajtójának és az &man.ifconfig.8; man
oldalának elolvasásával
kideríthetjük az itt megadható további
beállításokat, valamint az &man.rc.conf.5;
man oldalán részletesebben megismerhetjük az
/etc/rc.conf formai
követelményeit.Ha a telepítés során
beállítottuk volna a hálózati
kapcsolatokat, akkor tapasztalhatjuk, hogy egyes
hálózati kártyák sorai itt
már szerepelnek. Ellenõrizzük le az
/etc/rc.conf tartalmát mielõtt
bõvítenénk!Mindezek mellett az /etc/hosts
állományba is be kell írnunk a helyi
hálózatunkon található
különféle gépek neveit és
IP-címeit, ha még nem szerepelnének ott.
Errõl további részleteket a &man.hosts.5; man
oldalról és az
/usr/share/examples/etc/hosts
állományból tudhatunk meg.Tesztelés és
hibaelhárításMiután az /etc/rc.conf
állományban elvégeztük a
szükséges változtatásokat,
érdemes újraindítanunk a
rendszerünket. Ennek révén
érvényesítjük a
csatolófelületekkel kapcsolatos
változtatásainkat és
ellenõrizzük, hogy így a rendszer
mindenféle hibaüzenet nélkül
képes elindulni.Ahogy a rendszerünk
mûködõképessé vált, ki is
tudjuk próbálni a hálózati
felületeket.Az Ethernet kártyák
tesztelésehálózati
kártyákteszteléseAz Ethernet kártyák helyes
beállításának
vizsgálatához két dolgot kell
kipróbálnunk. Elõször is
pingeljük magát a felületet, majd
ezután pingeljünk meg a helyi
hálózaton egy másik
számítógépet.Elsõként tehát próbáljuk
meg a helyi felületet:&prompt.user; ping -c5 192.168.1.3
PING 192.168.1.3 (192.168.1.3): 56 data bytes
64 bytes from 192.168.1.3: icmp_seq=0 ttl=64 time=0.082 ms
64 bytes from 192.168.1.3: icmp_seq=1 ttl=64 time=0.074 ms
64 bytes from 192.168.1.3: icmp_seq=2 ttl=64 time=0.076 ms
64 bytes from 192.168.1.3: icmp_seq=3 ttl=64 time=0.108 ms
64 bytes from 192.168.1.3: icmp_seq=4 ttl=64 time=0.076 ms
--- 192.168.1.3 ping statistics ---
5 packets transmitted, 5 packets received, 0% packet loss
round-trip min/avg/max/stddev = 0.074/0.083/0.108/0.013 msMost pedig pingeljünk meg egy másik
számítógépet a helyi
hálózaton:&prompt.user; ping -c5 192.168.1.2
PING 192.168.1.2 (192.168.1.2): 56 data bytes
64 bytes from 192.168.1.2: icmp_seq=0 ttl=64 time=0.726 ms
64 bytes from 192.168.1.2: icmp_seq=1 ttl=64 time=0.766 ms
64 bytes from 192.168.1.2: icmp_seq=2 ttl=64 time=0.700 ms
64 bytes from 192.168.1.2: icmp_seq=3 ttl=64 time=0.747 ms
64 bytes from 192.168.1.2: icmp_seq=4 ttl=64 time=0.704 ms
--- 192.168.1.2 ping statistics ---
5 packets transmitted, 5 packets received, 0% packet loss
round-trip min/avg/max/stddev = 0.700/0.729/0.766/0.025 msHa beállítottuk az
/etc/hosts állományt, akkor
a 192.168.1.2 helyett a
gép nevét is megadhatjuk.A hibák elhárításahálózati kártyákhibaelhárításaA hardverek és szoftverek
beállításaiban mindig is valódi
kín megtalálni a hibákat, és
ezeket a kínokat többnyire úgy tudjuk
enyhíteni, ha elõször az egyszerû
hibaforrásokat szûrjük ki. Csatlakoztattuk a
hálózati kábelt? Tisztességesen
beállítottuk a hálózati
szolgáltatásokat? Jól
állítottuk be a tûzfalat? A &os;
képes kezelni a kártyát? A
hibajelentések elküldése elõtt mindig
bújjuk át a támogatott
hardvereszközök listáját. A &os;
verziókat frissítsük a legújabb
STABLE változatra. Olvassuk át a
levelezési listák archívumait vagy
legalább keressünk rá a
témára az interneten.Ha a kártya mûködik, de a
teljesítménye nem kielégítõ,
érdemes ennek utánanézni a &man.tuning.7;
man oldalon. Ilyenkor érdemes ellenõrizni a
hálózati beállításainkat
is, mivel a helytelen beállítások gyakran
okoznak teljesítményvesztést.Bizonyos esetekben láthatunk egy vagy két
device timeout típusú
hibát is, ami a kártyák egyes
fajtáinál elfogadható. Ha azonban
folyamatosan megjelennek vagy zavaróvá
válnak, érdemes utánanéznünk,
hogy az eszköz nem ütközik-e valamelyik
másikkal. Mindenképpen
gyõzödjünk meg a kábelek
épségérõl és
csatlakoztatásáról. Még az is
elképzelhetõ, hogy egyszerûen csak egy
másik hálózati kártyára van
szükségünk.Néha felbukkanak watchdog
timeout jellegû hibák is. Ilyenkor
elsõként mindig a hálózati
kábelt ellenõrizzük. Egyes
kártyáknak olyan PCI foglalatra van
szükségük, ami támogatja a Bus
Mastering opciót. Néhány régebbi
alaplapon csak ilyen PCI bõvítõhely
található (ami általában a 0.
foglalat). Olvassunk utána a hálózati
kártya és az alaplap
dokumentációjában, hátha ezek
okozzák a problémát.A No route to host üzenet
akkor jelenik meg, ha a rendszer képtelen
megállapítani, milyen úton jutassa el a
csomagokat a megadott célhoz. Ez többnyire
olyankor történik meg, amikor nem adtunk meg
alapértelmezett kézbesítési
irányt (default route) vagy nem dugtuk be a
hálózati kábelt. A netstat
-rn kimenetébõl meg tudjuk
állapítani, hogy létezik-e
érvényes út az elérni
kívánt cél felé. Ha nincs, akkor
haladjunk tovább a re.A ping: sendto: Permission denied
jellegû üzeneteket többségében
egy helytelenül beállított tûzfal
okozza. Ha az ipfw
mûködését engedélyeztük a
rendszermagban, de nem adtunk meg hozzá
szabályokat, akkor az alapértelmezett
házirend szerint minden forgalmat blokkolni fog,
tehát még a pingeket is! Ezzel kapcsolatban a
elolvasását
ajánljuk.Elõfordulhat, hogy a kártya
teljesítménye igen gyenge vagy az átlagos
alatt van. Ilyenkor a fizikai eszköz
autoselect (automatikus)
típusú kiválasztása helyett
érdemes megadnunk a konkrét eszköznek
megfelelõ típust. Habár ez a legtöbb
hardver esetén beválik, nem mindenki
számára jelent megoldást.
Ismételten csak annyit tudunk ehhez hozzátenni,
hogy ellenõrizzük a hálózati
beállításainkat és olvassuk el a
&man.tuning.7; man oldalt.Virtuális címekvirtuális
címekIP-álnevekA &os; alkalmazása során igen gyakori a
virtuális címek használata, aminek
segítségével egyetlen szerver több
szerverként képes látszódni a
hálózaton. Ezt úgy érik el, hogy
egyetlen felülethez több hálózati
címet rendelnek hozzá.Az adott hálózati csatolófelületnek
van egy valódi címe és
tetszõleges számú
álcíme. Ezeket az
álcímeket általában az
/etc/rc.conf állományban kell
feltüntetni.Az fxp0 felület esetén az
álcímek megadása valahogy így
néz ki:ifconfig_fxp0_alias0="inet xxx.xxx.xxx.xxx netmask xxx.xxx.xxx.xxx"Figyeljük meg, hogy az álcímekhez
tartozó bejegyzések az alias0
névvel kezdõdnek és szám szerint
növekvõleg következnek egymás után
(például, _alias1,
_alias2 és így tovább). A
beállítás a sorozat elsõ kimaradó
tagjánál megszakad.Az álcímek hálózati
maszkjának pontos meghatározása nagyon
fontos, de szerencsére nem különösebben
bonyolult. Minden felület esetén lennie kell egy
olyan címnek, ami helyesen reprezentálja a
hálózat hálózati maszkját.
Minden egyéb olyan címnek, ami ugyanabba az
alhálózatba esik, végig
1-esekbõl álló
hálózati maszkkal kell rendelkezniük (ami
felírható 255.255.255.255 vagy 0xffffffff formájában
is).Például vegyük azt, hogy az
fxp0 felületen keresztül
két hálózathoz csatlakozunk, melyek
közül az egyik a 10.1.1.0, amelynek hálózati
maszkja 255.255.255.0, és a
202.0.75.16, amelynek
hálózati maszkja 255.255.255.240. Azt szeretnénk
elérni, hogy a rendszerünk az 10.1.1.1 címtõl az 10.1.1.5 címig, valamint a 202.0.75.17 címtõl a 202.0.75.20 címig jelenjen meg a
nekik megfelelõ hálózatokon. Ahogy arra
már fentebb is utaltunk, az adott hálózati
tartományban csak az elsõ címnek (ebben az
esetben ez a 10.0.1.1 és a
202.0.75.17) kell valódi
hálózati maszkkal rendelkeznie. Minden
további címnek (a 10.1.1.2 és 10.1.1.5 között, valamint a
202.0.75.18 és 202.0.75.20 között) legyen
255.255.255.255 a
hálózati maszkja.Az alábbi /etc/rc.conf
bejegyzések ennek az elrendezésnek megfelelõen
állítják be a kártyát:ifconfig_fxp0="inet 10.1.1.1 netmask 255.255.255.0"
ifconfig_fxp0_alias0="inet 10.1.1.2 netmask 255.255.255.255"
ifconfig_fxp0_alias1="inet 10.1.1.3 netmask 255.255.255.255"
ifconfig_fxp0_alias2="inet 10.1.1.4 netmask 255.255.255.255"
ifconfig_fxp0_alias3="inet 10.1.1.5 netmask 255.255.255.255"
ifconfig_fxp0_alias4="inet 202.0.75.17 netmask 255.255.255.240"
ifconfig_fxp0_alias5="inet 202.0.75.18 netmask 255.255.255.255"
ifconfig_fxp0_alias6="inet 202.0.75.19 netmask 255.255.255.255"
ifconfig_fxp0_alias7="inet 202.0.75.20 netmask 255.255.255.255"Konfigurációs állományok
- Az /etc
+ Az /etc
felépítéseA beállításokkal kapcsolatos
információk számos könyvtárban
tárolódnak. Többek közt:
- /etc
+ /etcÁltalános rendszerszintû
beállítások. Az itt levõ
adatok a rendszer egészére
vonatkoznak.
- /etc/defaults
+ /etc/defaultsA rendszer konfigurációs
állományainak alapértelmezett
változatait.
- /etc/mail
+ /etc/mailA &man.sendmail.8;
beállításához tartozó
további állományok, egyéb
levélküldéshez használt
adatok.
- /etc/ppp
+ /etc/pppA felhasználói és rendszermag
szintû ppp programok
beállításai.
- /etc/namedb
+ /etc/namedbA &man.named.8; mûködéséhez
szükséges adatok alapértelmezett
helye. Általában a
named.conf és a
zónák leírását
tároló állományok
kerülnek ide.
- /usr/local/etc
+ /usr/local/etcA telepített alkalmazások
konfigurációs állományai.
Néha alkalmazásonként
külön könyvtárakba kerülnek a
benne található
állományok.
- /usr/local/etc/rc.d
+ /usr/local/etc/rc.dA telepített alkalmazások
indításával és
leállításával kapcsolatos
szkriptek.
- /var/db
+ /var/dbAutomatikusan generált rendszerszintû
adatbázisok a csomagokkal, a programok
helyével stb. kapcsolatosan.Hálózati nevekhálózati
névDNS/etc/resolv.confresolv.confAz /etc/resolv.conf határozza
meg, hogy a &os; névfeloldója miként
fér hozzá az internet tartománynév
rendszeréhez (a DNS-hez).Az resolv.conf
állományban leggyakrabban a következõ
bejegyzések fordulnak elõ:nameserverAnnak a névszernek az IP-címe,
ahova a névfeloldó küldi a
kéréseit. A névszervereket a
felírás sorrendjében
kérdezi meg, maximum hármat.searchA hálózati nevek
keresõlistája. Ezt
általában a helyi hálózati
nevek tartománya határozza meg.domainA helyi tartomány neve.Egy átlagos resolv.conf
tartalma:search example.com
nameserver 147.11.1.11
nameserver 147.11.100.30Csak egy search és
domain opciót szabad
megadni.A DHCP használatakor a &man.dhclient.8; felül
szokta írni a resolv.conf
tartalmát a DHCP szervertõl kapott
információkkal./etc/hostshostsAz /etc/hosts az internet kezdeti
napjaira emlékeztetõ egyszerû szöveges
adatbázis. A nevek és IP-címek
közti leképzéseket a DNS és NIS
rendszerekkel karöltve oldja fel. Ide a helyi
hálózaton csatlakozó
számítógépek neveit lehet
beírni ahelyett, hogy erre a célra
beállítanánk egy külön
&man.named.8; szervert. Ezenkívül még az
/etc/hosts állományba
internetes nevek rekordját is felvehetjük, amivel
így csökkenthetjük a gyakran használt
nevek feloldására irányuló
külsõ kéréseket.# $&os;$
#
#
# A hálózati nevek adatbázisa
#
# Ebbe az állományba rakjuk a helyi hálózaton található címeket és
# a hozzájuk tartozó hálózati neveket, ahol szinte ugyanez az
# adatbázis megtalálható. A 'my.domain' helyére a saját gépünk
# nevét írjuk be.
#
# A DNS vagy NIS alkalmazása esetén ez az állomány nem feltétlenül kerül
# felhasználásra. A névfeloldás sorrendjét az /etc/nsswitch.conf
# állományban adhatjuk meg.
#
::1 localhost localhost.my.domain
127.0.0.1 localhost localhost.my.domain
#
# Egy képzeletbeli hálózat.
#10.0.0.2 myname.my.domain myname
#10.0.0.3 myfriend.my.domain myfriend
#
# Az RFC 1918-nak megfelelõen a következõ IP-címekkel rendelkezõ
# alhálózatok sosem csatlakozhatnak közvetlenül az internetre:
#
# 10.0.0.0 - 10.255.255.255
# 172.16.0.0 - 172.31.255.255
# 192.168.0.0 - 192.168.255.255
#
# Amikor csatlakozunk az internethez, egy valódi, hivatalosan
# kiosztott számra lesz szükségünk. Ne találjunk ki magunknak
# hálózati címeket, hanem használjuk az internetszolgáltatótól
# kapott címet (amennyiben rendelkezünk # ilyennel) vagy az
# regionális internetes nyilvántartásban szereplõ címek közül
# valamelyiket (ARIN, APNIC, LACNIC, RIPE NCC vagy AfriNIC).
Az /etc/hosts formai
felépítése igen egyszerû:[internetes cím] [hivatalos hálózati név] [álnév1] [álnév2] ...Tehát például:10.0.0.1 azEnValodiNevem.aHalozaton.hu azEnValodiNevem izemize1 izemize2A részletekért keressük fel a
&man.hosts.5; man oldalt.A naplóállományok
beállításanaplóállományoksyslog.confsyslog.confA syslog.conf állomány
a &man.syslogd.8; program beállításait
tartalmazza. Segítségével megadhatjuk,
hogy a syslog által generált
üzenetek egyes típusait milyen
naplóállományokba mentsük.# $&os;$
#
# Ebben az állományban HASZNÁLHATÓAK szóközök a mezõk elválasztására,
# habár a többi *nix-típusú rendszer inkább tabulátorokat használ
# erre a célra. Ha több rendszeren is használni akarjuk ezt az
# állományt, akkor ne használjunk szóközöket.
#
# A többit lásd a syslog.conf(5) man oldalon.
#
.err;kern.debug;auth.notice;mail.crit /dev/console
*.notice;kern.debug;lpr.info;mail.crit;news.err /var/log/messages
security.* /var/log/security
mail.info /var/log/maillog
lpr.info /var/log/lpd-errs
cron.* /var/log/cron
*.err root
*.notice;news.err root
*.alert root
*.emerg *
# Tegyük vissza ezt a sort, ha a /dev/console eszközre kiírt
# üzeneteket át akarjuk irányítani az /var/log/console.log állományba.
#console.info /var/log/console.log
# Ha az összes üzenetet a /var/log/all.log állományba akarjuk menteni,
# akkor tegyük vissza ezt a sort.
#*.* /var/log/all.log
# Ha egy "loghost" nevû gépre szeretnénk naplózni, akkor tegyük vissza
# ezt a sort.
#*.* @loghost
# Az inn használatakor tegyük vissza ezeket a sorokat.
# news.crit /var/log/news/news.crit
# news.err /var/log/news/news.err
# news.notice /var/log/news/news.notice
!startslip
*.* /var/log/slip.log
!ppp
*.* /var/log/ppp.logA &man.syslog.conf.5; man oldalának
elolvasásával tudhatunk meg többet
ezekrõl.newsyslog.confnewsyslog.confA newsyslog.conf a &man.newsyslog.8;
beállításait tároló
állomány. Ez egy olyan program, ami
általában a &man.cron.8; futtat le. A
&man.newsyslog.8; dönti el, hogy mikor van
szükség a naplók
archiválására és
átrendezésére. Ennek során a
logfile állományból
logfile.0 lesz, a
logfile.0
állományból pedig
logfile.1 és így
tovább. Beállíthatjuk úgy is,
hogy a naplóállományokat
archiválja &man.gzip.1; formátumban, aminek
megfelelõen ezek logfile.0.gz,
logfile.1.gz és ehhez
hasonló névvel jönnek létre.A newsyslog.conf megadja, hogy melyik
naplóállományokat kell felügyelni,
mennyi példányt tartsunk meg belõlük
és mikor kell velük foglalkozni. A
naplóállományok
átrendezhetõek és/vagy
archiválhatóak egy adott méret
elérésekor vagy egy adott idõ eltelte
után.# A newsyslog konfigurációs állománya
# $&os;$
#
# állománynév [tulajdonos:csoport] mód darab méret mikor [ZB] [/pid_állomány] [jelzés]
/var/log/cron 600 3 100 * Z
/var/log/amd.log 644 7 100 * Z
/var/log/kerberos.log 644 7 100 * Z
/var/log/lpd-errs 644 7 100 * Z
/var/log/maillog 644 7 * @T00 Z
/var/log/sendmail.st 644 10 * 168 B
/var/log/messages 644 5 100 * Z
/var/log/all.log 600 7 * @T00 Z
/var/log/slip.log 600 3 100 * Z
/var/log/ppp.log 600 3 100 * Z
/var/log/security 600 10 100 * Z
/var/log/wtmp 644 3 * @01T05 B
/var/log/daily.log 640 7 * @T00 Z
/var/log/weekly.log 640 5 1 $W6D0 Z
/var/log/monthly.log 640 12 * $M1D0 Z
/var/log/console.log 640 5 100 * ZTovábbi információkat a
&man.newsyslog.8; man oldaláról
nyerhetünk.sysctl.confsysctl.confsysctlA sysctl.conf állomány
leginkább az rc.conf
állományhoz hasonlít, benne az
értékeket
változó=érték
párokban adhatjuk meg. Az itt definiált
értékek akkor kerülnek ténylegesen
beállításra, amikor a rendszer
többfelhasználós módba vált.
Ezen a módon nem mindegyik változó
értékét tudjuk
átállítani.A sysctl.conf állományban
az alábbi érték
beállításával tudjuk
beállítani, hogy a rendszer ne naplózza,
amikor a programok végzetes jelzéssel
fejezõdnek be, valamint azt, hogy a
felhasználók láthassák egymás
futó programjait:# Ne naplózzuk a végzetes jelzésekhez (például sig 11) tartozó kilépéseket.
kern.logsigexit=0
# Ne engedjük a felhasználóknak, hogy lássák egy másik felhasználó
# azonosítójával futó programokat.
security.bsd.see_other_uids=0Finomhangolás a sysctl
használatávalsysctlfinomhangolása sysctl használatávalA &man.sysctl.8; egy olyan felület, amely
lehetõséget biztosít egy mûködõ
&os; rendszer megváltoztatására.
Segítségével többek közt
hozzáférhetünk a TCP/IP protokollkészlet
és a virtuális memóriát kezelõ
alrendszer rengeteg apró opciójához, melyek
megfelelõ beállításával egy
tapasztalt rendszergazda kezében drasztikusan
növelhetõ a rendszer teljesítménye. A
&man.sysctl.8; alkalmazásával több mint
ötszáz rendszerszintû változó
kérdezhetõ le és állítható
be.A &man.sysctl.8; két funkciót rejt
magában: a rendszer beállításainak
lekérdezését és
módosítását.Így nézhetjük meg az összes
lekérdezhetó változót:&prompt.user; sysctl -aÍgy kérhetjük egy konkrét
változó, például a
kern.maxproc
értékét:&prompt.user; sysctl kern.maxproc
kern.maxproc: 1044Egy adott változó értékének
módosításához pedig használjuk
a
változó=érték
felírást:&prompt.root; sysctl kern.maxfiles=5000
kern.maxfiles: 2088 -> 5000A sysctl változók értékei lehetnek
karakterláncok, számok és logikai
értékek (ahol az 1 az igennek, a
0 a nemnek felel meg).Ha a számítógép
indításakor automatikusan be akarunk
állítani bizonyos változókat, akkor
vegyük fel ezeket az /etc/sysctl.conf
állományba. Ennek pontosabb részleteit a
&man.sysctl.conf.5; man oldalon és a ban találhatjuk
meg.TomRhodesÍrta: A &man.sysctl.8; írásvédett
értékeiEgyes esetekben szükséges lehet a &man.sysctl.8;
írásvédett változóinak
módosítása. Habár gyakran
elengedhetetlen, ezt kizárólag csak a rendszer
(újra)indításakor tudjuk megtenni.Például egyes laptopoknál a
&man.cardbus.4; eszköz nem próbálkozik
több memóriaterület használatával,
ezért egy ehhez hasonló hibával
leáll:cbb0: Could not map register memory
device_probe_and_attach: cbb0 attach returned 12Az ilyen és ehhez hasonló esetekben gyakran
olyan &man.sysctl.8; változók alapértelmezett
értékeit kellene megváltoztatnunk, amelyek
írásvédettek. Ilyenkor tegyük az
érintett &man.sysctl.8; változó
objektumazonosítóját (OID)
és a hozzátartozó értéket a
/boot/loader.conf
állományunkba. Az alapértelmezéseket
a /boot/defaults/loader.conf
állományban találjuk meg.A fentebb tárgyalt probléma
megoldásához a felhasználónak a
értéket kell beállítania az elõbb
említett állományban. Ezután
már a &man.cardbus.4; megfelelõen fog
mûködni.A lemezek finomhangolásaSysctl változókvfs.vmiodirenablevfs.vmiodirenableA vfs.vmiodirenable sysctl
változó értéke lehet 0 (ki) vagy 1
(be, és ez az alapértelmezés is). Ez a
változó vezérli a könyvtárak
gyorsítótárazását a
rendszerben. A könyvtárak többsége
kis méretû, így az
állományrendszerbõl csak egyetlen
(általában 1 KB méretû)
darabkát használnak és még
ennél is kevesebbet (általában
512 byte-ot) a pufferben. A változó
kikapcsolt (avagy 0) értéke mellett a puffer
csak rögzített számú
könyvtárat táraz be még abban az
esetben is, amikor temérdek mennyiségû
memória áll a rendelkezésére. Ha
viszont (az 1 értékkel)
engedélyezzük, akkor a rendszer a
könyvtárak tárazására
felhasználja a virtuális
memóriában pufferelt lapokat is, amivel
lényegében az összes elérhetõ
memóriát a könyvtárak
tárazására fordítja. Ilyenkor
azonban az egyes könyvtárak
tárazására használt legkisebb
memóriaterület a fizikai lapmérettel
egyezik meg (ami általában 4 KB) és
nem 512 byte. Abban az esetben javasoljuk ennek a
beállításnak a használatát,
ha olyan szolgáltatásokkal dolgozunk, amelyek
nagy számú állománnyal dolgoznak
egyszerre. Ilyen szolgáltatások többek
közt a webes gyorsítótárak, nagyobb
levelezõrendszerek és hírrendszerek. Az
opció engedélyezése alapvetõen nem
veti vissza a rendszer teljesítményét
még akkor sem, ha ezzel memóriát
pazarlunk el, de ezt igazából érdemes
kikísérletezni.vfs.write_behindvfs.write_behindA vfs.write_behind sysctl
változó alapértelmezett
értéke 1 (bekapcsolt). Ez
arra utasítja az állományrendszert, hogy
csak akkor küldje ki az adatokat az eszközre, ha
belõlük teljes fürtök gyûltek
össze. Ez jellemzõ módon nagyobb
szekvenciális állományok
írása esetén kedvezõ. Arra
szolgál, hogy segítségével el
lehessen kerülni az I/O túlságosan gyakori
módosítások okozta
terhelését. Bizonyos
körülmények közt ez azonban
lassíthatja a futó programok
mûködését, ezért ilyenkor
érdemes megfontolni a
kikapcsolását.vfs.hirunningspacevfs.hirunningspaceA vfs.hirunningspace sysctl
változó értéke azt adja meg, hogy
tetszõleges számú
példánynál rendszerszinten mekkora
mértékû írási mûvelet
irányítható át a
lemezvezérlõk soraiba. Az
alapértelmezés többnyire elegendõ, de
olyan gépeken, ahol sok lemez dolgozik egyszerre, ez az
érték négy vagy öt
megabyte-ra is felszökhet!
Hozzátennénk, hogy ha ezt az
értéket túlságosan nagyra
állítjuk (és így
túllépjük a puffer írási
küszöbértékét), akkor ezzel
hihetetlenül gyenge fürtözési
teljesítményt nyerünk. Semmiképp se
állítsuk túlzottan nagy
értékre! A nagyobb írási
értékek a velük párhuzamos
olvasások számára
késleltetést is jelentenek.Találhatunk még más egyéb
pufferelési és
gyorsítótárazási sysctl
változókat, azonban ezek
megváltoztatását egyáltalán
nem javasoljuk, mivel a virtuális memória
alrendszer kiválóan tudja
önállóan állítani ezeket a
paramétereit.vm.swap_idle_enabledvm.swap_idle_enabledA vm.swap_idle_enabled sysctl
változó módosítása olyan
nagyobb többfelhasználós rendszerekben
bizonyulhat hasznosnak, ahol sok felhasználó
lép be és lép ki a rendszerbe és
sok az üresjáratban futó program. Az ilyen
jellegû rendszerek hajlamosak nagy mennyiségû
folyamatos terhelést mérni a tartalékolt
szabad memóriára. A
beállítás
engedélyezésével, valamint a
vm.swap_idle_threshold1 és a
vm.swap_idle_threshold2
változókon keresztül a kilapozás
reakcióidejének alkalmas
behangolásával a megszokottnál gyorsabban
lenyomhatjuk az üresjáratban dolgozó
programokhoz tartozó memórialapok
prioritását, amivel a kilapozásokat
vezérlõ démon kezére
játszunk. Azonban tényleg csak akkor
engedélyezzük ezt a lehetõséget, ha
valóban szükségünk van rá,
mivel így a memóriát jóval
elõbb lapozzuk ki és ezzel több
lapozóállományt és
lemezteljesítményt emésztünk fel.
Kisebb rendszerekben jól behatárolható a
hatása, azonban a nagyobb rendszerekben, ahol
már eleve visszafogott mértékû
lapozás történik, ez a
beállítás lehetõvé teszi a
virtuális memóriát kezelõ alrendszer
számára, hogy könnyedén ki-
és be rakosgasson komplett futó programokat a
memóriába.hw.ata.wchw.ata.wcA &os; 4.3 egyszer már kacérkodott a
IDE-lemezek írási pufferének
kikapcsolásával. Ez ugyan csökkentette az
IDE-lemezek írási
sávszélességét, azonban bizonyos
merevlemezgyártók
gondatlanságából eredõ súlyos
adatvesztések miatt szükséges volt a
használata. A gond ezzel kapcsolatban ott van, hogy
egyes IDE-meghajtók hazudnak az írások
teljesítésérõl. A lemezek
írási
gyorsítótárazásának
bekapcsolásával az IDE-meghajtók nem csak
az írások sorrendjét rendezik át,
hanem nagyobb terhelés esetén egyes blokkokat
jóval késõbb is rögzítenek.
Ezért a rendszer esetleges összeomlása vagy
egy áramkimaradás súlyos károkat
okozhat az állományrendszerben. A &os;
úgy döntött, hogy a
megbízhatóságot választja. Sajnos
ez olyan nagyságú
teljesítményvesztést okozott, hogy a
következõ kiadásban már
kénytelenek voltunk alapértelmezés
szerint is visszakapcsolni ezt a lehetõséget. A
hw.ata.wc nevû sysctl
változó vizsgálatával
ellenõrizhetjük a rendszerünkön
érvényes alapértelmezett
beállítást. Amennyiben az IDE
írások
gyorsítótárazása nem
engedélyezett, akkor ezt a változó
értékének 1-re
állításával
állíthatjuk vissza. Ezt a rendszer
indításakor a rendszerbetöltõben
tehetjük meg. A rendszermag indítása
után ennek már nincs hatása.A részleteket a &man.ata.4; man oldalon tudhatjuk
meg.SCSI_DELAY
(kern.cam.scsi_delay)kern.cam.scsi_delaya rendszermag
beállításaiSCSI_DELAYA rendszermag SCSI_DELAY nevû
beállítása a rendszer
indulásának idejét hivatott
mérsékelni. Az alapértelmezett
értéke viszonylag magas, innen származik
a rendszer indítása során keletkezõ
15 másodperces
csúszást. Általában az is
megfelelõ, aa ezt visszavesszük az
5 értékre (fõleg a
modernebb meghajtók számára). A &os;
újabb (5.0 vagy késõbbi)
változataiban ez az érték már a
kern.cam.scsi_delay sysctl
változó értékével is
megadható a rendszer indításakor.
Azonban ügyeljünk rá, hogy mind a
finomhangoláshoz használt változó,
mind pedig rendszermag beállítása
ezredmásodpercben és
nemmásodpercben értelmezi ezt
az értéket.Soft UpdatesSoft UpdatestunefsA &man.tunefs.8; nevû program használható
az állományrendszerek
finomhangolására. Nagyon sok opciót
találhatunk benne, de itt most csak a Soft
Updates ki- és bekapcsolásával
foglalkozunk, amit a következõ módon
tehetünk meg:&prompt.root; tunefs -n enable /allomanyrendszer
&prompt.root; tunefs -n disable /allomanyrendszerAmíg egy állományrendszer
csatlakoztatott állapotban van, addig nem
módosítható a &man.tunefs.8; paranccsal. A
Soft Updates bekapcsolására ezért az a
legalkalmasabb idõpont, amikor
egyfelhasználós módban vagyunk és
még egyetlen partíciót sem
csatlakoztattunk.A Soft Updates beállítás
engedélyezése a memóriában pufferelt
gyorsítótáron keresztül jelentõs
mértékben fokozza a metaadatok
teljesítményét, elsõsorban az
állományok létrehozását
és törlését. A Soft Updates
használatát ezért minden
állományrendszer esetén ajánljuk. A
Soft Updates alkalmazásának két rossz
oldalára kell tekintettel lennünk.
Elõször is a Soft Updates a rendszer
összeomlása esetén ugyan garantálja az
állományrendszer konzisztenciáját,
de könnyen elképzelhetõ, hogy több
másodperccel (vagy akár egy egész perccel!)
hátrébb jár a fizikai lemez
frissítésében. Másodszor a Soft
Updates késlelteti az állományrendszer
blokkjainak felszabadítását. Ha van egy
olyan állományrendszerünk (mint
például a rendszer
indításához használt
gyökér partíció), ami már
majdnem betelt, akkor egy nagyobb frissítés,
például a make installworld
parancs kiadása, során az
állományrendszer egyszerûen kifogy a
helybõl és így a frissítés
meghiúsul.Bõvebben a Soft Updates
mûködésérõlSoft UpdatesrészleteiKét hagyományos
megközelítés létezik az
állományrendszerek metaadatainak
visszaírására. (A metaadatok
módosításakor olyan nem adatot
tartalmazó blokkok változnak meg, mint
például az állományokra
vonatkozó információk vagy a
könyvtárak.)Eredetileg alapértelmezés szerint a
metaadatok változásait szinkron módon
írták ki. Amikor egy könyvtár
megváltozott, a rendszer egészen addig
várt, amíg ez a változás a lemezre
nem íródott. Ugyanekkor az
állományok adatait tartalmazó pufferek
(az állományok tartalma) átkerültek
a pufferelt gyorsítótárba, hogy majd
késõbb, aszinkron módon kerüljenek
kiírásra. Ennek az
implementációnak a biztonságos
mûködés volt az elõnye, mivel így
a metaadatok még akkor is konzisztens állapotban
maradtak, amikor valamilyen hiba következett be.
Tehát egy állomány vagy teljesen
létrejött vagy egyáltalán nem. Ha
az állományhoz tartozó blokkok már
nem tudtak kijutni a
gyorsítótárból az
összeomlás ideje elõtt, akkor az &man.fsck.8;
felismerte ezt a helyzetet és az
állományrendszer ilyen jellegû
hibáját úgy orvosolta, hogy az adott
állomány méretét nullára
állította. Ezenkívül még az
implementációs részletek is
tiszták és egyszerûek maradtak. Ennek
viszont hátránya, hogy a metaadatok
kezelése lassú. Ha például
kiadunk egy rm -r parancsot, akkor az a
könyvtárban levõ állományokat
szekvenciálisan dolgozza fel, de minden egyes
változtatást (az állományok
törlését) csak szinkron módon
rögzíti a lemezre. Ezek a
frissítések érintik magát a
könyvtárat, az állományokkal
kapcsolatos információkat tároló
táblázatot (az ún. inode
táblát) és minden
valószínûség szerint az
állományok által lefoglalt blokkokat is
közvetve. Hasonló megfontolások
élnek a nagyobb könyvtárszerkezetek
kibontása esetén is (tar
-x).A második lehetõség a metaadatok
aszinkron frissítése. Ez az
alapértelmezés a Linux ext2fs és BSD-k
mount -o async opcióval
csatlakoztatott UFS állományrendszerei
esetén. Ilyenkor minden metaadattal kapcsolatos
aktualizálás egyszerûen bekerült a
pufferelt gyorsítótárba, tehát az
állományok adatai és ezek a
típusú frissítések keverednek.
Ennek a megvalósításnak az az
elõnye, hogy nem kell megvárni, amíg a
metaadatok is kiíródnak a lemezre, ezért
a metaadatok óriási mennyiségû
változásával járó
mûveletek sokkal gyorsabban hajtódnak
végre, mint a szinkron esetben. Sõt, maga az
implementáció is tiszta és egyszerû
marad, ezért a kódban megjelenõ
hibák beszivárgásának
kockázata alacsony. A módszer
hátránya, hogy egyáltalán
semmilyen garanciát nem kapunk az
állományrendszer
konzisztenciájára. Ha tehát egy rengeteg
metaadat megváltozásával
együttjáró mûvelet közben
történik valamilyen probléma
(áramkimaradás, vagy valaki egyszerûen
megnyomja a reset gombot), akkor az
állományrendszer elõre
kiszámíthatatlan állapotba kerül. A
rendszer újbóli indításakor
ezért nincs lehetõségünk
megvizsgálni az állományrendszer
állapotát. Elképzelhetõ, hogy az
állományokhoz tartozó adatok már
kikerültek a lemezre, miközben a rá
vonatkozó inode- vagy könyvtári
bejegyzések még nem. Így
lényegében lehetetlen olyan
fsck implementációt
készíteni, ami képes lenne
eltüntetni ezt a káoszt (hiszen az ehhez
szükséges adatok nem állnak
rendelkezésre). Ha az állományrendszer
helyrehozhatatlanul károsodott, akkor csak a
&man.newfs.8; és a biztonsági mentés
visszaállítása segíthet
rajta.Ezt általában úgy
küszöbölik ki, hogy az egészhez
hozzáteszik még a
módosított területek
feljegyzését, amit gyakran csak
naplózásnak (journaling)
neveznek, habár ezt az elnevezést nem mindenhol
ilyen értelemben használják, ezért
a tranzakciók naplózásának
más formáira is utalhat. A metaadatok
frissítése ebben az esetben is csak szinkron
módon történik, de csak a lemez egy kisebb
területére. Késõbb ez a
megfelelõ helyére kerül. Mivel a lemez
naplózásra fordított része egy
viszonylag kis méretû, folytonos terület, a
lemez fejének még a megterhelõbb
mûveletek esetén sem kell sokat mozognia,
ezért valójában ez a megoldás
gyorsabb, mint a mezei szinkron frissítések. Az
implementáció bonyolultsága
továbbra is jól behatárolható, a
velejáró hibalehetõségek
kockázata alacsony. Hátránya, hogy
minden metaadat kétszer íródik ki
(egyszer a naplózási területre,
aztán a megfelelõ helyre), ezért ez a
hétköznapi használat során
visszaesés tapasztalható a
teljesítményben. Másrészrõl
azonban egy összeomlás esetén a
naplózási terület
segítségével minden függõben
levõ metaadattal kapcsolatos mûvelet könnyen
visszafordítható vagy lezárható a
rendszer következõ indításakor,
és ezzel így egy gyors
helyreállítást nyerünk.Kirk McKusick, a Berkeley FFS fejlesztõje ezt a
problémát a Soft Updates
segítségével hidalta át: a
metaadatokkal kapcsolatos minden függõben levõ
frissítést a memóriában tart, majd
ezeket rendezett sorrendben írja ki a lemezre (a
metaadatok rendezett frissítése). Ennek
következményeképpen a metaadatok komolyabb
frissítése során a késõbb
érkezõ módosításoknak
lehetõségük van elkapni a
memóriában levõ korábbi
változataikat, ha azok még nem kerültek ki
a lemezre. Így az összes, például
könyvtárakon végzett, mûvelet a
lemezre írás elõtt általában
elõször a memóriában
játszódik le (a adatblokkok a
pozíciójuknak megfelelõen kerülnek
rendezésre, ezért a rájuk
vonatkozó metaadatok elõtt nem jutnak ki a
lemezre). Ha eközben a rendszer összeomlik, akkor
így implicit módon a napló
visszalapozását eredményezi:
minden olyan mûvelet, ami már nem tudott kijutni a
lemezre, meg nem történtnek számít.
Ezen a módon az állományrendszernek egy
30 és 60 másodperc közti korábbi
állapota marad fenn. Az algoritmus garantálja,
hogy az összes használt erõforrás a
nekik megfelelõ bittérképekben helyesen
jelölõdik, a blokkokban és az inode-okban.
Az összeomlás után az
erõforrások kiosztásával
kapcsolatban csak egyetlen hiba léphet fel: amikor
olyan erõforrások jelölõdnek
használtnak amely igazából
szabadok. Az &man.fsck.8; azonban képes
felismerni ezeket a helyzeteket és
felszabadítani a nem használt
erõforrásokat. A mount -f
parancs kiadásával minden további
következmény nélkül figyelmen
kívül hagyhatjuk az állományrendszer
félkész állapotát és
csatlakoztathatjuk az állományrendszereket. Az
használatban már nem levõ
erõforrások felszabadításához
az &man.fsck.8; parancsot késõbb kell futtatni.
Ez az alapötlet húzódik meg a
háttérben végzett
lemezellenõrzés mögött. A
rendszer indításakor az
állományrendszernek csupán egy
pillanatképét
rögzítjük, és az
fsck tényleges
lefuttatását késõbbre toljuk. Mivel
mindegyik állományrendszer
csatlakoztatható félkész
állapotban, ezért a rendszer képes
elindulni többfelhasználós módban.
Eközben a háttérben az
fsck beütemezhetõ minden olyan
állományrendszer számára, ahol
arra szükség van, hogy szabadítsa fel az
esetlegesen már nem használt
erõforrásokat. (Így a Soft Updates
opciót nem alkalmazó
állományrendszerek esetén továbbra
is szükség van az elõtérben
elvégzett fsck parancsra.)A módszer elõnye, hogy így a
metaadatokkal kapcsolatos mûveletek közel olyan
gyorsak, mint az aszinkron módon végzett
frissítések (tehát gyorsabb mintha
naplóznánk, ami ugye minden
metaadatot kétszer ír ki). A
hátránya a bonyolultabb kód (ami miatt
növekszik az olyan hibák lehetõsége,
amik érzékenyen befolyásolhatják a
felhasználói adatok elvesztését)
és a nagyobb memóriaigény.
Ezenkívül még van néhány
olyan egyéni jellemzõje, amit meg kell szokni. A
rendszer összeomlása után az
állományrendszer valamivel
régebbi lesz. Amikor pedig megszokott
szinkron megközelítés szerint az
fsck lefutása után nulla
méretû állományok
jönnének létre, ezek az
állományok a Soft Updates esetén
egyáltalán meg sem jelennek, mivel sem a
rájuk vonatkozó metaadatok, sem pedig a
tartalmuk nem került ki a lemezre. Egy
rm lefuttatása után a
lemezterület addig nem kerül
felszabadításra, amíg a
frissítések teljesen rá nem kerülnek
a lemezre. Ez nagyobb mennyiségû adat
telepítésekor gondokat okozhat egy olyan
állományrendszeren, ahol nincs elegendõ
hely az állományok kétszeri
tárolására.A rendszermag korlátainak
finomhangolásafinomhangolása rendszermag korlátaiAz állományok és a futó
programok korlátozásaikern.maxfileskern.maxfilesA kern.maxfiles értéke a
rendszerünk igényeinek megfelelõen
növelhetõ vagy csökkenthetõ. Ez a
változó adja meg a rendszerünkben levõ
állományleírók maximális
számát. Amikor az
állományleírókat
tároló táblázat megtelik, a
rendszer üzenetpufferében egy file:
table is full üzenet jelenik meg, amit a
dmesg paranccsal tudunk
megnézni.Minden megnyitott állomány,
csatlakozás vagy FIFO elhasznál egy
állományleírót. Egy
nagyméretû szerver könnyen
felemészthet több ezernyi
állományleírót attól
függõen, hogy milyen és mennyi
szolgáltatást futtat egymás
mellett.A &os; korábbi kiadásaiban a
kern.maxfiles a rendszermag
beállításait tartalmazó
állomány (a
rendszerben egyszerre jelenlevõ
felhasználók maximumának)
értékébõl származott,
tehát a kern.maxfiles a
értékével
arányosan növekszik. Amikor
készítünk egy saját rendszermagot,
mindig érdemes a rendszerünk
használatának megfelelõen
beállítani ezt az értéket, mivel a
rendszermag ebbõl a számból
határozza meg a legtöbb elõre
meghatározott korlátait. Mivel még egy
komoly szerveren sem jelentkeznek be egyszerre 256
felhasználónál többen,
nagyjából ugyanannyi erõforrásra van
szüksége, mint egy nagyobb webszervernek.A kern.maxusers értéke a
rendelkezésre álló
memóriának megfelelõen
magától méretezõdik a rendszer
indításakor, és amit futás
közben csak a kern.maxusers sysctl
változó írásvédett
értékének
lekérdezésébõl tudhatunk meg. Egyes
oldalak üzemeltetése a
kern.maxusers így
megállapított
értékétõl nagyobbat vagy
éppen kisebbet igényel, ezért a
betöltéskor minden gond nélkül
át lehet állítani 64, 128 vagy 256
értékûre. Senkinek sem ajánljuk,
hogy 256 felé menjen, hacsak tényleg nincs
szüksége ekkora mennyiségû
állományleíróra. A
kern.maxusers
függvényében beállított
alapértelmezett értékek tetszõleges
módon átállíthatóak a
rendszer indításakor vagy futás
közben a /boot/loader.conf
módosításával (az ide
kapcsolódó javaslatokról bõvebben
lásd a &man.loader.conf.5; man oldalt vagy a
/boot/defaults/loader.conf
állományt) illetve a leírás
más részén megadott módok
szerint.A korábbi kiadásokban úgy lehet
önszabályozóra állítani a
maxusers beállítást,
ha explicit módon 0
értéket adtunk meg neki
Az önszabályozó algoritmus a
maxusers értékét a
rendszerben található
memóriának megfelelõen legalább
32-re, legfeljebb 384-re állítja.. A maxusers paraméter
beállításakor legalább
érdemes 4-et megadni, különösen akkor,
ha használjuk az X Window Systemet vagy szoftvereket
fordítunk le. Azért van erre
szükség, mert a maxusers
értéke által szabályozott
legfontosabb mennyiség az egyszerre futtatható
programok táblázatának maximális
mérete, amelyet így számolunk ki:
20 + 16 * maxusers. Tehát ha a
maxusers értékét 1-re
állítjuk be, akkor az elõbb képlet
értelmében csak 36 programunk futhat
egymással párhuzamosan, beleértve mindazt
a kb. 18 programot, amik a rendszerrel együtt indulnak,
illetve még azt a további 15 programot, amit az
X Window System használatával indítunk
el. Még egy olyan egyszerû dolog is, mint
például egy man oldal megnézése
legalább kilenc programot elindít a
szûréshez, kitömörítéshez
és megnézéshez. Azonban ha a
maxusers értékét 64-re
állítjuk, akkor egyszerre akár már
1044 programot futtathatunk, ami szinte mindenre
elegendõ. Ha persze egy új program
indításakor kapunk egy proc table
full típusú üzenetet vagy nagy
számú konkurens felhasználóval
futtatunk szervert (ilyen például a ftp.FreeBSD.org), akkor érdemes
növelni ezt a számot és
újrafordítani a rendszermagot.A maxusersnem
korlátozza a számítógépre
egyszerre bejelentkezni képes
felhasználók számát.
Egyszerûen csak beállítja
néhány táblázat
méretét és az egyszerre
futtatható programok mennyiségét a
rendszert egyidejûleg használni
kívánó felhasználók
maximális számának
figyelembevételével.kern.ipc.somaxconnkern.ipc.somaxconnAz kern.ipc.somaxconn sysctl
változó a beérkezõ TCP kapcsolatokat
fogadó sor hosszát határozza meg. Ennek
az alapértelmezett értéke
128, ami az új kapcsolatok
megbízható kezeléséhez
általában kevés egy erõsen leterhelt
webszerver számára. Ilyen helyzetekben ezt az
értéket javasolt 1024-re vagy
még annál is nagyobbra állítani.
Az egyes szolgáltatások démonai ugyan
szintén le szokták korlátozni a
fogadósoruk méretét
(például a &man.sendmail.8; vagy az
Apache), de gyakran találunk
a beállításai között olyat,
amivel ennek a sornak a mérete növelhetõ. A
nagyobb fogadósorok mellesleg jó
szolgálatot tesznek a Denial of Service
(DoS) típusú
támadásokkal szemben is.Hálózati korlátozásokA rendszermag NMBCLUSTERS nevû
beállítása szab határt a rendszer
részére elérhetõ
memóriapufferek mennyiségének. Egy nagyobb
forgalmú szerver esetén a pufferek alacsony
száma gátat szabhat a &os;
képességeinek. Minden klaszter
nagyjából 2 KB memóriát takar,
így az 1024-es érték azt jelenti, hogy a
rendszermag memóriájából 2
megabyte-ot fordítunk a hálózati
pufferelésre. Egyszerûen
kiszámítható mennyire is van
szükségünk: ha van egy webszerverünk, ami
egyszerre legfeljebb 1000 párhuzamos kapcsolatot fogad,
és minden kapcsolat lefoglal 16 KB-ot a
fogadó-, valamint újabb 16 KB-ot a
küldõpuffer számára, akkor
megközelítõleg 32 MB-nyi
hálózati pufferre lesz szükségünk
a webszerver hatékony
mûködéséhez. Ezt az
értéket gyakran még érdemes
megszorozni kettõvel, így
2 x 32 MB / 2 KB =
64 MB / 2 KB = 32768. Több
memóriával rendelkezõ
számítógépek esetén egy 4096
és 32768 közti értéket javaslunk.
Semmilyen körülmények között ne
adjunk meg ennél nagyobb értéket, mert
ezzel a rendszer már az indítása
során összeomolhat. A &man.netstat.1;
beállításával
ellenõrizhetjük a hálózati klaszterek
kihasználtságát.A kern.ipc.nmbclusters
változó értékét a rendszer
indításakor érdemes megváltoztatni.
A &os; korábbi változataiban ehhez a rendszermag
NMBCLUSTERS nevû &man.config.8;
paraméterének
módosítására van
szükségünk.Az olyan forgalmasabb szervereken, ahol sokat
használják a &man.sendfile.2;
rendszerhívást, szükségünk lehet
a &man.sendfile.2; által használt pufferek
számának növelésére a
rendszermag NFSBUFS nevû
konfigurációs paraméterén vagy a
/boot/loader.conf állományon
keresztül (lásd &man.loader.8;). Amikor a
futó programok közül sokan vannak
sfbufa állapotban, akkor az
egyértelmûen annak a jele, hogy ezen a
paraméteren állítanunk kell. A
kern.ipc.nsfbufs egy
írásvédett változót, amelyet
a rendszermag állít be. Ez a paraméter
névlegesen a kern.maxusers
változó értékének
megfelelõen változik, de bizonyos esetekben
ettõl függetlenül önállóan
kell behangolni.Annak ellenére, hogy egy socketet
blokkolásmentesnek jelöltünk meg, a
&man.sendfile.2; meghívása egy
blokkolásmentes socketre blokkolódást
eredményezhet egészen addig, amíg a
használatához elegendõ struct
sf_buf struktúra össze nem
gyûlik.net.inet.ip.portrange.*net.inet.ip.portrange.*A net.inet.ip.portrange.* sysctl
változók vezérlik a TCP és UDP
csatlakozásokhoz automatikusan hozzárendelt
portszámok tartományát. Három
ilyen tartomány létezik: az alsó, az
alapértelmezett és a felsõ
tartomány. A legtöbb hálózati
program a net.inet.ip.portrange.first
és net.inet.ip.portrange.last
változók által rendre az 1024-tõl
5000-ig kijelölt alapértelmezett tartományt
használja. A kimenõ kapcsolatok is
rögzített porttartományokat követnek,
és adott körülmények mellett be lehet
állítani úgy a rendszerünket, hogy
ezen kívül osszon ki portokat. Ez a
legtöbbször akkor fordul elõ, amikor egy
erõsen leterhelt webproxyt mûködtetünk. A
porttartományok nem okoznak gondot olyan
szervereknél, ahol általában
bejövõ kapcsolatokra lehet számítani,
tehát például webszerverek esetén,
vagy ahol korlátozott a kimenõ kapcsolatok
száma, mint például a levelek
továbbításánál. Ha olyan
helyzetbe keverednénk, ahol már kifutunk a
felhasználható portokból, a
net.inet.ip.portrange.last
mérsékelt növelésével
javasolt kitörni. Ilyenkor a 10000,
20000 vagy 30000
értékek elfogadhatóak. Amikor
megváltoztatjuk a porttartományok
határait, elõtte mindig gondoljuk át,
milyen hatással lehet ez a tûzfalra. Egyes
tûzfalak blokkolhatnak bizonyos tartományokat
(általában az alacsonyabbakat) és arra
számítanak, hogy a rendszerek a kimenõ
kapcsolatokhoz a nagyobb számú portokat
használják — ebbõl kifolyólag
nem ajánlott csökkenteni a
net.inet.ip.portrange.first
értékét.A TCP
sávszélesség-késletetés
szorzatA TCP
sávszélesség-késleltetés
szorzatának korlátozásanet.inet.tcp.inflight.enableA TCP
sávszélesség-késleltetés
szorzat korlátozása hasonlít a NetBSD-ben
megtalálható TCP/Vegas
implementációhoz. A
net.inet.tcp.inflight.enable sysctl
változó 1-re
állításával lehet
engedélyezni. A rendszer ilyenkor minden egyes
kapcsolathoz megpróbálja
kiszámítani a
sávszélesség-késleltetés
szorzatot és az optimális átviteli
sebesség fenntartásához illeszkedõen
korlátozni a hálózat felé
küldött adatok sorának hosszát.Ez a lehetõség még olyankor hasznosnak
bizonyulhat, amikor modemen, Gigabit Etherneten vagy
nagysebességû WAN (vagy bármilyen
más nagy
sávszélesség-késleltetés
szorzattal bíró)
összeköttetéseken keresztül
küldünk át adatokat, különösen
abban az esetben, amikor ablakméretezést is
használnunk vagy nagy küldési ablakot
állítottunk be. Az
engedélyezésekor ne felejtsük el
net.inet.tcp.infligt.debug
változót sem beállítani
0-ra (amivel így kikapcsoljuk a
nyomkövetést) és éles
használat esetén pedig elõnyös lehet a
net.inet.cp.inflight.min
változót legalább
6144-re állítani. Azonban
hozzátesszük, hogy
összeköttetéstõl függõen a
nagy minimum értékek tulajdonképpen
kikapcsolják a
sávszélességkorlátozást.
Ez a korlátozási lehetõség
csökkenti a közbensõ út adatinak
és csomagváltásokhoz tartozó sorok
méretét, miközben csökkenti a helyi
számítógép felületén
felépülõ sorok méretét is. Ha
kevesebb csomagot rakunk be a sorba, akkor az
interaktív kapcsolatok, különösen a
lassabb modemek esetében, kisebb
körbejárási
idõvel (Round Trip Time) mûködnek.
Továbbá megemlítenénk, hogy ez a
lehetõség csak az adatok
küldésére (feltöltésére,
szerveroldalra) van hatással. Semmilyen
befolyása nincs az adatok fogadására
(letöltésére).A net.inet.tcp.inflight.stab
állítgatása nem
ajánlott. A paraméter értéke
alapértelmezés szerint 20, ami legfeljebb 2
csomag hozzáadását jelenti a
sávszélesség-késleltetés
szorzat ablakának kiszámításakor.
Erre a kiegészítõ ablakra azért van
szükség, hogy stabilizálni tudjuk vele az
algoritmust és javítani tudjuk a
változó feltételekre adott
reakciót, de lassabb összeköttetések
esetében nagyobb ping idõket is
eredményezhet (habár ezek még így
kisebbek, mint ha nem használnánk az
algoritmust). Ilyen esetekben megpróbálhatjuk
15-re, 10-re vagy esetleg 5-re visszavenni a paraméter
értékét, de ekkor a kívánt
hatás eléréséhez minden bizonnyal
a net.inet.tcp.inflight.min
értékét is redukálunk kell majd
(például 3500-ra). Ezen paraméterek
megváltoztatását csak végsõ
esetben ajánljuk!Virtuális memóriakern.maxvnodesA vnode egy állomány vagy
könyvtár belsõ
ábrázolása. Ennek megfelelõen a
vnode-ok számának növelésével
az operációs rendszer spórolni tud a
lemezmûveletekkel. Ezt általában maga az
operációs rendszer szabályozza, és
nincs szükség a finomhangolására.
Néhány esetben, amikor a lemezmûveletek
jelentik a rendszerben a szûk keresztmetszetet és
a kezdenek elfogyni a vnode-ok, szükség lehet
ennek a számnak a növelésére. Ehhez
az inaktív és szabad fizikai memória
mennyiségét kell számításba
vennünk.Így kérhetjük le a pillanatnyilag
használatban levõ vnode-ok
mennyiségét:&prompt.root; sysctl vfs.numvnodes
vfs.numvnodes: 91349Így tudhatjuk meg a vnode-ok maximális
számát:&prompt.root; sysctl kern.maxvnodes
kern.maxvnodes: 100000Ha a vnode-ok aktuális kihasználtsága
megközelíti a csúcsértéket,
nagyjából ezerrel javasolt megnövelni a
kern.maxvnodes
értékét. Ezután figyeljük
továbbra is a vfs.numvnodes
változását. Ha ismét
felkúszik a maximális értékre,
akkor növeljük megint egy keveset a
kern.maxvnodes
értékén. Eközben a &man.top.1;
használatával figyelhetjük a memória
kihasználtságának
növekedését is, ilyenkor tehát
több memóriának kell használatban
lennie.A lapozóterület
bõvítéseNem számít mennyire tervezük jól
elõre, mindig elõfordulhat, hogy a rendszerünk
mégsem teljesíti a kitûzött
elvárásokat. Amennyiben további
lapozóterület hozzáadására lenne
szükségünk, azt igen könnyen
megtehetjük. Háromféleképpen
növelhetjük a lapozásra szánt
területet: hozzáadunk a rendszerhez egy újabb
merevlemezes meghajtót, NFS-en keresztül lapozunk,
vagy egy már meglevõ partíción hozunk
létre lapozóállományt.A lapozóterület
titkosításával, valamint annak
lehetõségeivel és okaival kapcsolatban lapozzuk
fel a kézikönyv át.Lapozás egy új merevlemezreA lapozóterület
bõvítésének legjobb módja
természetesen remek indok egy új merevlemez
- beszerzésére is. Elvégre egy úgy
+ beszerzésére is. Elvégre egy
merevlemezt mindig fel tudunk ilyen célra
használni. Ha ezt a megoldást választjuk,
elõtte ajánlott (újra) elolvasni a
kézikönyv ában a
lapozóterületek elrendezésére
vonatkozó javaslatokat.Lapozás NFS-en keresztülNFS-en keresztül csak akkor lapozzunk, ha ezt helyi
lemezek segítségével nem tudjuk megtenni.
Az NFS alapú lapozás
hatékonyságát erõsen
behatárolja a rendelkezésre álló
hálózati sávszélesség
és további terheket ró az NFS
szerverünkre is.LapozóállományokLapozóállománynak egy adott
méretû állományt hozzunk létre.
Ebben a példában erre egy
/usr/swap0 nevû, 64 MB
méretû állományt fogunk
használni. Természetesen bármilyen
más nevet is választhatunk.Lapozóállomány
létrehozása &os;-benGyõzõdjünk meg róla, hogy a
rendszermagunk beállításai
között megtalálható a
memórialemez meghajtójának (&man.md.4;)
használata. Ez a GENERIC
rendszermag alapból tartalmazza.device md # Memória "lemezek"Hozzunk létre egy
lapozóállományt
(/usr/swap0):&prompt.root; dd if=/dev/zero of=/usr/swap0 bs=1024k count=64Állítsuk be rá a megfelelõ
engedélyeket
(/usr/swap0):&prompt.root; chmod 0600 /usr/swap0Adjuk meg a lapozóállományt az
/etc/rc.conf
állományban:swapfile="/usr/swap0" # Állítsuk be swapfile értékét, ha külsõ lapozóállományra van szükségünk.Indítsuk újra a
számítógépünket, vagy a
lapozóállomány azonnali
használtba vételéhez írjuk
be:&prompt.root; mdconfig -a -t vnode -f /usr/swap0 -u 0 && swapon /dev/md0HitenPandyaÍrta: TomRhodesEnergia- és
erõforrásgazdálkodásFontos a hardveres erõforrásaink hatékony
kihasználása. Az ACPI
megjelenése elõtt az operációs
rendszerek csak nehézkesen és rugalmatlanul
tudták kezelni a rendszer
energiafelhasználási és
hõszabályzási lehetõségeit. A
hardvert a BIOS kezelte, ezért a
felhasználó kevesebbet tudott látni és
irányítani az energiagazdálkodási
beállításokból. Az Fejlett
energiagazdálkodás (Advanced Power Management,
APM) ehhez nyújtott egy erõsen
korlátozott felületet. Napjaink
operációs rendszereiben az energia- és
erõforráskezelés az egyik legfontosabb
alkotóelem. Például, ha az
operációs rendszerrel folyamatosan figyelni akarjuk
a rendszer hõmérsékletének
váratlan növekedését (és
errõl figyelmeztetést kérni).A &os; kézikönyvének ezen
szakaszában az ACPI-rõl adunk egy
átfogó áttekintést, a
végén pedig összefoglaljuk a
témához tartozó irodalmat.Mi az ACPI?ACPIAPMA speciális energia- és
konfigurációs illesztõ felület (Advanced
Configuration and Power Interface, avagy
ACPI) gyártók egy csoportja
által létrehozott szabvány, amely hardveres
erõforrások és az
energiagazdálkodás egységes
felületét rögzíti (innen a neve).
Döntõ szerepet játszik a
Beállítások és az
energiagazdálkodás operációs
rendszerek áltai
vezérlésében, vagyis
segítségével az operációs
rendszer még nagyobb mértékben és
rugalmassággal tudja irányítani ezeket a
lehetõségeket. A modern operációs
rendszerek az ACPI
felbukkanásával kitolták a
jelenleg meglevõ Plug and Play felületek
korlátait. Az ACPI az
APM közvetlen
leszármazottja.A Fejlett energiagazdálkodás (APM)
hiányosságaiA Fejlett energiagazdálkodás
(APM) a rendszer által felhasznált
energiát annak elfoglaltsága alapján
vezérli. Az APM-et támogató BIOS-t a
(rendszert) gyártó állítja elõ
és az adott hardverplatformra jellemzõ. Az APM
operációs rendszerben levõ meghajtója
hozzáférést biztosít az
APM szoftveres felületéhez,
amivel lehetõség nyílik az energiaszintek
kezelésére. Az APM-et 2000 elõtt és
körül még mindig használták egyes
rendszerek gyártásánál.Az APM használata négy nagyobb gondot rejt
magában. Elõször is, az
energiagazdálkodást a
(gyártófüggõ) BIOS végzi el,
és az operációs rendszernek errõl
semmilyen ismerete nincsen. Ennek egyik példája
az, amikor a felhasználó az APM-et ismerõ
BIOS-ban beállítja a merevlemezek automatikus
kikapcsolásának idejét, majd amikor ez
letelik, a BIOS az operációs rendszer tudta
nélkül egyszerûen leállítja a
lemezt. Másodszor: az APM
mûködését a BIOS-ban programozták
le, és teljesen az operációs rendszer
hatáskörén túl tevékenykedik.
Ez azt jelenti, hogy a felhasználó csak úgy
tudjuk korrigálni az APM-es BIOS-ok
problémáit, ha frissíti az alaplapi ROM-ot.
Ez viszont egy nagyon kockázatos folyamat, aminek
hibája révén a rendszerünk
helyrehozhatatlan állapotba kerül. Harmadszor: az
APM alapvetõen egy gyártófüggõ
megoldás, ami azt vonja maga után, hogy sok az
átfedés (ugyanazt valósítják
meg több módon), és ha az egyik
gyártó BIOS-ában hibát
találnak, akkor a másikéban az nem
feltétlenül javítható.
Végül, de nem utolsó sorban, az APM
alapú BIOS-okban nincs elég hely az igazán
kifinomult energiagazdálkodási sémák
vagy bármi más kialakítására,
amivel a felhasználók képesek
lennének az igényeikhez alakítani a
számítógépet.A Plug and Play BIOS (PNPBIOS) sok
szempontból megbízhatatlannak bizonyult. A
PNPBIOS ráadásul egy 16 bites megoldás,
ezért az operációs rendszereknek 16 bites
emulációt kell használniuk a PNPBIOS
eszközeinek
eléréséhez.A &os; APM meghajtójának
dokumentációját az &man.apm.4; man oldalon
találjuk.Az ACPI
beállításaAz acpi.ko meghajtó
alapértelmezés szerint a &man.loader.8;
segítségével töltõdik be,
és ne is fordítsuk bele a
rendszermagba. Ezt azzal tudnánk magyarázni, hogy
modulokkal könnyebb dolgozni, például ha a
rendszermag újrafordítása
nélkül egy másik acpi.ko
modult akarunk használni. Ezzel a
lényegében tesztelés is
egyszerûbbé válik. Másik
magyarázta, hogy a rendszer ACPI
támogatása nem minden esetben mûködik
rendesen. Ha a rendszer indítása során
valamilyen problémát tapasztalunk, akkor
próbálkozzunk meg az ACPI
kikapcsolásával. Ezt a meghajtót nem lehet
és nem is szabad kidobni a
memóriából, mivel a hardverrel a
rendszerbuszon keresztül tartja a kapcsolatot. Az
ACPI a
hint.acpi.0.disabled="1" sor
megadásával kapcsolható a
/boot/loader.conf állományban
vagy a &man.loader.8; parancssorában.Az ACPI és
APM egyszerre nem
használatóak. Közülük a
késõbb betöltött magától
kilép, ha észreveszi, hogy a másikuk
már mûködésbe lépett.Az ACPI és az &man.acpiconf.8;
használatával a rendszerünk
készenléti módba helyezhetõ az
valamint az 1-5
paraméterek megadásával. Ezek
közül is csak a legtöbb felhasználó
számára az 1 vagy a
3 (állapot mentése a fizikai
memóriába) érdekes. Az
5 opció egy szoftveres
kikapcsolást eredményez, ehhez
hasonlóan:&prompt.root; halt -pA további opciók a &man.sysctl.8; man
oldaláról érhetõek el. Ezen
kívül még olvassuk el az &man.acpi.4;
és &man.acpiconf.8; man oldalakat is.NateLawsonÍrta: PeterSchultzSegítségére volt még:
TomRhodesA &os; ACPI
támogatásának használata és
nyomonkövetéseACPIproblémákAz ACPI az eszközök
felderítésének,
energiagazdálkodásának és a
korábban a BIOS által kezelt
hardverek szabványosított
hozzáférésének alapjaiban új
módja. Az ACPI folyamatosan
fejlõdik, de útját az egyes alaplapok
ACPI Machine Language
(AML) bytekód
implementációjában megjelenõ
hibák, a &os; rendszermag alrendszereinek
befejezetlensége és az &intel;
ACPI-CA értelmezõjében
levõ hibák lassítják.Ez a leírás azzal a szándékkal
készült, hogy segítsünk a
felhasználóknak megtalálni az általuk
tapasztalt problémák gyökerét és
ezzel kisegíteni az ACPI
fejlesztõket a nyomonkövetésében és
kijavításában. Köszönjük,
hogy ezt elolvassuk és segédkezünk a
rendszerünkkel kapcsolatban felmerült
problémák orvosolásában!A nyomkövetési információk
beküldéseMielõtt beküldenénk bármilyen
problémát is, gondoskodjunk róla, hogy a
BIOS-unk, és ha lehetséges,
akkor a beágyazott vezérlõk, legfrissebb
verzióját használjuk.Megkérnénk azokat, akik hibát akarnak
bejelenteni, hogy a következõ
információkat küldjék a
freebsd-acpi@FreeBSD.org címre:A hibás mûködés
leírása, beleértve a rendszer
típusát és
gyártmányát, illetve minden olyat,
aminek köze lehet a hibához. Ha eddig
még nem tapasztaltuk, igyezzünk minél
pontosabban leírni a hiba
keletkezésének folyamatát.A boot -v paranccsal indított
rendszer &man.dmesg.8; kimenetét, beleértve a
vizsgálni kívánt hiba által
okoztt összes hibaüzenetet.A boot -v paranccsal és az
ACPI használata nélkül
indított rendszer &man.dmesg.8; kimenete abban az
esetben, ha ez segít megoldani a
problémát.A sysctl hw.acpi parancs kimenete.
Ezzel egyébként kitûnõen
kideríthetõ milyen lehetõségeket is
kínál fel a rendszerünk.Az általunk használt
ACPI
forrásnyelvének
(ACPI Source Language,
ASL) elérhetõsége az
interneten. Mivel ezek akár igen nagyok is lehetnek,
ezért a listára közvetlenül ne
küldjünk ASL kódokat!
Az ASL másolatát az
alábbi parancs kiadásával hozhatjuk
létre:&prompt.root; acpidump -dt > név-rendszer.asl(Adjuk meg a név
helyett a bejelentkezéshez használt
nevünket és a
rendszer helyett pedig a
gyártót/típust. Például:
njl-FooCo6000.asl)Habár a legtöbb fejlesztõ a &a.current;t
figyeli, a problémáink
leírását mindenképpen a
&a.acpi.name; listára küldjük, hogy biztosan
észrevegyék. Legyünk türelmesek, hiszen
emellett mindannyiunk dolgozik. Ha az általunk
felfedezett hiba nem teljesen egyértelmû, akkor a
fejlesztõk valószínûleg meg fognak
kérni arra, hogy a &man.send-pr.1;
használatával hozzunk róla létre egy
hivatalos hibajelentést. A hibajelentés
készítésekor lehetõleg a fentebb
megadott információkat ugyanúgy adjuk meg.
Ez segít a probléma szemmel
tartásában és
elhárításában. Az &a.acpi.name;
lista kihagyása nélkül közvetlenül
ne küldjünk hibajelentést, mivel a
hibabejelentõ rendszert elsõsorban
emlékeztetõnek használjuk, nem pedig a
hibák tényleges bejelentésére.
Gyakran elõfordul, hogy valaki korábban már
találkozott a problémánkkal.HáttérACPIAz ACPI minden olyan modern
számítógépben
megtalálható, mely megfelel az ia32 (x86), ia64
(Itanium) vagy amd64 (AMD) architektúrának. A
teljes szabvány rengeteg lehetõséget
biztosít, többek közt a processzor
teljesítményének kezelését,
az energiaszintek vezérlését,
hõzónákat, különféle
akkumulátor rendszereket, beágyazott
vezérlõk és a buszok
felsorolását. A legtöbb rendszer
általában nem a teljes szabványt
valósítja meg. Például egy asztali
rendszer általában csak a buszok
felsorolásával kapcsolatos részeket
tartalmazza, miközben egy laptop felajánlhatja a
hûtés és az akkumulátor
kezelését is. A laptopokban gyakorta
találunk készenléti üzemmódot a
maguk elbonyolított formájában.Egy ACPI-nak megfelelõ rendszert
számos összetevõ alkot. A
BIOS-ok és chipkészletek
gyártói a memóriában egy elõre
rögzített ponton elhelyeznek bizonyos
táblázatokat (például
FADT), amelyekkel megadják
például az APIC
összerendeléseit (ezt az SMP
rendszerek használják), a
konfigurációs regisztereket és az
egyszerûbb konfigurációs
értékeket. Itt ezenkívül még
bytekódok egy táblázata (amit
Differenciált rendszerleírtó
táblának, Differentiated System
Description Table, DSDT nevezünk) is
megtalálható, ahol az eszközök és
módszerek neveit szerepelnek faszerû
elrendezésben.Az ACPI-hoz tartozó
meghajtónak értelmeznie kell tudnia ezeket a
rögzített táblázatokat,
implementálnia egy bytekód-értelmezõt,
módosítania az eszközmeghajtókat
és a rendszermagot az ACPI
alrendszerbõl érkezõ információk
befogadásához. A Linuxszal és a NetBSD-vel
közösen a &os; kapott egy ilyen értelmezõt
az &intel;tõl (ACPI-CA). Az
ACPI-CA forráskódja a rendszer
forrásai között, a src/sys/dev/acpica
+ class="directory">src/sys/dev/acpica
könyvtárban találhatóak. A
- src/sys/dev/acpica/0sd
+ src/sys/dev/acpica/0sd
könyvtárban található források
pedig lehetõvé teszik, hogy az
ACPI-CA mûködhessen &os;-n.
Végezetül, az ACPI
eszközöket megvalósító
meghajtók a src/sys/dev/acpica
+ class="directory">src/sys/dev/acpica
könyvtárban találhatóak.Gyakori problémákACPIproblémákAz ACPI megfelelõ
mûködéséhez minden
alkotórésznek helyesen kell mûködnie. A
most következendõkben elõfordulásuk
gyakorisága szerint felsorolunk néhány
ismert problémát, valamint a hozzájuk
tartozó javításokat vagy
elkerülésük módszerét.Gondok az egérrelEgyes esetekben felfüggesztett
állapotból visszatérve az egerünk
nem hajlandó mûködni. Ezt úgy lehet
elkerülni, ha /boot/loader.conf
állományba beírjuk a
hint.psm.0.flags="0x3000" sort. Ha ez nem
segít, akkor a fentieknek megfelelõen
küldjünk be egy hibajelentést.Felfüggesztés/FolytatásAz ACPI három
(STR) állapotban képes a
fizikai memória segítségével
készenléti módba váltani, ezek az
S1-S3, és egy
állapotban használja a lemezt
(STD), amelyet S4-nek
hívnak. Az S5 neve a
szoftveres kikapcsolás, ami egy olyan
állapotot takar, amikor a rendszerünk áram
alatt van, de még nem üzemel. Az
S4BIOS állapot a
BIOS segítségével a
lemezre menti a rendszert, az
S4OS állapotot
pedig teljes egészében az
operációs rendszer valósítja
meg.A rendszerünk által ismert
készenléti módokat a sysctl
hw.acpi paranccsal ellenõrizhetjük.
Íme mindez egy Thinkpad esetén:hw.acpi.supported_sleep_state: S3 S4 S5
hw.acpi.s4bios: 0Ez azt jelenti, hogy az acpiconf -s
parancs kiadásával kipróbálhatjuk
az S3,
S4OS, és
S5 állapotokat. Ha az
értéke egy
(1), akkor az
S4BIOS
támogatása helyett az S4
OS állapotot kapjuk.A felfüggesztés és folytatás
kipróbálása során kezdjük az
S1 állapottal, már amennyiben
az támogatott a rendszerünkön. Ez az
állapot többnyire használható, mivel
nem igényel túlságosan sok
támogatást a meghajtó
részérõl. Eddig még senki sem
implementálta az S2
állapotot, de ha ezt is tudja a rendszerünk, akkor
az S1-hez hasonlót nyerünk
vele. A következõ próba az
S3 állapoté. Ez a
legmélyebb STR állapot,
és a hardver megfelelõ
újraélesztéséhez rengeteg
támogatás szükségeltetik a
meghajtó részérõl. Ha gondjaink
lennének a rendszerünk
felébresztésével, nyugodtan írjunk
egy levelet a &a.acpi.name; listára, ám a
probléma gyors megoldódásában ne
reménykedjünk, hiszen ehhez még
temérdek meghajtón és hardveren kell
tesztelni és kell dolgozni.A problémát nagy mértékben
segíti különválasztani, ha
igyekszünk minél több meghajtót
kivenni a rendszermagból. Ha így javul a
helyzet, akkor már könnyen le lehet
szûkíteni arra a meghajtóra a kört,
aminek betöltésével esetleg gondok
akadhatnak. Általában ilyenek a bináris
meghajtók, mint például az
nvidia.ko, az X11
megjelenítésért felelõs és az
USB eszközök meghajtói,
miközben az Ethernet eszközök remekül
szoktak mûködni. Ha különösebb gond
nélkül képesek vagyunk betölteni
és eltávolítani ezeket a
meghajtókat, akkor ezt a folyamatot
önállósítani is tudjuk úgy,
hogy az /etc/rc.suspend és
/etc/rc.resume szkriptekbe
beillesztjük az ehhez szükséges parancsokat.
Ezekben egyébként találunk is egy
megjegyzésbe rakott példát a
meghajtók betöltésérõl
és eltávolításáról.
Ha az ébresztés után elszemetelõdik
a képernyõ tartalma, akkor állítsuk
át a
változó értékét
nullára (0). Sokat segíthet
meg az is, ha a
értékét csökkentjük vagy
növeljük.Megpróbálhatjuk azt is, hogy
elindítunk egy frissebb Linux
disztribúciót ACPI
támogatással és ugyanazon a hardveren
kipróbáljuk az általa
felkínált felfüggesztési és
folytatási lehetõséget. Ha Linux alatt ez
megbízhatóan mûködik, akkor nagy a
valószínûsége, hogy ez &os; alatt az
egyik meghajtó hibájából
fakadóan nem használható. Így
fokozatosan le is tudjuk szûkíteni a pontosan
melyikkel lehet a gond, és ezzel pedig a
fejlesztõk munkáját segítjük.
Megjegyeznénk, hogy az ACPI-t
karbantartó fejlesztõk általában nem
foglalkoznak más meghajtókkal
(például hangkártya vagy
ATA stb.), ezért az adott
meghajtóval kapcsolatos hibáról javasolt
értesíteni a &a.current.name; listát
és a meghajtóért felelõs
fejlesztõt is. Ha van egy kis kedvünk és
idõnk, mi magunk is belebiggyeszthetünk a
meghajtóba néhány &man.printf.3;
függvényt annak kiderítésére,
pontosan hol is fagy le a folytatási
funkció.Végül megpróbálkozhatunk az
ACPI kikapcsolásával is,
és áttérhetünk helyette az
APM használatára. Ha az
APM-mel mûködnek a
készenléti állapotok, akkor
érdemes inkább azzal dolgozni,
különösen a régebbi (2000 elõtti)
hardverek esetében. A gyártóknak
eltartott egy ideig, amíg rendes
ACPI támogatást voltak
képesek adni, ezért a régebbi
hardvereknél inkább a
BIOS-nak akadnak gondjai az
ACPI-val.A rendszer lemerevedik (ideiglenesen vagy
teljesen)A legtöbb rendszer olyankor akad meg, amikor sok
megszakítás elveszik, vagy amikor éppen
sok megszakítás érkezik egyszerre. A
chipkészleteknek számos baja származik
abból, hogy a BIOS milyen
módon állítja be a rendszer
indítása elõtt a
megszakításokat, mennyire helyes az
APIC (MADT)
táblázata és hogyan vezérli a
Rendszervezérlõ
megszakítást (System Control
Interrupt, SCI).megszakítás-viharokA megszakítás-viharok a vmstat
-i parancs kimenetében szereplõ
elveszett megszakításokból
azonosíthatók be, ahol keressünk rá
az acpi0 sorra. Ha ez a
számláló másodpercenként
kettõnél többel növekszik, akkor a
megszakításaink viharba keveredtek. Ha a
rendszer látszólag lefagyott,
próbáljuk meg elõhívni a
DDB-t (konzolban a CTRLALTESC) és gépeljük be, hogy
show interrupts.APICkikapcsolásaA megszakítási problémákkal
kapcsolatban egyetlen reményünk az
APIC támogatás
kikapcsolása lehet a loader.conf
állományban a
hint.apic.0.disabled="1" sor
hozzáadásával.Végzetes hibákAz ACPI-vel kapcsolatos végzetes
hibák viszonylag ritkák, és
javításuk a legfontosabb. Ilyenkor az elsõ
teendõnk elkülöníteni a hiba
reprodukálásának egyes
lépéseit és (ha lehetséges)
lekérni a hívási láncot.
Kövessük az options DDB és
a soros vonali konzol
beállításához adott
tanácsokat (lásd ) vagy hozzunk létre egy
&man.dump.8; partíciót. A
DDB-ben a hívási
láncot a tr parancs
segítségével kérhetjük le.
Ha kézzel írjuk le láncot, akkor
legalább az alsó öt (5) és a
felsõ öt (5) sorát mindenképpen
jegyezzük fel!Ezután próbáljuk meg úgy
szûkíteni a probléma
lehetõségét, hogy az
ACPI használata nélkül
indítjuk a rendszert. Ha ezzel nincs semmi gond, akkor
a változó
értékének megfelelõ
beállításával egyenként meg
tudjuk figyelni az ACPI alrendszer egyes
részeit. Ehhez példákat az &man.acpi.4;
man oldalon találunk.Felfüggesztés vagy
leállítás után elindul a
rendszerElõször is próbáljuk meg a
hw.acpi.disable_on_poweroff
változó értékét
0-ra állítani a
&man.loader.conf.5; állományban. Ezzel
távoltartjuk az ACPI alrendszert a
rendszer leállítási
folyamatától. Egyes rendszereknek valamilyen
okból kifolyólag szükségük van
itt az 1 (az alapértelmezett)
értékre. Ez többnyire megoldja a
problémát, amikor a rendszer váratlanul
elindul a készenléti mód
aktiválásákor vagy
kikapcsoláskor.Egyéb problémákHa más gondjaink lennének az
ACPI-val (dokkoló
állomásunk van, egyes eszközöket nem
vesz észre stb.), akkor természetesen errõl
is küldjünk egy leírást a
levelezési listára. Azonban vegyük
figyelembe, hogy egyes problémák a
ACPI alrendszer eddig még nem
implementált, befejezetlen részeihez
kötõdnek, ezért azok megoldása
még várat magára. Kérünk
mindenkit, hogy legyen türelemmel és álljon
készen a kiküldött javítások
tesztelésére!ASL, acpidump
és IASLACPIASLA problémák leggyakoribb forrása, hogy
a BIOS-gyártók rossz (vagy
kifejezetten hibás!) bytekódokat adnak. Ez
általában a következõhöz
hasonló rendszerüzenetbõl derül ki:ACPI-1287: *** Error: Method execution failed [\\_SB_.PCI0.LPC0.FIGD._STA] \\
(Node 0xc3f6d160), AE_NOT_FOUNDAz ilyen jellegû hibákat gyakran úgy
lehet orvosolni, ha a BIOS-unkat
frissítjük a legújabb verzióra. A
legtöbb ilyen üzenet teljesen ártalmatlan, de
ha vannak más problémáink is,
például az akkumulátor állapota nem
olvasható le, akkor elõször az
AML környékén
érdemes kutakodnunk. A bytekód, más
néven AML, az ASL
elnevezésû forrásnyelvbõl
származik. Az AML egy
DSDT néven ismert
táblázatban található meg. Az
ASL másolatát az
&man.acpidump.8; paranccsal készíthetjük el.
Paraméterként egyaránt adjuk meg a
(megmutatja a rögzített
táblák tartalmát) és
(visszafejti az AML
kódokat az ASL nyelvére)
kapcsolókat. A felírás pontos
formátumát a A
nyomkövetési információk
beküldése címû szakaszban
olvashatjuk.Elsõként próbáljuk meg
újrafordítani az így nyert
ASL programot és keressünk benne
hibákat. A figyelmeztetések
általában nyugodtan figyelmen kívül
hagyhatóak, azonban a hibák olyan
implementációs hibákra utalnak, amelyek
akadályozzák az ACPI helyes
mûködését. Az ASL
újrafordítását az alábbi
paranccsal tudjuk elvégezni:&prompt.root; iasl saját.aslAz ASL kijavításaACPIASLVégeredményben az a célunk, hogy az
ACPI megfelelõ
mûködéséhez senkinek se kelljen
hozzányúlnia semmihez. Azonban még mindig
szükség van
BIOS-gyártók által
elkövetett gyakori hibák
elkerülésének kifejlesztésére.
A µsoft; értelmezõje
(acpi.sys és
acpiec.sys) nem ellenõrzi
szigorúan a szabvány szerinti megfelelést,
ezért számos olyan
BIOS-gyártó, akik csak
&windows; alatt tesztelik az ACPI
implementációjukat, soha nem fogják
kijavítani a ASL kódjukban
ejtett hibáikat. Reménykedünk, hogy
folyamatosan sikerül felderíteni és
dokumentálni a µsoft; értelmezõje
által eltûrt szabványon kívüli
viselkedést és leutánozni &os; alatt is,
hogy így ne kelljen a felhasználóknak
kézzel a saját ASL
forrásaikat javítgatni. Az ebbõl
fakadó hibákat úgy tudjuk elkerülni
és segíteni a fejlesztõknek
azonosítani a hozzá társuló
viselkedést, hogy magunk javítjuk az
ASL-ben felfedezett hibákat. Ha ez
beválik, akkor küldjük el a régi
és új ASL közti
&man.diff.1;-et a fejlesztõknek, akik így majd az
ACPI-CA-ban ki tudnak dolgozni egy
megoldást a hibás viselkedésre, ezzel a
javításunk szükségtelenné
válik.ACPIhibaüzenetekMost pedig következzenek a legismertebb
hibaüzenetek, az okaik és
javításuk:Operációs rendszeri
függõségekNéhány AML úgy
gondolja, hogy a világ csak a
különbözõ &windows;
verziókból áll. A &os;-nek
megadható, hogy másik operációs
rendszernek adja ki magát, és ezzel talán
meg is szüntethetõ pár hiba. Ezt a
legegyszerûbb úgy tudjuk megtenni, ha a
/boot/loader.conf
állományhoz hozzáfûzzük a
hw.acpi.osname="Windows 2001" sort, vagy
itt egy olyan karakterláncot adunk meg, amit az
ASL forrásban láttunk.Hiányzó visszatérési
értékBizonyos módszerek a szabvány szerint
elvártaktól eltérõen nem adnak
vissza explicit módon értéket. Mivel az
ACPI-CA ezt nem kezeli le, ezért a
&os; részérõl tartalmaz egy olyan
módosítást, amivel implicit módon
is vissza lehet adni értéket. Ha biztosak
akarunk lenni a visszaadni kívánt
értékben, akkor helyezzünk el a
megfelelõ helyekre explicit Return
utasításokat. Az iasl a
paraméterrel
kényszeríthetõ az ilyen
ASL források
lefordítására.Az alapértelmezett AML
felülbírálásaMiután módosítottuk a
saját.asl
állományunkat, így tudjuk
lefordítani:&prompt.root; iasl saját.aslAz kapcsoló
megadásával
kikényszeríthetjük az
AML létrehozását
még abban az esetben is, amikor hibákat
tartalmaz. Ügyeljünk rá, hogy bizonyos
hibákat (például a hiányzó
visszatérési értékeket) a
fordító magától
kikerül.Az iasl alapértelmezett kimenete
a DSDT.aml állomány. A
/boot/loader.conf
átírásával így tudjuk ezzel
helyettesíteni a BIOS-unk
hibás változatát (ami még mindig
megtalálható a flash
memóriában):acpi_dsdt_load="YES"
acpi_dsdt_name="/boot/DSDT.aml"Ehhez ne felejtsük el a saját
DSDT.aml állományunkat
bemásolni a /boot
+ class="directory">/boot
könyvtárba.Nyomkövetési információk
kinyerése az ACPI-bõlACPIproblémákACPInyomkövetésAz ACPI meghajtója nagyon rugalmas
nyomkövetési lehetõségekkel rendelkezik.
Ennek révén ugyanúgy megadhatjuk a
nyomonkövetni kívánt alrendszert, mint ahogy
annak mélységét is. A nyomkövetni
kívánt alrendszereket
rétegekként adjuk meg, valamint
ezek ACPI-CA komponensekre
(ACPI_ALL_COMPONENTS) és ACPI
hardvertámogatásra (ACPI_ALL_DRIVERS) bomlanak le.
A nyomkövetéskor keletkezõ kimenet
részletességét a
szintként adjuk meg, ami az
ACPI_LV_ERROR-tól (csak a hibák)
ACPI_LV_VERBOSE-ig (minden) terjedhet. A szint
itt egy bitmaszk, ezért szóközzel
elválasztva egyszerre több
beállítás megadható. Ha
túlságosan sok üzenet érkezik a konzol
üzenetpufferébe, akkor szükségünk
lehet a soros konzol keresztüli nyomkövetésre
is. Az összes szint és réteg az &man.acpi.4;
man oldalon található meg.A nyomkövetés alapértelmezés
szerint nem engedélyezett. Az
engedélyezéséhez hozzá kell adnunk
az options ACPI_DEBUG sort a rendszermagunk
beállításait tartalmazó
állományhoz, amennyiben a rendszermagba
fordítjuk az ACPI
támogatást. Ha az
/etc/make.conf állományba
írjuk bele az ACPI_DEBUG=1 sort, akkor
azt globális engedélyezhetjük. Ha
modulként használjuk, elegendõ csak a
következõ módon újrafordítani az
acpi.ko modult:&prompt.root; cd /sys/modules/acpi/acpi
&& make clean &&
make ACPI_DEBUG=1Telepítsük fel a acpi.ko
modult a /boot/kernel
könyvtárba és állítsuk be a
számunkra megfelelõ szintet és réteget
a loader.conf állományban.
Az alábbi példában
engedélyezzük az összes
ACPI-CA komponens és az összes
ACPI hardvermeghajtó (processzor,
LID stb.) nyomkövetését.
Csak a hibaüzeneteket írja ki
részletesen.debug.acpi.layer="ACPI_ALL_COMPONENTS ACPI_ALL_DRIVERS"
debug.acpi.level="ACPI_LV_ERROR"Ha az általunk keresett információt egy
adott esemény váltja ki (például egy
felfüggesztés vagy egy ébresztés),
akkor nem is fontos átírnunk hozzá a
loader.conf állományt, hanem
helyette a rendszer indítása után
használjuk a sysctl parancsot a
réteg és a szint megadására akkor,
amikor a rendszert felkészítjük az
eseményre. A sysctl
változókat ugyanúgy nevezték el,
mint a loader.conf
állományban található
beállításokat.HivatkozásokAz ACPI-rõl az alábbi
helyeken találunk részletesebb
információkat:A &a.acpi;Az ACPI levelezési lista
archívuma: A korábbi ACPI
levelezési lista archívuma: Az ACPI 2.0
specifikációja: A &os; következõ man oldalai: &man.acpi.4;,
&man.acpi.thermal.4;, &man.acpidump.8;, &man.iasl.8;,
&man.acpidb.8;
A DSDT nyomkövetése
(angolul). (Példának a Compaqot hozza
fel, de általánosságban véve
hasznos.)
diff --git a/hu_HU.ISO8859-2/books/handbook/geom/chapter.sgml b/hu_HU.ISO8859-2/books/handbook/geom/chapter.sgml
index 3f29dc8b7c..bf4690acee 100644
--- a/hu_HU.ISO8859-2/books/handbook/geom/chapter.sgml
+++ b/hu_HU.ISO8859-2/books/handbook/geom/chapter.sgml
@@ -1,1032 +1,1080 @@
TomRhodesÍrta: GEOM: A moduláris lemezszervezõ rendszerÁttekintésGEOMA GEOM lemezrendszerGEOMEz a fejezet a &os;-ben található GEOM rendszert
mutatja be. Ez a rendszer tömöríti az
általa is alkalmazott fontosabb RAID-vezérlõ
segédprogramokat. A fejezet nem részletezi, hogy a
GEOM konkrétan milyen módon kezeli és
vezérli az I/O-t, ahogy azt sem, hogyan mûködik
az alapjául szolgáló alrendszer vagy hogy
néz ki annak forráskódja. Az ilyen
jellegû információk a &man.geom.4; man oldalon,
valamint az ott felsorolt helyeken találhatóak meg.
Továbbá, ez a fejezet magukról a
RAID-konfigurációkról sem
ad pontos tájékoztatást.
Kizárólag csak a GEOM által is
támogatott
RAID-besorolásokról esik
szó.A fejezet elolvasása során
megismerjük:a GEOM segítségével milyen
fajtájú RAID
támogatást érhetünk el;hogyan kell használni a rendszer által
nyújtott alapvetõ segédeszközöket
a különféle RAID-szintek
konfigurálásához,
karbantartásához és
kezeléséhez;hogyan kell a GEOM-on keresztül tükrözni,
csíkozni, titkosítani és
távolról összekapcsolni lemezes
eszközöket;hogyan kell a GEOM rendszerben összekapcsolt
lemezeknél felmerülõ hibákat
felderíteni.A fejezet elolvasásához
ajánlott:megérteni, hogyan kezeli a &os; a lemezes
eszközöket ();ismerni, hogyan konfiguráljunk és
telepítsünk egy új &os; rendszermagot ().A GEOM bemutatásaA GEOM rendszer adatszolgáltatókon vagy
speciális /dev-állományokon
keresztül hozzáférést és
vezérlést tesz lehetõvé bizonyos
osztályokhoz — Master Boot Recordokhoz,
BSD-címkékhez stb. Számos
szoftveres RAID konfiguráció
támogatásával a GEOM transzparens
elérést tesz lehetõvé mind az
operációs rendszer, mind pedig az általa
felkínált segédprogramok
számára.TomRhodesÍrta: MurrayStokelyRAID0 - CsíkozásGEOMLemezcsíkozásA csíkozás módszerét
használjuk abban az esetben, amikor több
lemezmeghajtót akarunk egyetlen kötetté
összevonni. A GEOM lemezalrendszer szoftveres
támogatást nyújt a RAID0,
más néven a lemezcsíkozás
megvalósításához.Egy RAID0 rendszerben az adatokat blokkokra
bontva írjuk fel a tömbben található
lemezek között szétosztva. Így ahelyett,
hogy meg kellene várnunk 256 kb-nyi adat egyetlen lemezre
írását, egy RAID0
rendszerben egyszerre íródik 64 kb-nyi adat
négy különbözõ lemezre, és
ezáltal gyorsabb elérést szolgáltat.
Ez a gyorsaság további lemezvezérlõk
használatával még jobban
fokozható.Az egy RAID0-csíkozásban
résztvevõ lemezek mindegyikének azonos
méretûnek kell lennie, mivel az írásra
és olvasásra irányuló
I/O-kérések a párhuzamos
kiszolgálás érdekében
összefésülõdnek.Példa lemezcsíkozásraCsíkozás kialakítása
formázatlan ATA-lemezekkelTöltsük be a geom_stripe.ko
modult:&prompt.root; kldload geom_stripeBizonyosodjuk meg róla, hogy a rendszerünkben
található egy szabad csatlakozási pont.
Ha majd ezt a kötetet szánjuk rendszerünk
gyökérpartíciójának,
használjunk erre a célra egy másik
könyvtárat, például a /mnt-ot:&prompt.root; mkdir /mntKeressük meg a csíkozásra
felhasználni kívánt lemezek
eszközneveit, és hozzunk létre
belõlük egy új csíkozott eszközt.
Például, ha két használatban nem
levõ, particionálatlan
ATA-lemezt, név szerint a
/dev/ad2 és
/dev/ad3 eszközöket akarjunk
csíkozni:&prompt.root; gstripe label -v st0 /dev/ad2 /dev/ad3
Metadata value stored on /dev/ad2.
Metadata value stored on /dev/ad3.
Done.Az így létrejött új köteten
most hozzunk létre egy általános
címkét, vagy más néven egy
partíciós táblát, és
telepítsük fel rá a rendszer
alapértelmezett rendszerindító
programját:&prompt.root; bsdlabel -wB /dev/stripe/st0Ezzel meg kellett jelennie további másik
két eszköznek is a /dev/stripe
könyvtárban, a st0
eszköz mellett. Ezek többek közt az
st0a és az
st0c. Itt már ki is tudunk
alakítani egy állományrendszert az
st0a eszközön a
newfs használatával:&prompt.root; newfs -U /dev/stripe/st0aSok-sok számot fogunk látni cikázni a
képernyõn, majd néhány
másodperc múlva befejezõdik a folyamat.
Létrehoztuk a kötetet, ami most már
készen áll a becsatolásra.A kialakított lemezcsíkozást így
tudjuk kézzel csatlakoztatni:&prompt.root; mount /dev/stripe/st0a /mntA csíkozott állományrendszert a
rendszerindítás folyamán automatikusan
becsatlakoztathatjuk, ha elhelyezzük az alábbi
kötetinformációkat az
/etc/fstab állományba. Erre a
célra stripe
néven létrehozunk egy állandó
csatlakozási pontot:&prompt.root; mkdir /stripe
&prompt.root; echo "/dev/stripe/st0a /stripe ufs rw 2 2" \>> /etc/fstabA geom_stripe.ko modult is automatikusan
be kell tölteni a rendszerindítás során.
Ehhez a következõ sort kell hozzáadni a
/boot/loader.conf
állományhoz:&prompt.root; echo 'geom_stripe_load="YES"' >> /boot/loader.confRAID1 - TükrözésGEOMlemeztükrözésA tükrözés számos
vállalatnál és háztartásban
alkalmazott technológia, amely az adatok
megszakítás nélküli
lementésére használatos. Amikor
tükrözést használunk, az egyszerûen
csak arra utal, hogy a B lemez ugyanazokat az adatokat
tartalmazza, mint az A lemez. Vagy amikor a C és D lemez
tartalma egyezik meg az A és B lemezekével.
Függetlenül a lemezek kiosztásától,
itt az a lényeg, hogy az egyik lemez teljes területe
vagy az egyik partíciója le van másolva.
Késõbb az ezen a módon lementett adatok
könnyen visszaállíthatóak
anélkül, hogy ez a szolgáltatásban vagy
az elérhetõségben bármilyen
kimaradást okozna, és akár még
fizikailag is biztonságosan tárolhatóak.
Elõször is szereznünk kell két egyforma
méretû lemezt, valamint a példák
feltételezik, hogy ezek a lemezek közvetlen
elérésû (&man.da.4;)
SCSI-lemezek.Az elsõdleges lemezek
tükrözéseTegyük fel, hogy a &os; az elsõ,
da0 nevû lemezmeghajtón
található, és a &man.gmirror.8;
számára ezt szeretnénk megadni az
elsõdleges adatok tárolásához.A tükrözés
létrehozásának megkezdése elõtt a
kern.geom.debugflags &man.sysctl.8;
változó megfelelõ
beállításával
engedélyezzünk további
nyomkövetési információkat és
hozzáférést az eszközhöz:&prompt.root; sysctl kern.geom.debugflags=17Most építsük fel a
tükrözést. Kezdjük az egészet a
metaadatok elhelyezésével az elsõdleges
lemezmeghajtón, tehát tulajdonképpen az
alábbi parancs segítségével hozzuk
létre a /dev/mirror/gm
eszközt:A rendszerindító meghajtóról
készített tükrözés
adatvesztést okozhat a lemez utolsó
szektorában. Ennek kockázata
csökkenthetõ, ha közvetlenül a &os; friss
telepítése után állítjuk be
a tükrözést.&prompt.root; gmirror label -vb round-robin gm0 /dev/da0Erre a rendszernek a következõ módon kell
reagálnia:Metadata value stored on /dev/da0.
Done.A GEOM inicializálásához
szükségünk lesz a
/boot/kernel/geom_mirror.ko modul
betöltésére:&prompt.root; gmirror loadA parancs sikeres lefutása után a /dev/mirror
könyvtárban létrehoz egy
gm0
eszközleírót.A geom_mirror.ko modul
betöltését így tudjuk
engedélyezni a rendszer indításakor:&prompt.root; echo 'geom_mirror_load="YES"' >gt; /boot/loader.confNyissuk meg az /etc/fstab
állományt, és cseréljük le
benne az összes korábbi da0
hivatkozást az újonnan kialakított
gm0 tükrözés
eszközleírójával.Ha &man.vi.1; szövegszerkesztõt
használjuk, akkor a következõ módon
tudjuk ezt egyszerûen megtenni:&prompt.root; vi /etc/fstabA &man.vi.1; indítása után a
:w /etc/fstab.bak
kiadásával készítsünk az
fstab állomány jelenlegi
tartalmáról másolatot. Ezután a
:%s/da/mirror\/gm/g parancs
használatával cseréljük ki az
összes da0 hivatkozást a
gm0 eszköz nevére.Az így keletkezõ fstab
állomány nagyjából következõ
módon fog kinézni. Most teljesen független,
hogy SCSI vagy ATA
meghajtókkal dolgozunk, a RAID
eszköz neve mindig gm lesz:# Eszköz Csatlakozási pont Típus Beállítások Dump Menet
/dev/mirror/gm0s1b none swap sw 0 0
/dev/mirror/gm0s1a / ufs rw 1 1
/dev/mirror/gm0s1d /usr ufs rw 0 0
/dev/mirror/gm0s1f /home ufs rw 2 2
#/dev/mirror/gm0s2d /store ufs rw 2 2
/dev/mirror/gm0s1e /var ufs rw 2 2
/dev/acd0 /cdrom cd9660 ro,noauto 0 0Indítsuk újra a rendszert:&prompt.root; shutdown -r nowEnnek megfelelõen a rendszer indítása
közben a da0 eszköz helyett a
gm0 eszközt fogjuk
használni. Miután sikeresen
befejezõdött a rendszerindítás, a
mount parancs kiadásával a
saját szemünkkel is meggyõzõdhetünk
az eredményrõl:&prompt.root; mount
Filesystem 1K-blocks Used Avail Capacity Mounted on
/dev/mirror/gm0s1a 1012974 224604 707334 24% /
devfs 1 1 0 100% /dev
/dev/mirror/gm0s1f 45970182 28596 42263972 0% /home
/dev/mirror/gm0s1d 6090094 1348356 4254532 24% /usr
/dev/mirror/gm0s1e 3045006 2241420 559986 80% /var
devfs 1 1 0 100% /var/named/devA parancs kimenete az elvárásainknak
megfelelõen remekül néz ki.
Zárásképpen a szinkronizálás
megkezdéséhez a következõ paranccsal
illesszük be a da1 eszközt a
tükrözésbe:&prompt.root; gmirror insert gm0 /dev/da1A tükrözés állapota a
létrejöttét követõen az alábbi
paranccsal ellenõrizhetõ:&prompt.root; gmirror statusAz iménti parancs eredményének
nagyjából a következõnek kell lennie
miután a felépítettük a
tükrözést és szinkronizáltuk az
adatokat: Name Status Components
mirror/gm0 COMPLETE da0
da1Hiba esetén a tükrözés
továbbra is folytatódik, azonban ilyenkor a
példában szereplõ COMPLETE
helyett a DEGRADED jelzést fogjuk
látni.HibakeresésA rendszer nem hajlandó elindulniHa a rendszerünk ehhez hasonló módon
indul:ffs_mountroot: can't find rootvp
Root mount failed: 6
mountroot>Indítsuk újra a gépünket a
kikapcsoló gomb vagy a reset
segítségével. A
rendszerindító menüben válasszuk a
hatodik opciót (6). Ennek
eredményeképpen megkapjuk a &man.loader.8;
parancssorát. Töltsük be a modult
manuálisan:OK? load geom_mirror
OK? bootHa ez beválik, akkor valamiért a modult nem
sikerült rendesen betölteni.
Ellenõrizzük, hogy a
/boot/loader.conf
állományban a neki szereplõ megfelelõ
bejegyzés helyesen szerepel. Amennyiben a
probléma továbbra is fennáll,
helyezzük el a következõ sort a rendszermag
konfigurációs állományába,
majd fordítsuk újra és
telepítsük:options GEOM_MIRROREzzel várhatóan orvosoltuk a
problémát.A meghibásodott lemezek cseréjeA lemezek tükrözésének egyik
legcsodálatosabb elõnye, hogy a menet közben
meghibásodott meghajtókat gond, és
így feltehetõen adatvesztés
nélkül ki tudjuk cserélni.Vegyük az iménti RAID-1
konfigurációt, és tételezzük fel,
hogy a da1 eszköz felmondta a
szolgáltatot és cserére szorul. A
meghajtó leváltásához keressük
meg a hibás eszközt, majd állítsuk le
a rendszert. Tegyük be a helyére az újat
és indítsuk újra a rendszerünket.
Miután elindult az operációs rendszer, a
következõ parancsok kiadásával tujduk
logikailag is lecserélni a meghibásodott
lemezt:&prompt.root; gmirror forget gm0
&prompt.root; gmirror insert gm0 /dev/da1Innen a gmirror
parancsával kísérhetjük figyelemmel a
tükrözés újraszervezésének
menetét. Csupán ennyi az egész.Eszközök hálózati illesztése a
GEOM-banA GEOM távoli eszközök, például
lemezek, CD-meghajtók stb. használatát is
támogatja a hálózati illesztést
szolgáló segédprogramjaival, hasonlóan
az NFS-hez.Kezdésként létre kell hozni a
megosztást elõsegítõ
állományt. Ez az állomány
határozza meg, ki és milyen szinten jogosult
használni a megosztott erõforrásokat.
Például ha megosztjuk az elsõ
SCSI-lemezen a negyedik slice-ot, az
alábbi /etc/gg.exports
állomány tökéletesen megfelel:192.168.1.0/24 RW /dev/da0s4dEzzel a belsõ hálózaton levõ
összes számítógép képes
lesz elérni a da0s4d
partíción található
állományrendszert.Az eszköz megosztásához elõször
gondoskodnunk kell róla, hogy ne legyen csatlakoztatva,
majd ezután indítsuk el a &man.ggated.8; szerver
démonját:&prompt.root; ggatedEzt követõen a mount
felhasználásával csatoljuk az eszközt a
kliensen, az alábbi parancs
kiadásával:&prompt.root; ggatec create -o rw 192.168.1.1 /dev/da0s4d
ggate0
&prompt.root; mount /dev/ggate0 /mntInnentõl kezdve az eszköz elérhetõ lesz
a /mnt csatlakozási
ponton keresztül.Fontos kiemelnünk, hogy ez a mûvelet
eredménytelen, ha az adott eszközt vagy maga a
szerver, vagy pedig valamelyik másik kliens már
korábban csatolta.Amikor az eszközre már nincs tovább
szükségünk, biztonságosan le tudjuk
választani az &man.umount.8; paranccsal, hasonlóan
bármelyik más lemezes eszközhöz.A lemezes eszközök
címkézéseGEOMLemezcímkékA rendszer indítása közben a &os;
rendszermagja a talált eszközöknek
megfelelõen mindegyiknek létrehoz egy-egy
eszközleírót. Ezzel a
próbálgatásos módszerrel együtt
jár néhány gond, például mi
történik akkor, ha az új lemezes eszközt
USB-n keresztül adjuk a rendszerhez?
Nagyon valószínû, hogy ez az eszköz
megkapja a da0 nevet és ezzel az
eredeti da0 eszköz eltolódik
a da1 névhez. Ennek
köszönhetõen az /etc/fstab
állományban felsorolt
állományrendszerek csatolása veszélybe
kerül, aminek következtében akár
meghiúsulhat a rendszerindulás is.Az egyik lehetséges megoldása a
problémának, ha sorbafûzzük a
SCSI eszközeinket, és így a
SCSI-kártyához kapcsolt
újabb eszköz egy addig nem használt
számot fog birtokba venni. Mi helyzet azonban az
USB-s eszközökkel, amelyek
kiüthetik az elsõdleges
SCSI-lemezeinket? Ez egyébként
azért történhet meg, mert az
USB-s eszközöket
általában hamarabb keresi a rendszer, mint a
SCSI kártyán levõ
eszközöket. Megoldhatjuk úgy ezt a gondot, hogy
csak azután csatlakoztatjuk az említett
eszközöket, miután a rendszer elindult.
Megoldhatjuk viszont úgy is, hogy csak egyetlen
ATA-meghajtót használunk
és soha nem soroljuk fel a SCSI
eszközöket az /etc/fstab
állományban.Ezeknél kínálkozik azonban egy jobb
megoldás! A glabel nevû
segédprogrammal a rendszergazda vagy a
felhasználó úgy tudja címkézni
a lemezmeghajtókat, hogy azok a
/etc/fstab állományban
szereplõ címkéket használják.
Mivel a glabel a címkét az adott
szolgáltató utolsó szektorában
tárolja el, ez a címke megmarad az
újraindítás után is. Ha ezt a
címkét eszközként használjuk, az
állományrendszerek mindig ugyanarról a
meghajtóról fognak csatolódni,
függetlenül attól, hogy milyen
eszközleírón keresztül érjük
el ezeket.Egyáltalán nem állítottuk, hogy
egy címke csak állandó lehet. A
glabel segítségével
egyaránt létre lehet hozni állandó
és átmeneti címkéket, de csak az
állandó címke képes az
újraindítás után is megmaradni. A
két címketípus közti
különbségeket a &man.glabel.8; man oldal
tárgyalja részletesebben.Címketípusok és
példákA címkéknek két típusa
létezik, az általános címke
és az állományrendszer-címke. A
címkék lehetnek állandóak vagy
ideiglenesek. Az állandó címkék a
&man.tunefs.8; vagy &man.newfs.8; parancsokkal hozhatóak
létre. Ezek a címkék az adott
állományrendszer típusa alapján
elnevezett alkönyvtárakban jönnek létre
a /dev
könyvtáron belül. Például az
UFS2
állományrendszer-címkék a /dev/ufs könyvtárban
keletkeznek. Állandó címkék a
glabel label paranccsal hozhatóak
létre. Az ilyen címkék nem függenek
az állományrendszerek
típusától, a /dev/label könyvtárban
jönnek létre.Az ideiglenes címkék a következõ
induláskor elvesznek. Ezek a címkék a
/dev/label
könyvtárban keletkeznek, és ideálisak
a kísérletezgetésre. Ideiglenes
címkéket a glabel create
paranccsal hozhatunk létre. Ezzel kapcsolatosan
részletesebb felvilágosítást a
&man.glabel.8; man oldalon találhatunk.Ha egy UFS2
állományrendszerre szeretnénk tenni egy
állandó címkét az adataink
megsemmisítése nélkül, adjuk ki a
következõ parancsot:&prompt.root; tunefs -L home/dev/da3Ha az érintett állományrendszeren
nincs üres hely, ennek a parancsnak a használata
adatvesztéshez vezethet. Ilyen esetben inkább a
felesleges állományok
eltávolításával kellene
törõdnünk, nem pedig címkék
hozzáadásával.Ezután egy címkének kell megjelennie a
/dev/ufs
könyvtárban, amelyet vegyünk is fel az
/etc/fstab állományba:/dev/ufs/home /home ufs rw 2 2Az állományrendszert tilos csatolni a
tunefs futtatása alatt!Most már a megszokott módon csatolhatjuk az
állományrendszert:&prompt.root; mount /homeEttõl a ponttól kezdve, amíg a
geom_label.ko modul betöltõdik a
rendszerindítás során a
/boot/loader.conf állományon
keresztül, vagy a GEOM_LABEL
opció megtalálható a rendszermag
konfigurációs állományában,
az eszközleíró a rendszerre nézve
minden komolyabb következmény nélkül
megváltozhat.Állományrendszereket létrehozhatunk
alapértelmezett címkével is a
newfs
paraméterével. Errõl részletesebben a
&man.newfs.8; man oldalon olvashatunk.Az alábbi paranccsal tudjuk törölni a
címkét:&prompt.root; glabel destroy homeA következõ példában azt
láthatjuk, hogyan címkézzük fel a
rendszerindító lemezünk
partícióit.Partíciók címkézése a
rendszerindító lemezenA rendszerindításra használt lemezen
levõ partíciók
felcímkézésével a rendszer
képes lesz akkor is minden probléma
nélkül elindulni, amikor áthelyezzük
egy másik vezérlõre vagy átrakjuk
egy másik számítógépbe.
Például most tegyük fel, hogy van egy
ATA csatolós lemezünk, amelyet
a rendszer ad0 néven ismert
fel. Továbbá azt is feltételezzük,
hogy a &os; telepítése esetén megszokott
partícionálási sémát
választottuk, ahol /, /var, /usr és /tmp
állományrendszereink, valamint egy
lapozóterületünk van.Indítsuk újra a rendszerünket és
a &man.loader.8; menüjében a 4
billentyû lenyomásával válasszuk az
egyfelhasználós módot. Ezt
követõen adjuk ki a következõ
parancsokat:&prompt.root; glabel label rootfs /dev/ad0s1a
GEOM_LABEL: Label for provider /dev/ad0s1a is label/rootfs
&prompt.root; glabel label var /dev/ad0s1d
GEOM_LABEL: Label for provider /dev/ad0s1d is label/var
&prompt.root; glabel label usr /dev/ad0s1f
GEOM_LABEL: Label for provider /dev/ad0s1f is label/usr
&prompt.root; glabel label tmp /dev/ad0s1e
GEOM_LABEL: Label for provider /dev/ad0s1e is label/tmp
&prompt.root; glabel label swap /dev/ad0s1b
GEOM_LABEL: Label for provider /dev/ad0s1b is label/swap
&prompt.root; exitA rendszer indítása ezután
többfelhasználós módban
folytatódik. A rendszerindítás
befejezõdése után nyissuk meg az
/etc/fstab állományt
és írjuk át a hagyományos
eszközneveket a hozzájuk tartozó
címkékre. Az /etc/fstab
végleges változata ennek megfelelõen
körülbelül így fog
kinézni:# Eszköz Csatlakozási pont Típus Beállítások Dump Menet
/dev/label/swap none swap sw 0 0
/dev/label/rootfs / ufs rw 1 1
/dev/label/tmp /tmp ufs rw 2 2
/dev/label/usr /usr ufs rw 2 2
/dev/label/var /var ufs rw 2 2A rendszer most már
újraindítható. Ha mindent jól
csináltunk, akkor a rendszer indítása
problémáktól mentesen fog zajlani
és a mount parancs eredménye
a következõ lesz:&prompt.root; mount
/dev/label/rootfs on / (ufs, local)
devfs on /dev (devfs, local)
/dev/label/tmp on /tmp (ufs, local, soft-updates)
/dev/label/usr on /usr (ufs, local, soft-updates)
/dev/label/var on /var (ufs, local, soft-updates)
-
+
+
+ A &os; 7.2 kiadásától
+ kezdõdõen a &man.glabel.8; osztály az
+ UFS esetén támogatja az
+ ufsid, az állományrendszer
+ egyedi rendszerszintû
+ azonosítójából származtatott
+ új címketípus használatát.
+ Ezek a címkék a rendszer indítása
+ során a /dev/ufsid
+ könyvtárban jönnek automatikusan létre.
+ Az ufsid címkéken
+ keresztül tudunk az /etc/fstab
+ állományban állományrendszereket
+ csatlakoztatni. A jelenleg aktív
+ állományrendszereket és azok
+ ufsid azonosítóit a
+ glabel status paranccsal tudjuk
+ lekérdezni:
+
+ &prompt.user; glabel status
+ Name Status Components
+ufsid/486b6fc38d330916 N/A ad4s1d
+ufsid/486b6fc16926168e N/A ad4s1f
+
+ Ebben a példában az
+ ad4s1d képviseli a /var
+ állományrendszert, míg a
+ ad4s1f a /usr
+ állományrendszert. Az adott
+ ufsid értékek
+ megadásával az /etc/fstab
+ állományban a következõképpen
+ tudjuk csatlakoztatni ezeket az
+ állományrendszereket:
+
+ /dev/ufsid/486b6fc38d330916 /var ufs rw 2 2
+/dev/ufsid/486b6fc16926168e /usr ufs rw 2 2
+
+ Minden ufsid címkével
+ rendelkezõ partíció csatlakoztatható
+ ezen a módon. Ekkor nem kell manuálisan
+ létrehoznunk a számunkra állandó
+ címkéket, így automatikusan
+ élvethezhetjük az eszköznévtõl
+ független csatlakoztatás elõnyeit.Naplózó UFS GEOM-on keresztülGEOMnaplózásA &os; 7.0-ás verziójának
megjelenésével egy rég várt
kiegészítés, a naplózó
UFS végre elérhetõvé
válik. Maga az implementáció a
GEOM alrendszeren keresztül
érhetõ el, és a &man.gjournal.8;
segédprogram segítségével
könnyedén beállítható.Mit is jelent a naplózás? A
naplózás támogatásával a
rendszer egy naplót vezet az
állományrendszert érintõ
tranzakciókról — például az
olyan változtatásokról, amelyek egy komplett
írási mûveletet eredményeznek —
mielõtt még a metaadatok és
lemezírási mûveletek szabályosan
befejezõdnének. Ez a könyvelés
késõbb visszajátszható az
állományrendszerben lezajlott tranzakciók
reprodukálásához, és ezzel
megelõzhetõek az állományrendszerben
keletkezõ esetleges ellentmondások.Ez egy újabb módszer az adatvesztés
és az állományrendszerben
elõforduló ellentmondások
elkerülésére. Eltérõen a Soft
Updates módszertõl, ahol a metaadatok
frissítését biztosítják
és követik nyomon, vagy a Snapshots
módszertõl, ahol pillanatképeket
tárolunk az állományrendszerrõl, itt egy
konkrét naplót tárolunk a lemez erre a
célra fenntartott részén, amely bizonyos
esetekben akár egy teljes külön merevlemez is
lehet.Ellentétben a többi naplózó
állományrendszertõl, a
gjournal módszere blokk alapú
és nem az állományrendszer
részeként került implementálásra
— csupán a GEOM egyik
bõvítménye.A gjournal
támogatásához a &os; rendszermag
konfigurációs állományában be
kell állítani a következõ opciót
— amely a 7.X rendszereken
alapbeállítás:options UFS_GJOURNALAmennyiben naplózással rendelkezõ
köteteket szeretnénk a rendszerindítás
során csatlakoztatni, a
/boot/loader.conf állományban
következõ sor hozzáadásával
töltessük be a geom_journal.ko
modult:geom_journal_load="YES"Szükség esetén ezt a funkciót
akár a rendszermagba is beépíthetjük, ha
felvesszük a következõ sort a rendszermag
konfigurációs
állományába:options GEOM_JOURNALHa ezt aktiváltuk, egy szabad
állományrendszeren az alábbi
lépéseken keresztül tudunk létrehozni
egy naplót, feltéve, hogy a
da4 egy új
SCSI-meghajtó:&prompt.root; gjournal label /dev/da4
&prompt.root; gjournal loadEnnél a pontnál lennie kell egy
/dev/da4 és egy
/dev/da4.journal
eszközleírónak. Hozzunk létre egy
állományrendszert ezen az eszközön:&prompt.root; newfs -O 2 -J /dev/da4.journalEz a parancs létrehoz egy naplózó
UFS2 állományrendszert.Csatoljuk is be a mount
segítségével az eszközt
kívánt csatlakozási pontra:&prompt.root; mount /dev/da4.journal /mntHa több slice-unk is van, akkor a napló
mindegyik slice-hoz külön létrejön.
Például, ha az ad4s1
és ad4s2 egyaránt
slice-ok, akkor a gjournal legyártja
az ad4s1.journal és
ad4s2.journal
eszközleírókat. Abban az esetben, ha
kétszer futattjuk le a parancsot, az eredmény
journals lesz.Bizonyos körülmények között
kívánatos lehet a naplót egy másik
lemezen tartani. Ilyen esetekben a naplózás
bekapcsolásához a naplót
biztosító szolgáltatót vagy
tárolóeszközt a naplózni
kívánt eszköz után kell szerepeltetni.
A naplózás akár az aktuálisan
használt állományrendszeren is
aktiválható a tunefs
használatával. Az állományrendszer
módosításakor viszont mindig érdemes
biztonsági másolatot készíteni! Az
esetek többségében a
gjournal hibát fog jelezni, mivel nem
tudja létrehozni a naplót, azonban ez nem
védi meg az adatainkat a tunefs
helytelen használata által okozott
sérülésektõl.A rendszerindító lemezen is lehet
naplózást használni. Ennek részleit a
Naplózó UFS használata asztali számítógépeken
címû cikkbõl ismerhetjük meg.
diff --git a/hu_HU.ISO8859-2/books/handbook/introduction/chapter.sgml b/hu_HU.ISO8859-2/books/handbook/introduction/chapter.sgml
index 365af78e47..7a3f294089 100644
--- a/hu_HU.ISO8859-2/books/handbook/introduction/chapter.sgml
+++ b/hu_HU.ISO8859-2/books/handbook/introduction/chapter.sgml
@@ -1,1383 +1,1384 @@
JimMockÁtszerkesztette, átszervezte és
bizonyos részeit átdolgozta: BemutatkozásÁttekintésKöszönjük, hogy érdeklõdik a &os;
iránt! A fejezet a &os; Projektet több
különbözõ vonatkozásban mutatja be: a
történetét, a céljait, a
fejlesztési modelljét és így
tovább.A fejezet elolvasása során
megismerjük:hogyan viszonyul a &os; más operációs
rendszerekhez;a &os; Projekt történetét;a &os; Projekt célkitûzéseit;a &os; nyílt forráskódú
fejlesztési modelljének alapjait;és természetesen: hogyan is keletkezett a
&os; név.Üdvözöljük a &os;-ben!4.4BSD-LiteA &os; egy 4.4BSD-Lite alapú operációs
rendszer &intel; (x86 és &itanium;), AMD64,
Alpha, Sun &ultrasparc;
számítógépekre. Jelenleg is
portolás alatt áll további
architektúrákra. Olvashatunk a &os; történetérõl
vagy éppen az aktuális
kiadásáról. Ha szeretnénk
hozzájárulni a Projekt
fejlõdéséhez (forráskód, hardver
vagy pénz), olvassuk el a Hozzájárulás
a &os;-hez címû cikket (angolul).Mire képes a &os;?A &os; számos figyelemre méltó
tulajdonságot tudhat magáénak. Ezek
közül néhány:preemptív
ütemezésA preemptív
ütemezés dinamikusan
szabályozható prioritások
segítségével biztosítja a
számítógép
felhasználók és alkalmazások
közti finom és igazságos
megosztását, akár a legnagyobb
terhelés esetén is.többfelhasználós
rendszerTöbbfelhasználós
rendszerként lehetõvé teszi,
hogy sokan tudják a &os;-t egyszerre
többféle dologra is használni.
Például, ez azt jelenti, hogy a rendszerhez
csatlakoztatott különbözõ
perifériák, mint mondjuk a nyomtatók
és szalagos egységek, megfelelõen
szétoszthatóak a felhasználók
között vagy éppen a
hálózaton, és az egyes
erõforrásokhoz a felhasználók vagy
azok egy csoportja csak korlátozott módon
férhetnek hozzájuk, elkerülve ezzel a
rendszer számára
létfontosságú erõforrások
túlterhelését.TCP/IP protokollA TCP/IP hálózati
protokoll gyors és
megbízható implementációja,
illetve a legfontosabb ipari szabványok, mint az
SCTP, DHCP, NFS, NIS, PPP, SLIP, IPsec és IPv6
támogatása. Ezáltal egy &os;-s
számítógép könnyedén
képes együttmûködni más
rendszerekkel vagy akár vállalati
szerverként is üzemelni. Megbirkózik az
NFS (Network File System, távoli
állományelérés) és az
elektronikus levelezés megszervezésével
ugyanúgy, ahogy a vállalatunk internetes
elvárásaival a WWW, FTP és
forgalomirányítási protokollokon
keresztül és tûzfal iránti
(biztonsági) igényeivel is.memóriavédelemA memóriavédelem
megvalósítása gondoskodik róla,
hogy az alkalmazások (vagy a
felhasználók) ne zavarják
egymást. Az egyik alkalmazás
összeomlása nincs kihatással a
rendszerben futó összes többire.A &os; egy 32 bites
operációs rendszer (az Alpha, &itanium;, AMD64
és &ultrasparc; architektúrákon pedig
64 bites), amelyet már a
kezdetektõl fogva annak terveztek.X Window SystemXFree86A X Window System ipari
szabványa (X11R7) alapján szolgáltatja
a grafikus felhasználói felületet (GUI)
bármelyik VGA-kártyán és
monitoron, illetve annak teljes forráskódja is
elérhetõ.bináris kompatibilitásLinuxbináris kompatibilitásSCObináris kompatibilitásSVR4bináris kompatibilitásBSD/OSbináris kompatibilitásNetBSDBináris szintû
kompatibilitás a Linuxra, SCO-ra, SVR4-re,
BSDI-re és NetBSD-re készített
programok nagy részével.Futtatásra kész
alkalmazások ezrei érhetõek el a &os;
port- és
csomaggyûjteményében.
Miért bújnánk az internetet
értük, ha mindent egy helyen is
megtalálhatunk?További könnyen
portolható alkalmazások ezrei
állnak rendelkezésre az interneten. A &os;
forráskódja kompatibilis a legtöbb
elterjedt kereskedelmi &unix; rendszerével, aminek
köszönhetõen az alkalmazások nagy
része csak kevés
módosítást igényel a
fordításhoz, már amennyiben erre
egyáltalán szükség van.virtuális
memóriaAz igény szerinti lapozással
mûködõ virtuális
memória és egyesített
VM/puffer gyorsítótár
úgy lett kialakítva, hogy hatékonyan
kiszolgálja a nagyobb étvágyú
alkalmazásokat, miközben a többi
felhasználó számára
továbbra is reakcióképes marad.többprocesszoros (SMP) rendszerek
támogatásaAz SMP támogatása a
több processzorral rendelkezõ
számítógépek
számára.fordítóprogramokCfordítóprogramokC++fordítóprogramokFORTRANC, C++
és Fortran fejlesztõi
eszközök széles tárháza
használható. Kutatáshoz és
fejlesztéshez más egyéb
programozási nyelvek is elérhetõek a
portok és csomagok
segítségével.forráskódAz egész rendszer
forráskódjának
megléte lehetõvé teszi, hogy a legnagyobb
fokú irányítást
élvezhessük a környezetünk felett.
Miért is bíznánk magunkat egy
zárt rendszert fejlesztõ cégre, mikor
lehetne egy igazán nyílt
rendszerünk?Nagy mennyiségû internetes
dokumentáció.Még sok minden
más!4.4BSD-LiteSzámítógépes
rendszerek kutatócsoport (CSRG)BerkeleyA &os; Kaliforniai Egyetem (Berkeley)
Számítógépes rendszerek
kutatócsoportja által fejlesztett 4.4BSD-Lite
kiadásán alapszik és ápolja a
BSD-rendszerek fejlesztésének jellegzetes
hagyományait. Túl a kutatócsoport
kivételes munkáján, a &os; Projekt
több ezernyi órát szentelt arra, hogy a
legtöbbet hozza ki a rendszerbõl mind a
teljesítményt, mind pedig a valós
életben felbukkanó terhelési helyezetekben
történõ helytállást
illetõen. Ahogy a legnagyobb piaci óriások
igyekeznek egy hasonló képességû,
teljesítményû és
megbízhatóságó PC-s
operációs rendszert kifejleszteni, úgy a
&os; már most felajánlja
ezeket!Kizárólag csak a képzeletünk
szabhat gátat annak, hogy mire is tudjuk használni
a &os;-t. Szoftverfejlesztéstõl kezdve, a
gyári automatizáláson és
készletnyilvántartáson át a
mûholdas antennák tájolásáig
szinte mindenre: ha ezt eddig egy kereskedelmi &unix;-szal is
meg tudtuk tenni, akkor nagyon valószínû,
hogy a &os;-vel is képesek leszünk erre! A &os;
ezen felül nagyban profitál a világban
található különbözõ
kutatóközpontok és egyetemek által
fejlesztett, kiváló minõségû
alkalmazások ezreibõl, melyek gyakorta olcsón
vagy ingyen elérhetõek. Kereskedelmi
alkalmazások is egyre nagyobb számban
képviseltetik magukat minden nap.Mivel a &os; forráskódja
általánosan elérhetõ, a rendszer
szinte tetszõleges mértékben
testreszabható a különleges
elvárásokat támasztó
alkalmazások vagy projektek számára. Ez a
nagyobb kereskedelmi fejlesztõk operációs
rendszereivel majdnem teljesen elképzelhetetlen.
Íme csupán néhány
példája azon alkalmazásoknak, melyek
jelenleg is &os;-t használnak:Internetes
szolgáltatások: A &os;-be
épített szilárd TCP/IP alapú
hálózatkezelés
különféle internetes
szolgáltatások számára teszi
ideális platformmá:FTP szerverekFTP szerverekwebszerverekWorld Wide Web szerverek (hagyományos vagy
biztonságos [SSL])IPv4 és IPv6
forgalomirányítástûzfalNATTûzfalak és NAT (IP
maszkolás),
átjárókelektronikus levelezése-maile-mailElektronikus levelezõ szerverekUSENETUSENET hírrendszer és
üzenõfalSok minden más...A &os; használatához kezdetben
elegendõ egy olcsó 386-os PC, melyet a
vállalkozásunk fejlõdésével
szépen fel tudunk hozni egy RAID-del ellátott
négyprocesszoros Xeon rendszerig.Oktatás: Esetleg
informatikával vagy mûszaki
informatikával foglalkozik? Nem is lehetne jobban a
&os; által felkínált
élményeken kívül máshogy
megismerkedni elsõkézbõl az
operációs rendszerek,
számítógépes
architektúrák és
hálózatok mûködésével!
Rengeteg szabadon használható mûszaki,
matematikai és grafikai tervezõ programcsomag
könnyíti meg azok munkáját is,
akik számára a
számítógép
legfõképpen más
feladatok elvégzésére hivatott!Kutatás: Miután a
teljes &os; rendszer forráskódja bárki
számára elérhetõ,
tökéletes kiindulási pontot ad az
operációs rendszerek
témakörében vagy a
számítástudomány egyéb
ágaiban végzendõ kutatásokhoz. A
&os; nyílt természete ezenkívül
lehetõvé teszi egymástól
távol levõ csoportok közös
együttmûködését is
anélkül, hogy a résztvevõknek
aggódnia kellene a különleges
licencszerzõdések vagy a nyílt
fórumokon felmerülõ
korlátozások miatt.forgalomirányítóDNS szerverHálózatépítés:
Szüksége van egy új
útválasztóra? Esetleg egy
névszerverre (DNS)? Egy tûzfalra, mely
távoltartja a nemkívánatos
egyéneket a belsõ
hálózattól? A &os; pillanatok alatt
átváltoztatja a sarokban porosodó
386-os vagy 486-os PC-nket egy kifinomult
csomagszûrési képességekkel
bíró forgalomirányító
eszközzé.X Window SystemXFree86X Window SystemAccelerated-XX Window
munkaállomás: A &os; a szabadon
használható X11 szerverrel együtt remek
választás egy olcsó X terminál
kiépítéséhez.
Eltérõen egy szokványos X
termináltól, a &os; azonban igény
szerint sok alkalmazás helyi futtatását
is képes megoldani, ezzel megszabadítva minket
a központi szerver használatának
kényszerétõl. A &os; viszont akár
lemez nélkül is el tud indulni,
aminek révén az egyes
munkaállomások karbantartása még
olcsóbbá és könnyebbé
válik.GNU Compiler
CollectionSzoftverfejlesztés: Az alap
&os; rendszer fejlesztõeszközök
tömkelegével, többek közt a
híres GNU C/C++ fordítóval és
nyomkövetõvel érkezik.A &os; CD-n, DVD-n és FTP-n keresztül
elérhetõ forráskód és
bináris formátumban is. A &os;
beszerzésével kapcsolatos bõvebb
információkért olvassuk el a et.Ki használja a &os;-t?felhasználók&os;-t használó nagy
oldalakA &os; egyaránt remek eszköz- és
termékfejlesztõi platformként funkcionál
világ legnagyobb informatikai cégeinél,
többek közt:AppleAppleCiscoCiscoJuniperJuniperNetAppNetAppA &os; mindezek mellett több nagyobb internetes oldal
alapját képzi, mint például:Yahoo!Yahoo!YandexYandexApacheApacheRamblerRamblerSinaSinaPair NetworksPair
NetworksSony JapanSony
JapanNetcraftNetcraftWeathernewsWeathernewsTELEHOUSE AmericaTELEHOUSE
Americaés még sokan mások.A &os; ProjektrõlA most következõ rész egy-két
háttérinformációt tár fel a
Projektrõl, többek között a
történetét, céljait és a benne
alkalmazott fejlesztési modellt.JordanHubbardÍrta: A &os; rövid története386BSD PatchkitHubbard, JordanWilliams, NateGrimes, Rod&os; ProjekttörténetA &os; Projekt valamikor 1993 kezdetérõl
eredeztethetõ, és részben a Nem
hivatalos 386BSD Patchkit-bõl nõtt ki, a
patchkit 3 legutolsó koordinátorának, Nate
Williamsnek, Rod Grimesnak és nekem
köszönhetõen.386BSDEredeti célunk a 386BSD köztes
állapotainak rögzítése lett volna,
amitõl olyan problémák
megoldását reméltük, melyeket a
patchkitek gyártása önmagában
egyszerûen nem tudott megoldani. Néhányan
még talán emlékeznek is a Projekt kezdeti
munkaneveire: 386BSD 0.5 vagy 386BSD
Interim, melyek pontosan erre a tényre
hivatkoztak.Jolitz, BillA 386BSD eredetileg Bill Jolitz operációs
rendszere volt, amely ennél a pontnál már
közel egy éve nem került
ápolásra. Mivel a hozzátartozó
patchkit pedig napról napra duzzadt, egyre
kényelmetlenebbé vált a
karbantartása. Ezért egyhangúan úgy
döntöttünk, segítünk Billnek azzal,
hogy idõnként létrehozunk egy
letisztított változatot. Ez a
próbálkozásunk csúnyán
kudarcba fulladt, amikor Bill Jolitz hirtelen meggondolta
magát és visszalépett a Projekt
támogatásától. Semmilyen
egyértelmû útmutatást nem adott arra,
hogy mit csináljunk helyette.Greenman, DavidWalnut CreekNem tartott sokáig eldöntenünk, hogy ez a
cél továbbra is megéri a
fáradtságot, még Bill
segítsége nélkül is, ezért
felvettük a &os; nevet, melyet David
Greenmannek köszönhetünk. Kezdeti feladatainkat
a rendszer akkori felhasználóival tartott
egyeztetések után állítottuk fel.
Miután teljesen tisztán
láthatóvá vált, hogy a Projekt a
megvalósulás útján van, felvettem a
kapcsolatot a Walnut Creek-kel, terjesztési mód
után nézve azokra számára, akik nem
tudtak akkoriban könnyedén hozzáférni
az internethez. A Walnut Creek nem csak támogatta a &os;
CD-n történõ terjesztését, hanem
még egy számítógépet
és egy gyors internetkapcsolatot is a Projekt
számára bocsátott. A Walnut Creek szinte
példátlan mértékû, egy
akkoriban teljesen ismeretlen projektbe vetett hite
nélkül nagyon nehezen lenne
elképzelhetõ, hogy a &os; olyan messzire és
olyan gyorsan jutott volna el, ahol ma tart.4.3BSD-LiteNet/2Berkeley386BSDSzabad Szoftver
AlapítványAz elsõ CD-lemezen (és széles körben
az interneten is megjelenõ) változat a &os; 1.0
volt, amely 1993 decemberében jelent meg. A
Berkeley-rõl származó 4.3BSD-Lite
(Net/2) szalagokon található
források alapján készült,
kiegészítve a 386BSD-bõl és a Szabad
Szoftver Alapítványtól (Free Software
Foundation, FSF) származó komponensekkel.
Elsõ kiadásként igen méltányos
sikert könyvelhetett el, melyet a még inkább
sikeres &os; 1.1-el folytattunk 1994
májusában.NovellBerkeleyNet/2AT&TNagyjából ekkortájt
néhány váratlan sötét
felhõ bukkant fel az égbolton, ahogy a Novell
és a Berkeley hosszantartó pereskedése
lezárult a Berkeley Net/2 szalagjainak jogi
formáját illetõen. Ennek
eredményeképpen a Berkeley elfogadta, hogy a Net/2
nagy része jelzáloggal terhelt
és a Novell tulajdona, aki pedig valamivel
korábban az AT&T-tõl szerezte. Ezért
cserébe a Berkeley megkapta a Novell
áldását a 4.4BSD-Lite
kiadásra, és amikor az véglesen kijön,
megszûnik a rajta levõ jelzálog. Emiatt az
összes Net/2 felhasználónak erõsen
javasolt volt váltani. Ez érintette magát
a &os;-t is, és így a Projekt 1994
júliusáig kapott határidõt, hogy
leállítsa a Net/2 alapú termékeinek
szállítását. A megegyezés
értelmében a Projekt kiadhatott még egy
utolsó kiadást a határidõ elõtt,
amely végül a &os; 1.1.5.1 lett.A &os;-nek ekkor szembesülnie kellett azzal a
nehéz feladattal, hogy lényegében
újra fel kellett találnia magát, a teljesen
új és meglehetõsen hiányos 4.4BSD-Lite
bitjeitõl elindulva. A Lite
(egyszerûsített) kiadások abban az
értelemben számítottak egyszerûbbnek,
hogy a Berkeley kutatói (a különbözõ
jogi követelések miatt)
eltávolították a ténylegesen
beindítható rendszerhez szükséges
programrészek nagyobb részét, ill. a
4.4-es verzió Intel processzorokra
készített portja nagyon is befejezetlen volt. A
Projektnek egészen 1994 novemberéig tartott, hogy
megtegye ezt a lépést, ugyanis ekkor jelent meg a
&os; 2.0 az interneten és (december vége
felé) CD-n. Annak ellenére, hogy még
némileg érdes maradt bizonyos helyeken, ez a
kiadás jelentõs sikereket ért el. Ezt
követte 1995 júniusában a sokkalta stabilabb
és könnyebben telepíthetõ
&os; 2.0.5.A &os; 2.1.5-öt 1996 augusztusában adtuk
ki, mely akkora népszerûségnek örvendett
az internet-szolgáltatók és kereskedelmi
közösségek körében, hogy a a
2.1-STABLE elágazásból egy újabb
kiadást készítettünk. Ez volt a
&os; 2.1.7.1, amely 1997 februárjában jelent
meg és ezzel együtt a 2.1-STABLE
fejlesztését is zárta. Most már
csak karbantartást végzünk rajta, és
csak a biztonsági és egyéb kritikus
hibajavítások kerülnek bele
(RELENG_2_1_0).A &os; 2.2 fejlesztése 1996 novemberében
ágazott le az akkori fejlesztõi
(-CURRENT) ágból, mint a
RELENG_2_2-es ág. Ebbõl az elsõ teljes
kiadás (2.2.1) 1997 áprilisában jelent meg.
A 2.2-es ág mentén további kiadások
1997 nyarán és õszén
készültek, melyek közül az utolsó
(2.2.8) 1998 novemberében jelent meg. Az elsõ
hivatalos 3.0-ás kiadás 1998
októberében jött ki, ami egyúttal a
2.2-es ág befejezésének kezdetét
jelentette.A fejlesztési fa 1999. január 20-án
került ismét elágaztatásra, melynek
eredménye a 4.0-CURRENT és 3.X-STABLE ágak
lettek. A 3.X-STABLE ágban a 3.1 1999. február
15-én, a 3.2 1999. május 15-én, a 3.3
1999. szeptember 16-án, a 3.4 1999. december
20-án és a 3.5 2000. június 24-én
jelent meg, melyet pár nappal késõbb egy
kisebb alverzió, a 3.5.1 követett, a Kerberosra
vonatkozó friss biztonsági
javításokkal. Ez lett egyben a 3.X ág
utolsó kiadása.Egy másik fontos elágaztatás 2000.
március 13-án történt, mellyel
életre kelt a 4.X-STABLE ág. Ebbõl
aztán számos kiadás született: a
4.0-RELEASE 2000 márciusában mutatkozott be, az
utolsó 4.11-RELEASE pedig 2005 januárjában
látott napvilágot.A várva várt 5.0-RELEASE 2003. január
19-én került bejelentésre. Közel
háromévnyi munka eredményeképpen ez
a kiadás indította meg a &os;-t a
többprocesszoros rendszerek és az
alkalmazások szálkezelésének
fejlettebb támogatásának
útján, valamint az &ultrasparc; és
ia64 platformok támogatása is
itt jelent meg elõször. Ezt a kiadást a 5.1
követte 2003 júniusában. A
hozzátartozó -CURRENT ágból az
utolsó kiadás az 5.2.1-RELEASE volt, amely 2004
februárjában mutatkozott be.A 2004 augusztusában, a RELENG_5 ág
létrehozását a 5.3-RELEASE követte,
és egyben a 5-STABLE ág kezdetét is
jelezte. A legújabb 5.5-RELEASE 2006
májusában jött ki. A RELENG_5
ágból már nem fog készülni
több kiadás.A fejlesztési fa ezután 2005
júliusában ágazott el ismét,
ezúttal a RELENG_6 ágnak adott életet. A
6.0-RELEASE az 6.X ág elsõ kiadásaként
2005 novemberében jelent meg. A legújabb
- &rel2.current;-RELEASE &rel2.current.date;jában
- jelentkezett. Várhatóan ez lesz a RELENG_6
- ág utolsó kiadása.
+ &rel2.current;-RELEASE &rel2.current.date;
+ hónapjában jelentkezett. A RELENG_6
+ ágból már nem készülnek
+ további kiadások.
A RELENG_7 ág 2007 októberében
jött létre. Ebbõl az elsõ kiadás
2008 februárjában a 7.0-RELEASE volt. A
legfrissebb &rel.current;-RELEASE kiadás
&rel.current.date; hónapban készült el. A
RELENG_7 ágból további kiadások is
várhatóak.Jelen pillanatban a hosszabb távú
fejlesztések a 8.X-CURRENT (törzs) ágban
kapnak helyet, és a 8.X-bõl készült
idõközönkénti pillanatkiadások
folyamatosan elérhetõek CD-n (és
természetesen interneten keresztül is) a
pillanatkiadásokat tároló
szerverrõl.JordanHubbardÍrta: A &os; Projekt céljai&os; ProjektcélokA &os; Projekt célja, hogy olyan szoftvereket
kínáljon, amelyek tetszõlegesen,
bármilyen célra felhasználhatóak,
mindenféle megkötések nélkül.
Sokunk jelentõs energiát fektet a programokba
(és a Projektbe) és minden bizonnyal egyikünk
sem utasítana vissza semmilyen anyagi
ellenszolgáltatást se most, se késõbb,
de egyáltalán nem ragaszkodunk hozzá.
Hisszük, hogy elsõdleges
küldetésünk olyan programok
és programrészletek készítése
bárki számára és bármilyen
célra, melyeket a lehetõ legszélesebb
körben alkalmaznak és a lehetõ legtöbbet
hasznot hajtják. Ez, úgy érzem, az egyik
legalapvetõbb célja a szabad szoftvereknek,
és ez az, amit mi is lelkesen magunkénak
vallunk.GNU General Public License (GPL)GNU Lesser General Public License (LGPL)BSD licencA forrásfánkban található GNU
General Public License (GPL) vagy a Library General Public
License (LGPL) alá esõ kódok
hozzáférhetõségére ezzel
szemben némileg több megszorítás
vonatkozik, legalább is inkább ami a
hozzáférhetõséget illeti. Mivel a
GPL-es szoftverek kereskedelmi használata további
bonyodalmakat vethet fel, ha lehetõségünk
adódik rá, inkább a sokkal enyhébb
BSD licenccel rendelkezõ szoftvereket
választjuk.SatoshiAsamiÍrta: A &os; fejlesztési modellje&os; Projektfejlesztési modellA &os; fejlesztése egy nagyon nyitott és
rugalmas folyamat, szó szerint a világ minden
tájáról érkezõ
többszáznyi segítségbõl
építkezik, ahogy az látható is a
résztvevõink
listáján. A &os; fejlesztési
infrastruktúrája lehetõvé teszi, hogy
ez a többszáznyi résztvevõ az interneten
keresztül mûködjön együtt.
Folyamatosan várjuk az új fejlesztõket
és ötleteket, és mindazok, akik komolyabban
érdeklõdnek a Projekt iránt, egyszerûen
felvehetik velünk a kapcsolatot a &a.hackers;
címén. Egy &a.announce; is elérhetõ
azok számára, akik értesíteni
kívánják a többi &os;
felhasználót munkájuk fõbb
eredményeirõl.A &os; Projektrõl és annak
fejlesztési modelljérõl hasznos tudni az
alábbiakat, függetlenül attól, hogy
egyedül vagy másokkal szoros
együttmûködésben dolgozunk:Az SVN és CVS repositorykCVSrepositoryConcurrent Versions SystemCVSSVNrepository>SubversionSVNSok éven keresztül a &os; központi
forrásfáját CVS-en
(Concurrent Versions System) keresztül
tartották karban, amely egy, a &os;-vel is
érkezõ, szabadon elérhetõ
verziókezelõ rendszer. 2008
júniusában a Projekt az SVN
(Subversion) használatára váltott.
Ez a váltás szükségszerû
volt, mivel a CVS által okozott technikai
nehézségek gyorsan elõjöttek a
forrásfa és a hozzátartozó
metainformációk szapora
növekedésével. Noha a központi
repository most már
SVN-alapú, a
kliensoldali CVSup és
csup alkalmazások
továbbra is a korábbi
infrastruktúrával dolgoznak, ahogy eddig is
— az SVN respositoryban
végzett változtatások ehhez
automatikusan átkerülnek
CVS alá. Jelen
pillanatban egyedül csak a központi
forrásfa használja ezt a megoldást, a
dokumentáció, a weboldalak és a
Portgyûjtemény forrásai továbbra
is CVS alól
üzemelnek. Az elsõdleges CVS
repository egy Santa Clara-i (California, USA)
számítógépen
található, ahonnan a világban
található rengeteg tükörszerverre
másolódik. Az
SVN-fa, mely tartalmazza a
-CURRENT és -STABLE ágakat,
könnyen lemásolható a saját
számítógépünkre is.
Ennek részleteirõl bõvebben a A forrásfa
szinkronizálása c. szakaszban
olvashatunk.A committerek listájacommitterekA hivatalos fejlesztõk
(committerek) azok az emberek, akik
a CVS-fához írási joggal
rendelkeznek, tehát módosítást
hajthatnak végre a &os; forrásaiban (a
committer kifejezés a &man.cvs.1;
commit parancsából
származik, amelyet arra használunk, hogy
felvigyük a módosításainkat a
CVS repository-ba). Javaslatainkat legjobban a
&man.send-pr.1; használatával tudjuk a
committerek elé tárni. Ha valamiért
ez mégsem mûködne,
megpróbálhatjuk õket elérni
közvetlenül a &a.committers;
címére küldött e-maillel.A &os; Core TeamCore TeamHa a &os; Projekt egy vállalat lenne,
akkor a &os; Core Teamje
(irányító csoportja) foglalná
magában a vezetõséget. Ennek a
csoportnak elsõdleges feladata, hogy fenntartsa a
Projekt egészének
kondícióját és gondoskodjon
róla, hogy a megfelelõ irányba
haladjon. Az irányító csoportnak
ugyanígy feladata a megbízható
és odaadó committerek
tömörítése és az új
tagok beszervezése, ha a csoportból
kilépne valaki. A jelenlegi Core Team tagjait 2008
júliusában választották meg.
A választásokat kétévente
tartják.Ebben a csoportban egyes tagoknak ezenfelül
még bizonyos területekre
felügyelniük is kell. Ez azt jelenti, hogy
felelõsek a rendszer valamelyik nagyobb
részének az elõírásoknak
megfelelõ mûködéséért.
A &os; fejlesztõk teljes felsorolása és
a hozzájuk tartozó területek
megtalálhatóak A
résztvevõk listjában.A Core Team legtöbb tagja pusztán
önkéntesen vesz részt a &os;
fejlesztésében és nem
származik a projektbõl semmilyen anyagi
haszna. Emiatt a részvétel
nem tévesztendõ össze a
garantált
támogatással. A
vezetõségre vonatkozó
hasonlat nem teljesen pontos abban az értelemben,
hogy ezek az emberek lényegeben akaratuk
ellenére feladták az életüket
a &os; kedvéért!Külsõ résztvevõkrésztvevõkVégül, de nem utoljára,
következzen a fejlesztõk legnagyobb csoportja:
õk maguk a felhasználók, akik
rendszeres visszajelzéseket és
hibajavításokat küldenek. A &os;
kevésbé központosított
fejlesztésében elsõsorban a &a.hackers;
segítségével lehet felvenni a
fonalat, ahol ezeket a témákat
tárgyalják meg. A &os;-hez
kapcsolódó különféle
levelezési listákról többet a
ben olvashatunk.A &os;
résztvevõinek
listája hosszú és
még most is növekszik; miért nem
próbálunk mi is visszaadni valamit a
&os;-nek?Nem csak programozással lehet segíteni a
Projektet: a megoldandó feladatok
listáját megtalálhatjuk a &os; Projekt
honlapján.Röviden összefoglalva, a fejlesztési
modellünk egymáshoz lazán
kapcsolódó koncentrikus körökként
szervezõdik. Ez a központosított modell a
&os;-felhasználók
kényelmét szolgálandó lett
kialakítva, akik így könnyedén tudnak
követni egyetlen központi kódbázist,
azonban megvan a lehetõségük a
részvételre is! Minden vágyunk egy olyan
megbízható operációs rendszer
kialakítása, amihez nagy mennyiségû
könnyen telepíthetõ és
használható alkalmazás tartozik — ez a
modell ennek elérésére nagyon is
megfelelõ.A haladás ütemének fenntartása
érdekében mindössze csak annyit
kérünk a leendõ &os; fejlesztõinktõl,
hogy legyenek legalább annyira elszántak, mint a
jelenlegi tagjaink!Az aktuális &os; kiadásokNetBSDOpenBSD386BSDSzabad Szoftver
AlapítványBerkeleySzámítógépes
rendszerek kutatócsoport (CSRG)A &os; egy szabadon elérhetõ, teljes
forráskóddal érkezõ 4.4BSD-Lite
alapú kiadás Intel &i386;, &i486;, &pentium;,
&pentium; Pro, &celeron;, &pentium; II,
&pentium; III, &pentium; 4 (vagy azzal kompatibilis),
&xeon;, DEC Alpha és Sun
&ultrasparc; alapú
számítógépekre. Elsõsorban a
Berkeley Számítógépes rendszerek
kutatócsoportjának szoftverein alapszik,
számos javítással a NetBSD, OpenBSD, 386BSD
és a Szabad Szoftver Alapítvány
munkásságának
köszönhetõen.A &os; 2.0 1994 végi megjelenése
óta a &os; teljesítménye,
megbízhatósága és tudása
drasztikusan megnövekedett. A legnagyobb
változtatás az újjáalakított,
összevont VM/állomány puffer
gyorsítótárral rendelkezõ
virtuális memória alrendszer, amely nem csak a
teljesítményt növeli, hanem csökkenti a
&os; memóriaigényét is, jobban
elfogadhatóvá téve ezzel az 5 MB-os
minimumot. A további fejlesztések
között találjuk a teljes NIS szerver és
kliens támogatást, az átviteli TCP
támogatását, az igény szerint
tárcsázó PPP-t, a beépített
DHCP támogatást, a továbbfejlesztett SCSI
alrendszert, az ISDN támogatást, az ATM, FDDI,
Fast és Gigabit Ethernet (1000 Mbit)
hálózati csatolók
támogatását, a legfrissebb Adaptec
gyártmányú vezérlõk fejlesztett
támogatását és a többezernyi
hibajavítást.Az alapeszközök mellé a &os;
felkínálja többezernyi ismert és
keresett program portjaiból álló
gyûjteményét. Ebben a pillanatban is
már több, mint &os.numports; port érhetõ
el! A portok listája a HTTP (WWW) szerverektõl, a
játékokon, nyelveken és sok mindenen
keresztül a szövegszerkesztõkig terjed. Az
egész Portgyûjtemény
közelítõleg &ports.size; tárhelyet
kíván, minden portot az eredeti forráshoz
viszonyított
különbségként
tárol. Ennek következtében a portok
frissítése sokkal könnyebb és nagyban
csökkenti a korábbi, 1.0-ás
Portgyûjteménynél kialakult
tárigényeket. Egy port
lefordításához egyszerûen csak be kell
lépnünk a telepíteni kívánt
program könyvtárába és ki kell adnunk
a make install parancsot, a többit a
rendszer elvégzi. Minden egyes telepítendõ
port teljes forrása dinamikusan vagy CD-rõl vagy
pedig FTP-n keresztül töltõdik le, így
csak a ténylegesen telepítendõk
lefordításához elegendõ
tárhelyre van szükség. Majdnem mindegyik
port elérhetõ elõre lefordított
csomag formájában azok
számára, akik nem kívánják
lefordítani a portokat, és melyeket egy
egyszerû parancs (pkg_add)
segítségével telepíteni is
tudják. A csomagokról és portokról
a ben tudhatunk meg többet.A &os; telepítésérõl és
használatáról most már számos
további nagyon hasznos dokumentumot találhatunk
bármelyik &os;-s számítógép
/usr/share/doc
könyvtárában. A helyileg telepített
kézikönyveket bármilyen HTML-t
megjeleníteni képes böngészõvel
meg el tudjuk olvasni az alábbi URL-eken:A &os; kézikönyv/usr/share/doc/handbook/index.htmlA &os; GYIK/usr/share/doc/faq/index.htmlAz aktuális (leginkább frissített)
verziók megtekinthetõek a címen.
diff --git a/hu_HU.ISO8859-2/books/handbook/mirrors/chapter.sgml b/hu_HU.ISO8859-2/books/handbook/mirrors/chapter.sgml
index 1518897968..e748acef00 100644
--- a/hu_HU.ISO8859-2/books/handbook/mirrors/chapter.sgml
+++ b/hu_HU.ISO8859-2/books/handbook/mirrors/chapter.sgml
@@ -1,3894 +1,3902 @@
A &os; beszerzéseCD és DVD kiadókKiskereskedelmi dobozos termékekA &os; beszerezhetõ számos
kiskereskedõtõl dobozos termék
formájában is (&os; CD-k, egyéb szoftverek
és nyomtatott dokumentáció):CompUSA
WWW: Frys Electronics
WWW: CD- és DVD-készletek&os; CD- és DVD-készletek rengeteg
helyrõl rendelhetõek:&os; Mall, Inc.700 Harvest Park Ste FBrentwood, CA94513Egyesült Államok
Telefon: +1 925 240-6652
Fax: +1 925 674-0821
e-mail: info@freebsdmall.com
WWW: Dr. Hinner EDVSt. Augustinus-Str. 10D-81825MünchenNémetország
Telefon: (089) 428 419
WWW: Ikarios22-24 rue Voltaire92000NanterreFranciaország
WWW: JMC SoftwareÍrország
Telefon: 353 1 6291282
WWW: The Linux EmporiumHilliard House, Lester WayWallingfordOX10 9TAEgyesült Királyság
Telefon: +44 1491 837010
Fax: +44 1491 837016
WWW: Linux+ DVD MagazineLewartowskiego 6Warsaw00-190Lengyelország
Telefon: +48 22 860 18 18
e-mail: editors@lpmagazine.org
WWW: Linux System Labs Australia21 Ray DriveBalwyn NorthVIC - 3104Ausztrália
Telefon: +61 3 9857 5918
Fax: +61 3 9857 8974
WWW: LinuxCenter.RuGalernaya utca, 55Szentpétervár190000Oroszország
Telefon: +7-812-3125208
e-mail: info@linuxcenter.ru
WWW: TerjesztõkHa viszonteladók vagyunk és szeretnénk
CD-s &os; termékeket forgalmazni, akkor az alábbi
terjesztõk valamelyikével vegyük fel a
kapcsolatot:Cylogistics809B Cuesta Dr., #2149Mountain View, CA94040Egyesült Államok
Telefon: +1 650 694-4949
Fax: +1 650 694-4953
e-mail: sales@cylogistics.com
WWW: Ingram Micro1600 E. St. Andrew PlaceSanta Ana, CA92705-4926Egyesült Államok
Telefon: 1 (800) 456-8000
WWW: Kudzu, LLC7375 Washington Ave. S.Edina, MN55439Egyesült Államok
Telefon: +1 952 947-0822
Fax: +1 952 947-0876
e-mail: sales@kudzuenterprises.comLinuxCenter.RuGalernaya utca, 55Szentpétervár190000Oroszország
Telefon: +7-812-3125208
e-mail: info@linuxcenter.ru
WWW: Navarre Corp7400 49th Ave SouthNew Hope, MN55428Egyesült Államok
Telefon: +1 763 535-8333
Fax: +1 763 535-0341
WWW: FTP oldalakA &os; hivatalos forrásai anonim FTP-n keresztül
is elérhetõek különféle
tükrözésekrõl. Az oldal ugyan
jó minõségû kapcsolattal rendelkezik
és rengeteg felhasználót is enged
egyidejûleg kapcsolódni, azonban
valószínûleg jobban járunk, ha egy
hozzánk közelebbi
tükrözést választunk
(különösen abban az esetben, amikor mi magunk is
egy tükrözést akarunk
készíteni).A &os;
tükrözések adatbázisában az
itt megtalálhatónál sokkal pontosabb
leltárt kaphatunk az elérhetõ
tükrözésekrõl, mivel közvetlenül a
névfeloldás segítségével
állapítja meg a szükséges adatokat
és nem egy rögzített listát
tárol.Emellett az alábbi tükrözésekrõl
a &os; elérhetõ anonim FTP-n keresztül is.
Amennyiben az anonim FTP használata mellett
döntenénk, igyekezzünk a hozzánk
legközelebb levõ szervert használni. Az
Elsõdleges
tükrözésekként feltüntetett
oldalak általában a teljes &os; archívumot
tartalmazzák (az összes jelenleg elérhetõ
változatot az összes architektúrára), de
a környékünkön vagy országunkban
elhelyezkedõ tükörszerverekrõl többnyire
gyorsabban tudunk majd letölteni. A regionális
oldalakon gyakorta csak a népszerûbb
architektúrákon futó népszerûbb
változatokat találjuk meg, nem a teljes &os;
archívumot. Minden szerver elérhetõ anonim
FTP-vel, de közülük néhány még
további más módszereket is támogat.
Az egyes oldalak által ismert konkrét
módszereket a nevük után
zárójelben közüljük.
&chap.mirrors.ftp.inc;
BitTorrentBitTorrentAz egyes kiadásokhoz tartozó alap
CD-készletek BitTorrent segítségével is
elérhetõek. A lemezek képeire hivatkozó
torrent állományokat a
címrõl tölthetjük le.A BitTorrent kliens telepíthetõ a net-p2p/py-bittorrent portból
vagy csomagból.Miután sikeresen letöltöttük
BitTorrenten keresztül a lemezképeket, a nyújthat segítséget abban,
hogy kell ezeket lemezre írni.Anonim CVSBevezetésCVSanonimAz anonim CVS (vagy más néven
anoncvs) a &os;-hez mellékelt
CVS-es segédprogramok által nyújtott
olyan lehetõség, amivel távoli CVS
repositorykkal tudunk szinkronizálni. Több
más dolog mellett lehetõvé teszi a &os;
felhasználói számára, hogy kiemelt
jogosultságok nélkül képesek
legyenek olvasással kapcsolatos CVS mûveleteket
végrehajtani a &os; Projekt hivatalos anoncvs
szerverein. A használatához egyszerûen
csak a kiválasztott anoncvs szervert kell
beállítani a CVSROOT
környezeti változó
értékének, ahol aztán a
cvs login parancsnak a szerver által
ismert anoncvs jelszót kell megadni.
Ezután a &man.cvs.1; paranccsal a többi CVS
szerverhez hasonlóan lehetõségünk
nyílik hozzáférni.A cvs login parancs a
bejelentkezésekhez szükséges jelszavakat
a HOME könyvtárunkban levõ
.cvspass állományban
tárolja. Ha ez az állomány nem
létezik, akkor a cvs login
elsõ használatakor hibát kapunk.
Ilyenkor csak hozzunk létre egy üres
.cvspass állományt, majd
próbálkozzunk újra.Habár azt mondhatnánk, hogy a CVSup és az
anoncvs lényegében egyazon
feladatot oldják meg, mind a két esetben
léteznek olyan kompromisszumok, amelyek
befolyásolhatják a felhasználó
választását a két
szinkronizációs módszer között.
Dióhéjban ezt úgy tudnánk
összefoglalni, hogy a CVSup a
hálózati erõforrásokat
hatékonyabban kihasználja és
kettejük közül ez a fejlettebb, azonban ennek
meg kell fizetnünk az árát. A
CVSup használatához
elõször ugyanis telepítenünk kell
és be kell állítanunk egy
speciális klienst, illetve az adatokat a
CVSup által
gyûjteményeknek (collection)
nevezett, viszonylag nagy méretû
egyeségekben érhetjük el.Ezzel szemben az anoncvs
használata során a megfelelõ CVS modul
nevének felhasználásával
tetszõlegesen megvizsgálhatunk
önálló állományokat vagy
akár programokat (mint az ls vagy a
grep). Természetesen az
anoncvs
segítségével csupán az
olvasást igénylõ CVS mûveleteket
végezhetjük el, ezért ha a &os; Projekt
keretein belül fejleszteni is szeretnénk, akkor
inkább érdemes a
CVSup alkalmazást
választani.Az anonim CVS
használataA &man.cvs.1; parancsot nagyon könnyû
beállítani az anonim CVS repositoryk
használatához, hiszen mindössze annyit kell
tennünk, hogy a CVSROOT környezeti
változó értékének megadjuk
a &os; Projekt valamelyik anoncvs
szerverét. Ezen sorok írásának
pillanatában a következõ szerverek
érhetõek el:Franciaország:
:pserver:anoncvs@anoncvs.fr.FreeBSD.org:/home/ncvs
(pserver (a jelszó anoncvs), ssh
(nincs jelszó))Japán:
:pserver:anoncvs@anoncvs.jp.FreeBSD.org:/home/ncvs (a
cvs login
használatánál a jelszó
anoncvs.)Tajvan:
:pserver:anoncvs@anoncvs.tw.FreeBSD.org:/home/ncvs
(pserver (a cvs login
használatával tetszõleges jelszó
megadható), ssh (nincs jelszó))SSH2 HostKey: 1024 e8:3b:29:7b:ca:9f:ac:e9:45:cb:c8:17:ae:9b:eb:55 /etc/ssh/ssh_host_dsa_key.pubEgyesült Államok:
freebsdanoncvs@anoncvs.FreeBSD.org:/home/ncvs (csak ssh
— nincs jelszó)SSH HostKey: 1024 a1:e7:46:de:fb:56:ef:05:bc:73:aa:91:09:da:f7:f4 root@sanmateo.ecn.purdue.edu
SSH2 HostKey: 1024 52:02:38:1a:2f:a8:71:d3:f5:83:93:8d:aa:00:6f:65 ssh_host_dsa_key.pubEgyesült Államok:
anoncvs@anoncvs1.FreeBSD.org:/home/ncvs (csak ssh2 —
nincs jelszó)SSH2 HostKey: 2048 53:1f:15:a3:72:5c:43:f6:44:0e:6a:e9:bb:f8:01:62 /etc/ssh/ssh_host_dsa_key.pubMivel a CVS használatával
kikérhetjük (check out)
tulajdonképpen a &os; forrásainak
akármelyik eddigi (vagy majd ezután
keletkezõ) változatát, érdemes
megismerkednünk a &man.cvs.1; által alkalmazott
revízió (revision) (az
opcióval állítható)
fogalmával és a &os; Projekt repositoryjain
belül engedélyezett
értékeivel.Címkéket (tag) két esetben
használhatunk: a revíziók és az
ágak esetén. A revíziós
címkék mindig egy adott revízióra
hivatkoznak, ami állandóan ugyanazt jelenti.
Ezzel szemben az ágak címkéi a
fejlesztés adott irányú menetének
az adott pillanatban legfrissebb
revízióját hivatkozzák. Mivel az
ágak címkéi nem egy adott
revízióra vonatkoznak, ezért elmondhatjuk
róluk, hogy naponta változik a
jelentésük.Az tartalmazza a
felhasználók számára fontos
revíziós címkéket. Ezek azonban
nem igazak a Portgyûjteményre, mivel a
Portgyûjteménynek nincs egyszerre több
fejlesztési iránya.Egy ág címkéjének
megadásával általában az adott
irányhoz tartozó állományok
legfrissebb változatát kapjuk meg. Ha viszont
az állományok egy korábbi
változatára lenne szükségünk,
akkor a opció
megadásával meg tudjuk adni annak
idõpontját. Errõl részletesebben a
&man.cvs.1; man oldalán olvashatunk.PéldákHabár a továbbhaladáshoz
mindenképpen javasoljuk a &man.cvs.1; man
oldalának részletes
áttanulmányozását, mutatunk
néhány gyors példát az anonim CVS
használatának tömör
illusztrálására:Valami (az &man.ls.1;) kikérése a
-CURRENT ágból&prompt.user; setenv CVSROOT :pserver:anoncvs@anoncvs.tw.FreeBSD.org:/home/ncvs
&prompt.user; cvs loginJelszókéntezután bármit megadhatunk.
&prompt.user; cvs co lsAz src/ fa kikérése
SSH-n keresztül&prompt.user; cvs -d freebsdanoncvs@anoncvs.FreeBSD.org:/home/ncvs co src
The authenticity of host 'anoncvs.freebsd.org (128.46.156.46)' can't be established.
DSA key fingerprint is 52:02:38:1a:2f:a8:71:d3:f5:83:93:8d:aa:00:6f:65.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'anoncvs.freebsd.org' (DSA) to the list of known hosts.Az &man.ls.1; 6-STABLE ágban szereplõ
változatának kikérése&prompt.user; setenv CVSROOT :pserver:anoncvs@anoncvs.tw.FreeBSD.org:/home/ncvs
&prompt.user; cvs loginAmikor kéri, jelszókéntbármit megadhatunk.
&prompt.user; cvs co -rRELENG_6 lsAz &man.ls.1; változásainak (Unified Diff
formátumú) listázása&prompt.user; setenv CVSROOT :pserver:anoncvs@anoncvs.tw.FreeBSD.org:/home/ncvs
&prompt.user; cvs loginIttjelszókéntbármit megadhatunk.
&prompt.user; cvs rdiff -u -rRELENG_5_3_0_RELEASE -rRELENG_5_4_0_RELEASE lsA használható modulok nevének
kiderítése&prompt.user; setenv CVSROOT :pserver:anoncvs@anoncvs.tw.FreeBSD.org:/home/ncvs
&prompt.user; cvs loginEzután jelszókéntbármit megadhatunk.
&prompt.user; cvs co modules
&prompt.user; more modules/modulesEgyéb helyekA következõ helyeken találhatunk
még hasznos információkat a CVS
használatáról:A CVS bemutatása (írta: Cal Poly).A CVS
honlapja, a CVS fejlesztésével
és alkalmazásával foglalkozó
közösség oldala.A CVSweb
a &os; Projekt által használt CVS
rendszerének webes felülete.A CTM használataCTMA CTM használatáva
a távoli könyvtárakat tudunk egy
központi változattal szinkronban tartani.
Eredetileg a &os; forrásaihoz fejlesztették ki, de
idõvel mások más célokra is
alkalmasnak találhatják majd. Az
eltérések (delták)
feldolgozásával kapcsolatban kevéske
dokumentáció áll rendelkezésre,
ezért a &a.ctm-users.name; levelezési
listát érdemes felkeresni, ha többet
szeretnénk megtudni a CTM
egyéb célú
alkalmazásairól.Miért használnánk a
CTM-et?A CTM
segítségével a &os; forrásainak
helyi másolatát hozhatjuk létre. A
források több különbözõ
kivitelben is
hozzáférhetõek. A
CTM minden esetben képes
eleget tenni az igényeinknek, akár az
egész CVS fát, akár annak egy
részét kívánjuk csak figyelemmel
követni. Ha netalán &os; fejlesztõk
lennénk, és híján vagyunk vagy
éppen gyenge TCP/IP kapcsolattal rendelkezünk,
esetleg egyszerûen csak automatikusan
értesülni szeretnénk a
változásokról, a
CTM-et nekünk
találták ki. A leggyorsabban fejlõdõ
ágakból is naponta legfeljebb három
deltát fogunk kapni, azonban érdemes megfontolni
a változások automatikus
elküldését levélben. A
szükséges frissítések
méretét mindig igyekszünk
minimalizálni. Ez egyébként
általában alig 5 KB, de néha
(tízbõl egyszer) elõfordul, hogy 10 és
50 KB között van, és
idõnként 100 KB vagy afeletti
mennyiségû frissítés is
érkezhet.Amikor a fejlesztõk által használt
forrásokat töltjük le, magunknak kell
gondoskodnunk a menet közben felmerülõ
különbözõ problémák
megoldásáról. Ez
kiváltképp igaz abban az esetben, amikor az
aktuális, vagy hivatalos nevén
CURRENT ágat követjük.
Mielõtt azonban egy ilyenbe belevágnánk,
érdemes fellapozni a &os;
legfrissebb változatának
használatáról szóló
fejezetet.Mire van szükségünk a
CTM
használatához?A mûködéshez két komponens
szükségeltetik: a CTM
kliensprogramja és hozzá a kezdeti delták
(amivel majd letöltjük a CURRENT
forrásait).A CTM program már a 2.0
kiadástól kezdve a &os; része, és
a források között a
/usr/src/usr.sbin/ctm
könyvtárban találjuk meg (amennyiben
felraktuk).A CTM
mûködéséhez kellõ
deltákat két módon, FTP-n
vagy e-mailen keresztül szerezhetjük be. Ha el
tudunk érni interneten levõ FTP oldalakat, akkor
az alábbi FTP helyeken találunk a
CTM-hez használható
adatokat:valamint lásd a tükrözéseket.FTP-n keresztül lépjünk be a
könyvtárba, töltsük le a
README nevû állományt
és kövessük a benne szereplõ
utasításokat.Ha viszont e-mailen keresztül akarjuk megszerezni a
deltákat:Iratkozzunk fel a CTM
terjesztési listáinak egyikére. A
&a.ctm-cvs-cur.name; lista az egész CVS-fát,
míg a &a.ctm-src-cur.name; a fõ fejlesztési
ágat teszi elérhetõvé. A
&a.ctm-src-4.name; a 4.X kiadásaihoz ágakat
tartalmazza, és így tovább. (Ha nem
tudjuk, hogyan kell feliratkozni egy levelezési
listára, akkor kattintsunk a lista nevére vagy
kövessük a &a.mailman.lists.link; linket, majd
kattintsunk arra a listára, ahova fel akarunk
iratkozni. Ezen az oldalon az összes, a
feliratkozáshoz nélkülözhetetlen
információnak szerepelnie kell.)Miután elkezdenek megérkezni a
CTM-frissítéseket
tartalmazó levelek, a tartalmukat a
ctm_rmail programmal tudjuk kicsomagolni
és felhasználni. Az
/etc/aliases állományba
akár közvetlenül is beírhatjuk a
ctm_rmail programot, és ezzel a
önállósítani tudjuk a
levélben érkezõ frissítések
feldolgozását. A ctm_rmail
man oldalán olvashatjuk ennek részleteit.Nem számít, milyen módon jutunk
hozzá a CTM által
használt deltákhoz, minden esetben fel kell
iratkoznunk a &a.ctm-announce.name; levelezési
listára. Az elkövetkezendõkben ez lesz az
egyetlen hely, ahová a CTM
rendszer mûködtetésével kapcsolatos
bejelentések beküldésre kerülnek. A
feliratkozáshoz kattinsunk a fenti lista
nevére és kövessük a mellette
szereplõ utasításokat.A CTM elsõ
használataMielõtt nekilátnánk a
CTM-hez tartozó
delták használatának, elõször
el kell jutnunk egy kiindulási ponthoz, ahonnan majd
létre tudjuk hozni a rákövetkezõ
deltákat.Ehhez elsõként vegyük számba,
pontosan mink is van. Általában mindenki egy
üres könyvtárral kezd.
Ilyenkor egy kezdeti Empty (mint
üres) elnevezésû
deltával tudjuk megkezdeni az
CTM által ismert fa
szinkronizálását. Erre a célra
lesznek majd szintén alkalmasak a
megkezdett delták is, amelyek valamikor
a CD-re fognak felkerülni.Mivel a fák maguk több tíz megabyte-nyi
méretûek, ezért érdemes
inkább valami kéznél levõ
eszközzel megkezdeni a folyamatot. Ha van -RELEASE
verziójú CD-nk, akkor másoljuk le
róla és bontsuk ki a kiindulásként
használt forrásokat. Ezzel jelentõs
mennyiségû adat átvitelét
takaríthatjuk meg.A kezdõ deltákat könnyen
megismerjük a szám után
X karakterrel leválasztott
nevükrõl (például
src-cur.3210XEmpty.gz). Az
X után szereplõ
megnevezés a kezdeti kiindulás
(seed) fokának felel meg. Az
Empty egy üres
könyvtárra utal. A szabályok szerint az
Empty állapotból 100
deltánként jön létre újabb
(kiindulásra alkalmas) alapváltozat. Ezek
azonban nagyon nagyok is lehetnek. A 70 vagy 80 megabyte-os
gzippel csomagolt adatok gyakoriak az
XEmpty delták
esetén.Miután kiválasztottuk a számunkra
megfelelõ alapváltozatot,
szükségünk lesz a tõle nagyobb
sorszámú összes deltára is.A CTM használata a
hétköznapokbanA delták felhasználásához
egyszerûen csak ennyit kell tennünk:&prompt.root; cd /ahol/tárolni/akarjuk/az/adatokat
&prompt.root; ctm -v -v /ahol/tároljuk/a/deltákat/src-xxx.*A CTM képes
értelmezni a gzip által
csomagolt adatokat, ezért nincs szükség a
delták elõzetes
kitömörítésére, amivel
tárhelyet tudunk spórolni.Hacsak nem tekinti tökéletesen
biztonságosnak az egész folyamatot, akkor a
CTM nem fog
módosítani a fán. A deltákat a
CTM
kapcsolójával is ellenõrizhetjük,
aminek során egyáltalán nem fog
módosulni a forrásfa. Ekkor egyszerûen
csak ellenõrzi a delták
sértetlenségét és megnézi,
hogy minden rendben zajlana-e az alkalmazásuk
során.A CTM-nek vannak még
további kapcsolói is, melyekrõl
bõvebben a man oldalakból és a
forráskódokból
tájékozódhatunk.Most már minden megvan, ami kellhet. Amikor kapunk
egy újabb deltát, a forrásaink
frissítéséhez csak futtassuk át a
CTM-en.Ne töröljük le azokat a deltákat,
melyeket nehezen tudtunk letölteni. Helyette
érdemes inkább megtartani ezeket arra az esetre,
ha valami rossz történne. Még ha csak
floppylemezek is állnak rendelkezésünkre,
mindenképpen másoljuk le ezeket az
fdwrite paranccsal.A saját változtatásaink
megtartásaFejlesztõként biztosan szeretnénk
kísérletezni és
állományokat megváltoztatni a
forrásfában. A CTM a
helyben elkövetett változtatásokat csak
korlátozottan támogatja: az
ize nevû állomány
meglétének vizsgálata elõtt az
ize.ctm állományt fogja
keresni. Ha létezik, akkor a
CTM az ize
helyett ezen fog dolgozni.Ezzel a viselkedéssel nyerjük a saját
változtatásaink megtartásának
egyszerû módját: csak másoljuk le
.ctm kiterjesztéssel a
módosítani tervezett állományokat.
Ezután már szabadon módosíthatjuk
a forrásokat, miközben a
CTM a .ctm
kiterjesztésû állományokat
folyamatosan szinkronban tartja.A CTM egyéb
érdekes beállításaiDerítsük ki pontosan miket is fog
érinteni a frissítésA CTM által a
forrásokon elvégzendõ
változtatások listáját az
kapcsolóval
kérdezhetjük le.Ez akkor esik kézre, ha szeretnénk
feljegyezni a bekövetkezõ
változásokat, vagy bármilyen
módon elõ- vagy utófeldolgozni a
módosított állományokat, esetleg
szimplán elõvigyázatosak akarunk
lenni.Biztonsági másolat
készítése a frissítés
elõttNéha egyszerûen csak szeretnénk az
összes érintett állományról
biztonsági másolatot készíteni a
CTM által elvégzett
frissítés elõtt.A
beállítás megadásával az
adott CTM delta által
módosítandó összes
állomány tárolásra kerül a
mentés-állomány
nevû állományba.A frissíthetõ állományok
korlátozásaEgyes esetekben érdekünkben állhat
leszûkíteni a CTM
által eszközölt frissítések
hatáskörét, vagy egyszerûen csak
néhány állomány
szinkronizálására van
szükségünk.A CTM számára
feldolgozható állományok
listáját reguláris kifejezés
formájában az és
opciók mentén
határozhatjuk meg.Például ha a
lib/libc/Makefile
állomány az összegyûjtött
CTM delták szerinti
legfrissebb verziójához kívánunk
hozzájutni, akkor futtassuk az alábbi
parancsot:&prompt.root; cd /akarhova/ahova/ki/akarjuk/bontani/
&prompt.root; ctm -e '^lib/libc/Makefile' ~ctm/src-xxx.*A CTM deltákban
megadott minden egyes állomány esetén
az az opciók
a parancssorban történt megadásuk
sorrendjében kerülnek feldolgozásra. Egy
állományt kizárólag csak akkor
dolgoz fel a CTM, ha az az
és
opciók kiértékelése után
is indokolt.További tervek a
CTM-mel kapcsolatbanRengeteg van:Valamiféle hitelesítés
bevezetése a CTM
rendszerbe, amivel észlelhetõek a
meghamisított
CTM-frissítések.A CTM
beállításainak
letisztázása, mivel eléggé
megtévesztõek és nehézkesen
használhatóak.EgyebekLéteznek delták a portok
gyûjteményéhez is, azonban még nem
mutatkozott túlzottan nagy
érdeklõdés irántuk.CTM tükrözésekA CTM/FreeBSD anonim FTP-n
keresztül elérhetõ az alábbi
tüköroldalak valamelyikérõl. Amennyiben
ezen a módon kívánjuk letölteni a
CTM rendszerhez tartozó
állományokat, elõször
próbálkozzunk a hozzánk legközelebb
levõ szerverrel.Ha bármilyen gond merülne fel,
értesítsük a &a.ctm-users.name;
levelezési listát.Kalifornia, Bay Area (hivatalos forrás)Dél-Afrika (a korábbi delták
biztonsági másolatai)Tajvan/R.O.C.Ha nem találtunk volna hozzánk közel
esõ tükrözést, vagy ha talált
tükör nem elég friss, akkor
próbálkozzunk egy olyan keresõmotor
használatával, mint például az
alltheweb.A CVSup használataBevezetésA CVSup távoli szervereken
található központi repositorykban levõ
forrásfák terjesztésére és a
rajtuk keresztüli frissítésre alkalmas
programcsomag. A &os; forrásait egy CVS repositoryban
tartják karban Kaliforniában egy
fejlesztéseket tároló központi
számítógépen. A
CVSup
segítségével a &os;
felhasználói könnyen szinkronban
tudják vele tartani a saját
forrásaikat.A CVSup az ún.
lehúzással frissít.
Ilyenkor a kliensek csak akkor kérnek a szervertõl
frissítéseket, amikor szükségük
van rá, miközben a szerver passzívan
várja a frissítési kérelmeket.
Ennek megfelelõen tehát minden esetben a kliens
kezdeményezi a frissítést, a szerver pedig
önmagától sosem küld ilyeneket
kéretlenül. A felhasználóknak
így vagy maguknak kell meghívniuk a
CVSup kliensét, vagy a
frissítések rendszeres automatikus
letöltéséhez be kell állítaniuk
a cron rendszerprogramot.A CVSup kifejezés ebben az
írásmódban az egész programcsomagra
utal. Fõ alkotórészei a a
felhasználó gépén futó
cvsup nevû kliens, és a &os;
tüköroldalain futó cvsupd
nevû szerver.A &os; dokumentációjának és
levelezési listáinak fürkészése
során rengeteg hivatkozást találhatunk egy
sup nevû alkalmazásra. A
sup a
CVSup elõdje volt, és
hasonló célokat szolgált. A
CVSup használat
tekintetében nagyon hasonlít a
sup-hoz, és ami azt illeti, a
a sup konfigurációs
állományaival visszafele kompatibilis
formátumot használ. Mivel a
CVSup sokkal gyorsabb és
rugalmasabb, a supot már nem
használja a &os; Projekt.A csup a
CVSup C nyelven
újraírt változata. Legnagyobb
elõnye, hogy gyorsabb és nincs
szüksége a Modula-3 nyelv futtató
környezetére, ezért azt nem kell a
használatához telepíteni.
Ráadásul, ha a &os; 6.2 vagy annál
késõbbi változatát
használjuk, akkor minden további
nélkül a rendelkezésünkre áll,
hiszen az alaprendszer része. A &os; korábbi
verzióinak alaprendszerei ugyan nem tartalmazzák
a &man.csup.1; parancsot, viszont a net/csup port vagy csomag
segítségével pillanatok alatt
telepíteni tudjuk. Emellett a
csup segédprogram nem
támogatja a CVS módot sem. Teljes repositoryk
tükrözéséhez ezért
továbbra is a CVSup kell
használnunk. Amennyiben a
csup mellett tennénk le a
voksunkat, a szakasz fennmaradó részében
egyszerûen hagyjuk ki a CVSup
telepítésérõl szóló
lépéseket és a
CVSup hivatkozásait
helyettesítsük a csup
programmal.TelepítésA CVSup
telepítésének legegyszerûbb
módja a &os; csomaggyûjteményében
található elõrefordított net/cvsup csomag használata.
Ha viszont inkább forrásból akarjuk
telepíteni a CVSupot, akkor
helyette használjuk a net/cvsup portot. De legyünk
elõvigyázatosak: a net/cvsup portnak szüksége
van a Modula-3 rendszerre, aminek letöltése
és lefordítása pedig meglehetõsen sok
idõt és tárhelyet igényel.Ha olyan gépen akarjuk használni a
CVSupot, ahol nincs
&xfree86;,
&xorg; vagy bármilyen
más ilyen szerver, akkor használjuk a
net/cvsup-without-gui
portot, ami nem tartalmazza a hozzátartozó
grafikus felületet.Ha a &os; 6.1 vagy korábbi változatain
szeretnénk telepíteni a
csupot, használjuk a &os;
csomaggyûjteményében
megtalálható net/csup csomagot. Ha viszont
forrásból kívánjuk telepíteni
a csup programot, akkor helyette
használjuk a net/csup
portot.A CVSup beállításaA CVSup
mûködését a supfile
elnevezésû állomány vezérli. A
/usr/share/examples/cvsup/
könyvárban találhatunk néhány
példát a supfile
állományokra.A supfile állományban
szereplõ információk a
CVSup használatával
kapcsolatban a következõ kérdéseket
válaszolják meg:Milyen
állományokat akarunk
letölteni?Milyen
verzióikra van
szükségünk?Honnan akarjuk ezeket
beszerezni?Hova akarjuk rakni a
számítógépünkön?Hova akarjuk rakni
az állapotot tároló
állományokat?Az imént feltett kérdésekre a
következõ szakaszokban
összeállítandó
supfile segítségével
fogunk válaszolni. Ehhez elõször bemutatjuk a
supfile formátumú
állományok általános
szerkezetét.A supfile állományok
szöveget tartalmaznak. A megjegyzések
# karakterrel kezdõdnek és a sor
végéig tartanak. A kizárólag csak
megjegyzéseket tartalmazó vagy üres sorok nem
kerülnek feldolgozásra.Az összes többi fennmaradó sorban pedig
azokat az állományokat írjuk le, amelyeket
a felhasználó le akar tölteni. Az ilyen
fajtájú sorok egy
gyûjtemény (collection)
nevével kezdõdnek, ami állományok egy
szerver által meghatározott logikai
csoportjára utal. A gyûjtemény neve ennek
megfelelõen elárulja a szervernek, hogy pontosan
milyen állományokra van
szükségünk. Ezután következik
whitespace-szel elválasztva nulla vagy több
mezõ, amelyek a korábban feltett
kérdéseinket válaszolják meg rendre.
Ezeknek a mezõknek két típusa létezik:
a beállításokat és a konkrét
értéket tároló mezõk. A
beállításokat tároló
mezõk különbözõ kulcsszavakat
tartalmaznak, például a delete
(törlés) vagy compress
(tömörítés). Az értéket
tároló mezõk is egy kulcsszóval
kezdõdnek, azonban utána közvetlenül egy
= (egyenlõségjel) jön,
amelyet egy második szó követ szorosan.
Így például a
release=cvs pontosan egy ilyen
értékmezõ lesz.Egy supfile általában
egynél több gyûjtemény
letöltését írja le. Ezért az
ilyen állományok
felépítésének egyik módja, ha
az egyes gyûjteményhez explicite megadjuk a
hozzátartozó mezõket. Azonban így a
supfile állományok gyorsan
megnövekednek és kényelmetlenné
válnak, mivel a legtöbb gyûjtemény
esetén szinte ugyanazokat a mezõket kellene
megadnunk. A CVSup az ilyen
típusú bonyodalmak elkerülésére
egy alapértelmezési megoldást javasol. A
*default nevû
álgyûjteménnyel kezdõdõ sorok
segítségével meg tudunk adni olyan
beállításokat és
értékeket, amelyek az utána
következõ gyûjtemények
számára alapértelmezésnek fognak
számítani a supfile
állományban. Az itt megadott
alapértelmezések természetesen az egyes
gyûjteményekben tetszõleges módon
felülbírálhatóak, a mezõk
magán a gyûjteményen belüli
megadásával. Az állományban az
alapértelmezések is
megváltoztathatóak vagy
bõvíthetõek további
*default sorok
hozzáadásával.Mindezek tudatában most már megkezdhetjük
a FreeBSD-CURRENT ág
tartalmának letöltésére és
frissen tartására alkalmas
supfile állomány
összeállítását.Milyen
állományokat akarunk letölteni?A CVSupon keresztül
elérhetõ állományok
gyûjteményeknek hívott
nevesített csoportokra bontva érhetõek
el. A hivatkozható gyûjtemények
leírását a következõ szakaszban
találjuk. Ebben a példában most
szeretnénk letölteni az egész &os;
rendszer forrását. Ezt a
src-all nevû
gyûjteményre hivatkozva érhetjük el.
A supfile állományunk
létrehozásának elsõ
lépéseként soronként egyet
megadva felsoroljuk a letölteni kívánt
gyûjteményeket (jelen esetünkben csak
egyetlen egyet):src-allMilyen verzióikra
van szükségünk?A CVSup
használatával tulajdonképpen a
források összes valaha létezett
verziójához hozzá tudunk férni.
Ez annak köszönhetõ, hogy a
cvsupd szerver
közvetlenül a CVS repositoryból dolgozik,
ami pedig az összes verziót tartalmazza. A
tag= és date=
értékmezõk
segítségével adhatjuk meg az
igényelt verziókat.Legyünk óvatosak azonban a
tag= mezõk helyes
megadásával. Egyes címkék
ugyanis csak bizonyos
állománygyûjtemények
esetén élnek. Ha hibás vagy
elírt címkét adunk meg, akkor a
CVSup törölni fog
olyan állományokat, amelyeket
valószínûleg nem kellene. A
ports-* gyûjtemények
esetében pedig kifejezetten
csak a tag=.
mezõk használhatóak!A tag= mezõk a
tárházban található szimbolikus
címkéket nevezik meg. A
címkéknek két típusa van: a
revíziókhoz és az ágakhoz
tartozó címkék. A
revíziós címkék mindig egy adott
revíziót hivatkoznak, jelentésük
állandó. Ezzel szemben az ágak
címkéi egy adott fejlesztési ág
adott idõpontjában elérhetõ
revíziót címkézi. Mivel az
ágak címkéi nem egy konkrét
revízióra vonatkoznak, ezért
akár olyanra is utalhatnak, ami pillanatnyilag
még nem is létezik.Az ban megtalálhatjuk a
fontosabb ágak címkéit. A
CVSup konfigurációs
állományában a címkéket a
tag= elõtaggal kell bevezetni
(így tehát a RELENG_4
címke hivatkozása
tag=RELENG_4 lesz). Ne felejtsük
el, hogy a Portgyûjtemény esetében csak
tag=. mezõ megadásának
van értelme.Igyekezzünk pontosan lemásolni a
címkék neveit, mivel a
CVSup nem képes
megkülönböztetni az érvényes
és az érvénytelen
címkéket. Ha véletlen elírjuk
a címkét, akkor a
CVSup úgy fog
viselkedni, mintha olyan érvényes
címkére hivatkozhatunk volna, amihez nem
tartoznak állományok. Ennek
következtében pedig egyszerûen
letörli a már meglevõ
forrásainkat.Egy ág címkéjének
megadása során általában az
adott fejlesztési vonal legfrissebb
verzióját kapjuk meg. Ha viszont az adott
ág valamelyik korábbi
változatára lenne szükségünk,
akkor a értékmezõ
felhasználásával meg tudjuk adni a
hozzátartozó dátumot. Ennek
mûködésérõl a &man.cvsup.1; man
oldala részletesebben értekezik.A példában mi most a &os;-CURRENT
verziót akarjuk letölteni. Ezért a
következõ sort tesszük a
supfile állományunk
elejére:*default tag=.Ha nem adunk meg sem tag=, sem pedig
date= mezõket, akkor egy fontos eset
következik be. Ilyenkor ugyanis egy konkrét
verzió helyett közvetlenül a szerver CVS
repositoryjából kapjuk meg az
állományokat, az összes
kiegészítõ információjukkal
együtt. A fejlesztõk általában ezt
a típusú megoldást kedvelik, mivel
így a saját rendszerükön is
könnyen karban tudnak tartani egy
példányt, amiben tudnak keresni a
revíziók között és ki
tudják kérni akár az
állományok korábbi változatait
is. Természetesen ennek
függvényében jóval több
tárhelyre van szükségük.Honnan akarjuk ezeket
beszerezni?A host= mezõ
beállításával
közöljük a cvsup
klienssel, honnan töltse le a
frissítéseket. A CVSup
tükrözések közül
bármelyik megfelel erre a célra, habár
leginkább azt érdemes választani, ami a
kibertérben a hozzánk legközelebb esik.
A példában most egy kitalált &os;
terjesztési oldalt választunk, a cvsup99.FreeBSD.org-ot:*default host=cvsup99.FreeBSD.orgA CVSup futtatása
elõtt tehát ne felejtsük el
megváltoztatni ezt a létezõ
számítógép
hálózati nevére. A
cvsup futtatásakor a opció
megadásával lehetõségünk
ennek
felülbírálására.Hova akarjuk rakni a
számítógépünkön?A prefix= mezõ adja meg a
cvsup számára, hogy hova
tegye a kapott állományokat. A
példában a forrásokat
közvetlenül a forrásokat
tároló központi könyvtárba, a
/usr/src könyvtárba
tettük. Mivel a src
könyvtár neve már hallgatólagosan
benne foglaltatik a letöltésre
kiválasztott gyûjtemény nevében,
ezért itt csak ennyit kell megadnunk:*default prefix=/usrHova akarjuk rakni az
állapotot tároló
állományokat?A CVSup kliens egy
bázisnak (base) nevezett
könyvtárban folyamatosan fenntart bizonyos
állományokban állapotokat (status
file). Ezek a már letöltött
állományok
nyilvántartásával segítik a
CVSup hatékony
munkavégzését. Mi most a
szabványos bázist, a
/var/db könyvtárat fogjuk
használni:*default base=/var/dbAmennyiben még nem létezne a
bázisként használni
kívánt könyvtár, ideje
létrehoznunk. A cvsup ugyanis egy
nem létezõ könyvtár esetén
nem lesz hajlandó mûködni.További beállítások a
supfile
állományban:Általában még egy sor szokott
szerepelni a supfile
állományokban:*default release=cvs delete use-rel-suffix compressA release=cvs mezõ jelzi, hogy a
szervernek a &os; fõ CVS repositoryból kell
kikeresnie az információkat.
Tulajdonképpen majdnem mindig errõl van
szó, és az itt megadható többi
lehetõség ismertetése most
egyébként is meghaladná a szakasz
határait.A delete hatására a
CVSup képes lesz
állományokat törölni. Mindig
érdemes megadnunk, hiszen a
CVSup csak így tudja
teljes mértékben frissentartani a
forrásokat. A CVSup
természetesen csak azokat az
állományokat igyekszik letörölni,
amelyek miatt valóban felelõs. A kóbor
állományokat nem fogja bántani.A use-rel-suffix hatása egy
igazi... Rejtély. Ha tényleg érdekel
minket a mûködése, lapozzuk fel
bátran a &man.cvsup.1; man oldalát. Nyugodtan
adjuk meg és különösebben ne
törõdjünk vele.A compress
beállítás
segítségével a
kommunikációs csatornán
vándorló adatokat tudjuk gzip-szerû
módon tömöríteni. Ha a
hálózati kapcsolatunk sebessége
meghaladja a 1,5 Mbitet másodpercenként
(T1), akkor ezt már nem érdemes
használni, viszont minden más esetben
lényeges gyorsulást hozhat.Összegezzük az eddigieket:Íme a példaként összerakott
supfile állományunk
teljes tartalma:*default tag=.
*default host=cvsup99.FreeBSD.org
*default prefix=/usr
*default base=/var/db
*default release=cvs delete use-rel-suffix compress
src-allA refuse
állományAhogy arról már korábban szó
esett, a CVSuplehúzással frissít.
Ez alapvetõen annyit jelent, hogy
feltárcsázunk egy
CVSup szervert, aki a
következõt mondja nekünk: A
következõket tudod tõlem
letölteni..., amire a kliensünk ezt
válaszolja: Rendben, akkor nekem kell ez, ez, ez
meg ez. Alapértelmezés szerint a
CVSup kliense azokat az
állományokat fogja letölteni, amelyeket a
konfigurációs állományban
szereplõ gyûjtemények és
címkék által megneveztünk. Ez
azonban nem mindig felel meg az igényeinknek,
különösen akkor, amikor a
doc, ports vagy
www fákat akarjuk letölteni
— az emberek többsége ugyanis nem
beszél négy vagy öt nyelven, ezért
nincs is szükségük a nyelvfüggõ
állományok letöltésére. A
Portgyûjtemény letöltése során
a ports-all helyett egyszerûen
egyenként is felsorolhatjuk a számunkra
érdekes kategóriákat
(például ports-astrology,
ports-biology stb). Azonban mivel a
doc és a www
fákhoz nincsenek nyelvfüggõ
gyûjtemények, ezért elõ kell
halásznunk a CVSup egyik
remek funkcióját, a refuse
állományt.A refuse állománnyal
lényegében arra utasítjuk a
CVSup alkalmazást, hogy a
gyûjteményekbõl ne töltse le az
összes állományt. Úgy is
fogalmazhatnánk, hogy javaslatára a kliens
visszautasít (refuse) bizonyos
szervertõl érkezõ állományokat.
Ezeket a visszautasításokat tároló
refuse állományt a
bázis/sup/
könyvtárban találhatjuk meg (illetve ha
még nincsenek, akkor ide kell rakunk ezeket). Itt a
bázis a
supfile állományban
megadott base= mezõre utal, ami a
példánkban a /var/db
könyvtár volt. Ennek megfelelõen
tehát a refuse
állomány a
/var/db/sup/refuse lesz.A refuse állomány
felépítése igen egyszerû: a
letölteni nem kívánt
állományok és könyvtárak
neveit tartalmazza. Például ha az angolul
mellett esetleg még beszélünk egy
kevés németet is, de nincs
szükségünk az angol
dokumentáció német
fordítására sem, akkor a
következõket írjuk a
refuse állományba:doc/bn_*
doc/da_*
doc/de_*
doc/el_*
doc/es_*
doc/fr_*
doc/hu_*
doc/it_*
doc/ja_*
doc/mn_*
doc/nl_*
doc/no_*
doc/pl_*
doc/pt_*
doc/ru_*
doc/sr_*
doc/tr_*
doc/zh_*és így tovább a többi nyelvre is
(melyeket a &os; CVS
repository böngészésével
deríthetjük ki).Ezzel az alkalmas funkcióval a lassú vagy
drága internetes kapcsolattal rendelkezõ
felhasználók nagyon jól tudnak
gazdálkodni, mivel így nem kell
letölteniük az egyáltalán nem
használt állományokat. A
refuse állományokról
és a CVSup más
hasonlóan elegáns funkcióiról a
saját man oldaláról tudhatunk meg
többet.A CVSup futtatásaMost már készen állunk egy próba
frissítés elvégzésére. A
parancssorban nem sok mindent kell beírnunk ehhez:&prompt.root; cvsup supfileahol a
supfile a
frissen létrehozott supfile
állományunk neve lesz. Feltételezve, hogy
a parancsot X11 alatt adtunk ki, az cvsup
erre feldob egy grafikus ablakot néhány gombbal.
Nyomjuk meg a go feliratú gombot
és dõljünk hátra.Mivel a példában a
/usr/src könyvtárunk
frissítését állítottuk be, az
állományok aktualizálásához
szükséges jogosultságok
biztosításához a cvsup
programot root
felhasználóként kell elindítanunk.
Teljesen érthetõ, ha egy kicsit izgatottak vagyunk
ezekben a pillanatokban, hiszen az elõbb hoztunk
létre egy általunk eddig ismeretlen programhoz egy
konfigurációs állományt.
Ezért megemlítenénk, hogy ilyenkor
elõször mindig próbáljuk ki a
konfigurációkat, mielõtt azok
bármilyen módosítást
végeznének a fontos állományainkon.
Ehhez hozzunk létre valahol egy üres
könyvtárat, majd adjuk meg a parancssorban ennek a
nevét:&prompt.root; mkdir /var/tmp/proba
&prompt.root; cvsup supfile /var/tmp/probaAz így megadott könyvtárba kerülnek
a frissítés eredményeképpen
keletkezõ állományok. A
CVSup elõször
megvizsgálja a /usr/src
könyvtárban található
állományokat, viszont egyiküket sem
módosítja vagy törli. A
frissítések ehelyett a
/var/tmp/proba/usr/src
könyvtárba fognak kerülni. A
CVSup emellett még a
báziskönyvtárában tárolt
állapotokat sem fogja megváltoztatni. A
módosított állományok új
változatai a megadott könyvtárba jönnek
létre. Mivel a /usr/src
könyvtárt ehhez csak olvasni fogjuk, a próba
lefuttatásához még
root felhasználónak sem kell
lennünk.Ha nem használunk X11-et vagy egyszerûen csak
nincs szükségünk a grafikus felületre, a
parancssorban pár további opció
megadásával így is kiadhatjuk a
cvsup parancsot:&prompt.root; cvsup -g -L 2 supfileA hatására a
CVSup nem hozza be a grafikus
felületét. Ha nem talál X11-et, akkor ez
természetesen automatikus, de ellenkezõ esetben ezt
is meg kell adnunk.Az megadásával a
CVSup az összes
elvégzendõ frissítésrõl
részletes értesítést ad. A
részletességnek három foka van, -tól indulva egészen -ig. Itt az alapértelmezett
érték a 0, amivel a hibaüzenetek
kivételével egyetlen üzenetet sem
kapunk.Rengeteg egyéb beállítás
adható még meg, ezeket a cvsup
-H kiadásával kérdezhetjük
le. A beállítások pontosabb
leírását a man oldalon találjuk
meg.Miután elégedetten tapasztaltuk, hogy a
frissítés remekül mûködik, a
&man.cron.8; segítségével
próbáljuk meg az egész folyamatot
önmûködövé tenni a
CVSup szabályos
idõközönkénti futtatásával.
Ekkor viszont magától értetõdik, hogy
a CVSup számára ne
engedjük használni a grafikus felületet.A CVSup
állománygyûjteményeiA CVSup révén
elérhetõ
állománygyûjtemények egy hierarchikus
rendszert alkotnak. Van néhány nagyobb
állománygyûjtemény, amelyek kisebb
al-állománygyûjteményekre
bonthatóak. A nagyobb gyûjtemények
letöltése ezért a kisebb
algyûjtemények letöltésével
egyenlõ. A gyûjtemények közt
fennálló hierarchikus rendszer a lentebb
szereplõ lista behúzásaiban
érhetõ tetten.A leggyakrabban használt gyûjtemények a
src-all és a
ports-all neveket viselik. A többi
gyûjteményt általában csak kevesen
és csak speciális célokra
használják, ezért egyes
tükrözéseken nem feltétlenül
találjuk meg mindegyiküket.cvs-all release=cvsA &os; fõ CVS repositoryja, beleértve a
titkosításhoz tartozó kódokat
is.distrib release=cvsA &os; terjesztéséhez és
tükrözéséhez
kapcsolódó
állományok.doc-all release=cvsA &os; kézikönyvének
és a többi dokumentáció
forrásai. Nem tartalmazza a &os;
honlapjának forrásait.ports-all release=cvsA &os; portgyûjteménye.Ha nem akarjuk a ports-all
egészét (vagyis a teljes
portfát) frissíteni, csak a lentebb
szereplõ egyes algyûjteményeket
letölteni, akkor soha ne
feledkezzünk meg a
ports-base
megadásáról! Amikor valami
változik a portok
mûködésében, akkor a
ports-base által
képviselt algyûjteményben
szereplõ állományokat igen
gyorsan elkezdik használni a
valódi portok. Ezért
ha csak a valódi portokat
frissítjük, amelyek viszont
igényt tartanak néhány
újabb funkcióra is, akkor
könnyen fordítási hibára
vagy különbözõ
rejtélyes hibaüzenetekbe futhatunk.
Emiatt
legeslegelõször
mindig tegyünk róla, hogy a
ports-base
algyûjteményünk a lehetõ
legfrissebb legyen.Ha a ports/INDEX
állomány egy saját
példányát
kívánjuk létrehozni, akkor
ahhoz a ports-all
gyûjteményt (tehát a teljes
portfát) le kell
kérnünk. A
ports/INDEX
állományt a portfa egy része
alapján nem készíthetjük
el. Errõl bõvebben lásd a
GYIK-ot.ports-accessibility
release=cvsA fogyatékos
felhasználókat
segítõ szoftverek.ports-arabic
release=cvsArab nyelvi
támogatás.ports-archivers
release=cvsArchiváló
eszközök.ports-astro
release=cvsCsillagászathoz tartozó
portok.ports-audio
release=cvsHangtámogatás.ports-base
release=cvsA Portgyûjtemény saját
infrastruktúrája — az
Mk/,
Tools/ és
/usr/ports
különféle
alkönyvtáraiban elhelyezkedõ
állományok.Ne hagyjuk figyelmen kívül
a
fenti fontos figyelmeztetést
sem: ezt az algyûjteményt
mindig a &os;
Portgyûjteményével
együtt frissítsük!ports-benchmarks
release=cvsTeljesítménytesztek.ports-biology
release=cvsBiológia.ports-cad
release=cvsSzámítógépes
tervezõeszközök (CAD).ports-chinese
release=cvsKínai nyelvi
támogatás.ports-comms
release=cvsKommunikációs
szoftverek.ports-converters
release=cvsKarakterkódolások közti
átalakítók.ports-databases
release=cvsAdatbázisok.ports-deskutils
release=cvsA számítógép
feltalálása elõtt is
már létezõ
eszközök.ports-devel
release=cvsFejlesztõeszközök.ports-dns
release=cvsNévfeloldással kapcsolatos
szoftverek.ports-editors
release=cvsSzövegszerkesztõk.ports-emulators
release=cvsMás operációs
rendszerek emulátorai.ports-finance
release=cvsPénzügyi, gazdasági
és hasonló
alkalmazások.ports-ftp
release=cvsFTP kliensek és szerverek.ports-games
release=cvsJátékok.ports-german
release=cvsNémet nyelvi
támogatás.ports-graphics
release=cvsGrafikus
segédeszközök.ports-hebrew
release=cvsHéber nyelvi
támogatás.ports-hungarian
release=cvsMagyar nyelvi
támogatás.ports-irc
release=cvsIRC-vel kapcsolatos programok.ports-japanese
release=cvsJapán nyelvi
támogatás.ports-java
release=cvs&java;
segédeszközök.ports-korean
release=cvsKoreai nyelvi
támogatás.ports-lang
release=cvsProgramozási nyelvek.ports-mail
release=cvsLevelezõ programok.ports-math
release=cvsNumerikus
számításokkal
foglalkozó programok.ports-mbone
release=cvsMBone alkalmazások.ports-misc
release=cvsEgyéb segédprogramok.ports-multimedia
release=cvsMultimediás szoftverek.ports-net
release=cvsHálózati szoftverek.ports-net-im
release=cvsÜzenetküldõ (Instant
Messaging, IM) szoftverek.ports-net-mgmt
release=cvsHálózati karbantartó
szoftverek.ports-net-p2p
release=cvsEgyenrangú (Peer to Peer, P2P)
hálózatok.ports-news
release=cvsUSENET hírszoftverek.ports-palm
release=cvsA Palm sorozat
szoftveres támogatása.ports-polish
release=cvsLengyel nyelvi
támogatás.ports-ports-mgmt
release=cvsA portok és csomagok
karbantartását végzõ
segédeszközök.ports-portuguese
release=cvsPortugál nyelvi
támogatás.ports-print
release=cvsNyomdai programok.ports-russian
release=cvsOrosz nyelvi
támogatás.ports-science
release=cvsTudományos programok.ports-security
release=cvsBiztonsági
segédprogramok.ports-shells
release=cvsParancsértelmezõk.ports-sysutils
release=cvsRendszerprogramok.ports-textproc
release=cvsSzövegfeldolgozást
segítõ eszközök
(kivéve az asztali
kiadványszerkesztést).ports-ukrainian
release=cvsUkrán nyelvi
támogatás.ports-vietnamese
release=cvsVietnámi nyelvi
támogatás.ports-www
release=cvsA világhálóhoz
tartozó szoftverek.ports-x11
release=cvsAz X Window System
mûködését
segítõ portok.ports-x11-clocks
release=cvsX11 órák.ports-x11-drivers
release=cvsX11 meghajtók.ports-x11-fm
release=cvsX11
állománykezelõk.ports-x11-fonts
release=cvsX11 betûtípusok és a
hozzájuk tartozó
segédprogramok.ports-x11-toolkits
release=cvsX11 eszközrendszerek.ports-x11-servers
release=cvsX11 szerverek.ports-x11-themes
release=cvsX11 témák.ports-x11-wm
release=cvsX11 ablakkezelõk.projects-all release=cvsA &os; projektek forrásainak
repositoryja.src-all release=cvsA &os; fontosabb forrásai, a
titkosításhoz tartozó
kódokkal együtt.src-base
release=cvsA /usr/src
könyvtárban levõ egyéb
állományok.src-bin
release=cvsAz egyfelhasználós
módban használható
segédeszközök
(/usr/src/bin).src-cddl
release=cvsA CDDL licenc szerint terjesztett
segédprogramok és
függvénykönyvtárak
(/usr/src/cddl).src-contrib
release=cvsA &os; Projekten kívül
fejlesztett segédprogramok és
függvénykönyvtárak,
viszonylag kevés
módosítással
(/usr/src/contrib).src-crypto release=cvsA &os; Projekten kívül
fejlesztett, titkosítással
kapcsolatos segédprogramok és
függvénykönyvtárak,
viszonylag kevés
módosítással
(/usr/src/crypto).src-eBones release=cvsKerberos és DES
(/usr/src/eBones). A
&os; jelenlegi változatai nem
használják.src-etc
release=cvsA rendszer
beállításait
tartalmazó állományok
(/usr/src/etc).src-games
release=cvsJátékok
(/usr/src/games).src-gnu
release=cvsA GPL licenc szerint terjesztett
segédprogramok
(/usr/src/gnu).src-include
release=cvs(C nyelvi) Header állományok
(/usr/src/include).src-kerberos5
release=cvsA Kerberos5 biztonsági csomag
(/usr/src/kerberos5).src-kerberosIV
release=cvsA KerberosIV biztonsági csomag
(/usr/src/kerberosIV).src-lib
release=cvsFüggvénykönyvtárak
(/usr/src/lib).src-libexec
release=cvsMás programok által
futtatott rendszerprogramok
(/usr/src/libexec).src-release
release=cvsA &os; kiadások
elkészítéséhez
szükséges állományok
(/usr/src/release).src-rescue
release=cvsStatikusan linkelt programok
vészhelyzet esetére,
lásd &man.rescue.8;
(/usr/src/rescue).src-sbin release=cvsEgyfelhasználós
módban használható
rendszereszközök
(/usr/src/sbin).src-secure
release=cvsTitkosítással
foglalkozó
függvénykönyvtárak
és parancsok
(/usr/src/secure).src-share
release=cvsTöbb rendszer között
megosztható állományok
(/usr/src/share).src-sys
release=cvsA rendszermag
(/usr/src/sys).src-sys-crypto
release=cvsA rendszermagban levõ
titkosítással foglalkozó
kód
(/usr/src/sys/crypto).src-tools
release=cvsA &os; karbantartására
való különbözõ
segédprogramok
(/usr/src/tools).src-usrbin
release=cvsFelhasználói
segédprogramok
(/usr/src/usr.bin).src-usrsbin
release=cvsRendszerszintû segédprogramok
(/usr/src/usr.sbin).www release=cvsA &os; Projekt honlapjának
forráskódja.distrib release=selfA CVSup szerver
saját konfigurációs
állományai. A
CVSup
tükrözései
használják.gnats release=currentA GNATS hibanyilvántartó
adatbázis.mail-archive release=currentA &os; levelezési listáinak
archívuma.www release=currentA &os; Projekt honlapjának generált
állományai (de nem a forrásai). A
WWW tükrözések
használják.Bõvebb információkA CVSup részletesebb
bemutatását és a hozzátartozó
GYIK-ot A CVSup
honlapján találjuk meg.A CVSup &os;-re vonatkozó
tárgyalása a &a.hackers;n történik.
Itt és az &a.announce;n jelentik be a szoftver
újabb változatait.A CVSup alkalmazással
kapcsolatos kérdéseket és
hibajelentéseket illetõen a CVSup
GYIK-ot érdemes megnéznünk.CVSup oldalakA &os; CVSup szerverei az
alábbi oldalakon érhetõek el:
&chap.mirrors.cvsup.inc;
CVS címkékMeg kell adnunk egy revízió
címkéjét, amikor a
cvs vagy
CVSup használatával
letöltjük vagy frissítjük a
forrásokat. A revíziós címkék
a &os; egyik fejlesztési irányát vagy egy
adott idõpontbeli állapotát hivatkozzák.
Az elõbbi egy ág címkéje,
míg az utóbbi pedig egy kiadás
címkéje.Az ágak címkéiA HEAD kivételével (amely
mindig egy érvényes címke) az összes
címke csak a src/ fára
vonatkozik. A ports/,
doc/ és www/
fák nem tartalmaznak ágakat.HEADA fõ fejlesztési ág, avagy a
&os;-CURRENT szimbolikus neve. Ha nem adunk meg
revíziót, ez lesz az
alapértelmezés.A CVSup számára
ezt . címke jelzi (itt most nem
mondatvégi pontot jelöli, hanem a
. karaktert).A CVS számára ez lesz az
alapértelmezett érték, ha nem adunk
meg konkrét revíziós
címkét. Többnyire
nem túlzottan jó
ötlet egy STABLE változatot
használó gépen a CURRENT
verziójú források
kikérése, kivéve hacsak nem ez a
szándékunk.RELENG_7A FreeBSD-7.X fejlesztési ága, más
néven a FreeBSD 7-STABLERELENG_7_1A FreeBSD-7.1 kiadás ága, ahová
csak a biztonsági frissítések és a
kritikus hibajavítások kerülnek.RELENG_7_0A FreeBSD-7.0 kiadás ága, ahová
csak a biztonsági frissítések és
a kritikus hibajavítások kerülnek.RELENG_6A FreeBSD-6.X fejlesztési ága, más
néven a FreeBSD 6-STABLERELENG_6_4A FreeBSD-6.4 kiadás ága, ahová
csak biztonsági frissítések és a
kritikus hibajavítások kerülnek.RELENG_6_3A FreeBSD-6.3 kiadás ága, ahová
csak biztonsági frissítések és a
kritikus hibajavítások kerülnek.RELENG_6_2A FreeBSD-6.2 kiadás ága, ahová
csak biztonsági frissítések és a
kritikus hibajavítások kerülnek.RELENG_6_1A FreeBSD-6.1 kiadás ága, ahová
csak biztonsági frissítések és a
kritikus hibajavítások kerülnek.RELENG_6_0A FreeBSD-6.0 kiadás ága, ahová
csak biztonsági frissítések és a
kritikus hibajavítások kerülnek.RELENG_5A FreeBSD-5.X fejlesztési ág, más
néven a FreeBSD 5-STABLE.RELENG_5_5A FreeBSD-5.5 kiadás ága, ahová
csak biztonsági frissítések és a
kritikus hibajavítások kerülnek.RELENG_5_4A FreeBSD-5.4 kiadás ága, ahová
csak biztonsági frissítések és a
kritikus hibajavítások kerülnek.RELENG_5_3A FreeBSD-5.3 kiadás ága, ahová
csak biztonsági frissítések és a
kritikus hibajavítások kerülnek.RELENG_5_2A FreeBSD-5.2 és FreeBSD-5.2.1 kiadások
ága, ahová csak biztonsági
frissítések és a kritikus
hibajavítások kerülnek.RELENG_5_1A FreeBSD-5.1 kiadás ága, ahová
csak biztonsági frissítések és a
kritikus hibajavítások kerülnek.RELENG_5_0A FreeBSD-5.0 kiadás ága, ahová
csak biztonsági frissítések és a
kritikus hibajavítások kerülnek.RELENG_4A FreeBSD-4.X fejlesztési ága, más
néven a FreeBSD 4-STABLE.RELENG_4_11A FreeBSD-4.11 kiadás ága, ahová
csak biztonsági frissítések és a
kritikus hibajavítások kerülnek.RELENG_4_10A FreeBSD-4.10 kiadás ága, ahová
csak biztonsági frissítések és a
kritikus hibajavítások kerülnek.RELENG_4_9A FreeBSD-4.9 kiadás ága, ahová
csak biztonsági frissítések és a
kritikus hibajavítások kerülnek.RELENG_4_8A FreeBSD-4.8 kiadás ága, ahová
csak biztonsági frissítések és a
kritikus hibajavítások kerülnek.RELENG_4_7A FreeBSD-4.7 kiadás ága, ahová
csak biztonsági frissítések és a
kritikus hibajavítások kerülnek.RELENG_4_6A FreeBSD-4.6 és FreeBSD-4.6.2 kiadások
ága, ahová csak biztonsági
frissítések és a kritikus
hibajavítások kerülnek.RELENG_4_5A FreeBSD-4.5 kiadás ága, ahová
csak biztonsági frissítések és a
kritikus hibajavítások kerülnek.RELENG_4_4A FreeBSD-4.4 kiadás ága, ahová
csak biztonsági frissítések és a
kritikus hibajavítások kerülnek.RELENG_4_3A FreeBSD-4.3 kiadás ága, ahová
csak biztonsági frissítések és a
kritikus hibajavítások kerülnek.RELENG_3A FreeBSD-3.X fejlesztési ága, más
néven a 3.X-STABLE.RELENG_2_2A FreeBSD-2.2.X fejlesztési ága,
más néven a 2.2-STABLE. Ez az ág
manapság már elavult.A kiadások címkéiEzek a címkék a &os; egyes kiadásainak
dátumára hivatkoznak. Egy kiadás
elõkészítésének és
terjesztésének folyamatáról
részleteiben a kiadásokat
összefoglaló lapról és a
kiadások építésérõl
szóló cikkbõl
tájékozódhatunk. Az src fában
RELENG_ kezdetû címkéket
találunk. A
ports és doc fákban a
címkék nevei a RELEASE
elõtaggal kezdõdnek. Végezetül a
www fában
nincsenek kiadásokhoz tartozó
címkék.
+
+ RELENG_7_2_0_RELEASE
+
+
+ FreeBSD 7.2
+
+
+
RELENG_7_1_0_RELEASEFreeBSD 7.1RELENG_7_0_0_RELEASEFreeBSD 7.0RELENG_6_4_0_RELEASEFreeBSD 6.4RELENG_6_3_0_RELEASEFreeBSD 6.3RELENG_6_2_0_RELEASEFreeBSD 6.2RELENG_6_1_0_RELEASEFreeBSD 6.1RELENG_6_0_0_RELEASEFreeBSD 6.0RELENG_5_5_0_RELEASEFreeBSD 5.5RELENG_5_4_0_RELEASEFreeBSD 5.4RELENG_4_11_0_RELEASEFreeBSD 4.11RELENG_5_3_0_RELEASEFreeBSD 5.3RELENG_4_10_0_RELEASEFreeBSD 4.10RELENG_5_2_1_RELEASEFreeBSD 5.2.1RELENG_5_2_0_RELEASEFreeBSD 5.2RELENG_4_9_0_RELEASEFreeBSD 4.9RELENG_5_1_0_RELEASEFreeBSD 5.1RELENG_4_8_0_RELEASEFreeBSD 4.8RELENG_5_0_0_RELEASEFreeBSD 5.0RELENG_4_7_0_RELEASEFreeBSD 4.7RELENG_4_6_2_RELEASEFreeBSD 4.6.2RELENG_4_6_1_RELEASEFreeBSD 4.6.1RELENG_4_6_0_RELEASEFreeBSD 4.6RELENG_4_5_0_RELEASEFreeBSD 4.5RELENG_4_4_0_RELEASEFreeBSD 4.4RELENG_4_3_0_RELEASEFreeBSD 4.3RELENG_4_2_0_RELEASEFreeBSD 4.2RELENG_4_1_1_RELEASEFreeBSD 4.1.1RELENG_4_1_0_RELEASEFreeBSD 4.1RELENG_4_0_0_RELEASEFreeBSD 4.0RELENG_3_5_0_RELEASEFreeBSD-3.5RELENG_3_4_0_RELEASEFreeBSD-3.4RELENG_3_3_0_RELEASEFreeBSD-3.3RELENG_3_2_0_RELEASEFreeBSD-3.2RELENG_3_1_0_RELEASEFreeBSD-3.1RELENG_3_0_0_RELEASEFreeBSD-3.0RELENG_2_2_8_RELEASEFreeBSD-2.2.8RELENG_2_2_7_RELEASEFreeBSD-2.2.7RELENG_2_2_6_RELEASEFreeBSD-2.2.6RELENG_2_2_5_RELEASEFreeBSD-2.2.5RELENG_2_2_2_RELEASEFreeBSD-2.2.2RELENG_2_2_1_RELEASEFreeBSD-2.2.1RELENG_2_2_0_RELEASEFreeBSD-2.2.0AFS oldalakA &os; a következõ szerverein érhetõ el
AFS:SvédországAz állományok a következõ helyen
érhetõek el:
/afs/stacken.kth.se/ftp/pub/FreeBSD/stacken.kth.se # Stacken Computer Club, KTH, Svédország
130.237.234.43 #hot.stacken.kth.se
130.237.237.230 #fishburger.stacken.kth.se
130.237.234.3 #milko.stacken.kth.seKarbantartó:
ftp@stacken.kth.seRsync oldalakA most következõ oldalakon a &os;-t
érhetjük el az rsync protokollal. Az
rsync segédprogram
mûködésében leginkább a &man.rcp.1;
parancshoz hasonlít, de sokkal több
beállítással rendelkezik, és az rsync
távoli frissítéseket kezelõ protokollja
segítségével csak az állományok
csoportjai között levõ eltéréseket
küldi át, amivel a hálózaton
keresztüli szinkronizáció rendkívül
felgyorsítható. Ez olyankor jelent számunkra
a legtöbbet, ha a &os; FTP szerverének vagy CVS
repositoryjának egyik tükrözését
tartjuk karban. Az rsync több
operációs rendszerre is elérhetõ,
és &os;-n a net/rsync
port vagy csomag tartalmazza.Cseh Köztársaságrsync://ftp.cz.FreeBSD.org/Elérhetõ gyûjtemények:ftp: a &os; FTP szerverének részleges
tükrözése.FreeBSD: a &os; FTP szerverének teljes
tükrözése.Hollandiarsync://ftp.nl.FreeBSD.org/Elérhetõ gyûjtemények:vol/4/freebsd-core: a &os; FTP szerverének
teljes tükrözése.Oroszországrsync://cvsup4.ru.FreeBSD.orgElérhetõ gyûjtemények:FreeBSD-gnats: A GNATS
hibanyilvántartó
adatbázis.Tajvanrsync://ftp.tw.FreeBSD.org/rsync://ftp2.tw.FreeBSD.org/rsync://ftp6.tw.FreeBSD.org/Elérhetõ gyûjtemények:FreeBSD: a &os; FTP szerverének teljes
tükrözése.Egyesült Királyságrsync://rsync.mirror.ac.uk/Elérhetõ gyûjtemények:ftp.FreeBSD.org: a &os; FTP szerverének
teljes tükrözése.Amerikai Egyesült Államokrsync://ftp-master.FreeBSD.org/Ezt a szervert csak az elsõdleges &os;
tükrözéseknek szabad
használniuk.Elérhetõ gyûjtemények:FreeBSD: a &os; FTP szerverének központi
archívuma.acl: a &os; központi ACL listája.rsync://ftp13.FreeBSD.org/Elérhetõ gyûjtemények:FreeBSD: a &os; FTP szerver teljes
tükrözése.
diff --git a/hu_HU.ISO8859-2/share/sgml/freebsd.ent b/hu_HU.ISO8859-2/share/sgml/freebsd.ent
index cee78ee832..0ab95f91b0 100644
--- a/hu_HU.ISO8859-2/share/sgml/freebsd.ent
+++ b/hu_HU.ISO8859-2/share/sgml/freebsd.ent
@@ -1,94 +1,94 @@
UNIX">
NIS">
TeX'>
LaTeX'>
-
-
+
+
[ OK ]">
[ Cancel ]">
[ Yes ]">
[ No ]">