diff --git a/hu_HU.ISO8859-2/books/faq/book.sgml b/hu_HU.ISO8859-2/books/faq/book.sgml
index d302f32cd9..dbb27e3e90 100644
--- a/hu_HU.ISO8859-2/books/faq/book.sgml
+++ b/hu_HU.ISO8859-2/books/faq/book.sgml
@@ -1,15383 +1,15394 @@
%books.ent;
]>
Gyakran Ismételt Kérdések a &os;
6.X és
7.X változatairólA &os; Dokumentációs Projekt$FreeBSD$19951996199719981999200020012002200320042005200620072008A &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_msdos /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.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.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 xf -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 xf -
&prompt.root; cd var
&prompt.root; dump 0af - /var | restore xf -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 xf -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 msdos /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 msdos /dev/fd0c /floppyvagy így, ha egy gyári
beállításokkal rendelkezõ
ZIP-lemez:&prompt.root; mount -t msdos /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 msdos /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=0Ha 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?A &os; képes
betöltõképeket (splash screen)
megjeleníteni a rendszer indításakor.
Ezek a betöltõképek pillanatnyilag csak 256
színû BMP (*.BMP) vagy PCX
(*.PCX) állományok
lehetnek. Emellett legfeljebb 320x200 pixel
méretûnek kell lenniük, ha
szabványos VGA kártyán akarjuk
használni ezeket. Amennyiben a rendszermagunkban
VESA támogatás is van, akkor akár
1024x768-as felbontásig is elmehetünk. A
jelenlegi VESA támogatás
beépíthetõ a rendszermagba a
VESA opció
megadásával, vagy betölthetõ a
rendszerindítás során a VESA modul
használatával.A betöltõképernyõ
használatához a &os;
indításáért felelõs
állományokat kell
módosítanunk.Elõször is létre kell hoznunk egy
/boot/loader.rc
állományt, amely a következõ sorokat
tartalmazza:include /boot/loader.4th
startTovábbá a
/boot/loader.conf
állománynak a következõket kell
tartalmaznia:splash_bmp_load="YES"
bitmap_load="YES"A fenti sorokban azt adtuk meg, hogy az
/boot/splash.bmp állomány
lesz a betöltõképernyõnk. Ha helyette
egy PCX állományt használnánk
inkább, akkor másoljuk le
/boot/splash.pcx néven, majd az
iméntiekben megadottak szerint hozzunk létre
egy /boot/loader.rc, illetve egy ilyen
/boot/loader.conf
állományt:splash_pcx_load="YES"
bitmap_load="YES"
bitmap_name="/boot/splash.pcx"Most már csak egy jó
betöltõképernyõre van
szükségünk. Ha ilyet keresünk, akkor
például érdemes
szétnéznünk a
oldalon.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) az 53-as és
- más egyik nagyobb sorszámú portot
- használ. Miért?
-
-
-
- A BIND a kimenõ kérések
- részére egy véletlenszerûen
- választott nagyobb sorszámú portot
- használ. Amennyiben a ilyenkor is az 53-as portot
- akarjuk használni, például ahhoz, hogy
- át tudjon menni a tûzfalon vagy hogy
- egyszerûen csak jobban érezzük magunkat,
- akkor próbálkozzunk meg a következõ
- beállítással az
- /etc/namedb/named.conf
- állományban:
-
- options {
- query-source address * port 53;
-};
-
- Ha egyetlen IP-címre szeretnénk
- leszûkíteni a küldést, akkor
- * helyett adjuk meg azt.
+ 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/Makefile b/hu_HU.ISO8859-2/books/handbook/Makefile
index 5cfa55bbe0..3095cd24cd 100644
--- a/hu_HU.ISO8859-2/books/handbook/Makefile
+++ b/hu_HU.ISO8859-2/books/handbook/Makefile
@@ -1,310 +1,313 @@
#
# The FreeBSD Documentation Project
# The FreeBSD Hungarian Documentation Project
# $FreeBSD$
# %SOURCE% en_US.ISO8859-1/books/handbook/Makefile
-# %SRCID% 1.109
+# %SRCID% 1.110
#
# Build the FreeBSD Handbook.
#
# ------------------------------------------------------------------------
#
# Handbook-specific variables
#
# WITH_PGPKEYS The print version of the handbook only prints PGP
# fingerprints by default. If you would like for the
# entire key to be displayed, then set this variable.
# This option has no affect on the HTML formats.
#
# Handbook-specific targets
#
# pgpkeyring This target will read the contents of
# pgpkeys/chapter.sgml and will extract all of
# the pgpkeys to standard out. This output can then
# be redirected into a file and distributed as a
# public keyring of FreeBSD developers that can
# easily be imported into PGP/GPG.
#
# ------------------------------------------------------------------------
.PATH: ${.CURDIR}/../../share/sgml/glossary
#
# Tidy messes up iso-8859-2 characters
#
NO_TIDY= yes
MAINTAINER= pgj@FreeBSD.org
DOC?= book
FORMATS?= html-split
HAS_INDEX= true
USE_PS2PDF= yes
INSTALL_COMPRESSED?= gz
INSTALL_ONLY_COMPRESSED?=
IMAGES = advanced-networking/isdn-bus.eps
IMAGES+= advanced-networking/isdn-twisted-pair.eps
IMAGES+= advanced-networking/natd.eps
IMAGES+= advanced-networking/net-routing.pic
IMAGES+= advanced-networking/static-routes.pic
IMAGES+= geom/striping.pic
IMAGES_EN+= install/adduser1.scr
IMAGES_EN+= install/adduser2.scr
IMAGES_EN+= install/adduser3.scr
IMAGES_EN+= install/boot-loader-menu.scr
IMAGES_EN+= install/boot-mgr.scr
IMAGES_EN+= install/config-country.scr
IMAGES_EN+= install/console-saver1.scr
IMAGES_EN+= install/console-saver2.scr
IMAGES_EN+= install/console-saver3.scr
IMAGES_EN+= install/console-saver4.scr
IMAGES_EN+= install/disklabel-auto.scr
IMAGES_EN+= install/disklabel-ed1.scr
IMAGES_EN+= install/disklabel-ed2.scr
IMAGES_EN+= install/disklabel-fs.scr
IMAGES_EN+= install/disklabel-root1.scr
IMAGES_EN+= install/disklabel-root2.scr
IMAGES_EN+= install/disklabel-root3.scr
IMAGES+= install/disk-layout.eps
IMAGES_EN+= install/dist-set.scr
IMAGES_EN+= install/dist-set2.scr
IMAGES_EN+= install/docmenu1.scr
IMAGES_EN+= install/ed0-conf.scr
IMAGES_EN+= install/ed0-conf2.scr
IMAGES_EN+= install/edit-inetd-conf.scr
IMAGES_EN+= install/fdisk-drive1.scr
IMAGES_EN+= install/fdisk-drive2.scr
IMAGES_EN+= install/fdisk-edit1.scr
IMAGES_EN+= install/fdisk-edit2.scr
IMAGES_EN+= install/ftp-anon1.scr
IMAGES_EN+= install/ftp-anon2.scr
IMAGES_EN+= install/hdwrconf.scr
IMAGES_EN+= install/keymap.scr
IMAGES_EN+= install/main1.scr
IMAGES_EN+= install/mainexit.scr
IMAGES_EN+= install/main-std.scr
IMAGES_EN+= install/main-options.scr
IMAGES_EN+= install/main-doc.scr
IMAGES_EN+= install/main-keymap.scr
IMAGES_EN+= install/media.scr
IMAGES_EN+= install/mouse1.scr
IMAGES_EN+= install/mouse2.scr
IMAGES_EN+= install/mouse3.scr
IMAGES_EN+= install/mouse4.scr
IMAGES_EN+= install/mouse5.scr
IMAGES_EN+= install/mouse6.scr
IMAGES_EN+= install/mta-main.scr
IMAGES_EN+= install/net-config-menu1.scr
IMAGES_EN+= install/net-config-menu2.scr
IMAGES_EN+= install/nfs-server-edit.scr
IMAGES_EN+= install/ntp-config.scr
IMAGES_EN+= install/options.scr
IMAGES_EN+= install/pkg-cat.scr
IMAGES_EN+= install/pkg-confirm.scr
IMAGES_EN+= install/pkg-install.scr
IMAGES_EN+= install/pkg-sel.scr
IMAGES_EN+= install/probstart.scr
IMAGES_EN+= install/routed.scr
IMAGES_EN+= install/security.scr
IMAGES_EN+= install/sysinstall-exit.scr
IMAGES_EN+= install/timezone1.scr
IMAGES_EN+= install/timezone2.scr
IMAGES_EN+= install/timezone3.scr
IMAGES_EN+= install/userconfig.scr
IMAGES_EN+= install/userconfig2.scr
IMAGES+= mail/mutt1.scr
IMAGES+= mail/mutt2.scr
IMAGES+= mail/mutt3.scr
IMAGES_EN+= mail/pine1.scr
IMAGES_EN+= mail/pine2.scr
IMAGES+= mail/pine3.scr
IMAGES+= mail/pine4.scr
IMAGES+= mail/pine5.scr
IMAGES+= install/example-dir1.eps
IMAGES+= install/example-dir2.eps
IMAGES+= install/example-dir3.eps
IMAGES+= install/example-dir4.eps
IMAGES+= install/example-dir5.eps
IMAGES+= security/ipsec-network.pic
IMAGES+= security/ipsec-crypt-pkt.pic
IMAGES+= security/ipsec-encap-pkt.pic
IMAGES+= security/ipsec-out-pkt.pic
IMAGES+= vinum/vinum-concat.pic
IMAGES+= vinum/vinum-mirrored-vol.pic
IMAGES+= vinum/vinum-raid10-vol.pic
IMAGES+= vinum/vinum-raid5-org.pic
IMAGES+= vinum/vinum-simple-vol.pic
IMAGES+= vinum/vinum-striped-vol.pic
IMAGES+= vinum/vinum-striped.pic
IMAGES_EN+= virtualization/parallels-freebsd1.png
IMAGES_EN+= virtualization/parallels-freebsd2.png
IMAGES_EN+= virtualization/parallels-freebsd3.png
IMAGES_EN+= virtualization/parallels-freebsd4.png
IMAGES_EN+= virtualization/parallels-freebsd5.png
IMAGES_EN+= virtualization/parallels-freebsd6.png
IMAGES_EN+= virtualization/parallels-freebsd7.png
IMAGES_EN+= virtualization/parallels-freebsd8.png
IMAGES_EN+= virtualization/parallels-freebsd9.png
IMAGES_EN+= virtualization/parallels-freebsd10.png
IMAGES_EN+= virtualization/parallels-freebsd11.png
IMAGES_EN+= virtualization/parallels-freebsd12.png
IMAGES_EN+= virtualization/parallels-freebsd13.png
IMAGES_EN+= virtualization/virtualpc-freebsd1.png
IMAGES_EN+= virtualization/virtualpc-freebsd2.png
IMAGES_EN+= virtualization/virtualpc-freebsd3.png
IMAGES_EN+= virtualization/virtualpc-freebsd4.png
IMAGES_EN+= virtualization/virtualpc-freebsd5.png
IMAGES_EN+= virtualization/virtualpc-freebsd6.png
IMAGES_EN+= virtualization/virtualpc-freebsd7.png
IMAGES_EN+= virtualization/virtualpc-freebsd8.png
IMAGES_EN+= virtualization/virtualpc-freebsd9.png
IMAGES_EN+= virtualization/virtualpc-freebsd10.png
IMAGES_EN+= virtualization/virtualpc-freebsd11.png
IMAGES_EN+= virtualization/virtualpc-freebsd12.png
IMAGES_EN+= virtualization/virtualpc-freebsd13.png
IMAGES_EN+= virtualization/vmware-freebsd01.png
IMAGES_EN+= virtualization/vmware-freebsd02.png
IMAGES_EN+= virtualization/vmware-freebsd03.png
IMAGES_EN+= virtualization/vmware-freebsd04.png
IMAGES_EN+= virtualization/vmware-freebsd05.png
IMAGES_EN+= virtualization/vmware-freebsd06.png
IMAGES_EN+= virtualization/vmware-freebsd07.png
IMAGES_EN+= virtualization/vmware-freebsd08.png
IMAGES_EN+= virtualization/vmware-freebsd09.png
IMAGES_EN+= virtualization/vmware-freebsd10.png
IMAGES_EN+= virtualization/vmware-freebsd11.png
IMAGES_EN+= virtualization/vmware-freebsd12.png
# Images from the cross-document image library
IMAGES_LIB= callouts/1.png
IMAGES_LIB+= callouts/2.png
IMAGES_LIB+= callouts/3.png
IMAGES_LIB+= callouts/4.png
IMAGES_LIB+= callouts/5.png
IMAGES_LIB+= callouts/6.png
IMAGES_LIB+= callouts/7.png
IMAGES_LIB+= callouts/8.png
IMAGES_LIB+= callouts/9.png
IMAGES_LIB+= callouts/10.png
IMAGES_LIB+= callouts/11.png
IMAGES_LIB+= callouts/12.png
IMAGES_LIB+= callouts/13.png
IMAGES_LIB+= callouts/14.png
IMAGES_LIB+= callouts/15.png
#
# SRCS lists the individual SGML files that make up the document. Changes
# to any of these files will force a rebuild
#
# SGML content
SRCS+= audit/chapter.sgml
SRCS+= book.sgml
SRCS+= colophon.sgml
+SRCS+= dtrace/chapter.sgml
SRCS+= freebsd-glossary.sgml
SRCS+= advanced-networking/chapter.sgml
SRCS+= basics/chapter.sgml
SRCS+= bibliography/chapter.sgml
SRCS+= boot/chapter.sgml
SRCS+= config/chapter.sgml
SRCS+= cutting-edge/chapter.sgml
SRCS+= desktop/chapter.sgml
SRCS+= disks/chapter.sgml
SRCS+= eresources/chapter.sgml
SRCS+= firewalls/chapter.sgml
+SRCS+= filesystems/chapter.sgml
SRCS+= geom/chapter.sgml
SRCS+= install/chapter.sgml
SRCS+= introduction/chapter.sgml
SRCS+= jails/chapter.sgml
SRCS+= kernelconfig/chapter.sgml
SRCS+= l10n/chapter.sgml
SRCS+= linuxemu/chapter.sgml
SRCS+= mac/chapter.sgml
SRCS+= mail/chapter.sgml
SRCS+= mirrors/chapter.sgml
SRCS+= multimedia/chapter.sgml
SRCS+= network-servers/chapter.sgml
SRCS+= pgpkeys/chapter.sgml
SRCS+= ports/chapter.sgml
SRCS+= ppp-and-slip/chapter.sgml
SRCS+= preface/preface.sgml
SRCS+= printing/chapter.sgml
SRCS+= security/chapter.sgml
SRCS+= serialcomms/chapter.sgml
+SRCS+= updating/chapter.sgml
SRCS+= users/chapter.sgml
SRCS+= vinum/chapter.sgml
SRCS+= virtualization/chapter.sgml
SRCS+= x11/chapter.sgml
# Entities
SRCS+= chapters.ent
SYMLINKS= ${DESTDIR} index.html handbook.html
# Turn on all the chapters.
CHAPTERS?= ${SRCS:M*chapter.sgml}
SGMLFLAGS+= ${CHAPTERS:S/\/chapter.sgml//:S/^/-i chap./}
SGMLFLAGS+= -i chap.freebsd-glossary
pgpkeyring: pgpkeys/chapter.sgml
@${JADE} -V nochunks ${OTHERFLAGS} ${JADEOPTS} -d ${DSLPGP} -t sgml ${MASTERDOC}
#
# Handbook-specific variables
#
.if defined(WITH_PGPKEYS)
JADEFLAGS+= -V withpgpkeys
.endif
URL_RELPREFIX?= ../../../..
DOC_PREFIX?= ${.CURDIR}/../../..
#
# rules generating lists of mirror site from XML database.
#
XMLDOCS= mirrors-ftp:::mirrors.sgml.ftp.inc.tmp \
mirrors-cvsup:::mirrors.sgml.cvsup.inc.tmp \
eresources:::eresources.sgml.www.inc.tmp
DEPENDSET.DEFAULT= transtable mirror
XSLT.DEFAULT= ${XSL_MIRRORS}
XML.DEFAULT= ${XML_MIRRORS}
NO_TIDY.DEFAULT= yes
PARAMS.mirrors-ftp+= --param 'type' "'ftp'" \
--param 'proto' "'ftp'" \
--param 'target' "'handbook/mirrors/chapter.sgml'"
PARAMS.mirrors-cvsup+= --param 'type' "'cvsup'" \
--param 'proto' "'cvsup'" \
--param 'target' "'handbook/mirrors/chapter.sgml'"
PARAMS.eresources+= --param 'type' "'www'" \
--param 'proto' "'http'" \
--param 'target' "'handbook/eresources/chapter.sgml'"
SRCS+= mirrors.sgml.ftp.inc \
mirrors.sgml.cvsup.inc \
eresources.sgml.www.inc
CLEANFILES+= mirrors.sgml.ftp.inc mirrors.sgml.ftp.inc.tmp \
mirrors.sgml.cvsup.inc mirrors.sgml.cvsup.inc.tmp \
eresources.sgml.www.inc eresources.sgml.www.inc.tmp
.include "${DOC_PREFIX}/share/mk/doc.project.mk"
.for p in ftp cvsup
mirrors.sgml.${p}.inc: mirrors.sgml.${p}.inc.tmp
${SED} -e 's,<\([^ >]*\)\([^>]*\)/>,<\1\2>\1>,;s,,,'\
< $@.tmp > $@ || (${RM} -f $@ && false)
.endfor
eresources.sgml.www.inc: eresources.sgml.www.inc.tmp
${SED} -e 's,<\([^ >]*\)\([^>]*\)/>,<\1\2>\1>,;s,,,'\
< $@.tmp > $@ || (${RM} -f $@ && false)
diff --git a/hu_HU.ISO8859-2/books/handbook/basics/chapter.sgml b/hu_HU.ISO8859-2/books/handbook/basics/chapter.sgml
index 5cd83de8b6..7ac5935599 100644
--- a/hu_HU.ISO8859-2/books/handbook/basics/chapter.sgml
+++ b/hu_HU.ISO8859-2/books/handbook/basics/chapter.sgml
@@ -1,3563 +1,3758 @@
ChrisShumwayÁtdolgozta: A UNIX alapjaiÁttekintésEz a fejezet a &os; operációs rendszer
alapvetõ funkcióit és parancsait mutatja be.
Az itt tárgyalásra kerülõ anyag nagy
része érvényes bármelyik más
&unix;-szerû operációs rendszer esetén
is. Ezért, ha már ismerjük az
említésre kerülõ ismereteket, minden
további gond nélkül átugorhatjuk ezt a
fejezetet. Azonban ha még teljesen ismeretlen
számunkra a &os;, minden bizonnyal ez lesz az, amit
alaposan át kell majd olvasnunk.A fejezet elolvasása során
megismerjük:az ún. virtuális konzolok
használatát &os; alatt;hogyan mûködnek együtt a &unix;
állományokra vonatkozó engedélyei
a &os; saját
kiegészítéseivel;egy &os; állományrendszer
alapértelmezett
kialakítását;a &os; lemezszervezését;hogyan csatlakoztassunk és válasszunk le
állományrendszereket;mik azok a folyamatok, démonok és
jelzések;mik azok a parancsértelmezõk, és
miként tudjuk megváltoztatni az
alapértelmezett bejelentkezési
környezetünket;hogyan használjuk az alapvetõ
szövegszerkesztõket;mik az eszközök és az
eszközleírók;&os; alatt milyen bináris formátumokat
használhatunk;szükség esetén hogyan olvassuk el a
megfelelõ man oldalakat.Virtuális konzolok és terminálokvirtuális konzolokterminálokA &os; számos módon használható.
Ezek közül az egyik az, ha parancsokat
gépelünk be a szöveges terminálon.
Így érhetõ el egyszerûen a &unix;
operációs rendszer rugalmasságának
és erejének jelentõs része. Ebben a
szakaszban megtudhatjuk, mik azok a
terminálok és konzolok
és miként tudjuk ezeket &os; alatt
használni.A konzolkonzolHa nem állítottuk volna be, hogy a &os;
indulása során automatikusan induljon el a
grafikus felület is, akkor a rendszer egy bejelentkezõ
képernyõt fog mutatni közvetlenül a
rendszerindítás befejezõdése
után. Ekkor valami ilyesmit kell majd
látnunk:Additional ABI support:.
Local package initialization:.
Additional TCP options:.
Fri Sep 20 13:01:06 EEST 2002
FreeBSD/i386 (pc3.example.org) (ttyv0)
login:Egyes rendszereken ugyan némileg eltérhetnek
az üzenetek, de hasonlót kell látnunk.
Minket most az utolsó két sor érdekel. Az
utolsó elõtti sorban ez olvasható:FreeBSD/i386 (pc3.example.org) (ttyv0)Ez a sor arról értesít minket, hogy a
rendszerünk éppen most indult el: egy
&os; konzolt látunk, amely egy &intel; x86
architektúrájú processzoron fut
Erre utal pontosan az i386
jelzés. Még abban az esetben is a
i386 kiírást fogjuk
látni, hogy ha a &os;-t konkrétan nem is az
&intel; 386-os processzorán futtatjuk. Itt ugyanis
nem a processzorunk típusát, hanem annak
architektúráját
láthatjuk.. A gépünk neve (mivel minden &unix;-os
gép rendelkezik egy névvel)
pc3.example.org, és ennek a
rendszerkonzolját látjuk most éppen
— a ttyv0
terminált.Végezetül az utolsó sor mindig:login:Ez az a rész, ahova a &os;-be
történõ bejelentkezéshez meg kell adnunk
a felhasználói nevünket (user
name). A következõ szakaszban errõl
olvashatunk.Bejelentkezés a &os;-beA &os; egy többfelhasználós,
többfeladatos rendszer. Így hívják
hivatalosan azokat a rendszereket, amelyeket többen tudnak
használni és egyetlen
számítógépen egyszerre rengeteg
programot képesek futtatni.Minden többfelhasználós rendszernek
valamilyen módon meg kell tudnia
különböztetnie egy
felhasználóját a
többitõl. A &os;-ben (és minden más
&unix;-szerû operációs rendszerben) ezt
úgy érik el, hogy a programok futtatása
elõtt minden felhasználónak be kell
jelentkeznie a rendszerbe. Minden
felhasználó rendelkezik egy egyedi névvel
(ez a felhasználói név)
és ehhez egy titkos kulcssal (ez a
jelszó). A &os; a programok
futtatásához ezt a kettõt fogja
elkérni a felhasználótól.rendszerindító szkriptekEgybõl miután a &os; elindult és
befejezte a rendszerindításhoz használt
szkriptjeinek lefuttatását
A rendszerindító szkriptek olyan
programok, amelyek a &os; indulása során
maguktól lefutnak. Legfontosabb feladatuk
elvégezni a többi program
futtatásához szükséges
beállításokat, valamint
elindítani a háttérben
futtatandó, hasznos munkát végzõ
szolgáltatásokat., ez a kijelzés (vagy más néven
prompt) fog megjelenni és kér egy
érvényes felhasználói
nevet:login:A példa kedvéért most tegyük fel,
hogy a felhasználói nevünk
pgj. Az iménti prompthoz
írjuk be, hogy pgj és nyomjuk
le az Enter billentyût. Ezt
követõen meg kell jelennie egy másik promptnak
is, amely egy jelszót (password)
kér:login: pgj
Password:Most pedig gépeljük be pgj
jelszavát és nyomjunk után egy
Enter billentyût. Vigyázzunk, hogy
a jelszót nem látjuk a
beírás során! Emiatt most ne
aggódjunk. Ezzel kapcsolatban elegendõ csak annyit
tudni, hogy mindez biztonsági
megfontolásokból történik.Amennyiben jól adtuk meg a jelszavunkat, sikeresen
bejelentkezünk a &os; rendszerébe és
készen állunk az összes elérhetõ
parancs kipróbálására.Bejelentkezés után a MOTD
(message of the day) vagy más néven a nap
üzenete jelenik meg, amelyet a parancssor
követ (egy #, $ vagy
% jel). Innen tudhatjuk meg, hogy
sikerült bejelentkeznünk.Több konzol használataA &unix; parancsokat egy konzolon is szépen ki tudjuk
adni, de a &os; egyszerre ugyebár több programot is
tud futtatni. A parancsok megadásához viszont
egyetlen konzol használata elég nagy
pazarlás lenne, hiszen egy olyan operációs
rendszer mint a &os;, tucatnyi programot képes futtatni
egy idõben. Ebben az esetben jelenthetnek számunkra
segítséget a virtuális
konzolok.A &os; beállítható úgy, hogy
sok-sok különféle virtuális konzolt
ajánljon fel számunkra. A virtuális
konzolok között a billentyûzeten a megfelelõ
gombok lenyomásával tudunk váltani.
Mindegyik konzolnak megvan a saját kimeneti
csatornája, és a virtuális konzolok
közti váltás folyamán a &os;
gondoskodik a billentyûzetrõl érkezõ
bemenet valamint a monitorra irányított kimenet
megfelelõ kezelésérõl.A konzolok közti váltásra a &os;
külön billentyûkombinációkat tart
fenn
A &os; konzol- és
billentyûzetmeghajtóinak teljes, pusztán
mûszaki és precíz leírása a
&man.syscons.4;, &man.atkbd.4;, &man.vidcontrol.1; és
&man.kbdcontrol.1; man oldalakon olvasható. Itt most
nem bocsátkozunk részletekbe, azonban a
téma iránt érdeklõdõ
olvasóknak mindig érdemes fellapozniuk a
kapcsolódó man oldalakat, ahol
megtalálhatják az említett
eszközök részletesebb és bõvebb
leírását.. A &os;-ben a különbözõ
virtuális konzolok közti váltásra az
AltF1,
AltF2
billentyûket, a
AltF8
billentyûkombinációval
bezárólag használhatjuk.A konzolok közti váltogatás során
a &os; ügyel a képernyõ tartalmának
elmentésére és
visszaállítására. Ennek
eredményeképpen úgy
látszik, mintha több
virtuális képernyõn és
billentyûzeten adnánk parancsokat a &os;-nek.Az /etc/ttys
állományA &os; alapértelmezés szerint nyolc
virtuális konzollal indul. Ez azonban nem egy elõre
rögzített érték, hiszen
könnyedén testreszabhatjuk úgy a
telepített rendszerünket, hogy több vagy
esetleg kevesebb virtuális konzollal induljon el. A
virtuális konzolok száma és azok pontos
beállítása az
/etc/ttys állományon
keresztül adható meg.A &os; virtuális konzoljait tehát az
/etc/ttys állomány
megfelelõ módosításával tudjuk
behangolni. Itt minden egyes olyan sor, amely nem
megjegyzés (vagyis azok a sorok, amelyek nem a
# karakterrel kezdõdnek), tartalmazza az
egyes terminálok vagy virtuális konzolok
beállításait. Az állomány a
&os; telepítésében szereplõ,
alapértelmezett változata kilenc virtuális
konzol konfigurációját tartalmazza, amelyek
közül nyolc aktív. Ezek a
ttyv résszel kezdõdõ
sorok:# name getty type status comments
#
ttyv0 "/usr/libexec/getty Pc" cons25 on secure
# Virtual terminals
ttyv1 "/usr/libexec/getty Pc" cons25 on secure
ttyv2 "/usr/libexec/getty Pc" cons25 on secure
ttyv3 "/usr/libexec/getty Pc" cons25 on secure
ttyv4 "/usr/libexec/getty Pc" cons25 on secure
ttyv5 "/usr/libexec/getty Pc" cons25 on secure
ttyv6 "/usr/libexec/getty Pc" cons25 on secure
ttyv7 "/usr/libexec/getty Pc" cons25 on secure
ttyv8 "/usr/X11R6/bin/xdm -nodaemon" xterm off secureAz állományban található
oszlopok kimerítõ magyarázatát illetve
a virtuális konzolok
beállításához
használható kapcsolókat a &man.ttys.5; man
oldalon olvashatjuk.Az egyfelhasználós mód
konzoljaAz egyfelhasználós mód
részletes leírása a ban található. Fontos
tudni, hogy amikor a &os;-t egyfelhasználós
módban futtatjuk, csupán egyetlen konzolunk van,
és a virtuális konzolok nem érhetõek
el. Egyébként az egyfelhasználós
mód erre vonatkozó
beállításai is megtalálhatóak
az /etc/ttys állományban.
Ehhez keressük meg a console
kezdetû sort:# name getty type status comments
#
# Ha a konzolt "insecure" (nem biztonságos) típusúnak választjuk meg,
# akkor a használatához az egyfelhasználós mód aktivilásá elõtt a rendszer
# kérni fogja a rendszeradminisztrátori jelszót.
onsole none unknown off secureA console felett látható
megjegyzés jelzi, hogy át tudjuk írni
ebben a sorban a secure
(biztonságos) értékû
paramétert insecure (nem
biztonságos) értékûre. Ilyenkor,
hogy ha a &os; egyfelhasználós módban
indul, kérni fogja a root
felhasználó (a rendszeradminisztrátor)
jelszavát.Vigyázzunk, amikor ezt az
értéket insecure-ra
állítjuk! Ha ugyanis
véletlenül elfeledkeznénk a
root jelszaváról, akkor
azzal az egyfelhasználós mód
használata is veszélybe kerülhet.
Habár ettõl függetlenül is
lehetséges, azokra számára mégis
nehéz helyzetnek bizonyulhat, akik nem mozognak
elég otthonosan a &os; rendszerindítási
folyamatának és a
hozzákapcsolódó programok
ismeretében.A videomód váltása konzolbanA &os; konzol alapértelmezett videomódja
átállítható 1024x768-ra,
1280x1024-re, vagy bármilyen olyan más
méretre, amit a videokártyánk
és monitorunk képes megjeleníteni. Az
eltérõ videomódok használatához
elõször újra kell fordítanunk a
rendszermagunkat az alábbi két
beállítás
hozzáadásával:options VESA
options SC_PIXEL_MODEMiután a rendszermagot sikeresen
újrafordítottuk a fenti
beállításokkal, a &man.vidcontrol.1;
segédprogrammal tudjuk megállapítani, hogy
a hardverünk milyen videomódokat enged
használni. Az összes támogatott
videomódot a következõképpen tudjuk
lekérdezni:&prompt.root; vidcontrol -i modeA parancs eredményeképpen tehát
megkapjuk a hardverünk által ismert
videomódokat. Ezek közül tudjuk
kiválasztani valamelyikõjüket és
root felhasználóként a
&man.vidcontrol.1; segítségével
beállítani:&prompt.root; vidcontrol MODE_279Ha az új videomód megfelel számunkra,
akkor ezt a beállítást az
/etc/rc.conf állományon
keresztül véglegesíthetjük is:allscreens_flags="MODE_279"EngedélyekUNIXA &os;, mivel a BSD &unix; egyik közvetlen
leszármazottja, számos &unix;-os alapötletre
épül. Ezek közül az elsõ és
talán a leginkább kihangsúlyozott, hogy a
&os; egy többfelhasználós
operációs rendszer. Egy olyan rendszer, amely
egyszerre több, egymástól független
feladattal foglalkozó felhasználót
képes kiszolgálni. A rendszer felelõs a
hardveres eszközök, a különféle
perifériák, a memória és a processzor
idejének minden egyes felhasználó
számára szabályos és pártatlan
megosztásáért és a feléjük
irányuló kérések
szervezéséért.Mivel a rendszer több felhasználót is
képes támogatni, az általa kezelt
erõforrások rendelkeznek engedélyek egy adott
halmazával, amelyek eldöntik ki tudja ezeket olvasni,
írni és végrehajtani. Az engedélyek
háromszor három bit formájában
jelennek meg, amelyek közül az elsõ bitcsoport az
állomány tulajdonosára, a második az
állomány csoportjára, végül az
utolsó pedig a mindenki másra vonatkozó
engedélyeket tárolja.engedélyekállományok
engedélyeiÉrtékEngedélyKönyvtárlistában0Nem olvasható, nem írható, nem
hajtható végre---1Nem olvasható, nem írható,
végrehajtható--x2Nem olvasható, írható, nem
hajtható végre-w-3Nem olvasható, írható,
végrehajtható-wx4Olvasható, nem írható, nem
hajtható végrer--5Olvasható, nem írható,
végrehajthatór-x6Olvasható, írható, nem
hajtható végrerw-7Olvasható, írható,
végrehajthatórwxlskönyvtárakA &man.ls.1; kapcsolójának
segítségével megnézhetjük a
könyvtárak tartalmának részletes
listáját, amiben megjelennek az
állományok tulajdonosaira, csoportjára
és a mindenki másra vonatkozó
engedélyek is. Például ezt láthatjuk,
ha kiadjuk az ls -l parancsot egy
tetszõleges könyvtárban:&prompt.user; ls -l
total 530
-rw-r--r-- 1 root wheel 512 Sep 5 12:31 egyik
-rw-r--r-- 1 root wheel 512 Sep 5 12:31 masik
-rw-r--r-- 1 root wheel 7680 Sep 5 12:31 e-mail.txt
...A példabeli ls -l parancs
kimenetének elsõ oszlopa így bomlik fel:-rw-r--r--Az elsõ (legbaloldalibb) karakter mondja meg, hogy ez egy
hagyományos állomány, könyvtár,
speciális karakteres eszköz, socket vagy
bármilyen más különleges
pszeudoállomány. Ebben az esetben a
- jelzi, hogy egy hagyományos
állományról van szó. A
következõ három karakter, ami ebben a
példában az rw-, adja meg az
állomány tulajdonosának engedélyeit.
Az ezután következõ három karakter, a
r-- mutatja az állomány
csoportjának engedélyeit. Az utolsó
három karakter, vagyis itt a r-- adja
meg a többiek engedélyeit. A kötõjel arra
utal, hogy az adott engedélyû
tevékenység nem engedélyezett. Tehát
ennél az állománynál az
engedélyek a következõek: a tulajdonosa tudja
olvasni és írni, a csoportja csak olvasni tudja,
ugyanígy bárki más. A fenti
táblázatnak megfelelõen az
állomány engedélyének kódja
644 lesz, ahol az egyes számjegyek
jelentik az állomány engedélyeinek
három elemét.Ez mind szép és jó, de vajon a rendszer
milyen módon kezeli az állományok
engedélyeit? A &os; a legtöbb hardveres eszközt
állománynak tekinti, amelyeket a programok meg
tudnak nyitni, tudnak róluk olvasni és adatokat
tudnak kiírni rájuk pontosan úgy, mint
bármilyen más állomány esetén.
Ezeket a speciális állományokat a
/dev könyvtárban
találjuk.A könyvtárakat is
állományokként kezeli, ezért azok is
rendelkeznek olvasási, írási és
végrehajtási engedélyekkel. Azonban a
könyvtárak végrehajtását
engedélyezõ bit némileg más
jelentéssel bír, mint az állományok
esetén. Amikor ugyanis egy könyvtárat
végrehajthatónak jelölünk meg, az arra fog
utalni, hogy bele tudunk lépni, vagyis hogy ki tudjuk
rá adni a
könyvtárváltás (cd,
change directory) parancsát. Ez továbbá arra
is utal, hogy az ismert nevû állományokhoz
hozzá tudunk férni (természetesen az egyes
állományok engedélyeinek
megfelelõen).A könyvtárak tartalmát ennek
megfelelõen viszont csak úgy láthatjuk, ha
olvasási engedéllyel rendelkezünk a
könyvtárra, míg egy általunk ismert
állomány törléséhez a
tartalmazó könyvtárhoz kell írási
és végrehajtási
engedélyekkel rendelkeznünk.Ezeken kívül még léteznek
további engedélyek is, de ezeket csak olyan
különleges esetekben használják, mint
például a
felhasználóváltó programok (setuid
program) vagy a ragadós könyvtárak (sticky
directory) létrehozása. Az állományok
engedélyeinek behatóbb megismeréséhez
és beállításához
mindenképpen nézzük át a &man.chmod.1;
man oldalt.TomRhodesÍrta: Szimbolikus engedélyekengedélyekszimbolikusA szimbolikus engedélyek (gyakran csak szimbolikus
kifejezések) az állományok és
könyvtárak engedélyeinek megadása
során a számok helyett karaktereket
használnak. A szimbolikus kifejezések (ki)
(hogyan) (milyen engedélyt) alakúak, ahol az
alábbi értékek adhatóak meg:ElemBetûJelentése(ki)utulajdonos(ki)gcsoport tulajdonos(ki)oegyéb(ki)amindenki (a világ)(hogyan)+engedély megadása(hogyan)-engedély visszavonása(hogyan)=engedély explicit
beállítása(milyen engedély)rolvasás(milyen engedély)wírás(milyen engedély)xvégrehajtás(milyen engedély)tragadós (sticky bit)(milyen engedély)sUID vagy GID állításaEzek az értékek a &man.chmod.1; paranccsal az
eddigiekhez hasonló módon
használhatóak, csak itt betûket kell
megadnunk. Például az alábbi paranccsal
akadályozhatjuk meg, hogy a tulajdonosán
kívül bárki hozzáférhessen az
ÁLLOMÁNY nevû
állományhoz:&prompt.user; chmod go= ÁLLOMÁNYAmennyiben egy állománnyal kapcsolatban
több változtatást is el
kívánunk végezni, össze tudjuk ezeket
fûzni egy vesszõkkel elhatárolt
felsorolásban:&prompt.user; chmod go-w,a+x ÁLLOMÁNYTomRhodesÍrta: A &os; állományjelzõiA korábban tárgyalt engedélyek mellett
még a &os; ismeri az ún.
állományjelzõk (file flags)
beállítását is. Ezek a
jelzõbitek egy további biztonsági és
irányítási szintet nyújtanak az
állományok felett, viszont a
könyvtárakra nem vonatkoznak.Ezek az állományjelzõk az
állományok felett további
vezérlést adnak a kezünkbe, aminek
révén gondoskodhatunk róla, hogy
akár mgé a root
felhasználó (a rendszer adminisztrátora) se
legyen képes állományokat
eltávolítani vagy módosítani.Az állományjelzõk értékei
egy egyszerû felületen keresztül, a
&man.chflags.1; segédprogrammal
változtathatóak meg. Például a
következõ paranccsal állíthatjuk a
rendszer törölhetetlen (undeletable)
jelzését az allomany1
állományon:&prompt.root; chflags sunlink allomany1A törölhetetlen jelzés
eltávolításához egyszerûen csak
írjuk be az elõzõ parancsot úgy, hogy a
sunlink paraméter elejére
még beszúrunk egy no
szövegrészt. Így:&prompt.root; chflags nosunlink allomany1Az állományokra éppen
érvényes jelzéseket az &man.ls.1; parancs
kapcsolójának
segítségével jeleníthetjük
meg:&prompt.root; ls -lo file1Ennek megfelelõen az eredménynek valahogy
így kellene kinéznie:-rw-r--r-- 1 trhodes trhodes sunlnk 0 Mar 1 05:54 allomany1Sok jelzés csak a root
felhasználón keresztül vehetõ fel vagy
távolítható el. Más esetekben
viszont az állomány tulajdonosa
állíthatja ezeket. A rendszergazdáknak
javasoljuk, hogy ezzel kapcsolatban a &man.chflags.1; és
&man.chflags.2; man oldalakat tanulmányozzák
át.
+
+
+
+
+
+
+ Tom
+ Rhodes
+ Készítette:
+
+
+
+
+ A setuid, setgid és sticky engedélyek
+
+ A korábban említett engedélyeken
+ kívül létezik még további
+ három, amelyekkel minden rendszergazdának illik
+ tisztában lennie. Ezek név szerint a
+ setuid, setgid és
+ sticky típusú
+ engedélyek.
+
+ Ezek a beállítások bizonyos &unix;
+ mûveletek esetén nagyon fontosak, mivel az
+ átlagos felhasználók számára
+ általában el nem érhetõ
+ funkciók használatát
+ támogatják. A
+ megértésükhöz elsõként a
+ felhasználók valódi és
+ effektív azonosítója közti
+ különbségeket kell tisztáznunk.
+
+ A valódi azonosító
+ tulajdonképpen az a felhasználói
+ azonosító, amellyel a programot indítjuk el
+ vagy futás elõtt birtokoljuk. A program
+ futása közben azonban az effektív
+ felhasználói azonosítóval fut.
+ Például a &man.passwd.1; segédprogram a
+ jelszavát megváltoztatni
+ kívánó felhasználó
+ valódi azonosítójával indul,
+ miközben a jelszavakat tároló
+ adatbázis elérésékor már a
+ root felhasználó
+ effektív azonosítójával fut.
+ Ezáltal a privilegiumokkal nem rendelkezõ
+ felhasználók is meg tudják
+ anélkül változtatni a jelszavaikat, hogy a
+ Permission Denied hibaüzenettel
+ találkoznának.
+
+
+ A &man.mount.8; nosuid
+ beállításával azonban az ilyen
+ típusú binárisok minden
+ különösebb jel nélkül
+ csõdöt fognak mondani. Mellesleg a &man.mount.8;
+ man oldala szerint ez az opció nem is teljesen
+ megbízható, mivel nosuid
+ wrapperek segítségével meg lehet
+ kerülni.
+
+
+ Ahogy azt az alábbi példa is
+ szemlélteti, a setuid engedélyt a többi
+ elé egy négyes (4)
+ beszúrásával tudjuk
+ beállítani:
+
+ &prompt.root; chmod 4755 suidexample.sh
+
+ A
+ suidexample.sh
+ állomány engedélyei ezt követõen
+ már így fognak megjelenni:
+
+ -rwsr-xr-x 1 trhodes trhodes 63 Aug 29 06:36 suidexample.sh
+
+ Most már jól látható, hogy az
+ állomány tulajdonosához tartozó
+ engedélyek között a
+ végrehajthatóságot szabályozó
+ bit lecserélõdött egy s
+ bitre. Ennek köszönhetõen a
+ passwd parancshoz hasonló módon
+ kibõvített engedélyekkel leszünk
+ képesek futtatni programokat.
+
+ Két terminál megnyitásával
+ mindezt valós idõben is megvizsgálhatjuk. Az
+ egyiken indítsuk el normál
+ felhasználóként a passwd
+ programot. Miközben a program várakozik az
+ új jelszó megadására, a másik
+ terminálon kérdezzük le a programhoz
+ tartozó felhasználói
+ információkat.
+
+ Tehát az egyik terminálon a
+ következõt látjuk:
+
+ &prompt.user; passwd
+Changing local password for trhodes
+Old Password:
+
+ Eközben pedig a másikon:
+
+ &prompt.root; ps aux | grep passwd
+trhodes 5232 0.0 0.2 3420 1608 0 R+ 2:10AM 0:00.00 grep passwd
+root 5211 0.0 0.2 3620 1724 2 I+ 2:09AM 0:00.01 passwd
+
+ A passwd parancsot egyszerû
+ felhasználóként adtunk ki, azonban
+ jól látható valójában a
+ root felhasználó
+ azonosítójával fut.
+
+ A setgid a setuid
+ engedélyhez hasonlóan mûködik,
+ egyedül annyiban tér el, hogy a csoportra
+ vonatkozó beállításokat
+ módosítja. Amikor egy alkalmazást vagy
+ segédprogramot ilyen engedéllyel futtatunk, akkor
+ az adott programot birtokló csoport engedélyeit
+ kapjuk meg.
+
+ Úgy tudjuk állományokon
+ beállítani a setgid
+ típusú engedélyt, ha az iménti
+ példához hasonlóan a
+ chmod parancs hívásakor
+ még egy kettest (2) írunk az engedélyek
+ elé:
+
+ &prompt.root; chmod 2755 suidexample.sh
+ Az így beállított engedélyek az
+ elõbbihöz hasonló módon
+ szemlélhetõek meg, azonban ebben az esetben a
+ csoporthoz tartozó engedélyeknél jelenik
+ meg az s bit:
+
+ -rwxr-sr-x 1 trhodes trhodes 44 Aug 31 01:49 suidexample.sh
+
+
+ Az elõbb tárgyalt példákkal
+ kapcsolatban fontos megemlítenünk, hogy habár
+ a szkriptek is végrehajtható
+ állományok, nem fognak a valóditól
+ eltérõ effektív felhasználói
+ azonosítóval futni. Ennek oka abban
+ keresendõ, hogy a parancssori szkriptek nem
+ hívhatják a &man.setuid.2;
+ rendszerhívást.
+
+ Ez a két speciális engedély (a
+ setuid és a setgid) a
+ programhoz tartozó engedélyek
+ kiterjesztésével csökkentheti
+ rendszerünk biztonságát. Ezzel szemben
+ viszont a harmadik bemutatandó speciális
+ engedély rendszerünk védelmének
+ erõsítésére szolgál: ez az
+ ún. sticky bit.
+
+ Ha a sticky típusú
+ engedélyt könyvtárra adjuk meg, akkor a benne
+ levõ állományok törlését
+ kizárólag azok tulajdonosainak engedi. Ezzel az
+ engedéllyel lényegében a /tmp könyvtárhoz
+ hasonló nyilvános, bárki által
+ elérhetõ könyvtárakban
+ akadályozhatjuk meg az állományok idegen
+ felhasználók általi
+ törlését. Az engedély
+ beállításához egy egyest (1) kell a
+ többi elé fûznünk, mint
+ például:
+
+ &prompt.root; chmod 1777 /tmp
+
+ Most már az ls parancs
+ segítségével láthatjuk ennek a
+ hatását:
+
+ &prompt.root; ls -al / | grep tmp
+drwxrwxrwt 10 root wheel 512 Aug 31 01:49 tmp
+
+ A sticky bit a
+ beállítások végén
+ felbukkanó t révén
+ azonosítható be.A könyvtárak elrendezésekönyvtárhierarchiaA &os; könyvtárszerkezetének ismerete
alapvetõ jelentõségû a rendszer
egészének megértésének
szempontjából. Ezen belül is a legfontosabb a
gyökérkönyvtár, a /. Ez az
elsõ könyvtár, amelyet a rendszer a
rendszerindítás során csatlakoztat és
a többfelhasználós mód
elõkészítéséhez
elegendhetlenül szükséges alaprendszert
tartalmazza. A gyökérkönyvtár emellett
csatlakozási pontokat szolgáltat a
többfelhasználós mûködésre
váltás során csatlakoztatandó
további állományrendszerek
számára.A csatlakozási pont egy olyan könyvtár,
ahová a szülõ állományrendszeren
(ami gyakran maga a gyökér
állományrendszer) belül további
állományrendszereket tudunk beoltani. Errõl
bõvebben a ban olvashatunk.
A szabványos csatlakozási pontok:
/usr, /var,
/tmp, /mnt és
/cdrom. Ezekre a könyvtárakra
általában az /etc/fstab
állományban találunk hivatkozásokat.
Az /etc/fstab állomány a
rendszer számára a különbözõ
állományrendszerek és a hozzájuk
tartozó csatlakozási pontok
táblázatát tartalmazza. Az
/etc/fstab állományban
szereplõ legtöbb állományrendszer a
rendszerindítás során automatikusan
csatlakoztatásra kerül az &man.rc.8; szkriptbõl,
hacsak nem tartalmazzák a
beállítást. Ennek részleteit a ban találhatjuk meg.Az állományrendszerek
hierarchiájának teljes leírását
a &man.hier.7; man oldalon olvashatjuk. Mi egyelõre most
megelégszünk a leggyakrabban megjelenõ
könyvtárak rövid
áttekintésével.KönyvtárMi található itt/Az állományrendszer
gyökere./bin/Az egy- és
többfelhasználós környezetekben
is egyaránt alapvetõ
felhasználói
segédprogramok./boot/Az operációs rendszer
indítása során használt
programok és konfigurációs
állományok./boot/defaults/A rendszerindítás
alapértelmezett konfigurációs
állományai. Lásd
&man.loader.conf.5;/dev/Eszközleírók, lásd
&man.intro.4;./etc/Rendszerkonfigurációs
állományok és szkriptek./etc/defaults/Az alapértelmezett
rendszerkonfigurációs
állományok, lásd
&man.rc.8;./etc/mail/A &man.sendmail.8; programhoz hasonló
levélküldõ rendszerek
konfigurációs
állományai./etc/namedb/A named program
konfigurációs állományai,
lásd &man.named.8;./etc/periodic/A &man.cron.8; által naponta, hetente
és havonta lefuttatandó szkriptek,
lásd &man.periodic.8;./etc/ppp/A ppp program
konfigurációs állományai,
lásd &man.ppp.8;./mnt/Egy üres könyvtár, amelyet a
rendszergazdák általában ideiglenes
csatlakozási pontként
használnak./proc/A futó programokat tartalmazó
állományrendszer, lásd
&man.procfs.5;, illetve &man.mount.procfs.8;./rescue/Statikusan linkelt programok vészhelyzet
esetére, lásd &man.rescue.8;./root/A root
felhasználó könyvtára./sbin/Az egy- és
többfelhasználós környezetekben
fontos rendszerprogramok és
rendszerfelügyeleti eszközök./tmp/Átmeneti állományok. A
/tmp
könyvtár tartalma általában
NEM marad meg az újraindítás
után. Erre a célra gyakran
memóriában létrehozott
állományrendszert szoktak csatlakoztatni a
/tmp
könyvtárba. Ez utóbbit az
&man.rc.conf.5; tmpmfs-re vonatkozó
változóinak
beállításával lehet
automatikussá tenni (vagy a
/etc/fstab megfelelõ
módosításával, lásd
&man.mdmfs.8;)./usr/A felhasználói programok és
alkalmazások többsége./usr/bin/Általános segédprogramok,
programozási eszközök és
alkalmazások./usr/include/Szabványos C
include-állományok./usr/lib/Függvénykönyvtárak./usr/libdata/Egyéb hasznos
adatállományok./usr/libexec/(Más programok által használt)
Rendszerdémonok és
rendszereszközök./usr/local/A helyi rendszeren telepített programok,
függvénykönyvtárak stb. A &os;
portrendszere is ezt használja
alapértelmezés szerint. A
/usr/local könyvtáron
belül a &man.hier.7; man oldalon
található /usr
könyvtár általános
felépítése használatos. Ez
alól kivételt képez a man
alkönyvtár, amely közvetlenül a
/usr/local alatt
található, nem pedig a
/usr/local/share
könyvtáron belül, valamint a portok
dokumentációja a
share/doc/port
könyvtárban található./usr/obj/A /usr/src
könyvtárfában található
források fordítása során
keletkezõ architektúrafüggõ
objektumok./usr/portsA &os; Portgyûjtemény
(választható)./usr/sbin/(A felhasználók által
használt) Rendszerdémonok és
rendszereszközök./usr/share/Architektúrafüggõ
állományok./usr/src/BSD és/vagy helyi források./usr/X11R6/Az X11R6 rendszer programjai,
függvénykönyvtárai stb.
(választható)/var/Különféle napló,
átmeneti, ideiglenes és pufferben
tárolt állományok. A
memóriában létrehozott
állományrendszereket is olykor a /var
könyvtárban találjuk. Ezt az
&man.rc.conf.5; állományban
található varmfs-változók
beállításával tehetjük
automatikussá (vagy a
/etc/fstab megfelelõ
módosításával, lásd
&man.mdmfs.8;)./var/log/Mindenféle rendszernaplók./var/mail/A felhasználók postafiókjait
tároló állományok./var/spool/A nyomtatók és a levelezés
puffereléséhez használt
könyvtárak./var/tmp/Átmeneti állományok. Az itt
található állományok
általában megmaradnak a
következõ rendszerindítás
alkalmával is, hacsak a /var nem egy
memóriában létezõ
állományrendszer./var/ypA NIS állományai.A lemezek szervezéseAz állománynév a legkisebb
szervezési egység, amin keresztül a &os;
képes megtalálni az állományokat. Az
állományok neveiben a kis- és nagybetût
megkülönböztetjük, tehát a
readme.txt és a
README.TXT elnevezés két
különbözõ állományra utal. A
&os; nem az állományok kiterjesztése (ami a
konkrét példánkban a
.txt volt) alapján dönti el, hogy
az adott állomány vajon program, dokumentum vagy
valamilyen más fajtájú adat.Az állományok könyvtárakban
tárolódnak. Egy könyvtár lehet
akár üres (nincs benne egyetlen állomány
sem), vagy többszáz állományt is
tartalmazhat. Egy könyvtár ráadásul
további könyvtárakat is tárolhat,
és így az egymásban elhelyezkedõ
könyvtárak segítségével
könyvtárak egy hierarchiáját tudjuk
felépíteni. Ezzel sokkalta könnyebben
szervezhetõvé válnak az adataink.Az állományokat és
könyvtárakat úgy tudunk elérni, ha
megadjuk az állomány vagy a könyvtárt
tároló könyvtár nevét, amit egy
perjel, a / követ, valamint így
összefûzve az eléréshez
szükséges további könyvtárak
felsorolása. Tehát, ha van egy
ize nevû könyvtárunk,
amelyben található egy mize
könyvtár, amelyen belül pedig egy
readme.txt, akkor ennek az
állománynak a teljes neve, vagy
másképpen szólva az
elérési útjaize/mize/readme.txt lesz.A könyvtárak és az állományok
egy állományrendszerben tárolódnak.
Minden állományrendszer pontosan egy
könyvtárat tartalmaz a legfelsõ szintjén,
amelyet az adott állományrendszer
gyökérkönyvtárának
nevezünk. Ez a gyökérkönyvtár
tartalmazhat aztán további
könyvtárakat.Eddig még valószínûleg minden nagyon
hasonló a más operációs rendszerekben
tapasztalható fogalmakhoz. Azonban adónak
különbségek: például az &ms-dos; a
\ jellel választja el az
állományok és könyvtárak neveit,
miközben a &macos; erre a : jelet
használja.A &os; az elérési utakban sem betûkkel, sem
pedig semmilyen más névvel nem jelöli meg a
meghajtókat. Tehát a &os;-ben nem írhatjuk,
hogy a c:/ize/mize/readme.txt.Helyette az egyik állományrendszert
kijelölik gyökér
állományrendszernek. A
gyökér állományrendszer
gyökérkönyvtárára hivatkoznak
késõbb /
könyvtárként. Ezután minden más
állományrendszert a gyökér
állományrendszerhez
csatlakoztatunk. Ennek
értelmében nem számít, hogy a mennyi
lemezünk is van a &os; rendszerünkben, hiszen minden
könyvtár egyazon lemez részeként jelenik
meg.Tegyük fel, hogy van három
állományrendszerünk, hívjuk ezeket
A-nak, B-nek és
C-nek. Minden állományrendszer
rendelkezik egy gyökérkönyvtárral, amely
két további könyvtárat tartalmaz:
A1-et és A2-t
(és ennek megfelelõen a többi
B1-et és B2-t,
valamint C1 és
C2-t).Nevezzük A-t a gyökér
állományrendszernek. Ha a könyvtár
tartalmának megjelenítéséhez most
kiadnánk az ls parancsot, két
alkönyvtárat látnánk, az
A1-et és A2-t. A
létrejött könyvtárfa valahogy így
nézne ki: /
|
+--- A1
|
`--- A2Egy állományrendszert csak egy másik
állományrendszer valamelyik
könyvtárába tudunk csatlakoztatni.
Ezért most tételezzük fel, hogy a
B állományrendszert az
A1 könyvtárba csatlakoztatjuk.
Ezután a B
gyökérkönyvtára átveszi a
A1 helyét az
állományrendszerben, és ennek
megfelelõen megjelennek a B
könyvtárai is: /
|
+--- A1
| |
| +--- B1
| |
| `--- B2
|
`--- A2A B1 vagy B2
könyvtárakban található
állományok bármelyike innentõl kezdve a
/A1/B1, illetve a /A1/B2
elérési utakon érhetõek el. Az
A1 könyvtárban
található állományok erre az
idõre rejtve maradnak. Akkor fognak újra felbukkanni,
ha a B állományrendszert
leválasztjuk az A
állományrendszerrõl.Ha a B állományrendszert az
A2 könyvtárba
csatlakoztatnánk, az iménti ábra
nagyjából így nézne ki: /
|
+--- A1
|
`--- A2
|
+--- B1
|
`--- B2és ennek megfelelõen az elõbb tárgyalt
elérési utak /A2/B1 és
/A2/B2 lennének.Az állományrendszerek egymáshoz is
csatlakoztathatóak. A példát ennek
megfelelõen úgy is folytathatjuk, hogy a
C állományrendszert
csatlakoztatjuk B
állományrendszerben található
B1 könyvtárhoz. Ennek
eredménye a következõ elrendezés
lesz: /
|
+--- A1
|
`--- A2
|
+--- B1
| |
| +--- C1
| |
| `--- C2
|
`--- B2Vagy a C állományrendszer az
A1 könyvtáron keresztül
csatlakoztatható akár közvetlenül az
A állományrendszerhez is: /
|
+--- A1
| |
| +--- C1
| |
| `--- C2
|
`--- A2
|
+--- B1
|
`--- B2Az &ms-dos; operációs rendszert ismerõk
számára ez hasonló lehet a
join parancshoz (habár teljesen nem
egyezik meg vele).Általában azonban ezzel nem kell
törõdnünk, hiszen többnyire csak a &os;
telepítése során hozunk létre
állományrendszereket és választjuk meg
a csatlakozási pontjukat. A késõbbiekben
legfeljebb ez akkor kerül elõ ismét, amikor
újabb lemezeket adunk hozzá a rendszerhez.Teljességgel megengedhetõ, hogy elhagyjuk a
többit és csak egyetlen óriási
gyökérállományrendszert
használjunk. Ennek viszont megvannak a maga
hátrányai és az egyetlen elõnye.Több állományrendszer
használatának elõnyeiA különbözõ
állományrendszereknek
különbözõ
csatlakoztatási
beállításai (mount options)
lehetnek. Például, ha kellõen
elõvigyázatosak akarunk lenni, a
gyökérállományrendszer
írásvédett módon is
csatlakoztatható, aminek köszönhetõen
lehetetlenné válik a rendszer
számára fontos állományok
véletlen törlése vagy
felülírása. Ha
elkülönítjük a
felhasználók számára
írható állományrendszereket
(például a /home
könyvtárakat) a többi
állományrendszertõl, lehetõvé
válik számunkra, hogy
nosuid
beállítással csatlakoztassuk ezeket. Ez
a beállítás megakadályozza, hogy
ezekben a
suid/guid
bitekkel rendelkezõ végrehajtható
állományok használhatóak legyenek,
ezáltal növeli a rendszer
biztonságosságát.A &os; az állományrendszer
használatától függõen
magától határoz a benne
található állományok
optimális kiosztását illetõen.
Így tehát a gyakorta módosított,
kisebb állományokat tartalmazó
állományrendszerek esetén teljes
más technikákat alkalmaz, mint
például a nagyobb, kevésbé
változó állományok esetén.
Azonban egyetlen állományrendszer
használatával ez a gyorsítási
módszer odavész.Noha a &os; állományrendszerei nagyon
jól tûrik a hirtelen
áramkimaradásokat, egy döntõ ponton
bekövetkezõ váratlan leállás
továbbra is kárt okozhat a szerkezetükben.
Ha azonban több állományrendszerre osztjuk
a tárolandó adatainkat, sokkal
valószínûbbé válik, hogy egy
ilyen eset után a rendszerünk talpra tud
állni, és szükség esetén
nekünk is könnyebb lesz a biztonsági
mentéseinkbõl helyreállítani a
sérült állományokat.Egyetlen állományrendszer
használatának elõnyeiAz állományrendszerek mérete
rögzített. Miután a &os;
telepítése során létrehoztunk
egy adott méretû
állományrendszert, elõfordulhat, hogy
késõbb szükségünk lesz a
méretének növelésére.
Ilyenkor nehezen kerülhetjük el az ilyenkor
szokásos teendõket: biztonsági
mentés készítése, az új
méretnek megfelelõ
állományrendszer létrehozása,
majd ezután a lementett adataink
visszaállítása.A &os;-ben azonban megtalálható a
&man.growfs.8; parancs, amelynek
segítségével az
állományrendszerek mérete
használat közben növelhetõ,
és ezzel megszûnik a méretre
vonatkozó korlátozás.Az állományrendszerek partíciókban
tárolódnak. A &os; &unix;-os eredete miatt azonban
ez a kifejezés nem a hétköznapi
partíció jelentését
takarja (mint például egy &ms-dos;
partíció). Minden partíciót egy
betû azonosít a-tól
h-ig. Mindegyik partíció csak
egyetlen állományrendszert tartalmazhat, aminek
révén az állományrendszereket vagy az
állományrendszerek hierarchiájában
található csatlakozási pontjukkal vagy pedig
az ezeket tartalmazó partíció
betûjével azonosíthatjuk.A &os; ezeken felül külön lemezterülen
tárolja a
lapozóállományt (swap
space). A lapozóállományt használja a
&os; virtuális memória
(virtual memory) megvalósításához.
Ennek köszönhetõen a
számítógép képes úgy
viselkedni, mintha jóval több memóriával
rendelkezne, mint valójában. Így, amikor a
&os; kifogy a memóriából, egyszerûen
kirakja a memóriából a
lapozóállományba az éppen nem
használt adatokat, majd amikor ismét
szüksége lesz rájuk, visszatölti ezeket
(és ilyenkor megint kirak valami mást).Némely partícióhoz kötõdnek
bizonyos megszokások.PartícióMegszokásaÁltalában ez tartalmazza a
gyökér
állományrendszert.bÁltalában ez tartalmazza a
lapozóállományt.cMérete általában a
tartalmazó slice méretével egyezik
meg. Ennek köszönhetõen a
segédprogramok (például egy
hibás szektorokat keresõ program) a
c partíción
keresztül képesek akár az egész
slice-al dolgozni. Normális esetben ezen a
partíción nem hozunk létre
állományrendszert.dA d partícióhoz
egykoron kapcsolódott különleges
jelentés, azonban mostanra ez már
megszûnt, és a d egy
teljesen átlagos partíciónak
tekinthetõ.Minden állományrendszert tartalmazó
partíciót a &os; egy ún.
slice-ban tárol. A &os;
számára a slice elnevezés utal mindarra, amit
általában partíciónak neveznek,
és ismét megemlítjük, mindez a &unix;-os
eredet miatt. A slice-okat 1-tõl 4-ig
sorszámozzák.slice-okpartíciókveszélyesen dedikáltA slice-ok sorszáma 1-tõl indulva az
eszközök neve után egy s
betûvel elválasztva következik. Így
tehát a da0s1
jelentése az elsõ slice lesz az elsõ
SCSI-meghajtón. Lemezenként négy fizikai
slice hozható létre, de ezeken belül
tetszõleges típusú logikai slice-ok
helyezhetõek el. Ezen további slice-ok
sorszámozása 5-tõl kezdõdik, így
ennek megfelelõen a ad0s5
lesz az elsõ IDE-lemezen található elsõ
kiterjesztett slice. Ezeket az eszközöket
foglalják el a különbözõ
állományrendszerek.A slice-ok, a veszélyesen
dedikált (Dangerously Dedicated) fizikai
meghajtók, és minden más olyan
meghajtó, amely
partíciókat tartalmaz,
a-tól h-ig
jelölõdnek. Ez a betû az eszköz neve
után következik, így ennek megfelelõen a
da0a lesz az elsõ
da meghajtó a, vagyis a
veszélyesen dedikált
partíciója. Az
ad1s3e lesz a második
IDE-lemezmeghajtón a harmadik slice-ban szereplõ
ötödik partíció.Végezetül, a rendszerben minden lemezt
azonosítunk. A lemez neve a típusára
utaló kóddal kezdõdik, amely után
aztán egy sorszám jelzi, hogy melyik lemezrõl
is van szó. Azonban eltérõen a
slice-okétól, a lemezek sorszámozása
0-tól indul. Az általánosan elterjedt
kódolások a ban
találhatóak.Amikor hivatkozunk egy partícióra, a &os;
elvárja tõlünk, hogy nevezzük meg az adott
partíciót tartalmazó slice-ot és
lemezt is. Emiatt egy partícióra mindig úgy
hivatkozunk, hogy elõször megadjuk a tartalmazó
lemez nevét, ettõl s-sel
elválasztva a tartalmazó slice
sorszámát, majd ezt a partíció
betûjelével zárjuk. Erre
példákat a ban láthatunk.Az érhetõség kedvéért a bemutatja egy lemez
kiosztásának fogalmi sablonját.A &os; telepítéséhez elõször be
kell állítani a lemezen található
slice-okat, majd létrehozni benne a &os;-hez
használni kívánt partíciókat,
kialakítani rajtuk az állományrendszereket
(vagy a lapozóállományt) és
eldönteni, melyik állományrendszert
kívánjuk csatlakoztatni.
Példák lemezek, slice-ok és
partíciók neveireNévJelentésad0s1aAz elsõ IDE lemezen (ad0)
levõ elsõ slice (s1)
elsõ partíciója
(a).da1s2eA második SCSI-lemzen
(da1) levõ második slice
(s2) ötödik
partíciója (e).Egy lemez kialakításának
sablonjaAz ábrán a rendszerhez csatlakoztatott elsõ
IDE-lemez látható a &os;
szemszögébõl. Tegyük fel, hogy ez a lemez
4 GB méretû és két,
egyenként 2 GB méretû slice-ot (avagy
&ms-dos; partíciót) tartalmaz. Az elsõ slice
egy &ms-dos; formátumú lemezt foglal
magában, a C: meghajtót,
illetve a második slice egy telepített &os;-t
tartalmaz. Ebben a példában a &os; három
adatot és egy lapozóállományt
tároló partícióval
rendelkezik.A három partíció mindegyikén
találhatunk egy-egy állományrendszert. Az
a partíció lesz a
gyökér állományrendszer, az
e lesz a rendszerünkben a
/var és az f
pedig a /usr könyvtár..-----------------. --.
| | |
| DOS / Windows | |
: : > Elsõ slice, ad0s1
: : |
| | |
:=================: ==: --.
| | | a partíció, / |
| | > ad0s2a néven hivatkozzuk |
| | | |
:-----------------: ==: |
| | | b partíció, lapozóállomány |
| | > ad0s2b néven hivatkozzuk |
| | | |
:-----------------: ==: | c partíció, nincs
| | | e partíció, /var > állományrendszer, az egész
| | > ad0s2e néven hivatkozzuk | &os; slice,
| | | | ad0s2c
:-----------------: ==: |
| | | |
: : | f partíció, /usr |
: : > ad0s2f néven hivatkozzuk |
: : | |
| | | |
| | --' |
`-----------------' --'Állományrendszerek csatlakoztatása
és leválasztásaAz állományrendszereket legkönnyebben
egy-egy faként tudjuk magunk elõtt elképzelni,
amelyek a / könyvtárból
nõnek ki. A /dev,
/usr és mellettük szereplõ,
hozzájuk hasonló összes többi
könyvtár csupán egy-egy ág, amelyeknek
saját ágaik is lehetnek, mint például
a /usr/local és így
tovább.gyökér
állományrendszerKülönféle okainak vannak annak, hogy egyes
könyvtárakat különálló
állományrendszereken tárolunk. A
/var könyvtár tartalmazza a
log/, spool/
könyvtárakat és különféle
átmeneti állományokat, azonban az ilyen
állományok könnyen megszaporodhatnak és
megtölthetik az állományrendszert. Mivel a
gyökér állományrendszert nem
tanácsos elárasztani mindenféle
állománnyal, ezért gyakran a hasznunkra
válthat, ha a /var
könyvtárat leválasztjuk a
/ könyvtárból.Másik gyakori ok, ami az imént említett
fa egyes ágainak különbözõ
állományrendszereken történõ
tárolását indokolja, hogy ezek gyakran
más fizikai vagy virtuális lemezeken,
például a rendszerhez csatlakoztatott Hálózati
állományrendszereken vagy éppen
CD-meghajtókon találhatóak.Az fstab
állományállományrendszerekcsatlakoztatás az fstab
állománnyalA rendszerindítás
folyamata során az /etc/fstab
állományban felsorolt
állományrendszerek maguktól kerülnek
csatlakoztatásra (kivéve amikor a
beállítással
szerepelnek).Az /etc/fstab állományban
található sorok az alábbi
szerkezetûek:eszköz/csatlakozási-ponttípusbeállításokmentésigyakellszámeszközA ban leírtak
szerint megnevezett (létezõ)
eszköz.csatlakozási-pontEgy (létezõ) könyvtár, ahova
az állományrendszer csatlakozik.típusAz állományrendszer &man.mount.8;
parancs szerint ismert típusa. A &os;
alapértelmezett állományrendszere az
ufs.beállításokAz írható-olvasható
állományrendszerek esetén
, az írásvédettek
esetén pedig , amelyet
igény szerint további
beállítások követhetnek. A
rendszerindítás során automatikusan
nem csatlakoztatandó
állományrendszerek esetén gyakran
alkalmazott beállítás itt még
a . Egyéb
lehetõségeket a &man.mount.8; man oldalon
láthatunk.mentésigyakEzt általában a &man.dump.8; parancs
használja a menteni szükséges
állományrendszerek
megállapításához. Amennyiben
hiányzik ez a mezõ, az automatikusan a nulla
értéket jelöli.ellszámMegadja, hogy mely állományrendszereket
kell ellenõrizni. A nullás
pass értékkel
rendelkezõ állományrendszerek nem
kerülnek ellenõrzésre. A
gyökér állományrendszer (melyet
minden más elõtt kell ellenõrizni)
passno értéke egy,
míg az összes többi
állományrendszer passno
értéke általában egytõl
különbözõ. Ha egynél több
állományrendszer is ugyanazt a
passno értéket kapta,
akkor az &man.fsck.8; a lehetõségei szerint
megpróbálja ezeket egyszerre
ellenõrizni.Az /etc/fstab
felépítésérõl és a benne
használható
beállításokról bõvebben a
&man.fstab.5; man oldalon olvashatunk.A mount parancsállományrendszerekcsatlakoztatásAz állományrendszerek tényleges
csatlakoztatására avagy
mountolására a &man.mount.8;
parancs használható.Legegyszerûbb formája:&prompt.root; mount eszközcsatlakozási-pontAhogy a &man.mount.8; man oldalán is olvashatjuk, itt
rengeteg opció is megadható, de ezek
közül a leggyakoribbak:Csatlakoztatási opciókCsatlakoztatja az /etc/fstab
állományban felsorolt összes
állományrendszert, kivéve azokat,
amelyek a noauto
beállítást tartalmazzák, vagy
kizártuk a kapcsolóval,
esetleg korábban már csatlakoztattuk.A tényleges csatlakoztatás
elvégzése nélkül
végrehajt minden mást. Ez az opció
leginkább opcióval
együtt használható annak
megállapítására, hogy a
&man.mount.8; valójában mit is akar
csinálni.Egy nem tiszta állományrendszer
csatlakoztatásának
kényszerítése (veszélyes!)
vagy egy korábban már csatlakoztatott
állományrendszer írható
állapotának
felfüggesztése.Az állományrendszer
írásvédett csatlakoztatása.
Megegyezik a opciónál
megadható (vagy a &os;
5.2-nél régebbi verziója
esetén a )
beállítás
használatával.típusAz adott állományrendszer az adott
típusnak megfelelõen csatlakoztatja, vagy az
használata esetén csak
az adott típusú
állományrendszereket.Az ufs az
állományrendszerek alapértelmezett
típusa.Frissíti az állományrendszerre
vonatkozó csatlakoztatási
beállításokat.Részletesebb kijelzés.Az állományrendszer
csatlakoztatása írásra és
olvasásra.Az opció után
vesszõvel elválasztott
beállításokat adhatunk meg, többek
közt az alábbiakat:noexecAz állományrendszeren
található állományok
végrehajtásának tiltása. Ez
egy nagyon hasznos biztonsági
beállítás.nosuidAz állományrendszeren nem
használhatóak a felhasználó-
(setuid) vagy csoportváltásra (setgid)
vonatkozó engedélyek. Nagyon hasznos
biztonsági beállítás.Az umount parancsállományrendszerekleválasztásAz &man.umount.8; parancs paraméterként egy
csatlakozási pontot, egy eszköznevet vagy a
, illetve az
opciókat várja.A leválasztás
kényszerítéséhez mindegyik alakban
szerepelhet az opció, valamint a
részletesebb kijelzést a
opcióval kapcsolhatjuk be. Azonban szeretnénk
mindenkit figyelmeztetni, hogy a
használata alapvetõen nem ajánlott. Az
erõszakkal leválasztott
állományrendszerek összeomlaszthatják
a számítógépet vagy kárt
okozhatnak az állományrendszereken
található adatokban.Az és
opciók használatosak az összes
csatlakoztatott állományrendszer
leválasztására, amelyek típusait a
opció megadása után
sorolhatunk fel. Fontos különbség azonban,
hogy az opció a gyökér
állományrendszert nem próbálja meg
leválasztani.FolyamatokA &os; egy többfeladatos operációs
rendszer. Ez azt jelenti, hogy képes
látszólag egyszerre több programot is futtatni.
Az így egyszerre futó programokat egyenként
folyamatoknak (process) nevezzük.
Minden kiadott parancsunk elindít legalább egy ilyen
folyamatot, és a rendszerünk mozgásban
tartásához bizonyos rendszerszintû folyamatok
állandóan futnak a háttérben.Minden folyamatot egy
folyamatazonosítónak (process
ID vagy PID) nevezett szám
azonosít egyértelmûen, és az
állományokhoz hasonlóan, minden folyamatnak
van tulajdonosa és csoportja is. A tulajdonos és a
csoport ismeretében állapítja meg a rendszer,
hogy az adott folyamat a korábban említett
engedélyek szerint milyen állományokhoz
és eszközökhöz férhet hozzá.
Ezenkívül a legtöbb folyamatnak van még
egy szülõfolyamata is. A szülõfolyamat az a
folyamat, amely az adott folyamatot elindította.
Például amikor parancsokat adunk egy
parancsértelmezõn keresztül, akkor maga a
parancsértelmezõ is egy ilyen folyamat lesz
ugyanúgy, ahogy a benne kiadott parancsok által
elindított programok. Ennek megfelelõen az így
létrehozott összes folyamat szülõje maga a
parancsértelmezõ folyamata lesz. Az említettek
alól egyik kivétel az &man.init.8; nevû
speciális folyamat. Az init lesz a
rendszerben mindig az elsõ folyamat, ezért a PID-je is
mindig 1. Az init programot a &os;
indulásakor a rendszermag fogja automatikusan
elindítani.A rendszerben futó programok
vizsgálatához két, különösen
hasznos parancsot találhatunk: ezek a &man.ps.1; és
a &man.top.1;. A ps parancs használatos
a pillanatnyilag futó programok statikus
listájának megjelenítésére.
Ebben olvashatjuk a futó programok
azonosítóit, mennyi memóriát
használnak éppen, milyen paranccsal
indították ezeket stb. A top
parancs mutatja az összes aktívan futó
programot, majd néhány másodpercenként
automatikusan frissíti ezt a listát, aminek
révén folyamatosan láthatjuk, miként
viselkednek a futó programok.A ps alapértelmezés szerint
csupán az általunk futtatott programokat mutatja.
Például:&prompt.user; ps
PID TT STAT TIME COMMAND
298 p0 Ss 0:01.10 tcsh
7078 p0 S 2:40.88 xemacs mdoc.xsl (xemacs-21.1.14)
37393 p0 I 0:03.11 xemacs freebsd.dsl (xemacs-21.1.14)
48630 p0 S 2:50.89 /usr/local/lib/netscape-linux/navigator-linux-4.77.bi
48730 p0 IW 0:00.00 (dns helper) (navigator-linux-)
72210 p0 R+ 0:00.00 ps
390 p1 Is 0:01.14 tcsh
7059 p2 Is+ 1:36.18 /usr/local/bin/mutt -y
6688 p3 IWs 0:00.00 tcsh
10735 p4 IWs 0:00.00 tcsh
20256 p5 IWs 0:00.00 tcsh
262 v0 IWs 0:00.00 -tcsh (tcsh)
270 v0 IW+ 0:00.00 /bin/sh /usr/X11R6/bin/startx -- -bpp 16
280 v0 IW+ 0:00.00 xinit /home/nik/.xinitrc -- -bpp 16
284 v0 IW 0:00.00 /bin/sh /home/nik/.xinitrc
285 v0 S 0:38.45 /usr/X11R6/bin/sawfishAhogy az a fenti példában is látszik, a
&man.ps.1; kimenete oszlopokra tagolható. Ezek
közül a PID tartalmazza a
korábban már ismertetett
folyamatazonosítókat. Az azonosítók
1-tõl indulva egészen 99999-ig
sorszámozódhatnak, illetve ha kifutnánk
belõlük, akkor a számozás kezdõdik
elölrõl (azonban a használatban levõ
azonosítók sosem kerülnek újra
kiosztásra). A TT oszlopban
láthatjuk azt a terminált, amelyen az adott program
éppen fut, de ezt pillanatnyilag akár nyugodtan
figyelmen kívül is hagyhatjuk. A
STAT oszlopban a program
állapotát kapjuk meg, de szintén
átugorható. A TIME a program
processzoron eltöltött idejét mutatja — ez
általában nem arra utal, hogy mennyi ideje fut maga
a program, hiszen a legtöbb programnak meglehetõsen
sokat kell várakoznia egyáltalán mielõtt
a processzorra lenne szüksége. Végezetül
a COMMAND oszlopban olvashatjuk azt a
parancsot, amellyel a programot elindították.A &man.ps.1; számos különféle
beállítást ismer az általa
megjelenített információk
megválasztásához. Az egyik ilyen
leghasznosabb beállítás az
auxww: az
segítségével az összes futó
programot láthatjuk, nem csak a sajátjainkat; az
megadásával
láthatóvá válik a folyamat
tulajdonosának a felhasználói neve, valamint
a memóriahasználata is; az
megmutatja a démon (avagy háttér)folyamatok
adatait is és a hatására
pedig a &man.ps.1; az összes folyamathoz a teljes parancssort
kiírja, még akkor is, ha nem férne ki a
képernyõre.A &man.top.1; kimenete is hasonló. Ha
elindítjuk, általában ezt
láthatjuk:&prompt.user; top
last pid: 72257; load averages: 0.13, 0.09, 0.03 up 0+13:38:33 22:39:10
47 processes: 1 running, 46 sleeping
CPU states: 12.6% user, 0.0% nice, 7.8% system, 0.0% interrupt, 79.7% idle
Mem: 36M Active, 5256K Inact, 13M Wired, 6312K Cache, 15M Buf, 408K Free
Swap: 256M Total, 38M Used, 217M Free, 15% Inuse
PID USERNAME PRI NICE SIZE RES STATE TIME WCPU CPU COMMAND
72257 nik 28 0 1960K 1044K RUN 0:00 14.86% 1.42% top
7078 nik 2 0 15280K 10960K select 2:54 0.88% 0.88% xemacs-21.1.14
281 nik 2 0 18636K 7112K select 5:36 0.73% 0.73% XF86_SVGA
296 nik 2 0 3240K 1644K select 0:12 0.05% 0.05% xterm
48630 nik 2 0 29816K 9148K select 3:18 0.00% 0.00% navigator-linu
175 root 2 0 924K 252K select 1:41 0.00% 0.00% syslogd
7059 nik 2 0 7260K 4644K poll 1:38 0.00% 0.00% mutt
...A kimenet két részre osztható. A
fejlécben (vagyis az elsõ öt sorban)
látható az utoljára futtatott program
azonosítója (PID), a rendszer átlagos
terhelése (load average, amellyel mérjük, hogy
a rendszerünk mennyire lefoglalt), a rendszer
indítása óta eltelt idõ (up mint uptime)
és a jelenlegi idõ. A fejlécben még
megtalálhatjuk azt is, mennyi program fut (esetünkben
ez most 47), mennyi memóriát és
lapozóállományt használnak és
mennyi idõt tölt a rendszer a processzor
különbözõ állapotaiban.A fejléc alatt a &man.ps.1; kimenetéhez
hasonló módon oszlopokba rendezve találhatjuk
meg a folyamatok adatait: az azonosítóikat, a
tulajdonosaik nevét, a felhasznált
processzoridõt, a futtatott parancsot. A &man.top.1;
alapértelmezés szerint mutatja a futó
programok által használt memória
mennyiségét is: ez további két
oszlopra oszlik, ahol az egyikben a teljes
memóriafoglalást (SIZE), a másikban pedig az
jelen pillanatban aktívan használt
memóriát (RES) láthatjuk. A
példában látható is, hogy a
&netscape; (navigator-linu)
alkalmazásnak majdnem 30 MB-nyi
memóriára van szüksége, de ebbõl
aktívan csak 9 MB-ot használ.A &man.top.1; a kijelzést minden második
másodpercben magától frissíti, de ez
az kapcsolóval
állítható.Démonok, jelzések és a futó
programok leállításaAmikor elindítunk egy szövegszerkesztõt, nem
sok gondunk akad az irányításával,
könnyen utasíthatjuk az állományok
betöltésére és így tovább.
Mindezt azért tehetjük meg, mert a
szövegszerkesztõ erre lehetõséget
biztosít és mivel a szövegszerkesztõ egy
terminálhoz kapcsolódik.
Egyes programok azonban nem úgy lettek kialakítva,
hogy állandóan a felhasználó
utasításaira támaszkodjanak, ezért az
elsõ adandó alkalommal lekapcsolódnak a
terminálról. Például egy webszerver
egész nap csak webes kéréseket
válaszol meg, és általában semmi
szüksége nincs a felhasználók
utasításaira. A szerverek között
leveleket közvetítõ programok is ugyanezen
osztályba tartoznak.Ezeket a programokat
démononoknak hívjuk. A
démonok a görög mitológiában
jelentek meg: sem a jót, sem pedig a gonoszt nem
képviselték, egyszerû apró
szellemecskék voltak, akik az emberiség javát
szolgálták, pontosan úgy, ahogy ma teszik azt
a különféle web- és levelezõ
szerverek. Ezért is ábrázolták
sokáig a BSD kabalafiguráját is egy
tornacipõs, vasvillás vidám
démonként.A démonként futó programok nevéhez
a hagyományok szerint hozzá szokták
fûzni a d betût. A
BIND a Berkeley Internet Name Domain
(névfeloldó) szolgáltatása, azonban a
hozzátartozó program neve named,
az Apache webszerver programját
httpd-nek nevezik, a sornyomtató
kezeléséért felelõs démon pedig
az lpd és így tovább. Ez
csupán egy hagyomány, megszokás, nem pedig
egy kõbe vésett szabály: például
a Sendmail levelezõ
démonának neve sendmail és
nem pedig maild.Néha azért szükségünk lehet
arra, hogy felvegyük valahogy a kapcsolatot a
démonként futó programokkal is. Ennek egyik
lehetséges módja a
jelzésések (signal)
küldése (de alapvetõen bármilyen
futó programnak küldhetünk). Több
különféle jelzés küldhetõ
— egyeseknek közülük
megkülönböztetett jelentése van,
másokat magukat az alkalmazások értelmeznek,
amelyrõl a dokumentációjukban
tájékozódhatunk. A &man.kill.1; vagy
&man.kill.2; paranccsal más tulajdonában levõ
futó programoknak nem tudunk jelzéseket
küldeni, ami alól egyedüli kivétel a
root felhasználó.Bizonyos esetekben a &os; maga is küld néha
jelzéseket. Amikor egy alkalmazást rosszul
programoznak le és megpróbál egy
számára tiltott memóriaterülethez
hozzáférni, a &os; küld neki egy
Segmentation Violation
(SIGSEGV, szegmentálási hiba)
jelzést. Ha egy alkalmazás az &man.alarm.3;
rendszerhíváson keresztül kér egy adott
idõ utáni bekövetkezõ
értesítést, akkor kap errõl egy Alarm
(SIGALRM) jelzést és így
tovább.A folyamatok leállítására
két jelzés használható: a
SIGTERM (befejeztetés) és a
SIGKILL (leállítás). A
SIGTERM a folyamatok
leállításának illedelmes módja,
mivel ekkor a futó program képes
elkapni ezt a jelzést és
észrevenni, hogy le akarjuk állítani.
Ilyenkor a leállítás elõtt
lehetõsége van szabályosan lezárni a
naplóit és általánosságban
véve befejezni mindent, amit éppen csinál.
Elõfordulhat azonban, hogy a folyamatok figyelmen
kívül hagyják a SIGTERM
jelzést, ha például éppen egy
félbeszakíthatatlan feladat közepén
tartanak.A SIGKILL jelzést azonban egyetlen
futó program sem hagyhatja figyelmen kívül. Ez
lenne a Nem érdekel, mivel foglalkozol, azonnal
hagyd abba! jelzés. Amikor
SIGKILL jelzést küldünk egy
folyamatnak, a &os; leállítja a folyamatot ott
és ahol tart
Ez azért nem teljesen igaz. Van
néhány olyan tevékenység, ami nem
szakítható meg. Ilyen például az,
amikor a program egy másik
számítógépen
található állományt
próbál olvasni, miközben valamilyen ok
(kikapcsolás, hálózati hiba)
folytán elveszti vele a kapcsolatot. Ekkor a program
futása megszakíthatatlan. Majd
amikor a program feladja a próbálkozást
(általában két perc után), akkor
következik be a tényleges
leállítása..További használható jelzések:
SIGHUP, SIGUSR1 és
SIGUSR2. Ezek általános
célú jelzések, amelyeket az
alkalmazások eltérõ módokon kezelnek
le.Tegyük fel, hogy megváltoztattuk a
webszerverünk beállításait
tartalmazó állományt — valamilyen
módon szeretnénk tudatni a szerverrel, hogy olvassa
be újra a beállításait. Ezt
megtehetjük úgy, hogy leállítjuk
és újraindítjuk a httpd
démont, de ezzel kiesést okozhatunk a szerver
mûködésében, amit viszont nem
engedhetünk meg. A legtöbb démont úgy
készítették el, hogy a
SIGHUP jelzés hatására
olvassa be újra a beállításait
tartalmazó állományt. Így a
httpd leállítása és
újraindítása helyett egyszerûen
elegendõ egy SIGHUP jelzés
küldése. Mivel azonban ez nem
szabványosított, a különbözõ
démonok ezt a jelzést
többféleképpen is értelmezhetik.
Ezért a használata elõtt ennek
mindenképpen járjunk utána a
kérdéses démon
dokumentációjában.A jelzéseket a &man.kill.1; paranccsal tudjuk
elküldeni, ahogy ezt a következõ
példában is láthatjuk.Jelzés küldése egy futó
programnakEbben a példában megmutatjuk, hogyan lehet
jelzést küldeni az &man.inetd.8; démonnak.
Az inetd a beállításait
az /etc/inetd.conf
állományban tárolja, és az
inetd a SIGHUP
jelzés hatására képes
újraolvasni ezt.Keressük meg annak a folyamatnak az
azonosítóját, amelynek a jelzést
kívánjuk küldeni. Ezt a &man.ps.1;
és a &man.grep.1; használatával
tehetjük meg. A &man.grep.1; parancs
segítségével más parancsok
kimenetében tudunk megkeresni egy általunk
megadott szöveget. Ezt a parancsot átlagos
felhasználóként futtatjuk, azonban az
&man.inetd.8; démont a root
birtokolja, ezért az &man.ps.1; használata
során meg kell adnunk az
kapcsolókat is.&prompt.user; ps -ax | grep inetd
198 ?? IWs 0:00.00 inetd -wWInnen kiderül, hogy az &man.inetd.8;
azonosítója 198. Elõfordulhat, hogy az
eredményben maga a grep inetd
parancs is megjelenik. Ez a &man.ps.1;
listázási módszere miatt következhet
be.A jelzés elküldésére
használjuk a &man.kill.1; parancsot. Mivel az
&man.inetd.8; démont a root
felhasználó futtatja, ehhez elõször a
&man.su.1; parancs kiadásával nekünk is
root felhasználóvá
(rendszeradminisztrátorrá) kell
válnunk.&prompt.user; suPassword:
&prompt.root; /bin/kill -s HUP 198Ahogy az a legtöbb &unix; esetén elfogadott, a
sikeres végrehajtás esetén a &man.kill.1;
sem válaszol semmit. Amikor viszont nem egy
saját programunknak akarunk jelzést
küldeni, akkor a kill:
PID: Operation not
permitted (a mûvelet nem
engedélyezett) hibaüzenetet látunk. Ha
véletlenül elgépeljük volna a
futó program azonosítóját, akkor a
küldendõ jelzés nem a megfelelõ
folyamatnál fog kikötni (ami nem éppen
jó), vagy ha szerencsénk van, akkor a
jelzést egy éppen használaton
kívüli azonosítóra
küldtük. Az utóbbi esetben a
következõ láthatjuk: kill:
PID: No such process
(nincs ilyen folyamat).Miért /bin/kill?A legtöbb parancsértelmezõ
beépítetten tartalmazza a saját
kill parancsát, tehát
ilyenkor közvetlenül maga a
parancsértelmezõ küldi a jelzést,
nem pedig a /bin/kill programon
keresztül. Ez gyakran a javunkra válhat,
azonban a küldhetõ jelzések megadása
parancsértelmezõnként eltérhet.
Így, ahelyett, hogy egyenként ismernünk
kellene mindegyiket, sokkal egyszerûbb
közvetlenül a /bin/kill
... parancsot
használni.A többi jelzés küldése is nagyon
hasonló módon történik, hiszen
elegendõ csupán a TERM vagy a
KILL behelyettesítése a parancs
megfelelõ helyére.A rendszerünkben óvatosan bánjunk a
futó programok
leállítgatásával, és
legyünk különös tekintettel az 1-es
azonosítóval rendelkezõ, speciális
feladattal bíró &man.init.8; folyamatra. A
/bin/kill -s KILL 1 parancs
kiadásával ugyanis gyorsan le tudjuk
állítani a rendszerünket.
Mielõtt egy &man.kill.1; parancsot
lezárnánk az Enter
billentyûvel, mindig
gyõzõdjünk meg róla, hogy valóban
tényleg a jó paramétereket adtuk
meg.ParancsértelmezõkparancsértelmezõkparancssorA &os;-ben hétköznapi munkánk legnagyobb
részét a parancsértelmezõknek (shell)
nevezett parancssoros felületen tudjuk elvégezni. A
parancsértelmezõ fõ feladata a
beérkezõ parancsok elfogadása és
végrehajtatása. Sok parancsértelmezõ
ezenfelül rendelkezik beépített
funkciókkal is, amelyek olyan hétköznapi
feladatokban igyekeznek segíteni, mint
például az állományok kezelése
és tömeges elérése reguláris
kifejezések használatával, a parancssor
szerkesztése, parancsok makrózása és a
környezeti változók használata. A &os;
alapból tartalmaz néhány
parancsértelmezõt, ilyen például az
sh, a Bourne Shell, és a
tcsh, a továbbfejlesztett C-shell. Sok
más parancsértelmezõ, mint
például a zsh és
bash is elérhetõ a &os;
Portgyûjteményébõl.De melyik parancsértelmezõt is válasszuk?
Ez igazából ízlés kérdése.
Ha inkább C programozók vagyunk, akkor
valószínûleg egy olyan C-szerû shelllel
tudunk kényelmesen dolgozni, amilyen például
a tcsh. Ha viszont egy linuxos rendszert
használtunk korábban vagy éppen még
soha nem használtunk volna a &unix; parancssorát,
érdemes a bash-sel
megpróbálkoznunk. A lényeg az, hogy minden
parancsértelmezõnek vannak olyan egyedi
jellemezõi, amiért használatóak vagy
éppen nem használatóak a munkánkban,
ezért magunknak kell kiválasztani a nekünk
megfelelõt.A shellek egyik legáltalánosabb jellemzõje
az állományok neveinek
kiegészítése. Miután
begépeljük egy parancs vagy
állománynév elsõ néhány
karakterét, a Tab billentyû
lenyomásával megkérhetjük a
parancsértelmezõt, hogy magától
egészítse ki (találja ki) a
fennmaradó részt. Nézzük erre egy
példát. Tegyük fel, hogy van két
állományunk, izemize és
ize.mize, és szeretnénk
letörölni az ize.mize nevût.
Ehhez a következõt kell begépelnünk:
rm
iz[Tab].[Tab].Erre a parancsértelmezõ a következõ
parancsot írja ki: rm
ize[SIPOLÁS].mize.A [SIPOLÁS] itt a konzol sípjára
vonatkozik, amellyel jelzi, hogy nem tudta teljesen
kiegészíteni az állomány nevét,
mivel egynél több is megfelel a megadott alaknak. Az
izemize és az
ize.mize is egyaránt az
iz elõtaggal kezdõdik, azonban
ebbõl a parancsértelmezõ csak az
ize elõtagot tudta kikövetkeztetni.
Ha most begépelünk még egy .
karaktert és újra megnyomjuk a Tab
billentyût, a parancsértelmezõ ezúttal
képes lesz az állomány teljes nevét
megállapítani.környezeti
változókA parancsértelmezõk másik
általános jellemzõje a környezeti
változók használata. A környezeti
változók lényegében a
parancsértelmezõ környezetéhez
tárolt név-érték párok. Ezt a
környezetet látja minden olyan program, amit a
parancsértelmezõbõl meghívunk, és
ezért tartalmazni is szokott sok ilyen
beállítást. Íme a leggyakoribb
környezeti változók felsorolása
és rövid leírása:környezeti
változókVáltozóLeírásUSERA bejelentkezett felhasználó
neve.PATHVesszõvel elválasztott
könyvtárak, ahol a parancsértelmezõ
a végrehajtható állományokat
keresi.DISPLAYAz aktuálisan használt X11
megjelenítõ hálózati neve,
amennyiben létezik ilyen.SHELLA használt
parancsértelmezõ.TERMA felhasználó által
használt terminál típusa. Ebbõl
a terminál képességeit lehet
megállapítani.TERMCAPA terminálok
adatbázisából származó,
különbözõ
terminálfunkciókhoz tartozó
helyettesítõ (escape) kódok.OSTYPEAz operációs rendszer típusa,
például &os;.MACHTYPEA rendszer alatt futó gép
architektúrája.EDITORA felhasználó által
használt szövegszerkesztõ.PAGERA felhasználó által
lapozásra használt program.MANPATHVesszõvel elválasztott könyvtárak,
ahol a parancsértelmezõ a man
oldalakat keresi.Bourne-féle
parancsértelmezõkA környezeti változók
beállítása
parancsértelmezõként valamennyire eltér.
Például egy C-stílusú
parancsértelmezõ, mint például a
tcsh vagy a csh, a
setenv paranccsal állítja a
környezeti változókat. A Bourne-féle
parancsértelmezõk, mint például az
sh vagy a bash, az
export parancsot használják a
környezeti változók
beállítására. Például a
csh vagy a tcsh
használata során a következõképpen
tudjuk be- vagy átállítani a
EDITOR környezeti változó
értékét
/usr/local/bin/emacs-re:&prompt.user; setenv EDITOR /usr/local/bin/emacsUgyanez a Bourne-féle
parancsértelmezõkben:&prompt.user; export EDITOR="/usr/local/bin/emacs"A legtöbb parancsértelmezõben a nevük
elõtt szerepeltetett $ jel
segítségével kérhetjük a
környezeti változók
értékének
behelyettesítését a parancssorba. Ennek
megfelelõen az echo $TERM parancs
kiíratja a TERM változó
aktuális értékét, mivel ebbe a
parancsértelmezõ már az echo
meghívása elõtt behelyettesíti a
TERM értékét.A parancsértelmezõk számos speciális
karaktert, ún. metakarakteret az adatok különleges
reprezentációjaként kezelnek.
Köztük a leggyakrabban használt a
*, amely tetszõleges számú
karaktert helyettesít egy állomány
nevében. Az ilyen metakarakterek
segítségével tudunk egyszerre több
állományt is megnevezni. Például ha
begépeljük az echo * parancsot,
akkor majdnem ugyanazt kapjuk eredményül, mintha az
ls parancsot adtuk volna ki, hiszen a
parancsértelmezõ ilyenkor veszi az összes
* metakarakterre illeszkedõ
állományt, és a kiíratásukhoz
pedig rendre behelyettesíti ezeket a parancssorba az
echo paramétereként.Ha nem szeretnénk, hogy a parancsértelmezõ
értelmezze a speciális karaktereket, akkor egy
backslash (visszaper) (\)
karaktert eléjük téve mindezt
megakadályozhatjuk. Az echo $TERM
parancs ugyebár kiíratja a terminálra
vonatkozó környezeti változó
beállítását, azonban a echo
\$TERM változatlanul kiírja a
$TERM szöveget.A parancsértelmezõnk
megváltoztatásaA parancsértelmezõnk legegyszerûbben a
chsh parancs használatával
változtatható meg. A chsh
kiadása után elindítja az
EDITOR környezeti változónak
megfelelõ szövegszerkesztõt, ha nem lenne ilyen,
akkor alapértelmezés szerint a
vi hívódik meg. Az így
megnyitott állományban változtassuk meg
kedvünk szerint a Shell: kezdetû
sort.A chsh parancsnak megadhatjuk az
opciót is, amin keresztül
szövegszerkesztõ használata nélkül
be tudjuk állítani a
parancsértelmezõt. Például ha a
parancsértelmezõnket a bash-re
akarjuk lecserélni, akkor ezt írjuk be:&prompt.user; chsh -s /usr/local/bin/bashA használni kívánt
parancsértelmezõnek szerepelnie
kell az /etc/shells
állományban. Ha a kiválasztott
parancsértelmezõt a Portgyûjteménybõl
telepítettük fel, akkor az már minden
bizonnyal bekerült oda. Ha viszont saját magunk
raktuk volna fel, akkor ide is fel kell vennünk.Például ha a bash-t
manuálisan telepítettük és
másoltuk a /usr/local/bin
könyvtárba, akkor így kell
eljárnunk:&prompt.root; echo "/usr/local/bin/bash" >> /etc/shellsMajd próbálkozzunk újra a
chsh paranccsal.SzövegszerkesztõkszövegszerkesztõkszerkesztõkA &os; beállításának nagy
része szöveges állományok
szerkesztésével történik. Emiatt sosem
árt legalább egy szövegszerkesztõt
ismernünk. A &os; alaprendszerében, valamint a
Portgyûjteményben is találhatunk
néhányat belõlük.eeszerkesztõkeeA legegyszerûbben megtanulható és
legkönnyedebb szövegszerkesztõt
ee-nek, avagy easy
editornak hívják. Az
ee indításához
írjuk be az ee
állománynév
parancsot, ahol az
állománynév lesz a
szerkesztendõ állomány neve. Így
például az /etc/rc.conf
állomány szerkesztéséhez
gépeljük be az ee /etc/rc.conf
parancsot. Miután elindult az ee, az
összes szerkesztéshez használható
parancsa megjelenik a képernyõ felsõ
részében. Itt a kalap
(^) karakter a Ctrl
billentyû lenyomására utal, így
tehát a ^e jelölés a
Ctrle
billentyûkombinációt jelenti. Ha ki akarunk
lépni az ee-bõl, nyomjuk le
az Esc billentyût, majd a felbukkanó
menübõl válasszuk a szerkesztõ
elhagyását (leave editor). Ha az
állományt módosítottuk,
kilépés elõtt még a
szövegszerkesztõ rákérdez, hogy mentse-e a
változtatásainkat.viszerkesztõkviemacsszerkesztõkemacsA &os; nagyobb tudású
szövegszerkesztõket, mint például a
vi-t, is tartalmaz az alaprendszer
részeként, miközben a többi, mint
például az Emacs vagy a
vim a Portgyûjtemény
részeként (editors/emacs és editors/vim) érhetõ el.
Ezek a szerkesztõk sokkal több lehetõséget
és erõt képviselnek, amiért
cserébe viszont valamivel nehezebb megtanulni a
használatukat. Ha viszont rengeteg szöveget akarunk
majd szerkeszteni, akkor egy vim vagy
Emacs használatának
megismerésével sok idõt
megspórolhatunk.Eszközök és
eszközleírókAz eszköz elnevezést leginkább a
rendszerben folyó, hardverrel kapcsolatos
tevékenységek kapcsán
használják lemezekre, nyomtatókra, grafikus
kártyákra és billentyûzetekre. A &os;
indulása során többnyire azt láthatjuk,
hogy milyen eszközöket sikerült felismernie.
Ezeket a rendszerindításkor megjelenõ
üzeneteket a /var/run/dmesg.boot
állományban nézhetjük meg
újra.Például a acd0 az
elsõ IDE CD-meghajtót, míg a
kbd0 a billentyûzetet
képviseli.A &unix; operációs rendszerben a legtöbb
eszközt a /dev könyvtárban
található, eszközleíróknak
(device node) nevezett speciális állományokon
keresztül érhetjük el.Eszközleírók
létrehozásaAmikor egy újfajta eszközt adunk hozzá a
rendszerhez vagy csak annak egy új
példányát, mindig létre kell hoznunk
hozzá egy új
eszközleírót.DEVFS (DEVice File System,
Eszköz-állományrendszer)Az eszközöket tartalmazó
állományrendszer, avagy
DEVFS, ad hozzáférést
a rendszermag által ismert eszközök neveihez
a globális állományrendszer nevein
keresztül. Így ahelyett, hogy magunknak kellene
létrehoznunk és módosítanunk az
eszközleírókat, a DEVFS
erre a célra fenntart egy külön
állományrendszert.A &man.devfs.5; man oldalon olvashatunk bõvebben
errõl.Bináris formátumokAnnak megértéséhez, hogy a &os;
miért az &man.elf.5; formátumot használja,
elõször is tisztában kell lennünk a &unix;
típusú rendszerekben használt
végrehajtható állományok három
uralkodó formátumával:&man.a.out.5;A legõsibb és egyben a
klasszikus &unix;-os
tárgykódformátum. Egy tömör
és rövidke fejlécet használ, aminek
az elején a formátum
leírására szolgáló
bûvös szám
található (errõl bõvebben lásd
&man.a.out.5;). Három betöltött szegmenst
tartalmaz: .text, .data és .bss, valamint egy
szimbólumokat és karakterláncokat
tároló táblát.COFFAz SVR3 tárgykódformátuma. A
fejléc itt már tartalmaz egy table nevû
szegmenst is, tehát a .text, .data és .bss
szegmensekhez hasonlóan ebbõl is többet tud
tárolni.&man.elf.5;A COFF után következõ
formátum, amelyben több szegmens is
megtalálható, valamint létezik 32 bites
és 64 bites változatban is. Egyetlen
hátránya van: az ELF
tervezése során
rendszerarchitektúránként csupán
egyetlen ABI-t (bináris alkalmazói
felületet) feltételeztek. Ez azonban
meglehetõsen helytelen, mivel még a kereskedelmi
SYSV világában (ahol már legalább
három ABI található: SVR4, Solaris
és SCO) sem állja meg a helyét.A &os; ezt a problémát a
megbélyegzés (branding)
segítségével próbálja
megoldani, aminek révén el tudunk látni
egy ismert ELF állományt a
futtatásához megfelelõ ABI-ra
vonatkozó információkkal. Errõl
részletesebben a &man.brandelf.1; oldalán
tájékozódhatunk.A &os; a klasszikusok
táborából indult, ezért kezdetben az
&man.a.out.5; formátumot használta, mivel ez a
technológia a BSD kiadások számos
generációjában megméretettett
és bevált, egészen a 3.X ág
elindulásáig. Habár már jóval
elõtte lehetett fordítani és futtatni
natív ELF binárisokat (és
rendszermagokat) a &os; rendszereken, a &os; kezdetben
óckodott váltani az alapértelmezés
szerinti ELF formátumra. De vajon
miért? Nos, a linuxos tábor már megtette a
maga fájdalmas váltását az
ELF formátummal kapcsolatban, és
gyorsan maguk mögött hagyták a
a.out formátumot a rugalmatlan,
ugrótáblákra alapozott oszott
könyvtár-kezelési mechanizmusai miatt, amivel
viszont megnehezítették a
különbözõ fejlesztõk és
gyártók számára az osztott
könyvtárak létrehozását. Mivel
az ELF formátumhoz rendelkezésre
álló eszközök megoldást
kínáltak az osztott könyvtárak
gondjaira, és mivel általánosan
elfogadták a jövõbe vezetõ
útként, a &os; is felvállalta az
átállással kapcsolatos
költségeket és végrehajtotta azt. A
&os; az osztott könyvtárakat leginkább a Sun
&sunos; rendszeréhez hasonlóan kezeli, ami egy
nagyon könnyen használható
megoldás.De miért van ilyen sok különbözõ
formátum?A ködös és sötét múltban
egyszerûbb hardverek voltak. Ezek az egyszerû hardverek
egyszerû, kicsi rendszereket támogattak. Az
a.out tökéletesen megfelelõ
volt egy ilyen egyszerû rendszer (egy PDP-11)
binárisainak tárolására. Ahogy az
emberek nekiláttak átültetni errõl az
egyszerû rendszerrõl a &unix;-ot más
rendszerekre, az a.out formátumot
továbbra is megtartották, mivel a &unix; kezdeti,
Motorola 68k-ra, VAXenre készített
átírataihoz is elegendõ volt.Ezután néhány éles
elméjû hardvermérnök kitalálta,
hogy ha rá tudnák kényszeríteni a
programokat egy-két ügyetlen trükkre, akkor a
terveken meg tudnának spórolni néhány
logikai kaput és ezzel processzor is gyorsabban tudna
futni. Miközben az a.out
formátumot ilyen hardverre (amit manapság
RISC-nek hívnak) is szerették
volna áthozni, kiderült, hogy ebben az esetben szinte
használhatatlan. Ezért az
a.out formátum által
felkínáltnál nagyobb
teljesítmény elérése
érdekében nekiláttak számos más
formátumot is kidolgozni. Ekkor jöttek létre a
COFF, ECOFF és
más hasonló formátumok, amelyek
elõbb-utóbb korlátokba ütköztek
még mielõtt a történelem
megállapodott volna az ELF
formátumnál.Ráadásul a programok méretei egyre
inkább kezdtek nõni, miközben a lemezek (valamint
a fizikai memória) továbbra is viszonylag kicsik
maradtak, ezért megszületett az osztott
könyvtár ötlete és a virtuális
memóriát kezelõ alrendszer is sokat finomodott.
Mivel ezek a különbözõ fejlesztések a
a.out formátumra épültek,
annak használatósága a beletömött
módosítások számával
együtt romlott. Emellett az emberek még szerettek
volna betölteni különféle dolgokat
futási idõben dinamikusan, vagy éppen a
memória és a lapozóállomány
megspórolásához kipucolni a programjaik egyes
részeit az inicializáló
kódrészletek lefutása után. A
programozási nyelvek is fejlõdtek, és az
emberek a fõprogram futása elõtt is akartak
kódot futtatni. Az a.out
formátum rengeteg apró foltozáson esett
keresztül, amelyek egy ideig még tudták is
tartani magukat. Azonban egy idõ után már az
a.out formátum egyre növekvõ
teljesítménycsökkenés nélkül
már nem volt képes állni a sarat.
Habár az ELF megszûntette a
fennálló problémák jelentõs
részét, egyúttal megnehezítette egy
alapvetõen mûködõ rendszer
leváltását. Ezért az
ELF formátumnak meg kellett
várnia azt a pillanatot, amikorra az
a.out használata már
kényelmetlenné vált.Azonban ahogy múlt az idõ, az
eszközökbõl, amelyekbõl a &os; a
fordításához szükséges
eszközöket származtatta (különösen
az assembler és a betöltõ),létrejött
két párhuzamos fejlesztési fa. A &os;-fa
kiegészült az osztott könyvtárak
támogatásával és hibákat
javított, miközben a GNU-fa alkotói, akik
eredetileg készítették ezeket a programokat,
újraírták az eszközeiket és a
keresztfordításhoz egyszerûbb
támogatást készítettek,
cserélhetõvé tették a
különbözõ formátumokat és
így tovább. Sokan akartak &os;-re
keresztfordítani, azonban nem volt
szerencséjük, mert a &os; régebbi
forrásait az as és
ld már nem emésztette
meg. Az új GNU eszköztár (a
binutils) viszont ismeri már a
keresztfordítást, az ELF
formátumot, az oszott könyvtárakat, a C++
kiterjesztéseit stb. Idõközben egyre több
gyártó ELF
formátumú binárisokat adott ki, és
jó érzés volt ezeket &os;-n is
futtatni.Az ELF sokkal kifejezõbb az
a.out formátumnál és
jóval több bõvítési
lehetõséget enged az alaprendszerben. Az
ELF formátumhoz tartozó
eszközöt jobban karbantartják és
támogatja a keresztfordítást, ami viszont
sokaknak fontos. Az ELF talán
némileg lassabb, mint az a.out,
azonban ez nehezen mérhetõ le. Számos
részletben eltérnek ugyan, például
hogyan képeznek le lapokat, hogyan kezelik az
inicializáló kódot stb., de ezek egyike sem
igazán fontos. Idõvel az a.out
támogatása ki fog kerülni a
GENERIC rendszermagból, és
végül majd teljesen eltávolításra
kerül, ahogy a régi a.out
formátumú programok szépen lassan
kifutnak.Bõvebben olvashatunk...Man oldalakman oldalakA &os; legátfogóbb
dokumentációja a benne található man
oldalak összesége. A rendszerben
található szinte majdnem mindegyik programhoz
létezik egy rövid használati
útmutató, amely bemutatja az adott program
alapvetõ mûködését és a
különbözõ beállításait.
Ezek a leírások a man parancs
segítségével jeleníthetõek meg.
A man parancs használata
egyszerû:&prompt.user; man parancsahol a parancs a megismerni
kívánt parancsra utal. Például ha
az ls parancsról szeretnénk
többet megtudni, írjuk be:&prompt.user; man lsAz elérhetõ használati
útmutatókat a következõ számozott
szakaszokra osztották:Felhasználói parancsokRendszerhívások és
hibakódokA C függvénykönyvtár
függvényeiEszközmeghajtókÁllományformátumokJátékok és egyéb
szórakoztató alkalmazásokEgyéb információkRendszerkarbantartási és
-mûködtetési parancsokRendszermagfejlesztõk számáraBizonyos esetekben ugyanaz a téma az
útmutatók több szakaszában is
elérhetõ. Például létezik
chmod felhasználói parancs
és a chmod()
rendszerhívás. Ilyenkor a man
parancsnak meg tudjuk adni pontosan, melyik szakaszra is vagyunk
kíváncsiak:&prompt.user; man 1 chmodEnnek hatására a chmod
felhasználói parancshoz tartozó oldal
jelenik meg. Írott formában a használati
útmutatók különbözõ
szakaszaira hagyományosan a név után
zárójelbe tett számmal hivatkoznak,
így a &man.chmod.1; a chmod
felhasználói parancs és a &man.chmod.2; a
rendszerhívás.Ez a módszer remekül mûködik abban az
esetben, amikor ismerjük a parancs nevét, azonban
mit tegyünk akkor, ha nem is emlékszünk a
nevére? A man parancs a
segítségével
paraméterezhetõ úgy is, hogy a parancsok
leírásai között keressen valamilyen
kulcsszó mentén:&prompt.user; man -k mailEzzel a paranccsal megkapjuk azon parancsok
listáját, amelyek leírásában
szerepel a mail kulcsszó. Ez
egyébként mûködésében
teljesen megegyezik a apropos
paranccsal.Szóval szeretnénk megtudni, hogy a
/usr/bin könyvtárban levõ
parancsok pontosan mit is csinálnak? Ehhez írjuk
be:&prompt.user; cd /usr/bin
&prompt.user; man -f *vagy&prompt.user; cd /usr/bin
&prompt.user; whatis *ami ugyanezt teszi.A GNU info állományokSzabad Szoftver
AlapítványA &os;-ben megtalálható a Szabad Szofver
Alapítvány (Free Software Foundation, FSF)
által készített számos
alkalmazás. Ezek a programok a szokványos man
oldalakon kívül még altalában
tartalmaznak egy infonak nevezett, sokkal
részletesebb hipertext alapú leírást
is, amelyeket az info paranccsal, vagy ha van
fenn emacs, akkor annak az info
módjában tudjuk megjeleníteni.Az &man.info.1; parancs használatához ennyit
kell beírnunk:&prompt.user; infoItt a h lenyomásával kapunk
egy rövid bemutatkozást. A parancsok rövid
listáját a ? billentyû
hozza elõ.
diff --git a/hu_HU.ISO8859-2/books/handbook/book.sgml b/hu_HU.ISO8859-2/books/handbook/book.sgml
index c5c50fb5f9..4705cb406b 100644
--- a/hu_HU.ISO8859-2/books/handbook/book.sgml
+++ b/hu_HU.ISO8859-2/books/handbook/book.sgml
@@ -1,402 +1,408 @@
%books.ent;
%chapters;
%txtfiles;
+
+
+
%pgpkeys;
]>
&os; kézikönyvA &os; Dokumentációs Projekt1999. február19951996199719981999200020012002200320042005200620072008A &os; Dokumentációs Projekt
&bookinfo.legalnotice;
&tm-attrib.freebsd;
&tm-attrib.3com;
&tm-attrib.3ware;
&tm-attrib.arm;
&tm-attrib.adaptec;
&tm-attrib.adobe;
&tm-attrib.apple;
&tm-attrib.corel;
&tm-attrib.creative;
&tm-attrib.cvsup;
&tm-attrib.heidelberger;
&tm-attrib.ibm;
&tm-attrib.ieee;
&tm-attrib.intel;
&tm-attrib.intuit;
&tm-attrib.linux;
&tm-attrib.lsilogic;
&tm-attrib.m-systems;
&tm-attrib.macromedia;
&tm-attrib.microsoft;
&tm-attrib.netscape;
&tm-attrib.nexthop;
&tm-attrib.opengroup;
&tm-attrib.oracle;
&tm-attrib.powerquest;
&tm-attrib.realnetworks;
&tm-attrib.redhat;
&tm-attrib.sap;
&tm-attrib.sun;
&tm-attrib.symantec;
&tm-attrib.themathworks;
&tm-attrib.thomson;
&tm-attrib.usrobotics;
&tm-attrib.vmware;
&tm-attrib.waterloomaple;
&tm-attrib.wolframresearch;
&tm-attrib.xfree86;
&tm-attrib.xiph;
&tm-attrib.general;
Üdvözöljük a &os;
világában! Ez a kézikönyv ismerteti a
&os; &rel2.current;-RELEASE, ill. a
&os; &rel.current;-RELEASE
telepítését és
használatát a mindennapokban. A
kézikönyv tartalmán számos
független fejlesztõ folyamatosan
dolgozik. Emiatt elképzelhetõ, hogy
bizonyos fejezetek már elavultak és
aktualizálásra szorulnak. Amennyiben úgy
érezzük, hogy segíteni tudnánk a
projekt munkájában, értesítsük
a fejlesztõket a &a.doc; címén! Ezen
dokumentum legfrissebb változata mindig
elérhetõ a &os;
honlapjáról (a korábbi
változatok pedig megtalálhatóak a címen).
Ezenkívül még rengeteg más
formátumban és tömörítve is
letölthetõ a &os; FTP
szerverérõl vagy a tüköroldalak
egyikérõl. Amennyiben a kézikönyv
nyomtatott változatára lenne
szükségünk, megvásárolhatjuk a
&os;
Mall-ból. Ha pedig keresni szeretnénk
benne, azt a funkciót itt
érhetjük el.Fordította és a
fordítást karbantartja: &a.hu.pgj;
&chap.preface;
BevezetésA &os; kézikönyv ezen része azoknak a
felhasználóknak és rendszergazdáknak
szól, akik még nem ismerik a &os;-t. A
fejezetek:Bemutatják a &os;-t.Végigvezetnek a telepítés
folyamatán.Ismertetik a &unix; alapjait.Megmutatják, hogyan telepítsük a
&os;-hez elérhetõ megannyi külsõ
alkalmazást.Megismerhetjük az X-et, a &unix;-os
ablakozórendszert, és részleteiben is
láthatjuk, miként konfiguráljunk be egy
munkakörnyezetet, amellyel kényelmesebbé
válik a munka.A fejezetek megírása során arra
törekedtünk, hogy minél kevesebb
hivatkozást tegyünk a könyv késõbb
következõ részeire, így ennek
köszönhetõen a kézikönyv ezen
része anélkül olvasható, hogy
közben folyamatosan elõre-hátra kellene
lapozgatnunk benne.Gyakori feladatokMiután az alapokat már átvettük, a
&os; kézikönyv következõ része
néhány gyakorta alkalmazott funkciót
tárgyal. Az itt szereplõ fejezetek:Bemutatnak különféle hasznos és
népszerû asztali alkalmazást:
böngészõket, irodai
elõsegítõ eszközöket,
dokumentum-megjelenítõket stb.Bemutatják a &os; alatt is elérhetõ
multimédia eszközöket.Kifejtik egy saját &os; rendszermag
elkészítésének
folyamatát, amellyel így bõvíteni
tudjuk rendszerünk
funkcionalitását.Részletesen bemutatják a
nyomtatásért felelõs alrendszert, asztali
és hálózati nyomtatók
használata esetén egyaránt.Megmutatják, hogyan futassunk Linuxra
íródott alkalmazásokat a &os;
rendszerünkön.Egyes fejezetek elolvasásához ajánlott
bizonyos mértékû
felkészülés, amely megemlítésre
is kerül az érintett fejezetek
áttekintésében.RendszeradminisztrációA &os; kézikönyv fennmaradó fejezeteiben
a &os; rendszerek adminisztrációjának
különbözõ aspektusait mutatjuk be.
Mindegyik fejezet elején megtudhatjuk mit is fogunk
megismerni a fejezet elolvasása során, illetve
arról is információkat kapunk, hogy mivel
kell már tisztában lennünk a tárgyalt
anyag feldolgozásához.Ezeket a fejezeteket annak érdekében
alakítottuk ki, hogy az adott témákban
ismereteket adjunk. Nincs köztük semmilyen sorrendi
kötöttség, sõt, ezeket
egyáltalán nem is szükséges elolvasni
a &os; alapvetõ használatához.
+
+
Hálózati kommunikációA &os; az egyik legelterjedtebb operációs
rendszer a legnagyobb hálózati
teljesítményt nyújtó
kiszolgálók körében. Az itt
található fejezetek témái:Soros kommunikációPPP és PPP Etherneten keresztül
(PPPoE)Elektronikus levelezésHálózati kiszolgálók
futattásaTûzfalakEgyéb haladó hálózati
témákEzek a fejezetek nem állnak egymással szoros
kapcsolatban, csupán egy adott
témáról adnak ismereteket.
Ennélfogva nem kötelezõ ezeket sorrendben
elolvasni, valamint egyáltalán nem is kell
mindegyikõjüket átolvasni ahhoz, hogy a &os;-t
hálózati környezetben is használni
tudjuk.
+
Függelék
&chap.colophon;
diff --git a/hu_HU.ISO8859-2/books/handbook/chapters.ent b/hu_HU.ISO8859-2/books/handbook/chapters.ent
index b0ebb3e8f2..235199ff30 100644
--- a/hu_HU.ISO8859-2/books/handbook/chapters.ent
+++ b/hu_HU.ISO8859-2/books/handbook/chapters.ent
@@ -1,66 +1,69 @@
+
+
+
diff --git a/hu_HU.ISO8859-2/books/handbook/disks/chapter.sgml b/hu_HU.ISO8859-2/books/handbook/disks/chapter.sgml
index 659c505cfc..f7d2a8004b 100644
--- a/hu_HU.ISO8859-2/books/handbook/disks/chapter.sgml
+++ b/hu_HU.ISO8859-2/books/handbook/disks/chapter.sgml
@@ -1,5838 +1,5841 @@
HáttértárakÁttekintésEz a fejezet arról szól, hogy miként
használjuk a lemezeinket a &os;-vel. Itt többek
közt szó esik a memória (alapú)
lemezekrõl, a hálózaton keresztül
csatlakoztatott meghajtókról, a szabványos
SCSI/IDE tárolóeszközökrõl és
az USB felületet használó
eszközökrõl.A fejezet elolvasása során
megismerjük:a &os; által alkalmazott
terminológiát, amivel a fizikai lemezeken
elhelyezkedõ adatokat írja le
(partíciók és slice-ok);hogyan bõvítsük rendszerünket
további merevlemezekkel;hogyan állítsuk be a &os;-t USB
tárolóeszközök
használatára;hogyan állítsunk be virtuális
állományrendszereket, például
memórialemezeket;hogyan használjuk a kvótákat a
lemezterület használatának
korlátozására;hogyan védjüket meg lemezeinket
titkosítással az
illetéktelenektõl;&os; alatt hogyan készítsünk és
írjuk CD-ket, DVD-ket;a biztonsági mentések
készítésének
különbözõ lehetõségeit;hogyan használjuk a &os; alatt
rendelkezésünkre álló,
biztonsági mentést készítõ
programokat;hogyan mentsünk floppy lemezekre;mik az állományrendszerek
pillanatképei és hogyan kell ezeket
hatékonyan használni.A fejezet elolvasásához ajánlott:a &os; rendszermag
beállításának és
telepítésének ismerete ()Az eszközök elnevezéseiA most következõ listában felsoroljuk a &os;
által ismert fizikai
tárolóeszközöket és a
hozzájuk tartozó elnevezéseket.
A fizikai lemezek elnevezésének
szabályaiA meghajtó típusaA meghajtóeszköz neveIDE merevlemezekadIDE CD-meghajtókacdSCSI merevlemezek és USB
tárolóeszközökdaSCSI CD-meghajtókcdKülönbözõ nem szabványos
CD-meghajtókmcd (Mitsumi CD-ROM) és
scd (Sony CD-ROM)
Floppy meghajtókfdSCSI szalagos meghajtóksaIDE szalagos meghajtókastFlash meghajtófla (&diskonchip; Flash
eszköz)RAID meghajtókaacd (&adaptec; AdvancedRAID),
mlxd és mlyd
(&mylex;), amrd (AMI &megaraid;),
idad (Compaq Smart RAID),
twed (&tm.3ware; RAID).
DavidO'BrienEredetileg írta: Lemezek hozzáadásalemezekhozzáadásTegyük fel, hogy a jelenleg egyetlen meghajtót
tartalmazó rendszerünket szeretnénk
bõvíteni egy új SCSI-lemez
hozzáadásával. Ehhez elsõként
kapcsoljuk ki a számítógépünket
és szereljük be a helyére az új
meghajtót a számítógép, a
lemezvezérlõ és a meghajtó
gyártójának utasításai
alapján. Mivel ezt a mûveletet rengeteg módon
lehet elvégezni, ezért ennek pontos
részleteivel ez a leírás most nem
foglalkozik.Jelentkezzünk be root
felhasználóként. Miután
beszereltük a meghajtót, a
/var/run/dmesg.boot állomány
végignézésével bizonyosodjuk meg
róla, hogy a rendszer valóban megtalálta a
lemezt. A példánk szerint ez a meghajtó
tehát a da1 nevet fogja viselni,
amelyet a /1 könyvtárba akarunk
csatlakoztatni (ha IDE-meghajtót telepítünk,
akkor a hozzátartozó eszköz neve
ad1 lesz).partíciókslice-okfdiskMivel a &os; IBM PC kompatibilis
számítógépeken fut, ezért nem
szabad figyelmen kívül hagynunk a PC BIOS
partícióit is. Ezek eltérnek a
hagyományos BSD partícióktól. Egy
PC-s lemeznek négy BIOS-os
partícióbejegyzése lehet. Ha egy lemezt
tényleg csak a &os;-nek szánunk, akkor
használhatjuk az ún.
dedikált módot. Minden
más esetben a &os;-nek egy PC BIOS
partícióban kell elhelyezkednie. A &os; a PC BIOS
partícióit slice-nak nevezi,
ezzel különbözteti ezeket a hagyományos BSD
partícióktól. Dedikált esetekben is
használhatjuk, de elsõsorban akkor kap fontosabb
szerepet, amikor a &os;-nek más operációs
rendszerekkel kell megosztani a helyet. Ezzel el tudjuk
kerülni, hogy a más operációs
rendszerekben megtalálható, nem &os; alapú
fdisk parancs megzavarodjon.A slice-ok használatakor a meghajtó
/dev/da1s1e néven kerül
hozzáadásra. Így kell olvasni: egyes SCSI
lemezes egység (második SCSI lemez), elsõ slice
(elsõ PC BIOS partíció) és
e BSD partíció. A
dedikált esetben a meghajtó neve viszont
egyszerûen csak /dev/da1e.Mivel a &man.bsdlabel.8; 32 bites egész számokat
használ a szektorok számának
tárolására, ezért lemezenként
csak 2^32-1 szektort tud ábrázolni, ami az esetek
többségében 2 TB méretû
címezhetõ területet jelent. Az &man.fdisk.8;
formátuma szerint sem a kezdõszektor, sem a hossz nem
lehet 2^32-1-nél több, amivel így a
partíciókat 2 TB, a lemezeket pedig 4 TB
méretûre korlátozza. A &man.sunlabel.8;
formátuma partíciónként 2^32-1
szektort enged meg és összesen 8
partíciót, amely ezáltal 16 TB
terület lefedését teszi lehetõvé.
Nagyobb lemezekhez &man.gpt.8; partíciók
használatosak.A &man.sysinstall.8; használatávalsysinstalllemezek hozzáadásasuKözlekedés a
sysinstall programbanA sysinstall könnyen
használható menüinek
segítségével az új lemezen
pillanatok alatt létre tudunk hozni
partíciókat és
megcímkézni ezeket. Ehhez vagy
root
felhasználóként jelentkezzünk be a
rendszerbe, vagy adjuk ki a su parancsot.
A sysinstall parancs kiadása
után lépjünk be a
Configure
(Beállítások) menübe. A
&os; Configuration Menu menüben
ezután keressük meg és válasszuk
ki az Fdisk menüpontot.Az fdisk
partíciószerkesztõMiután eljutottunk az
fdisk alkalmazáshoz, az
A lenyomásával
felajánlhatjuk az egész lemezt a &os;
számára. Amikor elõkerül a
kérdés, hogy remain cooperative with
any future possible operating systems
(mûködõképes maradjon-e a
késõbbiekben telepítendõ
operációs rendszerekkel), akkor
válaszoljuk rá YES-szel
(tehát igen). A W gomb
lenyomásával írjuk a lemezre a most
elvégzett változtatásokat.
Ezután már a Q
használatával ki is léphetünk az
FDISK szerkesztõbõl. A következõ
lépésben a Master Boot
Record-ról fognak minket megkérdezni.
Mivel most egy már mûködõ rendszert
bõvítünk, ezért a válaszunk
erre None lesz.A lemezcímkék szerkesztéseBSD
partíciókMost lépjünk ki a
sysinstall
alkalmazásból és indítsuk el
újra. Kövessük az iménti
útmutatásokat, de ezúttal a
Label menüpontot válasszuk
ki. Ezzel a Disk Label Editor-ba vagyis
a lemezcímkék szerkesztõjéhez
jutunk. Itt fogjuk létrehozni a hagyományos
BSD partíciókat. Egy lemezen nyolc ilyen
partíció lehet,
a-tól h-ig.
Közülük néhány
partíció címkéjét
megkülönböztetjük. Az
a partíció jelöli a
rendszer indításához használt
partíciót, a
gyökérpartíciót
(/). Tehát a
partíció csak a rendszerlemezünkön
szerepelhet (tehát ahonnan indul a rendszer). A
b partíció a
lapozáshoz használt partíciókat
jelöli és több lemezen is szerepelhet. A
c partíción keresztül
lehet elérni az egészt lemezt dedikált
módban vagy az egész &os; slice-ot slice
módban. A többi partíció
tetszõlegesen felhasználható.A sysinstall
címkeszerkesztõje az e
betûvel szereti megjelölni a sem nem
rendszerindító, sem nem lapozó
partíciókat. A címkeszerkesztõben
egyetlen állományrendszert a
C lenyomásával lehet
készíteni. Amikor erre válaszul
megkérdezi a típusát (FS
(állományrendszer) vagy swap
(lapozóterület) legyen), akkor válasszuk
az FS beállítást
és adjuk meg a csatlakozási pontját
(például /mnt). Amikor a
lemezt telepítés után (post-install)
adjuk hozzá, akkor a
sysinstall
valójában nem hoz létre hozzá
bejegyzéseket az /etc/fstab
állományban, ezért a
csatlakozási pont megadása nem is
feltétlenül fontos.Most már készen állunk arra, hogy
rögzítsük az új címkét
a lemezre és létrehozzunk vele egy
állományrendszert. Ehhez nyomjuk le a
W gombot. Ne foglalkozzunk vele, ha a
sysinstall nem képes
csatlakoztatni az új partíciót. Ha
ezzel megvagyunk, akkor lépjünk ki a
címkeszerkesztõbõl és a
sysinstallból is.BefejezésMost már csak annyi teendõnk maradt, hogy
felvegyük az /etc/fstab
állományba az új lemezhez
tartozó bejegyzést.Parancssoros eszközök
használatávalSlice módbanEzzel a beállítással a
lemezünkre késõbb más
operációs rendszereket is
telepíthetünk, és nem okoz gondot a
saját fdisk segédprogramjaik
mûködésében. Az új lemezek
telepítésénél ezt a módszer
ajánlatos követni. A dedikált módot
viszont csak abban az esetben használjuk, ha erre
nyomós okunk van!&prompt.root; dd if=/dev/zero of=/dev/da1 bs=1k count=1
&prompt.root; fdisk -BI da1 # inicializáljuk az új lemezt
&prompt.root; bsdlabel -B -w da1s1 auto # címkézzük meg
&prompt.root; bsdlabel -e da1s1 # szerkeszzük át a frissen létrehozott címkét és vegyünk fel egy új partíciót
&prompt.root; mkdir -p /1
&prompt.root; newfs /dev/da1s1e # ismételjük meg minden létrehozott partícióhoz
&prompt.root; mount /dev/da1s1e /1 # csatlakoztassuk a partíció(ka)t
&prompt.root; vi /etc/fstab # vegyük fel a megfelelõ bejegyzés(eke)t az /etc/fstab állománybaIDE-lemezek esetén azad
eszközt a da eszközzel
helyettesítsük.Dedikált módbanOS/2Amennyiben az új meghajtót nem akarjuk
megosztani egyetlen más operációs
rendszerrel sem, használhatjuk a
dedicated (dedikált) módot.
Ne felejtsük el azonban, hogy ez képes
összezavarni a Microsoft operációs
rendszereit, habár ebbõl semmilyen kárunk
nem fog származni. Az IBM &os2;
operációs rendszere azonban
kisajátít minden olyan
partíciót, amelyet nem tud olvasni.&prompt.root; dd if=/dev/zero of=/dev/da1 bs=1k count=1
&prompt.root; bsdlabel -Bw da1 auto
&prompt.root; bsdlabel -e da1 # létrehozzuk az `e' partíciót
&prompt.root; newfs /dev/da1e
&prompt.root; mkdir -p /1
&prompt.root; vi /etc/fstab # felvesszük a /dev/da1e partíciót
&prompt.root; mount /1Egy másik megoldás:&prompt.root; dd if=/dev/zero of=/dev/da1 count=2
&prompt.root; bsdlabel /dev/da1 | bsdlabel -BR da1 /dev/stdin
&prompt.root; newfs /dev/da1e
&prompt.root; mkdir -p /1
&prompt.root; vi /etc/fstab # felvesszük a /dev/da1e partíciót
&prompt.root; mount /1RAIDSzoftveres RAIDChristopherShumwayEredetileg készítette: JimBrownEllenõrizte: RAIDszoftveresRAIDCCDÖsszefûzött lemezek
beállításaA nagyobb méretû
háttértárolók
kiválasztásánál a legfontosabb
tényezõk a sebesség,
megbízhatóság és a
költség. Nagyon ritkán lehet csak ezt a
hármat egyensúlyba hozni:
általában a gyors és
megbízható
tárolóeszközök sok pénzbe
kerülnek, valamint a költségek
megtakarításához vagy a sebességet
vagy pedig a megbízhatóságot kell
feláldoznunk.A továbbiakban egy olyan rendszert mutatunk be,
ahol a elsõsorban a költségek, majd csak
ezután a sebesség és
megbízhatóság kerültek
elõtérben. A rendszer adatátviteli
sebességét a hálózat
korlátozza. Habár emellett a
megbízhatóság is nagyon fontos, a
tárgyalt összefûzött meghajtó
(Concenated Disk, CCD) csak adatokat szolgáltat
és a teljes tartalma bármikor
visszaállítható, mivel
rendelkezésre áll CD-n.A feladat elvégzésére alkalmas
háttértároló
kiválasztásában elsõként a
saját elvárásainkat kell tudnunk
megfogalmazni. Ha nekünk jobban számít az
árnál a sebesség vagy a
megbízhatóság, akkor a
mostaniaktól némileg eltérõ
konfigurációt kell majd
építenünk.A hardver telepítéseA rendszert tartalmazó IDE-lemez mellett
három darab, egyenként 30 GB-os 5400-as
percenkénti fordulatszámú Western
Digital gyártmányú merevlemez alkotja
majd a létrehozni kívánt, kb.
90 GB összméretû
összefûzött lemezt. Ideális esetben
minden IDE-lemez saját külön
vezérlõn és kábelen van, de a
költségek csökkentése miatt nem
használtunk további
IDE-vezérlõket. Ehelyett inkább
jumperekkel úgy állítottuk be a
lemezeket, hogy minden vezérlõre egy mester
(master) és egy szolga (slave) módú
merevlemez kapcsolódjon.A beszerelés után
beállítottuk a rendszer BIOS-át, hogy
automatikusan felismerje a csatlakoztatott lemezeket. De
ami még fontosabb, hogy a &os; is észlelte
ezeket az indítás során:ad0: 19574MB <WDC WD205BA> [39770/16/63] at ata0-master UDMA33
ad1: 29333MB <WDC WD307AA> [59598/16/63] at ata0-slave UDMA33
ad2: 29333MB <WDC WD307AA> [59598/16/63] at ata1-master UDMA33
ad3: 29333MB <WDC WD307AA> [59598/16/63] at ata1-slave UDMA33Ha a &os; nem látná az összes
lemezt, akkor ellenõrizzük a jumperek helyes
beállítását. Napjainkban a
legtöbb IDE-meghajtón találunk egy
Cable Select jumpert is. Ezzel
nem a mester/szolga módot
állítjuk be! A megfelelõ jumper
beazonosításához olvassuk el a
meghajtóhoz tartozó
dokumentációt.A következõ lépésben azt
vesszük nagyító alá, hogyan lehet
ezeket az állományrendszer
részévé tenni. Ezzel kapcsolatban a
&man.vinum.8; () és a
&man.ccd.4; elolvasása ajánlatos. Erre a
célra itt most a &man.ccd.4;
használatát választottuk.A CCD beállításaA &man.ccd.4; meghajtó
segítségével több ugyanolyan
lemezt tudunk összefûzni egyetlen logikai
állományrendszerré. A &man.ccd.4;
használatához arra is
szükségünk van, hogy a &man.ccd.4;
támogatása jelen legyen a rendszermagban. A
következõ sor tegyük bele a rendszermag
konfigurációs
állományába, fordítsuk
újra és telepítsük a
rendszermagot:device ccdA &man.ccd.4; támogatása modulként
is betölthetõ.A &man.ccd.4; beállításához
elõször a &man.bsdlabel.8; programmal meg fel kell
címkéznünk a lemezeket:bsdlabel -w ad1 auto
bsdlabel -w ad2 auto
bsdlabel -w ad3 autoÍgy létrejön egy-egy BSD
típusú címke a
ad1c, ad2c
és ad3c
eszközökre, amely így lefedi a lemez
egész területét.Most pedig változtassuk meg a lemezcímke
típusát. Ehhez használjuk ismét
a &man.bsdlabel.8; programot:bsdlabel -e ad1
bsdlabel -e ad2
bsdlabel -e ad3Az EDITOR környezeti
változóban megadott
szövegszerkesztõvel (ez általában a
&man.vi.1;) megnyílik minden egyes lemezhez a
jelenlegi lemezcímke.Egy módosítatlan lemezcímke
valahogy így néz ki:8 partitions:
# size offset fstype [fsize bsize bps/cpg]
c: 60074784 0 unused 0 0 0 # (Cyl. 0 - 59597)A &man.ccd.4; számára hozzunk létre
egy új e partíciót.
Ezt lényegében a c
partíció lemásolásával
keletkezik, de nála az (az
állományrendszer típusa) oszlopban
mindenképpen 4.2BSD
szerepeljen! A lemezcímke most már valahogy
így fog kinézni:8 partitions:
# size offset fstype [fsize bsize bps/cpg]
c: 60074784 0 unused 0 0 0 # (Cyl. 0 - 59597)
e: 60074784 0 4.2BSD 0 0 0 # (Cyl. 0 - 59597)Az állományrendszer
kiépítéseMost, miután felcímkéztük az
összes lemezünket, lássunk neki a
&man.ccd.4; kiépítésének. Ezt a
&man.ccdconfig.8; meghívásával
és az alábbihoz hasonló
paraméterek átadásával
tehetjük meg:ccdconfig ccd0 32 0 /dev/ad1e /dev/ad2e /dev/ad3eA paraméterek rövid leírása
és használata:Az elsõ paraméter a
létrehozandó eszköz, ami jelen
esetünkben a /dev/ccd0c. A
/dev/ részt nem
kötelezõ megadni.A kihagyás nagysága az
állományrendszerben. A kihagyás
határozza meg a lemezblokkban alkalmazott
csíkozás (striping) vastagságát, ami
általában 512 byte. Ennek megfelelõen a
32-es kihagyás 16 384 byte-os csíkokat ad
meg.A &man.ccdconfig.8;
beállításai. Ha engedélyezni
akarjuk a lemezek tükrözését, akkor itt
megadhatjuk. Mivel ez a konfiguráció most nem
nyújt tükrözést a &man.ccd.4;
számára, ezért állítsuk
nullára (0).A &man.ccdconfig.8; parancsnak
utolsóként azokat az eszközöket
kell felsorolni, amelyeket tömbbe akarunk fûzni.
Minden eszközt teljes elérési úttal
adjuk meg.A &man.ccdconfig.8; futtatása után a
&man.ccd.4; beállítódik. Most
már állományrendszert is rakhatunk
rá. A &man.newfs.8; man oldalról szedjük
össze a szükséges
paraméterezést, vagy egyszerûen csak
gépeljünk be ennyit:newfs /dev/ccd0cAz egész önmûködõvé
tételeA &man.ccd.4; eszközt általában
minden egyes indítás után
használni akarjuk. Ennek
eléréséhez elõször ezt be
kell állítanunk. Az alábbi parancs
kiadásával írassuk be a jelenlegi
beállítasainkat tükrözõ
/etc/ccd.conf
állományt:ccdconfig -g > /etc/ccd.confAz újraindítás során az
/etc/rc parancs futtatja le a
ccdconfig -C parancsot, ha az
/etc/ccd.conf állomány
létezik. Ez automatikusan beállítja a
&man.ccd.4; eszközöket, így ilyenkor tudjuk
csatlakoztatni is ezeket.Ha egyfelhasználós módban
indítjuk a rendszert, mielõtt még a
&man.mount.8; paranccsal csatlakoztatni tudnánk a
&man.ccd.4; eszközt, a tömb
beállításához meg kell
hívnunk a következõ parancsot:ccdconfig -CHa a rendszerindításkor automatikusan
csatlakoztatni akarjuk a &man.ccd.4; eszközt, akkor az
/etc/fstab állományba
helyezzünk el egy hozzátartozó
bejegyzést:/dev/ccd0c /media ufs rw 2 2A Vinum kötetkezelõRAIDszoftveresRAIDVinumA Vinum kötetkezelõ egy blokkos
eszközmeghajtó, ami virtuális lemezes
meghajtókat valósít meg.
Elkülöníti a lemezes
hardvereszközöket a blokkos
eszközmeghajtók felületétõl
és a kettõ között úgy
képezi le az adatokat, hogy a hagyományos
lemezes tárolással szemben megnövekedett
rugalmasságot, teljesítményt és
megbízhatóságot kapunk. A &man.vinum.8;
ismeri a RAID-0, RAID-1 és RAID-5 modelleket
egyaránt, melyeket önmagukban és
együttesen kombinálva is
használhatunk.A bõvebben ismerteti a
&man.vinum.8; rendszerét.Hardveres RAIDRAIDhardveresA &os; rengeteg különbözõ
típusú hardveres
RAID-vezérlõt ismer. Ezek az
eszközök a &os; külön erre a célra
szánt támogatása nélkül
képesek vezérelni a
RAID-alrendszert.A rajta levõ BIOS
segítségével a kártya a legtöbb
lemezmûveletet egyedül kezeli. A
következõkben egy Promise IDE
RAID vezérlõt alkalmazó
rendszert fogunk beállítani. Miután
telepítettük a kártyát és
indítjuk a rendszert, bekéri a
szükséges információkat.
Kövessük az utasításokat és
lépjünk be a kártya
beállító képernyõjére.
Itt tudjuk kombinálni az összes csatlakoztatott
meghajtónkat. Amikor ezzel a végeztünk, a
lemezek egyetlen lemezként fognak a &os;
számára viselkedni. A többi
RAID-szint is ehhez hasonlóan
állítható be.Az ATA RAID-1 tömbök
újraszervezéseA &os; lehetõséget a tömbben levõ
meghibásodott eszközök menet közben
elvégezhetõ cseréjére. Ehhez arra van
szükségünk, hogy még
újraindítás elõtt
elcsípjük a hibát.Hiba esetén valami hasonlót fogunk
látni a /var/log/messages
állományban vagy a &man.dmesg.8;
kimenetében:ad6 on monster1 suffered a hard error.
ad6: READ command timeout tag=0 serv=0 - resetting
ad6: trying fallback to PIO mode
ata3: resetting devices .. done
ad6: hard error reading fsbn 1116119 of 0-7 (ad6 bn 1116119; cn 1107 tn 4 sn 11)\\
status=59 error=40
ar0: WARNING - mirror lostTovábbi információkat az
&man.atacontrol.8; programtól szerezhetünk:&prompt.root; atacontrol list
ATA channel 0:
Master: no device present
Slave: acd0 <HL-DT-ST CD-ROM GCR-8520B/1.00> ATA/ATAPI rev 0
ATA channel 1:
Master: no device present
Slave: no device present
ATA channel 2:
Master: ad4 <MAXTOR 6L080J4/A93.0500> ATA/ATAPI rev 5
Slave: no device present
ATA channel 3:
Master: ad6 <MAXTOR 6L080J4/A93.0500> ATA/ATAPI rev 5
Slave: no device present
&prompt.root; atacontrol status ar0
ar0: ATA RAID1 subdisks: ad4 ad6 status: DEGRADEDA lemez biztonságos
eltávolításához
elõször válasszuk le (detach) a
meghibásodott lemezhez tartozó
csatornát:&prompt.root; atacontrol detach ata3Cseréljük ki a lemezt.Csatlakoztassuk újra (attach) az ATA
csatornát:&prompt.root; atacontrol attach ata3
Master: ad6 <MAXTOR 6L080J4/A93.0500> ATA/ATAPI rev 5
Slave: no device presentTartalékként (spare) adjuk hozzá az
új lemezt a tömbhöz:&prompt.root; atacontrol addspare ar0 ad6Szervezzük újra (rebuild) a
tömböt:&prompt.root; atacontrol rebuild ar0A folyamat elõrehaladását a
következõ parancs
begépelésével tudjuk figyelni:&prompt.root; dmesg | tail -10
[a kimenet többi része]
ad6: removed from configuration
ad6: deleted from ar0 disk1
ad6: inserted into ar0 disk1 as spare
&prompt.root; atacontrol status ar0
ar0: ATA RAID1 subdisks: ad4 ad6 status: REBUILDING 0% completedVárjunk a mûvelet
befejezõdéséig.MarcFonvieilleÍrta: USB tárolóeszközökUSBlemezekManapság már számos külsõ
tárolóeszköz az USB (Universal Serial Bus)
közvetítésével csatlakozik a
számítógéphez: merevlemezek, pen
drive-ok, CD-írók stb. A &os; ezeket az
eszközöket is ismeri.BeállításA USB tárolóeszközöket kezelõ
meghajtó, az &man.umass.4; felelõs az USB
alapú tárolóeszközök
támogatásáért. Ha a
GENERIC rendszermagot használjuk,
akkor semmit sem kell változtatnunk. Ha saját
rendszermagunk van, akkor gondoskodjunk róla, hogy a
következõ sorokat beraktuk a rendszermag
beállításait tartalmazó
állományba:device scbus
device da
device pass
device uhci
device ohci
device usb
device umassAz &man.umass.4; meghajtó a SCSI alrendszeren
keresztül éri el az USB
tárolóeszközöket, tehát az USB
eszközeinket a rendszer SCSI eszközként
látja. Az alaplapon található USB
chipkészlet típusától
függõen vagy csak a device uhci
vagy pedig a device ohci bejegyzésre
lesz szükségünk. De abból sem
származik kárunk, ha mind a kettõt
meghagyjuk. Ha módosítani kellett a
konfigurációs állományt, akkor ne
felejtsük el újrafordítani és
telepíteni sem a rendszermagot.Ha az USB eszközünk egy CD- vagy
DVD-író, akkor a következõ sorral a
SCSI CD-meghajtók meghajtóját, a
&man.cd.4; eszközt kell beépítenünk a
rendszermagba:device cdMivel az író is SCSI eszközként
látszik, ezért az &man.atapicam.4; nem
szerepelhet a rendszermag beállításai
között.A &os;-ben a USB 2.0-ás vezérlõk
támogatásához azonban a következõ
sort is fel kell vennünk a konfigurációs
állományba:device ehciHa mellette tovább is szükségünk
lenne az USB 1.X támogatásra, akkor hagyjuk meg
a &man.uhci.4; és &man.ohci.4;
eszközmeghajtókat.A beállítások
kipróbálásaA beállításaink készen
állnak a kipróbálásra:
csatlakoztassuk a számítógéphez az
USB eszközünket és a rendszerüzeneteket
tároló pufferben (&man.dmesg.8;) hamarosan meg is
jelenik a hozzátartozó meghajtó:umass0: USB Solid state disk, rev 1.10/1.00, addr 2
GEOM: create disk da0 dp=0xc2d74850
da0 at umass-sim0 bus 0 target 0 lun 0
da0: <Generic Traveling Disk 1.11> Removable Direct Access SCSI-2 device
da0: 1.000MB/s transfers
da0: 126MB (258048 512 byte sectors: 64H 32S/T 126C)Természetesen a gyártóra,
márkára, az eszköz
leírójára (da0)
és egyebekre vonatkozó részletek
eltérhetnek.Mivel az USB eszköz SCSI eszközként
látszik, ezért a camcontrol
parancs használható a rendszerhez csatlakoztatott
USB tárolóeszközök
listázásához:&prompt.root; camcontrol devlist
<Generic Traveling Disk 1.11> at scbus0 target 0 lun 0 (da0,pass0)Ha a meghajtón állományrendszer is
található, akkor képesek vagyunk
csatlakoztatni. A
elolvasása segíthet az USB meghajtón
partíciókat kialakítani és
formázni, amennyiben szükséges.Ha az eszközt normál
felhasználókkal is
csatlakoztathatóvá akarjuk tenni, akkor
további lépések megtételére
is szükségünk lesz. Elõször is a
felhasználóknak valahogy el kell tudniuk
érniük az USB tárolóeszköz
csatlakoztatásakor keletkezõ eszközöket.
Ezt úgy tudjuk megoldani, ha az érintett
felhasználókat felvesszük az
operator csoportba. Ebben a &man.pw.8;
lehet a segítségünkre. Másodsorban
amikor ezek az eszközök létrejönnek, az
operator csoportnak tudniuk kell ezeket
olvasniuk és írniuk. Ezt úgy tudjuk
megvalósítani, ha felvesszük a
következõ sorokat az
/etc/devfs.rules
állományba:[localrules=1]
add path 'da*' mode 0660 group operatorHa viszont vannak SCSI lemezeink is rendszerben, akkor a
helyzet egy kicsit megváltozik. Tehát
például a rendszerben már eleve vannak
da0, da1
és da2 néven lemezek,
akkor a második sort ennek megfelelõen
változtassuk meg:add path 'da[3-9]*' mode 0660 group operatorEzzel kizárunk minden, korábban már
létezõ lemezt az operator
csoportból.Emellett még az /etc/rc.conf
állományban engedélyeznünk kell a
saját &man.devfs.rules.5;
szabályrendszerünket is:devfs_system_ruleset="usb_rules"Ezt követõen be kell állítanunk a
rendszermagban, hogy a hagyományos
felhasználók képesek legyenek
állományrendszereket csatlakoztatni. Ezt a
legkönnyebb úgy tudjuk megtenni, ha az
/etc/sysctl.conf állományba
felvesszük a következõ sort:vfs.usermount=1Azonban ne felejtsük el, hogy ez csak a rendszer
következõ indításától
él. De a &man.sysctl.8; parancs
használatával is beállíthatjuk ezt
az értéket.Az utolsó lépésben hozzunk létre
egy könyvtárat az állományrendszer
csatlakoztatásához. Ezt a könyvtárat
az a felhasználó fogja birtokolni, aki az
állományrendszert csatlakoztatnia akarja. Ez
például root
felhasználóként úgy tudjuk megtenni,
ha a felhasználónak létrehozunk egy
könyvtárat
/mnt/felhasználó
néven (ahol a
felhasználó nevet
cseréljük a tényleges
- felhasználó nevére):
+ felhasználó nevére, a
+ csoport nevet pedig a
+ felhasználóhoz tartozó elsõdleges
+ csoport nevére):
&prompt.root; mkdir /mnt/felhasználó
-&prompt.root; chown felhasználó:felhasználó /mnt/felhasználó
+&prompt.root; chown felhasználó:csoport /mnt/felhasználóMost tegyük fel, hogy csatlakoztatnuk egy USB pen
drive-ot és ennek megfelelõen megjelenik a
/dev/da0s1 eszköz. Mivel az ilyen
eszközökre általában gyárilag FAT
állományrendszert tesznek, ezért így
kell ezeket csatlakoztatni a &man.mount.8; paranccsal:
- &prompt.user; mount -t msdosfs -m 644 -M 755 /dev/da0s1 /mnt/felhasználó
+ &prompt.user; mount -t msdosfs -o -m=644,-M=755 /dev/da0s1 /mnt/felhasználóHa leválasztjuk az eszközt (miután
kiadtuk a &man.umount.8; parancsot), akkor a
rendszerüzenetek között valami ilyesmit fogunk
látni:umass0: at uhub0 port 1 (addr 2) disconnected
(da0:umass-sim0:0:0:0): lost device
(da0:umass-sim0:0:0:0): removing device entry
GEOM: destroy disk da0 dp=0xc2d74850
umass0: detachedA témáról bõvebbenA Lemezek
hozzáadása és az Állományrendszerek
csatlakoztatása és
leválasztása címû szakaszok
elolvasása mellett a következõ man oldalakat is
ajánljuk: &man.umass.4;, &man.camcontrol.8; és
&man.usbdevs.8;.MikeMeyerÍrta: Lézeres tárolóeszközök (CD-k)
létrehozása és használataCD-klétrehozásaBevezetésA CD-k számos lehetõségünkben
eltérnek a hagyományos lemezektõl. Kezdetben
a felhasználók nem is voltak képesek
írni ezeket. Olyannak tervezték, hogy a fejek
sávok közti mozgásából
fakadó késleltetés nélkül
lehessen folyamatosan olvasni. A
szállítása a maga idejében sokkal
könnyebb volt minden vele egyforma méretû
eszköznél.A CD-ken is találhatunk sávokat, azonban ez
csak a folyamatosan olvasható adat egy szakaszát
jelenti, nem pedig a lemez fizikai tulajdonságát.
Ha &os;-n akarunk CD-t készíteni, akkor ehhez
elõször össze kell állítanunk a CD
egyes sávjaira kerülõ adatokat és
ezután rögzíteni ezeket a sávokat a
CD-n.ISO 9660állományrendszerekISO 9660Az ISO 9660 állományrendszert úgy
tervezték, hogy megbirkózzon ezekkel az
eltérésekkel. Sajnos ezzel együtt kõbe
vésték az állományrendszerek
akkoriban érvényes korlátozásait is.
Szerencsére lehetõséget ad
bõvítésre, ezáltal a helyesen
megírt CD-k képesek úgy
átlépni ezeket a határokat, hogy
közben az általuk alkalmazott
kiterjesztéseket nem ismerõ rendszerekkel is
együtt tudnak mûködni.sysutils/cdrtoolsA sysutils/cdrtools port
tartalmaz egy &man.mkisofs.8; nevû programot, amellyel
létre tudunk hozni ISO 9660 típusú
állományrendszert tartalmazó
adatállományt. Többféle
kiterjesztést is ismer, amit majd a lentebb ismertett
opciókkal érhetünk el.CD-íróATAPIA CD írásához használt
konkrét segédeszköz attól függ,
hogy ATAPI vagy esetleg másmilyen írónk
van. Az ATAPI CD-írók az alaprendszer
részeként elérhetõ burncd programon
keresztül használhatóak. A SCSI és
USB CD-írók esetén pedig a sysutils/cdrtools portban
megtalálható cdrecord programot
használhatjuk. Az ATAPI/CAM
modul segítségével a cdrecord és
más SCSI-írókra készült
programokat is tudunk használni ATAPI hardvereken.Ha a CD-író szoftverünket grafikus
felhasználói felületen keresztül
szeretnénk használni, akkor az
X-CD-Roast vagy a
K3b alkalmazásokat
érdemes szemügyre vennünk. Ezek az
eszközök elérhetõek csomagként vagy
a sysutils/xcdroast
és sysutils/k3b
portokból. ATAPI hardver esetén az
X-CD-Roast és a
K3b alkalmazások
használatához szükségünk lesz az
ATAPI/CAM modulra.mkisofsA sysutils/cdrtools port
részeként elérhetõ &man.mkisofs.8;
program képes a &unix; típusú
állományrendszer könyvtárszerkezete
alapján egy ISO 9660 típusú
állományrendszert tartalmazó image-et
készíteni. Legegyszerûbb módon
így használhatjuk:&prompt.root; mkisofs -o image.iso/az/elérési/útállományrendszerekISO 9660Ezzel a paranccsal egy olyan
image.iso nevû
állományt hozunk létre, amely
/az/elérési/út
által megadott helyen található
könyvtárszerkezetet mintázza ISO 9660
állományrendszer formájában. A
folyamat során minden olyan állományt
leképez szabványos ISO 9660
állományrendszerbeli névre, amely megfelel
a szabvány elvárásainak, és kihagy
minden olyan állományt, amely nem jellemzõ az
ISO állományrendszerekre.állományrendszerekHFSállományrendszerekJolietSzámos opció lehet
segítségünkre az ilyenkor felbukkanó
akadályok leküzdésében. Ezek
közül különösen fontos az
, amely a &unix; rendszerek
számára megszokott Rock Ridge
kiterjesztéseket, valamint a , amely a
Microsoft rendszerekben használt Joliet
kiterjesztéseit, és végül a
, amely a &macos; alatt létrehozott
HFS állományrendszerek kiterjesztéseit
engedélyezi.A kizárólag csak &os; rendszereken
használt CD-k esetében a
megadásával kapcsolhatjuk ki az
állománynevek mindenféle
korlátozását. Az
beállítás használatával olyan
állományrendszer képét hozzuk
létre, amely teljesen megegyezik a parancsban megadott
könyvtárból induló fa
tartalmával, habár több módon is
sérti az ISO 9660 szabvány
elõírásait.CD-krendszerindításhozAz utolsó általános jelleggel
használható beállítás a
. Ezzel lehet megadni az El
Torito szabványnak megfelelõ
rendszerindító CD
készítéséhez szükséges
rendszerindító image
elérését. Ennél a
beállításnál tehát meg kell
adni a rendszerindításhoz használt lemez
image-ét, amely a CD tartalmát magában
foglaló könyvtárszerkezetben
található valahol. A &man.mkisofs.8;
alapértelmezés szerint egy ún.
floppy emulációs módban
hozza létre az ISO image-et, ezért a
rendszerindításhoz használatos lemez
image-ének pontosan 1200, 1440 vagy 2880 KB
méretûnek kell lennie. Egyes
rendszerbetöltõk, mint amilyen például a
&os; terjesztéséhez használt lemezeken
található, nem használják ezt az
emulációt. Ilyen helyzetekben a
kapcsolót kell megadni.
Tehát ha a
/tmp/sajátboot
könyvtárban van egy indítható &os;
rendszerünk, amelyben a
/tmp/sajátboot/boot/cdboot
a rendszerindító lemez image-e, akkor egy
/tmp/indítható.iso
nevû ISO 9660 formátumú
állományrendszert tartalmazó image-et
például így tudunk
elkészíteni:&prompt.root; mkisofs -R -no-emul-boot -b boot/cdboot -o /tmp/indítható.iso/tmp/sajátbootMiután ezt megtettük, és a
rendszermagunkban benne van az md
eszköz támogatása, csatlakoztathatjuk is az
állományrendszert:&prompt.root; mdconfig -a -t vnode -f /tmp/indítható.iso -u 0
&prompt.root; mount -t cd9660 /dev/md0 /mntEzután már össze tudjuk vetni az
/mnt és
/tmp/sajátboot
könyvtárak egyezõségét.A &man.mkisofs.8; viselkedését több
más opcióval tudjuk finomhangolni, mint
például az ISO 9660 kiosztás
módosítása vagy a Joliet és HFS
lemezek készítése. A &man.mkisofs.8; man
oldalon mindezekrõl bõvebben olvashatunk.burncdCD-kírásaHa ATAPI CD-írónk van, akkor a
burncd paranccsal írhatjuk az ISO
image-et a lemezre. A burncd az alaprendszer
része, és /usr/sbin/burncd
néven érhetõ el. A használata igen
egyszerû, csupán pár paramétere
van:&prompt.root; burncd -f eszköz data image.iso fixateEzzel a paranccsal rámásoljuk az
image.iso állományt az
eszköz eszközre. Az
alapértelmezett eszköz a
/dev/acd0. A &man.burncd.8; man
oldalán találjuk meg az írási
sebességgel, a CD írás utáni
kiadásával és az audio lemezek
írásával kapcsolatos
beállításokat.cdrecordHa nincs ATAPI CD-írónk, akkor az
íráshoz a cdrecord parancsot
kell használnunk. A cdrecord nem az
alaprendszer része: vagy a sysutils/cdrtools portból vagy
a neki megfelelõ csomagból kell
telepítenünk. Az alaprendszerben
végbemenõ változások miatt a program
bináris változatai hibázhatnak, aminek
következtében csak
poháralátéteket fogunk tudni
gyártani. Ezért a rendszerrel együtt
érdemes frissíteni ezt a portot is. Vagy ha a
-STABLE verziót
használjuk, akkor mindig érdemes a port
elérhetõ legújabb verziójára
frissíteni.Miközben a cdrecord számos
paraméterrel rendelkezik, az alapvetõ
használata mégis egyszerûbb a
burncd parancsénál. Egy ISO
9660 formátumú image-et ugyanis a
következõ módon tudunk felírni
lemezre:&prompt.root; cdrecord dev=eszközimage.isoA cdrecord használatának
trükkös része a megfelelõ eszköz
megtalálása, tehát a
beállítás helyes megadása. Ehhez
használjuk a cdrecord
paraméterét, amely az
alábbihoz hasonló eredményt fog
produkálni:CD-kírása&prompt.root; cdrecord -scanbus
Cdrecord-Clone 2.01 (i386-unknown-freebsd7.0) Copyright (C) 1995-2004 Jörg Schilling
Using libscg version 'schily-0.1'
scsibus0:
0,0,0 0) 'SEAGATE ' 'ST39236LW ' '0004' Disk
0,1,0 1) 'SEAGATE ' 'ST39173W ' '5958' Disk
0,2,0 2) *
0,3,0 3) 'iomega ' 'jaz 1GB ' 'J.86' Removable Disk
0,4,0 4) 'NEC ' 'CD-ROM DRIVE:466' '1.26' Removable CD-ROM
0,5,0 5) *
0,6,0 6) *
0,7,0 7) *
scsibus1:
1,0,0 100) *
1,1,0 101) *
1,2,0 102) *
1,3,0 103) *
1,4,0 104) *
1,5,0 105) 'YAMAHA ' 'CRW4260 ' '1.0q' Removable CD-ROM
1,6,0 106) 'ARTEC ' 'AM12S ' '1.06' Scanner
1,7,0 107) *Itt felsorolásra kerülnek a
beállítás értékeként
felhasználható eszközök. Keressük
meg köztük a CD írónkat és a
értékének a
három vesszõvel elválasztott számot
adjuk meg. Ebben az esetben a CD-író eszköz
most az 1,5,0 lesz, tehát itt a helyes
paraméterezés . Ezt az
értékét könnyebben is meg lehet adni.
Ennek részleteirõl a &man.cdrecord.1; man
oldalán olvashatunk. Abban az esetben is érdemes
fellapoznunk, ha az audio sávok
írásáról, az írási
sebesség korlátozásáról vagy
más hasonló dolgokról akarunk
olvasni.Audio CD-k másolásaAudio CD-t úgy tudunk másolni, ha
elõször állományok sorozatába
mentjük a lemez tartalmát, majd ezeket az
állományokat egy üres CD-re írjuk.
Ennek konkrét folyamata azonban némileg
eltér az ATAPI- és SCSI-meghajtók
használata során.SCSI-meghajtók eseténA cdda2wav programmal mentsük le
a lemez tartalmát.&prompt.user; cdda2wav -v255 -D2,0 -B -OwavA cdrecord paranccsal írjuk
fel a .wav kiterjesztésû
állományokat.&prompt.user; cdrecord -v dev=2,0 -dao -useinfo *.wavGondoskodjunk róla, hogy a
2,0 értéket a nak megfelelõen helyesen
állítottuk be.ATAPI-meghajtók eseténAz ATAPI CD meghajtója az egyes sávokat
/dev/acddtnn néven teszi
elérhetõvé, ahol a
d a meghajtó
sorszáma, a nn a
sáv két számjeggyel kiírt
sorszáma, amelyet szükség szerint
balról nullával egészítenek ki.
Így tehát az elsõ meghajtó
elsõ sávja a /dev/acd0t01,
a második a /dev/acd0t02, a
harmadik a /dev/acd0t03 és
így tovább.Ellenõrizzük, hogy ezek az eszközök
jelen vannak a /dev
könyvtárban. Amennyiben
hiányoznának, kényszerítsük
ki a lemez újbóli
beolvasását:&prompt.root; dd if=/dev/acd0 of=/dev/null count=1Szedjük le az egyes sávokat a &man.dd.1;
használatával. A parancs kiadásakor
meg kell adnunk egy blokkméretet is:&prompt.root; dd if=/dev/acd0t01 of=track1.cdr bs=2352
&prompt.root; dd if=/dev/acd0t02 of=track2.cdr bs=2352
...
A burncd használatával
írjuk fel a lemezre az imént lementett
állományokat. Meg kell adnunk, hogy ezek
audio állományok, és hogy a
burncd a munka befejeztével
zárja le (fixate) a lemezt.&prompt.root; burncd -f /dev/acd0 audio track1.cdr track2.cdr ... fixateAdat CD-k másolásaAz adatot tartalmazó CD-ket le tudjuk másolni
egy olyan image-be, amely funkcionálisan megegyezik egy
&man.mkisofs.8; által létrehozott image-dzsel
és amivel le tudunk másolni bármilyen adat
CD-t. Az itt megadott példa azt feltételezi, hogy
a CD-meghajtónk neve acd0.
Helyére a saját CD-meghajtónk nevét
kell behelyettesíteni.&prompt.root; dd if=/dev/acd0 of=állomány.iso bs=2048Most miután lementettük az image-et,
írjuk fel CD-re a fentiek szerint.Adat CD-k használataMost, hogy már készítettünk egy
szabványos adat CD-t, valószínûleg
szeretnénk is valamilyen csatlakoztatni és
elérni a rajta levõ adatokat.
Alapértelmezés szerint a &man.mount.8; mindig azt
feltételezi, hogy az állományrendszerek
ufs típusúak. Ezért ha
valami ilyesmivel próbálkozunk:&prompt.root; mount /dev/cd0 /mntakkor egy Incorrect super block
szövegû hibaüzenetet lesz a jutalmunk, és
természetesen nem tudjuk csatlakoztatni a CD-t. Mivel a
CD nem UFS állományrendszert
tartalmaz, ezért az ilyen jellegû
kísérleteink mind kudarcba fognak fulladni.
Valahogy fel kell világosítanunk a &man.mount.8;
parancsot arról, hogy itt most egy
ISO9660 típusú
állományrendszert akarunk csatlakoztatni,
és akkor minden a helyére kerül. Ezt
úgy tudjuk megtenni, ha a &man.mount.8; parancsnak
megadjuk a paramétert.
Például, ha a /dev/acd0
néven elérhetõ CD-meghajtóban
levõ lemezt akarjuk a /mnt
könyvtárba csatlakoztatni, akkor ezt kell
begépelnünk:&prompt.root; mount -t cd9660 /dev/cd0 /mntVegyük észre, hogy az eszköz neve (ez ebben
a példában most /dev/cd0)
lehet más is attól függõen, hogy milyen
csatolófelületet használ a
CD-meghajtónk. Sõt, a
valójában csak a &man.mount.cd9660.8; parancsot
indítja el. Ennek tükrében tehát az
elõbbi példát így
rövidíthetjük le:&prompt.root; mount_cd9660 /dev/cd0 /mntEzen a módon bármilyen
gyártmányú adat CD-t képesek vagyunk
csatlakoztatni. Egyes ISO 9660 kiterjesztéseket
használó lemezek azonban esetleg furcsán
mûködhetnek. Például Joliet lemezek az
összes állomány nevét
kétbyte-os Unicode karakterben tárolják. A
&os; rendszermagja ugyan nem beszéli a Unicode-ot, de a
&os; CD9660 meghajtója képes menetközben
átkonvertálni a Unicode karaktereket. Ha bizonyos
nem angol karakterek kérdõjelekként
jelennének meg, akkor a
beállítás használatával
még egy helyi kódlapot is meg kell adnunk. Ezzel
kapcsolatban bõvebb
tájékoztatásért forduljunk a
&man.mount.cd9660.8; man oldalhoz.A beállítás
segítségével csak akkor lesz képes
a rendszermag elvégezni ezt az
átalakítást, ha elõtte
betöltjük a cd9660_iconv.ko
modult. Ezt megtehetjük úgy, hogy ha
felvesszük a következõ sort a
loader.conf
állományba:cd9660_iconv_load="YES"Indítsuk újra a
számítógépünket, vagy
közvetlenül töltsük be a modult a
&man.kldload.8; használatával.Estenként elõfordulhat, hogy kapunk egy
Device not configured hibaüzenetet a
CD-k csatlakoztatásakor. Ez általában arra
utal, hogy a CD-meghajtó nem érzékeli a
berakott lemezt, vagy éppen a meghajtó nem
látható a buszon. A CD-meghajtók
esetében pár másodpercig eltarthat,
amíg felismeri a berakott lemezt, ilyenkor mindig
legyünk türelemmel.Néha a SCSI CD-meghajtó nem
látható, mert nem volt elég ideje
válaszolni busz újraindítása
elõtt. Ha SCSI CD-meghajtónk van, akkor a
következõ beállítást tegyük
hozzá a rendszermagunk
konfigurációjához és fordítsuk újra a
rendszermagukat.options SCSI_DELAY=15000Ezzel utasítjuk a SCSI buszunkat egy 15
másodperces várakozásra a rendszer
indítása során, és így ezzel
elég esélyt adunk arra, hogy a CD-meghajtó
válaszolni tudjon a busz
újraindítása elõtt.Nyers adat CD-k írásaÍrhatunk közvetlenül is
állományokat a CD-re, ISO 9660
formátumú állományrendszer
használata nélkül. Sokan így
oldják meg a mentést. Ezt sokkal gyorsabban
lebonyolítható egy szabványos
CD esetében:&prompt.root; burncd -f /dev/acd1 -s 12 data archive.tar.gz fixateAz ezen a módon megírt CD-ket szintén
nyers módon kell olvasnunk:&prompt.root; tar xzvf /dev/acd1Az ilyen lemezeket nem tudjuk a normális CD-khez
hasonlóan csatlakoztatni. Sõt, az ilyen CD-ket csak
&os; alatt tudjuk olvasni. Ha csatlakoztathatóvá
akarjuk tenni a lemezt, vagy más operációs
rendszerek alól is szeretnénk olvasni, akkor erre
a célra a fentebb bemutatott &man.mkisofs.8; parancsot
kell használnunk.MarcFonvieilleÍrta: CD-írókATAPI/CAM meghajtóAz ATAPI/CAM meghajtó használataEz a meghajtó lehetõvé teszi az ATAPI
eszközök (CD-ROM, CD-RW, DVD meghajtók stb...)
számára, hogy a SCSI alrendszeren keresztül
legyenek elérhetõek, így esetünkben is
használhatóvá válnak olyan
alkalmazások, mint például sysutils/cdrdao vagy a
&man.cdrecord.1;.A meghajtó használatához a
következõ sort kell a
/boot/loader.conf állományba
illeszteni:atapicam_load="YES"Indítsuk újra a
számítógépet.Amennyiben a rendszermagban az &man.atapicam.4; statikus
támogatását szeretnénk
használni, úgy a következõ sort kell a
rendszermag konfigurációs
állományába felvenni:device atapicamTovábbá a következõ sorokra lesz
még szükségünk:device ata
device scbus
device cd
device passEzeknek már eleve ott kell szerepelnie.
Ezután fordítsuk újra és
telepítsük a rendszermagot, majd indítsuk
újra a számítógépet.A rendszer indulásakor az írónak ehhez
hasonló módon kell megjelennie:acd0: CD-RW <MATSHITA CD-RW/DVD-ROM UJDA740> at ata1-master PIO4
cd0 at ata1 bus 0 target 0 lun 0
cd0: <MATSHITA CDRW/DVD UJDA740 1.00> Removable CD-ROM SCSI-0 device
cd0: 16.000MB/s transfers
cd0: Attempt to query device size failed: NOT READY, Medium not present - tray closedA meghajtó most már elérhetõ a
/dev/cd0 eszközön keresztül,
és például ennyi
begépelésével csatlakoztatni tudunk
róla egy CD-t a /mnt
könyvtárba:&prompt.root; mount -t cd9660 /dev/cd0 /mntroot
felhasználóként a következõ
paranccsal tudjuk lekérdezi az író SCSI
címét:&prompt.root; camcontrol devlist
<MATSHITA CDRW/DVD UJDA740 1.00> at scbus1 target 0 lun 0 (pass0,cd0)Eszerint a 1,0,0 lesz az eszköz SCSI
címe, amelyet a &man.cdrecord.1; és más
SCSI alkalmazások esetén adunk meg.Az ATAPI/CAM és SCSI rendszerek tekintetében
olvassuk el az &man.atapicam.4; és &man.cam.4; man
oldalakat.MarcFonvieilleÍrta: AndyPolyakovSegítséget nyújtott benne:
Lézeres tárolóeszközök (DVD-k)
létrehozása és használataDVDírásaBevezetésA DVD a CD-hez képest a lézeres
tárolóeszközök
technológiájának újabb
generációját képviseli. A DVD
bármelyik CD-nél több adatot képes
tárolni és napjaink ez a videók
kiadásának szabványa.Öt fizikailag írható formátummal
határozhatjuk meg az írható DVD
fogalmát:DVD-R: Ez volt az elsõ elérhetõ
írható DVD formátum. A DVD-R
szabványát a DVD
Fórum fektette le. Ez a formátum csak
egyszer írható.DVD-RW: Ez a DVD-R szabvány
újraírható változata. A DVD-RW
körülbelül 1000 alkalommal
írható újra.DVD-RAM: Ez is a DVD Fórum által
támogatott újraírható
formátum. A DVD-RAM cserélhetõ
merevlemeznek látzsik. Azonban ez
típusú adathordozó nem kompatibilis
legtöbb DVD-ROM hajtóval és DVD-Video
lejátszóval. Csupán csak
néhány DVD-író ismeri a DVD-RAM
formátumot. A DVD-RAM
használatáról a ban találunk bõvebben
információkat.DVD+RW: Ezt az újraírható
formátumot a DVD+RW
szövetség alkotta meg. A DVD+RW lemezek
nagyjából 1000 alkalommal
írhatóak újra.DVD+R: Ez a formátum a DVD+RW formátum
egyszer írható változata.Az egyrétegû írható DVD-k
összesen 4 700 000 000 byte-ot
képesek rögzíteni, ami 4,38 GB vagy
4 485 MB (1 kilobyte itt 1024 byte).Meg kell különböztetnünk fizikai
tárolóeszközt és az
alkalmazást. Például a DVD-Video
állományok olyan jellegû
elrendezését írja elõ, ami
bármelyik írható fizikai DVD
eszközön megjelenhet: DVD-R, DVD+R, DVD-RW stb.
Mielõtt kiválasztanánk az eszköz
típusát, biztosnak kell lennünk benne, hogy
az író és a DVD-Video
lejátszó (ez lehet egy önálló
lejátszó vagy egy
számítógép DVD-ROM
meghajtója) kompatibilis a szóbanforgó
lemezzel.BeállításA &man.growisofs.1; programot fogjuk a DVD
rögzítésére használni. Ez a
program a dvd+rw-tools
segédprogramok (sysutils/dvd+rw-tools)
gyûjteményének része. A
dvd+rw-tools az összes DVD
médium típusát ismeri.Ezek a segédprogramok a SCSI alrendszeren
keresztül érik az eszközöket, ezért
a használhatukhoz a rendszermagban
szükségünk lesz az ATAPI/CAM támogatásra.
Ha az írónk USB felületen csatlakozik, akkor
mindez szükségtelen, és ehelyett a t kell elolvasnunk az USB eszközök
beállításához.Engedélyeznünk kell az ATAPI eszközök
DMA hozzáférését is, amit a
/boot/loader.conf állományban
a következõ sor hozzáadásával
tudunk megtenni:hw.ata.atapi_dma="1"A dvd+rw-tools
használatának megkezdése elõtt a
DVD-írónkkal kapcsolatban érdemes
átolvasnunk a
dvd+rw-tools hardverkompatibilitási jegyzeteit
(angolul).Ha grafikus felületet szeretnénk
használni, akkor érdemes egy pillanatást
vetnünk a K3bre (sysutils/k3b), amely egy
felhasználóbarát felületet ad a
&man.growisofs.1; és sok más
íróprogram felé.Adat DVD-k írásaA &man.growisofs.1; a mkisofs
parancs elõlapja, tehát az
állományrendszer
létrehozásához a &man.mkisofs.8; programot
fogja meghívni és ezt írja fel a DVD-re.
Ez azt jelenti, hogy az írási folyamat
megkezdése elõtt nem kell semmilyen image-et
létrehoznunk.A /az/elérési/út
könyvtárból a következõ paranccsal
tudjuk kiírni az adatokat DVD+R vagy DVD-R
lemezre:&prompt.root; growisofs -dvd-compat -Z /dev/cd0 -J -R /az/elérési/útA beállítások a
&man.mkisofs.8; programhoz kerülnek át az
állományrendszer létrehozásakor (itt
most egy ISO 9660 állományrendszert hozunk
létre, Joliet és Rock Ridge
kiterjesztésekkel), használatának
részleteit lásd &man.mkisofs.8;.A beállítást a
kezdõmenetek létrehozásakor
használjuk: több menetben akarjuk írni a
lemezt vagy sem. A DVD eszközt, amely itt most a
/dev/cd0, a saját
konfigurációnknak megfelelõen kell megadni.
A paraméterrel
lezárjuk a lemezt, így ezután
további írás már nem
lehetséges. Ezért cserébe jobb
kompatibilitást kapunk a DVD-ROM
meghajtókkal.Elõre legyártott image-dzsel is dolgozhatunk,
tehát például, ha az
image.iso állományt
akarjuk kiírni, akkor ezt kell lefuttatnunk:&prompt.root; growisofs -dvd-compat -Z /dev/cd0=image.isoAz írási sebességet
magától beállítja a lemez és
meghajtó képességeinek megfelelõen.
Az írási sebesség
felülbírálásához
használjuk a paramétert.
A paraméterek lehetõségeirõl a
&man.growisofs.1; man oldaláról tudhatunk meg
többet.DVDDVD-VideoDVD-Video írásaA DVD-Video az állományok speciális
szervezésére utal, amely az ISO 9660 és az
mikró UDF (M-UDF) specifikációkon alapszik.
A DVD-Video emellett egy adott adatszerkezeti hierarchiát
is takar, ezért kell egy külön programmal,
például a multimedia/dvdauthor
segítségével
összeállítani egy DVD-t.Ha már a birtokunkban van egy DVD-Video
állományrendszer képe, akkor az eddigiek
szerint egyszerûen csak írjuk fel egy lemezre, ahogy
azt az elõzõ szakaszban is láthattuk. Ha
összeállítottuk a DVD anyagát
és például a /a/videó/elérési/útja
könyvtárba raktuk, akkor a következõ
paranccsal írathatjuk ki a DVD-Video
formátumú lemezt:&prompt.root; growisofs -Z /dev/cd0 -dvd-video /a/videó/elérési/útjaA paramétert kell
átadni a &man.mkisofs.8; programnak, amelynek
hatására létrehoz egy DVD-Video
formátumú állományrendszert.
Emellett a
beállítás maga után vonja a
&man.growisofs.1;
beállítását is.DVDDVD+RWA DVD+RW használataEltérõen a CD-RW-tõl, egy érintetlen
DVD+RW-t az elsõ használat elõtt meg kell
formázni. A &man.growisofs.1; program errõl az
elsõ adandó alkalommal gondoskodik, és ez az
ajánlott. Azonban a DVD+RW
formázására használhatjuk a
dvd+rw-format parancsot is:&prompt.root; dvd+rw-format /dev/cd0Ezt a mûveletet csak egyszer kell elvégezni,
hiszen ne feledjük, hogy csak a szûz DVD+RW lemezeket
kell megformázni. Ezután a DVD+RW-t a
korábbi szakaszoknak megfelelõen tudjuk
írni.Ha a DVD+RW-re új adatot akarunk írni (egy
teljesen új állományrendszert, nem pedig
adatokat hozzáfûzni), akkor nem kell
üressé tenni a lemezt, egyszerûen csak
elegendõ felülírni az elõzõeket (egy
új kezdõmenet létrehozásával)
valahogy így:&prompt.root; growisofs -Z /dev/cd0 -J -R /az/új/adat/helyeA DVD+RW formátum felajánlja annak
lehetõségét is, hogy könnyedén
hozzá lehessen fûzni adatokat az elõzõ
íráshoz. A mûvelet során az új
menetet összefûzi a meglévõvel,
tehát ez nem egy többmenetes írás,
hanem a &man.growisofs.1; megnöveli a
lemezen található ISO 9660
állományrendszert.Például, ha egy korábban megírt
DVD+RW lemezen levõ adatokhoz akarunk
hozzáírni, akkor a következõ parancsot
kell kiadnunk:&prompt.root; growisofs -M /dev/cd0 -J -R /az/új/adat/helyeA &man.mkisofs.8; beállításainál
a kezõmenetnél megadottakat érdemes
ismét megadni.Ha kompatibilisek akarunk maradni a többi
DVD-meghajtóval, akkor adjuk meg
paramétert. Ez a DVD+RW
esetében annyit jelent, hogy nem tudunk további
adatokat hozzáfûzni.Ha valamilyen okból mégis üressé
szeretnénk tenni a lemez, akkor ír
járhatunk el:&prompt.root; growisofs -Z /dev/cd0=/dev/zeroDVDDVD-RWA DVD-RW használataA DVD-RW két lemezformátumot fogad el: a
inkrementális soros hozzáférést
és a korlátozott felülírást.
Alapértelmezés szerint a DVD-RW lemezek soros
elérésûek.A még fel nem használt DVD-RW lemezek
közvetlenül írhatóak külön
formázás nélkül, habár a
korábban már soros formátumban
használt DVD-RW lemezeket egy új kezdõmenet
létrehozása elõtt üressé kell
tenni.Soros módban így kell letörölni egy
DVD-RW lemezt:&prompt.root; dvd+rw-format -blank=full /dev/cd0A teljes törlés ()
egy 1x média esetén körülbelül
egy órát vesz igénybe. A
beállítással egy
gyorsított törlés zajlik le, amennyiben a
DVD-RW lemezt Disk-At-Once (DAO) módban írjuk.
A DVD-RW lemezeket az alábbi paranccsal tudjuk DAO
módban írni:&prompt.root; growisofs -use-the-force-luke=dao -Z /dev/cd0=image.isoA
beállítást nem kötelezõ
megadni, mivel a &man.growisofs.1; igyekszik a lehetõ
leggyorsabban törölni a lemezt és megkezdeni
a DAO módú írást.A DVD-RW esetében valójában a
korlátozott felülírást lenne
érdemes használnunk, mivel ez a formátum
sokkal rugalmasabb az alapértelmezés szerint
felkínált inkrementális soros
elérésnél.A soros DVD-RW lemezekre ugyanúgy tudunk adatokat
rögzíteni, mint az összes többi
formátum esetében:&prompt.root; growisofs -Z /dev/cd0 -J -R /az/adat/helyeHa az elõzõ íráshoz akarunk
még hozzáfûzni adatokat, akkor ehhez a
&man.growisofs.1;
beállítását kell használnunk.
Azonban ha a DVD-RW lemezhet inkrementális soros
módban adunk hozzá adatot, akkor ezzel egy
új menetet hozunk létre a lemezen és
így egy többmenetes lemezt kapunk.A korlátozott felülírású
DVD-RW formátum használata esetén nem kell
mindegyik kezdõmenet elõtt törölni a lemezt,
egyszerûen csak felül kell írni a
beállítással,
hasonlóan a DVD+RW esetéhez. A DVD+RW
beállításához
hasonlóan lehetõségünk van a lemezen
található ISO 9660 formátumú
állományrendszer növelésére.
Ennek az eredménye egy egymenetes DVD.A következõ paranccsal tudjuk a DVD-RW lemezt
korlátozott felülírású
módba tenni:&prompt.root; dvd+rw-format /dev/cd0Így tudunk visszaváltani a soros
formátum használatára:&prompt.root; dvd+rw-format -blank=full /dev/cd0Több menet használataNagyon kevés DVD-ROM meghajtó ismeri a
többmenetes DVD-ket, és legtöbbször is
csak általában az elsõ menetet
olvassák. A DVD+R, DVD-R és DVD-RW
formátumok soros formátumban képesek
több mentetet is befogadni, viszont a DVD+RW és
DVD-RW korlátozott felülírású
formátuma esetén nem létezik több
menet.Az alábbi parancs egy újabb menetet ad
hozzá egy megkezdett (le nem zárt) DVD+R, DVD-R
vagy DVD-RW soros formátumú lemezhez:&prompt.root; growisofs -M /dev/cd0 -J -R /az/új/adat/helyeHa ezt a parancsot egy korlátozott
felülírású DVD+RW vagy DVD-RW lemez
esetén adjuk ki, akkor az új adatokat úgy
fûzi hozzá, hogy egy új menetet
összefésüli a meglévõvel. Ezzel
egy egymenetes lemez keletkezik. Ilyenkor így
bõvítik a megkezdett lemezeket.A menetek kezdése és befejezése
általában felhasznál valamennyi helyet a
lemezen. Ezért úgy tudjuk optimalizálni
a lemez helykihasználtságát, hogy
kevés menetben sok adatot viszünk fel rá.
A DVD+R esetén 154, a DVD-R-nél
körülbelül 2000, és a dupla
rétegû DVD+R lemezeknél 127 menetet tudunk
létrehozni.További olvasnivalókA DVD lemezrõl részletesebb
információkat a dvd+rw-mediainfo
/dev/cd0 parancs
kiadásával tudunk lekérdezni.A dvd+rw-tools
használatáról a &man.growisofs.1; man
oldalon találunk információt, valamint a
dvd+rw-tools
honlapján (angolul) és a cdwrite levelezési
lista archívumaiban (angolul).Futassuk dvd+rw-mediainfo parancsot
minden olyan esetben, amikor gondunk akad valamilyen lemez
írásával. A kimenete nélkül
szinte lehetetlen segítenünk bárkinek
is.A DVD-RAM használataDVDDVD-RAMBeállításA DVD-RAM írók SCSI vagy ATAPI
csatolófelülettel rendelkeznek. Az ATAPI
eszközök esetén engedélyezni kell a
DMA elérését, amit a
/boot/loader.conf
állományban az alábbi sor
hozzáadásával tudunk megtenni:hw.ata.atapi_dma="1"A lemez elõkészítéseAhogy arra már korábban utaltunk a fejezet
bevezetésében, a DVD-RAM úgy
látható, mint egy cserélhetõ
merevlemez. A hagyományos merevlemezekhez
hasonlóan a DVD-RAM-ot is elõ kell
készíteni az elsõ
használatához. Ebben a példában a
lemez teljes területét egy szabványos UFS2
állományrendszerrel töltjük
fel:&prompt.root; dd if=/dev/zero of=/dev/acd0 bs=2k count=1
&prompt.root; bsdlabel -Bw acd0
&prompt.root; newfs /dev/acd0A DVD eszköz nevét, vagyis az
acd0 eszközt a saját
rendszerünknek megfelelõen kell
módosítani.A lemez használataMiután az elõbbi mûveletet
elvégeztük a DVD-RAM lemezen, már tudjuk is
normális merevlemezként csatlakoztatni:&prompt.root; mount /dev/acd0/mntEzt követõen a DVD-RAM egyaránt
olvasható és írható.JulioMerinoEredetileg készítette: MartinKarlssonÁtdolgozta: Hajlékonylemezek létrehozása és
használataNéha hasznos lehet, ha az adatokat floppy lemezeken
tároljuk, például olyankor, amikor más
cserélhetõ tárolóeszköz már
nem jöhet számításba, vagy amikor kis
mennyiségû adatot kell átvinnünk az egyik
számítógéprõl a
másikra.Ebben a szakaszban bemutatjuk hogyan kell &os; alatt floppy
lemezeket használni. Elsõsorban a 3,5 colos DOS
lemezek formázásával és
használatával foglalkozik, de ezek fogalmak a
többi hajlékonylemezes formátum esetében
is hasonlóak.A hajlékonylemezek formázásaAz eszközA floppy lemezek a többi eszközhöz
hasonlóan a /dev
könyvtárban érhetõek el. A nyers
floppy lemezek eléréséhez egyszerûen
csak használjuk a
/dev/fdN
hivatkozást.A formázásHasználat elõtt a floppy lemezeket alacsony
szinten meg kell formázni. Ezt általában
maga a gyártó végzi el, de a
formázás gyakran hasznos lehet a lemez
sértetlenségének
ellenõrzésére. A legtöbb floppy lemez
hivatalos kapacitása 1440 KB, de
használhatjuk nagyobb (és kisebb)
méretekben is.A floppy lemezek alacsony szintû
formázására az &man.fdformat.1; parancsot
használhatjuk. Ez a segédprogram
paraméterként az eszköz nevét
várja.Figyeljünk a menetközben megjelenõ
hibaüzenetekre, mivel ezek segítik eldönteni,
hogy a lemez használható vagy sem.A hajlékonylemezek
formázásaA
/dev/fdN
eszközök segítségével tudunk
megformázni egy floppy lemezt. Tegyünk be egy
3,5 colos floppy lemezt a meghajtóba, majd adjuk
ki a következõ parancsot:&prompt.root; /usr/sbin/fdformat -f 1440 /dev/fd0A lemez címkézéseMiután alacsony szinten formáztuk a lemezt,
tennünk kell rá egy lemezcímkét is.
Ez a lemezcímke késõbb meg fog
semmisülni, de a rendszernek szüksége van
rá, hogy pontosan meg tudja állapítani a
lemez méretét és
geometriáját.Az új lemezcímke lefedi az egész
lemezt, és tartalmazni fogja az összes
információt a floppy
geometriájáról. A
lemezcímkék geometriaértékeit az
/etc/disktab állományban
találjuk meg felsorolva.Most már futtathatjuk is a &man.bsdlabel.8;
parancsot:&prompt.root; /sbin/bsdlabel -B -w /dev/fd0 fd1440Az állományrendszerA hajlékonylemez most már készen
áll a magas szintû formázásra. Ennek
során egy új állományrendszert
teszünk rá, amelyet a &os; képes írni
és olvasni. Miután létrejött ez az
új állományrendszer, a lemezcímke
megsemmisül, így tehát ha újra meg
akarjuk formázni a lemezt, akkor újra létre
kell majd hoznunk a lemezcímkét.A floppy állományrendszere lehet UFS vagy FAT.
A FAT általánosságban véve jobb
választás a floppy lemezek
számára.Az alábbi módon tudunk új
állományrendszert tenni a floppyra:&prompt.root; /sbin/newfs_msdos /dev/fd0A lemez most már készen áll a
használatra.A hajlékonylemezek használataA floppy lemezt használatához a
&man.mount.msdosfs.8; paranccsal kell csatlakoztatnunk.
Ugyanerre a célra használhatjuk a
Portgyûjteménybõl elérhetõ
emulators/mtools portot
is.Szalagok létrehozása és
használataszalagos
adathordozóA legfontosabb szalagos adathordozók a 4 mm-es,
8 mm-es, QIC, a minikazettás és a DLT.4 mm-es (Digitális adattároló,
avagy DDS: Digital Data Storage)szalagos adathordozó(4 mm-es) DDS-szalagokszalagos adathordozóQIC-szalagokA 4 mm-es szalagok a QIC-szalagokat
váltják fel a munkaállomások
biztonsági mentésének
eszközeként. Ez a tendencia csak tovább
növekedett, ahogy a Conner felvásárolta az
Archive-ot, a QIC típusú meghajtók
legnagyobb gyártóját, majd
leállított a QIC-meghajtók
gyártását. A 4 mm-es meghajtók
mérete kicsi és csendben is dolgoznak, de a
megbízhatóság terén nem
tudhatják maguknak mindazt a sikert, amit a 8 mm-es
társaiknál könyvelhettünk el. A
kazetták is sokkal olcsóbbak és kisebbek
(3 x 2 x 0,5 col, ami 76 x 51 x
12 mm) a 8 mm-es kiadásénál. A
4 mm-es feje, hasonlóan a 8 mm-eséhez,
valamilyen okból szintén viszonylag rövid
ideig bírja, és mind a kettõ spirális
pásztázást használ.Ezeknél a meghajtóknál az
adatátvitel nagyjából
150 KB/mp-nél kezdõdik és
500 KB/mp-nél végzõdik. Az
adattárolási képességük
1,3 GB-tól indul és 2,0 GB-ig tart. A
hardveres tömörítés, ami a legtöbb
ilyen típusú meghajtónál
elérhetõ, közel megduplázza a
kapacitást. A többmeghajtós szalagos
könyvtár egységek egyetlen szekrényben
6 meghajtót képes befogadni, a szalagok
automatikus cserélgetésével. Az ilyen
könyvtárak kapacitása a 240 GB-ot is
elérheti.A DDS-3 szabvány most már akár
12 GB (vagy tömörítve 24 GB)
kapacitást is elérhetõvé tesz.A 4 mm-es meghajtók, hasonlóan a
8 mm-es meghajtókhoz, spirális
pásztázást alkalmaznak. A spirális
pásztázás összes elõnye és
hátránya ezért egyaránt él a
4 mm-es és 8 mm-es meghajtók
esetén.A szalagok 2 000 menet vagy 100 teljes mentes
után kopnak el.8 mm-es (Exabyte)szalagos adathordozó(8 mm-es) Exabyte szalagokA 8 mm-es szalagok a legelterjedtebb szalagos
SCSI-meghajtók. A szalagok használatára ez
a legjobb választás. Szinte mindegyik rendszerben
egy 2 GB-os 8 mm-es Exabyte szalagos meghajtót
használnak. A 8 mm-es meghajtók
megbízhatóak, kényelmesek és
csendesek. A kazetták olcsók és kicsik
(4,8 x 3,3 x 0,6 col, azaz 122 x 84 x
15 mm). A 8 mm-es szalagok feje viszonylag csak
rövid ideig bírja a szalag nagy
mértékû oda-vissza mozgása
miatt.Az adatátvitel sebessége
250 KB/mp-tõl 500 KB/mp-ig terjed, valamint a
300 MB-tól egészen 7 GB-os
méretig találkozhatunk velük. A
meghajtókban elérhetõ hardveres
tömörítés képes közel
megduplázni a kapacitást. Ezek a meghajtók
önálló egységként is
beszerezhetõek vagy egy 6 egységbõl
álló és 120 szalagos szalagos
könyvtár részeként. Ezek az
egységek önállóan
váltják a szalagokat. Az ilyen
könyvtárak kapacitása eléri a
közel 840 GB-ot.Az Exabyte Mammoth modellje
szalagonként 12 GB
(tömörítéssel pedig 24 GB) adatot
képes tárolni, viszont a hagyományos
szalagos meghajtóknál nagyjából
kétszer többe kerül.Az adatok spirális pásztázással
kerülnek a szalagra, és a fejek adott
(nagyjából 6 fokos) szögben állnak a
szalag felett. A szalag a fejeket tartó orsó
köré tekeredik, körülbelül 270
fokban. Ennek eredményképpen nagyobb
adatsûrûség és szorosan zárt
sávok jönnek létre, ahogy ebben a
szögben a fej eljut a szalag egyik
élérõl a másikra.QICszalagos adathordozóQIC-150A QIC-150 meghajtók és szalagok talán a
legelterjedtebb szalagos egységek és
adathordozók. A QIC szalagos meghajtók a
legolcsóbb komolynak tekinthetõ
biztonsági mentésre alkalmas meghajtók. Az
olcsóság azonban megköveteli a maga
árát. A QIC-szalagok a 4 és 8 mm-es
szalagokkal szemben akár ötször is
drágábbak lehetnek gigabyte-onként. De ha
megelégszünk csupán féltucat szalaggal
is, akkor a QIC jó vásárnak tûnhet. A
QIC a leginkább elterjedtebb
szalagos meghajtó. Minden rendszerben biztonsan
találunk valamilyen minõségben
QIC-meghajtót. A QIC fizikailag hasonló
(és gyakran azonos) felépítésû
szalagokat gyárt rengeteg különbözõ
adatsûrûséggel. Az ilyenkor keletkezõ
súrlódások miatt a QIC-meghajtók
egyáltalán nem nevezhetõek csendesnek. Az
ilyen típusú meghajtók az adatok
rögzítése elõtt külön
hangjelenség kíséretében keresik meg
a megfelelõ pozíciót és tisztán
hallható, ahogy olvasnak, írnak és
keresnek. A QIC-szalagok mérete 6 x 4 x
0,7 col (avagy 152 x 102 x 17 mm).Az adatátviteli sebesség
nagyjából 150 KB/mp-tõl
500 KB/mp-ig terjedhet. A kapacitás
szalagonként 40 MB és 15 GB
között változhat. A legtöbb újabb
QIC-meghajtó támogatja a hardveres
tömörítést. QIC-meghajtókat
azonban egyre kevésbé találhatunk,
helyüket szépen lassan mindenhol átveszik a
DAT-meghajtók.A szalagokra sávokban rögzítik az
adatokat. Ezek a sávok szalag felületének
hosszanti tengelyén futnak az egyik
végétõl a másikig. A sávok
száma valamint a sávok vastagsága a
szalagok kapacitásától függõen
változnak. Ha nem is összes legújabb, de a
legtöbb meghajtó legalább olvasás
szintjén kompatibilis a régebbi típusokkal
(de gyakran írásban is). A QIC híresen
megbízható az adatbiztonság
tekintetében (a mechanikája sokkal egyszerûbb
és strapabíróbb a spirális
pásztázással mûködõ
meghajtókénál).A szalagokat 5000 mentés után érdemes
lecserélni.DLTszalagos adathordozóDLTA DLT rendelkezik a legnagyobb adatátviteli
sebességgel az itt összefoglalt mezõnyben. A
1/2 colos (12,5 mm-es) szalag egy egyorsós
tokban foglal helyet (mérete 4 x 4 x
1 col, azaz 100 x 100 x 25 mm). A tok egyik
oldalán végig egy csúszó kapu
található. A meghajtó ezt a kaput nyitja
ki és ezen keresztül húzza be a szalagot. A
szalag elején található egy ovális
lyuk, amibe a meghajtó bele tud
akaszkodni. A feszítõ orsó a
szalagos meghajtóban foglal helyet. Az összes
többi szalag esetén (kivéve egyedül a 9
sávos szalagokat) mind a segéd- és
feszítõ orsók magában a
kazettában találhatóak.Az adatátviteli sebessége
megközelítõleg 1,5 MB/mp, tehát
háromszor nagyobb bármelyik 4 mm-es,
8 mm-es vagy QIC-szalagos egységénél.
Az adattároló képessége
kazettánként 10 GB-tól 20 GB-ig
terjedhet. A meghajtók egyaránt
elérhetõek többkazettás,
cserélgetõs és többkazettás,
többmeghajtós könyvtárakban is, melyek 5
kazettától egészen 900 kazettáig,
illetve 1 meghajtótól 20 meghajtóig
képesek befogadni, így teljes
tárterületük 50 GB-tól 9 TB-ig
terjed.A DLT Type V formátum
tömörítéssel közel 70 GB-os
kapacitást képes elérni.A szalagra az adatok a haladási iránnyal
párhuzamosan kerülnek fel (akárcsak a
QIC-szalagok esetében). Egyszerre két
sávot rögzít. A
író/olvasó fejek élettartama
viszonylag nagy. Ahogy a szalag megáll, a fej és
a szalag között nincs szükség
további relatív mozgásra.AITszalagos adathordozóAITAz AIT a Sony új formátuma, ami egészen
50 GB mennyiségû adatot képes
tárolni (tömörítéssel) egyetlen
szalagon. A szalagokat memóriachipekkel
látják el, melyek a szalag tartalmát
indexelik. Az indexek felhasználásával
aztán a szalagos meghajtó villámgyorsan
képes meghatározni a szalagon
található állományok helyét,
szemben az ilyenkor megszokott többperces mûvelettel.
A SAMS:Alexandria és a
hozzá hasonló szoftverek negyven vagy több
AIT-szalagos könyvtárral is képesek egyszerre
dolgozni, és közvetlenül a szalagok
memóriájával veszik fel a kapcsolatot a
tartalmuk megjelenítéséhez, a mentett
állományok rendszerezéséhez, a
helyes szalag megkereséséhez,
betöltéséhez és
visszatöltéséhez.Az ilyen könyvtárak a 20 000
dolláros (kb. 3,5 millió forintos)
árkategóriába tartoznak, ami miatt csak egy
kicsivel csúsznak ki a hobbi
kategóriából.Az új szalagok elsõ használataAmikor az elsõ alkalommal akarunk beolvasni vagy
írni egy új, teljesen üres szalagot,
hibára fogunk futni. Egy ehhez hasonló
konzolüzenet fog megjelenni:sa0(ncr1:4:0): NOT READY asc:4,1
sa0(ncr1:4:0): Logical unit is in process of becoming readyA szalag nem tartalmaz azonosító blokkot
(Identifier Block) a nulladik blokkban. A QIC-525
szabvány átvétele óta mindegyik QIC
szalagos meghajtó létrehozza ezt az
azonosító blokkot. Tehát két
megoldás létezik:Az mt fsf 1 paranccsal
felírunk egy ilyen azonosító blokkot a
szalagra.A meghajtó elõlapján
található gomb
segítségével dobassuk ki a
szalagot.Rakjuk vissza a szalagot és hajtsunk végre
rajta egy dump parancsot.A dump parancs erre egy
DUMP: End of tape detected
(szalag vége) hibaüzenetet ad,
majd a következõ jelenik meg a konzolon:
HARDWARE FAILURE info:280
asc:80,96.Tekertessük vissza a szalagot az mt
rewind paranccsal.A szalag következõ mûvelete most
már sikeres lesz.Biztonsági mentés
hajlékonylemezekreHajlékonylemezre is lehet biztonsági
mentést készíteni?biztonsági
floppykfloppy lemezekA floppy lemezek nem igazán felelnek meg
biztonsági mentés
készítésére, mivel:Nem megbízható adathordozók,
különösen hosszabb idõre.Esetükben a mentés és
visszaállítás nagyon
lassú.Kapacitásuk erõsen korlátozott (annak
már régen elmúlt az ideje, amikor
egész merevlemezeket tudtunk lementeni egy tucat
floppyra).Habár ha máshogy nem tudunk biztonsági
mentést készíteni, akkor a floppy
lemezekkel még mindig jobban járunk, mint
nélkülük.Ha már mindenképpen floppy lemezeket kell
használnunk, akkor igyekezzünk minél jobb
minõségûeket beszerezni. Tehát az olyan
floppyk, amik már évek óta kavarognak az
irodában, erre a célra nem éppen
bizonyulnak a legjobb választásnak.
Ideális esetben egy megbízható
gyártótól származó új
floppykat használunk.Tehát akkor hogyan mentsük az adatokat
hajlékonylemezre?Legegyszerûbban a &man.tar.1;
(többkötetes) opciójával tudunk floppy
lemezre menteni, aminek használatával több
floppyra kiterjedõ mentéseket is
készíthetünk.Az aktuális könyvtár és a benne
levõ alkönyvtárak tartalmát
(root) felhasználóként
a következõ paranccsal tudjuk lementeni:&prompt.root; tar Mcvf /dev/fd0 *Amikor az elsõ floppy megtelik, a &man.tar.1;
kérni fogja a következõ kötetet (volume)
(mivel a &man.tar.1; adathordozótól független
módon hivatkozik a kötetekre, tehát ebben a
környezetben a kötet egy floppy lemezt jelent):Prepare volume #2 for /dev/fd0 and hit return:Az üzenet fordítása:Készítse elõ a 2. kötetet a /dev/fd0 eszközön és nyomja le a
return billentyûtA folyamat egészen addig ismétlõdik (a
kötetek számának
növekedésével), amíg az összes
állomány lementésre nem kerül.Lehet tömöríteni a
mentéseket?targziptömörítésSajnos a &man.tar.1; többkötetes mentések
esetén nem engedi a
beállítás használatát.
Természetesen ettõl függetlenül a
&man.gzip.1; segítségével még be
tudjuk tömöríteni az összes
állományt, a &man.tar.1; paranccsal floppyra
menteni ezeket, majd a &man.gunzip.1; paranccsal
kitömöríteni.Hogyan állítsuk vissza a biztonsági
mentéseket?Az egész mentés
visszaállításához adjuk ki a
következõ parancsot:&prompt.root; tar Mxvf /dev/fd0Két módon tudunk csak bizonyos
állományokat visszaállítani.
Elõször is, tegyük be a mentés elsõ
lemezét és adjuk ki a következõ
parancsot:&prompt.root; tar Mxvf /dev/fd0 állományA &man.tar.1; segédprogram ezután sorban
kérni fogja a többi lemezt egészen addig,
amíg meg nem találja a keresett
állományt.Vagy ha pontosan tudjuk, hogy melyik lemezen
található a keresett állomány, akkor
az iménti parancs használatát azzal a
lemezzel kezdjük. Vigyázzunk, mert ha a lemezen
található elsõ állomány az
elõzõ lemezen kezdõdik, akkor a &man.tar.1;
figyelmeztetni fog minket, hogy nem állítja vissza
még akkor sem, ha erre nem is kértük!LowellGilbertEredetileg készítette: Mentési stratégiákEgy biztonsági mentés kidolgozása
során az elsõ követelmény gondoskodnunk az
alábbi problémákról:LemezhibaAz állományok véletlen
törléseAz állományok véletlenszerû
károsodásaSzámítógépek teljes
megsemmisülése (például tûz
által), belértve a közelében
tárolt összes biztonsági
mentéstTökéletesen megoldható, hogy egyes
rendszerek a fentebb felsorolt problémák
mindegyikét teljesen eltérõ technikával
oldják meg. A nagyon személyes rendszerektõl
és a nagyon értéktelen adatoktól
eltekintve szinte egyértelmûen kizárt, hogy
egyetlen technika képes lefedni az összes
problémát.Kelléktárunk néhány alapvetõ
eszköze:Az egész rendszer mentése, amit egy
megbízható helyre elzárt, tartós
adattárolóra készítünk. Ez
tulajdonképpen védelmet biztosít a
fentebb megemlített összes probléma
esetében, de lassú és kényelmetlen
róla visszaállítani az adatokat. A
közelben és/vagy neten is tarthatunk errõl
másolatokat, de még így is
kényelmetlen az állományok
visszaállítása, különösen
az egyszerû felhasználók
számára.Pillanatképek készítése az
állományrendszerrõl. Ez
valójában csak olyan esetekben lehet a
segítségünkre, amikor
véletlenül töröltünk
állományokat, ám ilyenkor
határozottan jól jön,
mivel igen gyorsan és könnyen lehet vele
dolgozni.Az egész állományrendszer
és/vagy az összes lemez másolata
(például az &man.rsync.1; idõszakos
alkalmazása a komplett gépre). Az
általában az egyedi igényekkel
bíró hálózatok esetében
eshet a kezünkre. A lemezhiba ellen védelemben ez
a megoldás általában a
RAID alatt áll. A
véletlenül törölt
állományok
visszaállításának
tekintetében az UFS
pillanatképeivel mérhetõ össze, de ez
leginkább a saját igényeinktõl
függ.RAID alkalmazása. A lemezek
meghibásodása esetén segíti
minimalizálni vagy elkerülni a kiesést,
ugyan gyakori lemezhibák árán (mivel
ilyenkor több lemezt használunk) de kisebb
sürgõsséggel.Az állományok ujjlenyomatának
ellenõrzése. Az &man.mtree.8; segédprogram
nagyon hasznos tud lenni ebben az esetben. Habár ez
nem egy mentési technika, mégis segít
megállapítani, hogy mikor kell nyugdíjba
küldenünk a biztonsági mentéseinket.
Ez különösen az aktív nem
használt mentésekre vonatkozik, ezeket bizonyos
idõ elteltével mindig érdemes
ellenõrizni.Nagyon könnyû lenne további
technikákat is felsorolni, melyek legtöbbje az
iméntiek valamilyen kombinációja lenne. A
speciális igények általában
speciális technikákat eredményeznek
(például egy éles adatbázis
biztonsági mentése általában az
adott adatbáziskezelõ rendszer
közremûködését is elvárja).
Mindig fontos tudni, hogy milyen veszélyek ellen
védekezünk és hogyan kezeljük le
ezeket.Alapvetõ tudnivalók a biztonsági
mentésrõlA &man.dump.8;, &man.tar.1; és &man.cpio.1; a
három legfontosabb biztonsági mentésekkel
kapcsolatos program.Mentés és
helyreállításbiztonsági mentést végzõ
szoftverekmentés /
helyreállításdumprestoreA &unix; típusú rendszerekben a
biztonsági mentést hagyományosan a
dump és restore
programok végzik. A meghajtókat lemezblokkok
összeségeként kezelik, az
állományrendszerek által létrehozott
állományok, linkek és
könyvtárak szintje alatt. A dump
az adott eszközön egy egész
állományrendszert képes lementeni. Nem
képes csak az állományrendszer vagy egy
több állományrendszerre kiterjedõ
könyvtárszerkezet egy részét
lementeni. A dump nem
állományokat és könyvtárakat
ír a szalagra, hanem nyers adatblokkokat, amelyek
állományokat és könyvtárakat
formáznak.Ha a dump parancsot a
gyökér könyvtárban adjuk ki, akkor nem
fogja lementeni a /home vagy
/usr vagy bármilyen más
könyvtárat, mivel ezek jellemzõ módon
más állományrendszerek
csatlakozási pontja vagy más
állományrendszerekre mutató szimbolikus
linkek.A dump parancsnak vannak olyan
rigolyái, amelyek még az AT&T UNIX 6.
verziójából (1975
környékérõl) maradtak vissza. Az
alapértelmezett paraméterezése 9
sávos szalagokat feltételezi (6250 bpi), nem pedig
a napjainkban elterjedt nagy
írássûrûsségû
(egészen 62 182 ftpi-s) adathordozókat. Ezek
az alapértelmezések természetesen
paranccsorból felülbírálhatóak,
és így a manapság alkalmazott szalagos
meghajtók teljes kapacitása is
kihasználható vele..rhostsEmellett az rdump és
rrestore programok
segítségével hálózaton
keresztül is le tudjuk menteni az adatainkat egy
másik számítógépre
csatlakoztatott szalagos egységre. Mind a két
program az &man.rcmd.3; és a &man.ruserok.3; parancsokat
használja a távoli szalagos meghajtó
eléréséhez. Az rdump
és rrestore paramétereinek a
távoli számítógép
használatához kell illeszkedniük. Amikor egy
&os; rendszerû számítógépet az
rdump paranccsal egy Sun rendszerû,
komodo nevû
számítógépre mentünk, amelyhez
egy Exabyte szalagos meghajtó csatlakozik, akkor ezt a
írjuk be:&prompt.root; /sbin/rdump 0dsbfu 54000 13000 126 komodo:/dev/nsa8 /dev/da0a 2>&1Figyelem: az .rhosts
állományon keresztül
hitelesítésnek megvannak a maga biztonsági
kockázatai. Ne felejtsük el felmérni ezt a
saját környezetünkben sem.A dump és
restore parancsokat az ssh
használatával még
biztonságosabbá tehetjük.A dump használata az
ssh alkalmazással&prompt.root; /sbin/dump -0uan -f - /usr | gzip -2 | ssh -c blowfish \
célfelhasználó@cél.gép.hu dd of=/nagyállományok/dump-usr-l0.gzVagy az RSH környezeti
változó megfelelõ
beállításával használhatjuk a
dump beépített
módszerét:A dump használata az
ssh alkalmazással, az
RSH környezeti változó
beállításával&prompt.root; RSH=/usr/bin/ssh /sbin/dump -0uan -f célfelhasználó@cél.gép.hu:/dev/sa0 /usrtarbiztonsági mentést végzõ
szoftverektarA &man.tar.1; is az AT&T UNIX 6.
verziójáig nyúlik vissza (tehát
nagyjából 1975-ig). A tar az
állományrendszerrel szoros
együttmûködésben dolgozik,
állományokat és könyvtárakat
ír a szalagra. A tar ugyan nem ismeri
a &man.cpio.1; által felkínált összes
lehetõséget, de nincs is szüksége olyan
szokatlan paranccsoros összekapcsolásokra, mint a
cpio parancsnak.tarA &os; 5.3 vagy késõbbi
változataiban a GNU tar és az
alapértelmezés szerinti bsdtar
egyaránt elérhetõ. A GNU változat a
gtar paranccsal hívható meg.
Az rdump parancshoz hasonló
felírásban képes kezelni a távoli
eszközöket. Tehát így tudjuk
használni a tar parancsot a
komodo nevû Sun
számítógép Exabíte szalagos
meghajtójának
elérésére:&prompt.root; /usr/bin/gtar cf komodo:/dev/nsa8 . 2>&1Ugyanez eltérhetõ a bsdtar
használatával is, amikor az rsh
programmal összekapcsolva küldünk át a
távoli szalagos egységre.&prompt.root; tar cf - . | rsh hálózati-név dd of=szalagos-eszköz obs=20bHa a hálózaton keresztül mentés
során fontos számunkra a biztonság, akkor
az rsh parancs helyett az
ssh parancsot használjuk.cpiobiztonsági mentést végzõ
szoftverekcpioA &man.cpio.1; eredetileg a &unix; szalagos programjai
és szalagos egységei között
közvetített. A cpio parancs
(többek közt) képes a byte-ok
sorrendjének felcserélésére,
több különbözõ archívum
formátuma szerint írni és adatokat
közvetíteni más programok felé. Ez
utóbbi lehetõsége miatt a
cpio kíválóan alkalmas a
telepítõeszközök számára. A
cpio nem képes bejárni a
könyvtárszerkezetet, és az
állományok listáját a
szabványos bemeneten keresztül kell megadni
neki.cpioA cpio nem támogatja a
biztonsági mentés
átküldését a hálózaton.
Programok összekapcsolásával és az
rsh használatával tudunk
adatokat küldeni távoli szalagos
meghajtókra.&prompt.root; for f in könyvtár_lista; dofind $f >> mentési.listadone
&prompt.root; cpio -v -o --format=newc < backup.list | ssh felhasználó@gép "cat > mentõeszköz"Ahol a könyvtár_lista
a menteni kívánt könyvtárak
listája, a
felhasználó@gép
a mentést végzõ gép
felhasználójának és
hálózati nevének együttese, valamint a
mentõeszköz, ahova a
mentés kerül (például
/dev/nsa0).paxbiztonsági mentést végzõ
szoftverekpaxpaxPOSIXIEEEA &man.pax.1; az IEEE/&posix; válasza a
tar és cpio
programokra. Az évek során a
tar és a cpio
különbözõ változatai egy kissé
inkompatibilissé váltak. Ezért a
szabványosításuk kiharcolása helyett
inkább a &posix; létrehozott egy új
archiváló segédprogramot. A
pax megpróbálja írni
és olvasni a cpio és
tar formátumok legtöbb
változatát, valamint emellett további
saját formátumokat is kezel. A
parancskészlete inkább a cpio
parancséra emlékeztet, mintsem a
tar parancséra.Amandabiztonsági mentést végzõ
szoftverekAmandaAmandaAz Amanda (Advanced Maryland
Network Disk Archiver) egy kliens-szerver alapú
mentési rendszer, nem pedig egy önálló
program. Az Amanda szerver menti
tetszõleges számú
számítógép adatát egyetlen
szalagra, melyek az Amanda klienst
futtatják és hálózaton
keresztül hozzá csatlakoznak. A nagy
mennyiségû és nagy kapacitású
lemezekkel rendelkezõ rendszerekben közvetlenül a
mentéshez szükséges idõ nem áll
rendelkezésre a feladat
elvégzéséhez. Az
Amanda viszont képes megoldani
ezt a problémát. Az
Amanda képes egy
saját lemez használatával
egyszerre több állományrendszerrõl is
biztonsági mentést készíteni. Az
Amandaarchívumkészleteket hoz
létre: az Amanda
konfigurációs állományában
megadott állományrendszerekrõl
készít teljes mentést egy adott idõ
alatt egy adott mennyiségû szalagra. Az
archívumkészlet
ezenkívül még tartalmaz egy napi
inkrementális (vagy különbözeti)
mentést is minden egyes
állományrendszerrõl. A sérült
állományrendszerek
visszaállításához mindig a
legújabb teljes biztonsági mentésre
és a hozzátartozó inkrementális
mentésekre van szükségünk.A konfigurációs állomány
segítségével precíz
irányítást gyakorolhatunk a
létrehozott mentések és az
Amanda által keltett
hálózati forgalom felett. Az
Amanda a fentiek közül
bármelyik programmal képes az adatokat szalagra
rögzíteni. Az Amanda
portként vagy csomagként is elérhetõ,
alapértelmezés szerint nem települ.Ne csináljunk semmitA Ne csináljunk semmit nem egy
újabb számítógépes program,
hanem egy igen gyakran alkalmazott mentési
stratégia. Nem kell beruházni. Nem kell
semmilyen biztonsági mentési rendet követni.
Egyszerûen semmit se csinálunk. Ha
véletlenül valami történne az
adatainkkal, akkor csak mosolyogjunk és
törõdjünk bele!Amennyiben az idõnk és adataink keveset vagy
éppen semmit se érnek, akkor a Ne
csináljunk semmit az elérhetõ legjobb
biztonsági mentési megoldás
számítógépünk
számára. De legyünk óvatosak, mert a
&unix; egy igen hasznos eszköz, és fél
éven belül könnyen úgy
találhatjuk magunkat, hogy mégis csak vannak
értékes adataink.A Ne csináljunk semmit
tökéletesen megfelelõ mentési
módszer a /usr/obj és a
hozzá hasonló módon a
számítógépen automatikusan
generált könyvtárak és
állományok esetében. Ugyanilyen
példa lehetne a kézikönyv HTML vagy
&postscript; változata. Ezek a formátumok ugyanis
az SGML források alapján keletkeznek, így a
HTML vagy &postscript; állományok mentése
nem életbevágó. Az SGML
állományokat viszont már annál
inkább mentsük!Melyik a legjobb?LISA&man.dump.8; Pont. Elizabeth D. Zwicky
komolyan letesztelte az itt felsorolt összes programot. A
&unix; állományrendszerek
jellegzetességeinek és rajtuk az összes
adatunk megõrzésének egyértelmûen
a dump felel meg a legjobban. Elizabeth a
minden egyes program tesztjéhez olyan
állományrendszereket hozott létre, amelyek
rengeteg különféle szokatlan helyzetet
tartalmaztak (valamint néhány nem annyira
szokatlant). Az érintett jellegzetességek: lyukas
állományok, lyukas állományok
és egy halom nulla, állományok
érdekes karakterekkel a nevükben, olvashatatlan
és írhatatlan állományok,
eszközök, a mentés közben
méretüket változtató
állományok, a mentés közben
keletkezõ és megszûnõ
állományok és még sok minden
más. Az eredményeit a LISA V-ben jelentette meg
1991. októberében. Lásd A
biztonsági mentéshez és
archiváláshoz használt programok tesztje
(angolul).Az adatok helyreállítása
vészhelyzetbenA katasztrófa elõttCsupán négy lépést kell
megtennünk az esetleges katasztrófák
bekövetkezésének esetére.bsdlabelElõször is két példányban
nyomtassuk ki az egyes lemezek
lemezcímkéjét (például a
bsdlabel da0 | lpr paranccsal) valamint az
állományrendszerek
táblázatát (az
/etc/fstab állományt)
és az összes rendszerindításkor
megjelenõ üzenetet.helyreállító
lemezekMásodsorban gondoskodjunk róla, hogy a
helyreállító lemezek
(boot.flp és
fixit.flp) használatakor minden
eszközünk látható. Ezt a
legkönnyebben úgy tudjuk ellenõrizni, hogy
újraindítjuk a gépet a lemezrõl
és átnézzük a
rendszerindítás során megjelenõ
üzeneteket. Ha szerepel bennük minden eszköz
és a rendszer indulása után
mûködõképesek, akkor jöhet a
következõ lépés.Ellenkezõ esetben létre kell hoznunk
két saját rendszerindító lemezt,
amelyeken a rendszermag olyan változata
található, amely képes csatlakoztatni az
összes lemezünket és el tudja érni a
szalagos egységünket. A floppykon a
következõknek kell meglennie:
fdisk, bsdlabel,
newfs, mount és a
program, amellyel a biztonsági mentéseinket
kezeljük. Az összes program legyen statikusan
linkelt. Ha a dump programot
használjuk, akkor a lemezekrõl ne felejtsük
le a restore programot sem.A harmadik lépésben igyekezzünk
minél gyakrabban szalagra menteni. Mindig gondoljuk
arra, hogy a legutolsó mentés óta
létrehozott változatásaink teljesen el
fognak veszni. A mentéseket tartalmazó
szalagokat tegyük
írásvédetté.A negyedik lépésben ellenõrizzük a
helyreállító lemezeket (vagy a
boot.flp és
fixit.flp állományokat,
vagy a második lépésben
készített saját lemezeinket) és
mentéseket tartalmazó szalagokat.
Jegyezzük le az eljárást. Ezeket a
jegyzeteket is rakjuk el rendszerindító
lemezekkel, a kinyomtatott adatokkal és a
mentéseket tartalmazó szalagokkal együtt.
Ezek a jegyzetek megvédenek minket attól, hogy a
helyreállítás közbeni
kétségbeesésünkben nehogy
véletlenül tönkretegyük a
biztonsági mentéseinket. (Hogy miként
is? Például ha a tar xvf
/dev/sa0 parancs helyett izgalmunkban a tar
cvf /dev/sa0 parancsot gépeljük be,
akkor azzal felülírjuk a biztonsági
mentéseinket).A fokozott biztonság kedvéért minden
alkalommal készítsünk
rendszerindító lemezeket és
legalább két mentést. Az egyiket
valamilyen távoli helyen tároljuk. Ez a
távoli hely NE ugyanannak az épületnek az
alagsora legyen! Számos cég alaposan megtanulta
ezt a szabályt a Világkereskedelmi központ
tragédiája kapcsán. Ez a távoli
hely számítógépeinkbõl
és merevlemezes meghajtóinkól is
fizikailag jól elkülöníthetõ,
jelentõs távolságban legyen.A rendszerindító lemezek
létrehozásához
használható szkript /mnt/sbin/init
gzip -c -best /sbin/fsck > /mnt/sbin/fsck
gzip -c -best /sbin/mount > /mnt/sbin/mount
gzip -c -best /sbin/halt > /mnt/sbin/halt
gzip -c -best /sbin/restore > /mnt/sbin/restore
gzip -c -best /bin/sh > /mnt/bin/sh
gzip -c -best /bin/sync > /mnt/bin/sync
cp /root/.profile /mnt/root
chmod 500 /mnt/sbin/init
chmod 555 /mnt/sbin/fsck /mnt/sbin/mount /mnt/sbin/halt
chmod 555 /mnt/bin/sh /mnt/bin/sync
chmod 6555 /mnt/sbin/restore
#
# Egy minimális állományrendszeri táblázat létrehozása.
#
cat > /mnt/etc/fstab < /mnt/etc/passwd < /mnt/etc/master.passwd <A katasztrófa utánAz alapvetõ kérdés: a hardver
túlélte? Ha rendszeresen
készítettünk biztonsági
mentéseket, akkor a szoftverek miatt
egyáltalán nem kell aggódnunk.Ha a hardver megsérült, akkor a
számítógép
használatának újból
megkezdése elõtt javasolt cserélni a
meghibásodott alkatrészeket.Ha a hardverrel minden rendben találtunk, akkor
nézzük meg a floppykat. Ha saját
rendszerindító lemezt használunk, akkor
indítsuk el egyfelhasználós módban
(a boot: parancssornál írjuk
be, hogy -s) és ugorjuk át a
következõ bekezdést.Amennyiben viszont a boot.flp
és fixit.flp
állományok alapján
készítettük a lemezeket, olvassunk
tovább. Helyezzük a boot.flp
tartalmú lemezt az elsõdleges floppy
meghajtóba és indítsuk el vele a
számítógépet. Az eredeti
telepítõmenü jelenik meg ezután a
képernyõn. Innen válasszuk ki a
Fixit -- Repair mode with CDROM or floppy
(Helyreállítás -- A rendszer
helyreállítása CD-rõl vagy
floppyról) menüpontot. Amikor kéri
a telepítõ, tegyük be a
fixit.flp alapján
készült lemezt. A restore
és az összes többi számunkra fontos
program a /mnt2/rescue
könyvtárban található (vagy a
&os; 5.2-nél korábbi változatai
esetén a /mnt2/stand
könyvtárban).Egyenként állítsuk vissza az egyes
állományrendszereket.mountgyökér
partícióbsdlabelnewfsA mount paranccsal
próbáljuk meg csatlakoztatni az elsõ
lemezünk rendszerindító
partícióját (például
mount /dev/da0a /mt). Ha a
lemezcímke megsérült, akkor
bsdlabel alkalmazásával
partícionáljuk újra a lemezt és
címkézzük meg a korábban
kinyomtatott címke adatainak megfelelõen. A
newfs segítségével
újra hozzuk létre az
állományrendszereket.
Írható-olvasható módban
csatlakoztassuk újra a floppy
rendszerinító partícióját
(mount -u -o rw /mnt). A biztonság
mentést végzõ program és a
biztonsági mentést tartalmazó szalagok
használatával állítsuk helyre az
állományrendszer tartalmát
(például restore vrf
/dev/sa0). Válasszuk le az
állományrendszert (például
umount /mnt). Mindegyik sérült
állományrendszerre ismételjük a
folyamatot.Ahogy mûködõképessé
vált a rendszerünk, mentsük az adatainkat
új szalagokra. Akármi is okozta a rendszer
összeomlását vagy az adatvesztést,
ismét lecsaphat. Ha most áldozunk erre
még egy órát, akkor azzal a
késõbbiekben számos
kellemetlenségtõl óvhatjuk meg
magunkat.* Mit tegyek, ha nem készültem fel a
katasztrófára?
]]>
MarcFonvieilleÁtdolgozta és feljavította:
Hálózat, memória és
állomány alapú
állományrendszerekvirtuális lemezeklemezekvirtuálisA számítógépünkben
létezõ fizikai lemezek, például floppyk,
CD-k, merevlemezek és egyebek mellett a lemezek egy
másik formáját is képes
megérteni a &os; — a virtuális
lemezeket.NFSCodalemezekmemóriaA virtuális lemeznek tekinthetõek többek
közt az olyan hálózati
állományrendszerek, mint például a
Hálózati
állományrendszer (Network File System, NFS)
és a Coda, valamint a memóriában és
állományokban létrehozott
állományrendszerek.Attól függõen, hogy a &os; melyik
változatát használjuk, az
állomány és memória alapú
állományrendszerek
létrehozásához, illetve
használatához különbözõ
segédprogramokra lesz szükségünk.A &man.devfs.5; a felhasználó
számára láthatatlan módon hozza
létre az eszközök leíróit.Állomány alapú
állományrendszereklemezekállomány alapú&os; alatt az &man.mdconfig.8; segédprogram
segítségével tudunk memórialemezeket
(&man.md.4;) beállítani és
engedélyezni. Az &man.mdconfig.8;
használatához be kell töltenünk az
&man.md.4; modult vagy hozzá kell tennünk a
rendszermagunk beállításait
tartalmazó állományhoz:device mdAz &man.mdconfig.8; parancs háromféle
memória alapú virtuális lemezt ismer: a
&man.malloc.9;, állományok vagy
lapozóterület használatával
létrehozott memórialemezeket. Így lehet
például csatlakoztatni a floppyk vagy CD-k
állományokban tárolt image-eit.Egy meglevõ állományrendszer
image-ének csatlakoztatása:Egy meglevõ állományrendszer
image-ének csatlakoztatása az
mdconfig paranccsal&prompt.root; mdconfig -a -t vnode -f image -u 0
&prompt.root; mount /dev/md0/mntÚj állományrendszer
létrehozása az &man.mdconfig.8;
használatával:Új állomány alapú lemez
létrehozása az mdconfig
paranccsal&prompt.root; dd if=/dev/zero of=új-image bs=1k count=5k
5120+0 records in
5120+0 records out
&prompt.root; mdconfig -a -t vnode -f új-image -u 0
&prompt.root; bsdlabel -w md0 auto
&prompt.root; newfs md0a
/dev/md0a: 5.0MB (10224 sectors) block size 16384, fragment size 2048
using 4 cylinder groups of 1.25MB, 80 blks, 192 inodes.
super-block backups (for fsck -b #) at:
160, 2720, 5280, 7840
&prompt.root; mount /dev/md0a /mnt
&prompt.root; df /mnt
Filesystem 1K-blocks Used Avail Capacity Mounted on
/dev/md0a 4710 4 4330 0% /mntHa az beállítással
nem adjuk meg az egység számát, akkor az
&man.mdconfig.8; az &man.md.4; automatikus
kiosztásán keresztül fog egy
használatban még nem levõ eszközt
kiválasztani. Az így kiosztott egység neve
az md4 névhez hasonlóan
jelenik meg a szabványos kimeneten. Az &man.mdconfig.8;
használatának részleteirõl olvassuk el
a hozzátartozó man oldalt.Az &man.mdconfig.8; egy nagyon sokoldalú
segédeszköz, habár használatakor
viszonylag sok parancsot kell kiadni egy állomány
alapú állományrendszer
létrehozásához. A &os; azonban
alapból tartalmaz még egy &man.mdmfs.8; nevû
segédprogramot is, ami az &man.md.4; lemezeket az
&man.mdconfig.8; segítségével
állítja be, létrehoz rajtuk egy UFS
típusú állományrendszert a
&man.newfs.8; segítségével és
csatlakoztatja a &man.mount.8; paranccsal. Így
például, ha az iménti
állományrendszert akarjuk létrehozni
és csatlakoztatni, akkor egyszerûen csak
gépeljünk be ennyit:Állomány alapú lemezek
beállítása és
csatlakoztatása az mdmfs
paranccsal&prompt.root; dd if=/dev/zero of=új-image bs=1k count=5k
5120+0 records in
5120+0 records out
&prompt.root; mdmfs -F új-image -s 5m md0/mnt
&prompt.root; df /mnt
Filesystem 1K-blocks Used Avail Capacity Mounted on
/dev/md0 4718 4 4338 0% /mntHa az paramétert az egység
száma nélkül adjuk meg, akkor &man.mdmfs.8;
az &man.md.4; automatikus kiosztására
támaszkodva fog egy addig még nem használt
eszközt kiválasztani. A &man.mdmfs.8;
használatának pontos részleteivel
kapcsolatban lásd a hozzátartozó man
oldalt.Memória alapú
állományrendszereklemezekmemória
állományrendszerA memória alapú
állományrendszerek esetében
általában a
lapozóállomány alapú
megközelítést alkalmazzák. A
lapozóállomány alapúság nem
arra utal, hogy a memórialemezt alapból
kilapozzák lemezre, hanem inkább arra, hogy a
memórialemez olyan területen jön létre,
amelyet szükség esetén lemezre lehet lapozni.
Memória alapú lemezeket a (rendszermag
szintû) &man.malloc.9; használatával is
létre lehet hozni, de a malloc alapú
memórialemezeknél, különösen a
nagyon nagyok esetében, a rendszer könnyen
össze tud omlani, ha kifut a rendelkezésére
álló memóriából.Új memória alapú lemez
létrehozása az mdconfig
paranccsal&prompt.root; mdconfig -a -t swap -s 5m -u 1
&prompt.root; newfs -U md1
/dev/md1: 5.0MB (10240 sectors) block size 16384, fragment size 2048
using 4 cylinder groups of 1.27MB, 81 blks, 192 inodes.
with soft updates
super-block backups (for fsck -b #) at:
160, 2752, 5344, 7936
&prompt.root; mount /dev/md1/mnt
&prompt.root; df /mnt
Filesystem 1K-blocks Used Avail Capacity Mounted on
/dev/md1 4718 4 4338 0% /mntÚj memória alapú lemez
létrehozása az mdmfs
paranccsal&prompt.root; mdmfs -s 5m md2/mnt
&prompt.root; df /mnt
Filesystem 1K-blocks Used Avail Capacity Mounted on
/dev/md2 4846 2 4458 0% /mntMemórialemezek leválasztása a
rendszerrõllemezekegy memórialemez
leválasztásaAmikor már nem akarunk tovább használni
egy memória vagy állomány alapú
állományrendszert, érdemes visszaadnunk az
általuk felhasznált erõforrásokat a
rendszernek. Elsõként válasszuk le
magát az állományrendszert, majd az
&man.mdconfig.8; segítségével kapcsoljuk le
a lemezt a rendszerrõl és szabadítsuk fel az
általa felhasznált
erõforrásokat.Például az /dev/md4
eszközt így lehet lekapcsolni és
felszabadítani:&prompt.root; mdconfig -d -u 4A beállított &man.md.4; eszközökkel
kapcsolatos többi információt az
mdconfig -l paranccsal tudjuk
lekérdezni.TomRhodesÍrta: Az állományrendszerek
pillanatképeiállományrendszerekpillanatképekA &os; a Soft Updates
mellett felkínál egy másik
lehetõséget: az
állományrendszerekrõl
készíthetõ
pillanatfelvételeket.Ezek a pillanatképek lehetõvé teszik a
felhasználók számára, hogy adott
állományrendszerekrõl képeket hozzanak
létre és azt állományként
kezeljék. A pillanatképeket az adott
állományrendszerben kell létrehozni,
és a felhasználók
állományrendszerenként
húsznál többet nem hozhatnak
belõlük létre. Az aktív
pillanatképek a szuperblokkban kerülnek
rögzítésre, ezért az
állományrendszerek leválasztása
és újracsatlakoztatása esetén is
megmaradnak, még újraindítás
után is. Amikor egy pillanatképre már
nincs tovább szükségünk, egy szimpla
&man.rm.1; paranccsal eltávolítható. A
pillanatképek tetszõleges sorrendben
eltávolíthatóak, habár ilyenkor az
összes általuk lefoglalt hely nem szabadul fel,
mivel más pillanatképeknek még
szüksége lehet bizonyos blokkjaira.Miután az &man.mksnap.ffs.8; paranccsal
létrehoztunk egy pillanatképet tartalmazó
állományt, beállítódik
rá a módosíthatatlanságot
jelentõ
állományjelzõ. Egyedül az
&man.unlink.1; parancs képez ez alól
kivételt, mivel segítségével a
pillanatképek
eltávolíthatóak.A pillanatképek a &man.mount.8; paranccsal
hozhatóak létre. A következõ
módon tudjuk a /var egy
pillanatképét elkészíteni a
/var/snapshot/snap
állományban:&prompt.root; mount -u -o snapshot /var/snapshot/snap /varVagy a &man.mksnap.ffs.8; meghívásával
is készíthetünk
pillanatképeket:&prompt.root; mksnap_ffs /var /var/snapshot/snapAz állományrendszeren (például
/var) a pillanatképeket
tartalmazó állományokat a &man.find.1;
paranccsal kereshetjük meg:&prompt.root; find /var -flags snapshotAhogy elkészítettünk egy
pillanatképet, több mindenre is
felhasználhatjuk:Egyes rendszergazdák a pillanatképeket
biztonsági mentésekhez
használják, mivel ezek gond nélkül
áttehetõek CD-re vagy szalagra.Az állományrendszerek
sértetlenségét ellenõrzõ
program, az &man.fsck.8; is lefuttatható egy ilyen
pillanatképen. Feltéve, hogy az
állományrendszer csatlakoztatásakor
tiszta volt, mindig egy tiszta (és
változásokat nem tartalmazó)
eredményt kell kapnunk. Ennek megléte
elengedhetetlen a háttérben futtatható
&man.fsck.8; mûködéséhez.Futassuk le a &man.dump.8; segédprogramot a
pillanatképen. Az így létrehozott
mentés megegyezik az állományrendszer
adott pillanatban felvett állapotával. Az
beállítás
megadásával maga a &man.dump.8; is
képes egyetlen parancsban pillanatfelvételt
készíteni, ebbõl létrehozni a
mentést, majd eltávolítani.A pillanatképet képesek vagyunk a
&man.mount.8; paranccsal az állományrendszer
befagyasztott változataként
csatlakoztatni:&prompt.root; mdconfig -a -t vnode -f /var/snapshot/snap -u 4
&prompt.root; mount -r /dev/md4 /mntÍgy már a /mnt
könyvtárba csatlakoztatva be tudjuk járni a
befagyasztott /var
állományrendszert. Minden a
pillanatfelvétel készítésének
idõpontjának megfelelõ állapotban fog
maradni. Az egyetlen kivétel talán annyi, hogy
korábbi pillanatképek nulla méretû
állományként fognak megjelenni. Mikor
befejeztük a pillanatképek
használatát, a &man.umount.8; paranccsal le tudjuk
választani:&prompt.root; umount /mnt
&prompt.root; mdconfig -d -u 4A és az
állományrendszerek pillanatképeinek
használatával, illetve mûszaki
leírásukkal kapcsolatban látogassuk meg
Marshall Kirk McKusick honlapját a címen
(angolul).Az állományrendszerek
kvótáinyilvántartáslemezterületlemezkvótákA kvóták használata az
operációs rendszerben egy olyan
választható lehetõség, aminek
segítségével
állományrendszerenként korlátozni
tudjuk az egyes felhasználók vagy csoporttagok
által elhasznált lemezterület és/vagy
állományok mennyiségét. Ezt
leggyakrabban olyan idõosztásos rendszerekben
használják ki, ahol szükség lehet az
egyes felhasználókra vagy csoportokra esõ
erõforrások mennyiségének
szabályozására. Ezzel tudjuk
megakadályozni, hogy a felhasználók vagy
csoportok elfogyasszák az összes rendelkezésre
álló lemezterületet.A kvóták használatának
beállításaMielõtt nekilátnánk a
kvóták használatának, meg kell
gyõzõdnünk róla, hogy a rendszermagunkban
megvan hozzá a szükséges
támogatás. A kvótákat a
következõ sorral lehet engedélyezni a
rendszermag beállításait tartalmazó
állományban:options QUOTAA gyári GENERIC rendszermag ezt
alapból nem engedélyezi, ezért ehhez
mindenképpen be kell állítani, le kell
fordítani és telepíteni egy kell
saját rendszermagot. A saját rendszermag
létrehozásához kövessük a utasításait.Ha ezzel megvagyunk, akkor a következõ sorral
bõvítsük ki az
/etc/rc.conf
állományt:enable_quotas="YES"lemezkvótákellenõrzéseA kvótákat kezelõ rendszer
indításának finomabb
szabályozására létezik még
egy további beállítási
lehetõség is. A rendszer indítása
során általában az egyes
állományrendszerek kvótáját a
&man.quotacheck.8; program ellenõrzi. A &man.quotacheck.8;
gondoskodik róla, hogy a kvótákat
tároló adatbázis ténylegesen az
állományrendszeren található
adatokat tükrözi. Ez egy nagyon
idõigényes folyamat, ami rányomja
bélyegét a rendszer elindulásához
szükséges idõ mennyiségére is.
Amennyiben szeretnénk megtakarítani ezt a
lépést, tegyük bele az
/etc/rc.conf állományba a
direkt erre a célra kialakított
beállítást:check_quotas="NO"Végezetül az állományrendszereken
az /etc/fstab megfelelõ
módosításával tudjuk
egyenként engedélyezni a lemezkvóták
használatát. Itt lehet bekapcsolni az
állományrendszerek felhasználókra
vagy csoportokra, esetleg mind a kettõjükre
vonatkozó kvótáikat.Ha felhasználói szintû
kvótákat akarunk engedélyezni egy
állományrendszeren, akkor az
/etc/fstab állományban az
állományrendszer beállításai
közé vegyük fel a
opciót. Például így:/dev/da1s2g /home ufs rw,userquota 1 2Ehhez hasonlóan tudjuk engedélyezni a
helyett a
opció használatával a csoportszintû
kvótákat is. A felhasználói-
és csoportszintû kvóták együttes
engedélyezéséhez így kell
átírni az állományrendszer
bejegyzését:/dev/da1s2g /home ufs rw,userquota,groupquota 1 2Alapértelmezés szerint az
állományrendszerekhez tartozó
kvóták a gyökerükben
található quota.user valamint
quota.group állományokban
tárolódnak. Errõl részletesebben az
&man.fstab.5; man oldalon olvashatunk. Noha még az
&man.fstab.5; man oldala szerint is megadható más
elérési út a kvótákat
tároló állományokhoz,
semmiképpen sem javasoljuk ezt, mert úgy
tûnik, hogy a kvótákat kezelõ
különbözõ segédprogramok ezzel nem
képesek rendesen megbirkózni.Most kell újraindítani a rendszerünket az
új rendszermaggal. Az /etc/rc
magától le fogja futtatni a kezdeti
kvótaállományok
létrehozásához szükséges
parancsokat az /etc/fstab
állományban megadott
állományrendszereken. Ennek megfelelõen
tehát nem nekünk kell kézzel
létrehoznunk ezeket az állományokat.Hétköznapi esetben egyáltalán nem
kell manuális futtatnunk a &man.quotacheck.8;,
&man.quotaon.8; vagy &man.quotaoff.8; parancsokat. Habár
ha tisztában szeretnénk lenni a pontos
mûködésükkel, akkor mindenképpen
lapozzuk fel a hozzájuk tartozó man
oldalakat.A kvóták
beállításalemezkvótákkorlátokAhogy sikerült beállítani a
kvóták használatát, egybõl
ellenõrizzük is a
mûködõképességüket. Ezt
legegyszerûbben a következõ paranccsal
tehetjük meg:&prompt.root; quota -vItt egy sorban összefoglalva láthatjuk a
jelenlegi lemezhasználatot és az egyes
állományrendszereken engedélyezett
kvóták korlátait.Most már készenállunk arra, hogy az
&man.edquota.8; paranccsal végre korlátokat is
beállítsunk a kvótákhoz.Számos beállítás áll
rendelkezésünkre a felhasználók vagy
csoportok által lefoglalható lemezterület
vagy a létrehozható állományok
számának korlátozását
illetõen. A helyfoglalást szabályozhatjuk
lemezterület alapján (blokk kvóta) vagy az
állományok száma szerint
(állományleíró kvóta),
esetleg a kettõ kombinációjával. A
korlátok további két
kategóriára bonthatóak: erõsre
és gyengére.erõs korlátAz erõs korlátot (hard limit) nem lehet
túllépni. Ahogy a felhasználó
eléri a számára kiszabott erõs
korlátot, semmilyen további területet nem
használhat fel a kérdéses
állományrendszeren. Például, ha a
felhasználónak az állományrendszeren
500 kilobyte-os erõs korlátot
állítottunk be, és éppen 490
kilobyte-nál tart, akkor a felhasználó
innen már csak 10 kilobyte-nyi helyet foglalhat le. 11
kilobyte lefoglalása már nem fog sikerrel
járni.gyenge korlátEzzel szemben a gyenge korlátok (soft limit) egy
adott ideig átléphetõek. Ezt az idõt
türelmi idõnek (grace period) nevezik, ami
alapértelmezés szerint egy hét. Ha a
felhasználó a gyenge korláton felül
marad a türelmi idõ után is, akkor ezt a gyenge
korlát erõssé válik és
semmilyen további helyfoglalásra nem lesz
lehetõsége. Amikor a felhasználók
újra a gyenge korlát alá kerül, a
türelmi idõ is visszaáll a
beállított értékére.A most következõ példában az
&man.edquota.8; parancsot mutatjuk be. Amikor meghívjuk
az &man.edquota.8; parancsot, akkor elindul az
EDITOR környezeti változónak
megfelelõ szövegszerkesztõ, illetve ennek
hiányában a vi,
és lehetõségünk nyílik a
kvóta korlátainak
módosítására.&prompt.root; edquota -u tesztQuotas for user teszt:
/usr: kbytes in use: 65, limits (soft = 50, hard = 75)
inodes in use: 7, limits (soft = 50, hard = 60)
/usr/var: kbytes in use: 0, limits (soft = 50, hard = 75)
inodes in use: 0, limits (soft = 50, hard = 60)Normális esetben minden kvótával
rendelkezõ állományrendszerhez két
sort kapunk. Közülük az egyik sorban szerepelnek
a blokkok korlátai, a másikban az
állományleírók korlátai. Ha
valamelyiküket meg akarjuk változtatni, akkor
egyszerûen csak át kell írnunk az adott
korlát értékét.
Például növeljük meg a
felhasználók 50-es gyenge és 75-ös
erõs blokk korlátját 500-as gyenge és
600-as erõs korlátra. Ehhez szerkesszük
át a/usr: kbytes in use: 65, limits (soft = 50, hard = 75)sort erre:/usr: kbytes in use: 65, limits (soft = 500, hard = 600)Az új korlátok akkor fognak
érvénybe lépni, miután
kiléptünk a
szövegszerkesztõbõl.Néha hasznos lehet a korlátokat adott
felhasználói azonosítókhoz
beállítani. Ezt az &man.edquota.8; parancs
paraméterével tudjuk
elvégezni. Elõször is állítsuk
be egy felhasználónak a beállítani
kívánt korlátokat, majd futtassuk le az
edquota -p tesztkezdõuid-véguid
parancsot. Például ha a
teszt nevû
felhasználónak állítottuk be a
számunkra megfelelõ korlátokat, akkor a
következõ paranccsal lehet a rá
vonatkozó korlátokat kiterjeszteni a 10 000
és 19 999 közötti
azonosítójú
felhasználókra:&prompt.root; edquota -p teszt10000-19999Errõl bõvebben az &man.edquota.8; man
oldalán kaphatunk
felvilágosítást.A kvóták korlátainak és a
lemezhasználat ellenõrzéselemezkvótákellenõrzéseA kvóták korlátait és a lemez
jelenlegi kihasználtságát a &man.quota.1;
vagy &man.repquota.8; parancsokkal is ellenõrizhetjük.
A &man.quota.1; parancs segítségével
ellenõrizhetõ az egyes felhasználók vagy
csoportok kvótája és
lemezhasználata. A felhasználók csak a
saját adataikhoz férhetnek hozzá, illetve
mindazon csoportokéhoz, aminek tagjai. Egyedül a
rendszeradminisztrátor képes látni az
összes felhasználó és csoport
kvótáját. A &man.repquota.8; paranccsal
kérdezhetõ le az összes kvóta és
lemezhasználat rövid kimutatása minden olyan
állományrendszeren, ahol azok
engedélyezettek.A következõ kimenet a quota -v
parancstól származik, ahol a
felhasználónak két
állományrendszeren is vannak
kvótái:Disk quotas for user teszt (uid 1002):
Filesystem usage quota limit grace files quota limit grace
/usr 65* 50 75 5days 7 50 60
/usr/var 0 50 75 0 50 60türelmi idõA fenti példában látható, hogy a
felhasználó a /usr
állományrendszeren pillanatnyilag 15 kilobyte-tal
van az 50 kilobyte-os gyenge korlátja felett
és 5 napja van hátra a türelmi
idõbõl. Vegyük észre a szám
mellett levõ csillagot (*), amivel a
rendszer jelzi, hogy a felhasználó
túllépte a korlátját.A &man.quota.1; parancs kimenetében
általában nem jelennek meg azok az
állományrendszerek, amelyeken a
felhasználónak ugyan vannak kvótái,
de nem foglal rajtuk lemezterületet. A
beállítás megadásával ezek az
állományrendszerek is
láthatóvá válnak, mint ahogy azt a
fenti példában is megfigyelhettük a
/usr/var esetében.Kvóták NFS-en keresztülNFSA kvóták az NFS szerver
kvótákért felelõs
alrendszerében is engedélyezhetõek. Az
&man.rpc.rquotad.8; démon teszi az NFS klienseken
futtatott &man.quota.1; parancsok számára
elérhetõvé a kvótákkal
kapcsolatos információkat, aminek
köszönhetõen a felhasználók
távolról is képesek lekérdezni a
kvótáikat.Az rpc.rquotad
aktivilásához a következõt kell
beállítani az /etc/inetd.conf
állományban:rquotad/1 dgram rpc/udp wait root /usr/libexec/rpc.rquotad rpc.rquotadMajd ne felejtsük el újraindítani az
inetd démont sem:&prompt.root; /etc/rc.d/inetd restartLuckyGreenÍrta: shamrock@cypherpunks.toA lemezpartíciók
titkosításalemezektitkosításaA &os; kitûnõ futásközbeni
védelmet ajánl fel az adatok illetéktelen
hozzáférése ellen. Az
állományok engedélyei és a
kötelezõ
hozzáférés-vezérlés (Mandatory
Access Control, MAC, lásd )
segítenek megvédeni érzékeny
adatainkat az illéktelenek ellen az operációs
rendszer futása és a
számítógép mûködése
során. Azonban az operációs rendszerben
kezelt engedélyek teljesen hatástalanok abban az
esetben, ha a támadó fizikailag is képes
hozzáférni a
számítógépünkhöz,
eltávolítani a merevlemezt és egy
másik operációs rendszer
segítségével kielemezni a rajta
található fontos adatainkat.Függetlenül attól, hogy a
támadó valójában miként is
férkõzött hozzá a
merevlemezünkhöz, vagy miként kapcsolta le a
számítógépünket, a &os;
megtalálható GEOM alapú
lemeztitkosítás (gbde) és a
geli titkosítási alrendszer
egyaránt képes védelmet nyújtani a
számítógépen található
állományrendszerek számára az
értékes adatok után kutató igen
motivált betörõk ellen. A csupán egyes
állományokra kiterjedõ körmönfont
titkosítási módszerekkel szemben a
gbde és a geli az
egész állományrendszert
észrevétlen módon titkosítja.
Titkosítatlan adat nem is kerül a merevlemezre.A lemez titkosítása a
gbde
használatávalVáljunk root
felhasználóváA gbde
beállításához
rendszeradminisztrátori jogosultságokra lesz
szükségünk.&prompt.user; su -
Password:Adjuk hozzá a &man.gbde.4;
támogatását a rendszermag
konfigurációs
állományáhozTegyük a következõ sort a rendszermag
beállításait tartalmazó
állományba:options GEOM_BDEFordítsuk újra a rendszermagot a ben leírtak szerint.Indítsuk el a
számítógépet az új
rendszermaggal.A rendszermag újrafordítása helyett
a kldload paranccsal is
betölthetjük a &man.gbde.4;
modulját:&prompt.root; kldload geom_bdeA titkosított merevlemez
elõkészítéseA következõ példa azt feltételezi,
hogy a rendszerünkhöz egy új merevlemezt adunk
hozzá, amin egyetlen titkosított
partíció foglal helyet. Ezt a
partíciót a /private
könyvtárba fogjuk csatlakoztatni. A
gbde használható a
/home és a
/var/mail
titkosítására is, de ennek
megvalósítása olyan bonyolult
utasításokat igényel, amelyek
meghaladják ennek a bevezetésnek a
kereteit.Az új merevlemez
hozzáadásaA ban bemutatottak szerint
adjuk hozzá a rendszerünkhöz az új
merevlemezt. A példában az új lemez
partícióját a
/dev/ad4s1c néven fogjuk
tudni elérni. A
/dev/ad0s1*
eszközök a példában szereplõ
&os; rendszer szabványos partícióit
jelölik.&prompt.root; ls /dev/ad*
/dev/ad0 /dev/ad0s1b /dev/ad0s1e /dev/ad4s1
/dev/ad0s1 /dev/ad0s1c /dev/ad0s1f /dev/ad4s1c
/dev/ad0s1a /dev/ad0s1d /dev/ad4Hozzunk létre egy könyvtárat a gbde
zárolásainak
tárolásához&prompt.root; mkdir /etc/gbdeA gbdenek azért van
szüksége a zárolásokat
rögzítõ állományokra, hogy
hozzá tudjon férni a titkosított
partíciókhoz. Amennyiben ezt nem tudja
megtenni, a gbde
anélkül nem lesz képes visszafejteni a
titkosított partíciókon tárolt
adatokat, hogy az ezeket elérni akaró
szoftvereknek ne kelljen jelentõsebb
mértékben manuálisan beavatkoznia.
Mindegyik titkosított partíció
külön zároló állományt
használ.A gbde partíció
inicializálásaA gbde által
használt partíciókat használatuk
elõtt inicializálni kell. Ezt a mûveletet
azonban csak egyszer kell elvégezni:&prompt.root; gbde init /dev/ad4s1c -i -L /etc/gbde/ad4s1c.lockA &man.gbde.8; ekkor elindít egy
szövegszerkesztõt és benne egy sablon
segítségével be tudjuk
állítani a különbözõ
konfigurációs értékeket. Az
UFS1 vagy UFS2 használata esetén
állítsuk a szektorméretet
2048-ra:$FreeBSD: src/sbin/gbde/template.txt,v 1.1 2002/10/20 11:16:13 phk Exp $
#
# Sector size is the smallest unit of data which can be read or written.
# Making it too small decreases performance and decreases available space.
# Making it too large may prevent filesystems from working. 512 is the
# minimum and always safe. For UFS, use the fragment size
#
sector_size = 2048
[...]
A megjegyzés fordítása:A szektorméret az adatok írásának és olvasásának legkisebb egysége. Ha
túlságosan kicsire választjuk meg, akkor csökken a teljesítmény és csökken a
rendelkezésre álló hely. Ha viszont túlságosan nagyra hagyjuk, akkor azzal
akadályozzuk az állományrendszerek munkáját. 512 a legkisebb érték, amely mindig
megbízható. Az UFS esetén használjuk a fragmensek méretét.A &man.gbde.8; kétszer is rá fog
kérdeni az adatok titkosítására
használt jelmondatra. A jelmondatnak
természetesen mind a kétszer ugyanannak kell
lennie. A gbde
védelmének hatékonysága teljesen
mértékben az általunk választott
jelmondat minõségétõl függ
A könnyen megjegyezhetõ ám
mégis biztonságos jelmondatok
megválasztásához a Diceware
Passphrase honlapján találunk egy
kis segítséget
(angolul)..A gbde init parancs létrehoz
egy zároló állományt a
gbde partícióhoz,
amely ebben a példában az
/etc/gbde/ad4s1c.lock néven
keletkezett. A gbde
zároló állományainak
.lock névre kell
végzõdniük, mivel az
/etc/rc.d/gbde
indítószkript csak ebben az esetben
észleli rendesen.A gbde zároló
állományait a titkosított
partíciók tartalmával együtt
kell lementeni. Miközben a
zároló állomány
törlése nem tudja megakadályozni, hogy
az elszánt támadó visszafejtse a
gbde által
titkosított partíciót, addig a
zároló állomány
nélkül a jogos tulajdonos órási
mennyiségû munka befektetése
nélkül képtelen lesz
hozzáférni a rajta levõ adatokhoz. Ez
utóbbitól egyébként a
&man.gbde.8; és a rendszer tervezõje is
totálisan elhatárolja magát.A titkosított partíció
illesztése a rendszermaghoz&prompt.root; gbde attach /dev/ad4s1c -l /etc/gbde/ad4s1c.lockEkkor a titkosított partíció
illesztéséhez a rendszer kérni fogja az
inicializálás során választott
jelmondatot. Ezután az új titkosított
eszköz megjelenik a /dev
könyvtárban
/dev/eszköznév.bde
néven:&prompt.root; ls /dev/ad*
/dev/ad0 /dev/ad0s1b /dev/ad0s1e /dev/ad4s1
/dev/ad0s1 /dev/ad0s1c /dev/ad0s1f /dev/ad4s1c
/dev/ad0s1a /dev/ad0s1d /dev/ad4 /dev/ad4s1c.bdeÁllományrendszer
kialakítása egy titkosított
eszközönAhogy sikerült a titkosított eszközt
illeszteni a rendszermaghoz, létre is tudunk hozni
egy állományrendszert rajta. Erre a
célra a &man.newfs.8; remekül
használható. Mivel egy új UFS2
állományrendszerek
inicializálása sokkal gyorsabb a régi
UFS1 állományrendszerek
inicializálásánál, ezért
a &man.newfs.8; használata esetén az
beállítás
megadása ajánlott.&prompt.root; newfs -U -O2 /dev/ad4s1c.bdeA &man.newfs.8; parancsot egy illesztett
gbde partíción
kell végrehajtani, amit onnan ismerhetünk meg,
hogy az eszköz nevében szerepel a
*.bde
kiterjesztés.A titkosított partíció
csatlakoztatásaHozzunk létre egy csatlakozási pontot a
titkosított állományrendszer
számára.&prompt.root; mkdir /privátCsatlakoztassuk a titkosított
állományrendszert.&prompt.root; mount /dev/ad4s1c.bde /privátEllenõrizzük a titkosított
állományrendszer
mûködõképességétA titkosított állományrendszert
most már látja a &man.df.1; program és
készen áll a használatra.&prompt.user; df -H
Filesystem Size Used Avail Capacity Mounted on
/dev/ad0s1a 1037M 72M 883M 8% /
/devfs 1.0K 1.0K 0B 100% /dev
/dev/ad0s1f 8.1G 55K 7.5G 0% /home
/dev/ad0s1e 1037M 1.1M 953M 0% /tmp
/dev/ad0s1d 6.1G 1.9G 3.7G 35% /usr
/dev/ad4s1c.bde 150G 4.1K 138G 0% /privateLétezõ titkosított
állományrendszerek csatlakoztatásaA rendszer minden egyes indítása után
az összes titkosított
állományrendszert tényleges
használata elõtt újra illeszteni kell a
rendszermaghoz, ellenõrizni az épségét
és csatlakoztatni. Az ehhez szükséges
parancsokat root
felhasználóként kell kiadni.A gbde partíció illesztése a
rendszermaghoz&prompt.root; gbde attach /dev/ad4s1c -l /etc/gbde/ad4s1c.lockA gbde partíció
inicializálása során megadott
jelmondatot kell megadnunk a mûvelet
elvégzéséhez.Az állományrendszer
épségének
ellenõrzéseMivel a titkosított
állományrendszerek az automatikus
csatlakoztatáshoz még nem
szerepeltethetõek az /etc/fstab
állományban, ezért az ilyen
állományrendszereket csatlakoztatásuk
elõtt manuálisan ellenõriztetni kell a
&man.fsck.8; lefuttatásával.&prompt.root; fsck -p -t ffs /dev/ad4s1c.bdeA titkosított állományrendszer
csatlakoztatása&prompt.root; mount /dev/ad4s1c.bde /privátA titkosított állományrendszer most
már készen áll a
használatra.A titkosított partíciók
önálló csatlakoztatásaLehet írni olyan szkriptet, amely a
titkosított partíciókat
magától illeszti, ellenõrzi és
csatlakoztatja, de biztonsági
megfontolásokból semmi esetben sem szabad
tartalmaznia a &man.gbde.8; jelszavát. Ehelyett azt
javasoljuk, hogy az ilyen szkripteknek külön meg
kelljen adni a jelszót konzolon vagy az &man.ssh.1;
használatán keresztül.De használhatjuk a mellékelt
rc.d szkriptet is. A szkript
paramétereit az &man.rc.conf.5;
állományon keresztül adhatjuk meg,
például:gbde_autoattach_all="YES"
gbde_devices="ad4s1c"
gbde_lockdir="/etc/gbde"Ilyenkor a gbde által
használt jelmondatot a rendszer
indításakor kell megadni. Miután
begépeltük a megfelelõ jelmondatot, a
titkosított gbde
partíció magától
csatlakoztatásra kerül. Ez akkor lehet hasznos,
ha a gbde
megoldását hordozható
számítógépeken
alkalmazzuk.A gbde által alkalmazott titkosítási
módszerekA &man.gbde.8; a szektorok tartalmát 128 bites
AES használatával CBC módban
titkosítja. A lemezen található minden
egyes szektort eltérõ AES kulccsal kódolja.
A gbde kriptográfiai
felépítését, valamint mindazt,
hogy az egyes szektorok kulcsai miként
származtathatóak a felhasználó
által megadott jelmondatból, a &man.gbde.4; man
oldalán olvashatjuk.Kompatibilitási problémákA &man.sysinstall.8; nem kompatibilis a
gbde által
titkosított eszközökkel. A
&man.sysinstall.8; indítása elõtt minden
*.bde
eszközt ki kell iktatni a rendszermagból,
különben az eszközök keresése
során össze fog omlani. A
példánkban használt titkosított
eszközt a következõ paranccsal kell
lekapcsolni:&prompt.root; gbde detach /dev/ad4s1cTovábbá megjegyezzük azt is, hogy a
&man.vinum.4; nem használja a &man.geom.4; alrendszert,
ezért a gbde
alkalmazása során nem használhatunk
Vinum-köteteket.DanielGerzoÍrta: A lemezek titkosítása a
geli használatávalA &os; 6.0 változatától kezdve egy
új kriptográfiai GEOM osztály is a
rendelkezésünkre áll, melyet pillanatnyilag
&a.pjd; fejleszt. A geli segédprogram
némileg különbözõ a
gbde megoldásától
— más lehetõségeket kínál
fel és a titkosítást is egy
eltérõ séma mentén
valósítja meg.A &man.geli.8; legfontosabb jellemzõi a
következõk:A &man.crypto.9; keretrendszerét használja
— tehát ha rendelkezünk
kriptográfiai hardverrel, akkor a
geli automatikusan használni
fogja.Több kriptográfiai algoritmust is ismer
(melyek jelenleg az AES, Blowfish és a 3DES).Segítségével a
rendszerindításhoz használt
(gyökér) partíció is
titkosítható. Ilyenkor a
szükséges jelmondatot a rendszer
indításakor kell megadni.Két független kulcsot (például
egy kulcsot és egy céges
kulcsot) is használhatunk vele.A geli gyors — egyszerûen
csak szektorról szektorra titkosít.Lehetõvé teszi a mesterkulcsok
mentését is
visszaállítását. Ha a
felhasználó véletlenül
megsemmisítené a kulcsát, akkor a
biztonsági mentésbõl
helyreállított kulcsok
segítségével vissza tudjuk szerezni az
adatainkat is.Segítségével a lemezeket
véletlenszerû, egyszeri jelszavakkal is
illeszthetjük — ez különösen
fontos lapozóterületek és ideiglenes
állományrendszerek esetében.A geli által
felkínált lehetõségekrõl a
&man.geli.8; man oldalán találhatunk
többet.A következõ lépések
bemutatják, hogyan lehet a &os; rendszermagjában
engedélyezni a geli
támogatását, és hogyan lehet
létrehozni és használni egy
geli titkosítással
rendelkezõ adathordozót.A geli alkalmazásához
legalább a &os; 6.0-RELEASE vagy késõbbi
változatára van szükségünk.
Mivel a rendszermagot is módosítanunk kell,
ezért rendszeradminisztrátori jogosultságok
kellenek a mûveletek
elvégzéséhez.A geli
támogatásának hozzáadása
a rendszermaghozVegyük hozzá a következõ sorokat a
rendszermag beállításait
tartalmazó állományhoz:options GEOM_ELI
device cryptoFordítsuk újra a rendszermagot a ben leírtak szerint.Betölthetjük a geli
modulját is a rendszer indításakor.
Ehhez a következõ sort kell betenni a
/boot/loader.conf
állományba:geom_eli_load="YES"A &man.geli.8; most már használható
a rendszermagban.A mesterkulcs legenerálásaA most következõ példában egy
kulcsot tartalmazó állomány
létrehozását illusztráljuk, amit
a /privát
könyvtárba csatlakoztatott titkosított
adathordozó mesterkulcsához fogunk
használni. A kulcs állomány a
mesterkulcs titkosításához
felhasznált véletlenszerû adatot fogja
tartalmazni, valamint rajta kívül még a
mesterkulcsot egy jelmondattal is védjük. Az
adathordozó szektormérete 4 kilobyte-os
lesz. Emellett még bemutatjuk, hogyan kell
illeszteni egy geli-adathordozót,
állományrendszert létrehozni rajta,
csatlakoztatni, dolgozni vele és lekapcsolni.A nagyobb teljesítmény
érdekében javasolt nagyobb
szektorméretet választani (mint
például 4 kilobyte).A mesterkulcsot egy jelmondattal fogjuk védeni
és a kulcsok készítéséhez
használt adatforrás a
/dev/random lesz. A
/dev/da2.eli, amelyet mit csak
adathordozónak fogunk csak hívni, szektorainak
mérete 4 kilobyte lesz.&prompt.root; dd if=/dev/random of=/root/da2.key bs=64 count=1
&prompt.root; geli init -s 4096 -K /root/da2.key /dev/da2
Enter new passphrase:
Reenter new passphrase:Nem kötelezõ egyszerre használni a
jelmondatot és a kulcs állományt. A
mesterkulcs elzárásának
bebiztosítására bármelyik
módszer alkalmas.Ha a kulcs állomány a -
paraméterrel adjuk meg, akkor a szabványos
bemenetrõl olvassa be a program. Ez a példa
több kulcs használatát mutatja be.&prompt.root; cat kulcs1 kulcs2 kulcs3 | geli init -K - /dev/da2Az adathordozó illesztése a
generált kulccsal&prompt.root; geli attach -k /root/da2.key /dev/da2
Enter passphrase:Az új titkosítatlan eszköz neve
/dev/da2.eli
lesz.&prompt.root; ls /dev/da2*
/dev/da2 /dev/da2.eliAz új állományrendszer
kialakítása&prompt.root; dd if=/dev/random of=/dev/da2.eli bs=1m
&prompt.root; newfs /dev/da2.eli
&prompt.root; mount /dev/da2.eli /privátA titkosított állományrendszer most
már &man.df.1; számára is
látszik és használható:&prompt.root; df -H
Filesystem Size Used Avail Capacity Mounted on
/dev/ad0s1a 248M 89M 139M 38% /
/devfs 1.0K 1.0K 0B 100% /dev
/dev/ad0s1f 7.7G 2.3G 4.9G 32% /usr
/dev/ad0s1d 989M 1.5M 909M 0% /tmp
/dev/ad0s1e 3.9G 1.3G 2.3G 35% /var
/dev/da2.eli 150G 4.1K 138G 0% /privateAz adathordozó leválasztása
és lekapcsolásaMiután befejeztük a munkát a
titkosított partíción, és a
/privát
partícióra már nincs tovább
szükségünk, érdemes
leválasztanunk és kiiktatnunk a
geli titkosítású
partíciót a rendszermagból.&prompt.root; umount /privát
&prompt.root; geli detach da2.eliA &man.geli.8; használatáról
bõvebben a saját man oldalán
tájékozódhatunk.A gelirc.d
szkriptjének használataA geli mellett találhatunk egy
saját rc.d szkriptet, amely
jelentõsen leegyszerûsíti a
geli használatát. A
geli például így
paraméterezhetõ az &man.rc.conf.5;
állományon keresztül:geli_devices="da2"
geli_da2_flags="-p -k /root/da2.key"Ennek segítségével a
/dev/da2 eszközt
geli adathordozóként
állítjuk be a /root/da2.key
állományban található mesterkulcs
felhasználásával, de az
illesztéskor a geli nem kér
jelmondatot (ezt csak akkor fogja tenni, ha a geli
init parancs kiadásához
hozzátesszük a
beállítást). A rendszer
leállítása elõtt pedig a
geli adathordozó így
automatikusan leválasztásra kerül.Az rc.d
beállításával kapcsolatos
tudnivalókat a kézikönyv rc.d szkriptekrõl
szóló szakaszában ismerhetjük
meg.ChristianBrüfferÍrta: A lapozóterület titkosításalapozóterülettitkosításaA &os;-ben a lapozóterület
titkosítása nagyon könnyen
beállítható és már a
&os; 5.3-RELEASE változata óta
elérhetõ. Attól függõen, hogy
konkrétan a &os; melyik verzióját
használjuk, a konfigurációhoz
kapcsolódó beállítások
némileg eltérhetnek. A &os; 6.0-RELEASE
változatától kezdõdõen a
&man.gbde.8; és a &man.geli.8; alrendszerek is
használhatóak a lapozóterület
titkosítására. A korábbi
verziókban egyedül csak a &man.gbde.8;
érhetõ el. Mind a két rendszer az
encswap rc.d szkriptet
használja.Az elõzõ szakaszban, vagyis a A lemezpartíciók
titkosításában már röviden
összefoglaltuk a különbözõ
titkosítással foglalkozó
alrendszereket.Miért kellene titkosítanunk a
lapozóterületet?Hasonlóan a lemezpartíciók
titkosításához, a lapozóterület
titkosításának is az a célja, hogy
védjük az érzékeny
információkat. Képzeljük el, hogy egy
olyan alkalmazással dolgozunk, amely jelszavakat kezel.
Amíg ezek a jelszavak a memóriában
maradnak, addig minden a legnagyobb rendben van. Azonban amikor
az operációs rendszer nekilát a fizikai
memória felszabadításához kilapozni
ezeket az adatokat, a jelszavak titkosítatlanul
kerülnek a lemez felületére és egy
támadó számára könnyû
prédává válnak. Ilyen helyzetekben
csak lapozóterület titkosítása
jelenthet megoldást.ElõkészületekA szakasz további részében a
ad0s1b lesz a lapozásra
használt partíció.Egészen mostanáig nem titkosítottuk a
lapozóterületet. Így
elképzelhetõ, hogy a lemezre már
titkosítatlanul kikerültek jelszavak vagy
bármilyen más érzékeny adatok. A
csorba kiköszörülésére a
lapozóterületen található összes
adatot írjuk felül véletlenszerûen
generált szeméttel:&prompt.root; dd if=/dev/random of=/dev/ad0s1b bs=1mA lapozóterület titkosítása a
&man.gbde.8; használatávalHa a &os; 6.0-RELEASE vagy újabb
változatát használjuk, akkor az
/etc/fstab állományban
tegyük hozzá a .bde
utótagot az a lapozóterülethez tartozó
eszköz nevéhez.
# Device Mountpoint FStype Options Dump Pass#
/dev/ad0s1b.bde none swap sw 0 0
A &os; 6.0-RELEASE elõtti kiadások
esetében a következõ sort is hozzá kell
tennünk az /etc/rc.conf
állományhoz:gbde_swap_enable="YES"A lapozóterület titkosítása a
&man.geli.8; használatávalA &man.gbde.8; használatához hasonlóan
a &man.geli.8; által felajánlott
titkosítást is alkalmazhatjuk a
lapozóterület védelmére. Ilyenkor az
/etc/fstab állományban az
.eli utótagot kell hozzátenni a
lapozóterülethez tartozó eszköz
névhez.
# Device Mountpoint FStype Options Dump Pass#
/dev/ad0s1b.eli none swap sw 0 0
Az &man.geli.8; az AES algoritmust
alapértelmezés szerint 256 bites kulccsal
használja.Ezek az alapértelmezések
megváltoztathatóak az
/etc/rc.conf állományban a
geli_swap_flags
beállítás használatával. A
következõ sor arra utasítja az
encswap rc.d szkriptet, hogy a &man.geli.8;
és a Blowfish algoritmus használatával
hozzon létre egy lapozópartíciót
128 bites kulccsal, 4 kilobyte-os
szektormérettel és a detach on last
close (lekapcsolás használat
után) beállítással:geli_swap_flags="-e blowfish -l 128 -s 4096 -d"A &os; 6.2-RELEASE verzió elõtti
rendszerekben a következõ sort kell
használni:geli_swap_flags="-a blowfish -l 128 -s 4096 -d"A többi beállításhoz a
&man.geli.8; man oldalán a onetime
parancs leírását érdemes
áttanulmányozni.Ellenõrizzük a
mûködésétMiután újraindítottuk a rendszert, a
titkosított lapozóterület helyes
mûködését a swapinfo
paranccsal ellenõrizhetjük le.A &man.gbde.8; esetében:&prompt.user; swapinfo
Device 1K-blocks Used Avail Capacity
/dev/ad0s1b.bde 542720 0 542720 0%
Valamint a &man.geli.8; esetében:&prompt.user; swapinfo
Device 1K-blocks Used Avail Capacity
/dev/ad0s1b.eli 542720 0 542720 0%
diff --git a/hu_HU.ISO8859-2/books/handbook/dtrace/Makefile b/hu_HU.ISO8859-2/books/handbook/dtrace/Makefile
new file mode 100644
index 0000000000..48e9f06fc2
--- /dev/null
+++ b/hu_HU.ISO8859-2/books/handbook/dtrace/Makefile
@@ -0,0 +1,18 @@
+#
+# Build the Handbook with just the content from this chapter.
+#
+# %SOURCE% en_US.ISO8859-1/books/handbook/dtrace/Makefile
+# %SRCID% 1.1
+#
+# $FreeBSD$
+#
+
+CHAPTERS= dtrace/chapter.sgml
+
+VPATH= ..
+
+MASTERDOC= ${.CURDIR}/../${DOC}.${DOCBOOKSUFFIX}
+
+DOC_PREFIX?= ${.CURDIR}/../../../..
+
+.include "../Makefile"
diff --git a/hu_HU.ISO8859-2/books/handbook/dtrace/chapter.sgml b/hu_HU.ISO8859-2/books/handbook/dtrace/chapter.sgml
new file mode 100644
index 0000000000..1e78ec47e5
--- /dev/null
+++ b/hu_HU.ISO8859-2/books/handbook/dtrace/chapter.sgml
@@ -0,0 +1,480 @@
+
+
+
+
+
+
+
+
+ Tom
+ Rhodes
+ Írta:
+
+
+
+
+ DTrace
+
+ A DTrace, vagy más néven Dynamic Tracing
+ technológiát a &sun; dolgozta ki szerverek
+ teljesítményében jelentkezõ szûk
+ keresztmetszetek felderítésének
+ megkönnyítésére. Ez nem egy
+ nyomkövetésre szolgáló megoldást
+ takar, hanem inkább a rendszer valós idejû
+ elemzését és
+ teljesítményének vizsgálatát
+ elõsegítõ eszközt.
+
+ A DTrace figyelemre méltó elemzõeszköz,
+ rengeteg rendkívül hasznos képességgel
+ rendelkezik a rendszerben felbukkanó problémák
+ diagnosztizálására. Elõre programozott
+ szkriptek segítségével pedig ezen
+ képességek további elõnyeit tudjuk
+ kihasználni, ugyanis a DTrace programozható egy
+ ún. D nyelven, amelynek révén a
+ különbözõ vizsgálatokat könnyen a
+ saját igényeink szerint tudjuk
+ alakítani.
+
+
+ Áttekintés
+
+ DTrace
+
+ DTrace támogatás
+ DTrace
+
+
+ A fejezet elolvasása során
+ megismerjük:
+
+
+
+ mi is az a DTrace és milyen lehetõségei
+ vannak;
+
+
+
+ a &solaris; és &os; operációs
+ rendszereken megtalálható DTrace
+ implementációk közti
+ eltéréseket;
+
+
+
+ a DTrace &os; alatt hogyan engedélyezhetõ
+ és használható.
+
+
+
+ A fejezet elolvasásához ajánlott:
+
+
+
+ a &unix; és &os; alapvetõ ismerete ();
+
+
+
+ a rendszermag konfigurációjának
+ és fordításának alapvetõ
+ ismerete ();
+
+
+
+ az operációs rendszerek és azon
+ belül a &os; biztonsági fogalmainak minimális
+ ismerete ();
+
+
+
+ a &os; forrásainak megszerzésének
+ és azok lefordításának ismerete
+ ().
+
+
+
+
+ Ez a funkció még folyamatos tesztelés
+ alatt áll. Bizonyos részei még
+ egyáltalán nem, vagy csak korlátozottan
+ érhetõek el. A dokumentáció annak
+ megfelelõen fog majd változni, hogy ezek az elemek
+ fokozatosan elérik az éles
+ felhasználáshoz szükséges
+ szintet.
+
+
+
+
+ Eltérések az
+ implementációban
+
+ Noha a &os; alatt megtalálható DTrace
+ implementáció nagyon hasonló az eredeti,
+ &solaris; alatt futó változathoz, tartalmaz bizonyos
+ különbségeket, amelyeket a
+ továbblépés elõtt mindenképpen
+ érdemes megemlítenünk. Az egyik legfontosabb
+ ilyen szembetûnõ különbség, hogy a &os;
+ esetén a DTrace használatát külön
+ engedélyezni kell. A DTrace megfelelõ
+ mûködéséhez tehát a rendszermag
+ konfigurációs állományában meg
+ kell adnunk bizonyos beállításokat és
+ modulokat kell betöltenünk. Ezekrõl hamarosan
+ szó lesz.
+
+ A rendszermag konfigurációs
+ állományában a DDB_CTF
+ opció segítségével tudjuk
+ engedélyezni ún. CTF adatok
+ betöltését mind a rendszermag
+ moduljaiból, mind pedig magából a
+ rendszermagból egyaránt. A CTF a
+ &solaris; Compressed Type Format
+ elnevezésû formátumára utal, amellyel
+ például a DWARF
+ megoldásához hasonló módon
+ tárolhatunk tömörített alakban
+ különbözõ típusú
+ nyomkövetési információkat. Ilyen
+ CTF adatok többek közt a
+ ctfconvert és a
+ ctfmerge használatával
+ rendelhetõek hozzá bináris
+ állományokhoz. A ctfconvert
+ segédprogram a fordítóprogram által az
+ ELF állományokban szereplõ
+ DWARF típusú szakaszokban
+ tárolt információkat képes beolvasni,
+ és a ctfmerge a
+ tárgykódban található
+ CTF típusú ELF
+ szakaszokat tudja végrehajtható
+ állományokká vagy osztott
+ könyvtárakka összefûzni. Röviden
+ beszélni fogunk arról, hogyan lehet mindezeket a
+ &os; alaprendszerébe és rendszermagjába is
+ beépíteni.
+
+ &os; és &solaris; esetén elõfordulhat, hogy
+ más fajta providerek állnak
+ rendelkezésünkre. Ezek közül talán a
+ legfontosabb a dtmalloc, amely a &os;
+ rendszermagjában típus szerint teszi
+ lehetõvé a malloc()
+ függvény követését.
+
+ &os; alatt kizárólag csak a
+ root tudja használni a DTrace-t. Ennek
+ oka a két operációs rendszer
+ biztonsági megoldásai közti
+ különbségekben keresendõ, mivel a &solaris;
+ esetén létezik néhány olyan
+ alacsonyszintû ellenõrzés, amely a
+ &os;-nél még nincs. Ezért
+ például a /dev/dtrace/dtrace
+ eszköz szigorúan csak a root
+ számára érhetõ el.
+
+ Végezetül megemlítjük, hogy a DTrace
+ felhasználására a &sun; CDDL
+ licence vonatkozik. A Common Development and
+ Distribution License &os; a
+ /usr/src/cddl/contrib/opensolaris/OPENSOLARIS.LICENSE
+ állományban található, vagy interneten
+ keresztül a
+ címen.
+
+ Ezen licenc értelmében a DTrace
+ támogatással készített &os;
+ rendszermagok továbbra is BSD
+ licencûek maradnak, azonban a rendszerrel terjesztett
+ binárisok futtatásakor vagy a modulok
+ betöltésekor már a CDDL
+ érvényesül.
+
+
+
+ A DTrace támogatásának
+ engedélyezése
+
+ A DTrace által felkínált
+ lehetõségeket a következõ sorok
+ hozzáadásával tudjuk engedélyezni a
+ rendszermag konfigurációs
+ állományában:
+
+ options KDTRACE_HOOKS
+options DDB_CTF
+
+
+ AMD64 architektúrán ezeken kívül
+ még az alábbi sor is kelleni fog:
+
+ options KDTRACE_FRAME
+
+ Ezzel a beállítással az
+ FBT (function boundary tracing)
+ részére nyújtunk támogatást.
+ A DTrace ugyan enélkül is képes lesz
+ mûködni, de akkor csak korlátozott
+ mértékben tudunk ilyen típusú
+ vizsgálatokat végezni.
+
+
+ Az egész rendszert újra kell fordítanunk
+ a CTF használatával. Ennek
+ elvégzéséhez a következõ
+ parancsokat kell kiadnunk:
+
+ &prompt.root; cd /usr/src
+&prompt.root; make WITH_CTF=1 buildworld
+&prompt.root; make WITH_CFT=1 kernel
+&prompt.root; make WITH_CFT=1 installworld
+&prompt.root; mergemaster -Ui
+
+ A fordítás befejezõdése után
+ indítsuk újra a rendszerünket.
+
+ A rendszer újraindulása és az új
+ rendszermag betöltõdése után
+ szükségünk lesz egy Korn-féle
+ parancsértelmezõre is, mivel a DTrace
+ eszköztárában rengeteg, a
+ ksh programra épülõ
+ eszközt fogunk találni. Ezért tehát
+ telepítsük a shells/ksh93 csomagot, de
+ megjegyezzük, hogy ugyanezen eszközök
+ számára a shells/pdksh vagy shells/mksh csomagok is
+ megfelelnek.
+
+ Végül töltsük le a DTrace
+ eszköztárának legfrissebb
+ változatát. Az aktuális verzió a
+ címen érhetõ el. Képes
+ önmagát telepíteni, de a benne
+ található eszközök
+ használatához nem kötelezõ ezt
+ elvégezni.
+
+
+
+ A DTrace használata
+
+ A DTrace funkcióinak alkalmazásához
+ léteznie kell egy DTrace eszköznek. Ennek
+ létrehozásához be kell töltenünk a
+ megfelelõ modult:
+
+ &prompt.root; kldload dtraceall
+
+ Innentõl már mûködésre
+ kész a DTrace. Rendszeradminisztrátorként a
+ következõ módon kérdezhetjük le a
+ rendelkezésre álló
+ vizsgálatokat:
+
+ &prompt.root; dtrace -l | more
+
+ Mivel lekérdezés eredménye pillanatok
+ alatt betöltené az egész képernyõt,
+ ezért az egészet még
+ átirányítjuk a more
+ parancshoz. Ha ez rendesen lefut, akkor a DTrace
+ ténylegesen használhatónak tekinthetõ.
+ Ezt követõen tekintsük át a
+ hozzátartozó eszközkészletet.
+
+ Ez a mellékelt eszközkészlet
+ lényegében a rendszerrel kapcsolatos
+ információk összegyûjtésére
+ alkalmas szkripteket tartalmaz. Vannak szkriptek, amelyekkel a
+ megnyitott állományokat, a memóriát, a
+ processzorhasználatot és még sok minden
+ mást kérdezhetünk le. A szkriptek a
+ következõ parancs segítségével
+ tömöríthetõek ki:
+
+ &prompt.root; gunzip -c DTraceToolkit* | tar xvf -
+
+ A cd parancs
+ segítségével lépjünk be az
+ így keletkezõ könyvtárba, és a
+ kisbetûs névvel rendelkezõ
+ állományok engedélyeit állítsuk
+ be a 755 módra.
+
+ Mindegyik szkriptben el kell végeznünk némi
+ módosítást: a /usr/bin/ksh
+ hivatkozásokat írjuk át mindenhol a
+ /usr/local/bin/ksh névre, illetve a
+ /usr/bin/sh hivatkozásokat
+ /bin/sh névre, majd
+ végezetül pedig a /usr/bin/perl
+ hivatkozásokat a /usr/local/bin/perl
+ névre.
+
+
+ Itt még egyszer kiemelnénk, hogy a &os;-ben
+ jelenleg megtalálható DTrace támogatás
+ még nem teljes és
+ kísérleti jelleggel szerepel.
+ Ezért bizonyos szkriptek nem fognak mûködni,
+ vagy azért, mert túlságosan &solaris;
+ lehetõségeihez igazodnak, vagy pedig azért,
+ mert a jelenlegi implementáció által
+ még nem ismert vizsgálatokra
+ támaszkodnak.
+
+
+ Jelenlegi ismereteink szerint a &os; egyelõre csak
+ két szkriptet támogat teljes mértékben,
+ ezek a hotkernel és a
+ procsystime. A szakasz további
+ részében ezzel a kettõvel fogunk
+ részletesebben foglalkozni.
+
+ A hotkernel feladata segíteni
+ beazonosítani azokat a függvényeket, amelyek a
+ legtöbb idõt veszik igénybe a rendszermagon
+ belül. A szkript futtatásakor nagyjából
+ a következõt csinálja:
+
+ &prompt.root; ./hotkernel
+Sampling... Hit Ctrl-C to end.
+
+ A folyamat CtrlC
+ billentyûkombináció hatására
+ állítható meg. A szkript
+ futásának befejezõdésekor
+ különbözõ rendszermagbeli
+ függvények és a hozzájuk tartozó
+ idõk jelennek meg, az utóbbi szerint növekvõ
+ sorrendben:
+
+ kernel`_thread_lock_flags 2 0.0%
+0xc1097063 2 0.0%
+kernel`sched_userret 2 0.0%
+kernel`kern_select 2 0.0%
+kernel`generic_copyin 3 0.0%
+kernel`_mtx_assert 3 0.0%
+kernel`vm_fault 3 0.0%
+kernel`sopoll_generic 3 0.0%
+kernel`fixup_filename 4 0.0%
+kernel`_isitmyx 4 0.0%
+kernel`find_instance 4 0.0%
+kernel`_mtx_unlock_flags 5 0.0%
+kernel`syscall 5 0.0%
+kernel`DELAY 5 0.0%
+0xc108a253 6 0.0%
+kernel`witness_lock 7 0.0%
+kernel`read_aux_data_no_wait 7 0.0%
+kernel`Xint0x80_syscall 7 0.0%
+kernel`witness_checkorder 7 0.0%
+kernel`sse2_pagezero 8 0.0%
+kernel`strncmp 9 0.0%
+kernel`spinlock_exit 10 0.0%
+kernel`_mtx_lock_flags 11 0.0%
+kernel`witness_unlock 15 0.0%
+kernel`sched_idletd 137 0.3%
+0xc10981a5 42139 99.3%
+
+ Ez a szkript modulok esetén is alkalmazható.
+ Ezt a módját a kapcsoló
+ megadásával aktiválhatjuk:
+
+ &prompt.root; ./hotkernel -m
+Sampling... Hit Ctrl-C to end.
+^C
+MODULE COUNT PCNT
+0xc107882e 1 0.0%
+0xc10e6aa4 1 0.0%
+0xc1076983 1 0.0%
+0xc109708a 1 0.0%
+0xc1075a5d 1 0.0%
+0xc1077325 1 0.0%
+0xc108a245 1 0.0%
+0xc107730d 1 0.0%
+0xc1097063 2 0.0%
+0xc108a253 73 0.0%
+kernel 874 0.4%
+0xc10981a5 213781 99.6%
+
+ A procsystime szkript egy adott
+ azonosítóval vagy névvel rendelkezõ
+ programhoz tudja megadni az általa kezdeményezett
+ rendszerhívások által felhasznált
+ idõt. A most következõ példában
+ elindítjuk a /bin/csh egy újabb
+ példányát. A
+ procsystime elindul, majd megvárja,
+ amíg kiadunk néhány parancsot a
+ csh frissen indított
+ másolatában. A teszt eredményei tehát
+ a következõk lesznek:
+
+ &prompt.root; ./procsystime -n csh
+Tracing... Hit Ctrl-C to end...
+^C
+
+Elapsed Times for processes csh,
+
+ SYSCALL TIME (ns)
+ getpid 6131
+ sigreturn 8121
+ close 19127
+ fcntl 19959
+ dup 26955
+ setpgid 28070
+ stat 31899
+ setitimer 40938
+ wait4 62717
+ sigaction 67372
+ sigprocmask 119091
+ gettimeofday 183710
+ write 263242
+ execve 492547
+ ioctl 770073
+ vfork 3258923
+ sigsuspend 6985124
+ read 3988049784
+
+ Jól megfigyelhetõ, hogy (nanomásodpercekben
+ mérve) a legtöbb idõt a
+ read(), a legkevesebb idõt pedig a
+ getpid() rendszerhívás vette
+ igénybe.
+
+
+
+ A D nyelv
+
+ A DTrace eszköztárában
+ megtalálható számos szkript a DTrace
+ saját programozási nyelvén
+ íródott. Ezt a nyelvet nevezik a &sun;
+ implementációjában a D
+ nyelvnek. Ennek ismertetésére itt most
+ külön nem térünk ki, azonban a
+ címen igen részletesen olvashatunk
+ róla.
+
+
diff --git a/hu_HU.ISO8859-2/books/handbook/eresources/chapter.sgml b/hu_HU.ISO8859-2/books/handbook/eresources/chapter.sgml
index 382b633a96..86e271e3d0 100644
--- a/hu_HU.ISO8859-2/books/handbook/eresources/chapter.sgml
+++ b/hu_HU.ISO8859-2/books/handbook/eresources/chapter.sgml
@@ -1,2414 +1,2409 @@
- Erõforrások az interneten
+ Források az internetenA &os; gyors ütemû fejlõdése a nyomtatott
médiát alkalmatlanná teszi a legfrissebb
fejlesztések nyomonkövetésére. Ezzel
szemben az elektronikus erõforrások a biztos, ha gyakran
nem is csak az egyetlen, módjai a legújabb
elõrelépések figyelemmel
követésének. Mivel a &os;-t
többségében önkéntesek fejlesztik, az
õt körülvevõ felhasználói
közösség önmaga is egyfajta szakmai
segélynyújtó egyletként
funkcionál, amelyet leghatékonyabban elektronikus
levelében vagy USENET hírcsoportokon keresztül
érhetünk el.A továbbiakban a &os; felhasználók
közösségének különbözõ
fajtájú elérhetõségeit
vázoljuk fel nagyvonalakban. Ha úgy
érezzük, hogy ebbõl a felsorolásban kimaradt
volna valami, akkor ne habozzunk róla
értesítést küldeni a &a.doc;
címére (angolul), hogy felvehessük a többi
közé.Levelezési listákHabár sok &os; fejlesztõ olvas USENET-et, nem
tudjuk mindig szavatolni, hogy a
comp.unix.bsd.freebsd.* csoportok
valamelyikére küldött levelek idõben (vagy
egyáltalán) megválaszolásra
kerülnek. A megfelelõ levelezési listák
címére küldött levelekkel a
fejlesztõk mellett a &os; közönségét
is egyaránt el tudjuk érni, ami változatlanul
jobb (de legalább is gyorsabb) válaszokkal
kecsegtet.A különbözõ listák
témájának rövid leírása a
dokumentum alján olvasható.
Szeretnénk mindenkit megkérni, hogy
mielõtt feliratkozik vagy levelet küld valamelyik
listára, figyelmesen olvassa el ezeket. Az egyes
listák tagjai már így is naponta
többszáz &os;-vel kapcsolatos üzenetet kapnak,
miközben a listák tematikájának
és szabályainak lefektetésével
igyekszünk a jel-zaj arányt minél
kedvezõbb szinten tartani. Ezek nélkül a
levelezési listák a Projekt számára
haszontalan kommunikációs
eszközökké válnának.A &a.test.name; címet használjuk, ha
ki akarjuk próbálni, hogy tudunk-e levelet
küldeni a &os; listáira. A többi
listára viszont lehetõleg ne küldjünk
teszt jellegû üzeneteket.Ha nem tudjuk eldönteni, hogy pontosan melyik
listát is kellene megcímeznünk
kérdésünkkel, olvassuk el a Hogyan kapjunk
értékelhetõ választ a &os;-questions
levelezési listáról címû
leírást (angolul).Mielõtt akármelyik listára is levelet
küldenénk, olvassuk el a Levelezési
listák Gyakran Ismételt
Kérdéseit (angolul), amivel
elkerülhetjük a gyakran feltett kérdések
és témák ismételt
felhozását.A levelezési listák tartalma folyamatosan
archiválódik, és ezekben az
archívumokban a
&os; honlapján tudunk keresni. Az itt
elérhetõ, kulcsszavak alapján
történõ keresés remek módját
nyújtja a gyakran felmerülõ
kérdések egyszerû és gyors
megválaszolásának, ezért ilyen
esetekben elõször mindig ezt javasolt
használni.A listák összefoglalásaÁltalános listák:
A következõ általános célú
listákhoz szabadon (és nyugodtan)
csatlakozhatunk:ListaTartalom
-
- &a.cvsall.name;
- Értesítés a &os;
- forrásfájában elvégzett
- változtatásokról
-
-
&a.advocacy.name;A &os; igéjének
terjesztése&a.announce.name;Fontosabb események és
elõrelépések a projektek
életében&a.arch.name;Architekturális és tervezési
kérdések tárgyalása&a.bugbusters.name;A &os; hibabejelentéseit
tároló adatbázis és a
kapcsolódó eszközök
karbantartására vonatkozó
megbeszélések&a.bugs.name;Hibajelentések&a.chat.name;A &os; közösség nem szakmai
jellegû dolgai&a.current.name;A &os.current; használatának
tárgyalása&a.isp.name;A &os;-t alkalmazó
internet-szolgáltatók
fóruma&a.jobs.name;&os;-s munkalehetõségek&a.policy.name;A &os; fejlõdését
irányító csoport (Core Team)
döntéseirõl
tájékoztató lista. A forgalma
kicsi, csak olvasható.&a.questions.name;A felhasználók kérdései
és szakmai
segítségnyújtás&a.security-notifications.name;Biztonsági figyelmeztetések&a.stable.name;A &os.stable; használatát illetõ
kérdések&a.test.name;Ide lehet küldeni a
próbaüzeneteketSzakmai listák: A
következõ listák szakmai jellegû
témákat képviselnek. Mielõtt
bármelyikükre levelet küldenénk vagy
feliratkoznánk, figyelmesen olvassuk el a tartalmukat
és céljaikat bemutató rövid
leírásukat.ListaTartalom&a.acpi.name;Az ACPI és energiagazdálkodás
támogatás fejlesztése&a.afs.name;Az AFS portolása &os;-re&a.aic7xxx.name;Az &adaptec; AIC 7xxx sorozat meghajtóinak
fejlesztése&a.alpha.name;A &os; Alpha portja&a.amd64.name;A &os; AMD64 portja&a.apache.name;Az Apache és
hozzátartozó portok
tárgyalása&a.arm.name;A &os; &arm; portja&a.atm.name;&os; használata ATM
hálózatokkal&a.audit.name;A forráskód
ellenõrzésérõl
szóló projekt&a.binup.name;A bináris frissítésekkel
foglalkozó rendszer tervezése és
fejlesztése&a.bluetooth.name;A &bluetooth; technológia használata
a &os;-ben&a.cluster.name;A &os; klaszteres környezetben&a.cvsweb.name;A CVSweb karbantartása&a.database.name;Adatbázisok használata és
fejlesztése &os; alatt&a.doc.name;&os;-rõl szóló
leírások
készítése&a.drivers.name;Eszközmeghajtók írása
&os;-re&a.eclipse.name;Az Eclipse integrált fejlesztõi
környezet, eszközeinek, gazdag kliens
alkalmazásinak és portjainak &os; alatti
használata&a.embedded.name;A &os; használata beágyazott
alkalmazásokban&a.eol.name;Olyan &os;-s szoftverek független
továbbfejlesztése, amelyeket hivatalosan
már nem támogatnak&a.emulation.name;Linux/&ms-dos;/&windows; és hasonló
rendszerek emulációja&a.firewire.name;A &os; és a &firewire; (iLink, IEEE 1394)
kapcsolatának technikai
kérdései&a.fs.name;Állományrendszerek&a.geom.name;A GEOM-hoz tartozó témák
és implementációk&a.gnome.name;A GNOME és
GNOME-alkalmazások
portolása&a.hackers.name;Általános szakmai
témák&a.hardware.name;A &os; futtatására
szolgáló hardverekkel foglalkozó
témák&a.i18n.name;A &os; honosítása&a.ia32.name;A &os; használata az IA-32 (&intel; x86)
platformon&a.ia64.name;A &os; portolása az &intel;
következõ IA64 rendszereire&a.ipfw.name;Az IP tûzfal kódjának
újratervezését érintõ
szakmai megbeszélések&a.isdn.name;ISDN fejlesztõk levelei&a.jail.name;A &man.jail.8; segédprogram&a.java.name;&java; fejlesztõk kérdései
és a &jdk;-k átültetése
&os;-re&a.kde.name;A KDE és
KDE-alkalmazások
portolása&a.lfs.name;Az LFS portolása &os;-re&a.libh.name;A második generációs
telepítõ- és csomagrendszer&a.mips.name;A &os; portolása &mips;-re&a.mobile.name;A mobil számítógépekkel
kapcsolatos megbeszélések&a.mozilla.name;A Mozilla
átültetése &os;-re&a.multimedia.name;Multimédia alkalmazások&a.newbus.name;A buszarchitektúrával kapcsolatos
szakmai megbeszélések&a.net.name;A TCP/IP forráskódjával
és hálózatkezeléssel
kapcsolatos kérdések&a.openoffice.name;A OpenOffice.org
és &staroffice;
alkalmazások portolása &os;-re&a.performance.name;Nagy terhelésû és
teljesítményû rendszerek
teljesítményhangolási
kérdései&a.perl.name;A rengeteg Perl alapú port
karbantársa&a.pf.name;A csomagszûrõ
mûködésével kapcsolatos
kérdések és
megbeszélések&a.platforms.name;Portolás nem &intel;
architektúrájú platformokra&a.ports.name;A Portgyûjtemény
mûködése&a.ports-bugs.name;A portokhoz tartozó hibák és
hibajelentések megbeszélése&a.ppc.name;A &os; portolása &powerpc;-re&a.proliant.name;HP ProLiant szerverek és a &os;
kapcsolata&a.python.name;A Python &os;-n futó
változatának
problémái&a.qa.name;A minõségbiztosítás
megbeszélése, különösen a
kiadások közeledtével&a.rc.name;Az rc.d rendszer és
annak fejlõdése&a.realtime.name;A &os; valósidejû
kiterjesztéseinek fejlesztése&a.ruby.name;A Ruby használata &os; rendszereken&a.scsi.name;A SCSI alrendszer&a.security.name;A &os; mûködését
fenyegetõ biztonsági
problémák&a.small.name;A &os; használata beágyazott
alkalmazásokban (elavult; helyette a
&a.embedded.name; címét
használjuk)&a.smp.name;Az [A]Szimmetrikus többszálú
feldolgozáshoz ([A]Symmetric MultiProcessing)
tartozó tervezési
megbeszélések&a.sparc.name;A &os; portolása &sparc; alapú
rendszerekre&a.standards.name;A &os; megfelelése a C99 és &posix;
szabványoknak&a.sun4v.name;A &os; portolása &ultrasparc; T1
alapú rendszerekre&a.threads.name;A &os; szálkezelése&a.testing.name;A &os; teljesítmény- és
megbízhatósági tesztjei&a.tokenring.name;A Token Ring támogatása a
&os;-ben&a.usb.name;USB támogatás a &os;-ben&a.virtualization.name;A &os; részérõl
támogatott különbözõ
virtualizációs technológiák
tárgyalása&a.vuxml.name;A VuXML infrastruktúra
tárgyalása&a.x11.name;Az X11 karbantartása és
támogata &os; alattKorlátozott listák:
(Limited lists) A következõ listák sokkal jobban
specializálódótt (és
igényesebb) közösségnek szólnak,
nem a nagyközönségnek. Ezért
mielõtt egy ilyen listára feliratkoznánk,
érdemes némi tapasztalatot gyûjtenünk a
szakmai témájú listákon, így
megismerjük az itt alkalmazott kommunikációs
szabályokat.ListaTartalom&a.hubs.name;A tükrözések üzemeltetõi
számára (infrastrukturális
támogatás)&a.usergroups.name;A felhasználói csoportok
összefogása&a.vendors.name;A forgalmazók koordinálása a
kiadások elõtt&a.wip-status.name;A &os;-vel kapcsolatos folyamatban levõ
fejlesztések helyzetjelentései&a.www.name;A www.FreeBSD.org
karbantartói számáraKivonatolt listák: (Digest
lists) Az eddig említett listák
elérhetõek kivonatolt formában is.
Miután feliratkoztunk egy listára, a
hozzáférésünk
beállításainál
kiválaszthatjuk, hogy kivonatolt formátumban
kívánjuk-e kapni a leveleket.
- CVS listák: (CVS lists) A
- következõ listák a forrásfa
- különbözõ részeinek
+ CVS és SVN listák: (CVS
+ & SVN lists) A következõ listák a
+ forrásfa különbözõ részeinek
változtatásáról és a
hozzájuk tartozó üzenetekrõl adnak
értesítést. Ezek a listák
csak olvasásra vannak, nem szabad
rájuk levelet küldeni.ListaForráskód területeA terület leírása (minek a
forrása)&a.cvsall.name;/usr/(CVSROOT|doc|ports|projects|src)A fában végzett akármelyik
módosítás (az összes CVS lista
együtt)&a.cvs-doc.name;/usr/(doc|www)A doc és www ágak
változásai&a.cvs-ports.name;/usr/portsA
portfa változásai&a.cvs-projects.name;/usr/projectsA projektek változásai&a.cvs-src.name;/usr/srcA rendszer forrásának
- változásai
+ változásai (az svn és cvs
+ közti importer mûködése
+ alapján generálódik)
Hogyan iratkozzunk felHa fel akarunk iratkozni valamelyik listára,
kattintsunk a nevére, vagy menjünk a
&a.mailman.lists.link; címre és a válasszuk
ki onnan a keresett listát. A lista oldalán
megtalálunk minden feliratkozással kapcsolatos
utasítást.Ténylegesen úgy tudunk üzenni egy
listára, ha levelet küldünk az
listanév@FreeBSD.org
címre, amely ezután a lista tagjai
között kézbesítésre kerül a
világban.A listáról úgy tudunk leiratkozni, ha a
róla kapott valamelyik levél alján
található URL-re kattintunk. Másik
megoldás, ha magunk küldünk egy levelet a
listanév-unsubscribe@FreeBSD.org
címre.Még egyszer szeretnénk kérni, hogy a
szakmai témájú levelezési
listákon folyó társalgásokat
igyekezzünk az adott témán belül
tartani. Ha csupán a fontosabb bejelentésekre
vagyunk kíváncsiak, akkor a kisforgalmú
&a.announce; használatát válasszuk.A listák tematikájaMinden &os;-s levelezési lista
rendelkezik bizonyos alapszabályokkal, amelyek minden
tagnak el kell fogadnia. Az ismeretett irányelvek elleni
vétkezés a &os; postamesterének
postmaster@FreeBSD.org két (2, azaz
kettõ) írásos figyelmeztetését
vonja maga után, amelyek figyelmen kívül
hagyásával, tehát a harmadik
szabálysértés alkalmával, a
küldõ eltávolításra kerül a
&os; összes levelezési
listájáról és a továbbiakban
szûrni fogják a leveleit. Sajnáljuk, hogy
ilyen szabályokat és szankciókat kellett
bevezetnünk, de napjaink internetes
technológiái igen elvadultak és ahogy az
látható is, sokan egyszerûen nem
fogják fel, mennyire sérülékenyek
egyes részei.Közlekedési szabályok:Minden beküldött levél
témájának meg kell felelnie az adott
lista tartalmának, tehát például
a szakmai kérdésekkel foglalkozó
listákon csak szakmai témájú
leveleknek szabad megjelenniük. Az oda nem illõ
cseverészés és értelmetlen
vitázás csak a lista
értékét csökkenti, ezért
ezt senkitõl sem tûrjük. A kötetlenebb,
konkrét téma nélküli
megbeszéléseket inkább a &a.chat;
címén folytassuk.2 listánál többre ne
küldjük be ugyanazt a levelet, és 2
listára is csak akkor küldjük, ha az
egyértelmûen és
nyilvánvalóan indokolt. A legtöbb
listánál így is rengeteg az
átfedés, kivéve a legtitkosabb
kombinációkat (például
-stable és -scsi), ezért nem
túl sok értelme van egyszerre egynél
több listát is értesíteni. Ha
olyan üzenetet kapunk, amelynek a Cc
(másolat) mezõjében több lista
címe is szerepel, akkor
továbbküldés vagy
válaszadás során
töröljük ezeket. Az
általunk küldött levelekért
továbbra is mi magunk vagyunk a felelõsek,
függetlenül attól, hogy ki volt a
levél eredeti feladója.Tilos (vita közben) személyeskedni vagy
káromkodni, beleértve a
felhasználókat és a fejlesztõket
is. A netikett megszegését,
például a privát levelezés
elõzetes engedély nélküli
továbbküldését vagy egyes
részleteinek közlését,
elítéljük, de nyíltan nem tiltjuk.
Nagyon ritka esetekben azonban
elõfordulhat, hogy a sértõ tartalom
önmagában ellenkezik a lista elveivel és
figyelmeztetést (esetleg kitiltást) von maga
után.A &os;-hez nem kötõdõ termékek
vagy szolgáltatások reklámozása
szigorúan tilos, és ha bebizonyosodik, hogy a
küldõ szándékosan küldte
szét, akkor azonnali kitiltásban
részesül.Az egyes listák
tematikája:&a.acpi.name;Az ACPI és
energiagazdálkodás
támogatásának
fejlesztése&a.afs.name;Andrew File SystemEz a lista a CMU/Transarc AFS
portolásáról szól&a.announce.name;Fontosabb események / nagyobb
lépésekOlyan emberek számára ajánlott ez
a levelezési lista, akik csak a &os;
jelentõsebb eseményei bejelentései
iránt érdeklõdnek. Ide
értendõk a különbözõ
idõközi és egyéb kiadások,
a &os; újításainak
bejelentései. Idõnként
önkéntesek toborzására stb. is
használják. A forgalma nagyon kicsi,
tartalma szigorúan ellenõrzõtt.&a.arch.name;Architekturális és
tervezési
kérdésekEz a lista a &os; architektúráját
érintõ megbeszélések
színtere. Az itt megjelenõ üzenetek
szigorúan szakmai jellegûek.
Néhány idevágó
téma:Hogyan alakítsuk úgy át a
fordítási rendszert, hogy egyszerre
több különbözõ
paraméterû fordítás is
képes legyen futni.Mit kellene javítani a VFS-en a
Heidemann-rétegek
mûködéséhez.Hogyan tudnánk úgy
átalakítani az
eszközmeghajtók felületét,
hogy ugyanazok a meghajtók minden gond
nélkül képesek legyenek több
buszon és architektúrán is
mûködni.Hogyan írjunk meghajtót
hálózati
eszközökhöz.&a.audit.name;A forráskód
vizsgálatát végzõ
projektEz a levelezési lista a &os;
forráskódjának
vizsgálatával foglalkozik. Habár
eredetileg csak a biztonságot érintõ
változtatások
ellenõrzésére jött létre,
napjainkra már a forráskód
mindenféle változását
felülvizsgálja.Erre a listára rengeteg javítás
érkezik, amelyek valószínûleg
egy átlag &os; felhasználó
számára nem túlzottan
érdekesek. A kód
változásától független
biztonsági kérdések
megvitatása a freebsd-security listán
történik. Viszont az összes
fejlesztõnek javasoljuk, hogy küldjék be
felülvizsgálatra a javításaikat,
különösen abban az esetben, amikor a
forráskód olyan részéhez
nyúlnak, ahol az adott hiba javítása
a rendszer egészének
mûködésére kihatással
lehet.&a.binup.name;A &os; bináris
frissítésével foglalkozó
projektEz a lista ad otthont a
binup vagy más
néven a bináris frissítési
rendszer (binary update system) körül
felmerülõ problémák
tárgyalásának. Tervezési
kérdések, implementációs
részletek, javítások, hiba- és
állapotjelentések, funkciók
igénylése, a kód
változásainak naplózása
és minden, ami a
binuppal kapcsolatos.&a.bluetooth.name;&bluetooth; a &os;-benEz a &bluetooth;-os &os; felhasználók
gyülekezõhelye. Tervezési és
implementációs kérdések,
javítások, hiba- és
állapotjelentések, funkciók
igénylése, minden, ami &bluetooth;.&a.bugbusters.name;A hibajelentések
kezelésének
összefogásaA lista célja a Bugmeister és az õ
Bugbustereinek, valamint a hibajelentések
adatbázisai iránti kifejezetten
érdeklõdõ személyek
együttmûködésének és
kapcsolattartásának
elõsegítése. Ez a lista nem az egyes
hibákról, javításokról
vagy azok jelentésérõl
szól.&a.bugs.name;HibajelentésekEzen a levelezési listán lehet a &os;
hibáit bejelenteni. Ha lehet, akkor a
hibákat a &man.send-pr.1; paranccsal vagy a webes felületen
keresztül küldjük be.&a.chat.name;A &os; közösség nem szakmai
jellegû dolgaiErre a listára kerül minden olyan nem
szakmai jellegû, társadalmi
érintkezéssel kapcsolatos
információ, ami a többi
listáról kimaradt: Jordan mennyire
hasonlít a rajzfilmeken látható
vadászgörényre, kis- vagy
nagybetûvel írjuk-e, ki iszik sok
kávét, hol fõzik a legjobb
söröket, ki fõz sört az
alagsorában és így tovább.
Elvétve felbukkannak olyan fontosabb
események is (bulik, lakodalmak,
gyermekáldás, új munkahely stb),
amelyek ugyan szakmai témájúak, de a
folyományaik már inkább a -chat
listára tartoznak.&a.core.name;A &os;
irányítását végzõ
csapatEzt a belsõ levelezési listát a
Core Team tagjai használják. Akkor
érdemes ide levelet küldeni, ha &os;-vel
kapcsolatos fontos ügyekben lenne
szükségünk döntésre vagy
véleményre.&a.current.name;A &os.current; használatával
kapcsolatos megbeszélésekA &os.current; felhasználóinak
levelezési listája. Itt
értesülhetünk a -CURRENT
felhasználókat érintõ friss
újdonságairól, és
azokról az utasításokról,
amelyek követésével
mûködéképesen tarthatjuk a
-CURRENT rendszerünket. Aki a
-CURRENT verziót használja,
mindenképpen iratkozzon fel erre a listára.
Ez is egy szakmai jellegû lista, ahová csak
szigorúan ilyen témákat
várnak.&a.cvsweb.name;A &os; CVSweb projektA &os; CVSweb szolgáltatásának
használatáról,
fejlesztésérõl és
karbantartásáról szóló
megbeszélések.&a.doc.name;A dokumentációs
projektEz a levelezési lista a &os;-rõl
szóló különbözõ
dokumentumok készítésével
kapcsolatos problémák és projektek
tárgyalásait öleli fel. A
levelezési lista tagjait együttesen a
&os; Dokumentációs
Projekt-nek nevezik. Ez egy nyílt lista,
csatlakozzunk hozzá bátran!&a.drivers.name;Eszközmeghajtók
írása &os;-reA &os;-hez készülõ
eszközmeghajtókról szóló
szakmai fórum. Elsõsorban itt tehetik fel a
meghajtók készítõi a &os;
rendszermagjában megtalalálható
API-kra vonatkozó kérdéseiket.&a.eclipse.name;Az Eclipse integrált fejlesztõi
környezetének, segéprogramjainak,
kliensalkalmazásainak és portjainak &os;
felhasználók számára
meghirdetett fóruma.A lista azzal a szándékkal jött
létre, hogy kölcsönös
támogatást nyújtson az Eclipse
fejlesztõi környezet, a
hozzátartozó segédeszközök,
kliensalkalmazások &os; változatának
megválasztásában,
telepítésében és
használatában. Emellett az Eclipse
környezet és pluginjainak &os;-re
történõ portolásáról
is szó esik.Valamint igyekszik minél többet
profitálni az Eclipse és a &os;
köré csoportosuló
közösségek kölcsönös
információcseréjébõl.Habár a lista elsõdlegesen az Eclipse
felhasználóinek igényeire
koncentrál, azok számára is
táptalajt ad, akik az Eclipse keretrendszer
segítségével &os; specifikus
alkalmazásokat szeretnének
kifejleszteni.&a.embedded.name;A &os; használata beágyazott
alkalmazásokbanEz a lista a &os; beágyazott rendszerekben
történõ használatát
igyekszik megvitatni. Ez egy szakmai jellegû lista,
ezért ide szigorúan csak ilyen
témájú leveleket várunk. A
listán tárgyalt beágyazott
rendszereknek tekintünk minden olyan
számítási eszközt, amely az
általános számítási
környezetekkel szemben egyetlen feladatot lát
el. Nem feltétlenül csak ilyenek, de
például a különféle
telefonok, illetve hálózati
eszközök, mint például
útválasztók, switchek, PBX-ek,
távoli mérõeszközök, PDA-k,
eladási rendszerek és így
tovább.&a.emulation.name;A Linux/&ms-dos;/&windows; rendszerek
emulációjaEzen a listán arról
értekezhetünk és olvashatunk, hogy &os;
alatt miként futtassunk más
operációs rendszerekre írt
programokat.&a.eol.name;Összefogás a &os; Projekt
által tovább már támogatott,
&os;-hez tartozó
szoftverekértEzen a listán kap vagy kaphat helyet a &os;
Projekt által hivatalosan tovább már
nem fejlesztett szoftverek felhasználói
összefogáson alapuló
támogatása (például
biztonsági figyelmeztetések vagy
javítások formájában).&a.firewire.name;&firewire; (iLink, IEEE 1394)Ez a levelezési lista foglalkozik a &os;
&firewire; (azaz IEEE 1394, avagy iLink)
alrendszerének
implementációjával. Az itt
felmerülõ témák többek
közt a szabványok, buszos eszközök
és a hozzájuk tartozó protokollok,
vezérlõkártyák és
chipkészletek, valamint a
mûködtetésükre szánt
programok felépítése és
megvalósítása.&a.fs.name;ÁllományrendszerekA &os;-ben megjelenõ
állományrendszerek kivesézése.
Mivel ez egy szakmai jellegû lista, ide
határozottan csak ilyen jellegû leveleket
várunk.&a.geom.name;GEOMA GEOM és a vele kapcsolatos
implementáció megbeszélései.
Szakmai jellegû lista, ezért erre tekintettel
csak ilyen témájú leveleket
postázzunk ide.&a.gnome.name;GNOMEA GNOME
asztalkörnyezet &os; rendszereket érintõ
használatáról szóló
lista. Mûszaki jellegû, ezért
szigorúan csak ilyen témákban
társgalodjunk itt.&a.ipfw.name;IP tûzfalakA &os;-ben levõ IP tûzfal
újratervezésével foglalkozó
elgondolások és szakmai
témájú megbeszélések
otthona. Ide szigorúan csak ilyen
témájú leveleket
küldjünk!&a.ia64.name;A &os; portolása
I64-reEz a levelezési lista a &os; az &intel; IA-64
platformjára készített
portjával foglalkozó egyének
kommunikációs eszköze, ahol az ezzel
kapcsolatos problémák és azok
különbözõ megoldásai
kerülnek terítékre. A téma
iránt érdeklõdõket is
szívesen látjuk.&a.isdn.name;ISDN
kommunikációEz a levelezési lista a &os; ISDN
támogatásáról
szól.&a.java.name;&java; alapú
fejlesztésekA levelezési listán a nagyobb &java;
alkalmazások &os; alapú
fejlesztését, valamint a &jdk;-k
portolásáról és
karbantartását beszélik meg.&a.jobs.name;Munkát
keres/kínálErre a fórumra tudjuk beküldeni a
kifejezetten &os;-hez kapcsolódó
munkaajánlatokat és
önéletrajzokat, tehát ez a
megfelelõ hely, ha &os;-s munkát
keresünk, vagy éppen &os;
szakértõket. Ez azonban
nem egy általános
célú állásbörze, mert
arra megvannak a megfelelõ helyek.Szeretnénk hozzátenni, hogy ez a lista,
a többi FreeBSD.org levelezési
listához hasonlóan,
világméretekben mûködik.
Ezért ne felejtsük sosem pontosan
megjelölni a munkavégzés helyét,
illetve hogy milyen kommunikációs és
esetlegesen költözési
lehetõségeket javaslunk.A leveleket csak nyílt formátumban
küldjük — elsõsorban szöveges
formátumban, de az egyszerûbb
PDF, HTML vagy még
néhány más hozzájuk
hasonló formátumot is alkalmazhatunk. Az
olyan zárt formátumok, mint
például a µsoft; Word
(.doc) azonban nem fognak
továbbítódni.&a.kde.name;KDEA KDE és &os;
kapcsolatáról szóló lista.
Szigorúan szakmai jellegû, ezért csak
ilyen témájú levelek
küldése elfogadott.&a.hackers.name;Szakmai
kérdésekEz a &os; szakmai jellegû
kérdéseivel foglalkozó fórum.
Ez az elsõ számû szakmai
levelezési lista. A &os;
fejlesztésével aktívan
foglalkozó egyének számára
ajánljuk, hiszen itt vethetik fel
problémáikat, itt kereshetnek rájuk
megoldásokat. Az ilyen típusú
megbeszéléseket figyelemmel követõ
egyéneket is szívesen fogadjuk. Mivel ez
egy erõsen szakmai jellegû lista, ezért
csak ilyen témájú leveleket
várunk ide.&a.hardware.name;A &os; és a hardverek
kapcsolatáról
általábanEzen a listán kerül megvitatásra
minden olyan hardver, amelyen a &os; mûködik:
milyen gondok adódhatnak, milyen hardvereket
érdemes beszereznünk vagy
elkerülnünk.&a.hubs.name;TükrözésekA &os; tükrözéseit karbantartó
egyének számára fontos
bejelentések és
megbeszélések.&a.isp.name;Az internet-szolgáltatók
fórumaEzen a levelezési listán a &os;-t
használó internet-szolgáltatók
tehetik fel kérdéseiket. Szigorúan
csak szakmai jellegû kérdések
engedélyezettek.&a.openoffice.name;OpenOffice.orgAz OpenOffice.org és
&staroffice;
portolásával és
karbantartásával kapcsolatos
megbeszélések.&a.performance.name;A &os; hangolásának és
gyorsításának
tárgyalásaEzen a levelezési listán van
lehetõségük a hackereknek,
rendszergazdáknak és/vagy az érintett
feleknek a &os; teljesítményével
kapcsolatos témákban kifejteni a
véleményüket. Leginkább nagy
terhelés alatt levõ, vagy
teljesítménybeli problémákkal
küszködõ, esetleg még többet
tudó &os; rendszerek tárgyalása a
cél. Lehetõleg az érintett
gyártókkal és
szállítókkal együttesen
próbáljuk kidolgozni a &os;
teljesítményének
növelésére tett
kísérleteinket, ezért õket is
szívesen látjuk ezen a listán. Ez a
kifejezetten szakmai jellegû lista
többségében a tapasztalt &os;
felhasználók, hackerek vagy
rendszergazdák számára tárja
fel a gyors, megbízható és
skálázható &os; rendszerek
lehetõségeit. Ez alapvetõen nem egy
kérdezgetõs lista, ahol a
dokumentációk elolvasását
tudjuk megspórolni, hanem egy olyan hely, ahol a
teljesítményt érintõ
megválaszolatlan kérdések és
elõremutató fejlesztések nyernek
teret.&a.pf.name;A csomagszûrõ
tûzfalrendszerrel kapcsolatos
kérdésekA &os; csomagszûrõjéhez (packet
filter, pf) tartozó tûzfalrendszer
megbeszéléseit összefoglaló
lista. Szakmai jellegû fejtegetések és
felhasználói kérdések
egyaránt jöhetnek. Továbbá ezen
a listán foglalkozunk az ALTQ rendszer
mûködésével is.&a.platforms.name;Portolás nem &intel;
plaformokraA &os; különbözõ, nem az &intel;
architektúrára építkezõ
portjainak indítványozása és
általános jellegû megvitatása. Ez egy
kiemelten szakmai jellegû lista, ezért ide csak
ilyen témájú leveleket
várunk.&a.policy.name;Az Core Team
szabályozásaiAlacsony forgalmú, csak olvasható lista,
ahol a &os; fejlesztését
irányító csoport
különbözõ döntéseirõl
olvashatunk.&a.ports.name;A portok
megbeszéléseA &os;
portgyûjteményével
(/usr/ports), a portok
infrastruktúrájával és a
portok fejlesztésének
irányításával kapcsolatos
megbeszélések. Erõsen szakmai
jellegû lista, ezért ide csak ilyen
témában írjunk.&a.ports-bugs.name;A portok hibáinak
tárgyalásaA &os;
portgyûjteményének
(/usr/ports), a bejelentett portok
és azok módosításához
kötõdõ hibajelentésekkel
foglalkozó lista. Ez egy szakmai jellegû
lista, ahol csak ilyen jellegû témákra
számítunk.&a.proliant.name;A &os; és a HP ProLiant szerverek
kapcsolatát érintõ szakmai
megbeszélésekEzen a levelezési listán a &os; HP
ProLiant szervereken történõ
használatát célozzuk meg,
beleértve a ProLianthoz tartozó
eszközmeghajtókat, karbantartó
és konfigurációs szoftvereket
és BIOS-frissítéseket. Ennek
megfelelõen tehát a hpasmd, hpasmcli és
hpacucli modulok is elsõsorban itt kerülnek
felboncolásra.&a.python.name;A &os; és a PythonA lista a &os; Python
támogatásának
fejlesztésérõl folytatott szakmai
megbeszéléseket foglalja össze.
Elsõsorban a Python portolásával
foglalkozó egyének, valamint a
külsõ fejlesztõk által
készített modulok és a
Zope &os;-s
alkalmazásával foglalkozik. Az
említett témák iránti
érdeklõdõket is szeretettel
várjuk.&a.questions.name;Felhasználói
kérdésekEz a levelezési lista a &os;-vel kapcsolatos
kérdésekrõl szól.
Lehetõleg ne küldjünk hogyan
témájú kérdéseket erre
a szakmai listára, hacsak nem kifejezetten szakmai
jellegûnek szánjuk.&a.ruby.name;A Ruby használata &os;
rendszerekenEzen a listán a &os; Ruby
támogatásával foglalkozunk,
témáját tekintve teljesen szakmai
jellegû. Elsõsorban a Ruby portokon,
külsõ Ruby könyvtárakon és
rendszereken dolgozó fejlesztõk
figyelmébe ajánljuk.Mindenkit szeretettel várunk, aki ezekkel
kapcsolatos szakmai tárgyú
témákat szeretne megvitatni.&a.scsi.name;A SCSI alrendszerEzt a levelezési listát a &os; alatt a
SCSI alrendszerrel foglalkozók számára
tarjuk fenn. Mivel ez egy erõsen szakmai
jellegû lista, ezért rajta csak szakmai
témák megengedettek.&a.security.name;Biztonsági
problémákA &os; biztonságát illetõ
kérdések (DES, Kerberos, biztonsági
rések és javításaik, stb.)
Szakmai jellegû lista, ezért ide csak a
témához szorosan kapcsolódó
leveleket szabad beküldeni. Alapvetõen nem
kérdezz-felelek típusú a lista
mûködése, habár a GYIK-hoz minden
hozzájárulást (kérdést
ÉS választ EGYARÁNT) szívesen
veszünk.&a.security-notifications.name;Biztonsági
figyelmeztetésekA &os;-t érintõ biztonsági
problémákról és
javításaikról szóló
értesítések.
Megbeszélésekkel, vitákkal nem
foglalkozik, mivel azok a &os;-security listán
folynak.&a.small.name;A &os; használata beágyazott
alkalmazásokbanA szokatlanul kis méretû vagy
beágyazott &os; rendszerekhez
kapcsolódó megbeszélések
színhelye. Szakmai jellegû lista,
ezért szigorúan csak a témához
tartozó leveleket fogad.Ezt a listát idõközben
felváltotta a &a.embedded.name; lista.&a.stable.name;A &os.stable;
használatáról szóló
listaEz a &os.stable; használóinak
levelezési listája. Ide kerülnek
beküldésre a -STABLE ágat
futtató felhasználókat
érintõ friss változások,
valamint hozzájuk kötõdõen a -STABLE
használatához szükséges
elvégzendõ lépések. Aki a
STABLE jelzésû
változatot használja, mindenképpen
iratkozzon fel rá. Szigorúan szakmai
jellegû lista, ezért csak szakmai
témájú leveleket vár.&a.standards.name;C99 és POSIX
megfelelésEz a fórum foglalkozik a &os; és a C99,
valamint a POSIX szabványok szerinti
megfelelésével.&a.usb.name;A &os; USB
támogatásaEz a levelezési lista fogja összes a &os;
USB támogatásával foglalkozó
szakmai témákat.&a.usergroups.name;A felhasználói csoportokat
irányító listaEz a levelezési lista az egyes területeken
mûködõ felhasználói csoportok
az irányítást végzõ
központi csoport tagjai általi
összehangolásához tartozó
problémák
megbeszélésére való. Ez a
lista leginkább a gyûlések
letisztázására és a több
csoporton átívelõ nagyobb projektek
szervezéséhez használatos.&a.vendors.name;GyártókA &os; projekt és a hozzá
kötödõ hardver- és
szoftvergyártók
együttmûködését
elõsegítõ lista.&a.virtualization.name;A &os; részérõl
támogatott különbözõ
virtualizációs
technológiákEzen a levelezési listán elsõsorban
a &os; által támogatott
virtualizációs megoldásokat vitatjuk
meg. Ennek keretében egyrészt az ehhez
kapcsolódó alapvetõ funkciók
megvalósítása valamint további
újítások kerülnek a
középpontba, másrészt a
felhasználók számára ezzel
létrehoztunk egy fórumot a
felmerülõ problémák
megoldására és az alkalmazási
lehetõségek
megbeszelésére.&a.wip-status.name;A &os;-vel kapcsolatos folyamatban levõ
fejlesztések
helyzetjelentéseEzen a levelezési listán kerülnek
bejelentésre a &os;
továbbfejlesztéséhez
fûzõdõ különbözõ
munkák és azok haladásának
menete. Az ide befutó üzeneteket
moderálják. Javasoljuk, hogy
elsõdlegesen az adott témához
tartozó tematikus &os; listára
küldjük a bejelentésünket és
csak egy másolatot erre a listára. Ennek
köszönhetõen a munkánk az adott
témaspecifikus listán rögtön meg
is vitatható, mivel ezen a listán semmi
ilyen nem engedélyezett.A lista archívumába tekintve
tájékozódhatunk arról, hogy pontosan
milyen formai követelmények illene megfelelnie a
beküldenõ üzenetünknek.A listára beérkezõ üzenetekbõl
egy szerkesztett válogatás jelenik meg
néhány havonta a &os; honlapján a Projekt
helyzetjelentésének részeként
. A korábban beküldött
jelentések mellett itt még találhatunk
további példákat.A levelezési listák
szûréseA kéretlen reklámlevelek, vírusok
és egyebek elleni védekezés
céljából a &os; levelezési
listáinak forgalmát több módon is
szûrik. Az ebben a szakaszban bemutatott
szûrési megoldások nem fedik le a
levelezési listák védelme
érdekében alkalmazott összes
lehetõséget.A levelezési listákra csak bizonyos
típusú csatolt állományokat
küldhetünk be. Az alábbi listában nem
található MIME típusú csatolt
objektumokat még a listára érkezés
elõtt törlik.application/octet-streamapplication/pdfapplication/pgp-signatureapplication/x-pkcs7-signaturemessage/rfc822multipart/alternativemultipart/relatedmultipart/signedtext/htmltext/plaintext/x-difftext/x-patchEgyes levelezési listák ugyan megengedhetnek
további csatolt MIME objektumokat is, habár a
legtöbb lista esetében a fenti lista a
mérvadó.Ha egy levélben a szöveg HTML és nyers
szöveg formátumban is szerepel, a HTML
változat automatikusan eltávolításra
kerül. Ha az e-mail csak HTML formában tartalmazza
a szöveget, akkor automatikusan nyers szövegre
alakítódik át.Usenet hírcsoportokA két &os;-s hírcsoport mellett még
akadnak olyan további csoportok is, ahol &os;
témájú kérdéseket vitathatunk
meg vagy hasznos lehet számunkra. Az itt felsorolt
hírcsoportok
kulcsszavakkal kereshetõ archívuma Warren
Toomey tulajdona (wkt@cs.adfa.edu.au).BSD-s hírcsoportokcomp.unix.bsd.freebsd.announcecomp.unix.bsd.freebsd.miscde.comp.os.unix.bsd
(német)fr.comp.os.bsd
(francia)it.comp.os.freebsd
(olasz)tw.bbs.comp.386bsd
(hagyományos kínai)Egyéb érdekes &unix;-os
hírcsoportokcomp.unixcomp.unix.questionscomp.unix.admincomp.unix.programmercomp.unix.shellcomp.unix.user-friendlycomp.security.unixcomp.sources.unixcomp.unix.advocacycomp.unix.misccomp.bugs.4bsdcomp.bugs.4bsd.ucb-fixescomp.unix.bsdX Window Systemcomp.windows.x.i386unixcomp.windows.xcomp.windows.x.appscomp.windows.x.announcecomp.windows.x.intrinsicscomp.windows.x.motifcomp.windows.x.pexcomp.emulators.ms-windows.wineVilághálós
szolgáltatások
&chap.eresources.www.inc;
E-mail címekA következõ felhasználói csoportok
nyújtanak &os;-s e-mail címeket tagjaiknak. A
rendszergazdák bármilyen visszaélés
esetén fenntartják a visszavonás
jogát.CímtartományLehetõségekFelhasználói csoportRendszergazdaukug.uk.FreeBSD.orgCsak továbbítás
- freebsd-users@uk.FreeBSD.org
+ ukfreebsd@uk.FreeBSD.orgLee Johnston
lee@uk.FreeBSD.orgFelhasználói
hozzáférésekA következõ felhasználói csoportok
felhasználói hozzáféréseket
nyújtanak a &os; projektet aktívan
támogató egyének számára. A
felsorolásban szereplõ rendszergazdáknak
visszaélés esetén jogukban áll
megszüntetni a fiókot.Hálózati címHozzáférés típusaLehetõségekRendszergazdadogma.freebsd-uk.eu.orgTelnet/FTP/SSHLevelezés, tárhely, anonim FTPLee Johnston
lee@uk.FreeBSD.org
diff --git a/hu_HU.ISO8859-2/books/handbook/filesystems/Makefile b/hu_HU.ISO8859-2/books/handbook/filesystems/Makefile
new file mode 100644
index 0000000000..3a9d8868c6
--- /dev/null
+++ b/hu_HU.ISO8859-2/books/handbook/filesystems/Makefile
@@ -0,0 +1,18 @@
+#
+# Build the Handbook with just the content from this chapter.
+#
+# %SOURCE% en_US.ISO8859-1/books/handbook/filesystems/Makefile
+# %SRCID% 1.1
+#
+# $FreeBSD$
+#
+
+CHAPTERS= filesystems/chapter.sgml
+
+VPATH= ..
+
+MASTERDOC= ${.CURDIR}/../${DOC}.${DOCBOOKSUFFIX}
+
+DOC_PREFIX?= ${.CURDIR}/../../../..
+
+.include "../Makefile"
diff --git a/hu_HU.ISO8859-2/books/handbook/filesystems/chapter.sgml b/hu_HU.ISO8859-2/books/handbook/filesystems/chapter.sgml
new file mode 100644
index 0000000000..e53acf3d7a
--- /dev/null
+++ b/hu_HU.ISO8859-2/books/handbook/filesystems/chapter.sgml
@@ -0,0 +1,756 @@
+
+
+
+
+
+
+
+
+ Tom
+ Rhodes
+ Írta:
+
+
+
+
+ Támogatott állományrendszerek
+
+
+ Áttekintés
+
+ állományrendszerek
+
+ támogatott
+ állományrendszerek
+ állományrendszerek
+
+
+ Az állományrendszerek szerves
+ részét képezik napjaink operációs
+ rendszereinek. Segítségükkel a
+ felhasználók adatokat tölthetnek fel és
+ tárolhatnak a számítógépen,
+ szabályozhatják a
+ hozzáférésüket, és
+ természetesen mûködtethetik a merevlemezeiket. A
+ különféle operációs rendszerekben
+ általában azért annyi közös, hogy
+ mindannyiukhoz tartozik egy natív, vagyis általuk
+ alapból ismert állományrendszer. A &os;
+ esetében ezt konkrétan a Fast File System vagy
+ röviden FFS, amely az eredeti Unix™
+ File System, vagy más néven UFS
+ megoldásain alapszik. A &os; tehát a merevlemezeken
+ ebben a natív állományrendszerben
+ tárol adatokat.
+
+ A &os; természetesen ezen kívül még
+ ismer számos egyéb állományrendszert,
+ ezáltal képes adatokat olvasni más
+ operációs rendszerek részérõl is
+ kezelhetõ partíciókról,
+ például helyi
+ USB-eszközökrõl,
+ flashkártyákról és
+ merevlemezekrõl. Továbbá ismeri
+ néhány más operációs rendszer
+ natív állományrendszerét, mint
+ például a &linux; Extended File System
+ (EXT) vagy éppen a &sun; Z File System
+ (ZFS).
+
+ &os; alatt az egyes állományrendszerek ismerete
+ változó. Bizonyos esetekben elegendõ
+ csupán egy megfelelõ modul betöltése,
+ máskor viszont egy komplett eszközkészlet
+ segítségével tudunk velük dolgozni. Ez
+ a fejezet igyekszik a &sun;-féle Z
+ állományrendszerrel kezdõdõen bemutatni a
+ &os; felhasználói számára más
+ állományrendszerek használatát.
+
+ A fejezet elolvasása során
+ megismerjük:
+
+
+
+ a natív és támogatott
+ állományrendszerek közti
+ különbségeket;
+
+
+
+ a &os; által ismert
+ állományrendszereket;
+
+
+
+ hogyan engedélyezzünk, állítsunk
+ be és érjünk el nem natív
+ állományrendszereket.
+
+
+
+ A fejezet elolvasásához ajánlott:
+
+
+
+ a &unix; és &os; alapjainak ismerete ();
+
+
+
+ a rendszermag konfigurációjának
+ és fordításának alapvetõ
+ fogásainak ismerete ();
+
+
+
+ a különbözõ külsõ
+ fejlesztésû szoftverek
+ telepítésének ismerete ();
+
+
+
+ a lemezek és egyéb
+ tárolóeszközök, valamint a &os; alatt az
+ eszközök elnevezésének
+ minimális ismerete ().
+
+
+
+
+ Jelenleg a ZFS támogatása
+ még nem tekinthetõ hétköznapi
+ használatra alkalmasnak. Ennek
+ következményeképpen bizonyos funkciók
+ nem megfelelõen vagy egyáltalán nem
+ mûködnek. Ahogy ez a támogatás
+ megbízhatóvá válik, úgy
+ fogjuk tovább finomítani a
+ dokumentációt.
+
+
+
+
+ A Z állományrendszer
+
+ A &sun; Z állományrendszere egy új,
+ közös tárolási módszeren
+ nyugvó technológia. Ez annyit jelent a
+ gyakorlatban, hogy mindig csak annyi helyet foglal, amennyire az
+ adatoknak közvetlenül szüksége van.
+ Emellett úgy alakították ki, hogy az adatok
+ épségét minél inkább
+ védje, ezért például
+ megtalálhatjuk benne a pillanatképek
+ készítését, a másolatok
+ létrehozását és az adatok
+ sértetlenségének
+ ellenõrzését. Továbbá egy
+ RAID-Z néven bemutatott új
+ replikációs modellt is támogat. A
+ RAID-Z alapvetõen a
+ RAID-5 megoldásához
+ hasonlít, azonban írás során
+ keletkezõ hibák ellen igyekszik védelmet
+ nyújtani.
+
+
+ A ZFS finomhangolása
+
+ A ZFS funkcióit
+ megvalósító alrendszer
+ alapértelmezés szerint meglehetõsen sok
+ erõforrást kíván, ezért nem
+ árt a legjobb hatékonyságra behangolnunk a
+ mindennapokban felmerülõ igények mentén.
+ Mivel ez még egy fejlesztés és
+ tesztelés alatt álló része a
+ &os;-nek, elképzelhetõ, hogy ez a jövõben
+ változik, viszont jelen pillanatban a következõ
+ lépéseket javasoljuk.
+
+
+ Memória
+
+ Hasznos, ha a rendszerünkben legalább
+ 1 GB memória található, de
+ inkább 2 vagy több az ajánlott. Az itt
+ szereplõ példákban ehelyett azonban
+ mindenhol csupán 1 GB-ot
+ feltételezünk.
+
+ Néhányaknak sikerült
+ 1 GB-nál kevesebb központi
+ memóriával is használni ezt az
+ állományrendszert, azonban ilyenkor nagyon
+ könnyen elõfordulhat, hogy komolyabb terhelés
+ esetén a &os; a memória elfogyása miatt
+ egyszerûen összeomlik.
+
+
+
+ A rendszermag beállításai
+
+ A rendszermag konfigurációs
+ állományából javasolt
+ eltávolítani az összes nem használt
+ meghajtót és funkciót. A legtöbb
+ meghajtó egyébként is
+ elérhetõ modul formájában, és
+ a /boot/loader.conf
+ állományon keresztül minden gond
+ nélkül betölthetõek.
+
+ Az i386 architektúránál
+ szükségünk lesz az alábbi
+ konfigurációs beállítás
+ megadására, majd a rendszermag
+ újrafordítására, végül
+ a rendszer újraindítására:
+
+ options KVA_PAGES=512
+
+ Ezzel az opcióval a rendszermag
+ címterét növeljük meg, aminek
+ eredményeképpen a vm.kvm_size
+ változót immáron az eredetileg
+ 1 GB-os (PAE használata
+ esetén pedig 2 GB-os) határ felé
+ tudjuk állítani. Az itt megadandó
+ értéket úgy tudjuk meghatározni,
+ ha a beállítani kívánt
+ méret MB-okban számolt
+ értékét elosztjuk néggyel. A
+ példában tehát az 512
+ egy 2 GB nagyságú címteret ad
+ meg.
+
+
+
+ A rendszertöltõ
+ beállításai
+
+ A kmem címterét az
+ összes &os; által ismert architektúra
+ esetében érdemes megnövelnünk. A
+ teszteléshez használt rendszeren 1 GB
+ fizikai memória állt rendelkezésre, itt a
+ /boot/loader.conf
+ állományban a következõ
+ értékek megadásával minden
+ remekül mûködött:
+
+ vm.kmem_slze="330M"
+vm.kmem_size_max="330M"
+vfs.zfs.arc_max="40M"
+vfs.zfs.vdev.cache.size="5M"
+
+ A ZFS finomhangolásával kapcsolatos
+ további javasolatokat a
+ címen olvashatunk.
+
+
+
+
+ A ZFS használata
+
+ A Z állományrendszerhez létezik egy
+ olyan mechanizmus, amelyen keresztül már a &os;
+ indítása során el tudjuk végezni a
+ közös tárolók
+ csatlakoztatását:
+
+ &prompt.root; echo 'zfs_enable="YES"' >> /etc/rc.conf
+&prompt.root; /etc/rc.d/zfs start
+
+ A leírás fennmaradó
+ részében feltételezzük, hogy
+ két SCSI-lemezünk van,
+ amelyeket rendre a
+ da0
+ és
+ da1
+ eszközök formájában tudunk
+ elérni. Az IDE lemezek
+ tulajdonosainak értelemszerûen itt majd az
+ ad
+ eszközneveket kell használniuk a
+ SCSI-eszközök hivatkozásai
+ helyett.
+
+
+ Egyetlen közös tároló
+ használata
+
+ A zpool kiadásával
+ egyetlen lemezen is létre tudunk hozni
+ ZFS partíciót:
+
+ &prompt.root; zpool create minta /dev/da0
+
+ Az új közös tárterület a
+ df parancs
+ felhasználásával rögtön
+ láthatóvá válik:
+
+ &prompt.root; df
+Filesystem 1K-blocks Used Avail Capacity Mounted on
+/dev/ad0s1a 2026030 235230 1628718 13% /
+devfs 1 1 0 100% /dev
+/dev/ad0s1d 54098308 1032846 48737598 2% /usr
+minta 17547136 0 17547136 0% /minta
+
+ A parancs kimenetében tisztán
+ láthatjuk, hogy a minta nevû
+ tároló nem csak egyszerûen
+ elkészült, hanem egyúttal
+ csatolódott. Innentõl
+ már a többi állományrendszerhez
+ hasonlóan tetszõlegesen elérhetõ, az
+ alábbi példához hasonlóan
+ állományok hozhatóak rajta létre
+ vagy listázható a tartalma:
+
+ &prompt.root cd /minta
+&prompt.root; ls
+&prompt.root; touch proba
+&prompt.root; ls -al
+total 4
+drwxr-xr-x 2 root wheel 3 Aug 29 23:15 .
+drwxr-xr-x 21 root wheel 512 Aug 29 23:12 ..
+-rw-r--r-- 1 root wheel 0 Aug 29 23:15 proba
+
+ Sajnos azonban ez a tároló még ki sem
+ használja a ZFS által
+ felkínált lehetõségeket.
+ Ezért most hozzunk létre egy
+ állományrendszert ezen a tárolón
+ belül és engedélyezzük rajta a
+ tömörítést:
+
+ &prompt.root; zfs create minta/tomoritett
+&prompt.root; zfs set compression=gzip minta/tomoritett
+
+ A minta/tomoritett most már egy
+ tömörített Z állományrendszer.
+ Próbáljuk ki mit tud, és másoljunk
+ néhány nagyobb méretû
+ állományt a /minta/tomoritett
+ könyvtárba.
+
+ Ezután a tömörítés
+ akár ki is kapcsolható:
+
+ &prompt.root; zfs set compression=off minta/tomoritett
+
+ Az állományrendszer
+ leválasztásához adjuk ki a lenti parancsot,
+ majd ellenõrizzük az eredményét a
+ df használatával:
+
+ &prompt.root; zfs umount minta/tomoritett
+&prompt.root; df
+Filesystem 1K-blocks Used Avail Capacity Mounted on
+/dev/ad0s1a 2026030 235232 1628716 13% /
+devfs 1 1 0 100% /dev
+/dev/ad0s1d 54098308 1032864 48737580 2% /usr
+minta 17547008 0 17547008 0% /minta
+
+ Tegyük ismét elérhetõvé
+ és csatlakoztassuk újra az
+ állományrendszert, majd nézzük meg
+ az eredményt a df paranccsal:
+
+ &prompt.root; zfs mount minta/tomoritett
+&prompt.root; df
+Filesystem 1K-blocks Used Avail Capacity Mounted on
+/dev/ad0s1a 2026030 235234 1628714 13% /
+devfs 1 1 0 100% /dev
+/dev/ad0s1d 54098308 1032864 48737580 2% /usr
+minta 17547008 0 17547008 0% /minta
+minta/tomoritett 17547008 0 17547008 0% /minta/tomoritett
+
+ A közös terület és az
+ állományrendszer mellesleg a
+ mount parancs kimenetébõl is
+ megfigyelhetõ:
+
+ &prompt.root; mount
+/dev/ad0s1a on / (ufs, local)
+devfs on /dev (devfs, local)
+/dev/ad0s1d on /usr (ufs, local, soft-updates)
+minta on /minta (zfs, local)
+minta/tomoritett on /minta/tomoritett (zfs, local)
+
+ Látható, hogy a létrehozásuk
+ után a Z állományrendszerek teljesen
+ hétköznapi módon viselkednek, de
+ természetesen további lehetõségek is
+ elérhetõek hozzájuk. A következõ
+ példában adat néven
+ készítünk egy új
+ állományrendszert. Mivel ide majd nagyon fontos
+ állományokat akarunk elhelyezni,
+ állítsuk be, hogy minden adatblokkból
+ két példány legyen:
+
+ &prompt.root; zfs create minta/adat
+&prompt.root; zfs set copies=2 minta/adat
+
+ A df újbóli
+ kiadásával most már látható
+ is ez az állományrendszer és annak
+ tárfoglalása:
+
+ &prompt.root; df
+Filesystem 1K-blocks Used Avail Capacity Mounted on
+/dev/ad0s1a 2026030 235234 1628714 13% /
+devfs 1 1 0 100% /dev
+/dev/ad0s1d 54098308 1032864 48737580 2% /usr
+minta 17547008 0 17547008 0% /minta
+minta/tomoritett 17547008 0 17547008 0% /minta/tomoritett
+minta/adat 17547008 0 17547008 0% /minta/adat
+
+ Vegyük észre, hogy a közös
+ területen levõ állományrendszerek
+ mindegyikén ugyanannyi szabad terület van. A
+ df segítségével a
+ késõbbiekben remekül megfigyelhetõ lesz,
+ hogy az egyes állományrendszerek mindig csak
+ annyi területet foglalnak el a közös
+ területbõl, amennyire abban a pillanatban
+ ténylegesen szükségünk van. A Z
+ állományrendszerek esetén megszûnik
+ a partíciók és kötetek fogalma,
+ és több állományrendszer
+ tárolódik egyazon közös
+ területen. Ha már nem akarjuk használni,
+ egyszerûen csak töröljük le az
+ állományrendszereket és ezt a
+ közös tárolót:
+
+ &prompt.root; zfs destroy minta/tomoritett
+&prompt.root; zfs destroy minta/adat
+&prompt.root; zpool destroy minta
+
+ Nyilván tapasztalhattunk már, hogy a
+ lemezeink olykor menthetetlenül meghibásodnak.
+ Amikor egy lemezes meghajtó tönkremegy, a rajta
+ tárolt adatok általában elvesznek. Az
+ ilyen jellegû kellemetlenségek
+ elkerülésének egyik módja az
+ ún. RAID-tömbök
+ építése. A következõ
+ szakaszban bemutatjuk, hogy a Z
+ állományrendszerek esetén hogyan tudunk
+ ilyen tömböket készíteni.
+
+
+
+ RAID-Z tömbök
+
+ Korábban már utaltunk rá, hogy ebben
+ a szakaszban két SCSI-lemez, vagyis a
+ da0 és
+ da1 eszközök
+ használatát feltételezzük. Egy
+ RAID-Z formátumú
+ közös tároló
+ készítéséhez a következõ
+ parancsot kell kiadni:
+
+ &prompt.root; zpool create tarolo raidz da0 da1
+
+ Ennek hatására tehát keletkezik egy
+ tarolo nevû Z-tároló.
+ Ez a korábbiakhoz hasonló módon
+ ellenõrizhetõ is a &man.mount.8; és
+ &man.df.1; parancsokon keresztül. Természetesen
+ az iménti listába további
+ lemezeszközök tetszõlegesen felvehetõek.
+ Most hozzunk létre ezen a közös
+ területen egy felhasznalok nevû
+ állományrendszert, ahová majd a
+ felhasználók adatait fogjuk tenni:
+
+ &prompt.root; zfs create tarolo/felhasznalok
+
+ Miután ezzel megvagyunk, az imént
+ létrehozott állományrendszerre nyugodtan
+ beállíthatunk tömörítést
+ és biztonsági másolatokat. Ebben az
+ alábbi parancsok lesznek a
+ segítségünkre:
+
+ &prompt.root; zfs set copies=2 tarolo/felhasznalok
+&prompt.root; zfs set compression=gzip tarolo/felhasznalok
+
+ Ezt követõen költöztessük
+ át a felhasználókat, vagyis másoljuk
+ át az adataikat ide és hozzuk létre a
+ megfelelõ szimbolikus linkeket:
+
+ &prompt.root; cp -rp /home/* /tarolo/felhasznalok
+&prompt.root; rm -rf /home /usr/home
+&prompt.root; ln -s /tarolo/felhasznalok /home
+&prompt.root; ln -s /tarolo/felhasznalok /usr/home
+
+ A felhasználók adatai immáron a
+ frissen létrehozott /tarolo/felhasznalok
+ állományrendszeren tárolódnak.
+ Próbáljuk ki, hozzunk létre egy új
+ felhasználót és jelentkezzünk be
+ vele.
+
+ Készítsünk most egy
+ pillanatképet is, amelyet aztán késõbb
+ szükség esetén vissza tudunk
+ állítani:
+
+ &prompt.root; zfs snapshot tarolo/felhasznalok@08-08-30
+
+ A snapshot csak valós
+ állományrendszerekkel mûködik,
+ könyvtárakra vagy állományokra nem.
+ A nevében a @ karakter
+ választja el egymástól a
+ hozzátartozó címkét az
+ állományrendszer vagy kötet
+ nevétõl. Ha netalán a
+ felhasználói könyvtárak
+ valamiért megsérültek volna, a
+ következõ paranccsal
+ állíthatóak vissza:
+
+ &prompt.root; zfs rollback tarolo/felhasznalok@08-08-30
+
+ Az adott idõpontban aktív
+ pillanatképeket az adott állományrendszer
+ .zfs/snapshot
+ könyvtárában találhatjuk meg.
+ Például az elõbb készített
+ pillanatkép az alábbi paranccsal
+ nézhetõ meg:
+
+ &prompt.root; ls /tarolo/felhasznalok/.zfs/snapshot
+
+ Ha ebbõl elindulunk, akkor pillanatok alatt
+ írható egy olyan szkript, amely a
+ felhasználók adatairól havonta
+ készít egy pillanatképet. Ilyenkor
+ azonban fontos számításba vennünk,
+ hogy az idõvel felgyülemlõ pillanatképek
+ rengeteg helyet el tudnak foglalni. A korábbi
+ pillanatkép így távolítható
+ el:
+
+ &prompt.root; zfs destroy tarolo/felhasznalok@08-08-30
+
+ Miután alaposan kipróbáltuk a
+ /tarolo/felhasznalok
+ néven létrehozott
+ állományrendszerünket,
+ állítsuk be véglegesen ez eddigi
+ /home
+ állományrendszer helyére:
+
+ &prompt.root; zfs set mountpoint=/home tarolo/felhasznalok
+
+ Ekkor a df és
+ mount parancsok használatával
+ meggyõzõdhetünk róla, hogy ezt az
+ állományrendszert innentõl már
+ valóban a /home
+ könyvtárnak tekintjük:
+
+ &prompt.root; mount
+/dev/ad0s1a on / (ufs, local)
+devfs on /dev (devfs, local)
+/dev/ad0s1d on /usr (ufs, local, soft-updates)
+tarolo on /tarolo (zfs, local)
+tarolo/felhasznalok on /home (zfs, local)
+&prompt.root; df
+Filesystem 1K-blocks Used Avail Capacity Mounted on
+/dev/ad0s1a 2026030 235240 1628708 13% /
+devfs 1 1 0 100% /dev
+/dev/ad0s1d 54098308 1032826 48737618 2% /usr
+tarolo 17547008 0 17547008 0% /tarolo
+tarolo/felhasznalok 17547008 0 17547008 0% /home
+
+ Ezzel lényegében befejeztük a
+ RAID-Z tömb
+ konfigurációját. Az
+ állományrendszerek állapotára
+ vonatkozóan a &man.periodic.8;
+ alkalmazásával akár naponta
+ kérhetünk ellenõrzést:
+
+ &prompt.root; echo 'daily_status_zfs_enable="YES"' >> /etc/periodic.conf
+
+
+
+ A RAID-Z
+ helyreállítása
+
+ Minden szoftveres RAID
+ implementáció kínál valamilyen
+ megoldást az állapotának
+ ellenõrzésére, ez alól
+ tulajdonképpen a ZFS sem
+ kivétel. A RAID-Z
+ eszközök állapota a következõ
+ paranccsal kérdezhetõ le:
+
+ &prompt.root; zpool status -x
+
+ Ezt az üzenetet láthatjuk, amikor minden
+ tároló kifogástalanul mûködik
+ és semmilyen probléma sincs:
+
+ all pools are healthy
+
+ Ha viszont valamilyen gond lenne valamelyik lemezzel,
+ például leállt, akkor az elõbbi
+ parancs eredménye ehhez lesz hasonló:
+
+ pool: tarolo
+ state: DEGRADED
+status: One or more devices has been taken offline by the administrator.
+ Sufficient replicas exist for the pool to continue functioning in a
+ degraded state.
+action: Online the device using 'zpool online' or replace the device with
+ 'zpool replace'.
+ scrub: none requested
+config:
+
+ NAME STATE READ WRITE CKSUM
+ tarolo DEGRADED 0 0 0
+ raidz1 DEGRADED 0 0 0
+ da0 ONLINE 0 0 0
+ da1 OFFLINE 0 0 0
+
+errors: No known data errors
+
+ A válasz szerint az eszközt az
+ adminisztrátor állította le. Ez
+ ennél a példánál valóban
+ igaz. Lemezeket a következõ módon lehet
+ leállítani:
+
+ &prompt.root; zpool offline tarolo da1
+
+ Így miután leállítottuk a
+ rendszert, a da1 eszköz
+ cserélhetõ. A rendszer soron következõ
+ indításakor ezzel a paranccsal tudjuk jelezni
+ logikailag is a lemez cseréjét:
+
+ &prompt.root; zpool replace tarolo da1
+
+ Nézzük meg újra a tömb
+ állapotát, de ezúttal a
+ kapcsoló megadása nélkül, mivel csak
+ így fogjuk látni:
+
+ &prompt.root; zpool status tarolo
+ pool: tarolo
+ state: ONLINE
+ scrub: resilver completed with 0 errors on Sat Aug 30 19:44:11 2008
+config:
+
+ NAME STATE READ WRITE CKSUM
+ tarolo ONLINE 0 0 0
+ raidz1 ONLINE 0 0 0
+ da0 ONLINE 0 0 0
+ da1 ONLINE 0 0 0
+
+errors: No known data errors
+
+ A példa szerint minden megfelelõen
+ mûködik.
+
+
+
+ Az adatok ellenõrzése
+
+ Elõzetesen már szó esett róla,
+ hogy a ZFS képes a tárolt
+ adatok sértetlenségének
+ ellenõrzésére. Az új
+ állományrendszerek
+ létrehozásánál ez a
+ lehetõség automatikusan aktiválódik,
+ de tetszés szerint letiltható:
+
+ &prompt.root; zfs set checksum=off tarolo/felhasznalok
+
+ Ez a lépés viszont nem
+ feltétlenül jó döntés, mivel az
+ adatintegritás megtartásához
+ felhasznált ellenõrzõ összegek nagyon
+ kevés helyet foglalnak és meglehetõsen
+ hasznosak. Emellett semmilyen észlelhetõ
+ lassulást nem okoznak az állományrendszer
+ használata során. Ha engedélyezzük,
+ a ZFS ilyen ellenõrzõ
+ összegek segítségével folyamatosan
+ figyelni tudja az adatok épségét. Ezt az
+ ellenõrzést a scrub paranccsal
+ válthatjuk ki. Nézzük meg
+ például a tarolo
+ esetében:
+
+ &prompt.root; zpool scrub tarolo
+
+ Ez a vizsgálat a tárolt adatok
+ mennyiségétõl függõen nagyon
+ sokáig is eltarthat, illetve rengeteg
+ lemezmûveletet foglal magában, ezért
+ egyszerre csak egy ilyen futtatása javasolt.
+ Miután befejezõdött, a tároló
+ állapota az eredményének megfelelõen
+ frissül, amelyet közvetlenül utána le is
+ kérdezhetünk:
+
+ &prompt.root; zpool status tarolo
+ pool: tarolo
+ state: ONLINE
+ scrub: scrub completed with 0 errors on Sat Aug 30 19:57:37 2008
+config:
+
+ NAME STATE READ WRITE CKSUM
+ tarolo ONLINE 0 0 0
+ raidz1 ONLINE 0 0 0
+ da0 ONLINE 0 0 0
+ da1 ONLINE 0 0 0
+
+errors: No known data errors
+
+ A példában látható az
+ utolsó ellenõrzés ideje. Ezen
+ lehetõség használatával
+ hosszú idõn keresztül szavatolni tudjuk az
+ adataink épségét.
+
+ A Z állományrendszerrel kapcsolatos
+ további beállítási
+ lehetõségekrõl a &man.zfs.8; és
+ &man.zpool.8; man oldalakon olvashatunk.
+
+
+
+
diff --git a/hu_HU.ISO8859-2/books/handbook/geom/chapter.sgml b/hu_HU.ISO8859-2/books/handbook/geom/chapter.sgml
index 2b796d79c3..586c25982a 100644
--- a/hu_HU.ISO8859-2/books/handbook/geom/chapter.sgml
+++ b/hu_HU.ISO8859-2/books/handbook/geom/chapter.sgml
@@ -1,891 +1,892 @@
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
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/ad3Az í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:&prompt.root; echo "/dev/stripe/st0a /mnt ufs rw 2 2" \>> /etc/fstabA geom_stripe 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 ez a példa
- feltételezi, hogy ezek a lemezek közvetlen
+ méretû lemezt, valamint a példák
+ feltételezik, hogy ezek a lemezek közvetlen
elérésû (&man.da.4;)
SCSI-lemezek.
- Kezdetnek telepítsük fel a &os;-t az elsõ
- lemezre, de csak két partícióval. Ezek
- egyike legyen a lapozóállományt
- tartalmazó partíció, aminek mérete
- pedig a fizikailag rendelkezésre álló
- memória (RAM) méretének
- kétszere legyen. A többi helyet adjuk oda a
- gyökérpartíciónak (/). Természetesen a többi
- csatolási pontot is kihasználhatjuk, külön
- partíciókkal, de ezzel a feladat
- nehézsége tízszeresére növekszik,
- mivel ekkor manuálisan kell átírnunk a
- &man.bsdlabel.8; és &man.fdisk.8;
- beállításokat.
-
- Indítsuk újra a
- számítógépet és várjuk
- meg, amíg a rendszer teljesen készen nem áll.
- Amint ez a folyamat véget ért, jelentkezzük be
- a root felhasználóval.
-
- Hozzuk létre a /dev/mirror/gm
- eszközt és kössük hozzá a
- /dev/ad1 eszközhöz:
-
- &prompt.root; gmirror label -vnb round-robin gm0 /dev/da1
-
- A rendszernek erre így kell reagálnia:
-
-
-Metadata value stored on /dev/da1.
+
+ Az elsõdleges lemezek
+ tükrözése
+
+ Tegyü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=17
+
+ Most é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:
+
+ &prompt.root; gmirror label -vb round-robin gm0 /dev/da0
+
+ Erre a rendszernek a következõ módon kell
+ reagálnia:
+
+ Metadata value stored on /dev/da0.
Done.
- Keltsük életre a GEOM-ot, aminek során
- betöltõdik a
- /boot/kernel/geom_mirror.ko modul:
-
- &prompt.root; gmirror load
-
-
- Ezzel a paranccsal létre kellett jönnie a
- gm0 eszköznek a /dev/mirror
- könyvtárban.
-
+ A GEOM inicializálásához
+ szükségünk lesz a
+ /boot/kernel/geom_mirror.ko modul
+ betöltésére:
- Helyezzünk el egy partíciós
- táblát és rendszerindító
- programot az fdisk
- segítségével az újonnan
- létrehozott gm0
- eszközön:
+ &prompt.root; gmirror load
- &prompt.root; fdisk -vBI /dev/mirror/gm0
-
- Most pedig tegyünk fel egy általános
- címkét a bsdlabel
- programmal:
-
- &prompt.root; bsdlabel -wB /dev/mirror/gm0s1
-
-
- Ha több slice-unk és partíciónk is
- van, az iménti két parancsban máshogy kell
- megadnunk a paramétereket. Meg kell egyezniük a
- másik lemezen található slice-al és
- a partíciójának
- méretével.
-
+
+ A parancs sikeres lefutása után a /dev/mirror
+ könyvtárban létrehoz egy
+ gm0
+ eszközleírót.
+
- Használjuk a &man.newfs.8; segédprogramot a
- gm0s1a eszközön egy
- UFS típusú
- állományrendszer
- létesítésére:
-
- &prompt.root; newfs -U /dev/mirror/gm0s1a
-
- Ennek eredményeképpen kapunk egy halom
- számot a képernyõn. Nagyon jó!
- Ellenõrizzük, nem látunk-e a
- képernyõn valamilyen hibaüzenetet, majd
- csatlakoztassuk az eszközt a a /mnt pontra:
-
- &prompt.root; mount /dev/mirror/gm0s1a /mnt
-
- Ezt követõen pedig mozgassunk át minden
- adatot a frissen létrehozott
- állományrendszere arról a lemezrõl,
- ahonnan elindítottuk a rendszert. Ebben a
- példában ezt ugyan a &man.dump.8; és
- &man.restore.8; parancsokkal oldjuk meg, erre a célra
- viszont a &man.dd.1; is remekül
- használható.
-
- &prompt.root; dump -L -0 -f- / |(cd /mnt && restore -r -v -f-)
-
- Ezt el kell végeznünk mindegyik
- állományrendszerre. Egyszerûen másoljuk
- be az érintett állományrendszert a
- megfelelõ helyre az elõbb bemutatott parancsban.
-
- Ezután írjuk át a duplikált
- /mnt/etc/fstab állományt,
- és távolítsuk el vagy csak kommentezzük
- ki belõle a lapozóállományt
-
- Megjegyezzük, hogy az fstab
- állományból kiszedett bejegyzés
- miatt valószínûleg más módon
- kell majd engedélyeznünk a
- lapozóállomány használatát.
- Errõl bõvebben lásd a .
- .
- Írjuk felül a másik
- állományrendszer adatait is az új
- eszköznek megfelelõ beállításokkal,
- ahogy a példa is mutatja:
-
- # Device Mountpoint FStype Options Dump Pass#
-#/dev/da0s2b none swap sw 0 0
-/dev/mirror/gm0s1a / ufs rw 1 1
-
- Az alábbi paranccsal gondoskodjunk róla, hogy a
- geom_mirror.ko modul
- betöltõdjön a rendszerindítás
- során:
-
- &prompt.root; echo 'geom_mirror_load="YES"' >> /mnt/boot/loader.conf
- &prompt.root; echo 'geom_mirror_load="YES"' >> /boot/loader.conf
-
- Indítsuk újra a rendszert:
-
- &prompt.root; shutdown -r now
-
- A rendszerindító képernyõn az
- egyfelhasználós mód
- eléréséhez válasszuk a negyedik (4)
- opciót. A konzol használatával
- gyõzödjünk meg róla, hogy a rendszer a
- gm0s1a eszközrõl indult. Ezt a
- &man.df.1; kimenetébõl deríthetjük
- ki.
-
- Ha minden rendben zajlott, akkor a rendszerünk elindult a
- gm0s1a eszközrõl, és a
- login vár minket. Innen a lemez a
- következõ parancsok kiadásával
- törölhetõ és illeszhetõbe a
- tükrözések közé:
-
- &prompt.root; dd if=/dev/zero of=/dev/da0 bs=512 count=79
-
- &prompt.root; gmirror configure -a gm0
-&prompt.root; gmirror insert gm0 /dev/da0
-
- Az paraméter tudatja a
- &man.gmirror.8;-al, hogy automatikus szinkronizációt
- használjon, tehát az lemezre írást
- magától tükrözze. A
- hozzátartozó man oldal elmagyarázza, hogyan
- építsük át a tömböt és
- hogyan cseréljük benne a lemezeket, habár az
- data névvel hivatkozik az itt
- említett gm0 eszközre.
-
- A frissen létrehozott tükrözés
- állapotát az alábbi paranccsal
- ellenõrizhetjük:
-
- &prompt.root; gmirror status
+ 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.conf
+
+ Rendszeradminisztrátorként nyissuk 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:
+
+ &prompt.root; vi /etc/fstab
+
+ A &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/gm0s2b none swap sw 0 0
+/dev/mirror/gm0s2a / ufs rw 1 1
+#/dev/mirror/gm0s2d /store ufs rw 2 2
+/dev/mirror/gm0s2e /usr ufs rw 2 2
+/dev/acd0 /cdrom cd9660 ro,noauto 0 0
+
+ Indítsuk újra a rendszert:
+
+ &prompt.root; shutdown -r now
+
+ Ennek 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/dev
+
+ A 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/da1
+
+ A tükrözés állapota a
+ létrejöttét követõen az alábbi
+ paranccsal ellenõrizhetõ:
+
+ &prompt.root; gmirror status
+
+ Az 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
+ da1
+
+ Hiba 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. Helyezzük el
aoptions GEOM_MIRRORsort a rendszermag konfigurációs
állományában, fordítsuk
újra és telepítsük. Ezzel
várhatóan orvosoltuk a
problémát.
-
+
+
+ A meghibásodott lemezek cseréje
+
+ A 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/da1
+
+ Innen 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
kettõ közötti eltérés az
állandó címkékkel kapcsolatos
automatikus detektálás, illetve a tény,
hogy ez a típusú címke az
újraindítás után is megmarad.
Ezeknek a címkéknek van egy külön, az
állományrendszerük szerint elnevezett
könyvtára a /dev könyvtáron
belül. Például az UFS2
állományrendszer-címkék a /dev/ufs könyvtárban
keletkeznek.Egy általános címke a
következõ induláskor elveszik. Ezek a
címkék a /dev/label könyvtárban
keletkeznek, és ideálisak a
kísérletezgetésre.Állandó címkék az
állományrendszereken a tunefs
vagy a newfs segédprogramok
valamelyikével helyezhetõek el. 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 homeNapló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 az utolsó
szektorokban, illetve bizonyos esetekben egy teljesen másik
lemezen.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_GJOURNALHa 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.
diff --git a/hu_HU.ISO8859-2/books/handbook/mirrors/chapter.sgml b/hu_HU.ISO8859-2/books/handbook/mirrors/chapter.sgml
index 2685ca8823..8937916e01 100644
--- a/hu_HU.ISO8859-2/books/handbook/mirrors/chapter.sgml
+++ b/hu_HU.ISO8859-2/books/handbook/mirrors/chapter.sgml
@@ -1,4117 +1,3871 @@
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:BSD Mall (Daemon News)PO Box 161Nauvoo, IL62354Egyesült Államok
Telefon: +1 866 273-6255
Fax: +1 217 453-9956
e-mail: sales@bsdmall.com
WWW: FreeBSD Mall, Inc.3623 Sanford StreetConcord, CA94520-1405Egyesü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;
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;
-
- A Portsnap
- használata
-
-
- Bevezetés
-
- A Portsnap a &os;
- portfájának biztonságos
- terjesztésére megalkotott rendszer.
- Hozzávetõleg óránként egyszer a
- portfa egy újabb pillanatképe
- jön létre, amit ezután
- tömörítenek és digitálisan
- aláírnak. Az így keletkezõ
- állományokat végül HTTP-n
- keresztül terjesztik.
-
- A CVSuphoz hasonlóan a
- Portsnap szintén
- lehúzással frissít.
- Ennek folyamán a becsomagolt és
- aláírt portfák egy webszerveren
- tároltan várják passzívan a kliensek
- kéréseit. A felhasználók így
- vagy a &man.portsnap.8; elindításával
- azonnal, vagy pedig a &man.cron.8;
- segítségével rendszeresen automatikusan
- kérhetnek frissítéseket.
-
- Technikai megfontolásokból a
- Portsnap nem közvetlenül a
- /usr/ports/ könyvtárban
- található éles
- portfát változtatja meg. Helyette
- alapértelmezés szerint a
- /var/db/portsnap/ könyvtárba
- kerülõ tömörített
- változatával dolgozik. A frissítés
- befejeztével ezzel a tömörített
- változattal módosítja az éles
- portfát.
-
-
- Ha a Portsnapet a &os;
- Portgyûjteményébõl
- telepítjük, akkor alapértelmezés
- szerint a tömörített pillanatképet a
- /var/db/portsnap/ könyvtár
- helyett a /usr/local/portsnap/
- könyvtárban hozza létre.
-
-
-
-
-
- Telepítés
-
- A &os; 6.0 vagy késõbbi változataiban
- már a Portsnap az alaprendszer
- része. A &os; korábbi verzióra a ports-mgmt/portsnap porton
- keresztül telepíthetjük.
-
-
-
-
- A Portsnap
- beállítása
-
- A Portsnap
- mûködését az
- /etc/portsnap.conf
- konfigurációs állomány
- vezérli. A felhasználók
- többségének a benne helyet kapott
- alapbeállítások megfelelõek. Aki
- kíváncsi a részletekre, nézze meg a
- &man.portsnap.conf.5; man oldalt.
-
-
- Amennyiben a Portsnapet a &os;
- Portgyûjteményébõl
- telepítettük, a
- /etc/portsnap.conf helyett a
- /usr/local/etc/portsnap.conf
- konfigurációs állományt fogja
- használni. Ez az állomány a port
- telepítésekor ugyan nem jön létre
- automatikusan, de találhatunk belõle egy
- mintát, amit a következõ paranccsal tudunk a
- helyére másolni:
-
- &prompt.root; cd /usr/local/etc && cp portsnap.conf.sample portsnap.conf
-
-
-
-
-
- A Portsnap elsõ
- futtatása
-
- A &man.portsnap.8; elsõ futtatásakor le kell
- töltenünk a /var/db/portsnap/
- (vagy /usr/local/portsnap/, ha a
- Portsnapet a
- Portgyûjteménybõl telepítettük)
- könyvtárba az egész portfa
- tömörített képét. Ez 2006
- elejétõl nagyjából 41 MB
- méretûre dagadt.
-
- &prompt.root; portsnap fetch
-
- Miután sikerült letöltenünk a
- tömörített képet, az
- éles portfa egy
- példányát tudjuk kibontani a
- /usr/ports/ könyvtárba. Ez a
- lépés még abban az esetben is
- kötelezõ, ha már valamilyen módon
- feltöltöttük volna ezt a könyvtárat
- (például a CVSup
- segítségével), hiszen ekkor hozza
- létre a portsnap a
- mûködéséhez szükséges
- adatokat is, amelyek révén el tudja majd
- dönteni, hogy a portfa pontosan mely részeit kell
- frissítenie.
-
- &prompt.root; portsnap extract
-
-
- A telepítés során alapból nem
- jön létre a /usr/ports/ könyvtár.
- Ha a &os; 6.0-RELEASE kiadását
- használjuk, akkor a portsnap
- indítása elõtt ezt a könyvtárat
- el kell készítenünk. A &os; vagy a
- Portsnap újabb
- változataiban a portsnap elsõ
- használata során ez már azonban
- önmagától megtörténik.
-
-
-
-
-
- A portfa frissítése
-
- Miután letöltöttük a portfa
- kiinduló pillanatképét és kibontottuk
- a /usr/ports/ könyvtárba, a
- frissítése két lépésben
- végezhetõ el: elõször
- elkérjük (fetch) a
- tömörített kép
- frissítéseit, majd ezután az így
- nyert módosításokat
- érvényesítjük az
- éles portfán (update). Ez a két
- lépés egyetlen portsnap parancs
- kiadásával összefoglalható:
-
- &prompt.root; portsnap fetch update
-
-
- A portsnap némely régebbi
- változatai nem támogatják ezt a
- típusú felírást. Ha tehát
- nem mûködne az iménti parancs, akkor helyette
- próbáljuk meg ezt:
-
- &prompt.root; portsnap fetch
-&prompt.root; portsnap update
-
-
-
-
-
- A Portsnap automatikus
- futtatása
-
- A Portsnap szervereken
- keletkezõ hirtelen tömeg
- elkerülése érdekében a
- portsnap fetch nem fog &man.cron.8;
- feladatként futni. Ehelyett erre létezik egy
- külön portsnap cron parancs, amivel
- a frissítések letöltése elõtt
- véletlenszerûen vár legfeljebb 3600
- másodpercet.
-
- Emellett a portsnap update parancs
- futtatását sem javasoljuk cron
- feladatként, mivel komoly problémákat
- képes okozni akkor, amikor egy port
- fordítása vagy telepítése
- során adjuk ki. Azonban az
- kapcsoló megadásával a portok
- INDEX állományát
- biztonságosan tudjuk frissíteni. (Ebbõl
- nyilvánvalóan következik, hogy a
- portsnap -I update lefutása
- után a portsnap update parancsot is ki
- kell majd adni az kapcsoló
- nélkül a fa többi részének
- frissítéséhez.)
-
- Ha felvesszük a következõ sort az
- /etc/crontab állományba,
- akkor a portsnap frissíteni fogja a
- tömörített felvételt és a
- /usr/ports/ könyvtárban
- levõ INDEX állományokat,
- és küld egy levelet az elavult feltelepített
- portokról:
-
- 0 3 * * * root portsnap -I cron update && pkg_version -vIL=
-
-
- Ha a rendszeróra nem helyi idõ szerint
- jár, akkor a 3 értéket
- cseréljük ki egy 0 és 23 között
- tetszõleges számra, így
- hozzájárulunk a a
- Portsnap szerverek
- terhelésének egyenletes
- elosztásához.
-
-
- A portsnap egyes korábbi
- változatai nem engednek meg egyszerre több
- parancsot (mint például a cron
- update). Ha az iménti
- felírásban hibát kapunk, akkor
- próbáljuk meg a portsnap -I cron
- update parancsot kicserélni a
- portsnap cron && portsnap -I update
- parancsra.
-
-
-
-
-
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_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_3A FreeBSD-6.3 kiadás ága, ahová
csak biztonsági frissítések és a
ritikus 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_0_0_RELEASEFreeBSD 7.0RELENG_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.Németországrsync://grappa.unix-ag.uni-kl.de/Elérhetõ gyûjtemények:freebsd-cvs: a &os; teljes CVS
tárháza.Ez a gép ezen kívül még
tükrözi a NetBSD és OpenBSD CVS
repositorykat is.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/books/handbook/network-servers/chapter.sgml b/hu_HU.ISO8859-2/books/handbook/network-servers/chapter.sgml
index e837f1bd4a..2c486e0571 100644
--- a/hu_HU.ISO8859-2/books/handbook/network-servers/chapter.sgml
+++ b/hu_HU.ISO8859-2/books/handbook/network-servers/chapter.sgml
@@ -1,6711 +1,6711 @@
MurrayStokelyÁtdolgozta: Hálózati szerverekÁttekintésEbben a fejezetben a &unix; típusú rendszerekben
leggyakrabban alkalmazott hálózati
szolgáltatások közül fogunk
néhányat bemutatni. Ennek során
megismerjük a hálózati
szolgáltatások különbözõ
típusainak telepítését,
beállítását, tesztelését
és karbantartását. A fejezet
tartalmát folyamatosan példákkal
igyekszünk illusztrálni.A fejezet elolvasása során
megismerjük:hogyan dolgozzunk az inetd
démonnal;hogyan állítsuk be a hálózati
állományrendszereket;hogyan állítsunk be egy
hálózati információs szervert a
felhasználói hozzáférések
megosztására;hogyan állítsuk be automatikusan a
hálózati
hozzáférésünket a DHCP
használatával;hogyan állítsunk be névfeloldó
szervereket;hogyan állítsuk be az
Apache webszervert;hogyan állítsuk be az
állományok átviteléért
felelõs (FTP) szervert;a Samba
használatával hogyan állítsunk be
&windows;-os kliensek számára
állomány- és
nyomtatószervert;az NTP protokoll segítségével hogyan
egyeztessük az idõt és dátumot, hogyan
állítsunk be egy idõszervert.A fejezet elolvasásához ajánlott:az /etc/rc szkriptek alapjainak
ismerete;az alapvetõ hálózati fogalmak
ismerete;a külsõ szoftverek
telepítésének ismerete ().ChernLeeKészítette: A &os; 6.1-RELEASE változatához
igazította: A &os; Dokumentációs
ProjektAz inetdszuperszerverÁttekintésAz &man.inetd.8; démont gyakran csak internet
szuperszerverként nevezik, mivel a helyi
szolgáltatások kapcsolatainak
kezeléséért felelõs. Amikor az
inetd fogad egy csatlakozási
kérelmet, akkor eldönti róla, hogy ez melyik
programhoz tartozik és elindít egy
példányt belõle, majd átadja neki a
socketet (az így meghívott program a
szabvány bemenetéhez, kimenetéhez és
hibajelzési csatornájához kapja meg a
socket leíróit). Az
inetd használatával
úgy tudjuk csökkenteni a rendszerünk
terhelését, hogy a csak alkalmanként
meghívott szolgáltatásokat nem futtatjuk
teljesen független önálló
módban.Az inetd démont
elsõsorban más démonok
elindítására használjuk, de
néhány triviális protokollt
közvetlenül is képes kezelni, mint
például a chargen,
auth és a
daytime.Ebben a fejezetben az inetd
beállításának alapjait foglaljuk
össze mind parancssoros módban, mind pedig az
/etc/inetd.conf konfigurációs
állományon keresztül.BeállításokAz inetd
mûködése az &man.rc.8; rendszeren
keresztül inicializálható. Az
inetd_enable ugyan alapból a
NO értéket veszi fel, vagyis
tiltott, de a sysinstall
használatával már akár a
telepítés során bekapcsolható
attól függõen, hogy a felhasználó
milyen konfigurációt választott. Ha
tehát a:inetd_enable="YES"vagyinetd_enable="NO"sort tesszük az /etc/rc.conf
állományba, akkor azzal az
inetd démont
indíthatjuk el vagy tilthatjuk le a rendszer
indítása során. Az&prompt.root; /etc/rc.d/inetd rcvarparanccsal lekérdezhetjük a pillanatnyilag
érvényes beállítást.Emellett még az inetd
démonnak az inetd_flags
változón keresztül
különbözõ parancssori paramétereket
is át tudunk adni.Parancssori paraméterekHasonlóan a legtöbb szerverhez, az
inetd viselkedését is
befolyásolni tudjuk a parancssorban
átadható különbözõ
paraméterekkel. Ezek teljes listája a
következõ:inetdEzek a paraméterek az
/etc/rc.conf állományban az
inetd_flags segítségével
adhatóak meg az inetd
részére. Alapértelmezés szerint az
inetd_flags értéke -wW
-C 60, ami az inetd
által biztosított szolgáltatások TCP
protokollon keresztüli wrappelését kapcsolja
be, illetve egy IP-címrõl nem engedi a
felkínált szolgáltatások
elérését percenként hatvannál
többször.A kezdõ felhasználók örömmel
nyugtázhatják, hogy ezeket az
alapbeállításokat nem szükséges
módosítaniuk, habár a
késõbbiekben majd fény derül arra, hogy
a kiszolgálás gyakoriságának
szabályozása remek védekezést
nyújthat túlzottan nagy mennyiségû
kapcsolódási kérelem ellen. A
megadható paraméterek teljes listája az
&man.inetd.8; man oldalán olvasható.-c maximumAz egyes szolgáltatásokhoz egyszerre
felépíthetõ kapcsolatok
alapértelmezett maximális
számát adja meg. Alapból ezt a
démont nem korlátozza. A
beállítással ez akár
szolgáltatásonként külön is
megadható.-C arányKorlátozza, hogy egyetlen IP-címrõl
alapból hányszor hívhatóak meg
az egyes szolgáltatások egy percen
belül. Ez az érték alapból
korlátlan. A
beállítással ez
szolgáltatásonként is
definiálható.-R arányMegadja, hogy egy szolgáltatást egy perc
alatt mennyiszer lehet meghívni. Ez az
érték alapértelmezés szerint
256. A 0 megadásával
eltöröljük ezt a típusú
korlátozást.-s maximumAnnak maximumát adja meg, hogy egyetlen
IP-címrõl egyszerre az egyes
szolgáltatásokat mennyiszer tudjuk
elérni. Alapból ez korlátlan.
Szolgáltatásonként ezt a
paraméterrel
tudjuk felülbírálni.Az inetd.conf
állományAz inetd
beállítását az
/etc/inetd.conf konfigurációs
állományon keresztül végezhetjük
el.Amikor az /etc/inetd.conf
állományban módosítunk valamit, az
inetd démont a
következõ paranccsal meg kell kérnünk,
hogy olvassa újra:Az inetd
konfigurációs állományának
újraolvasása&prompt.root; /etc/rc.d/inetd reloadA konfigurációs állomány minden
egyes sora egy-egy démont ír le. A
megjegyzéseket egy # jel vezeti be. Az
/etc/inetd.conf állomány
bejegyzéseinek formátuma az alábbi:szolgáltatás-nevesocket-típusaprotokoll
{wait|nowait}[/max-child[/max-connections-per-ip-per-minute[/max-child-per-ip]]]
felhasználó[:csoport][/bejelentkezési-osztály]
szerver-programszerver-program-paramétereiAz IPv4 protokollt használó &man.ftpd.8;
démon bejegyzése például így
néz ki:ftp stream tcp nowait root /usr/libexec/ftpd ftpd -lszolgáltatás-neveEz az adott démon által képviselt
szolgáltatást nevezi meg, amelynek
szerepelnie kell az /etc/services
állományban. Ez határozza meg, hogy
az inetd milyen porton figyelje
a beérkezõ kapcsolatokat. Ha egy új
szolgáltatást hozunk létre, akkor azt
elõször az /etc/services
állományba kell felvennünk.csatlakozás-típusaEnnek az értéke
stream, dgram,
raw, vagy seqpacket
lehet. A stream típust
használja a legtöbb kapcsolat-orientált
TCP démon, miközben a dgram
típus az UDP
szállítási protokollt
alkalmazó démonok esetében
használatos.protokollValamelyik a következõk
közül:ProtokollMagyarázattcp, tcp4TCP IPv4udp, udp4UDP IPv4tcp6TCP IPv6udp6UDP IPv6tcp46TCP IPv4 és v6udp46UDP IPv4 és v6{wait|nowait}[/max-child[/max-connections-per-ip-per-minute[/max-child-per-ip]]]A
beállítás mondja meg, hogy az
inetd démonból
meghívott démon saját maga
képes-e kezelni kapcsolatokat. A
típusú kapcsolatok
esetében egyértelmûen a
beállítást kell
használni, miközben a
esetén, ahol általában több
szálon dolgozunk, a
megadása javasolt. A
hatására általában egyetlen
démonnak adunk át több socketet,
míg a minden sockethez egy
újabb példányt indít
el.Az inetd által
indítható példányokat a
megadásával
korlátozhatjuk. Ha tehát
például az adott démon
számára legfeljebb példány
létrehozását
engedélyezzük, akkor a
után /10
beállítást kell megadnunk. A
/0 használatával
korlátlan mennyiségû
példányt
engedélyezhetünk.A mellett még
további két másik
beállítás jöhet
számításba az egyes démonok
által kezelhetõ kapcsolatok maximális
számának
korlátozásában. A
az
egyes IP-címekrõl befutó
lekezelhetõ kapcsolatok percenkénti
számát szabályozza, így
például ha itt a tizes értéket
adjuk meg, akkor az adott szolgáltatáshoz
egy IP-címrõl percenként csak
tízszer férhetünk hozzá. A
az egyes
IP-címekhez egyszerre elindítható
példányok számára ír
elõ egy korlátot. Ezek a paraméterek
segítenek megóvni rendszerünket az
erõforrások akaratos vagy akaratlan
kimerítésétõl és a DoS
(Denial of Service) típusú
támadásoktól.Ebben a mezõben a vagy
valamelyikét
kötelezõ megadni. A ,
és
paraméterek ellenben elhagyhatóak.A típusú
több szálon futó démonok a
,
vagy
korlátozása nélkül
egyszerûen csak így adhatóak meg:
nowait.Ha ugyanezt a démont tíz kapcsolatra
lekorlátozzuk, akkor a következõt kell
megadnunk: nowait/10.Amikor pedig IP-címenként 20 kapcsolatot
engedélyezünk percenként és
mindössze 10 példányt, akkor:
nowait/10/20.Az iménti beállítások a
&man.fingerd.8; démon alapértelmezett
paramétereinél is
megtalálhatóak:finger stream tcp nowait/3/10 nobody /usr/libexec/fingerd fingerd -sVégezetül engedélyezzük 100
példányt, melyek közül
IP-címenként 5 használható:
nowait/100/0/5.felhasználóEzzel azt a felhasználót adjuk meg,
akinek a nevében az adott démon futni fog.
Az esetek túlnyomó részében a
démonokat a root
felhasználó futtatja. Láthatjuk
azonban, hogy biztonsági okokból bizonyos
démonok a daemon vagy a
legkevesebb joggal rendelkezõ
nobody felhasználóval
futnak.szerver-programA kapcsolat felépülésekor az itt
teljes elérési úttal megadott
démon indul el. Ha ezt a
szolgáltatást maga az
inetd belsõleg
valósítja meg, akkor ebben a mezõben az
értéket adjuk
meg.szerver-program-paramétereiEz a
beállítással együtt
mûködik, és ebben a mezõben a
démon meghívásakor
alkalmazandó paramétereket tudjuk
rögzíteni, amelyet a démon
nevével kezdünk. Ha a démont a
parancssorból a
sajátdémon
-d paranccsal hívnánk meg, akkor a
sajátdémon
-d lesz
beállítás helyes értéke
is. Természetesen, ha a démon egy
belsõleg megvalósított
szolgáltatás, akkor ebben a mezõben is
az fog megjelenni.VédelemAttól függõen, hogy a
telepítés során mit választottunk,
az inetd által
támogatott szolgáltatások egyes
része talán alapból engedélyezett
is. Amennyiben egy adott démont konkrétan nem
használunk, akkor érdemes megfontolni a
letiltását. A kérdéses démon
sorába tegyünk egy # jelet az
/etc/inetd.conf állományba,
majd olvastassuk
újra az inetd beállításait.
Egyes démonok, mint például az
fingerd használata
egyáltalán nem ajánlott, mivel a
támadók számára hasznos
információkat tudnak
kiszivárogtatni.Más démonok nem ügyelnek a
védelemre, és a kapcsolatokhoz rendelt
lejárati idejük túlságosan
hosszú vagy éppen nincs is. Ezzel a
támadónak lehetõsége van lassú
kapcsolatokkal leterhelni az adott démont, ezáltal
kimeríteni a rendszer erõforrásait. Ha
úgy találjuk, hogy túlságosan sok az
ilyen kapcsolat, akkor jó ötletnek bizonyulhat a
démonok számára a
,
vagy
korlátozások
elrendelése.Alapértelmezés szerint a TCP kapcsolatok
wrappelése engedélyezett. A &man.hosts.access.5;
man oldalon találhatjuk meg az
inetd által
meghívható különféle
démonok TCP-alapú korlátozásainak
lehetõségeit.Egyéb lehetõségekA daytime,
time,
echo,
discard,
chargen és
auth szolgáltatások
feladatainak mindegyikét maga az
inetd is képes
ellátni.Az auth
szolgáltatás a hálózati
keresztül azonosítást teszi
lehetõvé és bizonyos mértékig
beállítható. A többit egyszerûen
csak kapcsoljuk ki vagy be.A témában az &man.inetd.8; man oldalán
tudunk még jobban elmerülni.TomRhodesÁtdolgozta és javította:
BillSwingleÍrta: A hálózati állományrendszer
(NFS)NFSA &os; több állományrendszert ismer,
köztük a hálózati
állományrendszert (Network File System, NFS) is. Az NFS állományok
és könyvtárak megosztását teszi
lehetõvé a hálózaton keresztül. Az
NFS
használatával a felhasználók és
a programok képesek majdnem úgy elérni a
távoli rendszereken található
állományokat, mintha helyben
léteznének.Íme az NFS néhány
legjelentõsebb elõnye:A helyi munkaállomások kevesebb
tárterületet használnak, mivel a
közös adatokat csak egyetlen
számítógépen tároljuk
és megosztjuk mindenki között.A felhasználóknak nem kell a
hálózat minden egyes gépén
külön felhasználói
könyvtárral rendelkezniük. Ezek ugyanis az
NFS segítségével
akár egy szerveren is
beállíthatóak és
elérhetõvé tehetõek a
hálózaton keresztül.A különbözõ
háttértárak, mint például a
floppy lemezek, CD-meghajtók és &iomegazip;
meghajtók a hálózaton több
számítógép között
megoszthatóak. Ezzel csökkenteni tudjuk a
hálózatunkban szükséges
cserélhetõ lemezes eszközök
számát.Ahogy az NFS mûködikAz NFS legalább két fõ
részbõl rakható össze: egy
szerverbõl és egy vagy több kliensbõl. A
kliensek a szerver által megosztott adatokhoz
képesek távolról hozzáférni.
A megfelelõ mûködéshez mindössze csak
néhány programot kell beállítani
és futtatni.A szervernek a következõ démonokat kell
mûködtetnie:NFSszerverállományszerverUNIX kliensekrpcbindmountdnfsdDémonLeírásnfsdAz NFS démon, amely
kiszolgálja az NFS
kliensektõl érkezõ
kéréseket.mountdAz NFS csatlakoztató
démonja, amely végrehajtja az &man.nfsd.8;
által átküldött
kéréseket.rpcbindEz a démon lehetõvé teszi az
NFS kliensek számára,
hogy fel tudják deríteni az
NFS szerver által
használt portot.A kliensen is futnia kell egy démonnak, amelynek a
neve nfsiod. Az
nfsiod démon az
NFS szerver felõl érkezõ
kéréseket szolgálja ki. A
használata teljesen opcionális, csupán a
teljesítményt hívatott javítani, de
a normális és helyes mûködéshez
nincs rá szükségünk. Az &man.nfsiod.8;
man oldalán errõl többet is
megtudhatunk.Az NFS
beállításaNFSbeállításAz NFS beállítása
viszonylag egyértelmûen adja magát. A
mûködéséhez szükséges
programok automatikus elindítása csupán
néhány apró módosítást
igényel az /etc/rc.conf
állományban.Az NFS szerveren gondoskodjunk
róla, hogy az alábbi
beállítások szerepeljenek az
/etc/rc.conf
állományban:rpcbind_enable="YES"
nfs_server_enable="YES"
mountd_flags="-r"A mountd magától el
fog indulni, ha az NFS szervert
engedélyezzük.A kliensen a következõ
beállítást kell felvennünk az
/etc/rc.conf
állományba:nfs_client_enable="YES"Az /etc/exports állomány
adja meg, hogy az NFS milyen
állományrendszereket exportáljon (vagy
másképpen szólva osszon
meg). Az /etc/exports
állományban tehát a megosztani
kívánt állományrendszereket kell
szerepeltetnünk, és azt, hogy melyik
számítógépekkel tudjuk ezeket
elérni. A gépek megnevezése mellett a
hozzáférésre további
megszorításokat írhatunk fel. Ezek
részletes leírását az
&man.exports.5; man oldalon találjuk meg.Lássunk néhány példát az
/etc/exports állományban
megjelenõ bejegyzésekre:NFSpéldák
exportálásraA most következõ példákban az
állományrendszerek
exportálásának finomságait
igyekszünk érzékeltetni, noha a
konkrét beállítások gyakran a
rendszerünktõl és a hálózati
konfigurációtól függenek.
Például, ha a /cdrom
könytárat akarjuk három gép
számára megosztani, akik a szerverrel
megegyezõ tartományban találhatóak
(ezért nem is kell megadnunk a tartományt) vagy
mert egyszerûen megtalálhatók az
/etc/hosts állományunkban.
Az beállítás az
exportált állományrendszereket
írásvédetté teszi. Ezzel a
beállítással a távoli rendszerek nem
lesznek képesek módosítani az
exportált állományrendszer
tartalmát./cdrom -ro gép1 gép2 gép3A következõ sorban a /home
könyvtárat három gép
számára osztjuk meg, melyeket IP-címekkel
adtunk meg. Ez olyan helyi hálózat esetén
hasznos, ahol nem állítottunk be
névfeloldást. Esetleg a belsõ
hálózati neveket az
/etc/hosts állományban is
tárolhatjuk. Ezzel utóbbival kapcsolatban a
&man.hosts.5; man oldalt érdemes fellapoznunk. Az
beállítás
lehetõvé teszi, hogy az alkönyvtárak is
csatlakozási pontok lehessenek. Más
szóval, nem fogja csatlakoztatni az
alkönyvtárakat, de megengedi a kliensek
számára, hogy csak azokat a
könyvtárakat csatlakoztassák, amelyeket kell
vagy amelyekre szükségünk van./home -alldirs 10.0.0.2 10.0.0.3 10.0.0.4A következõ sorban az /a
könyvtárat úgy exportáljuk, hogy az
állományrendszerhez két
különbözõ tartományból is
hozzá lehessen férni. A
beállítás
hatására a távoli rendszer
root felhasználója az
exportált állományrendszeren szintén
root felhasználóként
fogja írni az adatokat. Amennyiben a
-maproot=root beállítást
nem adjuk meg, akkor a távoli rendszeren hiába
root az adott felhasználó, az
exportált állományrendszeren nem lesz
képes egyetlen állományt sem
módosítani./a -maproot=root gep.minta.com doboz.haz.orgA kliensek is csak a megfelelõ engedélyek
birtokában képesek elérni a megosztott
állományrendszereket. Ezért a klienst ne
felejtsük el felvenni a szerver
/etc/exports
állományába.Az /etc/exports
állományban az egyes sorok az egyes
állományrendszerekre és az egyes
gépekre vonatkoznak. A távoli gépek
állományrendszerenként csak egyszer
adhatóak meg, és csak egy alapértelmezett
bejegyzésük lehet. Például
tegyük fel, hogy a /usr egy
önálló állományrendszer. Ennek
megfelelõen az alábbi bejegyzések az
/etc/exports állományban
érvénytelenek:# Nem használható, ha a /usr egy állományrendszer:
/usr/src kliens
/usr/ports kliensEgy állományrendszerhez, vagyis itt a
/usr partícióhoz, két
export sort is megadtunk ugyanahhoz a kliens
nevû géphez. Helyesen így kell megoldani az
ilyen helyzeteket:/usr/src /usr/ports kliensAz adott géphez tartozó egy
állományrendszerre vonatkozó exportoknak
mindig egy sorban kell szerepelniük. A kliens
nélkül felírt sorok egyetlen géphez
tartozónak fognak számítani. Ezzel az
állományrendszerek megosztását
tudjuk szabályozni, de legtöbbek
számára nem jelent gondot.Most egy érvényes exportlista következik,
ahol a /usr és az
/exports mind helyi
állományrendszerek:# Osszuk meg az src és ports könyvtárakat a kliens01 és kliens02 részére, de csak a
# kliens01 férhessen hozzá rendszeradminisztrátori jogokkal:
/usr/src /usr/ports -maproot=root kliens01
/usr/src /usr/ports kliens02
# A kliensek az /exports könyvtárban teljes joggal rendelkeznek és azon belül
# bármit tudnak csatlakoztatni. Rajtuk kívül mindenki csak írásvédetten képes
# elérni az /exports/obj könyvtárat:
/exports -alldirs -maproot=root kliens01 kliens02
/exports/obj -roA mountd démonnal az
/etc/exports állományt minden
egyes módosítása után újra be
kell olvastatni, mivel a változtatásaink csak
így fognak érvényesülni. Ezt
megcsinálhatjuk úgy is, hogy küldünk egy
HUP (hangup, avagy felfüggesztés) jelzést a
már futó démonnak:&prompt.root; kill -HUP `cat /var/run/mountd.pid`vagy meghívjuk a mountd &man.rc.8;
szkriptet a megfelelõ paraméterrel:&prompt.root; /etc/rc.d/mountd onereloadAz ban tudhatunk meg
részleteket az rc szkriptek
használatáról.Ezek után akár a &os;
újraindításával is
aktiválhatjuk a megosztásokat, habár ez nem
feltétlenül szükséges. Ha
root felhasználónként
kiadjuk a következõ parancsokat, akkor azzal minden
szükséges programot elindítunk.Az NFS szerveren tehát:&prompt.root; rpcbind
&prompt.root; nfsd -u -t -n 4
&prompt.root; mountd -rAz NFS kliensen pedig:&prompt.root; nfsiod -n 4Ezzel most már minden készen áll a
távoli állományrendszer
csatlakoztatására. A példákban a
szerver neve szerver lesz, valamint a kliens
neve kliens. Ha csak ideiglenesen akarunk
csatlakoztatni egy állományrendszert vagy
egyszerûen csak ki akarjuk próbálni a
beállításainkat, a kliensen
root felhasználóként
az alábbi parancsot hajtsuk végre:NFScsatlakoztatás&prompt.root; mount szerver:/home /mntEzzel a szerveren található
/home könyvtárat fogjuk a
kliens /mnt könyvtárába
csatlakoztatni. Ha mindent jól
beállítottunk, akkor a kliensen most már be
tudunk lépni az /mnt
könyvtárba és láthatjuk a szerveren
található állományokat.Ha a számítógép
indításával automatikusan akarunk
hálózati állományrendszereket
csatlakoztatni, akkor vegyük fel ezeket az
/etc/fstab állományba. Erre
íme egy példa:szerver:/home /mnt nfs rw 0 0Az &man.fstab.5; man megtalálhatjuk az összes
többi beállítást.ZárolásokBizonyos alkalmazások (például a
mutt) csak akkor mûködnek
megfelelõen, ha az állományokat a
megfelelõ módon zárolják. Az
NFS esetében az
rpc.lockd használható
az ilyen zárolások
megvalósítására. Az
engedélyezéséhez mind a szerveren és
a kliensen vegyük fel a következõ sort az
/etc/rc.conf állományba (itt
már feltételezzük, hogy az
NFS szervert és klienst
korábban beállítottuk):rpc_lockd_enable="YES"
rpc_statd_enable="YES"A következõ módon indíthatjuk
el:&prompt.root; /etc/rc.d/lockd start
&prompt.root; /etc/rc.d/statd startHa nincs szükségünk valódi
zárolásra az NFS kliensek
és az NFS szerver között,
akkor megcsinálhatjuk azt is, hogy az
NFS kliensen a &man.mount.nfs.8; programnak
az paraméter
átadásával csak helyileg
végzünk zárolást. Ennek
további részleterõl a &man.mount.nfs.8; man
oldalon kaphatunk felvilágosítást.Gyakori felhasználási módokAz NFS megoldását a
gyakorlatban rengeteg esetben alkalmazzák. Ezek
közül most felsoroljuk a legelterjedtebbeket:NFShasználataTöbb gép között megosztunk egy
telepítõlemezt vagy más
telepítõeszközt. Ez így sokkal
olcsóbb és gyakorta kényelmes
megoldás abban az esetben, ha egyszerre több
gépre akarjuk ugyanazt a szoftvert
telepíteni.Nagyobb hálózatokon sokkal
kényelmesebb lehet egy központi
NFS szerver használata, ahol a
felhasználók könyvtárait
tároljuk. Ezek a felhasználói
könyvtárak aztán megoszthatóak a
hálózaton keresztül, így a
felhasználók mindig ugyanazt a
könyvárat kapják függetlenül
attól, hogy milyen
munkaállomásról is jelentkeztek
be.Több géppel is képes így
osztozni az /usr/ports/distfiles
könyvtáron. Ezen a módon sokkal
gyorsabban tudunk portokat telepíteni a
gépekre, mivel nem kell külön mindegyikre
letölteni az ehhez szükséges
forrásokat.WylieStilwellKészítette: ChernLeeÚjraírta: Automatikus csatlakoztatás az
amd
használatávalamdautomatikus csatlakoztató
démonAz &man.amd.8; (automatikus csatlakoztató
démon, az automatic mounter daemon)
önmûködõen csatlakoztatja a távoli
állományrendszereket, amikor azokon belül
valamelyik állományhoz vagy
könyvtárhoz próbálunk
hozzáférni. Emellett az
amd az egy ideje már
inaktív állományrendszereket is
automatikusan leválasztja. Az
amd használata egy remek
alternatívát kínál az
általában az /etc/fstab
állományban megjelenõ állandóan
csatlakoztatott állományrendszerekkel
szemben.Az amd úgy
mûködik, hogy kapcsolódik egy NFS szerver
/host és /net
könyvtáraihoz. Amikor egy állományt
akarunk elérni ezeken a könyvtárakon
belül, az amd kikeresi a
megfelelõ távoli csatlakoztatást és
magától csatlakoztatja. A
/net segítségével egy
IP-címrõl tudunk exportált
állományrendszereket csatlakoztatni, miközben
a /host a távoli gép
hálózati neve esetében
használatos.Ha tehát a /host/izemize/usr
könyvtárban akarunk elérni egy
állományt, akkor az amd
démonnak ahhoz elõször az
izemize nevû géprõl
exportált /usr
könyvtárat kell csatlakoztatnia.Egy exportált állományrendszer
csatlakoztatása az amd
használatávalEgy távoli számítógép
által rendelkezésre bocsátott
megosztásokat a showmount paranccsal
tudjuk lekérdezni. Például az
izemize gépen elérhetõ
exportált állományrendszereket így
láthatjuk:&prompt.user; showmount -e izemize
Exports list on izemize:
/usr 10.10.10.0
/a 10.10.10.0
&prompt.user; cd /host/izemize/usrAhogy a példában látjuk is, a
showmount parancs a /usr
könyvtárat mutatja megosztásként.
Amikor tehát belépünk a
/host/izemize/usr könyvtárba,
akkor amd magától
megpróbálja feloldani az izemize
hálózati nevet és csatlakoztatni az
elérni kívánt exportált
állományrendszert.Az amd az indító
szkripteken keresztül az /etc/rc.conf
alábbi beállításával
engedélyezhetõ:amd_enable="YES"Emellett még az amd_flags
használatával további paraméterek is
átadható az amd
felé. Alapértelmezés szerint az
amd_flags tartalmaz az alábbi:amd_flags="-a /.amd_mnt -l syslog /host /etc/amd.map /net /etc/amd.map"Az /etc/amd.map állomány
adja meg az exportált állományrendszerek
alapértelmezett beállításait. Az
/etc/amd.conf állományban az
amd további
lehetõségeit konfigurálhatjuk..Ha többet is szeretnénk tudni a
témáról, akkor az &man.amd.8; és az
&man.amd.conf.5; man oldalakat javasolt elolvasnunk.JohnLindKészítette: Problémák más rendszerek
használatakorNémely PC-s ISA buszos Ethernet
kártyákra olyan korlátozások
érvényesek, melyek komoly hálózati
problémák keletkezéséhez
vezethetnek, különösen az NFS esetében.
Ez a nehézség nem &os;-függõ, de a &os;
rendszereket is érinti.Ez gond általában majdnem mindig akkor
merül fel, amikor egy (&os;-s) PC egy
hálózatba kerül többek közt a
Silicon Graphic és a Sun Microsystems által
gyártott nagyteljesítményû
munkaállomásokkal. Az NFS csatlakoztatása
és bizonyos mûveletek még hibátlanul
végrehajtódnak, azonban hirtelen a szerver
látszólag nem válaszol többet a kliens
felé úgy, hogy a többi rendszertõl
folyamatosan dolgozza felfele a kéréseket. Ez a
kliens rendszeren tapasztalható csak, amikor a kliens
&os; vagy egy munkaállomás. Sok rendszeren
egyszerûen rendesen le sem lehet állítani a
klienst, ha a probléma egyszer már
felütötte a fejét. Egyedüli
megoldás gyakran csak a kliens
újraindítása marad, mivel az NFS-ben
kialakult helyzetet máshogy nem lehet megoldani.Noha a helyes megoldás az lenne, ha
beszereznénk egy nagyobb teljesítményû
és kapacitású kártyát a &os;
rendszer számára, azonban egy jóval
egyszerûbb kerülõút is
található a kielégítõ
mûködés eléréséhez. Ha a
&os; rendszer képviseli a szervert,
akkor a kliensnél adjuk meg a
beállítást is a
csatlakoztatásnál. Ha a &os; rendszer a
kliens szerepét tölti be, akkor
az NFS állományrendszert az
beállítással
csatlakoztassuk róla. Ezek a
beállítások az fstab
állomány negyedik mezõjében is
megadhatóak az automatikus csatlakoztatáshoz, vagy
manuális esetben a &man.mount.8; parancsnak a
paraméterrel.Hozzá kell azonban tennünk, hogy létezik
egy másik probléma, amit gyakran ezzel
tévesztenek össze, amikor az NFS szerverek és
kliensek nem ugyanabban a hálózatban
találhatóak. Ilyen esetekben mindenképpen
gyõzõdjünk meg róla,
hogy az útválasztók rendesen
továbbküldik a mûködéshez
szükséges UDP
információkat, különben nem sokat tudunk
tenni a megoldás érdekében.A most következõ példákban a
gyorsvonat lesz a
nagyteljesítményû munkaállomás
(felület) neve, illetve a freebsd pedig a
gyengébb teljesítményû Ethernet
kártyával rendelkezõ &os; rendszer
(felület) neve. A szerveren az
/osztott nevû könyvtárat
fogjuk NFS állományrendszerként
exportálni (lásd &man.exports.5;), amelyet majd a
/projekt könyvtárba fogunk
csatlakoztatni a kliensen. Minden esetben érdemes lehet
még megadnunk a vagy
, illetve
opciókat is.Ebben a példában a &os; rendszer
(freebsd) lesz a kliens, és az
/etc/fstab
állományában így szerepel az
exportált állományrendszer:gyorsvonat:/osztott /projekt nfs rw,-r=1024 0 0És így tudjuk manuálisan
csatlakoztatni:&prompt.root; mount -t nfs -o -r=1024 gyorsvonat:/osztott /projektItt a &os; rendszer lesz a szerver, és a
gyorsvonat/etc/fstab
állománya így fog kinézni:freebsd:/osztott /projekt nfs rw,-w=1024 0 0Manuálisan így csatlakoztathatjuk az
állományrendszert:&prompt.root; mount -t nfs -o -w=1024 freebsd:/osztott /projektSzinte az összes 16 bites Ethernet kártya
képes mûködni a fenti írási vagy
olvasási korlátozások nélkül
is.A kíváncsibb olvasók
számára eláruljuk, hogy pontosan
miért is következik be ez a hiba, ami egyben arra is
magyarázatot ad, hogy miért nem tudjuk
helyrehozni. Az NFS általában 8 kilobyte-os
blokkokkal dolgozik (habár kisebb
méretû darabkákat is tud
készíteni). Mivel az Ethernet által kezelt
legnagyobb méret nagyjából 1500 byte,
ezért az NFS blokkokat több Ethernet
csomagra kell osztani — még olyankor is, ha ez a
program felsõbb rétegeiben osztatlan
egységként látszik — ezt aztán
fogadni kell, összerakni és
nyugtázni mint egységet. A
nagyteljesítményû
munkaállomások a szabvány által
még éppen megengedett szorossággal
képesek ontani magukból az egy egységhez
tartozó csomagokat, közvetlenül egymás
után. A kisebb, gyengébb
teljesítményû kártyák
esetében azonban az egymáshoz tartozó,
késõbb érkezõ csomagok ráfutnak a
korábban megkapott csomagokra még pontosan
azelõtt, hogy elérnék a gépet,
így az egységek nem
állíthatóak össze vagy nem
nyugtázhatóak. Ennek
eredményeképpen a munkaállomás egy
adott idõ múlva megint próbálkozik, de
ismét az egész 8 kilobyte-os blokkot
küldi el, ezért ez a folyamat a
végtelenségig ismétlõdik.Ha a küldendõ egységek
méretét az Ethernet által kezelt csomagok
maximális mérete alá csökkentjük,
akkor biztosak lehetünk benne, hogy a teljes Ethernet
csomag egyben megérkezik és
nyugtázódik, így elkerüljük a
holtpontot.A nagyteljesítményû
munkaállomások természetesen
továbbra is küldhetnek a PC-s rendszerek felé
túlfutó csomagokat, de egy jobb
kártyával az ilyen túlfutások nem
érintik az NFS által használt
egységeket. Amikor egy ilyen
túlfutás bekövetkezik, az érintett
egységet egyszerûen újra elküldik,
amelyet a rákövetkezõ alkalommal nagy
valószínûséggel már tudunk
rendesen fogadni, összerakni és
nyugtázni.BillSwingleÍrta: EricOgrenÍrta: UdoErdelhoffHálózati információs rendszer
(NIS/YP)Mi ez?NISSolarisHP-UXAIXLinuxNetBSDOpenBSDA hálózati információs
szolgáltatást (Network Information Service, avagy
NIS) a Sun
Microsystems fejlesztette ki a &unix; (eredetileg &sunos;)
rendszerek központosított
karbantartásához. Mostanra már
lényegében ipari szabvánnyá
nõtte ki magát, hiszen az összes nagyobb
&unix;-szerû rendszer (a &solaris;, HP-UX, &aix;, Linux,
NetBSD, OpenBSD, &os; stb.) támogatja a NIS
használatát.sárga oldalakNISA NIS
régebben sárga oldalak (Yellow Pages) néven
volt ismert, de a különbözõ jogi
problémák miatt késõbb ezt a Sun
megváltoztatta. A régi elnevezést
(és a yp rövidítést) azonban
még napjainkban is lehet néhol
látni.NIStartományokEz egy RPC alapján mûködõ,
kliens/szerver felépítésû rendszer,
amely az egy NIS tartomány belül levõ
számítógépek számára
teszi lehetõvé ugyanazon konfigurációs
állományok használatát.
Segítségével a rendszergazda a NIS
klienseket a lehetõ legkevesebb adat
hozzáadásával,
eltávolításával vagy
módosításával képes egyetlen
helyrõl beállítani.Windows NTHasonló a &windowsnt; tartományaihoz,
és habár a belsõ implementációt
tekintve már akadnak köztük jelentõs
eltérések is, az alapvetõ funkciók
szintjén mégis összevethetõek.A témához tartozó fogalmak és
programokA NIS telepítése számos fogalom
és fontos felhasználói program kerül
elõ &os;-n, akár egy NIS szervert akarunk
beállítani, akár csak egy NIS
klienst:rpcbindportmapFogalomLeírásNIS tartománynévA NIS központi szerverei és az
összes hozzájuk tartozó kliens
(beleértve az alárendelt szervereket)
rendelkezik egy NIS tartománynévvel.
Hasonló a &windowsnt; által
használt tartománynevekhez, de a NIS
tartománynevei semmilyen kapcsolatban nem
állnak a névfeloldással.rpcbindAz RPC (Remote Procedure Call, a
NIS által használt egyik
hálózati protokoll)
engedélyezéséhez lesz rá
szükségünk. Ha az
rpcbind nem fut, akkor sem
NIS szervert, sem pedig NIS klienst nem tudunk
mûködtetni.ypbindA NIS klienst köti össze a
hozzátartozó NIS szerverrel. A NIS
tartománynevet a rendszertõl veszi,
és az RPC
használatával csatlakozik a szerverhez.
Az ypbind a NIS
környezet kliens és szerver közti
kommunikációjának magját
alkotja. Ha az ypbind
leáll a kliens gépén, akkor nem
tudjuk elérni a NIS szervert.ypservCsak a NIS szervereken szabad futnia, mivel ez maga
a NIS szerver programja. Ha az &man.ypserv.8;
leáll, akkor a szerver nem lesz képes
tovább kiszolgálni a NIS
kéréseket (szerencsére az
alárendelt szerverek képesek
átvenni ezeket). A NIS bizonyos
változatai (de nem az, amelyik a &os;-ben is
megjelenik) nem próbálnak meg más
szerverekhez csatlakozni, ha bedöglik az
aktuális használt szerver. Ezen gyakran
egyedül csak a szervert képviselõ
program (vagy akár az egész szerver)
újraindítása segíthet,
illetve az ypbind
újraindítása a kliensen.rpc.yppasswddEz egy olyan program, amelyet csak a NIS
központi szerverein kell csak futtatni. Ez a
démon a NIS kliensek számára a NIS
jelszavaik megváltoztatását teszi
lehetõvé. Ha ez a démon nem fut,
akkor a felhasználók csak úgy
tudják megváltoztatni a jelszavukat, ha
bejelentkeznek a központi NIS szerverre.Hogyan mûködik?A NIS környezetekben háromféle gép
létezik: a központi szerverek, az alárendelt
szerverek és a kliensek. A szerverek képezik a
gépek konfigurációs
információinak központi
tárhelyét. A központi szerverek
tárolják ezen információk hiteles
másolatát, míg ezt az alárendelt
szerverek redundánsan tükrözik. A kliensek a
szerverekre támaszkodnak ezen információk
beszerzéséhez.Sok állomány tartalma megosztható ezen
a módon. Például a
master.passwd, a group
és hosts állományokat
meg szokták osztani NFS-en. Amikor a kliensen
futó valamelyik programnak olyan
információra lenne szüksége, amely
általában ezekben az állományokban
nála megtalálható lenne, akkor helyette a
NIS szerverhez fordul.A gépek típusaiNISközponti szerverA központi NIS szerver. Ez
a szerver, amely leginkább a &windowsnt;
elsõdleges
tartományvezérlõjéhez
hasonlítható tartja karban az összes,
NIS kliensek által használt
állományt. A passwd,
group, és összes
többi ehhez hasonló állomány
ezen a központi szerveren található
meg.Egy gép akár több NIS
tartományban is lehet központi szerver.
Ezzel a lehetõséggel viszont itt most nem
foglalkozunk, mivel most csak egy viszonylag kis
méretû NIS környezetet
feltételezünk.NISalárendelt szerverAz alárendelt NIS
szerverek. A &windowsnt; tartalék
tartományvezérlõihez
hasonlítanak, és az alárendelt NIS
szerverek feladata a központi NIS szerveren
tárolt adatok másolatainak
karbantartása. Az alárendelt NIS szerverek
a redundancia megvalósításában
segítenek, aminek leginkább a fontosabb
környezetekben van szerepe. Emellett a központi
szerver terhelésének
kiegyenlítését is elvégzik. A
NIS kliensek elsõként mindig ahhoz a NIS
szerverhez csatlakoznak, amelytõl elõször
választ kapnak, legyen akár az egy
alárendelt szerver.NISkliensA NIS kliensek. A NIS kliensek,
hasonlóan a &windowsnt;
munkaállomásokhoz, a NIS szerveren (amely a
&windowsnt; munkaállomások esetében a
tartományvezérlõ) keresztül
jelentkeznek be.A NIS/YP használataEbben a szakaszban egy példa NIS környezetet
állítunk be.TervezésTegyük fel, hogy egy aprócska egyetemi labor
rendszergazdái vagyunk. A labor, mely 15 &os;-s
gépet tudhat magáénak, jelen pillanatban
még semmilyen központosított
adminisztráció nem létezik. Mindegyik
gép saját /etc/passwd
és /etc/master.passwd
állománnyal rendelkezik. Ezeket az
állományokat saját kezûleg kell
szinkronban tartani. Tehát ha most felveszünk egy
felhasználót a laborhoz, akkor az
adduser parancsot mind a 15 gépen ki
kell adni. Egyértelmû, hogy ez így nem
maradhat, ezért úgy döntöttük,
hogy a laborban NIS-t fogunk használni, és
két gépet kinevezünk szervernek.Az iméntieknek megfelelõen a labor most
valahogy így néz ki:A gép neveIP-címA gép szerepeellington10.0.0.2központi NIScoltrane10.0.0.3alárendelt NISbasie10.0.0.4tanszéki munkaállomásbird10.0.0.5kliensgépcli[1-11]10.0.0.[6-17]a többi kliensgépHa még nincs tapasztalatunk a NIS rendszerek
összeállításában, akkor
elõször jó ötlet lehet
végiggondolni, miként is akarjuk
kialakítani. A hálózatunk
méretétõl függetlenül is akadnak
olyan döntések, amelyeket mindenképpen meg
kell hoznunk.A NIS tartománynév
megválasztásaNIStartománynévEz nem az a tartománynév,
amit megszokhattunk. Ennek a pontos neve NIS
tartománynév. Amikor a kliensek
kérnek valamilyen információt, akkor
megadják annak a NIS tartománynak a
nevét is, amelynek részei. Így tud egy
hálózaton több szerver arról
dönteni, hogy melyikük melyik kérést
válaszolja meg. A NIS által használt
tartománynévre tehát inkább
úgy érdemes gondolni, mint egy valamilyen
módon összetartozó gépek
közös nevére.Elõfordul, hogy egyes szervezetek az interneten is
nyilvántartott tartománynevüket
választják NIS tartománynévnek.
Ez alapvetõen nem ajánlott, mivel a
hálózati problémák
felderítése közben
félreértéseket szülhet. A NIS
tartománynévnek a hálózatunkon
belül egyedinek kell lennie, és lehetõleg
minél jobban írja le az általa
csoportba sorolt gépeket. Például a
Kis Kft. üzleti osztályát tegyük a
kis-uzlet NIS tartományba. Ebben a
példában most a
proba-tartomany nevet
választottuk.SunOSA legtöbb operációs rendszer azonban
(köztük a &sunos;) a NIS tartománynevet
használja internetes
tartománynévként is. Ha a
hálózatunkon egy vagy több ilyen
gép is található, akkor a NIS
tartomány nevének az internetes
tartománynevet kell
megadnunk.A szerverek fizikai elvárásaiNem árt néhány dolgot fejben
tartani, amikor a NIS szervernek használt
gépet kiválasztjuk. Az egyik ilyen
szerencsétlen dolog az a szintû
függõség, ami a NIS kliensek felõl
megfigyelhetõ a szerverek felé. Ha egy kliens
nem tudja a NIS tartományon belül felvenni a
kapcsolatot valamelyik szerverrel, akkor az a gép
könnyen megbízhatatlanná válhat.
Felhasználói- és
csoportinformációk nélkül a
legtöbb rendszer egy idõre le is merevedik. Ennek
figyelembevételével tehát olyan
gépet kell szervernek választanunk, amelyet
nem kell gyakran újraindítani, és nem
végzünk rajta semmilyen komoly munkát. A
célnak legjobban megfelelõ NIS szerverek
valójában olyan gépek, amelyek
egyedüli feladata csak a NIS kérések
kiszolgálása. Ha a hálózatunk
nem annyira leterhelt, akkor még a NIS szerver
mellett más programokat is futtathatunk, de ne
feledjük, hogy ha a NIS szolgáltatás
megszûnik, akkor az az összes
NIS kliensen éreztetni fogja kedvezõtlen
hatását.A NIS szerverekA NIS rendszerben tárolt összes
információ általános
példánya egyetlen gépen
található meg, amelyet a központi NIS
szervernek hívunk. Az információk
tárolására szánt adatbázis
pedig NIS táblázatoknak (NIS map) nevezzük.
&os; alatt ezek a táblázatok a
/var/yp/tartománynév
könyvtárban találhatóak, ahol a
tartománynév
a kiszolgált NIS tartományt nevezi meg.
Egyetlen NIS szerver egyszerre akár több
tartományt is kiszolgálhat, így itt
több könyvtár is található,
minden támogatott tartományhoz egy. Minden
tartomány saját, egymástól
független táblázatokkal rendelkezik.A központi és alárendelt NIS szerverek
az ypserv démon
segítségével dolgozzák fel a NIS
kéréseket. Az ypserv
felelõs a NIS kliensektõl befutó
kérések fogadásáért,
és a kért tartomány valamint
táblázat nevébõl meghatározza
az adatbázisban tárolt állományt,
majd innen visszaküldi a hozzátartozó
adatot a kliensnek.A központi NIS szerver
beállításaNISszerver
beállításaA központi NIS szerver
beállítása viszonylag
magától értetõdõ, de a
nehézségét az igényeink
szabják meg. A &os; alapból támogatja
a NIS használatát. Ezért
mindössze annyit kell tennünk, hogy a
következõ sorokat betesszük az
/etc/rc.conf állományba,
és a &os; gondoskodik a többirõl.nisdomainname="proba-tartomany"
Ez a sor adja meg a hálózati
beállítások (vagy
például az
újraindítás) során a NIS
tartomány nevét, amely a korábbiak
szerint itt most a
proba-tartomany.nis_server_enable="YES"
Ezzel utasítjuk a &os;-t, hogy a
hálózati alkalmazások
következõ indításakor a NIS
szervert is aktiválja.nis_yppasswdd_enable="YES"
Ezzel engedélyezzük az
rpc.yppasswdd démont, amely a
korábban említettek szerint
lehetõvé teszi a felhasználók
számára, hogy a közvetlenül a
kliensekrõl változtassák meg a NIS
jelszavukat.A konkrét NIS
beállításainktól
függõen további bejegyzések
felvételére is szükségünk
lehet. Erre késõbb még az olyan NIS
szervereknél, amelyek egyben NIS kliensek,
vissza fogunk térni.Most mindössze annyit kell tennünk, hogy
rendszeradminisztrátorként kiadjuk az
/etc/netstart parancsot. Az
/etc/rc.conf állományban
szereplõ adatok alapján mindent
beállít magától.A NIS táblázatok
inicializálásaNIStáblázatokA NIS táblázatok
lényegében a /var/yp
könyvtárban tárolt adatbázisok. A
központi NIS szerver /etc
könyvtárában található
konfigurációs
állományokból
állítódnak elõ, egyetlen
kivétellel: ez az
/etc/master.passwd
állomány. Ennek megvan a maga oka, hiszen nem
akarjuk a root és az összes
többi fontosabb felhasználóhoz
tartozó jelszót az egész NIS
tartománnyal megosztani. Ennek megfelelõen a
NIS táblázatok
inicializálásához a
következõt kell tennünk:&prompt.root; cp /etc/master.passwd /var/yp/master.passwd
&prompt.root; cd /var/yp
&prompt.root; vi master.passwdEl kell távolítanunk az összes
rendszerszintû (bin,
tty, kmem,
games, stb), és minden olyan
egyéb hozzáférést, amelyeket nem
akarjuk közvetíteni a NIS kliensek felé
(például a root és
minden más nullás, vagyis
rendszeradminisztrátori azonosítóval
ellátott hozzáférést).Gondoskodjunk róla, hogy az
/var/yp/master.passwd
állomány sem a csoport, sem pedig
bárki más számára nem
olvasható (600-as engedély)! Ennek
beállításához
használjuk az chmod parancsot,
ha szükséges.Tru64 UNIXHa végeztünk, akkor már
tényleg itt az ideje inicializálni NIS
táblázatainkat. A &os; erre egy
ypinit nevû szkriptet ajánl
fel (errõl a saját man oldalán tudhatunk
meg többet). Ez a szkript egyébként a
legtöbb &unix; típusú
operációs rendszeren
megtalálható, de nem az összesen. A
Digital UNIX/Compaq Tru64 UNIX rendszereken ennek a neve
ypsetup. Mivel most a központi NIS
szerver táblázatait hozzuk létre,
azért az ypinit szkriptnek
át kell adnunk a opciót
is. A NIS táblázatok
elõállításánál
feltételezzük, hogy a fentebb ismertetett
lépéseket már megtettük, majd
kiadjuk ezt a parancsot:ellington&prompt.root; ypinit -m proba-tartomany
Server Type: MASTER Domain: proba-tartomany
Creating an YP server will require that you answer a few questions.
Questions will all be asked at the beginning of the procedure.
Do you want this procedure to quit on non-fatal errors? [y/n: n] n
Ok, please remember to go back and redo manually whatever fails.
If you don't, something might not work.
At this point, we have to construct a list of this domains YP servers.
rod.darktech.org is already known as master server.
Please continue to add any slave servers, one per line. When you are
done with the list, type a <control D>.
master server : ellington
next host to add: coltrane
next host to add: ^D
The current list of NIS servers looks like this:
ellington
coltrane
Is this correct? [y/n: y] y
[ .. a táblázatok generálása .. ]
NIS Map update completed.
ellington has been setup as an YP master server without any errors.Az üzenetek fordítása:A szerver típusa: KÖZPONTI, tartomány: proba-tartomany
Az YP szerver létrehozásához meg kell válaszolni néhány kérdést az
eljárás megkezdése elõtt.
Szeretnénk, ha az eljárás megszakadna a nem végzetes hibák esetén is? [i/n: n] n
Rendben, akkor ne felejtsük el manuálisan kijavítani a hibát, ha
valamivel gond lenne. Ha nem tesszük meg, akkor elõfordulhat, hogy
valami nem fog rendesen mûködni. Most össze kell állítanunk egy listát
a tartomány YP szervereirõl.
Jelenleg a rod.darktech.org a központi szerver.
Kérjünk, adjon meg további alárendelt szervereket, soronként egyet.
Amikor ezt befejeztük, a <control D> lenyomásával tudunk
kilépni.
központi szerver : ellington
következõ gép : coltrane
következõ gép : ^D
A NIS szerverek listája jelenleg a következõ:
ellington
coltrane
Ez megfelelõ? [i/n: i] i
[ .. a táblázatok generálása .. ]
A NIS táblázatok sikeressen frissültek.
Az elligon szervert minden hiba nélkül sikerült központi szerverként
beállítani.Az ypinit a
/var/yp/Makefile.dist
állományból létrehozza a
/var/yp/Makefile
állományt. Amennyiben ez
létrejött, az állomány
feltételezi, hogy csak &os;-s gépek
részvételével akarunk
kialakítani egy egyszerveres NIS környezetet.
Mivel a proba-tartomany még egy
alárendelt szervert is tartalmaz, ezért
át kell írnunk a
/var/yp/Makefile
állományt:ellington&prompt.root; vi /var/yp/MakefileEzt a sort kell megjegyzésbe tennünk:NOPUSH = "True"(ha még nem lenne úgy).Az alárendelt NIS szerverek
beállításaNISalárendelt szerverAz alárendelt NIS szerverek
beállítása még a
központinál is egyszerûbb.
Jelentkezzünk be az alárendelt szerverre
és az eddigieknek megfelelõen írjuk
át az /etc/rc.conf
állományt. Az egyetlen
különbség ezúttal csupán
annyi lesz, hogy az ypinit
lefuttatásakor a opciót
kell megadnunk (mint slave, vagyis alárendelt). A
opció használatához
a központi NIS szerver nevét is át kell
adnunk, ezért a konkrét parancs valahogy
így fog kinézni:coltrane&prompt.root; ypinit -s ellington proba-tartomany
Server Type: SLAVE Domain: test-domain Master: ellington
Creating an YP server will require that you answer a few questions.
Questions will all be asked at the beginning of the procedure.
Do you want this procedure to quit on non-fatal errors? [y/n: n] n
Ok, please remember to go back and redo manually whatever fails.
If you don't, something might not work.
There will be no further questions. The remainder of the procedure
should take a few minutes, to copy the databases from ellington.
Transferring netgroup...
ypxfr: Exiting: Map successfully transferred
Transferring netgroup.byuser...
ypxfr: Exiting: Map successfully transferred
Transferring netgroup.byhost...
ypxfr: Exiting: Map successfully transferred
Transferring master.passwd.byuid...
ypxfr: Exiting: Map successfully transferred
Transferring passwd.byuid...
ypxfr: Exiting: Map successfully transferred
Transferring passwd.byname...
ypxfr: Exiting: Map successfully transferred
Transferring group.bygid...
ypxfr: Exiting: Map successfully transferred
Transferring group.byname...
ypxfr: Exiting: Map successfully transferred
Transferring services.byname...
ypxfr: Exiting: Map successfully transferred
Transferring rpc.bynumber...
ypxfr: Exiting: Map successfully transferred
Transferring rpc.byname...
ypxfr: Exiting: Map successfully transferred
Transferring protocols.byname...
ypxfr: Exiting: Map successfully transferred
Transferring master.passwd.byname...
ypxfr: Exiting: Map successfully transferred
Transferring networks.byname...
ypxfr: Exiting: Map successfully transferred
Transferring networks.byaddr...
ypxfr: Exiting: Map successfully transferred
Transferring netid.byname...
ypxfr: Exiting: Map successfully transferred
Transferring hosts.byaddr...
ypxfr: Exiting: Map successfully transferred
Transferring protocols.bynumber...
ypxfr: Exiting: Map successfully transferred
Transferring ypservers...
ypxfr: Exiting: Map successfully transferred
Transferring hosts.byname...
ypxfr: Exiting: Map successfully transferred
coltrane has been setup as an YP slave server without any errors.
Don't forget to update map ypservers on ellington.Most már lennie kell egy
/var/yp/proba-tartomany nevû
könyvtárunknak is. A központi NIS szerver
táblázatainak másolata itt fognak
tárolódni. Ezeket soha ne felejtsük el
frissen tartani. Az alárendelt szervereken a
következõ /etc/crontab
bejegyzések pontosan ezt a feladatot
látják el:20 * * * * root /usr/libexec/ypxfr passwd.byname
21 * * * * root /usr/libexec/ypxfr passwd.byuidEz a két sor gondoskodik róla, hogy az
alárendelt szerverek ne felejtsék el
egyeztetni a táblázataikat a központi
szerver táblázataival. Habár ezek a
bejegyzések nem nélkülözhetetlenek a
megfelelõ mûködéshez, mivel a
központi szerver mindig igyekszik az alárendelt
szervereknek elküldeni a NIS
táblázataiban létrejött
változásokat. Mivel azonban a jelszavak
létfontosságúak a szervertõl
függõ rendszerek számára,
ezért jó ötlet lehet explicit
módon is elõírni a
frissítést. Ez a forgalmasabb
hálózatokon nagyobb jelentõséggel
bír, mivel ott a táblázatok
frissítése nem mindig fejezõdik be
rendesen.Most pedig futassuk le a
/etc/netstart parancsot az
alárendelt szervereken is, amivel így elindul
a NIS szerver.A NIS kliensekA NIS kliens az ypbind démon
segítségével egy kötésnek
(bind) nevezett kapcsolatot épít ki egy adott
NIS szerverrel. Az ypbind ellenõrzi a
rendszer alapértelmezett tartományát (ezt
a domainname paranccsal
állítottunk be), majd RPC
kéréseket kezd szórni a helyi
hálózaton. Ezek a kérések annak a
tartománynak a nevét tartalmazzák,
amelyhez az ypbind megpróbál
kötést létrehozni. Ha az adott
tartomány kiszolgálására
beállított szerver észleli ezeket a
kéréseket, akkor válaszol az
ypbind démonnak, amely pedig
feljegyzi a szerver címét. Ha több szerver
is elérhetõ (például egy
központi és több alárendelt), akkor az
ypbind az elsõként
válaszoló címét fogja
rögzíteni. Innentõl kezdve a kliens
közvetlenül ennek a szervernek fogja küldeni a
NIS kéréseit. Az ypbind
idõnként megpingeli a szervert,
hogy meggyõzõdjön az
elérhetõségérõl. Ha az
ypbind egy adott idõn belül nem
kap választ a ping kéréseire, akkor
megszünteti a kötést a tartományhoz
és nekilát keresni egy másik
szervert.A NIS kliensek beállításaNISa kliensek beállításaEgy &os;-s gépet NIS kliensként
meglehetõsen egyszerûen lehet
beállítani.Nyissuk meg az /etc/rc.conf
állományt és a NIS
tartománynév
beállításához, valamint az
ypbind
elindításához a
következõket írjuk bele:nisdomainname="proba-tartomany"
nis_client_enable="YES"A NIS szerveren található jelszavak
importálásához
távolítsuk el az összes
felhasználói
hozzáférést az
/etc/master.passwd
állományunkból és a
vipw
segítségével adjuk hozzá az
alábbi sort az állomány
végéhez:+:::::::::Ez a sor beenged bárkit a
rendszerünkre, akinek a NIS szervereken van
érvényes
hozzáférése. A NIS klienseket
ezzel a sorral sokféle módon tudjuk
állítani. A hálózati
csoportokról szóló
szakaszban találunk majd errõl
több információt. A téma
mélyebb megismeréséhez az
O'Reilly Managing NFS and NIS
címû könyvét
ajánljuk.Legalább helyi
hozzáférést (vagyis amit nem
NIS-en keresztül importálunk) azonban
mindenképpen hagyjunk meg az
/etc/master.passwd
állományunkban, és ez a
hozzáférés legyen a
wheel csoport tagja. Ha valami
gond lenne a NIS használatával, akkor
ezen a hozzáférésen
keresztül tudunk a gépre
távolról bejelentkezni, majd innen
root felhasználóra
váltva megoldani a felmerült
problémákat.A NIS szerverrõl az összes
lehetséges csoport-bejegyzést az
/etc/group
állományban így tudjuk
importálni:+:*::Miután elvégeztük ezeket a
lépéseket, képesek leszünk
futtatni az ypcat passwd parancsot,
és látni a NIS szerver jelszavakat
tartalmazó táblázatát.A NIS biztonságaÁltalában tetszõleges távoli
felhasználó küldhet RPC
kéréseket az &man.ypserv.8; számára
és kérheti le a NIS táblázatok
tartalmát, feltéve, hogy ismeri a tartomány
nevét. Az ilyen hitelesítés
nélküli mûveletek ellen az &man.ypserv.8;
úgy védekezik, hogy tartalmaz egy
securenets nevû lehetõséget,
amellyel az elérhetõségüket tudjuk
leszûkíteni gépek egy csoportjára. Az
&man.ypserv.8; indításakor ezeket az
információkat a
/var/yp/securenets
állományból próbálja meg
betölteni.Az elérési útvonala megadható
a opció
használatával. Ez az állomány
olyan bejegyzéseket tartalmaz, amelyekben egy
hálózati cím és tõle
láthatatlan karakterekkel elválasztva egy
hálózati maszk szerepel. A #
karakterrel kezdõdõ sorokat megjegyzésnek
nyilvánítjuk. Egy minta securenets
állomány valahogy így nézne
ki:# Engedélyezzük önmagunkról a csatlakozást -- kell!
127.0.0.1 255.255.255.255
# Engedélyezzük a 192.168.128.0 hálózatról érkezõ csatlakozásokat:
192.168.128.0 255.255.255.0
# Engedélyezzük a laborban található 10.0.0.0 és 10.0.15.255 közti
# címekkel rendelkezõ gépek csatlakozását:
10.0.0.0 255.255.240.0Ha az &man.ypserv.8; olyan címrõl kap
kérést, amely illeszkedik az elõírt
címek valamelyikére, akkor a szokásos
módon feldolgozza azt. Ellenkezõ esetben a
kérést figyelmen kívül hagyja
és egy figyelmeztetést vesz fel hozzá a
naplóba. Ha a /var/yp/securenets
állomány nem létezik, akkor az
ypserv tetszõleges géprõl
engedélyezi a csatlakozást.Az ypserv lehetõséget ad a
Wietse Venema által fejlesztett TCP
Wrapper csomag használatára is.
Ezzel a rendszergazda a /var/yp/securenets
állomány helyett a TCP
Wrapper konfigurációs
állományai alapján képes
szabályozni az elérhetõséget.Miközben mind a két módszer
nyújt valamilyen fajta védelmet, de a
privilegizált portok teszteléséhez
hasonlóan az IP
álcázásával (IP spoofing)
sebezhetõek. Ezért az összes NIS-hez
tartozó forgalmat tûzfallal kell
blokkolnunk.Az /var/yp/securenets
állományt használó szerverek nem
képesek az elavult TCP/IP
implementációkat használó
érvényes klienseket rendesen kiszolgálni.
Egyes ilyen implementációk a címben a
géphez tartozó biteket nullára
állítják az
üzenetszóráshoz, és/vagy
ezért az üzenetszóráshoz
használt cím kiszámításakor
nem tudja észleli a hálózati maszkot. A
legtöbb ilyen probléma megoldható a kliens
konfigurációjának
megváltoztatásával, míg más
problémák megoldása a
kérdéses kliensek
nyugdíjazását
kívánják meg, vagy a
/var/yp/securenets
használatának elhagyását.Egy régebbi TCP/IP implementációval
üzemelõ szerveren pedig a
/var/yp/securenets állomány
használata kifejezetten rossz ötlet, és a
hálózatunk nagy részében
képes használhatatlanná tenni a NIS
funkcióit.TCP wrapperekA TCP Wrapper csomag
alkalmazása a NIS szerverünk
válaszadáshoz szükséges
idejét is segít csökkenteni. Az ilyenkor
jelentkezõ plusz késlekedés mellesleg
elég nagy lehet ahhoz, hogy a klienseknél
idõtúllépés következzen be,
különösen a terheltebb
hálózatokon vagy a lassú NIS szerverek
esetében. Ha egy vagy több kliensünk is
ilyen tüneteket mutat, akkor érdemes a
kérdéses kliens rendszereket alárendelt
NIS szerverekké alakítani és
önmagukhoz rendelni.Egyes felhasználók
bejelentkezésének
megakadályozásaA laborunkban van egy basie nevû
gép, amely a tanszék egyetlen
munkaállomása. Ezt a gépet nem akarjuk
kivenni a NIS tartományból, de a központi NIS
szerver passwd állománya
mégis egyaránt tartalmazza a hallgatók
és az oktatók eléréseit. Mit lehet
ilyenkor tenni?Adott felhasználók esetében le tudjuk
tiltani a bejelentkezést a gépen még
olyankor is, ha léteznek a NIS
adatbázisában. Ehhez mindössze a kliensen az
/etc/master.passwd állomány
végére be kell tennünk egy
-felhasználónév
sort, ahol a
felhasználónév
annak a felhasználónak a neve, akit nem akarunk
beengedni a gépre. Ezt leginkább a
vipw használatán keresztül
érdemes megtennünk, mivel a vipw
az /etc/master.passwd
állomány alapján végez némi
ellenõrzést, valamint a szerkesztés
befejeztével magától
újragenerálja a jelszavakat tároló
adatbázist. Például, ha a
bill nevû felhasználót
ki akarjuk tiltani a basie nevû
géprõl, akkor:basie&prompt.root; vipw[vegyük fel a -bill sort a végére, majd lépjünk ki]
vipw: rebuilding the database...
vipw: done
basie&prompt.root; cat /etc/master.passwd
root:[jelszó]:0:0::0:0:The super-user:/root:/bin/csh
toor:[jelszó]:0:0::0:0:The other super-user:/root:/bin/sh
daemon:*:1:1::0:0:Owner of many system processes:/root:/sbin/nologin
operator:*:2:5::0:0:System &:/:/sbin/nologin
bin:*:3:7::0:0:Binaries Commands and Source,,,:/:/sbin/nologin
tty:*:4:65533::0:0:Tty Sandbox:/:/sbin/nologin
kmem:*:5:65533::0:0:KMem Sandbox:/:/sbin/nologin
games:*:7:13::0:0:Games pseudo-user:/usr/games:/sbin/nologin
news:*:8:8::0:0:News Subsystem:/:/sbin/nologin
man:*:9:9::0:0:Mister Man Pages:/usr/share/man:/sbin/nologin
bind:*:53:53::0:0:Bind Sandbox:/:/sbin/nologin
uucp:*:66:66::0:0:UUCP pseudo-user:/var/spool/uucppublic:/usr/libexec/uucp/uucico
xten:*:67:67::0:0:X-10 daemon:/usr/local/xten:/sbin/nologin
pop:*:68:6::0:0:Post Office Owner:/nonexistent:/sbin/nologin
nobody:*:65534:65534::0:0:Unprivileged user:/nonexistent:/sbin/nologin
+:::::::::
-bill
basie&prompt.root;UdoErdelhoffKészítette: A hálózati csoportok
alkalmazásahálózati
csoportokAz elõzõ szakaszban ismertetett módszer
viszonylag jól mûködik olyan esetekben, amikor
nagyon kevés felhasználóra és/vagy
számítógépre kell alkalmaznunk
speciális megszorításokat. A nagyobb
hálózatokban szinte biztos,
hogy elfelejtünk kizárni egyes
felhasználókat az érzékeny
gépekrõl, vagy az összes gépen
egyenként kell ehhez a megfelelõ
beállításokat elvégezni, és
ezzel lényegében elvesztjük a NIS
legfontosabb elõnyét, vagyis a
központosított
karbantarthatóságot.A NIS fejlesztõi erre a problémára a
hálózati csoportokat
létrehozásával válaszoltak. A
céljuk és mûködésük
szempontjából leginkább a &unix;-os
állományrendszerekben található
csoportokhoz mérhetõek. A legnagyobb
eltérés a numerikus azonosítók
hiányában mutatkozik meg, valamint a
hálózati csoportokat a
felhasználókon kívül további
hálózati csoportok megadásával is ki
lehet alakítani.A hálózati csoportok a nagyobb, bonyolultabb,
többszáz felhasználós
hálózatok számára jöttek
létre. Egy részrõl ez nagyon jó
dolog, különösen akkor, ha egy ilyen helyzettel
kell szembenéznünk. Másrészrõl
ez a mértékû bonyolultság szinte
teljesen lehetetlenné teszi a hálózati
csoportok egyszerû bemutatását. A szakasz
további részében használt
példa is ezt a problémát igyekszik
illusztrálni.Tételezzük fel, hogy laborunkban a NIS sikeres
bevezetése felkeltette a fõnökeink
figyelmét. Így a következõ feladatunk
az lett, hogy terjesszük ki a NIS tartományt az
egyetemen található néhány
másik gépre is. Az alábbi két
táblázatban az új
felhasználók és az új
számítógép neveit találjuk,
valamint a rövid leírásukat.Felhasználók neveiLeírásalpha,
betaaz IT tanszék hétköznapi
dolgozóicharlie,
deltaaz IT tanszék újdonsült
dolgozóiecho,
foxtrott, golf,
...átlagos dolgozókable,
baker, ...ösztöndíjasokGépek neveiLeíráshaboru, halal,
ehseg, szennyezesA legfontosabb szervereink. Csak az IT
tanszék dolgozói férhetnek
hozzájuk.buszkeseg,
kapzsisag, irigyseg,
harag, bujasag,
lustasagKevésbé fontos szerverek. Az IT
tankszék összes tagja el tudja érni
ezeket a gépeket.egy, ketto,
harom, negy,
...Átlagos munkaállomások.
Egyedül csak a valódi
dolgozók jelentkezhetnek be ezekre a
gépekre.szemetesEgy nagyon régi gép, semmi
értékes adat nincs rajta. Akár
még az öszöndíjasok is
nyúzhatják.Ha ezeket az igényeket úgy
próbáljuk meg teljesíteni, hogy a
felhasználókat egyenként blokkoljuk, akkor
minden rendszer passwd
állományába külön fel kell
vennünk a
-felhasználó
sorokat a letiltott felhasználókhoz. Ha csak
egyetlen bejegyzést is kihagyunk, akkor könnyen
bajunk származhat belõle. Ez a rendszer kezdeti
beállítása során még
talán nem okoz gondot, de az új
felhasználókat biztosan el
fogjuk felejteni felvenni a megfelelõ csoportokba.
Elvégre Murphy is optimista volt.A hálózati csoportok használata ilyen
helyzetekben számos elõnyt rejt. Nem kell az egyes
felhasználókat külön felvenni, egy
felhasználót felveszünk valamelyik csoportba
vagy csoportokba, és a csoportok összes
tagjának egyszerre tudjuk tiltani vagy
engedélyezni a hozzáféréseket. Ha
hozzáadunk egy új gépet a
hálózatunkhoz, akkor mindössze a
hálózati csoportok bejelentkezési
korlátozásait kell beállítani. Ha
új felhasználót veszünk fel, akkor a
felhasználót kell vennünk egy vagy több
hálózati csoportba. Ezek a
változtatások függetlenek
egymástól, és nincs szükség
minden felhasználó és minden
gép összes
kombinációjára. Ha a NIS
beállításainkat elõzetesen
körültekintõen megterveztük, akkor egyetlen
központi konfigurációs
állományt kell módosítani a
gépek elérésének
engedélyezéséhez vagy
tiltásához.Az elsõ lépés a hálózati
csoportokat tartalmazó NIS táblázat
inicializálása. A &os; &man.ypinit.8; programja
alapértelmezés szerint nem hozza létre ezt
a táblázatot, de ha készítünk
egy ilyet, akkor a NIS implementációja
képes kezelni. Egy ilyen üres
táblázat
elkészítéséhez ennyit kell
begépelni:ellington&prompt.root; vi /var/yp/netgroupEzután elkezdhetjük felvenni a tartalmát.
A példánk szerint legalább négy
hálózati csoportot kell csinálnunk: az IT
dolgozóinak, az IT új dolgozóinak, a
normál dolgozóknak és az
öszöndíjasoknak.IT_DOLG (,alpha,proba-tartomany) (,beta,proba-tartomany)
IT_UJDOLG (,charlie,proba-tartomany) (,delta,proba-tartomany)
FELHASZNALO (,echo,proba-tartomany) (,foxtrott,proba-tartomany) \
(,golf,proba-tartomany)
OSZTONDIJAS (,able,proba-tartomany) (,baker,proba-tartomany)Az IT_DOLG, IT_UJDOLG
stb. a hálózati csoportok nevei lesznek. Minden
egyes zárójelezett csoport egy vagy több
felhasználói hozzáférést
tartalmaz. A csoportokban szereplõ három mezõ
a következõ:Azon gépek neve, amelykre a következõ
elemek érvényesek. Ha itt nem adunk meg
neveket, akkor a bejegyzés az összes
gépre vonatkozik. Ha megadjuk egy gép
nevét, akkor jutalmunk a teljes
sötétség, a rettegetés és
totális megtébolyodás.A csoporthoz tartozó
hozzáférés neve.A hozzáféréshez
kapcsolódó NIS tartomány. A csoportba
más NIS tartományokból is át
tudunk hozni hozzáféréseket, ha
netalán éppen olyan szerencsétlenek
lennénk, hogy több NIS tartományt is
felügyelnünk kell.A mezõk mindegyike tartalmazhat
dzsókerkaraktereket. Errõl részletesebben a
&man.netgroup.5; man oldalon olvashatunk.hálózati
csoportokA hálózati csoportoknak lehetõleg ne
adjunk 8 karakternél hosszabb nevet,
különösen abban az esetben, ha a NIS
tartományban más operációs
rendszereket is használunk. A nevekben eltérnek
a kis- és nagybetûk. Ha a hálózati
csoportokat nevét nagybetûkkel írjuk, akkor
könnyen különbséget tudunk tenni a
felhasználók, gépek és
hálózati csoportok nevei
között.Egyes (nem &os; alapú) NIS kliensek nem
képesek kezelni a nagyon sok bejegyzést
tartalmazó hálózati csoportokat.
Például a &sunos; néhány
korábbi verziója fennakad rajta, ha egy
hálózati csoport 15
bejegyzésnél többet
tartalmaz. Az ilyen korlátozások alól
úgy tudunk kibújni, ha 15
felhasználónként újabb
hálózati csoportokat hozunk létre,
amelyekkel az eredeti hálózati csoportot
építjük fel:NAGYCSP1 (,joe1,tartomany) (,joe2,tartomany) (,joe3,tartomany) [...]
NAGYCSP2 (,joe16,tartomany) (,joe17,tartomany) [...]
NAGYCSP3 (,joe31,tartomany) (,joe32,tartomany)
NAGYCSOPORT NAGYCSP1 NAGYCSP2 NAGYCSP3Ugyanez a folyamat javasolt olyan esetekben is, ahol 225
felhasználónál többre lenne
szükség egyetlen hálózati csoporton
belül.Az így létrehozott új NIS
táblázat szétküldése
meglehetõsen könnyû feladat:ellington&prompt.root; cd /var/yp
ellington&prompt.root; makeEz a parancs létrehoz három NIS
táblázatot: netgroup,
netgroup.byhost és
netgroup.byuser. Az &man.ypcat.1;
paranccsal ellenõrizni is tudjuk az új NIS
táblázatainkat:ellington&prompt.user; ypcat -k netgroup
ellington&prompt.user; ypcat -k netgroup.byhost
ellington&prompt.user; ypcat -k netgroup.byuserAz elsõ parancs kimenete a
/var/yp/netgroup állomány
tartalmára emlékeztethet minket. A második
parancsnak nincs semmilyen kimenete, hacsak nem adtunk meg
valamilyen gépfüggõ hálózati
csoportot. A harmadik parancs a hálózati
csoportokat listázza ki a
felhasználókhoz.A kliensek beállítása tehát
nagyon egyszerû. A haboru nevû
szerver beállításához
indítsuk el a &man.vipw.8; programot, és
cseréljük a+:::::::::sort erre:+@IT_DOLG:::::::::Innentõl kezdve kizárólag csak az
IT_DOLG csoportban található
felhasználók fognak bekerülni a
haboru jelszó
adatbázisába, és csak ezek a
felhasználók tudnak ide bejelentkezni.Sajnos ez a korlátozás a
parancsértelmezõ ~
funkciójára és összes olyan rutinra is
vonatkozik, amelyet a felhasználói nevek és
azok numerikus azonosító között
képez le. Más szóval a cd
~felhasználó
parancs nem fog mûködni, és az ls
-l parancs kimenetében a
felhasználói nevek helyett csak numerikus
azonosítók jelennek meg, továbbá
afind . -user joe -printNo such
user (Nincs ilyen
felhasználó) hibát fog
visszaadni. Ez úgy tudjuk megjavítani, ha
úgy importáljuk a szerverre az összes
felhasználó bejegyzését, hogy
közben tiltjuk a
hozzáférésüket.Ehhez vegyünk fel egy újabb sort az
/etc/master.passwd
állományba. A sor valahogy így fog
kinézni:+:::::::::/sbin/nologin, amely annyit
tesz, hogy importáljuk az összes
bejegyzést, de a hozzájuk tartozó
parancsértelmezõ a
/sbin/nologin legyen. A
passwd állományban
tetszõleges mezõ tartalmát le tudjuk úgy
cserélni, ha megadunk neki egy alapértelmezett
értéket az /etc/master.passwd
állományban.Vigyázzunk, hogy a
+:::::::::/sbin/nologin sort az
+@IT_DOLG::::::::: sor után
írjuk. Ha nem így teszünk, akkor a
NIS-bõl importált összes
felhasználói hozzáférés a
/sbin/nologin
parancsértelmezõt kapja.Miután elvégeztük ezt a
változtatást, minden újabb dolgozó
felvétele után csupán egyetlen
táblázatot kell megváltoztatnunk. Ugyanezt
a taktikát követhetjük a kevésbé
fontosabb szerverek esetében is, hogy ha a helyi
/etc/master.passwd
állományukban a korábbi
+::::::::: bejegyzést valami
ilyesmivel helyettesítjük:+@IT_DOLG:::::::::
+@IT_UJDOLG:::::::::
+:::::::::/sbin/nologinAz egyszerû munkaállomások
esetében pedig ezekre a sorokra lesz
szükségünk:+@IT_DOLG:::::::::
+@FELHASZNALOK:::::::::
+:::::::::/sbin/nologinMinden remekül üzemel egészen addig,
amíg néhány múlva ismét
változik a házirend: az IT tanszékre
ösztöndíjasok érkeznek. Az IT
ösztöndíjasai a munkaállomásokat
és a kevésbé fontosabb szervereket
tudják használni. Az új IT dolgozók
már a központi szerverekre is bejelentkezhetnek.
Így tehát létrehozunk egy új
hálózati csoportot
IT_OSZTONDIJAS néven, majd
felvesszük ide az új IT
ösztöndíjasokat, és nekilátunk
végigzongorázni az összes gép
összes konfigurációs
állományát... Ahogy azonban egy
régi mondás is tartja: A
központosított tervezésben ejtett
hibák teljes káoszhoz vezetnek.A NIS az ilyen helyzeteket úgy igyekszik
elkerülni, hogy megengedi újabb
hálózati csoportok
létrehozását más
hálózati csoportokból. Egyik ilyen
lehetõség a szerep alapú
hálózati csoportok kialakítása.
Például, ha a fontosabb szerverek
bejelentkezési korlátozásai
számára hozzunk létre egy
NAGYSRV nevû csoportot, valamint egy
másik hálózati csoportot
KISSRV néven a kevésbé
fontosabb szerverekhez, végül
MUNKA néven egy harmadik
hálózati csoportot a
munkaállomásokhoz. Mindegyik ilyen
hálózati csoport tartalmazza azokat a csoportokat,
amelyek engedélyezik a gépek
elérését. A hálózati
csoportok leírását tartalmazó NIS
táblázat most valahogy így fog
kinézni:NAGYSRV IT_DOLG IT_UJDOLG
KISSRV IT_DOLG IT_UJDOLG IT_OSZTONDIJAS
MUNKA IT_DOLG IT_OSZTONDIJAS FELHASZNALOKA bejelentkezési megszorítások ilyen
típusú megadása viszonylag jól
mûködik, hogy ha azonos korlátozások
alá esõ gépek csoportjait akarjuk
felírni. Bánatunk ez a kivétel, és
nem a szabály. Az esetek nagy
többségében ugyanis a bejelentkezésre
vonatkozó korlátozásokat
gépenként kell egyesével megadni.A hálózati csoportok gépfüggõ
megadása tehát az iménti házirendhez
társuló igények
kielégítésének egyik módja.
Ebben a forgatókönyvben az
/etc/master.passwd állomány
minden számítógépen két
+-os sorral kezdõdik.
Közülük az elsõ a gépen
engedélyezett hozzáféréseket
tartalmazó hálózati csoportra vonatkozik, a
második pedig az összes többi
hozzáféréshez az
/sbin/nologin parancsértelmezõt
kapcsolja hozzá. Itt jó ötlet, ha a
gép nevének
VÉGIG-NAGYBETÛS
változatát adjuk meg a hozzátartozó
hálózati csoport nevének:+@GÉPNÉV:::::::::
+:::::::::/sbin/nologinMiután elvégeztük ezt a feladatot minden
egyes gépen, az /etc/master.passwd
állomány helyi változatait soha
többé nem kell módosítanunk. Az
összes többi változtatást a NIS
táblázaton keresztül tudjuk keresztül
vinni. Íme a felvázolt
forgatókönyvhöz tartozó
hálózati csoportok
kiépítésének egyik lehetséges
változata, egy-két finomsággal
kiegészítve:# Elõször a felhasználók csoportjait adjuk meg:
IT_DOLG (,alpha,proba-tartomany) (,beta,proba-tartomany)
IT_UJDOLG (,charlie,proba-tartomany) (,delta,proba-tartomany)
TANSZ1 (,echo,proba-tartomany) (,foxtrott,proba-tartomany)
TANSZ2 (,golf,proba-taromany) (,hotel,proba-tartomany)
TANSZ3 (,india,proba-taromany) (,juliet,proba-tartomany)
IT_OSZTONDIJAS (,kilo,proba-tartomany) (,lima,proba-tartomany)
D_OSZTONDIJAS (,able,proba-tartomany) (,baker,proba-tartomany)
#
# Most pedig hozzunk létre csoportokat szerepek szerint:
FELHASZNALOK TANSZ1 TANSZ2 TANSZ3
NAGYSRV IT_DOLG IT_UJDOLG
KISSRV IT_DOLG IT_UJDOLG IT_OSZTONDIJAS
MUNKA IT_DOLG IT_OSZTONDIJAS FELHASZNALOK
#
# Következzenek a speciális feladatokhoz tartozó csoportok:
# Az echo és a golf tudja elérni a vírusvédelemért felelõs gépet:
VEDELEM IT_DOLG (,echo,proba-tartomany) (,golf,proba-tartomany)
#
# Gép alapú hálózati csoportok
# A fõ szervereink:
HABORU NAGYSRV
EHSEG NAGYSRV
# Az india nevû felhasználó hozzá szeretné ehhez férni:
SZENNYEZES NAGYSRV (,india,proba-tartomany)
#
# Ez valóban fontos és komolyan szabályoznunk kell:
HALAL IT_DOLG
#
# Az elõbb említett vírusvédelmi gép:
EGY VEDELEM
#
# Egyetlen felhasználóra korlátozzuk le ezt a gépet:
KETTO (,hotel,proba-tartomany)
# [...és itt folytatódik a többi csoporttal]Ha a felhasználói
hozzáféréseinket valamilyen
adatbázisban tároljuk, akkor a
táblázat elsõ részét
akár az adatbázis lekérdezésein
keresztül is elõ tudjuk állítani. Ezzel
a módszerrel az új felhasználók
automatikusan hozzáférnek a
gépekhez.Legyünk viszont óvatosak: nem mindig javasolt
gépeken alapuló hálózati csoportokat
készíteni. Ha a hallgatói laborokba
egyszerre több tucat vagy akár több száz
azonos konfigurációjú gépet
telepítünk, akkor a gép alapú
csoportok helyett inkább szerep alapú csoportokat
építsünk fel, mivel így a NIS
táblázatok méretét egy
elfogadható méreten tudjuk tartani.Amit feltétlenül észben kell
tartanunkMég mindig akad néhány olyan dolog,
amit másképpen kell csinálnunk
azután, hogy most már NIS környezetben
vagyunk.Amikor egy új felhasználót akarunk
felvenni a laborba, akkor csak a
központi NIS szerverre kell felvennünk, és
újra kell generáltatnunk a NIS
táblázatokat. Ha ezt
elfelejtjük megtenni, akkor az új
felhasználó a központi NIS szerveren
kívül sehova sem lesz képes
bejelentkezni. Például, ha fel akarjuk venni
a jsmith nevû
felhasználót a laborba, akkor ezt kell
tennünk:&prompt.root; pw useradd jsmith
&prompt.root; cd /var/yp
&prompt.root; make proba-tartomanyVagy a pw useradd jsmith parancs
helyett az adduser jsmith parancsot is
használhatjuk.A rendszergazdai szintû
hozzáféréseket ne tároljuk a NIS
táblázatokban. Olyan
gépekre egyáltalán ne is
küldjünk olyan karbantartáshoz
használt hozzáféréseket,
amelynek a felhasználói hivatalosan nem is
férhetnének hozzájuk.A központi NIS szervert és az
alárendelt szervereket óvjuk minél
jobban, és igyekezzünk minimalizálni a
kieséseiket. Ha valaki feltöri vagy
egyszerûen csak kikapcsolja ezeket a gépeket,
akkor ezzel lényegében mindenkit
megakadályoz abban, hogy be tudjon jelentkezni a
laborban.Ezek a központosított
vezérlésû rendszerek legfõbb
gyengeségei. Ha nem védjük kellõen
a NIS szervereinket, akkor azzal nagyon ellenséget
szerezhetünk magunknak!Kompatibilitás a NIS elsõ
változatávalA &os;-ben megtalálható
ypserv szolgáltatás
valamennyire képes ellátni a NIS elsõ
változatát használó klienseket is.
A &os; NIS implementációja csak a NIS v2
protokollt használja, azonban mivel más
implementációk kompatibilisek
kívánnak maradni a régebbi rendszerekkel,
ismerik a v1 protokollt is. Az ilyen rendszerekhez
tartozó ypbind démonok
még olyankor is megpróbálnak v1-es NIS
szerverekhez kötést létrehozni, amikor
valójában nincs is rá
szükségük (és gyakran még akkor
is ilyet keresnek, amikor az üzenetükre már
válaszolt egy v2-es szerver).
Hozzátennénk, hogy bár az
ypserver ezen változata a
normál klienshívásokat képes
feldolgozni, a táblázatokat már nem tudja
átküldeni a v1-es klienseknek. Ebbõl
következik, hogy a központi vagy alárendelt
szerverek nem tudnak együttmûködni olyan NIS
szerverekkel, amelyek csak a v1-es protokollt beszélik.
Szerencsére ilyen szervereket manapság már
alig használnak.NIS szerverek, melyek egyben NIS kliensekÓvatosan kell bánnunk az
ypserv
elindításával olyan többszerveres
tartományokban, ahol a szerverek maguk is NIS kliensek.
Alapvetõen nincs abban semmi kivetnivaló, ha a
szervereket saját magukhoz kötjük ahelyett,
hogy engednénk nekik a kötési
kérések küldését és
így egymáshoz kötnénk ezeket.
Különös hibák tudnak származni
olyan helyzetekben, amikor az egyik szerver leáll,
miközben a többiek pedig függenek tõle.
Végül is ilyenkor minden kliens szépen
kivárja a szükséges idõt, aztán
megpróbál más szerverekhez
kötõdni, de az itt fellépõ
késlekedés jelentõs mennyiségû
lehet, és ez a hibajelenség ismét
fennállhat, mivel elõfordulhat, hogy a szerverek
megint egymáshoz kapcsolódnak.A klienst úgy tudjuk egy adott szerverhez kötni,
ha az ypbind parancsot a
beállítással indítjuk. Ha mindezt
nem akarjuk manuálisan megtenni a NIS szerver minden
egyes újraindításakor, akkor vegyük
fel a következõ sorokat az
/etc/rc.conf
állományba:nis_client_enable="YES" # elindítjuk a klienst is
nis_client_flags="-S NIS tartomány,szerver"Részletesebb lásd az &man.ypbind.8; man
oldalát.A jelszavak formátumaNISjelszavak formátumaA NIS rendszerek kiépítése során
az emberek leggyakrabban a jelszavak formátumával
kapcsolatban tapasztalnak nehézségeket. Ha a
szerverünk DES titkosítású jelszavakat
használ, akkor csak olyan klienseket fog tudni
támogatni, amelyek szintén így
kódolják ezeket. Például, ha a
hálózaton vannak &solaris; rendszerû NIS
klienseink, akkor szinte biztos, hogy DES
titkosítást kell használnunk.A szerverek és a kliensek által
használt formátumokat az
/etc/login.conf állományba
tekintve deríthetjük ki. Ha a gépek
többségén a DES titkosítást
látjuk, akkor a default
osztálynak egy ilyen bejegyzést kell
tartalmaznia:default:\
:passwd_format=des:\
:copyright=/etc/COPYRIGHT:\
[a többit most nem mutatjuk]A passwd_format tulajdonság
további lehetséges értékei lehetnek
a blf és az md5
(melyek rendre a Blowfish és MD5
titkosítású jelszavakat adják
meg).Ha változtattunk valamit az
/etc/login.conf állományban,
akkor a bejelentkezési tulajdonságok
adatbázisát is újra kell generálni,
melyet root
felhasználóként a következõ
módon tehetünk meg:&prompt.root; cap_mkdb /etc/login.confAz /etc/master.passwd
állományban jelenlevõ jelszavak
formátuma azonban nem frissítõdik
egészen addig, amíg a felhasználók
a bejelentkezési adatbázis
újragenerálása
után meg nem
változtatják a jelszavaikat.Úgy tudjuk még biztosítani, hogy a
jelszavak megfelelõ formátumban
kódolódjanak, ha az
/etc/auth.conf állományban
megkeressük a crypt_default sort,
amelyben a választható
jelszóformátumok
felhasználásái sorrendjét
találhatjuk meg. Itt tehát mindössze annyit
kell tennünk, hogy a kiszemelt formátumot a lista
elejére tesszük. Például, ha a DES
titkosítású jelszavakat akarunk
használni, akkor ez a bejegyzés így fog
kinézni:crypt_default = des blf md5Ha a fenti lépéseket követjük az
összes &os; alapú NIS szervernél és
kliensnél, akkor biztosra mehetünk abban, hogy a
hálózatunkon belül ugyanazt a
jelszóformátumot fogják használni.
Ha gondunk akadna a NIS kliensek
hitelesítésével, akkor itt érdemes
kezdeni a hiba felderítését. Ne
felejtsük: ha egy NIS szervert egy heterogén
hálózatba akarunk telepíteni, akkor
valószínûleg az összes rendszeren a DES
titkosítást kell választani, mivel
általában ez a közös nevezõ ebben a
tekintetben.GregSutterÍrta: A hálózat automatikus
beállítása (DHCP)Mi az a DHCP?Dinamikus
állomáskonfigurációs
protokollDHCPinternetes szoftverkonzorcium
(ISC)A Dinamikus állomáskonfigurációs
protokoll, avagy Dynamic Host Configuration Protocol (DHCP)
annak eszközeit írja le, hogy egy rendszer
miként tud csatlakozni egy hálózathoz
és miként tudja azon belül megszerezni a
kommunikációhoz szükséges
információkat. A &os; 6.0 elõtti
változatai az ISC (Internet Software Consortium, vagyis
az internetes szoftverkonzorcium) által kidolgozott DHCP
kliens (&man.dhclient.8;) implementációját
tartalmazzák. A késõbbi verziókban
pedig az OpenBSD 3.7 verziójából
átvett dhclient paranccsal
dolgozhatunk. Ebben a szakaszban a dhclient
parancsra vonatkozó összes információ
egyaránt érvényes az ISC és az
OpenBSD által fejlesztett DHCP kliensekre. A DHCP
szerver az ISC-tõl származik.Mivel foglalkozik ez a szakaszEbben a szakaszban az ISC és az OpenBSD DHCP
klienseinek kliens- és szerver oldali komponsenseit
mutatjuk be. A kliens oldali program neve a
dhclient, amely a &os;
részeként érkezik, és a szerver
oldali elem pedig a net/isc-dhcp3-server porton
keresztül érhetõ el. A lentebb említett
hivatkozások mellett a témában még a
&man.dhclient.8;, &man.dhcp-options.5; és a
&man.dhclient.conf.5; man adhatnak bõvebb
felvilágosítást a
témában.Ahogyan mûködikUDPAmikor a dhclient, vagyis a DHCP kliens
elindul egy kliensgépen, akkor a hálózaton
üzenetszórással próbálja meg
elkérni a konfigurációjához
szükséges adatokat. Alapértelmezés
szerint ezek a kérések a 68-as UDP porton
keresztül mennek. A szerver ezekre a 67-es UDP porton
válaszol, ahol visszaad a kliensnek egy IP-címet
és a hálózat használatához
szükséges további
információkat, mint például a
hálózati maszkot, az alapértelmezett
átjáró és a
névfeloldásért felelõs szerverek
címét. Az összes ilyen jellegû adat egy
DHCP bérlet (lease)
formájában érkezik meg, amely csak egy
adott ideig érvényes (ezt a DHCP szerver
karbantartója állítja be). Így a
hálózaton a kliens nélküli
IP-címeket egy idõ után automatikusan
visszanyerjük.A DHCP kliensek rengeteg információt
képes elkérni a szervertõl. Ezek teljes
listáját a &man.dhcp-options.5; man oldalán
olvashatjuk el.Használat a &os;-n belülA &os; teljes egészében tartalmazza az ISC
vagy az OpenBSD DHCP kliensét, a
dhclient programot (attól
függõen, hogy a &os; melyik változatát
használjuk). A DHCP kliensek támogatása a
telepítõben és az alaprendszerben is
megtalálható, és ezzel
mentesülünk minden konkrét
hálózati beállítás
alól a DHCP szervereket alkalmazó
hálózatokon. A dhclient a
&os; 3.2 változata óta
megtalálható a rendszerben.sysinstallDHCP használatát a
sysinstall is lehetõvé
teszi. Amikor egy hálózati felületet a
sysinstall programon belül
állítunk be, akkor a második
kérdés mindig ez szokott lenni: Do you want
to try DHCP configuration of the interface?
(Megpróbáljuk DHCP
használatával beállítani a
felületet?) Ha erre igennel válaszolunk,
akkor azzal lényegében a
dhclient parancsot indítjuk el,
és ha mindez sikerrel zárul, akkor szinte
magától kitöltõdik az összes
hálózati beállításunk.A DHCP használatához két dolgot kell
beállítanunk a rendszerünkön:DHCPkövetelményekGondoskodjunk róla, hogy a
bpf eszköz része a
rendszermagunknak. Ha még nem lenne benne, akkor a
rendszermag beállításait
tartalmazó állományba vegyük fel
a device bpf sort és
fordítsuk újra a rendszermagot. A
rendszermagok fordításáról a
ben tudhatunk meg
többet.A bpf eszköz
alapból megtalálható a
GENERIC rendszermagokban, így
ha ezt használjuk, akkor nem kell saját
verziót készítenünk a DHCP
használatához.Azok számára viszont, akik
biztonsági szempontból aggódnak a
rendszerük miatt, meg kell említenünk,
hogy a bpf egyben az az
eszköz, amely a csomagok
lehallgatását is lehetõvé
teszi (habár az ilyeneket
root
felhasználóként lehet csak
elindítani). A bpfkell a DHCP
használatához, azonban ha nagyon fontos
nekünk a rendszerünk biztonsága, akkor
a bpf eszközt
érdemes kivennünk a rendszermagból,
ha még pillanatnyilag nem használunk
ilyet.Az /etc/rc.conf
állományunkat az alábbiak szerint
kell módosítani:ifconfig_fxp0="DHCP"Az fxp0 eszközt ne
felejtsük el kicserélni arra a
felületre, amelyet automatikusan akarunk
beállítani. Ennek mikéntje a ban
olvasható.Ha a dhclient a rendszerünkben
máshol található, vagy
egyszerûen csak további
beállításokat akarunk átadni a
dhclient parancsnak, akkor adjuk meg a
következõt is (változtassuk meg
igényeink szerint):
- dhcp_program="/sbin/dhclient"
-dhcp_flags=""
+ dhclient_program="/sbin/dhclient"
+dhclient_flags=""DHCPszerverA DHCP szerver, a dhcpd a
net/isc-dhcp3-server
port részeként érhetõ el. Az a
port tartalmazza az ISC DHCP szerverét és a
hozzátartozó
dokumentációt.ÁllományokDHCPkonfigurációs
állományok/etc/dhclient.confA dhclient
mûködéséhez szükség lesz
egy konfigurációs állományra,
aminek a neve /etc/dhclient.conf. Ez
az állomány általában csak
megjegyzéseket tartalmaz, mivel az
alapértelmezett értékek többnyire
megfelelõek. Ezt a konfigurációs
állományt a &man.dhclient.conf.5; man oldal
írja le./sbin/dhclientA dhclient statikusan linkelt
és az /sbin
könyvtárban található. A
&man.dhclient.8; man oldal tud róla
részletesebb felvilágosítást
adni./sbin/dhclient-scriptA dhclient-script a &os;-ben
levõ DHCP kliens konfigurációs szkriptje.
Mûködését a &man.dhclient-script.8;
man oldal írja le, de a felhasználók
részérõl semmilyen
módosítást nem igényel./var/db/dhclient.leasesA DHCP kliens az érvényes
bérleteket tartja nyilván ezekben az
állományban és naplóként
használja. A &man.dhclient.leases.5; man oldal ezt
valamivel bõvebben kifejti.További olvasnivalókA DHCP protokoll mûködését az RFC 2131
mutatja be. A témához kapcsolódóan
itt tudunk még
leírásokat találni.A DHCP szerverek telepítése és
beállításaMirõl szól ez a szakaszEbben a szakaszban arról olvashatunk, hogy
miként kell egy &os; típusú rendszert
DHCP szervernek beállítani, ha az ISC
(internetes szoftverkonzorcium) DHCP szerverét
használjuk.Ez a szerver nem része a &os;-nek, ezért a
szolgáltatás
elindításához elõször fel
kell raknunk a net/isc-dhcp3-server portot. A
Portgyûjtemény használatára
vonatkozóan a lehet
segítségünkre.A DHCP szerver telepítéseDHCPtelepítésHa a &os; rendszerünket DHCP szerverként
akarjuk beállítani, akkor ehhez
elsõként a &man.bpf.4; eszköz
jelenlétét kell biztosítani a
rendszermagban. Ehhez vegyük fel a device
bpf sort a rendszermagunk
beállításait tartalmazó
állományba, majd fordítsuk újra
a rendszermagot. A rendszermag
lefordításáról a ben olvashatunk.A bpf eszköz a &os;-hez
alapból adott GENERIC
rendszermag része, ezért a DHCP
használatához nem kell feltétlenül
újat fordítanunk.A biztonsági szempontok miatt
aggódó felhasználók
részére megjegyezzük, hogy a
bpf eszköz egyben a
csomagok lehallgatását is
lehetõvé teszi (habár az ilyen
témájú programok
futtatásához megfelelõ jogokra is
szükség van). A
bpf használata
kötelezõ a DHCP
mûködtetéséhez, de ha nagyon
kényesek vagyunk a biztonságot
illetõen, akkor minden olyan esetben, amikor nem
használjuk ki ezt a lehetõséget,
távolítsuk el a
rendszermagból.A következõ lépésben át
kell szerkesztenünk a mintaként mellékelt
dhcpd.conf állományt,
amelyet a net/isc-dhcp3-server port rakott
fel. Ez alapértelmezés szerint a
/usr/local/etc/dhcpd.conf.sample
néven található meg, és
mielõtt bármit is változtatnánk
rajta, másoljuk le
/usr/local/etc/dhcpd.conf
néven.A DHCP szerver beállításaDHCPdhcpd.confA dhcpd.conf az
alhálózatokat illetve a gépeket
érintõ deklarációkat tartalmazza,
és talán a legkönnyebben a
következõ példa alapján
mutatható be:option domain-name "minta.com";
option domain-name-servers 192.168.4.100;
option subnet-mask 255.255.255.0;
default-lease-time 3600;
max-lease-time 86400;
ddns-update-style none;
subnet 192.168.4.0 netmask 255.255.255.0 {
range 192.168.4.129 192.168.4.254;
option routers 192.168.4.1;
}
host mailhost {
hardware ethernet 02:03:04:05:06:07;
fixed-address levelezes.minta.com;
}Ez a beállítás adja meg a
kliensek számára az alapértelmezett
keresési tartományt (search domain). A
&man.resolv.conf.5; tud ezzel kapcsolatban
részletesebb információkat
adni.Ez a beállítás adja meg a
kliensek által használt
névfeloldó szerverek vesszõvel
elválasztott felsorolását.A kliensekhez tartozó hálózati
maszk.A kliens egy adott idõre kérhet
bérleti jogot, egyébként a szerver
dönt a bérlet lejárati
idejérõl (másodpercekben).Ez az a maximális idõ, amennyire a
szerver hajlandó bérbe adni
IP-címet. A kliens ugyan hosszabb idõre is
kérheti és meg is kapja, de legfeljebb
csak max-lease-time
másodpercig lesz érvényes.Ez a beállítás határozza
meg, hogy a DHCP szervernek frissítse-e a
névoldási információkat a
bérlések
elfogadásánál vagy
visszamondásánál. Az ISC
implementációjánál ez a
beállítás
kötelezõ.Ezzel adjuk meg milyen tartományból
tudunk IP-címeket kiosztani a kliensek
számára. A kezdõ címet is
beleértve, innen fogunk kiutalni egyet a
klienseknek.A kliensek felé elküldött
alapértelmezett átjáró
címe.A gép hardveres MAC-címe (így a
DHCP szerver képes felismerni a
kérés küldõjét).Ennek megadásával a gépek
mindig ugyanazt az IP-címet kapják. Itt
már megadhatunk egy hálózati nevet,
mivel a bérlethez tartozó
információk visszaküldése
elõtt maga a DHCP szerver fogja feloldani a
gép nevét.Miután befejeztük a
dhcpd.conf
módosítását, a DHCP szerver az
/etc/rc.conf állományban
tudjuk engedélyezni, vagyis tegyük bele a
következõt:dhcpd_enable="YES"
dhcpd_ifaces="dc0"A dc0 felület nevét
helyettesítsük annak a felületnek (vagy
whitespace karakterekkel elválasztott
felületeknek) a nevével, amelyen keresztül
a DHCP szerver várni fogja a kliensek
kéréseit.Ezután a következõ parancs
kiadásával indítsuk el a
szervert:&prompt.root; /usr/local/etc/rc.d/isc-dhcpd.sh startAmikor a jövõben valamit változtatunk a
konfigurációs állományon, akkor
ezzel kapcsolatban fontos megemlíteni, hogy ha csak
egy SIGHUP jelzést
küldünk a dhcpd
démonnak, akkor az a többi
démontól eltérõen
önmagában még nem
eredményezi a konfigurációs adatok
újraolvasását. Helyette a
SIGTERM jelzéssel kell
leállítani a programot, majd
újraindítani a fenti paranccsal.ÁllományokDHCPkonfigurációs
állományok/usr/local/sbin/dhcpdA dhcpd statikusan
linkelt és a /usr/local/sbin
könyvtárban található. A
porttal együtt felkerülõ &man.dhcpd.8;
man oldal ad részletesebb
útmutatást
dhcpd
használatáról./usr/local/etc/dhcpd.confMielõtt a dhcpd
megkezdhetné mûködését,
egy konfigurációs állományra
is szükségünk lesz, amely a
/usr/local/etc/dhcpd.conf. Ez az
állomány tartalmazza az összes olyan
információt, ami kell a kliensek
megfelelõ kiszolgálásához
valamint a szerver mûködéséhez.
Ez a konfigurációs állomány
porthoz tartozó &man.dhcpd.conf.5; man oldalon
kerül ismertetésre./var/db/dhcpd.leasesA DHCP szerver ebben az állományba
tartja nyilván a kiadott bérleteket, egy
napló formájában. A porthoz
kapcsolódó &man.dhcpd.leases.5; man
oldalon errõl többet is megtudhatunk./usr/local/sbin/dhcrelayA dhcrelay
állománynak olyan komolyabb
környezetekben van szerepe, ahol a DHCP szerver a
kliensektõl érkezõ
kéréseket egy másik
hálózaton található DHCP
szerverhez továbbítja. Ha
szükség lenne erre a
lehetõségre, akkor telepítsük
fel a net/isc-dhcp3-relay portot. A
porthoz tartozó &man.dhcrelay.8; man oldal ennek
részleteit taglalja.ChernLeeKészítette: TomRhodesDanielGerzoNévfeloldás (DNS)ÁttekintésBINDA &os; alapértelmezés szerint a BIND (Berkeley
Internet Name Domain) egyik verzióját tartalmazza,
amely a névfeloldási (Domain Name System,
DNS) protokoll egyik elterjedt
implementációja. A DNS
protokollon keresztül tudunk az
IP-címekhez neveket rendelni és
fordítva. Például a www.FreeBSD.org névre a &os; Projekt
webszerverének IP-címét
kapjuk meg, miközben a ftp.FreeBSD.org pedig a
hozzátartozó FTP szerver
IP-címét fogja visszaadni.
Ehhez hasonlóan a fordítottja is
megtörténhet, vagyis egy
IP-címhez is kérhetjük a
hálózati név feloldását. A
névfeloldási kérések
kiszolgálásához nem feltétlenül
szükséges névszervert futtatni a
rendszerünkön.A &os; jelen pillanatban alapból a
BIND9 névszervert tartalmazza. A
benne szereplõ változata több biztonsági
javítást, új
állományrendszeri kiosztást és
automatizált &man.chroot.8;
beállítást is magában foglal.névfeloldásAz interneten keresztüli névfeloldást
legfelsõ szintû tartományoknak (Top Level
Domain, TLD) nevezett hitelesített
tövek némileg bonyolult rendszerén alapszik,
valamint más egyéb olyan névszervereken,
amelyek további egyéni információkat
tárolnak és táraznak.A BIND fejlesztését jelenleg az Internet
Software Consortium ()
felügyeli.AlapfogalmakA leírás megértéséhez be
kell mutatnunk néhány névfeloldással
kapcsolatos fogalmat.névfeloldóinverz DNSgyökérzónaFogalomMeghatározásKözvetlen névfeloldás (forward
DNS)A hálózati nevek
leképezése IP-címekre.Õs (origin)Egy adott zóna állományban
szereplõ tartományra vonatkozik.named, BIND,
névszerver (name server)A &os;-n belüli BIND névszerver
különbözõ
megnevezései.Névfeloldó (resolver)Az a program a rendszerben, amelyhez a
hálózaton levõ gépek a
zónák adatainak
elérésével kapcsolatban
fordulnak.Inverz névfeloldás (reverse
DNS)A rendes névfeloldás
ellentéte, vagyis az
IP-címek
leképzése hálózati
nevekre.Gyökérzóna (root zone)Az interneten található
zónák hierarchiájának
töve. Minden zóna ebbe a
gyökérzónába esik, ahhoz
hasonlóan, ahogy egy
állományrendszerben az
állományok a
gyökérkönyvtárba.Zóna (zone)Egy különálló
tartomány, altartomány vagy a
névfeloldás azon része, amelyet
egyazon fennhatóság alatt tartanak
karban.zónákpéldákPéldák zónákra:A .
gyökérzóna.A org. egy legfelsõ szintû
tartomány (TLD) a
gyökérzónán belül.A minta.org. a
org. TLD
tartomány alatti zóna.A 1.168.192.in-addr.arpa egy olyan
zóna, amelyek a 192.168.1.*
IP-tartományban szereplõ
összes címet jelöli.Mint láthatjuk, a hálózati nevek
balról kiegészülve pontosodnak. Tehát
például a minta.org. sokkal pontosabb
meghatározás, mint a org., ahogy
az org. magánál a
gyökérzónánál jelent
többet. A hálózati nevek felosztása
leginkább egy állományrendszerhez
hasonlítható, például a /dev könyvtár a
gyökéren belül található,
és így tovább.Miért érdemes névszervert
futtatniA névszerverek általában két
alakban jelennek meg. Egyikük a hitelesített
névszerver, a másikuk a
gyorsítótárazó
névszerver.Egy hitelesített névszerverre akkor van
szükségünk, ha:a világ többi része felé
akarunk hiteles névfeloldási
információkat szolgáltatni;regisztráltunk egy tartományt
(például minta.org) és az alatta
levõ hálózati nevekhez is
szeretnénk IP-címeket
rendeltetni;a IP-címtartományunkban
szükség van inverz névfeloldási
bejegyzésekre (amely
IP-címbõl ad meg
hálózati nevet) is;a kérések
teljesítéséhez egy tartalék
avagy második, alárendelt (slave)
névszerver kell.A gyorsítótárazó
névszerverre akkor van szükségünk,
ha:egy helyi névfeloldó szerver
felhasználásával fel akarjuk
gyorsítani az egyébként a
külsõ névszerver felé
irányuló kérések
kiszolgálását.Amikor valaki lekérdezi a www.FreeBSD.org címét, akkor
a névfeloldó elõször
általában a kapcsolatot rendelkezésre
bocsátó internet-szolgáltató
névszerverét kérdezi meg és onnan
kapja meg a választ. Egy helyi,
gyorsítótárazó névszerver
használata esetén azonban egy ilyen
kérést csak egyszer kell kiadni a külsõ
névszervernek. Ezután már minden
további ilyen kérés el sem hagyja a
belsõ hálózatunkat, mivel a válasz
szerepel a gyorsítótárban.Ahogyan mûködik&os; alatt a BIND démon nyilvánvaló
okokból named néven
érhetõ el.ÁllományLeírás&man.named.8;A BIND démon.&man.rndc.8;A névszervert vezérlõ
segédprogram./etc/namedbA BIND által kezelt zónák
adatait tároló
könyvtár./etc/namedb/named.confA démon konfigurációs
állománya.Attól függõen, hogy miként
állítjuk be az adott zónát a
szerveren, a hozzátartozó állományok
a /etc/namedb
könyvtáron belül a master, slave vagy dynamic alkönyvtárban
foglalnak helyet. Az itt tárolt
állományokban levõ névfeloldási
információk alapján válaszol a
névszerver a felé intézett
kérésekre.A BIND elindításaBINDelindításMivel a BIND alapból elérhetõ a
rendszerben, viszonylag könnyen be tudjuk
állítani.A named alapértelmezett
beállítása szerint egy &man.chroot.8;
környezetben futó egyszerû
névfeloldást végzõ szerver. Ezzel a
beállítással a következõ
parancson keresztül tudjuk elindítani:&prompt.root; /etc/rc.d/named forcestartHa engedélyezni akarjuk a
named démont minden egyes
rendszerindításkor, tegyük a
következõ sort az /etc/rc.conf
állományba:named_enable="YES"Értelemszerûen az
/etc/namedb/named.conf tele van olyan
beállítási lehetõségekkel,
amelyek meghaladják ennek a leírásnak a
kereteit. Ha viszont kíváncsiak vagyunk a
&os;-ben a named
indításához használt
beállításokra, akkor az
/etc/defaults/rc.conf
állományban nézzük meg
named_*
változókat és olvassuk át az
&man.rc.conf.5; man oldalt. Emellett még a t is hasznos lehet elolvasni.A konfigurációs
állományokBINDkonfigurációs
állományokA named
beállításait tartalmazó
állományok pillanatnyilag az /etc/namedb könyvtárban
találhatóak és hacsak nem egy egyszerû
névfeloldóra tartunk igényt, akkor a
használata elõtt módosítanunk is kell.
Itt ejtjük meg a beállítások nagy
részét.A make-localhost
használataHa a helyi gépen egy központi
zónát akarunk beállítani, akkor
lépjünk be az /etc/namedb könyvtárba
és futtassuk le a következõ parancsot:&prompt.root; sh make-localhostHa nem történt semmilyen hiba, akkor a
master
alkönyvtárban most meg kell jelennie egy új
állománynak. A helyi
tartománynévhez tartozó
állomány a localhost.rev,
valamint IPv6 környezetben a
localhost-v6.rev. Alapértelmezett
konfigurációs állományként
a named.conf ehhez tartalmaz minden
szükséges információt./etc/namedb/named.conf// $FreeBSD$
//
// Részletesebb leírást a named.conf(5) és named(8) man oldalakon, valamint
// a /usr/share/doc/bind9 könyvtárban találhatunk.
//
// Ha egy hitelesített szervert akarunk beállítani, akkor igyekezzünk
// a névfeloldás összes finom részletével pontosan tisztában lenni.
// Ugyanis még a legkisebb hibákkal is egyrészt elvághatunk gépeket az
// internet-lérésétõl, vagy másrészt felesleges forgalmat tudunk
// generálni
//
options {
directory "/etc/namedb";
pid-file "/var/run/named/pid";
dump-file "/var/dump/named_dump.db";
statistics-file "/var/stats/named.stats";
// Ha a named démont csak helyi névfeloldóként használjuk, akkor ez
// egy biztonságos alapbeállítás. Ha viszont a named démon az egész
// hálózatunkat is kiszolgálja, akkor ezt a beállítást tegyük
// megjegyzésbe, vagy adjunk meg egy rendes IP-címet, esetleg
// töröljük ki.
listen-on { 127.0.0.1; };
// Ha rendszerünkön engedélyezett az IPv6 használata, akkor a helyi
// névfeloldó használatához ezt a sort vegyük ki a megjegyzésbõl.
// A hálózatunk többi részérõl pedig úgy lehet elérni, ha itt megadunk
// egy IPv6 címet, vagy az "any" kulcsszót.
// listen-on-v6 { ::1; };
// A "forwarders" blokk mellett a következõ sorral megkérhetjük a
// névszervert, hogy önmagától soha nem kezdeményezzen kéréseket,
// hanem mindig az iménti helyen megjelölt szerverekhez irányítsa
// ezeket:
//
// forward only;
// Ha a szolgáltatónk névszervert is elérhetõvé tett számunkra, akkor
// itt adjuk meg annak az IP-címét és engedélyezzük az alábbi sort.
// Ezzel egyben kihasználjuk a gyorsítótárat is, így mérsékeljük az
// internet felé mozgó névfeloldásokat.
/*
forwarders {
127.0.0.1;
};
*/Ahogy arról a megjegyzésekben is szó
esik, úgy tudjuk aktiválni a
gyorsítótárat, ha megadjuk a
forwarders beállítást.
Normális körülmények között
a névszerver az interneten az egyes
névszervereket rekurzívan fogja keresni
egészen addig, amíg meg nem találja a
keresett választ. Az iménti
beállítás
engedélyezésével azonban
elõször a szolgáltató
névszerverét (vagy az általa
kijelölt névszervert) fogjuk megkérdezni, a
saját
gyorsítótárából. Ha a
szolgáltató kérdéses
névszervere egy gyakran használt, gyors
névszerver, akkor ezt érdemes
bekapcsolnunk.Itt a 127.0.0.1
megadása nem mûködik.
Mindenképpen írjuk át a
szolgáltatónk névszerverének
IP-címére. /*
* Ha köztünk és az elérni kívánt névszerverek között tûzfal
* is található, akkor az alábbi "query-source" direktívát is
* engedélyeznünk kell. A BIND korábbi változatait mindig az
* 53-as porton keresztül küldték el a kéréseiket, de BIND
* nyolcadik verziójától kezdve alapértelmezés szerint
* erre a feladatra már egy véletlenszerûen választott, nem
* privilegizált UDP portot használnak.
*/
// query-source address * port 53;
};
// Ha engedélyezzük a helyi névszervert, akkor az /etc/resolv.conf
// állományban elsõ helyen megadni a 127.0.0.1 címet. Sõt, az
// /etc/rc.conf állományból se felejtsük ki.
zone "." {
type hint;
file "named.root";
};
zone "0.0.127.IN-ADDR.ARPA" {
type master;
file "master/localhost.rev";
};
// RFC 3152
zone "1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.IP6.ARPA" {
type master;
file "master/localhost-v6.rev";
};
// FONTOS: Ne használjuk ezeket az IP-címeket, mert nem valódiak,
// csupán illusztrációs és dokumentációs célokból adtuk meg!
//
// Az alárendelt zónák beállításaira vonatkozó bejegyzések. Érdemes
// ilyet beállítani legalább ahhoz a zónához, amelyhez a tartományunk is
// tartozik. Az elsõdleges zónához tartozó IP-címet érdeklõdjük meg
// az illetékes hálózati rendszergazdától.
//
// Soha ne felejtsünk el megadni zónát az inverz kereséshez
// IN-ADDR.ARPA)! (A neve a IP-cím tagjainak fordított sorrendjébõl
// származik, amelyhez hozzátoldunk még egy ".IN-ADDR.ARPA" részt.)
//
// Mielõtt nekilátnánk egy elsõdleges zóna beállításának, gondoljuk
// végig, hogy tényleg a megfelelõ szinten ismerjük a névfeloldás és
// a BIND mûködését. Gyakran ugyanis egyáltalán nem nyilvánvaló
// csapdákba tudunk esni. Egy alárendelt zóna beállítása sokkal
// egyszerûbb feladat.
//
// FONTOS: Ne kövessük vakon a most következõ példát :-) Helyette inkább
// valódi neveket és címeket adjunk meg.
/* Példa központi zónára
zone "minta.net" {
type master;
file "master/minta.net";
};
*/
/* Példa dinamikus zónára
key "mintaorgkulcs" {
algorithm hmac-md5;
secret "sf87HJqjkqh8ac87a02lla==";
};
zone "minta.org" {
type master;
allow-update {
key "mintaorgkulcs";
};
file "dynamic/minta.org";
};
*/
/* Példa közvetlen és inverz alárendelt zónákra
zone "minta.com" {
type slave;
file "slave/minta.com";
masters {
192.168.1.1;
};
};
zone "1.168.192.in-addr.arpa" {
type slave;
file "slave/1.168.192.in-addr.arpa";
masters {
192.168.1.1;
};
};
*/A named.conf
állományban tehát így adhatunk meg
közvetlen és inverz alárendelt
zónákat.Minden egyes újabb kiszolgált
zónához az egy új bejegyzést kell
felvenni a named.conf
állományban.Például a minta.org címhez
tartozó legegyszerûbb ilyen bejegyzés
így néz ki:zone "minta.org" {
type master;
file "master/minta.org";
};Ez egy központi zóna, ahogy arról a
mezõ, vagyis a típusa is
árulkodik. Továbbá a
mezõben láthatjuk, hogy a
hozzátartozó információkat az
/etc/namedb/master/minta.org
állományban tárolja.zone "minta.org" {
type slave;
file "slave/minta.org";
};Az alárendelt esetben a zónához
tartozó információkat a zóna
központi szerverétõl kapjuk meg és
megadott állományban mentjük el. Ha
valamiért a központi szerver leáll vagy nem
érhetõ el, akkor az alárendelt szerver az
átküldött zóna
információk alapján képes helyette
kiszolgálni a kéréseket.A zóna állományokBINDzóna állományokA minta.org
címhez tartozó példa központi
zóna állomány (amely az
/etc/namedb/master/néven.org
érhetõ el) tartalma az alábbi:$TTL 3600 ; 1 óra
minta.org. IN SOA ns1.minta.org. admin.minta.org. (
2006051501 ; sorozatszám
10800 ; frissítés
3600 ; ismétlés
604800 ; lejárat
86400 ; minimális TTL
)
; névszerverek
IN NS ns1.minta.org.
IN NS ns2.minta.org.
; MX rekordok
IN MX 10 mx.minta.org.
IN MX 20 levelezes.minta.org.
IN A 192.168.1.1
; a gépek nevei
localhost IN A 127.0.0.1
ns1 IN A 192.168.1.2
ns2 IN A 192.168.1.3
mx IN A 192.168.1.4
levelezes IN A 192.168.1.5
; álnevek
www IN CNAME @A .-ra végzõdõ
hálózati nevek abszolút nevek, míg
minden más . nélküli
név az õsére vezehetõ vissza
(tehát relatív). Például a
www a
www.õs. A
kitalált zóna állományunkban itt
most az õs a minta.org, így a
www névbõl a
www.minta.org név keletkezik.A zóna állományok
felépítése a következõ:rekordnév IN rekordtípus értéknévfeloldásrekordokA névfeloldásban leggyakrabban alkalmazott
rekordok típusai:SOAa zóna fennhatóságának
kezdeteNSegy hitelesített névszerverAegy gép címeCNAMEegy álnév kanonikus neveMXlevélváltóPTRmutató a tartománynévre (az
inverz feloldás használja)
minta.org. IN SOA ns1.minta.org. admin.minta.org. (
2006051501 ; sorozatszám
10800 ; 3 óránként frissítsünk
3600 ; 1 óra után próbálkozzunk újra
604800 ; 1 hét után jár le
86400 ) ; a minimális TTL 1 napminta.org.a tartomány neve, amely egyben a zóna
õsens1.minta.org.a zóna elsõdleges/hitelesített
névszervereadmin.minta.org.a zónáért felelõs
személy neve, akinek az e-mail
címét a @
behelyettesítésével kapjuk meg.
(Tehát a admin@example.org
címbõl admin.example.org
lesz.)2006051501az állomány sorozatszáma. Ezt
a zóna állomány
módosításakor mindig
növelnünk kell. Manapság a
rendszergazdák a sorozatszámot
ééééhhnnvv
alakban adják meg. A
2006051501 tehát azt jelenti,
hogy az állományt 2006. május
15-én módosították
utoljára, és a 01 pedig
arra utal, hogy aznap elõször. A
sorozatszám megadása fontos az
alárendelt névszerverek
számára, mivel így tudják
megállapítani, hogy a zóna mikor
változott utoljára.
IN NS ns1.minta.org.Ez egy NS bejegyzés. A zónához
tartozó minden hitelesített névszervernek
lennie kell legalább egy ilyen
bejegyzésének.
localhost IN A 127.0.0.1
ns1 IN A 192.168.1.2
ns2 IN A 192.168.1.3
mx IN A 192.168.1.4
levelezes IN A 192.168.1.5Az A rekord egy gép nevét adja meg. Ahogy a
fenti példából is kiderül, az
ns1.minta.org név a
192.168.1.2 címre
képzõdik le.
IN A 192.168.1.1Ez a sor 192.168.1.1
címet rendeli az aktuális õshöz, amely
jelen esetünkben az example.org.
www IN CNAME @A kanonikus neveket tároló rekordokat
általában egy gép álneveihez
használjuk. Ebben a példában a
www a fõgép egyik
álneve, amely itt a minta.org (192.168.1.1) tartomány. A CNAME
rekordok tehát álnevek megadására
használhatóak, vagy egyetlen
állománynév körkörös
rendszerû (round robin típusú)
feloldására több gép
között.MX rekord
IN MX 10 levelezes.minta.org.Az MX rekord adja meg, hogy milyen levelezõ szerverek
felelõsek a zónába érkezõ
levelek fogadásáért. A levelezes.minta.org a levelezõ
szerver hálózati neve, ahol a 10 az adott
levelezõ szerver prioritása.Több levelezõ szerver is megadható 10-es,
20-as stb. prioritásokkal. A minta.org tartományon
belül elõször mindig a legnagyobb MX
prioritással rendelkezõ levelezõ szervernek
próbáljuk meg továbbítani a
leveleket (a legkisebb prioritási
értékkel rendelkezõ rekord), majd
ezután a második legnagyobbnak stb.
egészen addig, amíg a levelet tovább nem
küldtük.Az in-addr.arpa zóna állományok
(inverz DNS) esetén ugyanez a
felépítés, kivéve, hogy a PTR
típusú bejegyzések szerepelnek az A
és CNAME helyett.$TTL 3600
1.168.192.in-addr.arpa. IN SOA ns1.minta.org. admin.minta.org. (
2006051501 ; sorozatszám
10800 ; frissítés
3600 ; ismétlés
604800 ; lejárat
3600 ) ; minimum
IN NS ns1.minta.org.
IN NS ns2.minta.org.
1 IN PTR minta.org.
2 IN PTR ns1.minta.org.
3 IN PTR ns2.minta.org.
4 IN PTR mx.minta.org.
5 IN PTR levelezes.minta.org.Ez az állomány írja le tehát a
kitalált tartományunkon belül az
IP-címek és hálózati nevek
összerendelését.A gyorsítótárazó
névszerverBINDgyorsítótárazó
névszerverA gyorsítótárazó
névszerver az a névszerver, amelyik egyik
zónában sem hitelesített. Egyszerûen
csak öncélú kéréseket
küld, és a kapott válaszokat megjegyzi. A
beállításához mindössze annyit
kell tennünk, hogy az eddigiekhez hasonlóan, de
zónák nélkül beállítunk
egy névszervert.BiztonságHabár a névfeloldás
szempontjából a BIND a legelterjedtebb, a
biztonságosságával azért akadnak
gondok. Gyakran találnak benne potenciális
és kihasználható biztonsági
réseket.A &os; azonban a named
démont automatikusan egy &man.chroot.8; környezetbe
helyezi. Emellett még léteznek további
más védelmi mechanizmusok is, amelyek
segítségével el tudjuk kerülni a
névfeloldást célzó esetleges
támadásokat.Sosem árt olvasgatni a CERT által kiadott
biztonsági figyelmeztetéseket és
feliratkozni a &a.security-notifications; címére,
hogy folyamatosan értesüljünk az interneten
és a &os;-ben talált különbözõ
biztonsági hibákról.Ha valamilyen gondunk támadna, akkor esetleg
próbálkozzunk meg a forrásaink
frissítésével és a
named
újrafordításával.Egyéb olvasnivalókA BIND/named man oldalai:
&man.rndc.8; &man.named.8; &man.named.conf.5;Az ISC
BIND hivatalos honlapja (angolul)Az ISC BIND
hivatalos fóruma (angolul)
A BIND9 GYIK (angolul)O'Reilly DNS and
BIND 5th EditionRFC1034 -
Domain Names - Concepts and FacilitiesRFC1035 -
Domain Names - Implementation and
SpecificationMurrayStokelyKészítette: Az Apache webszerverwebszerverekbeállításaApacheÁttekintésA &os; szolgálja ki a legforgalmasabb honlapok nagy
részét szerte a világban. A
mögöttük álló webszerverek
általában az Apache
webszervert alkalmazzák. Az
Apache használatához
szükséges csomagok megtalálhatóak a
&os; telepítõlemezén is. Ha a &os; elsõ
telepítésekor még nem
telepítettük volna az
Apache szerverét, akkor a
www/apache13 vagy www/apache12 portból tudjuk
feltenni.Az Apache szervert sikeres
telepítését követõen be kell
állítanunk.Ebben a szakaszban az Apache
webszerver 1.3.X változatát
mutatjuk be, mivel ezt használják a
legtöbben &os; alatt. Az
Apache 2.X rengeteg új
technológiát vezetett be, de ezekkel itt most
nem foglalkozunk. Az
Apache 2.X
változatával kapcsolatban keressük fel a
oldalt.BeállításApachekonfigurációs
állományokAz Apache webszerver
konfigurációs állománya &os; alatt
/usr/local/etc/apache/httpd.conf
néven található. Ez az
állomány egy szokványos &unix;-os
szöveges konfigurációs
állomány, ahol a megjegyzéseket egy
# karakterrel vezetjük be. Az itt
használható összes lehetséges
beállítási lehetõség
átfogó ismertetése meghaladná az
egész kézikönyv határait, ezért
most csak a leggyakrabban módosított
direktívákat fogjuk ismertetni.ServerRoot "/usr/local"Ez adja meg az Apache
számára az alapértelmezett
könyvtárat. A binárisai ezen
belül a bin
és sbin
alkönyvtárakban, a konfigurációs
állományai pedig az etc/apache
könyvtárban tárolódnak.ServerAdmin saját@címünk.az.internetenErre a címre küldhetik nekünk a
szerverrel kapcsolatos hibákat. Ez a cím
egyes szerver által generált oldalakon
jelenik meg, például hibák
esetében.ServerName www.minta.comA ServerName
segítségével meg tudjuk adni, hogy
milyen nevet küldjön vissza a szerver a
klienseknek olyankor, ha az nem egyezne meg a jelenlegivel
(vagyis a www nevet használjuk a
gépünk valódi neve helyett).DocumentRoot "/usr/local/www/data"A DocumentRoot adja meg azt a
könyvtárat, ahonnan kiszolgáljuk a
dokumentumokat. Alapértelmezés szerint az
összes kérés erre a
könyvtárra fog vonatkozni, de a szimbolikus
linkek és az álnevek akár más
helyekre is mutathatnak.A változtatások végrehajtása
elõtt mindig is jó ötlet biztonsági
másolatot készíteni az
Apache konfigurációs
állományairól. Ahogy sikerült
összerakni egy számunkra megfelelõ
konfigurációt, készen is állunk az
Apache
futtatására.Az Apache
futtatásaApacheindítása és
leállításaA többi hálózati szervertõl
eltérõen az Apache nem az
inetd szuperszerverbõl fut. A
kliensektõl érkezõ HTTP kérések
minél gyorsabb kiszolgálásának
érdekében úgy állítottuk be,
hogy önállóan fusson. Ehhez egy szkriptet is
mellékeltünk, amellyel igyekeztünk a
lehetõ legjobban leegyszerûsíteni a szerver
indítását,
leállítását és
újraindítását. Az
Apache elsõ
indításához adjuk ki a következõ
parancsot:&prompt.root; /usr/local/sbin/apachectl startÍgy pedig a szervert bármikor
leállíthatjuk:&prompt.root; /usr/local/sbin/apachectl stopHa valamilyen okból megváltoztattuk volna a
szerver beállításait, akkor ezen a
módon tudjuk újraindítani:&prompt.root; /usr/local/sbin/apachectl restartHa a jelenleg megnyitott kapcsolatok felbontása
nélkül akarjuk újraindítani az
Apache szervert, akkor ezt
írjuk be:&prompt.root; /usr/local/sbin/apachectl gracefulMindezekrõl az &man.apachectl.8; man oldalon
találunk bõvebb leírást.Amennyiben szükségünk lenne az
Apache
elindítására a rendszer
indításakor, akkor a következõ sort
vegyünk fel az /etc/rc.conf
állományba:apache_enable="YES"Az Apache 2.2
esetében:apache22_enable="YES"Amikor az Apachehttpd nevû programjának
szeretnénk további paranccsori
paramétereket átadni a rendszer
indítása során, akkor ezeket így
tudjuk megadni az rc.conf
állományban:apache_flags=""Most, miután a webszerverünk mûködik,
a böngészõnkkel mindezt ellenõrizni is
tudjuk a http://localhost/ cím
beírásával. Ilyenkor az
alapértelmezés szerinti
/usr/local/www/data/index.html
állomány tartalmát láthatjuk.Virtuális nevekAz Apache a virtuális
nevek használatának két
különbözõ módját ismeri. Ezek
közül az elsõ módszer a név
alapú virtualizáció (Name-based Virtual
Hosting). Ilyenkor a kliens HTTP/1.1
fejlécébõl próbálja meg a
szerver megállapítani a hivatkozási nevet.
Segítségével több tartomány is
osztozhat egyetlen IP-címen.Az Apache név alapú
virtualizációjának
beállításához az alábbi
beállítást kell hozzátennünk a
httpd.conf
állományhoz:NameVirtualHost *Ha a webszerverünk neve www.tartomany.hu, és hozzá
egy www.valamilyenmasiktartomany.hu
virtuális nevet akarunk megadni, akkor azt a
következõképpen tehetjük meg a
httpd.conf állományon
belül:<VirtualHost *>
ServerName www.tartomany.hu
DocumentRoot /www/tartomany.hu
</VirtualHost>
<VirtualHost *>
ServerName www.valamilyenmasiktartomany.hu
DocumentRoot /www/valamilyenmasiktartomany.hu
</VirtualHost>A címek és elérési utak
helyére helyettesítsük be a használni
kívánt címeket és
elérési utakat.A virtuális nevek
beállításának további
részleteivel kapcsolatosan keressük fel az
Apache hivatalos
dokumentációját a címen
(angolul).Apache-modulokApachemodulokAz alap szerver képességeinek
kiegészítéséhez több
különbözõ Apache
modul áll rendelkezésünkre. A &os;
Portgyûjteménye az Apache
telepítése mellett lehetõséget ad a
népszerûbb bõvítményeinek
telepítésére is.mod_sslwebszerverekbiztonságSSLtitkosításA mod_ssl modul az OpenSSL
könyvtár használatával
valósít meg erõs titkosítást
a biztonságos socket réteg második,
illetve harmadik verziójával (Secure Sockets
Layer, SSL v2/v3) és a biztonságos
szállítási rétegbeli (Transport
Layer Security v1) protokoll
segítségével. Ez a modul mindent
biztosít ahhoz, hogy a megfelelõ
hatóságok által aláírt
tanúsítványokat tudjunk kérni,
és ezáltal egy védett webszervert
futtassunk &os;-n.Ha még nem telepítettünk volna fel az
Apache szervert, akkor a www/apache13-modssl porton
keresztül a mod_ssl modullal
együtt is fel tudjuk rakni az
Apache 1.3.X
változatát. Az SSL támogatása
pedig már az Apache 2.X
www/apache22 porton
keresztül elérhetõ változataiban
alapértelmezés szerint
engedélyezett.Kapcsolódás nyelvekhezMindegyik nagyobb szkriptnyelvhez létezik egy
külön Apache-modul, amelyek
segítségével komplett
Apache-modulokat tudunk
készíteni az adott nyelven. Gyakran a dinamikus
honlapok is így próbálják a
szerverbe épített belsõ
értelmezõn keresztül a külsõ
értelmezõ indításából
és benne a szkriptek
lefuttatásából fakadó
költségeket megspórolni, ahogy errõl a
következõ szakaszokban olvashatunk.Dinamikus honlapokwebszerverekdinamikusAz utóbbi évtizedben egyre több
vállalkozás fordult az internet felé
bevételeik és részesedéseinek
növelésének reményében, amivel
egyre jobban megnõtt az igény a dinamikus honlapokra
is. Miközben bizonyos cégek, mint
például a µsoft;, a saját
fejlesztésû termékeikbe
építettek be ehhez támogatást, addig
a nyílt forrásokkal foglalkozó
közösség sem maradt tétlen és
felvette a kesztyût. A dinamikus tartalom
létrehozásához többek közt
Django, Ruby on Rails, a mod_perl
és a mod_php modulok
használhatóak.DjangoPythonDjangoA Django egy BSD típusú licensszel
rendelkezõ keretrendszer, amelynek
használatával nagy
teljesítményû és elegáns
webes alkalmazásokat tudunk gyorsan kifejleszteni.
Tartalmaz egy objektum-relációs
leképezõt, így az adattípusokat
Python-objektumokként tudjuk leírni, és
ezekhez az objektumokhoz egy sokrétû, dinamikus
adatbázis hozzáférést
nyújtó alkalmazásfejlesztõi
felületet, így a fejlesztõknek egyetlen SQL
utasítást sem kell megírniuk.
Találhatunk még benne továbbá egy
bõvíthetõ sablonrendszert, amelynek
köszönhetõen az alkalmazás belsõ
mûködése elválasztható a
HTML-beli megjelenésétõl.A Django mûködéséhez a
mod_python modulra, az
Apache szerverre és egy
tetszõlegesen választott SQL alapú
adatbázisrendszerre van szükség. A
hozzátartozó &os; port mindezeket automatikusan
telepíti a megadott beállítások
szerint.A Django telepítése az Apache,
mod_python3 és a PostgreSQL
használatával&prompt.root; cd /usr/ports/www/py-django; make all install clean -DWITH_MOD_PYTHON3 -DWITH_POSTGRESQLMiután a Django és a hozzá
szükséges komponensek felkerültek
rendszerünkre, hozzunk létre egy
könyvtárat a leendõ Django projektünknek
és állítsuk be az Apache szervert, hogy
az oldalunk belül a megadott linkekre a saját
alkalmazásunkat hívja meg a beágyazott
Python-értelmezõn keresztül.Az Apache beállítása a Django
és mod_python használatáhozA következõ sort kell hozzátennünk
a httpd.conf állományhoz,
hogy az Apache bizonyos linkeket a webes alkalmazás
felé irányítson át:<Location "/">
SetHandler python-program
PythonPath "['/a/django/csomagok/helye/'] + sys.path"
PythonHandler django.core.handlers.modpython
SetEnv DJANGO_SETTINGS_MODULE azoldalam.beallitasai
PythonAutoReload On
PythonDebug On
</Location>Ruby on RailsRuby on RailsA Ruby on Rails egy olyan másik nyílt
forráskódú keretrendszer, amivel
lényegében egy teljes fejlesztõi
készletet kapunk és amelyet kifejezetten arra
élezték ki, hogy
segítségével a webfejlesztõk sokkal
gyorsabban tudjanak haladni és a komolyabb
alkalmazások gyorsabb elkészítése
se okozzon nekik gondot. A
Portrgyûjteménybõl pillanatok alatt
telepíthetõ.&prompt.root; cd /usr/ports/www/rubygem-rails; make all install cleanmod_perlmod_perlPerlAz Apache és Perl
egyesítésén fáradozó
projekt a Perl programozási nyelv és az
Apache webszerver erejének
összehangolásán dolgozik. A
mod_perl modulon keresztül
Perlben vagyunk képesek modulokat
készíteni az Apache
szerverhez. Ráadásul a szerverben egy
belsõ állandó értelmezõ is
található hozzá, ezzel igyekeznek
megspórolni a külsõ értelmezõ
és a Perl indításából
keletkezõ többletköltségeket.A mod_perl több
különbözõ módon
állítható munkába. A
mod_perl
használatához nem szabad elfelejtenünk,
hogy a mod_perl 1.0-ás
verziója csak az Apache 1.3
változatával mûködik, és a
mod_perl 2.0-ás
változata pedig csak az
Apache 2.X
változataival. A mod_perl
1.0 a www/mod_perl
portból telepíthetõ, valamint a statikusan
beépített változata a www/apache13-modperl portban
található. A
mod_perl 2.0 a www/mod_perl2 portból
rakható fel.TomRhodesÍrta: mod_phpmod_phpPHPA PHP, vagy másik nevén
PHP, a hipertext feldolgozó egy
általános célú szkriptnyelv,
amelyet kifejezetten honlapok fejlesztéséhez
hoztak létre. A szabványos
HTML ágyazható nyelv
felépítésében a C, &java;
és Perl nyelveket ötvözi annak
elérése érdekében, hogy ezzel
segítse a fejlesztõket a dinamikusan
generált oldalak minél gyorsabb
megírásában.A PHP5 támogatását
úgy tudjuk hozzáadni az
Apache webszerverhez, ha
telepítjük a lang/php5 portot.Ha a lang/php5 portot
most telepítjük elõször, akkor a vele
kapcsolatos beállításokat
tartalmazó OPTIONS menü
automatikusan megjelenik. Ha ezzel nem
találkoznánk, mert például
valamikor korábban már felraktuk volna a
lang/php5 portot, akkor a
port könyvtárában következõ
parancs kiadásával tudjuk újra
visszahozni:&prompt.root; make configA beállítások között
jelöljük be az APACHE
opciót, amelynek eredményeképpen
létrejön az Apache
webszerverhez használható
mod_php5 betölthetõ
modul.A PHP4 modult még ma is
rengeteg szerver használja több
különbözõ okból
(például kompatibilitási
problémák vagy a már korábban
kiadott tartalom miatt). Ha tehát a
mod_php5 helyett inkább a
mod_php4 modulra lenne
szükségünk, akkor a lang/php4 portot
használjuk. A lang/php4 portnál is
megtalálhatjuk a lang/php5 fordítási
idejû beállításainak nagy
részét.Az iméntiek révén települnek
és beállítódnak a dinamikus
PHP alkalmazások
támogatásához szükséges
mouldok. Az
/usr/local/etc/apache/httpd.conf
állományban ellenõrizni is tudjuk, hogy az
alábbi részek megjelentek-e:LoadModule php5_module libexec/apache/libphp5.soAddModule mod_php5.c
<IfModule mod_php5.c>
DirectoryIndex index.php index.html
</IfModule>
<IfModule mod_php5.c>
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
</IfModule>Ahogy befejezõdött a mûvelet, a
PHP modul betöltéséhez
mindösszesen az apachectl paranccsal
kell óvatosan újraindítanunk a
webszervert:&prompt.root; apachectl gracefulA PHP jövõbeni
frissítéseihez már nem lesz
szükségünk a make config
parancsra, mivel a korábban kiválasztott
OPTIONS menün belüli
beállítasainkat a &os;
Portgyûjteményéhez tartozó
keretrendszer automatikusan elmenti.A PHP &os;-ben
megtalálható támogatása
kifejezetten moduláris, ezért az alap
telepítése igencsak korlátozott. A
további elemek hozzáadásához a
lang/php5-extensions
portot tudjuk használni. A port egy
menüvezérelt felületet nyújt a
PHP különbözõ
bõvítményeinek
telepítéséhez. Az egyes
bõvítményeket azonban a megfelelõ
portok használatával is fel tudjuk rakni.Például PHP5 modulhoz
úgy tudunk támogatást adni a
MySQL adatbázis szerverhez,
ha feltelepítjük a databases/php5-mysql portot.Miután telepítettünk egy
bõvítményt, az
Apache szerverrel újra be
kell töltetnünk a megváltozott
beállításokat:&prompt.root; apachectl gracefulMurrayStokelyKészítette: Állományok átvitele (FTP)FTP szerverekÁttekintésAz adatállomány átviteli protokoll
(File Transfer Protocol, FTP) a felhasználók
számára lehetõséget ad az ún.
FTP szerverekre
állományokat feltölteni, illetve onnan
állományokat letölteni. A &os; alaprendszere
is tartalmaz egy ilyen FTP szerverprogramot,
ftpd néven. Ezért &os;
alatt egy FTP
szerver beállítása meglehetõsen
egyszerû.BeállításA beállítás legfontosabb
lépése, hogy eldöntsük milyen
hozzáféréseken át lehet
elérni az FTP szervert. Egy hétköznapi &os;
rendszerben rengeteg hozzáférés a
különbözõ démonokhoz tartozik, de az
ismeretlen felhasználók számára nem
kellene megengednünk ezek használatát. Az
/etc/ftpusers állományban
szerepelnek azok a felhasználók, akik semmilyen
módon nem érhetik el az FTP
szolgáltatást. Alapértelmezés
szerint itt találhatjuk az elõbb említett
rendszerszintû hozzáféréseket is, de
ide minden további nélkül felvehetjük
azokat a felhasználókat, akiknél nem
akarjuk engedni az FTP elérését.Más esetekben elõfordulhat, hogy csak
korlátozni akarjuk egyes felhasználók FTP
elérését. Ezt az
/etc/ftpchroot állományon
keresztül tehetjük meg. Ebben az
állományban a lekorlátozni
kívánt felhasználókat és
csoportokat írhatjuk bele. Az &man.ftpchroot.5; man
oldalán olvashatjuk el ennek részleteit,
ezért ennek pontos részleteit itt most nem
tárgyaljuk.FTPanonimHa az FTP szerverünkhöz névtelen (anonim)
hozzáférést is engedélyezni akarunk,
akkor ahhoz elõször készítenünk
kell egy ftp nevû
felhasználót a &os; rendszerünkben. A
felhasználók ezután az
ftp vagy anonymous
nevek, valamint egy tetszõleges jelszó (ez a
hagyományok szerint a felhasználó e-mail
címe) használatával is képesek
lesznek bejelentkezni. Az FTP szerver ezután a
névtelen felhasználók esetében
meghívja a &man.chroot.2; rendszerhívást,
és ezzel lekorlátozza
hozzáférésüket az
ftp felhasználó
könyvtárára.Két szöveges állományban adhatunk
meg a becsatlakozó FTP kliensek számára
üdvözlõ üzeneteket. Az
/etc/ftpwelcome állomány
tartalmát még a bejelentkezés elõtt
látni fogják a felhasználók, a
sikeres bejelentkezést követõen pedig az
/etc/ftpmotd állomány
tartalmát látják. Vigyázzunk, mert
ennek az állománynak már a
bejelentkezési környezethez képest
relatív az elérése, ezért a
névtelen felhasználók esetében ez
konkrétan az ~ftp/etc/ftpmotd
állomány lesz.Ahogy beállítottuk az FTP szervert, az
/etc/inetd.conf állományban
is engedélyeznünk kell. Itt mindössze annyira
lesz szükségünk, hogy
eltávolítjuk a megjegyzést jelzõ
# karaktert a már meglevõ
ftpd sor elõl:ftp stream tcp nowait root /usr/libexec/ftpd ftpd -lAhogy arról már a szót ejtett, az
inetd
beállításait újra be kell
olvastatunk a konfigurációs állomány
megváltoztatása után.Most már be is tudunk jelentkezni az FTP
szerverre:&prompt.user; ftp localhostKarbantartássyslognaplóállományokFTPAz ftpd démon a
&man.syslog.3; használatával naplózza az
üzeneteket. Alapértelmezés szerint a
rendszernaplózó démon az FTP
mûködésére vonatkozó
üzeneteket az /var/log/xferlog
állományba írja. Az FTP naplóinak
helyét az /etc/syslog.conf
állományban tudjuk
módosítani:ftp.info /var/log/xferlogFTPanonimLegyünk körültekintõek a névtelen
FTP szerverek üzemeltetésekor. Azt pedig
kétszer is gondoljuk meg, hogy
engedélyezzük-e a névtelen
felhasználók számára
állományok feltöltését, hiszen
könnyen azon kaphatjuk magunkat, hogy az FTP oldalunk
illegális állománycserék
színterévé válik vagy esetleg valami
sokkal rosszabb történik. Ha mindenképpen
szükségünk lenne erre a
lehetõségre, akkor állítsunk be olyan
engedélyeket a feltöltött
állományokra, hogy a többi névtelen
felhasználó ezeket a tartalmuk tüzetes
ellenõrzéséig ne is olvashassa.MurrayStokelyKészítette: Állomány- és nyomtatási
szolgáltatások µsoft.windows; kliensek
számára (Samba)Samba szerverMicrosoft Windowsállományszerverwindowszos klienseknyomtatószerverwindowszos kliensekÁttekintésA Samba egy olyan elterjedt
nyílt forráskódú szoftver, ami
µsoft.windows; kliensek számára tesz
lehetõvé állomány- és
nyomtatási szolgáltatásokat. Az ilyen
kliensek általa helyi meghajtóként
képesek elérni a &os;
állományrendszerét, vagy helyi
nyomtatóként a &os; általt kezelt
nyomtatókat.A Samba csomagja
általában megtalálható a &os;
telepítõeszközén. Ha a &os;-vel
együtt nem raktuk fel a Samba
csomagját, akkor ezt késõbb net/samba3 port vagy csomag
telepítésével pótolhatjuk.BeállításA Samba
konfigurációs állománya a
telepítés után
/usr/local/share/examples/samba/smb.conf.default
néven található meg. Ezt kell
lemásolnunk /usr/local/etc/smb.conf
néven, amelyet aztán a
Samba tényleges
használata elõtt módosítanunk
kell.Az smb.conf állomány a
Samba futásához
használt beállításokat tartalmazza,
mint például &windows; kliensek
számára felkínált a nyomtatók
és megosztások adatait. A
Samba csomagban ezen
kívül találhatunk még egy
swat nevû webes eszközt,
amellyel egyszerû módon tudjuk az
smb.conf állományt
állítgatni.A Samba webes adminisztrációs eszköze
(SWAT)A Samba webes adminisztrációs
segédeszköze (Samba Web Administration Tool, SWAT)
az inetd démonon
keresztül fut démonként. Ennek
megfelelõn az /etc/inetd.conf
állományban a következõ sort kell
kivennünk megjegyzésbõl, mielõtt a
swat
segítségével megkezdenénk a
Samba
beállítását:swat stream tcp nowait/400 root /usr/local/sbin/swat swatAhogy azt a is
mutatja, az inetd démont
újra kell indítanunk a megváltozott
konfigurációs állományának
újbóli beolvasásához.Miután az inetd.conf
állományban a swat
engedélyezésre került, a
böngészõnk segítségével
próbáljunk meg a címre csatlakozni.
Elõször a rendszer root
hozzáférésével kell
bejelentkeznünk.Miután sikeresen bejelentkeztünk a
Samba
beállításait tárgyaló
lapra, el tudjuk olvasni a rendszer
dokumentációját, vagy a
Globals fülre kattintva
nekiláthatunk a beállítások
elvégzésének. A
Globals részben
található opciók az
/usr/local/etc/smb.conf
állomány [global]
szekciójában található
változókat tükrözik.Általános
beállításokAkár a swat
eszközzel, akár a
/usr/local/etc/smb.conf közvetlen
módosításával dolgozunk, a
Samba
beállítása során a
következõkkel mindenképpen össze fogunk
futni:workgroupA szervert elérni kívánó
számítógépek által
használt NT tartomány vagy munkacsoport
neve.netbios nameNetBIOSA Samba szerver NetBIOS
neve. Alapértelmezés szerint ez a
név a gép hálózati
nevének elsõ tagja.server stringEz a szöveg jelenik meg akkor, ha
például a net view
paranccsal vagy valamilyen más
hálózati segédprogrammal
kérdezzük le a szerver beszédesebb
leírását.Biztonsági
beállításokA /usr/local/etc/smb.conf
állományban a két legfontosabb
beállítás a választott
biztonsági modell és a kliensek
felhasználói jelszavainak
tárolásához használt
formátum. Az alábbi direktívák
vezérlik ezeket:securityItt a két leggyakoribb
beállítás a security =
share és a security =
user. Ha a kliensek a &os; gépen
található felhasználói
neveiket használják, akkor
felhasználói szintû védelemre
van szükségünk (tehát a user
beállításra). Ez az
alapértelmezett biztonsági házirend
és ilyenkor a klienseknek elõször be
kell jelentkezniük a megosztott
erõforrások
eléréséhez.A megosztás (share) szintû
védelem esetében, a klienseknek nem kell a
szerveren érvényes
felhasználói névvel és
jelszóval rendelkezniük a megosztott
erõforrások eléréséhez.
Ez volt az alapbeállítás a
Samba korábbi
változataiban.passdb backendNIS+LDAPSQL adatbázisA Samba számos
különbözõ hitelesítési
modellt ismer. A klienseket LDAP, NIS+, SQL
adatbázis vagy esetleg egy
módosított jelszó
állománnyal is tudjuk hitelesíteni.
Az alapértelmezett hitelesítési
módszer a smbpasswd,
így itt most ezzel foglalkozunk.Ha feltesszük, hogy az alapértelmezett
smbpasswd formátumot
választottuk, akkor a Samba
úgy fogja tudni hitelesíteni a klienseket, ha
elõtte létrehozzuk a
/usr/local/private/smbpasswd
állományt. Ha a &windows;-os kliensekkel is el
akarjuk érni a &unix;-os felhasználói
hozzáféréseinket, akkor használjuk
a következõ parancsot:&prompt.root; smbpasswd -a felhasználónévA Samba a 3.0.23c
verziójától kezdõdõen a
hitelesítéshez szükséges
állományokat a /usr/local/etc/samba
könyvtárban tárolja. A
felhasználói hozzáférések
hozzáadására innentõl már a
tdbsam parancs használata
javasolt:&prompt.root; pdbedit felhasználónévA
hivatalos Samba HOGYAN ezekrõl a
beállításokról szolgál
további információkkal (angolul).
Viszont az itt vázolt alapok viszont már
elegendõek a Samba
elindításához.A Samba
elindításaA net/samba3 port a
Samba
irányítására egy új
indító szkriptet tartalmaz. A szkript
engedélyezéséhez, tehát
általa a Samba
elindításának,
leállításának és
újraindításának lehetõvé
tételéhez vegyük fel a következõ
sort az /etc/rc.conf
állományba:samba_enable="YES"Ha még finomabb irányításra
vágyunk:nmbd_enable="YES"smbd_enable="YES"Ezzel egyben a rendszer indításakor
automatikusan be is indítjuk a
Samba
szolgáltatást.A Samba a következõkkel
bármikor elindítható:&prompt.root; /usr/local/etc/rc.d/samba start
Starting SAMBA: removing stale tdbs :
Starting nmbd.
Starting smbd.Az rc szkriptekkel kapcsolatban a t ajánljuk
elolvasásra.A Samba jelen pillanatban
három különálló
démonból áll. Láthatjuk is, hogy az
nmbd és
smbd démonokat
elindította a samba szkript. Ha az
smb.conf állományban
engedélyeztük a winbind
névfeloldási szolgáltatást is, akkor
láthatjuk, hogy ilyenkor a
winbindd démon is
elindul.A Samba így
állítható le akármikor:&prompt.root; /usr/local/etc/rc.d/samba stopA Samba egy összetett
szoftvercsomag, amely a µsoft.windows;
hálózatokkal kapcsolatos széles
körû együttmûködést tesz
lehetõvé. Az általa felkínált
alapvetõ lehetõségeken túl a többit
a honlapon
ismerhetjük meg (angolul).TomHukinsKészítette: Az órák egyeztetése az NTP
használatávalNTPÁttekintésIdõvel a számítógép
órája hajlamos elmászni. A
hálózati idõ protokoll (Network Time
Protocol, NTP) az egyik módja az óránk
pontosan tartásának.Rengeteg internetes szolgáltatás
elvárja vagy éppen elõnyben
részesíti a számítógép
órájának pontosságát.
Például egy webszervertõl
megkérdezhetik, hogy egy állományt adott
ideje módosítottak-e. A helyi
hálózatban az egyazon
állományszerveren megosztott
állományok ellentmondásmentes
dátumozása érdekében szinte
elengedhetetlen az órák
szinkronizálása. Az olyan
szolgáltatások, mint a &man.cron.8; is komolyan
építkeznek a pontosan járó
rendszerórára, amikor egy adott pillanatban kell
lefuttatniuk parancsokat.NTPntpdA &os; alapból az &man.ntpd.8; NTP szervert tartalmazza, amellyel
más NTP
szerverek segítségével tudjuk
beállítani gépünk
óráját, vagy éppen idõvel
kapcsolatos információkat szolgáltatni
másoknak.A megfelelõ NTP szerverek
kiválasztásaNTPa szerverek kiválasztásaAz óránk egyeztetéséhez egy vagy
több NTP
szerverre lesz szükségünk. Elõfordulhat,
hogy a hálózati rendszergazdánk vagy az
internet-szolgáltatónk már
beállított egy ilyen szervert erre a célra.
Ezzel kapcsolatban olvassuk el a megfelelõ
leírásokat. A nyilvánosan
elérhetõ NTP szerverekrõl készült
egy lista, ahonnan könnyedén ki tudjuk
keresni a számunkra leginkább megfelelõ
(hozzánk legközelebbi) szervert. Ne hagyjuk
figyelmen kívül a szerverre vonatkozó
házirendet és kérjünk engedélyt
a használatához, amennyiben ez
szükséges.Több, egymással közvetlen kapcsolatban nem
álló NTP szerver
választásával járunk jól, ha
netalán az egyikük váratlanul
elérhetetlenné vagy az órája
pontatlanná válna. Az &man.ntpd.8; a visszakapott
válaszokat intelligensen használja fel, mivel
esetükben a megbízható szervereket
részesíti elõnyben.A gépünk
beállításaNTPbeállításaAlapvetõ beállításokntpdateHa a számítógépünk
indításakor akarjuk egyeztetni az
óránkat, akkor erre az &man.ntpdate.8; nevû
programot használhatjuk. Ez olyan asztali gépek
számára megfelelõ választás,
amelyeket gyakran indítanak újra és csak
idõnként kell szinkronizálnunk. A
legtöbb gépnek viszont az &man.ntpd.8;
használatára van szüksége.Az &man.ntpdate.8; elindítása olyan
esetekben is hasznos, ahol az &man.ntpd.8; is fut. Az
&man.ntpd.8; az órát fokozatosan
állítja, ellenben az &man.ntpdate.8; az
eltérés mértékétõl
és irányától függetlenül
egyszerûen átállítja a gép
óráját a pontos idõre.Az &man.ntpdate.8; elindítását
úgy tudjuk engedélyezni a rendszer
indításakor, ha az
/etc/rc.conf állományba
berakjuk az ntpdate_enable="YES" sort.
Emellett még ntpdate_flags
változóban meg kell adnunk az alkalmazott
beállítások mellett azokat a szervereket,
amelyekkel szinkronizálni akarunk.NTPntp.confÁltalános
beállításokAz NTP az /etc/ntp.conf
állományon keresztül
állítható, amelyek
felépítését az &man.ntp.conf.5;
man oldal tárgyalja. Íme erre egy egyszerû
példa:server ntplocal.minta.com prefer
server timeserver.minta.org
server ntp2a.minta.net
driftfile /var/db/ntp.driftA server beállítás
adja meg az egyeztetéshez használt szervereket,
soronként egyet. Ha egy szerver mellett szerepel
még a prefer paraméter is,
ahogy azt a példában a ntplocal.minta.com mellett
láthattuk, akkor a többivel szemben azt a szervert
fogjuk elõnyben részesíteni. Az így
kiemelt szervertõl érkezõ választ
abban az esetben viszont eldobjuk, hogy a többi
szervertõl kapott válasz jelentõs
mértékben eltér tõle. Minden
más esetben a õ válasza lesz a
mérvadó. A prefer
paramétert általában olyan NTP
szerverekhez használják, amelyek
közismerten nagy pontosságúak, tehát
például külön erre a célra
szánt felügyeleti eszközt is
tartalmaznak.A driftfile
beállítással azt az
állományt adjuk meg, amiben a rendszeróra
frekvencia eltolódásait tároljuk. Az
&man.ntpd.8; program ezzel ellensúlyozza automatikusan
az óra természetes
elmászását, ezáltal
lehetõvé téve, hogy egy viszonylag pontos
idõt kapjuk még abban az esetben is, amikor egy
kis idõre külsõ idõforrások
nélkül maradnánk.A driftfile
beállítással egyben azt az
állományt jelöljük ki, amely az NTP
szervertõl kapott korábbi válaszokat
tárolja. Ez az NTP mûködéséhez
szükséges belsõ adatokat tartalmaz,
ezért semmilyen más programnak nem szabad
módosítania.A szerverünk elérésének
szabályozásaAlapértelmezés szerint az NTP
szerverünket bárki képes elérni az
interneten. Az /etc/ntp.conf
állományban szereplõ
restrict beállítás
segítségével azonban meg tudjuk mondani,
milyen gépek érhetik el a
szerverünket.Ha az NTP szerverünk felé mindenféle
próbálkozást el akarunk utasítani,
akkor az /etc/ntp.conf
állományba a következõ sort kell
felvennünk:restrict default ignoreEzzel egyben azonban a helyi
beállításainkban szereplõ
szerverek elérését is
megakadályozzuk. Ha külsõ NTP szerverekkel
is szeretnénk szinkronizálni, akkor itt is
engedélyezünk kell ezeket. Errõl
bõvebben lásd az &man.ntp.conf.5; man
oldalon.Ha csak a belsõ hálózatunkban levõ
gépek számára szeretnénk
elérhetõvé tenni az órák
egyeztetését, de sem a szerver
állapotának
módosítását nem
engedélyezzük, sem pedig azt, hogy a vele
egyenrangú szerverekkel szinkronizáljon, akkor
az iménti helyett arestrict 192.168.1.0 mask 255.255.255.0 nomodify notrapsort írjuk bele, ahol a 192.168.1.0 a belsõ
hálózatunk IP-címe és a 255.255.255.0 a
hozzátartozó hálózati
maszk.Az /etc/ntp.conf több
restrict típusú
beállítást is tartalmazhat. Ennek
részleteirõl az &man.ntp.conf.5; man oldalon, az
Access Control Support címû
szakaszban olvashatunk.Az NTP futtatásaÚgy tudjuk az NTP szervert elindítani a
rendszerünkkel együtt, ha az
/etc/rc.conf állományban
szerepeltetjük az ntpd_enable="YES"
sort. Ha az &man.ntpd.8; számára további
beállításokat is át akarunk adni,
akkor az /etc/rc.conf
állományban adjuk meg az
ntpd_flags paramétert.Ha a gépünk újraindítása
nélkül akarjuk elindítani a szerver, akkor az
ntpd parancsot adjuk ki az
/etc/rc.conf állományban a
ntpd_flags változóhoz megadott
paraméterekkel. Mint például:&prompt.root; ntpd -p /var/run/ntpd.pidAz ntpd használati idõleges internet
csatlakozássalAz &man.ntpd.8; program megfelelõ
mûködéséhez nem szükséges
állandó internet kapcsolat. Ha azonban
igény szerinti tárcsázással
építjünk fel ideiglenes kapcsolatot, akkor
érdemes letiltani az NTP forgalmát, nehogy
feleslegesen aktiválja vagy tartsa életben a
vonalat. Ha PPP típusú kapcsolatunk van, akkor az
/etc/ppp/ppp.conf állományban
a filter direktívával tudjuk
ezt leszabályozni. Például: set filter dial 0 deny udp src eq 123
# Nem engedjük az NTP által küldött adatoknak, hogy tárcsázást
# kezdeményezzenek:
set filter dial 1 permit 0 0
set filter alive 0 deny udp src eq 123
# Nem engedjük az NTP adatainak, hogy fenntartsák a kapcsolatot:
set filter alive 1 deny udp dst eq 123
set filter alive 2 permit 0/0 0/0Mindenezekrõl részletesebb
felvilágosítást a &man.ppp.8; man oldal
PACKET FILTERING címû
szakaszában és a
/usr/share/examples/ppp/
könyvtárban található
példákban kaphatunk.Egyes internet-szolgáltatók
blokkolják az alacsonyabb portokat, ezáltal az
NTP nem használható, mivel a válaszok nem
fogják elérni a gépünket.További olvasnivalókAz NTP szerver dokumentációja HTML
formátumban a /usr/share/doc/ntp/
könyvtárban található.
diff --git a/hu_HU.ISO8859-2/books/handbook/ports/chapter.sgml b/hu_HU.ISO8859-2/books/handbook/ports/chapter.sgml
index 4edc7065e9..626da9d36e 100644
--- a/hu_HU.ISO8859-2/books/handbook/ports/chapter.sgml
+++ b/hu_HU.ISO8859-2/books/handbook/ports/chapter.sgml
@@ -1,2175 +1,2175 @@
Alkalmazások telepítése: csomagok
és portokÁttekintésportokcsomagokA &os; rendszereszközök gazdag
gyûjteményével érkezik az alaprendszer
részeként. Azonban a külsõ
alkalmazások telepítéséhez rengeteg
teendõt kell elvégeznünk. A feladat
elvégzésére ezért a &os; két,
egymást kiegészítõ
technológiát kínál fel: a &os;
Portgyûjteményt (telepítés
forráskódból) és a csomagokat
(telepítés elõre elkészített
bináris csomagokból). Mind a két
módszerrel fel tudjuk telepíteni a kedvenc
alkalmazásunk legújabb verzióját
lokálisan vagy egyenesen a
hálózatról.A fejezet elolvasása során
megismerjük:hogyan telepítsünk külsõ
fejlesztésû bináris
szoftvercsomagokat;hogyan fordítsunk le a forrásukból
külsõ fejlesztésû szoftvereket a
Portgyûjtemény
segítségével;hogyan távolítsunk el korábban
már telepített csomagokat és
portokat;hogyan bíráljuk felül a
Portgyûjtemény által használt
alapértelmezett értékeket;hogyan keressük meg a megfelelõ
szoftvercsomagokat;hogyan frissítsük a telepített
alkalmazásokat.Az alkalmazások telepítésének
összefoglalásaHa korábban már használtunk &unix;
rendszereket, valószínûleg ismerjük a
külsõ alkalmazások
telepítésének jellemezõ
menetét:Töltsük le a szoftvert, amelyet vagy
forráskód vagy pedig bináris
formátumban érhetünk el.Bontsuk ki az alkalmazás letöltött
változatát (ez általában a
&man.compress.1;, &man.gzip.1; vagy a &man.bzip2.1;
által tömörített tar
állomány).Keressük meg dokumentációt
(többnyire az INSTALL vagy a
README állományban
található, vagy a doc/
alkönyvtárban) és olvassuk el benne, hogyan
tudjuk telepíteni a szoftvert.Ha a szoftver forrását
töltöttük le, fordítsuk le.
Elképzelhetõ, hogy ennek során
szerkesztenünk kell a Makefile
állományt vagy lefuttatnunk a
configure szkriptet, illetve más
lépéseket is el kell
végeznünk.Próbáljuk a ki szoftvert, majd
telepítsük.Ez annak a forgatókönyve, amikor minden hiba
nélkül lezajlik. Megeshet azonban, ha olyan szoftvert
telepítünk, amelyet nem kifejezetten a &os;-hez
terveztek, akkor javítanunk kell a
forráskódban a szoftver megfelelõ
mûködéséhez.Ha sikerül mûködésre bírni,
folytathatjuk &os;-n a szoftver telepítését a
megszokott módon. Habár a &os; erre
a célra két lehetõséget is
felkínál, amivel rengeteg
erõfeszítéstõl megkímélhet
minket: ezek a csomagok és a portok. Az írás
pillanatában közel &os.numports; külsõ
alkalmazás érhetõ el ilyen
formában.Egy adott alkalmazás esetén a
hozzátartozó &os;-s csomag mindössze egyetlen
letöltendõ állományt takar. A csomag
tartalmazza az alkalmazás
telepítéséhez szükséges
összes parancs elõre lefordított
változtatát, ugyanígy magát a
dokumentációt is. A letöltött csomagokat
a &os; csomagkezelõ parancsaival vehetjük
használatba: ezek a &man.pkg.add.1;, &man.pkg.delete.1;,
&man.pkg.info.1; és így tovább. Az új
alkalmazások telepítése ennek
köszönhetõen egyetlen paranccsal
elvégezhetõ.Egy alkalmazás &os;-s portja mögött
lényegében állományok
gyûjteménye áll, amelyek abban
segítenek, hogy automatikusan tudjunk telepíteni a
forráskód
felhasználásával.Ne felejtsük el, hogy normális esetben
számos lépcsõt végig kell járnunk
egy program sajátkezû
lefordításához (letöltés,
kitömörítés, javítgatás,
fordítás, telepítés). A portot
alkotó állományok tartalmazzák az
összes olyan szükséges információt,
amelyek átengedik ezt a feladatot a rendszernek. Kiadunk
néhány egyszerû parancsot és az
alkalmazás magától letöltõdik,
kitömörítõdik, módosítja a
forráskódját, lefordul és
települ.Valójában a portrendszer
használható olyan csomagok
létrehozására is, amelyeket
késõbb a pkg_add és
többi hozzá hasonló, hamarosan
részletesebben is bemutatandó csomagkezelõ
paranccsal is kezelni tudunk.A csomagok és a portok egyaránt képesek
függõségeket kezelni.
Tegyük fel, hogy egy olyan alkalmazást akarunk
telepíteni, amely egy adott
függvénykönyvtár
meglététõl függ a rendszeren. Az
alkalmazás és a könyvtár is
elérhetõ &os; portként és
csomagként. Akár a pkg_add
parancsot, akár a portrendszert használjuk az
alkalmazás hozzáadására, mind a
kettõ észre fogja venni, hogy a szükséges
könyvtárt még nem telepítettük,
ezért elõször azt fogja automatikusan
telepíteni.Tudván, hogy a két említett
megoldás szinte teljesen egyenértékû,
felmerülhet a kérdés: a &os; mégis
miért rendelkezik mindkettõvel? A csomagoknak
és a portoknak is megvannak a maguk elõnyei, és
hogy a kettõ közül melyiket használjuk, csak
az egyéni ízlésünkön
múlik.A csomagok használatának elõnyeiEgy csomag általában kisebb, mint az
alkalmazás forráskódját
tartalmazó tömörített tar
állomány.A csomagokat nem kell fordítani. Nagyobb
alkalmazások, mint például a
Mozilla,
KDE vagy
GNOME esetén ez
kulcsfontosságú lehet, fõleg abban az
esetben, ha a rendszerünk ehhez nem eléggé
gyors.A csomagok használata nem várja el
tõlünk, hogy behatóbban ismerjük
miként is kell &os;-n szoftvereket
lefordítani.A portok használatának elõnyeiA csomagokat általános esetben igen
óvatos beállításokkal
készítik el, hiszen a lehetõ legtöbb
rendszeren mûködõképesnek kell
lenniük. Ha viszont portból
telepítünk, nyugodtan hangolhatjuk úgy a
beállításokat, hogy
(például) a &pentium; 4 vagy az Athlon
processzoroknak kedvezõ kódot hozzanak
létre.Bizonyos alkalmazások fordítás
idején állítandó
beállításokkal rendelkeznek arról,
hogy mire lesznek képesek és mire nem.
Például az Apache
beépített konfigurációs
opciók széles kelléktárával
rendelkezik. Amikor viszont portból hozzuk
létre, nem kell elfogadnunk ezek alapértelmezett
értékeit, hanem a saját
igényeinknek megfelelõen
átállíthatjuk ezeket.Egyes esetekben több különféle
beállítást tükrözõ csomag
is létezhet ugyanahhoz az alkalmazáshoz.
Például a Ghostscript
elérhetõ ghostscript
és ghostscript-nox11
csomagként is attól függõen, hogy
telepítettük-e az X11 szervert. Ez
természetesen egy meglehetõsen durva
kijátszása a csomagrendszernek, és
gyorsan lehetetlenné is válik a
használata, ha az adott alkalmazás
egy-két fordítási idejû
beállításnál többel
rendelkezik.Néhány szoftver licencelése tiltja a
bináris terjesztést. Ezért ezek a
szoftverek kizárólag csak
forráskód formájában
továbbíthatóak.Néhányan nem bíznak meg a
bináris verziókban. Ha látjuk a
forráskódot is, akkor (elméletben)
át tudjuk nézni, és mi magunk is
megkereshetjük a benne lappangó
hibákat.Ha vannak saját javításaink, csak a
forráskód birtokában tudjuk ezeket
felhasználni.Sokan szeretik, ha egyszerûen csak ott
van a szoftverek forráskódja. Ha
éppen unatkoznak, beléjük tudnak
nézni, ötleteket és kódot tudnak
belõlük meríteni (persze csak akkor, ha ezt a
licenc megengedi), vagy tovább tudják ezeket
fejleszteni, orvosolni tudják a hibáikat
stb.A portok frissítésérõl a &a.ports;
és a &a.ports-bugs; valamelyikérõl
szerezhetünk naprakész
információkat.Mielõtt bármelyik alkalmazást is
telepítenénk, érdemes meglátogatnunk
az oldalt, ahol a
hozzátartozó ismert biztonsági
problémákról olvashatunk.Telepíthetjük a ports-mgmt/portaudit programot is,
amely automatikusan ellenõrzi a telepített
alkalmazások ismert sebezhetõségeit. Ez az
ellenõrzés egyébként megejthetõ
minden port lefordítása elõtt is. Ezalatt a
portaudit -F -a parancs
kiadásával ellenõrizhetjük utólag
a telepített csomagokat.A fejezet fennmaradó részében
megmutatjuk, hogyan használjuk &os;-ben a csomagokat
és portokat külsõ alkalmazások
telepítésére és
karbantartására.A számunkra szükséges alkalmazások
felkutatásaMielõtt telepítenénk bármilyen
alkalmazást, tudnunk kell, hogyan is nevezik.A &os;-hez elérhetõ alkalmazások
listája folyamatosan növekszik. Szerencsére
számos módja van annak, hogy
utánajárjunk a keresett szoftvernek:A &os; honlapján találhatunk egy
rendszeresen frissülõ listát az összes
elérhetõ alkalmazásról, a http://www.FreeBSD.org/ports/
címen. Itt a portok különbözõ
kategóriákba sorolva találhatóak
meg, ahol név szerint megkereshetjük az
alkalmazást (amennyiben ismerjük), vagy
végigböngészhetjük az adott
kategóriában elérhetõ
alkalmazásokat is.FreshPortsDan Langlille a címen
karbantartja a FreshPorts nevû oldalt. Ezen az oldalon
folyamatosan nyomon lehet követni a
Portgyûjteményben megtalálható
alkalmazások változásait,
lehetõvé téve, hogy egy vagy több
portot is figyeljünk, vagy e-mailt
küldjünk a
frissítésükrõl.FreshMeatAmennyiben nem ismerjük a keresett alkalmazás
nevét, próbáljuk meg felkutatni a
FreshMeaten ()
vagy hozzá hasonló oldalakon, majd
nézzük a &os; honlapján, hogy az adott
alkalmazást portolták-e már a
rendszerre.Ha pontosan ismerjük a port nevét, és
csak a kategóriáját kellene
megkeresnünk, használjuk a &man.whereis.1;
parancsot. Egyszerûen csak adjuk ki a whereis
név parancsot,
ahol az név a
telepítendõ program neve. Ha sikerült
megtalálni, részletes információt
kapunk arról, hogy hol található,
valahogy így:&prompt.root; whereis lsof
lsof: /usr/ports/sysutils/lsofA fenti példában megtudhatjuk, hogy az
lsof parancs a
/usr/ports/sysutils/lsof
könyvtárban található.Vagy egy egyszerû &man.echo.1; paranccsal is
megkereshetjük a portfában a portokat. Mint
például:&prompt.root; echo /usr/ports/*/*lsof*
/usr/ports/sysutils/lsofEz a módszer a /usr/ports/distfiles
könyvtárba letöltött összes
illeszkedõ állományt is
kilistázza.Egy másik lehetõség egy adott port
megtalálására, ha a
Portgyûjtemény beépített
keresési mechanizmusát használjuk. Ennek
használatához a /usr/ports
könyvtárban kell lennünk. Miután
beléptünk ide, futtassuk le a make
search
name=programnév
parancsot, ahol a programnév
a keresendõ program neve. Például, ha az
lsof programot keressük:&prompt.root; cd /usr/ports
&prompt.root; make search name=lsof
Port: lsof-4.56.4
Path: /usr/ports/sysutils/lsof
Info: Lists information about open files (similar to fstat(1))
Maint: obrien@FreeBSD.org
Index: sysutils
B-deps:
R-deps: A keresés eredményében
leginkább a Path: kezdetû sorra kell
odafigyelnünk, mivel ez árulja el, hol is
találhatjuk meg a portot. Az itt szereplõ
többi információ nem szükséges
a port telepítéséhez, ezért
azokkal itt most nem foglalkozunk.Mélyebb keresésekhez használhatjuk a
make search
key=szöveg parancsot
is, ahol a szöveg a
keresendõ szöveg(részlet) lesz. Ezt a
rendszer keresni fogja a portok neveiben,
megjegyzésekben, leírásokban és
függõségekben. Amikor nem ismerjük a
keresett program nevét, ez olyan portok
keresésére alkalmas, amelyek egy adott
témához kapcsolódnak.A fenti esetek mindegyikében a keresés nem
különbözteti meg a kis- és
nagybetûket. Tehát a LSOF
keresése ugyanazt az eredményt adja, mint az
lsof esetén.ChernLeeÍrta: A csomagrendszer használataCsomagok telepítésecsomagoktelepítésepkg_addA &man.pkg.add.1; segédprogram
segítségével telepíthetünk
&os;-hez készült szoftvercsomagokat lokálisan
vagy a hálózaton levõ egyik szerveren
megtalálható
állományokból:Csomagok letöltése manuálisan
és telepítése lokálisan&prompt.root; ftp -a ftp2.FreeBSD.org
Connected to ftp2.FreeBSD.org.
220 ftp2.FreeBSD.org FTP server (Version 6.00LS) ready.
331 Guest login ok, send your email address as password.
230-
230- This machine is in Vienna, VA, USA, hosted by Verio.
230- Questions? E-mail freebsd@vienna.verio.net.
230-
230-
230 Guest login ok, access restrictions apply.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp>cd /pub/FreeBSD/ports/packages/sysutils/
250 CWD command successful.
ftp>get lsof-4.56.4.tgz
local: lsof-4.56.4.tgz remote: lsof-4.56.4.tgz
200 PORT command successful.
150 Opening BINARY mode data connection for 'lsof-4.56.4.tgz' (92375 bytes).
100% |**************************************************| 92375 00:00 ETA
226 Transfer complete.
92375 bytes received in 5.60 seconds (16.11 KB/s)
ftp>exit
&prompt.root; pkg_add lsof-4.56.4.tgzHa nincsenek egyáltalán helyben csomagjaink
(például egy &os; CD-készletben), akkor a
legjobban úgy járunk, ha a használjuk a
&man.pkg.add.1; kapcsolóját.
Ennek hatására a segédprogram
önmagától meghatározza a
szükséges állományformátumot
és verziót, majd FTP-n keresztül letölti
és telepíti a csomagot.pkg_add&prompt.root; pkg_add -r lsofAz iménti példában a program
mindenféle további beavatkozás
nélkül letölti a megfelelõ csomagot
és felteszi. Ha a központi helyett egy másik
szervert szeretnénk használni, felül kell
bírálnunk az alapértelmezett
beállításokat és igényeinknek
megfelelõen be kell állítanunk a
PACKAGESITE környezeti változó
értékét. A &man.pkg.add.1; a &man.fetch.3;
programot használja az állományok
letöltésére, amely pedig számos
egyéb környezeti változót is figyel,
mint például az FTP_PASSIVE_MODE,
az FTP_PROXY és az
FTP_PASSWORD. Ha tûzfal mögött
vagyunk, ezek közül néhányat biztosan be
kell majd állítanunk, vagy FTP/HTTP proxyt kell
használnunk. A &man.fetch.3; man oldalán
megtaláljuk ezen változók teljes
felsorolását. Figyeljük meg, hogy az
lsof-4.56.4 helyett csak
lsof-ot adtunk meg. Amikor ugyanis
kérjük a csomag letöltését is,
nem szabad verziószámot megadnunk. A
&man.pkg.add.1; mindig az alkalmazás legfrissebb
verzióját fogja letöltetni.Ha a &os.current; vagy &os.stable; verziókat
használjuk, a &man.pkg.add.1; mindig az
alkalmazás elérhetõ legfrissebb
verzióját fogja letölteni. Ha azonban
valamelyik -RELEASE verziót használjuk, a
csomagnak az adott kiadáshoz készült
verzióját fogja leszedni. Ezt a
mûködési módot a
PACKAGESITE változó
felülírásával viszont meg tudjuk
változtatni. Például ha a
&os; 5.4-RELEASE változatával dolgozunk, a
&man.pkg.add.1; alapértelmezés szerint a
ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-5.4-release/Latest/
címrõl fogja letölteni a csomagokat. Ha mi
viszont a &os; 5-STABLE csomagok
letöltését akarjuk elérni,
állítsuk az PACKAGESITE
értékét a
ftp://ftp.freebsd.org/pub/FreeBSD/i386/packages-5-stable/Latest/
címre.A csomagok .tgz és
.tbz formátumokban kerülnek
terjesztésre. Ezek az
címen, vagy pedig a &os; CD-ken találhatóak
meg. A 4 CD-bõl álló készlet (illetve
a PowerPak stb.) minden CD-jén találhatunk
csomagokat a packages/
könyvtárban. A csomagokat tároló
könyvtár struktúrája hasonló a
/usr/ports könyvtárban
kialakított könyvtárfához. Minden
kategóriának saját könyvtára
van, és minden csomag megtalálható az
All (összes)
kategóriában.A csomagrendszer könyvtárszerkezete tehát
megegyezik a portok szétosztásával,
ezáltal így képesek egymással
összedolgozni a teljes csomag/port rendszer
megformálásában.A csomagok kezelésecsomagokkezelésA &man.pkg.info.1; egy olyan segédprogram, amellyel
készíteni lehet egy listát a
telepített csomagokról, és emellett
még más egyéb információkat
tudhatunk meg róluk.pkg_info&prompt.root; pkg_info
cvsup-16.1 A general network file distribution system optimized for CV
docbook-1.2 Meta-port for the different versions of the DocBook DTD
...A &man.pkg.version.1; összefoglalja az összes
telepített csomag verzióját.
Ezenkívül össze is hasonlítja a csomagok
verzióját a portfában
található aktuális
verziókéval.pkg_version&prompt.root; pkg_version
cvsup =
docbook =
...A második oszlopban látható jelek
utalnak a telepített verzió a helyi
portfában található
verzióéhoz viszonyított
korára.JelJelentés=A telepített csomag verziója megegyzik
a helyi portfában található
verziójával.<A telepített verzió a portfában
levõnél régebbi.>A telepített verzió újabb, mint
a portfában található. (A helyi
portfa valószínûleg nem lett
frissítve.)?A telepített csomag nem
található a portok között. (Ez
akkor történhet meg, amikor
például egy portot
eltávolítottak a
Portgyûjteménybõl vagy
átnevezték.)*A csomagnak több verziója is jelen
van.!A telepített csomag szerepel az indexben, de a
pkg_version valamiért nem volt
képes összehasonlítani a
verziószámát az indexben levõ
bejegyzéssel.Csomagok törlésepkg_deletecsomagoktörlésEgy korábban már telepített csomag
eltávolításához használjuk a
&man.pkg.delete.1; segédprogramot.&prompt.root; pkg_delete xchat-1.7.1A &man.pkg.delete.1; használatánál
szükség van a csomag teljes nevének és
verziószámának megadására. A
fenti parancs tehát nem mûködik, ha csak az
xchat-et adjuk meg az
xchat-1.7.1 helyett. A
telepített csomag verzióját azonban
könnyedén kitalálhatjuk a &man.pkg.version.1;
alkalmazásával. Esetleg egyszerûen
dzsókerkaraktereket is használhatunk:&prompt.root; pkg_delete xchat\*Ebben az esetben az összes xchat-tel
kezdõdõ csomagot letörli.EgyebekA csomagokra vonatkozó összes
információ a /var/db/pkg
könyvtárban található. Az egyes
csomagok leírása és hozzájuk
telepített állományok listája az
ezen a könyvtáron belül elhelyezkedõ
állományokban tárolódik.A Portgyûjtemény használataA most következõ szakaszokban megismerhetjük
azokat az alapvetõ utasításokat, amelyekkel a
Portgyûjteményen keresztül tudunk programokat
telepíteni és eltávolítani. Az ehhez
használható make targetek
és környezeti változók
részletesebb leírását a &man.ports.7;
man oldalán lelhetjük meg.A Portgyûjtemény beszerzéseMielõtt bármelyik portot is tudnánk
telepíteni, elsõként magát a
Portgyûjteményt kell megszereznünk — ez
lényegében a /usr/ports
könyvtárban megtalálható
Makefile állományok,
javítások és leírások
gyûjteménye.A &os; telepítése közben a
sysinstall rákérdez a
Portgyûjtemény telepítésére is.
Ha erre nemet válaszoltunk volna, a portok
gyûjteményét az alábbi módokon
szerezhetjük be:A CVSup használatávalA CVSup protokoll
használatával viszonylag gyorsan el tudjuk
érni és naprakészen tudjuk tartani a
Portgyûjtemény egy példányát.
A CVSup használatát
alaposabban a A CVSup
használata címû
függelékben ismerhetjük meg.A &os; 6.2 változatától kezdve az
alaprendszerben a CVSup
protokollt a csup
valósítja meg. A &os; korábbi
változatának használói ezt a
programot a net/csup
porton vagy csomagon keresztül tudják
telepíteni.Gondoskodjunk róla, hogy a /usr/ports üres legyen a
csup elsõ futtatása
elõtt! Ha más forrásból raktuk ide
a Portgyûjteményt, a
csup nem fogja lenyesegetni az
azóta eltávolított
javításokat.Futtassuk a csup programot:&prompt.root; csup -L 2 -h cvsup.FreeBSD.org /usr/share/examples/cvsup/ports-supfileItt írjuk át a
cvsup.FreeBSD.org
címét a hozzánk legközelebb
levõ CVSup szerver
címére. Az összes elérhetõ
tükörszerver címét a CVSup
tükrözések () címû részben
olvashatjuk.Ha például el akarjuk kerülni a
CVSup szerver
megadását a parancssorban, akkor
mindenképpen a ports-supfile
állományból érdemes
készíteni egy saját
verziót.Ebben az esetben root
felhasználóként másoljuk a
/usr/share/examples/cvsup/ports-supfile
állományt egy új helyre,
például a /root
könyvtárba vagy a saját
felhasználói
könyvtárunkba.Szerkesszük át a
ports-supfile
állományt.Írjuk át a
CHANGE_THIS.FreeBSD.org
értéket a hozzánk
legközelebb található
CVSup szerverére. A
CVSup
tükrözések () címû
részben megtaláljuk az összes ilyen
tükörszervert.És most indítsuk el a
csup parancsot az alábbi
módon:&prompt.root; csup -L 2 /root/ports-supfileA &man.csup.1; parancs késõbbi futása
során már letölti és
érvényesíti az észlelt
változtatásokat a saját
Portgyûjteményünkben, de a
telepített portokat viszont nem fogja
újrafordítani.A Portsnap használatávalA Portsnap egy másik
módszert képvisel a Portgyûjtemény
terjesztésére. Elõször a
&os; 6.0-ás verziójában jelent meg.
A régebbi rendszereken a ports-mgmt/portsnap csomag
telepítésével válik
elérhetõvé:&prompt.root; pkg_add -r portsnapA Portsnap
lehetõségeinek részletesebb
megismeréséhez tekintsük át A Portsnap használata
- címû szakaszt.
+ linkend="updating-portsnap">A Portsnap
+ használata címû szakaszt.
Mivel a &os; 6.1-RELEASE és az utána
következõ verziók már alapból
tartalmazzák a Portsnap
portot vagy csomagot, nyugodtan kihagyhatjuk a most
következõ lépést. A /usr/ports könyvtár
magától létrejön a
&man.portsnap.8; parancs elsõ futtatása
során. A Portsnap
korábbi verziói esetén viszont, ha nem
létezett, elõzetesen készíteni
kellett egy
könyvtárat:&prompt.root; mkdir /usr/portsTöltsük le a Portgyûjtemény
tömörített pillanatképét a
/var/db/portsnap
könyvtárba. Ha akarjuk, ezután a
lépés után már
lekapcsolódhatunk az internetrõl.&prompt.root; portsnap fetchHa még csak elõször futtatjuk a
Portsnapet, bontsuk ki az
imént letöltött állapotot a
/usr/ports
könyvtárba:&prompt.root; portsnap extractHa viszont már korábban is létezett
a /usr/ports
könyvtárunk és most csak
frissítjük, akkor helyette ezt a parancsot adjuk
ki:&prompt.root; portsnap updateA sysinstall
használatávalEbben az esetben a sysinstall
nevû programmal telepítjük a
Portgyûjteményt valamilyen
telepítõeszközrõl. Ilyenkor azonban a
kiadás dátumának megfelelõ,
valószínûlég régebbi
változat kerül fel. Ha rendelkezünk
internet-hozzáféréssel, akkor
inkább az elõbb tárgyalt módszerek
valamelyikét alkalmazzuk.root
felhasználóként adjuk ki a
sysinstall (vagy a &os; 5.2 elõtti
verzióban a /stand/sysinstall)
parancsot, ahogy itt is láthatjuk:&prompt.root; sysinstallMenjünk le és álljunk meg a
Configure
(Beállítások), menüpontnál,
és nyomjunk Enter
billentyût.Menjünk le és keressük meg a
Distributions
(Terjesztések) menüponot, majd nyomjunk meg az
Enter billentyût.Menjünk le, válasszuk ki a
ports elemet a
Szóköz
megnyomásával.Menjünk fel az Exit
(Kilépés) ponthoz, nyomjunk meg az
Enter billentyût.Válasszuk ki a telepítéshez
használni kívánt eszközt, mint
például CD, FTP stb.Menjünk fel az Exit
(Kilépés) menüpontig, majd nyomjunk meg
az Enter billentyût.Végezetül lépjünk ki a
sysinstall programból,
aminhez nyomjunk meg az X
billentyût.Portok telepítéseportoktelepítésA váz fogalma az elsõ, amit a
Portgyûjteménnyel kapcsolatban tisztázni
kell. Dióhéjban összefoglalva, egy port
váza azon állományok legszûkebb
halmaza, amelyek elárulják a &os;
számára, hogyan fordítsuk le hibamentesen
és hogyan telepítsük az adott programot.
Ehhez minden port vázában
megtalálható:Egy Makefile nevû
állomány. Ez tartalmazza azokat a
különbözõ utasításokat,
amelyek megmondják, hogyan kell lefordítani
és hova kell telepíteni a rendszerünkben
az adott alkalmazást.Egy distinfo nevû
állomány. Ebben található
információ a port
lefordításához szükséges
állományok
letöltésérõl, valamint a
letöltött állományok
ellenõrzéséhez szükséges (az
&man.md5.1; és &man.sha256.1; programokkal
számolt) ellenõrzõösszegek.Egy files alkönyvtár.
Itt találhatjuk meg azokat a
javításokat, amelyek
alkalmazásával le tudjuk fordítani a
programot &os;-n is. Ezek a javítások
többnyire bizonyos állományok
módosításaira vonatkozó
apró állományok
formájában jelennek meg.
Természetüknél fogva szöveges
formátumúak, és általában
olyanok szerepelnek bennük, hogy
Töröld a 10. sort vagy
Változtasd meg a 26. sort erre: ....
Ezeket a javításokat eredetileg patcheknek
(foltoknak) nevezik, vagy másképp diffeknek
(eltéréseknek) is, mivel a &man.diff.1;
program segítségével hozzák
ezeket létre.Ez a könyvtár tartalmazhat további
állományokat is portok
elkészítéséhez.Egy pkg-descr nevû
állomány. Ez a program részletesebb,
gyakran többsoros bemutatása.Egy pkg-plist nevû
állomány. Itt találjuk meg a port
által telepítendõ összes
állományt. Ez egyben közli a
portrendszerrel is, hogy az eltávolítás
során mely állományokat kell majd
törölnie.Egyes portokban szereplhetnek még egyéb
állományok is, mint például a
pkg-message. Ezeket az
állományokat a portrendszer különleges
helyzetek kezelésére tartogatja. Ha még
többet kívánunk megtudni ezekrõl az
állományokról, vagy magukról a
portokról általánosságban, lapozzuk
fel a &os;
porterek kézikönyvét.A port ugyan tartalmazza a forráskód
lefordításához szükséges
utasításokat, de konkrétan a
forráskódot viszont nem. Ezt egy CD-rõl vagy
az internetrõl tudjuk megszerezni. A
forráskód általában a szerzõje
által kedvelt formában jelenik meg: ez gyakran egy
gzip-pel tömörített tar állomány,
de lehet tömörítve mással is, vagy
éppen lehet tömörítetlen. A program
forráskódját, legyen akármilyen
formában is, nevezik distfile-nak
(terjesztési állománynak). A &os; portok
telepítésének két
módszerét tárjuk fel a
következõkben.A portok telepítéséhez
root felhasználóként
kell bejelentkeznünk.Mielõtt telepítenénk bármelyik
portot is, ajánlott frissíteni a
Portgyûjteményünket és
ellenõriznünk az adott portot a címen
található biztonsági
adatbázisban.Az újonnan telepítendõ
alkalmazások biztonsági
sebezhetõségeinek ellenõrzését
automatikussá is tehetjük a
portaudit
használatával. Ez a segédeszköz is
a Portgyûjteményben található
(ports-mgmt/portaudit).
Érdemes minden port telepítése elõtt
letöltenünk a legfrissebb sebezhetõségi
adatbázist a portaudit -F parancs
kiadásával. Mellesleg az adatbázis
rendszeres frissítése és ez a
biztonsági felülvizsgálat a
naponként elvégzendõ biztonsági
ellenõrzések közt is megjelenik.
Ezekrõl részletesebben a &man.portaudit.1;
és &man.periodic.8; man oldalakon olvashatunk.A Portgyûjtemény feltételezi, hogy
mûködõ
internet-hozzáféréssel rendelkezünk.
Amennyiben ez nem így lenne, a terjesztési
állományokat, forráskódokat
saját magunknak kell bemásolnunk a
/usr/ports/distfiles
könyvtárba.A kezdéshez lépjünk be a
telepítendõ port
könyvtárába:&prompt.root; cd /usr/ports/sysutils/lsofMiután beléptünk az
lsof könyvtárába,
láthatjuk a port vázát. A
következõ lépés a fordítás
avagy a port buildelése
(elkészítése). Ezt egy szimpla
make parancs kiadásával
kezdeményezhetjük. Miután megtettük,
valami ilyesmit kell tapasztalnunk:&prompt.root; make
>> lsof_4.57D.freebsd.tar.gz doesn't seem to exist in /usr/ports/distfiles/.
>> Attempting to fetch from ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/.
===> Extracting for lsof-4.57
...
[ide jön a kitömörítés kimenete]
...
>> Checksum OK for lsof_4.57D.freebsd.tar.gz.
===> Patching for lsof-4.57
===> Applying FreeBSD patches for lsof-4.57
===> Configuring for lsof-4.57
...
[ide jön a configure szkript kimenete]
...
===> Building for lsof-4.57
...
[ide jön a fordítás kimenete]
...
&prompt.root;A fordítás befejeztével visszakapjunk a
parancssort. A soron következõ lépés a
port telepítése lesz. Ehhez mindössze
egyetlen szóval kell kiegészítenünk a
make parancs meghívását:
ez a szó pedig az install
(telepít) lesz.&prompt.root; make install
===> Installing for lsof-4.57
...
[a telepítés kimenete kimarad]
...
===> Generating temporary packing list
===> Compressing manual pages for lsof-4.57
===> Registering installation for lsof-4.57
===> SECURITY NOTE:
This port has installed the following binaries which execute with
increased privileges.
&prompt.root;Miután ismét visszakaptuk a parancssort,
már futtatni is tudjuk a frissen telepített
alkalmazásunkat. Mivel az lsof
programnak tovább jogosultságokra is
szüksége van, egy errõl szóló
biztonsági figyelmeztetést is láthatunk. A
portok létrehozása és
telepítése során érdemes
figyelnünk az ehhez hasonló
figyelmeztetésekre.A telepítés befejeztével nem árt
törölnünk a fordításhoz
felhasznált alkönyvtárat (work) is. Ezzel
nemcsak a drága lemezterületet spóroljuk meg,
hanem megelõzzük a port késõbbi
frissítése során felmerülõ
esetleges problémákat is.&prompt.root; make clean
===> Cleaning for lsof-4.57
&prompt.root;Az eljárásból két
lépést meg is tudunk takarítani, ha
egyszerûen csak a make install
clean parancsot adjuk ki az elõbb
három lépésben tagolt
make, make
install és
make clean
parancsok helyett.Bizonyos parancsértelmezõk a
PATH környezeti változóban
felsorolt könyvtárakban található
parancsokat gyorsítótárban
tárolják, ezzel felgyorsítva a
hozzájuk tartozó végrehajtható
állományok keresését. Ha
történetesen ilyen parancsértelmezõt
használnánk, az új portok
telepítése után
szükségünk lehet a rehash
parancs kiadására, mivel enélkül nem
tudjuk elérni a frissen telepített parancsokat.
Ezt a parancsot például a
tcsh és a hozzá
hasonló parancsértelmezõkben
találhatjuk meg, az sh és
rokonainál pedig a hash -r ennek a
megfelelõje. A pontos információkat
errõl a témáról a
parancsértelmezõnk
dokumentációjában lelhetjük
meg.Némely külsõ DVD termék, mint
például a &os; Malltól
megrendelhetõ &os; Toolkit, tartalmazhatnak
terjesztési állományokat. Ezek
remekül használhatóak a
Portgyûjteménnyel. Ehhez csatlakoztatnunk kell a
DVD-t a /cdrom könyvtárba.
Ettõl eltérõ csatlakozási pontok
használata esetén ne felejtsük el
átállítani a CD_MOUNTPTS
változót sem a make
számára. Ekkor a fordításhoz
szükséges állományokat úgy
fogja kezelni a rendszer, mintha a merevlemezünkön
lennének.Vigyázzunk arra, hogy néhány portot
nem lehet CD-n terjeszteni. Ez részben azért
lehet, mert a szükséges állományok
letöltéséhez, illetve újbóli
terjesztéséhez ki kell tölteni valamilyen
regisztrációs nyomtatványt, vagy pedig
egyéb okok miatt. Tehát ha olyan portot akarunk
telepíteni, ami nincs rajta a CD-n, mindenképpen
rendelkeznünk kell internetkapcsolattal.A portrendszer a &man.fetch.1; segédprogramot
használja az állományok
letöltésére, amely figyelembevesz
különféle környezeti
változókat, ilyenek többek közt az
FTP_PASSIVE_MODE, FTP_PROXY
és az FTP_PASSWORD. Ha tûzfal
mögött vagyunk, szükségünk lehet ezek
némelyikének helyes
beállítására, vagy FTP/HTTP proxyt
kell használnunk. A &man.fetch.3; man oldala tartalmazza
ezen változók teljes
listáját.A make fetch
azon felhasználók számára
nyújt segítséget, akik nem csatlakoznak
minden esetben a hálózatra. Egyszerûen csak
futtassuk le a könyvtárszerkezet
legtetejérõl (/usr/ports) ezt a
parancsot és a szükséges
állományok letöltõdnek nekünk. A
parancs mûködik az alsóbb szinteken is,
például a /usr/ports/net
könyvtárban. Azonban legyünk tekintettel arra,
hogy ha egy port függ más portoktól vagy
függvénykönyvtáraktól, ez a
parancs nem fogja letölteni a
hozzájuk tartozó állományokat.
Ilyenkor a fetch helyett
használjuk a fetch-recursive
targetet.Ha a make parancsot egy felsõbb
szinten futtatjuk, akkor ezzel létre tudjuk hozni az
összes vagy csak kategóriánként az
összes portot, hasonlóan az elõbb
említett make
fetch módszerhez.
Ez azonban veszélyes, mivel egyes portok
kizárják mások használatát.
Emellett elõfordulhat az is, hogy bizonyos portok
ugyanazon a néven telepítenek több,
tartalmukban különbözõ
állományt.Nagyon ritkán adódhat, hogy a
felhasználónak nem a
MASTER_SITES által mutatott
helyekrõl kell beszereznie a szükséges
állományokat (innen töltõdnek ugyanis
le). A MASTER_SITES
beállítást az alábbi paranccsal
bírálhatjuk felül:&prompt.root; cd /usr/ports/könyvtár
&prompt.root; make MASTER_SITE_OVERRIDE= \
ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/ fetchEbben a példában a
MASTER_SITES értékét a
ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/
címre változtattuk meg.A portok némelyike lehetõvé teszi
(esetleg meg is követeli), hogy engedélyezzük
vagy letiltsuk a készülõ program bizonyos
elemeit hatékonysági, biztonsági vagy
egyéb testreszabási irányelvek
mentén. Ilyen többek közt a www/mozilla, a security/gpgme és a mail/sylpheed-claws. Ha
elérhetõek ilyen beállítási
lehetõségek, arról a rendszer egy
üzenetben tájékoztat minket.Az alapértelmezett könyvtárak
felülbírálásaNéha hasznos (vagy kötelezõ) lehet
eltérõ munka- és
célkönyvtárak alkalmazása. A
WRKDIRPREFIX és a
PREFIX változókkal ezek
alapértelmezéseit tudjuk megváltoztatni.
Például a&prompt.root; make WRKDIRPREFIX=/usr/home/example/ports installparancs a portot a
/usr/home/example/ports
könyvtárban fogja lefordítani és az
eredményét a /usr/local
könyvtárba telepíti. A&prompt.root; make PREFIX=/usr/home/example/local installparancs hatására a port a
/usr/ports könyvtárban
készül el és a
/usr/home/example/local
könyvtárba települ.Természetesen a&prompt.root; make WRKDIRPREFIX=../ports PREFIX=../local installparancs ötvözi az elõbbi kettõt
(amelyet most túlságosan is hosszú lenne
kiírni, de vélhetõen sejthetõ
belõle az alapötlet).Lehetõség van ezen változókat a
saját környezetünkben is
beállítani. Ha erre lenne
szükségünk, nézzünk utána
az ezzel kapcsolatos teendõnek a
parancsértelmezõnk man oldalán.Az imake
használatárólBizonyos portok az (X Window System
részeként megjelenõ)
imake segédprogramra
támaszkodnak, ahol viszont nem mûködik a
PREFIX
átállítása és
mindenképpen a /usr/X11R6
könyvtárba akar telepíteni. Ehhez
hasonlóan egyes Perl portok figyelmen kívül
hagyják a PREFIX
változót és közvetlenül a Perl
fájába kerülnek. Az ilyen portok
esetén nagyon nehéz vagy szinte lehetetlen
betartatni a PREFIX
használatát.A portok újrakonfigurálásaEgyes portok lefordítása elõtt
megjelenik egy ncurses alapú menü, ahol ki tudunk
választani bizonyos fordítási
beállításokat. Gyakran elõfordul,
hogy a port lefordítása után a
felhasználók szeretnék újra
elõhozni ezt a menüt és megadni vagy kivenni
bizonyos beállításokat. Erre több
mód is kínálkozik. Egyik ilyen
lehetõség az, ha belépünk a port
könyvtárába és kiadjuk a
make config
parancsot, amivel lényegében ismét
elõcsaljuk a beállításokat
összefoglaló menüt. Másik ilyen
lehetõség a make
showconfig
alkalmazása, amivel a porthoz tartozó
összes beállítást tudjuk egyszerre
megjeleníteni. Ezek mellett még
használható a make
rmconfig parancs is, amivel
törölni tudjuk az összes eddigi
beállítást és így
újrakezdhetjük a port
konfigurációját. Ezek és a
többi ilyen opció a &man.ports.7; man oldalon
kerül bõvebb kifejtésre.A portok eltávolításaportokeltávolításMost már tudjuk, miként lehet portokat
telepíteni, azonban valószínûleg
még az is érdekelhet minket, hogy miként
kell ezeket eltávolítani abban az esetben, ha
például késõbb meggondolnánk
magunkat velük kapcsolatban. A korábban
telepített példaportot fogjuk
eltávolítani (a figyelmetlenek
kedvéért megemlítjük, hogy ez az
lsof volt). A portok
eltávolítása teljesen egybevág a
csomagokéval (errõl a csomagokról szóló
részben beszéltünk), mivel ekkor is
használhatjuk a &man.pkg.delete.1; parancsot:&prompt.root; pkg_delete lsof-4.57A portok frissítéseportokfrissítésElõször is a &man.pkg.version.1; parancs
felhasználásával listázzuk ki azokat
a portokat, amik felett már eljárt az idõ
és a Portgyûjteményben
található belõlük újabb
verzió:&prompt.root; pkg_version -vA /usr/ports/UPDATING
állományMiután frissítettük a
Portgyûjteményünket, de még
mielõtt megpróbálnánk
akármelyik portot is frissíteni, érdemes
egy pillantást vetnünk a
/usr/ports/UPDATING
állományra. Itt megtalálhatóak
azok a problémák és a hozzájuk
tartozó lépések, amelyekkel a
felhasználóknak a portok
frissítése során szembe kell
nézniük, beleértve az
állományformátumok, a
konfigurációs állományok
helyének megváltozását vagy
egyéb olyan módosításokat, amik a
korábbi verziókkal
összeférhetetlenséget
szülhetnek.Amennyiben az UPDATING
állomány tartalma ellentmondana az itt
olvasottakkal, mindig az UPDATING
állományban leírtak az
irányadóak.Portok frissítése a
portupgrade
használatávalportupgradeA portupgrade nevû
segédprogramot a portok egyszerûbb
frissítésére találták ki,
és a ports-mgmt/portupgrade portban
található meg. A make
install clean paranccsal
bármelyik más porthoz hasonlóan
telepíthetjük:&prompt.root; cd /usr/ports/ports-mgmt/portupgrade
&prompt.root; make install cleanA pkgdb -F paranccsal
fésültessük át a telepített
portok listáját, és javítsuk az
általa jelentett ellentmondásokat.
Érdemes rendszeresen elvégezni ezt,
lehetõleg minden frissítés
elõtt.Miután kiadtuk a portupgrade -a
parancsot, a portupgrade
nekilát frissíteni az összes elavult portot
a rendszerünkben. Ha minden egyes
frissítést külön meg szeretnénk
erõsíteni, használjuk a
kapcsolót is.&prompt.root; portupgrade -aiHa nem akarjuk az összes portot frissíteni,
csupán egy bizonyos alkalmazásét,
használjuk a portupgrade
pkgname
paraméterezést. A
kapcsoló megadásával a
portupgrade elõször
frissíti az adott alkalmazás
függõségeit.&prompt.root; portupgrade -R firefoxHa a mûvelet során csomagokat
kívánunk használni portok helyett, adjuk
meg a kapcsolót. Ennek
révén a portupgrade
megkeresi a csomagokat a PKG_PATH
környezeti változóban felsorolt
könyvtárakban vagy ha itt nem találja,
letölti ezeket egy távoli szerverrõl.
Amennyiben a csomagokat sem helyben, sem pedig a távoli
szerveren nem találja, a
portupgrade helyettük portokat
fog használni. Ilyenkor a portok
használatát a
kapcsoló beállításával
lehet elkerülni:&prompt.root; portupgrade -PP gnome2Csak a terjesztési állományok (vagy a
esetén csomagok)
letöltéséhez használjuk a
kapcsolót. Mindezekrõl
részletesebben a &man.portupgrade.1; man oldalon
olvashatunk.Portok frisstse a Portmanager
használatávalportmanagerA Portmanager egy másik
hasznos segédprogram a portok könnyû
frissítéséhez. A ports-mgmt/portmanager porton
keresztül érhetõ el:&prompt.root; cd /usr/ports/ports-mgmt/portmanager
&prompt.root; make install cleanHasználatával az összes
telepített port egyetlen paranccsal
frissíthetõ:&prompt.root; portmanager -uHa a Portmanager minden egyes
lépését külön meg
kívánjuk erõsíteni, akkor a
kapcsolókat se felejtsük el
megadni. A Portmanager emellett
új portok telepítésére is
használható. Eltérõen a
make install clean parancsban
megszokottaktól, a kiválasztott port összes
függõségét még a
fordítás és a telepítés
elõtt fogja frissíteni.&prompt.root; portmanager x11/gnome2Ha bármilyen gondot tapasztalnánk a
kiválasztott port függõségeit
illetõen, a Portmanagert
felkérhetjük az összes
függõség helyes sorrendben
történõ
újrafordítására. Amikor
befejezte, a problémás portot is újra
létrehozza.&prompt.root; portmanager graphics/gimp -fBõvebb információkért
lásd &man.portmanager.1;.Portok frissítése a
Portmaster
használatávalportmasterA Portmaster szintén a
portok frissítésére alkalmas
segédprogram. A Portmaster
esetében a hangsúly az
alaprendszerben is megtalálható
eszközök használatán van (tehát
nem függ semmilyen más porttól) és a
/var/db/pkg/
könyvtárban található
információk alapján dönti el, hogy
milyen portokat kell frissítenie. A ports-mgmt/portmaster portból
érhetõ el:&prompt.root; cd /usr/ports/ports-mgmt/portmaster
&prompt.root; make install cleanA Portmaster a portokat az
alábbi négy kategória
valamelyikébe sorolja be:Gyökér (root) portok (nem függenek
semmitõl, semmi sem függ tõlük)Törzs (trunk) portok (nem függenek
semmitõl, de mások függenek
tõlük)Ág (branch) portok (vannak
függõségeik és mások is
függenek tõlük)Levél (leaf) portok (vannak
függõségeik, de semmi sem függ
tõlük)A következõ paranccsal le tudjuk kérni az
összes telepített portot és az
kapcsolóval
frissítéseket keresni hozzájuk:&prompt.root; portmaster -L
===>>> Root ports (No dependencies, not depended on)
===>>> ispell-3.2.06_18
===>>> screen-4.0.3
===>>> New version available: screen-4.0.3_1
===>>> tcpflow-0.21_1
===>>> 7 root ports
...
===>>> Branch ports (Have dependencies, are depended on)
===>>> apache-2.2.3
===>>> New version available: apache-2.2.8
...
===>>> Leaf ports (Have dependencies, not depended on)
===>>> automake-1.9.6_2
===>>> bash-3.1.17
===>>> New version available: bash-3.2.33
...
===>>> 32 leaf ports
===>>> 137 total installed ports
===>>> 83 have new versions available
Az összes telepített port egyetlen
egyszerû paranccsal frissíthetõ:&prompt.root; portmaster -aA Portmaster
alapértelmezés szerint minden egyes
törlendõ korábbi portról
biztonsági másolatot készít.
Amikor az új változat telepítése
sikeresen lezajlott, akkor a
Portmaster ezt a másolatot
megsemmisíti. A
paraméterrel azonban megkérhetjük, hogy
ne törölje le a biztonsági mentést.
Az megadásával a
Portmaster interaktív
módban indul el, és minden port
frissítése elõtt a
felhasználó
megerõsítését fogja
kérni.Amennyiben valamilyen hiba lép fel a
frissítés folyamán, az
opció megadásával
kérhetjük az összes port
frissítését és
újrafordítását is:&prompt.root; portmaster -afA Portmaster
használatával új portokat is fel tudunk
telepíteni a rendszerre úgy, hogy azok
függõségeit is igyekszik frissíteni a
lefordításuk elõtt:&prompt.root; portmaster shells/bashA további részleteket a &man.portmaster.8;
man oldalon találjuk.A portok tárigényeportoktárigényA Portgyûjtemény idõvel egyre több
helyet fog elfoglalni a merevlemezünkön.
Miután sikeresen létrehoztunk és
telepítettünk egy szoftvert a
hozzátartozó portból, érdemes mindig
eltakarítanunk magunk után a work könyvtárban menet
közben keletkezett átmeneti
állományokat a make
clean parancs
használatával. Az egész
Portgyûjteményt egyetlen mozdulattal ezzel a
paranccsal tudjuk végigsepregetni:&prompt.root; portsclean -CAz idõ elõrehaladtával a distfiles könyvtárban
is rengeteg régi forrás tud felhalmazódni.
Ezeket eltávolíthatjuk kézzel, vagy az
alábbi parancs segítségével
törölhetjük az összes olyan
terjesztési állományt, amelyekre már
egyetlen port sem hivatkozik:&prompt.root; portsclean -DVagy törölhetjük az összes olyan
terjesztési állományt, amelyre egyetlen
pillanatnyilag feltelepített port sem hivatkozik a
rendszerünkben:&prompt.root; portsclean -DDA portsclean segédprogram a
portupgrade programcsomag
része.Ne felejtsük el eltávolítani azokat a
portokat, amikre már nincs szükségünk a
továbbiakban. Ebben a feladatban egy jól
használható segédeszköz lehet a
segítségünkre, a ports-mgmt/pkg_cutleaves port.Telepítés utáni teendõkAz új alkalmazás feltelepítése
után minden bizonnyal szeretnénk elolvasni a
hozzá társított dokumentációt,
az egyedi beállításainknak megfelelõen
módosítani a konfigurációs
állományokat, engedélyezni a
rendszerindítás során
történõ automatikus
indítását (ha démonról lenne
szó) és így tovább.Az egyes alkalmazások
beállításához elvégzendõ
lépések nyilvánvalóan
egyedenként eltérõek. Azonban tudunk
szolgálni néhány általános
tanáccsal válaszként az ilyenkor
felmerülõ Na és akkor most mi
legyen? kérdésre:Kérdezzük meg a &man.pkg.info.1;
programtól, milyen állományok és
hova kerültek fel a telepítés során.
Például, ha a SzuperCsomag 1.0.0-át
raktunk fel, akkor a&prompt.root; pkg_info -L SzuperCsomag-1.0.0 | lessparancs kilistázza az összes
állományt, amit a csomagból felraktunk.
Ezek közül leginkább a
man/ könyvtárban
levõekre figyeljünk, mivel ezek lesznek az
alkalmazás man oldalai. Ehhez hasonlóan a
etc/ könyvtárban a
konfigurációs állományok és
a doc/ könyvtárban pedig a
nagyobb lélegzetvételû
dokumentációk foglalnak helyet.Ha nem emlékszünk pontosan rá, hogy az
alkalmazások melyik verzióját is
telepítettük, a&prompt.root; pkg_info | grep -i SzuperCsomagalakú parancs megkeresi az összes olyan
csomagot, aminek a nevében szerepel a
SzuperCsomag
szövegrészlet. A fenti példában
természetesen igény szerint változtassuk
meg a SzuperCsomag szöveget a
tényleges csomag nevére.Ahogy sikerült megtalálnunk az
alkalmazáshoz tartozó man oldalakat, lapozzuk
fel ezeket a &man.man.1; segítségével.
Ugyanígy nézzük át a
mellékelt minta konfigurációs
állományokat és az összes
elérhetõ dokumentációt.Ha az alkalmazásnak van saját honlapja,
kutassunk ott is információk után,
olvassuk el a gyakran ismételt kérdéseket
és így tovább. Ha nem tudnánk
pontosan a honlap címét, a&prompt.root; pkg_info SzuperCsomag-1.0.0kimenetébõl könnyen
elõkeríthetõ. Itt egy
WWW: kezdetû sort kell keresnünk
(már amennyiben létezik), amit az
alkalmazás honlapjának címe kell
kövessen.A rendszerrel együtt indítandó portok
(ilyenek többek közt az internetes
szolgáltatások), általában a
/usr/local/etc/rc.d
könyvtárba rakják a saját
indítószkriptjüket. Érdemes
leellenõrizni ezt a szkriptet és az
igényeinknek megfelelõen módosítani,
átnevezni. A Szolgáltatások
indítása címû szakaszban ezt
részleteiben is megismerhetjük.Teendõ a sérült portokkalHa véletlenül ráakadnánk egy olyan
portra, ami nem mûködik megfelelõen,
nagyjából a következõket tudjuk
tenni:Derítsük ki a Hibajelentések
adatbázisából, hogy
készül-e már javítás az adott
porthoz. Ha igen, akkor annak befejezése után
már képesek leszünk
használni.Kérjük meg a port
karbantartóját, hogy segítsen. A
karbantartó elérhetõségének
felderítéséhez gépeljük be a
make maintainer
parancsot, vagy keressük meg a
Makefile állományban a
karbantartó e-mail címét. Ne
felejtsük el neki megemlíteni a levélben a
port nevét és verzióját (vagyis
mindenképpen küldjük el a
$FreeBSD: sort a
Makefile
állományból) és a parancs
kiadásától a hiba
felbukkanásáig tartó kimenetet.Némely portokat nem
egyedülálló személyek tartanak
karban, hanem egy
levelezési lista. A legtöbbjük
neve, ha nem is mindé, nagyjából
ilyen alakú: freebsd-listanév@FreeBSD.org.
Egy ilyen jellegû kérdés
megfogalmazása során ezt is vegyük
figyelembe!Kifejezetten a freebsd-ports@FreeBSD.org
karbantartóval rendelkezõ portoknak nincs
rendes gazdája. A hozzájuk
kapcsolódó javítások és
mindenféle segítség, ötlet
errõl a levelezési listáról
érkeznek. Ilyen esetekben számítunk
az önkéntes segítõkre!Ha nem kapunk semmilyen választ, a hiba
bejelentésére használhatjuk a
&man.send-pr.1; programot is (errõl bõvebben
lásd a &os;-s
hibajelentések írása
címû cikket).Javítsuk meg mi magunk! A porterek
kézikönyve részletesen taglalja a
portok belsõ
felépítését, így onnan
elindulva akár magunktól is meg tudunk
javítani egy esetlegesen sérült portot,
vagy be is küldhetjük a sajátunkat!Töltsük le a porthoz tartozó csomagot a
hozzánk legközelebb levõ FTP oldalról.
A központi csomaggyûjtemény a
ftp.FreeBSD.org címen, a
packages
nevû könyvtárban
található, de mielõtt ide
fordulnánk, nézzük meg a hozzánk
legközelebb
levõ tükörszervert is! Ha egy csomagot
így telepítünk, akkor több
eséllyel fog mûködni és
ráadásul még jóval gyorsabb is. A
csomag telepítésére használjuk a
&man.pkg.add.1; programot.
diff --git a/hu_HU.ISO8859-2/books/handbook/security/chapter.sgml b/hu_HU.ISO8859-2/books/handbook/security/chapter.sgml
index e22826e1c5..848f74a3b9 100644
--- a/hu_HU.ISO8859-2/books/handbook/security/chapter.sgml
+++ b/hu_HU.ISO8859-2/books/handbook/security/chapter.sgml
@@ -1,6214 +1,6214 @@
MatthewDillonA fejezet legnagyobb részét a security(7)
man oldal alapján írta: BiztonságbiztonságÁttekintésEz a fejezet egy alapvetõ bevezetés a rendszerek
biztonsági fogalmaiba, ad néhány
általános jótanácsot és a
&os;-vel kapcsolatban feldolgoz néhány komolyabb
témát. Az itt megfogalmazott témák
nagy része egyaránt ráhúzható
rendszerünk és általánosságban
véve az internet biztonságára is. A internet
már nem az békés hely, ahol
mindenki a kedves szomszéd szerepét játssza.
A rendszerünk bebiztosítása
elkerülhetetlen az adataink, szellemi tulajdonunk, idõnk
és még sok minden más
megvédésére az internetes banditák
és hasonlók ellen.A &os; segédprogramok és mechanizmusok
sorát kínálja fel a rendszerünk
és hálózatunk
sértetlenségének és
biztonságának fenntartására.A fejezet elolvasása során
megismerjük:az alapvetõ rendszerbiztonsági fogalmakat,
különös tekintettel a &os;-re;milyen olyan különbözõ
titkosítási mechanizmusok érthetõek
el a &os;-ben, mint például a
DES és az
MD5;hogyan állítsunk be egyszeri jelszavas
azonosítást;hogyan burkoljunk az inetd
segítségével TCP
kapcsolatokat;hogyan állítsuk be a
KerberosIV-t a
&os; 5.0-nál korábbi
változatain;hogyan állítsuk be a
Kerberos5-t a &os;-n;hogyan állítsuk be az IPsec-et és
hozzunk létre VPN-t &os;/&windows;
gépek között;hogyan állítsuk be és
használjuk az OpenSSH-t, a
&os; SSH
implementációját;mik azok az ACL-ek az
állományrendszerben és miként kell
ezeket használni;hogyan kell használni a
Portaudit segédprogramot a
Portgyûjteménybõl telepített
külsõ szoftvercsomagok
biztonságosságának
ellenõrzésére;hogyan hasznosítsuk a &os; biztonsági
tanácsait tartalmazó
leírásokatmit jelent a futó programok
nyilvántartása és hogyan
engedélyezzük azt &os;-n.A fejezet elolvasásához ajánlott:az alapvetõ &os; és internetes fogalmak
ismerete.A könyvben további biztonsági
témákról is szó esik,
például a ben a
Kötelezõ
hozzáférés-vezérlésrõl
(MAC) és a ben pedig az
internetes tûzfalakról.BevezetésA biztonság egy olyan funkció, ami a
rendszergazdától indul és nála is
végzõdik. Míg az összes
többfelhasználós BSD &unix; rendszer
önmagában is valamennyire biztonságos, a
felhasználók
fegyelmezéséhez szükség
további biztonsági mechanizmusok
kiépítésére és
karbantartására, ami minden bizonnyal egy
rendszergazda egyik legfontosabb kötelessége. A
számítógépek csak annyira
biztonságosak, mint amennyire beállítjuk,
és a biztonsági megfontolások
állandó versenyben vannak az emberi
kényelemmel. A &unix; rendszerek
általánosságban véve
órási mennyiségû program
párhuzamos futtatására képesek, melyek
többsége kiszolgálóként fut
— ez azt jelenti, hogy hozzájuk
kívülrõl érkezõ egyedek
csatlakozhatnak és társaloghatnak velük. Ahogy
a tegnap kicsi és nagy
számítógépei napjaink asztali
gépeivé váltak és ahogy a
számítógépek egyre többen
csatlakoznak hálózatra és az internetre, a
biztonság fontossága is egyre jobban
növekszik.A rendszerek biztonsága a támadások
különbözõ formáival is foglalkozik,
többek közt olyan támadásokkal, amelyek a
rendszer összeomlását vagy
használhatatlanságát célozzák
meg, de nem próbálják meg veszélybe
sodorni a root felhasználó
hozzáférését (feltörni a
gépet). A biztonsággal kapcsolatos
problémák több kategóriára
oszthatóak:A szolgáltatások
mûködésképtelenné
tételére irányuló (DoS, Denial of
Service) támadások.A felhasználói fiókok
veszélyeztetése.Rendszergazdai jogok megszerzése a közeli
szervereken keresztül.Rendszergazdai jogok megszerzése a
felhasználói fiókokon
keresztül.Kiskapuk létrehozása a rendszerben.DoS támadásDenial of Service (DoS)biztonságDoS támadásDenial of Service (DoS)Denial of Service (DoS)A szolgáltatások
mûködésképtelenné
tételére irányuló
támadások olyan tevékenységre utalnak,
amelyek képesek megfosztani egy
számítógépet az
erõforrásaitól. A DoS támadások
többnyire nyers erõvel kivitelezett technikák,
melyek vagy a rendszer összeomlasztását vagy
pedig a használhatatlanná tételét
veszik célba úgy, hogy túlterhelik az
általa felkínált
szolgáltatásokat vagy a hálózati
alrendszert. Egyes DoS támadások a
hálózati alrendszerben rejtõzõ
hibákat igyekeznek kihasználni, amivel akár
egyetlen csomaggal is képesek romba dönteni egy
számítógépet. Ez utóbbit csak
úgy lehet orvosolni, ha a hibát kijavítjuk a
rendszermagban. A szerverekre mért csapásokat
gyakran ki lehet védeni a paramétereik ügyes
beállításával, melyek
segítségével korlátozni tudjuk az
ezeket ért terhelést egy kellemetlenebb helyezetben.
A nyers erõt alkalmazó hálózati
támadásokkal a legnehezebb szembenézni.
Például az álcázott
támadadások, melyeket szinte lehetetlen
megállítani, remek eszközök arra, hogy
elvágják gépünket az internettõl.
Ezzel viszont nem csak azt iktatják ki, hanem az
internet-csatlakozásunkat is
eldugítják.biztonsága hozzáférések
megszerzéseA DoS támadásoknál még gyakrabban
elõfordul, hogy feltörik a felhasználók
fiókjait. A rendszergazdák többsége
még mindig futtat telnetd,
rlogin, rshd
és ftpd szervereket a
gépen. Ezek a szerverek alapértelmezés
szerint nem titkosított kapcsolaton keresztül
mûködnek. Ebbõl következik, hogy ha nincs
annyira sok felhasználónk és
közülük néhányan távoli
helyekrõl jelentkeznek be (ami az egyik leggyakoribb
és legkényelmesebb módja ennek), akkor
elõfordulhat, hogy valami megneszeli a jelszavaikat. A
körültekintõ rendszergazdák mindig
ellenõrzik a bejelentkezéseket tartalmazó
naplókat és igyekeznek kiszûrni a gyanús
címeket még abban az esetben is, amikor a
bejelentkezés sikeres volt.Mindig arra kell gondolni, hogy ha a támadónak
sikerült megszerezni az egyik felhasználó
hozzáférését, akkor akár
képes lehet a root
felhasználó fiókjának
feltörésére is. Azonban a
valóságban egy jól õrzött és
karbantarott rendszer esetén a felhasználói
hozzáférések megszerzése nem
feltétlenül adja a támadó kezére
a root
hozzáférését. Ebben fontos
különbséget tenni, hiszen a
root felhasználó jogai
nélkül a támadó nem képes
elrejteni a nyomait és legjobb esetben sem tud többet
tenni, mint tönkretenni az adott felhasználó
állományait vagy összeomlasztani a rendszert.
A felhasználói fiókok feltörése
nagyon gyakran megtörténik, mivel a
felhasználók messze nem annyira
elõvigyázatosak, mint egy rendszergazda.biztonságkiskapukA rendszergazdáknak mindig észben kell tartani,
hogy egy számítógépen több
módon is meg lehet szerezni a root
felhasználó
hozzáférését. A támadó
megtudhatja a root jelszavát,
hibát fedezhet fel az egyik rendszergazdai
jogosultsággal futó szerverben és
képes feltörni a root
hozzáférést egy hálózati
kapcsolaton keresztül, vagy a támadó olyan
programban talál hibát, aminek
segítségével el tudja érni a
root fiókját egy
felhasználói hozzáférésen
keresztül. Miután a támadó
megtalálta a rendszergazdai jogok
megszerzésének módját, nem
feltétlenül kell kiskapukat elhelyeznie a rendszerben.
Az eddig talált és javított, rendszergazdai
jogok megszerzését lehetõvé tevõ
biztonsági rések egy része esetében
viszont a támadónak akkora mennyiségû
munkát jelentene eltûntetni maga után a
nyomokat, hogy megéri neki egy kiskaput telepíteni.
Ennek segítségével a támadó
ismét könnyedén hozzájuthat a
root felhasználó
hozzáféréséhez a rendszerben, de ezen
keresztül egy okos rendszergazda képes is a
behatolót leleplezni. A kiskapuk lerakásának
megakadályozása valójában káros
a biztonság szempontjából nézve, mert
ezzel nem szüntetjük meg azokat a lyukakat, amin
keresztül a támadó elõször
bejutott.A támadások elleni védelmet mindig
több vonalban kell megvalósítani, melyeket
így oszthatunk fel:A rendszergazda és a személyzet
hozzáférésének
védelme.A rendszergazdai jogokkal futó szerverek és
a suid/sgid engedélyekkel rendelkezõ programok
védelme.A felhasználói
hozzáférések védelme.A jelszavakat tároló állomány
védelme.A rendszermag belsejének, a nyers
eszközök és az
állományrendszerek védelme.A rendszert ért szabálytalan
módosítások gyors
észlelése.Állandó paranoia.A fejezet most következõ szakaszában az
imént felsorolt elemeket fejtjük ki
részletesebben.A &os; védelmebiztonsága &os; védelmeParancs kontra protokollA dokumentumban a
félkövéren fogjuk
szedni az alkalmazásokat, és
egyenszélességû
betûkkel pedig az adott parancsokra hivatkozunk. A
protokollokat nem különböztetjük meg. Ez a
tipográfiai elkülönítés hasznos
például az ssh egyes vonatkozásainak
esetén, mivel ez egyben egy protokoll és egy
parancs is.A most következõ szakaszok a &os;
védelmének azon módszereit ismertetik,
amelyekrõl a fejezet elõzõ szakaszában
már írtunk.A rendszergazda és a személyzet
hozzáférésének
védelmesuElõször is: ne törjük magunkat a
személyzeti fiókok biztonságossá
tételével, ha még a rendszergazda
hozzáférését sem tettük
eléggé biztonságossá. A
legtöbb rendszerben a root
hozzáféréshez tartozik egy jelszó.
Elsõként fel kell tennünk, hogy ez a
jelszó mindig megszerezhetõ.
Ez természetesen nem arra utal, hogy el kellene
távolítanunk. A jelszó szinte mindig
szükséges a számítógép
konzolon keresztüli eléréséhez.
Valójában arra szeretnénk
rávilágítani, hogy a konzolon
kívül sehol máshol ne lehessen
használni ezt a jelszót, még a &man.su.1;
paranccsal sem. Például gondoskodjunk
róla, hogy az /etc/ttys
állományban megadott pszeudó
terminálokat insecure (nem
biztonságos) típusúnak
állítottuk be, és így a
telnet vagy az rlogin
parancsokon keresztül nem lehet rendszergazdaként
bejelentkezni. Ha más szolgáltatáson
keresztül jelentkezünk be, például az
sshd
segítségével, akkor ebben az esetben is
gondoskodjunk róla, hogy letiltottuk a közvetlen
rendszergazdai bejelentkezés
lehetõségét. Ezt úgy tudjuk megtenni,
ha megnyitjuk az /etc/ssh/sshd_config
állományt és a
PermitRootLogin paramétert
átállítjuk a NO
értékre. Vegyünk számba minden
lehetséges hozzáférési módot
— az FTP és a hozzá hasonló
módok gyakran átszivárognak a
repedéseken. A rendszergazdának csak a
rendszerkonzolon keresztül szabad tudnia
bejelentkeznie.wheelTermészetesen egy rendszergazdának valahogy el
kell érnie a root
hozzáférést, ezért ezzel felnyitunk
néhány biztonsági rést. De
gondoskodjunk róla, hogy ezek a rések
további jelszavakat igényelnek a
mûködésükhöz. A
root hozzáférés
eléréséhez érdemes felvenni
tetszõleges személyzeti (staff)
hozzáféréseket a
wheel csoportba (az
/etc/group állományban). Ha
a személyzet tagjait a wheel
csoportba rakjuk, akkor innen a su paranccsal
fel tudjuk venni a root
felhasználó jogait. A személyzet tagjait
létrehozásukkor közvetlenül sose
vegyük fel a wheel csoportba! A
személyzet tagjai elõször kerüljenek egy
staff csoportba, és majd csak
ezután az /etc/group
állományon keresztül a
wheel csoportba. A személyzetnek
csak azon tagjait tegyük ténylegesen a
wheel csoportba, akiknek valóban
szükségük van a root
felhasználó
hozzáférésére. Ha
például a Kerberost használjuk
hitelesítésre, akkor megcsinálhatjuk azt
is, hogy a Kerberos .k5login
állományában engedélyezzük a
&man.ksu.1; parancson keresztül a root
hozzáférés elérését a
wheel csoport alkalmazása
nélkül. Ez a megoldás talán
még jobb is, mivel a wheel
használata esetén a behatolónak még
mindig lehetõsége van hozzájutni a
root
hozzáféréséhez olyankor, amikor a
kezében van a jelszavakat tároló
állomány és meg tudja szerezni a
személyzet valamelyik tagjának
hozzáférését. A
wheel csoport által
felkínált megoldás ugyan jobb, mint a
semmi, de kétségtelenül nem a
legbiztonságosabb.A hozzáférések teljes körû
letiltásához a &man.pw.8; parancsot érdemes
használni:&prompt.root; pw lock személyzetEzzel meg tudjuk akadályozni, hogy a
felhasználó akármilyen módon,
beleértve az &man.ssh.1; használatát is,
hozzá tudjon férni a
rendszerünkhöz.A hozzáférések
blokkolásának másik ilyen módszere a
titkosított jelszó átírása
egyetlen * karakterre. Mivel
ez a karakter egyetlen titkosított jelszóra sem
illeszkedik, ezért a felhasználó nem lesz
képes bejelentkezni. Ahogy például a
személyzet alábbi tagja sem:izemize:R9DT/Fa1/LV9U:1000:1000::0:0:Ize-Mize:/home/izemize:/usr/local/bin/tcshErre cseréljük ki:izemize:*:1000:1000::0:0:Ize-Mize:/home/izemize:/usr/local/bin/tcshEzzel megakadályozzuk, hogy az
izemize nevû felhasználó
a hagyományos módszerekkel be tudjon jelentkezni.
Ez a megoldás azonban a
Kerberost alkalmazó rendszerek
esetén nem mûködik, illetve olyan helyezetekben
sem, amikor a felhasználó az &man.ssh.1;
paranccsal már létrehozott magának
kulcsokat.Az ilyen védelmi mechanizmusok esetében mindig
egy szigorúbb biztonsági szintû
géprõl jelentkezünk be egy
kevésbé biztonságosabb gépre.
Például, ha a szerverünk mindenféle
szolgáltatásokat futtat, akkor a
munkaállomásunknak egyetlen egyet sem lenne
szabad. A munkaállomásunk
biztonságossá tételéhez a
lehetõ legkevesebb szolgáltatást szabad csak
futtatnunk, de ha lehet, egyet sem, és mindig
jelszóval védett
képernyõvédõt használjuk.
Természetesen ha a támadó képes
fizikailag hozzáférni a
munkaállomásunkhoz, akkor szinte bármilyen
mélységû védelmet képes
áttörni. Ezt mindenképpen
számításba kell vennünk, azonban ne
felejtsük el, hogy a legtöbb betörési
kísérlet távolról,
hálózaton keresztülrõl érkezik
olyan emberektõl, akik fizikailag nem férnek
hozzá a munkaállomásunkhoz vagy a
szervereinkhez.KerberosIVA Kerberos és a hozzá hasonló
rendszerek használatával egyszerre tudjuk a
személyzet tagjainak jelszavát letiltani vagy
megváltoztatni, ami egybõl
érvényessé válik minden olyan
gépen, ahová az adott felhasználónak
bármilyen hozzáférése is volt. Nem
szabad lebecsülnünk ezt a gyors
jelszóváltási lehetõséget abban
az esetben, ha a személyzet valamelyik tagjának
hozzáférését megszerezték.
Hagyományos jelszavak használatával a
jelszavak megváltoztatása N gépen igazi
káosz. A Kerberosban jelszóváltási
megszorításokat is felállíthatunk:
nem csak a Kerberos által adott jegyek járnak le
idõvel, hanem a Kerberos rendszer meg is követelheti a
felhasználóktól, hogy egy adott idõ
(például egy hónap) után
változtasson jelszót.A rendszergazdai jogokkal futó szerverek és
SUID/SGID engedélyekkel rendelkezõ programok
védelmentalkcomsatfingerjárókáksshdtelnetdrshdrlogindA bölcs rendszergazda mindig csak akkor futtat
szervereket, amikor szüksége van rá, se
többet, se kevesebbet. Az egyéb
fejlesztõktõl származó szerverekkel
bánjunk különösen óvatosan, mivel
gyakran hajlamosak hibákat tartalmazni.
Például az imapd vagy a
popper használata olyan,
mintha az egész világnak ingyenjegyet
osztogatnánk a rendszerünk root
hozzáféréséhez. Soha ne futtassunk
olyan szervert, amelyet nem vizsgáltunk át
kellõ alapossággal. Sok szervert nem is
feltétlenül kell root
felhasználóként futtatni.
Például az ntalk,
comsat és
finger démonok egy
speciális
járókában (sandbox)
futnak. Ezek a járókák sem teljesen
tökéletesek, hacsak erre külön figyelmet
nem fordítunk. Ilyenkor a többvonalas
védelem eszménye még mindig él: ha
valakinek sikerült betörnie a
járókába, akkor onnan ki is tud törni.
Minél több védelmi vonalat húzunk a
támadó elé, annál jobban
csökken a sikerének
valószínûsége. A
történelem során lényegében
minden root jogokkal futó
szerverben, beleértve az alapvetõ
rendszerszintû szervereket is, találtak már
biztonsági jellegû hibát. Ha a
gépünkre csak az sshd
szolgáltatáson keresztül tudnak
belépni, és soha nem használja senki a
telnetd,
rshd vagy
rlogind
szolgáltatásokat, akkor kapcsoljuk is ki
ezeket!A &os; most már alapértelmezés szerint
járókában futtatja az
ntalkd,
comsat és
finger
szolgáltatásokat. Másik ilyen program,
amely szintén esélyes lehet erre, az a
&man.named.8;. Az /etc/defaults/rc.conf
megjegyzésben tartalmazza a
named járókában
futtatásához szükséges
paramétereket. Attól függõen, hogy egy
új rendszert telepítünk vagy
frissítjük a már meglévõ
rendszerünket, a járókákhoz
tartozó speciális felhasználói
hozzáférések nem feltétlenül
jönnek létre. Amikor csak lehetséges, az
elõrelátó rendszergazda
kikísérletez és létrehoz ilyen
járókákat.sendmailVannak más olyan szerverek, amelyek tipikusan nem
járókákban futnak. Ilyen többek
közt a sendmail,
popper,
imapd,
ftpd és még sokan
mások. Léteznek rájuk
alternatívák, de a telepítésük
valószínûleg több munkát
igényel, mint amennyit megérné
számunkra veszõdni velük (és itt megint
lesújt a kényelmi tényezõ). Ezeket a
szervereket többnyire root
felhasználóként kell futtatnunk és a
rajtuk keresztül érkezõ betörési
kísérleteket más módokra
támaszkodva kell észlelnünk.A root felhasználó
keltette biztonsági rések másik nagy
csoportja azok a végrehajtható
állományok a rendszerben, amelyek a suid és
sgid engedélyekkel rendelkeznek, futtatásuk
rendszergazdai jogokkal történik. Az ilyen
binárisok többsége, mint
például az rlogin, a
/bin és /sbin,
/usr/bin vagy
/usr/sbin könyvtárakban
található meg. Habár semmi sem
biztonságos 100%-ig, a rendszerben
alapértelmezetten suid és sgid engedéllyel
rendelkezõ binárisok ebbõl a szempontból
meglehetõsen megbízhatónak tekinhetõek.
Alkalmanként azonban találnak a
root felhasználót
veszélyeztetõ lyukakat az ilyen binárisokban
is. Például 1998-ban az
Xlib-ben volt egy olyan rendszergazdai
szintû hiba, amellyel az xterm
(ez általában suid engedéllyel rendelkezik)
sebezhetõvé vált. Mivel jobb félni,
mint megijedni, ezért az elõretekintõ
rendszergazda mindig igyekszik úgy csökkenteni az
ilyen engedélyekkel rendelkezõ binárisok
körét, hogy csak a személyzet tagjai legyenek
képesek ezeket futtatni. Ezt egy olyan speciális
csoport létrehozásával oldhatjuk meg,
amelyhez csak a személyzet tagjai férhetnek
hozzá. Az olyan suid binárisoktól pedig,
amelyeket senki sem használ, igyekszik teljesen
megszabadulni (chmod 000). A monitorral nem
rendelkezõ szervereknek általában nincs
szükségük az xterm
mûködtetésére. Az sgid
engedéllyel rendelkezõ binárisok is
legalább ugyanennyire veszélyesek. Ha a
behatoló képes feltörni egy
kmem csoporthoz tartozó sgid
binárist, akkor képes lesz olvasni a
/dev/kmem állomány
tartalmát, ezáltal hozzájut a
titkosított jelszavakhoz és így
megszerezheti magának akármelyik
hozzáférést. Sõt, a
kmem csoportot megszerzõ
behatolók figyelni tudják a pszeudó
terminálokon keresztül érkezõ
billentyûleütéseket, még abban az
esetben is, amikor a felhasználók
egyébként biztonságos módszereket
használnak. A tty csoportot
bezsebelõ támadók szinte bármelyik
felhasználó termináljára
képesek írni. Ha a felhasználó
valamilyen terminál programot vagy terminál
emulátort használ a billentyûzet
szimulációjával, akkor a behatoló
tud olyan adatokat generálni, amivel a
felhasználó nevében adhat ki
parancsokat.A felhasználói
hozzáférések védelmeA felhasználók
hozzáféréseit szinte a legnehezebb
megvédeni. Míg a személyzet tagjaival
szemben lehetünk kíméletlenül
szigorúak és ki is csillagozhatjuk
a jelszavukat, addig a felhasználók
hozzáféréseivel
általánosságban véve ezt nem
tehetjük meg. Ha a kezünkben van a megfelelõ
mértékû irányítás, akkor
még gyõzhetünk és kényelmesen
biztonságba helyezethetjük a
felhasználók
hozzáférését. Ha nincs, akkor nem
tehetünk mást, mint állandóan
õrködünk a hozzáférések
felett. Az ssh és Kerberos használata a
felhasználók esetén sokkalta
problematikusabb, mivel ilyenkor jóval több
adminisztrációra és mûszaki
segítségnyújtásra van
szükség, de még mindig jobb megoldás a
titkosított jelszavakhoz képest.A jelszavakat tároló állomány
védelmeAz a legbiztosabb, ha minél több jelszót
kicsillagozunk és a hozzáférések
hitelesítésére ssh-t vagy Kerberost
használunk. Igaz, a titkosított jelszavakat
tároló állományt
(/etc/spwd.db) csak a
root képes olvasni, de a
támadó meg tudja szerezni ezt a jogot még
olyankor is, ha root
felhasználóként nem feltétlenül
tud írni.A rendszerünkben futó biztonsági
szkripteknek a jelszavakat tároló
állomány változását
folyamatosan tudnia kell figyelnie és jelentie
(lásd lentebb a Az
állományok sértetlenségének
ellenõrzése címû
fejezetet).A rendszermag belsejének, a nyers eszközök
és az állományrendszerek
védelmeHa a támadó megszerzi a
root
hozzáférését, akkor szinte
bármit képes megtenni, de vannak bizonyos
elõnyei. Például a mostanság
fejlesztett legtöbb rendszermag tartalmaz valamilyen
beépített csomaglehallgatót, amit &os;
alatt a bpf eszköz
valósít meg. A támadók szinte
mindig megpróbálnak valamilyen
csomaglehallgatót használni a feltört
gépen. A legtöbb rendszeren azonban nem kell
feltétlenül megadnunk ezt az örömet,
ezért nem is kell beépítenünk a
rendszermagba a bpf
eszközt.sysctlDe ha még ki is iktatjuk a
bpf eszközt, még
aggódhatunk a /dev/mem és
/dev/kmem miatt. Egyébként
ami azt illeti, a behatoló még így is
képes írni a nyers eszközökre.
Sõt, a rendszermagba képesek vagyunk modulokat is
betölteni a &man.kldload.8; használatával. A
vállalkozó kedvû támadó a
rendszermag moduljaként képes telepíteni
és használni a saját
bpf eszközét vagy
bármilyen más, a csomagok
lehallgatására alkalmas eszközt. Az ilyen
problémák elkerülése
érdekében a rendszermagot a legmagasabb
védelmi szinten kell üzemeltetni, tehát
legalább 1-esen. A védelmi szint
szabályozása a sysctl parancson
keresztül a kern.securelevel
változó értékének
beállításával lehetséges.
Ahogy a védelmi szintet 1-re állítottuk, a
nyers eszközök írása azonnal
letiltódik és az olyan speciális
állományjelzõk, mint például az
schg hatása mûködésbe
lép. Gondoskodnunk kell róla, hogy a rendszer
indítása szempontjából fontos
programok, könyvtárak és szkriptek
rendelkezzenek az schg
állományjelzõvel — minden, ami a
védelmi szint beállításáig
elindult. Ez némileg túlzás, és
ezzel a rendszer frissítése is valamivel
nehezebbé válik egy magasabb védelmi
szinten. Megkockáztathatjuk azt is, hogy a rendszert
magasabb védelmi szinten futtatjuk, de nem
állítunk be minden egyes állományra
és könyvtárra schg
állományjelzõt. Megoldhatjuk úgy is a
problémát, ha egyszerûen
írásvédett módon csatlakoztatjuk a
/ és /usr
állományrendszereket. Ehhez viszont
hozzátennénk, hogy az ilyen szigorú
védekezés egyben megakadályozza a
betörések felderítéséhez
szükséges összes információ
összeszedését is.Az állományok
sértetlenségének ellenõrzése:
binárisok, konfigurációs
állományok stb.Ha arról van szó, csak a legfontosabb
rendszerszintû konfigurációs- és
vezérlõállományokat tudjuk
megvédeni, még mielõtt a korábban
emlegetett kényelmi tényezõ kimutatná
a foga fehérjét. Például, ha a
chflags paranccsal beállítjuk
az schg állományjelzõt a
/ és /usr
állományrendszereken található
legtöbb állományra, akkor az minden bizonnyal
csökkenti a hatékonyságunkat, hiszen az
állományok védelmének
növekedésével csökken az
észlelés lehetõsége. A védelmi
vonalaink közül ugyanis az utolsó talán
az egyik legfontosabb — a detektálás. A
felépített biztonsági rendszerünk
legnagyobb része szinte teljesen hasztalan (vagy ami
még rosszabb, a biztonság hamis
érzetét kelti), ha nem vagyunk képesek
észrevenni a betörési
kísérleteket. A védelmi rendszer egyik
részére nem a támadó
megállításához, hanem a
lelassításához van szükség,
hogy így majd munka közben érhessük
tetten.A betörés tényét legjobban a
megváltozott, hiányzó vagy éppen
váratlanul felbukkanó állományok
utáni kutatással tudjuk felismerni. A
módosított állományokat
általában egy másik (gyakran
központosított) korlátozott
hozzáférésû rendszerbõl
ellenõrizhetjük a legjobban. Fontos, hogy ha egy
korlátozott hozzáférésû,
kiemelten védett rendszeren írjuk a
védelemért felelõs szkripteket, akkor azok
szinte teljesen láthatlanok lesznek a
támadó számára. A legjobb
kihasználás érdekében a
korlátozott hozzáférésû
gépnek jelentõs mértékû
rálátással kell rendelkeznie az összes
többi gépre, amit írásvédett
NFS exportok vagy ssh kulcspárok
felhasználásával érhetünk el.
A hálózati forgalmat leszámítva az
NFS látszik a legkevésbé —
segítségével lényegében
észrevétlenül tudjuk figyelni az egyes
gépek állományrendszereit. Ha a
megfigyelésre használt szerver a kliensekhez
switchen keresztül csatlakozik, akkor az NFS gyakran jobb
választásnak bizonyul. Ha a szerver hubon vagy
több hálózati elemen keresztül
éri el a megfigyelni kívánt klienseket,
akkor az NFS nem eléggé biztonságos
(és hatékony), ezért ilyen esetekben az ssh
választása lehet a kedvezõ még az ssh
által hagyott nyomokkal együtt is.Miután a korlátozott
hozzáférésû gépünk
legalább látja a hozzátartozó
kliensek rendszereit, el kell készítenünk a
tényleges monitorozást végzõ
szkripteket. Ha NFS csatlakozást tételezünk
fel, akkor az olyan egyszerû rendszereszközökkel,
mint például a &man.find.1; és &man.md5.1;
képesek vagyunk összerakni ezeket. A szemmel
tartott kliensek állományait naponta
legalább egyszer érdemes ellenõrizni md5-tel,
valamint még ennél gyakrabban is tesztelni az
/etc és
/usr/local/etc könyvtárakban
található konfigurációs és
vezérlõállományokat. Ha valamilyen
eltérést tapasztal az ellenõrzést
végzõ szerverünk és a rajta levõ
md5 információk is helyesek, akkor
értesítenie kell a rendszergazdát. Egy
jó védelmi szkript képes megkeresni az oda
nem illõ suid binárisokat, valamint az új
vagy törölt állományokat a
/ és a /usr
partíciókon.A védelmi szkriptek megírása valamivel
nehezebb feladat, ha ssh-t használunk az NFS helyett. A
futtatásukhoz a szkripteket és az általuk
használt eszközöket (például
find) az scp paranccsal
lényegében át kell másolni a
kliensekre, amivel így láthatóvá
válnak. Ne feledjük továbbá, hogy az
ssh kliens már eleve
feltört lehet. Szó, ami szó, ha nem
megbízható
összeköttetésekrõl beszélünk,
akkor az ssh használata elkerülhetetlen, de nem
feltétlenül egyszerû.Egy jó védelmi szkript észreveszi a
felhasználók és a személyzet
tagjainak hozzáférését
vezérlõ állományokban, mint
például az .rhosts,
.shosts,
.ssh/authorized_keys és
társaiban keletkezett változásokat is,
amelyek esetleg elkerülhetik egy MD5
alapú ellenõrzés figyelmét.Ha netalán órási mennyiségû
tárterületettel rendelkeznénk, akkor
eltarthat egy ideig, amíg végigsöprünk
az összes partíció összes
állományán. Ebben az esetben
érdemes olyan beállításokat megadni
az állományrendszerek
csatlakoztatásánál, amivel le tudjuk
tiltani a suid engedéllyel rendelkezõ
binárisok futtatását. Ezzel kapcsolatban a
&man.mount.8; parancs nosuid
opcióját nézzük meg. Hetente
legalább egyszer azért mégis érdemes
átnézni az ilyen partíciókat is,
mivel ez a réteg a betörési
kísérletek felderítésével
foglalkozik, függetlenül a
sikerességüktõl.A futó programok nyilvántartása
(lásd &man.accton.8;) egy olyan viszonylag kevés
költséggel járó lehetõség
az operációs rendszerben, ami
segítségünkre lehet a betörés
utáni események
kiértékelésében.
Különösen hasznos olyankor, amikor
megpróbáljuk modellezni, miképp is
sikerült a támadónak bejutnia a
rendszerünkbe, természetesen feltételezve,
hogy az ehhez felhasznált feljegyzések a
betörés után is érintetlenek
maradtak.Végül a védelmet ellátó
szkripteknek javasolt feldolgozni a
naplóállományokat is, valamint a
naplókat magukat is a lehetõ
legbiztonságosabb formában generálni
— ilyenkor nagyon hasznos lehet, ha egy távoli
gépre naplózunk. A behatoló
megpróbálja majd eltüntetni a nyomait, a
naplóállományok viszont nagyon fontosak a
rendszergazda számára a betörési
kísérletek idejének és
módjának
megállapításában. A naplókat
úgy tudjuk tartósan rögzíteni, ha a
rendszerkonzol üzeneteit soros porton keresztül
gyûjtjük össze a konzolok
felügyeletéért felelõs
biztonságos gépen.Állandó paranoiaEgy kis paranoia sosem árt. Elmondható, hogy
a rendszergazda tetszõleges számú
biztonsági intézkedéssel élhet
egészen addig, amíg az nincs hatással a
kényelmére, és a kényelmet
befolyásoló biztonsági
intézkedéseket pedig megfelelõ
mérlegelés mellett tegye meg. Ami még
ennél is fontosabb, hogy mindig változtassunk
valamit a biztonsági hálónkon — mivel
ha egy az egyben követjük a dokumentumban
leírtakat, akkor ezzel együtt kiadjuk a
bejutás receptjét annak a leendõ
támadónknak, aki szintén elolvasta
ugyanezt.A szolgáltatások
mûködésképtelenné
tételét célzó
támadásokDenial of Service (DoS)Ez a szakasz a szolgáltatások
mûködésképtelenségét
elérni kívánó, más
néven Denial of Service
típusú támadásokkal foglalkozik.
Noha nem tudunk túlságosan sokat tenni a
manapság felbukkanó álcázott, a
hálózatunk totális
leterhelését célbavevõ
támadások ellen, akadnak olyan
általános érvényû
eszközök, amelyekkel elejét vehetjük a
szervereink szétbomzásának:A létjövõ
szerverpéldányok
korlátozása.Az ugródeszkaszerû támadások
(támadás ICMP-válasszal,
pingszórás stb.)
korlátozása.A rendszermag útválasztási
gyorsítótárának
túlterhelése.A DoS támadások egyik jellemzõ
sémája szerint egy sokszorozódni
képes szervert támadnak meg, amelynek igyekeznek
minél több példányát
legyártatni, míg végül az ezt
futtató rendszer ki nem fogy a
memóriából,
állományleíróból
satöbbibõl és megállásra nem
kényszerül. Az inetd
(lásd &man.inetd.8;) számos
lehetõséget kínál fel ennek
megakadályozására. Ezzel kapcsolatban
szeretnénk megjegyezni, hogy bár ezzel el tudjuk
kerülni a gépünk
leállását, semmilyen garanciát nem
ad arra, hogy a szolgáltatás a
támadás során is zavartalanul üzemel
tovább. Alaposan olvassuk el az
inetd man oldalát és
legyünk különös tekintettel a
, és
kapcsolóira. Vigyázzunk, hogy
az inetd
kapcsolóját képesek kijátszani az
álcázott IP-vel érkezõ
támadások, ezért inkább az
elõbbi kapcsolók valamilyen
kombinációja az ajánlott. Egyes
szerverprogramoknál be lehet állítani a
példányainak maximális
számát.A Sendmail rendelkezik egy
beállítással, ami a terhelésben
levõ késleltetése miatt néha mintha
jobban beválna, mint a
Sendmail
terheléskorlátozó paraméterei. A
Sendmail indításakor
tehát a MaxDaemonChildren
paramétert javasolt megadni egy olyan
értékkel, amely elegendõ a
Sendmail számára
betervezett terhelés kiszolgálására,
de még kevés ahhoz, hogy a
Sendmail fûbe harapjon
tõle. Továbbá bölcs dolog a
Sendmailt várakozási
sorral () és
démonként (sendmail -bd),
külön feldolgozási menetekkel
(sendmail -q15m) futtatni. Ha
továbbra is valós idejû
kézbesítést akarunk, akkor a
feldolgozást kisebb idõközökkel is
lefuttathatjuk (például ), de
arra mindig ügyeljünk, hogy a
MaxDaemonChildren
beállítása ne okozzon
kaszkádosítási hibákat a
Sendmail
mûködésében.A Syslogd közvetlenül
is támadható, ezért határozottan
javasoljuk a használatát,
amikor csak lehet, minden más esetben pedig a
beállítást.Fordítsunk kellõ figyelmet a TCP kapcsolatok
burkolását végzõ TCP
Wrapperreverse-ident
lehetõségére, ami szintén
közvetlenül támadható. Ebbõl az
okból kifolyólag valószínûleg
nem is akarjuk a TCP Wrapper
által felkínált reverse-ident-et
használni.Jól járunk el abban az esetben, ha a
belsõ szolgáltatásainkat az
útválasztóink mentén tûzfal
segítségével védjük meg a
külsõ hozzáféréstõl. Ezzel
lényegében a helyi hálózatunkat
kívülrõl fenyegetõ támadások
ellen védekezünk, de ez nem nyújt
elegendõ védelmet a belsõ
szolgáltatásaink esetén a
root hozzáférés
megszerzésére irányuló
kísérletek ellen. Mindig egy exkluzív,
tehát zárt tûzfalat állítsunk
be, vagyis tûzfalazzunk mindent
kivéve az A, B, C, D és M-Z
portokat. Ezen a módon ki tudjuk szûrni az
összes alacsonyabb portot, kivéve bizonyos eseteket,
mint például a named
(ha az adott zónában ez az elsõdleges
gép), ntalkd,
sendmail vagy más interneten
keresztül elérhetõ
szolgáltatásokat. Ha másképpen
állítjuk a tûzfalat — inkluzív,
nyílt avagy megengedõ módon, akkor jó
eséllyel elfelejtünk lezárni
egy csomó szolgáltatást, vagy úgy
adunk hozzá egy új belsõ
szolgáltatást, hogy közben elfelejtjük
frissíteni a tûzfalat. Ennél még azon
is jobb, ha a tûzfalon nyitunk egy magasabb
portszámú tartományt, és ott
valósítjuk meg ezt a megengedõ jellegû
mûködést, az alacsonyabb portok
veszélybe sodrása nélkül. Vegyük
azt is számításba, hogy a &os;-ben a
kiosztott portokat dinamikusan állíthatjuk a
net.inet.ip.portrange sysctl
változókon keresztül (sysctl -a |
fgrep portrange), ami nagyságrendekkel
megkönnyíti a tûzfal
beállítását. Ennek megfelelõen
például meg tudjuk adni, hogy a 4000-tõl
5000-ig terjedõ porttartomány a 49152-tõl
65535-ig húzódó tartományba
kerüljön át, majd a 4000 alatti összes
portot blokkoljuk (természetesen az internetrõl
szándékosan hozzáférhetõ portok
kivételével).A DoS támadások másik elterjedt
fajtája az ún. ugródeszka
támadás — ilyenkor a szervert
úgy próbálják túlterhelni,
hogy folyamatosan válaszokat kérnek tõle a
helyi hálózatról vagy egy másik
számítógéprõl. Az ilyen
természetû támadások közül
is a legnépszerûbb az ICMP
pingszórásos támadás. A
támadó olyan ping csomagokat küld szét
a helyi hálózaton, amelyek
forrásának azt a gépet jelöli meg,
amelyiket meg akarja támadni. Ha a
hálózatokat elválasztó
útválasztók nem fogják meg a
pingszórást, akkor a helyi
hálózatról összes gépe
nekilát válaszolgatni a meghamisított
forrás címére, amivel így teljesen
leterhelik az áldozatot. Ez különösen
akkor hatásos, amikor a támadó ugyanezt a
trükköt eljátssza egyszerre több tucat
különbözõ hálózatban is. Az
üzenetszórással járó
támadások akár százhúsz
megabitnyi forgalmat is képesek generálni
másodpercenként. A második legelterjedtebb
ugródeszkás támadás az ICMP
hiba-visszajelzési rendszere ellen irányul.
Ilyenkor a támadó ICMP hibaüzeneteket
kiváltó csomagok
készítésével képes
eltömíteni egy szerver bejövõ
hálózati kapcsolatát és az ICMP
válaszokkal pedig a szerver maga dugítja el a
kimenõ hálózati kapcsolatát. Ez a
fajtájú támadás képes
kinyomni az összes memóriát a szerverbõl
és ezzel összeomlasztani, különösen
olyankor, amikor a szerver nem tudja elég gyorsan
elnyelni az általa generált ICMP
válaszokat. A net.inet.icmp.icmplim
sysctl változóval tudunk gátat szabni a
támadások ezen fajtájának. Az
ugródeszkás támadások utolsó
nagyobb osztálya az inetd
olyan szolgáltatásait szemeli ki, mint
például az udp echo. A támadó
ilyenkor egyszerûen küld a helyi
hálózatunkon található A és B
szerverünknek egy olyan UDP csomagot, ahol
forrásként az A szerver echo portját adja
meg, célnak pedig a B szerver echo portját.
Ezután a két szerver elkezdi egymás
között passzolgatni ezt az egyetlen csomagot. A
támadó még több ilyen csomag
befecskendezésével pillanatok alatt képes
leterhelni a két szervert és helyi
hálózatot. Hasonló problémák
vannak a belsõ chargen
portjával is. Egy hozzáértõ
rendszergazda ezért kikapcsolja az összes ilyen
inetd-alapú belsõ tesztelõ
szolgáltatást.Az álcázott csomagok
felhasználhatóak a rendszermag
útválasztó
gyorsítótárának
túlterhelésére is. Ezzel kapcsolatban
nézzük meg a
net.inet.ip.rtexpire,
rtminexpire és
rtmaxcache sysctl változókat.
A véletlenszerû IP-címekkel megcímzett
álcázott csomagok hatására a
rendszermag létrehoz mindegyikõjükhöz egy
ideiglenesen pufferelt utat az útválasztó
táblázatában, amelyet a netstat
-rna | fgrep W3 paranccsal tudunk lekérdezni.
Az ilyen útvonalak nagyjából 1600
másodperc múlva elévülnek. Ha a
rendszermag észleli, hogy a
gyorsítótárazott
útválasztási táblázat
mérete túlságosan megnövekedett, akkor
automatikusan csökkenti az rtexpire
értékét, de soha nem megy a
rtminexpire alá. Ebbõl
két probléma adódik:A rendszermag nem reagál elég gyorsan
amikor egy alig terhelt szervert hirtelen
megtámadnak.Az rtminexpire nem elég kicsi
ahhoz, hogy a rendszermag túléljen egy
tartósabb rohamot.Ha a szervereink az internethez T3 (kb. 45 Mbit/s) vagy
gyorsabb összeköttetésen keresztül
csatlakoznak, akkor határozottan javasolt kézileg
behangolni a &man.sysctl.8; segítségével az
rtexpire és az
rtminexpire értékeket. Soha ne
állítsuk egyiket sem nullára (hacsak nem
akarjuk összeomlasztani a gépünket). Ha
például mind a kettõt 2 másodpercre
állítjuk, akkor az többnyire elegendõ az
útválasztási táblázat
megvédéséhez.Hozzáférés Kerberosszal és
SSH-valsshKerberosIVVan néhány dolog, amit a Kerberos és az
ssh esetén ajánlatos tisztázni,
mielõtt használjuk ezeket. A Kerberos 5 egy
kifogástalan hitelesítési protokoll. A
telnet és
rlogin Kerberos által
módosított változatában vannak olyan
hibák, amelyek alkalmatlanná teszik ezeket a
bináris adatfolyamok helyes kezelésére.
Sõt, alapértelmezés szerint a Kerberos nem
titkosítja a kapcsolatot, csak ha megadjuk neki a
kapcsolót. Az
ssh alapértelmezés
szerint mindent titkosít.Az ssh minden szempontból nagyon jól
teljesít kivéve, hogy alapértelmezés
szerint átküldi a kulcsokat is. Ez azt jelenti,
hogy ha van egy olyan biztonságos
munkaállomásunk, ahol a rendszer többi
részéhez tartozó kulcsainkat tartjuk
és egy nem biztonságos gépre akarunk vele
ssh-n keresztül belépni, akkor a kulcsaink
használatóvá válnak. A
tényleges kulcsokat ugyan nem látja senki, de a
bejelentkezés során az ssh megnyit egy
közvetítéshez használt portot, amit a
nem biztonságos gépen a támadó egy
feltört root
hozzáférés birtokában ki tud
használni úgy, hogy a kulcsaink
segítségével hozzá tudjon
férni egy másik olyan géphez, amelyet a
kulcsok nyitnak.Ha lehetséges, akkor a személyzet
bejelentkeztetéséhez az ssh-t és Kerberost
együttesen használjuk. Az
ssh lefordíható
Kerberos támogatással. Ezzel
csökkentjük a potenciálisan
kiszivárgó ssh kulcsok esélyét,
miközben jelszavainkat a Kerberosszal védjük.
Az ssh kulcsokat csak biztonságos gépekrõl
és csak automatizált feladatok esetén
használjuk (amire a Kerberos lényegében nem
alkalmas). Emellett javasoljuk azt is, hogy az ssh
beállításai között tiltsuk le a
kulcsok átküldését (key forwarding)
vagy használjuk az from=IP/DOMAIN
opciót, amivel az ssh csak a megadott
gépekrõl engedi az
authorized_keys állomány
és a így benne levõ kulcsok
használatát.BillSwingleEgyes részeit újraírta és
aktualizálta: DES, Blowfish, MD5 és a CryptbiztonságcryptcryptBlowfishDESMD5Minden &unix; rendszer használójához
tartozik egy jelszó is a
hozzáféréséhez. Teljesen
nyilvánvalónak tûnik, hogy ezt a jelszót
csak az adott felhasználó és az adott
operációs rendszer ismeri. A jelszavakat a titokban
tartásukhoz ún. csapóajtó
függvényekkel titkosítják,
amelyeket könnyû titkosítani, ám
nehéz visszafejteni. Tehát amit egy perccel
ezelõtt még nyilvalónak tituláltunk, az
mostanra már nem is teljesen igaz:
valójában az
operációs rendszer sem ismeri a jelszót. Az
operációs rendszer csak a jelszó
titkosított változatát
ismeri. A jelszó titkosítatlan
formáját csak nyers erõ
igényebevételével tudjuk megkeresni az
összes lehetséges jelszó
szénakazlában.Sajnos, annak idején, amikor a jelszavak
titkosítása bekerült a &unix;-ba, egyedül
a DES, vagy más néven a Data Encryption Standard
(Adattitkosítási szabvány) jött
szóba. Ez alapvetõen nem jelentett
problémát az Egyesült Államok
állampolgárai számára, de mivel a DES
forráskódját nem lehetett kivinni az
Egyesült Államokból, a &os;-nek találnia
kellett valami olyasmit, ami mind megfelel az Egyesült
Államok törvényeinek, mind pedig kompatibilis
marad az összes többi DES-t használó
&unix; variánssal.Ezt úgy oldották meg, hogy felosztották a
titkosítással foglalkozó
függvénykönyvtárakat, így az
Egyesült Államokban élõ
felhasználók tudtak DES könyvtárakat
telepíteni és használni, miközben a
többi nemzet felhasználói olyan más
titkosítási módszert tudtak
választani, amit kinn is lehetett alkalmazni. Ennek
tulajdonítható, hogy a &os;
alapértelmezés szerint az MD5
segítségével titkosít. Az MD5-öt
a DES-nél sokkalta biztonságosabbnak tartják,
ezért a DES telepítésének
lehetõségét leginkább csak
kompatibilitási okokból ajánlották
fel.A titkosítási mechanizmus
azonosításaJelenleg a könyvtár ismeri a DES, MD5 és
Blowfish függvényeit. A &os; a jelszavak
titkosításához alapból az
MD5-öt használja.Nagyon könnyen meg tudjuk mondani, hogy a &os;
éppen melyik titkosítási módszert
alkalmazza. Ennek egyik lehetõsége, ha az
/etc/master.passwd állományt
vizsgáljuk meg. Az MD5 függvényével
titkosított jelszavak hosszabbak, mint a DES
függvényével titkosítottak és a
$1$ karakterekkel
kezdõdnek. A $2a$
karakterekkel kezdõdõ jelszavakat Blowfish-sel
titkosították. A DES
kódolású jelszavaknak nincs semmilyen
különleges ismertetõjelük, de
általánosságban elmondható
róluk, hogy rövidebbek az MD5 jelszavaknál
és olyan 64 karakteres ábécével
kódolják ezeket, amelyek nem tartalmazzák a
$ karaktert, így tehát a
viszonylag rövid, nem dollárjellel kezdõdõ
karakterláncok minden bizonnyal DES
kódolású jelszavak.Az új jelszavak kódolásához
használt formátumot az
/etc/login.conf állományban
tárolt passwd_format
bejelentkezési tulajdonság adja meg, amelynek
értékei des,
md5 vagy blf lehetnek. A
&man.login.conf.5; man oldalon
tájékozódhatunk bõvebben a
bejelentkezési tulajdonságokról.Egyszeri jelszavakegyszeri jelszavakbiztonságegyszeri jelszavakA &os; alapértelmezés szerint támogatja
az OPIE-t (One-time Passwords In Everything, azaz Egyszeri
jelszavak mindenben), ami alapból az MD5
függvényét használja.A jelszavak három fajtáját fogjuk a
továbbiakban tárgyalni. Az elsõ a megszokott
&unix; stílusú avagy Kerberos jelszó. Ezt a
továbbiakban &unix; jelszónak
nevezzük. A második fajtában az OPIE
&man.opiekey.1; nevû segédprogramja által
generált és a bejelentkezésnél a
&man.opiepasswd.1; által elfogadott jelszavak tartoznak.
Ezeket egyszeri jelszavaknak fogjuk nevezni. A
jelszavak utolsó típusa az a titkos jelszó,
amit az opiekey programnak (és
néha a opiepasswd programnak) adunk meg,
ami ebbõl egyszer használatos jelszavakat
állít elõ. Ezt innentõl titkos
jelszónak vagy csak egyszerûen
jelszónak hívjuk.A titkos jelszónak semmi köze sincs a &unix;
jelszavunkhoz. Természetesen megegyezhetnek, de ezt nem
ajánljuk. Az OPIE által használt titkos
jelszavaknak nem kell a régi &unix; jelszavakhoz
hasonlóan legfeljebb 8 karakteresnek lenniük
&os; alatt a bejelentkezéshez használt
szabványos jelszavak akár 128 karakteresek is
lehetnek., bármekkorát használhatunk. A
hat vagy hét szóból álló
jelszavak ilyenkor igen gyakoriak. Az OPIE jobbára a
&unix; jelszórendszerétõl teljesen
függetlenül mûködik.A jelszavak mellett két másik fajta adat fontos
az OPIE számára. Közülük az egyiket
magnak vagy kulcsnak nevezik, ami
két betûbõl és öt
számjegybõl áll. A másik az
iterációk száma, ami egy 1
és 100 közötti számot takar. Az OPIE
úgy hozza létre az egyszeri jelszavakat, hogy
egymás után fûzi a magot és a titkos
jelszót, majd az iterációk megadott
számának megfelelõ mennyiségben
kiszámolja rá az MD5 függvény
értékét és az eredményt hat
rövid angol szóba önti. Ez a hat angol
szó lesz a mi egyszeri jelszavunk. A
hitelesítéssel foglalkozó rendszer
(elsõsorban a PAM) figyelemmel kíséri a
legutoljára használt egyszeri jelszavunkat,
és csak akkor engedi a felhasználót
hitelesíteni, ha az általa megadott jelszó
kódolt változata megegyezik az elõzõleg
megadott jelszaváéval. A csapóajtó
függvények használata miatt lehetetlen
legenerálni a következõ egyszeri jelszót,
ha a sikerült megszereznünk az egyiket. Az
iterációk száma minden egyes sikeres
bejelentkezés után csökken eggyel, amivel a
felhasználót és a bejelentkeztetõ
programot szinkronban tartja. Amikor így az
iterációk száma eléri az egyet, az
OPIE-t újra kell inicializálni.Az említésre kerülõ rendszerek
mindegyikéhez tartozik néhány program. Az
opiekey bekéri az
iterációk számát, a magot és a
titkos jelszót, majd elõállít egy
egyszer használatos jelszót vagy azok folytonos
listáját. Az opiepasswd az OPIE
inicializálásért, a jelszavak, az
iterációk számának és a mag
megváltoztatásáért felelõs.
Egyaránt elfogad titkos jelmondatot,
iterációs számot vagy magot és egy
egyszeri jelszót. Az opieinfo
megvizsgálja a felhasználókra
vonatkozó adatbázist
(/etc/opiekeys) és kiírja az
adott felhasználó által használt
iterációs számot és magot.Négyféle különbözõ
mûveletrõl fogunk most itt beszélni. Az
elsõben egy biztonságos kapcsolaton keresztül
elsõként inicializáljuk az egyszeri
jelszavakat, vagy megváltoztatjuk a jelszót vagy a
magot az opiepasswd
segítségével. A második
mûveletben ugyanarra adjuk ki az
opiepasswd parancsot egy nem biztonságos
kapcsolaton keresztül az opiekey
paranccsal együtt egy biztonságos kapcsolaton
keresztül. A harmadikban az opiekey
használatával nem biztonságos kapcsolaton
keresztül jelentkezünk be. A negyedikben az
opiekey paranccsal létrehozunk egy adott
mennyiségû kulcsot, amelyeket aztán
leírhatunk vagy kinyomtathatunk, hogy magunkkal tudjuk
vinni olyan helyre, ahonnan nem tudnk biztonságos
módon csatlakozni.Inicializálás biztonságos
kapcsolattalAz OPIE elsõ inicializálásához
adjuk ki az opiepasswd parancsot:&prompt.user; opiepasswd -c
[grimreaper] ~ $ opiepasswd -f -c
Adding unfurl:
Only use this method from the console; NEVER from remote. If you are using
telnet, xterm, or a dial-in, type ^C now or exit with no password.
Then run opiepasswd without the -c parameter.
Using MD5 to compute responses.
Enter new secret pass phrase:
Again new secret pass phrase:
ID unfurl OTP key is 499 to4268
MOS MALL GOAT ARM AVID COED
A figyelmeztetés fordítása:Ezt a módszert csak konzolról alkalmazzuk, SOHA ne távoli kapcsolaton
keresztül! Ha telnetet, xtermet vagy betárcsázós kapcsolatot használunk, akkor
azonnal nyomjunk ^C-t vagy ne adjunk meg jelszót.Az Enter new secret pass phrase: vagy
Enter secret password: kérdések
után adjunk meg egy jelmondatot, illetve jelszót.
Ne felejtsük el, hogy ez nem bejelentkezéshez
használt jelszó lesz, hanem ebbõl jönnek
majd létre az egyszeri kulcsaink. Az ID
sor adja meg az aktuális példányunk
paramétereit: a bejelentkezéshez használt
nevünket, az iterációk számát
és a magot. Amikor a bejelentkezések során
a rendszer emlékszik a paraméterekre és
megjeleníti ezeket, nem kell megjegyeznünk. Az
utolsó sor adja meg a paramétereinknek és a
titkos jelszavunknak megfelelõ egyszeri jelszót. Ha
most azonnal akarnánk bejelentkezni, akkor ezt az
egyszeri jelszót kellene hozzá
használnunk.Inicializálás nem biztonságos
kapcsolattalHa egy nem biztonságos kapcsolaton keresztül
akarjuk inicializálni vagy megváltoztatni a
jelszavunkat, akkor szükségünk lesz valahol egy
megbízható kapcsolatra, ahol le tudjuk futtatni az
opiekey parancsot. Ez lehet egy
számunkra biztonsági szempontból
elfogadható gép parancssora. Emellett ki kell
találnunk egy iterációs számot (erre
a 100 egy jó választás) és adnunk
egy magot vagy használni egy véletlenszerûen
generáltat. Az inicializálás
színtere felé vezetõ nem biztonságos
kapcsolaton keresztül adjuk ki az
opiepasswd parancsot:&prompt.user; opiepasswd
Updating unfurl:
You need the response from an OTP generator.
Old secret pass phrase:
otp-md5 498 to4268 ext
Response: GAME GAG WELT OUT DOWN CHAT
New secret pass phrase:
otp-md5 499 to4269
Response: LINE PAP MILK NELL BUOY TROY
ID mark OTP key is 499 gr4269
LINE PAP MILK NELL BUOY TROY
Az alapértelmezett mag elfogadásához
nyomjuk le a Return billentyût.
Mielõtt megadnánk a hozzáférés
jelszavát, menjünk át a biztonságos
kapcsolatra és adjuk meg neki ugyanezeket a
paramétereket:&prompt.user; opiekey 498 to4268
Using the MD5 algorithm to compute response.
Reminder: Don't use opiekey from telnet or dial-in sessions.
Enter secret pass phrase:
GAME GAG WELT OUT DOWN CHAT
Most váltsunk vissza a nem biztonságos
kapcsolatra és másoljuk be az így
generált egyszeri jelszót a megfelelõ
programba.Egyetlen egyszeri jelszó
létrehozásaMiután sikeresen inicializáltuk az OPIE-t
és bejelentkezünk, a következõket
láthatjuk:&prompt.user; telnet example.com
Trying 10.0.0.1...
Connected to example.com
Escape character is '^]'.
FreeBSD/i386 (example.com) (ttypa)
login: felhasználói_név
otp-md5 498 gr4269 ext
Password: Mellékesen megjegyezzük, hogy az OPIE
paranccsorának van egy (itt nem látható)
hasznos képessége: ha Return
billentyût nyomunk a jelszó
bekérésekor, akkor a program megmutatja a
begépelt betûket, így láthatjuk
pontosan mit is írunk be. Ez nagyon kényelmes
lehet olyankor, amikor valahonnan, például egy
lapról olvassuk a jelszót.MS-DOSWindowsMacOSA bejelentkezéshez ekkor le kell valahogy
generálnunk az egyszeri jelszavunkat. Ezt egy
megbízható rendszeresen tudjuk megtenni az
opiekey lefuttatásával. (Ennek
vannak DOS-os, &windows;-os és &macos;-es
változatai is.) Paraméterként az
iterációs számot és a magot kell
megadnunk. Ezt akár közvetlenül át is
másolhatjuk annak a gépnek a bejelentkezési
képernyõjérõl, ahova be akarunk
jelentkezni.A megbízható rendszeren tehát:&prompt.user; opiekey 498 to4268
Using the MD5 algorithm to compute response.
Reminder: Don't use opiekey from telnet or dial-in sessions.
Enter secret pass phrase:
GAME GAG WELT OUT DOWN CHATMost már megvan a bejelentkezéshez
szükséges egyszeri jelszavunk.Több egyszeri jelszó
létrehozásaNéha olyan helyekre kell mennünk, ahol se egy
megbízható gép, sem pedig
biztonságos kapcsolat nem található. Ilyen
esetekben megadhatjuk az opiekey parancsnak,
hogy elõre gyártson le több egyszer
használatos jelszót, amit késõbb
aztán ki tudunk nyomtatni. Például:&prompt.user; opiekey -n 5 30 zz99999
Using the MD5 algorithm to compute response.
Reminder: Don't use opiekey from telnet or dial-in sessions.
Enter secret pass phrase: <secret password>
26: JOAN BORE FOSS DES NAY QUIT
27: LATE BIAS SLAY FOLK MUCH TRIG
28: SALT TIN ANTI LOON NEAL USE
29: RIO ODIN GO BYE FURY TIC
30: GREW JIVE SAN GIRD BOIL PHIAz öt kulcsot kér
egymás után, a pedig megadja
az utolsó iterációs számot.
Vegyük észre, hogy a kulcsokat a
felhasználás sorrendjével
ellentétes sorrendben írja ki
a program. Ha igazán paranoiások vagyunk, akkor
írjuk le kézzel a jelszavakat. Ha viszont annyira
nem, akkor egyszerûen küldjük át ezeket az
lpr parancsnak. Megfigyelhetjük, hogy
minden sorban látható az iterációs
szám és a hozzátartozó egyszeri
jelszó. Hasznos lehet a felhasználás
szerinti felírni a jelszavakat.A &unix; jelszavak használatának
leszûkítéseAz OPIE képes a bejelentkezéshez
használt IP-címek alapján
leszûkíteni a &unix; jelszavak
használatát. Ehhez az
/etc/opieaccess használható,
amely alapból megtalálható a
rendszerünkön. Az &man.opieaccess.5; man
oldalán találhatjuk meg a rá
vonatkozó információkat és az
összes vele kapcsolatos biztonsági
megfontolást.Íme egy példa az
opieaccess állományra:permit 192.168.0.0 255.255.0.0Ezzel a sorral megengedjük a &unix; jelszavak
használatát minden olyan felhasználó
számára, akinek az IP-je illeszkedik a megadott
címre és maszkra (ez viszont
álcázással
kijátszható).Ha az opieaccess
állományból egyetlen szabály sem
illeszkedik, akkor alapértelmezés szerint nem
engedélyezettek a nem OPIE típusú
jelszavak.TomRhodesÍrta: TCP burkolókA TCP kapcsolatok burkolásaAki ismeri az &man.inetd.8; programot, az már biztosan
hallott a TCP kapcsolatok
burkolásáról, eredeti nevén a a
TCP wrapperekrõl. Azonban csak kevesek
képesek felfogni ezek valódi hasznát.
Úgy néz ki, mindenki csak tûzfalakon
keresztül akarja megoldani a hálózati
kapcsolatot kezelését. Habár a
tûzfalakat sok mindenre fel lehet ugyan használni,
egyetlen tûzfal nem képes például
szövegesen válaszolni a kapcsolatok
kezdeményezõinek. Ellenben bármelyik
TCP-wrapper szoftver képes erre,
sõt még többre is. A következõ
néhány szakaszban szemügyre vesszük a
TCP wrapperek számos
lehetõségét, és ahol lehetséges,
ott konfigurációs állományokkal is
illusztráljuk ezek használatát.A TCP burkoló szoftverek
kiterjesztik az inetd
képességeit minden alatta dolgozó
szerverdémon támogatására. Ezzel a
módszerrel meg lehet oldani a naplózást,
üzenetek küldését a kapcsolatokhoz, a
démonok elérhetõségének
korlátozását stb. Noha ezen
lehetõségek közül néhány
tûzfallal is megvalósítható, ezzel nem
csupán egy további védelmi réteget
húzunk fel a rendszerünk köré, hanem
túllépjük mindazt, amit egy tûzfallal
irányítani lehet.A TCP burkolók
használatával hozzáadott
funkcionalitás azonban nem helyettesít egy jó
tûzfalat. A TCP kapcsolatok
burkolását tûzfallal vagy más
egyéb biztonsági megoldással együtt
tudjuk csak eredményesen használni, viszont a
rendszerünk biztonságában egy újabb
remek védelmi vonalat képvisel.Mivel lényegében ez az
inetd
beállításának
kibõvítése, ezért a szakasz
elolvasásához feltételezzük az inetd beállításával
kapcsolatos tudnivalók ismeretét.Bár az &man.inetd.8; által indított
programok nem egészen tekinthetõen
démonoknak, hagyományosan
démonnak hívják ezeket. Ezért
rájuk ebben a szakaszban is ezt a kifejezést
használjuk.Kezdeti beállítások&os; alatt a TCP burkolók
használatának egyetlen feltétele
csupán annyi, hogy az inetd
parancsot a paraméterrel
indítsuk az rc.conf
állományból. Az egyébként az
alapbeállítás. Természetesen nem
árt, ha helyesen állítjuk be az
/etc/hosts.allow állományt
is, ellenkezõ esetben a &man.syslogd.8;
egyébként dobálni fogja errõl az
üzeneteket.Eltérõen a TCP
burkolók egyéb
implementációitól, a
hosts.deny állományt itt
már nem használjuk. Minden
beállítást az
/etc/host.allow állományba
kell raknunk.A legegyszerûbb konfiguráció
esetén a démonok
kapcsolódását egyszerûen
engedélyezhetjük vagy letilthatjuk az
/etc/hosts.allow állományban
szereplõ beállításokkal. A &os;
alapértelmezett beállításai szerint
minden inetd által
indított démonhoz lehet kapcsolódni. Ennek
megváltoztatásával az
alapkonfiguráció áttekintése
után foglalkozunk.Az alapkonfiguráció általában
démon : cím : cselekvés
alakú. Itt a démon egy olyan
démonra utal, amelyet az inetd
indított el. A cím egy
érvényes hálózati név,
IP-cím vagy szögletes zárójelek
([ ]) között megadott IPv6
formátumú cím. A cselekvést
tartalmazó mezõ (action) lehet
allow vagy deny annak
megfelelõen, hogy engedélyezzük vagy tiltjuk a
megadott címrõl a csatlakozást. Nem szabad
elfelejtenünk, hogy az így megadott
beállítások közül mindig az
elsõként illeszkedõ
érvényesül, ami arra utal, hogy a
konfigurációs állományban
szereplõ szabályok egymás után
növekvõ sorrendben értékelõdnek ki.
Ha valamelyikük illeszkedik, akkor a keresés
megáll.Rengeteg egyéb opció is megadható
még, de ezekrõl csak a késõbbi
szakaszokban fogunk szólni. Egy egyszerû
konfigurációs állomány már
ennyi információból is
könnyedén összeállítható.
Például, ha engedélyezni szeretnénk
a POP3 kapcsolatokat a mail/qpopper démonon
keresztül, akkor a következõ sorral kell
kiegészítenünk a
hosts.allow állományt:# Ez a sor kell a POP3 kapcsolatokhoz:
qpopper : ALL : allowMiután hozzáadtuk ezt a sort, az
inetd szervert újra kell
indítanunk. Ezt vagy a &man.kill.1; paranccsal, vagy
pedig az /etc/rc.d/inetd szkript
restart paraméterével
tehetjük meg.Komolyabb beállításokA TCP kapcsolatok
burkolásánál is meg lehet adni
további opciókat.
Segítségükkel még jobban
irányítani tudjuk a kapcsolatok
kezelésének módját.
Néhány esetben az is hasznos lehet, ha
küldünk valamilyen választ az egyes
gépeknek vagy démonoknak. Máskor
szükségünk lehet a csatlakozások
naplózására vagy e-mailen keresztüli
jelzésére a rendszergazda felé. Teljesen
más helyezetekben csak a helyi
hálózatunkról engedjük meg a
csatlakozást. Ez mind lehetséges a
helyettesítõ jelekként
ismert beállítási opciók,
kiterjesztõ karakterek és külsõ parancsok
végrehajtásának
használatával. A következõ két
szakasz az ilyen és ehhez hasonló
szituációk megoldására
íródott.Külsõ parancsokTegyük fel, hogy olyan helyezetben vagyunk, amikor a
kapcsolatot tiltani akarjuk, de közben azért
szeretnénk errõl értesíteni a
kapcsolatot kezdeményezõ felet is. Hogyan tudjuk
ezt megcsinálni? Ezt a
nevû opcióval tehetjük meg. Amikor
megpróbál valaki csatlakozni, akkor a
hívódik meg és
végrehajt egy megadott parancsot vagy szkriptet. Erre
találunk is egy példát a
hosts.allow
állományban:# The rest of the daemons are protected.
ALL : ALL \
: severity auth.info \
: twist /bin/echo "You are not welcome to use %d from %h."Ez a példa a következõ üzenetet
jeleníti meg: You are not allowd to use
a démon neve from
hálózati név.
(Jelentése: A démon
neve démont nem érheti el a
hálózati név
helyrõl!) Ez minden olyan démon
esetén megjelenik, amirõl nem nyilatkoztunk
korábban az állományban. Ezzel nagyon
könnyen vissza tudunk küldeni egy választ a
kapcsolat kezdményezõje felé, miután
a kapcsolatot eldobtuk. Vegyük észre, hogy a
visszaküldendõ üzenetet "
karakterek közé kell
tennünk, ez alól semmi sem kivétel.DoS támadást lehet elõidézni
azzal, ha egy támadó vagy
támadók egy csoportja csatlakozási
kérelmekkel kezdi el bombázni a
démonainkat.Ilyen esetekben használhatjuk a
opciót is. A
a
opcióhoz hasonlóan implicit módon tiltja
a kapcsolódást és arra
használható, hogy lefuttassunk vele egy
parancsot vagy szkriptet. A azonban a
opciótól
eltérõen nem küld vissza semmilyen
választ a kapcsolatot létrehozni
kívánó egyénnek. Ehhez
példaként vegyük a következõ sort
a konfigurációs
állományban:# We do not allow connections from example.com:
ALL : .example.com \
: spawn (/bin/echo %a from %h attempted to access %d >> \
/var/log/connections.log) \
: denyEzzel a *.example.com
címtartományból érkezõ
összes kapcsolódási kísérlet
sikertelen lesz, miközben ezzel egyidõben a
/var/log/connections.log
állományba rögzítjük a
csatlakozni akaró egyén hálózati
nevét, IP-címét
és a démont.A korábban már kifejtett
helyettesítõ karakterek túl, mint
például az %a, még
léteznek továbbiak is. Róluk a
&man.hosts.access.5; man oldalon találhatjuk meg a
teljes listát.Helyettesítõ jelekAz eddigi példákban folyamatosan csak az
ALL opciót adtuk meg. Azonban rajta
kívûl léteznek mások is, amivel a
megoldás funkcionalitását még egy
kicsivel tovább növelhetjük.
Például az ALL
használható egy démon, egy
tartomány vagy egy IP-cím
illesztésére. A másik ilyen
helyettesítõ jel a PARANOID,
amelyet olyan gépek
IP-címének
illesztésekor alkalmazhatunk, ami
feltételezhetõen hamis. Más szóval
a PARANOID olyan cselekvések
megadását teszi lehetõvé, amelyek
akkor hajtódnak végre, amikor a kapcsolatot
létrehozó gép
IP-címe eltér a
hálózati nevétõl. A most
következõ példa
valószínûleg segít fényt
deríteni ennek lényegére:# Block possibly spoofed requests to sendmail:
sendmail : PARANOID : denyA példában minden olyan
kapcsolatkérést elutasítunk, ami a
sendmail felé a
hálózati névtõl eltérõ
IP-címrõl
irányul.Ha rossz DNS
beállításokat használunk, a
PARANOID megadásával
súlyosan mozgásképtelenné
tehetjük a kliensünket vagy szerverünket.
Ezért legyünk óvatosak vele!A helyettesítõ jelekrõl és
hozzájuk tartozó további
lehetõségekrõl a &man.hosts.access.5; man
oldalon tájékozódhatunk.A hosts.allow
állományból ki kell venni az elsõ
sort ahhoz, hogy bármilyen egyéb
konfigurációs beállítás
mûködõképes legyen. Ezt
említettük a szakasz elején is.MarkMurrayÍrta: MarkDapozEredetileg írta: KerberosIVA Kerberos egy olyan járulékos
rendszer/protokoll, amellyel a felhasználók egy
biztonságos szerver szolgáltatásain
keresztül tudják hitelesíteni magukat. Ilyen
szolgáltatás többek közt a távoli
bejelentkezés, távoli másolás, a
rendszeren belüli biztonságos másolás
és minden olyan egyéb veszélyes feladat, amit
számottevõen megbízhatóbbá
és irányíthatóbbá
tettek.A következõ utasítások a &os;-hez
mellékelt Kerberos
beállításához adnak
útmutatást. A teljes leíráshoz
azonban érdemes fellapoznunk a menet közben
hivatkozott man oldalakat is.A KerberosIV
telepítéseMITKerberosIVtelepítésA Kerberos a &os; egyik választható
komponense. Legkönnyebben úgy tudjuk
feltelepíteni, ha a &os; telepítése
során a sysinstall programban
kiválasztjuk a krb4 vagy
krb5 terjesztések valamelyikét.
Ezzel felrakhatjuk a Kerberos eBones (KerberosIV)
vagy Heimdal (Kerberos5) elnevezésû
változatait. A &os; azért tartalmazza ezeket az
implementációkat, mert nem az Amerikai
Egyesült Államokban vagy Kanadában
fejlesztették, így az Egyesült Államok
titkosításokkal kapcsolatos kiviteli
korlátozások korában minden olyan rendszer
adminisztrátora el tudta érni, aki nem ezekben az
országokban lakott.A Kerberos MIT által fejlesztett
implementációját egyébként a
Portgyûjteménybõl a security/krb5 porton keresztül
érhetjük el.A kezdeti adatbázis
létrehozásaEzt a lépést csak a Kerberos szerveren kell
elvégezni. Elõször is
gyõzõdjünk meg róla, hogy semmilyen
korábbi Kerberos adatbázis nem
található a gépen. Váltsunk az
/etc/kerberosIV könyvtárra
és ellenõrizzük a következõ
állományok meglétét:&prompt.root; cd /etc/kerberosIV
&prompt.root; ls
README krb.conf krb.realmsHa rajtuk kívül további
állományok is feltûnnének (mint
például a principal.* vagy
master_key), akkor a
kdb_destroy paranccsal pusztítsuk el a
régi Kerberos adatbázist, vagy ha nem fut
már a Kerberos, akkor egyszerûen csak
törüljük le ezeket.Ezután lássunk neki a
krb.conf és
krb.realms állományok
átírásán keresztül a Kerberos
egyes övezeteinek (realm)
létrehozásához. Itt most az
EXAMPLE.COM lesz a létrehozandó
övezet, a hozzátartozó szerver pedig a
grunt.example.com. Így
szerkesszük át vagy készítsünk el
a neki megfelelõ krb.conf
állományt:&prompt.root; cat krb.conf
EXAMPLE.COM
EXAMPLE.COM grunt.example.com admin server
CS.BERKELEY.EDU okeeffe.berkeley.edu
ATHENA.MIT.EDU kerberos.mit.edu
ATHENA.MIT.EDU kerberos-1.mit.edu
ATHENA.MIT.EDU kerberos-2.mit.edu
ATHENA.MIT.EDU kerberos-3.mit.edu
LCS.MIT.EDU kerberos.lcs.mit.edu
TELECOM.MIT.EDU bitsy.mit.edu
ARC.NASA.GOV trident.arc.nasa.govA többi övezetnek valójában nem
feltétlenül kell itt lennie. Ezek csupán
azért szerepelnek itt, hogy bemutassák
miként lehet egyetlen géphez hozzárendelni
egyszerre több övezetet is. Az
egyszerûség kedvéért nyugodtan
elhagyhatóak.Az elsõ sor nevezi meg a rendszer által
mûködtetett övezeteket. Az utána
következõ sorokban övezeteket és
hálózati neveket láthatunk. Itt az
elsõ elem egy övezetet nevez meg, a második
elem pedig az övezet kulcselosztó
központját (key distribution center). A
hálózati nevet követõ admin
server kulcsszavak arra utalnak, hogy az adott
gép adminisztratív szerepet ellátó
adatbázist is tartalmaz. Ezeket a fogalmakat
részleteiben a Kerberos man oldalain ismerhetjük
meg.Ezután hozzá kell adnunk a grunt.example.com nevû gépet az
EXAMPLE.COM övezethez, valamint az
.example.com
tartományban levõ összes géphez
létre kell hoznunk egy bejegyzést az
EXAMPLE.COM övezetben. A
krb.realms állományt ehhez a
következõképpen kellene
módosítanunk:&prompt.root; cat krb.realms
grunt.example.com EXAMPLE.COM
.example.com EXAMPLE.COM
.berkeley.edu CS.BERKELEY.EDU
.MIT.EDU ATHENA.MIT.EDU
.mit.edu ATHENA.MIT.EDUIsmét hozzátesszük, hogy a többi
övezetnek nem kötelezõ itt szerepelnie. Ezek
csupán azt demonstrálják, hogy
miként kell egy gépet egyszerre több
övezethez is beállítani. Az
átláthatóság kedvéért
minden további nélkül
eltávolíthatjuk ezeket.Itt az elsõ sor az adott rendszert
elhelyezi egy nevesített övezetbe. A többi sor
azt mutatja meg, hogyan kell alapértelmezett módon
a meghatározott altartományokba tartozó
gépeket egy nevesített övezethez
hozzárendelni.Most már készen állunk az
adatbázis létrehozására. Ehhez
egyedül a Kerberos szerverét (avagy
Kulcselosztó központját) kell
elindítanunk. Adjuk ki a kdb_init
parancsot:&prompt.root; kdb_initRealm name [default ATHENA.MIT.EDU ]:EXAMPLE.COM
You will be prompted for the database Master Password.
It is important that you NOT FORGET this password.
Enter Kerberos master key:Az üzenet fordítása:Most az adatbázis mesterkulcsát kell megadni. Fontos, hogy
NE FELEJTSÜK EL ezt a jelszót.Most el kell mentenünk a kulcsot, így a helyi
gépen futó szerverek fel tudják szedni.
Ehhez a kstash parancsra van
szükségünk:&prompt.root; kstashEnter Kerberos master key:
Current Kerberos master key version is 1.
Master key entered. BEWARE!Az üzenet fordítása:A Kerberos mesterkulcsának jelenlegi változata: 1.
VIGYÁZAT, megadták a mesterkulcsot!Ez elmenti a titkosított mesterkulcsot az
/etc/kerberosIV/master_key
állományba.Az egész beüzemeléseKerberosIVkezdeti indításaMindegyik Kerberosszal õrzött
rendszerrel kapcsolatban két ún. szereplõt
(principal) kell még hozzátennünk az
adatbázishoz. A nevük kpasswd
és rcmd. Minden rendszerhez
létre kell hoznunk ezeket a szereplõket,
példányonként (instance) az egyes
rendszerek neveivel.A kpasswd és
rcmd démonok teszik
lehetõvé a többi rendszer
számára, hogy megváltoztathassák a
Kerberos jelszavukat, valamint hogy futtathassák az
&man.rcp.1;, &man.rlogin.1; és &man.rsh.1;
parancsokat.Vegyük fel ezeket a bejegyzéseket is:&prompt.root; kdb_edit
Opening database...
Enter Kerberos master key:
Current Kerberos master key version is 1.
Master key entered. BEWARE!
Previous or default values are in [brackets] ,
enter return to leave the same, or new value.
Principal name:passwdInstance:grunt
<Not found>, Create [y] ?y
Principal: passwd, Instance: grunt, kdc_key_ver: 1
New Password: <---- írjuk be, hogy RANDOM
Verifying password
New Password: <---- írjuk be, hogy RANDOMRandom password [y] ?y
Principal's new key version = 1
Expiration date (enter yyyy-mm-dd) [ 2000-01-01 ] ?Max ticket lifetime (*5 minutes) [ 255 ] ?Attributes [ 0 ] ?
Edit O.K.
Principal name:rcmdInstance:grunt
<Not found>, Create [y] ?
Principal: rcmd, Instance: grunt, kdc_key_ver: 1
New Password: <---- írjuk be, hogy RANDOM
Verifying password
New Password: <---- írjuk be, hogy RANDOMRandom password [y] ?
Principal's new key version = 1
Expiration date (enter yyyy-mm-dd) [ 2000-01-01 ] ?Max ticket lifetime (*5 minutes) [ 255 ] ?Attributes [ 0 ] ?
Edit O.K.
Principal name: <---- ha nem adunk meg semmit, akkor kilépA szerver állomány
létrehozásaMost pedig kivonatolni kell azokat a
példányokat, amelyek szolgáltatást
definiálnak a gépen. Erre az
ext_srvtab parancsot használjuk.
Ennek eredményeképpen keletkezik egy
állományt, amelyet biztonságos
eszközökkel át kell másolni
vagy át kell mozgatni az egyes Kerberos kliensek
/etc könyvtárába. Ennek
az állománynak egyaránt jelent kell lennie
a szerveren és a kliensen is, nélküle a
Kerberos mûködésképtelen.&prompt.root; ext_srvtab gruntEnter Kerberos master key:
Current Kerberos master key version is 1.
Master key entered. BEWARE!
Generating 'grunt-new-srvtab'....Ez a parancs most létrehozott egy ideiglenes
állományt, amit át kell nevezni az
srvtab névre, hogy
megtalálhassák a szerverek. Az eredeti rendszeren
a &man.mv.1; paranccsal tudjuk a helyére rakni:&prompt.root; mv grunt-new-srvtab srvtabHa egy kliensnek szánjuk az állományt
és a hálozatunkat nem tekinthetjük
biztonságosnak, akkor a
kliens-new-srvtab
állományt másoljuk egy mozgatható
adathordozóra és megbízható
módon jutassuk el. Ne felejtsük el az
állományt srvtab néven
átrakni a kliens /etc
könyvtárába és az engedélyeit
600-ra állítani:&prompt.root; mv grumble-new-srvtab srvtab
&prompt.root; chmod 600 srvtabAz adatbázis feltöltéseEzt követõen rögzítenünk kell
néhány felhasználót is
adatbázisban. Elõször is hozzunk létre
egy bejegyzést a janos nevû
felhasználónak. Ezt a kdb_edit
parancs kiadásával tesszük meg:&prompt.root; kdb_edit
Opening database...
Enter Kerberos master key:
Current Kerberos master key version is 1.
Master key entered. BEWARE!
Previous or default values are in [brackets] ,
enter return to leave the same, or new value.
Principal name:janosInstance:
<Not found>, Create [y] ?y
Principal: janos, Instance: , kdc_key_ver: 1
New Password: <---- adjunk meg egy biztonságos jelszót
Verifying password
New Password: <---- itt ismét adjuk meg a jelszót
Principal's new key version = 1
Expiration date (enter yyyy-mm-dd) [ 2000-01-01 ] ?Max ticket lifetime (*5 minutes) [ 255 ] ?Attributes [ 0 ] ?
Edit O.K.
Principal name: <---- ha nem írunk be semmit, akkor kilépPróbáljuk kiElsõként a Kerberos démonait kell
beindítanunk. Ezzel kapcsolatban megjegyeznénk,
hogy ha ehhez megfelelõen átírtuk az
/etc/rc.conf állományunkat,
akkor ez az újraindítással együtt
magától lezajlik. Ezt csak a Kerberos szerveren
kell megcsinálni. A Kerberos kliensei maguktól
összeszedik a mûködésükhöz
szükséges adatokat az
/etc/kerberosIV
könyvtárból.&prompt.root; kerberos &
Kerberos server starting
Sleep forever on error
Log file is /var/log/kerberos.log
Current Kerberos master key version is 1.
Master key entered. BEWARE!
Current Kerberos master key version is 1
Local realm: EXAMPLE.COM
&prompt.root; kadmind -n &
KADM Server KADM0.0A initializing
Please do not use 'kill -9' to kill this job, use a
regular kill instead
Current Kerberos master key version is 1.
Master key entered. BEWARE!A fenti figyelmeztetés
fordítása:A program leállítására ne a 'kill -9' parancsot, hanem a
normális kill parancsot használjukEzután a kinit parancs
használatával próbáljunk meg az
elõbb létrehozott janos
azonosítónak kérni egy jegyet:&prompt.user; kinit janos
MIT Project Athena (grunt.example.com)
Kerberos Initialization for "janos"
Password:A klist paranccsal most
próbáljuk meg kilistázni a tokeneket
és így ellenõrizni, hogy valóban
rendelkezünk velük:&prompt.user; klist
Ticket file: /tmp/tkt245
Principal: janos@EXAMPLE.COM
Issued Expires Principal
Apr 30 11:23:22 Apr 30 19:23:22 krbtgt.EXAMPLE.COM@EXAMPLE.COMEzután a &man.passwd.1; használatával
próbáljuk meg megváltoztatni a
jelszavunkat. Ezzel tudjuk ellenõrizni, hogy a
kpasswd démon
hozzáfér a Kerberos
adatbázisához:&prompt.user; passwd
realm EXAMPLE.COM
Old password for janos:New Password for janos:
Verifying password
New Password for janos:
Password changed.Adminisztrátori jogosultságok
felvételeA Kerberos lehetõvé teszi, hogy
mindegyik olyan
felhasználónak, akinek rendszergazdai jogokra
lenne szüksége, a &man.su.1;
eléréséhez
külön meg tudjunk adni egy
jelszót. Most már tudunk mondani egy olyan
azonosítót is, amely jogosult a &man.su.1;
használatával root jogokat
szerezni. Ezt úgy tudjuk megoldani, ha az adott
szereplõhöz társítunk egy
root példányt. A
kdb_edit használatával
készíteni tudunk egy janos.root
bejegyzést a Kerberos adatbázisában:&prompt.root; kdb_edit
Opening database...
Enter Kerberos master key:
Current Kerberos master key version is 1.
Master key entered. BEWARE!
Previous or default values are in [brackets] ,
enter return to leave the same, or new value.
Principal name:janosInstance:root
<Not found>, Create [y] ? y
Principal: janos, Instance: root, kdc_key_ver: 1
New Password: <---- ide csak egy BIZTONSÁGOS jelszót adjuk meg!
Verifying password
New Password: <---- adjuk meg ismét a jelszót
Principal's new key version = 1
Expiration date (enter yyyy-mm-dd) [ 2000-01-01 ] ?Max ticket lifetime (*5 minutes) [ 255 ] ?12 <--- ne állítsuk nagyon hosszúra!
Attributes [ 0 ] ?
Edit O.K.
Principal name: <---- ha nem adunk meg semmit, akkor kilépEzt követõen úgy tudunk megbizonyosodni a
mûködésérõl, hogy
megpróbálunk neki tokeneket szerezni:&prompt.root; kinit janos.root
MIT Project Athena (grunt.example.com)
Kerberos Initialization for "janos.root"
Password:Most rakjuk bele a felhasználót a
root.klogin
állományába:&prompt.root; cat /root/.klogin
janos.root@EXAMPLE.COMEzután próbáljunk meg kiadni a
&man.su.1; parancsát:&prompt.user; suPassword:Nézzük meg milyen tokenjeink is vannak:&prompt.root; klist
Ticket file: /tmp/tkt_root_245
Principal: janos.root@EXAMPLE.COM
Issued Expires Principal
May 2 20:43:12 May 3 04:43:12 krbtgt.EXAMPLE.COM@EXAMPLE.COMMás parancsok használataAz iménti példában létrehoztunk
egy janos nevû szereplõt, amihez a
root egy példányát
rendeltük. Ez egy olyan felhasználón
alapján történt, akinek a neve megegyezik a
hozzátartozó szereplõvel, ami a Kerberosban
alapértelmezés. Amennyiben a
szükséges megjegyzések
megtalálhatóak a root
könyvtárában levõ
.klogin állományban, akkor a
felhasználó.root
formátumú
szereplõ.példány
azonosító megengedi a
felhasználó
számára, hogy végrehajtsa a &man.su.1;
parancsot.&prompt.root; cat /root/.klogin
janos.root@EXAMPLE.COMEhhez hasonlóan, ha a felhasználó
saját könyvtárában
megtalálható egy ilyen
állomány:&prompt.user; cat ~/.klogin
janos@EXAMPLE.COM
jozsef@EXAMPLE.COMEzzel a konfigurációval bárki, aki
janos felhasználóként
vagy jozsef
felhasználóként (a kinit
parancson keresztül) hitelesítette magát
EXAMPLE.COM övezetbõl, ezen a
rendszeren (grunt) bejelentkezhet a
janos nevû
felhasználóként vagy
hozzáférhet az állományaihoz az
&man.rlogin.1;, &man.rsh.1; vagy &man.rcp.1;
használatával.Például janos most egy
másik Kerberost használó rendszerre
jelentkezik be:&prompt.user; kinit
MIT Project Athena (grunt.example.com)
Password:
&prompt.user; rlogin grunt
Last login: Mon May 1 21:14:47 from grumble
Copyright (c) 1980, 1983, 1986, 1988, 1990, 1991, 1993, 1994
The Regents of the University of California. All rights reserved.
FreeBSD BUILT-19950429 (GR386) #0: Sat Apr 29 17:50:09 SAT 1995Vagy jozsef jelentkezik be ugyanazon a
gépen janos
hozzáférésével (a
janos nevû
felhasználónak a fentebb bemutatt
.klogin állomány
található a könyvtárában
és a Kerberos üzemeltetéséért
felelõs személy létrehozott egy
jozsef nevû szereplõt egy null
példánnyal):&prompt.user; kinit
&prompt.user; rlogin grunt -l janos
MIT Project Athena (grunt.example.com)
Password:
Last login: Mon May 1 21:16:55 from grumble
Copyright (c) 1980, 1983, 1986, 1988, 1990, 1991, 1993, 1994
The Regents of the University of California. All rights reserved.
FreeBSD BUILT-19950429 (GR386) #0: Sat Apr 29 17:50:09 SAT 1995TillmanHodgsonÍrta: MarkMurrayEredetileg írta: Kerberos5A &os; 5.1 után következõ mindegyik &os;
kiadás már csak a
Kerberos5 támogatást
tartalmaz. Ezért bennük csak a
Kerberos5 található meg,
és a beállítása sok szempontból
hasonlít a KerberosIV
beállításához. A most
következõ információk csak és
kizárólag a &os; 5.0 kiadás után
következõkben található
Kerberos5 változatra
vonatkoznak. A KerberosIV
szolgáltatásait a felhasználók
csomagként, a security/krb4 porton keresztül
érhetik el.A Kerberos egy
hálózati kiegészítõ
rendszer/protokoll, amivel a felhasználók egy
biztonságos szerveren keresztül képesek magukat
azonosítani. A távoli bejelentkezések,
távoli másolások, a rendszer belüli
védett másolások valamint egyéb nagyon
kockázatos feladatok, szolgáltatások
biztonsága és felügyelete így
jelentõs mértékben
javítható.A Kerberos úgy
írható le, mint az személyazonosságok
ellenõrzésére feljogosított rendszer.
Vagy tekinthetjük egy megbízható
külsõ megfigyelõ által végzett
hitelesítési rendszernek is. A
Kerberos csak egyetlen funkciót
kínál fel — ez a felhasználók
biztonságos hitelesítése a
hálózaton. Viszont nem nyújt semmilyen
felhatalmazási (mit csinálhatnak a
felhasználók) vagy vizsgálati (mit
csináltak végül a felhasználók)
lehetõséget. Miután egy kliens és a
szerver a Kerberos
használatával azonosították
egymást, az egymás közt folyó
kommunikációjuk titkosításával
képesek megõrzi az átáramló
adatok sértetlenségét és
lehallgathatatlanságát.Ennek tükrében a
Kerberos használata csak
más olyan biztonsági módszerekkel
együttesen javasolt, amelyek felhatalmazást és
vizsgálati szolgáltatásokkal is
rendelkeznek.A most következõ utasítások arra
igyekeznek útmutatást adni, hogy miként
használjuk a &os;-vel együtt terjesztett
Kerberos verziót. Azonban a
teljes leírást csak a témához
tartozó man oldalak átolvasásával
együtt kapjuk meg.A Kerberos
telepítésének bemutatásához az
alábbi névtereket fogjuk használni:A DNS tartomány
(zóna) az example.org lesz.A Kerberos övezet az
EXAMPLE.ORG lesz.Kérjük, hogy még abban az esetben is
valódi tartományneveket adjuk meg, amikor a
Kerberos használatát
csak a belsõ hálózaton tervezzük. Ezzel
elkerülhetjük az egyes
Kerberos övezetek
együttmûködése során
felmerülõ DNS
problémákat.A Kerberos
történeteKerberos5történeteA Kerberost az
MIT hozta létre a
hálózati biztonsággal kapcsolatos
problémák egyik megoldásaként. A
Kerberos erõs
titkosítást használ, ezért a
kliensek képesek egy nem biztonságos
hálózaton is azonosítani magukat a szerver
felé (és fordítva).A Kerberos egyaránt utal
egy hálózati protokoll nevére és
azokra programokra, amelyek implementálják
(például Kerberos
telnet). Az 5 a protokoll jelenlegi verziója, amit az
RFC 1510 ír le.A protokollnak számos szabad változata
létezik, rengeteg típusú
operációs rendszerre. A Massachusettsi
Mûszaki Intézet (Massachusetts Institute of
Technology, MIT), ahol a
Kerberost eredetileg
kifejlesztették, napjainkban is folytatja a saját
Kerberos csomagjának
fejlesztését. Többnyire az Egyesült
Államokban használják
titkosításra, mivel régebben az amerikai
kiviteli korlátozások voltak rá
érvényesek. Az MIT
Kerberos változata
portként érhetõ el (security/krb5). A Heimdal
Kerberos egy másik 5
verziójú implementáció, amit a
kiviteli korlátozások elkerülése
érdekében határozottan az Egyesült
Államokon kívül fejlesztettek ki
(ezért gyakran megtalálhatjuk a
különbözõ nem kereskedelmi &unix;
variánsokban). A Heimdal
Kerberos terjesztés
portként elérhetõ (security/heimdal) és kisebb
méretben a &os; alaptelepítésének is
része.Mivel ezzel az írással a legtöbb
felhasználót kívánjuk
segíteni, ezért a következõ
utasítások a &os;
telepítésében mellékelt Heimdal
terjesztés használatát
feltételezik.A Heimdal kulcselosztójának
telepítéseKerberos5kulcselosztó központA kulcselosztó központ (Key Distribution Center,
avagy KDC) az a centralizált
hitelesítési szolgáltatás, amit a
Kerberos nyújt —
lényegében az a
számítógép, amely
Kerberos-jegyeket bocsájt ki.
A KDC
megbízhatónak tekinthetõ a
Kerberos által
kialakított övezetben levõ többi
számítógép számára,
ezért védelme kiemelten fontos.Itt jegyeznénk meg, hogy habár a
Kerberos szerver futtatása
nagyon kevés számítógépes
erõforrást igényel, ennek ellenére
biztonsági szempontból egy külön
számítógépet javasoljunk a
kulcselosztó szerepének
betöltéséhez.Mielõtt nekifognánk a KDC
konfigurálásának, ellenõrizzük,
hogy az /etc/rc.conf tartalmazza a
KDC mûködéséhez
szükséges beállításokat (az
elérési utakat természetesen a saját
rendszerünk szerint állítsuk be):kerberos5_server_enable="YES"
kadmind5_server_enable="YES"A következõ lépésben vegyük
szemügyre a Kerberos
beállításait tartalmazó
/etc/krb5.conf
állományt:[libdefaults]
default_realm = EXAMPLE.ORG
[realms]
EXAMPLE.ORG = {
kdc = kerberos.example.org
admin_server = kerberos.example.org
}
[domain_realm]
.example.org = EXAMPLE.ORGVegyük észre, hogy az itt szereplõ
/etc/krb5.conf állomány
szerint a kulcselosztónk teljes hálózati
neve kerberos.example.org. Ha a
kulcselosztónknak nem ez a neve, akkor a
zónákat leíró
állományba vegyünk még fel egy ilyen
CNAME (álnév) bejegyzést.Ha egy nagyobb hálózatban vagyunk, ahol a
DNS szervert is megfelelõen
beállították, akkor az iménti
példa ennyire leszûkíthetõ:[libdefaults]
default_realm = EXAMPLE.ORGItt már a következõ sorokat
hozzáadták example.org zónát
leíró állományhoz:_kerberos._udp IN SRV 01 00 88 kerberos.example.org.
_kerberos._tcp IN SRV 01 00 88 kerberos.example.org.
_kpasswd._udp IN SRV 01 00 464 kerberos.example.org.
_kerberos-adm._tcp IN SRV 01 00 749 kerberos.example.org.
_kerberos IN TXT EXAMPLE.ORGA kliensek csak akkor lesznek képesek elérni
a Kerberos
szolgáltatásait, ha vagy
kötelezõ jelleggel megadunk egy
teljesen beállított
/etc/krb5.conf állományt,
vagy egy minimális /etc/krb5.conf
állományt és egy
helyesen beállított DNS szervert
használunk.Ezután létrehozzuk a
Kerberos adatbázisát.
Ez az adatbázis tartalmazza az összes szereplõ
kulcsát a mesterkulcssal titkosítva. Erre a
jelszóra nem kell feltétlenül
emlékeznünk, mivel ez egy állományban
tárolódik
(/var/heimdal/m-key). A mesterkulcsot a
kstash parancs kiadásával
és egy jelszó megadásával tudjuk
létrehozni.Ahogy a mesterkulcs elkészült, a
kadmin parancs -l (mint
lokális, azaz helyi)
opciójával inicializálni tudjuk az
adatbázist. Ez az opció arra utasítja a
kadmin programot, hogy ne a
kadmind hálózati
szolgáltatást használja, hanem
közvetlenül az adatbázis
állományait módosítsa. Ezzel
oldható meg az adatbázis kezdeti
létrehozásának problémája.
Miután megkaptuk a kadmin
parancssorát, az övezetünkhöz
tartozó adatbázis
inicializálásához adjuk ki az
init parancsot.Végül, még mindig a
kadmin parancssorát használva,
az add paranccsal hozzuk létre az
elsõ szereplõnket. Egyelõre érjük be
az alapértelmezett értékekkel, a
modify paranccsal késõbb
úgyis meg tudjuk változtatni ezeket.
Hozzátesszük, hogy itt a ?
parancs segítségével bármikor
lekérhetjük az opciók
ismertetését.Példa egy adatbázis
létrehozására:&prompt.root; kstash
Master key: xxxxxxxx
Verifying password - Master key: xxxxxxxx
&prompt.root; kadmin -l
kadmin> init EXAMPLE.ORG
Realm max ticket life [unlimited]:
kadmin> add tillman
Max ticket life [unlimited]:
Max renewable life [unlimited]:
Attributes []:
Password: xxxxxxxx
Verifying password - Password: xxxxxxxxMost már ideje elindítani a
KDC szolgáltatásait. Ezeket az
/etc/rc.d/kerberos start és
/etc/rc.d/kadmind start parancsok
kiadásával tudjuk felhozni. Megjegyezzük,
hogy most még semmilyen kerberizált démont
nem kell elindítanunk. Ellenben igyekezzünk
ellenõrizni a KDC
mûködõképességét azzal, hogy
KDC parancssorából
kérünk egy jegyet a frissen hozzáadott
szereplõnknek (felhasználónknak) és
kilistázzuk:&prompt.user; kinit tillman
tillman@EXAMPLE.ORG's Password:
&prompt.user; klist
Credentials cache: FILE:/tmp/krb5cc_500
Principal: tillman@EXAMPLE.ORG
Issued Expires Principal
Aug 27 15:37:58 Aug 28 01:37:58 krbtgt/EXAMPLE.ORG@EXAMPLE.ORGMiután végeztünk, nyugodtan
törölhetjük a jegyet:
- &prompt.user; k5destroy
+ &prompt.user; kdestroySzerverek kerberizálása a Heimdal
használatávalKerberos5szolgáltatások
kerberizálásaEhhez elõször is szükségünk lesz
a Kerberos
konfigurációs állományának,
az /etc/krb5.conf másolatára.
Ezt úgy tudjuk megtenni, ha egyszerûen
átmásoljuk a kulcselosztóról az
egyik kliensre valamilyen megbízható módon
(vagy az &man.scp.1; programhoz hasonló
hálózati segédprogramok, vagy
például fizikailag egy floppy lemez
használatával).Ezután szükségünk lesz egy
/etc/krb5.keytab nevû
állományra. Ez az alapvetõ
különbség a kerberizált démonokat
felkínáló szerver és egy
munkaállomás közt — a szervernek
rendelkeznie kell egy keytab
állománnyal. Ez az állomány
tartalmazza a szerver kulcsát, amivel így a
kulcselosztóval kölcsönösen
azonosítani tudják egymást. Ezt a
szerverre biztonságosan kell eljuttatnunk, mivel ennek
napvilágra kerülésével a szerver
védelme komoly veszélybe kerül.
Tehát, ha egy titkosítás
nélküli csatornán, például
FTP-n keresztül visszük át,
akkor kifejezetten rossz ötlet.A szerverre általában a
kadmin program használatával
érdemes átvinni a keytab
állományt. Ez azért is hasznos, mert ehhez
a kadmin segítségével
létre kell hoznunk a befogadó szereplõt is (a
kulcselosztó a krb5.keytab
állomány végén).Vegyük észre, hogy már kaptunk egy jegyet
és ezzel a jeggyel jogosultaknak kell lennünk a
kadmind.acl állomány
kadmin felület
használatára. A hozzáférést
vezérlõ listák (ACL-ek)
tervezésével kapcsolatban olvassuk el Heimdal info
oldalán található Remote
administration címû szakaszt (info
heimdal). Amennyiben nem kívánjuk
engedélyezni a kadmin távoli
elérését, egyszerûen csak
csatlakozzunk valamilyen biztonságos módon (helyi
konzolon, &man.ssh.1; vagy egy kerberizált &man.telnet.1;
használatával) a kulcselosztóhoz, és
a kadmin -l paranccsal végezzük
el helyben az adminisztrációt.Miután telepítettük az
/etc/krb5.conf állományt, a
Kerberos szerverrõl el tudjuk
érni a kadmin felületét.
Az add --random-key paranccsal most
már hozzáadhatjuk a szerver befogadó
szereplõjét és az ext
paranccsal ki tudjuk vonni a szerver befogadó
szereplõjét a saját keytab
állományából.
Például:&prompt.root; kadmin
kadmin> add --random-key host/myserver.example.org
Max ticket life [unlimited]:
Max renewable life [unlimited]:
Attributes []:
kadmin> ext host/myserver.example.org
kadmin> exitItt jegyeznénk meg, hogy az ext
parancs (az extract rövdítése)
a kivont kulcsot alapértelmezés szerint az
/etc/krb5.keytab állományba
menti ki.Ha a kulcselosztón nem fut a
kadmind szolgáltatás
(valószínûleg biztonsági
okokból) és ezért távolról
nem tudjuk elérni a kadmin
felületét, akkor így tudjuk
közvetlenül hozzáadni a befogadó
szereplõt (host/myserver.EXAMPLE.ORG),
majd kivonatolni azt egy ideiglenes állományba
(elkerülve az /etc/krb5.keytab
felülírását):&prompt.root; kadmin
kadmin> ext --keytab=/tmp/example.keytab host/myserver.example.org
kadmin> exitEzután valamilyen biztonságos eszközzel
(például scp vagy floppy
használatával) át tudjuk másolni
keytab állományt a szerverre. A
kulcselosztón levõ keytab
felülírását elkerülendõ, ne
feledkezzünk el egy megfelelõ név
megadásáról sem.Ezen a ponton már a szerver képes felvenni a
kapcsolatot a kulcselosztóval (a
krb5.conf állomány miatt)
és bizonyítani a
személyazonosságát (a
krb5.keytab állomány miatt).
Így tehát készen állunk a
szolgáltatások
kerberizálására. Ebben a
példában most a telnet
szolgáltatást vesszük célba
úgy, hogy elõször az
/etc/inetd.conf állományba
berakjuk az alábbi sort, majd újraindítjuk
az &man.inetd.8; szolgáltatást az
/etc/rc.d/inetd restart paranccsal:telnet stream tcp nowait root /usr/libexec/telnetd telnetd -a userItt az a legfontosabb, hogy az -a (mint
authentication, azaz hitelesítés)
paramétert a user
beállítással adjuk meg. A &man.telnetd.8;
man oldalán olvashatunk ennek pontos
részleteirõl.Kliensek kerberizálása a Heimdal
használatávalKerberos5kliensek beállításaA kliensek beállítása szinte majdnem
gyerekjáték. A
Kerberos
beállításához egyedül az
/etc/krb5.conf állományra
lesz szükségünk. Valamilyen biztonságos
eszközzel másoljuk át a
kulcselosztóról a kliensre.Úgy tudjuk letesztelni klienst, ha
megpróbáljuk róla kiadni a
kinit, klist és
kdestroy parancsokat a fentebb
létrehozott szereplõ jegyének
megszerzéséhez,
lekérdezéséhez és
megsemmisítéséhez. A
Kerberos használatával
megpróbálkozhatunk csatlakozni valamelyik
kerberizált szerverre is, ha viszont ez nem
mûködik még egy jegy megszerzése
után sem, akkor a gond többnyire a szerverrel van,
nem pedig a klienssel vagy a kulcselosztóval.Amikor egy telnet vagy egy hozzá
hasonló alkalmazást tesztelünk, egy
csomaglehallgató (mint amilyen például a
&man.tcpdump.1;) elindításával
gyõzödjünk meg róla, hogy a jelszavak
ilyenkor titkosítva mennek át.
Próbáljuk meg titkosítani a teljes
kommunikációt a telnet
paraméterével
(hasonlóan az ssh parancshoz).Alapból még számos más
kiegészítõ
Kerberos kliensalkalmazás is
telepítõdik. Ezeken érezhetõ meg
valójában az alaprendszerhez tartozó
Heimdal változat minimalitása:
ebben a telnet az egyedüli
kerberizált szolgáltatás.A Heimdal port igyekszik pótolni a
hiányzó klienseket a kerberizált
ftp, rsh,
rcp, rlogin és
néhány kevéséb ismert program
telepítésével. Az MIT
változat portja szintén tartalmazza a
Kerberos kliensek teljes
kelléktárát.A felhasználók konfigurációs
állományai: a .k5login
és a .k5users.k5login.k5usersÁltalában az övezetben
található felhasználók
mindegyikéhez tartozik egy
Kerberos-szereplõ (mint
például a
tillman@EXAMPLE.ORG), ami a
felhasználó helyi
hozzáférésére mutat (mint
például a tillman nevû
helyi hozzáférés). A
telnet és a hozzá
hasonló kliensalkalmazások általában
nem igényelnek felhasználót vagy
szereplõt.Elõfordulhat azonban, hogy valaki olyan szeretné
elérni egy helyi felhasználó
hozzáférését, aki nem rendelkezik a
hozzátartozó
Kerberos-szereplõvel.
Például a tillman@EXAMPLE.ORG
nevû felhasználó el szeretné
érni a helyi számítógépen
levõ webdevelopers
hozzáférést. Más szereplõk is
elérhetik a helyi
hozzáféréseket.A probléma megoldásához a
felhasználók könyvtárában
található .k5login és
a .k5users állományok
használhatóak a .host
és .rhosts állományok
kombinációjához hasonlóan.
Például a .k5login így
néz ki:tillman@example.org
jdoe@example.orgEzt a webdevelopers nevû helyi
felhasználó könyvtárában kell
elhelyeznünk, így a felsorolt szereplõt
megosztott jelszó használata nélkül
képesek elérni a
hozzáférést.Az említett parancsok man oldalának
elolvasása ajánlott. Megjegyezzük, hogy a
ksu man oldal foglalkozik a
.k5users állománnyal.Tippek, trükkök a
Kerberos
használatáról és
hibaelhárításKerberos5hibaelhárításAkár a Kerberos
Heimdal vagy az MIT
változatát használjuk, ne
felejtsük úgy beállítani a
PATH környezeti változóban
felsorolt elérési utakat, hogy a
kliensalkalmazások kerberizált
változatai a rendszerben használatos
verziók elé kerüljenek.Az övezetben minden
számítógép órája
ugyanúgy jár? Ha nem, akkor a
hitelesítés csõdöt mondhat. A ból tudhatjuk meg hogyan
szinkronizáljunk órákat az
NTP
segítségével.Az MIT és a Heimdal
verziók a kadmin
kivételével remekül megvannak
egymással, mivel az általa használt
protokollt még nem
szabványosították.Ha megváltoztatjuk a gépünk
hálózati nevét, akkor a ugyanígy
a host/ szereplõnket is meg kell
változtatni és frissíteni a keytab
állományunkat. Ez olyan speciális
keytab bejegyzésekre is vonatkozik, mint
például az Apache www/mod_auth_kerb
moduljához tartozó www/
szereplõ.Az övezetünkben levõ összes
számítógépnek (mind a két
irányba) feloldható DNS
névvel kell rendelkeznie (vagy legalább egy
/etc/hosts állománnyal).
Erre a CNAME rekord megfelelõ, de az A és PTR
rekordoknak mindenképpen rendben kell lenniük.
Az ilyenkor keletkezõ hibaüzenet nem éppen
fogja meg a lényeget: Kerberos5 refuses
authentication because Read req failed: Key table entry not
found.A kulcselosztó számára
kliensként viselkedõ bizonyos
operációs rendszerek nem
állítják be megfelelõen a
ksu engedélyeit, ezért nem
lehet root jogokkal futtatni.
Ezért a ksu parancs nem fog
mûködni, ami alapvetõen nem egy rossz
ötlet, de idegesítõ. Ez nem a
kulcselosztó hibája.Ha a Kerberos
MIT változatát
használjuk és a meg akarjuk
hosszabbítani a szereplõknek kiadott jegyek
élettartamát az alapértelmezett
tíz óráról, akkor a
kadmin felületén a
modify_principal paranccsal tudjuk
megváltoztatni mind a kérdéses
szereplõ, mind pedig a krbtgt
jegyeinek élettartamának maximumát.
Ezt követõen a szereplõ a
kinit
opciójával tud egy nagyobb
élettartammal rendelkezõ jegyet
kérni.Amikor egy kulcselosztóval kapcsolatos
hibát próbálunk felderíteni a
csomagok lehallgatásával, és a
munkaállomásunkról kiadjuk a
kinit parancsot, akkor arra
lehetünk figyelmesek, hogy a TGT
már egybõl a kinit
indításakor átküldésre
kerül — még mielõtt
egyáltalán megadtuk volna a jelszavunkat!
Ezt azzal lehet magyarázni, hogy a
Kerberos szerver
bármilyen hitelesítetlen
kérésre elküld egy
TGT-t (Jegyadó jegy, azaz Ticket
Granting Ticket). Azonban mindegyik ilyen
TGT a felhasználó
jelszavából származtatott kulccsal
titkosítódik. Ezért amit a
felhasználó jelszóként megad,
nem megy el a kulcselosztónak, hanem vele a
kinit a már megkapott
TGT-t kódolja ki. Amennyiben a
visszakódolás egy érvényes
idõbélyeggel rendelkezõ,
használható jegyet eredményez, akkor
a felhasználó érvényes
Kerberos
hitelesítést szerez. Ez a
hitelesítés magában foglal egy
kulcsot, amellyel a késõbbiekben a
Kerberos szerverekkel tudjuk
felvenni biztonságos módon a kapcsolatot,
és rajta kívül egy újabb
jegyadó jegyet, amelyet a
Kerberos szerver a saját
kulcsával titkosított. A
titkosítás második vonala a
felhasználó számára
ismeretlen, de segítségével a
Kerberos szerer képes
ellenõrizni az egyes jegyadó jegyek
hitelességét.Ha a jegyeket hosszabb (például egyhetes)
élettartammal akarjuk használni és a
jegyeket tároló géphez
OpenSSH
segítségével csatlakozunk, akkor
mindenképpen ellenõrizzük, hogy az
sshd_config állományban a
Kerberos
beállításának
értéke no,
máskülönben a kijelentkezés
után automatikusan törlõdnek a
jegyeink.Ne hagyjuk figyelmen kívül azt sem, hogy a
befogadó szereplõk is rendelkezhetnek nagyobb
élettartamú jegyekkel. Ha a
felhasználónkhoz tartozó szereplõ
jegye például egy hét alatt
évül el, de a
számítógép, amire
bejelentkezük, csupán kilenc óráig
tartja életben ezeket, akkor a jegyeket
tároló gyorsítótárunkban
hamarabb elévül a hozzátartozó
jegy, ami miatt pedig hibák keletkeznek.Ha a rossz jelszavak használata ellen
beállítjuk a krb5.dic
állományt (errõl a
kadmind man oldalán
találunk egy rövid leírást), akkor
nem szabad elfelejteni, hogy ez csak olyan szereplõkre
vonatkozik, akiknek a jelszavára is
állítottunk be szabályozásokat.
A krb5.dict állományok
felépítési nem bonyolult: minden sorban
egyetlen karakterlánc szerepel. Érdemes lehet
például létrehozni ezen a néven
egy szimbolikus linket a
/usr/share/dict/words
állományra.Eltérések az MIT
porttólA Heimdal és az MIT
változatok közti egyik legnagyobb
eltérés a kadmin programmal
kapcsolatban van, ami eltérõ (de
egyébként ekivalens) parancskészlettel
rendelkezik és más protokollt használ.
Ennek komoly következménye, hogy ha az
MIT-féle kulcselosztót
használjuk, akkor azt a Heimdal kadmin
felületével nem tudjuk távolról
adminisztrálni (és vica versa).A kliensalkalmazások paraméterezése is
eltérhet ugyanazon feladatoknál. Ezért
velük kapcsolatban az MIT
Kerberos honlapja () a
mérvadó. Vigyázzunk az
elérési utakkal: az MIT port
magát alapértelmezés szerint a
/usr/local könyvtárba
telepíti, ezért az általuk kiváltani
kívánt normális
rendszerprogramokat esetleg hamarabb találja meg a
rendszer, ha nem jól állítottuk be a
PATH környezeti
változónkat.Ha nem értjük, hogy miért
mûködnek olyan furcsán a
telnetd és a
klogind által kezelt
bejelentkezések, akkor olvassuk el a &os; security/krb5 portjával
települõ MIT változat
/usr/local/share/doc/krb5/README.FreeBSD
állományt (angolul). Az a legfontosabb, hogy a
incorrect permissions on cache file
hiba eltüntetéséhez a
login.krb5 binárist kell
használnunk, így a továbbított
jogosultságoknak megfelelõen át tudja
állítani a tulajdonost.Az rc.conf állományt is
módosítani kell a következõ
beállítás
kialakításához:kerberos5_server="/usr/local/sbin/krb5kdc"
kadmind5_server="/usr/local/sbin/kadmind"
kerberos5_server_enable="YES"
kadmind5_server_enable="YES"Erre azért van szükség, mert a
Kerberos MIT
változata a /usr/local könyvtáron
belülre telepíti fel a hozzátartozó
alkalmazásokat.A Kerberosban talált
korlátozások enyhítéseKerberos5hiányosságok és
korlátozásokA Kerberos a mindent
vagy semmit megközelítést
követiA hálózaton minden
szolgáltatást módosítanunk kell
ahhoz, hogy együtt tudjanak mûködni a
Kerberosszal (vagy valamilyen
más módon védenünk kell ezeket a
támadások ellen), különben a
felhasználók jogait el lehet lopni vagy
újra fel lehet használni. Erre jó
példa lehet az összes távoli parancssoros
elérés (például az
rsh valamint a telnet)
kerberizálása, de a jelszavakat
titkosítatlanul küldõ POP3
levelezõ szerver kihagyása.A Kerberos az
egyfelhasználós munkaállomások
számára készültTöbbfelhasználós környezetben a
Kerberos már nem annyira
biztonságos. Ez azért mondható el, mert
a jegyeket a mindenki által olvasható
/tmp könyvtárban
tárolja. Ha az adott felhasználó
számítógépét egyszerre
több emberrel is megosztja (tehát
többfelhasználós), akkor a
felhasználó jegyeit egy másik
felhasználó bármikor lemásolhatja
(ellophatja).Ezt a opció után
megadott állománynévvel vagy
(inkább) a KRB5CCNAME környezeti
változó megfelelõ
beállításával tudjuk
áthidalni, habár ezt ritkán teszik is
meg. Ha a felhasználók
könyvtárában és a megfelelõ
engedélyekkel tároljuk ezeket a jegyeket, akkor
némileg visszaszoríthatjuk a probléma
kockázatát.A kulcselosztó a rendszer legsebezhetõbb
pontjaA rendszer kialakításából
fakadóan a kulcselosztónak legalább
annyira megbízhatónak kell lennie, mint a rajta
levõ központi jelszóadatbázisnak. A
kulcselosztón semmilyen más
szolgáltatás nem futhat és fizikailag is
biztonságba kell helyezni. A kockázat nagy,
mivel a Kerberos az összes
jelszót ugyanazzal a kulcssal (a
mesterkulcssal) titkosítja, amelyet a
kulcselosztó egy állományban
tárol.Széljegyzet gyanánt
hozzátesszük, hogy a mesterkulcs elvesztése
nem annyira rossz, mint azt elsõ gondolnánk. A
mesterkulcsot csupán a
véletlenszám-generátor
inicializálásához
használják a Kerberos
adatbázisának titkosításakor.
Amíg a kulcselosztóhoz nem tudnak
illetéktelenek hozzáférni, addig nem
tudnak sokat kezdeni a mesterkulccsal.Mellesleg ha a kulcselosztó nem
elérhetõ (talán pontosan egy DoS
támadás vagy éppen hálózati
problémák miatt), akkor a
hitelesítés nem végezhetõ el, mivel
így a hozzá szükséges
hálózati szolgáltatások sem
használhatóak. Ez remek eszköz egy DoS
támadáshoz. Ezen több (egy központi
és egy vagy több alárendelt)
kulcselosztó telepítésével,
valamint a másodlagos vagy tartalékként
használt hitelesítési eszközök
(a PAM erre tökéletes)
körültekintõ
megvalósításával
enyhíthetünk.A Kerberos
hiányosságaiA Kerberos révén
a felhasználók,
számítógépek és
szolgáltatások tudják egymást
hitelesíteni. Ellenben semmilyen eszközt nem
kínál fel a kulcselosztó
hitelességének ellenõrzésére.
Így tehát (például) egy
eltérített kinit képes
ellopni az összes felhasználói nevet
és jelszót. Az ilyen incidensek
elkerülésére a security/tripwire és a
hozzá hasonló segédprogramok
segítségével lehet megõrizni a
rendszer sértelenségét.Erõforrások és további
információkKerberos5külsõ források
A Kerberos GYIK
(angolul)Egy
hitelesítési rendszer kidolgozása:
párbeszéd négy színben
(angolul)RFC
1510: A Kerberos
hálózati hitelesítési
szolgáltatás (V5) (angolul)Az
MIT Kerberos
holnapja (angolul)A Heimdal
Kerberos honlapja
(angolul)TomRhodesÍrta: OpenSSLbiztonságOpenSSLA &os;-hez adott OpenSSL az egyik
olyan tényezõ, amit a legtöbb
felhasználó figyelmen kívül hagy. Az
OpenSSL egy titkosítási
réteget nyújt a hagyományos
kommunikációs csatorna felett, így rengeteg
hálózati alkalmazásba és
szolgáltatásba bele lehet szõni.Az OpenSSL
felhasználható többek közt a levelezõ
kliensek titkosított hitelesítésére,
hitelkártyás fizetések weben keresztüli
lebonyolítására alkalmas, és
még sok minden másra. Sok port, köztük a
www/apache13-ssl és a
mail/sylpheed-claws is
felajánlja az OpenSSL
felhasználását.A legtöbb esetben a Portgyûjtemény
megpróbálja lefordítani a security/openssl portot, hacsak a
WITH_OPENSSL_BASE változót
határozottan a yes értékre
nem állítjuk.A &os;-hez mellékelt OpenSSL
ismeri a Secure Sockets Layer v2/v3 (SSLv2/SSLv3) és
Transport Layer Security v1 (TLSv1)
hálózatbiztonsági protokollokat, és
általános célú
titkosítási könyvtárként is
alkalmazható.Noha az OpenSSL ismeri az
IDEA algoritmusát is, az Egyesült
Államokban érvényben levõ szabadalmak
miatt alapértelmezés szerint nem
engedélyezett. A használatához el kell
olvasni a hozzátartozó licencet, és ha
elfogadjuk a benne foglaltakat, akkor állítsuk be
a MAKE_IDEA változót a
make.conf állományban.Az OpenSSL-t leginkább a
szoftverek tanúsítványainak
elkészítéséhez
használják. Ilyen
tanúsítvánnyokkal lehet szavatolni, hogy az
érte felelõs cég vagy egyén
valóban megbízható és nem
szélhámos. Amennyiben a kérdéses
tanúsítványt nem vizsgálta be
valamelyik tanúsítványok
hitelesítésével foglalkozó
hatóság (Certificate Authority, vagy CA),
akkor errõl általában kap egy
figyelmeztetést a felhasználó. A
tanúsítványokat hitelesítõ
cégek, mint például a VeriSign,
írják alá ezeket a
tanúsítványokat és ezzel
érvényesítik az egyes cégek vagy
egyének megbízhatóságát. Ez
ugyan pénzbe kerül, de használatuk
egyáltalán nem is kötelezõ. Azonban az
átlagosnál paranoidabb felhasználók
számára megnyugvást jelenthet.Tanúsítványok
elõállításaOpenSSLtanúsítványok
elõállításaA tanúsítványok
létrehozására a következõ parancs
áll rendelkezésre:&prompt.root; openssl req -new -nodes -out req.pem -keyout cert.pem
Generating a 1024 bit RSA private key
................++++++
.......................................++++++
writing new private key to 'cert.pem'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:országnév (kétbetûs kóddal)
State or Province Name (full name) [Some-State]:állam vagy tartomány teljes neve
Locality Name (eg, city) []:település neve
Organization Name (eg, company) [Internet Widgits Pty Ltd]:szervezet neve
Organizational Unit Name (eg, section) []:szervezeti egység neve
Common Name (eg, YOUR name) []:általános név (hálózati név!)
Email Address []:e-mail cím
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:VALAMILYEN JELSZÓ
An optional company name []:egy másik szervezet neveAz adatok bekérésére elõtt
megjelenõ figyelmeztetõ üzenet
fordítása:
Itt a tanúsítvány igénylésével kapcsolatos információkat kell
megadnunk. Itt egy ún. ismertetõnevet (Distinguished
Name, DN) kell megadnunk. Ezen kívül van még néhány más mezõ is, de
ezeket akár üresen is hagyhatjuk. Néhány mezõnek van alapértelmezett
értéke, de ha oda egy pontot írunk, akkor kitöröljük.
A Common Name mezõnél
ellenõrzési okokból egy
hálózati nevet, tehát a szerverünk
nevét kell megadnunk. Ha nem így járunk
el, akkor lényegében egy használhatatlan
tanúsítványt kapunk. További
opciók is elérhetõek, mint
például a lejárati idõ (expire time)
megadása, a titkosítási algoritmus
megváltoztatása stb. Ezek teljes listája
megtalálható az &man.openssl.1; man
oldalon.Az elõbbi parancs kiadása után két
állománynak kell létrejönnie az
aktuális könyvtárban. A
tanúsítványkérést, vagyis az
req.pem állományt kell
eljuttatnunk a tanúsítványok
hitelesítésével foglakozó szervhez,
aki majd érvényesíti az imént
megadott adatainkat. A második,
cert.pem nevû állomány a
tanúsítványhoz tartozó privát
kulcs, amit semmilyen körülmények
között sem szabad kiadnunk. Ha ez mások
kezébe kerül, akkor el tudnak játszani
bennünket (vagy a szerverünket).Amikor a hitelesítõ szerv
aláírása nem feltétlenül
szükséges, akkor készíthetünk egy
saját magunk által aláírt
tanúsítványt is. Ehhez elõször
is generálnunk kell egy
RSA-kulcsot:&prompt.root; openssl dsaparam -rand -genkey -out saját_RSA.kulcs 1024Most pedig készítsünk el a
hitelesítõ szerv kulcsát is:&prompt.root; openssl gendsa -des3 -out hitelesítõ.kulcssaját_RSA.kulcsEzzel a kulccsal most gyártsunk le egy
tanúsítványt:&prompt.root; openssl req -new -x509 -days 365 -key hitelesítõ.kulcs -out új.tanúsítványEkkor két új állomány keletkezik
a könyvtárunkban: a hitelesítõ szerv
aláírása, a
hitelesítõ.kulcs
és maga a tanúsítvány, az
új.tanúsítvány
állomány. Ezeket tegyük az /etc könyvtáron
belül egy olyan könyvtárba, amelyet csak a
root tud olvasni. A
chmod paranccsal állítsunk be
rá 0700-as kódú engedélyeket.Példa a tanúsítványok
használatáraMire is jók ezek az állományok?
Például kitûnõen alkalmazhatóak a
Sendmail levelezõ szerverhez
beérkezõ kapcsolatot
titkosítására. Így
lényegében felszámoljuk minden olyan
felhasználó titkosítatlan módon
zajló hitelesítését, aki a helyi
levelezõ szerveren keresztül küldi a
leveleit.Ez általában nem a legjobb megoldás,
mivel egyes levelezõ kliensek hibát jeleneznek a
felhasználónak, ha nem rendelkezik a
tanúsítvánnyal. A
tanúsítványok
telepítésével kapcsolatban olvassuk el a
szoftverhez adott leírást.A helyi .mc állományba
ezeket a sorokat kell beletenni:dnl SSL Options
define(`confCACERT_PATH',`/etc/certs')dnl
define(`confCACERT',`/etc/certs/új.tanúsítvány')dnl
define(`confSERVER_CERT',`/etc/certs/új.tanúsítvány')dnl
define(`confSERVER_KEY',`/etc/certs/hitelesítõ.kulcs')dnl
define(`confTLS_SRV_OPTIONS', `V')dnlItt a /etc/certs/ az
a könyvtár, amit tanúsítványok
és kulcsok helyi tárolására
használunk. Végezetül még újra
kell generálnunk a helyi .cf
állományokat. Ezt a /etc/mail könyvtárban a
make install parancs
kiadásával könnyen elvégezhetjük.
Miután ez megtörtént, akkor
Sendmailhoz tartozó
démont a make
restart
paraméterével indíthatjuk
újra.Ha minden jól ment, akkor a
/var/log/maillog állományban
nem találunk egyetlen hibaüzenetet sem, és a
Sendmail is megjelenik a futó
programok között.A &man.telnet.1; segédprogrammal így
probálhatjuk ki a levelezõ szervert:&prompt.root; telnet example.com 25
Trying 192.0.34.166...
Connected to example.com.
Escape character is '^]'.
220 example.com ESMTP Sendmail 8.12.10/8.12.10; Tue, 31 Aug 2004 03:41:22 -0400 (EDT)
ehlo example.com
250-example.com Hello example.com [192.0.34.166], pleased to meet you
250-ENHANCEDSTATUSCODES
250-PIPELINING
250-8BITMIME
250-SIZE
250-DSN
250-ETRN
250-AUTH LOGIN PLAIN
250-STARTTLS
250-DELIVERBY
250 HELP
quit
221 2.0.0 example.com closing connection
Connection closed by foreign host.Ha itt megjelenik a STARTTLS sor, akkor
mindent sikerült beállítanunk.NikClaytonnik@FreeBSD.orgÍrta: IPsecVPN IPsec felettVPN létrehozása &os;
átjárók használatával
két olyan hálózat között, amelyeket
egymástól az internet választ el.Hiten M.Pandyahmp@FreeBSD.orgÍrta: Az IPsec bemutatásaEbben a szakaszban az IPsec
beállításának folyamatát
vázoljuk fel. Az IPsec
beállításához elengedhetetlen, hogy
tisztában legyünk egy saját rendszermag
fordításának alapjaival (lásd ).Az IPsec egy olyan protokoll, amely az
Internet Protocol (IP) rétegére épül.
Segítségével két vagy több
számítógép képes
biztonságos módon tartani egymással a
kapcsolatot (innen ered a neve). A &os; IPsec
hálózati protokollkészlete a
KAME
implementációjára épül, mely
egyaránt támogatja az IPv4 és IPv6
protokollcsaládokat.IPsecESPIPsecAHAz IPsec két alprotokollból tevõdik
össze:A hasznos adat biztonságos
becsomagolása (Encapsulated Security Payload,
ESP) során egy szimmetrikus
kriptográfiai algoritmussal (mint
például Blowfish, 3DES) titkosítjuk az
IP-csomagok tartalmát, ezáltal
megvédjük ezeket az
illetéktelenektõl.A Hitelesítési fejléc
(Authentication Header, AH)
használatával megakadályozzuk, hogy az
illetéktelenek meghamisítsák az IP
csomagok fejlécét. Ezt úgy
érjük el, hogy kiszámolunk egy
kriptográfiai ellenõrzõ összeget
és az IP-csomagok fejlécének
mezõire egy biztonságos függvénnyel
generálunk valamilyen ujjlenyomatot. Az ez
után következõ
kiegészítõ fejléc tartalmazza ezt
az ujjlenyomatot, amellyel a csomag
hitelesíthetõ.Az ESP és az AH
az alkalmazástól függõen
használható együtt vagy
külön-külön.VPNvirtuális
magánhálózatVPNAz IPsec akár közvetlenül is
használható két
számítógép forgalmának
titkosítására (ezt
Szállítási módnak
(Transport Mode) nevezik), vagy két
alhálózat között
építhetünk ki vele virtuális
tunneleket, ami remekül alkalmas két
vállalati hálózat
kommunikációjának
bebiztosítására (ez a Tunnel
mód (Tunnel Mode)). Ez utóbbit
egyszerûen csak Virtuális
magánhálózatként (Virtual Private
Network, VPN) emlegetik. A &os; IPsec
alrendszerérõl az &man.ipsec.4; man oldalon
találhatunk további
információkat.A rendszermag IPsec támogatásának
aktiválásához a következõ
paramétereket kell beletennünk a
konfigurációs állományba:a rendszermag
beállításaiIPSEC
options IPSEC # IP biztonság
device crypto
a rendszermag
beállításaiIPSEC_DEBUGHa szükségünk van a IPsec
nyomkövetésére, a következõ
beállítást is
hozzátehetjük:
options IPSEC_DEBUG # az IP biztonság nyomkövetése
A problémaSemmilyen szabvány nem fogalmazza meg mi is
számít VPN-nek. A virtuális
magánhálózatok tucatnyi
különbözõ technológiával
valósíthatóak meg, de mindegyiknek megvan a
maga erõssége és gyengesége. Ebben a
szakaszban körvonalazunk egy ilyen helyzetet, valamint a
benne felépített VPN
megvalósításához alkalmazott
stratégiákat.A forgatókönyv: adott egy otthoni és egy
vállalati hálózat, amelyek
külön-külön csatlakoznak az internetre,
és VPN használatával
ezeket egyetlen hálózatként
szeretnénk használniVPNlétrehozásaElõfeltételezéseink a
következõek:legalább két hálózatunk
van;magán belül mind a két
hálózat IP-t használ;mind a két hálózat egy &os;
átjárón keresztül csatlakozik az
internethez;a hálózatok átjárói
legalább egy publikus IP-címmel
rendelkeznek;a hálózatok belsõ címei
lehetnek publikus vagy privát IP-címek, nem
számít. Fontos viszont, hogy ezek ne
ütközzenek, vagyis ne használja egyszerre
mind a kettõ a 192.168.1.x
címtartományt.TomRhodestrhodes@FreeBSD.orgÍrta: Az IPsec beállítása &os; alattKezdésképpen a
Portgyûjteménybõl telepítenünk kell a
security/ipsec-tools portot.
Ez a programcsomag rengeteg olyan alkalmazást tartalmaz,
amely segítségünkre lehet a
beállítások elvégzése
során.A következõ lépésben létre
kell hoznunk két &man.gif.4; típusú
pszeudoeszközt, melyeken keresztül a két
hálózat között egy tunnel
segítségével ki tudjuk
építeni a szükséges kapcsolatot.
Ehhez root
felhasználóként futtassuk a
következõ parancsokat (a
belsõ és
külsõ
megnevezésû paramétereket
cseréljük ki a valós belsõ és
külsõ átjárók
címeire):&prompt.root; ifconfig gif0 create&prompt.root; ifconfig gif0 belsõ1 belsõ2&prompt.root; ifconfig gif0 tunnel külsõ1 külsõ2Tekintsük például, hogy a
vállalati LAN publikus
IP-címe 172.16.5.4, valamint a privát
IP-címe 10.246.38.1. Az otthoni
LAN publikus
IP-címe legyen most 192.168.1.12, valamint a belsõ
privát IP-címe pedig 10.0.0.5.Elsõre ez talán még nem teljesen
érthetõ, ezért az &man.ifconfig.8; parancs
használatával is nézzük meg a
példában szereplõ hálózatok
konfigurációját:Az elsõ átjáró:
gif0: flags=8051 mtu 1280
tunnel inet 172.16.5.4 --> 192.168.1.12
inet6 fe80::2e0::81ff:fe02:5881%gif0 prefixlen 64 scopeid 0x6
inet 10.246.38.1 --> 10.0.0.5 netmask 0xffffff00
A második átjáró:
gif0: flags=8051 mtu 1280
tunnel inet 192.168.1.12 --> 172.16.5.4
inet 10.0.0.5 --> 10.246.38.1 netmask 0xffffff00
inet6 fe80::250:bfff:fe3a:c1f%gif0 prefixlen 64 scopeid 0x4Miután elvégeztük az iménti
beállításokat, a &man.ping.8; paranccsal
már mind a két privát
IP-tartománynak
elérhetõnek kell lennie, ahogy azt az alábbi
példa is érzékeltetni
kívánja:otthoni-halo# ping 10.0.0.5
PING 10.0.0.5 (10.0.0.5): 56 data bytes
64 bytes from 10.0.0.5: icmp_seq=0 ttl=64 time=42.786 ms
64 bytes from 10.0.0.5: icmp_seq=1 ttl=64 time=19.255 ms
64 bytes from 10.0.0.5: icmp_seq=2 ttl=64 time=20.440 ms
64 bytes from 10.0.0.5: icmp_seq=3 ttl=64 time=21.036 ms
--- 10.0.0.5 ping statistics ---
4 packets transmitted, 4 packets received, 0% packet loss
round-trip min/avg/max/stddev = 19.255/25.879/42.786/9.782 ms
vallalati-halo# ping 10.246.38.1
PING 10.246.38.1 (10.246.38.1): 56 data bytes
64 bytes from 10.246.38.1: icmp_seq=0 ttl=64 time=28.106 ms
64 bytes from 10.246.38.1: icmp_seq=1 ttl=64 time=42.917 ms
64 bytes from 10.246.38.1: icmp_seq=2 ttl=64 time=127.525 ms
64 bytes from 10.246.38.1: icmp_seq=3 ttl=64 time=119.896 ms
64 bytes from 10.246.38.1: icmp_seq=4 ttl=64 time=154.524 ms
--- 10.246.38.1 ping statistics ---
5 packets transmitted, 5 packets received, 0% packet loss
round-trip min/avg/max/stddev = 28.106/94.594/154.524/49.814 msAz elvárásainknak megfelelõen
tehát a privát címeken mind a két
oldalnak képesnek kell lennie ICMP
csomagokat küldenie és fogadnia. A
következõ lépésben meg kell mondanunk az
átjáróknak hogyan
irányítsák a csomagokat a két
hálózat közti forgalom megfelelõ
áramlásához. Ezt az alábbi
paranccsal elérhetjük el:&prompt.root; vallalati-halo# route add 10.0.0.0 10.0.0.5 255.255.255.0&prompt.root; vallalati-halo# route add net 10.0.0.0: gateway 10.0.0.5&prompt.root; otthoni-halo# route add 10.246.38.0 10.246.38.1 255.255.255.0&prompt.root; otthoni-halo# route add host 10.246.38.0: gateway 10.246.38.1Itt már a belsõ gépeket az
átjárókról és az
átjárók mögül egyaránt
el tudjuk érni. A következõ példa
alapján errõl könnyedén meg is
tudunk gyõzõdni:vallalati-halo# ping 10.0.0.8
PING 10.0.0.8 (10.0.0.8): 56 data bytes
64 bytes from 10.0.0.8: icmp_seq=0 ttl=63 time=92.391 ms
64 bytes from 10.0.0.8: icmp_seq=1 ttl=63 time=21.870 ms
64 bytes from 10.0.0.8: icmp_seq=2 ttl=63 time=198.022 ms
64 bytes from 10.0.0.8: icmp_seq=3 ttl=63 time=22.241 ms
64 bytes from 10.0.0.8: icmp_seq=4 ttl=63 time=174.705 ms
--- 10.0.0.8 ping statistics ---
5 packets transmitted, 5 packets received, 0% packet loss
round-trip min/avg/max/stddev = 21.870/101.846/198.022/74.001 ms
otthoni-halo# ping 10.246.38.107
PING 10.246.38.1 (10.246.38.107): 56 data bytes
64 bytes from 10.246.38.107: icmp_seq=0 ttl=64 time=53.491 ms
64 bytes from 10.246.38.107: icmp_seq=1 ttl=64 time=23.395 ms
64 bytes from 10.246.38.107: icmp_seq=2 ttl=64 time=23.865 ms
64 bytes from 10.246.38.107: icmp_seq=3 ttl=64 time=21.145 ms
64 bytes from 10.246.38.107: icmp_seq=4 ttl=64 time=36.708 ms
--- 10.246.38.107 ping statistics ---
5 packets transmitted, 5 packets received, 0% packet loss
round-trip min/avg/max/stddev = 21.145/31.721/53.491/12.179 msA tunnelek beállítása volt
igazából a könnyebb rész, egy
biztonságos összeköttetés
kialakítása azonban már valamivel komolyabb
folyamatot rejt magában. A most következõ
konfigurációban erre elõre
ismert (vagyis pre-shared, PSK)
RSA-kulcsokat fogunk használni. A
konkrét IP-címektõl
eltekintve az átjárókon a
/usr/local/etc/racoon/racoon.conf
állományok hasonlóan fognak kinézni,
nagyjából valahogy így:path pre_shared_key "/usr/local/etc/racoon/psk.txt"; # az ismert kulcsot tartalmazó állomány helye
log debug; # a naplózás részletességének beállítása: ha végeztünk a teszteléssel és a hibakereséssel, akkor állítsuk át a 'notify' értékre
padding # ezeket ne nagyon változtassuk meg
{
maximum_length 20;
randomize off;
strict_check off;
exclusive_tail off;
}
timer # idõzítési beállítások, állítsuk be igény szerint
{
counter 5;
interval 20 sec;
persend 1;
# natt_keepalive 15 sec;
phase1 30 sec;
phase2 15 sec;
}
listen # cím [port], ahol a racoon majd válaszolni fog
{
isakmp 172.16.5.4 [500];
isakmp_natt 172.16.5.4 [4500];
}
remote 192.168.1.12 [500]
{
exchange_mode main,aggressive;
doi ipsec_doi;
situation identity_only;
my_identifier address 172.16.5.4;
peers_identifier address 192.168.1.12;
lifetime time 8 hour;
passive off;
proposal_check obey;
# nat_traversal off;
generate_policy off;
proposal {
encryption_algorithm blowfish;
hash_algorithm md5;
authentication_method pre_shared_key;
lifetime time 30 sec;
dh_group 1;
}
}
sainfo (address 10.246.38.0/24 any address 10.0.0.0/24 any) # address $hálózat/$hálózati_maszk $típus address $hálózat/$hálózati_maszk $típus
# (a $típus lehet "any" vagy "esp")
{ # a $hálózat a két összekapcsolni kívánt belsõ hálózat legyen
pfs_group 1;
lifetime time 36000 sec;
encryption_algorithm blowfish,3des,des;
authentication_algorithm hmac_md5,hmac_sha1;
compression_algorithm deflate;
}A példában szereplõ összes
opció részletes kifejtése jóval
meghaladná ezen leírás kereteit,
ezért a bõvebb információkkal
kapcsolatban inkább a racoon
beállításaihoz tartozó man oldal
elolvasását javasoljuk.A gépek közti hálózati forgalom
titkosításához be kell még
állítanunk egy SPD
házirendet is, így a &os; és a
racoon képes kódolni
és dekódolni a csomagokat.Ezt a most következõ, a vállalati átjárón találhatóhoz
hasonló egyszerû shell szkripttel tudjuk elvégezni. Ezt az
állományt a rendszer indításakor fogjuk felhasználni, melyet
/usr/local/etc/racoon/setkey.conf néven
mentsünk el:flush;
spdflush;
# Az otthoni hálózati felé
spdadd 10.246.38.0/24 10.0.0.0/24 any -P out ipsec esp/tunnel/172.16.5.4-192.168.1.12/use;
spdadd 10.0.0.0/24 10.246.38.0/24 any -P in ipsec esp/tunnel/192.168.1.12-172.16.5.4/use;Ahogy ezzel megvagyunk, a racoon
az egyes átjárókon a következõ
paranccsal indítható el:&prompt.root; /usr/local/sbin/racoon -F -f /usr/local/etc/racoon/racoon.conf -l /var/log/racoon.logA parancs eredménye ennek megfelelõen
nagyjából a következõ lesz:vallalati-halo# /usr/local/sbin/racoon -F -f /usr/local/etc/racoon/racoon.conf
Foreground mode.
2006-01-30 01:35:47: INFO: begin Identity Protection mode.
2006-01-30 01:35:48: INFO: received Vendor ID: KAME/racoon
2006-01-30 01:35:55: INFO: received Vendor ID: KAME/racoon
2006-01-30 01:36:04: INFO: ISAKMP-SA established 72.16.5.4[500]-192.168.1.12[500] spi:623b9b3bd2492452:7deab82d54ff704a
2006-01-30 01:36:05: INFO: initiate new phase 2 negotiation: 72.16.5.4[0]192.168.1.12[0]
2006-01-30 01:36:09: INFO: IPsec-SA established: ESP/Tunnel 92.168.1.12[0]->172.16.5.4[0] spi=28496098(0x1b2d0e2)
2006-01-30 01:36:09: INFO: IPsec-SA established: ESP/Tunnel 172.16.5.4[0]->192.168.1.12[0] spi=47784998(0x2d92426)
2006-01-30 01:36:13: INFO: respond new phase 2 negotiation: 172.16.5.4[0]192.168.1.12[0]
2006-01-30 01:36:18: INFO: IPsec-SA established: ESP/Tunnel 192.168.1.12[0]->172.16.5.4[0] spi=124397467(0x76a279b)
2006-01-30 01:36:18: INFO: IPsec-SA established: ESP/Tunnel 172.16.5.4[0]->192.168.1.12[0] spi=175852902(0xa7b4d66)A tunnel megfelelõ mûködését
úgy tudjuk ellenõrizni, ha átváltunk egy
másik konzolra és a &man.tcpdump.1; program
segítségével figyeljük a
hálózati forgalmat. A példában
szereplõ em0 interfészt
természetesen ne felejtsük el kicserélni a
megfelelõ eszköz nevére.&prompt.root; tcpdump -i em0 host 172.16.5.4 and dst 192.168.1.12Ennek hatására az alábbiakhoz
hasonló adatoknak kellene megjelennie a konzolon.
Amennyiben nem ez történik, valamilyen hiba
történt, ezért meg kell keresnünk azt a
visszakapott adatok alapján.01:47:32.021683 IP vallalatihalozat.com > 192.168.1.12.otthonihalozat.com: ESP(spi=0x02acbf9f,seq=0xa)
01:47:33.022442 IP vallalatihalozat.com > 192.168.1.12.otthonihalozat.com: ESP(spi=0x02acbf9f,seq=0xb)
01:47:34.024218 IP vallalatihalozat.com > 192.168.1.12.otthonihalozat.com: ESP(spi=0x02acbf9f,seq=0xc)Itt már mind a két hálózatnak
elérhetõnek kell lennie és egyként kell
látszódnia. A hálózatokat ezen
felül még érdemes külön
védeni egy tûzfallal is. Ilyenkor a csomagok
két hálózati közti zavartalan
oda-vissza vándorlásához további
szabályokat kell még felvennünk a tûzfal
szabályrendszerébe. A &man.ipfw.8; tûzfal
esetén ez a következõ sorok
hozzáadását jelenti a tûzfal
konfigurációs
állományához:ipfw add 00201 allow log esp from any to any
ipfw add 00202 allow log ah from any to any
ipfw add 00203 allow log ipencap from any to any
ipfw add 00204 allow log udp from any 500 to anyA szabályok számozását mindig
az adott gép aktuális
beállításainak megfelelõen kell
módosítani.A &man.pf.4; és &man.ipf.8;
felhasználók számára ehhez a
következõ parancsot javasoljuk:pass in quick proto esp from any to any
pass in quick proto ah from any to any
pass in quick proto ipencap from any to any
pass in quick proto udp from any port = 500 to any port = 500
pass in quick on gif0 from any to any
pass out quick proto esp from any to any
pass out quick proto ah from any to any
pass out quick proto ipencap from any to any
pass out quick proto udp from any port = 500 to any port = 500
pass out quick on gif0 from any to anyVégezetül a következõ sor
hozzáadásával engedélyezzük az
/etc/rc.conf állományban a
VPN indítását a rendszer
indítása során:ipsec_enable="YES"
ipsec_program="/usr/local/sbin/setkey"
ipsec_file="/usr/local/etc/racoon/setkey.conf" # engedélyezzük az spd házirend beállítását a rendszer indításakor
racoon_enable="yes"ChernLeeÍrta: OpenSSHOpenSSHbiztonságOpenSSHAz OpenSSH olyan
hálózati kapcsolódási
eszközök összessége, amivel
biztonságos módon érhetünk el
távoli számítógépeket. Az
rlogin, rsh,
rcp és a telnet
direkt kiváltására használható.
Emellett SSH-n keresztül TCP/IP kapcsolatok is
biztonságosan bújtathatóak vagy
küldhetõek tovább.Az OpenSSH-t az OpenBSD projekt
tartja karban, és az SSH 1.2.12 verziójára
épül hibajavításokkal és
frissítésekkel egyetemben. Az SSH 1 és 2
protokollokkal egyaránt kompatibilis.Az OpenSSH
használatának elõnyeiA hétköznapi esetben, vagyis amikor a
&man.telnet.1; vagy &man.rlogin.1; alkalmazásokat
használjuk, az adatok titkosítatlan
formában közlekednek a hálózaton. A
szerver és a kliens közé bárhova
becsatlakozó hálózati
kíváncsiskodók így
könnyedén el tudják lopni a
felhasználói nevünket és jelszavunkat,
vagy lényegében bármilyen adatot, ami az
adott munkamenetben megfordul. Az
OpenSSH ennek
kivédésére kínál fel
különféle hitelesítési és
titkosítási eszközöket.Az sshd engedélyezéseOpenSSHengedélyezésAz sshd a &os;
telepítésekor jelentkezõ
Standard lehetõségek egyike. Az
sshd
engedélyezését úgy tudjuk
kideríteni, ha az rc.conf
állományban megkeressük a következõ
sort:sshd_enable="YES"Ez tölti be a rendszer indításakor az
&man.sshd.8;-t, az OpenSSH
démonát. Vagy az
/etc/rc.d/sshd &man.rc.8; szkript
segítségével is elindíthatjuk az
OpenSSH-t:/etc/rc.d/sshd startAz SSH kliensOpenSSHkliensAz &man.ssh.1; segédprogram az &man.rlogin.1;
programhoz hasonlóan mûködik.&prompt.root; ssh felhasználó@gép.hu
Host key not found from the list of known hosts. Are you sure you
want to continue connecting (yes/no)? yes Host
'gép.hu' added to the list of known hosts.
felhasználó@gép.hu's password:
*******Az üzenetek fordítása:Nem találtam meg a gépet az ismert gépek között. Biztosan csatlakozni
akarunk hozzá (igen/nem)? igen A 'gép.hu'
felkerült az ismert gépek közé.
Adja meg a felhasználó@gép.hu jelszavát:Bejelentkezés után minden ugyanolyan, mintha
az rlogin vagy a telnet
programokat használtuk volna. Az SSH egy kulcs
segítségével próbálja
azonosítani a számítógépeket,
ezzel ellenõrzi a szerver hitelességét a
kliensek csatlakozásakor. A felhasználónak
ilyenkor elõször mindig yes
választ kell adnia. A késõbbi
bejelentkezési kísérletek pedig majd mindig
az így kapott kulccsal történnek. Ha
eltérne a kulcs, akkor az SSH kliens erre figyelmeztetni
fog minket. A kulcsok a ~/.ssh/known_hosts
vagy az SSH v2 protokoll esetén a
~/.ssh/known_hosts2
állományba kerülnek elmentésre.Alapértelmezés szerint az
OpenSSH szerverek csak SSH v2
kapcsolatokat fogadnak el. Lehetõség szerint a
kliens is ezt a változatot fogja használni, de ha
nem sikerül, akkor megpróbálkozik a v1-el. A
kliensnek a vagy
opciók segítségével elõ is
lehet írni, hogy az elsõ vagy a második
változatot használja. A kliensben az elsõ
változat támogatását csupán a
régebbi verziók kompatibilitása miatt
tartják karban.Biztonságos másolásOpenSSHbiztonságos másolásscpAz &man.scp.1; parancs az &man.rcp.1; parancshoz
hasonlóan mûködik: egyik géprõl
másol a másikra, biztonságosan.&prompt.root; scp felhasználó@gép.hu:/COPYRIGHT COPYRIGHTfelhasználó@gép.hu's password: *******
COPYRIGHT 100% |*****************************| 4735
00:00
&prompt.root;Mivel a kulcsot már ismerjük ehhez a
távoli géphez (az elõbbi
példából), ezért az &man.scp.1;
használatakor már ezzel
hitelesítünk.Az &man.scp.1; paraméterei hasonlóak a
&man.cp.1; parancséhoz: elsõ helyen az
állomány vagy állományok neveit
adjuk meg, a másodikon pedig a célt. Mivel az
állományokat a hálózaton SSH-n
keresztül küldik át, ezért az
állományok neveit
formában kell megadni.BeállításokOpenSSHbeállításokAz OpenSSH démon és
kliens rendszerszintû konfigurációs
állományai az /etc/ssh
könyvtárban találhatóak.Az ssh_config tartalmazza a kliens
beállításait, miközben az
sshd_config tartalmazza a
démonét.Emellett az rc.conf
állományban megadható
(ez alapból a
/usr/sbin/sshd) és
opciókkal további
beállítási szinteket
nyújtanak.ssh-keygenJelszavak helyett az &man.ssh-keygen.1; programmal a
felhasználók azonosítására
DSA- vagy RSA-kulcsokat tudunk készíteni:&prompt.user; ssh-keygen -t dsa
Generating public/private dsa key pair.
Enter file in which to save the key (/home/felhasználó/.ssh/id_dsa):
Created directory '/home/felhasználó/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/felhasználó/.ssh/id_dsa.
Your public key has been saved in /home/felhasználó/.ssh/id_dsa.pub.
The key fingerprint is:
bb:48:db:f2:93:57:80:b6:aa:bc:f5:d5:ba:8f:79:17 felhasználó@gép.huAz &man.ssh-keygen.1; ekkor a hitelesítésre
létrehoz egy publikus és egy privát
kulcsból álló párt. A privát
kulcs a ~/.ssh/id_dsa vagy
~/.ssh/id_rsa állományba
kerül, miközben a publikus kulcs a
~/.ssh/id_dsa.pub vagy
~/.ssh/id_rsa.pub lesz attól
függõen, hogy DSA vagy
RSA a kulcs típusa. A módszer
mûködéséhez a publikus
DSA- vagy RSA-kulcsot a
távoli számítógép
~/.ssh/authorized_keys
állományába kell bemásolni.Így tehát a távoli
számítógépre jelszavak
alkalmazása helyett SSH-kulccsal tudunk
belépni.Ha az &man.ssh-keygen.1; parancsnak megadunk egy jelmondatot
is, akkor a felhasználó a privát
kulcsát csak ennek megadásával tudja
használni. A hosszú jelmondatok
állandó beirogatásától a
szakaszban hamarosan
bemutatásra került &man.ssh-agent.1; igyekszik
megkímélni minket.A különbözõ opciók és
állományok eltérhetnek a
számítógépünkre
telepített OpenSSH
verziójától függõen. Ilyen
esetben javasolt felkeresni az &man.ssh-keygen.1; man
oldalát.Az ssh-agent és az ssh-addAz &man.ssh-agent.1; és &man.ssh-add.1;
segédprogramokkal be tudjuk tölteni az
SSH-kulcsokat a
memóriába, amivel elkerülhetjük a
jelmondat állandó
begépelését.A hitelesítést az &man.ssh-agent.1; program
kezeli a betöltött privát kulcsok
alapján. Az &man.ssh-agent.1;
használatával egy másik programot is
elindhatunk, egy parancsértelmezõtõl kezdve egy
ablakkezelõig szinte bármit.Az &man.ssh-agent.1; programot úgy tudjuk egy
parancsértelmezõben használni, hogy
elõször is elindítjuk vele az adott
parancsértelmezõt. Ezután az &man.ssh-add.1;
lefuttatásával hozzá kell adnunk egy
identitást, annak jelmondatának
megadásával. Miután ezeket megtettük,
a felhasználó bármelyik olyan távoli
gépre be tud jelentkezni, ahol a publikus kulcsát
ismerik. Például:&prompt.user; ssh-agent csh
&prompt.user; ssh-add
Enter passphrase for /home/felhasználó/.ssh/id_dsa:
Identity added: /home/felhasználó/.ssh/id_dsa (/home/felhasználó/.ssh/id_dsa)
&prompt.user;Az &man.ssh-agent.1; programot X11-el úgy tudjuk
használni, ha az ~/.xinitrc
állományba tesszük bele. Ezzel az
&man.ssh-agent.1; az összes X11-ben indított program
számára rendelkezésre áll.
Példának vegyük ezt az
~/.xinitrc állományt:exec ssh-agent startxfce4Így az X11 indulásakor mindig elindul az
&man.ssh-agent.1;, amely pedig elindítja az
XFCE alkalmazást.
Miután átírtuk a saját
állományunkat, a rendszer
életbeléptetéséhez indítsuk
újra az X11-et, az &man.ssh-add.1;
futtatásával pedig töltsük be az
összes SSH-kulcsunkat.Tunnelezés SSH-valOpenSSHtunnelezésAz OpenSSH-val létre
tudunk hozni egy tunnelt, amellyel egy másik protokoll
adatait tudjuk titkosított módon
becsomagolni.Az alábbi parancs arra utasítja az &man.ssh.1;
programot, hogy hozzon létre egy tunnelt a
telnet
használatához:&prompt.user; ssh -2 -N -f -L 5023:localhost:23 felhasználó@izé.mizé.hu
&prompt.user;Az ssh parancsnak a következõ
kapcsolókat adtuk meg:Az ssh parancs a protokoll
második változatát használja.
(Ne adjuk meg, ha régi SSH szerverekkel
dolgozunk.)Tunnel létrehozása. Ha nem adjuk meg,
akkor az ssh egy hagyományos
munkamenet felépítését kezdi
meg.Az ssh a háttérben
fusson.Egy helyi tunnel a
helyiport:távoligép:távoliport
felírásban.A távoli SSH szerver.Az SSH által létrehozott járatok
úgy mûködnek, hogy létrehozunk egy
csatlakozást a localhost (a helyi
gép) megadott portján. Ezután minden olyan
kapcsolatot, ami a helyi gép adott portjára
érkezik, SSH-n keresztül
átirányítunk a távoli gép
portjára.Ebben a példában a helyi gép
5023 portját
átirányítjuk a helyi gép
23 portjára. Mivel a
23 a
telnet portja, ezért az
így definiált SSH járattal egy
biztonságos telnet
munkamenetet hozunk létre.Ezen a módon tetszõleges nem biztonságos
TCP protokollt, például SMTP-t, POP3-at, FTP-t
stb. be tudunk csomagolni.Biztonságos tunnel létrehozása
SSH-val SMTP-hez&prompt.user; ssh -2 -N -f -L 5025:localhost:25 felhasználó@levelezõ.szerver.hufelhasználó@levelezõ.szerver.hu's password: *****
&prompt.user; telnet localhost 5025
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 levelezõ.szerver.hu ESMTPAz &man.ssh-keygen.1; és további
felhasználói hozzáférések
alkalmazásával ezen a módon ki tudunk
alakítani egy minden további
problémától és zûrtõl
mentes SSH tunnelezési környezetet. A jelszavak
helyett kulcsokat használunk és minden tunnel
külön felhasználóként is
futtatható.Gyakorlati példák a tunnelek
használatáraEgy POP3 szerver biztonságos
eléréseTegyük fel, hogy a munkahelyünkön van egy
SSH szerver, amire kívülrõl lehet
csatlakozni, illetve vele egy hálózatban van
egy POP3 levelezõ szerver is. A munkahelyünk
és az otthonunk között levõ
hálózati útvonalat részben vagy
teljesen nem tartjuk megbízhatónak.
Ezért az e-mailjeinket valamilyen biztonságos
módon szeretnénk elérni. Ezt
úgy tudjuk megvalósítani, ha
otthonról csatlakozunk a munkahelyen levõ SSH
szerverre és ezen keresztül érjük a
levelezõ szervert.&prompt.user; ssh -2 -N -f -L 2110:levél.gép.hu:110 felhasználó@ssh-szerver.gép.hufelhasználó@ssh-szerver.gép.hu's password: ******Miután a tunnel létrejött és
mûködõképes, állítsuk be
a levelezõ kliensünkben, hogy a POP3
kéréseket a localhost 2110
portjára küldje. Innen pedig biztonságos
módon megy tovább a
levél.gép.hu
címre.Egy szigorú tûzfal
megkerüléseEgyes hálózati adminisztrátorok
túlságosan szigorú szabályokat
adnak meg a tûzfalban, és nem csak a
bejövõ kapcsolatokat szûrik, hanem a
kimenõket is. A távoli gépekhez csak a
22 (SSH) és 80 (böngészés)
portjaikon tudunk csatlakozni.Mi viszont szeretnénk más (nem
egészen a munkánkkal kapcsolatos)
szolgáltatásokat is elérni,
például egy Ogg Vorbis szerverrõl
zenét hallgatni. Ehhez a szerverhez viszont csak
akkor tudnánk csatlakozni, ha a 22 vagy 80 portokon
üzemelne.Ezt a problémát úgy oldhatjuk meg,
ha felépítünk egy SSH kapcsolatot a
hálózatunk tûzfalán
kívül levõ
számítógéppel és
segítségével átbújunk az
Ogg Vorbis szerverhez.&prompt.user; ssh -2 -N -f -L 8888:zene.gép.hu:8000 felhasználó@tûzfalazatlan-rendszer.gép.orgfelhasználó@tûzfalazatlan-rendszer.gép.org's password: *******A zenelejátszó kliensüknek adjuk meg
a localhost 8888 portját, amely
pedig a tûzfal sikeres
kijátszásával
továbbítódik a
zene.gép.hu 8000-res
portjára.Az AllowUsers felhasználói
beállításGyakran nem árt korlátozni a
felhasználók bejelentkezését. Az
AllowUsers erre tökéletesen
megfelel. Például, ha csak 192.168.1.32 címrõl
engedjük bejelentkezni a root
felhasználót, akkor ehhez valami ilyesmit kell
beírnunk az /etc/ssh/sshd_config
állományba:AllowUsers root@192.168.1.32Ezzel pedig csupán nevének
megadásával engedélyezzük az
admin felhasználó
bejelentkezését (bárhonnan):AllowUsers adminEgy sorban több felhasználó is
megadható, mint például:AllowUsers root@192.168.1.32 adminIlyenkor ne felejtsük el megadni az összes
bejelentkezésre (valamilyen formában) jogosult
felhasználót megadni,
máskülönben kizárjuk ezeket.Miután elvégeztük a szükséges
változtatásokat az
/etc/ssh/sshd_config
állományban, utasítsuk az &man.sshd.8;
démont a konfigurációs
állományok
újraolvasására:&prompt.root; /etc/rc.d/sshd reloadAjánlott olvasnivalók (angolul)OpenSSH&man.ssh.1; &man.scp.1; &man.ssh-keygen.1; &man.ssh-agent.1;
&man.ssh-add.1; &man.ssh.config.5;&man.sshd.8; &man.sftp-server.8; &man.sshd.config.5;TomRhodesÍrta: ACLAz állományrendszerek
hozzáféréseit vezérlõ
listákA &os; 5.0 és késõbbi
változatai különbözõ
fejlesztéseket hoztak az
állományrendszerekben, például a
pillanatképek készítése vagy a
hozzáférés-vezérlési
listák (Access Control List, ACL-ek)
támogatása.A hozzáférés-vezérlési
listák a szabványos &unix;-os engedély
modellt bõvítik ki egy igen kompatibilis (&posix;.1e)
módon. Használatával a rendszergazdák
egy sokkal kifinomultabb biztonsági modellt tudhatnak a
kezük ügyében.Az UFS állományrendszerek
ACL támogatását úgy
tudjuk engedélyezni, ha a rendszermagot azoptions UFS_ACLparaméterrel fordítjuk le. Amennyiben ezt nem
fordítottuk bele, akkor az ACL
támogatással rendelkezõ
állományrendszerek csatlakoztatása
során egy figyelmeztetést kapunk. Ez az
opció a GENERIC rendszermag
része. Az ACL az
állományrendszeren engedélyezett
kiterjesztett tulajdonságokra támaszkodik. Ezeket a
kiterjesztett tulajdonságokat a következõ
generációs &unix; állományrendszer, az
UFS2 már alapból ismeri.UFS1 típusú
állományrendszereken sokkal nagyobb a
kiterjesztett tulajdonságok kezelésének
költsége, mint az UFS2
esetében. Az UFS2 jóval
nagyobb teljesítménnyel képes dolgozni a
kiterjesztett tulajdonságokkal. Emiatt a
hozzáférés-vezérlési
listák használatához az
UFS2 sokkal inkább ajánlott,
mint az UFS1.Az ACL használatát a
csatlakoztatáskor megadott
beállítással engedélyezhetjük,
amelyet érdemes felvennünk az
/etc/fstab állományba. Ha a
&man.tunefs.8; segédprogrammal az
állományrendszer fejlécében levõ
szuperblokk ACL kapcsolóját
átírjuk, akkor ez a beállítás
automatikussá tehetõ. A szuperblokk használata
több okból is ajánlatos:A csatlakoztatáskor megadott ACL
beállítás nem változtatható
egy egyszerû újracsatlakoztatással
(&man.mount.8; ), csak egy teljes
leválasztással (&man.umount.8;) és egy
friss csatlakoztatással (&man.mount.8;). Ennek
értelmében az ACL-ek a
rendszerindító állományrendszeren
a rendszer indulása után nem
engedélyezhetõek. Ám ez azt is jelenti,
hogy egy már használatban levõ
állományrendszer
beállításai sem
változtathatóak meg.Ha a kapcsolót a szuperblokkban
állítjuk be, akkor az
állományrendszert még akkor is
ACL támogatással
csatlakoztatja a rendszer, ha azt nem adtuk meg az
fstab állományban vagy az
eszközeink átrendezõdtek. Így az
állományrendszereket még
véletlenül sem tudjuk ACL
használata nélkül csatlakoztatni, ami
egyébként így komoly biztonsági
problémákat okozhatna.Beállíthatjuk úgy is
ACL kezelését, hogy egy friss
csatlakoztatás nélkül is bekapcsolható
legyen, azonban az ilyen állományrendszerek
ACL nélküli
csatlakoztatását nem ajánljuk senkinek,
mivel ha egyszer már engedélyeztük a
használatukat, majd kikapcsoljuk ezeket és
végül a kiterjesztett tulajdonságok
törlése nélkül újra
engedélyezzük, akkor nagyon könnyen
pórul járhatunk. Ha elkezdtük
használni az ACL-eket egy
állományrendszeren, akkor ne tiltsuk le ezeket,
mert az így keletkezõ
állományvédelem nem feltétlenül
lesz kompatibilis a felhasználók által
beállítottakkal, és az
ACL újraengedélyezése a
változásaik elõtti korábbi
ACL engedélyeket fogja
visszaállítani az állományokra,
aminek hatása kiszámíthatatlan.A hozzáférés-vezérlési
listákat használó
állományrendszerek esetén egy
+ (plusz) jellel
ábrázolják a kiterjesztett
engedélyeket. Például:drwx------ 2 robert robert 512 Dec 27 11:54 private
drwxrwx---+ 2 robert robert 512 Dec 23 10:57 könyvtár1
drwxrwx---+ 2 robert robert 512 Dec 22 10:20 könyvtár2
drwxrwx---+ 2 robert robert 512 Dec 27 11:57 könyvtár3
drwxr-xr-x 2 robert robert 512 Nov 10 11:54 public_htmlLáthatjuk, hogy a
könyvtár1,
könyvtár2 és
könyvtár3
könyvtárakhoz tartoznak ACL
típusú engedélyek, míg a
public_html könyvtárhoz
nem.Az ACL-ek használataAz állományrendszerben található
ACL engedélyeket a &man.getfacl.1;
segédprogrammal nézhetjük meg.
Például a
próba
állomány ACL engedélyeit
a következõ paranccsal tudjuk megnézni:&prompt.user; getfacl próba
#file:próba
#owner:1001
#group:1001
user::rw-
group::r--
other::r--Egy állomány ACL
engedélyeit a &man.setfacl.1; segédprogrammal
tudjuk megváltoztatni. Figyeljük meg:&prompt.user; setfacl -k próbaA opció törli az összes
ACL alapú engedélyt egy
állományról vagy
állományrendszerrõl. Ennél viszont
sokkal hasznosabb a opció
használata, mivel az meghagyja az ACL
mûködéséhez szükséges
alapvetõ mezõket.&prompt.user; setfacl -m u:trhodes:rwx,group:web:r--,o::--- próbaEbben a fenti parancsban a opciót
pedig arra használtuk, hogy módosítsuk az
alapértelmezett ACL
bejegyzéseket. Mivel az ezt megelõzõ
parancsban teljesen töröltük még az
elõredefiniált bejegyzéseket is, ez a parancs
a megadott paraméterekkel kiegészítve
ezeket vissza fogja állítani. Ügyeljünk
arra, hogy ha olyan felhasználót vagy csoportot
adunk meg, ami nem létezik a rendszerben, akkor a
szabvány kimenetre egy Invalid
argument hibaüzenetet kapunk.TomRhodesÍrta: PortauditA külsõ programok biztonsági
problémáinak figyeléseAz utóbbi években a biztonsági
kérdésekkel foglalkozó világban
számos fejlesztésre került sor a
sebezhetõségi figyelmeztetések
feldolgozásában. Manapság
tulajdonképpen bármilyen operációs
rendszer fokozott veszélynek teszik ki magát a
külsõ programok telepítésével
és használatával.A sebezhetõségekrõl beszámoló
értesítések a biztonság egyik
alapköve, azonban a &os; projekt nem tud ilyen
jelentéseket kiadni a &os; alaprendszerén
kívül minden egyes külsõ
alkalmazáshoz. Azonban lehetõségünk van
enyhíteni a külsõ csomagok
sebezhetõségén és figyelmeztetni a
rendszergazdákat az ismert biztonsági
problémákra. A &os;-nek van egy
Portaudit nevû
segédprogramja, amit kizárólag erre a
célra hoztak létre.A ports-mgmt/portaudit port
egy adatbázist használ, ahol a &os;
biztonsági csapata és a portok fejlesztõi
tartják karban az ismert biztonsági
problémákat.A Portaudit
használatának megkezdéséhez
telepítsük a
Portgyûjteménybõl:&prompt.root; cd /usr/ports/ports-mgmt/portaudit && make install cleanA telepítési folyamat során a
&man.periodic.8; konfigurációs
állományai is frissítõdnek, így a
Portaudit is lefut a napi
biztonsági ellenõrzések folyamán.
Gondoskodjunk róla, hogy a root
felhasználónak levélben elküldött a
napi biztonsági értesítéseket rendesen
elolvassuk. Nincs szükségünk további
beállításokra.A telepítés után a rendszergazda a
következõ paranccsal tudja frissíteni a
saját adatbázispéldányát
és megnézni a pillanatnyilag telepített
csomagok ismert sebezhetõségeit:&prompt.root; portaudit -FdaEz az adatbázis a &man.periodic.8; minden egy
futásakor magától frissül,
ezért ez a parancs lényegében
elhagyható. Egyedül a soronkövetkezõ
példákhoz kell kiadni.A Portgyûjteménybõl telepített
külsõ alkalmazások
megbízhatóságának
ellenõrzését az alábbi parancs
kiadásával bármikor
elvégezhetjük:&prompt.root; portaudit -aA Portaudit ennek
hatására valahogy így fogja
megjeleníteni a sebezhetõ csomagokat:Affected package: cups-base-1.1.22.0_1
Type of problem: cups-base -- HPGL buffer overflow vulnerability.
Reference: <http://www.FreeBSD.org/ports/portaudit/40a3bca2-6809-11d9-a9e7-0001020eed82.html>
1 problem(s) in your installed packages found.
You are advised to update or deinstall the affected package(s) immediately.Fordítása:Érintett csomag: cups-base-1.1.22.0_1
A probléma jellege: cups-base -- HPGL puffer túlcsordulási sebezhetõség.
Link: <http://www.FreeBSD.org/ports/portaudit/40a3bca2-6809-11d9-a9e7-0001020eed82.html>
A telepített csomagokkal kapcsolatban 1 problemát találtam.
Javasoljuk, hogy az érintett csomagokat azonnal frissítse vagy távolítsa el.Ha a böngészõnket az itt megadott
címre irányítjuk, akkor megismerhetjük a
kérdéses sebezhetõség pontosabb
részleteit. Ezen az oldalon megtalálhatjuk a hiba
által érintett verziókat a &os; portok
verziója szerint, illetve más olyan honlapokat, ahol
biztonsági figyelmeztetéseket
találhatunk.Röviden összefoglalva, a
Portaudit egy komoly
segédeszköz és hitetlenül hasznos
kiegészítõje a
Portupgrade portnak.TomRhodesÍrta: a FreeBSD biztonsági
figyelmeztetéseiA &os; biztonsági figyelmeztetéseiA &os; több más kereskedelmi
minõségû operációs rendszerhez
hasonlóan Biztonsági
figyelmeztéseket (Security Advisory) ad ki. Ezek a
figyelmeztetések általában megjelennek a
biztonsággal foglalkozó levelezési
listákon és a hivatkozott hibák
kijavítása után a megfelelõ
kiadások hibajegyzékében is. Ebben a
szakaszban megismerjük és értelmezzük
ezeket a figyelmeztetéseket, valamint megtudhatjuk, milyen
lépéseket kell megtennünk a rendszerünk
kijavításához.Hogyan épül fel egy
figyelmeztetés?A &os; biztonsági figyelmeztetései az
alább látható formában jelennek meg,
amit mi most a &a.security-notifications.name; levelezési
listáról kölcsönöztünk.=============================================================================
&os;-SA-XX:XX.UTIL Security Advisory
The &os; Project
Topic: denial of service due to some problem
Category: core
Module: sys
Announced: 2003-09-23
Credits: Person@EMAIL-ADDRESS
Affects: All releases of &os;
&os; 4-STABLE prior to the correction date
Corrected: 2003-09-23 16:42:59 UTC (RELENG_4, 4.9-PRERELEASE)
2003-09-23 20:08:42 UTC (RELENG_5_1, 5.1-RELEASE-p6)
2003-09-23 20:07:06 UTC (RELENG_5_0, 5.0-RELEASE-p15)
2003-09-23 16:44:58 UTC (RELENG_4_8, 4.8-RELEASE-p8)
2003-09-23 16:47:34 UTC (RELENG_4_7, 4.7-RELEASE-p18)
2003-09-23 16:49:46 UTC (RELENG_4_6, 4.6-RELEASE-p21)
2003-09-23 16:51:24 UTC (RELENG_4_5, 4.5-RELEASE-p33)
2003-09-23 16:52:45 UTC (RELENG_4_4, 4.4-RELEASE-p43)
2003-09-23 16:54:39 UTC (RELENG_4_3, 4.3-RELEASE-p39)
CVE Name: CVE-XXXX-XXXX
For general information regarding FreeBSD Security Advisories,
including descriptions of the fields above, security branches, and the
following sections, please visit
http://www.FreeBSD.org/security/.
I. Background
II. Problem Description
III. Impact
IV. Workaround
V. Solution
VI. Correction details
VII. ReferencesA Topic mezõben olvashatjuk
pontosan mi is maga a probléma. Alapvetõen
bemutatja az érintett biztonsági
figyelmeztetést és megemlíti a
sebezhetõ segédprogramot.A Category mezõ hivatkozik a
rendszer azon részére, amelyre a hiba
kihatással lehet. Értéke lehet
core, contrib vagy
ports. A core
kategória azt jelzi, hogy a sebezhetõség
a &os; legfontosabb komponenseit érinti. A
contrib kategória a &os; projekt
számára felajánlott szoftverek, mint
például a sendmail
sebezhetõségére utal.
Végezetül a ports
kategória jelzi, hogy a sebezhetõség
valamelyik, a Portgyûjteményben szereplõ
szoftverre érvényes.A Module mezõ a sebezhetõ
komponens helyét nevezi meg, például
sys. Ebben a példában azt
láthatjuk, hogy a sys modul a
hibás. Ezért a sebezhetõség egy
rendszermagban használt komponenst
érint.Az Announced mezõ a
biztonsági figyelmeztetés
kiadásának vagy széleskörû
kihirdetésének dátumát
rögzíti. Ez azt jelenti, hogy a
biztonsági csapat meggyõzõdött a
probléma létezésérõl
és a hibát orvosoló
javítás már felkerült a &os;
forráskódjába.A Credits mezõ azokat az
egyéneket vagy szervezeteket említi meg, akik
észlelték a sebezhetõséget
és jelentették.Az Affects mezõben
megadják, hogy a &os; melyik kiadásaira van
hatással a sebezhetõség. Ha a
rendszermag esetén lefuttatjuk az
ident parancsot az érintett
állományokra, akkor megtudhatjuk a pontos
revíziójukat. A portoknál a
verziószám a port neve után szerepel a
/var/db/pkg könyvtárban.
Ha a rendszerünket nem frissítettük
CVS-rõl és fordítottuk
újra, akkor nagy a
valószínûsége, hogy a
sebezhetõség minket is érint.A Corrected mezõ tartalmazza a a
kijavítás dátumát,
idejét, idõzónáját
és az ezt tartalmazó kiadást.Az ismert sebezhetõségek
adatbázisában (Common Vulnerabilities
Database, CVD) használt azonosítási
információk alapján végzett
keresések számára fenntartott.A Background mezõ adja meg
részleteiben a sebezhetõ programmal kapcsolatos
tudnivalókat. Az esetek
többségében itt írják le,
hogy miért jött létre az adott
eszköz a &os;-ben, mire használják
és hogyan keletkezett.A Problem Description mezõ a
biztonsági rést részletezi. Ebben a
részben szerepelhet a hibás
kódrészlet vagy akár még az is,
hogy miként kell vele elõidézni a
hibát.Az Impact mezõ a probléma
lehetséges hatásait írja
körül a rendszerben. Ez például
lehet egy DoS támadás, speciális
engedélyek ellopása vagy akár a
rendszeradminisztrátori jogok
megszerzése.A Workaround mezõ igyekszik
elfogadható megoldást nyújtani a
rendszerük frissítésére
képtelen rendszergazdák számára.
Ennek oka lehet az idõ rövidsége, a
hálózati elérhetõség vagy
más okokból fakadó
elcsúszás. Ennek ellenére a
biztonsági kérdéseket sosem szabad
félvállról venni, ezért a
sebezhetõ rendszereket vagy ki kell javítani
vagy valamilyen módon meg kell kerülni a
biztonsági rés
kialakulását.A Solution mezõ
utasításokkal segít a rendszer
kijavítását. Ez egy
lépésrõl lépésre tesztelt
és ellenõrzött módszer, amellyel a
rendszerünket megfelelõen ki tudjuk
javítani és biztonságossá
tenni.A Correction Details mezõ
mutatja a CVS-ág vagy
kiadás nevét, amelyben a pontokat
aláhúzásra cserélték.
Ezenkívül még az egyes ágakban az
érintett állományok
revízióját is mutatja.A References mezõ
általában a témával kapcsolatos
további forrásokat kínálja fel
URL, könyv, levelezési lista
vagy hírcsoport formájában.TomRhodesÍrta: a futó programok
nyilvántartásaA futó programok nyilvántartásaA futó programok nyilvántartása olyan
biztonsági módszer, ahol a rendszergazda figyelemmel
kíséri a rendszer használatban levõ
erõforrásait, a felhasználók közti
megoszlását, gondoskodik a rendszer
felügyeletérõl és valamennyire nyomon
követi a felhasználók parancsait.Ennek a módszernek egyaránt megvannak a maga
elõnyei és hátrányai. Az egyik
elõnye, hogy a használatával a behatolás
egészen a betörés pontjáig
visszakövethetõ. Hátranya viszont, hogy a
futó programok nyilvántartása rengeteg
mennyiségû naplót generál és
ehhez sok lemezterületre lesz szükségünk.
Ebben a szakaszban végigjárjuk a programok
nyilvántartásának alapjait.A futó programok
nyilvántartásának
engedélyezése és használataA futó programok nyilvántartását
elõször engedélyeznünk kell. Ehhez a
következõ parancsokat kell kiadnunk:&prompt.root; touch /var/account/acct
&prompt.root; accton /var/account/acct
&prompt.root; echo 'accounting_enable="YES"' >> /etc/rc.confMiután aktiváltuk, a
nyilvántartást elkezdi számbavenni a
processzor kihasználtságát, a parancsokat
stb. A nyilvántartás emberek
számára nem olvasható formátumban
készül, ezért csak az &man.sa.8;
segédprogrammal tudjuk megnézni. Ha nem adunk meg
neki semmilyen opciót, akkor az sa
kilistázza a felhasználónkénti
hívásokat, az összes eltelt idõt
percben, a teljes processzor- és
felhasználói idõt percben, az I/O
mûveletek átlagos számát stb.A kiadott parancsokról a &man.lastcomm.1; programmal
tudunk tájékozódni. A
lastcomm segítségével ki
tudjuk íratni a felhasználók adott
terminálon kiadott parancsait is, mint
például:&prompt.root; lastcomm ls
trhodes ttyp1Ezzel megjelenik a trhodes nevû
felhasználó ttyp1
terminálon kiadott összes ismert
ls parancsa.Számos hasznos beállítást
és hozzájuk tartozó leírást
találhatunk még a &man.lastcomm.1;, &man.acct.5;
és &man.sa.8; man oldalakon.
diff --git a/hu_HU.ISO8859-2/books/handbook/updating/Makefile b/hu_HU.ISO8859-2/books/handbook/updating/Makefile
new file mode 100644
index 0000000000..1eacb8c021
--- /dev/null
+++ b/hu_HU.ISO8859-2/books/handbook/updating/Makefile
@@ -0,0 +1,18 @@
+#
+# Build the Handbook with just the content from this chapter.
+#
+# %SOURCE% en_US.ISO8859-1/books/handbook/updating/Makefile
+# %SRCID% 1.1
+#
+# $FreeBSD$
+#
+
+CHAPTERS= updating/chapter.sgml
+
+VPATH= ..
+
+MASTERDOC= ${.CURDIR}/../${DOC}.${DOCBOOKSUFFIX}
+
+DOC_PREFIX?= ${.CURDIR}/../../../..
+
+.include "../Makefile"
diff --git a/hu_HU.ISO8859-2/books/handbook/updating/chapter.sgml b/hu_HU.ISO8859-2/books/handbook/updating/chapter.sgml
new file mode 100644
index 0000000000..577c273e82
--- /dev/null
+++ b/hu_HU.ISO8859-2/books/handbook/updating/chapter.sgml
@@ -0,0 +1,767 @@
+
+
+
+
+
+
+
+
+ Tom
+ Rhodes
+ Írta:
+
+
+
+
+ Colin
+ Percival
+ A megíráshoz felhasznált
+ jegyzeteket készítette:
+
+
+
+
+ A &os; frissítése
+
+
+ Áttekintés
+
+ a &os; frissítése
+
+ freebsd-update
+ frissítés
+
+
+ A &os; operációs rendszerrel szemben
+ fejlõdése során egy komoly
+ elvárás az idõk folyamán
+ változatlanul fennmaradt: a felhasználóknak
+ szüksége van olyan alkalmazásokra és
+ segédprogramokra, amelyekkel képesek a nagyobb
+ és a kisebb rendszerfrissítéseket
+ letölteni.
+
+ Hosszú éveken keresztül a rendszerüket
+ frissíteni kívánó
+ felhasználók a CVSup
+ segítségével voltak kénytelenek
+ elvégezni a különféle biztonsági
+ javítások letöltését, valamint a
+ telepített portok és csomagok
+ frissítését a Portgyûjtemény
+ által támogatott módszerekkel
+ összhangban.
+
+ Miközben a CVSup
+ továbbra is használható, illetve
+ bekerült az alaprendszerbe egy teljesen C nyelven
+ íródott változata, egyéb
+ módszerek is születettek a rendszer naprakészen
+ tartására.
+
+ A &man.portsnap.8; és &man.freebsd-update.8;
+ elnevezésû eszközök
+ modernizálták a frissítési
+ folyamatát. Elõdeiknél sokkal
+ hatékonyabbak és a felhasználók
+ számára is könnyebben alkalmazhatóak.
+ Némelyek közülük akár a &man.cron.8;
+ használatával is futtathatóak, aminek
+ köszönhetõen szinte teljesen
+ önállósítható a mûvelet. Ez
+ kifejezetten azok számára jelent elõnyt, akik
+ több száz &os; alapú rendszer
+ felügyeletéért felelõsek.
+
+ Ebben a fejezetben bemutatjuk ezeket az új
+ módszereket, valamint eláruljuk, hogy a
+ felhasználók és rendszergazdák milyen
+ módon tudnak leginkább profitálni
+ használatukból.
+
+ A fejezet elolvasása során megismerjük:
+
+
+
+ a Portgyûjtemény
+ frissítésére milyen eszközök
+ állnak rendelkezésre;
+
+
+
+ a freebsd-update parancs hogyan
+ alkalmazható a &os; biztonsági
+ javításainak, vagy kisebb és nagyobb
+ frissítéseinek
+ letöltésére;
+
+
+
+ hogyan vessük össze a telepített
+ rendszerünk állapotát egy ismert tiszta
+ változattal.
+
+
+
+ A fejezet elolvasásához ajánlott:
+
+
+
+ a &unix; és a &os; alapjainak ismerete ();
+
+
+
+ a rendszermag konfigurációjának
+ és fordításának ismerete ();
+
+
+
+ a Portgyûjtemény alapvetõ fogalmainak,
+ valamint a külsõ alkalmazások
+ telepítésének ismerete ();
+
+
+
+ a &os; alaprendszerét alkotó
+ forráskódok
+ felépítésének, valamint a
+ &man.mergemaster.8; eszköz használatának
+ ismerete ().
+
+
+
+
+
+ A freebsd-update
+
+ A biztonsági javítások
+ telepítése minden
+ számítógépes szoftver,
+ különösen az operációs rendszerek
+ számára lényeges mozzanat. Nagyon
+ hosszú ideig ez a &os; esetében nem volt
+ könnyen megoldható: a javításokat
+ közvetlenül a forráskódon kellett
+ elvégezni, ezekbõl újrafordítani a
+ rendszert, majd telepíteni.
+
+ Ez a nehézség mostanra viszont már
+ elhárult, mivel a &os; legfrissebb verziói már
+ tartalmaznak egy freebsd-update nevû
+ segédprogramot, amellyel mindez leegyszerûsödik.
+ Ez a program két külön funkciót lát
+ el. Elõször is, lehetõvé teszi, hogy a &os;
+ alaprendszer újrafordítása és
+ -telepítése nélkül javítsunk
+ biztonsági és egyéb apró
+ hibákat, valamint másodsorban támogatja a
+ kisebb és nagyobb verziójú kiadások
+ közti váltást.
+
+
+ Ezek a bináris frissítések azonban csak
+ a &os; biztonsági csapata által is felügyelt
+ architektúrák és kiadások
+ esetén érhetõek el. Emellett bizonyos
+ lehetõségek használatához,
+ például a &os; verziói közti
+ átállás támogatásához
+ a &man.freebsd-update.8; legújabb változata,
+ valamint minimum a &os; 6.3 kiadása
+ szükségeltetik. Ezért ne felejtsük el
+ alaposan átolvasni a legújabb
+ kiadásokról szóló
+ bejelentéseket mielõtt frissítenénk
+ rájuk, mivel ezzel kapcsolatban fontos
+ információkat tartalmazhatnak. Az említett
+ bejelentések a címen
+ érhetõek el.
+
+
+ Ha a crontab már hivatkozik a
+ freebsd-update programra, akkor a most
+ következõ mûvelet elkezdése elõtt
+ tiltsuk le. A freebsd-update legújabb
+ változatát tartalmazó,
+ gzip és tar
+ parancsokkal tömörített csomagját az
+ elõbbi címrõl tölthetjük le, majd az
+ alábbi parancsok kiadásával
+ telepíthetjük:
+
+ &prompt.root; gunzip -c freebsd-update-upgrade.tgz | tar xvf -
+&prompt.root; mv freebsd-update.sh /usr/sbin/freebsd-update
+&prompt.root; mv freebsd-update.conf /etc
+
+ A &os; frissebb változatainál már semmit
+ sem kell telepítenünk a
+ használatához.
+
+
+ A konfigurációs állományok
+
+ Elõfordulhat, hogy változtatni akarunk valamin
+ a frissítési folyamatban és ezért
+ szeretnénk módosítani a programhoz
+ tartozó konfigurációs
+ állományt. Az opciók részletes
+ ismertetéssel rendelkeznek, habár
+ némelyiknél még további
+ magyarázat kellhet:
+
+ # Az alaprendszerben frissíteni kívánt komponensek
+Components src world kernel
+
+ Ezzel a paraméterrel határozhatjuk meg, hogy a
+ &os; mely részei kerüljenek frissítésre.
+ Alapértelmezés szerint a program frissíti a
+ forrásokat, a teljes alaprendszert és a
+ rendszermagot. Komponensként a
+ telepítésnél választható
+ elemeket adhatjuk meg, például "world/games"
+ hozzáadásakor a games kategória elemei is
+ folyamatosan frissülni fognak. Az "src/bin"
+ megadásakor pedig az src/bin könyvtár
+ tartalma frissül.
+
+ Ezt a beállítást a legjobb meghagyni az
+ alapértelmezett értéken, mivel a
+ további elemek megadásánál
+ egyenként fel kell sorolni a frissítendõ
+ komponenseket. Ha itt viszont kifelejtünk valamit, akkor
+ könnyen megeshet, hogy a források és a
+ binárisok verziója elcsúszik
+ egymástól.
+
+ # Az IgnorePaths beállítás után megadott szövegre illeszkedõ összes
+# bejegyzés frissítése kimarad
+IgnorePaths
+
+ Ennél a beállításnál
+ azokat a könyvtárakat kell megadnunk, amelyeket
+ (és tartalmukat) ki szeretnénk hagyni a
+ frissítés során. Ezek lehetnek
+ például a /bin vagy az /sbin. Így meg tudjuk
+ akadályozni, hogy freebsd-update
+ esetleg felülírjon valamilyen helyi
+ változtatást a rendszerünkben.
+
+ # Az UpdateIfUnmodified beállítás után megadott elérési útvonalakon csak
+# a felhasználó által még nem módosított állományok fognak frissülni
+# (hacsak a módosításokat össze nem fésüljük, lásd lentebb)
+UpdateIfUnmodified /etc/ /var/ /root/ /.cshrc /.profile
+
+ A megadott könyvtárakban csak azokat a
+ konfigurációs állományokat fogja
+ frissíteni, amelyeket nem változtattuk meg.
+ Amennyiben bármelyikük eltér az eredetileg
+ frissítendõ változattól, azt a program
+ nem módosítja. Létezik egy másik
+ hasonló beállítás, a
+ KeepModifiedMetadata, amely
+ hatására a freebsd-update az
+ összefésülés során elmenti a
+ változtatásokat.
+
+ # A MergeChanges beállításnál szereplõ állományok helyi módosításait
+# automatikusan összefésüljük a &os; újabb verziójára frissítése közben
+MergeChanges /etc/ /var/named/etc/
+
+ Itt azokat a könyvtárakat adhatjuk meg,
+ amelyekben a freebsd-update
+ számára engedélyezzük a
+ konfigurációs állományok új
+ verziójának
+ összefésülését a jelenlegi
+ állapottal. Az összefésülés
+ lényegében a &man.mergemaster.8;
+ használatánál már megszokott
+ módon, &man.diff.1; formátumban érkezõ
+ módosítások sorozata alapján
+ történik. Ekkor egy szövegszerkesztõ
+ segítségével felügyelhetjük az
+ összefésülés menetét vagy
+ megállíthatjuk a freebsd-update
+ futását. Ha kétségeink
+ adódnak, akkor egyszerûen mentsük le az
+ /etc
+ könyvtárat és fogadjuk el mindegyik
+ összefésülés eredményét.
+ A mergemaster
+ mûködésérõl a ad részletesebb
+ tájékoztatást.
+
+ # A &os; frissítésekor ezt a könyvtárat fogja a program használni a
+# letöltött módosítások és az egyéb ideiglenes állományok tárolására
+# WorkDir /var/db/freebsd-update
+
+ Az itt megadott könyvtárba fognak kerülni
+ az elvégzendõ módosítások
+ és az egyéb ideiglenesen keletkezõ
+ állományok. A verziók közti
+ váltás során ebben a
+ könyvtárban ajánlott legalább
+ 1 GB szabad tárterületnek lennie.
+
+ # A kiadások közti váltás során a Components beállításnál megadott
+# elemek kerüljenek csak frissítésre (StrictComponents yes), vagy a
+# program próbálja meg magától kitalálni, hogy milyen komponesek
+# *lehetnek* fenn a rendszeren és azokat frissítse (StrictComponents
+# no)?
+# StrictComponents no
+
+ Ha ennél a beállításnál a
+ yes értéket adjuk meg, akkor a
+ freebsd-update feltételezni fogja,
+ hogy a Components opciónál
+ felsoroltunk minden frissítendõ komponenst és
+ nem próbál meg mást is
+ megváltoztatni. Ilyenkor tehát a
+ freebsd-update tulajdonképpen
+ egyedül csak a Components által
+ meghatározott elemekhez tartozó
+ állományokat fogja frissíteni.
+
+
+
+ Biztonsági javítások
+
+ A biztonsági javítások mindig egy
+ távoli gépen tárolódnak, a
+ következõ parancsok használatával
+ tölthetõek le és
+ telepíthetõek:
+
+ &prompt.root; freebsd-update fetch
+&prompt.root; freebsd-update install
+
+ Amennyiben a rendszermagot is érintik
+ javítások, úgy a rendszert a mûvelet
+ befejezõdésével újra kell
+ indítanunk. Ha minden a megfelelõ módon
+ történt, akkor a rendszerünk már
+ tartalmazni fogja a korábban letöltött
+ és telepített javításokat, és
+ a freebsd-update akár
+ beállítható egy naponta
+ végrehajtandó &man.cron.8; feladatnak. Ehhez
+ mindössze a következõ bejegyzést kell
+ elhelyeznünk az /etc/crontab
+ állományban:
+
+ @daily root freebsd-update cron
+
+ A bejegyzés szerint naponta egyszer le fog futni a
+ freebsd-update. Ilyenkor, vagyis a
+ paraméter megadásakor a
+ freebsd-update csak ellenõrzi, hogy
+ vannak-e telepítendõ frissítések. Ha
+ talál, akkor automatikusan letölti ezeket a lemezre,
+ de nem telepíti. Helyette levélben
+ értesíti a root
+ felhasználót, aki ezután bármikor
+ manuálisan kérheti a
+ telepítést.
+
+ Probléma esetén az alábbi paranccsal
+ megkérhetjük a freebsd-update
+ programot a legutóbb telepített
+ módosítások
+ visszavonására:
+
+ &prompt.root; freebsd-update rollback
+
+ Ha ez a visszavonás a rendszermagra vagy annak
+ moduljaira is vonatkozott, akkor a rendszert újra kell
+ indítanunk a parancs futásának
+ befejezõdésével. A &os; csak ilyenkor
+ képes betölteni az új binárisokat
+ betölteni a memóriába.
+
+
+ A freebsd-update
+ kizárólag csak a GENERIC
+ konfigurációjú rendszermagok
+ esetén alkalmazható. Amennyiben a
+ GENERIC típusú
+ rendszermagot módosítottuk, vagy egy
+ saját rendszermagot telepítettünk, a
+ freebsd-update nem fog rendesen
+ mûködni — az elõbbi esetben
+ megáll, az utóbbiban pedig hibát fog
+ jelezni.
+
+
+
+
+ Váltás kisebb és nagyobb
+ verziók között
+
+ Verziók közti váltás során
+ a külsõ alkalmazások
+ mûkõdését akadályozó
+ régi tárgykódok és
+ függvénykönyvtárak törlõdni
+ fognak. Ezért javasoljuk, hogy vagy
+ töröljük le az összes portot és
+ telepítsük újra, vagy az alaprendszer
+ frissítése után hozzuk ezeket is
+ naprakész állapotba a ports-mgmt/portupgrade
+ segédprogram segítségével.
+ Elõször minden bizonnyal szeretnék
+ kipróbálni a frissítést, ezt a
+ következõ paranccsal tehetjük meg:
+
+ &prompt.root; portupgrade -af
+
+ Ezzel gondoskodunk róla, hogy a minden a
+ megfelelõen telepítõdjön újra. Ha a
+ BATCH környezeti változót a
+ yes értékre
+ állítjuk, akkor a folyamat során
+ megjelenõ összes kérdésre automatikusan
+ a yes választ adjuk, ezáltal
+ önállósítani tudjuk.
+
+ A freebsd-update képes
+ frissíteni rendszerünket egy adott kiadásra.
+ Például a következõ paraméterek
+ megadásával válthatunk a &os; 6.3
+ használatára:
+
+ &prompt.root; freebsd-update -r 6.3-RELEASE upgrade
+
+ A parancs elindulása után nem sokkal, a
+ váltáshoz szükséges
+ információk
+ összegyûjtéséhez a
+ freebsd-update elemzi a
+ konfigurációs állományában
+ megadott beállításokat és a rendszer
+ jelenleg használt verzióját. A
+ képernyõn ekkor sorban megjelennek a program
+ részérõl érzékelt és nem
+ érzékelt komponensek. Mint például
+ ahogy itt látható:
+
+ Looking up update.FreeBSD.org mirrors... 1 mirrors found.
+Fetching metadata signature for 6.3-BETA1 from update1.FreeBSD.org... done.
+Fetching metadata index... done.
+Inspecting system... done.
+
+The following components of FreeBSD seem to be installed:
+kernel/smp src/base src/bin src/contrib src/crypto src/etc src/games
+src/gnu src/include src/krb5 src/lib src/libexec src/release src/rescue
+src/sbin src/secure src/share src/sys src/tools src/ubin src/usbin
+world/base world/info world/lib32 world/manpages
+
+The following components of FreeBSD do not seem to be installed:
+kernel/generic world/catpages world/dict world/doc world/games
+world/proflibs
+
+Does this look reasonable (y/n)? y
+
+ Ekkor a freebsd-update
+ megpróbálja letölteni a verziók
+ közti váltáshoz szükséges
+ összes állományt. Bizonyos esetekben
+ kérdésekkel fordul a felhasználó
+ felé arra vonatkozóan, hogy miket
+ telepítsen fel vagy mit csináljon.
+
+ A javítások letöltését
+ követõen megkezdõdik a
+ telepítésük. A váltás ezen
+ lépése az adott gép aktuális
+ terhelésétõl és
+ sebességétõl függõen
+ változó hosszúságú lehet.
+ Ezután a konfigurációs
+ állományok összefésülése
+ zajlik le — itt általában a emberi
+ felügyeletre is szükség van az
+ állományok
+ összefésülésének
+ irányításához, amelynek folyamatosan
+ láthatóak az eredményei. A
+ meghiúsult vagy kihagyott
+ összefésülések a teljes
+ frissítési folyamat leállását
+ vonják maguk után. Az /etc könyvtárban
+ tárolt fontosabb állományokról, mint
+ például a master.passwd vagy
+ group javasolt elõzetesen
+ biztonsági mentést készíteni
+ és késõbb kézzel hozzájuk adni
+ a változtatásaikat.
+
+
+ A rendszerben ekkor még nem lesz jelen semmilyen
+ konkrét változás, az összes
+ említett javítás és
+ összefésülés egy külön
+ könyvtárban történik. A
+ telepített javításokat és az
+ összefésült konfigurációs
+ állományokat a folyamat végén
+ magának a felhasználónak kell
+ véglegesíteni.
+
+
+ A frissítési eljárás
+ végén a következõ parancs
+ kiadásával tudjuk ténylegesen
+ érvényesíteni az eddig elvégzett
+ módosításokat:
+
+ &prompt.root; freebsd-update install
+
+ Elõször mindig a rendszermag és a
+ hozzátartozó modulok cserélõdnek le.
+ Ahogy ez végrehajtódott, újra kell
+ indítanunk a rendszert. Az új rendszermagot
+ tehát a következõ parancs
+ futtatásával tudjuk a rendszer
+ újraindításán keresztül a
+ memóriába juttatni:
+
+ &prompt.root; shutdown -r now
+
+ A rendszer sikeres újraindulása után
+ ismét el kell indítanunk a
+ freebsd-update programot, amely
+ korábban már elmentette a frissítés
+ állapotát, emiatt a legutóbbi
+ pontról fog folytatódni, illetve törli az
+ osztott könyvtárak és
+ tárgykódok régebbi változatait.
+ Innen az alábbi paranccsal léphetünk
+ tovább:
+
+ &prompt.root; freebsd-update install
+
+
+ A függvénykönyvtárak
+ verziói közti eltérések
+ mértékétõl függõen
+ elképzelhetõ, hogy a telepítés az
+ említett három fázis helyett
+ kettõben történik.
+
+
+ Most pedig újra kell fordítanunk vagy
+ telepítenünk az összes általunk
+ korábban használt külsõ
+ alkalmazást. Erre azért van
+ szükségünk, mert bizonyos alkalmazások a
+ verziók közti váltás során
+ törölt programkönyvtáraktól
+ függtek. Ennek automatizálásában a
+ ports-mgmt/portupgrade lesz
+ segítségünkre. Az alkalmazások
+ frissítésének
+ elindításához a következõ
+ parancsokat használjuk:
+
+ &prompt.root; portupgrade -f ruby
+&prompt.root; rm /var/db/pkg/pkgdb.db
+&prompt.root; portupgrade -f ruby18-bdb
+&prompt.root; rm /var/db/pkg/pkgdb.db /usr/ports/INDEX-*.db
+&prompt.root; portupgrade -af
+
+ A parancsok lefutását követõen a
+ freebsd-update utolsó
+ hívásával zárjuk le a
+ frissítést. Ezzel a paranccsal tudunk
+ tehát pontot tenni a frissítési
+ procedúra végére:
+
+ &prompt.root; freebsd-update install
+
+ Indítsuk újra a rendszert a &os;
+ frissített változatával. A folyamat ezzel
+ véget ért.
+
+
+
+ Rendszerek állapotainak
+ összehasonlítása
+
+ A freebsd-update ragyogóan
+ felhasználható a &os; egy telepített
+ változatának és egy általunk
+ garantáltan megbízható
+ példányának
+ összevetésére. Ilyenkor a rendszerhez
+ tartozó segédprogramokat,
+ programkönyvtárakat és
+ konfigurációs állományokat
+ ellenõriztethetjük le. Az
+ összehasonlítást ezzel a paranccsal
+ kezdhetjük meg:
+
+ &prompt.root; freebsd-update IDS >> eredmeny.idk
+
+
+ Habár a parancs neve IDS
+ (intrusion detection system), nem helyettesít semmilyen
+ olyan behatolásjelzõ megoldást, mint
+ amilyen például a security/snort. Mivel a
+ freebsd-update adatokat tárol a
+ lemezen, teljesen kézenfekvõ a
+ hamisítás lehetõsége. Míg
+ ennek eshetõsége adott mértékben
+ visszaszorítható a
+ kern.securelevel
+ csökkentésével és a
+ freebsd-update által használt
+ adatok írásvédett
+ állományrendszerre helyezésével,
+ erre a problémára az ideális
+ megoldást mégis egy teljes biztonságban
+ tudható referencia rendszer jelentheti. Ennek
+ tárolására alkalmas lehet
+ például egy DVD vagy egy
+ külsõ USB-egység.
+
+
+ A parancs kiadása után megkezdõdik a
+ rendszer vizsgálata, és az ellenõrzés
+ során folyamatosan jelennek meg az
+ átvizsgált állományok a
+ hozzájuk tartozó ismert és
+ kiszámított &man.sha256.1;-kódjukkal
+ együtt. Mivel a képernyõn
+ túlságosan gyorsan elúsznának az
+ eredmények, ezért ezeket egy
+ eredmeny.idk nevû
+ állományba mentjük a késõbbi
+ elemzésekhez.
+
+ Az így keletkezõ állomány sorai
+ ugyan meglehetõsen hosszúak, de szerencsére
+ viszonylag könnyen értelmezhetõek.
+ Például az adott kiadásban szereplõ
+ állományoktól eltérõeket ezzel
+ a paranccsal kérdezhetjük le:
+
+ &prompt.root; cat eredmeny.idk | awk '{ print $1 }' | more
+/etc/master.passwd
+/etc/motd
+/etc/passwd
+/etc/pf.conf
+
+ A példában most csak az elsõ
+ néhány állományt hagytuk meg, gyakran
+ tapasztalhatunk viszont ennél többet. Ezek
+ közül bizonyos állományok
+ értelemszerûen eltérnek, mint itt
+ például az /etc/passwd, mert
+ idõközben új felhasználókat
+ adtunk a rendszerhez. Máskor egyéb
+ állományok, például modulok nevei is
+ felbukkanhatnak, mert tegyük fel, hogy a
+ freebsd-update már frissítette
+ ezeket. Ha ki szeretnénk zárni valamilyen
+ állományokat vagy könyvtárakat az
+ ellenõrzésbõl, egyszerûen csak soroljuk
+ fel ezeket az /etc/freebsd-update.conf
+ állományban megjelenõ
+ IDSIgnorePaths
+ beállításnál.
+
+ A korábban tárgyaltaktól
+ függetlenül ez a rendszer alkalmas bonyolultabb
+ frissítési folyamatok
+ kisegítésére is.
+
+
+
+
+ A Portgyûjtemény frissítése a
+ Portsnap használatával
+
+ A &os; alaprendszer a Portgyûjtemény
+ frissítéséhez is tartalmaz egy &man.portsnap.8;
+ elnevezésû segédprogramot. Ez a program
+ elindítása után csatlakozik egy távoli
+ géphez, ellenõrzi a biztonsági kulcsát
+ és letölti a portok legfrissebb változatait. A
+ biztonsági kulcs feladata a frissítés
+ közben letöltött állományok
+ sértetlenségének szavatolása, ezzel
+ gondoskodik róla, hogy az adatok átvitelük
+ közben nem változtak meg. A
+ Portgyûjtemény legújabb
+ változatát így érhetjük
+ el:
+
+ &prompt.root; portsnap fetch
+Looking up portsnap.FreeBSD.org mirrors... 3 mirrors found.
+Fetching snapshot tag from portsnap1.FreeBSD.org... done.
+Fetching snapshot metadata... done.
+Updating from Wed Aug 6 18:00:22 EDT 2008 to Sat Aug 30 20:24:11 EDT 2008.
+Fetching 3 metadata patches.. done.
+Applying metadata patches... done.
+Fetching 3 metadata files... done.
+Fetching 90 patches.....10....20....30....40....50....60....70....80....90. done.
+Applying patches... done.
+Fetching 133 new ports or files... done.
+
+ A példában látható, hogy a
+ &man.portsnap.8; eltéréseket talált a helyi
+ és a távoli rendszerekben fellelhetõ portok
+ között, majd azokat ellenõrizte. Emellett az is
+ megfigyelhetõ, hogy korábban már futtatuk a
+ programot, mivel ha most indítottuk volna az elsõ
+ alkalommal, akkor egyszerûen letöltötte volna a
+ teljes Portgyûjteményt.
+
+ Ahogy a &man.portsnap.8; sikeresen befejezi az imént
+ kiadott fetch mûvelet
+ végrehajtását, a helyi rendszeren már
+ telepítésre készen fog várakozni a
+ Portgyûjtemény és az hozzátartozó
+ ellenõrzött módosítások. A
+ tényleges telepítésüket a
+ következõképpen kérhetjük:
+
+ &prompt.root; portsnap extract
+/usr/ports/.cvsignore
+/usr/ports/CHANGES
+/usr/ports/COPYRIGHT
+/usr/ports/GIDs
+/usr/ports/KNOBS
+/usr/ports/LEGAL
+/usr/ports/MOVED
+/usr/ports/Makefile
+/usr/ports/Mk/bsd.apache.mk
+/usr/ports/Mk/bsd.autotools.mk
+/usr/ports/Mk/bsd.cmake.mk
+...
+
+ Ezzel lezárult a portok frissítése,
+ innentõl már az aktualizált
+ Portgyûjtemény felhasználásával
+ tetszõlegesen telepíthetõek vagy
+ frissíthetõek az alkalmazások.
+
+
diff --git a/hu_HU.ISO8859-2/share/sgml/mailing-lists.ent b/hu_HU.ISO8859-2/share/sgml/mailing-lists.ent
index 8b2d76b623..2c2934088c 100644
--- a/hu_HU.ISO8859-2/share/sgml/mailing-lists.ent
+++ b/hu_HU.ISO8859-2/share/sgml/mailing-lists.ent
@@ -1,457 +1,461 @@
FreeBSD lista szerver">
&a.mailman.listinfo;">
FreeBSD ACPI levelezési lista">
freebsd-acpi">
FreeBSD advocacy levelezési lista">
freebsd-advocacy">
FreeBSD AFS levelezési lista">
freebsd-afs">
FreeBSD Adaptec AIC7xxx levelezési lista">
freebsd-aic7xxx">
FreeBSD Alpha levelezési lista">
freebsd-alpha">
FreeBSD AMD64 levelezési lista">
freebsd-amd64">
FreeBSD announcements levelezési lista">
freebsd-announce">
FreeBSD Apache levelezési lista">
freebsd-apache">
FreeBSD architecture and design levelezési lista">
freebsd-arch">
FreeBSD ARM levelezési lista">
freebsd-arm">
FreeBSD ATM networking levelezési lista">
freebsd-atm">
FreeBSD source code audit levelezési lista">
freebsd-audit">
FreeBSD binary update levelezési lista">
freebsd-binup">
FreeBSD Bluetooth levelezési lista">
freebsd-bluetooth">
FreeBSD bugbusters levelezési lista">
freebsd-bugbusters">
FreeBSD problem reports levelezési lista">
freebsd-bugs">
FreeBSD chat levelezési lista">
freebsd-chat">
FreeBSD clustering levelezési lista">
freebsd-cluster">
&os.current; levelezési lista">
freebsd-current">
CTM announcements levelezési lista">
ctm-announce">
CTM distribution of CVS files levelezési lista">
ctm-cvs-cur">
CTM 4-STABLE src branch distribution levelezési lista">
ctm-src-4">
CTM -CURRENT src branch distribution levelezési lista">
ctm-src-cur">
CTM user discussion levelezési lista">
ctm-users">
FreeBSD CVS commit message levelezési lista">
cvs-all">
FreeBSD CVS doc commit lista">
cvs-doc">
FreeBSD CVS ports commit lista">
cvs-ports">
FreeBSD CVS projects commit lista">
cvs-projects">
FreeBSD CVS src commit lista">
cvs-src">
FreeBSD CVSweb maintenance levelezési lista">
freebsd-cvsweb">
FreeBSD based Databases levelezési lista">
freebsd-database">
&os; Dokumentációs Projekt levelezési lista">
freebsd-doc">
FreeBSD device drivers levelezési lista">
freebsd-drivers">
FreeBSD users of Eclipse IDE levelezési lista">
freebsd-eclipse">
FreeBSD-embedded levelezési lista">
freebsd-embedded">
FreeBSD-emulation levelezési lista">
freebsd-emulation">
FreeBSD-eol levelezési lista">
freebsd-eol">
FreeBSD FireWire (IEEE 1394) levelezési lista">
freebsd-firewire">
FreeBSD file system project levelezési lista">
freebsd-fs">
FreeBSD GEOM levelezési lista">
freebsd-geom">
FreeBSD GNOME and GNOME applications levelezési lista">
freebsd-gnome">
FreeBSD technical discussions levelezési lista">
freebsd-hackers">
FreeBSD hardware and equipment levelezési lista">
freebsd-hardware">
FreeBSD mirror sites levelezési lista">
freebsd-hubs">
FreeBSD internationalization levelezési lista">
freebsd-i18n">
FreeBSD i386 levelezési lista">
freebsd-i386">
FreeBSD IA32 levelezési lista">
freebsd-ia32">
FreeBSD IA64 levelezési lista">
freebsd-ia64">
FreeBSD IPFW levelezési lista">
freebsd-ipfw">
FreeBSD ISDN levelezési lista">
freebsd-isdn">
FreeBSD Internet service provider's levelezési lista">
freebsd-isp">
FreeBSD jails levelezési lista">
freebsd-jail">
FreeBSD Java Language levelezési lista">
freebsd-java">
FreeBSD related employment levelezési lista">
freebsd-jobs">
FreeBSD KDE/Qt and KDE applications levelezési lista">
freebsd-kde">
FreeBSD LFS porting levelezési lista">
freebsd-lfs">
FreeBSD libh installation and packaging system levelezési lista">
freebsd-libh">
FreeBSD MIPS levelezési lista">
freebsd-mips">
FreeBSD mirror site adminisztrátorok">
mirror-announce">
FreeBSD laptop computer levelezési lista">
freebsd-mobile">
FreeBSD port of the Mozilla browser levelezési lista">
freebsd-mozilla">
FreeBSD multimedia levelezési lista">
freebsd-multimedia">
FreeBSD networking levelezési lista">
freebsd-net">
FreeBSD new users levelezési lista">
freebsd-newbies">
FreeBSD new-bus levelezési lista">
freebsd-new-bus">
FreeBSD OpenOffice levelezési lista">
freebsd-openoffice">
FreeBSD performance levelezési lista">
freebsd-performance">
FreeBSD Perl levelezési lista">
freebsd-perl">
FreeBSD packet filter levelezési lista">
freebsd-pf">
FreeBSD non-Intel platforms levelezési lista">
freebsd-platforms">
FreeBSD core team policy decisions levelezési lista">
freebsd-policy">
FreeBSD ports levelezési lista">
freebsd-ports">
FreeBSD ports bugs levelezési lista">
freebsd-ports-bugs">
FreeBSD PowerPC levelezési lista">
freebsd-ppc">
FreeBSD on HP ProLiant server levelezési lista">
freebsd-proliant">
FreeBSD Python levelezési lista">
freebsd-python">
FreeBSD Quality Assurance levelezési lista">
freebsd-qa">
FreeBSD general questions levelezési lista">
freebsd-questions">
FreeBSD boot script system levelezési lista">
freebsd-rc">
FreeBSD realtime extensions levelezési lista">
freebsd-realtime">
FreeBSD Ruby levelezési lista">
freebsd-ruby">
FreeBSD SCSI subsystem levelezési lista">
freebsd-scsi">
FreeBSD security levelezési lista">
freebsd-security">
FreeBSD security notifications levelezési lista">
freebsd-security-notifications">
FreeBSD-small levelezési lista">
freebsd-small">
FreeBSD symmetric multiprocessing levelezési lista">
freebsd-smp">
FreeBSD SPARC levelezési lista">
freebsd-sparc64">
&os.stable; levelezési lista">
freebsd-stable">
FreeBSD C99 and POSIX compliance levelezési lista">
freebsd-standards">
FreeBSD sun4v levelezési lista">
freebsd-sun4v">
+
+FreeBSD SVN src commit lista">
+svn-src">
+
FreeBSD test levelezési lista">
freebsd-test">
FreeBSD performance and stability testing levelezési lista">
freebsd-testing">
FreeBSD threads levelezési lista">
freebsd-threads">
FreeBSD tokenring levelezési lista">
freebsd-tokenring">
FreeBSD USB levelezési lista">
freebsd-usb">
FreeBSD user group coordination levelezési lista">
freebsd-user-groups">
FreeBSD vendors pre-release coordination levelezési lista">
freebsd-vendors">
Discussion of various virtualization techniques supported by FreeBSD levelezési lista">
freebsd-virtualization">
FreeBSD VuXML levelezési lista">
freebsd-vuxml">
FreeBSD Work-In-Progress Status levelezési lista">
freebsd-wip-status">
FreeBSD Webmaster levelezési lista">
freebsd-www">
FreeBSD X11 levelezési lista">
freebsd-x11">
bug-followup@FreeBSD.org">
majordomo@FreeBSD.org">