diff --git a/hu_HU.ISO8859-2/books/handbook/l10n/chapter.xml b/hu_HU.ISO8859-2/books/handbook/l10n/chapter.xml
index 0772ecf635..c2aeece2c7 100644
--- a/hu_HU.ISO8859-2/books/handbook/l10n/chapter.xml
+++ b/hu_HU.ISO8859-2/books/handbook/l10n/chapter.xml
@@ -1,1338 +1,1334 @@
AndreyChernovÍrta: Michael C.WuÁtdolgozta: Honosítás: Az I18N/L10N használata
és beállításaÁttekintésA &os; felhasználói földrajzi
elhelyezkedésüket tekintve mindenhol
megtalálhatóak a világon. Ebben a fejezetben
ismertetjük a &os; honosításához
és idegennyelvre fordításához
alkalmazható eszközöket, amelyek
segítségével az angolt nem, vagy csak
kevésbé ismerő felhasználók is
képesek lesznek komolyabban használni. Az i18n
megvalósítása rengeteg szemszögből
megközelíthető rendszer és
alkalmazás szintjén egyaránt, ezért
ahol szükséges, hivatkozni fogunk az odaillő
forrásokra.A fejezet elolvasása során
megismerjük:milyen nyelveket és nyelvi
beállításokat találhatunk napjaink
operációs rendszereiben;hogyan használjuk a nyelvi
beállításokat a saját
parancsértelmezőnkben;hogyan állítsuk be a konzolt az angolon
kívül más nyelvekhez;hogyan használjuk ténylegesen az X Window
Systemet a különböző nyelvekkel;hol olvashatunk többet az I18N-kompatibilis
alkalmazások fejlesztéséről.A fejezet elolvasásához ajánlott:külső alkalmazáok
telepítésének ismerete ().Az alapokMi az I18N/L10N?idegennyelvűséghonosításhonosításA fejlesztők az I18N elnevezést az angol
internationalization
(idegennyelvűség) szóból
származtatják, amiben a szám az első
és utolsó betű (az I és
N) közt állók
mennyiségére utal. Ehhez hasonlóan
keletkezett az L10N a localization
(honosítás) kifejezésből. Ezek
házasságából jöttek
létre az I18N/L10N módszerei, protokolljai
és mindazon alkalmazásai, melyekkel a
felhasználók a választott nyelvüket
használni tudják.Az I18N alkalmazások céljak
eléréséhez
függvénykönyvtárakban
implementált I18N készleteket használnak.
Ezzel lehetővé válik a fejlesztőik
számára, hogy összegyűjtsék a
programukban megjelenő összes szöveget egyetlen
állományba, majd azt külön
lefordítsák a különböző
nyelvekre. Mi is ezen konvenció
követésére szeretnénk bíztatni
minden programozót.Miért használjuk az I18N/L10N-t?Az I18N/L10N mindenhol jól jöhet, ahol
idegennyelvű adatot akarunk megjeleníteni,
bekérni vagy feldolgozni.Milyen nyelveket támogat az I18N?Az I18N és L10N nem korlátozódik a &os;
tudására. Jelenleg a világban
beszélt legelterjedtebb nyelvek mindegyikét
használhatjuk bennük. Csak hogy
néhányat említsünk
közülük: kínai, német,
japán, koreai, francia, orosz, vietnámi és
még sok más.A honosítás használataAz I18N minden adottságával együtt
független a &os;-től, egy egyezményes rendszer.
Mindenkit bátorítunk arra, hogy segítse a
&os;-t ennek az egyezménynek a
betartásában.nyelvi
beállításokA honosítás beállításai
három főbb részre tagolhatóak: a nyelv
kódja, az ország kódja és a
kódolás. A nyelvi beállítások
nevei is ezekből állnak össze, az alábbi
séma szerint:NyelviKód_OrszágKód.KódolásA nyelv és az ország kódjanyelvi kódokországkódokHa a &os; (vagy bármilyen más, az I18N-t
ismerő) rendszert honosítani akarunk az adott
nyelvre, akkor a felhasználónak ismernie kell az
adott országra és nyelvre vonatkozó
kódokat (az országkód fogja elárulni
az alkalmazásnak, hogy a nyelv melyik
változatát használja).
Ezenkívül a böngészők, SMTP/POP
szerverek és webszerverek stb. is ennek alapján
fognak döntéseket hozni. Íme
néhány nyelv/ország kódja:Nyelv/ország kódjaLeírásen_USAngol - Egyesült Államokru_RUOrosz - Oroszországzh_TWHagyományos kínai - TajvanKódolásokkódolásokASCIIBizonyos nyelvek 8 bites, széles vagy több
byte-os, nem ASCII kódolású karaktereket
használnak, melyekről a &man.multibyte.3; man
oldalán olvashatunk részletesebben. Ezeket
régebbi alkalmazások egyáltalán nem
ismerik fel, és hibásan
vezérlőkaraktereknek tulajdonítják.
Az újabbak általában már felismerik
a 8 bites karaktereket. A felhasználóknak az
alkalmazásokat a széles vagy a több byte-os
karakterek használatához vagy újra kell
fordítaniuk, vagy pedig megfelelően be kell
állítaniuk, az
implementációtól függően. A
széles vagy több byte-os karakterek
beolvasásához és
feldolgozásához a &os;
Portgyűjtemény nyelvenként tartalmaz
különféle programokat. A konkrét
részletek megértéséhez olvassuk el
az érintett &os; portok I18N
dokumentációját.Vagyis a felhasználóknak át kell
nézniük az alkalmazáshoz tartozó
dokumentációt, mivel ebből tudhatják
meg, hogyan állítsák be ezeket
megfelelően vagy milyen értékeket adjanak
át a configure/Makefile/fordító
hármasnak.Amiket esetleg érdemes lehet ezzel kapcsolatban
észben tartanunk:A nyelvfüggő egyszerű karakteres
készletek (lásd &man.multibyte.3;),
például ISO8859-1, ISO8859-15, KOI8-R,
CP437.A széles vagy több byte-os
kódolások, például az EUC,
Big5.A karakterkészletek jelenleg elérhető
listáját meg tudjuk tekinteni az IANA
adatbázisában.A &os; helyettük X11-kompatibilis nyelvi
kódolásokat használ.I18N alkalmazásokA &os; port- és csomagrendszerében az I18N
alkalmazások a könnyebb felismerhetőség
érdekében a nevükben tartalmazzák az
I18N megnevezést. Nem minden esetben
támogatják a szükséges nyelvet.A nyelvi beállítások
megadásaÁltalában elegendő annyi, hogy a
kívánt nyelvi beállítás
nevét exportáljuk az általunk
használt parancsértelmező LANG
környezeti változójába. Ez
megtehető a felhasználói
könyvtárunkban található
~/.login_conf, vagy a
felhasználói parancsértelmező
indító állományában
(~/.profile,
~/.bashrc, ~/.cshrc).
Nem szükséges a nyelvi
beállítások részleteit, mint
például az LC_CTYPE,
LC_CTIME változókat, megadni. A
pontosabb részleteket a &os; adott nyelvre
vonatkozó dokumentációjában
találjuk meg.A következő két környezeti
változót kell megadnunk az említett
konfigurációs állományokban:
- POSIX
-
- A LANG változót a &posix;
+ A LANG változót a &posix;POSIX
&man.setlocale.3; családjának
- MIME
-
A MM_CHARSET változót az
- alkalmazás MIME
+ alkalmazás MIMEMIME
karakterkészletéhezEz magában foglalja a felhasználói
parancsértelmező, az adott alkalmazás
és az X11 beállítását.A nyelvi beállítások
megadásának módszereinyelvi
beállításokbejelentkezési
osztályKét módszer létezik a nyelvi
beállítások megadására,
ezen kettőről fogunk a továbbiakban
beszélni. Az első (és egyben
ajánlott) ezek közül a bejelentkezési
osztályban levő környezeti
változók beállítása, a
második pedig környezeti változók
hozzáadása a parancsértelmező
rendszerszintű indító
állományához.Beállítás a bejelentkezési
osztályokkalEzzel a módszerrel a nyelvi
beállítás nevéhez és a
MIME karakterkészlethez kötődő
környezeti változókat az összes
létező parancsértelmező
számára csak egyszer kell megadnunk ahelyett,
hogy külön mindegyikük
indítóállományában
szerepeltetnénk. A felhasználó a saját részét
maga is elvégezheti, míg a rendszer szintjén
adminisztrátori jogosultságokat
igényel.Felhasználói szintű
beállításÍme példa gyanánt a
felhasználó könyvtárában
egy egyszerű .login_conf
állomány, amiben mind a két
változót Latin-1 kódolásra
állítottuk:me:\
:charset=ISO-8859-1:\
:lang=de_DE.ISO8859-1:hagyományos
kínaiBIG-5
kódolásEbben a .login_conf
példában a változókat BIG-5
kódolású hagyomános
kínai nyelvre állítjuk.
Észrevehetjük, hogy itt sokkal több
változó
beállítására van
szükségünk, mivel egyes szoftverek nem
kezelik megfelelően a nyelvi
beállításokat kínai,
japán és koreai nyelvek
esetén.# Azok a felhasználók, akik nem kívánnak tajvani pénz- vagy idő formátumot
# használni, egyenként írják át a változókat
me:\
:lang=zh_TW.Big5:\
:setenv=LC_ALL=zh_TW.Big5:\
:setenv=LC_COLLATE=zh_TW.Big5:\
:setenv=LC_CTYPE=zh_TW.Big5:\
:setenv=LC_MESSAGES=zh_TW.Big5:\
:setenv=LC_MONETARY=zh_TW.Big5:\
:setenv=LC_NUMERIC=zh_TW.Big5:\
:setenv=LC_TIME=zh_TW.Big5:\
:charset=big5:\
:xmodifiers="@im=gcin": # a gcin beállítása XIM szerverkéntA többit lásd a Rendszergazdai szintű
beállítások
résznél és a &man.login.conf.5; man
oldalon.Rendszergazdai szintű
beállításEllenőrizzük, hogy a
felhasználó
/etc/login.conf
állományban szereplő
bejelentkezési osztálya a megfelelő
nyelvet állítja be.
Győződjünk meg róla, hogy az
alábbi beállítások helyet
kapnak az /etc/login.conf
állományban:nyelv_neve|A hozzáférés típusának leírása:\
:charset=MIME_karakterkészlet:\
:lang=nyelvi_beállítás_neve:\
:tc=default:Folytassuk tovább az előbbi Latin-1-es
példánk szerint:nemet|Nemet felhasznalok hozzaferesei:\
:charset=ISO-8859-1:\
:lang=de_DE.ISO8859-1:\
:tc=default:Mielőtt megváltoztatnánk a
felhasználók bejelentkezési
osztályait, adjuk ki a következő
parancsot:&prompt.root; cap_mkdb /etc/login.confEzzel a /etc/login.conf új
tartalma láthatóvá válik a
rendszer számára.A bejelentkezési
osztály megváltoztatása a
&man.vipw.8; programmalvipwA vipw segédprogramot
új felhasználók
hozzáadására használjuk,
aminek eredményeképpen egy ehhez
hasonló bejegyzést tudunk
létrehozni:felhasznalo:jelszo:1111:11:nyelv:0:0:Felhasznalo neve:/home/felhasznalo:/bin/shA bejelentkezési
osztály megváltoztatása az
&man.adduser.8;-reladduserbejelentkezési
osztályAz adduser-rel az alábbiak
szerint tudunk új felhasználókat
felvenni a rendszerbe:Adjuk hozzá a defaultclass =
nyelv sort az
/etc/adduser.conf-hoz. Ne
felejtsük el, hogy ezután minden olyan
felhasználónál a
default bejelentkezési
osztályt meg kell adni, akik nem ezt a nyelvet
használják.Egy másik megoldás lehet, hogy a
&man.adduser.8; használata során minden
felhasználó esetén
külön megadjuk a nyelvet azEnter login class: default []: rész megjelenésekor.Vagy használhatjuk az alábbit az
egyes eltérő nyelvű
felhasználók
hozzáadásánál:&prompt.root; adduser -class nyelvA bejelentkezési
osztály megváltoztatása a
&man.pw.8;-velpwAmennyiben a &man.pw.8;-t használjuk új
felhasználók
hozzáadására, így
érdemes meghívnunk:&prompt.root; pw useradd felhasználó_neve -L nyelvBeállítás a
parancsértelmező indító
állományávalEzt a módszert nem javasoljuk, mivel
parancsértelmezőnként
eltérő beállítást
kíván. Használjuk helyette a bejelentkezési
osztályokkal megvalósított
módszert.MIMEnyelvi
beállításA nyelvi beállítás nevének
és a MIME karakterkészlet
beállításához egyszerűen
csak adjuk meg a lenti /etc/profile
és/vagy /etc/csh.login
parancsértelmező indító
állományokban bemutatott környezeti
változót. Továbbra is a német
nyelvet használjuk a példánkban:Az /etc/profile
esetén:LANG=de_DE.ISO8859-1; export LANGMM_CHARSET=ISO-8859-1; export MM_CHARSETVagy a /etc/csh.login
esetén:setenv LANG de_DE.ISO8859-1setenv MM_CHARSET ISO-8859-1Úgy is megoldhatjuk ezt a feladatot, ha fenti
utasításokat a
/usr/share/skel/dot.profile
(hasonló a fentebb említett
/etc/profile állományhoz)
vagy /usr/share/skel/dot.login
(hasonló a fentebb említett
/etc/csh.login
állományhoz) esetén hajtjuk
végre.X11 esetén:Adjuk meg a $HOME/.xinitrc
állományban:LANG=de_DE.ISO8859-1; export LANGVagy:setenv LANG de_DE.ISO8859-1Attól függően, milyen
parancsértelmezőt használunk (lásd
fentebb).A konzol beállításaAz összes egyszerű karakteres készlet
esetén a kérdéses nyelvhez megfelelő
konzolos betűtípust az
/etc/rc.conf állományban
tudjuk beállítani:font8x16=betűtípus_neve
font8x14=betűtípus_neve
font8x8=betűtípus_neveItt a betűtípus_neve
az .fnt kiterjesztés
elhagyásával a
/usr/share/syscons/fonts
könyvtárban található
állományok nevéből adható
meg.sysinstallbillentyűkiosztásbetűkiosztásHa szükséges állítsuk még
be a megfelelő billentyű- és
betűkiosztást is a sysinstall
segítségével. Ahogy sikerült
elindítanunk a sysinstallt,
válasszuk a Configure
(Beállítások) pontot, majd a
Console (Konzol)-t! Vagy ehelyett
beírhatjuk az alábbi sorokat a
/etc/rc.conf
állományba:scrnmap=betűkiosztás_neve
keymap=billentyűkiosztás_neve
keychange="funkcióbillentyű_sorszáma szekvencia"Itt a
betűkiosztás_neve a
/usr/share/syscons/scrnmaps
könyvtárban található
állományok nevéből
származtatható az .scm
kiterjesztés elhagyásával. A
betűkiosztásokat általában a 9 bites
karaktermátrixszal rendelkező VGA
megjelenítők problémáinak
megoldására lehet használni, mivel
így az eredetileg 8 bittel ábrázolt
betűket ki lehet tolni az ilyen típusú
kártyák pszeudografikus
területéről.Ha aktiváltuk a moused
egérkezelő démont az
/etc/rc.conf állományban az
alábbi sor megadásával:moused_enable="YES"akkor a következő bekezdésben rá is
térhetünk az egérmutató adatainak
vizsgálatára.mousedA &man.syscons.4; meghajtóban található
egérmutató alapértelmezés szerint a
0xd0 - 0xd3 karaktereket foglalja el a
karakterkészletben. Ha a nyelv ezeket használja,
arrébb kell költöztetnünk ezt az
egérmutató által elfoglalt sávot. A
&os;-ben az /etc/rc.conf
állományon keresztül érhetjük
el:mousechar_start=3A
billentyűkiosztás_neve a
/usr/share/syscons/keymaps
könyvtárból, a .kbd
kiterjesztés elhagyásával keletkezik. Ha
nem vagyunk benne biztosak, melyik kiosztást is kellene
használnunk, a &man.kbdmap.1;
segítségével a rendszer
újraindítása nélkül
kipróbálhatjuk a rendelkezésre
álló billentyűkiosztásokat.A keychange használatára
többnyire a funkcióbillentyűk adott
termináltípushoz egyeztetéséhez van
szükség, mert a funkcióbillentyűk
szekvenciái nem adhatóak meg a
billentyűkiosztásban.Ezeken felül érdemes megbizonyosodnunk
róla, hogy a /etc/ttys
állományban jól állítjuk be a
terminál típusát minden
ttyv* bejegyzés esetén. Az
aktuálisan előre beállított
kapcsolatok a következők:KarakterkészletTermináltípusISO8859-1 vagy ISO8859-15cons25l1ISO8859-2cons25l2ISO8859-7cons25l7KOI8-Rcons25rKOI8-Ucons25uCP437 (alapértelmezett VGA)cons25US-ASCIIcons25wA széles és több byte-os karaktereket
használó nyelvek esetén használjuk a
/usr/ports/nyelv
könyvtárban megfelelő &os; portot. Egyes
portok konzolosként jelennek meg, miközben a
rendszer soros virtuális terminálként
látja ezeket, ezért fenn kell tartanunk
elegendő virtuális terminált mind az X11,
mind pedig pszeudo-soros konzol számára. Itt
látható a konzolon más nyelvet
használó alkalmazások részleges
listája:NyelvHelyHagyományos kínai (BIG-5)chinese/big5conJapánjapanese/kon2-16dot vagy
japanese/mule-freewnnKoreaikorean/hanAz X11 beállításaHabár az X11 nem része a &os; projektnek,
megemlítünk vele kapcsolatban néhány
hasznos információt a &os;
felhasználók számára is. Még
több részletet a &xorg; honlapjáról
vagy az általunk használt X11 szerver
dokumentációjából tudhatunk
meg.Az ~/.Xresources
állományban további I18N
beállításokat finomíthatunk
alkalmazásonként (például
betűtípusok, menük stb.).Betűtípusok
megjelenítéseX11 True Type betűtípus
szerverTelepítsük fel az
&xorg; (x11-servers/xorg-server) vagy az
&xfree86; (x11-servers/XFree86-4-Server)
szerverek valamelyikét, majd telepítsük a
nyelvhez tartozó &truetype; betűtípusokat.
Ezután a megfelelő nyelvi
beállítása megadása
révén már látni fogjuk a
kiválasztott nyelven megjelenő menüket
és egyéb szövegeket.Idegennyelvű karakterek beviteleX11 Input Method (XIM)Az X11 beviteli módszerének (X11 Input
Method, XIM) protokollja egy új szabvány az
összes X11 klienshez. Minden X11 alkalmazást
olyan XIM-kliensként kell elkészíteni,
amelyek a bemenő adatokat az XIM beviteli
szerverektől kapják.
Különböző XIM szerverek
érhetőek el az eltérő
nyelvekhez.Nyomtatók beállításaEgyes egyszerű karakteres készletek
általában hardveresen beépítve
megtalálhatóak a nyomtatókban. A
széles és több byte-os
karakterkészletek azonban külön
beállítást igényelnek, amire az
apsfilter használatát
javasoljuk. A megfelelő nyelvhez szabott
eszközökkel át is lehet konvertálni
&postscript; vagy PDF formátumba a nyomtatni
kívánt dokumentumot.A rendszermag és az
állományrendszerekA &os; gyors állományrendszere (Fast File
System, FFS) szabályosan kezeli a 8 bites karaktereket,
tehát tetszőleges egyszerű karakteres
készlet (lásd &man.multibyte.3;)
használható vele, viszont a karakterkészlet
nevét nem tárolja el az
állományrendszerben. Emiatt a neveket nyersen
kezeli, semmit sem tud a kódolásukról. Az
FFS hivatalosan még nem támogat semmilyen fajta
széles vagy több byte-os karakterkészletet.
Léteznek azonban független javítások
az FFS-hez, amelyek lehetővé teszik ilyen
széles vagy több byte-os karakterek
használatát. Ezek csak átmeneti és
nem hordozható megoldások, olyan
módosítások, amelyekről úgy
döntöttünk, nem vesszük fel ezeket a
forrásfába. Az érintett nyelvek honlapjain
elérhetjük ezeket a javításokat
és többet megtudhatunk róluk.DOSUnicodeA &os; &ms-dos; állományrendszere
konfigurálható úgy, hogy képes
legyen konvertálni az &ms-dos; Unicode és a
kiválasztott &os;
állományrendszerének
karakterkészlete között. Erről
bővebben a &man.mount.msdosfs.8; man oldalon
olvashatunk.I18N programok fordításaSzámos &os; port rendelkezik I18N
támogatással. Ezek egy részének
nevében szerepel az -I18N jelzés. Az ilyen
és sok más hasonló program
beépítetten ismeri az I18N-t, így nem
igényelnek külön
beállításokat.MySQLNéhány alkalmazás azonban, mint
például a MySQL,
esetén az adott karakterkészletnek megfelelő
módon kell beállítani a
Makefile állományt. Ezt
általában magában a
Makefile állományban tudjuk
megtenni, vagy pedig a configure
megfelelő paraméterezésével.A &os; honosítása adott nyelvekreAndreyChernovEredetileg írta: Az orosz nyelv (KOI8-R kódolás)honosításoroszA KOI8-R kódolásról bővebben a
KOI8-R oldalán (orosz
hálózati karakterkészlet)
tájékozódhatunk.A nyelvi beállítások
megadásaÍrjuk a következő sorokat a
~/.login_conf
állományunkba:me:Az en hozzaferesem:\
:charset=KOI8-R:\
:lang=ru_RU.KOI8-R:Valamint lásd a fejezet korábbi
részeiben említett példákat a nyelvi
beállítások
megadására.A konzol beállításaTegyük hozzá a következő sort az
/etc/rc.conf
állományunkhoz:mousechar_start=3Illetve használjuk az
/etc/rc.conf
állományban még a következő
beállításokat is:keymap="ru.koi8-r"
scrnmap="koi8-r2cp866"
font8x16="cp866b-8x16"
font8x14="cp866-8x14"
font8x8="cp866-8x8"A /etc/ttys
állományban szereplő mindegyik
ttyv* bejegyzésnél adjuk
meg termináltípusnak a
cons25r-t.Valamint lásd a fejezet korábbi
részében bemutatott példákat a
konzol
beállítására.A nyomtatás
beállításanyomtatókMivel a legtöbb nyomtató hardveresen
tartalmazza a CP866 kódlapot az orosz karakterek
támogatásához, használnunk kell
egy kimeneti szűrőt a KOI8-R
kódolású karakterek CP866
kódolásúra
konvertálásához. Egy ilyen
szűrő alapértelmezés szerint
telepítésre kerül a
/usr/libexec/lpr/ru/koi2alt
állományba. Az orosz nyomtatóhoz
tartozó bejegyzés valahogy így néz
ki az /etc/printcap
állományban:lp|Orosz helyi sornyomtato:\
:sh:of=/usr/libexec/lpr/ru/koi2alt:\
:lp=/dev/lpt0:sd=/var/spool/output/lpd:lf=/var/log/lpd-errs:A bővebben magyarázathoz lásd a
&man.printcap.5; man oldalt.Az &ms-dos; állományrendszere és az
orosz állománynevekA most következő példa &man.fstab.5;
bejegyzés azt mutatja meg, hogy lehet bekapcsolni az
orosz állománynevek
támogatását a csatlakoztatandó
&ms-dos; állományrendszereken:/dev/ad0s2 /dos/c msdos rw,-Wkoi2dos,-Lru_RU.KOI8-R 0 0Az kapcsolóval
kiválasztjuk a használni kívánt
nyelvi beállítás nevét, és
a kapcsolóval megadjuk a karakterek
átváltásához szükséges
táblázatot. A
kapcsoló használata során
mindenképpen csatlakoztassuk a
/usr állományrendszert
még az &ms-dos; partíció előtt,
mivel az átváltáshoz használt
táblázatok a
/usr/libdata/msdosfs
könyvtárban találhatóak meg! A
részleteket a &man.mount.msdosfs.8; man oldalon
találhatjuk meg.Az X11 beállításaAdjuk meg először a leírtak szerint a
nem X-es nyelvi
beállításokat.Ha &xorg;-ot
használunk, telepítsük a x11-fonts/xorg-fonts-cyrillic
csomagot.Ellenőrizzük a
/etc/X11/xorg.conf
állományban a "Files"
szakaszt. Az alábbi sort mindegyik más
FontPath bejegyzés
előtt kell
szerepeltetnünk:FontPath "/usr/X11R6/lib/X11/fonts/cyrillic"A portok között találhatunk
még további cirill
betűtípusokat.Az orosz billentyűzet életre
keltéséhez írjuk be a
következőket az xorg.conf
állomány "Keyboard"
szakaszába:Option "XkbLayout" "us,ru"
Option "XkbOptions" "grp:toggle"Ellenőrizzük, hogy a
XkbDisable ki van kapcsolva (ki van
kommentezve) ebben a szakaszban.A grp:toggle
beállítás esetén az
orosz/latin (RUS/LAT) átkapcsolás gombja a
jobb Alt lesz, míg a
grp:ctrl_shift_toggle
beállításnál a CtrlShift.
A grp:caps_toggle esetén az
orosz/latin váltás a
CapsLock billentyűvel
történik. Ilyenkor (de csak latin
módban) a megszokott CapsLock
funkció továbbra is elérhető a
ShiftCapsLock
kombinációval. A
grp:caps_toggle valamiért nem
működik az
&xorg;ban.Ha van &windows; billentyűnk a
billentyűzeten és azt tapasztaljuk, hogy egyes
nem-alfabetikus billentyűk rosszul kerülnek
kiosztásra orosz módban, adjuk hozzá
a következő sort az
xorg.conf
állományhoz:Option "XkbVariant" ",winkeys"Az orosz XKB billentyűzet egyes nem
honosított alkalmazások esetén nem
működik.A kis mértékben honosított
alkalmazások esetén javasolt meghívni a
XtSetLanuageProc(NULL, NULL, NULL);
függvényt valahol a program
elején.Az X11 alkalmazások
honosításához további
útmutatásokat a KOI8-R X Window-ra
című leírásban
találhatunk.Hagyományos kínai honosítás
tajvaniak számárahonosításhagyományos kínaiA &os;-Taiwan projekt készített a &os;-hez egy
kínainak szóló hogyant, amely
elérhető a
címen és számos kínai portot
használ. A &os; kínai hogyan
jelenlegi szerkesztője Shen Chuan-Hsing
(statue@freebsd.sinica.edu.tw).Chuan-Hsing Shen
(statue@freebsd.sinica.edu.tw) létrehozta
a
Kínai &os; gyűjteményt (Chinese &os;
Collection, CFC) a &os;-Taiwan
zh-L10N-tut munkáját
felhasználva. A hozzá tartozó csomagok
és szkriptek elérhetőek a
címen.Honosítás német (és minden
más ISO 8859-1 kódolású)
nyelvrehonosításnémetSlaven Rezic (eserte@cs.tu-berlin.de)
készített egy írást, amely
elmagyarázza, hogyan használjunk német
nemzeti karaktereket a &os; alatt. Ez a leírás
németül készült és a
címen érhető el.Honosítás görög nyelvrehonosításgörögNikos Kokkalis nickkokkalis@gmail.com egy
teljes cikket írt a &os; görög nyelvi
támogatásáról. Ez
elérhető a &os; hivatalos görög
nyelvű dokumentációjában, a
címen. Felhívjuk a figyelmet, hogy az
csak görög nyelven
érhető el.Honosítás japán és koreai
nyelvekrehonosításjapánhonosításkoreaiA japán honosításhoz lásd , a koreaihoz pedig
lásd .Idegennyelvű &os; dokumentációNéhány &os; felhasználó
lefordította a &os;
dokumentációjának egyes részeit
más nyelvekre is. Munkájuk elérhető a
főoldalon
található linkeken keresztül vagy a
/usr/share/doc
könyvtárban.
diff --git a/hu_HU.ISO8859-2/books/handbook/mail/chapter.xml b/hu_HU.ISO8859-2/books/handbook/mail/chapter.xml
index 4f27bafc12..e8a8d1e56e 100644
--- a/hu_HU.ISO8859-2/books/handbook/mail/chapter.xml
+++ b/hu_HU.ISO8859-2/books/handbook/mail/chapter.xml
@@ -1,3019 +1,3018 @@
BillLloydEredetileg készítette: JimMockÁtdolgozta: Elektronikus levelezésÁttekintése-mailAz elektronikus levelezés, más
néven e-mail, a kommunikáció egyik legjobban
elterjedt formája. Ebben a fejezetben bemutatjuk, hogyan
futtassunk &os;-n levelező szervert, illetve hogyan
küldjünk és fogadjunk e-maileket a &os;
használatával. Ez azonban semmiképpen sem
tekinthető egy teljes referenciának és
tulajdonképpen számos fontos
tényezőről szót sem ejtünk. A
témára úgy kaphatunk egy sokkal
átfogóbb rálátást, ha a ben felsorolt remek könyveket is
elolvassuk.A fejezet elolvasása során
megismerjük:milyen szoftverkomponensek játszanak szerepet az
elektronikus levelek küldésében és
fogadásában;&os;-ben hol találhatóak a
sendmail
konfigurációs állományai;mi a különbség a helyi és
távoli postaládák
között;hogyan akadályozzuk meg, hogy a levelező
szerverünk a kéretlen levélszemetet
továbbítson;rendszerünkön hogyan telepítsünk
és állítsunk be más levelező
szervereket a sendmail
helyett;hogyan oldjuk meg a levelező szerverekkel
kapcsolatban felmerülő általános
problémákat;hogyan használjuk az SMTP protokollt az UUCP
protokollal;hogyan kell rendszerüket csak
levélküldésre
beállítani;hogyan levelezzünk betárcsázós
kapcsolattal;hogyan növeljük rendszerünk
védelmét az SMTP
hitelesítésének
engedélyezésével;hogyan telepítsünk és
használjunk a levelek küldésére
és fogadására például a
mutthoz hasonló
levelező klienseket;hogyan töltsük le leveleinket egy távoli
POP vagy IMAP
szerverről;hogyan alkalmazzunk automatikusan adott szabályokat
vagy szűrőket az érkező
levelekre.A fejezet elolvasása előtt ajánlott:az internet-csatlakozásunk megfelelő
beállítása ();a névfeloldás
beállítása ();a külső fejlesztésű
alkalmazások telepítésének
ismerete ().Az elektronikus levelezés használataPOPIMAPDNSÖt fontosabb részre bonthatjuk a
levelezést. Ezek: a
felhasználói program (mail user agent), a levélküldő démon
(mail transfer agent), a
névfeloldás, a
helyi vagy távoli postaláda és
természetesen maga a
levelező szerver (mail host).A felhasználói programIde soroljuk a különböző parancssoros
programokat, mint például a
mutt,
pine, elm
és mail, valamint a
különféle grafikus alkalmazásokat, mint
például a balsa
és az xfmail, csak hogy
felsoroljuk néhány újabb, egy
webböngészőhöz hasonlóan
kifinomult eszközt is. Ezek a programok
egyszerűen átküldik az elektronikus levelekkel
kapcsolatos tranzakciókat a helyi levelező
szervernek vagy meghívják
valamelyik levélküldő
démont, esetleg közvetlenül a
TCP protokollon keresztül
kézbesítenek.A levélküldő démonlevélküldő démonsendmaillevélküldő démonpostfixlevélküldő démonqmaillevélküldő démoneximA &os; alapból a sendmail
nevű programot ajánlja fel erre a célra, de
támogat más levelező szervereket is, ezek
közül meg is említünk
néhányat
ízelítőként:eximpostfixqmailEz a démon általában két
feladatot lát el — a beérkező levelek
fogadásáért és a kimenő levelek
elküldéséért felelős.
Nem tartozik azonban a feladatai
közé, hogy a POP vagy
IMAP protokollokhoz hasonlóan
olvashatóvá tegye a leveleinket, illetve
csatlakozni engedjen a helyi mbox vagy
Maildir formátumú postaládáinkhoz.
Ezekhez a műveletekhez egy külön démon
szükségeltetik.A sendmail régebbi
változatai tartalmaznak olyan komoly biztonsági
hibákat, amelyek kihasználásával
az illetéktelen behatolók helyi és/vagy
távoli hozzáférést tudnak szerezni
a gépünkön. Az ilyen jellegű
problémák elkerülése
érdekében igyekezzünk mindig a legfrissebb
verzióját használni. Vagy a &os;
Portgyűjteményéből
telepítsünk fel egy másik
levélküldő démont.Az elektronikus levelek és a
névfeloldásA névfeloldás (Domain Name System, DNS)
és a hozzá tartozó named
démon nagy szerepet játszik az elektronikus
levelek továbbításában. A
démon a leveleket úgy küldi át az
egyik gépről a másikra, hogy a
névfeloldáson keresztül megkeresi azt a
távoli gépet, amelynek a leveleket
címezték. Ez a folyamat szintén
végbemegy, amikor egy távoli gépről
levelet küldenek a mi szerverünkre.MX rekordA DNS valósítja meg a
hálózati nevek és az IP-címek
összerendelését valamint ez tárolja el
a levélküldésre vonatkozó
információkat is, amelyeket MX rekordoknak
hívnak. Az MX (Mail eXchanger,
levélváltó) rekord adja meg
azt a gépet vagy azokat a gépeket, amelyek az
adott névtartományban fogadják a leveleket.
Ha a hálózati nevünkhöz vagy
tartományunkhoz nem tartozik MX rekord, akkor a
levél közvetlenül a gépünkre
vándorol feltéve, hogy rendelkezik olyan A
rekorddal, amely összerendeli a gépünk
nevét az IP-címével.A &man.host.1; parancs használatával az
alábbi példához hasonlóan
tetszőleges tartomány MX rekordját meg tudjuk
nézni:&prompt.user; host -t mx
FreeBSD.org FreeBSD.org mail is handled (pri=10) by
mx1.FreeBSD.orgAz elektronikus levelek fogadásaelektronikus levélfogadásaA tartományunkhoz tartozó leveleket
fogadását a levelező szerver végzi.
Összegyűjti a tartományunkba küldött
összes levelet és ezeket a
beállításainktól függően
vagy mbox (a levelek
tárolásának alapértelmezett
módja) vagy pedig Maildir formátumban
eltárolja. Ahogy eltárolt egy levelet, úgy
helyben egyből el is tudjuk olvasni például a
&man.mail.1; vagy a mutt
használatával, illetve távolról a
POP vagy IMAP és a
hasonló protokollokkal tudjuk elérni és
begyűjteni. Ezért tehát ha csak a helyi
gépen kívánjuk olvasni a leveleinket, akkor
ahhoz egyáltalán nem kell POP
vagy IMAP szervert
telepítenünk.Távoli postaládák
elérése a POP és
IMAP használatávalPOPIMAPA távoli postaládák
eléréséhez tudnunk kell csatlakozni egy
POP vagy IMAP
szerverhez. Ezeken a protokollokon keresztül
tudják a felhasználók minden
különösebb nehézség
nélkül elérni távolról a
helyi postaládáikat. Noha a
POP és az IMAP
segítségével egyaránt el tudjuk
így érni a postaládákat, az
IMAP használatának
mégis több előnye van, íme
néhány közülük:Az IMAP a levelek leszedése
mellett tárolni is képes a távoli
szerveren.Az IMAP támogat
párhuzamos lekéréseket.Az IMAP hihetetlenül hasznos
tud lenni lassabb összeköttetések
esetében, mivel lehetővé teszi a
felhasználók számára, hogy
csak az üzenetek vázát
töltsék le és ne az egészet.
Továbbá a szerver és a kliens
közti adatmozgás csökkentése
érdekében képes bizonyos feladatokat
a szerveren elvégezni, például
keresni.Egy POP vagy IMAP
szerver telepítéséhez az alábbi
lépések megtétele
szükséges:Válasszuk ki az igényeinket legjobban
kielégítő IMAP vagy
POP szervert. A következő
POP és IMAP
szerverek eléggé elterjedtek és
egyben remek példák:qpopperteapopimap-uwcourier-imapA Portgyűjteményből
telepítsük fel a kiválasztott
POP vagy IMAP
démont.Ha szükséges, akkor a
POP vagy IMAP
szerver betöltéséhez írjuk
át az /etc/inetd.conf
állományt.Meg kell említenünk, hogy mind a
POP és az IMAP
az összes információt, tehát
belértve a felhasználók neveit
és jelszavait titkosítatlan formában
továbbítja. Ez azt jelenti, hogy ha ezeket a
protokollokat biztonságos módon
szeretnénk elérni, akkor az &man.ssh.1;
használatával hozzunk létre
hozzá egy tunnelt és azon keresztül
használjuk. Erről részletesebben a ban olvashatunk.A helyi postaládák
eléréseA helyi postaládákat a szerveren levő
levelező kliensek közvetlen
használatával érhetjük el. Ilyen
alkalmazások például a
mutt vagy a &man.mail.1;.A levelező szerverlevelező szerverA levelező szerver az a szerver, amely a
gépünk vagy akár az egész
hálózatunk irányába
érkező levelek fogadásáért
és elküldéséért
felelős.ChristopherShumwayÍrta: A sendmail
beállításasendmailA &man.sendmail.8; a &os; alapértelmezett
levéltovábbító ügynöke (Mail
Transfer Agent, MTA). A
sendmail feladata fogadni a
levelező kliensektől (Mail User Agent,
MUA) érkező leveleket és
kézbesíteni azokat a konfigurációs
állományában megadott megfelelő
levelezőnek. A sendmail
hálózati kapcsolatokat is fogad, képes a
helyi postaládákba vagy akár más
programoknak is leveleket továbbítani.A sendmail a következő
állományban tárolja
beállításait:/etc/mail/access/etc/mail/aliases/etc/mail/local-host-names/etc/mail/mailer.conf/etc/mail/mailertable/etc/mail/sendmail.cf/etc/mail/virtusertableÁllománySzerep/etc/mail/accessA sendmail által
engedélyezett hozzáféréseket
tároló adatbázis/etc/mail/aliasesA postaládák álnevei/etc/mail/local-host-namesAzon nevek felsorolása, amelyek
számára a
sendmail leveleket
fogad/etc/mail/mailer.confA levelező programok
beállításai/etc/mail/mailertableA levelező programok
kézbesítési
táblázata/etc/mail/sendmail.cfA sendmail központi
beállításait tároló
állomány/etc/mail/virtusertableVirtuális felhasználók és
tartományok táblázatai/etc/mail/accessAz engedélyezett hozzáféréseket
tároló adatbázis tartalmazza milyen
hálózati neveken vagy IP-címeken lehet
elérni a helyi levelező szervert és azok
milyen típusú hozzáférést
kapnak. A gépek az (rendben),
(visszautasít),
(továbbítás)
beállításokat alkalmazhatjuk, vagy
egyszerűen meghívhatjuk hozzájuk a
sendmail hibakezelő
rutinját egy adott kézbesítési
hibával. Ha egy gépet az
beállítással veszük fel a
listára, ami egyébként
alapértelmezés, akkor ez a gép levelet tud
küldeni egészen addig, amíg a
végső cél a helyi gép marad. A
beállítással
felsorolt gépek számára semmiféle
levelezés nem engedélyezett. Ha pedig egy
gép mellett a
beállítás jelenik meg, akkor a szerveren
keresztül tetszőleges címre
küldhet.A sendmail
elérését szabályozó
adatbázis beállításacyberspammer.com 550 Nem szeretjuk a spammereket
FREE.STEALTH.MAILER@ 550 Nem szeretjuk a spammereket
another.source.of.spam REJECT
okay.cyberspammer.com OK
128.32 RELAYEbben a példában öt bejegyzést
láthatunk. A táblázat bal felének
valamelyik sorára illeszkedő küldőkre a
táblázatban a sor jobb felén megjelenő
cselekvés érvényesül. Az első
két sorban a sendmail
hibakezelő rutinjának adunk át
hibakódokat. A hozzá tartozó üzenet
akkor fog megjelenni a távoli gépen, amikor a
tőle érkező levél illeszkedik a bal
oldali szabályra. Az ezeket követő
bejegyzésben visszalökünk minden olyan levelet,
amely az internetről egy adott
számítógéptől érkezik,
például az another.source.of.spam
címről. A következő bejegyzésben
az okay.cyberspammer.com
címről elfogadjuk a kapcsolódást, ami
viszont sokkal pontosabb megjelölés a fentebb
szereplő cyberspammer.com sornál. A
pontosabban kifejtett nevek
felülbírálják a kevésbé
pontosan megnevezetteket. Végül az utolsó
bejegyzésben engedélyezzük a levelek
továbbküldését minden olyan gép
számára, amelynek címe a
128.32 előtaggal kezdődik. Ezek
tehát képesek ezen a levelező szerveren
keresztül bárhova leveleket küldeni.Az állomány módosítása
után az adatbázis
frissítéséhez mindig le kell futtatnunk egy
make parancsot az
/etc/mail/ könyvtárban./etc/mail/aliasesAz álneveket tartalmazó adatbázis
virtuális postaládákat sorol fel, amelyek
más felhasználókra,
állományokra, programokra vagy további
álnevekre vonatkozhatnak. Íme
néhány példa az
/etc/mail/aliases állományban
szereplő bejegyzésekre:Virtuális postaládákroot: localuser
ftp-bugs: joe,eric,paul
bit.bucket: /dev/null
procmail: "|/usr/local/bin/procmail"A formai szabályok egyszerűek: a kettőspont
bal oldalára kell írni azt a
postaládát, amely a jobb oldalán levő
célokra bomlik. A példa első sorában
egyszerűen megfeleltetjük a root
postaládáját a
localuser
postaládájának, majd ezt a nevet
keressük az álnevek adatbázisában. Ha
nem találunk már rá illeszkedést,
akkor az üzenetet a localuser
nevű helyi felhasználónak
továbbítjuk. A következő sorban
címek listáját láthatjuk. Ennek
megfelelően a ftp-bugs
postaláda címére küldött levelek
három további helyi postaládára
mennek tovább: ezek név szerint a
joe, eric és
paul felhasználók
postaládái. Itt a távoli
postaládák
felhasználó@példa.hu alakban
adhatóak meg. A következő sor az
állományok használatát
példázza, ahol konkrétan a
/dev/null állományba
irányítjuk át az adott címre
érkező leveleket. Az utolsó sorban pedig a
programok használatára láthatunk
példát, ahol ebben az esetben a levél egy
&unix;-os csövön keresztül a
/usr/local/bin/procmail szabványos
bemenetére kerül.Ha megváltoztatjuk ezt az állományt,
akkor utána az adatbázis
frissítéséhez ne felejtsük el
meghívni a make parancsot az
/etc/mail/ könyvtárban./etc/mail/local-host-namesEbben az állományban adhatjuk meg, hogy a
&man.sendmail.8; milyen hálózati neveket fogadjon
el helyi hálózati névként. Ide kell
raknunk azokat a tartományokat vagy címeket,
amelyektől a sendmail leveleket
fogad el. Például, ha a levelező szerver az
minta.com
tartományból és a level.minta.com címről fogad el
leveleket, akkor a local-host-names
valahogy így fog kinézni:minta.com
level.minta.comAz állomány módosításakor
a &man.sendmail.8; programot újra kell indítani a
változások
érvényesítéséhez./etc/mail/sendmail.cfAhogy a sendmail központi
konfigurációs állománya, a
sendmail.cf irányítja a
sendmail átfogó
viselkedését, beleértve mindent az e-mail
címek átírásától
kezdve a távoli szervereknek küldött
elutasító üzenetek
küldéséig. Mivel ennyire sokfajta szerepet
tölt be egyszerre, ezért ez a
konfigurációs állomány
meglehetősen összetett és a
részletezése meghaladná ennek a
leírásnak a határait. Szerencsére
az átlagos levelező szerverek esetében ezt az
állományt nagyon ritkán kell
módosítani.A sendmail központi
konfigurációs állománya a
sendmail lehetőségeit
és viselkedését meghatározó
&man.m4.1; makrókból építhető
fel. A pontosabb részleteket a
/usr/src/contrib/sendmail/cf/README
állományban találjuk meg.Az állomány megváltoztatása
után a módosítások
érvényesítéséhez újra
kell indítani a sendmail
programot./etc/mail/virtusertableA virtusertable állomány
képezi le a virtuális tartományokhoz
tartozó címeket valódi
postaládák címeire. Ezek a
postaládák lehetnek helyiek, távoliak, az
/etc/mail/aliases állományban
megadott álnevek vagy állományok.Példa a virtuális tartományok
leképezéséreroot@minta.com root
postmaster@minta.com postmaster@noc.minta.net
@minta.com joeA fenti példában megadtunk egy
leképezést a minta.com tartományhoz. Ez az
állomány úgy dolgozódik fel, hogy
fentről lefelé illesztődnek a címek,
egészen az első egyezésig. Az első
bejegyzés szerint a root@minta.com a helyi
root felhasználó
postaládájára képződik le. A
következő bejegyzés szerint a
postmaster@minta.com a noc.minta.net címen
található postmaster
nevű felhasználó
postaládájára képződik le.
Végezetül, ha a minta.com címről eddig
még semmi sem illeszkedett volna, akkor az utolsó
leképezés veszi át, amely az minta.com tartományon
belül az összes többi címre
küldött levelet a helyi joe
nevű felhasználó
postaládájára képezi le.AndrewBoothmanÍrta: GregoryNeil ShapiroLevelei segítségül
szolgáltak: A levéltovábbító ügynök
megváltoztatásae-maila levéltovábbító
megváltoztatásaAhogy arról már korábban szó
esett, a &os; alapból tartalmazza a
sendmail programot mint
levéltovábbító ügynököt
(MTA, Mail Transfer Agent). Ennélfogva
alapértelmezés szerint ez a felelős a
kimenő és beérkező levelek
kezeléséért.Számtalan okból eredően egyes
rendszergazdák azonban mégis szeretnék
lecserélni a rendszerükhöz tartozó
levéltovábbítót. Ennek oka lehet
egyszerűen csak annyi, hogy ki akarunk próbálni
egy másik programot vagy éppen egy olyan
eszközre van szükségünk, amely
kizárólag csak máshol található
meg. Szerencsére a &os; megkönnyíti ezt a
váltást.Az új levéltovábbító
telepítéseA levéltovábbítók széles
köre elérhető. A &os;
Portgyűjteményéből elindulva sok
ilyen programot találhatunk. Természetesen
teljesen mindegy, hogy melyik
levéltovábbítót választjuk
egészen addig, amíg képesek vagyunk &os;
alatt rendesen futtatni.Kezdjük tehát az új
levéltovábbító
telepítésével. Miután sikerült
telepíteni, lehetőségünk van
eldönteni, hogy valóban eleget tesz-e az
igényeinknek, sőt az új szoftvert még
az előtt be tudjuk állítani, hogy
átvenné a sendmail
helyét. Vigyázzunk azonban, hogy az új
szoftver telepítésekor ne írjon felül
olyan rendszerszintű binárisokat, mint
például a /usr/bin/sendmail.
Másrészt az új levelező szoftvert
szolgálatba helyezése előtt
mindenképpen fontos megfelelően
beállítanunk.A kiválasztott
levéltovábbító
beállításával kapcsolatban olvassuk
el a hozzá tartozó
dokumentációt.A sendmail
letiltásaAmikor letiltjuk a sendmail
kimenő levél szolgáltatását,
soha ne felejtsük el pótolni valamilyen más
levelező rendszerrel. Ha nem így
cselekszünk, akkor például a
&man.periodic.8; és a hozzá hasonló
programok nem lesznek képesek a tőlük
megszokott módon e-mailben elküldeni a
futásuk eredményét. A rendszer bizonyos
részei ráadásul egy
működő,
sendmail-kompatibilis rendszert
feltételeznek. Ha letiltása után az
alkalmazások továbbra is a
sendmail
segítségével próbálnak
levelet küldeni, akkor ez a levél a
sendmail inaktív
sorába kerülhet, ahonnan soha nem kerül
kézbesítésre.A sendmail teljes
leállításához, beleértve a
kimenő levelekhez tartozó
szolgáltatást is, a következőket kell
megadni az /etc/rc.conf
állományban:sendmail_enable="NO"
sendmail_submit_enable="NO"
sendmail_outbound_enable="NO"
sendmail_msp_queue_enable="NO"Ha csak a sendmail
beérkező levelekre vonatkozó
szolgáltatását akarjuk tiltani, akkor
ahhoz az /etc/rc.conf
állományban a következőt
állítsuk be:sendmail_enable="NO"A sendmail
indításával kapcsolatos további
beállításokat az &man.rc.sendmail.8; man
oldalon találjuk.Az új levéltovábbító
elindítása a rendszerrel együttAz új levéltovábbítót
úgy tudjuk elindítani a rendszerrel együtt,
ha az /etc/rc.conf
állományba felvesszük a következő
sort, például a
postfix esetében:&prompt.root; echo 'postfix_enable="YES"' >> /etc/rc.confAz új levéltovábbító
így most már magától el fog indulni
a rendszer indításakor.A sendmail mint a rendszer
alapértelmezett levelező eszközének
lecseréléseA sendmail annyira elterjedt
szabványos szoftver a &unix; rendszereken, hogy egyes
szoftverek egyszerűen feltételezik a
jelenlétét. Emiatt sok
levéltovábbítóhoz tartozik egy
sendmail kompatibilis parancssoros
felület is, amellyel igyekeznek megkönnyíteni a
sendmailgyors
lecserélését.Ennek következtében tehát, ha egy
másik levelező eszközt használunk, akkor
valamilyen módon meg kell bizonyosodnunk róla,
hogy a szabványos sendmail
binárisok, mint például a
/usr/bin/sendmail, valóban a
kiválasztott levéltovábbítot
fogják aktiválni. Szerencsére a &os;
pontosan emiatt tartalmaz egy &man.mailwrapper.8; nevű
rendszert.Amikor a sendmail
telepítése szerint működik, valami
hasonlót fogunk találni az
/etc/mail/mailer.conf
állományban:sendmail /usr/libexec/sendmail/sendmail
send-mail /usr/libexec/sendmail/sendmail
mailq /usr/libexec/sendmail/sendmail
newaliases /usr/libexec/sendmail/sendmail
hoststat /usr/libexec/sendmail/sendmail
purgestat /usr/libexec/sendmail/sendmailEz azt jelenti, hogy amikor az itt felsorolt
általános parancsok közül lefuttatjuk
valamelyiket (például magát a
sendmail parancsot), akkor a rendszer
magától meghívja a
sendmail néven szereplő wrapper
programot, amely pedig a mailer.conf
alapján kideríti, hogy az adott esetben a
/usr/libexec/sendmail/sendmail
hívására van szükség. Ez a
rendszer megkönnyíti az alapértelmezett
sendmail funkciók helyében
lefuttatandó binárisok
átállítását.Így tehát, ha a
/usr/local/supermailer/bin/sendmail-compat
állományt akarjuk futtatni a megszokott
sendmail helyében, akkor az
/etc/mail/mailer.conf
állományt a következőképpen kell
módosítanunk:sendmail /usr/local/kedvenclevelező/bin/sendmail-compat
send-mail /usr/local/kedvenclevelező/bin/sendmail-compat
mailq /usr/local/kedvenclevelező/bin/mailq-compat
newaliases /usr/local/kedvenclevelező/bin/newaliases-compat
hoststat /usr/local/kedvenclevelező/bin/hoststat-compat
purgestat /usr/local/kedvenclevelező/bin/purgestat-compatA művelet befejezéseAhogy a céljainknak megfelelően mindent
beállítottunk, akkor vagy egyszerűen
leállítjuk a sendmail
neve alatt futó programokat és helyettük
elindítjuk az új szoftverhez tartozókat,
vagy csak újraindítjuk a gépet. Az
újraindítással mellesleg
ellenőrizhetjük azt is, hogy jól
állítottuk be a rendszerünket és az
új levélküldő tényleg elindul a
rendszerünkkel együtt.A hibák elhárításae-mailhibaelhárításMiért kell teljes hálózati neveket
megadni a gépemen?Előfordulhat, hogy a hivatkozni
kívánt gép valójában egy
másik tartományban szerepel.
Például, ha az ize.mize.edu gépen vagyunk
és a vagyis nevű gépet
akarjunk innen elérni a mize.edu tartományban,
akkor a teljes hálózati nevével, vagyis
a vagyis.mize.edu néven
kell rá hivatkoznunk, nem pedig egyszerűen csak
vagyis néven.Régebben egyébként ezt a
BSD-típusú BINDBIND névfeloldók
megengedték. A &os; jelenlegi változatai
azonban már olyan BIND
verziót tartalmaznak, amelyek
alapértelmezés szerint már nem engedik
a tartományunkon kívüli relatív
nevek használatát. Tehát a
vagyis vagy a vagyis.ize.mize.edu gép lesz,
vagy a legfelső, gyökér tartományban
keresi a rendszer.Ez eltér a korábbi
viselkedéstől, ahol a keresés
folytatódott a vagyis.mize.edu és vagyis.edu tartományokban
is. Az RFC 1535 elolvasásából ki
fog derülni, hogy miért nem vált be ez a
gyakorlat és hogy miért tekinthető
még akár biztonsági résnek
is.Ezt a problémát egyébként
megoldhatjuk annyival, hogy az
/etc/resolv.conf
állományba asearch ize.mize.edu mize.edusor helyett adomain ize.mize.edusort írjuk be. Arra viszont ügyeljünk,
hogy a keresési rend ne lépje át a
helyi és nyilvános
adminisztráció között
meghúzódó határt, ahogy
azt az RFC 1535 nevezi.A sendmail szerint a
levél a saját farkába
harapEzt a sendmail gyakran
ismértelt kérdései között a
következőképpen válaszolták
meg:A következő hibaüzenetet kapom:
553 MX list for taromány.net points back to felé.tartomány.net
554 felhasználó@tartomány.net... Local configuration error
Hogyan oldható meg ez a probléma?
Azt kértük, hogy a tartományba (például tartomány.net) küldött levél
az MXMX rekord rekord felhasználásával egy adott gépre legyen átirányítva
(ebben az esetben ez a felé.tartomány.net), de a továbbítást végző gép
nem ismeri fel magát a tartomány.net címen. Vegyük fel a tartomány.net
tartományt az /etc/mail/local-host-names állományba [melyet a 8.10 előtti
verziókban /etc/sendmail.cw állománynak hívnak] (ha a
FEATURE(use_cw_file) beállítást használjuk) vagy tegyük hozzá a
Cw tartomány.net sort az /etc/mail/sendmail.cf
állományhoz.A sendmail GYIK a címen
található meg (angolul) és
mindenképpen javasolt elolvasni, ha fel
szeretnénk piszkálni a levelező
rendszerünk beállításait.Hogyan tudok levelező szervert futtatni egy
betárcsázós PPPPPP kapcsolat
esetében?Egy helyi hálózaton levő &os;-s
gépet akarunk tehát az internethez kapcsolni.
Ez a &os;-s gép lesz a helyi hálózat
leveleket továbbító
átjárója. A PPP kapcsolat nem
dedikált.Legalább két módon meg tudjuk
oldani. Az egyik módszer szerint az UUCPUUCP
használatára lesz
szükségünk.A másik módszer szerint szereznünk
kell egy éjjel-nappal üzemelő internetes
szervert, amely majd szolgáltatja a másodlagos
MX rekordot a tartományunkhoz.
Például, ha a cégünk
tartománya a cég.hu
és az internet-szolgáltatónk a szolgáltató.net
névre beállította a
tartományunkhoz a másodlagos MXMX record
rekordokat:cég.hu. MX 10 cég.hu.
MX 20 szolgáltató.net.Végső címzettként csak egy
gépet kell megadni (az
/etc/mail/sendmail.cf
állományba a cég.hu
címhez tegyük hozzá a Cw
cég.hu
sort).Amikor a leveleket küldeni akaró
sendmail megpróbál
kézbesíteni, először hozzánk
(cég.hu)
próbál csatlakozni a modemes
összeköttetésen keresztül. Ez
valószínűleg
időtúllépéssel befejeződik,
mivel nem vagyunk fenn minden pillanatban a neten. A
sendmail ekkor automatikusan a
másodlagos MX rekord által megadott
címre küldi a levelet, tehát a
szolgáltatónkhoz (szolgáltató.net).
Ez a másodlagos MX cím próbálja
majd időlegesen elérni a gépünket
és kézbesíteni a leveleket az
elsődleges MX rekord által megadott gépre
(cég.hu).A bejelentkezéskor ezért egy
hasonló szkriptet kell lefuttatnunk:#!/bin/sh
# Tegyük a /usr/local/bin/pppmyisp állományba:
( sleep 60 ; /usr/sbin/sendmail -q ) &
/usr/sbin/ppp -direct pppmyispHa készítünk egy külön
bejelentkező szkriptet a felhasználók
számára, akkor a sendmail
-qRcég.hu
parancsot is használhatjuk a fenti szkript helyett.
Ezzel a cég.hu
sorában található összes
levél azonnal feldolgozásra kerül.A helyzetet így lehetne még jobban
pontosítani:Az alábbi üzenet a &a.isp;
archívumából származik.> we provide the secondary MX for a customer. The customer connects to
> our services several times a day automatically to get the mails to
> his primary MX (We do not call his site when a mail for his domains
> arrived). Our sendmail sends the mailqueue every 30 minutes. At the
> moment he has to stay 30 minutes online to be sure that all mail is
> gone to the primary MX.
>
> Is there a command that would initiate sendmail to send all the mails
> now? The user has not root-privileges on our machine of course.
In the privacy flags section of sendmail.cf, there is a
definition Opgoaway,restrictqrun
Remove restrictqrun to allow non-root users to start the queue processing.
You might also like to rearrange the MXs. We are the 1st MX for our
customers like this, and we have defined:
# If we are the best MX for a host, try directly instead of generating
# local config error.
OwTrue
That way a remote site will deliver straight to you, without trying
the customer connection. You then send to your customer. Only works for
hosts, so you need to get your customer to name their mail
machine customer.com as well as
hostname.customer.com in the DNS. Just put an A record in
the DNS for customer.com.Az idézet fordítása:> Másodlagos MX rekordot biztosítunk az ügyfeleinknek. Az ügyfelek ezután automatikusan
> csatlakoznak naponta akár többször is a szolgáltatásunkhoz és leszedik az elsődleges MX
> rekordhoz tartozó leveleket. (Nem szólunk neki, amikor a tartományához levél
> érkezik.) A sendmail programunk minden 30 percben elküldi a sorban felhalmozódott
> leveleket. Tehát jelen pillanatban legalább 30 percig fenn kell lennie az ügyfélnek, hogy
> rendben megkapja az elsődlegesre MX rekordra.
>
> Létezik valamilyen parancs a sendmail programhoz, amellyel azonnal lekérhetjük az összes
> levelünket? A felhasználómnak természetesen nincsenek rendszergazdai jogosultságai az adott
> gépen.
A sendmail.cf privacy flags beállításai között van egy definíció, az
Opgoaway,restrictqrun.
Vegyük ki innen a restrictqrun beállítást, amivel a nem root felhasználók is megindíthatják a
sor feldolgozását. Valószínűleg az MX-ek átrendezésére is szükség lesz. Mi vagyunk az első MX
az ilyen típusú ügyfelek számára, és ezt adtuk meg:
# Ha mi vagyunk a legjobb MX a levél számára, akkor ne generáljunk
# helyi beállítási hibát, hanem próbálkozzunk közvetlenül.
OwTrue
Ezzel már a távoli gép közvetlenül nekünk küld anélkül, hogy próbálkozna az ügyfél kapcsolatával.
Ezt majd továbbküldjünk az ügyfélnek. Ez csak hálózati nevek esetében működik, tehát az ügyfelünknek
el kell neveznie a leveleket fogadó gépét customer.com-nak, valamint a fel kell venni a
hostname.customer.com címet is a DNS-be. Ehhez egyszerűen csak elegendő egy A rekordot
betenni a customer.com-hoz.Miért kapok folyton Relaying
Denied hibát, amikor más
gépekről küldök levelet?A &os; alapértelmezett telepítése
során a sendmail
úgy állítódik be, hogy csak
arról a gépről küldhetünk vele
levelet, ahol fut. Például, ha
POP szerver is elérhető,
akkor a felhasználók meg tudják
nézni a leveleiket az iskolából,
munkából vagy bármilyen más
távoli helyről, de leveleket onnan
továbbra sem tudnak küldeni.
Általában pár pillanattal a
próbálkozás után a
MAILER-DAEMON küldeni fog
egy 5.7 Relaying Denied
(5.7 A továbbítás nem
engedélyezett) üzenetet.Több lehetőségünk is van ennek
megkerülésére. Az a legegyszerűbb
módszer, ha az internet-szolgáltatónk
címét felvesszük az
/etc/mail/relay-domains
állományba. Például
így:&prompt.root; echo "az.internet.szolgáltató.net" > /etc/mail/relay-domainsAz állomány létrehozása vagy
módosítása után újra kell
indítanunk a sendmail
programot. Ez remekül működik abban az
esetben, ha rendszergazdák vagyunk és nem
akarunk a helyi gépről levelet küldeni,
vagy egy másik gépen vagy akár
másik internet-szolgáltatóval akarunk
valamilyen kattingatós levelező programot
használni. Olyankor is nagyon hasznos lehet, amikor
csak egy vagy két e-mail
hozzáférést állítottunk
be. Ha egyszerre több címet is fel
szeretnénk venni, akkor nyissuk meg ezt az
állományt a kedvenc
szövegszerkesztőnkkel és írjuk be a
tartományokat, soronként egyet:saját.internet.szolgáltató.net
másik.internet.szolgáltató.com
felhasználók-internet.szolgáltató.ja
www.minta.orgInnentől kezdve a listában szereplő
bármelyik gépről tudunk levelet
küldeni (feltéve, hogy az adott
felhasználó hozzáfér a
gépünkhöz). Ezzel
gyönyörűen megoldhatjuk, hogy a
felhasználóink képesek legyenek
távolról is levelet küldeni a
rendszerünkön keresztül anélkül,
hogy mások pedig szemetet küldenének
át rajtunk.Komolyabb témákA következő szakaszban szóba kerülnek
olyan komolyabb témák, mint például a
levelek konfigurációja és a levelezés
beállítása az egész tartomány
számára.Alapvető beállításoke-mailbeállításAlapból képesnek kell lennünk leveleket
küldeni külső gépekre egészen
addig, amíg az /etc/resolv.conf
állomány a megfelelő
beállításokat tartalmazza vagy egy
saját névszervert futtatunk. Ha
szeretnénk, hogy a gépünkre
érkező levelek elérjék a &os;-s
gépünkön futó
levéltovábbító
ügynököt (például a
sendmail programot), akkor erre
két módszer kínálkozik:Futtassunk saját névszervert és
hozzunk létre magunknak egy tartományt.
Például FreeBSD.org.Közvetlenül a gépünkre
küldessük a leveleket. Ezt úgy
tehetjük meg, ha egyből a
gépünkhöz tartozó DNS névre
küldetjük a leveleket. Például az
enyem.FreeBSD.org
címre.SMTPFüggetlenül attól, hogy a fentiek
közül melyik megoldást választjuk, a
levelek csak akkor tudnak eljutni közvetlenül a
gépünkre, ha állandó, statikus
IP-címmel rendelkezünk (tehát nem dinamikus
címmel, amit általában a
betárcsázós PPP kapcsolatokhoz szoktak
kiosztani). Ha tűzfal mögött vagyunk, akkor
valamilyen módon felénk kell
irányítani az SMTP forgalmat is. Ha
közvetlenül a gépünkön akarjuk
fogadni a leveleket, akkor a következő kettő
közül az egyik mindenképpen kelleni fog:
- MX rekordGondoskodjunk róla, hogy a hozzánk
tartozó DNS-ben (legkisebb sorszámú) MX
- rekord a gépünk IP-címére
+ rekordMX rekord a gépünk IP-címére
mutat.Gondoskodjunk róla, hogy a hozzánk
tartozó DNS-ben nincs semmilyen MX rekord a
gépünkhöz.A fentiek közül bármelyik elég
ahhoz, hogy közvetlenül a gépünkre
érkezzen meg a levél.Próbáljuk ki:&prompt.root; hostname
enyem.FreeBSD.org
&prompt.root; host enyem.FreeBSD.org
enyem.FreeBSD.org has address 204.216.27.XXHa ezt látjuk, akkor minden gond nélkül
lehet küldeni levelet a nevem@enyem.FreeBSD.org a címre
(feltételezve, hogy a sendmail
megfelelően működik az enyem.FreeBSD.org címen).Ha viszont ehhez hasonlót tapasztalunk:&prompt.root; host enyem.FreeBSD.org
enyem.FreeBSD.org has address 204.216.27.XX
enyem.FreeBSD.org mail is handled (pri=10) by kozpont.FreeBSD.orgA gépünkre (enyem.FreeBSD.org) küldött
összes levelet a kozpont szedi össze
ugyanazon felhasználói névvel ahelyett,
hogy közvetlenül a gépünkre küldeni
ezeket.Az iménti adatokat a DNS szerver határozza
meg. A levelek továbbításával
kapcsolatos információkat az
MX mint Mail
eXchange DNS-rekord tárolja. Ha
nincs ilyen MX rekord, akkor az IP-cím alapján
közvetlenül az adott géphez kerül a
levél.Például a freefall.FreeBSD.org MX rekordja
hajdanán így nézett ki:freefall MX 30 mail.crl.net
freefall MX 40 agora.rdrop.com
freefall MX 10 freefall.FreeBSD.org
freefall MX 20 who.cdrom.comLáthatjuk, hogy a freefall
esetében több MX bejegyzés is szerepel. A
legalacsonyabb MX-számú gép fogja kapni az
erre a címre beérkező leveleket, amennyiben
elérhető. Ha valamilyen okból nem
érhető el, akkor helyette ideiglenesen a
többiek (melyeket néha csak tartalék
MX-eknek neveznek) veszik át a levelet és
átadják a legalacsonyabb számúnak,
amint az újra elérhetővé
válik.A tartalék jelleggel megadott MX gépek akkor
érnek ténylegesen valamit, ha teljesen
máshonnan csatlakoznak az internethez. Az internet
szolgáltató vagy egy ismerősünk
gépe valószínűleg minden
további nélkül segít ennek
megoldásában.Egy egész tartomány leveleinek
kezeléseEgy levelező szerver
beállításához valahogy meg kell
tudnunk oldalni, hogy a különböző
munkaállomásokra küldött levelek
közvetlenül hozzá fussanak be. Alapvetően
tehát arról lenne szó, hogy a
tartományunkon (ez ebben az esetben a *.FreeBSD.org) belüli gépekre
címzett levelekre ez a gép tart
igényt és így ezek ide
irányítódnak át, majd a
felhasználók erről a központi
levelező szerverről kapják meg a
leveleiket.DNSAz életünk
megkönnyítéséhez minden
felhasználónak létrehozzuk a saját
felhasználói nevét a
levelező szerveren is. Ezt az &man.adduser.8; paranccsal
gyorsan el is végezhetjük.A levelező szerver lesz a hálózat
összes munkaállomásához kirendelt
levélváltó. Ezt a DNS
beállításai között így
adhatjuk meg:enyem.FreeBSD.org A 204.216.27.XX ; Munkaállomás
MX 10 kozpont.FreeBSD.org ; Levelező szerverEzzel lényegében az A rekord figyelmen
kívül hagyásával
átirányítjuk a munkaállomások
számára érkező összes levelet a
levelező szerverre. A levelek tehát az MX rekord
által mutatott címre mennek ki.Ezt önállóan nem tudjuk elvégezni,
hacsak nem futattunk egy saját DNS szervert. Ha nincsen
vagy nem is tudunk DNS szervert futtatni, akkor ebben a
kérdésben egyeztessünk az
internet-szolgáltatónkkal vagy bárkivel,
aki a DNS beállításaiért
felelős.Ha virtuális e-mail címket is kezelünk,
akkor a most következő információ
még a hasznunkra lehet. A példa
kedvéért most feltesszük, hogy a
tartományunkban van egy ügyfelünk, jelen
esetben az ugyfel1.org,
és azt akarjuk, hogy az ugyfel1.org címére
küldött levelek a saját levelező
szerverünkre kerüljenek át, a level.sajat.com címre. A DNS-t
ehhez így kell beállítani:ugyfel1.org MX 10 level.sajat.comHa csak az ugyfel1.org
levelezését akarjuk kezelni, akkor ahhoz
nem kell külön A rekord.Vigyázzunk, mert az ugyfel1.org csak akkor
pingelhető, ha létezik hozzá A
rekord.Befejezésül a levelező
szerverünkön futó
sendmail számára is fel
kell tárnunk, hogy milyen tartományokhoz
és/vagy hálózati nevekhez fogadjon
leveleket. Ezt több módon is
elvégezhetjük. A következők
bármelyik megfelel erre a célra:A FEATURE(use_cw_file)
használata esetén vegyük fel a
címeket az
/etc/mail/local-host-names
állományba. Ha a
sendmail 8.10 előtti
változatai esetében ehhez az
/etc/sendmail.cw
állományra lesz
szükségünk.Tegyük be a Cwsajat.cimunk.com
sort az /etc/sendmail.cf vagy a
sendmail 8.10 és
későbbi változatai esetén az
/etc/mail/sendmail.cf
állományba.SMTP és az UUCPA &os;-hez tartozó sendmail
olyan gépek számára lett kialakítva,
amelyek közvetlenül az internethez csatlakoznak. Az
UUCP használatával levelező rendszerek
számára egy másik konfigurációs
állományt kell telepíteni a
sendmail számára.Az /etc/mail/sendmail.cf
állítása kézzel
egyáltalán nem könnyű. A
sendmail 8. változata
ráadásul a konfigurációs
állományokat az &man.m4.1; előfeldolgozó
segítségével gyártja le, ahol a
tényleges beállítások egy magasabb
absztrakciós szinten jelennek meg. Az &man.m4.1;
típusú konfigurációs
állományok a
/usr/share/sendmail/cf
könyvtárban találhatóak. A
cf alkönyvtárban levő
README állomány igyekszik a
felhasználót bevezetni az &man.m4.1; alapú
beállítások világába.A mailertable nevű
lehetőség használatával tudjuk a
legjobban támogatni az UUCP protokollon keresztüli
kézbesítést. Ezzel felépül egy
olyan adatbázis, amelyet a
sendmail fel tud használni a
továbbítást érintő
döntésekben.Ehhez elsőként hozzuk is létre a
saját .mc állományunkat.
Ehhez a /usr/share/sendmail/cf/cf
könyvtár tartalmaz néhány
példát. Hívjuk most ezt az
állomnyunkat ize.mc néven. A
következő módszerrel tudjuk egy valós
sendmail.cf állománnyá
alakítani:&prompt.root; cd /etc/mail
&prompt.root; make ize.cf
&prompt.root; cp ize.cf /etc/mail/sendmail.cfEgy átlagos .mc
állomány egyébként valahogy így
épül fel:VERSIONID(`verziószám') OSTYPE(bsd4.4)
FEATURE(accept_unresolvable_domains)
FEATURE(nocanonify)
FEATURE(mailertable, `hash -o /etc/mail/mailertable')
define(`UUCP_RELAY', sajat.uucp.relay)
define(`UUCP_MAX_SIZE', 200000)
define(`confDONT_PROBE_INTERFACES')
MAILER(local)
MAILER(smtp)
MAILER(uucp)
Cw sajat.al.nev
Cw azuucpgepneve.UUCPAz accept_unresolvable_domains,
nocanonify és
confDONT_PROBE_INTERFACES
lehetőségekre hivatkozó sorok
megakadályozzák, hogy a levél
kézbesítésében a DNS is szerepet
játsszon. Az UUCP_RELAY az UUCP
alapú kézbesítés
támogatását engedélyezi.
Egyszerűen csak írjunk ide egy internetes
hálózati nevet, amely képes feldolgozni az
.UUCP áltartomány címeit. Az esetek
többségében ide az
internet-szolgáltatónk levelek
továbbküldéséért felelős
gépe kerül.Miután ezzel végeztünk,
szükségünk lesz még az
/etc/mail/mailertable
állományra is. Ha a külvilág
felé csak egyetlen összeköttetést
használunk a levelekhez, akkor az alábbi pontosan
megfelel:#
# makemap hash /etc/mail/mailertable.db < /etc/mail/mailertable
. uucp-dom:sajat.uucp.relayEgy bonyolultabb példa pedig így néz
ki:#
# makemap hash /etc/mail/mailertable.db < /etc/mail/mailertable
#
horus.interface-business.de uucp-dom:horus
.interface-business.de uucp-dom:if-bus
interface-business.de uucp-dom:if-bus
.heep.sax.de smtp8:%1
horus.UUCP uucp-dom:horus
if-bus.UUCP uucp-dom:if-bus
. uucp-dom:Az első három sor azokat a speciális
eseteket kezeli, ahol a tartomány felé
küldött levelek nem az alapértelmezett
úton visszük tovább, hanem valamelyik UUCP
szomszéd felé és így le tudjuk
rövidíteni a kézbesítés
útvonalát. Az ezeket követő sor dolgozza
fel a helyi Ethernet tartomány felé STMP protokollal
továbbítható leveleket. Végül az
UUCP szomszédokat is felsoroljuk az .UUCP
áltartomány jelölése szerint, így
megengedjük, hogy a
uucp-szomszéd!
címzett
felülbírálja az alapértelmezett
szabályokat. Az utolsó sorban mindig egyetlen pont
szerepel, ami minden másra illeszkedik, így az UUCP
kézbesítés egy olyan UUCP szomszéd
felé halad, amely a világ felé egy
univerzális levelező átjárónak
tekinthető. A uucp-dom: kulcsszó
mögött szereplő összes csomópont
nevének érvényes UUCP szomszédra kell
utalnia, amelyet a uuname paranccsal le is
tudunk ellenőrizni.A feladatból már csak annyi maradt hátra,
hogy használat előtt ezt az állományt
át kell alakítani DBM adatbázis
formátumba. Az ehhez szükséges parancsot
érdemes mailertable
állomány elejére bejegyzésben
felírni. A mailertable
megváltoztatásakor mindig le kell futtatni ezt a
parancsot.Utolsó jótanács: ha nem lennénk
biztosak valamelyik kézbesítési
útvonal működésében, ne
felejtsük el a sendmail
beállítását.
Ezzel a sendmail az ún.
címtesztelő módban
(address test mode) indul el. Gépeljük be, hogy
3,0, majd írjuk be a tesztelni
kívánt címet. Az utolsó sorban
láthatjuk a felhasznált belső
levéltovábbító
ügynököt, a célgépet, amellyel ezt
meghívjuk, és a (valószínűleg az
átfordított) címet. Innen a CtrlD
billentyűkombinációval léphetünk
ki.&prompt.user; sendmail -bt
ADDRESS TEST MODE (ruleset 3 NOT automatically invoked)
Enter <ruleset> <address>
>3,0 ize@pelda.com
canonify input: ize @ pelda . com
...
parse returns: $# uucp-dom $@ sajat.uucp.relay $: ize < @ pelda . com . >
>^DBillMoranKészítette: Csak küldés
beállításaGyakran előfordulhat, hogy csak leveleket akarunk
továbbküldeni. Mint például:Asztali számítógépünk
van, de használni akarunk olyan programokat, mint
például a &man.send-pr.1;. Ehhez az
internet-szolgáltatón keresztül kell
továbbküldeni a levelet.A számítógépünk egy olyan
szerver, amely nem helyben kezeli a leveleket, ezért az
összeset átküldi feldolgozásra.Szinte bármelyik levélküldő
ügynök képes betölteni ezt az űrt.
Sajnos eléggé bonyolult helyesen
beállítani úgy egy bármire
képes levélküldőt, hogy egyszerűen
csak szabaduljon meg a levelektől. Ilyenkor a
sendmail vagy a
postfix használatával
tulajdonképpen ágyúval lövünk
verébre.Továbbá, ha egy átlagos
internet-hozzáféréssel rendelkezünk,
adódhat, hogy a szerződés egyszerűen
tiltja a levelező szerver
futtatását.Legegyszerűbben úgy tudjuk
kielégíteni az ilyen jellegű igényeket,
ha feltelepítjük a mail/ssmtp portot. A
root felhasználóval adjuk ki a
következő parancsokat:&prompt.root; cd /usr/ports/mail/ssmtp
&prompt.root; make install replace cleanTelepítése után a mail/ssmtp portot a mindössze
négysoros
/usr/local/etc/ssmtp/ssmtp.conf
állománnyal állíthatjuk be:root=valodiemail@minta.com
mailhub=level.minta.com
rewriteDomain=minta.com
hostname=_GEPNEV_A root felhasználó
számára feltétlenül egy valódi
e-mail címet adjuk meg. A level.minta.com helyére az
internet-szolgáltatónk kimenő leveleket
továbbító szerverét adjuk meg
(bizonyos szolgáltatók ezt kimenő
levelező szervernek vagy SMTP
szervernek nevezik).Ne felejtsük el sendmail
démont sem letiltani, beleértve a kimenő
levelek kezelését. Ennek részleteit
lásd a ban.A mail/ssmtp
használatánál még adhatunk meg
további beállításokat is. A
/usr/local/etc/ssmtp
állományban vagy az ssmtp
man oldalán találhatunk példákat
és olvashatunk bővebben a
témáról.Az ssmtp ilyen fajta
beállításával a
számítógépünkön levő
szoftverek is helyesen fognak működni, miközben nem
sértjük meg az internet-szolgáltató
előírásait és nem tesszük
lehetővé, hogy a
számítógépünkről
levélszemetet küldhessenek.Levelezés betárcsázós
kapcsolattalHa statikus IP-címünk van, akkor az
alapértelmezett beállítások
tökéletesen megfelelőek számunkra.
Csupán a gépünkhöz tartozó
internetes címet kell megadnunk a gépünk
nevének és a sendmail
elvégzi a többit.Ha viszont dinamikusan kiosztott IP-címmel
rendelkezünk és betárcsázós
PPP kapcsolaton keresztül csatlakozunk az
internethez, akkor valószínűleg az
internet-szolgáltató levelező szerverén
van egy postaládánk. Most tegyük fel, hogy a
internet-szolgáltató tartománya a szolgaltato.net és a
felhasználói név a
felhasznalo, a gépünk neve pedig
otthoni.bsdm, valamint az
internet-szolgáltató részéről
levelezésre a
relay.szolgaltato.net gépet
használhatjuk.A postaládánkból úgy tudjuk
letölteni a leveleket, ha telepítünk hozzá
egy programot. Erre a feladatra a
fetchmail hibátlanul alkalmas,
mivel több különböző protokollt ismer.
Ez a program csomagként vagy a
Portgyűjteményből (mail/fetchmail) is elérhető.
Az internet-szolgáltatók erre
általában a POP protokollt
ajánlják fel. Ha a felhasználói
PPP alkalmazást használjuk,
állítsuk be az
/etc/ppp/ppp.linkup állományt a
következő módon és így a
csatlakozáskor maguktól letöltődnek a
leveleink:MYADDR:
!bg su felhasznalo -c fetchmailHa a sendmail
segítségével küldjük tovább
a leveleket a nem helyi hozzáférések
felé (ahogy azt lentebb is láthatjuk), akkor minden
bizonnyal a csatlakozáskor arra is
szükségünk lesz, hogy a leveleket
tároló sor is feldolgozódjon. Ezt úgy
oldhatjuk meg, ha az /etc/ppp/ppp.linkup
állományba a fetchmail parancs
után a következőt tesszük: !bg su felhasznalo -c "sendmail -q"Ez a példa feltételezi, hogy az otthoni.bsdm gépen van egy
felhasznalo nevű
felhasználónk. Az otthoni.bsdm gépen a
felhasznalo felhasználói
könyvtárában hozzunk létre egy
.fetchmailrc állományt:poll szolgaltato.net protocol pop3 fetchall pass TitkosJelszoEzt az állományt csak és
kizárólag a felhasznalo
olvashatja, mivel szerepel benne a hozzá tartozó
TitkosJelszo.Úgy tudunk a megfelelő from:
fejléccel küldeni, ha felvilágosítjuk a
sendmail programot, hogy ne az
felhasznalo@otthoni.bsdm címet, hanem a
felhasznalo@szolgaltato.net címet
használja. Sőt, a gyorsítás
kedvéért a sendmail
számára érdemes elárulni, hogy a
relay.szolgaltato.net címen
keresztül küldjön.A munka elvégzéséhez elegendő az
alábbi .mc
állomány:VERSIONID(`otthoni.bsdm.mc 1.0')
OSTYPE(bsd4.4)dnl
FEATURE(nouucp)dnl
MAILER(local)dnl
MAILER(smtp)dnl
Cwlocalhost
Cwotthoni.bsdm
MASQUERADE_AS(`szolgaltato.net')dnl
FEATURE(allmasquerade)dnl
FEATURE(masquerade_envelope)dnl
FEATURE(nocanonify)dnl
FEATURE(nodns)dnl
define(`SMART_HOST', `relay.szolgaltato.net')
Dmotthoni.bsdm
define(`confDOMAIN_NAME',`otthoni.bsdm')dnl
define(`confDELIVERY_MODE',`deferred')dnlAz előző szakaszban találhatjuk meg annak a
módját, hogy miként varázsoljunk
ebből az .mc
állományból egy
sendmail.cf állományt. A
sendmail.cf frissítése
után pedig ne felejtsük el a
sendmail
újraindítását!JamesGorhamÍrta: Az SMTP hitelesítéseLevelező szerverünkön az
SMTP protokoll
hitelesítésének (SMTP
Authentication) engedélyezése több
szempontból is előnyökkel bír. Az
SMTP hitelesítésének
bekapcsolása egy újabb réteget képez a
sendmail védelmében,
és az olyan állandóan mozgásban
levő felhasználók számára is
megoldást nyújt, akik anélkül
képesek használni ugyanazt a levelező szervert,
hogy minden alkalommal újrakonfigurálnák a
levelező kliensüket.Telepítsük fel a security/cyrus-sasl2 portot. A
security/cyrus-sasl2 port
több fordítási idejű
beállítást támogat. Itt most az
SMTP hitelesítését
fogjuk használni, ezért gondoskodjunk a
opció
engedélyezéséről.A security/cyrus-sasl2
telepítés után nyissuk meg
szerkesztésre a
/usr/local/lib/sasl2/Sendmail.conf
állományt (vagy ha még nem
létezne, hozzuk létre), és benne
vegyük fel a következő sort:pwcheck_method: saslauthdEzt követően telepítsük a security/cyrus-sasl2-saslauthd
portot, és tegyük bele az
/etc/rc.conf állományba ezt
a sort:saslauthd_enable="YES"Végezetül indítsuk el a saslauthd
démont:&prompt.root; /usr/local/etc/rc.d/saslauthd startEz a démon fog közvetíteni a
sendmail és a &os;
passwd adatbázisa közti
hitelesítésben. Ezzel elkerülhetjük
az új felhasználói nevek és
jelszavak felvételét az SMTP
hitelesítés használatához,
így a hozzáférések és a
levelezés jelszava ugyanaz marad.Most pedig írjuk hozzá az alábbi
sorokat az /etc/make.conf
állományhoz:SENDMAIL_CFLAGS=-I/usr/local/include/sasl -DSASL
SENDMAIL_LDFLAGS=-L/usr/local/lib
SENDMAIL_LDADD=-lsasl2Ezek a sorok állítják be a
sendmail számára,
hogy fordítás közben a cyrus-sasl2 függvényeit
használja. A sendmail
újrafordítása előtt
mindenképpen legyen fenn a cyrus-sasl2 port.A sendmail
újrafordítását a
következő parancsok
végrehajtásával intézhetjük
el:&prompt.root; cd /usr/src/lib/libsmutil
&prompt.root; make cleandir && make obj && make
&prompt.root; cd /usr/src/lib/libsm
&prompt.root; make cleandir && make obj && make
&prompt.root; cd /usr/src/usr.sbin/sendmail
&prompt.root; make cleandir && make obj && make && make installA sendmail
fordítása esetén semmilyen
problémának nem szabadna előfordulnia,
kivéve ha a /usr/src
könyvtárat és a szükséges
osztott könyvtárakat nem változtatjuk
időközben túlságosan gyakran.A sendmail
lefordítása és
újratelepítése után
szerkesszük át az
/etc/mail/freebsd.mc
állományt (vagy azt az .mc
állományt, amelyet éppen
használunk). Sok rendszergazda a &man.hostname.1;
parancs válaszát használja fel az
.mc típusú
állományok egyedi elnevezéséhez).
Írjuk bele a következő sorokat:dnl set SASL options
TRUST_AUTH_MECH(`GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN')dnl
define(`confAUTH_MECHANISMS', `GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN')dnlEzek állítják be a
sendmail számára a
felhasználók hitelesítésére
alkalmas különböző módszereket. Ha
a pwcheck módszer helyett
valami mást akarunk használni, akkor
járjunk utána a
dokumentációban.Zárásul futassuk le a &man.make.1; parancsot
az /etc/mail könyvtárban.
Így lefut az új .mc
állományunk és létrejön egy
freebsd.cf (vagy amilyen nevet az
.mc állománynak megadtunk)
.cf állomány.
Ezután a make install restart
parancs kiadásával másoltassuk át
ezt a sendmail.cf helyére
és szabályosan indítassuk újra a
sendmail
szolgáltatást. A folyamatról
részletesebb tájékoztatást az
/etc/mail/Makefile állomány
tud nyújtani.Ha eddig minden a legnagyobb rendben történt,
akkor most már képesek vagyunk bejelentkezési
információt is átadni a levelező
kliensnek és elküldeni egy tesztüzenetet. A
hibák kiszűréséhez
állítsuk a sendmail
opcióját az 13
értékre és figyeljük a
/var/log/maillog
állományt.További felvilágosításért
olvassuk el a sendmail
SMTP hitelesítéssel
foglalkozó oldalát (angolul).MarcSilverKészítette: Levelező klienseklevelező kliensekA levelező kliens (Mail User Agent,
MUA) egy olyan alkalmazás, amelyik
elektronikus levelek küldésére és
fogadására használható.
Azonkívül, ahogy az e-mail
fejlődik és egyre bonyolultabbá
válik, a levelező kliensek is egyre inkább
erősebbé válnak abban a tekintetben, ahogy az
e-maileket kezelik. Ezzel együtt a
felhasználók is egyre több
lehetőséget és rugalmasságot kapnak. A
&os; számos levelező klienst támogat,
mindegyikük könnyedén telepíthető a
&os; Portgyűjteménye
segítségével. A felhasználók
választhatnak a grafikus kliensek, mint
például az evolution vagy
a balsa és a konzolos kliensek,
például a mutt,
pine vagy mail
között, esetleg használhatják a nagyobb
szervezetek részéről felkínált
webes felületeket is.mailA &man.mail.1; a &os; alapértelmezett levelező
kliense. Egy olyan konzolos alkalmazás, amelyben
elérhetjük az e-mailek küldéséhez
és fogadásához szükséges
összes alapvető funkciót, habár a
csatolmányokat csak korlátozottan képes
kezelni és csak a helyi postaládákat
kezeli.Annak ellenére, hogy a mail
önmaga nem képes kommunikálni
POP vagy IMAP
szerverekkel, az ilyen postaládák tartalmát
egy fetchmail-szerű
alkalmazással (lásd ) le tudjuk tölteni a
számára is elérhető helyi
mbox állományba.A levelek küldéséhez és
fogadásához egyszerűen hívjuk be a
mail programot a következő
módon:&prompt.user; mailEzután a /var/mail könyvtárban
található felhasználói
postaládánk tartalmát automatikusan
beolvassa a mail segédprogram. Ha a
postaláda üres, akkor a program egyből befejezi
futását és közli, hogy nem
talált levelet. Amikor viszont tudott beolvasni
leveleket, megjelenik egy felület, ahol a beérkezett
üzenetek listáját láthatjuk. Az
üzenetek automatikusan sorszámozódnak, ahogy
ezt az alábbi példa is szemlélteti:Mail version 8.1 6/6/93. Type ? for help.
"/var/mail/marcs": 3 messages 3 new
>N 1 root@localhost Mon Mar 8 14:05 14/510 "proba"
N 2 root@localhost Mon Mar 8 14:05 14/509 "felhasznaloi hozzaferes"
N 3 root@localhost Mon Mar 8 14:05 14/509 "minta"Az üzenetek olvasásának a
t paranccsal kezdhetünk neki, amelyet az
elolvasandó üzenet sorszáma követ.
Ebben a példában az első e-mailt nyitjuk
meg:& t 1
Message 1:
From root@localhost Mon Mar 8 14:05:52 2004
X-Original-To: marcs@localhost
Delivered-To: marcs@localhost
To: marcs@localhost
Subject: proba
Date: Mon, 8 Mar 2004 14:05:52 +0200 (SAST)
From: root@localhost (Charlie Root)
Ezt az uzenetet probabol kuldom, valaszolj ra, ha megkaptad.Ahogy az a fenti példából is
látszik, a t billentyű
hatására az üzenet a teljes
fejlécével együtt jelenik meg. Az
üzenetek listáját a h
billentyűvel hozhatjuk vissza.Ha egy levélre válaszolni szeretnénk,
akkor ezt a mail paranccsal is
megtehetjük, vagy az R vagy az
r parancsokkal. Az R arra
utasítja a mail programot, hogy csak
az üzenet küldőjének válaszoljon,
míg az r hatására nem
csupán a küldő, hanem az üzenet
összes címzettje megkapja a válaszunkat. A
parancshoz hozzátűzhetjük egy levél
sorszámát is, ekkor az adott levélre fogunk
válaszolni. Miután kiadtuk a parancsot,
írjuk meg a válaszunkat és új sorban
kezdve zárjuk le az üzenetet egyetlen
. beírásával. Valahogy
így:& R 1
To: root@localhost
Subject: Re: proba
Koszonom, megkaptam a leveledet.
.
EOTÚj levelet az m
segítségével tudunk küldeni, ami
után meg kell adnunk a címzettet. Egyszerre
több címzettet is meg tudunk adni, ha a
címzett helyén címeiket egy
, karakterrel elválasztva soroljuk fel.
Ezután a levél témája is
megadható, amit végül a levél
szövege követ. Az üzenetet egy új sorban
megadott egyetlen .
segítségével zárhatjuk le.& mail root@localhost
Subject: Elsajatitottam a mail hasznalatat
Most mar en is tudok levelet irni es fogadni a mail hasznalataval... :)
.
EOTAmikor a mail segédprogramban
vagyunk, a ? használatával
bármikor segítséget kérhetünk,
valamint a mail
működésével kapcsolatban a &man.mail.1;
man oldalát érdemes felkeresni.Ahogy azt már korábban is
említettük, a &man.mail.1; parancsot eredetileg
nem készítették fel az csatolt
állományok kezelésére,
ezért igen gyengén bánik velük. Az
újabb levelező kliensek, mint
például a mutt, a
csatolt állományokat sokkal intelligensebb
módon kezelik. Ha viszont ragaszkodunk a
mail használatához, akkor a
converters/mpack port
használatát érdemes megfontolnunk.muttA mutt apró mérete
ellenére egy igen komoly levelező kliens és
remek lehetőségeket ajánl fel. Íme
ízelítésképpen
közülük néhány:Képes az üzeneteket szálakba
rendezniAz e-mailek titkosítására és
elektronikus aláírására
támogatja a PGP használatátMIME támogatásMaildir támogatásNagyfokú testreszabhatóságEzen lehetőségei révén a
mutt ez egyik legfejlettebb
levelező kliens. A mutt
részletesebb bemutatását a címen találjuk
(angolul).A mutt stabil változata a
mail/mutt port
használatával telepíthető fel,
miközben a fejlesztés alatt levő
változatot a mail/mutt-devel port telepíti.
Miután a portot sikerült felraknunk, a
mutt az alábbi parancs
begépelésével indítható
el:&prompt.user; muttA mutt indulása
után automatikusan beolvassa a /var/mail könyvtárban
megtalálható felhasználói
postaládát és ha lehetséges, akkor
megjeleníti a tartalmát. Ha nincsen levél
a felhasználó postaládájában,
akkor a mutt a
felhasználó parancsaira vár. Ezen a
képen a mutt
üzenetlistája látható:A levelek elolvasásához egyszerűen csak
válasszuk ki a kurzorral és nyomjuk meg az
Enter billentyűt. Ezután a
mutt így mutatja a
levelet:Ahogy azt már a &man.mail.1; parancsnál is
megszokhattuk, a mutt is
lehetővé teszi, hogy vagy csak a küldőnek,
vagy pedig rajta kívül még az összes
címzettnek is válaszoljunk. A levél
küldőjének az r
lenyomásával tudunk válaszolni. A
csoportos válaszadáshoz pedig, ahol tehát a
küldőn kívül a címzettek is
megkapják a levelünket, a g
billentyűt kell használni.A mutt az e-mailek
létrehozásához és
megválaszolásához a &man.vi.1;
szövegszerkesztőt használja. Ezt úgy
tudjuk átállítani, ha a
könyvtárunkban található
.muttrc állományban
átírjuk az editor
változót, vagy értéket adunk az
EDITOR környezeti
változónak. A mutt
beállításáról többet a
címen
tudhatunk meg.Egy új levél megírásához
nyomjuk le az m gombot. Miután
elláttuk érvényes témával a
levelet, a mutt elindítja a
&man.vi.1; szövegszerkesztőt és
nekiláthatunk a levél szövegének.
Amint befejeztük, mentsük el és
lépjünk ki a vi
szerkesztőből. Ezután visszakapjuk a
mutt felületét, ahol a
küldendő e-mail összefoglalását
láthatjuk. A levelet végül az
y lenyomásával
küldhetjük el. Erre a következő
képen láthatunk egy példát:A mutt ezenkívül
még rengeteg segítséget is tartalmaz,
amelyet a legtöbb menüből a ?
gomb lenyomásával érhetünk el. A
felső sorban mindig láthatjuk a kiadható
parancsok rövid összefoglalását.pineA pine alapvetően a
kezdő felhasználók számára
íródott, de számos komolyabb
lehetőséget is támogat.A pine szoftverrel kapcsolatban
a múltban már rengeteg távolról
kihasználható sebezhetőség
látott napvilágot, és ennek
köszönhetően a támadók
megfelelően előkészített e-mailek
segítségével tetszőleges
kódot tudnak futtatni a rendszeren levő helyi
felhasználókon keresztül. Noha az
összes ilyen ismert hibát
javították, de a &os; biztonsági tisztje
szerint a pine kódját
biztonság szempontjából annyira hanyag
módon írták, hogy további, eddig
még felfedezetlen sebezhetőségeket is
magában rejt. Ennek megfelelően tehát a
pine használata mindenkinek
csak saját felelősségre javasolt.A pine jelenlegi verziója
a mail/pine4 porton
keresztül telepíthető. A
telepítés lezajlása után a
pine a következő paranccsal
indítható:&prompt.user; pineA pine első futtatása
során egy üdvözlő üzenetet és
egy rövid bemutatkozást jelenít meg, valamint
a pine fejlesztői arra
kérik a felhasználókat, hogy küldjenek
nekik egy névtelen üzenetet, amiből le
tudják szűrni mennyien használják a
kliensüket. A névtelen üzenet
elküldéséhez a Enter
lenyomásával járulhatunk hozzá vagy
az E használatával
enélkül tudunk kilépni a
képernyőről. Ezt az üdvözlő
képernyőt itt láthatjuk:A felhasználó ezután a
főmenübe kerül, ahol a kurzorbillentyűkkel
minden gond nélkül tudunk mozogni. Ebben a
főmenüben a levelek megírására, a
leveleket tároló könyvtárak
tallózására vagy éppen a
címjegyzék karbantartására
gyorsbillentyűket is használhatuk. A
főmenü alatt szerepel az adott menüben
végrehajtható feladatokhoz tartozó
gyorsbillentyűk rövid felsorolása.A pine
alapértelmezés szerint az inbox könyvtárat nyitja
meg. A bennelévő üzenetek
listájának megtekintéséhez nyomjuk a
I gombot vagy válasszuk ki a lentihez
hasonló módon a MESSAGE
INDEX menüpontot:Az üzenetek listájában az adott
könyvtárban található üzenetek
láthatjuk, és köztük a
kurzorbillentyűkkel mozoghatunk. A kiemelt üzenet az
Enter lenyomásával
olvasható el.A lenti képen egy ilyen példa üzenetet
láthatunk a pine programban.
A rendelkezésünkre álló
gyorsbillentyűk ilyenkor is a képernyő
alján megjelennek referenciaként. Ilyen
gyorsbillentyű többek közt az r
gomb, amelynek hatására a klienssel
megválaszolhatjuk a éppen látható
üzenetet.A pine kliensen belül a
pico szövegszerkesztő
segítségével tudunk megválaszolni
egy e-mailt, amely alapból a
pine mellé települ. A
pico megkönnyíti a
navigációt az üzenetekben és sokkal
elnézőbb a kezdő felhasználókkal,
mint például a &man.vi.1; vagy a &man.mail.1;. Ha
befejeztük a választ, az üzenetet a CtrlX
billentyűkombinációval tudjuk elküldeni.
A pine erre
megerősítést fog kérni.A pine alkalmazás a
főmenüből elérhető
SETUP menüpont
meghívásával szabható testre. A
további részleteket a oldalon
találhatjuk (angolul).MarcSilverÍrta: A fetchmail használatafetchmailA fetchmail egy mindentudó
IMAP és POP kliens,
amely lehetővé teszi a felhasználók
számára, hogy automatikusan töltsenek le
leveleket távoli IMAP és
POP szerverekről és
lementsék azokat a helyi postaládáikba.
Így a levelek sokkal könnyebben
elérhetőek. A fetchmail a
mail/fetchmail port
segítségével telepíthető,
és számos lehetőséget ajánl fel,
többek közt:A POP3, APOP,
KPOP, IMAP,
ETRN és az ODMR
protokollok ismerete.Képes SMTP
használatával levelet továbbítani,
és ennek révén a szűrés,
továbbküldés és az álnevek
használata a megszokott módon
működik.Démonként futtatva képes adott
időközönként ellenőrizni a frissen
érkező üzeneteket.Képes egyszerre több postaládát
is kezelni, majd ezek tartalmát a
beállításainak megfelelően
továbbküldeni a különböző
helyi felhasználóknak.Noha a fetchmail összes
lehetőségének aprólékos
bemutatása meghaladná ennek a
leírásnak a kereteit, azért szót
kerítünk néhány alapvető
funkciójára. A fetchmail
segédprogramnak a megfelelő
működéshez egy .fetchmailrc
nevű konfigurációs állományra van
szüksége. Ez az állomány tárolja
a szerverekre vonatkozó, valamint a bejelentkezéshez
szükséges információkat. Az
állomány kényes tartalmára tekintettel
azt javasoljuk, hogy csak a tulajdonosának
engedélyezzük az olvasását:&prompt.user; chmod 600 .fetchmailrcAz alább ismertetésre kerülő
.fetchmailrc állományban azt
láthatjuk, ahogy egyetlen felhasználó
postaládáját érjük el a
POP protokoll használatával.
Arra utasítja a fetchmail
programot, hogy csatlakozzon a levelezes.com címre a
joska felhasználóval és
az XXX jelszóval. Ebben a
példában feltételezzük, hogy a
joska nevű felhasználó
létezik a rendszerünkben is.poll levelezes.com protocol pop3 username "joska" password "XXX"A következő példában több
POP és IMAP
szerverhez csatlakozunk és ahol lehet, több helyi
felhasználónak irányítjuk át a
leveleket:poll levelezes.com proto pop3:
user "joska", with password "XXX", is "jozsi" here;
user "andrea", with password "XXXX";
poll levelezes2.net proto imap:
user "jani", with password "XXXXX", is "hardstuff" here;A fetchmail program a
beállítás
megadásával démonként is
elindítható, amely után meg kell adni
(másodpercekben) azt az időközt, aminek
elteltével a fetchmail
lekérdi a .fetchmailrc
állományban felsorolt szervereket. Az alábbi
példában a fetchmail
600 másodpercenként kéri el a
leveleket:&prompt.user; fetchmail -d 600A fetchmail további
lehetőségeiről és
működéséről a oldalon olvashatunk
(angolul).MarcSilverÍrta: A procmail használataprocmailA procmail segédprogram egy
hihetetlenül erős alkalmazás, mellyel a
beérkező leveleinket tudjuk szűrni. A
felhasználók számára olyan
szabályok megadását teszi
lehetővé, amelyekre aztán a rendszer illeszti a
bejövő leveleket, és az eredménynek
megfelelően elvégez bizonyos feladatokat vagy
átirányítja a levelet más
postaladákba és/vagy e-mail címekre. A
procmail a mail/procmail porttal
telepíthető fel. Miután ez sikerült,
akár közvetlenül be is
építhetjük a legtöbb levelező
kliensbe. Erről az adott levelező kliens
dokumentációjában olvashatunk többet. A
procmail úgy is
integrálható, ha a felvesszük a
következő sort a procmail
szolgáltatára igényt tartó
felhasználó könyvtárában
található .forward
állományba:"|exec /usr/local/bin/procmail || exit 75"A következő szakaszban láthatjuk a
procmail néhány
alapvető szabályát, valamint ezek rövid
leírását. Ezeket a szabályokat a
.procmailrc állományba kell
beleírni, amely szintén a felhasználó
könyvtárában leledzik.Ezen szabályok többsége a
&man.procmailex.5; man oldalon is olvasható.A felhasznalo@levelezes.com címről
érkező leveleket irányítsuk át a
jocim@levelezes2.com külső
címre::0
* ^From.*felhasznalo@levelezes.com
! jocim@levelezes2.comMinden 1000 byte-nál kisebb levelet küldjünk
át a jocim@levelezes2.com
külső címre::0
* < 1000
! jocim@levelezes2.comKüldjük át az összes
masik@levelezes.com címre küldött
levelet a masik
postaládába::0
* ^TOmasik@levelezes.com
masikKüldjük az összes olyan levelet a
/dev/null eszközre, amelyek a
témájában szerepel a Spam
szó::0
^Subject:.*Spam
/dev/nullEgy hasznos szabály, amellyel el tudjuk kapni a &os;.org levelezési
listáiról érkező leveleket és el
tudjuk raktározni ezeket a saját
postaládájukba::0
* ^Sender:.owner-freebsd-\/[^@]+@FreeBSD.ORG
{
LISTNAME=${MATCH}
:0
* LISTNAME??^\/[^@]+
FreeBSD-${MATCH}
}
diff --git a/hu_HU.ISO8859-2/books/handbook/ppp-and-slip/chapter.xml b/hu_HU.ISO8859-2/books/handbook/ppp-and-slip/chapter.xml
index 2d684502b3..880df2df35 100644
--- a/hu_HU.ISO8859-2/books/handbook/ppp-and-slip/chapter.xml
+++ b/hu_HU.ISO8859-2/books/handbook/ppp-and-slip/chapter.xml
@@ -1,4106 +1,4067 @@
JimMockÁtdolgozta, átrendezte és
aktualizálta: A PPP és a SLIPÁttekintésPPPSLIPA &os; számos módon képes
összekötni két
számítógépet. Ha
betárcsázós modemmel akarunk
hálózati vagy internetes kapcsolatot
felépíteni, esetleg azt szeretnénk, hogy
mások képesek legyenek minket ilyen módon
elérni, akkor ahhoz PPP-t, illetve SLIP-et kell
használnunk. Ebben a fejezetben a modemes
kommunikáció beállításait
mutatjuk be részletesebben.A fejezet elolvasása során
megismerjük:hogyan állítsunk be
felhasználói PPP-t;hogyan állítsunk be rendszerszintű
PPP-t (csak &os; 7.X);hogyan állítsunk be egy
PPPoE (PPP over Ethernet, vagyis PPP
Ethernet felett) kapcsolatot;hogyan állítsunk be egy
PPPoA (PPP over ATM, vagyis PPP ATM
felett) kapcsolatot;hogyan állítsunk be SLIP klienst és
szervert (csak &os; 7.X).PPPfelhasználói PPPPPPrendszer PPPPPPEthernet felettA fejezet elolvasásához ajánlott:az alapvető hálózati
technológiák ismerete;a betárcsázós kapcsolatok, a PPP
és/vagy SLIP alapjainak és céljainak
megértése.Talán érdekli a kedves olvasót, hogy mi
az alapvető különbség a
felhasználói és a rendszerszintű PPP
között. A válasz egyszerű: a
felhasználói PPP a beérkező és
kimenő adatokat nem a rendszermagban, hanem a
felhasználói szinten dolgozza fel. Ez
költséges abból a szempontból, hogy
emiatt adatokat kell másolgatni a rendszer és a
felhasználói szint között, azonban egy
sokkal többet tudó PPP implementációnak
ad ezzel utat. A felhasználói PPP a
tun eszközön keresztül
kommunikál a külvilággal, miközben a
rendszermagban található PPP mindezt a
ppp eszközzel
valósítja meg.A fejezetben a felhasználói PPP-t
egyszerűen csak ppp néven
fogjuk hivatkozni, hacsak nem lesz szükséges
különbséget tennünk közte és
más PPP szoftverek, mint például a
pppd között. Ha
mást nem mondunk, akkor a fejezetben ismertetett
összes parancsot root
felhasználóként kell kiadni.TomRhodesFrissítette és javította:
BrianSomersEredetileg készítette: NikClaytonSegített még: DirkFrömbergPeterChildsA felhasználói PPP alkalmazásaA &os; 8.0 változatától
kezdődően a soros portokhoz tartozó
eszközök nevei
/dev/cuadN
helyett
/dev/cuauN,
illetve
/dev/ttydN
helyett
/dev/ttyuN
lettek. A &os; 7.X
felhasználóknak ezeknek a
változásoknak megfelelően kell olvasniuk az
itt szereplő dokumentációt.
A felhasználói PPPElőfeltételekA leírás feltételezi, hogy
rendelkezünk a következőkkel:
- internet-szolgáltató
- PPP
- kapcsolat
-
- Olyan internet-előfizetés, ahol PPP-n
+ Olyan internet-előfizetés, ahol PPP-nPPP kapcsolat
keresztül csatlakozunkEgy modem vagy más olyan
rendszerünkhöz csatlakozó eszköz,
amelyen keresztül el tudjuk érni az
- internet-szolgáltatónkat
+ internet-szolgáltatónkatinternet-szolgáltatóAz internet-előfizetés
betárcsázásához
szükséges telefonszámok
- PAP
- CHAP
- UNIX
- bejelentkezési
- név
- jelszó
-
- A bejelentkezési nevünk és
- jelszavunk. (Vagy a megszokott &unix;-os
+ A bejelentkezési nevünkbejelentkezési név és
+ jelszavunkjelszó. (Vagy a megszokott &unix;-osUNIX
felhasználói név és
- jelszó páros, vagy egy PAP esetleg CHAP
+ jelszó páros, vagy egy PAPPAP esetleg CHAPCHAP
bejelentkezési név és
jelszó.)
- névszerver
-
- Egy vagy több névszerver IP-címe.
+ Egy vagy több névszervernévszerver IP-címe.
Ehhez az internet-szolgáltatók
általában két IP-címet adnak
meg. Ha egyet sem kaptunk, akkor a
ppp.conf állományban
erre a célra használhatjuk az
enable dns parancsot, és ekkor a
ppp majd automatikusan be fogja
állítani nekünk a
névszervereket. Ezt a lehetőséget az
befolyásolja, hogy az
internet-szolgáltató oldalán
működő PPP implementáció
támogatja-e a névfeloldás
egyeztetését (DNS negotiation).A következő információkat is
megkaphatjuk az
internet-előfizetésünkhöz, de nem
feltétlenül szükségesek:Az internet-szolgáltató
átjárójának IP-címe.
Az átjáró az a gép, amelyen
keresztül a gépünk csatlakozik és
számára ez lesz az
alapértelmezett
átjáró. Ha nem
rendelkezünk ezzel az információval,
akkor csak állítsunk be valamit, és
majd a csatlakozáskor a szolgáltató
PPP szervere felülírja a megfelelő
beállításokkal.Erre a címre a pppHISADDR néven hivatkozik.A használandó hálózati
maszk. Amennyiben a szolgáltató ezt nem
adta meg, nyugodtan használjuk erre a 255.255.255.255
értéket.
- statikus
- IP-cím
-
Ha a szolgáltatónk statikus
- IP-címet és rögzített
+ IP-címetstatikus IP-cím és rögzített
hálózati nevet is biztosít
nekünk, ezt is megadhatjuk. Minden más
esetben egyszerűen csak hagyjuk, hogy a rendszer
automatikusan válasszon nekünk egyet.Ha a szükséges információknak
nem vagyunk birtokában, akkor vegyük fel a
kapcsolatot az internet-szolgáltatókkal.Ebben a szakaszban a példákban
szereplő konfigurációs
állományok sorait számozva
láthatjuk. Ezek a sorszámok a
bemutatás és a tárgyalás
megkönnyítése érdekében
szerepelnek, és nem az eredeti
állományok részei. Mindezek mellett a
tabulátorok és szóközök
megfelelő használata is fontos.A PPP automatikus
beállításaPPPbeállításaA ppp és a
pppd (a PPP rendszerszintű
megvalósítása) egyaránt az
/etc/ppp
könyvtárban található
konfigurációs állományokat
használja. A felhasználói PPP-hez
ezenkívül még a
/usr/share/examples/ppp/
könyvtárban vannak példák.A ppp parancs
beállítása az igényeinktől
függően számos állomány
módosítását igényelheti. A
tartalmukat nagyban befolyásolja, hogy a
szolgáltatónk részéről a
címeket kiosztása statikus (vagyis egy adott
címet kapunk és folyamatosan azt
használjuk) esetleg dinamikus (vagyis az
IP-címünk minden egyes
kapcsolódáskor más és
más).PPP statikus IP-címmelPPPstatikus IP-címmelEbben az esetben az
/etc/ppp/ppp.conf
konfigurációs állományt kell
átszerkesztenünk. Tartalma az alábbi
példához hasonlítható.A : karakterrel
végződő sorok mindig az első
oszlopban kezdődnek (tehát a sor
elején), míg az összes többi sort
tabulátorok vagy szóközök
használatával bentebb kell raknunk.1 default:
2 set log Phase Chat LCP IPCP CCP tun command
3 ident user-ppp VERSION (built COMPILATIONDATE)
4 set device /dev/cuau0
5 set speed 115200
6 set dial "ABORT BUSY ABORT NO\\sCARRIER TIMEOUT 5 \
7 \"\" AT OK-AT-OK ATE1Q0 OK \\dATDT\\T TIMEOUT 40 CONNECT"
8 set timeout 180
9 enable dns
10
11 szolgaltato:
12 set phone "(123) 456 7890"
13 set authname ize
14 set authkey mize
15 set login "TIMEOUT 10 \"\" \"\" gin:--gin: \\U word: \\P col: ppp"
16 set timeout 300
17 set ifaddr x.x.x.xy.y.y.y 255.255.255.255 0.0.0.0
18 add default HISADDR1. sor:Ez azonosítja be az alapértelmezett
bejegyzést. Az itt szereplő parancsok a
ppp minden egyes futásakor
magukból végrehajtódnak.2. sor:Beállítja a naplózás
paramétereit. Amikor a
beállításaink már
kifogástalanul működnek, akkor ezt a
sort érdemes átírni a
következőre:set log phase tunEzzel jelentős mértékben vissza
tudjuk fogni a naplózás
mértékét.3. sor:Ezzel mondjuk meg a PPP-nek, hogy a többiek
felé miként azonosítsa
magát. A PPP akkor azonosítja
magát a társak felé, ha
valamilyen gondja akad az egyeztetésekkel
és a kapcsolat
beállításával. Az
így továbbított
információk a másik oldal
rendszergazdái számára
nyújthatnak segítséget az ilyen
jellegű problémák
felderítésében.4. sor:Itt adjuk meg az eszközt, amelyre a modem
csatlakozik. A COM1 neve
/dev/cuau0, a
COM2 neve pedig /dev/cuau1.5. sor:A csatlakozás sebességét
adjuk meg. Ha a 115 200-as érték
itt nem működne (ez egyébként
minden újabb gyártmányú
modem esetében elfogadható), akkor
helyette használjuk a 38400-as
beállítást.6. és 7. sorok:
-
- PPP
- felhasználói PPP
-
-
A híváshoz használt
- karakterlánc. A felhasználói PPP
+ karakterlánc. A felhasználói PPPPPPfelhasználói PPP
a &man.chat.8; programhoz hasonló
küldök-várok
típusú szerkesztést alkalmaz. A
kihasználható
lehetőségekről a man oldalán
olvashatunk részletesebben.Az olvashatóság
kedvéért a parancs a következő
sorban folytatódik. A
ppp.conf
állományban bármelyik parancs,
ahol a \ karakterrel zárjuk
a sort, az ugyanígy folytatható a
következőben.8. sor:A kapcsolathoz tartozó
üresjárati időt állítja
be. Ennek értéke alapból
180 másodperc, így ez a sor
pusztán csak az érthetőséget
szolgálja.9. sor:Arra utasítja a PPP-t, hogy a
többiektől kérdezze le a helyi
névfeloldó
beállításait. Ha saját
névszervert futtatunk, akkor ezt a sort
tegyük inkább megjegyzésbe vagy
töröljük ki.10. sor:Ez az üres sor az
átláthatóság
kedvéért került bele. A PPP az
összes üres sort figyelmen kívül
hagyja.11. sor:Itt kezdődik a szolgaltato
nevű szolgáltatóhoz tartozó
bejegyzés. Ezt később akár
ki is cserélhetjük az
internet-szolgáltatónk nevére,
így a
beállítással tudjuk majd
beindítani a kapcsolatot.12. sor:Beállítjuk a
szolgáltatóhoz tartozó
telefonszámot. A kettőspont
(:) vagy a csővezeték
(|) karakterekkel
elválasztva több telefonszámot is
meg tudunk adni. A &man.ppp.8; oldalon olvashatunk a
két elválasztó közti
különbségekről. Röviden
ezeket úgy foglalhatnánk össze,
hogy ha váltogatni akarunk a számok
között, akkor használjuk a
kettőspontot. Ha mindig az elsőként
megadott számot akarjuk hívni és
a többit csak akkor, ha ez nem működik,
akkor a csővezeték karakterre lesz
szükségünk. Ahogy a példa is
mutatja, az összes telefonszámot
tegyük mindig idézőjelek
közé.Ha a telefonszámban egyébként
is szerepelnek szóközök, akkor is
idézőjelek (")
közé kell tennünk. Ennek
elhagyásával egy egyszerű,
ámde kényes hibát
ejtünk.13. és 14. sor:A felhasználói nevet és
jelszót tartalmazza. Amikor egy &unix;
fajtájú bejelentkezést kapunk,
akkor ezekre az értékekre a set
login parancsban \U és \P
változókkal tudunk hivatkozni. Ha PAP
vagy CHAP használatával
jelentkezünk be, akkor ezek az
értékek a hitelesítéskor
kerülnek felhasználásra.15. sor:
- PAP
- CHAP
-
- Ha a PAP vagy CHAP protokollok valamelyikét
+ Ha a PAPPAP vagy CHAPCHAP protokollok valamelyikét
használjuk, akkor nem lesz
szükségünk a login
változóra, ezért ezt
megjegyzésbe is tehetjük, vagy akár
ki is törölhetjük. A PAP és CHAP
hitelesítésről
szóló részben olvashatjuk ennek
további részleteit.A bejelentkezéshez használt
karakterlánc hasonlít a
behíváshoz használt,
chat-szerű felépítéssel
rendelkező karakterlánchoz. A
példában látható
karakterlánc egy olyan
szolgáltatáshoz illeszkedik, ahol a
bejelentkezés valahogy így néz
ki:A Világ Legjobb Szolgáltatója
login: izé
password: mizé
protocol: pppEzt a szkriptet alakítsuk a saját
igényeinkhez. Ha először
próbálkozunk ilyen szkript
írásával, akkor lehetőleg
kapcsoljuk be a rendszerek között
lezajló
beszélgetés
naplózását, hogy ellenőrizni
tudjuk minden a megfelelően módon
történik-e.16. sor:
- időkorlát
-
Beállítjuk a kapcsolathoz
tartozó alapértelmezett
- időkorlátot (másodpercben). Itt a
+ időkorlátotidőkorlát (másodpercben). Itt a
kapcsolat automatikusan lezárul
300 másodperc tétlenséget
követően. Ha nem akarunk ilyen
korlátot szabni, akkor ezt az
értéket állítsuk
nullára vagy használjuk a
paranccsori
kapcsolót.17. sor:
- internet-szolgáltató
-
A felülethez tartozó címeket
állítja be. A
x.x.x.x helyére a
- szolgáltató által kiosztott
+ szolgáltatóinternet-szolgáltató által kiosztott
IP-címet kell beírnunk. A
y.y.y.y helyett pedig a
szolgáltató
átjárója kerül be
(lényegében az a gép, amelyhez
csatlakozunk). Amennyiben az
internet-szolgáltatónk nem adott meg
semmilyen átjárót, erre a
célra a 10.0.0.2/0 címet is
használhatjuk. Amikor nekünk kell
kitalálnunk ezeket a címeket,
akkor ne felejtsünk el létrehozni
hozzájuk egy bejegyzést az
/etc/ppp/ppp.linkup
állományban a PPP dinamikus
IP-címmel szakaszban szereplőek
szerint. Ha nem adjuk meg ezt a sort, akkor a
ppp parancs nem képes
módban
működni.18. sor:A szolgáltató
átjárójához felvesz egy
alapértelmezett útvonalat. A
HISADDR kulcsszót a 17.
sorban megadott átjáró
címével helyettesítjük.
Ezért fontos, hogy ez a 17. sor után
szerepeljen, különben a
HISADDR nem lesz képes
inicializálódni.Ha a ppp parancsot nem akarjuk
módban futtatni, akkor ezt
a sort a ppp.linkup
állományba is átrakhatjuk.Ha statikus IP-címmel rendelkezünk és
a ppp
módban fut, akkor a ppp.linkup
állományba egészen addig nem kell
semmit sem írnunk, amíg a csatlakozás
előtt az útválasztási
táblázatokban a megfelelő adatok
találhatóak. Olyankor is jól
jöhet, amikor a csatlakozást követően
meg akarunk hívni bizonyos programokat. Ezt majd a
sendmailes példában
fogjuk bővebben kifejteni.Erre példákat a
/usr/share/examples/ppp/
könyvtárban találhatunk.PPP dinamikus IP-címmelPPPdinamikus IP-címmelIPCPHa az internet-szolgáltatónktól nem
kaptunk statikus IP-címet, akkor a
ppp paranccsal is be tudjuk
állítani a helyi és távoli
címeket. Ez az IP-címek
kitalálásával
történik, valamint úgy, hogy a
ppp számára a
csatlakozás után lehetővé
tesszük az IP konfigurációs protocol (IP
Configuration Protocol, IPCP) használatát. A
ppp.conf tartalma szinte teljesen
megegyezik a PPP statikus
IP-címmel részben szereplővel,
egyetlen apró különbséggel:17 set ifaddr 10.0.0.1/0 10.0.0.2/0 255.255.255.255Ismét szeretnénk elmondani, hogy a
sorszámot ne írjuk bele, hiszen az csak
hivatkozási céllal szerepel. Legalább
egy szóközzel kezdjünk bentebb.17. sor:A / után megjelenő
szám azoknak a biteknek a számát
adja meg, amire a ppp támaszkodik. A
környezetünknek jobban megfelelő
IP-címeket is megadhatunk, de a fenti
példa minden esetben működni
fog.Az utolsó paraméterrel
(0.0.0.0) azt mondjuk a PPP-nek,
hogy az egyeztetést ne a 10.0.0.1, hanem a 0.0.0.0 címmel kezdje
meg, amire egyes szolgáltatók
esetén szükségünk is lesz. A
set ifaddr első
paramétereként azonban soha ne adjuk meg
a 0.0.0.0 címet, mivel ezzel
a PPP módban nem tudja
beállítani a kezdeti
útvonalat.Ha nem módban
indítjuk, akkor az
/etc/ppp/ppp.linkup
állományban meg kell adnunk még egy
bejegyzést is. A ppp.linkup
állományt a kapcsolat létrejötte
után dolgozzuk fel. Itt már a
ppp megkapta a felülethez
tartozó címeket, így az
útválasztási táblázatba
fel tudjuk venni hozzájuk a megfelelő
bejegyzéseket:1 szolgaltato:
2 add default HISADDR1. sor:A kapcsolat felépítése
során a ppp a
ppp.linkup
állományban a következő
szabályok szerint fogja keresni a
bejegyzéseket: először a
ppp.conf
állományban megadott
címkét próbálja
megtalálni. Ha ez nem sikerül, akkor az
átjárónknak megfelelő
bejegyzést kezdi el keresni. Ez egy
négy byte-ból álló,
felírásában az IP-címekhez
hasonlító címke. Ha még
ez a címke sem található, akkor a
MYADDR bejegyzést
keresi.2. sor:Ez a sor mondja meg a ppp
programnak, hogy vegyen fel egy
HISADDR címre
vonatkozó alapértelmezett
útvonalat. A HISADDR
címet az IPCP által egyeztetett
átjáró IP-címére
cseréljük ki.Ha erre a részletesebb példát
akarunk látni, akkor a
/usr/share/examples/ppp/ppp.conf.sample
és
/usr/share/examples/ppp/ppp.linkup.sample
állományokban a pmdemand
bejegyzést nézzük meg.A bejövő hívások
fogadásaPPPbejövő hívások
fogadásaAmikor egy helyi hálózathoz
csatlakozó gépen akarjuk a
ppp programot
beállítani a bejövő
hívások fogadására, akkor azt is
el kell döntenünk, hogy
engedélyezzük-e a csomagok
továbbküldését a belső
hálózat felé. Amennyiben igen, akkor a
becsatlakozó gépenek a belső
hálózatunkon ki kell osztani egy
külön címet és az
/etc/ppp/ppp.conf
állományban, és meg kell adnunk az
enable proxy parancsot. Emellett
még az /etc/rc.conf
állományban se feleljtsük el megadni a
következő sort:gateway_enable="YES"Melyik getty?A &os;
beállítása
betárcsázós kapcsolatokhoz
nagyon jól bemutatja a
betárcsázós
szolgáltatások
beállítását a &man.getty.8;
segítségével.A getty helyett
egyébként az mgetty, a getty egy ügyesebb
változata is használható (a comms/mgetty+sendfax
portból), amely kifejezetten a
betárcsázós vonalakhoz
készült.A mgetty használatának
többek közt az egyik előnye, hogy
aktívan tartja a kapcsolatot a
modemekkel, tehát hogy ha az
/etc/ttys állományban
letiltjuk a modemet, akkor nem is fog válaszolni a
hívásokra.Emellett az mgetty
későbbi változatai (a 0.99 beta
változatától kezdve) még a PPP
folyamok automatikus észlelését is
támogatják, ezáltal a kliensek
szkriptek nélkül is képesek elérni
a szerverünket.Ha erről többet akarunk megtudni, akkor az
mgetty paranccsal kapcsolatban olvassuk
el Az mgetty és az
AutoPPP című szakaszt.A PPP
engedélyeiA ppp parancsot
általában root
felhasználóként kell futtatni. Ha
viszont a ppp parancsot tetszőleges
felhasználóval akarjuk szerver módban
futtatni az iméntiek szerint, akkor ahhoz fel kell
vennünk az /etc/group
állományban szereplő
network csoportba.Ezeken kívül még az
allow paranccsal is
engedélyeznünk kell konfigurációs
állomány egy vagy több
részének elérését
is:allow users fred maryHa ezt a parancsot a default
bejegyzésnél adjuk meg, akkor az így
megadott felhasználók mindenhez hozzá
tudnak férni.PPP shellek a dinamikus IP-címek
használóinakPPP shellekHozzunk létre egy
/etc/ppp/ppp-shell nevű
állományt, amelyben a következők
szerepelnek:#!/bin/sh
IDENT=`echo $0 | sed -e 's/^.*-\(.*\)$/\1/'`
CALLEDAS="$IDENT"
TTY=`tty`
if [ x$IDENT = xdialup ]; then
IDENT=`basename $TTY`
fi
echo "PPP for $CALLEDAS on $TTY"
echo "Starting PPP for $IDENT"
exec /usr/sbin/ppp -direct $IDENTEz a szkript legyen végrehajtható.
Ezután az alábbi paranccsal
ppp-dialup néven
készítsünk egy szimbolikus linket erre a
szkriptre:&prompt.root; ln -s ppp-shell /etc/ppp/ppp-dialupEz a szkript lesz az összes
betárcsázó felhasználónk
shellje. A most következő
példa az /etc/passwd
állományban szereplő,
pchilds nevű PPP
felhasználó bejegyzését mutatja
be (ne felejtsük el, hogy soha ne közvetlenül
szerkesszük a jelszavakat tároló
állományt, hanem a &man.vipw.8;
segítségével).pchilds:*:1011:300:Peter Childs PPP:/home/ppp:/etc/ppp/ppp-dialupHozzunk létre egy /home/ppp nevű
könyvtárat a következő bárki
által olvasható 0 byte-os
állományokkal:-r--r--r-- 1 root wheel 0 May 27 02:23 .hushlogin
-r--r--r-- 1 root wheel 0 May 27 02:22 .rhostsEzek hatására az
/etc/motd állomány
tartalma nem jelenik meg.PPP shellek a statikus IP-címek
használóinakPPP shellekAz iméntiekhez hasonló módon
készítsük el a
ppp-shell állományt,
és mindegyik statikus IP-vel rendelkező
hozzáféréshez csináljunk egy
szimbolikus linket a ppp-shell
szkriptre.Például, ha három
betárcsázós ügyfelünk van,
fred, sam
és mary, feléjük
24 bites CIDR hálózatokat
közvetítünk, akkor a következőket
kell begépelnünk:&prompt.root; ln -s /etc/ppp/ppp-shell /etc/ppp/ppp-fred
&prompt.root; ln -s /etc/ppp/ppp-shell /etc/ppp/ppp-sam
&prompt.root; ln -s /etc/ppp/ppp-shell /etc/ppp/ppp-maryA fentebb szereplő betárcsázós
felhasználók eléréseihez
tartozó shelleket állítsuk be az itt
létrehozott szimbolikus linkekre (így
tehát mary shellje az
/etc/ppp/ppp-mary lesz).A ppp.conf
beállítása a dinamikus IP-címek
használóinakAz /etc/ppp/ppp.conf
állományban a következő sorok
valamelyikének kellene szerepelnie:default:
set debug phase lcp chat
set timeout 0
ttyu0:
set ifaddr 203.14.100.1 203.14.100.20 255.255.255.255
enable proxy
ttyu1:
set ifaddr 203.14.100.1 203.14.100.21 255.255.255.255
enable proxyA bentebb kezdett sorokat mi is kezdjünk
bentebb.A default: szakasz minden kapcsolat
esetén betöltődik. Az
/etc/ttys állományban
engedélyezett mindegyik
betárcsázós vonal létrehoz a
fenti ttyu0: szakaszhoz hasonló
bejegyzést. Minden vonal kap egy egyedi
IP-címet a dinamikus felhasználók
számára szánt
címtartományból.A ppp.conf
beállítása a statikus IP-vel
rendelkezők számáraA /usr/share/examples/ppp/ppp.conf
állományban szereplő tartalom mellett az
összes statikus kiosztású
IP-címmel rendelkező
betárcsázó felhasználóhoz
még hozzá kell tennünk egy szakaszt. A
példánkban ezek továbbra is
fred, sam
és mary.fred:
set ifaddr 203.14.100.1 203.14.101.1 255.255.255.255
sam:
set ifaddr 203.14.100.1 203.14.102.1 255.255.255.255
mary:
set ifaddr 203.14.100.1 203.14.103.1 255.255.255.255Amennyiben szükséges, az
/etc/ppp/ppp.linkup tartalmazhat
további útválasztási
információkat is az egyes statikus
IP-címmel rendelkező
felhasználókhoz. A lentebb bemutatott sor a
kliens ppp összekötettésén
keresztül vesz fel egy útvonalat a 203.14.101.0/24 hálózat
felé.fred:
add 203.14.101.0 netmask 255.255.255.0 HISADDR
sam:
add 203.14.102.0 netmask 255.255.255.0 HISADDR
mary:
add 203.14.103.0 netmask 255.255.255.0 HISADDRAz mgetty és az
AutoPPPmgettyAutoPPPLCPAz comms/mgetty+sendfax port
alapértelmezés szerint az
AUTO_PPP
beállítással érkezik, amely
lehetővé teszi, hogy az
mgetty képessé legyen a PPP
kapcsolatok LCP fázisát észlelni
és magától létrehozni
hozzá egy ppp shellt. Mivel az
alapértelmezett név/jelszó páros
azonban ilyenkor nem jelenik meg, a
felhasználókat a PAP vagy a CHAP protokollon
keresztül lehet hitelesíteni.Ez a szakasz most feltételezi, hogy a sikeresen
beállítottuk, lefordítottuk és
telepítettük az comms/mgetty+sendfax
portot.Az
/usr/local/etc/mgetty+sendfax/login.config
állományban ne felejtsük
ellenőrizni, hogy szerepel a
következő:/AutoPPP/ - - /etc/ppp/ppp-pap-dialupEzzel utasítjuk az mgetty
programot arra, hogy az észlelt PPP kapcsolatokhoz
futtassa le a ppp-pap-dialup
szkriptet.Hozzunk létre az
/etc/ppp/ppp-pap-dialup nevű
állományt, amelyben majd a
következők fognak szerepelni (az
állomány legyen
végrehajtható):#!/bin/sh
exec /usr/sbin/ppp -direct pap$IDENTAz /etc/ttys
állományban engedélyezett összes
betárcsázós vonalhoz
készítsük el a megfelelő
bejegyzést az /etc/ppp/ppp.conf
állományban. Ezek remekül meg fognak
férni az imént készített
definíciókkal.pap:
enable pap
set ifaddr 203.14.100.1 203.14.100.20-203.14.100.40
enable proxyMinden olyan felhasználónak, aki ezzel a
módszerrel jelentkezik be, szüksége lesz
egy név/jelszó kombinációra az
/etc/ppp/ppp.secret
állományban, vagy az alábbi
beállítás megadásával
választhatjuk azt is, hogy a
felhasználókat az
/etc/passwd állományon
keresztül a PAP protokoll
segítségével azonosítjuk.enable passwdauthHa statikus IP-címet akarunk kiosztani
némely felhasználóknak, akkor az
/etc/ppp/ppp.secret
állományban ezt megadhatjuk a harmadik
paraméternek. Erről bővebben a
/usr/share/examples/ppp/ppp.secret.sample
állományban láthatunk
példát.A Microsoft kiterjesztéseiDNSNetBIOSPPPMicrosoft kiterjesztésekA PPP úgy is beállítható,
hogy kérésre DNS és NetBIOS
típusú névfeloldáshoz is
szolgáltasson információkat.A PPP 1.x változatával úgy lehet
engedélyezni ezeket a kiterjesztéseket, ha az
/etc/ppp/ppp.conf
állomány megfelelő részeibe
felvesszük a következő sorokat:enable msext
set ns 203.14.100.1 203.14.100.2
set nbns 203.14.100.5A PPP második és későbbi
változataiban pedig:accept dns
set dns 203.14.100.1 203.14.100.2
set nbns 203.14.100.5Ezzel a kliens megkapja az elsődleges és
másodlagos névszerverek címeit,
valamint a NetBIOS névszervert.Ha a második és az azt követő
verziókban a set dns sort
elhagyjuk, akkor a PPP az
/etc/resolv.conf
állományban található
értékeket fogja használni.A PAP és CHAP hitelesítésPAPCHAPEgyes internet-szolgáltatók úgy
állítják be a rendszerüket, hogy a
kapcsolat felépítése során a
hitelesítés a PAP vagy CHAP mechanizmusok
valamelyikével történik. Ilyenkor a
szolgáltató nem egy login:
sorral fogja bekérni a szükséges
adatokat, hanem közvetlenül a PPP kapcsolatot
kezdi el használni.A PAP nem olyan biztonságos, mint a CHAP, de itt
a biztonság nem is annyira fontos, mivel a jelszavak,
amelyeket ugyan a PAP titkosítatlan formában
küld tovább, csak egy soros vonalon haladnak
át. A rossz indulatú támadók
itt nem sok mindent tudnak
lehallgatni.A PPP statikus
IP-címmel és a PPP dinamikus IP
címmel című szakaszokhoz
képest a következő
módosításokat kell
elvégeznünk:13 set authname AFelhasználóiNevem
14 set authkey AJelszavam
15 set login13. sor:Ebben a sorban adjuk meg a PAP/CHAP
felhasználói nevünket, amelyet
AFelhasználóiNevem
helyett kell beírni.14. sor:
- jelszó
-
- Ebben a sorban adjuk meg a PAP/CHAP jelszavunkat,
+ Ebben a sorban adjuk meg a PAP/CHAP jelszavunkatjelszó,
AJelszavam helyett.
Szándénkunk
egyértelműsítése
érdekében ezek mellett még egy
további sort is érdemes felvennünk,
tehát:16 accept PAPvagy16 accept CHAPAlapértelmezés szerint a PAP
és CHAP is egyaránt elfogadott.15. sor:A PAP és CHAP alkalmazásakor
általában nem is kell
bejelentkeznünk a szolgáltató
szerverére. Ezért a set
login parancsnál használt
karakterláncot le is kell tiltanunk.A ppp
beállításainak
megváltoztatása menet közbenA háttérben futó
ppp programhoz menet közben is
tudunk beszélni, de csak olyankor, amikor az ehhez
szükséges portot megadtuk. Ezt úgy
tudjuk megtenni, ha beállítások
közé felvesszük az alábbit:set server /var/run/ppp-tun%d DiagnosticPassword 0177Így a PPP az előre megadott &unix;
tartománybeli socketen keresztül fogja
várni a kapcsolódásunkat, és a
konkrét hozzáféréshez
jelszót kér. A névben szereplő
%d a használatban levő
tun eszköz
sorszámát jelöli.Miután a csatlakozás
beállítódott, a szkriptekben a
&man.pppctl.8; program használható a
futó program
vezérléséhez.A PPP hálózati
címfordítási
képességének
kihasználásaPPPNATA PPP képes a rendszermag
rásegítése nélkül
képes hálózati
címfordítást végezni. Ezt a
lehetőséget a következő sor
hozzáadásával tudjuk aktiválni az
/etc/ppp/ppp.conf
állományban:nat enable yesA PPP-be épített hálózati
címfordítás a -nat
parancssori paraméterrel is bekapcsolható. Az
/etc/rc.conf állományban is
található hozzá egy
ppp_nat változó, amely
alapértelmezés szerint
engedélyezett.Amikor használjuk ezt a lehetőséget, az
/etc/ppp/ppp.conf
állományban a következő
opciókkal engedélyezhetjük a
bejövő kapcsolatok
továbbítását:nat port tcp 10.0.0.2:ftp ftp
nat port tcp 10.0.0.2:http httpvagy egyáltalán ne bízzunk meg a
külvilágban:nat deny_incoming yesA rendszer végső
beállításaPPPbeállításaMostanra ugyan már beállítottuk a
ppp programot, azonban még
néhány dolgot be kell állítanunk,
mielőtt ténylegesen nekilátnánk
használni. Ezek mindegyike az
/etc/rc.conf állomány
módosítását igényli.Az állományt fentről lefelé
fogjuk feldolgozni, de előtte ne felejtsünk el
értéket adni a hostname=
változónak, például:hostname="ize.minta.com"Amennyiben a szolgáltatónk statikus
IP-címet és nevet biztosít
számunkra, az lesz a legjobb, ha itt a tőle kapott
nevet adjuk meg.Keressük meg a network_interfaces
változót. Ha a rendszerünkben
kérésre akarjuk tárcsázni a
szolgáltatónkat, akkor a
tun0 eszközt mindenképpen
vegyük fel az értékébe, minden
más esetben pedig távolítsuk el.network_interfaces="lo0 tun0"
ifconfig_tun0=Az ifconfig_tun0
változónak üres értéket
kell megadnunk, és létre kell hoznunk egy
/etc/start_if.tun0 nevű
állományt. Ebben a következő sornak
kell szerepelnie:ppp -auto arendszeremEz a szkript a hálózat
beállításakor fut le, és a ppp
démont automatikus módban indítja el.
Ha az adott gép egy helyi hálózat
átjárója is egyben, akkor az
kapcsolót is érdemes
megadnunk mellette. A pontosabb részletek
tekintetében olvassuk el a megfelelő man
oldalt.Az /etc/rc.conf
állományban a NO
érték megadásával tiltsuk le az
útválasztást végző program
használatát:router_enable="NO"routedFontos, hogy a routed démon ne
induljon el, mivel routed hajlamos
törölni a ppp által
létrehozott alapértelmezett
útválasztási bejegyzéseket.Ezenkívül még a
sendmail_flags
változóról szóló
sorból is érdemes kivenni a
opciót, máskülönben a
sendmail minden művelet
megkezdése előtt nekiáll felderíteni
a hálózatot, és ezzel megindítja a
tárcsázást. Próbáljuk meg
így átírni az
értékét:sendmail_flags="-bd"sendmailEzért cserébe viszont a
sendmail programot a ppp kapcsolat
létrejöttekor mindig utasítanunk kell, hogy
újból ellenőrizze a levelezési sort.
Ezt a következők begépelésével
érhetjük el:&prompt.root; /usr/sbin/sendmail -qUgyanezt automatikusan is meg tudjuk tenni a
!bg paranccsal a
ppp.linkup
állományban:1 szolgaltato:
2 delete ALL
3 add 0 0 HISADDR
4 !bg sendmail -bd -q30mSMTPHa nem felelne meg ez a megoldás, akkor egy
dfilter is beállítható az
SMTP forgalom szűrésére. A
példák között megtaláljuk ennek
pontos minkéntjét.Ezután már csak a gépünk
újraindítása maradt hátra. Az
újraindítás után már be is
gépelhetjük:&prompt.root; pppahol a dial szolgaltato parancs
kiadásával meg tudjuk kezdeni a PPP kapcsolat
felépítését, vagy a
ppp programot megkérhetjük
arra, hogy automatikusan kezdje el, amint van kimenő
forgalom (és nem készítettük el a
start_if.tun0 szkriptet). Ekkor
gépeljük be ezt:&prompt.root; ppp -auto szolgaltatoÖsszefoglalásGyorsan foglaljuk össze, hogy az ppp
beállításához milyen
lépések megtétele szükséges
az első alkalommal:A kliens oldalán:Győződjünk meg róla, hogy a
tun eszköz benne van a
rendszermagban.Ellenőrizzük, hogy a
tunN
eszközhöz tartozó állomány
rendelkezésre áll a
/dev
könyvtárban.Hozzunk létre egy bejegyzést az
/etc/ppp/ppp.conf
állományban. A
pmdemand
példából a legtöbb
szolgáltató esetében ki tudunk
indulni.Ha dinamikus IP-címet kapunk, akkor az
/etc/ppp/ppp.linkup
állományba is vegyünk fel egy
bejegyzést.Frissítsük az
/etc/rc.conf
állományunkat.Ha igény szerint akarunk
tárcsázni, akkor hozzunk létre
start_if.tun0 néven egy
szkriptet.A szerver oldalán:Gondoskodjunk róla, hogy a
tun eszköz
támogatása szerepel rendszermagban.Győződjünk meg róla, hogy a
tunN
eszköz megtalálható a /dev
könyvtárban.Az /etc/passwd
állományban (a &man.vipw.8; program
használatával) hozzunk létre
bejegyzéseket.A felhasználók könyvtáraiban
hozzunk létre egy olyan profilt, amely ppp
-direct direct-server vagy egy ehhez
hasonló parancsot futtat le.Az /etc/ppp/ppp.conf
állományban adjuk meg egy bejegyzést.
A direct-server példa ehhez
egy remek alapot biztosít.Az /etc/ppp/ppp.linkup
állományban hozzunk létre egy
bejegyzést.Frissítsük az
/etc/rc.conf
állományunkat.Gennady B.SorokopudEgyes részeit készítette:
RobertHuffA rendszerszintű PPP alkalmazásaEz a szakasz csak &os; 7.X
esetén érvényes.A rendszerszintű PPP
beállításaPPPrendszer PPPMielőtt a gépünkön nekikezdünk a
PPP beállításának,
ellenőrizzük, hogy a pppd
megtalálható a /usr/sbin könyvtárban
és az /etc/ppp
könyvtár létezik.A pppd két módban
képes működni:kliensként — a
gépünket soros vonali vagy modemes PPP
kapcsolaton keresztül csatlakoztatjuk a
külvilághoz
-
- PPP
- szerver
-
-
szerverként — a
számítógépünk egy
hálózat része, ahol a többieket a
- PPP használatával kapcsoljuk össze
+ PPPPPPszerver használatával kapcsoljuk össze
Mind a két esetben egy konfigurációs
állomány tartalmát kell
összeállítanunk (ez az
/etc/ppp/options vagy a
~/.ppprc, ha a gépünkön
több felhasználó is PPP-t akar
használni).Egy modemes vagy soros vonali szoftverre is
szükségünk lesz (ez többnyire a comms/kermit), amellyel távoli
gépeket tudunk felhívni és
feléjük kapcsolatot felépíteni.TrevRoydhouseAz alapjául szolgáló
információkat adta: A pppd mint kliensPPPkliensCiscoA most következő
/etc/ppp/options állománnyal
egy Cisco terminál szerverhez tudunk kapcsolódni
egy PPP vonalon keresztül.crtscts # a hardveres forgalomirányítás engedélyezése
modem # modem vezérlővonal
noipdefault # a távoli PPP szervernek kell IP-címet adnia
# ha az IPCP alapú egyeztetés során a távoli gép nem küld
# nekünk IP-címet, akkor vegyük ki ezt a beállítást
passive # LCP csomagokat várunk
domain ppp.ize.com # ide írjuk be a hálózati nevünket
:távoli_ip # ide kell írni a távoli PPP szerver IP-címét
# a PPP kapcsolaton keresztül erre fogjuk továbbküldeni a csomagokat
# ha nem adtuk meg "noipdefault" beállítást, akkor ezt a sort
# írjuk át helyi_ip:távoli_ip alakúra
defaultroute # adjuk meg ezt a sort is, ha a PPP szerverünket egyben az
# alapértelmezett átjárónak is be akarjuk állítaniÍgy kapcsolódunk:KermitmodemTárcsázzuk a távoli gépet a
Kermit (vagy bármilyen
más modemes program)
elindításával, majd adjuk meg a
felhasználói nevünket és
jelszavunkat (vagy bármi mást, amivel a
távoli gépen engedélyezni tudjuk a PPP
használatát).Lépjünk ki a
Kermit programból
(anélkül, hogy bontanánk a
vonalat).Írjuk be a következőket:&prompt.root; /usr/sbin/pppd /dev/tty0119200Ne felejtsük el megadni a megfelelő
sebességet és eszközt.A számítógépünk most
már PPP-n keresztül csatlakozik. Ha valamilyen
okból nem sikerülne felépíteni a
kapcsolatot, akkor vegyük fel a
beállítást is az
/etc/ppp/options állományba,
majd a konzolra érkező üzenetek
segítségével próbáljuk meg
felderíteni a probléma okát.Az alábbi /etc/ppp/pppup szkript
mind a három fázist automatikussá
teszi:#!/bin/sh
pgrep -l pppd
pid=`pgrep pppd`
if [ "X${pid}" != "X" ] ; then
echo 'killing pppd, PID=' ${pid}
kill ${pid}
fi
pgrep -l kermit
pid=`pgrep kermit`
if [ "X${pid}" != "X" ] ; then
echo 'killing kermit, PID=' ${pid}
kill -9 ${pid}
fi
ifconfig ppp0 down
ifconfig ppp0 delete
kermit -y /etc/ppp/kermit.dial
pppd /dev/tty01 19200KermitAz /etc/ppp/kermit.dial egy olyan
Kermit szkript, amivel
tárcsázni tudunk és a távoli
gépen elvégezni az összes
szükséges hitelesítést (a
leírás végén találhatunk is
egy ilyen szkriptet példaként).Az alábbi /etc/ppp/pppdown
szkripttel tudjuk bontani a PPP vonalat:#!/bin/sh
pid=`pgrep pppd`
if [ X${pid} != "X" ] ; then
echo 'killing pppd, PID=' ${pid}
kill -TERM ${pid}
fi
pgrep -l kermit
pid=`pgrep kermit`
if [ "X${pid}" != "X" ] ; then
echo 'killing kermit, PID=' ${pid}
kill -9 ${pid}
fi
/sbin/ifconfig ppp0 down
/sbin/ifconfig ppp0 delete
kermit -y /etc/ppp/kermit.hup
/etc/ppp/ppptestA /usr/etc/ppp/ppptest
elindításával ellenőrizni tudjuk, hogy
a pppd még mindig fut. Ez valahogy
így néz ki:#!/bin/sh
pid=`pgrep pppd`
if [ X${pid} != "X" ] ; then
echo 'pppd running: PID=' ${pid-NONE}
else
echo 'No pppd running.'
fi
set -x
netstat -n -I ppp0
ifconfig ppp0A vonal bontásához az
/etc/ppp/kermit.hup szkriptet kell
elindítanunk, amiben a következő
szerepelnek:set line /dev/tty01 ; ide írjuk be a saját modemünket
set speed 19200
set file type binary
set file names literal
set win 8
set rec pack 1024
set send pack 1024
set block 3
set term bytesize 8
set command bytesize 8
set flow none
pau 1
out +++
inp 5 OK
out ATH0\13
echo \13
exitA kermit helyett a
chat programot is
használhatjuk:A következő két állomány
már elég egy kapcsolat
létrehozásához pppd
használatával:/etc/ppp/options:/dev/cuad1 115200
crtscts # a hardveres forgalomirányítás engedélyezése
modem # modemes vezérlővonal
connect "/usr/bin/chat -f /etc/ppp/login.chat.script"
noipdefault # a távoli PPP kiszolgálónak adnia kell egy IP-címet
# ha a távoli gép nem küldi az IP-címünk az IPCP alapú egyeztetés során
# akkor távolítsuk el ezt a beállítást
passive # LCP csomagokat várunk
domain sajat.tartomany # ide írjuk be a saját tartománynevünket
: # a távoli PPP kiszolgáló IP-címét tegyük ide
# ezen keresztül fogjuk továbbküldeni a PPP kapcsolaton áthaladó csomagokat
# nem adtuk meg a "noipdefault" beállítást, akkor ezt
# sort írjuk át helyi_ip:távoli_ip alakúra
defaultroute # ez a sor akkor kell, ha a PPP szerver lesz az
# alapértelmezett átjárónk is/etc/ppp/login.chat.script:A most következőt egyetlen sorba kell
írnunk.ABORT BUSY ABORT 'NO CARRIER' "" AT OK ATDTtelefon.szám
CONNECT "" TIMEOUT 10 ogin:-\\r-ogin: bejelentkezési-azonosító
TIMEOUT 5 sword: jelszóMiután ezeket telepítettük és a
megfelelőképpen módosítottuk,
már csak a pppd parancsot kell
kiadnunk, valahogy így:&prompt.root; pppdA pppd mint szerverAz /etc/ppp/options
állományban nagyjából a
következőknek kell szerepelnie:crtscts # hardveres forgalomirányítás
netmask 255.255.255.0 # hálózati maszk (nem kötelező)
192.114.208.20:192.114.208.165 # a helyi és távoli gépek IP-címei
# a helyi IP-nek el kell térnie az Ethernet
# (vagy más egyéb) felülethez tartozó címtől.
# a távoli IP a távoli géphez rendelt IP-cím
domain ppp.ize.com # a saját tartományunk
passive # az LCP csomagok várása
modem # modemes vonalAz alábbi /etc/ppp/pppserv
szkript a pppd démont
szervernek állítja be:#!/bin/sh
pgrep -l pppd
pid=`pgrep pppd`
if [ "X${pid}" != "X" ] ; then
echo 'killing pppd, PID=' ${pid}
kill ${pid}
fi
pgrep -l kermit
pid=`pgrep kermit`
if [ "X${pid}" != "X" ] ; then
echo 'killing kermit, PID=' ${pid}
kill -9 ${pid}
fi
# reset ppp interface
ifconfig ppp0 down
ifconfig ppp0 delete
# enable autoanswer mode
kermit -y /etc/ppp/kermit.ans
# run ppp
pppd /dev/tty01 19200A szerver leállítására a
következő /etc/ppp/pppservdown
szkriptet kell használnunk:#!/bin/sh
pgrep -l pppd
pid=`pgrep pppd`
if [ "X${pid}" != "X" ] ; then
echo 'killing pppd, PID=' ${pid}
kill ${pid}
fi
pgrep -l kermit
pid=`pgrep kermit`
if [ "X${pid}" != "X" ] ; then
echo 'killing kermit, PID=' ${pid}
kill -9 ${pid}
fi
ifconfig ppp0 down
ifconfig ppp0 delete
kermit -y /etc/ppp/kermit.noansA következő Kermit
szkript (/etc/ppp/kermit.ans)
engedélyezi vagy tiltja le a modem automatikus
válaszadását. Körülbelül
így épül fel:set line /dev/tty01
set speed 19200
set file type binary
set file names literal
set win 8
set rec pack 1024
set send pack 1024
set block 3
set term bytesize 8
set command bytesize 8
set flow none
pau 1
out +++
inp 5 OK
out ATH0\13
inp 5 OK
echo \13
out ATS0=1\13 ; "ATS0=0\13"-ra írjuk át, ha le akarjuk tiltani az
; automatikus válaszadást
inp 5 OK
echo \13
exitAz /etc/ppp/kermit.dial
elnevezésű szkriptet használhatjuk arra, hogy
tárcsázzunk távoli gépeket és
hitelesítsük magunkat rajtuk. Írjuk
át az igényeinknek megfelelően, tegyük
bele a bejelentkezéshez szükséges
azonosítót és jelszót, illetve a
modemünk és a távoli gép
válaszai szerint módosítsuk az
input utasításokat.;
; írjuk ide azt a com vonalat, amire a modemünk csatlakozik:
;
set line /dev/tty01
;
; ide kerül a modem sebessége:
;
set speed 19200
set file type binary ; teljes 8 bites állomány-átvitel
set file names literal
set win 8
set rec pack 1024
set send pack 1024
set block 3
set term bytesize 8
set command bytesize 8
set flow none
set modem hayes
set dial hangup off
set carrier auto ; adjuk meg a SET CARRIER utasítást is, ha kell
set dial display on ; adjuk meg a SET DIAL utasítást is, ha kell
set input echo on
set input timeout proceed
set input case ignore
def \%x 0 ; a bejelentkezés számlálója
goto slhup
:slcmd ; tegyük a modemet parancs módba
echo Tegyuk a modemet parancs modba.
clear ; töröljük a be nem olvasott karaktereket a bemeneti pufferből
pause 1
output +++ ; a Hayes-féle helyettesítési szekvenciák használata
input 1 OK\13\10 ; várjuk meg az OK jelzést
if success goto slhup
output \13
pause 1
output at\13
input 1 OK\13\10
if fail goto slcmd ; ha a modem nem válaszol OK-val, akkor próbálkozzunk újra
:slhup ; bontsuk a vonalat
clear ; töröljük ki a be nem olvasott karaktereket a bemeneti pufferből
pause 1
echo A vonal bontasa.
output ath0\13 ; a kapcsolat létrejöttét jelző Hayes-parancs
input 2 OK\13\10
if fail goto slcmd ; ha nincs OK válasz, akkor tegyük a modemet parancs módba
:sldial ; tárcsázzuk a számot
pause 1
echo Dialing.
output atdt9,550311\13\10 ; ide írjuk a telefonszámot
assign \%x 0 ; nullázzuk le az időzítőt
:look
clear ; töröljük az olvasatlan karaktereket a bemeneti pufferből
increment \%x ; számoljuk a másodperceket
input 1 {CONNECT }
if success goto sllogin
reinput 1 {NO CARRIER\13\10}
if success goto sldial
reinput 1 {NO DIALTONE\13\10}
if success goto slnodial
reinput 1 {\255}
if success goto slhup
reinput 1 {\127}
if success goto slhup
if < \%x 60 goto look
else goto slhup
:sllogin ; bejelentkezés
assign \%x 0 ; nullázzuk le az időzítőt
pause 1
echo A bejelentkezes keresese.
:slloop
increment \%x ; számoljuk a másodperceket
clear ; töröljük az olvasatlan karaktereket a bemeneti pufferből
output \13
;
; ide írjuk be a várható bejelentkezési sablont:
;
input 1 {Felhasznaloi nev: }
if success goto sluid
reinput 1 {\255}
if success goto slhup
reinput 1 {\127}
if success goto slhup
if < \%x 10 goto slloop ; tízszer próbálkozzunk a bejelentkezéssel
else goto slhup ; 10 sikertelen próbálkozás után bontsuk a vonalat és kezdjük újra
:sluid
;
; ide írjuk be a felhasználói azonosítónkat:
;
output ppp-login\13
input 1 {Jelszo: }
;
; ide tegyük a hozzá tartozó jelszót:
;
output ppp-password\13
input 1 {Atvaltas SLIP modba.}
echo
quit
:slnodial
echo \7Nincs vonal. Ellenorizzuk a telefonvonalat!\7
exit 1
; local variables:
; mode: csh
; comment-start: "; "
; comment-start-skip: "; "
; end:TomRhodesKészítette: PPP kapcsolatok
hibaelhárításaPPPhibaelhárításA &os; 8.0 kiadásától
kezdődően a &man.sio.4; meghajtó
szerepét a &man.uart.4; veszi át. Emiatt a
soros vonali eszközöket /dev/cuadN
és /dev/cuauN
helyett /dev/ttydN
és /dev/ttyuN
néven lehet elérni. A &os;
7.X változatok
felhasználóinak ennek megfelelően kell
olvasniuk ezt a leírást.Ebben a szakaszban összefoglalunk néhány
olyan problémát, ami a PPP modemen keresztüli
használata során keletkezhet.
Például pontosan tisztában kell
lennünk azzal, hogy a tárcsázott rendszer
milyen adatokat és hogyan fog tőlünk
bekérni. Egyes szolgáltatók egy
ssword promptot, míg mások egy
password promptot adnak. Ha a
ppp szkript nem illeszkedik ezekhez az
elvárásokhoz, akkor nem tudunk bejelentkezni. A
ppp csatlakozások
nyomonkövetésének egyik leggyakoribb
módja a manuális kapcsolódás. A
következőkben ezért a manuális
csatlakozásokra vonatkozó
legszükségesebb ismereteket mutatjuk be
lépésről lépésre.Az eszközleírók
ellenőrzéseHa saját rendszermagot használunk, ne
felejtsük el felvenni a következő sort a
konfigurációs állományba:device uartA GENERIC rendszermag az
uart eszközt már
alapértelmezés szerint tartalmazza, ezért
ilyenkor már nincs több teendőnk.
Egyszerűen csak a dmesg parancs
kimenetében keressük meg a modemes
eszközhöz tartozó adatokat:&prompt.root; dmesg | grep uartEnnek eredményeképpen kapunk egy rövid
összefoglalást a uart
típusú eszközökről. Ezek lesznek a
számunkra fontos COM portok. Amennyiben a modemünk
egy szabványos soros portként működik,
akkor a uart1 vagy
COM2 néven kell keresnünk.
Ha megtaláltuk, akkor nem kell új rendszermagot
fordítanunk. Amikor a soros vonali modemünk a
uart1 vagy
COM2 porton csatlakozik DOS-ban, akkor
itt a neki megfelelő eszköz a /dev/cuau1 lesz.Kapcsolódás manuálisanA ppp kézi
irányításával gyorsan,
egyszerűen és minden fájdalomtól
mentesen tudunk csatlakozni az internethez, de olyankor is
hasznos, ha ki akarjuk deríteni, hogy az
internet-szolgáltatónk milyen módon kezeli
a kliensek ppp csatlakozásait. Nos,
akkor ehhez indítsuk is el a
PPP alkalmazást a
paranccsorból. Az alábbi példákban
rendre a pelda névvel hivatkozunk a
PPP-t működtető
gépre. A ppp tehát a
ppp parancs
begépelésével
indítható:&prompt.root; pppEzzel elindítottuk a ppp
programot.ppp ON pelda> set device /dev/cuau1Beállítjuk a modemünket, ami ebben az
esetben a cuau1.ppp ON pelda> set speed 115200Beállítjuk a csatlakozás
sebességét, ami ebben az esetben 115 200
kbit/mp.ppp ON pelda> enable dnsAzt mondjuk a ppp programnak, hogy
állítsa be a névfeloldót és
az /etc/resolv.conf állományt
egészítse ki a megfelelő
névszerverekkel. Ha a ppp nem
képes megállapítani a gépünk
nevét, akkor később ezt még
kézzel is be tudjuk állítani.ppp ON pelda> termVáltsunk terminál módba,
így mi irányítjuk a modemet.deflink: Entering terminal mode on /dev/cuau1
type '~h' for helpat
OK
atdt123456789Az at paranccsal hozzuk alaphelyzetbe a
modemet, majd a atdt paranccsal és egy
telefonszám megadásával megkezdjük a
szolgáltató
tárcsázását.CONNECTEzzel jelez vissza a kapcsolódás
megkezdéséről. Ha itt bármilyen
hardvertől független csatlakozási
probléma merülne fel, akkor ezen a ponton tudunk
ellene tenni valamit.ISP Login:felhasznalonevItt kell megadnunk a felhasználói
nevünket, ami megegyezik a szolgáltató
által adott azonosítónkkal.ISP Pass:jelszoEzúttal a jelszavunkat kell megadni, amit
szintén a szolgáltató bocsátott
rendelkezésünkre az azonosító mellett.
Akárcsak amikor bejelentkezünk a &os;-be, itt sem
fog látszódni a jelszavunk.Shell or PPP:pppSzolgáltatótól függően
előfordulhat, hogy ez a sor soha nem is jelenik meg. Itt
kérdezik meg, hogy a szolgáltatónál
egy shellt akarunk használni, vagy csak elindítani
egy ppp kapcsolatot. Ebben a
példában természetesen a
ppp opciót választjuk, mivel
egy internet-előfizetés birtokosai vagyunk.Ppp ON pelda>Figyeljük meg, hogy az első
nagybetűssé vált. Ezzel jelzi a program,
hogy sikeresen csatlakoztunk a
szolgáltatónkhoz.PPp ON pelda>Sikeresen azonosítottuk magunkat a
szolgáltató felé és várjuk az
IP-címünket.PPP ON pelda>Megkaptuk az IP-címünket és ezzel
sikeresen felépült a kapcsolat.PPP ON pelda>add default HISADDRItt adjuk hozzá az alapértelmezett
útvonalat, amire mindenképpen
szükségünk van ahhoz, hogy a
külvilággal is kapcsolatban tudjunk lépni,
mivel jelenleg csak a vonal másik végén
lévő gépet érjük el. Ha ezt
bizonyos, már meglevő útvonalak miatt nem
sikerül felvenni, akkor az elé
tegyünk egy ! jelet. Ezt viszont a
kapcsolat felépítése előtt is
megtehetjük, így menet közben az új
útvonalat felveszi a többi közé.Ha eddig minden remekül ment, akkor ezen ponton
már egy élő internet-kapcsolattal
rendelkezünk, és a programot a CTRLz
lenyomásával a háttérbe is
tehetjük. Ha a PPP felirat ismét
a ppp feliratra váltana, akkor az arra
utal, hogy elvesztettük a kapcsolatot. Erre nem árt
figyelni, mivel ezzel jelzi az aktuális kapcsolat
állapotát. A nagybetűs P-k jelölik,
hogy az adott szinten megvan a kapcsolat a
szolgáltató felé, a kisbetűs p-k pedig
arra utalnak, hogy azon a szinten a kapcsolat valamiért
megszűnt. A ppp csak ezt a két
állapotot ismeri.NyomkövetésHa közvetlen vonalunk van és mégsem
sikerül kapcsolatot létesíteni, akkor
tiltsuk le a hardveres CTS/RTS
forgalomirányítást a paranccsal. Ez leginkább akkor fordul
elő, ha csatlakoztunk egy olyan
terminálszerverhez, amely valamennyire képes
kezelni a PPP kapcsolatokat, de a
PPP megáll, mikor adatot
próbál írni a kommunikációs
csatornára, mivel arra a CTS (Clear
To Send — lehet küldeni)
jelzésre vár, amely soha nem fog
megérkezni. Ha mégis ezt a
beállítást akarjuk használni,
akkor a
beállításra is
szükségünk lesz, mivel ez kell bizonyos
karakterek hardverfüggő
átküldésének
felülbírálásához,
legtöbb esetben a XON/XOFF miatt. A &man.ppp.8; man
oldalon találhatunk erről és ennek
használatáról részletesebb
leírást.Ha egy régebbi gyártmányú
modemünk van, akkor a
beállítás alkalmazása is javasolt.
Alapértelmezés szerint ugyanis nincs
paritás, de a régebbi modemek és (a
forgalom növekedésével) egyes
szolgáltatók még használják
hibaellenőrzésre. Ha Compuserve
előfizetésünk van, mindenképpen
kapcsoljuk be.Amikor a PPP nem tér
vissza parancs módba, akkor gyaníthatóan
az egyeztetésben lesz valahol probléma, mivel a
szolgáltató a kliensüktől várja
a kezdeményezését. Ezen a ponton a
~p paranccsal utasíthatjuk a ppp
programot a konfigurációs
információk
átküldésének
megkezdésére.Ha egyáltalán nem kapunk promptot a
bejelentkezéshez, akkor nagy a
alószínűsége, hogy az iménti
&unix; stílusú hitelesítés helyett
PAP vagy CHAP protokollt
kell használnunk. A PAP vagy
CHAP használatához
mindössze a következő
beállításokat kell megadnunk
PPP programnak a terminál
mód aktiválása előtt:ppp ON pelda> set authname felhasznalonevahol a felhasznalonev helyett a
szolgáltatótól kapott
azonosítót kell beírnunk.ppp ON pelda> set authkey jelszoahol a jelszo helyett a
szolgáltatótól kapott jelszót kell
megadnunk.Ha sikeresen csatlakoztunk, de még nem
találunk semmilyen tartománynevet, akkor a
&man.ping.8; és IP-cím
segítségével tudjuk megvizsgálni,
hogy működőképes-e a kapcsolat. Ha
100 százalékos (100%) csomagvesztést
(packet loss) tapasztalunk, akkor szinte biztos, hogy nincs
meg az alapértelmezett útvonal.
Nézzük meg újra, hogy az beállítást
megadtuk-e a kapcsolat felépítésekor. Ha
viszont már el tudunk érni egy távoli
IP-címet, akkor nagyon valószínű,
hogy az /etc/resolv.conf
állományba nem került bele a megfelelő
névfeloldó címe. Az említett
állománynak valahogy így kellene
kinéznie:domain minta.com
nameserver x.x.x.x
nameserver y.y.y.yAhol az x.x.x.x és
y.y.y.y címeket a
szolgáltatónk névszervereinek
címével kell behelyettesíteni. Ez nem
minden esetben található meg az
előfizetői szerződésben, de ha
felhívjuk a szolgáltatónkat, akkor minden
bizonnyal elárulják ezeket a
címeket.A &man.syslog.3; is alkalmas a
PPP kapcsolatok
naplózására. Ehhez csupán ennyit
kell megadnunk az /etc/syslog.conf
állományban:!ppp
*.* /var/log/ppp.logA legtöbb esetben ez a lehetőség
már eleve adott.JimMockKészítette (a
http://node.to/freebsd/how-tos/how-to-freebsd-pppoe.html
alapján): A PPP használata Ethernet felett (PPPoE)PPPover EthernetPPPoEPPP, over EthernetEbben a szakaszban azt ismertetjük, hogyan
állítsuk be a PPP-t Ethernet felett (PPP over
Ethernet, PPPoE).A rendszermag beállításaA PPPoE működéséhez most már
semmilyen módosításra nincs
szükség a rendszermag
beállításaiban. Amennyiben a hozzá
szükséges Netgraph támogatás nem
található a rendszermagban, akkor azt a
ppp önműködően
betölti.A ppp.conf
beállításaÍme egy működő
ppp.conf állomány:default:
set log Phase tun command # itt akár egy részletesebb naplózást is be tudunk állítani
set ifaddr 10.0.0.1/0 10.0.0.2/0
a_szolgaltato_neve:
set device PPPoE:xl1 # az xl1 helyére írjuk be a saját Ethernet eszközünket
set authname FELHASZNALONEV
set authkey JELSZO
set dial
set login
add default HISADDRA ppp futtatásaroot
felhasználóként adjuk ki az alábbi
parancsot:&prompt.root; ppp -ddial a_szolgaltato_neveA ppp indítása a
rendszerindítás soránAz /etc/rc.conf
állományba vegyük fel a
következőket:ppp_enable="YES"
ppp_mode="ddial"
ppp_nat="YES" # csak akkor, ha címfordítás kell a helyi hálózaton, máskülönben "NO"
ppp_profile="a_szolgaltato_neve"A szolgáltatási címkék
használataBizonyos esetekben szolgáltatási
címkét (service tag) is használnunk kell a
kapcsolat létrehozásához. A
szolgáltatási címkék
segítségével tudjuk
megkülönböztetni az adott hálózaton
elérhető különböző PPPoE
szervereket.A szolgáltatótól kapott
dokumentációban szerepelnie kell minden ehhez
kapcsolódó információnak.
Amennyiben nem találjuk, érdeklődjünk a
szolgáltatónál.Utolsó reményként
megpróbálhatjuk a Portgyűjteményben
található Roaring Penguin
PPPoE nevű program által javasolt
módszert. Ennél vegyük azonban
számításba, hogy félre tudja
programozni a modemünket, amitől akár
használhatatlanná is válhat, ezért
kétszer is gondoljuk meg, mielőtt használni
kezdjük. Egyszerűen csak tegyük fel a
szolgáltatótól a modemünk mellé
kapott szoftvert. Ezután lépjünk be a
program System menüjébe. Itt
kell lennie a megfelelő profilnak, ami
általában az ISP.A profil neve (a szolgáltatás
címkéje) a ppp.conf
állományban a PPPoE bejegyzés
részeként jelenik meg a set
device parancsban (ennek pontos részleteit
lásd a &man.ppp.8; man oldalon). Tehát
nagyjából így néz ki:set device PPPoE:xl1:ISPAz xl1 eszköz nevét
ne felejtsük el a megfelelő Ethernet
kártyához tartozó eszköz nevére
kicserélni.Az ISP helyett pedig írjuk
be az imént kiderített profil nevét.A témával kapcsolatban az alábbi
helyeken találhatunk további
információkat:Cheaper
Broadband with FreeBSD on DSL, írta: Renaud
Waldura (angolul).
Nutzung von T-DSL und T-Online mit FreeBSD,
írta: Udo Erdelhoff (németül).PPPoE és a &tm.3com; HomeConnect ADSL Modem Dual
LinkEz a modem nem felel meg az RFC 2516
előírásainak (A Method for
transmitting PPP over Ethernet (PPPoE), írta:
L. Mamakos, K. Lidl, J. Evarts, D. Carrel, D. Simone
és R. Wheeler). Helyette az Ethernet keretekben
eltérő csomagtípus kódokat
használ. A 3Com-nál
panaszkodjunk, ha szerintünk is be kellene tartaniuk a
PPPoE specifikációját.A &os; is csak akkor lesz képes
együttműködni ezzel az eszközzel, ha
beállítjuk a megfelelő sysctl
változót. Ezt a rendszerindítás
során automatikusan meg tudjuk tenni az
/etc/sysctl.conf
módosításával:net.graph.nonstandard_pppoe=1vagy közvetlenül az alábbi
paranccsal:&prompt.root; sysctl net.graph.nonstandard_pppoe=1Sajnos, mivel ez egy rendszerszintű
beállítás, ezért a &tm.3com;
HomeConnect ADSL Modem
és más normális PPPoE kliens vagy szerver
egyszerre nem használható.PPP ATM felett (PPPoA)PPPover ATMPPPoAPPP, over ATMMost a PPP ATM feletti (PPP over ATM, PPPoA)
beállítását fogjuk bemutatni. A PPPoA
az európai DSL szolgáltatók
körében igen nagy népszerűségnek
örvend.PPPoA használata az Alcatel &speedtouch;
USB-velAz ilyen eszközökhöz tartozó PPPoA
támogatás a &os;-ben portként áll
rendelkezésre, mivel az ehhez szükséges
firmware csak az Alcatel
licencelési feltételei szerint
terjeszthető, ezért nem lehet része az alap
&os; rendszernek.A szoftver telepítéséhez ezért a
Portgyűjteményt kell
használnunk. Telepítsük a net/pppoa portot és
kövessük a mellékelt
utasításokat.Sok más USB-s eszközhöz hasonlóan az
Alcatel &speedtouch; USB-nek a gépünkről kell
letöltenie a működéséhez
szükséges firmware-t. Ez a folyamat &os; alatt
automatizálható, tehát ez a
másolás minden esetben megtörténik,
amikor az eszközt az USB portra csatlakoztatjuk. Ehhez az
/etc/usbd.conf állományba a
következő adatokat kell beletennünk. Az
állományt root
felhasználóként tudjuk csak
szerkeszteni.device "Alcatel SpeedTouch USB"
devname "ugen[0-9]+"
vendor 0x06b9
product 0x4061
attach "/usr/local/sbin/modem_run -f /usr/local/libdata/mgmt.o"Az usbd, vagyis az USB
démon engedélyezéséhez az
/etc/rc.conf állományba
tegyük bele az alábbit:usbd_enable="YES"Emellett még a ppp
kapcsolatot is be tudjuk állítani az
indítás során. Ehhez mindössze a
következő sort kell megadnunk az
/etc/rc.conf állományban.
Ismét megemlítjük, hogy ezt a műveletet
csak a root felhasználóval
tudjuk végrehajtani.ppp_enable="YES"
ppp_mode="ddial"
ppp_profile="adsl"Ezután úgy tudjuk szóra bírni a
kapcsolatot, ha a net/pppoa
porthoz mellékelt ppp.conf
állományt használjuk fel
kiindulásként.Az mpd használataAz mpd
segítségével többféle
szolgáltatáshoz, köztük a PPTP-hez
hozzá tudunk férni. Az
mpd a Portgyűjteményben
net/mpd néven
található meg. Sok ADSL modemnek
szüksége van egy PPTP tunnelre közte és
gép között. Ilyen modem például
az Alcatel &speedtouch; Home is.Először magát a portot kell
telepítenünk, majd ezután már be
tudjuk állítani az
mpd-t a saját és a
szolgáltatónk igényei szerint. A port a
rengeteg leírással megtűzdelt minta
konfigurációs állományait a
PREFIX/etc/mpd/
könyvtárba teszi. Itt a
PREFIX azt a könyvtárat
jelöli, ahova a portok kerülnek. Ez alapból a
/usr/local/. Az
mpd
beállításáról
szóló teljes dokumentáció a
telepítés után elérhető HTML
formátumban a
PREFIX/share/doc/mpd/
könyvtárban. Íme egy példa az
mpd
beállítására ADSL kapcsolatok
esetében. Az ezzel kapcsolatos
beállításaink két
állományra bomlanak, melyek közül az
első az mpd.conf:default:
load adsl
adsl:
new -i ng0 adsl adsl
set bundle authname felhasználónév
set bundle password jelszó
set bundle disable multilink
set link no pap acfcomp protocomp
set link disable chap
set link accept chap
set link keep-alive 30 10
set ipcp no vjcomp
set ipcp ranges 0.0.0.0/0 0.0.0.0/0
set iface route default
set iface disable on-demand
set iface enable proxy-arp
set iface idle 0
openA felhasználói azonosító,
amellyel a szolgáltató felé
hitelesítjük magunkat.Az azonosítóhoz tartozó
jelszó, amelyet szintén a
szolgáltatól kaptunk.Az mpd.links állomány
tartalmazza a felépítendő kapcsolatra vagy
kapcsolatokra vonatkozó információkat.
Például az előbbiekhez tartozó
mpd.links tartalma ez:adsl:
set link type pptp
set pptp mode active
set pptp enable originate outcall
set pptp self 10.0.0.1
set pptp peer 10.0.0.138A &os;-s számítógépünk
címe, ahonnan az mpd
indul.Az ADSL modemünk IP-címe. Az Alcatel
&speedtouch; Home esetén ez a cím
alapértelmezés szerint a 10.0.0.138.A kapcsolat ezek után pillanatok alatt
felépíthető, ha a root
felhasználóval kiadjuk a következő
parancsot:&prompt.root; mpd -b adslA kapcsolat állapotát a következő
paranccsal tudjuk ezután ellenőrizni:&prompt.user; ifconfig ng0
ng0: flags=88d1<UP,POINTOPOINT,RUNNING,NOARP,SIMPLEX,MULTICAST> mtu 1500
inet 216.136.204.117 --> 204.152.186.171 netmask 0xffffffff&os; alatt az mpd használata
ajánlott az ADSL szolgáltatások
eléréséhez.A pptpclient használata&os; alatt a net/pptpclient
segítségével is tudunk PPPoA
típusú szolgáltatásokhoz
kapcsolódni.A net/pptpclient
felhasználásával úgy tudunk DSL
szolgáltatásokat elérni, ha
feltelepítjük a hozzá tartozó portot
vagy csomagot, majd módosítjuk az
/etc/ppp/ppp.conf állományt.
Mind a két műveletet csak root
felhasználóként tudjuk
lebonyolítani. Ehhez egy ppp.conf
állományt lentebb adtunk meg. A
ppp.conf állományban
található további
beállítási lehetőségekről
a &man.ppp.8; man oldalon olvashatunk.adsl:
set log phase chat lcp ipcp ccp tun command
set timeout 0
enable dns
set authname felhasználónév
set authkey jelszó
set ifaddr 0 0
add default HISADDRA DSL szolgáltatónktól kapott
felhasználói név.Az előfizetéshez tartozó
jelszó.Mivel az előfizetéshez tartozó
jelszót a ppp.conf
állományba titkosítatlan formában
kell szerepeltetnünk, ezért gondoskodjunk
róla, hogy senki sem képes olvasni a
tartalmát. A most következő parancsokkal
beállítjuk, hogy ez az állomány
csak a root felhasználó
számára legyen olvasható. A
részletekért lásd a &man.chmod.1;
és &man.chown.8; man oldalakat.&prompt.root; chown root:wheel /etc/ppp/ppp.conf
&prompt.root; chmod 600 /etc/ppp/ppp.confEzzel a paranccsal a DSL útválasztónk
felé nyitunk egy tunnelt a PPP kapcsolathoz. Az
Ethernetes DSL modemek általában egy előre
beállított helyi hálózati
IP-címmel rendelkeznek, amelyhez tudunk csatlakozni. Az
Alcatel &speedtouch; Home esetében ez a cím a
10.0.0.138. Az
útválasztóhoz adott
dokumentációban keressük meg, hogy az
eszközünkhöz konkrétan milyen cím
tartozik. A tunnel megnyitásához és a PPP
kapcsolat megindításához a
következő parancsot kell kiadnunk:&prompt.root; pptp címadslAz iménti parancs végére még
érdemes odatenni az et jelet
(&) is, mivel így a
pptp
működését a háttérben
folytatja.A parancs hatására a virtuális tunnelt
megtestesítő tun
eszköz jön létre a
pptp és
ppp programok között.
Miután visszakaptuk a parancssort, vagy a
pptp program
megerősítette a kapcsolódás
sikerességét, a keletkezett járatot
így tudjuk ellenőrizni:&prompt.user; ifconfig tun0
tun0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1500
inet 216.136.204.21 --> 204.152.186.171 netmask 0xffffff00
Opened by PID 918Ha nem tudnánk valamiért csatlakozni, akkor
először nézzük meg az
útválasztónk
beállításait, ami általában a
telnet vagy egy
böngésző segítségével
elérhető. Ha még mindig nem vagyunk
képesek csatlakozni, akkor a pptp
parancs kimenetében és
ppp/var/log/ppp.log néven
elérhető naplójában kereshetünk
árulkodó nyomokat.SatoshiAsamiEredetileg készítette: GuyHelmerA hozzávalókat biztosította:
PieroSeriniA SLIP használataSLIPEz a szakasz csak &os; 7.X
rendszerekre érvényes.A SLIP kliensek beállításaSLIPkliensA következőkben azt mutatjuk be, hogy egy &os;-s
gépet miként tudunk egy hálózaton
statikus névvel beállítani a SLIP
használatával. A dinamikus hálózati
nevek használatakor (vagyis amikor a címünk
minden egyes tárcsázáskor
megváltozhat) egy valamivel bonyolultabb
beállításra van
szükségünk.Először is állapítsuk meg, hogy a
modemünk melyik soros portra csatlakozik. Sokan
/dev/modem néven
egy szimbolikus linket hoznak létre a valódi
eszközre, például a /dev/cuadN
leíróra. Ennek köszönhetően az
eszköz tényleges névetől el tudunk
vonatkoztatni és soha nem kell módosítanunk
semmit, ha a modemet például egy másik
portra kell átraknunk. Ugyanis könnyedén
kacifántossá tud válni a helyzet, amikor
egyszerre kell megváltoztatnunk egy rakat dolgot az
/etc
könyvtárban és módosítanunk az
összes .kermrc
állományt!A /dev/cuad0 a
COM1 port, a /dev/cuad1 a
COM2 és így
tovább.A rendszermag beállításait
tartalmazó állományban a
következőnek mindenképpen szerepelnie
kell:device slMivel ez általában a
GENERIC rendszermagban
megtalálható, így ez nem okoz semmilyen
gondot, kivéve, hogy ha korábban már
kitöröltük.Amit csak egyszer kell megtenniVegyük fel az otthoni gépünket, az
átjárónkat és a
névszervereket az /etc/hosts
állományba. Erre álljon itt egy
konkrét példa:127.0.0.1 localhost loghost
136.152.64.181 water.CS.Example.EDU water.CS water
136.152.64.1 inr-3.CS.Example.EDU inr-3 slip-gateway
128.32.136.9 ns1.Example.EDU ns1
128.32.136.12 ns2.Example.EDU ns2Figyeljünk oda, hogy az
/etc/nsswitch.conf
állományban szereplő
szakaszban a dns
szó előtt a files
szónak kell megjelennie. Ezek nélkül
mókás dolgok tudnak történni
rendszerünkben.Szerkesszük át az
/etc/rc.conf
állományt.A hálózati nevünket a
következő sorban tudjuk megadni:hostname="az.en.nevem"Ide a gépünk teljes internetes
hálózati nevét kell
beírnunk.
- default route
-
Az alapértelmezett
- átjárót az alábbi sor
+ átjárótdefault route az alábbi sor
módosításával tudjuk
beállítani úgy, hogy adefaultrouter="NO"változó értékét
átírjuk:defaultrouter="slip-gateway"Készítsük el az
/etc/resolv.conf
állományt, amelyben majd a
következők legyenek:domain CS.Example.EDU
nameserver 128.32.136.9
nameserver 128.32.136.12névszervertartománynévLátható, hogy ezek a
névfeloldásért felelős szerverek
címei. Természetesen a ténylegesen
beírandó tartomány (domain) neve
és a névszerverek címei mindig az
adott környezetünktől függenek.Állítsuk be egy jelszót a
root és
toor felhasználóknak
(és mindenki másnak, akinek még nem
lenne).Indítsuk újra a
számítógépünket és
utána győződjünk meg róla,
hogy a megfelelő hálózati névvel
rendelkezik.A SLIP kapcsolatok
felépítéseSLIPkapcsolódásTárcsázzunk és
gépeljük be a slip
parancsot, majd ezt követően a
gépünk nevét és a
jelszót. Ez leginkább a konkrét
környezettől függ. Ha a
Kermit nevű programot
használjuk, akkor egy ilyen szkripttel is
próbálkozhatunk:# a kermit beállítása
set modem hayes
set line /dev/modem
set speed 115200
set parity none
set flow rts/cts
set terminal bytesize 8
set file type binary
# a következő makró felelős a tárcsázásért és a bejelentkezésért
define slip dial 643-9600, input 10 =>, if failure stop, -
output slip\x0d, input 10 Azonosito:, if failure stop, -
output silvia\x0d, input 10 Jelszo:, if failure stop, -
output ***\x0d, echo \x0aCONNECTED\x0aTermészetesen a felhasználói
nevet és a jelszót a sajátunkra kell
benne kicserélnünk. Miután ezzel is
megvagyunk, a Kermit
paranccsorában a csatlakozáshoz
egyszerűen csak írjuk be, hogy
slip.Nem javasoljuk, hogy az
állományrendszeren a jelszavakat
titkosítatlan formában tároljuk. Mindeki
csak a saját felelősségére tegyen
ilyet.Hagyjuk el a Kermit
programot (a Ctrlz
billentyűkombinációval bármikor
fel tudjuk függeszteni a futását)
és root
felhasználóként írjuk be a
következőt:&prompt.root; slattach -h -c -s 115200 /dev/modemHa ezután már képesek vagyunk a
ping paranccsal elérni az
útválasztó másik
oldalán található gépet, akkor
az azt jelenti, hogy sikerült csatlakoznunk! Ha
viszont itt még nem járnánk sikerrel,
akkor az slattach parancsnak ne a
paramétert adjuk meg, hanem a
paramétert.Hogyan bontsunk egy kapcsolatotTegyük a következőket:&prompt.root; kill -INT `cat /var/run/slattach.modem.pid`Ez leállítja az slattach
programot. Ne felejtsük el azonban, hogy ezt csak a
root felhasználóval tudjuk
végrehajtani. Ezután térjünk vissza
a kermit programhoz (ha
felfüggesztettük volna, akkor ehhez a
fg parancsra lesz
szükségünk), és lépjünk ki
belőle (q).Az &man.slattach.8; man oldala ehhez a ifconfig
sl0 down parancsot javasolja, amellyel
lényegében leállítjuk a
hozzá tartozó felületet.
Igazából a kettő között nincs
semmilyen komolyabb eltérés (mivel az
(ifconfig sl0 is ugyanezt
eredményezi.)Néha előfordulhat, hogy a modem
egyszerűen nem hajlandó eldobni a vonalat. Ilyen
esetekben indítsuk el a kermit
programot és lépjünk ki megint.
Másodjára általában már
sikerül.HibaelhárításHa valamiért ez mégsem válna be,
akkor csak nyugodtan kérdezősködjünk a
&a.net.name; levelezési listán. A tapasztalatok
szerint az embereknek eddig a következőkkel voltak
problémáik:Az slattach
meghívásakor sem a , sem
pedig a paramétert nem
adták meg. (Ez ugyan nem végzetes hiba, de
egyes felhasználók szerint ez
segített megoldani a gondokat.)Az helyett
-et írtak be (egyes
betűtípusoknál könnyen össze
lehet téveszteni ezeket).Az ifconfig sl0
segítségével ellenőrizhető
a felület állapota. Például
ilyet láthatunk:&prompt.root; ifconfig sl0
sl0: flags=10<POINTOPOINT>
inet 136.152.64.181 --> 136.152.64.1 netmask ffffff00Ha a &man.ping.8; no route to
host hibaüzenetet ad, akkor az
útválasztási
táblázattal van a gond. A netstat
-r paranccsal gyorsan ki tudjuk listázni
a rendszerünkben jelenleg nyilvántartott
utakat:&prompt.root; netstat -r
Routing tables
Destination Gateway Flags Refs Use IfaceMTU Rtt Netmasks:
(root node)
(root node)
Route Tree for Protocol Family inet:
(root node) =>
default inr-3.Example.EDU UG 8 224515 sl0 - -
localhost.Exampl localhost.Example. UH 5 42127 lo0 - 0.438
inr-3.Example.ED water.CS.Example.E UH 1 0 sl0 - -
water.CS.Example localhost.Example. UGH 34 47641234 lo0 - 0.438
(root node)Az előző példákat egy
viszonylag forgalmas rendszerből ragadtuk ki. A
rendszerünkön megjelenő számok a
hálózati aktivitás
mértékének
függvényei.A SLIP szerverek beállításaSLIPszerverEbben a leírásban igyekszünk bemutatni
hogyan kell egy &os; típusú rendszer alatt SLIP
szervert beállítani, ami általában
annyit jelent, hogy a rendszerünben a távoli SLIP
kliensek csatlakozásakor automatikusan elindítjuk
a kapcsolatokat.ElőfeltételekTCP/IP hálózatokEz a szakasz igen szakmai jellegű, ezért az
olvasó részéről
feltételezünk a témában némi
alapismeretet. Ez alatt alapvetően a TPC/IP
hálózati protokollt értjük,
különös hangsúllyal a
hálózatok és hálózati
csomópontok címzéséen, a
hálózati maszkokon, alhálózatokon,
útválasztáson, az olyan
útválasztási protokollokon, mint
például a RIP. A SLIP
beállítása egy
betárcsázós szerveren mindezen fogalmak
ismeretét igényli, és ha ezekkel
még nem lennénk tisztában, akkor olvassuk
el például Craig Hunt TCP/IP Network
Administration című könyvét
(O'Reilly & Associates, Inc.; ISBN: 0-937175-82-X) vagy
Douglas Comer TCP/IP protokollról szóló
könyveit.modemMindezek mellett még feltételezzük,
hogy már beállítottuk a modem(ek)et
és a rajtuk keresztüli bejelentkezéshez
szükséges állományokat. Ha
még nem készítettük volna fel erre a
rendszerünket, akkor a ad
részletes tájékoztatást a
betárcsázós szolgáltatások
beállításáról. A soros
vonali eszközmeghajtóval kapcsolatban
továbbá érdemes átolvasni a
&man.sio.4; oldalt, valamint a &man.ttys.5;, &man.gettytab.5;,
&man.getty.8; és &man.init.8; oldalakat a
bejelentkezések modemen keresztüli
fogadásáról, illetve talán az
&man.stty.1; oldalt a soros port paramétereinek
megfelelő
beállításáról (mint
például a clocal a
közvetlenül csatlakozó soros felületek
esetében).Gyors áttekintésA &os; SLIP szerverként általában a
következő módon üzemel: a SLIP
felhasználó tárcsázza a &os;-s
SLIP szerverünket, majd bejelentkezik egy specális
SLIP bejelentkezési azonosító
használatával, amely a
/usr/sbin/sliplogin shellt
használja. A sliplogin program az
/etc/sliphome/slip.hosts
állományban megkeresi a speciális
felhasználóhoz tartozó sort, és ha
talál egy ilyet, akkor csatlakoztatja a soros vonalat
egy rendelkezésre álló SLIP
felületre, amelyen aztán a SLIP felültet
beállításához lefuttatja az
/etc/sliphome/slip.login shell
szkriptet.Példa SLIP szerveren keresztüli
bejelentkezésrePéldául, ha a SLIP
felhasználó azonosítója
Shelmerg, akkor az
/etc/master.passwd
állományban a hozzá tartozó
bejegyzést nagyjából ilyen:Shelmerg:password:1964:89::0:0:Guy Helmer - SLIP:/usr/users/Shelmerg:/usr/sbin/sliploginAmikor Shelmerg bejelentkezik, a
sliplogin az
/etc/sliphome/slip.hosts
állományban keresni fog egy
felhasználó
azonosítójához illeszkedő sort.
Például tegyük fel, hogy az
/etc/sliphome/slip.hosts
állományban szerepel egy ilyen sor:Shelmerg dc-slip sl-helmer 0xfffffc00 autocompA sliplogin ezt a sor fogja
megtalálni, majd a soros vonalat a
következő elérhető SLIP
felülethez kapcsolja, amelyen ezután
végrehajtja az
/etc/sliphome/slip.login szkriptet a
következő módon:/etc/sliphome/slip.login 0 19200 Shelmerg dc-slip sl-helmer 0xfffffc00 autocompHa minden jól megy, akkor az
/etc/sliphome/slip.login kiad egy
ifconfig parancsot azon a SLIP
felületen, amelyre a sliplogin
magát csatlakoztatta (amely a fenti
példában a 0. SLIP felület volt,
és amelyet meg is adtunk
slip.login első
paramétereként), és így
beállítja a helyi IP-címet
(dc-slip), a távoli IP-címet
(sl-helmer), a SLIP felülethez
tartozó hálózati maszkot (0xfffffc00) valamint a
további opciókat
(autocomp). Ha valami rosszul sülne
el, akkor a sliplogin ezekről
általában nagyon jó
minőségű,
információdús üzeneteket
készít, amelyeket a
syslogd démon pedig a
/var/log/messages
állományba rögzít. (A
&man.syslogd.8; és &man.syslog.conf.5; man oldalak
és talán maga az
/etc/syslog.conf segíthet
kideríteni, hogy a syslogd
jelenleg naplóz-e, és ha igen, akkor
hova.)A rendszermag beállításarendszermagbeállításaSLIPA &os; alap (vagyis a GENERIC)
rendszermagja támogatja a SLIP (&man.sl.4;)
használatát. Ha viszont saját
rendszermagunk van, akkor előfordulhat, hogy
beállítások közé fel kell
vennünk a következő sort is:device slAlapértelmezés szerint a &os; nem
továbbít semmilyen csomagot. Amennyiben a &os;
SLIP szerverünket
útválasztóként is
működtetni akarjuk, úgy az
/etc/rc.conf állományban a
gateway_enable változót
át kell állítanunk a
értékre. Ennek hatására az
újraindítás után is megmarad a
csomagok továbbítása.A változtatások azonnali
életbeléptetéséhez adjuk ki
root felhasználóként
a következő parancsot:&prompt.root; /etc/rc.d/routing startHa a &os; rendszermag beállítása
során segítségre szorulnánk, akkor
olvassuk el et.A sliplogin beállításaAhogy arra már korábban is utaltunk, az
/etc/sliphome
könyvtárban három állomány
felelős a /usr/sbin/sliplogin
beállításáért (lásd
&man.sliplogin.8;): a slip.hosts,
amelyekben a SLIP felhasználókat és a
hozzájuk tartozó IP-címeket adjuk meg; a
slip.login, amely általában
csak a SLIP felületet állítja be; (az
elhagyható) slip.logout, amely a
soros vonal bontásakor a
slip.login hatását
igyekszik visszafordítani.A slip.hosts
beállításaAz /etc/sliphome/slip.hosts
soraiban whitespace karakterekkel tagoltan legalább
négy elem szerepel:a SLIP felhasználó
bejelentkezési azonosítójaa SLIP kapcsolat helyi címe (a SLIP
szerveréhez képest)a SLIP kapcsolat távoli címehálózati maszkA helyi és távoli címek lehetnek
hálózati nevek is (amelyeket vagy az
/etc/hosts, vagy pedig az
/etc/nsswitch.conf
állományban szereplő
beállítások alapján tudunk
feloldani IP-címre), illetve a hálózati
maszk is lehet egy olyan név, amelyet az
/etc/networks fel tud oldani. A
példaként bemutatott rendszerünkben az
/etc/sliphome/slip.hosts
állomány nagyjából így
épül fel:#
# login helyi-cím távoli-cím maszk opc1 opc2
# (normal,compress,noicmp)
#
Shelmerg dc-slip sl-helmerg 0xfffffc00 autocompA sorok végén az alábbi
opciók közül egy vagy több
szerepelhet: — a fejléceket
nem tömörítjük — a fejlécek
tömörítése — ha a távoli
végpont engedi, akkor
tömörítsük a
fejléceket — az ICMP csomagok
tiltása (így például a
ping által generált
csomagok is eldobódnak a
sávszélesség felemésztese
helyett)SLIPTCP/IP hálózatokA SLIP kapcsolathoz tartozó helyi és
távoli címek megválasztása
függ attól, hogy egy külön TCP/IP
alhálózatot szentelünk-e neki, vagy a
SLIP szerverünkön egy ARP proxy-t
használunk (amely tulajdonképpen nem egy
valódi ARP proxy, de ebben a
szakaszban így fogunk rá hivatkozni). Ha nem
vagyunk biztosak benne, hogy melyik módszert
válasszuk vagy hogy miként osszuk ki az
IP-címeket, akkor nézzünk utána
ezekenek a SLIP használatával kapcsolatos
előfeltételek között
megemlített könyvekben () és/vagy
konzultáljunk a hálózatunk
karbantartójával.Ha a SLIP klienseknek külön
alhálózatokat osztunk ki, akkor a saját
IP-címünkből kell létrehoznunk
és kiadnunk ezeket. Ezután
valószínűleg a SLIP
szerverünkön keresztül még meg kell
adnunk egy statikus útvonalat legközelebbi IP
útválasztó felé.EthernetMinden más esetben az ARP proxy
módszert kell alkalmaznunk, ahol a SLIP kliensek
IP-címeit a SLIP szerver Ethernet
alhálózatából osztjuk ki,
és ennek megfelelően az
/etc/sliphome/slip.login és
/etc/sliphome/slip.logout szkripteket
módosítanunk kell úgy, hogy az
&man.arp.8; segítségével képesek
legyenek a SLIP szerver ARP
táblázatában kezelni a proxy
ARP bejegyzéseket.A slip.login
beállításaEgy átlagos
/etc/sliphome/slip.login
állomány körülbelül
ilyen:#!/bin/sh -
#
# @(#)slip.login 5.1 (Berkeley) 7/1/90
#
# Egy általános slip vonali bejelentkezési állomány. A sliplogin ezt az alábbi
# paraméterekkel hívja meg:
# 1 2 3 4 5 6 7-n
# slipegys. ttyseb. azonosító helyi-cím távoli-cím maszk egyéb-pmek.
#
/sbin/ifconfig sl$1 inet $4 $5 netmask $6Ez a slip.login
állomány az ifconfig
segítségével pusztán
beállítja a megfelelő SLIP
felülethez tartozó helyi, valamint távoli
címet és a hálózati
maszkot.Ha ehelyett azonban az ARP proxy
módszerét választottuk volna
(tehát a SLIP kliensekenek nem akarunk egész
alhálózatokat kiutalni), akkor az
/etc/sliphome/slip.login
állomány eképpen alakul:#!/bin/sh -
#
# @(#)slip.login 5.1 (Berkeley) 7/1/90
#
# Egy általános slip vonali bejelentkezési állomány. A sliplogin ezt az alábbi
# paraméterekkel hívja meg:
# 1 2 3 4 5 6 7-n
# slipegys. ttyseb. azonosító helyi-cím távoli-cím maszk egyéb-pmek.
#
/sbin/ifconfig sl$1 inet $4 $5 netmask $6
# A SLIP kliensre vonatkozó ARP kéréseket a mi Ethernet címünkkel
# válaszoljuk meg:
/usr/sbin/arp -s $5 00:11:22:33:44:55 pubLáthatjuk, hogy az előbbi
slip.login állomány egy
arp -s $5 00:11:22:33:44:55 pub
paranccsal egészült ki, ami a SLIP szerver ARP
táblázatában hoz létre egy ARP
bejegyzést. Ez az ARP bejegyzés gondoskodik
róla, hogy a SLIP szerver válaszoljon a
saját Ethernetes MAC-címével, amikor
egy másik IP csomópont a SLIP kliens
IP-címe felől érdeklődik.EthernetMAC-címAmikor a fenti példából indulunk
ki, a benne megadott MAC-címet (00:11:22:33:44:55)
feltétlenül cseréljük a
rendszerünk Ethernet kártyájának
MAC-címével, mert különben az
ARP proxy egyáltalán nem fog
működni! A SLIP szerverünk
MAC-címét a netstat -i
paranccsal deríthetjük ki, amelynek a
kimenetében a második sor valahogy így
néz ki:ed0 1500 <Link>0.2.c1.28.5f.4a 191923 0 129457 0 116Ebből derül ki, hogy az adott rendszer
valódi MAC-címe a 00:02:c1:28:5f:4a — az &man.arp.8;
számára azonban a netstat
-i kimenetében szereplő pontokat
kettőspontokra kell cserélni, és a
tagokat ki kell egészíteni
kétkarakteres hexadecimális
számokká. Az &man.arp.8; man oldalán
tudhatunk meg ennek részleteiről
többet.Amikor létrehozzuk az
/etc/sliphome/slip.login és
/etc/sliphome/slip.logout
állományokat, akkor ne felejtsük el
hozzájuk beállítani a
végrehajtást
engedélyező bitet sem (tehát ilyenkor
mindig adjuk ki a chmod 755
/etc/sliphome/slip.login
/etc/sliphome/slip.logout parancsokat is),
különben a sliplogin ezeket
nem tudja majd elindítani.A slip.logout
beállításaAz /etc/sliphome/slip.logout
állományra nincs feltétlenül
szükségünk (hacsak nem egy ARP
proxy-t akarunk csinálni), de ha
valamiért mégis el akarjuk
készíteni, akkor ehhez a következő
alapvető slip.logout szkript
használható:#!/bin/sh -
#
# slip.logout
#
# Egy logout állomány a slip vonalhoz. A sliplogin ezt a szkriptet a
# következő paraméterekkel hívja:
# 1 2 3 4 5 6 7-n
# slipegys. ttyseb. login helyi-cím távoli-cím maszk opc-pmek.
#
/sbin/ifconfig sl$1 downHa az ARP proxy módszert
használjuk, és az
/etc/sliphome/slip.logout
felhasználásával akarjuk a SLIP
klienshez tartozó ARP bejegyzést
törölni, akkor ebből induljunk ki:#!/bin/sh -
#
# @(#)slip.logout
#
# Egy logout állomány a slip vonalhoz. A sliplogin ezt a szkriptet a
# következő paraméterekkel hívja:
# 1 2 3 4 5 6 7-n
# slipegys. ttyseb. login helyi-cím távoli-cím maszk opc-pmek.
#
sbin/ifconfig sl$1 down
# Ne válaszoljunk többet a SLIP kliensre vonatkozó ARP kérésekre
/usr/sbin/arp -d $5Az arp -d $5 parancs
eltávolítja az ARP proxy
működéséhez bejegyzést,
amelyet még a slip.login
szkripttel vettünk fel a SLIP kliens
bejelentkezésekor.Talán felesleges ismételgetésnek
tűnhet: az
/etc/sliphome/slip.logout
állománynak létrehozása
után állítsuk be a
végrehajtásra szóló bitet
(vagyis adjuk ki a chmod 755
/etc/sliphome/slip.logout parancsot).Az útválasztással kapcsolatos
megfontolásokSLIPútválasztásHa a hálózatunk többi része
(lényegében az internet) és a SLIP
klienseink között nem az ARP proxy
módszerrel közvetítjük a csomagokat,
akkor a legközelebbi alapértelmezett
átjárókhoz minden bizonnyal fel kell
vennünk statikus útvonalakat, így a SLIP
kliensek alhálózatai a SLIP
szerverünkön keresztül ki tudnak jutni.Statikus útvonalakstatikus útvonalakA legközelebbi alapértelmezett
átjárók felé nem minden esetben
könnyű felvenni statikus útvonalakat (vagy
egyes esetekben pedig egyenesen lehetetlen, mivel nincsenek
meg hozzá a jogaink). Ha az
intézményünkön belül több
átjáró is megtalálható,
akkor bizonyos útválasztók,
például a Cisco és Proteon
gyártmányúak esetében nem csak a
SLIP alhálózatok felé kell
beállítanunk statikus útvonalakat,
hanem azt is meg kell mondanunk, hogy ezekről milyen
más útválasztók is tudjanak.
Pontosan emiatt a statikus útválasztás
beüzemeléséhez
szükségünk lesz egy kis
utánajárásra és
próbálgatásra.
diff --git a/it_IT.ISO8859-15/books/handbook/boot/chapter.xml b/it_IT.ISO8859-15/books/handbook/boot/chapter.xml
index 4e0ad5bb75..45cbc1d1c1 100644
--- a/it_IT.ISO8859-15/books/handbook/boot/chapter.xml
+++ b/it_IT.ISO8859-15/books/handbook/boot/chapter.xml
@@ -1,843 +1,835 @@
La Procedura di Avvio di FreeBSDSinossiavvioavviamentoIl processo di accensione di un computer e caricamento del sistema
operativo viene detto processo di avviamento, o
semplicemente avvio. La procedura di avvio di FreeBSD
fornisce un alto grado di flessibilitŕ nel personalizzare quello
che succede quando avvii il sistema, dandoti la possibilitŕ di
scegliere tra diversi sistemi operativi installati sullo stesso computer,
o anche tra diverse versioni dello stesso sistema operativo o tra diversi
kernel installati.Questo capitolo fornisce i dettagli sulle opzioni di configurazione
che puoi impostare per personalizzare il processo di avvio di FreeBSD.
Ciň comprende tutto quello che avviene fino a quando il kernel
viene lanciato, vengono controllate le periferiche, e viene avviato
&man.init.8;. Se non sei sicuro di sapere quando tutto questo accada, si
tratta del momento in cui il colore del testo a video cambia da bianco
brillante a grigio.Dopo aver letto questo capitolo, saprai:Quali sono i componenti del sistema di avvio di FreeBSD, e come
interagiscono.Le opzioni che puoi impostare per i componenti durante
l'avviamento di FreeBSD per controllare il processo di avvio.Le basi dei &man.device.hints.5;.Solo per x86Questo capitolo descrive la procedura di avvio di FreeBSD su sistemi
Intel x86.Il Problema dell'AvvioAccendere un computer e far partire il sistema operativo pone un
dilemma interessante. Per definizione, il computer non sa fare
nulla finché non viene avviato il sistema operativo. Questo
include anche l'esecuzione dei programmi dal disco. Dunque se il computer
non puň eseguire un programma da disco senza il sistema operativo,
ed i programmi del sistema operativo sono sul disco, come viene avviato il
sistema operativo?Questo č un problema analogo a quello descritto nel
libro Le Avventure del Barone di Munchausen. Un
personaggio era caduto in una botola, e ne era uscito tirandosi su da
sé (in inglese bootstrap), riuscendo nell'intento
solo con i propri sforzi. Nei primi giorni dei calcolatori al meccanismo
usato per caricare il sistema operativo fu applicato il termine
bootstrap, ed in seguito venne abbreviato in
booting (in italiano avvio).BIOSBasic Input/Output SystemBIOSSu sistemi con hardware x86 il BIOS (Basic Input/Output System)
č il responsabile del caricamento del sistema operativo. Per fare
ciň, il BIOS cerca nel disco rigido il Master Boot Record (MBR),
che deve essere in una specifica posizione sul disco. Il BIOS ha
abbastanza conoscenze per caricare ed eseguire l'MBR, ed assume che l'MBR
possa portare avanti il resto dei compiti relativi al caricamento del
sistema operativo, possibilmente con l'aiuto del BIOS.Master Boot Record (MBR)Boot ManagerBoot LoaderIl codice all'interno del MBR č di solito riferito come
boot manager, specialmente quando interagisce
con l'utente. In questo caso la maggior parte del suo codice č
nella prima traccia del disco o direttamente
nel file system dell'OS. (Il boot manager qualche volta viene chiamato
anche boot loader, ma gli utenti di FreeBSD
usano questo termine per una successiva fase di avvio.) Boot
manager popolari sono boot0 (a.k.a.
Boot Easy, il boot manager standard di &os;),
Grub, GAG, e
LILO.
(Solo boot0 č all'interno del
MBR.)Se hai solo un sistema operativo installato sui tuoi dischi allora
sarŕ sufficiente il MBR standard del PC. Questo MBR cerca la prima
slice avviabile (a.k.a. attiva) sul disco, e quindi esegue il codice
in quella slice per caricare il resto del sistema operativo. Il
MBR installato da &man.fdisk.8;, di default, č come un MBR.
Č basato su /boot/mbr.Se hai installato piů sistemi operativi sui tuoi dischi allora
puoi installare un boot manager diverso, che mostra una lista dei diversi
sistemi operativi, e ti permette di scegliere quale avviare. Nella
prossima sezione ne vengono presentati due.Il resto del sistema di avvio di FreeBSD č diviso in tre stadi.
Il primo stadio viene eseguito dall'MBR, che sa solo il necessario per
mettere il computer in un certo stato ed eseguire il secondo stadio.
Quest'ultimo puň fare poco di piů, prima di eseguire il
terzo. Il terzo stadio esaurisce il compito di caricare il sistema
operativo. Il lavoro č diviso in queste tre parti perché
gli standard dei PC pongono dei limiti alla dimensione dei programmi che
possono essere eseguiti nei primi due stadi. Concatenando i compiti
si permette a FreeBSD di fornire un loader piů flessibile.kernelinitA questo punto viene avviato il kernel ed esso comincia a verificare i
dispositivi e ad inizializzarli. Una volta che la procedura di avvio del
kernel č finita, il kernel passa il controllo al processo utente
&man.init.8;, che si assicura che i dischi siano in uno stato usabile.
Poi &man.init.8; avvia la configurazione delle risorse a livello utente
che monta i file system, imposta le schede di rete per comunicare via
rete, ed in generale fa partire tutti i processi che generalmente sono in
esecuzione su un sistema FreeBSD all'avvio.Il Boot Manager e le Fasi di BootBoot ManagerIl Boot ManagerMaster Boot Record (MBR)Il codice nel MBR o nel boot manager č solitamente
riferito alla fase zero del processo di boot.
Questa sezione discute dei due boot manager menzionati in
precedenza: boot0 e
LILO.Il Boot Manager boot0:Il MBR installato dall'installer di FreeBSD o da &man.boot0cfg.8;,
di default, si basa su /boot/boot0.
(Il programma boot0 č molto
semplice, poichč il programma nel MBR
puň essere al piů di 446 byte a causa della tabella
della slice e dell'identificatore 0x55AA
alla fine del MBR.)
Se hai installato boot0 e hai piů di
un sistema operativo sui tuoi dischi, allora vedrai
una schermata simile alla seguente nella fase di avvio:Screenshot di boot0F1 DOS
F2 FreeBSD
F3 Linux
F4 ??
F5 Drive 1
Default: F2Altri sistemi operativi, in particolare &windows;, sono noti
per l'abitudine di sovrascrivere l'MBR esistente con il proprio.
Se accade questo, o se vuoi rimpiazzare l'MBR pre-esistente con quello
di FreeBSD puoi usare il seguente comando:&prompt.root; fdisk -B -b /boot/boot0 dispositivodove dispositivo č il dispositivo
dal quale vuoi avviare, come ad0 per il primo
disco IDE, ad2 per il primo disco ide sul
secondo canale, da0 per il primo disco SCSI,
e cosě via. Se vuoi una configurazione ad hoc dell'MBR,
usa &man.boot0cfg.8;.Il Boot Manager LILO:Per installare questo boot manager affinchč possa avviare
anche FreeBSD, avvia Linux e aggiungi le seguenti cose nel
tuo file di configurazione
/etc/lilo.conf:other=/dev/hdXY
table=/dev/hdX
loader=/boot/chain.b
label=FreeBSDSpecifica la partizione primaria di FreeBSD e il disco usando le
direttive di Linux, rimpiazzando X con
la lettera del dispositivo di Linux e Y con
il numero della partizione primaria di Linux. Se stai usando un
dispositivo SCSI, devi modificare
/dev/hd in qualcosa simile a
/dev/sd. La linea
puň essere omessa
se hai entrambi i sistemi operativi sullo stesso disco. Esegui
/sbin/lilo -v per apportare le modifiche al
sistema; verificando il relativo messaggio a video.Stadio Uno, /boot/boot1, e Stadio Due,
/boot/boot2Concettualmente il primo ed il secondo stadio sono parte dello
stesso programma, sulla stessa area del disco. Per limitazioni di
spazio sono stati divisi in due, ma li installerai sempre
insieme. Sono copiati dal file
/boot/boot dall'installer o da
bsdlabel (vedi sotto).Questi sono posizionati fuori dai file system, nella prima
traccia della slice di boot, a partire dal primo settore.
Questo č il posto dove boot0, o qualsiasi altro boot manager,
si aspetta di trovare un programma da avviare per continuare il
processo di boot. Il numero di settori usati č facilmente
determinabile dalla dimensione di
/boot/boot.boot1 č molto semplice, poiché
puň essere lungo solo 512 byte, e conosce solo lo stretto
necessario del bsdlabel di FreeBSD, il quale
memorizza le informazioni sulle slice, per trovare ed eseguire
boot2.boot2 č leggermente piů
sofisticato, e conosce il file system di FreeBSD abbastanza da potervi
trovare dei file, e puň fornire una semplice interfaccia per
scegliere quale kernel o loader eseguire.Poiché il loader č
molto piů complesso, e fornisce una gradevole interfaccia di
facile utilizzo alla configurazione di avvio, boot2
in genere lo esegue, ma in precedenza era incaricato di lanciare il
kernel direttamente.Screenshot di boot2>> FreeBSD/i386 BOOT
Default: 0:ad(0,a)/boot/loader
boot:Se mai avrai bisogno di rimpiazzare il boot1 ed
il boot2 installati, usa &man.bsdlabel.8;:&prompt.root; bsdlabel -B discoslicedove discoslice sono il disco e la slice
dal quale vuoi effettuare l'avvio, come ad esempio
ad0s1 per la prima slice sul primo disco
IDE.Modalitŕ Pericolosamente DedicataSe nella sintassi del comando &man.bsdlabel.8; usi solo il
nome del disco, come ad0, creerai un disco
pericolosamente dedicato, senza slice. Quasi sicuramente non č
questo quello che vuoi fare, quindi controlla due volte il comando
&man.bsdlabel.8; prima di premere Invio.Stadio Tre, /boot/loaderboot-loaderIl loader č l'ultimo stadio della procedura di avvio divisa
in tre, e si trova sul file system, generalmente come
/boot/loader.Il loader deve essere inteso come un metodo user-friendly per la
configurazione di avvio, tramite l'uso di un insieme di comandi
integrati facili da usare, sostenuto da un potente interprete, con un
insieme di comandi piů complessi.Sequenza di Operazioni del LoaderDurante l'inizializzazione, il loader controllerŕ
la console e i dischi, e cercherŕ di capire da quale disco si
stia avviando. Imposterŕ le variabili di conseguenza, ed
avvierŕ un interprete al quale potranno essere passati i
comandi dell'utente in maniera interattiva o attraverso uno
script.loaderconfigurazione del loaderPoi il loader leggerŕ /boot/loader.rc,
che di default legge i settaggi di
/boot/defaults/loader.conf il quale imposta
dei valori di default ragionevoli per le variabili e inoltre
/boot/loader.rc legge
/boot/loader.conf per i cambiamenti locali a
quelle variabili. In base a queste variabili
loader.rc carica i moduli ed il kernel
prescelti.Infine, di default, il loader attende per 10 secondi la pressione
di un tasto, ed avvia il kernel se non viene interrotto. Se invece
viene interrotto, viene presentato all'utente un prompt in grado di
comprendere un semplice insieme di comandi, dal quale l'utente
puň impostare precisamente le variabili, scaricare dalla
memoria tutti i moduli, o caricarli, ed infine avviare o
ri-avviare.Comandi Integrati nel LoaderQuesti sono i comandi usati piů comunemente. Per una
discussione completa su tutti i comandi disponibili, guarda
&man.loader.8;.autoboot secondiProcede all'avvio del kernel se non viene interrotto
nell'intervallo di tempo specificato, in secondi. Mostra un
conto alla rovescia, e l'intervallo predefinito č di
10 secondi.boot
-opzioninomekernelProcede immediatamente all'avvio del kernel, con le opzioni
date, se ce ne sono, e con il nome del kernel specificato, se
fornito.boot-confVa avanti con la stessa configurazione automatica di moduli
basati sulle variabili come accade al boot. Questo ha senso
solo se prima usi unload, e cambi delle
variabili, in generale kernel.help
argomentoMostra un messaggio d'aiuto letto da
/boot/loader.help. Se l'argomento dato
č index, allora elenca tutti gli
argomenti disponibili.include nomefile …Processa il file specificato. Il file viene letto, e
interpretato riga per riga. Un errore blocca il comando include
immediatamente.load tiponomefileCarica il kernel, il modulo del kernel, o il file
del tipo specificato, con il nome specificato. Ogni argomento
dopo nomefile viene passato al
file.ls percorsoMostra un elenco dei file nel percorso dato, o nella
directory root, se non ne viene specificato uno. Se č
specificato , verranno mostrate anche le
dimensioni dei file.lsdev Elenca tutti i dispositivi dai quali potrebbe essere
possibile caricare moduli. Se viene specificata l'opzione
, verranno stampati dettagli maggiori.lsmod Mostra i moduli caricati. Se viene specificato
, verranno stampati dettagli maggiori.more nomefileMostra i file specificati, con una pausa ad ogni
pagina visualizzata.rebootRiavvia immediatamente il sistema.set variabileset
variabile=valoreImposta le variabili di ambiente del loader.unloadRimuove tutti i moduli caricati.Esempi sul LoaderQui ci sono alcuni esempi pratici sull'uso del loader:
-
- modalitŕ singolo utente
-
-
Per avviare semplicemente il vostro kernel abituale,
- ma in modalitŕ singolo utente:
+ ma in modalitŕ singolo utente:modalitŕ singolo utenteboot -sPer scaricare dalla memoria i moduli e il kernel usuali,
e poi caricare solo il vecchio (o un altro) kernel:
-
- kernel.old
-
-
unloadload kernel.oldPuoi usare kernel.GENERIC per riferirti
al kernel generico che viene fornito nel disco d'installazione, o
- kernel.old per riferirti al kernel installato
+ kernel.oldkernel.old per riferirti al kernel installato
precedentemente (quando hai aggiornato o configurato il kernel, ad
esempio).Usa il comando seguente per caricare i tuoi soliti moduli
con un altro kernel:unloadset kernel="kernel.old"boot-confPer caricare uno script di configurazione del kernel
(uno script automatizzato che faccia le cose che faresti tu
normalmente configurando il kernel all'avvio):load -t userconfig_script /boot/kernel.confInterazione con il Kernel Durante l'Avviokernelinterazione all'avvioUna volta che il kernel č stato caricato dal loader (come di consueto) o da boot2 (scavalcando il loader), esso
esamina i suoi flag di avvio, se ce ne sono, e aggiusta il suo
comportamento come necessario.I Flag di Avvio del Kernelkernelflag di bootQui ci sono alcuni dei piů comuni flag di avvio:durante l'inizializzazione del kernel, chiede il dispositivo
da montare come file system di root.avvia da CDROM.esegue UserConfig, il programma di configurazione del kernel
all'avvioavvia in modalitŕ singolo utenteaumenta la verbositŕ durante l'avvio del kernelCi sono altri flag di avvio, leggi &man.boot.8; per maggiori
informazioni su di essi.TomRhodesContributo di Device Hintsdevice.hintsQuesta č una caratteristica di FreeBSD 5.0 e successive
che non esiste nelle versioni precedenti.Durante l'avvio iniziale del sistema, il boot &man.loader.8;
leggerŕ il file &man.device.hints.5;. Questo file contiene
informazioni di avvio per il kernel dette variabili, e talvolta indicate
come device hints, suggerimenti per i dispositivi.
Questi device hints vengono usati dai driver per la
configurazione delle varie periferiche.I device hints possono essere specificati anche nel prompt del terzo
stadio del boot loader.
Le variabili possono essere aggiunte usando il comando
set, rimosse con unset, e
visualizzate con show. Inoltre, in questo modo,
le variabili impostate nel file /boot/device.hints
possono essere scavalcate. I device hint inseriti in questo modo non sono
permanenti e verranno dimenticati al riavvio seguente.Una volta che il sistema č stato avviato, puň essere
usato il comando &man.kenv.1; per mostrare tutte le variabili.La sintassi per il file /boot/device.hints
č una variabile per riga, usando il solito cancelletto
# per indicare i commenti. Le linee sono costruite come
segue:hint.driver.unit.keyword="valore"La sintassi nel terzo stadio del boot loader č:set hint.driver.unit.keyword=valoredriver č il nome del driver per il
dispositivo, unit č il numero di unitŕ
per quel driver, e keyword č la parola chiave
per quell'hint. La parola chiave puň essere:at: specifica il bus sul quale č
collegato il dispositivo.port: specifica l'indirizzo iniziale di
I/O che deve essere usato.irq: specifica il numero di interrupt request
che deve essere usato.drq: specifica il numero del canale DMA.maddr: specifica l'indirizzo di memoria fisico
occupato dal dispositivo.flags: imposta vari bit di flag per il
dispositivo.disabled: se impostato a 1 il
dispositivo č disabilitato.I driver possono accettare (o richiedere) piů hints di quelli
elencati qui, si raccomanda quindi di verificare la loro pagina di
manuale. Per maggiori informazioni, consulta le pagine man
&man.device.hints.5;, &man.kenv.1;, &man.loader.conf.5;, e
&man.loader.8;.Init: Inizializzazione del Controllo dei ProcessiinitUna volta che il kernel ha finito di avviarsi, trasferisce il
controllo al processo utente init, che si trova in
/sbin/init, o al programma specificato
nella variabile init_path nel
loader.Sequenza di Riavvio AutomaticaLa sequenza di riavvio automatica assicura che i file system
disponibili sul sistema siano consistenti. Se qualcuno non lo č,
e &man.fsck.8; non puň risolvere le inconsistenze, &man.init.8;
abbandona il sistema in modalitŕ
singolo utente per permettere all'amministratore di sistema di
occuparsi dei problemi direttamente.Modalitŕ Singolo Utentemodalitŕ singolo utenteconsoleQuesta modalitŕ puň essere raggiunta attraverso la
sequenza di riavvio automatica,
o tramite l'avvio da parte dell'utente con l'opzione
o impostando la variabile boot_single
nel loader.Si puň arrivare ad essa anche richiamando &man.shutdown.8;
senza l'opzione per il riavvio () o per l'arresto
(), dalla modalitŕ multi utente.Se la console del sistema č settata come
insecure in /etc/ttys,
allora il sistema richiede la password di root
prima di entrare in modalitŕ singolo utente.Una Console Insicura in /etc/ttys# name getty type status comments
#
# Se la console č settata come "insecure", allora init chiederŕ
# la password di root per andare in modalitŕ singolo utente .
console none unknown off insecureAvere una console insecure significa
ritenere insicura la sicurezza fisica della console, ed assicurarsi
che solo chi conosce la password di root possa
usare la modalitŕ singolo utente, non significa voler eseguire
la console in maniera insicura. Dunque, se vuoi avere sicurezza,
scegli insecure, non
secure.Modalitŕ Multi Utentemodalitŕ multi utenteSe &man.init.8; ritiene che i tuoi file system siano in ordine,
o quando l'utente ha terminato il lavoro in modalitŕ singolo utente, il
sistema entra in modalitŕ multi utente, nella quale inizia la
configurazione delle risorse del sistema.Configurazione delle Risorse (rc)file rcIl sistema di configurazione delle risorse legge i valori
predefiniti della configurazione da
/etc/defaults/rc.conf, e
i dettagli specifici del sistema da
/etc/rc.conf, e poi procede al montaggio dei
file system del sistema elencati in
/etc/fstab, avvia i servizi di rete,
avvia vari demoni di sistema, ed infine esegue gli script di avvio dei
pacchetti installati localmente.La pagina man di &man.rc.8; č un buon riferimento per la
configurazione delle risorse del sistema, poiché esamina gli
script stessi.Sequenza di SpegnimentospegnimentoAl momento di uno spegnimento controllato, tramite &man.shutdown.8;,
&man.init.8; cercherŕ di eseguire lo script
/etc/rc.shutdown, e poi procederŕ ad inviare
a tutti i processi il segnale TERM, e successivamente
il segnale KILL a quelli che non sono terminati in
tempo.Per spegnere una macchina FreeBSD su architetture e sistemi
che supportano la gestione dell'energia, usa semplicemente il comando
shutdown -p now per disattivare immediatamente
l'alimentazione. Per riavviare semplicemente un sistema FreeBSD, usa solo
shutdown -r now. Avrai bisogno di essere
root o un membro del gruppo
operator per eseguire &man.shutdown.8;.
Possono essere usati anche i comandi &man.halt.8; e &man.reboot.8;,
fai riferimento alle loro pagine di man ed a quella di &man.shutdown.8;
per maggiori informazioni.La gestione dell'energia richiede il supporto &man.acpi.4; nel
kernel o caricato come modulo.
diff --git a/it_IT.ISO8859-15/books/handbook/mail/chapter.xml b/it_IT.ISO8859-15/books/handbook/mail/chapter.xml
index b64a9580fd..53cf627174 100644
--- a/it_IT.ISO8859-15/books/handbook/mail/chapter.xml
+++ b/it_IT.ISO8859-15/books/handbook/mail/chapter.xml
@@ -1,2372 +1,2370 @@
BillLloydLavoro originale di JimMockRielaborato da Posta ElettronicaSinossiemailLa Posta Elettronica, meglio conosciuta come email,
č una delle forme di comunicazione maggiormente utilizzate
tutt'oggi. Questo capitolo fornisce un'introduzione di base per
eseguire un server di posta su &os;, come pure un'introduzione per inviare
e ricevere la posta elettronica usando &os;; comunque, questo non č
un riferimento completo e infatti molte considerazioni importanti sono
omesse. Per coprire questo argomento in modo piů completo, si
rimanda il lettore alla moltitudine di eccellenti libri elencati
nell'.Dopo aver letto questo capitolo, saprai:Quali componenti software vengono coinvolti nell'invio e
nella ricezione della posta elettronica.Dove sono collocati in FreeBSD i file di configurazione
fondamentali di sendmail.Le differenze tra casella di posta remota e locale.Come impedire agli spammer di usare illegalmente il tuo server di
posta come un relay.Come installare e configurare un mail transfer agent alternativo
sul tuo sistema, sostituendo
sendmail.Come risolvere i problemi piů frequenti legati al
server di posta.Come usare SMTP con UCCP.Come configurare il sistema solo per inviare la posta.Come usare la posta con una connessione dialup.Come configurare l'Autenticazione SMTP per aumentare la
sicurezza.Come installare e usare un Mail User Agent (MUA), come
mutt per inviare e ricevere la
posta.Come scaricare la tua posta da un server remoto
POP o IMAP.Come applicare in modo automatico filtri e regole sulla posta
in entrata.Prima di leggere questo capitolo, dovresti:Aver configurato correttamente la tua connessione di rete
().Aver configurato correttamente le informazioni DNS
relative alla tua macchina server di posta
().Sapere come installare software aggiuntivo di terze parti
().Utilizzo della Posta ElettronicaPOPIMAPDNSCi sono cinque parti principali impegnate in uno scambio di email.
Queste sono: il programma client, quello server, il DNS, una
casella di posta remota o locale, e naturalmente la macchina server di posta.Il Programma ClientQuesto include programmi a riga di comando quali
mutt, pine,
elm, e mail,
e programmi con un'interfaccia grafica (GUI) quali
balsa, xfmail
per citarne alcuni, e qualcosa di piů raffinato
simile a un browser WWW. Questi programmi semplicemente fanno passare
le transazioni email alla macchina
server di posta locale, chiamando uno dei
programmi server disponibili o
inoltrando queste transazioni via TCP.Il Programma Serverserver di postasendmailserver di postapostfixserver di postaqmailserver di postaexim&os; incorpora di default sendmail,
ma supporta anche altri programmi server di posta elettronica, alcuni
dei quali sono:exim;postfix;qmail.Di solito il programma server svolge due funzioni—si occupa
di ricevere la posta in arrivo e di consegnare quella in partenza.
Questo programma non permette di prelevare la posta
usando protocolli come POP o IMAP,
ne tanto meno di collegarsi alle caselle di posta locali
mbox o di tipo Maildir. Per far questo hai
bisogno di un altro demone.Vecchie versioni di sendmail contengono
alcuni seri problemi di sicurezza che possono dare la
possibilitŕ ad un attaccante di guadagnarsi un accesso locale
e/o remote sulla tua macchina. Assicurati di eseguire una versione
aggiornata per evitare questi problemi. In alternativa, installa
un altro MTA dalla &os;
Ports Collection.Email e DNSIl DNS (Domain Name System) e il suo demone
named giocano un ruolo fondamentale nella consegna
della posta. Per consegnare la posta dal tuo host a un altro, il
programma server cercherŕ l'host remoto nel DNS per determinare
la macchina server che riceverŕ la posta per il destinatario.
Lo stesso processo avviene quando un host remoto invia dei messaggi di
posta alla tua macchina server di posta.record MXIl DNS č responsabile della corrispondenza
tra nomi host ed indirizzi IP, e memorizza anche informazioni specifiche
per la consegna della posta, informazioni conosciute come record MX.
Il record MX (Mail eXchanger) specifica quale/i host dovranno ricevere
la posta per un particolare dominio. Se non hai un record MX per il tuo
nome host o per il tuo dominio, la posta sarŕ consegnata
direttamente al tuo host a condizione di avere un record A che mappa
il tuo nome host al tuo indirizzo IP.Puoi vedere i record MX per un dominio usando il comando
&man.host.1;, come mostrato nel seguente esempio:&prompt.user; host -t mx FreeBSD.org
FreeBSD.org mail is handled (pri=10) by mx1.FreeBSD.orgRicezione della PostaemailricezioneLa ricezione della posta per il tuo dominio viene gestita dalla
macchina server di posta. Questa raccoglierŕ la posta
indirizzata al tuo dominio e la salverŕ nel formato
mbox (metodo per la memorizzazione della posta di
default) o Maildir, a seconda delle tua configurazione. Una volta
memorizzata, la posta puň essere sia letta in modo locale usando
applicazioni come &man.mail.1; o mutt, sia
prelevata in modo remoto usando protocolli come POP
e IMAP. Ciň significa che se vuoi solo
leggere la posta localmente, non hai bisogno di installare un server
POP o IMAP.Accedere a caselle di posta remote usando POP
o IMAPPOPIMAPPer accedere a caselle di posta in modo remoto, devi avere
l'accesso a un server POP o
IMAP. Questi protocolli permettono agli utenti
di collegarsi con facilitŕ alle loro caselle di posta da
locazioni remote. Benchč sia POP che
IMAP permettono agli utenti di accedere alle
caselle di posta in modo remoto, IMAP offre
alcuni vantaggi, alcuni dei quali sono:IMAP puň memorizzare e prelevare
i messaggi di posta su un server remoto.IMAP supporta aggiornamenti
simultanei.IMAP puň essere estremamente utile
con connessioni lente poichč permette agli utenti di
prelevare la struttura dei messaggi senza scaricarli
completamente; puň inoltre realizzare compiti come la
ricerca su un server al fine di minimizzare il trasferimento dei
dati tra client e server.Per installare un server POP o
IMAP, devi seguire i seguenti passi:Scegli un server IMAP o
POP che meglio soddisfa le tue
necessitŕ. I seguenti server POP e
IMAP sono ben noti e si prestano come degli
ottimi esempi:qpopper;teapop;imap-uw;courier-imap;Installa il demone POP o
IMAP di tua scelta dalla collezione dei
port.Se necessario, modifica il file
/etc/inetd.conf per avviare il server
POP o IMAP.Nota che sia POP che IMAP
trasmettono informazioni, inclusi il nome utente e la password in
chiaro. Ciň significa che se vuoi mettere al sicuro la
trasmissione di informazioni su questi protocolli, potresti
considerare di effettuare tunnel di sessioni con &man.ssh.1;.
La creazione di tunnel di sessioni č descritta nella
.Accesso alle caselle di posta localiSi puň accedere localmente alla casella di posta
utilizzando un MUA sul server nel quale risiede la
casella di posta. Questo puň essere fatto usando applicazioni
come mutt o &man.mail.1;.La Macchina Server di Postamacchina server di postaLa macchina server di posta č il nome del server
che č responsabile della consegna e del ricevimento della posta
per il tuo host, ed eventualmente per la tua rete.ChristopherShumwayContributo di Configurazione di sendmailsendmail&man.sendmail.8; č il Mail Transfer Agent (MTA) di default su
FreeBSD. Il compito di sendmail č di
accettare posta dai Mail User Agent (MUA), e
consegnarla al server di posta appropriato come definito nel suo file di
configurazione. Inoltre sendmail puň
accettare connessioni via rete e consegnare i messaggi a caselle di posta
locali o ad un altro programma.sendmail utilizza i seguenti file di
configurazione:/etc/mail/access/etc/mail/aliases/etc/mail/local-host-names/etc/mail/mailer.conf/etc/mail/mailertable/etc/mail/sendmail.cf/etc/mail/virtusertableFileFunzione/etc/mail/accessFile database di accesso di
sendmail/etc/mail/aliasesAlias delle caselle di posta/etc/mail/local-host-namesLista di host per i quali
sendmail accetta posta/etc/mail/mailer.confFile di configurazione del programma di posta/etc/mail/mailertableTabella di consegna del programma di posta/etc/mail/sendmail.cfFile di configurazione principale di
sendmail/etc/mail/virtusertableTabelle degli utenti e dei domini virtuali/etc/mail/accessIl database di accesso definisce quali host o indirizzi
IP hanno accesso al server di posta locale e quale tipo di accesso
hanno. Gli host possono essere catalogati come ,
, o possono semplicemente
essere passati alla procedura di gestione degli errori di
sendmail con un preciso errore. Gli host
che sono definiti , che č il valore di
default, possono spedire posta a questo host sempre che la destinazione
finale della posta sia la macchina locale. Gli host che sono definiti
vengono rifiutati per qualsiasi connessione di
posta. Gli host che hanno l'opzione per i loro
nomi host possono utilizzare questo server per spedire posta verso
qualsiasi destinazione.Configurazione del Database di Accesso di
sendmailcyberspammer.com 550 Non accettiamo posta dagli spammer
FREE.STEALTH.MAILER@ 550 Non accettiamo posta dagli spammer
altra.sorgente.di.spam REJECT
okay.cyberspammer.com OK
128.32 RELAYIn questo esempio abbiamo cinque elementi. Gli host mittenti
che corrispondono a quelli posti sul lato sinistro della tabella sono
condizionati dall'azione posta sul lato destro della tabella.
I primi due esempi passano un codice di errore alla procedura di
sendmail che gestisce gli errori. Il
messaggio viene restituito all'host remoto quando viene trovata una
corrispondenza sul lato sinistro della tabella. Il terzo esempio
rifiuta la posta da un host specifico su Internet,
altra.sorgente.di.spam. Il quarto esempio accetta
connessioni di posta da un host, okay.cyberspammer.com, che č piů
preciso rispetto a cyberspammer.com
della prima linea. Le corrispondenze piů precise sovrascrivono
quelle meno precise. L'ultimo esempio permette il relay della posta
elettronica agli host che hanno un indirizzo IP che inizia con
128.32. Questi host possono spedire messaggi destinati
ad altri server di posta attraverso questo server.Quando modifichi questo file, devi eseguire make
in /etc/mail/ per aggiornare il database./etc/mail/aliasesIl database degli alias contiene una lista di caselle di posta
virtuali che sono espanse in altri utenti, file, programmi o in altri
alias. Seguono alcuni esempi che possono essere usati in
/etc/mail/aliases:Alias di Postaroot: utentelocale
ftp-bugs: joe,eric,paul
bit.bucket: /dev/null
procmail: "|/usr/local/bin/procmail"Il formato del file č semplice: il nome della casella di
posta che si trova a sinistra dei due punti viene espanso negli elementi
posti a destra dei due punti. Il primo esempio semplicemente espande la
casella di posta root nella casella di posta
utentelocale, che č di nuovo ricercata
nel database degli alias. Se non viene trovata, allora il messaggio
viene consegnato all'utente locale utentelocale.
L'esempio successivo mostra una mailing list. La posta indirizzata
alla casella di posta ftp-bugs viene espansa nelle
tre caselle di posta locali joe,
eric, e paul. Nota che una
casella di posta remota puň essere specificata come
user@example.com. Il terzo esempio mostra come
scrivere la posta su un file, in questo caso
/dev/null. L'ultimo esempio mostra come mandare
la posta a un programma, in questo caso il messaggio di posta diventa
lo standard input di /usr/local/bin/procmail
tramite una pipe &unix;.Quando modifichi questo file, devi eseguire make
in /etc/mail/ per aggiornare il database./etc/mail/local-host-namesQuesto file č una lista di nomi host che &man.sendmail.8;
accetta come se fossero l'host locale. Metti i domini o gli host
per i quali sendmail deve ricevere posta.
Per esempio, se questo server di posta dovesse essere in grado di
accettare posta per il dominio
example.com e per l'host
mail.example.com, il suo
local-host-names potrebbe assomigliare a
questo:example.com
mail.example.comQuando modifichi questo file, devi riavviare &man.sendmail.8; per
attivare i cambiamenti./etc/mail/sendmail.cfIl file di configurazione principale di
sendmail, sendmail.cf
controlla l'intero comportamento di sendmail,
inclusa ogni cosa, dalla rielaborazione degli indirizzi e-mail alla
stampa del messaggio di rifiuto per i server di posta remoti.
Naturalmente, avendo svariati compiti, questo file di configurazione
č alquanto complesso e i suoi dettagli vanno oltre lo scopo di
questa sezione. Fortunatamente, questo file necessita raramente di
essere modificato per server di posta standard.Il file di configurazione principale di
sendmail puň essere costruito
a partire da macro &man.m4.1; che definiscono le caratteristiche e il
comportamento di sendmail. Guarda
/usr/src/contrib/sendmail/cf/README per ulteriori
dettagli.Quando modifichi questo file, devi riavviare &man.sendmail.8; per
attivare i cambiamenti./etc/mail/virtusertableIl file virtusertable mappa indirizzi di posta
relativi a domini e caselle di posta virtuali in caselle di posta reali.
Queste caselle di posta possono essere locali, remote, alias definiti in
/etc/mail/aliases o file.Esempio di Mappatura per la Posta di un Dominio Virtualeroot@example.com root
postmaster@example.com postmaster@noc.example.net
@example.com joeNell'esempio precedente, abbiamo una mappatura per il dominio
example.com. Questo file viene
processato dall'alto verso il basso fermandosi alla prima corrispondenza
trovata. Il primo elemento mappa root@example.com
nella casella di posta locale root. Il secondo
elemento mappa postmaster@example.com nella casella
di posta postmaster sull'host noc.example.net. Infine, se non sono state
trovate corrispondenze per example.com
fino a questo punto, verrŕ verificata l'ultima mappatura, che
corrisponde a tutti gli altri messaggi di posta indirizzati a qualche
utente di example.com.
Questo verrŕ mappato nella casella di posta locale
joe.AndrewBoothmanScritto da GregoryNeil ShapiroInformazioni prese da e-mail scritte da Sostituzione del proprio Mail Transfer Agentemailcambiare mtaCome giŕ menzionato, l'MTA (Mail Transfer Agent, agente di
trasferimento della posta elettronica) installato di default su FreeBSD
č sendmail. Di conseguenza
sendmail č responsabile della tua posta
in partenza e di quella in arrivo.Comunque, per vari motivi, alcuni amministratori necessitano di
cambiare l'MTA dei loro sistemi. Questi motivi spaziano dal voler
semplicemente provare un altro MTA all'aver bisogno di una caratteristica
o di un pacchetto specifico ritrovabile in un altro MTA. Fortunatamente,
per qualsiasi motivo, FreeBSD semplifica il processo di
sostituzione.Installazione di un nuovo MTAHai un'ampia scelta di MTA utilizzabili. Un buon punto di partenza
č la FreeBSD Ports Collection dove
puoi trovarne molti. Naturalmente sei libero di usare qualunque
MTA proveniente da qualche sito, a condizione che tu riesca ad eseguirlo
sotto FreeBSD.Inizia installando il tuo nuovo MTA. Una volta installato devi
valutare se realmente soddisfa le tue necessitŕ, inoltre devi
avere la possibilitŕ di configurare il tuo nuovo programma prima
che subentri a sendmail. Valutato questo,
devi essere sicuro che durante l'installazione del nuovo programma non
ci siano stati tentativi di sovrascrivere binari di sistema come
/usr/bin/sendmail. Altrimenti, il tuo nuovo
programma di posta č stato essenzialmente messo in
attivitŕ prima che tu l'abbia configurato.Per cortesia fai riferimento alla documentazione dell'MTA che hai
scelto per informazioni su come configurarlo.Disabilitazione di sendmailLa procedura usata per avviare sendmail
cambia significativamente tra la 4.5-RELEASE e la 4.6-RELEASE.
Di conseguenza, la procedura usata per disabilitarlo č
leggermente differente a seconda della versione di FreeBSD
utilizzata.Se disabiliti il servizio di consegna della posta di
sendmail in questo modo, č
importante che questo venga rimpiazzato con un altro sistema
di consegna della posta. Se non lo farai,
le funzioni di sistema come &man.periodic.8; saranno incapaci di
inviare i loro risultati tramite e-mail come normalmente prevedono
di fare. Molte parti del tuo sistema potrebbero presupporre di
avere un sistema funzionante compatibile con
sendmail. Se le applicazioni continuano
a usare i binari di sendmail per tentare
di spedire e-mail dopo che tu l'hai disabilitato, la posta potrebbe
finire in una coda inattiva di sendmail,
senza che venga mai consegnata.FreeBSD 4.5-STABLE prima del 4/4/2002 e precedenti (inclusa
4.5-RELEASE e precedenti)Metti:sendmail_enable="NO"in /etc/rc.conf. In questo modo si
disabiliterŕ il servizio di ricezione della posta
di sendmail, ma se
/etc/mail/mailer.conf (vedi sotto) non viene
modificato, sendmail verrŕ ancora
usato per spedire e-mail.FreeBSD 4.5-STABLE dopo il 4/4/2002 (inclusa 4.6-RELEASE e
successive)Per disabilitare completamente sendmail,
incluso il servizio della posta in uscita, devi metteresendmail_enable="NONE"in /etc/rc.conf.Se vuoi solamente disabilitare il servizio di ricezione della
posta di sendmail, devi metteresendmail_enable="NO"in /etc/rc.conf. Comunque, se
la ricezione della posta č disabilitata, la consegna locale
funzionerŕ ancora. Maggiori informazioni sulle
opzioni di avvio di sendmail sono
disponibili nella pagina man di &man.rc.sendmail.8;.FreeBSD 5.0-STABLE e SuccessivePer disabilitare completamente
sendmail, servizi di posta in
ingresso e in uscita inclusi, devi usaresendmail_enable="NO"
sendmail_submit_enable="NO"
sendmail_outbound_enable="NO"
sendmail_msp_queue_enable="NO"in /etc/rc.conf.Se vuoi solamente disabilitare il servizio di ricezione della
posta di sendmail, devi metteresendmail_enable="NO"in /etc/rc.conf. Molte informazioni sulle
opzioni di avvio di sendmail sono
disponibili nella pagina man di &man.rc.sendmail.8;.Esecuzione del nuovo MTA all'avvioHai due possibili metodi per eseguire il tuo nuovo MTA all'avvio,
a seconda della versione di FreeBSD utilizzata.FreeBSD 4.5-STABLE prima del 11/4/2002 (inclusa 4.5-RELEASE e
precedenti)Posiziona uno script in
/usr/local/etc/rc.d/ con estensione
.sh ed eseguibile da root.
Lo script deve accettare i parametri start e
stop. Nella fase di avvio di FreeBSD gli script
di sistema eseguiranno il comando/usr/local/etc/rc.d/supermailer.sh startche puoi anche usare per avviare manualmente il
server. Nella fase di chiusura di FreeBSD, gli script di sistema
useranno l'opzione stop, eseguendo il
comando/usr/local/etc/rc.d/supermailer.sh stopche puoi anche usare per arrestare manualmente il
server mentre il sistema č in funzione.FreeBSD 4.5-STABLE dopo il 11/4/2002 (inclusa 4.6-RELEASE e
successive)Con le versioni recenti di FreeBSD, puoi usare il metodo
precedente oppure puoi metteremta_start_script="nomefile"in /etc/rc.conf, dove
nomefile č il nome dello script
che vuoi eseguire all'avvio per avviare il tuo MTA.Sostituzione di sendmail come programma
di posta di default del sistemasendmail č cosě
onnipresente come programma standard su sistemi &unix; che alcuni
programmi lo suppongono giŕ installato e configurato. Per questa
ragione, molti degli altri MTA forniscono la loro compatibile
implementazione dell'interfaccia a riga di comando di
sendmail; questo agevola il loro utilizzo
come sostituti drop-in di
sendmail.Quindi, se usi un altro programma di posta, dovrai assicurarti
che i programmi che tentano di eseguire i binari standard di
sendmail come
/usr/bin/sendmail in realtŕ eseguano
il programma di posta da te scelto. Fortunatamente, FreeBSD fornisce
un meccanismo chiamato &man.mailwrapper.8; che fa questo lavoro per
te.Quando sendmail č operativo,
dovresti vedere in /etc/mail/mailer.conf qualcosa
di simile a questo:sendmail /usr/libexec/sendmail/sendmail
send-mail /usr/libexec/sendmail/sendmail
mailq /usr/libexec/sendmail/sendmail
newaliases /usr/libexec/sendmail/sendmail
hoststat /usr/libexec/sendmail/sendmail
purgestat /usr/libexec/sendmail/sendmailQuesto significa che quando uno di questi comandi
(come sendmail stesso) viene eseguito, in
realtŕ il sistema invoca una copia di mailwrapper di nome
sendmail, la quale esamina
mailer.conf ed esegue
/usr/libexec/sendmail/sendmail. Questo meccanismo
facilita la sostituzione dei binari che sono realmente eseguiti quando
vengono invocate queste funzioni di default di
sendmail.Quindi se vuoi che
/usr/local/supermailer/bin/sendmail-compat sia
eseguito al posto di sendmail, devi
modificare /etc/mail/mailer.conf in questo
modo:sendmail /usr/local/supermailer/bin/sendmail-compat
send-mail /usr/local/supermailer/bin/sendmail-compat
mailq /usr/local/supermailer/bin/mailq-compat
newaliases /usr/local/supermailer/bin/newaliases-compat
hoststat /usr/local/supermailer/bin/hoststat-compat
purgestat /usr/local/supermailer/bin/purgestat-compatConclusioneUna volta che hai configurato ogni cosa a tuo piacimento, devi
terminare i processi di sendmail di cui non
hai piů bisogno e avviare i processi appartenenti al tuo nuovo
programma, oppure puoi semplicemente riavviare il sistema. Riavviando
il sistema avrai la possibilitŕ di verificare se il sistema sia
stato configurato correttamente per eseguire il tuo nuovo MTA in modo
automatico all'avvio.Risoluzione dei Problemiemailrisoluzione dei problemiPerché devo usare nomi di dominio completi (FQDN) per gli
host del mio dominio?Probabilmente ti accorgerai che l'host č effettivamente
in un dominio differente; per esempio, se sei in foo.bar.edu e desideri raggiungere un host
chiamato mumble appartenente al dominio bar.edu, dovrai riferirti a questo
tramite un nome di dominio completo, mumble.bar.edu, invece del solo
mumble.Tradizionalmente, questo era permesso dai resolver
BINDBIND di
BSD. Tuttavia la versione corrente di
BIND equipaggiata con FreeBSD non
prevede piů l'abbreviazione di default per nomi di dominio
non completi all'infuori del dominio in cui sei. Quindi l'host
mumble sarŕ giudicato come mumble.foo.bar.edu, oppure sarŕ
ricercato per il dominio radice.Questo differisce dal comportamento precedente, dove la ricerca
continuava attraverso mumble.bar.edu, e mumble.edu. Dai un'occhiata all'RFC
1535 per i motivi per cui questa sia considerata una cattiva
pratica, o persino un buco di sicurezza.Come buona soluzione al problema, puoi mettere la linea:
search foo.bar.edu bar.edu
al posto della precedente:
domain foo.bar.edu
nel tuo /etc/resolv.conf. Comunque, assicurati
che l'ordine di ricerca non oltrepassi il
confine tra amministrazione locale e pubblica, come
definito nell'RFC 1535.sendmail riporta l'errore
mail loops back to myselfLa risposta č contenuta nelle FAQ di
sendmail come segue:Ottengo messaggi di errore, come questo:
553 MX list for domain.net points back to relay.domain.net
554 <user@domain.net>... Local configuration error
Come posso risolvere questo problema?
Hai chiesto che la posta per il dominio (es., domain.net) sia inoltrata
a un host specifico (in questo caso, relay.domain.net) attraverso l'uso di
un record MXrecord MX,
ma la macchina di inoltro non si riconosce appartenente a
domain.net. Aggiungi domain.net in /etc/mail/local-host-names
[chiamato /etc/sendmail.cw nelle versioni precedenti alla 8.10]
(se stai usando FEATURE(use_cw_file)) oppure aggiungi Cw domain.net
in /etc/mail/sendmail.cf.Le FAQ di sendmail possono essere
trovate su ed
č raccomandato leggerle se vuoi perfezionare
la tua configurazione di posta.Come posso eseguire un server di posta su un host connesso in
dial-up tramite PPPPPP?Vuoi collegare ad Internet una macchina FreeBSD posta sulla tua
LAN. La macchina FreeBSD sarŕ un gateway di posta per la
LAN. La connessione PPP non č molto indicata per questo
scopo.Esistono almeno due modi per far questo. Un modo č
usare UUCPUUCP.L'altro č trovare un server Internet a tempo pieno
che fornisca un servizio MXrecord MX secondario per il tuo dominio.
Per esempio, se il dominio della tua societŕ č
example.com e il tuo fornitore
di servizi Internet ha attivato example.net per fornire il servizio
MX secondario al tuo dominio, allora:example.com. MX 10 example.com.
MX 20 example.net.Solo un host deve essere specificato come ultimo
ricevente (aggiungi Cw example.com in
/etc/mail/sendmail.cf su example.com).Quando sendmail tenterŕ di consegnare
la posta proverŕ a connettersi alla tua connessione modem
(example.com). Molto
probabilmente finirŕ in time out poiché non sei
online. In modo automatico sendmail
consegnerŕ la posta al server MX secondario, ad esempio il
tuo provider Internet (example.net). Il server MX secondario
tenterŕ periodicamente di collegarsi al tuo host per
consegnare la posta all'host MX primario (example.com).Come script di login potresti usare qualcosa di simile a
questo:#!/bin/sh
# Mettimi in /usr/local/bin/pppmyisp
( sleep 60 ; /usr/sbin/sendmail -q ) &
/usr/sbin/ppp -direct pppmyispSe hai intenzione di creare uno script di login separato per
un utente potresti usare sendmail -qRexample.com
nello script precedente. Questo forzerŕ a processare
immediatamente tutta la posta per example.com situata nella tua
coda.Segue un'ulteriore sottigliezza della situazione:Messaggio rubato dalla &a.isp;.> forniamo l'MX secondario per un cliente. Il cliente si connette
> automaticamente ai nostri servizi molte volte al giorno per ottenere la
> posta per il suo MX primario (non chiamiamo il suo server quando arriva
> posta per il suo dominio). Il nostro sendmail processa la posta in coda
> ogni 30 minuti. Attualmente il cliente sta 30 minuti online per assicurarsi
> che tutta la posta vada all'MX primario.
>
> Esiste un comando che permetta di configurare sendmail in modo tale da
> spedire tutta la posta in quel momento? Naturalmente l'utente non ha
> privilegi di root sulla nostra macchina.
Nella sezione privacy flags di sendmail.cf, c'č una
definizione Opgoaway,restrictqrun
Rimuovi restrictqrun per permettere a utenti non root di avviare l'elaborazione
della coda. Inoltre potresti risistemare gli MX. Noi siamo l'MX primario per i
nostri clienti come questo, e abbiamo definito:
# Se siamo il miglior MX per un host, prova direttamente invece di generare
# errori di configurazione locale.
OwTrue
In questo modo un server remoto consegnerŕ direttamente a te, senza
tentare di connettersi al cliente. Dopodiché tu spedisci al tuo cliente.
Funziona solamente con gli host, quindi hai bisogno che il tuo
cliente chiami la sua macchina di posta customer.com cosě come
nomehost.customer.com nel DNS.
Basta mettere un record A nel DNS per customer.com.Perché continuo a ottenere l'errore Relaying
Denied quando spedisco posta da altri host?Con l'installazione di default di FreeBSD,
sendmail viene configurato in modo tale
da permettere di spedire posta solamente dall'host sul quale
č in esecuzione. Per esempio, se c'č installato un
server POP, allora gli utenti saranno in grado di
controllare la posta da scuola, dal lavoro, o da altre postazioni
remote ma tuttavia non potranno inviare messaggi di posta
all'esterno da postazioni esterne. Tipicamente, pochi istanti dopo
il tentativo, verrŕ spedita una email da
MAILER-DAEMON con il messaggio di errore
5.7 Relaying Denied.Esistono diversi modi per aggirare questo problema. La
soluzione piů semplice č mettere il proprio
indirizzo assegnato dall'ISP nel file che contiene i domini
a cui viene permesso di effettuare il relay,
/etc/mail/relay-domains. Un modo veloce
per far questo puň essere:&prompt.root; echo "your.isp.example.com" > /etc/mail/relay-domainsDopo aver creato o modificato questo file devi riavviare
sendmail. Questa soluzione č
ideale se sei un amministratore del server e non desideri
spedire posta localmente, o se vorresti usare un client/sistema
punta e clicca su un'altra macchina o perfino su un altro ISP.
Inoltre č molto utile se hai solo uno o due account
di posta configurati. Se ci sono molti indirizzi da aggiungere,
puoi semplicemente aprire questo file con il tuo editor di testo
preferito e aggiungere i domini, uno per riga:your.isp.example.com
other.isp.example.net
users-isp.example.org
www.example.orgOra l'invio della posta tramite il tuo sistema, da parte di
qualche host in lista (a condizione che l'utente abbia un account
sul tuo sistema), avrŕ successo. Questo č un buon
metodo per permettere agli utenti di spedire posta dal tuo sistema
in modo remoto senza dare la possibilitŕ a qualcuno di
spedire SPAM tramite il tuo sistema.Argomenti AvanzatiLa seguente sezione tratta argomenti piů complicati come
l'organizzazione e la configurazione della posta per tutto il tuo
dominio.Configurazione di BaseemailconfigurazioneDalla macchina FreeBSD, dovresti essere in grado di spedire posta a
host esterni a condizione di aver sistemato
/etc/resolv.conf o di avere in esecuzione un
proprio server dei nomi. Se vuoi che la posta per il tuo host sia
consegnata all'MTA (es., sendmail) in
esecuzione sul tuo host FreeBSD, esistono due metodi per farlo:Eseguire un proprio server dei nomi e avere un proprio dominio.
Per esempio, FreeBSD.orgRicevere la posta direttamente sul tuo host. Questo viene fatto
consegnando la posta direttamente al nome DNS corrente della tua
macchina. Per esempio, example.FreeBSD.org.SMTPIndipendentemente dal metodo scelto, affinché la posta
possa essere consegnata direttamente al tuo host, devi avere un
indirizzo IP statico permanente (non un indirizzo dinamico, come avviene
nella maggior parte delle configurazioni dial-up di PPP). Se sei
dietro a un firewall, devi abilitare il traffico SMTP in entrata. Se
vuoi ricevere la posta direttamente sul tuo host, devi verificare una di
queste due cose:
- record MX
-
- Assicurati che il record MX (con il numero piů basso)
+ Assicurati che il record MXrecord MX (con il numero piů basso)
relativo al tuo host nel tuo DNS punti all'indirizzo IP del tuo
host.Assicurati che non ci siano record MX nel tuo DNS per il tuo
host.Entrambi questi due metodi ti permettono di ricevere posta
direttamente sul tuo host.Prova questi comandi:&prompt.root; hostname
example.FreeBSD.org
&prompt.root; host example.FreeBSD.org
example.FreeBSD.org has address 204.216.27.XXSe ottieni un risultato simile, l'invio diretto a
yourlogin@example.FreeBSD.org dovrebbe
funzionare senza problemi (assumendo che
sendmail sia correttamente in esecuzione
su example.FreeBSD.org).Se invece vedi qualcosa di simile a questo:&prompt.root; host example.FreeBSD.org
example.FreeBSD.org has address 204.216.27.XX
example.FreeBSD.org mail is handled (pri=10) by hub.FreeBSD.orgTutta la posta spedita al tuo host (example.FreeBSD.org) finirŕ per essere
raccolta su hub sotto lo stesso nome utente invece
di essere spedita direttamente al tuo host.L'informazione precedente viene gestita dal tuo server DNS. Il
record DNS che riporta l'informazione di instradamento della posta
č l'elemento Mail
eXchange. Se non esistono record MX, la posta
sarŕ consegnata direttamente all'host attraverso il suo
indirizzo IP.L'elemento MX per freefall.FreeBSD.org
in passato assomigliava a questo:freefall MX 30 mail.crl.net
freefall MX 40 agora.rdrop.com
freefall MX 10 freefall.FreeBSD.org
freefall MX 20 who.cdrom.comCome puoi vedere, freefall aveva molti elementi MX.
Il numero MX piů basso č l'host che, se disponibile,
riceve direttamente la posta; se per qualche ragione questo non č
accessibile, gli altri (qualche volta chiamati
MX di backup) accettano i messaggi temporaneamente,
e li passano all'host attivo con numero inferiore, fino all'host
con il numero piů basso.I server MX alternativi dovrebbero avere connessioni Internet
indipendenti dalla propria al fine di risultare piů utili.
Il tuo ISP o un tuo amico non dovrebbero avere problemi
a darti questo servizio.Posta per il Tuo DominioPer organizzare un server di posta hai bisogno che la posta inviata
alle stazioni di lavoro sia ricevuta direttamente sul server di posta.
Sostanzialmente, hai bisogno di richiedere che la posta
per i nomi host del tuo dominio (in questo caso *.FreeBSD.org) sia deviata al server di posta in
modo tale che i tuoi utenti possono raccogliere la loro posta sul
server di posta principale.DNSPer rendere la vita piů facile, dovrebbe esistere su
entrambe le macchine un account utente con lo stesso nome
utente. Usa &man.adduser.8; per farlo.La macchina server di posta che utilizzerai deve essere
designata come la macchina che scambia la posta per tutte le postazioni
sulla rete. Questo viene realizzato attraverso la configurazione del
DNS in modo simile a quanto segue:example.FreeBSD.org A 204.216.27.XX ; Stazione di lavoro
MX 10 hub.FreeBSD.org ; Server di postaIn questo modo la posta per la stazione di lavoro sarŕ
reindirizzata al server di posta senza preoccuparsi dove punti il
record A. La posta viene inviata all'host MX.Non puoi effettuare queste modifiche da solo a meno che non hai in
esecuzione un tuo server DNS. Se non puoi eseguire un server DNS,
consulta il tuo ISP o chiunque ti fornisca il servizio DNS.Se stai facendo dell'hosting di posta elettronica virtuale, le
seguenti informazioni ti torneranno utili. In questo esempio, assumiamo
che hai un cliente con un proprio dominio, in questo caso customer1.org, e vuoi che tutta la posta
per customer1.org sia spedita alla
tua macchina server di posta mail.myhost.com.
L'elemento nel tuo DNS dovrebbe assomigliare a questo:customer1.org MX 10 mail.myhost.comNon hai bisogno di un record A per customer1.org se vuoi solamente gestire
la posta per tale dominioSii consapevole che un ping su customer1.org non funzionerŕ se
non esiste un record A per tale dominio.L'ultima cosa che devi fare č indicare a
sendmail, posto sulla tua macchina server,
per quali domini e/o host deve accettare posta. Esistono
differenti modi per farlo. I seguenti due funzionano entrambi:Se usi FEATURE(use_cw_file) aggiungi gli host
al tuo file /etc/mail/local-host-names. Se usi
una versione di sendmail precedente
alla 8.10, il file da usare č
/etc/sendmail.cw.Se usi la versione di sendmail 8.10
o superiore aggiungi la riga Cwyour.host.com al
tuo /etc/sendmail.cf o
/etc/mail/sendmail.cf.SMTP con UUCPLa configurazione di sendmail di default
su FreeBSD č designata per siti che si collegano direttamente a
Internet. I siti che vogliono scambiarsi lo loro posta tramite
UUCP devono installare un altro file di configurazione di
sendmail.Editare a mano il file /etc/mail/sendmail.cf
č materia da esperti. La versione 8 di
sendmail genera file di configurazione tramite
la preelaborazione di &man.m4.1;, dove l'attuale configurazione avviene
su un livello di astrazione piů alto. I file di configurazione
di &man.m4.1; possono essere trovati sotto
/usr/share/sendmail/cf. Il file
README nella directory cf
puň servire come introduzione di base alla configurazione
di &man.m4.1;.Il miglior modo per supportare la consegna UUCP č usare la
caratteristica mailertable. Questa crea un database
che sendmail puň usare per prendere le
decisioni di instradamento.Prima di tutto, devi creare il tuo file .mc.
La directory /usr/share/sendmail/cf/cf
contiene alcuni esempi. Assumendo che tu abbia chiamato il tuo file
foo.mc, tutto quello che devi fare per convertirlo
in un valido sendmail.cf č:&prompt.root; cd /etc/mail
&prompt.root; make foo.cf
&prompt.root; cp foo.cf /etc/mail/sendmail.cfUn tipico file .mc potrebbe assomigliare a
questo:VERSIONID(`Il tuo numero di versione') OSTYPE(bsd4.4)
FEATURE(accept_unresolvable_domains)
FEATURE(nocanonify)
FEATURE(mailertable, `hash -o /etc/mail/mailertable')
define(`UUCP_RELAY', il.tuo.relay.uucp)
define(`UUCP_MAX_SIZE', 200000)
define(`confDONT_PROBE_INTERFACES')
MAILER(local)
MAILER(smtp)
MAILER(uucp)
Cw il.tuo.nome.host.alias
Cw iltuonodouucp.UUCPLe righe contenenti le caratteristiche
accept_unresolvable_domains,
nocanonify, and
confDONT_PROBE_INTERFACES impediscono l'uso del DNS
durante la consegna della posta. La clausola
UUCP_RELAY č necessaria per supportare la
consegna UUCP. Metti semplicemente un nome host di Internet che č
in grado di gestire indirizzi di pseudo-domini .UUCP; molto
probabilmente, metterai il relay del tuo ISP.Una volta fatto questo, hai bisogno del file
/etc/mail/mailertable. Se hai solo un collegamento
per l'esterno che viene usato per tutta la tua posta, la seguente riga
sarŕ sufficiente:#
# makemap hash /etc/mail/mailertable.db < /etc/mail/mailertable
. uucp-dom:il.tuo.relay.uucpUn esempio piů complesso potrebbe essere simile a
questo:#
# makemap hash /etc/mail/mailertable.db < /etc/mail/mailertable
#
horus.interface-business.de uucp-dom:horus
.interface-business.de uucp-dom:if-bus
interface-business.de uucp-dom:if-bus
.heep.sax.de smtp8:%1
horus.UUCP uucp-dom:horus
if-bus.UUCP uucp-dom:if-bus
. uucp-dom:Le prime tre righe gestiscono dei casi speciali dove la posta
indirizzata a quel dominio non dovrebbe essere spedita tramite
l'instradamento di default, ma piuttosto tramite alcuni UUCP di confine
al fine di accorciare il percorso di consegna. La quarta
riga gestisce la posta per il dominio Ethernet locale la quale puň
essere consegnata usando SMTP. Infine, gli UUCP di confine sono
menzionati con la notazione a pseudo-dominio .UUCP, per permettere a un
uucp-diconfine
!destinatario
di sovrascrivere le regole di default. L'ultima riga č sempre un
singolo punto, a cui corrisponde ogni altra cosa e che rappresenta la
consegna UUCP tramite l'UUCP di confine che viene usato come il tuo
gateway di posta universale verso il mondo. Tutti i nomi dei nodi dietro
alla parola uucp-dom: devono essere validi UUCP di
confine, come puoi verificare usando il comando
uuname.Si ricorda che questo file deve essere convertito in un file database
DBM prima di essere usato. La riga di comando che realizza ciň
č messa come un commento in cima al file
mailertable.
Devi sempre eseguire quel comando ogni volta che modifichi il file
mailertable.Ultimo suggerimento: se non sei sicuro che alcuni instradamenti di
posta potrebbero funzionare, ricordati l'opzione
di sendmail. Questa avvia
sendmail in modalitŕ test
indirizzo; digita semplicemente 3,0,
seguito dall'indirizzo su cui vuoi verificare l'instradamento della posta.
L'ultima riga ti informa quale agente di posta interno č stato
utilizzato, quale host di destinazione questo agente contatterŕ, e
l'indirizzo (molto probabilmente tradotto). Lascia questa modalitŕ
digitando CtrlD.&prompt.user; sendmail -bt
ADDRESS TEST MODE (ruleset 3 NOT automatically invoked)
Enter <ruleset> <address>
>3,0 foo@example.com
canonify input: foo @ example . com
...
parse returns: $# uucp-dom $@ your.uucp.relay $: foo < @ example . com . >
>^DBillMoranContributo di Configurazione del Sistema di Posta solo per l'InvioEsistono molti casi in cui vorresti avere la possibilitŕ di
inviare la posta attraverso un relay. Alcuni esempi sono:Il tuo computer č una macchina desktop, tuttavia vorresti
essere in grado di usare programmi come &man.send-pr.1;. Per fare
ciň, dovresti usare il relay di posta del tuo ISP.Il computer č un server che non gestisce localmente la
posta, ma demanda la gestione di tutta la posta ad un relay
inoltrandola in modo opportuno.La maggior parte degli MTA sono in grado di
soddisfare questa particolare richiesta. Sfortunatamente, configurare
in modo opportuno un MTA standard affinchč
permetta solo l'inoltro della posta puň essere un compito molto
oneroso. Usare applicazioni come sendmail e
postfix per questo fine risulta spesso troppo
eccessivo.Inoltre, alcuni servizi di accesso a Internet prevedono nel contratto
l'impossibilitŕ da parte del cliente di usare un server di
posta.Il modo piů facile per colmare questa necessitŕ č
installare il port mail/ssmtp.
Esegui i seguenti comandi come root:&prompt.root; cd /usr/ports/mail/ssmtp
&prompt.root; make install replace cleanUna volta installato, il port mail/ssmtp puň essere configurato con
quattro righe nel file
/usr/local/etc/ssmtp/ssmtp.conf:root=il_tuo_indirizzo_di_posta_reale
mailhub=mail.esempio.com
rewriteDomain=esempio.com
hostname=_HOSTNAME_Assicurati di usare il tuo indirizzo di posta per la variabile
root. Inserisci il server di posta di inoltro del
tuo ISP al posto di mail.esempio.com (alcuni
ISP lo chiamano come il server di posta in uscita o il
server SMTP).Assicurati di disabilitare sendmail,
incluso il servizio di posta in uscita. Guarda la
per maggiori dettagli.Il port mail/ssmtp ha altre
opzioni disponibili. Guarda il file di configurazione di esempio
/usr/local/etc/ssmtp e la pagina man di
ssmtp per alcuni esempi e maggiori
informazioni.Configurando ssmtp in questo modo
permetterai ai programmi sul tuo computer che necessitano di spedire posta
di funzionare correttamente, senza violare le politiche del tuo ISP e
senza permettere che il tuo computer sia utilizzato per l'inoltro di
spam.Uso della Posta con una Connessione DialupSe hai un indirizzo IP statico, non hai bisogno di adattare nulla alla
configurazione di default. Imposta come nome host il nome Internet che
ti č stato assegnato e sendmail
farŕ il resto.Se hai un indirizzo IP assegnato in modo dinamico e usi una
connessione PPP dialup per Internet, allora probabilmente avrai una
casella di posta sul server di posta del tuo ISP. Assumiamo che il
dominio del tuo ISP sia example.net,
che il tuo nome utente sia user, che hai chiamato
la tua macchina bsd.home, e che il tuo ISP
ti ha detto che puoi usare relay.example.net come relay per la posta.Per ricevere la posta dalla tua casella, devi installare un agente
di ricupero. L'utility fetchmail č
una buona scelta poichč supporta diversi tipi di protocolli.
Questo programma č disponibile come package o dalla collezione dei
port (mail/fetchmail).
Di solito, il tuo ISP fornirŕ
POP. Se stai usando PPP a livello
utente, puoi prelevare automaticamente la tua posta quando viene stabilita
una connessione a Internet mettendo la seguente riga in
/etc/ppp/ppp.linkup:MYADDR:
!bg su user -c fetchmailSe stai usando sendmail (come mostrato
sotto) per consegnare posta ad account non locali, probabilmente vorrai
che sendmail processi la tua coda di posta
non appena viene stabilita una connessione ad Internet. Per far questo,
metti il seguente comando dopo il comando fetchmail in
/etc/ppp/ppp.linkup.!bg su user -c "sendmail -q"Assumiamo che tu abbia un account per user su
bsd.home. Nella directory home di
user su bsd.home, crea
il file .fetchmailrc cosě composto:poll example.net protocol pop3 fetchall pass MySecretQuesto file non dovrebbe essere leggibile da nessuno ad eccezione di
user poichč contiene la password
MySecret.Per spedire la posta con il corretto header from:,
devi indicare a sendmail di usare
user@example.net piuttosto che
user@bsd.home. Inoltre vorrai indicare a
sendmail di spedire tutta la posta tramite
relay.example.net, permettendo una veloce
trasmissione della posta.Il seguente file .mc dovrebbe essere
sufficiente:VERSIONID(`bsd.home.mc version 1.0')
OSTYPE(bsd4.4)dnl
FEATURE(nouucp)dnl
MAILER(local)dnl
MAILER(smtp)dnl
Cwlocalhost
Cwbsd.home
MASQUERADE_AS(`example.net')dnl
FEATURE(allmasquerade)dnl
FEATURE(masquerade_envelope)dnl
FEATURE(nocanonify)dnl
FEATURE(nodns)dnl
define(`SMART_HOST', `relay.example.net')
Dmbsd.home
define(`confDOMAIN_NAME',`bsd.home')dnl
define(`confDELIVERY_MODE',`deferred')dnlFai riferimento alla precedente sezione per i dettagli su come
trasformare questo file .mc nel file
sendmail.cf. Inoltre, non dimenticarti di riavviare
sendmail dopo aver aggiornato il file
sendmail.cf.JamesGorhamScritto da Autenticazione SMTPAvere un'Autenticazione SMTP operativa sul tuo
server di posta porta numerosi benefici. L'Autenticazione
SMTP aggiunge un ulteriore strato di sicurezza a
sendmail, e ha il vantaggio di dare agli
utenti mobili che cambiano host la possibilitŕ di usare lo stesso
server di posta senza avere la necessitŕ di riconfigurare ogni
volta i settaggi dei loro programmi client di posta.Installa dai port security/cyrus-sasl2. Puoi trovare questo
port in security/cyrus-sasl2.
Il port security/cyrus-sasl2
ha diverse opzioni di compilazione. Per il metodo di
autenticazione SMTP che useremo, assicurati che l'opzione
non sia disabilitata.Dopo aver installato security/cyrus-sasl2, edita
/usr/local/lib/sasl2/Sendmail.conf
(o crealo se non esiste) e aggiungi la seguente riga:pwcheck_method: saslauthdQuindi, installa security/cyrus-sasl2-saslauthd,
edita /etc/rc.conf aggiungendo la
riga seguente:saslauthd_enable="YES"ed infine avvia il demone saslauthd:&prompt.root; /usr/local/etc/rc.d/saslauthd startQuesto demone serve come mediatore con
sendmail per autenticare gli utenti tramite
il proprio database passwd di FreeBSD. Questo
procedimento evita di creare un nuovo set di nomi utenti e password
per ogni utente che necessita di usare l'autenticazione
SMTP, mantenendo la password di login uguale alla
password di posta.Ora aggiungi le seguenti righe in
/etc/make.conf:SENDMAIL_CFLAGS=-I/usr/local/include/sasl -DSASL
SENDMAIL_LDFLAGS=-L/usr/local/lib
SENDMAIL_LDADD=-lsasl2Queste righe daranno, in fase di compilazione di
sendmail, le giuste opzioni di
configurazione per linkare a cyrus-sasl2. Assicurati che cyrus-sasl2 sia installato prima di
ricompilare sendmail.Ricompila sendmail eseguendo i
seguenti comandi:&prompt.root; cd /usr/src/lib/libsmutil
&prompt.root; make cleandir && make obj && make
&prompt.root; cd /usr/src/lib/libsm
&prompt.root; make cleandir && make obj && make
&prompt.root; cd /usr/src/usr.sbin/sendmail
&prompt.root; make cleandir && make obj && make && make installSe /usr/src non ha subito enormi cambiamenti
e se le librerie condivise di cui si ha bisogno sono disponibili, la
compilazione di sendmail non dovrebbe
avere problemi.Dopo aver compilato e reinstallato
sendmail, edita il tuo file
/etc/mail/freebsd.mc (o qualunque altro file che
usi come file .mc. Molti amministratori
preferiscono usare, per unicitŕ, l'output di &man.hostname.1;
come nome del file .mc). Aggiungi le seguenti
righe:dnl set SASL options
TRUST_AUTH_MECH(`GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN')dnl
define(`confAUTH_MECHANISMS', `GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN')dnlQueste opzioni configurano i vari metodi che
sendmail ha a disposizione per autenticare
gli utenti. Se vuoi usare un metodo diverso da
pwcheck, guarda la documentazione inclusa
nel package.Per finire, esegui &man.make.1; in /etc/mail.
Questo eseguirŕ il tuo nuovo file .mc e
creerŕ un file .cf di nome
freebsd.cf (o con il nome che hai usato per il
file .mc). Quindi esegui il comando
make install restart, che copierŕ il file in
sendmail.cf, e riavvierŕ correttamente
sendmail. Per maggiori informazioni su
questa procedura, dovresti prendere come riferimento
/etc/mail/Makefile.Se tutto č andato per il verso giusto, dovresti essere in grado
di inviare un messaggio di prova dopo aver inserito le informazioni di
login nel programma client di posta. Per ulteriori indagini, setta il
di sendmail a 13 e
guarda il file /var/log/maillog per eventuali
errori.Per ulteriori informazioni, guarda la pagina riguardante l'autenticazione
SMTP di
sendmail.MarcSilverContributo di Mail User AgentMail User AgentUn Mail User Agent (MUA) č un'applicazione
che viene usata per inviare e ricevere la posta elettronica. Man mano
che la posta evolve e diventa piů complessa,
gli MUA diventano sempre piů potenti nel modo
in cui essi interagiscono con la posta elettronica; ciň fornisce
agli utenti maggiori funzionalitŕ e flessibilitŕ.
&os; supporta svariati mail user agent, che possono essere facilmente
installati usando la FreeBSD Ports
Collection. Gli utenti possono scegliere tra client di posta
con un'interfaccia grafica come evolution o
balsa, client basati sulla console come
mutt, pine
e mail, oppure interfacce web utilizzate da alcune
grandi organizzazioni.mail&man.mail.1; č il Mail User Agent (MUA)
di default su &os;. Si tratta di un MUA basato sulla
console che offre tutte le funzionalitŕ di base richieste per
inviare e ricevere messaggi di posta testuali, anche se č
limitato nelle capacitŕ di gestione degli allegati, e puň
solo supportare caselle di posta locali.Sebbene mail non supporta in modo nativo
interazioni con server POP o IMAP,
queste caselle di posta possono essere scaricate nel file
mbox locale usando un'applicazione come
fetchmail, che verrŕ discussa
piů tardi in questo capitolo ().Al fine di inviare o ricevere la posta, invoca semplicemente il
comando mail come nel seguente esempio:&prompt.user; mailI contenuti delle caselle di posta degli utenti in
/var/mail sono letti
automaticamente dall'utility mail. Se la casella
di posta č vuota, l'utility esce con un messaggio che indica che
non č stato trovato nessun messaggio di posta. Una volta che
la casella di posta č stata letta, viene avviata l'interfaccia
dell'applicazione, e vengono visualizzati una lista di messaggi.
I messaggi sono numerati in modo automatico, come nel seguente
esempio:Mail version 8.1 6/6/93. Type ? for help.
"/var/mail/marcs": 3 messages 3 new
>N 1 root@localhost Mon Mar 8 14:05 14/510 "test"
N 2 root@localhost Mon Mar 8 14:05 14/509 "user account"
N 3 root@localhost Mon Mar 8 14:05 14/509 "sample"I messaggi possono ora essere letti usando il comando
t di mail, seguito dal numero
del messaggio che si vuole visualizzare. In questo esempio, leggeremo
il primo messaggio di posta:& t 1
Message 1:
From root@localhost Mon Mar 8 14:05:52 2004
X-Original-To: marcs@localhost
Delivered-To: marcs@localhost
To: marcs@localhost
Subject: test
Date: Mon, 8 Mar 2004 14:05:52 +0200 (SAST)
From: root@localhost (Charlie Root)
Questo č un messaggio di prova, per favore rispondi se lo ricevi.Come puoi vedere nell'esempio precedente, il tasto
t visualizza il messaggio completo di tutte le sue
intestazioni (header). Per visualizzare ancora la lista dei messaggi,
puoi usare il tasto h.Se il messaggio di posta richiede una replica, puoi usare
mail per rispondere, usando il tasto
R o r di mail.
Il tasto R dice a mail di rispondere
solamente al mittente del messaggio, mentre r replica
non solo al mittente, ma anche agli altri eventuali destinatari del
messaggio originario. Puoi anche impartire quei comandi con un
suffisso relativo al numero di messaggio per il quale intendi
rispondere. Fatto ciň, inserisci la tua risposta, segnalando la
fine del messaggio con un singolo punto (.) su una
nuova linea. Ecco un esempio:& R 1
To: root@localhost
Subject: Re: test
Thank you, I did get your email.
.
EOTPer inviare un nuovo messaggio, puoi usare il tasto
m, seguito dall'indirizzo di posta elettronica del
destinatario. Puoi specificare piů destinatari separando ogni
indirizzo da una virgola (,). Quindi si inserisce
il soggetto del messaggio (il subject), seguito dal contenuto del
messaggio stesso. La fine del messaggio deve essere specificata da un
singolo punto (.) su una nuova linea.& mail root@localhost
Subject: Ho imparato ad usare mail
Ora posso inviare e ricevere posta usando mail ... :)
.
EOTAnche se in mail, il comando ?
puň essere usato per invocare l'help in linea, la pagina man
&man.mail.1; dovrebbe essere consultata per ottenere maggiori
informazioni.Come menzionato in precedenza, il comando &man.mail.1; non
č stato originariamente progettato per gestire gli allegati, e
quindi il supporto per essi č proprio misero. Nuovi
MUA come mutt gestiscono
gli allegati in un modo piů intelligente. Tuttavia se desideri
comunque usare il comando mail, dovresti
considerare l'uso del port converters/mpack.muttmutt č un Mail User Agent leggero
ma molto potente, con caratteristiche eccellenti, alcune delle
quali sono:Abilitŕ nella gestione di thread di messaggi;Supporto PGP per la firma digitale e per criptare i messaggi di
posta;Supporto al MIME;Supporto del formato Maildir;Altamente personalizzabile.Tutte queste caratteristiche fanno di
mutt uno dei maggiori user agent avanzati
oggi disponibili. Guarda per
maggiori informazioni su mutt.La versione stabile di mutt puň
essere installata usando il port mail/mutt, mentre la versione corrente
di sviluppo puň essere installata tramite il port mail/mutt-devel. Una volta che il port
č stato installato, mutt puň
essere avviato usando il seguente comando:&prompt.user; muttmutt in modo automatico legge il
contenuto della casella di posta dell'utente in /var/mail/ e ne visualizza il contenuto.
Se non ci sono messaggi nella casella di posta dell'utente, allora
mutt si mette in attesa di comandi da parte
dell'utente. L'esempio qui sotto mostra mutt
che visualizza una lista di messaggi:Per leggere un messaggio, selezionalo usando i tasti cursore, e
premi il tasto Invio. Segue un esempio di come
mutt visualizza un messaggio:Come con il comando &man.mail.1;, mutt
permette agli utenti di rispondere al solo mittente del messaggio come
pure a tutti i suoi destinatari. Per rispondere solo al mittente
del messaggio, usa il tasto r. Per inviare una
risposta di gruppo, che invierŕ la risposta sia al mittente
originario sia a tutti i destinatari del messaggio, usa il tasto
g.mutt si serve del comando &man.vi.1;
come editor per la creazione o risposta dei messaggi di posta
elettronica. Il tipo di editor puň essere personalizzato
dall'utente creando o editando il proprio file di configurazione
.muttrc nella propria directory home e settando
in modo opportuno la variabile editor o
impostando la variabile di ambiente EDITOR.
Guarda per
ulteriori informazioni sulla configurazione di
mutt.Per comporre un nuovo messaggio, premi il tasto m.
Dopo aver digitato un valido soggetto, mutt
avvierŕ &man.vi.1; con il quale comporre il corpo del messaggio.
Fatto ciň, salvando e uscendo da vi,
mutt visualizzarŕ una schermata
riassuntiva del messaggio che sta per essere consegnato. Per inviare il
messaggio, premi il tasto y. Segue un esempio di una
schermata riassuntiva di un messaggio:mutt contiene un ottimo help in linea,
che puň essere accessibile nella maggior parte dei menů
digitando il tasto ?. Inoltre, in alcuni casi, nella
parte superiore delle finestra vengono elencati i tasti funzioni
principali.pinepine č rivolto agli utenti novizi,
tuttavia include alcune caratteristiche avanzate.Il software pine ha avuto svariate
vulnerabilitŕ remote scoperte in passato, che permettevano ad
attaccanti remoti di eseguire del codice arbitrario come se fossero
degli utenti locali del sistema, tramite l'invio di un messaggio di
posta preparato ad doc. Tutti questi noti
problemi sono stati rattoppati, ma il codice di
pine č stato scritto in un modo
insicuro e il Servizio di Sicurezza di &os; crede che probabilmente
esistono altre vulnerabilitŕ non ancora scoperte o divulgate.
Installa pine a tuo rischio e
pericolo.L'attuale versione di pine puň
essere installata usando il port mail/pine4. Una volta che il port č
stato installato, pine puň essere
avviato con il comando seguente:&prompt.user; pineLa prima volta che pine viene avviato
viene visualizza una pagina di presentazione con una breve introduzione,
e un sollecito del team di sviluppo di pine
ad inviare un messaggio anonimo che permette di constatare quanti sono
gli utenti che usano la loro applicazione. Per inviare questo messaggio
anonimo, premi Invio, oppure premi il tasto
E per uscire dalla presentazione senza inviare il
messaggio anonimo. Ecco un esempio della pagina di
presentazione:All'utente viene quindi presentato il menů principale, che
puň essere facilmente esplorato con i tasti cursore. Questo
menů principale fornisce le scorciatoie per comporre nuovi
messaggi di posta, per esplorare le directory di posta e perfino per
amministrare l'agenda degli indirizzi. Sotto al menů
principale, sono mostrati i tasti funzione utili per realizzare azioni
specifiche, attinenti all'attuale contesto d'uso.La directory di default aperta da pine
č inbox. Per visualizzare
l'indice dei messaggi, premi il tasto I, o seleziona
l'opzione MESSAGE INDEX come da
esempio:L'indice dei messaggi mostra i messaggi nella directory corrente,
e puň essere esplorato con i tasti cursore. I messaggi
selezionati possono essere letti premendo il tasto
Invio.Nello screenshot seguente, viene visualizzato un semplice messaggio
in pine. I tasti funzione sono visualizzati
come riferimento nella parte superiore della finestra. Un esempio di
uno di questi tasti funzioni č il tasto r,
che dice al MUA di rispondere al messaggio
attualmente visualizzato.In pine la risposta ad un messaggio viene
realizzata con l'editor pico, che č
installato di default con pine. L'utility
pico permette una semplice esplorazione del
messaggio ed č piů permissivo con i nuovi utenti rispetto
a &man.vi.1; o &man.mail.1;. Una volta completata la risposta, il
messaggio puň essere inviato con CtrlX.
L'applicazione pine chiederŕ una
conferma.pine puň essere personalizzato
usando l'opzione SETUP del menů
principale. Consulta per maggiori
informazioni.MarcSilverContributo di Usare fetchmailfetchmailfetchmail č un client
IMAP e POP super attrezzato che
da la possibilitŕ agli utenti di scaricare automaticamente la posta
da server remoti IMAP e POP e di
salvarla nelle proprie caselle di posta locali; in questo modo la posta
č piů accessibile. fetchmail
puň essere installato usando il port mail/fetchmail, e offre diverse
caratteristiche, alcune delle quali sono:Supporto dei protocolli POP3,
APOP, KPOP,
IMAP, ETRN e
ODMR.Capacitŕ di inoltrare la posta usando
SMTP, permettendo di filtrare, inoltrare, e usare
la funzionalitŕ alias come di consueto.Puň essere eseguito in modalitŕ demone per
verificare in modo periodico la presenza di nuovi messaggi.Puň recuperare piů caselle di posta e inoltrare
i relativi messaggi a diversi utenti locali, a seconda della sua
configurazione.Benchč la spiegazione di tutte le caratteristiche di
fetchmail vada oltre lo scopo di questo
documento, verranno presentate alcune funzionalitŕ di base.
fetchmail richiede un file di configurazione
.fetchmailrc, al fine di poter essere avviato in modo
corretto. Questo file include informazioni sui server come pure le
credenziali per il login. Data la natura sensibile del contenuto di
questo file, č consigliabile renderlo accessibile in sola lettura
dal proprietario, usando il seguente comando:&prompt.user; chmod 600 .fetchmailrcLa seguente configurazione di .fetchmailrc serve
come esempio per scaricare una singola casella di posta usando
POP. Essa indica a
fetchmail di connettersi a example.com usando come nome utente
joesoap e come password XXX.
Questo esempio assume che l'utente joesoap č
anche un utente del sistema locale.poll example.com protocol pop3 username "joesoap" password "XXX"Il prossimo esempio si connette a piů server
POP e IMAP e redirige i vari
messaggi a diversi nomi utenti locali quando necessario:poll example.com proto pop3:
user "joesoap", with password "XXX", is "jsoap" here;
user "andrea", with password "XXXX";
poll example2.net proto imap:
user "john", with password "XXXXX", is "myth" here;L'utility fetchmail puň essere
eseguita in modalitŕ demone con l'opzione ,
seguita da un intervallo (in secondi) in base al quale
fetchmail sonderŕ i server elencati nel
file .fetchmailrc. Il seguente esempio indica a
fetchmail di sondare i server ogni 600
secondi:&prompt.user; fetchmail -d 600Maggiori informazioni su fetchmail possono
essere trovate all'indirizzo .MarcSilverContributo di Usare procmailprocmailL'utility procmail č un'applicazione
molto potente usata per filtrare la posta in ingresso. Permette agli
utenti di definire delle regole che sono confrontate con la
posta in ingresso per realizzare funzioni specifiche o per inoltrare la
posta ad una casella di posta alternativa e/o ad altri indirizzi di posta.
procmail puň essere installato usando
il port mail/procmail. Una volta
installato, puň essere integrato direttamente nella maggior parte
degli MTA; consulta la documentazione del tuo
MTA per maggiori informazioni. Altrimenti,
procmail puň essere integrato
aggiungendo la seguente linea nel file .forward nella
home directory dell'utente, potendo cosě utilizzare le
funzionalitŕ di procmail:"|exec /usr/local/bin/procmail || exit 75"La seguente sezione mostra alcune regole base di
procmail, cosě come una breve
descrizione di ciň che fanno. Queste ed eventualmente altre
regole, devono essere inserite nel file .procmailrc,
posto nella home directory dell'utente.La maggior parte di queste regole possono essere trovate anche nella
pagina man di &man.procmailex.5;.Per inoltrare la posta inviata da user@example.com
all'indirizzo di posta goodmail@example2.com::0
* ^From.*user@example.com
! goodmail@example2.comPer inoltrare tutti i messaggi di posta con dimensioni inferiori a
1000 bytes verso l'indirizzo di posta esterno
goodmail@example2.com::0
* < 1000
! goodmail@example2.comPer inoltrare tutta la posta inviata a
alternate@example.com in una casella di posta chiamata
alternate::0
* ^TOalternate@example.com
alternatePer inviare tutti messaggi di posta con soggetto Spam
in /dev/null::0
^Subject:.*Spam
/dev/nullEcco una ricetta utile che analizza i messaggi di posta in ingresso
delle liste di &os;.org e li posiziona
in base alla lista in una opportuna casella di posta::0
* ^Sender:.owner-freebsd-\/[^@]+@FreeBSD.ORG
{
LISTNAME=${MATCH}
:0
* LISTNAME??^\/[^@]+
FreeBSD-${MATCH}
}
diff --git a/it_IT.ISO8859-15/books/handbook/network-servers/chapter.xml b/it_IT.ISO8859-15/books/handbook/network-servers/chapter.xml
index ff690571d4..b5763842a9 100644
--- a/it_IT.ISO8859-15/books/handbook/network-servers/chapter.xml
+++ b/it_IT.ISO8859-15/books/handbook/network-servers/chapter.xml
@@ -1,5585 +1,5566 @@
MurrayStokelyRiorganizzato da Server di reteSinossiQuesto capitolo coprirŕ alcuni dei servizi di rete usati
piů di frequente sui sistemi &unix;. Fra gli argomenti
toccati, ci saranno l'installazione, la configurazione,
il test ed la manutenzione di molti tipi diversi di
servizi di rete. Per vostro beneficio
in tutto il capitolo saranno inclusi file di
configurazione di esempio.Dopo aver letto questo capitolo, sarai in grado
di:Gestire il demone inetd.Installare un file system di rete.Installare un server NIS per condividere
account utenti.Installare impostazioni automatiche di rete usando DHCP.Installare un server di risoluzione dei nomi.Installare il server HTTP
Apache.Installare un File Transfer Protocol (FTP) Server.Installare un file server e server di stampa per client
&windows; usando Samba.Sincronizzare la data e l'ora ed installare un
time server, col protocollo NTP.Prima di leggere questo capitolo, dovresti:Comprendere le basi dell'organizzazione degli scripts
/etc/rc.Avere familiaritŕ con la terminologia di rete di
base.Sapere come installare software aggiuntivo di terze parti
().ChernLeeGrazie al contributo di Aggiornato per &os; 6.1-RELEASE da The &os; Documentation ProjectIl
Super-ServerinetdUno sguardo d'insieme&man.inetd.8; viene talvolta definito l'Internet
Super-Server perchč gestisce le connessioni verso
molti servizi. Quando una connessione
viene ricevuta da inetd, questo
determina per quale programma la connessione sia
destinata, esegue quel particolare processo e affida a
lui la socket (il programma č invocato con la socket
del servizio come descrittore di standard input, output
ed error). Eseguire inetd
per server dal carico non troppo alto puň ridurre il carico
complessivo di sistema, rispetto all'esecuzione individuale
di ogni demone in modalitŕ stand-alone.Principalmente, inetd č
usato per lanciare altri demoni, ma molti protocolli
triviali sono gestiti direttamente, come ad esempio
i protocolli chargen,
auth, e
daytime.Questa sezione coprirŕ le basi della configurazione
di inetd attraverso le
opzioni da linea di comando
ed il suo file di configurazione,
/etc/inetd.conf.Impostazioniinetd viene inizializzato
attraverso il sistema &man.rc.8;.
L'opzione inetd_enable č
impostata a NO di default, ma puň essere
attivata da sysinstall
durante l'installazione, a seconda della configurazione
scelta dall'utente. Inserendo:inetd_enable="YES"oinetd_enable="NO"in
/etc/rc.conf si abiliterŕ o meno
la partenza di
inetd al boot.
Il comando:&prompt.root; /etc/rc.d/inetd rcvarpuň essere utilizzato per mostrare le impostazioni
attive al momento.Inoltre, diverse opzioni di linea di comando possono
essere passate a inetd attraverso
l'opzione inetd_flags.Opzioni su linea di comandoCome molti server di rete, inetd
ha un numero di opzioni che possono essergli passate
per modificare il suo comportamento. La lista di tutte le opzioni č:inetd synopsis:Si possono passare opzioni ad inetd usando
l'opzione inetd_flags in
/etc/rc.conf. Di default,
inetd_flags č impostato a
-wW -C 60, il che attiva il TCP wrapping per i servizi di
inetd, ed impedisce ad ogni singolo
indirizzo IP di richiedere qualsiasi servizio piůdi 60 volte
al minuto.Gli utenti novizi possono notare con piacere che
questi parametri di solito non devono essere modificati,
anche se bisogna menzionare il fatto che le opzioni di
limitazione delle connessioni sono utili solo se ci si accorge
di ricevere un numero eccessivo di connessioni. L'intera lista
delle opzioni di &man.inetd.8; puň essere trovata
nel manuale di &man.inetd.8;.-c maximumSpecifica il numero massimo di invocazioni simultanee
per ogni servizio; il default č illimitato.
Puň essere sovrascritto per ogni servizio dal
parametro .-C rateSpecifica un numero massimo di volte in cui
un servizio puň essere invocato da un singolo
indirizzo IP in un
minuto; il default č illimitato. Puň essere
sovrascritto per ogni servizio con il parametro
.-R rateSpecifica il numero massimo di volte che un servizio
puň essere invocato in un minuto; il default č
256. L'impostazione 0 permette un numero illimitato di
invocazioni.-s maximumSpecifica il numero massimo di volte
che un servizio puň essere invocato per ogni periodo di
tempo; il default č illimitato. Puň essere sovrascritto
per ogni singolo servizio con il parametro .
inetd.conf La configurazione di inetd
č fatta attraverso il file
/etc/inetd.conf.Quando viene apportata una modifica a
/etc/inetd.conf,
si puň forzare inetd
a rileggere il suo file di configurazione
eseguendo il comando:Ricaricare il file di configurazione
di inetd&prompt.root; /etc/rc.d/inetd reload Ogni linea del file di configurazione specifica un
singolo demone. I commenti nel file sono preceduti da un
#. Il formato di ogni riga del file
/etc/inetd.conf č il seguente:nome del servizio
tipo della socket
protocollo
{wait|nowait}[/max-child[/max-connections-per-ip-per-minute]]
utente[:gruppo][/classe-di-login]
programma-server
argomenti-del-programma-serverUn esempio di linea per il
demone &man.ftpd.8;
usando l'IPv4:ftp stream tcp nowait root /usr/libexec/ftpd ftpd -lnome-del-servizioČ il nome del servizio per il demone.
Deve corrispondere ad un servizio elencato in
/etc/services. Questo
determina su quale porta
inetd deve restare
in ascolto. Se viene creato un nuovo servizio,
deve essere messo prima
in /etc/services.tipo-di-socketUna a scelta fra stream,
dgram, raw, o
seqpacket.
stream
deve essere usata per demoni basati sulla
connessione, tipo TCP, mentre
dgram č usato per demoni che usano
il protocollo di trasporto UDP.protocolloUno dei seguenti:ProtocolloSpiegazionetcp, tcp4TCP IPv4udp, udp4UDP IPv4tcp6TCP IPv6udp6UDP IPv6tcp46Entrambi TCP IPv4 e v6udp46Entrambi UDP IPv4 e v6{wait|nowait}[/max-child[/max-connections-per-ip-per-minute[/max-child-per-ip]]] indica se il demone
invocato da inetd č
in grado di gestire la sua socket o meno.
Il tipo di socket deve usare
l'opzione , mentre i demoni
con socket stream,
che sono in genere multi-thread, devono usare
. in
genere fornisce socket multiple ad un singolo demone,
mentre lancia un demone figlio
per ogni nuova socket.Il massimo numero di demoni figli che
inetd puň lanciare si imposta
attraverso l'opzione .
Se č richiesto un limite di dieci istanze per un
particolare demone, un
/10 dovrebbe essere inserito
dopo l'opzione . Specificando
/0 si lascia un numero illimitato di figli.Oltre all'opzione ,
possono essere attivate due altre opzioni che limitano
il massimo numero di connessioni da un singolo ip
verso un particolare demone.
limita
il numero di connessioni da un particolare indirizzo IP per
minuto, ad esempio un valore di dieci limiterebbe ogni
singolo indirizzo IP a connettersi verso un certo servizio
a dieci connessioni al minuto.
limita il numero di figli che possono essere avviati su richiesta
di un singolo indirizzo IP in ogni momento.
Queste opzioni sono utili per prevenire
eccessivo consumo delle risorse intenzionale o non intenzionale
e attacchi Denial of Service (DoS) ad una macchina.In questo campo, o
sono obbligatorie.
e
e sono
opzionali.Un demone tipo-stream multi-thread senza
i limiti o
dovrebbe essere semplicemente:
nowait.Lo stesso demone con un limite massimo di
dieci demoni dovrebbe avere:
nowait/10.In aggiunta, la stessa impostazione con
un limite di venti connessioni per IP al
minuto ed un limite massimo di
dieci demoni figli avrebbe:
nowait/10/20.Queste opzioni sono tutte utilizzate
di default nelle impostazioni del demone
&man.fingerd.8; come si vede di seguito:finger stream tcp nowait/3/10 nobody /usr/libexec/fingerd fingerd -sAlla fine, un esempio di questo campo
con 100 figli in tutto, con un massimo di 5 per singolo
indirizzo IP sarebbe:
nowait/100/0/5.userQuesto č lo username sotto il quale un
particolare demone dovrebbe girare. Di
frequente, i demoni girano
come utente root.
Per motivi di sicurezza, č normale
trovare alcuni server che girano con l'utente
daemon, o il meno privilegiato
utente nobody.server-programIl percorso assoluto del demone che deve essere
eseguito quando č ricevuta una connessione . Se
il demone č un servizio
offerto da inetd internamente,
bisogna usare .server-program-argumentsQuesta opzione funziona in congiunzione con
specificando gli
argomenti, cominciando con argv[0],
passati al demone al momento dell'invocazione.
Se mydaemon -d č la linea di comando,
mydaemon -d sarŕ il valore
dell'opzione .
Ancora, se un demone č un servizio interno,
usa .SicurezzaA seconda delle scelte fatte all'installazione,
molti servizi di inetd
potrebbero essere attivi di default. Se
non c'č necessitŕ
apparente per un particolare demone,
considera di disabilitarlo. Usa un # a capo della
riga del demone in questione in /etc/inetd.conf,
e quindi ricarica la
configurazione di inetd. Alcuni demoni, come
fingerd, potrebbero
non essere assolutamente desiderati,
poichč forniscono all'attaccante informazioni che gli potrebbero
risultare utili.Alcuni demoni non sono stati creati coll'obiettivo
della sicurezza ed hanno timeout lunghi, o non esistenti.
Questo permette ad un attaccante di inviare
lentamente connessioni
ad un particolare demone, saturando in questo modo
le risorse disponibile. Puň essere una buona idea
impostare le limitazioni
e
o su certi
demoni se scopri di avere troppe connessioni.Di default, il TCP wrapping č attivo.
Consulta la pagina del manuale
di &man.hosts.access.5; per impostare
delle restrizioni TCP su certi demoni
invocati da inetd.Miscellaneidaytime,
time,
echo,
discard,
chargen, e
auth sono tutti servizi interni
di inetd.Il servizio auth
fornisce servizi di rete di identificazione
ed č configurabile fino ad un certo punto,
mentre gli altri possono solo essere accesi o spenti.Consulta la paigna di manuale di &man.inetd.8;
per dettagli piů approfonditi.TomRhodesRiorganizzato e migliorato da BillSwingleScritto da Network File System (NFS)NFSFra i molti differenti file system che
FreeBSD supporta c'č il Network File System,
conosciuto anche come NFS. NFS permette ad un sistema di
condividere directory
e file con altri sistemi in rete. Usando NFS,
utenti e programmi possono
accedere a file su sistemi remoti quasi
come se fossero files locali.Alcuni dei piů notevoli benefici che
NFS ci fornisce sono:Workstation locali usano meno spazio su
disco perchč i dati usati in locale possono
essere conservati su una singola
macchina e restano accessibili agli altri sulla rete.Non c'č bisogno per gli utenti di avere
home directory separate su ogni macchina in rete.
Le home directory possono essere poste sul
server NFS e
rese disponibili attraverso la rete.Device di storage come floppy disk, drive
CDROM, e drive &iomegazip; possono essere usati
da altre macchine sulla rete.
Questo puň ridurre il numero di device di
storage rimuovibili sulla rete.Come Funziona NFSNFS consiste di almeno due parti:
un server ed uno o piů client. Il client
accede da remoto ai dati conservati sulla macchina
server. Affinchč questo funzioni, alcuni processi
devono essere configurati
e devono essere attivi.Il server deve avere attivi i seguenti demoni:NFSserverfile serverUNIX clientsrpcbindmountdnfsdDemoneDescrizionenfsdIl demone NFS che serve
richieste da client NFS.mountdIl demone di mount NFS
che serve le richieste
che &man.nfsd.8; gli passa.rpcbind Questo demone permette ai client
NFS di scoprire quali porte il server
NFS sta usando.Il client puň anche eseguire un demone,
noto come nfsiod.
Il demone nfsiod
serve le richieste dal server
NFS. E' opzionale, aiuta a
migliorare le prestazioni ma non č indispensabile
per operazioni corrette. Consultare la pagina
di manuale di &man.nfsiod.8;
per piů informazioni.
Configurare NFSNFSconfigurazioneLa configurazione di NFS
č un processo relativamente semplice.
I processi che devono essere attivi
possono essere tutti avviati al boot della macchina
con poche modifiche al tuo file
/etc/rc.conf.Sul server NFS assicurati
che le seguenti opzioni sono configurati nel file
/etc/rc.conf:rpcbind_enable="YES"
nfs_server_enable="YES"
mountd_flags="-r"mountd viene
eseguito automaticamente in caso il server
NFS sia abilitato.Sul client, accertati che questa riga sia
attiva nel file
/etc/rc.conf:nfs_client_enable="YES"Il file /etc/exports
specifica quali file system NFS
dovrebbe esportare (talora
chiamate anche share). Ogni linea di
/etc/exports specifica un
file system che deve essere esportato e quali
macchine hanno accesso a quel file system.
Assieme alle macchine che hanno accesso a quel file system,
possono esserci specificate anche opzioni. Ci
sono molte opzioni di questo tipo che possono essere
usate in questo file ma solo poche saranno menzionate
qui. Puoi facilmente
scoprire le altre opzioni leggendo la pagina di manuale
di &man.exports.5;.Queste sono alcune linee di esempio del file
/etc/exports:NFSesempi di exportI seguenti esempi danno un'idea di
come esportare file system, anche se le
impostazioni possono essere diverse
a seconda del tuo ambiente e della tua
configurazione di rete.
Ad esempio, per esportare la directory
/cdrom
a tre macchine di esempio che hanno lo
stesso nome di dominio del server (da qui
la mancanza di nome dominio per ognuno)
o hanno delle linee nel vostro file
/etc/hosts.
L'opzione rende il
file system esportato read-only. Con
questo flag, il sistema remoto non sarŕ in grado
di scrivere alcun cambiamento sul file system
esportato./cdrom -ro host1 host2 host3La seguente linea esporta la directory
/home a tre host
identificati da indirizzo IP. E' una
impostazione utile in caso tu abbia
una rete privata senza un DNS server
configurato. Opzionalmente il file
/etc/hosts
puň essere configurato per hostname interni.
Per favore rileggi
&man.hosts.5; per piů informazioni. Il flag
permette alle sottodirectory
di fungere da mount point. In altre parole, non monterŕ
le sottodirectory ma permetterŕ ai client di montare
solo le directory che necessita o di cui ha bisogno./home -alldirs 10.0.0.2 10.0.0.3 10.0.0.4La linea seguente esporta /a
cosicchč due client da diversi domini possono accedere
al file system. L'opzione
permette all'utente root sul
sistema remoto di scrivere dati
sul file system esportato come utente root.
Se il flag -maproot=root non
č specificato, anche se l'utente ha accesso come
root sul file system remoto,
non sarŕ in grado di modificare files sul file system
esportato./a -maproot=root host.example.com box.example.orgAffinchč un client abbia accesso ad
un file system, questo deve avere permessi adeguati.
Assicurati che il client sia elencato nel
file /etc/exports.In /etc/exports, ogni
linea rappresenta le informazioni per un
file system esportato ad un host. Un
host remoto puň essere specificato solo
una volta per file system, e puň
avere solo una entry di default. Ad esempio,
supponi che /usr sia
un singolo file system. Il seguente
/etc/exports sarebbe
invalido:# Invalid when /usr is one file system
/usr/src client
/usr/ports clientUn file system, /usr,
ha due linee che specificano exports verso lo stesso
host, client.
Il formato corretto per questa situazione č:/usr/src /usr/ports clientLe proprietŕ di un file system esportato
ad un dato host devono essere tutte su una
riga. Linee senza un cliente specificato
sono trattate come un singolo host. Questo
limita il modo di esportare file system, ma
per la maggior parte delle persone
non č un problema.Il seguente č un esempio di valida
lista di esportazione, dove
/usr e /exports/usr and /exports
sono file system locali:# Export src and ports to client01 and client02, but
only
# client01 has root privileges on it
/usr/src /usr/ports -maproot=root client01
/usr/src /usr/ports client02
# The client machines have root and can mount anywhere
# on /exports. Anyone in the world can mount /exports/obj read-only
/exports -alldirs -maproot=root client01 client02
/exports/obj -roIl demone mountd deve
essere forzato a rileggere il file /etc/exports
ogni volta che lo modifichi,
cosicchč i cambiamenti abbiano effetto.
Questo puň essere ottenuto inviando un segnale HUP
al processo mountd:&prompt.root; kill -HUP `cat /var/run/mountd.pid`o invocando lo script mountd &man.rc.8;
con i parametri appropriati:&prompt.root; /etc/rc.d/mountd onereloadSei invitato a far riferimento a per
maggiori informazioni sugli script rc.Alternativamente, un reboot farŕ sě
che FreeBSD imposti tutto
correttamente. Non č necessario tuttavia effettuare
un reboot. L'esecuzione del seguente comando da
utente root
dovrebbe avviare tutto.Sul server NFS:&prompt.root; rpcbind
&prompt.root; nfsd -u -t -n 4
&prompt.root; mountd -rSul client NFS:&prompt.root; nfsiod -n 4Ora dovrebbe essere tutto pronto per montare
un file system remoto.
In questi esempi il nome del server
sarŕ server e quello del client
sarŕ client. Se vuoi solo
temporaneamente montare un file system remoto o
anche testare la configurazione, basta che
esegui un comando come questo
come utente root sul client:NFSmounting&prompt.root; mount server:/home
/mntQuesto monterŕ la directory
/home del server
sopra /mnt sul client. Se
tutto č impostato correttamente dovresti
essere in grado di entrare nella directory
/mnt sul client e vedere
tutti i file che sono sul server.Se vuoi montare automaticamente un
file system remoto ogni volta che il
computer fa boot, aggiungi il file system
al file /etc/fstab.
Questo č un esempio:server:/home /mnt nfs rw 0 0La pagina di manuale di &man.fstab.5;
elenca tutte le possibili opzioni.LockingAlcune applicazioni (es. mutt)
richiedono il lock dei file per operare in modo corretto.
In caso di NFS, puň essere utilizzato
rpc.lockd per il lock dei file.
Per abilitarlo, aggiungi la seguente riga al file
/etc/rc.conf sia sul client che sul
server (assumendo che il client e server NFS
siano giŕ configurati):rpc_lockd_enable="YES"
rpc_statd_enable="YES"Avvia l'applicazione con:&prompt.root; /etc/rc.d/nfslocking startSe non č richiesto un lock reale tra il server
e il client NFS, č possibile
dire al client NFS di fare un lock locale
passando l'opzione a &man.mount.nfs.8;.
Ulteriori dettagli possono essere trovati nella pagina man di
&man.mount.nfs.8;.Usi PraticiNFS ha molti usi
pratici. Alcuni
dei piů usati sono elencati di seguito:NFSusiFa sě che alcune macchine
condividano un CDROM o un altro media
fra di loro. Questo č un metodo
piů economico e spesso piů convieniente
di installare software su molte macchine.Su grandi reti, potrebbe essere piů
conveniente configurare un server
NFS centrale in cui
conservare tutte le home directory degi utenti.
Queste home directory
possono essere esportate sulla rete cosicchč
gli utenti abbiano sempre la stessa directory,
indipendentemente dalla workstation dalla quale
effettuino il login.Molte macchine potrebbero avere una
directory comune
/usr/ports/distfiles.
In questo modo, quando hai bisogno di
installare un port su molte macchine,
puoi velocemente accedere al sorgente senza
scaricarlo su ogni macchina.WylieStilwellGrazie al contributo di ChernLeeRiscritto da Mount automatici con amdamddemone di mount automatico&man.amd.8; (il demone di mount automatico)
monta automaticamente un file system remoto
ogni volta che un file o una directory in quel
file system viene acceduto. I file system che sono
inattivi per un certo periodo di tempo possono
anche essere smontati automaticamente da
amd. L'uso di
amd fornisce una semplice
alternativa a mount permanenti, dato che i mount
permanenti sono di solito
elencati in /etc/fstab.amd opera connettendosi
ad un server NFS sulle directory
/host e
/net. Quando si accede ad un file
all'interno di una di queste directory,
amd
fa una ricerca del mount remoto corrispondente e lo
monta automaticamente. /net
č usato per montare
un file system esportato da un indirizzo IP,
mentre /host
č usato per montare un export da un hostname remoto.Un accesso ad un file in
/host/foobar/usr dovrebbe
comunicare a amd di
cercare di montare
l'export /usr sull'host
foobar.Montare un export con
amdPuoi osservare i mount disponibili di un
host remoto con il comando
showmount. Ad esempio, per
vedere i mounts di un host chiamato
foobar, puoi usare:&prompt.user; showmount -e foobar
Exports list on foobar:
/usr 10.10.10.0
/a 10.10.10.0
&prompt.user; cd /host/foobar/usrCome si vede nell'esempio,
il comando showmount mostra
/usr come un export.
Quando si cambia directory in
/host/foobar/usr,
amd
cerca di risolvere foobar e
automaticamente monta l'export desiderato.amd puň essere
avviato dagli scripts di startup inserendo le
seguenti linee in
/etc/rc.conf:amd_enable="YES"Inoltre, altri flags personalizzati possono essere
ad amd con le opzioni
amd_flags. Di default,
amd_flags č impostato a:amd_flags="-a /.amd_mnt -l syslog /host /etc/amd.map
/net /etc/amd.map"Il file /etc/amd.map
definisce le opzioni di default con le quali
gli export sono montati. Il file
/etc/amd.conf definisce
alcune delle piů avanzate caratteristiche di
amd.Consulta le pagine di manuale di &man.amd.8;
e &man.amd.conf.5;
per maggiori informazioni.JohnLindGrazie al contributo di Problemi nell'integrazione con altri sistemiAlcuni adapter Ethernet per sistemi PC hanno
limitazioni che possono portare a seri
problemi seri di rete, in particolare con NFS.
Questa difficoltŕ non č specifica a FreeBSD,
ma i sistemi FreeBSD ne sono affetti.I problemi avvengono quasi sempre
quando sistemi PC (FreeBSD) sono
connessi in rete con workstation ad alta
performance, tipo quelli di
Silicon Graphics, Inc., e Sun Microsystems, Inc.
Il mount NFS funziona, ed alcune operazioni possono
avere successo, ma d'improvviso sembra che il
server non dia piů risposte al client,
anche se le richieste da e verso altri sistemi
continuano ad essere processate.
Questo avviene sul sistema client, sia che
il client sia il sistema
FreeBSD sia che sia la workstation. Su molti sistemi,
non c'č modo di effettuare lo shutdown del client
in modo pulito una volta che questo problema si
sia manifestato. L'unica soluzione
č spesso quella di resettare il client,
poichč la situazione NFS
non puň essere risolta.Anche se la soluzione corretta
č usare un adapter Ethernet dalle migliori
prestazioni e capacitŕ , c'č un semplice
workaround che permetterŕ operazioni soddisfacenti.
Se il sistem FreeBSD č il server,
includi le opzioni al
mount dal client. Se il sistema FreeBSD
č il client, allora monta
il file system NFS con l'opzione .
Queste opzioni possono essere specificate usando
il quarto campo della linea di
fstab sul client per
mount automatici, o usa il parametro
del comando &man.mount.8; per mount manuali.Bisognerebbe notare che c'č un problema diverso,
a volte confuso con questo, quando il server NFS ed
il client sono su reti diverse. Se č questo
il caso, accertatevi
che i vostri router indirizzino correttamente l'informazione
necessaria su UDP, o non andrai
da nessuna parte, indipendentemente da cosa tu
stia cercando di fare.Nei seguenti esempi, fastws č
il nome host (interfaccia) di una workstation
ad alte prestazioni, e freebox
č il nome host (interfaccia) di un sistema FreeBSD con
un adapter Ethernet a basse prestazioni. Inoltre,
/sharedfs sarŕ il file system esportato
(vedi &man.exports.5;), e /project
sarŕ il mount point sul client per il file system
montato. In tutti i casi, nota che le opzioni
o e
possono essere utili
nella tua applicazione.Esempi dal sistema FreeBSD (freebox)
come client da /etc/fstab su
freebox:fastws:/sharedfs /project nfs rw,-r=1024 0 0Come comando manuale di mount da
freebox:&prompt.root; mount -t nfs -o -r=1024 fastws:/sharedfs /projectEsempi dal sistema FreeBSD come server in
/etc/fstab su
fastws:freebox:/sharedfs /project nfs rw,-w=1024 0 0Come comando di mount manuale su
fastws:&prompt.root; mount -t nfs -o -w=1024 freebox:/sharedfs /projectPraticamente ogni Ethernet adapter a 16-bit permetterŕ
operazioni senza le succitate restrizioni sulla dimensione
di lettura e scrittura.Per chiunque č interessato, ecco cosa succede quando
occorre il problema, il che spiega anche perchč sia
non riparabile. NFS tipicamente lavora con una dimensione
di block di 8 K (anche se puň creare
frammenti di dimensione minore). Dal momento che la
massima dimensione dei pacchetti Ethernet č attorno
a 1500 bytes, il block NFS sarŕ
diviso in molti pacchetti Ethernet
anche se č pur sempre una singola unitŕ per il codice
di piů alto livello e deve essere ricevuto, assemblato
e riconosciuto come una unitŕ .
La workstation ad alta performance puň inviare
pacchetti che comprendono le unitŕ NFS una dietro l'altra,
l'una vicino all'altra come permette lo standard.i
Sulla scheda a minore capacitŕ , gli ultimi pacchetti
sovrascrivono i precedenti pacchetti della stessa
unitŕ prima che possano essere trasferiti all'host
e l'unitŕ nella
sua interezza non puň essere ricostruita
o riconosciuta. Come risultato, la workstation andrŕ
in timeout e cercherŕ ancora di ripetere l'operazione,
ma cercherŕ con la stessa unitŕ da 8 K, ed il
processo sarŕ ripetuto ancora, all'infinito.Mantenendo la dimensione dell'unitŕ al di sotto
della limitazione dei pacchetti Ethernet, ci assicuriamo che
ogni completo pacchetto Ethernet ricevuto possa essere
ricono sciuto individualmente, evitando cosě la
situazione deadlock.Sovrascritture possono anche capitare quando una
workstation ad alte prestazioni riversi dati verso
un sistema PC, ma con la scheda di rete migliore,
sovrascritture di questo tipo non sono garantite su
unitŕ NFS. Quando una sovrascrittura
avviene, le unitŕ affette saranno ritrasmesse,
e c'č una buona probabilitŕ che saranno
ricevute, assemblate, e riconosciute.BillSwingleScritto da EricOgrenMigliorato da UdoErdelhoffNetwork Information System (NIS/YP)Cos'č?NISSolarisHP-UXAIXLinuxNetBSDOpenBSDNIS,
che sta per Network Information Services, fu sviluppato
da Sun Microsystems per centralizzare l'amministrazione
di sistemi &unix; (in origine &sunos;). Ora in sostanza
č diventato uno standard di settore; tutti i sistemi
&unix; like (&solaris;, HP-UX, &aix;, Linux, NetBSD,
OpenBSD, FreeBSD, etc) supportano
NIS.yellow pagesNISNIS
in precedenza era noto come Yellow Pages, ma per una questione
di marchi, Sun ha cambiato il nome. Il vecchio termine (e yp)
č ancora si incontra ancora spesso.NISdominiE' un sistema client/server basato su RPC che
permette ad un gruppo di macchine in un dominio
NIS di condividere un insieme comune di file di
configurazione. Questo permette ad un amministratore
di sistema di installare sistemi client
NIS con il minimo di dati di configurazione e di aggiungere,
rimuovere o modificare dati di configurazione da una singola
macchina.Windows NTE' simile al sistema di domini di &windowsnt;; anche
se le implementazioni interne dei due sistemi sono del tutto
diverse, le funzionalitŕ base possono essere
paragonate.Termini/Processi che Dovresti ConoscereCi sono parecchi termini e molti importanti processi
utente che incontrerai quando cercherai di implementare
NIS su FreeBSD, sia che cerchi di creare un server NIS
sia che cerchi di installare un client NIS:rpcbindportmapTermineDescrizioneNome dominio NISUn server NIS master e tutti i suoi client
(inclusi i suoi server slave) hanno un nome
dominio NIS. Analogamente al nome dominio di
&windowsnt;, il nome dominio NIS non ha nulla
a che fare
con il DNS.rpcbindDeve essere in esecuzione al fine
di abilitare RPC (Remote
Procedure Call, un protocollo di rete usato da NIS).
Se rpcbind non č attivo,
sarŕ impossibile portare in esecuzione un server NIS
o fungere da client NIS
ypbindEsegue il bind di un client NIS
al suo server. Prenderŕ il nome dominio NIS dal
sistema, e, usando RPC, si
connetterŕ al server.
ypbind
č il fulcro di una comunicazione client-server in
ambiente NIS; se ypbind
muore su un client, questo non sarŕ in grado di
accedere il server NIS.ypservDovrebbe essere in esecuzione solo sui
server NIS;č il processo NIS vero e
proprio. Se &man.ypserv.8;
muore, il server non sarŕ piů in grado di
rispondere a richieste NIS (si spera ci sia
un server slave per sostituirlo). Ci sono
alcune implementazioni di NIS
(ma non quello di FreeBSD) che non cerca di
ricollegarsi ad un altro server se il server
che stava usando muore. Spesso, l'unica cosa
che aiuta in questo caso č riavviare il
processo server (o anche
l'intero server o il processo
ypbind sul client).rpc.yppasswddUn altro processo che dovrebbe essere in
esecuzione solo sui server master NIS; č un demone
che permette a client NIS di cambiare le proprie
password NIS. Se questo demone non č attivo,
gli utenti dovranno loggarsi al server master NIS
e cambiare le proprie password da lě.Come funziona?Ci sono tre tipi di host in ambiente NIS:
master server, slave server e client. I server
fungono da magazzino centralizzato per le
informazioni sulla configurazione degli host. I
server master mantengono la copia "ufficiale"
di queste informazioni, mentre i server slave effettuano
il mirror di queste informazioni per ridondanza. I client
si affidano al server per ottenere queste informazioni.Le informazioni in molti file possono essere
condivise in questo modo. I file
master.passwd
,group e hosts sono
in genere condivisi in questo modo via NIS. Qualora un
processo su un client necessiti di informazioni che
normalmente sarebbero trovate in questi file in locale,
fa una query al server NIS a cui č legato.Tipi di macchine
-
- NIS
- master server
-
-
- Un server master NIS. Questo
+ Un server master NISNISmaster server. Questo
server, analogamente a primary domain controller
&windowsnt; , mantiene i file usati da tutti i client
NIS. Il file passwd,
il file group, e vari altri
file usati da client NIS vivono sul
server master.E' possibile per una macchina agire
da master server NIS per piů di un dominio
NIS. Comunque, questo caso non sarŕ
coperto in questa introduzione,
che presuppone un ambiente NIS relativamente piccolo.
-
- NIS
- slave server
-
-
- NIS slave server. Analogamente
+ NIS slave serverNISslave server. Analogamente
a backup domain controller &windowsnt;, i server
slave NIS mantengono copie dei file di dati
del server master NIS. I server slave NIS garantiscono
la ridondanza che viene richiesta in ambienti
importanti. Inoltre aiutano a bilanciare il carico
del server master: i client NIS si legano sempre
al NIS server che risponde per primo alla loro richiesta,
compresi i server slave.
-
- NIS
- client
-
-
- NIS client. I client NIS,
+ NIS clientNISclient. I client NIS,
come la maggior parte delle workstation &windowsnt;
, si autenticano nei confronti del NIS server
(o del domain controller &windowsnt; nel caso di
workstation &windowsnt;) per effettuare il login.
Usare NIS/YPQuesta sezione riguarderŕ l'installazione
di un ambiente di esempio NIS.Il PianoSupponiamo che tu sia l'amministratore di un piccolo
laboratorio universitario. Questo laboratorio, che
consiste di 15 macchine FreeBSD, al momento non ha
un sistema centralizzato di amministrazione; ogni
macchina ha il suo /etc/passwd e
/etc/master.passwd. Questi file
sono tenuti sincronizzati fra di loro attraverso
intervento manuale; al momento, quando aggiungi un utente
al laboratorio, devi eseguire adduser
su tutte e 15 le macchine. Chiaramente, questa situazione
č provvisoria, cosě hai deciso di convertire il
laboratorio a NIS, usando due delle macchine
come server.Cosě la configurazione del laboratorio adesso
sembra questa:Nome della macchinaIndirizzo IPRuolo della macchinaellington10.0.0.2NIS mastercoltrane10.0.0.3NIS slavebasie10.0.0.4Workstation della facoltŕbird10.0.0.5Macchina clientcli[1-11]10.0.0.[6-17]Altre macchine clientSe stai installando uno schema NIS per la
prima volta, č una buona idea riflettere
su come affrontarlo. Indipendemente dalla
dimensione della rete, ci sono alcune
decisioni che devono essere prese.Scegliere un nome dominio NISNISNome dominioQuesto puň non essere il
nome dominio a
cui sei abituato. Per la precisione viene chiamato
nome dominio NIS. Quando un client
fa il broadcast della sua richiesta per informazioni,
include il nome del dominio NIS di cui fa parte.
In questo modo molti server su una rete possono distinguere
a quale server la richiesta č riferita. Considerate
il nome dominio NIS come il nome per un gruppo di host
che sono collegati per qualche motivo.Alcune organizzazioni scelgono di usare il loro
nome dominio Internet come nome dominio NIS. Questo non
č raccomandabile in quanto puň causare confusione
quando si cerchi di debuggare problemi di rete.
Il nome dominio NIS dovrebbe essere unico all'interno
della tua rete ed č utile che sia descrittivo
del gruppo di macchine che rappresenta. Per
esempio, il dipartimento di Arte della Acme Inc. puň
essere nel dominio acme-art. Per questo
esempio, si presume tu abbia scelto il nome
test-domain.SunOSComunque, alcuni sistemi operativi (principalmente
&sunos;) usano il loro nome dominio NIS come loro nome
dominio Internet. Se una o piů macchine sulla tua rete
hanno questa restrizione, tu devi
usare il nome dominio Internet come il tuo
nome dominio NIS.Requisiti fisici dei serverCi sono molte cose da tener in mente quando si
sceglie quale macchina usare come server NIS. Una
delle caratteristiche piů sfortunate di NIS
č il livello di dipendenza che i client hanno
verso il server. Se un client non riesce a
contattare il server per
il suo dominio NIS, molto spesso la macchina risulta
inutilizzabile. La mancanza di informazioni utente e
di gruppo fa sě che molti sistemi si blocchino. Tenendo
questo in mente dovresti accertati di scegliere una
macchina che non sia soggetta a reboot frequenti o
una che non sia usata per sviluppo. Il server
NIS dovrebbe essere in teoria una macchina
stand alone il cui unico
scopo di esistenza č essere un server NIS. Se hai una
rete non pesantemente trafficata,
č accettabile installare
il server NIS su una macchina che esegue altri servizi,
basta ricordarsi che se il server NIS diventa
irrangiungibile, tutti i tuoi
client NIS ne saranno affetti in modo negativo.Server NIS Le copie canoniche di tutte le informazioni NIS
sono conservate su una singola macchina chiamata
il server master NIS. I database usati per conservare
le informazioni sono chiamate mappe NIS. In FreeBSD,
queste mappe sono conservate in
/var/yp/[nome-dominio] dove
[nome-dominio] č il nome del dominio
NIS che si server. Un singolo server NIS puň supportare
molti domini al tempo stesso, di conseguenza č
possibile avere molte directory di questo tipo,
una per ogni dominio supportato. Ogni dominio
avrŕ il suo insieme indipendente di mappe.I server NIS master e slave gestiscono tutte le
richieste NIS col demone ypserv.
ypserv č responsabile per
la ricezione delle richieste in entrata dai client NIS,
traducendo il dominio richiesto e il nome mappa ad un
percorso verso il file di database e trasmettendo
i dati indietro al client.Installare un server master NISNISconfigurazione del serverInstallare un server master NIS puň essere
relativamente semplice, a seconda delle tue
necessitŕ . FreeBSD presenta un supporto nativo
per NIS. Tutto quello che devi fare č aggiungere
le seguenti linee a /etc/rc.conf,
e FreeBSD farŕ il resto.nisdomainname="test-domain"
Questa linea imposterŕ il nome domino NIS a
test-domain
al momento della configurazione di rete
(ad esempio dopo il reboot).nis_server_enable="YES"
Questa linea dirŕ a FreeBSD di avviare i processi
NIS server la prossima volta che la rete
č riavviata.nis_yppasswdd_enable="YES"
Questo avvierŕ il demone
rpc.yppasswd che, come accennato
prima, permetterŕ agli utenti di cambiare la loro
password NIS dalle macchine client.A seconda delle tue impostazioni NIS, potresti
aver bisogno di aggiungere altre linee. Leggi
la
sezione sui NIS server che sono anche NIS client
, di seguito, per dettagli.Ora, tutto quello che devi fare č eseguire
il comando /etc/netstart
come super-utente. Questo imposterŕ
il sistema, usando i valori che hai specificato
in /etc/rc.conf.Inizializzare le mappe NISNISmappeLe mappe NIS sono file di
database, che sono conservati nella directory
/var/yp. Sono generati
da file di configurazione nella directory
/etc del NIS master, con
una eccezione: il file
/etc/master.passwd.
C'č un buon motivo per questo, infatti
normalmente non vuoi che siano
propagate le password a root
e ad altri account amministrativi a tutti gli
altri server nel dominio NIS. Cosě prima
di inizializzare le mappe
NIS, dovresti:&prompt.root; cp /etc/master.passwd /var/yp/master.passwd
&prompt.root; cd /var/yp
&prompt.root; vi master.passwdDovresti rimuovere tutte le linee che riguardano
account di sistema (bin,
tty, kmem,
games, etc.), cosě come altri
account che non vuoi siano propagate ai client NIS
(per esempio root ed ogni altro
account con UID 0 (super-utente)).Accertati che il file
/var/yp/master.passwd non
sia nč leggibile dal gruppo nč dal resto
del mondo (modo 600)!
Usa il comando chmod, se
appropriato.Tru64 UNIXQuando hai finito, č il momento di inizializzare
le mappe NIS! FreeBSD include uno script chiamato
ypinit che lo fa per te (leggi
la sua pagina di manuale per dettagli). Nota che
questo script č disponibile sulla maggior parte dei
sistemi operativi &unix; ma non su tutti. Su
Digital Unix/Compaq Tru64 UNIX č chiamato
ypsetup. Poichč stiamo generando
mappe per un NIS master, passeremo l'opzione
al comando ypinit.
Per generare le mappe NIS, supponendo che tu abbia giŕ
eseguito i passi di cui sopra, esegui:ellington&prompt.root; ypinit -m test-domain
Server Type: MASTER Domain: test-domain
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
[..output from map generation..]
NIS Map update completed.
ellington has been setup as an YP master server without any errors.ypinit dovrebbe aver creato
/var/yp/Makefile da
/var/yp/Makefile.dist.
Quando creato, questo file assume che tu stia operando
su un ambiente NIS a server singolo con solo macchine
FreeBSD. Dal momento che test-domain
ha anche un server slave, devi editare
/var/yp/Makefile:ellington&prompt.root; vi /var/yp/MakefileDovresti commentare la linea che diceNOPUSH = "True"(se non č giŕ commentata).Impostare un server slave NISNISslave serverImpostare un server NIS slave č anche
piů semplice che impostare il master. Loggati
al server slave ed edita
il file /etc/rc.conf
esattamente come hai fatto col server master.
L'unica differenza č che
ora dobbiamo usare l'opzione quando
eseguiamo ypinit. L'opzione
richiede che il nome del
server NIS sia passato, cosě la nostra linea
di comando assomiglia
alla seguente:coltrane&prompt.root; ypinit -s ellington
test-domain
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.Ora dovresti avere una directory chiamata
/var/yp/test-domain. Copie
delle mappe NIS del master server dovrebbero risiedere
in questa directory. Dovresti accertarti che siano
aggiornate. La seguente linea di
/etc/crontab sul tuo server slave
dovrebbe far ciň:20 * * * * root /usr/libexec/ypxfr passwd.byname
21 * * * * root /usr/libexec/ypxfr passwd.byuidQueste due linee forzano lo slave a sincronizzare
le sue mappe con le mappe del server master.
Anche se queste entry non sono obbligatorie,
dal momento che il server
master cerca di assicurarsi che tutte le modifiche
alle sue mappe NIS siano comunicate ad i suoi slave
e perchč le informazioni sulle password sono vitali
per i sistemi che dipendono dal server, č una buona idea
forzare gli aggiornamenti. Questo č ancora piů
importante su reti trafficate dove gli aggiornamenti
delle mappe potrebbero non essere completi.Adesso, esegui il comando
/etc/netstart anche sullo slave,
per avviare il server NIS.Client NISUn client NIS stabilisce quello che č
chiamato un binding ad un particolare NIS
server usando il demone
ypbind. ypbind
controlla il dominio di default del sistema
(impostato dal comando domainname),
ed inizia a fare broadcast di richieste RPC sulla rete
locale. Queste richieste specificano il nome del
dominio per il quale ypbind sta
cercando di stabilire un binding. Se un server č stato
configurato a servire il dominio richiesto, risponderŕ
a ypbind, che registrerŕ l'indirizzo
del server. Se ci sono molti server disponibili
(ad esempio un master e molti slave),
ypbind userŕ l'indirizzo del primo
che risponde. Da quel momento in poi, il sistema client
dirigerŕ tutte le sue richieste NIS a quel server.
ypbind occasionalmente farŕ un
ping del server per accertarsi che sia su
ed attivo. Se non riceve una risposta di uno dei suoi
ping in un tempo accettabile, ypbind
segnerŕ il dominio come non connesso e inizierŕ
di nuovo a fare broadcasting nella speranza di
localizzare un altro server.Impostare un client NISNISconfigurazione del clientImpostare una macchina FreeBSD perchč sia un client
NIS č abbastanza semplice.Edita il file /etc/rc.conf e
aggiungi le seguenti linee per impostare il nome
dominio NIS ed avviare ypbind
all'avvio della rete:nisdomainname="test-domain"
nis_client_enable="YES"Per importare tutte le possibili linee di
password dal server NIS, rimuovi tutti gli account
utente dal tuo /etc/master.passwd
ed usa vipw per aggiungere
la seguente linea alla fine del file:+:::::::::Questa linea permetterŕ a chiunque con un
valido account nella mappa delle password
del server NIS di loggarsi sul client. Ci
sono molti modi per
configurare il tuo client NIS cambiando questa
linea. Leggi la
sezione
sui netgroups di seguito per maggiori
informazioni. Per letture piů dettagliate vedere
il libro della O'Reilly
Managing NFS and NIS.Dovresti tenere almeno un account locale (non
importato via NIS) nel tuo file
/etc/master.passwd e questo
account dovrebbe essere anche un membro del gruppo
wheel. Se c'č qualche
problema con NIS, questo account puň essere usato
per loggarsi da remoto, diventare
root e riparare le cose.Per impostare tutte le possibili linee dei gruppi
dal server NIS, aggiungi questa linea al tuo file
/etc/group:+:*::Dopo aver completato questi passi, dovresti
essere in grado di eseguire ypcat passwd
e vedere la mappa delle password del NIS server.Sicurezza di NISIn generale, ogni utente remoto puň eseguire una RPC
a &man.ypserv.8; ed ottenere i contenuti delle tue mappe NIS,
ammesso che l'utente remoto conosca il tuo nome dominio.
Per prevenire tali transazioni non autorizzate,
&man.ypserv.8; supporta una caratteristica chiamata
securenets che puň essere usata per
restringere l'accesso ad un dato insieme di host. All'avvio
&man.ypserv.8; cercherŕ di caricare le informazioni
delle securenets da un file chiamato
/var/yp/securenets.Questo percorso varia a secondo del percorso
specificato con l'opzione . Questo
file contiene linee che consistono di una
specificazione della rete e di una maschera di
rete separate da spazi vuoti. Le linee che
cominciano con # sono
considerati commenti. Un esempio di file securenets puň
assomigliare al seguente:# allow connections from local host -- mandatory
127.0.0.1 255.255.255.255
# allow connections from any host
# on the 192.168.128.0 network
192.168.128.0 255.255.255.0
# allow connections from any host
# between 10.0.0.0 to 10.0.15.255
# this includes the machines in the testlab
10.0.0.0 255.255.240.0Se &man.ypserv.8; riceve una richiesta da un indirizzo
che coincide con una di queste regole, processerŕ
la richiesta normalmente. Se l'indirizzo non coincide
la richiesta sarŕ ignorata ed un messaggio di warning
sarŕ loggato. Se il file
/var/yp/securenets non esiste,
ypserv permetterŕ connessioni
da ogni host.Il programma ypserv ha
anche supporto per il pacchetto di Wietse Venema
TCP Wrapper. Questo
permette all'amministratore di usare i file
di configurazione di TCP Wrapper
per controlli sull'accesso al posto di
/var/yp/securenets.Pur essendo entrambi questi meccanismi di accesso
di controllo abbastanza sicuri,
questi, come il test di porta privilegiata,
sono vulnerabili agli attacchi
IP spoofing. Tutto il traffico
relativo a NIS dovrebbe essere bloccato al firewall.I server che usano
/var/yp/securenets
possono non riuscire a servire client NIS legittimi che
abbiano implementazioni TCP/IP obsolete. Alcune
di queste implementazioni impostano a zero tutti i
bit degli host quando fanno broadcast e/o non
riescono a osservare la maschera di sotto-rete
quando calcolano l'indirizzo
broadcast. Mentre alcuni di questi problemi possono
essere corretti cambiando la configurazione del client,
altri problemi possono causare il ritiro dei client
in questione o l'abbandono di
/var/yp/securenets.Usando /var/yp/securenets su un
server con una tale obsoleta implementazione del TCP/IP
č sicuramente una cattiva idea e causerŕ alla
perdita della funzionalitŕ NIS per gran parte della tua
rete.TCP WrappersL'uso del pacchetto
TCP Wrapper
aumenta la latenza del tuo server NIS. Il ritardo
addizionale puň essere lungo a sufficienza tanto
da causare dei timeout in programmi client, specialmente
su reti trafficate o con server NIS lenti. Se uno o
piů client soffre di questi sintomi, dovresti convertire
il sistema dei client in questione a server NIS slave
e forzarli a non fare il binding a loro stessi.Impedire ad Alcuni Utenti di LoggarsiNel nostro laboratorio c'č una macchina
basie che si suppone sia una workstation
solo della facoltŕ . Non vogliamo togliere questa
macchina dal dominio NIS, tuttavia il file
passwd sul server NIS master
contiene account che sono sia della
facoltŕ sia degli studenti. Cosa possiamo fare?C'č un modo di impedire a specifici utenti di loggarsi
ad una macchina, anche se sono presenti nel database NIS.
Per farlo, tutto quello che devi fare č
aggiungere
-username
alla fine del file /etc/master.passwd
sulla macchina client, dove
username č lo username
dell'utente di cui vuoi impedire l'accesso.
E' meglio fare questo con
vipw dato che vipw
farŕ un controllo di correttezza dei tuoi cambiamenti a
/etc/master.passwd, e ricostruirŕ
automaticamente il database delle password quando hai finito
di editarlo. Ad esempio, se vogliamo impedire l'accesso
all'utente bill verso l'host
basie faremmo:basie&prompt.root; vipw[aggiungi -bill alla fine del file, poi esci]
vipw: rebuilding the database...
vipw: done
basie&prompt.root; cat /etc/master.passwd
root:[password]:0:0::0:0:The super-user:/root:/bin/csh
toor:[password]: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;UdoErdelhoffGrazie al contributo di Usare i NetgroupsnetgroupsIl metodo mostrato nella sezione precedente funziona
ragionevolmente bene se hai bisogno di regole speciali
per un numero molto piccolo di utenti e/o macchine. Su
reti piů grandi, certamente ti
dimenticherai di impedire l'accesso di certi utenti
a macchine dal ruolo critico, oppure potresti perfino
finire a modificare ogni macchina separatamente, in questo
modo perdendo il beneficio centrale di NIS:
l'amministrazione centralizzata.La soluzione degli sviluppatori NIS a questo problema
č chiamata netgroups. Il
loro scopo e la loro semantica possono essere
paragonate ai normali gruppi utenti usati dal
file system &unix;. L'unica differenza
č la mancanza di un ID numerico e l'abilitŕ di
definire un netgroup che includa sia gruppi utenti che altri
netgroup.I netgroup furono sviluppati per gestire grandi reti
complesse con centinaia di utenti e macchine. Da un lato
questa č una Buona Cosa se sei obbligato a gestire una
simile situazione. Dall'altro, questa complessitŕ rende
praticamente impossibile spiegare i netgroup con esempi
relativamente semplici. L'esempio usato nel resto di questa
sezione dimostra questo problema.Assumiamo che la favorevole introduzione di NIS nei tuoi
laboratori catturi l'interesse dei tuoi superiori. Il tuo
prossimo compito č di estendere il tuo dominio NIS per
coprire alcune altre macchine del campo. Le due tabelle contengono
i nomi dei nuovi utenti e delle nuove macchine, con una breve
descrizione.User Name(s)Descriptionalpha,
betaImpiegato normale del dipartimento ITcharlie,
deltaIl nuovo apprendista del dipartimento ITecho,
foxtrott,
golf, ...Impiegato ordinarioable, baker,
...Gli interni correntiMachine Name(s)Descriptionwar, death,
famine,
pollutionIl tuoi server piů importanti. Solo
gli impiegati IT hanno il permesso di loggarsi
in queste macchine.pride, greed,
envy, wrath,
lust, slothServer meno importanti. Tutti i membri
del dipartimento IT hanno il permesso di loggarsi
a queste macchine.one, two,
three, four,
...Workstation normali. Solo
veri impiegati hanno permesso
di accedere a queste macchine.trashcanUna macchina molto vecchia senza alcun dato
critico. Anche gli interni hanno permesso di usare
questa macchina.Se provi ad implementare queste restrizioni bloccando
separatamente ogni utente, dovresti aggiungere una linea
-user
ad ogni passwd per ogni utente che
non ha il permesso di loggarsi in quel sistema. Se ti
dimentichi anche solo di una linea, potresti essere nei
pasticci. Puň essere ragionevole fare ciň
correttamente durante l'installazione iniziale, comunque
certamente ti dimenticherai alla fine
di aggiungere le linee per i nuovi utenti durante le
operazioni giornaliere. Dopo tutto, Murphy era un
ottimista.Gestire questa situazione con i netgroup offre
molti vantaggi. Non c'č bisogno di gestire
separatamente ogni utente; basta assegnare un utente ad
uno o piů netgroup e permettere o impedire il login
a tutti i membri del netgroup. Se aggiungi una
nuova macchina, dovrai solo definire restrizioni di
login per i netgroup. Se un nuovo utente viene
aggiunto, dovrai solo aggiungere l'utente
ad uno o piů netgroup. Questi cambiamenti sono indipendenti
l'uno dall'altro: non piů per ogni combinazione di
utenti e macchine fai ...Se la tua installazione
NIS č pianificata con attenzione, dovrai solo modificare
esattamente un file centrale di configurazione per garantire
o negare l'accesso alle macchine.Il primo passo č l'inizializzazione della mappa NIS
netgroup. &man.ypinit.8; di FreeBSD non crea questa mappa
di default, ma la sua implementazione NIS la supporterŕ
una volta che č stata creata. Per aggiungere una linea alla
mappa, semplicemente usa il comandoellington&prompt.root; vi /var/yp/netgroupe poi inizia ad aggiungere contenuti. Per i nostri esempi
abbiamo bisogno di almeno quattro netgroup: impiegati IT,
apprendisti IT, impiegati normali ed interni.IT_EMP (,alpha,test-domain) (,beta,test-domain)
IT_APP (,charlie,test-domain) (,delta,test-domain)
USERS (,echo,test-domain) (,foxtrott,test-domain) \
(,golf,test-domain)
INTERNS (,able,test-domain) (,baker,test-domain)IT_EMP, IT_APP etc.
sono i nomi dei netgroup. Ogni gruppo fra parentesi tonde
aggiunge uno o piů account utente. I tre campi dentro il
gruppo sono:Il nome degli host dove le seguenti caratteristiche
sono valide. Se non specifichi un nome host, la linea
č valida per tutti gli host. Se specifichi un nome host,
entrerai nel regno dell'oscuritŕ , dell'orrore
e della confusione assoluta.Il nome dell'account che appartiene a questo
netgroup.Il dominio NIS per l'account. Puoi
importare account da altri domini NIS nel tuo netgroup
se sei uno di quei ragazzi sfortunati con piů di
un dominio NIS.Ognuno di questi campi puň contenere
wildcards. Leggi &man.netgroup.5; per dettagli.netgroupsNomi netgroup piů lunghi di 8 caratteri
non dovrebbero essere usati, specialmente se hai macchine
che eseguono altri sistemi operativi all'interno del
tuo dominio NIS. I nomi sono case sensitive; usare
le lettere maiuscole per il tuo netgroup č
un modo semplice per distinguere fra utenti,
macchine e nomi di netgroup.Alcuni client NIS (non FreeBSD) non possono
gestire netgroup con un numero troppo grande di linee.
Ad esempio, alcune vecchie versioni di &sunos; iniziano
ad avere problemi se un netgroup contiene piů di 15
linee. Puoi superare questo
limite creando molti sotto-netgroup con 15 o meno utenti
ed un vero netgroup che consiste dei sotto-netgroup:BIGGRP1 (,joe1,domain) (,joe2,domain)
(,joe3,domain) [...]
BIGGRP2 (,joe16,domain) (,joe17,domain) [...]
BIGGRP3 (,joe31,domain) (,joe32,domain)
BIGGROUP BIGGRP1 BIGGRP2 BIGGRP3Puoi ripetere questo processo se hai bisogno di piů
di 225 utenti all'interno di un singolo netgroup.Attivare e distribuire la tua nuova mappa NIS
č facile:ellington&prompt.root; cd /var/yp
ellington&prompt.root; makeQuesto genererŕ le tre mappe NIS
netgroup,
netgroup.byhost e
netgroup.byuser. Usa
&man.ypcat.1; per controllare che le tue
nuove mappe NIS siano disponibili:ellington&prompt.user; ypcat -k
netgroup
ellington&prompt.user; ypcat -k netgroup.byhost
ellington&prompt.user; ypcat -k
netgroup.byuserL'output del tuo primo comando dovrebbe assomigliare
a /var/yp/netgroup. Il secondo
comando non produrrŕ output se non hai specificato
netgroup specifici agli host. Il terzo comando puň
essere usato per ottenere una lista dei netgroup di un
utente.L'installazione del client č abbastanza semplice.
Per configurare il server war, devi solo
eseguire &man.vipw.8; e sostituire la linea+:::::::::con+@IT_EMP:::::::::Ora, solo i dati per l'utente definito nel netgroup
IT_EMP sono importati nel
database delle password di war e solo
questi utenti hanno permesso di accesso.Sfortunatamente, questa limitazione si applica anche
alla funzione della shell ~ ed a
tutte le routine che convertono fra nomi utenti e user ID
numerici. In altre parole,cd ~user
non funzionerŕ ,
ls -l mostrerŕ gli ID numerici
invece dello username e
find . -user joe -print
darŕ l'errore No such user. Per
riparare questo, dovrai importare tutte le linee dell'utente
senza permettere a loro di loggarsi sui tuoi
server.Questo puň essere ottenuto aggiungendo un'altra
linea a /etc/master.passwd. Questo
dovrebbe contenere:+:::::::::/sbin/nologin, dal significato
Importa tutte le entry ma imposta la shell di
login a /sbin/nologin nelle linee
importate. Puoi sostituire ogni campo nella linea
passwd piazzando un valore di default
nel tuo /etc/master.passwd.Accertati che la linea
+:::::::::/sbin/nologin sia piazzata
dopo +@IT_EMP:::::::::. Altrimenti
tutti gli account utente importati da NIS avranno
/sbin/nologin come loro shell
di login.Dopo questo cambiamento, dovrai solo cambiare
una mappa NIS se un nuovo impiegato si unisce
al dipartimento IT. Puoi usare un simile
approccio per i server meno importanti
sostituendo +::::::::: nella tua versione
locale di /etc/master.passwd
con qualcosa del tipo:+@IT_EMP:::::::::
+@IT_APP:::::::::
+:::::::::/sbin/nologinLe linee corrispondenti per le workstation normali
potrebbero essere:+@IT_EMP:::::::::
+@USERS:::::::::
+:::::::::/sbin/nologinE tutto sarebbe a posto fino a che non c'č un
cambiamento di policy dopo poche settimane:
il dipartimento IT inizia ad assumere interni.
Gli interni IT hanno permesso di usare le normali
workstation ed i server meno importanti; e gli
apprendisti IT hanno permesso di loggarsi ai
server principali. Aggiungi un nuovo netgroup
IT_INTERN, aggiungi i nuovi interni IT
a questo nuovo netgroup IT_INTERN,
e inizia a cambiare la configurazione su ogni nuova macchina...
Come il vecchio adagio dice:Errori nella pianificazione
centralizzata porta a caos globale.L'abilitŕ NIS di creare netgroup da altri netgroup
puň essere usata per prevenire situazioni come queste. Una
possibilitŕ č la creazione di netgroup basati sul
ruolo. Per esempio, potresti creare un netgroup chiamato
BIGSRV per definire le restrizioni di login
per i server importanti, un altro netgroup chiamato
SMALLSRV per i server meno importanti
ed un terzo netgroup chiamato USERBOX
per le workstation normali. Ognuna di questi netgroup
contiene i netgroup che hanno permesso di accesso a
queste macchine. Le nuove linee della tua mappa NIS
dovrebbero assomigliare a questa:BIGSRV IT_EMP IT_APP
SMALLSRV IT_EMP IT_APP ITINTERN
USERBOX IT_EMP ITINTERN USERSQuesto metodo di definire restrizioni di login
funziona ragionevolmente bene se puoi definire gruppi
di macchine con restrizioni identiche. Sfortunatamente
questa č l'eccezione, non la regola. La maggior parte del
tempo, avrai necessitŕ di definire restrizioni di login
macchina per macchina.Definizioni di netgroup specifiche per ogni
macchina sono l'altra possibilitŕ per gestire
il cambiamento di policy delineato sopra.
In questo scenario il
/etc/master.passwd di ogni macchina
deve contenere due linee che iniziano con
+. La prima di queste aggiunge un netgroup
con l'account che ha il permesso di loggarsi alla macchina,
il secondo aggiunge tutti gli altri account con
/sbin/nologin come shell. E' buona
norma usare la versione MAIUSCOLA del nome
macchina come nome del netgroup. In altre parole, le linee
dovrebbero assomigliare a questa:+@BOXNAME:::::::::
+:::::::::/sbin/nologinUna volta che hai completato questo task per tutte
le macchine, non dovrai mai piů modificare la versione locale
di /etc/master.passwd. Tutti
gli ulteriori cambiamenti possono essere
gestiti modificando la mappa NIS. Di
seguito un esempio di una possibile
mappa netgroup per questo scenario con altri vantaggi
addizionali:# Define groups of users first
IT_EMP (,alpha,test-domain) (,beta,test-domain)
IT_APP (,charlie,test-domain) (,delta,test-domain)
DEPT1 (,echo,test-domain) (,foxtrott,test-domain)
DEPT2 (,golf,test-domain) (,hotel,test-domain)
DEPT3 (,india,test-domain) (,juliet,test-domain)
ITINTERN (,kilo,test-domain) (,lima,test-domain)
D_INTERNS (,able,test-domain) (,baker,test-domain)
#
# Now, define some groups based on roles
USERS DEPT1 DEPT2 DEPT3
BIGSRV IT_EMP IT_APP
SMALLSRV IT_EMP IT_APP ITINTERN
USERBOX IT_EMP ITINTERN USERS
#
# And a groups for a special tasks
# Allow echo and golf to access our anti-virus-machine
SECURITY IT_EMP (,echo,test-domain) (,golf,test-domain)
#
# machine-based netgroups
# Our main servers
WAR BIGSRV
FAMINE BIGSRV
# User india needs access to this server
POLLUTION BIGSRV (,india,test-domain)
#
# This one is really important and needs more access restrictions
DEATH IT_EMP
#
# The anti-virus-machine mentioned above
ONE SECURITY
#
# Restrict a machine to a single user
TWO (,hotel,test-domain)
# [...more groups to follow]Se stai usando qualche tipo di database per
gestire i tuoi account utente, dovresti essere in
grado di creare la prima parte della mappa con i
tuoi tool di report del database. In
questo modo, i nuovi utenti avranno accesso automaticamente
alle macchine.Un ultima nota di avvertimento: puň non essere sempre
consigliabile usare netgroup basati sulle macchine. Se
stai per mettere in produzione qualche dozzina o perfino qualche
centinaia di macchine identiche per laboratori studente,
dovresti usare netgroup basati sul ruolo invece che netgroup
basati sulla macchina, per tenere la dimensione della mappa
NIS al di sotto di un limite ragionevole.Cose Importanti da RicordareCi sono ancora un paio di cose che dovrai cambiare
ora che operi in ambiente NIS.Ogni volta che devi aggiungere un utente al
laboratorio devi aggiungerlo
solo al server
master NIS e devi ricordarti di ricostruire
le mappe NIS. Se ti dimentichi di farlo
il nuovo utente non sarŕ in grado di loggarsi in alcuna
macchina eccetto che sul server NIS master. Per esempio,
se abbiamo bisogno di aggiungere un nuovo utente
jsmith al laboratorio,
faremmo:&prompt.root; pw useradd jsmith
&prompt.root; cd /var/yp
&prompt.root; make test-domainPuoi anche eseguire adduser jsmith
invece di pw useradd jsmith.Tieni gli account amministrativi fuori
dalle mappe NIS. Normalmente non vuoi che
gli account amministrativ e le password si propaghino
a macchine che avranno utenti che non dovrebbero avere
accesso a quegli account.Tieni al sicuro il NIS master e slave,
e minimizza il tempo in cui sono giů. Se
qualcuno hackera o semplicemente spegne queste macchine
riesce a privare molte persone della possibilitŕ di
loggarsi al laboratorio.Questa č la principale debolezza di ogni
sistema centralizzato di amministrazione. Se non proteggi
il tuo server NIS, avrai un mucchio di utenti
arrabbiati!Compatibilitŕ con NIS v1ypserv di FreeBSD supporta
fino ad un certo punto client NIS v1. L'implementazione
di NIS di FreeBSD usa solo il protocollo NIS v2, comunque
altre implementazioni includono supporto per il protocollo
v1 per compatibilitŕ all'indietro coi vecchi sistemi. Il
demone ypbind fornito con questi
sistemi proverŕ a stabilire un binding con un server
NIS v1 anche se potrebbero non averne mai bisogno
(e possono continuare a fare broadcast in ricerca di
uno anche dopo che hanno ricevuto risposta da un
server v2). Nota che mentre il supporto per i
client normali viene garantito, questa versione
di ypserv non
gestisce richieste di trasferimento di mappe v1; di
conseguenza, non puň essere usato come master o slave in
congiunzione con server NIS piů vecchi che
supportano solo il protocollo v1. Fortunatamente,
probabilmente non ci sono
server del genere in uso oggi.Server NIS che Sono Anche Client Bisogna prestare molta attenzione quando
si esegue ypserv in
un dominio multi-server dove le macchine server
sono anche client NIS.
E' generalmente una buona idea forzare i server
ad effettuare il binding a sč stessi piuttosto
che permettere loro di effettuare il broadcast
delle richieste binding e
potenzialmente possono fare il bind una all'altra.
Possono risultare strani errori quando un
server va giů e gli altri sono dipendenti da
lui. Alla fine, tutti i client andranno in timeout
e cercheranno di effettuare il bind ad altri server,
ma il ritardo di questa operazione puň essere
considerevole e l'uscita
di errore č ancora presente dato che i server possono
fare il binding fra di loro di nuovo.Puoi forzare un host a fare il binding ad un server
in particolare usando ypbind con
l'opzione . Se non vuoi fare
questa azione a mano ogni volta che fai il reboot
del tuo server NIS, puoi aggiungere queste linee al tuo
/etc/rc.conf:nis_client_enable="YES" # run client stuff as well
nis_client_flags="-S NIS
domain,server"Consulta &man.ypbind.8; per ulteriori informazioni.Formato delle PasswordNISformato delle passwordUno dei problemi piů comuni in cui la gente incappa
quando tenta di implementare NIS č la compatibilitŕ
del formato delle password. Se il tuo server NIS usa password
criptate con DES, supporterŕ solo client che usano anche loro
DES. Ad esempio, se hai client NIS &solaris; nella rete,
dovrai quasi certamente usare password criptate
con DES.Per controllare quale formato il tuo server
e client usano, dai un'occhiata a
/etc/login.conf. Se l'host
č configurato per usare password criptate
DES, la classe default conterrŕ
una linea simile a questa:default:\
:passwd_format=des:\
:copyright=/etc/COPYRIGHT:\
[Further entries elided]Altri valori possibili per l'opzione
passwd_format includono
blf e md5
(per password criptate con Blowfish e con MD5,
rispettivamente).Se hai fatto modifiche a
/etc/login.conf,
dovrai anche ricostruire il database
delle possibilitŕ di login, il che si
ottiene eseguendo il seguente comando
come root:&prompt.root; cap_mkdb /etc/login.confIl formato delle password che sono
giŕ in /etc/master.passwd non
sarŕ aggiornato finchč un utente cambia la
sua password per la prima volta
dopo che il
database delle possibilitŕ di login
č ricostruito.Dopodichč per assicurarti che le password siano
criptate con il formato che hai scelto, dovresti
anche controllare che crypt_default
in /etc/auth.conf dia precedenza
al formato delle password scelto. Per farlo,
inserisci il formato che hai scelto per primo
nella lista. Ad esempio, quando usi password
criptate DES, la linea dovrebbe essere:crypt_default = des blf md5Seguendo i passi sopra citati su ognuno dei &os;
basati su NIS server e client, puoi star sicuro che tutti
siano d'accordo su quale formato delle password sia usato
all'interno della rete. Se hai problemi nell'identificazione
su un client NIS, questo č un buon punto di partenza per
cercare possibili problemi. Ricordati: se vuoi mettere
in produzione un server NIS per una rete eterogenea,
dovrai probabilmente usare DES su tutti i sistemi
poichč questo č il minimo standard comune.GregSutterScritto da Configurazione Automatica della Rete (DHCP)Cos'č il DHCP?Dynamic Host Configuration ProtocolDHCPInternet Software Consortium (ISC)DHCP, il Protocollo di Configurazione Host Dinamico,
descrive i passi attraverso i quali un sistema
si puň connettere ad una rete ed ottenere
l'informazione necessaria per comunicare attraverso
quella rete. Le versioni di FreeBSD prima della 6.0
usano l'implementazione DHCP client (&man.dhclient.8;)
dell'ISC (Internet Software Consortium). Le ultime versioni
usano il dhclient di OpenBSD preso
da OpenBSD 3.7.
Tutte le informazioni specifiche all'implementazione
di dhclient in questa sede
sono riferite all'uso dei client DHCP sia di ISC che di OpenBSD.
Il server DHCP č quello incluso nella
distribuzione ISC.Cosa Copre Questa SezioneQuesta sezione descrive sia il lato client
del sistema DHCP di ISC e di OpenBSD che il lato server del
sistema DHCP ISC. Il
programma client, dhclient,
č giŕ
integrato con FreeBSD, e la parte server č
disponibile nel port net/isc-dhcp3-server. Le
pagine di manuale &man.dhclient.8;, &man.dhcp-options.5;, e
&man.dhclient.conf.5;, oltre ai riferimenti
elencati oltre, sono risorse utili.Come FunzionaUDPQuando dhclient, il client
DHCP, viene eseguito sulla macchina client, inizia
a fare broadcasting di richieste per informazioni
di configurazione. Di default
queste richieste sono sulla porta UDP 68. Il server
risponde sulla porta UDP 67, dando al client un
indirizzo IP ed altre informazioni rilevanti di rete
come la netmask, il router ed il DNS server. Tutte
queste informazioni
arrivano sotto forma di un rilascio DHCP
e sono valide sono per un certo periodo di tempo
(configurato dall'amministratore del server DHCP).
In questo modo, gli indirizzi IP bloccati da client
che non sono piů connessi alla rete possono
essere riutilizzati automaticamente.I client DHCP possono ottenere molti tipi
di informazione dal server. Una lista esauriente
puň essere trovata in
&man.dhcp-options.5;.L'Integrazione con FreeBSD&os; integra completamente il client
DHCP ISC o OpenBSD, dhclient
(a seconda della versione di &os; utilizzata). Viene fornito
supporto al client DHCP sia con l'installazione
sia con il sistema base, rendendo inutile il bisogno
di una conoscenza dettagliata della configurazione
di rete su ogni rete che abbia un server DHCP.
dhclient č stato incluso
in tutte le distribuzioni FreeBSD a partire
dalla 3.2.sysinstallDHCP č supportato da
sysinstall. Quando
configuri una interfaccia di rete con
sysinstall, la seconda
domanda che ti pone č:
Vuoi provare a configurare
l'interfaccia via DHCP?. Una risposta
affermativa eseguirŕ dhclient,
e, se ha successo, riempirŕ le informazioni
di configurazione della rete in automatico.Ci sono due cose che devi fare per far sě
che il tuo sistema usi il DHCP all'avvio:DHCPprerequisitiAccertati che il device
bpf
sia compilato nel tuo kernel. Per fare
ciň, aggiungi device bpf
al tuo file di
configurazione del kernel, e ricompilalo.
Per maggiori informazioni su come ricompilare
i kernel, vedi .Il device
bpf č giŕ
parte del kernel GENERIC
che č fornito con FreeBSD, cosě
se non hai un kernel custom, non dovresti
aver bisogno di crearne uno al fine di far funzionare
il DHCP.Quelli di voi che sono particolarmente
attenti alla sicurezza, dovrebbero sapere che il
device bpf č
anche il device che permette agli sniffer di
pacchetti di
funzionare correttamente (anche se devono sempre
essere eseguiti come root).
bpfč
richiesto per l'uso del DHCP, ma se siete molto
attenti alla sicurezza, non dovreste probabilmente
aggiungere bpf al
vostro kernel in previsione di un uso
futuro del DHCP.Edita il tuo /etc/rc.conf
per includere la seguente linea:ifconfig_fxp0="DHCP"Accertati di sostituire
fxp0 con il
nome dell'interfaccia che intendi configurare
dinamicamente, come descritto in
.Se stai usando una locazione diversa
per dhclient, o se desideri
passare flags addizionali a
dhclient
includi anche le linee seguenti (editandole
come necessario):dhcp_program="/sbin/dhclient"
dhcp_flags=""DHCPserverIl server DHCP, dhcpd,
č incluso come parte del port
net/isc-dhcp3-server
nella collezione dei ports. Questo port contiene il
server DHCP ISC e la documentazione.FilesDHCPfile di configurazione/etc/dhclient.confdhclient richiede
un file di configurazione,
/etc/dhclient.conf. Tipicamente
il file contiene solo commenti, essendo i default
ragionevolmente corretti. Questo file di
configurazione č descritto dalla
pagina di manuale &man.dhclient.conf.5;./sbin/dhclientdhclient č
linkato staticamente e risiede in
/sbin.
Le pagine di manuale di &man.dhclient.8; danno
maggiori informazioni su dhclient./sbin/dhclient-scriptdhclient-script č
lo script di configurazione del client DHCP
specifico di FreeBSD. Viene descritto in
&man.dhclient-script.8;
ma non dovrebbe aver bisogno di nessuna
modifica utente
per funzionare correttamente./var/db/dhclient.leasesIl client DHCP mantiene un database di
validi rilasci in questo file, che viene
scritto come un log.
&man.dhclient.leases.5; ne dŕuna descrizione
leggermente piů estesa.Ulteriori LettureIl protocollo DHCP č
descritto in maniera estesa in
RFC 2131.
Informazioni aggiuntive sono presenti a questo URL:
.Installare e Configurare un Server DHCPCosa Copre Questa SezioneQuesta sezione fornisce informazioni su come
configurare un sistema FreeBSD che funzioni come
un server DHCP usando l'implementazione del server
DHCP dell'ISC (Internet Software Consortium).Il server non viene
fornito come parte di FreeBSD, cosě
dovrai installare il port
net/isc-dhcp3-server
per fornire questo servizio. Vedi
per
piů informazioni su come usare la Collezione
dei Port.Installazione del DHCP ServerDHCPinstallazionePer configurare il tuo sistema FreeBSD
come un server DHCP, assicurati che il
device &man.bpf.4; sia compilato nel
kernel. Per farlo, aggiungi
device bpf
al file di configurazione del kernel, e ricompilalo. Per
maggiori informazioni su come compilare un kernel,
vedi .Il device bpf
č giŕ
parte del kernel GENERIC
che viene fornito con FreeBSD, cosě
non hai bisogno di creare
un kernel custom per far funzionare il DHCP.Quelli di voi che sono particolarmente
attenti alla sicurezza, dovrebbero notare che
bpf č anche il
device che permette agli sniffer di pacchetti
di funzionare correttamente (anche se tali
programmi hanno bisogno di accesso privilegiato).
bpfč
richiesto per il funzionamento del DHCP,
ma se siete molto attenti alla sicurezza,
probabilmente non dovreste includere
bpf
nel vostro kernel semplicemente perchč vi
aspettate di usare il DHCP in qualche momento.La prossima cosa che devi fare č
editare il file dhcpd.conf che
č stato installato dal port
net/isc-dhcp3-server.
Di default, questo sarŕ
/usr/local/etc/dhcpd.conf.sample
e dovresti copiare questo file in
/usr/local/etc/dhcpd.conf
prima di procedere con i cambiamenti.Configurare il Server DHCPDHCPdhcpd.confdhcpd.conf č
composto di dichiarazioni riguardanti
sottoreti ed host, e forse lo si spiega
meglio con un esempio:option domain-name "example.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 mailhost.example.com;
}Questa opzione specifica il dominio che
verrŕ servito ai client come il dominio
di default di ricerca. Si veda
&man.resolv.conf.5; per piů informazioni.Questa opzione specifica una lista di server
DNS separata da virgole, che i client
dovrebbero usare.La netmask che sarŕ fornita ai client.Un client potrebbe richiedere una lunghezza di
tempo specifica per la quale il rilascio sarŕ
valido. Altrimenti il server assegnerŕ
un tempo di rilascio con questa durata (in secondi).Questa č la lunghezza massima di
tempo per la quale un server effettuerŕ
un rilascio. Se un client dovesse richiedere
un rilascio piů lungo, sarŕ effettuato
un rilascio, anche se sarŕ valido solo per
max-lease-time secondi.Questa opzione specifica se il server DHCP
dovrŕ cercare di modificare il DNS
quando un rilascio č accettato o
liberato. Nella implementazione ISC
questa opzione č
richiesta.Questo identifica quale indirizzo IP
dovrŕ essere usato nel pool riservato
per l'allocazione ad i client. Gli indirizzi
IP fra, ed inclusi, quelli dichiarati sono
assegnabili agli utenti.Dichiara il default gateway che sarŕ
assegnato ad i client.L'indirizzo hardware MAC di un host
(cosicchč il server DHCP
possa riconoscere un host quando
fa una richiesta).Specifica che all'host dovrebbe sempre
essere fornito lo stesso indirizzo IP.
Nota che usare un hostname č
corretto in questo caso,
dato che il DHCP server risolverŕ
l'hostname stesso prima di restituire
l'informazione sul rilascio.Una volta che hai finito di scrivere
il tuo dhcpd.conf,
puoi abilitare il server DHCP in
/etc/rc.conf, aggiungendo:dhcpd_enable="YES"
dhcpd_ifaces="dc0"Sostituisci il nome dell'interfaccia
dc0 con l'interfaccia
(o le interfacce, separate da spazi) su cui il tuo server DHCP
dovrebbe stare in ascolto per le richieste DHCP dei client.Quindi, puoi procedere ad avviare il server con il
seguente comando:&prompt.root; /usr/local/etc/rc.d/isc-dhcpd.sh startSe hai bisogno di fare altri cambiamenti
alla configurazione del server in futuro,
č importante notare che l'invio di
un segnale SIGHUP
a dhcpdnon fa sě che il file
di configurazione sia ricaricato, come avviene
con la maggior parte dei demoni. Dovrai inviare
un segnale SIGTERM per fermare
il processo, e poi riavviarlo usando il comando
sopracitato.FilesDHCPfile di configurazione/usr/local/sbin/dhcpddhcpd č
linkato staticamente e risiede in
/usr/local/sbin
. La pagina di manuale di
&man.dhcpd.8; installata con il port
dŕ piů informazioni
su dhcpd./usr/local/etc/dhcpd.confdhcpd richiede
un file di configurazione,
/usr/local/etc/dhcpd.conf
, prima che possa iniziare a
fornire il servizio ai client. Questo
file deve contenere tutte le informazioni
che devono essere fornite ai client che
sono serviti, oltre alle informazioni
riguardanti le operazioni del server. Questo
file di configurazione č descritto
dalla pagina di manuale &man.dhcpd.conf.5;
installata dal port./var/db/dhcpd.leasesIl server DHCP mantiene un database dei
rilasci che ha effettuato in questo file, che
viene scritto come un log. La pagina di manuale
&man.dhcpd.leases.5;, installata dal port
ne dŕ una descrizione leggermente pi`
lunga./usr/local/sbin/dhcrelaydhcrelay č
usata in ambienti avanzati dove un server
DHCP reinvia le richieste da un client ad un
altro server DHCP su una rete separata. Se
hai bisogno di questa
funzionalitŕ, installa il port
net/isc-dhcp3-relay.
La pagina di manuale &man.dhcrelay.8; fornita
col port contiene piů dettagli.ChernLeeGrazie al contributo di TomRhodesDanielGerzoDomain Name System (DNS)Uno sguardo d'insiemeBIND&os; utilizza, di default, una versione di
BIND (Berkeley Internet Name Domain), che č
la piů completa implementazione del protocollo
DNS. DNS č il protocollo
attraverso il quale nomi sono mappati ad indirizzi IP,
e viceversa. Per esempio, una query per
www.FreeBSD.org
riceverŕ una replica con l'indirizzo
IP del web server del The &os; Project, mentre una
query per ftp.FreeBSD.org
ritornerŕ l'indirizzo IP della corrispondente
macchina FTP. Allo stesso modo, puň
avvenire l'opposto. Una
query per un indirizzo IP puň risolvere il suo
nome host. Non č necessario avere in esecuzione
un name server per fare DNS lookups su un sistema.
&os; al momento viene distribuito con software DNS
BIND9 di default. La nostra installazione fornisce
caratteristiche di sicurezza migliorate, un nuovo layout del file
system e configurazione &man.chroot.8; automatica.DNSDNS č coordinato su Internet attraverso
un sistema alquanto complesso di name server autoritativi,
ed altri name server di piů piccola scala che
ospitano e gestiscono cache di informazioni individuali
sui domini.Al momento corrente, BIND č mantenuto
dall'Internet Software Consortium
.
TerminologiaPer comprendere questo documento, alcuni termini
relativi al DNS devono essere capiti.risolutoreDNS inversozona rootTermineDefinizioneForward DNSLa mappa da hostname ad indirizzi IP.OrigineSi riferisce al dominio coperto in
un particolare file di zona.named,
BIND, name serverNomi comuni per il pacchetto name server BIND
all'interno di &os;.RisolutoreUn processo di sistema attraverso il quale
una macchina fa query su un name server
per informazioni di zona.DNS inversoL'opposto del forward DNS; mappare
indirizzi IP su nomi host.Zona rootL'inizio della gerarchia della zona
Internet. Tutte le zone cadono sotto la
zona root, analogamente
a come tutti i file nel file system cadono sotto
la directory root.ZonaUn dominio individuale, sottodominio, o
porzione del DNS amministrato dalla stessa
autoritŕzoneesempiEsempi di zone:. č la zona rootorg. č una zona
Top Level Domain (TLD) sotto la zona rootexample.org.
č una zona sotto la zona
org. TLD1.168.192.in-addr.arpa č una zona
che referenzia tutti gli indirizzi IP che cadono
sotto lo spazio IP 192.168.1.*.
Come si puň vedere, la parte piů
specifica di un nome host appare a sinistra. Per esempio
example.org. č
piů specifico di org., come
org. č piů specifico
della zona root. La disposizione di ogni parte di un nome
host č analoga ad un file system: la
directory /dev cade
all'interno della root, e cosě via.Ragioni per Avere in Esecuzione un Name ServerAttualmente vengono usati due tipi di name server:
un name server autoritativo, ed un name server cache.Un name server autoritativo č necessario
quando:uno vuole servire informazioni DNS a tutto
il mondo, rispondendo in maniera autoritativa
alle query.un dominio, tipo
example.org, č
registrato e gli indirizzi IP devono essere
assegnati ad hostname sotto questo.un blocco di indirizzi IP richiede
entry di DNS inverso (da IP
ad hostname).un name server di backup, chiamato uno
slave, deve rispondere alle query.Un name server cache č necessario quando:un server locale DNS puň tenere in cache e
rispondere piů velocemente rispetto ad effettuare
query ad un name server all'esterno.una riduzione nel traffico complessivo di
rete č desiderato (č stato
calcolato che il traffico DNS
conta piů del 5% sul traffico totale di
Internet).Quando uno fa una query per risolvere
www.FreeBSD.org, il
risolutore di solito fa una query al name
server dell'ISP a cui si č connessi,
ed ottiene una risposta. Con un server DNS
locale, che fa cache,
la query deve essere effettuata una volta sola dal
server DNS che fa cache. Ogni
query aggiuntiva non dovrŕ cercare all'esterno
della rete locale, dato che l'informazione
č tenuta in cache localmente.Come FunzionaIn &os;, il demone BIND č chiamato
named per ovvie ragioni.FileDescrizione&man.named.8;Il demone BIND.&man.rndc.8;Programma di controllo del name server./etc/namedbDirectory dove risiedono le
informazioni di zona di BIND./etc/namedb/named.confFile di configurazione del demone.
A seconda di come certe zone sono configurate
sul server, i file relativi a quelle zone possono essere
trovate nelle sottodirectory master, slave, or dynamic della directory
/etc/namedb.
Questi file contengono le informazioni DNS
che saranno distribuite dal name server in risposta alle query.Avviare BINDBINDavvioDato che BIND č installato di default,
configurarlo č relativamente semplice.La configurazione di default di named
č quella di un name server basilare, eseguito in
ambiente &man.chroot.8;. Per avviare il server una volta
con questa configurazione, usa il seguente comando:&prompt.root; /etc/rc.d/named forcestartPer assicurarsi che il demone
named
sia avviato alla partenza, metti la seguente riga
in /etc/rc.conf:named_enable="YES"Ci sono ovviamente molte opzioni di configurazione
per /etc/namedb/named.conf che sono al di lŕ
dello scopo di questo documento. Comunque, se siete interessati
nelle opzioni di avvio per named su &os;,
dai un'occhiata ai flags named_ in
/etc/defaults/rc.conf e consulta la pagina
di manuale &man.rc.conf.5;. Anche la sezione
č una buona base di partenza.File di ConfigurazioneBINDfile di configurazioneI file di configurazione per named
al corrente risiedono nella directory
/etc/named e necessiteranno di modifiche prima
dell'uso, a meno che non si voglia un semplice resolver.
Qui č dove la maggior pare della configurazione viene
effettuata.Usando make-localhostPer configurare una zona master per il localhost
visita la directory /etc/namedb
ed esegui il seguente comando:&prompt.root; sh make-localhostSe tutto č andato bene, un nuovo file dovrebbe
esistere nella sottodirectory
master.
I nomi dei file dovrebbero essere localhost.rev
per il local domain name elocalhost-v6.rev
per le configurazioni IPv6.
Come il file di configurazione di default, l'informazione
richiesta sarŕ presente nel file named.conf.
/etc/namedb/named.conf// $FreeBSD$
//
// Refer to the named.conf(5) and named(8) man pages, and the documentation
// in /usr/share/doc/bind9 for more details.
//
// If you are going to set up an authoritative server, make sure you
// understand the hairy details of how DNS works. Even with
// simple mistakes, you can break connectivity for affected parties,
// or cause huge amounts of useless Internet traffic.
options {
directory "/etc/namedb";
pid-file "/var/run/named/pid";
dump-file "/var/dump/named_dump.db";
statistics-file "/var/stats/named.stats";
// If named is being used only as a local resolver, this is a safe default.
// For named to be accessible to the network, comment this option, specify
// the proper IP address, or delete this option.
listen-on { 127.0.0.1; };
// If you have IPv6 enabled on this system, uncomment this option for
// use as a local resolver. To give access to the network, specify
// an IPv6 address, or the keyword "any".
// listen-on-v6 { ::1; };
// In addition to the "forwarders" clause, you can force your name
// server to never initiate queries of its own, but always ask its
// forwarders only, by enabling the following line:
//
// forward only;
// If you've got a DNS server around at your upstream provider, enter
// its IP address here, and enable the line below. This will make you
// benefit from its cache, thus reduce overall DNS traffic in the Internet.
/*
forwarders {
127.0.0.1;
};
*/Proprio come dicono i commenti, per beneficiare
di una cache di un server superiore, puň
essere abilitato forwarders.
Sotto circostanze normali, un name
server farŕ query ricorsive attraverso Internet
cercando certi name server fino a chč non trova
la risposta che sta cercando. Averlo abilitato farŕ
sě che sarŕ fatta prima una query verso il
name server superiore (o il name server fornito),
avvantaggiandosi della sua cache. Se il name
server superiore č un name server molto
trafficato e veloce, puň valere la pena di
abilitarlo.127.0.0.1non funzionerŕ qui.
Cambia questo indirizzo IP in un name server
superiore. /*
* If there is a firewall between you and nameservers you want
* to talk to, you might need to uncomment the query-source
* directive below. Previous versions of BIND always asked
* questions using port 53, but BIND versions 8 and later
* use a pseudo-random unprivileged UDP port by default.
*/
// query-source address * port 53;
};
// If you enable a local name server, don't forget to enter 127.0.0.1
// first in your /etc/resolv.conf so this server will be queried.
// Also, make sure to enable it in /etc/rc.conf.
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";
};
// NB: Do not use the IP addresses below, they are faked, and only
// serve demonstration/documentation purposes!
//
// Example slave zone config entries. It can be convenient to become
// a slave at least for the zone your own domain is in. Ask
// your network administrator for the IP address of the responsible
// primary.
//
// Never forget to include the reverse lookup (IN-ADDR.ARPA) zone!
// (This is named after the first bytes of the IP address, in reverse
// order, with ".IN-ADDR.ARPA" appended.)
//
// Before starting to set up a primary zone, make sure you fully
// understand how DNS and BIND works. There are sometimes
// non-obvious pitfalls. Setting up a slave zone is simpler.
//
// NB: Don't blindly enable the examples below. :-) Use actual names
// and addresses instead.
/* An example master zone
zone "example.net" {
type master;
file "master/example.net";
};
*/
/* An example dynamic zone
key "exampleorgkey" {
algorithm hmac-md5;
secret "sf87HJqjkqh8ac87a02lla==";
};
zone "example.org" {
type master;
allow-update {
key "exampleorgkey";
};
file "dynamic/example.org";
};
*/
/* Examples of forward and reverse slave zones
zone "example.com" {
type slave;
file "slave/example.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;
};
};
*/In named.conf, ci sono esempi
di linee slave per zone di forward ed inverse.Per ogni nuova zona servita, una nuova linea di
zona deve essere aggiunta a
named.conf.Per esempio, la piů semplice entry per
example.org puň
assomigliare a:zone "example.org" {
type master;
file "master/example.org";
};La zona č una master, come indicato
dall'entry ,
e conserva le informazioni di zona su
/etc/namedb/master/example.org
indicata dalla entry
.zone "example.org" {
type slave;
file "slave/example.org";
};Nel caso slave, l'informazione di zona č
trasferita dal name server master per quella zona
particolare, e salvata nel file specificato. Se e
quando il master muore o č irraggiungibile,
il name server slave avrŕ le informazioni di
zona trasferite e sarŕ in grado di servirlo.File di ZonaBINDzone filesUn esempio di file di zona master per example.org (che esiste
all'interno di /etc/namedb/master/example.org
) č la seguente:$TTL 3600 ; 1 hour
example.org. IN SOA ns1.example.org. admin.example.org. (
2006051501 ; Serial
10800 ; Refresh
3600 ; Retry
604800 ; Expire
86400 ; Minimum TTL
)
; DNS Servers
IN NS ns1.example.org.
IN NS ns2.example.org.
; MX Records
IN MX 10 mx.example.org.
IN MX 20 mail.example.org.
IN A 192.168.1.1
; Machine Names
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
mail IN A 192.168.1.5
; Aliases
www IN CNAME @Nota che ogni hostname che finisce in
un . č
un nome esatto, mentre ogni entitŕ senza un
. č referenziato all'origine.
Per esempio www č trasformato
in www.origin.
Nel nostro file di zone fittizio, la nostra origine
č example.org, cosě
www si trasformerebbe in
www.example.org.Il formato di un file di zona č
il seguente:recordname IN recordtype
valueDNSrecordsI record DNS usati piů di frequente:SOAinizio di una zona di
autoritŕNSun name server
autoritativoAun indirizzo hostCNAMEil nome canonico per un
aliasMXmail exchangerPTRun puntatore a nome di dominio (usato nel
DNS inverso)
example.org. IN SOA ns1.example.org. admin.example.org. (
2006051501 ; Serial
10800 ; Refresh after 3 hours
3600 ; Retry after 1 hour
604800 ; Expire after 1 week
86400 ) ; Minimum TTL of 1
dayexample.org.il nome di dominio, inoltre č
l'origine per questo file di zona.ns1.example.org.il name server primario/autoritativo
per questa zona.admin.example.org.la persona responsabile per questa
zona, un indirizzo email con @
sostituito. (admin@example.org
diventa admin.example.org)2006051501il numero di serie del file. Questo
deve essere aumentato ogni volta che il file di
zona č modificato. Al giorno d'oggi
molti amministratori preferiscono un formato
yyyymmddrr per il numero
di serie.
2006051501 significherebbe
modificato l'ultima volta il 05/15/2006, l'ultimo
01 essendo la prima volta che
il file di zona č stato modificato in
questo giorno. Il numero di serie č
importante dato che avverte
name server slave per una zona quando questa
` modificata.
IN NS ns1.example.org.Questa č una linea NS. Ogni name server che
replicherŕ in maniera autoritativa la zona deve
avere una di queste linee. Il @ come
visto potrebbe essere stato
example.org.
Il @ si traduce nell'origine.
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
mail IN A 192.168.1.5Il record A indica un nome macchina. Come visto
sopra, ns1.example.org
risolverebbe in 192.168.1.2.
IN A 192.168.1.1Questa linea assegna l'indirizzo IP
192.168.1.1 alla corrente origine,
in questo caso example.org.
www IN CNAME @Il record nome canonico č usato per dare alias
ad una macchina. Nell'esempio, www
č tramutato in alias nella macchina master
che corrisponde al domain name example.org
(192.168.1.1).
CNAME possono essere usati per fornire alias
ad hostname o distribuire in round robin un
hostname fra molte macchine.MX record
IN MX 10 mail.example.org.Il record MX ` usato per specificare quali
mail server sono responsabili per gestire mail
entranti per la zona.
mail.example.org
č l'hostname del mail
server, e 10 č la prioritŕ di
quel mail server.Uno puň avere molti mail server, con
prioritŕ di 10, 20 e cosě via. Un mail server che
cerca di consegnare una mail a
example.org
proverŕ prima l'MX con la piů alta
prioritŕ (il record con il numero di priorita' minimo)
poi il secondo, etc., fino a
chč la mail non sia
consegnata correttamente.Per file di zona in-addr.arpa (DNS inverso), lo stesso
formato č usato, eccetto con linee PTR
al posto di A o CNAME.$TTL 3600
1.168.192.in-addr.arpa. IN SOA ns1.example.org. admin.example.org. (
2006051501 ; Serial
10800 ; Refresh
3600 ; Retry
604800 ; Expire
3600 ) ; Minimum
IN NS ns1.example.org.
IN NS ns2.example.org.
1 IN PTR example.org.
2 IN PTR ns1.example.org.
3 IN PTR ns2.example.org.
4 IN PTR mx.example.org.
5 IN PTR mail.example.org.Questo file da la corretta mappa da indirizzi
IP ad hostname per il nostro dominio fittizio.Caching Name ServerBINDcaching name serverUn name server caching č un name server
che non č autoritativo per nessuna zona.
Fa semplicemente query, e ne memorizza le risposte
per uso successivo. Per impostarne uno, configura
il name server come al solito, omettendo ogni
inclusione di zona.SicurezzaAnche se BIND č la piů comune
implementazione del DNS, c'č sempre la questione
della sicurezza. Talvolta vengono trovati possibili
e sfruttabili buchi di sicurezza.Mentre &os; tiene named
automaticamente in un ambiente &man.chroot.8;,
ci sono molti altri meccanismi di sicurezza che
potrebbero essere sfruttati per attacchi al servizio
DNS.Č una buona idea leggere
gli avvisi sulla sicurezza di CERT e
sottoscrivere le &a.security-notifications;
per stare aggiornato con le questioni
correnti di sicurezza di Internet e FreeBSD.Se sorge un problema, tenere i
sorgenti aggiornati e fare una compilazione
al volo di named
non farebbe male.Ulteriori letturePagine di manuale di
BIND/named:
&man.rndc.8; &man.named.8; &man.named.conf.5;Official ISC BIND
PageOfficial ISC BIND
Forum
BIND FAQO'Reilly
DNS and BIND 4th EditionRFC1034
- Domain Names - Concepts and FacilitiesRFC1035
- Domain Names - Implementation and SpecificationMurrayStokelyGrazie al contributo di Apache HTTP Serverweb serverinstallareApacheUno sguardo d'insieme&os; č usato per far girare
alcuni dei siti web piů trafficati
al mondo. La maggioranza dei web server
su Internet usano attualmene
Apache HTTP Server.
Il pacchetto software di
Apache
dovrebbe essere incluso nel tuo media di
installazione di FreeBSD. Se non hai
installato Apache
quando hai installato FreeBSD per la prima volta,
lo puoi installare dal port
www/apache13
o www/apache22.Una volta che Apache
č stato installato con successo, deve essere
configurato.Questa sezione copre la versione 1.3.X
di Apache HTTP Server
dato che č la versione piů usata per
&os;. Apache 2.X
introduce molte nuove tecnologie ma queste non
saranno discusse in questa sede. Per maggiori
informazioni su
Apache 2.X, per favore
consulta .ConfigurazioneApachefile di configurazioneIl principale file di configurazione
di Apache HTTP Server
č installato in
/usr/local/etc/apache/httpd.conf
su &os;. Questo file č un tipico file di testo
di configurazione di &unix; con linee di commento
che cominciano col carattere #.
Una descrizione comprensiva di tutte le possibili
opzioni di configurazione č al di fuori dello
scopo di questo libro, cosě solo le direttive
usate piů di frequente saranno descritte
di seguito.ServerRoot "/usr/local"Questo specifica la gerachia di directory
di default per l'installazione di
Apache. I binari
sono conservati nelle sottodirectory
bin e
sbin
sotto la server root, ed i file di configurazione
sono conservati sotto
etc/apache.ServerAdmin you@your.addressL'indirizzo email al quale i problemi
riguardanti il server dovrebbero essere
inviati. Questo indirizzo appare su alcune
pagine generate dal server,
come alcuni documenti di errore.ServerName www.example.comServerName ti permette di
impostare un nome host che viene inviato
ai client per il tuo server, se questo
č differente da quello per il quale l'host
č configurato (ad esempio usi www
invece del vero nome host).DocumentRoot "/usr/local/www/data"DocumentRoot: La directory
dalla quale servirai documenti. Di default
tutte le richieste sono girate a questa
directory, ma link simbolici ed alias
possono essere usati per puntare ad altre
locazioni.Č sempre una buona idea fare copie di
backup del tuo file di configurazione di
Apache prima di
modificarlo. Una volta che sei soddisfatto dalla
tua configurazione iniziale sei pronto per
iniziare ad eseguire Apache.Eseguire ApacheApacheavviarlo o fermarloApache non viene eseguito
dal super server inetd
a differenza di molti altri server di
rete. Č configurato
per girare standalone per migliori performance
per gestire le richieste HTTP in entrata dai client
web browser. Un wrapper shell script č
incluso per rendere il piů semplice
possibile lo start, lo stop ed il restart del
server. Per avviare Apache
per la prima volta, esegui:&prompt.root; /usr/local/sbin/apachectl startPuoi fermare il server in ogni istante
digitando:&prompt.root; /usr/local/sbin/apachectl stopDopo aver fatto modifiche al file
di configurazione per una qualsiasi ragione,
avrai bisogno di riavviare
il server:&prompt.root; /usr/local/sbin/apachectl restartPer riavviare Apache
senza mandare in abort le connessioni correnti,
esegui.&prompt.root; /usr/local/sbin/apachectl gracefulInformazioni addizionali sono
disponibili sulla pagina di manuale
di &man.apachectl.8;.Per eseguire Apache
all'avvio del sistema, aggiungi la seguente
linea ad /etc/rc.conf:apache_enable="YES"o per Apache 2.2:apache22_enable="YES"Se volessi fornire opzioni addizionali
di linea di comando al programma
Apachehttpd
avviato al boot di sistema, puoi specificarle
con una linea addizionale in
rc.conf:apache_flags=""Ora che il web server č in esecuzione
puoi navigare il tuo sito web puntando
il tuo web browser ad
http://localhost/.
La pagina di default che viene mostrata
č
/usr/local/www/data/index.html.Virtual HostingApache supporta due
tipi diversi di Virtual Hosting. Il primo metodo
č Virtual Hosting basato sul nome. Il
Virtual Hosting basato sul nome usa gli header
HTTP/1.1 per scoprire l'hostname. Questo permette
a molti domini diversi di condividere lo stesso
indirizzo IP.Per fare sě che
Apache
usi Virtual Hosting basato sui nomi aggiungi una
entry come la seguente al tuo file
httpd.conf:NameVirtualHost *Se il tuo webserver era nominato
www.domain.tld e
tu avessi voluto installare un dominio virtuale
per www.someotherdomain.tld
avresti dovuto aggiungere le seguenti entry
a httpd.conf:<VirtualHost *>
ServerName www.domain.tld
DocumentRoot /www/domain.tld
</VirtualHost>
<VirtualHost *>
ServerName www.someotherdomain.tld
DocumentRoot /www/someotherdomain.tld
</VirtualHost>Sostituisci gli indirizzi con gli indirizzi
che vuoi usare ed i percorsi dei documenti con quelli
che usi.Per maggiori informazioni sull'impostazione
dei virtual host, per favore consulta la
documentazione ufficiale a
.Moduli ApacheApachemoduliCi sono molti diversi moduli
Apache disponibili
per aggiungere funzionalitŕ al server base.
La Collezione Port di FreeBSD fornisce un modo
semplice di installare Apache
assieme ad alcuni dei piů popolari moduli
aggiuntivi.mod_sslserver websicuriSSLcrittografiaIl modulo mod_ssl
usa la libreria OpenSSL per fornire una forte
crittografia attraverso i protocolli Secure
Sockets Layer (SSL v2/v3) e Transport Layer
Security (TLS v1). Questo modulo fornisce tutto
il necessario per richiedere
un certificato firmato da un'autoritŕ fidata
che emette certificati, cosicchč puoi eseguire
un web server sicuro su &os;.Se non hai ancora installato
Apache, una versione
di Apache 1.3.X
che includa mod_ssl
puň essere installata con il port
www/apache13-modssl.
Il supporto ad SSL č anche disponibile per
Apache 2.X nel port
www/apache22,
dove viene abilitato di default.Siti web dinamici con Perl & PHPNegli ultimi anni, molte aziende si sono rivolte a Internet
per migliorare i loro ricavi e aumentare la loro esposizione.
Questo ha anche aumentato il bisogno di contenuti interattivi
web. Mentre alcune societŕ come µsoft; hanno introdotto
soluzioni nei loro prodotti proprietari, la comunitŕ
open source ha risposto all'appello. Due opzioni per contenuti
web dinamici includono mod_perl
& mod_php.mod_perlPerlIl progetto di integrazione
Apache/Perl
mette assieme la grande potenza del linguaggio
di programmazione Perl e
l'Apache HTTP Server.
Con il modulo mod_perl
č possibile scrivere moduli Apache
interamente in Perl. In aggiunta
l'interprete persistente integrato nel server
evita l'overhead di avviare un interprete esterno
e la penalizzazione del tempo di
caricamento Perl.mod_perl č disponibile
in alcuni modi diversi. Per usare mod_perl
ricorda che mod_perl
1.0 funziona solo con Apache 1.3
e mod_perl 2.0 funziona solo
con Apache 2.X.
mod_perl 1.0 č disponibile
in www/mod_perl ed una versione
compilata staticamente č disponibile in
www/apache13-modperl.
mod_perl 2.0 č disponibile in
www/mod_perl2.TomRhodesScritto da mod_phpmod_phpPHPPHP, anche noto come Hypertext Prepocessor
č un linguaggio di scripting di scopo generale che č
particolarmente adatto per lo sviluppo Web. Adatto ad essere
usato all'interno dell'HTML, la sua sintassi
deriva dal C, &java;, e Perl con l'intenzione di permettere agli
sviluppatori web di scrivere pagine web generate dinamicamente
in modo veloce.Per integrare supporto a PHP5 per
il web server Apache, inizia
con l'installare il port
lang/php5.
Se il port lang/php5
viene installato per la prima volta, le OPTIONS
disponibili saranno mostrate automaticamente.
Se non viene mostrato un menu, ad esempio perché
il port lang/php5
č stato installato qualche volta in passato,
č sempre possibile rivedere il menu a dialogo
con le opzioni eseguendo:&prompt.root; make confignella directory dei port.Nel menu a dialogo delle opzioni,
flagga l'opzione APACHE
per compilare mod_php5
come modulo caricabile per il web server
Apache.Molti siti stanno ancora usando
PHP4 per varie ragioni (ad esempio
questioni di compatibilitŕ o applicativi web giŕ
costruiti). Se si necessita del modulo mod_php4
invece che di mod_php5, siete pregati
di usare il port lang/php4.
Il port lang/php4 supporta
molte delle configurazioni e delle opzioni di build-time
del port lang/php5.Questo installerŕ e
configurerŕ i moduli richiesti
per supportare applicazioni web dinamiche PHP.
Controlla che le seguenti linee siano state aggiunte al file
/usr/local/etc/apache/httpd.conf:LoadModule php5_module libexec/apache/libphp5.so
AddModule 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>Una volta completato, una semplice chiamata
al comando apachectl per un tranquillo
restart č richiesto per caricare il modulo
PHP:&prompt.root; apachectl gracefulPer upgrade futuri di PHP, il comando
make config non sarŕ richiesto;
le OPTIONS selezionate sono salvate automaticamente
dal sistema dei Ports di &os;.Il supporto a PHP in &os; č
estremamente modulare cosě l'installazione
base č molto limitata. Č molto facile
aggiungere supporto usando il port
lang/php5-extensions.
Questo port fornisce un interfaccia a menu per l'installazione
di estensioni a PHP. Alternativamente
le singole estensioni possono essere installate usando
il port appropriato.Ad esempio, per aggiungere supporto al database
MySQL a PHP5,
semplicemente installa
databases/php5-mysql.Dopo aver installato un'estensione, il server
Apache deve essere riavviato per
caricare i cambiamenti della nuova configurazione:&prompt.root; apachectl gracefulMurrayStokelyGrazie al Contributo di File Transfer Protocol (FTP)Server FTPUno sguardo d'insiemeIl File Transfer Protocol (FTP) fornisce
agli utenti un semplice modo di trasferire
file da e verso un server
FTP.
&os; include software per server
FTP
nel sistema base. Questo rende l'installazione
e l'ammininistrazione di un server
FTP
molto semplice.ConfigurazioneIl piů importante passo di
configurazione č decidere a quali
account saraŕ permesso
accedere al server FTP. Un sistema normale
FreeBSD ha un certo numero di account di sistema
usati per vari demoni, ma agli utenti estranei
non dovrebbe essere permesso di loggarsi con questi
account. Il file
/etc/ftpusers č una lista
di utenti a cui č negato l'accesso FTP.
Di default include gli account di sistema sopra citati
ma č possibile aggiungere utenti specifici
che non dovrebbero avere accesso FTP.Puň essere che tu voglia restringere
l'accesso ad alcuni utenti senza impedir loro
di usare completamente FTP. Ciň
puň essere ottenuto
con il file /etc/ftpchroot.
Questo file elenca utenti e gruppi soggetti a
restrizioni di accesso FTP. La pagina di manuale
&man.ftpchroot.5; ha tutti i dettagli cosě
non sarŕ descritta qui.FTPanonimoSe tu volessi abilitare accesso anonimo
FTP al tuo server, devi creare un utente chiamato
ftp sul tuo sistema &os;.
Gli utenti allora potranno loggarsi al tuo server FTP
con uno username di ftp
o anonymous e con
una password qualsiasi
(di norma dovrebbe essere usato un indirizzo email
dell'utente come password). Il server FTP
chiamerŕ &man.chroot.2; quando un utente
anonimo si logga, per restringere l'accesso solo
alla home directory di ftp.Ci sono due file di testo che specificano
messaggi di benvenuto per i client FTP. Il contenuto
del file /etc/ftpwelcome sarŕ
mostrato agli utenti prima che raggiungano il prompt
del login. Dopo un login di successo, il contenuto
del file /etc/ftpmotd sarŕ
mostrato. Nota che il percorso di questo file č
relativo all'ambiente di login, cosě
saraŕ mostrato il file
~ftp/etc/ftpmotd.Una volta che il server FTP č
stato configurato
correttamente, deve essere abilitato in
/etc/inetd.conf. Tutto ciň
che viene richiesto č rimuovere il simbolo
di commento # dall'inizio della linea
relativa a ftpd:ftp stream tcp nowait root /usr/libexec/ftpd ftpd -lCome spiegato in ,
la configurazione di inetd
deve essere ricaricata dopo che
che questo file di configurazione č stato cambiato.Ora puoi loggarti al tuo server FTP digitando:&prompt.user; ftp localhostManutenzionesyslogfile di logFTPIl demone ftpd usa
&man.syslog.3; per loggare i mesaggi. Di default
il demone dei log di sistema girerŕ
i messaggi relativi a FTP nel file
/var/log/xferlog. La posizione
del log FTP puň essere modificata cambiando
la seguente linea in
/etc/syslog.conf:ftp.info /var/log/xferlogFTPanonimoPresta attenzione ai problemi potenziali
correlati all'esecuzione di un server FTP anonimo.
In particolare, dovresti pensarci due volte prima di
permettere agli utenti anonimi di fare upload di file.
Potresti scoprire che il tuo sito FTP č
diventato un forum per il commercio di software
commerciale senza licenza o anche peggio.
Se hai veramente bisogno di permettere upload FTP
anonimi, allora dovresti impostare i permessi
in modo che questi file non possano essere letti
da altri utenti fino a che non siano
stati revisionati.MurrayStokelyGrazie al contributo di Servizi di File e Stampa per client
µsoft.windows; (Samba)Server SambaMicrosoft Windowsfile serverWindows clientprint serverWindows clientUno sguardo d'insiemeSamba č un
popolare pacchetto software open source che
fornisce servizi di file e stampa per client
µsoft.windows;. Tali client possono connettersi
ed usare un file system FreeBSD
come se fosse un disco locale, o stampanti
FreeBSD come se fossero stampanti locali.Il pacchetto software
Samba
dovrebbe essere incluso nel tuo media di
installazione FreeBSD. Se non hai
installato Samba
quando hai installato per la prima volta FreeBSD,
puoi sempre installarlo dal port o pacchetto
net/samba3.ConfigurazioneUn file di configurazione di
Samba di default č
installato in
/usr/local/share/examples/smb.conf.default.
Questo file deve essere copiato in
/usr/local/etc/smb.conf
e personalizzato prima che
Samba possa essere usato.Il file smb.conf contiene
informazione di configurazione runtime per
Samba, come le definizioni
delle stampanti e share di file system
che vorresti condividere con &windows; client.
Il pacchetto Samba include
un tool basato sul web chiamato
swat che fornisce
un modo semplice di configurare il file
smb.conf.Usare il Samba Web Administration Tool (SWAT)Il Samba Web Administration Tool (SWAT) viene
eseguito come demone da
inetd.
Quindi, dovresti togliere i commenti
alla seguente linea in
/etc/inetd.conf
prima che swat possa essere
usato per configurare
Samba:swat stream tcp nowait/400 root /usr/local/sbin/swat swatCome spiegato in
,
la configurazione di inetd
deve essere ricaricata dopo che
questo file di configurazione č
stato cambiato.Una volta che swat
č stato abilitato in
inetd.conf,
puoi usare un browser per connetterti a
.
Dovrai prima loggarti con l'account di sistema
root.Una volta che ti sei loggato con successo
alla pagina principale di configurazione di
Samba, puoi navigare
la documentazione di sistema, o iniziare
cliccando sul tab
Globals. La sezione
Globals corrisponde alle variabili
che sono impostate nella sezione
[global] di
/usr/local/etc/smb.conf.Impostazioni GlobaliSia che tu stia usando
swat
o che tu stia editando direttamente
/usr/local/etc/smb.conf,
le prime direttive che tu puoi incontrare quando
configuri Samba sono:workgroupNome dominio NT o nome Workgroup
per i computer che accedono a questo server.netbios nameNetBIOSQuesto imposta il nome NetBIOS attraverso
il quale un Samba
č conosciuto. Di default č
lo stesso della prima parte del nome host
DNS.server stringQuesto imposta la stringa che sarŕ
mostrata con il comando net view
e con alcuni altri strumenti di rete che cercano
di mostrare testo descrittivo sul
server.Impostazioni di SicurezzaDue delle piů importanti impostazioni
in /usr/local/etc/smb.conf
sono i modelli di sicurezza usati, ed il formato
delle password di backend per utenti client.
Le seguenti direttive controllano queste
opzioni:securityLe due piů comuni opzioni in
questo caso sono
security = share
e security = user.
Se i tuoi client usano nomi utente che sono
gli stessi dei nomi utenti sulla tua macchina
&os;, allora vorrai sicurezza di tipo
user. Questa č la policy di sicurezza
di default e richiede ai client prima di
loggarsi prima che possano accedere a risorse
condivise.Nel modello di sicurezza di tipo share,
i client non hanno bisogno di loggarsi al server
con una valida coppia username e password
prima che provino a connettersi a risorse
condivise. Questo č il modello di sicurezza
di default per versioni precedenti di
Samba.passdb backend
- NIS+
- LDAP
- SQL database
-
Samba ha molti
modelli diversi di backend di autenticazione.
- Puoi autenticare i client con LDAP, NIS+, un
- database SQL, o un file di password modificato.
+ Puoi autenticare i client con LDAPLDAP, NIS+NIS+, un
+ database SQLSQL database, o un file di password modificato.
Il metodo di autenticazione di default
č smbpasswd, e questo
sarŕ l'unico coperto qui.Assumendo che il backend usato sia
quello di default, smbpasswd,
il file /usr/local/private/smbpasswd
deve essere creato per permettere a
Samba di autenticare i
client. Se tu volessi dare ai tuoi account
&unix; accesso da client &windows;, usa il seguente
comando:&prompt.root; smbpasswd -a usernamePer favore consulta l' Official Samba HOWTOHOWTO
Ufficiale di Samba
per informazioni addizionali sulle opzioni
di configurazione.
Con le basi delineate qui, dovresti avere tutto
ciň di cui hai bisogno per avviare
Samba.Avviare SambaIl port net/samba3
aggiunge un nuovo script di avvio, che puň essere
usato per controllare
Samba. Per abilitare questo script,
in modo tale da essere usato per esempio per avviare
fermare o far ripartire
Samba, aggiungi la riga seguente
al file /etc/rc.conf:samba_enable="YES"Oppure, per un controllo piů accurato:nmbd_enable="YES"smbd_enable="YES"In questo modo Samba
viene avviato automaticamente ad ogni avvio
del sistema.Per avviare
Samba digita:&prompt.root; /usr/local/etc/rc.d/samba start
Starting SAMBA: removing stale tdbs :
Starting nmbd.
Starting smbd.Fai riferimento alla per
ulteriori informazioni sull'uso degli script rc.Samba attualmente
consiste di tre demoni separati. Dovresti
osservare che entrambi nmbd
e smbd siano avviati
dallo script samba. Se
hai abilitato servizi di risoluzione di nomi
winbind in smb.conf, allora
osserverai che anche il demone
winbindd č avviato.Puoi anche fermare Samba
in ogni istante digitando:&prompt.root; /usr/local/etc/rc.d/samba stopSamba č una suite
complessa di software con funzionalitŕ che permette
una larga integrazione con reti µsoft.windows;.
Per maggiori informazioni sulle funzionalitŕ
al di lŕ dell'installazione di base descritta qui
per favore consulta .TomHukinsGrazie al contributo di Sincronizzazione del Clock con NTPNTPUno sguardo d'insiemeAl passare del tempo, il clock di un computer tende
a perdere la sincronizzazione. Il Network Time Protocol
(NTP) fornisce un modo per assicurarti che il tuo
clock sia accurato.Molti servizi Internet si basano sul fatto che
il clock del computer sia accurato, o comunque
traggono notevole beneficio
da questo fatto. Per esempio, un web server
puň ricevere richieste di inviare un file se
questo č stato modificato da una certa
data. In un ambiente locale di rete, č
essenziale che i computer che condividono
i file dallo stesso file server abbiano clock
sincronizzati cosicchč i timestamp dei file
siano consistenti. Anche servizi come &man.cron.8;
si basano su un clock di sistema accurato per eseguire
comandi al momento specificato.NTPntpdFreeBSD č dotato del server &man.ntpd.8;
NTP
che puň essere usato per interrogare altri
server NTP
per impostare il clock sulla tua macchina o fornire
servizi di time ad altri.Scegliere Server NTP AppropriatiNTPscegliere i serverPer sincronizzare il tuo
clock, avrai bisogno di scegliere uno o piů
server NTP
da usare. Il tuo amministratore di rete o ISP
potrebbe aver impostato un server NTP, a questo scopo
— controlla la loro documentazione per vedere se
questo č il caso. C'č una
lista online di server NTP pubblicamente accessibili
che tu puoi usare per trovare un server NTP
vicino a te. Accertati di essere al corrente della
politica di ogni server che scegli, e chiedi il
permesso se necessario.Scegliere molti server NTP non connessi
fra loro č una buona idea in caso uno
dei server che stai usando diventa irraggiungibile
o il suo clock č inaffidabile.
&man.ntpd.8; usa le risposte che riceve
da altri server in modo intelligente;
favorirŕ server inaffidabili meno di quelli
affidabili.Configurare la tua MacchinaNTPconfigurazioneConfigurazione BasentpdateSe desideri solo sincronizzare il tuo clock
al momento del boot della macchina, puoi usare
&man.ntpdate.8;. Questo puň essere
appropriato per alcune macchine desktop che sono
rebootate di frequente e richiedono
sincronizzazione non frequente, ma le altre macchine
dovrebbero eseguire &man.ntpd.8;.Usare &man.ntpdate.8; al momento del boot
č una buona idea per le macchine che eseguono
&man.ntpdate.8;. Il programma &man.ntpd.8; cambia il
clock gradualmente, mentre &man.ntpdate.8; imposta
il clock, indipentemente da quanto grande sia la
differenza fra l'impostazione di clock corrente di una
macchina e l'ora corretta.Per abilitare &man.ntpdate.8; al momento del boot,
aggiungi ntpdate_enable="YES"
a /etc/rc.conf. Avrai anche
bisogno di specificare tutti i server
con i quali ti desideri
sincronizzare ed ogni flags passato a &man.ntpdate.8;
in ntpdate_flags.Configurazione GeneraleNTPntp.confNTP č configurato dal file
/etc/ntp.conf nel formato
descritto da &man.ntp.conf.5;. Questo č
un semplice esempio:server ntplocal.example.com prefer
server timeserver.example.org
server ntp2a.example.net
driftfile /var/db/ntp.driftL'opzione server specifica
quali server siano da usare, con un server elencato
su ogni linea. Se un server č specificato con
l'argomento prefer, come con
ntplocal.example.com,
quel server saraŕ preferito rispetto ad
altri. Una risposta da un server preferito
sarŕ scartata se differisce
in modo significativo dalle risposte di altri server,
altrimenti sarŕ usata senza nessuna
considerazione delle altre risposte. L'argomento
prefer č normalmente usato
per server NTP che sono noti per
essere molto accurati, come quelli con hardware a
monitoraggio speciale del tempo.L'opzione driftfile specifica
quale file sia usato per conservare la frequenza di
scostamento dal clock di sistema. Il programma
&man.ntpd.8; usa questo dato per compensare
automaticamente le imprecisioni naturali del clock,
permettendo di mantenere una impostazione ragionevolmente
corretta anche se gli č impedito di accedere
a tutte le sorgenti di sincronizzazione tempo esterne
per un certo periodo di tempo.L'opzione driftfile specifica
quale file sia usato per conservare informazioni sulle
risposte precedenti dai server NTP che usi. Questo file
contiene informazioni interne per NTP. Non dovrebbe
essere modificato da altri processi.Controllare l'Accesso ad i tuoi ServerDi default, il tuo server NTP sarŕ accessibile
a tutti gli host su Internet. L'opzione
restrict in
/etc/ntp.conf ti permette
di controllare quali macchine possano accedere al tuo
server.Se vuoi negare a tutte le macchine accesso
al tuo server NTP, aggiungi la seguente linea a
/etc/ntp.conf:restrict default ignoreInoltre questo settaggio vieta l'accesso
al tuo server dai server elencati nella tua configurazione
locale. Se hai bisogno di sincronizzare il tuo
server NTP con un server NTP esterno devi permettere
il server che vuoi usare. Guada la pagina man
&man.ntp.conf.5; per ulteriori dettagli.Se vuoi permettere solo alle macchine della tua rete
di sincronizzare il loro clock con il tuo server,
ma assicurarti che non gli sia permesso configurare
il server o che non sianousate
come punto di riferimento per
sincronizzarsi, aggiungirestrict 192.168.1.0 mask 255.255.255.0 nomodify notrapinvece, dove192.168.1.0
č un indirizzo IP sulla tua rete e
255.255.255.0
č la netmask della tua rete./etc/ntp.conf puň
contenere molte opzioni restrict.
Per maggiori dettagli, consulta la sezione
Access Control Support di
&man.ntp.conf.5;.Eseguire il Server NTPPer assicurarsi che il server NTP sia avviato
al momento del boot, aggiungi la linea
ntpd_enable="YES" a
/etc/rc.conf. Se desideri
passare flag addizionali a &man.ntpd.8;, edita
il parametro ntpd_flags
in /etc/rc.conf.Per avviare il server senza riavviare la tua
macchina, esegui ntpd accertandoti
di specificare ogni parametro addizionale in
ntpd_flags presente in
/etc/rc.conf. Per esempio:&prompt.root; ntpd -p /var/run/ntpd.pidUsare ntpd con una Connessione Temporanea
ad InternetIl programma &man.ntpd.8; non necessita di una
connessione permanente ad Internet per funzionnare
correttamente. Comunque, se hai una connessione
temporanea che č configurata per effettuare
una chiamata su richiesta, č una buona idea
evitare che il traffico NTP causi la chiamata
o mantenga la connessione attiva. Se stai usando
PPP utente, puoi usare le direttive
filter in
/etc/ppp/ppp.conf.
Per esempio: set filter dial 0 deny udp src eq 123
# Prevent NTP traffic from initiating dial out
set filter dial 1 permit 0 0
set filter alive 0 deny udp src eq 123
# Prevent incoming NTP traffic from keeping the connection open
set filter alive 1 deny udp dst eq 123
# Prevent outgoing NTP traffic from keeping the connection open
set filter alive 2 permit 0/0 0/0Pre maggiori dettagli consulta la sezione
PACKET FILTERING in &man.ppp.8;
e gli esempi in
/usr/share/examples/ppp/.Alcuni provider di accesso ad Internet bloccano
le porte dal numero basso, impedendo ad NTP di
funzionare dato che le repliche non raggiungono mai
la tua macchina.Informazioni UlterioriLa documentazione per il server NTP
puň essere trovata in formato HTML in
/usr/share/doc/ntp/.
diff --git a/ja_JP.eucJP/books/handbook/advanced-networking/chapter.xml b/ja_JP.eucJP/books/handbook/advanced-networking/chapter.xml
index 192d028849..c6448b8313 100644
--- a/ja_JP.eucJP/books/handbook/advanced-networking/chapter.xml
+++ b/ja_JP.eucJP/books/handbook/advanced-networking/chapter.xml
@@ -1,7892 +1,7877 @@
šâĹ٤ʼͼüȼ寧ĽŻ¤ł¤ÎžĎ¤Ç¤Ď¤ł¤ÎžĎ¤Ç¤Ď &unix;
ĽˇĽšĽĆĽŕžĺ¤ÇÎɤŻÍřÍѤľ¤ě¤ëĽÍĽĂĽČĽďĄźĽŻĽľĄźĽÓĽš¤Ë¤Ä¤¤¤ĆŔâĚŔ¤ˇ¤Ţ¤šĄŁ
FreeBSD ¤ŹÍřÍѤš¤ë¤š¤Ů¤Ć¤ÎĽÍĽĂĽČĽďĄźĽŻĽľĄźĽÓĽš¤ň¤É¤Î¤č¤Ś¤ËÄęľÁ¤ˇĄ˘
ŔßÄꤡĄ˘ĽĆĽšĽČ¤ˇĄ˘¤˝¤ˇ¤ĆĘݟ餚¤ë¤Î¤Ť¤ň°ˇ¤¤¤Ţ¤šĄŁ¤ľ¤é¤ËĄ˘
ËܞϤňÄ̤ˇ¤Ć¤˘¤Ę¤ż¤ÎĚň¤ËΊ¤ÄŔßÄęÎ㤏şÜ¤Ă¤Ć¤¤¤Ţ¤šĄŁ¤ł¤ÎžĎ¤ňĆɤá¤Đ°Ę˛ź¤Î¤ł¤Č¤ŹĘʤŤ¤ę¤Ţ¤šĄŁĽ˛ĄźĽČĽŚĽ§Ľ¤¤ČˇĐĎŠ¤Î´đËÜFreeBSD ¤ňĽÖĽęĽĂĽ¸¤Č¤ˇ¤Ćưşî¤ľ¤ť¤ëĘýËĄĽÍĽĂĽČĽďĄźĽŻĽŐĽĄĽ¤ĽëĽˇĽšĽĆĽŕ (NFS) ¤ÎŔßÄęĘýËĄĽÇĽŁĽšĽŻĽěĽšĽŢĽˇĽó¤ÎĽÍĽĂĽČĽďĄźĽŻĽÖĄźĽČ¤ÎŔßÄęĘýËĄĽćĄźĽśĽ˘ĽŤĽŚĽóĽČ¤ňśŚÍ¤š¤ë¤ż¤á¤ÎĽÍĽĂĽČĽďĄźĽŻĽ¤ĽóĽŐĽŠĽáĄźĽˇĽçĽóĽľĄźĽĐ
(NIS) ¤ÎŔßÄęĘýËĄDHCP ¤ňÍѤ¤¤ĆźŤĆ°ĹŞ¤ËĽÍĽĂĽČĽďĄźĽŻŔßÄę¤ňšÔ¤ŚĘýËĄĽÉĽáĽ¤ĽóĽÍĄźĽŕĽľĄźĽĐ (DNS) ¤ÎŔßÄęĘýËĄNTP Ľ×ĽíĽČĽłĽë¤ňÍѤ¤¤ĆĆüťţ¤ňĆą´ü¤ˇ¤ĆĽżĽ¤ĽŕĽľĄźĽĐ¤ňŔßÄꤚ¤ëĘýËĄĽÍĽĂĽČĽďĄźĽŻĽ˘ĽÉĽěĽšĘŃ´š (NAT) ¤ÎŔßÄęĘýËĄinetd ĽÇĄźĽâĽó¤Î´ÉÍýĘýËĄPLIP ˇĐÍł¤ÇĆóÂć¤ÎĽłĽóĽÔĽĺĄźĽż¤ňŔÜÂł¤š¤ëĘýËĄFreeBSD ¤Ç IPv6 ¤ňŔßÄꤚ¤ëĘýËĄ¤ł¤ÎžĎ¤ňĆɤŕÁ°¤ËĄ˘°Ę˛ź¤Î¤ł¤Č¤ňšÔ¤Ă¤Ć¤Ş¤Ż¤Ů¤¤Ç¤šĄŁ/etc/rc
ĽšĽŻĽęĽ×ĽČ¤Î´đËܤňÍý˛ň¤ˇ¤Ć¤¤¤ë¤ł¤Č´đÁĂĹŞ¤ĘĽÍĽĂĽČĽďĄźĽŻÍѸě¤ËŔşÄ̤ˇ¤Ć¤¤¤ë¤ł¤ČCoranthGryphon´óšĆ: Ľ˛ĄźĽČĽŚĽ§Ľ¤¤ČˇĐĎŠĽëĄźĽĆĽŁĽóĽ°Ľ˛ĄźĽČĽŚĽ§Ľ¤ĽľĽÖĽÍĽĂĽČ¤˘¤ëĽŢĽˇĽó¤ŹĽÍĽĂĽČĽďĄźĽŻžĺ¤Çž¤ÎĽŢĽˇĽó¤ň¤ß¤Ä¤ą¤ë¤ł¤Č¤Ź¤Ç¤¤ë¤č¤Ś¤Ë¤š¤ë¤Ë¤ĎĄ˘
¤˘¤ëĽŢĽˇĽó¤Ť¤éž¤ÎĽŢĽˇĽó¤Ř¤É¤Î¤č¤Ś¤Ë¤ż¤É¤ęĂ夯¤Ť¤ňľ˝Ň¤š¤ëĹŹŔڤʝĹÁȤߤŹÉŹÍפǤšĄŁ
¤ł¤ÎťĹÁȤߤňĽëĄźĽĆĽŁĽóĽ°¤Č¸Ć¤Ó¤Ţ¤šĄŁ
ˇĐĎŠ (route) ¤Ď Á÷żŽŔč
(destination) ¤Č Ľ˛ĄźĽČĽŚĽ§Ľ¤ ¤Î
2 ¤Ä¤ÎĽ˘ĽÉĽěĽš¤ÎÁȤÇÄęľÁ¤ˇ¤Ţ¤šĄŁ¤ł¤ÎÁȚ礝¤ĎĄ˘¤ł¤Î
Á÷żŽŔč ¤Ř¤ż¤É¤ęĂ夳¤Ś¤Č¤š¤ëžěšç¤ĎĄ˘¤˝¤Î
Ľ˛ĄźĽČĽŚĽ§Ľ¤
¤ňÄ̤¸¤ĆÄĚżŽ¤š¤ë¤ł¤Č¤ňꍤˇ¤Ć¤¤¤Ţ¤šĄŁ
Á÷żŽŔč¤Ë¤Ď¸ÄĄš¤ÎĽŰĽšĽČĄ˘ĽľĽÖĽÍĽĂĽČĄ˘ĽÇĽŐĽŠĽëĽČ
¤Î 3 ¤Ä¤Îˇż¤Ź¤˘¤ę¤Ţ¤šĄŁ
ĽÇĽŐĽŠĽëĽČĽëĄźĽČ
¤Ďž¤Î¤É¤ÎˇĐĎŠ¤âĹŹÍѤǤ¤Ę¤¤žěšç¤ËťČ¤ď¤ě¤Ţ¤šĄŁ
ĽÇĽŐĽŠĽëĽČĽëĄźĽČ¤Ë¤Ä¤¤¤Ć¤Ď¤Î¤Á¤Ű¤É¤â¤ŚžŻ¤ˇžÜ¤ˇ¤Ż˝Ň¤Ů¤Ţ¤šĄŁ
¤Ţ¤żĄ˘Ľ˛ĄźĽČĽŚĽ§Ľ¤¤Ë¤ĎĄ˘¸ÄĄš¤ÎĽŰĽšĽČĄ˘Ľ¤ĽóĽżĽŐĽ§ĄźĽš
(ĽęĽóĽŻ ¤Č¤â¸Ć¤Đ¤ě¤Ţ¤š)Ą˘
Ľ¤ĄźĽľĽÍĽĂĽČĽĎĄźĽÉĽŚĽ§Ľ˘Ľ˘ĽÉĽěĽš (MAC Ľ˘ĽÉĽěĽš)
¤Î 3 ¤Ä¤Îˇż¤Ź¤˘¤ę¤Ţ¤šĄŁÎă°Ę˛ź¤Ëꍤš netstat
¤ÎÎă¤ňťČ¤Ă¤ĆĄ˘ĽëĄźĽĆĽŁĽóĽ°¤Î¤ľ¤Ţ¤ś¤Ţ¤ĘžőÂÖ¤ňŔâĚŔ¤ˇ¤Ţ¤šĄŁ&prompt.user; netstat -r
Routing tables
Destination Gateway Flags Refs Use Netif Expire
default outside-gw UGSc 37 418 ppp0
localhost localhost UH 0 181 lo0
test0 0:e0:b5:36:cf:4f UHLW 5 63288 ed0 77
10.20.30.255 link#1 UHLW 1 2421
example.com link#1 UC 0 0
host1 0:e0:a8:37:8:1e UHLW 3 4601 lo0
host2 0:e0:a8:37:8:1e UHLW 0 5 lo0 =>
host2.example.com link#1 UC 0 0
224 link#1 UC 0 0ĽÇĽŐĽŠĽëĽČĽëĄźĽČ (default route)şÇ˝é¤Î 2 šÔ¤ĎĽÇĽŐĽŠĽëĽČĽëĄźĽČ
(źĄŔá¤Ç°ˇ¤¤¤Ţ¤š) ¤ČĄ˘
localhost ¤Ř¤ÎˇĐĎŠ¤ňꍤˇ¤Ć¤¤¤Ţ¤šĄŁĽëĄźĽ×ĽĐĽĂĽŻĽÇĽĐĽ¤Ľš (loopback device)localhost ¤Ëłä¤ęĹö¤Ć¤ëĽ¤ĽóĽżĽŐĽ§ĄźĽš
(Netif Íó)
¤Č¤ˇ¤Ć¤ł¤ÎĽëĄźĽĆĽŁĽóĽ°ĽĆĄźĽÖĽë¤ŹťŘÄꤡ¤Ć¤¤¤ë¤Î¤Ď
lo0
¤ÇĄ˘¤ł¤ě¤ĎĽëĄźĽ×ĽĐĽĂĽŻĽÇĽĐĽ¤Ľš¤Č¤â¤¤¤¤¤Ţ¤šĄŁ
¤ł¤ě¤ĎˇëśÉ¤Î¤Č¤ł¤í˝Đ¤ż¤Č¤ł¤í¤ËĚá¤ë¤Ŕ¤ą¤Ę¤Î¤ÇĄ˘
¤ł¤ÎÁ÷żŽŔ褢¤Ć¤ÎĽČĽéĽŐĽŁĽĂĽŻ¤ĎĄ˘LAN
¤ËÁ÷¤é¤ě¤ş¤ËĄ˘¤š¤Ů¤ĆĆâÉôĹŞ¤Ë˝čÍý¤ľ¤ě¤Ţ¤šĄŁĽ¤ĄźĽľĽÍĽĂĽČMAC Ľ˘ĽÉĽěĽšźĄ¤ÎšÔ¤Ç¤Ď
0:e0: ¤Ť¤éťĎ¤Ţ¤ëĽ˘ĽÉĽěĽš¤ËĂíĚܤˇ¤Ţ¤ˇ¤ç¤ŚĄŁ
¤ł¤ě¤ĎĽ¤ĄźĽľĽÍĽĂĽČĽĎĄźĽÉĽŚĽ§Ľ˘Ľ˘ĽÉĽěĽš¤ÇĄ˘MAC Ľ˘ĽÉĽěĽš¤Č¤â¤¤¤¤¤Ţ¤šĄŁ
FreeBSD ¤ĎĽíĄźĽŤĽë¤ĘĽ¤ĄźĽľĽÍĽĂĽČžĺ¤ÎǤ°Ő¤ÎĽŰĽšĽČ
(¤ł¤ÎÎă¤Ç¤Ď test0) ¤ňźŤĆ°ĹޤËÇ§źą¤ˇĄ˘
Ľ¤ĄźĽľĽÍĽĂĽČĽ¤ĽóĽżĽŐĽ§ĄźĽš ed0
¤Ë¤˝¤ÎĽŰĽšĽČ¤Ř¤ÎÄžŔܤΡĐĎŠ¤ň¤Ä¤ą˛Ă¤¨¤Ţ¤šĄŁ
¤ł¤Îźď¤ÎˇĐĎŠ¤Ë¤ĎĄ˘ĽżĽ¤ĽŕĽ˘ĽŚĽČťţ´Ö (Expire Íó)
¤âˇë¤Ó¤Ä¤ą¤é¤ě¤Ć¤Ş¤ęĄ˘
ťŘÄꤾ¤ě¤żťţ´ÖĆâ¤ËĽŰĽšĽČ¤Ť¤é¤ÎąţĹú¤Ź¤Ę¤¤¤ł¤Č¤ňČ˝ĂǤš¤ë¤Î¤ËÍѤ¤¤é¤ě¤Ţ¤šĄŁ
¤˝¤ÎžěšçĄ˘¤˝¤ÎĽŰĽšĽČ¤Ř¤ÎˇĐĎŠžđĘó¤ĎźŤĆ°ĹŞ¤Ëşď˝ü¤ľ¤ě¤Ţ¤šĄŁ
¤ł¤ě¤é¤ÎĽŰĽšĽČ¤Ď
RIP (Routing Information Protocol) ¤Č¤¤¤ŚĄ˘
şÇĂťĽŃĽšČ˝Äę¤Ë´đ¤Ĺ¤¤¤ĆĽíĄźĽŤĽë¤ĘĽŰĽšĽČ¤Ř¤ÎˇĐĎŠ¤ňˇčÄꤚ¤ëťĹÁȤߤňÍřÍѤˇ¤ĆÇ§źą¤ľ¤ě¤Ţ¤šĄŁĽľĽÖĽÍĽĂĽČ¤ľ¤é¤Ë FreeBSD
¤Ç¤ĎĽíĄźĽŤĽëĽľĽÖĽÍĽĂĽČ¤Ř¤ÎˇĐĎŠžđĘó¤â˛Ă¤¨¤ë¤ł¤Č¤Ź¤Ç¤¤Ţ¤š
(10.20.30.255 ¤Ď
10.20.30
¤Č¤¤¤ŚĽľĽÖĽÍĽĂĽČ¤ËÂФš¤ëĽÖĽíĄźĽÉĽĽăĽšĽČĽ˘ĽÉĽěĽš¤ÇĄ˘
example.com
¤Ď¤ł¤ÎĽľĽÖĽÍĽĂĽČ¤Ëˇë¤Ó¤Ä¤ą¤é¤ě¤Ć¤¤¤ëĽÉĽáĽ¤ĽóĚž)ĄŁ
link#1 ¤Č¤¤¤ŚĚžžÎ¤ĎĄ˘
¤ł¤ÎĽŢĽˇĽó¤Î°ě¤ÄĚܤμ¤ĄźĽľĽÍĽĂĽČĽŤĄźĽÉ¤Î¤ł¤Č¤ň¤ľ¤ˇ¤Ţ¤šĄŁ
¤ł¤ě¤é¤Ë¤Ä¤¤¤Ć¤ĎĄ˘
˛ż¤âÄɲü¤ĽóĽżĽŐĽ§ĄźĽš¤ŹťŘÄꤾ¤ě¤Ć¤¤¤Ę¤¤¤ł¤Č¤Ź¤ď¤Ť¤ę¤Ţ¤šĄŁ¤ł¤ě¤é 2 ¤Ä¤ÎĽ°ĽëĄźĽ×
(ĽíĄźĽŤĽëĽÍĽĂĽČĽďĄźĽŻĽŰĽšĽČ¤ČĽíĄźĽŤĽëĽľĽÖĽÍĽĂĽČ)
¤ĎĄ˘ÎžĘý¤Č¤â routed
¤Č¤¤¤ŚĽÇĄźĽâĽó¤Ë¤č¤Ă¤ĆźŤĆ°ĹŞ¤ËˇĐĎŠ¤ŹŔßÄꤾ¤ě¤Ţ¤šĄŁ
routed ¤ňư¤Ť¤ľ¤Ę¤ą¤ě¤ĐĄ˘ŔĹĹŞ¤ËÄęľÁ¤ˇ¤ż
(¤Ä¤Ţ¤ęĚŔź¨ĹޤËŔßÄꤡ¤ż) ˇĐĎŠ¤Î¤ß¤ŹÂ¸şß¤š¤ë¤ł¤Č¤Ë¤Ę¤ę¤Ţ¤šĄŁhost1 ¤ÎšÔ¤Ďťä¤ż¤Á¤ÎĽŰĽšĽČ¤Î¤ł¤Č¤ÇĄ˘
Ľ¤ĄźĽľĽÍĽĂĽČĽ˘ĽÉĽěĽš¤Çꍤľ¤ě¤Ć¤¤¤Ţ¤šĄŁÁ÷żŽÂŚ¤ÎĽŰĽšĽČ¤ÎžěšçĄ˘
FreeBSD¤ĎĽ¤ĄźĽľĽÍĽĂĽČĽ¤ĽóĽżĽŐĽ§ĄźĽš¤ŘÁ÷¤ë¤Î¤Ç¤Ď¤Ę¤ŻĄ˘
ĽëĄźĽ×ĽĐĽĂĽŻĽ¤ĽóĽżĽŐĽ§ĄźĽš (lo0)
¤ňťČ¤¤¤Ţ¤šĄŁ2 ¤Ä¤˘¤ë host2 ¤ÎšÔ¤ĎĄ˘
&man.ifconfig.8; ¤ÎĽ¨Ľ¤ĽęĽ˘Ľš¤ňťČ¤Ă¤ż¤Č¤¤Ë¤É¤Î¤č¤Ś¤Ë¤Ę¤ë¤Ť¤ňꍤšÎă¤Ç¤š
(¤ł¤Î¤č¤Ś¤Ę¤ł¤Č¤ň¤š¤ëÍýÍł¤Ë¤Ä¤¤¤Ć¤Ď
Ethernet ¤ÎŔá¤ňť˛žČ¤ˇ¤Ć¤Ż¤Ŕ¤ľ¤¤)ĄŁ
lo0 ¤Î¸ĺ¤Ë¤˘¤ë => ¤ĎĄ˘
Ľ¤ĽóĽżĽŐĽ§ĄźĽš¤Ź (¤ł¤ÎĽ˘ĽÉĽěĽš¤ŹĽíĄźĽŤĽë¤ĘĽŰĽšĽČ¤ňť˛žČ¤ˇ¤Ć¤¤¤ë¤Î¤Ç)
ĽëĄźĽ×ĽĐĽĂĽŻ¤ňťČ¤Ă¤Ć¤¤¤ë¤Č¤¤¤Ś¤Ŕ¤ą¤Ç¤Ę¤ŻĄ˘
Ľ¨Ľ¤ĽęĽ˘Ľš¤Ë¤Ę¤Ă¤Ć¤¤¤ë¤ł¤Č¤âꍤˇ¤Ć¤¤¤Ţ¤šĄŁ
¤ł¤Î¤č¤Ś¤ĘˇĐĎŠ¤ĎĽ¨Ľ¤ĽęĽ˘Ľš¤ËÂĐąţ¤ˇ¤Ć¤¤¤ëĽŰĽšĽČ¤Ë¤Î¤ß¸˝¤ě¤Ţ¤šĄŁ
ĽíĄźĽŤĽëĽÍĽĂĽČĽďĄźĽŻžĺ¤Îž¤Î¤š¤Ů¤Ć¤ÎĽŰĽšĽČ¤Ç¤ĎĄ˘
¤˝¤ě¤ž¤ě¤ÎˇĐĎŠ¤ËÂФˇ¤ĆĂą¤Ëlink#1 ¤Č¤Ę¤ę¤Ţ¤šĄŁşÇ¸ĺ¤ÎšÔ (Á÷żŽŔ輾ĽÖĽÍĽĂĽČ 224)
¤ĎĽŢĽëĽÁĽĽăĽšĽČ¤Ç°ˇ¤Ś¤â¤Î¤Ç¤š¤ŹĄ˘¤ł¤ě¤Ďž¤ÎŔá¤ÇŔâĚŔ¤ˇ¤Ţ¤šĄŁşÇ¸ĺ¤Ë Flags (ĽŐĽéĽ°)
Íó¤Ë¤˝¤ě¤ž¤ě¤ÎˇĐĎŠ¤Î¤ľ¤Ţ¤ś¤Ţ¤Ę°Ŕ¤ŹÉ˝ź¨¤ľ¤ě¤Ţ¤šĄŁ
°Ę˛ź¤ËĽŐĽéĽ°¤Î°ěÉô¤ČĄ˘¤˝¤ě¤Ź˛ż¤ň°ŐĚŁ¤ˇ¤Ć¤¤¤ë¤Ť¤ňꍤˇ¤Ţ¤šĄŁ
UUp: ¤ł¤ÎˇĐĎŠ¤ĎĽ˘ĽŻĽĆĽŁĽÖ¤Ç¤šĄŁHHost: ˇĐĎŠ¤ÎÁ÷żŽŔ褏ù°ě¤ÎĽŰĽšĽČ¤Ç¤šĄŁGGateway: ¤ł¤ÎÁ÷żŽŔč¤ŘÁ÷¤é¤ě¤ë¤ČĄ˘
¤É¤ł¤ŘÁ÷¤ě¤Đ¤č¤¤¤Ť¤ňĚŔ¤é¤Ť¤Ë¤ˇ¤ĆĄ˘
¤˝¤ÎĽęĽâĄźĽČĽˇĽšĽĆĽŕ¤ŘÁ÷¤é¤ě¤Ţ¤šĄŁSStatic:
¤ł¤ÎˇĐĎŠ¤ĎĽˇĽšĽĆĽŕ¤Ë¤č¤Ă¤ĆźŤĆ°ĹޤËŔ¸Ŕޤľ¤ě¤ż¤Î¤Ç¤Ď¤Ę¤ŻĄ˘
źęư¤ÇşîŔޤľ¤ě¤Ţ¤ˇ¤żĄŁCClone:
ĽŢĽˇĽó¤ËŔÜÂł¤ˇ¤ż¤Č¤¤Ë¤ł¤ÎˇĐĎŠ¤Ë´đ¤Ĺ¤Żżˇ¤ˇ¤¤ˇĐĎŠ¤Źşî¤é¤ě¤Ţ¤šĄŁ
¤ł¤Îˇż¤ÎˇĐĎŠ¤ĎÄĚžď¤ĎĽíĄźĽŤĽëĽÍĽĂĽČĽďĄźĽŻ¤ÇťČ¤ď¤ě¤Ţ¤šĄŁWWasCloned:
ĽíĄźĽŤĽëĽ¨ĽęĽ˘ĽÍĽĂĽČĽďĄźĽŻ (LAN) ¤Î (Clone)
ˇĐĎŠ¤Ë´đ¤Ĺ¤¤¤ĆźŤĆ°ĹޤËŔ¸Ŕޤľ¤ě¤żˇĐĎŠ¤Ç¤˘¤ë¤ł¤Č¤ňꍤˇ¤Ţ¤šĄŁLLink:
Ľ¤ĄźĽľĽÍĽĂĽČĽĎĄźĽÉĽŚĽ§Ľ˘¤Ř¤Îť˛žČ¤ň´Ţ¤ŕˇĐĎŠ¤Ç¤šĄŁĽÇĽŐĽŠĽëĽČĽëĄźĽČĽÇĽŐĽŠĽëĽČĽëĄźĽČĽíĄźĽŤĽëĽˇĽšĽĆĽŕ¤Ť¤éĽęĽâĄźĽČĽŰĽšĽČ¤ËĽłĽÍĽŻĽˇĽçĽó¤ňÄĽ¤ëÉŹÍפʤ˘¤ëžěšçĄ˘
´űĂΤΡĐĎŠ¤ŹÂ¸şß¤š¤ë¤Ť¤É¤Ś¤Ť¤ňłÎǧ¤š¤ë¤ż¤á¤ËĽëĄźĽĆĽŁĽóĽ°ĽĆĄźĽÖĽë¤ňĽÁĽ§ĽĂĽŻ¤ˇ¤Ţ¤šĄŁ
ĹţĂŁ¤š¤ë¤ż¤á¤ÎˇĐĎŠ¤ňĂΤäƤ¤¤ëĽľĽÖĽÍĽĂĽČ¤ÎĆâÉô¤ËĽęĽâĄźĽČĽŰĽšĽČ¤Ź¤˘¤ëžěšç
(Cloned routes)Ą˘
ĽˇĽšĽĆĽŕ¤Ď¤˝¤ÎĽ¤ĽóĽżĽŐĽ§ĄźĽš¤Ť¤éŔÜÂł¤Ç¤¤ë¤Ť¤É¤Ś¤ŤłÎǧ¤ˇ¤Ţ¤šĄŁĂΤäƤ¤¤ëĽŃĽš¤Ź¤š¤Ů¤ĆÂĚĚܤŔ¤Ă¤żžěšç¤Ç¤âĄ˘
ĽˇĽšĽĆĽŕ¤Ë¤ĎşÇ¸ĺ¤ÎźęĂʤȤˇ¤Ć ĽÇĽŐĽŠĽëĽČ
ĽëĄźĽČ¤Ź¤˘¤ę¤Ţ¤šĄŁ¤ł¤ÎĽëĄźĽČ¤ĎĽ˛ĄźĽČĽŚĽ§Ľ¤ĽëĄźĽČ
(ÉáÄ̤ϼˇĽšĽĆĽŕ¤Ë 1 ¤Ä¤ˇ¤Ť¤˘¤ę¤Ţ¤ť¤ó) ¤ÎĆĂĘ̤ʤâ¤Î¤Ç¤šĄŁ¤˝¤ˇ¤ĆĄ˘
ĽŐĽéĽ°Íó¤Ë¤ĎÉŹ¤ş c
¤ŹÉ˝ź¨¤ľ¤ě¤Ć¤¤¤Ţ¤šĄŁ¤ł¤ÎĽ˛ĄźĽČĽŚĽ§Ľ¤¤ĎĄ˘LAN
Ćâ¤ÎĽŰĽšĽČ¤Ë¤Č¤Ă¤ĆĄ˘¤É¤ÎĽŢĽˇĽó¤Ç¤âł°Éô¤Ř
(PPP ĽęĽóĽŻĄ˘DSLĄ˘ĽąĄźĽÖĽëĽâĽÇĽŕĄ˘T1Ą˘
¤Ţ¤ż¤Ď¤˝¤Îž¤ÎĽÍĽĂĽČĽďĄźĽŻĽ¤ĽóĽżĽŐĽ§ĄźĽš¤Î¤¤¤ş¤ě¤Ť¤ňˇĐÍł¤ˇ¤Ć)
ÄžŔÜŔÜÂł¤š¤ë¤ż¤á¤ËŔßÄꤾ¤ě¤ë¤â¤Î¤Ç¤šĄŁł°Éô¤ËÂФš¤ëĽ˛ĄźĽČĽŚĽ§Ľ¤¤Č¤ˇ¤ĆľĄÇ˝¤š¤ëĽŢĽˇĽó¤ÇĽÇĽŐĽŠĽëĽČĽëĄźĽČ¤ňŔßÄꤚ¤ëžěšçĄ˘
ĽÇĽŐĽŠĽëĽČĽëĄźĽČ¤ĎĽ¤ĽóĽżĄźĽÍĽĂĽČĽľĄźĽÓĽšĽ×ĽíĽĐĽ¤ĽŔ (ISP)
¤ÎĽľĽ¤ĽČ¤ÎĽ˛ĄźĽČĽŚĽ§Ľ¤ĽŢĽˇĽó¤Ë¤Ę¤ë¤Ç¤ˇ¤ç¤ŚĄŁ¤˝¤ě¤Ç¤ĎĽÇĽŐĽŠĽëĽČĽëĄźĽČ¤Î°ěÎă¤ň¸Ť¤Ć¤ß¤Ţ¤ˇ¤ç¤ŚĄŁ
°ěČĚĹŞ¤Ęš˝Ŕޤňꍤˇ¤Ţ¤šĄŁ
[Local2] <--ether--> [Local1] <--PPP--> [ISP-Serv] <--ether--> [T1-GW]
ĽŰĽšĽČ Local1 ¤ČĽŰĽšĽČ Local2
¤Ď¤˘¤Ę¤ż¤ÎĽľĽ¤ĽČĆâ¤Ë¤˘¤ę¤Ţ¤šĄŁLocal1
¤ĎĽŔĽ¤Ľ˘ĽëĽ˘ĽĂĽ× PPP ŔÜÂłˇĐÍł¤Ç ISP ¤ËŔÜÂł¤ľ¤ě¤Ć¤¤¤Ţ¤šĄŁ
¤ł¤Î PPP ĽľĄźĽĐĽłĽóĽÔĽĺĄźĽż¤ĎĄ˘¤˝¤Î ISP
¤ÎĽ¤ĽóĽżĄźĽÍĽĂĽČ¤Ř¤ÎŔÜÂłĹŔ¤Ë¸ţ¤ą¤żł°ÉôĽ¤ĽóĽżĽŐĽ§ĄźĽš¤ňČ÷¤¨¤żÂž¤ÎĽ˛ĄźĽČĽŚĽ§Ľ¤ĽłĽóĽÔĽĺĄźĽż¤Ř
LAN ¤ňÄ̤¸¤ĆŔÜÂł¤ˇ¤Ć¤¤¤Ţ¤šĄŁ¤˘¤Ę¤ż¤ÎĽŢĽˇĽó¤ÎĽÇĽŐĽŠĽëĽČĽëĄźĽČ¤Ď¤˝¤ě¤ž¤ěźĄ¤Î¤č¤Ś¤Ë¤Ę¤ę¤Ţ¤šĄŁĽŰĽšĽČĽÇĽŐĽŠĽëĽČĽ˛ĄźĽČĽŚĽ§Ľ¤Ľ¤ĽóĽżĽŐĽ§ĄźĽšLocal2Local1EthernetLocal1T1-GWPPP¤Ę¤ź (¤˘¤ë¤¤¤ĎĄ˘¤É¤Ś¤ä¤Ă¤Ć)
ĽÇĽŐĽŠĽëĽČĽ˛ĄźĽČĽŚĽ§Ľ¤¤ňĄ˘Local1 ¤ŹŔÜÂł¤ľ¤ě¤Ć¤¤¤ë
ISP ¤ÎĽľĄźĽĐ¤Ç¤Ď¤Ę¤ŻĄ˘T1-GW ¤ËŔßÄꤚ¤ë¤Î¤Ť
¤Č¤¤¤ŚźÁĚ䤏¤č¤Ż¤˘¤ę¤Ţ¤šĄŁPPP ŔÜÂł¤ÇĄ˘¤˘¤Ę¤ż¤ÎĽľĽ¤ĽČÂŚ¤Î PPP Ľ¤ĽóĽżĽŐĽ§ĄźĽš¤ĎĄ˘
ISP ¤ÎĽíĄźĽŤĽëĽÍĽĂĽČĽďĄźĽŻžĺ¤ÎĽ˘ĽÉĽěĽš¤ňÍѤ¤¤Ć¤¤¤ë¤ż¤áĄ˘
ISP ¤ÎĽíĄźĽŤĽëĽÍĽĂĽČĽďĄźĽŻžĺ¤Î¤š¤Ů¤Ć¤ÎĽŢĽˇĽó¤Ř¤ÎˇĐĎŠ¤Ď
źŤĆ°ĹޤËŔ¸Ŕޤľ¤ě¤Ć¤¤¤Ţ¤šĄŁ
¤Ä¤Ţ¤ę¤˘¤Ę¤ż¤ÎĽŢĽˇĽó¤ĎĄ˘¤É¤Î¤č¤Ś¤Ë¤ˇ¤Ć T1-GW
¤ËĹţĂŁ¤š¤ë¤Ť¤Č¤¤¤ŚˇĐĎŠ¤ň´ű¤ËĂΤäƤ¤¤ë¤ł¤Č¤Ë¤Ę¤ę¤Ţ¤š¤Ť¤éĄ˘
ISP ĽľĄźĽĐ¤ËĽČĽéĽŐĽŁĽĂĽŻ¤ňÁ÷¤ë¤Î¤ËĄ˘
Ăć´ÖĹŞ¤ĘĂĘłŹ¤ňƧ¤ŕÉŹÍפϤ˘¤ę¤Ţ¤ť¤óĄŁ°ěČĚĹŞ¤ËĽíĄźĽŤĽëĽÍĽĂĽČĽďĄźĽŻ¤Ç¤Ď
X.X.X.1
¤Č¤¤¤ŚĽ˘ĽÉĽěĽš¤ňĽ˛ĄźĽČĽŚĽ§Ľ¤Ľ˘ĽÉĽěĽš¤Č¤ˇ¤ĆťČ¤¤¤Ţ¤šĄŁ¤Ç¤š¤Ť¤é
(Ćą¤¸Îă¤ňÍѤ¤¤Ţ¤š)Ą˘¤˘¤Ę¤ż¤Î class-C ¤ÎĽ˘ĽÉĽěĽšśő´Ö¤Ź
10.20.30 ¤Ç ISP ¤Ź
10.9.9 ¤ňÍѤ¤¤Ć¤¤¤ëžěšçĄ˘
ĽÇĽŐĽŠĽëĽČĽëĄźĽČ¤ĎźĄ¤Î¤č¤Ś¤Ë¤Ę¤ę¤Ţ¤šĄŁĽŰĽšĽČĽÇĽŐĽŠĽëĽČĽëĄźĽČLocal2 (10.20.30.2)Local1 (10.20.30.1)Local1 (10.20.30.1, 10.9.9.30)T1-GW (10.9.9.1)ĽÇĽŐĽŠĽëĽČĽëĄźĽČ¤Ď /etc/rc.conf
ĽŐĽĄĽ¤Ľë¤Ç´ĘĂą¤ËÄęľÁ¤Ç¤¤Ţ¤šĄŁ¤ł¤ÎÎă¤Ç¤ĎĄ˘
Local2 ĽŢĽˇĽó¤Ç /etc/rc.conf
¤ËźĄ¤ÎšÔ¤ňÄɲ䡤Ƥ¤¤Ţ¤šĄŁdefaultrouter="10.20.30.1"&man.route.8;
ĽłĽŢĽóĽÉ¤ňťČ¤Ă¤ĆĽłĽŢĽóĽÉĽéĽ¤Ľó¤Ť¤éÄžŔܟšԤš¤ë¤ł¤Č¤â¤Ç¤¤Ţ¤šĄŁ&prompt.root; route add default 10.20.30.1ˇĐĎŠžđĘó¤ňźęư¤ÇÁŕşî¤š¤ëĘýËĄ¤Ë¤Ä¤¤¤ĆžÜ¤ˇ¤¤¤ł¤Č¤Ď
&man.route.8; ¤ÎĽŢĽËĽĺĽ˘ĽëĽÚĄźĽ¸¤ň¤´Í÷¤Ż¤Ŕ¤ľ¤¤ĄŁĽÇĽĺĽ˘ĽëĽŰĄźĽŕĽŰĽšĽČĽÇĽĺĽ˘ĽëĽŰĄźĽŕĽŰĽšĽČ¤ł¤ł¤Ç°ˇ¤Ś¤Ů¤źďÎŕ¤ÎŔßÄꤏ¤â¤Ś°ě¤Ä¤˘¤ę¤Ţ¤šĄŁ
¤˝¤ě¤Ď 2 ¤Ä¤Î°Ű¤Ę¤ëĽÍĽĂĽČĽďĄźĽŻ¤Ë¤Ţ¤ż¤Ź¤ëĽŰĽšĽČ¤Ç¤šĄŁ
ľť˝ŃĹŞ¤Ë¤ĎĽ˛ĄźĽČĽŚĽ§Ľ¤¤Č¤ˇ¤ĆľĄÇ˝¤š¤ëĽŢĽˇĽó (žĺ¤ÎÎă¤Ç¤Ď
PPP ĽłĽÍĽŻĽˇĽçĽó¤ňÍѤ¤¤Ć¤¤¤Ţ¤š) ¤Ď¤š¤Ů¤ĆĽÇĽĺĽ˘ĽëĽŰĄźĽŕĽŰĽšĽČ¤Ç¤šĄŁ
¤ˇ¤Ť¤ˇźÂşÝ¤Ë¤Ď¤ł¤Î¸ŔÍդϥ˘2 ¤Ä¤Î
LAN žĺ¤ÎĽľĽ¤ĽČ¤Ç¤˘¤ëĽŢĽˇĽó¤ňťŘ¤š¸ŔÍդȤˇ¤Ć¤Î¤ßťČ¤ď¤ě¤Ţ¤šĄŁ2 Ëç¤ÎĽ¤ĄźĽľĽÍĽĂĽČĽŤĄźĽÉ¤ňťý¤ÄĽŢĽˇĽó¤ŹĄ˘
Ę̤μľĽÖĽÍĽĂĽČžĺ¤Ë¤˝¤ě¤ž¤ěĽ˘ĽÉĽěĽš¤ňťý¤Ă¤Ć¤¤¤ëžěšç¤Ź¤˘¤ę¤Ţ¤šĄŁ
¤˘¤ë¤¤¤ĎĄ˘Ľ¤ĄźĽľĽÍĽĂĽČĽŤĄźĽÉ¤Ź 1 Ë礡¤Ť¤Ę¤¤ĽŢĽˇĽó¤ÇĄ˘
&man.ifconfig.8; ¤ÎĽ¨Ľ¤ĽęĽ˘Ľš¤ňťČ¤Ă¤Ć¤¤¤ë¤Ť¤â¤ˇ¤ě¤Ţ¤ť¤óĄŁ
ĘŞÍýĹŞ¤ËĘŹ¤Ť¤ě¤Ć¤¤¤ë
2 ¤Ä¤ÎĽ¤ĄźĽľĽÍĽĂĽČ¤ÎĽÍĽĂĽČĽďĄźĽŻ¤ŹťČ¤ď¤ě¤Ć¤¤¤ë¤Ę¤é¤ĐÁ°źÔ¤ŹÍѤ¤¤é¤ě¤Ţ¤šĄŁ
¸ĺźÔ¤ĎĄ˘ĘŞÍýĹŞ¤Ë¤Ď 1 ¤Ä¤ÎĽÍĽĂĽČĽďĄźĽŻĽťĽ°ĽáĽóĽČ¤ÇĄ˘
ĎŔÍýĹŞ¤Ë¤Ď 2 ¤Ä¤ÎĽľĽÖĽÍĽĂĽČ¤ËĘŹ¤Ť¤ě¤Ć¤¤¤ëžěšç¤ËÍѤ¤¤é¤ě¤Ţ¤šĄŁ¤É¤Á¤é¤Ë¤ˇ¤Ć¤âĄ˘
¤ł¤ÎĽŢĽˇĽó¤Ź¤Ş¸ß¤¤¤ÎĽľĽÖĽÍĽĂĽČ¤Ř¤ÎĽ˛ĄźĽČĽŚĽ§Ľ¤ (inbound route)
¤Č¤ˇ¤ĆÄęľÁ¤ľ¤ě¤Ć¤¤¤ë¤ł¤Č¤ŹĘʤŤ¤ë¤č¤Ś¤ËĄ˘
¤Ş¤Î¤Ş¤Î¤ÎĽľĽÖĽÍĽĂĽČ¤ÇĽëĄźĽĆĽŁĽóĽ°ĽĆĄźĽÖĽë¤ňŔßÄꤡ¤Ţ¤šĄŁ¤ł¤ÎĽŢĽˇĽó¤Ź
2 ¤Ä¤ÎĽľĽÖĽÍĽĂĽČ¤Î´Ö¤ÎĽëĄźĽż¤Č¤ˇ¤Ćưşî¤š¤ë¤Č¤¤¤Śš˝ŔŽ¤ĎĄ˘
ĽŃĽąĽĂĽČ¤ÎĽŐĽŁĽëĽżĽęĽóĽ°¤ňźÂÁő¤š¤ëÉŹÍפʤ˘¤ëžěšç¤äĄ˘
°ěĘý¸ţ¤Ţ¤ż¤ĎÁĐĘý¸ţ¤ÎĽŐĽĄĽ¤Ľ˘ĽŚĽŠĄźĽë¤ňÍřÍѤˇ¤żĽťĽĽĺĽęĽĆĽŁ¤ňš˝Ăۤš¤ëžěšç¤Ë¤č¤ŻÍѤ¤¤é¤ě¤Ţ¤šĄŁ¤ł¤ÎĽŢĽˇĽó¤ŹĆó¤Ä¤ÎĽ¤ĽóĽżĽŐĽ§ĄźĽš´Ö¤ÇźÂşÝ¤ËĽŃĽąĽĂĽČ¤ňźő¤ąĹϤš¤č¤Ś¤Ë¤ˇ¤ż¤¤žěšç¤ĎĄ˘
FreeBSD ¤Ç¤ł¤ÎľĄÇ˝¤ň͸ú¤Ë¤ˇ¤Ę¤¤¤Č¤¤¤ą¤Ţ¤ť¤óĄŁ
¤Ż¤ď¤ˇ¤¤źę˝ç¤Ë¤Ä¤¤¤Ć¤ĎźĄ¤ÎŔá¤ň¤´Í÷¤Ż¤Ŕ¤ľ¤¤ĄŁĽëĄźĽż¤Îš˝Ăۼ륟ĽżĽÍĽĂĽČĽďĄźĽŻĽëĄźĽż¤ĎĂą¤Ë¤˘¤ëĽ¤ĽóĽżĽŐĽ§ĄźĽš¤Ť¤éĘ̤μ¤ĽóĽżĽŐĽ§ĄźĽš¤ŘĽŃĽąĽĂĽČ¤ňĹžÁ÷¤š¤ëĽˇĽšĽĆĽŕ¤Ç¤šĄŁ
Ľ¤ĽóĽżĄźĽÍĽĂĽČɸ˝ŕ¤Ş¤č¤Ó¤š¤°¤ě¤żľť˝ŃĹŞ¤Ę´ˇ˝Ź¤Ť¤éĄ˘
FreeBSD Ľ×ĽíĽ¸Ľ§ĽŻĽČ¤Ď
FreeBSD ¤Ë¤Ş¤¤¤Ć¤ł¤ÎľĄÇ˝¤ňĽÇĽŐĽŠĽëĽČ¤Ç¤Ď͸ú¤Ë¤ˇ¤Ć¤¤¤Ţ¤ť¤óĄŁ
&man.rc.conf.5; Ćâ¤ÇźĄ¤ÎĘŃżô¤ň YES
¤ËĘŃšš¤š¤ë¤ł¤Č¤Ç¤ł¤ÎľĄÇ˝¤ň͸ú¤Ë¤Ç¤¤Ţ¤šĄŁgateway_enable=YES # Set to YES if this host will be a gateway¤ł¤ÎĽŞĽ×ĽˇĽçĽó¤Ď &man.sysctl.8; ĘŃżô¤Î
net.inet.ip.forwarding ¤ň
1 ¤ËŔßÄꤡ¤Ţ¤šĄŁ
°ěťţĹŞ¤ËĽëĄźĽĆĽŁĽóĽ°¤ňÄäťß¤š¤ëÉŹÍפʤ˘¤ë¤Č¤¤Ë¤ĎĄ˘
¤ł¤ÎĘŃżô¤ň°ěťţĹŞ¤Ë 0 ¤ËŔßÄꤡ¤Ę¤Ş¤ť¤Ţ¤šĄŁźĄ¤ËĄ˘ĽČĽéĽŐĽŁĽĂĽŻ¤Î°¸Ŕč¤ňˇč¤á¤ë¤ż¤á¤ËĄ˘
¤˝¤ÎĽëĄźĽż¤Ë¤ĎˇĐĎŠžđĘó¤ŹÉŹÍפˤʤę¤Ţ¤šĄŁ
ĽÍĽĂĽČĽďĄźĽŻ¤Ź˝˝ĘŹ´ĘÁǤʤ饢ŔĹĹŞˇĐĎŠ¤ŹÍřÍѤǤ¤Ţ¤šĄŁ
¤Ţ¤żĄ˘FreeBSD ¤Ď BSD ¤Îɸ˝ŕĽëĄźĽĆĽŁĽóĽ°ĽÇĄźĽâĽó¤Ç¤˘¤ë
&man.routed.8; ¤ňČ÷¤¨¤Ć¤¤¤Ţ¤šĄŁ¤ł¤ě¤Ď RIP
(ĽĐĄźĽ¸ĽçĽó 1 ¤Ş¤č¤Ó 2) ¤Ş¤č¤Ó IRDP ¤ň°ˇ¤¨¤Ţ¤šĄŁ
BGP ĽĐĄźĽ¸ĽçĽó 4Ą˘OSPF ĽĐĄźĽ¸ĽçĽó2Ą˘
¤˝¤ÎžŔöÎý¤ľ¤ě¤żĽëĄźĽĆĽŁĽóĽ°Ľ×ĽíĽČĽłĽë¤Ď
net/zebra
package ¤ňÍѤ¤¤ě¤ĐÂĐąţ¤Ç¤¤Ţ¤šĄŁ
¤Ţ¤żĄ˘¤č¤ęĘŁť¨¤ĘĽÍĽĂĽČĽďĄźĽŻĽëĄźĽĆĽŁĽóĽ°Ľ˝ĽęĽĺĄźĽˇĽçĽó¤Ë¤ĎĄ˘
&gated;
¤Î¤č¤Ś¤ĘžŚÍŃŔ˝ÉʤâÍřÍѲÄÇ˝¤Ç¤šĄŁBGPRIPOSPF¤ł¤Î¤č¤Ś¤Ë FreeBSD ¤ňŔßÄꤡ¤ż¤Č¤ˇ¤Ć¤âĄ˘
ĽëĄźĽż¤ËÂФš¤ëĽ¤ĽóĽżĄźĽÍĽĂĽČɸ˝ŕÍ׾á¤ň´°Á´¤ËËţ¤ż¤š¤ď¤ą¤Ç¤Ď¤˘¤ę¤Ţ¤ť¤óĄŁ
¤ˇ¤Ť¤ˇĄ˘ÄĚžďÍřÍѤ˴ؤˇ¤Ć¤Ď˝˝ĘʤȤ¤¤¨¤Ţ¤šĄŁAlHoang´óšĆ: ŔĹĹŞ¤ĘˇĐĎŠ¤ÎŔßÄęźęư¤Ë¤č¤ëˇĐĎŠ¤ÎŔßÄę°Ę˛ź¤Î¤č¤Ś¤ĘĽÍĽĂĽČĽďĄźĽŻ¤ŹÂ¸şß¤š¤ë¤Č˛žÄꤡ¤Ţ¤šĄŁ
INTERNET
| (10.0.0.1/24) Default Router to Internet
|
|Interface xl0
|10.0.0.10/24
+------+
| | RouterA
| | (FreeBSD gateway)
+------+
| Interface xl1
| 192.168.1.1/24
|
+--------------------------------+
Internal Net 1 | 192.168.1.2/24
|
+------+
| | RouterB
| |
+------+
| 192.168.2.1/24
|
Internal Net 2
¤ł¤ÎĽˇĽĘĽęĽŞ¤Ç¤ĎĄ˘&os; ĽŢĽˇĽó¤Î RouterA
¤ŹĽ¤ĽóĽżĄźĽÍĽĂĽČ¤Ë¸ţ¤ą¤é¤ě¤żĽëĄźĽż¤Č¤ˇ¤Ćưşî¤ˇ¤Ţ¤šĄŁ
ĽëĄźĽż¤Ďł°ÂŚ¤ÎĽÍĽĂĽČĽďĄźĽŻ¤ŘŔÜÂł¤Ç¤¤ë¤č¤Ś¤Ë
10.0.0.1
¤Ř¸ţ¤ą¤żĽÇĽŐĽŠĽëĽČĽëĄźĽČ¤ňĘÝťý¤ˇ¤Ć¤¤¤Ţ¤šĄŁ
RouterB ¤Ď¤š¤Ç¤ËĹŹŔÚ¤ËŔßÄꤾ¤ě¤Ć¤Ş¤ęĄ˘
¤É¤ł¤Ř¸ţ¤Ť¤ŚÉŹÍפʤ˘¤ë¤ŤĄ˘
šÔ¤Ă夯ĘýËĄ¤ňĂΤäƤ¤¤ë¤Č˛žÄꤡ¤Ţ¤š
(¤ł¤ÎÎă¤Ç¤ĎĄ˘żŢ¤Î¤č¤Ś¤Ë´ĘĂą¤Ç¤šĄŁ
192.168.1.1
¤ňĽ˛ĄźĽČĽŚĽ§Ľ¤¤Č¤ˇ¤Ć RouterB
¤ËĽÇĽŐĽŠĽëĽČĽëĄźĽČ¤ňÄɲ䚤ë¤Ŕ¤ą¤Ç¤š)ĄŁRouterA
¤ÎĽëĄźĽĆĽŁĽóĽ°ĽĆĄźĽÖĽë¤ňłÎǧ¤š¤ë¤ČĄ˘
°Ę˛ź¤Î¤č¤Ś¤Ę˝ĐÎϤňĆŔ¤Ţ¤šĄŁ&prompt.user; netstat -nr
Routing tables
Internet:
Destination Gateway Flags Refs Use Netif Expire
default 10.0.0.1 UGS 0 49378 xl0
127.0.0.1 127.0.0.1 UH 0 6 lo0
10.0.0/24 link#1 UC 0 0 xl0
192.168.1/24 link#2 UC 0 0 xl1¸˝şß¤ÎĽëĄźĽĆĽŁĽóĽ°ĽĆĄźĽÖĽë¤Ç¤ĎĄ˘RouterA
¤Ď¤Ţ¤Ŕ Internal Net 2 ¤Ë¤ĎĹţĂŁ¤Ç¤¤Ę¤¤¤Ç¤ˇ¤ç¤ŚĄŁ
192.168.2.0/24
¤ÎˇĐĎŠ¤ňĘÝťý¤ˇ¤Ć¤¤¤Ę¤¤¤Ť¤é¤Ç¤šĄŁ
˛ňˇč¤š¤ë¤ż¤á¤Î°ě¤Ä¤ÎĘýËĄ¤ĎĄ˘ˇĐĎŠ¤ňźęư¤ÇÄɲ䚤뤳¤Č¤Ç¤šĄŁ
°Ę˛ź¤ÎĽłĽŢĽóĽÉ¤Ç RouterA
¤ÎĽëĄźĽĆĽŁĽóĽ°ĽĆĄźĽÖĽë¤Ë 192.168.1.2
¤ňÁ÷¤ęŔč¤Č¤ˇ¤ĆĄ˘Internal Net 2 ĽÍĽĂĽČĽďĄźĽŻ¤ňÄɲ䡤ޤšĄŁ&prompt.root; route add -net 192.168.2.0/24 192.168.1.2¤ł¤ě¤Ë¤č¤ęĄ˘RouterA ¤ĎĄ˘
192.168.2.0/24
ĽÍĽĂĽČĽďĄźĽŻžĺ¤ÎĽŰĽšĽČ¤ËĹţĂŁ˝ĐÍč¤Ţ¤šĄŁąĘ³Ū¤ĘŔßÄęžĺľ¤ÎÎă¤ĎĄ˘
ľŻĆ°¤ˇ¤Ć¤¤¤ëĽˇĽšĽĆĽŕžĺ¤ËŔĹĹŞ¤ĘˇĐĎŠ¤ňŔßÄꤚ¤ëĘýËĄ¤Č¤ˇ¤Ć¤Ď´°Á´¤Ç¤šĄŁ
¤ˇ¤Ť¤ˇ¤Ę¤Ź¤éĄ˘&os;
ĽŢĽˇĽó¤ňşĆľŻĆ°¤ˇ¤żşÝ¤ËĽëĄźĽĆĽŁĽóĽ°žđĘ󤏝Ĥé¤Ę¤¤¤Č¤¤¤ŚĚäÂꤏ°ě¤Ä¤˘¤ę¤Ţ¤šĄŁ
ŔĹĹŞ¤ĘˇĐĎŠ¤ňÄɲ䚤ë¤Ë¤ĎĄ˘/etc/rc.conf
ĽŐĽĄĽ¤Ľë¤ËĽëĄźĽČ¤ňÄɲ䎤äݤŔ¤ľ¤¤ĄŁ# Add Internal Net 2 as a static route
static_routes="internalnet2"
route_internalnet2="-net 192.168.2.0/24 192.168.1.2"static_routes ¤ÎŔßÄęĘŃżô¤ĎĄ˘
ĽšĽÚĄźĽš¤Ë¤č¤Ă¤ĆĘŹÎĽ¤ľ¤ě¤ëʸťúÎó¤ÎĽęĽšĽČ¤Ç¤šĄŁ
¤˝¤ě¤ž¤ě¤ÎʸťúÎó¤ĎˇĐĎŠĚž¤Č¤ˇ¤Ćť˛žČ¤ľ¤ě¤Ţ¤šĄŁ
žĺľ¤ÎÎă¤Ç¤Ď static_routes
¤Ď°ě¤Ä¤ÎʸťúÎó¤Î¤ß¤ňťý¤Á¤Ţ¤šĄŁ
¤˝¤ÎʸťúÎó¤Ď internalnet2 ¤Ç¤šĄŁ¤˝¤Î¸ĺĄ˘
route_internalnet2
¤Č¤¤¤ŚŔßÄęĘŃżô¤ňÄɲ䡥˘
&man.route.8; ĽłĽŢĽóĽÉ¤ËÍż¤¨¤ë¤š¤Ů¤Ć¤ÎŔßÄęĽŃĽéĽáĄźĽż¤ňťŘÄꤡ¤Ć¤¤¤Ţ¤šĄŁ
Á°Ŕá¤ÎÎă¤Ç¤ĎĄ˘°Ę˛ź¤ÎĽłĽŢĽóĽÉ&prompt.root; route add -net 192.168.2.0/24 192.168.1.2¤ňÍѤ¤¤ż¤Î¤ÇĄ˘
"-net 192.168.2.0/24 192.168.1.2"
¤ŹÉŹÍפˤʤę¤Ţ¤šĄŁžĺľ¤Î¤č¤Ś¤Ë static_routes
¤Ď°ě¤Ä°Ęžĺ¤ÎʸťúÎó¤ňťý¤Ä¤ł¤Č¤Ź˝ĐÍč¤ë¤Î¤ÇĄ˘
Âżżô¤ÎŔĹĹŞ¤ĘˇĐĎŠ¤ňşî¤ë¤ł¤Č¤Ź¤Ç¤¤Ţ¤šĄŁ
°Ę˛ź¤ÎšÔ¤Ď 192.168.0.0/24
¤Ş¤č¤Ó 192.168.1.0/24
ĽÍĽĂĽČĽďĄźĽŻ¤ňĄ˘
˛žÁۼ륟Ľżžĺ¤ËŔĹĹŞ¤ĘˇĐĎŠ¤Č¤ˇ¤ĆÄɲ䚤ëÎă¤Ç¤šĄŁstatic_routes="net1 net2"
route_net1="-net 192.168.0.0/24 192.168.0.1"
route_net2="-net 192.168.1.0/24 192.168.1.1"ĽëĄźĽĆĽŁĽóĽ°¤ÎĹÁȼ륟ĽĆĽŁĽóĽ°¤ÎĹÁČÂł°Éô¤Č¤ÎˇĐĎŠ¤ň¤É¤Î¤č¤Ś¤ËÄęľÁ¤ˇ¤ż¤é¤č¤¤¤Ť¤Ď¤š¤Ç¤ËŔâĚŔ¤ˇ¤Ţ¤ˇ¤żĄŁ
¤ˇ¤Ť¤ˇł°Éô¤Ť¤éťä¤ż¤Á¤ÎĽŢĽˇĽó¤ň¤É¤Î¤č¤Ś¤Ë¤ˇ¤Ć¸Ť¤Ä¤ą¤ë¤Î¤Ť¤Ë¤Ä¤¤¤Ć¤ĎŔâĚŔ¤ˇ¤Ć¤¤¤Ţ¤ť¤óĄŁ¤˘¤ëĆĂÄę¤ÎĽ˘ĽÉĽěĽšśő´Ö (¤ł¤ÎÎă¤Ç¤Ď class-C ¤ÎĽľĽÖĽÍĽĂĽČ)
¤Ë¤Ş¤ą¤ë¤š¤Ů¤Ć¤ÎĽČĽéĽŐĽŁĽĂĽŻ¤ŹĄ˘
ĹţĂ夡¤żĽŃĽąĽĂĽČ¤ňĆâÉô¤ÇĹžÁ÷¤š¤ëĽÍĽĂĽČĽďĄźĽŻžĺ¤ÎĆĂÄę¤ÎĽŰĽšĽČ¤ËÁ÷¤é¤ě¤ë¤č¤Ś¤ËĽëĄźĽĆĽŁĽóĽ°ĽĆĄźĽÖĽë¤ňŔßÄꤚ¤ë¤ł¤Č¤Ź¤Ç¤¤ë¤Î¤ĎĘŹ¤Ť¤Ă¤Ć¤¤¤Ţ¤šĄŁ¤˘¤Ę¤ż¤ÎĽľĽ¤ĽČ¤ËĽ˘ĽÉĽěĽšśő´Ö¤ňłä¤ęĹö¤Ć¤ëžěšçĄ˘
¤˘¤Ę¤ż¤ÎĽľĽÖĽÍĽĂĽČ¤Ř¤Î¤š¤Ů¤Ć¤ÎĽČĽéĽŐĽŁĽĂĽŻ¤Ź¤š¤Ů¤Ć
PPP ĽęĽóĽŻ¤ňÄ̤¸¤ĆĽľĽ¤ĽČ¤ËÁ÷¤Ă¤Ć¤Ż¤ë¤č¤Ś¤ËĽľĄźĽÓĽšĽ×ĽíĽĐĽ¤ĽŔ¤ĎĽëĄźĽĆĽŁĽóĽ°ĽĆĄźĽÖĽë¤ňŔßÄꤡ¤Ţ¤šĄŁ
¤ˇ¤Ť¤ˇĄ˘šńś¤Î¸ţ¤ł¤ŚÂŚ¤ÎĽľĽ¤ĽČ¤Ď¤É¤Î¤č¤Ś¤Ë¤ˇ¤Ć¤˘¤Ę¤ż¤Î
ISP ¤ŘÁ÷¤ë¤ł¤Č¤ňĂΤë¤Î¤Ç¤ˇ¤ç¤Ś¤Ť?łä¤ęĹö¤Ć¤é¤ě¤Ć¤¤¤ë¤š¤Ů¤Ć¤ÎĽ˘ĽÉĽěĽšśő´Ö¤ÎˇĐĎŠ¤ň°Ýťý¤š¤ë
(ĘŹťś¤ˇ¤Ć¤¤¤ë DNS žđĘó¤Č¤č¤Żť÷¤ż) ĽˇĽšĽĆĽŕ¤Ź¤˘¤ęĄ˘
¤˝¤ÎĽ¤ĽóĽżĄźĽÍĽĂĽČĽĐĽĂĽŻĽÜĄźĽó¤Ř¤ÎŔÜÂłĹŔ¤ňÄęľÁ¤ˇ¤Ć¤¤¤Ţ¤šĄŁ
ĽĐĽĂĽŻĽÜĄźĽó ¤Č¤Ďšń¤ňąŰ¤¨Ą˘
Ŕ¤łŚĂć¤ÎĽ¤ĽóĽżĄźĽÍĽĂĽČ¤ÎĽČĽéĽŐĽŁĽĂĽŻ¤ňąż¤ÖźçÍפʿŽÍѤǤ¤ë´´Ŕţ¤Î¤ł¤Č¤Ç¤šĄŁ
¤É¤ÎĽĐĽĂĽŻĽÜĄźĽóĽŢĽˇĽó¤âĄ˘
¤˘¤ëĽÍĽĂĽČĽďĄźĽŻ¤Ť¤éĆĂÄę¤ÎĽĐĽĂĽŻĽÜĄźĽó¤ÎĽŢĽˇĽó¤Ř¸ţ¤Ť¤ŚĽČĽéĽŐĽŁĽĂĽŻ¤ČĄ˘
¤˝¤ÎĽĐĽĂĽŻĽÜĄźĽó¤ÎĽŢĽˇĽó¤Ť¤é¤˘¤Ę¤ż¤ÎĽÍĽĂĽČĽďĄźĽŻ¤ËĆĎ¤ŻĽľĄźĽÓĽšĽ×ĽíĽĐĽ¤ĽŔ¤Ţ¤Ç¤ÎĽÁĽ§ĄźĽó¤ÎĽŢĽšĽżĽĆĄźĽÖĽë¤ÎĽłĽÔĄź¤ňťý¤Ă¤Ć¤¤¤Ţ¤šĄŁ¤˘¤Ę¤ż¤ÎĽľĽ¤ĽČ¤ŹŔÜÂł
(Ľ×ĽíĽĐĽ¤ĽŔ¤Ť¤é¤ß¤ĆĆâÂŚ¤Ë¤˘¤ë¤ł¤Č¤Ë¤Ę¤ę¤Ţ¤š) ¤ˇ¤ż¤Č¤¤¤Ś¤ł¤Č¤ňĄ˘
Ľ×ĽíĽĐĽ¤ĽŔ¤Ť¤éĽĐĽĂĽŻĽÜĄźĽóĽľĽ¤ĽČ¤ŘÄĚĂΤš¤ë¤ł¤Č¤ĎĽ×ĽíĽĐĽ¤ĽŔ¤ÎťĹťö¤Ç¤šĄŁ
¤ł¤ě¤ŹˇĐĎŠ¤ÎĹÁČÂ¤Ç¤šĄŁĽČĽéĽÖĽëĽˇĽĺĄźĽĆĽŁĽóĽ°tracerouteˇĐĎŠ¤ÎĹÁȤËĚäÂꤏŔ¸¤¸¤ĆĄ˘
¤¤¤Ż¤Ä¤Ť¤ÎĽľĽ¤ĽČ¤ŹŔÜÂł¤ň¤Ş¤ł¤Ę¤Ś¤ł¤Č¤Ź¤Ç¤¤Ę¤Ż¤Ę¤ë¤ł¤Č¤Ź¤˘¤ę¤Ţ¤šĄŁ
ĽëĄźĽĆĽŁĽóĽ°¤Ź¤É¤ł¤Ç¤Ş¤Ť¤ˇ¤Ż¤Ę¤Ă¤Ć¤¤¤ë¤Ť¤ňĚŔ¤é¤Ť¤Ë¤š¤ë¤Î¤ËşÇ¤â͸ú¤ĘĽłĽŢĽóĽÉ¤Ď¤Ş¤˝¤é¤Ż
&man.traceroute.8; ĽłĽŢĽóĽÉ¤Ç¤ˇ¤ç¤ŚĄŁ
¤ł¤ÎĽłĽŢĽóĽÉ¤ĎĄ˘¤˘¤Ę¤ż¤ŹĽęĽâĄźĽČĽŢĽˇĽó¤ËÂФˇ¤ĆŔÜÂł¤ň¤Ş¤ł¤Ę¤Ś¤ł¤Č¤Ź¤Ç¤¤Ę¤¤
(¤ż¤Č¤¨¤Đ &man.ping.8; ¤ËźşÇÔ¤š¤ë¤č¤Ś¤Ę)
žěšç¤âĄ˘Ćए¤č¤Ś¤Ë͸ú¤Ç¤šĄŁ&man.traceroute.8; ĽłĽŢĽóĽÉ¤ĎĄ˘
ŔÜÂł¤ňťî¤ß¤Ć¤¤¤ëĽęĽâĄźĽČĽŰĽšĽČ¤ň°úżô¤Ë¤ˇ¤ĆźÂšÔ¤ˇ¤Ţ¤šĄŁ
ťî¤ß¤Ć¤¤¤ëˇĐĎŠ¤ŹˇĐÍł¤š¤ëĽ˛ĄźĽČĽŚĽ§Ľ¤ĽŰĽšĽČ¤ňÉ˝ź¨¤ˇĄ˘
şÇ˝ŞĹޤˤĎĚÜĹŞ¤ÎĽŰĽšĽČ¤Ë¤ż¤É¤ęĂ夯¤ŤĄ˘
ĽłĽÍĽŻĽˇĽçĽó¤ÎˇçÇĄ¤Ë¤č¤Ă¤Ć˝Ş¤Ă¤Ć¤ˇ¤Ţ¤Ś¤Ť¤Î¤É¤Á¤é¤Ť¤Ë¤Ę¤ę¤Ţ¤šĄŁ¤č¤ęžÜ¤ˇ¤¤žđĘó¤ĎĄ˘&man.traceroute.8;
¤ÎĽŢĽËĽĺĽ˘ĽëĽÚĄźĽ¸¤ň¤ß¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁĽŢĽëĽÁĽĽăĽšĽČĽëĄźĽĆĽŁĽóĽ°ĽŢĽëĽÁĽĽăĽšĽČoptions MROUTINGFreeBSD ¤ĎĽŢĽëĽÁĽĽăĽšĽČĽ˘Ľ×ĽęĽąĄźĽˇĽçĽó¤ČĽŢĽëĽÁĽĽăĽšĽČĽëĄźĽĆĽŁĽóĽ°¤ÎΞĘý¤ËĽÍĽ¤ĽĆĽŁĽÖÂĐąţ¤ˇ¤Ć¤¤¤Ţ¤šĄŁ
ĽŢĽëĽÁĽĽăĽšĽČĽ˘Ľ×ĽęĽąĄźĽˇĽçĽó¤ňư¤Ť¤š¤Î¤Ë FreeBSD
¤ÇĆĂĘ̤ĘŔßÄę¤ň¤š¤ëÉŹÍפϰěŔÚ¤˘¤ę¤Ţ¤ť¤óĄŁ
Ľ˘Ľ×ĽęĽąĄźĽˇĽçĽó¤ĎÉáÄ̤Ϥ˝¤Î¤Ţ¤Ţ¤Çư¤Ż¤Ç¤ˇ¤ç¤ŚĄŁ
ĽŢĽëĽÁĽĽăĽšĽČĽëĄźĽĆĽŁĽóĽ°¤ËÂĐąţ¤š¤ë¤Ë¤ĎĄ˘
˛ź¤ÎĽŞĽ×ĽˇĽçĽó¤ňÄɲ䡤ƼŤĄźĽÍĽë¤ňĽłĽóĽŃĽ¤Ľë¤š¤ëÉŹÍפʤ˘¤ę¤Ţ¤šĄŁoptions MROUTING¤ľ¤é¤ËĄ˘/etc/mrouted.conf
¤ňĘÔ˝¸¤ˇ¤ĆĽëĄźĽĆĽŁĽóĽ°ĽÇĄźĽâĽó &man.mrouted.8;
¤ňŔßÄꤡĄ˘ĽČĽóĽÍĽë¤Č DVMRP ¤ňŔßĂÖ¤š¤ëÉŹÍפʤ˘¤ę¤Ţ¤šĄŁ
ĽŢĽëĽÁĽĽăĽšĽČŔßÄę¤Ë¤Ä¤¤¤Ć¤ÎžÜşŮ¤Ď &man.mrouted.8;
¤ÎĽŢĽËĽĺĽ˘ĽëĽÚĄźĽ¸¤ňť˛žČ¤ˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁEricAnderson¸śşî: ĚľŔţĽÍĽĂĽČĽďĄźĽŻĚľŔţĽÍĽĂĽČĽďĄźĽŻ802.11ĚľŔţĽÍĽĂĽČĽďĄźĽŻ¤Ď¤¸¤á¤Ëžď¤ËĽÍĽĂĽČĽďĄźĽŻĽąĄźĽÖĽë¤ň¤Ä¤Ę¤¤¤Ç¤¤¤ë¤Č¤¤¤ŚĚĚĹݤʤł¤Č¤ň¤ť¤ş¤ËĄ˘
ĽłĽóĽÔĽĺĄźĽż¤ňťČÍѤǤ¤ë¤ł¤Č¤ĎĄ˘¤Č¤Ć¤âÍÍѤǤˇ¤ç¤ŚĄŁ
FreeBSD ¤ĎĚľŔţ¤ÎĽŻĽéĽ¤Ľ˘ĽóĽČ¤Č¤ˇ¤ĆĄ˘
¤ľ¤é¤Ë Ľ˘ĽŻĽťĽšĽÝĽ¤ĽóĽČ ¤Č¤ˇ¤Ć¤âťČ¤¨¤Ţ¤šĄŁĚľŔţ¤ÎưşîĽâĄźĽÉ802.11 ĚľŔţĽÇĽĐĽ¤Ľš¤ÎŔßÄę¤Ë¤ĎĄ˘BSS ¤Č IBSS
¤ÎĆó¤Ä¤ÎĘýËĄ¤Ź¤˘¤ę¤Ţ¤šĄŁBSS ĽâĄźĽÉBSS ĽâĄźĽÉ¤Ď°ěČĚĹŞ¤ËťČ¤ď¤ě¤Ć¤¤¤ëĽâĄźĽÉ¤Ç¤šĄŁ
BSS ĽâĄźĽÉ¤ĎĽ¤ĽóĽŐĽéĽšĽČĽéĽŻĽÁĽăĽâĄźĽÉ¤Č¤â¸Ć¤Đ¤ě¤Ć¤¤¤Ţ¤šĄŁ
¤ł¤ÎĽâĄźĽÉ¤Ç¤ĎĄ˘
Âż¤Ż¤ÎĚľŔţĽ˘ĽŻĽťĽšĽÝĽ¤ĽóĽČ¤Ź
1 ¤Ä¤ÎÍŔţĽÍĽĂĽČĽďĄźĽŻ¤ËŔÜÂł¤ľ¤ě¤Ţ¤šĄŁ
¤˝¤ě¤ž¤ě¤ÎĽďĽ¤ĽäĽěĽšĽÍĽĂĽČĽďĄźĽŻ¤Ď¸ÇͤÎĚžžÎ¤ňťý¤Ă¤Ć¤¤¤Ţ¤šĄŁ
¤˝¤ÎĚžžÎ¤ĎĽÍĽĂĽČĽďĄźĽŻ¤Î SSID ¤Č¸Ć¤Đ¤ě¤Ţ¤šĄŁĚľŔţĽŻĽéĽ¤Ľ˘ĽóĽČ¤Ď¤ł¤ě¤é¤ÎĚľŔţĽ˘ĽŻĽťĽšĽÝĽ¤ĽóĽČ¤ËŔÜÂł¤ˇ¤Ţ¤šĄŁ
IEEE 802.11 ɸ˝ŕ¤ĎĚľŔţĽÍĽĂĽČĽďĄźĽŻ¤ŹŔÜÂł¤š¤ë¤Î¤ËťČÍѤš¤ëĽ×ĽíĽČĽłĽë¤ňľŹÄꤡ¤Ć¤¤¤Ţ¤šĄŁ
SSID ¤ŹŔßÄꤾ¤ě¤Ć¤¤¤ë¤Č¤¤ĎĄ˘
ĚľŔţĽŻĽéĽ¤Ľ˘ĽóĽČ¤ňĆĂÄę¤ÎĽÍĽĂĽČĽďĄźĽŻ¤Ëˇë¤Ó¤Ä¤ą¤ë¤ł¤Č¤Ź¤Ç¤¤Ţ¤šĄŁ
SSID ¤ňĚŔź¨ĹŞ¤ËťŘÄꤡ¤Ę¤¤¤ł¤Č¤Ë¤č¤ęĄ˘
ĚľŔţĽŻĽéĽ¤Ľ˘ĽóĽČ¤ňǤ°Ő¤ÎĽÍĽĂĽČĽďĄźĽŻ¤ËŔÜÂł¤š¤ë¤ł¤Č¤â¤Ç¤¤Ţ¤šĄŁIBSS ĽâĄźĽÉĽ˘ĽÉĽŰĽĂĽŻĽâĄźĽÉ¤Č¤â¸Ć¤Đ¤ě¤ë IBSS ĽâĄźĽÉ¤ĎĄ˘
°ěÂаěÄĚżŽ¤Î¤ż¤á¤ËŔߡפľ¤ě¤żÄĚżŽĘýź°¤Ç¤šĄŁ
źÂşÝ¤Ë¤ĎĆóźďÎŕ¤ÎĽ˘ĽÉĽŰĽĂĽŻĽâĄźĽÉ¤Ź¤˘¤ę¤Ţ¤šĄŁ
°ě¤Ä¤Ď IBSS ĽâĄźĽÉ¤ÇĄ˘Ľ˘ĽÉĽŰĽĂĽŻĽâĄźĽÉĄ˘¤Ţ¤ż¤Ď
IEEE Ľ˘ĽÉĽŰĽĂĽŻĽâĄźĽÉ¤Č¤â¸Ć¤Đ¤ě¤Ţ¤šĄŁ
¤ł¤ÎĽâĄźĽÉ¤Ď IEEE 802.11 ɸ˝ŕ¤ËľŹÄꤾ¤ě¤Ć¤¤¤Ţ¤šĄŁ
¤â¤Ś°ě¤Ä¤ĎĽÇĽâĽ˘ĽÉĽŰĽĂĽŻĽâĄźĽÉ¤â¤ˇ¤Ż¤Ď Lucent Ľ˘ĽÉĽŰĽĂĽŻĽâĄźĽÉ
(¤˝¤ˇ¤ĆťţĄšĄ˘Ęś¤é¤ď¤ˇ¤¤¤ł¤Č¤ËĄ˘Ľ˘ĽÉĽŰĽĂĽŻĽâĄźĽÉ)
¤Č¸Ć¤Đ¤ě¤ëĽâĄźĽÉ¤Ç¤šĄŁ
¤ł¤ÎĽâĄźĽÉ¤Ď¸Ĺ¤ŻĄ˘802.11 ¤ŹÉ¸˝ŕ˛˝¤š¤ë°ĘÁ°¤ÎĽ˘ĽÉĽŰĽĂĽŻĽâĄźĽÉ¤ÇĄ˘
¤ł¤ě¤Ď¸Ĺ¤¤ŔßČ÷¤Ç¤Î¤ßťČÍѤľ¤ě¤ë¤Ů¤¤Ç¤ˇ¤ç¤ŚĄŁ
¤ł¤ł¤Ç¤ĎĄ˘¤É¤Á¤é¤ÎĽ˘ĽÉĽŰĽĂĽŻĽâĄźĽÉ¤Ë¤Ä¤¤¤Ć¤â¤ł¤ě°Ęžĺ¸ŔľÚ¤ˇ¤Ţ¤ť¤óĄŁĽ¤ĽóĽŐĽéĽšĽČĽéĽŻĽÁĽăĄźĽâĄźĽÉĽ˘ĽŻĽťĽšĽÝĽ¤ĽóĽČĽ˘ĽŻĽťĽšĽÝĽ¤ĽóĽČ¤Ď°ě¤Ä°Ęžĺ¤ÎĚľŔţĽŻĽéĽ¤Ľ˘ĽóĽČ¤ŹĄ˘
¤˝¤ÎĽÇĽĐĽ¤Ľš¤ňĽťĽóĽČĽéĽëĽĎĽÖ¤Č¤ˇ¤ĆÍřÍѤǤ¤ë¤č¤Ś¤Ë¤š¤ëĚľŔţĽÍĽĂĽČĽďĄźĽŻĽÇĽĐĽ¤Ľš¤Ç¤šĄŁ
Ľ˘ĽŻĽťĽšĽÝĽ¤ĽóĽČ¤ňťČÍѤˇ¤Ć¤¤¤ë´ÖĄ˘
¤š¤Ů¤Ć¤ÎĽŻĽéĽ¤Ľ˘ĽóĽČ¤ĎĽ˘ĽŻĽťĽšĽÝĽ¤ĽóĽČ¤ň˛đ¤ˇ¤ĆÄĚżŽ¤ˇ¤Ţ¤šĄŁ
˛Č˛°¤äżŚžěĄ˘¤Ţ¤ż¤Ď¸řąŕ¤Ę¤É¤Îśő´Ö¤ňĚľŔţĽÍĽĂĽČĽďĄźĽŻ¤Ç´°Á´¤ËĽŤĽĐĄź¤š¤ë¤ż¤á¤ËĄ˘
ĘŁżô¤ÎĽ˘ĽŻĽťĽšĽÝĽ¤ĽóĽČ¤Ź¤č¤ŻťČ¤ď¤ě¤Ţ¤šĄŁĽ˘ĽŻĽťĽšĽÝĽ¤ĽóĽČ¤Ď°ěČĚĹŞ¤ËĘŁżô¤ÎĽÍĽĂĽČĽďĄźĽŻŔÜÂł
(ĚľŔţĽŤĄźĽÉ¤ČĄ˘
¤˝¤Îž¤ÎĽÍĽĂĽČĽďĄźĽŻ¤ËŔÜÂł¤š¤ë¤ż¤á¤Î°ě¤Ä°Ęžĺ¤ÎÍŔţĽ¤ĄźĽľĽÍĽĂĽČĽ˘ĽŔĽ×Ľż)
¤ňťý¤Ă¤Ć¤¤¤Ţ¤šĄŁĽ˘ĽŻĽťĽšĽÝĽ¤ĽóĽČ¤ĎĄ˘˝ĐÍčšç¤¤¤Î¤â¤Î¤ňšŘĆţ¤š¤ë¤ł¤Č¤â¤Ç¤¤Ţ¤š¤ˇĄ˘
FreeBSD ¤ČÂĐąţ¤ˇ¤Ć¤¤¤ëĚľŔţĽŤĄźĽÉ¤ňÁȤߚç¤ď¤ť¤ĆĄ˘
źŤĘŹ¤Çš˝Ăۤš¤ë¤ł¤Č¤â¤Ç¤¤Ţ¤šĄŁ
¤¤¤Ż¤Ä¤â¤ÎĽáĄźĽŤ¤ŹĄ˘
¤ľ¤Ţ¤ś¤Ţ¤ĘľĄÇ˝¤ň¤â¤Ă¤żĚľŔţĽ˘ĽŻĽťĽšĽÝĽ¤ĽóĽČ¤Ş¤č¤ÓĚľŔţĽŤĄźĽÉ¤ňŔ˝Â¤¤ˇ¤Ć¤¤¤Ţ¤šĄŁFreeBSD ¤ÎĽ˘ĽŻĽťĽšĽÝĽ¤ĽóĽČ¤Îš˝ĂŰĚľŔţĽÍĽĂĽČĽďĄźĽŻĽ˘ĽŻĽťĽšĽÝĽ¤ĽóĽČÍסďFreeBSD ¤ÇĚľŔţĽ˘ĽŻĽťĽšĽÝĽ¤ĽóĽČ¤ňŔßÄꤚ¤ë¤ż¤á¤Ë¤ĎĄ˘
¸ß´šŔ¤Î¤˘¤ëĚľŔţĽŤĄźĽÉ¤ŹÉŹÍפǤšĄŁ
¸˝žő¤Ç¤Ď Prism ĽÁĽĂĽ×ĽťĽĂĽČ¤ÎĽŤĄźĽÉ¤Î¤ß¤ËÂĐąţ¤ˇ¤Ć¤¤¤Ţ¤šĄŁ
¤Ţ¤ż FreeBSD
¤ËÂĐąţ¤ˇ¤Ć¤¤¤ëÍŔţĽÍĽĂĽČĽďĄźĽŻĽŤĄźĽÉ¤âÉŹÍפˤʤë¤Ç¤ˇ¤ç¤Ś
(¤ł¤ě¤ň¸Ť¤Ä¤ą¤ë¤Î¤ĎĆń¤ˇ¤Ż¤Ę¤¤¤Ç¤ˇ¤ç¤ŚĄŁ
FreeBSD ¤ĎÂż¤Ż¤Î°Ű¤Ę¤ëĽÇĽĐĽ¤Ľš¤ËÂĐąţ¤ˇ¤Ć¤¤¤ë¤Ť¤é¤Ç¤š) ĄŁ
¤ł¤Îźę°ú¤¤Ç¤ĎĄ˘
ĚľŔţĽÇĽĐĽ¤Ľš¤ČÍŔţĽÍĽĂĽČĽďĄźĽŻĽŤĄźĽÉ¤ËŔÜÂł¤ˇ¤Ć¤¤¤ëĽÍĽĂĽČĽďĄźĽŻ´Ö¤ÎĽČĽéĽŐĽŁĽĂĽŻ¤ň
&man.bridge.4; ¤ˇ¤ż¤¤¤Č˛žÄꤡ¤Ţ¤šĄŁFreeBSD ¤ŹĽ˘ĽŻĽťĽšĽÝĽ¤ĽóĽČ¤ňźÂÁő¤š¤ë¤Î¤ËťČÍѤš¤ë hostap
ľĄÇ˝¤ĎĽŐĽĄĄźĽŕĽŚĽ§Ľ˘¤ÎĆĂÄę¤ÎĽĐĄźĽ¸ĽçĽó¤Ç°ěČ֤褯ŔÇ˝¤ňČŻ´ř¤ˇ¤Ţ¤šĄŁ
Prism 2 ĽŤĄźĽÉ¤ĎĄ˘
1.3.4 °Ęšß¤ÎĽĐĄźĽ¸ĽçĽó¤ÎĽŐĽĄĄźĽŕĽŚĽ§Ľ˘¤ÇťČÍѤš¤Ů¤¤Ç¤šĄŁ
Prism 2.5 ¤Ş¤č¤Ó Prism 3 ĽŤĄźĽÉ¤Ç¤ĎĄ˘ĽĐĄźĽ¸ĽçĽó 1.4.9
¤ÎĽĐĄźĽ¸ĽçĽó¤ÎĽŐĽĄĄźĽŕĽŚĽ§Ľ˘¤ÇťČÍѤš¤Ů¤¤Ç¤šĄŁ
¤˝¤ě¤č¤ę¸Ĺ¤¤ĽĐĄźĽ¸ĽçĽó¤ÎĽŐĽĄĄźĽŕĽŚĽ§Ľ˘¤ĎĄ˘
Ŕľžď¤Ëư¤Ż¤Ť¤â¤ˇ¤ě¤Ţ¤ť¤ó¤ˇĄ˘Ć°¤Ť¤Ę¤¤¤Ť¤â¤ˇ¤ě¤Ţ¤ť¤óĄŁ
¸˝ťţĹŔ¤Ç¤ĎĄ˘ĽŤĄźĽÉ¤ÎĽŐĽĄĄźĽŕĽŚĽ§Ľ˘¤ňššżˇ¤š¤ëÍŁ°ě¤ÎĘýËĄ¤ĎĄ˘
ĽŤĄźĽÉ¤ÎŔ˝Â¤¸ľ¤Ť¤éĆţźę¤Ç¤¤ë &windows;
ÍŃĽŐĽĄĄźĽŕĽŚĽ§Ľ˘Ľ˘ĽĂĽ×ĽÇĄźĽČĽćĄźĽĆĽŁĽęĽĆĽŁ¤ňťČ¤Ś¤â¤Î¤Ç¤šĄŁŔßÄę¤Ď¤¸¤á¤ËĽˇĽšĽĆĽŕ¤ŹĚľŔţĽŤĄźĽÉ¤ňÇ§źą¤ˇ¤Ć¤¤¤ë¤ł¤Č¤ňłÎǧ¤ˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ&prompt.root; ifconfig -a
wi0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
inet6 fe80::202:2dff:fe2d:c938%wi0 prefixlen 64 scopeid 0x7
inet 0.0.0.0 netmask 0xff000000 broadcast 255.255.255.255
ether 00:09:2d:2d:c9:50
media: IEEE 802.11 Wireless Ethernet autoselect (DS/2Mbps)
status: no carrier
ssid ""
stationname "FreeBSD Wireless node"
channel 10 authmode OPEN powersavemode OFF powersavesleep 100
wepmode OFF weptxkey 1şŮ¤Ť¤¤¤ł¤Č¤Ďľ¤¤Ë¤ť¤şĄ˘
ĚľŔţĽŤĄźĽÉ¤ŹĽ¤ĽóĽšĽČĄźĽë¤ľ¤ě¤Ć¤¤¤ë¤ł¤Č¤ňź¨¤š˛ż¤Ť¤ŹÉ˝ź¨¤ľ¤ě¤Ć¤¤¤ë¤ł¤Č¤ňłÎ¤Ť¤á¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ
PC ĽŤĄźĽÉ¤ňťČÍѤˇ¤Ć¤¤¤ĆĄ˘ĚľŔţĽ¤ĽóĽżĽŐĽ§ĄźĽš¤ňÇ§źą¤Ç¤¤Ę¤¤žěšçĄ˘
žÜ¤ˇ¤¤žđĘó¤ňĆŔ¤ë¤ż¤á¤Ë &man.pccardc.8; ¤Č &man.pccardd.8;
¤ÎĽŢĽËĽĺĽ˘ĽëĽÚĄźĽ¸¤ňÄ´¤Ů¤Ć¤ß¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁźĄ¤ËĄ˘Ľ˘ĽŻĽťĽšĽÝĽ¤ĽóĽČÍѤË
FreeBSD ¤ÎĽÖĽęĽĂĽ¸ľĄÇ˝¤ňĂ´¤ŚÉôĘŹ¤ň͸ú¤Ë¤š¤ë¤ż¤á¤ËĄ˘
ĽâĽ¸ĽĺĄźĽë¤ňĆɤߚţ¤ŕÉŹÍפʤ˘¤ë¤Ç¤ˇ¤ç¤ŚĄŁ
&man.bridge.4; ĽâĽ¸ĽĺĄźĽë¤ňĆɤߚţ¤ŕ¤Ë¤ĎĄ˘
źĄ¤ÎĽłĽŢĽóĽÉ¤ň¤˝¤Î¤Ţ¤ŢźÂšÔ¤ˇ¤Ţ¤šĄŁ&prompt.root; kldload bridgeĽâĽ¸ĽĺĄźĽë¤ňĆɤߚţ¤ŕťţ¤Ë¤ĎĄ˘˛ż¤âĽ¨ĽéĄź¤Ď¤Ç¤Ę¤¤¤Ď¤ş¤Ç¤šĄŁ
¤â¤ˇ¤âĽ¨ĽéĄź¤Ź¤Ç¤ż¤éĄ˘ĽŤĄźĽÍĽë¤Ë &man.bridge.4;
¤ÎĽłĄźĽÉ¤ňĆţ¤ě¤ĆĽłĽóĽŃĽ¤Ľë¤š¤ëÉŹÍפʤ˘¤ë¤Ť¤â¤ˇ¤ě¤Ţ¤ť¤óĄŁ
ĽĎĽóĽÉĽÖĽĂĽŻ¤ÎĽÖĽęĽĂĽ¸¤ÎŔᤏĄ˘
¤ł¤Î˛ÝÂę¤ňŔޤˇżë¤˛¤ëźę˝ő¤ą¤ň¤Ë¤Ę¤ë¤Ť¤â¤ˇ¤ě¤Ţ¤ť¤óĄŁĽÖĽęĽĂĽ¸ÉôĘŹ¤Ź˝ŕČ÷¤Ç¤¤ż¤Î¤ÇĄ˘
¤É¤ÎĽ¤ĽóĽżĽŐĽ§ĄźĽš´Ö¤ňĽÖĽęĽĂĽ¸¤š¤ë¤Î¤Ť¤ň
FreeBSD ĽŤĄźĽÍĽë¤ËťŘÄꤚ¤ëÉŹÍפʤ˘¤ę¤Ţ¤šĄŁ
¤ł¤ě¤ĎĄ˘&man.sysctl.8; ¤ňťČ¤Ă¤ĆšÔ¤¤¤Ţ¤šĄŁ&prompt.root; sysctl net.link.ether.bridge=1
&prompt.root; sysctl net.link.ether.bridge_cfg="wi0,xl0"
&prompt.root; sysctl net.inet.ip.forwarding=1&os; 5.2-RELEASE
°Ęšß¤Ç¤ĎĄ˘źĄ¤Î¤č¤Ś¤ËťŘÄꤡ¤Ę¤ą¤ě¤Đ¤Ę¤ę¤Ţ¤ť¤óĄŁ&prompt.root; sysctl net.link.ether.bridge.enable=1
&prompt.root; sysctl net.link.ether.bridge.config="wi0,xl0"
&prompt.root; sysctl net.inet.ip.forwarding=1¤ľ¤ĆĄ˘ĚľŔţĽŤĄźĽÉ¤ňŔßÄꤚ¤ë¤Č¤¤Ç¤šĄŁ
źĄ¤ÎĽłĽŢĽóĽÉ¤ĎĽŤĄźĽÉ¤ňĽ˘ĽŻĽťĽšĽÝĽ¤ĽóĽČ¤Č¤ˇ¤ĆŔßÄꤡ¤Ţ¤šĄŁ
&prompt.root; ifconfig wi0 ssid my_net channel 11 media DS/11Mbps mediaopt hostap up stationname "FreeBSD AP"¤ł¤Î &man.ifconfig.8; ĽłĽŢĽóĽÉšÔ¤Ď
wi0 Ľ¤ĽóĽżĽŐĽ§ĄźĽš¤ň up
žőÂ֤ˤˇĄ˘SSID ¤ň my_net ¤ËŔßÄꤡĄ˘
ĽšĽĆĄźĽˇĽçĽóĚž¤ň FreeBSD AP ¤ËŔßÄꤡ¤Ţ¤šĄŁ
ĽŞĽ×ĽˇĽçĽó¤ĎĽŤĄźĽÉ¤ň 11Mbps
ĽâĄźĽÉ¤ËŔßÄꤡĄ˘¤Ţ¤ż
¤ňźÂşÝ¤Ë͸ú¤Ë¤š¤ë¤Î¤ËÉŹÍפǤšĄŁ
ĽŞĽ×ĽˇĽçĽó¤ĎĽ¤ĽóĽżĽŐĽ§ĄźĽš¤ňĽ˘ĽŻĽťĽšĽÝĽ¤ĽóĽČĽâĄźĽÉ¤Ë¤ˇ¤Ţ¤šĄŁ
ĽŞĽ×ĽˇĽçĽó¤ĎťČÍѤš¤ëĽÁĽăĽÍĽë¤ň
802.11b ¤ËŔßÄꤡ¤Ţ¤šĄŁ
łĆľŹŔŠĂϰč (regulatory domain) ¤Ç͸ú¤ĘĽÁĽăĽÍĽëČÖšć¤Ď
&man.wicontrol.8; ĽŢĽËĽĺĽ˘ĽëĽÚĄźĽ¸¤ËşÜ¤Ă¤Ć¤¤¤Ţ¤šĄŁ¤ľ¤ĆĄ˘
¤ł¤ě¤Ç´°Á´¤ËľĄÇ˝¤š¤ëĽ˘ĽŻĽťĽšĽÝĽ¤ĽóĽČ¤ŹÎФÁžĺ¤Ź¤ęĄ˘Ć°şî¤ˇ¤Ć¤¤¤Ţ¤šĄŁ
¤č¤ęžÜ¤ˇ¤¤žđĘó¤Ë¤Ä¤¤¤Ć¤ĎĄ˘&man.wicontrol.8;, &man.ifconfig.8;
¤Ş¤č¤Ó &man.wi.4; ¤ÎĽŢĽËĽĺĽ˘Ľë¤ňĆɤŕ¤Č¤č¤¤¤Ç¤ˇ¤ç¤ŚĄŁ
¤Ţ¤żĄ˘˛źľ¤Î°Ĺšć˛˝¤Ë´Ř¤š¤ëŔá¤ňĆɤळ¤Č¤â¤Ş¤š¤š¤á¤ˇ¤Ţ¤šĄŁĽšĽĆĄźĽżĽšžđĘó°ěĹŮĽ˘ĽŻĽťĽšĽÝĽ¤ĽóĽČ¤ŹŔßÄꤾ¤ě¤Ć˛ÔĆŻ¤š¤ë¤ČĄ˘
´ÉÍýźÔ¤ĎĽ˘ĽŻĽťĽšĽÝĽ¤ĽóĽČ¤ňÍřÍѤˇ¤Ć¤¤¤ëĽŻĽéĽ¤Ľ˘ĽóĽČ¤ň¸Ť¤ż¤¤¤Čť×¤Ś¤Ç¤ˇ¤ç¤ŚĄŁ
¤¤¤Ä¤Ç¤â´ÉÍýźÔ¤Ď°Ę˛ź¤ÎĽłĽŢĽóĽÉ¤ňźÂšÔ¤Ç¤¤Ţ¤šĄŁ&prompt.root; wicontrol -l
1 station:
00:09:b7:7b:9d:16 asid=04c0, flags=3<ASSOC,AUTH>, caps=1<ESS>, rates=f<1M,2M,5.5M,11M>, sig=38/15¤ł¤ě¤Ď°ě¤Ä¤ÎśÉ¤ŹĄ˘
É˝ź¨¤ľ¤ě¤Ć¤¤¤ëĽŃĽéĽáĄźĽż¤ÇŔÜÂł¤ˇ¤Ć¤¤¤ë¤ł¤Č¤ňꍤˇ¤Ţ¤šĄŁ
É˝ź¨¤ľ¤ě¤żżŽšć¤ĎĄ˘
ÁęÂĐĹŞ¤ĘśŻ¤ľ¤ňÉ˝ź¨¤ˇ¤Ć¤¤¤ë¤Ŕ¤ą¤Î¤â¤Î¤Č¤ˇ¤Ć°ˇ¤ď¤ě¤ë¤Ů¤¤Ç¤šĄŁ
dBm ¤ä¤˝¤Îž¤ÎĂą°Ě¤Ř¤ÎĘŃ´šˇë˛Ě¤ĎĄ˘
°Ű¤Ę¤ëĽŐĽĄĄźĽŕĽŚĽ§Ľ˘ĽĐĄźĽ¸ĽçĽó´Ö¤Ç°Ű¤Ę¤ę¤Ţ¤šĄŁĽŻĽéĽ¤Ľ˘ĽóĽČĚľŔţĽŻĽéĽ¤Ľ˘ĽóĽČ¤ĎĽ˘ĽŻĽťĽšĽÝĽ¤ĽóĽČĄ˘
¤Ţ¤ż¤Ďž¤ÎĽŻĽéĽ¤Ľ˘ĽóĽČ¤ËÄžŔÜĽ˘ĽŻĽťĽš¤š¤ëĽˇĽšĽĆĽŕ¤Ç¤šĄŁĹľˇżĹŞ¤Ë¤ĎĄ˘
ĚľŔţĽŻĽéĽ¤Ľ˘ĽóĽČ¤ŹÍ¤ˇ¤Ć¤¤¤ëĽÍĽĂĽČĽďĄźĽŻĽÇĽĐĽ¤Ľš¤ĎĄ˘
ĚľŔţĽÍĽĂĽČĽďĄźĽŻĽŤĄźĽÉ 1 Ëç¤Ŕ¤ą¤Ç¤šĄŁĚľŔţĽŻĽéĽ¤Ľ˘ĽóĽČ¤ňŔßÄꤚ¤ë¤Ë¤Ď¤¤¤Ż¤Ä¤ŤĘýËĄ¤Ź¤˘¤ę¤Ţ¤šĄŁ
¤˝¤ě¤ž¤ě¤Ď°Ű¤Ę¤ëĚľŔţĽâĄźĽÉ¤Ë°Í¸¤ˇ¤Ć¤¤¤Ţ¤š¤ŹĄ˘
°ěČĚĹŞ¤Ë¤Ď BSS
(Ľ˘ĽŻĽťĽšĽÝĽ¤ĽóĽČ¤ňÉŹÍפȤš¤ëĽ¤ĽóĽŐĽéĽšĽČĽéĽŻĽÁĽăĄźĽâĄźĽÉ) ¤ŤĄ˘
IBSS (Ľ˘ĽÉĽŰĽĂĽŻĄ˘¤Ţ¤ż¤ĎĽÔĽ˘ĽÄĄźĽÔĽ˘ĽâĄźĽÉ) ¤Î¤É¤Á¤é¤Ť¤Ç¤šĄŁ
¤ł¤ł¤Ç¤ĎĄ˘Ľ˘ĽŻĽťĽšĽÝĽ¤ĽóĽČ¤ČÄĚżŽ¤ň¤š¤ë¤Î¤ËĄ˘
ΞźÔ¤Î¤Ś¤Á¤ÇşÇ¤âš¤Ţ¤Ă¤Ć¤¤¤ë BSS ĽâĄźĽÉ¤ňťČÍѤˇ¤Ţ¤šĄŁÍסďFreeBSD ¤ňĚľŔţĽŻĽéĽ¤Ľ˘ĽóĽČ¤Č¤ˇ¤ĆŔßÄꤚ¤ë¤Î¤ËĄ˘
ËÜĹö¤ËÉŹÍפʤâ¤Î¤Ď¤ż¤Ă¤ż 1 ¤Ä¤Ŕ¤ą¤Ç¤šĄŁ
FreeBSD ¤ŹÂĐąţ¤ˇ¤Ć¤¤¤ëĚľŔţĽŤĄźĽÉ¤ŹÉŹÍפǤšĄŁĚľŔţ FreeBSD ĽŻĽéĽ¤Ľ˘ĽóĽČ¤ÎŔßÄęŔßÄę¤ň¤Ď¤¸¤á¤ëÁ°¤ËĄ˘
¤˘¤Ę¤ż¤ŹŔÜÂł¤ˇ¤č¤Ś¤Č¤š¤ëĚľŔţĽÍĽĂĽČĽďĄźĽŻ¤Ë¤Ä¤¤¤Ć¤¤¤Ż¤Ä¤ŤĂÎ¤Ă¤Ć¤Ş¤Ť¤Ę¤ą¤ě¤Đ¤Ę¤ę¤Ţ¤ť¤óĄŁ
¤ł¤ÎÎă¤Ç¤ĎĄ˘my_net
¤Č¤¤¤ŚĚžÁ°¤Ç°Ĺšć˛˝¤ĎĚľ¸ú¤Ë¤Ę¤Ă¤Ć¤¤¤ëĽÍĽĂĽČĽďĄźĽŻ¤ËŔÜÂł¤ˇ¤č¤Ś¤Č¤ˇ¤Ć¤¤¤Ţ¤šĄŁ¤ł¤ÎÎă¤Ç¤Ď°Ĺšć˛˝¤ňšÔ¤Ă¤Ć¤¤¤Ę¤¤¤Î¤Ç¤š¤ŹĄ˘
¤ł¤ě¤Ď´í¸ą¤Ęžőśˇ¤Ç¤šĄŁźĄ¤ÎŔá¤ÇĄ˘°Ĺšć˛˝¤ň͸ú¤Ë¤š¤ëĘýËĄ¤ČĄ˘
¤Ę¤ź¤˝¤ě¤Ź˝ĹÍפǥ˘
°Ĺšćľť˝Ń¤Ë¤č¤Ă¤Ć¤Ď´°Á´¤Ë¤Ď¤˘¤Ę¤ż¤ňĘݸ¤ë¤ł¤Č¤Ź¤Ç¤¤Ę¤¤¤Î¤Ď¤Ę¤ź¤ŤĄ˘
¤Č¤¤¤Ś¤ł¤Č¤ňłŘ¤Ö¤Ç¤ˇ¤ç¤ŚĄŁĽŤĄźĽÉ¤Ź FreeBSD ¤ËÇ§źą¤ľ¤ě¤Ć¤¤¤ë¤ł¤Č¤ňłÎǧ¤ˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ&prompt.root; ifconfig -a
wi0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
inet6 fe80::202:2dff:fe2d:c938%wi0 prefixlen 64 scopeid 0x7
inet 0.0.0.0 netmask 0xff000000 broadcast 255.255.255.255
ether 00:09:2d:2d:c9:50
media: IEEE 802.11 Wireless Ethernet autoselect (DS/2Mbps)
status: no carrier
ssid ""
stationname "FreeBSD Wireless node"
channel 10 authmode OPEN powersavemode OFF powersavesleep 100
wepmode OFF weptxkey 1¤˝¤ě¤Ç¤ĎĄ˘¤ł¤ÎĽŤĄźĽÉ¤ňĽÍĽĂĽČĽďĄźĽŻ¤Ëšç¤ď¤ť¤ĆŔßÄꤡ¤Ţ¤ˇ¤ç¤ŚĄŁ&prompt.root; ifconfig wi0 inet 192.168.0.20 netmask 255.255.255.0 ssid my_net192.168.0.20 ¤Č
255.255.255.0
¤ňÍŔţĽÍĽĂĽČĽďĄźĽŻ¤Ç͸ú¤Ę
IP Ľ˘ĽÉĽěĽš¤ČĽÍĽĂĽČĽŢĽšĽŻ¤ËĂÖ¤´š¤¨¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ
Ľ˘ĽŻĽťĽšĽÝĽ¤ĽóĽČ¤ĎĚľŔţĽÍĽĂĽČĽďĄźĽŻ¤ČÍŔţĽÍĽĂĽČĽďĄźĽŻ¤Î´Ö¤ÇĽÇĄźĽż¤ňĽÖĽęĽĂĽ¸¤ˇ¤Ć¤¤¤ë¤ż¤áĄ˘
ĽÍĽĂĽČĽďĄźĽŻžĺ¤Îž¤ÎĽÇĽĐĽ¤Ľš¤Ë¤ĎĄ˘¤ł¤ÎĽÇĽĐĽ¤Ľš¤ŹĄ˘Âž¤ČĆąÍͤ˥˘
ÍŔţĽÍĽĂĽČĽďĄźĽŻžĺ¤Ë¤˘¤ë¤Ť¤Î¤č¤Ś¤Ë¸Ť¤¨¤ë¤ł¤Č¤ËĂí°Ő¤ˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ¤ł¤ě¤ň˝Ş¤¨¤ë¤ČĄ˘
¤˘¤Ę¤ż¤Ďɸ˝ŕĹŞ¤ĘÍŔţŔÜÂł¤ňťČÍѤˇ¤Ć¤¤¤ë¤Ť¤Î¤č¤Ś¤ËĄ˘
ÍŔţĽÍĽĂĽČĽďĄźĽŻžĺ¤ÎĽŰĽšĽČ¤Ë ping ¤ňÁ÷¤ë¤ł¤Č¤Ź¤Ç¤¤ë¤Ç¤ˇ¤ç¤ŚĄŁĚľŔţŔÜÂł¤Ë´Ř¤š¤ëĚäÂꤏ¤˘¤ëžěšç¤ĎĄ˘
Ľ˘ĽŻĽťĽšĽÝĽ¤ĽóĽČ¤ËŔÜÂł¤ľ¤ě¤Ć¤¤¤ë¤ł¤Č¤ňłÎǧ¤ˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ&prompt.root; ifconfig wi0¤¤¤Ż¤é¤ŤžđĘó¤ŹÉ˝ź¨¤ľ¤ě¤ë¤Ď¤ş¤Ç¤šĄŁ
¤˝¤ÎĂć¤Ë°Ę˛ź¤ÎÉ˝ź¨¤Ź¤˘¤ë¤Ď¤ş¤Ç¤šĄŁstatus: associated¤â¤ˇ associated ¤ČÉ˝ź¨¤ľ¤ě¤Ę¤ą¤ě¤ĐĄ˘
Ľ˘ĽŻĽťĽšĽÝĽ¤ĽóĽČ¤ÎČϰϳ°¤Ť¤â¤ˇ¤ě¤Ę¤¤¤ˇĄ˘
°Ĺšć˛˝¤ŹÍ¸ú¤Ë¤Ę¤Ă¤Ć¤¤¤ë¤Ť¤â¤ˇ¤ě¤Ę¤¤¤ˇĄ˘
¤Ţ¤ż¤ĎŔßÄę¤ÎĚäÂę¤ňĘú¤¨¤Ć¤¤¤ë¤Î¤Ť¤â¤ˇ¤ě¤Ţ¤ť¤óĄŁ°Ĺšć˛˝ĚľŔţĽÍĽĂĽČĽďĄźĽŻ°Ĺšć˛˝ĚľŔţĽÍĽĂĽČĽďĄźĽŻ¤ň°Ĺšć˛˝¤š¤ë¤ł¤Č¤Ź˝ĹÍפʤΤϥ˘
˝˝ĘŹĘݸ¤ě¤żÎΰč¤ËĽÍĽĂĽČĽďĄźĽŻ¤ňÎą¤á¤ëÇ˝ÎĎ¤Ź¤â¤Ď¤ä¤Ę¤¤¤Ť¤é¤Ç¤šĄŁ
ĚľŔţĽÇĄźĽż¤Ď¤˝¤ÎźţĘŐÁ´ÂΤˤ錄¤Ă¤ĆĘüÁ÷¤ľ¤ě¤ë¤Î¤ÇĄ˘
¤˝¤ě¤ňĆɤߤż¤¤¤Čť×¤ŚżÍ¤Ď¤Ŕ¤ě¤Ç¤âĆɤळ¤Č¤Ź¤Ç¤¤Ţ¤šĄŁ
¤˝¤ł¤Ç°Ĺšć˛˝¤ŹĚň¤ËΊ¤Á¤Ţ¤šĄŁ
ĹĹÇȤ˺ܤť¤ĆÁ÷¤é¤ě¤ëĽÇĄźĽż¤ň°Ĺšć˛˝¤š¤ë¤ł¤Č¤Ë¤č¤Ă¤ĆĄ˘
ś˝Ě٤ňĘú¤¤¤żźÔ¤ŹśőĂ植¤éĽÇĄźĽż¤ňźčĆŔ¤š¤ë¤ł¤Č¤ň¤ş¤Ă¤ČĆń¤ˇ¤Ż¤ˇ¤Ţ¤šĄŁĽŻĽéĽ¤Ľ˘ĽóĽČ¤ČĽ˘ĽŻĽťĽšĽÝĽ¤ĽóĽČ´Ö¤ÎĽÇĄźĽż¤ň°Ĺšć˛˝¤š¤ë¤â¤Ă¤Č¤â°ěČĚĹŞ¤ĘĘýËĄ¤Ë¤ĎĄ˘
WEP ¤Č &man.ipsec.4; ¤ÎĆóźďÎए¤˘¤ę¤Ţ¤šĄŁWEPWEPWEP ¤Ď Wired Equivalency Protocol
(ĚőĂí: ÄžĚő¤š¤ë¤ČĄ˘ÍŔţĹů˛ÁĽ×ĽíĽČĽłĽë) ¤ÎÎŹ¸ě¤Ç¤šĄŁWEP
¤ĎĚľŔţĽÍĽĂĽČĽďĄźĽŻ¤ňÍŔţĽÍĽĂĽČĽďĄźĽŻ¤ČĆąÄřĹ٤˰ÂÁ´¤ÇłÎźÂ¤Ę¤â¤Î¤Ë¤ˇ¤č¤Ś¤Č¤š¤ëťî¤ß¤Ç¤šĄŁ
ťÄǰ¤Ę¤Ź¤éĄ˘¤ł¤ě¤Ď¤š¤Ç¤ËÇˤé¤ě¤Ć¤Ş¤ęĄ˘
Çˤë¤Î¤Ď¤˝¤ě¤Ű¤ÉśěĎŤ¤ˇ¤Ţ¤ť¤óĄŁ
¤ł¤ě¤ĎĄ˘ľĄĚŠĽÇĄźĽż¤ň°Ĺšć˛˝¤š¤ë¤Č¤¤¤Śžěšç¤ËĄ˘
¤ł¤ě¤ËÍę¤ë¤â¤Î¤Ç¤Ď¤Ę¤¤¤Č¤¤¤Ś¤ł¤Č¤â°ŐĚŁ¤ˇ¤Ţ¤šĄŁ¤Ę¤Ë¤âĚľ¤¤¤č¤ę¤Ď¤Ţ¤ˇ¤Ę¤Î¤ÇĄ˘
źĄ¤ÎĽłĽŢĽóĽÉ¤ňťČ¤Ă¤ĆĄ˘¤˘¤Ę¤ż¤Îżˇ¤ˇ¤¤ FreeBSD Ľ˘ĽŻĽťĽšĽÝĽ¤ĽóĽČžĺ¤Ç
WEP ¤ň͸ú¤Ë¤ˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ&prompt.root; ifconfig wi0 inet up ssid my_net wepmode on wepkey 0x1234567890 media DS/11Mbps mediaopt hostapĽŻĽéĽ¤Ľ˘ĽóĽČ¤Ë¤Ä¤¤¤Ć¤ĎźĄ¤ÎĽłĽŢĽóĽÉ¤Ç WEP ¤ň͸ú¤Ë¤Ç¤¤Ţ¤šĄŁ&prompt.root; ifconfig wi0 inet 192.168.0.20 netmask 255.255.255.0 ssid my_net wepmode on wepkey 0x12345678900x1234567890
¤ň¤č¤ęĆðۤʼĄź¤ËĘŃšš¤š¤Ů¤¤Ç¤˘¤ë¤ł¤Č¤ËĂí°Ő¤ˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁIPsec&man.ipsec.4;
¤ĎĽÍĽĂĽČĽďĄźĽŻžĺ¤Ç¸ň¤ď¤ľ¤ě¤ëĽÇĄźĽż¤ň°Ĺšć˛˝¤š¤ë¤ż¤á¤ÎĄ˘
¤Ď¤ë¤Ť¤Ë´čˇň¤ÇśŻÎϤʼĥźĽë¤Ç¤šĄŁ
¤ł¤ě¤ĎĚľŔţĽÍĽĂĽČĽďĄźĽŻžĺ¤ÎĽÇĄźĽż¤ň°Ĺšć˛˝¤š¤ëĚŔ¤é¤Ť¤ËšĽ¤Ţ¤ˇ¤¤ĘýËĄ¤Ç¤šĄŁ
ĽĎĽóĽÉĽÖĽĂĽŻĆâ¤Î IPsec Ŕá¤Ç
&man.ipsec.4; ĽťĽĽĺĽęĽĆĽŁĄ˘
¤Ş¤č¤Ó¤˝¤ÎźÂÁőĘýËĄ¤ÎžÜşŮ¤ňĆɤळ¤Č¤Ź¤Ç¤¤Ţ¤šĄŁĽÄĄźĽëĚľŔţĽÍĽĂĽČĽďĄźĽŻ¤ňĽÇĽĐĽĂĽ°¤ˇ¤ż¤ęŔßÄꤚ¤ë¤Î¤ËťČ¤ŚĽÄĄźĽë¤Ź¤ď¤ş¤Ť¤Đ¤Ť¤ę¤˘¤ę¤Ţ¤šĄŁ
¤ł¤ł¤Ç¤˝¤Î°ěÉô¤ČĄ˘¤˝¤ě¤é¤Ź˛ż¤ň¤ˇ¤Ć¤¤¤ë¤ŤŔâĚŔ¤ˇ¤Ţ¤šĄŁbsd-airtools ĽŃĽĂĽąĄźĽ¸bsd-airtools ĽŃĽĂĽąĄźĽ¸¤ĎĄ˘
WEP ĽĄźĽŻĽéĽĂĽĽóĽ°Ą˘
Ľ˘ĽŻĽťĽšĽÝĽ¤ĽóĽČ¸ĄĂΤʤɤÎĚľŔţÄĚżŽ¤ň´Ćşş¤š¤ëĽÄĄźĽë¤ň´Ţ¤ŕ´°Č÷¤ľ¤ě¤żĽÄĄźĽë˝¸¤Ç¤šĄŁbsd-airtools ĽćĄźĽĆĽŁĽęĽĆĽŁ¤Ď
net/bsd-airtools port
¤Ť¤éĽ¤ĽóĽšĽČĄźĽë¤Ç¤¤Ţ¤šĄŁ
ports ¤ÎĽ¤ĽóĽšĽČĄźĽë¤Ë´Ř¤š¤ëžđĘó¤Ď¤ł¤ÎĽĎĽóĽÉĽÖĽĂĽŻ¤Î
¤ňť˛žČ¤ˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁdstumbler Ľ×ĽíĽ°ĽéĽŕ¤ĎĄ˘
Ľ˘ĽŻĽťĽšĽÝĽ¤ĽóĽČ¤ÎČŻ¸Ť¤Ş¤č¤Ó
S/N Čć¤ÎĽ°ĽéĽŐ˛˝¤ň¤Ç¤¤ë¤č¤Ś¤Ë¤š¤ëĽŃĽĂĽąĄźĽ¸ĽÄĄźĽë¤Ç¤šĄŁ
Ľ˘ĽŻĽťĽšĽÝĽ¤ĽóĽČ¤ňΊ¤Ážĺ¤˛¤Ćư¤Ť¤š¤Î¤ËśěĎŤ¤ˇ¤Ć¤¤¤ë¤Ę¤éĄ˘
dstumbler
¤Ď¤Ś¤Ţ¤ŻšÔ¤Żźę˝ő¤ą¤Ë¤Ę¤ë¤Ť¤â¤ˇ¤ě¤Ţ¤ť¤óĄŁĚľŔţĽÍĽĂĽČĽďĄźĽŻ¤Î°ÂÁ´Ŕ¤ňĽĆĽšĽČ¤š¤ë¤Î¤ËĄ˘
dweputils (dwepcrack,
dwepdump ¤Ş¤č¤Ó dwepkeygen)
¤ňťČÍѤš¤ë¤ł¤Č¤ÇĄ˘
WEP ¤Ź¤˘¤Ę¤ż¤ÎĚľŔţ°ÂÁ´Ŕ¤Ř¤ÎÍ׾á¤ËÂФš¤ëŔľ¤ˇ¤¤˛ňˇčşö¤Ť¤É¤Ś¤ŤČ˝ĂǤš¤ë¤Î¤ň˝ő¤ą¤é¤ě¤ë¤Ť¤â¤ˇ¤ě¤Ţ¤ť¤óĄŁwicontrol, ancontrol ¤Ş¤č¤Ó raycontrol ĽćĄźĽĆĽŁĽęĽĆĽŁ¤ł¤ě¤é¤ĎĄ˘ĚľŔţĽÍĽĂĽČĽďĄźĽŻžĺ¤ÇĚľŔţĽŤĄźĽÉ¤Ź¤É¤Î¤č¤Ś¤Ëưşî¤š¤ë¤Ť¤ňŔŠ¸ć¤š¤ëĽÄĄźĽë¤Ç¤šĄŁ
žĺľ¤ÎÎă¤Ç¤ĎĄ˘ĚľŔţĽŤĄźĽÉ¤Ź wi0
Ľ¤ĽóĽżĽŐĽ§ĄźĽš¤Ç¤˘¤ë¤Î¤ÇĄ˘&man.wicontrol.8;
¤ňťČÍѤš¤ë¤ł¤Č¤Ëˇč¤á¤Ţ¤ˇ¤żĄŁ
¤â¤ˇ Cisco ¤ÎĚľŔţĽÇĽĐĽ¤Ľš¤ňťý¤Ă¤Ć¤¤¤ëžěšç¤ĎĄ˘¤˝¤ě¤Ď
an0 ¤Č¤ˇ¤Ćưşî¤š¤ë¤Ç¤ˇ¤ç¤Ś¤Ť¤éĄ˘
&man.ancontrol.8; ¤ňťČ¤Ś¤ł¤Č¤Ë¤Ę¤ë¤Ç¤ˇ¤ç¤ŚĄŁifconfig ĽłĽŢĽóĽÉifconfig&man.ifconfig.8; ¤Ď &man.wicontrol.8;
¤ČĆą¤¸ĽŞĽ×ĽˇĽçĽó¤ÎÂż¤Ż¤ň˝čÍý¤Ç¤¤Ţ¤š¤ŹĄ˘
¤¤¤Ż¤Ä¤Ť¤ÎĽŞĽ×ĽˇĽçĽó¤ňˇç¤¤¤Ć¤¤¤Ţ¤šĄŁ
ĽłĽŢĽóĽÉĽéĽ¤Ľó°úżô¤ČĽŞĽ×ĽˇĽçĽó¤Ë¤Ä¤¤¤Ć
&man.ifconfig.8; ¤ňť˛žČ¤ˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁÂĐąţ¤ˇ¤Ć¤¤¤ëĽŤĄźĽÉĽ˘ĽŻĽťĽšĽÝĽ¤ĽóĽČ¸˝şß¤Î¤Č¤ł¤í (Ľ˘ĽŻĽťĽšĽÝĽ¤ĽóĽČ¤Č¤ˇ¤Ć)
BSS ĽâĄźĽÉ¤ËÂĐąţ¤ˇ¤żÍٰě¤ÎĽŤĄźĽÉ¤Ď Prism 2, 2.5
¤Ţ¤ż¤Ď 3 ĽÁĽĂĽ×ĽťĽĂĽČ¤ňÍřÍѤˇ¤żĽÇĽĐĽ¤Ľš¤Ç¤šĄŁ
&man.wi.4; ¤Ë´°Á´¤Ę°ěÍ÷¤Ź¤˘¤ę¤Ţ¤šĄŁĽŻĽéĽ¤Ľ˘ĽóĽČ¸˝şßĄ˘FreeBSD ¤Ç¤ĎĄ˘¤Ű¤Č¤ó¤É¤š¤Ů¤Ć¤Î 802.11b
ĚľŔţĽŤĄźĽÉ¤ËÂĐąţ¤ˇ¤Ć¤¤¤Ţ¤šĄŁ
Prism, Spectrum24, Hermes, Aironet ¤Ţ¤ż¤Ď Raylink
¤ÎĽÁĽĂĽ×ĽťĽĂĽČ¤ňÍřÍѤˇ¤ż¤Ű¤Č¤ó¤É¤ÎĽŤĄźĽÉ¤ĎĄ˘
(Ľ˘ĽÉĽŰĽĂĽŻĄ˘ĽÔĽ˘ĽÄĄźĽÔĽ˘Ą˘¤˝¤ˇ¤Ć BSS ¤Î)
IBSS ĽâĄźĽÉ¤ÇĚľŔţĽÍĽĂĽČĽďĄźĽŻĽŤĄźĽÉ¤Č¤ˇ¤Ćưşî¤š¤ë¤Ç¤ˇ¤ç¤ŚĄŁPavLucistnik¸śşî: pav@oook.czBluetoothBluetooth¤Ď¤¸¤á¤ËBluetooth ¤ĎĚČľö¤Î¤¤¤é¤Ę¤¤ 2.4 GHz ¤ÎÂÓ°č¤ňÍřÍѤˇ¤ĆĄ˘
10 m ÄřĹŮ¤ÎĽŃĄźĽ˝ĽĘĽëĽÍĽĂĽČĽďĄźĽŻ¤ňşî¤ëĚľŔţľť˝Ń¤Ç¤šĄŁ
ĽÍĽĂĽČĽďĄźĽŻ¤Ď¤ż¤¤¤Ć¤¤¤ÎžěšçĄ˘¤˝¤Îžě¤˝¤Îžě¤ÇĄ˘ˇČÂÓĹĹĎää
PDA ¤äĽÎĄźĽČĽŃĽ˝ĽłĽó¤Ę¤É¤ÎˇČÂÓĽÇĽĐĽ¤Ľš¤Ť¤éˇÁŔޤľ¤ě¤Ţ¤šĄŁ
Wi-Fi ¤Ę¤É¤Îž¤ÎÍĚž¤ĘĚľŔţľť˝Ń¤Č¤Ď°ă¤¤Ą˘
Bluetooth ¤Ď¤č¤ęšâ¤¤ĽěĽŮĽë¤ÎĽľĄźĽÓĽš¤ňÄ󜥤ˇ¤Ţ¤šĄŁ
¤ż¤Č¤¨¤ĐĄ˘FTP ¤Î¤č¤Ś¤ĘĽŐĽĄĽ¤ĽëĽľĄźĽĐĄ˘ĽŐĽĄĽ¤Ľë¤ÎĽ×ĽĂĽˇĽĺĄ˘
˛ťŔźĹÁÁ÷Ą˘ĽˇĽęĽ˘ĽëŔţ¤ÎĽ¨ĽßĽĺĽěĄźĽˇĽçĽó¤Ę¤É¤ÎĽľĄźĽÓĽš¤Ç¤šĄŁ&os; Ćâ¤Ç¤Î Bluetooth ĽšĽżĽĂĽŻ¤Ď Netgraph ĽŐĽěĄźĽŕĽďĄźĽŻ
(&man.netgraph.4; ť˛žČ) ¤ňťČ¤Ă¤ĆźÂ¸˝¤ľ¤ě¤Ć¤¤¤Ţ¤šĄŁ
&man.ng.ubt.4; ĽÉĽéĽ¤ĽĐ¤ĎĄ˘
ÂżźďÂżÍÍ¤Ę Bluetooth USB ĽÉĽóĽ°Ľë¤ËÂĐąţ¤ˇ¤Ć¤¤¤Ţ¤šĄŁ
Broadcom BCM2033 ĽÁĽĂĽ×¤ňĹëşÜ¤ˇ¤ż Bluetooth ĽÇĽĐĽ¤Ľš¤Ď &man.ubtbcmfw.4;
¤Ş¤č¤Ó &man.ng.ubt.4; ĽÉĽéĽ¤ĽĐ¤Ë¤č¤Ă¤ĆÂĐąţ¤ľ¤ě¤Ć¤¤¤Ţ¤šĄŁ
3Com Bluetooth PC ĽŤĄźĽÉ 3CRWB60-A ¤Ď &man.ng.bt3c.4;
ĽÉĽéĽ¤ĽĐ¤Ë¤č¤Ă¤ĆÂĐąţ¤ľ¤ě¤Ć¤¤¤Ţ¤šĄŁ
ĽˇĽęĽ˘Ľë¤Ş¤č¤Ó UART ¤ňĹëşÜ¤ˇ¤ż Bluetooth ĽÇĽĐĽ¤Ľš¤Ď &man.sio.4;,
&man.ng.h4.4; ¤Ş¤č¤Ó &man.hcseriald.8;
ĽÉĽéĽ¤ĽĐ¤Ë¤č¤Ă¤ĆÂĐąţ¤ľ¤ě¤Ć¤¤¤Ţ¤šĄŁ
¤ł¤ÎŔá¤Ç¤Ď USB Bluetooth ĽÉĽóĽ°Ľë¤ÎťČÍŃËĄ¤Ë¤Ä¤¤¤ĆŔâĚŔ¤ˇ¤Ţ¤šĄŁ
Bluetooth ¤ËÂĐąţ¤ˇ¤Ć¤¤¤ë¤Î¤Ď &os; 5.0 °Ęšß¤ÎĽˇĽšĽĆĽŕ¤Ç¤šĄŁĚőĂí5.0, 5.1 Release ¤Ç¤ĎĽŤĄźĽÍĽëĽâĽ¸ĽĺĄźĽë¤ĎÍřÍѲÄÇ˝¤Ç¤š¤ŹĄ˘
źďĄš¤ÎĽćĄźĽĆĽŁĽęĽĆĽŁ¤ČĽŢĽËĽĺĽ˘Ľë¤Ďɸ˝ŕ¤ÇĽłĽóĽŃĽ¤Ľë¤ľ¤ě¤Ć¤¤¤Ţ¤ť¤óĄŁ
ĽÇĽĐĽ¤Ľš¤ÎÁŢĆţĽÇĽŐĽŠĽëĽČ¤Ç¤Ď Bluetooth
ĽÇĽĐĽ¤ĽšĽÉĽéĽ¤ĽĐ¤ĎĽŤĄźĽÍĽëĽâĽ¸ĽĺĄźĽë¤Č¤ˇ¤ĆÍřÍѤǤ¤Ţ¤šĄŁ
ĽÇĽĐĽ¤Ľš¤ňŔÜÂł¤š¤ëÁ°¤ËĄ˘
ĽŤĄźĽÍĽë¤ËĽÉĽéĽ¤ĽĐ¤ňĆɤߚţ¤ŕÉŹÍפʤ˘¤ę¤Ţ¤šĄŁ&prompt.root; kldload ng_ubtBluetooth ĽÇĽĐĽ¤Ľš¤ŹĽˇĽšĽĆĽŕľŻĆ°ťţ¤Ë¸şß¤ˇ¤Ć¤¤¤ëžěšçĄ˘
/boot/loader.conf
¤Ť¤éĽâĽ¸ĽĺĄźĽë¤ňĆɤߚţ¤ó¤Ç¤Ż¤Ŕ¤ľ¤¤ĄŁng_ubt_load="YES"USB ĽÉĽóĽ°Ľë¤ňÁޤˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁĽłĽóĽ˝ĄźĽë¤Ë (¤Ţ¤ż¤Ď syslog ¤Ë)
˛źľ¤Î¤č¤Ś¤ĘÉ˝ź¨¤Ź¸˝¤ě¤ë¤Ç¤ˇ¤ç¤ŚĄŁubt0: vendor 0x0a12 product 0x0001, rev 1.10/5.25, addr 2
ubt0: Interface 0 endpoints: interrupt=0x81, bulk-in=0x82, bulk-out=0x2
ubt0: Interface 1 (alt.config 5) endpoints: isoc-in=0x83, isoc-out=0x3,
wMaxPacketSize=49, nframes=6, buffer size=294/usr/share/examples/netgraph/bluetooth/rc.bluetooth
¤ň /etc/rc.bluetooth
¤Î¤č¤Ś¤Ę¤É¤ł¤ŤĘŘÍř¤Ęžě˝ę¤ËĽłĽÔĄź¤ˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ
¤ł¤ÎĽšĽŻĽęĽ×ĽČ¤Ď Bluetooth
ĽšĽżĽĂĽŻ¤ňłŤťĎ¤Ş¤č¤Ó˝ŞÎť¤ľ¤ť¤ë¤Î¤ËťČ¤ď¤ě¤Ţ¤šĄŁ
ĽÇĽĐĽ¤Ľš¤ňČ´¤ŻÁ°¤ËĽšĽżĽĂĽŻ¤ň˝ŞÎť¤š¤ë¤Î¤Ď¤č¤¤šÍ¤¨¤Ç¤š¤ŹĄ˘
(¤ż¤¤¤Ć¤¤¤Îžěšç) ¤ˇ¤Ę¤Ż¤Ć¤âĂ×̿Ū¤Ç¤Ď¤˘¤ę¤Ţ¤ť¤óĄŁ
ĽšĽżĽĂĽŻ¤ňłŤťĎ¤š¤ë¤Č¤¤ËĄ˘˛źľ¤Î¤č¤Ś¤Ę˝ĐÎĎ¤Ź¤ľ¤ě¤Ţ¤šĄŁ&prompt.root; /etc/rc.bluetooth start ubt0
BD_ADDR: 00:02:72:00:d4:1a
Features: 0xff 0xff 0xf 00 00 00 00 00
<3-Slot> <5-Slot> <Encryption> <Slot offset>
<Timing accuracy> <Switch> <Hold mode> <Sniff mode>
<Park mode> <RSSI> <Channel quality> <SCO link>
<HV2 packets> <HV3 packets> <u-law log> <A-law log> <CVSD>
<Paging scheme> <Power control> <Transparent SCO data>
Max. ACL packet size: 192 bytes
Number of ACL packets: 8
Max. SCO packet size: 64 bytes
Number of SCO packets: 8ĽŰĽšĽČĽłĽóĽČĽíĄźĽéĽ¤ĽóĽżĽŐĽ§ĄźĽš (HCI)HCIĽŰĽšĽČĽłĽóĽČĽíĄźĽéĽ¤ĽóĽżĽŐĽ§ĄźĽš (HCI) ¤ĎĄ˘
ĽŮĄźĽšĽĐĽóĽÉĽłĽóĽČĽíĄźĽé¤Ş¤č¤ÓĽęĽóĽŻĽŢĽÍĄźĽ¸Ľă¤Ř¤ÎĽłĽŢĽóĽÉĽ¤ĽóĽżĽŐĽ§ĄźĽš¤ňÄ󜥤ˇĄ˘
ĽĎĄźĽÉĽŚĽ§Ľ˘ĽšĽĆĄźĽżĽš¤Ş¤č¤ÓĽłĽóĽČĽíĄźĽëĽěĽ¸ĽšĽż¤ŘĽ˘ĽŻĽťĽš¤ˇ¤Ţ¤šĄŁ
¤ł¤ÎĽ¤ĽóĽżĽŐĽ§ĄźĽš¤Ď
Bluetooth ĽŮĄźĽšĽĐĽóĽÉľĄÇ˝¤ŘĽ˘ĽŻĽťĽš¤š¤ë˛č°ěĹŞ¤ĘĘýËĄ¤ňÄ󜥤ˇ¤Ţ¤šĄŁ
ĽŰĽšĽČ¤Î HCI ÁŘ¤Ď Bluetooth ĽĎĄźĽÉĽŚĽ§Ľ˘žĺ¤Î HCI ĽŐĽĄĄźĽŕĽŚĽ§Ľ˘¤ČĄ˘
ĽÇĄźĽż¤ČĽłĽŢĽóĽÉ¤ň¤ä¤ęźč¤ę¤ˇ¤Ţ¤šĄŁ
ĽŰĽšĽČĽłĽóĽČĽíĄźĽéĽČĽéĽóĽšĽÝĄźĽČÁŘ (¤Ä¤Ţ¤ęĘŞÍýĹŞ¤ĘĽĐĽš) ¤ÎĽÉĽéĽ¤ĽĐ¤ĎĄ˘
ΞĘý¤Î HCI ÁؤËÁę¸ß¤ËžđĘó¤ň¸ň´š¤š¤ëÇ˝ÎϤňÍż¤¨¤Ţ¤šĄŁ°ě¤Ä¤Î Bluetooth ĽÇĽĐĽ¤Ľš¤Ë¤Ä¤Ą˘hci
ĽżĽ¤Ľ×¤Î Netgraph ĽÎĄźĽÉ¤Ź°ě¤ÄşîŔޤľ¤ě¤Ţ¤šĄŁ
HCI ĽÎĄźĽÉ¤ĎÄĚžď Bluetooth ĽÇĽĐĽ¤ĽšĽÉĽéĽ¤ĽĐĽÎĄźĽÉ (˛źÎŽ) ¤Č
L2CAP ĽÎĄźĽÉ (žĺÎŽ) ¤ËŔÜÂł¤ľ¤ě¤Ţ¤šĄŁ
¤š¤Ů¤Ć¤Î HCI ưşî¤ĎĽÇĽĐĽ¤ĽšĽÉĽéĽ¤ĽĐĽÎĄźĽÉžĺ¤Ç¤Ď¤Ę¤ŻĄ˘
HCI ĽÎĄźĽÉžĺ¤ÇšÔ¤ď¤ě¤Ę¤Ż¤Ć¤Ď¤¤¤ą¤Ţ¤ť¤óĄŁ
HCI ĽÎĄźĽÉ¤ÎĽÇĽŐĽŠĽëĽČĚž¤Ď devicehci ¤Ç¤šĄŁ
žÜşŮ¤Ë¤Ä¤¤¤Ć¤Ď &man.ng.hci.4; ĽŢĽËĽĺĽ˘Ľë¤ňť˛žČ¤ˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁşÇ¤â°ěČĚĹŞ¤ĘĽżĽšĽŻ¤Î°ě¤Ä¤ËĄ˘ĚľŔţÄĚżŽĹŞ¤ËśáËľ¤Ë¤˘¤ë Bluetooth
ĽÇĽĐĽ¤Ľš¤ÎČŻ¸Ť¤Ź¤˘¤ę¤Ţ¤šĄŁ
¤ł¤Îưşî¤Ď inquiry (Ě䤤šç¤ď¤ť) ¤Č¸Ć¤Đ¤ě¤Ć¤¤¤Ţ¤šĄŁ
Inquiry ¤äž¤Î HCI ¤Ë´ŘϢ¤ˇ¤żĆ°şî¤Ď &man.hccontrol.8;
ĽćĄźĽĆĽŁĽęĽĆĽŁ¤Ë¤č¤Ă¤Ć¤Ę¤ľ¤ě¤Ţ¤šĄŁ
˛źľ¤ÎÎă¤ĎĄ˘¤É¤Î
Bluetooth ĽÇĽĐĽ¤Ľš¤ŹÄĚżŽˇ÷Ćâ¤Ë¤˘¤ë¤Ť¤ňĂΤëĘýËĄ¤ňꍤˇ¤Ć¤¤¤Ţ¤šĄŁ
ĽÇĽĐĽ¤Ľš¤ÎĽęĽšĽČ¤ŹÉ˝ź¨¤ľ¤ě¤ë¤Ë¤ĎżôÉ䍤Ť¤ę¤Ţ¤šĄŁ
ĽęĽâĄźĽČĽÇĽĐĽ¤Ľš¤Ď discoverable (ČŻ¸Ť˛ÄÇ˝¤Ę)
ĽâĄźĽÉ¤Ë¤˘¤ëžěšç¤Ë¤Î¤ß
inquiry ¤ËĘÖĹú¤š¤ë¤Č¤¤¤Ś¤ł¤Č¤ËĂí°Ő¤ˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ&prompt.user; hccontrol -n ubt0hci inquiry
Inquiry result, num_responses=1
Inquiry result #0
BD_ADDR: 00:80:37:29:19:a4
Page Scan Rep. Mode: 0x1
Page Scan Period Mode: 00
Page Scan Mode: 00
Class: 52:02:04
Clock offset: 0x78ef
Inquiry complete. Status: No error [00]BD_ADDR ¤Ď
Bluetooth ĽÇĽĐĽ¤Ľš¤Ë¸Çͤμ˘ĽÉĽěĽš¤Ç¤šĄŁ
¤ł¤ě¤ĎĽÍĽĂĽČĽďĄźĽŻĽŤĄźĽÉ¤Î MAC Ľ˘ĽÉĽěĽš¤Ëť÷¤Ć¤¤¤Ţ¤šĄŁ
¤ł¤ÎĽ˘ĽÉĽěĽš¤ĎĽÇĽĐĽ¤Ľš¤Č¤ÎÄĚżŽ¤ňÂł¤ą¤ë¤Î¤ËÉŹÍפȤʤę¤Ţ¤šĄŁ
BD_ADDR ¤ËżÍ´Ö¤ŹČ˝Ćɤˇ¤ä¤š¤¤ĚžÁ°¤ňłä¤ęĹö¤Ć¤ë¤ł¤Č¤â¤Ç¤¤Ţ¤šĄŁ
/etc/bluetooth/hosts ĽŐĽĄĽ¤Ľë¤Ë¤ĎĄ˘
´űĂΤΠBluetooth ĽŰĽšĽČ¤Ë´Ř¤š¤ëžđĘ󤏴ޤޤě¤Ć¤¤¤Ţ¤šĄŁ
źĄ¤ÎÎă¤ĎĽęĽâĄźĽČĽÇĽĐĽ¤Ľš¤Ëłä¤ęĹö¤Ć¤é¤ě¤Ć¤¤¤ëĄ˘
żÍ´Ö¤ŹČ˝Ćɤˇ¤ä¤š¤¤ĚžÁ°¤ňĆŔ¤ëĘýËĄ¤ňꍤˇ¤Ć¤¤¤Ţ¤šĄŁ&prompt.user; hccontrol -n ubt0hci remote_name_request 00:80:37:29:19:a4
BD_ADDR: 00:80:37:29:19:a4
Name: Pav's T39ĽęĽâĄźĽČ¤Î Bluetooth ĽÇĽĐĽ¤Ľšžĺ¤Ç inquiry ¤ňźÂšÔ¤š¤ë¤ČĄ˘
¤˘¤Ę¤ż¤ÎĽłĽóĽÔĽĺĄźĽż¤Ď your.host.name (ubt0)
¤ČÇ§źą¤ľ¤ě¤Ţ¤šĄŁ
ĽíĄźĽŤĽëĽÇĽĐĽ¤Ľš¤Ëłä¤ęĹö¤Ć¤é¤ě¤żĚžÁ°¤Ď¤¤¤Ä¤Ç¤âĘŃšš¤Ç¤¤Ţ¤šĄŁBluetooth ĽˇĽšĽĆĽŕ¤Ď°ěÂаěŔÜÂł (Ćó¤Ä¤Î
Bluetooth ĽćĽËĽĂĽČ¤Ŕ¤ą¤Ź´Řˇ¸¤ˇ¤Ţ¤š) ¤Ţ¤ż¤Ď°ěÂĐÂżŔÜÂł¤ňÄ󜥤ˇ¤Ţ¤šĄŁ
°ěÂĐÂżŔÜÂł¤Ç¤ĎĄ˘ŔÜÂł¤Ď¤¤¤Ż¤Ä¤Ť¤Î Bluetooth ĽÇĽĐĽ¤Ľš´Ö¤ÇśŚÍ¤ľ¤ě¤Ţ¤šĄŁ
źĄ¤ÎÎă¤ĎĄ˘ĽíĄźĽŤĽëĽÇĽĐĽ¤Ľš¤ËÂФš¤ëĽ˘ĽŻĽĆĽŁĽÖ¤ĘĽŮĄźĽšĽĐĽóĽÉŔÜÂł¤ÎĽęĽšĽČ¤ňĆŔ¤ëĘýËĄ¤ňꍤˇ¤Ć¤¤¤Ţ¤šĄŁ&prompt.user; hccontrol -n ubt0hci read_connection_list
Remote BD_ADDR Handle Type Mode Role Encrypt Pending Queue State
00:80:37:29:19:a4 41 ACL 0 MAST NONE 0 0 OPENconnection handle
¤ĎĽŮĄźĽšĽĐĽóĽÉŔÜÂł¤Î˝ŞÎť¤ŹÉŹÍפȤľ¤ě¤ë¤Č¤¤ËĘŘÍř¤Ç¤šĄŁ
¤â¤Ă¤Č¤âĄ˘ÄĚžď¤Ď¤ł¤ě¤ňźęư¤ÇšÔ¤ŚÉŹÍפϤ˘¤ę¤Ţ¤ť¤óĄŁ
Bluetooth ĽšĽżĽĂĽŻ¤ĎĽ˘ĽŻĽĆĽŁĽÖ¤Ç¤Ę¤¤ĽŮĄźĽšĽĐĽóĽÉŔÜÂł¤ňźŤĆ°ĹŞ¤Ë˝ŞÎť¤ˇ¤Ţ¤šĄŁ&prompt.root; hccontrol -n ubt0hci disconnect 41
Connection handle: 41
Reason: Connection terminated by local host [0x16]ÍřÍѲÄÇ˝¤Ę HCI ĽłĽŢĽóĽÉ¤Î´°Á´¤Ę°ěÍ÷¤ňĆŔ¤ë¤Ë¤ĎĄ˘
hccontrol help ¤ňť˛žČ¤ˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ
HCI ĽłĽŢĽóĽÉ¤Î¤Ű¤Č¤ó¤É¤ĎĽšĄźĽŃĽćĄźĽś¸˘¸Â¤ňÉŹÍפȤˇ¤Ţ¤ť¤óĄŁĽíĽ¸ĽŤĽëĽęĽóĽŻĽłĽóĽČĽíĄźĽë¤Ş¤č¤ÓĽ˘ĽŔĽ×ĽĆĄźĽˇĽçĽóĽ×ĽíĽČĽłĽë (L2CAP)L2CAPĽíĽ¸ĽŤĽëĽęĽóĽŻĽłĽóĽČĽíĄźĽë¤Ş¤č¤ÓĽ˘ĽŔĽ×ĽĆĄźĽˇĽçĽóĽ×ĽíĽČĽłĽë
(L2CAP) ¤ĎĄ˘Ľ×ĽíĽČĽłĽëÂż˝Ĺ˛˝ĽąĄźĽŃĽÓĽęĽĆĽŁ¤Ş¤č¤ÓĘŹłäĄŚşĆĘÔŔŽĆ°şî¤ňČ÷¤¨¤żĄ˘
žĺ°ĚÁؼ׼íĽČĽłĽë¤Ř¤ÎĽłĽÍĽŻĽˇĽçĽóťŘ¸ţ¤Ş¤č¤ÓĽłĽÍĽŻĽˇĽçĽóĽěĽšĽÇĄźĽżĽľĄźĽÓĽš¤ňÄ󜥤ˇ¤Ţ¤šĄŁ
L2CAP ¤Ďžĺ°ĚÁؼ׼íĽČĽłĽë¤Ş¤č¤ÓĽ˘Ľ×ĽęĽąĄźĽˇĽçĽó¤Ź
64 KB ¤Ţ¤Ç¤ÎÄš¤ľ¤Î
L2CAP ĽÇĄźĽżĽŃĽąĽĂĽČ¤ňÁ÷źőżŽ¤š¤ë¤ł¤Č¤ň˛ÄÇ˝¤Ë¤ˇ¤Ţ¤šĄŁL2CAP ¤Ď ĽÁĽăĽÍĽë ¤ÎłľÇ°¤Ë´đ¤Ĺ¤¤¤Ć¤¤¤Ţ¤šĄŁ
ĽÁĽăĽÍĽë¤ĎĽŮĄźĽšĽĐĽóĽÉŔÜÂł¤Îžĺ°Ě¤Ë°ĚĂÖ¤š¤ëĎŔÍýĹŞ¤ĘŔÜÂł¤Ç¤šĄŁ
¤˝¤ě¤ž¤ě¤ÎĽÁĽăĽÍĽë¤ĎÂżÂаě¤ÎĘýËĄ¤Ç°ě¤Ä¤ÎĽ×ĽíĽČĽłĽë¤Ëˇë¤Ó¤Ä¤ą¤é¤ě¤Ţ¤šĄŁ
ĘŁżô¤ÎĽÁĽăĽÍĽë¤ňĆą¤¸Ľ×ĽíĽČĽłĽë¤Ëˇë¤Ó¤Ä¤ą¤ë¤ł¤Č¤Ď˛ÄÇ˝¤Ç¤š¤ŹĄ˘
°ě¤Ä¤ÎĽÁĽăĽÍĽë¤ňĘŁżô¤ÎĽ×ĽíĽČĽłĽë¤Ëˇë¤Ó¤Ä¤ą¤ë¤ł¤Č¤Ď¤Ç¤¤Ţ¤ť¤óĄŁ
ĽÁĽăĽÍĽëžĺ¤Çźő¤ąźč¤é¤ě¤ż¤˝¤ě¤ž¤ě¤Î L2CAP ĽŃĽąĽĂĽČ¤ĎĄ˘
ĹŹŔڤʤč¤ęžĺ°Ě¤ÎĽ×ĽíĽČĽłĽë¤ËĹϤľ¤ě¤Ţ¤šĄŁ
ĘŁżô¤ÎĽÁĽăĽÍĽë¤ĎĆą¤¸ĽŮĄźĽšĽĐĽóĽÉŔÜÂł¤ňśŚÍ¤Ç¤¤Ţ¤šĄŁ°ě¤Ä¤Î Bluetooth ĽÇĽĐĽ¤Ľš¤ËÂФˇ¤ĆĄ˘l2cap
ĽżĽ¤Ľ×¤Î Netgraph ĽÎĄźĽÉ¤Ź°ě¤ÄşîŔޤľ¤ě¤Ţ¤šĄŁ
L2CAP ĽÎĄźĽÉ¤ĎÄĚžď Bluetooth HCI ĽÎĄźĽÉ (˛źÎŽ) ¤Č
Bluetooth Ľ˝ĽąĽĂĽČĽÎĄźĽÉ (žĺÎŽ) ¤ËŔÜÂł¤ľ¤ě¤Ţ¤šĄŁ
L2CAP ĽÎĄźĽÉ¤ÎĽÇĽŐĽŠĽëĽČĚž¤Ď devicel2cap ¤Ç¤šĄŁ
žÜşŮ¤Ë¤Ä¤¤¤Ć¤Ď &man.ng.l2cap.4; ĽŢĽËĽĺĽ˘Ľë¤ňť˛žČ¤ˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁĘŘÍř¤ĘĽłĽŢĽóĽÉ¤ËĄ˘Âž¤ÎĽÇĽĐĽ¤Ľš¤Ë ping ¤ňÁ÷¤ë¤ł¤Č¤Ź¤Ç¤¤ë
&man.l2ping.8; ¤Ź¤˘¤ę¤Ţ¤šĄŁBluetooth źÂÁő¤Ë¤č¤Ă¤Ć¤ĎĄ˘
Á÷¤é¤ě¤żĽÇĄźĽż¤š¤Ů¤Ć¤ĎĘÖ¤ľ¤Ę¤¤¤ł¤Č¤Ź¤˘¤ę¤Ţ¤šĄŁ
¤ˇ¤ż¤Ź¤Ă¤ĆźĄ¤ÎÎă¤Ç 0 ĽĐĽ¤ĽČ ¤ĎŔľžď¤Ç¤šĄŁ&prompt.root; l2ping -a 00:80:37:29:19:a4
0 bytes from 0:80:37:29:19:a4 seq_no=0 time=48.633 ms result=0
0 bytes from 0:80:37:29:19:a4 seq_no=1 time=37.551 ms result=0
0 bytes from 0:80:37:29:19:a4 seq_no=2 time=28.324 ms result=0
0 bytes from 0:80:37:29:19:a4 seq_no=3 time=46.150 ms result=0&man.l2control.8; ĽćĄźĽĆĽŁĽęĽĆĽŁ¤Ď
L2CAP ĽÎĄźĽÉžĺ¤Ç¤ľ¤Ţ¤ś¤Ţ¤ĘÁŕşî¤ňšÔ¤Ś¤Î¤ËťČ¤ď¤ě¤Ţ¤šĄŁ
¤ł¤ÎÎă¤ĎĄ˘ĽíĄźĽŤĽëĽÇĽĐĽ¤Ľš¤ËÂФš¤ëĎŔÍýĹŞ¤ĘŔÜÂł (ĽÁĽăĽÍĽë)
¤Ş¤č¤ÓĽŮĄźĽšĽĐĽóĽÉŔÜÂł¤Î°ěÍ÷¤ňĆŔ¤ëĘýËĄ¤ňꍤˇ¤Ć¤¤¤Ţ¤šĄŁ&prompt.user; l2control -a 00:02:72:00:d4:1a read_channel_list
L2CAP channels:
Remote BD_ADDR SCID/ DCID PSM IMTU/ OMTU State
00:07:e0:00:0b:ca 66/ 64 3 132/ 672 OPEN
&prompt.user; l2control -a 00:02:72:00:d4:1a read_connection_list
L2CAP connections:
Remote BD_ADDR Handle Flags Pending State
00:07:e0:00:0b:ca 41 O 0 OPENĘ̤οÇĂÇĽÄĄźĽë¤Ź &man.btsockstat.1; ¤Ç¤šĄŁ
¤ł¤ě¤Ď &man.netstat.1; ¤ČĆąÍͤκîśČ¤ňĄ˘Bluetooth
ĽÍĽĂĽČĽďĄźĽŻ¤Ë´Ř¤š¤ëĽÇĄźĽżš˝Â¤¤Ë¤Ä¤¤¤Ć¤ÎšÔ¤¤¤Ţ¤šĄŁ
˛źľ¤ÎÎă¤Ďžĺ¤Î &man.l2control.8; ¤ČĆą¤¸ĎŔÍýĹŞ¤ĘŔÜÂł¤ňꍤˇ¤Ţ¤šĄŁ&prompt.user; btsockstat
Active L2CAP sockets
PCB Recv-Q Send-Q Local address/PSM Foreign address CID State
c2afe900 0 0 00:02:72:00:d4:1a/3 00:07:e0:00:0b:ca 66 OPEN
Active RFCOMM sessions
L2PCB PCB Flag MTU Out-Q DLCs State
c2afe900 c2b53380 1 127 0 Yes OPEN
Active RFCOMM sockets
PCB Recv-Q Send-Q Local address Foreign address Chan DLCI State
c2e8bc80 0 250 00:02:72:00:d4:1a 00:07:e0:00:0b:ca 3 6 OPENRFCOMM Ľ×ĽíĽČĽłĽëRFCOMMRFCOMM Ľ×ĽíĽČĽłĽë¤Ď L2CAP
Ľ×ĽíĽČĽłĽë¤ň˛đ¤ˇ¤ĆĽˇĽęĽ˘ĽëĽÝĄźĽČ¤ÎĽ¨ĽßĽĺĽěĄźĽˇĽçĽó¤ňÄ󜥤ˇ¤Ţ¤šĄŁ
¤ł¤ÎĽ×ĽíĽČĽłĽë¤Ď ETSI (ĚőĂí: ˛¤˝ŁĹĹľ¤ÄĚżŽÉ¸˝ŕ˛˝ľĄš˝)
ɸ˝ŕ TS 07.10 ¤Ë´đ¤Ĺ¤¤¤Ć¤¤¤Ţ¤šĄŁ
RFCOMM Ľ×ĽíĽČĽłĽë¤ĎĄ˘Ăą˝ă¤ĘĹÁÁ÷Ľ×ĽíĽČĽłĽë¤Ë RS-232 (EIATIA-232-E)
ĽˇĽęĽ˘ĽëĽÝĄźĽČ¤Î 9 ËܤΡëŔţ¤ňĽ¨ĽßĽĺĽěĄźĽČ¤š¤ëšŕĚܤň˛Ă¤¨¤ż¤â¤Î¤Ç¤šĄŁ
RFCOMM Ľ×ĽíĽČĽłĽë¤ĎĄ˘Ćó¤Ä¤Î Bluetooth ĽÇĽĐĽ¤Ľš´Ö¤ÇĄ˘şÇÂç 60
¤Ţ¤Ç¤ÎĆąťţŔÜÂł (RFCOMM ĽÁĽăĽÍĽë) ¤ËÂĐąţ¤ˇ¤Ć¤¤¤Ţ¤šĄŁRFCOMM ¤ÎĚÜĹŞ¤Ť¤éĄ˘´°Á´¤ĘÄĚżŽˇĐĎŠ¤ĎĄ˘°Ű¤Ę¤ëĽÇĽĐĽ¤Ľšžĺ
(ÄĚżŽ¤ÎĂźĹŔ) ¤Çưşî¤ˇ¤Ć¤¤¤ëĆó¤Ä¤ÎĽ˘Ľ×ĽęĽąĄźĽˇĽçĽó¤ČĄ˘
¤˝¤Î´Ö¤ÎÄĚżŽĽťĽ°ĽáĽóĽČ¤ň´Ţ¤ó¤Ç¤¤¤Ţ¤šĄŁRFCOMM
¤ĎĄ˘¤˝¤ě¤ŹĆ°¤¤¤Ć¤¤¤ëĽÇĽĐĽ¤Ľš¤ÎĽˇĽęĽ˘ĽëĽÝĄźĽČ¤ňÍřÍѤš¤ëĽ˘Ľ×ĽęĽąĄźĽˇĽçĽó¤ňĽŤĽĐĄź¤š¤ë¤ż¤á¤Î¤â¤Î¤Ç¤šĄŁ
ÄĚżŽĽťĽ°ĽáĽóĽČ¤Ď¤˘¤ëĽÇĽĐĽ¤Ľš¤Ť¤éž¤ÎĽÇĽĐĽ¤Ľš¤Ř¤Î Bluetooth ĽęĽóĽŻ¤Ç¤š
(ÄžŔÜŔÜÂł)ĄŁRFCOMM ¤ĎÄžŔÜŔÜÂł¤ˇ¤Ć¤¤¤ëžěšç¤ÎĽÇĽĐĽ¤Ľš´Ö¤ÎŔÜÂłĄ˘
¤Ţ¤ż¤ĎĽÍĽĂĽČĽďĄźĽŻ¤Îžěšç¤ÎĽÇĽĐĽ¤Ľš¤ČĽâĽÇĽŕ¤Î´Ö¤ÎŔÜÂł¤Ë¤Ŕ¤ą´Řˇ¸¤Ź¤˘¤ę¤Ţ¤šĄŁ
RFCOMM ¤ĎĄ˘°ěĘý¤Ź Bluetooth ĚľŔţľť˝Ń¤ÇÄĚżŽ¤ˇĄ˘
¤â¤Ś°ěĘý¤ÇÍŔţĽ¤ĽóĽżĽŐĽ§ĄźĽš¤ňÄ󜥤š¤ëĽâĽ¸ĽĺĄźĽë¤Î¤č¤Ś¤ĘĄ˘
ž¤Îš˝ŔŽ¤Ë¤âÂĐąţ¤Ç¤¤Ţ¤šĄŁ&os; ¤Ç¤Ď RFCOMM Ľ×ĽíĽČĽłĽë¤Ď
Bluetooth Ľ˝ĽąĽĂĽČÁؤ˟ÂÁő¤ľ¤ě¤Ć¤¤¤Ţ¤šĄŁĽÇĽĐĽ¤Ľš¤ÎĽÚĽ˘ĽęĽóĽ°pairingĽÇĽŐĽŠĽëĽČ¤Ç¤Ď Bluetooth ÄĚżŽ¤ĎǧžÚ¤ľ¤ě¤Ć¤Ş¤é¤şĄ˘
¤š¤Ů¤Ć¤ÎĽÇĽĐĽ¤Ľš¤ŹÂž¤Î¤š¤Ů¤Ć¤ÎĽÇĽĐĽ¤Ľš¤ČÄĚżŽ¤Ç¤¤Ţ¤šĄŁ
Bluetooth ĽÇĽĐĽ¤Ľš (¤ż¤Č¤¨¤ĐˇČÂÓĹĹĎĂ) ¤ĎĆĂÄę¤ÎĽľĄźĽÓĽš
(¤ż¤Č¤¨¤ĐĽŔĽ¤Ľ˘ĽëĽ˘ĽĂĽ×ĽľĄźĽÓĽš) ¤ňÄ󜥤š¤ë¤ż¤á¤ËĄ˘
ǧžÚ¤ňÍ׾ᤚ¤ë¤ł¤Č¤âÁŞÂň¤Ç¤¤Ţ¤šĄŁ
Bluetooth ǧžÚ¤ĎÄĚžď PIN ĽłĄźĽÉ ¤ÇšÔ¤ď¤ě¤Ţ¤šĄŁ
PIN ĽłĄźĽÉ¤ĎşÇÄš 16 ʸťú¤ÎĽ˘ĽšĽĄźĘ¸ťúÎó¤Ç¤šĄŁ
ĽćĄźĽś¤ĎΞĽÇĽĐĽ¤Ľš¤ÇĆą¤¸ PIN ĽłĄźĽÉ¤ňĆţÎϤš¤ë¤ł¤Č¤ňÍ׾᤾¤ě¤Ţ¤šĄŁ
°ěĹŮ PIN ĽłĄźĽÉ¤ňĆţÎϤš¤ë¤ČĄ˘
ΞĽÇĽĐĽ¤Ľš¤Ď ĽęĽóĽŻĽĄź ¤ňşîŔޤˇ¤Ţ¤šĄŁ
¤˝¤Î¸ĺĄ˘ĽęĽóĽŻĽĄź¤Ď¤˝¤ÎĽÇĽĐĽ¤ĽšźŤżČ¤Ţ¤ż¤ĎĄ˘
ÉÔ´řČŻŔľ˛ąĽÇĽĐĽ¤ĽšĆâ¤ËłĘÇź¤Ç¤¤Ţ¤šĄŁ
źĄ¤ÎľĄ˛ń¤Ë¤ĎĄ˘ÎžĽÇĽĐĽ¤Ľš¤ĎÁ°¤ËşîŔޤľ¤ě¤żĽęĽóĽŻĽĄź¤ňťČÍѤš¤ë¤Ç¤ˇ¤ç¤ŚĄŁ
¤ł¤Î¤č¤Ś¤ĘźęÂł¤¤ňĽÚĽ˘ĽęĽóĽ° (pairing)
¤Č¸Ć¤Ó¤Ţ¤šĄŁ¤¤¤ş¤ě¤Ť¤ÎĽÇĽĐĽ¤Ľšžĺ¤ÇĽęĽóĽŻĽĄź¤Źźş¤ď¤ě¤ż¤Č¤¤Ë¤ĎĄ˘
ĽÚĽ˘ĽęĽóĽ°¤ň¤ä¤ęÄž¤ľ¤Ę¤ą¤ě¤Đ¤Ę¤é¤Ę¤¤¤ł¤Č¤ËĂí°Ő¤ˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ&man.hcsecd.8; ĽÇĄźĽâĽó¤Ź
Bluetooth ǧžÚÍ׾á¤Î¤š¤Ů¤Ć¤ň°ˇ¤ŚŔŐǤ¤ňÉé¤Ă¤Ć¤¤¤Ţ¤šĄŁ
ĽÇĽŐĽŠĽëĽČ¤ÎŔßÄęĽŐĽĄĽ¤Ľë¤Ď
/etc/bluetooth/hcsecd.conf ¤Ç¤šĄŁ
PIN ĽłĄźĽÉ¤Ź 1234
¤ËŔßÄꤾ¤ě¤żˇČÂÓĹĹĎä˴ؤš¤ëÎă¤Ď°Ę˛ź¤ÎÄ̤ę¤Ç¤šĄŁdevice {
bdaddr 00:80:37:29:19:a4;
name "Pav's T39";
key nokey;
pin "1234";
}PIN ĽłĄźĽÉ¤Ë¤Ď (Äš¤ľ¤ň˝ü¤¤¤Ć) ŔŠ¸Â¤Ď¤˘¤ę¤Ţ¤ť¤óĄŁ
¤¤¤Ż¤Ä¤Ť¤ÎĽÇĽĐĽ¤Ľš (¤ż¤Č¤¨¤Đ Bluetooth ĽŘĽĂĽÉĽŐĽŠĽó)
¤Ë¤Ď¸ÇÄęĹŞ¤Ę PIN ĽłĄźĽÉ¤ŹÁȤߚţ¤Ţ¤ě¤Ć¤¤¤ë¤Ť¤â¤ˇ¤ě¤Ţ¤ť¤óĄŁ
ĽŞĽ×ĽˇĽçĽó¤Ď &man.hcsecd.8;
ĽÇĄźĽâĽó¤ŹĽŐĽŠĽ˘Ľ°ĽéĽŚĽóĽÉ¤Çưşî¤š¤ë¤č¤Ś¤ËśŻŔФš¤ë¤ż¤áĄ˘
˛ż¤ŹľŻ¤¤Ć¤¤¤ë¤Î¤ŤłÎǧ¤ˇ¤ä¤š¤Ż¤Ę¤ę¤Ţ¤šĄŁ
ĽęĽâĄźĽČĽÇĽĐĽ¤Ľš¤ŹĽÚĽ˘ĽęĽóĽ°¤ňźő¤ąźč¤ë¤č¤Ś¤ËŔßÄꤡ¤ĆĄ˘
ĽęĽâĄźĽČĽÇĽĐĽ¤Ľš¤Ř¤Î Bluetooth ŔÜÂł¤ňłŤťĎ¤ˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ
ĽęĽâĄźĽČĽÇĽĐĽ¤Ľš¤ĎĽÚĽ˘ĽęĽóĽ°¤Źźő¤ąĆţ¤ě¤é¤żĄ˘¤ČąţĹú¤ˇ¤Ć
PIN ĽłĄźĽÉ¤ňÍ׾ᤚ¤ë¤Ç¤ˇ¤ç¤ŚĄŁ
hcsecd.conf Ćâ¤Ë¤˘¤ë¤Î¤ČĆą¤¸
PIN ĽłĄźĽÉ¤ňĆţÎϤˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ
¤ł¤ě¤Ç¤˘¤Ę¤ż¤Î PC ¤ČĽęĽâĄźĽČĽÇĽĐĽ¤Ľš¤ŹĽÚĽ˘¤Č¤Ę¤ę¤Ţ¤ˇ¤żĄŁ
¤Ţ¤żĄ˘ĽęĽâĄźĽČĽÇĽĐĽ¤Ľš¤Ť¤éĽÚĽ˘ĽęĽóĽ°¤ňłŤťĎ¤š¤ë¤ł¤Č¤â¤Ç¤¤Ţ¤šĄŁ
°Ę˛ź¤Ď hcsecd ¤Î˝ĐÎĎÎă¤Ç¤šĄŁhcsecd[16484]: Got Link_Key_Request event from 'ubt0hci', remote bdaddr 0:80:37:29:19:a4
hcsecd[16484]: Found matching entry, remote bdaddr 0:80:37:29:19:a4, name 'Pav's T39', link key doesn't exist
hcsecd[16484]: Sending Link_Key_Negative_Reply to 'ubt0hci' for remote bdaddr 0:80:37:29:19:a4
hcsecd[16484]: Got PIN_Code_Request event from 'ubt0hci', remote bdaddr 0:80:37:29:19:a4
hcsecd[16484]: Found matching entry, remote bdaddr 0:80:37:29:19:a4, name 'Pav's T39', PIN code exists
hcsecd[16484]: Sending PIN_Code_Reply to 'ubt0hci' for remote bdaddr 0:80:37:29:19:a4ĽľĄźĽÓĽšĽÇĽŁĽšĽŤĽĐĽęĽ×ĽíĽČĽłĽë (SDP)SDPĽľĄźĽÓĽšĽÇĽŁĽšĽŤĽĐĽęĽ×ĽíĽČĽłĽë (SDP) ¤ĎĄ˘
ĽŻĽéĽ¤Ľ˘ĽóĽČĽ˘Ľ×ĽęĽąĄźĽˇĽçĽó¤ŹĄ˘
ĽľĄźĽĐĽ˘Ľ×ĽęĽąĄźĽˇĽçĽó¤ŹÄ󜥤š¤ëĽľĄźĽÓĽš¤Î¸şß¤Č¤˝¤Î°Ŕ¤ňČŻ¸Ť¤š¤ëźęĂʤňÄ󜥤ˇ¤Ţ¤šĄŁ
ĽľĄźĽÓĽš¤Î°Ŕ¤Ë¤ĎÄ󟨤ľ¤ě¤Ć¤¤¤ëĽľĄźĽÓĽš¤ÎĽżĽ¤Ľ×¤Ţ¤ż¤ĎĽŻĽéĽšĄ˘
¤Ş¤č¤ÓĄ˘ĽľĄźĽÓĽš¤ňÍřÍѤš¤ë¤Î¤ËÉŹÍפʝĹÁȤߤޤż¤ĎĽ×ĽíĽČĽłĽë¤ÎžđĘ󤏴ޤޤě¤Ţ¤šĄŁSDP ¤Ë¤Ď SDP ĽľĄźĽĐ¤Č SDP ĽŻĽéĽ¤Ľ˘ĽóĽČ´Ö¤ÎÄĚżŽ¤Ź´Ţ¤Ţ¤ě¤Ţ¤šĄŁ
SDP ĽľĄźĽĐ¤ĎĄ˘ĽľĄźĽĐ¤Ë´ŘϢ¤Ĺ¤ą¤é¤ě¤żĽľĄźĽÓĽš¤ÎĆĂŔ¤Ë¤Ä¤¤¤Ćľ˝Ň¤ˇ¤Ć¤¤¤ëĽľĄźĽÓĽšĽěĽłĄźĽÉ¤Î°ěÍ÷¤ň°Ýťý¤ˇ¤Ć¤¤¤Ţ¤šĄŁ
łĆĽľĄźĽÓĽšĽěĽłĄźĽÉ¤Ë¤Ď¤˝¤ě¤ž¤ě 1 ¤Ä¤ÎĽľĄźĽÓĽš¤ÎžđĘ󤏽ń¤Ť¤ě¤Ć¤¤¤Ţ¤šĄŁ
ĽŻĽéĽ¤Ľ˘ĽóĽČ¤Ď SDP ĽęĽŻĽ¨ĽšĽČ¤ň˝Đ¤š¤ł¤Č¤Ë¤č¤Ă¤ĆĄ˘
SDP ĽľĄźĽĐ¤Ź°Ýťý¤ˇ¤Ć¤¤¤ëĽľĄźĽÓĽšĽěĽłĄźĽÉ¤Ť¤éžđĘó¤ň¸Ąş÷¤Ç¤¤Ţ¤šĄŁ
ĽŻĽéĽ¤Ľ˘ĽóĽČ¤Ţ¤ż¤ĎĽŻĽéĽ¤Ľ˘ĽóĽČ¤Ë´ŘϢ¤Ĺ¤ą¤é¤ě¤żĽ˘Ľ×ĽęĽąĄźĽˇĽçĽó¤ŹĽľĄźĽÓĽš¤ňÍřÍѤš¤ë¤ł¤Č¤Ë¤ˇ¤ż¤éĄ˘
ĽľĄźĽÓĽš¤ňÍřÍѤš¤ë¤ż¤á¤Ë¤ĎĄ˘
ĽľĄźĽÓĽšĽ×ĽíĽĐĽ¤ĽŔ¤Ř¤ÎŔÜÂł¤ňĘĚĹÓłŤ¤Ť¤Ę¤ą¤ě¤Đ¤Ę¤ę¤Ţ¤ť¤óĄŁ
SDP ¤ĎĽľĄźĽÓĽš¤Č¤˝¤ě¤é¤Î°Ŕ¤ňČŻ¸Ť¤š¤ë¤ż¤á¤ÎťĹÁȤߤňÄ󜥤ˇ¤Ţ¤š¤ŹĄ˘
¤˝¤ÎĽľĄźĽÓĽš¤ňÍřÍѤš¤ë¤ż¤á¤ÎťĹÁȤߤĎÄ󜥤ˇ¤Ţ¤ť¤óĄŁÄĚžď SDP
ĽŻĽéĽ¤Ľ˘ĽóĽČ¤Ď´őËž¤š¤ëĽľĄźĽÓĽš¤ÎĆĂŔ¤Ë´đ¤Ĺ¤¤¤ĆĽľĄźĽÓĽš¤ň¸Ąş÷¤ˇ¤Ţ¤šĄŁ
¤ˇ¤Ť¤ˇ¤Ę¤Ź¤éĄ˘ĽľĄźĽÓĽš¤Ë´Ř¤š¤ëťöÁ°¤ÎžđĘó¤Ę¤ˇ¤ËĄ˘
¤É¤ÎĽżĽ¤Ľ×¤ÎĽľĄźĽÓĽš¤Ź SDP
ĽľĄźĽĐ¤ÎĽľĄźĽÓĽšĽěĽłĄźĽÉ¤Ëľ˝Ň¤ľ¤ě¤Ć¤¤¤ë¤ŤĂΤ뤳¤Č¤ŹËž¤Ţ¤ˇ¤¤¤ł¤Č¤Ź¤˘¤ę¤Ţ¤šĄŁ
¤ł¤ÎĄ˘Ä󜥤ľ¤ě¤Ć¤¤¤ëǤ°Ő¤ÎĽľĄźĽÓĽš¤ňąÜÍ÷¤š¤ëźę˝ç¤ňĄ˘
ĽÖĽéĽŚĽ¸ĽóĽ° (browsing) ¤Č¸Ć¤Ó¤Ţ¤šĄŁ¸˝şß¤Î¤Č¤ł¤í Bluetooth SDP ĽľĄźĽĐ¤Ş¤č¤ÓĽŻĽéĽ¤Ľ˘ĽóĽČ¤ĎĄ˘
¤ł¤ł
¤Ť¤éĽŔĽŚĽóĽíĄźĽÉ¤Ç¤¤ëÂčť°źÔĽŃĽĂĽąĄźĽ¸
sdp-1.5 ¤ÇźÂÁő¤ľ¤ě¤Ć¤¤¤Ţ¤šĄŁ
sdptool
¤ĎĽłĽŢĽóĽÉĽéĽ¤Ľó¤Î SDP ĽŻĽéĽ¤Ľ˘ĽóĽČ¤Ç¤šĄŁ
źĄ¤ÎÎă¤Ď SDP ĽÖĽéĽŚĽş¤ÎĚ䤤šç¤ď¤ťĘýËĄ¤ňꍤˇ¤Ć¤¤¤Ţ¤šĄŁ&prompt.root; sdptool browse 00:80:37:29:19:a4
Browsing 00:80:37:29:19:A4 ...
Service Name: Dial-up Networking
Protocol Descriptor List:
"L2CAP" (0x0100)
"RFCOMM" (0x0003)
Channel: 1
Service Name: Fax
Protocol Descriptor List:
"L2CAP" (0x0100)
"RFCOMM" (0x0003)
Channel: 2
Service Name: Voice gateway
Service Class ID List:
"Headset Audio Gateway" (0x1112)
"Generic Audio" (0x1203)
Protocol Descriptor List:
"L2CAP" (0x0100)
"RFCOMM" (0x0003)
Channel: 3
... ĹůĄšĄŁ
¤˝¤ě¤ž¤ě¤ÎĽľĄźĽÓĽš¤Ď°Ŕ¤Î°ěÍ÷ (¤ż¤Č¤¨¤Đ RFCOMM ĽÁĽăĽÍĽë)
¤ňťý¤Ă¤Ć¤¤¤ë¤ł¤Č¤ËĂí°Ő¤ˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁĽľĄźĽÓĽš¤Ë¤č¤Ă¤Ć¤ĎĄ˘
°Ŕ¤ÎĽęĽšĽČ¤Î°ěÉô¤Ë¤Ä¤¤¤ĆĽáĽâ¤ň¤Č¤Ă¤Ć¤Ş¤ŻÉŹÍפʤ˘¤ë¤Ť¤â¤ˇ¤ě¤Ţ¤ť¤óĄŁ
Bluetooth źÂÁő¤Î¤¤¤Ż¤Ä¤Ť¤ĎĄ˘ĽľĄźĽÓĽšĽÖĽéĽŚĽ¸ĽóĽ°¤ËÂĐąţ¤ˇ¤Ć¤Ş¤é¤şĄ˘
śő¤Î°ěÍ÷¤ňĘÖ¤ˇ¤Ć¤Ż¤ë¤Ť¤â¤ˇ¤ě¤Ţ¤ť¤óĄŁ¤ł¤ÎžěšçĄ˘
ĆĂÄę¤ÎĽľĄźĽÓĽš¤ň¸Ąş÷¤ň¤š¤ë¤ł¤Č¤Ď˛ÄÇ˝¤Ç¤šĄŁ˛źľ¤ÎÎă¤Ď
OBEX ĽŞĽÖĽ¸Ľ§ĽŻĽČĽ×ĽĂĽˇĽĺ (OPUSH)
ĽľĄźĽÓĽš¤ň¸Ąş÷¤š¤ëĘýËĄ¤Ç¤šĄŁ&prompt.root; sdptool search --bdaddr 00:07:e0:00:0b:ca OPUSH&os; žĺ¤Ë¤Ş¤ą¤ë Bluetooth ĽŻĽéĽ¤Ľ˘ĽóĽČ¤Ř¤ÎĽľĄźĽÓĽšÄ󜥤Ď
sdpd ĽľĄźĽĐ¤ŹšÔ¤¤¤Ţ¤šĄŁ&prompt.root; sdpdsdptool ¤ĎĄ˘ĽíĄźĽŤĽë
SDP ĽľĄźĽĐ¤ËĽľĄźĽÓĽš¤ňĹĐĎż¤š¤ë¤Î¤Ë¤âÍѤ¤¤é¤ě¤Ţ¤šĄŁ
˛źľ¤ÎÎă¤Ď PPP (LAN)
ĽľĄźĽÓĽš¤ňČ÷¤¨¤żĽÍĽĂĽČĽďĄźĽŻĽ˘ĽŻĽťĽš¤ňĹĐĎż¤š¤ëĘýËĄ¤ňꍤˇ¤Ć¤¤¤Ţ¤šĄŁ
°ěÉô¤ÎĽľĄźĽÓĽš¤Ç¤Ď°Ŕ (¤ż¤Č¤¨¤Đ RFCOMM ĽÁĽăĽÍĽë)
¤ňÍ׾ᤚ¤ë¤ł¤Č¤ËĂí°Ő¤ˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ&prompt.root; sdptool add --channel=7 LANĽíĄźĽŤĽë SDP ĽľĄźĽĐ¤ËĹĐĎż¤ľ¤ě¤żĽľĄźĽÓĽš¤Î°ěÍ÷¤Ď SDP
ĽÖĽéĽŚĽś¤ÎĚ䤤šç¤ď¤ť¤ň ĆĂĘĚ¤Ę BD_ADDR
¤ËÁ÷¤ë¤ł¤Č¤ÇĆŔ¤é¤ě¤Ţ¤šĄŁ&prompt.root; sdptool browse ff:ff:ff:00:00:00ĽŔĽ¤Ľ˘ĽëĽ˘ĽĂĽ×ĽÍĽĂĽČĽďĄźĽŻ (DUN) ¤Ş¤č¤Ó PPP (LAN)
¤ňÍѤ¤¤żĽÍĽĂĽČĽďĄźĽŻĽ˘ĽŻĽťĽšĽ×ĽíĽŐĽĄĽ¤ĽëĽŔĽ¤Ľ˘ĽëĽ˘ĽĂĽ×ĽÍĽĂĽČĽďĄźĽŻ (DUN) Ľ×ĽíĽŐĽĄĽ¤Ľë¤Ď¤Ű¤Č¤ó¤É¤ÎžěšçĄ˘
ĽâĽÇĽŕ¤äˇČÂÓĹĹĎäȤȤâ¤ËťČÍѤľ¤ě¤Ţ¤šĄŁ
¤ł¤ÎĽ×ĽíĽŐĽĄĽ¤Ľë¤ŹÂОݤȤš¤ëžěĚ̤ϰʲź¤Î¤â¤Î¤Ç¤šĄŁĽłĽóĽÔĽĺĄźĽż¤Ť¤éˇČÂÓĹĹĎäޤż¤ĎĽâĽÇĽŕ¤ňĄ˘
ĽŔĽ¤Ľ˘ĽëĽ˘ĽĂĽ×Ľ¤ĽóĽżĄźĽÍĽĂĽČĽ˘ĽŻĽťĽšĽľĄźĽĐ¤Ř¤ÎŔÜÂłĄ˘
¤Ţ¤ż¤Ďž¤ÎĽŔĽ¤Ľ˘ĽëĽ˘ĽĂĽ×ĽľĄźĽÓĽš¤ňÍřÍѤš¤ë¤ż¤á¤ÎĚľŔţĽâĽÇĽŕ¤Č¤ˇ¤ĆťČ¤Ś¤ł¤ČĽÇĄźĽż¸Ć¤Ó˝Đ¤ˇ¤ňźő¤ą¤ë¤ż¤á¤ÎĄ˘
ĽłĽóĽÔĽĺĄźĽż¤Ë¤č¤ëˇČÂÓĹĹĎäޤż¤ĎĽâĽÇĽŕ¤ÎťČÍŃPPP (LAN) ¤Ë¤č¤ëĽÍĽĂĽČĽďĄźĽŻĽ˘ĽŻĽťĽšĽ×ĽíĽŐĽĄĽ¤Ľë¤ĎĄ˘
źĄ¤Îžőśˇ¤ÇÍřÍѤǤ¤Ţ¤šĄŁĂą°ě¤Î Bluetooth ĽÇĽĐĽ¤Ľš¤Ř¤Î LAN Ľ˘ĽŻĽťĽš
ĽŢĽëĽÁ Bluetooth ĽÇĽĐĽ¤Ľš¤Ř¤Î LAN Ľ˘ĽŻĽťĽš
(ĽˇĽęĽ˘ĽëĽąĄźĽÖĽëĽ¨ĽßĽĺĽěĄźĽˇĽçĽóžĺ¤Î PPP
ĽÍĽĂĽČĽďĄźĽŻŔÜÂł¤ňťČÍѤˇ¤ż) PC ¤Ť¤é PC ¤Ř¤ÎŔÜÂł&os; ¤Ç¤Ď¤É¤Á¤é¤ÎĽ×ĽíĽŐĽĄĽ¤Ľë¤â &man.ppp.8; ¤Č
&man.rfcomm.pppd.8; (RFCOMM Bluetooth ŔÜÂł¤ň
PPP ¤ŹŔЏć˛ÄÇ˝¤Ę¤č¤Ś¤ËĘŃ´š¤š¤ëĽéĽĂĽŃ) ¤ÇźÂÁő¤ľ¤ě¤Ć¤¤¤Ţ¤šĄŁ
¤¤¤ş¤ě¤Ť¤ÎĽ×ĽíĽŐĽĄĽ¤Ľë¤ŹťČÍѲÄÇ˝¤Č¤Ę¤ëÁ°¤ËĄ˘
/etc/ppp/ppp.conf Ćâ¤Ëżˇ¤ˇ¤¤
PPP ĽéĽŮĽë¤ŹşîŔޤľ¤ě¤Ć¤¤¤Ę¤ą¤ě¤Đ¤Ę¤ę¤Ţ¤ť¤óĄŁ
Îă¤Ë¤Ä¤¤¤Ć¤ĎĄ˘ &man.rfcomm.pppd.8;
¤ÎĽŢĽËĽĺĽ˘ĽëĽÚĄźĽ¸¤ňť˛žČ¤ˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁźĄ¤ÎÎă¤Ç¤ĎĄ˘DUN RFCOMM ĽÁĽăĽÍĽëžĺ¤Ç
BD_ADDR ¤Ź 00:80:37:29:19:a4 ¤ÎĽęĽâĄźĽČĽÇĽĐĽ¤Ľš¤Ř¤Î RFCOMM
ŔÜÂł¤ňłŤ¤Ż¤Î¤Ë &man.rfcomm.pppd.8; ¤ŹťČ¤ď¤ě¤Ţ¤šĄŁźÂşÝ¤Î RFCOMM
ĽÁĽăĽÍĽëČÖšć¤Ď SDP ¤ň˛đ¤ˇ¤ĆĽęĽâĄźĽČĽÇĽĐĽ¤Ľš¤Ť¤éĆŔ¤Ţ¤šĄŁ
źęư¤Ç RFCOMM ĽÁĽăĽÍĽë¤ňťŘÄꤚ¤ë¤ł¤Č¤â¤Ç¤Ą˘¤˝¤Îžěšç
&man.rfcomm.pppd.8; ¤Ď SDP Ě䤤šç¤ď¤ť¤ňźÂšÔ¤ˇ¤Ţ¤ť¤óĄŁ
ĽęĽâĄźĽČĽÇĽĐĽ¤Ľšžĺ¤Î RFCOMM ĽÁĽăĽÍĽë¤ň¸Ť¤Ä¤ą¤ë¤Ë¤ĎĄ˘
sdptool ¤ňťČ¤Ă¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ&prompt.root; rfcomm_pppd -a 00:80:37:29:19:a4 -c -C dun -l rfcomm-dialupPPP (LAN) ĽľĄźĽÓĽš¤ÇĽÍĽĂĽČĽďĄźĽŻĽ˘ĽŻĽťĽš¤ňÄ󜥤š¤ë¤ż¤á¤Ë¤ĎĄ˘
sdpd ĽľĄźĽĐ¤ŹĆ°¤¤¤Ć¤¤¤Ę¤ą¤ě¤Đ¤Ę¤ę¤Ţ¤ť¤óĄŁ
¤ł¤ě¤ĎĽíĄźĽŤĽë SDP ĽľĄźĽĐ¤Ë LAN ĽľĄźĽÓĽš¤ňĹĐĎż¤š¤ë¤Î¤Ë¤âÉŹÍפǤšĄŁ
LAN ĽľĄźĽÓĽš¤Ď RFCOMM ĽÁĽăĽÍĽë°Ŕ¤ňÉŹÍפȤš¤ë¤ł¤Č¤ËĂí°Ő¤ˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ
/etc/ppp/ppp.conf ĽŐĽĄĽ¤ĽëĆâ¤Ë
LAN ĽŻĽéĽ¤Ľ˘ĽóĽČ¤Îżˇ¤ˇ¤¤Ľ¨ĽóĽČĽę¤ňşîŔޤˇ¤Ę¤ą¤ě¤Đ¤Ę¤ę¤Ţ¤ť¤óĄŁ
Îă¤Ë¤Ä¤¤¤Ć¤Ď &man.rfcomm.pppd.8; ¤ÎĽŢĽËĽĺĽ˘ĽëĽÚĄźĽ¸¤ňť˛žČ¤ˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ
şÇ¸ĺ¤ËĄ˘RFCOMM PPP ĽľĄźĽĐ¤ŹźÂšÔ¤ľ¤ěĄ˘
ĽíĄźĽŤĽë SDP ĽľĄźĽĐ¤ËĹĐĎż¤ľ¤ě¤Ć¤¤¤ë¤Î¤ČĆą¤¸
RFCOMM ĽÁĽăĽÍĽë¤ÇÂÔ¤Áźő¤ą¤Ć¤¤¤Ę¤ą¤ě¤Đ¤Ę¤ę¤Ţ¤ť¤óĄŁ
źĄ¤ÎÎă¤Ď RFCOMM PPP ĽľĄźĽĐ¤ňľŻĆ°¤š¤ëĘýËĄ¤ňꍤˇ¤Ć¤¤¤Ţ¤šĄŁ&prompt.root; rfcomm_pppd -s -C 7 -l rfcomm-serverOBEX Ľ×ĽĂĽˇĽĺ (OPUSH) Ľ×ĽíĽŐĽĄĽ¤ĽëOBEXOBEX ¤ĎĽâĽĐĽ¤ĽëĽÇĽĐĽ¤Ľš´Ö¤Çš¤ŻťČ¤ď¤ě¤Ć¤¤¤ëĂą˝ă¤ĘĽŐĽĄĽ¤ĽëĹžÁ÷Ľ×ĽíĽČĽłĽë¤Ç¤šĄŁ
¤ł¤ě¤Ďźç¤ËŔÖł°ŔţÄĚżŽ¤ÇÍřÍѤľ¤ě¤Ć¤Ş¤ęĄ˘ĽÎĄźĽČĽŃĽ˝ĽłĽó¤ä
PDA ´Ö¤ÎČĆÍŃĹŞ¤ĘĽŐĽĄĽ¤ĽëĹžÁ÷Ą˘¤Ş¤č¤Ó
PIM Ľ˘Ľ×ĽęĽąĄźĽˇĽçĽó¤ňĹëşÜ¤ˇ¤żˇČÂÓĹĹĎ佤Ξ¤ÎĽÇĽĐĽ¤Ľš´Ö¤ÇĚžťÉ¤äĽŤĽěĽóĽŔĄźĽ¨ĽóĽČĽę¤ňĹžÁ÷¤š¤ë¤Î¤ËÍѤ¤¤é¤ě¤Ţ¤šĄŁOBEX ĽľĄźĽĐ¤Ş¤č¤ÓĽŻĽéĽ¤Ľ˘ĽóĽČ¤ĎĄ˘
¤ł¤ł
¤Ť¤éĽŔĽŚĽóĽíĄźĽÉ¤Ç¤¤ë obexapp-1.0
¤Č¤¤¤ŚÂčť°źÔ¤ÎĽŃĽĂĽąĄźĽ¸¤Č¤ˇ¤ĆźÂÁő¤ľ¤ě¤Ć¤¤¤Ţ¤šĄŁ
¤ł¤ÎĽŃĽĂĽąĄźĽ¸¤Ď openobex ĽéĽ¤ĽÖĽéĽę
(žĺľ¤Î obexapp ¤Ë´Ţ¤Ţ¤ě¤Ţ¤š) ¤Ş¤č¤Ó
devel/glib12 port ¤ňÉŹÍפȤˇ¤Ţ¤šĄŁ
¤Ę¤ŞĄ˘obexapp
¤ĎĽëĄźĽČ¸˘¸Â¤ňÉŹÍפȤˇ¤Ţ¤ť¤óĄŁOBEX ĽŻĽéĽ¤Ľ˘ĽóĽČ¤Ď OBEX
ĽľĄźĽĐ¤Č¤Î´Ö¤ÇĽŞĽÖĽ¸Ľ§ĽŻĽČ¤ňĹϤˇ¤ż¤ę (Ľ×ĽĂĽˇĽĺ)
¤Ş¤č¤Óźő¤ąźč¤Ă¤ż¤ę (Ľ×Ľë) ¤š¤ë¤Î¤ËťČÍѤľ¤ě¤Ţ¤šĄŁ
ĽŞĽÖĽ¸Ľ§ĽŻĽČ¤ĎĄ˘¤ż¤Č¤¨¤ĐĚžťÉ¤äÍ˝Äę¤Ę¤É¤Ë¤Ę¤ę¤Ţ¤šĄŁ
OBEX ĽŻĽéĽ¤Ľ˘ĽóĽČ¤Ď RFCOMM ĽÁĽăĽÍĽëČÖšć¤ň
SDP ¤Ë¤č¤Ă¤ĆĽęĽâĄźĽČĽÇĽĐĽ¤Ľš¤Ť¤éĆŔ¤ë¤ł¤Č¤Ź¤Ç¤¤Ţ¤šĄŁ
¤ł¤ě¤Ď RFCOMM ĽÁĽăĽÍĽëČÖšć¤ÎÂĺ¤ď¤ę¤ËĽľĄźĽÓĽšĚž¤ňťŘÄꤚ¤ë¤ł¤Č¤Ë¤č¤Ă¤ĆšÔ¤Ś¤ł¤Č¤Ź¤Ç¤¤Ţ¤šĄŁ
ÂĐąţ¤ˇ¤Ć¤¤¤ëĽľĄźĽÓĽšĚž¤Ď IrMC, FTRN ¤Ş¤č¤Ó OPUSH ¤Ç¤šĄŁ
RFCOMM ĽÁĽăĽÍĽë¤ňČÖšć¤ÇťŘÄꤚ¤ë¤ł¤Č¤â¤Ç¤¤Ţ¤šĄŁ
˛źľ¤ĎĄ˘ĽÇĽĐĽ¤ĽšžđĘóĽŞĽÖĽ¸Ľ§ĽŻĽČ¤ňˇČÂÓĹĹĎ䍤éźő¤ąźč¤ęĄ˘
żˇ¤ˇ¤¤ĽŞĽÖĽ¸Ľ§ĽŻĽČ (ĚžťÉ) ¤ŹˇČÂÓĹĹĎäËĹϤľ¤ě¤ëžěšç¤Î
OBEX ĽťĽĂĽˇĽçĽó¤ÎÎă¤Ç¤šĄŁ&prompt.user; obexapp -a 00:80:37:29:19:a4 -C IrMC
obex> get
get: remote file> telecom/devinfo.txt
get: local file> devinfo-t39.txt
Success, response: OK, Success (0x20)
obex> put
put: local file> new.vcf
put: remote file> new.vcf
Success, response: OK, Success (0x20)
obex> di
Success, response: OK, Success (0x20)OBEX Ľ×ĽĂĽˇĽĺĽľĄźĽÓĽš¤ňÄ󜥤š¤ë¤ż¤á¤Ë¤ĎĄ˘
sdpd
ĽľĄźĽĐ¤ŹźÂšÔ¤ľ¤ě¤Ć¤¤¤Ę¤ą¤ě¤Đ¤Ę¤ę¤Ţ¤ť¤óĄŁ
¤Ţ¤ż OPUSH ĽľĄźĽÓĽš¤ňĽíĄźĽŤĽë SDP ĽľĄźĽĐ¤ËĹĐĎż¤š¤ë¤ł¤Č¤âÉŹÍפǤšĄŁ
¤Ę¤ŞĄ˘OPUSH ĽľĄźĽÓĽš¤Ë¤Ď RFCOMM ĽÁĽăĽÍĽë°Ŕ¤ŹÉŹÍפǤšĄŁ
ĹϤľ¤ě¤ëĽŞĽÖĽ¸Ľ§ĽŻĽČ¤ň¤š¤Ů¤ĆłĘÇź¤š¤ëĽëĄźĽČĽŐĽŠĽëĽŔ¤ňşîŔޤˇ¤Ę¤ą¤ě¤Đ¤¤¤ą¤Ţ¤ť¤óĄŁ
ĽëĄźĽČĽŐĽŠĽëĽŔ¤ÎĽÇĽŐĽŠĽëĽČĽŃĽš¤Ď
/var/spool/obex ¤Ç¤šĄŁ
şÇ¸ĺ¤Ë OBEX ĽľĄźĽĐ¤ŹźÂšÔ¤ľ¤ěĄ˘
ĽíĄźĽŤĽë SDP ĽľĄźĽĐ¤ËĹĐĎż¤ľ¤ě¤Ć¤¤¤ë¤Î¤ČĆą¤¸
RFCOMM ĽÁĽăĽÍĽë¤ÇÂÔ¤Áźő¤ą¤Ć¤¤¤Ę¤ą¤ě¤Đ¤Ę¤ę¤Ţ¤ť¤óĄŁ
˛źľ¤ÎÎă¤Ď OBEX ĽľĄźĽĐ¤ÎľŻĆ°ĘýËĄ¤ňꍤˇ¤Ţ¤šĄŁ&prompt.root; obexapp -s -C 10ĽˇĽęĽ˘ĽëĽÝĄźĽČ (SP) Ľ×ĽíĽŐĽĄĽ¤ĽëĽˇĽęĽ˘ĽëĽÝĄźĽČ (SP) Ľ×ĽíĽŐĽĄĽ¤Ľë¤Ď Bluetooth ĽÇĽĐĽ¤Ľš¤Ź RS232
(¤Ţ¤ż¤ĎĆąÍͤÎ) ĽˇĽęĽ˘ĽëĽąĄźĽÖĽëĽ¨ĽßĽĺĽěĄźĽˇĽçĽó¤ňšÔ¤¨¤ë¤č¤Ś¤Ë¤ˇ¤Ţ¤šĄŁ
¤ł¤ÎĽ×ĽíĽŐĽĄĽ¤Ľë¤ŹÂОݤȤš¤ëžěĚ̤ϥ˘
ĽěĽŹĽˇĄźĽ˘Ľ×ĽęĽąĄźĽˇĽçĽó¤ŹĄ˘˛žÁŰĽˇĽęĽ˘ĽëĽÝĄźĽČĂęžÝ¤ň˛đ¤ˇ¤Ć
Bluetooth ¤ňĽąĄźĽÖĽë¤ÎÂĺÂŘÉʤȤˇ¤ĆťČ¤Ś¤Č¤ł¤í¤Ç¤šĄŁ&man.rfcomm.sppd.1;
ĽćĄźĽĆĽŁĽęĽĆĽŁ¤ĎĽˇĽęĽ˘ĽëĽÝĄźĽČĽ×ĽíĽŐĽĄĽ¤Ľë¤ňźÂÁő¤ˇ¤Ţ¤šĄŁ
Pseudo tty ¤Ź˛žÁŰĽˇĽęĽ˘ĽëĽÝĄźĽČĂęžÝłľÇ°¤Č¤ˇ¤ĆÍѤ¤¤é¤ě¤Ţ¤šĄŁ
˛źľ¤ÎÎă¤ĎĽęĽâĄźĽČĽÇĽĐĽ¤Ľš¤ÎĽˇĽęĽ˘ĽëĽÝĄźĽČĽľĄźĽÓĽš¤ŘŔÜÂł¤š¤ëĘýËĄ¤ňꍤˇ¤Ţ¤šĄŁ
¤Ę¤ŞĄ˘RFCOMM ĽÁĽăĽÍĽë¤ňťŘÄꤚ¤ëÉŹÍפϤ˘¤ę¤Ţ¤ť¤óĄŁ—
&man.rfcomm.sppd.1; ¤Ď
SDP ¤ň˛đ¤ˇ¤ĆĽęĽâĄźĽČĽÇĽĐĽ¤Ľš¤Ť¤é¤˝¤ÎžđĘó¤ňĆŔ¤ë¤ł¤Č¤Ź¤Ç¤¤Ţ¤šĄŁ
¤ł¤ě¤ňžĺ˝ń¤¤ˇ¤ż¤¤žěšç¤Ë¤ĎĽłĽŢĽóĽÉĽéĽ¤Ľó¤Ç
RFCOMM ĽÁĽăĽÍĽë¤ňťŘÄꤡ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ&prompt.root; rfcomm_sppd -a 00:07:E0:00:0B:CA -t /dev/ttyp6
rfcomm_sppd[94692]: Starting on /dev/ttyp6...ŔÜÂł¤ľ¤ě¤ż pseudo tty ¤ĎĽˇĽęĽ˘ĽëĽÝĄźĽČ¤Č¤ˇ¤ĆÍřÍѤš¤ë¤ł¤Č¤Ź¤Ç¤¤Ţ¤šĄŁ&prompt.root; cu -l ttyp6ĽČĽéĽÖĽëĽˇĽĺĄźĽĆĽŁĽóĽ°ĽęĽâĄźĽČĽÇĽĐĽ¤Ľš¤ŹŔÜÂł¤Ç¤¤Ţ¤ť¤ó¸Ĺ¤¤ Bluetooth
ĽÇĽĐĽ¤Ľš¤Î¤Ę¤Ť¤Ë¤ĎĽíĄźĽëĽšĽ¤ĽĂĽÁĽóĽ° (role switching)
¤ËÂĐąţ¤ˇ¤Ć¤¤¤Ę¤¤¤â¤Î¤Ź¤˘¤ę¤Ţ¤šĄŁ
ĽÇĽŐĽŠĽëĽČ¤Ç¤Ď &os; ¤Źżˇ¤ˇ¤¤ŔÜÂł¤ňźő¤ąÉŐ¤ą¤ë¤Č¤¤ËĄ˘
ĽíĄźĽëĽšĽ¤ĽĂĽÁ¤ňźÂšÔ¤ˇ¤ĆĽŢĽšĽż¤Ë¤Ę¤í¤Ś¤Č¤ˇ¤Ţ¤šĄŁ
¤ł¤ě¤ËÂĐąţ¤ˇ¤Ć¤¤¤Ę¤¤ĽÇĽĐĽ¤Ľš¤ĎŔÜÂł¤Ç¤¤Ę¤¤¤Ç¤ˇ¤ç¤ŚĄŁ
¤Ę¤ŞĄ˘ĽíĄźĽëĽšĽ¤ĽĂĽÁĽóĽ°¤Ďżˇ¤ˇ¤¤ŔÜÂł¤ŹłÎΊ¤ľ¤ě¤ë¤Č¤¤ËźÂšÔ¤ľ¤ě¤ë¤Î¤ÇĄ˘
ĽíĄźĽëĽšĽ¤ĽĂĽÁĽóĽ°¤ËÂĐąţ¤ˇ¤Ć¤¤¤ë¤Ť¤É¤Ś¤ŤĽęĽâĄźĽČĽÇĽĐĽ¤Ľš¤ËĚ䤤šç¤ď¤ť¤ë¤ł¤Č¤Ď¤Ç¤¤Ţ¤ť¤óĄŁ
ĽíĄźĽŤĽëÂŚ¤ÇĽíĄźĽëĽšĽ¤ĽĂĽÁĽóĽ°¤ňĚľ¸ú¤Ë¤š¤ë
HCI ĽŞĽ×ĽˇĽçĽó¤Ź¤˘¤ę¤Ţ¤šĄŁ&prompt.root; hccontrol -n ubt0hci write_node_role_switch 0˛ż¤Ť¤Ź¤Ś¤Ţ¤Ż¤¤¤Ă¤Ć¤¤¤Ę¤¤¤ß¤ż¤¤¤Ç¤šĄŁ
˛ż¤ŹźÂşÝ¤ËľŻ¤ł¤Ă¤Ć¤¤¤ë¤ŤłÎǧ¤Ç¤¤Ţ¤š¤Ť?¤Ç¤¤Ţ¤šĄŁ
¤ł¤ł
¤Ť¤éĽŔĽŚĽóĽíĄźĽÉ¤Ç¤¤ëÂčť°źÔĽŃĽĂĽąĄźĽ¸
hcidump-1.5 ¤ňťČ¤Ă¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ
hcidump ĽćĄźĽĆĽŁĽęĽĆĽŁ¤Ď
&man.tcpdump.1; ¤Čť÷¤Ć¤¤¤Ţ¤šĄŁ
¤ł¤ě¤ĎĽżĄźĽßĽĘĽëžĺ¤Î Bluetooth ĽŃĽąĽĂĽČ¤ÎĆâÍƤÎÉ˝ź¨¤Ş¤č¤Ó
Bluetooth ĽŃĽąĽĂĽČ¤ňĽŐĽĄĽ¤Ľë¤ËĽŔĽóĽ×¤š¤ë¤Î¤ËťČ¤¨¤Ţ¤šĄŁStevePeterson¸śşî: ĽÖĽęĽĂĽ¸¤Ď¤¸¤á¤ËIP ĽľĽÖĽÍĽĂĽČĽÖĽęĽĂĽ¸IP ĽľĽÖĽÍĽĂĽČ¤ňşîŔޤˇ¤ĆĄ˘
¤˝¤ě¤é¤ÎĽťĽ°ĽáĽóĽČ¤ňĽëĄźĽż¤ňťČ¤Ă¤ĆŔÜÂł¤š¤ë¤ł¤Č¤Ę¤ˇ¤ËĄ˘
(Ethernet ĽťĽ°ĽáĽóĽČ¤Î¤č¤Ś¤Ę)
°ě¤Ä¤ÎĘŞÍýĽÍĽĂĽČĽďĄźĽŻ¤ňĆó¤Ä¤ÎĽÍĽĂĽČĽďĄźĽŻĽťĽ°ĽáĽóĽČ¤ËĘŹłä¤š¤ë¤ł¤Č¤Ď¤Č¤Ć¤â͸ú¤Ęžěšç¤Ź¤˘¤ę¤Ţ¤šĄŁ
¤ł¤ÎĘýËĄ¤ÇĆó¤Ä¤ÎĽÍĽĂĽČĽďĄźĽŻ¤ňˇŇ¤°ĽÇĽĐĽ¤Ľš¤Ď
ĽÖĽęĽĂĽ¸ ¤Č¸Ć¤Đ¤ě¤Ţ¤šĄŁ
Ćó¤Ä¤ÎĽÍĽĂĽČĽďĄźĽŻĽ¤ĽóĽżĽŐĽ§ĄźĽšĽŤĄźĽÉ¤ňťý¤Ä FreeBSD
ĽˇĽšĽĆĽŕ¤ĎĄ˘ĽÖĽęĽĂĽ¸¤Č¤ˇ¤Ćưşî¤š¤ë¤ł¤Č¤Ź¤Ç¤¤Ţ¤šĄŁĽÖĽęĽĂĽ¸¤ĎĄ˘łĆĽÍĽĂĽČĽďĄźĽŻĽ¤ĽóĽżĽŐĽ§Ľ¤Ľš¤ËˇŇ¤Ź¤ëĽÇĽĐĽ¤Ľš¤Î
MAC Áؤμ˘ĽÉĽěĽš (Ethernet Ľ˘ĽÉĽěĽš) ¤ňľ˛ą¤š¤ë¤ł¤Č¤Ë¤č¤ęưşî¤ˇ¤Ţ¤šĄŁ
ĽÖĽęĽĂĽ¸¤ĎĽČĽéĽŐĽŁĽĂĽŻ¤ÎÁ÷żŽ¸ľ¤ČźőżŽŔ褏°Ű¤Ę¤Ă¤żĽÍĽĂĽČĽďĄźĽŻžĺ¤Ë¤˘¤ëžěšç¤Ë¤Î¤ßĽČĽéĽŐĽŁĽĂĽŻ¤ňĹžÁ÷¤ˇ¤Ţ¤šĄŁÂż¤Ż¤ÎĹŔ¤ÇĄ˘ĽÖĽęĽĂĽ¸¤ĎĽÝĄźĽČżô¤ÎžŻ¤Ę¤¤ Ethernet
ĽšĽ¤ĽĂĽÁ¤Î¤č¤Ś¤Ę¤â¤Î¤Č¤¤¤¨¤Ţ¤šĄŁĽÖĽęĽĂĽ¸¤Ź¤Ő¤ľ¤ď¤ˇ¤¤žőśˇşŁĆüĽÖĽęĽĂĽ¸¤ŹłčĚö¤š¤ëžěĚ̤ĎÂ礤ŻĘʤą¤ĆĆó¤Ä¤˘¤ę¤Ţ¤šĄŁĽČĽéĽŐĽŁĽĂĽŻ¤Îˇă¤ˇ¤¤ĽťĽ°ĽáĽóĽČ¤Ň¤Č¤Ä¤ĎĄ˘
ĘŞÍýĽÍĽĂĽČĽďĄźĽŻĽťĽ°ĽáĽóĽČ¤ŹĽČĽéĽŐĽŁĽĂĽŻ˛ážę¤Ë¤Ę¤Ă¤Ć¤¤¤ë¤ŹĄ˘
¤Ę¤ó¤é¤Ť¤ÎÍýÍł¤Ë¤č¤ęĽÍĽĂĽČĽďĄźĽŻ¤ňĽľĽÖĽÍĽĂĽČ¤ËĘŹ¤ąĄ˘
ĽëĄźĽż¤ÇŔÜÂł¤š¤ë¤ł¤Č¤Ź¤Ç¤¤Ę¤¤žěšç¤Ç¤šĄŁĘÔ˝¸ÉôĚç¤ČŔ˝şîÉôĚ礏¤Ş¤Ę¤¸ĽľĽÖĽÍĽĂĽČ¤ËĆąľď¤ˇ¤Ć¤¤¤ëżˇĘšźŇ¤ňÎă¤ËšÍ¤¨¤Ć¤ß¤Ţ¤ˇ¤ç¤ŚĄŁ
ĘÔ˝¸ÉôĚç¤ÎĽćĄźĽś¤ĎĽŐĽĄĽ¤ĽëĽľĄźĽĐ¤Č¤ˇ¤ĆÁ´°÷ĽľĄźĽĐ
A ¤ňÍřÍѤˇĄ˘
Ŕ˝şîÉôĚç¤ÎĽćĄźĽś¤ĎĽľĄźĽĐ B ¤ňÍřÍѤˇ¤Ţ¤šĄŁ
¤š¤Ů¤Ć¤ÎĽćĄźĽś¤ňŔÜÂł¤š¤ë¤Î¤Ë¤Ď Ethernet ¤ŹťČ¤ď¤ě¤Ć¤Ş¤ęĄ˘
šâÉé˛Ů¤Č¤Ę¤Ă¤żĽÍĽĂĽČĽďĄźĽŻ¤ĎĂŮ¤Ż¤Ę¤Ă¤Ć¤ˇ¤Ţ¤¤¤Ţ¤šĄŁ¤â¤ˇĘÔ˝¸ÉôĚç¤ÎĽćĄźĽś¤ň°ě¤Ä¤ÎĽÍĽĂĽČĽďĄźĽŻĽťĽ°ĽáĽóĽČ¤ËĘŹÎĽ¤š¤ë¤ł¤Č¤Ź¤Ç¤Ą˘
Ŕ˝şîÉôĚç¤ÎĽćĄźĽś¤âĆąÍͤˤǤ¤ë¤Î¤Ę¤éĄ˘
Ćó¤Ä¤ÎĽÍĽĂĽČĽďĄźĽŻĽťĽ°ĽáĽóĽČ¤ňĽÖĽęĽĂĽ¸¤ÇˇŇ¤°¤ł¤Č¤Ź¤Ç¤¤Ţ¤šĄŁ
ĽÖĽęĽĂĽ¸¤Î ČżÂĐ
ÂŚ¤Ř¸ţ¤Ť¤ŚĽÍĽĂĽČĽďĄźĽŻĽČĽéĽŐĽŁĽĂĽŻ¤Ŕ¤ą¤ŹĹžÁ÷¤ľ¤ěĄ˘
łĆĽÍĽĂĽČĽďĄźĽŻĽťĽ°ĽáĽóĽČ¤ÎşŽť¨¤Ď´ËϤľ¤ě¤Ţ¤šĄŁĽŃĽąĽĂĽČĽŐĽŁĽëĽż/ÂÓ°čŔЏćÍŃĽŐĽĄĽ¤Ľ˘ĽŚĽŠĄźĽëĽŐĽĄĽ¤Ľ˘ĽŚĽŠĄźĽëĽÍĽĂĽČĽďĄźĽŻĽ˘ĽÉĽěĽšĘŃ´š (NAT)¤â¤Ś¤Ň¤Č¤Ä¤ĎĽÍĽĂĽČĽďĄźĽŻĽ˘ĽÉĽěĽšĘŃ´š (NAT)
¤ňťČ¤ď¤ş¤ËĽŐĽĄĽ¤Ľ˘ĽŚĽŠĄźĽëľĄÇ˝¤ňÍřÍѤˇ¤ż¤¤žěšç¤Ç¤šĄŁ¤ł¤ł¤Ç¤Ď DSL ¤â¤ˇ¤Ż¤Ď ISDN ¤Ç
ISP ¤ËŔÜÂł¤ˇ¤Ć¤¤¤ëžŽ¤ľ¤Ę˛ńźŇ¤ňÎă¤Ë¤Č¤Ă¤Ć¤ß¤Ţ¤ˇ¤ç¤ŚĄŁ
¤ł¤Î˛ńźŇ¤Ď ISP ¤Ť¤éĽ°ĽíĄźĽĐĽë IP Ľ˘ĽÉĽěĽš¤ň
13 ¸Äłä¤ęĹö¤Ć¤é¤ě¤Ć¤Ş¤ęĄ˘ĽÍĽĂĽČĽďĄźĽŻžĺ¤Ë¤Ď 10 Âć¤Î PC ¤ŹÂ¸şß¤ˇ¤Ţ¤šĄŁ
¤ł¤Î¤č¤Ś¤Ęžőśˇ¤Ç¤ĎĄ˘ĽľĽÖĽÍĽĂĽČ˛˝¤Ë¤Ţ¤Ä¤ď¤ëĚäÂꤍ¤éĄ˘
ĽëĄźĽż¤ňÍѤ¤¤żĽŐĽĄĽ¤Ľ˘ĽŚĽŠĄźĽë¤ňÍřÍѤš¤ë¤ł¤Č¤Ďş¤Ćń¤Ç¤šĄŁĽëĄźĽżDSLISDNĽÖĽęĽĂĽ¸¤ňÍѤ¤¤żĽŐĽĄĽ¤Ľ˘ĽŚĽŠĄźĽë¤Ę¤éĄ˘
IP Ľ˘ĽÉĽěĽš¤ÎĚäÂę¤ňľ¤¤Ë¤š¤ë¤ł¤ČĚľ¤ŻĄ˘
DSL/ISDN ĽëĄźĽż¤Î˛źÎŽÂڤËĂÖ¤Ż¤č¤Ś¤ËŔßÄę¤Ç¤¤Ţ¤šĄŁĽÖĽęĽĂĽ¸¤ňŔßÄꤚ¤ëĽÍĽĂĽČĽďĄźĽŻĽ¤ĽóĽżĽŐĽ§ĄźĽšĽŤĄźĽÉ¤ÎÁŞÂňĽÖĽęĽĂĽ¸¤ňÍřÍѤš¤ë¤Ë¤ĎžŻ¤Ę¤Ż¤Č¤â
2 Ëç¤ÎĽÍĽĂĽČĽďĄźĽŻĽŤĄźĽÉ¤ŹÉŹÍפǤšĄŁ
ťÄǰ¤Ę¤ł¤Č¤Ë FreeBSD 4.0
¤Ç¤Ď¤š¤Ů¤Ć¤ÎĽÍĽĂĽČĽďĄźĽŻĽ¤ĽóĽżĽŐĽ§ĄźĽšĽŤĄźĽÉ¤ŹĽÖĽęĽĂĽ¸ľĄÇ˝¤ËÂĐąţ¤ˇ¤Ć¤¤¤ë¤ď¤ą¤Ç¤Ď¤˘¤ę¤Ţ¤ť¤óĄŁ
ĽŤĄźĽÉ¤ËÂĐąţ¤ˇ¤Ć¤¤¤ë¤Ť¤É¤Ś¤Ť¤Ë¤Ä¤¤¤Ć¤Ď &man.bridge.4;
¤ňť˛žČ¤ˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ°Ę˛ź¤ËżĘ¤ŕÁ°¤ËĄ˘
ĆóËç¤ÎĽÍĽĂĽČĽďĄźĽŻĽŤĄźĽÉ¤ňĽ¤ĽóĽšĽČĄźĽë¤ˇ¤ĆĽĆĽšĽČ¤ˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁĽŤĄźĽÍĽëĽłĽóĽŐĽŁĽ°ĽěĄźĽˇĽçĽó¤ÎĘŃššĽŤĄźĽÍĽëĽŞĽ×ĽˇĽçĽóoptions BRIDGEĽŤĄźĽÍĽë¤ÇĽÖĽęĽĂĽ¸ľĄÇ˝¤ň͸ú¤Ë¤š¤ë¤Ë¤Ďoptions BRIDGE¤Č¤¤¤ŚšÔ¤ňĽŤĄźĽÍĽëĽłĽóĽŐĽŁĽ°ĽěĄźĽˇĽçĽóĽŐĽĄĽ¤Ľë¤ËÄɲ䡤Ć
ĽŤĄźĽÍĽë¤ňşĆš˝Ăۤˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁĽŐĽĄĽ¤Ľ˘ĽŚĽŠĄźĽëÂĐąţĽŐĽĄĽ¤Ľ˘ĽŚĽŠĄźĽëĽŐĽĄĽ¤Ľ˘ĽŚĽŠĄźĽë¤Č¤ˇ¤ĆĽÖĽęĽĂĽ¸¤ňÍřÍѤˇ¤č¤Ś¤Č¤ˇ¤Ć¤¤¤ëžěšç¤Ë¤Ď
IPFIREWALL ĽŞĽ×ĽˇĽçĽó¤âťŘÄꤚ¤ëÉŹÍפʤ˘¤ę¤Ţ¤šĄŁ
ĽÖĽęĽĂĽ¸¤ňĽŐĽĄĽ¤Ľ˘ĽŚĽŠĄźĽë¤Č¤ˇ¤ĆŔßÄꤚ¤ëşÝ¤Î°ěČĚĹŞ¤ĘžđĘó¤Ë´Ř¤ˇ¤Ć¤ĎĄ˘
¤ňť˛žČ¤ˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁIP °Ęł°¤ÎĽŃĽąĽĂĽČ (ARP ¤Ę¤É)
¤ŹĽÖĽęĽĂĽ¸¤ňÄ̲ᤚ¤ë¤č¤Ś¤Ë¤š¤ë¤ż¤á¤Ë¤ĎĄ˘
ĽŐĽĄĽ¤Ľ˘ĽŚĽŠĄźĽëÍŃĽŞĽ×ĽˇĽçĽó¤ňŔßÄꤡ¤Ę¤ą¤ě¤Đ¤Ę¤ę¤Ţ¤ť¤óĄŁ
¤ł¤ÎĽŞĽ×ĽˇĽçĽó¤Ď IPFIREWALL_DEFAULT_TO_ACCEPT
¤Ç¤šĄŁ¤ł¤ÎĘŃšš¤Ë¤č¤ęĄ˘
ĽÇĽŐĽŠĽëĽČ¤Ç¤ĎĽŐĽĄĽ¤Ľ˘ĽŚĽŠĄźĽë¤Ź¤š¤Ů¤Ć¤ÎĽŃĽąĽĂĽČ¤ňźő¤ąĆţ¤ě¤ë¤č¤Ś¤Ë¤Ę¤ë¤ł¤Č¤ËĂí°Ő¤ˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ
¤ł¤ÎŔßÄę¤ňšÔ¤ŚÁ°¤ËĄ˘
¤ł¤ÎĘŃšš¤ŹźŤĘŹ¤ÎĽëĄźĽëĽťĽĂĽČ¤Ë¤É¤Î¤č¤Ś¤ĘąĆśÁ¤ň¤Ş¤č¤Ü¤š¤Ť¤ňÇİޤˇ¤Ć¤Ş¤Ť¤Ę¤ą¤ě¤Đ¤Ę¤ę¤Ţ¤ť¤óĄŁÂÓ°čŔŠ¸ćľĄÇ˝ĽÖĽęĽĂĽ¸¤ÇÂÓ°čŔŠ¸ćľĄÇ˝¤ňÍřÍѤˇ¤ż¤¤žěšçĄ˘
ĽŤĄźĽÍĽëĽłĽóĽŐĽŁĽ°ĽěĄźĽˇĽçĽó¤Ç DUMMYNET
ĽŞĽ×ĽˇĽçĽó¤ň˛Ă¤¨¤ëÉŹÍפʤ˘¤ę¤Ţ¤šĄŁ
žÜ¤ˇ¤¤žđĘó¤Ë´Ř¤ˇ¤Ć¤Ď &man.dummynet.4; ¤ňť˛žČ¤ˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁĽÖĽęĽĂĽ¸¤ň͸ú¤Ë¤š¤ëĽÖĽęĽĂĽ¸¤ň͸ú¤Ë¤š¤ë¤Ë¤ĎĄ˘
/etc/sysctl.conf ¤Ë°Ę˛ź¤ÎšÔ¤ň˛Ă¤¨¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ
net.link.ether.bridge=1ťŘÄꤡ¤żĽ¤ĽóĽżĽŐĽ§ĄźĽš¤ÇĽÖĽęĽĂĽ¸¤ň˛ÄÇ˝¤Ë¤š¤ë¤Ë¤Ď°Ę˛ź¤ň˛Ă¤¨¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁnet.link.ether.bridge_cfg=if1,if2(if1 ¤Ş¤č¤Ó
if2
¤ĎĆó¤Ä¤ÎĽÍĽĂĽČĽďĄźĽŻĽ¤ĽóĽżĽŐĽ§ĄźĽš¤ÎĚžÁ°¤ËĂÖ¤´š¤¨¤Ć¤Ż¤Ŕ¤ľ¤¤)ĄŁ
ĽÖĽęĽĂĽ¸¤ňˇĐÍł¤ˇ¤żĽŃĽąĽĂĽČ¤ň &man.ipfw.8; ¤ÇĽŐĽŁĽëĽż¤ˇ¤ż¤¤žěšç¤Ë¤ĎĄ˘
°Ę˛ź¤ÎšÔ¤âÉŐ¤ą˛Ă¤¨¤ëÉŹÍפʤ˘¤ę¤Ţ¤šnet.link.ether.bridge_ipfw=1&os; 5.2-RELEASE
°Ęšß¤Ç¤ĎĄ˘¤Ť¤ď¤ę¤Ë°Ę˛ź¤ÎšÔ¤ňťČÍѤˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁnet.link.ether.bridge.enable=1
net.link.ether.bridge.config=if1,if2
net.link.ether.bridge.ipfw=1¤˝¤Îž¤ÎžđĘóĽÍĽĂĽČĽďĄźĽŻ¤Ť¤éĽÖĽęĽĂĽ¸¤Ë &man.telnet.1; ¤ˇ¤ż¤¤žěšçĄ˘
ĽÍĽĂĽČĽďĄźĽŻĽŤĄźĽÉ¤Î°ě¤Ä¤Ë IP Ľ˘ĽÉĽěĽš¤ňłä¤ęĹö¤Ć¤ë¤Î¤ŹŔľ¤ˇ¤¤¤Ç¤šĄŁ
°ěČĚĹŞ¤ËĄ˘ÎžĘý¤ÎĽŤĄźĽÉ¤Ë
IP Ľ˘ĽÉĽěĽš¤ňłä¤ęĹö¤Ć¤ë¤Î¤Ď¤č¤¤šÍ¤¨¤Ç¤Ď¤Ę¤¤¤Č¤ľ¤ě¤Ć¤¤¤Ţ¤šĄŁĽÍĽĂĽČĽďĄźĽŻĆâ¤ËĘŁżô¤ÎĽÖĽęĽĂĽ¸¤ňŔßĂÖ¤š¤ëžěšçĄ˘
Ǥ°Ő¤ÎĽďĄźĽŻĽšĽĆĄźĽˇĽçĽó´Ö¤Ç°ě¤Ä°Ęžĺ¤ÎˇĐĎŠ¤ňťý¤Ä¤ł¤Č¤Ď¤Ç¤¤Ţ¤ť¤óĄŁ
ľť˝ŃĹŞ¤Ë¤ĎĄ˘
¤ł¤ě¤ĎĽšĽŃĽËĽóĽ°ĽÄĽęĄź¤ÎĽęĽóĽŻŔЏć¤ĎĽľĽÝĄźĽČ¤ľ¤ě¤Ć¤¤¤Ę¤¤Ą˘
¤Č¤¤¤Ś¤ł¤Č¤ň°ŐĚŁ¤ˇ¤Ţ¤šĄŁĽÖĽęĽĂĽ¸¤ĎĄ˘&man.ping.8;
¤Ë¤Ť¤Ť¤ëťţ´Ö¤ňĂ٤餝¤ë¤ł¤Č¤Ź¤˘¤ę¤Ţ¤šĄŁĆä˥˘
°ěĘý¤ÎĽťĽ°ĽáĽóĽČ¤Ť¤é¤â¤Ś°ěĘý¤Ř¤ÎĽČĽéĽŐĽŁĽĂĽŻ¤Ç¤˝¤Ś¤Ę¤ę¤Ţ¤šĄŁTomRhodesÄÉľ¤ČşĆĘÔŔŽ: BillSwingle¸śşî: NFSNFSFreeBSD ¤ŹĽľĽÝĄźĽČ¤ˇ¤Ć¤¤¤ëÂż¤Ż¤ÎĽŐĽĄĽ¤ĽëĽˇĽšĽĆĽŕ¤ÎĂć¤Ë¤ĎĄ˘
NFS
¤Č¤â¸Ć¤Đ¤ě¤Ć¤¤¤ëĽÍĽĂĽČĽďĄźĽŻĽŐĽĄĽ¤ĽëĽˇĽšĽĆĽŕ¤Ź¤˘¤ę¤Ţ¤šĄŁ
NFS ¤Ď¤˘¤ëĽŢĽˇĽó¤Ť¤éž¤ÎĽŢĽˇĽó¤Ř¤ČĄ˘
ĽÍĽĂĽČĽďĄźĽŻ¤ňÄ̤¸¤ĆĽÇĽŁĽěĽŻĽČĽę¤ČĽŐĽĄĽ¤Ľë¤ňśŚÍ¤š¤ë¤ł¤Č¤ň˛ÄÇ˝¤Ë¤ˇ¤Ţ¤šĄŁ
NFS ¤ňťČ¤Ś¤ł¤Č¤ÇĄ˘
ĽćĄźĽś¤äĽ×ĽíĽ°ĽéĽŕ¤ĎĽęĽâĄźĽČĽˇĽšĽĆĽŕ¤ÎĽŐĽĄĽ¤Ľë¤ňĄ˘
¤˝¤ě¤ŹĽíĄźĽŤĽëĽŐĽĄĽ¤Ľë¤Ç¤˘¤ë¤Ť¤Î¤č¤Ś¤ËĽ˘ĽŻĽťĽš¤š¤ë¤ł¤Č¤Ź¤Ç¤¤Ţ¤šĄŁ
NFS
¤ŹÄ󜥲ÄÇ˝¤ĘşÇ¤âĆĂÉŽ¤š¤Ů¤ÍřĹŔ¤¤¤Ż¤Ä¤Ť¤Ď°Ę˛ź¤Î¤â¤Î¤Ç¤šĄŁ°ěČĚĹŞ¤ËťČ¤ď¤ě¤ëĽÇĄźĽż¤ňĂą°ě¤ÎĽŢĽˇĽó¤ËÇź¤á¤ë¤ł¤Č¤Ź¤Ç¤Ą˘
ĽćĄźĽś¤ĎĽÍĽĂĽČĽďĄźĽŻ¤ňÄ̤¸¤ĆĽÇĄźĽż¤ËĽ˘ĽŻĽťĽš¤Ç¤¤ë¤ż¤áĄ˘
ĽíĄźĽŤĽëĽďĄźĽŻĽšĽĆĄźĽˇĽçĽó¤ŹťČÍѤš¤ëĽÇĽŁĽšĽŻÍĆÎĚ¤Ź¸ş¤ę¤Ţ¤šĄŁĽÍĽĂĽČĽďĄźĽŻžĺ¤Î¤š¤Ů¤Ć¤ÎĽŢĽˇĽó¤ËĄ˘
ĽćĄźĽś¤ŹĘĚĄš¤ËĽŰĄźĽŕĽÇĽŁĽěĽŻĽČĽę¤ňťý¤ÄÉŹÍפʤ˘¤ę¤Ţ¤ť¤óĄŁ
NFS ĽľĄźĽĐžĺ¤ËĽŰĄźĽŕĽÇĽŁĽěĽŻĽČĽę¤ŹŔßÄꤾ¤ě¤ě¤ĐĄ˘
ĽÍĽĂĽČĽďĄźĽŻ¤Î¤É¤ł¤Ť¤é¤Ç¤âĽ˘ĽŻĽťĽš˛ÄÇ˝¤Ç¤šĄŁĽŐĽíĽĂĽÔĄźĽÇĽŁĽšĽŻ¤ä CDROM ĽÉĽéĽ¤ĽÖĄ˘
ZIP ĽÉĽéĽ¤ĽÖ¤Ę¤É¤ÎĽšĽČĽěĄźĽ¸ĽÇĽĐĽ¤Ľš¤ňĄ˘
ĽÍĽĂĽČĽďĄźĽŻžĺ¤Îž¤ÎĽŢĽˇĽó¤ÇÍřÍѤš¤ë¤ł¤Č¤Ź¤Ç¤¤Ţ¤šĄŁ
ĽÍĽĂĽČĽďĄźĽŻÁ´ÂΤμęĽŕĄźĽĐĽÖĽëĽÉĽéĽ¤ĽÖ¤Îżô¤ň¸ş¤é¤ť¤ë¤Ť¤â¤ˇ¤ě¤Ţ¤ť¤óĄŁNFS ¤Ď¤É¤Î¤č¤Ś¤Ëưşî¤š¤ë¤Î¤ŤNFS ¤ĎşÇÄăĆó¤Ä¤ÎźçÍפĘÉôĘŹĄ˘
ĽľĄźĽĐ¤Č°ě¤Ä°Ęžĺ¤ÎĽŻĽéĽ¤Ľ˘ĽóĽČ¤Ť¤é¤Ę¤ę¤Ţ¤šĄŁ
ĽŻĽéĽ¤Ľ˘ĽóĽČ¤ĎĽľĄźĽĐĽŢĽˇĽóžĺ¤ËłĘÇź¤ľ¤ě¤żĽÇĄźĽż¤ËĽęĽâĄźĽČ¤Ť¤éĽ˘ĽŻĽťĽš¤ˇ¤Ţ¤šĄŁ
¤ł¤ě¤ŹĹŹŔڤ˾ĄÇ˝¤š¤ë¤Ë¤ĎĄ˘
¤¤¤Ż¤Ä¤Ť¤ÎĽ×ĽíĽťĽš¤ŹŔßÄꤾ¤ě¤ĆźÂšÔ¤ľ¤ě¤Ć¤¤¤Ę¤ą¤ě¤Đ¤Ę¤ę¤Ţ¤ť¤óĄŁ&os; 5.X ¤Ç¤Ď portmap ĽćĄźĽĆĽŁĽęĽĆĽŁ¤Ď
rpcbind ĽćĄźĽĆĽŁĽęĽĆĽŁ¤ËĂÖ¤´š¤ď¤ę¤Ţ¤ˇ¤żĄŁ
¤ˇ¤ż¤Ź¤Ă¤Ć &os; 5.X ¤Ç¤ĎĄ˘ĽćĄźĽś¤Ď˛źľ¤ÎÎă¤ÇĄ˘
portmap ¤ÎÎă¤Î¤š¤Ů¤Ć¤ň
rpcbind ¤ËĂÖ¤´š¤¨¤ëÉŹÍפʤ˘¤ę¤Ţ¤šĄŁĽľĄźĽĐ¤Ď°Ę˛ź¤ÎĽÇĄźĽâĽó¤ňưşî¤ľ¤ť¤Ę¤ą¤ě¤Đ¤Ę¤ę¤Ţ¤ť¤óĄŁNFSĽľĄźĽĐportmapmountdnfsdĽÇĄźĽâĽóŔâĚŔnfsdNFS
ĽŻĽéĽ¤Ľ˘ĽóĽČ¤Ť¤é¤ÎĽęĽŻĽ¨ĽšĽČ¤ň˝čÍý¤š¤ë
NFS ĽÇĄźĽâĽómountd&man.nfsd.8; ¤Ť¤éĹϤľ¤ě¤żĽęĽŻĽ¨ĽšĽČ¤ňźÂşÝ¤ËźÂšÔ¤š¤ë
NFS ĽŢĽŚĽóĽČĽÇĄźĽâĽóportmapNFS ĽľĄźĽĐ¤ÎÍřÍѤˇ¤Ć¤¤¤ëĽÝĄźĽČ¤ň
NFS
ĽŻĽéĽ¤Ľ˘ĽóĽČ¤Ť¤éźčĆŔ¤Ç¤¤ë¤č¤Ś¤Ë¤š¤ë¤ż¤á¤ÎĽÝĄźĽČĽŢĽĂĽŃĽÇĄźĽâĽóĽŻĽéĽ¤Ľ˘ĽóĽČÂŚ¤Ç¤Ď nfsiod
¤Č¤¤¤ŚĽÇĄźĽâĽó¤âźÂšÔ¤Ç¤¤Ţ¤šĄŁ
nfsiod ĽÇĄźĽâĽó¤Ď NFS
ĽľĄźĽĐ¤Ť¤é¤ÎĽęĽŻĽ¨ĽšĽČ¤ň˝čÍý¤ˇ¤Ţ¤šĄŁ
¤ł¤ě¤ĎǤ°Ő¤Ç¤˘¤ęĄ˘ŔÇ˝¤ň˛ţÁऎ¤Ţ¤š¤ŹĄ˘
ÄĚžď¤ÎŔľ¤ˇ¤¤Ć°şî¤Ë¤ĎÉŹÍפȤˇ¤Ţ¤ť¤óĄŁžÜşŮ¤Ë¤Ä¤¤¤Ć¤Ď &man.nfsiod.8;
ĽŢĽËĽĺĽ˘ĽëĽÚĄźĽ¸¤ňť˛žČ¤ˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁNFS ¤ÎŔßÄęNFSŔßÄęNFS ¤ÎŔßÄę¤ĎČćłÓĹŞÁÇÄž¤ĘšŠÄř¤Ç¤šĄŁ
ư¤Ť¤ľ¤Ę¤ą¤ě¤Đ¤Ę¤é¤Ę¤¤Ľ×ĽíĽťĽš¤Ď /etc/rc.conf
ĽŐĽĄĽ¤Ľë¤ňžŻ¤ˇĘŃšš¤š¤ě¤ĐľŻĆ°ťţ¤ËźÂšÔ¤ľ¤ť¤é¤ě¤Ţ¤šĄŁNFS ĽľĄźĽĐ¤Ç¤Ď
/etc/rc.conf ĽŐĽĄĽ¤Ľë¤ÎĂć¤ÇĄ˘
°Ę˛ź¤ÎĽŞĽ×ĽˇĽçĽó¤ŹŔßÄꤾ¤ě¤Ć¤¤¤ë¤ł¤Č¤ňłÎ¤Ť¤á¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁportmap_enable="YES"
nfs_server_enable="YES"
mountd_flags="-r"mountd ¤Ď
NFS ĽľĄźĽĐ¤ŹÍ¸ú¤Ë¤Ę¤Ă¤Ć¤¤¤ě¤ĐĄ˘
źŤĆ°ĹŞ¤ËźÂšÔ¤ľ¤ě¤Ţ¤šĄŁĽŻĽéĽ¤Ľ˘ĽóĽČÂŚ¤Ç¤Ď /etc/rc.conf
Ćâ¤Ë°Ę˛ź¤ÎŔßÄꤏ¤˘¤ë¤ł¤Č¤ňłÎǧ¤ˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁnfs_client_enable="YES"/etc/exports ĽŐĽĄĽ¤Ľë¤Ď NFS
ĽľĄźĽĐ¤Ź¤É¤ÎĽŐĽĄĽ¤ĽëĽˇĽšĽĆĽŕ¤ňĽ¨ĽŻĽšĽÝĄźĽČ
(¤Č¤¤É¤ śŚÍ ¤Č¸Ć¤Đ¤ě¤Ţ¤š) ¤š¤ë¤Î¤Ť¤ňťŘÄꤡ¤Ţ¤šĄŁ
/etc/exports ĽŐĽĄĽ¤ĽëĂć¤ÎłĆšÔ¤ĎĄ˘
Ľ¨ĽŻĽšĽÝĄźĽČ¤š¤ëĽŐĽĄĽ¤ĽëĽˇĽšĽĆĽŕĄ˘
¤Ş¤č¤Ó¤˝¤ÎĽŐĽĄĽ¤ĽëĽˇĽšĽĆĽŕ¤ËĽ˘ĽŻĽťĽš¤Ç¤¤ëĽŢĽˇĽó¤ňťŘÄꤡ¤Ţ¤šĄŁ
ĽŐĽĄĽ¤ĽëĽˇĽšĽĆĽŕ¤ËĽ˘ĽŻĽťĽš¤Ç¤¤ëĽŢĽˇĽó¤Č¤Č¤â¤ËĄ˘
Ľ˘ĽŻĽťĽšĽŞĽ×ĽˇĽçĽó¤âťŘÄę¤Ç¤¤Ţ¤šĄŁ
¤ł¤ÎĽŐĽĄĽ¤Ľë¤ÇťŘÄę¤Ç¤¤ëĽŞĽ×ĽˇĽçĽó¤Ď¤ż¤Ż¤ľ¤ó¤˘¤ę¤Ţ¤š¤ŹĄ˘
¤ł¤ł¤Ç¤Ď¤Ű¤ó¤ÎžŻ¤ˇ¤Ŕ¤ą¸ŔľÚ¤ˇ¤Ţ¤šĄŁ&man.exports.5;
ĽŢĽËĽĺĽ˘ĽëĽÚĄźĽ¸¤ňĆɤá¤ĐĄ˘
ž¤ÎĽŞĽ×ĽˇĽçĽó¤Ď´ĘĂą¤Ë¤ß¤Ä¤ą¤é¤ě¤ë¤Ç¤ˇ¤ç¤ŚĄŁ
¤¤¤Ż¤Ä¤Ť /etc/exports ¤ÎŔßÄęÎă¤ňꍤˇ¤Ţ¤šĄŁNFSĽ¨ĽŻĽšĽÝĄźĽČ¤ÎÎă°Ę˛ź¤ÎÎă¤ĎĽŐĽĄĽ¤ĽëĽˇĽšĽĆĽŕ¤ÎĽ¨ĽŻĽšĽÝĄźĽČ¤ÎšÍ¤¨Ęý¤ňꍤˇ¤Ţ¤š¤ŹĄ˘
¤˘¤Ę¤ż¤Î´Äś¤ČĽÍĽĂĽČĽďĄźĽŻŔßÄę¤Ëąţ¤¸¤ĆŔßÄę¤ĎžŻ¤ˇĘѤď¤ë¤Ç¤ˇ¤ç¤ŚĄŁ
¤ż¤Č¤¨¤ĐźĄ¤ÎšÔ¤Ď /cdrom
ĽÇĽŁĽěĽŻĽČĽę¤ňĄ˘ĽľĄźĽĐ¤ČĆą¤¸ĽÉĽáĽ¤ĽóĚž¤Ť
(¤˝¤Î¤ż¤áĄ˘¤¤¤ş¤ě¤âĽÉĽáĽ¤ĽóĚž¤Ź¤˘¤ę¤Ţ¤ť¤ó)Ą˘
/etc/hosts
¤Ëľ˝Ň¤ľ¤ě¤Ć¤¤¤ëť°¤Ä¤ÎÎă¤Č¤Ę¤ëĽŢĽˇĽó¤ËÂФˇ¤ĆĽ¨ĽŻĽšĽÝĄźĽČ¤ˇ¤Ţ¤šĄŁ
ĽŐĽéĽ°¤ĎśŚÍ¤ľ¤ě¤ëĽŐĽĄĽ¤ĽëĽˇĽšĽĆĽŕ¤ňĆɤߚţ¤ßŔěÍѤˤˇ¤Ţ¤šĄŁ
¤ł¤ÎĽŐĽéĽ°¤Ë¤č¤ęĄ˘
ĽęĽâĄźĽČĽˇĽšĽĆĽŕ¤ĎśŚÍ¤ľ¤ě¤żĽŐĽĄĽ¤ĽëĽˇĽšĽĆĽŕ¤ËÂФˇ¤Ć˛ż¤ÎĘŃšš¤âšÔ¤¨¤Ę¤Ż¤Ę¤ę¤Ţ¤šĄŁ/cdrom -ro host1 host2 host3°Ę˛ź¤ÎŔßÄę¤Ď IP Ľ˘ĽÉĽěĽš¤ÇťŘÄꤡ¤ż 3 ¤Ä¤ÎĽŰĽšĽČ¤ËÂФˇ¤Ć
/home ¤ňĽ¨ĽŻĽšĽÝĄźĽČ¤ˇ¤Ţ¤šĄŁ
¤ł¤ÎŔßÄę¤ĎĽ×ĽéĽ¤ĽŮĄźĽČĽÍĽĂĽČĽďĄźĽŻ¤Ç
DNS ¤ŹŔßÄꤾ¤ě¤Ć¤¤¤Ę¤¤žěšç¤ËĘŘÍř¤Ç¤ˇ¤ç¤ŚĄŁ
ĆâÉô¤ÎĽŰĽšĽČĚž¤ËÂФˇ¤Ć /etc/hosts
¤ňŔßÄꤚ¤ë¤Č¤¤¤ŚźęĂʤ⤢¤ę¤Ţ¤šĄŁ
žÜşŮ¤Ë¤Ä¤¤¤Ć¤Ď &man.hosts.5; ¤ňť˛žČ¤ˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ
ĽŐĽéĽ°¤ĎĽľĽÖĽÇĽŁĽěĽŻĽČĽę¤ŹĽŢĽŚĽóĽČĽÝĽ¤ĽóĽČ¤Č¤Ę¤ë¤ł¤Č¤ňǧ¤á¤Ţ¤šĄŁ
¸Ŕ¤¤Âؤ¨¤ë¤ČĄ˘¤ł¤ě¤ĎĽľĽÖĽÇĽŁĽěĽŻĽČĽę¤ňĽŢĽŚĽóĽČ¤ˇ¤Ţ¤ť¤ó¤ŹĄ˘
ĽŻĽéĽ¤Ľ˘ĽóĽČ¤ŹÍ׾ᤚ¤ë¤ŤĄ˘
¤Ţ¤ż¤ĎÉŹÍפȤš¤ëĽÇĽŁĽěĽŻĽČĽę¤Ŕ¤ą¤ňĽŢĽŚĽóĽČ¤Ç¤¤ë¤č¤Ś¤Ë¤ˇ¤Ţ¤šĄŁ/home -alldirs 10.0.0.2 10.0.0.3 10.0.0.4°Ę˛ź¤ÎŔßÄę¤ĎĄ˘ĽľĄźĽĐ¤Č¤Ď°Ű¤Ę¤ëĽÉĽáĽ¤ĽóĚž¤Î
2 Âć¤ÎĽŻĽéĽ¤Ľ˘ĽóĽČ¤ŹĽ˘ĽŻĽťĽš¤Ç¤¤ë¤č¤Ś¤Ë
/a ¤ňĽ¨ĽŻĽšĽÝĄźĽČ¤ˇ¤Ţ¤šĄŁ
ĽŐĽéĽ°¤ĎĄ˘ĽęĽâĄźĽČĽˇĽšĽĆĽŕ¤Î
root ĽćĄźĽś¤ŹĄ˘
Ľ¨ĽŻĽšĽÝĄźĽČ¤ľ¤ě¤żĽŐĽĄĽ¤ĽëĽˇĽšĽĆĽŕ¤Ë root
¤Č¤ˇ¤Ć˝ń¤šţ¤ŕ¤ł¤Č¤ňľö˛Ä¤ˇ¤Ţ¤šĄŁ
-maproot=root ĽŐĽéĽ°¤ŹĚľ¤ą¤ě¤ĐĄ˘
ĽęĽâĄźĽČĽŢĽˇĽó¤Î root ¸˘¸Â¤ňťý¤Ă¤Ć¤¤¤Ć¤âĄ˘
śŚÍ¤ľ¤ě¤żĽŐĽĄĽ¤ĽëĽˇĽšĽĆĽŕžĺ¤ÎĽŐĽĄĽ¤Ľë¤ňĘŃšš¤š¤ë¤ł¤Č¤Ď¤Ç¤¤Ę¤¤¤Ç¤ˇ¤ç¤ŚĄŁ/a -maproot=root host.example.com box.example.orgĽŻĽéĽ¤Ľ˘ĽóĽČ¤ŹĽ¨ĽŻĽšĽÝĄźĽČ¤ľ¤ě¤żĽŐĽĄĽ¤ĽëĽˇĽšĽĆĽŕ¤ËĽ˘ĽŻĽťĽš¤š¤ë¤ż¤á¤Ë¤ĎĄ˘
¤˝¤Ś¤š¤ë¸˘¸Â¤ŹÍż¤¨¤é¤ě¤Ć¤¤¤Ę¤ą¤ě¤Đ¤Ę¤ę¤Ţ¤ť¤óĄŁ
/etc/exports ĽŐĽĄĽ¤Ľë¤Ë
ĽŻĽéĽ¤Ľ˘ĽóĽČ¤Ź´Ţ¤Ţ¤ě¤Ć¤¤¤ë¤Ť¤É¤Ś¤ŤłÎǧ¤ˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ
/etc/exports ĽŐĽĄĽ¤Ľë¤Ç¤ĎĄ˘
¤˝¤ě¤ž¤ě¤ÎšÔ¤Ź°ě¤Ä¤ÎĽŐĽĄĽ¤ĽëĽˇĽšĽĆĽŕ¤ň°ě¤Ä¤ÎĽŰĽšĽČ¤ËĽ¨ĽŻĽšĽÝĄźĽČ¤š¤ë¤ł¤Č¤ňÉ˝¤ˇ¤Ţ¤šĄŁ
ĽęĽâĄźĽČĽŰĽšĽČ¤ĎĽŐĽĄĽ¤ĽëĽˇĽšĽĆĽŕËč¤Ë°ěĹ٤Ŕ¤ąťŘÄꤚ¤ë¤ł¤Č¤Ź¤Ç¤Ą˘
¤˝¤ě¤Ë˛Ă¤¨¤Ć°ě¤Ä¤ÎĽÇĽŐĽŠĽëĽČĽ¨ĽóĽČĽę¤ňĂÖ¤ą¤Ţ¤šĄŁ¤ż¤Č¤¨¤Đ
/usr ¤ŹĂą°ě¤ÎĽŐĽĄĽ¤ĽëĽˇĽšĽĆĽŕ¤Ç¤˘¤ë¤Č˛žÄꤡ¤Ţ¤šĄŁ
źĄ¤Î /etc/exports ¤ĎĚľ¸ú¤Ç¤šĄŁ/usr/src client
/usr/ports clientĂą°ě¤ÎĽŐĽĄĽ¤ĽëĽˇĽšĽĆĽŕ¤Ç¤˘¤ë /usr
¤ĎĄ˘2 šÔ¤ËĹϤäƥ˘ĆएĽŰĽšĽČ client
¤ŘĽ¨ĽŻĽšĽÝĄźĽČ¤ľ¤ě¤Ć¤¤¤Ţ¤šĄŁ
¤ł¤ÎžěšçĄ˘Ŕľ¤ˇ¤¤˝ńź°¤ĎźĄ¤Î¤Č¤Ş¤ę¤Ç¤šĄŁ/usr/src /usr/ports client¤˘¤ëĽŰĽšĽČ¤ËĽ¨ĽŻĽšĽÝĄźĽČ¤ľ¤ě¤ë¤˘¤ë
1 ¤Ä¤ÎĽŐĽĄĽ¤ĽëĽˇĽšĽĆĽŕ¤ÎĽ×ĽíĽŃĽĆĽŁ¤ĎĄ˘
1 šÔ¤Ç¤š¤Ů¤ĆťŘÄꤡ¤Ę¤ą¤ě¤Đ¤Ę¤ę¤Ţ¤ť¤óĄŁ
ĽŻĽéĽ¤Ľ˘ĽóĽČ¤ÎťŘÄę¤Î¤Ę¤¤šÔ¤ĎĄ˘Ăą°ě¤ÎĽŰĽšĽČ¤Č¤ˇ¤Ć°ˇ¤ď¤ě¤Ţ¤šĄŁ
¤ł¤ě¤ĎĽŐĽĄĽ¤ĽëĽˇĽšĽĆĽŕ¤ňĽ¨ĽŻĽšĽÝĄźĽČ¤Ç¤¤ëĘýËĄ¤ňŔŠ¸Â¤ˇ¤Ţ¤š¤ŹĄ˘
Âż¤Ż¤Îžěšç¤ł¤ě¤ĎĚäÂę¤Ë¤Ę¤ę¤Ţ¤ť¤óĄŁ˛źľ¤ĎĄ˘
/usr ¤Ş¤č¤Ó /exports
¤ŹĽíĄźĽŤĽëĽŐĽĄĽ¤ĽëĽˇĽšĽĆĽŕ¤Ç¤˘¤ëžěšç¤ÎĄ˘
͸ú¤ĘĽ¨ĽŻĽšĽÝĄźĽČĽęĽšĽČ¤ÎÎă¤Ç¤šĄŁ# Export src and ports to client01 and client02, but only
# client01 has root privileges on it
/usr/src /usr/ports -maproot=root client01
/usr/src /usr/ports client02
# The client machines have root and can mount anywhere
# on /exports. Anyone in the world can mount /exports/obj read-only
/exports -alldirs -maproot=root client01 client02
/exports/obj -roĘŃšš¤ŹÍ¸ú¤Č¤Ę¤ë¤č¤Ś¤ËĄ˘
/etc/exports ¤ŹĘŃšš¤ľ¤ě¤ż¤é
mountd ¤ňşĆľŻĆ°¤ˇ¤Ę¤ą¤ě¤Đ¤Ę¤ę¤Ţ¤ť¤óĄŁ
¤ł¤ě¤Ď mountd
Ľ×ĽíĽťĽš¤Ë HUP ĽˇĽ°ĽĘĽë¤ňÁ÷¤ë¤ł¤Č¤ÇźÂšÔ¤Ç¤¤Ţ¤šĄŁ&prompt.root; kill -HUP `cat /var/run/mountd.pid`ž¤Ë¤ĎĄ˘şĆľŻĆ°¤š¤ě¤ĐĄ˘FreeBSD ¤Ď¤š¤Ů¤Ć¤ňĹŹŔÚ¤ËŔßÄꤡ¤Ţ¤šĄŁ
¤ˇ¤Ť¤ˇ¤Ę¤Ź¤éĄ˘şĆľŻĆ°¤ĎÉŹżÜ¤Ç¤Ď¤˘¤ę¤Ţ¤ť¤óĄŁ
root
¸˘¸Â¤Ç°Ę˛ź¤ÎĽłĽŢĽóĽÉ¤ňźÂšÔ¤š¤ě¤ĐĄ˘¤š¤Ů¤Ć¤ŹľŻĆ°¤š¤ë¤Ç¤ˇ¤ç¤ŚĄŁNFS ĽľĄźĽĐ¤Ç¤Ď&prompt.root; portmap
&prompt.root; nfsd -u -t -n 4
&prompt.root; mountd -rNFS ĽŻĽéĽ¤Ľ˘ĽóĽČ¤Ç¤Ď&prompt.root; nfsiod -n 4¤ł¤ě¤ÇĽęĽâĄźĽČ¤ÎĽŐĽĄĽ¤ĽëĽˇĽšĽĆĽŕ¤ňźÂşÝ¤ËĽŢĽŚĽóĽČ¤š¤ë˝ŕČ÷¤Ź¤š¤Ů¤Ć¤Ç¤¤Ţ¤ˇ¤żĄŁ
¤ł¤ÎÎă¤Ç¤ĎĄ˘ĽľĄźĽĐ¤ÎĚžÁ°¤Ď server ¤ÇĄ˘
ĽŻĽéĽ¤Ľ˘ĽóĽČ¤ÎĚžÁ°¤Ď client ¤Č¤ˇ¤Ţ¤šĄŁ
ĽęĽâĄźĽČĽŐĽĄĽ¤ĽëĽˇĽšĽĆĽŕ¤ň°ěťţĹŞ¤ËĽŢĽŚĽóĽČ¤š¤ë¤Ŕ¤ąĄ˘
¤â¤ˇ¤Ż¤ĎŔßÄę¤ňĽĆĽšĽČ¤š¤ë¤Ŕ¤ą¤Ę¤éĄ˘ĽŻĽéĽ¤Ľ˘ĽóĽČžĺ¤Ç
root
¸˘¸Â¤Ç°Ę˛ź¤ÎĽłĽŢĽóĽÉ¤ňźÂšÔ¤š¤ë¤Ŕ¤ą¤Ç¤šĄŁNFSĽŢĽŚĽóĽČ&prompt.root; mount server:/home /mnt¤ł¤ě¤ÇĄ˘ĽľĄźĽĐ¤Î /home
ĽÇĽŁĽěĽŻĽČĽę¤ŹĄ˘ĽŻĽéĽ¤Ľ˘ĽóĽČ¤Î /mnt
¤ËĽŢĽŚĽóĽČ¤ľ¤ě¤Ţ¤šĄŁ¤â¤ˇ¤š¤Ů¤Ć¤ŹŔľ¤ˇ¤ŻŔßÄꤾ¤ě¤Ć¤¤¤ě¤ĐĄ˘
ĽŻĽéĽ¤Ľ˘ĽóĽČ¤Î /mnt ¤ËĆţ¤ęĄ˘
ĽľĄźĽĐ¤Ë¤˘¤ëĽŐĽĄĽ¤Ľë¤š¤Ů¤Ć¤ň¸Ť¤ě¤ë¤Ď¤ş¤Ç¤šĄŁ
ĽęĽâĄźĽČĽŐĽĄĽ¤ĽëĽˇĽšĽĆĽŕ¤ňľŻĆ°¤Î¤ż¤Ó¤ËźŤĆ°ĹŞ¤ËĽŢĽŚĽóĽČ¤ˇ¤ż¤¤¤Ę¤éĄ˘
ĽŐĽĄĽ¤ĽëĽˇĽšĽĆĽŕ¤ň /etc/fstab
ĽŐĽĄĽ¤Ľë¤ËÄɲ䎤äݤŔ¤ľ¤¤ĄŁ
Îă¤Č¤ˇ¤Ć¤Ď¤ł¤Î¤č¤Ś¤Ë¤Ę¤ę¤Ţ¤šĄŁserver:/home /mnt nfs rw 0 0&man.fstab.5;
ĽŢĽËĽĺĽ˘ĽëĽÚĄźĽ¸¤ËÍřÍѲÄÇ˝¤ĘĽŞĽ×ĽˇĽçĽó¤Ź¤š¤Ů¤ĆˇÇşÜ¤ľ¤ě¤Ć¤¤¤Ţ¤šĄŁźÂÍŃĹŞ¤ĘťČ¤¤ĘýNFS ¤Ë¤ĎźÂÍŃĹŞ¤ĘťČÍŃËĄ¤Ź¤¤¤Ż¤Ä¤â¤˘¤ę¤Ţ¤šĄŁ
¤ł¤ł¤ÇĹľˇżĹŞ¤ĘťČÍŃËĄ¤ň¤¤¤Ż¤Ä¤ŤžŇ˛đ¤ˇ¤Ţ¤ˇ¤ç¤ŚĄŁNFSťČÍŃËĄ˛żÂć¤â¤ÎĽŢĽˇĽó¤Ç CDROM
¤Ę¤É¤ÎĽáĽÇĽŁĽ˘¤ňśŚÍ¤š¤ë¤č¤Ś¤ËŔßÄꤡ¤Ţ¤šĄŁ
¤ł¤ě¤Ď°Âžĺ¤Ź¤ę¤ÇĄ˘¤ż¤¤¤Ć¤¤¤ĎĄ˘
ĘŁżô¤ÎĽŢĽˇĽó¤ËĽ˝ĽŐĽČĽŚĽ§Ľ˘¤ňĽ¤ĽóĽšĽČĄźĽë¤š¤ë¤Î¤Ë¤č¤ęĘŘÍř¤ĘĘýËĄ¤Ç¤šĄŁÂ羏ĚϤʼͼüȼ寧ĽŻ¤Ç¤ĎĄ˘
¤š¤Ů¤Ć¤ÎĽćĄźĽś¤ÎĽŰĄźĽŕĽÇĽŁĽěĽŻĽČĽę¤ňłĘÇź¤š¤ëĽáĽ¤Ľó
NFS
ĽľĄźĽĐ¤ňš˝Ăۤš¤ë¤ČĄ˘¤ş¤Ă¤ČĘŘÍř¤Ç¤ˇ¤ç¤ŚĄŁ
¤É¤ÎĽďĄźĽŻĽšĽĆĄźĽˇĽçĽó¤ËĽíĽ°Ľ¤Ľó¤ˇ¤Ć¤âĄ˘
ĽćĄźĽś¤Ź¤¤¤Ä¤Ç¤âĆą¤¸ĽŰĄźĽŕĽÇĽŁĽěĽŻĽČĽę¤ňÍřÍѤǤ¤ë¤č¤Ś¤ËĄ˘
¤ł¤ě¤é¤ÎĽŰĄźĽŕĽÇĽŁĽěĽŻĽČĽę¤ĎĽÍĽĂĽČĽďĄźĽŻ¤Ë¸ţ¤ą¤ĆĽ¨ĽŻĽšĽÝĄźĽČ¤ľ¤ě¤Ţ¤šĄŁ˛żÂć¤â¤ÎĽŢĽˇĽó¤Ç /usr/ports/distfiles
ĽÇĽŁĽěĽŻĽČĽę¤ňśŚÍ¤Ç¤¤Ţ¤šĄŁ¤ł¤Ś¤š¤ë¤ČĄ˘
˛żÂć¤â¤ÎĽŢĽˇĽóžĺ¤Ë port ¤ňĽ¤ĽóĽšĽČĄźĽë¤š¤ëÉŹÍפʤ˘¤ëťţ¤ËĄ˘
¤˝¤ě¤ž¤ě¤ÎĽŢĽˇĽó¤ÇĽ˝ĄźĽšĽłĄźĽÉ¤ňĽŔĽŚĽóĽíĄźĽÉ¤š¤ë¤ł¤Č¤Ę¤ŻĄ˘
Äž¤Á¤ËĽ˝ĄźĽš¤ËĽ˘ĽŻĽťĽš¤Ç¤¤Ţ¤šĄŁWylieStilwell´óšĆ: ChernLeeşĆš˝ŔŽ: amd ¤Ë¤č¤ëźŤĆ°ĽŢĽŚĽóĽČamdźŤĆ°ĽŢĽŚĽóĽČĽÇĄźĽâĽó&man.amd.8; (źŤĆ°ĽŢĽŚĽóĽČĽÇĄźĽâĽó) ¤ĎĄ˘
ĽŐĽĄĽ¤ĽëĽˇĽšĽĆĽŕĆâ¤ÎĽŐĽĄĽ¤Ľë¤Ţ¤ż¤ĎĽÇĽŁĽěĽŻĽČĽę¤ŹĽ˘ĽŻĽťĽš¤ľ¤ě¤ë¤ČĄ˘
źŤĆ°ĹŞ¤ËĽęĽâĄźĽČĽŐĽĄĽ¤ĽëĽˇĽšĽĆĽŕ¤ňĽŢĽŚĽóĽČ¤ˇ¤Ţ¤šĄŁ
¤Ţ¤żĄ˘°ěÄę¤Î´ÖĽ˘ĽŻĽťĽš¤ľ¤ě¤Ę¤¤ĽŐĽĄĽ¤ĽëĽˇĽšĽĆĽŕ¤Ď
amd
¤Ë¤č¤Ă¤ĆźŤĆ°ĹŞ¤ËĽ˘ĽóĽŢĽŚĽóĽČ¤ľ¤ě¤Ţ¤šĄŁ
amd ¤ňťČÍѤš¤ë¤ł¤Č¤ĎĄ˘ÄĚžď
/etc/fstab
Ćâ¤Ëľ˝Ň¤š¤ëšąľ×ĹŞ¤ĘĽŢĽŚĽóĽČ¤ËÂФš¤ëĄ˘
Ăą˝ă¤ĘÂĺÂذƤȤʤę¤Ţ¤šĄŁamd ¤Ď¤˝¤ěźŤżČ¤ň NFS ĽľĄźĽĐ¤Č¤ˇ¤Ć
/host ¤Ş¤č¤Ó /net
ĽÇĽŁĽěĽŻĽČĽę¤Ëˇë¤Ó¤Ä¤ą¤ë¤ł¤Č¤Ë¤č¤Ă¤Ćưşî¤ˇ¤Ţ¤šĄŁ
¤ł¤ÎĽÇĽŁĽěĽŻĽČĽęĆâ¤Î¤É¤ł¤Ť¤ÇĽŐĽĄĽ¤Ľë¤ŹĽ˘ĽŻĽťĽš¤ľ¤ě¤ë¤ČĄ˘
amd ¤ĎÂĐąţ¤š¤ëĽęĽâĄźĽČĽŢĽŚĽóĽČ¤ňÄ´¤Ů¤ĆĄ˘
źŤĆ°Ĺޤˤ˝¤ě¤ňĽŢĽŚĽóĽČ¤ˇ¤Ţ¤šĄŁ
/net ¤ŹĄ˘Ľ¨ĽŻĽšĽÝĄźĽČ¤ľ¤ě¤żĽŐĽĄĽ¤ĽëĽˇĽšĽĆĽŕ¤ň
IP Ľ˘ĽÉĽěĽš¤ÇťŘÄꤡ¤ĆĽŢĽŚĽóĽČ¤š¤ë¤Î¤ËÍřÍѤľ¤ě¤ë°ěĘý¤ÇĄ˘
/host
¤ĎĄ˘Ľ¨ĽŻĽšĽÝĄźĽČ¤ľ¤ě¤żĽŐĽĄĽ¤ĽëĽˇĽšĽĆĽŕ¤ňĽęĽâĄźĽČĽŰĽšĽČĚž¤ÇťŘÄꤡ¤ĆĽŢĽŚĽóĽČ¤š¤ë¤Î¤ËÍřÍѤľ¤ě¤Ţ¤šĄŁ/host/foobar/usr
Ćâ¤ÎĽŐĽĄĽ¤Ľë¤ËĽ˘ĽŻĽťĽš¤š¤ë¤ČĄ˘
amd ¤ĎĽŰĽšĽČ
foobar ¤Ť¤éĽ¨ĽŻĽšĽÝĄźĽČ¤ľ¤ě¤ż
/usr ¤ňĽŢĽŚĽóĽČ¤ˇ¤Ţ¤šĄŁamd
¤Ë¤č¤ëĽ¨ĽŻĽšĽÝĄźĽČ¤ľ¤ě¤żĽŐĽĄĽ¤ĽëĽˇĽšĽĆĽŕ¤ÎĽŢĽŚĽóĽČshowmount ĽłĽŢĽóĽÉ¤ňÍѤ¤¤ĆĄ˘
ĽęĽâĄźĽČĽŰĽšĽČ¤ÎĽŢĽŚĽóĽČ¤ÇÍřÍѤǤ¤ë¤â¤Î¤Ź¸Ť¤é¤ě¤Ţ¤šĄŁ
¤ż¤Č¤¨¤ĐĄ˘foobar
¤ČĚžÉŐ¤ą¤é¤ě¤żĽŰĽšĽČ¤ÎĽŢĽŚĽóĽČ¤ň¸Ť¤ë¤ż¤á¤ËźĄ¤Î¤č¤Ś¤ËÍřÍѤǤ¤Ţ¤šĄŁ&prompt.user; showmount -e foobar
Exports list on foobar:
/usr 10.10.10.0
/a 10.10.10.0
&prompt.user; cd /host/foobar/usrÎă¤Î¤č¤Ś¤Ë showmount ¤ĎĽ¨ĽŻĽšĽÝĄźĽČ¤Č¤ˇ¤Ć
/usr ¤ňÉ˝ź¨¤ˇ¤Ţ¤šĄŁ
/host/foobar/usr ¤ËĽÇĽŁĽěĽŻĽČĽę¤ňĘŃšš¤š¤ë¤ČĄ˘
amd ¤ĎĽŰĽšĽČĚž foobar
¤ň˛ňˇč¤ˇĄ˘¤ŞËž¤ß¤ÎĽ¨ĽŻĽšĽÝĄźĽČ¤ňĽŢĽŚĽóĽČ¤ˇ¤č¤Ś¤Čťî¤ß¤Ţ¤šĄŁamd ¤Ď
/etc/rc.conf Ćâ¤ËźĄ¤ÎšÔ¤ňľ˝Ň¤š¤ě¤ĐĄ˘
ľŻĆ°ĽšĽŻĽęĽ×ĽČ¤Ë¤č¤Ă¤ĆľŻĆ°¤ľ¤ě¤Ţ¤šĄŁamd_enable="YES"¤ľ¤é¤Ë amd_flags ĽŞĽ×ĽˇĽçĽó¤Ë¤č¤Ă¤Ć
amd
¤ËĽŐĽéĽ°¤ňĽŤĽšĽżĽŢĽ¤Ľş¤ˇ¤ĆĹϤť¤Ţ¤šĄŁĽÇĽŐĽŠĽëĽČ¤Ç¤Ď
amd_flags ¤ĎźĄ¤Î¤č¤Ś¤ËŔßÄꤾ¤ě¤Ć¤¤¤Ţ¤šĄŁamd_flags="-a /.amd_mnt -l syslog /host /etc/amd.map /net /etc/amd.map"/etc/amd.map ĽŐĽĄĽ¤Ľë¤ĎĄ˘
Ľ¨ĽŻĽšĽÝĄźĽČ¤ŹĽŢĽŚĽóĽČ¤ľ¤ě¤ëĽÇĽŐĽŠĽëĽČĽŞĽ×ĽˇĽçĽó¤ňˇčÄꤡ¤Ţ¤šĄŁ
/etc/amd.conf ĽŐĽĄĽ¤Ľë¤ĎĄ˘
amd
¤Î¤č¤ęšâĹ٤ʾĄÇ˝¤Î°ěÉô¤ňŔßÄꤡ¤Ţ¤šĄŁžÜşŮ¤Ë¤Ä¤¤¤Ć¤Ď &man.amd.8; ¤Ş¤č¤Ó &man.amd.conf.5;
ĽŢĽËĽĺĽ˘ĽëĽÚĄźĽ¸¤ňť˛žČ¤ˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁJohnLind´óšĆ: ž¤ÎĽˇĽšĽĆĽŕ¤Č¤ÎĹýšç¤Ë¤Ä¤¤¤Ć¤ÎĚäÂęĚő: &a.jp.tomo;. 6 September 1996.ISA ĽĐĽšÍѤμ¤ĄźĽľĽÍĽĂĽČĽ˘ĽŔĽ×Ľż¤ÎĂć¤Ë¤ĎŔÇ˝¤Ź°¤¤¤ż¤áĄ˘
ĽÍĽĂĽČĽďĄźĽŻĄ˘ĆĂ¤Ë NFS ¤Çżźšď¤ĘĚäÂꤏ¤Ş¤¤ë¤â¤Î¤Ź¤˘¤ę¤Ţ¤šĄŁ
¤ł¤ě¤Ď FreeBSD ¤Ë¸Â¤Ă¤ż¤ł¤Č¤Ç¤Ď¤˘¤ę¤Ţ¤ť¤ó¤Ź
FreeBSD ¤Ç¤âľŻ¤ł¤ęĆŔ¤Ţ¤šĄŁ¤ł¤ÎĚäÂę¤Ď (FreeBSD ¤ňťČÍѤˇ¤ż) PC
¤ŹĽˇĽęĽłĽóĽ°ĽéĽŐĽŁĽĂĽŻĽšźŇ¤äĽľĽóĄŚĽŢĽ¤ĽŻĽíĽˇĽšĽĆĽŕĽşźŇ¤Ę¤É¤ÎšâŔÇ˝¤ĘĽďĄźĽŻĽšĽĆĄźĽˇĽçĽó¤ËĽÍĽĂĽČĽďĄźĽŻŔÜÂł¤ľ¤ě¤Ć¤¤¤ëžěšç¤ËÉŃČË¤ËľŻ¤ł¤ę¤Ţ¤šĄŁ
NFS ĽŢĽŚĽóĽČ¤Ď¤Ś¤Ţ¤ŻĆ°şî¤š¤ë¤Ç¤ˇ¤ç¤ŚĄŁ
¤Ţ¤żĄ˘¤¤¤Ż¤Ä¤Ť¤ÎÁŕşî¤â¤Ś¤Ţ¤ŻĆ°şî¤š¤ë¤Ť¤â¤ˇ¤ě¤Ţ¤ť¤ó¤ŹĄ˘
ž¤ÎĽˇĽšĽĆĽŕ¤ËÂФš¤ëÍ׾á¤äąţĹú¤ĎÂł¤¤¤Ć¤¤¤Ć¤âĄ˘
ĆÍÁłĽľĄźĽĐ¤ŹĽŻĽéĽ¤Ľ˘ĽóĽČ¤ÎÍ׾á¤ËÂФˇ¤ĆąţĹú¤ˇ¤Ę¤Ż¤Ę¤ę¤Ţ¤šĄŁ¤ł¤ě¤ĎĄ˘
ĽŻĽéĽ¤Ľ˘ĽóĽČ¤Ź FreeBSD
¤Ťžĺľ¤ÎĽďĄźĽŻĽšĽĆĄźĽˇĽçĽó¤Ç¤˘¤ë¤Č¤¤ËĽŻĽéĽ¤Ľ˘ĽóĽČÂŚ¤ËľŻ¤¤ë¸˝žÝ¤Ç¤šĄŁ
Âż¤Ż¤ÎĽˇĽšĽĆĽŕ¤Ç¤ĎĄ˘¤¤¤Ă¤ż¤ó¤ł¤ÎĚäÂꤏ¸˝¤ď¤ě¤ë¤ČĄ˘
šÔľˇÎÉ¤ŻĽŻĽéĽ¤Ľ˘ĽóĽČ¤ň˝ŞÎť¤š¤ëźęĂʤϤ˘¤ę¤Ţ¤ť¤óĄŁ
NFS ¤Ź¤ł¤ÎžőÂ֤˴٤äƤˇ¤Ţ¤Ś¤ČŔľžď¤ËĚᤚ¤ł¤Č¤Ď¤Ç¤¤Ę¤¤¤ż¤áĄ˘
Âż¤Ż¤ÎžěšçĽŻĽéĽ¤Ľ˘ĽóĽČ¤ňĽęĽťĽĂĽČ¤š¤ë¤ł¤Č¤ŹÍٰě¤Î˛ňˇčËĄ¤Č¤Ę¤ę¤Ţ¤šĄŁŔľ¤ˇ¤¤
˛ňˇčËĄ¤ĎĄ˘¤č¤ęšâŔÇ˝¤ÎĽ¤ĄźĽľĽÍĽĂĽČĽ˘ĽŔĽ×Ľż¤ň
FreeBSD ĽˇĽšĽĆĽŕ¤ËĽ¤ĽóĽšĽČĄźĽë¤š¤ë¤ł¤Č¤Ç¤š¤ŹĄ˘
Ëţ¤Ëưşî¤ľ¤ť¤ë´ĘĂą¤ĘĘýËĄ¤Ź¤˘¤ę¤Ţ¤šĄŁ
FreeBSD ĽˇĽšĽĆĽŕ¤Ź ĽľĄźĽĐ ¤Ë¤Ę¤ë¤Î¤Ę¤éĄ˘
ĽŻĽéĽ¤Ľ˘ĽóĽČ¤Ť¤é¤ÎĽŢĽŚĽóĽČťţ¤Ë
ĽŞĽ×ĽˇĽçĽó¤ň¤Ä¤ą¤Ć˛ź¤ľ¤¤ĄŁFreeBSD ĽˇĽšĽĆĽŕ¤Ź
ĽŻĽéĽ¤Ľ˘ĽóĽČ ¤Ë¤Ę¤ë¤Î¤Ę¤éĄ˘
NFS ĽŐĽĄĽ¤ĽëĽˇĽšĽĆĽŕ¤ň
ĽŞĽ×ĽˇĽçĽó¤Ä¤¤ÇĽŢĽŚĽóĽČ¤ˇ¤Ć˛ź¤ľ¤¤ĄŁ
¤ł¤ě¤é¤ÎĽŞĽ×ĽˇĽçĽó¤ĎźŤĆ°ĹŞ¤ËĽŢĽŚĽóĽČ¤ň¤Ş¤ł¤Ę¤Śžěšç¤Ë¤Ď
ĽŻĽéĽ¤Ľ˘ĽóĽČ¤Î fstab
Ľ¨ĽóĽČĽę¤Î 4 ČÖĚÜ¤ÎĽŐĽŁĄźĽëĽÉ¤ËťŘÄꤡ¤Ć¤â¤č¤¤¤Ç¤š¤ˇĄ˘
źęưĽŢĽŚĽóĽČ¤Îžěšç¤Ď mount ĽłĽŢĽóĽÉ¤Î
ĽŃĽéĽáĄźĽż¤ÇťŘÄꤡ¤Ć¤â¤č¤¤¤Ç¤ˇ¤ç¤ŚĄŁNFS ĽľĄźĽĐ¤ČĽŻĽéĽ¤Ľ˘ĽóĽČ¤ŹĘĚĄš¤ÎĽÍĽĂĽČĽďĄźĽŻžĺ¤Ë¤˘¤ë¤č¤Ś¤ĘžěšçĄ˘
¤ł¤ě¤Č´Ö°ă¤¨¤ä¤š¤¤Âž¤ÎĚäÂꤏľŻ¤¤ë¤ł¤Č¤ËĂí°Ő¤ˇ¤Ć˛ź¤ľ¤¤ĄŁ
¤˝¤Î¤č¤Ś¤Ęžěšç¤ĎĄ˘ĽëĄźĽż¤ŹÉŹÍפĘ
UDP žđĘó¤ň¤¤Á¤ó¤ČĽëĄźĽĆĽŁĽóĽ°¤ˇ¤Ć¤¤¤ë¤Ť¤ňłÎ¤Ť¤á¤Ć˛ź¤ľ¤¤ĄŁ
¤ˇ¤Ć¤¤¤Ę¤ą¤ě¤ĐĄ˘¤ż¤Č¤¨¤˘¤Ę¤ż¤Ź˛ż¤ň¤ˇ¤č¤Ś¤Č˛ňˇč¤Ç¤¤Ę¤¤¤Ç¤ˇ¤ç¤ŚĄŁźĄ¤ÎÎă¤Ç¤Ď fastws
¤ĎšâŔÇ˝ĽďĄźĽŻĽšĽĆĄźĽˇĽçĽó¤ÎĽŰĽšĽČ (Ľ¤ĽóĽżĽŐĽ§ĄźĽš) Ěž¤ÇĄ˘
freebox ¤ĎÄăŔÇ˝¤ÎĽ¤ĄźĽľĽÍĽĂĽČĽ˘ĽŔĽ×Ľż¤ňČ÷¤¨¤ż
FreeBSD ĽˇĽšĽĆĽŕ¤ÎĽŰĽšĽČ (Ľ¤ĽóĽżĽŐĽ§ĄźĽš) Ěž¤Ç¤šĄŁ
¤Ţ¤ż /sharedfs ¤ĎĽ¨ĽŻĽšĽÝĄźĽČ¤ľ¤ě¤ë
NFS ĽŐĽĄĽ¤ĽëĽˇĽšĽĆĽŕ¤Ç¤˘¤ę (&man.exports.5; ¤ňť˛žČ) Ą˘
/project ¤ĎĽ¨ĽŻĽšĽÝĄźĽČ¤ľ¤ě¤żĽŐĽĄĽ¤ĽëĽˇĽšĽĆĽŕ¤ÎĄ˘
ĽŻĽéĽ¤Ľ˘ĽóĽČžĺ¤ÎĽŢĽŚĽóĽČĽÝĽ¤ĽóĽČ¤Č¤Ę¤ę¤Ţ¤šĄŁ
¤š¤Ů¤Ć¤Îžěšç¤Ë¤Ş¤¤¤ĆĄ˘Ľ˘Ľ×ĽęĽąĄźĽˇĽçĽó¤Ë¤č¤Ă¤Ć¤Ď
¤ä ,
¤Č¤¤¤Ă¤żÄÉ˛ĂĽŞĽ×ĽˇĽçĽó¤Ź¤Ő¤ľ¤ď¤ˇ¤¤¤Ť¤â¤ˇ¤ě¤Ę¤¤¤ł¤Č¤ËĂí°Ő¤ˇ¤Ć˛ź¤ľ¤¤ĄŁĽŻĽéĽ¤Ľ˘ĽóĽČÂŚ FreeBSD ĽˇĽšĽĆĽŕ (freebox)
¤Î /etc/fstab ¤ÎÎă¤Ď°Ę˛ź¤Î¤Č¤Ş¤ę¤Ç¤šĄŁfastws:/sharedfs /project nfs rw,-r=1024 0 0freebox žĺ¤Çźęư¤Ç mount
ĽłĽŢĽóĽÉ¤ňźÂšÔ¤š¤ëžěšç¤ĎźĄ¤Î¤č¤Ś¤Ë¤ˇ¤Ć˛ź¤ľ¤¤ĄŁ&prompt.root; mount -t nfs -o -r=1024 fastws:/sharedfs /projectĽľĄźĽĐÂŚ FreeBSD ĽˇĽšĽĆĽŕ (fastws)
¤Î /etc/fstab ¤ÎÎă¤Ď°Ę˛ź¤Î¤Č¤Ş¤ę¤Ç¤šĄŁfreebox:/sharedfs /project nfs rw,-w=1024 0 0fastws žĺ¤Çźęư¤Ç mount
ĽłĽŢĽóĽÉ¤ÇźÂšÔ¤š¤ëžěšç¤ĎźĄ¤Î¤č¤Ś¤Ë¤ˇ¤Ć˛ź¤ľ¤¤ĄŁ&prompt.root; mount -t nfs -o -w=1024 freebox:/sharedfs /projectśá¤¤¤Ś¤Á¤Ë¤É¤Î¤č¤Ś¤Ę
16 ĽÓĽĂĽČ¤ÎĽ¤ĄźĽľĽÍĽĂĽČĽ˘ĽŔĽ×Ľż¤Ç¤âĄ˘žĺľ¤ÎĆɤ߽ФˇĄ˘
˝ń¤šţ¤ßĽľĽ¤Ľş¤ÎŔŠ¸Â¤Ę¤ˇ¤ÇÁŕşî¤Ç¤¤ë¤č¤Ś¤Ë¤Ę¤ë¤Ç¤ˇ¤ç¤ŚĄŁźşÇÔ¤ŹČŻŔ¸¤ˇ¤ż¤Č¤˛ż¤ŹľŻ¤¤Ć¤¤¤ë¤Ť´Řż´¤Î¤˘¤ëżÍ¤ËĄ˘
¤Ę¤ź˛óÉüÉÔ˛ÄÇ˝¤Ę¤Î¤Ť¤â´Ţ¤á¤ĆŔâĚŔ¤ˇ¤Ţ¤šĄŁNFS ¤ĎÄĚžď
(¤č¤ęžŽ¤ľ¤¤ĽľĽ¤Ľş¤ŘĘŹłä¤ľ¤ě¤ë¤Ť¤â¤ˇ¤ě¤Ţ¤ť¤ó¤Ź)
8 K ¤Î ĽÖĽíĽĂĽŻ ĽľĽ¤Ľş¤Çưşî¤ˇ¤Ţ¤šĄŁ
Ľ¤ĄźĽľĽÍĽĂĽČ¤ÎĽŃĽąĽĂĽČĽľĽ¤Ľş¤ĎşÇÂç 1500 ĽĐĽ¤ĽČÄřĹ٤ʤΤǥ˘
žĺ°ĚłŹÁؤμłĄźĽÉ¤Ë¤Č¤Ă¤Ć¤Ď 1 ¤Ä¤ÎĽćĽËĽĂĽČ¤Ç¤˘¤Ă¤ĆĄ˘
NFS ĽÖĽíĽĂĽŻ
¤ĎĘŁżô¤ÎĽ¤ĄźĽľĽÍĽĂĽČĽŃĽąĽĂĽČ¤ËĘŹłä¤ľ¤ě¤ë¤â¤Î¤ÎĄ˘
žĺ°ĚłŹÁؤμłĄźĽÉ¤Ë¤Č¤Ă¤Ć¤Ď 1 ¤Ä¤ÎĽćĽËĽĂĽČ¤Ç¤˘¤Ă¤ĆĄ˘
ĽćĽËĽĂĽČ¤Č¤ˇ¤ĆźőżŽ¤ľ¤ěĄ˘ÁȤßΊ¤ĆÄž¤ľ¤ěĄ˘
šÎÄęąţĹú (ACK) ¤ľ¤ě¤Ę¤ą¤ě¤Đ¤Ę¤ę¤Ţ¤ť¤óĄŁ
šâŔÇ˝¤ÎĽďĄźĽŻĽšĽĆĄźĽˇĽçĽó¤ĎźĄĄš¤Ë NFS ĽćĽËĽĂĽČ¤ňš˝Ŕޤš¤ëĽŃĽąĽĂĽČ¤ňĄ˘
ɸ˝ŕ¤Îľö¤š¸Â¤ę´ÖłÖ¤ňľÍ¤á¤ĆźĄĄš¤ËÁ÷¤ę˝Đ¤š¤ł¤Č¤Ź¤Ç¤¤Ţ¤šĄŁ
žŽ¤ľ¤ŻĄ˘ÍĆÎ̤ÎÄ㤤ĽŤĄźĽÉ¤Ç¤ĎĄ˘
Ćą¤¸ĽćĽËĽĂĽČ¤ÎÁ°¤ÎĽŃĽąĽĂĽČ¤ŹĽŰĽšĽČ¤ËĹžÁ÷¤ľ¤ě¤ëÁ°¤ËĄ˘
¸ĺ¤ÎĽŃĽąĽĂĽČ¤Ź¤˝¤ě¤ňƧ¤ß¤Ä¤Ö¤ˇ¤Ć¤ˇ¤Ţ¤¤¤Ţ¤šĄŁ
¤ł¤Î¤ż¤áÁ´ÂΤȤˇ¤Ć¤ÎĽćĽËĽĂĽČ¤ĎĄ˘şĆš˝ŔޤâšÎÄęąţĹú¤â¤Ç¤¤Ţ¤ť¤óĄŁ
¤˝¤Îˇë˛ĚĄ˘
ĽďĄźĽŻĽšĽĆĄźĽˇĽçĽó¤ĎĽżĽ¤ĽŕĽ˘ĽŚĽČ¤ˇ¤ĆşĆÁ÷¤ňťî¤ß¤Ţ¤š¤ŹĄ˘
8 K ¤ÎĽćĽËĽĂĽČÁ´ÂΤňşĆÁ÷¤ˇ¤č¤Ś¤Č¤š¤ë¤Î¤ÇĄ˘
¤ł¤ÎĽ×ĽíĽťĽš¤ĎşÝ¸ÂĚľ¤ŻˇŤ¤ęĘÖ¤ľ¤ě¤Ć¤ˇ¤Ţ¤¤¤Ţ¤šĄŁĽćĽËĽĂĽČĽľĽ¤Ľş¤ňĽ¤ĄźĽľĽÍĽĂĽČ¤ÎĽŃĽąĽĂĽČĽľĽ¤Ľş¤Î
ŔŠ¸Â°Ę˛ź¤ËÍޤ¨¤ë¤ł¤Č¤Ë¤č¤ęĄ˘
źőżŽ¤ˇ¤ż´°Á´¤ĘĽ¤ĄźĽľĽÍĽĂĽČĽŃĽąĽĂĽČ¤Ë¤Ä¤¤¤Ć¸ÄĄš¤ËšÎÄęąţĹú¤ňĘÖ¤ť¤ë¤ł¤Č¤ŹĘÝžÚ¤ľ¤ě¤ë¤Î¤ÇĄ˘
ĽÇĽĂĽÉĽíĽĂĽŻžőÂÖ¤ňČň¤ą¤é¤ě¤ë¤č¤Ś¤Ë¤Ę¤ę¤Ţ¤šĄŁ¤˝¤ě¤Ç¤âĄ˘šâŔÇ˝¤ĘĽďĄźĽŻĽšĽĆĄźĽˇĽçĽó¤ŹÎĎǤ¤ť¤ËźĄĄš¤Č
PC ĽˇĽšĽĆĽŕ¤ËĽÇĄźĽż¤ňÁ÷¤Ă¤ż¤Č¤¤Ë¤ĎƧ¤ß¤Ä¤Ö¤ˇ¤ŹľŻ¤¤ë¤Ť¤â¤ˇ¤ě¤Ţ¤ť¤óĄŁ
¤ˇ¤Ť¤ˇĄ˘šâŔÇ˝¤ÎĽŤĄźĽÉ¤ňťČ¤Ă¤Ć¤¤¤ě¤ĐĄ˘NFS ĽćĽËĽĂĽČ
¤ÇÉŹ¤ş¤˝¤Î¤č¤Ś¤ĘƧ¤ß¤Ä¤Ö¤ˇ¤ŹľŻ¤¤ë¤Č¤Ď¸Â¤ę¤Ţ¤ť¤óĄŁ
Ƨ¤ß¤Ä¤Ö¤ˇ¤ŹľŻ¤¤ż¤éĄ˘ąĆśÁ¤ňźő¤ą¤żĽćĽËĽĂĽČ¤ĎşĆÁ÷¤ľ¤ě¤ĆĄ˘
źőżŽ¤ľ¤ěĄ˘ÁȤßΊ¤Ć¤é¤ěĄ˘šÎÄęąţĹú¤ľ¤ě¤ë˝˝ĘʤƏŤšţ¤ß¤Ź¤˘¤ę¤Ţ¤šĄŁJean-FrançoisDockèsššżˇ: ĽÇĽŁĽšĽŻĽěĽš˛ÔĆŻĚő: &a.jp.yasu;ĽÇĽŁĽšĽŻĽěĽšĽďĄźĽŻĽšĽĆĄźĽˇĽçĽóĽÇĽŁĽšĽŻĽěĽš˛ÔĆŻFreeBSD ĽŢĽˇĽó¤ĎĽÍĽĂĽČĽďĄźĽŻ¤ňÄ̤¸¤ĆľŻĆ°¤Ç¤Ą˘
¤˝¤ˇ¤Ć NFS ĽľĄźĽĐ¤Ť¤éĽŢĽŚĽóĽČ¤ˇ¤żĽŐĽĄĽ¤ĽëĽˇĽšĽĆĽŕ¤ňťČÍѤˇ¤ĆĄ˘
ĽíĄźĽŤĽëĽÇĽŁĽšĽŻ¤Ę¤ˇ¤Çưşî¤š¤ë¤ł¤Č¤Ź¤Ç¤¤Ţ¤šĄŁ
ɸ˝ŕ¤ÎŔßÄęĽŐĽĄĽ¤Ľë¤ňĘŃšš¤š¤ë°Ęžĺ¤ÎĄ˘ĽˇĽšĽĆĽŕ¤Î˝¤Ŕľ¤ĎÉŹÍפ˘¤ę¤Ţ¤ť¤óĄŁ
ÉŹÍפĘÍ×ÁǤΤš¤Ů¤Ć¤ŹÍѰդľ¤ě¤Ć¤¤¤ë¤Î¤ÇĄ˘
¤ł¤Î¤č¤Ś¤ĘĽˇĽšĽĆĽŕ¤ňŔßÄꤚ¤ë¤Î¤Ď´ĘĂą¤Ç¤šĄŁĽÍĽĂĽČĽďĄźĽŻ¤ňÄ̤¸¤ĆĽŤĄźĽÍĽë¤ňĆɤߚţ¤ŕĘýËĄ¤ĎĄ˘
žŻ¤Ę¤Ż¤Č¤âĆó¤Ä¤˘¤ę¤Ţ¤šĄŁPXE: &intel; ¤Î
Preboot Execution Environment ĽˇĽšĽĆĽŕ¤ĎĄ˘
°ěÉô¤ÎĽÍĽĂĽČĽďĄźĽŻĽŤĄźĽÉ¤Ţ¤ż¤ĎĽŢĽśĄźĽÜĄźĽÉ¤ËÁȤߚţ¤Ţ¤ě¤żĄ˘
ĽšĽŢĄźĽČ¤ĘĽÖĄźĽČ ROM ¤Î°ěˇÁÂ֤ǤšĄŁ
žÜşŮ¤Ë¤Ä¤¤¤Ć¤Ď &man.pxeboot.8; ¤ňť˛žČ¤ˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁport ¤Î etherboot
(net/etherboot) ¤ĎĄ˘
ĽÍĽĂĽČĽďĄźĽŻ¤ňÄ̤¸¤ĆĽŤĄźĽÍĽë¤ňľŻĆ°¤š¤ë ROM
˛˝˛ÄÇ˝¤ĘĽłĄźĽÉ¤ňÄ󜥤ˇ¤Ţ¤šĄŁ
ĽłĄźĽÉ¤ĎĽÍĽĂĽČĽďĄźĽŻĽŤĄźĽÉžĺ¤ÎĽÖĄźĽČ PROM ¤ËžĆ¤ÉŐ¤ą¤ë¤ŤĄ˘
¤˘¤ë¤¤¤ĎĽíĄźĽŤĽëĽŐĽíĽĂĽÔĄź (ĽĎĄźĽÉ) ĽÇĽŁĽšĽŻĽÉĽéĽ¤ĽÖĄ˘
¤Ţ¤ż¤Ďưşî¤ˇ¤Ć¤¤¤ë &ms-dos; ĽˇĽšĽĆĽŕ¤Ť¤éĆɤߚţ¤ŕ¤ł¤Č¤Ź¤Ç¤¤Ţ¤šĄŁ
Âż¤Ż¤ÎĽÍĽĂĽČĽďĄźĽŻĽŤĄźĽÉ¤ËÂĐąţ¤ˇ¤Ć¤¤¤Ţ¤šĄŁĽľĽóĽ×ĽëĽšĽŻĽęĽ×ĽČ
(/usr/share/examples/diskless/clone_root)
¤ĎĽľĄźĽĐžĺ¤ÇĄ˘
ĽďĄźĽŻĽšĽĆĄźĽˇĽçĽó¤ÎĽëĄźĽČĽŐĽĄĽ¤ĽëĽˇĽšĽĆĽŕ¤ÎşîŔŽ¤Č°Ýťý¤ň¤ä¤ę°×¤Ż¤ˇ¤Ţ¤šĄŁ
¤ł¤ÎĽšĽŻĽęĽ×ĽČ¤ĎžŻ¤ˇ˝ń¤´š¤¨¤Ę¤¤¤Č¤¤¤ą¤Ę¤¤¤Ç¤ˇ¤ç¤Ś¤ŹĄ˘
Á᤯źč¤ęłÝ¤Ť¤ě¤ë¤č¤Ś¤Ë¤ˇ¤Ţ¤šĄŁĽÇĽŁĽšĽŻĽěĽšĽˇĽšĽĆĽŕľŻĆ°¤ň¸ĄĂΤˇĽľĽÝĄźĽČ¤š¤ëɸ˝ŕ¤ÎĽˇĽšĽĆĽŕľŻĆ°ĽŐĽĄĽ¤Ľë¤Ź
/etc Ćâ¤Ë¤˘¤ę¤Ţ¤šĄŁÉŹÍפʤ饢NFS
ĽŐĽĄĽ¤Ľë¤Ţ¤ż¤ĎĽíĄźĽŤĽëĽÇĽŁĽšĽŻ¤Î¤É¤Á¤é¤Ť¤ËĽšĽďĽĂĽ×¤Ç¤¤Ţ¤šĄŁĽÇĽŁĽšĽŻĽěĽšĽďĄźĽŻĽšĽĆĄźĽˇĽçĽó¤ňŔßÄꤚ¤ëĘýËĄ¤Ď¤¤¤í¤¤¤í¤˘¤ę¤Ţ¤šĄŁ
Âż¤Ż¤ÎÍ×ÁÇ¤Ź´Ř¤ď¤Ă¤Ć¤Ş¤ęĄ˘
¤˝¤ÎÂż¤Ż¤ĎĽíĄźĽŤĽë¤Îžőśˇ¤Ëšç¤ď¤ť¤ĆĽŤĽšĽżĽŢĽ¤Ľş¤Ç¤¤Ţ¤šĄŁ˛źľ¤ĎĄ˘
Ăą˝ă¤ľ¤Čɸ˝ŕ¤Î FreeBSD
ľŻĆ°ĽšĽŻĽęĽ×ĽČ¤Č¤Î¸ß´šŔ¤ňśŻÄ´¤ˇ¤ż´°Á´¤ĘĽˇĽšĽĆĽŕ¤ÎŔßÄę¤ňŔâĚŔ¤ˇ¤Ţ¤šĄŁ
ľ˝Ň¤ľ¤ě¤Ć¤¤¤ëĽˇĽšĽĆĽŕ¤ÎĆĂħ¤ĎźĄ¤Î¤Č¤Ş¤ę¤Ç¤šĄŁĽÇĽŁĽšĽŻĽěĽšĽďĄźĽŻĽšĽĆĄźĽˇĽçĽó¤ĎĄ˘
śŚÍ¤ľ¤ě¤żĆɤߟč¤ęŔěÍѤÎ
ĽëĄźĽČĽŐĽĄĽ¤ĽëĽˇĽšĽĆĽŕ¤ČĄ˘
śŚÍ¤ľ¤ě¤żĆɤߟč¤ęŔěÍѤÎ
/usr ¤ňťČÍѤˇ¤Ţ¤šĄŁĽëĄźĽČ ĽŐĽĄĽ¤ĽëĽˇĽšĽĆĽŕ¤ĎĄ˘
ɸ˝ŕĹŞ¤Ę FreeBSD (ĹľˇżĹŞ¤Ë¤ĎĽľĄźĽĐ¤Î) ¤ÎĽëĄźĽČ¤ÎĽłĽÔĄź¤ÇĄ˘
°ěÉô¤ÎŔßÄęĽŐĽĄĽ¤Ľë¤ŹĄ˘ĽÇĽŁĽšĽŻĽěĽš˛ÔĆŻĄ˘
¤Ţ¤żžěšç¤Ë¤č¤Ă¤Ć¤Ď¤˝¤ÎĽďĄźĽŻĽšĽĆĄźĽˇĽçĽó¤ËĆĂͤΤâ¤Î¤Çžĺ˝ń¤¤ľ¤ě¤Ć¤¤¤Ţ¤šĄŁ˝ń¤šţ¤ß˛ÄÇ˝¤Ç¤Ę¤ą¤ě¤Đ¤Ę¤é¤Ę¤¤ ĽëĄźĽČ
¤ÎÉôĘŹ¤Ď &man.mfs.8; ĽŐĽĄĽ¤ĽëĽˇĽšĽĆĽŕ¤Çʤ¤ď¤ě¤Ţ¤šĄŁ
ĽˇĽšĽĆĽŕ¤ŹşĆľŻĆ°¤š¤ë¤Č¤¤Ë¤Ď¤š¤Ů¤Ć¤ÎĘŃšš¤Źźş¤ď¤ě¤ë¤Ç¤ˇ¤ç¤ŚĄŁĽŤĄźĽÍĽë¤Ď DHCP (¤Ţ¤ż¤Ď BOOTP) ¤Ş¤č¤Ó TFTP ¤ňÍѤ¤¤Ć
etherboot ¤Ë¤č¤Ă¤ĆĆɤߚţ¤Ţ¤ě¤Ţ¤šĄŁľ˝Ň¤ľ¤ě¤Ć¤¤¤ë¤Č¤Ş¤ęĄ˘
¤ł¤ÎĽˇĽšĽĆĽŕ¤Ď°ÂÁ´¤Ç¤Ď¤˘¤ę¤Ţ¤ť¤óĄŁ
ĽÍĽĂĽČĽďĄźĽŻ¤ÎĘݸ¤ě¤żČϰϤǝČÍѤľ¤ě¤ë¤Ů¤¤Ç¤˘¤ęĄ˘
ž¤ÎĽŰĽšĽČ¤Ť¤éżŽÍꤾ¤ě¤Ć¤Ď¤¤¤ą¤Ţ¤ť¤óĄŁĽťĽĂĽČĽ˘ĽĂĽ×¤Îźę˝çDHCP/BOOTP ¤ÎŔßÄęĽÇĽŁĽšĽŻĽěĽš˛ÔĆŻľŻĆ°ĽÍĽĂĽČĽďĄźĽŻ¤ňÄ̤¸¤ĆŔßÄę¤ňźčĆŔ¤ˇĄ˘
ĽďĄźĽŻĽšĽĆĄźĽˇĽçĽó¤ňľŻĆ°¤š¤ë¤ż¤á¤Ë°ěČĚĹŞ¤ËťČÍѤľ¤ě¤ëĽ×ĽíĽČĽłĽë¤Ë¤ĎĄ˘
BOOTP ¤Č DHCP ¤Î 2 ¤Ä¤Ź¤˘¤ę¤Ţ¤šĄŁ
¤˝¤ě¤é¤ĎĽďĄźĽŻĽšĽĆĄźĽˇĽçĽó¤ÎĽÖĄźĽČĽšĽČĽéĽĂĽ×ťţ¤Ë˛żĽő˝ę¤Ť¤ÇťČÍѤľ¤ě¤Ţ¤šĄŁetherboot
¤ĎĽŤĄźĽÍĽë¤ň¸Ť¤Ä¤ą¤ë¤ż¤á¤Ë DHCP (ĽÇĽŐĽŠĽëĽČ) ¤Ţ¤ż¤Ď
BOOTP (ŔßÄ꼪Ľ×ĽˇĽçĽó¤ŹÉŹÍ×) ¤ňťČÍѤˇ¤Ţ¤š
(PXE ¤Ď DHCP ¤ňťČÍѤˇ¤Ţ¤š) ĄŁNFS ĽëĄźĽČ¤Îžě˝ę¤ňÄę¤á¤ë¤ż¤á¤ËĽŤĄźĽÍĽë¤Ď
BOOTP ¤ňťČÍѤˇ¤Ţ¤šĄŁBOOTP ¤Ŕ¤ą¤ňťČÍѤš¤ë¤č¤Ś¤ËĽˇĽšĽĆĽŕ¤ňŔßÄꤚ¤ë¤ł¤Č¤â¤Ç¤¤Ţ¤šĄŁ
&man.bootpd.8; ĽľĄźĽĐĽ×ĽíĽ°ĽéĽŕ¤Ď
FreeBSD ¤ÎĽŮĄźĽšĽˇĽšĽĆĽŕ¤Ë´Ţ¤Ţ¤ě¤Ć¤¤¤Ţ¤šĄŁ¤ˇ¤Ť¤ˇ¤Ę¤Ź¤éĄ˘DHCP ¤Ë¤Ď BOOTP ¤ËžĄ¤ëĹŔ¤ŹÂżĄš¤˘¤ę¤Ţ¤šĄŁ
(¤č¤ę¤č¤¤ŔßÄęĽŐĽĄĽ¤ĽëĄ˘PXE ¤ŹťČ¤¨¤ë¤ł¤ČĄ˘
¤˝¤ˇ¤ĆĽÇĽŁĽšĽŻĽěĽš˛ÔĆŻ¤Ë¤ĎÄžŔܴء¸¤ˇ¤Ę¤¤Âż¤Ż¤ÎÄš˝ę)
¤ł¤ł¤Ç¤Ď BOOTP ¤Ŕ¤ąÍřÍѤš¤ëžěšç¤ČĄ˘
BOOTP ¤Č DHCP ¤ňÁȤߚç¤ď¤ť¤żŔßÄę¤ň°ˇ¤¤¤Ţ¤šĄŁĆĂ¤Ë ISC DHCP
Ľ˝ĽŐĽČĽŚĽ§Ľ˘ĽŃĽĂĽąĄźĽ¸¤ňÍřÍѤš¤ë¸ĺźÔ¤ÎĘýËĄ¤Ë˝ĹĹŔ¤ň¤Ş¤¤Ţ¤šĄŁISC DHCP ¤ňťČÍѤš¤ëŔßÄęDHCPĽÇĽŁĽšĽŻĽěĽš˛ÔĆŻisc-dhcp ĽľĄźĽĐ¤ĎĄ˘
BOOTP ¤Ş¤č¤Ó DHCP ĽęĽŻĽ¨ĽšĽČ¤ÎΞĘý¤ËĹú¤¨¤ë¤ł¤Č¤Ź¤Ç¤¤Ţ¤šĄŁ4.4-RELEASE ¤ÎťţĹŔ¤Ç isc-dhcp 3.0
¤ĎĽŮĄźĽšĽˇĽšĽĆĽŕ¤Î°ěÉô¤Ç¤ĎĚľ¤Ż¤Ę¤ę¤Ţ¤ˇ¤żĄŁ
¤Ţ¤ş¤Ď¤¸¤á¤Ë
net/isc-dhcp3-server port
¤Ţ¤ż¤ĎÂĐąţ¤š¤ë package ¤ňĽ¤ĽóĽšĽČĄźĽë¤š¤ëÉŹÍפʤ˘¤ë¤Ç¤ˇ¤ç¤ŚĄŁ
ports ¤Ş¤č¤Ó package ¤Ë´Ř¤š¤ë°ěČĚĹŞ¤ĘžđĘó¤Ë¤Ä¤¤¤Ć¤Ď
¤ňť˛žČ¤ˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁisc-dhcp ¤ŹĽ¤ĽóĽšĽČĄźĽë¤ľ¤ě¤ë¤ČĄ˘
ưşî¤š¤ë¤ż¤á¤ËŔßÄęĽŐĽĄĽ¤Ľë¤ňÉŹÍפȤˇ¤Ţ¤š
(ÄĚžď /usr/local/etc/dhcpd.conf
¤ŹťŘÄꤾ¤ě¤Ţ¤š) ĄŁ
˛źľ¤ËĽłĽáĽóĽČ¤ň´Ţ¤á¤żÎă¤ňꍤˇ¤Ţ¤šĄŁ
default-lease-time 600;
max-lease-time 7200;
authoritative;
option domain-name "example.com";
option domain-name-servers 192.168.4.1;
option routers 192.168.4.1;
subnet 192.168.4.0 netmask 255.255.255.0 {
use-host-decl-names on;
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.4.255;
host margaux {
hardware ethernet 01:23:45:67:89:ab;
fixed-address margaux.example.com;
next-server 192.168.4.4;
filename "/tftpboot/kernel.diskless";
option root-path "192.168.4.4:/data/misc/diskless";
}
}¤ł¤ÎĽŞĽ×ĽˇĽçĽó¤Ď
host Ŕë¸Ŕ¤ÎĂͤňĄ˘
ĽÇĽŁĽšĽŻĽěĽšĽŰĽšĽČ¤Ř¤ÎĽŰĽšĽČĚž¤Č¤ˇ¤ĆÁ÷¤ë¤č¤Ś¤Ë
dhcpd ¤ËťŘꍤˇ¤Ţ¤šĄŁ
Ę̤ÎĘýËĄ¤Č¤ˇ¤ĆĄ˘ĽŰĽšĽČŔë¸ŔĆâ¤Ë
option host-name margaux
¤ň˛Ă¤¨¤ë¤â¤Î¤Ź¤˘¤ę¤Ţ¤šĄŁTFTP ĽľĄźĽĐ¤ň
next-server ĽÇĽŁĽěĽŻĽĆĽŁĽÖ¤ËťŘÄꤡ¤Ţ¤š
(ĽÇĽŐĽŠĽëĽČ¤Ď DHCP ĽľĄźĽĐ¤ČĆą¤¸ĽŰĽšĽČ¤ňťČ¤¤¤Ţ¤š)ĄŁĽŤĄźĽÍĽë¤Č¤ˇ¤Ć
etherboot ¤ŹĆɤߚţ¤ŕĽŐĽĄĽ¤Ľë¤ň
filename ĽÇĽŁĽěĽŻĽĆĽŁĽÖ¤ËťŘÄꤡ¤Ţ¤šĄŁ
PXE ¤ĎÁęÂĐĹŞ¤ĘĽŐĽĄĽ¤ĽëĚž¤ňšĽ¤ŕ¤č¤Ś¤Ç¤šĄŁ
¤Ţ¤żĄ˘ĽŤĄźĽÍĽë¤Ç¤Ď¤Ę¤Ż pxeboot
¤ňĆɤߚţ¤ß¤Ţ¤š
(option filename "pxeboot")ĄŁĽëĄźĽČĽŐĽĄĽ¤ĽëĽˇĽšĽĆĽŕ¤Ř¤ÎĽŃĽš¤ňĄ˘
ÄĚžď¤Î NFS ˝ńź°¤Ç root-path
ĽŞĽ×ĽˇĽçĽó¤ËťŘÄꤡ¤Ţ¤šĄŁBOOTP ¤ňťČÍѤš¤ëŔßÄęBOOTPĽÇĽŁĽšĽŻĽěĽš˛ÔĆŻÂł¤ą¤ĆĄ˘bootpd
¤ÇĆąĹů¤Î¤ł¤Č¤ň¤š¤ëŔßÄę¤Ç¤šĄŁ
¤ł¤ě¤Ď /etc/bootptab ¤Ë¤Ş¤¤Ţ¤šĄŁBOOTP ¤ňťČÍѤš¤ë¤ż¤á¤ËĄ˘ĽÇĽŐĽŠĽëĽČ¤Ç¤Ď¤Ę¤¤
NO_DHCP_SUPPORT ĽŞĽ×ĽˇĽçĽóÉŐ¤¤Ç
etherboot
¤ňĽłĽóĽŃĽ¤Ľë¤ˇ¤Ę¤ą¤ě¤Đ¤Ę¤é¤Ę¤¤¤ł¤Č¤ČĄ˘PXE ¤Ď DHCP
¤ň ÉŹÍ× ¤Č¤š¤ë¤ł¤Č¤ËĂí°Ő¤ˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ
bootpd ¤ÎÍŁ°ěĚŔÇň¤ĘÍřĹŔ¤ĎĄ˘
¤ł¤ě¤ŹĽŮĄźĽšĽˇĽšĽĆĽŕ¤Ë¸şß¤š¤ë¤Č¤¤¤Ś¤ł¤Č¤Ç¤šĄŁ
.def100:\
:hn:ht=1:sa=192.168.4.4:vm=rfc1048:\
:sm=255.255.255.0:\
:ds=192.168.4.1:\
:gw=192.168.4.1:\
:hd="/tftpboot":\
:bf="/kernel.diskless":\
:rp="192.168.4.4:/data/misc/diskless":
margaux:ha=0123456789ab:tc=.def100Etherboot
¤ňÍѤ¤¤ëĽÖĄźĽČĽ×ĽíĽ°ĽéĽŕ¤Î˝ŕČ÷EtherbootEtherboot
¤ÎĽŚĽ§ĽÖĽľĽ¤ĽČ ¤Ë¤Ďźç¤Ë Linux ĽˇĽšĽĆĽŕ¤Ë¤Ä¤¤¤Ć˝Ň¤Ů¤ż
šČϰϤÎʸ˝ń
¤Ź´Ţ¤Ţ¤ě¤Ć¤¤¤Ţ¤šĄŁ
¤ˇ¤Ť¤ˇĄ˘¤˝¤ě¤Ë¤â¤Ť¤Ť¤ď¤é¤şÍÍѤʞđĘó¤ň´Ţ¤ó¤Ç¤¤¤Ţ¤šĄŁ
˛źľ¤Ď FreeBSD ĽˇĽšĽĆĽŕžĺ¤Ç¤Î etherboot
¤ÎťČÍŃËĄ¤Ë¤Ä¤¤¤Ć¤Îłľ´Ń¤ňꍤˇ¤Ţ¤šĄŁ¤Ţ¤ş¤Ď¤¸¤á¤Ë net/etherboot
¤Î package ¤Ţ¤ż¤Ď port ¤ňĽ¤ĽóĽšĽČĄźĽë¤ˇ¤Ę¤ą¤ě¤Đ¤Ę¤ę¤Ţ¤ť¤óĄŁ
etherboot port ¤ĎÄĚžď
/usr/ports/net/etherboot ¤Ë¤˘¤ę¤Ţ¤šĄŁ
ports ĽÄĽęĄź¤ŹĽˇĽšĽĆĽŕ¤ËĽ¤ĽóĽšĽČĄźĽë¤ľ¤ě¤Ć¤¤¤ëžěšçĄ˘
¤ł¤ÎĽÇĽŁĽěĽŻĽČĽęĆâ¤Ç make
¤ňźÂšÔ¤š¤ě¤ĐĄ˘¤č¤¤Ëˇ×¤é¤Ă¤Ć¤Ż¤ě¤Ţ¤šĄŁ
ports ¤Ş¤č¤Ó packages ¤Ë´Ř¤š¤ëžđĘó¤Ď
¤ňť˛žČ¤ˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ¤ł¤ł¤ÇŔâĚŔ¤ˇ¤Ć¤¤¤ëĘýËĄ¤Ç¤ĎĄ˘ĽÖĄźĽČĽŐĽíĽĂĽÔĄź¤ňťČÍѤˇ¤Ţ¤šĄŁ
ž¤ÎĘýËĄ (PROM ¤Ţ¤ż¤Ď DOS Ľ×ĽíĽ°ĽéĽŕ) ¤Ë¤Ä¤¤¤Ć¤Ď
etherboot
¤Îʸ˝ń¤ňť˛žČ¤ˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁĽÖĄźĽČĽŐĽíĽĂĽÔĄź¤ňşîŔޤš¤ë¤ż¤á¤Ë¤ĎĄ˘
etherboot
¤ňĽ¤ĽóĽšĽČĄźĽë¤ˇ¤żĽŢĽˇĽó¤ÎĽÉĽéĽ¤ĽÖ¤ËĽŐĽíĽĂĽÔĄźĽÇĽŁĽšĽŻ¤ňÁŢĆţ¤ˇ¤Ţ¤šĄŁ
¤˝¤ě¤Ť¤éĽŤĽěĽóĽČĽÇĽŁĽěĽŻĽČĽę¤ň etherboot
ĽÄĽęĄźĆâ¤Î src
ĽÇĽŁĽěĽŻĽČĽę¤Ë¤ˇ¤ĆźĄ¤Î¤č¤Ś¤ËĆţÎϤˇ¤Ţ¤šĄŁ
&prompt.root; gmake bin32/devicetype.fd0devicetype ¤Ď
ĽÇĽŁĽšĽŻĽěĽšĽďĄźĽŻĽšĽĆĄźĽˇĽçĽó¤ÎĽ¤ĄźĽľĽÍĽĂĽČĽŤĄźĽÉĽżĽ¤Ľ×¤Ë°Í¸¤ˇ¤Ţ¤šĄŁ
Ŕľ¤ˇ¤¤ devicetype ¤ňˇčÄꤚ¤ë¤ż¤á¤ËĄ˘
Ćą¤¸ĽÇĽŁĽěĽŻĽČĽęĆâ¤Î NIC
ĽŐĽĄĽ¤Ľë¤ňť˛žČ¤ˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁTFTP ¤Ş¤č¤Ó NFS ĽľĄźĽĐ¤ÎŔßÄęTFTPĽÇĽŁĽšĽŻĽěĽš˛ÔĆŻNFSĽÇĽŁĽšĽŻĽěĽš˛ÔĆŻTFTP ĽľĄźĽĐžĺ¤Ç tftpd
¤ň͸ú¤Ë¤š¤ëÉŹÍפʤ˘¤ę¤Ţ¤šĄŁtftpd ¤ŹÄ󜥤š¤ëĽŐĽĄĽ¤Ľë¤ňĂÖ¤ŻĽÇĽŁĽěĽŻĽČĽę
(¤ż¤Č¤¨¤Đ /tftpboot)
¤ňşîŔޤˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ/etc/inetd.conf
ĽŐĽĄĽ¤Ľë¤Ë°Ę˛ź¤ÎšÔ¤ňÄɲ䎤äݤŔ¤ľ¤¤ĄŁtftp dgram udp wait root /usr/libexec/tftpd tftpd -s /tftpbootžŻ¤Ę¤Ż¤Č¤â PXE ¤Î¤¤¤Ż¤Ä¤Ť¤ÎĽĐĄźĽ¸ĽçĽó¤Ź TCP ČǤÎ
TFTP ¤ňÍ׾ᤚ¤ë¤č¤Ś¤Ç¤šĄŁ¤˝¤Îžěšç
dgram udp ¤ň stream tcp
¤ËĂÖ¤´š¤¨¤ż 2 ČÖĚܤΚԤňÄɲ䎤äݤŔ¤ľ¤¤ĄŁinetd
¤ËŔßÄęĽŐĽĄĽ¤Ľë¤ňşĆĆɤߚţ¤ß¤ľ¤ť¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ&prompt.root; kill -HUP `cat /var/run/inetd.pid`tftpboot
ĽÇĽŁĽěĽŻĽČĽę¤ĎĽľĄźĽĐžĺ¤Î¤É¤ł¤Ë¤Ç¤âĂÖ¤ą¤Ţ¤šĄŁ
¤˝¤Îžě˝ę¤Ź inetd.conf ¤Ş¤č¤Ó
dhcpd.conf
¤ÎΞĘý¤ËŔßÄꤾ¤ě¤Ć¤¤¤ë¤ł¤Č¤ňłÎ¤Ť¤á¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ¤ľ¤é¤Ë NFS ¤ň͸ú¤Ë¤ˇ¤Ć
NFS ĽľĄźĽĐ¤ÎĹŹŔڤʼռĄĽ¤ĽëĽˇĽšĽĆĽŕ¤ňĽ¨ĽŻĽšĽÝĄźĽČ¤š¤ëÉŹÍפʤ˘¤ę¤Ţ¤šĄŁ¤ł¤ÎšÔ¤ň /etc/rc.conf
¤ËÄɲ䎤äݤŔ¤ľ¤¤ĄŁnfs_server_enable="YES"˛źľ¤ň /etc/exports ¤Ë˛Ă¤¨¤ë¤ł¤Č¤ÇĄ˘
ĽÇĽŁĽšĽŻĽěĽšĽŢĽˇĽó¤ÎĽëĄźĽČĽÇĽŁĽěĽŻĽČĽę¤Ź°ĚĂÖ¤š¤ëĽŐĽĄĽ¤ĽëĽˇĽšĽĆĽŕ¤ňĽ¨ĽŻĽšĽÝĄźĽČ¤ˇ¤Ć¤Ż¤Ŕ¤ľ¤¤
(ĽÜĽęĽĺĄźĽŕ¤ÎĽŢĽŚĽóĽČĽÝĽ¤ĽóĽČ¤ňĹŹĹö¤ËÄ´ŔᤡĄ˘
margaux
¤ňĽÇĽŁĽšĽŻĽěĽšĽďĄźĽŻĽšĽĆĄźĽˇĽçĽó¤ÎĚžÁ°¤ËĂÖ¤´š¤¨¤Ć¤Ż¤Ŕ¤ľ¤¤)ĄŁ/data/misc -alldirs -ro margauxmountd
¤ËŔßÄęĽŐĽĄĽ¤Ľë¤ňşĆĆɤߚţ¤ß¤ľ¤ť¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ
/etc/rc.conf Ćâ¤Ç NFS
¤ň¤Ď¤¸¤á¤Ć͸ú¤Ë¤š¤ëÉŹÍפʤ˘¤Ă¤ż¤Î¤Ę¤éĄ˘
Âĺ¤ď¤ę¤ËşĆľŻĆ°¤ˇ¤żĘý¤Ź¤č¤¤¤Ť¤â¤ˇ¤ě¤Ţ¤ť¤óĄŁ&prompt.root; kill -HUP `cat /var/run/mountd.pid`ĽÇĽŁĽšĽŻĽěĽšÍѤμŤĄźĽÍĽëš˝ĂŰĽÇĽŁĽšĽŻĽěĽš˛ÔĆŻĽŤĄźĽÍĽëŔßÄ꟥¤ÎĽŞĽ×ĽˇĽçĽó¤ň (ÄĚžď¤Î¤â¤Î¤Ë) Äɲ䡤żĄ˘
ĽÇĽŁĽšĽŻĽěĽšĽŻĽéĽ¤Ľ˘ĽóĽČÍѤμŤĄźĽÍĽëĽłĽóĽŐĽŁĽ°ĽěĄźĽˇĽçĽóĽŐĽĄĽ¤Ľë¤ňşîŔޤˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ
options BOOTP # Use BOOTP to obtain IP address/hostname
options BOOTP_NFSROOT # NFS mount root filesystem using BOOTP info
options BOOTP_COMPAT # Workaround for broken bootp daemons.BOOTP_NFSV3 ¤Ş¤č¤Ó
BOOTP_WIRED_TO ¤ňÍřÍѤˇ¤Ć¤â¤č¤¤¤Ť¤â¤ˇ¤ě¤Ţ¤ť¤ó
(LINT ¤ňť˛žČ¤ˇ¤Ć¤Ż¤Ŕ¤ľ¤¤)ĄŁĽŤĄźĽÍĽë¤ňš˝Ăۤˇ¤Ć ( ¤ňť˛žČ)Ą˘
dhcpd.conf ¤Ëľ˝Ň¤ˇ¤żĚžžÎ¤Ç
tftp ĽÇĽŁĽěĽŻĽČĽę¤ËĽłĽÔĄź¤ˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁĽëĄźĽČĽŐĽĄĽ¤ĽëĽˇĽšĽĆĽŕ¤Î˝ŕČ÷ĽëĄźĽČĽŐĽĄĽ¤ĽëĽˇĽšĽĆĽŕĽÇĽŁĽšĽŻĽěĽš˛ÔĆŻdhcpd.conf ¤Ë
root-path ¤Č¤ˇ¤ĆľşÜ¤ľ¤ě¤ż
ĽÇĽŁĽšĽŻĽěĽšĽďĄźĽŻĽšĽĆĄźĽˇĽçĽó¤Î¤ż¤á¤ÎĽëĄźĽČĽŐĽĄĽ¤ĽëĽˇĽšĽĆĽŕ¤ňşîŔޤš¤ëÉŹÍפʤ˘¤ę¤Ţ¤šĄŁ¤ł¤ě¤ňšÔ¤ŚşÇ¤â´ĘĂą¤ĘĘýËĄ¤Ď
/usr/share/examples/diskless/clone_root
ĽˇĽ§ĽëĽšĽŻĽęĽ×ĽČ¤ňťČÍѤš¤ë¤ł¤Č¤Ç¤šĄŁ
¤ł¤ÎĽšĽŻĽęĽ×ĽČ¤ĎĄ˘žŻ¤Ę¤Ż¤Č¤âĽŐĽĄĽ¤ĽëĽˇĽšĽĆĽŕ¤ŹşîŔޤľ¤ě¤ëžě˝ę
(DEST ĘŃżô)
¤ňÄ´Ŕᤚ¤ë¤ż¤á¤ËĘŃšš¤š¤ëÉŹÍפʤ˘¤ę¤Ţ¤šĄŁŔâĚŔ¤Ë¤Ä¤¤¤Ć¤ĎĽšĽŻĽęĽ×ĽČ¤Î°ěČÖžĺ¤Ë¤˘¤ëĽłĽáĽóĽČ¤ňť˛žČ¤ˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ
ĽŮĄźĽšĽˇĽšĽĆĽŕ¤ň¤É¤Î¤č¤Ś¤Ëš˝Ăۤš¤ë¤ŤĄ˘
¤Ţ¤żĽŐĽĄĽ¤Ľë¤Ź¤É¤Î¤č¤Ś¤ËĽÇĽŁĽšĽŻĽěĽš˛ÔĆŻĄ˘ĽľĽÖĽÍĽĂĽČĄ˘
¤Ţ¤ż¤Ď¸ÄĄš¤ÎĽďĄźĽŻĽšĽĆĄźĽˇĽçĽó¤Ë¸ÇÍ¤ÎĽĐĄźĽ¸ĽçĽó¤Ë¤č¤Ă¤ĆĄ˘
ÁŞÂňĹŞ¤ËĽŞĄźĽĐĽéĽ¤ĽÉ¤Ç¤¤ë¤Ť¤ňŔâĚŔ¤ˇ¤Ţ¤šĄŁ
¤Ţ¤żĄ˘ĽÇĽŁĽšĽŻĽěĽš¤Ęžěšç¤Î
/etc/fstab ĽŐĽĄĽ¤Ľë¤Ş¤č¤Ó
/etc/rc.conf ĽŐĽĄĽ¤Ľë¤ÎÎă¤ňꍤˇ¤Ţ¤šĄŁ/usr/share/examples/diskless
Ćâ¤Î README
ĽŐĽĄĽ¤Ľë¤Ë¤ĎĄ˘Âż¤Ż¤Îś˝ĚŁżź¤¤ÇءʞđĘ󤏽ń¤Ť¤ě¤Ć¤¤¤Ţ¤šĄŁ
¤ˇ¤Ť¤ˇ diskless ĽÇĽŁĽěĽŻĽČĽęĆâ¤Îž¤ÎÎă¤ČĆą¤¸¤ŻĄ˘
clone_root ¤Č
/etc/rc.diskless[12]
¤ÇźÂşÝ¤ËťČ¤ď¤ě¤Ć¤¤¤ë¤â¤Î¤Č¤Ď°Ű¤Ę¤ëŔßÄęĘýËĄ¤ŹŔâĚŔ¤ľ¤ě¤Ć¤¤¤Ţ¤šĄŁ
¤ł¤ł¤Ë˝ń¤Ť¤ě¤Ć¤¤¤ëĘýËĄ¤Ď
rc ĽšĽŻĽęĽ×ĽČ¤ÎĘŃšš¤ŹÉŹÍפˤʤę¤Ţ¤š¤ŹĄ˘
¤ł¤Á¤é¤ÎĘý¤Źľ¤¤ËĆţ¤Ă¤ż¤Č¤¤¤Ś¤Î¤Ç¤Ę¤ą¤ě¤ĐĄ˘
ť˛žČ¤Ë¤Č¤É¤á¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁĽšĽďĽĂĽ×¤ÎŔßÄęÉŹÍפʤ饢ĽľĄźĽĐ¤ËĂÖ¤Ť¤ě¤żĽšĽďĽĂĽ×ĽŐĽĄĽ¤Ľë¤Ë
NFS ˇĐÍł¤ÇĽ˘ĽŻĽťĽš¤Ç¤¤Ţ¤šĄŁ
bootptab ¤Ţ¤ż¤Ď
dhcpd.conf ¤ÎŔľłÎ¤ĘĽŞĽ×ĽˇĽçĽó¤ĎĄ˘
¸˝ťţĹŔ¤Ç¤ĎĚŔłÎ¤Ë¤Ďʸ˝ń˛˝¤ľ¤ě¤Ć¤¤¤Ţ¤ť¤óĄŁ
˛źľ¤ÎŔßÄęÎă¤Ď isc-dhcp 3.0rc11
¤ňťČÍѤˇ¤Ćưşî¤ˇ¤ż¤ČĘóšđ¤ľ¤ě¤Ć¤¤¤ë¤â¤Î¤Ç¤šĄŁdhcpd.conf
¤Ë˛źľ¤ÎšÔ¤ňÄɲ䎤äݤŔ¤ľ¤¤ĄŁ
# Global section
option swap-path code 128 = string;
option swap-size code 129 = integer 32;
host margaux {
... # Standard lines, see above
option swap-path "192.168.4.4:/netswapvolume/netswap";
option swap-size 64000;
}¤ł¤ě¤ĎĄ˘žŻ¤Ę¤Ż¤Č¤â FreeBSD ĽŻĽéĽ¤Ľ˘ĽóĽČ¤Ë¤Ş¤¤¤Ć¤ĎĄ˘
DHCP/BOOTP ĽŞĽ×ĽˇĽçĽóĽłĄźĽÉ¤Î 128 ¤Ď
NFS ĽšĽďĽĂĽ×ĽŐĽĄĽ¤Ľë¤Ř¤ÎĽŃĽš¤ÇĄ˘ĽŞĽ×ĽˇĽçĽóĽłĄźĽÉ 129
¤Ď KB Ăą°Ě¤ÎĽšĽďĽĂĽ×ĽľĽ¤Ľş¤Ŕ¤Č¤¤¤Ś¤ł¤Č¤Ç¤šĄŁ
¤â¤Ă¤Č¸Ĺ¤¤ĽĐĄźĽ¸ĽçĽó¤Î dhcpd ¤Ç¤Ď
option option-128 "...
¤Č¤¤¤Ś˝ńź°¤Źźő¤ąÉŐ¤ą¤é¤ě¤Ţ¤ˇ¤ż¤ŹĄ˘
¤â¤Ď¤äÂĐąţ¤ˇ¤Ć¤¤¤Ţ¤ť¤óĄŁÂĺ¤ď¤ę¤ËĄ˘/etc/bootptab
¤Ç¤ĎźĄ¤Î˝ńź°¤ňťČ¤¤¤Ţ¤šĄŁT128="192.168.4.4:/netswapvolume/netswap":T129=0000fa00
/etc/bootptab
¤Ç¤ĎĄ˘ĽšĽďĽĂĽ×¤ÎÂ礤ľ¤Ď
16 żĘżô¤ÇÉ˝¤ľ¤Ę¤ą¤ě¤Đ¤Ę¤ę¤Ţ¤ť¤óĄŁNFS ĽšĽďĽĂĽ×ĽŐĽĄĽ¤ĽëĽľĄźĽĐÂŚ¤ÇĽšĽďĽĂĽ×ĽŐĽĄĽ¤Ľë¤ňşîŔޤˇ¤Ţ¤šĄŁ
&prompt.root; mkdir /netswapvolume/netswap
&prompt.root; cd /netswapvolume/netswap
&prompt.root; dd if=/dev/zero bs=1024 count=64000 of=swap.192.168.4.6
&prompt.root; chmod 0600 swap.192.168.4.6192.168.4.6
¤ĎĽÇĽŁĽšĽŻĽěĽšĽŻĽéĽ¤Ľ˘ĽóĽČ¤Î IP Ľ˘ĽÉĽěĽš¤Ç¤šĄŁNFS ĽšĽďĽĂĽ×ĽŐĽĄĽ¤ĽëĽľĄźĽĐžĺ¤Ç
/etc/exports
¤Ë˛źľ¤ÎšÔ¤ňÄɲ䎤äݤŔ¤ľ¤¤ĄŁ/netswapvolume -maproot=0:10 -alldirs margaux¤˝¤ě¤Ť¤éĄ˘žĺ˝Ň¤ˇ¤ż¤č¤Ś¤Ë mountd
¤ËĽ¨ĽŻĽšĽÝĄźĽČĽŐĽĄĽ¤Ľë¤ňşĆĆɤߚţ¤ß¤ľ¤ť¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁť¨Âż¤ĘĚäÂęĆɤߟč¤ęŔěÍѤΠ/usr
¤Çưşî¤ľ¤ť¤ëĽÇĽŁĽšĽŻĽěĽš˛ÔĆŻĆɤߟč¤ęŔěÍѤΠ/usrĽÇĽŁĽšĽŻĽěĽšĽďĄźĽŻĽšĽĆĄźĽˇĽçĽó¤Ź X
¤ňľŻĆ°¤š¤ë¤č¤Ś¤ËŔßÄꤾ¤ě¤Ć¤¤¤ëžěšçĄ˘
xdm ŔßÄęĽŐĽĄĽ¤Ľë¤ňÄ´Ŕ°¤ˇ¤Ę¤ą¤ě¤Đ¤Ę¤é¤Ę¤¤¤Ç¤ˇ¤ç¤ŚĄŁ
¤ł¤ě¤ĎĽÇĽŐĽŠĽëĽČ¤ÇĽ¨ĽéĄźĽŐĽĄĽ¤Ľë¤ň
/usr ¤ËĂÖ¤¤Ţ¤šĄŁFreeBSD ¤Ç¤Ď¤Ę¤¤ĽľĄźĽĐ¤ňťČÍѤš¤ëĽëĄźĽČĽŐĽĄĽ¤ĽëĽˇĽšĽĆĽŕ¤ňÄ󜥤š¤ëĽľĄźĽĐ¤Ź FreeBSD
¤Çưşî¤ˇ¤Ć¤¤¤Ę¤¤žěšçĄ˘
FreeBSD ĽŢĽˇĽóžĺ¤ÇĽëĄźĽČĽŐĽĄĽ¤ĽëĽˇĽšĽĆĽŕ¤ňşîŔޤˇĄ˘
tar ¤Ţ¤ż¤Ď cpio
¤ňÍřÍѤˇ¤ĆĂÖ¤¤ż¤¤žě˝ę¤ËĽłĽÔĄź¤ˇ¤Ę¤ą¤ě¤Đ¤Ę¤é¤Ę¤¤¤Ç¤ˇ¤ç¤ŚĄŁ¤ł¤Îžőśˇ¤Ç¤ĎĄ˘major/minor Ŕ°żôĽľĽ¤Ľş¤Ź°Ű¤Ę¤Ă¤Ć¤¤¤ë¤ł¤Č¤Ë¤č¤ę
/dev
Ćâ¤ÎĽšĽÚĽˇĽăĽëĽŐĽĄĽ¤Ľë¤Ë´Ř¤š¤ëĚäÂꤏťţĄš¤Ş¤ł¤ę¤Ţ¤šĄŁ
¤ł¤ÎĚäÂę¤ň˛ňˇč¤š¤ë¤Ë¤ĎĄ˘Čó FreeBSD
ĽľĄźĽĐ¤Ť¤éĽÇĽŁĽěĽŻĽČĽę¤ňĽ¨ĽŻĽšĽÝĄźĽČ¤ˇ¤ĆĄ˘
¤˝¤ÎĽÇĽŁĽěĽŻĽČĽę¤ň FreeBSD ĽŢĽˇĽó¤ÇĽŢĽŚĽóĽČ¤ˇĄ˘
FreeBSD ĽŢĽˇĽóžĺ¤Ç MAKEDEV
¤ňźÂšÔ¤ˇ¤ĆŔľ¤ˇ¤¤ĽÇĽĐĽ¤ĽšĽ¨ĽóĽČĽę¤ňşîŔޤˇ¤Ţ¤š
(FreeBSD 5.0 ¤Ş¤č¤Ó¤˝¤ě°Ęšß¤Ç¤ĎĄ˘&man.devfs.5;
¤ňťČÍѤˇ¤ĆĽćĄźĽś¤Ë°Őźą¤ľ¤ť¤ş¤ËĽÇĽĐĽ¤ĽšĽÎĄźĽÉ¤ňłä¤ęĹö¤Ć¤ë¤Î¤ÇĄ˘
¤ł¤ě¤é¤ÎĽĐĄźĽ¸ĽçĽó¤Ç¤Ď
MAKEDEV ¤ĎÉŹÍפ˘¤ę¤Ţ¤ť¤ó)ĄŁISDNISDNĚő: &a.jp.kiroh;.
11 December 1996.ISDN ľť˝Ń¤ČĽĎĄźĽÉĽŚĽ§Ľ˘¤Ë´Ř¤ˇ¤Ć¤ĎĄ˘
Dan Kegel's ISDN Page ¤Ź¤č¤¤ť˛šÍ¤Ë¤Ę¤ë¤Ç¤ˇ¤ç¤ŚĄŁźęˇÚ¤Ę ISDN ¤ÎĆłĆţźę˝ç¤Ď°Ę˛ź¤Î¤č¤Ś¤Ë¤Ę¤ę¤Ţ¤šĄŁĽčĄźĽíĽĂĽŃşß˝ť¤ÎĘý¤Ď ISDN ĽŤĄźĽÉ¤ÎŔá¤ËżĘ¤ó¤Ç¤Ż¤Ŕ¤ľ¤¤ĄŁĽŔĽ¤ĽäĽëĽ˘ĽĂĽ×ŔěÍѤǤʤ¤˛óŔţžĺ¤ÇĄ˘
Ľ¤ĽóĽżĄźĽÍĽĂĽČĽ×ĽíĽĐĽ¤ĽŔ¤ň¤Ä¤Ť¤Ă¤ĆĽ¤ĽóĽżĄźĽÍĽĂĽČ¤ËŔÜÂł¤š¤ë¤ż¤á¤Ë
ISDN ¤ňťČÍѤš¤ë¤ł¤Č¤ňÂč°ě¤ËšÍ¤¨¤Ć¤¤¤ëžěšç¤ĎĄ˘
ĽżĄźĽßĽĘĽëĽ˘ĽŔĽ×Ľż¤ÎťČÍѤňšÍ¤¨¤Ć¤ß¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ
¤ł¤ÎĘýËĄ¤Ď¤â¤Ă¤Č¤â˝ŔĆđŔ¤Ź¤˘¤ęĄ˘
Ľ×ĽíĽĐĽ¤ĽŔ¤ňĘŃšš¤ˇ¤żžěšç¤ÎĚäÂę¤âžŻ¤Ę¤¤¤Ç¤ˇ¤ç¤ŚĄŁ2 ¤Ä¤Î LAN ¤ňŔÜÂł¤š¤ëžěšç¤äĄ˘
ISDN ŔěÍŃŔţ¤ňťČÍѤš¤ëžěšç¤Ë¤ĎĄ˘
ĽšĽżĽóĽÉĽ˘ĽíĽó¤ĘĽëĄźĽż¤Ţ¤ż¤ĎĽÖĽęĽĂĽ¸¤ÎťČÍѤň´Ť¤á¤Ţ¤šĄŁČńÍѤϤɤβňˇčËĄ¤ňÁޤ֤Ť¤ňˇč¤á¤ë˝ĹÍפĘÍ×°ř¤Ç¤šĄŁ
°Ę˛ź¤ËĄ˘şÇ¤â°Â˛Á¤ĘĘýËĄ¤Ť¤éĄ˘šâ˛Á¤ĘĘýËĄ¤Ţ¤Ç˝ç¤ËŔâĚŔ¤ˇ¤Ć¤¤¤¤Ţ¤šĄŁHellmuthMichaelis´óšĆ: ISDN ĽŤĄźĽÉISDNĽŤĄźĽÉFreeBSD ¤Î ISDN źÂÁő¤ĎĄ˘ĽŃĽĂĽˇĽÖĽŤĄźĽÉ¤ňťČÍѤˇ¤ż DSS1/Q.931
(¤Ţ¤ż¤Ď Euro-ISDN) ɸ˝ŕ¤Ŕ¤ą¤ËÂĐąţ¤ˇ¤Ć¤¤¤Ţ¤šĄŁFreeBSD 4.4
¤Ť¤é¤ĎĄ˘ĽŐĽĄĄźĽŕĽŚĽ§Ľ˘¤ŹÂž¤ÎżŽšćĽ×ĽíĽČĽłĽë¤Ë¤âÂĐąţ¤ˇ¤Ć¤¤¤ë
°ěÉô¤ÎĽ˘ĽŻĽĆĽŁĽÖĽŤĄźĽÉ¤Ë¤âÂĐąţ¤ˇ¤Ţ¤ˇ¤żĄŁ
¤˝¤ÎĂć¤Ë¤ĎĄ˘¤Ď¤¸¤á¤ĆÂĐąţ¤ľ¤ě¤ż°ěźĄˇ˛ÂŽĹŮĽ¤ĽóĽżĽŐĽ§ĄźĽš (PRI)
ISDN ĽŤĄźĽÉ¤â¤˘¤ę¤Ţ¤šĄŁisdn4bsd ¤Ď IP over raw HDLC
¤Ţ¤ż¤ĎĆą´ü PPP ¤ňÍřÍѤˇ¤Ćž¤Î ISDN ĽëĄźĽż¤ËŔÜÂł¤Ç¤¤ë¤č¤Ś¤Ë¤ˇ¤Ţ¤šĄŁ
PPP ¤Ç¤ĎĄ˘ĽŤĄźĽÍĽë PPP ¤ň &man.sppp.4; ĽÉĽéĽ¤ĽĐ¤ň˝¤Ŕľ¤ˇ¤ż
isppp
ĽÉĽéĽ¤ĽĐ¤Č¤Č¤â¤ËÍřÍѤš¤ë¤ŤĄ˘¤Ţ¤ż¤Ď ĽćĄźĽśĽ×ĽíĽťĽš &man.ppp.8;
¤ňÍřÍѤš¤ë¤Ť¤Î¤É¤Á¤é¤Ť¤Ë¤Ę¤ę¤Ţ¤šĄŁĽćĄźĽś &man.ppp.8;
¤ňÍřÍѤš¤ë¤ČĄ˘Ćó¤Ä°Ęžĺ¤Î ISDN B ĽÁĽăĽÍĽë¤ňĘť¤ť¤ĆÍřÍѤǤ¤Ţ¤šĄŁ
Ľ˝ĽŐĽČĽŚĽ§Ľ˘ 300 ĽÜĄźĽâĽÇĽŕ¤Î¤č¤Ś¤ĘÂż¤Ż¤ÎĽćĄźĽĆĽŁĽęĽĆĽŁ¤Č¤Č¤â¤ËĄ˘
ÎąźéČÖĹĹĎĂĽ˘Ľ×ĽęĽąĄźĽˇĽçĽó¤âÍřÍѲÄÇ˝¤Ç¤šĄŁFreeBSD ¤ŹÂĐąţ¤ˇ¤Ć¤¤¤ë PC ISDN ĽŤĄźĽÉ¤Îżô¤ĎÁý˛Ă¤ˇ¤Ć¤Ş¤ęĄ˘
ĽčĄźĽíĽĂĽŃÁ´°č¤äŔ¤łŚ¤Î¤˝¤Îž¿¤Ż¤ÎĂϰč¤Ç¤Ś¤Ţ¤ŻťČ¤¨¤ë¤ł¤Č¤ŹĘóšđ¤ľ¤ě¤Ć¤¤¤Ţ¤šĄŁÂĐąţ¤ˇ¤Ć¤¤¤ëĽŃĽĂĽˇĽÖ ISDN ĽŤĄźĽÉ¤Î¤Ű¤Č¤ó¤É¤Ď Infineon
(Á°żČ¤Ď Siemens) ¤Î ISAC/HSCX/IPAC ISDN
ĽÁĽĂĽ×ĽťĽĂĽČ¤ňČ÷¤¨¤żĽŤĄźĽÉ¤Ç¤š¤ŹĄ˘
Cologne Chip ¤Ť¤éśĄľë¤ľ¤ě¤żĽÁĽĂĽ×¤ňČ÷¤¨¤ż ISDN ĽŤĄźĽÉ
(ISA ĽĐĽš¤Î¤ß)Ą˘Winbond W6692 ĽÁĽĂĽ×¤ňČ÷¤¨¤ż PCI ĽŤĄźĽÉĄ˘
Tiger300/320/ISAC ĽÁĽĂĽ×ĽťĽĂĽČ¤ňÁȤߚç¤ď¤żĽŤĄźĽÉ¤Î°ěÉôĄ˘
¤Ş¤č¤Ó AVM Fritz!Card PCI V.1.0 ¤ä AVM Fritz!Card PnP
¤Î¤č¤Ś¤ĘĽŮĽóĽŔĆČźŤ¤ÎĽÁĽĂĽ×ĽťĽĂĽČ¤Ë´đ¤Ĺ¤¤¤żĽŤĄźĽÉ¤â¤˘¤ę¤Ţ¤šĄŁ¸˝şß¤Î¤Č¤ł¤íĄ˘ÂĐąţ¤ˇ¤Ć¤¤¤ëĽ˘ĽŻĽĆĽŁĽÖĽŤĄźĽÉ¤Ď
AVM B1 (ISA ¤Ş¤č¤Ó PCI) BRI ĽŤĄźĽÉ¤Č AVM T1 PCI PRI ĽŤĄźĽÉ¤Ç¤šĄŁisdn4bsd ¤Ë¤Ä¤¤¤Ć¤Îʸ˝ń¤Ď
FreeBSD ĽˇĽšĽĆĽŕĆâ¤Î /usr/share/examples/isdn/
ĽÇĽŁĽěĽŻĽČĽę¤Ţ¤ż¤Ď
isdn4bsd
¤ÎĽŚĽ§ĽÖĽľĽ¤ĽČ¤ňť˛žČ¤ˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ
¤˝¤ł¤Ë¤ĎĽŇĽóĽČ¤äŔľ¸íÉ˝¤ä
isdn4bsd
ĽĎĽóĽÉĽÖĽĂĽŻ¤Î¤č¤Ś¤ĘĄ˘
¤ľ¤é¤ËÂż¤Ż¤Îʸ˝ń¤ËÂФš¤ëĽÝĽ¤ĽóĽż¤Ź¤˘¤ę¤Ţ¤šĄŁ°Ű¤Ę¤ë ISDN Ľ×ĽíĽČĽłĽë¤äĄ˘¸˝şßÂĐąţ¤ľ¤ě¤Ć¤¤¤Ę¤¤ ISDN PC
ĽŤĄźĽÉ¤ËÂĐąţ¤š¤ë¤ł¤Č¤äĄ˘¤˝¤Îž isdn4bsd
¤ňłČÄĽ¤š¤ë¤ł¤Č¤Ëś˝Ě٤ʤ˘¤ë¤Ę¤éĄ˘&a.hm; ¤ËϢÍí¤ˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁisdn4bsd ¤ÎĽ¤ĽóĽšĽČĄźĽëĄ˘ŔßÄꥢ
¤˝¤ˇ¤ĆĽČĽéĽÖĽëĽˇĽĺĄźĽĆĽŁĽóĽ°¤Ë´Ř¤ˇ¤ĆźÁĚ䤏¤˘¤ě¤Đ
&a.isdn.name; ĽáĄźĽęĽóĽ°ĽęĽšĽČ¤ŹÍřÍѲÄÇ˝¤Ç¤šĄŁISDN ĽżĄźĽßĽĘĽëĽ˘ĽŔĽ×ĽżĽżĄźĽßĽĘĽëĽ˘ĽŔĽ×Ľż (TA) ¤Ď ISDN ¤ÇĄ˘
ÄĚžď¤ÎĹĹĎĂŔţ¤Ë¤Ş¤ą¤ëĽâĽÇĽŕ¤ËÁęĹö¤š¤ë¤â¤Î¤Ç¤šĄŁĽâĽÇĽŕ¤Ű¤Č¤ó¤É¤Î TA ¤ĎĄ˘É¸˝ŕ¤ÎĽŘĽ¤Ľş AT
ĽłĽŢĽóĽÉĽťĽĂĽČ¤ňťČÍѤˇ¤Ć¤¤¤ë¤Î¤ÇĄ˘
Ăą¤ËĽâĽÇĽŕ¤ČĂÖ¤´š¤¨¤ĆťČ¤Ś¤ł¤Č¤Ź¤Ç¤¤Ţ¤šĄŁTA ¤ĎĄ˘´đËÜĹŞ¤Ë¤ĎĽâĽÇĽŕ¤ČĆą¤¸¤č¤Ś¤Ëưşî¤ˇ¤Ţ¤š¤ŹĄ˘
ŔÜÂłĘýËĄ¤Ď°Ű¤Ę¤ęĄ˘ÄĚżŽÂŽĹ٤â¸Ĺ¤¤ĽâĽÇĽŕ¤č¤ę¤Ď¤ë¤Ť¤ËÂŽ¤Ż¤Ę¤ę¤Ţ¤šĄŁ
PPP ¤ÎŔßÄę¤ňĄ˘
ĽâĽÇĽŕ¤Îžěšç¤ČĆą¤¸¤č¤Ś¤ËšÔ¤Ă¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ
Ćä˼ˇĽęĽ˘ĽëÂŽĹ٤ňťČÍѤǤ¤ëşÇšâÂŽĹ٤ËŔßÄꤚ¤ë¤Î¤ňËş¤ě¤Ę¤¤¤Ç¤Ż¤Ŕ¤ľ¤¤ĄŁPPPĽ×ĽíĽĐĽ¤ĽŔ¤Ř¤ÎŔÜÂł¤Ë TA ¤ňťČÍѤš¤ëşÇÂç¤ÎĽáĽęĽĂĽČ¤ĎĄ˘Ć°ĹŞ
PPP ¤ňšÔ¤¨¤ë¤ł¤Č¤Ç¤šĄŁ
şÇśá IP Ľ˘ĽÉĽěĽšśő´Ö¤Ź¤Ţ¤š¤Ţ¤šÉÔ¤ˇ¤Ć¤¤Ć¤¤¤ë¤ż¤áĄ˘
¤Ű¤Č¤ó¤É¤ÎĽ×ĽíĽĐĽ¤ĽŔ¤ĎĄ˘
¸ÇÄę IP Ľ˘ĽÉĽěĽš¤ňłä¤ęĹö¤Ć¤Ę¤¤¤č¤Ś¤Ë¤Ę¤Ă¤Ć¤¤¤Ţ¤šĄŁ
¤Ű¤Č¤ó¤É¤ÎĽšĽżĽóĽÉĽ˘ĽíĄźĽóĽëĄźĽż¤ĎĄ˘Ć°ĹŞ IP
Ľ˘ĽÉĽěĽšłä¤ęĹö¤Ć¤ËÂĐąţ¤ˇ¤Ć¤¤¤Ţ¤ť¤óĄŁĚőĂíşÇśá¤Î ISDN ĽëĄźĽż¤Ç¤Ď
IP Ľ˘ĽÉĽěĽš¤ÎưŪłä¤ęĹö¤Ć¤ËÂĐąţ¤ˇ¤Ć¤¤¤ë¤â¤Î¤âÂż¤¤¤č¤Ś¤Ç¤šĄŁ
¤ż¤Ŕ¤ˇŔŠ¸Â¤Ź¤˘¤ëžěšç¤â¤˘¤ę¤Ţ¤š¤Î¤ÇĄ˘
žÜ¤ˇ¤Ż¤ĎĽáĄźĽŤ¤ËĚ䤤šç¤ď¤ť¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁTA ¤ňťČÍѤˇ¤żžěšç¤ÎľĄÇ˝¤äŔÜÂł¤Î°ÂÄęŔ¤ĎĄ˘ťČÍѤˇ¤Ć¤¤¤ë PPP
ĽÇĄźĽâĽó¤Ë´°Á´¤Ë°Í¸¤ˇ¤Ţ¤šĄŁ¤˝¤Î¤ż¤áĄ˘FreeBSD ¤Ç PPP
¤ÎŔßÄꤏ´°Îť¤ˇ¤Ć¤¤¤ě¤ĐĄ˘ťČÍѤˇ¤Ć¤¤¤ë´ű¸¤ÎĽâĽÇĽŕ¤ň ISDN ¤Î TA
¤Ë´ĘĂą¤ËĽ˘ĽĂĽ×Ľ°ĽěĄźĽÉ¤š¤ë¤ł¤Č¤Ź¤Ç¤¤Ţ¤šĄŁ¤ż¤Ŕ¤ˇĄ˘¤˝¤ě¤Ţ¤Ç¤Î
PPP ¤ÎĽ×ĽíĽ°ĽéĽŕ¤ËĚäÂꤏ¤˘¤Ă¤żžěšçĄ˘¤˝¤ÎĚäÂę¤Ď TA
¤ËĂÖ¤´š¤¨¤Ć¤â¤˝¤Î¤Ţ¤ŢťÄ¤ę¤Ţ¤šĄŁşÇšâ¤Î°ÂÄęŔ¤ňľá¤á¤ë¤Î¤Ç¤˘¤ě¤ĐĄ˘
ĽćĄźĽśĽéĽóĽÉ PPP ¤Ç¤Ď¤Ę¤ŻĄ˘ĽŤĄźĽÍĽë
PPP¤ňťČÍѤˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ°Ę˛ź¤Î TA ¤ĎĄ˘FreeBSD ¤ÇưşîłÎǧ¤ş¤ß¤Ç¤šĄŁMotorola BitSurfer ¤Ş¤č¤Ó Bitsurfer ProAdtranž¤Î TA ¤â¤Ű¤Č¤ó¤É¤Îžěšç¤Ś¤Ţ¤ŻĆ°şî¤š¤ë¤Ç¤ˇ¤ç¤ŚĄŁTA
¤ÎĽáĄźĽŤĄź¤Ç¤ĎĄ˘TA ¤Ź¤Ű¤Č¤ó¤É¤Îɸ˝ŕĽâĽÇĽŕ AT
ĽłĽŢĽóĽÉĽťĽĂĽČ¤ňźő¤ąÉŐ¤ą¤ë¤č¤Ś¤Ë¤š¤ë¤č¤ŚĹŘÎϤˇ¤Ć¤¤¤ë¤č¤Ś¤Ç¤šĄŁł°Éô TA ¤ňťČ¤ŚşÝ¤ÎşÇÂç¤ÎĚäÂęĹŔ¤ĎĄ˘
ĽâĽÇĽŕ¤Îžěšç¤ČĆą¤¸¤ŻÎɤ¤ĽˇĽęĽ˘ĽëĽŤĄźĽÉ¤ŹÉŹÍפǤ˘¤ë¤Č¤¤¤Ś¤ł¤Č¤Ç¤šĄŁĽˇĽęĽ˘ĽëĽÇĽĐĽ¤Ľš¤ÎžÜşŮ¤ČĄ˘
ČóĆą´üĽˇĽęĽ˘ĽëĽÝĄźĽČ¤ČĆą´üĽˇĽęĽ˘ĽëĽÝĄźĽČ¤Îşš¤ňÍý˛ň¤š¤ë¤Ë¤ĎĄ˘FreeBSD
ĽˇĽęĽ˘ĽëĽĎĄźĽÉĽŚĽ§Ľ˘ĽÁĽĺĄźĽČĽęĽ˘Ľë¤ňť˛žČ¤ˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁÉ¸˝ŕ¤Î PC ĽˇĽęĽ˘ĽëĽÝĄźĽČ (ČóĆą´ü) ¤ËŔÜÂł¤ľ¤ě¤ż TA ¤Ď
128 Kbs ¤ÎŔÜÂł¤ňšÔ¤Ă¤Ć¤¤¤Ć¤âĄ˘şÇÂçÄĚżŽÂŽĹŮ¤Ź 115.2 Kbs
¤ËŔŠ¸Â¤ľ¤ě¤Ć¤ˇ¤Ţ¤¤¤Ţ¤šĄŁ128 Kbs ¤Î ISDN
¤ÎŔÇ˝¤ňşÇÂç¸Â¤ËŔ¸¤Ť¤š¤ż¤á¤Ë¤Ď TA
¤ňĆą´üĽˇĽęĽ˘ĽëĽŤĄźĽÉ¤ËŔÜÂł¤ˇ¤Ę¤ą¤ě¤Đ¤Ę¤ę¤Ţ¤ť¤óĄŁĆ⢠TA ¤ňšŘĆţ¤š¤ě¤ĐĄ˘
Ćą´ü/ČóĆą´üĚäÂę¤ň˛óČň¤Ç¤¤ë¤Č¤Ďť×¤ď¤Ę¤¤¤Ç¤Ż¤Ŕ¤ľ¤¤ĄŁĆ⢠TA ¤Ë¤ĎĄ˘
Ăą¤Ëɸ˝ŕ PC ĽˇĽęĽ˘ĽëĽÝĄźĽČ¤ÎĽÁĽĂĽ×¤ŹĆ⢤ľ¤ě¤Ć¤¤¤ë¤Ŕ¤ą¤Ç¤šĄŁ
Ć⢠TA ¤ÎÍřĹŔ¤Č¤¤¤¨¤ĐĄ˘
ĽˇĽęĽ˘ĽëĽąĄźĽÖĽë¤ňÇă¤ď¤Ę¤Ż¤Ć¤¤¤¤¤Č¤¤¤Ś¤ł¤Č¤ČĄ˘
ĹŸťĽłĽóĽťĽóĽČ¤Ź°ě¤ÄžŻ¤Ę¤Ż¤ĆşŃ¤ŕ¤Č¤¤¤Ś¤ł¤Č¤Ż¤é¤¤¤Ç¤ˇ¤ç¤ŚĄŁ
Ćą´üĽŤĄźĽÉ¤Č TA
¤ÎÁȚ礝¤Ç¤âĄ˘ĽšĽżĽóĽÉĽ˘ĽíĽó¤ÎĽëĄźĽż¤ČĆąÄřĹ٤ÎÂŽĹ٤ϳÎĘݤǤ¤Ţ¤šĄŁ
¤ľ¤é¤ËĄ˘386 ¤Î FreeBSD ĽŢĽˇĽó¤ČÁȚ礝¤ë¤ČĄ˘
¤č¤ę˝ŔĆđ¤ĘŔßÄꤏ˛ÄÇ˝¤Ç¤šĄŁĆą´üĽŤĄźĽÉ/TA ¤ňÁޤ֤ŤĄ˘ĽšĽżĽóĽÉĽ˘ĽíĽóĽëĄźĽż¤ňÁޤ֤Ť¤ĎĄ˘
¿ʏ¤Ë˝ĄśľĹޤĘĚäÂę¤Ç¤šĄŁ
ĽáĄźĽęĽóĽ°ĽęĽšĽČ¤Ç¤â¤¤¤Ż¤Ä¤ŤľÄĎŔ¤Ź¤˘¤ę¤Ţ¤ˇ¤żĄŁľÄĎŔ¤ÎÁ´ÍƤˤĤ¤¤Ć¤ĎĄ˘
Ľ˘ĄźĽŤĽ¤ĽÖ
¤ň¸Ąş÷¤ˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁĽšĽżĽóĽÉĽ˘ĽíĽó ISDN ĽÖĽęĽĂĽ¸/ĽëĄźĽżISDNĽšĽżĽóĽÉĽ˘ĽíĽó ĽÖĽęĽĂĽ¸/ĽëĄźĽżISDN ĽÖĽęĽĂĽ¸¤˘¤ë¤¤¤ĎĽëĄźĽż¤ĎĄ˘
FreeBSD ¤˘¤ë¤¤¤Ďž¤Î OS ¤ËĆĂͤΤâ¤Î¤Ç¤Ďł§Ěܤ˘¤ę¤Ţ¤ť¤óĄŁ
ĽëĄźĽĆĽŁĽóĽ°¤äĽÖĽęĽĂĽ¸ĽóĽ°ľť˝Ń¤Ë´Ř¤š¤ëžÜşŮ¤ĎĄ˘
ĽÍĽĂĽČĽďĄźĽŻ¤Îť˛šÍ˝ń¤ň¤´Í÷¤Ż¤Ŕ¤ľ¤¤ĄŁ¤ł¤ÎŔá¤Ç¤ĎĄ˘
ĽëĄźĽż¤ČĽÖĽęĽĂĽ¸¤Î¤É¤Á¤é¤Ç¤â¤˘¤Ć¤Ď¤Ţ¤ë¤č¤Ś¤Ëľ˝Ň¤ˇ¤Ţ¤šĄŁĽíĄźĽ¨ĽóĽÉ ISDN ĽëĄźĽż/ĽÖĽęĽĂĽ¸Ŕ˝Éʤϥ˘
˛ÁłĘ¤Ź˛ź¤Ź¤Ă¤Ć¤¤Ć¤¤¤ë¤ł¤Č¤â¤˘¤ęĄ˘
¤č¤ęš¤ŻÁŞÂň¤ľ¤ě¤ë¤č¤Ś¤Ë¤Ę¤ë¤Ç¤ˇ¤ç¤ŚĄŁISDN ĽëĄźĽż¤ĎĄ˘
ĽíĄźĽŤĽëĽ¤ĄźĽľĽÍĽĂĽČĽÍĽĂĽČĽďĄźĽŻ¤ËÄžŔÜŔÜÂł¤ˇĄ˘
źŤżČ¤Çž¤ÎĽÖĽęĽĂĽ¸/ĽëĄźĽż¤Č¤ÎŔÜÂł¤ňŔŠ¸ć¤š¤ëžŽ¤ľ¤ĘȢ¤Ç¤šĄŁPPP
¤äž¤Îš¤ŻťČÍѤľ¤ě¤Ć¤¤¤ëĽ×ĽíĽČĽłĽë¤ň¤Ä¤Ť¤Ă¤ĆÄĚżŽ¤š¤ë¤ż¤á¤ÎĽ˝ĽŐĽČĽŚĽ§Ľ˘¤ŹÁȤߚţ¤Ţ¤ě¤Ć¤¤¤Ţ¤šĄŁĽëĄźĽż¤ĎĄ˘´°Á´¤ĘĆą´ü ISDN ŔÜÂł¤ňťČÍѤš¤ë¤ż¤áĄ˘ÄĚžď¤Î TA
¤ČČćłÓ¤ˇ¤ĆĽšĽëĄźĽ×ĽĂĽČ¤ŹÂçÉý¤Ë¸ţžĺ¤ˇ¤Ţ¤šĄŁISDN ĽëĄźĽż/ĽÖĽęĽĂĽ¸¤ňťČÍѤš¤ëžěšç¤ÎşÇÂç¤ÎĚäÂęĹŔ¤ĎĄ˘
łĆĽáĄźĽŤĄź¤ÎŔ˝ÉĘ´Ö¤ËÁęŔ¤ÎĚäÂꤏ¤Ţ¤Ŕ¸şß¤š¤ë¤ł¤Č¤Ç¤šĄŁ
Ľ¤ĽóĽżĄźĽÍĽĂĽČĽ×ĽíĽĐĽ¤ĽŔ¤Č¤ÎŔÜÂł¤ňšÍ¤¨¤Ć¤¤¤ëžěšç¤Ë¤ĎĄ˘
Ľ×ĽíĽĐĽ¤ĽŔ¤ČÁęĂ̤š¤ë¤ł¤Č¤ň¤Ş´Ť¤á¤ˇ¤Ţ¤šĄŁťöĚł˝ę¤Î LAN ¤Č˛ČÄí¤Î LAN ¤Î´Ö¤Ę¤ÉĄ˘Ćó¤Ä¤Î LAN
ĽťĽ°ĽáĽóĽČ¤Î´Ö¤ňŔÜÂł¤ˇ¤č¤Ś¤Č¤ˇ¤Ć¤¤¤ëžěšç¤ĎĄ˘
¤ł¤ě¤Ď¤â¤Ă¤Č¤âĽáĽóĽĆĽĘĽóĽš¤Ź´ĘĂą¤ÇĄ˘°Â¤Ż¤˘¤Ź¤ë˛ňˇčĘýËĄ¤Ç¤šĄŁ
ŔÜÂł¤ÎΌ¤ÎľĄşŕ¤ňšŘĆţ¤š¤ë¤Î¤ÇĄ˘
ĽęĽóĽŻ¤Ź¤Ś¤Ţ¤Ż¤¤¤Ż¤Ç¤˘¤í¤Ś¤ł¤Č¤ňĘݞڤǤ¤Ţ¤šĄŁ¤ż¤Č¤¨¤ĐĄ˘
˛ČÄí¤ÎĽłĽóĽÔĽĺĄźĽż¤äťŮĹš¤ÎĽÍĽĂĽČĽďĄźĽŻ¤ňËܟҤμͼüȼ寧ĽŻ¤ËŔÜÂł¤š¤ë¤ż¤á¤Ë¤ĎĄ˘
°Ę˛ź¤Î¤č¤Ś¤ĘŔßÄꤏťČÍѤǤ¤Ţ¤šĄŁťŮĹš¤Ţ¤ż¤Ď˛ČÄí¤ÎĽÍĽĂĽČĽďĄźĽŻ10 base 2ĽÍĽĂĽČĽďĄźĽŻ¤Ď 10 Base 2 Ľ¤ĄźĽľĽÍĽĂĽČ
(thinnet)
¤ÎĽĐĽšˇżĽČĽÝĽíĽ¸¤ňÍѤ¤¤Ć¤¤¤Ţ¤šĄŁĽëĄźĽż¤ČĽÍĽĂĽČĽďĄźĽŻ¤Î´Ö¤ĎĄ˘
ÉŹÍפ˹ţ¤¸¤Ć AUI/10BT ĽČĽéĽóĽˇĄźĽĐ¤ňťČ¤Ă¤ĆŔÜÂł¤ˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ---Sun ĽďĄźĽŻĽšĽĆĄźĽˇĽçĽó
|
---FreeBSD box
|
---Windows 95
|
ĽšĽżĽóĽÉĽ˘ĽíĽóĽëĄźĽż
|
ISDN BRI ĽéĽ¤Ľó10 Base 2 Ľ¤ĄźĽľĽÍĽĂĽČ˛ČÄí/ťŮĹš¤Ç°ěÂ椡¤ŤĽłĽóĽÔĽĺĄźĽż¤ňťČÍѤˇ¤Ę¤¤¤Î¤Ç¤˘¤ě¤ĐĄ˘
ĽŻĽíĽš¤ÎĽÄĽ¤ĽšĽČĽÚĽ˘ĽąĄźĽÖĽë¤ňťČÍѤˇ¤ĆĄ˘
ÄžŔÜĽšĽżĽóĽÉĽ˘ĽíĽóĽëĄźĽż¤ËŔÜÂł¤š¤ë¤ł¤Č¤â˛ÄÇ˝¤Ç¤šĄŁËÜźŇ LAN ¤äž¤Î LANĽÍĽĂĽČĽďĄźĽŻ¤Ď 10 base T Ľ¤ĄźĽľĽÍĽĂĽČ
(Twisted Pair)
¤ÎĽšĽżĄźˇżĽČĽÝĽíĽ¸¤ňÍѤ¤¤Ć¤¤¤Ţ¤šĄŁ -------Novell ĽľĄźĽĐ
| |
|ĽĎ ---Sun
| |
| ---FreeBSD
| |
|ĽÖ ---Windows 95
| |
|___---ĽšĽżĽóĽÉĽ˘ĽíĄźĽóĽëĄźĽż
|
ISDN BRI ĽéĽ¤ĽóISDN ĽÍĽĂĽČĽďĄźĽŻĽŔĽ¤Ľ˘Ľ°ĽéĽŕ¤Ű¤Č¤ó¤É¤ÎĽëĄźĽż/ĽÖĽęĽĂĽ¸¤ÎÂ礤ĘÍřĹŔ¤ĎĄ˘
ĘĚĄš¤ÎĆó¤Ä¤ÎĽľĽ¤ĽČ¤ËÂФˇ¤ĆĄ˘Ćąťţ
¤Ë¤˝¤ě¤ž¤ěĆČΊ¤ˇ¤żĆó¤Ä¤Î PPP
ŔÜÂł¤Ź˛ÄÇ˝¤Ç¤˘¤ë¤ł¤Č¤Ç¤šĄŁ
¤ł¤ě¤ĎĄ˘ĽˇĽęĽ˘ĽëĽÝĄźĽČ¤ň 2 ¤Ä¤â¤Ă¤żĆĂÄę¤Î (ÄĚžď¤Ďšâ˛Á¤Ę)
ĽâĽÇĽë¤ň˝ü¤¤¤ĆĄ˘ÄĚžď¤Î TA ¤Ç¤ĎÂĐąţ¤ˇ¤Ć¤¤¤Ţ¤ť¤óĄŁ
ĽÁĽăĽÍĽëĽÜĽóĽÇĽŁĽóĽ°¤ä MPP ¤Ę¤É¤ČşŽĆऎ¤Ę¤¤¤Ç¤Ż¤Ŕ¤ľ¤¤ĄŁ¤ż¤Č¤¨¤ĐĄ˘ťöĚł˝ę¤ÇŔěÍŃŔţ ISDN ŔÜÂł¤ňťČÍѤˇ¤Ć¤¤¤ĆĄ˘
Ę̤ΠISDN ˛óŔţ¤ňšŘĆţ¤ˇ¤ż¤Ż¤Ę¤¤¤Č¤¤Ë¤ĎÂçĘŃĘŘÍř¤ĘľĄÇ˝¤Ç¤šĄŁ¤ł¤ÎžěšçĄ˘
ťöĚł˝ę¤ÎĽëĄźĽż¤ĎĄ˘Ľ¤ĽóĽżĄźĽÍĽĂĽČ¤ËŔÜÂł¤š¤ë¤ż¤á¤Î°ě¤Ä¤ÎŔěÍŃŔţ B
ĽÁĽăĽÍĽëŔÜÂł (64 Kbs) ¤ň´ÉÍý¤ˇĄ˘
Ę̤ΠB ĽÁĽăĽÍĽë¤ňž¤ÎĽÇĄźĽżŔÜÂł¤ËťČÍѤǤ¤Ţ¤šĄŁ
2 ¤ÄĚܤΠB ĽÁĽăĽÍĽë¤Ďž¤Îžě˝ę¤Č¤ÎĽŔĽ¤Ľ˘ĽëĽ¤ĽóĄ˘
ĽŔĽ¤Ľ˘ĽëĽ˘ĽŚĽČ¤ËťČÍѤˇ¤ż¤ęĄ˘ĽĐĽóĽÉÉý¤ňÁý¤ä¤š¤ż¤á¤ËĄ˘
1 ¤ÄĚܤΠB ĽÁĽăĽÍĽë¤ČưŪ¤Ëˇëšç¤š¤ë¤ł¤Č (MPP¤Ę¤É)
¤Ź¤Ç¤¤Ţ¤šĄŁIPX/SPX¤Ţ¤żĽ¤ĄźĽľĽÍĽĂĽČĽÖĽęĽĂĽ¸¤ĎĄ˘IP ĽŃĽąĽĂĽČ°Ęł°¤âĂćˇŃ¤Ç¤¤Ţ¤šĄŁ
IPX/SPX ¤Ę¤ÉĄ˘ťČÍѤš¤ë¤š¤Ů¤Ć¤ÎĽ×ĽíĽČĽłĽë¤ňÁ÷¤ë¤ł¤Č¤Ź˛ÄÇ˝¤Ç¤šĄŁBillSwingle¸śşî: EricOgrenÄÉľ: UdoErdelhoffNIS/YPNIS/YP ¤Č¤Ď?NISSolarisHP-UXAIXLinuxNetBSDOpenBSDNIS ¤Č¤Ď Network Information Services ¤ÎÎŹ¤Ç
Sun Microsystems ¤Ë¤č¤Ă¤Ć &unix; ¤Î (¤â¤Č¤â¤Č¤Ď &sunos; ¤Î)
˝¸Ăć´ÉÍý¤Î¤ż¤á¤ËłŤČݤľ¤ě¤Ţ¤ˇ¤żĄŁ¸˝şß¤Ç¤ĎťöźÂžĺ¤ÎśČłŚÉ¸˝ŕ¤Ë¤Ę¤Ă¤Ć¤Ş¤ęĄ˘
źçÍ×¤Ę &unix; ĽéĽ¤ĽŻĽˇĽšĽĆĽŕ
(&solaris;, HP-UX, &aix;, Linux, NetBSD, OpenBSD, FreeBSDĄ˘ĹůĄš)
¤Ď¤š¤Ů¤Ć¤ł¤ě¤ňĽľĽÝĄźĽČ¤ˇ¤Ć¤¤¤Ţ¤šĄŁĽ¤Ľ¨ĽíĄźĽÚĄźĽ¸NISNIS ¤Ď¸ľĄšĄ˘Ľ¤Ľ¨ĽíĄźĽÚĄźĽ¸¤Č¤¤¤Ă¤Ć¤¤¤Ţ¤ˇ¤ż¤ŹĄ˘
žŚÉ¸ĚäÂꤍ¤é Sun ¤Ď¤˝¤ÎĚžÁ°¤ňĘѤ¨¤Ţ¤ˇ¤żĄŁ
¸Ĺ¤¤ÍѸě (¤Ş¤č¤Ó yp) ¤Ď¤Ţ¤Ŕ¤č¤Ż¸Ť¤é¤ěĄ˘ťČÍѤľ¤ě¤Ć¤¤¤Ţ¤šĄŁNISĽÉĽáĽ¤ĽóNIS ¤Ď RPC ¤ňťČ¤Ă¤żĽŻĽéĽ¤Ľ˘ĽóĽČ/ĽľĄźĽĐĽˇĽšĽĆĽŕ¤Ç¤šĄŁ
¤ł¤ě¤ňťČ¤Ś¤Č NIS ĽÉĽáĽ¤ĽóĆâ¤ÎĽŢĽˇĽó´Ö¤ÇĄ˘
śŚÄ̤ÎŔßÄęĽŐĽĄĽ¤Ľë¤ňśŚÍ¤š¤ë¤ł¤Č¤Ź¤Ç¤¤Ţ¤šĄŁ
¤Ţ¤ż NIS ¤ňťČ¤Ś¤ł¤Č¤ÇĽˇĽšĽĆĽŕ´ÉÍýźÔ¤ĎşÇžŽ¸Â¤ÎŔßÄęĽÇĄźĽż¤Ç
NIS ĽŻĽéĽ¤Ľ˘ĽóĽČ¤ňΊ¤Ážĺ¤˛¤ë¤ł¤Č¤Ź¤Ç¤Ą˘
1 Ľö˝ę¤Ť¤éŔßÄęĽÇĄźĽż¤ÎÄɲå˘şď˝üĄ˘ĘŃšš¤Ź˛ÄÇ˝¤Ç¤šĄŁWindows NTNIS ¤Ď &windowsnt; ¤ÎĽÉĽáĽ¤ĽóĽˇĽšĽĆĽŕ¤Ëť÷¤Ć¤¤¤Ţ¤šĄŁ
ĆâÉô¤ÎźÂÁő¤Ďť÷¤Ć¤âť÷¤Ä¤Ť¤Ę¤¤¤â¤Î¤Ç¤š¤ŹĄ˘
´đËÜĹŞ¤ĘľĄÇ˝¤ňÂĐČ椚¤ë¤ł¤Č¤Ď¤Ç¤¤Ţ¤šĄŁĂÎ¤Ă¤Ć¤Ş¤Ż¤Ů¤ÍѸě / Ľ×ĽíĽťĽšNIS ĽľĄźĽĐ¤ÎΊ¤Ážĺ¤˛¤ä NIS ĽŻĽéĽ¤Ľ˘ĽóĽČ¤ÎŔßÄę¤Ę¤ÉĄ˘
NIS ¤ň FreeBSD ¤ËĆłĆţ¤š¤ë¤Ë¤˘¤ż¤Ă¤ĆĄ˘
Ěܤˤš¤ë¤Ç¤˘¤í¤ŚÍѸě¤ä˝ĹÍפʼ楟ĽśĽ×ĽíĽťĽš¤Ź¤¤¤Ż¤Ä¤Ť¤˘¤ę¤Ţ¤šĄŁportmapÍѸěŔâĚŔNIS ĽÉĽáĽ¤ĽóĚžNIS ĽŢĽšĽżĽľĄźĽĐ¤Č¤˝¤ÎĽŻĽéĽ¤Ľ˘ĽóĽČ¤š¤Ů¤Ć
(ĽšĽěĄźĽÖĽľĄźĽĐ¤ň´Ţ¤ŕ) ¤Ë¤Ď NIS ĽÉĽáĽ¤ĽóĚž¤Ź¤Ä¤¤¤Ć¤¤¤Ţ¤šĄŁ
&windowsnt; ĽÉĽáĽ¤ĽóĚž¤ČĆąÍͤ˥˘NIS ĽÉĽáĽ¤ĽóĚž¤Ď
DNS ¤Č¤Ď˛ż¤Î´Řˇ¸¤â¤˘¤ę¤Ţ¤ť¤óĄŁportmapRPC (Remote Procedure Call,
NIS ¤ÇťČÍѤľ¤ě¤ëĽÍĽĂĽČĽďĄźĽŻĽ×ĽíĽČĽłĽë)
¤ňÍřÍѤš¤ë¤ż¤á¤ËźÂšÔ¤ˇ¤Ć¤Ş¤Ť¤Ę¤ą¤ě¤Đ¤Ę¤ę¤Ţ¤ť¤óĄŁ
portmap ¤ŹĆ°şî¤ˇ¤Ć¤¤¤Ę¤ą¤ě¤ĐĄ˘
NIS ĽľĄźĽĐ¤ňľŻĆ°¤š¤ë¤ł¤Č¤âĄ˘
NIS ĽŻĽéĽ¤Ľ˘ĽóĽČ¤Č¤ˇ¤Ćưşî¤ľ¤ť¤ë¤ł¤Č¤â¤Ç¤¤Ţ¤ť¤óĄŁypbindNIS ĽŻĽéĽ¤Ľ˘ĽóĽČ¤ň
NIS ĽľĄźĽĐ¤Ë ˇë¤Ó¤Ä¤ą ¤Ţ¤šĄŁ
¤ł¤ě¤Ď NIS ĽÉĽáĽ¤ĽóĚž¤ňĽˇĽšĽĆĽŕ¤Ť¤éźčĆŔ¤ˇ
RPC ¤ňÍѤ¤¤ĆĽľĄźĽĐ¤ËŔÜÂł¤ˇ¤Ţ¤šĄŁypbind
¤Ď NIS ´Äś¤Ë¤Ş¤ą¤ëĽŻĽéĽ¤Ľ˘ĽóĽČ¤ČĽľĄźĽĐ´Ö¤ÎÄĚżŽ¤ÎĂćżő¤Ç¤šĄŁ
ĽŻĽéĽ¤Ľ˘ĽóĽČĽŢĽˇĽó¤Î
ypbind ¤ŹÄäťß¤ˇ¤żžěšç¤ĎĄ˘NIS
ĽľĄźĽĐ¤ŘĽ˘ĽŻĽťĽš¤š¤ë¤ł¤Č¤Ź¤Ç¤¤Ę¤Ż¤Ę¤ę¤Ţ¤šĄŁypserv¤Ď NIS ĽľĄźĽĐ¤Ç¤Î¤ßźÂšÔ¤ľ¤ě¤ë¤Ů¤¤â¤Î¤ÇĄ˘
NIS ĽľĄźĽĐĽ×ĽíĽťĽš¤˝¤Î¤â¤Î¤Ç¤šĄŁ&man.ypserv.8;
¤ŹÄäťß¤ˇ¤żžěšçĄ˘ĽľĄźĽĐ¤Ď¤â¤Ď¤ä NIS
ĽęĽŻĽ¨ĽšĽČ¤ËąţĹú¤š¤ë¤ł¤Č¤Ź¤Ç¤¤Ę¤Ż¤Ę¤ë¤Ç¤ˇ¤ç¤Ś
(¤Ç¤¤ě¤ĐĄ˘¸ĺ¤ň°ú¤ˇŃ¤°ĽšĽěĄźĽÖĽľĄźĽĐ¤Ź¤˘¤ë¤Č¤č¤¤¤Ç¤ˇ¤ç¤Ś)ĄŁ
şŁ¤Ţ¤ÇťČ¤Ă¤Ć¤¤¤żĽľĄźĽĐ¤ŹľĄÇ˝¤ňÄäťß¤ˇ¤ż¤Č¤Ą˘
Ę̤μľĄźĽĐ¤ËşĆŔÜÂł¤ˇ¤ËšÔ¤Ť¤Ę¤¤ NIS ¤ÎźÂÁő¤â¤¤¤Ż¤Ä¤Ť¤˘¤ę¤Ţ¤š
(FreeBSD ¤Î¤â¤Î¤Ď°ă¤¤¤Ţ¤š)ĄŁ
¤˝¤Î¤č¤Ś¤Ęžěšç¤ËÉüľ˘¤š¤ë¤ż¤á¤ÎÍŁ°ě¤ÎĘýËĄ¤ĎĄ˘
ĽľĄźĽĐĽ×ĽíĽťĽš (¤˘¤ë¤¤¤ĎĽľĄźĽĐÁ´ÂÎ)Ą˘¤â¤ˇ¤Ż¤ĎĽŻĽéĽ¤Ľ˘ĽóĽČ¤Î
ypbind
Ľ×ĽíĽťĽš¤ňşĆĽšĽżĄźĽČ¤š¤ë¤ł¤Č¤Ç¤šĄŁrpc.yppasswddNIS ĽŢĽšĽżĄźĽľĄźĽĐ¤Çư¤Ť¤š¤Ů¤Ą˘
¤â¤Ś°ě¤Ä¤ÎĽ×ĽíĽťĽš¤Ç¤šĄŁ¤ł¤ě¤Ď NIS ĽŻĽéĽ¤Ľ˘ĽóĽČ¤Ź
NIS ĽŃĽšĽďĄźĽÉ¤ňĘŃšš¤š¤ë¤ł¤Č¤ň˛ÄÇ˝¤Ë¤š¤ëĽÇĄźĽâĽó¤Ç¤šĄŁ
¤ł¤ÎĽÇĄźĽâĽó¤ŹĆ°şî¤ˇ¤Ć¤¤¤Ę¤¤¤Č¤¤ĎĄ˘
ĽćĄźĽś¤Ď NIS ĽŢĽšĽżĽľĄźĽĐ¤ËĽíĽ°Ľ¤Ľó¤ˇĄ˘
¤˝¤ł¤ÇĽŃĽšĽďĄźĽÉ¤ňĘŃšš¤ˇ¤Ę¤ą¤ě¤Đ¤Ę¤ę¤Ţ¤ť¤óĄŁĆ°şî¤Î¤ˇ¤Ż¤ßNIS ´Äś¤Ë¤˘¤ëĽŰĽšĽČ¤ĎĄ˘
ĽŢĽšĽżĄźĽľĄźĽĐĄ˘ĽšĽěĄźĽÖĽľĄźĽĐĄ˘ĽŻĽéĽ¤Ľ˘ĽóĽČ¤Î
3 źďÎŕ¤ËĘŹÎा¤ě¤Ţ¤šĄŁ
ĽľĄźĽĐ¤ĎĄ˘ĽŰĽšĽČ¤ÎŔßÄęžđĘó¤ÎĂćż´ĹŞ¤ĘžđĘółĘÇź¸Ë¤ÎĚňłä¤ň¤ˇ¤Ţ¤šĄŁ
ĽŢĽšĽżĄźĽľĄźĽĐ¤Ď¸ľ¤Č¤Ę¤ëżŽÍę¤Ç¤¤ëžđĘó¤ňĘÝťý¤ˇĄ˘
ĽšĽěĄźĽÖĽľĄźĽĐ¤ĎžéÄšŔ¤ňłÎĘݤš¤ë¤ż¤á¤ł¤ÎžđĘó¤ňĽßĽéĄź¤ˇ¤Ţ¤šĄŁ
¤˝¤ˇ¤ĆĽŻĽéĽ¤Ľ˘ĽóĽČ¤ĎĄ˘ĽľĄźĽĐ¤Ť¤éžđĘó¤ÎÄ󜥤ňźő¤ą¤Ćưşî¤ˇ¤Ţ¤šĄŁ¤ł¤ÎĘýËĄ¤ňÍѤ¤¤ë¤ł¤Č¤ÇĄ˘żôÂż¤Ż¤ÎĽŐĽĄĽ¤Ľë¤Ë¤˘¤ëžđĘ󤏜ŚÍ¤Ç¤¤Ţ¤šĄŁ
¤č¤Ż NIS ¤ÇśŚÍ¤ľ¤ě¤ë¤Î¤ĎĄ˘
master.passwd ¤ä group,
hosts ¤Č¤¤¤Ă¤żĽŐĽĄĽ¤Ľë¤Ç¤šĄŁ
ĽŻĽéĽ¤Ľ˘ĽóĽČžĺ¤ÎĽ×ĽíĽťĽš¤ŹĄ˘
ÄĚžď¤Ę¤éĽíĄźĽŤĽë¤ÎĽŐĽĄĽ¤Ľë¤Ë¤˘¤ëžđĘó¤ňÉŹÍפȤš¤ë¤Č¤¤ĎĄ˘
ĽŻĽéĽ¤Ľ˘ĽóĽČ¤ĎÂĺ¤ď¤ę¤ËŔÜÂł¤ˇ¤Ć¤¤¤ë
NIS ĽľĄźĽĐ¤ËĚ䤤šç¤ď¤ť¤ňšÔ¤¤¤Ţ¤šĄŁĽŢĽˇĽó¤ÎĘŹÎŕ
-
- NIS
- ĽŢĽšĽżĽľĄźĽĐ
-
-
- NIS ĽŢĽšĽżĄźĽľĄźĽĐĄŁ
+ NIS ĽŢĽšĽżĄźĽľĄźĽĐNISĽŢĽšĽżĽľĄźĽĐĄŁ
¤ł¤ÎĽľĄźĽĐ¤Ď &windowsnt;
¤Ç¸Ŕ¤Ś¤Č¤ł¤í¤ÎĽ×ĽéĽ¤ĽŢĽęĽÉĽáĽ¤ĽóĽłĽóĽČĽíĄźĽé¤Ë¤˘¤ż¤ę¤Ţ¤šĄŁ
¤š¤Ů¤Ć¤Î NIS ĽŻĽéĽ¤Ľ˘ĽóĽČ¤ÇÍřÍѤľ¤ě¤ëĽŐĽĄĽ¤Ľë¤ňĘݟ餡¤Ţ¤šĄŁ
passwd ¤ä groupĄ˘
¤˝¤Îž NIS ĽŻĽéĽ¤Ľ˘ĽóĽČ¤Źť˛žČ¤š¤ëĽŐĽĄĽ¤Ľë¤ĎĄ˘
ĽŢĽšĽżĄźĽľĄźĽĐ¤Ë¤˘¤ę¤Ţ¤šĄŁ°ě¤Ä¤ÎĽŢĽˇĽó¤Ź°ě¤Ä°Ęžĺ¤Î NIS
ĽÉĽáĽ¤Ľó¤ÎĽŢĽšĽżĄźĽľĄźĽĐ¤Ë¤Ę¤ë¤ł¤Č¤Ď˛ÄÇ˝¤Ç¤šĄŁ
¤ˇ¤Ť¤ˇĄ˘¤ł¤ł¤Ç¤ĎČćłÓĹŞžŽľŹĚϤΠNIS ´Äś¤ňÂОݤȤˇ¤Ć¤¤¤ë¤ż¤áĄ˘
¤˝¤Î¤č¤Ś¤Ęžěšç¤Ë¤Ä¤¤¤Ć¤Ď°ˇ¤¤¤Ţ¤ť¤óĄŁ
-
- NIS
- ĽšĽěĄźĽÖĽľĄźĽĐ
-
-
- NIS ĽšĽěĄźĽÖĽľĄźĽĐĄŁ
+ NIS ĽšĽěĄźĽÖĽľĄźĽĐNISĽšĽěĄźĽÖĽľĄźĽĐĄŁ
&windowsnt; ¤ÎĽĐĽĂĽŻĽ˘ĽĂĽ×ĽÉĽáĽ¤ĽóĽłĽóĽČĽíĄźĽé¤Ëť÷¤ż¤â¤Î¤ÇĄ˘
NIS ĽšĽěĄźĽÖĽľĄźĽĐ¤Ď NIS
ĽŢĽšĽżĄźĽľĄźĽĐ¤ÎĽÇĄźĽżĽŐĽĄĽ¤Ľë¤ÎĽłĽÔĄź¤ňĘÝťý¤ˇ¤Ţ¤šĄŁ
NIS ĽšĽěĄźĽÖĽľĄźĽĐ¤Ď˝ĹÍפʴĜ¤ÇÉŹÍפȤľ¤ě¤ëžéÄšŔ¤ňÄ󜥤ˇĄ˘
ĽŢĽšĽżĄźĽľĄźĽĐ¤ÎÉé˛Ů¤ÎĽĐĽéĽóĽš¤ň¤Č¤ę¤Ţ¤šĄŁ
NIS ĽŻĽéĽ¤Ľ˘ĽóĽČ¤Ďžď¤ËşÇ˝é¤ËĽěĽšĽÝĽóĽš¤ňĘÖ¤ˇ¤żĽľĄźĽĐ¤ň
NIS ĽľĄźĽĐ¤Č¤ˇ¤ĆŔÜÂł¤ˇ¤Ţ¤š¤ŹĄ˘
¤ł¤ě¤Ë¤ĎĽšĽěĄźĽÖĽľĄźĽĐ¤â´Ţ¤Ţ¤ě¤Ţ¤šĄŁ
-
- NIS
- ĽŻĽéĽ¤Ľ˘ĽóĽČ
-
-
- NIS ĽŻĽéĽ¤Ľ˘ĽóĽČĄŁ
+ NIS ĽŻĽéĽ¤Ľ˘ĽóĽČNISĽŻĽéĽ¤Ľ˘ĽóĽČĄŁ
NIS ĽŻĽéĽ¤Ľ˘ĽóĽČ¤ĎÂçÉôĘŹ¤Î &windowsnt;
ĽďĄźĽŻĽšĽĆĄźĽˇĽçĽó¤Î¤č¤Ś¤ËĄ˘ĽíĽ°ĽŞĽó¤ËşÝ¤ˇ¤Ć
NIS ĽľĄźĽĐ (&windowsnt; ĽďĄźĽŻĽšĽĆĄźĽˇĽçĽó¤Îžěšç¤Ď
&windowsnt; ĽÉĽáĽ¤ĽóĽłĽóĽČĽíĄźĽé)
¤ËŔÜÂł¤ˇ¤ĆǧžÚ¤ˇ¤Ţ¤šĄŁNIS/YP ¤ňťČ¤Ś¤ł¤ÎŔá¤Ç¤Ď NIS ´Äś¤ÎΊ¤Ážĺ¤˛Îă¤ňźč¤ęžĺ¤˛¤Ţ¤šĄŁ¤ł¤ÎŔá¤Ç¤Ď¤˘¤Ę¤ż¤Ź FreeBSD 3.3
°Ęšß¤ňťČ¤Ă¤Ć¤¤¤ë¤â¤Î¤Č¤ˇ¤Ţ¤šĄŁ
¤ł¤ł¤ÇÍż¤¨¤é¤ě¤ëťŘź¨¤Ď ¤Ş¤˝¤é¤Ż FreeBSD ¤Î
3.0 °Ęšß¤Î¤É¤ÎĽĐĄźĽ¸ĽçĽó¤Ç¤âľĄÇ˝¤š¤ë¤Ç¤ˇ¤ç¤Ś¤ŹĄ˘
¤˝¤ě¤ňĘÝžÚ¤š¤ë¤â¤Î¤Ç¤Ď¤˘¤ę¤Ţ¤ť¤óĄŁˇ×˛č¤ňΊ¤Ć¤ë¤˘¤Ę¤ż¤ŹÂçłŘ¤ÎžŽ¤ľ¤Ę¸Śľćźź¤Î´ÉÍýżÍ¤Ç¤˘¤ë¤Č¤ˇ¤Ţ¤ˇ¤ç¤ŚĄŁ
¤ł¤Î¸Śľćźź¤Ď 15 Âć¤Î FreeBSD ĽŢĽˇĽó¤Ť¤é¤Ę¤Ă¤Ć¤¤¤ĆĄ˘
¸˝şß¤Ď¤Ţ¤Ŕ˝¸Ăć´ÉÍý¤ľ¤ě¤Ć¤¤¤Ţ¤ť¤óĄŁ
¤š¤Ę¤ď¤ÁĄ˘łĆĽŢĽˇĽó¤Ď /etc/passwd ¤Č
/etc/master.passwd ¤ňłĆĄš¤Źťý¤Ă¤Ć¤¤¤Ţ¤šĄŁ
¤ł¤ě¤é¤ÎĽŐĽĄĽ¤Ľë¤Ďźęư¤Ç¤Ş¸ß¤¤¤ËĆą´ü¤ľ¤ť¤Ć¤¤¤Ţ¤šĄŁ
¤Ä¤Ţ¤ę¸˝ťţĹŔ¤Ç¤ĎĄ˘żˇ¤ˇ¤¤ĽćĄźĽś¤ň¤˘¤Ę¤ż¤ŹÄɲ䚤ë¤Č¤Ą˘
adduser ¤ň
15 Ľö˝ę¤š¤Ů¤Ć¤ÇźÂšÔ¤ˇ¤Ę¤ą¤ě¤Đ¤Ę¤ę¤Ţ¤ť¤óĄŁ
¤ł¤ě¤ĎĚŔ¤é¤Ť¤ËĘѤ¨¤ëÉŹÍפʤ˘¤ë¤ż¤áĄ˘
¤˘¤Ę¤ż¤Ď¤ł¤Î¤Ś¤Á 2 Âć¤ňĽľĄźĽĐ¤Ë¤ˇ¤Ć
NIS ¤ňĆłĆţ¤š¤ë¤ł¤Č¤ňˇč¤á¤Ţ¤ˇ¤żĄŁ¤˝¤Îˇë˛ĚĄ˘¸Śľćźź¤ÎŔßÄę¤Ď¤ł¤Î¤č¤Ś¤Ę¤â¤Î¤Ë¤Ę¤ę¤Ţ¤šĄŁĽŢĽˇĽó¤ÎĚžÁ°IP Ľ˘ĽÉĽěĽšĚňłäellington10.0.0.2NIS ĽŢĽšĽżcoltrane10.0.0.3NIS ĽšĽěĄźĽÖbasie10.0.0.4śľ°÷ÍѤμ寧ĽŻĽšĽĆĄźĽˇĽçĽóbird10.0.0.5ĽŻĽéĽ¤Ľ˘ĽóĽČĽŢĽˇĽócli[1-11]10.0.0.[6-17]¤˝¤Îž¤ÎĽŻĽéĽ¤Ľ˘ĽóĽČĽŢĽˇĽó¤â¤ˇ NIS ¤Ë¤č¤ëĽˇĽšĽĆĽŕ´ÉÍý¤ÎŔßÄę¤ňšÔ¤Ę¤Ś¤Î¤Ź˝é¤á¤Ć¤Ę¤éĄ˘
¤É¤Î¤č¤Ś¤Ë¤ˇ¤ż¤¤¤Î¤ŤĄ˘
¤Ň¤Č¤Č¤Ş¤ęşÇ¸ĺ¤Ţ¤ÇšÍ¤¨¤Ć¤ß¤ë¤ł¤Č¤ň¤Ş´Ť¤á¤ˇ¤Ţ¤šĄŁ
ĽÍĽĂĽČĽďĄźĽŻ¤ÎľŹĚϤˤč¤é¤şĄ˘
¤¤¤Ż¤Ä¤Ťˇč¤á¤ë¤Ů¤¤ł¤Č¤Ź¤˘¤ë¤Ť¤é¤Ç¤šĄŁNIS ĽÉĽáĽ¤ĽóĚž¤ňˇč¤á¤ëNISĽÉĽáĽ¤ĽóĚž¤ł¤ł¤Ç¤¤¤ŚĽÉĽáĽ¤ĽóĚž¤ĎĄ˘şŁ¤Ţ¤Ç¤˘¤Ę¤ż¤ŹťČ¤Ă¤Ć¤¤¤żĄ˘
¤¤¤ď¤ć¤ë ĽÉĽáĽ¤ĽóĚž ¤Č¸Ć¤ó¤Ç¤¤¤ż¤â¤Î¤Č¤Ď°ă¤¤¤Ţ¤šĄŁ
ŔľłÎ¤Ë¤Ď NIS ĽÉĽáĽ¤ĽóĚž ¤Č¸Ć¤Đ¤ě¤Ţ¤šĄŁ
ĽŻĽéĽ¤Ľ˘ĽóĽČ¤ŹĽľĄźĽĐ¤ËžđĘó¤ňÍ׾ᤚ¤ë¤Č¤Ą˘
¤˝¤ÎÍ׾á¤Ë¤ĎźŤĘʤŹÂ°¤š¤ë NIS ĽÉĽáĽ¤Ľó¤ÎĚžÁ°¤Ź´Ţ¤Ţ¤ě¤Ć¤¤¤Ţ¤šĄŁ
¤ł¤ě¤Ď 1 ¤Ä¤ÎĽÍĽĂĽČĽďĄźĽŻ¤ËĘŁżô¤ÎĽľĄźĽĐ¤Ź¤˘¤ëžěšç¤ËĄ˘
¤É¤ÎĽľĄźĽĐ¤ŹÍ׾á¤ň˝čÍý¤š¤ě¤ĐÎɤ¤¤Ť¤ňˇč¤á¤ë¤ż¤á¤ËťČ¤ď¤ě¤Ţ¤šĄŁ
NIS ĽÉĽáĽ¤ĽóĚž¤Č¤ĎĄ˘
´ŘϢ¤Î¤˘¤ëĽŰĽšĽČ¤ňĽ°ĽëĄźĽ×˛˝¤š¤ë¤ż¤á¤ÎĚžÁ°¤Ç¤˘¤ëĄ˘
¤ČšÍ¤¨¤ë¤ČÎɤ¤¤Ç¤ˇ¤ç¤ŚĄŁÁČżĽ¤Ë¤č¤Ă¤Ć¤ĎĽ¤ĽóĽżĄźĽÍĽĂĽČ¤ÎĽÉĽáĽ¤ĽóĚž¤ň
NIS ĽÉĽáĽ¤ĽóĚž¤ËťČ¤Ă¤Ć¤¤¤ë¤Č¤ł¤í¤Ź¤˘¤ę¤Ţ¤šĄŁ
¤ł¤ě¤ĎĽÍĽĂĽČĽďĄźĽŻ¤ÎĽČĽéĽÖĽë¤ňĽÇĽĐĽĂĽ°¤š¤ë¤Č¤¤ËşŽÍđ¤Î¸ś°ř¤Č¤Ę¤ë¤ż¤áĄ˘
¤Ş´Ť¤á¤Ç¤¤Ţ¤ť¤óĄŁ
NIS ĽÉĽáĽ¤ĽóĚž¤ĎĽÍĽĂĽČĽďĄźĽŻĆâ¤Ç°ě°Ő¤Ę¤ą¤ě¤Đ¤¤¤ą¤Ţ¤ť¤óĄŁ¤˝¤ˇ¤ĆĄ˘
ĽÉĽáĽ¤ĽóĚž¤ŹĽÉĽáĽ¤Ľó¤Ë´Ţ¤Ţ¤ě¤ëĽŢĽˇĽó¤ňÉ˝¤š¤č¤Ś¤Ę¤â¤Î¤Ç¤˘¤ě¤ĐĘŹ¤Ť¤ę°×¤¤¤Ç¤šĄŁ
¤ż¤Č¤¨¤Đ Acme źŇ¤ÎĽ˘ĄźĽČ (Art) ÉôĚç¤Ç¤˘¤ě¤Đ NIS ĽÉĽáĽ¤ĽóĚž¤ň
acme-art ¤Č¤š¤ě¤ĐÎɤ¤¤Ç¤ˇ¤ç¤ŚĄŁ¤ł¤ÎÎă¤Ç¤Ď
NIS ĽÉĽáĽ¤ĽóĚž¤Č¤ˇ¤Ć test-domain
¤ňťČÍѤˇ¤Ţ¤šĄŁSunOS¤ˇ¤Ť¤ˇ¤Ę¤Ź¤éĽŞĽÚĽěĄźĽĆĽŁĽóĽ°ĽˇĽšĽĆĽŕ¤Ë¤č¤Ă¤Ć¤Ď (ĆĂ¤Ë &sunos;)Ą˘
NIS ĽÉĽáĽ¤ĽóĚž¤ňĽÍĽĂĽČĽďĄźĽŻĽÉĽáĽ¤ĽóĚž¤Č¤ˇ¤ĆťČ¤Ś¤â¤Î¤â¤˘¤ę¤Ţ¤šĄŁ
¤˘¤Ę¤ż¤ÎĽÍĽĂĽČĽďĄźĽŻ¤Ë¤˝¤Î¤č¤Ś¤ĘŔŠ¸Â¤Î¤˘¤ëĽŢĽˇĽó¤Ź
1 Âć¤Ç¤â¤˘¤ë¤Č¤¤ĎĄ˘NIS
¤ÎĽÉĽáĽ¤ĽóĚž¤Č¤ˇ¤ĆĽ¤ĽóĽżĄźĽÍĽĂĽČ¤ÎĽÍĽĂĽČĽďĄźĽŻĽÉĽáĽ¤ĽóĚž¤ňťČ¤ď¤Ę¤ą¤ě¤Đ
¤¤¤ą¤Ţ¤ť¤óĄŁĽľĄźĽĐĽŢĽˇĽó¤ÎĘŞÍýĹŞÉŹÍמňˇďNIS ĽľĄźĽĐ¤Č¤ˇ¤ĆťČ¤ŚĽŢĽˇĽó¤ňÁŞ¤ÖşÝ¤Ë¤ĎĄ˘
¤¤¤Ż¤Ä¤ŤĂí°Ő¤š¤Ů¤ĹŔ¤Ź¤˘¤ę¤Ţ¤šĄŁ
NIS ¤Ë´Ř¤š¤ëş¤¤Ă¤ż¤ł¤Č¤Î°ě¤Ä¤ËĄ˘
ĽŻĽéĽ¤Ľ˘ĽóĽČ¤ÎĽľĄźĽĐ¤Ř¤Î°Í¸ĹŮ¤Ź¤˘¤ę¤Ţ¤šĄŁ
ĽŻĽéĽ¤Ľ˘ĽóĽČ¤ŹźŤĘŹ¤Î NIS ĽÉĽáĽ¤Ľó¤ÎĽľĄźĽĐ¤ËŔÜÂł¤Ç¤¤Ę¤¤¤ČĄ˘
ĽŢĽˇĽó¤ŹťČÍŃÉÔÇ˝¤Ë¤Ę¤ë¤ł¤Č¤Ź¤˘¤Ţ¤ę¤ËÂż¤¤¤Î¤Ç¤šĄŁ
¤â¤ˇĄ˘ĽćĄźĽś¤äĽ°ĽëĄźĽ×¤Ë´Ř¤š¤ëžđĘó¤ŹĆŔ¤é¤ě¤Ę¤ą¤ě¤ĐĄ˘
¤Ű¤Č¤ó¤É¤ÎĽˇĽšĽĆĽŕ¤Ď°ěťţĹŞ¤ËÄäťß¤ˇ¤Ć¤ˇ¤Ţ¤¤¤Ţ¤šĄŁ
¤ł¤Ś¤¤¤Ă¤ż¤ł¤Č¤ňǰƏ¤ËĂÖ¤¤¤ĆĄ˘ÉŃČˤ˼ęĽÖĄźĽČ¤ľ¤ě¤ëĽŢĽˇĽó¤äĄ˘
łŤČŻ¤ËťČ¤ď¤ě¤˝¤Ś¤ĘĽŢĽˇĽó¤ňÁŞ¤Đ¤Ę¤¤¤č¤Ś¤Ë¤ˇ¤Ę¤ą¤ě¤Đ¤Ę¤ę¤Ţ¤ť¤óĄŁ
ÍýÁŰĹŞ¤Ë¤Ď NIS ĽľĄźĽĐ¤ĎĽšĽżĽóĽÉĽ˘ĽíĽó¤Ç
NIS ĽľĄźĽĐŔěÍѤμ޼ˇĽó¤Ë¤š¤ë¤Ů¤¤Ç¤šĄŁ
ĽÍĽĂĽČĽďĄźĽŻ¤ÎÉé˛Ů¤Ź˝Ĺ¤Ż¤Ę¤ą¤ě¤ĐĄ˘
ž¤ÎĽľĄźĽÓĽš¤ňÁö¤é¤ť¤Ć¤¤¤ëĽŢĽˇĽó¤ň
NIS ĽľĄźĽĐ¤Ë¤ˇ¤Ć¤â¤Ť¤Ţ¤¤¤Ţ¤ť¤óĄŁ
¤ż¤Ŕ¤ˇ NIS ĽľĄźĽĐ¤ŹťČ¤¨¤Ę¤Ż¤Ę¤ë¤ČĄ˘
¤š¤Ů¤Ć¤Î
ĽŻĽéĽ¤Ľ˘ĽóĽČ¤ËąĆśÁ¤ň¤Ş¤č¤Ü¤šĄ˘
¤Č¤¤¤ŚĹŔ¤Ë¤ĎĂí°Ő¤ˇ¤Ę¤ą¤ě¤Đ¤Ę¤ę¤Ţ¤ť¤óĄŁNIS ĽľĄźĽĐ¸ľ¤Č¤Ę¤ë¤š¤Ů¤Ć¤Î NIS žđĘó¤ĎĄ˘
NIS ĽŢĽšĽżĄźĽľĄźĽĐ¤Č¸Ć¤Đ¤ě¤ë 1 Âć¤ÎĽŢĽˇĽó¤ËłĘÇź¤ľ¤ě¤Ţ¤šĄŁ
¤ł¤ÎžđĘ󤏳ĘÇź¤ľ¤ě¤ëĽÇĄźĽżĽŮĄźĽš¤ň NIS ĽŢĽĂĽ×¤Č¸Ć¤Ó¤Ţ¤šĄŁ
FreeBSD ¤Ç¤ĎĄ˘¤ł¤ÎĽŢĽĂĽ×¤Ď
/var/yp/[domainname] ¤ËĂÖ¤Ť¤ě¤Ţ¤šĄŁ
[domainname] ¤ĎĄ˘
ĽľĄźĽĐ¤ŹĽľĄźĽÓĽš¤š¤ë NIS ĽÉĽáĽ¤Ľó¤Ç¤šĄŁ
1 Âć¤Î NIS ĽľĄźĽĐ¤ŹĘŁżô¤ÎĽÉĽáĽ¤Ľó¤ňĽľĽÝĄźĽČ¤š¤ë¤ł¤Č¤â˛ÄÇ˝¤Ç¤šĄŁ
¤Ä¤Ţ¤ęĄ˘¤ł¤ÎĽÇĽŁĽěĽŻĽČĽę¤ňłĆĄš¤ÎĽÉĽáĽ¤Ľó¤´¤Č¤Ëşî¤ë¤ł¤Č¤Ź¤Ç¤¤Ţ¤šĄŁ
¤˝¤ě¤ž¤ě¤ÎĽÉĽáĽ¤Ľó¤ĎĄ˘
ĆČΊ¤ˇ¤żĽŢĽĂĽ×¤Î˝¸šç¤ňťý¤Ä¤ł¤Č¤Ë¤Ę¤ę¤Ţ¤šĄŁNIS ¤ÎĽŢĽšĽżĄźĽľĄźĽĐ¤ČĽšĽěĄźĽÖĽľĄźĽĐžĺ¤Ç¤ĎĄ˘
ypserv ĽÇĄźĽâĽó¤Ź¤š¤Ů¤Ć¤Î NIS Í׾á¤ň˝čÍý¤ˇ¤Ţ¤šĄŁ
ypserv ¤Ď NIS ĽŻĽéĽ¤Ľ˘ĽóĽČ¤Ť¤é¤ÎÍ׾á¤ňźő¤ąÉŐ¤ąĄ˘
ĽÉĽáĽ¤ĽóĚž¤ČĽŢĽĂĽ×Ěž¤ňÂĐąţ¤š¤ëĽÇĄźĽżĽŮĄźĽšĽŐĽĄĽ¤Ľë¤Ř¤ÎĽŃĽš¤ËĘŃ´š¤ˇĄ˘
ĽÇĄźĽż¤ňĽŻĽéĽ¤Ľ˘ĽóĽČ¤ËĘÖÁ÷¤ˇ¤Ţ¤šĄŁNIS ĽŢĽšĽżĄźĽľĄźĽĐ¤ÎŔßÄęNISĽľĄźĽĐŔßÄę¤ä¤ę¤ż¤¤¤ł¤Č¤Ë¤â¤č¤ę¤Ţ¤š¤Ź
NIS ĽŢĽšĽżĄźĽľĄźĽĐ¤ÎŔßÄę¤ĎČćłÓĹŞĂą˝ă¤Ç¤šĄŁ
FreeBSD ¤Ď˝é´üžőÂÖ¤Ç NIS ¤ËÂĐąţ¤ˇ¤Ć¤¤¤Ţ¤šĄŁ
ÉŹÍפʤΤϰʲź¤ÎšÔ¤ň /etc/rc.conf
¤ËÄɲ䚤뤳¤Č¤Ŕ¤ą¤ÇĄ˘
¤˘¤Č¤Ď FreeBSD ¤Ź¤ä¤Ă¤Ć¤Ż¤ě¤Ţ¤šĄŁnisdomainname="test-domain"
¤ł¤ÎšÔ¤ĎĽÍĽĂĽČĽďĄźĽŻ¤ÎŔßÄę¸ĺ¤Ë (¤ż¤Č¤¨¤ĐşĆľŻĆ°¸ĺ¤Ë)
NIS ¤ÎĽÉĽáĽ¤ĽóĚž¤ň test-domain
¤ËŔßÄꤡ¤Ţ¤šĄŁnis_server_enable="YES"
¤ł¤ě¤Ď FreeBSD ¤ËźĄ¤ËĽÍĽĂĽČĽďĄźĽŻ¤ŹÎФÁžĺ¤Ź¤Ă¤ż¤Č¤ NIS
¤ÎĽľĄźĽĐĽ×ĽíĽťĽš¤ňľŻĆ°¤ľ¤ť¤Ţ¤šĄŁnis_yppasswdd_enable="YES"
¤ł¤ě¤Ď rpc.yppasswdd
ĽÇĄźĽâĽó¤ň͸ú¤Ë¤ˇ¤Ţ¤šĄŁžĺ˝Ň¤ˇ¤ż¤č¤Ś¤Ë¤ł¤ě¤ĎĽćĄźĽś¤Ź NIS
¤ÎĽŃĽšĽďĄźĽÉ¤ňĽŻĽéĽ¤Ľ˘ĽóĽČ¤ÎĽŢĽˇĽó¤Ť¤éĘŃšš¤š¤ë¤ł¤Č¤ň˛ÄÇ˝¤Ë¤ˇ¤Ţ¤šĄŁNIS ¤ÎŔßÄę¤Ë¤č¤Ă¤Ć¤ĎĄ˘
¤ľ¤é¤Ëž¤ÎĽ¨ĽóĽČĽę¤ňÉŐ¤ą˛Ă¤¨¤ëÉŹÍפʤ˘¤ë¤Ť¤â¤ˇ¤ě¤Ţ¤ť¤óĄŁ
žÜşŮ¤Ë¤Ä¤¤¤Ć¤ĎĄ˘˛źľ¤Î NIS
ĽŻĽéĽ¤Ľ˘ĽóĽČ¤Č¤ˇ¤Ć¤âưşî¤ˇ¤Ć¤¤¤ë NIS ĽľĄźĽĐ
Ŕá¤ňť˛žČ¤ˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ¤ľ¤ĆĄ˘¤˘¤Č¤ĎĽšĄźĽŃĽćĄźĽś¸˘¸Â¤Ç
/etc/netstart ĽłĽŢĽóĽÉ¤ňźÂšÔ¤š¤ë¤Ŕ¤ą¤Ç¤šĄŁ
¤ł¤ě¤Ë¤č¤ę /etc/rc.conf
¤ÇÄęľÁ¤ľ¤ě¤żĂͤňťČ¤Ă¤Ć¤š¤Ů¤Ć¤ÎŔßÄꤏšÔ¤Ę¤ď¤ě¤Ţ¤šĄŁNIS ĽŢĽĂĽ×¤Î˝é´ü˛˝NISĽŢĽĂĽ×NIS ĽŢĽĂĽ× ¤Č¤Ď
/var/yp
ĽÇĽŁĽěĽŻĽČĽę¤Ë¤˘¤ëĽÇĄźĽżĽŮĄźĽšĽŐĽĄĽ¤Ľë¤Ç¤šĄŁ
¤ł¤ě¤é¤Ď NIS ĽŢĽšĽż¤Î /etc
ĽÇĽŁĽěĽŻĽČĽę¤ÎŔßÄęĽŐĽĄĽ¤Ľë¤Ť¤éşî¤é¤ě¤Ţ¤šĄŁ
ÍŁ°ě¤ÎÎăł°¤Ď /etc/master.passwd
ĽŐĽĄĽ¤Ľë¤Ç¤šĄŁ¤ł¤ě¤Ď root
¤äž¤Î´ÉÍýÍŃĽ˘ĽŤĽŚĽóĽČ¤ÎĽŃĽšĽďĄźĽÉ¤Ţ¤Ç¤˝¤Î
NIS ĽÉĽáĽ¤Ľó¤Î¤š¤Ů¤Ć¤ÎĽľĄźĽĐ¤ËĹÁ¤¨¤ż¤Ż¤Ę¤¤¤Č¤¤¤ŚĄ˘
¤â¤Ă¤Č¤â¤ĘÍýÍł¤Ë¤č¤ë¤â¤Î¤Ç¤šĄŁ¤ł¤Î¤ż¤á NIS
ĽŢĽĂĽ×¤Î˝é´ü˛˝¤ÎÁ°¤Ë°Ę˛ź¤ňšÔ¤ŚÉŹÍפʤ˘¤ę¤Ţ¤šĄŁ&prompt.root; cp /etc/master.passwd /var/yp/master.passwd
&prompt.root; cd /var/yp
&prompt.root; vi master.passwdĽˇĽšĽĆĽŕ¤Ë´Ř¤š¤ëĽ˘ĽŤĽŚĽóĽČ
(bin, tty,
kmem, games ¤Ę¤É)
¤äĄ˘NIS ĽŻĽéĽ¤Ľ˘ĽóĽČ¤ËĹÁ¤¨¤ż¤Ż¤Ę¤¤Ľ˘ĽŤĽŚĽóĽČ
(¤ż¤Č¤¨¤Đ root
¤äž¤Î UID ¤Ź 0 (ĽšĄźĽŃĽćĄźĽś) ¤ÎĽ˘ĽŤĽŚĽóĽČ)
¤ň¤š¤Ů¤Ć NIS ĽŢĽĂĽ×¤Ť¤éźč¤ę˝ü¤Ť¤Ę¤ą¤ě¤Đ¤Ę¤ę¤Ţ¤ť¤óĄŁ/var/yp/master.passwd ¤Ź
Ľ°ĽëĄźĽ×¤Ţ¤ż¤ĎĂŻ¤â¤ŹĆɤá¤ë¤č¤Ś¤Ë¤Ę¤Ă¤Ć¤¤¤Ę¤¤¤č¤Ś¤Ë¤ˇ¤Ć¤Ż¤Ŕ¤ľ¤¤
(ĽâĄźĽÉ 600)!
ÉŹÍפʤé chmod
ĽłĽŢĽóĽÉ¤ňťČ¤Ă¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁTru64 UNIX¤š¤Ů¤Ć¤Ź˝Ş¤ď¤Ă¤ż¤é NIS ĽŢĽĂĽ×¤ň˝é´ü˛˝¤ˇ¤Ţ¤š!
FreeBSD ¤Ë¤ĎĄ˘¤ł¤ě¤ňšÔ¤Ś¤ż¤á¤Ë ypinit
¤Č¤¤¤ŚĚž¤ÎĽšĽŻĽęĽ×ĽČ¤Ź´Ţ¤Ţ¤ě¤Ć¤¤¤Ţ¤š
(žÜşŮ¤Ď¤˝¤ÎĽŢĽËĽĺĽ˘ĽëĽÚĄźĽ¸¤ň¤´Í÷¤Ż¤Ŕ¤ľ¤¤)ĄŁ
¤ł¤ÎĽšĽŻĽęĽ×ĽČ¤Ď¤Ű¤Č¤ó¤É¤Î &unix; OS ¤Ë¸şß¤ˇ¤Ţ¤š¤ŹĄ˘
¤š¤Ů¤Ć¤Č¤Ď¸Â¤é¤Ę¤¤¤ł¤Č¤ňłĐ¤¨¤Ć¤Ş¤¤¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ
Digital Unix/Compaq Tru64 UNIX ¤Ç¤Ď ypsetup
¤Č¸Ć¤Đ¤ě¤Ć¤¤¤Ţ¤šĄŁNIS ĽŢĽšĽż¤Î¤ż¤á¤ÎĽŢĽĂĽ×¤ňşî¤ë¤ż¤á¤Ë¤Ď
ĽŞĽ×ĽˇĽçĽó¤ň ypinit
¤ËÍż¤¨¤Ţ¤šĄŁžĺ˝Ň¤ÎĽšĽĆĽĂĽ×¤ň´°Îť¤ˇ¤Ć¤¤¤ë¤Ę¤éĄ˘°Ę˛ź¤ňźÂšÔ¤ˇ¤Ć
NIS ĽŢĽĂĽ×¤ňŔ¸Ŕޤˇ¤Ţ¤šĄŁellington&prompt.root; ypinit -m test-domain
Server Type: MASTER Domain: test-domain
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
[..output from map generation..]
NIS Map update completed.
ellington has been setup as an YP master server without any errors.ypinit ¤Ď
/var/yp/Makefile ¤ň
/var/yp/Makefile.dist ¤Ť¤éşîŔޤˇ¤Ţ¤šĄŁ
şîŔޤľ¤ě¤żťţĹŔ¤Ç¤ĎĄ˘¤˝¤ÎĽŐĽĄĽ¤Ľë¤Ď¤˘¤Ę¤ż¤Ź FreeBSD
ĽŢĽˇĽó¤Ŕ¤ą¤Ť¤é¤Ę¤ëĽľĄźĽĐ¤Ź 1 Âć¤Ŕ¤ą¤Î
NIS ´Äś¤ň°ˇ¤Ă¤Ć¤¤¤ë¤Č˛žÄꤡ¤Ć¤¤¤Ţ¤šĄŁ
test-domain
¤ĎĽšĽěĄźĽÖĽľĄźĽĐ¤ň°ě¤Äťý¤Ă¤Ć¤¤¤Ţ¤š¤Î¤Ç
/var/yp/Makefile
¤ňĘÔ˝¸¤ˇ¤Ę¤ą¤ě¤Đ¤Ę¤ę¤Ţ¤ť¤óĄŁellington&prompt.root; vi /var/yp/Makefile°Ę˛ź¤ÎšÔ¤ň (¤â¤ˇ´ű¤ËĽłĽáĽóĽČĽ˘ĽŚĽČ¤ľ¤ě¤Ć¤¤¤Ę¤¤¤Ę¤é¤Đ)
ĽłĽáĽóĽČĽ˘ĽŚĽČ¤ˇ¤Ę¤ą¤ě¤Đ¤Ę¤ę¤Ţ¤ť¤óĄŁNOPUSH = "True"NIS ĽšĽěĄźĽÖĽľĄźĽĐ¤ÎŔßÄęNISĽšĽěĄźĽÖĽľĄźĽĐNIS ĽšĽěĄźĽÖĽľĄźĽĐ¤ÎŔßÄę¤ĎĽŢĽšĽżĄźĽľĄźĽĐ¤ÎŔßÄę°Ęžĺ¤Ë´ĘĂą¤Ç¤šĄŁ
ĽšĽěĄźĽÖĽľĄźĽĐ¤ËĽíĽ°ĽŞĽó¤ˇ /etc/rc.conf
ĽŐĽĄĽ¤Ľë¤ňÁ°˛ó¤ČĆąÍͤËĘÔ˝¸¤ˇ¤Ţ¤šĄŁÍٰě¤Î°ă¤Ś¤Č¤ł¤í¤Ď
ypinit ¤ÎźÂšÔ¤Ë
ĽŞĽ×ĽˇĽçĽó¤ňťČ¤ď¤Ę¤ą¤ě¤Đ¤¤¤ą¤Ę¤¤¤ł¤Č¤Ç¤šĄŁ
ĽŞĽ×ĽˇĽçĽó¤Ď
NIS ĽŢĽšĽżĄźĽľĄźĽĐ¤ÎĚžÁ°¤ňÍ׾ᤡĄ˘
ĽłĽŢĽóĽÉĽéĽ¤Ľó¤Ď°Ę˛ź¤Î¤č¤Ś¤Ë¤Ę¤ę¤Ţ¤šĄŁcoltrane&prompt.root; ypinit -s ellington test-domain
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.¤ł¤ÎÎă¤Îžěšç /var/yp/test-domain
¤Č¤¤¤ŚĽÇĽŁĽěĽŻĽČĽę¤ŹÉŹÍפˤʤę¤Ţ¤šĄŁ
NIS ĽŢĽšĽżĄźĽľĄźĽĐ¤ÎĽŢĽĂĽ×ĽŐĽĄĽ¤Ľë¤ÎĽłĽÔĄź¤ĎĄ˘
¤ł¤ÎĽÇĽŁĽěĽŻĽČĽę¤ËĂÖ¤¤¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ
¤ł¤ě¤é¤ňłÎźÂ¤ËşÇżˇ¤Î¤â¤Î¤Ë°Ýťý¤š¤ëÉŹÍפʤ˘¤ę¤Ţ¤šĄŁ
źĄ¤ÎĽ¨ĽóĽČĽę¤ňĽšĽěĄźĽÖĽľĄźĽĐ¤Î /etc/crontab
¤ËÄɲ䚤뤳¤Č¤ÇĄ˘şÇżˇ¤Î¤â¤Î¤ËĘݤĤł¤Č¤Ź¤Ç¤¤Ţ¤šĄŁ20 * * * * root /usr/libexec/ypxfr passwd.byname
21 * * * * root /usr/libexec/ypxfr passwd.byuid¤ł¤ÎĆóšÔ¤ĎĽšĽěĄźĽÖĽľĄźĽĐ¤Ë¤˘¤ëĽŢĽĂĽ×ĽŐĽĄĽ¤Ľë¤ňĄ˘
ĽŢĽšĽżĄźĽľĄźĽĐ¤ÎĽŢĽĂĽ×ĽŐĽĄĽ¤Ľë¤ČĆą´ü¤ľ¤ť¤ë¤â¤Î¤Ç¤šĄŁ
¤ł¤ÎĽ¨ĽóĽČĽę¤ĎÉŹżÜ¤Č¤¤¤Ś¤ď¤ą¤Ç¤Ď¤˘¤ę¤Ţ¤ť¤ó¤ŹĄ˘ĽŢĽšĽżĄźĽľĄźĽĐ¤Ď
NIS ĽŢĽĂĽ×¤ËÂФš¤ëĘŃšš¤ňĽšĽěĄźĽÖĽľĄźĽĐ¤ËĹÁ¤¨¤č¤Ś¤Č¤ˇ¤Ţ¤š¤ˇĄ˘
ĽľĄźĽĐ¤Ź´ÉÍý¤š¤ëĽˇĽšĽĆĽŕ¤Ë¤Č¤Ă¤ĆĽŃĽšĽďĄźĽÉžđĘó¤Ď¤Č¤Ć¤â˝ĹÍפʤΤǥ˘
śŻŔŠĹŞ¤Ëššżˇ¤ˇ¤Ć¤ˇ¤Ţ¤Ś¤ł¤Č¤Ď¤č¤¤šÍ¤¨¤Ç¤šĄŁĆä˥˘
ĽŢĽĂĽ×ĽŐĽĄĽ¤Ľë¤Îššżˇ¤Ź¤¤Á¤ó¤ČšÔ¤Ę¤ď¤ě¤ë¤Ť¤É¤Ś¤Ť¤ď¤Ť¤é¤Ę¤¤¤Ż¤é¤¤şŽť¨¤š¤ëĽÍĽĂĽČĽďĄźĽŻ¤Ç¤ĎĄ˘
˝ĹÍפˤʤę¤Ţ¤šĄŁĽšĽěĄźĽÖĽľĄźĽĐžĺ¤Ç¤â /etc/netstart
ĽłĽŢĽóĽÉ¤ňźÂšÔ¤ˇ¤ĆĄ˘NIS ĽľĄźĽĐ¤ňşĆľŻĆ°¤ˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁNIS ĽŻĽéĽ¤Ľ˘ĽóĽČNIS ĽŻĽéĽ¤Ľ˘ĽóĽČ¤Ď ypbind
ĽÇĄźĽâĽó¤ňťČ¤Ă¤ĆĄ˘ĆĂÄę¤Î NIS
ĽľĄźĽĐ¤Č¤Î´Ö¤Ëˇëšç (binding) ¤Č¸Ć¤Đ¤ě¤ë´Řˇ¸¤ňŔŽÎФľ¤ť¤Ţ¤šĄŁ
ypbind ¤ĎĽˇĽšĽĆĽŕ¤ÎĽÇĽŐĽŠĽëĽČ¤ÎĽÉĽáĽ¤Ľó
(domainname ĽłĽŢĽóĽÉ¤ÇŔßÄꤾ¤ě¤Ţ¤š)
¤ňłÎǧ¤ˇĄ˘RPC Í׾á¤ňĽíĄźĽŤĽëĽÍĽĂĽČĽďĄźĽŻ¤ËĽÖĽíĄźĽÉĽĽăĽšĽČ¤ˇ¤Ţ¤šĄŁ
¤ł¤Î RPC Í׾á¤Ë¤č¤ę ypbind
¤Źˇëšç¤ňŔŽÎФľ¤ť¤č¤Ś¤Č¤ˇ¤Ć¤¤¤ëĽÉĽáĽ¤ĽóĚž¤ŹťŘÄꤾ¤ě¤Ţ¤šĄŁ
Í׾᤾¤ě¤Ć¤¤¤ëĽÉĽáĽ¤ĽóĚž¤ËÂФˇ¤ĆĽľĄźĽÓĽš¤š¤ë¤č¤ŚŔßÄꤾ¤ě¤żĽľĄźĽĐ¤Ź
ĽÖĽíĄźĽÉĽĽăĽšĽČ¤ňźőżŽ¤š¤ë¤ČĄ˘
ĽľĄźĽĐ¤Ď ypbind ¤ËąţĹú¤ˇypbind
¤ĎąţĹú¤Î¤˘¤Ă¤żĽľĄźĽĐ¤ÎĽ˘ĽÉĽěĽš¤ňľĎż¤ˇ¤Ţ¤šĄŁĘŁżô¤ÎĽľĄźĽĐ
(¤ż¤Č¤¨¤Đ°ě¤Ä¤ÎĽŢĽšĽżĄźĽľĄźĽĐ¤ČĄ˘ĘŁżô¤ÎĽšĽěĄźĽÖĽľĄźĽĐ)
¤ŹÍřÍѲÄÇ˝¤ĘžěšçĄ˘ypbind ¤ĎĄ˘
şÇ˝é¤ËąţĹú¤ˇ¤żĽľĄźĽĐ¤ÎĽ˘ĽÉĽěĽš¤ňťČÍѤˇ¤Ţ¤šĄŁ
¤ł¤ě°ĘšßĄ˘ĽŻĽéĽ¤Ľ˘ĽóĽČ¤ÎĽˇĽšĽĆĽŕ¤ĎĄ˘
¤š¤Ů¤Ć¤Î NIS ¤ÎÍ׾á¤ň¤˝¤ÎĽľĄźĽĐ¤Ë¸ţ¤ą¤ĆÁ÷żŽ¤ˇ¤Ţ¤šĄŁ
ypbind ¤ĎĄ˘
ĽľĄźĽĐ¤Ź˝çÄ´¤Ëưşî¤ˇ¤Ć¤¤¤ë¤ł¤Č¤ňłÎǧ¤š¤ë¤ż¤áĄ˘
ťţĄš ping ¤ňĽľĄźĽĐ¤ËÁ÷¤ę¤Ţ¤šĄŁ
Čżąţ¤ŹĚá¤Ă¤Ć¤Ż¤ë¤Ů¤ťţ´ÖĆâ¤Ë ping ¤ËÂФš¤ëąţĹú¤ŹÍč¤Ę¤ą¤ě¤ĐĄ˘
ypbind ¤ĎĄ˘¤˝¤ÎĽÉĽáĽ¤Ľó¤ňˇëšçÉÔÇ˝
(unbound) ¤Č¤ˇ¤ĆľĎż¤ˇĄ˘Ę̤μľĄźĽĐ¤ň¸Ť¤Ä¤ą¤ë¤Ů¤ŻĄ˘
şĆ¤ÓĽÖĽíĄźĽÉĽĽăĽšĽČĽŃĽąĽĂĽČ¤ÎÁ÷żŽ¤ňšÔ¤¤¤Ţ¤šĄŁNIS ĽŻĽéĽ¤Ľ˘ĽóĽČ¤ÎŔßÄęNISĽŻĽéĽ¤Ľ˘ĽóĽČ¤ÎŔßÄęFreeBSD ĽŢĽˇĽó¤ň NIS ĽŻĽéĽ¤Ľ˘ĽóĽČ¤Ë¤š¤ëŔßÄę¤ĎČóžď¤ËĂą˝ă¤Ç¤šĄŁĽÍĽĂĽČĽďĄźĽŻ¤ÎľŻĆ°ťţ¤Ë NIS ĽÉĽáĽ¤ĽóĚž¤ňŔßÄꤡ¤Ć
ypbind ¤ňľŻĆ°¤ľ¤ť¤ë¤ż¤á¤Ë
/etc/rc.conf
ĽŐĽĄĽ¤Ľë¤ňĘÔ˝¸¤ˇ¤Ć°Ę˛ź¤ÎšÔ¤ňÄɲ䡤ޤšĄŁnisdomainname="test-domain"
nis_client_enable="YES"NIS ĽľĄźĽĐ¤Ť¤éĄ˘
ÍřÍѲÄÇ˝¤ĘĽŃĽšĽďĄźĽÉĽ¨ĽóĽČĽę¤ň¤š¤Ů¤Ćźč¤ęšţ¤ŕ¤ż¤áĄ˘
/etc/master.passwd
¤Ť¤é¤š¤Ů¤Ć¤ÎĽćĄźĽśĽ˘ĽŤĽŚĽóĽČ¤ňźč¤ę˝ü¤¤¤ĆĄ˘
vipw ĽłĽŢĽóĽÉ¤Ç°Ę˛ź¤ÎšÔ¤ň
/etc/master.passwd ¤ÎşÇ¸ĺ¤ËÄɲ䡤ޤšĄŁ+:::::::::¤ł¤ÎšÔ¤Ë¤č¤Ă¤Ć NIS
ĽľĄźĽĐ¤ÎĽŃĽšĽďĄźĽÉĽŢĽĂĽ×¤ËĽ˘ĽŤĽŚĽóĽČ¤Ź¤˘¤ëżÍÁ´°÷¤ËĽ˘ĽŤĽŚĽóĽČ¤ŹÍż¤¨¤é¤ě¤Ţ¤šĄŁ
¤ł¤ÎšÔ¤ňĘŃšš¤š¤ë¤ČĄ˘
¤ľ¤Ţ¤ś¤Ţ¤Ę NIS ĽŻĽéĽ¤Ľ˘ĽóĽČ¤ÎŔßÄę¤ňšÔ¤Ę¤Ś¤ł¤Č¤Ź˛ÄÇ˝¤Ç¤šĄŁ
žÜşŮ¤Ď ĽÍĽĂĽČĽ°ĽëĄźĽ×
¤ňĄ˘¤ľ¤é¤ËžÜ¤ˇ¤¤žđĘó¤Ë¤Ä¤¤¤Ć¤ĎĄ˘O'Reilly ¤Î
Managing NFS and NIS ¤ňť˛žČ¤ˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ/etc/master.passwd
Ćâ¤ËžŻ¤Ę¤Ż¤Č¤â°ě¤Ä¤ÎĽíĄźĽŤĽëĽ˘ĽŤĽŚĽóĽČ
(¤Ä¤Ţ¤ę NIS ˇĐÍł¤ÇĽ¤ĽóĽÝĄźĽČ¤ľ¤ě¤Ć¤¤¤Ę¤¤Ľ˘ĽŤĽŚĽóĽČ)
¤ňĂÖ¤Ż¤Ů¤¤Ç¤šĄŁ
¤Ţ¤żĄ˘¤ł¤ÎĽ˘ĽŤĽŚĽóĽČ¤Ď wheel
Ľ°ĽëĄźĽ×¤ÎĽáĽóĽĐĄź¤Ç¤˘¤ë¤Ů¤¤Ç¤šĄŁ
NIS ¤Ź¤É¤ł¤ŤÄ´ťŇ°¤¤¤Č¤¤Ë¤ĎĄ˘
ĽęĽâĄźĽČ¤Ť¤é¤ł¤ÎĽ˘ĽŤĽŚĽóĽČ¤ÇĽíĽ°Ľ¤Ľó¤ˇĄ˘
root ¤Ë¤Ę¤Ă¤Ć˝¤Éü¤š¤ë¤Î¤ËÍřÍѤǤ¤Ţ¤šĄŁNIS
ĽľĄźĽĐ¤Ë¤˘¤ë¤š¤Ů¤Ć¤ÎĽ°ĽëĄźĽ×Ľ¨ĽóĽČĽę¤ňźč¤ęšţ¤ŕ¤ż¤áĄ˘
°Ę˛ź¤ÎšÔ¤ň /etc/group
¤ËÄɲ䡤ޤšĄŁ+:*::žĺľ¤Îźę˝ç¤Ź¤š¤Ů¤Ć´°Îť¤š¤ě¤ĐĄ˘
ypcat passwd ¤Ë¤č¤Ă¤Ć
NIS ĽľĄźĽĐ¤Î passwd ĽŢĽĂĽ×¤Źť˛žČ¤Ç¤¤ë¤č¤Ś¤Ë¤Ę¤Ă¤Ć¤¤¤ë¤Ď¤ş¤Ç¤šĄŁ
NIS ĽťĽĽĺĽęĽĆĽŁ°ěČ̤˼ɼἤĽóĚž¤ľ¤¨ĂΤäƤ¤¤ě¤ĐĄ˘
¤É¤ł¤Ë¤¤¤ëĽęĽâĄźĽČĽćĄźĽś¤Ç¤â &man.ypserv.8; ¤Ë RPC ¤ňČŻšÔ¤ˇ¤Ć
NIS ĽŢĽĂĽ×¤ÎĆâÍƤň°ú¤˝Đ¤š¤ł¤Č¤Ź¤Ç¤¤Ţ¤šĄŁ
¤ł¤Ś¤¤¤Ă¤żÉÔŔľ¤Ę¤ä¤ę¤Č¤ę¤ňËɤ°¤ż¤áĄ˘
&man.ypserv.8; ¤Ë¤Ď securenets ¤Č¸Ć¤Đ¤ě¤ëľĄÇ˝¤Ź¤˘¤ę¤Ţ¤šĄŁ¤ł¤ě¤ĎĄ˘
Ľ˘ĽŻĽťĽš¤ňˇč¤á¤é¤ě¤żĽŰĽšĽČ¤Ŕ¤ą¤ËŔŠ¸Â¤š¤ë¤Î¤ËťČ¤¨¤ëľĄÇ˝¤Ç¤šĄŁ
&man.ypserv.8; ¤ĎľŻĆ°ťţ¤Ë /var/yp/securenets
ĽŐĽĄĽ¤Ľë¤Ť¤é securenets ¤Ë´Ř¤š¤ëžđĘó¤ňĆɤߚţ¤ß¤Ţ¤šĄŁžĺľ¤ÎĽŃĽšĚž¤Ď
ĽŞĽ×ĽˇĽçĽó¤ÇťŘÄꤾ¤ě¤żĽŃĽšĚž¤Ë¤č¤Ă¤ĆĘѤď¤ę¤Ţ¤šĄŁ¤ł¤ÎĽŐĽĄĽ¤Ľë¤ĎĄ˘
śőÇň¤ÇśčŔÚ¤é¤ě¤żĽÍĽĂĽČĽďĄźĽŻťŘÄę¤ČĽÍĽĂĽČĽŢĽšĽŻ¤ÎĽ¨ĽóĽČĽę¤Ť¤é¤Ę¤Ă¤Ć¤¤¤ĆĄ˘
# ¤ÇťĎ¤Ţ¤ëšÔ¤ĎĽłĽáĽóĽČ¤Č¤ß¤Ę¤ľ¤ě¤Ţ¤šĄŁ
´ĘĂą¤Ę securenets ĽŐĽĄĽ¤Ľë¤ÎÎă¤ň°Ę˛ź¤Ëꍤˇ¤Ţ¤šĄŁ# allow connections from local host -- mandatory
127.0.0.1 255.255.255.255
# allow connections from any host
# on the 192.168.128.0 network
192.168.128.0 255.255.255.0
# allow connections from any host
# between 10.0.0.0 to 10.0.15.255
10.0.0.0 255.255.240.0&man.ypserv.8;
¤Źžĺľ¤ÎĽëĄźĽë¤Î°ě¤Ä¤ČšçĂפš¤ëĽ˘ĽÉĽěĽš¤Ť¤é¤ÎÍ׾á¤ňźő¤ąźč¤Ă¤żžěšçĄ˘
˝čÍý¤ĎŔľžď¤ËšÔ¤Ę¤ď¤ě¤Ţ¤šĄŁ
¤â¤ˇĽ˘ĽÉĽěĽš¤ŹĽëĄźĽë¤ËšçĂפˇ¤Ę¤ą¤ě¤ĐĄ˘
¤˝¤ÎÍ׾á¤ĎĚľťë¤ľ¤ě¤ĆˇŮšđĽáĽĂĽťĄźĽ¸¤ŹĽíĽ°¤ËľĎż¤ľ¤ě¤Ţ¤šĄŁ
¤Ţ¤ż /var/yp/securenets ¤ŹÂ¸şß¤ˇ¤Ę¤¤žěšçĄ˘
ypserv ¤Ď¤š¤Ů¤Ć¤ÎĽŰĽšĽČ¤Ť¤é¤ÎŔÜÂł¤ňźő¤ąĆţ¤ě¤Ţ¤šĄŁ
ypserv ¤Ď Wietse Venema ťá¤Ë¤č¤ë
tcpwrapper ĽŃĽĂĽąĄźĽ¸¤âĽľĽÝĄźĽČ¤ˇ¤Ć¤¤¤Ţ¤šĄŁ
¤˝¤Î¤ż¤á /var/yp/securenets ¤ÎÂĺ¤ď¤ę¤Ë
tcpwrapper
¤ÎŔßÄęĽŐĽĄĽ¤Ľë¤ňťČ¤Ă¤ĆĽ˘ĽŻĽťĽšŔЏć¤ňšÔ¤Ę¤Ś¤ł¤Č¤â˛ÄÇ˝¤Ç¤šĄŁ¤ł¤ě¤é¤ÎĽ˘ĽŻĽťĽšŔŠ¸ćľĄÇ˝¤Ď°ěÄę¤ÎĽťĽĽĺĽęĽĆĽŁ¤ňÄ󜥤ˇ¤Ţ¤š¤ŹĄ˘
¤É¤Á¤é¤âĆø˘ĽÝĄźĽČ¤ÎĽĆĽšĽČ¤Î¤č¤Ś¤Ę IP spoofing
šśˇâ¤ËÂФˇ¤ĆŔČźĺ¤Ç¤šĄŁ¤š¤Ů¤Ć¤Î NIS
´ŘϢ¤ÎĽČĽéĽŐĽŁĽĂĽŻ¤ĎĽŐĽĄĽ¤Ľ˘ĽŚĽŠĄźĽë¤ÇĽÖĽíĽĂĽŻ¤ľ¤ě¤ë¤Ů¤¤Ç¤šĄŁ/var/yp/securenets
¤ňťČ¤Ă¤Ć¤¤¤ëĽľĄźĽĐ¤ĎĄ˘¸Ĺ¤¤ TCP/IP
źÂÁő¤ňťý¤ÄŔľĹö¤ĘĽŻĽéĽ¤Ľ˘ĽóĽČ¤Ř¤ÎĽľĄźĽÓĽš¤ËźşÇÔ¤š¤ë¤ł¤Č¤Ź¤˘¤ę¤Ţ¤šĄŁ
¤ł¤ě¤é¤ÎźÂÁő¤ÎĂć¤Ë¤ĎĽÖĽíĄźĽÉĽĽăĽšĽČ¤ÎĽŰĽšĽČĽÓĽĂĽČ¤ň¤š¤Ů¤Ć
0 ¤ÇĽťĽĂĽČ¤ˇ¤Ć¤ˇ¤Ţ¤Ă¤ż¤ęĄ˘
ĽÖĽíĄźĽÉĽĽăĽšĽČĽ˘ĽÉĽěĽš¤Îˇ×ťť¤ÇĽľĽÖĽÍĽĂĽČĽŢĽšĽŻ¤ň¸ŤÍî¤Č¤ˇ¤Ć¤ˇ¤Ţ¤Ă¤ż¤ę¤š¤ë¤â¤Î¤Ź¤˘¤ę¤Ţ¤šĄŁ
¤ł¤ě¤é¤ÎĚäÂę¤Ë¤ĎĽŻĽéĽ¤Ľ˘ĽóĽČ¤ÎŔßÄę¤ňŔľ¤ˇ¤ŻšÔ¤Ę¤¨¤Đ˛ňˇč¤Ç¤¤ë¤â¤Î¤â¤˘¤ę¤Ţ¤š¤ŹĄ˘
ĚäÂę¤Č¤Ę¤Ă¤Ć¤¤¤ëĽŻĽéĽ¤Ľ˘ĽóĽČĽˇĽšĽĆĽŕ¤ň°úÂा¤ť¤ë¤ŤĄ˘
/var/yp/securenets
¤ňťČ¤ď¤Ę¤¤¤č¤Ś¤Ë¤ˇ¤Ę¤ą¤ě¤Đ¤Ę¤é¤Ę¤¤¤â¤Î¤â¤˘¤ę¤Ţ¤šĄŁ¤ł¤Î¤č¤Ś¤Ę¸ĹÉ÷¤Ę TCP/IP ¤ÎźÂÁő¤ňťý¤ÄĽľĄźĽĐ¤Ç
/var/yp/securenets
¤ňťČ¤Ś¤ł¤Č¤ĎźÂ¤Ë°¤¤šÍ¤¨¤Ç¤˘¤ęĄ˘
¤˘¤Ę¤ż¤ÎĽÍĽĂĽČĽďĄźĽŻ¤ÎÂçÉôĘŹ¤Ë¤Ş¤¤¤Ć
NIS ¤ÎľĄÇ˝ÁÓźş¤ňžˇ¤¤Ţ¤šĄŁtcpwrappertcpwrapper
ĽŃĽĂĽąĄźĽ¸¤ňťČ¤Ś¤Č¤˘¤Ę¤ż¤Î NIS ĽľĄźĽĐ¤ÎĽěĽ¤ĽĆĽóĽˇ (ĂŮąä)
¤ŹÁý˛Ă¤ˇ¤Ţ¤šĄŁĆĂ¤ËşŽť¨¤ˇ¤żĽÍĽĂĽČĽďĄźĽŻ¤äĂ٤¤ NIS
ĽľĄźĽĐ¤Ç¤ĎĄ˘ĂŮąä¤ÎÁý˛Ă¤Ë¤č¤Ă¤ĆĄ˘
ĽŻĽéĽ¤Ľ˘ĽóĽČĽ×ĽíĽ°ĽéĽŕ¤ÎĽżĽ¤ĽŕĽ˘ĽŚĽČ¤ŹľŻ¤ł¤ë¤Ť¤â¤ˇ¤ě¤Ţ¤ť¤óĄŁ
°ě¤Ä°Ęžĺ¤ÎĽŻĽéĽ¤Ľ˘ĽóĽČĽˇĽšĽĆĽŕ¤Ź¤ł¤ě¤é¤ÎĂű¸ő¤ňꍤˇ¤ż¤Ę¤éĄ˘
¤˘¤Ę¤ż¤ĎĚäÂę¤Č¤Ę¤Ă¤Ć¤¤¤ëĽŻĽéĽ¤Ľ˘ĽóĽČĽˇĽšĽĆĽŕ¤ň
NIS ĽšĽěĄźĽÖĽľĄźĽĐ¤Ë¤ˇ¤ĆźŤĘŹźŤżČ¤Ëˇë¤ÓÉŐ¤Ż¤č¤Ś¤ËśŻŔФš¤Ů¤¤Ç¤šĄŁ˛żżÍ¤Ť¤ÎĽćĄźĽś¤ÎĽíĽ°ĽŞĽó¤ňź×ĂǤš¤ë¤ď¤ż¤ˇ¤ż¤Á¤Î¸Śľćźź¤Ë¤Ď basie ¤Č¤¤¤ŚĄ˘
śľ°÷ŔěÍѤμ޼ˇĽó¤Ź¤˘¤ę¤Ţ¤šĄŁ¤ď¤ż¤ˇ¤ż¤Á¤Ď¤ł¤ÎĽŢĽˇĽó¤ň
NIS ĽÉĽáĽ¤Ľó¤Îł°¤Ë˝Đ¤ˇ¤ż¤Ż¤Ę¤¤¤Î¤Ç¤š¤ŹĄ˘
ĽŢĽšĽż NIS ĽľĄźĽĐ¤Î passwd
ĽŐĽĄĽ¤Ľë¤Ë¤Ďśľ°÷¤ČłŘŔ¸¤ÎΞĘý¤ŹşÜ¤Ă¤Ć¤¤¤Ţ¤šĄŁ
¤É¤Ś¤ˇ¤ż¤é¤¤¤¤¤Ç¤ˇ¤ç¤Ś?ĹöłşżÍĘŞ¤Ź NIS ¤ÎĽÇĄźĽżĽŮĄźĽš¤ËşÜ¤Ă¤Ć¤¤¤Ć¤âĄ˘
¤˝¤ÎĽćĄźĽś¤ŹĽŢĽˇĽó¤ËĽíĽ°ĽŞĽó¤Ç¤¤Ę¤¤¤č¤Ś¤Ë¤š¤ëĘýËĄ¤Ź¤˘¤ę¤Ţ¤šĄŁ
¤˝¤Ś¤š¤ë¤Ë¤Ď
-username
¤ňĽŻĽéĽ¤Ľ˘ĽóĽČĽŢĽˇĽó¤Î /etc/master.passwd
ĽŐĽĄĽ¤Ľë¤ÎËöČř¤ËÉŐ¤ąÂ¤ˇ¤Ţ¤šĄŁ
username
¤Ď¤˘¤Ę¤ż¤ŹĽíĽ°Ľ¤Ľó¤ľ¤ť¤ż¤Ż¤Ę¤¤¤Čť×¤Ă¤Ć¤¤¤ëĽćĄźĽś¤ÎĽćĄźĽśĚž¤Ç¤šĄŁ
¤ł¤ě¤Ď vipw ¤ÇšÔ¤Ś¤Ů¤¤Ç¤šĄŁ
vipw ¤Ď /etc/master.passwd
¤Ř¤ÎĘŃšš¤ňĽÁĽ§ĽĂĽŻ¤ˇĄ˘ĘÔ˝¸˝ŞÎť¸ĺĽŃĽšĽďĄźĽÉĽÇĄźĽżĽŮĄźĽš¤ňşĆš˝Ăۤˇ¤Ţ¤šĄŁ
¤ż¤Č¤¨¤ĐĄ˘ĽćĄźĽś bill ¤Ź basie
¤ËĽíĽ°ĽŞĽó¤š¤ë¤Î¤ňËɤޤż¤¤¤Ę¤éĄ˘°Ę˛ź¤Î¤č¤Ś¤Ë¤ˇ¤Ţ¤šĄŁbasie&prompt.root; vipw[add -bill to the end, exit]
vipw: rebuilding the database...
vipw: done
basie&prompt.root; cat /etc/master.passwd
root:[password]:0:0::0:0:The super-user:/root:/bin/csh
toor:[password]: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;UdoErdelhoff´óšĆ: ĽÍĽĂĽČĽ°ĽëĄźĽ×¤ÎÍřÍŃĽÍĽĂĽČĽ°ĽëĄźĽ×Á°Ŕá¤Ţ¤Ç¤Ë¸Ť¤Ć¤¤żźęËĄ¤ĎĄ˘
śË¤á¤ĆžŻ¤Ę¤¤ĽćĄźĽś/ĽŢĽˇĽó¸ţ¤ą¤Ë¸ÄĘ̤μ륟Ľë¤ňÉŹÍפȤˇ¤Ć¤¤¤ëžěšç¤Ë¤Ď¤Ś¤Ţ¤ŻľĄÇ˝¤ˇ¤Ţ¤šĄŁ
¤ˇ¤Ť¤ˇÂ礤ʼͼüȼ寧ĽŻ¤Ç¤ĎĄ˘
ĽćĄźĽś¤Ëż¨¤é¤ě¤ż¤Ż¤Ę¤¤ĽŢĽˇĽó¤ŘĽíĽ°ĽŞĽó¤ňËɤ°¤Î¤ň
Ëş¤ě¤ë¤Ç¤ˇ¤ç¤Ś ¤ˇĄ˘
¤˝¤Ś¤Ç¤Ę¤Ż¤Č¤âłĆĽŢĽˇĽó¤ň¸ÄĘ̤ËŔßÄꤡ¤Ć˛ó¤é¤Ę¤ą¤ě¤Đ¤Ę¤é¤şĄ˘
˝¸Ăć´ÉÍý¤Č¤¤¤Ś NIS ¤Î˛¸ˇĂ¤ňźş¤Ă¤Ć¤ˇ¤Ţ¤¤¤Ţ¤šĄŁNIS ¤ÎłŤČŻźÔ¤Ď¤ł¤ÎĚäÂę¤ň ĽÍĽĂĽČĽ°ĽëĄźĽ×
¤Č¸Ć¤Đ¤ě¤ëĘýËĄ¤Ç˛ňˇč¤ˇ¤Ţ¤ˇ¤żĄŁ
¤˝¤ÎĚÜĹŞ¤Č°ŐĚŁšç¤¤¤Ď &unix;
¤ÎĽŐĽĄĽ¤ĽëĽˇĽšĽĆĽŕ¤ÇťČ¤ď¤ě¤Ć¤¤¤ë°ěČĚĹŞ¤ĘĽ°ĽëĄźĽ×¤ČČćłÓ¤Ç¤¤Ţ¤šĄŁ
źç¤ż¤ëÁę°ă¤ĎżôĂÍ ID ¤ŹÂ¸şß¤ˇ¤Ę¤¤¤ł¤Č¤ČĄ˘
ĽćĄźĽśĽ˘ĽŤĽŚĽóĽČ¤ČĘ̤μͼüȼ°ĽëĄźĽ×¤ň´Ţ¤á¤żĽÍĽĂĽČĽ°ĽëĄźĽ×¤ňÄęľÁ¤Ç¤¤ë¤ł¤Č¤Ç¤šĄŁĽÍĽĂĽČĽ°ĽëĄźĽ×¤ĎÉ´żÍ/Âć°Ęžĺ¤ÎĽćĄźĽś¤ČĽŢĽˇĽó¤ň´Ţ¤ŕĄ˘
Â礤ŻĘŁť¨¤ĘĽÍĽĂĽČĽďĄźĽŻ¤ň°ˇ¤Ś¤ż¤á¤ËłŤČݤľ¤ě¤Ţ¤ˇ¤żĄŁ
¤˘¤Ę¤ż¤Ź¤ł¤Î¤č¤Ś¤Ęžőśˇ¤ň°ˇ¤ď¤Ę¤ą¤ě¤Đ¤Ę¤é¤Ę¤¤¤Ę¤éĘŘÍř¤Ę¤â¤Î¤Ę¤Î¤Ç¤š¤ŹĄ˘
°ěĘý¤ÇĄ˘¤ł¤ÎĘŁť¨¤ľ¤ĎĂą˝ă¤ĘÎă¤ÇĽÍĽĂĽČĽ°ĽëĄźĽ×¤ÎŔâĚŔ¤ň¤š¤ë¤ł¤Č¤ň¤Ű¤Č¤ó¤ÉÉÔ˛ÄÇ˝¤Ë¤ˇ¤Ć¤¤¤Ţ¤šĄŁ
¤ł¤ÎŔá¤ÎťÄ¤ę¤ÇťČ¤ď¤ě¤Ć¤¤¤ëÎă¤ĎĄ˘¤ł¤ÎĚäÂę¤ňźÂąé¤ˇ¤Ć¤¤¤Ţ¤šĄŁ¤˘¤Ę¤ż¤ÎšÔ¤Ę¤Ă¤żĄ˘
¸Śľćźź¤Ř¤Î NIS ¤ÎĆłĆţ¤ÎŔޏů¤ŹžĺťĘ¤ÎĚܤ˝ߤ俤Ȥˇ¤Ţ¤ˇ¤ç¤ŚĄŁ
¤˘¤Ę¤ż¤ÎźĄ¤ÎťĹťö¤ĎĄ˘¤˘¤Ę¤ż¤Î NIS
ĽÉĽáĽ¤Ľó¤ňĽĽăĽóĽŃĽš¤Îž¤Î¤¤¤Ż¤Ä¤â¤ÎĽŢĽˇĽó¤ňʤ¤Ś¤â¤Î¤ŘłČÄĽ¤š¤ë¤ł¤Č¤Ç¤šĄŁ
Ćó¤Ä¤ÎÉ˝¤Ďżˇ¤ˇ¤¤ĽćĄźĽś¤Čżˇ¤ˇ¤¤ĽŢĽˇĽó¤ÎĚžÁ°¤Č¤˝¤ÎŔâĚŔ¤ň´Ţ¤ó¤Ç¤¤¤Ţ¤šĄŁĽćĄźĽś¤ÎĚžÁ°ŔâĚŔalpha, betaIT łŘ˛Ę¤ÎÄĚžď¤ÎżŚ°÷charlie, deltaIT łŘ˛Ę¤Îżˇ¤ˇ¤¤¸Ť˝Ź¤¤echo, foxtrott, golf, ...°ěČĚ¤ÎżŚ°÷able, baker, ...¤Ţ¤ŔĽ¤ĽóĽżĄźĽóĽŢĽˇĽó¤ÎĚžÁ°ŔâĚŔwar, death, famine, pollutionşÇ¤â˝ĹÍפʼľĄźĽĐĄŁIT żŚ°÷¤Ŕ¤ą¤ŹĽíĽ°ĽŞĽó¤ňľö¤ľ¤ě¤Ţ¤šĄŁpride, greed, envy, wrath, lust, sloth¤˘¤Ţ¤ę˝ĹÍפǤʤ¤ĽľĄźĽĐĄŁ
IT łŘ˛Ę¤ÎÁ´°÷¤ŹĽíĽ°ĽŞĽó¤ňľö¤ľ¤ě¤Ţ¤šĄŁone, two, three, four, ...ÄĚžď¤ÎĽďĄźĽŻĽšĽĆĄźĽˇĽçĽóĄŁ
ËÜĹö¤Î
żŚ°÷¤Ŕ¤ą¤ŹĽíĽ°ĽŞĽó¤ňľö¤ľ¤ě¤Ţ¤šĄŁtrashcan˝ĹÍ×¤ĘĽÇĄźĽż¤ÎĆţ¤Ă¤Ć¤¤¤Ę¤¤¤Ň¤É¤Ż¸Ĺ¤¤ĽŢĽˇĽóĄŁ
Ľ¤ĽóĽżĄźĽó¤Ç¤â¤ł¤ÎĽŢĽˇĽó¤ÎťČÍѤňľö¤ľ¤ě¤Ţ¤šĄŁ¤â¤ˇ¤˘¤Ę¤ż¤Ź¤ł¤Îźę¤ÎŔŠ¸Â¤ňłĆĽćĄźĽś¤ň¸ÄĘ̤˼ּíĽĂĽŻ¤š¤ëˇÁ¤ÇźÂÁő¤š¤ë¤Ę¤éĄ˘
¤˘¤Ę¤ż¤Ď¤˝¤ÎĽˇĽšĽĆĽŕ¤ËĽíĽ°ĽŞĽó¤š¤ë¤ł¤Č¤Źľö¤ľ¤ě¤Ć¤¤¤Ę¤¤łĆĽćĄźĽś¤Ë¤Ä¤¤¤Ć
-user ¤Č¤¤¤Ś 1 šÔ¤ňĄ˘łĆĽˇĽšĽĆĽŕ¤Î
passwd ¤ËÄɲ䡤ʤą¤ě¤Đ¤Ę¤é¤Ę¤Ż¤Ę¤ë¤Ç¤ˇ¤ç¤ŚĄŁ
¤â¤ˇ¤˘¤Ę¤ż¤Ź 1 Ľ¨ĽóĽČĽę¤Ç¤âËş¤ě¤ě¤ĐĽČĽéĽÖĽë¤Ë´Ź¤šţ¤Ţ¤ě¤Ć¤ˇ¤Ţ¤¤¤Ţ¤šĄŁ
şÇ˝é¤ÎĽťĽĂĽČĽ˘ĽĂĽ×¤Îťţ¤Ë¤ł¤ě¤ňŔľ¤ˇ¤ŻšÔ¤¨¤ë¤Î¤Ď¤˘¤ę¤¨¤ë¤ł¤Č¤Ť¤âĂΤě¤Ţ¤ť¤ó¤ŹĄ˘
żë¤Ë¤ĎϢĆü¤ÎśČĚł¤Î´Ö¤ËÎă¤ÎšÔ¤ňÄɲäˇËş¤ě¤Ć¤ˇ¤Ţ¤Ś¤Ç¤ˇ¤ç¤ŚĄŁ
ˇëśÉĽŢĄźĽŐĽŁĄź¤ĎłÚ´ŃźçľÁźÔ¤Ŕ¤Ă¤ż¤Î¤Ç¤šĄŁ¤ł¤Îžőśˇ¤ňĽÍĽĂĽČĽ°ĽëĄźĽ×¤Ç°ˇ¤Ś¤Č¤¤¤Ż¤Ä¤Ť¤ÎÍÍř¤ĘĹŔ¤Ź¤˘¤ę¤Ţ¤šĄŁ
łĆĽćĄźĽś¤ňĘ̸Ĥ˰ˇ¤ŚÉŹÍ×¤Ď¤Ę¤ŻĄ˘
ĽćĄźĽś¤ň°ě¤Ä°Ęžĺ¤ÎĽÍĽĂĽČĽ°ĽëĄźĽ×¤Ëłä¤ęĹö¤ĆĄ˘
ĽÍĽĂĽČĽ°ĽëĄźĽ×¤ÎÁ´ĽáĽóĽĐ¤ÎĽíĽ°Ľ¤Ľó¤ňľö˛Ä¤ˇ¤ż¤ęśŘťß¤ˇ¤ż¤ę¤š¤ë¤ł¤Č¤Ź¤Ç¤¤Ţ¤šĄŁ
żˇ¤ˇ¤¤ĽŢĽˇĽó¤ňÄɲ䚤ë¤Č¤¤ĎĽÍĽĂĽČĽ°ĽëĄźĽ×¤ŘĽíĽ°Ľ¤Ľó¤ÎŔŠ¸Â¤ňÄęľÁ¤š¤ë¤Ŕ¤ąĄ˘
żˇ¤ˇ¤¤ĽćĄźĽś¤ňÄɲ䚤ë¤Č¤¤Ď¤˝¤ÎĽćĄźĽś¤ň°ě¤Ä°Ęžĺ¤ÎĽÍĽĂĽČĽ°ĽëĄźĽ×¤ŘÄɲ䚤ë¤Ŕ¤ą¤ÇĄ˘
¤˝¤ě¤ž¤ěšÔ¤Ę¤Ś¤ł¤Č¤Ź¤Ç¤¤Ţ¤šĄŁ
¤ł¤ě¤é¤ÎĘŃšš¤Ď¸ß¤¤¤ËĆČΊ¤Ę¤Î¤ÇĄ˘
ĽćĄźĽś¤ČĽŢĽˇĽó¤ÎÁČšç¤ď¤ť¤ň¤É¤Ś¤š¤ë¤Ť
¤Ď¸şß¤ˇ¤Ę¤Ż¤Ę¤ę¤Ţ¤šĄŁ
¤˘¤Ę¤ż¤Î NIS ¤ÎĽťĽĂĽČĽ˘ĽĂĽ×¤ŹĂí°Őżź¤Żˇ×˛č¤ľ¤ě¤Ć¤¤¤ě¤ĐĄ˘
ĽŢĽˇĽó¤Ř¤ÎĽ˘ĽŻĽťĽš¤ňǧ¤á¤ë¤Ë¤âľńČݤš¤ë¤Ë¤âĂćż´¤ÎŔßÄę¤ň¤ż¤Ă¤ż°ěĽŤ˝ęĘŃšš¤š¤ë¤Ŕ¤ą¤Ç¤šĄŁşÇ˝é¤ÎĽšĽĆĽĂĽ×¤Ď NIS ĽŢĽĂĽ×ĽÍĽĂĽČĽ°ĽëĄźĽ×¤Î˝é´ü˛˝¤Ç¤šĄŁ
FreeBSD ¤Î &man.ypinit.8; ¤Ď¤ł¤ÎĽŢĽĂĽ×¤ňĽÇĽŐĽŠĽëĽČ¤Çşî¤ę¤Ţ¤ť¤ó¤ŹĄ˘
¤˝¤Î NIS ¤ÎźÂÁő¤Ď¤˝¤ě¤Źşî¤é¤ě¤ľ¤¨¤š¤ě¤Đ¤˝¤ě¤ňĽľĽÝĄźĽČ¤š¤ë¤â¤Î¤Ç¤šĄŁ
śő¤ÎĽŢĽĂĽ×¤ňşî¤ë¤Ë¤ĎĄ˘Ăą¤Ëellington&prompt.root; vi /var/yp/netgroup¤ČĽżĽ¤Ľ×¤ˇ¤ĆĆâÍƤňÄɲ䡤Ƥ¤¤¤Ţ¤šĄŁ
¤ď¤ż¤ˇ¤ż¤Á¤ÎÎă¤Ç¤ĎĄ˘¤š¤Ż¤Ę¤Ż¤Č¤â IT żŚ°÷Ą˘IT ¸Ť˝Ź¤¤Ą˘°ěČĚżŚ°÷Ą˘
Ľ¤ĽóĽżĄźĽó¤Î 4 ¤Ä¤ÎĽÍĽĂĽČĽ°ĽëĄźĽ×¤ŹÉŹÍפǤšĄŁIT_EMP (,alpha,test-domain) (,beta,test-domain)
IT_APP (,charlie,test-domain) (,delta,test-domain)
USERS (,echo,test-domain) (,foxtrott,test-domain) \
(,golf,test-domain)
INTERNS (,able,test-domain) (,baker,test-domain)IT_EMP, IT_APP
Ĺů¤ĎĽÍĽĂĽČĽ°ĽëĄźĽ×¤ÎĚžÁ°¤Ç¤šĄŁ
¤˝¤ě¤ž¤ě¤Îłç¸Ě¤Ç°Ď¤Ţ¤ě¤żĽ°ĽëĄźĽ×¤Ź°ěżÍ°Ęžĺ¤ÎĽćĄźĽśĽ˘ĽŤĽŚĽóĽČ¤ň¤˝¤ě¤ËĹĐĎż¤ˇ¤Ć¤¤¤Ţ¤šĄŁ
Ľ°ĽëĄźĽ×¤Î 3 ¤Ä¤ÎĽŐĽŁĄźĽëĽÉ¤Ď¤˝¤Îľ˝Ň¤ŹÍ¸ú¤ĘĽŰĽšĽČ (ˇ˛) ¤ÎĚžžÎĄŁ
ĽŰĽšĽČĚž¤ňĆĂľ¤ˇ¤Ę¤ą¤ě¤Đ¤˝¤ÎĽ¨ĽóĽČĽę¤Ď¤š¤Ů¤Ć¤ÎĽŰĽšĽČ¤Ç͸ú¤Ç¤šĄŁ
¤â¤ˇ¤˘¤Ę¤ż¤ŹĽŰĽšĽČĚž¤ňĆĂľ¤š¤ë¤Ę¤éĄ˘
¤˘¤Ę¤ż¤Ď°Ç¤Čś˛ÉݤČÁ´¤şŽÍđ¤ÎÎΰč¤ËĆţ¤ęšţ¤ó¤Ç¤ˇ¤Ţ¤Ś¤Ç¤ˇ¤ç¤ŚĄŁ¤ł¤ÎĽÍĽĂĽČĽ°ĽëĄźĽ×¤Ë˝ę°¤š¤ëĽ˘ĽŤĽŚĽóĽČ¤ÎĚžžÎĄŁ¤˝¤ÎĽ˘ĽŤĽŚĽóĽČ¤Î NIS ĽÉĽáĽ¤ĽóĄŁ
¤â¤ˇ¤˘¤Ę¤ż¤Ź°ě¤Ä°Ęžĺ¤Î NIS ĽÉĽáĽ¤Ľó¤ÎÉÔšŹ¤ĘĂç´Ö¤Ę¤éĄ˘
¤˘¤Ę¤ż¤Ďž¤Î NIS
ĽÉĽáĽ¤Ľó¤Ť¤é¤˘¤Ę¤ż¤ÎĽÍĽĂĽČĽ°ĽëĄźĽ×¤ËĽ˘ĽŤĽŚĽóĽČ¤ňĆłĆţ¤Ç¤¤Ţ¤šĄŁłĆĽŐĽŁĄźĽëĽÉ¤Ë¤ĎĄ˘ĽďĽ¤ĽëĽÉĽŤĄźĽÉ¤ŹťČ¤¨¤Ţ¤šĄŁ
žÜşŮ¤Ď &man.netgroup.5; ¤ň¤´Í÷¤Ż¤Ŕ¤ľ¤¤ĄŁĽÍĽĂĽČĽ°ĽëĄźĽ×8 ʸťú°Ęžĺ¤ÎĽÍĽĂĽČĽ°ĽëĄźĽ×Ěž¤ĎĄ˘Ćäˤ˘¤Ę¤ż¤Î NIS
ĽÉĽáĽ¤Ľó¤Çž¤ÎĽŞĽÚĽěĄźĽĆĽŁĽóĽ°ĽˇĽšĽĆĽŕ¤ňÁö¤é¤ť¤Ć¤¤¤ë¤Č¤¤ĎťČ¤Ś¤Ů¤¤Ç¤Ď¤˘¤ę¤Ţ¤ť¤óĄŁ
ĚžÁ°¤Ë¤ĎÂçʸťúžŽĘ¸ťú¤ÎśčĘĚ¤Ź¤˘¤ę¤Ţ¤šĄŁ
¤˝¤Î¤ż¤áĽÍĽĂĽČĽ°ĽëĄźĽ×Ěž¤ËÂçʸťú¤ňťČ¤Śťö¤ĎĄ˘
ĽćĄźĽś¤äĽŢĽˇĽóĚž¤ČĽÍĽĂĽČĽ°ĽëĄźĽ×Ěž¤ňśčĘ̤š¤ë´ĘĂą¤ĘĘýËĄ¤Ç¤šĄŁ(FreeBSD °Ęł°¤Î) NIS ĽŻĽéĽ¤Ľ˘ĽóĽČ¤ÎĂć¤Ë¤Ď
Âżżô¤ÎĽ¨ĽóĽČĽę¤ň°ˇ¤¨¤Ę¤¤¤â¤Î¤â¤˘¤ę¤Ţ¤šĄŁ
¤ż¤Č¤¨¤Đ &sunos; ¤Î¸Ĺ¤¤ČÇ¤Ç¤Ď 15 °Ęžĺ¤Î
Ľ¨ĽóĽČĽę
¤ň´Ţ¤ŕĽÍĽĂĽČĽ°ĽëĄźĽ×¤ĎĽČĽéĽÖĽë¤ňľŻ¤ł¤ˇ¤Ţ¤šĄŁ
¤ł¤ÎŔŠ¸Â¤Ď 15 ĽćĄźĽś°Ę˛ź¤ÎĽľĽÖĽÍĽĂĽČĽ°ĽëĄźĽ×¤ň¤¤¤Ż¤Ä¤âşî¤ęĄ˘
ËÜĹö¤ÎĽÍĽĂĽČĽ°ĽëĄźĽ×¤Ď¤ł¤ÎĽľĽÖĽÍĽĂĽČĽ°ĽëĄźĽ×¤Ť¤é¤Ę¤ë¤č¤Ś¤Ë¤š¤ë¤ł¤Č¤Ç˛óČň¤Ç¤¤Ţ¤šĄŁBIGGRP1 (,joe1,domain) (,joe2,domain) (,joe3,domain) [...]
BIGGRP2 (,joe16,domain) (,joe17,domain) [...]
BIGGRP3 (,joe31,domain) (,joe32,domain)
BIGGROUP BIGGRP1 BIGGRP2 BIGGRP3Ăą°ě¤ÎĽÍĽĂĽČĽ°ĽëĄźĽ×¤Ë 225 żÍ°Ęžĺ¤ÎĽćĄźĽś¤ň¤¤¤ě¤ż¤¤¤Č¤¤ĎĄ˘
¤ł¤Î¤ä¤ęĘý¤ňˇŤ¤ęĘÖ¤š¤ł¤Č¤Ź¤Ç¤¤Ţ¤šĄŁżˇ¤ˇ¤¤ NIS ĽŢĽĂĽ×¤Î͸ú˛˝¤ČÇŰÉۤϴĘĂą¤Ç¤šĄŁellington&prompt.root; cd /var/yp
ellington&prompt.root; make¤ł¤ě¤Çżˇ¤ˇ¤¤ 3 ¤Ä¤Î NIS ĽŢĽĂĽ×
netgroup,
netgroup.byhost,
netgroup.byuser ¤Ź¤Ç¤¤ë¤Ď¤ş¤Ç¤šĄŁ
żˇ¤ˇ¤¤ NIS ĽŢĽĂĽ×¤ŹÍřÍѤǤ¤ë¤ŤłÎ¤Ť¤á¤ë¤Ë¤Ď
&man.ypcat.1; ¤ňťČ¤¤¤Ţ¤šĄŁellington&prompt.user; ypcat -k netgroup
ellington&prompt.user; ypcat -k netgroup.byhost
ellington&prompt.user; ypcat -k netgroup.byuserşÇ˝é¤ÎĽłĽŢĽóĽÉ¤Î˝ĐÎĎ¤Ď /var/yp/netgroup
¤ÎĆâÍƤ˝÷¤Ć¤¤¤ë¤Ď¤ş¤Ç¤šĄŁ
2 ČÖĚܤμłĽŢĽóĽÉ¤ĎĽŰĽšĽČĘ̤μͼüȼ°ĽëĄźĽ×¤ňşî¤Ă¤Ć¤¤¤Ę¤ą¤ě¤Đ˝ĐÎϤľ¤ě¤Ţ¤ť¤óĄŁ
3 ČÖĚܤμłĽŢĽóĽÉ¤ĎĽćĄźĽś¤ËÂФš¤ëĽÍĽĂĽČĽ°ĽëĄźĽ×¤ÎĽęĽšĽČ¤ňĆŔ¤ë¤Î¤ËťČ¤¨¤Ţ¤šĄŁĽŻĽéĽ¤Ľ˘ĽóĽČÂŚ¤ÎŔßÄę¤ĎČóžď¤Ë´ĘĂą¤Ç¤šĄŁ
ĽľĄźĽĐ war ¤ňŔßÄꤚ¤ë¤Ë¤ĎĄ˘
&man.vipw.8; ¤ňźÂšÔ¤ˇ¤Ć°Ę˛ź¤ÎšÔ+:::::::::¤ň+@IT_EMP:::::::::¤ËĆţ¤ěÂؤ¨¤ë¤Ŕ¤ą¤Ç¤šĄŁşŁĄ˘ĽÍĽĂĽČĽ°ĽëĄźĽ× IT_EMP
¤ÇÄęľÁ¤ľ¤ě¤żĽćĄźĽś¤ÎĽÇĄźĽż¤Ŕ¤ą¤Ź war
¤ÎĽŃĽšĽďĄźĽÉĽÇĄźĽżĽŮĄźĽš¤ËĆɤߚţ¤Ţ¤ěĄ˘
¤˝¤ÎĽćĄźĽś¤Ŕ¤ą¤ŹĽíĽ°Ľ¤Ľó¤ňľö¤ľ¤ě¤Ć¤¤¤Ţ¤šĄŁťÄǰ¤Ę¤Ź¤é¤ł¤ÎŔŠ¸Â¤ĎĽˇĽ§Ľë¤Î ~ ¤ÎľĄÇ˝¤äĄ˘
ĽćĄźĽśĚž¤äżôĂͤΠĽćĄźĽś ID ¤ÎĘŃ´šĽëĄźĽÁĽó¤Ë¤âąĆśÁ¤ˇ¤Ţ¤šĄŁ
¤Ä¤Ţ¤ęĄ˘
cd ~user ¤Ď¤Ś¤Ţ¤ŻĆ°¤Ť¤şĄ˘
ls -l ¤ĎĽćĄźĽśĚž¤Î¤Ť¤ď¤ę¤ËżôĂͤΠID ¤ňÉ˝ź¨¤ˇ
find . -user joe -print ¤Ď
No such user ¤ÇźşÇÔ¤ˇ¤Ţ¤šĄŁ
¤ł¤ě¤ňČň¤ą¤ë¤ż¤á¤Ë¤ĎĄ˘¤š¤Ů¤Ć¤ÎĽćĄźĽś¤ÎĽ¨ĽóĽČĽę¤ň
ĽľĄźĽĐ¤ËĽíĽ°Ľ¤Ľó¤š¤ë¤ł¤Č¤ňľö¤ľ¤ş¤Ë
Ćɤߚţ¤Ţ¤Ę¤ą¤ě¤Đ¤Ę¤ę¤Ţ¤ť¤óĄŁ¤ł¤ě¤Ď¤â¤Ś°ěšÔ¤ň /etc/master.passwd
¤ËÄɲ䚤뤳¤Č¤ÇźÂ¸˝¤Ç¤¤Ţ¤šĄŁ¤˝¤ÎšÔ¤Ď°Ę˛ź¤Î+:::::::::/sbin/nologin ¤ň´Ţ¤ó¤Ç¤Ş¤ęĄ˘
¤ł¤ě¤Ď
¤š¤Ů¤Ć¤ÎĽ¨ĽóĽČĽę¤ňĆɤߚţ¤ŕ¤ŹĄ˘Ćɤߚţ¤Ţ¤ě¤żĽ¨ĽóĽČĽę¤ÎĽˇĽ§Ľë¤Ď
/sbin/nologin ¤ÇĂÖ¤´š¤¨¤é¤ě¤ë
¤Č¤¤¤Ś¤ł¤Č¤ň°ŐĚŁ¤ˇ¤Ţ¤šĄŁpasswd Ľ¨ĽóĽČĽę¤Îž¤ÎĽŐĽŁĄźĽëĽÉ¤ň
/etc/master.passwd
¤Î´űÄęĂͤŤ¤éĂÖ¤´š¤¨¤ë¤ł¤Č¤â˛ÄÇ˝¤Ç¤šĄŁ+:::::::::/sbin/nologin ¤ÎšÔ¤Ź
+@IT_EMP:::::::::
¤ÎšÔ¤č¤ę¸ĺ¤í¤Ë°ĚĂÖ¤š¤ë¤ł¤Č¤ËĂí°Ő¤ˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ
¤ľ¤â¤Ę¤¤¤Č NIS ¤Ť¤éĆɤߚţ¤Ţ¤ě¤żÁ´ĽćĄźĽś¤Ź /sbin/nologin
¤ňĽíĽ°Ľ¤ĽóĽˇĽ§Ľë¤Č¤ˇ¤Ćťý¤Ä¤ł¤Č¤Ë¤Ę¤ę¤Ţ¤šĄŁ¤ł¤ÎĘŃšš¤Î¸ĺ¤Ç¤ĎĄ˘żˇ¤ˇ¤¤żŚ°÷¤Ź IT łŘ˛Ę¤Ëť˛˛Ă¤ˇ¤Ć¤â
NIS ĽŢĽĂĽ×¤ň°ě¤Ä˝ń¤´š¤¨¤ë¤Ŕ¤ą¤ÇşŃ¤ß¤Ţ¤šĄŁ
ĆąÍͤˤˇ¤ĆĄ˘¤˘¤Ţ¤ę˝ĹÍפǤʤ¤ĽľĄźĽĐ¤ÎĽíĄźĽŤĽë¤Î
/etc/master.passwd ¤Î¤Ť¤Ä¤Ć¤Î
+::::::::: šÔ¤ň°Ę˛ź¤Î¤č¤Ś¤ËĂÖ¤´š¤¨¤Ţ¤šĄŁ+@IT_EMP:::::::::
+@IT_APP:::::::::
+:::::::::/sbin/nologin¤ł¤ÎšÔ¤ĎĄ˘°ěČ̤μ寧ĽŻĽšĽĆĄźĽˇĽçĽó¤Ç¤Ď°Ę˛ź¤Î¤č¤Ś¤Ë¤Ę¤ę¤Ţ¤šĄŁ+@IT_EMP:::::::::
+@USERS:::::::::
+:::::::::/sbin/nologin¤ł¤ě¤Ç¤ˇ¤Đ¤é¤Ż˝çÄ´¤ËążÍѤˇ¤Ć¤¤¤Ţ¤ˇ¤ż¤ŹĄ˘
żô˝ľ´Ö¸ĺĄ˘ĽÝĽęĽˇ¤ËĘŃšš¤Ź¤˘¤ę¤Ţ¤ˇ¤żĄŁ
IT łŘ˛Ę¤ĎĽ¤ĽóĽżĄźĽó¤ň¸Ű¤¤ťĎ¤áĄ˘IT
Ľ¤ĽóĽżĄźĽó¤Ď°ěČ̤μ寧ĽŻĽšĽĆĄźĽˇĽçĽó¤ČÍž¤ę˝ĹÍפǤϤʤ¤ĽľĄźĽĐ¤ňťČ¤Ś¤ł¤Č¤Źľö¤ľ¤ěĄ˘
IT ¸Ť˝Ź¤¤¤ĎĽáĽ¤ĽóĽľĄźĽĐ¤Ř¤ÎĽíĽ°Ľ¤Ľó¤Źľö¤ľ¤ě¤Ţ¤ˇ¤żĄŁ
¤˘¤Ę¤ż¤Ďżˇ¤ż¤ĘĽÍĽĂĽČĽ°ĽëĄźĽ× IT_INTERN ¤ňÄɲ䡤ƿˇ¤ˇ¤¤ IT
Ľ¤ĽóĽżĄźĽó¤ż¤Á¤ň¤˝¤ÎĽ°ĽëĄźĽ×¤ËĹĐĎż¤ˇĄ˘
¤š¤Ů¤Ć¤ÎĽŢĽˇĽó¤ÎŔßÄę¤ňĘѤ¨¤Ć˛ó¤ë¤ł¤Č¤Ë¤ˇ¤Ţ¤ˇ¤żĄŁ
¸Ĺ¤¤¸Á¤Ë¤ł¤Ś¤˘¤ę¤Ţ¤šĄŁ
˝¸Ăć´ÉÍý¤Ë¤Ş¤ą¤ë˛á¤Á¤ĎĄ˘Â羏ĚϤʺŽÍđ¤ňĆł¤ŻĄŁ¤¤¤Ż¤Ä¤Ť¤ÎĽÍĽĂĽČĽ°ĽëĄźĽ×¤Ť¤éżˇ¤ż¤ĘĽÍĽĂĽČĽ°ĽëĄźĽ×¤ňşî¤ë¤Č¤¤¤Ś
NIS ¤ÎľĄÇ˝¤ĎĄ˘¤ł¤Î¤č¤Ś¤Ęžőśˇ¤ËÂн褚¤ë¤ż¤á¤ËÍřÍѤǤ¤Ţ¤šĄŁ
¤˝¤ÎĘýËĄ¤Î°ě¤Ä¤ĎĄ˘ĚňłäĘ̤μͼüȼ°ĽëĄźĽ×¤ňşî¤ë¤ł¤Č¤Ç¤šĄŁ
¤ż¤Č¤¨¤ĐĄ˘˝ĹÍפʼľĄźĽĐ¤Ř¤ÎĽíĽ°Ľ¤ĽóŔŠ¸Â¤ňÄęľÁ¤š¤ë¤ż¤á¤Ë
BIGSRV ¤Č¤¤¤ŚĽÍĽĂĽČĽ°ĽëĄźĽ×¤ňşî¤ę
¤˘¤Ţ¤ę˝ĹÍפǤϤʤ¤ĽľĄźĽĐ¤Ř¤Ď SMALLSRV
¤Č¤¤¤ŚĽÍĽĂĽČĽ°ĽëĄźĽ×¤ňĄ˘¤˝¤ˇ¤Ć°ěČ̤μ寧ĽŻĽšĽĆĄźĽˇĽçĽóÍѤË
USERBOX ¤Č¤¤¤ŚÂč 3 ¤ÎĽÍĽĂĽČĽ°ĽëĄźĽ×¤ň
şî¤ë¤ł¤Č¤Ź¤Ç¤¤Ţ¤šĄŁ¤ł¤ě¤é¤ÎĽÍĽĂĽČĽ°ĽëĄźĽ×¤ÎłĆĄš¤ĎĄ˘
łĆĽŢĽˇĽó¤ËĽíĽ°Ľ¤Ľó¤š¤ë¤ł¤Č¤ňľö¤ľ¤ě¤żĽÍĽĂĽČĽ°ĽëĄźĽ×¤ň´Ţ¤ß¤Ţ¤šĄŁ
¤˘¤Ę¤ż¤Î NIS ĽŢĽĂĽ×ĽÍĽĂĽČĽ°ĽëĄźĽ×¤Îżˇ¤ˇ¤¤Ľ¨ĽóĽČĽę¤ĎĄ˘
°Ę˛ź¤Î¤č¤Ś¤Ë¤Ę¤ë¤Ď¤ş¤Ç¤šĄŁBIGSRV IT_EMP IT_APP
SMALLSRV IT_EMP IT_APP ITINTERN
USERBOX IT_EMP ITINTERN USERS¤ł¤ÎĽíĽ°Ľ¤ĽóŔŠ¸Â¤ÎÄęľÁËĄ¤ĎĄ˘
Ćą°ě¤ÎŔŠ¸Â¤ňťý¤ÄĽŢĽˇĽó¤ÎĽ°ĽëĄźĽ×¤ňÄęľÁ¤Ç¤¤ë¤Č¤¤Ë¤ĎĘŘÍř¤Ę¤â¤Î¤Ç¤šĄŁ
ťÄǰ¤Ę¤Ź¤é¤ł¤Î¤č¤Ś¤ĘĽąĄźĽš¤ĎÎăł°ĹŞ¤Ę¤â¤Î¤Ç¤šĄŁ
¤Ű¤Č¤ó¤É¤ÎžěšçĄ˘
łĆĽŢĽˇĽó¤Ë´đ¤Ĺ¤ŻĽíĽ°Ľ¤ĽóŔŠ¸Â¤ÎÄęľÁľĄÇ˝¤ŹÉŹÍפȤʤë¤Ç¤ˇ¤ç¤ŚĄŁĽŢĽˇĽó¤´¤Č¤ÎĽÍĽĂĽČĽ°ĽëĄźĽ×¤ÎÄęľÁ¤ĎĄ˘
žĺ˝Ň¤ˇ¤ż¤č¤Ś¤ĘĽÝĽęĽˇ¤ÎĘŃšš¤ň°ˇ¤Ś¤ł¤Č¤Ź¤Ç¤¤ë¤â¤Ś¤Ň¤Č¤Ä¤ÎĘýËĄ¤Ç¤šĄŁ
¤ł¤ÎĽˇĽĘĽęĽŞ¤Ç¤ĎĄ˘łĆĽŢĽˇĽó¤Î
/etc/master.passwd ¤Ď
+ ¤ÇťĎ¤Ţ¤ë 2 ¤Ä¤ÎšÔ¤Ť¤é¤Ę¤ę¤Ţ¤šĄŁ
şÇ˝é¤Î¤â¤Î¤Ď¤˝¤ÎĽŢĽˇĽó¤Ř¤ÎĽíĽ°Ľ¤Ľó¤ňľö¤ľ¤ě¤żĽ˘ĽŤĽŚĽóĽČ¤ňÄɲ䚤ë¤â¤Î¤ÇĄ˘
2 ČÖĚܤϤ˝¤Îž¤ÎĽ˘ĽŤĽŚĽóĽČ¤ň /sbin/nologin
¤ňĽˇĽ§Ľë¤Č¤ˇ¤ĆÄɲ䚤ë¤â¤Î¤Ç¤šĄŁ
ĽŢĽˇĽóĚž¤ň¤š¤Ů¤ĆÂçʸťú¤Çľ˝Ň¤ˇ¤ż¤â¤Î¤ňĽÍĽĂĽČĽ°ĽëĄźĽ×¤ÎĚžÁ°¤Č¤ˇ¤ĆťČ¤Ś¤Î¤ĎÎɤ¤šÍ¤¨¤Ç¤šĄŁ
¸Ŕ¤¤´š¤¨¤ě¤ĐĄ˘ˇď¤ÎšÔ¤ĎźĄ¤Î¤č¤Ś¤Ë¤Ę¤ë¤Ď¤ş¤Ç¤šĄŁ+@BOXNAME:::::::::
+:::::::::/sbin/nologin°ěĹŮĄ˘łĆĽŢĽˇĽó¤ËÂФˇ¤Ć¤ł¤ÎşîśČ¤ňşŃ¤Ţ¤ť¤Ć¤ˇ¤Ţ¤¨¤ĐĄ˘
ĆóĹŮ¤ČĽíĄźĽŤĽë¤Î /etc/master.passwd
¤ňĘÔ˝¸¤š¤ëÉŹÍפʤƤݤƤę¤Ţ¤šĄŁ
°Ęšß¤Î¤š¤Ů¤Ć¤ÎĘŃšš¤Ď NIS ĽŢĽĂĽ×¤ÎĘÔ˝¸¤Ç°ˇ¤Ś¤ł¤Č¤Ź¤Ç¤¤Ţ¤šĄŁ
°Ę˛ź¤Ď¤ł¤ÎĽˇĽĘĽęĽŞ¤ËÂĐąţ¤š¤ëĽÍĽĂĽČĽ°ĽëĄźĽ×ĽŢĽĂĽ×¤ËĄ˘
¤¤¤Ż¤Ä¤Ť¤ÎĘŘÍř¤ĘÄęľÁ¤ňÄɲ䡤żÎă¤Ç¤šĄŁ# Define groups of users first
IT_EMP (,alpha,test-domain) (,beta,test-domain)
IT_APP (,charlie,test-domain) (,delta,test-domain)
DEPT1 (,echo,test-domain) (,foxtrott,test-domain)
DEPT2 (,golf,test-domain) (,hotel,test-domain)
DEPT3 (,india,test-domain) (,juliet,test-domain)
ITINTERN (,kilo,test-domain) (,lima,test-domain)
D_INTERNS (,able,test-domain) (,baker,test-domain)
#
# Now, define some groups based on roles
USERS DEPT1 DEPT2 DEPT3
BIGSRV IT_EMP IT_APP
SMALLSRV IT_EMP IT_APP ITINTERN
USERBOX IT_EMP ITINTERN USERS
#
# And a groups for a special tasks
# Allow echo and golf to access our anti-virus-machine
SECURITY IT_EMP (,echo,test-domain) (,golf,test-domain)
#
# machine-based netgroups
# Our main servers
WAR BIGSRV
FAMINE BIGSRV
# User india needs access to this server
POLLUTION BIGSRV (,india,test-domain)
#
# This one is really important and needs more access restrictions
DEATH IT_EMP
#
# The anti-virus-machine mentioned above
ONE SECURITY
#
# Restrict a machine to a single user
TWO (,hotel,test-domain)
# [...more groups to follow]¤â¤ˇĽćĄźĽśĽ˘ĽŤĽŚĽóĽČ¤ň´ÉÍý¤š¤ë¤Î¤ËĽÇĄźĽżĽŮĄźĽš¤ÎÎŕ¤ňťČ¤Ă¤Ć¤¤¤ë¤Ę¤éĄ˘
ĽÇĄźĽżĽŮĄźĽš¤ÎĽěĽÝĄźĽČĽÄĄźĽë¤Ť¤éĽŢĽĂĽ×¤ÎşÇ˝é¤ÎÉôĘŹ¤ňşî¤ě¤ë¤č¤Ś¤Ë¤š¤ë¤Ů¤¤Ç¤šĄŁ
¤˝¤Ś¤š¤ě¤ĐĄ˘żˇ¤ˇ¤¤ĽćĄźĽś¤ĎźŤĆ°ĹŞ¤ËĽŢĽˇĽó¤ËĽ˘ĽŻĽťĽš¤Ç¤¤ë¤Ç¤ˇ¤ç¤ŚĄŁşÇ¸ĺ¤ËťČÍŃžĺ¤ÎĂí°Ő¤ň:
ĽŢĽˇĽóĘ̤μͼüȼ°ĽëĄźĽ×¤ňťČ¤Ś¤ł¤Č¤Źžď¤Ë¸ĚŔ¤Č¤¤¤Ś¤ď¤ą¤Ç¤Ď¤˘¤ę¤Ţ¤ť¤óĄŁ
¤˘¤Ę¤ż¤ŹżôĽŔĄźĽš¤Ť¤éżôÉ´¤ÎĆą°ě¤Î´Äś¤ÎĽŢĽˇĽó¤ňłŘŔ¸¤Î¸Śľćźź¤ËÇŰĂÖ¤ˇ¤Ć¤¤¤ë¤Î¤Ę¤é¤ĐĄ˘
NIS ĽŢĽĂĽ×¤ÎĽľĽ¤Ľş¤ňźęş˘¤ĘČϰϤ˲Ą¤ľ¤¨¤ë¤ż¤á¤ËĄ˘
ĽŢĽˇĽóĘ̤μͼüȼ°ĽëĄźĽ×¤Î¤Ť¤ď¤ę¤ËĚňłäĘ̤μͼüȼ°ĽëĄźĽ×¤ňťČ¤Ś¤Ů¤¤Ç¤šĄŁËş¤ě¤Ć¤Ď¤¤¤ą¤Ę¤¤¤ł¤ČNIS ´Äś¤Ë¤˘¤ëşŁĄ˘
şŁ¤Ţ¤Ç¤Č¤Ď°ă¤Ă¤ż¤ä¤ęĘý¤ŹÉŹÍפʤł¤Č¤Ź¤¤¤Ż¤Ä¤Ť¤˘¤ę¤Ţ¤šĄŁ¸Śľćźź¤ËĽćĄźĽś¤ňÄɲ䚤ë¤Č¤¤ĎĄ˘¤˝¤ě¤ňĽŢĽšĽżĄź
NIS ĽľĄźĽĐ¤Ë ¤Ŕ¤ą
Äɲ䡤ʤą¤ě¤Đ¤Ę¤é¤şĄ˘¤ľ¤é¤Ë
NIS ĽŢĽĂĽ×¤ňşĆš˝Ăۤš¤ë¤ł¤Č¤ňËş¤ě¤Ć¤Ď¤¤¤ą¤Ţ¤ť¤óĄŁ
¤ł¤ě¤ňËş¤ě¤ë¤Čżˇ¤ˇ¤¤ĽćĄźĽś¤Ď
NIS ĽŢĽšĽż°Ęł°¤Î¤É¤ł¤Ë¤âĽíĽ°Ľ¤Ľó¤Ç¤¤Ę¤Ż¤Ę¤ę¤Ţ¤šĄŁ
¤ż¤Č¤¨¤ĐĄ˘żˇ¤ˇ¤ŻĽćĄźĽś jsmith
¤ňĽéĽÜ¤ËĹĐĎż¤ˇ¤ż¤¤¤Č¤¤Ď°Ę˛ź¤Î¤č¤Ś¤Ë¤ˇ¤Ţ¤šĄŁ&prompt.root; pw useradd jsmith
&prompt.root; cd /var/yp
&prompt.root; make test-domainpw useradd jsmith ¤Î¤Ť¤ď¤ę¤Ë
adduser jsmith ¤ňťČ¤Ś¤ł¤Č¤â¤Ç¤¤Ţ¤šĄŁ´ÉÍýÍŃĽ˘ĽŤĽŚĽóĽČ¤ň
NIS ĽŢĽĂĽ×¤Ť¤éşď˝ü¤ˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ
´ÉÍýÍŃĽ˘ĽŤĽŚĽóĽČ¤äĽŃĽšĽďĄźĽÉ¤ňĄ˘
¤˝¤ě¤é¤ÎĽ˘ĽŤĽŚĽóĽČ¤ŘĽ˘ĽŻĽťĽš¤ľ¤ť¤Ć¤Ď¤¤¤ą¤Ę¤¤ĽćĄźĽś¤Źľď¤ë¤Ť¤âĂΤě¤Ę¤¤ĽŢĽˇĽó¤Ë¤Ţ¤ÇĹÁ¤¨¤Ć˛ó¤ę¤ż¤¤¤Č¤Ďť×¤ď¤Ę¤¤¤Ç¤ˇ¤ç¤ŚĄŁNIS ¤ÎĽŢĽšĽż¤ČĽšĽěĄźĽÖ¤ňĽťĽĽĺĽ˘¤ËĄ˘
¤˝¤ˇ¤ĆľĄÇ˝Ääťßťţ´Ö¤ňşÇĂť¤ËĘÝ¤Ă¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ
¤â¤ˇĂݤŤ¤Ź¤ł¤ě¤é¤ÎĽŢĽˇĽó¤ňĽŻĽéĽĂĽŻ¤ˇ¤ż¤ęĄ˘
¤˘¤ë¤¤¤ĎĂą¤ËĹŸť¤ňÍî¤Č¤ˇ¤ż¤ę¤š¤ë¤ČĄ˘
Čŕ¤é¤ĎźÂźÁĹŞ¤ËÂż¤Ż¤ÎżÍ¤ň¸Śľćźź¤ŘĽíĽ°Ľ¤Ľó¤Ç¤¤Ę¤Ż¤ˇ¤Ć¤ˇ¤Ţ¤¨¤Ţ¤šĄŁ¤ł¤ě¤Ď¤É¤Î˝¸Ăć´ÉÍýĽˇĽšĽĆĽŕ¤Ë¤Č¤Ă¤Ć¤â¤â¤Ă¤Č¤âÂ礤ʟĺĹŔ¤Ç¤ˇ¤ç¤ŚĄŁ
¤˘¤Ę¤ż¤Î NIS
ĽľĄźĽĐ¤ňźé¤é¤Ę¤ą¤ě¤ĐĹܤě¤ëĽćĄźĽś¤ČÂĐĚ̤š¤ë¤ł¤Č¤Ë¤Ę¤ë¤Ç¤ˇ¤ç¤Ś!NIS v1 ¤Č¤Î¸ß´šŔFreeBSD ¤Î
ypserv ¤ĎĄ˘
NIS v1 ĽŻĽéĽ¤Ľ˘ĽóĽČ¤ňÉôĘŹĹŞ¤ËĽľĽÝĄźĽČ¤ˇ¤Ć¤¤¤Ţ¤šĄŁ
FreeBSD ¤Î NIS źÂÁő¤Ď NIS v2 Ľ×ĽíĽČĽłĽë¤Î¤ß¤ňťČÍѤˇ¤Ć¤¤¤Ţ¤š¤ŹĄ˘
¤Ű¤Ť¤ÎźÂÁő¤Ç¤ĎĄ˘¸Ĺ¤¤ĽˇĽšĽĆĽŕ¤Č¤Î˛ź°Ě¸ß´šŔ¤ňťý¤ż¤ť¤ë¤ż¤á
v1 Ľ×ĽíĽČĽłĽë¤ňĽľĽÝĄźĽČ¤ˇ¤Ć¤¤¤ë¤â¤Î¤â¤˘¤ę¤Ţ¤šĄŁ
¤˝¤Î¤č¤Ś¤ĘĽˇĽšĽĆĽŕ¤ËÉŐ¤¤¤Ć¤¤¤ë
ypbind ĽÇĄźĽâĽó¤ĎĄ˘
ÉŹÍפʤƤ¤¤Ë¤â¤Ť¤Ť¤ď¤é¤ş NIS v1
¤ÎĽľĄźĽĐ¤Č¤Îˇëšç¤ňŔŽÎФľ¤ť¤č¤Ś¤Č¤ˇ¤Ţ¤š
(¤ˇ¤Ť¤â v2 ĽľĄźĽĐ¤Ť¤é¤ÎąţĹú¤ňźőżŽ¤ˇ¤ż¸ĺ¤Ç¤âĄ˘
ĽÖĽíĄźĽÉĽĽăĽšĽČ¤ň¤ˇÂł¤ą¤ë¤Ť¤âĂΤě¤Ţ¤ť¤ó)ĄŁ
FreeBSD ¤Î ypserv ¤ĎĄ˘
ĽŻĽéĽ¤Ľ˘ĽóĽČ¤Ť¤é¤ÎÄĚžď¤ÎĽęĽŻĽ¨ĽšĽČ¤ĎĽľĽÝĄźĽČ¤ˇ¤Ć¤¤¤Ţ¤š¤ŹĄ˘
v1 ¤ÎĽŢĽĂĽ×ĹžÁ÷ĽęĽŻĽ¨ĽšĽČ¤ĎĽľĽÝĄźĽČ¤ˇ¤Ć¤¤¤Ę¤¤¤ł¤Č¤ËĂí°Ő¤ˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ
¤Ä¤Ţ¤ę FreeBSD ¤Î ypserv ¤ňĄ˘
v1 ¤Ŕ¤ą¤ňĽľĽÝĄźĽČ¤š¤ë¤č¤Ś¤Ę¸Ĺ¤¤ NIS ĽľĄźĽĐ¤ČÁȤߚç¤ď¤ť¤Ć
ĽŢĽšĽżĄź¤äĽšĽěĄźĽÖĽľĄźĽĐ¤Č¤ˇ¤ĆťČ¤Ś¤ł¤Č¤Ď¤Ç¤¤Ţ¤ť¤óĄŁ
šŹ¤¤¤Ę¤ł¤Č¤ËĄ˘¸˝şßĄ˘¤˝¤Î¤č¤Ś¤ĘĽľĄźĽĐ¤ŹťČ¤ď¤ě¤Ć¤¤¤ë¤ł¤Č¤Ď
¤Ű¤Č¤ó¤É¤Ę¤¤¤Ç¤ˇ¤ç¤ŚĄŁNIS ĽŻĽéĽ¤Ľ˘ĽóĽČ¤Č¤ˇ¤Ć¤âưşî¤ˇ¤Ć¤¤¤ë NIS ĽľĄźĽĐĘŁżô¤ÎĽľĄźĽĐ¤ŹÂ¸şß¤ˇĄ˘ĽľĄźĽĐźŤżČ¤Ź NIS
ĽŻĽéĽ¤Ľ˘ĽóĽČ¤Ç¤â¤˘¤ë¤č¤Ś¤ĘĽÉĽáĽ¤Ľó¤Ç
ypserv ¤ŹźÂšÔ¤ľ¤ě¤ëžěšç¤Ë¤ĎĂí°Ő¤ŹÉŹÍפǤšĄŁ
°ěČĚĹŞ¤ËÎɤ¤¤Č¤ľ¤ě¤Ć¤¤¤ë¤Î¤ĎĄ˘
ž¤ÎĽľĄźĽĐ¤Čˇëšç¤ň¤Ä¤Ż¤ë¤č¤Ś¤ËĽÖĽíĄźĽÉĽĽăĽšĽČ¤ľ¤ť¤ë¤Î¤Ç¤Ď¤Ę¤ŻĄ˘
ĽľĄźĽĐ¤ň¤˝¤ěźŤżČ¤Ëˇëšç¤ľ¤ť¤ë¤ł¤Č¤Ç¤šĄŁ
¤â¤ˇĄ˘ĽľĄźĽĐĆąťÎ¤Ź°Í¸´Řˇ¸¤ňťý¤Ă¤Ć¤¤¤ĆĄ˘°ě¤Ä¤ÎĽľĄźĽĐ¤ŹÄäťß¤š¤ë¤ČĄ˘
´ńĚŻ¤ĘĽľĄźĽÓĽšÉÔÇ˝žőÂ֤˴٤뤳¤Č¤Ź¤˘¤ę¤Ţ¤šĄŁ
¤˝¤Îˇë˛ĚĄ˘¤š¤Ů¤Ć¤ÎĽŻĽéĽ¤Ľ˘ĽóĽČ¤ĎĽżĽ¤ĽŕĽ˘ĽŚĽČ¤ňľŻ¤ł¤ˇ¤Ć
ž¤ÎĽľĄźĽĐ¤Ëˇëšç¤ˇ¤č¤Ś¤Čťî¤ß¤Ţ¤š¤ŹĄ˘
¤ł¤ě¤Ë¤Ť¤Ť¤ëťţ´Ö¤Ď¤Ť¤Ę¤ęÂç¤¤ŻĄ˘
ĽľĄźĽĐĆąťÎ¤Ź¤Ţ¤ż¸ß¤¤¤Ëˇëšç¤ˇ¤Ć¤ˇ¤Ţ¤Ă¤ż¤ę¤š¤ë¤ČĄ˘
ĽľĄźĽÓĽšÉÔÇ˝žőÂ֤Ϥľ¤é¤ËˇŃÂł¤š¤ë¤ł¤Č¤Ë¤Ę¤ę¤Ţ¤šĄŁypbind ¤Ë
ĽŞĽ×ĽˇĽçĽóĽŐĽéĽ°¤ňťŘÄꤡ¤ĆźÂšÔ¤š¤ë¤ł¤Č¤ÇĄ˘
ĽŰĽšĽČ¤ňĆĂÄę¤ÎĽľĄźĽĐ¤Ëˇëšç¤š¤ë¤ł¤Č¤Ź˛ÄÇ˝¤Ç¤šĄŁ
NIS ĽľĄźĽĐ¤ňşĆľŻĆ°¤š¤ë¤ż¤Ó¤ËĄ˘¤ł¤ě¤ňźęư¤ÇšÔ¤¤¤ż¤Ż¤Ę¤¤¤Ę¤éĄ˘
źĄ¤ÎšÔ¤ň /etc/rc.conf
¤ËÄɲ䚤ě¤Đ¤č¤¤¤Ç¤ˇ¤ç¤ŚĄŁnis_client_enable="YES" # run client stuff as well
nis_client_flags="-S NIS domain,server"žÜşŮ¤Ë¤Ä¤¤¤Ć¤Ď &man.ypbind.8; ¤ňť˛žČ¤ˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁĽŃĽšĽďĄźĽÉˇÁź°NISĽŃĽšĽďĄźĽÉˇÁź°
NIS ¤ňźÂÁő¤ˇ¤č¤Ś¤š¤ëżÍ¤ÎĂŻ¤â¤Ź¤Ö¤Ä¤Ť¤ëĚäÂę¤Î°ě¤Ä¤ËĄ˘
ĽŃĽšĽďĄźĽÉˇÁź°¤Î¸ß´šŔ¤Ź¤˘¤ę¤Ţ¤šĄŁ
NIS ĽľĄźĽĐ¤Ź DES °Ĺšć˛˝ĽŃĽšĽďĄźĽÉťČ¤Ă¤Ć¤¤¤ëžěšç¤Ë¤ĎĄ˘
ĆąÍÍ¤Ë DES ¤ňťČÍѤˇ¤Ć¤¤¤ëĽŻĽéĽ¤Ľ˘ĽóĽČ¤ˇ¤ŤÂĐąţ¤Ç¤¤Ţ¤ť¤óĄŁ
¤ż¤Č¤¨¤Đ &solaris;Ą¨ ¤Î NIS ĽŻĽéĽ¤Ľ˘ĽóĽČ¤ŹĽÍĽĂĽČĽďĄźĽŻĆâ¤Ë¤˘¤ëžěšçĄ˘
¤Ű¤ÜłÎźÂ¤Ë DES °Ĺšć˛˝ĽŃĽšĽďĄźĽÉ¤ňťČÍѤˇ¤Ę¤ą¤ě¤Đ¤Ę¤é¤Ę¤¤¤Ç¤ˇ¤ç¤ŚĄŁĽľĄźĽĐ¤ČĽŻĽéĽ¤Ľ˘ĽóĽČ¤Ź¤É¤ÎĽéĽ¤ĽÖĽéĽę¤ňťČÍѤˇ¤Ć¤¤¤ë¤Ť¤ĎĄ˘
/etc/login.conf ¤ňłÎǧ¤ˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ
ĽŰĽšĽČ¤Ź DES °ĹšćĽŃĽšĽďĄźĽÉ¤ňťČÍѤš¤ë¤č¤Ś¤ËŔßÄꤾ¤ě¤Ć¤¤¤ëžěšçĄ˘
default
ĽŻĽéĽš¤Ë¤Ď°Ę˛ź¤Î¤č¤Ś¤ĘĽ¨ĽóĽČĽę¤Ź´Ţ¤Ţ¤ě¤Ţ¤šĄŁdefault:\
:passwd_format=des:\
:copyright=/etc/COPYRIGHT:\
[Further entries elided]passwd_format
ĆĂŔ¤Ë¤Ä¤¤¤Ćž¤ËÍřÍѲÄÇ˝¤ĘĂͤĎ
blf ¤Ş¤č¤Ó md5
(¤˝¤ě¤ž¤ě Blowfish ¤Ş¤č¤Ó MD5 °Ĺšć˛˝ĽŃĽšĽďĄźĽÉ) ¤Ç¤šĄŁ/etc/login.conf ¤ňĘŃšš¤ˇ¤ż¤Č¤¤ĎĄ˘
ĽíĽ°Ľ¤ĽóĆĂŔĽÇĄźĽżĽŮĄźĽš¤âşĆš˝Ăۤˇ¤Ę¤ą¤ě¤Đ¤Ę¤ę¤Ţ¤ť¤óĄŁ
¤ł¤ě¤Ď root
¸˘¸Â¤Ç˛źľ¤Î¤č¤Ś¤ËĽłĽŢĽóĽÉ¤ňźÂšÔ¤š¤ě¤Đ¤Ç¤¤Ţ¤šĄŁ&prompt.root; cap_mkdb /etc/login.conf¤š¤Ç¤Ë /etc/master.passwd
Ćâ¤ËľĎż¤ľ¤ě¤Ć¤¤¤ëĽŃĽšĽďĄźĽÉˇÁź°¤ĎĄ˘
ĽíĽ°Ľ¤ĽóĆĂŔĽÇĄźĽżĽŮĄźĽš¤ŹşĆš˝Ăۤľ¤ě¤ż¸ĺĄ˘
ĽćĄźĽś¤ŹČŕ¤é¤ÎĽŃĽšĽďĄźĽÉ¤ň¤Ď¤¸¤á¤ĆĘŃšš¤š¤ë¤Ţ¤ÇĘŃšš¤ľ¤ě¤Ę¤¤¤Ç¤ˇ¤ç¤ŚĄŁźĄ¤ËĄ˘
ĽŃĽšĽďĄźĽÉ¤ŹÁŞÂň¤ˇ¤żˇÁź°¤Ç°Ĺšć˛˝¤ľ¤ě¤ë¤ł¤Č¤ňłÎźÂ¤Ë¤š¤ë¤ż¤á¤ËĄ˘
¤ľ¤é¤Ë /etc/auth.conf Ćâ¤Î
crypt_default ¤Ë¤Ş¤¤¤ĆĄ˘
ÁŞÂň¤ˇ¤żĽŃĽšĽďĄźĽÉˇÁź°¤Ëšâ¤¤ÍĽŔč˝ç°Ě¤Ź¤Ä¤¤¤Ć¤¤¤ë¤ł¤Č¤âłÎǧ¤ˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ
¤˝¤Ś¤š¤ë¤ż¤á¤Ë¤ĎĄ˘ÁŞÂň¤ˇ¤żˇÁź°¤ňĽęĽšĽČ¤ÎŔčĆŹ¤ËĂÖ¤¤¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ
¤ż¤Č¤¨¤Đ DES °Ĺšć˛˝¤ľ¤ě¤żĽŃĽšĽďĄźĽÉ¤ňťČÍѤš¤ë¤Č¤¤ĎĄ˘
Ľ¨ĽóĽČĽę¤ĎźĄ¤Î¤č¤Ś¤Ë¤Ę¤ę¤Ţ¤šĄŁcrypt_default = des blf md5&os; žĺ¤ÎłĆ
NIS ĽľĄźĽĐ¤Ş¤č¤ÓĽŻĽéĽ¤Ľ˘ĽóĽČ¤Ë¤Ş¤¤¤Ćžĺľ¤Îźę˝ç¤Ë˝ž¤¨¤ĐĄ˘
ĽÍĽĂĽČĽďĄźĽŻĆâ¤Ç¤É¤ÎĽŃĽšĽďĄźĽÉˇÁź°¤ŹťČÍѤľ¤ě¤ë¤Ť¤Ź
¤˝¤ě¤é¤ÎĽŢĽˇĽó´Ö¤ÇŔ°šç¤ľ¤ě¤Ć¤¤¤ë¤Č¤¤¤Ś¤ł¤Č¤ňłÎżŽ¤Ç¤¤Ţ¤šĄŁ
NIS ĽŻĽéĽ¤Ľ˘ĽóĽČžĺ¤ÇĚäÂꤏ¤˘¤ě¤ĐĄ˘
¤ł¤ł¤Ť¤éĚäÂę¤Č¤Ę¤ę¤˝¤Ś¤ĘÉôĘŹ¤ňĂľ¤š¤ČÎɤ¤¤Ç¤ˇ¤ç¤ŚĄŁ
łĐ¤¨¤Ć¤Ş¤¤¤Ć¤Ż¤Ŕ¤ľ¤¤:
°ŰźďşŽşßĽÍĽĂĽČĽďĄźĽŻ¤Ë NIS ĽľĄźĽĐ¤ňÇŰĂÖ¤ˇ¤ż¤¤¤Č¤¤Ë¤ĎĄ˘
DES ¤ŹşÇÂç¸řĚóżôĹŞ¤Ęɸ˝ŕ¤Č¤Ę¤ë¤Ç¤ˇ¤ç¤Ś¤Ť¤éĄ˘
¤š¤Ů¤Ć¤ÎĽˇĽšĽĆĽŕ¤Ç DES ¤ňťČÍѤˇ¤Ę¤ą¤ě¤Đ¤Ę¤é¤Ę¤¤¤Ť¤â¤ˇ¤ě¤Ţ¤ť¤óĄŁGregSutter¸śşî: DHCPDHCP ¤Č¤Ď˛ż¤Ç¤ˇ¤ç¤Ś¤Ť?ĽŔĽ¤ĽĘĽßĽĂĽŻĽŰĽšĽČĽłĽóĽŐĽŁĽŽĽĺĽěĄźĽˇĽçĽóĽ×ĽíĽČĽłĽë
(DHCP)DHCPĽ¤ĽóĽżĄźĽÍĽĂĽČĽ˝ĽŐĽČĽŚĽ§Ľ˘ĽłĽóĽ˝ĄźĽˇĽ˘Ľŕ (ISC)DHCP (Dynamic Host Configuration Protocol) ¤ĎĄ˘
ĽˇĽšĽĆĽŕ¤ňĽÍĽĂĽČĽďĄźĽŻ¤ËŔÜÂł¤š¤ë¤Ŕ¤ą¤ÇĄ˘
ĽÍĽĂĽČĽďĄźĽŻ¤Ç¤ÎÄĚżŽ¤ËÉŹÍפʞđĘó¤ňĆţźę¤š¤ë¤ł¤Č¤Ź¤Ç¤¤ëťĹÁȤߤǤšĄŁ
FreeBSD ¤Ç¤Ď ISC (Internet Software Consortium) ¤Ë¤č¤ë
DHCP ¤ÎźÂÁő¤ňťČÍѤˇ¤Ć¤¤¤Ţ¤šĄŁ¤ˇ¤ż¤Ź¤Ă¤ĆĄ˘
¤ł¤ł¤Ç¤ÎŔâĚŔ¤Î¤Ś¤ÁźÂÁő¤Ë¤č¤Ă¤Ć°Ű¤Ę¤ëÉôĘŹ¤Ď
ISC ¤Î¤â¤ÎÍѤˤʤäƤ¤¤Ţ¤šĄŁ¤ł¤ÎŔá¤ÇŔâĚŔ¤ˇ¤Ć¤¤¤ë¤ł¤Č¤ł¤ÎŔá¤Ď ISC DHCP
ĽˇĽšĽĆĽŕ¤ÎĽŻĽéĽ¤Ľ˘ĽóĽČÂŚ¤Ş¤č¤ÓĽľĄźĽĐÂŚ¤Îš˝ŔŽÍ×ÁǤÎΞĘý¤Ë¤Ä¤¤¤ĆŔâĚŔ¤ˇ¤Ţ¤šĄŁ
ĽŻĽéĽ¤Ľ˘ĽóĽČÂŚ¤ÎĽ×ĽíĽ°ĽéĽŕ¤Ç¤˘¤ë dhclient ¤Ď
FreeBSD ¤ÎĽŮĄźĽšĽˇĽšĽĆĽŕĆâ¤Ë´Ţ¤Ţ¤ě¤Ć¤¤¤Ţ¤šĄŁ¤˝¤ˇ¤ĆĄ˘ĽľĄźĽĐÂŚ¤ÎÍ×ÁǤĎ
net/isc-dhcp3-server port
¤Ť¤éÍřÍѲÄÇ˝¤Ç¤šĄŁ˛źľ¤ÎŔâĚŔ¤Îž¤ËĄ˘
&man.dhclient.8;, &man.dhcp-options.5; ¤Ş¤č¤Ó &man.dhclient.conf.5;
ĽŢĽËĽĺĽ˘ĽëĽÚĄźĽ¸¤ŹĚň¤Ë¤ż¤ÄžđĘ󸝤ǤšĄŁDHCP ¤ÎưşîUDPĽŻĽéĽ¤Ľ˘ĽóĽČ¤Č¤Ę¤ëĽŢĽˇĽóžĺ¤ÇĄ˘
DHCP ¤ÎĽŻĽéĽ¤Ľ˘ĽóĽČ¤Ç¤˘¤ë dhclient ¤ňźÂšÔ¤š¤ë¤ČĄ˘
¤Ţ¤şŔßÄęžđĘó¤ÎÍ׾á¤ňĽÖĽíĄźĽÉĽĽăĽšĽČ¤ˇ¤Ţ¤šĄŁĽÇĽŐĽŠĽëĽČ¤Ç¤ĎĄ˘
¤ł¤ÎĽęĽŻĽ¨ĽšĽČ¤Ë¤Ď UDP ¤ÎĽÝĄźĽČ 68 ¤ňťČÍѤˇ¤Ţ¤šĄŁ
ĽľĄźĽĐ¤Ď UDP ¤ÎĽÝĄźĽČ 67 ¤ÇąţĹú¤ˇĄ˘ĽŻĽéĽ¤Ľ˘ĽóĽČ¤Î IP Ľ˘ĽÉĽěĽš¤ČĄ˘
ĽÍĽĂĽČĽŢĽšĽŻ¤äĽëĄźĽżĄ˘DNS ĽľĄźĽĐ¤Ę¤É¤Î´ŘϢ¤š¤ëžđĘó¤ňÄ󜥤ˇ¤Ţ¤šĄŁ
¤ł¤ě¤é¤ÎžđĘó¤Î¤š¤Ů¤Ć¤Ď DHCP ¤Î
ĽęĄźĽš ¤ÎˇÁ¤ÇÁ÷¤é¤ěĄ˘DHCP
ĽľĄźĽĐ´ÉÍýźÔ¤Ë¤č¤Ă¤Ćˇč¤á¤é¤ě¤ż¤˘¤ë°ěÄę¤Îťţ´ÖĆâ¤Ç¤Î¤ß͸ú¤Ë¤Ę¤ę¤Ţ¤šĄŁ
¤ł¤ě¤Ë¤č¤Ă¤ĆĄ˘ĽÍĽĂĽČĽďĄźĽŻ¤Ë¸şß¤ˇ¤Ę¤Ż¤Ę¤Ă¤żĽŰĽšĽČ¤Î
IP Ľ˘ĽÉĽěĽš¤ĎźŤĆ°ĹŞ¤Ë˛óźý¤ľ¤ě¤ë¤ł¤Č¤Ë¤Ę¤ę¤Ţ¤šĄŁDHCP
ĽŻĽéĽ¤Ľ˘ĽóĽČ¤ĎĽľĄźĽĐ¤Ť¤éČóžď¤ËÂż¤Ż¤ÎžđĘó¤ňźčĆŔ¤š¤ë¤ł¤Č¤Ź¤Ç¤¤Ţ¤šĄŁ
&man.dhcp-options.5; ¤ËČóžď¤ËÂ礤ʼ꼚ĽČ¤ŹşÜ¤Ă¤Ć¤¤¤Ţ¤šĄŁFreeBSD ¤Ř¤ÎÁȤߚţ¤ßFreeBSD ¤Ď ISC ¤Î DHCP ĽŻĽéĽ¤Ľ˘ĽóĽČ¤Ç¤˘¤ë
dhclient ¤ň´°Á´¤ËÁȤߚţ¤ó¤Ç¤¤¤Ţ¤šĄŁ
DHCP ĽŻĽéĽ¤Ľ˘ĽóĽČ¤ĎĽ¤ĽóĽšĽČĄźĽé¤Č´đËÜĽˇĽšĽĆĽŕ¤ÎΞĘý¤ÇÄ󜥤ľ¤ě¤Ć¤¤¤Ţ¤šĄŁ
¤Ç¤š¤Ť¤é DHCP ĽľĄźĽĐ¤ňÁö¤é¤ť¤Ć¤¤¤ëĽÍĽĂĽČĽďĄźĽŻžĺ¤Ç¤ĎĽÍĽĂĽČĽďĄźĽŻ´Řˇ¸¤ÎŔßÄę¤Ë¤Ä¤¤¤Ć¤ÎžÜşŮ¤ĘĂÎźą¤ĎÉŹÍפˤʤę¤Ţ¤ť¤óĄŁ
dhclient ¤ĎĄ˘3.2 °Ęšß¤Î¤š¤Ů¤Ć¤Î
FreeBSD ¤ÎÇŰÉŰĘŞ¤Ë´Ţ¤Ţ¤ě¤Ć¤¤¤Ţ¤šĄŁsysinstallDHCP ¤Ď sysinstall
¤ÇÂĐąţ¤ľ¤ě¤Ć¤Ş¤ęĄ˘sysinstall ¤Ç¤ÎĽÍĽĂĽČĽďĄźĽŻĽ¤ĽóĽżĽŐĽ§Ľ¤ĽšŔßÄę¤ÎşÝ¤ĎĄ˘
¤ł¤ÎĽ¤ĽóĽżĽŐĽ§Ľ¤Ľš¤ÎŔßÄę¤Č¤ˇ¤Ć DHCP ¤ňťî¤ˇ¤Ć¤ß¤Ţ¤š¤Ť?
(Do you want to try DHCP configuration of this interface?)
¤Č¤¤¤ŚźÁĚ䤏şÇ˝é¤Ë¤Ę¤ľ¤ě¤Ţ¤šĄŁ
¤ł¤ě¤ËĆą°Ő¤š¤ë¤ł¤Č¤Ç dhclient ¤ŹźÂšÔ¤ľ¤ěĄ˘
¤˝¤ě¤ŹŔޏů¤š¤ě¤ĐĽÍĽĂĽČĽďĄźĽŻ¤ÎŔßÄęžđĘó¤ĎźŤĆ°ĹŞ¤ËźčĆŔ¤ľ¤ě¤Ţ¤šĄŁĽˇĽšĽĆĽŕľŻĆ°ťţ¤Ë DHCP ¤ňťČ¤Ă¤ĆĽÍĽĂĽČĽďĄźĽŻžđĘó¤ňźčĆŔ¤š¤ë¤č¤Ś¤Ë
¤š¤ë¤Ë¤ĎĄ˘źĄ¤ÎĆó¤Ä¤ňšÔ¤Ę¤ŚÉŹÍפʤ˘¤ę¤Ţ¤šĄŁDHCPÉŹÍמňˇďbpf
ĽÇĽĐĽ¤Ľš¤ŹĽŤĄźĽÍĽë¤ËÁȤߚţ¤Ţ¤ě¤Ć¤¤¤ë¤ł¤Č¤ňłÎǧ¤ˇ¤Ţ¤šĄŁ
¤ł¤ě¤ňÁȤߚţ¤ŕ¤Ë¤ĎĄ˘ĽŤĄźĽÍĽëĽłĽóĽŐĽŁĽ°ĽěĄźĽˇĽçĽóĽŐĽĄĽ¤Ľë¤Ë
pseudo-device bpf
¤Č¤¤¤ŚšÔ¤ňÄɲ䡥˘ĽŤĄźĽÍĽë¤ňşĆš˝Ăۤˇ¤Ţ¤šĄŁ
ĽŤĄźĽÍĽë¤Îš˝Ăۤ˴ؤš¤ëžÜşŮ¤ĎĄ˘
¤ňť˛žČ¤ˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁbpf ĽÇĽĐĽ¤Ľš¤ĎĄ˘
FreeBSD ¤Ë¤Ď¤¸¤á¤Ť¤éÍѰդľ¤ě¤Ć¤¤¤ë
GENERIC ĽŤĄźĽÍĽë¤ËÁȤߚţ¤Ţ¤ě¤Ć¤¤¤Ţ¤š¤Î¤ÇĄ˘
źŤĘʤÇŔßÄę¤ňĘѤ¨¤żĽŤĽšĽżĽŕĽŤĄźĽÍĽë¤ňťČ¤Ă¤Ć¤¤¤ë¤Î¤Ç¤Ę¤ą¤ě¤ĐĄ˘
DHCP ¤ňưşî¤ľ¤ť¤ë¤ż¤á¤ËĽŤĄźĽÍĽë¤ňşĆš˝Ăۤš¤ëÉŹÍפϤ˘¤ę¤Ţ¤ť¤óĄŁĽťĽĽĺĽęĽĆĽŁ¤Ë´Řż´¤Î¤˘¤ëĘý¸ţ¤ą¤ËĂí°Ő¤ˇ¤Ć¤Ş¤¤Ţ¤šĄŁ
bpf
ĽÇĽĐĽ¤Ľš¤ĎĄ˘ĽŃĽąĽĂĽČĽšĽËĽŐĽĄ (ĹđİĽ×ĽíĽ°ĽéĽŕ)
¤ňưşî¤ľ¤ť¤ë¤ł¤Č¤Ź¤Ç¤¤ë
(¤ż¤Ŕ¤ˇ root ¸˘¸Â¤ŹÉŹÍ×)
ĽÇĽĐĽ¤Ľš¤Ç¤šĄŁ
bpf ¤Ď DHCP ¤ňưşî¤ľ¤ť¤ë¤ż¤á¤Ë
¤Ť¤Ę¤é¤şÉŹÍ×¤Ç¤š¤ŹĄ˘
ĽťĽĽĺĽęĽĆĽŁ¤ŹČóžď¤Ë˝ĹÍפʞěĚ̤ǤĎ
DHCP ¤ň¤¤¤Ä¤ŤťČ¤Ś¤Ť¤â¤ˇ¤ě¤Ę¤¤¤Č¤¤¤Ś¤Ŕ¤ą¤Ç
bpf
ĽÇĽĐĽ¤Ľš¤ňĽŤĄźĽÍĽë¤ËÄɲ䚤٤¤Ç¤Ď¤Ę¤¤¤Ç¤ˇ¤ç¤ŚĄŁ/etc/rc.conf ¤ňĘÔ˝¸¤ˇ¤ĆĄ˘
źĄ¤ÎšÔ¤ňÄɲ䎤äݤŔ¤ľ¤¤ĄŁifconfig_fxp0="DHCP"
¤ÇŔâĚŔ¤ľ¤ě¤Ć¤¤¤ë¤č¤Ś¤Ë fxp0 ¤ÎÉôĘŹ¤ňĄ˘
ưŪ¤ËŔßÄꤡ¤ż¤¤Ľ¤ĽóĽżĽŐĽ§ĄźĽš¤ÎĚžÁ°¤ÇĂÖ¤´š¤¨¤ë¤ł¤Č¤ňËş¤ě¤Ę¤¤¤č¤Ś¤Ë¤ˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ¤â¤ˇĄ˘ťČ¤Ă¤Ć¤¤¤ë dhclient
¤Îžě˝ę¤ňĘŃšš¤ˇ¤Ć¤¤¤ż¤ęĄ˘dhclient
¤ËĽŐĽéĽ°¤ňĹϤˇ¤ż¤¤žěšç¤ĎĄ˘
ĆąÍͤ˲ź¤Î¤č¤Ś¤Ë˝ń¤˛Ă¤¨¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁdhcp_program="/sbin/dhclient"
dhcp_flags=""DHCPĽľĄźĽĐDHCP ĽľĄźĽĐ dhcpd ¤ĎĄ˘Ports Collection ¤Ë
net/isc-dhcp3-server
¤Î°ěÉô¤Č¤ˇ¤ĆźýĎż¤ľ¤ě¤Ć¤¤¤Ţ¤šĄŁ
¤ł¤Î port ¤Ë¤Ď ISC DHCP ĽľĄźĽĐ¤Čʸ˝ń¤Ź´Ţ¤Ţ¤ě¤Ć¤¤¤Ţ¤šĄŁ´ŘϢĽŐĽĄĽ¤ĽëDHCPŔßÄęĽŐĽĄĽ¤Ľë/etc/dhclient.confdhclient ¤ĎŔßÄęĽŐĽĄĽ¤Ľë
/etc/dhclient.conf ¤ňÉŹÍפȤˇ¤Ţ¤šĄŁ
ÂçÄń¤ÎžěšçĄ˘¤ł¤ÎĽŐĽĄĽ¤Ľë¤ĎĽłĽáĽóĽČ¤Ŕ¤ą¤Ç¤˘¤ęĄ˘
ĽÇĽŐĽŠĽëĽČ¤ŹÄĚžďťČ¤¤¤ä¤š¤¤ŔßÄę¤Ë¤Ę¤Ă¤Ć¤¤¤Ţ¤šĄŁ
¤ł¤ÎŔßÄęĽŐĽĄĽ¤Ľë¤Ď &man.dhclient.conf.5;
ĽŢĽËĽĺĽ˘ĽëĽÚĄźĽ¸¤ÇŔâĚŔ¤ˇ¤Ć¤¤¤Ţ¤šĄŁ/sbin/dhclientdhclient ¤ĎŔĹĹŞ¤ËĽęĽóĽŻ¤ľ¤ě¤Ć¤Ş¤ęĄ˘
/sbin ¤ËĂÖ¤Ť¤ě¤Ć¤¤¤Ţ¤šĄŁ&man.dhclient.8;
ĽŢĽËĽĺĽ˘ĽëĽÚĄźĽ¸¤Ç dhclient
ĽłĽŢĽóĽÉ¤Ë¤Ä¤¤¤Ć¤č¤ęžÜ¤ˇ¤ŻŔâĚŔ¤ˇ¤Ć¤¤¤Ţ¤šĄŁ/sbin/dhclient-scriptdhclient-script ¤Ď FreeBSD ĆĂͤΥ˘
DHCP ĽŻĽéĽ¤Ľ˘ĽóĽČŔßÄ꼚ĽŻĽęĽ×ĽČ¤Ç¤šĄŁ¤ł¤ě¤Ë¤Ä¤¤¤Ć¤Ď
&man.dhclient-script.8; ĽŢĽËĽĺĽ˘ĽëĽÚĄźĽ¸¤ÇŔâĚŔ¤ľ¤ě¤Ć¤¤¤Ţ¤š¤ŹĄ˘
¤ł¤ě¤ňĘÔ˝¸¤š¤ëÉŹÍפϤۤȤó¤ÉČŻŔ¸¤ˇ¤Ę¤¤¤Ç¤ˇ¤ç¤ŚĄŁ/var/db/dhclient.leasesDHCP ĽŻĽéĽ¤Ľ˘ĽóĽČ¤Ď¤ł¤ÎĽŐĽĄĽ¤Ľë¤Ë͸ú¤ĘĽęĄźĽš¤ÎĽÇĄźĽżĽŮĄźĽš¤ňĽíĽ°¤Č¤ˇ¤ĆľĎż¤ˇ¤Ţ¤šĄŁ
&man.dhclient.leases.5; ¤Ë¤â¤Ś¤š¤ł¤ˇžÜ¤ˇ¤¤˛ňŔ⤏¤˘¤ę¤Ţ¤šĄŁť˛šÍ¤Ë¤Ę¤ëʸ¸ĽDHCP ¤ÎĽ×ĽíĽČĽłĽë¤Ď
RFC 2131
¤Ë´°Á´¤Ëľ˝Ň¤ľ¤ě¤Ć¤¤¤Ţ¤šĄŁ¤Ţ¤ż
dhcp.org
¤Ë¤âÍÍѤʞđĘ󸝤ŹÍѰդľ¤ě¤Ć¤¤¤Ţ¤šĄŁDHCP ĽľĄźĽĐ¤ÎĽ¤ĽóĽšĽČĄźĽë¤ČŔßÄꤳ¤ÎŔá¤ÇŔâĚŔ¤ˇ¤Ć¤¤¤ë¤ł¤Č¤ł¤ÎŔá¤Ď DHCP ¤Î ISC (Internet Software Consortium) źÂÁő¤ňÍѤ¤¤Ć
FreeBSD ĽˇĽšĽĆĽŕ¤ň
DHCP ĽľĄźĽĐ¤Č¤ˇ¤Ćưşî¤ľ¤ť¤ëĘýËĄ¤ÎžđĘó¤ňÄ󜥤ˇ¤Ţ¤šĄŁDHCP ¤ÎĽľĄźĽĐÉôĘŹ¤Ď FreeBSD ¤Î°ěÉô¤Č¤ˇ¤ĆÄ󜥤ľ¤ě¤Ţ¤ť¤óĄŁ
¤ˇ¤ż¤Ź¤Ă¤ĆĄ˘¤ł¤ÎĽľĄźĽÓĽš¤ňÄ󜥤š¤ë¤ż¤á¤Ë
net/isc-dhcp3-server
port ¤ňĽ¤ĽóĽšĽČĄźĽë¤š¤ëÉŹÍפʤ˘¤ë¤Ç¤ˇ¤ç¤ŚĄŁ
Ports Collection ¤ňťČÍѤš¤ëžđĘó¤Ë¤Ä¤¤¤Ć¤ÎžÜşŮ¤Ď
¤ňť˛žČ¤ˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁDHCP ĽľĄźĽĐ¤ÎĽ¤ĽóĽšĽČĄźĽëDHCPĽ¤ĽóĽšĽČĄźĽëFreeBSD ĽˇĽšĽĆĽŕ¤ň DHCP ĽľĄźĽĐ¤Č¤ˇ¤ĆŔßÄꤚ¤ë¤ż¤á¤ËĄ˘&man.bpf.4;
ĽÇĽĐĽ¤Ľš¤ŹĽŤĄźĽÍĽë¤ËÁȤߚţ¤Ţ¤ě¤Ć¤¤¤ë¤ł¤Č¤ňĘÝžÚ¤š¤ëÉŹÍפʤ˘¤ę¤Ţ¤šĄŁ
¤˝¤Ś¤š¤ë¤ż¤á¤Ë¤ĎĄ˘ĽŤĄźĽÍĽëĽłĽóĽŐĽŁĽŽĽĺĽěĄźĽˇĽçĽóĽŐĽĄĽ¤Ľë¤Ë
pseudo-device bpf ¤ňÄɲ䡤ƥ˘
ĽŤĄźĽÍĽë¤ňşĆš˝Ăۤˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ
ĽŤĄźĽÍĽë¤Îš˝Ăۤ˴ؤš¤ëžÜşŮ¤Ď
¤ňť˛žČ¤ˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁbpf ĽÇĽĐĽ¤Ľš¤ĎĄ˘
FreeBSD ¤Ë¤Ď¤¸¤á¤Ť¤éÍѰդľ¤ě¤Ć¤¤¤ë GENERIC
ĽŤĄźĽÍĽë¤Î°ěÉô¤Ę¤Î¤ÇĄ˘DHCP
¤ňưşî¤ľ¤ť¤ë¤ż¤á¤ËĽŤĽšĽżĽŕĽŤĄźĽÍĽë¤ňşîŔޤš¤ëÉŹÍפϤ˘¤ę¤Ţ¤ť¤óĄŁĽťĽĽĺĽęĽĆĽŁ¤ňĆĂ¤Ë°Őźą¤š¤ëżÍ¤ĎĄ˘bpfbpf ¤ĎĽŃĽąĽĂĽČĽšĽËĽŐĽĄ (ĹđİĽ×ĽíĽ°ĽéĽŕ)
¤ŹŔľžď¤Ë (¤ł¤Î¤č¤Ś¤ĘĽ×ĽíĽ°ĽéĽŕ¤Ď¤ľ¤é¤ËĆø˘Ľ˘ĽŻĽťĽš¤ňÉŹÍפȤˇ¤Ţ¤š¤Ź)
ưşî¤š¤ë¤ł¤Č¤ň˛ÄÇ˝¤Ë¤š¤ëĽÇĽĐĽ¤Ľš¤Ç¤â¤˘¤ë¤ł¤Č¤ËĂí°Ő¤ˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ
bpf ¤Ď DHCP ¤ňťČÍѤš¤ë¤ż¤á¤ËÉŹÍ×
¤Ç¤šĄŁ
¤ˇ¤Ť¤ˇĄ˘ĽťĽĽĺĽęĽĆĽŁ¤ň¤Č¤Ć¤âľ¤¤Ë¤ˇ¤Ć¤¤¤ë¤Ę¤éĄ˘
DHCP ¤ň¤¤¤Ä¤ŤťČ¤Ś¤Ť¤â¤ˇ¤ě¤Ę¤¤¤Č¤¤¤Ś¤Ŕ¤ą¤Ç
bpf
ĽÇĽĐĽ¤Ľš¤ňĽŤĄźĽÍĽë¤Ë´Ţ¤á¤ë¤Ů¤¤Ç¤Ď¤Ę¤¤¤Ç¤ˇ¤ç¤ŚĄŁźĄ¤ËšÔ¤ď¤Í¤Đ¤Ę¤é¤Ę¤¤¤Î¤ĎĄ˘
net/isc-dhcp3-server port
¤Ë¤č¤Ă¤ĆĽ¤ĽóĽšĽČĄźĽë¤ľ¤ě¤ż dhcpd.conf
¤ÎĽľĽóĽ×Ľë¤ňĘÔ˝¸¤š¤ë¤ł¤Č¤Ç¤šĄŁ
ĽÇĽŐĽŠĽëĽČ¤Ç¤ĎĄ˘¤ł¤ě¤Ď
/usr/local/etc/dhcpd.conf.sample ¤ÇĄ˘
ĘÔ˝¸¤š¤ëÁ°¤Ë¤ł¤ě¤ň
/usr/local/etc/dhcpd.conf
¤ËĽłĽÔĄź¤š¤ë¤Ů¤¤Ç¤ˇ¤ç¤ŚĄŁDHCP ĽľĄźĽĐ¤ÎŔßÄęDHCPdhcpd.confdhcpd.conf
¤ĎĽľĽÖĽÍĽĂĽČ¤Ş¤č¤ÓĽŰĽšĽČ¤Ë´Ř¤š¤ëŔë¸Ŕ¤Çš˝Ŕޤľ¤ě¤Ţ¤šĄŁ
Îă¤ňťČ¤Ă¤ĆŔâĚŔ¤š¤ë¤Î¤ŹşÇ¤â´ĘĂą¤Ç¤ˇ¤ç¤ŚĄŁoption domain-name "example.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 mailhost.example.com;
}¤ł¤ÎĽŞĽ×ĽˇĽçĽó¤ĎĄ˘
ĽÇĽŐĽŠĽëĽČĂľş÷ĽÉĽáĽ¤Ľó¤Č¤ˇ¤ĆĽŻĽéĽ¤Ľ˘ĽóĽČ¤ËĹϤľ¤ě¤ëĽÉĽáĽ¤Ľó¤ňťŘÄꤡ¤Ţ¤šĄŁ
¤ł¤ě¤Ź°ŐĚŁ¤š¤ë¤Č¤ł¤í¤ÎžÜşŮ¤Ë¤Ä¤¤¤Ć¤Ď &man.resolv.conf.5;
¤ňť˛žČ¤ˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ¤ł¤ÎĽŞĽ×ĽˇĽçĽó¤ĎĽŻĽéĽ¤Ľ˘ĽóĽČ¤ŹťČÍѤš¤ëĄ˘
ĽłĽóĽŢ¤ÇśčŔÚ¤é¤ě¤ż DNS ĽľĄźĽĐ¤ÎĽęĽšĽČ¤ňťŘÄꤡ¤Ţ¤šĄŁĽŻĽéĽ¤Ľ˘ĽóĽČ¤ËĹϤľ¤ě¤ëĽÍĽĂĽČĽŢĽšĽŻ¤Ç¤šĄŁĽŻĽéĽ¤Ľ˘ĽóĽČ¤ĎĆĂÄę¤ÎĽęĄźĽš´ü¸Â¤ňÍ׾ᤚ¤ë¤ł¤Č¤â¤Ç¤¤Ţ¤šĄŁ
¤˝¤ě°Ęł°¤Îžěšç¤ĎĄ˘ĽľĄźĽĐ¤Ď¤ł¤ÎĽęĄźĽš´ü¸ÂĂÍ (ÉĂ)
¤ÇĽęĄźĽš¤ňłä¤ęĹö¤Ć¤ë¤Ç¤ˇ¤ç¤ŚĄŁ¤ł¤ě¤ĎĽľĄźĽĐ¤ŹĽęĄźĽš¤š¤ëťţ´Ö¤ÎşÇÂçĂͤǤšĄŁ
ĽŻĽéĽ¤Ľ˘ĽóĽČ¤Ź¤ł¤ě¤č¤ęÄš¤¤ĽęĄźĽš¤ňÍ׾ᤡ¤Ć¤âĄ˘
max-lease-time
ÉäŔ¤ą¤ˇ¤ŤÍ¸ú¤Ë¤Ę¤é¤Ę¤¤¤Ç¤ˇ¤ç¤ŚĄŁ¤ł¤ÎĽŞĽ×ĽˇĽçĽó¤ĎĄ˘ĽęĄźĽš¤ŹźőÍýĄ˘¤Ţ¤ż¤ĎĽęĽęĄźĽš¤ľ¤ě¤ż¤Č¤¤Ë
DHCP ĽľĄźĽĐ¤Ź DNS ¤ňššżˇ¤ˇ¤č¤Ś¤Č¤š¤ë¤Ť¤É¤Ś¤Ť¤ňťŘÄꤡ¤Ţ¤šĄŁ
ISC źÂÁő¤Ç¤ĎĄ˘¤ł¤ÎĽŞĽ×ĽˇĽçĽó¤Ď
ÉŹżÜ ¤Ç¤šĄŁ¤ł¤ě¤Ď¤É¤ÎČϰϤΠIP Ľ˘ĽÉĽěĽš¤ŹĄ˘
ĽŻĽéĽ¤Ľ˘ĽóĽČ¤Ëłä¤ęĹö¤Ć¤ë¤ż¤á¤ËÍ˝Ě󤾤줿Ľ×ĄźĽë¤ËťČÍѤľ¤ě¤ë¤Ť¤ňꍤˇ¤Ţ¤šĄŁ
¤ł¤ÎČϰϤ˴ޤޤě¤Ć¤¤¤ë
IP Ľ˘ĽÉĽěĽš¤ĎĽŻĽéĽ¤Ľ˘ĽóĽČ¤ËĹϤľ¤ě¤Ţ¤šĄŁĽŻĽéĽ¤Ľ˘ĽóĽČ¤ËśĄľë¤ľ¤ě¤ëĽÇĽŐĽŠĽëĽČĽ˛ĄźĽČĽŚĽ§Ľ¤¤ňŔë¸Ŕ¤ˇ¤Ţ¤šĄŁ(ĽęĽŻĽ¨ĽšĽČ¤ŹŔ¸¤¸¤żťţ¤Ë
DHCP ĽľĄźĽĐ¤ŹĽŰĽšĽČ¤ňÇ§źą¤Ç¤¤ë¤č¤Ś¤Ë)
ĽŰĽšĽČ¤ÎĽĎĄźĽÉĽŚĽ§Ľ˘ MAC Ľ˘ĽÉĽěĽš¤ňťŘÄꤡ¤Ţ¤šĄŁĽŰĽšĽČ¤Ëžď¤ËĆą¤¸ IP Ľ˘ĽÉĽěĽš¤ňÉŐÍż¤š¤ë¤ł¤Č¤ňťŘÄꤡ¤Ţ¤šĄŁ
DHCP ĽľĄźĽĐ¤ĎĽęĄźĽšžđĘó¤ňĘÖ¤šÁ°¤ËĽŰĽšĽČĚž¤ÎĚžÁ°˛ňˇč¤ň¤š¤ë¤Î¤ÇĄ˘
¤ł¤ł¤ËĽŰĽšĽČĚž¤ň˝ń¤¤¤Ć¤âš˝¤¤¤Ţ¤ť¤óĄŁdhcpd.conf
¤ň˝ń¤˝Ş¤¨¤ż¤é°Ę˛ź¤ÎĽłĽŢĽóĽÉ¤ÇĽľĄźĽĐ¤ňľŻĆ°¤Ç¤¤Ţ¤šĄŁ&prompt.root; /usr/local/etc/rc.d/isc-dhcpd.sh startşŁ¸ĺĽľĄźĽĐ¤ÎŔßÄę¤ËĘŃšš¤ň˛Ă¤¨¤ëÉŹÍפŹŔ¸¤¸¤żťţ¤Ë¤ĎĄ˘
SIGHUP ĽˇĽ°ĽĘĽë¤ň
dhcpd ¤ËÁ÷¤Ă¤Ć¤âĄ˘
Âż¤Ż¤ÎĽÇĄźĽâĽó¤Ź¤˝¤Ś¤Ç¤˘¤ë¤č¤Ś¤Ë¤ĎĄ˘
ŔßÄęĽŐĽĄĽ¤Ľë¤ŹşĆĆɤߚţ¤ß ¤ľ¤ě¤Ę¤¤
¤ł¤Č¤ËĂí°Ő¤ˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ
SIGTERM ĽˇĽ°ĽĘĽë¤ňÁ÷¤Ă¤ĆĽ×ĽíĽťĽš¤ňÄäťß¤ˇĄ˘
¤˝¤ě¤Ť¤éžĺľ¤ÎĽłĽŢĽóĽÉ¤ňÍѤ¤¤ĆşĆľŻĆ°¤ľ¤ť¤ëÉŹÍפʤ˘¤ę¤Ţ¤šĄŁĽŐĽĄĽ¤ĽëDHCPŔßÄęĽŐĽĄĽ¤Ľë/usr/local/sbin/dhcpddhcpd ¤ĎŔĹĹŞ¤ËĽęĽóĽŻ¤ľ¤ě
/usr/local/sbin ¤ËĂÖ¤Ť¤ě¤Ţ¤šĄŁ
dhcpd
¤Ë´Ř¤š¤ë¤˝¤ě°Ęžĺ¤ÎžđĘó¤Ď port ¤Č¤Č¤â¤ËĽ¤ĽóĽšĽČĄźĽë¤ľ¤ě¤ë
&man.dhcpd.8; ĽŢĽËĽĺĽ˘ĽëĽÚĄźĽ¸¤Ë¤˘¤ę¤Ţ¤šĄŁ/usr/local/etc/dhcpd.confdhcpd
¤ĎĽŻĽéĽ¤Ľ˘ĽóĽČ¤Ř¤ÎĽľĄźĽÓĽšÄ󜥤ň¤Ď¤¸¤á¤ëÁ°¤ËŔßÄęĽŐĽĄĽ¤Ľë
/usr/local/etc/dhcpd.conf
¤ňÉŹÍפȤˇ¤Ţ¤šĄŁ¤ł¤ÎĽŐĽĄĽ¤Ľë¤ĎĄ˘
ĽľĄźĽĐ¤Î˛ÔĆŻ¤Ë´Ř¤š¤ëžđĘó¤Ë˛Ă¤¨¤ĆĄ˘
ĽľĄźĽÓĽš¤ľ¤ě¤Ć¤¤¤ëĽŻĽéĽ¤Ľ˘ĽóĽČ¤ËÄ󜥤ľ¤ě¤ëžđĘó¤Î¤š¤Ů¤Ć¤ň´Ţ¤ŕÉŹÍפʤ˘¤ę¤Ţ¤šĄŁ
¤ł¤ÎŔßÄęĽŐĽĄĽ¤Ľë¤Ë¤Ä¤¤¤Ć¤ÎžÜşŮ¤ĎĄ˘
port ¤Ë¤č¤Ă¤ĆĽ¤ĽóĽšĽČĄźĽë¤ľ¤ě¤ë &man.dhcpd.conf.5;
ĽŢĽËĽĺĽ˘ĽëĽÚĄźĽ¸¤ňť˛žČ¤ˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ/var/db/dhcpd.leasesDHCP
ĽľĄźĽĐ¤ĎČŻšÔ¤ˇ¤żĽęĄźĽš¤ÎĽÇĄźĽżĽŮĄźĽš¤ň¤ł¤ÎĽŐĽĄĽ¤Ľë¤ËĽíĽ°¤Č¤ˇ¤ĆĘÝťý¤ˇ¤Ţ¤šĄŁ
port ¤Ë¤č¤Ă¤ĆĽ¤ĽóĽšĽČĄźĽë¤ľ¤ě¤ë &man.dhcpd.leases.5;
¤Ë¤Ď¤â¤ŚžŻ¤ˇžÜ¤ˇ¤¤ŔâĚŔ¤Ź¤˘¤ę¤Ţ¤šĄŁ/usr/local/sbin/dhcrelaydhcrelay ¤ĎĄ˘DHCP
ĽľĄźĽĐ¤ŹĽŻĽéĽ¤Ľ˘ĽóĽČ¤Ť¤é¤ÎĽęĽŻĽ¨ĽšĽČ¤ňĄ˘
Ę̤μͼüȼ寧ĽŻžĺ¤Ë¤˘¤ë
DHCP ĽľĄźĽĐ¤ËĹžÁ÷¤š¤ëšâĹ٤ʴĜ˛ź¤ÇťČÍѤľ¤ě¤Ţ¤šĄŁ
¤ł¤ÎľĄÇ˝¤ŹÉŹÍפʤ饢net/isc-dhcp3-server port
¤ňĽ¤ĽóĽšĽČĄźĽë¤ˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ
port ¤Č¤Č¤â¤ËÄ󜥤ľ¤ě¤ë &man.dhcrelay.8;
ĽŢĽËĽĺĽ˘ĽëĽÚĄźĽ¸¤Ë¤Ď¤č¤ęžÜşŮ¤ĘžđĘ󤏴ޤޤě¤Ţ¤šĄŁChernLee´óšĆ: DNSłľ´ŃBINDFreeBSD ¤ĎĽÇĽŐĽŠĽëĽČ¤Ç¤Ď
DNS Ľ×ĽíĽČĽłĽë¤ÎşÇ¤â°ěČĚĹŞ¤ĘźÂÁő¤Ç¤˘¤ë BIND
(Berkeley Internet Name Domain) ¤ňťČÍѤˇ¤Ţ¤šĄŁDNS ¤ĎĽŰĽšĽČĚž¤ň
IP Ľ˘ĽÉĽěĽš¤ËĄ˘¤˝¤ˇ¤Ć IP Ľ˘ĽÉĽěĽš¤ňĽŰĽšĽČĚž¤Ë´ŘϢ¤Ĺ¤ą¤ëĽ×ĽíĽČĽłĽë¤Ç¤šĄŁ
¤ż¤Č¤¨¤Đ www.FreeBSD.org ¤ËÂФš¤ëĚ䤤šç¤ď¤ť¤Ď
The FreeBSD Project ¤Î ĽŚĽ§ĽÖĽľĄźĽĐ¤Î IP Ľ˘ĽÉĽěĽš¤ňźő¤ąźč¤ë¤Ç¤ˇ¤ç¤ŚĄŁ
¤˝¤Î°ěĘý¤Ç ftp.FreeBSD.org ¤ËÂФš¤ëĚ䤤šç¤ď¤ť¤ĎĄ˘
ÂĐąţ¤š¤ë FTP ĽŢĽˇĽó¤Î IP Ľ˘ĽÉĽěĽš¤ňĘÖ¤š¤Ç¤ˇ¤ç¤ŚĄŁ
ĆąÍͤ˥˘¤˝¤ÎľŐ¤Î¤ł¤Č¤â˛ÄÇ˝¤Ç¤šĄŁ
IP Ľ˘ĽÉĽěĽš¤ËÂФš¤ëĚ䤤šç¤ď¤ť¤ňšÔ¤Ś¤ł¤Č¤ÇĄ˘
¤˝¤ÎĽŰĽšĽČĚž¤ň˛ňˇč¤š¤ë¤ł¤Č¤Ź¤Ç¤¤Ţ¤šĄŁ
DNS ¸Ąş÷¤ňźÂšÔ¤š¤ë¤ż¤á¤ËĄ˘
ĽˇĽšĽĆĽŕžĺ¤ÇĽÍĄźĽŕĽľĄźĽĐ¤ňưşî¤ľ¤ť¤ëÉŹÍפϤ˘¤ę¤Ţ¤ť¤óĄŁDNSDNS ¤ĎĄ˘
¸ÄĄš¤ÎĽÉĽáĽ¤ĽóžđĘó¤ňłĘÇź¤Ş¤č¤ÓĽĽăĽĂĽˇĽĺ¤ˇ¤żĄ˘
¸˘°Ň¤Î¤˘¤ëĽëĄźĽČĽľĄźĽĐ¤Ş¤č¤Óž¤ÎžŽľŹĚϤʼͥźĽŕĽľĄźĽĐ¤Ë¤č¤ëÂżžŻĘŁť¨¤ĘĽˇĽšĽĆĽŕ¤Ë¤č¤Ă¤ĆĄ˘
Ľ¤ĽóĽżĄźĽÍĽĂĽČÁ´ÂΤˤ錄¤Ă¤Ćś¨Ä´¤ˇ¤Ćưşî¤ˇ¤Ţ¤šĄŁ¤ł¤Îʸ˝ń¤Ď FreeBSD ¤Ç°ÂÄęČǤȤˇ¤ĆÍřÍѤľ¤ě¤Ć¤¤¤ë
BIND 8.x ¤Ë¤Ä¤¤¤ĆŔâĚŔ¤ˇ¤Ţ¤šĄŁ
FreeBSD ¤Ç¤Ď BIND 9.x ¤ň net/bind9
port ¤Ť¤éĽ¤ĽóĽšĽČĄźĽë¤Ç¤¤Ţ¤šĄŁRFC1034 ¤Ş¤č¤Ó RFC1035 ¤Ď DNS Ľ×ĽíĽČĽłĽë¤ňÄęľÁ¤ˇ¤Ć¤¤¤Ţ¤šĄŁ¸˝şß¤Î¤Č¤ł¤í BIND ¤Ď
Internet Software Consortium
(www.isc.org) ¤Ë¤č¤Ă¤ĆĘݟ餾¤ě¤Ć¤¤¤Ţ¤šĄŁÍѸ줳¤Îʸ˝ń¤ňÍý˛ň¤š¤ë¤Ë¤Ď
DNS ´ŘϢ¤ÎÍѸě¤ň¤¤¤Ż¤Ä¤ŤÍý˛ň¤ˇ¤Ę¤ą¤ě¤Đ¤¤¤ą¤Ţ¤ť¤óĄŁĽęĽžĽëĽĐľŐ°ú¤ DNSĽëĄźĽČĽžĄźĽóÍѸěÄęľÁŔľ°ú¤ DNSĽŰĽšĽČĚž¤Ť¤é IP Ľ˘ĽÉĽěĽš¤Ř¤ÎÂĐąţ¤Ç¤šĄŁĽŞĽęĽ¸Ľó (origine)ĆĂÄę¤ÎĽžĄźĽóĽŐĽĄĽ¤Ľë¤Ë¤č¤Ă¤ĆĽŤĽĐĄź¤ľ¤ě¤ëĽÉĽáĽ¤Ľó¤Ř¤Îť˛žČ¤Ç¤šĄŁnamed, BIND, ĽÍĄźĽŕĽľĄźĽĐFreeBSD Ćâ¤Î BIND ĽÍĄźĽŕĽľĄźĽĐĽŃĽĂĽąĄźĽ¸¤Î°ěČĚĚžžÎ¤Ç¤šĄŁĽęĽžĽëĽĐ (resolver)ĽŢĽˇĽó¤ŹĽžĄźĽóžđĘó¤Ë¤Ä¤¤¤ĆĽÍĄźĽŕĽľĄźĽĐ¤ËĚ䤤šç¤ď¤ť¤ëĽˇĽšĽĆĽŕĽ×ĽíĽťĽš¤Ç¤šĄŁľŐ°ú¤ DNSŔľ°ú¤ DNS ¤ÎľŐ¤Ç¤šĄŁ¤Ä¤Ţ¤ę
IP Ľ˘ĽÉĽěĽš¤Ť¤éĽŰĽšĽČĚž¤Ř¤ÎÂĐąţ¤Ç¤šĄŁĽëĄźĽČĽžĄźĽóĽ¤ĽóĽżĄźĽÍĽĂĽČĽžĄźĽółŹÁؤξŻĹŔ¤Ç¤šĄŁ
¤š¤Ů¤Ć¤ÎĽžĄźĽó¤ĎĽëĄźĽČĽžĄźĽó¤Î˛ź¤Ë°¤ˇ¤Ţ¤šĄŁ
¤ł¤ě¤ĎĽŐĽĄĽ¤ĽëĽˇĽšĽĆĽŕ¤Î¤š¤Ů¤Ć¤ÎĽŐĽĄĽ¤Ľë¤ŹĽëĄźĽČĽÇĽŁĽěĽŻĽČĽę¤Î˛ź¤Ë°¤š¤ë¤ł¤Č¤Čť÷¤Ć¤¤¤Ţ¤šĄŁĽžĄźĽóĆą¤¸¸˘°Ň¤Ë¤č¤Ă¤Ć´ÉÍý¤ľ¤ě¤ë¸ÄĄš¤Î DNS ĽÉĽáĽ¤ĽóĄ˘
DNS ĽľĽÖĽÉĽáĽ¤ĽóĄ˘¤˘¤ë¤¤¤Ď DNS ¤Î°ěÉôĘŹ¤Ç¤šĄŁĽžĄźĽóÎ㼞ĄźĽó¤ÎÎă:
. ¤ĎĽëĄźĽČĽžĄźĽó¤Ç¤šĄŁorg. ¤ĎĽëĄźĽČĽžĄźĽó¤Î˛ź¤ÎĽžĄźĽó¤Ç¤šĄŁexample.org ¤Ď
org. ĽžĄźĽó¤Î˛ź¤ÎĽžĄźĽó¤Ç¤šĄŁfoo.example.org. ¤ĎĽľĽÖĽÉĽáĽ¤Ľó¤ÇĄ˘
example.org. ¤Î˛ź¤ÎĽžĄźĽó¤Ç¤šĄŁ1.2.3.in-addr.arpa ¤Ď 3.2.1.* ¤Î
IP śő´Ö¤Ë´Ţ¤Ţ¤ě¤ë¤š¤Ů¤Ć¤Î IP Ľ˘ĽÉĽěĽš¤ňť˛žČ¤š¤ëĽžĄźĽó¤Ç¤šĄŁ
¸Ť¤ĆĘŹ¤Ť¤ë¤č¤Ś¤ËĄ˘ĽŰĽšĽČĚž¤Î¤č¤ęžÜşŮ¤ĘÉôĘŹ¤Ď¤˝¤Îş¸ÂŚ¤Ë¸˝¤ě¤Ţ¤šĄŁ
¤ż¤Č¤¨¤Đ example.org. ¤Ď
org. ¤č¤ę¸ÂÄęĹŞ¤Ç¤šĄŁĆąÍÍ¤Ë org.
¤ĎĽëĄźĽČĽžĄźĽó¤č¤ę¸ÂÄęĹŞ¤Ç¤šĄŁ
ĽŰĽšĽČĚž¤ÎłĆÉôĘŹ¤ÎĽěĽ¤Ľ˘ĽŚĽČ¤ĎĽŐĽĄĽ¤ĽëĽˇĽšĽĆĽŕ¤ËČóžď¤Ëť÷¤Ć¤¤¤Ţ¤šĄŁ
¤ż¤Č¤¨¤Đ /dev
¤ĎĽëĄźĽČ¤Î˛ź¤Ç¤˘¤ë¤ł¤Č¤Ę¤É¤Ç¤šĄŁĽÍĄźĽŕĽľĄźĽĐ¤ňźÂšÔ¤š¤ëÍýÍłĽÍĄźĽŕĽľĄźĽĐ¤ĎÄĚžďĆó¤Ä¤ÎˇÁ갤ʤ˘¤ę¤Ţ¤š:
¸˘°Ň¤Î¤˘¤ëĽÍĄźĽŕĽľĄźĽĐ¤ČĽĽăĽĂĽˇĽĺĽÍĄźĽŕĽľĄźĽĐ¤Ç¤šĄŁ¸˘°Ň¤Î¤˘¤ëĽÍĄźĽŕĽľĄźĽĐ¤Ď°Ę˛ź¤Îžěšç¤ËÉŹÍפǤšĄŁĚ䤤šç¤ď¤ť¤ËÂФˇ¤ĆżŽÍę¤Ç¤¤ëĘÖĹú¤ň¤š¤ë¤ł¤Č¤ÇĄ˘
¤˘¤ëżÍ¤Ź DNS žđĘó¤ňŔ¤łŚ¤Ë¸ţ¤ą¤ĆČŻżŽ¤ˇ¤ż¤¤¤Č¤ĄŁexample.org
¤Č¤¤¤Ă¤żĽÉĽáĽ¤Ľó¤ŹĹĐĎż¤ľ¤ě¤Ć¤Ş¤ęĄ˘
¤˝¤Î˛ź¤Ë¤˘¤ëĽŰĽšĽČĚž¤Ë
IP Ľ˘ĽÉĽěĽš¤ňłä¤ęĹö¤Ć¤ëÉŹÍפʤ˘¤ë¤Č¤ĄŁIP Ľ˘ĽÉĽěĽšĽÖĽíĽĂĽŻ¤Ź (IP ¤Ť¤éĽŰĽšĽČĚž¤Ř¤Î)
ľŐ°ú¤ DNS Ľ¨ĽóĽČĽę¤ňÉŹÍפȤš¤ë¤Č¤ĄŁĽ×ĽéĽ¤ĽŢĽęĽľĄźĽĐ¤ŹĽŔĽŚĽó¤ˇ¤Ć¤¤¤ë¤Ť¤Ţ¤ż¤ĎĽ˘ĽŻĽťĽš¤Ç¤¤Ę¤¤žěšç¤ËĄ˘
Âĺ¤ď¤ę¤ËĚ䤤šç¤ď¤ť¤ËÂФˇ¤ĆĽšĽěĄźĽÖ¤Č¸Ć¤Đ¤ě¤ëĽĐĽĂĽŻĽ˘ĽĂĽ×ĽÍĄźĽŕĽľĄźĽĐ¤ŹĘÖĹú¤ˇ¤Ę¤ą¤ě¤Đ¤Ę¤é¤Ę¤¤¤Č¤ĄŁĽĽăĽĂĽˇĽĺĽÍĄźĽŕĽľĄźĽĐ¤Ď°Ę˛ź¤Îžěšç¤ËÉŹÍ×¤Ç¤šĄŁĽíĄźĽŤĽë¤ÎĽÍĄźĽŕĽľĄźĽĐ¤ŹĄ˘
ł°Éô¤ÎĽÍĄźĽŕĽľĄźĽĐ¤ËĚ䤤šç¤ď¤ť¤š¤ë¤č¤ę¤âĄ˘
ĽĽăĽĂĽˇĽĺ¤ˇ¤Ć¤č¤ęÂŽ¤ŻĘÖĹú¤Ç¤¤ë¤Č¤ĄŁĽÍĽĂĽČĽďĄźĽŻĽČĽéĽŐĽŁĽĂĽŻ¤ÎÁíÎ̤ň¸ş¤é¤ˇ¤ż¤¤¤Č¤
(DNS ¤ÎĽČĽéĽŐĽŁĽĂĽŻ¤ĎĽ¤ĽóĽżĄźĽÍĽĂĽČĽČĽéĽŐĽŁĽĂĽŻÁ´ÂΤÎ
5% °Ęžĺ¤ňŔę¤á¤ë¤ł¤Č¤ŹÂŹÄꤾ¤ě¤Ć¤¤¤Ţ¤š)www.FreeBSD.org ¤ËÂФš¤ëĚ䤤šç¤ď¤ť¤ňČŻ¤ˇ¤ż¤Č¤Ą˘
ĽęĽžĽëĽĐ¤ĎÂçÂΤΞěšçžĺÎŽ¤Î ISP
¤ÎĽÍĄźĽŕĽľĄźĽĐ¤ËĚ䤤šç¤ď¤ť¤ň¤ˇ¤ĆĘÖĹú¤ňĆŔ¤Ţ¤šĄŁ
ĽíĄźĽŤĽë¤ÎĽĽăĽĂĽˇĽĺ DNS ĽľĄźĽĐ¤Ź¤˘¤ě¤ĐĄ˘
Ě䤤šç¤ď¤ť¤ĎĽĽăĽĂĽˇĽĺ
DNS ĽľĄźĽĐ¤Ë¤č¤Ă¤Ćł°Éô¤ËÂФˇ¤Ć°ěĹ٤Ŕ¤ąČݤť¤é¤ě¤Ţ¤šĄŁ
žđĘó¤ŹĽíĄźĽŤĽë¤ËĂߤ¨¤é¤ě¤ë¤Î¤ÇĄ˘
ÄɲäÎĚ䤤šç¤ď¤ť¤Ď¤¤¤ş¤ě¤âĽíĄźĽŤĽëĽÍĽĂĽČĽďĄźĽŻ¤Îł°ÂŚ¤Ë¤Ţ¤ÇłÎǧ¤ˇ¤Ę¤Ż¤Ć¤â¤č¤Ż¤Ę¤ę¤Ţ¤šĄŁĆ°şî¤Î¤ˇ¤Ż¤ßFreeBSD ¤Ç¤Ď BIND ĽÇĄźĽâĽó¤ĎźŤĚŔ¤ĘÍýÍł¤Ť¤é
named ¤Č¸Ć¤Đ¤ě¤Ţ¤šĄŁĽŐĽĄĽ¤ĽëŔâĚŔnamedBIND ĽÇĄźĽâĽóndcĽÍĄźĽŕĽÇĄźĽâĽóĽłĽóĽČĽíĄźĽëĽ×ĽíĽ°ĽéĽŕ/etc/namedbBIND ¤ÎĽžĄźĽóžđĘó¤ŹĂÖ¤Ť¤ě¤ëĽÇĽŁĽěĽŻĽČĽę/etc/namedb/named.confĽÇĄźĽâĽó¤ÎŔßÄęĽŐĽĄĽ¤Ľë
ĽžĄźĽóĽŐĽĄĽ¤Ľë¤ĎÄĚžď /etc/namedb
ĽÇĽŁĽěĽŻĽČĽęĆâ¤Ë´Ţ¤Ţ¤ě¤Ć¤Ş¤ęĄ˘ĽÍĄźĽŕĽľĄźĽĐ¤Ë¤č¤Ă¤Ć˝čÍý¤ľ¤ě¤ë
DNS ĽžĄźĽóžđĘó¤ň´Ţ¤ó¤Ç¤¤¤Ţ¤šĄŁBIND ¤ÎľŻĆ°BINDľŻĆ°BIND ¤ĎĽÇĽŐĽŠĽëĽČ¤ÇĽ¤ĽóĽšĽČĄźĽë¤ľ¤ě¤Ć¤¤¤ë¤Î¤ÇĄ˘
¤š¤Ů¤Ć¤ňŔßÄꤚ¤ë¤ł¤Č¤ĎČćłÓĹŞĂą˝ă¤Ç¤šĄŁnamed ĽÇĄźĽâĽó¤ŹľŻĆ°ťţ¤ËłŤťĎ¤ľ¤ě¤ë¤ł¤Č¤ňĘÝžÚ¤š¤ë¤Ë¤ĎĄ˘
/etc/rc.conf ¤Ë°Ę˛ź¤ÎĘŃšš¤ň¤¤¤ě¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ
named_enable="YES"ĽÇĄźĽâĽó¤ňźęư¤ÇľŻĆ°¤š¤ë¤ż¤á¤Ë¤Ď (ŔßÄę¤ň¤ˇ¤ż¸ĺ¤Ç)&prompt.root; ndc startŔßÄęĽŐĽĄĽ¤ĽëBINDŔßÄęĽŐĽĄĽ¤Ľëmake-localhost ¤ÎÍřÍŃźĄ¤ÎĽłĽŢĽóĽÉ¤Ź&prompt.root; cd /etc/namedb
&prompt.root; sh make-localhostĽíĄźĽŤĽëľŐ°ú¤ DNS ĽžĄźĽóĽŐĽĄĽ¤Ľë¤ň
/etc/namedb/localhost.rev
¤ËĹŹŔڤ˺îŔޤš¤ë¤ł¤Č¤ňłÎǧ¤ˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ/etc/namedb/named.conf// $FreeBSD$
//
// žÜşŮ¤Ë¤Ä¤¤¤Ć¤Ď named(8) ĽŢĽËĽĺĽ˘ĽëĽÚĄźĽ¸¤ňť˛žČ¤ˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁĽ×ĽéĽ¤ĽŢĽęĽľĄźĽĐ
// ¤ňŔßÄꤚ¤ë¤Ä¤â¤ę¤Ę¤éĄ˘DNS ¤Ź¤É¤Î¤č¤Ś¤Ëưşî¤š¤ë¤Ť¤ÎžÜşŮ¤ňłÎźÂ¤ËÍý˛ň¤ˇ¤Ć¤Ż¤Ŕ¤ľ
// ¤¤ĄŁĂą˝ă¤Ę´Ö°ă¤¤¤Ç¤˘¤Ă¤Ć¤âĄ˘ąĆśÁ¤ň¤Ś¤ą¤ëÁęźę¤ËÂФš¤ëŔÜÂł¤ň˛ő¤ˇ¤ż¤ęĄ˘ĚľÂ̤Ę
// Ľ¤ĽóĽżĄźĽÍĽĂĽČĽČĽéĽŐĽŁĽĂĽŻ¤ňÂçÎ̤˰ú¤ľŻ¤ł¤ˇĆŔ¤Ţ¤šĄŁ
options {
directory "/etc/namedb";
// "forwarders" Ŕá¤Ë˛Ă¤¨¤ĆźĄ¤ÎšÔ¤ň͸ú¤Ë¤š¤ë¤ł¤Č¤ÇĄ˘ĽÍĄźĽŕĽľĄźĽĐ¤Ëˇč¤ˇ¤ĆźŤČŻĹŞ
// ¤ËĚ䤤šç¤ď¤ť¤ňČŻ¤ť¤şĄ˘žď¤Ë¤˝¤ÎĽŐĽŠĽďĄźĽŔ¤Ë¤ż¤¤¤ˇ¤ĆżŇ¤Í¤ë¤č¤Ś¤ËśŻŔФš¤ë¤ł¤Č
// ¤Ź¤Ç¤¤Ţ¤š:
//
// forward only;
// ¤˘¤Ę¤ż¤ŹžĺÎŽ¤ÎĽ×ĽíĽĐĽ¤ĽŔźţĘդΠDNS ĽľĄźĽĐ¤ňÍřÍѤǤ¤ëžěšçĄ˘¤˝¤Î IP Ľ˘ĽÉĽěĽš
// ¤ň¤ł¤ł¤ËĆţÎϤˇĄ˘˛źľ¤ÎšÔ¤ň͸ú¤Ë¤ˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ¤ł¤Ś¤š¤ě¤ĐĄ˘¤˝¤ÎĽĽăĽĂĽˇĽĺ¤Î
// ˛¸ˇĂ¤Ë¤˘¤ä¤Ť¤ë¤ł¤Č¤Ź¤Ç¤Ą˘Ľ¤ĽóĽżĄźĽÍĽĂĽČÁ´ÂΤΠDNS ĽČĽéĽŐĽŁĽĂĽŻ¤Ź¸ş¤ë¤Ç¤ˇ¤ç¤ŚĄŁ
/*
forwarders {
127.0.0.1;
};
*/ĽłĽáĽóĽČ¤Ź¸Ŕ¤Ă¤Ć¤¤¤ëÄ̤ꥢžĺÎŽ¤ÎĽĽăĽĂĽˇĽĺ¤Î˛¸ˇĂ¤ňźő¤ą¤ë¤ż¤á¤Ë
forwarders ¤ň¤ł¤ł¤Ç͸ú¤Ë¤š¤ë¤ł¤Č¤Ź¤Ç¤¤Ţ¤šĄŁ
ÄĚžď¤Îžőśˇ¤Ç¤ĎĄ˘ĽÍĄźĽŕĽľĄźĽĐ¤ĎĽ¤ĽóĽżĄźĽÍĽĂĽČ¤ÎĆĂÄę¤ÎĽÍĄźĽŕĽľĄźĽĐ¤ňÄ´¤Ů¤ĆĄ˘
Ăľ¤ˇ¤Ć¤¤¤ëĘÖĹú¤ň¸Ť¤Ä¤ą¤ë¤Ţ¤ÇşĆľ˘ĹޤËĚ䤤šç¤ď¤ť¤ňšÔ¤¤¤Ţ¤šĄŁ
¤ł¤ě¤ŹÍ¸ú¤Ë¤Ę¤Ă¤Ć¤¤¤ě¤ĐĄ˘¤Ţ¤şžĺÎŽ¤ÎĽÍĄźĽŕĽľĄźĽĐ
(¤Ţ¤ż¤Ď Íż¤¨¤é¤ě¤żĽÍĄźĽŕĽľĄźĽĐ) ¤ËĚ䤤šç¤ď¤ť¤ĆĄ˘
¤˝¤ÎĽĽăĽĂĽˇĽĺ¤ňÍřÍѤš¤ë¤Ç¤ˇ¤ç¤ŚĄŁ
Ě䤤šç¤ď¤ť¤ň¤š¤ëžĺÎŽ¤ÎĽÍĄźĽŕĽľĄźĽĐ¤ŹśËĹ٤ËÄĚżŽÎ̤ŹÂż¤ŻĄ˘
šâÂŽ¤Ç¤˘¤Ă¤żžěšçĄ˘¤ł¤ě¤ň͸ú¤Ë¤š¤ë˛ÁĂÍ¤Ź¤˘¤ë¤Ť¤â¤ˇ¤ě¤Ţ¤ť¤óĄŁ¤ł¤ł¤Ë 127.0.0.1
¤ňťŘÄꤡ¤Ć¤âưşî ¤ˇ¤Ţ¤ť¤óĄŁ
žĺÎŽ¤ÎĽÍĄźĽŕĽľĄźĽĐ¤Î IP Ľ˘ĽÉĽěĽš¤ËĘŃšš¤ˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ /*
* ¤˘¤Ę¤ż¤ČÍřÍѤˇ¤ż¤¤ĽÍĄźĽŕĽľĄźĽĐ¤Č¤Î´Ö¤ËĽŐĽĄĽ¤Ľ˘ĽŚĽŠĄźĽë¤Ź¤˘¤ëžěšçĄ˘
* ˛źľ¤Î quiery-source ťŘÎá¤ň͸ú¤Ë¤š¤ëÉŹÍפʤ˘¤ë¤Ç¤ˇ¤ç¤ŚĄŁ
* ˛áľî¤Î BIND ¤ÎĽĐĄźĽ¸ĽçĽó¤Ďžď¤Ë 53 ČÖĽÝĄźĽČ¤ËĚ䤤šç¤ď¤ť¤ň¤ˇ¤Ţ¤š¤ŹĄ˘
* BIND 8.1 ¤ĎĽÇĽŐĽŠĽëĽČ¤ÇČóĆø˘ĽÝĄźĽČ¤ňťČÍѤˇ¤Ţ¤šĄŁ
*/
// query-source address * port 53;
/*
* ş˝žěĆâ¤Çưşî¤ľ¤ť¤Ć¤¤¤ëžěšçĄ˘ĽŔĽóĽ×ĽŐĽĄĽ¤Ľë¤Î¤ż¤á¤Ë°Ű¤Ę¤ëžě˝ę¤ňťŘÄę
* ¤ˇ¤Ę¤ą¤ě¤Đ¤Ę¤é¤Ę¤¤¤Ť¤â¤ˇ¤ě¤Ţ¤ť¤óĄŁ
*/
// dump-file "s/named_dump.db";
};
// Ăí°Ő: ˛źľ¤ĎžÍč¤ÎĽęĽęĄźĽš¤ÇÂĐąţ¤ľ¤ě¤ë¤Ç¤ˇ¤ç¤ŚĄŁ
/*
host { any; } {
topology {
127.0.0.0/8;
};
};
*/
// ĽťĽŤĽóĽŔĽę¤ňŔßÄꤚ¤ë¤ł¤Č¤Ď¤č¤ę´ĘĂą¤ĘĘýËĄ¤ÇĄ˘¤˝¤Î¤Ş¤Ş¤Ţ¤Ť¤ĘťŃ¤Ź˛źľ¤ÇŔâĚŔ¤ľ
// ¤ě¤Ć¤¤¤Ţ¤šĄŁ
//
// ĽíĄźĽŤĽëĽÍĄźĽŕĽľĄźĽĐ¤ň͸ú¤Ë¤š¤ëžěšçĄ˘¤ł¤ÎĽľĄźĽĐ¤ŹşÇ˝é¤ËżŇ¤Í¤é¤ě¤ë¤č¤Ś¤Ë
// /etc/resolv.conf ¤Ë 127.0.0.1 ¤ňĆţÎϤš¤ë¤ł¤Č¤ňËş¤ě¤Ę¤¤¤Ç¤Ż¤Ŕ¤ľ¤¤ĄŁ¤ľ¤é¤ËĄ˘
// /etc/rc.conf Ćâ¤Ç͸ú¤Ë¤š¤ë¤ł¤Č¤âłÎǧ¤ˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ
zone "." {
type hint;
file "named.root";
};
zone "0.0.127.IN-ADDR.ARPA" {
type master;
file "localhost.rev";
};
zone
"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.INT" {
type master;
file "localhost.rev";
};
// Ăí°Ő: ˛źľ¤Î IP Ľ˘ĽÉĽěĽš¤ňťČÍѤˇ¤Ę¤¤¤Ç¤Ż¤Ŕ¤ľ¤¤ĄŁ¤ł¤ě¤ĎĽŔĽßĄź¤Ç¤˘¤ęĽÇĽâ¤äʸ˝ń
// ¤Ŕ¤ą¤ňĚÜĹŞ¤Č¤ˇ¤ż¤â¤Î¤Ç¤šĄŁ
//
// ĽťĽŤĽóĽŔĽęŔßÄę¤ÎÎă¤Ç¤šĄŁžŻ¤Ę¤Ż¤Č¤â¤˘¤Ę¤ż¤ÎĽÉĽáĽ¤Ľó¤ŹÂ°¤š¤ëĽžĄźĽó¤ËÂФš¤ëĽťĽŤ
// ĽóĽŔĽę¤Ë¤Ę¤ë¤ł¤Č¤ĎĘŘÍř¤Ť¤â¤ˇ¤ě¤Ţ¤ť¤óĄŁĽ×ĽéĽ¤ĽŢĽę¤ÎŔŐ¤ňÉé¤Ă¤Ć¤¤¤ë IP Ľ˘ĽÉĽěĽš
// ¤ňĽÍĽĂĽČĽďĄźĽŻ´ÉÍýźÔ¤ËżŇ¤Í¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ
//
// ľŐ°ú¤ť˛žČĽžĄźĽó (IN-ADDR.ARPA) ¤ň´Ţ¤á¤ë¤ł¤Č¤ňˇč¤ˇ¤ĆËş¤ě¤Ę¤¤¤Ç¤Ż¤Ŕ¤ľ¤¤!
// (¤ł¤ě¤Ď ".IN-ADDR.ARPA" ¤ňÉŐ¤ą˛Ă¤¨¤é¤ě¤ż¤˝¤ě¤ž¤ě¤Î IP Ľ˘ĽÉĽěĽš¤ÎşÇ˝é¤ÎĽĐĽ¤ĽČ
// ¤ÎľŐ˝ç¤Ç¤šĄŁ)
//
// Ľ×ĽéĽ¤ĽŢĽęĽžĄźĽó¤ÎŔßÄę¤ň¤Ď¤¸¤á¤ëÁ°¤Ë DNS ¤Ş¤č¤Ó BIND ¤Ź¤É¤Î¤č¤Ś¤Ëưşî¤š¤ë¤Ť
// ´°Á´¤ËÍý˛ň¤ˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁťţĄšźŤĚŔ¤Ç¤Ę¤¤Íˇę¤Ź¤˘¤ę¤Ţ¤šĄŁ¤˝¤ě¤ËČć¤Ů¤ë¤ČĽťĽŤĽó
// ĽŔĽę¤ňŔßÄꤚ¤ë¤Î¤ĎĂą˝ă¤Ç¤šĄŁ
//
// Ăí°Ő: ˛źľ¤ÎÎă¤ňąĆݤߤˤˇ¤Ć͸ú¤Ë¤ˇ¤Ę¤¤¤Ç¤Ż¤Ŕ¤ľ¤¤ĄŁ:-) źÂşÝ¤ÎĚžÁ°¤ČĽ˘ĽÉĽěĽš
// ¤ňÂĺ¤ď¤ę¤ËťČÍѤˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ
//
// Ăí°Ő!!! FreeBSD ¤Ď bind ¤ňş˝žě¤Î¤Ę¤Ť¤Çư¤Ť¤ˇ¤Ţ¤š (rc.conf Ćâ¤Î named_flags
// ¤ňť˛žČ¤ˇ¤Ć¤Ż¤Ŕ¤ľ¤¤)ĄŁĽťĽŤĽóĽŔĽęĽžĄźĽó¤ň´Ţ¤ó¤ŔĽÇĽŁĽěĽŻĽČĽę¤ĎĄ˘bind ¤Ë¤č¤Ă¤Ć
// ˝ń¤šţ¤ß˛ÄÇ˝¤Ç¤Ę¤ą¤ě¤Đ¤Ę¤ę¤Ţ¤ť¤óĄŁźĄ¤Îźę˝ç¤ŹżäžŠ¤ľ¤ě¤Ţ¤š:
//
// mkdir /etc/namedb/s
// chown bind:bind /etc/namedb/s
// chmod 750 /etc/namedb/sBIND ¤ňş˝žě (sandbox) ¤Ç
(ĚőĂí: chroot ¤ň¤â¤Á¤¤¤Ć) ưşî¤ľ¤ť¤ë¤ż¤á¤ÎžÜşŮ¤Ď
ş˝žě¤Ç named ¤ňźÂšÔ¤š¤ë ¤ňť˛žČ¤ˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ/*
zone "example.com" {
type slave;
file "s/example.com.bak";
masters {
192.168.1.1;
};
};
zone "0.168.192.in-addr.arpa" {
type slave;
file "s/0.168.192.in-addr.arpa.bak";
masters {
192.168.1.1;
};
};
*/named.conf ¤ÎĂć¤ÇĄ˘
žĺľ¤ĎĹžÁ÷¤ČľŐ°ú¤ĽžĄźĽó¤Î¤ż¤á¤ÎĽšĽěĄźĽÖĽ¨ĽóĽČĽę¤ÎÎă¤Ç¤šĄŁżˇ¤ˇ¤ŻĽľĄźĽÓĽš¤š¤ë¤˝¤ě¤ž¤ě¤ÎĽžĄźĽó¤Ë¤Ä¤¤¤ĆĄ˘żˇľŹ¤ÎĽ¨ĽóĽČĽę¤ň
named.conf ¤Ë˛Ă¤¨¤Ę¤ą¤ě¤Đ¤¤¤ą¤Ţ¤ť¤óĄŁ¤ż¤Č¤¨¤Đ example.org
¤ËÂФš¤ëşÇ¤âĽˇĽóĽ×Ľë¤ĘĽžĄźĽóĽ¨ĽóĽČĽę¤Ď°Ę˛ź¤Î¤č¤Ś¤Ë¤Ę¤ę¤Ţ¤šĄŁzone "example.org" {
type master;
file "example.org";
};¤ł¤ÎĽžĄźĽó¤Ď
ĚżÎá¤Çꍤľ¤ě¤Ć¤¤¤ë¤č¤Ś¤ËĽŢĽšĽż¤ÇĄ˘ĽžĄźĽóžđĘó¤ň
ĚżÎá¤ÇťŘꍤľ¤ě¤ż
/etc/namedb/example.org
ĽŐĽĄĽ¤Ľë¤ËĘÝťý¤ˇ¤Ć¤¤¤Ţ¤šĄŁzone "example.org" {
type slave;
file "example.org";
};ĽšĽěĄźĽÖ¤ÎžěšçĄ˘
ĽžĄźĽóžđĘó¤ĎĆĂÄę¤ÎĽžĄźĽó¤ÎĽŢĽšĽżĽÍĄźĽŕĽľĄźĽĐ¤Ť¤éĹžÁ÷¤ľ¤ěĄ˘
ťŘÄꤾ¤ě¤żĽŐĽĄĽ¤Ľë¤ËĘݸ¤ľ¤ě¤Ţ¤šĄŁ
ĽŢĽšĽżĽľĄźĽĐ¤ŹÄäťß¤š¤ë¤ŤĹţĂŁ¤Ç¤¤Ę¤¤žěšç¤Ë¤ĎĄ˘
ĽšĽěĄźĽÖĽľĄźĽĐ¤ŹĹžÁ÷¤ľ¤ě¤żĽžĄźĽóžđĘó¤ňĘÝťý¤ˇ¤Ć¤¤¤ĆĄ˘
ĽľĄźĽÓĽš¤Ç¤¤ë¤Ç¤ˇ¤ç¤ŚĄŁĽžĄźĽóĽŐĽĄĽ¤Ľëexample.org ¤ËÂФš¤ëĽŢĽšĽżĽžĄźĽóĽŐĽĄĽ¤Ľë
(/etc/namedb/example.org ¤ËĘÝťý¤ľ¤ě¤Ţ¤š)
¤ÎÎă¤Ď°Ę˛ź¤Î¤č¤Ś¤Ë¤Ę¤ę¤Ţ¤šĄŁ$TTL 3600
example.org. IN SOA ns1.example.org. admin.example.org. (
5 ; Serial
10800 ; Refresh
3600 ; Retry
604800 ; Expire
86400 ) ; Minimum TTL
; DNS Servers
@ IN NS ns1.example.org.
@ IN NS ns2.example.org.
; Machine Names
localhost IN A 127.0.0.1
ns1 IN A 3.2.1.2
ns2 IN A 3.2.1.3
mail IN A 3.2.1.10
@ IN A 3.2.1.30
; Aliases
www IN CNAME @
; MX Record
@ IN MX 10 mail.example.org..
¤ŹşÇ¸ĺ¤Ë¤Ä¤¤¤Ć¤¤¤ë¤š¤Ů¤Ć¤ÎĽŰĽšĽČĚž¤ĎŔľłÎ¤ĘĽŰĽšĽČĚž¤Ç¤˘¤ęĄ˘
°ěĘý¤Ç .
¤Ç˝ŞÎť¤ˇ¤Ę¤¤¤š¤Ů¤Ć¤ÎšÔ¤ĎĽŞĽęĽ¸Ľó¤Źť˛žČ¤ľ¤ě¤ë¤ł¤Č¤ËĂí°Ő¤ˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ
¤ż¤Č¤¨¤Đ www ¤Ď www + ĽŞĽęĽ¸Ľó
¤ËŸłŤ¤ľ¤ě¤Ţ¤šĄŁ¤ł¤Î˛Íśő¤ÎĽžĄźĽóĽŐĽĄĽ¤Ľë¤Ç¤ĎĄ˘
ĽŞĽęĽ¸Ľó¤Ď example.org. ¤Ę¤Î¤Ç
www ¤Ď www.example.org.
¤ËŸłŤ¤ľ¤ě¤Ţ¤šĄŁ
ĽžĄźĽóĽŐĽĄĽ¤Ľë¤Î˝ńź°¤ĎźĄ¤Î¤Č¤Ş¤ę¤Ç¤šĄŁ
recordname IN recordtype valueDNSĽěĽłĄźĽÉDNS ĽěĽłĄźĽÉ¤ËťČ¤ď¤ě¤ëşÇ¤â°ěČĚĹŞ¤Ę¤â¤Î¤Ď°Ę˛ź¤Î¤Č¤Ş¤ę¤Ç¤šĄŁSOAĽžĄźĽó¸˘°Ň¤ÎľŻĹŔNS¸˘°Ň¤Î¤˘¤ëĽÍĄźĽŕĽľĄźĽĐAĽŰĽšĽČ¤ÎĽ˘ĽÉĽěĽšCNAMEĘĚĚž¤Č¤ˇ¤Ć¤ÎŔľľŹ¤ÎĚžžÎMXĽáĄźĽëĽ¨ĽŻĽšĽÁĽ§ĽóĽ¸ĽăPTRĽÉĽáĽ¤ĽóĽÍĄźĽŕĽÝĽ¤ĽóĽż
(ľŐ°ú¤ DNS ¤ÇťČÍѤľ¤ě¤Ţ¤š)
example.org. IN SOA ns1.example.org. admin.example.org. (
5 ; Serial
10800 ; Refresh after 3 hours
3600 ; Retry after 1 hour
604800 ; Expire after 1 week
86400 ) ; Minimum TTL of 1 dayexample.org.¤ł¤ÎĽžĄźĽó¤ÎĽŞĽęĽ¸Ľó¤Ç¤â¤˘¤ëĽÉĽáĽ¤ĽóĚžns1.example.org.¤ł¤ÎĽžĄźĽó¤ËÂФˇ¤Ć¸˘°Ň¤Î¤˘¤ëĽ×ĽéĽ¤ĽŢĽęĽÍĄźĽŕĽľĄźĽĐadmin.example.org.¤ł¤ÎĽžĄźĽó¤ÎŔŐǤźÔĄŁ@
¤ňĂÖ¤´š¤¨¤żĹŝҼᥟĽëĽ˘ĽÉĽěĽš¤ňťŘÄꤡ¤Ţ¤šĄŁ
(admin@example.org ¤Ď
admin.example.org ¤Ë¤Ę¤ę¤Ţ¤š)5ĽŐĽĄĽ¤Ľë¤ÎĽˇĽęĽ˘ĽëČÖšć¤Ç¤šĄŁ
¤ł¤ě¤ĎĽŐĽĄĽ¤Ľë¤ŹĘŃšš¤ľ¤ě¤ë¤ż¤Ó¤ËÁý˛Ă¤ľ¤ť¤ëÉŹÍפʤ˘¤ę¤Ţ¤šĄŁ
¸˝şß¤Ç¤ĎÂż¤Ż¤Î´ÉÍýźÔ¤Ď yyyymmddrr
¤Č¤¤¤ŚˇÁź°¤ňĽˇĽęĽ˘ĽëČÖšć¤Č¤ˇ¤ĆťČÍѤš¤ë¤ł¤Č¤ňšĽ¤ß¤Ţ¤šĄŁ
2001041002 ¤ĎşÇ¸ĺ¤Ë˝¤Ŕľ¤ľ¤ě¤ż¤Î¤Ź 2001/04/10 ¤ÇĄ˘¸ĺ¤í¤Î 02
¤Ď¤˝¤ÎĆü¤ÇĆó˛óĚܤ˽¤Ŕľ¤ľ¤ě¤ż¤â¤Î¤Ç¤˘¤ë¤Č¤¤¤Ś¤ł¤Č¤ň°ŐĚŁ¤š¤ë¤Ç¤ˇ¤ç¤ŚĄŁ
ĽˇĽęĽ˘ĽëČÖšć¤ĎĄ˘
¤˝¤ě¤Źššżˇ¤ľ¤ě¤ż¤Č¤¤ËĽšĽěĄźĽÖĽÍĄźĽŕĽľĄźĽĐ¤ËÂФˇ¤ĆĽžĄźĽó¤ňÄĚĂΤš¤ë¤Î¤Ç˝ĹÍפǤšĄŁ
@ IN NS ns1.example.org.¤ł¤ě¤Ď NS Ľ¨ĽóĽČĽę¤Ç¤šĄŁ
¤ł¤ÎĽžĄźĽó¤ËÂФˇ¤Ć¸˘°Ň¤Î¤˘¤ëĘÖĹú¤ňĘÖ¤šĽÍĄźĽŕĽľĄźĽĐ¤Ď¤š¤Ů¤ĆĄ˘
¤ł¤ÎĽ¨ĽóĽČĽę¤ň°ě¤Äͤˇ¤Ć¤¤¤Ę¤ą¤ě¤Đ¤Ę¤ę¤Ţ¤ť¤óĄŁ
¤ł¤ł¤Ë¤˘¤ë @ ¤Ď
example.org. ¤ň°ŐĚŁ¤ˇ¤Ţ¤šĄŁ
@ ¤ĎĽŞĽęĽ¸Ľó¤ËŸłŤ¤ľ¤ě¤Ţ¤šĄŁ
localhost IN A 127.0.0.1
ns1 IN A 3.2.1.2
ns2 IN A 3.2.1.3
mail IN A 3.2.1.10
@ IN A 3.2.1.30A ĽěĽłĄźĽÉ¤ĎĽŢĽˇĽóĚž¤ňꍤˇ¤Ţ¤šĄŁ
žĺľ¤Î¤č¤Ś¤Ë ns1.example.org ¤Ď
3.2.1.2 ¤Ëˇë¤Ó¤Ä¤ą¤é¤ě¤ë¤Ç¤ˇ¤ç¤ŚĄŁ
¤Ő¤ż¤ż¤ÓĽŞĽęĽ¸Ľó¤ňꍤš @
¤Ź¤ł¤ł¤ËťČÍѤľ¤ě¤Ć¤¤¤Ţ¤š¤ŹĄ˘¤ł¤ě¤Ď
example.org ¤Ź
3.2.1.30
¤Ëˇë¤ÓÉŐ¤ą¤é¤ě¤ë¤ł¤Č¤ň°ŐĚŁ¤ˇ¤Ć¤¤¤Ţ¤šĄŁ
www IN CNAME @CNAME
ĽěĽłĄźĽÉ¤ĎÄĚžďĽŢĽˇĽó¤ËĘĚĚž¤ňÍż¤¨¤ë¤Č¤¤ËťČÍѤľ¤ě¤Ţ¤šĄŁ
Îă¤Ç¤Ď www ¤ĎĽŞĽęĽ¸ĽóĄ˘¤š¤Ę¤ď¤Á
example.org
(3.2.1.30)
¤ÎĽ˘ĽÉĽěĽš¤ň¤Ő¤é¤ě¤żĽŢĽˇĽó¤Ř¤ÎĘĚĚž¤ňÍż¤¨¤Ţ¤šĄŁ
CNAME ¤ĎĽŰĽšĽČĚž¤ÎĘĚĚžĄ˘
¤Ţ¤ż¤ĎĘŁżô¤ÎĽŢĽˇĽó´Ö¤Ç°ě¤Ä¤ÎĽŰĽšĽČĚž¤ňĽéĽŚĽóĽÉĽíĽÓĽó
(ĚőĂí: Ě䤤šç¤ď¤ť¤Ź¤˘¤ë¤ż¤Ó¤ËĘ̤ΠIP Ľ˘ĽÉĽěĽš¤ňĘÖ¤š¤ł¤Č¤ÇĄ˘
°ěÂć¤ËĽ˘ĽŻĽťĽš¤Ź˝¸Ă椚¤ë¤ł¤Č¤ňËɤ°źęËĄ)
¤š¤ë¤Č¤¤ËÍѤ¤¤é¤ě¤Ţ¤šĄŁ
@ IN MX 10 mail.example.org.MX ĽěĽłĄźĽÉ¤ĎĄ˘
ĽžĄźĽó¤ËÂФˇ¤Ć¤É¤ÎĽáĄźĽëĽľĄźĽĐ¤Ź¤ä¤Ă¤Ć¤¤żĽáĄźĽë¤ň°ˇ¤Ś¤ł¤Č¤ËŔŐǤ¤ňťý¤Ă¤Ć¤¤¤ë¤Ť¤ňꍤˇ¤Ţ¤šĄŁ
mail.example.org
¤ĎĽáĄźĽëĽľĄźĽĐ¤ÎĽŰĽšĽČĚž¤ÇĄ˘10 ¤ĎĽáĄźĽëĽľĄźĽĐ¤ÎÍĽŔčĹ٤ňꍤˇ¤Ţ¤šĄŁÍĽŔčĹŮ¤Ź 3,2 ¤Ţ¤ż¤Ď
1 ¤Ę¤É¤ÎĽáĄźĽëĽľĄźĽĐ¤ň¤¤¤Ż¤Ä¤âĂ֤ݤł¤Č¤Ź¤Ç¤¤Ţ¤šĄŁ
example.org
¤ŘÁ÷¤í¤Ś¤Č¤ˇ¤Ć¤¤¤ëĽáĄźĽëĽľĄźĽĐ¤Ď¤Ď¤¸¤á¤Ë°ěČÖÍĽŔčĹ٤Κ⤤ĽáĄźĽëĽľĄźĽĐ¤ËŔÜÂł¤ˇ¤č¤Ś¤Č¤ˇ¤Ţ¤šĄŁ
¤˝¤ˇ¤ĆŔÜÂł¤Ç¤¤Ę¤¤žěšçĄ˘ĆóČÖĚܤËÍĽŔčĹ٤Κ⤤ĽľĄźĽĐ¤ËŔÜÂł¤ˇ¤č¤Ś¤Č¤ˇĄ˘
°Ę˛źĄ˘ĽáĄźĽë¤ŹĹŹŔÚ¤ËÇŰÁ÷¤ľ¤ě¤ë¤Ţ¤ÇĆąÍͤˡŤ¤ęĘÖ¤ˇ¤Ţ¤šĄŁin-addr.arpa ĽžĄźĽóĽŐĽĄĽ¤Ľë (ľŐ°ú¤ DNS) ¤ËÂФˇ¤Ć¤â
A ¤Ţ¤ż¤Ď CNAME ¤ÎÂĺ¤ď¤ę¤Ë
PTR Ľ¨ĽóĽČĽę¤ŹÍѤ¤¤é¤ě¤ë¤ł¤Č¤ň˝ü¤ą¤ĐĄ˘
Ćą¤¸˝ńź°¤ŹťČ¤ď¤ě¤Ţ¤šĄŁ$TTL 3600
1.2.3.in-addr.arpa. IN SOA ns1.example.org. admin.example.org. (
5 ; Serial
10800 ; Refresh
3600 ; Retry
604800 ; Expire
3600 ) ; Minimum
@ IN NS ns1.example.org.
@ IN NS ns2.example.org.
2 IN PTR ns1.example.org.
3 IN PTR ns2.example.org.
10 IN PTR mail.example.org.
30 IN PTR example.org.¤ł¤ÎĽŐĽĄĽ¤Ľë¤Ďžĺľ¤Î˛Íśő¤ÎĽÉĽáĽ¤Ľó¤Î
IP Ľ˘ĽÉĽěĽš¤Ť¤éĽŰĽšĽČĚž¤Ř¤ÎÂĐąţ¤ňÍż¤¨¤Ţ¤šĄŁĽĽăĽĂĽˇĽĺĽÍĄźĽŕĽľĄźĽĐBINDĽĽăĽĂĽˇĽĺĽÍĄźĽŕĽľĄźĽĐĽĽăĽĂĽˇĽĺĽÍĄźĽŕĽľĄźĽĐ¤Ď¤É¤ÎĽžĄźĽó¤ËÂФˇ¤Ć¤â¸˘°Ň¤ň¤â¤ż¤Ę¤¤ĽÍĄźĽŕĽľĄźĽĐ¤Ç¤šĄŁ
ĽĽăĽĂĽˇĽĺĽÍĄźĽŕĽľĄźĽĐ¤ĎĂą¤ËźŤĘʤÇĚ䤤šç¤ď¤ť¤ň¤ˇĄ˘
¸ĺ¤ÇťČ¤¨¤ë¤č¤Ś¤ËĚ䤤šç¤ď¤ť¤Îˇë˛Ě¤ňłĐ¤¨¤Ć¤Ş¤¤Ţ¤šĄŁ
¤ł¤ě¤ňŔßÄꤚ¤ë¤Ë¤ĎĄ˘ĽžĄźĽó¤ň˛ż¤â´Ţ¤Ţ¤ş¤ËĄ˘
ÄĚžďÄ̤ęĽÍĄźĽŕĽľĄźĽĐ¤ňŔßÄꤡ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁş˝žě¤Ç named ¤ňźÂšÔ¤š¤ëBINDş˝žě¤Ç¤ÎźÂšÔchrootĽťĽĽĺĽęĽĆĽŁ¤ňśŻ¤á¤ë¤ż¤á¤Ë &man.named.8; ¤ňČóĆø˘ĽćĄźĽś¤ÇźÂšÔ¤ˇĄ˘
ş˝žě¤ÎĽÇĽŁĽěĽŻĽČĽęĆâ¤Ë &man.chroot.8;
¤ˇ¤ĆźÂšÔ¤ˇ¤ż¤¤¤Čť×¤Ś¤Ť¤â¤ˇ¤ě¤Ţ¤ť¤óĄŁ
¤ł¤Ś¤š¤ë¤Č named
ĽÇĄźĽâĽó¤Ďş˝žě¤Îł°¤Ë¤Ď¤Ţ¤Ă¤ż¤Żźę¤ň˝Đ¤š¤ł¤Č¤Ź¤Ç¤¤Ţ¤ť¤óĄŁ
named ¤Źžč¤Ăźč¤é¤ě¤ż¤Č¤ˇ¤Ć¤âĄ˘
¤ł¤ě¤Ë¤č¤Ă¤ĆľŻ¤ł¤ę¤Ś¤ëÂťł˛¤ŹžŽ¤ľ¤Ż¤Ę¤ë¤Ç¤ˇ¤ç¤ŚĄŁ
FreeBSD ¤Ë¤ĎĽÇĽŐĽŠĽëĽČ¤ÇĄ˘¤˝¤Î¤ż¤á¤Î bind
¤Č¤¤¤ŚĽćĄźĽś¤ČĽ°ĽëĄźĽ×¤Ź¤˘¤ę¤Ţ¤šĄŁÂż¤Ż¤ÎżÍĄš¤Ď named
¤ň chroot ¤š¤ë¤č¤Ś¤ËŔßÄꤚ¤ëÂĺ¤ď¤ę¤ËĄ˘
&man.jail.8; ´ÄśĆâ¤Ç named
¤ňźÂšÔ¤š¤ë¤ł¤Č¤ňžŠ¤á¤ë¤Ç¤ˇ¤ç¤ŚĄŁ
¤ł¤ÎŔá¤Ç¤Ď¤˝¤ě¤Ď°ˇ¤¤¤Ţ¤ť¤óĄŁnamed ¤Ďş˝žě¤Îł°
(śŚÍĽéĽ¤ĽÖĽéĽęĄ˘ĽíĽ°Ľ˝ĽąĽĂĽČ¤Ę¤É) ¤ËĽ˘ĽŻĽťĽš¤Ç¤¤Ę¤¤¤Î¤ÇĄ˘
named
¤ňŔľ¤ˇ¤ŻĆ°şî¤ľ¤ť¤ë¤ż¤á¤Ë¤¤¤Ż¤Ä¤â¤ÎĂĘłŹ¤ňˇĐ¤ëÉŹÍפʤ˘¤ę¤Ţ¤šĄŁ
˛źľ¤ÎĽÁĽ§ĽĂĽŻĽęĽšĽČ¤Ë¤Ş¤¤¤Ć¤ĎĄ˘ş˝žě¤ÎĽŃĽš¤Ď
/etc/namedb ¤ÇĄ˘
¤ł¤ÎĽÇĽŁĽěĽŻĽČĽę¤ÎĆâÍƤˤϲż¤âźę¤ň˛Ă¤¨¤Ć¤¤¤Ę¤¤¤Č˛žÄꤡ¤Ţ¤šĄŁ
root ¸˘¸Â¤ÇźĄ¤ÎĽšĽĆĽĂĽ×¤ňźÂšÔ¤ˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁnamed
¤ŹÂ¸şß¤š¤ë¤ł¤Č¤ň´üÂÔ¤ˇ¤Ć¤¤¤ëĽÇĽŁĽěĽŻĽČĽę¤ň¤š¤Ů¤ĆşîŔޤˇ¤Ţ¤šĄŁ&prompt.root; cd /etc/namedb
&prompt.root; mkdir -p bin dev etc var/tmp var/run master slave
&prompt.root; chown bind:bind slave var/*¤ł¤ě¤é¤ÎĽÇĽŁĽěĽŻĽČĽę¤ËÂФˇ¤Ć
named
¤ŹÉŹÍפʤΤϽń¤šţ¤ß¸˘¸Â¤Ŕ¤ą¤Ę¤Î¤ÇĄ˘¤˝¤ě¤Ŕ¤ą¤ňÍż¤¨¤Ţ¤šĄŁ´đËÜĽžĄźĽóĽŐĽĄĽ¤Ľë¤ČŔßÄęĽŐĽĄĽ¤Ľë¤ÎĘÔ˝¸¤ČşîŔޤňšÔ¤¤¤Ţ¤šĄŁ&prompt.root; cp /etc/localtime etc
&prompt.root; mv named.conf etc && ln -sf etc/named.conf
&prompt.root; mv named.root master
&prompt.root; sh make-localhost && mv localhost.rev localhost-v6.rev master
&prompt.root; cat > master/named.localhost
$ORIGIN localhost.
$TTL 6h
@ IN SOA localhost. postmaster.localhost. (
1 ; serial
3600 ; refresh
1800 ; retry
604800 ; expiration
3600 ) ; minimum
IN NS localhost.
IN A 127.0.0.1
^D¤ł¤ě¤Ď named ¤Ź &man.syslogd.8;
¤ËŔľ¤ˇ¤¤ťţšď¤ÇĽíĽ°¤ň˝ń¤šţ¤ŕ¤ł¤Č¤ň˛ÄÇ˝¤Ë¤ˇ¤Ţ¤šĄŁ4.9-RELEASE ¤č¤ęÁ°¤ÎĽĐĄźĽ¸ĽçĽó¤Î &os; ¤ňťČÍѤˇ¤Ć¤¤¤ëžěšçĄ˘
ŔĹĹŞĽęĽóĽŻ¤ľ¤ě¤ż named-xfer
¤ňš˝ĂۤˇĄ˘ş˝žě¤ËĽłĽÔĄź¤ˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ&prompt.root; cd /usr/src/lib/libisc
&prompt.root; make cleandir && make cleandir && make depend && make all
&prompt.root; cd /usr/src/lib/libbind
&prompt.root; make cleandir && make cleandir && make depend && make all
&prompt.root; cd /usr/src/libexec/named-xfer
&prompt.root; make cleandir && make cleandir && make depend && make NOSHARED=yes all
&prompt.root; cp named-xfer /etc/namedb/bin && chmod 555 /etc/namedb/bin/named-xferŔĹĹŞĽęĽóĽŻ¤ľ¤ě¤ż named-xfer
¤ňĽ¤ĽóĽšĽČĄźĽë¤ˇ¤ż¤éĄ˘
Ľ˝ĄźĽšĽÄĽęĄź¤ÎĂć¤ËĽéĽ¤ĽÖĽéĽę¤Ţ¤ż¤ĎĽ×ĽíĽ°ĽéĽŕ¤Î¸Ĺ¤Ż¤Ę¤Ă¤żĽłĽÔĄź¤ňťÄ¤ľ¤Ę¤¤¤č¤Ś¤ËĄ˘
ÁÝ˝ü¤š¤ëÉŹÍפʤ˘¤ę¤Ţ¤šĄŁ&prompt.root; cd /usr/src/lib/libisc
&prompt.root; make cleandir
&prompt.root; cd /usr/src/lib/libbind
&prompt.root; make cleandir
&prompt.root; cd /usr/src/libexec/named-xfer
&prompt.root; make cleandir¤ł¤ÎĽšĽĆĽĂĽ×¤ĎťţĄšźşÇÔ¤š¤ë¤ł¤Č¤ŹĘóšđ¤ľ¤ě¤Ć¤¤¤Ţ¤šĄŁ
¤â¤ˇźşÇÔ¤ˇ¤żžěšçĄ˘źĄ¤ÎĽłĽŢĽóĽÉ¤ňźÂšÔ¤ˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ&prompt.root; cd /usr/src && make cleandir && make cleandir¤˝¤ˇ¤Ć /usr/obj
ĽÄĽęĄź¤ňşď˝ü¤ˇ¤Ţ¤šĄŁ&prompt.root; rm -fr /usr/obj && mkdir /usr/obj¤ł¤ě¤ĎĽ˝ĄźĽšĽÄĽęĄź¤Ť¤é¤š¤Ů¤Ć¤Î
¤Ź¤é¤Ż¤ż ¤ň°ěÁݤˇ¤Ţ¤šĄŁ
¤â¤Ś°ěĹٞ徤Οę˝ç¤ňšÔ¤Ś¤ČĄ˘şŁĹŮ¤Ď¤Ś¤Ţ¤ŻĆ°şî¤š¤ë¤Ç¤ˇ¤ç¤ŚĄŁĽĐĄźĽ¸ĽçĽó 4.9-RELEASE °Ęšß¤Î
&os; ¤ňťČÍѤˇ¤Ć¤¤¤ëžěšç /usr/libexec
¤Ë¤˘¤ë named-xfer
¤ÎĽłĽÔĄź¤ĎĽÇĽŐĽŠĽëĽČ¤ÇŔĹĹŞĽęĽóĽŻ¤ľ¤ě¤Ć¤¤¤Ţ¤šĄŁ
ş˝žě¤ËĽłĽÔĄź¤š¤ë¤ż¤á¤ËĂą˝ă¤Ë &man.cp.1; ¤ŹťČ¤¨¤Ţ¤šĄŁnamed ¤Ź¸Ť¤ë¤ł¤Č¤Ź¤Ç¤Ą˘
˝ń¤šţ¤ŕ¤ł¤Č¤Î¤Ç¤¤ë dev/null
¤ňşîŔޤˇ¤Ţ¤šĄŁ&prompt.root; cd /etc/namedb/dev && mknod null c 2 2
&prompt.root; chmod 666 null/etc/namedb/var/run/ndc ¤Ť¤é
/var/run/ndc
¤Ř¤ÎĽˇĽóĽÜĽęĽĂĽŻĽęĽóĽŻ¤ňşîŔޤˇ¤Ţ¤šĄŁ&prompt.root; ln -sf /etc/namedb/var/run/ndc /var/run/ndc¤ł¤ě¤ĎĂą¤Ë &man.ndc.8; ¤ňźÂšÔ¤š¤ë¤ż¤Ó¤Ë
ĽŞĽ×ĽˇĽçĽó¤ňťŘÄꤡ¤Ę¤Ż¤Ć¤â¤č¤¤¤č¤Ś¤Ë¤š¤ë¤Ŕ¤ą¤Ç¤šĄŁ
/var/run ¤ÎĂćżČ¤ĎľŻĆ°ťţ¤Ëşď˝ü¤ľ¤ě¤ë¤ż¤áĄ˘
¤ł¤ě¤ŹÍÍѤŔ¤Čť×¤Ś¤Ę¤éĄ˘¤ł¤ÎĽłĽŢĽóĽÉ¤ňĽëĄźĽČ¤Î crontab ¤Ë
ĽŞĽ×ĽˇĽçĽó¤ňťŘÄꤡ¤ĆÄɲ䎤äݤŔ¤ľ¤¤ĄŁ
žÜşŮ¤Ë¤Ä¤¤¤Ć¤Ď &man.crontab.5; ¤ňť˛žČ¤ˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁnamed ¤Ź˝ń¤šţ¤á¤ëÄɲäÎ
log Ľ˝ĽąĽĂĽČ¤ňşîŔޤš¤ë¤č¤Ś¤Ë
&man.syslogd.8; ¤ňŔßÄꤡ¤Ţ¤šĄŁ
¤ł¤ě¤ňšÔ¤Ś¤ż¤á¤Ë¤ĎĄ˘/etc/rc.conf
Ćâ¤Î syslogd_flags ĘŃżô¤Ë
-l /etc/namedb/dev/log ¤ň˛Ă¤¨¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁźĄ¤ÎšÔ¤ň /etc/rc.conf ¤Ë˛Ă¤¨¤Ć
named ¤ŹľŻĆ°¤ˇĄ˘
źŤżČ¤ňş˝žěĆâ¤Ë chroot ¤š¤ë¤č¤Ś¤ËÄ´Ŕ°¤ˇ¤Ţ¤šnamed_enable="YES"
named_flags="-u bind -g bind -t /etc/namedb /etc/named.conf"ŔßÄęĽŐĽĄĽ¤Ľë /etc/named.conf
¤Ď ş˝žě¤ÎĽÇĽŁĽěĽŻĽČĽę¤ËÂФˇ¤ĆÁęÂĐĹŞ¤Ę
ĽŐĽëĽŃĽš¤ÇÉ˝¤ľ¤ě¤ë¤ł¤Č¤ËĂí°Ő¤ˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ
¤Ä¤Ţ¤ęĄ˘žĺľ¤ÎšÔ¤Çꍤľ¤ě¤żĽŐĽĄĽ¤Ľë¤ĎźÂşÝ¤Ë¤Ď
/etc/namedb/etc/named.conf ¤Ç¤šĄŁźĄ¤ÎĽšĽĆĽĂĽ×¤Ď named
¤Ź¤É¤ÎĽžĄźĽó¤ňĆɤߚţ¤ŕ¤ŤĄ˘
¤˝¤ˇ¤ĆĽÇĽŁĽšĽŻžĺ¤Î¤É¤ł¤ËĽžĄźĽóĽŐĽĄĽ¤Ľë¤Ź¤˘¤ë¤Î¤Ť¤ňĂΤ뤿¤á¤Ë
/etc/namedb/etc/named.conf ¤ňĘÔ˝¸¤š¤ë¤ł¤Č¤Ç¤šĄŁ
˛źľ¤ËÎă¤ňĽłĽáĽóĽČ¤ň˛Ă¤¨¤Ćꍤˇ¤Ţ¤š
(¤ł¤ł¤ÇĆä˼łĽáĽóĽČ¤ľ¤ě¤Ć¤¤¤Ę¤¤ĆâÍƤˤĤ¤¤Ć¤ĎĄ˘
ş˝žě¤ÎĂć¤Çưşî¤ľ¤ť¤Ę¤¤ DNS ĽľĄźĽĐ¤ÎŔßÄę¤ČĆą¤¸¤Ç¤š)ĄŁoptions {
directory "/";
named-xfer "/bin/named-xfer";
version ""; // Don't reveal BIND version
query-source address * port 53;
};
// ndc control socket
controls {
unix "/var/run/ndc" perm 0600 owner 0 group 0;
};
// Zones follow:
zone "localhost" IN {
type master;
file "master/named.localhost";
allow-transfer { localhost; };
notify no;
};
zone "0.0.127.in-addr.arpa" IN {
type master;
file "master/localhost.rev";
allow-transfer { localhost; };
notify no;
};
zone "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.int" {
type master;
file "master/localhost-v6.rev";
allow-transfer { localhost; };
notify no;
};
zone "." IN {
type hint;
file "master/named.root";
};
zone "private.example.net" in {
type master;
file "master/private.example.net.db";
allow-transfer { 192.168.10.0/24; };
};
zone "10.168.192.in-addr.arpa" in {
type slave;
masters { 192.168.10.2; };
file "slave/192.168.10.db";
};directory ¤Ď
/ ¤ňťŘÄꤡ¤Ţ¤šĄŁ
named
¤ŹÉŹÍפȤš¤ëĽŐĽĄĽ¤Ľë¤Ď¤š¤Ů¤Ć¤ł¤ÎĽÇĽŁĽěĽŻĽČĽę¤Ë¤˘¤ę¤Ţ¤šĄŁ
(¤ł¤ÎťŘÄę¤Ď ÄĚžď¤Î (ĚőĂí: ş˝žěĆâ¤Çưşî¤ľ¤ť¤Ę¤¤)
ĽćĄźĽś¤Ë¤Č¤Ă¤Ć¤Î /etc/namedb
¤ČĹů˛Á¤Ç¤š)ĄŁnamed-xfer
ĽĐĽ¤ĽĘĽę¤Ř¤Î (named ¤Ë¤Č¤Ă¤Ć¤Î)
ĽŐĽëĽŃĽš¤ňťŘÄꤡ¤Ţ¤šĄŁ
named ¤ĎĽÇĽŐĽŠĽëĽČ¤Ç
named-xfer ¤ň /usr/libexec
¤Ť¤éĂľ¤š¤č¤Ś¤ËĽłĽóĽŃĽ¤Ľë¤ľ¤ě¤Ć¤¤¤ë¤Î¤ÇĄ˘¤ł¤ě¤ŹÉŹÍ×¤Ç¤š¤ł¤ÎĽžĄźĽó¤ËÂФš¤ëĽžĄźĽóĽŐĽĄĽ¤Ľë¤ň
named ¤Ź¸Ť¤Ä¤ą¤é¤ě¤ë¤č¤Ś¤ËĽŐĽĄĽ¤ĽëĚž¤ň
(žĺľ¤ČĆąÍÍ¤Ë directory ¤Ť¤é¤ÎÁęÂĐĽŃĽš¤Ç)
ťŘÄꤡ¤Ţ¤šĄŁ¤ł¤ÎĽžĄźĽó¤ËÂФš¤ëĽžĄźĽóžđĘó¤ŹĽŢĽšĽżĽľĄźĽĐ¤Ť¤é¤ŹĹžÁ÷¤ľ¤ě¤ż¤˘¤Č¤ËĄ˘
named
¤ŹĽžĄźĽóĽŐĽĄĽ¤Ľë¤ÎĽłĽÔĄź¤ň˝ń¤šţ¤ŕĽŐĽĄĽ¤ĽëĚž¤ň
(žĺľ¤ČĆąÍÍ¤Ë directory ¤Ť¤é¤ÎÁęÂĐĽŃĽš¤Ç)
ťŘÄꤡ¤Ţ¤šĄŁ¤ł¤ě¤ŹĄ˘žĺľ¤Î¤č¤Ś¤ËŔßÄęĂĘłŹ¤Ç
slave ĽÇĽŁĽěĽŻĽČĽę¤Î˝ęÍźÔ¤ň
bind ¤ËĘŃšš¤š¤ëÍýÍł¤Ç¤šĄŁžĺľ¤ÎĽšĽĆĽĂĽ×¤ň´°Îť¤ˇ¤ż¤éĄ˘ĽľĄźĽĐ¤ňşĆľŻĆ°¤š¤ë¤Ť &man.syslogd.8;
¤ňşĆľŻĆ°¤ˇĄ˘&man.named.8; ¤ňľŻĆ°¤ˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ¤˝¤ÎşÝĄ˘
syslogd_flags ¤Ş¤č¤Ó
named_flags
¤Ëżˇ¤ż¤ËťŘÄꤡ¤żĽŞĽ×ĽˇĽçĽó¤ŹÍ¸ú¤Ë¤Ę¤Ă¤Ć¤¤¤ë¤ł¤Č¤ňłÎ¤Ť¤á¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ
¤ł¤ě¤Ç named
¤ňş˝žě¤Î¤Ę¤Ť¤Çưşî¤ľ¤ť¤ë¤ł¤Č¤Ź¤Ç¤¤Ć¤¤¤ë¤Ď¤ş¤Ç¤š!ĽťĽĽĺĽęĽĆĽŁBIND ¤Ď DNS ¤ÎşÇ¤â°ěČĚĹŞ¤ĘźÂÁő¤Ç¤Ď¤˘¤ę¤Ţ¤š¤ŹĄ˘
žď¤ËĽťĽĽĺĽęĽĆĽŁĚäÂę¤ňĘú¤¨¤Ć¤¤¤Ţ¤šĄŁ
ĚäÂę¤Ë¤Ę¤ęĆŔ¤ëĄ˘¤Ţ¤ż°ÍѲÄÇ˝¤ĘĽťĽĽĺĽęĽĆĽŁĽŰĄźĽë¤ŹťţĄš¤ß¤Ä¤Ť¤ę¤Ţ¤šĄŁ
¸˝şß¤ÎĽ¤ĽóĽżĄźĽÍĽĂĽČ¤Ş¤č¤Ó FreeBSD
¤ÎĽťĽĽĺĽęĽĆĽŁĚäÂę¤Ë¤Ä¤¤¤Ćžď¤ËşÇżˇ¤ÎžđĘó¤ňĆŔ¤ë¤ż¤á¤Ë
CERT ¤Ş¤č¤Ó
freebsd-security-notifications
¤ňšŘĆɤš¤ë¤Č¤č¤¤¤Ç¤ˇ¤ç¤ŚĄŁĚäÂꤏŔ¸¤¸¤ż¤Č¤ˇ¤Ć¤âĄ˘
şÇżˇ¤ÎĽ˝ĄźĽš¤Ť¤éĽÓĽëĽÉ¤ˇ¤ż named ¤ňÍѰդˇ¤Ć¤Ş¤ą¤ĐĄ˘
ĚäÂę¤Ë¤Ę¤é¤Ę¤¤¤Ť¤â¤ˇ¤ě¤Ţ¤ť¤óĄŁ¤ľ¤é¤Ę¤ëžđĘó¸ť
BIND/named ¤ÎĽŢĽËĽĺĽ˘ĽëĽÚĄźĽ¸: &man.ndc.8; &man.named.8; &man.named.conf.5;
ISC Bind
¸řź°ĽÚĄźĽ¸
BIND FAQO'Reilly
DNS and BIND 4th EditionRFC1034
- Domain Names - Concepts and Facilities
(ĽÉĽáĽ¤ĽóĚžĄ˘¤˝¤ÎłľÇ°¤Č´đČ×)RFC1035
- Domain Names - Implementation and Specification
(ĽÉĽáĽ¤ĽóĚžĄ˘¤˝¤ÎźÂÁő¤ČťĹÍÍ)TomHukins´óšĆ: NTPNTPłľŔâťţ´Ö¤ÎˇĐ˛á¤Č¤Č¤â¤ËĄ˘ĽłĽóĽÔĽĺĄźĽż¤Îťţˇ×¤Ď¤ş¤ě¤Ć¤ˇ¤Ţ¤¤¤Ź¤Á¤Ç¤šĄŁ
ťţ´Ö¤ŹˇĐ¤Ä¤ČĄ˘ĽłĽóĽÔĽĺĄźĽż¤Îťţˇ×¤ĎŔľłÎ¤Ç¤Ę¤Ż¤Ę¤Ă¤Ć¤ć¤¤Ţ¤šĄŁ
NTP (Network Time Protocol)
¤Ďťţˇ×¤ŹŔľłÎ¤Ç¤˘¤ë¤ł¤Č¤ňĘÝžÚ¤š¤ëĘýËĄ¤Î°ě¤Ä¤Ç¤šĄŁĽ¤ĽóĽżĄźĽÍĽĂĽČĽľĄźĽÓĽš¤ÎÂż¤Ż¤ĎĄ˘
ĽłĽóĽÔĽĺĄźĽż¤Îťţˇ×¤ŹŔľłÎ¤Ç¤˘¤ë¤ł¤Č¤Ë°Í¸¤ˇ¤Ć¤¤¤ë¤ŤĄ˘
¤˘¤ë¤¤¤ĎÂż¤Ż¤ňÉé¤Ă¤Ć¤¤¤Ţ¤šĄŁ
¤ż¤Č¤¨¤Đ web ĽľĄźĽĐ ¤ĎĄ˘
¤˘¤ëĽŐĽĄĽ¤Ľë¤Ź¤˘¤ëťţšď°Ęšß¤Ë˝¤Ŕľ¤ľ¤ě¤Ć¤¤¤ż¤é¤˝¤ÎĽŐĽĄĽ¤Ľë¤ňÁ÷¤Ă¤Ć¤Ű¤ˇ¤¤¤Č¤¤¤ŚÍ׾á¤ňźő¤ąźč¤ë¤Ť¤â¤ˇ¤ě¤Ţ¤ť¤óĄŁ
&man.cron.8; ¤Î¤č¤Ś¤ĘĽľĄźĽÓĽš¤Ď˝ęÄę¤Îťţ´Ö¤ËĽłĽŢĽóĽÉ¤ňźÂšÔ¤ˇ¤Ţ¤šĄŁ
ťţˇ×¤ŹŔľłÎ¤Ç¤Ę¤¤žěšçĄ˘
¤ł¤ě¤é¤ÎĽłĽŢĽóĽÉ¤Ď´üÂÔ¤ˇ¤ż¤Č¤Ş¤ę¤Ë¤ĎźÂšÔ¤ľ¤ě¤Ę¤¤¤Ť¤â¤ˇ¤ě¤Ţ¤ť¤óĄŁNTPntpdFreeBSD ¤Ď &man.ntpd.8; NTP ĽľĄźĽĐ¤ňĹëşÜ¤ˇ¤Ć¤¤¤Ţ¤šĄŁ¤ł¤ě¤ĎĄ˘
ĽŢĽˇĽó¤Îťţˇ×¤ňšç¤ď¤ť¤ë¤ż¤á¤Ëž¤Î NTP ĽľĄźĽĐ¤ËĚ䤤šç¤ď¤ť¤ň¤ˇ¤ż¤ęĄ˘
ž¤ÎĽŢĽˇĽó¤ËÂФˇ¤Ćťţšď¤ňĘ󤸤뤿¤á¤ËťČÍѤǤ¤Ţ¤šĄŁĹŹŔÚ¤Ę NTP ĽľĄźĽĐ¤ÎÁŞÂňNTPĽľĄźĽĐÁŞÂňťţšď¤ňĆą´ü¤š¤ë¤ż¤á¤ËÍřÍѤš¤ë NTP ĽľĄźĽĐ¤ňĄ˘
°ě¤Ä°Ęžĺ¸Ť¤Ä¤ą¤ëÉŹÍפʤ˘¤ę¤Ţ¤šĄŁ
ĽÍĽĂĽČĽďĄźĽŻ´ÉÍýźÔĄ˘¤Ţ¤ż¤Ď ISP ¤Ď¤ł¤ÎĚÜĹŞ¤Î¤ż¤á¤Ë
NTP ĽľĄźĽĐ¤ňŔßÄꤡ¤Ć¤¤¤ë¤Ť¤â¤ˇ¤ě¤Ţ¤ť¤ó —
ËÜĹö¤Ë¤˝¤Ś¤Ę¤Î¤ŤłÎ¤Ť¤á¤ë¤ż¤á¤ËĽÉĽĽĺĽáĽóĽČ¤ňłÎǧ¤ˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ
¤˘¤Ę¤ż¤Îśá¤Ż¤Î NTP ĽľĄźĽĐ¤ňĂľ¤ť¤ë
¸ř¤ËĽ˘ĽŻĽťĽš˛ÄÇ˝¤Ę
NTP ĽľĄźĽĐ¤ÎĽęĽšĽČ ¤Ź¤˘¤ę¤Ţ¤šĄŁ
¤É¤ÎĽľĄźĽĐ¤ňÁŞÂň¤š¤ë¤Č¤ˇ¤Ć¤âĄ˘¤˝¤ÎĽľĄźĽĐ¤ÎążąÄĽÝĽęĽˇ¤ňÍý˛ň¤ˇĄ˘
Í׾᤾¤ě¤Ć¤¤¤ë¤Ę¤éÍřÍŃľö˛Ä¤ňľá¤á¤ë¤ł¤Č¤ňËş¤ě¤Ę¤¤¤Ç¤Ż¤Ŕ¤ľ¤¤ĄŁťČÍѤˇ¤Ć¤¤¤ëĽľĄźĽĐ¤Î¤Ś¤Á¤Î¤É¤ě¤Ť¤ŹĹţĂŁÉÔÇ˝¤Ë¤Ę¤ë¤ŤĄ˘
¤˝¤Îťţˇ×¤ÎżŽÍęŔ¤ŹÄ㤤žěšçĄ˘Ěľ´Řˇ¸¤Î
NTP ĽľĄźĽĐ¤ň¤¤¤Ż¤Ä¤ŤÁŞÂň¤š¤ë¤Č¤č¤¤¤Ç¤ˇ¤ç¤ŚĄŁ
&man.ntpd.8; ¤Ďž¤ÎĽľĄźĽĐ¤Ť¤éźő¤ąźč¤Ă¤żąţĹú¤ň¸¤ŻÍřÍѤˇ¤Ţ¤š —
żŽÍę¤Ç¤¤Ę¤¤ĽľĄźĽĐ¤č¤ężŽÍę¤Ç¤¤ëĽľĄźĽĐ¤ň˝Ĺťë¤ˇ¤Ţ¤šĄŁĽŢĽˇĽó¤ÎŔßÄęNTPŔßÄę´đËÜŔßÄęntpdateĽŢĽˇĽó¤ŹľŻĆ°¤š¤ë¤Č¤¤Ŕ¤ąťţˇ×¤ňĆą´ü¤ľ¤ť¤ż¤¤žěšç¤Ď
&man.ntpdate.8; ¤ŹťČ¤¨¤Ţ¤šĄŁÉŃČˤ˺ƾŻĆ°¤ľ¤ěĄ˘
¤ż¤Ţ¤ËĆą´ü¤š¤ě¤Đ˝˝ĘŹ¤ĘĽÇĽšĽŻĽČĽĂĽ×ĽŢĽˇĽó¤Ë¤ĎĹŹŔÚ¤Ť¤â¤ˇ¤ě¤Ţ¤ť¤óĄŁ
¤ˇ¤Ť¤ˇ¤Ű¤Č¤ó¤É¤ÎĽŢĽˇĽó¤Ç¤Ď &man.ntpd.8; ¤ňźÂšÔ¤š¤ë¤Ů¤¤Ç¤šĄŁ&man.ntpd.8; ¤ňư¤Ť¤ˇ¤Ć¤¤¤ëĽŢĽˇĽó¤Ç¤âĄ˘ľŻĆ°ťţ¤Ë
&man.ntpdate.8; ¤ňťČÍѤš¤ë¤Î¤Ď¤č¤¤šÍ¤¨¤Ç¤šĄŁ
&man.ntpd.8; Ľ×ĽíĽ°ĽéĽŕ¤Ďťţˇ×¤ň˝ůĄš¤ËĘŃšš¤ˇ¤Ţ¤šĄŁ¤ˇ¤Ť¤ˇ
&man.ntpdate.8;
¤ĎŔľ¤ˇ¤¤ťţšď¤Č¸˝şßŔßÄꤾ¤ě¤Ć¤¤¤ëĽŢĽˇĽó¤Îťţšď¤Ź¤É¤ó¤Ę¤ËÎĽ¤ě¤Ć¤¤¤č¤Ś¤Č¤âťţˇ×¤ňŔßÄꤡ¤Ţ¤šĄŁľŻĆ°ťţ¤Ë &man.ntpdate.8; ¤ň͸ú¤Ë¤š¤ë¤ż¤á¤Ë¤ĎĄ˘
ntpdate_enable="YES" ¤ň
/etc/rc.conf ¤ËÄɲ䎤äݤŔ¤ľ¤¤ĄŁ
¤ľ¤é¤ËĄ˘Ćą´ü¤ˇ¤ż¤¤¤š¤Ů¤Ć¤ÎĽľĄźĽĐ¤Ş¤č¤ÓĄ˘&man.ntpdate.8;
¤ËĹĎ¤š¤˘¤é¤ć¤ëĽŐĽéĽ°¤ň ntpdate_flags
¤ËťŘÄꤚ¤ëÉŹÍפʤ˘¤ë¤Ç¤ˇ¤ç¤ŚĄŁ°ěČĚŔßÄęNTPntp.confNTP ¤Ď &man.ntp.conf.5; ¤Ëľ˝Ň¤ľ¤ě¤ż˝ńź°¤Î
/etc/ntp.conf ĽŐĽĄĽ¤Ľë¤Ë¤č¤Ă¤ĆŔßÄꤾ¤ě¤Ţ¤šĄŁ
´ĘĂą¤ĘÎă¤ň°Ę˛ź¤Ëꍤˇ¤Ţ¤šĄŁserver ntplocal.example.com prefer
server timeserver.example.org
server ntp2a.example.net
driftfile /var/db/ntp.driftserver ĽŞĽ×ĽˇĽçĽó¤ĎĄ˘
ťČÍѤš¤ëĽľĄźĽĐ¤ň°ěšÔ¤Ë°ě¤Ä¤ş¤ÄťŘÄꤡ¤Ţ¤šĄŁĽľĄźĽĐ¤Źžĺľ¤Î
ntplocal.example.com ¤Î¤č¤Ś¤Ë
prefer °úżô¤Č¤Č¤â¤ËťŘÄꤾ¤ě¤żžěšçĄ˘
¤ł¤ÎĽľĄźĽĐ¤Ďž¤ÎĽľĄźĽĐ¤č¤ęÍĽŔ褾¤ě¤Ţ¤šĄŁ
ÍĽŔ褾¤ě¤żĽľĄźĽĐ¤Ť¤é¤ÎąţĹú¤ĎĄ˘
ž¤ÎĽľĄźĽĐ¤ÎąţĹú¤ČĂř¤ˇ¤Ż°Ű¤Ę¤ëžěšç¤ĎÇË´ţ¤ľ¤ě¤Ţ¤š¤ŹĄ˘
¤˝¤Ś¤Ç¤Ę¤ą¤ě¤Đž¤ÎąţĹú¤ňšÍθ¤š¤ë¤ł¤Č¤Ę¤ŻťČÍѤľ¤ě¤Ţ¤šĄŁ
prefer °úżô¤ĎĄ˘Ä̞異
ĆĂĘ̤ʝţ´ÖĽâĽËĽżĽĎĄźĽÉĽŚĽ§Ľ˘¤ňČ÷¤¨¤Ć¤¤¤ë¤č¤Ś¤ĘČóžď¤ËŔľłÎ¤Ç¤˘¤ë¤Č¤ľ¤ě¤Ć¤¤¤ë
NTP ĽľĄźĽĐ¤ËÂФˇ¤ĆťČÍѤľ¤ě¤Ţ¤šĄŁdriftfile
ĽŞĽ×ĽˇĽçĽó¤ĎĽˇĽšĽĆĽŕťţˇ×¤ÎźţÇČżôĽŞĽŐĽťĽĂĽČ¤ňłĘÇź¤š¤ë¤ż¤á¤ËťČÍѤš¤ëĽŐĽĄĽ¤Ľë¤ňťŘÄꤡ¤Ţ¤šĄŁ
&man.ntpd.8; Ľ×ĽíĽ°ĽéĽŕ¤ĎĄ˘
ťţˇ×¤ÎźŤÁłĘŃư¤ňźŤĆ°ĹޤËĘäŔľ¤š¤ë¤ż¤á¤Ë¤ł¤ě¤ňÍѤ¤¤Ţ¤šĄŁ
¤ł¤ě¤Ë¤č¤ęĄ˘°ěÄęťţ´Öł°Éô¤ÎťţšďĽ˝ĄźĽš¤Ť¤éŔÚ¤ęÎĽ¤ľ¤ě¤ż¤Č¤ˇ¤Ć¤âĄ˘
˝˝ĘŹŔľłÎ¤Ęťţšď¤ň°Ýťý¤š¤ë¤ł¤Č¤ň˛ÄÇ˝¤Ë¤ˇ¤Ţ¤šĄŁdriftfile ĽŞĽ×ĽˇĽçĽó¤ĎĄ˘ťČÍѤˇ¤Ć¤¤¤ë NTP
ĽľĄźĽĐ¤Ť¤é˛áľî¤Ëźő¤ąźč¤Ă¤żąţĹú¤Ë´Ř¤š¤ëžđĘó¤ňłĘÇź¤š¤ë¤ż¤á¤ËĄ˘
¤É¤ÎĽŐĽĄĽ¤Ľë¤ŹťČÍѤľ¤ě¤ë¤ŤťŘÄꤡ¤Ţ¤šĄŁ
¤ł¤ÎĽŐĽĄĽ¤Ľë¤Ď NTP ¤Ë´Ř¤š¤ëĆâÉôžđĘó¤ň´Ţ¤ó¤Ç¤¤¤Ţ¤šĄŁ
¤ł¤ě¤Ďž¤ÎĽ×ĽíĽťĽš¤Ë¤č¤Ă¤Ć˝¤Ŕľ¤ľ¤ě¤Ć¤Ď¤¤¤ą¤Ţ¤ť¤óĄŁĽľĄźĽĐ¤Ř¤ÎĽ˘ĽŻĽťĽšŔЏćĽÇĽŐĽŠĽëĽČ¤Ç¤Ď NTP
ĽľĄźĽĐ¤ĎĽ¤ĽóĽżĄźĽÍĽĂĽČžĺ¤Î¤š¤Ů¤Ć¤ÎĽŰĽšĽČ¤Ť¤éĽ˘ĽŻĽťĽš¤Ź˛ÄÇ˝¤Ç¤šĄŁ
/etc/ntp.conf Ćâ¤Ç restrict
ĽŞĽ×ĽˇĽçĽó¤ňťŘÄꤚ¤ë¤ł¤Č¤Ë¤č¤Ă¤ĆĄ˘
¤É¤ÎĽŢĽˇĽó¤ŹĽľĄźĽĐ¤ËĽ˘ĽŻĽťĽš¤Ç¤¤ë¤Ť¤ňŔЏć¤Ç¤¤ë¤č¤Ś¤Ë¤ˇ¤Ţ¤šĄŁNTP ĽľĄźĽĐ¤ËĽ˘ĽŻĽťĽš¤š¤ëĽŢĽˇĽó¤Î¤š¤Ů¤Ć¤ňľńČݤˇ¤ż¤¤¤Î¤Ę¤éĄ˘
°Ę˛ź¤ÎšÔ¤ň /etc/ntp.conf
¤ËÄɲ䎤äݤŔ¤ľ¤¤ĄŁrestrict default ignore¤˘¤Ę¤ż¤ÎĽÍĽĂĽČĽďĄźĽŻĆâ¤ÎĽŢĽˇĽó¤Ë¤Ŕ¤ąĽľĄźĽĐ¤ËŔÜÂł¤ˇ¤Ćťţˇ×¤ňĆą´ü¤š¤ë¤ł¤Č¤ňǧ¤á¤ż¤¤¤ŹĄ˘
¤˝¤ě¤é¤Ť¤éĽľĄźĽĐ¤ËÂФˇ¤ĆŔßÄę¤ňšÔ¤Ś¤Î¤ňľö¤ľ¤şĄ˘
Ćą´ü¤š¤ëĂźËö¤Č¤ˇ¤Ć¤âÍřÍѤľ¤ě¤Ę¤¤¤č¤Ś¤Ë¤ˇ¤ż¤¤¤Î¤Ę¤éĄ˘
°Ę˛ź¤ň˛Ă¤¨¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁrestrict 192.168.1.0 mask 255.255.255.0 notrust nomodify notrap192.168.1.0
¤ň¤˘¤Ę¤ż¤ÎĽÍĽĂĽČĽďĄźĽŻ¤Î IP Ľ˘ĽÉĽěĽš¤Ë
255.255.255.0
¤ň¤˘¤Ę¤ż¤ÎĽÍĽĂĽČĽďĄźĽŻ¤ÎĽÍĽĂĽČĽŢĽšĽŻ¤ËĂÖ¤´š¤¨¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ/etc/ntp.conf ¤Ë¤ĎĘŁżô¤Î
restrict ĽŞĽ×ĽˇĽçĽó¤ňĂÖ¤ą¤Ţ¤šĄŁ
žÜşŮ¤ËÉŐ¤¤¤Ć¤Ď &man.ntp.conf.5; ¤Î
Access Control Support
ĽľĽÖĽťĽŻĽˇĽçĽó¤ňť˛žČ¤ˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁNTP ĽľĄźĽĐ¤ÎźÂšÔNTP ĽľĄźĽĐ¤ŹľŻĆ°ťţ¤ËźÂšÔ¤ľ¤ě¤ë¤ł¤Č¤ňĘÝžÚ¤š¤ë¤ż¤á¤ËĄ˘
xntpd_enable="YES" ¤ň
/etc/rc.conf ¤Ë˛Ă¤¨¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ
&man.ntpd.8; ¤ËĽŐĽéĽ°¤ňÄɲ䡤ż¤¤žěšç¤Ď
/etc/rc.conf Ćâ¤Î
xntpd_flags ĽŃĽéĽáĄźĽż¤ňĘÔ˝¸¤ˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁĽŢĽˇĽó¤ňşĆľŻĆ°¤š¤ë¤ł¤Č¤Ę¤ŻĽľĄźĽĐ¤ňźÂšÔ¤ˇ¤ż¤¤¤Č¤¤ĎĄ˘
/etc/rc.conf Ćâ¤Î xntpd_flags
¤ÇÄɲ侤줿ĽŃĽéĽáĄźĽż¤ň¤š¤Ů¤ĆťŘÄꤡ¤Ć
ntpd ¤ňźÂšÔ¤ˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ°Ę˛ź¤ËÎă¤ňꍤˇ¤Ţ¤šĄŁ&prompt.root; ntpd -p /var/run/ntpd.pid&os; 5.X ¤Ç¤Ď /etc/rc.conf
Ćâ¤Î¤ľ¤Ţ¤ś¤Ţ¤ĘĽŞĽ×ĽˇĽçĽó¤ÎĚžÁ°¤ŹĘѤď¤ę¤Ţ¤ˇ¤żĄŁ
¤ˇ¤ż¤Ź¤Ă¤ĆĄ˘žĺľ¤Î
xntpd ¤Ë´Ř¤š¤ëĽŞĽ×ĽˇĽçĽó¤Ď
ntpd ¤ËĂÖ¤´š¤¨¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ°ěťţĹŞ¤ĘĽ¤ĽóĽżĄźĽÍĽĂĽČŔÜÂł¤Ç ntpd ¤ňťČÍѤš¤ë&man.ntpd.8; Ľ×ĽíĽ°ĽéĽŕ¤ĎŔľ¤ˇ¤ŻľĄÇ˝¤š¤ë¤ż¤á¤ËĄ˘
Ľ¤ĽóĽżĄźĽÍĽĂĽČ¤Ř¤ÎžďťţŔÜÂł¤ňÉŹÍפȤˇ¤Ţ¤ť¤óĄŁ¤ˇ¤Ť¤ˇ¤Ę¤Ź¤éĄ˘
ĽŞĽóĽÇĽŢĽóĽÉ¤ÇĽŔĽ¤Ľ˘ĽëĽ˘ĽĂĽ×¤ľ¤ě¤ë¤č¤Ś¤ËŔßÄꤾ¤ě¤ż°ěťţĹŞ¤ĘŔÜÂł¤ÎžěšçĄ˘
NTP ĽČĽéĽŐĽŁĽĂĽŻ¤ŹĽŔĽ¤Ľ˘Ľë¤ň°ú¤ľŻ¤ł¤ˇ¤ż¤ęĄ˘
ŔÜÂł¤ň°Ýťý¤ˇÂł¤ą¤ë¤č¤Ś¤Ę¤ł¤Č¤ňČň¤ą¤ë¤č¤Ś¤Ë¤ˇ¤żĘý¤Ź¤č¤¤¤Ç¤ˇ¤ç¤ŚĄŁ
ĽćĄźĽś PPP ¤ňťČÍѤˇ¤Ć¤¤¤ëžěšçĄ˘°Ę˛ź¤ÎÎă¤Î¤č¤Ś¤Ë
/etc/ppp/ppp.conf Ćâ¤Ç
filter ĽÇĽŁĽěĽŻĽĆĽŁĽÖ¤ŹťČÍѤǤ¤Ţ¤šĄŁ set filter dial 0 deny udp src eq 123
# Prevent NTP traffic from initiating dial out
set filter dial 1 permit 0 0
set filter alive 0 deny udp src eq 123
# Prevent incoming NTP traffic from keeping the connection open
set filter alive 1 deny udp dst eq 123
# Prevent outgoing NTP traffic from keeping the connection open
set filter alive 2 permit 0/0 0/0žÜşŮ¤Ë¤Ä¤¤¤Ć¤Ď &man.ppp.8; Ćâ¤Î PACKET FILTERING
ĽťĽŻĽˇĽçĽóĄ˘¤Ş¤č¤Ó /usr/share/examples/ppp/
Ćâ¤ÎÎă¤ňť˛žČ¤ˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁžŽ¤ľ¤¤ČÖšć¤ÎĽÝĄźĽČ¤ňĽÖĽíĽĂĽŻ¤š¤ëĽ¤ĽóĽżĄźĽÍĽĂĽČĽ˘ĽŻĽťĽšĽ×ĽíĽĐĽ¤ĽŔ¤Ç¤ĎĄ˘
ąţĹú¤Ź¤˘¤Ę¤ż¤ÎĽŢĽˇĽó¤ËĹţĂŁ¤ˇ¤Ę¤¤¤Î¤Ç
NTP ¤Ź¤¤Á¤ó¤Čưşî¤ˇ¤Ę¤¤žěšç¤â¤˘¤ę¤Ţ¤šĄŁ¤ľ¤é¤Ę¤ëžđĘó¸ťNTP ĽľĄźĽĐ¤Ë´Ř¤š¤ëʸ˝ń¤Ď HTML ˇÁź°¤Ç
/usr/share/doc/ntp/ ¤Ë¤˘¤ę¤Ţ¤šĄŁChernLee´óšĆ: ĽÍĽĂĽČĽďĄźĽŻĽ˘ĽÉĽěĽšĘŃ´š (NAT)łľÍ×natd°ěČĚ¤Ë &man.natd.8; ¤Č¤ˇ¤ĆĂΤé¤ě¤Ć¤¤¤ë FreeBSD
ĽÍĽĂĽČĽďĄźĽŻĽ˘ĽÉĽěĽšĘŃ´šĽÇĄźĽâĽó¤ĎĄ˘
raw IP ĽŃĽąĽĂĽČ¤ňźőżŽ¤ˇ¤ĆĄ˘
Ľ˝ĄźĽšĽ˘ĽÉĽěĽš¤ňĽíĄźĽŤĽëĽŢĽˇĽó¤ËĘŃšš¤ˇĄ˘
¤˝¤ÎĽŃĽąĽĂĽČ¤ňł°¸ţ¤¤Î IP ĽŃĽąĽĂĽČ¤ÎÎŽ¤ě¤ËşĆĂíĆţ¤š¤ëĽÇĄźĽâĽó¤Ç¤šĄŁ
&man.natd.8; ¤ĎĄ˘
ĽÇĄźĽż¤ŹĚá¤Ă¤Ć¤¤ż¤Č¤¤ËĄ˘ĽÇĄźĽż¤ÎËÜÍč¤Îžě˝ę¤ňČ˝Ę̤ˇĄ˘
¤â¤Č¤â¤ČÍ׾ᤡ¤żÁęźę¤ŘĽÇĄźĽż¤ňĘÖ¤š¤ł¤Č¤Ź¤Ç¤¤ë¤č¤Ś¤ËĽ˝ĄźĽš IP
Ľ˘ĽÉĽěĽš¤ČĽÝĄźĽČ¤ňĘŃšš¤ˇ¤Ţ¤šĄŁĽ¤ĽóĽżĄźĽÍĽĂĽČŔÜÂłśŚÍIP ĽŢĽšĽŤĽěĄźĽÉNAT ¤ÎşÇ¤â°ěČĚĹŞ¤ĘťČÍŃËĄ¤ĎĄ˘
°ěČĚĹŞ¤Ë¤ĎĽ¤ĽóĽżĄźĽÍĽĂĽČŔÜÂłśŚÍ¤Č¤ˇ¤ĆĂΤé¤ě¤Ć¤¤¤ë¤â¤Î¤ňźÂšÔ¤š¤ë¤ł¤Č¤Ç¤šĄŁŔßÄęIPv4 ¤Î IP śő´Ö¤ŹÂ¤ę¤Ę¤Ż¤Ę¤ę¤Ä¤Ä¤˘¤ë¤ł¤ČĄ˘¤Ş¤č¤ÓĄ˘
ĽąĄźĽÖĽë¤ä DSL ¤Î¤č¤Ś¤ĘšâÂŽ¤Î˛ĂĆţźÔ˛óŔţÍřÍŃźÔ¤ÎÁý˛Ă¤Ë¤č¤Ă¤ĆĄ˘
żÍĄš¤Ď¤Ţ¤š¤Ţ¤šĽ¤ĽóĽżĄźĽÍĽĂĽČŔÜÂł¤ňśŚÍ¤š¤ëźęĂʤňÉŹÍפȤˇ¤Ć¤¤¤Ţ¤šĄŁ
°ě¤Ä¤ÎŔÜÂł¤Ş¤č¤Ó
IP Ľ˘ĽÉĽěĽš¤ňÄ̤ˇ¤Ć¤¤¤Ż¤Ä¤â¤ÎĽłĽóĽÔĽĺĄźĽż¤ň˛óŔţ¤ËŔÜÂł¤š¤ëÇ˝ÎĎ¤Ź¤˘¤ë
&man.natd.8; ¤ŹšçÍýĹŞ¤ĘÁŞÂň¤Ë¤Ę¤ę¤Ţ¤šĄŁ¤â¤Ă¤Č¤â¤č¤Ż¤˘¤ë¤Î¤ĎĄ˘ĽćĄźĽś¤Ź 1 ¤Ä¤Î
IP Ľ˘ĽÉĽěĽš¤ÇĽąĄźĽÖĽë¤Ţ¤ż¤Ď DSL ˛óŔţ¤ËŔÜÂł¤ľ¤ě¤żĽŢĽˇĽó¤ňťý¤Ă¤Ć¤Ş¤ęĄ˘
Ľ¤ĽóĽżĄźĽÍĽĂĽČ¤Ř¤ÎĽ˘ĽŻĽťĽš¤ň
LAN ˇĐÍł¤Ç¤¤¤Ż¤Ä¤Ť¤ÎĽłĽóĽÔĽĺĄźĽż¤ËÄ󜥤š¤ë¤Î¤ËĄ˘
¤ł¤ÎŔÜÂł¤ľ¤ě¤żĽłĽóĽÔĽĺĄźĽż¤ňťČÍѤˇ¤ż¤¤¤Č¤¤¤Śžěšç¤Ç¤šĄŁ¤˝¤Î¤ż¤á¤Ë¤ĎĄ˘Ľ¤ĽóĽżĄźĽÍĽĂĽČ¤ËŔÜÂł¤ľ¤ě¤Ć¤¤¤ë FreeBSD
ĽŢĽˇĽó¤ĎĽ˛ĄźĽČĽŚĽ§Ľ¤¤Č¤ˇ¤Ćưşî¤ˇ¤Ę¤ą¤ě¤Đ¤Ę¤ę¤Ţ¤ť¤óĄŁ
¤ł¤ÎĽ˛ĄźĽČĽŚĽ§Ľ¤ĽŢĽˇĽó¤Ď 2 ¤Ä¤Î NIC ¤ŹÉŹÍפǤš
(1 ¤Ä¤ĎĽ¤ĽóĽżĄźĽÍĽĂĽČĽëĄźĽż¤ŘŔÜÂł¤š¤ë¤ż¤á¤ÇĄ˘¤â¤Ś 1 ¤Ä¤Ď
LAN ¤ËŔÜÂł¤š¤ë¤ż¤á¤Ç¤š)ĄŁ
LAN žĺ¤Î¤š¤Ů¤Ć¤ÎĽŢĽˇĽó¤ĎĽĎĽÖ¤Ţ¤ż¤ĎĽšĽ¤ĽĂĽÁ¤ňÄ̤ˇ¤ĆŔÜÂł¤ľ¤ě¤Ţ¤šĄŁ _______ __________ ________
| | | | | |
| Hub |-----| Client B |-----| Router |----- Internet
|_______| |__________| |________|
|
____|_____
| |
| Client A |
|__________|ĽÍĽĂĽČĽďĄźĽŻĽěĽ¤Ľ˘ĽŚĽČĽ¤ĽóĽżĄźĽÍĽĂĽČŔÜÂł¤ňśŚÍ¤š¤ë¤ż¤á¤ËĄ˘
¤ł¤Î¤č¤Ś¤ĘŔßÄꤏ¤č¤ŻťČÍѤľ¤ě¤Ć¤¤¤Ţ¤šĄŁ
LAN Ćâ¤ÎĽŢĽˇĽó¤Î
1 Â椏Ľ¤ĽóĽżĄźĽÍĽĂĽČ¤ËŔÜÂł¤ˇ¤Ć¤¤¤Ţ¤šĄŁ
ťÄ¤ę¤ÎĽŢĽˇĽó¤Ď¤˝¤Î Ľ˛ĄźĽČĽŚĽ§Ľ¤
ĽŢĽˇĽó¤ňÄ̤ˇ¤ĆĽ¤ĽóĽżĄźĽÍĽĂĽČ¤ËĽ˘ĽŻĽťĽš¤ˇ¤Ţ¤šĄŁŔßÄ꼍ĄźĽÍĽëŔßÄ꟥¤ÎĽŞĽ×ĽˇĽçĽó¤ŹĽŤĄźĽÍĽëĽłĽóĽŐĽŁĽŽĽĺĽěĄźĽˇĽçĽóĽŐĽĄĽ¤Ľë¤ËÉŹÍפǤšĄŁoptions IPFIREWALL
options IPDIVERT¤ľ¤é¤ËĄ˘źĄ¤ÎĽŞĽ×ĽˇĽçĽó¤ňĆţ¤ě¤Ć¤â¤č¤¤¤Ç¤ˇ¤ç¤ŚĄŁoptions IPFIREWALL_DEFAULT_TO_ACCEPT
options IPFIREWALL_VERBOSE˛źľ¤ÎŔßÄę¤ň /etc/rc.conf
¤ÇšÔ¤ď¤Ę¤ą¤ě¤Đ¤Ę¤ę¤Ţ¤ť¤óĄŁgateway_enable="YES"
firewall_enable="YES"
firewall_type="OPEN"
natd_enable="YES"
natd_interface="fxp0"
natd_flags=""gateway_enable="YES"ĽŢĽˇĽó¤ŹĽ˛ĄźĽČĽŚĽ§Ľ¤¤Č¤ˇ¤Ćưşî¤š¤ë¤č¤Ś¤ËŔßÄꤡ¤Ţ¤šĄŁ
sysctl net.inet.ip.forwarding=1
ĽłĽŢĽóĽÉ¤ňźÂšÔ¤ˇ¤Ć¤âĆą¤¸¸ú˛Ě¤Ź¤¨¤é¤ě¤Ţ¤šĄŁfirewall_enable="YES"/etc/rc.firewall
¤Ë¤˘¤ëĽŐĽĄĽ¤Ľ˘ĽŚĽŠĄźĽëĽëĄźĽë¤ňľŻĆ°ťţ¤Ë͸ú¤Ë¤ˇ¤Ţ¤šĄŁfirewall_type="OPEN"¤ł¤ě¤Ď¤˘¤é¤Ť¤¸¤áÄęľÁ¤ľ¤ě¤Ć¤¤¤ëĄ˘
¤š¤Ů¤Ć¤ÎĽŃĽąĽĂĽČ¤ňÄ̤šĽŐĽĄĽ¤Ľ˘ĽŚĽŠĄźĽëĽëĄźĽëĽťĽĂĽČ¤ňťŘÄꤡ¤Ţ¤šĄŁ
ž¤ÎĽżĽ¤Ľ×¤Ë¤Ä¤¤¤Ć¤Ď /etc/rc.firewall
¤ňť˛žČ¤ˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁnatd_interface="fxp0"ĽŃĽąĽĂĽČ¤ňĹžÁ÷¤š¤ëĽ¤ĽóĽżĽŐĽ§ĄźĽš¤ňťŘÄꤡ¤Ţ¤š
(Ľ¤ĽóĽżĄźĽÍĽĂĽČ¤ËŔÜÂł¤ľ¤ě¤żĽ¤ĽóĽżĽŐĽ§ĄźĽš)ĄŁnatd_flags=""ľŻĆ°ťţ¤Ë &man.natd.8; ¤ËĹϤľ¤ě¤ëÄɲäΰúżô/etc/rc.conf
¤ËÁ°˝Ň¤ˇ¤żĽŞĽ×ĽˇĽçĽó¤ňÄęľÁ¤š¤ë¤ČĄ˘ľŻĆ°ťţ¤Ë
natd -interface fxp0 ¤ŹźÂšÔ¤ľ¤ě¤Ţ¤šĄŁ
¤ł¤ě¤Ďźęư¤Ç¤âźÂšÔ¤Ç¤¤Ţ¤šĄŁĽŞĽ×ĽˇĽçĽó¤ÎÄęľÁ¤Ë &man.natd.8;
¤ÎĽłĽóĽŐĽŁĽ°ĽěĄźĽˇĽçĽóĽŐĽĄĽ¤Ľë¤ňťČ¤Ś¤ł¤Č¤â¤Ç¤¤Ţ¤šĄŁ
¤ł¤Îžěšç¤Ë¤ĎĄ˘/etc/rc.conf ¤Ë°Ę˛ź¤ÎšÔ¤ňÄɲ䡥˘
ĽłĽóĽŐĽŁĽ°ĽěĄźĽˇĽçĽóĽŐĽĄĽ¤Ľë¤ňÄęľÁ¤ˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁnatd_flags="-f /etc/natd.conf"/etc/natd.conf
ĽŐĽĄĽ¤Ľë¤Ç¤ĎĄ˘°ěšÔ¤´¤Č¤ËĽŞĽ×ĽˇĽçĽó¤ňŔßÄꤡ¤Ţ¤šĄŁ¤ż¤Č¤¨¤ĐĄ˘
źĄŔá¤ÎÎă¤Ç¤Ď°Ę˛ź¤Î¤č¤Ś¤ĘšÔ¤ň´Ţ¤ŕĽŐĽĄĽ¤Ľë¤ňÍѰդˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁredirect_port tcp 192.168.0.2:6667 6667
redirect_port tcp 192.168.0.3:80 80ĽłĽóĽŐĽŁĽ°ĽěĄźĽˇĽçĽóĽŐĽĄĽ¤Ľë¤Ë´Ř¤š¤ëĄ˘¤č¤ęžÜşŮ¤ĘžđĘó¤Ë¤Ä¤¤¤Ć¤ĎĄ˘
&man.natd.8; ĽŢĽËĽĺĽ˘ĽëĽÚĄźĽ¸¤Î
ĽŞĽ×ĽˇĽçĽó¤ňÄ´¤Ů¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁLAN ¤Ë¤Ö¤é˛ź¤Ź¤Ă¤Ć¤¤¤ëĽŢĽˇĽó¤Ş¤č¤ÓĽ¤ĽóĽżĽŐĽ§ĄźĽš¤Î¤˝¤ě¤ž¤ě¤Ë¤Ď
RFC 1918
¤ÇÄęľÁ¤ľ¤ě¤Ć¤¤¤ëĽ×ĽéĽ¤ĽŮĄźĽČĽÍĽĂĽČĽďĄźĽŻśő´Ö¤Î
IP Ľ˘ĽÉĽěĽšČÖšć¤ňłä¤ęĹö¤ĆĄ˘ĽÇĽŐĽŠĽëĽČĽ˛ĄźĽČĽŚĽ§Ľ¤Ľ˘ĽÉĽěĽš¤ň
natd ĽŢĽˇĽó¤ÎĆâÂŚ¤Î
IP Ľ˘ĽÉĽěĽš¤Ë¤š¤Ů¤¤Ç¤šĄŁ¤ż¤Č¤¨¤Đ LAN ÂŚ¤ÎĽŻĽéĽ¤Ľ˘ĽóĽČ
A ¤Ş¤č¤Ó B ¤Ď
IP Ľ˘ĽÉĽěĽš 192.168.0.2 ¤Ş¤č¤Ó
192.168.0.3 ¤ňłä¤ęĹö¤Ć¤é¤ě¤Ć¤Ş¤ęĄ˘
natd ĽŢĽˇĽó¤Î LAN Ľ¤ĽóĽżĽŐĽ§ĄźĽš¤Ď IP Ľ˘ĽÉĽěĽš
192.168.0.1
¤ňłä¤ęĹö¤Ć¤é¤ě¤Ć¤¤¤Ţ¤šĄŁ
ĽŻĽéĽ¤Ľ˘ĽóĽČ A ¤Ş¤č¤Ó B
¤ÎĽÇĽŐĽŠĽëĽČĽ˛ĄźĽČĽŚĽ§Ľ¤¤Ď natd
ĽŢĽˇĽó¤Î 192.168.0.1
¤ËŔßÄꤾ¤ě¤Ę¤ą¤ě¤Đ¤Ę¤ę¤Ţ¤ť¤óĄŁ
natd ĽŢĽˇĽó¤Îł°ÉôĄ˘
¤Ţ¤ż¤ĎĽ¤ĽóĽżĄźĽÍĽĂĽČĽ¤ĽóĽżĽŐĽ§ĄźĽš¤Ď &man.natd.8;
¤Îưşî¤ËşÝ¤ˇ¤ĆĆĂĘ̤ν¤Ŕľ¤ňÉŹÍפȤˇ¤Ţ¤ť¤óĄŁĽÝĄźĽČĹžÁ÷&man.natd.8; ¤ÎĂť˝ę¤ĎĄ˘Ľ¤ĽóĽżĄźĽÍĽĂĽČ¤Ť¤é
LAN Ćâ¤ÎĽŻĽéĽ¤Ľ˘ĽóĽČ¤ËĽ˘ĽŻĽťĽš¤Ç¤¤Ę¤¤¤Č¤¤¤Ś¤ł¤Č¤Ç¤šĄŁ
LAN Ćâ¤ÎĽŻĽéĽ¤Ľ˘ĽóĽČ¤Ďł°Éô¤Ë¸ţ¤ą¤ĆŔÜÂł¤ňšÔ¤Ś¤ł¤Č¤Ď¤Ç¤¤Ţ¤š¤ŹĄ˘
Ćţ¤Ă¤ĆÍč¤ë¤â¤Î¤ňźő¤ąźč¤ë¤ł¤Č¤Ź¤Ç¤¤Ţ¤ť¤óĄŁ¤ł¤ě¤ĎĄ˘LAN
ĽŻĽéĽ¤Ľ˘ĽóĽČ¤Î¤É¤ě¤Ť¤ÇĽ¤ĽóĽżĄźĽÍĽĂĽČĽľĄźĽÓĽš¤ňư¤Ť¤˝¤Ś¤Č¤ˇ¤żžěšç¤ËĄ˘
ĚäÂę¤Ë¤Ę¤ę¤Ţ¤šĄŁ¤ł¤ě¤ň˛ż¤Č¤Ť¤š¤ëĂą˝ă¤ĘĘýËĄ¤Ď
natd ĽŢĽˇĽó¤Ť¤é LAN ĽŻĽéĽ¤Ľ˘ĽóĽČ¤ŘĄ˘
ÁŞÂň¤ˇ¤żĽ¤ĽóĽżĄźĽÍĽĂĽČĽÝĄźĽČ¤ňĹžÁ÷¤š¤ë¤ł¤Č¤Ç¤šĄŁ¤ż¤Č¤¨¤ĐĽŻĽéĽ¤Ľ˘ĽóĽČ A ¤ÇźÂšÔ¤ľ¤ě¤Ć¤¤¤ë
IRC ĽľĄźĽĐ¤Ź¤˘¤ęĄ˘
ĽŻĽéĽ¤Ľ˘ĽóĽČ B žĺ¤ÇźÂšÔ¤ľ¤ě¤Ć¤¤¤ë
web ĽľĄźĽĐ¤Ź¤˘¤ë¤Č¤ˇ¤Ţ¤šĄŁ
¤ł¤ě¤ŹŔľ¤ˇ¤ŻĆ°şî¤š¤ë¤Ë¤ĎĄ˘ĽÝĄźĽČ 6667 (IRC) ¤Ş¤č¤Ó 80 (web)
¤Ř¤ÎŔÜÂł¤ňÂĐąţ¤š¤ëĽŢĽˇĽó¤ËĹžÁ÷¤ˇ¤Ę¤ą¤ě¤Đ¤Ę¤ę¤Ţ¤ť¤óĄŁ ¤ËĹŹŔÚ¤ĘĽŞĽ×ĽˇĽçĽó¤ň˛Ă¤¨¤Ć
&man.natd.8; ¤ËĹϤľ¤Ę¤ą¤ě¤Đ¤Ę¤ę¤Ţ¤ť¤óĄŁ
˝ńź°¤Ď°Ę˛ź¤Î¤Č¤Ş¤ę¤Ç¤šĄŁ -redirect_port proto targetIP:targetPORT[-targetPORT]
[aliasIP:]aliasPORT[-aliasPORT]
[remoteIP[:remotePORT[-remotePORT]]]žĺľ¤ÎÎă¤Ç¤ĎĄ˘°úżô¤Ď°Ę˛ź¤Î¤č¤Ś¤Ë¤ˇ¤Ţ¤šĄŁ -redirect_port tcp 192.168.0.2:6667 6667
-redirect_port tcp 192.168.0.3:80 80¤ł¤ě¤ÇĹŹŔÚ¤Ę tcp ĽÝĄźĽČ¤Ź
LAN ĽŻĽéĽ¤Ľ˘ĽóĽČĽŢĽˇĽó¤ËĹžÁ÷¤ľ¤ě¤Ţ¤šĄŁ
°úżô¤Ď¸ÄĄš¤ÎĽÝĄźĽČ¤ňÂĐąţ¤ľ¤ť¤ëĽÝĄźĽČČϰϤňꍤš¤Î¤ËťČ¤¨¤Ţ¤šĄŁ
¤ż¤Č¤¨¤Đ tcp 192.168.0.2:2000-3000 2000-3000
¤Ď 2000 ČÖ¤Ť¤é 3000ČÖĽÝĄźĽČ¤Ëźő¤ąźč¤é¤ě¤ż¤š¤Ů¤Ć¤ÎŔÜÂł¤ňĄ˘
ĽŻĽéĽ¤Ľ˘ĽóĽČ A žĺ¤Î
2000 ČÖ¤Ť¤é 3000 ČÖ¤ËĹžÁ÷¤ˇ¤Ţ¤šĄŁ¤ł¤ě¤é¤ÎĽŞĽ×ĽˇĽçĽó¤Ď &man.natd.8; ¤ňÄžŔܟšԤš¤ë¤ŤĄ˘
/etc/rc.conf Ćâ¤Î
natd_flags="" ĽŞĽ×ĽˇĽçĽó¤ÇŔßÄꤚ¤ë¤ŤĄ˘
¤â¤ˇ¤Ż¤ĎĽłĽóĽŐĽŁĽ°ĽěĄźĽˇĽçĽóĽŐĽĄĽ¤Ľë¤Ť¤éĹϤˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁŔßÄ꼪Ľ×ĽˇĽçĽó¤ÎžÜşŮ¤Ë¤Ä¤¤¤Ć¤Ď
&man.natd.8; ¤ň¤´Í÷¤Ż¤Ŕ¤ľ¤¤ĄŁĽ˘ĽÉĽěĽšĹžÁ÷Ľ˘ĽÉĽěĽšĹžÁ÷ĘŁżô¤Î IP Ľ˘ĽÉĽěĽš¤ŹÍřÍѲÄÇ˝¤Ç¤š¤ŹĄ˘
¤˝¤ě¤é¤Ź 1 Âć¤ÎĽŢĽˇĽóžĺ¤Ë¤Ę¤ą¤ě¤Đ¤Ę¤é¤Ę¤¤¤Č¤¤Ë¤ĎĄ˘
Ľ˘ĽÉĽěĽšĹžÁ÷¤ŹĘŘÍř¤Ç¤šĄŁ
¤ł¤ě¤ňÍѤ¤¤ě¤Đ &man.natd.8; ¤Ď LAN ĽŻĽéĽ¤Ľ˘ĽóĽČ¤Î¤˝¤ě¤ž¤ě¤Ëł°Éô
IP Ľ˘ĽÉĽěĽš¤ňłä¤ęĹö¤Ć¤ë¤ł¤Č¤Ź¤Ç¤¤Ţ¤šĄŁ
&man.natd.8; ¤Ď LAN
ĽŻĽéĽ¤Ľ˘ĽóĽČ¤Ť¤éł°Éô¤Ř˝Đ¤ĆšÔ¤ŻĽŃĽąĽĂĽČ¤ňĹŹŔڤʳ°Éô¤Î
IP Ľ˘ĽÉĽěĽš¤Ç˝ń¤Äž¤ˇĄ˘
¤˝¤ˇ¤ĆĆĂÄę¤Î IP Ľ˘ĽÉĽěĽš¤ËÂФˇ¤Ć¤ä¤Ă¤ĆÍč¤ëĽČĽéĽŐĽŁĽĂĽŻ¤Î¤š¤Ů¤Ć¤ňĄ˘
ťŘÄꤾ¤ě¤ż LAN ĽŻĽéĽ¤Ľ˘ĽóĽČ¤ËĹžÁ÷¤ˇ¤Ţ¤šĄŁ
¤ł¤ě¤ĎŔĹĹŞ NAT ¤Č¤ˇ¤Ć¤âĂΤé¤ě¤Ć¤¤¤Ţ¤šĄŁ
¤ż¤Č¤¨¤Đ 128.1.1.1,
128.1.1.2 ¤Ş¤č¤Ó
128.1.1.3 ¤Î IP Ľ˘ĽÉĽěĽš¤ŹĄ˘
natd
Ľ˛ĄźĽČĽŚĽ§Ľ¤ĽŢĽˇĽó¤Ë°¤ˇ¤Ć¤¤¤ë¤Č¤ˇ¤Ţ¤šĄŁ
128.1.1.2 ¤Ş¤č¤Ó
128.1.1.3 ¤Ď
LAN ĽŻĽéĽ¤Ľ˘ĽóĽČ¤Î A ¤Ş¤č¤Ó B
¤ËĹžÁ÷¤ľ¤ě¤ë°ěĘý¤ÇĄ˘128.1.1.1 ¤Ď
natd Ľ˛ĄźĽČĽŚĽ§Ľ¤ĽŢĽˇĽó¤Îł°Éô
IP Ľ˘ĽÉĽěĽš¤Č¤ˇ¤ĆťČÍѤš¤ë¤ł¤Č¤Ź¤Ç¤¤Ţ¤šĄŁ ¤Î˝ńź°¤Ď°Ę˛ź¤Î¤Č¤Ş¤ę¤Ç¤šĄŁ-redirect_address localIP publicIPlocalIPLAN ĽŻĽéĽ¤Ľ˘ĽóĽČ¤ÎĆâÉô IP Ľ˘ĽÉĽěĽšpublicIPLAN ĽŻĽéĽ¤Ľ˘ĽóĽČ¤ËÂĐąţ¤š¤ëł°Éô IP Ľ˘ĽÉĽěĽšžĺľ¤ÎÎă¤Ç¤Ď°úżô¤Ď°Ę˛ź¤Î¤č¤Ś¤Ë¤Ę¤ę¤Ţ¤šĄŁ-redirect_address 192.168.0.2 128.1.1.2
-redirect_address 192.168.0.3 128.1.1.3 ¤ČĆąÍͤ˥˘¤ł¤ě¤é¤Î°úżô¤Ď
/etc/rc.conf Ćâ¤Î
natd_flags="" ĽŞĽ×ĽˇĽçĽó¤ÇŔßÄꤚ¤ë¤ŤĄ˘
ĽłĽóĽŐĽŁĽ°ĽěĄźĽˇĽçĽóĽŐĽĄĽ¤Ľë¤Ť¤éĹĎ¤š¤ł¤Č¤ÇťŘÄę¤Ç¤¤Ţ¤šĄŁ
Ľ˘ĽÉĽěĽšĹžÁ÷¤Ç¤ĎĄ˘
ĆĂÄę¤Î IP Ľ˘ĽÉĽěĽš¤Çźő¤ąźč¤é¤ě¤żĽÇĄźĽż¤Ď¤š¤Ů¤ĆĹžÁ÷¤ľ¤ě¤ë¤Î¤ÇĄ˘
port ĹžÁ÷¤ĎÉŹÍפ˘¤ę¤Ţ¤ť¤óĄŁnatd ĽŢĽˇĽóžĺ¤Îł°Éô IP Ľ˘ĽÉĽěĽš¤ĎĄ˘
Ľ˘ĽŻĽĆĽŁĽÖ¤Çł°ÉôĽ¤ĽóĽżĽŐĽ§ĄźĽš¤ËĽ¨Ľ¤ĽęĽ˘Ľš¤ľ¤ě¤Ć¤¤¤Ę¤ą¤ě¤Đ¤Ę¤ę¤Ţ¤ť¤óĄŁ
¤ä¤ę¤Ť¤ż¤Ď &man.rc.conf.5; ¤ňť˛žČ¤ˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁChernLee´óšĆ: inetdĽšĄźĽŃĽľĄźĽĐłľ´Ń&man.inetd.8; ¤ĎĘŁżô¤ÎĽÇĄźĽâĽó¤ËÂФš¤ëŔÜÂł¤ňŔŠ¸ć¤š¤ë¤Î¤ÇĄ˘
Ľ¤ĽóĽżĄźĽÍĽĂĽČĽšĄźĽŃĽľĄźĽĐ ¤Č¸Ć¤Đ¤ě¤Ţ¤šĄŁ
ĽÍĽĂĽČĽďĄźĽŻĽľĄźĽÓĽš¤ňÄ󜥤š¤ëĽ×ĽíĽ°ĽéĽŕ¤ĎĄ˘
°ěČĚĹŞ¤ËĽÇĄźĽâĽó¸Ć¤Đ¤ě¤Ţ¤šĄŁinetd
¤Ďž¤ÎĽÇĄźĽâĽó¤ň´ÉÍý¤š¤ëĽľĄźĽĐ¤ňĹؤá¤Ţ¤šĄŁ
ŔÜÂł¤Ź inetd ¤Ë¤č¤Ă¤Ćźő¤ąÉŐ¤ą¤é¤ě¤ë¤ČĄ˘
inetd
¤ĎŔÜÂł¤Ź¤É¤ÎĽÇĄźĽâĽó¤ËÂФš¤ë¤â¤Î¤ŤČ˝ĂǤˇ¤ĆĄ˘
¤˝¤ÎĽÇĄźĽâĽó¤ňľŻĆ°¤ˇĄ˘Ľ˝ĽąĽĂĽČ¤ňĹϤˇ¤Ţ¤šĄŁ
inetd ¤ň 1 ¤ÄźÂšÔ¤š¤ë¤ł¤Č¤Ë¤č¤ęĄ˘
¤˝¤ě¤ž¤ě¤ÎĽÇĄźĽâĽó¤ňĽšĽżĽóĽÉĽ˘ĽíĽóĽâĄźĽÉ¤ÇźÂšÔ¤š¤ë¤ł¤Č¤ËČć¤ŮĄ˘
Á´ÂΤȤˇ¤Ć¤ÎĽˇĽšĽĆĽŕÉé˛Ů¤ň¸ş¤é¤ˇ¤Ţ¤šĄŁ´đËÜĹŞ¤ËĄ˘inetd
¤Ďž¤ÎĽÇĄźĽâĽó¤ňľŻĆ°¤š¤ë¤ż¤á¤ËťČÍѤľ¤ě¤Ţ¤šĄŁ¤ˇ¤Ť¤ˇĄ˘
chargen, auth
¤Ş¤č¤Ó daytime
¤Î¤č¤Ś¤Ę¤ľ¤ľ¤¤¤ĘĽ×ĽíĽČĽłĽë¤ĎÄžŔܰˇ¤ď¤ě¤Ţ¤šĄŁ¤ł¤ÎŔá¤Ç¤ĎĽłĽŢĽóĽÉĽéĽ¤ĽóĽŞĽ×ĽˇĽçĽó¤Ş¤č¤ÓŔßÄęĽŐĽĄĽ¤Ľë
/etc/inetd.conf ¤Ë¤č¤ë
inetd ¤ÎŔßÄę¤Î´đËܤňŔâĚŔ¤ˇ¤Ţ¤šĄŁŔßÄęinetd ¤Ď
/etc/rc.conf ¤ÎťĹÁȤˤč¤Ă¤Ć˝é´ü˛˝¤ľ¤ě¤Ţ¤šĄŁ
ĽÇĽŐĽŠĽëĽČ¤Ç¤Ď inetd_enable ĽŞĽ×ĽˇĽçĽó¤Ď
NO ¤ËŔßÄꤾ¤ě¤Ć¤¤¤Ţ¤šĄŁ
¤ˇ¤Ť¤ˇÂż¤Ż¤ÎžěšçĄ˘sysinstall
¤ÇĽťĽĽĺĽęĽĆĽŁĽ×ĽíĽŐĽĄĽ¤Ľë¤ň
medium ¤ËŔßÄꤚ¤ë¤ł¤Č¤Ë¤č¤ęĄ˘Í¸ú˛˝¤ľ¤ě¤Ţ¤šĄŁ
inetd_enable="YES" ¤Ţ¤ż¤Ď
inetd_enable="NO" ¤ň
/etc/rc.conf ¤ËĂ֤ݤł¤Č¤ÇĄ˘ľŻĆ°ťţ¤Ë
inetd ¤ň͸ú¤Ţ¤ż¤ĎĚľ¸ú¤Ë¤Ç¤¤Ţ¤šĄŁ¤ľ¤é¤Ë inetd_flags ĽŞĽ×ĽˇĽçĽó¤Ë¤č¤Ă¤ĆĄ˘
¤¤¤í¤¤¤í¤ĘĽłĽŢĽóĽÉĽéĽ¤ĽóĽŞĽ×ĽˇĽçĽó¤ň
inetd ¤ËĹĎ¤š¤ł¤Č¤Ź¤Ç¤¤Ţ¤šĄŁĽłĽŢĽóĽÉĽéĽ¤ĽóĽŞĽ×ĽˇĽçĽóinetd ˝ńź°-dĽÇĽĐĽĂĽ°ĽâĄźĽÉ¤Ë¤ˇ¤Ţ¤šĄŁ-lŔޏů¤ˇ¤żŔÜÂł¤ÎĽíĽ°¤ň¤Č¤ę¤Ţ¤šĄŁ-wł°ÉôĽľĄźĽÓĽš¤ËÂФˇ¤Ć TCP Wrapper ¤ň͸ú¤Ë¤ˇ¤Ţ¤š
(ĽÇĽŐĽŠĽëĽČ)ĄŁ-Winetd
ÁȤߚţ¤ß¤ÎĆâÉôĽľĄźĽÓĽš¤ËÂФˇ¤Ć TCP Wrapper ¤ň͸ú¤Ë¤ˇ¤Ţ¤š
(ĽÇĽŐĽŠĽëĽČ)ĄŁ-c maximumĽľĄźĽÓĽšËč¤ËĆąťţ¤ËľŻĆ°˛ÄÇ˝¤ĘşÇÂçĂÍ¤ÎĽÇĽŐĽŠĽëĽČ¤ňťŘÄꤡ¤Ţ¤šĄŁ
ĽÇĽŐĽŠĽëĽČ¤Ç¤ĎĚľŔŠ¸Â¤Ç¤šĄŁĽľĄźĽÓĽš¤´¤Č¤ËťŘÄꤚ¤ë
ĽŃĽéĽáĄźĽż¤Çžĺ˝ń¤¤Ç¤¤Ţ¤šĄŁ-C rate1 ĘŹ´Ö¤Ë¤Ň¤Č¤Ä¤Î IP Ľ˘ĽÉĽěĽš¤Ť¤éľŻĆ°¤ľ¤ě¤ëĽľĄźĽÓĽš¤ÎĄ˘
şÇÂçĂÍ¤ÎĽÇĽŐĽŠĽëĽČ¤ňťŘÄꤡ¤Ţ¤šĄŁĽÇĽŐĽŠĽëĽČ¤ĎĚľŔŠ¸Â¤Ç¤šĄŁ
ĽľĄźĽÓĽš¤´¤Č¤ËťŘÄꤚ¤ë
ĽŃĽéĽáĄźĽż¤Çžĺ˝ń¤¤Ç¤¤Ţ¤šĄŁ-R rate¤˘¤ëĽľĄźĽÓĽš¤ň 1 ĘŹ´Ö¤ËľŻĆ°¤Ç¤¤ëşÇÂç¤Îżô¤ňťŘÄꤡ¤Ţ¤šĄŁ
ĽÇĽŐĽŠĽëĽČ¤Ď 256 ¤Ç¤šĄŁrate ¤Ë 0 ¤ňťŘÄꤚ¤ë¤ČĄ˘
ľŻĆ°˛ÄÇ˝¤Ężô¤ĎĚľŔŠ¸Â¤Ë¤Ę¤ę¤Ţ¤šĄŁ-aĽĐĽ¤ĽóĽÉ¤š¤ë IP Ľ˘ĽÉĽěĽš¤ň°ě¤ÄťŘÄꤡ¤Ţ¤šĄŁ
Âĺ¤ď¤ę¤ËĽŰĽšĽČĚž¤âťŘÄę¤Ç¤¤Ţ¤šĄŁ¤ł¤ÎžěšçĄ˘ĽŰĽšĽČĚž¤ËÂĐąţ¤š¤ë
IPv4 ¤Ţ¤ż¤Ď IPv6 Ľ˘ĽÉĽěĽš¤ŹťČÍѤľ¤ě¤Ţ¤šĄŁÄĚžď
inetd ¤Ź &man.jail.8;
Ćâ¤ÇľŻĆ°¤ľ¤ě¤ëťţĹŔ¤ÇĄ˘ĽŰĽšĽČĚž¤ŹťŘÄꤾ¤ě¤Ţ¤šĄŁ¤ł¤ÎžěšçĄ˘
ĽŰĽšĽČĚž¤Ď &man.jail.8; ´Äś¤ËÂĐąţ¤š¤ë¤â¤Î¤Ç¤šĄŁĽŰĽšĽČĚžťŘÄꤏťČÍѤľ¤ěĄ˘
IPv4 ¤Ş¤č¤Ó IPv6 ΞĘý¤ËĽĐĽ¤ĽóĽÉ¤ˇ¤ż¤¤žěšçĄ˘
/etc/inetd.conf ¤ÎłĆĽľĄźĽÓĽš¤ËÂФˇ¤ĆĄ˘
łĆĽĐĽ¤ĽóĽÉ¤ËÂФš¤ëĹŹŔڤʼ׼íĽČĽłĽë¤ÎĽ¨ĽóĽČĽę¤ŹÉŹÍפǤšĄŁ
¤ż¤Č¤¨¤Đ TCP ĽŮĄźĽš¤ÎĽľĄźĽÓĽš¤ĎĄ˘
¤Ň¤Č¤Ä¤ĎĽ×ĽíĽČĽłĽë¤Ë tcp4 ¤ňťČÍѤˇĄ˘
¤â¤Ś°ě¤Ä¤Ď tcp6 ¤ňťČÍѤš¤ëĄ˘
2 ¤Ä¤ÎĽ¨ĽóĽČĽę¤ŹÉŹÍפǤšĄŁ-pĽÇĽŐĽŠĽëĽČ¤Č¤Ď°Ű¤Ę¤ë
PID ¤ňĘÝťý¤š¤ëĽŐĽĄĽ¤Ľë¤ňťŘÄꤡ¤Ţ¤šĄŁ/etc/rc.conf Ćâ¤Î
inetd_flags ĽŞĽ×ĽˇĽçĽó¤ňÍѤ¤¤ĆĄ˘¤ł¤ě¤é¤ÎĽŞĽ×ĽˇĽçĽó¤ň
inetd ¤ËĹĎ¤š¤ł¤Č¤Ź¤Ç¤¤Ţ¤šĄŁĽÇĽŐĽŠĽëĽČ¤Ç¤Ď
inetd_flags ¤Ď -wW ¤ËŔßÄꤾ¤ě¤Ć¤Ş¤ęĄ˘
¤ł¤ě¤Ď inetd
¤ÎĆâÉô¤Ş¤č¤Ół°ÉôĽľĄźĽÓĽš¤ËÂФˇ¤Ć TCP wrapper ¤ň͸ú¤Ë¤ˇ¤Ţ¤šĄŁ
˝éż´źÔĽćĄźĽś¤Ď¤ł¤ě¤é¤ÎĽŃĽéĽáĄźĽż¤ňĘŃšš¤š¤ëÉŹÍפĎÄ̞濫¤ę¤Ţ¤ť¤ó¤ˇĄ˘
/etc/rc.conf ¤ËĆţÎϤš¤ëÉŹÍפ⤢¤ę¤Ţ¤ť¤óĄŁł°ÉôĽľĄźĽÓĽš¤ĎĄ˘ŔÜÂł¤ňźő¤ąźč¤Ă¤ż¤Č¤¤ËľŻĆ°¤ľ¤ě¤ë
inetd ¤Îł°Éô¤Ë¤˘¤ëĽÇĄźĽâĽó¤ÇĄ˘
¤˝¤ě¤ËÂФˇ¤ĆĄ˘ĆâÉôĽľĄźĽÓĽš¤Ď inetd
źŤżČ¤ŹÄ󜥤š¤ëĆâÉô¤ÎĽÇĄźĽâĽó¤Ç¤šĄŁinetd.confinetd ¤ÎŔßÄę¤Ď
/etc/inetd.conf
ĽŐĽĄĽ¤Ľë¤Ë¤č¤Ă¤ĆŔŠ¸ć¤ľ¤ě¤Ţ¤šĄŁ/etc/inetd.conf ¤ŹĘŃšš¤ľ¤ě¤ż¤Č¤¤ĎĄ˘
°Ę˛ź¤Î¤č¤Ś¤Ë inetd Ľ×ĽíĽťĽš¤Ë
HangUP ĽˇĽ°ĽĘĽë¤ňÁ÷¤ë¤ł¤Č¤Ë¤č¤ęĄ˘inetd
¤ËŔßÄęĽŐĽĄĽ¤Ľë¤ňşĆĆɤߚţ¤ß¤ľ¤ť¤é¤ě¤Ţ¤šĄŁinetd ¤Ř¤Î HangUP ĽˇĽ°ĽĘĽëÁ÷ÉŐ&prompt.root; kill -HUP `cat /var/run/inetd.pid`ŔßÄęĽŐĽĄĽ¤Ľë¤Î¤˝¤ě¤ž¤ě¤ÎšÔ¤ĎĄ˘
¸ÄĄš¤ÎĽÇĄźĽâĽó¤Ë¤Ä¤¤¤Ć¤ÎťŘź¨¤Ë¤Ę¤ę¤Ţ¤šĄŁ
ĽŐĽĄĽ¤ĽëĆâ¤ÎĽłĽáĽóĽČ¤Ď # ¤ŹŔčĆŹ¤Ë¤Ä¤¤Ţ¤šĄŁ
/etc/inetd.conf ¤Î˝ńź°¤Ď°Ę˛ź¤Î¤Č¤Ş¤ę¤Ç¤šĄŁservice-name
socket-type
protocol
{wait|nowait}[/max-child[/max-connections-per-ip-per-minute]]
user[:group][/login-class]
server-program
server-program-argumentsIPv4 ¤ňÍřÍѤš¤ë ftpd
ĽÇĄźĽâĽó¤ÎĽ¨ĽóĽČĽę¤ÎÎă¤Ç¤šĄŁftp stream tcp nowait root /usr/libexec/ftpd ftpd -lservice-name¤ł¤ě¤ĎĆĂÄę¤ÎĽÇĄźĽâĽó¤ÎĽľĄźĽÓĽšĚž¤Ç¤šĄŁ
¤ł¤ě¤Ď /etc/services
Ćâ¤ÎĽľĄźĽÓĽšĽęĽšĽČ¤ËÂĐąţ¤ˇ¤Ć¤¤¤Ę¤ą¤ě¤Đ¤Ę¤ę¤Ţ¤ť¤óĄŁ
¤ł¤ě¤Ď inetd
¤Ź¤É¤ÎĽÝĄźĽČ¤Çźő¤ąÉŐ¤ą¤Ę¤ą¤ě¤Đ¤Ę¤é¤Ę¤¤¤Ť¤ňˇčÄꤡ¤Ţ¤šĄŁ
żˇ¤ˇ¤¤ĽľĄźĽÓĽš¤ŹşîŔޤľ¤ě¤żžěšçĄ˘¤Ţ¤ş¤Ď¤¸¤á¤Ë
/etc/services
Ćâ¤ËľşÜ¤ˇ¤Ę¤ą¤ě¤Đ¤Ę¤ę¤Ţ¤ť¤óĄŁsocket-typestream,
dgram, raw ¤Ţ¤ż¤Ď
seqpacket ¤Î¤É¤ě¤Ť¤ňťŘÄꤡ¤Ţ¤šĄŁ
stream
¤ĎĽłĽÍĽŻĽˇĽçĽó¤Ë´đ¤Ĺ¤¤¤ż TCP ĽÇĄźĽâĽó¤ËťČÍѤˇ¤Ę¤ą¤ě¤Đ¤Ę¤é¤şĄ˘
°ěĘý¤Ç dgram ¤Ď
UDP ĹžÁ÷Ľ×ĽíĽČĽłĽë¤ňÍřÍѤˇ¤żĽÇĄźĽâĽó¤ËÂФˇ¤ĆťČÍѤľ¤ě¤Ţ¤šĄŁprotocolźĄ¤Î¤Ś¤Á¤Î¤É¤ě¤Ť 1 ¤Ä¤ňťŘÄꤡ¤Ţ¤šĄŁĽ×ĽíĽČĽłĽëŔâĚŔtcp, tcp4TCP IPv4udp, udp4UDP IPv4tcp6TCP IPv6udp6UDP IPv6tcp46TCP IPv4 ¤Ş¤č¤Ó v6 ¤ÎΞĘýudp46UDP IPv4 ¤Ş¤č¤Ó v6 ¤ÎΞĘý{wait|nowait}[/max-child[/max-connections-per-ip-per-minute]] ¤Ď
inetd ¤Ť¤éľŻĆ°¤ˇ¤żĽÇĄźĽâĽó¤ŹĄ˘
źŤĘŹ¤ÎĽ˝ĽąĽĂĽČ¤ň´ÉÍý¤Ç¤¤ë¤Ť¤É¤Ś¤Ť¤ňꍤˇ¤Ţ¤šĄŁ
ÄĚžďĽŢĽëĽÁĽšĽěĽĂĽÉ˛˝¤ľ¤ě¤Ć¤¤¤ë stream Ľ˝ĽąĽĂĽČĽÇĄźĽâĽó¤Ď
¤ňťČÍѤš¤ë¤Ů¤¤Ç¤˘¤ë°ěĘýĄ˘
Ľ˝ĽąĽĂĽČĽżĽ¤Ľ×¤Ď
wait ĽŞĽ×ĽˇĽçĽó¤ňťČÍѤˇ¤Ę¤ą¤ě¤Đ¤Ę¤ę¤Ţ¤ť¤óĄŁ
¤Ďżˇ¤ˇ¤¤Ľ˝ĽąĽĂĽČËč¤ËťŇ¤ÎĽÇĄźĽâĽó¤ňľŻĆ°¤š¤ë°ěĘý¤ÇĄ˘
¤ĎÄĚžďĘŁżô¤ÎĽ˝ĽąĽĂĽČ¤ň 1 ¤Ä¤ÎĽÇĄźĽâĽó¤ËĹϤˇ¤Ţ¤šĄŁinetd
¤ŹľŻĆ°¤Ç¤¤ëťŇ¤ÎĽÇĄźĽâĽó¤ÎşÇÂçżô¤Ď
ĽŞĽ×ĽˇĽçĽó¤ÇŔßÄę¤Ç¤¤Ţ¤šĄŁ
ĆĂÄę¤ÎĽÇĄźĽâĽó¤ËÂФˇ¤ĆĄ˘ľŻĆ°¤š¤ëżô¤Ź
10 ¤Ţ¤Ç¤Č¤¤¤ŚŔŠ¸Â¤ŹÉŹÍפʞěšçĄ˘
¤Î¸ĺ¤Ë /10
¤ňĂÖ¤¤Ţ¤šĄŁ ¤Ë˛Ă¤¨¤ĆĄ˘Âž¤Ë¤˘¤ë
1 ¤Ä¤Îžě˝ę¤Ť¤éĆĂÄę¤ÎĽÇĄźĽâĽó¤Ř¤ÎşÇÂçŔÜÂłżô¤ňŔŠ¸Â¤š¤ëĽŞĽ×ĽˇĽçĽó¤ŹÍřÍѤǤ¤Ţ¤šĄŁ
¤Ź¤˝¤ě¤Ç¤šĄŁ¤ł¤ł¤Ë 10 ¤ňťŘÄꤚ¤ë¤ČĄ˘ĆĂÄę¤Î
IP Ľ˘ĽÉĽěĽš¤Ť¤é¤ÎĆĂÄę¤ÎĽľĄźĽÓĽš¤Ř¤ÎŔÜÂł¤ň
1 ĘŹ´Ö¤Ë¤Ä¤ 10 ˛ó¤ËŔŠ¸Â¤ˇ¤Ţ¤šĄŁ
¤ł¤ě¤Ď¸Î°Ő¤Ţ¤ż¤Ď¸Î°Ő¤Ç¤Ę¤¤ťń¸ť¤ÎϲČń¤Ş¤č¤ÓĄ˘
ĽŢĽˇĽó¤Ř¤ÎĽľĄźĽÓĽšÉÔÇ˝ (DoS) šśˇâ¤ňËɤ°¤Î¤ËÍÍŃ¤Ç¤šĄŁ ¤Ţ¤ż¤Ď
¤Ď¤ł¤ÎÍó¤ËÉŹ¤şÉŹÍפǤšĄŁ
¤Ş¤č¤Ó
¤ĎǤ°Ő¤Ç¤šĄŁ ¤Ţ¤ż¤Ď
ŔŠ¸Â¤ň¤Ť¤ą¤Ę¤¤
stream ĽżĽ¤Ľ×¤ÎĽŢĽëĽÁĽšĽěĽĂĽÉĽÇĄźĽâĽó¤ÎŔßÄę¤Ď
nowait ¤Ë¤Ę¤ę¤Ţ¤šĄŁşîŔŽ¤Ç¤¤ëťŇĽ×ĽíĽťĽš¤Îžĺ¸Â¤Ź 10 ¤Ç¤˘¤ëĆą¤¸ĽÇĄźĽâĽó¤ÎŔßÄę¤Ď
nowait/10 ¤Ë¤Ę¤ę¤Ţ¤šĄŁ¤ľ¤é¤ËĄ˘
1 ĘŹ´Ö¤Ë IP Ľ˘ĽÉĽěĽš¤˘¤ż¤ę¤ÎŔÜÂłŔŠ¸Â¤Ź 20Ą˘
ťŇĽ×ĽíĽťĽš¤Îžĺ¸Â¤Ź 10 ¤Ç¤˘¤ëĆą¤¸ĽÇĄźĽâĽó¤ÎŔßÄę¤Ď
nowait/10/20 ¤Ë¤Ę¤ę¤Ţ¤šĄŁ°Ę˛ź¤Î¤č¤Ś¤ËĄ˘¤ł¤ě¤é¤ÎĽŞĽ×ĽˇĽçĽó¤Ď¤š¤Ů¤Ć
fingerd
ĽÇĄźĽâĽó¤ÎĽÇĽŐĽŠĽëĽČŔßÄę¤ËťČ¤ď¤ě¤Ć¤¤¤Ţ¤šĄŁfinger stream tcp nowait/3/10 nobody /usr/libexec/fingerd fingerd -suseruser ¤Ď¤˘¤ëĽÇĄźĽâĽó¤ŹźÂšÔ¤š¤ë¤Č¤¤ÎĽćĄźĽśĚž¤ňťŘÄꤡ¤Ţ¤šĄŁ
°ěČĚĹŞ¤ËĽÇĄźĽâĽó¤Ď root
ĽćĄźĽś¤Č¤ˇ¤ĆźÂšÔ¤ˇ¤Ţ¤šĄŁĽťĽĽĺĽęĽĆĽŁ¤ňšÍθ¤ˇ¤ĆĄ˘
¤¤¤Ż¤Ä¤Ť¤ÎĽľĄźĽĐ¤Ď daemon ĽćĄźĽśĄ˘
¤Ţ¤ż¤ĎşÇÄă¤Î¸˘¸Â¤ŹÍż¤¨¤é¤ě¤Ć¤¤¤ë nobody
ĽćĄźĽś¤Č¤ˇ¤ĆźÂšÔ¤š¤ë¤ł¤Č¤âÂż¤Ż¸Ť¤é¤ě¤Ţ¤šĄŁserver-programŔÜÂł¤ňźő¤ąźč¤Ă¤ż¤Č¤¤ËźÂšÔ¤š¤ëĽÇĄźĽâĽó¤ÎĽŐĽëĽŃĽš¤Ç¤šĄŁ
ĽÇĄźĽâĽó¤Ź inetd
¤Ë¤č¤Ă¤ĆĆâÉôĹŞ¤ËÄ󜥤ľ¤ě¤ëĽľĄźĽÓĽš¤Îžěšç
¤ňťČÍѤˇ¤Ţ¤šĄŁserver-program-arguments¤ł¤ł¤Ë¤ĎĄ˘ľŻĆ°¤š¤ë¤Č¤¤ËĽÇĄźĽâĽó¤ËĹϤľ¤ě¤ëĄ˘
argv[0] ¤Ť¤éťĎ¤Ţ¤ë°úżô¤ňťŘÄꤡ¤ĆĄ˘
¤Čś¨Ä´¤ˇ¤Ćưşî¤ˇ¤Ţ¤šĄŁ
mydaemon -d ¤ŹĽłĽŢĽóĽÉĽéĽ¤Ľó¤ÎžěšçĄ˘
¤ÎĂͤË
mydaemon -d ¤ňťŘÄꤡ¤Ţ¤šĄŁ
¤Ţ¤żĄ˘ĽÇĄźĽâĽó¤ŹĆâÉôĽľĄźĽÓĽš¤ÎžěšçĄ˘¤ł¤ł¤Ë
¤ňťŘÄꤡ¤Ţ¤šĄŁĽťĽĽĺĽęĽĆĽŁĽ¤ĽóĽšĽČĄźĽë¤Îťţ¤ËÁŞÂň¤ˇ¤żĽťĽĽĺĽęĽĆĽŁĽ×ĽíĽŐĽĄĽ¤Ľë¤Ë¤č¤Ă¤Ć¤ĎĄ˘
Âż¤Ż¤Î inetd
¤ÎĽÇĄźĽâĽó¤ŹĽÇĽŐĽŠĽëĽČ¤Ç͸ú¤Ë¤Ę¤Ă¤Ć¤¤¤ë¤Ť¤â¤ˇ¤ě¤Ţ¤ť¤óĄŁ
¤˘¤ëĽÇĄźĽâĽó¤ŹĆäËÉŹÍפǤʤ¤žěšç¤Ë¤ĎĄ˘¤˝¤ě¤ňĚľ¸ú¤Ë¤ˇ¤Ć¤Ż¤Ŕ¤ľ¤¤!
ĚäÂę¤Č¤Ę¤Ă¤Ć¤¤¤ëĽÇĄźĽâĽó¤Źľ˝Ň¤ľ¤ě¤Ć¤¤¤ëšÔ¤ÎŔčĆŹ¤Ë
# ¤ň¤Ş¤¤¤Ć inetd
¤ËĽĎĽóĽ°Ľ˘ĽĂĽ×ĽˇĽ°ĽĘĽë¤ňÁ÷¤Ă¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ
fingerd ¤Î¤č¤Ś¤Ę¤¤¤Ż¤Ä¤Ť¤ÎĽÇĄźĽâĽó¤ĎĄ˘
ư¤Ť¤˝¤Ś¤Č¤š¤Ů¤¤Ç¤Ď¤Ę¤¤¤Ť¤â¤ˇ¤ě¤Ţ¤ť¤óĄŁ¤Ę¤ź¤Ę¤éĄ˘
¤˝¤ě¤é¤ĎšśˇâźÔ¤ËÂФˇ¤Ć¤˘¤Ţ¤ę¤Ë¤âÂż¤Ż¤ÎžđĘó¤ňÍż¤¨¤ë¤Ť¤é¤Ç¤šĄŁĽťĽĽĺĽęĽĆĽŁ¤ň¤˘¤Ţ¤ęšÍθ¤ť¤şĄ˘
ŔÜÂłťîšÔ¤ËÂФˇ¤ĆĽżĽ¤ĽŕĽ˘ĽŚĽČ¤Ţ¤Ç¤Îťţ´Ö¤ŹÄ𤤤ŤĄ˘
ĽżĽ¤ĽŕĽ˘ĽŚĽČ¤ˇ¤Ę¤¤ĽÇĄźĽâĽó¤â¤˘¤ę¤Ţ¤šĄŁ
¤ł¤ě¤ĎĄ˘ĆĂÄę¤ÎĽÇĄźĽâĽó¤ËšśˇâźÔ¤Ź¤ć¤Ă¤Ż¤ęŔÜÂłÍ׾á¤ňÁ÷¤ë¤ł¤Č¤Ë¤č¤Ă¤ĆĄ˘
ÍřÍѲÄÇ˝¤ĘĽęĽ˝ĄźĽš¤ň˰Ϥľ¤ť¤ë¤ł¤Č¤ň˛ÄÇ˝¤Ë¤ˇ¤Ţ¤šĄŁ¤˘¤ëźď¤ÎĽÇĄźĽâĽó¤Ë
¤Ş¤č¤Ó
ŔŠ¸Â¤ňŔߤą¤ë¤ł¤Č¤Ď¤č¤¤šÍ¤¨¤Ť¤â¤ˇ¤ě¤Ţ¤ť¤óĄŁTCP wrapper ¤ĎĽÇĽŐĽŠĽëĽČ¤Ç͸ú¤Ç¤šĄŁ
inetd
¤Ť¤éľŻĆ°¤ľ¤ě¤ë¤ľ¤Ţ¤ś¤Ţ¤ĘĽÇĄźĽâĽó¤ËÂФˇ¤Ć
TCP ŔŠ¸Â¤ňŔߤą¤ë¤ł¤Č¤ÎžÜşŮ¤Ë¤Ä¤¤¤Ć¤Ď
&man.hosts.access.5; ĽŢĽËĽĺĽ˘ĽëĽÚĄźĽ¸¤ňť˛žČ¤ˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ¤˝¤Îždaytime,
time,
echo,
discard,
chargen ¤Ş¤č¤Ó
auth ¤Ď¤š¤Ů¤Ć
inetd
¤ŹĆâÉôĹŞ¤ËÄ󜥤š¤ëĽľĄźĽÓĽš¤Ç¤šĄŁauth ĽľĄźĽÓĽš¤Ď identity
(ident, identd) ĽÍĽĂĽČĽďĄźĽŻĽľĄźĽÓĽš¤ňÄ󜥤ˇĄ˘
¤˘¤ëÄřĹŮŔßÄę˛ÄÇ˝¤Ç¤šĄŁžÜşŮ¤Ë¤Ä¤¤¤Ć¤Ď &man.inetd.8; ĽŢĽËĽĺĽ˘Ľë¤ňť˛žČ¤ˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁĽŃĽéĽěĽëĽéĽ¤Ľó IP (PLIP)PLIPĽŃĽéĽěĽëĽéĽ¤Ľó IPPLIP ¤ĎĽŃĽéĽěĽëĽÝĄźĽČ´Ö¤Ç TCP/IP ÄĚżŽ¤ň˛ÄÇ˝¤Ë¤ˇ¤Ţ¤šĄŁ
¤ł¤ě¤ĎĽÍĽĂĽČĽďĄźĽŻĽŤĄźĽÉ¤ÎĚľ¤¤ĽŢĽˇĽó¤äĽÎĄźĽČĽŃĽ˝ĽłĽó¤ËĽ¤ĽóĽšĽČĄźĽë¤š¤ë¤Č¤¤ËĚň¤ËΊ¤Á¤Ţ¤šĄŁ
¤ł¤ÎŔá¤Ç¤Ď°Ę˛ź¤Ë¤Ä¤¤¤ĆŔâĚŔ¤ˇ¤Ţ¤šĄŁĽŃĽéĽěĽë (ĽéĽĂĽ×ĽęĽóĽŻ ¤Ţ¤ż¤Ď ĽŃĽéĽěĽëĽŻĽíĽš)
ĽąĄźĽÖĽë¤ÎşîŔŽĄŁ2 Âć¤ÎĽłĽóĽÔĽĺĄźĽż¤Î PLIP ¤Ë¤č¤ëŔÜÂłĄŁĽŃĽéĽěĽë (ĽŻĽíĽš) ĽąĄźĽÖĽë¤ÎşîŔŽĽłĽóĽÔĽĺĄźĽżÍŃÉĘĹš¤Î¤Ű¤Č¤ó¤É¤ÇĽŃĽéĽěĽë (ĽŻĽíĽš)
ĽąĄźĽÖĽë¤ňšŘĆţ¤š¤ë¤ł¤Č¤Ź¤Ç¤¤Ţ¤šĄŁ
šŘĆţ¤š¤ë¤ł¤Č¤Ź¤Ç¤¤Ę¤¤¤ŤĄ˘
Ăą¤ËĽąĄźĽÖĽë¤Ź¤É¤Î¤č¤Ś¤Ęš˝Â¤¤Ç¤˘¤ë¤ŤĂΤꤿ¤¤žěšç¤ĎĄ˘
źĄ¤ÎÉ˝¤ËÄĚžď¤ÎĽŃĽéĽěĽëĽ×ĽęĽóĽżĽąĄźĽÖĽë¤ň¤â¤Č¤ËşîŔޤš¤ëĘýËĄ¤Źź¨¤ľ¤ě¤Ć¤¤¤Ţ¤šĄŁ
IPv6 Ľ˘ĽÉĽěĽš¤ňĆɤŕŔľľŹ¤Î˝ńź°¤Ç¤Ď
x:x:x:x:x:x:x:x
¤ČÉ˝¤ľ¤ě¤Ţ¤šĄŁ¤˝¤ě¤ž¤ě¤Î
x ¤Ď 16 ĽÓĽĂĽČ¤Î 16 żĘżô¤Ç¤šĄŁ¤ż¤Č¤¨¤Đ
FEBC:A574:382B:23C1:AA49:4592:4EFE:9982
¤Č¤Ę¤ę¤Ţ¤šĄŁ¤š¤Ů¤ĆĽźĽí¤ÎÄš¤¤ÉôʏʸťúÎ󤏼˘ĽÉĽěĽšĆâ¤Ë¤č¤Ż¸˝¤ě¤Ţ¤šĄŁ
¤˝¤Î¤ż¤áĄ˘¤˝¤Î¤č¤Ś¤ĘÉôʏʸťúÎó¤Ď ::
¤ËĂť˝Ě¤š¤ë¤ł¤Č¤Ź¤Ç¤¤Ţ¤šĄŁ
¤ż¤Č¤¨¤ĐĄ˘fe80::1 ¤ĎŔľľŹˇÁ¤Î
fe80:0000:0000:0000:0000:0000:0000:0001
¤ËÂĐąţ¤ˇ¤Ţ¤šĄŁ3 ČÖĚܤΡÁź°¤ĎĄ˘şÇ¸ĺ¤Î 32 ĽÓĽĂĽČ¤ÎÉôĘŹ¤ň
. ¤ňĘŹłäʸťú¤Č¤ˇ¤ĆťČ¤ŚĄ˘
¤Ę¤¸¤ßżź¤¤ IPv4 (10 żĘ) ˇÁź°¤Ç˝ń¤Ż¤ł¤Č¤Ç¤šĄŁ
¤ż¤Č¤¨¤Đ 2002::10.0.0.1
¤Ď (16 żĘ) ŔľľŹˇÁ¤Î
2002:0000:0000:0000:0000:0000:0a00:0001
¤ËÂĐąţ¤ˇĄ˘Ćąťţ¤Ë 2002::a00:1
¤Č˝ń¤Ż¤ł¤Č¤Č¤âĹů˛Á¤Ç¤šĄŁ¤ł¤ł¤Ţ¤ÇÍč¤ě¤ĐĄ˘˛źľ¤ňÍý˛ň¤š¤ë¤ł¤Č¤Ź¤Ç¤¤ë¤Ç¤ˇ¤ç¤ŚĄŁ&prompt.root; ifconfigrl0: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1500
inet 10.0.0.10 netmask 0xffffff00 broadcast 10.0.0.255
inet6 fe80::200:21ff:fe03:8e1%rl0 prefixlen 64 scopeid 0x1
ether 00:00:21:03:08:e1
media: Ethernet autoselect (100baseTX )
status: activefe80::200:21ff:fe03:8e1%rl0
¤ĎźŤĆ°ĹޤËŔßÄꤾ¤ě¤żĽęĽóĽŻĽíĄźĽŤĽëĽ˘ĽÉĽěĽš¤Ç¤šĄŁ
¤ł¤ě¤ĎźŤĆ°ŔßÄę¤Î°ě´Ä¤Č¤ˇ¤ĆĄ˘
Ľ¤ĄźĽľĽÍĽĂĽČ MAC Ľ˘ĽÉĽěĽš¤ňĘѴ𤎤ż¤â¤Î¤ň´Ţ¤ó¤Ç¤¤¤Ţ¤šĄŁIPv6 Ľ˘ĽÉĽěĽšš˝Â¤¤Ë¤Ä¤¤¤Ć¤ÎžÜşŮ¤Ď RFC3513 ¤ň¤´Í÷¤Ż¤Ŕ¤ľ¤¤ĄŁŔÜÂł¸˝şßĄ˘Âž¤Î IPv6 ĽŰĽšĽČ¤Ş¤č¤ÓĽÍĽĂĽČĽďĄźĽŻ¤ËŔÜÂł¤š¤ë¤ż¤á¤Ë¤Ď
4 ¤Ä¤ÎĘýËĄ¤Ź¤˘¤ę¤Ţ¤šĄŁ6bone źÂ¸łĽÍĽĂĽČĽďĄźĽŻ¤Ëť˛˛Ă¤š¤ëĄŁžĺÎŽ¤ÎĽ×ĽíĽĐĽ¤ĽŔ¤Ť¤é IPv6 ĽÍĽĂĽČĽďĄźĽŻ¤Îłä¤ęĹö¤Ć¤ňźő¤ą¤ëĄŁ
źę˝ç¤Ë¤Ä¤¤¤Ć¤ĎĄ˘Ľ¤ĽóĽżĄźĽÍĽĂĽČĽ×ĽíĽĐĽ¤ĽŔ¤ËĚ䤤šç¤ď¤ť¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁIPv6 over IPv4 ¤Ë¤č¤ëĽČĽóĽÍĽëĄŁĽŔĽ¤Ľ˘ĽëĽ˘ĽĂĽ×ŔÜÂł¤Îžěšç freenet6 port ¤ňťČÍѤš¤ëĄŁ¤ł¤ł¤Ç¤ĎĄ˘¸˝şß¤â¤Ă¤Č¤â¤č¤ŻťČ¤ď¤ě¤Ć¤¤¤ëĘýËĄ¤Čť×¤ď¤ě¤ë
6bone ¤ŘŔÜÂł¤š¤ëĘýËĄ¤ňŔâĚŔ¤ˇ¤Ţ¤šĄŁ¤Ď¤¸¤á¤Ë 6bone ĽľĽ¤ĽČ¤ň¤ß¤ĆĄ˘
¤˘¤Ę¤ż¤ËşÇ¤âśá¤¤ 6bone ŔÜÂłŔč¤ň¸Ť¤Ä¤ą¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ
ŔŐǤźÔ¤ËϢÍí¤š¤ë¤ČĄ˘žŻ¤ˇ¤Đ¤Ť¤ęąż¤Ź¤č¤ą¤ě¤ĐĄ˘
ŔÜÂł¤ňŔßÄꤚ¤ëĘýËĄ¤Ë¤Ä¤¤¤Ć¤ÎťŘꍤňźő¤ą¤é¤ě¤ë¤Ç¤ˇ¤ç¤ŚĄŁ
Âż¤Ż¤Î¤Đ¤˘¤¤Ą˘¤ł¤ě¤Ë¤Ď
GRE (gif) ĽČĽóĽÍĽë¤ÎŔßÄꤏ´Ţ¤Ţ¤ě¤Ţ¤šĄŁĚőĂí6bone ¤Ď 3ffe:: (16 ĽÓĽĂĽČ)
¤Č¤¤¤Ś IPv6 Ľ˘ĽÉĽěĽš¤ňłä¤ężś¤é¤ě¤żźÂ¸łĚÜĹŞ¤ÎĽÍĽĂĽČĽďĄźĽŻ¤Ç¤ˇ¤ż¤ŹĄ˘
2006 ÇŻ 6 ˇî¤ËążÍѤňÄäťß¤š¤ë¤ł¤Č¤Ë¤Ę¤Ă¤Ć¤¤¤Ţ¤šĄŁ
ž¤ÎžŚÍѤäťî¸łĹŞ¤Ę IPv6 ŔÜÂłĽľĄźĽÓĽš¤ňĂľ¤ˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ¤ł¤ł¤Ë &man.gif.4; ĽČĽóĽÍĽë¤ňŔßÄꤚ¤ëĹľˇżĹޤĘÎă¤ňꍤˇ¤Ţ¤šĄŁ&prompt.root; ifconfig gif0 create
&prompt.root; ifconfig gif0
gif0: flags=8010<POINTOPOINT,MULTICAST> mtu 1280
&prompt.root; ifconfig gif0 tunnel MY_IPv4_ADDRHIS_IPv4_ADDR
&prompt.root; ifconfig gif0 inet6 alias MY_ASSIGNED_IPv6_TUNNEL_ENDPOINT_ADDRÂçʸťú¤Ë¤Ę¤Ă¤Ć¤¤¤ëĂą¸ě¤ňĄ˘
žĺÎŽ¤Î 6bone ĽÎĄźĽÉ¤Ť¤éźő¤ąźč¤Ă¤żžđĘó¤ËĂÖ¤´š¤¨¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ¤ł¤ě¤ÇĽČĽóĽÍĽë¤ŹłÎΊ¤ľ¤ě¤Ţ¤šĄŁ&man.ping6.8; ¤ň
ff02::1%gif0
¤ËÁ÷¤ë¤ł¤Č¤Ë¤č¤Ă¤ĆĄ˘ĽČĽóĽÍĽë¤ŹĆ°şî¤ˇ¤Ć¤¤¤ë¤ŤłÎ¤Ť¤á¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ
ping ¤ÎąţĹú¤ň 2 ¤Äźő¤ąźč¤ë¤Ď¤ş¤Ç¤šĄŁff02:1%gif0
¤Č¤¤¤ŚĽ˘ĽÉĽěĽš¤Ëś˝Ě٤ň¤˝¤˝¤é¤ě¤Ć¤¤¤ëžěšç¤Î¤ż¤á¤ËŔâĚŔ¤š¤ë¤ČĄ˘
¤ł¤ě¤ĎĽŢĽëĽÁĽĽăĽšĽČĽ˘ĽÉĽěĽš¤Ç¤šĄŁ
%gif0 ¤ĎĄ˘ĽÍĽĂĽČĽďĄźĽŻĽ¤ĽóĽżĽŐĽ§ĄźĽš
gif0
žĺ¤ÎĽŢĽëĽÁĽĽăĽšĽČĽ˘ĽÉĽěĽš¤ŹťČÍѤľ¤ě¤ë¤Č¤¤¤Ś¤ł¤Č¤ňꍤˇ¤Ć¤¤¤Ţ¤šĄŁ
ĽŢĽëĽÁĽĽăĽšĽČĽ˘ĽÉĽěĽš¤ËÂФˇ¤Ć ping
¤ňÁ÷¤Ă¤ż¤Î¤ÇĄ˘ĽČĽóĽÍĽë¤Î¤â¤Ś°ěĘý¤ÎĂź¤âąţĹú¤ˇ¤Ţ¤šĄŁ¤ł¤ł¤Ţ¤ÇÍč¤ë¤Č 6bone
Ľ˘ĽĂĽ×ĽęĽóĽŻ¤ËˇĐĎŠŔßÄꤚ¤ë¤ł¤Č¤ĎČćłÓĹŞ´ĘĂą¤Ç¤ˇ¤ç¤ŚĄŁ&prompt.root; route add -inet6 default -interface gif0
&prompt.root; ping6 -n MY_UPLINK&prompt.root; traceroute6 www.jp.FreeBSD.org
(3ffe:505:2008:1:2a0:24ff:fe57:e561) from 3ffe:8060:100::40:2, 30 hops max, 12 byte packets
1 atnet-meta6 14.147 ms 15.499 ms 24.319 ms
2 6bone-gw2-ATNET-NT.ipv6.tilab.com 103.408 ms 95.072 ms *
3 3ffe:1831:0:ffff::4 138.645 ms 134.437 ms 144.257 ms
4 3ffe:1810:0:6:290:27ff:fe79:7677 282.975 ms 278.666 ms 292.811 ms
5 3ffe:1800:0:ff00::4 400.131 ms 396.324 ms 394.769 ms
6 3ffe:1800:0:3:290:27ff:fe14:cdee 394.712 ms 397.19 ms 394.102 ms¤ł¤Î˝ĐÎϤϼ޼ˇĽó¤Ë¤č¤Ă¤Ć°Ű¤Ę¤ę¤Ţ¤šĄŁ
¤ł¤ě¤ÇĄ˘¤˘¤Ę¤ż¤Ź www/mozilla
¤Î¤č¤Ś¤Ę IPv6 ¤ŹÍřÍѲÄÇ˝¤ĘĽÖĽéĽŚĽś¤ňťý¤Ă¤Ć¤¤¤ě¤ĐĄ˘
IPv6 ĽľĽ¤ĽČ
www.kame.net
¤Ë¤¤¤Ă¤ĆÍ٤뼍Ľá¤ň¸Ť¤ë¤ł¤Č¤Ź¤Ç¤¤ë¤Ç¤ˇ¤ç¤ŚĄŁIPv6 Ŕ¤łŚ¤Î DNSIPv6 ¤Î¤ż¤á¤Îżˇ¤ˇ¤¤ DNS ĽěĽłĄźĽÉ¤Ź 2 źďÎढ¤ę¤Ţ¤šĄŁAAAA ĽěĽłĄźĽÉA6 ĽěĽłĄźĽÉAAAA ĽěĽłĄźĽÉ¤Ď´ĘĂą¤ËťČ¤¨¤Ţ¤šĄŁMYHOSTNAME AAAA MYIPv6ADDRžĺľ¤ňĽ×ĽéĽ¤ĽŢĽęĽžĄźĽó DNS ĽŐĽĄĽ¤Ľë¤Ë˛Ă¤¨¤ĆĄ˘
¤â¤é¤Ă¤ż¤Đ¤Ť¤ę¤Î IPv6 Ľ˘ĽÉĽěĽš¤ËĽŰĽšĽČĚž¤ňłä¤ęĹö¤Ć¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ
¤˘¤Ę¤żźŤżČ¤Ç DNS ĽžĄźĽó¤ň´ÉÍý¤ˇ¤Ć¤¤¤Ę¤¤žěšç¤ĎĄ˘
DNS Ľ×ĽíĽĐĽ¤ĽŔ¤ËÍę¤ó¤Ç¤Ż¤Ŕ¤ľ¤¤ĄŁ
bind ¤ÎşÇżˇĽĐĄźĽ¸ĽçĽó
(ĽĐĄźĽ¸ĽçĽó 8.3 ¤Ş¤č¤Ó 9) ¤Ď AAAA ĽěĽłĄźĽÉ¤ËÂĐąţ¤ˇ¤Ć¤¤¤Ţ¤šĄŁ
diff --git a/ja_JP.eucJP/books/handbook/boot/chapter.xml b/ja_JP.eucJP/books/handbook/boot/chapter.xml
index 5c39217ace..8e41e4daaf 100644
--- a/ja_JP.eucJP/books/handbook/boot/chapter.xml
+++ b/ja_JP.eucJP/books/handbook/boot/chapter.xml
@@ -1,899 +1,895 @@
FreeBSD ¤ÎľŻĆ°¤ÎĽ×ĽíĽťĽš¤ł¤ÎžĎ¤Ç¤ĎľŻĆ°ĽÖĄźĽČĽšĽČĽéĽĂĽ× (bootstrap)ˇ×ťťľĄ¤ňľŻĆ°¤ˇĽŞĽÚĽěĄźĽĆĽŁĽóĽ°ĽˇĽšĽĆĽŕ¤ňĽíĄźĽÉ¤š¤ëĽ×ĽíĽťĽš¤ĎĄ˘
ĽÖĄźĽČĽšĽČĽéĽĂĽ×Ľ×ĽíĽťĽšĄ˘
¤â¤ˇ¤Ż¤ĎĂą¤Ë ľŻĆ° ¤Č¸Ć¤Đ¤ě¤Ţ¤šĄŁ
FreeBSD ¤ÎľŻĆ°Ľ×ĽíĽťĽš¤ňťČ¤¨¤ĐĄ˘
ĽˇĽšĽĆĽŕ¤ňĽšĽżĄźĽČ¤š¤ë¤Č¤¤ËľŻ¤¤ë¤ł¤Č¤ň
¤Ť¤Ę¤ę˝ŔĆđ¤ËĽŤĽšĽżĽŢĽ¤Ľş¤š¤ë¤ł¤Č¤Ź¤Ç¤¤Ţ¤šĄŁ
Ćą¤¸ˇ×ťťľĄ¤ËĽ¤ĽóĽšĽČĄźĽë¤ľ¤ě¤ż
ĘĚ¤ÎĽŞĽÚĽěĄźĽĆĽŁĽóĽ°ĽˇĽšĽĆĽŕ¤ňÁŞÂň¤š¤ë¤ł¤Č¤â¤Ç¤¤Ţ¤š¤ˇĄ˘
Ćą¤¸ĽŞĽÚĽěĄźĽĆĽŁĽóĽ°ĽˇĽšĽĆĽŕ¤Î°ă¤ŚĽĐĄźĽ¸ĽçĽó¤ňÁŞÂň¤š¤ë¤ł¤Č¤âĄ˘
Ľ¤ĽóĽšĽČĄźĽë¤ľ¤ě¤żĘ̤μŤĄźĽÍĽë¤ňÁŞÂň¤š¤ë¤ł¤Č¤ľ¤¨¤Ç¤¤Ţ¤šĄŁ¤ł¤ÎžĎ¤Ç¤ĎĄ˘ťŘÄę¤Ç¤¤ëŔßÄ꼪Ľ×ĽˇĽçĽó¤Č FreeBSD
¤ÎľŻĆ°Ľ×ĽíĽťĽš¤ÎĽŤĽšĽżĽŢĽ¤ĽşĘýËĄ¤Ë¤Ä¤¤¤ĆžÜ¤ˇ¤Ż˝Ň¤Ů¤Ţ¤šĄŁ
¤ł¤ÎžĎ¤Ç¤Ď FreeBSD ĽŤĄźĽÍĽë¤ŹĽšĽżĄźĽČ¤ˇĄ˘ĽÇĽĐĽ¤Ľš¤ň¸Ą˝Đ¤ˇĄ˘
&man.init.8; ¤ňľŻĆ°¤š¤ë¤Ţ¤Ç¤ËľŻ¤¤ë¤ł¤Č¤š¤Ů¤Ć¤ň°ˇ¤¤¤Ţ¤šĄŁ
¤É¤ÎşÇĂć¤Î¤ł¤Č¤Ŕ¤Ť¤Ď¤Ă¤¤ę¤ˇ¤Ć¤¤¤Ę¤¤żÍ¤Î¤ż¤á¤ËĘ䤚¤ë¤ČĄ˘
ĽĆĽĽšĽČ¤Îż§¤ŹĚŔ¤ë¤¤Çň¤Ť¤éłĽż§¤ËĘѤď¤ë¤Ţ¤Ç¤ËľŻ¤¤Ć¤¤¤ë¤ł¤Č¤Ç¤šĄŁ¤ł¤ÎžĎ¤ňĆɤŕ¤ČĄ˘°Ę˛ź¤Î¤ł¤Č¤ŹĘʤŤ¤ę¤Ţ¤šĄŁ¤É¤Î¤č¤Ś¤Ë FreeBSD ¤ÎĽÖĄźĽČĽšĽČĽéĽĂĽ×ĽˇĽšĽĆĽŕ¤Źš˝Ŕޤľ¤ěĄ˘
¤˝¤ˇ¤Ć¤˝¤ě¤é¤Ź¸ß¤¤¤Ë¤É¤Ś´Řˇ¸¤ˇ¤Ć¤¤¤ë¤Î¤ŤľŻĆ°Ľ×ĽíĽťĽš¤ňŔŠ¸ć¤š¤ë¤ż¤á¤Ë FreeBSD
¤ÎĽÖĄźĽČĽšĽČĽéĽĂĽ×¤ÎłĆÍ×ÁǤËÉղäǤ¤ëĽŞĽ×ĽˇĽçĽó&man.device.hints.5; ¤Î´đËÜĹŞ¤Ęľ˝ŇĘýËĄx86 ¸ÂÄꤳ¤ÎžĎ¤Ç¤Ď Intel x86 ĽˇĽšĽĆĽŕžĺ¤Çưşî¤š¤ë FreeBSD
¤ÎľŻĆ°Ľ×ĽíĽťĽš¤Ŕ¤ą¤ň°ˇ¤¤¤Ţ¤šĄŁľŻĆ°ťţ¤ÎĚäÂęˇ×ťťľĄ¤ÎĹŸť¤ňĆţ¤ěĄ˘ĽŞĽÚĽěĄźĽĆĽŁĽóĽ°ĽˇĽšĽĆĽŕ¤ňĽšĽżĄźĽČ¤ľ¤ť¤ë¤Î¤Ë¤ĎĄ˘
¤Ş¤â¤ˇ¤í¤¤Ľ¸ĽěĽóĽŢ¤Ź¤˘¤ę¤Ţ¤šĄŁÄęľÁ¤Ë¤č¤ęĄ˘
ˇ×ťťľĄ¤ĎĄ˘ĽŞĽÚĽěĄźĽĆĽŁĽóĽ°ĽˇĽšĽĆĽŕ¤ŹľŻĆ°¤š¤ë¤Ţ¤Ç¤ĎĄ˘
ĽÇĽŁĽšĽŻ¤Ť¤éĽ×ĽíĽ°ĽéĽŕ¤ňư¤Ť¤š¤ł¤Č¤â´Ţ¤á¤ĆĄ˘
˛ż¤ň¤É¤Ś¤š¤ě¤Đ¤č¤¤¤Ť¤Ţ¤Ă¤ż¤ŻĂΤę¤Ţ¤ť¤óĄŁ
¤Ç¤ĎĄ˘ˇ×ťťľĄ¤ĎĽŞĽÚĽěĄźĽĆĽŁĽóĽ°ĽˇĽšĽĆĽŕ¤Ę¤ˇ¤Ë
ĽÇĽŁĽšĽŻ¤Ť¤éĽ×ĽíĽ°ĽéĽŕ¤ňźÂšÔ¤š¤ë¤ł¤Č¤Ź¤Ç¤¤şĄ˘
ĽŞĽÚĽěĄźĽĆĽŁĽóĽ°ĽˇĽšĽĆĽŕ¤ÎĽ×ĽíĽ°ĽéĽŕ¤ŹĽÇĽŁĽšĽŻžĺ¤Ë¤˘¤ë¤Î¤Ę¤éĄ˘
¤É¤Ś¤ä¤Ă¤ĆĽŞĽÚĽěĄźĽĆĽŁĽóĽ°ĽˇĽšĽĆĽŕ¤ňľŻĆ°¤š¤ë¤Î¤Ç¤ˇ¤ç¤Ś¤Ť?¤ł¤ÎĚäÂę¤Ď¤Ű¤é¤Ő¤Ă˟ߤÎËÁ¸ą
¤Č¤¤¤ŚËܤÎĂć¤Ë˝ń¤Ť¤ě¤Ć¤¤¤ëĚäÂę¤Č¤Č¤Ć¤â¤č¤Żť÷¤Ć¤¤¤Ţ¤šĄŁ
ĹĐžěżÍĘŞ¤ŹĽŢĽóĽŰĄźĽë¤Î˛ź¤ËȞʏÍî¤Ă¤ł¤Á¤ĆĄ˘
ˇ¤Éł (ĽÖĄźĽČĽšĽČĽéĽĂĽ×) ¤ň¤Ä¤Ť¤ó¤ÇźŤĘʤň°ú¤Ă¤Ń¤ęĄ˘ťý¤Ážĺ¤˛¤ë¤Î¤Ç¤šĄŁ
ˇ×ťťľĄ¤ÎóŐĚŔ´ü¤Ë¤ĎĄ˘ĽÖĄźĽČĽšĽČĽéĽĂĽ×
¤Č¤¤¤ŚÍѸě¤ÇĽŞĽÚĽěĄźĽĆĽŁĽóĽ°ĽˇĽšĽĆĽŕ¤ňĽíĄźĽÉ¤š¤ë
ľĄš˝¤Î¤ł¤Č¤ňťŘ¤ˇ¤Ć¤¤¤ż¤Î¤Ç¤š¤ŹĄ˘
¤¤¤Ţ¤Ď¤ł¤ě¤ň˝Ě¤á¤Ć ĽÖĄźĽČ (ľŻĆ°) ¤Č¸Ŕ¤¤¤Ţ¤šĄŁBIOS´đËÜĆţ˝ĐÎĎĽˇĽšĽĆĽŕ
(Basic Input/Output System)BIOSx86 ĽĎĄźĽÉĽŚĽ§Ľ˘¤Ç¤ĎĄ˘´đËÜĆţ˝ĐÎĎĽˇĽšĽĆĽŕ
(Basic Input/Output System: BIOS)
¤ËĽŞĽÚĽěĄźĽĆĽŁĽóĽ°ĽˇĽšĽĆĽŕ¤ňĽíĄźĽÉ¤š¤ëŔŐǤ¤Ź¤˘¤ę¤Ţ¤šĄŁ
ĽŞĽÚĽěĄźĽĆĽŁĽóĽ°ĽˇĽšĽĆĽŕ¤ňĽíĄźĽÉ¤š¤ë¤ż¤á¤ËĄ˘
BIOS ¤ŹĽĎĄźĽÉĽÇĽŁĽšĽŻžĺ¤ÎĽŢĽšĽżĄźĽÖĄźĽČĽěĽłĄźĽÉ
(Master Boot Record: MBR) ¤ňĂľ¤ˇ¤Ţ¤šĄŁ
MBR ¤ĎĽĎĄźĽÉĽÇĽŁĽšĽŻžĺ¤ÎĆĂÄę¤Îžě˝ę¤Ë¤Ę¤ą¤ě¤Đ¤Ę¤ę¤Ţ¤ť¤óĄŁ
BIOS ¤Ë¤Ď MBR ¤ňĽíĄźĽÉ¤ˇľŻĆ°¤š¤ë¤Î¤Ë˝˝ĘʤĘĂÎźą¤Ź¤˘¤ęĄ˘
ĽŞĽÚĽěĄźĽĆĽŁĽóĽ°ĽˇĽšĽĆĽŕ¤ňĽíĄźĽÉ¤š¤ë¤ż¤á¤ËÉŹÍפʺîśČ¤ÎťÄ¤ę¤ĎĄ˘
žěšç¤Ë¤č¤Ă¤Ć¤Ď BIOS ¤Î˝ő¤ą¤ňĆŔ¤żžĺ¤Ç
MBR ¤ŹźÂšÔ¤Ç¤¤ë¤ł¤Č¤ň˛žÄꤡ¤Ć¤¤¤Ţ¤šĄŁĽŢĽšĽżĄźĽÖĄźĽČĽěĽłĄźĽÉ
(Master Boot Record: MBR)ĽÖĄźĽČĽŢĽÍĄźĽ¸Ľă
(Boot Manager)ĽÖĄźĽČĽíĄźĽŔ
(Boot Loader)MBR ĆâÉô¤ÎĽłĄźĽÉ¤ĎĄ˘
ÄĚžďĽÖĄźĽČĽŢĽÍĄźĽ¸Ľă¤Č¸Ć¤Đ¤ě¤Ţ¤šĄŁ
¤Č¤ę¤ď¤ąĽćĄźĽś¤Č¤ÎÂĐĎĂ¤Ź¤˘¤ëžěšç¤Ë¤˝¤Ś¸Ć¤Đ¤ě¤Ţ¤šĄŁ
¤˝¤Îžěšç¤ĎĄ˘ÄĚžď¤â¤Ă¤ČÂż¤Ż¤ÎĽÖĄźĽČĽŢĽÍĄźĽ¸Ľă¤ÎĽłĄźĽÉ¤ŹĄ˘
ĽÇĽŁĽšĽŻ¤ÎşÇ˝é¤ÎĽČĽéĽĂĽŻ
¤Ţ¤ż¤Ď OS ¤ÎĽŐĽĄĽ¤ĽëĽˇĽšĽĆĽŕžĺ¤Ë¤Ş¤Ť¤ě¤Ţ¤š
(ĽÖĄźĽČĽŢĽÍĄźĽ¸Ľă¤ĎĽÖĄźĽČĽíĄźĽŔ
¤Č¸Ć¤Đ¤ě¤ë¤ł¤Č¤â¤˘¤ę¤Ţ¤š¤ŹĄ˘
FreeBSD ¤Ď¤ł¤Î¸ŔÍŐ¤ňľŻĆ°¤Î¤â¤Ă¤Č¸ĺ¤ÎĂĘłŹ¤ËÂФˇ¤ĆťČ¤¤¤Ţ¤š)ĄŁ
¤č¤ŻťČ¤ď¤ě¤ëĽÖĄźĽČĽŢĽÍĄźĽ¸Ľă¤Ë¤ĎĄ˘
boot0 (Boot Easy
¤Č¤â¸Ć¤Đ¤ě¤ë &os; ɸ˝ŕ¤ÎĽÖĄźĽČĽŢĽÍĄźĽ¸Ľă),
Grub, GAG ¤ä
LILO Ĺů¤Ź¤˘¤ę¤Ţ¤š
(MBR Ćâ¤Ëźý¤Ţ¤ë¤Î¤Ď boot0 ¤Ŕ¤ą¤Ç¤š)ĄŁĽÇĽŁĽšĽŻžĺ¤ËĽ¤ĽóĽšĽČĄźĽë¤ľ¤ě¤Ć¤¤¤ëĽŞĽÚĽěĄźĽĆĽŁĽóĽ°ĽˇĽšĽĆĽŕ¤Ź
1 ¤Ä¤Ç¤˘¤ě¤ĐĄ˘É¸˝ŕ¤Î PC MBR ¤Ç˝˝ĘŹ¤Ç¤šĄŁ
¤ł¤Î MBR ¤ĎĽÇĽŁĽšĽŻžĺ¤ÎşÇ˝é¤ÎľŻĆ°˛ÄÇ˝¤Ę (Ľ˘ĽŻĽĆĽŁĽÖ¤Ę) ĽšĽéĽ¤Ľš¤ňĂľ¤ˇĄ˘
¤˝¤ÎĽšĽéĽ¤Ľš¤Ë¤˘¤ëĽłĄźĽÉ¤ňľŻĆ°¤ˇ¤ĆĽŞĽÚĽěĄźĽĆĽŁĽóĽ°ĽˇĽšĽĆĽŕ¤ÎťÄ¤ę¤ňĽíĄźĽÉ¤ˇ¤Ţ¤šĄŁ
ĽÇĽŐĽŠĽëĽČ¤Ç &man.fdisk.8; ¤ŹĽ¤ĽóĽšĽČĄźĽë¤š¤ë MBR
¤ĎĄ˘¤ł¤Î¤č¤Ś¤Ę MBR ¤Ç¤šĄŁ/boot/mbr
¤ň´đ¤Ë¤ˇ¤Ć¤¤¤Ţ¤šĄŁĽÇĽŁĽšĽŻžĺ¤ËĽŞĽÚĽěĄźĽĆĽŁĽóĽ°ĽˇĽšĽĆĽŕ¤ňĘŁżôĽ¤ĽóĽšĽČĄźĽë¤ˇ¤Ć¤¤¤ë¤Ę¤éĄ˘
Ę̤μ֥źĽČĽŢĽÍĄźĽ¸Ľă
(ĘŁżô¤ÎĽŞĽÚĽěĄźĽĆĽŁĽóĽ°ĽˇĽšĽĆĽŕ¤Î°ěÍ÷¤ňÉ˝ź¨¤Ç¤¤ĆĄ˘
ľŻĆ°¤š¤ëĽŞĽÚĽěĄźĽĆĽŁĽóĽ°ĽˇĽšĽĆĽŕ¤ňÁŞÂň¤Ç¤¤ë¤č¤Ś¤Ę¤â¤Î)
¤ňĽ¤ĽóĽšĽČĄźĽë¤š¤ë¤Č¤č¤¤¤Ç¤ˇ¤ç¤ŚĄŁ
¤ł¤Î¤č¤Ś¤ĘĽÖĄźĽČĽŢĽÍĄźĽ¸Ľă¤ÎĂ植¤é 2 ¤Ä¤ňźĄ¤ÎŔá¤ÇŔâĚŔ¤ˇ¤Ţ¤šĄŁFreeBSD ĽÖĄźĽČĽšĽČĽéĽĂĽ×ĽˇĽšĽĆĽŕ¤ÎťÄ¤ę¤Ď 3 ĂĘłŹ¤ËĘŹ¤Ť¤ě¤Ţ¤šĄŁ
Âč 1 ĽšĽĆĄźĽ¸¤Ď MBR ¤Ë¤č¤Ă¤ĆľŻĆ°¤ľ¤ě¤ë¤â¤Î¤ÇĄ˘
MBR ¤Ďˇ×ťťľĄ¤ňĆĂÄę¤ÎžőÂ֤ˤš¤ë¤ż¤á¤ËÉŹÍפʤł¤Č¤Ŕ¤ąĂΤäƤ¤¤ĆĄ˘
Âč 2 ĽšĽĆĄźĽ¸¤ňľŻĆ°¤ˇ¤Ţ¤šĄŁ
Âč 2 ĽšĽĆĄźĽ¸¤Ç¤ĎĄ˘Âč 3 ĽšĽĆĄźĽ¸¤ňľŻĆ°¤š¤ëÁ°¤ËĄ˘
¤â¤Ś¤Á¤ç¤Ă¤Č¤ä¤ë¤ł¤Č¤Ź¤Ç¤¤Ţ¤šĄŁ
Âč 3 ĽšĽĆĄźĽ¸¤ÇĽŞĽÚĽěĄźĽĆĽŁĽóĽ°ĽˇĽšĽĆĽŕ¤ÎĽíĄźĽÉşîśČ¤ň´°Îť¤ˇ¤Ţ¤šĄŁ
ľŻĆ°şîśČ¤Ź¤ł¤ě¤é¤Î 3 ĂĘłŹ¤ËĘŹ¤Ť¤ě¤Ć¤¤¤ë¤Î¤ĎĄ˘
PC ¤ÎľŹłĘ¤ŹĽšĽĆĄźĽ¸ 1 ¤ČĽšĽĆĄźĽ¸ 2
¤ÇźÂšÔ¤Ç¤¤ëĽ×ĽíĽ°ĽéĽŕ¤ÎĽľĽ¤Ľş¤ËŔŠ¸Â¤ň˛Ý¤ˇ¤Ć¤¤¤ë¤Ť¤é¤Ç¤šĄŁ
¤ł¤ě¤é¤ÎşîśČ¤ň¤Ä¤Ę¤Žšç¤ď¤ť¤ë¤ł¤Č¤Ë¤č¤Ă¤ĆĄ˘
FreeBSD ¤Ď¤č¤ę˝ŔĆđ¤ĘĽíĄźĽŔ (loader) ¤ňÄ󜥤ˇ¤Ć¤¤¤ë¤Î¤Ç¤šĄŁĽŤĄźĽÍĽë (kernel)init¤˝¤Î¸ĺĽŤĄźĽÍĽë¤ŹľŻĆ°¤ˇĄ˘ĽÇĽĐĽ¤Ľš¤Î¸Ą˝Đ¤Č˝é´ü˛˝¤ňłŤťĎ¤ˇ¤Ţ¤šĄŁ
¤˝¤ˇ¤ĆĽŤĄźĽÍĽë¤ÎľŻĆ°¤Ź˝Ş¤ď¤ë¤ČĄ˘ŔЏć¤ĎĽćĄźĽśĄźĽ×ĽíĽťĽš¤Î
&man.init.8; ¤Ř°Ü¤ľ¤ě¤Ţ¤šĄŁ&man.init.8; ¤Ď¤Ţ¤ş
ĽÇĽŁĽšĽŻ¤ŹÍřÍѲÄÇ˝¤Ç¤˘¤ë¤ł¤Č¤ňłÎ¤Ť¤áĄ˘
ĽŐĽĄĽ¤ĽëĽˇĽšĽĆĽŕ¤ÎĽŢĽŚĽóĽČĄ˘
ĽÍĽĂĽČĽďĄźĽŻ¤ÇÍřÍѤš¤ëĽÍĽĂĽČĽďĄźĽŻĽŤĄźĽÉ¤ÎĽťĽĂĽČĽ˘ĽĂĽ×Ą˘
¤˝¤ˇ¤ĆÄĚžď FreeBSD ĽˇĽšĽĆĽŕ¤Ç˝é´üťţ¤ËľŻĆ°¤ľ¤ě¤ë¤š¤Ů¤Ć¤ÎĽ×ĽíĽťĽš¤ÎľŻĆ°Ą˘
¤Č¤¤¤Ă¤żĽćĄźĽśĄźĽěĽŮĽë¤Ç¤ÎĽęĽ˝ĄźĽš (ťń¸ť) ŔßÄę¤ňšÔ¤Ę¤¤¤Ţ¤šĄŁĽÖĄźĽČĽŢĽÍĄźĽ¸Ľă¤ČľŻĆ°ĽšĽĆĄźĽ¸ĽÖĄźĽČĽŢĽÍĄźĽ¸ĽăĽÖĄźĽČĽŢĽÍĄźĽ¸ĽăĽŢĽšĽżĄźĽÖĄźĽČĽěĽłĄźĽÉ (MBR)MBR ¤äĽÖĄźĽČĽŢĽÍĄźĽ¸Ľă¤ÎĽłĄźĽÉ¤ĎľŻĆ°Ľ×ĽíĽťĽš¤ÎÂč
0 ĽšĽĆĄźĽ¸¤Č¸Ć¤Đ¤ě¤ë¤ł¤Č¤Ź¤˘¤ę¤Ţ¤šĄŁ
¤ł¤ÎŔá¤Ç¤ĎÁ°˝Ň¤Î 2 ¤Ä¤ÎĽÖĄźĽČĽŢĽÍĄźĽ¸ĽăĄ˘
boot0 ¤Č LILO
¤Ë¤Ä¤¤¤ĆŔâĚŔ¤ˇ¤Ţ¤šĄŁboot0 ĽÖĄźĽČĽŢĽÍĄźĽ¸ĽăFreeBSD ¤ÎĽ¤ĽóĽšĽČĄźĽé¤ä &man.boot0cfg.8;
¤ŹĽÇĽŐĽŠĽëĽČ¤ÇĽ¤ĽóĽšĽČĄźĽë¤š¤ë
MBR ¤ĎĄ˘/boot/boot0 ¤ň´đ¤Ë¤ˇ¤Ć¤¤¤Ţ¤š
(boot0 ¤ĎČóžď¤ËĂą˝ă¤ĘĽ×ĽíĽ°ĽéĽŕ¤Ç¤šĄŁ
MBR ¤Ë¤˘¤ëĽ×ĽíĽ°ĽéĽŕ¤ĎĄ˘
ĽšĽéĽ¤ĽšĽĆĄźĽÖĽë¤ČËöČř¤ÎźąĘĚťŇ 0x55AA ¤Ź¤˘¤ë¤ż¤áĄ˘
446 ĽĐĽ¤ĽČ¤ÎÂ礤ľ¤Ç¤Ę¤ą¤ě¤Đ¤Ę¤é¤Ę¤¤¤Č¤¤¤ŚŔŠ¸Â¤Ź¤˘¤ë¤ż¤á¤Ç¤š)ĄŁ
ĽĎĄźĽÉĽÇĽŁĽšĽŻ¤Ë boot0
¤ČĘŁżô¤ÎĽŞĽÚĽěĄźĽĆĽŁĽóĽ°ĽˇĽšĽĆĽŕ¤ňĽ¤ĽóĽšĽČĄźĽë¤ˇ¤żžěšçĄ˘
ľŻĆ°ťţ¤Ë°Ę˛ź¤Î¤č¤Ś¤Ę˛čĚĚ¤Ź˝Đ¤ë¤Ç¤ˇ¤ç¤ŚĄŁboot0 ¤ÎĽšĽŻĽęĄźĽóĽˇĽçĽĂĽČF1 DOS
F2 FreeBSD
F3 Linux
F4 ??
F5 Drive 1
Default: F2ž¤ÎĽŞĽÚĽěĄźĽĆĽŁĽóĽ°ĽˇĽšĽĆĽŕĄ˘ĆĂ¤Ë &windows; ¤ĎĄ˘
´ű¸¤Î MBR ¤ňźŤ¤é¤Î MBR ¤Çžĺ˝ń¤¤ˇ¤Ć¤ˇ¤Ţ¤Ś¤ł¤Č¤ÇĂΤé¤ě¤Ć¤¤¤Ţ¤šĄŁ
¤â¤ˇ¤˝¤Ś¤Ę¤Ă¤Ć¤ˇ¤Ţ¤Ă¤ż¤éĄ˘
¤â¤ˇ¤Ż¤Ď´ű¸¤Î MBR ¤ň FreeBSD ¤Î MBR ¤ÇĂÖ¤´š¤¨¤ż¤¤¤Î¤Ę¤éĄ˘
źĄ¤ÎĽłĽŢĽóĽÉ¤ňťČ¤Ă¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ&prompt.root; fdisk -B -b /boot/boot0 devicedevice ¤ĎľŻĆ°¤š¤ëĽÇĽĐĽ¤ĽšĚž¤ÇĄ˘
¤ż¤Č¤¨¤Đ 1 ČÖĚܤΠIDE ĽÇĽŁĽšĽŻ¤Ď
ad0Ą˘
2 ČÖĚܤΠIDE ĽłĽóĽČĽíĄźĽé¤ËŔÜÂł¤ľ¤ě¤Ć¤¤¤ë 1 ČÖĚܤΠIDE ĽÇĽŁĽšĽŻ¤Ď
ad2Ą˘
1 ČÖĚܤΠSCSI ĽÇĽŁĽšĽŻ¤Ď
da0
¤Ę¤É¤Č¤Ę¤ę¤Ţ¤šĄŁ
MBR ¤ÎŔßÄę¤ňĽŤĽšĽżĽŢĽ¤Ľş¤ˇ¤ż¤¤žěšç¤Ď &man.boot0cfg.8;
¤ňťČ¤Ă¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁLILO ĽÖĄźĽČĽŢĽÍĄźĽ¸Ľă¤ł¤ÎĽÖĄźĽČĽŢĽÍĄźĽ¸Ľă¤ňĽ¤ĽóĽšĽČĄźĽë¤ˇ¤Ć FreeBSD
¤ňľŻĆ°¤š¤ë¤č¤Ś¤Ë¤š¤ë¤Ë¤ĎĄ˘¤Ţ¤ş Linux ¤ňľŻĆ°¤ˇ¤Ć
/etc/lilo.conf
ĽłĽóĽŐĽŁĽ°ĽěĄźĽˇĽçĽóĽŐĽĄĽ¤Ľë¤Ë°Ę˛ź¤ňÄɲ䎤äݤŔ¤ľ¤¤ĄŁother=/dev/hdXY
table=/dev/hdX
loader=/boot/chain.b
label=FreeBSDžĺľ¤Ë¤Ş¤¤¤ĆĄ˘FreeBSD ¤ÎĽ×ĽéĽ¤ĽŢĽęĽŃĄźĽĆĽŁĽˇĽçĽó¤ČĽÉĽéĽ¤ĽÖ¤ň
Linux ¤ÎźąĘ̝ҤňťČ¤Ă¤ĆťŘÄꤡ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ
X ¤ň Linux ¤ÎĽÉĽéĽ¤ĽÖʸťú¤ËĄ˘¤Ţ¤ż
Y ¤ň Linux
¤ÎĽ×ĽéĽ¤ĽŢĽęĽŃĄźĽĆĽŁĽˇĽçĽóČÖšć¤ËĂÖ¤´š¤¨¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ
SCSI ĽÉĽéĽ¤ĽÖ¤ňťČ¤Ă¤Ć¤¤¤ë¤Î¤Ç¤˘¤ě¤ĐĄ˘
/dev/hd ¤ň
/dev/sd
¤Î¤č¤Ś¤ËĆɤßÂؤ¨¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ
Ćą¤¸ĽÉĽéĽ¤ĽÖžĺ¤ËΞĘý¤ÎĽŞĽÚĽěĄźĽĆĽŁĽóĽ°ĽˇĽšĽĆĽŕ¤ŹĂÖ¤¤¤Ć¤˘¤ë¤Ę¤éĄ˘
šÔ¤ĎÉÔÍפǤšĄŁ
¤ł¤ě¤Ç /sbin/lilo -v
¤ňźÂšÔ¤š¤ë¤ČĽˇĽšĽĆĽŕ¤Ëżˇ¤ˇ¤¤ĘŃšš¤ŹČżąÇ¤ľ¤ě¤Ţ¤šĄŁ
˛čĚ̤μáĽĂĽťĄźĽ¸¤ň¸Ť¤ĆłÎǧ¤ˇ¤Ć¤Ş¤¤Ţ¤ˇ¤ç¤ŚĄŁľŻĆ°ĽšĽĆĄźĽ¸ 1 /boot/boot1 ¤ČľŻĆ°ĽšĽĆĄźĽ¸ 2
/boot/boot2łľÇ°žĺĄ˘Âč 1 ĽšĽĆĄźĽ¸¤ČÂč 2 ĽšĽĆĄźĽ¸¤Ď
ĽĎĄźĽÉĽÇĽŁĽšĽŻ¤ÎĆą¤¸Îΰčžĺ¤ÎĆą°ě¤ÎĽ×ĽíĽ°ĽéĽŕ¤ÎÉôĘŹÉôĘŹ¤Ç¤šĄŁ
ĽšĽÚĄźĽš¤ÎŔŠĚó¤Î¤ż¤á 2 ¤Ä¤ËĘŹłä¤ľ¤ě¤Ć¤¤¤Ţ¤š¤ŹĄ˘
¤¤¤Ä¤â°ě˝ď¤ËĽ¤ĽóĽšĽČĄźĽë¤ľ¤ě¤Ţ¤šĄŁ
Ľ¤ĽóĽšĽČĄźĽé¤Ţ¤ż¤Ď bsdlabel
¤ĎĄ˘ÎžźÔ¤ň 1 ¤Ä¤Ë¤Ţ¤Č¤á¤żĽŐĽĄĽ¤Ľë
/boot/boot ¤ňĽłĽÔĄź¤ˇ¤Ţ¤š (˛źľť˛žČ)ĄŁÂč 1 ĽšĽĆĄźĽ¸¤ČÂč 2 ĽšĽĆĄźĽ¸¤ĎĄ˘ĽŐĽĄĽ¤ĽëĽˇĽšĽĆĽŕ¤Îł°ÉôĄ˘
ľŻĆ°ĽšĽéĽ¤Ľš¤ÎşÇ˝é¤ÎĽČĽéĽĂĽŻ¤ËĂÖ¤Ť¤ěĄ˘
ŔčĆŹ¤ŹşÇ˝é¤ÎĽťĽŻĽż¤Ë¤¤Ţ¤šĄŁ
boot0
¤Ţ¤ż¤Ď¤˝¤Îž¤ÎĽÖĄźĽČĽŢĽÍĄźĽ¸Ľă¤ĎĄ˘
ľŻĆ°Ľ×ĽíĽťĽš¤ňÂł¤ą¤ë¤ż¤á¤ËÉŹÍ×¤ĘĽ×ĽíĽ°ĽéĽŕ¤Ź¤˝¤ł¤Ë¤˘¤ë¤ČÁŰÄꤡ¤Ć¤¤¤Ţ¤šĄŁ
ťČÍѤľ¤ě¤ëĽťĽŻĽż¤Îżô¤ĎĄ˘/boot/boot
¤ÎÂ礤ľ¤Ť¤é´ĘĂą¤ËĘŹ¤Ť¤ę¤Ţ¤šĄŁboot1 ¤Ď
512 ĽĐĽ¤ĽČ¤ÎÂ礤ľ¤Ç¤Ę¤ą¤ě¤Đ¤Ę¤é¤Ę¤¤¤Č¤¤¤ŚŔŠ¸Â¤Ź¤˘¤ë¤Î¤ÇĄ˘
Čóžď¤ËĂą˝ă¤ĘĽ×ĽíĽ°ĽéĽŕ¤Ç¤šĄŁ
¤ł¤ÎĽ×ĽíĽ°ĽéĽŕ¤Ď boot2 ¤ň¸Ąş÷¤ˇĄ˘
źÂšÔ¤š¤ë¤ż¤áĄ˘¤˝¤ÎĽšĽéĽ¤Ľš¤ÎžđĘó¤ňĘÝťý¤š¤ë FreeBSD
¤Î BSD ĽéĽŮĽë
¤Ë´Ř¤š¤ëşÇÄă¸Â¤ÎžđĘó¤Ŕ¤ą¤ňťý¤Ă¤Ć¤¤¤Ţ¤šĄŁboot2 ¤Ď¤â¤ŚžŻ¤ˇšâľĄÇ˝¤Ç¤šĄŁ
¤ł¤ě¤Ď FreeBSD ¤ÎĽŐĽĄĽ¤ĽëĽˇĽšĽĆĽŕžĺ¤ÇĽŐĽĄĽ¤Ľë¤ň¸Ť¤Ä¤ą¤ëÇ˝ÎϤňťý¤ÁĄ˘
źÂšÔ¤š¤ëĽŤĄźĽÍĽë¤äĽíĄźĽŔ¤ňťŘÄꤚ¤ë¤ż¤á¤Î´ĘĂą¤ĘĽ¤ĽóĽżĽŐĽ§ĄźĽš¤ňÄ󜥤ˇ¤Ţ¤šĄŁĽíĄźĽŔ (loader)
¤Ď¤ľ¤é¤ËšâľĄÇ˝¤Ę¤â¤Î¤ÇĄ˘
ťČ¤¤¤ä¤š¤Ż´ĘĂą¤ĘľŻĆ°ŔßÄꤏšÔ¤Ę¤¨¤ëźęĂʤňÄ󜥤ˇ¤Ţ¤šĄŁ
boot2 ¤ĎÄ̞綠¤ě¤ňľŻĆ°¤ˇ¤Ţ¤šĄŁ
°ĘÁ°¤Î boot2 ¤Ë¤ĎĄ˘
ĽŤĄźĽÍĽë¤ňÄžŔÜľŻĆ°¤š¤ëľĄÇ˝¤ˇ¤Ť¤˘¤ę¤Ţ¤ť¤ó¤Ç¤ˇ¤żĄŁboot2 ¤ÎĽšĽŻĽęĄźĽóĽˇĽçĽĂĽČ>> FreeBSD/i386 BOOT
Default: 0:ad(0,a)/boot/loader
boot:¤â¤ˇ˛ž¤ËĽ¤ĽóĽšĽČĄźĽë¤ľ¤ě¤ż boot1 ¤Č
boot2 ¤ňĘŃšš¤ˇ¤ż¤¤¤Î¤Ç¤˘¤ě¤ĐĄ˘
&man.bsdlabel.8; ¤ňťČ¤Ă¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ&prompt.root; bsdlabel -B diskslicediskslice
¤ĎľŻĆ°¤š¤ëĽÇĽŁĽšĽŻ¤ČĽšĽéĽ¤Ľš¤ÇĄ˘
¤ż¤Č¤¨¤ĐşÇ˝é¤Î IDE ĽÇĽŁĽšĽŻ¤Î 1 ČÖĚܤμšĽéĽ¤Ľš¤Ď
ad0s1 ¤Č¤Ę¤ę¤Ţ¤šĄŁDangerously Dedicated Mode&man.bsdlabel.8; ¤ňťČ¤Ś¤Č¤Ą˘
ad0 ¤Î¤č¤Ś¤ËĽÇĽŁĽšĽŻĚž¤Ŕ¤ą¤ňťŘÄꤚ¤ë¤ČĄ˘
ĽšĽéĽ¤Ľš¤ňťý¤ż¤Ę¤¤´í¸ą¤ĘŔěÍŃĽÇĽŁĽšĽŻ¤ňşîŔޤˇ¤Ć¤ˇ¤Ţ¤¤¤Ţ¤šĄŁ
¤ł¤ě¤Ď¤Ţ¤ş´Ö°ă¤¤¤Ę¤ŻĄ˘¤˘¤Ę¤ż¤Ź¤ä¤ę¤ż¤¤¤ł¤Č¤Ç¤Ď¤Ę¤¤¤Ç¤ˇ¤ç¤Ś¤Ť¤éĄ˘
ÉŹ¤ş Return ĽĄź¤ň˛Ą¤šÁ°¤Ë
&man.bsdlabel.8; ĽłĽŢĽóĽÉ¤ňĆó˝Ĺ¤ËĽÁĽ§ĽĂĽŻ¤ˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁľŻĆ°ĽšĽĆĄźĽ¸ 3 /boot/loaderĽÖĄźĽČĽíĄźĽŔ (boot-loader)ĽíĄźĽŔ¤Ďť°ĂĘłŹ¤ÎľŻĆ°Ľ×ĽíĽťĽš¤ÎşÇ˝ŞĂĘłŹ¤Ç¤šĄŁ
ĽíĄźĽŔ¤ĎÄ̞異ĽŐĽĄĽ¤ĽëĽˇĽšĽĆĽŕžĺ¤Î
/boot/loader
¤Č¤ˇ¤Ć¸şß¤ˇ¤Ć¤¤¤Ţ¤šĄŁĽíĄźĽŔ¤ĎĄ˘¤č¤ę¤ľ¤Ţ¤ś¤Ţ¤ĘĽłĽŢĽóĽÉˇ˛¤ňĽľĽÝĄźĽČ¤ˇ¤ż
śŻÎϤʼ¤ĽóĽżĽ×ĽęĽż¤Ë¤č¤Ă¤ĆÄ󜥤ľ¤ě¤ë´Ę°×ÁȤߚţ¤ßĽłĽŢĽóĽÉˇ˛¤ňÍřÍѤš¤ë¤ł¤Č¤ÇĄ˘
ĽćĄźĽś¤ŹÍřÍѤˇ¤ä¤š¤¤ŔßÄęźęĂʤȤʤë¤č¤Ś¤ËŔߡפľ¤ě¤Ć¤¤¤Ţ¤šĄŁĽíĄźĽŔĽ×ĽíĽ°ĽéĽŕ¤Î˝čÍý¤ÎÎŽ¤ěĽíĄźĽŔ¤Ď˝é´ü˛˝¤ÎşÝ¤ËĽłĽóĽ˝ĄźĽë¤ČĽÇĽŁĽšĽŻ¤Î¸Ą˝Đ¤ňšÔ¤Ę¤¤Ą˘
¤É¤ÎĽÇĽŁĽšĽŻ¤Ť¤éľŻĆ°¤ˇ¤Ć¤¤¤ë¤Ť¤ňÄ´¤Ů¤Ţ¤šĄŁ
¤˝¤ˇ¤ĆÉŹÍפĘĘŃżô¤ňŔßÄꤡ¤Ć¤Ť¤éĽ¤ĽóĽżĽ×ĽęĽż¤ňľŻĆ°¤ˇĄ˘
ĽšĽŻĽęĽ×ĽČ¤Ť¤éĽłĽŢĽóĽÉ¤ňÁ÷¤Ă¤ż¤ęźę¤ÇĽłĽŢĽóĽÉ¤ňĆţÎϤˇ¤ż¤ę¤Ç¤¤Ţ¤šĄŁĽíĄźĽŔĽíĄźĽŔ¤ÎŔßÄęĽíĄźĽŔ¤ĎźĄ¤Ë
/boot/loader.rc
¤ňĆɤߚţ¤ßĄ˘Ä̞異ĘŃżô¤Îɸ˝ŕĂͤňÄęľÁ¤ˇ¤ż
/boot/defaults/loader.conf
¤ČĄ˘¤˝¤ÎĽŢĽˇĽó¤ËĽíĄźĽŤĽë¤ĘĘŃżô¤ňÄęľÁ¤ˇ¤ż
/boot/loader.conf
¤ňĆɤߚţ¤ß¤Ţ¤šĄŁ
loader.rc
¤Ď¤˝¤ě¤é¤ÎĘŃżô¤Ë¤â¤Č¤Ĺ¤Ą˘
ÁŞÂň¤ľ¤ě¤żĽâĽ¸ĽĺĄźĽë¤ČĽŤĄźĽÍĽë¤ňĽíĄźĽÉ¤ˇ¤Ţ¤šĄŁĽíĄźĽŔ¤ĎşÇ¸ĺ¤ËĄ˘É¸˝ŕŔßÄę¤Ç 10 ÉäμĄźĆţÎĎÂÔ¤Áťţ´Ö¤ňÍѰդˇĄ˘
ĆţÎĎ¤Ź¤Ę¤ą¤ě¤ĐĽŤĄźĽÍĽë¤ňľŻĆ°¤ˇ¤Ţ¤šĄŁ
ĆţÎĎ¤Ź¤˘¤Ă¤żžěšçĄ˘´Ę°×ĽłĽŢĽóĽÉˇ˛¤ŹťČ¤¨¤ëĽ×ĽíĽóĽ×ĽČ¤ŹÉ˝ź¨¤ľ¤ěĄ˘
ĽćĄźĽś¤ĎĘŃżô¤ňÄ´Ŕ°¤ˇ¤ż¤ęĄ˘
¤š¤Ů¤Ć¤ÎĽâĽ¸ĽĺĄźĽë¤ňĽ˘ĽóĽíĄźĽÉ¤ˇ¤ż¤ęĄ˘
ĽâĽ¸ĽĺĄźĽë¤ňĽíĄźĽÉ¤ˇ¤ż¤ę¤š¤ë¤ł¤Č¤Ź¤Ç¤¤Ţ¤šĄŁ
¤˝¤Î¸ĺĄ˘şÇ˝ŞĹŞ¤ĘľŻĆ°¤äşĆľŻĆ°¤Ř°ÜšÔ¤ˇ¤Ţ¤šĄŁĽíĄźĽŔ¤ÎÁȤߚţ¤ßĽłĽŢĽóĽÉ¤â¤Ă¤Č¤â¤č¤ŻťČ¤ď¤ě¤ëĽíĄźĽŔ¤ÎĽłĽŢĽóĽÉ¤ň°Ę˛ź¤Ëꍤˇ¤Ţ¤šĄŁ
ÍřÍѲÄÇ˝¤ĘĽłĽŢĽóĽÉ¤ň¤š¤Ů¤ĆĂΤꤿ¤¤žěšçĄ˘
&man.loader.8; ¤ňť˛žČ¤ˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁautoboot secondsseconds
¤ÇÍż¤¨¤é¤ě¤żťţ´ÖĆâ¤ËĆţÎĎ¤Ź¤Ę¤ą¤ě¤ĐĄ˘
ĽŤĄźĽÍĽë¤ÎľŻĆ°¤Ř¤ČżĘ¤ß¤Ţ¤šĄŁ
ĽŤĽŚĽóĽČĽŔĽŚĽó¤ňÉ˝ź¨¤ˇĄ˘É¸˝ŕŔßÄę¤Ç¤Ď 10 Éô֤ǤšĄŁboot
-optionskernelname¤š¤°¤ËĽŤĄźĽÍĽë¤ÎľŻĆ°¤ŘżĘ¤ß¤Ţ¤šĄŁ
ĽŞĽ×ĽˇĽçĽóĄ˘ĽŤĄźĽÍĽëĚž¤ŹťŘÄꤾ¤ě¤Ć¤¤¤ëžěšç¤ĎĄ˘
¤˝¤ě¤é¤ŹťČ¤ď¤ě¤Ţ¤šĄŁboot-conf¤š¤Ů¤Ć¤ÎĽâĽ¸ĽĺĄźĽë¤ÎŔßÄę¤ňĄ˘
ľŻĆ°ťţ¤ČĆą¤¸¤č¤Ś¤ËĘŃżô¤Ë¤â¤Č¤Ĺ¤¤¤ĆźŤĆ°ĹŞ¤ËšÔ¤Ę¤¤¤Ţ¤šĄŁ
¤ł¤ÎĽłĽŢĽóĽÉ¤ĎĄ˘¤Ţ¤ş unload ¤ňšÔ¤Ę¤Ă¤ĆĄ˘
ĘŃżô—ÉáÄĚ kernel
¤Ę¤É—¤ňĘŃšš¤ˇ¤żžěšç¤Ë¤Î¤ß͸ú¤ËĆŻ¤¤Ţ¤šĄŁhelp
topic/boot/loader.help
¤ňĆɤߚţ¤ßĄ˘ĽŘĽëĽ×ĽáĽĂĽťĄźĽ¸¤ňÉ˝ź¨¤ˇ¤Ţ¤šĄŁ
topic ¤Ë
index ¤ŹťŘÄꤾ¤ě¤żžěšçĄ˘ÍřÍѲÄÇ˝¤Ę
topic ¤ňÉ˝ź¨¤ˇ¤Ţ¤šĄŁinclude filename
…ťŘÄꤾ¤ě¤żĽŐĽĄĽ¤ĽëĚž¤ÎĽŐĽĄĽ¤Ľë¤ň˝čÍý¤ˇ¤Ţ¤šĄŁ
ĽíĄźĽŔ¤ĎĽŐĽĄĽ¤Ľë¤ňĆɤߚţ¤ßĄ˘šÔĂą°Ě¤Ç˛ňźá¤ˇ¤Ţ¤šĄŁ
Ľ¨ĽéĄź¤ŹČŻŔ¸¤ˇ¤żžěšçĄ˘
include ĽłĽŢĽóĽÉ¤ÎźÂšÔ¤Ď¤˝¤ÎťţĹŔ¤ÇÄäťß¤ˇ¤Ţ¤šĄŁload typefilenameťŘÄꤾ¤ě¤żĽŐĽĄĽ¤ĽëĚž¤ÎĽŤĄźĽÍĽëĄ˘
ĽŤĄźĽÍĽëĽâĽ¸ĽĺĄźĽëĄ˘¤˘¤ë¤¤¤Ď
type ¤ËťŘÄꤾ¤ě¤żźďÎŕ¤ÎĽŐĽĄĽ¤Ľë¤ňĽíĄźĽÉ¤ˇ¤Ţ¤šĄŁ
ĽŐĽĄĽ¤ĽëĚž°Ęšß¤ËťŘÄꤾ¤ě¤ż°úżô¤ĎĽŐĽĄĽ¤Ľë¤Ř¤ČĹϤľ¤ě¤Ţ¤šĄŁls pathťŘÄꤾ¤ě¤ż path
¤Ë¤˘¤ëĽŐĽĄĽ¤Ľë¤ňÉ˝ź¨¤ˇ¤Ţ¤šĄŁ
path
¤ŹťŘÄꤾ¤ě¤Ć¤¤¤Ę¤ą¤ě¤ĐĄ˘ĽëĄźĽČĽÇĽŁĽěĽŻĽČĽę¤ňÉ˝ź¨¤ˇ¤Ţ¤šĄŁ
¤ŹťŘÄꤾ¤ě¤Ć¤¤¤ě¤ĐĽŐĽĄĽ¤ĽëĽľĽ¤Ľş¤âÉ˝ź¨¤ľ¤ě¤Ţ¤šĄŁlsdev ĽâĽ¸ĽĺĄźĽë¤ŹĽíĄźĽÉ˛ÄÇ˝¤Ę¤š¤Ů¤Ć¤ÎĽÇĽĐĽ¤Ľš¤ňÉ˝ź¨¤ˇ¤Ţ¤šĄŁ
¤â¤ˇ ¤ŹťŘÄꤾ¤ě¤Ć¤¤¤ě¤ĐĄ˘
¤č¤ęžÜşŮ¤Ę˝ĐÎĎ¤Ź¤ľ¤ě¤Ţ¤šĄŁlsmod ĽíĄźĽÉşŃ¤ß¤ÎĽâĽ¸ĽĺĄźĽë¤ňÉ˝ź¨¤ˇ¤Ţ¤šĄŁ
¤ŹťŘÄꤾ¤ě¤Ć¤¤¤ě¤ĐĄ˘
¤č¤ęžÜşŮ¤ĘĆâÍĆ¤Ź˝ĐÎϤľ¤ě¤Ţ¤šĄŁmore filenameLINES
šÔ¤ňÉ˝ź¨¤š¤ë¤´¤Č¤ËÄäťß¤ˇ¤Ę¤Ź¤éťŘÄꤾ¤ě¤żĽŐĽĄĽ¤Ľë¤ňÉ˝ź¨¤ˇ¤Ţ¤šĄŁreboot¤š¤°¤ËĽˇĽšĽĆĽŕ¤ňşĆľŻĆ°¤ˇ¤Ţ¤šĄŁset variableset
variable=valueĽíĄźĽŔ¤Î´ÄśĘŃżô¤ňŔßÄꤡ¤Ţ¤šĄŁunload¤š¤Ů¤Ć¤ÎĽíĄźĽÉşŃ¤ßĽâĽ¸ĽĺĄźĽë¤ňşď˝ü¤ˇ¤Ţ¤šĄŁĽíĄźĽŔ¤ÎťČÍŃÎ㟥¤Ë¤˘¤˛¤ë¤Î¤ĎĄ˘ĽíĄźĽŔ¤ÎźÂÁŠĹŞ¤ĘťČÍŃÎă¤Ç¤šĄŁ
- ĽˇĽóĽ°ĽëĽćĄźĽśĽâĄźĽÉ
- ÉáĂʝȤäƤ¤¤ëĽŤĄźĽÍĽë¤ňĽˇĽóĽ°ĽëĽćĄźĽśĽâĄźĽÉ¤ÇľŻĆ°¤ˇ¤Ţ¤šĄŁ
+ ÉáĂʝȤäƤ¤¤ëĽŤĄźĽÍĽë¤ňĽˇĽóĽ°ĽëĽćĄźĽśĽâĄźĽÉĽˇĽóĽ°ĽëĽćĄźĽśĽâĄźĽÉ¤ÇľŻĆ°¤ˇ¤Ţ¤šĄŁboot -sÉáĂʝȤäƤ¤¤ëĽŤĄźĽÍĽë¤ČĽâĽ¸ĽĺĄźĽë¤ňĽ˘ĽóĽíĄźĽÉ¤ˇĄ˘
¸Ĺ¤¤ (¤â¤ˇ¤Ż¤ĎĘ̤Î) ĽŤĄźĽÍĽë¤ňĽíĄźĽÉ¤ˇ¤Ţ¤šĄŁ
-
- kernel.old
- unloadload kernel.oldkernel.GENERIC ¤Č¤š¤ë¤ČĄ˘
Ľ¤ĽóĽšĽČĄźĽëĽÇĽŁĽšĽŻ¤ËĆţ¤Ă¤Ć¤¤¤ż
generic ĽŤĄźĽÍĽë¤ňťŘÄꤚ¤ë¤ł¤Č¤Ź¤Ç¤¤Ţ¤šĄŁ
¤Ţ¤żĄ˘ÄžÁ°¤ËĽ¤ĽóĽšĽČĄźĽë¤ľ¤ě¤Ć¤¤¤żĽŤĄźĽÍĽë (¤ż¤Č¤¨¤ĐĄ˘
ĽŤĄźĽÍĽë¤ňźŤĘʤÇŔßÄꤡ¤ż¤ęĄ˘
Ľ˘ĽĂĽ×Ľ°ĽěĄźĽÉ¤ˇ¤ż¤ę¤ˇ¤żžěšç) ¤ňťŘÄꤚ¤ë¤Ë¤Ď
- kernel.old ¤Č¤ˇ¤Ţ¤šĄŁ
+ kernel.oldkernel.old ¤Č¤ˇ¤Ţ¤šĄŁ
ÉáĂʤμŤĄźĽÍĽë¤ÇťČ¤Ă¤Ć¤¤¤ëĽâĽ¸ĽĺĄźĽë¤ň
ťŘÄꤡ¤żĽŤĄźĽÍĽë¤ÇĽíĄźĽÉ¤š¤ëžěšç¤ĎĄ˘˛ź¤Î¤č¤Ś¤Ë¤ˇ¤Ţ¤šĄŁunloadset kernel="kernel.old"boot-confĽŤĄźĽÍĽë¤ÎŔßÄ꼚ĽŻĽęĽ×ĽČ (Ä̞異
ĽŤĄźĽÍĽëľŻĆ°ťţ¤ËŔßÄꤾ¤ě¤ëĆâÍƤňźŤĆ°˛˝¤š¤ëĽšĽŻĽęĽ×ĽČ)
¤ňĽíĄźĽÉ¤ˇ¤Ţ¤šĄŁload -t userconfig_script /boot/kernel.confĽŤĄźĽÍĽëľŻĆ°ťţ¤ÎąţĹúĽŤĄźĽÍĽë (kernel)ľŻĆ°ťţ¤ÎąţĹúĽŤĄźĽÍĽë¤ŹĽíĄźĽŔ (ÄĚžď¤Ď)
¤Ťboot2
(ĽíĄźĽŔ¤ňąŞ˛ó¤ˇ¤Ć) ¤Ë¤č¤Ă¤ĆĽíĄźĽÉ¤ľ¤ě¤ë¤ČĄ˘
ľŻĆ°ĽŐĽéĽ°¤ňÄ´¤Ů¤Ţ¤šĄŁ
¤â¤ˇľŻĆ°ĽŐĽéĽ°¤Ź¤˘¤ě¤ĐĄ˘¤˝¤ě¤Ëąţ¤¸¤Ćưşî¤ňÄ´Ŕ°¤ˇ¤Ţ¤šĄŁĽŤĄźĽÍĽëľŻĆ°ĽŐĽéĽ°ĽŤĄźĽÍĽë (kernel)ľŻĆ°ĽŐĽéĽ°ÎÉ¤ŻťČ¤ď¤ě¤ëľŻĆ°ĽŐĽéĽ°¤ĎźĄ¤Î¤Č¤Ş¤ę¤Ç¤šĄŁĽŤĄźĽÍĽë˝é´ü˛˝Ăć¤ËĄ˘
ĽëĄźĽČĽŐĽĄĽ¤ĽëĽˇĽšĽĆĽŕ¤Č¤ˇ¤ĆĽŢĽŚĽóĽČ¤š¤ëĽÇĽĐĽ¤Ľš¤ňżŇ¤Í¤Ţ¤šĄŁCDROM ¤Ť¤éľŻĆ°¤ˇ¤Ţ¤šĄŁľŻĆ°ťţ¤ËĽŤĄźĽÍĽëĽłĽóĽŐĽŁĽ°ĽěĄźĽˇĽçĽó¤ňšÔ¤Ę¤Ś
UserConfig ¤ňźÂšÔ¤ˇ¤Ţ¤šĄŁĽˇĽóĽ°ĽëĽćĄźĽśĽâĄźĽÉ¤ÇľŻĆ°¤ˇ¤Ţ¤šĄŁĽŤĄźĽÍĽëľŻĆ°ťţ¤Ë¤č¤ęžÜşŮ¤ĘžđĘó¤ňÉ˝ź¨¤ˇ¤Ţ¤šĄŁľŻĆ°ĽŐĽéĽ°¤Ď¤ł¤Îž¤Ë¤â¤˘¤ę¤Ţ¤šĄŁ
¤˝¤ě¤é¤Ë¤Ä¤¤¤Ć¤Ď &man.boot.8; ¤ňť˛žČ¤ˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ
TomRhodes´óšĆ: Device Hintsdevice.hints¤ł¤ě¤Ď FreeBSD 5.0 °Ęšß¤ÎľĄÇ˝¤Ç¤šĄŁ
¤ł¤ě°ĘÁ°¤ÎĽĐĄźĽ¸ĽçĽó¤Ë¤Ď¸şß¤ˇ¤Ţ¤ť¤óĄŁľŻĆ°Ľ×ĽíĽťĽš¤Î´Ö¤Ë &man.loader.8; ¤Ď
&man.device.hints.5; ¤ňĆɤߚţ¤ß¤Ţ¤šĄŁ
¤ł¤ÎĽŐĽĄĽ¤Ľë¤Ë¤ĎĽŤĄźĽÍĽëľŻĆ°¤Î´ÄśĘŃżô¤ŹłĘÇź¤ľ¤ě¤Ć¤Ş¤ęĄ˘
¤ł¤ě¤é¤Î´ÄśĘŃżô¤Ď device hints
¤Č¸Ć¤Đ¤ě¤ë¤ł¤Č¤Ź¤˘¤ę¤Ţ¤šĄŁdevice hints
¤ĎĽÇĽĐĽ¤Ľš¤ňŔßÄꤚ¤ë¤ż¤á¤ËĽÇĽĐĽ¤ĽšĽÉĽéĽ¤ĽĐ¤ŹťČÍѤˇ¤Ţ¤šĄŁdevice hints ¤Ď ĽšĽĆĄźĽ¸ 3 ĽÖĄźĽČĽíĄźĽŔ
¤Ç¤âŔßÄę¤Ç¤¤Ţ¤šĄŁĘŃżô¤Ď
set ĽłĽŢĽóĽÉ¤ňÍѤ¤¤ĆÄɲ䡤ż¤ęĄ˘
unset ĽłĽŢĽóĽÉ¤ňÍѤ¤¤Ćşď˝ü¤Ç¤¤Ţ¤šĄŁ
show ĽłĽŢĽóĽÉ¤ňÍѤ¤¤Ć°ěÍ÷¤ň¸Ť¤ë¤ł¤Č¤â¤Ç¤¤Ţ¤šĄŁ
/boot/device.hints ¤ËŔßÄꤾ¤ě¤Ć¤¤¤ëĘŃżô¤Ď
¤ł¤Î¤Č¤¤Ëžĺ˝ń¤¤š¤ë¤ł¤Č¤Ź¤Ç¤¤Ţ¤šĄŁ
ĽíĄźĽŔ¤ÇŔßÄꤡ¤ż device hints ¤Î¸ú˛Ě¤Ď°ěťţĹŞ¤Ę¤â¤Î¤Ç¤˘¤ë¤ż¤áĄ˘
źĄ˛óľŻĆ°¤š¤ë¤Č¤¤Ë¤ĎĚľ¸ú¤Ë¤Ę¤ę¤Ţ¤šĄŁĽˇĽšĽĆĽŕ¤ŹľŻĆ°¤š¤ë¤ČĄ˘&man.kenv.1;
ĽłĽŢĽóĽÉ¤ÇĽŤĄźĽÍĽë´ÄśĘŃżô¤ňĽŔĽóĽ×¤š¤ë¤ł¤Č¤Ź¤Ç¤¤Ţ¤šĄŁ/boot/device.hints
¤Ď 1 šÔ¤Ë¤Ä¤°ě¤Ä¤ÎĘŃżô¤ňŔßÄę¤Ç¤Ą˘šÔĆŹ¤Î #
¤Ď¤˝¤ÎšÔ¤ŹĽłĽáĽóĽČ¤Ç¤˘¤ë¤ł¤Č¤ňꍤˇ¤Ć¤¤¤Ţ¤šĄŁ
˝ńź°¤ĎźĄ¤ÎÄ̤ę¤Ç¤šĄŁhint.driver.unit.keyword="value"ĽšĽĆĄźĽ¸ 3 ĽÖĄźĽČĽíĄźĽŔ ¤ÇŔßÄꤚ¤ë¤Č¤¤Î˝ńź°¤ĎźĄ¤ÎÄ̤ę¤Ç¤šĄŁset hint.driver.unit.keyword=valuedriver ¤ĎĽÇĽĐĽ¤ĽšĽÉĽéĽ¤ĽĐ¤ÎĚžÁ°Ą˘
unit ¤ĎĽÇĽĐĽ¤ĽšĽÉĽéĽ¤ĽĐ¤ÎĽćĽËĽĂĽČČ֚楢
keyword ¤ĎĽŇĽóĽČĽĄźĽďĄźĽÉ¤Ç¤šĄŁ
ĽĄźĽďĄźĽÉ¤ĎźĄ¤ÎŔßÄę¤ňťŘÄꤡ¤Ţ¤š:at:
ĽÇĽĐĽ¤Ľš¤Ź¤É¤ÎĽĐĽš¤ËŔÜÂł¤ľ¤ě¤Ć¤¤¤ë¤ŤťŘÄꤡ¤Ţ¤šĄŁport:
ťČÍѤš¤ë I/O
ĽÝĄźĽČ¤ÎłŤťĎĽ˘ĽÉĽěĽš¤ňťŘÄꤡ¤Ţ¤šĄŁirq:
ťČÍѤš¤ë IRQ ¤ňťŘÄꤡ¤Ţ¤šĄŁdrq:
ťČÍѤš¤ë DMA ĽÁĽăĽÍĽë¤ňťŘÄꤡ¤Ţ¤šĄŁmaddr:
ťČÍѤš¤ëĘŞÍýĽáĽâĽęĽ˘ĽÉĽěĽš¤ňťŘÄꤡ¤Ţ¤šĄŁflags:
ĽÇĽĐĽ¤Ľš¤ËÂФˇ¤Ć¤ľ¤Ţ¤ś¤Ţ¤ĘĽŐĽéĽ°¤ňŔßÄꤡ¤Ţ¤šĄŁdisabled:
1
¤ŹŔßÄꤾ¤ě¤Ć¤¤¤ë¤ČĄ˘¤˝¤ÎĽÇĽĐĽ¤Ľš¤ĎĚľ¸ú¤Ë¤Ę¤ę¤Ţ¤šĄŁĽÇĽĐĽ¤ĽšĽÉĽéĽ¤ĽĐ¤Ď¤ł¤ÎĽęĽšĽČ°Ęł°¤ÎĘŃżô¤ňŔßÄę¤Ç¤¤ë¤Ť¤â¤ˇ¤ě¤Ţ¤ť¤ó¤ˇĄ˘
¤ł¤ÎĽęĽšĽČ°Ęł°¤ÎĘŃżô¤ňÉŹÍפȤš¤ë¤Ť¤â¤ˇ¤ě¤Ţ¤ť¤óĄŁ
¤ˇ¤ż¤Ź¤Ă¤ĆĄ˘ĽÇĽĐĽ¤ĽšĽÉĽéĽ¤ĽĐ¤ÎĽŢĽËĽĺĽ˘Ľë¤ňĆɤळ¤Č¤ň¤Ş¤š¤š¤á¤ˇ¤Ţ¤šĄŁ
¤č¤ęÂż¤Ż¤ÎžđĘó¤ňĂΤꤿ¤ą¤ě¤ĐĄ˘&man.device.hints.5;,
&man.kenv.1;, &man.loader.conf.5;, &man.loader.8;
¤Ę¤É¤ÎĽŢĽËĽĺĽ˘Ľë¤ňť˛žČ¤ˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁinit: Ľ×ĽíĽťĽšŔЏć¤Î˝é´ü˛˝initĽŤĄźĽÍĽë¤ÎľŻĆ°¤Ź´°Îť¤š¤ë¤ČĄ˘&man.init.8;
¤Č¤¤¤ŚĽćĄźĽśĽ×ĽíĽťĽš¤ËŔŠ¸ć¤Ź°Ü¤ľ¤ě¤Ţ¤šĄŁ
¤ł¤ě¤Ď /sbin/initĄ˘
¤â¤ˇ¤Ż¤Ď loader ¤Î
init_path ĘŃżô¤ÇťŘÄꤾ¤ě¤ëžě˝ę¤Ë¤˘¤ę¤Ţ¤šĄŁźŤĆ°şĆľŻĆ° (automatic reboot)¤ÎưşîźŤĆ°şĆľŻĆ°¤Ç¤ĎĄ˘
ĽˇĽšĽĆĽŕžĺ¤ÇÍřÍѤǤ¤ëĽŐĽĄĽ¤ĽëĽˇĽšĽĆĽŕ¤Î°ě´ˇŔ¤ňłÎǧ¤ˇ¤Ţ¤šĄŁ
¤â¤ˇ¤˝¤ě¤ËĚäÂꤏ¤˘¤Ă¤Ć &man.fsck.8;
¤Ź¤˝¤ÎÉÔ°ěĂפň˝¤Éü¤Ç¤¤Ę¤ą¤ě¤ĐĄ˘´ÉÍýźÔ¤ËÄžŔÜÂн褾¤ť¤ë¤ż¤á
&man.init.8; ¤ĎĽˇĽšĽĆĽŕ¤ňĽˇĽóĽ°ĽëĽćĄźĽśĽâĄźĽÉ¤Ř¤Č°ÜšÔ¤ľ¤ť¤Ţ¤šĄŁĽˇĽóĽ°ĽëĽćĄźĽśĽâĄźĽÉĽˇĽóĽ°ĽëĽćĄźĽśĽâĄźĽÉĽłĽóĽ˝ĄźĽë (console)¤ł¤ÎĽâĄźĽÉ¤Ë¤ĎĄ˘
źŤĆ°şĆľŻĆ°¤Î˝čÍýĂ植Ą˘
ĽćĄźĽś¤ŹľŻĆ°ťţ¤Ë ĽŞĽ×ĽˇĽçĽó¤ňťŘÄꤡ¤żžěšçĄ˘
¤˘¤ë¤¤¤Ď loader ¤Ç
boot_single
ĘŃżô¤ňŔßÄꤚ¤ë¤ł¤Č¤Ë¤č¤Ă¤Ć°ÜšÔ¤ˇ¤Ţ¤šĄŁ¤Ţ¤żĄ˘
ĽŢĽëĽÁĽćĄźĽśĽâĄźĽÉ¤Ť¤é
şĆľŻĆ°ĽŞĽ×ĽˇĽçĽó ()
¤äÄäťß (halt) ĽŞĽ×ĽˇĽçĽó () ¤Ę¤ˇ¤Ç
&man.shutdown.8; ¤ň¸Ć¤Ó˝Đ¤š¤Č¤ł¤ÎĽâĄźĽÉ¤Ë°ÜšÔ¤ˇ¤Ţ¤šĄŁ/etc/ttys
¤ÇĽˇĽšĽĆĽŕĽłĽóĽ˝ĄźĽë console
¤Ź insecure ¤ËŔßÄꤾ¤ě¤Ć¤¤¤ëžěšçĄ˘
ĽˇĽšĽĆĽŕ¤ĎĽˇĽóĽ°ĽëĽćĄźĽśĽâĄźĽÉ¤Ë°ÜšÔ¤š¤ëÁ°¤Ë
root ¤ÎĽŃĽšĽďĄźĽÉ¤ňĆţÎϤš¤ë¤č¤Ś¤Ëľá¤á¤Ţ¤šĄŁ/etc/ttys ¤Î insecure ĽłĽóĽ˝ĄźĽë# name getty type status comments
#
# If console is marked "insecure", then init will ask for the root password
# when going to single-user mode.
#
# Ěő) console ¤Ë "insecure" ¤Č¤¤¤Ś°ő¤ň¤Ä¤ą¤ë¤ČĄ˘ĽˇĽóĽ°ĽëĽćĄźĽśĽâĄźĽÉ¤Ř°ÜšÔ¤š¤ë
# şÝ¤Ë init ¤Ź root ¤ÎĽŃĽšĽďĄźĽÉ¤ňÍ׾ᤚ¤ë¤č¤Ś¤Ë¤Ę¤ę¤Ţ¤šĄŁ
#
console none unknown off insecureinsecure ĽłĽóĽ˝ĄźĽë¤Č¤ĎĄ˘
¤˘¤Ę¤żźŤżČĄ˘ĽłĽóĽ˝ĄźĽë¤ŹĘŞÍýĹŞ¤Ë°ÂÁ´¤Ç¤Ę¤¤¤ČšÍ¤¨¤Ć¤¤¤ĆĄ˘
root
¤ÎĽŃĽšĽďĄźĽÉ¤ňĂΤëżÍ¤Ŕ¤ą¤ŹĽˇĽóĽ°ĽëĽćĄźĽśĽâĄźĽÉ¤ň
ťČ¤¨¤ë¤č¤Ś¤Ë¤ˇ¤ż¤¤¤Č¤¤¤Ś°ŐĚŁ¤Ç¤˘¤ęĄ˘
ĽłĽóĽ˝ĄźĽë¤ň°ÂÁ´¤Ç¤Ę¤¤žőÂ֤ǝȤ¤¤ż¤¤¤Č¤¤¤Ś°ŐĚŁ¤Ç¤Ď¤˘¤ę¤Ţ¤ť¤óĄŁ
¤˝¤Î¤ż¤áĄ˘°ÂÁ´Ŕ¤ňľá¤á¤ë¤Ę¤é¤Đ
secure ¤Ç¤Ę¤Ż
insecure ¤ňÁޤó¤Ç¤Ż¤Ŕ¤ľ¤¤ĄŁĽŢĽëĽÁĽćĄźĽśĽâĄźĽÉĽŢĽëĽÁĽćĄźĽśĽâĄźĽÉ&man.init.8; ¤ŹĽŐĽĄĽ¤ĽëĽˇĽšĽĆĽŕ¤ŹŔľžď¤Ç¤˘¤ë¤ČČ˝ĂǤš¤ë¤ŤĄ˘
ĽćĄźĽś¤ŹĽˇĽóĽ°ĽëĽćĄźĽśĽâĄźĽÉ¤ň˝ŞÎť¤š¤ë¤ČĄ˘
ĽˇĽšĽĆĽŕ¤ĎĽŢĽëĽÁĽćĄźĽśĽâĄźĽÉ¤Ř°ÜšÔ¤ˇĄ˘
ĽęĽ˝ĄźĽš¤ÎŔßÄę¤ňťĎ¤á¤Ţ¤šĄŁĽęĽ˝ĄźĽšŔßÄę (rc)rc ĽŐĽĄĽ¤Ľëˇ˛ĽęĽ˝ĄźĽšŔßÄ꼡ĽšĽĆĽŕ¤ĎĽÇĽŐĽŠĽëĽČŔßÄę¤ň
/etc/defaults/rc.conf ¤Ť¤éĄ˘
¤˝¤ÎĽˇĽšĽĆĽŕĆČźŤ¤ÎşŮ¤Ť¤ĘŔßÄę¤ň
/etc/rc.conf ¤Ť¤éĆɤߚţ¤ß¤Ţ¤šĄŁ
¤˝¤ˇ¤Ć /etc/fstab
¤Ëľ˝Ň¤ľ¤ě¤ëĽˇĽšĽĆĽŕĽŐĽĄĽ¤ĽëĽˇĽšĽĆĽŕ¤ňĽŢĽŚĽóĽČ¤ˇĄ˘
ĽÍĽĂĽČĽďĄźĽŻĽľĄźĽÓĽš¤ÎłŤťĎĄ˘
¤ľ¤Ţ¤ś¤Ţ¤ĘĽˇĽšĽĆĽŕĽÇĄźĽâĽó¤ÎłŤťĎĄ˘
¤˝¤ˇ¤ĆşÇ¸ĺ¤ËĄ˘ĽíĄźĽŤĽë¤ËĽ¤ĽóĽšĽČĄźĽë¤ľ¤ě¤ż package
¤ÎľŻĆ°ĽšĽŻĽęĽ×ĽČ¤ÎźÂšÔ¤Ř¤ČżĘ¤ß¤Ţ¤šĄŁĽęĽ˝ĄźĽšŔßÄ꼡ĽšĽĆĽŕ¤Ë´Ř¤š¤ëť˛šÍťńÎÁ¤ĎĄ˘&man.rc.8; ¤Ë¤˘¤ę¤Ţ¤šĄŁ
¤ł¤ě¤ĎĽšĽŻĽęĽ×ĽČ¤˝¤Î¤â¤Î¤ňÄ´¤Ů¤ë¤ł¤Č¤ČĆą¤¸¤Ż¤é¤¤ÍĽ¤ě¤ż¤â¤Î¤Ç¤šĄŁĽˇĽăĽĂĽČĽŔĽŚĽóưşîshutdown&man.shutdown.8;
¤ňÍѤ¤¤ĆĽˇĽšĽĆĽŕ¤ň°ŐżŢĹŞ¤ËĽˇĽăĽĂĽČĽŔĽŚĽó¤ˇ¤żžěšçĄ˘
&man.init.8; ¤Ď
/etc/rc.shutdown
¤Č¤¤¤ŚĽšĽŻĽęĽ×ĽČ¤ÎźÂšÔ¤ňťî¤ß¤Ţ¤šĄŁ
¤˝¤ˇ¤ĆĄ˘¤š¤Ů¤Ć¤ÎĽ×ĽíĽťĽš¤Ř TERM
ĽˇĽ°ĽĘĽë¤ňÁ÷¤ęĄ˘Âł¤¤¤Ć¤Ś¤Ţ¤Ż˝ŞÎť¤Ç¤¤Ę¤Ť¤Ă¤żĽ×ĽíĽťĽš¤Ř
KILL ĽˇĽ°ĽĘĽë¤ňÁ÷¤ę¤Ţ¤šĄŁĹŸť´ÉÍýľĄÇ˝¤ňťý¤Ă¤żĽˇĽšĽĆĽŕ¤Ç˛ÔĆŻ¤ˇ¤Ć¤¤¤ë FreeBSD
¤Ç¤Ď shutdown -p now ĽłĽŢĽóĽÉ¤Ë¤č¤Ă¤ĆĄ˘
Äž¤Á¤ËĹŸť¤ňÍî¤Č¤š¤ł¤Č¤Ź¤Ç¤¤Ţ¤šĄŁFreeBSD ¤ňşĆľŻĆ°¤š¤ë¤Ë¤ĎĄ˘
shutdown -r now ¤ňźÂšÔ¤š¤ë¤Ŕ¤ą¤Ç¤šĄŁ
&man.shutdown.8; ¤ňźÂšÔ¤š¤ë¤Ë¤ĎĄ˘root
¤Ç¤˘¤ë¤ŤĄ˘operator
Ľ°ĽëĄźĽ×¤ÎĽáĽóĽĐ¤Ç¤Ę¤ą¤ě¤Đ¤Ę¤ę¤Ţ¤ť¤óĄŁ&man.halt.8; ¤ä
&man.reboot.8; ĽłĽŢĽóĽÉ¤ňÍřÍѤš¤ë¤ł¤Č¤â¤Ç¤¤Ţ¤š¤ŹĄ˘
¤č¤ęÂż¤Ż¤ÎžđĘó¤ňĂΤ뤿¤á¤ËĄ˘¤˝¤ě¤é¤Č &man.shutdown.8;
¤ÎĽŢĽËĽĺĽ˘ĽëĽÚĄźĽ¸¤ňť˛žČ¤ˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁĹŸť´ÉÍýľĄÇ˝¤Ë¤Ď &man.acpi.4;
¤ŹĽŤĄźĽÍĽë¤ËÁȤߚţ¤Ţ¤ě¤Ć¤¤¤ë¤ŤĄ˘
ĽâĽ¸ĽĺĄźĽë¤ŹĆɤߚţ¤Ţ¤ě¤Ć¤¤¤ë¤ł¤Č¤ŹÉŹÍפǤšĄŁ
diff --git a/ja_JP.eucJP/books/handbook/cutting-edge/chapter.xml b/ja_JP.eucJP/books/handbook/cutting-edge/chapter.xml
index 88bdc10e22..d96c6bb4b9 100644
--- a/ja_JP.eucJP/books/handbook/cutting-edge/chapter.xml
+++ b/ja_JP.eucJP/books/handbook/cutting-edge/chapter.xml
@@ -1,3233 +1,3183 @@
JimMockşĆš˝ŔŽĄ˘şĆĘÔŔŽ¤Ş¤č¤Ó˛ţÄű: JordanHubbard¸śşî: Poul-HenningKampJohnPolstraNikClayton&os; ¤ÎĽ˘ĽĂĽ×ĽÇĄźĽČ¤ČĽ˘ĽĂĽ×Ľ°ĽěĄźĽÉ¤ł¤ÎžĎ¤Ç¤Ď¤˘¤ëĽęĽęĄźĽš¤Ť¤éźĄ¤ÎĽęĽęĄźĽš¤Ţ¤Ç¤Î´ü´Ö¤Ë¤âĄ˘
&os; ¤ÎłŤČŻ¤ĎľŮ¤ß¤Ę¤ŻÂł¤ą¤é¤ě¤Ć¤¤¤Ţ¤šĄŁ
şÇżˇ¤ÎłŤČŻĽÄĽęĄź¤ČĆą´ü¤š¤ë¤ł¤Č¤ňšĽ¤ŕżÍ¤â¤¤¤Ţ¤š¤ˇĄ˘
¸řź°¤ÎĽęĽęĄźĽšČǤňšĽ¤ó¤ÇťČ¤ŚĘý¤â¤¤¤Ţ¤šĄŁ
¤ˇ¤Ť¤ˇ¤Ę¤Ź¤éĄ˘¸řź°¤ÎĽęĽęĄźĽš¤Č¤¤¤¨¤É¤âĄ˘
ĽťĽĽĺĽęĽĆĽŁ¤äž¤Î˝ĹÍפʽ¤Ŕľ¤Î¤ż¤áĄ˘ťţ¤Ë¤ĎĽ˘ĽĂĽ×ĽÇĄźĽČ¤ňšÔ¤ŚÉŹÍפʤ˘¤ę¤Ţ¤šĄŁ
ťČÍѤˇ¤Ć¤¤¤ëĽĐĄźĽ¸ĽçĽó¤Ë´Ř¤ď¤é¤şĄ˘&os; ¤ĎĄ˘
źę¸ľ¤ÎĽˇĽšĽĆĽŕ¤ňşÇżˇ¤ÎłŤČŻĽÄĽęĄź¤ČĆą´ü¤š¤ë¤ż¤á¤ËÉŹÍפʼĥźĽë¤ň¤š¤Ů¤ĆÍѰդˇ¤Ć¤¤¤Ţ¤šĄŁ
¤˝¤ˇ¤ĆĄ˘¤ł¤ě¤é¤ÎĽÄĄźĽë¤ĎĄ˘&os; ¤ÎĽĐĄźĽ¸ĽçĽó¤ňĽ˘ĽĂĽ×Ľ°ĽěĄźĽÉ¤š¤ë¤ż¤á¤ËťČ¤¨¤Ţ¤šĄŁ
¤ł¤ÎžĎ¤Ç¤ĎĄ˘łŤČŻĽÖĽéĽóĽÁ¤ňÄɤ¤¤Ť¤ą¤ëĘýËĄĄ˘¤Ş¤č¤ÓĄ˘&os;
ĽˇĽšĽĆĽŕ¤ňĽ˘ĽĂĽ×ĽÇĄźĽČ¤š¤ë´đËÜĹŞ¤ĘĽÄĄźĽë¤Ë¤Ä¤¤¤Ć˛ňŔ⤡¤Ć¤¤¤Ţ¤šĄŁ¤ł¤ÎžĎ¤ňĆɤó¤ÇĘŹ¤Ť¤ë¤Î¤Ď:ĽˇĽšĽĆĽŕ¤Č Ports Collection
¤ÎĽ˘ĽĂĽ×ĽÇĄźĽČ¤ËÍѤ¤¤ëĽćĄźĽĆĽŁĽęĽĆĽŁ¤Ë¤Ä¤¤¤Ćfreebsd-update,
Subversion ¤â¤ˇ¤Ż¤Ď
CTM
¤ňťČ¤Ă¤ż &os; ĽˇĽšĽĆĽŕ¤ÎššżˇĘýËĄĽ¤ĽóĽšĽČĄźĽë¤ľ¤ě¤Ć¤¤¤ëĽˇĽšĽĆĽŕ¤ČĄ˘ĘŃšš¤ŹšÔ¤ď¤ě¤Ć¤¤¤Ę¤¤žőÂ֤ȤÎČćłÓĘýËĄĄŁSubversion
¤Ţ¤ż¤ĎĽÉĽĽĺĽáĽóĽČÍѤΠports ¤ňťČ¤Ă¤ĆĄ˘
Ľ¤ĽóĽšĽČĄźĽë¤ľ¤ě¤Ć¤¤¤ëĽÉĽĽĺĽáĽóĽČ¤ňşÇżˇ¤Î¤â¤Î¤ËĽ˘ĽĂĽ×ĽÇĄźĽČ¤š¤ëĘýËĄĄŁ2 ¤Ä¤ÎłŤČŻĽÖĽéĽóĽÁĄ˘&os.stable; ¤Č &os.current; ¤Î°ă¤¤ĽŮĄźĽšĽˇĽšĽĆĽŕÁ´ÂΤňşĆš˝ĂۤˇĽ¤ĽóĽšĽČĄźĽë¤š¤ëĘýËĄ¤ł¤ÎžĎ¤ňĆɤŕÁ°¤ËĄ˘°Ę˛ź¤Î˝ŕČ÷¤ň¤ˇ¤Ţ¤ˇ¤ç¤ŚĄŁĽÍĽĂĽČĽďĄźĽŻŔÜÂł¤ÎĹŹŔÚ¤ĘŔßÄę ()ĽľĄźĽÉĽŃĄźĽĆĽŁŔ˝¤ÎĽ˝ĽŐĽČĽŚĽ§Ľ˘¤ÎĽ¤ĽóĽšĽČĄźĽëĘýËĄ¤Î˝ŹĆŔ
()¤ł¤ÎžĎ¤ňÄ̤¸¤ĆĄ˘
&os; ¤ÎĽ˝ĄźĽšĽłĄźĽÉ¤ňĽŔĽŚĽóĽíĄźĽÉ¤ˇ¤ż¤ęĽ˘ĽĂĽ×ĽÇĄźĽČ¤š¤ë¤Î¤Ë
svn ¤ŹÍѤ¤¤é¤ě¤Ţ¤šĄŁ
¤ł¤ÎĽłĽŢĽóĽÉ¤ňťČ¤Ś¤ż¤á¤Ë¤ĎĄ˘devel/subversion port ¤Ţ¤ż¤Ď package
¤ňĽ¤ĽóĽšĽČĄźĽë¤ˇ¤Ć¤Ş¤ŻÉŹÍפʤ˘¤ę¤Ţ¤šĄŁTomRhodes´óšĆ: ColinPercivalĽŮĄźĽš¤Č¤Ę¤Ă¤żĽÎĄźĽČ¤ÎÄóśĄ: &os; UpdateUpdating and Upgradingfreebsd-updateupdating-upgradingĽťĽĽĺĽęĽĆĽŁĽŃĽĂĽÁ¤ňĹŹÍѤš¤ë¤ł¤Č¤ĎĄ˘ĽłĽóĽÔĽĺĄźĽżĽ˝ĽŐĽČĽŚĽ§Ľ˘Ą˘
ĆĂ¤ËĽŞĽÚĽěĄźĽĆĽŁĽóĽ°ĽˇĽšĽĆĽŕ¤ň´ÉÍý¤š¤ëžĺ¤Ç˝ĹÍפĘĚňłä¤ň˛Ě¤ż¤ˇ¤Ţ¤šĄŁ
¤ˇ¤Ť¤ˇ¤Ę¤Ź¤éĄ˘&os; ¤Ë¤Ş¤¤¤Ć¤ĎĄ˘
¤ł¤ÎĽ×ĽíĽťĽš¤Ď´ĘĂą¤Ę¤â¤Î¤Ç¤Ď¤˘¤ę¤Ţ¤ť¤ó¤Ç¤ˇ¤żĄŁ
Ľ˝ĄźĽšĽłĄźĽÉ¤ËĽŃĽĂĽÁ¤ňĹö¤ĆĄ˘ĽłĄźĽÉ¤Ť¤éĽĐĽ¤ĽĘĽę¤ňşĆš˝ĂۤˇĄ˘
ĽĐĽ¤ĽĘĽę¤ňşĆ¤ÓĽ¤ĽóĽšĽČĄźĽë¤š¤ëÉŹÍפʤ˘¤ę¤Ţ¤ˇ¤żĄŁ¸˝şß¤Î &os; ¤Ç¤Ď freebsd-update
¤Č¸Ć¤Đ¤ě¤ëĽćĄźĽĆĽŁĽęĽĆĽŁ¤ŹÄɲ侤쥢žőśˇ¤ĎĘѤď¤ę¤Ţ¤ˇ¤żĄŁ
¤ł¤ÎĽćĄźĽĆĽŁĽęĽĆĽŁ¤Ď 2 ¤Ä¤ÎľĄÇ˝¤ňťý¤Ă¤Ć¤¤¤Ţ¤šĄŁ
Âč°ě¤ËĄ˘&os; ĽŮĄźĽšĽˇĽšĽĆĽŕ¤ÎĽÓĽëĽÉ¤äĽ¤ĽóĽšĽČĄźĽë¤ňšÔ¤Ś¤ł¤Č¤Ę¤ŻĄ˘
ĽĐĽ¤ĽĘĽę¤Ë¤č¤Ă¤ĆĽťĽĽĺĽęĽĆĽŁ¤Ş¤č¤Ó eratta Ľ˘ĽĂĽ×ĽÇĄźĽČ¤Ç¤¤Ţ¤šĄŁ
ÂčĆó¤ËĄ˘¤ł¤ÎĽćĄźĽĆĽŁĽęĽĆĽŁ¤ĎĽŢĽ¤ĽĘĄź¤Ş¤č¤ÓĽáĽ¸ĽăĄźĽęĽęĄźĽš¤ÎĽ˘ĽĂĽ×Ľ°ĽěĄźĽÉ¤ËÂĐąţ¤ˇ¤Ć¤¤¤Ţ¤šĄŁĽĐĽ¤ĽĘĽęĽ˘ĽĂĽ×ĽÇĄźĽČ¤ĎĄ˘
ĽťĽĽĺĽęĽĆĽŁĽÁĄźĽŕ¤ŹĽľĽÝĄźĽČ¤ˇ¤Ć¤¤¤ë¤š¤Ů¤Ć¤ÎĽ˘ĄźĽĽĆĽŻĽÁĽă¤ČĽęĽęĄźĽš¤ÇÍřÍѤǤ¤Ţ¤šĄŁ
żˇ¤ˇ¤¤ĽęĽęĄźĽš¤ËĽ˘ĽĂĽ×ĽÇĄźĽČ¤š¤ëÁ°¤ËĄ˘
Ľ˘ĽĂĽ×ĽÇĄźĽČ¤ˇ¤č¤Ś¤Č¤ˇ¤Ć¤¤¤ëĽęĽęĄźĽš¤ÎĽ˘ĽĘĽŚĽóĽš¤ËĚܤňÄ̤ˇĄ˘
˝ĹÍפʞđĘ󤏤ʤ¤¤Ť¤É¤Ś¤Ť¤ňłÎǧ¤ˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ
ĽęĽęĄźĽš¤ÎĽ˘ĽĘĽŚĽóĽš¤Ď
¤ÇłÎǧ¤Ç¤¤Ţ¤šĄŁ¤â¤ˇ crontab ¤ÎĂć¤Ë
&man.freebsd-update.8; ¤ÎľĄÇ˝¤Ź´Ţ¤Ţ¤ě¤Ć¤¤¤ż¤éĄ˘
°Ę˛ź¤ÎşîśČ¤ňšÔ¤Ś¤Ţ¤Ç¤ĎĚľ¸ú¤Ë¤ˇ¤Ć¤Ş¤¤¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁŔßÄęĽŐĽĄĽ¤Ľë/etc/freebsd-update.conf
¤ÎŔßÄę¤ňĽÇĽŐĽŠĽëĽČ¤Ť¤é¤¤áşŮ¤Ť¤ŻÄ´Ŕ°¤ˇ¤ĆĄ˘
Ľ˘ĽĂĽ×ĽÇĄźĽČĽ×ĽíĽťĽš¤ňŔŠ¸ć¤š¤ëĽćĄźĽś¤â¤¤¤Ţ¤šĄŁ
¤ł¤ÎşîśČ¤ĎÎɤŻĘ¸˝ń˛˝¤ľ¤ě¤Ć¤¤¤Ţ¤š¤ŹĄ˘
°Ę˛ź¤ÎšŕĚܤˤĤ¤¤Ć¤ĎŔâĚŔ¤ŹÉŹÍפǤˇ¤ç¤ŚĄŁ# Components of the base system which should be kept updated.
Components src world kernel¤ł¤ÎĽŃĽéĽáĄźĽż¤ĎĄ˘&os; ¤Î¤É¤ÎÉôĘŹ¤ňşÇżˇ¤Ë°Ýťý¤š¤ë¤Ť¤ňŔßÄꤡ¤Ţ¤šĄŁ
ĽÇĽŐĽŠĽëĽČ¤Ç¤ĎĽ˝ĄźĽšĽłĄźĽÉĄ˘ĽŮĄźĽšĽˇĽšĽĆĽŕÁ´ÂÎĄ˘¤˝¤ˇ¤ĆĽŤĄźĽÍĽë¤ňĽ˘ĽĂĽ×ĽÇĄźĽČ¤ˇ¤Ţ¤šĄŁ
Components ¤ËŔßÄę¤Ç¤¤ëšŕĚܤϥ˘Ľ¤ĽóĽšĽČĄźĽëťţ¤ËÁŞÂň¤Ç¤¤ë¤â¤Î¤ČĆą¤¸¤Ç¤šĄŁ
¤ż¤Č¤¨¤ĐĄ˘¤ł¤ł¤Ç world/games ¤ňÄɲ䚤ë¤ČĄ˘
game ¤ËĽŃĽĂĽÁ¤ŹĹö¤ż¤ë¤č¤Ś¤Ë¤Ę¤ę¤Ţ¤šĄŁ
src/bin ¤ňÄɲ䚤ë¤ČĄ˘
src/bin
Ľ˝ĄźĽšĽłĄźĽÉ¤ÎĽ˘ĽĂĽ×ĽÇĄźĽČ¤ňľö˛Ä¤ˇ¤Ţ¤šĄŁ¤ł¤ÎÉôĘŹ¤Ë¤Ä¤¤¤Ć¤ĎĽÇĽŐĽŠĽëĽČ¤Î¤Ţ¤Ţ¤Ë¤ˇ¤Ć¤Ş¤Ą˘
Ľ˘ĽĂĽ×ĽÇĄźĽČ¤š¤ëšŕĚܤňĽćĄźĽś¤ŹĽęĽšĽČ¤Ë˛Ă¤¨¤ëˇÁ¤Ë¤š¤ë¤Î¤ŹĽŮĽšĽČ¤Ç¤ˇ¤ç¤ŚĄŁ
Ľ˝ĄźĽšĽłĄźĽÉ¤ČĽĐĽ¤ĽĘĽę¤ŹĆą´ü¤ˇ¤Ć¤¤¤Ę¤¤¤ČĄ˘
Čáť´¤Ęˇë˛Ě¤ň¤â¤ż¤é¤š˛ÄÇ˝Ŕ¤Ź¤˘¤ę¤Ţ¤šĄŁ# Paths which start with anything matching an entry in an IgnorePaths
# statement will be ignored.
IgnorePaths/bin ¤ä
/sbin
Ĺů¤ÎĆĂÄę¤ÎĽÇĽŁĽěĽŻĽČĽę¤ňĽ˘ĽĂĽ×ĽÇĄźĽČ¤ÇĘŃšš¤ˇ¤Ę¤¤¤č¤Ś¤ËĄ˘
¤ł¤ě¤é¤ÎĽŃĽš¤ňÄɲ䎤äݤŔ¤ľ¤¤ĄŁ
¤ł¤ÎĽŞĽ×ĽˇĽçĽó¤ĎĄ˘ĽíĄźĽŤĽë¤ÎĘŃššĹŔ¤ň freebsd-update
¤Źžĺ˝ń¤¤š¤ë¤ł¤Č¤ňËɤ°ĚÜĹŞ¤Ë¤âÍřÍѤǤ¤Ţ¤šĄŁ# Paths which start with anything matching an entry in an UpdateIfUnmodified
# statement will only be updated if the contents of the file have not been
# modified by the user (unless changes are merged; see below).
UpdateIfUnmodified /etc/ /var/ /root/ /.cshrc /.profile¤ł¤ÎĽŞĽ×ĽˇĽçĽó¤ĎĄ˘ťŘÄꤡ¤żĽÇĽŁĽěĽŻĽČĽę¤Ë¤˘¤ëŔßÄęĽŐĽĄĽ¤Ľë¤ňĄ˘
ĽíĄźĽŤĽë¤ÇĘŃšš¤ľ¤ě¤Ć¤¤¤Ę¤¤žěšç¤Î¤ßĽ˘ĽĂĽ×ĽÇĄźĽČ¤ˇ¤Ţ¤šĄŁ
ĽćĄźĽś¤Ź¤ł¤ě¤é¤ÎĽŐĽĄĽ¤Ľë¤ňĘŃšš¤ˇ¤Ć¤¤¤ë¤ČĄ˘
¤ł¤ě¤é¤ÎĽŐĽĄĽ¤Ľë¤ÎźŤĆ°Ľ˘ĽĂĽ×ĽÇĄźĽČ¤ĎĚľ¸ú¤Ë¤Ę¤ę¤Ţ¤šĄŁ
ž¤ËĄ˘KeepModifiedMetadata
¤Č¤¤¤ŚĘĚ¤ÎĽŞĽ×ĽˇĽçĽó¤ŹÂ¸şß¤ˇ¤Ţ¤šĄŁ
¤ł¤ÎĽŞĽ×ĽˇĽçĽó¤ĎĄ˘freebsd-update
¤ŹĽŢĄźĽ¸Ăć¤ËĘŃššĹŔ¤ňĘݸ¤š¤ë¤č¤Ś¤Ë¤ˇ¤Ţ¤šĄŁ# When upgrading to a new &os; release, files which match MergeChanges
# will have any local changes merged into the version from the new release.
MergeChanges /etc/ /var/named/etc/freebsd-update
¤ŹĽŢĄźĽ¸¤š¤Ů¤ĽŐĽĄĽ¤Ľë¤ŹÂ¸şß¤š¤ëĽÇĽŁĽěĽŻĽČĽę¤Î°ěÍ÷¤Ç¤šĄŁ
ĽŐĽĄĽ¤Ľë¤ÎĽŢĄźĽ¸¤ÎĽ×ĽíĽťĽš¤ĎĄ˘
&man.mergemaster.8; ¤ČĆąÍÍ &man.diff.1; ĽŃĽĂĽÁ¤ÎϢ³¤Ç¤š¤ŹĄ˘
ÁŞÂňťč¤ĎžŻ¤Ę¤ŻĄ˘ĽŢĄźĽ¸¤ňžľÇ§¤š¤ë¤ŤĄ˘Ľ¨ĽÇĽŁĽż¤ňľŻĆ°¤š¤ë¤ŤĄ˘
freebsd-update
¤ňĂćĂǤš¤ë¤Ť¤É¤Ś¤Ť¤ňÁޤó¤Ç¤Ż¤Ŕ¤ľ¤¤ĄŁ
¤â¤ˇĄ˘ż´ÇۤĘĹŔ¤Ź¤˘¤ě¤ĐĄ˘
/etc
¤ňĽĐĽĂĽŻĽ˘ĽĂĽ×¤ˇ¤Ć¤Ť¤éĽŢĄźĽ¸¤ňžľÇ§¤ˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ
mergemaster ¤ÎžÜşŮ¤ĘžđĘó¤Ë¤Ä¤¤¤Ć¤ĎĄ˘
¤ÇłÎǧ¤ˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ# Directory in which to store downloaded updates and temporary
# files used by &os; Update.
# WorkDir /var/db/freebsd-update¤ł¤ł¤Ç¤Ď¤š¤Ů¤Ć¤ÎĽŃĽĂĽÁ¤ä°ěźĄĽŐĽĄĽ¤Ľë¤ňĂÖ¤ŻĽÇĽŁĽěĽŻĽČĽę¤ňťŘÄꤡ¤Ć¤¤¤Ţ¤šĄŁ
ĽĐĄźĽ¸ĽçĽó¤ňĽ˘ĽĂĽ×Ľ°ĽěĄźĽÉ¤š¤ë¤Î¤Ç¤˘¤ě¤ĐĄ˘
¤ł¤Îžě˝ę¤Ë¤ĎžŻ¤Ę¤Ż¤Č¤âĽŽĽŹĽĐĽ¤ĽČ¤Îśő¤ÍĆÎ̤ŹÉŹÍפǤšĄŁ# When upgrading between releases, should the list of Components be
# read strictly (StrictComponents yes) or merely as a list of components
# which *might* be installed of which &os; Update should figure out
# which actually are installed and upgrade those (StrictComponents no)?
# StrictComponents no¤ł¤ÎĽŞĽ×ĽˇĽçĽó¤ň yes ¤ËŔßÄꤚ¤ë¤ČĄ˘
freebsd-update ¤Ď
Components ¤ÎĽęĽšĽČ¤Ź´°Á´¤ËŔľ¤ˇ¤¤¤ČČ˝ĂǤˇĄ˘
¤ł¤ÎĽęĽšĽČ°Ęł°¤ÎĘŃššĹŔ¤Ë¤Ä¤¤¤Ć¤Ďźč¤ę°ˇ¤¤¤Ţ¤ť¤óĄŁ
freebsd-update ¤ĎĄ˘¸úΨŪ¤Ë
Components
ĽęĽšĽČ¤Ë°¤š¤ëĽŐĽĄĽ¤Ľë¤ňĽ˘ĽĂĽ×ĽÇĄźĽČ¤ˇ¤Ţ¤šĄŁĽťĽĽĺĽęĽĆĽŁĽŃĽĂĽÁ°Ę˛ź¤ÎĽłĽŢĽóĽÉ¤ňźÂšÔ¤š¤ë¤ČĄ˘&os;
¤ÎĽťĽĽĺĽęĽĆĽŁĽŃĽĂĽÁ¤ŹĽŔĽŚĽóĽíĄźĽÉ¤ľ¤ěĄ˘Ľ¤ĽóĽšĽČĄźĽë¤ľ¤ě¤Ţ¤šĄŁ&prompt.root; freebsd-update fetch
&prompt.root; freebsd-update installĽ˘ĽĂĽ×ĽÇĄźĽČ¤Ë¤č¤Ă¤ĆĽŤĄźĽÍĽë¤ËĽŃĽĂĽÁ¤ŹĹö¤ż¤Ă¤żžěšç¤Ë¤ĎĄ˘
ĽŃĽĂĽÁ¤ŹĹö¤ż¤Ă¤żĽŤĄźĽÍĽë¤ÇľŻĆ°¤š¤ë¤č¤Ś¤ËĄ˘
ĽˇĽšĽĆĽŕ¤ňşĆľŻĆ°¤š¤ëÉŹÍפʤ˘¤ę¤Ţ¤šĄŁ
¤â¤ˇ¤Ż¤ĎĄ˘ĽˇĽšĽĆĽŕ¤ËĽŃĽĂĽÁ¤ŹĹö¤Ć¤é¤ěĄ˘
ËčČդΠ&man.cron.8; Ľ¸ĽçĽÖ¤Č¤ˇ¤ĆĄ˘freebsd-update
¤ňźÂšÔ¤š¤ë¤č¤Ś¤ËĄ˘
°Ę˛ź¤ÎĽ¨ĽóĽČĽę¤ň /etc/crobntab
¤ËÄɲ䎤äݤŔ¤ľ¤¤ĄŁ@daily root freebsd-update cron¤ł¤ÎĽ¨ĽóĽČĽę¤ĎĄ˘ËčĆü°ěĹŮ freebsd-update
¤ňźÂšÔ¤š¤ë¤ł¤Č¤ň°ŐĚŁ¤ˇ¤Ţ¤šĄŁ
¤ČśŚ¤ËźÂšÔ¤š¤ë¤ČĄ˘
freebsd-update
¤ĎĽ˘ĽĂĽ×ĽÇĄźĽČ¤ŹÂ¸şß¤š¤ë¤Č¤¤Ŕ¤ąłÎǧ¤ˇ¤Ţ¤šĄŁ
ĽŃĽĂĽÁ¤ŹÂ¸şß¤š¤ë¤ČĄ˘
źŤĆ°ĹŞ¤ËĽíĄźĽŤĽëĽÇĽŁĽšĽŻ¤ËĽŔĽŚĽóĽíĄźĽÉ¤ľ¤ě¤Ţ¤š¤ŹĄ˘ĹŹÍѤϤľ¤ě¤Ţ¤ť¤óĄŁ
ĽŔĽŚĽóĽíĄźĽÉ¤ľ¤ě¤żĽŃĽĂĽÁ¤ňłÎǧ¤ˇĄ˘źęư¤ÇĽ¤ĽóĽšĽČĄźĽë¤š¤ëÉŹÍפΤ˘¤ë¤ł¤Č¤ŹĄ˘
root °¸¤Ć¤ËĽáĄźĽë¤ÇÄĚĂΤľ¤ě¤Ţ¤šĄŁ¤Ś¤Ţ¤ŻšÔ¤Ť¤Ę¤Ť¤Ă¤żžěšç¤Ë¤ĎĄ˘freebsd-update
¤ň°Ę˛ź¤Î¤č¤Ś¤ËźÂšÔ¤š¤ë¤ČĄ˘şÇ¸ĺ¤ÎĘŃšš¤Ţ¤ÇĽíĄźĽëĽĐĽĂĽŻ¤Ç¤¤Ţ¤šĄŁ&prompt.root; freebsd-update rollbackĽŤĄźĽÍĽë¤Ţ¤ż¤ĎĽŤĄźĽÍĽëĽâĽ¸ĽĺĄźĽë¤ŹĽ˘ĽĂĽ×ĽÇĄźĽČ¤ľ¤ě¤żžěšç¤Ë¤ĎĄ˘
´°Îť¸ĺ¤ËĽˇĽšĽĆĽŕ¤ňşĆľŻĆ°¤ˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ
¤ł¤ÎşîśČ¤Ë¤č¤Ă¤ĆĄ˘&os; ¤ŹĽĐĽ¤ĽĘĽę¤ňĽáĽâĽę¤ËĆɤߚţ¤ß¤Ţ¤šĄŁfreebsd-update
ĽćĄźĽĆĽŁĽęĽĆĽŁ¤ŹźŤĆ°ĹŞ¤ËĽ˘ĽĂĽ×ĽÇĄźĽČ¤š¤ëĽŤĄźĽÍĽë¤Ď
GENERIC ¤Î¤ß¤Ç¤šĄŁ
ĽŤĽšĽżĽŕĽŤĄźĽÍĽë¤ŹĽ¤ĽóĽšĽČĄźĽë¤ľ¤ě¤Ć¤¤¤ëžěšç¤Ë¤ĎĄ˘
freebsd-update ¤ŹÂž¤ÎÉôĘŹ¤ňĽ¤ĽóĽšĽČĄźĽë¤ˇ¤ż¸ĺĄ˘
ĽŤĄźĽÍĽë¤ňşĆš˝ĂۤˇĄ˘¤â¤Ś°ěĹŮĽ¤ĽóĽšĽČĄźĽë¤š¤ëÉŹÍפʤ˘¤ę¤Ţ¤šĄŁ
¤ˇ¤Ť¤ˇ¤Ę¤Ź¤éĄ˘GENERIC ĽŤĄźĽÍĽë¤Ź /boot/GENERIC
¤Ë¸şß¤š¤ëžěšç¤Ë¤ĎĄ˘
¸˝şß¤ÎĽˇĽšĽĆĽŕ¤ÇźÂšÔ¤ľ¤ě¤Ć¤¤¤ëĽŤĄźĽÍĽë¤Ç¤Ę¤Ż¤Č¤âĄ˘
freebsd-update
¤Ë¤č¤ęĽ˘ĽĂĽ×ĽÇĄźĽČ¤ľ¤ě¤Ţ¤šĄŁGENERIC ĽŤĄźĽÍĽë¤ňĄ˘žď¤Ë /boot/GENERIC
¤ËĂÖ¤¤¤Ć¤Ş¤Ż¤ł¤Č¤ĎÎɤ¤šÍ¤¨¤Ç¤šĄŁ
¤ľ¤Ţ¤ś¤Ţ¤ĘĚäÂę¤ň˛ňˇč¤š¤ëşÝ¤äĄ˘
¤ËŔâĚŔ¤ľ¤ě¤Ć¤¤¤ë¤č¤Ś¤ËĄ˘
freebsd-update
¤ňÍѤ¤¤ĆĽĐĄźĽ¸ĽçĽó¤ňĽ˘ĽĂĽ×Ľ°ĽěĄźĽÉ¤š¤ëşÝ¤Ë˝ő¤ą¤Č¤Ę¤ę¤Ţ¤šĄŁ/etc/freebsd-update.conf
¤ÎĽÇĽŐĽŠĽëĽČ¤ÎŔßÄę¤ňĘŃšš¤ˇ¤Ę¤¤¸Â¤ęĄ˘
freebsd-update ¤ĎĄ˘
ž¤Îššżˇ¤ČśŚ¤ËĽŤĄźĽÍĽëĽ˝ĄźĽš¤ňĽ˘ĽĂĽ×ĽÇĄźĽČ¤ˇ¤Ţ¤šĄŁ
żˇ¤ˇ¤¤ĽŤĽšĽżĽŕĽŤĄźĽÍĽë¤ÎşĆš˝ĂۤȺƼ¤ĽóĽšĽČĄźĽë¤ĎĄ˘
ÄĚžďÄ̤ęšÔ¤Ś¤ł¤Č¤Ź¤Ç¤¤Ţ¤šĄŁfreebsd-update ¤ĎĄ˘
žď¤ËĽŤĄźĽÍĽë¤ňĽ˘ĽĂĽ×ĽÇĄźĽČ¤š¤ë¤Č¤Ď¸Â¤ę¤Ţ¤ť¤óĄŁ
freebsd-update install
¤Ë¤č¤Ă¤ĆĽŤĄźĽÍĽëĽ˝ĄźĽš¤ŹĘŃšš¤ľ¤ě¤Ę¤Ť¤Ă¤żžěšç¤Ë¤ĎĄ˘
ĽŤĽšĽżĽŕĽŤĄźĽÍĽë¤ňşĆš˝Ăۤš¤ëÉŹÍפϤ˘¤ę¤Ţ¤ť¤óĄŁ
¤ˇ¤Ť¤ˇ¤Ę¤Ź¤é freebsd-update ¤ĎĄ˘
/usr/src/sys/conf/newvers.sh
¤ňžď¤ËĽ˘ĽĂĽ×ĽÇĄźĽČ¤ˇ¤Ţ¤šĄŁ
¤ł¤ě¤ĎĄ˘¸˝şß¤ÎĽˇĽšĽĆĽŕ¤ÎĽŃĽĂĽÁĽěĽŮĽë¤ň
uname -r ¤Ź -p
¤ÇÉ˝ź¨¤š¤ëťţ¤Ë¤ł¤ÎĽŐĽĄĽ¤Ľë¤Źť˛žČ¤ľ¤ě¤Ţ¤šĄŁ
¤˝¤Î¤ż¤áĄ˘˛ż¤âĘŃšš¤ľ¤ě¤Ć¤¤¤Ę¤¤žěšç¤Ç¤âĄ˘ĽŤĽšĽżĽŕĽŤĄźĽÍĽë¤ňşĆš˝Ăۤš¤ë¤ł¤Č¤Ë¤č¤ęĄ˘
&man.uname.1; ¤ŹĽˇĽšĽĆĽŕ¤ÎŔľłÎ¤ĘĽŃĽĂĽÁĽěĽŮĽë¤ňĘóšđ¤š¤ë¤č¤Ś¤Ë¤Ę¤ę¤Ţ¤šĄŁ
łĆĽˇĽšĽĆĽŕ¤ËĽ¤ĽóĽšĽČĄźĽë¤ľ¤ě¤Ć¤¤¤ëĽ˘ĽĂĽ×ĽÇĄźĽČ¤ň¤š¤Đ¤ä¤ŻÇÄ°Ž¤Ç¤¤ë¤č¤Ś¤Ë¤Ę¤ë¤Î¤ÇĄ˘
ĆäËĘŁżô¤ÎĽˇĽšĽĆĽŕ¤ň´ÉÍý¤š¤ë¤Č¤¤Ë˝ő¤ą¤Č¤Ę¤ę¤Ţ¤šĄŁĽáĽ¸ĽăĄź¤Ş¤č¤ÓĽŢĽ¤ĽĘĄźĽĐĄźĽ¸ĽçĽó¤ÎĽ˘ĽĂĽ×Ľ°ĽěĄźĽÉ&os; ¤ÎĽŢĽ¤ĽĘĄźĽĐĄźĽ¸ĽçĽó´Ö¤ÎĽ˘ĽĂĽ×Ľ°ĽěĄźĽÉĄ˘
¤ż¤Č¤¨¤ĐĄ˘&os; 9.0 ¤Ť¤é &os; 9.1 ¤Ř¤ÎĽ˘ĽĂĽ×Ľ°ĽěĄźĽÉ¤ĎĄ˘
ĽŢĽ¤ĽĘĄźĽĐĄźĽ¸ĽçĽó Ľ˘ĽĂĽ×Ľ°ĽěĄźĽÉ¤Č¸Ć¤Đ¤ě¤Ţ¤šĄŁ
ÄĚžď¤ĎĄ˘ĽŢĽ¤ĽĘĄźĽĐĄźĽ¸ĽçĽó¤ÎĽ˘ĽĂĽ×Ľ°ĽěĄźĽÉ¤ňšÔ¤Ă¤ż¸ĺ¤Ç¤âĄ˘
Ľ¤ĽóĽšĽČĄźĽë¤ľ¤ě¤Ć¤¤¤ëĽ˘Ľ×ĽęĽąĄźĽˇĽçĽó¤ĎĚäÂę¤Ę¤ŻĆ°¤¤Ţ¤šĄŁĽáĽ¸ĽăĄźĽĐĄźĽ¸ĽçĽó Ľ˘ĽĂĽ×Ľ°ĽěĄźĽÉ¤ĎĄ˘
&os; 8.X ¤Ť¤é &os; 9.X ¤Ř¤ÎĽ˘ĽĂĽ×Ľ°ĽěĄźĽÉ¤Č¤¤¤Ă¤żĄ˘
&os; ¤ÎĽáĽ¸ĽăĄźĽĐĄźĽ¸ĽçĽó¤ŹĘѤď¤ë¤č¤Ś¤ĘĽ˘ĽĂĽ×Ľ°ĽěĄźĽÉ¤Î¤ł¤Č¤Ç¤šĄŁ
ĽáĽ¸ĽăĄźĽĐĄźĽ¸ĽçĽó¤ÎĽ˘ĽĂĽ×Ľ°ĽěĄźĽÉ¤Ç¤ĎĄ˘
¸Ĺ¤¤ĽŞĽÖĽ¸Ľ§ĽŻĽČĽŐĽĄĽ¤Ľë¤äĽéĽ¤ĽÖĽéĽę¤Źşď˝ü¤ľ¤ěĄ˘
¤ł¤ě¤é¤Ë°Í¸¤š¤ëÂż¤Ż¤ÎĽľĄźĽÉĽŃĄźĽĆĽŁŔ˝Ľ˘Ľ×ĽęĽąĄźĽˇĽçĽó¤ËąĆśÁ¤ňÍż¤¨¤ë˛ÄÇ˝Ŕ¤Ź¤˘¤ę¤Ţ¤šĄŁ
Ľ¤ĽóĽšĽČĄźĽë¤ľ¤ě¤Ć¤¤¤ë¤š¤Ů¤Ć¤Î ports ¤ňşď˝ü¤ˇ¤ĆşĆĽ¤ĽóĽšĽČĄźĽë¤š¤ë¤ŤĄ˘
ĽáĽ¸ĽăĄźĽ˘ĽĂĽ×Ľ°ĽěĄźĽÉ¸ĺĄ˘
ports-mgmt/portmaster
¤Č¤¤¤Ă¤żĽćĄźĽĆĽŁĽęĽĆĽŁ¤ňťČ¤Ă¤ĆĽ˘ĽĂĽ×Ľ°ĽěĄźĽÉ¤š¤ë¤ł¤Č¤ŹżäžŠ¤ľ¤ě¤Ć¤¤¤Ţ¤šĄŁ
Ľ¤ĽóĽšĽČĄźĽë¤ľ¤ě¤Ć¤¤¤ëĽ˘Ľ×ĽęĽąĄźĽˇĽçĽó¤ÎĽÖĽëĄźĽČĽŐĽŠĄźĽšĹŞ¤ĘşĆš˝Ăۤϥ˘
°Ę˛ź¤ÎĽłĽŢĽóĽÉ¤Ë¤č¤ęšÔ¤Ś¤ł¤Č¤Ź¤Ç¤¤Ţ¤šĄŁ&prompt.root; portmaster -af¤ł¤ÎĽłĽŢĽóĽÉ¤ĎĄ˘¤š¤Ů¤Ć¤Î ports ¤ňĹŹŔڤ˺Ƽ¤ĽóĽšĽČĄźĽë¤ˇ¤č¤Ś¤Č¤ˇ¤Ţ¤šĄŁ
BATCH ´ÄśĘŃżô¤ň
yes ¤ËŔßÄꤡ¤Ć¤Ş¤Ż¤ČĄ˘
Ľ˘ĽĂĽ×ĽÇĄźĽČĽ×ĽíĽťĽš¤ÎĹÓĂć¤ÎźÁĚä¤ËÂФˇ
yes ¤ČĹú¤¨¤ë¤č¤Ś¤Ë¤Ę¤ë¤Î¤ÇĄ˘
ĽÓĽëĽÉĽ×ĽíĽťĽš¤Ç¤ÎźęưÁŕşî¤ňžĘÎŹ¤Ç¤¤Ţ¤šĄŁĽŤĽšĽżĽŕĽŤĄźĽÍĽë¤Îźč¤ę°ˇ¤¤ĽŤĽšĽżĽŕĽŤĄźĽÍĽë¤ňťČÍѤˇ¤Ć¤¤¤ëžěšç¤Ë¤ĎĄ˘Ľ˘ĽĂĽ×Ľ°ĽěĄźĽÉ¤ÎĽ×ĽíĽťĽš¤ĎĄ˘
´öĘŹĘŁť¨¤Č¤Ę¤ę¤Ţ¤šĄŁ
Ľ˘ĽĂĽ×Ľ°ĽěĄźĽÉ¤Îźę˝ç¤Ď &os; ¤ÎĽĐĄźĽ¸ĽçĽó¤Ë¤č¤Ă¤ĆĘѤď¤ę¤Ţ¤šĄŁ&os; 8.X ¤Ë¤Ş¤ą¤ëĽŤĽšĽżĽŕĽŤĄźĽÍĽëGENERIC ĽŤĄźĽÍĽë¤Ź
/boot/GENERIC
¤ËĂÖ¤Ť¤ě¤Ć¤¤¤ëÉŹÍפʤ˘¤ę¤Ţ¤šĄŁ
¤â¤ˇ GENERIC
ĽŤĄźĽÍĽë¤ŹĽˇĽšĽĆĽŕ¤Ë¸şß¤ˇ¤Ę¤¤žěšç¤Ë¤ĎĄ˘
°Ę˛ź¤Î¤É¤ě¤Ť¤ÎĘýËĄ¤ÇÍѰդˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ¤ż¤Ŕ°ěĹ٤Ŕ¤ąĽŤĽšĽżĽŕĽŤĄźĽÍĽë¤ňš˝Ăۤˇ¤ż¤Î¤Ç¤˘¤ě¤ĐĄ˘
/boot/kernel.old
¤Ď GENERIC ĽŤĄźĽÍĽë¤˝¤Î¤â¤Î¤Ç¤šĄŁ
¤ł¤ÎĽÇĽŁĽěĽŻĽČĽę¤ÎĚžÁ°¤ň
/boot/GENERIC
¤Ř¤ČĘŃšš¤ˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁĽłĽóĽÔĽĺĄźĽż¤Ř¤ÎĘŞÍýĹŞ¤ĘĽ˘ĽŻĽťĽš¤Ź˛ÄÇ˝¤Ç¤˘¤ě¤ĐĄ˘
°Ę˛ź¤ÎĽłĽŢĽóĽÉ¤ňźÂšÔ¤š¤ë¤ł¤Č¤ÇĄ˘
Ľ¤ĽóĽšĽČĄźĽëĽáĽÇĽŁĽ˘¤Ť¤é GENERIC
ĽŤĄźĽÍĽë¤ňĽ¤ĽóĽšĽČĄźĽë¤Ç¤¤Ţ¤šĄŁ&prompt.root; mount /cdrom
&prompt.root; cd /cdrom/X.Y-RELEASE/kernels
&prompt.root; ./install.sh GENERIC¤ł¤ł¤Ç X.Y-RELEASE
¤ňźÂşÝ¤ÎĽęĽęĄźĽšČÖšć¤ËĂÖ¤´š¤¨¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ
GENERIC ¤ĎĄ˘ĽÇĽŐĽŠĽëĽČ¤Ç /boot/GENERIC
¤ËĽ¤ĽóĽšĽČĄźĽë¤ľ¤ě¤Ţ¤šĄŁžĺľ¤ÎĘýËĄ¤Ź¤š¤Ů¤ĆźşÇÔ¤š¤ë¤Î¤Ç¤˘¤ě¤ĐĄ˘
GENERIC ĽŤĄźĽÍĽë¤ňĽ˝ĄźĽš¤Ť¤éşĆš˝Ăۤˇ¤ĆĄ˘
Ľ¤ĽóĽšĽČĄźĽë¤ˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ&prompt.root; cd /usr/src
&prompt.root; env DESTDIR=/boot/GENERIC make kernel __MAKE_CONF=/dev/null SRCCONF=/dev/null
&prompt.root; mv /boot/GENERIC/boot/kernel/* /boot/GENERIC
&prompt.root; rm -rf /boot/GENERIC/bootfreebsd-update ¤ĎĄ˘¤ł¤ÎĽŤĄźĽÍĽë¤ň
GENERIC ĽŤĄźĽÍĽë¤Č¤ˇ¤Ć°ˇ¤¤¤Ţ¤šĄŁ
GENERIC ĽłĽóĽŐĽŁĽ°ĽěĄźĽˇĽçĽóĽŐĽĄĽ¤Ľë¤ĎĄ˘
¤Č¤Ë¤Ť¤ŻĘŃšš¤ˇ¤Ć¤Ď¤¤¤ą¤Ţ¤ť¤óĄŁ
¤Ţ¤żĄ˘ĆĂĘĚ¤ĘĽŞĽ×ĽˇĽçĽó¤ňťŘÄꤡ¤Ę¤¤¤Çš˝Ăۤˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ¤ł¤ÎťţĹŔ¤Ç GENERIC
ĽŤĄźĽÍĽë¤ÇşĆľŻĆ°¤š¤ëÉŹÍפϤ˘¤ę¤Ţ¤ť¤óĄŁ&os; 9.X °Ęšß¤ÎĽˇĽšĽĆĽŕ¤Ë¤Ş¤ą¤ëĽŤĽšĽżĽŕĽŤĄźĽÍĽë¤ż¤Ŕ°ěĹ٤Ŕ¤ąĽŤĽšĽżĽŕĽŤĄźĽÍĽë¤ňš˝Ăۤˇ¤ż¤Î¤Ç¤˘¤ě¤ĐĄ˘
/boot/kernel.old
¤Ď GENERIC ĽŤĄźĽÍĽë¤˝¤Î¤â¤Î¤Ç¤šĄŁ
¤ż¤ŔĂą¤Ë¤ł¤ÎĽÇĽŁĽěĽŻĽČĽę¤ÎĚžÁ°¤ň
/boot/kernel
¤Ř¤ČĘŃšš¤ˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁĽłĽóĽÔĽĺĄźĽż¤Ř¤ÎĘŞÍýĹŞ¤ĘĽ˘ĽŻĽťĽš¤Ź˛ÄÇ˝¤Ç¤˘¤ě¤ĐĄ˘
°Ę˛ź¤ÎĽłĽŢĽóĽÉ¤ÇĄ˘Ľ¤ĽóĽšĽČĄźĽëĽáĽÇĽŁĽ˘¤Ť¤é
GENERIC
ĽŤĄźĽÍĽë¤ňĽ¤ĽóĽšĽČĄźĽë¤Ç¤¤Ţ¤šĄŁ&prompt.root; mount /cdrom
&prompt.root; cd /cdrom/usr/freebsd-dist
&prompt.root; tar -C/ -xvf kernel.txz boot/kernel/kernelžĺľ¤ÎĘýËĄ¤ŹźşÇÔ¤š¤ë¤Î¤Ç¤˘¤ě¤ĐĄ˘
GENERIC ĽŤĄźĽÍĽë¤ňĽ˝ĄźĽš¤Ť¤éşĆš˝Ăۤˇ¤ĆĄ˘
Ľ¤ĽóĽšĽČĄźĽë¤ˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ&prompt.root; cd /usr/src
&prompt.root; make kernel __MAKE_CONF=/dev/null SRCCONF=/dev/nullfreebsd-update ¤ĎĄ˘¤ł¤ÎĽŤĄźĽÍĽë¤ň
GENERIC ĽŤĄźĽÍĽë¤Č¤ˇ¤Ć°ˇ¤¤¤Ţ¤šĄŁ
GENERIC ĽłĽóĽŐĽŁĽ°ĽěĄźĽˇĽçĽóĽŐĽĄĽ¤Ľë¤ĎĄ˘
¤Č¤Ë¤Ť¤ŻĘŃšš¤ˇ¤Ć¤Ď¤¤¤ą¤Ţ¤ť¤óĄŁ
¤Ţ¤żĄ˘ĆĂĘĚ¤ĘĽŞĽ×ĽˇĽçĽó¤ňťŘÄꤡ¤Ę¤¤¤Çš˝Ăۤˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ¤ł¤ÎťţĹŔ¤Ç GENERIC
ĽŤĄźĽÍĽë¤ÇşĆľŻĆ°¤š¤ëÉŹÍפϤ˘¤ę¤Ţ¤ť¤óĄŁĽ˘ĽĂĽ×Ľ°ĽěĄźĽÉ¤ňšÔ¤Śfreebsd-update
¤Ë¤č¤ëĽáĽ¸ĽăĄźĄ˘¤Ţ¤ż¤ĎĽŢĽ¤ĽĘĄźĽĐĄźĽ¸ĽçĽó¤ÎĽ˘ĽĂĽ×ĽÇĄźĽČ¤Ç¤ĎĄ˘
ĽęĽęĄźĽšĽĐĄźĽ¸ĽçĽó¤ňĽżĄźĽ˛ĽĂĽČ¤Ë¤ˇ¤ĆźÂšÔ¤ˇ¤Ţ¤šĄŁ
°Ę˛ź¤ÎĽłĽŢĽóĽÉ¤ĎĄ˘&os; 9.1 ¤ËĽ˘ĽĂĽ×ĽÇĄźĽČ¤ˇ¤Ţ¤šĄŁ&prompt.root; freebsd-update -r 9.1-RELEASE upgradeĽłĽŢĽóĽÉ¤ňźÂšÔ¤š¤ë¤ČĄ˘freebsd-update
¤ĎŔßÄęĽŐĽĄĽ¤Ľë¤Č¸˝şß¤ÎĽˇĽšĽĆĽŕ¤ňÉž˛Á¤ˇĄ˘
Ľ˘ĽĂĽ×ĽÇĄźĽČ¤š¤ë¤ż¤á¤ËÉŹÍפʞđĘó¤ňźý˝¸¤ˇ¤Ţ¤šĄŁ
˛čĚ̤ˤϥ˘¤É¤ÎĽłĽóĽÝĄźĽÍĽóĽČ¤ŹÇ§źą¤ľ¤ěĄ˘
¤É¤ÎĽłĽóĽÝĄźĽÍĽóĽČ¤ŹÇ§źą¤ľ¤ě¤Ć¤¤¤Ę¤¤¤Č¤¤¤Ă¤żĽęĽšĽČ¤ŹÉ˝ź¨¤ľ¤ě¤Ţ¤šĄŁ
¤ż¤Č¤¨¤Đ°Ę˛ź¤Î¤č¤Ś¤ËÉ˝ź¨¤ľ¤ě¤Ţ¤šĄŁLooking up update.FreeBSD.org mirrors... 1 mirrors found.
Fetching metadata signature for 9.0-RELEASE 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¤ł¤ł¤ÇĄ˘freebsd-update
¤ĎĽ˘ĽĂĽ×Ľ°ĽěĄźĽÉ¤ËÉŹÍפʤš¤Ů¤Ć¤ÎĽŐĽĄĽ¤Ľë¤ňĽŔĽŚĽóĽíĄźĽÉ¤ˇ¤Ţ¤šĄŁ
˛ż¤ňĽ¤ĽóĽšĽČĄźĽë¤ˇĄ˘¤É¤Î¤č¤Ś¤ËżĘ¤ŕ¤Ť¤Č¤¤¤Ă¤żźÁĚä¤ň¤ľ¤ě¤ë¤ł¤Č¤â¤˘¤ę¤Ţ¤šĄŁĽŤĽšĽżĽŕĽŤĄźĽÍĽë¤ňťČ¤Ă¤Ć¤¤¤ë¤ČĄ˘
žĺľ¤ÎĽšĽĆĽĂĽ×¤Ç°Ę˛ź¤Î¤č¤Ś¤ĘˇŮšđ¤ŹÉ˝ź¨¤ľ¤ě¤Ţ¤šĄŁWARNING: This system is running a "MYKERNEL" kernel, which is not a
kernel configuration distributed as part of FreeBSD 9.0-RELEASE.
This kernel will not be updated: you MUST update the kernel manually
before running "/usr/sbin/freebsd-update install"¤ł¤ÎťţĹŔ¤Ç¤Ď¤ł¤ÎˇŮšđ¤ňĚľťë¤ˇ¤Ć¤â¤Ť¤Ţ¤¤¤Ţ¤ť¤óĄŁ
Ľ˘ĽĂĽ×ĽÇĄźĽČ¤ľ¤ě¤ż GENERIC ĽŤĄźĽÍĽë¤ĎĄ˘
Ľ˘ĽĂĽ×Ľ°ĽěĄźĽÉĽ×ĽíĽťĽš¤ÎĹÓĂć¤ÇÍřÍѤľ¤ě¤Ţ¤šĄŁ¤š¤Ů¤Ć¤ÎĽŃĽĂĽÁ¤ŹĽíĄźĽŤĽëĽˇĽšĽĆĽŕ¤ŘĽŔĽŚĽóĽíĄźĽÉ¤ľ¤ě¤ż¤éĄ˘
źĄ¤ËĽŃĽĂĽÁ¤ŹĹŹÍѤľ¤ě¤Ţ¤šĄŁ
¤ł¤ÎĽ×ĽíĽťĽš¤Ë¤Ďťţ´Ö¤Ź¤Ť¤Ť¤ę¤Ţ¤šĄŁ
¤ł¤Îťţ´Ö¤ĎĽłĽóĽÔĽĺĄźĽż¤ÎŔÇ˝¤ČĽďĄźĽŻĽíĄźĽÉ¤Ë°Í¸¤ˇ¤Ţ¤šĄŁ
¤˝¤Î¸ĺĄ˘ŔßÄęĽŐĽĄĽ¤Ľë¤ŹĽŢĄźĽ¸¤ľ¤ě¤Ţ¤šĄŁ
¤ł¤ÎĽ×ĽíĽťĽš¤Ç¤ĎĄ˘ĽćĄźĽś¤ĎĽŐĽĄĽ¤Ľë¤ňĽŢĄźĽ¸¤š¤ë¤ŤĄ˘
˛čĚĚžĺ¤ËĽ¨ĽÇĽŁĽż¤ňΊ¤Ážĺ¤˛¤Ćźęư¤ÇĽŢĄźĽ¸¤š¤ë¤Ť¤ňżŇ¤Í¤é¤ě¤Ţ¤šĄŁ
Ľ×ĽíĽťĽš¤ŹżĘ¤ŕ¤´¤Č¤ËĄ˘Ŕޏů¤ˇ¤żĽŢĄźĽ¸¤Î¤š¤Ů¤Ć¤Îˇë˛Ě¤ÎžđĘ󤏼楟Ľś¤Ëꍤľ¤ě¤Ţ¤šĄŁ
ĽŢĄźĽ¸¤ËźşÇÔ¤ˇ¤ż¤ęĄ˘Ěľťë¤ˇ¤żžěšç¤Ë¤ĎĄ˘Ľ×ĽíĽťĽš¤ŹĂćĂǤˇ¤Ţ¤šĄŁ
ĽćĄźĽś¤Ë¤č¤Ă¤Ć¤Ď /etc
¤ÎĽĐĽĂĽŻĽ˘ĽĂĽ×¤ňźč¤ęĄ˘
master.passwd ¤ä group
¤Î¤č¤Ś¤Ę˝ĹÍפʼռĄĽ¤Ľë¤ň¸ĺ¤Çźęư¤ÇĽŢĄźĽ¸¤š¤ëĘý¤â¤¤¤Ţ¤šĄŁ¤š¤Ů¤Ć¤ÎĽŃĽĂĽÁ¤ĎĘĚ¤ÎĽÇĽŁĽěĽŻĽČĽę¤ÇĽŢĄźĽ¸¤ľ¤ě¤Ć¤Ş¤ęĄ˘
¤Ţ¤ŔĄ˘ĽˇĽšĽĆĽŕ¤Ë¤ĎČżąÇ¤ľ¤ě¤Ć¤¤¤Ţ¤ť¤óĄŁ
¤š¤Ů¤Ć¤ÎĽŃĽĂĽÁ¤ŹŔľ¤ˇ¤ŻĹŹÍѤľ¤ěĄ˘
¤š¤Ů¤Ć¤ÎŔßÄęĽŐĽĄĽ¤Ľë¤ŹĽŢĄźĽ¸¤ľ¤ě¤ĆĽ×ĽíĽťĽš¤ŹĽšĽŕĄźĽş¤ËżĘ¤ó¤Ŕ¤éĄ˘
ĽćĄźĽś¤Ď°Ę˛ź¤ÎĽłĽŢĽóĽÉ¤ňÍѤ¤¤ĆĄ˘
ĘŃššĹŔ¤ňĽÇĽŁĽšĽŻ¤ËČżąÇ¤ˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ&prompt.root; freebsd-update installĽŃĽĂĽÁ¤ĎşÇ˝é¤ËĽŤĄźĽÍĽë¤ČĽŤĄźĽÍĽëĽâĽ¸ĽĺĄźĽë¤ËÂФˇ¤ĆĹö¤Ć¤é¤ě¤Ţ¤šĄŁ
¤ł¤ł¤ÇĽłĽóĽÔĽĺĄźĽż¤ňşĆľŻĆ°¤š¤ëÉŹÍפʤ˘¤ę¤Ţ¤šĄŁ
ĽˇĽšĽĆĽŕ¤ŹĽŤĽšĽżĽŕĽŤĄźĽÍĽë¤ňźÂšÔ¤ˇ¤Ć¤¤¤ëžěšç¤Ë¤ĎĄ˘
&man.nextboot.8; ¤ňťČ¤Ă¤ĆźĄ˛ó¤ÎşĆľŻĆ°ťţ¤ÎĽŤĄźĽÍĽë¤ňĄ˘
Ľ˘ĽĂĽ×ĽÇĄźĽČ¤ľ¤ě¤ż /boot/GENERIC
¤ËŔßÄꤡ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ&prompt.root; nextboot -k GENERICGENERIC ĽŤĄźĽÍĽë¤ÇşĆľŻĆ°¤š¤ëÁ°¤ËĄ˘
ĽŤĄźĽÍĽë¤ËĽˇĽšĽĆĽŕ¤ŹĹŹŔڤ˾ŻĆ°¤š¤ë¤ż¤á¤ËÉŹÍפʤš¤Ů¤Ć¤ÎĽÉĽéĽ¤ĽĐ¤Ź´Ţ¤Ţ¤ě¤Ć¤¤¤ë¤ł¤ČĄ˘
¤â¤ˇĽ˘ĽĂĽ×ĽÇĄźĽČ¤ˇ¤Ć¤¤¤ëĽłĽóĽÔĽĺĄźĽż¤ŹĽęĽâĄźĽČ¤ÇĽ˘ĽŻĽťĽš¤ˇ¤Ć¤¤¤ë¤Î¤Ç¤˘¤ě¤ĐĄ˘
ĽÍĽĂĽČĽďĄźĽŻŔÜÂł¤ËÉŹÍפʤš¤Ů¤Ć¤ÎĽÉĽéĽ¤ĽĐ¤â´Ţ¤Ţ¤ě¤Ć¤¤¤ë¤ł¤Č¤ňłÎǧ¤ˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ
Ćä˥˘¤ł¤ě¤Ţ¤ÇźÂšÔ¤ˇ¤Ć¤¤¤ëĽŤĽšĽżĽŕĽŤĄźĽÍĽë¤ŹĄ˘
ĽŤĄźĽÍĽëĽâĽ¸ĽĺĄźĽë¤Č¤ˇ¤ĆÄ󜥤ľ¤ě¤Ć¤¤¤ëĽÓĽëĽÉĽ¤Ľó¤ÎľĄÇ˝¤ň´Ţ¤ó¤Ç¤¤¤ë¤Î¤Ç¤˘¤ě¤ĐĄ˘
¤ł¤ě¤é¤ÎĽâĽ¸ĽĺĄźĽë¤ň°ěťţĹŞ¤Ë /boot/loader.conf
¤ÎľĄÇ˝¤ňÍѤ¤¤ĆĄ˘
GENERIC ¤ËĆɤߚţ¤ó¤Ç¤Ż¤Ŕ¤ľ¤¤ĄŁ
Ľ˘ĽĂĽ×Ľ°ĽěĄźĽÉĽ×ĽíĽťĽš¤Ź˝Ş¤ď¤ë¤Ţ¤Ç¤ĎĄ˘
˝ĹÍפǤϤʤ¤ĽľĄźĽÓĽš¤ňĚľ¸ú¤Ë¤š¤ë¤Č¤Č¤â¤ËĄ˘
ÉŹÍפΤʤ¤ĽÇĽŁĽšĽŻ¤äĽÍĽĂĽČĽďĄźĽŻ¤ÎĽŢĽŚĽóĽČ¤Ę¤É¤âČň¤ą¤ë¤ł¤Č¤ŹżäžŠ¤ľ¤ě¤Ć¤¤¤Ţ¤šĄŁĽ˘ĽĂĽ×ĽÇĄźĽČ¤ľ¤ě¤żĽŤĄźĽÍĽë¤ÇĽłĽóĽÔĽĺĄźĽż¤ňşĆľŻĆ°¤ˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ&prompt.root; shutdown -r nowĽˇĽšĽĆĽŕ¤ŹĽŞĽóĽéĽ¤Ľó¤ËĚá¤Ă¤ż¤éĄ˘°Ę˛ź¤ÎĽłĽŢĽóĽÉ¤ňťČ¤Ă¤Ć
freebsd-update ¤ňşĆ¤ÓźÂšÔ¤ˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ
Ľ˘ĽĂĽ×ĽÇĄźĽČĽ×ĽíĽťĽš¤ÎžőÂÖ¤ĎĘݸ¤ľ¤ě¤Ć¤¤¤ë¤Î¤ÇĄ˘
freebsd-update ¤ňźÂšÔ¤š¤ë¤ČĄ˘şÇ˝é¤Ť¤é¤Ç¤Ď¤Ę¤ŻĄ˘
¸Ĺ¤¤śŚÍĽéĽ¤ĽÖĽéĽę¤ČĽŞĽÖĽ¸Ľ§ĽŻĽČĽŐĽĄĽ¤Ľë¤ňşď˝ü¤š¤ëĽ×ĽíĽťĽš¤Ť¤éťĎ¤Ţ¤ę¤Ţ¤šĄŁ&prompt.root; freebsd-update installťČÍѤˇ¤Ć¤¤¤ëĽéĽ¤ĽÖĽéĽę¤ÎĽĐĄźĽ¸ĽçĽóČÖšć¤ÎÉŐ¤ą¤é¤ěĘý¤Ë¤č¤Ă¤ĆĄ˘
3 ¤Ä¤ÎĽ¤ĽóĽšĽČĄźĽëĽŐĽ§ĄźĽş¤Ź 2 ¤Ä¤Ë¤Ę¤ëžěšç¤â¤˘¤ę¤Ţ¤šĄŁĽáĽ¸ĽăĄźĽĐĄźĽ¸ĽçĽóĽ˘ĽĂĽ×Ľ°ĽěĄźĽÉ¸ĺ¤Î ports ¤ÎşĆš˝ĂۼἸĽăĄźĽĐĄźĽ¸ĽçĽóĽ˘ĽĂĽ×Ľ°ĽěĄźĽÉ¤ňšÔ¤Ă¤ż¸ĺ¤Ç¤ĎĄ˘
¤š¤Ů¤Ć¤ÎĽľĄźĽÉĽŃĄźĽĆĽŁŔ˝¤ÎĽ˝ĽŐĽČĽŚĽ§Ľ˘¤ňşĆš˝ĂۤˇĄ˘
şĆĽ¤ĽóĽšĽČĄźĽë¤š¤ëÉŹÍפʤ˘¤ę¤Ţ¤šĄŁ
¤ł¤ÎşîśČ¤ŹÉŹÍפʤΤϥ˘Ľ¤ĽóĽšĽČĄźĽë¤ľ¤ě¤Ć¤¤¤ëĽ˝ĽŐĽČĽŚĽ§Ľ˘¤ŹĄ˘
Ľ˘ĽĂĽ×Ľ°ĽěĄźĽÉ¤ÎşÝ¤Ëşď˝ü¤ľ¤ě¤żĽéĽ¤ĽÖĽéĽę¤Ë°Í¸¤ˇ¤Ć¤¤¤ë˛ÄÇ˝Ŕ¤Ź¤˘¤ë¤ż¤á¤Ç¤šĄŁ
ports-mgmt/portupgrade
¤ĎĄ˘¤ł¤ÎĽ×ĽíĽťĽš¤ňźŤĆ°˛˝¤ˇ¤Ţ¤šĄŁ&prompt.root; portmaster -f¤ł¤ÎşîśČ¤Î˝ŞÎť¸ĺĄ˘şÇ¸ĺ¤Ë¤â¤Ś°ěĹŮ
freebsd-update
¤ňźÂšÔ¤ˇ¤ĆĄ˘
¤š¤Ů¤Ć¤ÎĽ˘ĽĂĽ×Ľ°ĽěĄźĽÉĽ×ĽíĽťĽš¤Î¤ä¤ęťÄ¤ˇşîśČ¤ňšÔ¤¤Ą˘
Ľ˘ĽĂĽ×Ľ°ĽěĄźĽÉ¤ÎĽ×ĽíĽťĽš¤ň´°Îť¤ˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ&prompt.root; freebsd-update installGENERIC
ĽŤĄźĽÍĽë¤ň°ěťţĹŞ¤ËĆɤߚţ¤ó¤Ç¤¤¤ż¤Î¤Ç¤˘¤ě¤ĐĄ˘
¤ł¤ł¤ÇĄ˘ÄĚžď¤ÎĘýËĄ¤ňÍѤ¤¤Ćżˇ¤ˇ¤¤ĽŤĽšĽżĽŕ¤ňš˝ĂۤˇĄ˘Ľ¤ĽóĽšĽČĄźĽë¤ˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁĽłĽóĽÔĽĺĄźĽż¤ňşĆľŻĆ°¤ˇĄ˘żˇ¤ˇ¤¤ &os; ¤ňΊ¤Ážĺ¤˛¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ
¤ł¤ě¤ÇĽ˘ĽĂĽ×Ľ°ĽěĄźĽÉ¤ÎĽ×ĽíĽťĽš¤Ď´°Îť¤Ç¤šĄŁĽˇĽšĽĆĽŕ¤ÎžőÂÖ¤ÎČćłÓfreebsd-update ¤ňÍѤ¤¤ĆĄ˘
Ľ¤ĽóĽšĽČĄźĽë¤ľ¤ě¤Ć¤¤¤ë &os; ¤ÎžőÂ֤ȥ˘
Ŕľ¤ˇ¤ŻĆ°şî¤š¤ë¤ł¤Č¤ŹĘʤŤ¤Ă¤Ć¤¤¤ëžőÂ֤ȤňČćłÓ¤Ç¤¤Ţ¤šĄŁ
¤ł¤ÎĽŞĽ×ĽˇĽçĽó¤ĎĄ˘ĽˇĽšĽĆĽŕ¤ÎĽćĄźĽĆĽŁĽęĽĆĽŁĄ˘ĽéĽ¤ĽÖĽéĽęĄ˘
ŔßÄęĽŐĽĄĽ¤Ľë¤ňÉž˛Á¤ˇ¤Ţ¤šĄŁ
ČćłÓ¤ňšÔ¤Ś¤Ë¤ĎĄ˘°Ę˛ź¤ÎĽłĽŢĽóĽÉ¤ňźÂšÔ¤ˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ&prompt.root; freebsd-update IDS >> outfile.idsĽłĽŢĽóĽÉĽéĽ¤ĽóĚž¤Ď IDS ¤Ç¤š¤ŹĄ˘
security/snort
¤Î¤č¤Ś¤ĘżŻĆţ¸ĄĂÎĽˇĽšĽĆĽŕ¤ÎËÜĹö¤ÎĂÖ¤´š¤¨¤Ë¤Ę¤ë¤â¤Î¤Ç¤Ď¤˘¤ę¤Ţ¤ť¤óĄŁ
freebsd-update ¤ĎĽÇĄźĽż¤ňĽÇĽŁĽšĽŻ¤ËĘݸ¤š¤ë¤Î¤ÇĄ˘
ÉÔŔľ¤ĘĘŃšš¤ŹšÔ¤ď¤ě¤ë˛ÄÇ˝Ŕ¤Ź¤˘¤ę¤Ţ¤šĄŁ
kern.securelevel ¤ČĄ˘
freebsd-update ¤ÎĽÇĄźĽż¤ňťČÍѤˇ¤Ę¤¤¤Č¤¤ËĄ˘
Ćɤߟč¤ę¤Î¤ß¤Îľö˛Ä°Ŕ¤ËŔßÄꤾ¤ě¤Ć¤¤¤ëĽŐĽĄĽ¤ĽëĽˇĽšĽĆĽŕ¤ËĂ֤ݤł¤Č¤ÇĄ˘
ÉÔŔľ¤ĘĘŃšš¤Î˛ÄÇ˝Ŕ¤ňÄ㤯¤Ç¤¤Ţ¤š¤ŹĄ˘
¤č¤ę¤č¤¤˛ňˇčĘýËĄ¤ĎĄ˘
DVD
¤Ţ¤ż¤Ď°ÂÁ´¤ËĘݸ¤ľ¤ě¤Ć¤¤¤ëł°Éô USB
ĽÇĽŁĽšĽŻ¤Î¤č¤Ś¤Ę°ÂÁ´¤ĘĽÇĽŁĽšĽŻ¤ČĽˇĽšĽĆĽŕ¤ňČćłÓ¤š¤ë¤ł¤Č¤Ç¤šĄŁ¤ł¤ÎĽłĽŢĽóĽÉ¤ňźÂšÔ¤š¤ë¤ČĄ˘ĽˇĽšĽĆĽŕ¤Ď¸Ąşş¤ľ¤ěĄ˘
ĽęĽęĄźĽšĽŐĽĄĽ¤Ľë¤Î &man.sha256.1;
ĽĎĽĂĽˇĽĺĂͤȸ˝şßĽ¤ĽóĽšĽČĄźĽë¤ľ¤ě¤Ć¤¤¤ëĽŐĽĄĽ¤Ľë¤ÎĽĎĽĂĽˇĽĺĂÍ¤ŹĽŐĽĄĽ¤Ľë¤Î°ěÍ÷¤ČśŚ¤ËĄ˘ťŘÄꤡ¤ż
outfile.ids ĽŐĽĄĽ¤Ľë¤ËÁ÷¤é¤ě¤Ţ¤šĄŁ¤ł¤ě¤é¤ÎšÔ¤ĎśË¤á¤ĆÄš¤¤¤Î¤Ç¤š¤ŹĄ˘˝ĐÎϡÁź°¤Ď´ĘĂą¤Ë¤š¤°¤Ë˛ňŔϤǤ¤Ţ¤šĄŁ
¤ż¤Č¤¨¤ĐĄ˘¤ł¤ě¤é¤ÎĽęĽęĄźĽš¤Ç°Ű¤Ę¤Ă¤Ć¤¤¤ë¤š¤Ů¤Ć¤ÎĽŐĽĄĽ¤Ľë¤ňĂΤꤿ¤¤¤Î¤Ç¤˘¤ě¤ĐĄ˘
°Ę˛ź¤ÎĽłĽŢĽóĽÉ¤ňźÂšÔ¤ˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ&prompt.root; cat outfile.ids | awk '{ print $1 }' | more
/etc/master.passwd
/etc/motd
/etc/passwd
/etc/pf.confžĺ¤ÎÉ˝ź¨Îă¤Ç¤Ď˝ĐÎϤĎŔÚ¤ęźÎ¤Ć¤é¤ě¤Ć¤Ş¤ęĄ˘
źÂşÝ¤Ë¤Ď¤â¤Ă¤ČÂż¤Ż¤ÎĽŐĽĄĽ¤Ľë¤ŹÂ¸şß¤ˇ¤Ţ¤šĄŁ
¤ł¤ě¤é¤ÎĽŐĽĄĽ¤Ľë¤Ë¤ĎĄ˘ążÍŃĂć¤ËĘŃšš¤ľ¤ě¤ëĽŐĽĄĽ¤Ľë¤Ź¤˘¤ę¤Ţ¤šĄŁ
¤ż¤Č¤¨¤ĐĄ˘/etc/passwd
¤ĎĽćĄźĽś¤ŹĽˇĽšĽĆĽŕ¤ËÄɲ侤ě¤ë¤ČĘŃšš¤ľ¤ě¤Ţ¤šĄŁ
¤Ţ¤żĄ˘ĽŤĄźĽÍĽëĽâĽ¸ĽĺĄźĽë¤Î¤č¤Ś¤ĘĽŐĽĄĽ¤Ľë¤ĎĄ˘
freebsd-update
¤Ë¤č¤ęĽ˘ĽĂĽ×ĽÇĄźĽČ¤ľ¤ě¤ë¤ż¤áĄ˘ĘŃšš¤ľ¤ě¤Ţ¤šĄŁ
¤ł¤Î¤č¤Ś¤ĘĆĂĘ̤ʼռĄĽ¤Ľë¤äĽÇĽŁĽěĽŻĽČĽę¤ň˝üł°¤š¤ë¤Ë¤ĎĄ˘
¤˝¤ě¤é¤ň /etc/freebsd-update.conf ¤Î
IDSIgnorePaths ĽŞĽ×ĽˇĽçĽó¤ËÄɲ䎤äݤŔ¤ľ¤¤ĄŁ°ĘÁ°¤ËľÄĎŔ¤ˇ¤żĘýËĄ¤Č¤ĎĘ̤˥˘
¤ł¤ÎĽˇĽšĽĆĽŕ¤ňĆţǰ¤ĘĽ˘ĽĂĽ×Ľ°ĽěĄźĽÉĘýËĄ¤Î°ěÉô¤Č¤ˇ¤ĆÍѤ¤¤ë¤ł¤Č¤Ź¤Ç¤¤Ţ¤šĄŁTomRhodes´óšĆ: ColinPercivalĽŮĄźĽš¤Č¤Ę¤Ă¤żĽÎĄźĽČ¤ÎÄóśĄ: Portsnap: Ports Collection Ľ˘ĽĂĽ×ĽÇĄźĽČĽÄĄźĽëĽ˘ĽĂĽ×ĽÇĄźĽČ¤ČĽ˘ĽĂĽ×Ľ°ĽěĄźĽÉPortsnapĽ˘ĽĂĽ×ĽÇĄźĽČ¤ČĽ˘ĽĂĽ×Ľ°ĽěĄźĽÉ&os; ¤ÎĽŮĄźĽšĽˇĽšĽĆĽŕ¤Ë¤ĎĄ˘
Ports Collection ¤ňĽ˘ĽĂĽ×ĽÇĄźĽČ¤š¤ë &man.portsnap.8; ¤Ź¤˘¤ę¤Ţ¤šĄŁ
¤ł¤ÎĽćĄźĽĆĽŁĽęĽĆĽŁ¤ĎĄ˘&os; ¤ÎĽľĽ¤ĽČ¤ËŔÜÂł¤ˇĄ˘ĽťĽĽĺĽęĽĆĽŁĽĄź¤ň¸ĄžÚ¤ˇĄ˘
Ports Collection ¤ÎşÇżˇČǤňĽŔĽŚĽóĽíĄźĽÉ¤ˇ¤Ţ¤šĄŁ
ĽťĽĽĺĽęĽĆĽŁĽĄź¤ĎĄ˘
ĽŔĽŚĽóĽíĄźĽÉ¤ˇ¤ż¤š¤Ů¤Ć¤ÎĽŐĽĄĽ¤Ľë¤Î¸ĄžÚ¤ËÍѤ¤¤é¤ě¤Ţ¤šĄŁ
şÇżˇ¤Î Ports Collection ĽŐĽĄĽ¤Ľë¤ňĽŔĽŚĽóĽíĄźĽÉ¤š¤ë¤Ë¤ĎĄ˘
°Ę˛ź¤ÎĽłĽŢĽóĽÉ¤ňźÂšÔ¤ˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ&prompt.root; portsnap fetch
Looking up portsnap.FreeBSD.org mirrors... 9 mirrors found.
Fetching snapshot tag from geodns-1.portsnap.freebsd.org... done.
Fetching snapshot metadata... done.
Updating from Tue May 22 02:12:15 CEST 2012 to Wed May 23 16:28:31 CEST 2012.
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.¤ł¤ÎÎă¤Ç¤ĎĄ˘&man.portsnap.8;
¤Ź¸˝şß¤Î ports ¤ËÂФš¤ëĽŃĽĂĽÁ¤ň¸Ť¤Ä¤ąĄ˘¸ĄžÚ¤ˇ¤ż¤ł¤Č¤ňꍤˇ¤Ć¤¤¤Ţ¤šĄŁ
¤Ţ¤żĄ˘ĽćĄźĽĆĽŁĽęĽĆĽŁ¤Ď°ĘÁ°¤ËźÂšÔ¤ˇ¤Ć¤¤¤ë¤ł¤Č¤âꍤˇ¤Ć¤¤¤Ţ¤šĄŁ
¤â¤ˇ˝é¤á¤ĆźÂšÔ¤ˇ¤ż¤Î¤Ç¤˘¤ě¤ĐĄ˘Ports Collection ¤ÎĽŔĽŚĽóĽíĄźĽÉ¤Î¤ß¤ŹšÔ¤ď¤ě¤Ţ¤šĄŁ&man.portsnap.8; ¤Ź fetch ¤ËŔޏů¤š¤ë¤ČĄ˘
¸ĄžÚ¤ňÄ̤äż Ports Collection ¤ČĄ˘
¤˝¤ě¤ËÂł¤ŻĽŃĽĂĽÁ¤ŹĽíĄźĽŤĽëĽˇĽšĽĆĽŕ¤Ë¸şß¤ˇ¤Ţ¤šĄŁ
¤Ď¤¸¤á¤Ć portsnap ¤ňźÂšÔ¤ˇ¤żťţ¤Ë¤ĎĄ˘
extract ¤ňťČ¤Ă¤ĆĄ˘
ĽŔĽŚĽóĽíĄźĽÉ¤ˇ¤żĽŐĽĄĽ¤Ľë¤ňĽ¤ĽóĽšĽČĄźĽë¤ˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ&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
...¤š¤Ç¤ËĽ¤ĽóĽšĽČĄźĽë¤ľ¤ě¤Ć¤¤¤ë Ports Collection
¤ňĽ˘ĽĂĽ×ĽÇĄźĽČ¤š¤ë¤Ë¤ĎĄ˘
portsnap update ¤ňťČ¤Ă¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ&prompt.root; portsnap update¤ł¤ě¤ÇĽ˘ĽĂĽ×ĽÇĄźĽČĽ×ĽíĽťĽš¤Ď´°Îť¤ˇ¤Ţ¤ˇ¤żĄŁ
ššżˇ¤ľ¤ě¤ż Ports Collection ¤ňťČ¤Ă¤ĆĄ˘
Ľ˘Ľ×ĽęĽąĄźĽˇĽçĽó¤ňĽ¤ĽóĽšĽČĄźĽë¤ˇ¤ż¤ęĄ˘
Ľ˘ĽĂĽ×Ľ°ĽěĄźĽÉ¤Ç¤¤Ţ¤šĄŁfetch ¤ňťČ¤Śžěšç¤Ë¤ĎĄ˘
extract ¤Ş¤č¤Ó update
¤ňϢ³¤ˇ¤ĆšÔ¤Ś¤ł¤Č¤Ź¤Ç¤¤Ţ¤šĄŁ&prompt.root; portsnap fetch update¤ł¤ÎĽłĽŢĽóĽÉ¤Ë¤č¤ęşÇżˇ¤Î
Ports Collection ¤ŹĽŔĽŚĽóĽíĄźĽÉ¤ľ¤ěĄ˘
/usr/ports
°Ę˛ź¤Ë¤˘¤ëĽíĄźĽŤĽë¤Î Ports Collection ¤ŹĽ˘ĽĂĽ×ĽÇĄźĽČ¤ľ¤ě¤Ţ¤šĄŁĽÉĽĽĺĽáĽóĽČ¤ÎĽ˘ĽĂĽ×ĽÇĄźĽČUpdating and UpgradingDocumentationUpdating and UpgradingĽÉĽĽĺĽáĽóĽČ¤ĎĄ˘&os; ĽŞĽÚĽěĄźĽĆĽŁĽóĽ°ĽˇĽšĽĆĽŕ¤ÎÉŹżÜÍ×ÁǤǤšĄŁ
&os; ĽÉĽĽĺĽáĽóĽČĽťĽĂĽČ¤ÎşÇżˇĽĐĄźĽ¸ĽçĽó¤ĎĄ˘&os; ĽŚĽ§ĽÖĽľĽ¤ĽČ
¤Ť¤éĆţźę¤Ç¤¤Ţ¤š¤ŹĄ˘
ĽÍĽĂĽČĽďĄźĽŻŔÜÂł¤ŹĂ٤¤Ą˘¤â¤ˇ¤Ż¤Ď¤Ţ¤Ă¤ż¤ŻŔÜÂł¤Ç¤¤Ę¤¤ĽćĄźĽś¤â¤¤¤Ţ¤šĄŁ
ĽíĄźĽŤĽë¤ÎĽÉĽĽĺĽáĽóĽČ¤ňşÇżˇ¤Î &os;
ĽÉĽĽĺĽáĽóĽČĽťĽĂĽČ¤ËĽ˘ĽĂĽ×ĽÇĄźĽČ¤š¤ëĘýËĄ¤Ź¤¤¤Ż¤Ä¤âÍѰդľ¤ě¤Ć¤¤¤Ţ¤šĄŁSubversion
¤ňÍѤ¤¤żĽÉĽĽĺĽáĽóĽČ¤ÎĽ˘ĽĂĽ×ĽÇĄźĽČĘýËĄ&os; ¤ÎĽÉĽĽĺĽáĽóĽČ¤ÎĽ˝ĄźĽš¤ĎĄ˘
svn ¤ňÍѤ¤¤ĆĆţźę¤Ç¤¤Ţ¤šĄŁ
¤ł¤ÎŔá¤Ç¤Ď°Ę˛ź¤Ë¤Ä¤¤¤ĆŔâĚŔ¤ˇ¤Ţ¤šĄŁĽÉĽĽĺĽáĽóĽČĽÄĄźĽëĽÁĽ§Ľ¤Ľó¤ÎĽ¤ĽóĽšĽČĄźĽëĘýËĄĄŁ
¤ł¤ÎĽÄĄźĽë¤ĎĄ˘&os;
¤ÎĽÉĽĽĺĽáĽóĽČ¤ňĽ˝ĄźĽš¤Ť¤éşĆš˝Ăۤš¤ë¤Î¤ËÉŹÍפǤšĄŁsvn ¤ňÍѤ¤¤ĆĄ˘
ĽÉĽĽĺĽáĽóĽČ¤ÎĽ˝ĄźĽš¤ň
/usr/doc
°Ę˛ź¤ËĽŔĽŚĽóĽíĄźĽÉ¤š¤ëĘýËĄĄŁ&os; ĽÉĽĽĺĽáĽóĽČ¤ňĽ˝ĄźĽš¤Ť¤éşĆš˝ĂۤˇĄ˘
/usr/share/doc
°Ę˛ź¤ËĽ¤ĽóĽšĽČĄźĽë¤š¤ëĘýËĄĄŁĽÉĽĽĺĽáĽóĽČ¤ÎĽÓĽëĽÉĽˇĽšĽĆĽŕ¤Ë¤Ş¤¤¤ĆĽľĽÝĄźĽČ¤ľ¤ě¤Ć¤¤¤ëĽÓĽëĽÉĽŞĽ×ĽˇĽçĽó¤ÎŔâĚŔĄŁ
¤ż¤Č¤¨¤ĐĄ˘ËÝĚő¤ľ¤ě¤żĽÉĽĽĺĽáĽóĽĆĄźĽˇĽçĽó¤Î¤ß¤ňš˝Ăۤš¤ëĽŞĽ×ĽˇĽçĽó¤äĄ˘
¤˘¤ëĆĂÄę¤Î˝ĐÎĎĽŐĽŠĄźĽŢĽĂĽČ¤ňťŘÄꤚ¤ë¤č¤Ś¤ĘĽŞĽ×ĽˇĽçĽó¤Ë¤Ä¤¤¤ĆŔâĚŔ¤ˇ¤Ţ¤šĄŁsvn
¤Ş¤č¤ÓĽÉĽĽĺĽáĽóĽČĽÄĄźĽëĽÁĽ§Ľ¤Ľó¤ÎĽ¤ĽóĽšĽČĄźĽë&os; ¤ÎĽÉĽĽĺĽáĽóĽČ¤ňĽ˝ĄźĽš¤Ť¤éşĆš˝Ăۤš¤ë¤Ë¤ĎĄ˘
ĽÄĄźĽë¤ÎĽłĽěĽŻĽˇĽçĽó¤ŹÉŹÍפǤšĄŁ
¤ł¤ě¤é¤ÎĽÄĄźĽë¤ĎÂż¤Ż¤ÎĽÇĽŁĽšĽŻÍĆÎ̤ňťČÍѤš¤ë¤ż¤áĄ˘
&os; ĽŮĄźĽšĽˇĽšĽĆĽŕ¤Î°ěÉô¤Ç¤Ď¤˘¤ę¤Ţ¤ť¤óĄŁ
¤Ţ¤żĄ˘¤š¤Ů¤Ć¤Î &os; ĽćĄźĽś¤Ë¤Č¤Ă¤ĆÍÍѤȤ¤¤Ś¤ď¤ą¤Ç¤Ď¤Ę¤ŻĄ˘&os;
¤Î¤ż¤á¤Ëżˇ¤ˇ¤¤ĽÉĽĽĺĽáĽóĽČ¤ňłčČŻ¤ËźšÉޤˇ¤Ć¤¤¤ëĘý¤äĄ˘
ÉŃČˤ˼ɼĽĺĽáĽóĽČ¤ňĽ˝ĄźĽš¤Ť¤éĽ˘ĽĂĽ×ĽÇĄźĽČ¤š¤ëĘý¤Ë¸ţ¤ą¤ż¤â¤Î¤Ç¤šĄŁsvn ¤ň´Ţ¤áÉŹÍפʼĥźĽë¤ĎĄ˘
textproc/docproj ĽáĽż port
¤Ť¤éĽ¤ĽóĽšĽČĄźĽë¤Ç¤¤Ţ¤šĄŁ¤ł¤Î port ¤ĎĄ˘
&os; ĽÉĽĽĺĽáĽóĽĆĄźĽˇĽçĽóĽ×ĽíĽ¸Ľ§ĽŻĽČ¤Ë¤č¤ęłŤČݤľ¤ě¤Ć¤¤¤Ţ¤šĄŁĽÉĽĽĺĽáĽóĽČ¤Î &postscript; ¤ä PDF ČǤŹÉŹÍפʤą¤ě¤ĐĄ˘¤Ť¤ď¤ę¤Ë
textproc/docproj-nojadetex
¤ňĽ¤ĽóĽšĽČĄźĽë¤š¤ë¤ł¤Č¤âšÍ¤¨¤Ć¤č¤¤¤Ç¤ˇ¤ç¤ŚĄŁ
¤ł¤ÎĽÉĽĽĺĽáĽóĽĆĄźĽˇĽçĽó¤ÎĽÄĄźĽëĽÁĽ§Ľ¤Ľó¤ĎĄ˘
teTeX
¤Č¸Ć¤Đ¤ě¤ëÁČČÇĽ¨ĽóĽ¸Ľó¤ň˝ü¤¤¤ż¤š¤Ů¤Ć¤ňĽ¤ĽóĽšĽČĄźĽë¤ˇ¤Ţ¤šĄŁ
teTeX ¤ĎÂ礤ʼĥźĽë¤ÎĽłĽěĽŻĽˇĽçĽó¤Ç¤šĄŁ
¤˝¤Î¤ż¤áĄ˘¤â¤ˇ PDF ˝ĐÎϤňËÜĹö¤ËÉŹÍפȤˇ¤Ę¤ą¤ě¤ĐĄ˘
¤ł¤ÎĽÄĄźĽë¤ňĽ¤ĽóĽšĽČĄźĽë¤ˇ¤Ę¤¤¤ł¤Č¤Ď¤Č¤Ć¤â¸ĚŔ¤Ç¤šĄŁĽÉĽĽĺĽáĽóĽČ¤ÎĽ˝ĄźĽš¤ňĽ˘ĽĂĽ×ĽÇĄźĽČ¤š¤ë°Ę˛ź¤ÎÎă¤Ç¤ĎĄ˘svn ¤ňťČ¤Ă¤Ć
western US ĽßĽéĄź¤Ť¤é HTTPS Ľ×ĽíĽČĽłĽë¤ňÍѤ¤¤ĆĄ˘
ĽÉĽĽĺĽáĽóĽČ¤ÎĽ˝ĄźĽš¤ňĽŔĽŚĽóĽíĄźĽÉ¤ˇ¤Ţ¤šĄŁ&prompt.root; svn checkout https://svn0.us-west.FreeBSD.org/doc/head /usr/docÍřÍѲÄÇ˝¤Ę Subversion ĽßĽéĄźĽľĽ¤ĽČ
¤ÎĂ植¤é¤â¤Ă¤Č¤âśá¤¤ĽßĽéĄź¤ňťČ¤Ă¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁşÇ˝é¤ËĽÉĽĽĺĽáĽóĽČ¤ÎĽ˝ĄźĽš¤ňĽŔĽŚĽóĽíĄźĽÉ¤š¤ë¤Ë¤ĎžŻ¤ˇťţ´Ö¤Ź¤Ť¤Ť¤ę¤Ţ¤šĄŁ
ĽŔĽŚĽóĽíĄźĽÉ¤Ź˝Ş¤ď¤ë¤Ţ¤Ç¤ŞÂÔ¤Á¤Ż¤Ŕ¤ľ¤¤ĄŁĽŔĽŚĽóĽíĄźĽÉ¤ˇ¤żĽÉĽĽĺĽáĽóĽČ¤ÎĽ˝ĄźĽš¤ňĽ˘ĽĂĽ×ĽÇĄźĽČ¤š¤ë¤Ë¤ĎĄ˘
°Ę˛ź¤ÎĽłĽŢĽóĽÉ¤ňźÂšÔ¤ˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ&prompt.root; svn update /usr/docĽ˝ĄźĽš¤ňĆţźę¤ˇ¤ż¤éĄ˘
/usr/doc/Makefile ¤ňťČ¤¤Ą˘
°Ę˛ź¤Î¤č¤Ś¤ËĽÉĽĽĺĽáĽóĽČ¤ňĽ˘ĽĂĽ×ĽÇĄźĽČ¤š¤ë¤ł¤Č¤â¤Ç¤¤Ţ¤šĄŁ&prompt.root; cd /usr/doc
&prompt.root; make updateĽÉĽĽĺĽáĽóĽČ¤ÎĽ˝ĄźĽš¤ÎÄ´Ŕ°˛ÄÇ˝¤ĘĽŞĽ×ĽˇĽçĽó&os; ¤ÎĽÉĽĽĺĽáĽóĽČĽťĽĂĽČ¤ÎĽ˘ĽĂĽ×ĽÇĄźĽČ¤ČĽÓĽëĽÉĽˇĽšĽĆĽŕ¤ĎĄ˘
ĽÉĽĽĺĽáĽóĽĆĄźĽˇĽçĽó¤Î°ěÉô¤ÎĽ˘ĽĂĽ×ĽÇĄźĽČ¤ň´ĘĂą¤Ë¤š¤ëĽŞĽ×ĽˇĽçĽó¤äĄ˘
ĆĂÄę¤ÎËÝĚő¤ÎĽÓĽëĽÉ¤ËÂĐąţ¤ˇ¤Ć¤¤¤Ţ¤šĄŁ
¤ł¤ě¤é¤ÎĽŞĽ×ĽˇĽçĽó¤ĎĄ˘ĽˇĽšĽĆĽŕÁ´ČĚ¤ÎĽŞĽ×ĽˇĽçĽó¤Ç¤˘¤ë
/etc/make.conf ¤äĄ˘&man.make.1;
¤ËÍż¤¨¤ëĽłĽŢĽóĽÉĽéĽ¤ĽóĽŞĽ×ĽˇĽçĽó¤ÇŔßÄę¤Ç¤¤Ţ¤šĄŁĽŞĽ×ĽˇĽçĽó¤Ë¤Ď°Ę˛ź¤Î¤č¤Ś¤Ę¤â¤Î¤Ź¤˘¤ę¤Ţ¤šĄŁDOC_LANGĽÓĽëĽÉ¤Ş¤č¤ÓĽ¤ĽóĽšĽČĄźĽë¤Î¸Ŕ¸ě¤Ş¤č¤ÓĽ¨ĽóĽłĄźĽÇĽŁĽóĽ°¤Î°ěÍ÷ĄŁ
¤ż¤Č¤¨¤ĐĄ˘ąŃ¸ě¤ÎĽÉĽĽĺĽáĽóĽČ¤ňťŘÄꤚ¤ë¤Ë¤Ď
en_US.ISO8859-1 ¤ňŔßÄꤡ¤Ţ¤šĄŁFORMATSĽÓĽëĽÉ¤ňšÔ¤ŚĽŐĽŠĄźĽŢĽĂĽČĄ˘¤Ţ¤ż¤Ď˝ĐÎĎĽŐĽŠĄźĽŢĽĂĽČ¤Î°ěÍ÷ĄŁ
¸˝şß¤Ď html,
html-split, txt,
ps, pdf,
¤˝¤ˇ¤Ć rtf ¤ËÂĐąţ¤ˇ¤Ć¤¤¤Ţ¤šĄŁDOCDIRĽÉĽĽĺĽáĽóĽČ¤ňĽ¤ĽóĽšĽČĄźĽë¤š¤ëžě˝ęĄŁĽÇĽŐĽŠĽëĽČ¤Ď
/usr/share/doc ¤Ç¤šĄŁ&os; ¤ÎĽˇĽšĽĆĽŕÁ´ČĚ¤ÎĽŞĽ×ĽˇĽçĽó¤Ë´ŘϢ¤š¤ë¤â¤Ă¤ČÂż¤Ż¤Î
make ĘŃżô¤Ë¤Ä¤¤¤Ć¤ĎĄ˘
&man.make.conf.5; ¤ň¤´Í÷¤Ż¤Ŕ¤ľ¤¤ĄŁ&os; ĽÉĽĽĺĽáĽóĽČ¤ÎĽÓĽëĽÉĽˇĽšĽĆĽŕ¤ÇÂĐąţ¤ˇ¤Ć¤¤¤ë¤ľ¤é¤Ę¤ë
make ¤ÎĘŃżô¤Ë´Ř¤ˇ¤Ć¤ĎĄ˘
żˇ¤ˇ¤¤š×¸ĽźÔ¤Î¤ż¤á¤Î &os; ĽÉĽĽĺĽáĽóĽĆĄźĽˇĽçĽóĽ×ĽíĽ¸Ľ§ĽŻĽČĆţĚç ¤ňť˛žČ¤ˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁĽ˝ĄźĽš¤Ť¤é &os; ĽÉĽĽĺĽáĽóĽČ¤ňĽ¤ĽóĽšĽČĄźĽë¤š¤ëĽÉĽĽĺĽáĽóĽČ¤ÎĽ˝ĄźĽš¤ÎşÇżˇĽšĽĘĽĂĽ×ĽˇĽçĽĂĽČ¤ň
/usr/doc ¤ËĽŔĽŚĽóĽíĄźĽÉ¤ˇ¤ż¤éĄ˘
Ľ¤ĽóĽšĽČĄźĽë¤ľ¤ě¤Ć¤¤¤ëĽÉĽĽĺĽáĽóĽČ¤ňĽ˘ĽĂĽ×ĽÇĄźĽČ¤š¤ë˝ŕČ÷¤Ź¤š¤Ů¤ĆŔ°¤¤¤Ţ¤ˇ¤żĄŁDOC_LANG
¤ÇÄęľÁ¤ľ¤ě¤Ć¤¤¤ë¤š¤Ů¤Ć¤Î¸Ŕ¸ě¤ň´°Á´¤ËĽ˘ĽĂĽ×ĽÇĄźĽČ¤š¤ë¤Ë¤ĎĄ˘
°Ę˛ź¤Î¤č¤Ś¤ËĆţÎϤˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ&prompt.root; cd /usr/doc
&prompt.root; make install clean¤â¤ˇĄ˘¤˘¤ëĆĂÄę¤Î¸Ŕ¸ě¤Î¤ß¤ňĽ˘ĽĂĽ×ĽÇĄźĽČ¤ˇ¤ż¤¤¤Î¤Ç¤˘¤ě¤ĐĄ˘
/usr/doc
ĽľĽÖĽÇĽŁĽěĽŻĽČĽę¤Ç°Ę˛ź¤Î¤č¤Ś¤Ë &man.make.1; ¤ňźÂšÔ¤ˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ&prompt.root; cd /usr/doc/en_US.ISO8859-1
&prompt.root; make update install cleanFORMATS ¤ňŔßÄꤡ¤ĆĄ˘
°Ę˛ź¤Î¤č¤Ś¤ËĽ¤ĽóĽšĽČĄźĽë¤š¤ë˝ĐÎϡÁź°¤ňťŘÄę¤Ç¤¤Ţ¤šĄŁ&prompt.root; cd /usr/doc
&prompt.root; make FORMATS='html html-split' install cleanĽÉĽĽĺĽáĽóĽČ¤ňĘÔ˝¸¤ˇ¤ż¤ęĄ˘ÄűŔľ¤ˇ¤ż¤â¤Î¤ňÄó˝Đ¤š¤ëĘýËĄ¤Ë¤Ä¤¤¤Ć¤ĎĄ˘
żˇ¤ˇ¤¤š×¸ĽźÔ¤Î¤ż¤á¤Î &os;
ĽÉĽĽĺĽáĽóĽĆĄźĽˇĽçĽóĽ×ĽíĽ¸Ľ§ĽŻĽČĆţĚç ¤ň¤´Í÷¤Ż¤Ŕ¤ľ¤¤ĄŁMarcFonvieilleĽŮĄźĽš¤Č¤Ę¤Ă¤żşîśČ:ĽÉĽĽĺĽáĽóĽĆĄźĽˇĽçĽó portsUpdating and Upgradingdocumentation packageUpdating and Upgrading¤ł¤ě¤Ţ¤Ç¤ÎĽťĽŻĽˇĽçĽó¤Ç¤ĎĄ˘Ľ˝ĄźĽšĽłĄźĽÉ¤ňÍѤ¤¤ż &os;
ĽÉĽĽĺĽáĽóĽČ¤ÎĽ˘ĽĂĽ×ĽÇĄźĽČĘýËĄ¤Ë¤Ä¤¤¤ĆŔâĚŔ¤ˇ¤Ć¤¤Ţ¤ˇ¤żĄŁ
¤š¤Ů¤Ć¤Î &os; ĽˇĽšĽĆĽŕ¤ÇĄ˘
Ľ˝ĄźĽš¤Ť¤éĽÉĽĽĺĽáĽóĽČ¤ňĽ˘ĽĂĽ×ĽÇĄźĽČ¤š¤ë¤ł¤Č¤ĎĆń¤ˇ¤¤¤Ť¤âĂΤě¤Ţ¤ť¤ó¤ˇĄ˘
¤Ç¤¤ż¤Č¤ˇ¤Ć¤â¸˝źÂĹŞ¤Ç¤Ď¤Ę¤¤¤ł¤Č¤â¤˘¤ę¤Ţ¤šĄŁ
ĽÉĽĽĺĽáĽóĽČ¤ňĽ˝ĄźĽš¤Ť¤éš˝Ăۤš¤ë¤Ë¤ĎĄ˘
¤Ť¤Ę¤ęÂ礤ʼĥźĽë¤ČĽćĄźĽĆĽŁĽęĽĆĽŁ¤Ť¤éš˝Ŕޤľ¤ě¤ë
ĽÉĽĽĺĽáĽóĽĆĄźĽˇĽçĽóĽÄĄźĽëĽÁĽ§Ľ¤Ľó
¤ŹÉŹÍפʤż¤á¤Ç¤šĄŁ
¤Ţ¤żĄ˘svn
ĽęĽÝĽ¸ĽČĽę¤Ť¤éĽ˝ĄźĽš¤ňĽÁĽ§ĽĂĽŻĽ˘ĽŚĽČ¤ˇĄ˘
ĽÁĽ§ĽĂĽŻĽ˘ĽŚĽČ¤ˇ¤żĽ˝ĄźĽš¤Ť¤éĽÉĽĽĺĽáĽóĽČ¤ňźęư¤Çš˝Ăۤš¤ëĘýËĄ¤Ë¤Ä¤¤¤ĆĄ˘
¤˝¤ě¤Ę¤ę¤Ë˝ĎĂΤˇ¤Ć¤¤¤ëÉŹÍפ⤢¤ę¤Ţ¤šĄŁ
¤ł¤ÎŔá¤Ç¤ĎĄ˘Ľ¤ĽóĽšĽČĄźĽë¤ľ¤ě¤Ć¤¤¤ë
&os; ¤ÎĽÉĽĽĺĽáĽóĽČ¤ňĽ˘ĽĂĽ×ĽÇĄźĽČ¤š¤ë¤â¤Ś°ě¤Ä¤ÎĘýËĄ¤Ç¤˘¤ëĄ˘
Ports Collection ¤ňÍѤ¤¤żĘýËĄ¤Ë¤Ä¤¤¤ĆŔâĚŔ¤ˇĄ˘
°Ę˛ź¤Ë¤Ä¤¤¤ĆŔâĚŔ¤ˇ¤Ţ¤šĄŁš˝ĂۺѤμɼĽĺĽáĽóĽČ¤ÎĽšĽĘĽĂĽ×ĽˇĽçĽĂĽČ¤ňĽŔĽŚĽóĽíĄźĽÉ¤ˇ¤ĆĽ¤ĽóĽšĽČĄźĽë¤š¤ëĘýËĄĄŁ
ĽíĄźĽŤĽë¤Ç¤Îš˝ĂŰşîśČ¤äĽÉĽĽĺĽáĽóĽĆĄźĽˇĽçĽóĽÄĄźĽëĽÁĽ§Ľ¤Ľó¤ňĽ¤ĽóĽšĽČĄźĽë¤š¤ëÉŹÍפϤ˘¤ę¤Ţ¤ť¤óĄŁĽÉĽĽĺĽáĽóĽČ¤ÎĽ˝ĄźĽš¤ňĽŔĽŚĽóĽíĄźĽÉ¤ˇĄ˘ports
ĽŐĽěĄźĽŕĽďĄźĽŻ¤ňťČ¤Ă¤Ćš˝Ăۤš¤ëĘýËĄ¤Ç¤šĄŁ
ĽÁĽ§ĽĂĽŻĽ˘ĽŚĽČ¤Ş¤č¤Óš˝ĂŰşîśČ¤Ź´ĘĂą¤Ë¤Ę¤ę¤Ţ¤šĄŁ&os; ¤ÎĽÉĽĽĺĽáĽóĽČ¤ňĽ˘ĽĂĽ×ĽÇĄźĽČ¤š¤ë¤ł¤ě¤é¤ÎĘýËĄ¤ĎĄ˘
&a.doceng; ¤ŹËčˇîĽ˘ĽĂĽ×ĽÇĄźĽČ¤ˇ¤Ć¤¤¤ë
ĽÉĽĽĺĽáĽóĽĆĄźĽˇĽçĽó ports
¤Ë¤č¤ęĽľĽÝĄźĽČ¤ľ¤ě¤Ć¤¤¤Ţ¤šĄŁ
¤ł¤ě¤é¤Î ports ¤ĎĄ˘&os; Ports Collection ¤Î docs
ĽŤĽĆĽ´Ľę¤Ë¤Ţ¤Č¤á¤é¤ě¤Ć¤¤¤Ţ¤šĄŁĽÉĽĽĺĽáĽóĽĆĄźĽˇĽçĽó ports ¤Îš˝Ăۤȼ¤ĽóĽšĽČĄźĽëĽÉĽĽĺĽáĽóĽĆĄźĽˇĽçĽó ports ¤Ç¤ĎĄ˘
ports ¤Îš˝Ăۼռ쥟ĽŕĽďĄźĽŻ¤ŹÍѤ¤¤é¤ě¤ë¤Î¤ÇĄ˘
ĽÉĽĽĺĽáĽóĽČ¤ň´ĘĂą¤Ëš˝ĂۤǤ¤Ţ¤šĄŁ
¤ł¤Î ports ¤ĎĄ˘ĽÉĽĽĺĽáĽóĽČ¤ÎĽ˝ĄźĽš¤ňźŤĆ°ĹŞ¤ËĽÁĽ§ĽĂĽŻĽ˘ĽŚĽČ¤ˇĄ˘
´ÄśĘŃżô¤äĽłĽŢĽóĽÉĽéĽ¤ĽóĽŞĽ×ĽˇĽçĽó¤ňĹŹŔÚ¤ËŔßÄꤡ¤Ć &man.make.1;
¤ňźÂšÔ¤ˇ¤Ţ¤šĄŁ
¤Ţ¤żĄ˘Âž¤Î &os; port, package ¤ÎĽ¤ĽóĽšĽČĄźĽë¤ČĆąÍͤ˴ĘĂą¤ĘĘýËĄ¤ÇĄ˘
ĽÉĽĽĺĽáĽóĽČ¤ÎĽ¤ĽóĽšĽČĄźĽë¤äĽ˘ĽóĽ¤ĽóĽšĽČĄźĽë¤ňšÔ¤Ś¤ł¤Č¤Ź¤Ç¤¤Ţ¤šĄŁÄɲäξĄÇ˝¤Č¤ˇ¤ĆĄ˘¤ł¤Î ports ¤Ď
ĽÉĽĽĺĽáĽóĽĆĄźĽˇĽçĽóĽÄĄźĽëĽÁĽ§Ľ¤Ľó ports
¤Ř¤Î°Í¸¤ňÍý˛ň¤ˇ¤Ć¤¤¤ë¤Î¤ÇĄ˘
š˝ĂŰťţ¤Ë¤ĎĽÉĽĽĺĽáĽóĽĆĄźĽˇĽçĽóĽÄĄźĽëĽÁĽ§Ľ¤Ľó¤âźŤĆ°ĹŞ¤ËĽ¤ĽóĽšĽČĄźĽë¤ľ¤ě¤Ţ¤šĄŁĽÉĽĽĺĽáĽóĽĆĄźĽˇĽçĽó ports ¤Îš˝ŔŽ¤Ď°Ę˛ź¤ÎÄ̤ę¤Ç¤šĄŁĽŢĽšĽż port, misc/freebsd-doc-enĄŁ
¤š¤Ů¤Ć¤ÎąŃ¸ěʸ˝ń¤Î ports ¤ňĽ¤ĽóĽšĽČĄźĽë¤ˇ¤Ţ¤šĄŁ¤š¤Ů¤Ć¤ÎĽÉĽĽĺĽáĽóĽČ¤Î port, misc/freebsd-doc-allĄŁ
¤ł¤ě¤ĎĄ˘¤š¤Ů¤Ć¤ÎÍřÍѲÄÇ˝¤Ę¸Ŕ¸ě¤Î¤š¤Ů¤Ć¤ÎĽÉĽĽĺĽáĽóĽČ¤ňš˝Ăۤˇ¤Ţ¤šĄŁłĆ¸Ŕ¸ě¤Î¤ż¤á¤Ë ĽšĽěĄźĽÖ port
¤ŹÍѰդľ¤ě¤Ć¤¤¤Ţ¤šĄŁ¤ż¤Č¤¨¤ĐĄ˘misc/freebsd-doc-hu
¤ĎĽĎĽóĽŹĽęĄź¸ě¤ÎĽÉĽĽĺĽáĽóĽĆĄźĽˇĽçĽó port ¤Ç¤šĄŁ¤ż¤Č¤¨¤ĐĄ˘ ¤ČĆą¤¸ˇÁź°¤Ç¤˘¤ëĄ˘
ąŃ¸ěČǤÎĘŹłä¤ľ¤ě¤ż HTML ˇÁź°¤ňš˝ĂۤˇĄ˘
/usr/local/share/doc/freebsd
¤ËĽ¤ĽóĽšĽČĄźĽë¤š¤ë¤Ë¤Ď°Ę˛ź¤Î port ¤ňĽ¤ĽóĽšĽČĄźĽë¤ˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ&prompt.root; cd /usr/ports/misc/freebsd-doc-en
&prompt.root; make install cleanśŚÄĚ¤ÎĽŞĽ×ĽˇĽçĽóĽÉĽĽĺĽáĽóĽĆĄźĽˇĽçĽó ports
¤Ë¤Ď¤ż¤Ż¤ľ¤ó¤ÎĽŞĽ×ĽˇĽçĽó¤ŹÍѰդľ¤ě¤Ć¤Ş¤ęĄ˘
°Ę˛ź¤Î¤č¤Ś¤Ë
ports ¤Îżś¤ëÉń¤¤¤ňĽÇĽŐĽŠĽëĽČ¤ÎŔßÄꤍ¤éĘŃšš¤Ç¤¤Ţ¤šĄŁWITH_HTMLHTML ˇÁź°¤ňš˝Ăۤˇ¤Ţ¤šĄŁ
łĆĽÉĽĽĺĽáĽóĽČ¤ËÂФˇĄ˘Ăą°ěČǤΠHTML ĽŐĽĄĽ¤Ľë¤Źš˝Ăۤľ¤ě¤Ţ¤šĄŁ
Ŕ°ˇÁ¤ľ¤ě¤żĽÉĽĽĺĽáĽóĽČ¤ĎĄ˘
article.html ¤ä
book.html ¤Č¤¤¤Ă¤żĚžÁ°¤ÇĄ˘
ÉŹÍפ˹ţ¤¸¤Ć˛čÁü¤Č¤Č¤â¤ËĽ¤ĽóĽšĽČĄźĽë¤ľ¤ě¤Ţ¤šĄŁWITH_PDF&adobe; Portable Document Format (PDF) ¤ňš˝Ăۤˇ¤Ţ¤šĄŁ
Ŕ°ˇÁ¤ľ¤ě¤żĽÉĽĽĺĽáĽóĽČ¤ĎĄ˘
article.pdf ¤ä
book.pdf
¤Č¤¤¤Ă¤żĚžÁ°¤ÇĽ¤ĽóĽšĽČĄźĽë¤ľ¤ě¤Ţ¤šĄŁDOCBASEĽÉĽĽĺĽáĽóĽČ¤ÎĽ¤ĽóĽšĽČĄźĽëŔč¤ňŔßÄꤡ¤Ţ¤šĄŁ
ĽÇĽŐĽŠĽëĽČ¤ÎĽ¤ĽóĽšĽČĄźĽëŔč¤Ď /usr/local/share/doc/freebsd
¤Ç¤šĄŁĽÇĽŐĽŠĽëĽČ¤ÎĽżĄźĽ˛ĽĂĽČĽÇĽŁĽěĽŻĽČĽę¤ĎĄ˘
svn
¤ňÍѤ¤¤ëĘýËĄ¤Č¤Ď°Ű¤Ę¤ę¤Ţ¤šĄŁ
ports ¤ĎÄĚžď /usr/local
ĽÇĽŁĽěĽŻĽČĽę°Ę˛ź¤ËĽ¤ĽóĽšĽČĄźĽë¤ľ¤ě¤ë¤ż¤á¤Ç¤šĄŁ
PREFIX ĘŃżô¤ňťČ¤Ś¤ł¤Č¤ÇĄ˘
¤ł¤ÎĽÇĽŁĽěĽŻĽČĽę°Ęł°¤Ë¤âĽ¤ĽóĽšĽČĄźĽë¤Ç¤¤Ţ¤šĄŁ°Ę˛ź¤ĎĄ˘žĺľ¤ÎĘŃżô¤ňÍѤ¤¤ĆĽĎĽóĽŹĽęĄź¸ě¤ÎĽÉĽĽĺĽáĽóĽČ¤ň
PDF ˇÁź°¤ÇĽ¤ĽóĽšĽČĄźĽë¤š¤ëĘýËĄ¤Ç¤šĄŁ&prompt.root; cd /usr/ports/misc/freebsd-doc-hu
&prompt.root; make -DWITH_PDF DOCBASE=share/doc/freebsd/hu install cleanĽÉĽĽĺĽáĽóĽĆĄźĽˇĽçĽó package ¤ÎÍřÍŃÁ°Ŕá¤ÇŔâĚŔ¤ˇ¤żĄ˘
Ľ˝ĄźĽš¤Ť¤éĽÉĽĽĺĽáĽóĽĆĄźĽˇĽçĽó port ¤ňš˝Ăۤš¤ëĘýËĄ¤Ç¤ĎĄ˘
ĽÉĽĽĺĽáĽóĽĆĄźĽˇĽçĽóĽÄĄźĽëĽÁĽ§Ľ¤Ľó¤ňĽíĄźĽŤĽë¤ËĽ¤ĽóĽšĽČĄźĽë¤š¤ëÉŹÍפʤ˘¤ęĄ˘
¤Ţ¤żĄ˘ports ¤Îš˝ĂۤΤż¤á¤ËĽÇĽŁĽšĽŻÍĆÎ̤ňÉŹÍפȤˇ¤Ţ¤šĄŁ
ĽÉĽĽĺĽáĽóĽĆĄźĽˇĽçĽóĽÄĄźĽëĽÁĽ§Ľ¤Ľó¤ňĽ¤ĽóĽšĽČĄźĽë¤š¤ëĽęĽ˝ĄźĽš¤Ź¤Ę¤¤žěšç¤äĄ˘
Ľ˝ĄźĽš¤Ť¤éš˝Ăۤš¤ëžěšç¤Ë¤ĎÂż¤Ż¤ÎĽÇĽŁĽšĽŻÍĆÎ̤ňÉŹÍפȤš¤ë¤ż¤áĄ˘
š˝ĂۺѤߤμɼĽĺĽáĽóĽĆĄźĽˇĽçĽó ports
¤ÎĽšĽĘĽĂĽ×ĽˇĽçĽĂĽČ¤ŹÍѰդľ¤ě¤Ć¤¤¤Ţ¤šĄŁ&a.doceng; ¤ĎĄ˘Ëčˇî &os; ĽÉĽĽĺĽáĽóĽĆĄźĽˇĽçĽó package
¤ÎĽšĽĘĽĂĽ×ĽˇĽçĽĂĽČ¤ňĽ˘ĽĂĽ×ĽÇĄźĽČ¤ˇ¤Ć¤¤¤Ţ¤šĄŁ
¤ł¤ě¤é¤ÎĽĐĽ¤ĽĘĽę package ¤ĎĄ˘ĽˇĽšĽĆĽŕ¤ËÍѰդľ¤ě¤Ć¤¤¤ë
&man.pkg.add.1;, &man.pkg.delete.1; ¤Ę¤É¤Î
package ´ÉÍýĽÄĄźĽë¤ňÍѤ¤¤Ć°ˇ¤Ś¤ł¤Č¤Ź¤Ç¤¤Ţ¤šĄŁĽĐĽ¤ĽĘĽę package ¤ňťČ¤Ś¤ČĄ˘
Ľ¤ĽóĽšĽČĄźĽë¤š¤ë¸Ŕ¸ě¤ËÍѰդľ¤ě¤Ć¤¤¤ë
¤š¤Ů¤Ć ¤ÎˇÁź°¤Î
&os; ĽÉĽĽĺĽáĽóĽČ¤ŹĽ¤ĽóĽšĽČĄźĽë¤ľ¤ě¤Ţ¤šĄŁ¤ż¤Č¤¨¤ĐĄ˘°Ę˛ź¤ÎĽłĽŢĽóĽÉ¤ňźÂšÔ¤š¤ë¤ČĄ˘
ĽĎĽóĽŹĽęĄź¸ě¤ÎĽÉĽĽĺĽáĽóĽČ¤ÎşÇżˇ package ¤ŹĽ¤ĽóĽšĽČĄźĽë¤ľ¤ě¤Ţ¤šĄŁ&prompt.root; pkg_add -r hu-freebsd-docĽÉĽĽĺĽáĽóĽČ¤Î package ¤ĎĄ˘ÂĐąţ¤š¤ë port Ěž¤Č¤Ď°Ű¤Ę¤ęĄ˘
lang-freebsd-doc
¤ÎˇÁź°¤ÇĚžÁ°¤Ź¤Ä¤ą¤é¤ě¤Ć¤¤¤Ţ¤šĄŁ
¤ł¤ł¤ÇĄ˘lang ¤Ď¸Ŕ¸ěĽłĄźĽÉ¤ÎĂť˝ĚˇÁ¤Ç¤šĄŁ
ĽĎĽóĽŹĽęĄź¸ě¤Îžěšç¤Ď huĄ˘´ĘÂÎťú¤Îžěšç¤Ë¤Ď
zh_cn ¤Ç¤šĄŁĽÉĽĽĺĽáĽóĽĆĄźĽˇĽçĽó ports ¤ÎĽ˘ĽĂĽ×ĽÇĄźĽČž¤Î port ¤ČĆąÍͤ˥˘ĽÉĽĽĺĽáĽóĽĆĄźĽˇĽçĽó port
¤ňĽ˘ĽĂĽ×ĽÇĄźĽČ¤Ç¤¤Ţ¤šĄŁ
¤ż¤Č¤¨¤ĐĄ˘°Ę˛ź¤ÎĽłĽŢĽóĽÉ¤ňźÂšÔ¤š¤ë¤ČĄ˘ports-mgmt/portupgrade
¤Ť¤éĄ˘package ¤Ŕ¤ą¤ňťČ¤Ă¤ĆĽ¤ĽóĽšĽČĄźĽë¤ľ¤ě¤Ć¤¤¤ëĽĎĽóĽŹĽęĄź¸ě¤ÎĽÉĽĽĺĽáĽóĽČ¤ňĽ˘ĽĂĽ×ĽÇĄźĽČ¤ˇ¤Ţ¤šĄŁ&prompt.root; portmaster -PP hu-freebsd-docłŤČŻĽÖĽéĽóĽÁ¤ňÄɤ¤¤Ť¤ą¤ë-CURRENT-STABLE&os; ¤Ë¤ĎĆó¤Ä¤ÎłŤČŻĽÖĽéĽóĽÁ¤Ź¤˘¤ę¤Ţ¤šĄŁ
¤˝¤ě¤Ď &os.current; ¤Č &os.stable; ¤Ç¤šĄŁ
¤ł¤ÎžĎ¤Ç¤Ď¤˝¤ě¤ž¤ě¤Ë¤Ä¤¤¤ĆŔâĚŔ¤ˇĄ˘
¤É¤Î¤č¤Ś¤Ë¤ˇ¤ĆĽˇĽšĽĆĽŕ¤ÎÂĐąţ¤š¤ëĽÄĽęĄź¤ňşÇżˇ¤ÎžőÂÖ¤ËĘݤĤŤ¤Ë¤Ä¤¤¤ĆŔâĚŔ¤ˇ¤Ţ¤šĄŁ
¤Ţ¤ş¤Ď &os.current;Ą˘źĄ¤Ë &os.stable; ¤Ë¤Ä¤¤¤ĆŔâĚŔ¤ˇ¤Ţ¤šĄŁĚő: &a.hanai;Ą˘1996 ÇŻ 11 ˇî 6 ĆüşÇżˇ¤Î &os; ¤ňÄɤ¤¤Ť¤ą¤ë&os.current; ¤Č¤Ď &os; ¤ÎłŤČŻ¤Î şÇÁ°Ŕţ ¤Ç¤šĄŁ
&os.current; ¤ÎĽćĄźĽś¤Ďšâ¤¤ľť˝ŃÎϤňťý¤Ä¤ł¤Č¤ŹÍ׾᤾¤ěĄ˘
źŤĘŹ¤ÎĽˇĽšĽĆĽŕ¤ŹĘú¤¨¤ëş¤Ćń¤ĘĚäÂę¤ňźŤÎϤDzňˇč¤Ç¤¤Ę¤ą¤ě¤Đ¤Ę¤ę¤Ţ¤ť¤óĄŁ
¤â¤ˇ &os; ¤ňťČ¤¤ťĎ¤á¤ż¤Đ¤Ť¤ę¤Ę¤éĄ˘
¤ł¤ě¤ňążÍѤš¤ë¤ł¤Č¤Ë¤Ä¤¤¤Ć˝˝ĘʏĄĆ¤¤ň˝Ĺ¤Í¤żĘý¤ŹÎɤ¤¤Ç¤ˇ¤ç¤ŚĄŁ&os.current; ¤Ă¤Ć¤Ę¤Ë?&os.current; ¤Ď &os; ¤ÎşÇżˇ¤ÎĽ˝ĄźĽšĽłĄźĽÉ¤Ç¤šĄŁ
Ăć¤Ë¤Ď¸˝şßłŤČŻĹÓžĺ¤ÎĽ˝ĽŐĽČĽŚĽ§Ľ˘Ą˘
źÂ¸łĹޤĘĘŃššĄ˘¤˘¤ë¤¤¤Ď˛áĹĎĹŞ¤ĘľĄÇ˝¤Ę¤É¤Ź´Ţ¤Ţ¤ě¤Ć¤¤¤Ţ¤šĄŁ
¤Ţ¤żĄ˘¤ł¤ÎĂć¤ËĆţ¤Ă¤Ć¤¤¤ëľĄÇ˝¤Ź¤š¤Ů¤ĆĄ˘
źĄ¤Î¸řź°ĽęĽęĄźĽš¤ËĆţ¤ë¤Č¤Ď¸Â¤ę¤Ţ¤ť¤óĄŁ&os.current;
¤ňĽ˝ĄźĽš¤Ť¤é¤Ű¤ÜËčĆüĽłĽóĽŃĽ¤Ľë¤ˇ¤Ć¤¤¤ëżÍ¤Ď¤ż¤Ż¤ľ¤ó¤¤¤Ţ¤š¤ŹĄ˘
ťţ´ü¤Ë¤č¤Ă¤Ć¤ĎĽłĽóĽŃĽ¤Ľë¤ľ¤¨¤Ç¤¤Ę¤¤žőÂ֤ˤʤäƤ¤¤ë¤ł¤Č¤â¤˘¤ę¤Ţ¤šĄŁ
¤ł¤ě¤é¤ÎĚäÂę¤Ď˛ÄÇ˝¤Ę¸Â¤ęż×ÂŽ¤Ë˛ňˇč¤ľ¤ě¤Ţ¤š¤ŹĄ˘
&os.current; ¤ŹÉÔšŹ¤ň¤â¤ż¤é¤š¤ŤĄ˘
¤˝¤ě¤Č¤âČóžď¤ËÁÇŔ˛¤é¤ˇ¤¤ľĄÇ˝¤ň¤â¤ż¤é¤š¤Ť¤ĎĄ˘
¤Ţ¤ľ¤ËĽ˝ĄźĽšĽłĄźĽÉ¤ňĆą´ü¤ˇ¤ż˝Ö´Ö¤Ë¤č¤ë¤Î¤Ç¤š!ĂŻ¤Ź &os.current; ¤ňÉŹÍפȤˇ¤Ć¤ë¤Î?&os.current; ¤ĎĄ˘
źĄ¤Î 3 ¤Ä¤Î˝ĹÍפʼ°ĽëĄźĽ×¤ňÂОݤȤˇ¤Ć¤¤¤Ţ¤šĄŁĽ˝ĄźĽšĽÄĽęĄź¤Î¤˘¤ëÉôĘŹ¤Ë´Ř¤ˇ¤ĆłčČŻ¤ËşîśČ¤ˇ¤Ć¤¤¤ë
&os; ĽłĽßĽĺĽËĽĆĽŁ¤ÎĽáĽóĽĐĄŁ
Čŕ¤é¤Ë¤Č¤Ă¤Ć¤Ď şÇżˇ¤Î¤â¤Î ¤Ë¤ˇ¤Ć¤Ş¤Ż¤Î¤Ź
ŔäÂФËÉŹÍפʤł¤Č¤Ę¤Î¤Ç¤šĄŁłčČŻ¤ËĽĆĽšĽČ¤ˇ¤Ć¤¤¤ë &os; ĽłĽßĽĺĽËĽĆĽŁ¤ÎĽáĽóĽĐĄŁ
Čŕ¤é¤ĎĄ˘&os.current;
¤Ź ˇňÁ´¤Ç¤˘¤ë ¤ł¤Č¤ň˛ÄÇ˝¤Ę¸Â¤ęĘÝžÚ¤š¤ë¤ż¤á¤ËĄ˘
źďĄš¤ÎĚäÂę¤ň˛ňˇč¤š¤ë¤Î¤Ëťţ´Ö¤ňŔˤˇ¤Ţ¤Ę¤¤żÍĄš¤Ç¤šĄŁ
¤ł¤ě¤é¤ÎĽĆĽšĽżĄź¤ĎĄ˘¤ľ¤Ţ¤ś¤Ţ¤ĘĘŃšš¤Ë´Ř¤š¤ëÄó°Ć¤ä
&os; ¤ÎÂç¤Ţ¤Ť¤ĘĘý¸ţÉŐ¤ą¤ňšÔ¤Ę¤¤¤ż¤¤¤Čť×¤Ă¤Ć¤¤¤ë
żÍĄš¤Ç¤â¤˘¤ęĄ˘¤˝¤ě¤ňźÂÁő¤š¤ë¤ż¤á¤ÎĽŃĽĂĽÁ¤ňÄ󟨤ˇ¤Ţ¤šĄŁĂą¤ËĄ˘¤ľ¤Ţ¤ś¤Ţ¤Ęťö¤ËĚܤň¸ţ¤ąĄ˘
ť˛šÍ¤Î¤ż¤á¤ËşÇżˇ¤ÎĽ˝ĄźĽš¤ňťČ¤¤¤ż¤¤¤Čť×¤Ă¤Ć¤¤¤ëżÍĄšĄŁ
¤ł¤ě¤é¤ÎżÍĄš¤Ď¤Ţ¤żĄ˘
ťţĄšĽłĽáĽóĽČ¤äĽłĄźĽÉ¤ň´óšĆ¤ˇ¤Ć¤Ż¤ě¤Ţ¤šĄŁ&os.current;
¤Ë´üÂÔ¤ˇ¤Ć¤Ď¤¤¤ą¤Ę¤¤¤ł¤Č¤Ď?źĄ¤ÎĽęĽęĄźĽš¤ÎÁ°¤ËĄ˘şÇ¤âÁ᤯żˇ¤ˇ¤¤ľĄÇ˝¤ňĆţźę¤š¤ë¤ł¤ČĄŁ
ĽęĽęĄźĽšÁ°¤ÎľĄÇ˝¤Ď˝˝ĘŹ¤ËĽĆĽšĽČ¤ľ¤ě¤Ć¤¤¤Ę¤¤¤ż¤áĄ˘
ĽĐĽ°¤ň´Ţ¤ó¤Ç¤¤¤Ż˛ÄÇ˝Ŕ¤ŹÂ礤¤Ë¤˘¤ę¤Ţ¤šĄŁĽĐĽ°¤ň˝¤Ŕľ¤š¤ë¤ż¤á¤ÎÁÇÁᤤĘýËĄĄŁ
¤¤¤Ť¤Ę¤ëĽłĽßĽĂĽČ¤ĎĄ˘
¸ľ¤Ť¤é¤˘¤ëĽĐĽ°¤ň˝¤Ŕľ¤š¤ë¤Î¤ČĆą¤¸¤ŻĄ˘
żˇ¤ˇ¤¤ĽĐĽ°¤ňŔ¸¤ß˝Đ¤š¤Ş¤˝¤ě¤Ź¤˘¤ę¤Ţ¤šĄŁ¸řź°¤ÎĽľĽÝĄźĽČ ¤Ď¤˘¤ę¤Ţ¤ť¤óĄŁ&os.current; ¤ňťČ¤Ś
-
- -CURRENT
- ťČÍŃ
-
- &a.current.name; ¤Č &a.svn-src-head.name; ĽáĄźĽęĽóĽ°ĽęĽšĽČ
+ &a.current.name; ¤Č &a.svn-src-head.name;-CURRENTťČÍŃ ĽáĄźĽęĽóĽ°ĽęĽšĽČ
¤Ë˛Ă¤ď¤Ă¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ
¤ľ¤Ţ¤ś¤Ţ¤ĘżÍ¤ŹĽˇĽšĽĆĽŕ¤Î¸˝şß¤ÎžőÂ֤ˤĤ¤¤Ć˝Ň¤Ů¤Ć¤¤¤ëĽłĽáĽóĽČ¤ň¸Ť¤ż¤ęĄ˘
ĽˇĽšĽĆĽŕ¤ňŔľžď¤ËĘݤĤż¤á¤Î˝ĹÍפʞđĘó¤ň¸ŤĆ¨¤ľ¤Ę¤¤¤ż¤á¤ËĄ˘
ÉŹżÜ¤Î ¤ł¤Č¤Ç¤šĄŁ&a.svn-src-head.name; ĽáĄźĽęĽóĽ°ĽęĽšĽČ¤Ç¤ĎĄ˘
¤˝¤ě¤ž¤ě¤ÎĘŃšš¤Ë¤Ä¤¤¤Ć¤Î
commit ĽíĽ°¤ŹľĎż¤ľ¤ě¤Ć¤¤¤Ţ¤šĄŁ
¤Ţ¤żĄ˘¤˝¤ě¤Ë´Ř¤ˇ¤ĆľŻ¤ł¤ęĆŔ¤ëÉűşîÍѤΞđĘó¤ňĆŔ¤ë¤ł¤Č¤Ź¤Ç¤¤Ţ¤š¤Î¤ÇĄ˘
ť˛˛Ă¤š¤ë˛ÁĂͤΤ˘¤ëĽáĄźĽęĽóĽ°ĽęĽšĽČ¤Ç¤šĄŁ¤ł¤ě¤é¤ÎĽáĄźĽęĽóĽ°ĽęĽšĽČ¤ËĆţ¤ë¤Ë¤ĎĄ˘
&a.mailman.lists.link;
¤ň¤ż¤É¤Ă¤Ćť˛˛Ă¤ˇ¤ż¤¤ĽáĄźĽęĽóĽ°ĽęĽšĽČ¤ňĽŻĽęĽĂĽŻ¤ˇĄ˘
źę˝ç¤ÎŔâĚŔ¤Ë¤ˇ¤ż¤Ź¤Ă¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ
Ľ˝ĄźĽšĽÄĽęĄźÁ´ÂΤÎĘŃššĹŔ¤ňÄɤ¤¤Ť¤ą¤ë¤Î¤Ç¤˘¤ě¤ĐĄ˘
&a.svn-src-all.name; ĽáĄźĽęĽóĽ°ĽęĽšĽČ¤ňšŘĆɤˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ&os; ĽßĽéĄźĽľĽ¤ĽČ
¤Ť¤éĽ˝ĄźĽš¤ÎĆţźę¤š¤ë¤Ë¤ĎĄ˘°Ę˛ź¤Î¤č¤Ś¤Ę¤¤¤Ż¤Ä¤Ť¤ÎĘýËĄ¤Ź¤˘¤ę¤Ţ¤šĄŁ
-
- Subversion
-
-
- cron
-
-
- -CURRENT
- Subversion ¤ňťČ¤Ă¤żĆą´ü
-
-
- -CURRENT
- CTM ¤ňťČ¤Ă¤żĆą´ü
-
-
- svn ¤ňťČ¤Ă¤ĆĄ˘
+ svnSubversion ¤ňťČ¤Ă¤ĆĄ˘
´őËž¤š¤ëłŤČŻĽÖĽéĽóĽÁĄ˘
¤â¤ˇ¤Ż¤ĎĽęĽęĄźĽšĽÖĽéĽóĽÁ¤ňĽÁĽ§ĽĂĽŻĽ˘ĽŚĽČ¤ˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ
¤ł¤ÎĘýËĄ¤ĎĄ˘łŤČŻĂć¤Î &os; ĽęĽÝĽ¸ĽČĽę¤Ř¤ÎĽ˘ĽŻĽťĽš¤ňÄ󜥤ˇ¤Ć¤Ş¤ęĄ˘
żäžŠ¤ľ¤ě¤Ć¤¤¤Ţ¤šĄŁ
Subversion ĽßĽéĄźĽľĽ¤ĽČ
¤Î¤Ň¤Č¤Ä¤Î head ĽÖĽéĽóĽÁ¤Ť¤é
- -CURRENT ĽłĄźĽÉ¤ňĽÁĽ§ĽĂĽŻĽ˘ĽŚĽČ¤ˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ
+ -CURRENT-CURRENTSubversion ¤ňťČ¤Ă¤żĆą´ü ĽłĄźĽÉ¤ňĽÁĽ§ĽĂĽŻĽ˘ĽŚĽČ¤ˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ
ĽęĽÝĽ¸ĽČĽęĽľĽ¤Ľş¤Î´ŃĹŔ¤Ť¤éĄ˘
´őËž¤š¤ëĽľĽÖĽÄĽęĄź¤Î¤ß¤ňĽÁĽ§ĽĂĽŻĽ˘ĽŚĽČ¤š¤ë¤ł¤Č¤ŹżäžŠ¤ľ¤ě¤Ţ¤šĄŁ
-
- -CURRENT
- CTM ¤ňťČ¤Ă¤żĆą´ü
-
-
- CTM¤ňÍѤ¤¤ëĄŁ
+ CTM-CURRENTCTM ¤ňťČ¤Ă¤żĆą´ü¤ňÍѤ¤¤ëĄŁ
ŔÜÂłÎÁ¤ŹšâłŰ¤Ŕ¤Ă¤ż¤ęĄ˘email ¤Ç¤ÎĽ˘ĽŻĽťĽš¤ˇ¤Ť¤Ç¤¤Ę¤¤¤č¤Ś¤ĘĄ˘
¤˘¤Ţ¤ęÎÉźÁ¤Ç¤Ę¤¤ TCP/IP ŔÜÂł¤Îžěšç¤Ë¤ĎĄ˘CTM
¤ňÍřÍѤš¤ë¤ČÎɤ¤¤Ç¤ˇ¤ç¤ŚĄŁ¤ż¤Ŕ¤ˇĄ˘Subversion
¤Ű¤É¤Ë¤ĎżŽÍę¤Ď¤Ç¤¤Ţ¤ť¤óĄŁ
¤˝¤Î¤ż¤áĄ˘Ľ¤ĽóĽżĄźĽÍĽĂĽČ¤ËŔÜÂł¤ˇ¤Ć¤¤¤ëĽˇĽšĽĆĽŕ¤Ç¤˘¤ě¤ĐĄ˘
Subversion
¤ňÍřÍѤľ¤ě¤ë¤ł¤Č¤ňżäžŠ¤ˇ¤Ţ¤šĄŁ¤â¤ˇĄ˘Ľ˝ĄźĽš¤ňÄŻ¤á¤ë¤Ŕ¤ą¤Ç¤Ę¤ŻĄ˘
Áö¤é¤ť¤ë¤ż¤á¤ËĆţźę¤š¤ë¤Î¤Ç¤˘¤ě¤ĐĄ˘
°ěÉô¤Ŕ¤ąÁŞ¤Ö¤Î¤Ç¤Ď¤Ę¤ŻĄ˘&os.current;
¤ÎÁ´ÂΤňźę¤ËĆţ¤ě¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ
Ľ˝ĄźĽš¤Î¤ľ¤Ţ¤ś¤Ţ¤ĘÉôĘŹ¤ŹÂž¤ÎÉôĘŹ¤Îššżˇ¤Ë°Í¸¤ˇ¤Ć¤Ş¤ęĄ˘
°ěÉô¤Î¤ß¤ňĽłĽóĽŃĽ¤Ľë¤ˇ¤č¤Ś¤Č¤š¤ë¤ČĄ˘
¤Ű¤Ü´Ö°ă¤¤¤Ę¤ŻĚäÂꤏľŻ¤¤Ţ¤šĄŁ
-
- -CURRENT
- ĽłĽóĽŃĽ¤Ľë
-
- &os.current; ¤ňĽłĽóĽŃĽ¤Ľë¤š¤ëÁ°¤Ë
+ &os.current; ¤ňĽłĽóĽŃĽ¤Ľë-CURRENTĽłĽóĽŃĽ¤Ľë¤š¤ëÁ°¤Ë
/usr/src/Makefile
¤ňĂí°Őżź¤ŻĆɤó¤Ç¤Ż¤Ŕ¤ľ¤¤ĄŁ
Ľ˘ĽĂĽ×Ľ°ĽěĄźĽÉ¤Î˝čÍý¤Î°ěÉô¤Č¤ˇ¤ĆĄ˘şÇ˝é¤Ë
żˇ¤ˇ¤¤ĽŤĄźĽÍĽë¤ňĽ¤ĽóĽšĽČĄźĽë¤ˇ
¤ĆĄ˘world ¤ňşĆš˝ĂŰ ¤ˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ&a.current; ¤Č
/usr/src/UPDATING ¤ňĆɤá¤ĐĄ˘
źĄ¤ÎĽęĽęĄźĽš¤Ř¸ţ¤ą¤Ć°Ü¤Ă¤Ć¤ć¤Ż¤ËĹö¤ż¤Ă¤ĆĄ˘
¤Č¤¤É¤ÉŹÍפȤʤë´ű¸ĽˇĽšĽĆĽŕ¤Ť¤é¤ÎżˇĽˇĽšĽĆĽŕ¤Îš˝ĂŰźę˝ç¤Ë¤Ä¤¤¤Ć¤ÎşÇżˇžđĘó¤ŹĆŔ¤é¤ě¤ë¤Ç¤ˇ¤ç¤ŚĄŁĽ˘ĽŻĽĆĽŁĽÖ¤Ë¤Ę¤Ă¤Ć¤Ż¤Ŕ¤ľ¤¤!
&os.current; ¤ÎĽćĄźĽś¤Ë¤ĎĄ˘
łČÄĽ¤äĽĐĽ°Ä٤ˇ¤Ë´Ř¤ˇ¤ĆÄó°Ć¤š¤ë¤ł¤Č¤Ź´Ť¤á¤é¤ě¤Ć¤¤¤Ţ¤šĄŁ
ĽłĄźĽÉ¤ňČź¤ŚÄó°Ć¤Ď¤â¤Ă¤Č¤â´żˇŢ¤ľ¤ě¤ë¤â¤Î¤Ç¤š!°ÂÄęČǤΠ&os; ¤ňťČ¤ŚĚő: &a.jp.iwasaki;&os.stable; ¤Ă¤Ć¤Ę¤Ë?-STABLE&os.stable; ¤Č¤ĎÄę´üĹŞ¤Ë¸řłŤ¤ľ¤ě¤ëĽęĽęĄźĽš¤ňşîŔޤš¤ë¤ż¤á¤ÎłŤČŻĽÖĽéĽóĽÁ¤Ç¤šĄŁ
¤ł¤ÎĽÖĽéĽóĽÁ¤Ë˛Ă¤¨¤é¤ě¤ëĘŃšš¤Ď¸śÂ§¤Č¤ˇ¤ĆĄ˘
ťöÁ°¤Ë &os.current; ¤Çťî¸ł¤ş¤ß¤Ç¤˘¤ë¤Č¤¤¤ŚĆĂħ¤Ź¤˘¤ę¤Ţ¤šĄŁ
¤ż¤Ŕ¤˝¤Ś¤Ç¤˘¤Ă¤Ć¤âĄ˘
¤ł¤ě¤ĎłŤČŻÍŃĽÖĽéĽóĽÁ¤Î°ě¤Ä¤Ç¤˘¤ë¤Č¤¤¤Ś¤ł¤Č¤ËĂí°Ő¤ˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ
¤Ä¤Ţ¤ęĄ˘¤˘¤ëťţĹŔ¤Ë¤Ş¤ą¤ë &os.stable; ¤ÎĽ˝ĄźĽš¤Ź
¤É¤ó¤Ęžěšç¤Ë¤âťČ¤¨¤ë¤â¤Î¤Ç¤˘¤ë¤Č¤Ď¸Â¤é¤Ę¤¤¤Č¤¤¤Ś¤ł¤Č¤Ç¤šĄŁ
¤ł¤ÎĽÖĽéĽóĽÁ¤Ď¤â¤Ś°ě¤Ä¤ÎłŤČݤÎÎŽ¤ě¤Č¤¤¤Ś¤Ŕ¤ą¤Ç¤˘¤Ă¤ĆĄ˘
Ľ¨ĽóĽÉĽćĄźĽś¸ţ¤ą¤Î¤â¤Î¤Ç¤Ď¤˘¤ę¤Ţ¤ť¤óĄŁĂŻ¤Ź &os.stable; ¤ňÉŹÍפȤˇ¤Ć¤¤¤ë¤Î?FreeBSD ¤ÎłŤČŻĽ×ĽíĽťĽš¤Ëś˝Ě٤ʤ˘¤Ă¤ż¤ęĄ˘
¤˝¤ě¤ËÂФš¤ëš×¸Ľ¤ňšÍ¤¨¤Ć¤¤¤ĆĄ˘Ćäˤ˝¤ě¤ŹźĄ˛ó¤Î
ĽÝĽ¤ĽóĽČ ĽęĽęĄźĽš¤Ë´Řˇ¸¤š¤ë¤â¤Î¤Ç¤˘¤ë¤Ę¤é
&os.stable; ¤ňÄɤڤł¤Č¤ňšÍ¤¨¤ë¤ČÎɤ¤¤Ç¤ˇ¤ç¤ŚĄŁĽťĽĽĺĽęĽĆĽŁžĺ¤Î˝¤Ŕľ¤Ď &os.stable; ĽÖĽéĽóĽÁ¤ËÂФˇ¤ĆšÔ¤Ę¤ď¤ě¤Ţ¤š¤ŹĄ˘
¤˝¤Î¤ż¤á¤Ë &os.stable; ¤ňÄɤŚÉŹÍפϤ˘¤ę¤Ţ¤ť¤óĄŁ
¤š¤Ů¤Ć¤Î &os; ĽťĽĽĺĽęĽĆĽŁ´Ťšđ¤Ë¤Ď
EOL ¤ËĂŁ¤ˇ¤Ć¤¤¤Ę¤¤¤š¤Ů¤Ć¤ÎĽęĽęĄźĽš¤ËÂФš¤ëĚäÂęĹŔ¤Î˝¤ŔľĘýËĄ¤ŹŔâĚŔ¤ľ¤ě¤Ć¤¤¤Ţ¤šĄŁ
¸˝ťţĹŔ¤Ç¤Î¸Ĺ¤¤ĽęĽęĄźĽš¤Î FreeBSD
¤ÎĽťĽĽĺĽęĽĆĽŁĽÝĽęĽˇĄź¤ÎÁ´ŔâĚŔ¤ňĂΤë¤Ë¤ĎĄ˘http://www.FreeBSD.org/ja/security/
¤ňť˛žČ¤ˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁĄŁ&os.stable; ĽÖĽéĽóĽÁ¤Ď¤¤¤Ä¤âĽłĽóĽŃĽ¤Ľë¤Ź¤Ç¤Ą˘
°ÂÄę¤Ëưşî¤š¤Ů¤¤Ç¤š¤ŹĄ˘
¤˝¤ě¤ŹĘÝžÚ¤ľ¤ě¤Ć¤¤¤ë¤Č¤¤¤Ś¤ď¤ą¤Ç¤Ď¤˘¤ę¤Ţ¤ť¤óĄŁ
¤Ţ¤żĄ˘ĽłĄźĽÉ¤Ď &os.stable; ¤Ë˛Ă¤¨¤é¤ě¤ëÁ°¤Ë
&os.current; ¤ÇłŤČݤľ¤ě¤ë¤Î¤Ç¤š¤ŹĄ˘&os.stable; ¤ÎĽćĄźĽś¤Ď
&os.current; ¤č¤ę¤âÂż¤¤¤ż¤áĄ˘&os.current;
¤ÇČŻ¸Ť¤ľ¤ě¤Ę¤Ť¤Ă¤żĽĐĽ°¤Ź &os.stable; ¤ÇČŻ¸Ť¤ľ¤ěĄ˘
¤Č¤¤É¤¤˝¤ě¤ŹĚäÂę¤Č¤Ę¤ë¤ł¤Č¤Ź¤˘¤ë¤Î¤ĎČň¤ą¤ë¤ł¤Č¤Ź¤Ç¤¤Ţ¤ť¤óĄŁ¤ł¤Î¤č¤Ś¤ĘÍýÍł¤Ť¤éĄ˘ĚŐĚÜĹŞ¤Ë &os.stable;
¤ňÄɤ¤¤Ť¤ą¤ë¤Ů¤¤Ç¤Ď¤˘¤ę¤Ţ¤ť¤óĄŁ
Ćä˥˘şÇ˝é¤ËłŤČŻ´Äś¤â¤ˇ¤Ż¤ĎĽĆĽšĽČ´Äś¤ÇĽłĄźĽÉ¤ň˝˝ĘŹ¤Ëťî¸ł¤ť¤ş¤ËĄ˘
Ľ×ĽíĽŔĽŻĽˇĽçĽóÉĘźÁ¤ŹÍ׾᤾¤ě¤ëĽľĄźĽĐ¤ň &os.stable;
¤ËĽ˘ĽĂĽ×Ľ°ĽěĄźĽÉ¤ˇ¤Ć¤Ď¤¤¤ą¤Ţ¤ť¤óĄŁ¤â¤ˇťî¸ł¤ň¤š¤ëťń¸ťĹޤĘ͞;¤Ź¤Ę¤¤žěšç¤ĎĄ˘
ĽęĽęĄźĽš´Ö¤ÎĽĐĽ¤ĽĘĽęĽ˘ĽĂĽ×ĽÇĄźĽČľĄÇ˝¤ňÍřÍѤˇ¤ĆĄ˘
şÇżˇ¤Î FreeBSD ĽęĽęĄźĽš¤ňťČ¤Ś¤ł¤Č¤ňżäžŠ¤ˇ¤Ţ¤šĄŁ&os.stable; ¤ňťČ¤Ś-STABLEÍřÍѤš¤ë&os.stable; ¤Îš˝Ăۤ˴ŘϢ¤š¤ëťöĘÁ¤äĄ˘
¤˝¤Îž¤ÎĂí°Ő¤š¤Ů¤ĹŔ ¤Ë´Ř¤š¤ëžđĘó¤ňĆŔ¤ë¤ż¤á¤ËĄ˘
&a.stable.name; ĽáĄźĽęĽóĽ°ĽęĽšĽČ¤Ë˛Ă¤ď¤Ă¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ
¤Ţ¤żłŤČŻźÔ¤ĎľÄĎŔ¤ÎÍžĂĎ¤Ź¤˘¤ë˝¤Ŕľ¤äĘŃšš¤ňšÍ¤¨¤Ć¤¤¤ëžěšç¤ËĄ˘
¤ł¤ÎĽáĄźĽęĽóĽ°ĽęĽšĽČ¤Ç¸řÉ˝¤ˇĄ˘
Äó°Ć¤ľ¤ě¤żĘŃšš¤Ë´Ř¤ˇ¤ĆĚäÂꤏŔ¸¤¸¤ë¤Ť¤É¤Ś¤Ť¤ňĘÖĹú¤š¤ëľĄ˛ń¤ňĽćĄźĽś¤ËÍż¤¨¤Ţ¤šĄŁÄɤ¤¤Ť¤ą¤Ć¤¤¤ëĽÖĽéĽóĽÁ¤Ë´ŘϢ¤š¤ë
svn ĽáĄźĽęĽóĽ°ĽęĽšĽČ¤Ëť˛˛Ă¤ˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ
¤ż¤Č¤¨¤ĐĄ˘9-STABLE ĽÖĽéĽóĽÁ¤ňÄɤ¤¤Ť¤ą¤Ć¤¤¤ëĽćĄźĽś¤Ď
&a.svn-src-stable-9.name; ĽáĄźĽęĽóĽ°ĽęĽšĽČ¤Ëť˛˛Ă¤ˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ
¤ł¤ÎĽęĽšĽČ¤Ç¤ĎĄ˘
ĘŃšš¤Ź¤Ę¤ľ¤ě¤ë¤´¤Č¤ËşîŔޤľ¤ě¤ë commit log ¤ä¤˝¤ě¤ËČź¤Ś
ľŻ¤ł¤ę¤Ś¤ëÉűşîÍѤˤĤ¤¤Ć¤ÎžđĘ󤏾Ͽ¤ľ¤ě¤Ć¤¤¤Ţ¤šĄŁ¤ł¤ě¤é¤ÎĽáĄźĽęĽóĽ°ĽęĽšĽČ¤ËĆţ¤ë¤Ë¤ĎĄ˘
&a.mailman.lists.link;
¤ň¤ż¤É¤Ă¤Ćť˛˛Ă¤ˇ¤ż¤¤ĽáĄźĽęĽóĽ°ĽęĽšĽČ¤ňĽŻĽęĽĂĽŻ¤ˇĄ˘
źę˝ç¤ÎŔâĚŔ¤Ë¤ˇ¤ż¤Ź¤Ă¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ
Ľ˝ĄźĽšĽÄĽęĄźÁ´ÂΤÎĘŃššĹŔ¤ňÄɤ¤¤Ť¤ą¤ë¤Ë¤ĎĄ˘
&a.svn-src-all.name; ĽáĄźĽęĽóĽ°ĽęĽšĽČ¤ňšŘĆɤˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁËčˇî¸řłŤ¤ľ¤ě¤Ć¤¤¤ë &os.stable;
¤Ť¤éĽÓĽëĽÉ¤ľ¤ě¤żĽšĽĘĽĂĽ×ĽˇĽçĽĂĽČ¤Îżˇ¤ˇ¤¤ĽˇĽšĽĆĽŕ¤ňĽ¤ĽóĽšĽČĄźĽë¤š¤ë¤Ë¤ĎĄ˘
žÜşŮ¤Ë¤Ä¤¤¤ĆĄ˘
ĽšĽĘĽĂĽ×ĽˇĽçĽĂĽČ
¤ň¤´Í÷¤Ż¤Ŕ¤ľ¤¤ĄŁ
¤â¤ˇ¤Ż¤ĎĄ˘ĽßĽéĄźĽľĽ¤ĽČ¤Ť¤éşÇśá¤Î
&os.stable; ĽęĽęĄźĽš¤ňĽ¤ĽóĽšĽČĄźĽë¤ˇĄ˘˛źľ¤ÎŔâĚŔ¤Ë˝ž¤Ă¤ĆşÇżˇ¤Î
&os.stable; ¤ÎĽ˝ĄźĽšĽłĄźĽÉ¤Ëššżˇ¤š¤ë¤ł¤Č¤â¤Ç¤¤Ţ¤šĄŁ´ű¤Ë &os; ¤Î°ĘÁ°¤ÎĽęĽęĄźĽš¤ŹĆ°¤¤¤Ć¤¤¤ëĽˇĽšĽĆĽŕ¤ň
&os; ĽßĽéĄźĽľĽ¤ĽČ
¤Ť¤éĽ˘ĽĂĽ×Ľ°ĽěĄźĽÉ¤š¤ë¤Ë¤ĎĄ˘
°Ę˛ź¤Î¤č¤Ś¤Ę¤¤¤Ż¤Ä¤Ť¤ÎĘýËĄ¤Ź¤˘¤ę¤Ţ¤šĄŁ
-
-
- Subversion
-
-
- cron
-
-
- -STABLE
- Subversion
- ¤ňťČ¤Ă¤żĆą´ü
-
-
+
- svn ¤ňťČ¤Ă¤ĆĄ˘
+ svnSubversion ¤ňťČ¤Ă¤ĆĄ˘
´őËž¤š¤ëłŤČŻĽÖĽéĽóĽÁĄ˘
¤â¤ˇ¤Ż¤ĎĽęĽęĄźĽšĽÖĽéĽóĽÁ¤ňĽÁĽ§ĽĂĽŻĽ˘ĽŚ¤ˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ
¤ł¤ÎĘýËĄ¤ĎĄ˘łŤČŻĂć¤Î &os; ĽęĽÝĽ¸ĽČĽę¤Ř¤ÎĽ˘ĽŻĽťĽš¤ňÄ󜥤ˇ¤Ć¤Ş¤ęĄ˘
żäžŠ¤ľ¤ě¤Ć¤¤¤Ţ¤šĄŁ
ĽÖĽéĽóĽÁĚž¤Ë¤Ä¤¤¤Ć¤ĎĄ˘¸˝şß¤ÎłŤČŻ¤ÎĽŘĽĂĽÉĽÖĽéĽóĽÁ¤Ď
headĄ˘¤Ş¤č¤Ó ĽęĽęĄźĽšĽ¨ĽóĽ¸ĽËĽ˘ĽęĽóĽ°¤ÎĽÚĄźĽ¸
¤ÎĆĂÄę¤ÎĽÖĽéĽóĽÁ¤Ç¤Ď
stable/9Ą˘¤Ţ¤ż¤Ď
releng/9.0 ¤Č¤Ę¤ę¤Ţ¤šĄŁ
- Subversion
+ Subversion-STABLESubversion ¤ňťČ¤Ă¤żĆą´ü
¤ňťČ¤Ă¤ĆĽŮĄźĽšĽˇĽšĽĆĽŕ¤ňĽÁĽ§ĽĂĽŻĽ˘ĽŚĽČ¤š¤ëşÝ¤Î
URL ¤ÎĽ×ĽěĽŐĽŁĽĂĽŻĽš¤ĎĄ˘Subversion ĽßĽéĄźĽľĽ¤ĽČ
¤ÇŔâĚŔ¤ľ¤ě¤Ć¤¤¤Ţ¤šĄŁ
ĽęĽÝĽ¸ĽČĽęĽľĽ¤Ľş¤Î´ŃĹŔ¤Ť¤éĄ˘
´őËž¤š¤ëĽľĽÖĽÄĽęĄź¤Î¤ß¤ňĽÁĽ§ĽĂĽŻĽ˘ĽŚĽČ¤š¤ë¤ł¤Č¤ŹżäžŠ¤ľ¤ě¤Ţ¤šĄŁ
-
- -STABLE
- CTM ¤ňťČ¤Ă¤ĆĆą´ü¤š¤ë
-
-
Ľ¤ĽóĽżĄźĽÍĽĂĽČ¤Ř¤ÎŔÜÂł¤ËšâÂŽ¤Ę˛óŔţ¤ňÍřÍѤǤ¤Ę¤¤¤Î¤Ç¤˘¤ě¤ĐĄ˘
- CTM
+ CTM-STABLECTM ¤ňťČ¤Ă¤ĆĆą´ü¤š¤ë
¤ň¸ĄĆ¤¤ˇ¤Ć¤ß¤Ţ¤ˇ¤ç¤ŚĄŁ
-
- -STABLE
- š˝ĂŰĄ˘ĽłĽóĽŃĽ¤Ľë
-
-
- &os.stable; ¤ňĽłĽóĽŃĽ¤Ľë¤š¤ëÁ°¤ËĄ˘
+ &os.stable;-STABLEš˝ĂŰĄ˘ĽłĽóĽŃĽ¤Ľë ¤ňĽłĽóĽŃĽ¤Ľë¤š¤ëÁ°¤ËĄ˘
/usr/src/Makefile ¤ň¤č¤ŻĆɤó¤Ç¤Ż¤Ŕ¤ľ¤¤ĄŁ
Ľ˘ĽĂĽ×Ľ°ĽěĄźĽÉ¤Î˝čÍý¤Î°ěÉô¤Č¤ˇ¤ĆşÇ˝é¤Ë
żˇ¤ˇ¤¤ĽŤĄźĽÍĽë¤ňĽ¤ĽóĽšĽČĄźĽë¤ˇ¤ĆĄ˘
world ¤ňşĆš˝ĂŰ ¤ˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ&a.stable; ¤Č
/usr/src/UPDATING ¤ňĆɤó¤ÇĄ˘
źĄ¤ÎĽęĽęĄźĽš¤Ř¸ţ¤ą¤Ć°Ü¤Ă¤Ć¤ć¤Ż¤ËĹö¤ż¤Ă¤ĆĄ˘
¤Č¤¤É¤ÉŹÍפȤʤë´ű¸ĽˇĽšĽĆĽŕ¤Ť¤é¤ÎżˇĽˇĽšĽĆĽŕ¤Îš˝ĂŰźę˝ç¤Ë¤Ä¤¤¤Ć¤ÎşÇżˇžđĘó¤ňĆŔ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁĽ˝ĄźĽš¤ÎĆą´üĚő: &a.jp.iwasaki;Ą˘1997 ÇŻ 9 ˇî 13 ĆüĽ¤ĽóĽżĄźĽÍĽĂĽČŔÜÂł¤Ţ¤ż¤ĎĹŝҼᥟĽë¤ňťČÍѤˇ¤ĆĄ˘&os;
Ľ×ĽíĽ¸Ľ§ĽŻĽČ¤ÎĽ˝ĄźĽš¤Î¤˘¤ë°ěÉôĘŹ¤Ţ¤ż¤ĎÁ´ÂΤκǿˇ¤ňÄɤ¤¤Ť¤ą¤ëĘýËĄ¤Ďż§Ąš¤˘¤ę¤Ţ¤šĄŁ
´đËÜĹŞ¤ĘĽľĄźĽÓĽš¤Ď Subversion
¤Č CTM ¤Ç¤šĄŁĽ˝ĄźĽšĽÄĽęĄź¤Î°ěÉô¤ňşÇżˇ¤Î¤â¤Î¤Ëššżˇ¤š¤ë¤ł¤Č¤Ď˛ÄÇ˝¤Ç¤šĄŁ
¤ż¤Ŕ¤ˇĄ˘ĽľĽÝĄźĽČ¤ľ¤ě¤Ć¤¤¤ëĽ˘ĽĂĽ×ĽÇĄźĽČźę˝ç¤ĎĄ˘
Ľ˝ĄźĽšĽÄĽęĄźÁ´ÂΤňşÇżˇ¤Î¤â¤Î¤Ëššżˇ¤ˇĄ˘
/bin, /sbin
¤Č¤¤¤Ă¤żĽćĄźĽśśő´Ö¤Çưşî¤š¤ë¤â¤ÎĄ˘
¤Ş¤č¤ÓĽŤĄźĽÍĽëĽ˝ĄźĽš¤ňşĆš˝Ăۤš¤ë¤ł¤Č¤Î¤ß¤Ç¤šĄŁ
Ľ˝ĄźĽšĽÄĽęĄź¤Î°ěÉô¤Ŕ¤ą¤Ç¤˘¤Ă¤ż¤ęĄ˘ĽŤĄźĽÍĽë¤Ŕ¤ąĄ˘
¤â¤ˇ¤Ż¤ĎĽćĄźĽśĽéĽóĽÉ¤ÎĽ×ĽíĽ°ĽéĽŕ¤Ŕ¤ą¤ňššżˇ¤ˇ¤żžěšç¤ĎĄ˘
ĚäÂꤏŔ¸¤¸¤ë¤ł¤Č¤Ź¤č¤Ż¤˘¤ę¤Ţ¤šĄŁ
¤ł¤Îťţ¤ËČŻŔ¸¤š¤ëĚäÂę¤ĎĽłĽóĽŃĽ¤Ľëťţ¤ÎĽ¨ĽéĄź¤Ť¤éĽŤĄźĽÍĽëĽŃĽËĽĂĽŻĄ˘
ĽÇĄźĽż¤ÎÇ˲ő¤Č¤ľ¤Ţ¤ś¤Ţ¤Ç¤šĄŁSubversionSubversion
¤Ď pull Ćą´üĽâĽÇĽë¤ňşÎÍѤˇ¤Ć¤¤¤Ţ¤šĄŁ
ĽćĄźĽś (¤Ţ¤ż¤Ď cron ĽšĽŻĽęĽ×ĽČ) ¤Ź svn
¤ňľŻĆ°¤ˇĄ˘ĽŐĽĄĽ¤Ľë¤ňşÇżˇžőÂ֤ˤˇ¤Ţ¤šĄŁ
Subversion ¤ĎĄ˘
ĽíĄźĽŤĽë¤ÎĽ˝ĄźĽšĽÄĽęĄź¤ňĽ˘ĽĂĽ×ĽÇĄźĽČ¤š¤ëşÇ¤âšĽ¤Ţ¤ˇ¤¤ĘýËĄ¤Ç¤šĄŁ
ššżˇžđĘó¤Ď¤˝¤ÎťţĹŔ¤ÎşÇżˇ¤Î¤â¤Î¤Ç¤˘¤ęĄ˘
ĽćĄźĽś¤Ď¤¤¤ÄĽŔĽŚĽóĽíĄźĽÉ¤š¤ë¤Ť¤ňĽłĽóĽČĽíĄźĽë¤ˇ¤Ţ¤šĄŁ
ĆĂÄę¤ÎĽŐĽĄĽ¤Ľë¤äĽÇĽŁĽěĽŻĽČĽę¤Ë¸ÂÄꤡ¤Ćššżˇ¤š¤ë¤ł¤Č¤â´ĘĂą¤Ë¤Ç¤¤Ţ¤šĄŁ
ššżˇžđĘó¤ĎĽľĄźĽĐ¤Ë¤č¤Ă¤ĆÁÇÁ᤯Ŕ¸Ŕޤľ¤ě¤Ţ¤šĄŁCTM°ěĘýĄ˘CTM
¤Ď¤˘¤Ę¤ż¤Źťý¤Ă¤Ć¤¤¤ëĽ˝ĄźĽš¤ČĽŢĽšĽżĽ˘ĄźĽŤĽ¤ĽÖžĺ¤Ë
¤˘¤ë¤˝¤ě¤Č¤ÎÂĐĎĂĹŞ¤ĘČćłÓ¤ň¤Ş¤ł¤Ę¤¤¤Ţ¤ť¤ó¤ˇĄ˘
¤˘¤ë¤¤¤Ď¸ţ¤ł¤ŚÂڤŤ¤éĘŃššĹŔ¤ň pull ¤ˇ¤ż¤ę¤â¤ˇ¤Ţ¤ť¤óĄŁ
¤˝¤Î¤Ť¤ď¤ę¤ËĄ˘Á°˛ó¤ÎźÂšÔťţ¤Ť¤é¤ÎĘŃšš¤ňÇ§źą¤š¤ëĽšĽŻĽęĽ×ĽČ¤Ź
ĽŢĽšĽż CTM ĽŢĽˇĽóžĺ¤Ç°ěĆü¤Ëżô˛óźÂšÔ¤ľ¤ěĄ˘
¤š¤Ů¤Ć¤ÎĘŃšš¤ň compress ¤ˇ¤ĆÄ̤ˇČÖšć¤ňżś¤ęĄ˘
¤ľ¤é¤ËĹŝҼᥟĽë¤ÇĄ˘°őťú˛ÄÇ˝¤Ę ASCII
ĽĽăĽéĽŻĽż¤Î¤ß¤ÇĹžÁ÷¤Ç¤¤ë¤č¤Ś¤ËĽ¨ĽóĽłĄźĽÉ¤ˇ¤Ţ¤šĄŁ
źőżŽ¤ˇ¤ż¸ĺ¤ĎĄ˘
¤ł¤ě¤é¤Î CTM ¤ÎĽÇĽëĽż ¤ĎźŤĆ°
ĹŞ¤ËĽÇĽłĄźĽÉĄ˘¸Ąşş¤ˇ¤ĆĽćĄźĽś¤ÎĽ˝ĄźĽš¤ÎĽłĽÔĄź¤ËĘŃšš¤ňĹŹÍѤš¤ë
&man.ctm.rmail.1; ¤Ë¤č¤Ă¤Ć˝čÍý˛ÄÇ˝¤Č¤Ę¤ę¤Ţ¤šĄŁ
¤ł¤Î˝čÍý¤Ď Subversion
¤č¤ę¤ş¤Ă¤Č¸úΨŪ¤Ç¤˘¤ęĄ˘pull ĽâĽÇĽë¤Č¤¤¤Ś¤č¤ę¤ŕ¤ˇ¤í
push ĽâĽÇĽë¤Ç¤˘¤ë¤ż¤áĄ˘
ĽľĄźĽĐťń¸ť¤ÎÉé˛Ů¤ĎˇÚ¤Ż¤Ę¤ę¤Ţ¤šĄŁÂž¤ÎĽČĽěĄźĽÉĽŞĽŐ¤â¤˘¤ę¤Ţ¤šĄŁ
Subversion ¤Ç¤˘¤ě¤ĐĄ˘
¤Ś¤Ă¤Ť¤ęĽíĄźĽŤĽë¤ÎĽ˘ĄźĽŤĽ¤ĽÖ¤Î°ěÉô¤ňžĂ¤ˇ¤Ć¤ˇ¤Ţ¤Ă¤Ć¤âĄ˘
˛ő¤ě¤żÉôĘŹ¤ň¸Ą˝Đ¤ˇ¤ĆşĆš˝Ăۤˇ¤Ć¤Ż¤ě¤Ţ¤šĄŁ
CTM ¤Ď¤ł¤ě¤ň¤ä¤Ă¤Ć¤Ż¤ě¤Ţ¤ť¤óĄŁ
¤â¤ˇĽ˝ĄźĽšĽÄĽęĄź¤Î°ěÉô¤ňžĂ¤ˇ¤Ć¤ˇ¤Ţ¤¤Ą˘
¤˝¤ˇ¤ĆĽĐĽĂĽŻĽ˘ĽĂĽ×¤ňźč¤Ă¤Ć¤¤¤Ę¤¤¤Î¤Ç¤˘¤ě¤ĐĄ˘şÇżˇ¤Î CTM
ĽŮĄźĽšĽÇĽëĽż ¤ňÍѤ¤¤ĆĄ˘°ě¤Ť¤é¤ä¤ęÄž¤ˇĄ˘
CTM
¤ňťČ¤Ă¤Ć¤š¤Ů¤Ć¤ňşĆš˝Ăۤˇ¤Ę¤ą¤ě¤Đ¤Ę¤ę¤Ţ¤ť¤óĄŁworld ¤ÎşĆš˝ĂŰworld ¤ÎşĆš˝ĂŰ&os.stable;Ą˘&os.current; ¤Ę¤É¤Î
&os; ¤Î¤É¤ě¤ŤĆĂÄę¤ÎĽĐĄźĽ¸ĽçĽó¤Ë¤Ä¤¤¤ĆĄ˘
ĽíĄźĽŤĽë¤ÎĽ˝ĄźĽšĽÄĽęĄź¤ňĆą´ü¤ľ¤ť¤ż¤éĄ˘
¤˝¤ÎĽ˝ĄźĽšĽÄĽęĄź¤ňťČ¤Ă¤ĆĽˇĽšĽĆĽŕ¤ňşĆš˝ĂۤǤ¤Ţ¤šĄŁĽĐĽĂĽŻĽ˘ĽĂĽ×¤ÎşîŔŽĽˇĽšĽĆĽŕ¤ňşĆš˝Ăۤš¤ëÁ°¤ËĄ˘
ĽĐĽĂĽŻĽ˘ĽĂĽ×¤ňşîŔޤš¤ë¤ł¤Č¤Î˝ĹÍ×Ŕ¤ĎĄ˘
¤¤¤Ż¤éśŻÄ´¤ˇ¤Ć¤â¤ˇ˛á¤Ž¤ë¤Č¸Ŕ¤Ś¤ł¤Č¤Ď¤˘¤ę¤Ţ¤ť¤óĄŁ
ĽˇĽšĽĆĽŕÁ´ÂΤκƚ˝ĂۤȤĎĆń¤ˇ¤¤şîśČ¤Ç¤Ď¤˘¤ę¤Ţ¤ť¤ó¤ŹĄ˘
¤É¤ó¤Ę¤ËĂí°Ő¤ˇ¤Ć¤¤¤ż¤Č¤ˇ¤Ć¤âĄ˘
Ľ˝ĄźĽšĽÄĽęĄź¤˝¤Î¤â¤Î¤Ëźę°ă¤¤¤Ź¤˘¤Ă¤żťţ¤Ë¤ĎĄ˘
ĽˇĽšĽĆĽŕ¤ŹľŻĆ°¤ˇ¤Ę¤Ż¤Ę¤Ă¤Ć¤ˇ¤Ţ¤ŚžőÂ֤ˤʤ뤳¤Č¤Ź¤˘¤ë¤Î¤Ç¤šĄŁ
¤Ţ¤şĄ˘ĽĐĽĂĽŻĽ˘ĽĂĽ×¤Ź¤¤Á¤ó¤ČşîŔޤľ¤ě¤Ć¤¤¤ë¤ł¤Č¤ňłÎǧ¤ˇ¤ĆĄ˘
ľŻĆ°˛ÄÇ˝Ľ¤ĽóĽšĽČĄźĽëĽáĽÇĽŁĽ˘¤ňÍѰդˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ
¿ʏĄ˘¤˝¤ě¤ňťČ¤Ś¤ł¤Č¤Ď¤Ę¤¤¤Čť×¤¤¤Ţ¤š¤ŹĄ˘
¤˘¤Č¤Ç¸ĺ˛ů¤š¤ë¤ł¤Č¤Î¤Ę¤¤¤č¤ŚĄ˘Ç°¤Î¤ż¤áÍѰդˇ¤Ć¤Ş¤¤Ţ¤ˇ¤ç¤ŚĄŁĽáĄźĽęĽóĽ°ĽęĽšĽČ¤Ëť˛˛Ă¤š¤ëĽáĄźĽęĽóĽ°ĽęĽšĽČ¤â¤Č¤â¤ČĄ˘&os.stable; ¤Č &os.current; ¤ÎĽłĄźĽÉĽÖĽéĽóĽÁ¤ĎĄ˘
łŤČŻĂć¤Î¤â¤Î¤Ç¤šĄŁ
&os; ¤ÎşîśČ¤Ëš×¸Ľ¤ˇ¤Ć¤Ż¤Ŕ¤ľ¤Ă¤Ć¤¤¤ëżÍĂŁ¤âżÍ´Ö¤Ç¤š¤Ť¤éĄ˘
ťţ¤Ë¤ĎĽßĽš¤ň¤š¤ë¤ł¤Č¤Ŕ¤Ă¤Ć¤˘¤ë¤Ç¤ˇ¤ç¤ŚĄŁ
¤˝¤Î¤č¤Ś¤Ę´Ö°ă¤¤¤ĎĄ˘
Ăą¤ËˇŮšđ¤ňź¨¤š¸Ť´ˇ¤ě¤Ę¤¤żÇĂÇĽáĽĂĽťĄźĽ¸¤ňĽˇĽšĽĆĽŕ¤ŹÉ˝ź¨¤š¤ë¤č¤Ś¤ĘĄ˘
¤Ţ¤Ă¤ż¤Żł˛¤Î¤Ę¤¤¤â¤Î¤Ç¤˘¤ë¤ł¤Č¤â¤˘¤ě¤ĐĄ˘ĽˇĽšĽĆĽŕ¤ňľŻĆ°¤Ç¤¤Ę¤Ż¤ˇ¤ż¤ęĄ˘
ĽŐĽĄĽ¤ĽëĽˇĽšĽĆĽŕ¤ňÇ˲ő¤ˇ¤Ć¤ˇ¤Ţ¤Ś¤č¤Ś¤ĘĄ˘
ś˛¤í¤ˇ¤¤ˇë˛Ě¤ňžˇ¤Ż¤â¤Î¤Ť¤âĂΤě¤Ţ¤ť¤óĄŁĚäÂꤏŔ¸¤¸¤żžěšçĄ˘
ĚäÂę¤ÎžÜşŮ¤ČĄ˘¤É¤Î¤č¤Ś¤ĘĽˇĽšĽĆĽŕ¤ŹąĆśÁ¤ňźő¤ą¤ë¤Ť¤Ë¤Ä¤¤¤Ć˝ń¤Ť¤ě¤ż
Ăí°Ő (heads up)
¤Îľťö¤ŹĹŹŔڤʼᥟĽęĽóĽ°ĽęĽšĽČ¤ËĹęšĆ¤ľ¤ě¤Ţ¤šĄŁ
¤˝¤ˇ¤ĆĄ˘¤˝¤ÎĚäÂꤏ˛ňˇč¤ľ¤ě¤ë¤ČĄ˘
ĚäÂę˛ňˇč (all clear)
¤ÎĽ˘ĽĘĽŚĽóĽšľťö¤ŹĆąÍͤËĹęšĆ¤ľ¤ě¤Ţ¤šĄŁ&os.stable; ¤ä &os.current; ĽÖĽéĽóĽÁ¤ňÄɿ嵐¤Ć¤¤¤ëĽćĄźĽś¤ÇĄ˘
&a.stable; ¤ä &a.current; ¤ňĆɤޤʤ¤¤Č¤¤¤Ś¤Î¤ĎĄ˘
źŤ¤éşŇĆń¤ňžˇ¤Ż¤č¤Ś¤Ę¤â¤Î¤Ç¤šĄŁĚőĂí:
¤ł¤ě¤é¤ÎĽáĄźĽęĽóĽ°ĽęĽšĽČ¤ĎąŃ¸ě¤Ç¤ä¤ę¤Č¤ę¤ľ¤ě¤Ć¤¤¤ë¤ż¤áĄ˘
ĆüËܸě¤Ç¤ÎĹęšĆ¤Ď´żˇŢ¤ľ¤ě¤Ţ¤ť¤óĄŁąŃ¸ě¤Ç¤Î¤ä¤ę¤Č¤ę¤Ź¤Ç¤¤Ę¤¤żÍ¤ĎĄ˘
FreeBSD ͧ¤Î˛ń
¤ÎążąÄ¤ˇ¤Ć¤¤¤ëĽáĄźĽęĽóĽ°ĽęĽšĽČ¤ň¤˘¤ż¤Ă¤Ć¤ß¤ë¤Î¤Ź¤¤¤¤¤Ç¤ˇ¤ç¤ŚĄŁ
make world ¤ĎťČ¤ď¤Ę¤¤¤ł¤Č¸Ĺ¤¤ĽÉĽĽĺĽáĽóĽČ¤ÎĂć¤Ë¤ĎĄ˘
make world ¤ňťČ¤Ś¤ł¤Č¤ňÁڤá¤Ć¤¤¤ë¤â¤Î¤Ź¤˘¤ę¤Ţ¤šĄŁ
¤ł¤ě¤ĎĄ˘˝ĹÍפʟę˝ç¤ň¤¤¤Ż¤Ä¤ŤČ´¤Ť¤ˇ¤Ć¤ˇ¤Ţ¤Ś¤Î¤ÇĄ˘
Ľ¨ĽĽšĽŃĄźĽČ¤Ç¤Ę¤ą¤ě¤ĐťČ¤Ś¤Ů¤¤Ç¤Ď¤˘¤ę¤Ţ¤ť¤óĄŁ
¤Ű¤Ü¤˘¤é¤ć¤ëžěšç¤Ë¤Ş¤¤¤ĆĄ˘make world
¤ňźÂšÔ¤š¤ë¤Î¤Ď´Ö°ă¤Ă¤Ć¤Ş¤ęĄ˘
¤ł¤ł¤ÇŔâĚŔ¤ľ¤ě¤Ć¤¤¤ëźę˝ç¤ňÍѤ¤¤ë¤Ů¤¤Ç¤šĄŁĽˇĽšĽĆĽŕ¤ňššżˇ¤š¤ëŔľź°¤ĘĘýËĄĽˇĽšĽĆĽŕ¤ňššżˇ¤š¤ëÁ°¤ËĄ˘
/usr/src/UPDATING ¤ňĆɤó¤Ç¤Ż¤Ŕ¤ľ¤¤ĄŁ
¤ł¤ÎĽŐĽĄĽ¤Ľë¤Ë¤ĎĄ˘ÍѰդˇ¤żĽ˝ĄźĽšĽłĄźĽÉ¤Ç buildworld
¤ňšÔ¤ŚÁ°¤ËÉŹÍפʟę˝ç¤Ź˝ń¤Ť¤ě¤Ć¤¤¤Ţ¤šĄŁ
¤˝¤Î¸ĺĄ˘°Ę˛ź¤Îźę˝ç¤ňƧ¤ó¤Ç¤Ż¤Ŕ¤ľ¤¤ĄŁ¤ł¤ÎŔá¤ÇŔâĚŔ¤š¤ëĽ˘ĽĂĽ×ĽÇĄźĽČ¤ÎĽ×ĽíĽťĽš¤ĎĄ˘¸Ĺ¤¤ĽłĽóĽŃĽ¤ĽéĄ˘
¸Ĺ¤¤ĽŤĄźĽÍĽëĄ˘¸Ĺ¤¤ worldĄ˘¤˝¤ˇ¤Ć¸Ĺ¤¤ĽłĽóĽŐĽŁĽ°ĽěĄźĽˇĽçĽóĽŐĽĄĽ¤Ľë¤Ť¤é¤Ę¤ëĄ˘
¸Ĺ¤¤ĽĐĄźĽ¸ĽçĽó¤Î &os; ¤ňĽ˘ĽĂĽ×ĽÇĄźĽČ¤š¤ë¤ł¤Č¤ňÁŰÄꤡ¤Ć¤¤¤Ţ¤šĄŁ
¤ł¤ł¤Ç world ¤ĎĄ˘ĽłĽ˘ĽˇĽšĽĆĽŕ¤ÎĽĐĽ¤ĽĘĽęĄ˘ĽéĽ¤ĽÖĽéĽęĄ˘
Ľ×ĽíĽ°ĽéĽßĽóĽ°ĽŐĽĄĽ¤Ľë¤ň°ŐĚŁ¤ˇ¤Ţ¤šĄŁ
ĽłĽóĽŃĽ¤Ľé¤Ď world ¤Î°ěÉô¤Ç¤š¤ŹĄ˘
¤¤¤Ż¤Ä¤ŤĆĂĘ̤˾¤¤ň¤Ä¤ą¤Ę¤ą¤ě¤Đ¤Ę¤é¤Ę¤¤¤ł¤Č¤Ź¤˘¤ę¤Ţ¤šĄŁ¤Ţ¤żĄ˘¤ł¤ě¤é¤ÎĽšĽĆĽĂĽ×¤Ç¤ĎĄ˘
żˇ¤ˇ¤¤ĽĐĄźĽ¸ĽçĽó¤ÎĽ˝ĄźĽš¤ň¤š¤Ç¤ËĆţźę¤ˇ¤Ć¤¤¤ë¤ł¤Č¤â˛žÄꤡ¤Ć¤¤¤Ţ¤šĄŁ
¤â¤ˇĽˇĽšĽĆĽŕ¤ÎĽ˝ĄźĽšĽłĄźĽÉ¤Ź¸Ĺ¤¤¤č¤Ś¤Ç¤ˇ¤ż¤éĄ˘
¤ňĆɤó¤ÇĄ˘
Ľ˝ĄźĽšĽłĄźĽÉ¤ňżˇ¤ˇ¤¤ĽĐĄźĽ¸ĽçĽó¤ŘĆą´ü¤š¤ëĘýËĄ¤ÎžÜşŮ¤ňÍý˛ň¤ˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁĽ˝ĄźĽš¤Ť¤é¤ÎĽˇĽšĽĆĽŕ¤ÎĽ˘ĽĂĽ×ĽÇĄźĽČ¤ĎĄ˘
Ĺö˝éÍ˝Áۤˇ¤Ć¤¤¤ż¤â¤Î¤č¤ę¤Č¤é¤¨¤Ź¤ż¤¤¤â¤Î¤Ç¤šĄŁ
Äš¤¤Çݎî¤Ë¤Ş¤¤¤ĆČň¤ą¤é¤ě¤Ę¤¤°Í¸ĚäÂꤏȽĚŔ¤ˇ¤ż¤ż¤áĄ˘
&os; ¤ÎłŤČŻźÔĂŁ¤ĎĄ˘żäžŠ¤ľ¤ě¤ëĽ˘Ľ×ĽíĄźĽÁ¤ňÂ礤ŻĘŃšš¤ˇ¤Ţ¤ˇ¤żĄŁ
¤ł¤ÎŔá¤Ç¤ĎĄ˘¸˝şßżäžŠ¤ľ¤ě¤Ć¤¤¤ëĽ˘ĽĂĽ×Ľ°ĽěĄźĽÉ¤Îźę˝ç¤ÎÇظĺ¤Ë¤˘¤ëĄ˘
ÍýĎŔĹŞşŹľň¤Ë¤Ä¤¤¤ĆŔâĚŔ¤ˇ¤Ţ¤šĄŁĎ˘Âł¤ˇ¤żĽ˘ĽĂĽ×ĽÇĄźĽČ¤Îźę˝ç¤ĎĄ˘°Ę˛ź¤ÎĚäÂę¤ËÂĐąţ¤ˇ¤Ć¤¤¤ëÉŹÍפʤ˘¤ę¤Ţ¤šĄŁ¸Ĺ¤¤ĽłĽóĽŃĽ¤Ľé¤ĎĄ˘
ĄĄ ĽĐĽ°¤ň´Ţ¤ßżˇ¤ˇ¤¤ĽŤĄźĽÍĽë¤ňĽłĽóĽŃĽ¤Ľë¤Ç¤¤Ę¤¤˛ÄÇ˝Ŕ¤Ź¤˘¤ę¤Ţ¤š
¤˝¤Î¤ż¤áĄ˘żˇ¤ˇ¤¤ĽŤĄźĽÍĽë¤Îš˝Ăۤˤϥ˘
żˇ¤ˇ¤¤ĽłĽóĽŃĽ¤Ľé¤ňťČ¤ŚÉŹÍפʤ˘¤ę¤Ţ¤šĄŁ
¤ł¤Č¤Î¤ł¤Č¤ĎĄ˘żˇ¤ˇ¤¤ĽŤĄźĽÍĽë¤ňš˝Ăۤš¤ëÁ°¤ËĄ˘
żˇ¤ˇ¤¤ĽłĽóĽŃĽ¤Ľé¤ňš˝Ăۤˇ¤Ć¤¤¤Ę¤ą¤ě¤Đ¤Ę¤é¤Ę¤¤¤ł¤Č¤ň°ŐĚŁ¤ˇ¤Ć¤¤¤Ţ¤šĄŁ
ÉŹ¤ş¤ˇ¤âĄ˘żˇ¤ˇ¤¤ĽŤĄźĽÍĽë¤ňš˝Ăۤš¤ëÁ°¤ËĄ˘żˇ¤ˇ¤¤ĽłĽóĽŃĽ¤Ľé¤Ź
Ľ¤ĽóĽšĽČĄźĽë¤ľ¤ě¤Ć¤¤¤ë
ÉŹÍפʤ˘¤ë¤ł¤Č¤ň°ŐĚŁ¤ˇ¤Ć¤¤¤ë¤ď¤ą¤Ç¤Ď¤˘¤ę¤Ţ¤ť¤óĄŁżˇ¤ˇ¤¤ world ¤ĎĄ˘
żˇ¤ˇ¤¤ĽŤĄźĽÍĽë¤ÎľĄÇ˝¤Ë°Í¸¤ˇ¤Ć¤¤¤ë˛ÄÇ˝Ŕ¤Ź¤˘¤ë¤ż¤áĄ˘
żˇ¤ˇ¤¤ world ¤ňĽ¤ĽóĽšĽČĄźĽë¤š¤ëÁ°¤ËĄ˘
żˇ¤ˇ¤¤ĽŤĄźĽÍĽë¤ŹĽ¤ĽóĽšĽČĄźĽë¤ľ¤ě¤Ć¤¤¤Ę¤ą¤ě¤Đ¤Ę¤ę¤Ţ¤ť¤óĄŁ¤ł¤ě¤é 2 ¤Ä¤Î˝ĹÍםöšŕ¤ĎĄ˘
°Ę˛ź¤ÎŔâĚŔ¤ÇĂćż´¤Č¤Ę¤ë buildworld,
buildkernel,
installkernel,
installworld ¤Î´đËܤǤšĄŁ
ž¤ÎÍýÍł¤Ë¤Ä¤¤¤Ć¤Ď°Ę˛ź¤ÇĽęĽšĽČĽ˘ĽĂĽ×¤ˇ¤Ţ¤šĄŁ¸Ĺ¤¤ world ¤ĎĄ˘żˇ¤ˇ¤¤ĽŤĄźĽÍĽë¤Ç¤ĎŔľ¤ˇ¤ŻĆ°¤Ť¤Ę¤¤¤Ť¤âĂΤě¤Ţ¤ť¤óĄŁ
¤˝¤Î¤ż¤áĄ˘żˇ¤ˇ¤¤ĽŤĄźĽÍĽë¤ňĽ¤ĽóĽšĽČĄźĽë¤ˇ¤ż¤éĄ˘
Äž¤Á¤Ëżˇ¤ˇ¤¤ world ¤ňĽ¤ĽóĽšĽČĄźĽë¤ˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁŔßÄę¤ÎĂć¤Ë¤ĎĄ˘żˇ¤ˇ¤¤ world
¤ňĽ¤ĽóĽšĽČĄźĽë¤š¤ëÁ°¤ËĘŃšš¤š¤Ů¤¤â¤Î¤Ź¤˘¤ę¤Ţ¤š¤ŹĄ˘
¸Ĺ¤¤ world ¤ň˛ő¤š˛ÄÇ˝Ŕ¤Ź¤˘¤ę¤Ţ¤šĄŁ
¤˝¤Î¤ż¤áĄ˘°ěČĚĹŞ¤ËŔßÄę¤ÎĽ˘ĽĂĽ×ĽÇĄźĽČ¤ĎĄ˘
2 ¤Ä¤Îźę˝ç¤ŹÉŹÍפǤšĄŁÂż¤Ż¤ÎžěšçĄ˘Ľ˘ĽĂĽ×ĽÇĄźĽČ¤ÎĽ×ĽíĽťĽš¤ĎĄ˘ĽŐĽĄĽ¤Ľë¤ňĂÖ¤´š¤¨¤ż¤ęĄ˘
ÄɲäΤߤňšÔ¤¤Ą˘¸Ĺ¤¤ĽŐĽĄĽ¤Ľë¤ňşď˝ü¤ˇ¤Ţ¤ť¤óĄŁ
¤ł¤Î¤ł¤Č¤ŹĚäÂę¤ň°ú¤ľŻ¤ł¤š˛ÄÇ˝Ŕ¤Ź¤˘¤ę¤Ţ¤šĄŁ
¤˝¤Î¤ż¤áĄ˘Ľ˘ĽĂĽ×ĽÇĄźĽČ¤Ë¤Ş¤¤¤Ć¤ĎĄ˘
źęư¤Çşď˝ü¤š¤Ů¤ĽŐĽĄĽ¤Ľë¤Ź¤˘¤ë¤ł¤Č¤ňĄ˘
ĆĂÄę¤ÎĽšĽĆĽĂĽ×¤ÇťŘÄꤚ¤ë¤ł¤Č¤â¤˘¤ę¤Ţ¤šĄŁ
¤ł¤ě¤ĎžÍ蟍ư˛˝¤ľ¤ě¤ë¤Ť¤â¤ˇ¤ě¤Ę¤¤¤ˇĄ˘¤ľ¤ě¤Ę¤¤¤Ť¤â¤ˇ¤ě¤Ţ¤ť¤óĄŁ¤ł¤ě¤é¤ňÇŰθ¤ˇĄ˘°Ę˛ź¤ÎżäžŠźę˝ç¤Źşî¤é¤ě¤Ţ¤ˇ¤żĄŁ
Ľ˘ĽĂĽ×ĽÇĄźĽČ¤ÎşŮ¤Ť¤¤źę˝ç¤Ë¤Ş¤¤¤Ć¤ĎĄ˘ÄɲäΟę˝ç¤ŹÉŹÍפˤʤ뤍¤â¤ˇ¤ě¤Ţ¤ť¤ó¤ŹĄ˘
¤ł¤ÎĂćż´¤Č¤Ę¤ëĽ×ĽíĽťĽš¤ĎĄ˘¤ˇ¤Đ¤é¤Ż¤Î´ÖĘѤď¤Ă¤Ć¤¤¤Ţ¤ť¤óĄŁmake buildworldżˇ¤ˇ¤¤ĽłĽóĽŃĽ¤Ľé¤Č´ŘϢĽÄĄźĽë¤ňşÇ˝é¤ËĽłĽóĽŃĽ¤Ľë¤ˇĄ˘
¤˝¤Î¸ĺĄ˘żˇ¤ˇ¤¤ĽłĽóĽŃĽ¤Ľé¤ÇĄ˘
żˇ¤ˇ¤¤ world ¤ÎťÄ¤ę¤ÎÉôĘŹ¤ňĽłĽóĽŃĽ¤Ľë¤ˇ¤Ţ¤šĄŁ
ĽłĽóĽŃĽ¤Ľë¤ľ¤ě¤ż¤â¤Î¤ĎĄ˘
/usr/obj ¤ËłĘÇź¤ľ¤ě¤Ţ¤šĄŁmake
buildkernel¤ł¤ł¤Ç¤ĎĄ˘
/usr/obj ¤Ë¤˘¤ë
żˇ¤ˇ¤¤ ĽłĽóĽŃĽ¤Ľé¤ŹÍѤ¤¤é¤ě¤Ţ¤šĄŁ
¤ł¤ě¤Ë¤č¤ęĄ˘ĽłĽóĽŃĽ¤Ľé¤ČĽŤĄźĽÍĽë¤ÎĽßĽšĽŢĽĂĽÁ¤ňËɤ°¤ł¤Č¤Ź¤Ç¤¤Ţ¤šĄŁmake installkernelżˇ¤ˇ¤ŻĽ˘ĽĂĽ×ĽÇĄźĽČ¤ľ¤ě¤żĽŤĄźĽÍĽë¤ÇľŻĆ°¤Ç¤¤ë¤č¤Ś¤ËĄ˘
żˇ¤ˇ¤¤ĽŤĄźĽÍĽë¤ČĽŤĄźĽÍĽëĽâĽ¸ĽĺĄźĽë¤ňĽÇĽŁĽšĽŻžĺ¤ËÇŰĂÖ¤ˇ¤Ţ¤šĄŁ
ĽˇĽóĽ°ĽëĽćĄźĽśĽâĄźĽÉ¤ÇşĆľŻĆ°ĽˇĽóĽ°ĽëĽćĄźĽśĽâĄźĽÉ¤ĎĄ˘
¤š¤Ç¤ËźÂšÔ¤ľ¤ě¤Ć¤¤¤ëĽ˝ĽŐĽČĽŚĽ§Ľ˘¤ňĽ˘ĽĂĽ×ĽÇĄźĽČ¤š¤ëşÝ¤ÎĚäÂę¤ňşÇžŽ¸Â¤Ë¤ˇ¤Ţ¤šĄŁ
¤Ţ¤żĄ˘żˇ¤ˇ¤¤ĽŤĄźĽÍĽëžĺ¤Ç¸Ĺ¤¤ world ¤ŹźÂšÔ¤ľ¤ě¤ëşÝ¤ÎĚäÂę¤âşÇžŽ¸Â¤Ë¤ˇ¤Ţ¤šĄŁmergemaster żˇ¤ˇ¤¤ world ¤Ë¤Ş¤ą¤ëşÇ˝é¤ÎŔßÄęĽŐĽĄĽ¤Ľë¤ÎĽ˘ĽĂĽ×ĽÇĄźĽČ¤ňšÔ¤¤¤Ţ¤šĄŁ
¤ż¤Č¤¨¤ĐĄ˘żˇ¤ˇ¤¤ĽćĄźĽśĽ°ĽëĄźĽ×¤ňĽˇĽšĽĆĽŕ¤ËÄɲ䡤ż¤ęĄ˘
ĽŃĽšĽďĄźĽÉĽÇĄźĽżĽŮĄźĽš¤ËÂФˇĄ˘żˇ¤ˇ¤¤ĽćĄźĽśĚž¤ňÄɲ䚤뤍¤â¤ˇ¤ě¤Ţ¤ť¤óĄŁ
Á°˛ó¤ÎĽ˘ĽĂĽ×ĽÇĄźĽČ¸ĺ¤ËĄ˘
żˇ¤ˇ¤¤Ľ°ĽëĄźĽ×¤äĆĂĘ̤μˇĽšĽĆĽŕ¤ÎĽćĄźĽśĽ˘ĽŤĽŚĽóĽČ¤ŹÄɲ侤줿žěšç¤ËĄ˘
installworld ¤ÎĽšĽĆĽĂĽ×¤ÇĄ˘
żˇ¤ˇ¤ŻĽ¤ĽóĽšĽČĄźĽë¤ľ¤ě¤żĽˇĽšĽĆĽŕ¤ÎĽćĄźĽś¤Ţ¤ż¤ĎĽˇĽšĽĆĽŕ¤ÎĽ°ĽëĄźĽ×Ěž¤ňĚäÂę¤Ę¤ŻťČ¤Ś¤ł¤Č¤Ź¤Ç¤¤ë¤č¤Ś¤ËĄ˘
¤ł¤ÎşîśČ¤Ź¤Č¤¤É¤ÉŹÍפȤʤę¤Ţ¤šĄŁmake installworldworld ¤ň /usr/obj ¤Ť¤éĽłĽÔĄź¤ˇ¤Ţ¤šĄŁ
¤ł¤ě¤ÇĄ˘ĽÇĽŁĽšĽŻ¤Ë¤Ďżˇ¤ˇ¤¤ĽŤĄźĽÍĽë¤Č world ¤ŹĂÖ¤Ť¤ě¤ż¤ł¤Č¤Ë¤Ę¤ę¤Ţ¤šĄŁmergemasterĽÇĽŁĽšĽŻ¤Ëżˇ¤ˇ¤¤ world ¤ŹĂÖ¤Ť¤ě¤ż¤Î¤ÇĄ˘
ťÄ¤ę¤ÎŔßÄęĽŐĽĄĽ¤Ľë¤ňĽ˘ĽĂĽ×ĽÇĄźĽČ¤ˇ¤Ţ¤šĄŁmake
delete-old¤ł¤ÎĽżĄźĽ˛ĽĂĽČ¤Ď (ťČ¤ď¤ě¤Ę¤Ż¤Ę¤Ă¤ż) ĽŐĽĄĽ¤Ľë¤ňşď˝ü¤ˇ¤Ţ¤šĄŁ
¤â¤ˇťČ¤ď¤ě¤Ę¤Ż¤Ę¤Ă¤żĽŐĽĄĽ¤Ľë¤ŹĽÇĽŁĽšĽŻ¤ËťÄ¤Ă¤Ć¤¤¤ë¤ČĄ˘
ĚäÂꤏľŻ¤¤ë˛ÄÇ˝Ŕ¤Ź¤˘¤ë¤ż¤á˝ĹÍפʺîśČ¤Ç¤šĄŁ
¤ż¤Č¤¨¤ĐĄ˘¸Ĺ¤¤ utmp.h ¤ŹťÄ¤Ă¤Ć¤¤¤ë¤ČĄ˘
żˇ¤ˇ¤¤ utmpx.h ¤ňĽ¤ĽóĽšĽČĄźĽë¤ˇ¤ż¤Č¤¤ËĄ˘
ĚäÂꤏľŻ¤¤ë ports ¤Ź¤˘¤ę¤Ţ¤šĄŁşĆľŻĆ°żˇ¤ˇ¤¤ĽŤĄźĽÍĽëĄ˘world ¤˝¤ˇ¤ĆŔßÄęĽŐĽĄĽ¤Ľë¤ŹĽíĄźĽÉ¤ľ¤ě¤ż¤Î¤ÇĄ˘
şĆľŻĆ°¤ŹÉŹÍפǤšĄŁmake delete-old-libsťČ¤ď¤ě¤Ę¤Ż¤Ę¤Ă¤żĽéĽ¤ĽÖĽéĽę¤Źżˇ¤ˇ¤¤ĽéĽ¤ĽÖĽéĽę¤ČśĽšç¤š¤ë¤ł¤Č¤ňČň¤ą¤ë¤ż¤áşď˝ü¤ˇ¤Ţ¤šĄŁ
¸Ĺ¤¤ĽéĽ¤ĽÖĽéĽę¤ňşď˝ü¤š¤ëÁ°¤Ë¤š¤Ů¤Ć¤Î ports ¤ňşĆš˝Ăۤš¤ëÉŹÍפʤ˘¤ę¤Ţ¤šĄŁ¤â¤ˇĄ˘&os; ¤Î¤˘¤ëĽÖĽéĽóĽÁ¤Î¤˘¤ëĽęĽęĄźĽš¤Ť¤éĄ˘
Ćą¤¸ĽÖĽéĽóĽÁ¤ÎşÇżˇĽęĽęĄźĽš¤ËĽ˘ĽĂĽ×ĽÇĄźĽČ¤š¤ë¤Î¤Ç¤˘¤ě¤Đ
(¤ż¤Č¤¨¤Đ 9.0 ¤Ť¤é 9.1)Ą˘
¤ł¤Îźę˝ç¤Ë¤ˇ¤ż¤Ź¤ď¤Ę¤Ż¤Ć¤âÎɤ¤¤Ç¤ˇ¤ç¤ŚĄŁ
¤Ę¤ź¤Ę¤é¤ĐĄ˘ĽłĽóĽŃĽ¤ĽéĄ˘ĽŤĄźĽÍĽëĄ˘ĽćĄźĽśĽéĽóĽÉĄ˘¤˝¤ˇ¤ĆŔßÄęĽŐĽĄĽ¤Ľë¤Î´Ö¤ÇĄ˘
˝ĹĹ٤μ߼šĽŢĽĂĽÁ¤ŹľŻ¤¤ë¤ł¤Č¤Ď¤˘¤Ţ¤ęšÍ¤¨¤é¤ě¤Ę¤¤¤ż¤á¤Ç¤šĄŁ
ĽŢĽ¤ĽĘĄź¤ĘĽ˘ĽĂĽ×ĽÇĄźĽČ¤Ç¤ĎĄ˘żˇ¤ˇ¤¤ĽŤĄźĽÍĽë¤Îš˝Ăۤȼ¤ĽóĽšĽČĄźĽë¸ĺ¤ËĄ˘
¸Ĺ¤¤Ľ˘Ľ×ĽíĄźĽÁ¤Ç¤˘¤ë
make world
¤ňÍѤ¤¤Ć¤â¤Ś¤Ţ¤Ż¤¤¤Ż¤Ç¤ˇ¤ç¤ŚĄŁĽáĽ¸ĽăĄźĽęĽęĄźĽš¤ň¤Ţ¤ż¤¤¤ŔĽ˘ĽĂĽ×ĽÇĄźĽČ¤Ç¤ĎĄ˘
¤ł¤ÎĘýËĄ¤ňÍѤ¤¤Ę¤¤¤ČĄ˘˛ż¤é¤Ť¤ÎĚäÂę¤Ë¤Ö¤Ä¤Ť¤ë¤Ç¤ˇ¤ç¤ŚĄŁÂ礤ʼ˘ĽĂĽ×Ľ°ĽěĄźĽÉ¤Ë¤Ş¤¤¤Ć¤ĎĄ˘
installworld ¤ÎÁ°¤ËĆĂÄę¤ÎĽŐĽĄĽ¤Ľë¤ÎĚžÁ°¤ÎĘŃšš¤äşď˝ü¤š¤ë¤Č¤¤¤Ă¤żĄ˘
ĆĂĘ̤ĘÄɲäμšĽĆĽĂĽ×¤ŹÉŹÍפȤʤ뤳¤Č¤Ź¤˘¤ę¤Ţ¤šĄŁ
/usr/src/UPDATING ¤ňĂí°Őżź¤ŻĆɤó¤Ç¤Ż¤Ŕ¤ľ¤¤ĄŁ
Ćä˼ռĄĽ¤Ľë¤ÎşÇ¸ĺ¤Ë¤ĎĄ˘
¸˝şßżäžŠ¤ľ¤ě¤Ć¤¤¤ëĽ˘ĽĂĽ×Ľ°ĽěĄźĽÉ¤Îźę˝ç¤ŹžÜ¤ˇ¤ŻŔľłÎ¤ËŔâĚŔ¤ľ¤ě¤Ć¤¤¤Ţ¤šĄŁ¤ł¤ÎźęÂł¤¤ĎĄ˘
łŤČŻźÔ¤ż¤Á¤Ź¤˘¤ëźď¤ÎĽßĽšĽŢĽĂĽÁ¤ň´°Á´¤ËČň¤ą¤ë¤ż¤á¤ËĄ˘Äš¤¤Çݎî¤ň¤Ť¤ą¤ĆżĘ˛˝¤ˇ¤Ć¤¤Ţ¤ˇ¤żĄŁ
´ę¤ď¤Ż¤ĐĄ˘¤ł¤Î¸˝şß¤Îźę˝ç¤ŹÄ𤤴ְÂÄꤡ¤Ć¤Ű¤ˇ¤¤¤â¤Î¤Ç¤šĄŁ¤Ţ¤Č¤á¤ë¤ČĄ˘¸˝şßĄ˘Ľ˝ĄźĽš¤Ť¤é¤Î &os;
¤ÎĽ˘ĽĂĽ×Ľ°ĽěĄźĽÉ¤Ë¤Ş¤¤¤ĆżäžŠ¤ľ¤ě¤Ć¤¤¤ëĘýËĄ¤Ď°Ę˛ź¤Č¤Ę¤ę¤Ţ¤šĄŁ&prompt.root; cd /usr/src
&prompt.root; make buildworld
&prompt.root; make buildkernel
&prompt.root; make installkernel
&prompt.root; shutdown -r now¤Ţ¤ě¤Ë buildworld
¤ÎÁ°¤Ë mergemaster -p
¤ň͞ʏ¤ËźÂšÔ¤š¤ë¤ł¤Č¤ŹÉŹÍפʞěšç¤Ź¤˘¤ę¤Ţ¤šĄŁ¤˝¤Îžěšç¤Ď
UPDATING ¤Ë¤˝¤Ś˝ń¤Ť¤ě¤Ć¤¤¤Ţ¤šĄŁ
&os; ¤ÎĽáĽ¸ĽăĄźĽĐĄźĽ¸ĽçĽó¤ň¤Ţ¤ż¤¤¤Çššżˇ¤š¤ë¤Î¤Ç¤Ę¤ą¤ě¤ĐĄ˘
ÄĚžď¤Ď¤ł¤Îźę˝ç¤ňžĘÎŹ¤ˇ¤Ć¤â¤Ę¤ó¤éĚäÂę¤Ę¤¤¤Ç¤ˇ¤ç¤ŚĄŁinstallkernel
¤ŹĚľťö¤Ë˝ŞÎť¤ˇ¤ż¤éĄ˘ĽíĄźĽŔ¤ÎĽ×ĽíĽóĽ×ĽČ¤Ť¤é
boot -s
¤ňťČ¤Ă¤ĆĽˇĽóĽ°ĽëĽćĄźĽśĽâĄźĽÉ¤ÇΊ¤Ážĺ¤˛¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ
¤˝¤ě¤Ť¤éĄ˘°Ę˛ź¤ňźÂšÔ¤ˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ&prompt.root; mount -u /
&prompt.root; mount -a -t ufs
&prompt.root; adjkerntz -i
&prompt.root; mergemaster -p
&prompt.root; cd /usr/src
&prompt.root; make installworld
&prompt.root; mergemaster
&prompt.root; make delete-old
&prompt.root; reboot
&prompt.root; make delete-old-libs¤ł¤Î¸ĺ¤ÎŔâĚŔ¤ňĆɤó¤Ç¤Ż¤Ŕ¤ľ¤¤¤ł¤Î¸ĺ¤ÎŔá¤Ç¤Ď¤˝¤ě¤ž¤ě¤ÎĽšĽĆĽĂĽ×¤Ë¤Ä¤¤¤ĆžÜ¤ˇ¤ŻŔâĚŔ¤ˇ¤Ć¤¤¤Ţ¤šĄŁ
Ćä˼ŤĽšĽżĽŕĽŤĄźĽÍĽë¤ňÍřÍѤš¤ëžěšç¤Ë¤Ä¤¤¤ĆŔâĚŔ¤ˇ¤Ć¤¤¤Ţ¤šĄŁ/usr/src/UPDATING ¤ňĆɤ༢ĽĂĽ×ĽÇĄźĽČ¤š¤ëÁ°¤ËĄ˘
/usr/src/UPDATING ¤ňĆɤó¤Ç¤Ż¤Ŕ¤ľ¤¤ĄŁ
¤ł¤ÎĽŐĽĄĽ¤Ľë¤Ë¤ĎŔřşßĹŞ¤ĘĚäÂę¤ä
ĆĂÄę¤ÎĽłĽŢĽóĽÉ¤Î˝ç¤Ę¤É¤Î˝ĹÍפʞđĘ󤏴ޤޤě¤Ć¤¤¤Ţ¤šĄŁ
UPDATING ¤Ź¤ł¤ÎŔá¤Ë˝ń¤Ť¤ě¤Ć¤¤¤ë¤â¤Î¤Č̡˝â¤ˇ¤Ć¤¤¤ëťţ¤Ď
UPDATING ¤ňÍĽŔ褡¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁUPDATING ¤ňĆɤŕ¤Č¤¤¤Ś¤ł¤Č¤ĎĄ˘
ĹŹŔڤʼᥟĽęĽóĽ°ĽęĽšĽČ¤ňšŘĆɤš¤ëÂĺ¤ď¤ę¤Ë¤Ď¤Ę¤ę¤Ţ¤ť¤óĄŁ
Ćó¤Ä¤ÎÍ׾á¤ĎÁęĘäĹŞ¤Ę¤â¤Î¤ÇÇÓžŪ¤Ę¤â¤Î¤Ç¤Ď¤Ę¤¤¤Î¤Ç¤šĄŁ/etc/make.conf ¤ÎłÎǧmake.conf&man.make.1; ¤ÎĽŞĽ×ĽˇĽçĽó¤ÎŔâĚŔ¤ĎĄ˘&man.make.conf.5; ¤ä
/usr/share/examples/etc/make.conf ¤Ë¤˘¤ę¤Ţ¤šĄŁ
¤ł¤ě¤é¤ÎŔßÄę¤ň /etc/make.conf ¤ËÄɲ䡤ƥ˘
&man.make.1; ¤ÎźÂšÔ¤äĽ×ĽíĽ°ĽéĽŕ¤Îš˝ĂŰĘýËĄ¤ňŔßÄꤡ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ
¤˘¤ëŔßÄę¤ňĘŃšš¤ˇ¤ż¤ł¤Č¤Ë¤č¤ęĄ˘ąĆśÁ¤Źš¤¤ČĎ°Ď¤Ë¤Ş¤č¤ÓĄ˘
śĂ¤Ż¤Ů¤ˇë˛Ě¤ň¤â¤ż¤é¤š˛ÄÇ˝Ŕ¤Ź¤˘¤ę¤Ţ¤šĄŁ
ΞĘý¤ÎĽŐĽĄĽ¤Ľë¤Ë˝ń¤Ť¤ě¤Ć¤¤¤ëĽłĽáĽóĽČ¤ňĆɤळ¤Č¤ČĄ˘
ĽÇĽŐĽŠĽëĽČ¤ÎŔßÄę¤ĎĄ˘ĽŃĽŐĽŠĄźĽŢĽóĽš¤Č°ÂÁ´Ŕ¤Î´ŃĹŔ¤Ť¤éÁŞ¤Đ¤ě¤Ć¤¤¤ë¤ł¤Č¤ňłĐ¤¨¤Ć¤Ş¤¤¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ/etc/make.conf ¤ÇŔßÄꤾ¤ě¤żĽŞĽ×ĽˇĽçĽó¤ĎĄ˘
&man.make.1; ¤ŹťČ¤ď¤ě¤ëşÝ¤Ë¤Ďžď¤Ë͸ú¤Č¤Ę¤ę¤Ţ¤šĄŁ
Ports Collection ¤Ť¤éĽ˘Ľ×ĽęĽąĄźĽˇĽçĽó¤ňĽłĽóĽŃĽ¤Ľë¤š¤ëťţĄ˘
ĽćĄźĽś¤Ź˝ń¤¤¤ż C Ľ×ĽíĽ°ĽéĽŕ¤ä &os;
ĽŞĽÚĽěĄźĽĆĽŁĽóĽ°ĽˇĽšĽĆĽŕ¤ňš˝Ăۤš¤ëşÝ¤ËąĆśÁ¤ňľÚ¤Ü¤ˇ¤Ţ¤šĄŁ/etc/src.conf ¤ňłÎǧ¤š¤ësrc.conf/etc/src.conf ¤ĎĄ˘
Ľ˝ĄźĽšĽłĄźĽÉ¤ňÍѤ¤¤żĽŞĽÚĽěĄźĽĆĽŁĽóĽ°ĽˇĽšĽĆĽŕ¤Îš˝ĂۤˤĤ¤¤ĆĽłĽóĽČĽíĄźĽë¤ˇ¤Ţ¤šĄŁ
/etc/make.conf ¤Č¤Ď°Ű¤Ę¤ęĄ˘
/etc/src.conf ¤Ë˝ń¤Ť¤ě¤żŔßÄę¤ĎĄ˘
&os; ĽŞĽÚĽěĄźĽĆĽŁĽóĽ°ĽˇĽšĽĆĽŕ¤˝¤Î¤â¤Î¤ňš˝Ăۤš¤ë¤Č¤¤Ë¤Î¤ßąĆśÁ¤ˇ¤Ţ¤šĄŁ
¤ł¤ÎĽŐĽĄĽ¤Ľë¤ÇŔßÄę˛ÄÇ˝¤ĘÂż¤Ż¤ÎĽŞĽ×ĽˇĽçĽó¤Ë¤Ä¤¤¤Ć¤ĎĄ˘
&man.src.conf.5; ¤Ëľ˝Ň¤ľ¤ě¤Ć¤¤¤Ţ¤šĄŁ
°ě¸Ť¤ˇ¤ż¤Č¤ł¤íĚľ¸ú¤Ë¤ľ¤ě¤Ć¤¤¤ëĄ˘
ťČ¤ď¤ě¤Ć¤¤¤Ę¤¤ĽŤĄźĽÍĽëĽâĽ¸ĽĺĄźĽë¤äĽÓĽëĽÉĽŞĽ×ĽˇĽçĽó¤ËĂí°Ő¤ˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ
¤Č¤¤É¤Í˝´ü¤ˇ¤Ę¤Ť¤Ă¤ż¤ęĄ˘¤ď¤ş¤Ť¤ĘąĆśÁ¤ňÍż¤¨¤ë¤ł¤Č¤Ź¤˘¤ę¤Ţ¤šĄŁ/etc ¤Ë¤˘¤ëĽŐĽĄĽ¤Ľë¤Îššżˇ/etc ¤Ë¤ĎĄ˘
ĽˇĽšĽĆĽŕľŻĆ°ťţ¤ËźÂšÔ¤ľ¤ě¤ëĽšĽŻĽęĽ×ĽČ¤Ŕ¤ą¤Ç¤Ę¤ŻĄ˘
ĽˇĽšĽĆĽŕ¤ÎŔßÄę¤Ë´ŘϢ¤š¤ëžđĘó¤ÎÂçÉôĘŹ¤Ź´Ţ¤Ţ¤ě¤Ć¤¤¤Ţ¤šĄŁ
¤˝¤ÎĽÇĽŁĽěĽŻĽČĽę¤Ë´Ţ¤Ţ¤ě¤ëĽšĽŻĽęĽ×ĽČ¤ĎĄ˘
&os; ¤ÎĽĐĄźĽ¸ĽçĽó¤Ë¤č¤Ă¤ĆÂżžŻ°Ű¤Ę¤ę¤Ţ¤šĄŁŔßÄęĽŐĽĄĽ¤Ľë¤Î¤Ę¤Ť¤Ë¤ĎĄ˘/etc/group
¤Î¤č¤Ś¤Ë˛ÔĆŻĂć¤ÎĽˇĽšĽĆĽŕ¤ŹĆüĄšÍřÍѤˇ¤Ć¤¤¤ë¤â¤Î¤â¤˘¤ę¤Ţ¤šĄŁmake installworld ¤Ë¤č¤ëĽ¤ĽóĽšĽČĄźĽë¤ÎĂĘłŹ¤Ç¤ĎĄ˘
ĆĂÄę¤ÎĽćĄźĽśĚžĄ˘¤˘¤ë¤¤¤ĎĽ°ĽëĄźĽ×¤ŹÂ¸şß¤ˇ¤Ć¤¤¤ë¤ł¤Č¤ň
Í׾ᤚ¤ëžěĚĚ¤Ź¤˘¤ę¤Ţ¤šĄŁĽˇĽšĽĆĽŕ¤ÎĽ˘ĽĂĽ×Ľ°ĽěĄźĽÉ¤ňšÔ¤Ę¤ŚşÝ¤Ë¤ĎĄ˘
¤˝¤ě¤é¤ÎĽćĄźĽśĚž¤äĽ°ĽëĄźĽ×¤Źşď˝üĄ˘
¤˘¤ë¤¤¤ĎĘŃšš¤ľ¤ě¤Ć¸şß¤ˇ¤Ć¤¤¤Ę¤¤˛ÄÇ˝Ŕ¤ŹšÍ¤¨¤é¤ě¤Ţ¤šĄŁ
make buildworld ¤Ë¤Ş¤¤¤ĆĄ˘
¤˝¤ě¤é¤ÎĽćĄźĽśĚž¤äĽ°ĽëĄźĽ×¤ŹÂ¸şß¤š¤ë¤ŤłÎǧ¤ŹšÔ¤ď¤ě¤ëžěšç¤â¤˘¤ę¤Ţ¤šĄŁ
˛ňˇčĘýËĄ¤ĎĄ˘buildworld ¤ÎÁ°¤Ë
¤ň¤Ä¤ą¤Ć &man.mergemaster.8; ¤ňźÂšÔ¤š¤ë¤ł¤Č¤Ç¤šĄŁ
¤ł¤ě¤ňźÂšÔ¤š¤ë¤ČĄ˘buildworld ¤ä
installworld
¤ŹŔޏů¤š¤ë¤ż¤á¤ËÉŹÍפʼռĄĽ¤Ľë¤Ŕ¤ą¤ňČćłÓ¤ˇ¤Ţ¤šĄŁĚžÁ°¤ňĘŃšš¤ˇ¤ż¤ęĄ˘şď˝ü¤ˇ¤Ć¤ˇ¤Ţ¤Ă¤żĽ°ĽëĄźĽ×¤Ź˝ęͤˇ¤Ć¤¤¤ëĽŐĽĄĽ¤Ľë¤ňĄ˘
źĄ¤Î¤č¤Ś¤Ë¤ˇ¤ĆÄ´¤Ů¤ë¤ł¤Č¤â¤Ç¤¤Ţ¤šĄŁ
&prompt.root; find / -group GID -print¤ł¤ÎĽłĽŢĽóĽÉ¤ĎĽ°ĽëĄźĽ×Ěž¤â¤ˇ¤Ż¤Ďżôťú¤Çꍤľ¤ě¤ëĽ°ĽëĄźĽ× ID
¤ÇťŘÄꤾ¤ě¤żĽ°ĽëĄźĽ× GID
¤Ź˝ęͤš¤ë¤š¤Ů¤Ć¤ÎĽŐĽĄĽ¤Ľë¤ňÉ˝ź¨¤ˇ¤Ţ¤šĄŁĽˇĽóĽ°ĽëĽćĄźĽśĽâĄźĽÉ¤Ř¤Î°ÜšÔĽˇĽóĽ°ĽëĽćĄźĽśĽâĄźĽÉĽłĽóĽŃĽ¤Ľë¤ĎĄ˘ĽˇĽóĽ°ĽëĽćĄźĽśĽâĄźĽÉ¤ÇšÔ¤Ę¤Ś¤ł¤Č¤ňšÍ¤¨¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ
ĽˇĽšĽĆĽŕ¤ÎşĆĽ¤ĽóĽšĽČĄźĽë¤Ď˝ĹÍפʼˇĽšĽĆĽŕĽŐĽĄĽ¤ĽëĄ˘
¤š¤Ů¤Ć¤Îɸ˝ŕĽˇĽšĽĆĽŕ¤ÎĽĐĽ¤ĽĘĽęĄ˘ĽéĽ¤ĽÖĽéĽęĄ˘Ľ¤ĽóĽŻĽëĄźĽÉĽŐĽĄĽ¤Ľë¤ňÁŕşî¤ˇ¤Ţ¤šĄŁ
˛ÔĆŻĂć¤ÎĽˇĽšĽĆĽŕ¤Ë (ĆäËž¤ÎĽćĄźĽś¤Ź¤˝¤ÎĽˇĽšĽĆĽŕ¤ËĽíĽ°Ľ¤Ľó¤ˇ¤Ć¤¤¤ëťţ¤Ë)
¤˝¤Î¤č¤Ś¤ĘĘŃšš¤ň˛Ă¤¨¤ë¤ł¤Č¤ĎĄ˘ĽČĽéĽÖĽë¤ň°ú¤ľŻ¤ł¤š¸ś°ř¤Č¤Ę¤ę¤Ţ¤šĄŁĽŢĽëĽÁĽćĄźĽśĽâĄźĽÉ¤â¤Ś°ě¤Ä¤ÎĘýËĄ¤Č¤ˇ¤ĆĄ˘ĽŢĽëĽÁĽćĄźĽśĽâĄźĽÉ¤ÇĽˇĽšĽĆĽŕ¤ňşĆš˝Ăۤˇ¤ĆĄ˘
ĽˇĽóĽ°ĽëĽćĄźĽśĽâĄźĽÉ¤Ë°ÜšÔ¤ˇ¤Ć¤Ť¤é¤˝¤ě¤ňĽ¤ĽóĽšĽČĄźĽë¤š¤ëĄ˘
¤Č¤¤¤Ś¤Î¤Ź¤˘¤ę¤Ţ¤šĄŁ¤â¤ˇ¤ł¤Î¤č¤Ś¤ĘĘýËĄ¤ÇšÔ¤Ę¤¤¤ż¤¤žěšç¤ĎĄ˘
°Ę˛ź¤Îźę˝ç¤ňš˝ĂŰ¤Ź´°Îť¤š¤ë¤Č¤ł¤í¤Ţ¤ÇČô¤Đ¤ˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ
installkernel ¤â¤ˇ¤Ż¤Ď
installworld ¤ňźÂšÔ¤š¤ëşÝ¤ËĄ˘
ĽˇĽóĽ°ĽëĽćĄźĽśĽâĄźĽÉ¤Ë°ÜšÔ¤ˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ&prompt.root; shutdown now¤˘¤ë¤¤¤ĎĽˇĽšĽĆĽŕ¤ňşĆľŻĆ°¤ˇĄ˘ĽÖĄźĽČĽ×ĽíĽóĽ×ĽČ¤Ť¤é
single user ĽŞĽ×ĽˇĽçĽó¤ňÁŞÂň¤ˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ
ĽˇĽóĽ°ĽëĽćĄźĽśĽâĄźĽÉ¤ÇľŻĆ°¤ˇ¤ż¸ĺ¤ĎĄ˘
ĽˇĽ§ĽëĽ×ĽíĽóĽ×ĽČ¤Ť¤éźĄ¤Î¤č¤Ś¤ËźÂšÔ¤ˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ&prompt.root; fsck -p
&prompt.root; mount -u /
&prompt.root; mount -a -t ufs
&prompt.root; swapon -a¤ł¤ě¤ĎĽŐĽĄĽ¤ĽëĽˇĽšĽĆĽŕ¤ňĽÁĽ§ĽĂĽŻ¤ˇ¤ż¸ĺĄ˘
/ ¤ňĆɤ߽ń¤˛ÄÇ˝¤Ë¤ˇ¤ĆşĆĽŢĽŚĽóĽČĄ˘
/etc/fstab ¤ËťŘÄꤾ¤ě¤Ć¤¤¤ëĄ˘
¤˝¤ě°Ęł°¤Î UFS ĽŐĽĄĽ¤ĽëĽˇĽšĽĆĽŕ¤ň¤š¤Ů¤ĆĽŢĽŚĽóĽČ¤ˇ¤Ć¤Ť¤é
ĽšĽďĽĂĽ×¤ň͸ú¤Ë¤ˇ¤Ţ¤šĄŁ
CMOS ĽŻĽíĽĂĽŻ¤ŹĂϰčťţ´Ö¤ËŔßÄꤾ¤ě¤Ć¤¤¤Ć
GMT ¤Ç¤Ď¤Ę¤¤žěšç
(&man.date.1; ¤ŹŔľ¤ˇ¤¤ťţ´Ö¤ČĂϰč¤ňÉ˝ź¨¤ˇ¤Ę¤¤¤Ę¤éĹö¤Ć¤Ď¤Ţ¤ę¤Ţ¤š)Ą˘
źĄ¤ÎĽłĽŢĽóĽÉ¤ňźÂšÔ¤š¤ˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ&prompt.root; adjkerntz -i¤ł¤Ś¤š¤ě¤ĐĄ˘
łÎźÂ¤ËĂϰčťţšď¤ŹŔľ¤ˇ¤ŻŔßÄꤾ¤ě¤Ţ¤šĄŁ/usr/obj ¤Îşď˝üĽˇĽšĽĆĽŕ¤ŹşĆš˝Ăۤľ¤ě¤ëťţĄ˘š˝Ăۤľ¤ě¤ż¤â¤Î¤ĎĽÇĽŐĽŠĽëĽČ¤Ç
/usr/obj °Ę˛ź¤ÎĽľĽÖĽÇĽŁĽěĽŻĽČĽę¤ËłĘÇź¤ľ¤ě¤Ţ¤šĄŁ
¤˝¤ÎĽÇĽŁĽěĽŻĽČĽę¤Î˛ź¤Ď /usr/src
¤ČĆą¤¸š˝Â¤¤Č¤Ę¤ę¤Ţ¤šĄŁ¤â¤ˇ¤ł¤ÎĽÇĽŁĽěĽŻĽČĽę¤ŹÂ¸şß¤ˇ¤Ć¤¤¤ë¤Î¤Ç¤˘¤ě¤ĐĄ˘
¤ł¤ÎĽÇĽŁĽěĽŻĽČĽę¤ňşď˝ü¤ˇ¤ĆĄ˘
make buildworld ¤ÎšÔÄř¤Ë¤Ť¤Ť¤ëťţ´Ö¤ňĂť˝Ě¤ˇĄ˘
°Í¸ĚäÂę¤ËÇş¤Ţ¤ľ¤ě¤ë¤č¤Ś¤ĘĽČĽéĽÖĽë¤ň˛óČň¤š¤ë¤ł¤Č¤Ź¤Ç¤¤Ţ¤šĄŁ/usr/obj °Ę˛ź¤ÎĽŐĽĄĽ¤Ľë¤Ë¤ĎĄ˘ĘŃššÉÔ˛Ä
(immutable) ĽŐĽéĽ°¤ŹĽťĽĂĽČ¤ľ¤ě¤Ć¤¤¤ë¤â¤Î¤Ź¤˘¤ë˛ÄÇ˝Ŕ¤Ź¤˘¤ę¤Ţ¤šĄŁ
¤ł¤Î¤č¤Ś¤ĘĽŐĽĄĽ¤Ľë¤ĎşÇ˝é¤Ë &man.chflags.1;
¤ňÍѤ¤¤Ć¤Ť¤éşď˝ü¤š¤ëÉŹÍפʤ˘¤ę¤Ţ¤šĄŁ&prompt.root; cd /usr/obj
&prompt.root; chflags -R noschg *
&prompt.root; rm -rf *ĽŮĄźĽšĽˇĽšĽĆĽŕ¤ÎşĆš˝ĂŰ˝ĐÎĎĽáĽĂĽťĄźĽ¸¤ÎĘݸźÂšÔ¤ľ¤ě¤ë &man.make.1; ¤Ť¤é¤Î˝ĐÎϤϥ˘ĽŐĽĄĽ¤Ľë¤ËĘݸ¤š¤ë¤ČÎɤ¤¤Ç¤ˇ¤ç¤ŚĄŁ
¤â¤ˇĄ˘˛ż¤Ťžăł˛¤ŹČŻŔ¸¤ˇ¤żžěšçĄ˘Ľ¨ĽéĄźĽáĽĂĽťĄźĽ¸¤ÎĽłĽÔĄź¤ň
&os; ĽáĄźĽęĽóĽ°ĽęĽšĽČ¤ËĹęšĆ¤ˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁĽŐĽĄĽ¤Ľë¤ËĘݸ¤š¤ëşÇ¤â´ĘĂą¤ĘĘýËĄ¤ĎĄ˘&man.script.1;
ĽłĽŢĽóĽÉ¤ňťČ¤¤Ą˘°úżô¤Ë˝ĐÎϤňĘݸ¤ˇ¤ż¤¤ĽŐĽĄĽ¤ĽëĚž¤ňťŘÄꤚ¤ë¤ł¤Č¤Ç¤šĄŁ
¤ł¤ě¤ň make world ¤ÎÄžÁ°¤ËšÔ¤Ę¤¤Ą˘şĆš˝ĂŰ¤Ź˝ŞÎť¤ˇ¤ż¤é
°Ę˛ź¤Î¤č¤Ś¤Ë exit ¤ČĆţÎϤˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ&prompt.root; script /var/tmp/mw.out
Script started, output file is /var/tmp/mw.out
&prompt.root; make TARGET… compile, compile, compile …
&prompt.root; exit
Script done, …/tmp
¤Ë˝ĐÎϤňĘݸ¤ˇ¤Ć¤Ď¤¤¤ą¤Ţ¤ť¤óĄŁ
¤ł¤ÎĽÇĽŁĽěĽŻĽČĽę¤ĎĄ˘źĄ¤ÎşĆľŻĆ°¤Çşď˝ü¤ľ¤ě¤Ć¤ˇ¤Ţ¤Ś˛ÄÇ˝Ŕ¤Ź¤˘¤ę¤Ţ¤šĄŁ
˝ĐÎϤÎĘݸ¤Ë¤ĎĄ˘/var/tmp ¤ä
root ¤ÎĽŰĄźĽŕĽÇĽŁĽěĽŻĽČĽę¤ŹĹʤˇ¤Ć¤¤¤Ţ¤šĄŁĽŮĄźĽšĽˇĽšĽĆĽŕ¤Îš˝ĂŰ/usr/src ¤Ë¤ĆĄ˘
źĄ¤Î¤č¤Ś¤ËźÂšÔ¤ˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ&prompt.root; cd /usr/srcmakeworld ¤ňşĆš˝Ăۤš¤ë¤Ë¤ĎĄ˘&man.make.1; ¤ňťČÍѤˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ
¤ł¤ÎĽłĽŢĽóĽÉ¤ĎĄ˘Makefile ¤Ť¤éĄ˘
&os; ¤ňš˝Ŕޤš¤ëĽ×ĽíĽ°ĽéĽŕ¤ÎşĆš˝ĂŰĘýËĄ¤äĄ˘
¤É¤Ś¤¤¤Ś˝çČ֤Ǥ˝¤ě¤é¤ňš˝Ăۤš¤Ů¤¤Ť¤Č¤¤¤Ă¤ż¤č¤Ś¤ĘťŘꍤňĆɤߚţ¤ß¤Ţ¤šĄŁĽłĽŢĽóĽÉĽéĽ¤Ľó¤Î°ěČĚĹŞ¤Ę˝ńź°¤ĎĄ˘źĄ¤Î¤Č¤Ş¤ę¤Ç¤šĄŁ&prompt.root; make -x -DVARIABLEtarget¤ł¤ÎÎă¤Ç¤ĎĄ˘ ¤Ź
&man.make.1; ¤ËĹϤľ¤ě¤ëĽŞĽ×ĽˇĽçĽó¤Ë¤Ę¤ę¤Ţ¤šĄŁ
¤É¤Î¤č¤Ś¤ĘĽŞĽ×ĽˇĽçĽó¤ŹÍřÍѤǤ¤ë¤Ť¤Ë¤Ä¤¤¤Ć¤ĎĄ˘&man.make.1;
¤ňť˛žČ¤ˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ
¤ĎĄ˘
Makefile ¤ËĹϤľ¤ě¤ëĘŃżô¤Ç¤˘¤ęĄ˘
¤ł¤ÎĘŃżô¤Ď Makefile ¤Îưşî¤ňĽłĽóĽČĽíĄźĽë¤ˇ¤Ţ¤šĄŁ
¤Ţ¤żĄ˘/etc/make.conf ¤ÇŔßÄꤾ¤ě¤ëĘŃżô¤â
ĆąÍÍ¤Ç¤šĄŁ¤ł¤ě¤ĎĘŃżô¤ňŔßÄꤚ¤ë¤â¤Ś°ě¤Ä¤ÎĘýËĄ¤Č¤ˇ¤ĆÍѰդľ¤ě¤Ć¤¤¤Ţ¤šĄŁ
¤ż¤Č¤¨¤Đ°Ę˛ź¤ÎÄ̤ę¤Ç¤šĄŁ&prompt.root; make -DNO_PROFILE target
¤ĎĄ˘Ľ×ĽíĽŐĽĄĽ¤ĽëČǤμ鼤ĽÖĽéĽę¤ňš˝Ăۤˇ¤Ę¤¤¤ł¤Č¤ňťŘÄꤚ¤ë
¤â¤Ś°ě¤Ä¤ÎľËĄ¤ÇĄ˘/etc/make.conf Ăć¤ÎNO_PROFILE= true # Avoid compiling profiled libraries¤ÎšÔ¤ËÂĐąţ¤ˇ¤Ţ¤šĄŁtarget ¤ĎĄ˘&man.make.1; ¤Ë
¤É¤Î¤č¤Ś¤Ëưşî¤š¤ë¤Î¤Ť¤ňťŘꍤš¤ë¤ż¤á¤Î¤â¤Î¤Ç¤šĄŁ
łĆ Makefile ¤Ë¤ĎĄ˘żôÂż¤Ż¤Î°Ű¤Ę¤ë
ĽżĄźĽ˛ĽĂĽČ (target) ¤ŹÄęľÁ¤ľ¤ě¤Ć¤¤¤ĆĄ˘
ťŘÄꤾ¤ě¤żĽżĄźĽ˛ĽĂĽČ¤Ë¤č¤Ă¤Ćưşî¤Źˇč¤Ţ¤ę¤Ţ¤šĄŁ
Makefile ¤Ë˝ń¤Ť¤ě¤Ć¤¤¤ëĽżĄźĽ˛ĽĂĽČ¤Ë¤ĎĄ˘
ĽˇĽšĽĆĽŕ¤ÎşĆš˝ĂۤËÉŹÍפĘĂĘłŹ¤ňĄ˘
Âż¤Ż¤Î¤ľ¤é¤ËşŮ¤Ť¤¤ĂĘłŹ¤ËĘŹłä¤š¤ë¤ż¤áĄ˘
š˝ĂۤβáÄř¤ÇÍřÍѤľ¤ě¤ë¤â¤Î¤Ź¤˘¤ę¤Ţ¤šĄŁÂçÄń¤ÎžěšçĄ˘&man.make.1; ¤ËĽŃĽéĽáĄźĽż¤ňťŘÄꤚ¤ëÉŹÍפϤʤ¤¤Ç¤ˇ¤ç¤Ś¤Ť¤éĄ˘
ĽłĽŢĽóĽÉĽéĽ¤Ľó¤ĎźĄ¤Î¤č¤Ś¤Ę¤â¤Î¤Ë¤Ę¤ę¤Ţ¤šĄŁ&prompt.root; make target¤ł¤ł¤ÇĄ˘target
¤ĎĄ˘Âż¤Ż¤ÎĽÓĽëĽÉĽŞĽ×ĽˇĽçĽó¤Î¤É¤ě¤Ť¤Ë¤Ę¤ę¤Ţ¤šĄŁ
şÇ˝é¤ÎĽżĄźĽ˛ĽĂĽČ¤Ď¤¤¤Ä¤â buildworld
¤Ë¤Ę¤ë¤Ç¤ˇ¤ç¤ŚĄŁ¤˝¤ÎĚžÁ°¤Źź¨¤š¤č¤Ś¤ËĄ˘buildworld ¤Ď
/usr/obj
°Ę˛ź¤Ëżˇ¤ˇ¤¤´°Á´¤ĘĽÇĽŁĽěĽŻĽČĽęĽÄĽęĄź¤ňš˝ĂۤˇĄ˘
installworld ¤ĎĄ˘¤˝¤ÎĽÄĽęĄź¤ň
¸˝şß¤ÎĽŢĽˇĽó¤ËĽ¤ĽóĽšĽČĄźĽë¤ˇ¤Ţ¤šĄŁÁŞÂňťč¤ŹĘʤą¤é¤ě¤Ć¤¤¤ë¤ł¤Č¤ĎĄ˘Ćó¤Ä¤ÎÍýÍł¤Ť¤éÍÍѤǤšĄŁ
¤Ţ¤şÂč°ě¤ËĄ˘š˝ĂŰşîśČ¤Ď
˛ż¤Ë¤â°Í¸¤ť¤şĆČΊ¤ˇ¤ĆšÔ¤Ę¤ď¤ěĄ˘
˛ÔĆŻĂć¤ÎĽˇĽšĽĆĽŕ¤Ë¤Ţ¤Ă¤ż¤ŻąĆśÁ¤ňÍż¤¨¤Ţ¤ť¤óĄŁ
¤˝¤Î¤ż¤áĄ˘ĽŢĽëĽÁĽćĄźĽśĽâĄźĽÉ¤Ç˛ÔĆŻĂć¤ÎĽˇĽšĽĆĽŕ¤Ç¤âĄ˘˛ż°ě¤Ä
°ąĆśÁ¤ňÍż¤¨¤ş¤Ë buildworld ¤ň
źÂšÔ¤š¤ë¤ł¤Č¤Ź¤Ç¤¤Ţ¤šĄŁ
¤ż¤Ŕ¤ˇĄ˘installworld ¤Ď
ĽˇĽóĽ°ĽëĽćĄźĽśĽâĄźĽÉ¤ÇšÔ¤Ę¤Ś¤ł¤Č¤ň¤Ş¤š¤š¤á¤ˇ¤Ţ¤šĄŁÂčĆó¤ËĄ˘NFS ĽŢĽŚĽóĽČ¤ňÍřÍѤš¤ë¤ł¤Č¤ÇĄ˘
ĽÍĽĂĽČĽďĄźĽŻžĺ¤ÎĘŁżô¤ÎĽŢĽˇĽó¤ňĽ˘ĽĂĽ×Ľ°ĽěĄźĽÉ¤š¤ë¤ł¤Č¤Ź˛ÄÇ˝¤ĘĹŔ¤Ź¤˘¤˛¤é¤ě¤Ţ¤šĄŁ
¤ż¤Č¤¨¤Đť°Âć¤ÎĽŢĽˇĽóĄ˘
A, B, C
¤ňĽ˘ĽĂĽ×Ľ°ĽěĄźĽÉ¤ˇ¤ż¤¤žěšç¤Ë¤ĎĄ˘¤Ţ¤şĽŢĽˇĽó A
¤Ç make buildworld ¤Č
make installworld ¤ňźÂšÔ¤ˇ¤Ţ¤šĄŁ
¤˝¤ě¤Ť¤éĄ˘ĽŢĽˇĽó B ¤ČĽŢĽˇĽó C
¤ÇĽŢĽˇĽó A ¤Î
/usr/src ¤Č /usr/obj ¤ň
NFS ĽŢĽŚĽóĽČ¤ˇĄ˘make installworld
¤Č¤š¤ë¤ł¤Č¤Çš˝ĂۺѤߤμˇĽšĽĆĽŕ¤ňłĆĽŢĽˇĽó¤ËĽ¤ĽóĽšĽČĄźĽë¤Ç¤¤Ţ¤šĄŁworld ĽżĄźĽ˛ĽĂĽČ¤âÍřÍѲÄÇ˝¤Ç¤š¤ŹĄ˘
¤ł¤ÎĽżĄźĽ˛ĽĂĽČ¤ÎÍřÍѤϿ䞊¤ľ¤ě¤Ć¤¤¤Ţ¤ť¤óĄŁ¤˝¤Î¤Ť¤ď¤ęĄ˘źĄ¤ÎĽłĽŢĽóĽÉ&prompt.root; make buildworld¤ňźÂšÔ¤ˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ¤ł¤ł¤Ç make ¤Ë
¤ň¤Ä¤ą¤ë¤ČĄ˘
Ćąťţ¤ËĘŁżô¤ÎĽ×ĽíĽťĽš¤ňŔ¸ŔŽ¤Ç¤¤Ţ¤šĄŁ
¤ł¤ÎľĄÇ˝¤ĎĽŢĽëĽÁ CPU ĽŢĽˇĽó¤ÇĆä˸ú˛Ě¤ňČŻ´ř¤ˇ¤Ţ¤šĄŁ
š˝Ă۲áÄř¤ÎÂçÉôĘŹ¤Ç¤Ď CPU ŔÇ˝¤Î¸ÂłŚ¤č¤ę
I/O ŔÇ˝¤Î¸ÂłŚ¤ÎĘý¤ŹĚäÂę¤Č¤Ę¤ë¤ż¤áĄ˘ĽˇĽóĽ°Ľë CPU
ĽŢĽˇĽó¤Ë¤â¸ú˛Ě¤Ź¤˘¤ę¤Ţ¤šĄŁÉáÄ̤μˇĽóĽ°Ľë CPU ĽŢĽˇĽó¤Ç°Ę˛ź¤ÎĽłĽŢĽóĽÉ&prompt.root; make -j4 buildworld¤ňźÂšÔ¤š¤ë¤ČĄ˘&man.make.1; ¤ĎşÇÂç 4 ¸Ä¤Ţ¤Ç¤ÎĽ×ĽíĽťĽš¤ňĆąťţ¤ËźÂšÔ¤ˇ¤Ţ¤šĄŁ
ĽáĄźĽęĽóĽ°ĽęĽšĽČ¤ËĹęšĆ¤ľ¤ě¤żˇĐ¸łĹޤĘĘóšđ¤Ë¤č¤ë¤ČĄ˘
4 ¸Ä¤Č¤¤¤ŚťŘÄꤏşÇ¤âÎɤ¤ĽŃĽŐĽŠĄźĽŢĽóĽš¤ňꍤš¤č¤Ś¤Ç¤šĄŁ¤â¤ˇĄ˘ĘŁżô¤Î CPU ¤ňČ÷¤¨¤żĽŢĽˇĽó¤Ç SMP ŔßÄꤏšÔ¤Ę¤ď¤ě¤żĽŤĄźĽÍĽë¤ň
ÍřÍѤˇ¤Ć¤¤¤ë¤Ę¤éĄ˘6 ¤Ť¤é 10 ¤Î´Ö¤ÎĂͤňŔßÄꤡĄ˘ÂŽĹŮ¤Ź¤É¤ě¤Ż¤é¤¤
¸ţžĺ¤š¤ë¤ŤłÎǧ¤ˇ¤Ć¤ß¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁĽˇĽšĽĆĽŕ¤Îš˝ĂۤˤŤ¤Ť¤ëťţ´Öworld ¤ÎşĆš˝ĂŰťţ´Öš˝ĂŰťţ´Ö¤ňˇč¤á¤ëÍ×ÁǤϤľ¤Ţ¤ś¤Ţ¤˘¤ę¤Ţ¤š¤ŹĄ˘
˝˝ĘŹżˇ¤ˇ¤¤ĽŢĽˇĽó¤Ç¤˘¤ě¤ĐĄ˘
ĽČĽęĽĂĽŻ¤äśáĆť¤ňťČ¤ď¤ş¤ËÉáÄ̤˚˝Ăۤˇ¤żžěšçĄ˘&os.stable;
¤Îš˝ĂŰ¤Ë¤Ď 1, 2 ťţ´Ö¤ˇ¤Ť¤Ť¤Ť¤é¤Ę¤¤¤Ç¤ˇ¤ç¤ŚĄŁ
&os.current; ¤Îš˝Ăۤϥ˘¤â¤ŚžŻ¤ˇťţ´Ö¤Ź¤Ť¤Ť¤ę¤Ţ¤šĄŁżˇ¤ˇ¤¤ĽŤĄźĽÍĽë¤Îš˝Ăۤȼ¤ĽóĽšĽČĄźĽëĽŤĄźĽÍĽë (kernel)š˝ĂŰĄ˘ĽłĽóĽŃĽ¤Ľëżˇ¤ˇ¤¤ĽˇĽšĽĆĽŕ¤ÎÁ´ľĄÇ˝¤ň´°Á´¤ËÍřÍѤǤ¤ë¤č¤Ś¤Ë¤š¤ë¤Ë¤ĎĄ˘
ĽŤĄźĽÍĽë¤ňşĆš˝Ăۤˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ
şĆš˝Ăۤϥ˘¤˘¤ëźď¤ÎĽáĽâĽęš˝Â¤ÂΤŹĘŃšš¤ľ¤ě¤żťţ¤Ë¤ĎĆäËÉŹżÜ¤Ç¤˘¤ęĄ˘
&man.ps.1; ¤ä &man.top.1; ¤Î¤č¤Ś¤ĘĽ×ĽíĽ°ĽéĽŕ¤ĎĄ˘
ĽŤĄźĽÍĽë¤ČĽ˝ĄźĽšĽłĄźĽÉ¤ÎĽĐĄźĽ¸ĽçĽó¤Ź°ěĂפˇ¤Ę¤¤¤ČŔľžď¤Ëưşî¤ˇ¤Ę¤¤¤Ç¤ˇ¤ç¤ŚĄŁşÇ¤â´ĘĂą¤Ç°ÂÁ´¤ËĽŤĄźĽÍĽë¤ÎşĆš˝ĂۤňšÔ¤Ę¤ŚĘýËĄ¤ĎĄ˘
GENERIC ¤ňťČ¤Ă¤żĽŤĄźĽÍĽë¤ňš˝ĂŰĄŚĽ¤ĽóĽšĽČĄźĽë¤š¤ë¤ł¤Č¤Ç¤šĄŁ
GENERIC ¤Ë¤Ď¤˘¤Ę¤ż¤ŹÉŹÍפȤš¤ëĽÇĽĐĽ¤Ľš¤Ź¤š¤Ů¤Ć´Ţ¤Ţ¤ě¤Ć¤¤¤Ę¤¤
¤Ť¤âĂΤě¤Ţ¤ť¤ó¤ŹĄ˘¤˘¤Ę¤ż¤ÎĽˇĽšĽĆĽŕ¤ňĽˇĽóĽ°ĽëĽćĄźĽśĽâĄźĽÉ¤Ç
ľŻĆ°¤ľ¤ť¤ë¤Î¤ËÉŹÍפʤâ¤Î¤Ď¤š¤Ů¤ĆĆţ¤Ă¤Ć¤¤¤Ţ¤šĄŁ
¤ł¤ě¤Ďżˇ¤ˇ¤¤ĽĐĄźĽ¸ĽçĽó¤ÎĽˇĽšĽĆĽŕ¤Ź¤¤Á¤ó¤Čưşî¤š¤ë¤Ť¤É¤Ś¤Ť
Ä´¤Ů¤ëÎɤ¤ĘýËĄ¤Î°ě¤Ä¤Ç¤šĄŁ
GENERIC ¤ÇľŻĆ°¤ˇ¤ĆĄ˘
ĽˇĽšĽĆĽŕ¤ŹŔľžď¤Ëưşî¤ˇ¤Ć¤¤¤ë¤Ť¤É¤Ś¤Ť¤ňłÎ¤Ť¤á¤ż¤éĄ˘
ĽŤĽšĽżĽŕĽŤĄźĽÍĽëĽłĽóĽŐĽŁĽ°ĽěĄźĽˇĽçĽóĽŐĽĄĽ¤Ľë¤ňťČ¤Ă¤Ćżˇ¤ˇ¤¤ĽŤĄźĽÍĽë¤ňš˝Ăۤˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ&os; ¤Ç¤ĎĄ˘żˇ¤ˇ¤¤ĽŤĄźĽÍĽë¤ňš˝Ăۤš¤ëÁ°¤Ë build world ¤ňšÔ¤Ś¤ł¤Č¤Ź˝ĹÍפǤšĄŁ
´ű¤Ë¤˘¤ëĽłĽóĽŐĽŁĽ°ĽěĄźĽˇĽçĽóĽŐĽĄĽ¤Ľë¤ňťČ¤Ă¤ĆĽŤĽšĽżĽŕĽŤĄźĽÍĽë¤ňš˝Ăۤš¤ë¤Ë¤ĎĄ˘
KERNCONF=MYKERNEL
¤ňťČ¤Ă¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ&prompt.root; cd /usr/src
&prompt.root; make buildkernel KERNCONF=MYKERNEL
&prompt.root; make installkernel KERNCONF=MYKERNELkern.securelevel ¤ň 1 ¤č¤ęÂç¤¤Ż¤ˇ¤Ć¤¤¤ĆĄ˘
¤Ť¤Ä ĽŤĄźĽÍĽë¤ÎĽĐĽ¤ĽĘĽęĽŐĽĄĽ¤Ľë¤Ë
noschg ¤Î¤č¤Ś¤ĘĽŐĽéĽ°¤ňŔßÄꤡ¤Ć¤¤¤ëžěšç¤ĎĄ˘
installkernel
¤ňšÔ¤Ś¤Î¤ËĽˇĽóĽ°ĽëĽćĄźĽśĽâĄźĽÉ¤Ë°ÜšÔ¤ˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ
¤˝¤ě°Ęł°¤Îžěšç¤ĎĄ˘
ĽŢĽëĽÁĽćĄźĽśĽâĄźĽÉ¤Ç¤ł¤ě¤é¤ÎĽłĽŢĽóĽÉ¤ňĚäÂę¤Ę¤ŻĆ°¤Ť¤ť¤ë¤Ď¤ş¤Ç¤šĄŁ
kern.securelevel ¤Ë¤Ä¤¤¤ĆžÜ¤ˇ¤Ż¤Ď
&man.init.8; ¤ňĄ˘ĽŐĽĄĽ¤Ľë¤ÎÍÍĄš¤ĘĽŐĽéĽ°¤Ë¤Ä¤¤¤ĆžÜ¤ˇ¤Ż¤Ď
&man.chflags.1; ¤ň¤´Í÷¤Ż¤Ŕ¤ľ¤¤ĄŁĽˇĽóĽ°ĽëĽćĄźĽśĽâĄźĽÉ¤ÇşĆľŻĆ°¤š¤ësingle-user modeżˇ¤ˇ¤¤ĽŤĄźĽÍĽë¤ŹĆ°şî¤š¤ë¤Ť¤É¤Ś¤ŤĽĆĽšĽČ¤š¤ë¤ż¤á¤ËĄ˘
ĽˇĽóĽ°ĽëĽćĄźĽśĽâĄźĽÉ¤ÇşĆľŻĆ°¤ˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ
ĽˇĽóĽ°ĽëĽćĄźĽśĽâĄźĽÉ¤Ç¤ÎľŻĆ°¤ĎĄ˘
¤Ë˝ń¤Ť¤ě¤Ć¤¤¤ëźę˝ç¤Ë˝ž¤Ă¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁżˇ¤ˇ¤¤ĽˇĽšĽĆĽŕĽĐĽ¤ĽĘĽę¤ÎĽ¤ĽóĽšĽČĄźĽëźĄ¤ËĄ˘installworld
¤ňťČ¤Ă¤Ćżˇ¤ˇ¤¤ĽˇĽšĽĆĽŕĽĐĽ¤ĽĘĽę¤ÎĽ¤ĽóĽšĽČĄźĽë¤ňšÔ¤Ę¤¤¤Ţ¤šĄŁ&prompt.root; cd /usr/src
&prompt.root; make installworldmake buildworld
¤ËĘŃżô¤ňťŘÄꤡ¤żžěšç¤ĎĄ˘ĆएťŘÄę¤ň
make installworld ¤Ë¤âťŘÄꤡ¤Ę¤ą¤ě¤Đ¤Ę¤ę¤Ţ¤ť¤óĄŁ
¤ż¤Ŕ¤ˇ ¤Ď
installworld ¤ÇŔäÂФ˝ȤäƤϤ¤¤ą¤Ţ¤ť¤óĄŁ¤ż¤Č¤¨¤Đ°Ę˛ź¤Î¤č¤Ś¤ËźÂšÔ¤ˇ¤ż¤Ę¤éĄ˘&prompt.root; make -DNO_PROFILE buildworld°Ę˛ź¤Î¤č¤Ś¤Ë¤ˇ¤ĆĽ¤ĽóĽšĽČĄźĽë¤ˇ¤Ę¤ą¤ě¤Đ¤Ę¤ę¤Ţ¤ť¤óĄŁ&prompt.root; make -DNO_PROFILE installworld¤â¤ˇ¤˝¤Ś¤ˇ¤Ę¤Ť¤Ă¤żžěšçĄ˘
make buildworld ¤ÎĂĘłŹ¤Çš˝Ăۤľ¤ě¤Ć¤¤¤Ę¤¤
Ľ×ĽíĽŐĽĄĽ¤ĽëČǼ鼤ĽÖĽéĽę¤ňĽ¤ĽóĽšĽČĄźĽë¤ˇ¤č¤Ś¤Č¤ˇ¤Ć¤ˇ¤Ţ¤Ś¤Ç¤ˇ¤ç¤ŚĄŁmake installworld ¤Çššżˇ¤ľ¤ě¤Ę¤¤ĽŐĽĄĽ¤Ľë¤ÎššżˇĽˇĽšĽĆĽŕ¤ÎşĆš˝Ăۤϥ˘¤¤¤Ż¤Ä¤Ť¤ÎĽÇĽŁĽěĽŻĽČĽęĄ˘
Ćä˥˘/etc ¤ä
/var ¤ä
/usr ¤Ë¤Ş¤¤¤ĆĄ˘
żˇľŹ¤ËĆłĆţ¤ľ¤ě¤ż¤ęĄ˘ĘŃšš¤ľ¤ě¤żŔßÄęĽŐĽĄĽ¤Ľë¤Ë¤č¤ë
ĽŐĽĄĽ¤Ľë¤Îššżˇ¤ĎšÔ¤Ę¤ď¤ě¤Ţ¤ť¤óĄŁ¤ł¤ě¤é¤ÎĽÇĽŁĽěĽŻĽČĽę¤ÎĽŐĽĄĽ¤Ľë¤ňššżˇ¤š¤ë¤â¤Ă¤Č¤â´ĘĂą¤ĘĘýËĄ¤ĎĄ˘
&man.mergemaster.8; ¤ňťČ¤Ś¤ł¤Č¤Ç¤šĄŁ
ÉŹ¤ş /etc
¤ÎĽĐĽĂĽŻĽ˘ĽĂĽ×¤ňźč¤Ă¤ĆÉÔÂŹ¤ÎťöÂÖ¤ËČ÷¤¨¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁTomRhodes´óšĆ: mergemastermergemaster&man.mergemaster.8; ¤Ď Bourne ĽˇĽ§ĽëĽšĽŻĽęĽ×ĽČ¤ÇĄ˘
/etc
¤Ë¤˘¤ëŔßÄęĽŐĽĄĽ¤Ľë¤ČĽ˝ĄźĽšĽÄĽęĄź¤Î
/usr/src/etc
¤Ë¤˘¤ëŔßÄęĽŐĽĄĽ¤Ľë¤Î°ă¤¤¤ňłÎǧ¤š¤ë¤Î¤ňźęĹÁ¤Ă¤Ć¤Ż¤ě¤Ţ¤šĄŁ
¤ł¤ě¤ňťČ¤Ś¤Î¤ŹĄ˘Ľ˝ĄźĽšĽÄĽęĄź¤Ë¤˘¤ëŔßÄęĽŐĽĄĽ¤Ľë¤ËĽˇĽšĽĆĽŕ¤ÎŔßÄęĽŐĽĄĽ¤Ľë¤ň
ššżˇ¤š¤ë¤ż¤á¤ËżäžŠ¤ľ¤ě¤ëĘýËĄ¤Ç¤šĄŁťĎ¤á¤ë¤Ë¤ĎĄ˘Ľ×ĽíĽóĽ×ĽČ¤Ť¤é
mergemaster ¤ČĆţÎϤˇ¤Ć¤Ż¤Ŕ¤ľ¤¤
mergemaster ¤Ď
/ ¤ňľŻĹŔ¤Č¤ˇ¤ż°ěťţĹŞ¤ĘĽëĄźĽČ´Äś¤ňš˝ĂۤˇĄ˘
¤ľ¤Ţ¤ś¤Ţ¤ĘĽˇĽšĽĆĽŕŔßÄęĽŐĽĄĽ¤Ľë¤ň
(ĚőĂí: ĽÇĽŐĽŠĽëĽČ¤Ç¤Ď /var/tmp/temproot ¤Ë)
ĂÖ¤¤¤Ć¤¤¤¤Ţ¤šĄŁ
¤ł¤ě¤é¤ÎĽŐĽĄĽ¤Ľë¤Ď¸˝şßĽˇĽšĽĆĽŕ¤ËĽ¤ĽóĽšĽČĄźĽë¤ľ¤ě¤Ć¤¤¤ëĽŐĽĄĽ¤Ľë¤ČČćłÓ¤ľ¤ě¤Ţ¤šĄŁ
°Ű¤Ę¤ëĽŐĽĄĽ¤Ľë¤Ď &man.diff.1; ˇÁź°¤Çź¨¤ľ¤ěĄ˘
¤Îľšć¤ĎÄɲäޤż¤ĎĘŃšš¤ľ¤ě¤żšÔ¤ňÉ˝¤ˇĄ˘
¤Ď´°Á´¤Ëşď˝ü¤ľ¤ě¤ż¤Ťżˇ¤ˇ¤ŻĂÖ¤´š¤¨¤é¤ě¤żšÔ¤ňÉ˝¤ˇ¤Ţ¤šĄŁ
&man.diff.1; ¤Î˝ńź°¤ČĽŐĽĄĽ¤Ľë¤Î°ă¤¤¤ÎÉ˝ź¨ĘýËĄ¤Ë¤Ä¤¤¤Ć¤Î¤č¤ęžÜ¤ˇ¤¤žđĘó¤ĎĄ˘
&man.diff.1; ¤ňť˛žČ¤ˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ&man.mergemaster.8; ¤Ď°ă¤¤¤Î¤˘¤ëĽŐĽĄĽ¤Ľë¤ň¤˝¤ě¤ž¤ěꍤˇ¤Ţ¤šĄŁ
żˇ¤ˇ¤¤ĽŐĽĄĽ¤Ľë¤ňşď˝ü¤š¤ë¤ŤĄ˘
°ěťţĽŐĽĄĽ¤Ľë¤ň¤˝¤Î¤Ţ¤ŢĽ¤ĽóĽšĽČĄźĽë¤š¤ë¤ŤĄ˘
°ěťţĽŐĽĄĽ¤Ľë¤Č¸˝şßĽ¤ĽóĽšĽČĄźĽë¤ľ¤ě¤Ć¤¤¤ëĽŐĽĄĽ¤Ľë¤ňĹýšç¤š¤ë¤ŤĄ˘
¤â¤ˇ¤Ż¤Ď &man.diff.1; ¤Îˇë˛Ě¤ň¤â¤Ś°ěĹٸŤ¤ë¤ŤÁŞÂň¤Ç¤¤Ţ¤šĄŁ°ěťţĽŐĽĄĽ¤Ľë¤Îşď˝ü¤ňÁŞ¤Ö¤ČĄ˘&man.mergemaster.8;
¤Ë¸˝şß¤ÎĽŐĽĄĽ¤Ľë¤ňĘŃšš¤ˇ¤Ę¤¤¤Çżˇ¤ˇ¤¤ĽĐĄźĽ¸ĽçĽó¤ňşď˝ü¤ť¤č¤ČĹÁ¤¨¤Ţ¤šĄŁ
¤ł¤ÎÁŞÂň¤ĎĄ˘¸˝şß¤ÎĽŐĽĄĽ¤Ľë¤ňĘŃšš¤š¤ëÍýÍł¤ŹĘʤŤ¤é¤Ę¤¤¤Î¤Ç¤˘¤ě¤ĐĄ˘
¤Ş´Ť¤á¤Ç¤¤Ţ¤ť¤óĄŁ
&man.mergemaster.8; ¤ÎĽ×ĽíĽóĽ×ĽČ¤Ç ? ¤ČĽżĽ¤Ľ×¤š¤ě¤ĐĄ˘
¤¤¤Ä¤Ç¤âĽŘĽëĽ×¤Ź¸Ť¤é¤ě¤Ţ¤šĄŁ
ĽŐĽĄĽ¤Ľë¤ÎĽšĽĽĂĽ×¤ňÁŞ¤Ö¤ČĄ˘Âž¤Î¤š¤Ů¤Ć¤ÎĽŐĽĄĽ¤Ľë¤ň˝Ş¤¨¤ż¤˘¤ČĄ˘
¤â¤Ś°ěĹ٤˝¤ÎĽŐĽĄĽ¤Ľë¤ŹÄ󟨤ľ¤ě¤Ţ¤šĄŁ°ěťţĽŐĽĄĽ¤Ľë¤ň¤˝¤Î¤Ţ¤ŢĽ¤ĽóĽšĽČĄźĽë¤š¤ë¤ł¤Č¤ňÁŞ¤Ö¤ČĄ˘
¸˝şß¤ÎĽŐĽĄĽ¤Ľë¤ňżˇ¤ˇ¤¤ĽŐĽĄĽ¤Ľë¤ÇĂÖ¤´š¤¨¤Ţ¤šĄŁ
¤Ű¤Č¤ó¤É¤Îźę¤ň˛Ă¤¨¤Ć¤¤¤Ę¤¤ĽŐĽĄĽ¤Ľë¤ĎĄ˘
¤ł¤ě¤Ź°ěČ֤褤ÁŞÂň¤Ç¤šĄŁĽŐĽĄĽ¤Ľë¤ÎĹýšç¤ňÁޤó¤ŔžěšçĄ˘
ĽĆĽĽšĽČĽ¨ĽÇĽŁĽż¤ŹľŻĆ°¤ľ¤ěĄ˘ÎžĘý¤ÎĽŐĽĄĽ¤Ľë¤ÎĂćżČ¤ŹÄ󟨤ľ¤ě¤Ţ¤šĄŁ
˛čĚĚžĺ¤ËʤÖΞĘý¤ÎĽŐĽĄĽ¤Ľë¤ň¸Ť¤Ćżˇ¤ˇ¤¤ĽŐĽĄĽ¤Ľë¤ňşîŔޤš¤ë¤ż¤á¤ËΞĘý¤Ť¤éÉŹÍפĘÉôĘŹ¤ňÁŞÂň¤ˇĄ˘
2 ¤Ä¤ÎĽŐĽĄĽ¤Ľë¤ňĹýšç¤š¤ë¤ł¤Č¤Ź¤Ç¤¤Ţ¤šĄŁ
ʤó¤Ç¤¤¤ëĽŐĽĄĽ¤Ľë¤ňČćłÓ¤š¤ë¤Č¤Ą˘
l ¤Çş¸ÂڤÎĂćżČ¤ňÁŞÂň¤ˇĄ˘
r ¤ÇąŚÂڤÎĂćżČ¤ňÁŞÂň¤ˇ¤Ţ¤šĄŁ
şÇ˝Ş˝ĐÎϤϺ¸ąŚÎžĘý¤ÎÉôĘŹ¤Ç¤Ç¤¤żĽŐĽĄĽ¤Ľë¤Ë¤Ę¤ë¤Ç¤ˇ¤ç¤ŚĄŁ
¤ł¤ÎĽŐĽĄĽ¤Ľë¤ňĽ¤ĽóĽšĽČĄźĽë¤š¤ë¤ł¤Č¤Ź¤Ç¤¤Ţ¤šĄŁ
¤ż¤¤¤Ć¤¤Ą˘¤ł¤ÎĽŞĽ×ĽˇĽçĽó¤ĎĽćĄźĽś¤ŹŔßÄę¤ňĘŃšš¤ˇ¤żĽŐĽĄĽ¤Ľë¤ËťČ¤ď¤ě¤Ţ¤šĄŁ&man.diff.1; ¤Îˇë˛Ě¤ň¤â¤Ś°ěĹٸŤ¤ëĄ˘¤ňÁŞÂň¤š¤ë¤ČĄ˘
¤Á¤ç¤Ś¤ÉŔč¤Ű¤É &man.mergemaster.8; ¤ŹÁŞÂňťč¤ňÉ˝ź¨¤š¤ëÁ°¤ČĆą¤¸¤č¤Ś¤ËĄ˘
ĽŐĽĄĽ¤Ľë¤ÎÁę°ŰĹŔ¤ň¸Ť¤ë¤ł¤Č¤Ź¤Ç¤¤Ţ¤šĄŁ&man.mergemaster.8; ¤ŹĽˇĽšĽĆĽŕĽŐĽĄĽ¤Ľë¤ÎČćłÓ¤ň˝Ş¤¨¤ż¤˘¤ČĄ˘
ž¤ÎĽŞĽ×ĽˇĽçĽó¤Ë¤Ä¤¤¤Ć¤âĽ×ĽíĽóĽ×ĽČ¤ŹÉ˝ź¨¤ľ¤ě¤Ţ¤šĄŁ
&man.mergemaster.8;
¤ŹĄ˘ĽŃĽšĽďĄźĽÉĽŐĽĄĽ¤Ľë¤ňşĆš˝Ăۤš¤ë¤Ť¤É¤Ś¤Ť¤ňżŇ¤Í¤ë¤ł¤Č¤Ź¤˘¤ę¤Ţ¤šĄŁ
şÇ¸ĺ¤ËťÄ¤Ă¤ż°ěťţĽŐĽĄĽ¤Ľë¤ňşď˝ü¤š¤ë¤Ť¤É¤Ś¤Ť¤ňżŇ¤Í¤Ć˝ŞÎť¤ˇ¤Ţ¤šĄŁźęư¤Ç¤Îššżˇźęư¤Çššżˇ¤š¤ëžěšç¤Ë¤ĎĄ˘Ăą¤ËĽŐĽĄĽ¤Ľë¤ň
/usr/src/etc
¤Ť¤é /etc ¤Ë
ĽłĽÔĄź¤ˇ¤Ę¤¤¤Ç¤Ż¤Ŕ¤ľ¤¤ĄŁŔľžď¤Ëưşî¤ˇ¤Ę¤¤¤Ç¤ˇ¤ç¤ŚĄŁ
ĽŐĽĄĽ¤Ľë¤ÎĂć¤Ë¤ĎĄ˘
Ľ¤ĽóĽšĽČĄźĽë¤Č¤¤¤Śźę˝ç¤ňƧ¤Ţ¤Ę¤ą¤ě¤Đ¤Ę¤é¤Ę¤¤¤â¤Î
¤Ź´Ţ¤Ţ¤ě¤Ć¤¤¤Ţ¤šĄŁ
/usr/src/etc ¤Ď
/etc
¤Ë¤˝¤Î¤Ţ¤ŢĂÖ¤´š¤¨¤é¤ě¤ë¤č¤Ś¤ĘĽłĽÔĄź¤Ç¤Ď
¤Ę¤¤¤Ť¤é¤Ç¤šĄŁ
¤Ţ¤żĄ˘/etc ¤Ë¤˘¤ë¤Ů¤ĽŐĽĄĽ¤Ľë¤Î¤Ś¤Á¤Ç
/usr/src/etc ¤Ë¤Ę¤¤¤â¤Î¤â¤˘¤ę¤Ţ¤šĄŁ&man.mergemaster.8; ¤ň (´Ť¤á¤é¤ě¤żÄ̤ę)
ťČ¤Ă¤Ć¤¤¤ë¤Î¤Ç¤˘¤ě¤ĐĄ˘źĄ¤ÎŔá
¤Ţ¤ÇČô¤Đ¤ˇ¤Ć¤â¤Ť¤Ţ¤¤¤Ţ¤ť¤óĄŁźęư¤ÇšÔ¤ŚşÝ¤Î°ěČÖ´ĘĂą¤ĘĘýËĄ¤ĎĄ˘
ĽŐĽĄĽ¤Ľë¤ňżˇ¤ˇ¤¤ĽÇĽŁĽěĽŻĽČĽę¤ËĽ¤ĽóĽšĽČĄźĽë¤ˇ¤Ć¤Ť¤éĄ˘
°ĘÁ°¤Î¤â¤Î¤Č°Ű¤Ę¤Ă¤Ć¤¤¤ëÉôĘŹ¤ňÄ´¤Ů¤ĆššżˇşîśČ¤ňšÔ¤Ę¤Ś¤ł¤Č¤Ç¤šĄŁ´ű¸¤Î /etc ¤ňĽĐĽĂĽŻĽ˘ĽĂĽ×¤š¤ë¤ż¤Č¤¨¤Đ°Ę˛ź¤Î¤č¤Ś¤Ë¤ˇ¤ĆĄ˘
´ű¸¤Î /etc
¤ň¤É¤ł¤Ť°ÂÁ´¤Ęžě˝ę¤ËĽłĽÔĄź¤ˇ¤Ć¤Ş¤¤Ţ¤ˇ¤ç¤ŚĄŁ&prompt.root; cp -Rp /etc /etc.old¤ł¤ł¤ÇĄ˘ ¤ĎşĆľ˘ĹŞ¤ĘĽłĽÔĄź¤ňšÔ¤Ę¤¤Ą˘
¤ĎĽŐĽĄĽ¤Ľë¤Îššżˇťţ´Ö¤ä˝ę͟ԤʤɤňĘݸ¤ˇ¤Ţ¤šĄŁżˇ¤ˇ¤¤ /etc
¤ä¤˝¤Îž¤ÎĽŐĽĄĽ¤Ľë¤ňĽ¤ĽóĽšĽČĄźĽë¤š¤ë¤ż¤á¤ÎĄ˘
˛ž¤ÎĽÇĽŁĽěĽŻĽČĽę¤ňşî¤Ă¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ&prompt.root; mkdir /var/tmp/root
&prompt.root; cd /usr/src/etc
&prompt.root; make DESTDIR=/var/tmp/root distrib-dirs distribution
žĺ¤ÎÎă¤ĎĄ˘ÉŹÍ×¤ĘĽÇĽŁĽěĽŻĽČĽęš˝Â¤¤ň¤Ä¤Ż¤ęĄ˘ĽŐĽĄĽ¤Ľë¤ňĽ¤ĽóĽšĽČĄźĽë¤ˇ¤Ţ¤šĄŁ
/var/tmp/root °Ę˛ź¤Ëşî¤é¤ě¤ëĄ˘
¤ż¤Ż¤ľ¤ó¤Îśő¤ÎĽľĽÖĽÇĽŁĽěĽŻĽČĽę¤Ďşď˝ü¤š¤ëÉŹÍפʤ˘¤ę¤Ţ¤šĄŁ
°ěČÖ´ĘĂą¤Ę¤ä¤ęĘý¤ĎĄ˘źĄ¤Î¤Č¤Ş¤ę¤Ç¤šĄŁ&prompt.root; cd /var/tmp/root
&prompt.root; find -d . -type d | xargs rmdir 2>/dev/null¤ł¤ě¤ĎśőĽÇĽŁĽěĽŻĽČĽę¤ň¤š¤Ů¤Ćşď˝ü¤ˇ¤Ţ¤šĄŁ
śő¤Ç¤Ę¤¤ĽÇĽŁĽěĽŻĽČĽę¤Ë´Ř¤š¤ëˇŮšđ¤ňČň¤ą¤ë¤ż¤á¤ËĄ˘
ɸ˝ŕĽ¨ĽéĄź˝ĐÎĎ¤Ď /dev/null ¤Ë
ĽęĽŔĽ¤ĽěĽŻĽČ¤ľ¤ě¤Ţ¤šĄŁ¤ł¤ÎĂĘłŹ¤Î /var/tmp/root ¤Ë¤ĎĄ˘
ËÜÍč /
°Ę˛ź¤Ë¤˘¤ë¤Ů¤ĽŐĽĄĽ¤Ľë¤Ź¤š¤Ů¤Ć´Ţ¤Ţ¤ě¤Ć¤¤¤Ţ¤šĄŁłĆĽŐĽĄĽ¤Ľë¤ň˝ç¤Ë¸Ť¤ĆĄ˘
´ű¸¤ÎĽˇĽšĽĆĽŕ¤Ë¤˘¤ëĽŐĽĄĽ¤Ľë¤Č°Ű¤Ę¤ëÉôĘŹ¤ňÄ´¤Ů¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ/var/tmp/root
°Ę˛ź¤ËĽ¤ĽóĽšĽČĄźĽë¤ľ¤ě¤Ć¤¤¤ëĽŐĽĄĽ¤Ľë¤ÎĂć¤Ë¤ĎĄ˘
. ¤Ť¤éťĎ¤Ţ¤Ă¤Ć¤¤¤ë¤â¤Î¤Ź¤˘¤ę¤Ţ¤šĄŁ
ls -a ¤ňťČ¤Ă¤ĆłÎ¤Ť¤á¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ¤â¤Ă¤Č¤â´ĘĂą¤ĘĘýËĄ¤ĎĄ˘Ćó¤Ä¤ÎĽŐĽĄĽ¤Ľë¤ňČćłÓ¤š¤ëĽłĽŢĽóĽÉ
&man.diff.1; ¤ňťČ¤Ś¤ł¤Č¤Ç¤šĄŁ&prompt.root; diff /etc/shells /var/tmp/root/etc/shells¤ł¤ÎĽłĽŢĽóĽÉ¤ĎĄ˘/etc/shells ĽŐĽĄĽ¤Ľë¤Č
żˇ¤ˇ¤¤ /var/tmp/root/etc/shells
ĽŐĽĄĽ¤Ľë¤Î°Ű¤Ę¤ëÉôĘŹ¤ňÉ˝ź¨¤ˇ¤Ţ¤šĄŁ
ĆâÍƤňłÎǧ¤ˇ¤ĆĄ˘˝ń¤´š¤¨¤ż¤â¤Î¤ËĘŃššĹŔ¤ňĽŢĄźĽ¸¤š¤ë¤ŤĄ˘
¤˝¤ě¤Č¤â´ű¸¤ÎĽŐĽĄĽ¤Ľë¤ňżˇ¤ˇ¤¤¤â¤Î¤Çžĺ˝ń¤¤š¤ë¤Ť¤ňČ˝ĂǤˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁżˇ¤ˇ¤¤ root ĽÇĽŁĽěĽŻĽČĽę
(/var/tmp/root) ¤ÎĚžÁ°¤Ë
ĽżĽ¤ĽŕĽšĽżĽóĽ×¤ňÉŐ¤ą¤Ć¤Ş¤Ż¤ČĄ˘
°Ű¤Ę¤ëĽĐĄźĽ¸ĽçĽó´Ö¤ÎČćłÓ¤ňłÚ¤ËšÔ¤Ę¤Ś¤ł¤Č¤Ź¤Ç¤¤Ţ¤šĄŁÉŃČˤ˼ˇĽšĽĆĽŕ¤ÎşĆš˝ĂۤňšÔ¤Ę¤Ś¤Č¤¤¤Ś¤ł¤Č¤ĎĄ˘
/etc ¤Îššżˇ¤â¤Ţ¤żĄ˘
ÉŃČˤ˚ԤŚÉŹÍפʤ˘¤ë¤Č¤¤¤Ś¤ł¤Č¤Ç¤šĄŁ
¤ł¤ě¤Ď¤Á¤ç¤Ă¤Čźę´Ö¤Î¤Ť¤Ť¤ëşîśČ¤Ç¤šĄŁ¤ł¤ÎşîśČ¤ĎĄ˘¤˘¤Ę¤ż¤Ź /etc
¤ËĽŢĄźĽ¸¤ˇ¤żĄ˘
żˇ¤ˇ¤ŻĘŃšš¤ľ¤ě¤żĽŐĽĄĽ¤Ľë¤ÎşÇżˇ¤ÎĽťĽĂĽČ¤ÎĽłĽÔĄź¤ňĘݸ¤ˇ¤Ć¤Ş¤Ż¤ł¤Č¤Ç
ÁÇÁ᤯šÔ¤Ę¤Ś¤ł¤Č¤Ź¤Ç¤¤Ţ¤šĄŁÉáÄĚ¤Ë make world ¤ˇ¤Ţ¤šĄŁ
/etc ¤ä
ž¤ÎĽÇĽŁĽěĽŻĽČĽę¤ňššżˇ¤ˇ¤ż¤Ż¤Ę¤Ă¤ż¤Č¤¤ĎĄ˘ĽżĄźĽ˛ĽĂĽČ
ĽÇĽŁĽěĽŻĽČĽę¤ËĄ˘¤˝¤Î¤Č¤¤ÎĆüÉդ˴đ¤Ĺ¤ŻĚžÁ°¤ň¤Ä¤ą¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ&prompt.root; mkdir /var/tmp/root-20130214
&prompt.root; cd /usr/src/etc
&prompt.root; make DESTDIR=/var/tmp/root-20130214 \
distrib-dirs distributionžĺ¤ËŔâĚŔ¤ľ¤ě¤Ć¤¤¤ë¤č¤Ś¤ËĄ˘
¤ł¤ÎĽÇĽŁĽěĽŻĽČĽę¤Ť¤éĘŃššĹŔ¤ňĽŢĄźĽ¸¤ˇ¤Ţ¤šĄŁ
¤˝¤ÎşîśČ¤Ź˝ŞÎť¤ˇ¤Ć¤âĄ˘
/var/tmp/root-20130214
¤ňşď˝ü¤ˇ¤Ć¤Ď¤¤¤ą¤Ţ¤ť¤óĄŁşÇżˇČǤμ˝ĄźĽš¤ňĽŔĽŚĽóĽíĄźĽÉ¤ˇ¤ĆşĆš˝Ăۤˇ¤ż¤éĄ˘
ĽšĽĆĽĂĽ× 1 ¤Ë¤ˇ¤ż¤Ź¤Ă¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁşŁĹ٤ϥ˘
żˇ¤ˇ¤¤ĆüÉŐ¤ňČżąÇ¤ˇ¤żĽÇĽŁĽěĽŻĽČĽę¤ňşîŔޤˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ
¤ł¤ÎÎă¤Ç¤ĎĄ˘/var/tmp/root-20130221
¤Č¤¤¤Śżˇ¤ˇ¤¤ĽÇĽŁĽěĽŻĽČĽę¤ň¤Ä¤Ż¤ę¤Ţ¤šĄŁ&man.diff.1; ¤ňťČÍѤˇĄ˘
Ćó¤Ä¤ÎĽÇĽŁĽěĽŻĽČĽę¤ňČćłÓ¤š¤ëşĆľ˘ĹŞ diff ¤ňşîŔޤš¤ë¤ł¤Č¤ÇĄ˘
°ě˝ľ´Ö¤Î´Ö¤ËšÔ¤Ę¤ď¤ě¤żĽ˝ĄźĽš¤Ř¤ÎĘŃšš¤Ë¤č¤ëÁę°ăĹŔ¤ňÄ´¤Ů¤Ţ¤šĄŁ
&prompt.root; cd /var/tmp
&prompt.root; diff -r root-20130214 root-20130221¤ł¤ě¤Ë¤č¤Ă¤ĆĘóšđ¤ľ¤ě¤ëÁę°ăĹŔ¤ĎĄ˘ÂçÄń¤ÎžěšçĄ˘/var/tmp/root-20130221/etc
¤Č
/etc
¤Č¤ÎÁę°ăĹŔ¤ËČć¤Ů¤ĆČóžď¤ËžŻ¤Ę¤¤¤â¤Î¤Ë¤Ę¤ę¤Ţ¤šĄŁ
Áę°ăĹŔ¤ŹžŻ¤Ę¤¤¤ż¤áĄ˘ĘŃššĹŔ¤ň´ű¸¤Î
/etc
¤ËĽŢĄźĽ¸¤š¤ë¤ł¤Č¤ĎĄ˘ČćłÓĹŞÍưפˤʤę¤Ţ¤šĄŁ¤ł¤ł¤Ţ¤Ç˝ŞÎť¤ˇ¤ż¤éĄ˘
/var/tmp/root-*
¤ÎĆó¤Ä¤Î¤Ś¤ÁĄ˘¸Ĺ¤¤Ęý¤ÎĽÇĽŁĽěĽŻĽČĽę¤Ďşď˝ü¤ˇ¤Ćš˝¤¤¤Ţ¤ť¤óĄŁ
&prompt.root; rm -rf /var/tmp/root-20130214¤ł¤ÎšŠÄř¤ňĄ˘
/etc
¤ŘĘŃššĹŔ¤ňĽŢĄźĽ¸¤š¤ëÉŹÍפʤ˘¤ë¤ż¤ÓĄ˘ˇŤ¤ęĘÖ¤ˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁĽÇĽŁĽěĽŻĽČĽęĚž¤ÎŔ¸ŔޤňźŤĆ°˛˝¤š¤ë¤Ë¤ĎĄ˘&man.date.1;
¤ňÍřÍѤˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ&prompt.root; mkdir /var/tmp/root-`date "+%Y%m%d"`AntonShterenlikhtĽŮĄźĽš¤Č¤Ę¤Ă¤żĽÎĄźĽČ¤ÎÄóśĄ: ťČ¤ď¤ě¤Ę¤Ż¤Ę¤Ă¤żĽŐĽĄĽ¤ĽëĄ˘ĽÇĽŁĽěĽŻĽČĽę¤Îşď˝üDeleting obsolete files and directories&os; ¤ÎłŤČŻĽľĽ¤ĽŻĽë¤Ë¤Ş¤¤¤ĆĄ˘
ĽŐĽĄĽ¤Ľë¤äĽˇĽšĽĆĽŕ¤Î°ěÉô¤ŹťČ¤ď¤ě¤Ę¤Ż¤Ę¤ë¤ł¤Č¤Ź¤˘¤ę¤Ţ¤šĄŁ
¤˝¤ě¤é¤ÎľĄÇ˝¤ŹĘ̤Ξě˝ę¤ÇźÂÁő¤ľ¤ě¤ż¤ęĄ˘
ĽéĽ¤ĽÖĽéĽę¤ÎĽĐĄźĽ¸ĽçĽóČ֚椏ĘѤď¤Ă¤ż¤ęĄ˘
ĽˇĽšĽĆĽŕ¤Ť¤é´°Á´¤Ëşď˝ü¤ľ¤ě¤ë¤ł¤Č¤Ź¤˘¤ë¤ż¤á¤Ç¤šĄŁ
ĽˇĽšĽĆĽŕ¤ÎĽ˘ĽĂĽ×ĽÇĄźĽČťţ¤Ëşď˝ü¤ŹÉŹÍפˤʤë¤Î¤ĎĄ˘
¸Ĺ¤¤ĽŐĽĄĽ¤ĽëĄ˘ĽéĽ¤ĽÖĽéĽę¤˝¤ˇ¤ĆĽÇĽŁĽěĽŻĽČĽę¤Ç¤šĄŁ
¤ł¤ě¤é¤ÎĽŐĽĄĽ¤Ľë¤ňşď˝ü¤š¤ë¤ł¤Č¤ÇĄ˘
ľ˛ąÇŢÂΤäĽĐĽĂĽŻĽ˘ĽĂĽ×ÇŢÂΤˤޤ¤¤ĆÉÔÉŹÍפĘÍĆÎ̤ňŔę¤á¤Ć¤¤¤ë¸Ĺ¤¤ĽŐĽĄĽ¤Ľë¤ŹĄ˘
ĽˇĽšĽĆĽŕžĺ¤ËťśÍ𤚤뤳¤Č¤Ź¤Ę¤Ż¤Ę¤ę¤Ţ¤šĄŁ
¤Ţ¤żĄ˘¸Ĺ¤¤ĽéĽ¤ĽÖĽéĽę¤ÎĽťĽĽĺĽęĽĆĽŁ¤ä°ÂÄęŔ¤ËĚäÂꤏ¤˘¤ë¤ČĄ˘
ĽéĽ¤ĽÖĽéĽę¤ňżˇ¤ˇ¤Ż¤ˇ¤ĆĽˇĽšĽĆĽŕ¤ň°ÂÄę¤ĘžőÂ֤ˤˇĄ˘
¸Ĺ¤¤ĽéĽ¤ĽÖĽéĽę¤Ë¤č¤ęĽˇĽšĽĆĽŕ¤ŹĽŻĽéĽĂĽˇĽĺ¤š¤ë¤ł¤Č¤ňËɤʤƤą¤ě¤Đ¤Ę¤ę¤Ţ¤ť¤óĄŁ
ťČ¤ď¤ě¤Ę¤Ż¤Ę¤Ă¤żĽŐĽĄĽ¤ĽëĄ˘ĽÇĽŁĽěĽŻĽČĽęĄ˘ĽéĽ¤ĽÖĽéĽę¤Ď
/usr/src/ObsoleteFiles.inc
¤Ë¤Ţ¤Č¤á¤é¤ě¤Ć¤¤¤Ţ¤šĄŁ°Ę˛ź¤Îźę˝ç¤Ë¤č¤ęĄ˘
Ľ˘ĽĂĽ×Ľ°ĽěĄźĽÉ¤Î˛áÄř¤Ç¤ł¤ě¤é¤ÎĽŐĽĄĽ¤Ľë¤ňşď˝ü¤Ç¤¤Ţ¤šĄŁmake
installworld
¤ČĄ˘¤˝¤Î¸ĺ¤Î mergemaster ¤ŹĚľťö¤Ë˝Ş¤ď¤Ă¤ż¤éĄ˘
°Ę˛ź¤ÎĘýËĄ¤ÇťČ¤ď¤ě¤Ę¤Ż¤Ę¤Ă¤żĽŐĽĄĽ¤Ľë¤äĽéĽ¤ĽÖĽéĽę¤ňłÎǧ¤ˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ&prompt.root; cd /usr/src
&prompt.root; make check-old¸Ť¤Ä¤Ť¤Ă¤ż¸Ĺ¤¤ĽŐĽĄĽ¤Ľë¤ĎĄ˘°Ę˛ź¤ÎĽłĽŢĽóĽÉ¤Çşď˝ü¤Ç¤¤Ţ¤šĄŁ&prompt.root; make delete-old¤˝¤Îž¤ÎĽżĄźĽ˛ĽĂĽČ¤Ë¤Ä¤¤¤Ć¤Ď
/usr/src/Makefile ¤ň¤´Í÷¤Ż¤Ŕ¤ľ¤¤ĄŁťČ¤ď¤ě¤Ę¤Ż¤Ę¤Ă¤żĽŐĽĄĽ¤Ľë¤ňşď˝ü¤š¤ëşÝĄ˘
ĽŐĽĄĽ¤Ľë¤´¤Č¤ËłÎǧ¤Źľá¤á¤é¤ě¤Ţ¤šĄŁ
łÎǧ¤ňžĘÎŹ¤ˇĄ˘źŤĆ°ĹŞ¤ËĽŐĽĄĽ¤Ľë¤ňşď˝ü¤š¤ë¤Ë¤ĎĄ˘
°Ę˛ź¤Î¤č¤Ś¤Ë BATCH_DELETE_OLD_FILES
¤ňŔßÄꤡ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ&prompt.root; make -DBATCH_DELETE_OLD_FILES delete-oldyes
¤ňĽłĽŢĽóĽÉ¤ŘĽŃĽ¤Ľ×¤Ç¤Ä¤Ę¤˛¤Ć¤âžĘÎŹ¤Ç¤¤Ţ¤šĄŁ&prompt.root; yes|make delete-oldşĆľŻĆ°¤š¤Ů¤Ć¤Ź¤˘¤ë¤Ů¤Ŕľ¤ˇ¤¤žě˝ę¤Ë¸şß¤š¤ë¤ł¤Č¤ňĽÁĽ§ĽĂĽŻ¤ˇ¤ż¤éĄ˘
&man.shutdown.8; ¤ňźÂšÔ¤ˇ¤ĆĽˇĽšĽĆĽŕ¤ňşĆľŻĆ°¤ˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ&prompt.root; shutdown -r nowťČ¤ď¤ě¤Ę¤Ż¤Ę¤Ă¤żĽéĽ¤ĽÖĽéĽę¤Îşď˝üWarningťČ¤ď¤ě¤Ę¤Ż¤Ę¤Ă¤żĽŐĽĄĽ¤Ľë¤ňşď˝ü¤š¤ë¤ČĄ˘
şď˝ü¤ˇ¤żĽŐĽĄĽ¤Ľë¤Ë°Í¸¤ˇ¤Ć¤¤¤żĽ˘Ľ×ĽęĽąĄźĽˇĽçĽó¤Ď˛ő¤ě¤Ć¤ˇ¤Ţ¤¤¤Ţ¤šĄŁ
Ćä˥˘¸Ĺ¤¤ĽéĽ¤ĽÖĽéĽę¤ňşď˝ü¤š¤ëžěšç¤ËľŻ¤ł¤ęĆŔ¤Ţ¤šĄŁ
Ä̞異make
delete-old-libs
¤ňźÂšÔ¤š¤ëÁ°¤ËĄ˘
¤ł¤ě¤é¤Î¸Ĺ¤¤ĽéĽ¤ĽÖĽéĽę¤ňťČ¤Ă¤Ć¤¤¤ëĽ×ĽíĽ°ĽéĽŕĄ˘portsĄ˘
ĽéĽ¤ĽÖĽéĽę¤ňşĆš˝Ăۤš¤ëÉŹÍפʤ˘¤ę¤Ţ¤šĄŁśŚÍĽéĽ¤ĽÖĽéĽę¤ňĽÁĽ§ĽĂĽŻ¤š¤ëĽćĄźĽĆĽŁĽęĽĆĽŁ¤Č¤ˇ¤ĆĄ˘
Ports Collection ¤Î sysutils/libchk ¤ä sysutils/bsdadminscripts
¤ňÍřÍѤǤ¤Ţ¤šĄŁťČ¤ď¤ě¤Ę¤Ż¤Ę¤Ă¤żśŚÍĽéĽ¤ĽÖĽéĽę¤ĎĄ˘
żˇ¤ˇ¤¤ĽéĽ¤ĽÖĽéĽę¤ČśĽšç¤ˇĄ˘°Ę˛ź¤Î¤č¤Ś¤ĘĽáĽĂĽťĄźĽ¸¤ňÉ˝ź¨¤š¤ë¤ł¤Č¤Ź¤˘¤ę¤Ţ¤šĄŁ/usr/bin/ld: warning: libz.so.4, needed by /usr/local/lib/libtiff.so, may conflict with libz.so.5
/usr/bin/ld: warning: librpcsvc.so.4, needed by /usr/local/lib/libXext.so, may conflict with librpcsvc.so.5¤ł¤ÎĚäÂę¤ň˛ňˇč¤š¤ë¤Ë¤ĎĄ˘
¤Ţ¤şĽéĽ¤ĽÖĽéĽę¤Ź¤É¤Î port ¤Ë¤č¤Ă¤ĆĽ¤ĽóĽšĽČĄźĽë¤ľ¤ě¤ż¤Ť¤ňÄ´¤Ů¤Ć˛ź¤ľ¤¤ĄŁ&prompt.root; pkg_info -W /usr/local/lib/libtiff.so
/usr/local/lib/libtiff.so was installed by package tiff-3.9.4
&prompt.root; pkg_info -W /usr/local/lib/libXext.so
/usr/local/lib/libXext.so was installed by package libXext-1.1.1,1¸Ť¤Ä¤Ť¤Ă¤ż port ¤ňĽ˘ĽóĽ¤ĽóĽšĽČĄźĽë¤ˇĄ˘
şĆš˝ĂŰĄ˘şĆĽ¤ĽóĽšĽČĄźĽë¤ˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ
¤ł¤Î˛áÄř¤Ď ports-mgmt/portmaster
¤ÇźŤĆ°˛˝¤Ç¤¤Ţ¤šĄŁ
¤š¤Ů¤Ć¤Î ports ¤ŹşĆš˝Ăۤľ¤ěĄ˘
¸Ĺ¤¤ĽéĽ¤ĽÖĽéĽę¤Ź¤É¤ł¤Ë¤âťČ¤ď¤ě¤Ć¤¤¤Ę¤¤¤ł¤Č¤ňłÎǧ¤ˇ¤ż¤éĄ˘
°Ę˛ź¤ÎĽłĽŢĽóĽÉ¤Ç¸Ĺ¤¤ĽéĽ¤ĽÖĽéĽę¤ňşď˝ü¤ˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ&prompt.root; make delete-old-libs¤ł¤ł¤Ţ¤ÇÍč¤ě¤ĐĄ˘&os; ĽˇĽšĽĆĽŕ¤ÎĽ˘ĽĂĽ×Ľ°ĽěĄźĽÉ¤ĎŔޏů¤Ç¤šĄŁ
¤Ş¤á¤Ç¤Č¤Ś¤´¤ś¤¤¤Ţ¤šĄŁ¤â¤ˇ¤Á¤ç¤Ă¤Č¤ˇ¤żĚäÂꤏ¤˘¤Ă¤żžěšç¤Ç¤âĄ˘
ĽˇĽšĽĆĽŕ¤Î°ěÉô¤ňşĆš˝Ăۤš¤ë¤Î¤Ď´ĘĂą¤Ç¤šĄŁ
¤ż¤Č¤¨¤ĐĄ˘Ľ˘ĽĂĽ×Ľ°ĽěĄźĽÉ¤ä /etc
¤ÎĽŢĄźĽ¸¤ÎĹÓĂć¤Ç¸í¤Ă¤Ć
/etc/magic ¤ňşď˝ü¤ˇ¤Ć¤ˇ¤Ţ¤¤Ą˘
¤˝¤Îˇë˛Ě &man.file.1; ¤ŹĆ°şî¤ˇ¤Ę¤Ż¤Ę¤Ă¤Ć¤ˇ¤Ţ¤Ă¤ż¤č¤Ś¤Ęžěšç¤Ë¤ĎĄ˘
źĄ¤ÎĽłĽŢĽóĽÉ¤ňźÂšÔ¤ˇ¤Ć˝¤Éü¤ˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ&prompt.root; cd /usr/src/usr.bin/file
&prompt.root; make all installźÁĚä¤Ç¤š¤Ť?ĘŃšš¤ŹšÔ¤Ę¤ď¤ě¤ż¤éĄ˘¤˝¤ÎĹ٤˼ˇĽšĽĆĽŕ¤ÎşĆš˝ĂۤŹÉŹÍפˤʤë¤Î¤Ç¤ˇ¤ç¤Ś¤Ť?¤˝¤ě¤ĎĘŃšš¤ÎŔźÁ¤Ë¤č¤ë¤Î¤ÇĄ˘¤Ę¤ó¤Č¤â¸Ŕ¤¨¤Ţ¤ť¤óĄŁ
¤ż¤Č¤¨¤ĐĄ˘svn ¤ňźÂšÔ¤ˇ¤ż¤Č¤Ą˘
źĄ¤Ë¤˘¤˛¤ë¤č¤Ś¤ĘĽŐĽĄĽ¤Ľë¤Źššżˇ¤ľ¤ě¤Ć¤¤¤ż¤Č¤ˇ¤Ţ¤šĄŁsrc/games/cribbage/instr.csrc/games/sail/pl_main.csrc/release/sysinstall/config.csrc/release/sysinstall/media.csrc/share/mk/bsd.port.mk¤ł¤Î¤Č¤¤Ë¤ĎĄ˘˛ţ¤á¤ĆĽˇĽšĽĆĽŕÁ´ÂΤňşĆš˝Ăۤš¤ëÉŹÍפϤʤ¤¤Ç¤ˇ¤ç¤ŚĄŁ
¤˝¤Î¤Ť¤ď¤ęĄ˘ĹŹŔڤʼľĽÖĽÇĽŁĽěĽŻĽČĽę¤Ë°Ü¤Ă¤Ć
make all install ¤ňšÔ¤Ă¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ
¤ˇ¤Ť¤ˇĄ˘¤ż¤Č¤¨¤Đ src/lib/libc/stdlib
¤Î¤č¤Ś¤ĘÂ礤ĘĘŃšš¤ŹšÔ¤Ę¤ď¤ě¤żžěšç¤Ë¤ĎĄ˘
ĽˇĽšĽĆĽŕÁ´ÂΤňşĆš˝Ăۤš¤ë¤ŤĄ˘
žŻ¤Ę¤Ż¤Č¤âŔĹĹŞ¤ËĽęĽóĽŻ¤ľ¤ě¤Ć¤¤¤ë¤â¤Î¤ňşî¤ęÄž¤šÉŹÍפʤ˘¤ę¤Ţ¤šĄŁˇëśÉ¤Î¤Č¤ł¤íĄ˘
¤É¤ÎťţĹŔ¤Ç¸˝şß¤ÎĽˇĽšĽĆĽŕ¤ňĽ˘ĽĂĽ×Ľ°ĽěĄźĽÉ¤š¤ë¤Ť¤Ď¤˘¤Ę¤ż¤Źˇč¤á¤ë¤ł¤Č¤Ç¤šĄŁ
2 ˝ľ´Ö¤´¤Č¤ËĽˇĽšĽĆĽŕ¤ňşĆš˝ĂۤˇĄ˘¤˝¤Î 2 ˝ľ´Ö¤ÎĘŃšš¤ňźč¤ęšţ¤ŕĽćĄźĽś¤â¤¤¤Ţ¤š¤ˇĄ˘
ĘŃšš¤Î¤˘¤Ă¤żÉôĘŹ¤Ŕ¤ąşĆš˝ĂۤˇĄ˘
¤š¤Ů¤Ć¤Î°Í¸´Řˇ¸¤ňłÎ¤Ť¤á¤ż¤¤¤ČšÍ¤¨¤ëĽćĄźĽś¤â¤¤¤Ţ¤šĄŁ¤˝¤ě¤é¤Ď¤É¤Î¤Ż¤é¤¤¤ÎÉŃĹ٤Ǽ˘ĽĂĽ×Ľ°ĽěĄźĽÉ¤ˇ¤ż¤¤¤ŤĄ˘
¤˝¤ˇ¤Ć &os.stable; ¤Ť &os.current; ¤Î¤É¤Á¤é¤ňÄɤ¤¤Ť¤ą¤Ć¤¤¤ë¤Î¤Ť¤Ë¤č¤ę¤Ţ¤šĄŁsignal 11signal 11
(¤â¤ˇ¤Ż¤Ďž¤ÎĽˇĽ°ĽĘĽëČÖšć) ¤ÎĽ¨ĽéĄź¤Ź¤ż¤Ż¤ľ¤ó˝Đ¤Ć
ĽłĽóĽŃĽ¤Ľë¤ŹźşÇÔ¤ˇ¤Ţ¤šĄŁ˛ż¤ŹľŻ¤ł¤Ă¤Ć¤¤¤ë¤ó¤Ç¤ˇ¤ç¤Ś¤Ť?¤ł¤ě¤ĎÄ̞異ĽĎĄźĽÉĽŚĽ§Ľ˘¤ËĚäÂꤏ¤˘¤ë¤ł¤Č¤ňꍤˇ¤Ć¤¤¤Ţ¤šĄŁ
ĽˇĽšĽĆĽŕ¤ÎşĆš˝Ăۤϥ˘ĽĎĄźĽÉĽŚĽ§Ľ˘¤ËÂФš¤ëÉé˛ŮÂѾם¤ňšÔ¤Ę¤Ś¤ż¤á¤Î
͸ú¤ĘźęĂʤΰě¤Ä¤ÇĄ˘ĽáĽâĽę¤Ë´Řˇ¸¤š¤ëĚäÂꤏ¤č¤ŻĘóšđ¤ľ¤ě¤Ţ¤šĄŁ
¤˝¤ÎÂçÉôĘŹ¤ĎĄ˘
ÉԲIJň¤Ę°Űžď˝ŞÎť¤Č¤Ę¤ë¤ł¤Č¤ÇČŻ¸Ť¤ľ¤ě¤Ţ¤šĄŁËÜĹö¤Ë¤ł¤ÎĚäÂę¤Ë¤č¤ë¤â¤Î¤Ť¤É¤Ś¤Ť¤ĎĄ˘make
¤ň¤â¤Ś°ěĹٟšԤˇĄ˘
°Ű¤Ę¤ëĂĘłŹ¤Ç°Űžď˝ŞÎť¤ŹČŻŔ¸¤š¤ë¤ŤĄ˘¤Č¤¤¤Ś¤ł¤Č¤Ť¤éłÎǧ¤Ç¤¤Ţ¤šĄŁ¤ł¤ÎĽ¨ĽéĄź¤ËÂĐąţ¤š¤ë¤Ë¤ĎĄ˘ĽŢĽˇĽó¤ÎÉôÉʤň¸ň´š¤ˇ¤ĆĄ˘
¤É¤ÎÉôĘŹ¤Ź°¤¤¤Î¤Ť¤ňÄ´¤Ů¤Ć¤ß¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ˝ŞÎť¤ˇ¤ż¤é /usr/obj
¤ňşď˝ü¤ˇ¤Ć¤â¤Ť¤Ţ¤¤¤Ţ¤ť¤ó¤Ť?°ě¸Ŕ¤ÇĹú¤¨¤ë¤Ę¤éĄÖşď˝ü¤ˇ¤Ć¤âš˝¤ď¤Ę¤¤Ą×¤Ç¤šĄŁ/usr/obj ¤Ë¤ĎĄ˘
ĽłĽóĽŃĽ¤Ľë¤ÎĂĘłŹ¤ÇŔ¸Ŕޤľ¤ě¤ż
¤š¤Ů¤Ć¤ÎĽŞĽÖĽ¸Ľ§ĽŻĽČĽŐĽĄĽ¤Ľë¤Ź´Ţ¤Ţ¤ě¤Ć¤¤¤Ţ¤šĄŁ
ÄĚžď make buildworld ¤ÎşÇ˝é¤ÎĂĘłŹ¤Ç¤ĎĄ˘
¤ł¤ÎĽÇĽŁĽěĽŻĽČĽę¤ňşď˝ü¤ˇ¤Ćżˇ¤ˇ¤Ż¤Ä¤Ż¤ęÄž¤š¤č¤Ś¤Ë¤Ę¤Ă¤Ć¤¤¤Ţ¤šĄŁ
š˝ĂŰ˝ŞÎť¸ĺ¤â /usr/obj
¤ňĘݸ¤ˇ¤Ć¤Ş¤¤¤Ć¤âĄ˘¤˘¤Ţ¤ę°ŐĚŁ¤Ď¤˘¤ę¤Ţ¤ť¤óĄŁ
şď˝ü¤š¤ě¤ĐĄ˘¤Ŕ¤¤¤ż¤¤ 2 GB
¤ÎĽÇĽŁĽšĽŻĽšĽÚĄźĽš¤ň˛ňĘü¤š¤ë¤ł¤Č¤Ź¤Ç¤¤Ţ¤šĄŁÎɤŻÍý˛ň¤ň¤ˇ¤Ć¤¤¤ëĽćĄźĽś¤Ç¤˘¤ě¤ĐĄ˘
¤ł¤ÎĂĘłŹ¤ňžĘÎŹ¤ˇ¤Ć make buildworld
¤ňšÔ¤Ę¤Ś¤ł¤Č¤Ź¤Ç¤¤Ţ¤šĄŁ
¤ł¤Ś¤š¤ë¤ČĄ˘¤Ű¤Č¤ó¤É¤ÎĽ˝ĄźĽš¤ĎşĆĽłĽóĽŃĽ¤Ľë¤ľ¤ě¤Ę¤¤¤ż¤áĄ˘
š˝ĂۤϤŤ¤Ę¤ęšâÂŽ˛˝¤ľ¤ě¤Ţ¤šĄŁ
¤ł¤ě¤Ď΢¤ň¤Ť¤¨¤ť¤ĐĄ˘ĽÇĽęĽąĄźĽČ¤Ę°Í¸´Řˇ¸¤ÎĚäÂę¤Ë¤č¤Ă¤ĆĄ˘
ĽˇĽšĽĆĽŕ¤Îš˝ĂŰ¤Ź´ńĚŻ¤ĘźşÇÔ¤Ë˝Ş¤ď¤ë˛ÄÇ˝Ŕ¤Ź¤˘¤ë¤Č¤¤¤Ś¤ł¤Č¤Ç¤šĄŁ
&os; ĽáĄźĽęĽóĽ°ĽęĽšĽČ¤Ç¤Ď¤ˇ¤Đ¤ˇ¤ĐĄ˘š˝ĂۤΟşÇÔ¤ŹĄ˘
¤ł¤ÎĂĘłŹ¤ÎžĘÎŹ¤Ë¤č¤ë¤â¤Î¤Ŕ¤Č¤¤¤Ś¤ł¤Č¤ňÍý˛ň¤ť¤ş¤Ë
ÉÔËţ¤ÎŔź¤ň¤˘¤˛¤ëżÍ¤Ź¤¤¤Ţ¤šĄŁš˝ĂۤňĂćĂǤˇ¤żžěšçĄ˘¤˝¤Îš˝ĂۤňĹÓĂ植¤éşĆłŤ¤š¤ë¤ł¤Č¤Ď¤Ç¤¤Ţ¤š¤Ť?¤˝¤ě¤ĎĄ˘ĚäÂꤏľŻ¤ł¤ë¤Ţ¤Ç¤ËĄ˘
¤É¤ě¤Ŕ¤ą¤ÎşîśČ¤ň˝Ş¤¨¤Ć¤¤¤ë¤Ť¤Ë¤č¤Ă¤ĆĘѤď¤ę¤Ţ¤šĄŁ°ěČĚĹŞ¤Ë make buildworld ¤ĎĄ˘
&man.gcc.1; ¤ä &man.make.1; ¤Ţ¤É¤Î´đËÜĹŞ¤ĘĽÄĄźĽë¤äĄ˘
ĽˇĽšĽĆĽŕĽéĽ¤ĽÖĽéĽę¤Îżˇ¤ˇ¤¤ĽłĽÔĄź¤ňşîŔޤˇ¤Ţ¤šĄŁ
¤˝¤Î¸ĺĄ˘¤ł¤ě¤é¤ÎĽÄĄźĽë¤äĽéĽ¤ĽÖĽéĽę¤ŹĽ¤ĽóĽšĽČĄźĽë¤ľ¤ě¤Ć¤Ť¤éĄ˘
źŤĘŹźŤżČ¤ÎşĆš˝Ăۤ˝Ȥď¤ěĄ˘¤â¤Ś°ěĹŮĄ˘Ľ¤ĽóĽšĽČĄźĽë¤ľ¤ě¤Ţ¤šĄŁ
&man.ls.1; ¤ä &man.grep.1;
¤Č¤¤¤Ă¤żÉ¸˝ŕĹŞ¤ĘĽćĄźĽśĽ×ĽíĽ°ĽéĽŕ¤ň´Ţ¤ŕĽˇĽšĽĆĽŕÁ´ÂÎ¤ŹĄ˘
¤˝¤Îżˇ¤ˇ¤¤ĽˇĽšĽĆĽŕĽŐĽĄĽ¤Ľë¤ňÍѤ¤¤Ćşî¤ęÄž¤ľ¤ě¤Ţ¤šĄŁşĆš˝ĂۤκǽŞĂĘłŹ¤Ç¤ĎĄ˘
¤Ţ¤Ă¤ż¤Ż°ÂÁ´¤ËźĄ¤Î¤č¤Ś¤Ë¤š¤ë¤ł¤Č¤Ź¤Ç¤¤Ţ¤šĄŁ… fix the problem …
&prompt.root; cd /usr/src
&prompt.root; make -DNO_CLEAN all
¤ł¤ě¤ĎĄ˘Á°˛ó¤Î make buildworld
¤ÎşîśČ¤ň¤ä¤ęÄž¤ˇ¤Ţ¤ť¤óĄŁ
źĄ¤ÎĽáĽĂĽťĄźĽ¸--------------------------------------------------------------
Building everything..
--------------------------------------------------------------¤Ź make buildworld ¤Î˝ĐÎϤˤ˘¤ëžěšç¤Ë¤ĎĄ˘
žĺ¤Î¤č¤Ś¤Ë¤ˇ¤Ć¤â¤Ű¤Č¤ó¤É°ąĆśÁ¤Ź¸˝¤ě¤ë¤ł¤Č¤Ď¤˘¤ę¤Ţ¤ť¤óĄŁ¤â¤ˇ¤ł¤ÎĽáĽĂĽťĄźĽ¸¤Ź¤Ę¤¤¤Č¤ŤĄ˘¤č¤ŻĘʤŤ¤é¤Ę¤¤¤Č¤¤¤Śžěšç¤Ë¤ĎĄ˘
°ÂÁ´¤ňłÎĘݤˇĄ˘¸ĺ˛ů¤š¤ë¤č¤Ś¤Ę¤ł¤Č¤Ź¤Ę¤¤¤č¤ŚĄ˘
ĽˇĽšĽĆĽŕ¤ÎşĆš˝ĂۤňşÇ˝é¤Ť¤é¤ä¤ęÄž¤ˇ¤Ţ¤ˇ¤ç¤ŚĄŁ¤É¤Î¤č¤Ś¤Ë¤š¤ě¤Đ make world ¤ňšâÂŽ˛˝¤Ç¤¤Ţ¤š¤Ť?ĽˇĽóĽ°ĽëĽćĄźĽśĽâĄźĽÉ¤Çư¤Ť¤ˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ/usr/src ¤Č
/usr/obj
¤ňĄ˘°Ű¤Ę¤ëĽÇĽŁĽšĽŻžĺ¤ÎĘ̤μռĄĽ¤ĽëĽˇĽšĽĆĽŕ¤ËĂÖ¤¤¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ
¤Ţ¤ż˛ÄÇ˝¤Ę¤é¤ĐĄ˘
°Ű¤Ę¤ëĽÇĽŁĽšĽŻĽłĽóĽČĽíĄźĽé¤ËŔÜÂł¤ľ¤ě¤żĽÇĽŁĽšĽŻ¤ňťČ¤Ă¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ¤ľ¤é¤ËšâÂŽ˛˝¤š¤ë¤Ë¤ĎĄ˘¤ł¤ě¤é¤ÎĽŐĽĄĽ¤ĽëĽˇĽšĽĆĽŕ¤ň
&man.ccd.4; ¤ňťČ¤Ă¤ĆĄ˘
ĘŁżô¤ÎĽÇĽŁĽšĽŻžĺ¤ËĂÖ¤¤¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ/etc/make.conf ¤Ë
NO_PROFILE=true ¤ňĽťĽĂĽČ¤ˇ¤ĆĄ˘
Ľ×ĽíĽŐĽĄĽ¤ĽëČǤκîŔޤňĚľ¸ú˛˝¤ˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ&man.make.1; ¤Ë
¤ňťŘÄꤡ¤ĆĄ˘ĘŁżô¤ÎĽ×ĽíĽťĽš¤ňĘÂÎó¤ËźÂšÔ¤ľ¤ť¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ
¤ł¤ě¤ĎĄ˘Ăą°ě¤ÎĽ×ĽíĽťĽĂĽľ¤Ç¤âĘŁżô¤ÎĽ×ĽíĽťĽĂĽľ¤Ç¤âĄ˘
ĆąÍͤ˲¸ˇĂ¤ňĆŔ¤ë¤ł¤Č¤Ź¤Ç¤¤Ţ¤šĄŁ/usr/src
¤Î¤˘¤ëĽŐĽĄĽ¤ĽëĽˇĽšĽĆĽŕ¤ňĄ˘
ĽŞĽ×ĽˇĽçĽó¤ňÉŐ¤ą¤ĆĽŢĽŚĽóĽČ¤â¤ˇ¤Ż¤ĎşĆĽŢĽŚĽóĽČ¤ˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ
¤ł¤ě¤ĎĄ˘¤˝¤ÎĽŐĽĄĽ¤ĽëĽˇĽšĽĆĽŕ¤Ë¤Ş¤¤¤ĆĄ˘
şÇ¸ĺ¤ËĽ˘ĽŻĽťĽš¤ľ¤ě¤żťţšď¤Î˝ń¤šţ¤ß¤ňÍŢŔФˇ¤Ţ¤šĄŁ
¤Ş¤˝¤é¤ŻĄ˘¤ł¤ÎžđĘó¤ŹÉŹÍפˤʤ뤳¤Č¤Ď¤Ę¤¤¤Ç¤ˇ¤ç¤ŚĄŁ&prompt.root; mount -u -o noatime /usr/srcžĺ¤ÎÎă¤ĎĄ˘
/usr/src
źŤżČ¤ŹĆČΊ¤ˇ¤żĽŐĽĄĽ¤ĽëĽˇĽšĽĆĽŕ¤Ç¤˘¤ë¤ł¤Č¤ňÁŰÄꤡ¤Ć¤¤¤Ţ¤šĄŁ
¤â¤ˇ /usr
¤Î°ěÉô¤Ç¤˘¤ëžěšç¤Ë¤ĎĄ˘
¤Ť¤ď¤ę¤ËĹŹŔÚ¤ĘĽŢĽŚĽóĽČĽÝĽ¤ĽóĽČ¤ňťŘÄꤚ¤ˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ/usr/obj
¤Î¤˘¤ëĽŐĽĄĽ¤ĽëĽˇĽšĽĆĽŕ¤ňĄ˘
ĽŞĽ×ĽˇĽçĽó¤ň¤Ä¤ą¤ĆĽŢĽŚĽóĽČ¤â¤ˇ¤Ż¤ĎşĆĽŢĽŚĽóĽČ¤ˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ
¤ł¤ě¤Ë¤č¤Ă¤ĆĄ˘ĽÇĽŁĽšĽŻ¤Ř¤Î˝ń¤šţ¤ß¤ŹČóĆą´ü¤Ë¤Ę¤ę¤Ţ¤šĄŁ
¤Ä¤Ţ¤ęĄ˘˝ń¤šţ¤ßĚżÎá¤Ď¤š¤°¤Ë´°Îť¤š¤ë¤Î¤ËÂФˇĄ˘
źÂşÝ¤ËĽÇĄźĽż¤ŹĽÇĽŁĽšĽŻ¤Ë˝ń¤šţ¤Ţ¤ě¤ë¤Î¤ĎĄ˘¤˝¤ÎżôÉøĺ¤Ë¤Ę¤ę¤Ţ¤šĄŁ
¤ł¤ě¤Ë¤č¤Ă¤ĆĄ˘˝ń¤šţ¤ß˝čÍý¤Î°ěłç˛˝¤Ź˛ÄÇ˝¤Ë¤Ę¤ë¤ż¤áĄ˘
ˇŕĹŞ¤ĘĽŃĽŐĽŠĄźĽŢĽóĽš¤Î¸ţžĺ¤Ź´üÂԤǤ¤Ţ¤šĄŁ
¤ł¤ÎĽŞĽ×ĽˇĽçĽó¤ňťŘÄꤚ¤ë¤ČĄ˘ĽŐĽĄĽ¤ĽëĽˇĽšĽĆĽŕ¤Ď
˛ő¤ě¤ä¤š¤Ż¤Ę¤Ă¤Ć¤ˇ¤Ţ¤Ś¤ł¤Č¤ËĂí°Ő¤ˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ
¤ł¤ÎĽŞĽ×ĽˇĽçĽó¤ňÉŐ¤ą¤Ć¤¤¤ĆĄ˘ĆÍÁłĹŸť¤ŹÍî¤Á¤żžěšç¤Ë¤ĎĄ˘
şĆľŻĆ°¸ĺ¤ËĽŐĽĄĽ¤ĽëĽˇĽšĽĆĽŕ¤ŹÉüľěÉÔÇ˝¤Ë¤Ę¤ë˛ÄÇ˝Ŕ¤Ź
Čóžď¤Ëšâ¤Ż¤Ę¤ę¤Ţ¤šĄŁ¤â¤ˇĄ˘>/usr/obj
¤ŹĄ˘ĽŐĽĄĽ¤ĽëĽˇĽšĽĆĽŕ¤Ë¤˘¤ëÍŁ°ě¤ÎĽÇĽŁĽěĽŻĽČĽę¤Ç¤˘¤ě¤ĐĄ˘
¤ł¤ě¤ĎĚäÂę¤Ë¤Ę¤ę¤Ţ¤ť¤óĄŁ
¤ˇ¤Ť¤ˇĄ˘ĆएĽŐĽĄĽ¤ĽëĽˇĽšĽĆĽŕ¤ËĄ˘Âž¤ÎľŽ˝Ĺ¤ĘĽÇĄźĽż¤ňĂÖ¤¤¤Ć¤¤¤ë¤Č¤¤Ë¤ĎĄ˘
¤ł¤ÎĽŞĽ×ĽˇĽçĽó¤ň͸ú¤Ë¤š¤ëÁ°¤ËĄ˘
ĽĐĽĂĽŻĽ˘ĽĂĽ×¤ň¤¤Á¤ó¤Čźč¤Ă¤Ć¤Ş¤¤Ţ¤ˇ¤ç¤ŚĄŁ&prompt.root; mount -u -o async /usr/obj¤â¤ˇ /usr/obj
źŤżČ¤ŹĽŐĽĄĽ¤ĽëĽˇĽšĽĆĽŕ¤Ç¤Ę¤¤žěšç¤Ë¤ĎĄ˘
ĹŹŔÚ¤ĘĽŢĽŚĽóĽČĽÝĽ¤ĽóĽČ¤ňťŘ¤š¤č¤Ś¤ËĄ˘
žĺ¤ÎÎă¤ÎĚžÁ°¤ňĂÖ¤´š¤¨¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ¤Ę¤Ë¤Ť°¤¤¤ł¤Č¤Ź¤˘¤Ă¤ż¤é¤É¤Ś¤š¤ě¤Đ¤¤¤¤¤Ç¤š¤Ť?źŤĘŹ¤Î´Äś¤ËÁ°¤ÎĽÓĽëĽÉ¤ÎÍžˇ×¤ĘĽ´Ľß¤ŹťÄ¤Ă¤Ć¤¤¤Ę¤¤¤ł¤Č¤ň¤Ď¤Ă¤¤ę¤ČłÎǧ¤ˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ&prompt.root; chflags -R noschg /usr/obj/usr
&prompt.root; rm -rf /usr/obj/usr
&prompt.root; cd /usr/src
&prompt.root; make cleandir
&prompt.root; make cleandir¤¨¤¨Ą˘make cleandir
¤ĎËÜĹö¤Ë 2 ˛óźÂšÔ¤š¤ë¤Î¤Ç¤šĄŁ¤˝¤ˇ¤ĆĄ˘make buildworld ¤ňšÔ¤¤Ą˘
Á´Ľ×ĽíĽťĽš¤ňşÇ˝é¤Ť¤é¤ä¤ęÄž¤ˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ¤Ţ¤ŔĚäÂꤏ¤˘¤ě¤ĐĄ˘Ľ¨ĽéĄź¤Č uname -a
¤Î˝ĐÎϤň &a.questions; ¤ËÁ÷¤Ă¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ
ŔßÄę¤Ë¤Ä¤¤¤Ć¤ľ¤é¤ËźÁĚ䤾¤ě¤Ć¤âĹú¤¨¤é¤ě¤ë¤č¤ŚÍѰդˇ¤Ć¤Ż¤Ŕ¤ľ¤¤!MikeMeyer´óšĆ: ĘŁżô¤ÎĽŢĽˇĽó¤ÇÄɤ¤¤Ť¤ą¤ëNFSĘŁżô¤ÎĽŢĽˇĽó¤ËĽ¤ĽóĽšĽČĄźĽëĘŁżô¤ÎĽłĽóĽÔĽĺĄźĽż¤ÇĆą¤¸Ľ˝ĄźĽšĽÄĽęĄź¤ňÄɤ¤¤Ť¤ą¤Ć¤¤¤ĆĄ˘
Á´Éô¤ÎĽŢĽˇĽó¤ËĽ˝ĄźĽš¤ňĽŔĽŚĽóĽíĄźĽÉ¤ˇ¤ĆÁ´Éô¤ňşĆš˝Ăۤš¤ë¤Î¤ĎĄ˘
ĽÇĽŁĽšĽŻĽšĽÚĄźĽšĄ˘ĽÍĽĂĽČĽďĄźĽŻÂӰ襢¤˝¤ˇ¤Ć CPU ĽľĽ¤ĽŻĽë¤ÎĚľÂ̝Ȥ¤¤Ç¤šĄŁ
˛ňˇčşö¤Ď 1 ¤Ä¤ÎĽŢĽˇĽó¤ËťĹťö¤Î¤Ű¤Č¤ó¤É¤ň¤ľ¤ťĄ˘
ťÄ¤ę¤ÎĽŢĽˇĽó¤Ď NFS ˇĐÍł¤Ç¤˝¤ě¤ňĽŢĽŚĽóĽČ¤š¤ëĄ˘¤Č¤¤¤Ś¤â¤Î¤Ç¤šĄŁ
¤ł¤ÎĽťĽŻĽˇĽçĽó¤Ç¤Ď¤˝¤Î¤ä¤ęĘý¤ňłľ´Ń¤ˇ¤Ţ¤šĄŁ˝ŕČ÷¤Ţ¤ş˝é¤á¤ËĄ˘ĆएĽĐĽ¤ĽĘĽę¤Çư¤Ť¤˝¤Ś¤Č¤š¤ëĽŢĽˇĽó¤ż¤Á¤ňˇč¤á¤Ţ¤šĄŁ
¤ł¤ÎĽŢĽˇĽó¤ż¤Á¤Î¤ł¤Č¤ňĽÓĽëĽÉĽťĽĂĽČ¤Č¸Ć¤Ó¤Ţ¤šĄŁ
¤˝¤ě¤ž¤ě¤ÎĽŢĽˇĽó¤ĎĽŤĽšĽżĽŕĽŤĄźĽÍĽë¤ňťý¤Ă¤Ć¤¤¤ë¤Ť¤â¤ˇ¤ě¤Ţ¤ť¤ó¤ŹĄ˘
Ćą¤¸ĽćĄźĽśĽéĽóĽÉĽĐĽ¤ĽĘĽę¤ňư¤Ť¤˝¤Ś¤Č¤¤¤Ś¤Î¤Ç¤šĄŁ
¤ł¤ÎĽÓĽëĽÉĽťĽĂĽČ¤Ť¤éĄ˘
ĽÓĽëĽÉĽŢĽˇĽó¤Č¤Ę¤ëĽŢĽˇĽó¤ň 1 ÂćÁŞ¤Ó¤Ţ¤šĄŁ
ĽŮĄźĽšĽˇĽšĽĆĽŕ¤ČĽŤĄźĽÍĽë¤ňš˝Ăۤš¤ë¤Î¤Ď¤ł¤ÎĽŢĽˇĽó¤Ë¤Ę¤ę¤Ţ¤šĄŁ
ÍýÁŰĹŞ¤Ë¤ĎĄ˘¤ł¤ÎĽŢĽˇĽó¤Ď make buildworld
¤Č make buildkernel
¤ňźÂšÔ¤š¤ë¤Î¤Ë˝˝ĘŹ¤Ę CPU ¤ňťý¤Ă¤żÂޤ¤ĽŢĽˇĽó¤Ç¤˘¤ë¤Ů¤¤Ç¤šĄŁ
ĽĆĽšĽČĽŢĽˇĽó¤Č¤Ę¤ë¤Ů¤ĽŢĽˇĽó¤âÁޤó¤Ç¤Ż¤Ŕ¤ľ¤¤ĄŁ
ššżˇ¤ľ¤ě¤żĽ˝ĽŐĽČĽŚĽ§Ľ˘¤ňťČ¤ŚÁ°¤Ë¤˝¤ÎĽŢĽˇĽó¤ÇĽĆĽšĽČ¤š¤ë¤Î¤Ç¤šĄŁ
ĽĆĽšĽČĽŢĽˇĽó¤Ď¤Ť¤Ę¤ęÄš¤¤ťţ´ÖÍî¤Á¤Ć¤¤¤Ć¤â
¤Ŕ¤¤¤¸¤ç¤Ś¤Ö¤ĘĽŢĽˇĽó¤Ç¤˘¤Ă¤ż¤Ű¤Ś¤Ź¤¤¤¤¤Ç¤ˇ¤ç¤ŚĄŁ
ĽÓĽëĽÉĽŢĽˇĽó¤Ç¤â¤Ť¤Ţ¤¤¤Ţ¤ť¤ó¤ŹĄ˘ĽÓĽëĽÉĽŢĽˇĽó¤Ç¤˘¤ëÉŹÍפϤ˘¤ę¤Ţ¤ť¤óĄŁ¤ł¤ÎĽÓĽëĽÉĽťĽĂĽČ¤ÎĽŢĽˇĽó¤Ď¤š¤Ů¤Ć
/usr/obj ¤Č
/usr/src
¤ňĆą¤¸ĽŢĽˇĽó¤ÎĆą¤¸žě˝ę¤Ť¤éĽŢĽŚĽóĽČ¤š¤ëÉŹÍפʤ˘¤ę¤Ţ¤šĄŁ
ÍýÁŰĹŞ¤Ë¤ĎĽÓĽëĽÉĽŢĽˇĽó¤Î 2 ¤Ä¤Î°ă¤ŚĽÉĽéĽ¤ĽÖžĺ¤Ë¤˘¤ë¤Č¤č¤¤¤Î¤Ç¤š¤ŹĄ˘
ĽÓĽëĽÉĽŢĽˇĽó¤Ë NFS ĽŢĽŚĽóĽČ¤ľ¤ě¤Ć¤¤¤Ć¤â¤Ť¤Ţ¤¤¤Ţ¤ť¤óĄŁ
ĽÓĽëĽÉĽťĽĂĽČźŤÂΤŹĘŁżô¤˘¤ëžěšç¤ĎĄ˘
/usr/src
¤Ď¤Ň¤Č¤Ä¤ÎĽÓĽëĽÉĽŢĽˇĽóžĺ¤Ë¤˘¤ë¤Ů¤¤Ç¤šĄŁ
ž¤ÎĽŢĽˇĽó¤Ť¤é¤Ď¤˝¤ě¤ň NFS ĽŢĽŚĽóĽČ¤š¤ë¤č¤Ś¤Ë¤ˇ¤Ţ¤ˇ¤ç¤ŚĄŁşÇ¸ĺ¤ËĽÓĽëĽÉĽťĽĂĽČ¤Î¤š¤Ů¤Ć¤ÎĽŢĽˇĽóžĺ¤Î
/etc/make.conf ¤Č
/etc/src.conf
¤ŹĽÓĽëĽÉĽŢĽˇĽó¤Č°ěĂפˇ¤Ć¤¤¤ë¤ł¤Č¤ňłÎǧ¤ˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ
¤Ä¤Ţ¤ęĄ˘ĽÓĽëĽÉĽŢĽˇĽó¤ĎĽÓĽëĽÉĽťĽĂĽČ¤Î¤É¤ÎĽŢĽˇĽó¤âĽ¤ĽóĽšĽČĄźĽë¤ˇ¤č¤Ś¤Č¤ˇ¤Ć¤¤¤ë
ĽŮĄźĽšĽˇĽšĽĆĽŕ¤ňÁ´ÉôĽÓĽëĽÉ¤ˇ¤Ę¤ą¤ě¤Đ¤Ę¤é¤Ę¤¤¤Č¤¤¤Ś¤ł¤Č¤Ç¤šĄŁ
¤Ţ¤żĄ˘łĆĽÓĽëĽÉĽŢĽˇĽó¤Ď /etc/make.conf
¤Ë¤˝¤ě¤ž¤ě¤ÎĽÓĽëĽÉĽŢĽˇĽó¤ÎĽŤĄźĽÍĽëĚž¤ň
KERNCONF ¤ÇťŘÄꤡĄ˘
ĽÓĽëĽÉĽŢĽˇĽó¤ĎźŤĘŹźŤżČ¤ÎĽŤĄźĽÍĽë¤Ť¤é˝ç¤ËÁ´Éô¤ÎĽŤĄźĽÍĽëĚž¤ň
KERNCONF ¤ËĽęĽšĽČĽ˘ĽĂĽ×¤ˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ
łĆĽŢĽˇĽó¤ÎĽŤĄźĽÍĽë¤âĽÓĽëĽÉ¤š¤ë¤Î¤Ç¤˘¤ě¤ĐĄ˘
ĽÓĽëĽÉĽŢĽˇĽó¤ĎłĆĽŢĽˇĽó¤ÎĽŤĄźĽÍĽëŔßÄęĽŐĽĄĽ¤Ľë¤ň /usr/src/sys/arch/conf
¤Ëťý¤Ă¤Ć¤¤¤Ę¤ą¤ě¤Đ¤Ę¤ę¤Ţ¤ť¤óĄŁĽŮĄźĽšĽˇĽšĽĆĽŕĽÓĽëĽÉĽŢĽˇĽó¤Ë¤ĆĄ˘
¤Ë˝ń¤¤¤Ć¤˘¤ë¤č¤Ś¤ËĽŤĄźĽÍĽë¤ČĽŮĄźĽšĽˇĽšĽĆĽŕ¤ňš˝Ăۤˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ
¤Ç¤âĄ˘¤Ţ¤ŔĽ¤ĽóĽšĽČĄźĽë¤ˇ¤Ę¤¤¤Ç¤Ż¤Ŕ¤ľ¤¤ĄŁ
ĽÓĽëĽÉ¤Ź˝Ş¤ď¤Ă¤ż¤éĄ˘ĽĆĽšĽČĽŢĽˇĽó¤Ë°Ü¤ęĄ˘
ĽÓĽëĽÉ¤ˇ¤żĽŤĄźĽÍĽë¤ňĽ¤ĽóĽšĽČĄźĽë¤ˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ
ĽĆĽšĽČĽŢĽˇĽó¤Ź NFS ˇĐÍł¤Ç
/usr/src ¤Č
/usr/obj
¤ňĽŢĽŚĽóĽČ¤ˇ¤Ć¤¤¤ë¤Ę¤éĄ˘
ĽˇĽóĽ°ĽëĽćĄźĽś¤ÇşĆľŻĆ°¤ˇ¤ż¤Č¤¤ËĽÍĽĂĽČĽďĄźĽŻ¤ňťČ¤¨¤ë¤č¤Ś¤Ë¤ˇ¤ĆĄ˘
¤ł¤ě¤é¤ÎĽÇĽŁĽěĽŻĽČĽę¤ňĽŢĽŚĽóĽČ¤š¤ë¤č¤Ś¤Ë¤ˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ
¤â¤Ă¤Č¤â´ĘĂą¤ĘĘýËĄ¤ĎĄ˘
ĽŢĽëĽÁĽćĄźĽśĽâĄźĽÉ¤ÇľŻĆ°¤ˇ¤ĆĄ˘shutdown now
¤ňźÂšÔ¤ˇ¤ĆĽˇĽóĽ°ĽëĽćĄźĽśĽâĄźĽÉ¤Ë°ÜšÔ¤š¤ë¤ł¤Č¤Ç¤šĄŁ
¤˝¤Ś¤ˇ¤ż¤éĄ˘ĽŤĄźĽÍĽë¤ČĽŮĄźĽšĽˇĽšĽĆĽŕ¤ňĽ¤ĽóĽšĽČĄźĽë¤ˇĄ˘
¤¤¤Ä¤â¤š¤ë¤č¤Ś¤Ë
mergemaster ¤ňźÂšÔ¤ˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ
˝Ş¤ď¤Ă¤ż¤éĄ˘
ĽĆĽšĽČĽŢĽˇĽó¤ňşĆľŻĆ°¤ˇ¤ĆÄĚžď¤ÎĽŢĽëĽÁĽćĄźĽśĆ°şî¤ËĚᤡ¤Ţ¤šĄŁĽĆĽšĽČĽŢĽˇĽó¤Ë¤˘¤ë¤â¤Î¤š¤Ů¤Ć¤Ź¤Á¤ă¤ó¤Čư¤¤¤Ć¤¤¤ëłÎżŽ¤ŹĆŔ¤é¤ě¤ż¤éĄ˘
Ćą¤¸źę˝ç¤ÇĽÓĽëĽÉĽťĽĂĽČ¤Îž¤ÎĽŢĽˇĽó¤Ë¤âżˇ¤ˇ¤¤Ľ˝ĽŐĽČĽŚĽ§Ľ˘¤ňĽ¤ĽóĽšĽČĄźĽë¤ˇ¤Ţ¤šĄŁPortsports ĽÄĽęĄź¤Ë¤âĆą¤¸Ľ˘Ľ¤ĽÇĽ˘¤ŹťČ¤¨¤Ţ¤šĄŁ
şÇ˝é¤Ë˝ĹÍפĘĹŔ¤ĎĄ˘
ĽÓĽëĽÉĽťĽĂĽČ¤Î¤š¤Ů¤Ć¤ÎĽŢĽˇĽó¤ËĆą¤¸ĽŢĽˇĽó¤Î /usr/ports ¤ňĽŢĽŚĽóĽČ¤š¤ë¤ł¤Č¤Ç¤šĄŁ
¤˝¤ˇ¤ĆĄ˘distfiles ¤ňśŚÍ¤š¤ë¤č¤Ś¤Ë
/etc/make.conf ¤ňĹŹŔÚ¤ËŔßÄꤡ¤Ţ¤šĄŁ
NFS ĽŢĽŚĽóĽČ¤Ë¤č¤Ă¤ĆĽŢĽĂĽ×¤ľ¤ě¤ë root
ĽćĄźĽś¤Ź˛ż¤Ç¤˘¤ěĄ˘DISTDIR
¤Ď¤˝¤ÎĽćĄźĽś¤Ź˝ń¤šţ¤á¤ëśŚÄ̤ΜŚÍĽÇĽŁĽěĽŻĽČĽę¤ËŔßÄꤚ¤ëÉŹÍפʤ˘¤ę¤Ţ¤šĄŁ
łĆĽŢĽˇĽó¤Ď WRKDIRPREFIX
¤ňźŤĘŹ¤ÎĽŢĽˇĽó¤ÎĽÓĽëĽÉĽÇĽŁĽěĽŻĽČĽę¤ËŔßÄꤡ¤Ę¤ą¤ě¤Đ¤Ę¤ę¤Ţ¤ť¤óĄŁ
şÇ¸ĺ¤ËĄ˘packages ¤ňĽÓĽëĽÉ¤ˇ¤ĆÇŰÉۤš¤ë¤Î¤Ç¤˘¤ě¤ĐĄ˘
DISTDIR ¤ČĆą¤¸¤č¤Ś¤Ë
PACKAGES ĽÇĽŁĽěĽŻĽČĽę¤âŔßÄꤡ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ
diff --git a/ja_JP.eucJP/books/handbook/mail/chapter.xml b/ja_JP.eucJP/books/handbook/mail/chapter.xml
index 5725f0975e..624cdf6b9e 100644
--- a/ja_JP.eucJP/books/handbook/mail/chapter.xml
+++ b/ja_JP.eucJP/books/handbook/mail/chapter.xml
@@ -1,1527 +1,1526 @@
BillLloyd¸śşî: JimMock˛ţÄű: ĹŝҼᥟĽëĚő: &a.jp.mihoko;. 14 January 1997.¤ł¤ÎžĎ¤Ç¤ĎemailĹŝҼᥟĽëĹŝҼᥟĽëĄ˘email ¤Č¤ˇ¤Ć¤Î¤Ű¤Ś¤ŹĂΤé¤ě¤Ć¤¤¤ë¤Ç¤ˇ¤ç¤ŚĄ˘
¤Ď¸˝Âĺ¤ÇşÇ¤âš¤ŻÍřÍѤľ¤ě¤Ć¤¤¤ëĽłĽßĽĺĽËĽąĄźĽˇĽçĽóźęĂʤΰě¤Ä¤Ç¤šĄŁ
¤ł¤ÎžĎ¤Ç¤Ď FreeBSD žĺ¤ÇĽáĄźĽëĽľĄźĽĐ¤ňźÂšÔ¤š¤ë¤ż¤á¤Î´đËÜĹŞ¤ĘĆłĆţ¤ňŔâĚŔ¤ˇ¤Ţ¤šĄŁ
¤ˇ¤Ť¤ˇĄ˘¤ł¤Îʸ˝ń¤Ď´°ŕú¤Ęť˛šÍʸ¸Ľ¤Ç¤Ď¤Ę¤ŻĄ˘
źÂşÝ¤Î¤Č¤ł¤íšÍθ¤š¤Ů¤˝ĹÍפĘĹŔ¤ÎÂż¤Ż¤ŹžĘÎŹ¤ľ¤ě¤Ć¤¤¤Ţ¤šĄŁ
¤ł¤Îˇď¤Ë¤Ä¤¤¤ĆĄ˘¤č¤ęĚÖÍ夡¤ż¤â¤Î¤Ë¤Ä¤¤¤Ć¤Ď
¤ËˇÇşÜ¤ľ¤ě¤Ć¤¤¤ëÂż¤Ż¤ÎÍĽ¤ě¤ż˝ńŔҤňť˛žČ¤ˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ¤ł¤ÎžĎ¤Ç¤ĎĄ˘°Ę˛ź¤ÎĘŹĚî¤Ë¤Ä¤¤¤ĆŔâĚŔ¤ˇ¤Ţ¤šĄŁĹŝҼᥟĽë¤ÎÁ÷źőżŽ¤Ë´Řˇ¸¤ˇ¤Ć¤¤¤ëĽ˝ĽŐĽČĽŚĽ§Ľ˘¤Îš˝ŔŽÍ×ÁÇFreeBSD ¤Ë¤Ş¤ą¤ë sendmail
¤Î´đËÜĹŞ¤ĘŔßÄęĽŐĽĄĽ¤Ľë¤Î¤˘¤ëžě˝ęĽšĽŃĽŢĄź¤Ź¤˘¤Ę¤ż¤ÎĽáĄźĽëĽľĄźĽĐ¤ňƧÂć¤Č¤ˇ¤ĆÉÔŔľ¤ËťČÍѤš¤ë¤ł¤Č¤ňËɤ°ĘýËĄ¤˘¤Ę¤ż¤ÎĽˇĽšĽĆĽŕ¤Ë sendmail
¤ÎĂÖ¤´š¤¨¤Č¤Ę¤ëÂĺÂؤΠMTA ¤ňĽ¤ĽóĽšĽČĄźĽë¤ˇ¤ĆŔßÄꤚ¤ëĘýËĄĽáĄźĽëĽľĄźĽĐ¤Ë¤Ţ¤Ä¤ď¤ëśŚÄ̤ÎĚäÂę¤Î˛ňˇčËĄUUCP ¤Č¤Č¤â¤Ë SMTP ¤ňťČ¤ŚĘýËĄĽŔĽ¤Ľ˘ĽëĽ˘ĽĂĽ×ŔÜÂł¤ÇĽáĄźĽë¤ňťČ¤ŚĘýËĄĽťĽĽĺĽęĽĆĽŁ¤ň¸ţžĺ¤š¤ë¤ż¤á¤Ë SMTP ǧžÚ¤ňŔßÄꤚ¤ëĘýËĄ¤ł¤ÎžĎ¤ňĆɤŕÁ°¤ËĄ˘°Ę˛ź¤Î¤ł¤Č¤ňÍý˛ň¤ˇ¤Ć¤Ş¤ŻÉŹÍפʤ˘¤ę¤Ţ¤šĄŁĽÍĽĂĽČĽďĄźĽŻŔÜÂł¤ÎĹŹŔÚ¤ĘŔßÄęĘýËĄ
()¤˘¤Ę¤ż¤ÎĽáĄźĽëĽŰĽšĽČ¤ËÂФš¤ë DNS žđĘó¤ÎĹŹŔÚ¤ĘŔßÄęĘýËĄ
()ĽľĄźĽÉĽŃĄźĽĆĽŁŔ˝Ľ˝ĽŐĽČĽŚĽ§Ľ˘¤ÎĽ¤ĽóĽšĽČĄźĽëĘýËĄ
()ĹŝҼᥟĽë¤ňťČ¤ŚPOPIMAPDNSemail ¤Î¸ň´š¤Ë¤Ď 5 ¤Ä¤ÎźçÍפĘÉôĘŹ¤Ź¤˘¤ę¤Ţ¤šĄŁ
¤˝¤ě¤é¤Ď ĽćĄźĽśĄźĽ×ĽíĽ°ĽéĽŕĄ˘
ĽľĄźĽĐĄźĽÇĄźĽâĽóĄ˘
DNSĄ˘
POP ¤â¤ˇ¤Ż¤Ď IMAP ¤ÎĽÇĄźĽâĽóĄ˘
¤˝¤ˇ¤Ć¤â¤Á¤í¤ó ĽáĄźĽëĽŰĽšĽČ¤Ç¤šĄŁĽćĄźĽśĄźĽ×ĽíĽ°ĽéĽŕ¤¤¤Ż¤Ä¤ŤĚžÁ°¤ňľó¤˛¤ě¤ĐĄ˘
mutt, pine,
elm ¤˝¤ˇ¤Ć
mail
¤Č¤¤¤Ă¤żĽłĽŢĽóĽÉĽéĽ¤ĽóĽ×ĽíĽ°ĽéĽŕ¤ä
balsa,
xfmail ¤Î¤č¤Ś¤Ę
GUI Ľ×ĽíĽ°ĽéĽŕĄ˘WWW ĽÖĽéĽŚĽśĄź¤Î¤č¤Ś¤Ë¤ľ¤é¤Ë ŔöÎý¤ľ¤ě¤ż ¤â¤Î¤Ţ¤Ç¤˘¤ę¤Ţ¤šĄŁ
¤ł¤ě¤é¤ÎĽ×ĽíĽ°ĽéĽŕ¤ĎĄ˘email ¤Î˝čÍý¤ň
server daemons ¤ň¸Ć¤Ó˝Đ¤ˇ¤ż¤ę
TCP ˇĐÍł¤ÇĹϤˇ¤ż¤ęĄ˘¤Č¤¤¤Ă¤żźęĂĘ¤ÇĽíĄźĽŤĽë¤Î
ĽáĄźĽëĽŰĽšĽČ ¤ËǤ¤ť¤ë¤Ŕ¤ą¤Ç¤šĄŁĽáĄźĽëĽŰĽšĽČĽľĄźĽĐĽÇĄźĽâĽóĽáĄźĽëĽľĄźĽĐĽÇĄźĽâĽósendmailĽáĄźĽëĽľĄźĽĐĽÇĄźĽâĽópostfixĽáĄźĽëĽľĄźĽĐĽÇĄźĽâĽóqmailĽáĄźĽëĽľĄźĽĐĽÇĄźĽâĽóeximÄ̞異¤ł¤ě¤Ď sendmail
(FreeBSD ¤ÎĽÇĽŐĽŠĽëĽČ) ¤ä qmail,
postfix ¤â¤ˇ¤Ż¤Ď
exim
¤Č¤¤¤Ă¤żÂž¤ÎĽáĄźĽëĽľĄźĽĐĄźĽÇĄźĽâĽó¤Î°ě¤Ä¤Ç¤šĄŁ
ž¤Ë¤â¤˘¤ë¤Î¤Ç¤š¤ŹĄ˘°Ęžĺ¤Î¤â¤Î¤Źš¤ŻťČ¤ď¤ě¤Ć¤¤¤Ţ¤šĄŁĽľĄźĽĐĄźĽÇĄźĽâĽó¤ĎÄĚžď 2 ¤Ä¤ÎľĄÇ˝ —
¤ä¤Ă¤Ć¤Ż¤ëĽáĄźĽë¤ňźő¤ąźč¤ë¤Î¤Č˝Đ¤Ć¤¤¤ŻĽáĄźĽë¤ňÇŰÁ÷¤š¤ëĄ˘
¤ňťý¤Ă¤Ć¤¤¤Ţ¤šĄŁĽáĄźĽë¤ňĆɤि¤á¤Ë POP ¤ä IMAP ¤ÇŔÜÂł¤š¤ëĄ˘
¤Č¤¤¤Ś¤ł¤Č¤Ď¤Ç¤¤Ţ¤ť¤óĄŁ
¤˝¤Î¤ż¤á¤Ë¤Ď¤â¤Ś°ě¤ÄĽÇĄźĽâĽó¤ŹÉŹÍ×¤Ę¤Î¤Ç¤šĄŁ¤¤¤Ż¤Ä¤Ť¤Î¸Ĺ¤¤ĽĐĄźĽ¸ĽçĽó¤Î sendmail
¤Ë¤Ďżźšď¤ĘĽťĽĽĺĽęĽĆĽŁĚäÂꤏ¤˘¤ę¤Ţ¤š¤ŹĄ˘
¸˝şß¤ÎĽĐĄźĽ¸ĽçĽó¤ňťČ¤Ă¤Ć¤¤¤ě¤ĐĆäËĚäÂę¤Ę¤¤¤ł¤Č¤ËĂí°Ő¤ˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ
Îă¤Î¤´¤Č¤ŻĄ˘
¤É¤ó¤ĘĽ˝ĽŐĽČĽŚĽ§Ľ˘¤ňÍřÍѤš¤ëťţ¤Ë¤âşÇżˇ¤ÎžőÂ֤ˤˇ¤Ć¤Ş¤Ż¤Î¤ŹÂçťö¤Ę¤Î¤Ç¤šĄŁEmail ¤Č DNSDomain Name System (DNS) ¤Č¤˝¤ÎĽÇĄźĽâĽó¤Ç¤˘¤ë
named ¤Ď email ¤ÎÇŰÁ÷¤Ë¤Ş¤¤¤ĆÂçĘŃ˝ĹÍפĘĚňłä¤ňĂ´¤Ă¤Ć¤Ţ¤šĄŁ
¤˘¤Ę¤ż¤ÎĽľĽ¤ĽČ¤Ť¤é¤â¤Ś°ě¤Ä¤ÎĽľĽ¤ĽČ¤ŘĽáĄźĽë¤ňÇŰÁ÷¤š¤ë¤ż¤á¤Ë¤ĎĄ˘
ĽľĄźĽĐĄźĽÇĄźĽâĽó¤Ď DNS ¤Ť¤é¤˝¤ÎĽľĽ¤ĽČ¤ňĂľ¤ˇĄ˘
ĽáĄźĽë¤Îźő¤ąźč¤ęŔč¤ÎĽŰĽšĽČ¤ňˇčÄꤡ¤Ţ¤šĄŁĽáĄźĽë¤Ź¤˘¤Ę¤ż¤ËÁ÷¤é¤ě¤żžěšç¤Ë¤âĆą¤¸¤č¤Ś¤ĘťĹÁȤߤˤʤäƤ¤¤Ţ¤šĄŁ
DNS ¤Ë¤ĎĽŰĽšĽČĚž¤Č IP Ľ˘ĽÉĽěĽšĄ˘ĽŰĽšĽČĚž¤ČĽáĄźĽëĽŰĽšĽČ¤ňĽŢĽĂĽÔĽóĽ°¤š¤ëĽÇĄźĽżĽŮĄźĽš¤Ź¤˘¤ę¤Ţ¤šĄŁ
IP Ľ˘ĽÉĽěĽš¤Ď A ĽěĽłĄźĽÉ¤ÇťŘÄꤾ¤ě¤Ţ¤šĄŁ
MX (Mail eXchanger) ĽěĽłĄźĽÉ¤Ď¤˘¤Ę¤ż°¸¤ÎĽáĄźĽë¤ňźő¤ąźč¤ëĽŰĽšĽČ¤ňťŘÄꤡ¤Ţ¤šĄŁ
¤˘¤Ę¤ż¤ÎĽŰĽšĽČĚž¤ËÂФš¤ë MX ĽěĽłĄźĽÉ¤Ź¤Ę¤¤žěšç¤Ë¤ĎĄ˘
ĽáĄźĽë¤ĎÄžŔܤ˘¤Ę¤ż¤ÎĽŰĽšĽČ¤ËÇŰÁ÷¤ľ¤ě¤Ţ¤šĄŁĽáĄźĽë¤Îźő¤ąźč¤ęemailźő¤ąźč¤ęĽáĄźĽë¤ĎĽáĄźĽëĽŰĽšĽČ¤Źźő¤ąźč¤ę¤Ţ¤šĄŁ
¤ł¤ÎĽŰĽšĽČ¤ĎÁ÷¤é¤ě¤Ć¤¤żĽáĄźĽë¤ň˝¸¤áĄ˘
(ĽćĄźĽśĄź¤Ź) Ćɤó¤Ŕ¤ęĽÔĽĂĽŻĽ˘ĽĂĽ×¤ˇ¤ż¤ę¤š¤ë¤ż¤á¤ËĘݸ¤ˇ¤Ţ¤šĄŁ
Ęݸ¤ľ¤ě¤Ć¤¤¤ëĽáĄźĽë¤ňĽÔĽĂĽŻĽ˘ĽĂĽ×¤š¤ë¤Ë¤ĎĽáĄźĽëĽŰĽšĽČ¤ËŔÜÂł¤š¤ëÉŹÍפʤ˘¤ę¤Ţ¤šĄŁ
¤ł¤ě¤Ď POP ¤ä IMAP ¤ňÍѤ¤¤ĆšÔ¤Ę¤ď¤ě¤Ţ¤šĄŁ
ĽáĄźĽëĽŰĽšĽČžĺ¤ÇÄžŔܼᥟĽë¤ňĆɤߤż¤¤ťţ¤Ď POP ¤ä IMAP ¤ÎĽľĄźĽĐĄź¤ĎÉŹÍפ˘¤ę¤Ţ¤ť¤óĄŁPOPIMAPPOP ¤ä IMAP ¤ÎĽľĄźĽĐĄź¤ňÁö¤é¤ť¤ë¤ż¤á¤Ë¤Ď 2 ¤Ä¤Î¤ł¤Č¤ň¤ä¤é¤Ę¤ą¤ě¤Đ¤¤¤ą¤Ţ¤ť¤óĄŁPOP ¤ä IMAP ¤ÎĽÇĄźĽâĽó¤ň ports ĽłĽěĽŻĽˇĽçĽó ¤Ť¤éĽ¤ĽóĽšĽČĄźĽë¤ˇ¤Ţ¤šĄŁ/etc/inetd.conf ¤ň˝¤Ŕľ¤ˇ¤Ć POP ¤ä IMAP ¤ÎĽľĄźĽĐĄź¤ŹľŻĆ°¤ľ¤ě¤ë¤č¤Ś¤ËŔßÄꤡ¤Ţ¤šĄŁĽáĄźĽëĽŰĽšĽČĽáĄźĽëĽŰĽšĽČĽáĄźĽëĽŰĽšĽČ¤Č¤ĎŔŐǤ¤ň¤â¤Ă¤ĆĽáĄźĽë¤ňÇŰÁ÷¤ˇ¤ż¤ęĄ˘
¤˘¤Ę¤ż¤ÎĽŰĽšĽČ¤äĄ˘¤â¤ˇ¤Ť¤š¤ëĽÍĽĂĽČĽďĄźĽŻ¤âĄ˘¤Ë°¸¤Ć¤żĽáĄźĽë¤ňźő¤ąźč¤Ă¤ż¤ę¤š¤ëĽŰĽšĽČ¤ËÍż¤¨¤é¤ě¤ëĚžÁ°¤Ç¤šĄŁChristopherShumway´óšĆ: sendmail ¤ÎŔßÄęsendmail&man.sendmail.8; ¤Ď FreeBSD ¤ÎĽÇĽŐĽŠĽëĽČ¤Î
ĽáĄźĽëĽČĽéĽóĽšĽŐĽĄĽ¨ĄźĽ¸Ľ§ĽóĽČ (MTA) ¤Ç¤šĄŁ
sendmail
¤ÎťĹťö¤ĎĽáĄźĽëĽćĄźĽśĽ¨ĄźĽ¸Ľ§ĽóĽČ (MUA) ¤Ť¤é¤ÎĽáĄźĽë¤ňźő¤ąźč¤ęĄ˘
¤˝¤ě¤ňŔßÄęĽŐĽĄĽ¤Ľë¤ÇÄęľÁ¤ľ¤ě¤żĹŹĹö¤ĘĽáĄźĽé¤ËĆϤą¤ë¤ł¤Č¤Ç¤šĄŁ
sendmail ¤ĎĽÍĽĂĽČĽďĄźĽŻŔÜÂł¤ňźő¤ąĆţ¤ě¤ĆĄ˘
ĽíĄźĽŤĽë¤ÎĽáĄźĽëĽÜĽĂĽŻĽš¤ËĽáĄźĽë¤ňĆĎ¤ą¤ż¤ę
ĘĚ¤ÎĽ×ĽíĽ°ĽéĽŕ¤ËĽáĄźĽë¤ňĹϤˇ¤ż¤ę¤â¤Ç¤¤Ţ¤šĄŁsendmail ¤ĎźĄ¤ÎŔßÄęĽŐĽĄĽ¤Ľë¤ňťČÍѤˇ¤Ţ¤šĄŁ/etc/mail/access/etc/mail/aliases/etc/mail/local-host-names/etc/mail/mailer.conf/etc/mail/mailertable/etc/mail/sendmail.cf/etc/mail/virtusertableĽŐĽĄĽ¤ĽëĚžľĄÇ˝/etc/mail/accesssendmail Ľ˘ĽŻĽťĽšĽÇĄźĽżĽŮĄźĽšĽŐĽĄĽ¤Ľë/etc/mail/aliasesĽáĄźĽëĽÜĽĂĽŻĽšĽ¨Ľ¤ĽęĽ˘Ľš/etc/mail/local-host-namessendmail ¤Źźő¤ąÉŐ¤ą¤ëÇŰÁ÷ŔčĽŰĽšĽČ¤ÎĽęĽšĽČ/etc/mail/mailer.confĽáĄźĽéĽ×ĽíĽ°ĽéĽŕ¤ÎŔßÄę/etc/mail/mailertableĽáĄźĽéÇŰÁ÷É˝/etc/mail/sendmail.cfsendmail ¤ÎźçŔßÄęĽŐĽĄĽ¤Ľë/etc/mail/virtusertable˛žÁۼ楟Ľś¤Ş¤č¤Ó˛žÁۼɼἤĽóÉ˝/etc/mail/accessĽ˘ĽŻĽťĽšĽÇĄźĽżĽŮĄźĽš¤ĎĄ˘
¤É¤ÎĽŰĽšĽČ¤Ţ¤ż¤Ď IP Ľ˘ĽÉĽěĽš¤ŹĽíĄźĽŤĽëĽáĄźĽëĽľĄźĽĐ¤ËŔÜÂł¤Ç¤¤ë¤ŤĄ˘
¤˝¤ˇ¤ĆŔÜÂł¤ÎźďÎŕ¤Ď˛ż¤ŤĄ˘¤Č¤¤¤Ś¤ł¤Č¤ňÄęľÁ¤ˇ¤Ţ¤šĄŁ
ĽŰĽšĽČ¤Ď , ,
¤Č¤ˇ¤ĆťŘÄę¤Ç¤¤Ţ¤šĄŁ
¤Ţ¤ż¤ĎĄ˘ĽáĄźĽéĽ¨ĽéĄź¤ňťŘÄꤚ¤ë¤ł¤Č¤ÇĄ˘
Ăą¤Ë sendmail ¤Î
Ľ¨ĽéĄź˝čÍýĽëĄźĽÁĽó¤ËĹϤľ¤ě¤Ţ¤šĄŁ
¤Č¤ˇ¤ĆťŘÄꤾ¤ě¤żĽŰĽšĽČ (¤ł¤ě¤ĎĽÇĽŐĽŠĽëĽČ¤Ç¤š) ¤ĎĄ˘
ĽáĄźĽë¤ÎşÇ˝Ş°¸Ŕ褏ĽíĄźĽŤĽëĽŢĽˇĽó¤Ç¤˘¤ë¸Â¤ęĄ˘
¤ł¤ÎĽŰĽšĽČ¤ŘĽáĄźĽë¤ňÁ÷¤ë¤ł¤Č¤ňǧ¤á¤é¤ě¤Ţ¤šĄŁ
¤Č¤ˇ¤ĆťŘÄꤾ¤ě¤żĽŰĽšĽČ¤ĎĄ˘
¤š¤Ů¤Ć¤ÎĽáĄźĽëŔÜÂł¤ňľńŔ䤾¤ě¤Ţ¤šĄŁ
ĽŰĽšĽČĚž¤ËÂФˇ¤Ć
ĽŞĽ×ĽˇĽçĽó¤ňťŘÄꤾ¤ě¤żĽŰĽšĽČ¤ĎĄ˘
¤ł¤ÎĽáĄźĽëĽľĄźĽĐ¤ňÄ̲ᤡ¤ĆǤ°Ő¤Î°¸Ŕč¤ŘĽáĄźĽë¤ňÁ÷¤ë¤ł¤Č¤ňǧ¤á¤é¤ě¤Ţ¤šĄŁsendmail
Ľ˘ĽŻĽťĽšĽÇĄźĽżĽŮĄźĽš¤ÎŔßÄęcyberspammer.com 550 We don't accept mail from spammers
FREE.STEALTH.MAILER@ 550 We don't accept mail from spammers
another.source.of.spam REJECT
okay.cyberspammer.com OK
128.32 RELAY¤ł¤ÎÎă¤Ç¤Ď¸Ţ¤Ä¤ÎĽ¨ĽóĽČĽę¤Ź¤˘¤ę¤Ţ¤šĄŁ
É˝¤Îş¸ÂڤËĹö¤Ć¤Ď¤Ţ¤ëĽáĄźĽëÁ÷żŽźÔ¤ĎĄ˘É˝¤ÎąŚÂڤÎưşî¤ËťŮÇۤľ¤ě¤Ţ¤šĄŁ
¤Ď¤¸¤á¤ÎĆó¤Ä¤ÎÎă¤ĎĄ˘Ľ¨ĽéĄźĽłĄźĽÉ¤ň sendmail
¤ÎĽ¨ĽéĄź˝čÍýĽëĄźĽÁĽó¤ËĹϤˇ¤Ţ¤šĄŁ
ĽáĄźĽë¤ŹÉ˝¤Îş¸ÂڤËĹö¤Ć¤Ď¤Ţ¤ë¤ČĄ˘ĽęĽâĄźĽČĽŰĽšĽČ¤Ë¤˝¤ÎĽáĽĂĽťĄźĽ¸¤ŹÉ˝ź¨¤ľ¤ě¤Ţ¤šĄŁ
źĄ¤ÎĽ¨ĽóĽČĽę¤Ď another.source.of.spam
¤Č¤¤¤ŚĽ¤ĽóĽżĄźĽÍĽĂĽČžĺ¤ÎĆĂÄę¤ÎĽŰĽšĽČ¤Ť¤é¤ÎĽáĄźĽë¤ňľńŔ䤡¤Ţ¤šĄŁ
źĄ¤ÎĽ¨ĽóĽČĽę¤Ď okay.cyberspammer.com
¤Ť¤é¤ÎĽáĄźĽëŔÜÂł¤ňźő¤ąĆţ¤ě¤Ţ¤šĄŁ
¤ł¤ÎĽ¨ĽóĽČĽę¤Ďžĺ¤Ë¤˘¤ë cyberspammer.com ¤Č¤¤¤ŚšÔ¤č¤ę¤â¤ľ¤é¤Ë¸ˇĚŠ¤Ç¤š
(¸ˇĚŠ¤Ë°ěĂפš¤ě¤Đ¤š¤ë¤Ű¤ÉĄ˘¤˝¤Ś¤Ç¤Ę¤¤¤â¤Î¤č¤ęÍĽŔ褾¤ě¤Ţ¤š)ĄŁ
şÇ¸ĺ¤ÎĽ¨ĽóĽČĽę¤Ď 128.32 ¤Ť¤éťĎ¤Ţ¤ë
IP Ľ˘ĽÉĽěĽš¤ÎĽŰĽšĽČ¤Ť¤é¤ÎĹŝҼᥟĽë¤ÎĽęĽěĄź¤ňǧ¤á¤Ţ¤šĄŁ
¤ł¤ě¤é¤ÎĽŰĽšĽČ¤Ďž¤ÎĽáĄźĽëĽľĄźĽĐ¤ËĹţĂŁ¤Ç¤¤ë¤ł¤ÎĽáĄźĽëĽľĄźĽĐ¤ňťČ¤Ă¤ĆĽáĄźĽë¤ňÁ÷¤ë¤ł¤Č¤Ź¤Ç¤¤ë¤Ç¤ˇ¤ç¤ŚĄŁ¤ł¤ÎĽŐĽĄĽ¤Ľë¤ňĘŃšš¤ˇ¤ż¤éĄ˘
ĽÇĄźĽżĽŮĄźĽš¤ňššżˇ¤š¤ë¤ż¤á¤Ë /etc/mail/ ĽÇĽŁĽěĽŻĽČĽę¤Ç
make ĽłĽŢĽóĽÉ¤ňźÂšÔ¤š¤ëÉŹÍפʤ˘¤ę¤Ţ¤šĄŁ/etc/mail/aliasesĽ¨Ľ¤ĽęĽ˘ĽšĽÇĄźĽżĽŮĄźĽš¤Ë¤ĎĄ˘
ž¤ÎĽćĄźĽśĄ˘ĽŐĽĄĽ¤ĽëĄ˘Ľ×ĽíĽ°ĽéĽŕ¤Ţ¤ż¤Ďž¤ÎĽ¨Ľ¤ĽęĽ˘Ľš¤ËŸłŤ¤ľ¤ě¤ë
˛žÁŰĹŞ¤ĘĽáĄźĽëĽÜĽĂĽŻĽš¤Î°ěÍ÷¤ŹľşÜ¤ľ¤ě¤Ć¤¤¤Ţ¤šĄŁ
/etc/mail/aliases ¤Ë¤Ş¤¤¤ĆťČÍѤǤ¤ëÎă¤ň¤¤¤Ż¤Ä¤Ť¤˘¤˛¤Ţ¤šĄŁĽáĄźĽëĽ¨Ľ¤ĽęĽ˘Ľšroot: localuser
ftp-bugs: joe,eric,paul
bit.bucket: /dev/null
procmail: "|/usr/local/bin/procmail"ĽŐĽĄĽ¤ĽëˇÁź°¤ĎĽˇĽóĽ×Ľë¤Ç¤šĄŁ
ĽłĽíĽó¤Îş¸ÂŚ¤Ë¤˘¤ëĽáĄźĽëĽÜĽĂĽŻĽšĚž¤ĎĄ˘ąŚÂŚ¤ÎĽżĄźĽ˛ĽĂĽČ¤ËŸłŤ¤ľ¤ě¤Ţ¤šĄŁ
¤Ď¤¸¤á¤ÎÎă¤ĎĂą˝ă¤Ë root ¤ÎĽáĄźĽëĽÜĽĂĽŻĽš¤ň
localuser ¤ÎĽáĄźĽëĽÜĽĂĽŻĽš¤ËŸłŤ¤ˇĄ˘
¤˝¤ě¤Ť¤éĽ¨Ľ¤ĽęĽ˘ĽšĽÇĄźĽżĽŮĄźĽš¤ň¤â¤Ś°ěĹŮÄ´¤Ů¤Ţ¤šĄŁ
°ěĂפš¤ëĽ¨ĽóĽČĽę¤Ź¤Ę¤ą¤ě¤ĐĽáĽĂĽťĄźĽ¸¤ĎĽíĄźĽŤĽëĽćĄźĽś¤Ç¤˘¤ë
localuser ¤ËÇŰÁ÷¤ľ¤ě¤Ţ¤šĄŁ
źĄ¤ÎÎă¤ĎĽáĄźĽëĽęĽšĽČ¤Ç¤šĄŁ
ftp-bugs ¤ÎĽáĄźĽëĽÜĽĂĽŻĽš¤Ř¤ÎĽáĄźĽë¤Ď
joe, eric
¤Ş¤č¤Ó paul ¤Îť°¤Ä¤ÎĽíĄźĽŤĽëĽáĄźĽëĽÜĽĂĽŻĽš¤ËŸłŤ¤ľ¤ě¤Ţ¤šĄŁ
ĽęĽâĄźĽČĽáĄźĽëĽÜĽĂĽŻĽš¤Ď user@example.com
¤Î¤č¤Ś¤ËťŘÄę¤Ç¤¤ë¤ł¤Č¤ËĂí°Ő¤ˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ
źĄ¤ÎÎă¤ĎĽáĄźĽë¤ňĽŐĽĄĽ¤ĽëĄ˘¤ł¤Îžěšç /dev/null
¤Ë˝ń¤šţ¤ß¤Ţ¤šĄŁ
şÇ¸ĺ¤ÎÎă¤ĎĽáĄźĽë¤ňĽ×ĽíĽ°ĽéĽŕ¤ËÁ÷¤ę¤Ţ¤šĄŁ
¤ł¤ÎžěšçĽáĄźĽë¤ÎĽáĽĂĽťĄźĽ¸¤Ď &unix; ĽŃĽ¤Ľ×¤ňÄ̤¸¤Ć
/usr/local/bin/procmail ¤Îɸ˝ŕĆţÎϤ˽ń¤šţ¤Ţ¤ě¤Ţ¤šĄŁ¤ł¤ÎĽŐĽĄĽ¤Ľë¤ňĘŃšš¤ˇ¤ż¤éĄ˘
ĽÇĄźĽżĽŮĄźĽš¤ňššżˇ¤š¤ë¤ż¤á¤Ë/etc/mail/ ĽÇĽŁĽěĽŻĽČĽę¤Ç
make ĽłĽŢĽóĽÉ¤ňźÂšÔ¤š¤ëÉŹÍפʤ˘¤ę¤Ţ¤šĄŁ/etc/mail/local-host-names¤ł¤ě¤Ď &man.sendmail.8;
¤ŹĽíĄźĽŤĽëĽŰĽšĽČĚž¤Č¤ˇ¤Ćǧ¤á¤ëĽŰĽšĽČĚž¤ÎĽęĽšĽČ¤Ç¤šĄŁ
sendmail
¤ŹĽáĄźĽë¤ňźő¤ąźč¤ë¤š¤Ů¤Ć¤ÎĽÉĽáĽ¤Ľó¤äĽŰĽšĽČ¤Ë¤ł¤ÎĽŐĽĄĽ¤Ľë¤ňĂÖ¤¤¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ
¤ż¤Č¤¨¤ĐĄ˘¤ł¤ÎĽáĄźĽëĽľĄźĽĐ¤Ď
example.com ¤Č¤¤¤ŚĽÉĽáĽ¤Ľó¤Ş¤č¤Ó
mail.example.com
¤Č¤¤¤ŚĽŰĽšĽČ¤Ř¤ÎĽáĄźĽë¤ňźő¤ąźč¤ë¤Č¤š¤ë¤ČĄ˘
local-host-names ĽŐĽĄĽ¤Ľë¤ÎĆâÍƤϟĄ¤Î¤č¤Ś¤Ë¤Ę¤ë¤Ç¤ˇ¤ç¤ŚĄŁexample.com
mail.example.com¤ł¤ÎĽŐĽĄĽ¤Ľë¤ňššżˇ¤ˇ¤ż¤éĄ˘ĘŃšš¤ňĆɤߚţ¤ŕ¤ż¤á¤Ë
&man.sendmail.8; ¤ňşĆľŻĆ°¤š¤ëÉŹÍפʤ˘¤ę¤Ţ¤šĄŁ/etc/mail/sendmail.cfsendmail ¤ÎźçŔßÄęĽŐĽĄĽ¤Ľë¤Ç¤˘¤ë
sendmail.cf ¤ĎĄ˘ĹŝҼᥟĽëĽ˘ĽÉĽěĽš¤Î˝ń¤´š¤¨¤Ť¤éĄ˘
ĽęĽâĄźĽČĽáĄźĽëĽľĄźĽĐ¤ŘľńŔäĽáĽĂĽťĄźĽ¸¤ňÁ÷¤ë¤ł¤Č¤Ţ¤Ç
sendmail ¤ÎÁ´ČĚĹŞ¤Ęưşî¤ň¤š¤Ů¤ĆŔЏ㤎¤Ţ¤šĄŁ
ĹöÁłĄ˘¤˝¤Î¤č¤Ś¤Ę¤ľ¤Ţ¤ś¤Ţ¤ĘĚňłä¤Ë¤č¤ę¤ł¤ÎŔßÄęĽŐĽĄĽ¤Ľë¤ĎÂçĘŃĘŁť¨¤ÇĄ˘
¤˝¤ÎžÜşŮ¤Ë¤Ä¤¤¤Ć¤Ď¤ł¤ÎŔá¤ÎžŻ¤ˇČϰϳ°¤Ç¤šĄŁšĽąż¤Ę¤ł¤Č¤ËĄ˘
ɸ˝ŕĹŞ¤Ęš˝ŔŽ¤ÎĽáĄźĽëĽľĄźĽĐ¤Ç¤Ď¤ł¤ÎĽŐĽĄĽ¤Ľë¤ň¤á¤Ă¤ż¤ËĘŃšš¤š¤ëÉŹÍפϤ˘¤ę¤Ţ¤ť¤óĄŁsendmail ¤ÎźçŔßÄęĽŐĽĄĽ¤Ľë¤Ď
sendmail ¤ÎľĄÇ˝¤Čưşî¤ňˇčÄꤚ¤ë
&man.m4.1; ĽŢĽŻĽí¤Ť¤éš˝ĂۤǤ¤Ţ¤šĄŁ
žÜşŮ¤Ë¤Ä¤¤¤Ć¤Ď
/usr/src/contrib/sendmail/cf/README
¤ňť˛žČ¤ˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ¤ł¤ÎĽŐĽĄĽ¤Ľë¤ňššżˇ¤ˇ¤ż¤éĄ˘¤˝¤ÎĘŃšš¤ňČżąÇ¤š¤ë¤ż¤á¤Ë
sendmail ¤ňşĆľŻĆ°¤š¤ëÉŹÍפʤ˘¤ę¤Ţ¤šĄŁ/etc/mail/virtusertablevirtusertable ¤Ď˛žÁۼɼἤĽó¤Ş¤č¤Ó˛žÁۼᥟĽëĽÜĽĂĽŻĽš¤ËÂФš¤ëĽ˘ĽÉĽěĽš¤ňźÂşÝ¤ÎĽáĄźĽëĽÜĽĂĽŻĽš¤ČÂĐąţ¤Ĺ¤ą¤Ţ¤šĄŁ
¤ł¤ě¤é¤ÎĽáĄźĽëĽÜĽĂĽŻĽš¤Ë¤ĎĽíĄźĽŤĽëĄ˘ĽęĽâĄźĽČĄ˘
/etc/mail/aliases ¤ËÄęľÁ¤ľ¤ě¤żĽ¨Ľ¤ĽęĽ˘ĽšĄ˘
¤Ţ¤ż¤ĎĽŐĽĄĽ¤Ľë¤ňťČÍѤǤ¤Ţ¤šĄŁ˛žÁۼɼἤĽóĽáĄźĽëÂĐąţÉ˝¤ÎÎăroot@example.com root
postmaster@example.com postmaster@noc.example.net
@example.com joežĺ¤ÎÎă¤Ç¤Ď example.com
ĽÉĽáĽ¤Ľó¤Ř¤ÎÂĐąţ¤Ĺ¤ą¤ň¤ˇ¤Ć¤¤¤Ţ¤šĄŁ
¤ł¤ÎĽŐĽĄĽ¤Ľë¤ĎĽŐĽĄĽ¤Ľë¤Î˛ź¤Ţ¤ÇĽŐĽĄĄźĽšĽČĽŢĽĂĽÁ
(ĚőĂí: °ěĂפš¤ëĽëĄźĽë¤ŹĘŁżô¤˘¤ëžěšçĄ˘
°ěČֺǽé¤Ë°ěĂפˇ¤żĽëĄźĽë¤ŹĹŹÍѤľ¤ě¤ë¤ł¤Č) ¤Ç˝čÍý¤ľ¤ě¤Ţ¤šĄŁ
¤Ď¤¸¤á¤ÎšÔ¤Ç¤Ď root@example.com ¤ň
ĽíĄźĽŤĽë¤Î root ĽáĄźĽëĽÜĽĂĽŻĽš¤ËÂĐąţ¤Ĺ¤ą¤Ć¤¤¤Ţ¤šĄŁ
źĄ¤ÎĽ¨ĽóĽČĽę¤Ç¤Ď postmaster@example.com ¤ň
noc.example.net ĽŰĽšĽČžĺ¤Î
postmaster ĽáĄźĽëĽÜĽĂĽŻĽš¤ËÂĐąţ¤Ĺ¤ą¤Ć¤¤¤Ţ¤šĄŁ
şÇ¸ĺ¤ËĄ˘şŁ¤Ţ¤Ç¤Î¤Č¤ł¤í¤Ç¤Ď
example.com
¤Ë´Ř¤ˇ¤Ć˛ż¤â°ěĂפˇ¤Ę¤¤žěšçĄ˘şÇ¸ĺ¤ÎĽ¨ĽóĽČĽę¤Č°ěĂפš¤ë¤Ç¤ˇ¤ç¤ŚĄŁ
¤ł¤ě¤Ď example.com
¤ÎĂŻ¤Ť¤ËÁ÷¤Ă¤ż¤š¤Ů¤Ć¤ÎĽáĄźĽë¤Ź°ěĂפˇ¤Ţ¤šĄŁ¤ł¤ě¤Ď
joe ¤ÎĽíĄźĽŤĽëĽáĄźĽëĽÜĽĂĽŻĽš¤ËÂĐąţ¤Ĺ¤ą¤é¤ě¤Ć¤¤¤Ţ¤šĄŁAndrewBoothman¸śşî: GregoryNeil ShapiroInformation taken from e-mails written by MTA ¤ÎĘŃššemailMTA ¤ÎĘŃšš¤š¤Ç¤Ë˝Ň¤Ů¤ż¤č¤Ś¤ËĄ˘FreeBSD ¤Ë¤Ď MTA (Mail Transfer Agent) ¤Č¤ˇ¤ĆĄ˘
sendmail ¤Ź¤š¤Ç¤ËĽ¤ĽóĽšĽČĄźĽë¤ľ¤ě¤Ć¤¤¤Ţ¤šĄŁ
¤ˇ¤ż¤Ź¤Ă¤ĆĄ˘ĽÇĽŐĽŠĽëĽČ¤Ç¤Ď¤ł¤ě¤ŹĽáĄźĽë¤ÎÁ÷źőżŽ¤ňĂ´Ĺö¤ˇ¤Ć¤¤¤Ţ¤šĄŁ¤ˇ¤Ť¤ˇ¤Ę¤Ź¤éĄ˘¤ľ¤Ţ¤ś¤Ţ¤ĘÍýÍł¤Ë¤č¤Ă¤ĆĄ˘
ĽˇĽšĽĆĽŕ¤Î MTA ¤ňĘŃšš¤ˇ¤č¤Ś¤ČšÍ¤¨¤ëĽˇĽšĽĆĽŕ´ÉÍýźÔ¤â¤¤¤ë¤Ť¤â¤ˇ¤ě¤Ţ¤ť¤óĄŁ
¤˝¤ÎÍýÍł¤ĎĄ˘Ăą¤Ëž¤Î MTA ¤ňťî¤ˇ¤Ć¤ß¤ż¤¤¤Č¤¤¤Ś¤â¤Î¤Ť¤é
ž¤ÎĽáĄźĽé¤Ë°Í¸¤š¤ëĆĂÄę¤ÎľĄÇ˝¤äĽŃĽĂĽąĄźĽ¸¤ŹÉŹÍפŔ¤Č¤¤¤Ă¤ż¤â¤Î¤Ţ¤ÇĄ˘
Âż´ô¤Ë¤ď¤ż¤ë¤ł¤Č¤Ç¤ˇ¤ç¤ŚĄŁ
šŹ¤¤Ą˘ÍýÍł¤Ź¤É¤ó¤Ę¤â¤Î¤Ç¤˘¤ěĄ˘FreeBSD ¤Ç¤Ď´ĘĂą¤ËĘŃšš¤Ç¤¤Ţ¤šĄŁżˇ¤ˇ¤¤ MTA ¤ÎĽ¤ĽóĽšĽČĄźĽë¤ľ¤Ţ¤ś¤Ţ¤Ę MTA ¤ŹÍřÍѤǤ¤Ţ¤šĄŁ
FreeBSD Ports Collection
¤Ť¤éĂľ¤ˇ¤Ď¤¸¤á¤ë¤Î¤Ź¤č¤¤¤Ç¤ˇ¤ç¤ŚĄŁ
¤â¤Á¤í¤óĄ˘¤É¤ó¤Ęžě˝ę¤Ť¤é¤Ç¤âĄ˘¤˘¤Ę¤ż¤ŹÍřÍѤˇ¤ż¤¤ MTA ¤Ź
FreeBSD ¤Çưşî¤š¤ë¸Â¤ę¤š¤Ů¤ĆźŤÍł¤ËťČ¤¨¤Ţ¤šĄŁżˇ¤ˇ¤¤ MTA ¤ňĽ¤ĽóĽšĽČĄźĽë¤š¤ë¤ł¤Č¤Ť¤é¤Ď¤¸¤á¤Ţ¤ˇ¤ç¤ŚĄŁ
żˇ¤ˇ¤¤ MTA ¤ňĽ¤ĽóĽšĽČĄźĽë¤š¤ë¤ČĄ˘
¤˘¤Ę¤ż¤ÎÍ׾ᤏźÂşÝ¤ËźÂ¸˝¤ˇ¤ż¤Ť¤É¤Ś¤Ťˇč¤á¤ëľĄ˛ń¤ŹÍż¤¨¤é¤ě¤Ţ¤šĄŁ¤ľ¤é¤ËĄ˘
ĽľĄźĽÓĽš¤ň sendmail ¤Ť¤é°ú¤ˇŃ¤°Á°¤Ë
żˇ¤ˇ¤¤Ľ˝ĽŐĽČĽŚĽ§Ľ˘¤ňŔßÄꤚ¤ëľĄ˛ń¤ŹÍż¤¨¤é¤ě¤Ţ¤šĄŁ¤ł¤ě¤ňšÔ¤ŚžěšçĄ˘
żˇ¤ˇ¤¤Ľ˝ĽŐĽČĽŚĽ§Ľ˘¤Ź /usr/bin/sendmail
¤Î¤č¤Ś¤ĘĽˇĽšĽĆĽŕĽĐĽ¤ĽĘĽę¤ňžĺ˝ń¤¤ˇ¤č¤Ś¤Č¤ˇ¤Ę¤¤¤ł¤Č¤ňłÎǧ¤ˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ
¤˝¤Ś¤ˇ¤Ę¤¤¤Č¤˘¤Ę¤ż¤ŹŔßÄꤚ¤ëÁ°¤Ëżˇ¤ˇ¤¤ĽáĄźĽëĽ˝ĽŐĽČĽŚĽ§Ľ˘¤ŹËÜłĘĹŞ¤Ëưşî¤ˇ¤Ď¤¸¤á¤Ć¤ˇ¤Ţ¤¤¤Ţ¤šĄŁ¤˘¤Ę¤ż¤ŹÁŞÂň¤ˇ¤żĽ˝ĽŐĽČĽŚĽ§Ľ˘¤ňŔßÄꤚ¤ëĘýËĄ¤Ë¤Ä¤¤¤Ć¤ÎžđĘó¤ĎĄ˘
¤˝¤Î MTA ¤Îʸ˝ń¤ňť˛žČ¤ˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁsendmail ¤ňĚľ¸ú¤Ë¤š¤ësendmail
¤ňľŻĆ°¤š¤ë¤ż¤á¤ËťČÍѤľ¤ě¤Ć¤¤¤żźęÂł¤¤ĎĄ˘
4.5-RELEASE ¤Č 4.6-RELEASE ¤Î´Ö¤ÇĂř¤ˇ¤ŻĘŃšš¤ľ¤ě¤Ţ¤ˇ¤żĄŁ
¤ˇ¤ż¤Ź¤Ă¤ĆĄ˘¤˝¤ě¤ňĚľ¸ú¤Ë¤š¤ë¤ż¤á¤ÎźęÂł¤¤ĎČůĚŻ¤Ë°ă¤¤¤Ţ¤šĄŁ2002 ÇŻ 4 ˇî 4 Ćü¤č¤ęÁ°¤Î FreeBSD 4.5-STABLE
(4.5-RELEASE ¤Č¤˝¤ě°ĘÁ°¤ÎĽĐĄźĽ¸ĽçĽó¤ŹłşĹö)/etc/rc.conf ¤ËźĄ¤ÎšÔ¤ň˛Ă¤¨¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁsendmail_enable="NO"¤ł¤ě¤Ď sendmail
¤ÎĽáĄźĽëźőżŽľĄÇ˝¤ňĚľ¸ú¤Ë¤ˇ¤Ţ¤šĄŁ
¤ˇ¤Ť¤ˇ /etc/mail/mailer.conf (˛źľť˛žČ)
¤ŹĘŃšš¤ľ¤ě¤Ć¤¤¤Ę¤ą¤ě¤ĐĄ˘sendmail
¤ĎĽáĄźĽë¤ÎÁ÷żŽ¤Ë¤Ţ¤ŔťČ¤ď¤ě¤ë¤Ç¤ˇ¤ç¤ŚĄŁ2002 ÇŻ 4 ˇî 4 Ćü°Ęšß¤Î FreeBSD 4.5-STABLE
(4.6-RELEASE ¤Č¤˝¤ě°Ęšß¤ÎĽĐĄźĽ¸ĽçĽó¤ŹłşĹö)sendmail ¤ň´°Á´¤ËĚľ¸ú¤Ë¤š¤ë¤ż¤á¤Ë¤Ď
/etc/rc.conf ¤ËźĄ¤ÎšÔ¤ň˛Ă¤¨¤Ę¤Ż¤Ć¤Ď¤¤¤ą¤Ţ¤ť¤óĄŁsendmail_enable="NONE"¤â¤ˇ¤ł¤ÎĘýËĄ¤Ç sendmail
¤ÎĽáĄźĽëÁ÷żŽľĄÇ˝¤ňĚľ¸ú¤Ë¤ˇ¤ż¤Î¤Ę¤éĄ˘
´°Á´¤Ëưşî¤š¤ëÂĺÂؼᥟĽëÇŰÁ÷ĽˇĽšĽĆĽŕ¤ČĂÖ¤´š¤¨¤ë¤ł¤Č¤Ź˝ĹÍפǤšĄŁ
¤ľ¤â¤Ę¤ą¤ě¤ĐĄ˘&man.periodic.8; ¤Ę¤É¤ÎĽˇĽšĽĆĽŕľĄÇ˝¤ĎĄ˘
¤˝¤ě¤é¤Îˇë˛Ě¤ňÄĚžďÁŰÄꤡ¤Ć¤¤¤ë¤č¤Ś¤ËĽáĄźĽë¤ÇÇŰÁ÷¤š¤ë¤ł¤Č¤Ź¤Ç¤¤Ę¤Ż¤Ę¤ë¤Ç¤ˇ¤ç¤ŚĄŁ
ĽˇĽšĽĆĽŕ¤ÎÂż¤Ż¤ÎÉôĘŹ¤Ź sendmail
¸ß´š¤ÎĽˇĽšĽĆĽŕ¤Ź¤˘¤ë¤ł¤Č¤ňÁŰÄꤡ¤Ć¤¤¤ë¤Ť¤â¤ˇ¤ě¤Ţ¤ť¤óĄŁ
¤â¤ˇ¤˝¤ě¤é¤ňĚľ¸ú¤Ë¤ˇ¤ż¸ĺ¤ËĄ˘
Ľ˘Ľ×ĽęĽąĄźĽˇĽçĽó¤ŹĽáĄźĽë¤ňÁ÷¤í¤Ś¤Č¤š¤ë¤ż¤á¤Ë
sendmail ¤ÎĽĐĽ¤ĽĘĽę¤ňťČÍѤˇÂł¤ą¤ě¤ĐĄ˘
ĽáĄźĽë¤ĎťČ¤ď¤ě¤Ć¤¤¤Ę¤¤ sendmail
¤ÎĽĽĺĄź¤ËĆţ¤ęĄ˘¤˝¤ˇ¤Ćˇč¤ˇ¤ĆÇŰÁ÷¤ľ¤ě¤Ę¤¤¤Ç¤ˇ¤ç¤ŚĄŁ¤â¤ˇ sendmail
¤ÎĽáĄźĽëźőżŽľĄÇ˝¤Ŕ¤ą¤ňĚľ¸ú¤Ë¤ˇ¤ż¤¤¤Î¤Ę¤é
/etc/rc.conf ¤Ë°Ę˛ź¤ÎšÔ¤ňÄɲ䎤äݤŔ¤ľ¤¤ĄŁsendmail_enable="NO"sendmail¤ÎľŻĆ°ĽŞĽ×ĽˇĽçĽó¤Ë´Ř¤š¤ëžÜşŮ¤Ď
&man.rc.sendmail.8; ĽŢĽËĽĺĽ˘Ľë¤ň¤´Í÷¤Ż¤Ŕ¤ľ¤¤ĄŁľŻĆ°ťţ¤Ëżˇ¤ˇ¤¤ MTA ¤ňľŻĆ°¤š¤ëľŻĆ°ťţ¤Ëżˇ¤ˇ¤¤ MTA ¤ňľŻĆ°¤š¤ë¤Ë¤ĎĆó¤Ä¤ÎÁŞÂňťč¤Ź¤˘¤ę¤Ţ¤šĄŁ
¤ł¤ł¤Ç¤âĄ˘¤˘¤Ę¤ż¤Ź˛ÔĆŻ¤ľ¤ť¤Ć¤¤¤ë FreeBSD ¤ÎĽĐĄźĽ¸ĽçĽó¤Ë°Í¸¤ˇ¤Ţ¤š2002 ÇŻ 4 ˇî 11 Ćü¤č¤ęÁ°¤Î FreeBSD 4.5-STABLE
(4.5-RELEASE ¤Č¤˝¤ě°ĘÁ°¤ÎĽĐĄźĽ¸ĽçĽó¤ŹłşĹö)/usr/local/etc/rc.d/ ĽÇĽŁĽěĽŻĽČĽę¤ËĄ˘
ĽŐĽĄĽ¤ĽëĚž¤Ź .sh ¤Ç¤Ş¤ď¤ęĄ˘
root ¤Ë¤č¤Ă¤ĆźÂšÔ˛ÄÇ˝¤ĘĽšĽŻĽęĽ×ĽČ¤ňÄɲ䡤ޤšĄŁ
¤ł¤ÎĽšĽŻĽęĽ×ĽČ¤Ď start ¤Ş¤č¤Ó
stop ĽŃĽéĽáĄźĽż¤ň°úżô¤Č¤ˇ¤Ćźő¤ąÉŐ¤ą¤ë¤č¤Ś¤Ë¤ˇ¤Ţ¤šĄŁ
ľŻĆ°ťţ¤ËĽˇĽšĽĆĽŕĽšĽŻĽęĽ×ĽČ¤ĎźĄ¤ÎĽłĽŢĽóĽÉ¤ňźÂšÔ¤š¤ë¤Ç¤ˇ¤ç¤ŚĄŁ/usr/local/etc/rc.d/supermailer.sh start¤ł¤ě¤Ďźęư¤ÇĽľĄźĽĐ¤ňľŻĆ°¤š¤ë¤ż¤á¤Ë¤âťČÍѤǤ¤Ţ¤šĄŁ
ĽˇĽšĽĆĽŕ˝ŞÎťťţ¤Ë¤ĎĽˇĽšĽĆĽŕĽšĽŻĽęĽ×ĽČ¤Ď stop
ĽŞĽ×ĽˇĽçĽó¤ňťČÍѤˇ¤ĆĄ˘źĄ¤ÎĽłĽŢĽóĽÉ¤ňźÂšÔ¤š¤ë¤Ç¤ˇ¤ç¤ŚĄŁ/usr/local/etc/rc.d/supermailer.sh stop¤ł¤ě¤ĎĽˇĽšĽĆĽŕ¤Ź˛ÔĆŻ¤ˇ¤Ć¤¤¤ë´Ö¤Ëźęư¤ÇĽľĄźĽĐ¤ňÄäťß¤š¤ë¤ż¤á¤Ë¤âťČ¤¨¤Ţ¤šĄŁ2002 ÇŻ 4 ˇî 11 Ćü°Ęšß¤Î FreeBSD 4.5-STABLE
(4.6-RELEASE ¤Č¤˝¤ě°Ęšß¤ÎĽĐĄźĽ¸ĽçĽó¤ŹłşĹö)¤č¤ężˇ¤ˇ¤¤ĽĐĄźĽ¸ĽçĽó¤Î FreeBSD ¤Ç¤ĎĄ˘
žĺľ¤ÎĘýËĄ¤Ţ¤ż¤ĎźĄ¤ÎšÔ¤ň /etc/rc.conf
¤ËŔßÄę¤Ç¤¤Ţ¤šĄŁmta_start_script="filename"filename ¤ĎĄ˘¤˘¤Ę¤ż¤Ź
MTA ¤ňΊ¤Ážĺ¤˛¤ë¤ż¤á¤ËľŻĆ°ťţ¤ËźÂšÔ¤š¤ëĽšĽŻĽęĽ×ĽČĚž¤Ç¤šĄŁĽˇĽšĽĆĽŕ¤ÎĽÇĽŐĽŠĽëĽČĽáĄźĽé¤Č¤ˇ¤Ć sendmail ¤ňĂÖ¤´š¤¨¤ësendmail Ľ×ĽíĽ°ĽéĽŕ¤Ď &unix;
ĽˇĽšĽĆĽŕžĺ¤Îɸ˝ŕĽ˝ĽŐĽČĽŚĽ§Ľ˘¤Č¤ˇ¤ĆËÜĹö¤Ë¤É¤ł¤Ç¤âÍřÍѤǤ¤ë¤Î¤ÇĄ˘
¤ł¤ě¤Ź¤š¤Ç¤ËĽ¤ĽóĽšĽČĄźĽë¤Ş¤č¤ÓŔßÄꤾ¤ě¤Ć¤¤¤ë¤Č¤ß¤Ę¤ˇ¤Ć¤¤¤ë
Ľ˝ĽŐĽČĽŚĽ§Ľ˘¤â¤˘¤ë¤Ť¤â¤ˇ¤ě¤Ţ¤ť¤óĄŁ
¤ł¤ÎÍýÍł¤Ë¤č¤ęĄ˘ÂĺÂؤȤʤë MTA ¤ÎÂż¤Ż¤Ď
sendmail ĽłĽŢĽóĽÉĽéĽ¤ĽóĽ¤ĽóĽżĽŐĽ§ĄźĽš¤Č
¸ß´šŔ¤Î¤˘¤ëźÂÁő¤ňÄ󜥤ˇ¤Ć¤¤¤Ţ¤šĄŁ
¤ł¤ě¤ň şš¤ˇšţ¤ŕ ¤ł¤Č¤Ë¤č¤Ă¤ĆĄ˘
sendmail ¤ÎĂÖ¤´š¤¨¤Č¤ˇ¤ĆÂĺÂŘ MTA
¤ňťČÍѤš¤ë¤ł¤Č¤ŹÍưפˤʤę¤Ţ¤šĄŁ¤ˇ¤ż¤Ź¤Ă¤ĆĄ˘¤˘¤Ę¤ż¤Ź¸ß´šĽáĄźĽé¤ňťČÍѤˇ¤Ć¤¤¤ë¤Č¤¤Ë¤ĎĄ˘
/usr/bin/sendmail ¤Î¤č¤Ś¤Ęɸ˝ŕ
sendmail
ĽĐĽ¤ĽĘĽę¤ňźÂšÔ¤ˇ¤č¤Ś¤Č¤š¤ëĽ˝ĽŐĽČĽŚĽ§Ľ˘¤ŹĄ˘
źÂşÝ¤Ë¤Ď¤˝¤ÎÂĺ¤ď¤ę¤Ë¤˘¤Ę¤ż¤ÎÁŞÂň¤ˇ¤żĽáĄźĽé¤ňźÂšÔ¤ˇ¤Ć¤¤¤ë¤Č¤¤¤Ś¤ł¤Č¤ň
łÎ¤Ť¤á¤ëÉŹÍפʤ˘¤ë¤Ç¤ˇ¤ç¤ŚĄŁ
šĽąż¤Ę¤ł¤Č¤ËĄ˘FreeBSD ¤Ď¤ł¤ÎťĹťö¤ň¤š¤ë
&man.mailwrapper.8; ¤Č¸Ć¤Đ¤ě¤ëĽˇĽšĽĆĽŕ¤ňÄ󜥤ˇ¤Ć¤¤¤Ţ¤šĄŁĽ¤ĽóĽšĽČĄźĽë¤ľ¤ě¤ż¤Ţ¤Ţ
sendmail ¤Ź˛ÔĆŻ¤ˇ¤Ć¤¤¤ë¤Č¤¤Ë¤Ď
/etc/mail/mailer.conf
¤Ë¤Ď°Ę˛ź¤Î¤č¤Ś¤Ęľ˝Ň¤Ź¤˘¤ë¤Ç¤ˇ¤ç¤ŚĄŁsendmail /usr/libexec/sendmail/sendmail
send-mail /usr/libexec/sendmail/sendmail
mailq /usr/libexec/sendmail/sendmail
newaliases /usr/libexec/sendmail/sendmail
hoststat /usr/libexec/sendmail/sendmail
purgestat /usr/libexec/sendmail/sendmail¤ł¤Î¤ł¤Č¤ĎĄ˘¤ł¤ě¤é¤Î¤Ś¤Á¤É¤ÎśŚÄĚĽłĽŢĽóĽÉ
(sendmail źŤżČ¤Î¤č¤Ś¤Ę) ¤ŹźÂšÔ¤ľ¤ě¤Ć¤âĄ˘
ĽˇĽšĽĆĽŕ¤Ď mailer.conf ¤ňłÎǧ¤ˇ¤ĆĄ˘
Âĺ¤ď¤ę¤Ë /usr/libexec/sendmail/sendmail ¤ňźÂšÔ¤š¤ë
sendmail ¤Č¤¤¤ŚĚžÁ°¤Î mailwapper
¤ÎĽłĽÔĄź¤ň¸Ć¤Ó˝Đ¤š¤ł¤Č¤ň°ŐĚŁ¤ˇ¤Ţ¤šĄŁ
¤ł¤Î¤č¤Ś¤ĘĽˇĽšĽĆĽŕ¤Ç¤ĎĄ˘ĽÇĽŐĽŠĽëĽČ¤Î
sendmail ¤Ź¸Ć¤Ó˝Đ¤ľ¤ě¤ż¤Č¤¤ËĄ˘
¤É¤ÎĽĐĽ¤ĽĘĽę¤ŹźÂşÝ¤ËźÂšÔ¤ľ¤ě¤ë¤Ť¤ňĘŃšš¤š¤ë¤Î¤Ź´ĘĂą¤Ë¤Ę¤ę¤Ţ¤šĄŁ¤ˇ¤ż¤Ź¤Ă¤ĆĄ˘sendmail ¤ÎÂĺ¤ď¤ę¤Ë
/usr/local/supermailer/bin/sendmail-compat
¤ňźÂšÔ¤ľ¤ť¤ż¤¤¤Î¤Ę¤éĄ˘źĄ¤Î¤č¤Ś¤Ë
/etc/mail/mailer.conf ¤ňĘŃšš¤ˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁsendmail /usr/local/supermailer/bin/sendmail-compat
send-mail /usr/local/supermailer/bin/sendmail-compat
mailq /usr/local/supermailer/bin/mailq-compat
newaliases /usr/local/supermailer/bin/newaliases-compat
hoststat /usr/local/supermailer/bin/hoststat-compat
purgestat /usr/local/supermailer/bin/purgestat-compat´°Îť¤˘¤Ę¤ż¤Î¤ä¤ę¤ż¤¤¤č¤Ś¤Ë¤š¤Ů¤Ć¤ňŔßÄꤡ¤Ş¤¨¤ż¤éĄ˘
¤â¤Ď¤äÉŹÍפΤʤ¤ sendmail
¤ÎĽ×ĽíĽťĽš¤ň˝ŞÎť¤ˇ¤Ćżˇ¤ˇ¤¤Ľ˝ĽŐĽČĽŚĽ§Ľ˘¤Ë´Ř¤š¤ëĽ×ĽíĽťĽš¤ňľŻĆ°¤š¤ë¤ŤĄ˘
Ăą¤ËşĆľŻĆ°¤ˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ
şĆľŻĆ°¤š¤ë¤ł¤Č¤Ë¤č¤Ă¤ĆĄ˘żˇ¤ˇ¤¤ MTA ¤ŹľŻĆ°ťţ¤ËŔľ¤ˇ¤ŻÎФÁžĺ¤Ź¤ë¤č¤Ś¤Ë
ĽˇĽšĽĆĽŕ¤ŹŔßÄꤾ¤ě¤Ć¤¤¤ë¤Ť¤É¤Ś¤ŤłÎǧ¤š¤ë¤ł¤Č¤â¤Ç¤¤ë¤Ç¤ˇ¤ç¤ŚĄŁĽČĽéĽÖĽëĽˇĽĺĄźĽČemailĽČĽéĽÖĽëĽˇĽĺĄźĽĆĽŁĽóĽ°¤É¤Ś¤ˇ¤ĆźŤĘŹ¤ÎĽľĽ¤ĽČ¤ÎĽŰĽšĽČ¤Ę¤Î¤Ë FQDN ¤ňťČ¤ď¤Ę¤ą¤ě¤Đ¤¤¤ą¤Ę¤¤¤Î¤Ç¤š¤Ť?ś˛¤é¤ŻĄ˘¤˝¤ÎĽŰĽšĽČ¤ĎźÂşÝ¤Ë¤ĎĘ̤μɼἤĽó¤Ë¤˘¤ë¤Î¤Ç¤ˇ¤ç¤ŚĄŁ
Î㤨¤Đ foo.bar.edu ĽÉĽáĽ¤Ľó¤Ë¤¤¤ĆĄ˘
bar.edu ¤Č¤¤¤ŚĽÉĽáĽ¤ĽóĆâ¤Î
mumble ¤Č¤¤¤ŚĽŰĽšĽČ¤ËĽ˘ĽŻĽťĽš¤ˇ¤ż¤¤¤Č¤ˇ¤Ţ¤šĄŁ
¤ł¤Îťţ¤ĎĂą¤Ë mumble ¤Ç¤Ď¤Ę¤Ż
mumble.bar.edu ¤Č FQDN ¤Çť˛žČ¤ˇ¤Ę¤ą¤ě¤Đ¤Ę¤ę¤Ţ¤ť¤óĄŁ¤˝¤â¤˝¤âĄ˘BSD BINDBIND
¤ÎĽęĽžĽëĽĐĄź (resolver) ¤Ç¤Ď¤ł¤Î¤č¤Ś¤Ę¤ł¤Č¤Ź˛ÄÇ˝¤Ç¤ˇ¤ż¤ŹĄ˘
FreeBSD ¤ËĆţ¤Ă¤Ć¤¤¤ëşÇżˇČǤΠBIND
¤Ç¤ĎźŤĘŹ¤ÎĽÉĽáĽ¤Ľó°Ęł°¤ËÂФš¤ë FQDN ¤Ç¤Ę¤¤žĘÎŹˇÁ¤Ďľö¤ľ¤ě¤Ţ¤ť¤óĄŁ
˝ž¤Ă¤ĆĽŰĽšĽČ¤ň mumble ¤ČŰŁËć¤ËťŘÄꤡ¤żžěšç¤Ď
mumble.foo.bar.edu ¤Č¤¤¤ŚĚžÁ°¤Ź¤˘¤ě¤Đ¤˝¤ě¤Ë¤Ę¤ęĄ˘
¤˝¤Ś¤Ç¤Ę¤ą¤ě¤Đ root ĽÉĽáĽ¤Ľó¤Ť¤é¸Ąş÷¤ľ¤ě¤Ţ¤šĄŁ¤ł¤ě¤ĎĄ˘
mumble.bar.edu ¤Č
mumble.edu
¤Č¤¤¤Ś¤ł¤Č¤Ę¤Ă¤żĽÉĽáĽ¤ĽóĚž¤ËÂФˇ¤ĆĽŰĽšĽČĚž¤ÎĽľĄźĽÁ¤Ź¤Ş¤ł¤Ę¤ď¤ě¤Ć¤¤¤ż°ĘÁ°¤Îżś¤ëÉń¤¤¤Č¤Ď°Ű¤Ę¤Ă¤ż¤â¤Î¤Ç¤šĄŁ
¤ł¤Î¤č¤Ś¤Ęťö¤Ź°¤¤Îă¤â¤ˇ¤Ż¤ĎĽťĽĽĺĽęĽĆĽŁĽŰĄźĽë¤Č¤ß¤Ę¤ľ¤ě¤ëÍýÍł¤Ë¤Ä¤¤¤Ć¤Ď
RFC 1535 ¤ň¸Ť¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ/etc/resolv.conf ¤Ç
domain foo.bar.edu
¤Č˝ń¤¤¤Ć¤˘¤ëšÔ¤ň
search foo.bar.edu bar.edu
¤Č˝ń¤´š¤¨¤ë¤ł¤Č¤Çžĺ¤Î¤č¤Ś¤Ę¤ł¤Č¤Ź¤Ç¤¤Ţ¤šĄŁ
¤ˇ¤Ť¤ˇĄ˘RFC 1535 ¤Ë¤˘¤ë¤č¤Ś¤Ë¸Ąş÷˝ç˝ř¤Ź
ĆâÉô (local) ¤Čł°Éô (public) ¤Î´ÉÍý¤ÎśłŚ
¤ň¤Ţ¤ż¤Ź¤Ę¤¤¤č¤Ś¤Ë¤ˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁsendmail ¤Ź mail loops back to
myself ¤Č¤¤¤ŚĽáĽĂĽťĄźĽ¸¤ň˝Đ¤š¤Î¤Ç¤š¤ŹĄŁsendmail
FAQ ¤ËźĄ¤Î¤č¤Ś¤Ë˝ń¤¤¤Ć¤˘¤ę¤Ţ¤šĄŁLocal configuration error ¤Č¤¤¤ŚĽáĽĂĽťĄźĽ¸¤Ź˝Đ¤Ţ¤šĄŁÎ㤨¤ĐĄ˘
553 relay.domain.net config error: mail loops back to myself
554 <user@domain.net>... Local configuration error
¤Î¤č¤Ś¤Ę´ś¤¸¤Ç¤š¤ŹĄ˘¤É¤Ś¤ˇ¤ż¤é˛ňˇč¤Ç¤¤Ţ¤š¤Ť?
¤ł¤ě¤ĎĄ˘Î㤨¤Đ domain.net ¤Î¤č¤Ś¤ĘĽÉĽáĽ¤Ľó°¸¤Ć¤ÎĽáĄźĽë¤ň
MX ĽěĽłĄźĽÉ¤ÇĆĂÄę¤ÎĽŰĽšĽČ(¤ł¤ł¤Ç¤Ď
relay.domain.net) ¤ËÁ÷¤í¤Ś¤Č¤ˇ¤ż¤Î¤ËĄ˘
¤˝¤ÎĽŰĽšĽČ¤Ç¤Ď domain.net
°¸¤Ć¤ÎĽáĄźĽë¤ňźő¤ąźč¤ě¤ë¤č¤Ś¤ĘŔßÄę¤Ë¤Ę¤Ă¤Ć¤¤¤Ę¤¤žěšç¤Ç¤šĄŁ
ŔßÄę¤ÎşÝ¤Ë
FEATURE(use_cw_file) ¤ňťŘÄꤡ¤Ć¤˘¤ëžěšç¤Ë¤Ď
/etc/mail/local-host-names ¤ÎĂć¤Ë domain.net ¤ňÄɲ䎤äݤŔ¤ľ¤¤ĄŁ
¤â¤ˇ¤Ż¤ĎĄ˘/etc/mail/sendmail.cf ¤ÎĂć¤Ë Cw domain.net
¤ňÄɲ䎤äݤŔ¤ľ¤¤ĄŁsendmail FAQ ¤Ď
¤Ë¤˘¤ę¤Ţ¤š¤Î¤ÇĄ˘
ĽáĄźĽë¤ÎŔßÄę¤Ë ¤Ş¤Ť¤ˇ¤Ę¤ł¤Č ¤Ź¤˘¤ě¤Đžď¤ËĆɤó¤Ç¤Ż¤Ŕ¤ľ¤¤ĄŁĽŔĽ¤Ľ˘ĽëĽ˘ĽĂĽ× PPPPPP
ĽŰĽšĽČ¤ÇĽáĄźĽëĽľĄźĽĐ¤ňźÂšÔ¤š¤ë¤Ë¤Ď¤É¤Ś¤ˇ¤ż¤é¤¤¤¤¤Î?LAN žĺ¤Ë¤˘¤ë FreeBSD ĽŢĽˇĽó¤ňĄ˘
Ľ¤ĽóĽżĄźĽÍĽĂĽČ¤ËŔÜÂł¤ˇ¤ż¤¤¤Č¤ˇ¤Ţ¤šĄŁFreeBSD ĽŢĽˇĽó¤ĎĄ˘¤˝¤Î
LAN ¤Ç¤ÎĽáĄźĽëĽ˛ĄźĽČĽŚĽ§Ľ¤¤Ë¤Ę¤ę¤Ţ¤šĄŁFreeBSD
ĽŢĽˇĽó¤ĎŔěÍŃŔţŔÜÂł¤Ç¤Ď¤˘¤ę¤Ţ¤ť¤ó (ĚőĂí: ĽŔĽ¤Ľ˘ĽëĽ˘ĽĂĽ×ŔÜÂł¤Ę¤É)ĄŁ¤ł¤ě¤Ë¤ĎĄ˘žŻ¤Ę¤Ż¤Č¤âĆó¤Ä¤ÎĘýËĄ¤Ź¤˘¤ę¤Ţ¤šĄŁ
°ě¤Ä¤Ď UUCPUUCP
¤ňťČ¤Ś¤ł¤Č¤Ç¤šĄŁ¤â¤Ś°ě¤Ä¤ÎĘýËĄ¤ĎĄ˘¤˘¤Ę¤ż¤ÎĽÉĽáĽ¤Ľó¤ËÂФš¤ëĽťĽŤĽóĽŔĽę
MX ĽľĄźĽÓĽš¤ňÄ󜥤š¤ëžďťţ˛ÔĆŻ¤ÎĽ¤ĽóĽżĄźĽÍĽĂĽČĽľĄźĽĐ¤ňÍѰդš¤ë¤ł¤Č¤Ç¤šĄŁ
¤ż¤Č¤¨¤ĐĄ˘¤˘¤Ę¤ż¤Î˛ńźŇ¤ÎĽÉĽáĽ¤Ľó¤Ź
example.com ¤ÇĄ˘
ISP ¤Ź¤˘¤Ę¤ż¤ÎĽÉĽáĽ¤Ľó¤Ë ĽťĽŤĽóĽŔĽę MX ĽľĄźĽÓĽš¤ňÄ󜥤š¤ë¤ż¤á¤Ë
example.net ĽÉĽáĽ¤Ľó¤ň
ÍѰդš¤ë¤Č¤ˇ¤ż¤éźĄ¤Î¤č¤Ś¤Ë¤ˇ¤Ţ¤šĄŁexample.com. MX 10 example.com.
MX 20 example.net.şÇ˝ŞĹŞ¤ĘĽáĄźĽëźőżŽŔč¤Č¤ˇ¤Ć¤ĎĄ˘
°ě¤Ä¤ÎĽŰĽšĽČ¤Ŕ¤ą¤ŹÄęľÁ¤ľ¤ě¤ë¤Ů¤¤Ç¤š
(example.com žĺ¤Î
/etc/mail/sendmail.cf ĽŐĽĄĽ¤Ľë¤ËĄ˘
Cw example.com ¤ňÄɲ䡤ޤš)ĄŁÁ÷żŽÂŚ¤Î sendmail ¤ŹĄ˘
ĽáĄźĽë¤ňÇŰÁ÷¤ˇ¤č¤Ś¤Č¤ˇ¤Ć¤¤¤ëťţĄ˘ĽâĽÇĽŕ¤ÎŔÜÂł¤ň˛đ¤ˇ¤Ć¤˘¤Ę¤ż¤Î¤Č¤ł¤í
(example.com)
¤ËŔÜÂł¤ˇ¤č¤Ś¤Č¤ˇ¤Ţ¤šĄŁÂçÄń¤ÎžěšçĄ˘
¤˘¤Ę¤ż¤ÎĽŢĽˇĽó¤ŹĽŞĽóĽéĽ¤Ľó¤Ç¤Ę¤¤¤ż¤á¤ËĄ˘
ŔÜÂł¤ĎĽżĽ¤ĽŕĽ˘ĽŚĽČ¤ˇ¤Ć¤ˇ¤Ţ¤Ś¤Ç¤ˇ¤ç¤ŚĄŁ
sendmail Ľ×ĽíĽ°ĽéĽŕ¤ĎźŤĆ°ĹŞ¤ËĄ˘
¤ż¤Č¤¨¤Đ¤˘¤Ę¤ż¤ÎĽ¤ĽóĽżĄźĽÍĽĂĽČĽ×ĽíĽĐĽ¤ĽŔ¤Ę¤É¤ÎĽťĽŤĽóĽŔĽę¤Î
MX ĽľĽ¤ĽČ (example.net)
¤ËĽáĄźĽë¤ňÇŰÁ÷¤š¤ë¤Ç¤ˇ¤ç¤ŚĄŁ
ĽťĽŤĽóĽŔĽę MX ĽľĽ¤ĽČ¤ĎÄę´üĹŞ¤Ë¤˘¤Ę¤ż¤ÎĽŰĽšĽČ¤ËŔÜÂł¤ˇĄ˘
Ľ×ĽéĽ¤ĽŢĽę MX ĽŰĽšĽČ
(example.com)
¤ËĽáĄźĽë¤ňÇŰÁ÷¤ˇ¤č¤Ś¤Č¤š¤ë¤Ç¤ˇ¤ç¤ŚĄŁĽíĽ°Ľ¤ĽóĽšĽŻĽęĽ×ĽČ¤Č¤ˇ¤ĆĄ˘
¤ł¤Î¤č¤Ś¤Ę¤â¤Î¤ňťČ¤Ś¤Č¤č¤¤¤Ç¤ˇ¤ç¤ŚĄŁ#!/bin/sh
# Put me in /usr/local/bin/pppmyisp
( sleep 60 ; /usr/sbin/sendmail -q ) &
/usr/sbin/ppp -direct pppmyispĽćĄźĽś¤´¤Č¤ËĽíĽ°Ľ¤ĽóĽšĽŻĽęĽ×ĽČ¤ňşî¤ę¤ż¤¤žěšç¤Ë¤ĎĄ˘
žĺľ¤ÎĽšĽŻĽęĽ×ĽČ¤ÎÂĺ¤ď¤ę¤ËĄ˘
sendmail -qRexample.com
¤ňťČÍѤš¤ë¤ł¤Č¤â¤Ç¤¤Ţ¤šĄŁ
¤ł¤Î¤č¤Ś¤Ë¤š¤ë¤ČĄ˘
ĽĽĺĄź¤ÎĂć¤Î example.com
¤ËÂФš¤ë¤š¤Ů¤Ć¤ÎĽáĄźĽë¤ĎĄ˘¤š¤°¤ËśŻŔŠĹŞ¤Ë˝čÍý¤ľ¤ě¤Ţ¤šĄŁ¤ľ¤é¤ËĄ˘źĄ¤Î¤č¤Ś¤Ę˛ţÎɤâ¤Ç¤¤Ţ¤šĄŁ°Ę˛ź¤ĎĄ˘&a.isp;
¤Ť¤éČ´żč¤ˇ¤Ć¤¤żĽáĽĂĽťĄźĽ¸¤Ç¤šĄŁ> ťä¤ż¤Á¤Ď¤ŞľŇÍͤËÂФˇ¤ĆĄ˘ĽťĽŤĽóĽŔĽę MX ¤ňÄ󜥤ˇ¤Ć¤¤¤Ţ¤šĄŁ
> ¤ŞľŇÍͤϰěĆü¤Ë˛ż˛ó¤Ťťä¤ż¤Á¤ÎĽľĄźĽÓĽš¤ËŔÜÂł¤ˇĄ˘ĽáĄźĽë¤ňČŕ¤é¤ÎĽ×ĽéĽ¤ĽŢĽę MX
> ¤Ëźő¤ąźč¤ę¤Ţ¤š (Čŕ¤é¤ÎĽÉĽáĽ¤Ľó¤ËÂФš¤ëĽáĄźĽë¤ŹĹţĂ夡¤żťţ¤Ë¤ĎĄ˘
> ťä¤ż¤Á¤ĎČŕ¤é¤ÎĽľĽ¤ĽČ¤ň¸Ć¤Ó˝Đ¤ˇ¤Ţ¤ť¤ó)ĄŁ
> ťä¤ż¤Á¤Î sendmail ¤ĎĄ˘30 ĘŹ¤´¤Č¤ËĽáĄźĽëĽĽĺĄź¤ËÎŻ¤Ă¤Ć¤¤¤ëĽáĄźĽë¤ňÇŰÁ÷¤ˇ¤Ţ¤šĄŁ
> ¤Á¤ç¤Ś¤É¤˝¤Îťţ¤ËĄ˘¤š¤Ů¤Ć¤ÎĽáĄźĽë¤ŹĽ×ĽéĽ¤ĽŢĽę MX ¤ËÁ÷¤é¤ě¤ż¤Ť¤É¤Ś¤Ť¤ňłÎ¤Ť¤á¤ë¤ż¤á¤Ë¤ĎĄ˘
> Čŕ¤é¤Ď 30 ĘŹ¤Ď ĽŞĽóĽéĽ¤Ľó¤Ç¤¤¤Ę¤ą¤ě¤Đ¤Ę¤ę¤Ţ¤ť¤óĄŁ
>
> ¤š¤Ů¤Ć¤ÎĽáĄźĽë¤ňşŁ¤š¤°Á÷¤ë¤ż¤á¤Ë sendmail ¤ň˝é´ü˛˝¤š¤ëĽłĽŢĽóĽÉ¤Ď¤˘¤ë¤Ç¤ˇ¤ç¤Ś¤Ť?
> ¤â¤Á¤í¤óťä¤ż¤Á¤ÎĽŢĽˇĽóžĺ¤Ë¤ĎĄ˘ĽćĄźĽś¤ĎĽëĄźĽČ (root) ¸˘¸Â¤ňťý¤Ă¤Ć¤¤¤Ţ¤ť¤óĄŁ
sendmail.cf ¤Î privacy flags ĽťĽŻĽˇĽçĽó¤ËĄ˘
Opgoaway,restrictqrun ¤ÎÄęľÁ¤Ź¤˘¤ę¤Ţ¤šĄŁ
root °Ęł°¤ÎĽćĄźĽś¤ŹĽĽĺĄź¤ň˝čÍý¤Ç¤¤ë¤č¤Ś¤Ë¤š¤ë¤Ë¤ĎĄ˘
restrictqrun ¤ňşď˝ü¤ˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ¤Ţ¤żĄ˘MX ¤ÎşĆÄ´Ŕ°¤ŹÉŹÍפŤ¤â¤ˇ¤ě¤Ţ¤ť¤óĄŁ
¤˘¤Ę¤ż¤Ź¤ż¤ĎĄ˘¸ÜľŇ¤ÎĽľĽ¤ĽČ¤ËÂФš¤ë°ěČÖÍĽŔčĹ٤Κ⤤ MX ¤Ę¤Î¤ÇĄ˘
źĄ¤Î¤č¤Ś¤ËÄęľÁ¤ˇ¤Ţ¤šĄŁ
# If we are the best MX for a host, try directly instead of generating
# local config error.
OwTrue
¤ł¤Î¤č¤Ś¤Ë¤š¤ë¤ČĄ˘ĽęĽâĄźĽČĽľĽ¤ĽČ¤Ť¤é¤ÎĽáĄźĽë¤ŹĄ˘
¸ÜľŇ¤ÎĽŢĽˇĽó¤ČŔÜÂł¤ˇ¤č¤Ś¤Č¤ť¤şĄ˘ÄžŔܤ˘¤Ę¤ż¤Ź¤ż¤ÎĽŰĽšĽČĽŢĽˇĽó¤ËÇŰÁ÷¤ľ¤ě¤ë¤č¤Ś¤Ë¤Ę¤ę¤Ţ¤šĄŁ
ĽŰĽšĽČĽŢĽˇĽó¤ËÇŰÁ÷¤ľ¤ě¤żĽáĄźĽë¤ĎĄ˘Âł¤¤¤Ć¸ÜľŇ¤ÎĽŢĽˇĽó¤ËÁ÷¤é¤ě¤Ţ¤šĄŁ
¤ł¤ě¤ĎĽŰĽšĽČĚž¤Ë¤Î¤ß͸ú¤Ę¤Î¤ÇĄ˘¸ÜľŇ¤ÎĽáĄźĽëĽŢĽˇĽó¤ËĄ˘
host.customer.com ¤Č¤ĎĘ̤˥˘customer.com ¤âÄęľÁ¤š¤ëÉŹÍפʤ˘¤ę¤Ţ¤šĄŁ
DNS žĺ¤ÇĄ˘customer.com ¤ËÂФš¤ë A ĽěĽłĄźĽÉ¤ňÄęľÁ¤ˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ¤Ę¤źÂž¤ÎĽŰĽšĽČ¤ËĽáĄźĽë¤ňÁ÷¤í¤Ś¤Č¤š¤ë¤ČĄ˘¤¤¤Ä¤â
Relaying Denied ¤ČĹܤé¤ě¤Ć¤ˇ¤Ţ¤Ś¤Î ?FreeBSD ¤ŹĽ¤ĽóĽšĽČĄźĽë¤ľ¤ě¤żĽÇĽŐĽŠĽëĽČ¤ÎžőÂ֤Ǥϥ˘
sendmail
¤Ďưşî¤ˇ¤Ć¤¤¤ëĽŰĽšĽČ¤Ť¤é¤ÎĽáĄźĽë¤Ŕ¤ą¤ňÁ÷¤ë¤č¤Ś¤ËŔßÄꤾ¤ě¤Ć¤¤¤Ţ¤šĄŁ
¤ż¤Č¤¨¤Đ POP3 ĽľĄźĽĐ¤ŹĽ¤ĽóĽšĽČĄźĽë¤ľ¤ě¤Ć¤¤¤ë¤Č¤š¤ë¤ČĄ˘
ĽćĄźĽś¤ĎłŘšť¤äżŚžě¤Ę¤Éž¤ÎĽęĽâĄźĽČ¤Îžě˝ę¤Ť¤éĽáĄźĽë¤ňłÎǧ¤š¤ë¤ł¤Č¤Ź
¤Ç¤¤Ţ¤šĄŁ¤ˇ¤Ť¤ˇĄ˘Čŕ¤é¤Ďł°Éô¤Ť¤é¤˝¤ÎĽŰĽšĽČ°Ęł°¤Ř¤ÎĽáĄźĽë¤ň
Á÷¤ë¤ł¤Č¤Ď¤ä¤Ď¤ę¤Ç¤¤Ţ¤ť¤óĄŁ
Ä̞異ĽáĄźĽë¤ňÁ÷¤í¤Ś¤Č¤ˇ¤Ć¤Ť¤éžŻ¤ˇ¤š¤ë¤ČĄ˘
5.7 Relaying Denied
¤Č¤¤¤ŚĽ¨ĽéĄźĽáĽĂĽťĄźĽ¸¤Î˝ń¤Ť¤ě¤żĽáĄźĽë¤Ź
MAILER-DAEMON ¤Ť¤éÁ÷¤é¤ě¤Ć¤Ż¤ë¤Ç¤ˇ¤ç¤ŚĄŁ¤ł¤ě¤ň˛ňˇč¤š¤ëĘýËĄ¤Ď¤¤¤Ż¤Ä¤Ť¤˘¤ę¤Ţ¤šĄŁ
°ěČÖ¤ÎŔľšśËĄ¤Ď /etc/mail/relay-domains
ĽęĽěĄźĽÉĽáĽ¤ĽóĽŐĽĄĽ¤Ľë¤Ë¤˘¤Ę¤ż¤Î ISP ¤ÎĽ˘ĽÉĽěĽš¤ň˝ń¤Ż¤ł¤Č¤Ç¤šĄŁ
¤ł¤ě¤ň¤š¤ë¤Î¤Ë´ĘĂą¤ĘĘýËĄ¤ĎźĄ¤Î¤Č¤Ş¤ę¤Ç¤šĄŁ&prompt.root; echo "your.isp.example.com" > /etc/mail/relay-domains¤ł¤ÎĽŐĽĄĽ¤Ľë¤ňşîŔŽ¤Ţ¤ż¤ĎĘÔ˝¸¤ˇ¤ż¤éĄ˘
sendmail ¤ňşĆľŻĆ°¤ˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ
¤â¤ˇ¤˘¤Ę¤ż¤ŹĽľĄźĽĐ´ÉÍýźÔ¤ÇĽáĄźĽë¤ňĽíĄźĽŤĽë¤ËÁ÷¤ę¤ż¤Ż¤Ę¤¤¤ŤĄ˘
ĽÝĽ¤ĽóĽČ¤ňťČÍѤˇ¤Ćž¤ÎĽŢĽˇĽó (¤äĄ˘¤ľ¤é¤Ëž¤Î ISP) ¤Î
ĽŻĽéĽ¤Ľ˘ĽóĽČ¤Ţ¤ż¤ĎĽˇĽšĽĆĽŕ¤ŘÁ÷¤ę¤ż¤¤ťţ¤ĎĄ˘¤Č¤Ć¤â¸ú˛Ě¤Ź¤˘¤ę¤Ţ¤šĄŁ
¤ľ¤é¤ËĄ˘¤˘¤Ę¤ż¤Ź°ě¤Ä¤˘¤ë¤¤¤ĎĆó¤Ä¤Ŕ¤ą¤ÎĽáĄźĽëĽ˘ĽŤĽŚĽóĽČ¤ň
ŔßÄꤡ¤Ć¤¤¤ëžěšç¤Ç¤â¤ł¤ě¤ĎČóžď¤ËÍÍѤǤšĄŁ
Äɲ䚤٤Ľ˘ĽÉĽěĽš¤Ź¤ż¤Ż¤ľ¤ó¤˘¤ëžěšç¤Ë¤ĎĄ˘
Ăą¤Ë¤ł¤ÎĽŐĽĄĽ¤Ľë¤ň¤˘¤Ę¤ż¤ÎšĽ¤¤ĘĽĆĽĽšĽČĽ¨ĽÇĽŁĽż¤ÇłŤ¤¤¤ĆĄ˘
¤˝¤ˇ¤Ć°ěšÔ¤Ë°ě¤Ä¤ş¤ÄĽÉĽáĽ¤Ľó¤ňÄɲ䎤äݤŔ¤ľ¤¤ĄŁyour.isp.example.com
other.isp.example.net
users-isp.example.org
www.example.org¤ł¤ě¤ÇĄ˘ĽęĽšĽČ¤ËˇÇşÜ¤ľ¤ě¤Ć¤¤¤ë¤š¤Ů¤Ć¤ÎĽŰĽšĽČ
(ĽćĄźĽś¤Ź¤˘¤Ę¤ż¤ÎĽˇĽšĽĆĽŕ¤ËĽ˘ĽŤĽŚĽóĽČ¤ňťý¤Ă¤Ć¤¤¤ë¤ČľŹÄꤚ¤ë)
¤Ť¤é¤˘¤Ę¤ż¤ÎĽˇĽšĽĆĽŕ¤ňÄ̤뤚¤Ů¤Ć¤ÎĽáĄźĽë¤ĎÁ÷żŽ¤ËŔޏů¤š¤ë¤Ç¤ˇ¤ç¤ŚĄŁ
¤ł¤ě¤Ď¤˘¤Ę¤ż¤ÎĽˇĽšĽĆĽŕ¤Ť¤é SPAM ¤ňÁ÷¤ë¤ł¤Č¤ňǧ¤á¤ë¤ł¤Č¤Ę¤ŻĄ˘
ĽęĽâĄźĽČ¤Ç¤˘¤Ę¤ż¤ÎĽˇĽšĽĆĽŕ¤Ť¤éĽáĄźĽë¤ňÁ÷¤ë¤ł¤Č¤ňĽćĄźĽś¤Ë
ǧ¤á¤ë¤ż¤á¤Î¤Č¤Ć¤â¤č¤¤ĘýËĄ¤Ç¤šĄŁŔčżĘĹŞ¤ĘĽČĽÔĽĂĽŻĽš¤ł¤ě¤Ť¤é¤ÎĽťĽŻĽˇĽçĽó¤Ç¤ĎĄ˘
ĽáĄźĽë¤ÎŔßÄę¤äĽÉĽáĽ¤ĽóÁ´ÂΤΤż¤á¤ÎĽáĄźĽë¤ÎŔßÄę¤Č¤¤¤Ă¤ż¤ľ¤é¤ËĆÍšţ¤ó¤ŔĎĂÂę¤Ë¤Ä¤¤¤Ćż¨¤ě¤Ţ¤šĄŁ´đËÜťöšŕemailŔßÄꤢ¤Ę¤ż¤ÎĽŢĽˇĽó¤Ë FreeBSD ¤ňÉáÄ̤˼¤ĽóĽšĽČĄźĽë¤ˇ¤ĆĄ˘
/etc/resolv.conf ĽŐĽĄĽ¤Ľë¤ňŔßÄꤚ¤ë¤ŤĄ˘
¤Ţ¤ż¤ĎĽÍĄźĽŕĽľĄźĽĐ¤ňÁö¤é¤ť¤ě¤ĐĄ˘
ž¤ÎĽŰĽšĽČ¤ŘĹŝҼᥟĽë¤ňÁ÷¤ë¤ł¤Č¤Ź¤Ç¤¤ë¤č¤Ś¤Ë¤Ę¤ę¤Ţ¤šĄŁ
¤˘¤Ę¤ż¤ÎĽŰĽšĽČ°¸¤ÎĽáĄźĽë¤ň¤˘¤Ę¤żźŤżČ¤Î FreeBSD ĽŰĽšĽČžĺ¤Î
MTA (¤ż¤Č¤¨¤Đ sendmail)
¤ËÇŰÁ÷¤š¤ë¤č¤Ś¤Ë¤ˇ¤ż¤¤žěšç¤Ë¤ĎĄ˘źĄ¤ÎĆó¤Ä¤ÎĘýËĄ¤Ź¤˘¤ę¤Ţ¤šĄŁźŤżČ¤ÇĽÍĄźĽŕĽľĄźĽĐĄź¤ňźÂšÔ¤ˇĄ˘
źŤĘŹ¤ÎĽÉĽáĽ¤Ľó¤ňťý¤ÄĄŁÎ㤨¤Đ
FreeBSD.orgĄŁ¤˘¤Ę¤ż¤ÎĽŰĽšĽČ¤ŘÄžŔܼᥟĽë¤ŹÇŰÁ÷¤ľ¤ě¤ë¤č¤Ś¤Ë¤š¤ëĄŁ
¤ł¤ě¤ĎĽáĄźĽë¤Ź¤˘¤Ę¤ż¤ÎĽŢĽˇĽó¤Î¸˝şß¤Î
DNS Ěž¤ËÄžŔÜÇŰÁ÷¤ľ¤ě¤ë¤č¤Ś¤Ë¤š¤ë¤ł¤Č¤Ë¤č¤ęźÂ¸˝¤Ç¤¤Ţ¤šĄŁ
¤ż¤Č¤¨¤Đ example.FreeBSD.orgĄŁSMTPžĺ¤Î¤É¤Á¤é¤ňÁŞ¤Öžěšç¤Ç¤âĄ˘źŤĘŹ¤ÎĽŰĽšĽČ¤ËÄžŔܼᥟĽë¤ŹÇŰÁ÷¤ľ¤ě¤ë¤č¤Ś¤Ë¤š¤ë¤Ë¤Ďšąľ×ĹŞ¤Ç
ŔĹĹŞ ¤Ę IP Ľ˘ĽÉĽěĽš
(¤Ű¤Č¤ó¤É¤Î PPP ĽŔĽ¤Ľ˘ĽëĽ˘ĽĂĽ×ŔßÄę¤ÇÍѤ¤¤é¤ě¤ëưŪ¤ĘĽ˘ĽÉĽěĽš¤Ç¤Ď¤Ę¤Ż)
¤ňťý¤Ă¤Ć¤¤¤Ę¤ą¤ě¤Đ¤Ę¤ę¤Ţ¤ť¤óĄŁ
¤â¤ˇĽŐĽĄĽ¤Ľ˘ĽŚĽŠĄźĽë¤ÎĂć¤Ë¤¤¤ë¤Ę¤é¤ĐĄ˘
SMTP ĽČĽéĽŐĽŁĽĂĽŻ¤ŹÄ̲ᤡ¤Ć¤Ż¤ě¤Ę¤¤¤Č¤¤¤ą¤Ţ¤ť¤óĄŁ
¤â¤ˇźŤĘŹ¤ÎĽŰĽšĽČ¤ÇĽáĄźĽë¤ňÄžŔÜźő¤ąźč¤ę¤ż¤¤¤Ę¤é¤ĐĄ˘
źĄ¤ÎĆó¤Ä¤Î¤Ś¤Á¤Î¤É¤Á¤é¤Ť¤Ź¤Ç¤¤Ć¤¤¤ë¤ł¤Č¤ňłÎǧ¤ˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ
- MX ĽěĽłĄźĽÉźŤĘŹ¤ÎĽÉĽáĽ¤Ľó¤Ç¤Î
- (°ěČÖĂÍ¤ÎžŽ¤ľ¤¤) MX ĽěĽłĄźĽÉ¤ŹźŤĘŹ¤ÎĽŰĽšĽČ¤Î
+ (°ěČÖĂÍ¤ÎžŽ¤ľ¤¤) MX ĽěĽłĄźĽÉMX ĽěĽłĄźĽÉ¤ŹźŤĘŹ¤ÎĽŰĽšĽČ¤Î
IP Ľ˘ĽÉĽěĽš¤ňşš¤ˇ¤Ć¤¤¤ë¤ł¤Č¤ňłÎǧ¤š¤ëĄŁźŤĘŹ¤ÎĽÉĽáĽ¤Ľó¤ÎĂć¤ËźŤĘŹ¤ÎĽŰĽšĽČÍѤÎ
MX Ľ¨ĽóĽČĽę¤Ź¤Ę¤¤¤ł¤Č¤ňłÎǧ¤š¤ëĄŁžĺ¤Î¤É¤Á¤é¤Ť¤ŹŔßÄꤾ¤ě¤Ć¤¤¤ě¤ĐĄ˘
źŤĘŹ¤ÎĽŰĽšĽČ¤ÇĽáĄźĽë¤ňźő¤ąźč¤ë¤ł¤Č¤Ź¤Ç¤¤ë¤Ç¤ˇ¤ç¤ŚĄŁźĄ¤ÎĽłĽŢĽóĽÉ¤ňźÂšÔ¤ˇ¤Ć¤ß¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ&prompt.root; hostname
example.FreeBSD.org
&prompt.root; host example.FreeBSD.org
example.FreeBSD.org has address 204.216.27.XX¤â¤ˇ¤˘¤Ę¤ż¤ÎĽŢĽˇĽó¤Źžĺľ¤ÎĽáĽĂĽťĄźĽ¸¤Ŕ¤ą¤ň˝ĐÎϤˇ¤ż¤Ę¤é¤ĐĄ˘
yourlogin@example.FreeBSD.org
¤Ř¤ÎĽáĄźĽë¤ĎĚäÂę¤Ę¤ŻÇŰÁ÷¤ľ¤ě¤ë¤Ç¤ˇ¤ç¤Ś
(sendmail ¤Ź
example.FreeBSD.org
žĺ¤ÇŔľ¤ˇ¤ŻĆ°şî¤ˇ¤Ć¤¤¤ë¤Č˛žÄꤡ¤Ţ¤š)ĄŁžĺľ¤ÎĽáĽĂĽťĄźĽ¸¤ÎÂĺ¤ď¤ę¤ËĄ˘&prompt.root; host example.FreeBSD.org
example.FreeBSD.org has address 204.216.27.XX
example.FreeBSD.org mail is handled (pri=10) by hub.FreeBSD.org¤Č¤¤¤ŚĽáĽĂĽťĄźĽ¸¤Ź˝ĐÎϤľ¤ě¤żžěšç¤ĎĄ˘
¤˘¤Ę¤ż¤ÎĽŰĽšĽČ (example.FreeBSD.org)
¤Ë°¸¤Ć¤żĽáĄźĽë¤ĎÁ´¤ĆÄžŔÜÇŰÁ÷¤ľ¤ě¤ş¤Ë hub
žĺ¤ÎĆą¤¸ĽćĄźĽśĄźĚž¤ËÇŰÁ÷¤ľ¤ě¤Ţ¤šĄŁžĺ¤ÎžđĘó¤Ď DNS ĽľĄźĽĐĄź¤Ź°ˇ¤¤¤Ţ¤šĄŁ
ĽáĄźĽëĽëĄźĽĆĽŁĽóĽ°žđĘó¤ň¤â¤Ä DNS ĽěĽłĄźĽÉ¤ĎĄ˘
Mail eXchange Ľ¨ĽóĽČĽęĄź¤Ç¤šĄŁ
MX Ľ¨ĽóĽČĽę¤ŹÂ¸şß¤ˇ¤Ę¤¤žěšç¤Ë¤ĎĄ˘IP Ľ˘ĽÉĽěĽš¤Ë¤ˇ¤ż¤Ź¤Ă¤ĆĄ˘
ÄžŔܰ¸ŔčĽŰĽšĽČ¤ËÇŰÁ÷¤ľ¤ě¤Ţ¤šĄŁfreefall.FreeBSD.org
¤Î¸˝ťţĹŔ¤Ç¤Î MX Ľ¨ĽóĽČĽę¤ĎĄ˘źĄ¤Î¤č¤Ś¤Ë¤Ę¤Ă¤Ć¤¤¤Ţ¤šĄŁfreefall MX 30 mail.crl.net
freefall MX 40 agora.rdrop.com
freefall MX 10 freefall.FreeBSD.org
freefall MX 20 who.cdrom.comfreefall ¤ĎÂż¤Ż¤Î MX Ľ¨ĽóĽČĽę¤ňťý¤Ă¤Ć¤¤¤Ţ¤šĄŁ
°ěČÖ MX ¤ÎĂÍ¤ÎžŽ¤ľ¤¤ĽŰĽšĽČ¤ŹÍřÍѲÄÇ˝¤Ęžěšç¤ĎÄžŔܼᥟĽë¤ňźő¤ąźč¤ę¤Ţ¤šĄŁ
¤â¤ˇ¤Ę¤Ë¤Ť¤ÎÍýÍł¤ÇĽ˘ĽŻĽťĽš¤Ź¤Ç¤¤Ę¤¤ťţ¤Ë¤ĎĄ˘
ž¤ÎĽŰĽšĽČ (¤Č¤¤É¤ ĽĐĽĂĽŻĽ˘ĽĂĽ× MX ¤Č¸Ć¤Đ¤ě¤Ţ¤š)
¤Ź°ěťţĹŞ¤ËĽáĄźĽë¤ňźő¤ąźč¤ę¤Ţ¤šĄŁ¤˝¤ˇ¤ĆĄ˘
¤č¤ęĂÍ¤ÎžŽ¤ľ¤¤ĽŰĽšĽČ¤ŹÍřÍѲÄÇ˝¤Ë¤Ę¤Ă¤ż¤Č¤¤ËĽáĄźĽë¤ňĹϤˇĄ˘
şÇ˝ŞĹޤ˰ěČÖĂÍ¤ÎžŽ¤ľ¤¤ĽŰĽšĽČ¤ËĹϤę¤Ţ¤šĄŁťČ¤¤žĄźę¤ň¤č¤Ż¤š¤ë¤ż¤á¤Ë¤ĎĄ˘ÂĺÂؤΠMX ĽľĽ¤ĽČ¤ĎĄ˘¤˝¤ě¤ž¤ě
Ę̤ΡĐĎŠ¤ÇĽ¤ĽóĽżĄźĽÍĽĂĽČ¤ŘŔÜÂł¤ˇ¤Ć¤¤¤ë¤Č¤č¤¤¤Ç¤ˇ¤ç¤ŚĄŁ
Ľ¤ĽóĽżĄźĽÍĽĂĽČĽ×ĽíĽĐĽ¤ĽŔ¤Ţ¤ż¤Ďž¤Î´ŘϢĽľĽ¤ĽČ¤ŹĄ˘¤ł¤ÎĽľĄźĽÓĽš¤ň
Ä󜥤š¤ë¤ł¤Č¤Ź¤Ç¤¤Ţ¤šĄŁ¤˘¤Ę¤ż¤ÎĽÉĽáĽ¤Ľó¤ËÂФš¤ëĽáĄźĽëŔßÄęĽáĄźĽëĽŰĽšĽČ (ĽáĄźĽëĽľĄźĽĐĄź¤Č¤ˇ¤Ć¤âĂΤé¤ě¤Ć¤¤¤Ţ¤š)
¤ňĽťĽĂĽČĽ˘ĽĂĽ×¤š¤ë¤ż¤á¤Ë¤ĎĄ˘
¤¤¤í¤¤¤í¤ĘĽďĄźĽŻĽšĽĆĄźĽˇĽçĽó¤Ë°¸¤Ć¤żÁ´¤Ć¤ÎĽáĄźĽë¤ňźő¤ą¤ëÉŹÍפʤ˘¤ę¤Ţ¤šĄŁ
´đËÜĹŞ¤Ë¤ĎĄ˘¤˘¤Ę¤ż¤ÎĽÉĽáĽ¤ĽóĆâ (¤ł¤Îžěšç¤Ŕ¤Č
*.FreeBSD.org)
¤Î¤š¤Ů¤Ć¤ÎĽŰĽšĽČĚž°¸¤Ć¤Î¤š¤Ů¤Ć¤ÎĽáĄźĽë¤ň źő¤ąźč¤Ă¤ĆĄ˘
¤˝¤ÎĽáĄźĽë¤ň¤˘¤Ę¤ż¤ÎĽáĄźĽëĽľĄźĽĐĄź¤ËÇŰÁ÷¤ˇĄ˘
ĽćĄźĽśĄź¤ŹĽŢĽšĽżĽáĄźĽëĽľĄźĽĐžĺ¤ÇĽáĄźĽë¤ňĽÁĽ§ĽĂĽŻ¤Ç¤¤ë¤č¤Ś¤Ë¤ˇ¤Ţ¤šĄŁDNSĎäň´ĘĂą¤Ë¤š¤ë¤ż¤á¤ËĄ˘¤˘¤ëĽćĄźĽśĄź¤ÎĽ˘ĽŤĽŚĽóĽČ¤Ď¤É¤ÎĽŢĽˇĽó¤Ç¤âĆą¤¸ĽćĄźĽśĄźĚž¤Ë¤š¤Ů¤¤Ç¤šĄŁ
¤˝¤Î¤ż¤á¤Ë¤Ď &man.adduser.8; ¤ňťČ¤Ă¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁťČÍѤš¤ëÍ˝Äę¤ÎĽáĄźĽëĽŰĽšĽČ¤ĎĄ˘
łĆĽďĄźĽŻĽšĽĆĄźĽˇĽçĽó¤´¤Č¤ËĽáĄźĽë¸ň´š¤Ź
¤Ç¤¤ë¤č¤Ś¤ËŔßÄꤾ¤ě¤Ć¤¤¤Ę¤ą¤ě¤Đ¤Ę¤ę¤Ţ¤ť¤óĄŁ
¤ł¤ě¤Ď DNS ¤ÎŔßÄę¤ÇźĄ¤Î¤č¤Ś¤ËšÔ¤Ę¤Ś¤ł¤Č¤Ź¤Ç¤¤Ţ¤šĄŁexample.FreeBSD.org A 204.216.27.XX ; ĽďĄźĽŻĽšĽĆĄźĽˇĽçĽó
MX 10 hub.FreeBSD.org ; ĽáĄźĽëĽŰĽšĽČ¤ł¤ě¤ĎĄ˘ĽďĄźĽŻĽšĽĆĄźĽˇĽçĽó¤Î A ĽěĽłĄźĽÉ¤Ź¤É¤ł¤ňťŘ¤ˇ¤Ć¤¤¤č¤Ś¤Č¤â
¤˝¤ÎĽďĄźĽŻĽšĽĆĄźĽˇĽçĽó°¸¤Ć¤ÎĽáĄźĽë¤ňĽáĄźĽëĽŰĽšĽČ¤ËĹžÁ÷¤š¤ëĄ˘¤Č¤¤¤Ś¤â¤Î¤Ç¤šĄŁźŤÁ°¤Ç DNS ĽľĄźĽĐ¤ňążÍѤˇ¤Ć¤¤¤ë¤Î¤Ç¤Ę¤ą¤ě¤ĐĄ˘
¤ł¤ÎşîśČ¤ĎźŤĘŹ¤Ç¤ĎšÔ¤¨¤Ţ¤ť¤óĄŁźŤĘŹ¤Ç DNS
ĽľĄźĽĐ¤ňążÍѤˇ¤Ę¤¤¤Č¤Ť¤Ç¤¤Ę¤¤¤Č¤¤¤Śžěšç¤ĎĄ˘
¤˘¤Ę¤ż¤Î DNS ¤ňÄ󜥤ˇ¤Ć¤¤¤ëĽ¤ĽóĽżĄźĽÍĽĂĽČĽ×ĽíĽĐĽ¤ĽŔ¤Ę¤É¤Ë°ÍÍꤡ¤Ć
şîśČ¤ňšÔ¤Ă¤Ć¤â¤é¤Ă¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ¤â¤ˇĽĐĄźĽÁĽăĽëĹŝҼᥟĽëĽŰĽšĽČ¤ňążÍѤš¤ë¤Ę¤éźĄ¤ÎžđĘó¤ŹĚň¤ËΊ¤Ä¤Ç¤ˇ¤ç¤ŚĄŁ
Îă¤Č¤ˇ¤ĆĄ˘¤˘¤Ę¤ż¤Ë¤ĎźŤĘŹ¤ÎĽÉĽáĽ¤ĽóĄ˘¤ł¤ł¤Ç¤Ď
customer1.orgĄ˘
¤ňťý¤Ă¤Ć¤¤¤ë¸ÜľŇ¤Ź¤¤¤ë¤Č¤ˇ¤Ţ¤ˇ¤ç¤ŚĄŁ
¤˘¤Ę¤ż¤Ď customer1.org °¸¤Ć¤ÎÁ´¤Ć¤ÎĽáĄźĽë¤ň
mail.myhost.com ¤Č¤¤¤ŚĽáĄźĽëĽŰĽšĽČ¤Ë˝¸¤á¤ż¤¤¤Č¤ˇ¤Ţ¤šĄŁ
DNS Ľ¨ĽóĽČĽęĄź¤ĎźĄ¤Î¤č¤Ś¤Ë¤Ę¤ë¤Ç¤ˇ¤ç¤ŚĄŁcustomer1.org MX 10 mail.myhost.comcustomer1.org
¤ËÂФˇ¤ĆĹŝҼᥟĽë¤ňÁ÷¤ę¤ż¤¤¤Ŕ¤ą¤Ę¤éĄ˘
A ĽěĽłĄźĽÉ¤ĎÉŹÍפ˘¤ę¤Ţ¤ť¤óĄŁcustomer1.org
¤ËÂФˇ¤Ć ping ¤ňźÂšÔ¤ˇ¤Ć¤âĄ˘
A ĽěĽłĄźĽÉ¤ŹÂ¸şß¤ˇ¤Ę¤¤¸Â¤ę¤Ś¤Ţ¤Ż¤¤¤Ť¤Ę¤¤¤ł¤Č¤ËÎą°Ő¤ˇ¤Ć¤Ş¤¤¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ¤ä¤é¤Ę¤ą¤ě¤Đ¤¤¤ą¤Ę¤¤şÇ¸ĺ¤Î¤ł¤Č¤ĎĄ˘
ĽáĄźĽëĽŰĽšĽČžĺ¤Î sendmail
¤ËÂФˇ¤Ć¤É¤ó¤ĘĽÉĽáĽ¤Ľó¤äĽŰĽšĽČ°¸¤ÎĽáĄźĽë¤ňźő¤ąźč¤ë¤Î¤ŤĄ˘
¤ňśľ¤¨¤ë¤ł¤Č¤Ç¤šĄŁ¤¤¤Ż¤Ä¤Ť¤ÎĘýËĄ¤Ź¤˘¤ę¤Ţ¤š¤ŹźĄ¤Î¤É¤Á¤é¤Ť¤Ç¤¤¤¤¤Ç¤ˇ¤ç¤ŚĄŁFEATURE(use_cw_file) ¤ňťČ¤Ă¤Ć¤¤¤ë¤Ę¤éĄ˘
/etc/mail/local-host-names
ĽŐĽĄĽ¤Ľë¤ËĽŰĽšĽČ¤ň˛Ă¤¨¤Ţ¤šĄŁ
¤â¤ˇ sendmail ¤ÎĽĐĄźĽ¸ĽçĽó¤Ź
8.10 ¤č¤ęÁ°¤Ç¤˘¤ě¤ĐłşĹöĽŐĽĄĽ¤Ľë¤Ď
/etc/sendmail.cw ¤Ç¤šĄŁ/etc/sendmail.cf ¤â¤ˇ¤Ż¤Ď
sendmail 8.10 °Ęšß¤Ę¤é
/etc/mail/sendmail.cf
¤Č¤¤¤Ă¤żĽŐĽĄĽ¤Ľë¤Ë Cwyour.host.com ¤Č¤¤¤ŚšÔ¤ň˛Ă¤¨¤Ţ¤šĄŁUUCP ¤Č¤Č¤â¤Ë SMTP ¤ňťČ¤ŚFreeBSD ¤Č¤Č¤â¤Ë˝Đ˛Ů¤ľ¤ě¤Ć¤¤¤ë
sendmail ¤ÎŔßÄę¤ĎĄ˘
ĽľĽ¤ĽČ¤ŹĽ¤ĽóĽżĄźĽÍĽĂĽČ¤ËÄžŔÜŔÜÂł¤ˇ¤Ć¤¤¤ë¤â¤Î¤Č¤ˇ¤ĆŔߡפľ¤ě¤Ć¤¤¤Ţ¤šĄŁ
UUCP ˇĐÍł¤ÇĽáĄźĽë¤ň¸ň´š¤ˇ¤ż¤¤ĽľĽ¤ĽČ¤ĎĄ˘Âž¤Ë¤â
ŔßÄęĽŐĽĄĽ¤Ľë¤ňĽ¤ĽóĽšĽČĄźĽë¤ˇ¤Ę¤ą¤ě¤Đ¤¤¤ą¤Ţ¤ť¤óĄŁ/etc/mail/sendmail.cf
¤ňźęư¤ÇÄ´Ŕ°¤š¤ë¤ł¤Č¤ĎŔčżĘĹŞ¤ĘĽČĽÔĽĂĽŻ¤Ç¤šĄŁ
sendmail ¤ÎĽĐĄźĽ¸ĽçĽó 8 ¤ĎŔßÄęĽŐĽĄĽ¤Ľë¤ň
&man.m4.1; Ľ×ĽęĽ×ĽíĽťĽĂĽľ¤Ť¤éŔ¸Ŕޤˇ¤Ţ¤šĄŁ
¤ł¤ě¤Ë¤č¤ęĄ˘šâĹ٤ËĂęžÝ˛˝¤ľ¤ě¤żŔßÄę¤ňšÔ¤Ś¤ł¤Č¤Ź¤Ç¤¤Ţ¤šĄŁ
&man.m4.1; ¤Ë¤č¤ëŔßÄęĽŐĽĄĽ¤Ľë¤Ď
/usr/src/usr.sbin/sendmail/cf
°Ę˛ź¤Ë¤˘¤ę¤Ţ¤šĄŁ¤â¤ˇĽˇĽšĽĆĽŕ¤ň¤š¤Ů¤Ć¤ÎĽ˝ĄźĽš¤Č¤Č¤â¤ËĽ¤ĽóĽšĽČĄźĽë¤ˇ¤Ć¤¤¤Ę¤ą¤ě¤ĐĄ˘
sendmail ¤ÎŔßÄęşŕÎÁ¤ĎĘŹłä¤ľ¤ě¤ż¸ÄĘ̤μ˝ĄźĽš tarball ¤ňźčĆŔ¤ˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ
FreeBSD ¤ÎĽ˝ĄźĽšĽłĄźĽÉ¤ŹĆţ¤Ă¤ż CDROM ¤ňĽŢĽŚĽóĽČ¤ˇ¤Ć¤¤¤ë¤Î¤Ę¤éĄ˘&prompt.root; cd /cdrom/src
&prompt.root; cat scontrib.?? | tar xzf - -C /usr/src/contrib/sendmail¤ČŸłŤ¤ˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ (ŸłŤ¤ˇ¤Ć¤â¤ż¤Ă¤żżôÉ´ KB ÄřĹ٤Ǥš)ĄŁ
cf ĽÇĽŁĽěĽŻĽČĽę¤Î
README ĽŐĽĄĽ¤Ľë¤Ď
m4 ¤Ë¤č¤ëŔßÄę¤Î´đËÜĹŞ¤Ęźę°ú¤Č¤ˇ¤ĆĚň¤ËΊ¤Ä¤Ç¤ˇ¤ç¤ŚĄŁUUCP ÇŰÁ÷¤ËÂĐąţ¤š¤ë¤ż¤á¤Î°ěČ֤褤ĘýËĄ¤Ď
mailertable ľĄÇ˝¤ňťČÍѤš¤ë¤ł¤Č¤Ç¤šĄŁ
¤ł¤ě¤ĎˇĐĎŠ¤ňˇčÄꤚ¤ë¤ż¤á¤Ë
sendmail
¤ŹťČÍѤǤ¤ëĽÇĄźĽżĽŮĄźĽš¤ňşîŔޤˇ¤Ţ¤šĄŁ¤Ţ¤ş¤Ď¤¸¤á¤Ë .mc
ĽŐĽĄĽ¤Ľë¤ňşîŔޤˇ¤Ę¤ą¤ě¤Đ¤¤¤ą¤Ţ¤ť¤óĄŁ
/usr/src/usr.sbin/sendmail/cf/cf
¤Ë¤¤¤Ż¤Ä¤ŤÎ㤏¤˘¤ę¤Ţ¤šĄŁfoo.mc
¤Č¤¤¤ŚĚžÁ°¤ÎĽŐĽĄĽ¤Ľë¤ň¤˘¤Ę¤ż¤ŹşîŔޤˇ¤ż¤Č¤š¤ë¤ČĄ˘
͸ú¤Ę sendmail.cf
ĽŐĽĄĽ¤Ľë¤ŘĘŃ´š¤š¤ë¤Ë¤ĎźĄ¤Î¤č¤Ś¤Ë¤š¤ë¤Ŕ¤ą¤Ç¤šĄŁ&prompt.root; cd /usr/src/usr.sbin/sendmail/cf/cf
&prompt.root; make foo.cf
&prompt.root; cp foo.cf /etc/mail/sendmail.cfĹľˇżĹŞ¤Ę .mc ĽŐĽĄĽ¤Ľë¤ĎźĄ¤Î¤č¤Ś¤Ë¤Ę¤ë¤Ç¤ˇ¤ç¤ŚĄŁVERSIONID(`Your version number') OSTYPE(bsd4.4)
FEATURE(accept_unresolvable_domains)
FEATURE(nocanonify)
FEATURE(mailertable, `hash -o /etc/mail/mailertable')
define(`UUCP_RELAY', your.uucp.relay)
define(`UUCP_MAX_SIZE', 200000)
define(`confDONT_PROBE_INTERFACES')
MAILER(local)
MAILER(smtp)
MAILER(uucp)
Cw your.alias.host.name
Cw youruucpnodename.UUCPaccept_unresolvable_domains,
nocanonify ¤Ş¤č¤Ó
confDONT_PROBE_INTERFACES ľĄÇ˝¤ň´Ţ¤ó¤Ç¤¤¤ëšÔ¤ĎĄ˘
ĽáĄźĽëÇŰÁ÷ťţ¤Ë¤Ţ¤Ă¤ż¤Ż DNS ¤ňťČÍѤˇ¤Ţ¤ť¤óĄŁ
UUCP_RELAY ¤Îľ˝Ň¤Ď UUCP ÇŰÁ÷¤ËÂĐąţ¤š¤ë¤Î¤ËÉŹÍפǤšĄŁ
¤˝¤ł¤ËĽ¤ĽóĽżĄźĽÍĽĂĽČĽŰĽšĽČĚž¤ňĂą¤Ë˝ń¤Ż¤Ŕ¤ą¤Ç
.UUCP pseudo ĽÉĽáĽ¤ĽóĽ˘ĽÉĽěĽš¤ň°ˇ¤Ś¤ł¤Č¤Ź¤Ç¤¤ë¤č¤Ś¤Ë¤Ę¤ę¤Ţ¤šĄŁ
ÂçÄń¤ÎžěšçĄ˘¤˘¤Ę¤ż¤Î ISP ¤ÎĽáĄźĽëĽęĽěĄź¤ň¤˝¤ł¤ËĆţÎϤš¤ë¤Ç¤ˇ¤ç¤ŚĄŁźĄ¤ËĄ˘
/etc/mail/mailertable ¤ŹÉŹÍפˤʤę¤Ţ¤šĄŁ
ĽáĄźĽë¤ňÇŰÁ÷¤š¤ëĽęĽóĽŻ¤Źł°łŚ¤Č¤Î´Ö¤Ë°ě¤Ä¤Ŕ¤ą¤Îžěšç¤ĎĄ˘
źĄ¤Î¤č¤Ś¤ËĽŐĽĄĽ¤Ľë¤ňľ˝Ň¤š¤ë¤Ŕ¤ą¤Ç˝˝ĘŹ¤Ç¤ˇ¤ç¤ŚĄŁ#
# makemap hash /etc/mail/mailertable.db < /etc/mail/mailertable
. uucp-dom:your.uucp.relayźĄ¤Ď¤ľ¤é¤ËĘŁť¨¤ĘÎă¤Ç¤šĄŁ#
# makemap hash /etc/mail/mailertable.db < /etc/mail/mailertable
#
horus.interface-business.de uucp-dom:horus
.interface-business.de uucp-dom:if-bus
interface-business.de uucp-dom:if-bus
.heep.sax.de smtp8:%1
horus.UUCP uucp-dom:horus
if-bus.UUCP uucp-dom:if-bus
. uucp-dom:¤Ď¤¸¤á¤Îť°šÔ¤ĎĽÉĽáĽ¤Ľó¤Ç°¸Ŕč¤ňťŘÄꤾ¤ě¤żĽáĄźĽë¤ŹĄ˘
ÇŰÁ÷ĎŠ¤ň śáĆť ¤š¤ë¤ż¤á¤ËĄ˘
ĽÇĽŐĽŠĽëĽČĽëĄźĽČ¤Ç¤Ď¤Ę¤ŻÂĺ¤ď¤ę¤Ë¤¤¤Ż¤Ä¤Ť¤Î UUCP ÎŮŔÜĽŰĽšĽČ¤ŘÁ÷¤é¤ě¤ëĆĂĘ̤ʞěšç¤ň°ˇ¤¤¤Ţ¤šĄŁ
źĄ¤ÎšÔ¤ĎĽáĄźĽë¤ň SMTP ¤ÇÇŰÁ÷˛ÄÇ˝¤ĘĽíĄźĽŤĽëĽ¤ĄźĽľĽÍĽĂĽČĽÉĽáĽ¤Ľó¤ŘÁ÷¤ę¤Ţ¤šĄŁ
şÇ¸ĺ¤Ë
uucp-neighbor
!recipient
¤ŹĽÇĽŐĽŠĽëĽČĽëĄźĽČ¤ňžĺ˝ń¤¤š¤ë¤ł¤Č¤ňľö˛Ä¤š¤ë¤ż¤á¤Î UUCP ÎŮŔÜĽŰĽšĽČ¤Ď
.UUCP ˛žÁۼɼἤĽóľËĄ¤Ç¸ŔľÚ¤ľ¤ě¤Ţ¤šĄŁ
şÇ¸ĺ¤ÎšÔ¤Ďžď¤Ëž¤Î¤š¤Ů¤Ć¤ŹĹö¤Ć¤Ď¤Ţ¤ëĽˇĽóĽ°ĽëĽÉĽĂĽČ¤Ç¤šĄŁ
¤ł¤ě¤Ď UUCP ÎŮŔÜĽŰĽšĽČ¤Ř¤Î UUCP ÇŰÁ÷¤ň¤š¤ë¤ł¤Č¤ÇĄ˘
Ŕ¤łŚ¤Ë¸ţ¤ą¤ż¤˘¤Ę¤ż¤ÎÉáĘ×ĹŞĽáĄźĽëĽ˛ĄźĽČĽŚĽ§Ľ¤¤Č¤ˇ¤ĆĚň¤ËΊ¤Á¤Ţ¤šĄŁ
uucp-dom: ĽĄźĽďĄźĽÉ¤Î¸ĺ¤í¤Ë¤˘¤ëĽÎĄźĽÉĚž¤Ď¤š¤Ů¤ĆĄ˘
uuname ĽłĽŢĽóĽÉ¤ňťČÍѤš¤ë¤ł¤Č¤ÇłÎ¤Ť¤á¤é¤ě¤ëŔľ¤ˇ¤¤
UUCP ÎŮŔÜĽŰĽšĽČ¤Ç¤˘¤ëÉŹÍפʤ˘¤ę¤Ţ¤šĄŁ¤ł¤ÎĽŐĽĄĽ¤Ľë¤ĎĄ˘źÂşÝ¤ËťČÍѤš¤ëÁ°¤Ë DBM
ĽÇĄźĽżĽŮĄźĽšˇÁź°¤ËĘŃ´š¤š¤ëÉŹÍפʤ˘¤ë¤ł¤Č¤ËĂí°Ő¤ˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ
¤ł¤ě¤ňźÂšÔ¤š¤ëĽłĽŢĽóĽÉĽéĽ¤Ľó¤Ď mailertable
ĽŐĽĄĽ¤Ľë¤ÎŔčĆŹ¤ËĽłĽáĽóĽČ¤Č¤ˇ¤Ć˝ń¤Ť¤ě¤Ć¤¤¤Ţ¤šĄŁ
mailertable ¤ňĘŃšš¤š¤ë¤ż¤Ó¤Ë¤¤¤Ä¤â¤ł¤ÎĽłĽŢĽóĽÉ¤ňźÂšÔ¤š¤ëÉŹÍפʤ˘¤ę¤Ţ¤šĄŁşÇ¸ĺ¤ÎĽ˘ĽÉĽĐĽ¤Ľš: ¤â¤ˇĄ˘
¤¤¤Ż¤Ä¤Ť¤ÎĽáĄźĽëĽëĄźĽĆĽŁĽóĽ°¤Ź¤Ś¤Ţ¤ŻĆ°¤¤¤Ć¤¤¤ë¤Ť¤É¤Ś¤ŤĘʤŤ¤é¤Ę¤¤¤Č¤¤Ď
sendmail ¤Ë
ĽŞĽ×ĽˇĽçĽó¤ň¤Ä¤ą¤ë¤ł¤Č¤ňłĐ¤¨¤Ć¤Ş¤¤¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ
¤ł¤ě¤Ď sendmail ¤ň
Ľ˘ĽÉĽěĽšĽĆĽšĽČĽâĄźĽÉ ¤ÇľŻĆ°¤ˇ¤Ţ¤šĄŁ
¤˘¤Ę¤ż¤ŹĽĆĽšĽČ¤ˇ¤ż¤¤ĽáĄźĽëĽëĄźĽĆĽŁĽóĽ°¤ÎĽ˘ĽÉĽěĽš¤ň¸ĺ¤Ë¤Ä¤ą¤ĆĄ˘
Ăą˝ă¤Ë 3,0 ¤ČĆţÎϤˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ
şÇ¸ĺ¤ÎšÔ¤ĎĄ˘ĆâÉô¤ÇťČ¤ď¤ě¤żĽáĄźĽëĽ¨ĄźĽ¸Ľ§ĽóĽČĄ˘
¤ł¤ÎĽ¨ĄźĽ¸Ľ§ĽóĽČ¤Ź¸Ć¤Ó˝Đ¤ľ¤ě¤żĚÜĹŞĂĎĽŰĽšĽČĄ˘¤Ş¤č¤Ó
(¤â¤ˇ¤Ť¤ˇ¤ż¤éĘŃ´š¤ľ¤ě¤ż) Ľ˘ĽÉĽěĽš¤ňÉ˝ź¨¤ˇ¤Ţ¤šĄŁ
¤ł¤ÎĽâĄźĽÉ¤ň˝ŞÎť¤š¤ë¤Ë¤Ď
CtrlD
¤ňĆţÎϤˇ¤Ţ¤šĄŁ&prompt.user; sendmail -bt
ADDRESS TEST MODE (ruleset 3 NOT automatically invoked)
Enter <ruleset> <address>
>3,0 foo@example.com
canonify input: foo @ example . com
...
parse returns: $# uucp-dom $@ your.uucp.relay $: foo < @ example . com . >
>^DĽŔĽ¤Ľ˘ĽëĽ˘ĽĂĽ×ŔÜÂł¤ÇĽáĄźĽë¤ňťČ¤Ś¤˘¤Ę¤ż¤Ź¸ÇÄę IP Ľ˘ĽÉĽěĽš¤ňťý¤Ă¤Ć¤¤¤ë¤Î¤Ę¤éĄ˘
ĽÇĽŐĽŠĽëĽČ¤Ť¤é˛ż¤âĘŃšš¤š¤ëÉŹÍפϤ˘¤ę¤Ţ¤ť¤óĄŁ
łä¤ę¤˘¤Ć¤é¤ě¤żĽ¤ĽóĽżĄźĽÍĽĂĽČĚž¤ňĽŰĽšĽČĚž¤ËŔßÄꤚ¤ě¤ĐĄ˘
sendmail ¤ŹťÄ¤ę¤ň¤ä¤Ă¤Ć¤Ż¤ě¤Ţ¤šĄŁ¤˘¤Ę¤ż¤ŹĆ°ĹŞ¤Ëłä¤ęĹö¤Ć¤é¤ě¤ż IP Ľ˘ĽÉĽěĽš¤ňťý¤Ă¤Ć¤¤¤ĆĄ˘
Ľ¤ĽóĽżĄźĽÍĽĂĽČ¤ËŔÜÂł¤š¤ë¤Î¤ËĽŔĽ¤Ľ˘ĽëĽ˘ĽĂĽ× PPP ¤ňťČÍѤˇ¤Ć¤¤¤ë¤Î¤Ę¤éĄ˘
¤Ş¤˝¤é¤Ż ISP ¤ÎĽáĄźĽëĽľĄźĽĐ¤ËĽáĄźĽëĽÜĽĂĽŻĽš¤Ź¤˘¤ë¤Ç¤ˇ¤ç¤ŚĄŁ
¤ł¤ł¤Ç¤ĎĄ˘¤˘¤Ę¤ż¤Î ISP ¤ÎĽÉĽáĽ¤Ľó¤Ź
example.net,
¤˘¤Ę¤ż¤ÎĽćĄźĽśĚž¤Ź user,
¤˘¤Ę¤ż¤ÎĽŢĽˇĽó¤Ď bsd.home
¤Č¸Ć¤Đ¤ě¤Ć¤¤¤ë¤â¤Î¤Č¤ˇ¤Ţ¤šĄŁ
¤Ţ¤żĄ˘ISP ¤Ť¤éĄ˘ĽáĄźĽëĽęĽěĄź¤Č¤ˇ¤Ć relay.example.net
¤ňťČÍѤˇ¤Ć¤č¤¤¤ČÄĚĂΤľ¤ě¤Ć¤¤¤ë¤Č¤ˇ¤Ţ¤šĄŁ(ĚőĂí: ISP žĺ¤Î) ĽáĄźĽëĽÜĽĂĽŻĽš¤Ť¤éĽáĄźĽë¤ňźčĆŔ¤š¤ë¤ż¤á¤Ë¤ĎĄ˘
źčĆŔĽ˘Ľ×ĽęĽąĄźĽˇĽçĽó¤ňĽ¤ĽóĽšĽČĄźĽë¤ˇ¤Ę¤¤¤Č¤¤¤ą¤Ţ¤ť¤óĄŁ
fetchmail ĽćĄźĽĆĽŁĽęĽĆĽŁ¤ĎĄ˘
¤ľ¤Ţ¤ś¤Ţ¤ĘĽ×ĽíĽČĽłĽë¤ÎÂż¤Ż¤ËÂĐąţ¤ˇ¤Ć¤¤¤ë¤Î¤Ç¤č¤¤ÁŞÂňťč¤Ç¤šĄŁ
Ä̞異¤˘¤Ę¤ż¤Î ISP ¤Ď POP3 ¤ňÄ󜥤ˇ¤Ć¤¤¤Ţ¤šĄŁ
¤˘¤Ę¤ż¤Ź user-PPP ¤ňťČÍѤˇ¤Ć¤¤¤ë¤Ę¤éĄ˘źĄ¤ÎĽ¨ĽóĽČĽę¤ň
/etc/ppp/ppp.linkup ¤ËÄɲ䚤뤳¤Č¤ÇĄ˘
Ľ¤ĽóĽżĄźĽÍĽĂĽČŔÜÂł¤ŹłÎΊ¤ˇ¤ż¤Č¤¤ËźŤĆ°ĹŞ¤ËĽáĄźĽë¤ňźčĆŔ¤š¤ë¤ł¤Č¤Ź¤Ç¤¤Ţ¤šĄŁMYADDR:
!bg su user -c fetchmail¤˘¤Ę¤ż¤ŹĽíĄźĽŤĽë¤Ç¤Ď¤Ę¤¤Ľ˘ĽŤĽŚĽóĽČ¤Ř¤ÎĽáĄźĽë¤ňÇŰÁ÷¤š¤ë¤ż¤á¤Ë
(˛źľ¤Î¤č¤Ś¤Ę) sendmail
¤ňťČÍѤˇ¤Ć¤¤¤ë¤Ę¤éĄ˘
Ľ¤ĽóĽżĄźĽÍĽĂĽČŔÜÂł¤ŹłÎΊ¤š¤ë¤Č¤š¤°¤ËĄ˘
sendmail
¤Ź¤˘¤Ę¤ż¤ÎĽáĄźĽëĽĽĺĄź¤ň˝čÍý¤ˇ¤ĆÍߤˇ¤¤¤Č¤Ş¤˝¤é¤ŻšÍ¤¨¤ë¤Ç¤ˇ¤ç¤ŚĄŁ
¤ł¤ě¤ňšÔ¤Ś¤Ë¤ĎĄ˘/etc/ppp/ppp.linkup ĽŐĽĄĽ¤Ľë¤Î
fetchmail ĽłĽŢĽóĽÉ¤Î¸ĺ¤ËźĄ¤ÎĽłĽŢĽóĽÉ¤ňÄɲ䎤äݤŔ¤ľ¤¤ĄŁ !bg su user -c "sendmail -q"bsd.home žĺ¤Ë user
¤Č¤¤¤ŚĽ˘ĽŤĽŚĽóĽČ¤ň˝ęͤˇ¤Ć¤¤¤ë¤Č¤ˇ¤Ţ¤šĄŁ
bsd.home žĺ¤Î user
¤ÎĽŰĄźĽŕĽÇĽŁĽěĽŻĽČĽę¤Ë .fetchmailrc
ĽŐĽĄĽ¤Ľë¤ňşîŔޤˇ¤Ţ¤šĄŁpoll example.net protocol pop3 fetchall pass MySecret¤ł¤ÎĽŐĽĄĽ¤Ľë¤ĎĽŃĽšĽďĄźĽÉ MySecret
¤ň´Ţ¤ó¤Ç¤¤¤ë¤Î¤ÇĄ˘user
¤ň˝ü¤ŻÂž¤ÎĂŻ¤Ë¤âĆɤá¤ë¤č¤Ś¤Ë¤Ę¤Ă¤Ć¤¤¤Ć¤Ď¤¤¤ą¤Ţ¤ť¤óĄŁŔľ¤ˇ¤¤ from: ĽŘĽĂĽŔ¤ÇĽáĄźĽë¤ňÁ÷¤ë¤ż¤á¤Ë¤ĎĄ˘
sendmail ¤Ź user@bsd.home
¤Ç¤Ď¤Ę¤Ż user@example.net ¤ňťČÍѤš¤ë¤č¤Ś¤Ë¤ˇ¤Ę¤Ż¤Ć¤Ď¤¤¤ą¤Ţ¤ť¤óĄŁ
¤Ţ¤żĄ˘ÁÇÁ᤯ĽáĄźĽëÁ÷żŽ¤ň¤š¤ë¤ż¤á¤Ë
sendmail ¤Ë¤š¤Ů¤Ć¤ÎĽáĄźĽë¤ň
relay.example.net ˇĐÍł¤ÇÁ÷¤ë¤č¤Ś¤Ë¤â¤ˇ¤ż¤¤¤Ť¤â¤ˇ¤ě¤Ţ¤ť¤óĄŁźĄ¤Î .mc ĽŐĽĄĽ¤Ľë¤Ç˝˝ĘŹ¤Ç¤ˇ¤ç¤ŚĄŁVERSIONID(`bsd.home.mc version 1.0')
OSTYPE(bsd4.4)dnl
FEATURE(nouucp)dnl
MAILER(local)dnl
MAILER(smtp)dnl
Cwlocalhost
Cwbsd.home
MASQUERADE_AS(`example.net')dnl
FEATURE(allmasquerade)dnl
FEATURE(masquerade_envelope)dnl
FEATURE(nocanonify)dnl
FEATURE(nodns)dnl
define(`SMART_HOST', `relay.example.net')
Dmbsd.home
define(`confDOMAIN_NAME',`bsd.home')dnl
define(`confDELIVERY_MODE',`deferred')dnl.mc ĽŐĽĄĽ¤Ľë¤ň sendmail.cf
ĽŐĽĄĽ¤Ľë¤ËĘŃ´š¤š¤ëĘýËĄ¤ÎžÜşŮ¤Ë¤Ä¤¤¤Ć¤ĎÁ°¤ÎŔá¤ňť˛žČ¤ˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ
¤Ţ¤żĄ˘sendmail.cf ĽŐĽĄĽ¤Ľë¤ňĘŃšš¤ˇ¤ż¸ĺ¤ĎĄ˘
sendmail ¤ňşĆľŻĆ°¤ˇËş¤ě¤Ę¤¤¤Ç¤Ż¤Ŕ¤ľ¤¤ĄŁSMTP ǧžÚĽáĄźĽëĽľĄźĽĐžĺ¤Ç SMTP ǧžÚ¤ňšÔ¤Ś¤ČĄ˘
Âż¤Ż¤ÎÍřą×¤Ź¤˘¤ę¤Ţ¤šĄŁ
SMTP ǧžÚ¤Ď sendmail
¤Ë¤â¤Ś°ě¤Ä¤ÎĽťĽĽĺĽęĽĆĽŁÁؤňÄɲ䚤뤳¤Č¤Ź¤Ç¤¤Ţ¤šĄŁ
¤ľ¤é¤ËĄ˘ĽŰĽšĽČ¤ňŔڤꤍ¤¨¤ëĽâĽĐĽ¤ĽëĽćĄźĽś¤Ë¤Č¤Ă¤Ć¤ĎĄ˘
¤˝¤ÎĹÔĹټᥟĽëĽŻĽéĽ¤Ľ˘ĽóĽČ¤ÎŔßÄę¤ňĘŃšš¤ť¤ş¤Č¤â
Ćą¤¸ĽáĄźĽëĽľĄźĽĐ¤ňÍřÍѤǤ¤ë¤č¤Ś¤Ë¤Ę¤ę¤Ţ¤šĄŁports ¤Ť¤é
security/cyrus-sasl
¤ňĽ¤ĽóĽšĽČĄźĽë¤ˇ¤Ţ¤šĄŁ
¤ł¤Î port ¤Ď
security/cyrus-sasl ¤Ë¤˘¤ę¤Ţ¤šĄŁ
security/cyrus-sasl
¤Ë¤Ď¤ł¤ł¤ÇťČÍѤš¤ëĘýËĄ¤ËÂФš¤ëÂż¤Ż¤ÎĽłĽóĽŃĽ¤ĽëĽŞĽ×ĽˇĽçĽó¤Ź¤˘¤ęĄ˘
łÎźÂ¤Ë ĽŞĽ×ĽˇĽçĽó¤ňÁŞÂň¤ˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁsecurity/cyrus-sasl
¤ňĽ¤ĽóĽšĽČĄźĽë¤ˇ¤ż¸ĺ¤Ë
/usr/local/lib/sasl/Sendmail.conf
¤ňĘÔ˝¸¤ˇ¤Ć (¤â¤ˇĚľ¤ą¤ě¤ĐşîŔޤˇ¤Ć) źĄ¤ÎšÔ¤ňÄɲ䎤äݤŔ¤ľ¤¤ĄŁpwcheck_method: passwd¤ł¤ÎĘýËĄ¤Ď sendmail
¤Ź¤˘¤Ę¤ż¤Î FreeBSD ¤Î passwd
ĽÇĄźĽżĽŮĄźĽš¤ËÂФˇ¤ĆǧžÚ¤š¤ë¤ł¤Č¤ň˛ÄÇ˝¤Ë¤ˇ¤Ţ¤šĄŁ
¤ł¤ÎĘýËĄ¤Ď SMTP ǧžÚ¤ËÉŹÍפȤʤ륢
¤˝¤ě¤ž¤ě¤ÎĽćĄźĽś¤ËÂФš¤ë°ěÁȤοˇ¤ˇ¤¤ĽćĄźĽśĚž¤ČĽŃĽšĽďĄźĽÉ¤ň
şîŔޤš¤ëşÝ¤ÎĽČĽéĽÖĽë¤ň¸ş¤é¤ˇĄ˘
ĽíĽ°Ľ¤ĽóĽŃĽšĽďĄźĽÉ¤ČĽáĄźĽëĽŃĽšĽďĄźĽÉ¤ňĆą¤¸¤Ţ¤Ţ¤Ë¤ˇ¤Ţ¤šĄŁ¤ł¤ł¤Ç /etc/make.conf ĘÔ˝¸¤ˇĄ˘
źĄ¤ÎšÔ¤ň˛Ă¤¨¤Ţ¤šĄŁSENDMAIL_CFLAGS=-I/usr/local/include/sasl1 -DSASL
SENDMAIL_LDFLAGS=-L/usr/local/lib
SENDMAIL_LDADD=-lsasl¤ł¤ě¤é¤ÎšÔ¤Ď sendmail ¤ËÂФˇ¤ĆĄ˘
ĽłĽóĽŃĽ¤Ľë¤š¤ë¤Č¤¤Ë cyrus-sasl
¤ČĽęĽóĽŻ¤š¤ë¤ż¤á¤ÎĹŹŔÚ¤ĘŔßÄ꼪Ľ×ĽˇĽçĽó¤ňÍż¤¨¤ë¤â¤Î¤Ç¤šĄŁ
sendmail ¤ňşĆĽłĽóĽŃĽ¤Ľë¤š¤ëÁ°¤Ë
cyrus-sasl
¤ŹĽ¤ĽóĽšĽČĄźĽë¤ľ¤ě¤Ć¤¤¤ë¤ł¤Č¤ňłÎ¤Ť¤á¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁźĄ¤ÎĽłĽŢĽóĽÉ¤ňĆţÎϤˇ¤Ć sendmail
¤ňşĆĽłĽóĽŃĽ¤Ľë¤ˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ&prompt.root; cd /usr/src/usr.sbin/sendmail
&prompt.root; make cleandir
&prompt.root; make obj
&prompt.root; make
&prompt.root; make installsendmail ¤ÎĽłĽóĽŃĽ¤Ľë¤Ď
/usr/src ¤ŹÂçÉý¤ËĘŃšš¤ľ¤ě¤Ć¤¤¤Ę¤Ż¤ĆĄ˘
ÉŹÍפʜŚÍĽéĽ¤ĽÖĽéĽę¤ŹÍřÍѲÄÇ˝¤Ç¤˘¤ě¤Đ˛ż¤ÎĚäÂę¤âľŻ¤ł¤é¤Ę¤¤¤Ç¤ˇ¤ç¤ŚĄŁsendmail
¤ňĽłĽóĽŃĽ¤Ľë¤ˇ¤ĆşĆĽ¤ĽóĽšĽČĄźĽë¤ˇ¤ż¸ĺ¤ĎĄ˘
/etc/mail/freebsd.mc ĽŐĽĄĽ¤Ľë
(¤Ţ¤ż¤Ď¤˘¤Ę¤ż¤Ź .mc
ĽŐĽĄĽ¤Ľë¤Č¤ˇ¤ĆťČÍѤˇ¤Ć¤¤¤ëĽŐĽĄĽ¤ĽëĄŁ
Âż¤Ż¤Î´ÉÍýźÔ¤ĎÍŁ°ě¤ÎĚžÁ°¤ňÍѤ¤¤ë¤ż¤á¤Ë &man.hostname.1; ¤Î˝ĐÎϤň
.mc ¤Č¤ˇ¤ĆťČÍѤš¤ë¤ł¤Č¤ňÁޤó¤Ç¤¤¤Ţ¤š)
¤ňĘÔ˝¸¤ˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ
źĄ¤ÎšÔ¤ň˛Ă¤¨¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁdnl set SASL options
TRUST_AUTH_MECH(`GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN')dnl
define(`confAUTH_MECHANISMS', `GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN')dnl
define(`confDEF_AUTH_INFO', `/etc/mail/auth-info')dnl¤ł¤ě¤é¤ÎĽŞĽ×ĽˇĽçĽó¤ĎĄ˘ĽćĄźĽś¤ňǧžÚ¤š¤ë¤ż¤á¤Ë
sendmail
¤ŹÍřÍѲÄÇ˝¤Ę°Ű¤Ę¤ëĘýËĄ¤ňŔßÄꤡ¤Ţ¤šĄŁ
¤â¤ˇ pwcheck
°Ęł°¤ÎĘýËĄ¤ňťČÍѤˇ¤ż¤¤¤Î¤Ę¤éĽÉĽĽĺĽáĽóĽČ¤ňť˛žČ¤ˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁşÇ¸ĺ¤Ë /etc/mail ¤Ç &man.make.1;
¤ňźÂšÔ¤ˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ
¤ł¤ě¤Ë¤č¤ęĄ˘żˇ¤ˇ¤¤ .mc
ĽŐĽĄĽ¤Ľë¤Ť¤é freebsd.cf ¤Č¤¤¤ŚĚžÁ°
(¤Ţ¤ż¤Ď¤˘¤Ę¤ż¤Î .mc ¤ËťČÍѤˇ¤Ć¤¤¤ëĚžÁ°) ¤Î
.cf ĽŐĽĄĽ¤Ľë¤ŹşîŔޤľ¤ě¤Ţ¤šĄŁ
¤˝¤ě¤Ť¤é make install restart
ĽłĽŢĽóĽÉ¤ňźÂšÔ¤ˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ
żˇ¤ˇ¤¤ .cf ĽŐĽĄĽ¤Ľë¤Ź
sendmail.cf ¤ËĽłĽÔĄź¤ľ¤ěĄ˘
sendmail ¤ŹĹŹŔڤ˺ƾŻĆ°¤ľ¤ě¤ë¤Ç¤ˇ¤ç¤ŚĄŁ
¤ł¤ÎźęÂł¤¤Ë¤Ä¤¤¤Ć¤ÎžÜşŮ¤Ď
/etc/mail/Makefile¤ňť˛žČ¤ˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ¤š¤Ů¤Ć¤Ź¤Ś¤Ţ¤Ż¤¤¤ą¤ĐĄ˘ĽíĽ°Ľ¤ĽóžđĘó¤ňĽáĄźĽëĽŻĽéĽ¤Ľ˘ĽóĽČ¤ËĆţÎϤˇĄ˘
ĽĆĽšĽČĽáĽĂĽťĄźĽ¸¤ňÁ÷¤ë¤ł¤Č¤Ź¤Ç¤¤ë¤Ç¤ˇ¤ç¤ŚĄŁ
¤č¤ęžÜşŮ¤ËÄ´¤Ů¤ë¤Ë¤Ď sendmail ¤Î
¤ň 13 ¤ËŔßÄꤡĄ˘
¤š¤Ů¤Ć¤ÎĽ¨ĽéĄź¤Ë¤Ä¤¤¤Ć /var/log/maillog
¤ň¸Ť¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ¤ł¤ÎĽľĄźĽÓĽš¤ŹĽˇĽšĽĆĽŕ¤ňľŻĆ°¤ˇ¤ż¸ĺ¤Ë¤¤¤Ä¤Ç¤âÍřÍѲÄÇ˝¤Č¤Ę¤ë¤č¤Ś¤ËĄ˘
/etc/rc.conf ¤ËźĄ¤ÎšÔ¤ňÄɲäˇ¤Ć¤Ş¤Ż¤Č¤č¤¤¤Ç¤ˇ¤ç¤ŚĄŁsasl_pwcheck_enable="YES"
sasl_pwcheck_program="/usr/local/sbin/pwcheck"¤ł¤ě¤Ë¤č¤ęĄ˘ĽˇĽšĽĆĽŕ¤ÎľŻĆ°ťţ¤Ë
SMTP_AUTH ¤ŹłÎźÂ¤Ë˝é´ü˛˝¤ľ¤ě¤ë¤Ç¤ˇ¤ç¤ŚĄŁžÜşŮ¤Ë¤Ä¤¤¤Ć¤Ď
SMTP ǧžÚ ¤Ë´Ř¤š¤ë
sendmail ¤Îʸ˝ń¤ňť˛žČ¤ˇ¤Ć¤Ż¤Ŕ¤ľ¤¤ĄŁ
diff --git a/nl_NL.ISO8859-1/articles/contributing/article.xml b/nl_NL.ISO8859-1/articles/contributing/article.xml
index 67b0ba7291..52e07d8212 100644
--- a/nl_NL.ISO8859-1/articles/contributing/article.xml
+++ b/nl_NL.ISO8859-1/articles/contributing/article.xml
@@ -1,574 +1,562 @@
Bijdragen aan &os;Vertaald door René Ladan.Dit artikel beschrijft de verschillende manieren waarop een
individu of organisatie kan bijdragen aan het &os;
Project.JordanHubbardBijgedragen door
&tm-attrib.freebsd;
&tm-attrib.ieee;
&tm-attrib.general;
$FreeBSD$$FreeBSD$bijdragenDus u wilt bijdragen aan &os;? Dat is mooi! &os;
bouwt op de bijdragen van zijn gebruikers om te
overleven. Uw bijdragen worden niet alleen gewaardeerd, ze zijn van
vitaal belang voor de aanhoudende groei van &os;.In tegenstelling tot wat sommige mensen u laten geloven, hoeft u
geen doorgewinterde programmeur of een goede vriend van het coreteam
van &os; te zijn opdat uw bijdragen geaccepteerd worden. Een groot
en groeiend aantal internationale bijdragende vrijwilligers, van een
grote variëteit aan leeftijden en technische expertisegebieden,
ontwikkelen &os;. Er is altijd meer werk te doen dan dat er mensen
zijn om het uit te voeren, en meer hulp wordt altijd
gewaardeerd.Het &os; project is verantwoordelijk voor een complete omgeving
van een besturingssysteem, en niet slechts voor alleen een kernel of
een paar verspreide gereedschappen. Hierom staan op onze
TODO-lijsten een groot aantal verschillende
taken: van documentatie, beta-testing en -presentatie, tot de
systeeminstaller en ver gespecialiseerde soorten van
kernelontwikkeling. Mensen van alle niveaus op bijna alle gebieden
kunnen zeer waarschijnlijk meehelpen aan het project.Commerciële entiteiten die betrokken zijn in
&os;-gerelateerde ondernemingen worden ook aangemoedigd om contact
met ons op te nemen. Heeft u een speciale uitbreiding nodig om uw
product te laten werken? U zult zien dat wij ontvankelijk zijn voor
uw verzoeken, op de voorwaarde dat ze niet te vreemdsoortig zijn.
Werkt u aan een product met toegevoegde waarde? Laat het ons weten!
Misschien kunnen we op sommige punten samenwerken. De wereld van
vrije software heeft te maken met vele bestaande aannamen over hoe
software wordt ontwikkeld, verkocht, en onderhouden, en we verzoeken
u om er op zijn minst nog eens naar te kijken.Wat is er nodigDe onderstaande lijst van taken en deelprojecten representeert
een soort amalgaam van verschillende
TODO-lijsten en verzoeken van
gebruikers.Voortdurende taken voor niet-programmeursVeel mensen die betrokken zijn bij &os; zijn geen
programmeurs. Het Project omvat documentatieschrijvers,
Webontwerpers, en mensen ter ondersteuning. Deze mensen hoeven
alleen een tijdsinvestering en een wil om te leren bij te
dragen.Lees regelmatig de FAQ en het Handboek door. Laat het
ons weten als er iets slecht is uitgelegd, is verlopen of
gewoon helemaal verkeerd is. Of stuur een reparatie in
(Docbook is niet moeilijk te leren, maar er is geen bezwaar
tegen inzendingen in ASCII).Help bij het vertalen van &os;-documentatie in uw eigen
taal. Als er al documentatie in uw taal bestaat, kunt u
helpen door aanvullende documenten te vertalen of te
controleren dat de vertalingen up-to-date zijn. Kijk eerst
op Translations
FAQ in de &os; Documentation Project Primer. U
bindt zich niet aan het vertalen van elk &os;-document door
dit te doen — als vrijwilliger kunt u zo veel of zo
weinig vertalen als u wilt. Als iemand eenmaal begint te
vertalen, sluiten andere mensen zich hier bijna altijd bij
aan. Als u slechts de tijd of energie heeft om
één document te vertalen, vertaal dan
alstublieft de installatie-instructies.Lees af en toe (of regelmatig) de &a.questions; en
&ng.misc;. Het kan veel voldoening geven om uw expertise te
delen en mensen helpen met het oplossen van hun problemen;
soms leert u zelf misschien iets nieuws! Deze fora kunnen
ook een inspiratiebron zijn voor dingen om aan te
werken.Voortdurende taken voor programmeursVoor de meeste van de hier genoemde taken is een
aanzienlijke tijdsinvestering, of diepe kennis van de kernel van
&os;, of beide nodig. Er zijn echter ook vele nuttige taken die
geschikt zijn voor weekend hackers.Als u &os;-CURRENT draait en een goede
Internetverbinding heeft, dan is er een machine current.FreeBSD.org die elke dag een
volledige uitgave bouwt—probeer zo nu en dan om de
nieuwste uitgave ervan te installeren en rapporteer alle
fouten in het proces.Lees de &a.bugs;. Er kunnen problemen zijn waarop u
constructief commentaar kunt geven of waarvoor u testbare
patches kunt geven. U kunt zelfs proberen om een van de
problemen zelf op te lossen.Als u bugfixes weet die succesvol op -CURRENT zijn
toegepast maar nog niet na een redelijk interval naar
-STABLE zijn samengevoegd (normaliter een aantal weken),
stuur de committer dan een beleefde herinnering.Verplaats bijgedragen software naar
src/contrib in de
broncodeboom.Verzeker dat de code in src/contrib up-to-date
is.Bouw de broncodeboom (of slechts een gedeelte ervan) met
extra waarschuwingen aangezet en ruim de waarschuwingen
op.Repareer waarschuwingen voor ports die verouderde dingen
zoals gets() of
malloc.h gebruiken.Als u ports heeft bijgedragen en u &os;-specifieke
veranderingen moest maken, stuur dan uw patches terug naar
de originele auteurs (dit maakt het gemakkelijker
voor u wanneer ze de volgende versie uitbrengen).Verkrijg kopieën van formele standaarden zoals
&posix;. Enkele links over deze standaarden staan op de
website van het &os; C99 & POSIX
Standards Conformance Project. Vergelijk het
gedrag van &os; met dat wat de standaard voorschrijft. Als
het gedrag verschilt, met name in subtiele of obscure
gedeelten van de specificatie, stuur er dan een PR over op.
Indien mogelijk, zoek uit hoe het te repareren en voeg een
patch bij het PR. Als u meent dat de standaard verkeerd is,
vraag dan het standaardorgaan om de vraag te
overwegen.Suggereer verdere taken voor deze lijst!Spit de PR-database doorprobleemrapportdatabaseDe &os;
PR-lijst laat alle huidige actieve probleemrapportages
en verzoeken voor verrijkingen zien die door gebruikers van &os;
zijn ingestuurd. De PR-database bevat zowel taken voor
programmeurs als voor niet-programmeurs. Bekijk de open PR's,
en kijk of iets uw interesse wekt. Sommige van deze kunnen heel
simpele taken zijn waarvoor gewoon een extra paar ogen nodig is
om te bevestigen dat de reparatie in de PR een goede is. Andere
kunnen veel complexer zijn, of bevatten in het geheel geen
reparatie.Begin met de PR's die nog niet aan iemand anders zijn
toegekend. Als een PR aan iemand anders is toegekend, maar het
eruit ziet als iets wat u aankunt, stuur dan een email naar de
persoon waaraan het is toegekend en vraag of u eraan kunt werken
—ze kunnen al een patch hebben die klaar is om getest te
worden, of verdere ideeën hebben die u met ze kan
bespreken.Kies een van de punten van de Ideeën
paginaDe &os;-lijst van
projecten en ideeën voor vrijwilligers is ook
beschikbaar voor mensen die aan het &os;-project willen
bijdragen. Deze lijst wordt regelmatig bijgewerkt en bevat
punten voor zowel programmeurs als niet-programmeurs met
informatie over elk project.Hoe bij te dragenBijdragen aan het systeem vallen over het algemeen in
één of meer van de volgende 5
categoriën:Foutrapportages en algemeen commentaarEen idee of suggestie van algemene
technische aard dient naar &a.hackers; gemaild te worden.
Evenzo kunnen mensen die in dit soort dingen geďnteresseerd
zijn (en een tolerantie voor grote
hoeveelheden mail hebben!) zich abonneren op de &a.hackers;.
Zie Het
&os; Handboek voor meer informatie over deze en andere
mailinglijsten.Als u een bug vindt of een specifieke verandering opstuurt,
gebruik dan alstublieft het programma &man.send-pr.1; of het
webgebaseerde
equivalent om het te rapporteren. Probeer om elk veld
van het bugrapport in te vullen. Voeg patches direct bij het
rapport tenzij ze 65kB overschrijden. Als de patch geschikt is
om op de broncodeboom te worden toegepast, vermeld dan
[PATCH] in het overzicht van het rapport.
Wanneer u patches bijvoegt, gebruik dan
geen knippen-en-plakken omdat
knippen-en-plakken tabs in spaties omzet en de patches
onbruikbaar maakt. Overweeg wanneer patches veel groter zijn
dan 20 kB om ze te comprimeren (bijvoorbeeld met &man.gzip.1; of
&man.bzip2.1;) en &man.uuencode.1; te gebruiken om hun
gecomprimeerde vorm in uw probleemrapport op te nemen.Na het opsturen van een rapport dient u een bevestiging met
daarbij een volgnummer te krijgen. Bewaar dit volgnummer zodat
u ons op de hoogte kunt houden met details over het probleem
door mail te sturen naar &a.bugfollowup;. Gebruik het nummer
als het berichtonderwerp, bijvoorbeeld "Re:
kern/3377". Aanvullende informatie voor elk
foutrapport dient op deze manier opgestuurd te worden.Als u geen bevestiging ontvangt binnen een redelijke tijd (3
dagen tot een week, afhankelijk van uw emailverbinding) of als
u, om enige reden, het commando &man.send-pr.1; niet kunt
gebruiken, dan kunt u iemand vragen om het voor u op te sturen
door mail te sturen naar de &a.bugs;.Zie ook dit
artikel over het schrijven van goede
probleemrapporten.Veranderingen aan de documentatiedocumentatie-inzendingenVeranderingen aan de documentatie worden overzien door de
&a.doc;. Bekijk de &os; Documentation
Primer voor volledige instructies. Stuur bijdragen en
veranderingen (zelfs kleine zijn welkom!) door &man.send-pr.1;
te gebruiken zoals beschreven is in Foutrapportages en algemeen
commentaar.Veranderingen aan bestaande broncode&os;-CURRENTEen toevoeging of verandering aan de bestaande broncode is
een iets lastigere zaak en hangt in grote mate af van hoe ver u
achterloopt met de huidige toestand van &os;-ontwikkelingen. Er
is een speciale doorgaande uitgave van &os; die bekend staat als
&os;-CURRENT die op verscheidene manieren
beschikbaar wordt gesteld voor het gemak van ontwikkelaars die
actief aan het systeem werken. Zie Het &os;
Handboek voor meer informatie over het verkrijgen en
gebruiken van &os;-CURRENT.Het werken met oudere broncode betekent helaas dat uw
veranderingen soms te verouderd of te ver afgedwaald zijn om
eenvoudig in &os; gerëintegreerd te worden. De kansen
hierop kunnen enigszins geminimaliseerd worden door een
abonnement te nemen op de &a.announce; en de &a.current;
lijsten, waar discussies over de huidige toestand van het
systeem plaatsvinden.Aannemende dat u in staat bent om redelijk recente broncode
veilig te stellen om uw veranderingen op te baseren, is de
volgende stap het produceren van een verzameling diffs om naar
de onderhoudsmensen van &os; te sturen. Dit wordt gedaan met
het commando &man.diff.1;.Het geprefereerde &man.diff.1;-formaat voor het opsturen van
patches is het verenigde uitvoerformaat gegenereerd door
diff -u.diff&prompt.user; diff -u oudbestand nieuwbestandof&prompt.user; diff -u -r -N oudemap nieuwemapzouden een verzameling van verenigde diffs genereren voor het
gegeven bronbestand of maphiërarchie.Zie &man.diff.1; voor meer details.Als u eenmaal een verzameling aan diffs heeft (welke u kunt
testen met het commando &man.patch.1;), dient u ze op te sturen
voor opname in &os;. Gebruik het programma &man.send-pr.1;
zoals beschreven in Foutrapportages en algemeen
commentaar. Stuur de diffs niet
alleen naar de &a.hackers; op omdat ze dan verloren raken! We
stellen uw toezending erg op prijs (dit is een
vrijwilligersproject!); omdat we het druk hebben kan het zijn
dat we het niet direct kunnen behandelen, maar het blijft in de
PR-database totdat we het doen. Geef uw toezending aan door
[PATCH] in het overzicht van het rapport op
te nemen.uuencodeAls u het geschikt acht (bijvoorbeeld als u bestanden
toegevoegd, verwijderd, of hernoemd heeft), bundelt u uw
veranderingen in een tar-bestand en draait u
het programma &man.uuencode.1; erop. Archieven die met
&man.shar.1; zijn aangemaakt zijn ook welkom.Als uw verandering mogelijk gevoelig van aard is,
bijvoorbeeld als u onzeker bent over copyright-zaken die de
verdere distributie ervan dicteren, dan dient u het direct naar
&a.core; te sturen in plaats
van het met &man.send-pr.1; op te sturen. Het &a.core; bereikt
een veel kleinere groep mensen die veel dagelijks werk op &os;
doen. Merk op dat deze groep het ook erg
druk heeft, daarom dient u alleen mail naar hen te
sturen als dit echt noodzakelijk is.Bekijk alstublieft &man.intro.9; en &man.style.9; voor wat
informatie over de codeerstijl. We zouden het op prijs stellen
als u op zijn minst op de hoogte bent van deze informatie
voordat u code opstuurt.Nieuwe code of grote pakketten met toegevoegde waardeIn het geval van een significante bijdrage van een grote
bijdrage aan werk, of van een belangrijke nieuwe mogelijkheid
aan &os;, is het bijna altijd nodig om de veranderingen als
uuencoded tar-bestanden te versturen of ze naar een web- of
FTP-site up te loaden zodat andere mensen ze kunnen benaderen.
Als u geen toegang heeft tot een web- of FTP-site, vraag dan een
geschikte &os;-mailinglijst om iemand de veranderingen voor u te
laten hosten.Bij het werken met grote hoeveelheden code komt het
gevoelige onderwerp van copyright ook altijd naar voren.
Acceptabele copyrights voor code voor opname in &os;
zijn:
- BSD-copyright
-
- Het BSD-copyright. Dit copyright wordt het meeste
+ Het BSD-copyrightBSD-copyright. Dit copyright wordt het meeste
verkozen wegens zijn natuur van geen
voorwaarden en de algemene aantrekkelijkheid voor
commerciële ondernemingen. Ver van het ontmoedigen van
dit soort commercieel gebruik, moedigt het &os; Project
zulke participatie door commerciële interesses actief
aan die uiteindelijk geneigd kunnen zijn om zelf iets in
&os; te investeren.
-
- GPL
-
- GNU General Public License
-
-
- GNU General Public License
-
- De GNU General Public License, of GPL.
+ De GNU General Public LicenseGNU General Public License, of GPLGPLGNU General Public License.
Deze licentie is niet zo populair bij ons wegens de extra
hoeveelheid moeite die gevraagd wordt van iedereen die de
code voor commerciële doeleinden gebruikt, maar vanwege
de grote hoeveelheid aan ge-GPL-de code die we momenteel
nodig hebben (compiler, assembler, tekstopmaker, enz.) zou
het dom zijn om aanvullende bijdragen onder deze licentie te
verwerpen. Code onder de GPL gaat ook naar een ander deel
van de boom, namelijk /sys/gnu of /usr/src/gnu, en is daardoor
eenvoudig te herkennen voor iedereen voor wie de GPL
problemen geeft.Bijdragen die onder een ander soort copyright vallen moeten
zorgvuldig worden herzien voordat hun opname in &os; wordt
overwogen. Bijdragen waarvoor nogal beperkende commerciële
copyrights gelden worden over het algemeen verworpen, alhoewel
de auteurs altijd worden aangemoedigd om zulke veranderingen via
hun eigen kanalen beschikbaar te maken.Om een copyright in BSD-stijl op uw werk te
plaatsen, dient u de volgende tekst aan het uiterste begin van
elk broncodebestand te plaatsen dat u wilt beschermen, en
daarbij de tekst tussen de %% door de juiste
informatie te vervangen:Copyright (c) %%juiste_jaren_hier%%
%%uw_naam_hier%%, %%uw_staat%% %%uw_postcode%%.
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer as
the first lines of this file unmodified.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY %%uw_naam_hier%% ``AS IS'' AND ANY EXPRESS OR
IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
IN NO EVENT SHALL %%uw_naam_hier%% BE LIABLE FOR ANY DIRECT, INDIRECT,
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
$Id$Voor uw gemak staat een kopie van deze tekst in
/usr/share/examples/etc/bsd-style-copyright.Geld, hardware, of InternettoegangWe accepteren altijd graag donaties om het &os; Project
verder te verspreiden en in een vrijwilligersonderneming zoals
het onze kan een klein beetje een groot verschil maken!
Hardwaredonaties zijn ook erg belangrijk om onze lijst van
ondersteunde randapparatuur uit te breiden aangezien ons het
over het algemeen aan de middelen ontbreekt om zelf zulke dingen
te kopen.Geld donerenDe &os; Foundation is een non-profit, belastinguitgesloten
stichting die opgericht is om de doelen van het &os; Project
verder te verspreiden. Als een 501(c)3-entiteit is de
Foundation over het algemeen uitgesloten van
inkomstenbelasting van de overheid van de Verenigde Staten alsook van
inkomstenbelasting van de staat Colorado. Donaties aan een
entiteit die van belasting is uitgesloten zijn vaak aftrekbaar
van het belastbaar overheidsinkomen.Donaties kunnen als check verstuurd worden aan:
The FreeBSD Foundation
P.O. Box 20247Boulder,
CO80308USADe &os; Foundation is nu in staat om donaties via het web
met PayPal te ontvangen. Om een donatie te maken bezoekt u de
website
van de Foundation.Meer informatie over de &os; Foundation kan gevonden
worden in The
FreeBSD Foundation -- an Introduction. Om de
Foundation per email te bereiken, schrijft u naar
bod@FreeBSDFoundation.org.Hardware doneren
- donaties
-
Het &os; Project accepteert graag hardwaredonaties die het
goed kan gebruiken. Als u geďnteresseerd bent in het
- doneren van hardware, neem dan contact op met het donaties van hardware, neem dan contact op met het Donations Liaison
Office.
diff --git a/nl_NL.ISO8859-1/books/handbook/cutting-edge/chapter.xml b/nl_NL.ISO8859-1/books/handbook/cutting-edge/chapter.xml
index c6a78bcbe8..73583e6de1 100644
--- a/nl_NL.ISO8859-1/books/handbook/cutting-edge/chapter.xml
+++ b/nl_NL.ISO8859-1/books/handbook/cutting-edge/chapter.xml
@@ -1,3359 +1,3323 @@
JimMockGeherstructureerd, gereorganiseerd en delen bijgewerkt
door JordanHubbardOrigineel door Poul-HenningKampJohnPolstraNikClaytonRemkoLodderVertaald door SiebrandMazelandRenéLadan&os; updaten en upgradenOverzicht&os; wordt ontwikkeld tussen de verschillende versies in.
Sommige mensen prefereren om de officieel uitgegeven versies te
draaien, terwijl anderen gesynchroniseerd willen blijven met de
nieuwste ontwikkelingen. Zelfs officiële uitgaven echter
worden vaak bijgewerkt met veiligheids- en andere kritieke
reparaties. Ongeacht de gebruikte versie biedt &os; alle
noodzakelijke gereedschappen om uw systeem bijgewerkt te houden,
en maakt &os; het upgraden tussen versies ook gemakkelijk. Dit
hoofdstuk helpt om een keuze te maken of het wenselijk is het
ontwikkelsysteem te volgen of één van de uitgegeven
versies. De basisgereedschappen om uw systeem bijgewerkt te
houden worden ook gepresenteerd.Na het lezen van dit hoofdstuk weet de lezer:Welke gereedschappen gebruikt kunnen worden om het systeem
en de Portscollectie te updaten.Hoe een systeem bijgewerkt kan worden met
freebsd-update,
CVSup,
CVS of
CTM;Hoe de toestand van een geďnstalleerd systeem met een
bekende maagdelijke kopie te vergelijken.Hoe uw documentatie bijgewerkt te houden met
CVSup of documentatie-ports.De verschillen tussen de ontwikkeltakken &os.stable; en
&os.current;;Hoe een basissysteem opnieuw te compileren en
te herinstalleren met make buildworld,
enzovoort.Veronderstelde criteria:Een juist ingesteld netwerk ();Weten hoe software van derden te installeren ().Door dit hoofdstuk heen wordt cvsup
gebruikt om de broncode van &os; te verkrijgen en bij te werken.
Om het te gebruiken, dient u de port of het pakket voor net/cvsup te installeren (als u niet de
grafische cvsup-cliënt wilt installeren, kunt u
de port net/cvsup-without-gui installeren. U kunt
ervoor kiezen om dit te vervangen door &man.csup.1; welke onderdeel is
van het basissysteem.TomRhodesGeschreven door ColinPercivalGebaseerd op notities aangeleverd door &os; Updateupdaten en upgradenfreebsd-updateupdating-upgradingHet toepassen van beveiligingspatches is een belangrijk
onderdeel van het beheren van computersoftware, met name het
besturingssysteem. Dit was voor een lange tijd geen gemakkelijk
proces op &os;. Er moesten patches op de broncode worden
toegepast, de code moest herbouwd worden tot binairen, en daarna
moesten de binairen worden geherinstalleerd.Dit is niet langer het geval aangezien &os; nu een gereedschap
heeft dat eenvoudigweg freebsd-update heet.
Dit gereedschap biedt twee gescheiden functies. Ten eerste
voorziet het in het toepassen van binaire beveiligings- en
errata-updates op het basissysteem van &os; zonder de eis om te
bouwen en te installeren. Ten tweede ondersteunt het gereedschap
kleine en grote uitgave-upgrades.Binaire updates zijn beschikbaar voor alle architecturen en
uitgaveaankondigingen dienen gelezen te worden aangezien deze
belangrijke informatie over de gewenste uitgave kunnen bevatten.
De aankondigingen kunnen op de volgende koppelin bekeken worden:
.Als er een crontab bestaat die de
mogelijkheden van freebsd-update gebruikt, moet
het uitgeschakeld worden voordat aan de volgende operatie wordt
begonnen.Het configuratiebestandSommige gebruikers willen het standaard configuratiebestand
optimaliseren, waardoor het proces beter gecontroleerd kan
worden. De opties zijn goed gedocumenteerd, maar voor de
volgenden is wat extra uitleg nodig:# Componenten van het basissysteem die bijgewerkt moeten blijven
Components src world kernelDeze parameter bepaalt welke delen van &os; bijgewerkt
blijven. Standaard wordt de broncode bijgewerkt, het hele
basissysteem, en de kernel. Dezelfde componenten als tijdens de
installatie zijn beschikbaar, het toevoegen van bijvoorbeeld
world/games zou de spelpatches toepassen. Het
gebruik van src/bin zou de broncode in src/bin bijgewerkt houden.Het beste kan dit op de standaardwaarde blijven aangezien
het veranderen hiervan om specifieke items te bevatten de
gebruiker dwingt om alle items die bijgewerkt dienen te worden
op te noemen. Dit kan rampzalige gevolgen hebben aangezien de
broncode en de binairen asynchroon kunnen raken.# Paden die beginnen met iets wat overeenkomt met een regel in een IgnorePaths
# statement zullen genegeerd worden.
IgnorePathsVoeg paden, zoals
/bin of
/sbin toe om deze
specifieke mappen ongemoeid te laten tijdens het updateproces.
Deze optie kan gebruikt worden om te voorkomen dat
freebsd-update lokale wijzigingen
overschrijft.# Paden die beginnen met iets wat overeenkomt met een regel in een UpdateIfUnmodified
# statement zullen alleen worden bijgewerkt als de inhoud van het bestand niet is
# gewijzigd door de gebruiker (tenzij veranderingen zijn samengevoegd; zie beneden).
UpdateIfUnmodified /etc/ /var/ /root/ /.cshrc /.profileWerk configuratiebestanden in de aangegeven mappen alleen
bij als ze niet zijn gewijzigd. Alle veranderingen die door de
gebruiker zijn gemaakt maken het automatisch bijwerken van deze
bestanden ongeldig. Er is een andere optie,
KeepModifiedMetadata, die
freebsd-update instrueert om de veranderingen
tijdens het samenvoegen te bewaren.# Wanneer naar een nieuwe uitgave van &os; wordt ge-upgraded, worden lokale veranderingen van bestanden die overeenkomen met MergeChanges
# samengevoegd in de versie van de nieuwe uitgave.
MergeChanges /etc/ /var/named/etc/Lijst van mappen met instellingenbestanden waar
freebsd-update moet proberen om in samen te
voegen. Het proces van bestanden samenvoegen is een serie
van &man.diff.1;-patches die ongeveer gelijk is aan
&man.mergemaster.8; met minder opties, de samenvoegingen worden
ofwel geaccepteerd, of openen een tekstverwerker, of zorgen
ervoor dat freebsd-update afbreekt. Maak in
geval van twijfel een reservekopie van /etc en accepteer de
samenvoegingen. In staat meer
informatie over het commando mergemaster.# Map waarin de gedownloade updates en tijdelijke
bestanden
# die door een &os; Update worden gebruikt worden opgeslagen.
# WorkDir /var/db/freebsd-updateDit is de map waarin alle patches en tijdelijke bestanden
worden geplaatst. In het geval dat de gebruiker een
versie-upgrade uitvoert, dient deze locatie tenminste een
gigabyte aan vrije schijfruimte te hebben.# Wanneer tussen uitgaven wordt ge-upgraded, dient de lijst van Componenten dan
# strikt gelezen te worden (StrictComponents yes) of slechts als een lijst van componenten
# die geďnstalleerd *kunnen* worden en waarvan &os; Update uit dient te zoeken
# welke daadwerkelijk zijn geďnstalleerd en die te upgraden (StrictComponents no)?
# StrictComponents noWanneer ingesteld op yes, zal
freebsd-update aannemen dat de lijst
Components compleet is en zal het niet
proberen om wijzigingen buiten de lijst te maken. Effectief zal
freebsd-update proberen om elk bestand bij te
werken dat op de lijst Components staat.BeveiligingspatchesBeveiligingspatches staan op een verre machine en kunnen met
het volgende commando gedownload en geďnstalleerd
worden:&prompt.root; freebsd-update fetch
&prompt.root; freebsd-update installAls er kernelpatches zijn toegepast moet het systeem opnieuw
opgestart worden. Als alles goed is gegaan dient het systeem
gepatcht te zijn en kan freebsd-update als
een nachtelijke &man.cron.8;-taak gedraaid worden. Een regel
in /etc/crontab zou genoeg moeten zijn om
deze taak te volbrengen:@daily root freebsd-update cronDeze regel verklaart dat eenmaal per dag het commando
freebsd-update gedraaid zal worden. Op deze
manier, door het argument te gebruiken,
zal het gereedschap freebsd-update alleen kijken of
er updates bestaan. Als er patches bestaan, zullen ze automatisch
worden gedownload naar de plaatselijke schijf maar niet worden
toegepast. Er zal een email aan de gebruiker
root worden verstuurd zodat ze handmatig
geďnstalleerd kunnen worden.Als er iets misging, heeft freebsd-update
de mogelijkheid om de laatste verzamelingen veranderingen terug
te draaien met het volgende commando:&prompt.root; freebsd-update rollbackEenmaal voltooid, dient het systeem herstart te worden als
de kernel of enige kernelmodule is gewijzigd. Dit stelt &os; in
staat om de nieuwe binairen in het geheugen te laden.Het gereedschap freebsd-update kan alleen
de kernel GENERIC automatisch bijwerken. Als
een eigen kernel wordt gebruikt, moet het herbouwd en
geherinstalleerd worden nadat freebsd-update
klaar is met het installeren de rest van de updates.
freebsd-update zal echter de kernel
GENERIC in /boot/GENERIC detecteren en
bijwerken (als het bestaat), zelfs als het niet de huidige
(draaiende) kernel van het systeem is.Het is een goed idee om altijd een kopie van de kernel
GENERIC in /boot/GENERIC te bewaren. Het
kan van pas komen bij het vaststellen van een keur aan
problemen, en bij het uitvoeren van versie-upgrades met
freebsd-update zoals beschreven in
.Tenzij de standaardconfiguratie in
/etc/freebsd-update.conf is gewijzigd, zal
freebsd-update de bijgewerkte kernelbronnen
samen met de rest van de updates installeren. Het herbouwen en
herinstalleren van uw nieuwe eigen kernel kan daarna op de
gebruikelijke manier gedaan worden.De updates die via freebsd-update
verspreid worden hebben niet altijd betrekking op de kernel.
Het is niet nodig om uw eigen kernel te herbouwen als de
kernelbronnen niet zijn aangepast door het uitvoeren van
freebsd-update install.
freebsd-update install zal echter altijd
het bestand /usr/src/sys/conf/newvers.sh
bijwerken. Het huidige patchniveau (zoals aangegeven door het
-p-nummer gerapporteerd door uname
-r) wordt uit dit bestand gehaald. Het herbouwen
van uw eigen kernel, zelfs als er niets veranderd is, stelt
&man.uname.1; in staat om het huidige patchniveau van het
systeem accuraat te rapporteren. Dit is in het bijzonder
behulpzaam wanneer meerdere systemen onderhouden worden,
aangezien hierdoor snel de geďnstalleerde updates op elk
ervan kunnen worden nagegaan.Grote en kleine upgradesDit proces ruimt oude objectbestanden en bibliotheken op
waardoor de meeste applicaties van derde partijen kapot gaan.
Het wordt aangeraden dat alle geďnstalleerde poorten ofwel
verwijderd en geherinstalleerd worden of later ge-upgraded
worden met het hulpmiddel ports-mgmt/portupgrade. De meeste
gebruikers zullen willen proefdraaien met het volgende
commando:&prompt.root; portupgrade -afDit zorgt ervoor dat alles juist wordt geherinstalleerd.
Merk op dat het instellen van de omgevingsvariabele
BATCH op yes het antwoord
yes zal geven op alle prompts tijdens dit
proces, waardoor het niet nodig is om handmatig in het
bouwproces in te grijpen.Als een eigen kernel wordt gebruikt, is het upgradeproces
iets ingewikkelder. Een kopie van de kernel
GENERIC is nodig en dient in /boot/GENERIC geplaatst te
worden. Als de kernel GENERIC niet reeds op
het systeem aanwezig is, moet het met één van de
volgende methoden verkregen worden:Als er slechts eenmaal een eigen kernel is gebouwd, dan
is de kernel in /boot/kernel.old eigenlijk de
GENERIC. Hernoem deze map naar /boot/GENERIC.Aannemende dat fysieke toegang tot de machine mogelijk
is, kan een kopie van de kernel GENERIC
van het CD-ROM-medium worden geďnstalleerd. Laad de
installatieschijf en geef de volgende commando's:&prompt.root; mount /cdrom
&prompt.root; cd /cdrom/X.Y-RELEASE/kernels
&prompt.root; ./install.sh GENERICVervang X.Y-RELEASE
met de versie van de uitgave die u gebruikt. De kernel
GENERIC zal standaard in /boot/GENERIC worden
geďnstalleerd.Als al het bovenstaande niet lukt, kan de kernel
GENERIC herbouwd en geherinstalleerd
worden vanaf de broncode:&prompt.root; cd /usr/src
&prompt.root; env DESTDIR=/boot/GENERIC make kernel
&prompt.root; mv /boot/GENERIC/boot/kernel/* /boot/GENERIC
&prompt.root; rm -rf /boot/GENERIC/bootOm deze kernel door freebsd-update
als GENERIC te laten herkennen, mag het
configuratiebestand voor GENERIC niet op
enige wijze veranderd zijn. Het is ook aan te raden dat het
zonder andere speciale opties wordt gebouwd (bij voorkeur
met een leeg /etc/make.conf).Opnieuw opstarten naar de kernel GENERIC
is in dit stadium niet nodig.Updates van grote en kleine versies kunnen worden uitgevoerd
door een uitgaveversie als doel aan
freebsd-update op te geven, het volgende
commando zal bijvoorbeeld updaten naar &os; 8.1:&prompt.root; freebsd-update -r 8.1-RELEASE upgradeNadat het commando is ontvangen, zal
freebsd-update het instellingenbestand en het
huidige systeem evalueren in een poging om de benodigde
informatie te verzamelen om het systeem te updaten. Een lijst
op het scherm zal aangeven welke componenten zijn gedetecteerd
en welke niet. Bijvoorbeeld:Looking up update.FreeBSD.org mirrors... 1 mirrors found.
Fetching metadata signature for 8.0-RELEASE 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)? yNu zal freebsd-update proberen om alle
bestanden die nodig zijn voor de upgrade te downloaden. In
sommige gevallen kan de gebruiker worden gevraagd wat te
installeren of hoe verder te gaan.Wanneer een eigen kernel wordt gebruikt, zal de bovenstaande
stap een waarschuwing geven die lijkt op de volgende:WARNING: This system is running a "MIJNKERNEL" kernel, which is not a
kernel configuration distributed as part of FreeBSD 8.0-RELEASE.
This kernel will not be updated: you MUST update the kernel manually
before running "/usr/sbin/freebsd-update install"Deze waarschuwing kan op dit moment veilig worden
genegeerd. De bijgewerkte kernel GENERIC
zal als tussenliggende stap in het upgradeproces worden
gebruikt.Nadat alle patches zijn gedownload naar het plaatselijke
systeem zullen ze worden toegepast. Dit proces kan afhankelijk
van de snelheid en werklast van de machine even duren. Hierna
zullen instellingenbestanden worden samengevoegd —
voor dit gedeelte van het proces is enige tussenkomst van de
gebruiker nodig aangezien een bestand kan worden samengevoegd of
omdat er een tekstverwerker op het scherm kan verschijnen om het
bestand handmatig samen te voegen. Het resultaat van elke
succesvolle samenvoeging zal aan de gebruiker worden getoond
naarmate het proces verder gaat. Een mislukte of genegeerde
samenvoegpoging zal het proces afbreken. Het is mogelijk voor
gebruikers om een reservekopie van /etc te maken en belangrijke
bestanden, zoals master.passwd of
group, later samen te voegen.Het systeem is nog niet veranderd, al het patchen en
samenvoegen gebeurt in een andere map. Wanneer alle patches
succesvol zijn toegepast, alle instellingenbestanden zijn
samengevoegd en het erop lijkt dat het proces soepel verloopt,
dienen de veranderingen verzegeld te worden door de
gebruiker.Als dit proces eenmaal voltooid is, kan de upgrade aan de
schijf toevertrouwd worden met het volgende commando.&prompt.root; freebsd-update installDe kernel en kernelmodules zullen als eerste gepatcht
worden. Nu moet de machine opnieuw opgestart worden. Als het
systeem een eigen kernel draaide, gebruik dan het commando
&man.nextboot.8; om de kernel voor de volgende keer dat
opgestart wordt in te stellen op /boot/GENERIC (welke is
bijgewerkt):&prompt.root; nextboot -k GENERICVoordat er met de kernel GENERIC wordt
opgestart, dient te worden gecontroleerd dat het alle
stuurprogramma's bevat om uw systeem juist te laten opstarten
(en met het netwerk te verbinden, als de machine die
bijgewerkt wordt van afstand wordt benaderd). In het
bijzonder, als de vorige kernel die draaide ingebouwde
functionaliteit bevatte die normaalgesproken door
kernelmodules wordt geleverd, zorg er dan voor dat deze
modules tijdelijk in de kernel GENERIC
worden geladen door de faciliteit
/boot/loader.conf te gebruiken. U kunt
er ook voor kiezen om niet-essentiële diensten, schijf-
en netwerkkoppelingen, enzovoorts uit te zetten totdat het
upgradeproces voltooid is.De machine dient nu te worden herstart met de bijgewerkte
kernel:&prompt.root; shutdown -r nowAls het systeem weer actief is, moet
freebsd-update nogmaals gestart worden.
De toestand van het proces is opgeslagen en dus zal
freebsd-update niet vooraan beginnen, maar
zal het alle oude gedeelde bibliotheken en objectbestanden
verwijderen. Geef het volgende commando om verder te gaan op
dit punt:&prompt.root; freebsd-update installAfhankelijk van het feit of er versienummers van
bibliotheken zijn opgehoogd, kunnen er slechts twee in plaats
van drie installatiefasen zijn.Alle software van derde partijen dient nu opnieuw gebouwd en
geďnstalleerd te worden. Dit is nodig omdat
geďnstalleerde software van bibliotheken afhankelijk kan
zijn die tijdens het upgradeproces zijn verwijderd. Het
commando ports-mgmt/portupgrade kan gebruikt
worden om dit proces te automatiseren. Dit proces kan met de
volgende commando's gestart worden:&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 -afVoltooi, nadat dit voltooid is, het upgradeproces met een
laatste aanroep naar freebsd-update. Geef
het volgende commando om alle losse eindjes in het upgradeproces
samen te knopen:&prompt.root; freebsd-update installAls de kernel GENERIC tijdelijk werd
gebruikt, is dit het moment om een nieuwe eigen kernel op de
gebruikelijke manier te bouwen en installeren.Start de machine opnieuw op in de nieuwe &os;-versie. Het
proces is voltooid.Het vergelijken van systeemtoestandenHet gereedschap freebsd-update kan
gebruikt worden om de toestand van de geďnstalleerde versie
van &os; met een bekende goede kopie te vergelijken. Deze optie
evalueert de huidige versie van systeemgereedschappen,
bibliotheken, en instellingenbestanden. Geef het volgende
commando om met de vergelijking te beginnen:&prompt.root; freebsd-update IDS >> uitvoerbestand.idsHoewel de commandonaam IDS is, is het
in geen geval een vervanging voor een indringdetectiesysteem
zoals security/snort.
Aangezien freebsd-update gegevens op schijf
opslaat, is de mogelijkheid om te knoeien duidelijk. Hoewel
deze mogelijkheid verminderd kan worden door de instelling
kern.securelevel te gebruiken en de
gegevens van freebsd-update op een
bestandssysteem dat alleen gelezen kan worden op te slaan
wanneer deze niet gebruikt worden, zou een betere oplossing
zijn om het systeem met een veilige schijf te vergelijken,
zoals een DVD of een veilig opgeslagen
externe USB-schijf.Het systeem zal nu geďnspecteerd worden, en er zal een
lijst van hun &man.sha256.1;-hashwaarden, zowel de bekende
waarde in de uitgave en de huidige geďnstalleerde waarde,
afgebeeld worden. Hierom wordt de uitvoer naar het bestand
uitvoerbestand.ids gezonden. Het scrollt
te snel voorbij om het met het oog te vergelijken, en het vult
al snel de gehele consolebuffer op.Deze regels zijn ook extreem lang, maar het uitvoerformaat
kan vrij eenvoudig geparsed worden. Geef, om bijvoorbeeld een
lijst van alle bestanden te krijgen die verschillen van die in
de uitgave, het volgende commando:&prompt.root; cat uitvoerbestand.ids | awk '{ print $1 }' | more
/etc/master.passwd
/etc/motd
/etc/passwd
/etc/pf.confDeze uitvoer is afgekapt, er bestaan veel meer bestanden.
Sommige van deze bestanden hebben natuurlijke veranderingen, het
/etc/passwd is gewijzigd omdat er
gebruikers aan het systeem zijn toegevoegd. In sommige gevallen
kunnen er andere bestanden zijn, zoals kernelmodules, die
verschillen aangezien freebsd-update ze
ge-updated kan hebben. Voeg, om bepaalde bestanden of mappen
uit te sluiten, deze toe aan de optie
IDSIgnorePaths in
/etc/freebsd-update.conf.Dit systeem kan gebruikt worden als deel van een uitgebreide
upgrademethode, afgezien van de eerder besproken versie.TomRhodesGeschreven door ColinPercivalGebaseerd op notities geleverd door Portsnap: een updategereedschap voor de Portscollectieupdaten en upgradenPortsnapupdaten en upgradenHet basissysteem van &os; bevat ook een gereedschap om de
Portscollectie bij te werken: het hulpmiddel &man.portsnap.8;.
Wanneer het wordt uitgevoerd, zal het een verbinding maken met een
verre site, de veilige sleutel controleren, en een nieuwe kopie
van de Portscollectie downloaden. De sleutel wordt gebruikt om de
integriteit van alle gedownloade bestanden te controleren, om er
zeker van te zijn dat ze niet tijdens het downloaden zijn
gewijzigd. Geef het volgende commando om de nieuwste versie van
de bestanden van de Portscollectie te downloaden:&prompt.root; portsnap fetch
Looking up portsnap.FreeBSD.org mirrors... 9 mirrors found.
Fetching snapshot tag from geodns-1.portsnap.freebsd.org... done.
Fetching snapshot metadata... done.
Updating from Tue May 22 02:12:15 CEST 2012 to Wed May 23 16:28:31 CEST 2012.
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.Dit voorbeeld laat zien dat &man.portsnap.8; verscheidene
patches heeft gevonden en deze met de huidige portsgegevens heeft
gecontroleerd. Het geeft ook aan dat het gereedschap eerder is
gedraaid, als het voor de eerste keer was gedraaid, had het
simpelweg de collectie gedownload.Wanneer &man.portsnap.8; succesvol een
fetch-operatie afrondt, bestaan de
Portscollectie en de vervolgpatches die de verificatie doorstaan
hebben op het plaatselijke systeem. Gebruik de eerste keer dat
portsnap wordt uitgevoerd extract
om de gedownloade bestanden te installeren:&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
...Om een reeds geďnstalleerde Ports Collectie te updaten kan
er gebruik worden gemaakt van het commando
portsnap update:&prompt.root; portsnap updateHet proces is nu compleet, en applicaties kunnen met de
bijgewerkte Portscollectie worden geďnstalleerd of worden
bijgewerkt.De bewerkingen fetch en extract
of update kunnen achter elkaar uitgevoerd worden, zoals
het volgende voorbeeld laat zien:&prompt.root; portsnap fetch updateDit commando zal de laatste versie van de Ports Collectie downloaden
en de lokale versie bijwerken in de
/usr/ports.De documentatie bijwerkenupdaten en upgradendocumentatieupdaten en upgradenNaast het basissysteem en de Portscollectie is documentatie
een integraal onderdeel van het besturingssysteem &os;. Hoewel
een actuele versie van de &os;-documentatie altijd beschikbaar is
op de &os; website, hebben
sommige gebruikers een langzame of helemaal geen permanente
netwerkverbinding. Gelukkig zijn er verschillende manieren om de
documentatie die bij elke uitgave wordt geleverd bij te werken
door een lokale kopie van de nieuwste &os;-documentatie bij te
houden.Subversion gebruiken om de documentatie
bij te werkenDe bronnen van de &os;-documentatie kunnen met
Subversion worden bijgewerkt. Deze sectie
beschrijft:Hoe de documentatiegereedschappen, de gereedschappen die
nodig zijn om de &os;-documentatie vanuit de broncode te
herbouwen, te installeren.Hoe een kopie van de documentatiebronnen in /usr/doc te downloaden door
Subversion te gebruiken.Hoe de &os;-documentatie vanuit de broncode te herbouwen
en onder /usr/share/doc te
installeren.Sommige bouwopties die door het bouwsysteem van de
documentatie ondersteund worden, i.e., de opties die slechts
enkele van de verschillende vertalingen van de documentatie
bouwen of de opties die een specifiek uitvoerformaat
selecteren.Subversion en de
documentatiegereedschappen installerenVoor het herbouwen van de &os;-documentatie vanuit de
broncode is een aardig grote verzameling gereedschappen nodig.
Deze gereedschappen zijn geen deel van het basissysteem van &os;
omdat ze een grote hoeveelheid schijfruimte nodig hebben en niet
voor alle &os;-gebruikers nuttig zijn; ze zijn alleen nuttig
voor die gebruikers die actief nieuwe documentatie voor &os;
schrijven of regelmatig hun documentatie vanuit de broncode
bijwerken.Alle benodigde gereedschappen zijn beschikbaar als deel van
de Portscollectie. De port textproc/docproj is een meester-port
die door het &os; Documentatieproject is ontwikkeld om de
installatie en toekomstige updates van deze gereedschappen
makkelijker te maken.Wanneer er geen &postscript;- of PDF-documentatie nodig
is, kan men overwegen om in plaats hiervan de port textproc/docproj-nojadetex te
installeren. Deze versie van de documentatiegereedschappen
bevat alles behalve de typesetting-engine
teTeX.
teTeX is een erg grote verzameling
van gereedschappen, dus kan het zinvol zijn om de installatie
ervan achterwege te laten als PDF-uitvoer niet echt nodig
is.Subversion wordt geďnstalleerd met de
port textproc/docproj.De documentatiebroncode bijwerkenHet programma Subversion kan een schone
kopie van de documentatiebroncode ophalen door het volgende te
typen:&prompt.root; svn checkout svn://svn.FreeBSD.org/doc/head/usr/docDe initiële download van de documentatiebroncode kan
een tijd duren. Laat het draaien totdat het voltooid is.Toekomstige updates van de documentatiebroncode kunnen
opgehaald worden door het volgende commando te draaien:&prompt.root; svn update /usr/docNadat de broncode is uitgecheckt, wordt een alternatieve
manier om de documentatie bij te werken ondersteund door
Makefile van de map /usr/doc door het volgende te
draaien:&prompt.root; cd /usr/doc
&prompt.root; make updateInstelbare opties van de documentatiebroncodeHet bijwerk- en bouwsysteem van de &os;-documentatie
ondersteunt enkele opties die het proces om de documentatie
alleen gedeeltelijk bij te werken, of om specifieke vertalingen
te bouwen, makkelijker maken. Deze opties kunnen of als
systeemwijde opties in het bestand
/etc/make.conf worden ingesteld, of als
opdrachtregelopties aan het hulpmiddel &man.make.1; worden
doorgegeven.De volgende opties zijn er enkelen van:DOC_LANGDe lijst van te bouwen en te installeren talen en
coderingen, bijvoorbeeld
en_US.ISO8859-1 voor alleen de Engelse
documentatie.FORMATSEen enkel formaat of een lijst van uitvoerformaten die
gebouwd moeten worden. Momenteel worden
html, html-split,
txt, ps,
pdf, en rtf
ondersteund.DOCDIRWaar de documentatie te installeren. Dit staat
standaard op /usr/share/doc.Bekijk &man.make.conf.5; voor meer make-variabelen die als
systeemwijde opties in &os; worden ondersteund.Voor meer make-variabelen die door het bouwsysteem van
de &os;-documentatie ondersteund worden, wordt naar het &os; Documentation
Project Primer for New Contributors verwezen.De &os;-documentatie vanuit de broncode installerenWanneer er een actueel snapshot van de documentatiebroncode
is opgehaald in /usr/doc,
is alles gereed om de geďnstalleerde documentatie bij te
werken.Het volledig bijwerken van alle talen die in de
Makefile-optie DOC_LANG zijn gedefinieerd kan
worden gedaan door te typen:&prompt.root; cd /usr/doc
&prompt.root; make install cleanAls alleen het bijwerken van een specifieke taal gewenst is,
dan kan &man.make.1; worden aangeroepen in een taalspecifieke
submap van /usr/doc,
i.e.:&prompt.root; cd /usr/doc/en_US.ISO8859-1
&prompt.root; make update install cleanDe te installeren uitvoerformaten kunnen worden
gespecificeerd door de make-variabele FORMATS
in te stellen, i.e.:&prompt.root; cd /usr/doc
&prompt.root; make FORMATS='html html-split' install cleanMarcFonvieilleGebaseerd op het werk van Documentatieports gebruikenUpdaten en upgradendocumentatiepakketUpdaten en upgradenIn de vorige sectie werd er een methode voor het bijwerken
van de &os;-documentatie vanaf de broncode gepresenteerd. Het
bijwerken gebaseerd op broncode is echter niet voor alle
&os;-systemen haalbaar of praktisch. Voor het bouwen van de
documentatiebronnen zijn een redelijk grote verzameling van
gereedschappen, de documentatie
gereedschapskist, een bepaald niveau van bekendheid
met Subversion en checkouts van broncode
vanuit een reservoir nodig, en een aantal handmatige stappen om
de uitgecheckte broncode te bouwen. In deze sectie wordt een
alternatieve manier beschreven om de geďnstalleerde
kopiën van de &os;-documentatie bij te werken; een die de
Ports Collectie gebruikt en het mogelijk maakt om:Voorgebouwde versies van de documentatie te downloaden
en te installeren, zonder iets lokaal te hoeven bouwen (op
deze manier wordt de noodzaak voor een installatie van de
gehele documentatie-gereedschapskist voorkomen).De documentatiebronnen te bouwen en ze via het
ports-raamwerk te bouwen (de stappen van het uitchecken en
bouwen worden iets eenvoudiger gemaakt).Deze twee methoden om de &os;-documentatie bij te werken
worden ondersteund door een verzameling van
documentatie-ports die maandelijks door
het &a.doceng; worden bijgewerkt. Deze zijn vermeld in de &os;
Ports Collectie onder de virtuele categorie docs.Documentatie-ports bouwen en installerenDe documentatie-ports gebruiken het bouwraamwerk van de
ports om het bouwen van documentatie eenvoudiger te maken. Ze
automatiseren het proces van het uitchecken van de broncode
van de documentatie, het draaien van &man.make.1; met de
juiste omgevingsinstellingen en opdrachtregelopties, en ze
maken de installatie of deďnstallatie van documentatie
net zo eenvoudig als de installatie van elke andere &os;-port
of -pakket.Als een extra eigenschap registreren de
documentatie-ports, wanneer ze lokaal zijn gebouwd, een
afhankelijkheid naar de ports van de
documentatie-gereedschapskist, zodat
de laatste ook automatisch is geďnstalleerd.De organisatie van de documentatie-ports is als volgt:Er is een meester-port, misc/freebsd-doc-en, waar de
bestanden van de documentatie-ports gevonden kunnen worden.
Het is de basis van alle documentatie-ports. Standaard
bouwt het alleen de Engelstalige documentatie.Er is een alles-in-één
port, misc/freebsd-doc-all, en het
bouwt en installeert alle documentatie in alle beschikbare
talen.Ten slotte is er een slaaf-port voor
elke vertaling, bijvoorbeeld misc/freebsd-doc-hu voor de
documenten in het Hongaars. Ze zijn allemaal afhankelijk
van de meester-port en installeren de vertaalde
documentatie van de respectievelijke taal.Gebruik de volgende commando's (als
root) om een documentatieport vanaf de
broncode te installeren:&prompt.root; cd /usr/ports/misc/freebsd-doc-en
&prompt.root; make install cleanDit zal de Engelstalige documentatie in gesplitst
HTML-formaat (hetzelfde als dat op wordt gebruikt) in de
map /usr/local/share/doc/freebsd
bouwen en installeren.Algemene knoppen en optiesEr zijn vele opties om het standaardgedrag van de
documentatie-ports aan te passen. Het volgende is slechts
een korte lijst:WITH_HTMLStaat bouwen van het HTML-formaat toe: een enkel
HTML-bestand per document. De opgemaakte documentatie
wordt naar gelang in een bestand genaamd
article.html, of
book.html, met afbeeldingen
opgeslagen.WITH_PDFStaat bouwen van het &adobe; Portable Document
Format toe, te gebruiken met &adobe; &acrobat.reader;,
Ghostscript, of andere
PDF-lezers. De opgemaakte documentatie wordt naar
gelang opgeslagen in een bestand genaamd
article.pdf of
book.pdf opgeslagen.DOCBASEWaar de documentatie te installeren. Standaard is
dit /usr/local/share/doc/freebsd.Merk op dat de standaard doelmap afwijkt van de map die
door de Subversion-methode wordt
gebruikt. Dit komt omdat er een port wordt
geďnstalleerd, en ports worden normaliter onder
de map /usr/local
geďnstalleerd. Dit kan veranderd worden door
de variabele PREFIX toe te
voegen.Hier is een kort voorbeeld over hoe de bovengenoemde
variabelen te gebruiken om de Hongaarse documentatie in
Portable Document Format te installeren:&prompt.root; cd /usr/ports/misc/freebsd-doc-hu
&prompt.root; make -DWITH_PDF DOCBASE=share/doc/freebsd/hu install cleanDocumentatiepakketten gebruikenVoor het bouwen van de documentatie-ports vanaf broncode,
zoals beschreven in de vorige sectie, is een lokale
installatie van de documentatie-gereedschapskist en wat
schijfruimte voor het bouwen van de ports nodig. Wanneer de
bronnen voor het installeren van de documentatie-gereedschapskist
niet aanwezig zijn, of wanneer het bouwen vanaf broncode te
veel schijfruimte in beslag neemt, is het nog steeds mogelijk
om de vooraf gebouwde versies van de documentatie-ports te
installeren.Het &a.doceng; bereidt maandelijkse versies van de &os;
documentatiepakketten voor. Deze binaire pakketten kunnen met
elk van de meegeleverde pakketgereedschappen, zoals
&man.pkg.add.1;, &man.pkg.delete.1;, enzovoorts gebruikt
worden.Wanneer binaire pakketten worden gebruikt, zal de &os;
documentatie in alle beschikbare
formaten voor de gegeven taal geďnstalleerd worden.Het volgende commando bijvoorbeeld zal het nieuwste vooraf
gebouwde pakket van de Hongaarse documentatie installeren:&prompt.root; pkg_add -r hu-freebsd-docPakketten hebben het volgende naamformaat welke afwijkt
van de naam van de overeenkomstige port:
taal-freebsd-doc.
Hier is taal het korte formaat
van de taalcode, i.e., hu voor Hongaars,
of zh_cn voor Vereenvoudigd Chinees.Documentatieports bijwerkenVoor het bijwerken van een eerder geďnstalleerde
documentatieport is elk gereedschap voor het bijwerken van
ports geschikt. Het volgende commando bijvoorbeeld werkt de
geďnstalleerde Hongaarse documentatie bij via het
gereedschap ports-mgmt/portupgrade door alleen
pakketten te gebruiken:&prompt.root; portupgrade -PP hu-freebsd-docEen ontwikkelingstak volgen-CURRENT-STABLEEr zijn twee ontwikkeltakken voor &os;: &os.current; en
&os.stable;. Deze sectie licht beiden toe en beschrijft hoe een
systeem bijgewerkt te houden met elke tak. &os.current; wordt
eerst behandeld, daarna &os.stable;.Bijblijven met &os;Bedenk dat &os.current; het nieuwste van het
nieuwste is van &os; ontwikkeling. Van &os.current;
gebruikers wordt verwacht dat ze veel technische kennis hebben
en capabel zijn om zelfstandig lastige systeemproblemen op te
lossen. Nieuwe gebruikers van &os; kunnen het beste twee keer
nadenken alvorens het te installeren.Wat is &os.current;?momentopname&os.current; is de laatste werkende set broncode voor
&os;. Dit bevat werk in uitvoering, experimentele
wijzigingen en overgangsmechanismes die mogelijk wel of niet
meegenomen worden in de volgende officiële uitgave van
het besturingssysteem. Alhoewel veel &os;-ontwikkelaars de
broncode van &os.current; dagelijks compileren, zijn er
periodes dat de broncode niet compileerbaar is. Deze
problemen worden zo snel mogelijk gerepareerd, maar het is
mogelijk dat &os.current; een ramp veroorzaakt in plaats van
dat het de gewenste functionaliteit levert. Dit ligt geheel
aan het moment waarop de broncode is opgehaald.Wie heeft &os.current; nodig?&os.current; is beschikbaar voor drie primaire
aandachtsgroepen:Leden van de &os;-gemeenschap die actief werken aan
een deel van de broncode voor wie current
een echte eis is.Leden van de &os;-gemeenschap die actief testen en
tijd hebben om problemen op te lossen om zeker te stellen
dat &os.current; zo gezond als mogelijk is. Er zijn ook
mensen die actuele suggesties maken over wijzigingen
en de algemene richting van &os; en die patches
opsturen om deze te implementeren.Diegenen die alleen een oogje in het zeil willen
houden of de huidige bronnen gebruiken ter referentie
(bijvoorbeeld voor het lezen en
niet het draaien). Deze mensen geven ook regelmatig
commentaar of dragen bij in de code.Wat is &os.current; niet?Een snelle manier om pre-release versies te krijgen
omdat bekend is dat er een aantal leuke nieuwe
mogelijkheden in zitten en het leuk is deze als eerste te
gebruiken. Het als eerste gebruiken van nieuwe
mogelijkheden betekent ook de eerste zijn die nieuwe bugs
ontdekt.Een snelle manier om bugfixes te krijgen. Elke
willekeurige versie van &os.current; heeft waarschijnlijk
net zoveel nieuwe bugs als dat er bugs opgelost
zijn.Op welke manier dan ook
officieel ondersteund. We doen onze best
om mensen echt te helpen in één van de drie
legitieme &os.current; groepen maar er is
simpelweg niet genoeg tijd om
technische ondersteuning te leveren. Dit is niet omdat
we gemene en vervelende mensen zijn die anderen niet
willen helpen (we zouden niet eens aan &os; werken als
we dat durfden). De ontwikkelaars kunnen simpelweg geen
honderd berichten per dag beantwoorden
én aan &os; werken. Bij de
keuze tussen het verbeteren van &os; en vragen
beantwoorden over experimentele code, kiezen
ontwikkelaars voor het eerste.&os.current; gebruiken-CURRENTgebruikenNeem een abonnement op de mailinglijsten
&a.current.name; en &a.svn-src-head.name;. Dit is niet
alleen een goed idee, het is
essentieel. Geen berichten ontvangen
van de lijst &a.current.name;
betekent geen commentaar zien dat mensen maken over de
huidige staat van het systeem en dus waarschijnlijk
struikelen over problemen die anderen al gevonden en
opgelost hebben. Nog belangrijker is het missen van
belangrijke informatie die kritisch kan zijn voor een
systeem.De lijst &a.svn-src-head.name; biedt de mogelijkheid
de wijzigingsboodschap te zien voor elke wijziging die
gemaakt wordt, samen met relevante informatie over
mogelijke bijwerkingen.Ga om op deze lijsten of één van de
andere beschikbare lijsten te abonneren naar
&a.mailman.lists.link; en klik op de gewenste lijst.
Instructies over de rest van de procedure zijn daar
beschikbaar. Als u geďnteresseerd bent in het volgen
van veranderingen voor de gehele broncodeboom, raden wij u
aan een abonnement te nemen op de lijst
&a.svn-src-all.name;.Haal de broncode van een &os;
mirrorsite. Dit kan op
de volgende twee manieren:
- cvsup
-
- cron
-
-
- -CURRENT
-
- Synchroniseren met
- CVSup
-
-
Gebruik het programma cvsup met de
+ linkend="cvsup">cvsupcvsup met de
supfile genaamd
standard-supfile uit
/usr/share/examples/cvsup. Dit
is de geadviseerde methode, omdat de gehele collectie
in één keer wordt binnengehaald en
daarna alleen hetgeen wat gewijzigd is. Veel mensen
draaien cvsup vanuit de
- cron en houden daarmee hun
+ croncron en houden daarmee hun
broncode automatisch bijgewerkt. De voorbeeld
supfile dient aangepast te
- worden om cvsup in te
+ worden om cvsup-CURRENTSynchroniseren met CVSup in te
stellen voor uw omgeving.Het voorbeeld
standard-supfile is bedoeld om
een specifieke beveiligingstak van &os; te volgen,
niet &os.current;. U moet dit bestand bewerken en
de volgende regel vervangen:*default release=cvs tag=RELENG_X_Ydoor deze:*default release=cvs tag=.Voor een gedetailleerde uitleg over bruikbare
tags wordt naar de sectie CVS Tags van het
Handboek verwezen.Gebruik de faciliteit CTM.
Bij een slechte verbinding, dure
connecties of alleen e-mail toegang, is
CTM een optie. Het werkt
echter lastig en geeft mogelijk corrupte bestanden.
Dit zorgt ervoor dat het zelden gebruikt wordt, dat
de kans verhoogt dat het niet werkt voor redelijk
lange periodes. Het advies is
CVSup te
gebruiken.Als de broncode wordt opgehaald om te draaien en niet
alleen om naar te kijken, haal dan
alles op van &os.current; en niet
alleen geselecteerde delen. De reden hiervoor is dat
verschillende delen van de code afhangen van updates
op andere plekken en het compileren van een onderdeel
gegarandeerd problemen oplevert.-CURRENTcompilerenVoordat &os.current; gecompileerd wordt is het
raadzaam om de Makefile in
/usr/src aandachtig te bekijken.
Het is handig om de eerste keer op zijn minst de kernel en de
wereld opnieuw te bouwen als
onderdeel van het updateproces. Via de
&a.current; en /usr/src/UPDATING is
het mogelijk op de hoogte te blijven van mogelijke
wijzigingen in de opstartprocedures die soms nodig zijn
tussen verschillende versies.Wees actief! Ervaringen van &os.current;-gebruikers
zijn belangrijk, zeker als het gaat om suggesties voor
verbeteringen of bugfixes. Suggesties met bijbehorende
code worden enthousiast ontvangen!&os; stabiel houdenWat is &os.stable;?-STABLE&os.stable; is de ontwikkeltak waaruit grote releases
gemaakt worden. Wijzigingen in deze tak gaan in een ander
tempo en met de algemene aanname dat ze eerst in &os.current;
worden ingebracht ter test. Dit is nog
steeds een ontwikkeltak, echter dit betekent dat
op elk gegeven moment de code voor &os.stable; wel of niet
geschikt is voor een speciaal doel. Het is simpelweg een
andere ontwikkelomgeving en geen bron voor
eindgebruikers.Wie heeft &os.stable; nodig?Bij interesse in het bijhouden van of bijdragen aan het
&os;-ontwikkelproces, speciaal als het gerelateerd is aan de
volgende versie van &os;, is het volgen van &os.stable; het
overwegen waard.Ondanks dat security fixes ook in de &os.stable;-tak
komen, hoeft dit niet per se. In elke
beveiligingswaarschuwing voor &os; wordt uitgelegd uit hoe
het probleem opgelost kan worden voor de release die het
betreft.
Dit is niet helemaal waar. Oude releases van &os;
kunnen niet eeuwig ondersteund worden, ook al duurt
ondersteuning vele jaren. Een volledige beschrijving van
het huidige beveiligingsbeleid voor oudere releases van
&os; staat op http://www.FreeBSD.org/security/.
Het volgen van de volledige ontwikkeltak alleen om
veiligheidsredenen levert ongetwijfeld ongewenste wijzigingen
op.Ondanks het voornemen ervoor te zorgen dat de
&os.stable;-tak compileert en altijd draait, wordt dit niet
gegarandeerd. Terwijl code ontwikkeld wordt in &os.current;
voordat die in &os.stable; verwerkt wordt, draaien meer
mensen &os.stable; dan &os.current;, dus het is onontkoombaar
dat bugs en randgevallen soms in &os.stable; gevonden worden
die niet in &os.current; bekend waren.Om deze redenen wordt niet
aangeraden &os.stable; blindelings te volgen en het is extra
belangrijk geen productieservers bij te werken naar
&os.stable; zonder de code te testen in een
testomgeving.Als de mogelijkheden om dit te doen niet beschikbaar
zijn, dan is het advies de meest recente release van &os; te
draaien en dan de binaire update methode te hanteren om bij
te werken tussen verschillende releases.&os.stable; gebruiken&os.stable;gebruikenNeem een abonnement op de lijst &a.stable.name;.
Deze biedt informatie over onderdelen van de build die
mogelijk verschijnen in &os.stable; of eventuele andere
kwesties die speciale aandacht vereisen. Ontwikkelaars
kondigen in deze mailinglijst ook aan wanneer ze
overwegen om een controversiële fix of aanpassing
willen maken, waardoor de gebruikers een kans hebben om
te reageren als ze goede redenen hebben tegen de
voorgestelde wijziging.Wordt lid van de relevante
SVN-lijst voor de tak die u
volgt. Als u bijvoorbeeld de tak 7-STABLE volgt, wordt u
lid van de &a.svn-src-stable-7.name; lijst. Dit stelt u
in staat om het commit-log-bericht te bekijken voor elke
verandering die is gemaakt, tezamen met relevante
informatie over mogelijke bijwerkingen.Ga om te abonneren op deze lijsten, of
één van de andere beschikbare lijsten
naar &a.mailman.lists.link; en klik op de lijst waarop
een abonnement gewenst is. Instructies over de rest van
de procedure zijn daar beschikbaar. Als u
geďnteresseerd bent in het volgen van veranderingen
voor de gehele broncodeboom, raden wij u aan een
abonnement te nemen op de &a.svn-src-all.name;
lijst.Kijk op de webpagina Snapshots om een
systeem te installeren van een maandelijkse snapshot
van &os.stable;. Het is ook mogelijk om de meest recente
&os.stable; release te installeren van de mirrorsites. Volg de
onderstaande instructies om een systeem bij te werken
naar de meest recente &os.stable; broncode.Als al een vorige release van &os; draait en
bijgewerkt moet worden via de broncodes dan kan dat via
de &os; mirrorsites. Dit
kan op één van de twee volgende
manieren:
- cvsup
-
- cron
-
-
- &os.stable;
-
- synchroniseren met
- CVSup
-
-
Gebruik het programma cvsup met de
+ linkend="cvsup">cvsupcvsup met de
supfile
- stable-supfile uit de map
+ stable-supfile&os.stable;synchroniseren met CVSup uit de map
/usr/share/examples/cvsup.
Dit is de aanbevolen methode omdat het hiermee
mogelijk is de volledige collectie te downloaden en
daarna alleen hetgeen wat veranderd is. Veel mensen
draaien cvsup vanuit de
- cron om de broncodes automatisch
+ croncron om de broncodes automatisch
bij te werken. Het voorbeeld van de
supfile dient aangepast en
ingesteld te worden voor de omgeving waarin het
instellingenbestand gebruikt wordt.
-
- &os.stable;
-
- synchroniseren met CTM
-
-
Gebruik CTM als er geen
+ linkend="ctm">CTM&os.stable;synchroniseren met CTM als er geen
snelle, goedkope verbinding is met internet. Dan is
dit de methode om te gebruiken.Als er snelle on-demand toegang nodig is tot de
broncode en bandbreedte is geen overweging, gebruik dan
cvsup of ftp.
Gebruik anders CTM.
-
- &os.stable;
-
- compileren
-
-
- Lees alvorens &os.stable; te compileren goed de
+ Lees alvorens &os.stable; te compileren&os.stable;compileren goed de
Makefile in
/usr/src. Het is handig om de
eerste keer op zijn minst de
kernel en de wereld opnieuw te
bouwen als onderdeel van het updateproces. Via
de &a.stable; en /usr/src/UPDATING
is het mogelijk op de hoogte te blijven van mogelijke
wijzigingen in de opstartprocedures die soms nodig zijn
tussen verschillende releases.Broncode synchroniserenEr zijn verschillende manieren om een internet (of e-mail)
verbinding te gebruiken om bij te blijven met elk onderdeel van
de &os; projectbronnen of alle onderdelen, afhankelijk van
het interessegebied. De primaire diensten zijn Anonieme CVS en
CTM.Ondanks dat het mogelijk is om alleen delen van de
broncode bij te werken, is de enige ondersteunde methode
de totale broncode bijwerken en zowel userland (alle
programma's die in gebruikersruimte draaien, zoals
programma's in /bin en
/sbin) als de kernel opnieuw compileren.
Als alleen delen van de broncode worden bijgewerkt, alleen de
kernel of alleen het userland, resulteert dat vaak in
problemen. Deze problemen kunnen verschillen van
compileerfouten tot kernel panics of corruptie van
gegevens.CVSanoniemAnonieme CVS en
CVSup gebruiken het
pull model om broncode bij te werken. In
het geval van CVSup start de gebruiker
(of een cron script) het programma
cvsup waarbij het communiceert met een
cvsupd server om bestanden bij te werken. De
ontvangen updates zijn op de minuut nauwkeurig en ze komen alleen
wanneer dat is ingesteld. Updates kunnen eenvoudig beperkt
worden tot specifieke bestanden of mappen uit een
interessegebied. Updates worden automatisch gegenereerd door een
server, aan de hand van wat is ingesteld.
Anonieme CVS is veel eenvoudiger dan
CVSup omdat dat alleen een uitbreiding
is van CVS die de mogelijkheid biedt
om wijzigingen direct van een CVS repository op afstand te halen.
CVSup kan dit veel efficiënter
doen, maar anonieme CVS is makkelijker
in het gebruik.
- CTM
-
- CTM aan de andere kant maakt geen
+ CTMCTM aan de andere kant maakt geen
vergelijking tussen de aanwezige bronnen en die op de master
server. In plaats daarvan wordt een script uitgevoerd dat
wijzigingen in bestanden ziet sinds de vorige keer dat is
bijgewerkt en die meerdere keren per dag worden uitgevoerd op de
master CTM machine. Elke ontdekte wijziging wordt gecomprimeerd,
krijgt een volgnummer toegekend en wordt gecodeerd voor
verzending via e-mail (in leesbare ASCII). Deze CTM
delta's kunnen dan aangeleverd worden aan
&man.ctm.rmail.1; die ze automatisch decodeert, controleert en
toepast in de gebruikerskopie van de bronnen. Dit proces is
veel efficiënter dan CVSup en
claimt minder systeembronnen omdat het model
push in plaats van
pull is.Er zijn andere nadelen. Als per ongeluk een deel van het
archief wordt verwijderd, kan CVSup
dat detecteren en het beschadigde deel repareren.
CTM doet dit niet en als een deel van
de broncode wordt verwijderd (en er geen back-up is), dan moet er
opnieuw begonnen worden (vanaf de meest recente CVS base
delta en moet alles opnieuw opgebouwd worden
met CTM. Met
Anonymous CVS kan simpelweg het
slechte deel verwijderd worden alvorens weer te
synchroniseren.De wereld opnieuw bouwenworld opnieuw
bouwenZodra de lokale broncode gesynchroniseerd is met een
bepaalde versie van &os; (&os.stable;, &os.current;, enzovoort)
kan de broncode gebruikt worden om een systeem te
herbouwen.Maak een back-upHet kan niet vaak genoeg verteld worden hoe belangrijk het
is om een back-up te maken van een systeem
vóór deze taak uit te
voeren. Ook al is het opnieuw bouwen van de wereld vrij simpel
(als deze instructies gevolgd worden), er worden ongetwijfeld
ooit fouten gemaakt, misschien zelfs in de broncode, die het
onmogelijk maken om een systeem op te starten.Wees ervan verzekerd dat er een back-up gemaakt is en dat er
een reparatiediskette of cd-rom bij de hand is. Deze wordt
waarschijnlijk nooit gebruikt maar better safe than
sorry.Abonneer op de juiste mailinglijstenmailinglijstDe &os.stable; en &os.current; takken zijn van nature
in ontwikkeling. Mensen die bijdragen
aan &os; zijn menselijk en foutjes ontstaan regelmatig.Soms zijn deze foutjes onschadelijk, ze geven dan hooguit
een nieuwe diagnostische waarschuwing weer. Maar de wijziging
kan ook catastrofaal zijn en ervoor zorgen dat een systeem niet
meer opstart of bestandssystemen vernietigt (of erger).Als problemen zoals deze voorkomen wordt er een
heads up naar de juiste mailinglijst gestuurd,
waarin uitgelegd wordt wat het probleem is en welke systemen
het raakt. Er wordt een all clear bericht
gestuurd als het probleem is opgelost.&os.stable; of &os.current; volgen zonder de &a.stable; of
&a.current; te volgen is vragen om problemen.Gebruik geen make worldVeel oudere documentatie raadt aan om make
world te gebruiken. In dat geval worden er
belangrijke stappen overgeslagen en gebruik het commando alleen
als er voldoende kennis over aanwezig is. In bijna alle
omstandigheden is make world verkeerd en
de procedure die hier beschreven is hoort in plaats daarvan
gebruikt te worden.De universele wijze om een systeem bij te werkenOm uw systeem bij te werken, dient u
/usr/src/UPDATING te controleren op
eventuele pre-buildworld stappen die nodig zijn voor uw versie
van de broncode en daarna de procedure te gebruiken die hier
beschreven staat.Deze bijwerkstappen nemen aan dat u nu een oude versie van
&os; gebruikt, die uit een oude compiler, een oude kernel, een
oude wereld en oude instellingenbestanden bestaat. Onder
wereld worden de binairen, bibliotheken, en
programmeerbestanden van het kernsysteem verstaan. De compiler
is deel van wereld, maar heeft enkele speciale
aandachtspunten.We nemen ook aan dat u reeds de broncode van een nieuwer
systeem heeft verkregen. Bekijk, als de bronnen op een bepaald
systeem ook oud zijn, voor uitgebreide
hulp over het synchroniseren ervan naar een nieuwere
versie.Het bijwerken van het systeem vanaf de broncode is wat
subtieler dan het op het eerste gezicht lijkt, en de
ontwikkelaars van &os; vonden het in de loop der jaren nodig om
de aangeraden methode redelijk drastisch te veranderen met het
aan het licht komen van nieuwe soorten onontwijkbare
afhankelijkheden. De rest van deze sectie beschrijft de
rationale achter de huidige aanbevolen bijwerkmethode.Elke succesvolle bijwerkmethode krijgt te maken met de
volgende punten:Het kan voorkomen dat de oude compiler de nieuwe kernel
niet kan compileren. (Oude compilers bevatten soms bugs.)
De nieuwe kernel dient dus met de nieuwe compiler gebouwd te
worden. In het bijzonder moet de nieuwe compiler gebouwd
worden voordat de nieuwe kernel gebouwd wordt. Dit betekent
niet per se dat de nieuwe compiler
geďnstalleerd moet worden voordat
de nieuwe kernel gebouwd wordt.De nieuwe wereld kan afhankelijk zijn van mogelijkheden
van de nieuwe kernel. Dus moet de nieuwe kernel worden
geďnstalleerd voordat de nieuwe wereld wordt
geďnstalleerd.De eerste twee gevallen zijn de basis voor de methode
buildworld,
buildkernel,
installkernel,
installworld die we in de volgende
paragrafen beschrijven. Dit is geen uitputtende lijst van alle
redenen waarom het huidige aanbevolen bijwerkproces de voorkeur
verdient. Wat minder voor de hand liggende redenen worden
hieronder genoemd:Het kan zijn dat de oude wereld niet correct draait op
de nieuwe kernel, dus moet de nieuwe wereld onmiddellijk na
het installeren van de nieuwe kernel geďnstalleerd
worden.Sommige instellingen moeten veranderd worden voordat de
nieuwe wereld wordt geďnstalleerd, maar anderen kunnen
de oude wereld kapot maken. Vandaar dat over het algemeen
twee verschillende bijwerkstappen voor de instellingen nodig
zijn.Voor het grootste gedeelte houdt het bijwerkproces zich
alleen bezig met het vervangen of toevoegen van bestanden;
bestaande oude bestanden worden niet verwijderd. Dit kan in
sommige gevallen problemen geven. Als een gevolg zal de
bijwerkprocedure soms aangeven dat bepaalde bestanden
tijdens bepaalde stappen handmatig verwijderd dienen te
worden. Dit kan in de toekomst eventueel geautomatiseerd
worden.Deze zorgen hebben tot het volgende aanbevolen bijwerkproces
geleid. Merk op dat het gedetailleerde proces voor bepaalde
updates aanvullende stappen nodig kan hebben, maar dit
kernproces zou de komende tijd ongewijzigd moeten
blijven:make
buildworldDit compileert eerst de nieuwe compiler en enkele
aanverwante gereedschappen, daarna wordt de nieuwe compiler
gebruikt om de rest van de nieuwe wereld te compileren. Het
resultaat komt in /usr/obj te staan.make
buildkernelIn tegenstelling tot de oude aanpak, die &man.config.8;
en &man.make.1; gebruikt, gebruikt dit de
nieuwe compiler die in /usr/obj verblijft. Dit
beschermt u tegen mismatches tussen de compiler en de
kernel.make
installkernelPlaatst de nieuwe kernel en kernelmodules op de schijf,
waardoor het mogelijk wordt om met de nieuw bijgewerkte
kernel op te starten.Start opnieuw op in enkele-gebruikersmodus.De enkele-gebruikersmodus minimaliseert problemen met
het bijwerken van software die al draait. Het minimaliseert
ook problemen die opduiken door een oude wereld op een
nieuwe kernel te draaien.mergemaster Dit voert wat initiële updates aan
instellingenbestanden uit ter voorbereiding op de nieuwe
wereld. Het kan bijvoorbeeld nieuwe gebruikersgroepen aan
het systeem, of nieuwe gebruikersnamen aan de
wachtwoorddatabase toevoegen. Dit is vaak nodig wanneer er
nieuwe groepen of speciale accounts voor systeemgebruikers
zijn toegevoegd sinds de laatste keer bijwerken, zodat de
stap installworld zonder problemen
de nieuw geďnstalleerde namen van systeemgebruikers of
systeemgroepen kan gebruiken.make
installworldKopieert de wereld van /usr/obj. U heeft nu een
nieuwe kernel en een nieuwe wereld op schijf staan.mergemasterNu kunt u de overgebleven instellingenbestanden
bijwerken, aangezien u een nieuwe wereld op schijf heeft
staan.Start opnieuw op.Een volledige nieuwe start van de machine is nodig om de
nieuwe kernel en de nieuwe wereld met nieuwe
instellingenbestanden te laden.Merk op dat als u van de ene uitgave van dezelfde tak van
&os; bijwerkt naar een recentere uitgave van dezelfde tak, i.e.
van 7.0 naar 7.1, dat deze procedure dan niet absoluut nodig is,
aangezien het onwaarschijnlijk is dat u serieuze problemen
krijgt met de compiler, kernel, gebruikersland en
instellingenbestanden. De oudere aanpak met make
world gevolgd door het
bouwen en installeren van een nieuwe kernel kan voor kleine
updates goed genoeg zijn.Maar mensen die deze procedure niet volgen tijdens het
bijwerken tussen grote uitgaven kunnen wat problemen
verwachten.Het is ook goed om op te merken dat veel upgrades (i.e.
4.X naar 5.0) wat specifieke
aanvullende stappen nodig hebben (bijvoorbeeld het hernoemen of
verwijderen van specifieke bestanden voorafgaand aan
installworld). Lees het bestand
/usr/src/UPDATING zorgvuldig, met name het
einde, waar het huidig aangeraden bijwerkproces expliciet wordt
beschreven.Deze procedure is in de loop der tijd veranderd aangezien de
ontwikkelaars zagen dat het onmogelijk was om bepaalde
mismatch-problemen volledig te voorkomen. Hopelijk blijft de
huidige procedure voor een lange tijd stabiel.Samengevat is de huidige aanbevolen manier om &os; vanaf
broncode bij te werken:&prompt.root; cd /usr/src
&prompt.root; make buildworld
&prompt.root; make buildkernel
&prompt.root; make installkernel
&prompt.root; shutdown -r nowEr zijn een aantal zeldzame gevallen waarin
mergemaster -p nog een keer moet draaien
voor de stap met buildworld. Deze
staan beschreven in UPDATING. In het
algemeen kan deze stap echter zonder risico worden
overgeslagen als er niet tussen een of meer hoofdversies
wordt bijgewerkt.Nadat installkernel succesvol is
afgerond, dient er in single-user modus opgestart te worden
(met boot -s vanaf de loaderprompt). Draai
dan:&prompt.root; mount -u /
&prompt.root; mount -a -t ufs
&prompt.root; adjkerntz -i
&prompt.root; mergemaster -p
&prompt.root; cd /usr/src
&prompt.root; make installworld
&prompt.root; mergemaster
&prompt.root; rebootLees verdere uitlegDe hierboven beschreven volgorde is alleen een korte
samenvatting. Ook de volgende secties lezen geeft een beter
beeld van elke stap, met name als er een op maat gemaakte
kernelinstelling wordt gebruikt./usr/src/UPDATING lezenLees voor verder te gaan
/usr/src/UPDATING (of het gelijknamige
bestand waar de kopie van de broncode ook staat). Dit bestand
kan belangrijke informatie bevatten over mogelijke problemen of
specificeert de volgorde waarin bepaalde commando's gestart
moeten worden. Als UPDATING tegenstrijdig
is met wat hier wordt beschreven, heeft
UPDATING voorrang.UPDATING lezen is geen acceptabele
vervanging voor het abonneren op de correcte mailinglijst
zoals eerder beschreven. De twee vullen elkaar aan en zijn
niet exclusief./etc/make.conf controlerenmake.confControleer
/usr/share/examples/etc/make.conf
en /etc/make.conf. Het
eerste bestand bevat standaard definities, waarvan de meeste
uitgecommentarieerd zijn. Om hiervan gebruik te maken als het
systeem opnieuw opgebouwd wordt vanuit de broncode, moeten ze
toegevoegd worden aan /etc/make.conf.
Bedenk dat alles wat toegevoegd wordt aan
/etc/make.conf ook gebruikt wordt bij elk
make commando. Het is dus verstandig om
daar redelijke waardes in te vullen voor een systeem.Een typische gebruiker wil waarschijnlijk de regel
NO_PROFILE uit
/usr/share/examples/etc/make.conf
kopiëren naar /etc/make.conf en het
commentaar verwijderen.Bekijk de andere definities, zoals NOPORTDOCS en
bepaal of deze relevant zijn./etc bijwerkenDe map /etc bevat een groot deel van
de systeeminstellingen en scripts die gestart worden tijdens de
systeemstart. Sommige van deze scripts verschillen van versie
tot versie in &os;.Sommige van de instellingenbestanden worden dagelijks
gebruikt voor het draaien van een systeem. In het bijzonder
/etc/group.Er zijn gevallen geweest waarbij het installatiegedeelte
van make installworld een aantal
gebruikersnamen of groepen verwachtte. Als er een upgrade
wordt uitgevoerd is het waarschijnlijk dat deze gebruikers of
groepen niet bestaan. Dit levert problemen op bij upgraden.
In sommige gevallen controleert make
buildworld of deze gebruikers of groepen
bestaan.Een voorbeeld hiervan is het toevoegen van de gebruiker
smmsp. Gebruikers hadden een falend
installatieproces toen &man.mtree.8; probeerde om
/var/spool/clientmqueue te
creëren.&man.mergemaster.8; kan in voorbereidende modus gedraaid
worden als de optie wordt meegegeven. Dan
worden alleen de bestanden vergeleken die essentieel zijn voor
het succes van buildworld of
installworld:In paranoide beheerdersmodus kan er
gecontroleerd worden welke bestanden op een systeem eigendom
zijn van de groep die wordt hernoemd of verwijderd:&prompt.root; find / -group GID -printDit commando toont alle bestanden die eigendom zijn van
de groep GID (een groepsnaam of
een numeriek groeps-ID).Systeem naar single-user modus brengensingle-user modusHet kan zijn dat een systeem in single-user modus
gecompileerd moet worden. Buiten het duidelijke voordeel dat
de operatie iets sneller verloopt, is het voordeel dat bij een
herinstallatie van een systeem een aantal belangrijke
systeembestanden waaronder binaire systeembestanden,
bibliotheken, include bestanden, enzovoort, worden aangepast,
iets wat op een actief systeem vragen om problemen is (zeker
als er actieve gebruikers op een systeem aanwezig zijn).multi-user modusEen andere methode is het systeem compileren in multi-user
modus en daarna naar single-user modus gaan voor de
installatie. Bij deze methode moeten de volgende stappen
gevolgd worden. Het overschakelen naar single-user modus kan
uitgesteld worden tot en met
installkernel of
installworld.Een supergebruiker kan als volgt een draaiend systeem naar
single-user modus overgeschakelen:&prompt.root; shutdown nowAls alternatief kan tijdens het opstarten de optie
worden gekozen. Het systeem start dan
in single-user modus. Op de shell prompt moet dan worden
ingegeven:&prompt.root; fsck -p
&prompt.root; mount -u /
&prompt.root; mount -a -t ufs
&prompt.root; swapon -aHierdoor worden de bestandssystemen gecontroleerd,
/ met lees en schrijf rechten opnieuw
gemount, worden alle andere UFS bestandssystemen die in
/etc/fstab staan gemount en wordt swap
ingeschakeld.Als de CMOS-klok ingesteld is naar de lokale tijd en
niet naar GMT (dit is waar als het resultaat van
&man.date.1; niet de correcte tijd en zone weergeeft), dan
is het misschien handig om het volgende commando te
starten:&prompt.root; adjkerntz -iDit zorgt ervoor dat de lokale tijdzoneinstellingen
correct ingesteld worden. Zonder deze instelling kunnen er
later problemen ontstaan./usr/obj verwijderenAls delen van een systeem opnieuw gebouwd worden, worden ze
standaard geplaatst in mappen onder
/usr/obj. Deze mappen schaduwen de mappen
onder /usr/src.Het proces make buildworld kan versneld
worden en problemen met afhankelijkheden kunnen voorkomen
worden als deze map wordt verwijderd.Sommige bestanden onder /usr/obj
hebben mogelijk de optie niet aanpassen
ingesteld (zie &man.chflags.1;) die eerst verwijderd moet
worden:&prompt.root; cd /usr/obj
&prompt.root; chflags -R noschg *
&prompt.root; rm -rf *Broncode van het basissysteem hercompilerenUitvoer bewarenHet is een goed idee om de uitvoer van &man.make.1; te
bewaren in een ander bestand. Als er iets misgaat is er een
kopie van de foutmelding aanwezig. Hoewel dit misschien niet
helpt in de diagnose van wat er fout is gegaan, kan het
anderen helpen als het probleem wordt aangegeven in
een &os; mailinglijst.De makkelijkste manier om dit te doen is door het
commando &man.script.1; te gebruiken, met een parameter
die de naam specificeert waar de uitvoer naartoe moet. Dit
moet direct gedaan worden vóór het herbouwen
van de wereld, zodat het proces klaar is moet
exit worden ingegeven:&prompt.root; script /var/tmp/mw.out
Script started, output file is /var/tmp/mw.out
&prompt.root; make TARGET… compile, compile, compile …
&prompt.root; exit
Script done, …Bewaar de uitvoer in deze stap niet
in /tmp. Deze map wordt mogelijk
opgeschoond tijdens de volgende herstart. Een betere plaats
om dit bestand te bewaren is de map
/var/tmp (zoals in het vorige voorbeeld)
of in de thuismap van root.Basissysteem compilerenGa naar de map /usr/src, tenzij de
broncode ergens anders staat, in welk geval naar die map
gegaan moet worden:&prompt.root; cd /usr/srcmakeOm de wereld opnieuw te bouwen moet het commando
&man.make.1; gebruikt worden. Dit commando leest zijn
instructies uit het bestand Makefile,
dat beschrijft hoe de programma's die samen &os; vormen
moeten worden gebouwd, in welke volgorde ze gebouwd moeten
worden, enzovoort.Het algemene formaat van de commandoregel die gebruikt
moet worden is als volgt:&prompt.root; make -x -DVARIABELEdoelIn dit voorbeeld is de optie
een optie die
wordt meegegeven aan &man.make.1;. In de hulppagina voor
&man.make.1; staat een voorbeeld van de opties die meegegeven
kunnen worden.
geeft een variabele door aan Makefile.
Het gedrag van Makefile wordt
beďnvloed door deze variabele. Dit zijn dezelfde
variabelen die ingesteld worden in
/etc/make.conf. Deze optie biedt een
alternatief om deze opties in te stellen.&prompt.root; make -DNO_PROFILE doelHet bovenstaande commando is een andere manier om aan te
geven dat geprofileerde bibliotheken niet gebouwd moeten
worden en correspondeert met de onderstaande regel in
/etc/make.conf:NO_PROFILE= true # Avoid compiling profiled librariesdoel geeft &man.make.1; aan
wat er gedaan moet worden. Elke
Makefile definieert een aantal van
verschillende doelen en het gekozen doel bepaalt wat er
gebeurt.Sommige doelen staan vermeld in het bestand
Makefile, maar zijn niet geschikt om
direct te starten. Integendeel, deze worden gebruikt door
het bouwproces om de benodigde stappen onder te
verdelen.In veel gevallen hoeven er geen parameters te worden
meegegeven aan &man.make.1; en dus ziet de commando regel er
als volgt uit:&prompt.root; make doelWaar doel een van de vele
bouw opties is. De eerste target moet echter altijd
buildworld zijn.Zoals de namen impliceren bouwt
buildworld een compleet nieuwe boom
onder /usr/obj en
installworld, een andere target,
installeert deze boom op de huidige machine.Het hebben van verschillende opties is handig om twee
redenen. Als eerste biedt het
de mogelijkheid om de bouw veilig te doen met de wetenschap
dat geen enkel draaiend onderdeel van een systeem geraakt
wordt. De bouw is zelf ondersteunend.
Hierdoor kan veilig in multi-user modus
buildworld gedraaid worden. Het
wordt echter nog steeds aangeraden om
installworld in single-user modus te
starten.Ten tweede geeft het de mogelijkheid om NFS-mounts te
gebruiken om meerdere machines in het netwerk bij te werken.
Als er drie machines zijn, A,
B en C, die bijgewerkt
moeten worden, dan kunnen make buildworld
en make installworld gedraaid worden op
A waarna B en
C een NFS-mount kunnen opzetten naar
/usr/src en
/usr/obj op machine A
waarna make installworld gedraaid kan
worden op B en C om de
resultaten de installeren.Alhoewel het doel world nog wel
bestaat wordt het gebruik ervan sterk
afgeraden.Voer het volgende commando uit:&prompt.root; make buildworldHet is mogelijk om de optie mee te
geven aan make, wat resulteert in meerdere
processen die tegelijkertijd draaien. Dit heeft het meeste
effect op machines met meerdere processoren. Echter, omdat
het compilatieproces meer IO-gericht is dan processorgericht,
kan het ook nuttig zijn op systemen met één
processor.Start als volgt op een systeem met één
processor:&prompt.root; make -j4 buildworld&man.make.1; draait dan maximaal 4 processen
tegelijkertijd. In het algemeen blijkt uit de mailinglijsten
dat dit de beste resultaten geeft.Als er meerdere processoren in een systeem zitten en
gebruik gemaakt wordt van een SMP kernel, probeer dan waardes
tussen de 6 en 10 en bekijk hoe het systeem reageert.Doorlooptijdworld opnieuw bouwendoorlooptijdVeel factoren bepalen de doorlooptijd van het bouwen van
een boom, maar redelijk recente machines doen er maar 1 tot
2 uur over om de &os.stable; boom te bouwen.
zonder extra trucjes. Een &os.current; boom kan wat langer
duren.Nieuwe kernel compileren en installerenkernelcompilerenOm volledig gebruik te maken van het nieuwe systeem moet de
kernel opnieuw gecompileerd worden. Dit is bijna altijd nodig
omdat sommige geheugenstructuren mogelijkerwijs veranderd zijn
en programma's als &man.ps.1; en &man.top.1; niet werken totdat
de kernel en de broncode dezelfde versie hebben.De simpelste en makkelijkste manier om dit te doen is
om een kernel te maken die gebaseerd is op
GENERIC. Ondanks dat
GENERIC mogelijk niet alle benodigde
apparaten heeft voor een systeem, hoort het alles te bevatten
dat nodig is om een systeem te starten in single-user modus.
Dit is een goede test op de correcte werking van een nieuw
systeem. Na het opstarten van GENERIC en
een systeemcontrole kan erna een nieuwe kernel gebouwd worden
gebaseerd op een aangepast kernelinstellingenbestand.Op &os; is het belangrijk om de
wereld opnieuw te bouwen
voordat een nieuwe kernel gebouwd wordt.Als een aangepaste kernel gemaakt moet worden en er reeds
een instellingenbestand aanwezig is, gebruik dan
KERNCONF=MYKERNEL
als volgt:&prompt.root; cd /usr/src
&prompt.root; make buildkernel KERNCONF=MYKERNEL
&prompt.root; make installkernel KERNCONF=MYKERNELLet op dat als kern.securelevel een
waarde hoger dan 1 heeft ofnoschg of gelijksoortige opties geplaatst
zijn op het binaire kernelbestand, is het misschien nodig om
terug te gaan naar single-user modus om
installkernel uit te voeren. In
andere gevallen moet het mogelijk zijn om deze commando's
zonder problemen uit te voeren in multi-user modus. Zie
&man.init.8; voor meer informatie over
kern.securelevel en &man.chflags.1; voor
informatie over diverse bestandsopties.Opnieuw opstarten in single-user modussingle-user modusStart met de instructies in in single-user modus op om te
testen of de nieuwe kernel werkt.Nieuwe binaire systeembestanden installerenNa het draaien van make buildworld kan
nu installworld gebruikt worden om de
nieuwe binaire systeembestanden te installeren.Voer de volgende commando's uit:&prompt.root; cd /usr/src
&prompt.root; make installworldAls er variabelen gespecificeerd zijn op de commandoregel
van make buildworld moeten dezelfde
variabelen gebruikt worden op de commandoregel van
make installworld. Dit is niet per se
waar voor opties zoals , die nooit
gebruikt mogen worden met
installworld.Als bijvoorbeeld het volgende commando is
uitgevoerd:&prompt.root; make -DNO_PROFILE buildworldDan moet het resultaat geďnstalleerd worden
met:&prompt.root; make -DNO_PROFILE installworldAnders wordt geprobeerd geprofileerde bibliotheken te
installeren die niet gebouwd zijn tijdens de fase
make buildworld.Bestanden bijwerken die niet bijgewerkt zijn door
make installworldHet herbouwen van de wereld werkt bepaalde mappen niet
bij (in het bijzonder /etc,
/var en /usr) met
nieuwe of gewijzigde instellingenbestanden.De simpelste manier om deze bestanden bij te werken is door
&man.mergemaster.8; te gebruiken, maar het is ook mogelijk
dit handmatig te doen. Welke manier er ook gekozen wordt, zorg
er altijd voor dat een back-up van /etc
beschikbaar is voor het geval er iets misgaat.TomRhodesBijgedragen door mergemastermergemasterHet hulpprogramma &man.mergemaster.8; is een Bourne script
dat helpt bij het bepalen van de verschillen tussen de
instellingenbestanden in /etc en de
instellingenbestanden in de broncodeboom
/usr/src/etc. Deze methode wordt
aangeraden om instellingenbestanden van een systeem bijgewerkt
te houden met de bestanden die in de broncodeboom staan.Het programma wordt gestart met
mergemaster op de commandoregel en geeft dan
resultaten weer. mergemaster bouwt dan een
tijdelijke root omgeving vanaf / en vult
deze met diverse instellingenbestanden voor een systeem. Deze
bestanden worden vergeleken met de bestanden die
geďnstalleerd zijn op een systeem. Op dit punt worden de
bestanden getoond die verschillen in het &man.diff.1;-formaat,
met een voor toegevoegde of gewijzigde
regels en een voor regels die verwijderd of
vervangen zijn. In de hulppagina voor &man.diff.1; staat meer
informatie over de syntaxis van &man.diff.1; en hoe
bestandsverschillen getoond worden.&man.mergemaster.8; toont dan elk bestand dat verschilt en
op dit moment is er de mogelijkheid om of het nieuwe bestand te
verwijderen (ofwel het tijdelijke bestand), het tijdelijke
bestand te installeren zonder enige wijzigingen, het verwerken
van het oude bestand in het nieuwe bestand of de resultaten van
&man.diff.1; nogmaals te tonen.Als gekozen wordt om het tijdelijke bestand te verwijderen,
geeft dit &man.mergemaster.8; aan dat het huidige bestand niet
gewijzigd dient te worden en de nieuwe versie verwijderd kan
worden. Deze optie wordt niet aangeraden, behalve als er geen
reden is om het huidige bestand aan te passen. Op ieder moment
kunnen hulpteksten getoond worden door ? in te
geven op de prompt van &man.mergemaster.8;. Als een bestand
wordt overgeslagen, dan wordt het weer getoond als alle overige
bestanden verwerkt zijn.Bij de keuze om het ongewijzigde tijdelijke bestand te
installeren wordt het huidige bestand vervangen door het
nieuwe. Voor de meeste ongewijzigde bestanden is dit de beste
optie.Als ervoor gekozen wordt om de wijzigingen te verwerken
wordt er een tekstverwerker gestart die de inhoud van beide
bestanden toont. De verschillen kunnen verwerkt worden terwijl
beide bestanden naast elkaar op het scherm staan. Hier kunnen
delen gekozen worden die gezamenlijk een nieuw bestand
opleveren. Als de bestanden zij aan zij vergeleken worden,
wordt met de toets l de inhoud links
geselecteerd en met de toets r de inhoud
rechts geselecteerd. Het eindresultaat bestaat uit delen van
beide bestanden die erna geinstalleerd kunnen worden. Deze
optie wordt voornamelijk gebruikt voor bestanden die gewijzigd
zijn door de beheerder.Als ervoor gekozen wordt om de &man.diff.1; resultaten nog
een keer te tonen, worden dezelfde verschillen getoond
zoals &man.mergemaster.8; deed voordat een optie gevraagd
werd.Zodra &man.mergemaster.8; klaar is met de systeembestanden
worden er andere opties getoond. &man.mergemaster.8; kan
vragen of het wachtwoordbestand opnieuw gebouwd moet worden.
Als laatste wordt een optie getoond om
alle overgebleven tijdelijke bestanden te verwijderen.Handmatig bijwerkenBij handmatig bijwerken kunnen de bestanden van
/usr/src/etc niet zomaar naar
/etc gekopieerd worden om een werkend
systeem te krijgen. Sommige van deze bestanden moeten eerst
geďnstalleerd worden. Dit omdat de map
/usr/src/etcgeen
kopie is van /etc. Daarnaast staan er
in /etc bestanden die niet in
/usr/src/etc staan.Als &man.mergemaster.8; gebruikt wordt (zoals
aangeraden), kan doorgegaan worden met het volgende
onderdeel.De simpelste manier om met de hand bij te werken, is de
bestanden in een nieuwe map installeren en daarna naar
verschillen tussen de bestanden te zoeken.Back-up maken van /etcOndanks dat, in theorie, niets in deze map automatisch
wordt aangepast, is het altijd beter om daar zeker van te
zijn. Dus kopieer de bestaande /etc
naar een veilige locatie. Zoals bijvoorbeeld met het
volgende commando:&prompt.root; cp -Rp /etc /etc.old maakt een recursieve kopie,
bewaart tijden, eigenaarschap,
enzovoorts op bestanden.Er moet een dummyset van mappen gemaakt worden om de
nieuwe /etc en andere bestanden in te
installeren. /var/tmp/root is een
redelijke keuze en er zijn hier een aantal benodigde
submappen aanwezig:&prompt.root; mkdir /var/tmp/root
&prompt.root; cd /usr/src/etc
&prompt.root; make DESTDIR=/var/tmp/root distrib-dirs distributionDit maakt de benodigde mappenstructuur en installeert de
bestanden. Een groot deel van de submappen die gemaakt zijn
in /var/tmp/root zijn leeg en moeten
verwijderd worden. De simpelste manier om dit te doen
is:&prompt.root; cd /var/tmp/root
&prompt.root; find -d . -type d | xargs rmdir 2>/dev/nullDit verwijderd alle lege mappen. De standaardfout wordt
omgeleid naar /dev/null om
waarschuwingen te voorkomen over mappen die niet leeg
zijn./var/tmp/root bevat nu alle
bestanden die geplaatst zouden moeten worden op de juiste
locaties in /. Er moet nu in de
bestanden gekeken worden om te bepalen of deze verschillen
met de huidige betanden.Let op dat sommige van de bestanden die
geďnstalleerd zijn in /var/tmp/root
beginnen met een .. Op het moment van
schrijven hebben alleen shell opstartscripts in
/var/tmp/root en
/var/tmp/root/root dit, maar er kunnen
ook andere zijn. Zorg ervoor dat ls -a
gebruikt wordt om deze bestanden te zien.De simpelste manier om twee bestanden te vergelijken is
&man.diff.1; gebruiken:&prompt.root; diff /etc/shells /var/tmp/root/etc/shellsDit toont de verschillen tussen de huidige
/etc/shells en de nieuwe
/var/tmp/root/etc/shells. Gebruik dit
om te bepalen of de wijzigingen gemigreerd moeten worden of
dat het oude bestand gekopieërd moet worden.Voeg aan de naam van de nieuwe rootmap
(/var/tmp/root) een tijdsindicatie toe
zodat makkelijk verschillen tussen versies bepaald kunnen
wordenAls de wereld regelmatig wordt herbouwd moeten
bestanden in /etc ook regelmatig
bijgewerkt moeten worden, wat een vervelend werkje kan
zijn.Dit proces kan versneld worden door een kopie te
bewaren van de bestanden die gemigreerd zijn naar
/etc. De volgende procedure geeft een
idee over hoe dit gedaan kan worden.Maak de wereld zoals normaal. Als
/etc en de andere mappen
bijgewerkt moeten worden, geef dan de doelmap een naam
gebaseerd op de huidige datum. Op 14 februari 1998
wordt dat als volgt gedaan:&prompt.root; mkdir /var/tmp/root-19980214
&prompt.root; cd /usr/src/etc
&prompt.root; make DESTDIR=/var/tmp/root-19980214 \
distrib-dirs distributionMigreer de wijzigingen van deze map zoals hierboven
beschreven.Verwijder de map
/var/tmp/root-19980214niet na afronden.Als de laatste versie van de broncode gedownload en
opnieuw gemaakt is, volg stap 1. Dit geeft een nieuwe
map die wellicht
/var/tmp/root-19980221 heet (als
er een week zit tussen het bijwerken).De verschillen die gemaakt zijn in de
tussenliggende week kunnen nu getoond worden door met
&man.diff.1; een recursieve diff te maken tussen de
twee mappen:&prompt.root; cd /var/tmp
&prompt.root; diff -r root-19980214 root-19980221Vaak is dit een kleinere set aan verschillen dan
tussen /var/tmp/root-19980221/etc
en /etc. Omdat de set
verschillen kleiner is, is het makkelijker om deze te
migreren naar de map /etc.De oudste van de twee
/var/tmp/root-*-mappen kan nu
verwijderd worden:&prompt.root; rm -rf /var/tmp/root-19980214Herhaal dit proces elke keer als er wijzigingen
gemigreerd moeten worden naar
/etc.Met &man.date.1; kan het maken van de mappen
geautomatiseerd worden:&prompt.root; mkdir /var/tmp/root-`date "+%Y%m%d"`HerstartenDit was het. Na een controle of alles op de juiste plaats
staat kan het systeem herstart worden. Dan kan met een simpele
&man.shutdown.8;:&prompt.root; shutdown -r nowKlaarHet &os; systeem is nu succesvol bijgewerkt.
Gefeliciteerd!Als er dingen misgingen is het makkelijk om een deel van
het systeem opnieuw te bouwen. Als bijvoorbeeld per ongeluk
/etc/magic verwijderd is als onderdeel
van de upgrade of door het samenvoegen van
/etc, dan werkt &man.file.1; niet meer.
Dat kan als volgt opgelost worden:&prompt.root; cd /usr/src/usr.bin/file
&prompt.root; make all installVragenMoet de wereld opnieuw gemaakt worden voor elke
wijziging?Op deze vraag bestaat geen eenvoudig antwoord, omdat
dit afhangt van de aard van de wijziging. Als
bijvoorbeeld net CVSup is
gedraaid en de onderstaande bestanden zijn bijgewerkt,
dan is het waarschijnlijk niet de moeite waard om de
volledige wereld te herbouwen:src/games/cribbage/instr.csrc/games/sail/pl_main.csrc/release/sysinstall/config.csrc/release/sysinstall/media.csrc/share/mk/bsd.port.mkDan is het handiger om naar de juiste submappen te
gaan, daar make all install uit te
voeren en dat is het zo'n beetje. Maar als er iets
wezenlijks is veranderd, bijvoorbeeld
src/lib/libc/stdlib, dan dient ofwel
de wereld herbouwd te worden of tenminste die delen die
statisch gelinkt zijn (en ook al het andere dat statisch
gelinkt is en onderdeel is van een systeem).Uiteindelijk beslist een beheerder zelf. Misschien
vindt die het prettig iedere twee weken de wereld te
herbouwen terwijl de wijzigingen in die twee weken
binnenkomen. Een andere beheerder herbouwt alleen die
onderdelen die veranderd zijn en vertrouwt erop dat hij
alle afhankelijkheden in de gaten heeft.Natuurlijk hangt het ook af van de keuze hoe vaak het
wenselijk is bij te werken en of &os.stable; of
&os.current; wordt bijgehouden.Het compileren gaat fout met veel meldingen van
signal 11signal 11
(of andere signalnummers). Wat is er aan de hand?Dit wijst meestal op hardwareproblemen. Het
(her)bouwen van de wereld is een prima manier om een
stresstest op hardware uit te voeren en hierdoor komen
vaak geheugenproblemen bovendrijven. Die resulteren vaak
in een compiler die op mysterieuze wijze overlijdt na het
ontvangen van vreemde signalen.Dit probleem is nog duidelijker als na het herstarten
van de make het proces opnieuw stopt op een ander
punt.Hier biedt niets anders uitkomst dan componenten in
een systeem wisselen om uit te zoeken welk component er
faalt.Kan /usr/obj verwijderd worden
na afloop?Het korte antwoord is ja./usr/obj bevat alle
objectbestanden die tijdens het compileren zijn gemaakt.
Normaliter is een van de eerste stappen in het
make buildworld proces deze map
verwijderen en een verse start maken. In dit geval heeft
het behouden van /usr/obj na het
afronden weinig zin en geeft het ook nogal wat extra
vrije schijfruimte (ongeveer 2 GB).Als er veel kennis aanwezig is bij een beheerder, dan
kan make buildworld aangegeven worden
deze stap over te slaan. Hierdoor draaien volgende
builds veel sneller, omdat veel broncode niet opnieuw
gecompileerd hoeft te worden. De andere kant van de
medaille is dat er subtiele afhankelijkheidsproblemen
kunnen ontstaan, waardoor een build op bijzondere wijze
kan falen. Hierdoor onstaat regelmatig ruis op &os;
mailinglijsten als er iemand klaagt dat zijn build faalt,
terwijl hij zich niet realiseert dat dit komt doordat hij
zijn updateproces niet volgens het boekje heeft
uitgevoerd.Kunnen onderbroken builds gecontinueerd
worden?Dit hangt af van hoever een systeem was voordat een
probleem gevonden werd.Normaal gesproken (en dit is
geen vaste regel) maakt het proces make
buildworld nieuwe kopieën van essentiele
hulpprogramma's (zoals &man.gcc.1; en &man.make.1;) en de
systeembibliotheken. Deze hulpprogramma's en
bibliotheken worden daarna geďnstalleerd. De nieuwe
hulpprogramma's en bibliotheken worden daarna gebruikt om
zichzelf opnieuw op te bouwen en wederom te installeren.
Het complete systeem (nu met gewone programma's zoals
&man.ls.1; en &man.grep.1;) wordt daarna opnieuw gebouwd
met de nieuwe systeembestanden.Als een systeem in de laatste fase zit (wat uit de
uitvoer blijkt) kan dit redelijk veilig gedaan
worden:… fix the problem …
&prompt.root; cd /usr/src
&prompt.root; make -DNO_CLEAN allDit maakt het werk van de vorige make
buildworld niet ongedaan.Als het onderstaande bericht in de uitvoer van
make buildworld staat, dan is het
redelijk veilig om het te doen:--------------------------------------------------------------
Building everything..
--------------------------------------------------------------Als dat bericht er niet is, of er is onzekerheid
over, dan is het altijd beter om de build opnieuw te
starten vanaf het begin.Kan kan de wereld bouwen versneld worden?Draai in single-user modus;Zet de mappen /usr/src en
/usr/obj op aparte
bestandssystemen die op aparte schijven staan. Hang
deze schijven als mogelijk aan aparte
schijfcontrollers;Nog beter, verspreid de bestandssystemen over
meerdere schijven via het apparaat &man.ccd.4;
(concatenated disk driver);Zet profiling uit (voeg
NO_PROFILE=true toe aan
/etc/make.conf). Het is zeer
waarschijnlijk niet nodig;Geef de optie
mee
aan &man.make.1; om meerdere processen parallel te
laten lopen. Dit helpt in de meeste gevallen,
onafhankelijk of er gewerkt wordt op een systeem met
één of meerdere processoren;Het bestandssysteem dat
/usr/src bevat, kan (opnieuw)
gemount worden met de optie .
Dit voorkomt dat het bestandssysteem de
toegangsmomenten registreert. Deze informatie is
waarschijnlijk toch niet nodig.&prompt.root; mount -u -o noatime /usr/srcIn dit voorbeeld wordt aangenomen dat
/usr/src op zijn eigen
bestandssysteem staat. Als dit niet het geval is
(bijvoorbeeld als het onderdeel is van
/usr), dan moet het mountpunt
voor dat bestandssysteem gebruikt moeten worden
en niet /usr/src;Het bestandssysteem dat
/usr/obj gevat kan (opnieuw)
worden gemount met de optie .
Dit zorgt ervoor dat schrijfacties naar een schijf
asynchroon plaatsvinden. In andere woorden: de
schrijfactie wordt direct uitgevoerd en de gegevens
worden later naar de schijf geschreven. Dit stelt
het systeem in staat om data geclusterd weg te
schrijven, wat een grote prestatieverbetering kan
opleveren.Houd er rekening mee dat deze optie het
bestandssysteem kwetsbaarder maakt. Met deze optie
is er een vergrote kans dat, indien er een
stroomstoring optreed, het bestandssysteem in een
niet meer te herstellen staat komt als de machine
herstart.Als op dit bestandssysteem alleen
/usr/obj staat, is dit geen
probleem. Als er andere belangrijke gegevens op
hetzelfde bestandssysteem staan, zorg er dan voor
dat er verse back-ups zijn voordat deze optie
aangezet wordt.&prompt.root; mount -u -o async /usr/objZorg ervoor, zoals al eerder is aangegeven, dat
als /usr/obj niet op een eigen
bestandssysteem staat, het juiste mountpunt wordt
gebruikt.Wat te doen als er iets mis gaat?Zorg ervoor dat het systeem geen rommel meer bevat
van eerdere builds. Het volgende helpt daarbij:&prompt.root; chflags -R noschg /usr/obj/usr
&prompt.root; rm -rf /usr/obj/usr
&prompt.root; cd /usr/src
&prompt.root; make cleandir
&prompt.root; make cleandirInderdaad, make cleandir moet twee
keer gedraaid worden.Herstart daarna het complete proces vanaf
make buildworld.Als er nog steeds problemen zijn, stuur dan de
foutmelding en de uitvoer van uname -a
naar de &a.questions;. Wees bereid aanvullende vragen
over het systeem te beantwoorden!AntnShterenlikhtGebaseerd op notities van Het verwijderen van overbodige bestanden, directories en
bibliothekenVerwijderen van overbodige bestanden, directories en
bibliothekenAls onderdeel van de &os; ontwikkel levenscyclus kan het van
tijd tot tijd gebeuren dat bestanden en de inhoud ervan overbodig
worden. Dit kan komen doordat de functionaliteit ergens anders
geďmplementeerd is, het versienummer van de bibliotheek
veranderd is of hij is totaal van het systeem verdwenen. Dit is
inclusief oude bestanden, bibliotheken en directories welke
verwijderd moeten worden bij het updaten van het systeem. Het
voordeel voor de gebruiker is dat het systeem niet vervuild wordt
met oude bestanden die onnodig ruimte innemen op het opslag (en
back-up) systeem. Ook is het zo dat als de oude bibliotheek een
beveiligings of stabiliteits probleem had, er moet worden geupdate
naar de nieuwere bibliotheek om het systeem veilig te houden en te
voorkomen dat er crashes komen door de oude implementatie van de
bibliotheek. De bestanden, directories en bibliotheken welke als
overbodig worden gezien zijn beschreven in
/usr/src/ObsoleteFiles.inc. De volgende
instructies zullen helpen om deze verouderde bestanden te verwijderen
tijdens het systeem upgrade proces.Er wordt aangenomen dat de stappen gevolgd worden zoals uitgelegd
in . Na het make
installworld commando en het daarop
volgende mergemaster commando succesvol uitgevoerd zijn
kan er op de volgende manier gecontroleerd worden voor verouderde
bestanden en bibliotheken:&prompt.root; cd /usr/src
&prompt.root; make check-oldAls er verouderde bestanden gevonden worden kunnen deze verwijderd
worden door het volgende commando:&prompt.root; make delete-oldZie het /usr/src/Makefile
bestand voor meer interessante targets.Er wordt een prompt getoond voordat elk verouderd bestand wordt
verwijderd. Deze prompt kan worden overgeslagen en het systeem deze
bestanden automatisch laten verwijderen door gebruik te maken van de
BATCH_DELETE_OLD_FILES make variabele als volgt:&prompt.root; make -DBATCH_DELETE_OLD_FILES delete-oldDit kan ook worden gedaan door deze commando's door
yes te pipen als volgt:&prompt.root; yes|make delete-oldWaarschuwingHet verwijderen van verouderde bestanden zal applicaties
stuk maken die nog gebruik maken van de overbodige bestanden.
Dit is zeker waar voor oude bibliotheken. In de meeste gevallen
moeten de programma's, ports of bibliotheken opnieuw gecompileerd
worden voordat
make delete-old-libs
wordt uitgevoerd.Gereedschappen om gedeelde bibliotheek afhankelijkheden te controleren
zijn beschikbaar in de Ports Collectie in sysutils/libchk of sysutils/bsdadminscripts.Overbodige gedeelde bibliotheken kunnen conflicteren met
nieuwere bibliotheken welke berichten zoals deze kunnen
veroorzaken:/usr/bin/ld: warning: libz.so.4, needed by /usr/local/lib/libtiff.so, may conflict with libz.so.5
/usr/bin/ld: warning: librpcsvc.so.4, needed by /usr/local/lib/libXext.so, may conflict with librpcsvc.so.5Om deze problemen op te lossen moet bepaald worden welke port
deze bibliotheek heeft geďnstalleerd:&prompt.root; pkg_info -W /usr/local/lib/libtiff.so
/usr/local/lib/libtiff.so was installed by package tiff-3.9.4
&prompt.root; pkg_info -W /usr/local/lib/libXext.so
/usr/local/lib/libXext.so was installed by package libXext-1.1.1,1Deďnstalleer, herbouw en herinstalleer de port. De ports-mgmt/portmaster en ports-mgmt/portupgrade gereedschappen kunnen
gebruikt worden om deze processen te automatiseren. Nadat zeker is dat
alle ports opnieuw gebouwd zijn, en de oude bibliotheken niet meer
gebruikt worden, kunnen deze verwijderd worden met het volgende
commando:&prompt.root; make delete-old-libsMikeMeyerBijgedragen door Meerdere machines bijwerkenNFSmeerdere machines installerenAls er meerdere machines zijn die dezelfde broncode
bijhouden, lijkt het downloaden van alle broncode en alles overal
opnieuw bouwen zonde van de bronnen: harde schijfruimte, netwerk
bandbreedte, en processorbelasting. Dit klopt en de oplossing is
om alles op één machine te doen terwijl de overige
machines het uitgevoerde werk benaderen via NFS. Nu wordt een
methode beschreven waarmee dit gedaan kan worden.BenodigdhedenAls eerste moet er een groep van machines gekozen worden
die dezelfde set aan binaire bestanden zal draaien, hier een
bouwgroep. Elke machine kan een eigen
afwijkende kernel hebben maar moet dezelfde binaire
gebruikersbestanden draaien. Uit die groep moet een machine
gekozen worden die de bouwmachine wordt.
Dit wordt de machine waar de wereld en kernel op gebouwd
worden. In het meest ideale geval is dit een snelle machine
die genoeg processorkracht vrij heeft om make
buildworld en make buildkernel
te draaien. Er moet ook een machine gekozen worden die de
testmachine wordt waarop alle bijgewerkte
software wordt test voordat die in productie wordt genomen.
Dit moet een machine zijn die voor langere
tijd down mag zijn. Dit kan de bouwmachine zijn maar dat hoeft
niet per se.Alle machines in deze bouwgroep moeten ingesteld worden om
/usr/obj en /usr/src
vanaf dezelfde machine te mounten op hetzelfde punt. In het
meest ideale geval zijn dit twee verschillende schijven op de
bouwmachine, maar ze kunnen ook door middel van NFS op die
machine gemount zijn. Als er meerdere bouwgroepen zijn, dan
moet /usr/src op één
bouwmachine staan en door middel van NFS gemount worden op de
overige machines.Zorg er als laatste voor dat
/etc/make.conf en
/etc/src.conf op alle machines in de
bouwgroep het eens zijn met de bouwmachine. Dat betekent dat
de bouwmachine alle delen van het basissysteem moet bouwen die
elke machine in de bouwgroep installeert. Ook heeft elke
bouwmachine zijn kernelnaam ingesteld met
KERNCONF in
/etc/make.conf en de bouwmachine moet ze
allemaal hebben in KERNCONF, zijn eigen
kernel eerst. De bouwmachine moet de instellingenbestanden
voor elke machine in
/usr/src/sys/arch/conf
hebben als deze machine de kernels voor de overige machines
gaat bouwen.BasissysteemNu kan één systeem alles bouwen. Bouw de
kernel en wereld zoals beschreven in op de bouwmachine, maar installeer
niets. Zodra de bouw klaar is, moet op de testmachine de
kernel geďnstalleerd en getest worden. Als deze machine
/usr/src en /usr/obj
mount via NFS, moet na een herstart in single-user modus het
netwerk ingeschakeld worden zodat de mounts opnieuw gemaakt
kunnen worden. De makkelijkste manier om dit te doen is om te
starten in multi-user modus en daar
shutdown now starten om in single-user modus
te komen. Eenmaal daar aangekomen kunnen de nieuwe kernel en
de wereld geďnstalleerd worden en kan daarna normaal
mergemaster gestart worden. Zodra dit klaar
is, kan de machine opnieuw gestart worden om naar multi-user
modus terug te keren.Nadat zeker is dat alles op de testmachine correct werkt,
kan dezelfde procedure gebruikt worden om de nieuwe software op
elke machine te installeren in de bouwgroep.PortsDezelfde ideeën kunnen gebruikt worden voor de ports.
De eerste kritieke stap is om /usr/ports
te mounten op alle machines in de bouwgroep. Daarna kan
/etc/make.conf correct ingesteld worden
om de distfiles te delen. De variabele
DISTDIR moet wijzen naar een gedeelde map
waarin geschreven kan worden door de gebruiker waar
root naar wijst in de NFS mounts. Op elke
machine moet WRKDIRPREFIX naar een lokale
bouwmap wijzen. Als er pakketten gebouwd en gedistribueerd
worden moet PACKAGES naar een map wijzen
gelijkvormig aan de instelling voor
DISTDIR.
diff --git a/nl_NL.ISO8859-1/books/handbook/introduction/chapter.xml b/nl_NL.ISO8859-1/books/handbook/introduction/chapter.xml
index bb1698b662..990bec210c 100644
--- a/nl_NL.ISO8859-1/books/handbook/introduction/chapter.xml
+++ b/nl_NL.ISO8859-1/books/handbook/introduction/chapter.xml
@@ -1,1173 +1,1017 @@
JimMockGereorganiseerd en delen herschreven door Arjanvan LeeuwenVertaald door IntroductieOverzichtWelkom bij &os;! Dit hoofdstuk beschrijft de verschillende
aspecten van het &os; Project: geschiedenis, doelen,
ontwikkelmodel en meer.Na het lezen van dit hoofdstuk weet de lezer:Hoe &os; gerelateerd is aan andere
besturingssystemen;De geschiedenis van het &os; Project;De doelen van het &os; Project;De fundering van het &os; open-source
ontwikkelmodel;En natuurlijk: waar de naam &os; vandaan
komt.Welkom bij &os;!4.4BSD-Lite&os; is een op 4.4BSD-Lite gebaseerd besturingssysteem
voor Intel (x86 en &itanium;), AMD64 en Sun &ultrasparc; computers.
Er zijn ook ports naar andere architecturen in voorbereiding.
Er is nog meer informatie over de geschiedenis van &os; of over de huidige uitgave. Als de lezer wil
bijdragen aan het project (code, hardware, geld) wordt aangeraden
het artikel Bijdragen aan &os;
te lezen.Wat kan &os;?&os; heeft veel mogelijkheden die het bespreken waard zijn.
Hier zijn er enkele op een rij gezet:
- preemptive multitasking
-
- Preemptive multitasking zorgt
+ Preemptive multitaskingpreemptive multitasking zorgt
ervoor dat meerdere programma's en gebruikers op dezelfde
computer kunnen werken, zonder dat de systeemrespons of
stabiliteit beďnvloed wordt.
- Meerdere gebruikers
-
Ondersteuning voor meerdere
- gebruikers maakt het mogelijk dat
+ gebruikersMeerdere gebruikers maakt het mogelijk dat
verschillende mensen een &os; systeem tegelijkertijd
kunnen gebruiken voor een groot aantal taken. Dit
betekent bijvoorbeeld dat randapparaten als printers en
tapedrives gedeeld kunnen worden door alle gebruikers van
het systeem en dat individuele beperkingen ingesteld
kunnen worden voor gebruikers of voor groepen gebruikers,
zodat kritieke systeembronnen beschermd kunnen worden
tegen onrechtmatig of overmatig gebruik.
- TCP/IP netwerken
-
Krachtige mogelijkheden voor TCP/IP
- netwerken met ondersteuning voor
+ netwerkenTCP/IP netwerken met ondersteuning voor
industriestandaarden als SCTP, DHCP, NFS, NIS, PPP, SLIP,
IPsec en IPv6. Dit betekent dat een &os;-systeem makkelijk
kan samenwerken met andere systemen en dat het kan
functioneren als bedrijfsserver, waarbij het belangrijke
functies als NFS (bestandsdeling over het netwerk), email,
webdiensten, FTP, routing en firewall-diensten kan
aanbieden.
- Geheugenbeveiliging
-
- Geheugenbeveiliging garandeert dat
+ GeheugenbeveiligingGeheugenbeveiliging garandeert dat
applicaties (of gebruikers) elkaar niet kunnen storen. Een
crashende applicatie heeft totaal geen effect op andere
applicaties.&os; is een 32-bits
besturingssysteem (64-bits op de
&itanium;, AMD64, en &ultrasparc;) en is van de
grond af aan zo ontworpen.
-
- X Window systeem
-
-
- Het X Window systeem
+ Het X Window systeemX Window systeem
(X11R7), een industriële standaard, biedt een
grafische gebruikersinterface (GUI) met als enige
benodigdheden een VGA-kaart en een beeldscherm.
-
- binaire compatibiliteit
-
- Linux
-
-
-
- binaire compatibiliteit
-
- SCO
-
-
-
- binaire compatibiliteit
-
- SVR4
-
-
-
- binaire compatibiliteit
-
- BSD/OS
-
-
-
- binaire compatibiliteit
-
- NetBSD
-
-
Door binaire compatibiliteit met
- veel programma's voor &linux;, SCO, SVR4, BSDI en NetBSD
+ veel programma's voor &linux;binaire compatibiliteitLinux,
+ SCObinaire compatibiliteitSCO,
+ SVR4binaire compatibiliteitSVR4,
+ BSDIbinaire compatibiliteitBSD/OS en
+ NetBSDbinaire compatibiliteitNetBSD
is het mogelijk om deze programma's zonder snelheidsverlies
op &os; te draaien.Er zijn duizenden applicaties beschikbaar in de &os;
ports en pakketten
collectie. Waarom zoeken op het Internet als het allemaal
al klaarstaat?Duizenden andere en makkelijk over te
zetten applicaties zijn beschikbaar op het
Internet. &os; is broncode-compatibel met de meeste
populaire commerciële &unix; systemen, wat betekent
dat veel applicaties nagenoeg geen wijzigingen vereisen om
te compileren op &os;.
- Virtueel geheugen
-
- Het demand-paged virtueel geheugen
+ Het demand-paged virtueel geheugenVirtueel geheugen
en de gecombineerde VM/buffer cache van &os;
zorgen ervoor dat applicaties met grote geheugenbehoeften
niets te kort komen, terwijl de systeemrespons niet
achteruit gaat.
-
- Symmetric Multi-Processing (SMP)
-
-
- SMP-ondersteuning voor computers
+ SMP-ondersteuningSymmetric Multi-Processing (SMP) voor computers
met meerdere processoren.
-
- compilers
-
- C
-
-
-
- compilers
-
- C++
-
-
- Een volledige C en
- C++
+ Een volledige CcompilersC en
+ C++compilersC++
ontwikkelomgeving. Vele andere
programmeertalen, te gebruiken voor onderzoek of
geavanceerde ontwikkeling, zijn ook beschikbaar in de
ports- en pakketcollectie.
- broncode
-
- De broncode van het hele
+ De broncodebroncode van het hele
systeem is beschikbaar, zodat gebruikers de volledige
controle over het systeem in handen hebben. Waarom
genoegen nemen met alleen het erewoord van de
softwarefabrikant, als een compleet open systeem ook tot de
mogelijkheden behoort?Uitgebreide online
documentatie.En nog veel meer!4.4BSD-LiteComputer Systems Research Group (CSRG)U.C. Berkeley&os; is gebaseerd op de 4.4BSD-Lite uitgave van de Computer
Systems Research Group (CSRG) aan de University of California in
Berkeley en borduurt voort op een lange traditie van
ontwikkeling van BSD-systemen. Het &os; Project heeft
duizenden uren gestoken in het afstellen van het systeem voor
maximale prestaties en betrouwbaarheid in realistische en veel
voorkomende situaties. Terwijl veel commerciële bedrijven
blijven worstelen met het uitbrengen van besturingssystemen met
dergelijke mogelijkheden, prestaties en betrouwbaarheid, kan
&os; deze nu bieden!De toepassingen voor &os; worden alleen beperkt door eigen
fantasie. Van software-ontwikkeling tot
fabrieksautomatisering, van voorraadbeheersing tot de
azimuth-correctie van een satellietantenne: als het kan met
een commercieel &unix;product, dan kan het ook met &os;! &os;
vaart ook wel bij de letterlijk duizenden open-source
programma's, vaak van bijzonder hoge kwaliteit, die ontwikkeld
zijn in onderzoekscentra, universiteiten over de hele wereld en
open-source gemeenschappen, en die beschikbaar zijn voor weinig
of geen geld. Ook steeds meer commerciële applicaties
vinden hun weg naar &os;.Omdat ook de broncode van &os; zelf vrij beschikbaar is,
kan het systeem aangepast worden voor speciale toepassingen of
projecten, op manieren die meestal niet mogelijk zijn met
besturingssystemen van vooraanstaande commerciële
softwarehuizen. Hier zijn een aantal voorbeelden van
toepassingen waar &os; voor gebruikt wordt:Internetdiensten: de robuuste
TCP/IP netwerkarchitectuur die in &os; zit, maakt het een
ideaal platform voor uiteenlopende Internetdiensten
als:
- FTP servers
-
- FTP servers;
+ FTP servers;FTP servers
- webservers
-
- World Wide Webservers (standaard of beveiligd
+ World Wide Webserverswebservers (standaard of beveiligd
[SSL]);IPv4 en IPv6 routering
- firewall
-
- NAT
-
- Firewalls en NAT (IP-maskering)
+ Firewallsfirewall en NATNAT (IP-maskering)
gateways;
-
- elektronische mail
-
- e-mail
-
-
- e-mail
-
- E-mail servers;
+ E-mail servers;e-mail
- USENET
-
- USENET nieuws of Bulletin Board (BBS)
+ USENETUSENET nieuws of Bulletin Board (BBS)
systemen;En meer...&os; kan eenvoudig geleerd worden op een goedkope
standaard-PC, om later verder te groeien naar een
professioneel Xeon-systeem met 4 processoren (of meer!) en
RAID opslagsystemen als een bedrijf groeit.Onderwijs: is de lezer
informaticastudent of werkzaam in een ander vakgebied dat
hier mee te maken heeft? Er is geen betere manier om
besturingssystemen, computerarchitecturen en netwerken te
bestuderen dan de hands-on open-source ervaring die &os;
kan bieden. Gratis beschikbare programma's voor CAD,
wiskundige toepassingen en grafisch ontwerp maken &os;
ook heel handig voor mensen wiens primaire interesse voor
de computer ligt bij het voltooien van
ander werk!Onderzoek: omdat de broncode van
het volledige systeem beschikbaar is, vormt &os; een
uitstekende basis voor het onderzoeken van besturingssystemen
of andere takken in de informatica. De open natuur van &os;
maakt het ook mogelijk voor groepen mensen over de hele
wereld om met elkaar samen te werken, zonder dat men zich
zorgen hoeft te maken over speciale licentieovereenkomsten of
beperkingen op wat er besproken kan worden in open
fora.
- router
-
- DNS Server
-
- Netwerken: nieuwe router nodig?
- Of een nameserver (DNS)? Een firewall om een intern netwerk
+ Netwerken: nieuwe routerrouter nodig?
+ Of een nameserver (DNS)DNS Server? Een firewall om een intern netwerk
te beschermen? &os; kan die ongebruikte 486 of Pentium PC
die nog ergens in een hoekje ligt gemakkelijk omtoveren tot
een geavanceerde router met uitgebreide pakketfilter
mogelijkheden.
-
- X Window systeem
-
-
- X Window werkstation: &os; is een
+ X Window werkstation:X Window systeem &os; is een
prima keuze als goedkope X terminal oplossing, door
gebruik te maken van de gratis beschikbare X11 server. In
tegenstelling tot een pure X terminal kan &os; ook
applicaties lokaal draaien, wat een verlichting van de
centrale server tot gevolg kan hebben. &os; heeft zelfs de
mogelijkheid om schijfloos op te starten,
zodat individuele werkstations nog goedkoper en makkelijker
te beheren zijn.Bureaublad: de beschikbaarheid van
geavanceerde bureaubladomgevingen als KDE en GNOME en
kantoortoepassingen als tekstverwerkers en
spreadsheet-programma's in de ports- en pakketcollectie
maken van &os; een uitgebreid desktop-platform. Thuis en
op het werk zorgt &os; ervoor dat er snel, efficiënt
en veilig gewerkt kan worden!
-
- GNU Compiler Collection
-
-
Software Ontwikkeling: bij het
standaard &os;-systeem zit al een volledige verzameling van
ontwikkelgereedschappen, inclusief de bekende
- GNU C/C++ compiler en debugger.
+ GNU C/C++ compilerGNU Compiler Collection en debugger.
&os; is beschikbaar in zowel broncode als binaire vorm op
CD-ROM, DVD en via FTP. In staat meer
informatie over het verkrijgen van &os;.Wie gebruiken &os;?gebruikersgrote sites die &os; draaien&os; wordt gebruikt als platform voor apparaten en producten
van vele van 's werelds grootste IT-bedrijven, waaronder:
- Apple
-
- Apple
+ AppleApple
- Cisco
-
- Cisco
+ CiscoCisco
- Juniper
-
- Juniper
+ JuniperJuniper
- NetApp
-
- NetApp
+ NetAppNetApp&os; wordt ook gebruikt om sommige van de grootste sites op
het Internet te draaien, waaronder:
- Yahoo!
-
Yahoo!
+ url="http://www.yahoo.com/">Yahoo!Yahoo!
- Yandex
-
- Yandex
+ YandexYandex
- Apache
-
Apache
+ url="http://www.apache.org/">ApacheApache
- Rambler
-
- Rambler
+ RamblerRambler
- Sina
-
- Sina
+ SinaSina
- Pair Networks
-
Pair
- Networks
+ NetworksPair Networks
- Sony Japan
-
Sony
- Japan
+ JapanSony Japan
- Netcraft
-
Netcraft
+ url="http://www.netcraft.com/">NetcraftNetcraft
- NetEase
-
- NetEase
+ NetEaseNetEase
- Weathernews
-
Weathernews
+ url="http://www.wni.com/">WeathernewsWeathernews
- TELEHOUSE America
-
TELEHOUSE
- America
+ AmericaTELEHOUSE America
- Experts Exchange
-
Experts
- Exchange
+ ExchangeExperts Exchangeen nog veel meer sites.Over het &os; ProjectDeze paragraaf geeft wat meer achtergrondinformatie over
het project, inclusief een korte geschiedenis, projectdoelen,
en het ontwikkelmodel van het project.JordanHubbardBijgedragen door Een korte geschiedenis van &os;386BSD PatchkitHubbard, JordanWilliams, NateGrimes, Rod&os; ProjectgeschiedenisHet &os; Project zag het licht in het begin van 1993,
gedeeltelijk als een voortzetting van de Unofficial
386BSD Patchkit door de 3 laatste coördinatoren
van de patchkit: Nate Williams, Rod Grimes en ikzelf.386BSDHet oorspronkelijke doel was om een zogenaamde
'snapshot'-uitgave te maken van 386BSD, om zo een aantal
problemen op te lossen die niet op te lossen waren
met het patchkit-mechanisme dat eerder gebruikt was. Sommigen
kunnen zich misschien nog herinneren dat de werktitel van het
project in het begin nog 386BSD 0.5 of
386BSD Interim was, refererend aan het
oorspronkelijke doel.Jolitz, Bill386BSD was het besturingssysteem van Bill Jolitz en had
tot op dat moment geleden onder het feit dat er al bijna een
jaar niet naar omgekeken was. Terwijl de patchkit steeds
groter en onhandiger werd, was een groep mensen het er over
eens dat er iets moest gebeuren en beslisten om Bill te
assisteren bij het maken van een tussentijdse
cleanup-snapshot. Deze plannen kwamen echter
tot een plotseling einde toen Bill Jolitz besliste om zijn
toestemming voor het project in te trekken, zonder dat
er een alternatief werd geboden.Greenman, DavidWalnut Creek CD-ROMHet duurde niet lang om te beslissen dat het doel nog
steeds belangrijk was, zelfs zonder de ondersteuning van Bill,
dus werd de naam &os; aangenomen, naar een idee
van David Greenman. De oorspronkelijke doelen werden opgesteld
na het raadplegen van de gebruikers van het systeem. Toen het
erop begon te lijken dat dit project misschien wel snel
realiteit kon worden, werd contact opgenomen met Walnut Creek
CD-ROM vanuit het oogpunt om de distributiekanalen van &os; te
verbeteren voor diegenen die geen toegang hadden tot Internet.
Walnut Creek CD-ROM ondersteunde niet alleen het idee om &os; op
CD-ROM te distribueren, maar bood het project ook een systeem
en een snelle Internetverbinding om mee te werken. Zonder
Walnut Creek CD-ROM's bijna onbeperkte vertrouwen in wat op dat
moment nog een compleet onbekend project was, is het
onwaarschijnlijk dat &os; zo ver gekomen zou zijn, en zo snel,
als het vandaag de dag is.4.3BSD-LiteNet/2U.C. Berkeley386BSDFree Software FoundationDe eerste CD-ROM (en algemene op het net beschikbare)
distributie was &os; 1.0, uitgebracht in december
1993. Deze versie was gebaseerd op de 4.3BSD-Lite
(Net/2) tape van U.C. Berkeley, met veel
toevoegingen van 386BSD en de Free Software Foundation. Het
werd een redelijk succes voor een eerste aanbod, en werd
opgevolgd door de zeer succesvolle &os; 1.1 uitgave in mei
1994.NovellU.C. BerkeleyNet/2AT&TRond deze tijd vormde zich nogal onverwacht een
stormachtige lucht aan de horizon toen Novell en U.C. Berkeley
hun langlopende rechtszaak over de legale status van de
Berkeley Net/2 tape oplosten met een schikking. Een voorwaarde
van deze schikking was dat U.C. Berkeley toegaf dat grote delen
van Net/2 beladen code was en het eigendom van
Novell, die deze code op haar beurt overgenomen had van
AT&T enige tijd hiervoor. Wat Berkeley hiervoor terugkreeg
was Novell's zegen over de 4.4BSD-Lite uitgave;
wanneer deze uitkwam zou Novell verklaren dat geen van de code
hierin eigendom van Novell was, en bestaande Net/2 gebruikers
zou sterk aanbevolen worden om over te stappen naar deze
nieuwe versie. Dit gold ook voor &os; en het project werd de
tijd gegeven tot juli 1994 om te stoppen met het distribueren
van het eigen op Net/2-gebaseerde product. De schikking liet
wel toe dat nog een laatste uitgave werd uitgebracht voor de
deadline en dat was &os; 1.1.5.1.&os; nam toen de enorme taak op zich om zichzelf letterlijk
opnieuw uit te vinden, met als basis een volledig nieuwe en
nogal incomplete verzameling van delen van 4.4BSD-Lite. De
Lite uitgaven werden zo genoemd omdat Berkeley's
CSRG grote delen code die nodig waren om een werkend systeem te
construeren had weggelaten (om allerlei legale redenen) en
omdat de Intel port van 4.4 grotendeels incompleet was. Het
kostte het project tot november 1994 om deze overstap te maken.
Op dat moment werd &os; 2.0 op het net en op CD-ROM (aan
het einde van december) uitgebracht. Ondanks het feit dat deze
uitgave nog wat ruige kanten had, werd het een groot succes en
werd het gevolgd door de robuustere en makkelijker te
installeren &os; 2.0.5 in juni 1995.In augustus 1996 is &os; 2.1.5 uitgebracht en deze
bleek populair genoeg bij Internet service providers (ISP's) en
andere commerciële gebruikers van &os; om nog een uitgave
van de 2.1-STABLE tak te rechtvaardigen. Dit was
&os; 2.1.7.1, uitgebracht in februari 1997. Deze uitgave
markeerde het einde van de hoofdstroomontwikkeling op
2.1-STABLE; alleen beveilingsupdates en andere kritieke bugfixes
werden nog op deze tak uitgevoerd (RELENG_2_1_0).&os; 2.2 werd afgesplitst van de ontwikkelingstak
(-CURRENT) in november 1996 als RELENG_2_2 en
de eerste volledige uitgave (2.2.1) werd uitgebracht in april
1997. Andere uitgaven van de 2.2 tak werden uitgebracht in de
zomer en herfst van '97. De laatste (2.2.8) verscheen in
november 1998. De eerste officiële 3.0 uitgave verscheen
in oktober 1998 en was het begin van het einde voor de
2.2 tak.Er was opnieuw een afsplitsing op 20 januari 1999, wat
leidde tot de 4.0-CURRENT en 3.X-STABLE takken. Vanuit
3.X-STABLE werd versie 3.1 uitgebracht op 15 februari 1999,
3.2 op 15 mei 1999, 3.3 op 16 september 1999, 3.4 op 20
december 1999 en 3.5 op 24 juni 2000. De laatste werd enkele
dagen later gevolgd door een puntuitgave-update naar 3.5.1, om
enkele net-ontdekte beveiligingsfouten in Kerberos te
corrigeren. Dit was de laatste uitgave van de 3.X tak.Een nieuwe tak werd gemaakt op 13 maart 2000, de
4.X-STABLE tak. Er zijn verschillende uitgaven van deze tak
gemaakt: 4.0-RELEASE werd geďntroduceerd in maart 2000, en
de laatste 4.11-RELEASE verscheen in januari 2005.De langverwachte 5.0-RELEASE werd aangekondigd op 19
januari 2003. Dit resultaat van bijna drie jaar werk zette
&os; stevig neer op de weg naar geavanceerde multiprocessor-
en threading-ondersteuning en introduceerde nieuwe &os; ports
voor de &ultrasparc; en ia64 architecturen.
Deze uitgave werd gevolgd door 5.1 in juni 2003. De laatste 5.X
uitgave uit de –CURRENT-tak was 5.2.1–RELEASE uit
februari 2004.De RELENG_5 tak is gemaakt in augustus 2004 en werd gevolgd
door 5.3-RELEASE, die het begin van de 5-STABLE tak
markeert. De meest recente 5.5-RELEASE is uitgekomen
in mei 2006. Er staan geen nieuwe versies gepland voor de
RELENG_5 tak.De RELENG_6 tak is gemaakt in juli 2005, de eerste uitgave
van de 6.X tak werd vrijgegeven in november 2005. De meest
recente 6.4-RELEASE kwam uit in november 2008.
Er zullen geen verdere uitgaven komen van de RELENG_6 tak.
Deze tak is de laatste tak waarin ondersteuning zit voor de
Alpha architectuur.De RELENG_7 tak is gemaakt in oktober 2007. De eerste
uitgave van deze tak is 7.0-RELEASE, welke is uitgekomen in
februari 2008. De meest recente 7.4-RELEASE kwam uit
in februari 2011. Er zullen geen andere uitgaven van de
RELENG_7 tak uitkomen.De RELENG_8 tak is gemaakt in augustus 2009. De eerste
uitgave van de 8.X tak is 8.0-RELEASE, vrijgegeven in
november 2009. De meest recente uitgave &rel2.current;-RELEASE kwam uit
in &rel2.current.date;. Er zullen nog andere uitgaven van de
RELENG_8 tak uitkomen.De RELENG_9 tak is gemaakt in september 2011. De eerste uitgave van
deze tak was &rel.current;-RELEASE, vrijgegeven in &rel.current.date;.
Er zullen nog andere uitgaven van de RELENG_9 tak uitkomen.Op dit moment vinden lange-termijn ontwikkelprojecten
plaats in de 10.X-CURRENT tak, en snapshot uitgaven van 10.X op
CD-ROM (en natuurlijk op het Net) worden continu beschikbaar
gemaakt op de
snapshot server.JordanHubbardBijgedragen door Doelen van het &os; Project&os; ProjectdoelenHet doel van het &os; Project is om software aan te bieden
die gebruikt kan worden voor iedere mogelijke toepassing,
zonder beperkingen. Vele ontwikkelaars hebben een belangrijke
investering in de code (en het project) zitten en vinden het
niet erg om af en toe een financiële compensatie te
ontvangen, maar dat is zeker geen voorwaarde. De ontwikkelaars
van &os; geloven dat de eerste en belangrijkste
missie het aanbieden van code is, aan iedereen
die het wil hebben, voor wat voor doel dan ook, zodat de code
zo breed mogelijk gebruikt kan worden tot voordeel van zoveel
mogelijk mensen. Dit is een van de meest fundamentele doelen
van Vrije Software dat &os; enthousiast ondersteunt.GNU General Public License (GPL)GNU Lesser General Public License (LGPL)BSD CopyrightSommige code in &os; valt onder de GNU General Public
License (GPL) of Library General Public License (LGPL). Deze
code heeft iets meer beperkingen, maar in ieder geval aan de
kant waarbij vrije toegang tot de code geforceerd wordt, in
plaats van het gebruikelijke tegenovergestelde hiervan. Door
de toegevoegde moeilijkheden die kunnen voortkomen uit het
commerciële gebruik van GPL software geeft het &os;
Project echter de voorkeur aan het meer vrije BSD copyright,
wanneer er een redelijk alternatief voor handen is.SatoshiAsamiBijgedragen door Het &os; ontwikkelmodel&os; ProjectontwikkelmodelDe ontwikkeling van &os; is een erg open en flexibel
proces en wordt gevormd door de bijdragen van letterlijk
honderden mensen over de hele wereld, zoals te zien is in de
lijst van
medewerkers. De infrastructuur die wordt gebruikt
voor de ontwikkeling van &os; zorgt ervoor dat deze honderden
ontwikkelaars kunnen samenwerken over het Internet. Het &os;
Project is continu op zoek naar nieuwe ontwikkelaars en
ideeën. Om bij te dragen aan de ontwikkeling van &os;
is een mail naar &a.hackers; voldoende. De &a.announce; is
beschikbaar om mededelingen te doen aan andere &os;-gebruikers
over grote veranderingen.Een aantal dingen over het &os; Project en haar
ontwikkelingsproces zijn handig om te weten, of een bijdrage nu
onafhankelijk of in samenwerking met anderen komt:Het CVS-archief
-
- CVS
-
-
-
- CVS-archief
-
-
-
- Concurrent Versions System
-
- CVS
-
-
-
- Subversion
-
-
-
- Subversion-archief
-
-
-
- SVN
-
-
-
-
Gedurende een aantal jaren werd de centrale broncode
voor &os; bijgehouden door CVS
- (Concurrent Versions System), een vrij verkrijgbaar pakket
- voor het onderhouden van broncode dat bij &os; zit. In
+ url="http://www.nongnu.org/cvs/">CVSCVS
+ (Concurrent Versions System)Concurrent Versions SystemCVS, een vrij verkrijgbaar pakket
+ voor het onderhouden van broncodeCVS-archief dat bij &os; zit. In
juni 2008 is het Project SVN
+ url="http://subversion.tigris.org/">SVNSubversion
(Subversion) gaan gebruiken. Deze overgang werd nodig
geacht omdat de technische beperkingen die door
CVS worden opgelegd duidelijk
- werden wegens de snelle uitbreiding van de broncode en de
+ werden wegens de snelle uitbreiding van de broncodeSubversion-archief en de
hoeveelheid geschiedenis die reeds is opgeslagen. De reservoirs
van het Documentatieproject en de Portscollectie zijn ook omgezet
van CVS naar
- SVN, respectievelijk in mei 2012 en
+ SVNSVN, respectievelijk in mei 2012 en
juli 2012.Hoewel de reservoirs voor src/ en
ports/ nu SVN
gebruiken, blijven cliëntgereedschappen zoals
csup die van de oudere
CVS-infrastructuur afhankelijk
zijn normaal werken — veranderingen in het
SVN-archief worden voor dit
doel teruggeplaatst naar CVS. In
tegenstelling tot src/ en
ports/ wordt het
SVN-reservoir voor de documentatie niet
teruggeplaatst naar CVS.Het primaire CVSarchief
staat op een systeem in Santa Clara,
Californië, in de VS, waar het wordt
gesynchroniseerd met verschillende mirrors
over de hele wereld. De boomstructuur van
SVN , waarin de
broncode voor -CURRENT en
-STABLE is te vinden, kan
ook makkelijk met die op een eigen systeem
gesynchroniseerd worden. Synchroniseren van broncode
bevat meer informatie over dit onderwerp.Committers
-
- committers
-
-
- De zogenaamde committers zijn
+ De zogenaamde committerscommitters zijn
alle mensen die schrijf-rechten
hebben in het Subversion-archief van &os;. Deze mensen mogen
veranderingen maken aan de broncode van &os; (de term
committer is afkomstig van het
commit commando van versiebeheersystemen,
wat gebruikt wordt om veranderingen door te voeren in het
archief). De beste manier om eigen bijdragen te laten keuren door
een van de committers is door gebruik te maken van
&man.send-pr.1;. Als het erop lijkt dat een bijdrage
ergens in het systeem blijft hangen, dan is het ook
mogelijk om mail te sturen naar de &a.committers;.Het &os; Core Team
- core team
-
- Het &os; core team zou het
+ Het &os; core teamcore team zou het
equivalent zijn van een raad van bestuur als het
&os; Project een bedrijf zou zijn. De primaire taak
van het core team is ervoor zorg te dragen dat het
project, in zijn geheel, in goede vorm verkeert en de
goede richting opgaat. Toegewijde en verantwoordelijke
ontwikkelaars uitnodigen om deel te worden van de
committers is één van de taken van het core
team, net als het rekruteren van nieuwe leden van het core
team. Het huidige core team is gekozen door de committers
uit een groep van kandidaten (ook allen committers) in
juli 2012. Elke twee jaar worden verkiezingen gehouden.Sommige leden van het core team hebben een
bijzondere verantwoordelijkheid, wat wil zeggen dat zij
er speciaal op toezien dat een bepaald deel van het
systeem werkt zoals het hoort. In de lijst
van medewerkers staat een complete lijst van
ontwikkelaars en hun verantwoordelijkheden.De meeste leden van het core team zijn
vrijwilligers. Toewijding betekent
dus niet gegarandeerde ondersteuning.
De raad van bestuur-analogie hierboven
klopt niet helemaal en het is misschien beter om te
zeggen dat dit de mensen zijn die hun leven opgaven
voor &os;, tegen beter weten in!Externe Bijdragen
- externe bijdragen
-
De grootste groep ontwikkelaars zijn de gebruikers
zelf, die &os; continu voorzien van constructief
commentaar en oplossingen voor fouten. De handigste
manier om contact te houden met het niet-gecentraliseerde
deel van de ontwikkeling van &os; is een abonnement nemen
op de &a.hackers;, waar allerlei bijdragen, patches en
nieuwe ideeën worden bediscussieerd. In is meer informatie te vinden over
de verschillende &os; mailinglijsten.De lijst
- van medewerkers is lang en groeit
+ van medewerkersexterne bijdragen is lang en groeit
iedere dag, dus wat let de lezer om zelf een bijdrage te
doen aan &os;?Programmeren is niet de enige manier om een bijdrage
te leveren aan het project. Een meer volledige lijst van
dingen die gedaan moeten worden staat op de &os; website.Samengevat is het &os; ontwikkelmodel georganiseerd als een
onsamenhangende verzameling van concentrische cirkels. Het
gecentraliseerde model is ontworpen voor het gemak van de
gebruikers van &os;, die op deze manier
makkelijk de wijzigingen in het project kunnen volgen. Niet om
potentiële medewerkers buiten de deur te houden! Het is
wenselijk om een stabiel besturingssysteem te maken, met een
grote verzameling samenhangende applicaties. Dit model heeft zijn
waarde op dat gebied bewezen.Om bij te dragen en samen &os; verder te ontwikkelen, is
het enige wat het &os; Project vraagt dat te doen met dezelfde
toewijding als de huidige ontwikkelaars: succes
gegarandeerd!Huidige &os; uitgaveNetBSDOpenBSD386BSDFree Software FoundationU.C. BerkeleyComputer Systems Research Group (CSRG)&os; is een open source, op 4.4BSD-Lite gebaseerd
besturingssysteem voor Intel (x86 en &itanium;), AMD64,
n Sun &ultrasparc; computers.
Het is grotendeels gebaseerd op software van de Computer
Systems Research Group (CSRG) van de University of California
in Berkeley (U.C. Berkeley), met verbeteringen overgenomen van
NetBSD, OpenBSD, 386BSD en de Free Software Foundation.Sinds het uitbrengen van &os; 2.0 tegen het einde
van 1994, zijn de prestaties, mogelijkheden en stabiliteit
van &os; dramatisch verbeterd. &os; heeft namelijk de
beschikking over een compleet nieuw subsysteem voor virtueel
geheugen, dat niet alleen de prestaties ten goede komt, maar
er ook voor zorgt dat het systeem minder geheugen gebruikt
dan ooit tevoren. Andere belangrijke verbeteringen zijn de
ondersteuning van veel nieuwe hardware, een compleet nieuw
systeem voor de ondersteuning van machines met meerdere
processoren (SMP) en een nieuwe bibliotheek voor de
ondersteuning van multithreading in applicaties.Behalve de basisdistributie van het besturingssysteem,
biedt &os; ook een enorme softwarecollectie met duizenden
veelgebruikte programma's, de zogenaamde ports. Op het
moment van schrijven zijn er al meer dan &os.numports; ports!
In de ports zitten alle mogelijke klassen van software die te
bedenken zijn, van HTTP-servers tot spellen, van
kantoorapplicaties tot multimedia en alles wat er tussenin
zit. De complete Portscollectie beslaat zo'n &ports.size; aan
schijfruimte. Meer informatie over de ports en over de
pakketten is te vinden in .Alle recente versies van &os; bieden een optie aan in de installer
(ofwel &man.sysinstall.8; ofwel &man.bsdinstall.8;) om aanvullende
documentatie te installeren onder /usr/local/share/doc/freebsd tijdens de
eerste installatie van het systeem. De documentatie kan ook op elk
later tijdstip worden geďnstalleerd door pakketten te gebruiken
zoals beschreven in . De
lokaal geďnstalleerde documentatie kan in een browser bekeken
worden door de volgende URLs te gebruiken:Het &os; handboek/usr/local/share/doc/freebsd/handbook/index.htmlDe &os; FAQ/usr/local/share/doc/freebsd/faq/index.htmlDe nieuwste versies van deze documenten zijn altijd te
vinden op .
diff --git a/nl_NL.ISO8859-1/books/handbook/l10n/chapter.xml b/nl_NL.ISO8859-1/books/handbook/l10n/chapter.xml
index bbede1b3e5..d7e50a919b 100644
--- a/nl_NL.ISO8859-1/books/handbook/l10n/chapter.xml
+++ b/nl_NL.ISO8859-1/books/handbook/l10n/chapter.xml
@@ -1,1089 +1,1085 @@
AndreyChernovBijgedragen door Michael C.WuHerschreven door RenéLadanVertaald door Lokalisatie - I18N/L10N gebruiken en instellenOverzicht&os; is een zeer gedistribueerd project met gebruikers over
de gehele wereld. Dit hoofdstuk behandelt de
internationalisatie- en lokalisatie-eigenschappen van &os; die
niet-Engelssprekende gebruikers echt werk laten verzetten. Er
zitten veel aspecten van de i18n-implementatie in zowel de
systeem- als applicatieniveaus, dus waar mogelijk wordt de lezer
verwezen naar meer specifieke bronnen.Na dit hoofdstuk weet de lezer:Hoe verschillende talen en locales gecodeerd zijn
op moderne besturingssystemen.Hoe de locale in te stellen voor een login-shell.Hoe de console voor niet-Engelse talen in te
stellen.Hoe het X Window systeem effectief met meerdere
talen te gebruiken.Waar meer informatie te vinden over het schrijven
van i18n-respecterende applicaties.Veronderstelde voorkennis:Weten hoe aanvullende applicaties van derde partijen
geďnstalleerd worden ().BeginselenWat is I18N/L10N?internationalisatielokalisatielokalisatieOntwikkelaars hebben internationalisatie
(internationalization afgekort tot de term
I18N, de eerste en de laatste letter en het aantal
tussenliggende letters. L10N gebruikt hetzelfde schema voor
naamgeving en komt van localization. Samen
staan I18N/L10N methoden, protocollen en applicaties gebruikers
toe de taal van hun keuze te gebruiken.I18N-applicaties zijn geprogrammeerd door gebruik te maken
van I18N-gereedschappen van bibliotheken. Daarmee kunnen
ontwikkelaars een eenvoudig bestand schrijven en menu's en
teksten weergeven in elke taal. Programmeurs worden door het
&os; Project sterk aangemoedigd deze conventie te
volgen.Waarom I18N/L10N gebruiken?I18N/L10N wordt gebruikt als een gebruiker gegevens wil
bekijken, invoeren of verwerken in niet-Engelse talen.Welke talen worden ondersteund door I18N?I18N en L10N zijn niet &os; specifiek. Momenteel kan er
gekozen worden uit de meeste grote wereldtalen, inclusief maar
niet beperkt tot: Chinees, Duits, Japans, Koreaans, Frans,
Russisch en Vietnamees.Lokalisatie gebruikenIn al zijn pracht is I18N niet &os; specifiek maar een
conventie. Het &os; Project moedigt iedereen aan &os; te helpen
deze conventie te gebruiken.localeLokalisatie-instellingen zijn gebaseerd op drie hoofdtermen:
Taalcode, Landcode en Codering. Localenamen zijn als volgt
opgebouwd:Taalcode_Landcode.CoderingTaal- en landcodestaalcodeslandcodesOm een &os;-systeem (of een ander I18N-ondersteunend &unix;
achtig systeem) te lokaliseren naar een bepaalde taal, moet de
gebruiker de codes voor het specifieke land en taal
achterhalen. Landcodes geven applicaties aan welke variatie
van de gegeven taal gebruikt moet worden. Ook webbrowsers,
SMTP/POP-servers, webservers, enzovoorts maken beslissingen gebaseerd
op die codes. Hieronder staan voorbeelden van taal- en
landcodes:Taal- en landcodeOmschrijvingen_USEngels - Verenigde Statenru_RURussisch voor Ruslandzh_TWTraditioneel Chinees voor TaiwanEen complete lijst van beschikbare locales is beschikbaar
via:&prompt.user; locale -aCoderingencoderingenASCIISommige talen gebruiken andere ASCII-coderingen dan 8-bit,
wijde of multibyte karakters, zie &man.multibyte.3;. Oudere
programma's herkennen die niet en interpreteren ze foutief als
controlekarakters aan. Afhankelijk van de implementatie moeten
gebruikers eventueel een applicatie met wijde of multibyte
karakterondersteuning compileren, of hem correct instellen. Om
wijde of multibyte karakters in te kunnen voeren en te kunnen
verwerken levert de &os; Portscollectie
voor elke taal programma's. Hiervoor staat I18N-documentatie
in de respectievelijke &os; Port.Voor het bouwen van een gewenste applicatie met lokalisatie
is het verstandig de applicatiedocumentatie te bekijken om te
bepalen hoe de juiste waarden doorgegeven kunnen worden naar
configure, Makefile of de compiler.Houd rekening met:Taalspecifieke enkele C-karakters karakterverzamelingen
(zie &man.multibyte.3;), bijvoorbeeld ISO8859-1,
ISO-8859-15, KOI8-R of CP437.Wijde of multibyte coderingen, bijvoorbeeld EUC of Big5.Een lijst met actieve karakterverzamelingen staat bij de
IANA
Registry.&os; gebruikt in plaats hiervan X11-compatible
locale-coderingen.I18N applicatiesIn het &os; Ports en Package systeem hebben
I18N-applicaties I18N in hun naam zodat ze
eenvoudig herkend kunnen worden. Toch ondersteunen ze niet
altijd iedere mogelijk gewenste taal.Locale instellenMeestal is het voldoende om de waarde van de localenaam
te exporteren als LANG in de login-shell. Dit
kan door die waarde in ~/.login_conf van
de gebruiker of in ~/.profile,
~/.bashrc of
~/.cshrc) van de gebruiker te zetten.
Het is niet nodig om localedeelverzamelingen als
LC_CTYPE of LC_CTIME in te
stellen. Bij de taalspecifieke &os; documentatie staat vaak
nog informatie.De twee volgende omgevingsvariabelen moeten in de
instellingenbestanden ingesteld worden:
- POSIX
-
- LANG voor de &posix; &man.setlocale.3;
+ LANG voor de &posix;POSIX &man.setlocale.3;
functies.
- MIME
-
- MM_CHARSET voor de MIME
+ MM_CHARSET voor de MIMEMIME
karakters voor applicaties.Dit is inclusief het instellen van de gebruikers-shell, het
instellen van de specifieke applicatie en de instellingen voor
X11.Methoden om locale in te stellenlocaleloginklasseEr zijn twee methoden om de locale in te stellen en
beiden worden hieronder beschreven. De eerste (aanbevolen)
methode is door middel van het toekennen van
omgevingsvariabelen in de loginklasse en de tweede is
mogelijk door middel van het toevoegen van de
omgevingsvariabelen aan het opstartbestand van de
systeem-shell.Methode loginklasseDeze methode biedt de mogelijkheid om
omgevingsvariabelen die nodig zijn voor de localenaam en
MIME karakterverzamelingen éénmalig voor
elke mogelijke shell toe te kennen in plaats van door
toekenning via het opstartbestand van elke shell. Gebruikersinstellingen kunnen
door de gebruiker zelf worden gemaakt en voor Beheerdersinstellingen zijn
superuser-rechten nodig.GebruikersinstellingenHieronder staat een minimaal voorbeeld van een
.login_conf bestand in de thuismap
van een gebruiker die beide variabelen heeft ingesteld op
Latin-1 codering:me:\
:charset=ISO-8859-1:\
:lang=de_DE.ISO8859-1:traditioneel ChineesBIG-5 coderingHieronder staat is een voorbeeld van een
.login_conf die variabelen instelt
voor traditioneel Chinees in BIG-5 codering. Er zijn
veel andere variabelen ingesteld zijn omdat sommige
software localevariabelen niet correct respecteert voor
Chinees, Japans, en Koreaans.# Gebruikers die geen valuta eenheden of tijdformaten voor Taiwan
# willen gebruiken kunnen handmatig elke variabele wijzigen.
me:\
:lang=zh_TW.Big5:\
:setenv=LC_ALL=zh_TW.Big5:\
:setenv=LC_COLLATE=zh_TW.Big5:\
:setenv=LC_CTYPE=zh_TW.Big5:\
:setenv=LC_MESSAGES=zh_TW.Big5:\
:setenv=LC_MONETARY=zh_TW.Big5:\
:setenv=LC_NUMERIC=zh_TW.Big5:\
:setenv=LC_TIME=zh_TW.Big5:\
:charset=big5:\
:xmodifiers="@im=gcin": # Stel gcin in als XIM invoerserverZie Beheerdersinstellingen en
&man.login.conf.5; voor meer details.BeheerdersinstellingenEr dient gecontroleerd te worden of loginklasse voor
gebruikers, /etc/login.conf, de
juiste taal instelt door de volgende instellingen in
/etc/login.conf:taalnaam|accountstitel:\
:charset=MIME_karakterverzameling:
:lang=localenaam:\
:tc=default:Voor het bovenstaande voorbeeld dat gebruik maakt van
Latin-1 ziet dat er als hieronder uit:german|Duitse gebruikersaccounts:\
:charset=ISO-8859-1:\
:lang=de_DE.ISO8859-1:\
:tc=default:Voer voordat de gebruikers login class wordt
gewijzigd het volgende uit:&prompt.root; cap_mkdb /etc/login.confom de nieuwe configuratie in
/etc/login.conf zichtbaar te maken
voor het systeem.Loginklasse wijzigen met
&man.vipw.8;vipwMet vipw kunnen nieuwe gebruikers
toegevoegd worden en de instellingen dienen ongeveer als
volgt uit te zien:gebruiker:wachtwoord:1111:11:taal:0:0:Gebruikersnaam:/home/gebruiker:/bin/shLoginklasse wijzigen met
&man.adduser.8;adduserloginklasseMet adduser kunnen nieuwe
gebruikers toegevoegd worden. Hierna dient
één van de volgende stappen uitgevoerd te
worden:defaultclass =
taal instellen
in /etc/adduser.conf. In dit
geval dient er voor alle gebruikers van andere talen
een default klasse ingevoerd te
worden.Er kan ook gekozen worden voor een antwoord op
de vraag over taal vanuit &man.adduser.8;:Enter login class: default []: Ook kan het volgende gebruikt worden voor elke
gebruiker die een andere taal gebruikt:&prompt.root; adduser -class taalLoginklasse wijzigen met
&man.pw.8;pwAls &man.pw.8; wordt gebruikt om nieuwe gebruikers
toe te voegen:&prompt.root; pw useradd gebruikersnaam -L taalMethode opstartbestand shellDeze methode wordt niet aanbevolen omdat er
instellingenen nodig zijn voor elke mogelijke shell. Het
advies is de Methode
Loginklasse te gebruiken.MIMElocaleOm de localenaam en MIME karakterverzameling toe te
voegen kunnen gewoon twee omgevingsvariabelen ingesteld
worden, zoals hieronder te zien is, in
/etc/profile en/of
/etc/csh.login opstartbestanden voor
shells. Hier wordt de Duitse taal als voorbeeld
gebruikt:In /etc/profile:LANG=de_DE.ISO8859-1; export LANGMM_CHARSET=ISO-8859-1; export MM_CHARSETOf in /etc/csh.login:setenv LANG de_DE.ISO8859-1setenv MM_CHARSET ISO-8859-1Het is ook mogelijk de bovenstaande instructies toe te
toevoegen /usr/share/skel/dot.profile
(ongeveer gelijk aan wat hierboven in
/etc/profile is gebruikt) of aan
/usr/share/skel/dot.login
(ongeveer gelijk aan wat hierboven in
/etc/csh.login is gebruikt).Voor X11:In $HOME/.xinitrc:LANG=de_DE.ISO8859-1; export LANGOf:setenv LANG de_DE.ISO8859-1Afhankelijk van de shell (zie boven).Console instellenVoor alle enkele C-karakters karakterverzamelingen worden
de juiste lettertypen voor het console ingesteld in
/etc/rc.conf voor de taal in kwestie
met:font8x16=lettertypenaam
font8x14=fontnaam
font8x8=fontnaamDe lettertypenaam komt uit de
map /usr/share/syscons/fonts zonder het
achtervoegsel .fnt.sysinstalltoetsenmappingschermmappingDe gebruiker dient ervoor te zorgen dat indien nodig de juiste
enkele C-karakters karakterverzameling wordt ingesteld met
/stand/sysinstall. In
sysinstall kan
Configure en
Console gekozen worden. Het is ook
mogelijk het volgende aan /etc/rc.conf
toe te voegen:scrnmap=schermmappingnaam
keymap=toetsenmappingnaam
keychange="fkey_nummer sequentie"schermmappingnaam komt uit de
map /usr/share/syscons/scrnmaps zonder het
achtervoegsel .scm. Meestal is een
schermmapping met een overeenkomstig gemapt lettertype nodig
als workaround om bit 8 naar bit 9 uit te breiden op een
lettertype–karaktermatrix van een VGA-adapter in
pseudografische gebieden, dat wil zeggen om letters uit dat
gebied te halen als het schermlettertype een bit 8 kolom
gebruikt.Als de moused daemon is
ingeschakeld met de onderstaande regel in
/etc/rc.conf, dan wordt aangeraden de
muiscursorinformatie in de volgende paragraaf te
bekijken.moused_enable="YES"mousedStandaard neemt de muiscursor van het &man.syscons.4;
stuurprogramma het bereik 0xd0-0xd3 van de tekenverzameling in
beslag. Als een ingestelde taal dit bereik gebruikt, moet het
cursorbereik hierbuiten gehaald worden. Om de workaround voor
&os; aan te zetten kan de volgende regel aan
/etc/rc.conf toegevoegd worden:mousechar_start=3De toetsenmappingnaam komt uit
de map /usr/share/syscons/keymaps zonder
het achtervoegsel .kbd. Als niet precies
duidelijk is welke toetsenmapping te gebruiken, kan de
toetsenmapping getest worden met &man.kbdmap.1; zonder opnieuw
op te starten.keychange is nodig om functietoetsen zo
te programmeren dat ze overeenkomen met het geselecteerde
terminaltype omdat functietoetssequenties niet in de
toetsenmapping gedefinieerd kunnen worden.Er dient ook een controle te zijn op een juiste instelling
van het juiste terminaltype voor het console in
/etc/ttys voor alle
ttyv* regels. De huidige instellingen
zijn:KarakterverzamelingTerminaltypeISO8859-1 of ISO-8859-15cons25l1ISO8859-2cons25l2ISO8859-7cons25l7KOI8-Rcons25rKOI8-Ucons25uCP437 (VGA standaardinstelling)cons25US-ASCIIcons25wVoor wijde of multibyte karaktertalen kan je juiste
&os; port in de map
/usr/ports/taal
gebruikt worden. Sommige ports verschijnen als console terwijl
het systeem ze als serieële vtty ziet. Er dienen dus
voldoende vtty's gereserveerd te zijn voor zowel X11 als de
pseudo-serieële console. Hier is een gedeeltelijke lijst
van applicaties voor het gebruik van andere talen in
console:TaalLocatietraditioneel Chinees (BIG-5)chinese/big5conJapansjapanese/kon2-16dot
of japanese/mule-freewnnKoreaanskorean/hanX11 instellenHoewel X11 geen deel is van het &os; Project wordt het hier
wel besproken voor &os; gebruikers. Meer details zijn te
vinden op de &xorg;
website of op de website van een andere X11 server
die gebruikt wordt.In ~/.Xresources kunnen
applicatiespecifieke I18N instellingen gemaakt worden als
lettertypen, menu's, enzovoort.Lettertypen weergevenX11 &truetype;
lettertypeserverEerst moet &xorg; server
(x11-servers/xorg-server),
geďnstalleerd worden en daarna de &truetype;
lettertypen van de taal. Door de gewenste locale in te
stellen worden de menu's en dergelijke in de gekozen taal
weergegeven.Niet-Engelse karakters invoerenX11 Input Method (XIM)Het X11 Input Method (XIM) protocol is een nieuwe
standaard voor alle X11-cliënts. Alle X11-applicaties
horen geschreven te worden als XIM-cliënts die
invoer aannemen van de XIM-invoerservers. Er zijn meerdere
XIM-servers beschikbaar voor verschillende talen.PrinterinstellingenSommige enkele C-karakters karakterverzamelingen zijn
standaard hardware-gecodeerd in printers. Voor wijde of
multibyte karakterverzamelingen is een speciale installatie
nodig en het gebruik van apsfilter
wordt dan aangeraden. Een document kan ook naar &postscript;
of PDF formaat omgezet worden door gebruik te maken van
taalspecifieke conversieprogramma's.Kernel en bestandssystemenHet &os; Snelle Bestandssysteem (FFS) is 8-bit schoon, dus
het kan gebruikt worden met elke enkele C-karakters
karakterverzameling (zie &man.multibyte.3;), maar er is geen
karakterverzamelingnaam opgeslagen in het bestandssysteem. Het
is dus rauw 8-bit en het weet niets van coderingsbevelen.
Officieel ondersteunt FFS nog geen enkele vorm van wijde of
multibyte karakterverzamelingen. Toch hebben sommige wijde of
multibyte karakterverzamelingen onafhankelijke patches voor FFS
die ondersteuning inschakelen. Dit zijn tijdelijke oplossingen
of hacks die niet overdraagbaar zijn en daarom is besloten ze
niet in de source tree op te nemen. Op de websites van de
talen staan de patchbestanden en meer informatie.&ms-dos;UnicodeVoor het &os; &ms-dos; bestandssysteem kan geschakeld
worden tussen &ms-dos;, Unicode karakterverzamelingen en
gekozen &os; bestandssysteem-karakterverzamelingen.
&man.mount.msdosfs.8; beschijft de details.I18N-programma's compilerenVeel &os; Ports zijn geschikt gemaakt voor &os; met
I18N-ondersteuning. Een aantal daarvan zijn gemarkeerd met
-I18N in de portnaam. Deze en nog veel andere
programma's hebben ingebouwde ondersteuning voor I18N en
behoeven geen speciale aandacht.MySQLToch is het voor sommige applicaties zoals
MySQL nodig dat de
Makefile ingesteld is met de specifieke
karakterverzameling. Dit wordt normaliter gedaan in de
Makefile of door middel van het doorgeven
van een waarde aan configure in de
broncode.&os; lokaliseren naar talenAndreyChernovOorspronkelijk bijgedragen door Russisch (KOI8-R codering)lokalisatieRussischVoor meer informatie over KOI8-R codering, zie de
KOI8-R References (Russian Net
Character Set).Locale instellenVoeg de volgende regels toe aan
~/.login_conf bestand:me:Mijn account:\
:charset=KOI8-R:\
:lang=ru_RU.KOI8-R:Zie eerder in dit hoofdstuk voor voorbeelden over het
opzetten van de locale.Console instellenVoeg de volgende regel toe aan
/etc/rc.conf:mousechar_start=3Gebruik ook de volgende instellingen in
/etc/rc.conf:keymap="ru.koi8-r"
scrnmap="koi8-r2cp866"
font8x16="cp866b-8x16"
font8x14="cp866-8x14"
font8x8="cp866-8x8"Voor elke ttyv* regel in
/etc/ttys, gebruik
cons25r als het terminaltype.Zie eerder in dit hoofdstuk voor voorbeelden over het
opzetten van de
console.Printer instellenprintersAangezien de meeste printers met Russische karakters met
hardware-codepagina CP866 komen, is een speciaal
uitvoerfilter nodig om KOI8-R om te zetten in CP866. Zo'n
filter is standaard geďnstalleerd als
/usr/libexec/lpr/ru/koi2alt. Een
/etc/printcap regel voor een Russische
printer moet er uit zien als:lp|Russische lokale lijnprinter:\
:sh:of=/usr/libexec/lpr/ru/koi2alt:\
:lp=/dev/lpt0:sd=/var/spool/output/lpd:lf=/var/log/lpd-errs:Zie &man.printcap.5; voor een gedetailleerde
beschrijving.&ms-dos; bestandssysteem en Russische
bestandsnamenDe volgende voorbeeld &man.fstab.5; regel zet
ondersteuning aan voor Russische bestandsnamen gekoppeld op
&ms-dos; bestandssystemen:/dev/ad0s2 /dos/c msdos rw,-Wkoi2dos,-Lru_RU.KIO8-R 0 0De optie selecteert de te gebruiken
localenaam, en stelt de
karakteromzettabel in. Om de te
gebruiken moet /usr gemount zijn voor de
&ms-dos; partitie omdat de omzettabellen zich bevinden in
/usr/libdata/msdosfs.
&man.mount.msdosfs.8; geeft verdere uitleg.X11 instellenVoer eerst de niet-X
lokale instellingen uit zoals beschreven.Installeer bij gebruik van
&xorg; het package x11-fonts/xorg-fonts-cyrillic.Controleer de "Files" sectie in
/etc/X11/xorg.conf bestand. Zorg
dat de volgende regel
vóór andere
FontPath regels staan:FontPath "/usr/local/lib/X11/fonts/cyrillic"Zie de Ports Collectie voor meer cyrillic
fonts.Om een Russisch toetsenbord te activeren dient het
volgende in het "Keyboard" gedeelte
van xorg.conf te staan:XkbLayout "ru"
XkbOptions "grp:caps_toggle"Voor &xorg;:Option "XkbLayout" "us,ru"
Option "XkbOptions" "grp:caps_toggle"Ook moet daar XkbDisable
uitgeschakeld (uitgecomment) zijn.Voor grp:toggle is de
RUS/LAT-schakelaar Rechter Alt voor
de grp:ctrl_shift_toggle schakelaar zal
dat CtrlShift zijn. Voor
grp:caps_toggle zal de
RUS/LAT-schakelaar CapsLock zijn. De
oude CapsLock functie is nog steeds
beschikbaar via ShiftCapsLock
(alleen in LAT-modus). grp:caps_toggle
werkt om onbekende reden niet in
&xorg;.Als er &windows; toetsen op een
toetsenbord zitten en het blijkt dat sommige
niet-alfabetische toetsen verkeerd gemapt zijn in
RUS-modus, dan kan de volgende regel aan
xorg.conf toegevoegd worden:Option "XkbVariant" ",winkeys"Het Russische XKB toetsenbord hoeft niet te werken
met niet-gelokaliseerde applicaties.Minimaal gelokaliseerde applicaties moeten vroeg in het
programma een aanroep naar de XtSetLanguageProc
(NULL, NULL,); functie doen.In KOI8-R for X
Window staan meer instructies over het
lokaliseren van X11-applicaties.Traditioneel Chinees voor Taiwanlokalisatietraditioneel ChineesHet &os;-Taiwan Project heeft een Chinese HOWTO voor &os;
op
die gebruik maakt van veel Chinese ports. De huidige redacteur
voor de &os; Chinese HOWTO is Shen
Chuan-Hsing statue@freebsd.sinica.edu.tw.Chuan-Hsing Shen heeft de Chinese &os;
Collection (CFC) gemaakt met gebruik van &os;-Taiwan's
zh-L10N-tut. De packages en scriptbestanden
zijn beschikbaar op .Duits (alle ISO 8859-1 talen)lokalisatieDuitsSlaven Rezic eserte@cs.tu-berlin.de heeft
een tutorial geschreven over het gebruik van umlauten op een
&os;-machine. De tutorial is in het Duits geschreven en staat
op .GriekslokalisatieGrieksNikos Kokkalis nickkokkalis@gmail.com heeft
een compleet artikel over Griekse ondersteuning in &os;
geschreven. Het is beschikbaar als deel van de officiële
Griekse &os;-documentatie, in http://www.freebsd.org/doc/el_GR.ISO8859-7/articles/greek-language-support/index.html.
Merk opdat dit alleen in het Grieks
beschikbaar is.Japans en KoreaanslokalisatieJapanslokalisatieKoreaansJapanse lokalisatie staat beschreven op en de Koreaanse
lokalisatie staat op .Niet-Engelstalige &os; documentatieSommige delen van de &os;-documentatie zijn naar andere
talen vertaald. Hiernaar staan links op de hoofdsite of in
/usr/share/doc.
diff --git a/nl_NL.ISO8859-1/books/handbook/mail/chapter.xml b/nl_NL.ISO8859-1/books/handbook/mail/chapter.xml
index 9fb760489a..8c21c3a5b9 100644
--- a/nl_NL.ISO8859-1/books/handbook/mail/chapter.xml
+++ b/nl_NL.ISO8859-1/books/handbook/mail/chapter.xml
@@ -1,2299 +1,2297 @@
BillLloydOrigineel werk van JimMockHerschreven door TomLeetersVertaald door FredericVan AsscheVertaling voortgezet door RenéLadanVertaling voortgezet door Elektronische mailOverzichtemailElektronische Mail, beter bekend als email, is
tegenwoordig een van de meest gebruikte vormen van communicatie.
Dit hoofdstuk geeft een algemene inleiding in het opzetten van een
mailserver op &os;, alsmede een introductie in het verzenden en
ontvangen van email op &os;; het is echter geen complete
referentie en veel belangrijke overwegingen zullen buiten
beschouwing worden gelaten. Voor een completere behandeling
wordt de lezer gewezen op de vele uitstekende boeken welke
worden vermeld in .In dit hoofdstuk wordt behandeld:Welke software (componenten) gebruikt wordt(en) bij het
verzenden en ontvangen van email.Waar algemene sendmail
instellingsbestanden worden opgeslagen in &os;.Het verschil tussen lokale en postbussen op-afstand.Hoe spammers te verhinderen dat ze de mailserver illegaal
gebruiken als "relay".Hoe een andere MTA (Mail Transfer Agent) te installeren en
configureren op het systeem, ter vervanging van
sendmail.Hoe veel voorkomende problemen met mail servers worden
opgelost.Hoe SMTP met UUCP te gebruiken.Hoe een systeem in te stellen om alleen mail te verzenden.Hoe email te gebruiken met een inbelverbinding.Hoe SMTP Authenticatie in te stellen voor verhoogde
beveiliging.Hoe een Mail User Agent zoals mutt te
installeren om email te verzenden en te ontvangen.Hoe mail te downloaden van een POP of
IMAP server op afstand.Hoe automatisch filters en sorteerregels op inkomende
email toe te passen.Voordat dit hoofdstuk gelezen wordt, dienen:De netwerkverbindingen correct ingesteld te zijn ().De juiste DNS-informatie ingesteld te zijn voor de
mailserver ().Bekend te zijn hoe software van derde partijen te
installeren ().Gebruik maken van elektronische mailPOPIMAPDNSEr zijn vijf belangrijke componenten betrokken bij het
uitwisselen van email. Dit zijn: het
gebruikersprogramma, de
serverdaemon, DNS,
een postbus, lokaal of op afstand
, en natuurlijk de mailhost
zelf.Het gebruikersprogrammaDit omvat opdrachtregelprogramma's zoals
mutt, alpine,
elm, en mail, en
GUI programma's zoals
balsa, xfmail, en
iets geavanceerders zoals een webbrowser. Deze
programma's doen niets anders dan de mail bezorgen bij de lokale mailhost, door deze
af te leveren of bij een van de beschikbare serverdiensten, of via
TCP.Mailhost Server Daemonmailserver daemonssendmailmailserver daemonspostfixmailserver daemonsqmailmailserver daemonsexim&os; wordt standaard geleverd met de
sendmail, maar ondersteunt meerdere andere
mailserver daemons, zoals:exim;postfix;qmail.De server daemon heeft meestal twee functies—het is
verantwoordelijk voor het ontvangen van inkomende mail en het
bezorgen van uitgaande mail. Het is niet
verantwoordelijk voor het verzamelen van mail door gebruik te
maken van protocollen zoals POP of
IMAP om mail te lezen, noch staat het toe om
een verbinding te maken met een lokale mbox
of Maildir postbus. Het is mogelijk dat daarvoor een extra
daemon voor nodig is.Oudere versies van sendmail
hebben serieuze beveiligingslekken welke kunnen leiden tot een
situatie waarbij een aanvaller lokale of toegang van afstand
tot de machine kan verkrijgen. Draai een actuele versie om
deze problemen te voorkomen. Optioneel kan een alternatieve
MTA van de &os;
Portscollectie geďnstalleerd worden.Email en DNSHet Domein Naam Systeem (DNS) en de daemon named
spelen een grote rol in het bezorgen van email. Om
het mogelijk te maken email van de deze lokatie naar een andere
lokatie te bezorgen, zal de serverdaemon de andere lokatie
opzoeken in het DNS om zo de host te bepalen die de email voor
de bestemming in ontvangst zal nemen. Dit gebeurt ook als
email verzonden wordt vanaf een andere host naar de lokale
mailserver.MX recordDNS is verantwoordelijk voor het koppelen
van hostnamen aan IP-adressen, en voor het opslaan van
specifieke informatie voor het bezorgen van mail, bekend als
MX-regels. De MX-regel (Mail eXchanger) specificeert welke
host(s) mail zullen ontvangen voor een specifiek domein. Als er
geen MX-regel is voor deze hostnaam of dit domein, dan zal de
mail direct bij de host worden afgeleverd, mits er een A-regel
is die deze hostnaam aan dit IP-adres koppelt.De MX-regels van een willekeurig domein kunnen worden
bekeken door gebruik te maken van het commando &man.host.1;,
zoals te zien is in het onderstaande voorbeeld:&prompt.user; host -t mx FreeBSD.org
FreeBSD.org mail is handled (pri=10) by mx1.FreeBSD.orgMail ontvangenemailontvangenDe mailhost verzorgt het ontvangen van mail voor het domein.
Deze zal alle mail verzonden aan het domein verzamelen en deze
afhankelijk van de configuratie opslaan in ňf
mbox (de standaardmanier om mail op te slaan)
ňf in Maildir-formaat. Wanneer de mail eenmaal is
opgeslagen, kan het ňf lokaal gelezen worden door
toepassingen als &man.mail.1; of mutt
, of op afstand bekeken en verzameld worden middels protocollen
als POP of IMAP.
Dit betekent, dat als mail alleen lokaal wordt gelezen, er geen
POP- of IMAP-server
geďnstalleerd hoeft te worden.Op afstand toegang tot de postbus krijgen door gebruik te
maken van POP en IMAPPOPIMAPOm op afstand toegang te krijgen tot postbussen is het nodig
toegang te hebben tot een POP- of IMAP
-server. Deze protocollen stellen gebruikers in
staat hun postbus gemakkelijk op afstand te benaderen. Hoewel
zowel POP als IMAP
gebruikers in staat stellen op afstand een postbus te bereiken,
biedt IMAP veel voordelen, waaronder:IMAP kan berichten zowel op de
server op afstand opslaan als ze ophalen.IMAP ondersteunt gelijktijdig
actualiseren.IMAP kan uitstekend worden gebruikt
over langzame verbindingen omdat het gebruikers in staat
stelt de structuur van berichten te bekijken zonder deze
binnen te halen; het kan ook worden gebruikt om te zoeken
op de server om zo de gegevensoverdracht tussen client en
server te minimaliseren.Om een POP- of IMAP-
server te installeren, zijn de volgende stappen nodig:Kies een IMAP- of POP
-server die het beste aan de eisen voldoet.
De volgende POP- en IMAP
-servers zijn zeer bekend en zijn goede
voorbeelden:qpopper;teapop;imap-uw;courier-imap;dovecot;Installeer de gewenste POP- of
IMAP-daemon vanuit de Portscollectie.Wijzig indien nodig /etc/inetd.conf
om de POP- of IMAP
- server te laden.Let er wel op dat zowel POP en
IMAP informatie, waaronder gegevens over
gebruikersnaam en wachtwoord, onversleuteld versturen. Dit
betekent, dat wanneer het gewenst is dat de uitwisseling van
gegevens over deze protocollen versleuteld is, het
verstandig is om te overwegen de sessies over &man.ssh.1;
te tunnelen of SSL te gebruiken. Het tunnelen van sessies wordt
beschreven in en SSL in
.Toegang tot lokale postbussenPostbussen kunnen lokaal benaderd worden door direct op de
server waarop de postbus wordt bewaard MUAs
te gebruiken. Dit kan gedaan worden door programma's zoals
mutt of &man.mail.1; te gebruiken.De mailhostmailhostDe mailhost is de naam van de server welke verantwoordelijk
is voor het afleveren en ontvangen van mail voor de server en
mogelijk voor het netwerk.ChristopherShumwayBijgedragen door sendmail instellensendmail&man.sendmail.8; is de standaard Mail Transfer Agent (MTA) in
&os;. sendmail's taak is het
accepteren van mail van gebruikersprogramma's (MUA
) en deze te bezorgen bij de juiste mailer zoals
gedefinieerd in het betreffende configuratiebestand.
sendmail kan ook netwerkverbindingen
accepteren en mail in lokale postbussen afleveren of bezorgen
bij een ander programma.sendmail gebruikt de volgende
configuratiebestanden:/etc/mail/access/etc/mail/aliases/etc/mail/local-host-names/etc/mail/mailer.conf/etc/mail/mailertable/etc/mail/sendmail.cf/etc/mail/virtusertableBestandsnaamFunctie/etc/mail/accessbestand met de toegangsdatabase van
sendmail/etc/mail/aliasesAliases voor postbussen/etc/mail/local-host-namesLijst van servers waarvoor
sendmail mail accepteert/etc/mail/mailer.confConfiguratie voor het mailerprogramma/etc/mail/mailertableAflevertabel voor de mailer/etc/mail/sendmail.cfHoofdconfiguratiebestand van
sendmail/etc/mail/virtusertableTabellen voor virtuele gebruikers en domeinen/etc/mail/accessDe toegangsdatabase definieert welke host(s) of IP-adressen
toegang hebben tot de lokale mailserver en wat voor soort toegang
ze hebben. Hosts kunnen in de lijst als ,
, of staan, of
worden doorgevoerd naar de foutafhandelingsprocedure van
sendmail met een bepaalde mailerfout.
Hosts welke vermeld staan als , wat de
standaard is, kunnen mail versturen naar deze host zolang de
eindbestemming van de mail de lokale machine is. Hosts welke
vermeld staan als worden voor alle
verbindingen geweigerd. Hosts met een
vermelding wordt toegestaan om via deze server mail naar elke
bestemming te sturen.Configureren van de sendmail
toegangsdatabasecyberspammer.com 550 We accepteren geen mail van spammers
FREE.STEALTH.MAILER@ 550 We accepteren geen mail van spammers
another.source.of.spam REJECT
okay.cyberspammer.com OK
128.32 RELAYIn dit voorbeeld staan vijf vermeldingen. Mailafzenders die
overeenkomen met de linkerzijde van de tabel worden beďnvloed
door de actie die vermeld staan aan de rechterzijde van de tabel.
De eerste twee voorbeelden geven een foutcode af aan de
foutafhandelingsroutine van sendmail.
Het bericht wordt bij de externe host bekend gemaakt wanneer een
mail voldoet aan de linkerzijde van de tabel. De volgende regel
weigert mail van een specifieke host op het Internet,
another.source.of.spam. De volgende regel accepteert
mailverbindingen van een host
okay.cyberspammer.com, welke nauwkeuriger is dan de
regel met cyberspammer.com
erboven. Specifiekere regels vervangen minder specifieke. De
laatste regel staat het doorsturen van elektronische mail toe
vanaf hosts waarvan de IP-adressen beginnen met 128.32.
Deze hosts zijn dan in staat om via deze mailserver naar een andere
bestemming mail te versturen.Wanneer dit bestand is bijgewerkt, dient make
in /etc/mail/ te gedraaid te
worden om de database bij te werken./etc/mail/aliasesDe aliasdatabase bevat een lijst met virtuele postbussen die
verwijzen naar andere gebruiker(s), bestand(en), programma('s) of
andere aliassen. Hier zijn een paar voorbeelden die gebruikt
kunnen worden in /etc/mail/aliases:Mailaliassenroot: localuser
ftp-bugs: joe,eric,paul
bit.bucket: /dev/null
procmail: "|/usr/local/bin/procmail"Het bestandsformaat is simpel; de postbusnaam aan de
linkerzijde van de dubbele punt wordt verder uitgewerkt naar de
doel(en) aan de rechterzijde. Het eerste voorbeeld breidt de
postbus van root uit naar de postbus
localuser, welke dan vervolgens weer wordt
opgezocht in de aliasdatabase. Als er geen verdere overeenkomst
wordt gevonden, dan wordt het bericht afgeleverd bij de lokale
gebruiker localuser. Het volgende
voorbeeld toont een mailinglijst. Mail voor de postbus
ftp-bugs wordt doorverwezen naar de drie
lokale postbussen joe, eric
en paul. Merk op dat een
externe postbus gespecificeerd kan worden als
user@example.com. Het volgende voorbeeld toont het
schrijven van mail naar een bestand, in dit geval
/dev/null. Het laatste voorbeeld toont het sturen
van mail naar een programma, in dit geval wordt het mailbericht
doorgestuurd naar de standaard invoer van
/usr/local/bin/procmail via een &unix; pijp.Wanneer dit bestand is bijgewerkt, dient make
in /etc/mail/ gedraaid te worden
om de database bij te werken./etc/mail/local-host-namesDit is een lijst van hostnamen die &man.sendmail.8; moet
accepteren als de lokale hostnaam. Hierin dienen alle hostnamen
geplaatst te worden waarvoor sendmail
mail moet ontvangen. Als deze mailserver mail moet ontvangen
voor het domein example.com
en de hostnaam is mail.example.com,
dan ziet local-host-names er ongeveer zo
uit:example.com
mail.example.comWanneer dit bestand is bijgewerkt, dient &man.sendmail.8;
opnieuw gestart te worden zodat het de veranderingen kan lezen./etc/mail/sendmail.cfHet hoofdinstellingenbestand van sendmail
, sendmail.cf controleert het
algemene gedrag van sendmail,
inclusief alles van het herschrijven van emailadressen tot het
sturen van weigeringsberichten naar externe mailservers. Met
zo'n diverse rol is dit instellingenbestand redelijk complex en
vallen de details buiten het bereik van dit hoofdstuk. Gelukkig
hoeft dit bestand maar zelden aangepast te worden voor standaard
mailservers.Het hoofdinstellingenbestand van sendmail
kan gebouwd worden met &man.m4.1; macro's die het
gedrag en de mogelijkheden van sendmail
specificeren. Lees
/usr/src/contrib/sendmail/cf/README voor meer
details.Wanneer dit bestand is bijgewerkt, dient &man.sendmail.8;
opnieuw gestart te worden om de wijzigingen door te voeren./etc/mail/virtusertableDe virtusertable verbindt mailadressen
voor virtuele domeinen en postbussen met echte postbussen. Deze
postbussen kunnen lokaal, op afstand, aliassen gedefinieerd in
/etc/mail/aliases, of bestanden zijn.Voorbeeld van een mailtabel voor een virtueel domeinroot@example.com root
postmaster@example.com postmaster@noc.example.net
@example.com joeIn het voorbeeld hierboven staat een tabel voor een domein
example.com. Dit bestand
wordt van boven naar beneden verwerkt, en de eerste
overeenkomende regel wordt gebruikt. De eerste regel verbindt
root@example.com met de lokale postbus
root. De volgende regel verbindt
postmaster@example.com met de postbus
postmaster op de host
noc.example.net. Als geen van de vorige regels van
example.com overeenkomen, zal
de laatste regel gebruikt worden, die alle andere post
geadresseerd aan iemand bij
example.com opvangt en naar de lokale postbus
joe stuurt.AndrewBoothmanGeschreven door GregoryNeil ShapiroInformatie genomen uit emails geschreven door De Mail Transfer Agent vervangenemailmta veranderenZoals eerder vermeld wordt &os; geleverd met
sendmail voorgeďnstalleerd als MTA (Mail
Transfer Agent). Daarom regelt het standaard uitgaande en
binnenkomende mail.In sommige gevallen willen systeembeheerders wegens
uiteenlopende redenen hun MTA vervangen. Deze redenen
variëren van het uitproberen van een andere MTA tot het
installeren van een bepaalde functionaliteit of pakket dat
afhankelijk is van een andere MTA.Een nieuwe MTA installerenEr is een waaier van MTA's beschikbaar. Een goed startpunt
is de &os; Ports Collectie waar er
veel gevonden kunnen worden. Het is natuurlijk mogelijk iedere
MTA te gebruiken vanaf iedere locatie, zolang het draait op &os;.Begin met het installeren van de nieuwe MTA. Als de MTA
eenmaal geďnstalleerd is wordt er de kans gegeven te
beslissen of de nieuwe MTA echt voldoet aan de eisen, en is het
mogelijk de nieuwe software te configureren voordat deze het werk
van sendmail overneemt. Bevestig
voordat de MTA geďnstalleerd wordt dat de nieuwe software
geen poging onderneemt systeemtoepassingen zoals
/usr/bin/sendmail te overschrijven, anders wordt
de nieuwe software onmiddellijk in gebruik genomen voordat het
is geconfigureerd.Neem de documentatie van de gekozen MTA door voor meer
informatie over het configureren van de software.sendmail uitschakelenAls sendmail's uitgaande
emaildienst uitgeschakeld wordt, is het belangrijk dat het
vervangen wordt door een alternatief systeem. Als ervoor
gekozen wordt dit niet te doen, zullen
systeemfunctionaliteiten zoals &man.periodic.8; niet in staat
zijn hun resultaten te bezorgen per email, zoals ze normaliter
verwachten te kunnen doen. Vele delen van het systeem zullen
verwachten een werkend systeem aan te treffen dat compatibel
is met sendmail. Als toepassingen
binaries van sendmail blijven
gebruiken om mail te versturen nadat deze uitgeschakeld werden,
kan de mail in een inactieve sendmail
wachtrij geplaatst worden, en nooit bezorgd worden.Om sendmail volledig uit te
schakelen, inclusief de uitgaande emaildienst, dientsendmail_enable="NO"
sendmail_submit_enable="NO"
sendmail_outbound_enable="NO"
sendmail_msp_queue_enable="NO"toegevoegd te worden aan /etc/rc.conf.Als enkel sendmail's ingaande
emaildienst uitgeschakeld dient te worden, dientsendmail_enable="NO"toegevoegd te worden aan /etc/rc.conf.
Meer informatie over de opstartopties van
sendmail is beschikbaar in de hulppagina
&man.rc.sendmail.8;.De nieuwe MTA starten tijdens het opstartenDe nieuwe MTA kan gestart worden door deze instellingsregel
toe te voegen aan /etc/rc.conf, zoals het
volgende voorbeeld voor postfix:&prompt.root; echo 'postfix_enable=YES' >> /etc/rc.confDe MTA zal nu automatisch tijdens het opstarten worden
gestart.sendmail vervangen als de
standaard systeemmailerHet programma sendmail is zo
vanzelfsprekend als standaard software op &unix; systemen dat
sommige softwarepakketten ervan uitgaan dat
sendmail reeds geďnstalleerd en
geconfigureerd is. Daarom voorzien vele alternatieve MTA's in
compatibele implementaties van de opdrachtregelinterface van
sendmail; dit vergemakkelijkt het
gebruik van alternatieve MTA's als vervanging voor
sendmail.Bij het gebruiken van een alternatieve MTA moet men er zeker
van zijn dat software die probeert de standaardtoepassingen van
sendmail zoals
/usr/bin/sendmail te gebruiken, ook daadwerkelijk
de gekozen alternatieve mailer gebruikt. Gelukkig heeft &os;
hiervoor een systeem, &man.mailwrapper.8;, dat deze taak van de
systeembeheerder overneemt.Als sendmail werkt zoals
origineel geďnstalleerd, bevat
/etc/mail/mailer.conf bij benadering het volgende:sendmail /usr/libexec/sendmail/sendmail
send-mail /usr/libexec/sendmail/sendmail
mailq /usr/libexec/sendmail/sendmail
newaliases /usr/libexec/sendmail/sendmail
hoststat /usr/libexec/sendmail/sendmail
purgestat /usr/libexec/sendmail/sendmailDit wil zeggen dat wanneer een van deze algemene opdrachten
(zoals sendmail zelf) uitgevoerd wordt, het
systeem in werkelijkheid een kopie van de mailwrapper genaamd
sendmail uitvoert, dat
mailer.conf controleert en
/usr/libexec/sendmail/sendmail uitvoert. Dit
systeem maakt het eenvoudiger te specificeren welke toepassingen
daadwerkelijk uitgevoerd worden wanneer deze standaard
sendmail functies aangeroepen worden.Als men bijvoorbeeld wil dat
/usr/local/supermailer/bin/sendmail-compat uitgevoerd
wordt in plaats van sendmail, kan
men /etc/mail/mailer.conf als volgt
aanpassen:sendmail /usr/local/supermailer/bin/sendmail-compat
send-mail /usr/local/supermailer/bin/sendmail-compat
mailq /usr/local/supermailer/bin/mailq-compat
newaliases /usr/local/supermailer/bin/newaliases-compat
hoststat /usr/local/supermailer/bin/hoststat-compat
purgestat /usr/local/supermailer/bin/purgestat-compatAfwerkingWanneer alles correct geconfigureerd is, dienen ofwel alle
ongebruikte sendmail processen
gestopt te worden en de processen behorend aan de nieuwe
software gestart te worden, ofwel dient het systeem opnieuw
gestart te worden. Herstarten geeft ook de mogelijkheid te
controleren of de nieuwe MTA correct geconfigureerd is om
tijdens het opstartproces gestart te worden.Problemen oplossenemailproblemen oplossenWaarom is het nodig om de FQDN te gebruiken voor hosts
op de site?Het is waarschijnlijk dat de host zich in een ander
domein bevindt; bijvoorbeeld als het gewenst is om host
mompel in het domein bar.edu vanuit domein foo.bar.edu te bereiken, is het nodig
om er met de volledig gekwalificeerde domeinnaam naar te
verwijzen, mompel.bar.edu, in
plaats van slechts mompel.Traditioneel werd dit door BSD BINDBIND resolvers toegestaan. De
huidige versie van BIND die
met &os; wordt geleverd levert niet langer standaard
afkortingen voor onvolledig gekwalificeerde domeinnamen
anders dan het huidige domein. Dus moet een
ongekwalificeerde host mompel ňf als
mompel.foo.bar.edu gevonden
worden, ňf wordt er naar gezocht in het root-domein.Dit verschilt van het vorige gedrag, waar de zoektocht
doorging over mompel.bar.edu,
en bar.edu.
Zie RFC 1535 voor de redenen waarom dit als een slechte
gewoonte en zelfs als beveiligingslek werd beschouwd.Als een goede tussenoplossing kan deze regel:search foo.bar.edu bar.eduin plaats van het voorgaande:domain foo.bar.eduin /etc/resolv.conf geplaatst worden.
Ben er echter zeker van dat de zoekvolgorde niet verder gaat
dan de grens tussen lokale en publieke regelgeving,
zoals RFC 1535 het noemt.sendmail zegt mail
loops back to myselfDit wordt in de FAQ van sendmail
als volgt beantwoord:Deze foutmeldingen verschijnen:
553 MX list for domain.net points back to relay.domain.net
554 <user@domain.net>... Local configuration error
Hoe kan dit probleem worden opgelost?
Er is gevraagd om mail van het domein (bijvoorbeeld domain.net) naar een
specifieke host door te sturen (in dit geval relay.domain.net) door
gebruik te maken van een MX-regel, maar de machine die het door moet
sturen herkent zichzelf niet als domain.net. Voeg domain.net toe aan
/etc/mail/local-host-names [bekend als /etc/sendmail.cw voor versies
eerder dan 8.10] (als FEATURE(use_cw_file) gebruikt wordt) of voeg
Cw domain.net toe aan /etc/mail/sendmail.cf.De FAQ van sendmail is te
vinden op
en wordt aangeraden om te lezen indien enig tweaken
van de mailinstallatie gewenst is.Hoe kan een mailserver op een inbel-PPP-host gedraaid
worden?Het is gewenst om een &os;-computer in een LAN met het
Internet te verbinden. De &os;-computer zal en mail-gateway
voor het LAN zijn. De PPP-verbinding is niet toegewijd.Er zijn minstens twee manieren om dit te doen.
Eén manier is om UUCPUUCP te gebruiken.Een andere manier is ervoor te zorgen dat een server die
altijd met het Internet verbonden is secundaire
MX-dienstenMX-regel
voor het domein biedt. Als het domein bijvoorbeeld example.com is en de
internetprovider example.net
heeft ingesteld om secundaire MX-diensten voor het
domein te bieden:example.com. MX 10 example.com.
MX 20 example.net.Er dient slechts één host als de
uiteindelijke ontvanger gespecificeerd te worden (voeg
CW example.com toe aan
/etc/mail/sendmail.cf op example.com>).Wanneer de verzendende sendmail
probeert om mail af te leveren zal het proberen met example.com te verbinden via de
modemverbinding. Waarschijnlijk zal dit een time-out geven
omdat de computer niet online is. Het programma
sendmail zal het automatisch aan
de secundaire MX-site, de internetprovider (example.net) afleveren. De
secundaire MX zal dan periodiek proberen om een verbinding te
maken met de computer en de mail aan de primaire MX-host
leveren (example.com).Het kan wenselijk zijn om iets als het onderstaande als
inlogscript te gebruiken:#!/bin/sh
# Zet mij in /usr/local/bin/pppmyisp
( sleep 60 ; /usr/sbin/sendmail -q ) &
/usr/sbin/ppp -direct pppmyispIndien er een apart inlogscript voor een gebruiker wordt
aangemaakt, kan sendmail -qRexample.com
gebruikt worden in plaats van het bovenstaande script. Dit
zorgt ervoor dat alle mail in de mailrij voor example.com onmiddellijk
verwerkt wordt.Een verdere verfijning van de situatie is deze:Bericht gestolen van de &a.isp;.> we bieden de secundaire MX voor een klant.
> De klant maakt automatisch verschillende keren per dag een verbinding
> met onze diensten om de mailberichten naar zijn primaire MX te
> sturen (we bellen zijn site niet indien er een mail voor zijn
> domein arriveert). Onze sendmail verstuurt de mailrij om de 30
> minuten. Op het moment moet de klant 30 minuten online blijven om
> er zeker van te zijn dat alle mail naar de primaire MX is gegaan.
>
> Is er een commando dat sendmail er toe aanzet om alle mailberichten
> nu te versturen? De gebruiker heeft uiteraard geen root-rechten op
> onze machine.
In de sectie privacy flags van sendmail.cf staat een
definitie Opgoaway,restrictqrun
Verwijder restrictqrun om niet-root-gebruikers toe te staan te beginnen
de rij te verwerken. Het kan ook wenselijk zijn om de MXs opnieuw te
rangschikken. Wij zijn zo de eerste MX voor onze klanten, en we hebben
dit gedefinieerd:
# Als we de beste MX voor een host zijn, probeer direct in plaats van
# een lokale configuratiefout te genereren.
OwTrue
Op deze manier zal een site op afstand rechtstreeks hier afleveren,
zonder de verbinding van de klant te proberen. Vervolgens wordt er naar
de klant verstuurd. Dit werkt alleen voor hosts, dus
dient de klant hun mailcomputer customer.com te noemen en
hostname.customer.com in de DNS de plaatsen. Plaats een
A-regel in de DNS voor customer.com.Waarom blijven er fouten als Relaying Denied
verchijnen wanneer er mail van andere hosts
wordt verstuurd?In standaard &os;-installaties is sendmail
geconfigureerd om alleen mail te versturen
van de host waarop het draait. Als bijvoorbeeld een
POP-server beschikbaar is, kunnen
gebruikers mail controleren vanuit school, werk, of andere
lokaties op afstand, maar zullen ze nog steeds niet in staat
zijn om uitgaande emails van lokaties van buitenaf te
versturen. Gewoonlijk zal er na enkele ogenblikken na de
poging een email van MAILER-DAEMON
worden verzonden met een foutbericht
5.7 Relaying Denied.Er zijn verschillende manieren om dit te omzeilen. De
oplossing die het meest voor de hand ligt, is om het adres
van de internetprovider in een bestand relay-domains op
/etc/mail/relay-domains te zetten.
Een snelle manier om dit te doen is:&prompt.root; echo "your.isp.example.com" > /etc/mail/relay-domainsNadat dit bestand is aangemaakt of bewerkt dient
sendmail opnieuw gestart te
worden. Dit werkt prima indien u een serverbeheerder bent
en het niet wenselijk is om mail lokaal te verzenden, of
indien het gewenst is om een point-en-click client/systeem
op een andere machine of zelfs bij een andere
internetprovider te gebruiken. Het is ook erg bruikbaar
indien er slechts enkele email-accounts zijn aangemaakt.
Als er een groot aantal adressen dient te worden toegevoegd,
kan dit bestand in een tekstverwerker worden geopend en de
domeinen worden toegevoegd, één per regel:your.isp.example.com
other.isp.example.net
users-isp.example.org
www.example.orgNu zal het verzenden van elke mail door dit systeem,
verstuurd door elke host in deze lijst, lukken (aangenomen
dat de gebruiker een account op het systeem heeft). Dit is
een aardige manier om gebruikers toe te staan op afstand mail
vanaf het systeem te verzenden zonder dat mensen wordt
toegestaan om spam vanaf het systeem te verzenden.Geavanceerde onderwerpenDe volgende sectie behandelt meer ervaren onderwerpen zoals
mailinstellingen en het instellen van mail voor het gehele domein.BasisinstellingenemailinstellingenHet verzenden van email naar externe hosts zou onmiddellijk
moeten werken, zolang /etc/resolv.conf is
aangemaakt of zolang er een nameserver wordt gedraaid. Indien
het gewenst is dat mail voor de host aan de MTA (bijvoorbeeld
sendmail) geleverd dient te worden op
de &os;-host, zijn er twee methoden:Draai een eigen nameserver op een eigen domein,
bijvoorbeeld FreeBSD.orgZorg ervoor dat mail direct aan de host geleverd wordt.
Dit wordt gedaan door mail direct aan de huidige DNS-naam
voor de machine, bijvoorbeeld
example.FreeBSD.org, te leveren.SMTPOnafhankelijk van de hierboven gekozen methode, dient de
host, om er direct mail aan geleverd te krijgen, een permanent
statisch IP-adres te hebben (niet een dynamisch adres, zoals dat
bij de meeste PPP-inbelverbindingen het geval is). Indien er
een firewall actief is, dient het SMTP-verkeer naar de host door
te geven. Indien het gewenst is dat de host direct mail
ontvangt, dient één van de twee onderstaande
dingen geregeld te zijn:
- MX-regel
-
- Zorg ervoor dat de (laagstgenummerde) MX-regel in het
+ Zorg ervoor dat de (laagstgenummerde) MX-regelMX-regel in het
DNS naar het IP-adres van de host wijst.Zorg ervoor dat er geen MX-regel in het DNS is voor de
host.Met elk van de bovenstaanden kan mail direct op de host
ontvangen worden.Probeer dit:&prompt.root; hostname
example.FreeBSD.org
&prompt.root; host example.FreeBSD.org
example.FreeBSD.org has address 204.216.27.XXIndien dit verschijnt, zal mail die direct naar
yourlogin@example.FreeBSD.org zonder
problemen moeten werken (aangenomen dat
sendmail correct werkt op
example.FreeBSD.org).Indien in plaats daarvan zoiets als dit verschijnt:&prompt.root; host example.FreeBSD.org
example.FreeBSD.org has address 204.216.27.XX
example.FreeBSD.org mail is handled (pri=10) by hub.FreeBSD.orgzal alle mail die naar de host (
example.FreeBSD.org) verzameld worden op hub
onder dezelfde gebruikersnaam in plaats van direct
naar de host verstuurd te worden.Bovenstaande informatie wordt door de DNS-server afgehandeld. De
DNS-regel die informatie over het routen van mail bevat is de
Mail eXchange regel. Indien
er geen MX-regel is, zal mail direct aan de host worden afgeleverd door
middel van het IP-adres.De MX-regel voor freefall.FreeBSD.org
zag er eens als volgt uit:freefall MX 30 mail.crl.net
freefall MX 40 agora.rdrop.com
freefall MX 10 freefall.FreeBSD.org
freefall MX 20 who.cdrom.comTe zien is dat freefall vele MX-regels had.
Het laagste MX-getal hoort bij de host die de mail direct
ontvangt indien beschikbaar; indien het om een of andere reden
niet beschikbaar is, accepteren de anderen (soms
reserve-MXs genoemd) tijdelijk berichten en geven ze
die door wanneer een lager-genummerde host beschikbaar is, om
uiteindelijk aan de laagstgenummerde host af te leveren.Alternatieve MX-sites zouden andere Internetverbindingen dan
die van de host moeten hebben om het nuttigst te zijn. De
internetprovider of een andere vriendelijke site zouden geen
problemen moeten hebben met het leveren van deze dienst.Mail voor het domeinOm een mailhost (ook bekend als een
mailserver) te installeren, is het nodig om mail die verzonden
wordt naar de verschillende werkstations ernaar toe te leiden.
In principe dient alle mail voor elke hostnaam in het domein (in
dit geval *.FreeBSD.org) geclaimd
te worden en naar de mailserver omgeleid te worden zodat
gebruikers hun mail op de hoofdmailserver kunnen ontvangen.DNSHet gemakkelijkste is het indien er een gebruikersaccount
met dezelfde gebruikersnaam op beide
machines bestaat. Hiervoor dient &man.adduser.8; gebruikt te
worden.De mailhost die het meest gebruikt zal worden is de
toegewezen mailuitwisselaar voor elk werkstation in het netwerk.
Dit wordt in de DNS-instellingen als volgt gedaan:example.FreeBSD.org A 204.216.27.XX ; werkstation
MX 10 hub.FreeBSD.org ; mailhostDit zal mail voor het werkstation naar de mailhost leiden
onafhankelijk van waar de A-regel naar toe wijst. De mail wordt
naar de MX-host verzonden.Om dit te doen is het nodig om een eigen DNS-server te
draaien. Neem, indien dit niet het geval is of het niet
mogelijk is om een eigen DNS-server te draaien, contact op met
degene die de DNS levert.De volgende informatie is nuttig indien email virtueel gehost
wordt. In dit voorbeeld wordt aangenomen dat er een klant is
met een eigen domein, in dit geval
customer1.org, en dat alle mail voor customer1.org naar de mailhost
mail.myhost.com verzonden dient te
worden. De regel in het DNS dient er als volgt uit te zien:customer1.org MX 10 mail.myhost.comHet is niet nodig om een A-regel voor
customer1.org te hebben als
er voor dat domein alleen email afgehandeld dient te worden.Let erop dat customer1.org
pingen niet werkt tenzij er een A-regel voor bestaat.Als laatste dient sendmail op de
mailhost te weten voor welke domeinen en/of hostnamen het mail
dient te accepteren. Er bestaan enkele verschillende manieren
om dit te doen. Elk van de volgende manieren zal werken:Voeg de hosts toe aan het bestand
/etc/mail/local-host-names indien
FEATURE(use_cw_literal). Indien er een versie
van sendmail wordt gebruikt die
ouder is dan 8.10, is het te gebruiken bestand
/etc/sendmail.cw.Voeg een regel met Cwyour.host.com
toe aan /etc/sendmail.cf of aan
/etc/mail/sendmail.cf indien versie
8.10 of nieuwer van sendmail
wordt gebruikt.SMTP met UUCPDe instellingen van sendmail die
met &os; worden geleverd zijn ontworpen voor sites die een directe
verbinding met het Internet hebben. Sites waarvoor de mail via
UUCP willen uitwisselen dienen een ander instellingenbestand voor
sendmail te installeren.Het handmatig bijstellen van
/etc/mail/sendmail.cf is een geavanceerd onderwerp.
Versie 8 van sendmail genereert
instellingenbestanden via &man.m4.1; preprocessing, waarbij het
eigenlijke instellen op een hoger abstractieniveau plaatsvindt.
De instellingenbestanden voor &man.m4.1; kunnen onder
/usr/share/sendmail/cf gevonden worden. Het bestand
README in de map cf kan
dienen als een basisintroductie tot het instellen van &man.m4.1;.De beste manier om UUCP te ondersteunen is het gebruiken van
de eigenschap mailertable. Dit maakt een
database aan die sendmail kan gebruiken
om beslissingen over routes te nemen.Als eerste dient het .mc-bestand
aangemaakt te worden. De map
/usr/share/sendmail/cf/cf bevat enkele
voorbeelden. Indien het bestand foo.mc heet,
hoeft slechts het volgende gedaan te worden om het in een geldig
sendmail.cf om te zetten:&prompt.root; cd /etc/mail
&prompt.root; make foo.cf
&prompt.root; cp foo.cf /etc/mail/sendmail.cfEen typisch .mc-bestand kan er als volgt
uitzien:VERSIONID(`Uw versienummer') OSTYPE(bsd4.4)
FEATURE(accept_unresolvable_domains)
FEATURE(nocanonify)
FEATURE(mailertable, `hash -o /etc/mail/mailertable')
define(`UUCP_RELAY', uw.uucp.relay)
define(`UUCP_MAX_SIZE', 200000)
define(`confDONT_PROBE_INTERFACES')
MAILER(local)
MAILER(smtp)
MAILER(uucp)
Cw uw.alias.host.naam
Cw uwuucpnodenaam.UUCPDe regels die de eigenschappen
accept_unresolvable_domains,
nocanonify, en
confDONT_PROBE_INTERFACES bevatten zorgen
ervoor dat er geen gebruik wordt gemaakt van het DNS tijdens het
afleveren van mail. De clausule UUCP_REPLAY is
nodig om UUCP-aflevering te ondersteunen. Hier dient een hostnaam
op het Internet ingevuld te worden die .UUCP pseudo-domeinadressen
kan afhandelen, waarschijnlijk zal dit de mailrelay van de
Internetprovider zijn.Nadat dit gedaan is, is er een bestand
/etc/mail/mailertable nodig. Indien er slechts
één verbinding naar buiten is die voor alle mails
gebruikt wordt, zal het volgende bestand volstaan:#
# makemap hash /etc/mail/mailertable.db < /etc/mail/mailertable
. uucp-dom:uw.uucp.relayEen complexer voorbeeld kan er als volgt uitzien:#
# makemap hash /etc/mail/mailertable.db < /etc/mail/mailertable
#
horus.interface-business.de uucp-dom:horus
.interface-business.de uucp-dom:if-bus
interface-business.de uucp-dom:if-bus
.heep.sax.de smtp8:%1
horus.UUCP uucp-dom:horus
if-bus.UUCP uucp-dom:if-bus
. uucp-dom:De eerste drie regels behandelen speciale gevallen waarbij
domein-geadresseerde mail niet naar de standaardroute verzonden
dient te worden, maar in plaats daarvan naar een UUCP-buur om het
afleverpad af te snijden. De volgende regel
handelt mail naar het lokale Ethernetdomein die met SMTP
afgeleverd kan worden af. Als laatste worden UUCP-buren in de
.UUCP-pseudodomeinnotatie genoemd, om een
uucp-buur!ontvanger-overname toe te staan. De laatste regel bestaat altijd
uit een enkele punt, dat met al het andere matcht, met
UUCP-aflevering naar een UUCP-buur die als universele mail-gateway
naar de wereld dient. Alle nodenamen achter het sleutelwoord
uucp-dom: dienen geldige UUCP-buren te zijn,
dat met het commando uuname gecontroleerd kan
worden.Dit bestand dient naar een DBM-database omgezet te worden voor
gebruik. De opdrachtregel om dit te doen kan het beste als
commentaar bovenaan het bestand mailertable
gezet worden. Deze opdracht dient telkens wanneer het bestand
mailertable wordt gewijzigd uitgevoerd te
worden.Laatste tip: indien de werking van een zekere mailroute niet
zeker is, kan de optie van
sendmail gebruikt worden. Het start
sendmail in adrestestmodus
op; voer 3,0 gevolgd door het adres dat voor de
mailrouting getest dient te worden in. De laatste regel bevat de
gebruikte interne mailagent, de bestemmingshost waarmee deze agent
aangeroepen wordt, en het (mogelijk vertaalde) adres. Deze modus
kan door het typen van CtrlD
verlaten worden.&prompt.user; sendmail -bt
ADDRESS TEST MODE (ruleset 3 NOT automatically invoked)
Enter <ruleset> <address>
>3,0 foo@example.com
canonify input: foo @ example . com
...
parse returns: $# uucp-dom $@ uw.uucp.relay $: foo < @ example . com . >
>^DBillMoranBijgedragen door Instellen om alleen te versturenEr zijn veel gevallen waarbij het gewenst is om enkel mail te
verzenden via een relay. Voorbeelden hiervan zijn:De computer is een desktop, maar het is gewenst om
programma's als &man.send-pr.1; te gebruiken. Hiervoor dient
de mailrelay van de internetprovider gebruikt te worden.De computer is een server welke mail niet lokaal verwerkt,
maar alle mail voor verwerking doorstuurt.Zowat elke MTA kan deze specifieke taak
vervullen. Helaas kan het erg moeilijk zijn om een MTA
met alle mogelijkheden correct in te stellen om alleen
uitgaande mail te behandelen. Programma's als
sendmail en postfix
zijn hiervoor grotendeels overbodig.Ook kan het zijn dat de overeenkomst van een typisch
internetabonnement het draaien van een mail server
verbiedt.De gemakkelijkste manier om aan deze behoeften te voldoen is
door de port mail/ssmtp te
installeren. Voer als root de volgende
opdrachten uit:&prompt.root; cd /usr/ports/mail/ssmtp
&prompt.root; make install replace cleanEenmaal geďnstalleerd kan
mail/ssmtp door middel van het
vier-regelige bestand
/usr/local/etc/ssmtp/ssmtp.conf ingesteld
worden:root=uwechteemail@example.com
mailhub=mail.example.com
rewriteDomain=example.com
hostname=_HOSTNAME_Let erop dat het echte emailadres voor root
gebruikt wordt. Vervang
mail.example.com door de uitgaande mail relay van de
internetprovider (ook wel de uitgaande mailserver
of SMTP-server genoemd).Let erop dat sendmail uitgeschakeld
wordt, inclusief de uitgaande maildienst. Raadpleeg voor details.mail/ssmtp heeft nog meer
mogelijkheden. Raadpleeg het voorbeeldinstelbestand
/usr/local/etc/ssmtp of de hulppagina van
ssmtp voor enkele voorbeelden en meer
informatie.Door ssmtp op deze manier in te
stellen kan alle software op de computer welke mail dient te
versturen correct functioneren, zonder dat het beleid van de
internetprovider geschonden wordt of dat de computer gekaapt kan
worden om spam mee te versturen.Mail gebruiken met een inbelverbindingIndien het IP-adres statisch is, is het niet nodig om de
standaardwaarden aan te passen. De toegewezen Internetnaam dient
als hostnaam gebruikt te worden waarna sendmail
de rest kan doen.Indien het IP-adres dynamisch is en er een inbelverbinding
naar het Internet gebruikt wordt, is de postbus waarschijnlijk op
de mailserver van de Internetprovider geplaatst. Stel dat het
domein van de Internetprovider
example.net is, dat de gebruikersnaam
gebruiker is, dat de machine
bsd.home is, en dat volgens de Internetprovider relay.example.net als mailrelay gebruikt
kan worden.Om mail van de postbus te ontvangen, dient er een
ontvangstagent geďnstalleerd te worden. Het gereedschap
fetchmail is een goede keuze omdat het
veel verschillende protocollen ondersteunt. Dit programma is als
pakket of vanuit de Portscollectie (
mail/fetchmail) beschikbaar.
Normaliter levert de Internetprovider POP.
Indien gebruikers-PPP gebruikt wordt, kan de
mail automatisch worden opgehaald wanneer er een verbinding met
Internet tot stand is gebracht door middel van de volgende regel
in /etc/ppp/ppp.linkup:MYADDR:
!bg su gebruiker -c fetchmailIndien sendmail gebruikt wordt (
zoals hieronder te zien is) om mail aan niet-lokale accounts af te
leveren, is het waarschijnlijk gewenst dat sendmail
de mailrij verwerkt zodra er een Internetverbinding
tot stand is gebracht. Hiervoor dient de volgende opdracht na de
fetchmail-opdracht in
/etc/ppp/ppp.linkup geplaatst te worden: !bg su gebruiker -c "sendmail -q"Aangenomen wordt dat er een account voor gebruiker
op bsd.home aanwezig is.
In de thuismap van gebruiker op bsd.home dient een bestand
.fetchmailrc aangemaakt te worden:poll example.net protocol pop3 fetchall pass MijnGeheimDit bestand dient alleen voor gebruiker
leesbaar te zijn aangezien dit bestand het wachtwoord
MijnGeheim bevat.Om mail met de correcte from:-header te
versturen, dient sendmail
gebruiker@example.net in plaats van
gebruiker@bsd.home te gebruiken. Het kan ook wenselijk
zijn om sendmail alle mail via relay.example.net te versturen, om sneller
mail te verzenden.Het volgende .mc zou voldoende moeten
zijn:VERSIONID(`bsd.home.mc version 1.0')
OSTYPE(bsd4.4)dnl
FEATURE(nouucp)dnl
MAILER(local)dnl
MAILER(smtp)dnl
Cwlocalhost
Cwbsd.home
MASQUERADE_AS(`example.net')dnl
FEATURE(allmasquerade)dnl
FEATURE(masquerade_envelope)dnl
FEATURE(nocanonify)dnl
FEATURE(nodns)dnl
define(`SMART_HOST', `relay.example.net')
Dmbsd.home
define(`confDOMAIN_NAME', `bsd.home')dnl
define(`confDELIVERY_MODE', `deferred')dnlIn de vorige sectie staan de details over het omzetten van een
.mc-bestand in bestand sendmail.cf
. Ook dient sendmail
herstart te worden na het wijzigen van sendmail.cf
.JamesGorhamGeschreven door SMTP-authenticatieHet hebben van SMTP-authenticatie op een
mailserver heeft een aantal voordelen. SMTP-
authenticatie kan een extra beveiligingslaag toevoegen aan
sendmail, en het geeft mobiele
gebruikers die van hosts wisselen de mogelijkheid om dezelfde
mailserver te gebruiken zonder dat ze telkens de instellingen van
hun mailclient moeten veranderen.Installeer security/cyrus-sasl2
vanuit de ports. Deze port is te vinden in
security/cyrus-sasl2. De
port security/cyrus-sasl2
ondersteund een aantal opties tijdens de compilatie. Voor de
SMTP-authenticatiemethode die hier gebruikt wordt, dient de
optie te zijn uitgezet.Voeg nadat security/cyrus-sasl2
is geďnstalleerd deze regel toe aan
/usr/local/lib/sasl2/Sendmail.conf:pwcheck_method: saslauthdInstalleer vervolgens
security/cyrus-sasl2-saslauthd,
en voeg de volgende regel toe aan
/etc/rc.conf:saslauthd_enable="YES"en start vervolgens het saslauthd-daemon op:&prompt.root; service saslauthd startDeze daemon fungeert als een onderhandelaar voor
sendmail die zich tegen de &os;
passwd-database authenticeert. Dit
bespaart de moeite van het opnieuw creëren van een nieuwe
verzameling gebruikersnamen en wachtwoorden voor elke
gebruiker die SMTP-authenticatie nodig
heeft, en het houdt de wachtwoorden voor het inloggen en de
mail hetzelfde.Voeg de volgende regels toe aan /etc/make.conf
:SENDMAIL_CFLAGS=-I/usr/local/include/sasl -DSASL
SENDMAIL_LDFLAGS=-L/usr/local/lib
SENDMAIL_LDADD=-lsasl2Deze regels geven sendmail de
juiste instelopties om tijdens het compileren met cyrus-sal2 te linken. Zorg ervoor
dat cyrus-sasl2 is
geďnstalleerd voordat sendmail
wordt gehercompileerd.Hercompileer sendmail door de
volgende opdrachten uit te voeren:&prompt.root; cd /usr/src/lib/libsmutil
&prompt.root; make cleandir && make obj && make
&prompt.root; cd /usr/src/lib/libsm
&prompt.root; make cleandir && make obj && make
&prompt.root; cd /usr/src/usr.sbin/sendmail
&prompt.root; make cleandir && make obj && make && make installHet compileren van sendmail zou
geen problemen moeten geven indien /usr/src
niet veel veranderd is en dat de benodigde
gedeelde bibliotheken aanwezig zijn.Nadat sendmail is gecompileerd
en opnieuw is gecompileerd, dient
/etc/mail/freebsd.mc (of het plaatselijke
.mc-bestand) gewijzigd te worden. Veel
beheerders kiezen ervoor om de uitvoer van &man.hostname.1;
als .mc-bestandsnaam te gebruiken vanwege
de uniciteit. Voeg deze regels toe:dnl set SASL options
TRUST_AUTH_MECH(`GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN')dnl
define(`confAUTH_MECHANISMS', `GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN')dnlDeze opties stellen de verschillende beschikbare methoden
voor sendmail in om gebruikers te
authenticeren. Gebruik de bijgeleverde documentatie indien
een andere methode dan pwcheck
gewenst is.Voer als laatste &man.make.1; in /etc/mail
uit. Hierdoor wordt het nieuwe .mc
-bestand uitgevoerd en wordt een bestand
freebsd.cf (of de plaatselijke variant ervan)
aangemaakt. Voer hierna de opdracht make install
restart uit, wat het bestand naar
sendmail.cf kopieert en sendmail
op de juiste manier herstart. In
/etc/mail/Makefile staat meer informatie over dit
proces.Indien alles goed is gegaan, moet het mogelijk zijn om de
inloginformatie in de mailclient in te voeren en een testbericht
te versturen. Zet voor verdere onderzoekingen de van sendmail op 13 en houdt
/var/log/maillog in de gaten voor
foutmeldingen.Refereer naar de sendmail-pagina
betreffende
SMTP-authenticatie voor meer
informatie.MarcSilverBijgedragen door Mail User AgentsMail User AgentsEen mail user agent (MUA) is een toepassing
die wordt gebruikt om email te versturen en te ontvangen.
Bovendien, omdat email evolueert en steeds
complexer wordt, worden MUAs steeds krachtiger
in de manier waarop ze met email omgaan; dit biedt gebruikers
verhoogde functionaliteit en flexibiliteit. &os; ondersteunt
verschillende mail user agents die allemaal eenvoudig
geďnstalleerd kunnen worden door de
&os; Ports Collectie te gebruiken. Gebruikers kunnen
kiezen tussen grafische emailclients zoals evolution
of balsa, op de console
gebaseerde clients zoals mutt,
alpine of mail, of de
webinterface die door sommige grote organisaties wordt gebruikt.mail&man.mail.1; is de standaard mail user agent
(MUA) in &os;. Het is een consolegebaseerde
MUA die alle basisfunctionaliteit biedt die
nodig is om tekstgebaseerde email te verzenden en te ontvangen,
maar het is beperkt in de mogelijkheden om met bijlagen om te
gaan en het ondersteunt alleen plaatselijke postbussen.Hoewel mail van huis uit geen
ondersteuning voor POP- of IMAP
-servers biedt, kunnen deze postbussen gedownload
worden naar een lokaal mbox-bestand door
een toepassing als fetchmail te
gebruiken, welke later in dit hoofdstuk behandeld wordt ().Draai mail om email te versturen en te
ontvangen:&prompt.user; mailDe inhoud van de gebruikerspostbus in /var/mail wordt automatisch gelezen
door het programma mail. Indien de postbus
leeg is, eindigt het programma het een melding dat er geen mail
gevonden kon worden. Wanneer de postbus is gelezen, wordt de
applicatie-interface gestart, en wordt er een berichtenlijst
weergegeven. Berichten worden automatisch genummerd, zoals in
het volgende voorbeeld te zien is:Mail version 8.1 6/6/93. Type ? for help.
"/var/mail/marcs": 3 messages 3 new
>N 1 root@localhost Mon Mar 8 14:05 14/510 "test"
N 2 root@localhost Mon Mar 8 14:05 14/509 "user account"
N 3 root@localhost Mon Mar 8 14:05 14/509 "sample"Berichten kunnen nu worden gelezen door middel van het
commando t van mail, gevolgd
door het gewenste berichtnummer. In dit voorbeeld wordt de
eerste email gelezen:& t 1
Message 1:
From root@localhost Mon Mar 8 14:05:52 2004
X-Original-To: marcs@localhost
Delivered-To: marcs@localhost
To: marcs@localhost
Subject: test
Date: Mon, 8 Mar 2004 14:05:52 +0200 (SAST)
From: root@localhost (Charlie Root)
This is a test message, please reply if you receive it.Zoals in bovenstaand voorbeeld te zien is, zorgt de toets
t ervoor dat het bericht met volledige headers
wordt getoond. Om de berichtenlijst nogmaals weer te geven,
dient de toets h gebruikt te worden.Er kan met mail op een email gereageerd
worden, door gebruik te maken één van de toetsen
R of r. De toets
R vertelt mail dat er alleen
aan de verzender van het bericht geantwoord dient te worden,
terwijl de toets r niet alleen aan de verzender
antwoordt, maar ook aan andere ontvangers van het bericht. Het
is ook mogelijk om achter deze commando's het berichtnummer te
plaatsen waarop gereageerd dient te worden. Nadat dit gedaan is
, dient het antwoord gegeven te worden, en dient het einde van
het bericht aangegeven te worden met een enkele
. op een nieuwe regel. Een voorbeeld staat
hieronder:& R 1
To: root@localhost
Subject: Re: test
Thank you, I did get your email.
.
EOTOm een nieuwe email te verzenden, dient de toets
m gebruikt te worden, gevolgd door het adres
van de ontvanger. Er kunnen meerdere ontvangers gespecificeerd
worden door ze met een , te scheiden. Hierna
kan het onderwerp van het bericht worden gegeven, gevolgd door
de inhoud van het bericht. Het einde van het bericht dient te
worden aangegeven door een enkele . op een
nieuwe regel te plaatsen.& mail root@localhost
Subject: I mastered mail
Now I can send and receive email using mail ... :)
.
EOTBinnen het programma mail kan op elk
moment de opdracht ? gebruikt worden om hulp
weer te geven, hiervoor kan ook de hulppagina &man.mail.1;
worden geraadpleegd.Zoals eerder is aangegeven, is het programma &man.mail.1;
van origine niet ontworpen om met bijlagen om te gaan, dus
behandelt het deze slecht. Nieuwere MUAs
zoals mutt gaan veel intelligenter
met bijlagen om. Maar indien het programma mail
nog steeds geprefereerd wordt, kan de port
converters/mpack van
aanzienlijk nut zijn.muttmutt is een kleine doch zeer
krachtige mail user agent, met uitstekende mogelijkheden,
waaronder:De mogelijkheid om berichten te threaden;PGP-ondersteuning voor het digitaal ondertekenen en
versleutelen van email;MIME-ondersteuning;Maildir-ondersteuning;Erg goed aan te passen.Al deze eigenschappen zorgen ervoor dat mutt
een van de meest geavanceerde beschikbare mail
user agents is. Op
staat meer informatie.De stabiele versie van mutt kan
geďnstalleerd worden door de port mail/mutt te gebruiken, terwijl de
huidige ontwikkelaarsversie geďnstalleerd kan worden via de
port mail/mutt-devel. Nadat
de port is geďnstalleerd, kan
mutt gestart worden met het volgende
commando:&prompt.user; muttmutt zal automatisch de inhoud
van de gebruikerspostbus in /var/mail lezen en de inhoud
weergeven indien van toepassing. Indien er geen mails gevonden
zijn in de gebruikerspostbus, zal mutt
wachten voor opdrachten van de gebruiker. Het
onderstaande voorbeeld laat zien hoe mutt
een lijst berichten weergeeft:Selecteer om een email te lezen deze met de cursortoetsen, en sla de
toets Enter aan. Een voorbeeld waarbij
mutt email laat zien staat hieronder:Net zoals het commando &man.mail.1; staat mutt
gebruikers toe om alleen de afzender alsook alle
ontvangers te beantwoorden. Om alleen de afzender van de email
te antwoorden, wordt de toets r gebruikt. Om
aan een groep te antwoorden, welke aan zowel de originele
afzender als aan alle berichtontvangers wordt gestuurd, wordt de
toets g gebruikt.mutt maakt gebruikt van het
programma &man.vi.1; als tekstverwerker voor het aanmaken en
beantwoorden van emails. De gebruiker kan dit aanpassen door
een eigen .muttrc aan te maken in hun
thuismap en de variabele editor of de
omgevingsvariabele EDITOR aan te passen. Zie
voor meer
informatie over het instellen van
mutt.Voor het opstellen van een nieuw mailbericht wordt de toets
m gebruikt. Nadat er een geldig bericht is
gegeven, start mutt &man.vi.1; op en
kan de mail geschreven worden. Nadat de inhoud van de mail is
geschreven, zal mutt nadat
vi verlaten is, zichzelf hervatten en een
overzichtsscherm van de te verzenden mail afbeelden. Om de mail
te versturen wordt de toets y gebruikt. Een
voorbeeld van het overzichtsscherm is hieronder te zien:mutt bevat ook uitgebreide hulp,
welke in de meeste menu's geactiveerd kan worden door de toets
? aan te slaan. De bovenste regel geeft ook
de relevante toetsen aan.alpinealpine richt zich op de beginnende
gebruiker, maar bevat ook geavanceerde mogelijkheden.Er zijn in het verleden verschillende kwetsbaarheden voor
alpine ontdekt, welke aanvallers op
afstand in staat stelden om willekeurige code als gebruikers
op het lokale systeem uit te voeren, door een speciaal
voorbereide email te versturen. Alle
bekende problemen van dit type zijn
gerepareerd, maar de code van alpine
is op een zeer onveilige manier geschreven en de
beveiligingsofficier van &os; gelooft dat het waarschijnlijk
is dat er nog meer onontdekte kwetsbaarheden zijn. Installeer
alpine op eigen risico.De huidige versie van alpine kan
door middel van de port
mail/alpine
geďnstalleerd worden. Wanneer de port geďnstalleerd
is, kan alpine met het volgende
commando gestart worden:&prompt.user; alpineDe eerste keer dat alpine wordt
gedraaid geeft het een welkomstpagina met een korte introductie
weer, alsmede een verzoek van het ontwikkelteam van
alpine om een anoniem emailbericht te
versturen wat ze in staat stelt om te beoordelen hoeveel
gebruikers hun client gebruiken. Druk op Enter
om dit anonieme bericht te versturen, of druk op
E om het welkomstscherm te verlaten zonder een
anoniem bericht te versturen. Een voorbeeld van het
welkomstscherm is hieronder te zien:Vervolgens wordt het hoofdmenu getoond, waarin gemakkelijk
met de cursortoetsen kan worden genavigeerd. Dit hoofdmenu
biedt afkortingen voor het schrijven van nieuwe mail, het
doorbladeren van mailmappen, en zelfs het beheren van het
adresboek. Onder het hoofdmenu worden relevante
toetscombinaties voor de huidige taak getoond.De standaardmap die door alpine
wordt geopend is de inbox.
Gebruik de toets I om de berichtenindex te
zien, of selecteer de optie MESSAGE
INDEX zoals hieronder te zien is:De berichtenindex geeft de berichten in de huidige map weer,
en kan met de cursortoetsen worden genavigeerd. Gemarkeerde
berichten kunnen worden gelezen door op Enter
te drukken.In onderstaand screenshot wordt een voorbeeldbericht door
alpine weergegeven. Toetsencombinaties
worden ter referentie aan de onderkant van het scherm
weergegeven. Een voorbeeld van een van deze combinaties is de
toets r, welke de MUA
vertelt op het huidige bericht te antwoorden.Voor het beantwoorden van een bericht wordt in
alpine gebruikt gemaakt van de
tekstverwerker pico, welke standaard
bij alpine wordt geďnstalleerd.
Het programma pico maakt het
gemakkelijk om in het bericht te navigeren en is meer
vergevingsgezind voor nieuwe gebruikers dan &man.vi.1; of
&man.mail.1;. Wanneer het antwoord voltooid is, kan het bericht
worden verzonden door CtrlX
te gebruiken. Het programma alpine zal
om bevestiging vragen.Het programma alpine kan worden
aangepast door de optie SETUP van het
hoofdmenu te gebruiken. Raadpleeg voor meer
informatie.MarcSilverBijgedragen door fetchmail gebruikenfetchmailfetchmail is een volwaardige
client voor IMAP en POP
welke gebruikers in staat stelt om automatisch mail van
IMAP- en POP-servers op afstand
naar plaatselijke postbussen te downloaden; daar kan het
gemakkelijker worden benaderd. fetchmail
kan met de port mail/fetchmail worden
geďnstalleerd, en biedt verschillende mogelijkheden,
waaronder:Ondersteuning voor POP3,
APOP, KPOP,
IMAP, ETRN, en
ODMR protocollen.De mogelijkheid om mail via SMTP door
te sturen, wat filteren, doorsturen, en aliassen toestaat om
normaal te functioneren.Kan in daemon-modus gedraaid worden om periodiek op
nieuwe berichten te controleren.Kan verschillende postbussen ophalen en ze afhankelijk
van de instellingen naar verschillende plaatselijke
gebruikers doorsturen.Hoewel het niet de bedoeling van dit document is om alle
mogelijkheden van fetchmail uit te
leggen, zullen sommige basismogelijkheden worden uitgelegd. Het
gereedschap fetchmail heeft een
instellingenbestand .fetchmailrc nodig om
correct te kunnen werken. Dit bestand bevat zowel informatie
over de server als de inloggegevens. Vanwege de gevoelige aard
van de inhoud van dit bestand is het aan te raden om het met het
volgende commando alleen leesbaar te maken voor de eigenaar ervan
:&prompt.user; chmod 600 .fetchmailrcHet volgende .fetchmailrc dient als een
voorbeeld voor het downloaden van een postbus van een enkele
gebruiker via POP. Het vertelt
fetchmail om met example.com te verbinden als gebruiker
joesoap met wachtwoord XXX
. Dit voorbeeld gaat ervan uit dat de gebruiker
joesoap ook een gebruiker is op het
plaatselijke systeem.poll example.com protocol pop3 username "joesoap" password "XXX"Het volgende voorbeeld legt verbinding met meerdere
POP- en IMAP-servers en stuurt de
mail door naar verschillende plaatselijke gebruikers indien van
toepassing:poll example.com proto pop3:
user "joesoap", with password "XXX", is "jsoap" here;
user "andrea", with password "XXXX";
poll example2.net proto imap:
user "john", with password "XXXXX", is "myth" here;Het gereedschap fetchmail kan in
daemon-modus worden gedraaid met de vlag
gevolgd door het interval (in seconden) waarmee
fetchmail de servers die in het bestand
.fetchmailrc vermeld staan dient te vragen.
Het volgende voorbeeld zorgt ervoor dat fetchmail
elke 600 seconden vraagt:&prompt.user; fetchmail -d 600Meer informatie over fetchmail is
te vinden op .MarcSilverBijgedragen door procmail gebruikenprocmailHet gereedschap procmail is een
zeer krachtig gereedschap voor het filteren van binnenkomende
mail. Het stelt gebruikers in staat om regels te
definiëren welke aan binnenkomende mail gekoppeld kunnen
worden om specifieke taken uit te voeren of om de mail naar
alternatieve postbussen en/of emailadressen door te sturen.
procmail kan met de port mail/procmail geďnstalleerd
worden. Eenmaal geďnstalleerd kan het direct met de meeste
MTAs geďntegreerd worden; raadpleeg de
documentatie van de MTA voor meer informatie.
Als alternatief kan procmail
geďntegreerd worden door de volgende regel aan het bestand
.forward in de thuismap van de gebruiker
die procmail gebruikt toe te voegen:"|exec /usr/local/bin/procmail || exit 75"De volgende sectie geeft wat basisregels van
procmailmet een korte beschrijving ervan. Deze,
en andere, regels dienen in het bestand
.procmailrc geplaatst te worden, welke zich
in de thuismap van de gebruiker dient te bevinden.De meerderheid van deze regels kan ook in de hulppagina
&man.procmailex.5; gevonden worden.Stuur alle mail van user@example.com door naar
het externe adres goodmail@example2.com::0
* ^From.*user@example.com
! goodmail@example2.comStuur alle mails korten dan 1000 bytes door naar het externe
adres goodmail@example2.com::0
* < 1000
! goodmail@example2.comStuur alle mail verzonden aan
alternate@example.com door naar een postbus
alternate::0
* ^TOalternate@example.com
alternateStuur alle mail met het onderwerp Spam door
naar /dev/null::0
^Subject:.*Spam
/dev/nullEen handig recept dat binnenkomende &os;.org mailinglijsten parseert en
elke lijst in en eigen postbus plaatst::0
* ^Sender:.owner-freebsd-\/[^@]+@FreeBSD.ORG
{
LISTNAME=${MATCH}
:0
* LISTNAME??^\/[^@]+
FreeBSD-${MATCH}
}
diff --git a/nl_NL.ISO8859-1/books/handbook/network-servers/chapter.xml b/nl_NL.ISO8859-1/books/handbook/network-servers/chapter.xml
index 132c7bbf5e..9313db129e 100644
--- a/nl_NL.ISO8859-1/books/handbook/network-servers/chapter.xml
+++ b/nl_NL.ISO8859-1/books/handbook/network-servers/chapter.xml
@@ -1,6179 +1,6155 @@
MurrayStokelyGereorganiseerd door SiebrandMazelandVertaald door RenéLadanNetwerkdienstenOverzichtDit hoofdstuk behandelt een aantal veelgebruikte
netwerkdiensten op &unix; systemen. Er wordt ingegaan op de
installatie, het instellen, testen en beheren van verschillende
typen netwerkdiensten. Overal in dit hoofdstuk staan
voorbeeldbestanden met instellingen waar de lezer zijn voordeel
mee kan doen.Na het lezen van dit hoofdstuk weet de lezer:Hoe om te gaan met de inetd
daemon;Hoe een netwerkbestandssysteem opgezet kan worden;Hoe een netwerkinformatiedienst (NIS) opgezet kan worden
voor het delen van gebruikersaccounts;Hoe automatische netwerkinstellingen gemaakt kunnen
worden met DHCP;Hoe een domeinnaam server opgezet kan worden;Hoe een Apache HTTP Server
opgezet kan worden;Hoe een File Transfer Protocol (FTP) Server opgezet kan
worden;Hoe een bestand-- en printserver voor &windows;
cliënten opgezet kan worden met
Samba;Hoe datum en tijd gesynchroniseerd kunnen worden en hoe
een tijdserver opgezet kan worden met het NTP-protocol.Hoe het standaard log-daemon syslogd in
te stellen om logs van hosts op afstand te accepteren.Veronderstelde voorkennis:Basisbegrip van de scripts in
/etc/rc;Bekend zijn met basis netwerkterminologie;Kennis van de installatie van software van derde partijen
().ChernLeeBijgedragen door Bijgewerkt door The &os; Documentation ProjectDe inetdSuper-ServerOverzicht&man.inetd.8; wordt soms de
Internet Super-Server genoemd, omdat het
verbindingen voor meerdere diensten beheert. Als door
inetd een verbinding wordt ontvangen,
bepaalt die voor welk programma de verbinding bedoeld is,
splitst het dat proces af en delegeert de socket (het programma
wordt gestart met de socket van de dienst als zijn
standaardinvoer, -uitvoer en -foutbeschrijvingen). Het draaien
van inetd voor servers die niet veel
gebruikt worden kan de algehele werklast verminderen in
vergelijking met het draaien van elke daemon individueel in
stand-alone modus.inetd wordt primair gebruikt om
andere daemons aan te roepen, maar het handelt een aantal
triviale protocollen direct af, zoals
chargen,
auth en
daytime.In deze paragraaf worden de basisinstellingen van
inetd behandeld met de opties vanaf
de commandoregel en met het instellingenbestand
/etc/inetd.conf.Instellingeninetd wordt gestart door het
&man.rc.8;-systeem. De
optie inetd_enable staat standaard op
NO, maar kan tijdens de installatie door
sysinstall worden aangezet. Door het
plaatsen vaninetd_enable="YES"ofinetd_enable="NO"in /etc/rc.conf wordt
inetd bij het opstarten van een
systeem wel of niet ingeschakeld. Het commando:&prompt.root; service inetd rcvarkan gedraaid worden om de huidige effectieve instellingen
weer te geven.Dan kunnen er ook nog een aantal commandoregelopties aan
inetd meegegeven worden met de optie
inetd_flags.CommandoregeloptiesZoals de meeste serverdaemons heeft
inetd een aantal opties die
doorgegeven kunnen worden om het gedrag aan te passen. Zie de
handleidingpagina &man.inetd.8; voor een volledige lijst van de
opties.Opties kunnen door middel van de optie
inetd_flags in
/etc/rc.conf aan
inetd worden doorgegeven. Standaard
staat inetd_flags ingesteld op
-wW -C 60, dat TCP-wrapping aanzet voor de
diensten van inetd, en voorkomt dat
elk enkelvoudig IP-adres enige dienst meer dan 60 keer per
minuut opvraagt.Ook al worden er hieronder rate-limiting opties besproken,
beginnende gebruikers kunnen blij zijn met het feit dat deze
parameters gewoonlijk niet hoeven te worden aangepast. Deze
opties kunnen interessant zijn wanneer er een buitensporige
hoeveelheid verbindingen worden opgezet. Een volledige lijst
van opties staat in de hulppagina &man.inetd.8;.-c maximumGeeft het maximale aantal gelijktijdige verzoeken voor
iedere dienst aan. De standaard is ongelimiteerd. Kan
per dienst ter zijde geschoven worden met de parameter
.-C rateGeeft het maximale aantal keren aan dat een dienst
vanaf een bepaald IP-adres per minuut aangeroepen kan
worden. Kan per dienst ter zijde geschoven worden met de
parameter
.-R rateGeeft het maximale aantal keren aan dat een dienst
per minuut aangeroepen kan worden. De standaard is 256.
De instelling 0 geeft aan dat er geen
limiet is.-s maximumSpecificeert het maximaal aantal keer per minuut dat
een dienst aangeroepen kan worden vanuit een enkelvoudig
IP-adres; de standaard is onbeperkt. Kan worden
overstemd op een per-dienst-basis met de parameter
.inetd.confDe instellingen van inetd
worden beheerd in /etc/inetd.conf.Als er een wijziging wordt aangebracht in
/etc/inetd.conf, dan kan
inetd gedwongen worden om de
instellingen opnieuw in te lezen door dit commando te draaien:Het instellingenbestand van inetd
herladen&prompt.root; service inetd reloadIedere regel in het bestand met instellingen heeft
betrekking op een individuele daemon. Commentaar wordt vooraf
gegaan door een #. De opmaak van elke regel
van /etc/inetd.conf is als volgt:service-name
socket-type
protocol
{wait|nowait}[/max-child[/max-connections-per-ip-per-minute[/max-child-per-ip]]]
user[:group][/login-class]
server-program
server-program-argumentsEen voorbeeldregel voor de daemon &man.ftpd.8; met IPv4 kan
eruit zien als:ftp stream tcp nowait root /usr/libexec/ftpd ftpd -lservice-nameDit is de dienstnaam van een daemon. Die moet
overeenkomen met een dienst uit
/etc/services. Hiermee kan de
poort waarop inetd moet
luisteren aangegeven worden. Als er een nieuwe dienst
wordt gemaakt, moet die eerst in
/etc/services gezet worden.socket-typeDit is stream,
dgram, raw of
seqpacket. stream
moet gebruikt worden voor verbindingsgebaseerde
TCP-daemons, terwijl dgram wordt
gebruikt voor daemons die gebruik maken van het
transportprotocol UDP.protocolEen van de volgende:ProtocolToelichtingtcp, tcp4TCP IPv4udp, udp4UDP IPv4tcp6TCP IPv6udp6UDP IPv6tcp46Zowel TCP IPv4 als v6udp46Zowel UDP IPv4 als v6{wait|nowait}[/max-child[/max-connections-per-ip-per-minute[/max-child-per-ip]]] geeft aan of de daemon
die door inetd wordt
aangesproken zijn eigen sockets kan afhandelen of niet.
sockettypen moeten de optie
gebruiken, terwijl streamsocket
daemons, die meestal multi-threaded zijn, de optie
horen te gebruiken.
geeft meestal meerdere sockets aan
een daemon, terwijl een kinddaemon
draait voor iedere nieuwe socket.Het maximum aantal kinddaemons dat
inetd mag voortbrengen kan
ingesteld worden met de optie .
Als een limiet van tien instanties van een bepaalde
daemon gewenst is, dan zou er /10
achter gezet worden. Door
/0 wordt een onbeperkt aantal kinderen
toegestaan.Naast zijn er nog twee
andere opties waarmee het maximale aantal verbindingen van
een bepaalde plaats naar een daemon ingesteld kan worden.
beperkt
het aantal verbindingen per minuut voor enig IP-adres, een
waarde van tien betekent hier dat er van ieder IP-adres
maximaal tien verbindingen naar een bepaalde dienst tot
stand gebracht kunnen worden.
beperkt het aantal
kindprocessen dat namens enig IP-adres op enig moment
gestart kan worden. Deze opties kunnen zijn nuttig om
bedoeld en onbedoeld buitensporig bronnengebruik van en
Denial of Service (DoS) aanvallen op een machine te
voorkomen.In dit veld is één van
of
verplicht. ,
en
zijn optioneel.Een stream-type multi-threaded daemon zonder
één van de limieten
,
of
is eenvoudigweg:
nowait.Dezelfde daemon met een maximale limiet van tien
daemons zou zijn: nowait/10.Dezelfde instellingen met een limiet van twintig
verbindingen per IP-adres per minuut en een totaal maximum
van tien kinddaemons zou zijn:
nowait/10/20.Deze opties worden allemaal gebruikt door de
standaardinstellingen van de daemon &man.fingerd.8;:finger stream tcp nowait/3/10 nobody /usr/libexec/fingerd fingerd -sAls afsluiting, een voorbeeld in dit veld met een
maximum van 100 kinderen in totaal, met een maximum van 5
voor enig IP-adres zou zijn:
nowait/100/0/5.userDit is de gebruikersnaam waar een daemon onder
draait. Daemons draaien meestal als de gebruiker
root. Om veiligheidsredenen draaien
sommige daemons onder de gebruiker
daemon of de gebruiker met de minste
rechten: nobody.server-programHet volledige pad van de daemon die uitgevoerd moet
worden als er een verbinding wordt ontvangen. Als de
daemon een dienst is die door
inetd intern wordt geleverd,
dan moet de optie gebruikt
worden.server-program-argumentsDeze optie werkt samen met de optie
en hierin worden de
argumenten ingesteld, beginnend met
argv[0], die bij het starten aan de
daemon worden meegegeven. Als
mijndaemon -d de commandoregel is,
dan zou mijndaemon -d de waarde van
zijn. Hier
geldt ook dat als de daemon een interne dienst is, hier
de optie moet worden.BeveiligingAfhankelijk van keuzes gemaakt tijdens de installatie,
kunnen veel van de diensten van inetd
standaard ingeschakeld zijn. Het is verstandig te overwegen om
een daemon dat niet noodzakelijk is uit te schakelen. Plaats
een # voor de daemon in
/etc/inetd.conf en herlaad vervolgens de
instellingen van inetd. Sommige daemons, zoals
fingerd, zijn wellicht helemaal niet
gewenst omdat ze informatie geven die nuttig kan zijn voor een
aanvaller.Sommige daemons zijn zich niet echt bewust van beveiliging
en hebben lange of niet bestaande timeouts voor
verbindingspogingen. Hierdoor kan een aanvaller langzaam veel
verbindingen maken met een daemon en zo beschikbare bronnen
verzadigen. Het is verstandig voor die daemons de limietopties
,
of
te gebruiken als ze naar uw smaak teveel verbindingen hebben.TCP-wrapping staat standaard aan. Er staat meer informatie
over het zetten van TCP-restricties op de verschillende daemons
die door inetd worden aangesproken
in &man.hosts.access.5;.Allerleidaytime,
time,
echo,
discard,
chargen en
auth zijn allemaal interne diensten
van inetd.De dienst auth biedt
identiteitsnetwerkdiensten en is tot op een bepaald niveau
instelbaar, terwijl de anderen eenvoudigweg aan of uit staan.Meer diepgaande informatie staat in &man.inetd.8;.TomRhodesGereorganiseerd en verbeterd door BillSwingleGeschreven door Netwerkbestandssysteem (NFS)NFSHet Netwerkbestandssysteem (Network File System) is een van
de vele bestandssystemen die &os; ondersteunt. Het staat ook wel
bekend als NFS.
Met NFS is het
mogelijk om mappen en bestanden met anderen in een netwerk te
delen. Door het gebruik van NFS kunnen gebruikers en
programma's bij bestanden op andere systemen op bijna dezelfde
manier als bij hun eigen lokale bestanden.De grootste voordelen van NFS zijn:Lokale werkstations gebruiken minder schijfruimte omdat
veel gebruikte data op één machine opgeslagen
kan worden en nog steeds toegankelijk is voor gebruikers via
het netwerk;Gebruikers hoeven niet op iedere machine een thuismap te
hebben. Thuismappen kunnen op de NFS
server staan en op het hele netwerk beschikbaar zijn;Opslagapparaten als floppydisks, CD-ROM drives en
&iomegazip; drives kunnen door andere machines op een netwerk
gebruikt worden. Hierdoor kan het aantal drives met
verwijderbare media in een netwerk verkleind worden.Hoe NFS werktNFS bestaat uit tenminste twee
hoofdonderdelen: een server en een of meer cliënten. De
cliënt benadert de gegevens die op een servermachine zijn
opgeslagen via een netwerk. Om dit mogelijk te maken moeten er
een aantal processen ingesteld en gestart worden.Op de server moeten de volgende daemons draaien:NFSserverbestandsserverUNIX cliëntenrpcbindmountdnfsdDaemonBeschrijvingnfsdDe NFS-daemon die verzoeken van
de NFS cliënten afhandelt.mountdDe NFS koppeldaemon die
doorgestuurde verzoeken van &man.nfsd.8;
uitvoert.rpcbindDeze daemon geeft voor
NFS-cliënten aan welke poort de
NFS-server gebruikt.Op de cliënt kan ook een daemon draaien:
nfsiod. De daemon
nfsiod handelt verzoeken van de
NFS-server af. Dit is optioneel en kan de
prestaties verbeteren, maar het is niet noodzakelijk voor een
normale en correcte werking. Meer informatie staat in
&man.nfsiod.8;.NFS instellenNFSinstellenNFS instellen gaat redelijk rechtlijnig.
Alle processen die moeten draaien kunnen meestarten bij het
opstarten door een paar wijzigingen in
/etc/rc.conf.Op de NFS server dienen de volgende
opties in /etc/rc.conf te staan:rpcbind_enable="YES"
nfs_server_enable="YES"
mountd_flags="-r"mountd start automatisch als de
NFS server is ingeschakeld.Op de cliënt dient de volgende optie in
/etc/rc.conf te staan:nfs_client_enable="YES"In het bestand /etc/exports staat
beschreven welke bestandssystemen NFS moet
exporteren (soms heet dat ook wel delen of
sharen). Iedere regel in
/etc/exports slaat op een bestandssysteem
dat wordt geëxporteerd en welke machines toegang hebben
tot dat bestandssysteem. Samen met machines die toegang hebben,
kunnen ook toegangsopties worden aangegeven. Er zijn veel
opties beschikbaar, maar hier worden er maar een paar
beschreven. Alle opties staan beschreven in
&man.exports.5;.Nu volgen een aantal voorbeelden voor
/etc/exports:NFSexportvoorbeeldenHet volgende voorbeeld geeft een beeld van hoe een
bestandssysteem te exporteren, hoewel de instellingen
afhankelijk zijn van de omgeving en het netwerk. Om
bijvoorbeeld de map /cdrom te exporteren
naar drie machines die dezelfde domeinnaam hebben als de server
(vandaar dat de machinenamen geef domeinachtervoegsel hebben)
of in /etc/hosts staan. De vlag
exporteert het bestandssysteem als
alleen–lezen. Door die vlag kan een ander systeem niet
schrijven naar het geëxporteerde bestandssysteem./cdrom -ro host1 host2 host3Het volgende voorbeeld exporteert
/home naar drie hosts op basis van
IP-adres. Dit heeft zin als er een privaat netwerk bestaat,
zonder dat er een DNS server is ingesteld.
Optioneel kan /etc/hosts gebruikt worden
om interne hostnamen in te stellen. Er is meer informatie te
vinden in &man.hosts.5;. Met de vlag
mogen submappen ook koppelpunten zijn. De submap wordt dan niet
feitelijk aangekoppeld, maar de cliënt koppelt dan alleen
de submappen aan die verplicht of nodig zijn./home -alldirs 10.0.0.2 10.0.0.3 10.0.0.4Het volgende voorbeeld exporteert /a
zo dat twee cliënten uit verschillende domeinen bij het
bestandssysteem mogen. Met de vlag
mag de gebruiker op het
andere systeem gegevens naar het geëxporteerde
bestandssysteem schrijven als root. Als
de vlag niet wordt gebruikt, dan
kan een gebruiker geen bestanden wijzigen op het
geëxporteerde bestandssysteem, zelfs niet als een gebruiker
daar root is./a -maproot=root host.example.com box.example.orgOm een cliënt toegang te geven tot een
geëxporteerd bestandssysteem, moet die cliënt daar
rechten voor hebben. De cliënt moet daarvoor genoemd
worden in /etc/exports.In /etc/exports staat iedere regel voor
de exportinformatie van één bestandssysteem naar
één host. Per bestandssysteem mag een host maar
één keer genoemd worden en mag maar
één standaard hebben. Stel bijvoorbeeld dat
/usr een enkel bestandssysteem is. Dan is
de volgende /etc/exports niet geldig:># Werkt niet als /usr 1 bestandssysteem is
/usr/src client
/usr/ports clientEén bestandssysteem, /usr,
heeft twee regels waarin exports naar dezelfde host worden
aangegeven, client. In deze situatie is de
juiste instelling:/usr/src /usr/ports clientDe eigenschappen van een bestandssysteem dat naar een
bepaalde host wordt geëxporteerd moeten allemaal op
één regel staan. Regels waarop geen cliënt
wordt aangegeven worden behandeld als een enkele host. Dit
beperkt hoe bestandssysteem geëxporteerd kunnen worden,
maar dat blijkt meestal geen probleem te zijn.Het volgende voorbeeld is een geldige exportlijst waar
/usr en /exports
lokale bestandssystemen zijn:# Exporteer src en ports naar client01 en client02,
# maar alleen client01 heeft er rootprivileges
/usr/src /usr/ports -maproot=root client01
/usr/src /usr/ports client02
# De cliëntmachines hebben rootrechten en kunnen overal aankoppelen
# op /exports. Iedereen in de wereld kan /exports/obj als alleen-lezen aankoppelen.
/exports -alldirs -maproot=root client01 client02
/exports/obj -roDe daemon mountd moet gedwongen
worden om het bestand /etc/exports te
controleren steeds wanneer het is aangepast, zodat de
veranderingen effectief kunnen worden. Dit kan worden bereikt
door ňfwel een HUP-signaal naar de draaiende daemon te
sturen:&prompt.root; kill -HUP `cat /var/run/mountd.pid`of door het &man.rc.8; script mountd met
de juiste parameter aan te roepen:&prompt.root; service mountd onereloadRaadpleeg voor meer
informatie over het gebruik van rc-scripts.Het is ook mogelijk een machine te herstarten, zodat &os;
alles netjes in kan stellen, maar dat is niet nodig. Het
uitvoeren van de volgende commando's als
root hoort hetzelfde resultaat te
hebben.Op de NFS server:&prompt.root; rpcbind
&prompt.root; nfsd -u -t -n 4
&prompt.root; mountd -rOp de NFS cliënt:&prompt.root; nfsiod -n 4Nu is alles klaar om feitelijk het netwerkbestandssysteem
aan te koppelen. In de volgende voorbeelden is de naam van de
server server en de naam van de cliënt is
client. Om een netwerkbestandssysteem slechts
tijdelijk aan te koppelen of om alleen te testen, kan een
commando als het onderstaande als root op
de cliënt uitgevoerd worden:NFSaankoppelen&prompt.root; mount server:/home /mntHiermee wordt de map /home op de server
aangekoppeld op /mnt op de cliënt.
Als alles juist is ingesteld, zijn nu in
/mnt op de cliënt de bestanden van de
server zichtbaar.Om een netwerkbestandssysteem iedere keer als een computer
opstart aan te koppelen, kan het bestandssysteem worden
toegevoegd aan het bestand /etc/fstab:server:/home /mnt nfs rw 0 0Alle beschikbare opties staan in &man.fstab.5;.Op slot zettenVoor sommige applicaties (b.v.
mutt) is het nodig dat bestanden op
slot staan om correct te werken. In het geval van
NFS, kan rpc.lockd
worden gebruikt voor het op slot zetten van bestanden. Voeg het
volgende toe aan het bestand /etc/rc.conf
op zowel de cliënt als de server om het aan te zetten (het
wordt aangenomen dat de NFS-cliënt en
-server reeds zijn geconfigureerd):rpc_lockd_enable="YES"
rpc_statd_enable="YES"Start de applicatie met:&prompt.root; service lockd start
&prompt.root; service statd startAls echt op slot zetten tussen de
NFS-cliënten en de
NFS-server niet nodig is, is het mogelijk om
de NFS-cliënt bestanden lokaal op slot
te laten zetten door aan &man.mount.nfs.8;
door te geven. In de handleidingpagina &man.mount.nfs.8; staan
verdere details.Mogelijkheden voor gebruikNFS is voor veel doeleinden in te zetten.
Een aantal voorbeelden:NFSgebruikEen aantal machines een CD-ROM of andere media laten
delen. Dat is goedkoper en vaak ook handiger, bijvoorbeeld
bij het installeren van software op meerdere
machines;Op grote netwerken kan het praktisch zijn om een
centrale NFS server in te richten,
waarop alle thuismappen staan. Die thuismappen kunnen dan
geëxporteerd worden, zodat gebruikers altijd
dezelfde thuismap hebben, op welk werkstation ze ook
aanmelden;Meerdere machines kunnen een gezamenlijke map
/usr/ports/distfiles hebben. Dan is
het mogelijk om een port op meerdere machines te
installeren, zonder op iedere machine de broncode te hoeven
downloaden.WylieStilwellGeschreven door ChernLeeHerschreven door Automatisch aankoppelen met
amdamdautomatic mounter daemon&man.amd.8; (de automatic mounter daemon) koppelt
automatisch netwerkbestandssystemen aan als er aan een bestand
of map binnen dat bestandssysteem wordt gerefereerd.
amd ontkoppelt ook bestandssystemen
die een bepaalde tijd niet gebruikt worden. Het gebruikt van
amd is een aantrekkelijk en eenvoudig
alternatief ten opzichte van permanente koppelingen, die meestal
in /etc/fstab staan.amd werkt door zichzelf als
NFS-server te koppelen aan de mappen /host
en /net. Als binnen die mappen een bestand
wordt geraadpleegd, dan zoekt amd de
bijbehorende netwerkkoppeling op en koppelt die automatisch aan.
/net wordt gebruikt om een
geëxporteerd bestandssysteem van een IP-adres aan te
koppelen, terwijl /host wordt gebruikt om
een geëxporteerd bestandssysteem van een hostnaam aan te
koppelen.Het raadplegen van een bestand in
/host/foobar/usr geeft
amd aan dat die moet proberen de
/usr export op de host
foobar aan te koppelen.Een export aankoppelen met
amdDe beschikbare koppelingen van een netwerkhost zijn te
bekijken met showmount. Om bijvoorbeeld
de koppelingen van de host foobar te
bekijken:&prompt.user; showmount -e foobar
Exports list on foobar:
/usr 10.10.10.0
/a 10.10.10.0
&prompt.user; cd /host/foobar/usrZoals in het bovenstaande voorbeeld te zien is, toont
showmount/usr als een
export. Als er naar de map
/host/foobar/usr wordt gegaan, probeert
amd de hostnaam
foobar te resolven en de gewenste export
automatisch aan te koppelen.amd kan gestart worden door de
opstartscript door de volgende regel in
/etc/rc.conf te plaatsen:amd_enable="YES"Er kunnen ook nog opties meegegeven worden aan
amd met de optie
amd_flags. Standaard staat
amd_flags ingesteld op:amd_flags="-a /.amd_mnt -l syslog /host /etc/amd.map /net /etc/amd.map"In het bestand /etc/amd.map staan
de standaardinstellingen waarmee exports aangekoppeld worden.
In het bestand /etc/amd.conf staan een
aantal van de meer gevorderde instellingen van
amd.In &man.amd.8; en &man.amd.conf.5; staat meer
informatie.JohnLindGeschreven door Problemen bij samenwerking met andere systemenBepaalde Ethernet adapters voor ISA PC systemen kennen
limieten die tot serieuze netwerkproblemen kunnen leiden, in
het bijzonder met NFS. Dit probleem is niet specifiek voor
&os;, maar het kan op &os; wel voor komen.Het probleem ontstaat bijna altijd als (&os;) PC-systemen
netwerken met hoog presterende werkstations, zoals van Silicon
Graphics, Inc. en Sun Microsystems, Inc. De NFS-koppeling werkt
prima en wellicht lukken een aantal acties ook, maar dan ineens
lijkt de server niet meer te reageren voor de cliënt,
hoewel verzoeken van en naar andere systemen gewoon verwerkt
worden. Dit gebeurt op een cliëntsysteem, of de
cliënt nu het &os; systeem is of het werkstation. Op veel
systemen is er geen manier om de cliënt netjes af te
sluiten als dit probleem is ontstaan. Vaak is de enige
mogelijkheid een reset van de cliënt, omdat het probleem
met NFS niet opgelost kan worden.Hoewel de enige correcte oplossing de
aanschaf van een snellere en betere Ethernet adapter voor het
&os; systeem is, is er zo om het probleem heen te werken dat het
werkbaar is. Als &os; de server is, kan de
optie gebruikt worden bij het
aankoppelen door de cliënt. Als het &os; systeem de
cliënt is, dan dient het
NFS-bestandssysteem aangekoppeld te worden met de optie
. Deze opties kunnen het vierde
veld zijn in een regel in fstab voor
automatische aankoppelingen en bij handmatige aankoppelingen met
&man.mount.8; kan de parameter gebruikt
worden.Soms wordt een ander probleem voor dit probleem versleten,
als servers en cliënten zich op verschillende netwerken
bevinden. Als dat het geval is, dan dient
vastgesteld te worden dat routers de
UDP informatie op de juiste wijze routeren,
omdat er anders nooit NFS-verkeer gerouteerd kan worden.In de volgende voorbeelden is fastws de
host(interface)naam van een hoog presterend werkstation en
freebox is de host(interface)naam van een &os;
systeem met een Ethernet adapter die mindere prestaties levert.
/sharedfs wordt het geëxporteerde
NFS-bestandssysteem (zie &man.exports.5;) en
/project wordt het koppelpunt voor het
geëxporteerde bestandssysteem op de cliënt.In sommige gevallen kunnen applicaties beter draaien als
extra opties als of
en gebruikt
worden.Voorbeelden voor het &os; systeem (freebox)
als de cliënt in /etc/fstab op
freebox:fastws:/sharedfs /project nfs rw,-r=1024 0 0Als een handmatig aankoppelcommando op
freebox:&prompt.root; mount -t nfs -o -r=1024 fastws:/sharedfs /projectVoorbeelden voor het &os; systeem als de server in
/etc/fstab op
fastws:freebox:/sharedfs /project nfs rw,-w=1024 0 0Als een handmatig aankoppelcommando op
fastws:&prompt.root; mount -t nfs -o -w=1024 freebox:/sharedfs /projectBijna iedere 16–bit Ethernet adapter werkt zonder de
hierboven beschreven restricties op de lees- en
schrijfgrootte.Voor wie het wil weten wordt nu beschreven wat er gebeurt
als de fout ontstaan, wat ook duidelijk maakt waarom het niet
hersteld kan worden. NFS werkt meestal met een
blockgrootte van 8 K (hoewel het mogelijk
is dat er kleinere fragmenten worden verwerkt). Omdat de
maximale grootte van een Ethernet pakket rond de 1500 bytes
ligt, wordt een block opgesplitst in meerdere
Ethernetpakketten, hoewel het hoger in de code nog steeds
één eenheid is, en wordt ontvangen, samengevoegd en
bevestigd als een eenheid. De hoog
presterende werkstations kunnen de pakketten waaruit een
NFS-eenheid bestaat bijzonder snel naar buiten pompen. Op de
kaarten met minder capaciteit worden de eerdere pakketten door
de latere pakketten van dezelfde eenheid ingehaald voordat ze
bij die host zijn aangekomen en daarom kan de eenheid niet
worden samengesteld en bevestigd. Als gevolg daarvan ontstaat
er op het werkstation een timeout en probeert die de eenheid
opnieuw te sturen, maar dan weer de hele eenheid van 8 K,
waardoor het proces wordt herhaald, ad infinitum.Door de grootte van de eenheid kleiner te houden dan de
grootte van een Ethernet pakket, is het zeker dat elk
Ethernetpakket dat compleet is aangekomen bevestigd kan worden,
zodat de deadlock niet ontstaat.Toch kan een PC systeem nog wel overrompeld worden als hoog
presterende werkstations er op inhakken, maar met de betere
netwerkkaarten valt het dan in ieder geval niet om door de NFS
eenheden. Als het systeem toch wordt
overrompeld, dan worden de betrokken eenheden opnieuw verstuurd
en dan is de kans groot dat ze worden ontvangen, samengevoegd en
bevestigd.BillSwingleGeschreven door EricOgrenVerbeterd door UdoErdelhoffNetwerkinformatiesysteem (NIS/YP)Wat is het?NISSolarisHP-UXAIXLinuxNetBSDOpenBSDNIS,
dat staat voor Netwerkinformatiediensten (Network Information
Services), is ontwikkeld door Sun Microsystems om het beheer van
&unix; (origineel &sunos;) systemen te centraliseren.
Tegenwoordig is het eigenlijk een industriestandaard geworden.
Alle grote &unix; achtige systemen (&solaris;, HP-UX, &aix;,
&linux;, NetBSD, OpenBSD, &os;, enzovoort) ondersteunen NIS.yellow pagesNISNIS
stond vroeger bekend als Yellow Pages, maar vanwege problemen
met het handelsmerk heeft Sun de naam veranderd. De oude term,
en yp, wordt nog steeds vaak gebruikt.NISdomeinenHet is een op RPC-gebaseerd cliënt/serversysteem
waarmee een groep machines binnen een NIS-domein een
gezamenlijke verzameling met instellingenbestanden kan delen.
Hierdoor kan een beheerder NIS-systemen opzetten met een
minimaal aantal instellingen en vanaf een centrale lokatie
instellingen toevoegen, verwijderen en wijzigen.Windows NTHet is te vergelijken met het &windowsnt; domeinsysteem en
hoewel de interne implementatie van de twee helemaal niet
overeenkomt, is de basisfunctionaliteit vergelijkbaar.Termen en processen om te onthoudenEr zijn een aantal termen en belangrijke
gebruikersprocessen die een rol spelen bij het implementeren
van NIS op &os;, zowel bij het maken van een NIS-server als bij
het maken van een systeem dan NIS-cliënt is:rpcbindportmapTermBeschrijvingNIS-domeinnaamEen NIS-masterserver en al zijn cliënten
(inclusief zijn slave master) hebben een NIS-domeinnaam.
Vergelijkbaar met een &windowsnt; domeinnaam, maar de
NIS-domeinnaam heeft niets te maken met
DNS.rpcbindMoet draaien om RPC (Remote
Procedure Call in te schakelen, een netwerkprotocol dat
door NIS gebruikt wordt). Als
rpcbind niet draait, dan kan
er geen NIS-server draaien en kan een machine ook geen
NIS-cliënt zijn.ypbindVerbindt een NIS-cliënt aan
zijn NIS-server. Dat gebeurt door met de NIS-domeinnaam
van het systeem en door het gebruik van
RPC te verbinden met de server.
ypbind is de kern van
cliënt-server communicatie in een NIS-omgeving.
Als ypbind op een machine
stopt, dan kan die niet meer bij de NIS-server komen.ypservHoort alleen te draaien op NIS-servers. Dit is
het NIS-serverproces zelf. Als &man.ypserv.8; stopt,
dan kan de server niet langer reageren op NIS-verzoeken
(hopelijk is er dan een slaveserver om het over te
nemen). Er zijn een aantal implementaties van NIS, maar
niet die op &os;, die geen verbinding met een andere
server proberen te maken als de server waarmee ze
verbonden waren niet meer reageert. In dat geval is
vaak het enige dat werkt het serverproces herstarten (of
zelfs de hele server) of het
ypbind-proces op de
cliënt.rpc.yppasswddNog een proces dat alleen op NIS-masterservers
hoort te draaien. Dit is een daemon waarbij
NIS-cliënten hun NIS-wachtwoorden kunnen wijzigen.
Als deze daemon niet draait, moeten gebruikers zich
aanmelden op de NIS-masterserver en daar hun wachtwoord
wijzigen.Hoe werkt het?Er zijn drie typen hosts in een NIS-omgeving: master
servers, slaveservers en cliënten. Servers zijn het
centrale depot voor instellingen voor een host. Masterservers
bevatten de geautoriseerd kopie van die informatie, terwijl
slaveservers die informatie spiegelen voor redundantie.
Cliënten verlaten zich op de servers om hun die informatie
ter beschikking te stellen.Op deze manier kan informatie uit veel bestanden gedeeld
worden. De bestanden master.passwd,
group en hosts
worden meestal via NIS gedeeld. Als een proces op een
cliënt informatie nodig heeft die normaliter in een van die
lokale bestanden staat, dan vraagt die het in plaats daarvan aan
de NIS-servers waarmee hij verbonden is.Soorten machines
-
- NIS
-
- masterserver
-
-
- Een NIS-masterserver. Deze
+ Een NIS-masterserverNISmasterserver. Deze
server onderhoudt, analoog aan een &windowsnt; primaire
domeincontroller, de bestanden die door alle
NIS-cliënten gebruikt worden. De bestanden
passwd, group en
andere bestanden die door de NIS-cliënten gebruikt
worden staan op de masterserver.Het is mogelijk om één machine master
server te laten zijn voor meerdere NIS-domeinen. Dat
wordt in deze inleiding echter niet beschreven, omdat
die uitgaat van een relatief kleine omgeving.
-
- NIS
-
- slaveserver
-
-
- NIS-slaveservers. Deze zijn
+ NIS-slaveserversNISslaveserver. Deze zijn
te vergelijken met &windowsnt; backup domain controllers.
NIS-slaveservers beheren een kopie van de bestanden met
gegevens op de NIS-master. NIS-slaveservers bieden
redundantie, die nodig is in belangrijke omgevingen. Ze
helpen ook om de belasting te verdelen met de master
server: NIS-cliënten maken altijd een verbinding met
de NIS-server die het eerst reageert en dat geldt ook voor
antwoorden van slaveservers.
-
- NIS
-
- cliënt
-
-
- NIS-cliënten.
+ NIS-cliëntenNIScliënt.
NIS-cliënten authenticeren, net als de meeste
&windowsnt; werkstations, tegen de NIS-server (of de
&windowsnt; domain controller in het geval van &windowsnt;
werkstations) bij het aanmelden.NIS/YP gebruikenDit onderdeel behandelt het opzetten van een
NIS-voorbeeldomgeving.PlannenEr wordt uitgegaan van een beheerder van een klein
universiteitslab. Dat lab, dat bestaat uit &os; machines,
kent op dit moment geen centraal beheer. Iedere machine heeft
zijn eigen /etc/passwd en
/etc/master.passwd. Die bestanden worden
alleen met elkaar in lijn gehouden door handmatige
handelingen. Als er op dit moment een gebruiker aan het lab
wordt toegevoegd, moet adduser op alle 15
machines gedraaid worden. Dat moet natuurlijk veranderen en
daarom is besloten het lab in te richten met NIS, waarbij twee
machines als server worden gebruikt.Het lab ziet er ongeveer als volgt uit:MachinenaamIP-adresRol Machineellington10.0.0.2NIS-mastercoltrane10.0.0.3NIS-slavebasie10.0.0.4Wetenschappelijk werkstationbird10.0.0.5Cliënt machinecli[1-11]10.0.0.[6-17]Andere cliënt machinesBij het voor de eerste keer instellen van een NIS-schema
is het verstandig eerst na te denken over hoe dat opgezet moet
worden. Hoe groot een netwerk ook is, er moeten een aantal
beslissingen gemaakt worden.Een NIS-domeinnaam kiezenNISdomeinnaamDit is wellicht niet de bekende
domeinnaam. Daarom wordt het ook de
NIS-domeinnaam genoemd. Bij de broadcast
van een cliënt om informatie wordt ook de naam van het
NIS-domein waar hij onderdeel van uitmaakt meegezonden. Zo
kunnen meerdere servers op een netwerk bepalen of er
antwoord gegeven dient te worden op een verzoek. De
NIS-domeinnaam kan voorgesteld worden als de naam van een
groep hosts die op een of andere manier aan elkaar
gerelateerd zijn.Sommige organisaties kiezen hun Internet-domeinnaam als
NIS-domeinnaam. Dat wordt niet aangeraden omdat het voor
verwarring kan zorgen bij het debuggen van netwerkproblemen.
De NIS-domeinnaam moet uniek zijn binnen een netwerk en het
is handig als die de groep machines beschrijft waarvoor hij
geldt. Zo kan bijvoorbeeld de financiële afdeling van
Acme Inc. als NIS-domeinnaam acme-fin hebben.
In dit voorbeeld wordt de naam
test-domain gekozen.SunOSSommige besturingssystemen gebruiken echter (met name
&sunos;) hun NIS-domeinnaam als hun Internet-domeinnaam.
Als er machines zijn op een netwerk die deze restrictie
kennen, dan moet de Internet-domeinnaam
als de naam voor het NIS-domeinnaam gekozen worden.SysteemeisenBij het kiezen van een machine die als NIS-server wordt
gebruikt zijn er een aantal aandachtspunten. Een van de
onhandige dingen aan NIS is de afhankelijkheid van de
cliënten van de server. Als een cliënt de server
voor zijn NIS-domein niet kan bereiken, dan wordt die
machine vaak onbruikbaar. Door het gebrek aan gebruiker- en
groepsinformatie bevriezen de meeste systemen. Daarom moet
er een machine gekozen worden die niet vaak herstart hoeft
te worden of wordt gebruikt voor ontwikkeling. De
NIS-server is in het meest ideale geval een alleenstaande
server die als enige doel heeft NIS-server te zijn. Als een
netwerk niet zwaar wordt gebruikt, kan de NIS-server op een
machine die ook andere diensten aanbiedt gezet worden, maar
het blijft belangrijk om ervan bewust te zijn dat als de
NIS-server niet beschikbaar is, dat nadelige invloed heeft
op alle NIS-cliënten.NIS-serversDe hoofdversies van alle NIS-informatie staan opgeslagen
op één machine die de NIS-masterserver heet. De
databases waarin de informatie wordt opgeslagen heten
NIS-afbeeldingen. In &os; worden die afbeeldingen opgeslagen
in /var/yp/[domeinnaam] waar
[domeinnaam] de naam is van het
NIS-domein dat wordt bediend. Een enkele NIS-server kan
tegelijkertijd meerdere NIS-domeinen ondersteunen en het is
dus mogelijk dat er meerdere van zulke mappen zijn, een voor
ieder ondersteund domein. Ieder domein heeft zijn eigen
onafhankelijke verzameling afbeeldingen.In NIS-master- en -slaveservers worden alle NIS-verzoeken
door de daemon ypserv afgehandeld.
ypserv is verantwoordelijk voor het
ontvangen van inkomende verzoeken van NIS-cliënten, het
vertalen van de gevraagde domeinnaam en mapnaam naar een pad
naar het corresponderende databasebestand en het terugsturen
van de database naar de cliënten.Een NIS-masterserver opzettenNISserver opzettenHet opzetten van een master NIS-server kan erg
eenvoudig zijn, afhankelijk van de behoeften. &os; heeft
ondersteuning voor NIS als basisfunctie. Alleen de volgende
regels hoeven aan /etc/rc.conf
toegevoegd te worden en &os; doet de rest:nisdomainname="test-domain"
Deze regel stelt de NIS-domeinnaam in op
test-domain bij het instellen van het
netwerk (bij het opstarten).nis_server_enable="YES"
Dit geeft &os; aan de NIS-serverprocessen te starten
als het netwerk de volgende keer wordt opgestart.nis_yppasswdd_enable="YES"
Dit schakelt de daemon rpc.yppasswdd
in die, zoals al eerder aangegeven, cliënten
toestaat om hun NIS-wachtwoord vanaf een
cliënt-machine te wijzigen.Afhankelijk van de inrichting van NIS, kunnen er nog
meer instellingen nodig zijn. In het onderdeel NIS-servers die
ook NIS-cliënten zijn staan meer details.Draai na het instellen van bovenstaande regels het commando
/etc/netstart als supergebruiker. Het zal alles
voor u instellen, gebruikmakende van de waarden die u in
/etc/rc.conf heeft ingesteld. Start als
laatste stap, voor het initialiseren van de NIS-afbeeldingen, de
daemon ypserv handmatig:&prompt.root; service ypserv startNIS-afbeeldingen initialiserenNISafbeeldingenDie NIS-afbeeldingen zijn
databasebestanden die in de map /var/yp
staan. Ze worden gemaakt uit de bestanden met instellingen
uit de map /etc van de NIS-master, met
één uitzondering:
/etc/master.passwd. Daar is een goede
reden voor, want het is niet wenselijk om de wachtwoorden
voor root en andere administratieve
accounts naar alle servers in het NIS-domein te sturen.
Daar moet voor het initialiseren van de NIS-afbeeldingen het
volgende uitgevoerd worden:&prompt.root; cp /etc/master.passwd /var/yp/master.passwd
&prompt.root; cd /var/yp
&prompt.root; vi master.passwdDan horen alle systeemaccounts verwijderd te worden
(bin, tty,
kmem, games,
enzovoort) en alle overige accounts waarvoor het niet
wenselijk is dat ze op de NIS-cliënten terecht komen
(bijvoorbeeld root en alle andere UID 0
(supergebruiker) accounts)./var/yp/master.passwd hoort niet
te lezen te zijn voor een groep of voor de wereld (dus
modus 600)! Voor het aanpassen van de rechten kan
chmod gebruikt worden.Tru64 UNIXAls dat is gedaan, kunnen de NIS-afbeeldingen
geďnitialiseerd worden. Bij &os; zit een script
ypinit waarmee dit kan (in de hulppagina
staat meer informatie). Dit script is beschikbaar op de
meeste &unix; besturingssystemen, maar niet op allemaal.
Op Digital UNIX/Compaq Tru64 UNIX heet het
ypsetup. Omdat er afbeeldingen voor een
NIS-master worden gemaakt, wordt de optie
meegegeven aan
ypinit. Aangenomen dat de voorgaande
stappen zijn uitgevoerd, kunnen de NIS-afbeeldingen gemaakt
worden op de volgende manier:ellington&prompt.root; ypinit -m test-domain
Server Type: MASTER Domain: test-domain
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
[..uitvoer van het maken van de afbeeldingen..]
NIS Map update completed.
ellington has been setup as an YP master server without any errors.ypinit hoort
/var/yp/Makefile gemaakt te hebben uit
/var/yp/Makefile.dist. Als dit bestand is
gemaakt, neemt dat bestand aan dat er in een omgeving met
een enkele NIS-server wordt gewerkt met alleen
&os;-machines. Omdat test-domain ook een
slaveserver bevat, dient
/var/yp/Makefile gewijzigd te
worden:ellington&prompt.root; vi /var/yp/MakefileAls de onderstaande regel niet al uitgecommentarieerd
is, dient dat alsnog te gebeuren:NOPUSH = "True"Een NIS-slaveserver opzettenNISslaveserverHet opzetten van een NIS-slaveserver is nog makkelijker
dan het opzetten van de master. Dit kan door aan te melden
op de slaveserver en net als voor de masterserver
/etc/rc.conf te wijzigen. Het enige
verschil is dat nu de optie
gebruikt wordt voor het draaien van
ypinit. Met de optie
moet ook de naam van de NIS-master
meegegeven worden. Het commando ziet er dus als volgt uit:coltrane&prompt.root; ypinit -s ellington test-domain
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.Nu hoort er een map
/var/yp/test-domain te zijn waarin
kopieë van de NIS-masterserver afbeeldingen staan. Die
moeten bijgewerkt blijven. De volgende regel in
/etc/crontab op de slaveservers regelt
dat:20 * * * * root /usr/libexec/ypxfr passwd.byname
21 * * * * root /usr/libexec/ypxfr passwd.byuidMet de bovenstaande twee regels wordt de slave gedwongen zijn
afbeeldingen met de afbeeldingen op de masterserver te
synchroniseren. Dit is niet verplicht omdat de masterserver
automatisch probeert veranderingen aan de NIS-afbeeldingen door te
geven aan zijn slaves. Echter, vanwege het belang van correcte
wachtwoordinformatie op andere cliënten die van de slaveserver
afhankelijk zijn, is het aanbevolen om specifiek de
wachtwoordafbeeldingen vaak tot bijwerken te dwingen. Dit is des
te belangrijker op drukke netwerken, omdat daar het bijwerken van
afbeeldingen niet altijd compleet afgehandeld hoeft te
worden.Nu kan ook op de slaveserver het commando
/etc/netstart uitgevoerd worden, dat op
zijn beurt de NIS-server start.NIS-cliëntenEen NIS-cliënt maakt wat heet een verbinding
(binding) met een NIS-server met de daemon
ypbind. ypbind
controleert het standaarddomein van het systeem (zoals
ingesteld met domainname) en begint met het
broadcasten van RPC-verzoeken op het lokale netwerk. Die
verzoeken bevatten de naam van het domein waarvoor
ypbind een binding probeert te maken. Als
een server die is ingesteld om het gevraagde domein te
bedienen een broadcast ontvangt, dan antwoordt die aan
ypbind dat dan het IP-adres van de server
opslaat. Als er meerdere servers beschikbaar zijn, een master
en bijvoorbeeld meerdere slaves, dan gebruikt
ypbind het adres van de eerste server die
antwoord geeft. Vanaf dat moment stuurt de cliënt alle
NIS-verzoeken naar die server. ypbindpingt de server zo nu en dan om te controleren
of die nog draait. Als er na een bepaalde tijd geen antwoord
komt op een ping, dan markeert ypbind het
domein als niet verbonden en begint het broadcasten opnieuw,
in de hoop dat er een andere server wordt gelocaliseerd.Een NIS-cliënt opzettenNIScliënt instellenHet opzetten van een &os; machine als NIS-cliënt is
redelijk doorzichtig:Wijzig /etc/rc.conf en voeg de
volgende regels toe om de NIS-domeinnaam in te stellen
en ypbind mee te laten starten bij
het starten van het netwerk:nisdomainname="test-domain"
nis_client_enable="YES"Om alle mogelijke regels voor accounts uit de
NIS-server te halen, dienen alle gebruikersaccounts uit
/etc/master.passwd verwijderd te
worden en dient met vipw de volgende
regel aan het einde van het bestand geplaatst te
worden:+:::::::::Door deze regel wordt alle geldige accounts
in de wachtwoordafbeelding van de NIS-server toegang
gegeven. Er zijn veel manieren om de NIS-cliënt
in te stellen door deze regel te veranderen. In het
onderdeel netgroepen
hieronder staat meer informatie. Zeer gedetailleerde
informatie staat in het boek NFS en NIS
beheren van O'Reilly.Er moet tenminste één lokale account
behouden blijven (dus niet geďmporteerd via NIS)
in /etc/master.passwd en die
hoort ook lid te zijn van de groep
wheel. Als er iets mis is met
NIS, dan kan die account gebruikt worden om via het
netwerk aan te melden, root te
worden en het systeem te repareren.Om alle groepen van de NIS-server te importeren, kan
de volgende regel aan /etc/group
toegevoegd worden:+:*::Voer, om de NIS-cliënt onmiddelijk te starten, de volgende
commando's als supergebruiker uit:&prompt.root; /etc/netstart
&prompt.root; service ypbind startNa het afronden van deze stappen zou met ypcat
passwd de passwd map van de NIS-server te zien
moeten zijn.NIS-beveiligingIn het algemeen kan iedere netwerkgebruiker een RPC-verzoek
doen uitgaan naar &man.ypserv.8; en de inhoud van de
NIS-afbeeldingen ontvangen, mits die gebruiker de domeinnaam
kent. Omdat soort ongeautoriseerde transacties te voorkomen,
ondersteunt &man.ypserv.8; de optie securenets,
die gebruikt kan worden om de toegang te beperken tot een
opgegeven aantal hosts. Bij het opstarten probeert
&man.ypserv.8; de securenets informatie te laden uit het bestand
/var/yp/securenets.Dit pad kan verschillen, afhankelijk van het pad dat
opgegeven is met de optie . Dit
bestand bevat regels die bestaan uit een netwerkspecificatie
en een netwerkmasker, gescheiden door witruimte. Regels die
beginnen met # worden als commentaar
gezien. Een voorbeeld van een securenetsbestand zou er zo uit
kunnen zien:# allow connections from local host -- mandatory
127.0.0.1 255.255.255.255
# allow connections from any host
# on the 192.168.128.0 network
192.168.128.0 255.255.255.0
# allow connections from any host
# between 10.0.0.0 to 10.0.15.255
# this includes the machines in the testlab
10.0.0.0 255.255.240.0Als &man.ypserv.8; een verzoek ontvangt van een adres dat
overeenkomt met een van de bovenstaande regels, dan wordt dat
verzoek normaal verwerkt. Als er geen enkele regel op het
verzoek van toepassing is, dan wordt het verzoek genegeerd en
wordt er een waarschuwing gelogd. Als het bestand
/var/yp/securenets niet bestaat, dan
accepteert ypserv verbindingen van iedere
host.Het programma ypserv ondersteunt ook het
pakket TCP Wrapper van Wietse Venema.
Daardoor kan een beheerder de instellingenbestanden van
TCP Wrapper gebruiken voor
toegangsbeperking in plaats van
/var/yp/securenets.Hoewel beide methoden van toegangscontrole enige vorm van
beveiliging bieden, zijn ze net als de geprivilegieerde
poorttest kwetsbaar voor IP spoofing aanvallen.
Al het NIS-gerelateerde verkeer hoort door een firewall
tegengehouden te worden.Servers die gebruik maken van
/var/yp/securenets kunnen wellicht
legitieme verzoeken van NIS-cliënten weigeren als die
gebruik maken van erg oude TCP/IP-implementaties. Sommige van
die implementaties zetten alle host bits op nul als ze een
broadcast doen en/of kijken niet naar het subnetmasker als ze
het broadcastadres berekenen. Hoewel sommige van die
problemen opgelost kunnen worden door de instellingen op de
cliënt aan te passen, zorgen andere problemen voor het
noodgedwongen niet langer kunnen gebruiker van NIS voor die
cliënt of het niet langer gebruiken van
/var/yp/securenets.Het gebruik van /var/yp/securenets
op een server met zo'n oude implementatie van TCP/IP is echt
een slecht idee en zal leiden tot verlies van
NIS-functionaliteit voor grote delen van een netwerk.tcpwrapperHet gebruik van het pakket TCP
Wrapper leidt tot langere wachttijden op de
NIS-server. De extra vertraging kan net lang genoeg zijn om
een timeout te veroorzaken in cliëntprogramma's, in het
bijzonder als het netwerk druk is of de NIS-server traag is.
Als een of meer cliënten last hebben van dat symptoom,
dan is het verstandig om de cliëntsysteem in kwestie
NIS-slaveserver te maken en naar zichzelf te laten wijzen.Aanmelden voor bepaalde gebruikers blokkerenIn het lab staat de machine basie, die
alleen faculteitswerkstation hoort te zijn. Het is niet
gewenst die machine uit het NIS-domein te halen, maar het
passwd bestand op de master NIS-server
bevat nu eenmaal accounts voor zowel de faculteit als de
studenten. Hoe kan dat opgelost worden?Er is een manier om het aanmelden van specifieke gebruikers
op een machine te weigeren, zelfs als ze in de NIS-database
staan. Daarvoor hoeft er alleen maar
–gebruikersnaam
met het juiste aantal dubbele punten (zoals bij andere regels) aan het
einde van /etc/master.passwd op de
cliëntmachine toegevoegd te worden, waar
gebruikersnaam de gebruikersnaam van de
gebruiker die niet mag aanmelden is. De regel met de geblokkeerde
gebruiker moet voor de regel met + staan om
NIS-gebruikers toe te staan. Dit gebeurt bij voorkeur
met vipw, omdat vipw
de wijzigingen aan /etc/master.passwd
controleert en ook de wachtwoord database opnieuw bouwt na het
wijzigen. Om bijvoorbeeld de gebruiker
bill te kunnen laten aanmelden op
basie:basie&prompt.root; vipw[voeg -bill::::::::: aan het einde toe, exit]
vipw: rebuilding the database...
vipw: done
basie&prompt.root; cat /etc/master.passwd
root:[password]:0:0::0:0:The super-user:/root:/bin/csh
toor:[password]: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;UdoErdelhoffGeschreven door Netgroups gebruikennetgroepenDe methode uit het vorige onderdeel werkt prima als er maar
voor een beperkt aantal gebruikers en/of machines speciale
regels nodig zijn. Op grotere netwerken
gebeurt het gewoon dat er wordt vergeten
om een aantal gebruikers de aanmeldrechten op gevoelige machines
te ontnemen of dat zelfs iedere individuele machine aangepast
moet worden, waardoor het voordeel van NIS teniet wordt gedaan:
centraal beheren.De ontwikkelaars van NIS hebben dit probleem opgelost met
netgroepen. Het doel en de semantiek
kunnen vergeleken worden met de normale groepen die gebruikt
worden op &unix; bestandssystemen. De belangrijkste verschillen
zijn de afwezigheid van een numeriek ID en de mogelijkheid om
een netgroep aan te maken die zowel gebruikers als andere
netgroepen bevat.Netgroepen zijn ontwikkeld om gebruikt te worden voor grote,
complexe netwerken met honderden gebruikers en machines. Aan
de ene kant is dat iets Goeds. Aan de andere kant is het wel
complex en bijna onmogelijk om netgroepen met een paar
eenvoudige voorbeelden uit te leggen. Dat probleem wordt in de
rest van dit onderdeel duidelijk gemaakt.Stel dat de succesvolle implementatie van NIS in het lab de
interesse heeft gewekt van een centrale beheerclub. De volgende
taak is het uitbreiden van het NIS-domein met een aantal andere
machines op de campus. De onderstaande twee tabellen bevatten
de namen van de nieuwe gebruikers en de nieuwe machines met een
korte beschijving.GebruikersnamenBeschrijvingalpha,
betaGewone medewerkers van de IT-afdelingcharlie,
deltaJunior medewerkers van de IT-afdelingecho,
foxtrott,
golf, ...Gewone medewerkersable,
baker, ...StagiairsMachinenamenBeschrijvingwar, death,
famine,
pollutionDe belangrijkste servers. Alleen senior
medewerkers van de IT-afdeling mogen hierop
aanmelden.pride, greed,
envy, wrath,
lust, slothMinder belangrijke servers. Alle leden van
de IT-afdeling mogen aanmelden op deze machines.one, two,
three, four,
...Gewone werkstations. Alleen
echte medewerkers mogen zich op
deze machines aanmelden.trashcanEen erg oude machine zonder kritische data. Zelfs
de stagiair mag deze doos gebruiken.Als deze restricties ingevoerd worden door iedere gebruiker
afzonderlijk te blokkeren, dan wordt er een
-user regel per
systeem toegevoegd aan de passwd voor
iedere gebruiker die niet mag aanmelden op dat systeem. Als er
maar één regel wordt vergeten, kan dat een
probleem opleveren. Wellicht lukt het nog dit juist in te
stellen bij de bouw van een machine, maar het wordt
echt vergeten de regels toe te voegen voor
nieuwe gebruikers in de productiefase. Murphy was tenslotte een
optimist.Het gebruik van netgroepen biedt in deze situatie een aantal
voordelen. Niet iedere gebruiker hoeft separaat afgehandeld te
worden. Een gebruik kan aan een of meer groepen worden
toegevoegd en aanmelden kan voor alle leden van zo'n groep
worden toegestaan of geweigerd. Als er een nieuwe machine wordt
toegevoegd, dan hoeven alleen de aanmeldrestricties voor de
netgroepen te worden ingesteld. Als er een nieuwe gebruiker
wordt toegevoegd, dan hoeft die alleen maar aan de juiste
netgroepen te worden toegevoegd. Die veranderingen zijn niet
van elkaar afhankelijk: geen voor iedere combinatie van
gebruiker en machine moet het volgende .... Als de
NIS-opzet zorgvuldig is gepland, dan hoeft er maar
één instellingenbestand gewijzigd te worden om
toegang tot machines te geven of te ontnemen.De eerst stap is het initialiseren van de NIS-afbeelding
netgroup. &man.ypinit.8; van &os; maakt deze map niet
standaard, maar als die is gemaakt, ondersteunt de
NIS-implementatie hem wel. Een lege map wordt als volgt
gemaakt:ellington&prompt.root; vi /var/yp/netgroupNu kan hij gevuld worden. In het gebruikte voorbeeld zijn
tenminste vier netgroepen: IT-medewerkers, IT-junioren, gewone
medewerkers en stagiars.IT_MW (,alpha,test-domain) (,beta,test-domain)
IT_APP (,charlie,test-domain) (,delta,test-domain)
USERS (,echo,test-domain) (,foxtrott,test-domain) \
(,golf,test-domain)
STAGS (,able,test-domain) (,baker,test-domain)IT_MW, IT_APP
enzovoort, zijn de namen van de netgroepen. Iedere groep tussen
haakjes bevat een of meer gebruikersnamen voor die groep. De
drie velden binnen een groep zijn:De naam van de host of namen van de hosts waar de volgende
onderdelen geldig zijn. Als er geen hostnaam wordt opgegeven
dan is de regel geldig voor alle hosts. Als er wel een hostnaam
wordt opgegeven, dan wordt een donker, spookachtig en verwarrend
domein betreden.De naam van de account die bij deze netgroep hoort.Het NIS-domein voor de account. Er kunnen accounts uit
andere NIS-domeinen geďmporteerd worden in een netgroep
als een beheerder zo ongelukkig is meerdere NIS-domeinen te
hebben.Al deze velden kunnen jokerkarakters bevatten. Details
daarover staan in &man.netgroup.5;.netgroepenDe naam van een netgroep mag niet langer zijn dan acht
karakters, zeker niet als er andere besturingssystemen binnen
een NIS-domein worden gebruikt. De namen zijn
hoofdlettergevoelig: alleen hoofdletters gebruiken voor de
namen van netgroepen is een makkelijke manier om onderscheid
te kunnen maken tussen gebruikers-, machine- en
netgroepnamen.Sommige NIS-cliënten (andere dan die op &os; draaien)
kunnen niet omgaan met netgroepen met veel leden. Sommige
oudere versies van &sunos; gaan bijvoorbeeld lastig doen als
een netgroep meer dan 15 leden heeft.
Dit kan omzeild worden door meerdere subnetgroepen te maken
met 15 gebruikers of minder en een echte netgroep die de
subnetgroepen bevat:BIGGRP1 (,joe1,domain) (,joe2,domain) (,joe3,domain) [...]
BIGGRP2 (,joe16,domain) (,joe17,domain) [...]
BIGGRP3 (,joe31,domain) (,joe32,domain)
BIGGROUP BIGGRP1 BIGGRP2 BIGGRP3Dit proces kan herhaald worden als er meer dan 225
gebruikers in een netgroep moeten.Het activeren en distribueren van de nieuwe NIS-map is
eenvoudig:ellington&prompt.root; cd /var/yp
ellington&prompt.root; makeHiermee worden drie nieuwe NIS-afbeeldingen gemaakt:
netgroup,
netgroup.byhost en
netgroup.byuser. Met &man.ypcat.1; kan
bekeken worden op de nieuwe NIS-afbeeldingen beschikbaar zijn:ellington&prompt.user; ypcat -k netgroup
ellington&prompt.user; ypcat -k netgroup.byhost
ellington&prompt.user; ypcat -k netgroup.byuserDe uitvoer van het eerste commando hoort te lijken op de
inhoud van /var/yp/netgroup. Het tweede
commando geeft geen uitvoer als er geen host-specifieke
netgroepen zijn ingesteld. Het derde commando kan gebruikt
worden om een lijst van netgroepen voor een gebruiker op te
vragen.Het instellen van de cliënt is redelijk eenvoudig. Om
de server war in te stellen hoeft alleen met
&man.vipw.8; de volgende regel in de regel daarna vervangen te
worden:+:::::::::Vervang de bovenstaande regel in de onderstaande.+@IT_MW:::::::::Nu worden alleen de gebruikers die in de netgroep
IT_MW geďmporteerd in de
wachtwoorddatabase van de host war, zodat
alleen die gebruikers zich kunnen aanmelden.Helaas zijn deze beperkingen ook van toepassing op de
functie ~ van de shell en alle routines
waarmee tussen gebruikersnamen en numerieke gebruikers ID's
wordt gewisseld. Met andere woorden: cd
~user werkt niet,
ls –l toont het numerieke ID in plaats
van de gebruikersnaam en find . –user joe
–print faalt met de foutmelding No
such user. Om dit te repareren moeten alle
gebruikers geďmporteerd worden, zonder ze het
recht te geven aan te melden op een server.Dit kan gedaan worden door nog een regel aan
/etc/master.passwd toe te voegen:+:::::::::/sbin/nologinDit betekent importeer alle gebruikers, maar vervang
de shell door /sbin/nologin. Ieder
veld in een passwd regel kan door een
standaardwaarde vervangen worden in
/etc/master.passwd.De regel +:::::::::/sbin/nologin moet
na +@IT_MW::::::::: komen. Anders krijgen
alle gebruikers die uit NIS-komen
/sbin/nologin als aanmeldshell.Na deze wijziging hoeft er nog maar één
NIS-afbeelding gewijzigd te worden als er een nieuwe medewerker
komt bij de IT-afdeling. Dezelfde aanpak kan gebruikt worden
voor de minder belangrijke servers door de oude regel
+::::::::: in de lokale versie van
/etc/master.passwd door iets als het
volgende te vervangen:+@IT_MW:::::::::
+@IT_APP:::::::::
+:::::::::/sbin/nologinVoor normale werkstations zijn het de volgende regels:+@IT_MW:::::::::
+@USERS:::::::::
+:::::::::/sbin/nologinEn dat zou allemaal leuk en aardig zijn als er niet na een
paar weken een beleidsverandering komt: de IT-afdeling gaat
stagiairs aannemen. De IT-stagiairs mogen de normale
werkstations en de minder belangrijke servers gebruiken en de
juniorbeheerders mogen gaan aanmelden op de hoofdservers. Dat
kan door een nieuwe groep IT_STAG te maken en
de nieuwe IT-stagiairs toe te voegen aan die netgroep en dan de
instellingen op iedere machine te gaan veranderen. Maar zoals
het spreekwoord zegt: Fouten in een centrale planning
leiden tot complete chaos.Deze situaties kunnen voorkomen worden door gebruik te maken
van de mogelijkheid in NIS om netgroepen in netgroepen op te
nemen. Het is mogelijk om rolgebaseerde netgroepen te maken.
Er kan bijvoorbeeld een netgroep BIGSRV
gemaakt worden om het aanmelden op de belangrijke servers te
beperken en er kan een andere netgroep
SMALLSRV voor de minder belangrijke servers
zijn en een derde netgroep met de naam
USERBOX voor de normale werkstations. Al die
netgroepen kunnen de netgroepen bevatten die op die machines
mogen aanmelden. De nieuwe regels in de NIS-afbeelding netgroup
zien er dan zo uit:BIGSRV IT_MW IT_APP
SMALLSRV IT_MW IT_APP ITSTAG
USERBOX IT_MW ITSTAG USERSDeze methode voor het instellen van aanmeldbeperkingen werkt
redelijk goed als er groepen van machines gemaakt kunnen worden
met identieke beperkingen. Helaas blijkt dat eerder
uitzondering dan regel. Meestal moet het mogelijk zijn om per
machine in te stellen wie zich wel en wie zich niet mogen
aanmelden.Daarom is het ook mogelijk om via machinespecifieke
netgroepen de hierboven aangegeven beleidswijziging op te
vangen. In dat scenario bevat
/etc/master.passwd op iedere machine twee
regels die met + beginnen. De eerste voegt de
netgroep toe met de accounts die op de machine mogen aanmelden
en de tweede voegt alle andere accounts toe met
/sbin/nologin als shell. Het is verstandig
om als naam van de netgroep de machinenaam in
HOOFDLETTERS te gebruiken. De regels zien er
ongeveer als volgt uit:+@MACHINENAAM:::::::::
+:::::::::/sbin/nologinAls dit voor alle machines is gedaan, dan hoeven de lokale
versies van /etc/master.passwd nooit meer
veranderd te worden. Alle toekomstige wijzigingen kunnen dan
gemaakt worden door de NIS-afbeelding te wijzigen. Hieronder
staat een voorbeeld van een mogelijke netgroep map voor het
beschreven scenario met een aantal toevoegingen:# Definieer eerst de gebruikersgroepen
IT_MW (,alpha,test-domain) (,beta,test-domain)
IT_APP (,charlie,test-domain) (,delta,test-domain)
DEPT1 (,echo,test-domain) (,foxtrott,test-domain)
DEPT2 (,golf,test-domain) (,hotel,test-domain)
DEPT3 (,india,test-domain) (,juliet,test-domain)
ITSTAG (,kilo,test-domain) (,lima,test-domain)
D_STAGS (,able,test-domain) (,baker,test-domain)
#
# En nu een aantal groepen op basis van rollen
USERS DEPT1 DEPT2 DEPT3
BIGSRV IT_MW IT_APP
SMALLSRV IT_MW IT_APP ITSTAG
USERBOX IT_MW ITSTAG USERS
#
# Een een groep voor speciale taken.
# Geef echo en golf toegang tot de anti-virus machine.
SECURITY IT_MW (,echo,test-domain) (,golf,test-domain)
#
# Machinegebaseerde netgroepen
# Hoofdservers
WAR BIGSRV
FAMINE BIGSRV
# Gebruiker india heeft toegang tot deze server nodig.
POLLUTION BIGSRV (,india,test-domain)
#
# Deze is erg belangrijk en heeft strengere toegangseisen nodig.
DEATH IT_MW
#
# De anti-virus machine als hierboven genoemd.
ONE SECURITY
#
# Een machine die maar door 1 gebruiker gebruikt mag worden.
TWO (,hotel,test-domain)
# [...hierna volgen de andere groepen]Als er een soort database wordt gebruikt om de
gebruikersaccounts te beheren, dan is het in ieder geval nodig
dat ook het eerste deel van de afbeelding met de
databaserapportagehulpmiddelen gemaakt kan worden. Dan krijgen
nieuwe gebruikers automatisch toegang tot de machines.Nog een laatste waarschuwing: het is niet altijd aan te
raden gebruik te maken van machinegebaseerde netgroepen. Als er
tientallen of zelfs honderden gelijke machines voor bijvoorbeeld
studentenruimtes worden uitgerold, dan is het verstandiger
rolgebaseerde netgroepen te gebruiken in plaats van
machinegebaseerde netgroepen om de grootte van de NIS-afbeelding
binnen de perken te houden.Belangrijk om te onthoudenIn een NIS-omgeving werken een aantal dingen wel
anders.Als er een gebruiker toegevoegd moet worden, dan moet
die alleen toegevoegd worden aan de
master NIS-server en mag niet vergeten worden dat
de NIS-afbeeldingen herbouwd moeten worden. Als
dit wordt vergeten, dan kan de nieuwe gebruiker nergens
anders aanmelden dan op de NIS-master. Als bijvoorbeeld een
nieuwe gebruiker jsmith toegevoegd moet
worden:&prompt.root; pw useradd jsmith
&prompt.root; cd /var/yp
&prompt.root; make test-domainEr kan ook adduser jsmith in plaats
van pw useradd jsmith gebruikt
worden.De beheeraccounts moeten buiten de
NIS-afbeeldingen gehouden worden. Het is niet
handig als de beheeraccounts en wachtwoorden naar machines
waarop gebruikers zich aanmelden die geen toegang tot die
informatie horen te hebben zouden gaan.De NIS-master en slave moeten veilig blijven
en zo min mogelijk niet beschikbaar zijn. Als de
machine wordt gehackt of als hij wordt uitgeschakeld, dan
kunnen er in theorie nogal wat mensen niet meer aanmelden.Dit is de belangrijkste zwakte van elk gecentraliseerd
beheersysteem. Als de NIS-servers niet goed beschermd
worden, dan worden veel gebruikers boos!NIS v1-compatibiliteitypserv voor &os; biedt wat
ondersteuning voor NIS v1 cliënten. De NIS-implementatie
van &os; gebruikt alleen het NIS v2 protocol, maar andere
implementaties bevatten ondersteuning voor het v1 protocol voor
achterwaartse compatibiliteit met oudere systemen. De
ypbind-daemons die bij deze systemen
zitten proberen een binding op te zetten met een NIS v1 server,
hoewel dat niet per se ooit nodig is (en ze gaan misschien nog
wel door met broadcasten nadat ze een antwoord van een v2
server hebben ontvangen). Het is belangrijk om te melden dat
hoewel ondersteuning voor gewone cliëntoproepen aanwezig
is, deze versie van ypserv geen
overdrachtsverzoeken voor v1-afbeeldingen af kan handelen.
Daarom kan ypserv niet gebruikt
worden als master of slave in combinatie met oudere NIS-servers
die alleen het v1 protocol ondersteunen. Gelukkig worden er in
deze tijd niet meer zoveel van deze servers gebruikt.NIS-servers die ook NIS-cliënten zijnHet is belangrijk voorzichtig om te gaan met het draaien van
ypserv in een multi-server domein
waar de server machines ook NIS-cliënten zijn. Het is in
het algemeen verstandiger om de servers te dwingen met zichzelf
te binden dan ze toe te staan een bindverzoek te broadcasten en
het risico te lopen dat ze een binding met elkaar maken. Er
kunnen vreemde fouten optreden als een van de servers plat gaat
als er andere servers van die server afhankelijk zijn. Na
verloop van tijd treedt op de cliënten wel een timeout op
en verbinden ze met een andere server, maar de daarmee gepaard
gaande vertraging kan aanzienlijk zijn en de foutmodus is nog
steeds van toepassing, omdat de servers dan toch weer opnieuw
een verbinding met elkaar kunnen vinden.Het is mogelijk een host aan een specifieke server te binden
door aan ypbind de vlag
mee te geven. Om dit niet iedere keer
handmatig na een herstart te hoeven uitvoeren, kan de volgende
regel worden opgenomen in /etc/rc.conf van
de NIS-server:nis_client_enable="YES" # start ook het cliënt gedeelte
nis_client_flags="-S NIS domain,server"In &man.ypbind.8; staat meer informatie.WachtwoordformatenNISwachtwoordformatenEen van de meest voorkomende problemen bij het implementeren
van NIS is de compatibiliteit van het wachtwoordformaat. Als
een NIS-server wachtwoorden gebruikt die met DES gecodeerd zijn,
dan kunnen alleen cliënten die ook DES gebruiken
ondersteund worden. Als er bijvoorbeeld &solaris;
NIS-cliënten in een netwerk zijn, dan moet er vrijwel zeker
gebruik gemaakt worden van met DES gecodeerde wachtwoorden.Van welk formaat cliënten en servers gebruik maken is
te zien in /etc/login.conf. Als een host
gebruik maakt van met DES gecodeerde wachtwoorden, dan staat er
in de klasse default een regel als de
volgende:default:\
:passwd_format=des:\
:copyright=/etc/COPYRIGHT:\
[Overige regels weggelaten]Andere mogelijke waarden voor
passwd_format zijn
blf en md5
(respectievelijk voor Blowfish en MD5 gecodeerde
wachtwoorden).Als er wijzigingen gemaakt zijn aan
/etc/login.conf dan moet de
login capability database herbouwd worden door het volgende
commando als root uit te voeren:&prompt.root; cap_mkdb /etc/login.confHet formaat van de wachtwoorden die al in
/etc/master.passwd staan worden niet
bijgewerkt totdat een gebruiker zijn wachtwoord voor de eerste
keer wijzigt nadat de login capability
database is herbouwd.Om te zorgen dat de wachtwoorden in het gekozen formaat zijn
gecodeerd, moet daarna gecontroleerd worden of de waarde
crypt_default in
/etc/auth.conf de voorkeur geeft aan het
gekozen formaat. Om dat te realiseren dient het gekozen formaat
vooraan gezet te worden in de lijst. Als er bijvoorbeeld
gebruik gemaakt wordt van DES gecodeerde wachtwoorden, dan hoort
de regel er als volgt uit te zien:crypt_default = des blf md5Als de bovenstaande stappen op alle &os; gebaseerde
NIS-servers en cliënten zijn uitgevoerd, dan is het zeker
dat ze het allemaal eens zijn over welk wachtwoordformaat er op
het netwerk wordt gebruikt. Als er problemen zijn bij de
authenticatie op een NIS-cliënt, dan is dit een prima
startpunt voor het uitzoeken waar de problemen vandaan komen.
Nogmaals: als er een NIS-server in een heterogene omgeving wordt
geplaatst, dan is het waarschijnlijk dat er gebruik gemaakt moet
worden van DES op alle systemen, omdat dat de laagst
overeenkomende standaard is.GregSutterGeschreven door Automatisch netwerk instellen (DHCP)Wat is DHCP?Dynamic Host Configuration ProtocolDHCPInternet Systems Consortium
(ISC)DHCP, het Dynamic Host Configuration Protocol, schrijft voor
hoe een systeem verbinding kan maken met een netwerk en hoe het
de benodigde informatie kan krijgen om met dat netwerk te
communiceren. &os; gebruikt de OpenBSD dhclient
welke uit OpenBSD 3.7 komt.
Alle informatie over dhclient kan
zowel voor de ISC als de OpenBSD DHCP-cliënt gebruikt
worden. De DHCP-server zit bij de ISC-distributie.Wat behandeld wordtIn dit onderdeel worden de cliëntcomponenten van de
ISC en OpenBSD DHCP-cliënt en de servercomponenten van het
ISC DHCP-systeem beschreven. Het programma voor de cliënt,
dhclient, zit standaard in &os; en de server
is beschikbaar via de port net/isc-dhcp42-server. Naast de
onderstaande informatie, zijn de hulppagina's van
&man.dhclient.8;, &man.dhcp-options.5; en &man.dhclient.conf.5;
bruikbare bronnen.Hoe het werktUDPAls dhclient, de DHCP-cliënt, wordt
uitgevoerd op een cliëntmachine, dan begint die met het
broadcasten van verzoeken om instellingeninformatie. Standaard
worden deze verzoeken op UDP poort 68 gedaan. De server
antwoordt op UDP 67 en geeft de cliënt een IP-adres en
andere relevante netwerkinformatie, zoals een netmasker,
router en DNS-servers. Al die informatie komt in de vorm van
een DHCP lease en is voor een bepaalde tijd
geldig (die is ingesteld door de beheerder van de DHCP-server).
Op die manier kunnen IP-adressen voor cliënten die niet
langer met het netwerk verbonden zijn (stale) automatisch weer
ingenomen worden.DHCP-cliënten kunnen veel informatie van de server
krijgen. Er staat een uitputtende lijst in
&man.dhcp-options.5;.&os; integratie&os; integreert de OpenBSD DHCP-cliënt
dhclient volledig.
Er is ondersteuning voor de
DHCP-cliënt in zowel het installatieprogramma als in het
basissysteem, waardoor het niet noodzakelijk is om kennis te
hebben van het maken van netwerkinstellingen voor het netwerk
waar een DHCP-server draait.sysinstallDHCP wordt ondersteund door
sysinstall. Bij het instellen van
een netwerkinterface binnen
sysinstall is de tweede vraag:
Wil je proberen de interface met DHCP in te
stellen? Als het antwoord bevestigend luidt, dan wordt
dhclient uitgevoerd en als dat succesvol
verloopt, dan worden de netwerkinstellingen automatisch
ingevuld.Voor het gebruiken van DHCP bij het opstarten van het
systeem zijn twee instellingen nodig:DHCPvereistenHet apparaat bpf moet in de
kernel gecompileerd zijn. Dit kan door
device bpf aan het bestand met
kernelinstellingen toe te voegen en de kernel te herbouwen.
Meer informatie over het bouwen van een kernel staat in
.Het apparaat bpf is al
onderdeel van de GENERIC kernel die bij
&os; zit, dus als er geen sprake is van een aangepaste
kernel, dan hoeft er geen nieuwe gemaakt te worden om DHCP
aan te praat te krijgen.Voor de lezer die bijzonder begaan is met beveiliging,
is het belangrijk aan te geven dat
bpf ook het apparaat is waardoor
pakketsnuffelaars hun werk kunnen doen (hoewel ze nog
steeds als root moeten draaien).
bpfis
noodzakelijk voor DHCP, maar als beveiliging bijzonder
belangrijk is, dan hoort bpf
waarschijnlijk niet in een kernel te zitten omdat de
verwachting dat er in de toekomst ooit DHCP gebruikt gaat
worden.Standaard draait de DHCP-synchronisatie op &os; in de
achtergrond, of asynchroon. Andere
opstartscripten gaan verder terwijl DHCP wordt voltooid, wat het
opstarten van het systeem versnelt.DHCP in de achtergrond werkt goed als de DHCP-server snel op
verzoeken reageert en het DHCP-configuratieproces snel gaat. Op
sommige systemen kan het lang duren voordat DHCP klaar is. Als
netwerkdiensten proberen te draaien voordat DHCP voltooid is, zullen
ze falen. Door DHCP in synchrone modus te
draaien wordt dit probleem voorkomen en wordt het opstarten
gepauzeerd totdat de DHCP-configuratie voltooid is.Gebruik om in de achtergrond verbinding te maken met een
DHCP-server terwijl andere opstartscripts verder gaan (asynchrone
modus) de waarde DHCP in
/etc/rc.conf:ifconfig_fxp0="DHCP"Gebruik om het opstarten te pauzeren totdat DHCP voltooid is de
synchrone modus met waarde
SYNDHCP:ifconfig_fxp0="SYNDHCP"Vervang fxp0 zoals getoond in deze
voorbeelden met de naam van de interface dat dynamisch
geconfigureerd moet worden, zoals getoond in .Als er een andere lokatie voor
dhclient wordt gebruikt of als er extra
parameters aan dhclient meegegeven moeten
worden, dan dient ook iets als het volgende toegevoegd te
worden:dhclient_program="/sbin/dhclient"
dhclient_flags=""DHCPserverDe DHCP-server, dhcpd, zit bij de
port net/isc-dhcp42-server
in de Portscollectie. Deze port bevat de ISC DHCP-server en
documentatie.BestandenDHCPinstellingenbestanden/etc/dhclient.confVoor dhclient is een
instellingenbestand /etc/dhclient.conf
nodig. Dat bestand bevat meestal alleen maar commentaar,
omdat de standaardinstellingen redelijk zinvol zijn. Dit
bestand wordt beschreven in &man.dhclient.conf.5;./sbin/dhclientdhclient is statisch gelinkt en staat
in /sbin. Er staat meer informatie
over dhclient in &man.dhclient.8;./sbin/dhclient-scriptdhclient-script is het
&os;-specifieke DHCP-cliënt instellingenscript. Het
wordt beschreven in &man.dhclient-script.8;, maar het is
niet nodig het te wijzigen om goed te werken./var/db/dhclient.leases.interfaceDe DHCP-cliënt houdt in dit bestand een database
bij van geldige leases, die naar een logboekbestand worden
geschreven. In &man.dhclient.leases.5; staat een iets
uitgebreidere beschrijving.Verder lezenHet DHCP-protocol staat volledig beschreven in RFC 2131.
Er is nog een bron van informatie ingesteld op .Een DHCP-server installeren en instellenWat behandeld wordtIn dit onderdeel wordt beschreven hoe een &os; systeem zo
ingesteld kan worden dat het opereert als DHCP-server door
gebruik te maken van de ISC (Internet Systems Consortium)
implementatie van de DHCP-server.De server wordt niet geleverd als deel van &os; en om deze
dienst aan te bieden dient de port net/isc-dhcp42-server
geďnstalleerd te worden. In staat
meer informatie over de Portscollectie.DHCP-serverinstallatieDHCPinstallatieOm een &os; systeem in te stellen als DHCP-server moet het
apparaat &man.bpf.4; in de kernel zijn opgenomen. Om dit te
doen dient device bpf aan het bestand met
kernelinstellingen toegevoegd te worden en dient de kernel
herbouwd te worden. Meer informatie over het bouwen van
kernels staat in .Het apparaat bpf is al onderdeel
van de GENERIC kernel die bij &os;, dus
het is meestal niet nodig om een aangepaste kernel te bouwen
om DHCP aan de praat te krijgen.Het is belangrijk te vermelden dat
bpf ook het apparaat is waardoor
pakketsnuffelaars kunnen werken (hoewel de programma's die
er gebruik van maken wel bijzondere toegang nodig hebben).
bpfis
verplicht voor DHCP, maar als beveiliging van belang is, dan
is het waarschijnlijk niet verstandig om
bpf in een kernel op te nemen
alleen omdat er in de toekomst misschien ooit DHCP gebruikt
gaat worden.Hierna dient het standaardbestand
dhcpd.conf dat door de port net/isc-dhcp42-server is
geďnstalleerd gewijzigd te worden. Standaard is dit
/usr/local/etc/dhcpd.conf.sample en dit
bestand dient gekopieerd te worden naar
/usr/local/etc/dhcpd.conf voordat de
wijzigingen worden gemaakt.De DHCP-server instellenDHCPdhcpd.confdhcpd.conf is opgebouwd uit
declaraties over subnetten en hosts en is wellicht het meest
eenvoudig te beschrijven met een voorbeeld:option domain-name "example.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 mailhost.example.com;
}Deze optie geeft het domein aan dat door cliënten
als standaard zoekdomein wordt gebruikt. In
&man.resolv.conf.5; staat meer over wat dat
betekent.Deze optie beschrijft een door komma's gescheiden
lijst met DNS-servers die de cliënt moet
gebruiken.Het netmasker dat aan de cliënten wordt
voorgeschreven.Een cliënt kan om een bepaalde duur vragen die
een lease geldig is. Anders geeft de server aan wanneer
de lease vervalt (in seconden).Dit is de maximale duur voor een lease die de server
toestaat. Als een cliënt vraagt om een langere
lease, dan wordt die wel verstrekt, maar is de maar geldig
gedurende max-lease-time seconden.Deze optie geeft aan of de DHCP-server moet proberen
de DNS-server bij te werken als een lease is geaccepteerd
of wordt vrijgegeven. In de ISC implementatie is deze
optie verplicht.Dit geeft aan welke IP-adressen in de groep met
adressen zitten die zijn gereserveerd om uitgegeven te
worden aan cliënten. Alle IP-adressen tussen de
aangegeven adressen en die adressen zelf worden aan
cliënten uitgegeven.Geeft de default gateway aan die aan de cliënten
wordt voorgeschreven.Het hardware MAC-adres van een host, zodat de
DHCP-server een host kan herkennen als die een verzoek
doet.Geeft een host aan die altijd hetzelfde IP-adres moet
krijgen. Hier kan een hostnaam gebruikt worden, omdat de
DHCP-server de hostnaam zelf opzoekt voordat de
lease-informatie terug wordt gegeven.Wanneer u klaar bent met het schrijven van uw
dhcpd.conf, dient u de DHCP-server in
/etc/rc.conf aan te zetten, door het
volgende toe te voegen:dhcpd_enable="YES"
dhcpd_ifaces="dc0"Vervang de interfacenaam dc0 door de
interface (of interfaces, gescheiden door witruimtes) waarop
uw DHCP-server moet luisteren naar DHCP-verzoeken van
cliënten.Daarna kunt u doorgaan met het starten van de server door
het volgende commando te geven:&prompt.root; service isc-dhcpd startAls er later wijzigingen in de instellingen gemaakt moeten
worden, dan is het belangrijk te onthouden dat het sturen van
een SIGHUP signaal naar
dhcpdniet
resulteert in het opnieuw laden van de instellingen, zoals
voor de meeste daemons geldt. Voor deze daemon dient een
signaal SIGTERM gestuurd te worden om het
proces te stoppen. Daarna dient de daemon met het hiervoor
beschreven commando weer gestart worden.BestandenDHCPinstellingenbestanden/usr/local/sbin/dhcpddhcpd is statisch gelinkt
en staat in /usr/local/sbin. In de
hulppagina voor &man.dhcpd.8; die meekomt met de port
staat meer informatie over
dhcpd./usr/local/etc/dhcpd.confdhcpd heeft een
instellingenbestand,
/usr/local/etc/dhcpd.conf, nodig
voordat de daemon diensten aan cliënten kan leveren.
Het bestand moet alle informatie bevatten die aan
cliënten gegeven moet worden en de informatie die
nodig is voor het draaien van de dienst. Dit
instellingenbestand staat beschreven in de hulppagina voor
&man.dhcpd.conf.5; die meekomt met de port./var/db/dhcpd.leasesDe DHCP-server houdt in dit bestand een database bij
met leases die zijn uitgegeven en die naar een logboek
worden geschreven. In de hulppagina &man.dhcpd.leases.5;
die bij de port zit wordt dit uitvoeriger beschreven./usr/local/sbin/dhcrelaydhcrelay wordt in
uitgebreidere omgevingen gebruikt waar de ene DHCP-server
een verzoek van een cliënt naar een andere
DHCP-server op een ander netwerk doorstuurt. Als deze
functionaliteit nodig is, kan die beschikbaar komen door
de port net/isc-dhcp42-relay te
installeren. De hulppagina voor &man.dhcrelay.8; die bij
de port zit bevat meer details.ChernLeeGeschreven door TomRhodesDanielGerzoDomeinnaamsysteem (DNS)OverzichtBIND&os; gebruikt standaard een versie van BIND (Berkeley
Internet Name Domain), wat de meest gebruikte implementatie van
het DNS-protocol is. DNS
is het protocol waarmee namen aan IP-adressen
gebonden worden en vice versa. Zo wordt bijvoorbeeld op een
zoekopdracht voor www.FreeBSD.org geantwoord met het
IP-adres van de webserver van het &os;
Project en op een zoekopdracht voor ftp.FreeBSD.org wordt geantwoord met het
IP-adres van de bijbehorende
FTP-machine. Het tegenovergestelde kan ook
gebeuren. Een zoekopdracht voor een IP-adres
kan de bijbehorende hostnaam opleveren. Het is niet nodig om
een naamserver te draaien om op een systeem zoekopdrachten met
DNS uit te voeren.&os; wordt momenteel standaard geleverd met de
BIND9 DNS-serversoftware.
Onze installatie biedt verbeterde beveilingsmogelijkheden, een
nieuwe indeling van het bestandssysteem en geautomatiseerde
configuratie van &man.chroot.8;.DNSDNS wordt op Internet onderhouden door
een enigszins complex systeem van autoritaire root, Top Level
Domain (TLD), en andere kleinschaligere
naamservers die individuele domeininformatie hosten en cachen.Op dit moment wordt BIND beheerd door het Internet Systems
Consortium .TerminologieOm dit document te begrijpen moeten een aantal termen
gerelateerd aan DNS begrepen worden.resolverreverse DNSroot zoneTermDefinitieVoorwaartse DNSHet afbeelden van hostnamen op IP-adressen.Herkomst (origin)Verwijst naar het domein dat door een bepaald
zonebestand wordt gedekt.named, BINDVaak gebruikte namen voor het naamserverpakket BIND
in &os;.ResolverEen systeemproces waarmee een machine
zoekopdrachten om zoneinformatie aan een naamserver
geeft.Reverse DNSHet afbeelden van IP-adressen op
hostnamen.RootzoneHet begin van de Internet zonehiërarchie.
Alle zones vallen onder de rootzone, net zoals alle
bestanden in een bestandssysteem onder de rootmap
vallen.ZoneEen individueel domein, subdomein of een deel van
de DNS die door dezelfde autoriteit
wordt beheerd.zonesvoorbeeldenVoorbeelden van zones:. is hoe de rootzone normaliter in de
documentatie genoemd wordt.org. is een Top Level Domain
(TLD) onder de rootzone.example.org. is een
zone onder het TLD
org..1.168.192.in-addr.arpa is een zone die
naar alle IP-adressen verwijst die onder
de IP-adresruimte 192.168.1.* vallen.Zoals te zien is staat het specifiekere deel van een
hostnaam aan de linkerkant. Zo is bijvoorbeeld example.org. specifieker dan
org. en is org.
specifieker dan de rootzone. De indeling van ieder deel van een
hostnaam lijkt veel op een bestandssysteem: de map
/dev valt onder de root, enzovoort.Redenen om een naamserver te draaienNaamservers bestaan in het algemeen in twee smaken: autoratieve
naamservers en caching (ook bekend als resolving) naamservers.Er is een autoratieve naamserver nodig als:Het gewenst is om DNS-informatie aan
te bieden aan de wereld om met autoriteit op verzoeken te
antwoorden.Een domein, zoals example.org, is geregistreerd
en er IP-adressen aan hostnamen die
daaronder liggen toegewezen moeten worden.Een IP-adresblok omgekeerde
DNS-ingangen nodig heeft
(IP naar hostnaam).Een omgekeerde of tweede naamserver, die een slaaf wordt
genoemd, moet antwoorden op verzoeken.Er is een caching naamserver nodig als:Een lokale DNS-server kan cachen en
wellicht sneller kan antwoorden dan een naamserver die
verder weg staat.Als er een verzoek wordt gedaan voor www.FreeBSD.org, dan doet de resolver
meestal een verzoek bij de naamserver van de
ISP die de uplink levert en ontvangt daarop
een antwoord. Met een lokale, caching
DNS-server hoeft het verzoek maar
één keer door de caching
DNS-server naar de buitenwereld gedaan te
worden. Voor aanvullende verzoeken hoeft niet buiten het lokale
netwerk te gaan omdat het al lokaal in de cache staat.Hoe het werktDe daemon BIND heet in &os;
named.BestandBeschrijving&man.named.8;De daemon BIND.&man.rndc.8;Naamserverbeheerprogramma./etc/namedbMap waar zoneinformatie van BIND staat./etc/namedb/named.confInstellingenbestand van de daemon.Afhankelijk van hoe en gegeven zone op de server is
geconfigureerd, staan de bestanden gerelateerd aan die zone in
de submappen master,
slave, of dynamic van de map /etc/namedb. Deze bestanden
bevatten de DNS-informatie die door de
naamserver als antwoord op zoekopdrachten gegeven zal worden.BIND startenBINDstartenOmdat BIND standaard wordt geďnstalleerd, is het
instellen relatief eenvoudig.De standaardconfiguratie van
named is die van een eenvoudige
resolverende naamserver, draaiende in een &man.chroot.8;-omgeving,
en beperkt tot het luisteren op het lokale IPv4-teruglusadres
(127.0.0.1). Gebruik het volgende commando om de server eenmaal
met deze configuratie te starten:&prompt.root; service named onestartOm er zeker van te zijn dat de daemon
named elke keer bij het opstarten
gestart wordt, moet de volgende regel in
/etc/rc.conf gezet worden:named_enable="YES"Het is duidelijk dat er vele instelopties voor
/etc/namedb/named.conf zijn die buiten het
bereik van dit document vallen. Als u echter
geďnteresseerd bent in de opstartopties voor
named op &os;, bekijk dan de
named_*-vlaggen in
/etc/defaults/rc.conf en raadpleeg de
handleidingpagina &man.rc.conf.5;. De sectie is ook nuttig om te lezen.InstellingenbestandenBINDinstellingenbestandenInstellingenbestanden voor named
bevinden zich momenteel in /etc/namedb en moeten gewijzigd
worden voor gebruik, tenzij er alleen een eenvoudige resolver
nodig is. Hier vindt de meeste configuratie plaats./etc/namedb/named.conf// $FreeBSD$
//
// In de handleidingpagina's named.conf(5) en named(8), en in de
// documentatie in /usr/share/doc/bind9 zijn meer details te vinden.
//
// Voor het opzetten van een autoratieve server is een grondig begrip
// van de werking van DNS noodzakelijk. Zelfs eenvoudige fouten kunnen // de werking verstoren voor beďnvloede partijen of veel onnodig
// Internetverkeer veroorzaken.
options {
// Alle namen van bestanden en paden zijn relatief aan de chroot-map,
// indien aanwezig, en moeten volledig gekwalificeerd zijn.
directory "/etc/namedb/working";
pid-file "/var/run/named/pid"
dump-file "/var/dump/named_dump.db"
statistics-file "/var/stats/named.stats"
// Als named alleen als een lokale resolver gebruikt wordt, is dit een
// veilige standaardinstelling. Om named toegang tot het netwerk te
// verschaffen, dient deze optie gecommentarieerd te worden, het
// juiste IP-adres opgegeven te worden, of dient deze optie verwijderd
// te worden.
listen-on { 127.0.0.1; };
// Als u IPv6 aan heeft staan op dit systeem, dient deze optie
// uitgecommentarieerd te worden om als lokale resolver te dienen. Om
// toegang tot het netwerk te verschaffen, dient een IPv6-adres of het
// sleutelwoord "any" gegeven te worden.
// listen-on-v6 { ::1; };
// Deze zones zijn reeds opgenomen door de lege zones die hieronder
// staan. Als u de gerelateerde lege zones hieronder verwijdert,
// dienen deze regels uitgecommentarieerd te worden.
disable-empty-zone "255.255.255.255.IN-ADDR.ARPA";
disable-empty-zone "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.0.IP6.ARPA";
disable-empty-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";
// Als er een DNS-server beschikbaar is bij een upstream provider dan
// kan het IP-adres op de regel hieronder ingegeven worden en kan die
// geactiveerd worden. Hierdoor wordt voordeel gehaald uit de cache,
// waardoor het algehele DNS-verkeer op het Internet vermindert.
/*
forwarders {
127.0.0.1;
};
*/
// Als de 'forwarders'-clausule niet leeg is, is de standaard om "forward
// first" te gebruiken, welke terug zal vallen op het versturen van een
// verzoek naar uw lokale server als de naamservers in 'forwarders' het
// antwoord niet weten. Als alternatief kunt u uw naamserver dwingen om
// nooit zelf verzoeken in te dienen door de volgende regel aan te
// zetten:
// forward only;
// Als u forwarding automatisch wilt configureren gebaseerd op de regels
// in /etc/resolv.conf, verwijder dan het commentaar van de volgende
// regel en stel in /etc/rc.conf named_auto_forward=yes in. U kunt ook
// named_auto_forward_only aanzetten (het effect hiervan is hierboven
// beschreven).
// include "/etc/namedb/auto_forward.conf";Zoals al in het commentaar staat kan van een cache in de
uplink geprofiteerd worden als forwarders
ingeschakeld worden. Onder normale omstandigheden maakt een
naamserver recursief verzoeken tot het Internet op zoek naar
zekere naamservers tot er een antwoord komt waar het naar op
zoek is. Door de bovenstaande optie in te schakelen wordt
eerst de uplink naamserver (of de opgegeven naamserver)
gevraagd, waardoor er gebruik gemaakt kan worden van de cache
van die server. Als die uplink naamserver een drukke,
snelle naamserver is, kan het erg de moeite waard zijn om dit
aan te zetten.127.0.0.1 werkt hier
niet. Verander dit
IP-adres in een naamserver in de
uplink./*
Moderne versies van BIND gebruiken standaard een random
UDP-poort voor elk uitgaand verzoek om de kans op cache
poisoning drastisch te verminderen. Alle gebruikers wordt met
klem verzocht om deze mogelijkheid te gebruiken en hun
firewalls overeenkomstig aan te passen.
ALS EEN LAATSTE UITVLUCHT om een beperkende firewall te
omzeilen kunt u proberen om onderstaande optie aan te zetten.
Het gebruik van deze optie vermindert uw kans om een cache
poisoning aanval te weerstaan aanzienlijk, en dient indien
mogelijk te worden vermeden.
Vervang NNNNN in het voorbeeld door een getal tussen 49160 en
65530.
*/
// query-source address * port NNNNN;
};
// Als er een lokale naamserver wordt gebruikt, vergeet dan niet om
// eerst 127.0.0.1 in /etc/resolv.conf te zetten zodat die gevraagd
// wordt. Controleer ook dat het in /etc/rc.conf is aangezet.
// Het traditionele root-hint-mechanisme. Gebruik dit OF de
// onderstaande slaafzones.
zone "." { type hint; file "/etc/namedb/named.root"; };
/* Het slaaf maken van de volgende zones vanaf de root-naamservers
heeft een aantal aanzienlijke voordelen:
1. Snellere lokale resolutie voor uw gebruikers
2. Geen vals verkeer dat vanaf uw netwerk naar de roots wordt verzonden
3. Betere weerstand tegen elke mogelijk falen van de rootserver/DDoS
Wel is het zo dat deze methode meer toezicht vraagt dan het
hintbestand om er zeker van te zijn dat een onverwachte
faalmodus uw server niet heeft lamgelegd. Naamservers die
veel clienten serveren zullen meer voordeel uit deze aanpak
halen dan individuele hosts. Met zorg gebruiken.
Verwijder het commentaar uit de onderstaande regels en
commentarieer de bovenstaande hintzone om dit mechanisme te
gebruiken.
Zoals gedocumenteerd op http://dns.icann.org/services/axfr/ zijn deze
zones: "." (de root), ARPA, IN-ADDR.ARPA, IP6.ARPA en ROOT-SERVERS.NET
beschikbaar voor AXFR van deze servers op IPv4 en IPv6:
xfr.lax.dns.icann.org, xfr.cjr.dns.icann.org
*/
zone "." {
type slave;
file "/etc/namedb/slave/root.slave";
masters {
192.5.5.241; // F.ROOT-SERVERS.NET.
};
notify no;
};
zone "arpa" {
type slave;
file "/etc/namedb/slave/arpa.slave";
masters {
192.5.5.241; // F.ROOT-SERVERS.NET.
};
notify no;
};
/* Het lokaal serveren van de volgende zones voorkomt dat enig
verzoek voor deze zones uw netwerk verlaat en naar de
root-naamservers gaat. Dit heeft twee aanzienlijke voordelen:
1. Snellere lokale resolutie voor uw gebruikers
2. Er zal geen vals verkeer vanaf uw netwerk naar de roots worden verzonden
*/
// RFCs 1912 en 5735 (en BCP32 voor localhost)
zone "localhost" { type master; file "/etc/namedb/master/localhost-forward.db"; };
zone "127.in-addr.arpa" { type master; file "/etc/namedb/master/localhost-reverse.db"; };
zone "255.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; };
// RFC 1912-stijl zone voor IPv6 localhost adres
zone "0.ip6.arpa" { type master; file "/etc/namedb/master/localhost-reverse.db"; };
// "Dit" netwerk (RFCs 1912 en 5735)
zone "0.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; };
// Netwerken voor privaat gebruik (RFC 1918 en 5735)
zone "10.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; };
zone "16.172.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; };
zone "17.172.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; };
zone "18.172.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; };
zone "19.172.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; };
zone "20.172.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; };
zone "21.172.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; };
zone "22.172.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; };
zone "23.172.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; };
zone "24.172.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; };
zone "25.172.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; };
zone "26.172.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; };
zone "27.172.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; };
zone "28.172.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; };
zone "29.172.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; };
zone "30.172.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; };
zone "31.172.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; };
zone "168.192.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; };
// Lokale link/APIPA (RFCs 3927 en 5735)
zone "254.169.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; };
// IETF protocol-toewijzingen (RFCs 5735 en 5736)
zone "0.0.192.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; };
// TEST-NET-[1-3] voor documentatie (RFCs 5735 en 5737)
zone "2.0.192.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; };
zone "100.51.198.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; };
zone "113.0.203.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; };
// IPv6-bereik voor documentatie (RFC 3849)
zone "8.b.d.0.1.0.0.2.ip6.arpa" { type master; file "/etc/namedb/master/empty.db"; };
// Domeinnamen voor documentatie en testen (BCP 32)
zone "test" { type master; file "/etc/namedb/master/empty.db"; };
zone "example" { type master; file "/etc/namedb/master/empty.db"; };
zone "invalid" { type master; file "/etc/namedb/master/empty.db"; };
zone "example.com" { type master; file "/etc/namedb/master/empty.db"; };
zone "example.net" { type master; file "/etc/namedb/master/empty.db"; };
zone "example.org" { type master; file "/etc/namedb/master/empty.db"; };
// Router benchmarken (RFC 2544 en 5735)
zone "18.198.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; }
zone "19.198.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; }
// Gereserveerd door IANA - oude ruimte van klasse E (RFC 5735)
zone "240.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; }
zone "241.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; }
zone "242.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; }
zone "243.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; }
zone "244.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; }
zone "245.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; }
zone "246.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; }
zone "247.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; }
zone "248.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; }
zone "249.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; }
zone "250.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; }
zone "251.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; }
zone "252.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; }
zone "253.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; }
zone "254.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; }
// Niet-toegewezen IPv6-adressen (RFC 4291)
zone "1.ip6.arpa" { type master; file "/etc/namedb/master/empty.db"; }
zone "2.ip6.arpa" { type master; file "/etc/namedb/master/empty.db"; }
zone "3.ip6.arpa" { type master; file "/etc/namedb/master/empty.db"; }
zone "4.ip6.arpa" { type master; file "/etc/namedb/master/empty.db"; }
zone "5.ip6.arpa" { type master; file "/etc/namedb/master/empty.db"; }
zone "6.ip6.arpa" { type master; file "/etc/namedb/master/empty.db"; }
zone "7.ip6.arpa" { type master; file "/etc/namedb/master/empty.db"; }
zone "8.ip6.arpa" { type master; file "/etc/namedb/master/empty.db"; }
zone "9.ip6.arpa" { type master; file "/etc/namedb/master/empty.db"; }
zone "a.ip6.arpa" { type master; file "/etc/namedb/master/empty.db"; }
zone "b.ip6.arpa" { type master; file "/etc/namedb/master/empty.db"; }
zone "c.ip6.arpa" { type master; file "/etc/namedb/master/empty.db"; }
zone "d.ip6.arpa" { type master; file "/etc/namedb/master/empty.db"; }
zone "e.ip6.arpa" { type master; file "/etc/namedb/master/empty.db"; }
zone "0.f.ip6.arpa" { type master; file "/etc/namedb/master/empty.db"; }
zone "1.f.ip6.arpa" { type master; file "/etc/namedb/master/empty.db"; }
zone "2.f.ip6.arpa" { type master; file "/etc/namedb/master/empty.db"; }
zone "3.f.ip6.arpa" { type master; file "/etc/namedb/master/empty.db"; }
zone "4.f.ip6.arpa" { type master; file "/etc/namedb/master/empty.db"; }
zone "5.f.ip6.arpa" { type master; file "/etc/namedb/master/empty.db"; }
zone "6.f.ip6.arpa" { type master; file "/etc/namedb/master/empty.db"; }
zone "7.f.ip6.arpa" { type master; file "/etc/namedb/master/empty.db"; }
zone "8.f.ip6.arpa" { type master; file "/etc/namedb/master/empty.db"; }
zone "9.f.ip6.arpa" { type master; file "/etc/namedb/master/empty.db"; }
zone "a.f.ip6.arpa" { type master; file "/etc/namedb/master/empty.db"; }
zone "b.f.ip6.arpa" { type master; file "/etc/namedb/master/empty.db"; }
zone "0.e.f.ip6.arpa" { type master; file "/etc/namedb/master/empty.db"; }
zone "1.e.f.ip6.arpa" { type master; file "/etc/namedb/master/empty.db"; }
zone "2.e.f.ip6.arpa" { type master; file "/etc/namedb/master/empty.db"; }
zone "3.e.f.ip6.arpa" { type master; file "/etc/namedb/master/empty.db"; }
zone "4.e.f.ip6.arpa" { type master; file "/etc/namedb/master/empty.db"; }
zone "5.e.f.ip6.arpa" { type master; file "/etc/namedb/master/empty.db"; }
zone "6.e.f.ip6.arpa" { type master; file "/etc/namedb/master/empty.db"; }
zone "7.e.f.ip6.arpa" { type master; file "/etc/namedb/master/empty.db"; }
// IPv6 ULA (RFC 4193)
zone "c.f.ip6.arpa" { type master; file "/etc/namedb/master/empty.db"; }
zone "d.f.ip6.arpa" { type master; file "/etc/namedb/master/empty.db"; }
// IPv6 lokale link (RFC 4291)
zone "8.e.f.ip6.arpa" { type master; file "/etc/namedb/master/empty.db"; }
zone "9.e.f.ip6.arpa" { type master; file "/etc/namedb/master/empty.db"; }
zone "a.e.f.ip6.arpa" { type master; file "/etc/namedb/master/empty.db"; }
zone "b.e.f.ip6.arpa" { type master; file "/etc/namedb/master/empty.db"; }
// IPv6 verouderde site-lokale adressen (RFC 3879)
zone "c.e.f.ip6.arpa" { type master; file "/etc/namedb/master/empty.db"; }
zone "d.e.f.ip6.arpa" { type master; file "/etc/namedb/master/empty.db"; }
zone "e.e.f.ip6.arpa" { type master; file "/etc/namedb/master/empty.db"; }
zone "f.e.f.ip6.arpa" { type master; file "/etc/namedb/master/empty.db"; }
// IP6.INT is verouderd (RFC 4159)
zone "ip6.int" { type master; file "/etc/namedb/master/empty.db"; }
// NB: De IP-adressen hieronder zijn bedoeld als voorbeeld en dienen
// niet gebruikt te worden!
//
// Voorbeeld instellingen voor slaafzones. Het kan handig zijn om
// tenminste slaaf te worden voor de zone waar de host onderdeel van
// uitmaakt. Bij uw netwerkbeheerder kan het IP-adres van de
// verantwoordelijke meester-naamserver nagevraagd worden.
//
// Vergeet niet om de omgekeerde lookup-zone op te nemen!
// Dit is genoemd na de eerste bytes van het IP-adres, in omgekeerde
// volgorde, met daarachter ".IN-ADDR.ARPA", of "IP6.ARPA" voor IPv6.
//
// Het is van groot belang om de werking van DNS en BIND te begrijpen
// voordat er een meester-zone wordt opgezet. Er zijn nogal wat
// onverwachte valkuilen. Het opzetten van een slaafzone is
// gewoonlijk eenvoudiger.
//
// NB: Zet de onderstaande voorbeelden niet blindelings aan. :-)
// Gebruik in plaats hiervan echte namen en adressen.
/* Een voorbeeld van een dynamische zone
key "exampleorgkey" {
algorithm hmac-md5;
secret "sf87HJqjkqh8ac87a02lla==";
};
zone "example.org" {
type master;
allow-update {
key "exampleorgkey";
};
file "/etc/namedb/dynamic/example.org";
};
*/
/* Voorbeeld van een omgekeerde slaafzone
zone "1.168.192.in-addr.arpa" {
type slave;
file "/etc/namedb/slave/1.168.192.in-addr.arpa";
masters {
192.168.1.1;
};
};
*/In named.conf zijn dit voorbeelden
van slaafregels voor een voorwaartse en een omgekeerde
zone.Voor iedere nieuwe zone die wordt aangeboden dient een
nieuwe instelling voor de zone aan
named.conf toegevoegd te worden.De eenvoudigste instelling voor de zone example.org kan er als volgt
uitzien:zone "example.org" {
type master;
file "master/example.org";
};De zone is een master, zoals aangegeven door het statement
, waarvan de zoneinformatie in
/etc/namedb/example.org staat, zoals het
statement aangeeft.zone "example.org" {
type slave;
file "slave/example.org";
};In het geval van de slaaf wordt de zoneinformatie voor een
zone overgedragen van de master naamserver en opgeslagen in
het ingestelde bestand. Als de masterserver het niet meer
doet of niet bereikbaar is, dan heeft de slaveserver de
overgedragen zoneinformatie nog en kan het die aanbieden.ZonebestandenBINDzonebestandenEen voorbeeldbestand voor een masterzone voor example.org (bestaande binnen
/etc/namedb/master/example.org) ziet er
als volgt uit:$TTL 3600 ; 1 uur standaard TTL
example.org. IN SOA ns1.example.org. admin.example.org. (
2006051501 ; Serienummer
10800 ; Verversen
3600 ; Opnieuw proberen
604800 ; Verlopen
300 ; Negatieve antwoord-TTL
)
; DNS Servers
IN NS ns1.example.org.
IN NS ns2.example.org.
; MX Records
IN MX 10 mx.example.org.
IN MX 20 mail.example.org.
IN A 192.168.1.1
; Machinenamen
localhost IN A 127.0.0.1
ns1 IN A 192.168.1.2
ns2 IN A 192.168.1.3
mail IN A 192.168.1.4
mx IN A 192.168.1.5
; Aliases
www IN CNAME example.org.Iedere hostnaam die eindigt op een . is
een exacte hostnaam, terwijl alles zonder een
. op het einde relatief is aan de oorsprong.
Zo wordt ns1 bijvoorbeeld vertaald naar
ns1.example.org..De regels in een zonebestand volgen de volgende opmaak:recordnaam IN recordtype waardeDNSrecordsDe meest gebruikte DNS-records:SOAbegin van autoriteit (start of
authority)NSeen bevoegde (autoratieve) name
serverAeen hostadresCNAMEde canonieke naam voor een aliasMXmail exchangerPTReen domeinnaam pointer (gebruikt in
omgekeerde DNS)example.org. IN SOA ns1.example.org. admin.example.org. (
2006051501 ; Serienummer
10800 ; Ververs na 3 uur
3600 ; Opnieuw proberen na 1 uur
604800 ; Verlopen na 1 week
300 ; Negatieve antwoord-TTLexample.org.de domeinnaam, ook de oorsprong voor dit
zonebestand.ns1.example.org.de primaire/bevoegde naamserver voor deze
zone.admin.example.org.de persoon die verantwoordelijk is voor
deze zone, emailadres met @ vervangen.
admin@example.org wordt
admin.example.org.2006051501het serienummer van het bestand. Dit moet iedere
keer als het zonebestand wordt aangepast opgehoogd
worden. Tegenwoordig geven veel beheerders de voorkeur
aan de opmaak yyyymmddrr voor het
serienummer. 2006051501 betekent
dan dat het voor het laatst is aangepast op
15–05–2006, de laatste
01 betekent dat het zonebestand die
dag voor het eerst is aangepast. Het serienummer is
belangrijk omdat het slaafnaamservers aangeeft dat een
zone is bijgewerkt. IN NS ns1.example.org.Hierboven staat een NS-regel. Voor iedere naamserver die
bevoegde antwoorden moet geven voor de zone hoort er zo'n
regel te zijn.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
mail IN A 192.168.1.5Een A-record geeft een machinenaam aan. Hierboven is te
zien dat ns1.example.org zou
resolven naar 192.168.1.2. IN A 192.168.1.1Deze regel kent IP-adres 192.168.1.1 toe aan de huidige
oorsprong, in dit geval example.org.www IN CNAME @Een canoniek naamrecord wordt meestal gebruikt voor het
geven van aliassen aan een machine. In het voorbeeld is
www een alias naar de master
machine waarvan de naam gelijk is aan de domeinnaam example.org (192.168.1.1). CNAME's kunnen
nooit samen met een ander soort record voor dezelfde hostnaam
gebruikt worden.MX record IN MX 10 mail.example.org.MX records geven aan welke mailservers verantwoordelijk
zijn voor het afhandelen van inkomende mail voor de zone.
mail.example.org is de hostnaam
van een mailserver en 10 is de prioriteit voor die mailserver.Het is mogelijk meerdere mailservers in te stellen met
prioriteiten 10, 20, enzovoorts. Een mailserver die probeert
mail af te leveren voor example.org probeert dat eerst
bij de MX met de hoogste prioriteit (het record met het
laagste prioriteitsnummer), daarna de tweede hoogste,
enzovoort, totdat de mail afgeleverd kan worden.Voor in-addr.arpa zonebestanden (omgekeerd DNS) wordt
dezelfde opmaak gebruikt, maar dan met PTR-regels in plaats
van A of CNAME.$TTL 3600
1.168.192.in-addr.arpa. IN SOA ns1.example.org. admin.example.org. (
2006051501 ; Serienummer
10800 ; Ververs
3600 ; Opnieuw proberen
604800 ; Verlopen
300 ) ; Negatieve antwoord-TTL
IN NS ns1.example.org.
IN NS ns2.example.org.
1 IN PTR example.org.
2 IN PTR ns1.example.org.
3 IN PTR ns2.example.org.
4 IN PTR mx.example.org.
5 IN PTR mail.example.org.Dit bestand geeft de juiste IP-adressen voor hostnamen
in het voorbeelddomein hierboven.Het is het vernoemen waard dat alle namen aan de rechterkant
van een PTR-record volledig gekwalificeerd dienen te zijn
(i.e., met een . eindigen).Caching naamserverBINDcaching naamserverEen caching naamserver is een naamserver wiens primaire rol
het oplossen van recursieve verzoeken is. Het dient simpelweg
zelf verzoeken in en onthoudt de antwoorden voor later gebruik.DNSSECBINDDNS veiligheidsuitbreidingenDomain Name Security System Extensions, ofwel DNSSEC, is een
verzameling van specificaties om resolvende naamservers te beschermen
tegen valse DNS-gegevens, zoals vervalste
DNS-records. Door digitale handtekeningen te
gebruiken kan een resolver de integriteit van een record controleren.
Merk op dat DNSSEC
alleen integriteit biedt via het digitaal ondertekenen van het Resource
Record (RRs). Het biedt noch
betrouwbaarheid noch bescherming tegen onjuiste aannames van
eindgebruikers. Dit betekent dat het mensen niet kan beschermen tegen
het bezoeken van example.net in
plaats van example.com. Het enige
wat DNSSEC doet is authenticeren dat de gegevens
niet tijdens het transport zijn gecompromitteerd. De beveiliging van
DNSSEC is een belangrijke stap in het beveiligen van
het internet in het algemeen. De relevante RFCs zijn
een goed beginpunt voor meer gedetailleerde gegevens over hoe
DNSSEC werkt. Raadpleeg de lijst in
.De volgende secties laten zien hoe DNSSEC voor
een autoratieve DNS-server en een recursieve (of
caching) DNS-server die BIND 9
draait kan worden bewerkstelligd. Hoewel alle versies van
BIND 9 DNSSEC ondersteunen, is
tenminste versie 9.6.2 nodig om gebruik te kunnen maken van de
ondertekende rootzones tijdens het valideren van
DNS-verzoeken. Dit komt doordat
eerdere versies de benodigde algoritmes om validatie met de sleutel
voor de rootzone te uit te voeren niet hebben. Het wordt sterk
aangeraden om de nieuwste versie van BIND 9.7 te
gebruiken om gebruik te kunnen maken van automatische sleutel-updates
voor de rootsleutel en van andere mogelijkheden om zones ondertekend en
sleutel up-to-date te houden. Wanneer configuraties tussen 9.6.2 en 9.7
en later verschillen, zullen deze worden toegelicht.Configuratie van een recursieve
DNS-serverHet aanzetten van DNSSEC-validatie van
verzoeken die door een recursieve DNS-server worden
uitgevoerd heeft enkele aanpassingen aan
named.conf nodig. Voordat deze wijzigingen
worden gemaakt dient de rootzone-sleutel, of vertrouwensanker, te
worden opgehaald. Momenteel is de rootzone-sleutel niet beschikbaar
in een bestandsformaat dat BIND begrijpt, dus moet
het handmatig in het juiste formaat omgezet worden. De sleutel zelf
kan verkregen worden door de rootzone ervoor met
dig te ondervragen. Door&prompt.user; dig +multi +noall +answer DNSKEY . > root.dnskeyte draaien, wordt de sleutel in root.dnskey
opgeslagen. De inhoud dient er ongeveer als volgt uit te zien:. 93910 IN DNSKEY 257 3 8 (
AwEAAagAIKlVZrpC6Ia7gEzahOR+9W29euxhJhVVLOyQ
bSEW0O8gcCjFFVQUTf6v58fLjwBd0YI0EzrAcQqBGCzh
/RStIoO8g0NfnfL2MTJRkxoXbfDaUeVPQuYEhg37NZWA
JQ9VnMVDxP/VHL496M/QZxkjf5/Efucp2gaDX6RS6CXp
oY68LsvPVjR0ZSwzz1apAzvN9dlzEheX7ICJBBtuA6G3
LQpzW5hOA2hzCTMjJPJ8LbqF6dsV6DoBQzgul0sGIcGO
Yl7OyQdXfZ57relSQageu+ipAdTTJ25AsRTAoub8ONGc
LmqrAmRLKBP1dfwhYB4N7knNnulqQxA+Uk1ihz0=
) ; key id = 19036
. 93910 IN DNSKEY 256 3 8 (
AwEAAcaGQEA+OJmOzfzVfoYN249JId7gx+OZMbxy69Hf
UyuGBbRN0+HuTOpBxxBCkNOL+EJB9qJxt+0FEY6ZUVjE
g58sRr4ZQ6Iu6b1xTBKgc193zUARk4mmQ/PPGxn7Cn5V
EGJ/1h6dNaiXuRHwR+7oWh7DnzkIJChcTqlFrXDW3tjt
) ; key id = 34525Schrik niet als de verkregen sleutels anders zijn dan in dit
voorbeeld. Ze kunnen zijn veranderd nadat deze instructies voor het
laatst waren bijgewerkt. De uitvoer bevat in feite twee sleutels. De
eerste sleutel, met de waarde 257 na het DNSKEY-recordtype, is degene
die nodig is. Deze waarde geeft aan dat dit een Secure Entry Point (
SEP) is, beter bekend als
een Key Signing Key (KSK).
De tweede sleutel, met de waarde 256, is een deelsleutel, beter bekend
als een Zone Signing Key (ZSK). Meer over de verschillende
soorten sleutels komt aan bod in .Nu moet de sleutel gecontroleerd en geformatteerd worden zodat
BIND deze kan gebruiken. Maak om de sleutel te
controleren een DS -
RR-paar aan. Maak een
bestand aan dat deze RRs
bevat aan met&prompt.user; dnssec-dsfromkey -f root-dnskey . > root.dsDeze records gebruiken respectievelijk SHA-1 en SHA-256, en dienen
er als het volgende voorbeeld uit te zien, waarbij het langere record
SHA-256 gebruikt.. IN DS 19036 8 1 B256BD09DC8DD59F0E0F0D8541B8328DD986DF6E
. IN DS 19036 8 2 49AAC11D7B6F6446702E54A1607371607A1A41855200FD2CE1CDDE32F24E8FB5Het SHA-256 RR kan nu worden vergeleken met de
digest in https://data.iana.org/root-anchors/root-anchors.xml.
Om er absoluut zeker van te zijn dat er niet geknoeid is met de
sleutel kunnen de gegevens in het XML-bestand
worden gecontroleerd met de PGP-handtekening in
https//data.iana.org/root-anchors/root-anchors.asc.Vervolgens dient de sleutel juist geformateerd te worden. Dit
verschilt een beetje tussen versie 9.6.2 en versie 9.7 en later van
BIND. In versie 9.7 is ondersteuning toegevoegd om
automatisch veranderingen aan de sleutel te volgen en deze bij te
werken indien nodig. Dit wordt gedaan met
managed-keys zoals in het volgende voorbeeld te
zien is. Als de oudere versie gebruikt wordt, wordt de sleutel
toegevoegd met een commando trusted-keys en dient
deze handmatig bijgewerkt te worden. Voor BIND
9.6.2 ziet het formaat er uit als:trusted-keys {
"." 257 3 8
"AwEAAagAIKlVZrpC6Ia7gEzahOR+9W29euxhJhVVLOyQbSEW0O8gcCjF
FVQUTf6v58fLjwBd0YI0EzrAcQqBGCzh/RStIoO8g0NfnfL2MTJRkxoX
bfDaUeVPQuYEhg37NZWAJQ9VnMVDxP/VHL496M/QZxkjf5/Efucp2gaD
X6RS6CXpoY68LsvPVjR0ZSwzz1apAzvN9dlzEheX7ICJBBtuA6G3LQpz
W5hOA2hzCTMjJPJ8LbqF6dsV6DoBQzgul0sGIcGOYl7OyQdXfZ57relS
Qageu+ipAdTTJ25AsRTAoub8ONGcLmqrAmRLKBP1dfwhYB4N7knNnulq
QxA+Uk1ihz0=";
};Voor versie 9.7 ziet het formaat er echter zo uit:managed-keys {
"." initial-key 257 3 8
"AwEAAagAIKlVZrpC6Ia7gEzahOR+9W29euxhJhVVLOyQbSEW0O8gcCjF
FVQUTf6v58fLjwBd0YI0EzrAcQqBGCzh/RStIoO8g0NfnfL2MTJRkxoX
bfDaUeVPQuYEhg37NZWAJQ9VnMVDxP/VHL496M/QZxkjf5/Efucp2gaD
X6RS6CXpoY68LsvPVjR0ZSwzz1apAzvN9dlzEheX7ICJBBtuA6G3LQpz
W5hOA2hzCTMjJPJ8LbqF6dsV6DoBQzgul0sGIcGOYl7OyQdXfZ57relS
Qageu+ipAdTTJ25AsRTAoub8ONGcLmqrAmRLKBP1dfwhYB4N7knNnulq
QxA+Uk1ihz0=";
};De rootsleutel kan nu aan named.conf worden
toegevoegd, ofwel direct of door een bestand dat de sleutel bevat te
includen. Stel na deze stappen BIND in zodat het
DNSSEC-validatie uitvoert op verzoeken door
named.conf te bewerken en het volgende aan de
directief options toe te voegen:dnssec-enable yes;
dnssec-validation yes;Om te controleren dat het ook echt werkt, kan
dig gebruikt worden om een verzoek op een
ondertekende zone uit te voeren met de zojuist geconfigureerde
resolver. Een succesvol antwoord zal de vlag AD
bevatten om aan te geven dat de gegevens zijn geautenticeerd. Een
verzoek als&prompt.user; dig @resolver +dnssec se ds zou het DS RR paar voor de
.se-zone moeten teruggeven. In de sectie
flags: moet de vlag AD te zien
zijn, als in:...
;; flags: qr rd ra ad; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 1
...De resolver is nu in staat om DNS-verzoeken te
autenticeren.Configuratie van een autoratieve
DNS-serverOm een autoratieve naamserver een met DNSSEC
ondertekende zone te laten serveren is wat meer werk nodig. Een zone
wordt ondertekend met cryptografische sleutels die aangemaakt moeten
worden. Het is mogelijk om hier slechts één sleutel
voor te gebruiken. De methode die de voorkeur verdient is echter om
een sterke, goed beschermde Key Signing Key (KSK) die niet vaak wordt geroteerd
en een Zone Signing Key (ZSK) die vaker wordt geroteerd te
hebben. Informatie over aanbevolen procedures staat in RFC
4641: DNSSEC Operational Practices.
Procedures betreffende de rootzone staan in DNSSEC
Practice Statement for the Root Zone KSK
operator en DNSSEC
Practice Statement for the Root Zone ZSK
operator. De KSK
wordt gebruikt om een autoriteitsketen voor de te valideren gegevens
op te bouwen en wordt daarom ook een Secure Entry Point (SEP)-sleutel genoemd. Een
bericht-digest van deze sleutel, dat Delegation Signer (DS)-record genoemd wordt, moet
gepubliceerd zijn in de ouderzone om een vertrouwensketen op te
bouwen. Hoe dit bereikt wordt hangt af van de eigenaar van de
ouderzone. De ZSK wordt
gebruikt om de zone te ondertekenen, en hoeft alleen daar gepubliceerd
te worden.Om DNSSEC aan te zetten voor de zone example.com zoals beschreven in de
voorgaande voorbeelden, dient als eerste
dnssec-keygen gebruikt te worden om het
sleutelpaar met de KSK en ZSK
te genereren. Dit sleutelpaar kan verschillende cryptografische
algoritmes gebruiken. Het wordt aanbevolen om RSA/SHA-256 voor de
sleutels te gebruiken, een sleutellengte van 2048 bits zou voldoende
moeten zijn. Om de KSK voor example.com te genereren:&prompt.user; dnssec-keygen -f KSK -a RSASHA256 -b 2048 -n ZONE example.comen om de ZSK te genereren:&prompt.user; dnssec-keygen -a RSASHA256 -b 2048 -n ZONE example.comdnssec-keygen maakt twee bestanden, de
publieke en private sleutels in bestanden met namen als
Kexample.com.+005+nnnnn.key (publiek) en
Kexample.com.+005+nnnnn.private (privaat). Het
gedeelte nnnnn van de bestandsnaam is een
sleutel-ID van vijf cijfers. Houd bij welke sleutel-ID bij welke
sleutel hoort. Dit is in het bijzonder van belang wanneer er meerdere
sleutels per zone zijn. Het is ook mogelijk om de sleutels te
hernoemen. Voor elk KSK-bestand:&prompt.user; mv Kexample.com.+005+nnnnn.key Kexample.com.+005+nnnn.KSK.key
&prompt.user; mv Kexample.com.+005+nnnnn.private Kexample.com.+005+nnnnn.KSK.privateVoor ZSK-bestanden dient KSK
waar nodig door ZSK vervangen te worden. De
bestanden kunnen nu worden opgenomen in het zonebestand, door de
opdracht $include te gebruiken. Het zou er
ongeveer als volgt uit moeten zien:$include Kexample.com.+005+nnnnn.KSK.key ; KSK
$include Kexample.com.+005+nnnnn.ZSK.key ; ZSKOnderteken tenslotte de zone en vertel BIND om
het ondertekende zonebestand te gebruiken. Voor het ondertekenen van
een zone wordt dnssec-signzone gebruikt.
Het commando om de zone example.com, dat zich in
example.com.db bevindt, zou er ongeveer zo
uit moeten zien:&prompt.user; dnssec-signzone -o example.com -k Kexample.com.+005+nnnnn.KSK example.com.db Kexample.com.+005+nnnnn.ZSK.keyDe sleutel die aan het argument wordt
meegegeven is de KSK en het andere sleutelbestand
is de ZSK dat bij het ondertekenen gebruikt moet
worden. Het is mogelijk om meer dan één
KSK en ZSK op te geven, wat tot
gevolg heeft dat de zone met alle meegegeven sleutels wordt
ondertekend. Dit kan nodig zijn om zonegegevens aan te leveren die
met meerdere algoritmes zijn ondertekend. De uitvoer van
dnssec-signzone is een zonebestand met
daarin alle RRs ondertekend. Deze uitvoer komt in
een bestand met de extensie .signed terecht, zoals
example.com.db.signed. De DS-records worden ook naar een
apart bestand dsset-example.com geschreven. Om
deze ondertekende zone te gebruiken hoeft alleen de zone-directief in
named.conf veranderd te worden om
example.com.db.signed. Standaard zijn de
ondertekeningen slechts 30 dagen geldig, wat betekent dat de zone over
ongeveer 15 dagen hertekend moet worden om er zeker van te zijn dat
resolvers geen records met oude ondertekeningen cachen. Het is
mogelijk om hiervoor een script en een crontaak te maken. Bekijk de
relevante handleidingen voor details.Zorg ervoor dat de private sleutels veilig blijven, zoals met alle
cryptografische sleutels. Bij het veranderen van een sleutel kan het
beste de nieuwe sleutel in de zone opgenomen worden, en nog met de
oude sleutel te ondertekenen, en om daarna over te stappen op de
nieuwe sleutel. Nadat deze handelingen zijn voltooid kan de oude
sleutel uit de zone worden verwijderd. Wanneer dit niet wordt gedaan
kunnen de DNS-gegevens tijdelijk onbeschikbaar zijn
totdat de nieuwe sleutel door de
DNS-hiërarchie is gepropageerd. Meer
informatie over sleutelwisselingen en andere
praktijken rondom DNSSEC staan in RFC
4641: DNSSEC Operational
practices.Automatisering met BIND 9.7 of nieuwerIn versie 9.7 van BIND is een nieuwe
mogelijkheid genaamd Smart Signing
geďntroduceerd. Deze mogelijkheid heeft als doel om het
sleutelbeheer en ondertekenproces eenvoudiger te maken door delen van
deze taken te automatiseren. Door de sleutels in een
sleutelreservoir te stoppen en de nieuwe optie
auto-dnssec te gebruiken, is het mogelijk om een
dynamische zone aan te maken welke opnieuw getekend wordt indien dat
nodig is. Gebruik om deze zone bij te werken
nsupdate met de nieuwe .
rndc kan nu ook zones ondertekenen met
sleutels uit het sleutelreservoir door de optie
te gebruiken. Voeg, om BIND dit automatische
ondertekenen en bijwerken van zones te laten gebruiken voor example.com, het volgende aan
named.conf toe:zone example.com {
type master;
key-directory "/etc/named/keys";
update-policy local;
auto-dnssec maintain;
file "/etc/named/dynamic/example.com.zone";
};Nadat deze veranderingen gemaakt zijn, dienen de sleutels voor de
zone aangemaakt te worden zoals uitgelegd in , deze sleutels in het sleutelreservoir
gestopt te worden dat als argument aan de
key-directory in het zoneconfiguratie is
meegegeven, waarna de zone automatisch zal worden ondertekend. Zones
die op deze manier zijn geconfigureerd dienen met
nsupdate te worden gedaan, dat voor het
opnieuw ondertekenen van de zone met de nieuw toegevoegde gegevens zal
zorgen. Zie voor meer details en de
BIND-documentatie.BeveiligingHoewel BIND de meest gebruikte implementatie van DNS is, is
er altijd nog het beveiligingsvraagstuk. Soms worden er
mogelijke en te misbruiken beveiligingsgaten gevonden.Hoewel &os; named automatisch in
een &man.chroot.8;-omgeving plaatst; zijn er verschillende
andere beveiligingsmechanismen actief die zouden kunnen helpen
om mogelijke aanvallen op de DNS-dienst af te
wenden.Het is altijd verstandig om de CERT
beveiligingswaarschuwingen te lezen en een abonnement te nemen
op de &a.security-notifications; om bij te blijven met de
beveiligingsproblemen wat betreft Internet en &os;.Als er problemen ontstaan, kan het bijwerken van broncode
en het opnieuw bouwen van named
hulp bieden.Verder lezenBIND/named hulppagina's:
&man.rndc.8; &man.named.8; &man.named.conf.5; &man.nsupdate.1;
&man.dnssec-signzone.8; &man.dnssec-keygen.8;Officiële
ISC BIND paginaOfficieel ISC BIND
ForumO'Reilly DNS en
BIND 5e EditieRoot
DNSSEC
DNSSEC Trust Anchor Publication for the Root
ZoneRFC1034 -
Domain Names - Concepts and FacilititiesRFC1035 -
Domain Names - Implementation and SpecificationRFC4033 -
DNS Security Introduction and RequirementsRFC4034 -
Resource Records for the DNS Security ExtensionsRFC4035 -
Protocol Modifications for the DNS Security
ExtensionsRFC4641 -
DNSSEC Operational PracticesRFC5011 -
Automated Updates of DNS Security (DNSSEC
Trust Anchors)MurrayStokelyGeschreven door Apache HTTP serverwebserversopzettenApacheOverzicht&os; wordt gebruikt om een paar van de drukste websites ter
wereld te draaien. De meeste webservers op Internet maken
gebruik van de Apache HTTP Server.
Apache softwarepakketten staan op de
&os; installatiemedia. Als Apache
niet bij de oorspronkelijke installatie van &os; is
meegeďnstalleerd, dan kan dat vanuit de port www/apache22.Als Apache succesvol is
geďnstalleerd, moeten er instellingen gemaakt worden.In dit onderdeel wordt versie 2.2.X van de
Apache HTTP Server behandeld omdat
die het meest gebruikt wordt op &os;.
Meer gedetailleerde informatie over
Apache 2.X dat buiten het bereik van
dit document valt is te vinden op .InstellenApacheconfiguratiebestandHet belangrijkste bestand met instellingen voor de
Apache HTTP Server op &os; is
/usr/local/etc/apache22/httpd.conf. Dit
bestand is een typisch &unix; tekstgebaseerd
instellingenbestand waarin regels met commentaar beginnen met
het karakter #. Het uitputtend beschrijven
van alle mogelijke instellingen valt buiten het bereik van dit
boek, dus worden alleen de meest gebruikte directieven
beschreven.ServerRoot "/usr/local"Hierin wordt de standaard mappenhiërarchie voor
de Apache installatie
aangegeven. Binaire bestanden staan in de submappen
bin en sbin van de serverroot en
bestanden met instellingen staan in etc/apache.ServerAdmin beheerder@beheer.adresHet adres waaraan problemen met de server gemaild
kunnen worden. Dit adres verschijnt op een aantal door de
server gegenereerde pagina's, zoals documenten met
foutmeldingen.ServerName www.example.comMet ServerName kan een hostnaam
ingesteld worden die wordt teruggezonden aan de
cliënten als de naam van de server anders is dan diegene
is ingesteld (gebruik bijvoorbeeld www in
plaats van de echte hostnaam).DocumentRoot
"/usr/local/www/apache22/data"DocumentRoot: de map waaruit de
documenten worden geserveerd. Standaard worden alle
verzoeken uit deze map gehaald, maar er kunnen symbolische
links en aliassen gebruikt worden om naar andere locaties
te wijzen.Het is altijd een goed idee om reservekopieën te maken
van het instellingenbestand voor
Apache vóór het maken
van wijzigingen. Als de juiste instellingen gemaakt zijn, kan
Apache gestart worden.Apache draaienApachestarten of stoppenDe port www/apache2 installeert
een &man.rc.8;-script dat helpt met het starten, stoppen en herstarten
van Apache en is te vinden in
/usr/local/etc/rc.d/.Om Apache met het systeem mee te
starten kan de volgende regel aan
/etc/rc.conf worden toegevoegd:apache22_enable="YES"Als het nodig is Apache met afwijkende
opties op te starten, kan de volgende regel aan
/etc/rc.conf worden toegevoegd:apache22_flags=""De configuratie van Apache kan worden
getest op fouten voordat het daemon httpd voor de
eerste keer wordt gestart, of na het maken van wijzigingen aan de
instellingen terwijl httpd draait. Dit kan direct
door het &man.rc.8;-script worden gedaan, of door het gereedschap
&man.service.8; door één van de volgende commando's op te
geven:&prompt.root; service apache22 configtestHet is belangrijk om op te merken dat
configtest geen &man.rc.8;-standaard is, verwacht
niet dat het met alle &man.rc.8;-opstartscripts werkt.Als Apache geen instellingsfouten meldt,
kan Apachehttpd
gestart worden met &man.service.8;:&prompt.root; service apache22 startDe dienst httpd kan getest worden door
http://localhost
in een webbrowser te typen, waarbij localhost
door de volledig gekwalificeerde domeinnaam wordt vervangen van de
machine die httpd draait, als het niet de lokale
machine is. De standaard webpagina die afgebeeld wordt is
/usr/local/www/apache22/data/index.html.Virtuele hostingApache ondersteunt twee
verschillende manieren van Virtuele Hosting. De eerste methode
is Naamgebaseerde Virtuele Hosting. Naamgebaseerde Virtuele
Hosting gebruikt de HTTP/1.1 headers van de cliënten om de
hostnaam uit te zoeken. Hierdoor kunnen meerdere domeinen
hetzelfde IP-adres delen.Om Apache gebruik te laten maken
van Naamgebaseerde Virtuele Hosting kan een regel als de
volgende in httpd.conf worden opgenomen:NameVirtualHost *Als een webserver www.domein.tld heet en er moet een
virtueel domein voor www.anderdomein.tld gaan draaien, dan
kunnen de volgende regels aan httpd.conf
worden toegevoegd:<VirtualHost *>
ServerName www.domein.tld
DocumentRoot /www/domein.tld
</VirtualHost>
<VirtualHost *>
ServerName www.anderdomein.tld
DocumentRoot /www/anderdomein.tld
</VirtualHost>De adressen en de paden uit dit voorbeeld kunnen in echte
implementaties uiteraard gewijzigd worden.Meer informatie over het opzetten van virtuele hosts staat
in de officiële documentatie voor
Apache op Apache modulesApachemodulesEr zijn veel verschillende
Apache modules die functionaliteit
toevoegen aan de basisdienst. De &os; Portscollectie biedt
op een eenvoudige manier de mogelijkheid om
Apache samen met de meeste populaire
add-on modules te installeren.mod_sslwebserverveiligSSLcryptografieDe module mod_ssl gebruikt de
bibliotheek OpenSSL om sterke cryptografie te leveren via de
protocollen Secure Sockets Layer (SSL v2/v3) en Transport
Layer Security (TLS v1). Deze module levert alles wat
nodig is om een getekend certificaat aan te vragen bij een
vertrouwde certificaatautoriteit om een veilige webserver
onder &os; te kunnen draaien.De module mod_ssl wordt standaard
gebouwd, maar kan worden aangezet door tijdens het compileren
-DWITH_SSL op te geven.TaalbindingenEr zijn Apache-modules beschikbare voor de meeste grote
scriptingtalen. Deze modules maken het typisch mogelijk om
Apache-modules geheel in een
scriptingtaal te schrijven. Ze worden ook vaak gebruikt als
een persistente interpreter die in de server zit en die de
rompslomp van het starten van een externe interpreter en de
opstartvertraging voor dynamische websites vermijdt, zoals
beschreven in de volgende sectie.Dynamische websiteswebserversdynamischIn het afgelopen decennium hebben steeds meer bedrijven zich
op Internet gericht om hun omzet te verhogen en hun
zichtbaarheid te vergroten. Hiermee is ook de behoefte aan
interactieve webinhoud toegenomen. Hoewel sommige bedrijven
zoals µsoft; oplossingen hebben geďntroduceerd voor
hun eigen (propriëtaire) producten, heeft ook de open
source gemeenschap een antwoord op de vraag gegeven. Moderne
opties voor dynamische webinhoud zijn onder andere Django, Ruby
on Rails, mod_perl2, en
mod_php.DjangoDjango is een BSD-gelicenseerd raamwerk ontworpen om
ontwikkelaars in staat te stellen om snel hoog presterende,
elegante webapplicaties te schrijven. Het biedt een vertaling
van objecten naar relaties zodat datatypes ontwikkeld kunnen
worden als Python-objecten, en er een rijke dynamische
databasetoegang voor die objecten kan worden geboden zonder
dat de ontwikkelaar ooit SQL hoeft te schrijven. Het biedt
ook een uitbreidbaar sjabloonsysteem zodat de applicatielogica
is gescheiden van de HTML-presentatie.Django is afhankelijk van
mod_python,
Apache, en een SQL-database-engine
naar keuze. De &os;-port zal al deze vereisten met de juiste
vlaggen voor u installeren.Django installeren met Apache2,
mod_python3 en
PostgreSQL&prompt.root; cd /usr/ports/www/py-django; make all install clean -DWITH_MOD_PYTHON3 -DWITH_POSTGRESQLAls Django en deze vereisten eenmaal zijn
geďnstalleerd, dient u een Django-projectmap te maken en
vervolgens Apache te configureren om de ingebakken
Python-interpreter te gebruiken om uw applicatie voor
specifieke URL's op uw site aan te roepen.Apache-configuratie voor Django/mod_pythonU moet een regel aan het Apache-bestand
httpd.conf toevoegen om Apache in te
stellen om verzoeken voor bepaalde URL's aan uw
webapplicatie door te geven:<Location "/">
SetHandler python-program
PythonPath "['/map/naar/uw/django-pakketten/'] + sys.path"
PythonHandler django.core.handlers.modpython
SetEnv DJANGO_SETTINGS_MODULE mijnsite.settings
PythonAutoReload On
PythonDebug On
</Location>Ruby on RailsRuby on RailsRuby on Rails is een ader opensource webraamwerk dat een
volledige ontwikkelstack biedt en geoptimaliseerd is om
webontwikkelaars productiever te maken en snel krachtige
applicaties te laten ontwikkelen. Het kan eenvoudig vanuit
het portssysteem geďnstalleerd worden.&prompt.root; cd /usr/ports/www/rubygem-rails; make all install cleanmod_perl2mod_perl2PerlHet Apache/Perl
integratieproject brengt de volledige kracht van de
programmeertaal Perl en de Apache HTTP
Server samen. Met de module
mod_perl2 is het mogelijk om
Apache-modules volledig in Perl te
schrijven. Daarnaast voorkomt een ingebouwde persistente
interpreter in de server de rompslomp van het starten van een
externe interpreter en de nadelen van de opstarttijd van
Perl.mod_perl2 is beschikbaar in de port
www/mod_perl2.TomRhodesGeschreven door mod_phpmod_phpPHPPHP, ook bekend als PHP:
Hypertext Preprocessor, is een algemene scripttaal die
bijzonder geschikt is voor webontwikkeling. Het is mogelijk
de taal in te bedden in HTML en de syntaxis
is afgeleid van C, &java; en Perl met de bedoeling
webontwikkelaars in staat te stellen om snel dynamisch
samengestelde pagina's te schrijven.Om ondersteuning voor PHP5 toe te
voegen aan de Apache webserver kan
eerst de port lang/php5
geďnstalleerd worden.Als de port lang/php5
voor het eerst geďnstalleerd wordt, worden automatisch de
beschikbare OPTIONS weergegeven. Als er
geen menu wordt weergegeven, omdat de port lang/php5 reeds in het verleden is
geďnstalleerd, is het altijd mogelijk om het optiedialoog
weer te laten verschijnen door&prompt.root; make configuit te voeren in de map van de port.Controleer in het optiedialoog dat de optie
APACHEmod_php5
als een laadbare module voor de webserver
Apache bouwt.Een heleboel sites draaien nog steeds
PHP4 om verschillende redenen
(compatibiliteitszaken of reeds in gebruik genomen
webapplicaties). Als mod_php4
nodig is in plaats van mod_php5,
gebruik dan de port lang/php4. De port lang/php4 ondersteunt een groot
deel van de configuratie- en bouwopties van de port
lang/php5.Hiermee worden de modules die nodig zijn voor de
ondersteuning van dynamische
PHP-applicaties geďnstalleerd en
ingesteld. Controleer dat de volgende secties aan
/usr/local/etc/apache22/httpd.conf zijn
toegevoegd: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>Na voltooiing is een eenvoudige aanroep van het commando
apachectl voor een nette herstart nodig om
de module PHP te laden:&prompt.root; apachectl gracefulVoor toekomstig bijwerken van PHP zal
het commando make config niet nodig zijn;
de geselecteerde OPTIONS worden automatisch
bewaard door het &os; Ports raamwerk.De ondersteuning voor PHP in &os; is
extreem modulair waardoor de basisinstallatie zeer beperkt is.
Het is heel gemakkelijk om ondersteuning toe te voegen door de
port lang/php5-extensions
te gebruiken. Deze port biedt een menugestuurde interface voor
de installatie van PHP-uitbreidingen. Als
alternatief kunnen individuele uitbreidingen worden
geďnstalleerd door de juiste port te gebruiken.Om bijvoorbeeld ondersteuning voor de
MySQL databaseserver aan
PHP5 toe te voegen kan gewoonweg de port
databases/php5-mysql
geďnstalleerd worden:Na de installatie van een uitbreiding moet de
Apache-server herladen worden om de
nieuwe veranderingen in de configuratie op te pikken:&prompt.root; apachectl gracefulMurrayStokelyGeschreven door File Transfer Protocol (FTP)FTP serversOverzichtHet File Transfer Protocol (FTP) biedt gebruikers een
eenvoudige manier om bestanden van en naar een FTP server te
verplaatsen. &os; bevat FTP
server software, ftpd, in het
basissysteem. Hierdoor is het opzetten en beheren van een
FTP server op
&os; erg overzichtelijk.InstellenDe belangrijkste stap bij het instellen is de beslissing
welke accounts toegang krijgen tot de FTP server. Een normaal
&os; systeem heeft een aantal systeemaccounts die gebruikt
worden voor daemons, maar onbekende gebruikers mag niet
toegestaan worden van die accounts gebruikt te maken. In
/etc/ftpusers staat een lijst met
gebruikers die geen FTP toegang hebben. Standaard staan daar de
voorgenoemde accounts in, maar het is ook mogelijk om daar
gebruikers toe te voegen die geen FTP toegang mogen hebben.Het kan ook wenselijk zijn de FTP toegang voor sommige
gebruikers te beperken, maar niet onmogelijk te maken. Dit kan
met /etc/ftpchroot. In dat bestand staan
gebruikers en groepen waarop FTP toegangsbeperkingen van
toepassing zijn. In &man.ftpchroot.5; staan alle details die
hier niet beschreven zijn.FTPanoniemOm anonieme FTP toegang voor een server in te schakelen,
dient er een gebruiker ftp op een &os;
systeem aangemaakt te worden. Dan kunnen gebruikers op de
server aanmelden met de gebruikersnaam ftp
of anonymous en met ieder wachtwoord (de
geldende conventie schrijft voor dat dit een emailadres
van de gebruiker is). De FTP server roep bij een anonieme
aanmelding &man.chroot.2; aan, zodat er alleen toegang is tot de
thuismap van de gebruiker ftp.Er zijn twee tekstbestanden waarin welkomstberichten voor de
FTP-cliënten gezet kunnen worden. De inhoud van
/etc/ftpwelcome wordt getoond voordat
gebruikers een aanmeldprompt zien. Na een succesvolle
aanmelding wordt de inhoud van
/etc/ftpmotd getoond. Het genoemde pad is
relatief ten opzichte van de aanmeldomgeving, dus voor anonieme
gebruikers wordt ~ftp/etc/ftpmotd
getoond.Als een FTP server eenmaal correct is ingesteld, moet die
ingeschakeld worden in /etc/inetd.conf.
Daar moet het commentaarkarakter # voor de
bestaande ftpd regel verwijderd
worden:ftp stream tcp nowait root /usr/libexec/ftpd ftpd -lZoals is uitgelegd in ,
moet de configuratie van inetd worden
herladen nadat dit instellingenbestand is gewijzigd. Details
over het aanzetten van inetd op uw
systeem staan in .Als alternatief kan ftpd ook
gestart worden als een op zichzelf staande dienst. In dat geval
volstaat het om de juiste variabele in te stellen in
/etc/rc.conf:ftpd_enable="YES"Na het instellen van de bovenstaande variabele zal de op
zichzelf staande server gestart worden nadat de computer opnieuw
is opgestart, of het kan handmatig worden gestart door het
volgende commando als root uit te
voeren:&prompt.root; service ftpd startNu kan aangemeld worden op de FTP-server met:&prompt.user; ftp localhostBeherensysloglogboekbestandenFTPDe ftpd daemon gebruikt
&man.syslog.3; om berichten te loggen. Standaard plaatst de
systeemlogdaemon berichten over FTP in
/var/log/xferlog. De lokatie van het FTP
logboek kan gewijzigd worden door de volgende regels in
/etc/syslog.conf te wijzigen:ftp.info /var/log/xferlogFTPanoniemHet is verstandig na te denken over de gevaren die op de
loer liggen bij het draaien van een anonieme FTP server. Dat
geldt in het bijzonder voor het laten uploaden ven bestanden.
Het is dan goed mogelijk dat een FTP site een forum wordt om
commerciële software zonder licenties uit te wisselen of
erger. Als anonieme uploads toch nodig zijn, dan horen de
rechten op die bestanden zo te staan dat ze niet door andere
anonieme gebruikers gelezen kunnen worden tot er door een
beheerder naar gekeken is.MurrayStokelyGeschreven door Bestands- en printdiensten voor µsoft.windows;
cliënten (Samba)Samba serverMicrosoft WindowsbestandsserverWindows-cliëntenprintserverWindows-cliëntenOverzichtSamba is een populair open
source softwarepakket dat bestands- en printdiensten voor
µsoft.windows; cliënten biedt. Die cliënten
kunnen dan ruimte op een &os; bestandssysteem gebruiken alsof
het een lokale schijf is en &os; printers gebruiken alsof het
lokale printers zijn.Samba softwarepakketten horen
op de &os; installatiemedia te staan. Als
Samba bij de basisinstallatie niet
mee is geďnstalleerd, dan kan dat alsnog via de net/samba34 port of met het
pakket.InstellenEen standaardbestand met instellingen voor
Samba wordt geďnstalleerd als
/usr/local/share/examples/samba34/smb.conf.default.
Dit bestand dient gekopieerd te worden naar
/usr/local/etc/smb.conf en voordat
Samba gebruikt kan worden, moeten er
aanpassingen aan worden gemaakt.smb.conf bevat de instellingen voor
Samba, zoals die voor de printers en
de gedeelde bestandssystemen die gedeeld worden
met &windows; cliënten. Het pakket
Samba bevat een webgebaseerde
beheermodule die swat heet, waarmee
smb.conf op een eenvoudige manier ingesteld
kan worden.De Samba webbeheermodule gebruiken (SWAT)De Samba Webbeheermodule (SWAT) draait als een daemon
vanuit inetd. Daarom dient
inetd aangezet te worden zoals
beschreven in en dient voor
de volgende regel uit /etc/inetd.conf
het commentaarkarakter verwijderd te worden voordat
swat gebruikt kan worden om
Samba in te stellen:swat stream tcp nowait/400 root /usr/local/sbin/swat swatZoals is uitgelegd in , moet de configuratie van
inetd worden herladen nadat dit
instellingenbestand is gewijzigd.Als swat is ingeschakeld in
inetd.conf, kan de module gebruikt worden
door met een browser een verbinding te maken met . Er dient aangemeld te
worden met het root account van het
systeem.Na succesvol aanmelden op de hoofdpagina voor de
Samba instellingen, is het mogelijk
de systeemdocumentatie te bekijken of te starten door op het
tabblad Globals te klikken. Het onderdeel
Globals correspondeert met de sectie
[global] in
/usr/local/etc/smb.conf.Systeembrede instellingenOf Samba nu wordt ingesteld
door /usr/local/etc/smb.conf direct te
bewerken of met swat, de eerste
instellingen die gemaakt moeten worden zijn de volgende:workgroupNT Domeinnaam of Werkgroepnaam voor de computers die
verbinding gaan maken met de server.netbiosnaamNetBIOSHiermee wordt de NetBIOS naam waaronder de
Samba server bekend zal zijn
ingesteld. Standaard is de naam het eerste gedeelte van
de DNS-naam van een host.server stringHiermee wordt de string ingesteld die te zien is als
het commando net view en een aantal
andere commando's die gebruik maken van de
beschrijvende tekst voor de server gebruikt worden.BeveiligingsinstellingenTwee van de belangrijkste instellingen in
/usr/local/etc/smb.conf zijn het gekozen
beveiligingsmodel en het wachtwoord voor
cliëntgebruikers. Deze worden met de volgende
instellingen gemaakt:securityDe twee meest gebruikte mogelijkheden hier zijn
security = share en
security = user. Als de
cliënten gebruikersnamen hebben die overeenkomen
met hun gebruikersnaam op de &os; machine, dan is het
verstandig om te kiezen voor beveiliging op
gebruikersniveau. Dit is het standaard
beveiligingsbeleid en kent als voorwaarde dat gebruikers
zich eerst moeten aanmelden voordat ze toegang krijgen
tot gedeelde bronnen.Bij beveiliging op shareniveau hoeft een cliënt
niet met een geldige gebruikersnaam en wachtwoord aan te
melden op de server voor het mogelijk is om een
verbinding te proberen te krijgen met een gedeelde bron.
Dit was het standaardbeveiligingsmodel voor oudere
versies van Samba.passdb backend
- NIS+
-
- LDAP
-
- SQL database
-
Samba kent aan de
achterkant verschillende authenticatiemodellen.
- Cliënten kunnen authenticeren met LDAP, NIS+, een
- SQL-database of een aangepast wachtwoordbestand. De
+ Cliënten kunnen authenticeren met LDAPLDAP, NIS+NIS+, een
+ SQL-databaseSQL database of een aangepast wachtwoordbestand. De
standaard authenticatiemethode is
smbpasswd. Meer wordt hier niet
behandeld.Als aangenomen wordt dat de standaard achterkant
smbpasswd wordt gebruikt, dan moet
/usr/local/etc/samba/smbpasswd gemaakt
worden om Samba in staat te stellen
cliënten te authenticeren. Als het gewenst is om uw
&unix; gebruikersaccounts toegang te geven vanaf &windows;
cliënten, gebruik dan het volgende commando:&prompt.root; smbpasswd -a gebruikersnaamDe aanbevolen backend is nu tdbsam,
en het volgende command moet gebruikt worden om
gebruikersaccounts toe te voegen:&prompt.root; pdbedit gebruikersnaamIn de Official
Samba HOWTO staat meer informatie over instelopties.
Met de hier gegeven basisuitleg moet het mogelijk zijn
Samba draaiende te krijgen.Samba startenDe port net/samba34 voegt
een nieuw opstartscript toe, dat gebruikt kan worden om
Samba te beheren. Om dit script te
activeren, zodat het bijvoorbeeld gebruikt kan worden om
Samba te starten, stoppen, of te
herstarten, dient de volgende regel aan
/etc/rc.conf toegevoegd te worden:samba_enable="YES"Of, voor fijnkorrelig beheer:nmbd_enable="YES"smbd_enable="YES"Dit stelt Samba ook in om
automatisch tijdens het opstarten te starten.Vervolgens is het mogelijk om
Samba op elk moment te starten door
dit te typen:&prompt.root; service samba start
Starting SAMBA: removing stale tdbs :
Starting nmbd.
Starting smbd.Refereer aan voor meer
informatie over het gebruikt van rc-scripts.Samba bestaat feitelijk uit drie
afzonderlijke daemons. Het script
samba start de daemons
nmbd en
smbd. Als de winbind
naamresolutiediensten in smb.conf zijn
ingeschakeld, dan start ook de daemon
winbindd.Samba kan op ieder moment gestopt
worden met:&prompt.root; service samba stopSamba is een complexe
softwaresuite met functionaliteit waarmee verregaande integratie
met µsoft.windows; netwerken mogelijk wordt. Informatie
die verder gaat dan de basisinstallatie staat op
.TomHukinsGeschreven door Tijd synchroniseren met NTPNTPOverzichtNa verloop van tijd gaat de tijd van een computer meestal
uit de pas lopen. Het Netwerk Tijd Protocol (NTP) kan ervoor
zorgen dat de tijd accuraat blijft.Veel diensten op Internet zijn afhankelijk, of hebben veel
voordeel, van het betrouwbaar zijn van de tijd. Zo ontvangt een
webserver bijvoorbeeld veel verzoeken om een bestand te sturen
als dat gewijzigd is sinds een bepaald moment. In een
LAN-omgeving is het van groot belang dat computers die bestanden
delen van eenzelfde server gesynchroniseerde tijd hebben zodat
de tijdstempels consistent blijven. Diensten zoals &man.cron.8;
zijn ook afhankelijk van een betrouwbare systeemtijd om
commando's op het ingestelde moment uit te voeren.NTPntpdBij &os; zit de &man.ntpd.8; NTP server die gebruikt kan worden om bij
andere NTP servers de tijd op
te vragen om de eigen klok gelijk te zetten of om de juiste tijd
te verstrekken aan andere apparaten.Passende NTP-servers kiezenNTPservers kiezenOm de tijd te synchroniseren moeten er één of
meer NTP-servers
beschikbaar zijn. Een lokale systeembeheerder of een ISP heeft
wellicht een NTP-server voor dit doel opgezet. Het is
verstandig om documentatie te raadplegen en te bekijken of dat
het geval is. Er is een online lijst
van publiek toegankelijke NTP-servers waarop een
NTP-server gezocht kan worden die in geografische zin dichtbij
een te synchroniseren computer ligt. Het is belangrijk te
voldoen aan het beleid voor de betreffende server en toestemming
te vragen als dat in de voorwaarden staat.Het is verstandig meerdere, niet van elkaar afhankelijke,
NTP-servers te kiezen voor het geval een van de servers niet
langer betrouwbaar is of niet bereikbaar is. &man.ntpd.8;
gebruikt de antwoorden die van andere servers ontvangen worden
op intelligente wijze: betrouwbare servers krijgen voorrang
boven onbetrouwbare servers.Machine instellenNTPinstellenBasisinstellingenntpdateAls het alleen de bedoeling is de tijd te synchroniseren
bij het opstarten van een machine, dan kan &man.ntpdate.8;
gebruikt worden. Dit kan van toepassing zijn op desktops die
regelmatig herstart worden en niet echt regelmatig
gesynchroniseerd hoeven te worden. Op sommige machines hoort
echter &man.ntpd.8; te draaien.Het gebruik van &man.ntpdate.8; bij het opstarten is ook
een goed idee voor machines waarop &man.ntpd.8; draait. De
&man.ntpd.8; wijzigt de tijd geleidelijk, terwijl
&man.ntpdate.8; gewoon de tijd instelt, hoe groot het verschil
tussen de bestaande tijd van een machine en de correcte tijd
ook is.Om &man.ntpdate.8; tijdens het opstarten in te schakelen
kan ntpdate_enable="YES" aan
/etc/rc.conf worden toegevoegd. Alle
voor de synchronisatie te gebruiken servers moeten dan, samen
met eventuele opties voor &man.ntpdate.8;, in
ntpdate_flags aangegeven worden.Algemene instellingenNTPntp.confNTP wordt ingesteld met het bestand
/etc/ntp.conf in het formaat dat
beschreven staat in &man.ntp.conf.5;. Hieronder volgt een
eenvoudig voorbeeld:server ntplocal.example.com prefer
server timeserver.example.org
server ntp2a.example.net
driftfile /var/db/ntp.driftDe optie server geeft aan welke servers
er gebruikt moeten worden, met op elke regel een server. Als
de server wordt ingesteld met het argument
prefer, zoals bij ntplocal.example.com, dan krijgt die
server de voorkeur boven de andere. Een antwoord van een
voorkeursserver wordt genegeerd als dat significant afwijkt
van de antwoorden van de andere servers. In andere gevallen
wordt het gebruikt zonder rekening te houden met de andere
antwoorden. Het argument prefer wordt
meestal gebruikt voor NTP-servers waarvan bekend is dat ze erg
betrouwbaar zijn, zoals die met speciale
tijdbewakingshardware.De optie driftfile geeft aan welk
bestand gebruikt wordt om de offset van de klokfrequentie van
het systeem op te slaan. &man.ntpd.8; gebruikt die om
automatisch te compenseren voor het natuurlijke afwijken van
de tijd, zodat er zelfs bij gebrek aan externe bronnen een
redelijke accurate tijdsinstelling mogelijk is.De optie driftfile geeft aan welk
bestand gebruikt wordt om informatie over eerdere antwoorden
van NTP-servers die gebruikt worden op te slaan. Dit bestand
bevat interne informatie voor NTP. Het hoort niet door andere
processen gewijzigd te worden.Toegang tot een server instellenEen NTP-server is standaard toegankelijk voor alle hosts
op een netwerk. De optie restrict in
/etc/ntp.conf maakt het mogelijk om aan
te geven welke machines de dienst mogen benaderen.Voor het blokkeren van toegang voor alle andere machines
kan de volgende regel aan /etc/ntp.conf
toegevoegd worden:restrict default ignoreDit zal ook toegang van uw server naar alle servers die
vermeld staan in uw lokale configuratie verhinderen. Als u
uw NTP-server moet synchroniseren met een externe
NTP-server, dient u deze specifieke server toe te staan.
Lees de handleiding voor &man.ntp.conf.5; voor meer
informatie.Om alleen machines op bijvoorbeeld het lokale netwerk toe
te staan hun tijd te synchroniseren met een server, maar ze
tegelijkertijd niet toe te staan om de server te draaien of de
server als referentie voor synchronisatie te gebruiken, kan de
volgende regel toegevoegd worden:restrict 192.168.1.0 mask 255.255.255.0 nomodify notrapHierboven is 192.168.1.0
een IP-adres op een LAN en 255.255.255.0 is het bijbehorende
netwerkmasker./etc/ntp.conf mag meerdere regels met
restrict bevatten. Meer details staan in
het onderdeel Access Control Support van
&man.ntp.conf.5;.De NTP-server draaienDe NTP-server kan bij het opstarten gestart worden door de
regel ntpd_enable="YES" aan
/etc/rc.conf toe te voegen. Om extra
opties aan &man.ntpd.8; mee te geven kan de parameter
ntpd_flags in
/etc/rc.conf gebruikt worden.Om de server zonder een herstart van de machine te starten
kan ntpd uitgevoerd worden, met toevoeging
van de parameters uit ntpd_flags in
/etc/rc.conf. Bijvoorbeeld:&prompt.root; ntpd -p /var/run/ntpd.pidntpd gebruiken met een tijdelijke
Internetverbinding&man.ntpd.8; heeft geen permanente verbinding met een
netwerk nodig om goed te werken. Maar als er gebruik gemaakt
wordt van een inbelverbinding, is het wellicht verstandig om
ervoor te zorgen dat uitgaande NTP-verzoeken geen uitgaande
verbinding kunnen starten. Als er gebruik gemaakt wordt van
gebruikers-PPP, kunnen er filter commando's
ingesteld worden in /etc/ppp/ppp.conf.
Bijvoorbeeld:set filter dial 0 deny udp src eq 123
# NTP-verkeer zorgt niet voor uitbellen
set filter dial 1 permit 0 0
set filter alive 0 deny udp src eq 123
# Inkomend NTP-verkeer houdt de verbinding niet open
set filter alive 1 deny udp dst eq 123
# Uitgaand NTP-verkeer houdt de verbinding niet open
set filter alive 2 permit 0/0 0/0Meer details staan in de sectie PACKET
FILTERING in &man.ppp.8; en in de voorbeelden in
/usr/share/examples/ppp/.Sommige Internetproviders blokkeren lage poorten, waardoor
NTP niet kan werken omdat er nooit een antwoord ontvangen kan
worden door een machine.Meer informatieHTML-documentatie voor de NTP-server staat in
/usr/share/doc/ntp/.TomRhodesBijgedragen door Hosts op afstand loggen met
syslogdHet omgaan met systeemlogs is een cruciaal aspect van zowel
beveiligings- als systeembeheer. Het in de gaten houden van
logbestanden van meerdere hosts kan nogal onhandelbaar worden als
deze hosts over (middel)grote netwerken zijn verspreid, of wanneer
ze deel zijn van verschillende soorten netwerken. In deze
gevallen kan het op afstand loggen het gehele proces een stuk
aangenamer maken.Het centraal loggen naar een specifieke loghost kan wat van de
administratieve last van het beheren van logbestanden wegnemen.
Het aggregeren, samenvoegen, en roteren van logbestanden kan op
één enkele plaats worden ingesteld, door gebruik te
maken van de eigen gereedschappen van &os;, zoals &man.syslogd.8;
en &man.newsyslog.8;. In de volgende voorbeeldconfiguratie zal
host A, genaamd logserv.example.com, loginformatie voor het
plaatselijke netwerk verzamelen. Host B, genaamd
logclient.example.com, zal
loginformatie aan het serversysteem doorgeven. In echte
configuraties hebben beide hosts degelijke voor- en terugwaartse
DNS of regels in
/etc/hosts nodig. Anders worden de gegevens
geweigerd door de server.Configuratie van de logserverLogservers zijn machines die zijn geconfigureerd om
loginformatie van hosts op afstand te accepteren. In de meeste
gevallen is dit om de configuratie te vergemakkelijken, in
andere gevallen kan het gewoon een beheersbeslissing zijn.
Ongeacht de reden zijn er enkele eisen voordat er verder wordt
gegaan.Een juist geconfigureerde logserver voldoet aan de volgende
minimale eisen:De regels van de firewall staan toe dat
UDP wordt doorgegeven op poort 514 van
zowel de cliënt als de server;syslogd is ingesteld om berichten op afstand van
cliëntmachines te accepteren;De syslogd-server en alle cliëntmachines moeten
geldige regels hebben voor zowel voorwaartse als
terugwaartse DNS, of correct zijn
geconfigureerd in /etc/hosts.Om de logserver te configureren, moet de cliënt vermeld
zijn in /etc/syslog.conf, en moet de
logfaciliteit zijn gespecificeerd:+logclient.example.com
*.* /var/log/logclient.logMeer informatie over de verschillende ondersteunde en
beschikbare faciliteiten kan gevonden
worden in de handleidingpagina &man.syslog.conf.5;.Eenmaal toegevoegd worden alle
faciliteits-berichten gelogd naar het eerder
gespecificeerde bestand,
/var/log/logclient.log.De servermachine moet ook het volgende in
/etc/rc.conf hebben staan:syslogd_enable="YES"
syslogd_flags="-a logclient.example.com -v -v"De eerste optie zet de daemon syslogd aan
tijdens het opstarten, en de tweede regel staat toe dat gegevens
van de cliënt op deze server worden geaccepteerd. Het
laatste gedeelte, dat gebruikt, verhoogt de
verbositeit van gelogde berichten. Dit is extreem handig voor
het optimaal instellen van faciliteiten aangezien beheerders
kunnen zien welk soort berichten onder welke faciliteit worden
gelogd.Er kunnen meerdere opties worden
gespecificeerd om logging vanuit meerdere cliënten toe te
staan. IP-adressen en hele netblokken mogen
ook worden gespecificeerd, bekijk de hulppagina &man.syslog.3;
voor een volledige lijst van mogelijke opties.Als laatste dient het logbestand gecreëerd te worden.
De gebruikte manier maakt niet uit, maar &man.touch.1; werkt
prima in dit soort situaties:&prompt.root; touch /var/log/logclient.logNu dient het syslogd-daemon herstart en
geverifieerd worden:&prompt.root; service syslogd restart
&prompt.root; pgrep syslogAls er een PID wordt teruggegeven, dan is
de server succesvol herstart, en kan er begonnen worden met de
configuratie van de cliënt. Raadpleeg de log
/var/log/messages voor uitvoer als de
server niet is herstart.Configuratie van de logcliëntEen logcliënt is een machine die loginformatie naar een
logserver verstuurt en daarnaast lokale kopieën
bewaart.Net als logservers moeten logcliënten ook aan enkele
minimumeisen voldoen:&man.syslogd.8; moet zijn ingesteld om berichten van
bepaalde soorten naar een logserver te sturen, die ze moet
accepteren;De firewall moet UDP-pakketten
doorlaten op poort 514;Zowel voorwaartse als terugwaartse
DNS moeten geconfigureerd zijn of juiste
regels in /etc/hosts hebben.De configuratie van cliënten is wat soepeler dan die
van servers. De cliëntmachine moet de volgende regels in
/etc/rc.conf hebben:syslogd_enable="YES"
syslogd_flags="-s -v -v"Net als eerder zullen deze regels de daemon
syslogd tijdens het opstarten aanzetten, en
de verbositeit van gelogde berichten verhogen. De optie
voorkomt dat logs van deze cliënt
vanuit andere hosts worden geaccepteerd.Faciliteiten beschrijven het systeemgedeelte waarvoor een
bericht is gegenereerd. ftp en
ipfw bijvoorbeeld zijn beide faciliteiten.
Wanneer er logberichten worden gegenereerd voor deze twee
diensten, zullen ze normaalgesproken deze twee gereedschappen in
elk logbericht opnemen. Faciliteiten worden vergezeld van een
prioriteit of niveau, welke wordt gebruikt om aan te geven hoe
belangrijk een logbericht is. De meest voorkomende zullen
warning en info zijn.
Bekijk de handleidingpagina &man.syslog.3; voor een volledige
lijst van beschikbare faciliteiten en prioriteiten.De logserver moet in /etc/syslog.conf
van de cliënt zijn gedefinieerd. In dit geval wordt het
symbool @ gebruikt om loggegevens naar een
server op afstand te sturen en zou er ongeveer als de volgende
regel uit moeten zien:*.* @logserv.example.comEenmaal toegevoegd moet syslogd worden
herstart zodat de veranderingen effect hebben:&prompt.root; service syslogd restartOm te testen of logberichten over het netwerk worden
verzonden, wordt &man.logger.1; op de cliënt gebruikt om
een bericht naar syslogd te sturen:&prompt.root; logger "Testbericht van logclient"Dit bericht dient nu zowel in
/var/log/messages op de cliënt als
/var/log/logclient.log op de logserver te
staan.Logservers debuggenIn bepaalde gevallen kan het nodig zijn om te debuggen als
berichten niet door de logserver worden ontvangen. Er zijn
verschillende redenen waarom dit kan gebeuren; de twee meest
voorkomende zijn echter voorvallen met de netwerkverbinding en
DNS. Om deze gevallen te testen, dient te
worden nagegaan dat beide hosts elkaar kunnen bereiken door
de hostnaam in /etc/rc.conf te gebruiken.
Als dit juist lijkt te werken, dient de optie
syslogd_flags in
/etc/rc.conf te worden veranderd.In het volgende voorbeeld is
/var/log/logclient.log leeg, en noemt
/var/log/messages geen reden waarom het
mislukt. Verander de optie syslogd_flags
zoals in het volgende voorbeeld en herstart om de debuguitvoer
te verhogen:syslogd_flags="-d -a logclien.example.com -v -v"&prompt.root; service syslogd restartDebuggegevens zoals de volgende zullen meteen na de herstart
over het scherm vliegen:logmsg: pri 56, flags 4, from logserv.example.com, msg syslogd: restart
syslogd: restarted
logmsg: pri 6, flags 4, from logserv.example.com, msg syslogd: kernel boot file is /boot/kernel/kernel
Logging to FILE /var/log/messages
syslogd: kernel boot file is /boot/kernel/kernel
cvthname(192.168.1.10)
validate: dgram from IP 192.168.1.10, port 514, name logclient.example.com;
rejected in rule 0 due to name mismatch.Het is duidelijk dat de berichten worden geweigerd wegens
een niet-overeenkomende naam. Na de configuratie grondig te
hebben herzien, lijkt het of een typefout in de volgende regel
in /etc/rc.conf een probleem heeft:syslogd_flags="-d -a logclien.example.com -v -v"De regel dient logclient, niet
logclien te bevatten. Nadat de juiste
wijzigingen zijn gemaakt, wordt er herstart met de verwachte
resultaten:&prompt.root; service syslogd restart
logmsg: pri 56, flags 4, from logserv.example.com, msg syslogd: restart
syslogd: restarted
logmsg: pri 6, flags 4, from logserv.example.com, msg syslogd: kernel boot file is /boot/kernel/kernel
syslogd: kernel boot file is /boot/kernel/kernel
logmsg: pri 166, flags 17, from logserv.example.com,
msg Dec 10 20:55:02 <syslog.err> logserv.example.com syslogd: exiting on signal 2
cvthname(192.168.1.10)
validate: dgram from IP 192.168.1.10, port 514, name logclient.example.com;
accepted in rule 0.
logmsg: pri 15, flags 0, from logclient.example.com, msg Dec 11 02:01:28 trhodes: Test message 2
Logging to FILE /var/log/logclient.log
Logging to FILE /var/log/messagesNu worden de berichten juist ontvangen en in het correcte
bestand geplaatst.BeveiligingsoverwegingenZoals bij alle netwerkdiensten, dienen beveiligingseisen in
acht te worden genomen voordat deze configuratie wordt
geďmplementeerd. Soms kunnen logbestanden gevoelige
gegevens bevatten over diensten die aanstaan op de lokale host,
gebruikersaccounts, en configuratiegegevens. Netwerkgegevens
die van de cliënt naar de server worden verzonden worden
niet versleuteld noch met een wachtwoord beveiligd. Als
versleuteling nodig is, kan security/stunnel worden gebruikt,
wat gegevens over een versleutelde tunnel verstuurt.Aan lokale beveiliging moet ook gedacht worden.
Logbestanden worden niet versleuteld tijdens gebruik of na
logrotatie. Lokale gebruikers kunnen deze bestanden benaderen
om aanvullende inzichten over de systeemconfiguratie op te doen.
In deze gevallen is het van kritiek belang om de juiste rechten
op deze bestanden in te stellen. Het gereedschap
&man.syslogd.8; ondersteunt het instellen van rechten op nieuw
aangemaakte en geroteerde logbestanden. Het instellen van
logbestanden op modus 600 dient al het
ongewenste spieken door lokale gebruikers te verhinderen.
diff --git a/nl_NL.ISO8859-1/books/handbook/ppp-and-slip/chapter.xml b/nl_NL.ISO8859-1/books/handbook/ppp-and-slip/chapter.xml
index 5fff7821b1..b866883dd3 100644
--- a/nl_NL.ISO8859-1/books/handbook/ppp-and-slip/chapter.xml
+++ b/nl_NL.ISO8859-1/books/handbook/ppp-and-slip/chapter.xml
@@ -1,3446 +1,3384 @@
JimMockGeherstructureerd, gereorganiseerd en geupdate
door RemkoLodderVertaald door PPP en SLIPOverzichtPPPSLIP&os; heeft een aantal manieren om de ene computer met de
andere te verbinden. Om een netwerk of internet verbinding
op te zetten door een inbelmodem, of om anderen toe te
staan dit te doen door de machine heen vereist het gebruik
van PPP en SLIP. Dit hoofdstuk beschrijft het opzetten van
op modems gebaseerde diensten in meer detail.Na het lezen van dit hoofdstuk weet u:Hoe gebruikers PPP opgezet kan worden.Hoe kernel-PPP opgezet kan worden (alleen voor
&os; 7.X).Hoe PPPoE opgezet kan worden (PPP
over Ethernet).Hoe PPPoA opgezet kan worden (PPP
over ATM).Hoe een SLIP-server en cliënt opgezet kan worden en
hoe dat geconfigureerd wordt (alleen voor &os; 7.X).PPPgebruiker-PPPPPPkernel-PPPPPPover EthernetVoordat dit hoofdstuk gelezen wordt, moet u:Bekend zijn met basis netwerk terminologie.De basis en doeleinden van een inbel verbinding
en van PPP en/of SLIP.U kunt zich afvragen wat het verschil is tussen gebruiker-PPP
en kernel-PPP. Het antwoord is simpel: gebruiker-PPP verwerkt
inkomend en uitgaande data in het gebruikersland in plaats van
in de kernel. Dit is duur in de zin van het kopiëren van de
data tussen de kernel en het gebruikersland, maar levert meer
mogelijkheden voor de PPP implementatie. Gebruikers PPP gebruikt
het tun apparaat om te communiceren met
de buitenwereld. Kernel-PPP maakt gebruik van het
ppp apparaat.Voor de rest van dit hoofdstuk, zal gebruiker-PPP gebruikt
worden als ppp tenzij er onderscheid
gemaakt moet worden met andere PPP software zoals
pppd. Tenzij anders vermeld moeten
alle uitgelegde commando's in dit hoofdstuk gestart worden als
de root gebruiker.TomRhodesBijgewerkt en uitgebreid door BrianSomersOrigineel bijgedragen door NikClaytonMet input van DirkFrömbergPeterChildsGebruikmaken van gebruiker-PPPGebruiker-PPPVereistenDit document gaat er vanuit dat u de volgende punten
beschikbaar heeft:
-
- ISP
-
-
-
- PPP
-
-
- Een account bij een Internet Service Provider (ISP)
+ Een account bij een Internet Service Provider (ISP)ISP
waarmee verbinding gemaakt wordt door middel van
- PPP.
+ PPPPPP.Een modem of een ander apparaat verbonden met uw PC en
correct geconfigureerd zodat u verbinding kan maken met uw
ISP.De inbelnummers van uw ISP.
-
- PAP
-
-
-
- CHAP
-
-
-
- UNIX
-
-
-
- loginnaam
-
-
-
- wachtwoord
-
-
- Uw loginnaam en wachtwoord (danwel een combinatie van een
- standaard &unix;-stijl login en wachtwoord of een PAP of CHAP
+ Uw loginnaamloginnaam en wachtwoordwachtwoord (danwel een combinatie van een
+ standaard &unix;UNIX-stijl
+ login en wachtwoord of een PAPPAP of CHAPCHAP
login en wachtwoordcombinatie).
-
- naamserver
-
-
Het IP-adres van één of meerdere
- naamservers. Normaal gesproken krijgt u twee IP
+ naamserversnaamserver. Normaal gesproken krijgt u twee IP
adressen van uw ISP om te gebruiken. Als u er echter geen
één gekregen heeft, kunt u het commando
enable dns gebruiken in
ppp.conf en
ppp zal de naamservers voor
u configureren. Deze optie is afhankelijk van de PPP
implementatie van de ISP, welke DNS onderhandeling
moet ondersteunen.De volgende informatie kan aangeleverd worden door uw
ISP maar is niet echt noodzakelijk:Het IP-adres van de router van uw ISP. De router is
de machine waarmee u verbinding maakt en welke ingesteld
wordt als de standaard route. Als
u deze informatie niet heeft, kunt u een willekeurig
adres verzinnen waarna de PPP server van de ISP het juiste
adres vertelt zodra u verbinding maakt.Dit IP-adres wordt door pppHISADDR genoemd.Het netwerkmasker wat gebruikt moet worden. Als uw ISP
deze niet heeft opgegeven, kan 255.255.255.255 gebruikt
worden.
-
- statisch IP-adres
-
-
- Als uw ISP u een vast IP-adres en hostnaam levert,
+ Als uw ISP u een vast IP-adresstatisch IP-adres en hostnaam levert,
kunt u deze invoeren. In andere gevallen bepaalt de
andere kant welk adres er uitgegeven wordt.Als u niet in bezit bent van de vereiste informatie, moet
u contact opnemen met uw ISP.Door de rest van dit hoofdstuk worden in veel van de
voorbeelden configuratie bestanden genummerd per
regel. Deze nummers dienen alleen als hulp voor de
presentatie en discussie en zijn verder niet bedoeld om
daadwerkelijk geďmplementeerd te worden. Een juiste
inspringing met tabs en spaties zijn daarbij ook
belangrijk.Automatische configuratie van
PPPPPPconfiguratieZowel ppp als pppd
(de implementatie van PPP op kernel niveau) gebruiken de
configuratie bestanden die zich in de map /etc/ppp bevinden. Voorbeelden
configuraties voor gebruiker-PPP kunnen gevonden worden in
/usr/share/examples/ppp/.Het configureren van ppp vereist
dat u een aantal bestanden bewerkt, afhankelijk van uw
eisen. Wat u moet invoeren is deels afhankelijk van wat
uw ISP u aanbied met oog op statische IP-adressen (lees u
krijgt een statisch adres welke u altijd gebruikt) of
dynamisch (lees: uw IP-adres veranderd elke keer als
u verbinding maakt met uw ISP).PPP en statische IP-adressenPPPmet statische IP-adressenU moet het /etc/ppp/ppp.conf
bewerken. Het zou dan als volgend eruit moeten zien:Regels die eindigen met een :
starten in de eerste kolom (het begin van de regel)
— alle andere regels moeten inspringen zoals
getoond door middel van spaties of tabs.1 default:
2 set log Phase Chat LCP IPCP CCP tun command
3 ident user-ppp VERSION (built COMPILATIONDATE)
4 set device /dev/cuau0
5 set speed 115200
6 set dial "ABORT BUSY ABORT NO\\sCARRIER TIMEOUT 5 \
7 \"\" AT OK-AT-OK ATE1Q0 OK \\dATDT\\T TIMEOUT 40 CONNECT"
8 set timeout 180
9 enable dns
10
11 provider:
12 set phone "(123) 456 7890"
13 set authname foo
14 set authkey bar
15 set login "TIMEOUT 10 \"\" \"\" gin:--gin: \\U word: \\P col: ppp"
16 set timeout 300
17 set ifaddr x.x.x.xy.y.y.y 255.255.255.255 0.0.0.0
18 add default HISADDRRegel 1:Deze regel identificeert de standaard regel.
Commando's in deze regel worden automatisch gestart
zodra ppp gestart wordt.Regel 2:Zet de log paramaters aan. Zodra de configuratie
naar verwachting werkt, moet deze regel aangepast
worden naar:set log phase tunom te voorkomen dat er extreem grote log files
gemaakt worden.Regel 3:Vertelt PPP hoe het zich moet identificeren
aan de router aan de andere kant, als deze
problemen heeft met het onderhandelen en het
opzetten van de link en het leveren van informatie
die de beheerders van de andere kant nuttig kunnen
vinden om zulke problemen te onderzoeken.Regel 4:Identificeert het apparaat waarmee het modem
verbonden is. COM1 is
/dev/cuau0
en
COM2 is
/dev/cuau1.Regel 5:Stelt de snelheid in waarmee verbinding gemaakt
wordt. Als 115200 niet werkt (wat wel zou moeten
kunnen met elk nieuw modem), probeert u dan de
instelling van 38400.Regels 6 & 7:
-
- PPP
- gebruiker-PPP
-
-
- De inbelregel. Gebruiker-PPP gebruikt een
+ De inbelregel. Gebruiker-PPP gebruiktPPPgebruiker-PPP een
expect-send syntax wat vergelijkbaar is
met het &man.chat.8; programma. Bekijk de handleiding
voor meer informatie over de mogelijkheden van deze
taal.Let op dat dit commando doorgaat op de volgende
regel zodat deze leesbaar blijft. Elk commando in
ppp.conf kan dit doen als het
laatste karakter op een regel, het \ karakter is.Regel 8:Stelt de idle timeout in voor een link. 180
seconden is standaard, dus deze regel is puur
cosmetisch.Regel 9:Vertelt PPP om de andere kant te vragen om een
bevestiging van de lokale naamserver instellingen. Als
u een lokale naamserver draait moet deze regel
uitgecommentarieërd of verwijderd worden.Regel 10:Een blanco regel voor de leesbaarheid. Blanco
regels worden door PPP genegeerd.Regel 11:Identificeert een sectie voor de provider die
provider genoemd wordt. Dit kan
gewijzigd worden in de naam van uw provider zodat er
later gebruik gemaakt van worden bij de optie
om een verbinding op te zetten.Regel 12:Stelt het telefoonnummer in voor deze provider.
Meerdere telefoonnummers kunnen gespecificeerd worden
door gebruik te maken van de dubbele punt
(:) of het pipe karakter
(|) als scheidingsteken. Het
verschil tussen de twee scheidingstekens wordt
beschreven in de &man.ppp.8; handleiding.
Om samen te vatten, als u wilt rouleren tussen de
nummers gebruikt u dan een dubbelepunt. Als u altijd
het eerste nummer als eerste wilt draaien en alleen de
andere nummers wilt draaien als het eerste nummer
niet werkt, gebruik dan het pipe karakter. Quote altijd
de hele set van telefoonnummers zoals getoond.U moet het telefoonnummer citeren met dubbele quotes
(") als er enige intentie is in het
gebruik van spaties in het telefoonummer. Dit kan een
simpele, maar subtiele fout creeëren.Regels 13 & 14:Identificeert de gebruikersnaam en het
wachtwoord. Wanneer gebruik gemaakt wordt van een
&unix; stijl login worden deze waarden verwezen
door het set login commando door
gebruik te maken van de \U en \P variabelen.
Wanneer er verbinding gemaakt wordt door PPP en CHAP
worden deze waardes gebruikt tijdens het
authenticeren.Regels 15:
- PAP
-
- CHAP
-
Als u gebruik maakt van PPP en CHAP, zal er geen
login op dit moment zijn, en moet deze regel
uitgecommentarieërd of verwijderd worden. Zie het
- PAP en CHAP
+ PAPPAP en CHAPCHAP
authenticatie hoofdstuk voor meer details.De login regel is hetzelfde als de chat-achtige
syntax van de inbelregel. In dit voorbeeld werkt
de reegl voor een dienst wiens login sessie als
volgt eruit ziet:J. Random Provider
login: foo
password: bar
protocol: pppU moet dit script aanpassen om aan uw behoeften
te voldoen. Wanneer u dit script voor het eerst
schrijft, moet u ervoor zorgen dat u de
chat log optie heeft aangezet zodat u
kunt bepalen of de communicatie gaat zoals
verwacht.Regel 16:
- timeout
-
- Selt de standaard idle timeout in (in seconden)
+ Selt de standaard idle timeouttimeout in (in seconden)
voor de connectie. Hier wordt de connectie
automatisch afgesloten na 300 seconden van
inactiviteit. Als u nooit een timeout wilt krijgen,
kunt u de waarde op nul zetten of gebruik maken van
de optie op de commando
regel.Regel 17:
- ISP
-
Stelt het interface adres in. De regel
x.x.x.x moet vervangen
- worden door het IP-adres dat uw provider aan u heeft
+ worden door het IP-adresISP dat uw provider aan u heeft
uitgegeven. De regel
y.y.y.y moet vervangen
worden door het IP-adres dat uw provider aan u
heeft gegeven voor de router (de machine waarmee
u verbinding maakt). Als uw ISP u geen router
adres heeft gegeven, gebruik dan 10.0.0.2/0. Als u gebruik
moet maken van een gegokt, zorg ervoor
dat er een regel staat in
/etc/ppp/ppp.linkup zoals
beschreven in de instructies voor PPP en dynamische IP
adressen. Als deze regel weggelaten wordt
kan ppp niet in
mode starten.Regel 18:Voegt een standaard routering toe naar uw providers
router. Het speciale HISADDR
woord, wordt vervangen door het router adres zoals
gespecificeerd op regel 17. Het is belangrijk dat
deze regel na regel 17 komt, anders is
HISADDR nog niet
geďnitialiseerd.Als u ppp niet in
mode wilt draaien, moet deze regel verplaatst
worden naar het ppp.linkup
bestand.Het is niet nodig om een regel toe te voegen aan
ppp.linkup wanneer u een statisch
IP-adres krijgt en ppp met de mode
gestart is omdat uw routerings tabel al correcte regels
heeft voordat u verbinding maakt. U kunt echter een regel
aanmaken om programma's te starten nadat de verbinding
opgezet is. Dit wordt later uitgelegd met een voorbeeld
over sendmail.Voorbeeld van configuratiebestanden kunnen gevonden
worden in de map usr/share/examples/ppp.PPP en dynamische IP-adressenPPPmet dynamische IP-adressenIPCPAls uw provider geen statisch IP-adres aanlevert kan
ppp geconfigureerd worden om het lokale
en het remote adres te onderhandelen. Dit wordt gedaan door
het gokken van een IP-adres en PPP toestaan
dit adres te corrigeren door gebruik te maken van het
IP Configuration Protocol (IPCP) nadat er een verbinding
opgezet is. De ppp.conf configuratie
is verders hetzelfde als voor de
PPP en statische IP
adressen, met de volgende wijziging:17 set ifaddr 10.0.0.1/0 10.0.0.2/0 255.255.255.255 0.0.0.0Nogmaals, het regelnummer hoeft niet te worden
toegevoegd, deze dient puur ter referentie. Indentatie
van minstens één spatie is vereist.Regel 17:Het nummer achter het / karakter
is het aantal netwerk master bits van het adres die ppp
eist. Het is mogelijk dat u IP-adressen wilt gebruiken
die meer van toepassing zijn op uw situatie, maar
bovenstaand voorbeeld zal altijd werken.Het laatste argument (0.0.0.0)
vertelt PPP om te onderhandelen met het adres 0.0.0.0 in plaats van met
10.0.0.1 en is benodigd
voor sommige ISPs. Gebruik 0.0.0.0
niet als eerste argument voor het commando
set ifaddr, omdat dit ervoor zorgt
dat PPP geen initiële route kan opzetten in
mode.Als u niet draait in mode, moet
u een nieuwe regel toevoegen aan
/etc/ppp/ppp.linkup.
ppp.linkup wordt uitgevoerd nadat een
connectie is opgezet. Op dit moment krijgt
ppp het interface adres en is het mogelijk
om regels toe te voegen aan de route tabel:1 provider:
2 add default HISADDRRegel 1:Bij het tot stand brengen van een verbinding
zal ppp kijken voor een
corresponderende regel in
ppp.linkup volgens de volgende
criteria: Als eerste, probeert het hetzelfde label te
vinden zoals gebruikt in ppp.conf.
Als dat mislukt, zoek dan een regel waarin het IP-adres
van onze router in voorkomt. Deze regel bevat een IP
stijl van 4 octetten. Als nu nog steeds geen
corresponderende regel gevonden is wordt er gezocht
naar de HISADDR regel.Regel 2:Deze regel verteld ppp om
een standaard routering toe te voegen die wijst
richting HISADDR.
HISADDR wordt vervangen door
het IP-adres van de router zoals onderhandeld door
IPCP.Zie de pmdemand regel in de bestanden
/usr/share/examples/ppp/ppp.conf.sample
en
/usr/share/examples/ppp/ppp.linkup.sample
voor een gedetailleerd voorbeeld.Het ontvangen van binnenkomende gesprekkenPPPontvangen van inkomende gesprekkenWanneer ppp geconfigureerd
is om inkomende gesprekken te ontvangen op een machine die
verbonden is met een LAN, moet u beslissen of er pakketten
worden doorgestuurd naar het LAN. Als u dat doet, moet
u de andere kant een IP-adres geven uit het subnet van uw
LAN, en zult u gebruik moeten maken van het command
enable proxy in het
/etc/ppp/ppp.conf bestand. U zult ook
moeten controleren of het /etc/rc.conf
bestand het volgende bevat:gateway_enable="YES"Welke getty?Het configureren van &os; voor
inbel diensten levert een goede beschrijving van
het inschakelen van inbeldiensten door gebruik te maken
van &man.getty.8;.Een alternatief voor getty is mgetty (van de port
comms/mgetty+sendfax),
een betere versie van getty ontworpen
voor onder andere inbellijnen.De voordelen van het gebruik van
mgetty is dat het actief
communiceert met modems, wat betekent
dat als de port uitgeschakeld is in
/etc/ttys, het modem de telefoon niet
zal beantwoorden.Latere versies van mgetty (vanaf
0.99beta en later) ondersteunen ook het automatisch
detecteren van PPP stromen waardoor cliënten
zonder extra scripting toegang kunnen krijgen tot uw
server.Raadpleeg naar Mgetty en
AutoPPP voor meer informatie over
mgetty.PPP PermissiesHet ppp commando moet normaal
gesproken gestart worden door de root
gebruiker. Als u echter wilt toestaan dat
ppp in server mode gestart wordt door
een normale gebruiker door het uitvoeren van
ppp, zoals beschreven hieronder, moet
deze gebruiker permissie krijgen om
ppp te starten. Dit kan gedaam worden
door de gebruiker toe te voegen aan de
network groep van het
/etc/group bestand.U moet de gebruiker ook toegang geven tot
één of meerdere secties van het configuratie
bestand door gebruik te maken van het allow
commando:allow users fred maryAls dit commando wordt gebruikt in de
default sectie, geeft ppp alle
opgegeevn gebruikers toegang tot alle opties.PPP shells voor dynamische IP-gebruikersPPP shellsCreeër een bestand genaamd
/etc/ppp/ppp-shell welke de volgende
gegevens bevat:#!/bin/sh
IDENT=`echo $0 | sed -e 's/^.*-\(.*\)$/\1/'`
CALLEDAS="$IDENT"
TTY=`tty`
if [ x$IDENT = xdialup ]; then
IDENT=`basename $TTY`
fi
echo "PPP voor $CALLEDAS op $TTY"
echo "Starten van PPP voor $IDENT"
exec /usr/sbin/ppp -direct $IDENTDit script moet uitvoerbaar zijn. Ook moet er een
symbolische link gemaakt worden naar dit script met de naam
ppp-dialup door gebruik te maken van
de volgende commando's:&prompt.root; ln -s ppp-shell /etc/ppp/ppp-dialupU moet dit script gebruiken als de
shell voor al uw inbel gebruikers.
Dit is een voorbeeld uit /etc/passwd
voor een PPP inbelgebruiker met de gebruikersnaam
pchilds (Let op, u mag niet direct het
wachtwoord bestand bewerken, gebruik daarom het programma
&man.vipw.8;).pchilds:*:1011:300:Peter Childs PPP:/home/ppp:/etc/ppp/ppp-dialupCreeër vervolgens een map /home/ppp die door iedereen
gelezen en beschreven kan worden en zet daar de volgende 0
byte grote bestanden in:-r--r--r-- 1 root wheel 0 May 27 02:23 .hushlogin
-r--r--r-- 1 root wheel 0 May 27 02:22 .rhostswelke voorkomen dat /etc/motd
getoond wordt.PPP shells voor statische IP-gebruikersPPP shellsCreeër het ppp-shell bestand
zoals hierboven, en voor elk account met een statisch
toegewezen IP-adres creeërt u een symbolische link naar
ppp-shell.Als u bijvoorbeeld drie inbel gebruikers hebt genaamd
fred, sam en
mary waar u een /24 CIDR netwerk voor
routeert, moet u het volgende typen:&prompt.root; ln -s /etc/ppp/ppp-shell /etc/ppp/ppp-fred
&prompt.root; ln -s /etc/ppp/ppp-shell /etc/ppp/ppp-sam
&prompt.root; ln -s /etc/ppp/ppp-shell /etc/ppp/ppp-maryElk van deze inbelgebruikers moet de shell ingesteld
hebben op de symbolische link die hierboven is gecreeërd
(bijvoorbeeld mary's shell moet zijn
/etc/ppp/ppp-mary).Het instellen van ppp.conf voor
dynamische IP-gebruikersHet /etc/ppp/ppp.conf bestand moet
iets zoals hieronder bevatten:default:
set debug phase lcp chat
set timeout 0
ttyu0:
set ifaddr 203.14.100.1 203.14.100.20 255.255.255.255
enable proxy
ttyu1:
set ifaddr 203.14.100.1 203.14.100.21 255.255.255.255
enable proxyHet inspringen is belangrijk.De default: sectie wordt altijd
geladen. Voor elke inbellijn die ingeschakeld is in
/etc/ttys moet een soortgelijke
regel worden gemaakt als die voor ttyu0:
hierboven. Elke regel moet een uniek IP-adres krijgen van
uw pool van IP-adressen voor dynamische gebruikers.Het instellen van ppp.conf voor
statische IP-gebruikers.Samen met de inhoud van het voorbeeld
/usr/share/examples/ppp/ppp.conf
bestand hierboven moet een sectie aangemaakt worden voor
elke van de statisch ingestelde inbelgebruikers. We
gaan door met ons fred,
sam en mary
voorbeeld.fred:
set ifaddr 203.14.100.1 203.14.101.1 255.255.255.255
sam:
set ifaddr 203.14.100.1 203.14.102.1 255.255.255.255
mary:
set ifaddr 203.14.100.1 203.14.103.1 255.255.255.255Het /etc/ppp/ppp.linkup bestand
moet ook informatie over routeringen bevatten voor elke
statische IP-gebruiker waar nodig. De regel hieronder
voegt een routering toe voor het
203.14.201.0/24 netwerk
via de ppp link van de gebruiker.fred:
add 203.14.101.0 netmask 255.255.255.0 HISADDR
sam:
add 203.14.102.0 netmask 255.255.255.0 HISADDR
mary:
add 203.14.103.0 netmask 255.255.255.0 HISADDRmgetty en AutoPPPmgettyAutoPPPLCPStandaard staat de optie AUTO_PPP in de port
comms/mgetty+sendfax welke
mgetty in staat stelt
om de LCP fase van PPP connecties te detecteren en aan de
hand daarvan automatisch een ppp shell te creeëren.
Echter, de standaard login procedure vindt in deze mode
niet plaats, waardoor het nodig is om de gebruikers te
authenticeren door middel van PAP of CHAP.De volgende sectie gaat er vanuit dat u succesvol
de port comms/mgetty+sendfax
op uw systeem heeft gecompileerd en geďnstalleerd.Zorg ervoor dat uw
/usr/local/etc/mgetty+sendfax/login.config
bestand de volgende inhoud heeft:/AutoPPP/ - - /etc/ppp/ppp-pap-dialupDit verteld mgetty om het
ppp-pap-dialup script te starten
wanneer er een PPP connectie gedetecteerd wordt.Creeër een bestand genaamd
/etc/ppp/ppp-pap-dialup met de volgende
inhoud (het bestand moet uitvoerbaar zijn):#!/bin/sh
exec /usr/sbin/ppp -direct pap$IDENTVoor elke inbelregel die ingeschakeld is in
/etc/ttys, creeër een
corresponderende regel in
/etc/ppp/ppp.conf. Dit gaat goed
samen met de definities die hierboven gedaan zijn.pap:
enable pap
set ifaddr 203.14.100.1 203.14.100.20-203.14.100.40
enable proxyElke gebruiker die op deze manier inlogt moet een
gebruikersnaam en wachtwoord hebben in het
/etc/ppp/ppp.secret bestand of de
volgende optie moet worden toegevoegd om gebruikers te
authenticeren via PAP vanuit het
/etc/passwd bestand.enable passwdauthAls u een aantal gebruikers een statisch IP-adres wilt
geven, kan dat gespecificeerd worden als het derde argument
in /etc/ppp/ppp.secret. Zie
/usr/share/examples/ppp/ppp.secret.sample
voor een voorbeeld.µsoft; ExtensiesDNSNetBIOSPPPµsoft; extensiesHet is mogelijk om PPP dusdanig te configuren dat deze
DNS en NetBIOS naamserver adressen meegeeft.Om deze extensies in te schakelen met PPP versie 1.x
kunnen de volgende regels toegevoegd worden aan de relevante
sectie in /etc/ppp/ppp.conf:enable msext
set ns 203.14.100.1 203.14.100.2
set nbns 203.14.100.5en voor PPP versie 2 en hoger:accept dns
set dns 203.14.100.1 203.14.100.2
set nbns 203.14.100.5Dit verteld de cliënt het primaire en secundaire
naamserver adres, en geeft een NetBIOS naamserver
adres.In versie 2 en hoger zal PPP gebruik maken van de
instellingen in /etc/resolv.conf
als de regel set dns niet wordt
gevonden.PAP en CHAP authenticatiePAPCHAPSommige providers stellen hun systemen dusdanig in dat
het authenticatie gedeelte van uw verbinding wordt
afgehandeld door het PAP of CHAP authenticatie mechanisme.
Als dit het geval is zal uw provider u niet voorzien van een
login: prompt wanneer u verbinding maakt
maar zal deze meteen gaan communiceren over het PPP
protocol.PAP is minder veilig dan CHAP, maar beveiliging is meestal
geen probleem omdat wachtwoorden, ook al worden deze in platte
tekst verstuurd met PAP, alleen worden verstuurd via een
seriële lijn. Hier is maar weinig ruimte voor crackers
om stiekem mee te luisteren.Terug verwijzende naar de PPP en statische IP-adressen
of PPP en dynamische IP-adressen
secties moeten de volgende aanpassingen gedaan worden:13 set authname Mijngebruikersnaam
14 set authkey Mijnwachtwoord
15 set loginRegel 13:Deze regel geeft uw PPP/CHAP gebruikersnaam aan.
U moet de juiste waardes invullen voor
Mijngebruikersnaam.Regel 14:
- password
-
- Deze regel geeft uw PPP/CHAP wachtwoord aan.
+ Deze regel geeft uw PPP/CHAP wachtwoordpassword aan.
U moet de juiste waarde invullen voor
Mijnwachtwoord. Misschien
wilt u een extra regel toevoegen als:16 accept PAPof16 accept CHAPom duidelijk te maken op welke manier u wilt
authenticeren, standaard worden zowel PAP als CHAP
geaccepteerd.Regel 15:Uw ISP zal normaal gesprokken niet eisen dat u
op de server aanlogt als u gebruik maakt van PAP of
CHAP. Daarom moet u de set login regel
uitschakelen.Het aanpassen van uw ppp configuratie
terwijl deze in gebruik isHet is mogelijk om tegen met het ppp
programma te communiceren terwijl deze in gebruik is op de
achtergrond, maar dat kan alleen als er een geschikte
diagnostische poort ingesteld is. Om dit te kunnen doen
moet de volgende regel worden toegevoegd aan de
configuratie:set server /var/run/ppp-tun%d DiagnosticPassword 0177Dit vertelt PPP om te luisteren naar het gespecificeerde
&unix; domein socket, waarbij de cliënten gevraagd
worden om het opgegeven wachtwoord voordat toegang
verleend kan worden. Het %d in de
naam wordt vervangen door het tun
apparaat dat gebruikt wordt voor de verbinding.Zodra een socket ingesteld is kan het &man.pppctl.8;
programma gebruikt worden in scripts die het draaiende
programma willen bewerken.De vertaalmogelijkheden van PPP voor netwerkadressen
gebruikenPPPNATPPP heeft de mogelijkheid om interne NAT te gebruiken zonder
dat de kernel hiervoor iets hoeft te doen. Deze functionaliteit
kan worden ingeschakeld door de volgende regel in
/etc/ppp/ppp.conf:nat enable yesOok kan PPP NAT ingeschakeld worden door de optie
-nat. Er is ook een
/etc/rc.conf optie genaamd
ppp_nat welke standaard ingeschakeld
is.Als u gebruik wilt maken van deze optie, kunt u de
volgende /etc/ppp/ppp.conf opties ook
nuttig vinden om binnenkomende connecties door te sturen:nat port tcp 10.0.0.2:ftp ftp
nat port tcp 10.0.0.2:http httpof als u niets vertrouwd vanaf buitenaf:nat deny_incoming yesLaatste systeemconfiguratiePPPconfiguratieU heeft nu ppp geconfigurerd, maar er
moeten nog een aantal dingen gedaan worden voordat deze klaar
is om te kunnen werken. Hiervoor moeten een aantal
aanpassingen gedaan worden in het bestand
/etc/rc.conf.Van boven naar beneden kijkende zorgen we er als eerste
voor dat de hostname= regel ingesteld
is met bijvoorbeeld:hostname="foo.example.com"Als uw provider u een statisch adres en een naam heeft
gegeven is het waarschijnlijk handig dat u deze naam gebruikt
als uw hostnaam.Zoek naar de network_interfaces
variabele. Als u uw systeem wilt configuren om in te bellen
bij uw provider wanneer nodig, zorg er dan voor dat het
tun0 apparaat is toegevoegd aan deze
lijst. Haal deze anders weg.network_interfaces="lo0 tun0"
ifconfig_tun0=De ifconfig_tun0 variabele moet
leeg zijn, en een bestand genaamd
/etc/start_if.tun0 moet aangemaakt
worden met de volgende inhoud:ppp -auto mysystemDit script wordt uitgevoerd tijdens de netwerk
configuratie, waarbij uw ppp daemon wordt gestart in
automatische mode. Als u een LAN heeft waarvoor deze
machine een router is wilt u wellicht ook de
meegeven. Bekijk de handleiding
voor verdere details.Zorg ervoor dat het router programma is ingesteld op
NO door middel van de volgende regel in
uw /etc/rc.conf bestand:router_enable="NO"routedHet is belangrijk dat de routed daemon
niet gestart wordt, omdat routed de neiging
heeft om de standaard routeringtabel regels die gemaakt
worden door ppp te verwijderen.Het is waarschijnlijk een goed idee om te zorgen dat de
sendmail_flags regel de
optie niet wordt meegenomen, anders zal
sendmail periodiek een zoek actie
verrichten op het netwerk, wat ervoor zorgt dat uw machine
gaat uitbellen. U kunt het volgende instellen:sendmail_flags="-bd"sendmailHet nadeel hiervan is dat u sendmail
moet forceren om de mailqueue periodiek te bekijken zodra
de ppp link op is door het typen van:&prompt.root; /usr/sbin/sendmail -qU wilt wellicht gebruik maken van het
!bg commando in
ppp.linkup om dit automatisch te
doen:1 provider:
2 delete ALL
3 add 0 0 HISADDR
4 !bg sendmail -bd -q30mSMTPAls u dit niet wilt doen, is het mogelijk om een
dfiler in te stellen welke SMTP verkeer
blokkeert. Raadpleeg naar de voorbeeld bestanden voor
verdere details.Alles wat nu nog nodig is, is het herstarten van de
machine. Na het herstarten kunt het volgende typen:&prompt.root; pppen daarna dial provider om de PPP
sessie te starten, of u indien u dat wilt kan
ppp automatisch sessies opzetten wanneer
er uitgaand verkeer is (en wanneer u geen
start_if.tun0 script heeft aangemaakt),
typt u:&prompt.root; ppp -auto providerSamenvattingOm samen te vatten zijn de volgende stappen benodigd om PPP
voor de eerste keer in te stellen:Aan de cliënt zijde:Zorg ervoor dat het tun
apparaat is ingeschakeld in uw kernel.Zorg ervoor dat het apparaatbestand tunN
beschikbaar is in de map /dev.Creeër een regel in
/etc/ppp/ppp.conf. Het
pmdemand voorbeeld zou moeten
volstaand voor de meeste providers.Als u dynamische IP-adressen heeft, creeër een
regel in /etc/ppp/ppp.linkup.Update uw /etc/rc.conf
bestand.Creeër een start_if.tun0
script als u op verzoek wilt inbellen.Aan de server zijde:Zorg ervoor dat het tun
apparaat is ingeschakeld in uw kernel.Zorg ervoor dat het apparaatbestand
tunN
beschikbaar is in de map /dev.Creeër een regel in
/etc/passwd (door gebruik te maken
van het &man.vipw.8; programma).Creeër een profiel in deze gebruikers home
directory die
ppp -direct direct-server start of
iets in die trant.Creeër een regel in
/etc/ppp/ppp.conf. Het
direct-server voorbeeld zou moeten
volstaan.Creeër een regel in
/etc/ppp/ppp.linkup.Update uw /etc/rc.conf
bestand.Gennady B.SorokopudDelen origineel bijgedragen door RobertHuffKernel-PPP gebruikenHet opzetten van kernel-PPPDeze sectie geldt en is alleen geldig voor &os; 7.X.PPPkernel-PPPVoordat u begint met het opzetten van PPP op uw machine,
zorg ervoor dat het pppd commando zich
bevindt in de map /usr/sbin
en dat de map /etc/ppp
bestaat.pppd kan in twee verschillende modes
werken:Als een cliënt — u wilt uw
machine verbinden met de buitenwereld via een seriële
PPP-verbinding of een modemlijn.
-
- PPP
-
- server
-
-
- Als een server — uw machine bevind
+ Als een serverPPPserver — uw machine bevind
zich in het netwerk en wordt gebruikt om andere computers
te verbinden door middel van PPP.In beide gevallen moet u een bestand met opties instellen
(/etc/ppp/options of
~/.ppprc als er meer dan één
gebruiker is op uw machine die gebruik maakt van PPP).U heeft ook enige modem/seriële software nodig
(comms/kermit wordt
aanbevolen), zodat u de andere kant kunt bellen en een
verbinding kunt opzetten.TrevRoydhouseGebaseerd op informatie geleverd door Gebruik maken van pppd als
cliëntPPPcliëntCiscoDe volgende /etc/ppp/options kan
gebruikt worden om met een Cisco terminal server PPP lijn
verbinding te maken.crtscts # Schakel hardware flow controle in
modem # modem controle lijn
noipdefault # De PPP-server aan de andere kant moet uw IP-adres
# opgeven, als de machine aan de andere kant uw IP
# adres niet meegeeft tijdens de IPCP onderhandeling
# moet deze optie worden verwijderd
passive # Wacht op LCP pakketten
domain ppp.foo.com # Vul uw domein naam hier in
:remote_ip # Vul het IP-adres van de PPP
# server in deze wordt gebruikt om pakketten te
# routeren via de PPP link. Als u de noipdefault optie
# niet heeft aangegeven verander dan deze regel in
# local_ip:remote_ip
defaultroute # Vul dit in als u wilt dat de PPP server de standaard
# router wordtOm verbinding te maken:KermitmodemBel naar de machine aan de andere kant door middel van
Kermit (of een ander modem
programma), en vul uw gebruikersnaam en wachtwoord in (of
wat er ook nodig is om de verbinding op te brengen met de
machine aan de andere kant).Stop Kermit (zonder de lijn
op te hangen).Type het volgende:&prompt.root; /usr/sbin/pppd /dev/tty0119200Wees er zeker van dat de juiste snelheid en het juiste
apparaat wordt aangesproken.Uw computer is nu verbonden met PPP. Als de connectie
faalt, kan de optie worden meegegeven
in het /etc/ppp/options bestand waarna op
de console berichten kunnen worden geraadpleegd om het probleem
te achterhalen.Het volgende /etc/ppp/pppup script
zal alle drie de stappen automatisch doen:#!/bin/sh
pgrep -l pppd
pid=`pgrep pppd`
if [ "X${pid}" != "X" ] ; then
echo 'killing pppd, PID=' ${pid}
kill ${pid}
fi
pgrep -l kermit
pid=`pgrep kermit`
if [ "X${pid}" != "X" ] ; then
echo 'killing kermit, PID=' ${pid}
kill -9 ${pid}
fi
ifconfig ppp0 down
ifconfig ppp0 delete
kermit -y /etc/ppp/kermit.dial
pppd /dev/tty01 19200Kermit/etc/ppp/kermit.dial is een
Kermit script dat belt en alle
benodigde authorisaties doet op de machine aan de andere
kant (een voorbeeld van zo'n script is bijgevoegd aan het
einde van dit document).Gebruik het volgende /etc/ppp/pppdown
script om de PPP lijn af te breken:#!/bin/sh
pid=`pgrep pppd`
if [ X${pid} != "X" ] ; then
echo 'killing pppd, PID=' ${pid}
kill -TERM ${pid}
fi
pgrep -l kermit
pid=`pgrep kermit`
if [ "X${pid}" != "X" ] ; then
echo 'killing kermit, PID=' ${pid}
kill -9 ${pid}
fi
/sbin/ifconfig ppp0 down
/sbin/ifconfig ppp0 delete
kermit -y /etc/ppp/kermit.hup
/etc/ppp/ppptestControleer of pppd nog steeds draait door
het uitvoeren van /usr/etc/ppp/ppptest,
welke er als volgend uitziet:#!/bin/sh
pid=`pgrep pppd`
if [ X${pid} != "X" ] ; then
echo 'pppd running: PID=' ${pid-NONE}
else
echo 'No pppd running.'
fi
set -x
netstat -n -I ppp0
ifconfig ppp0Om het modem op te hangen, voer het
/etc/ppp/kermit.hup script uit
welke het volgende bevat:set line /dev/tty01 ; vul hier uw modem in
set speed 19200
set file type binary
set file names literal
set win 8
set rec pack 1024
set send pack 1024
set block 3
set term bytesize 8
set command bytesize 8
set flow none
pau 1
out +++
inp 5 OK
out ATH0\13
echo \13
exitHier is een alternatieve methode welke gebruik maakt
van chat in plaats van
kermit:De volgende twee regels zijn voldoende om een
pppd verbinding op te zetten./etc/ppp/options:/dev/cuad1 115200
crtscts # Schakel hardware flow controle in
modem # modem controle lijn
connect "/usr/bin/chat -f /etc/ppp/login.chat.script"
noipdefault # De PPP server aan de andere kant moet uw IP-adres
# opgeven, als de machine aan de andere kant uw IP
# adres niet meegeeft tijdens de IPCP onderhandeling
# moet deze optie worden verwijderd
passive # Wacht op LCP pakketten
domain your.domain # Vul uw domein naam hier in
:remote_ip # Vul het IP-adres van de PPP
# server in deze wordt gebruikt om pakketten te
# routeren via de PPP link. Als u de noipdefault optie
# niet heeft aangegeven verander dan deze regel in
# local_ip:remote_ip
defaultroute # Vul dit in als u wilt dat de PPP server de standaard
# router wordt/etc/ppp/login.chat.script:Het volgende moet op één regel.ABORT BUSY ABORT 'NO CARRIER' "" AT OK ATDTtelefoon.nummer
CONNECT "" TIMEOUT 10 ogin:-\\r-ogin: login-id
TIMEOUT 5 sword: passwordZodra deze zijn geďnstalleerd en correct aangepast is
het enige dat gedaan moet worden, het starten van
pppd zoals volgt:&prompt.root; pppdGebruik maken van pppd als
server/etc/ppp/options moet ongeveer het
volgende bevatten:crtscts # Hardware flow controle
netmask 255.255.255.0 # netmask (niet vereist)
192.114.208.20:192.114.208.165 # IP's van lokale en niet lokale hosten
# het lokale IP moet anders zijn dan
# degeen die is toegewezen aan de
# Ethernet (of andere) interface op uw
# machine. remote IP is het IP-adres
# dat wordt toegewezen aan de machine
# aan de andere kant
domain ppp.foo.com # uw domein
passive # Wacht op LCP
modem # modem lijnHet volgende /etc/ppp/pppserv script
zal pppd vertellen zich te gedragen
als server:#!/bin/sh
pgrep -l pppd
pid=`pgrep pppd`
if [ "X${pid}" != "X" ] ; then
echo 'killing pppd, PID=' ${pid}
kill ${pid}
fi
pgrep -l kermit
pid=`pgrep kermit`
if [ "X${pid}" != "X" ] ; then
echo 'killing kermit, PID=' ${pid}
kill -9 ${pid}
fi
# reset ppp interface
ifconfig ppp0 down
ifconfig ppp0 delete
# enable autoanswer mode
kermit -y /etc/ppp/kermit.ans
# run ppp
pppd /dev/tty01 19200Gebruik dit /etc/ppp/pppservdown script
om de server te stoppen:#!/bin/sh
pgrep -l pppd
pid=`pgrep pppd`
if [ "X${pid}" != "X" ] ; then
echo 'killing pppd, PID=' ${pid}
kill ${pid}
fi
pgrep -l kermit
pid=`pgrep kermit`
if [ "X${pid}" != "X" ] ; then
echo 'killing kermit, PID=' ${pid}
kill -9 ${pid}
fi
ifconfig ppp0 down
ifconfig ppp0 delete
kermit -y /etc/ppp/kermit.noansHet volgende Kermit script
(/etc/ppp/kermit.ans) zal het automatisch
beantwoorden van uw modem in of uitschakelen. Het moet eruit
zien als volgend:set line /dev/tty01
set speed 19200
set file type binary
set file names literal
set win 8
set rec pack 1024
set send pack 1024
set block 3
set term bytesize 8
set command bytesize 8
set flow none
pau 1
out +++
inp 5 OK
out ATH0\13
inp 5 OK
echo \13
out ATS0=1\13 ; Verander dit in out ATS0=0\13 als u automatisch
; beantwoorden wilt uitschakelen
inp 5 OK
echo \13
exitEen script genaamd /etc/ppp/kermit.dial
wordt gebruikt voor het bellen en authenticeren van de machine
aan de andere kant. U moet deze aanpassen aan uw wensen. Vul in
dit script uw inlognaam en wachtwoord in, u moet ook het input
statement aanpassen afhankelijk hoe uw modem antwoordt en de
communicatie van de machine aan de andere kant.;
; Vul de seriële lijn in welke verbonden is met het modem
;
set line /dev/tty01
;
; Stel het modem snelheid in:
;
set speed 19200
set file type binary ; volledige 8 bit bestands xfer
set file names literal
set win 8
set rec pack 1024
set send pack 1024
set block 3
set term bytesize 8
set command bytesize 8
set flow none
set modem hayes
set dial hangup off
set carrier auto ; Daarna stel SET CARRIER in indien nodig
set dial display on ; Stel daarna SET DIAL in indien nodig
set input echo on
set input timeout proceed
set input case ignore
def \%x 0 ; login prompt teller
goto slhup
:slcmd ; stel het modem in op commandomodus
echo Stel het modem in op commandomodus.
clear ; Verwijder ongelezen karakters uit de input buffer
pause 1
output +++ ; hayes escape sequence
input 1 OK\13\10 ; wacht op OK
if success goto slhup
output \13
pause 1
output at\13
input 1 OK\13\10
if fail goto slcmd ; Als het modem niet antwoordt met OK, probeer het opnieuw
:slhup ; hang de telefoon op
clear ; Verwijder ongelezen karakters uit de input buffer
pause 1
echo De telefoon wordt opgehangen.
output ath0\13 ; hayes command voo on hook
input 2 OK\13\10
if fail goto slcmd ; Als er geen OK antwoord is, stel het modem in op commandomodus
:sldial ; Draai het nummer
pause 1
echo Bellen.
output atdt9,550311\13\10 ; put phone number here
assign \%x 0 ; zero the time counter
:look
clear ; Verwijder ongelezen karakters uit de input buffer
increment \%x ; Tel de seconden
input 1 {CONNECT }
if success goto sllogin
reinput 1 {NO CARRIER\13\10}
if success goto sldial
reinput 1 {NO DIALTONE\13\10}
if success goto slnodial
reinput 1 {\255}
if success goto slhup
reinput 1 {\127}
if success goto slhup
if < \%x 60 goto look
else goto slhup
:sllogin ; login
assign \%x 0 ; Stel de tijd teller in op nul
pause 1
echo Zoeken naar de login prompt
:slloop
increment \%x ; Tel de seconden
clear ; Verwijder ongelezen karakters uit de input buffer
output \13
;
; Stel hier de verwachte login prompt in:
;
input 1 {Username: }
if success goto sluid
reinput 1 {\255}
if success goto slhup
reinput 1 {\127}
if success goto slhup
if < \%x 10 goto slloop ; Probeer 10 x om een login prompt te krijgen
else goto slhup ; Hang op en probeer het nogmaals als er 10 mislukte pogingen zijn
:sluid
;
; Vul hier uw gebruikersnaam in:
;
output ppp-login\13
input 1 {Password: }
;
; Vul hier uw wachtwoord in:
;
output ppp-password\13
input 1 {Entering SLIP mode.}
echo
quit
:slnodial
echo \7Er is geen kiestoon, controleer de telefoon lijn!\7
exit 1
; local variables:
; mode: csh
; comment-start: "; "
; comment-start-skip: "; "
; end:TomRhodesBijgedragen door Het problemen oplossen van
PPP-verbindingenPPPtroubleshootenDeze sectie behandelt een paar problemen die kunnen
optreden wanneer PPP wordt gebruikt over een modemverbinding.
Bijvoorbeeld, misschien moet u exact weten wat de prompt is
die het systeem waarop u inbelt presenteert. Sommige
providers presenteren de ssword
prompt terwijl anderen password tonen
als het ppp script niet goed geschreven is
en de inlogin poging faalt. De meest standaard manier om
ppp verbindingen te onderzoeken op problemen
is door handmatig een connectie op te zetten. De volgende
informatie helpt u om stap voor stap een handmatige connectie op
te zetten.Controleer de apparaatknooppuntenAls er een eigen kernel gebruikt wordt, vergeet dan niet om
de volgende regel in uw kernelinstellingenbestand op te
nemen:device uartHet apparaat uart is al in de kernel
GENERIC opgenomen, dus zijn er in dit geval
geen extra stappen nodig. Controleer de resultaten van het
commando dmesg voor het modemapparaat door
middel van:&prompt.root; dmesg | grep uartU zou enige informatie moeten ontvangen over de
uart apparaten. Deze bevinden zich op
de COM-poorten die we nodig hebben. Als uw modem zich gedraagt
als een standaard seriële poort zou u deze moeten vinden
als zijnde uart1 of
COM2. Als dat klopt hoeft u de kernel
niet opnieuw te bouwen. Wanneer u de sio-apparaten controleert
en het modem is op uart1 te vinden of als
COM2 als u zich onder &ms-dos; bevindt,
dan is uw modemapparaat
/dev/cuau1.Handmatig verbinding makenVerbinding maken met het internet door handmatig controle
te hebben over ppp is snel, makkelijk en een
geweldige manier om problemen te vinden bij een verbinding
of zelfs voor alleen het verkrijgen van inforamtie over hoe uw
provider de ppp cliënt verbindingen
behandelt. Laten we starten met PPP
vanaf de commando regel. Let op dat in al onze voorbeelden we
gebruik maken van example als hostnaam
van de machine die PPP draait. U
start ppp door enkel het commando
ppp te typen:&prompt.root; pppWe hebben nu ppp gestart.ppp ON example> set device /dev/cuau1We stellen ons modem in, in dit geval is dat
cuau1.ppp ON example> set speed 115200We stellen de verbindings snelheid in, in dit geval
gebruiken we 115,200 kbps.ppp ON example> enable dnsVertel ppp om onze naam vertaler te
configuren, en de juiste naamserver regels toe te voegen aan
/etc/resolv.conf. Als ppp
onze hostnaam niet kan bepalen, kunnen we deze later
instellen.ppp ON example> termWissel naar terminal mode zodat we handmatig
het modem kunnen bedienen.deflink: Entering terminal mode on /dev/cuau1
type '~h' for helpat
OK
atdt123456789Gebruik at om het modem te initialiseren,
en daarna atdt en het nummer voor uw provider
om het inbel proces te beginnen.CONNECTBevestiging van de verbinding, als we tegen problemen
aanlopen met de verbinding, welke niet gerelateerd zijn aan de
hardware, is dit de plek om te beginnen om de problemen op te
lossen.provider login:myusernameHier wordt u gevraagd om een gebruikersnaam. Geef de
gebruikersnaam op welke aangeleverd is door de provider.provider pass:mypasswordDeze keer worden we gevraagd voor een wachtwoord.
Vul uw wachtwoord in welke u is aangeleverd door de provider.
Net zoals het aanloggen op &os; zal het wachtwoord niet
getoond worden.Shell or PPP:pppAfhankelijk van uw provider wordt deze prompt wellicht
nooit getoond. Hier wordt ons gevraagd of we een shell willen
starten op de host van de provider, of dat we
ppp willen starten. In dit geval is er
gekozen voor ppp omdat we een internet
verbinding willen.Ppp ON example>Let op dat in dit voorbeeld de eerste
een hoofdletter geworden is. Dit geeft aan dat we succesvol
verbonden zijn met de provider.PPp ON example>We hebben ons succesvol geauthenticeerd bij onze
provider en we wachten op een IP-adres dat ons wordt
toegewezen.PPP ON example>We hebben een IP adres verkregen en
hebben succesvol een verbinding opgebouwd.PPP ON example>add default HISADDRHier wordt een standaard route toegevoegd. Deze moet worden
toegevoegd voordat we kunnen communiceren met de buitenwereld
aangezien de enige verbinding op dit moment met de andere machine
is. Als dit niet lukt omdat er al een route bestaat, kan er een
bang karakter (!) geplaatst
worden voor de optie. Als alternatief kan
dit ook gedaan worden voordat de verbinding opgezet wordt,
waarna een nieuwe route onderhandeld wordt.Als alles goed gegaan is, zou er nu een actieve
verbinding moeten zijn met het internet, welke in de
achtergrond gezet kan worden door CTRLz
te gebruiken. Als u ziet dat het commando PPP
terugkeert naar ppp is de verbinding afgebroken.
Dit is goed om te weten, aangezien dit de status van de verbinding
toont. Hoofdletter P's betekenen dat er een verbinding is met
de provider, en kleine letters betekend dat de verbinding
verloren is gegaan om welke reden dan ook.
ppp kent alleen deze twee statussen.DebuggenAls u een directe lijn heeft en geen verbinding kan
maken, zet dan hardware flow CTS/RTS uit
met de optie. Dit is meestal
het geval voor een PPP terminal
server waar PPP hangt wanneer deze
probeert te schrijven naar uw communicatie link, dus moet deze
wachten op een CTS of een Clear To Send
signaal welke misschien nooit komt. Als u deze optie gebruikt,
moet u ook de optie gebruiken
welke benodigd kan zijn om hardware afhankelijkheden te
omzeilen door bepaalde karakters over en weer te sturen,
meestal XON/XOFF. Zie de &man.ppp.8; handleiding voor meer
informatie over deze optie en hoe deze gebruikt kan worden.Als u een ouder modem heeft, kan het voorkomen dat u ook
de optie moet gebruiken.
De parity is standaard ingesteld op none maar wordt gebruikt
voor fout controle (met als gevolg een grote verhoging van
de hoeveelheid data) bij oudere modems en sommige
providers. Dit is bijvoorbeeld een benodigde optie bij de
Compuserve provider.Het kan voorkomen dat PPP niet
terugkeert naar de commando mode, wat meestal betekent dat er
een onderhandelings fout is waarbij de provider wacht op uw
kant om de onderhandeling te kunnen beginnen. Op dit
moment kunt u gebruik maken van het ~p
commando om ppp te forceren om de configuratie informatie
te versturen.Als u nooit een inlogin prompt krijgt is het zeer
waarschijnlijk dat u PAP of
CHAP authenticatie moet gebruiken in plaats
van de &unix; stijl in het voorbeeld hierboven. Om gebruik te
maken van PAP of CHAP
voegt u het volgende opties toe aan
PPP voordat u de terminal mode
ingaat:ppp ON example> set authname mijngebruikersnaamWaarbij mijngebruikersnaam moet
worden vervangen met de gebruikersnaam die wordt toegewezen
door de provider.ppp ON example> set authkey mijnwachtwoordWaarbij mijnwachtwoord moet
worden vervangen door het wachtwoord wat u is toegewezen door
de provider.Als u een goed werkende verbinding kunt maken maar het
onmogelijk lijkt om een domeinnaam te vinden, probeert u
dan &man.ping.8; te gebruiken met een IP
adres en kijk of er enige informatie terugkomt. Als u 100
procent (100%) packet loss ziet is het zeer waarschijnlijk
dat u geen default route heeft gekregen. Controleer nogmaals
of de optie
ingesteld is tijdens de connectie. Als u verbinding kunt
maken met een extern IP adres is het
mogelijk dat een naamserver niet is toegevoegd aan het
/etc/resolv.conf bestand. Dit bestand
moet er uitzien als volgend:domain example.com
nameserver x.x.x.x
nameserver y.y.y.yWaar x.x.x.x en
y.y.y.y moet worden vervangen door
het IP adres van uw providers
naamservers. Deze informatie kan mogelijk wel of niet
geleverd zijn toen u zich inschreef, maar een snel telefoontje
naar uw provider zou hierin uitkomst kunnen bieden.U kunt ook &man.syslog.3; gebruiken om een log functie
voor PPP aan te maken. Voeg het
volgende toe aan /etc/syslog.conf:!ppp
*.* /var/log/ppp.logDeze functionaliteit bestaat in de meeste gevallen al.JimMockBijgedragen
(vanaf http://node.to/freebsd/how-tos/how-to-freebsd-pppoe.html)
door PPP gebruiken over Ethernet (PPPoE)PPPover EthernetPPPoEPPP, over EthernetDeze sectie beschrijft hoe PPP over Ethernet opgezet kan worden
(PPPoE).Het configureren van de kernelInmiddels is het niet langer benodigd om de kernel
configuratie aan te passen voor PPPoE. Als de benodigde
netgraph ondersteuning niet in de kernel aanwezig is zal deze
dynamisch geladen worden door
ppp.Het instellen van ppp.confHieronder volgt een voorbeeld van een werkende
ppp.conf:default:
set log Phase tun command # Er kan meer gedetailleerde logging ingeschakeld worden indien gewenst
set ifaddr 10.0.0.1/0 10.0.0.2/0
name_of_service_provider:
set device PPPoE:xl1 # Vervang x11 met uw ethernet apparaat
set authname UWLOGINNAAM
set authkey UWWACHTWOORD
set dial
set login
add default HISADDRHet draaien van pppAls de root gebruiker kunt u het
volgende draaien:&prompt.root; ppp -ddial name_of_service_providerHet pstarten van ppp tijdens het
opstartenVoeg het volgende toe aan uw
/etc/rc.conf bestand:ppp_enable="YES"
ppp_mode="ddial"
ppp_nat="YES" # Indien u nat wilt inschakelen voor het lokale netwerk, gebruik anders NO
ppp_profile="naam_van_service_provider"Gebruik maken van een PPPoE service labelSoms is het nodig om een service tag te gebruiken om
verbinding te kunnen maken. Service tags worden gebruikt om
onderscheid te maken tussen de verschillende PPPoE servers
die verbonden zijn met een netwerk.Uw provider zou u de juiste service tag gegevens verstrekt
moeten hebben in de documentatie die opgeleverd is. Als u deze
niet kunt vinden in de documentatie moet u deze opvragen bij uw
technische support afdeling van uw provider.Als allerlaatste optie kunt u de aangerade methode gebruiken
van het
Roaring Penguin
PPPoE programma welke gevonden kan worden in de Ports Collectie. Houd u echter in uw
achterhoofd dat dit uw modem ernstige schade kan toebrengen,
dus denkt u er goed over na voordat u het uitprobeert.
Installeer simpelweg het programma dat is meegeleverd bij het
modem door uw provider. Open hierna het
System menu vanuit het programma. De naam van
uw profiel moet hier te vinden zijn. Meestal is deze
ISP.De naam van het profiel (servicetag) zal worden gebruikt in
de PPPoE configuratie regel van ppp.conf
in het provider gedeelte van het set device
commando (zie de &man.ppp.8; handleiding voor meer informatie
hierover). Dit zou er als volgend uit moeten zien:set device PPPoE:xl1:ISPVergeet u niet om xl1 te
vervangen door het juiste apparaat voor uw Ethernet
kaart.Vergeet u niet om ISP te
vergangen door het profiel wat hierboven ingesteld is.Voor meer informatie zie:Cheaper
Broadband with FreeBSD on DSL door Renaud
Waldura.PPPoE met een &tm.3com;
HomeConnect ADSL Modem Dual
LinkDit modem volgt RFC 2516
niet (Een methode voor het versturen van PPP over
Ethernet (PPPoE) geschreven door by L. Mamakos,
K. Lidl, J. Evarts, D. Carrel, D. Simone, and R. Wheeler).
Daarentegen is een ander type pakket code gebruikt voor de
Ethernet frames. Klaagt u alstublift bij
3Com als u vind dat
ze zich aan de PPPoE specificatie moeten houden.Om &os; in staat te stellen om te communiceren met dit
apparaat, moet er een sysctl ingesteld worden. Dit kan
automatisch tijdens het opstarten gedaan worden door het
bewerken van /etc/sysctl.conf:net.graph.nonstandard_pppoe=1Dit kan ook direct gedaan worden met het commando:&prompt.root; sysctl net.graph.nonstandard_pppoe=1Helaas is het, doordat dit een systeem brede instelling is,
niet mogelijk om tegelijkertijd met een normale PPPoE
cliënt of server en een
&tm.3com; HomeConnect
ADSL-modem te communiceren.Gebruik maken van PPP over ATM
(PPPoA)PPPover ATMPPPoAPPP, over ATMHet volgende beschrijft hoe PPP over ATM (PPPoA) opgezet kan
worden. PPPoA is een populaire keuze binnen Europese DSL
providers.Gebruik maken van PPPoA met de Alcatel &speedtouch; USBPPPoA ondersteuning voor dit apparaat wordt geleverd door
middel van een port in &os; omdat de firmware wordt
gedistribueerd onder Alcatel's
licentie overeenkomst en mag derhalve niet vrijelijk
verspreid worden met het basis systeem van &os;.Om de software te installeren, wordt simpelweg de Ports Collectie gebruikt. Installeer de
net/pppoa port en volg de
instructies die meegeleverd worden.Zoals de meeste USB apparaten moet de Alcatel &speedtouch;
USB zijn firmware downloaden van de host computer om correct
te kunnen werken. Het is mogelijk om dit proces te automatiseren
binnen &os; zodat deze overdracht elke keer gebeurd als het
apparaat in een USB poort wordt gestoken. De volgende informatie
kan worden toegevoegd aan het /etc/usbd.conf
bestand om deze automatische overdracht in te schakelen. Dit
bestand moet bewerkt worden door de root
gebruiker.device "Alcatel SpeedTouch USB"
devname "ugen[0-9]+"
vendor 0x06b9
product 0x4061
attach "/usr/local/sbin/modem_run -f /usr/local/libdata/mgmt.o"Om de USB daemon, usbd, te starten
moet de volgende regel toegevoegd worden aan
/etc/rc.conf:usbd_enable="YES"Het is ook mogelijk om ppp op te
zetten om in te bellen tijdens het opstarten. Om dit te doen
moet de volgende regel worden toegevoegd aan
/etc/rc.conf. Voor deze procedure moet
er ook aangelogt zijn als de root
gebruiker.ppp_enable="YES"
ppp_mode="ddial"
ppp_profile="adsl"Om dit correct te laten werken moet het voorbeeld
ppp.conf bestand gebruikt worden welke
geleverd wordt door de
net/pppoa port.Gebruik maken van mpdU kunt mpd gebruiken om met een
variateit aan diensten verbinding te maken, in het bijzonder
PPTP diensten. U kunt mpd vinden in
de Ports Collectie, net/mpd.
Veel ADSL-modems vereisen dat er een PPTP tunnel wordt
gecreeërd tussen het modem en de computer, een voorbeeld
van zo'n modem is de Alcatel &speedtouch; Home.Eerst moet u de port installeren waarna
mpd geconfigureerd kan worden om
uw eisen en provider instellingen op te geven. De port
plaatst een verzameling voorbeeldconfiguratiebestanden welke
goed gedocumenteerd zijn in PREFIX/etc/mpd/.
Let op dat PREFIX betekend dat dit de
directory is waar uw ports in worden geďnstalleerd.
Standaard is dit /usr/local/. Een complete
handleiding om mpd te configureren is
beschikbaar in HTML formaat zodra de port geďnstalleerd is.
Deze wordt geplaatst in PREFIX/share/doc/mpd/.
Hieronder staat een voorbeeld configuratie om verbinding te
maken met een ADSL dienstverlener door het gebruik van
mpd. De configuratie is verspreid
over twee bestanden, allereerst het mpd.conf
bestand:Dit voorbeeld van het bestand mpd.conf werkt
alleen met mpd 4.X.default:
load adsl
adsl:
new -i ng0 adsl adsl
set bundle authname gebruikersnaam
set bundle password wachtwoord
set bundle disable multilink
set link no pap acfcomp protocomp
set link disable chap
set link accept chap
set link keep-alive 30 10
set ipcp no vjcomp
set ipcp ranges 0.0.0.0/0 0.0.0.0/0
set iface route default
set iface disable on-demand
set iface enable proxy-arp
set iface idle 0
openDe gebruikersnaam die gebruikt wordt om uzelf te
authenticeren aan uw provider.Het wachtwoord wat gebruikt wordt om uzelf te
authenticeren aan uw provider.Het mpd.links bestand bevat informatie
over de link, of linken waarmee u verbinding wilt maken. Een
voorbeeld mpd.links wat bij bovenstaand
voorbeeld hoort is hieronder gegeven:adsl:
set link type pptp
set pptp mode active
set pptp enable originate outcall
set pptp self 10.0.0.1
set pptp peer 10.0.0.138Het IP-adres van uw &os; computer waar vanaf
mpd gebruikt wordt.Het IP-adres van uw ADSL-modem. Voor de Alcatel
&speedtouch; Home is dit adres standaard 10.0.0.138.Het is mogelijk om de verbinding makkelijk te initialiseren
door het volgende commando als root uit te
voeren:&prompt.root; mpd -b adslU kunt de status van de verbinding zien met het volgende
commando:&prompt.user; ifconfig ng0
ng0: flags=88d1<UP,POINTOPOINT,RUNNING,NOARP,SIMPLEX,MULTICAST> mtu 1500
inet 216.136.204.117 --> 204.152.186.171 netmask 0xffffffffHet gebruik van mpd is de
aangeraden manier om met een ADSL dienst te verbinden met
&os;.Gebruik maken van pptpclientHet is ook mogelijk om &os; te gebruiken om naar een
andere PPPoA dienstenm verbinding te maken door middel van de
net/pptpclient port.Om gebruik te maken van net/pptpclient om naar een DSL dienst
verbinding te maken, installeert u de port of package en bewerkt
u /etc/ppp/ppp.conf U moet dit onder de
root gebruiker doen, om beide acties uit te
voeren. Een voorbeeld sectie van ppp.conf
is hieronder gegeven. Voor meer informatie over
ppp.conf consulteert u de &man.ppp.8;
handleiding.adsl:
set log phase chat lcp ipcp ccp tun command
set timeout 0
enable dns
set authname gebruikersnaam
set authkey wachtwoord
set ifaddr 0 0
add default HISADDRDe gebruikersnaam van uw account bij uw DSL
provider.Het wachtwoord voor uw account.Omdat u het wachtwoord van uw account in het
ppp.conf bestand in leesbare vorm moet
plaatsen, moet u ervoor zorgen dat niemand anders de inhoud
van dit bestand kan lezen. De volgende serie van commando's
zorgt ervoor dat het bestand alleen leesbaar is door de
root gebruiker. Raadpleeg de
handleidingen van &man.chmod.1; en &man.chown.8; voor verdere
informatie.&prompt.root; chown root:wheel /etc/ppp/ppp.conf
&prompt.root; chmod 600 /etc/ppp/ppp.confDit opent een tunnel voor een PPP sessie naar uw DSL router.
Ethernet DSL-modems hebben een voor geconfigureerd LAN IP
adres waarmee u verbinding maakt. In het geval van de Alcatel
&speedtouch; home is 10.0.0.138
het adres. Uw router documentatie vertelt u welk adres uw
apparaat gebruikt. Om de tunnel te openen en om een PPP sessie
op te zetten, start u het volgende commando:&prompt.root; pptp addressadslHet kan wenselijk zijn om een ampersand
(&) toe te voegen aan het einde van het
vorige commando, omdat pptp
uw prompt niet teruggeeft.Er wordt een tun virtueel tunnel
apparaat gecreeërd voor interactie tussen de
pptp en ppp
processen. Zodra u terugbent op uw prompt, of als
pptp bevestigd dat er een verbinding
is, kunt u de tunnel als volgend inzien:&prompt.user; ifconfig tun0
tun0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1500
inet 216.136.204.21 --> 204.152.186.171 netmask 0xffffff00
Opened by PID 918Als het niet mogelijk is om verbinding te maken, controleert
u de configuratie van uw router, welke meestal bereikbaar is
door middel van telnet of via een
web browser. Als u nog steeds geen verbinding kunt maken moet
u de resultaten van het pptp onderzoeken
en de inhoud van het ppp log
bestand, /var/log/ppp.log voor meer hints
over wat er mis kan zijn.SatoshiAsamiOrigineel bijgedragen door GuyHelmerMet input van PieroSeriniGebruik maken van SLIPSLIPDeze sectie geldt en is alleen geldig voor &os; 7.X.Het opzetten van een SLIP-cliëntSLIPcliëntHet volgende is één manier om een &os; machine
in te stellen voor gebruik met SLIP op een statisch host netwerk.
Voor dynamische hostnaam toewijzing (uw adres veranderd elke keer
als u inbelt), heeft u waarschijnlijk een meer complexe opzet
nodig.Bepaal eerst aan welke seriële poort uw modem verbonden
is. Veel mensen gebruiken hiervoor een symbolische link zoals
/dev/modem welke
verwijst naar de echte naam van het apparaat /dev/cuadN. Dit
geeft de mogelijkheid om naam abstract te houden, voor het geval
het modem ooit verplaatst wordt naar een andere poort. Het kan
best een vervelende klus zijn wanneer er een aantal bestanden in
/etc en
.kermrc bestanden verspreid over het gehele
systeem gerepareerd moeten worden!/dev/cuad0
is COM1, cuad1 is
COM2, etc.Zorg ervoor dat u het volgende in uw kernel configuratie
bestand hebt:device slDeze is standaard opgenomen in de
GENERIC kernel, dus dat zou geen problemen
moeten opleveren tenzij u deze verwijderd heeft.Dingen die u maar eenmalig hoeft uit te voerenVoeg uw machine, de router en de naamservers toe
aan uw /etc/hosts bestand. Ons
bestand ziet er als volgend uit:127.0.0.1 localhost loghost
136.152.64.181 water.CS.Example.EDU water.CS water
136.152.64.1 inr-3.CS.Example.EDU inr-3 slip-gateway
128.32.136.9 ns1.Example.EDU ns1
128.32.136.12 ns2.Example.EDU ns2Zorg ervoor dat u files voor
dns in de hosts:
sectie van uw /etc/nsswitch.conf
bestand. Zonder deze parameters zouden er interessante
dingen kunnen gebeuren.Bewerk het /etc/rc.conf
bestand.Stel uw hostnaam in door de regel te bewerken die
aangeeft:hostname="myname.my.domain"De volledig gekwalificeerde internet hostnaam
moet hier geplaatst worden.
- standaard routering
-
- Stel de standaard router in door het aanpassen
+ Stel de standaard routerstandaard routering in door het aanpassen
van de volgende regel van:defaultrouter="NO"naar:defaultrouter="slip-gateway"Creeër en bestand genaamd
/etc/resolv.conf welke het volgende
bevat:domain CS.Example.EDU
nameserver 128.32.136.9
nameserver 128.32.136.12
- naamserver
-
- domeinnaam
-
- Zoals u kunt zien, stellen deze de naamserver hosten
- in. Uiteraard is het echte domein en adres afhankelijk
+ Zoals u kunt zien, stellen deze de naamservernaamserver hosten
+ in. Uiteraard is het echte domeindomeinnaam en adres afhankelijk
van uw omgeving.Stel het wachtwoord in voor de
root en de toor
gebruikers (en elke andere gebruiker die geen wachtwoord
heeft).Herstart de machine en controleeer of deze opkomt
met de correcte hostnaam.Het opzetten van een SLIP-verbindingSLIPverbinding maken metBel in, type slip op de prompt
en voer uw machine naam en wachtwoord in. Wat is
vereist, is afhankelijk van uw omgeving. Als u gebruik
maakt van Kermit kan een
script als de volgende gebruikt worden:# kermit setup
set modem hayes
set line /dev/modem
set speed 115200
set parity none
set flow rts/cts
set terminal bytesize 8
set file type binary
# De volgende macro zal inbellen en ons inloggen.
define slip dial 643-9600, input 10 =>, if failure stop, -
output slip\x0d, input 10 Username:, if failure stop, -
output silvia\x0d, input 10 Password:, if failure stop, -
output ***\x0d, echo \x0aCONNECTED\x0aUiteraard moet u uw gebruikersnaam en wachtwoord
wijzigen zodat deze overeenkomen met die van u. Nadat
dit gedaan is kunt u slip invullen op
de Kermit prompt om verbinding
te maken.Het achterlaten van uw wachtwoord in leesbare tekst
waar dan ook op het bestandssysteem is zeker een
slecht idee. Doe dit op eigen
risico.Laat Kermit daar (het
programma kan tijdelijk uitgeschakeld worden door
Ctrlz) en type vervolgens als
root:&prompt.root; slattach -h -c -s 115200 /dev/modemAls u in staat bent om andere hosten met
ping te benaderen aan de andere kant
van de router, bent u verbonden! Als dit niet werkt kunt
u wellicht de gebruiken in plaats van
de als argument voor
slattach.Hoe de verbinding afgebroken moet wordenDoe het volgende::&prompt.root; kill -INT `cat /var/run/slattach.modem.pid`om slattach te stoppen. Houd in uw
achterhoofd dat u dit als root moet
doen. Ga hierna terug naar kermit (door
het intypen van fg als u deze tijdelijk
uitgeschakeld had) en verlaat de applicatie
(q).De &man.slattach.8; handleiding zegt dat
ifconfig sl0 down uitgevoerd moet worden
om de interface uit te schakelen, maar dit lijkt geen verschil
op te leveren. (ifconfig sl0 lijkt
hetzelfde resultaat te geven.)Soms kan het gebeuren dat het modem weigert om de carrier
los te laten. Start in dat geval simpelweg
kermit en stop deze wederom. Meestal stopt
het met de tweede poging.Problemen oplossenAls dit niet werkt, voelt u zich dan vrij om rond te vragen
op de &a.net.name; mailing lijst. De volgende dingen zijn
mensen al eens tegen aangelopen:Het niet gebruiken van de of
optie voor slattach
(Dit zou niet fataal moeten zijn, maar sommige mensen
hebben aangegeven dat het de problemen oplostte.)Het intypen van in plaats van
(het verschil is wellicht lastig te
zien met sommige fonts).Probeer ifconfig sl0 uit te voeren
om de interface status te zien. U kunt bijvoorbeeld
krijgen:&prompt.root; ifconfig sl0
sl0: flags=10<POINTOPOINT>
inet 136.152.64.181 --> 136.152.64.1 netmask ffffff00Als u no route to host krijgt
van het &man.ping.8; commando, is er mogelijk een probleem
met uw route tabel. U kunt het
netstat -r commando uitvoeren om de
huidige routes te zien:&prompt.root; netstat -r
Routing tables
Destination Gateway Flags Refs Use IfaceMTU Rtt Netmasks:
(root node)
(root node)
Route Tree for Protocol Family inet:
(root node) =>
default inr-3.Example.EDU UG 8 224515 sl0 - -
localhost.Exampl localhost.Example. UH 5 42127 lo0 - 0.438
inr-3.Example.ED water.CS.Example.E UH 1 0 sl0 - -
water.CS.Example localhost.Example. UGH 34 47641234 lo0 - 0.438
(root node)Het voorgaand voorbeeld komt van een relatief druk
systeem. De getallen op uw systeem zullen anders zijn
naar gelang de netwerk activiteiten.Het opzetten van een SLIP-serverSLIPserverDit document levert suggesties voor het opzetten van een
SLIP-server op een &os; systeem, welke meestal betekent het
configureren van uw systeem om automatisch verbindingen op te
zetten wanneer er wordt ingelogt met remote SLIP
cliënten.Eisen voorafTCP/IP networkingDeze sectie is vrij technisch van aard, dus achtergrond
informatie is vereist. Er wordt aangenomen dat u bekend bent
met het TCP/IP-netwerk protocol, en in dan in het bijzonder
met netwerk en node adresseringen, netwerk adres maskers,
subnetten, routes en dynamische routering protocollen
zoals RIP. Het configureren van een SLIP-dienst op een inbel
server vereist kennis van deze concepten en als u daarmee niet
bekend bent, leest u dan aub een versie van of
Craig Hunt's TCP/IP Network Administration
gepubliceerd door O'Reilly & Associates, Inc. (ISBN Number
0-937175-82-X), of Douglas Comer's boeken over het TCP/IP
protocol.modemDaarnaast wordt er vanuit gegaan dat u reeds uw modem(s)
heeft geconfigureerd en dat u de juiste systeem bestanden
heeft aangepast zodat er logins mogelijk zijn door uw modem(s)
heen. Als u dat nog niet heeft gedaan, zie dan voor details over het opzetten van
inbel diensten. Wellicht wilt u ook de handleiding bekijken
voor &man.sio.4; voor meer informatie over de seriële
port device driver en de &man.ttys.5;, &man.gettytab.5;,
&man.getty.8;, & &man.init.8; handleidingen voor
informatie die relevant zijn voor het configureren van het
systeem zodat logins mogelijk worden op modems, en wellicht
&man.stty.1; voor informatie over het instellen van de
seriële poort (zoals clocal voor
direct verbonden seriële interfaces).Snel overzichtIn een typische configuratie, werkt het gebruik van &os;
als een SLIP-server als volgend: een SLIP-gebruiker belt in
op uw &os; SLIP-server systeem en logt in met een speciaal
SLIP-login ID dat gebruik maakt van
/usr/sbin/sliplogin. Het
sliplogin programma leest door het
/etc/sliphome/slip.hosts bestand om een
corresponderende regel te vinden voor de speciale gebruiker en
als deze een match vindt verbind het de seriële lijn met
een beschikbare SLIP-interface waarna het shellscript
/etc/sliphome/slip.login wordt uitgevoerd
om de SLIP-interface te configureren.Een voorbeeld van SLIP-server loginBijvoorbeeld, als een SLIP-user-ID
Shelmergis, kan
Shelmerg's regel in
/etc/master.passwd er als volgt
uitzien:Shelmerg:password:1964:89::0:0:Guy Helmer - SLIP:/usr/users/Shelmerg:/usr/sbin/sliploginWanneer Shelmerg inlogt, zoekt het
sliplogin programma in het
/etc/sliphome/slip.hosts bestand voor
een regel dat een corresponderende user ID heeft, er kan
bijvoorbeeld een regel staan in
/etc/sliphome/slip.hosts dat eruit
ziet als volgend:Shelmerg dc-slip sl-helmer 0xfffffc00 autocompsliplogin zal de corresponderende
regel vinden en de seriële lijn koppelen aan de eerste
beschikbare SLIP-interface, waarna
/etc/sliphome/slip.login wordt
uitgevoerd zoals volgend:/etc/sliphome/slip.login 0 19200 Shelmerg dc-slip sl-helmer 0xfffffc00 autocompAls alles goed gaat, zal
/etc/sliphome/slip.login een
ifconfig commando uitvoeren voor de SLIP
interface waaraan sliplogin zichzelf
koppelt (SLIP-interface 0 zoals in bovenstaand voorbeeld
was de eerste parameter in de lijst welke gegeven is aan
slip.login) om een lokaal IP-adres
in te stellen (dc-slip), een remote IP
adres (sl-helmer), een netwerk master voor
de SLIP-interface
(0xfffffc00), en enkele
additionele vlaggen (autocomp). Als
er iets misgaat zal sliplogin meestal
voldoende goede informatie loggen via de
syslogd daemon faciliteiten,
welke meestal logt naar
/var/log/messages (zie de handleidingen
van &man.syslogd.8; en &man.syslog.conf.5; en controleer het
/etc/syslog.conf bestand om te zien wat
syslogd logt en waar dit naartoe
gelogt wordt).Kernel-configuratiekernelconfigurationSLIP&os;'s standaard kernel (GENERIC)
heeft reeds ondersteuning voor SLIP (&man.sl.4;), in het
geval van een custom kernel moet de volgende regel worden
toegevoegd aan de kernel configuratie:device slStandaard zal uw &os; machine geen pakketten doorsturen.
Als u wilt dat uw &os; SLIP-server zich gedraagt als router
zult u het bestand /etc/rc.conf moeten
bewerken en de instelling van de
gateway_enable variabele moeten aanpassen
naar . Dit zorgt ervoor dat de machine
na een herstart zich zal blijven gedragen als router.Om de instellingen meteen actief te maken kunt u het
volgende commando als root
uitvoeren:&prompt.root; service routing startRaadpleeg aub over
het configureren van de &os; kernel voor meer hulp over het
herconfigureren van uw kernel.Sliplogin-configuratieZoals eerder vermeld, zijn er drie bestanden in de map
/etc/sliphome die
onderdeel zijn van de configuratie voor
/usr/sbin/sliplogin (zie
&man.sliplogin.8; voor de actuele handleiding voor
sliplogin): slip.hosts,
welke de SLIP-gebruikers definieert en de gekoppelde IP
adressen; slip.login, welke meestal de
SLIP-interface configureert en (optioneel)
slip.logout, welke de effecten van
slip.login ongedaan maakt wanneer de
seriële verbinding verbroken wordt.slip.hosts configuratie/etc/sliphome/slip.hosts bevat
regels welke minstens vier onderdelen heeft die
gescheiden worden door een spatie:SLIP-gebruikers login IDLokale adres (lokaal voor de SLIP-server) van de
SLIP-linkRemote adres van de SLIP-linkNetwerk maskerDe lokale en remote adressen mogen host namen zijn
(Welke naar IP-adressen vertaald kunnen worden door
/etc/hosts of door de
DNS diensten, afhankelijk van uw
specificaties in het /etc/nsswitch.conf,
het netwerk masker mag een naam zijn dat vertaald kan worden
door een zoek opdracht in /etc/networks.
Op een voorbeeld systeem ziet het
/etc/sliphome/slip.hosts bestand er als
volgt uit:#
# login local-addr remote-addr mask opt1 opt2
# (normal,compress,noicmp)
#
Shelmerg dc-slip sl-helmerg 0xfffffc00 autocompAan het einde van deze regel staan één of
meerdere opties: — geen compressie
van de header — comprimeer
headers — comprimeer de
headers als de remote kant dit accepteert — schakelt ICMP
pakketten uit (dus alle ping pakketten
worden geweigerd in plaats van dat deze bandbreedte
verbruiken)SLIPTCP/IP networkingUw keuze van een lokaal en remote adres voor uw SLIP
verbindingen is afhankelijk van of u een speciaal toegewezen
TCP/IP-subnet gebruikt, of dat u gebruik gaat maken van
proxy ARP op uw SLIP-server (het is geen
echte proxy ARP, maar het is de terminologie
welke in deze sectie gebruikt wordt om het te beschrijven).
Als u niet zeker bent welke methode u moet kiezen, of hoe u
IP-adressen moet toewijzen, raadpleegt u dan de TCP/IP
boeken die vermeld worden in de SLIP vereisten
() en/of vraag uw IP-netwerk
manager om hulp.Als u gebruik gaat maken van een separaat subnet voor
uw SLIP-cliënten, moet u een subnet alloceren uit de
voor u toegewezen IP-ruimte, en elke SLIP-cliënt een
IP-adres geven uit dat subnet. Daarna moet u waarschijnlijk
een statische route configureren voor uw SLIP-subnet via
uw SLIP-server naar de dichtsbijzijnde IP-router.EthernetIn het andere geval moet u gebruik maken van de
proxy ARP methode, u moet elke SLIP
cliënt een IP-adres geven uit het Ethernet-subnet van
uw SLIP-server, daarnaast moet u het
/etc/sliphome/slip.login en het
/etc/sliphome/slip.logout script
aanpassen om gebruik te maken van &man.arp.8; om de
proxy ARP regels te beheren in de SLIP
servers ARP tabel.slip.login configuratieEen typisch /etc/sliphome/slip.login
bestand ziet er als volgend uit:#!/bin/sh -
#
# @(#)slip.login 5.1 (Berkeley) 7/1/90
#
# generiek loginbestand voor een SLIP-lijn. sliplogin voert deze uit
# met de volgende parameters:
# 1 2 3 4 5 6 7-n
# slipunit ttyspeed loginname local-addr remote-addr mask opt-args
#
/sbin/ifconfig sl$1 inet $4 $5 netmask $6Dit slip.login bestand start
alleen het ifconfig commando voor de
betreffende SLIP-interace met het lokale en remote adres
met het netwerkmasker van de SLIP-interface.Als u besloten heeft om gebruik te maken van de
proxy ARP methode (in plaats van het
gebruiken van een apart subnet voor uw SLIP-cliënten)
moet u het /etc/sliphome/slip.login
bestand aanpassen zodat deze er ongeveer als volgend
uitziet:#!/bin/sh -
#
# @(#)slip.login 5.1 (Berkeley) 7/1/90
#
# generiek loginbestand voor een SLIP-lijn. sliplogin voert deze uit
# met de volgende parameters:
# 1 2 3 4 5 6 7-n
# slipunit ttyspeed loginname local-addr remote-addr mask opt-args
#
/sbin/ifconfig sl$1 inet $4 $5 netmask $6
# Beantwoord ARP Verzoeken voor de SLIP-cliënt met ons Ethernet
# adres
/usr/sbin/arp -s $5 00:11:22:33:44:55 pubDe extra regel in het slip.login
bestand,
arp -s $5 00:11:22:33:44:55 pub,
creeërt een ARP-regel in de ARP-tabel van de SLIP-server.
Deze ARP regel zorgt ervoor dat de SLIP-server antwoord
geeft met het Ethernet MAC adres van de SLIP-server wanneer
een andere IP-node op het Ethernet vraagt om te communiceren
met het IP-adres van de SLIP-cliënt.EthernetMAC addressWanneer u gebruik maakt van het voorbeeld hierboven,
wees u er dan zeker van dat u het Ethernet MAC adres
(00:11:22:33:44:55) veranderd
in het MAC adres van uw systeem's Ethernet kaart, anders
werkt uw proxy ARP zeker niet! U kunt het
Ethernet MAC adres van uw SLIP-server achterhalen door het
bekijken van het resultaat van netstat -i;
de tweede regel met resultaten moet er ongeveer als volgend
uitzien:ed0 1500 <Link>0.2.c1.28.5f.4a 191923 0 129457 0 116Dit geeft aan dat het specifieke Ethernet MAC adres van
het systeem is 00:02:c1:28:5f:4a
— de punten in het Ethernet MAC adres welke gegeven
wordt door netstat -i moet worden veranderd
in dubbele punten (:) en voorloop nullen
moeten worden toegevoegd aan elk enkel hexadecimaal getal
om het adres te converteren naar de vorm die &man.arp.8;
wenst; zie de handleiding van &man.arp.8; voor een compleet
overzicht van het gebruik hiervan.Wanneer u
/etc/sliphome/slip.login en
/etc/sliphome/slip.logout, aanmaakt
moet het uitvoerbare bitje gezet zijn
(bijvoorbeeld chmod 755
/etc/sliphome/slip.login /etc/sliphome/slip.logout)
anders is sliplogin niet in staat om
deze uit te voeren.slip.logout configuratie/etc/sliphome/slip.logout is niet
strict noodzakelijk (tenzij u proxy ARP
implementeert), maar als beslist om deze aan te maken is
dit een voorbeeld basis slip.logout
script:#!/bin/sh -
#
# slip.logout
#
# uitlogbestand voor een SLIP-regel. sliplogin voert deze uit met de
# parameters:
# 1 2 3 4 5 6 7-n
# slipunit ttyspeed loginname local-addr remote-addr mask opt-args
#
/sbin/ifconfig sl$1 downAls u gebruik maakt van proxy ARP wilt u
waarschijnlijk dat het
/etc/sliphome/slip.logout bestand de
ARP regel weghaalt voor de SLIP-cliënt:#!/bin/sh -
#
# @(#)slip.logout
#
# uitlogbestand voor een SLIP-regel. sliplogin voert deze uit met de
# parameters:
# 1 2 3 4 5 6 7-n
# slipunit ttyspeed loginname local-addr remote-addr mask opt-args
#
/sbin/ifconfig sl$1 down
# Stop met het beantwoorden van ARP verzoeken voor de SLIP-cliënt
/usr/sbin/arp -d $5Het arp -d $5 verwijderd de ARP
regel, die proxy ARP heeft toegevoegd toen
de SLIP-cliënt inlogde.Het is belangrijk om dit te herhalen: zorg ervoor
/etc/sliphome/slip.logout het
uitvoerbare bitje heeft gezet nadat deze gecreeërd
is (b.v.
chmod 755 /etc/sliphome/slip.logout).Routering-overwegingenSLIProuteringAls u geen gebruik maakt van de proxy ARP
voor het routeren van pakketten tussen uw SLIP-cliënten
en de rest van uw netwerk (en wellicht het internet), moeten
er misschien een aantal statische routeringen naar de best
bereikbare standaard router ingesteld worden om uw SLIP
cliënts te routeren via uw SLIP0server.Statische routeringenstatische routeringenHet toevoegen van statische routeringen naar de dichts
bijzijnde router kan problematisch zijn (of zelfs onmogelijk
als u niet de bevoegdheden heft om dit te doen). Als u een
netwerk heeft met meerdere routers binnen uw organisatie
kan het zijn dat sommige routers, zoals die van Cisco en
Proteon , niet alleen geconfigureerd moeten worden met de
statische route naar het SLIP-subnet, maar deze moeten dan
ook geconfigureerd worden over welke statische routes aan
andere routers verteld moeten worden. Enige expertise en
fine tunen kan nodig zijn om statische routing te laten
werken.
diff --git a/nl_NL.ISO8859-1/books/handbook/printing/chapter.xml b/nl_NL.ISO8859-1/books/handbook/printing/chapter.xml
index 26f1753e59..d03fdd0c7c 100644
--- a/nl_NL.ISO8859-1/books/handbook/printing/chapter.xml
+++ b/nl_NL.ISO8859-1/books/handbook/printing/chapter.xml
@@ -1,5383 +1,5339 @@
SeanKellyBijdrage van JimMockGeherstructureerd en bijgewerkt door LodewijkKoopmanVertaald door AfdrukkenOverzichtwachtrijsysteem LPDafdrukken&os; kan gebruikt worden om op een scala aan printers af te
drukken, van de oudste matrixprinter tot de nieuwste laserprinters
en alles er tussenin, waardoor op hoge kwaliteit afgedrukt kan
worden vanuit de gebruikte programma's.&os; kan ook ingesteld worden als printserver in een netwerk.
Dan kan &os; afdrukopdrachten ontvangen van uiteenlopende
computers, waaronder &os; computers, &windows; en &macos; hosts.
&os; zorgt ervoor dat er één afdrukopdracht per keer
wordt afgedrukt, houdt statistieken bij van gebruikers en
computers die de meeste afdrukken maken, drukt
voorbladen af, zodat duidelijk is van wie de afdruk
is en nog veel meer.Na het lezen van dit hoofdstuk weet de lezer:Hoe het &os; afdrukwachtrijsysteem moet worden
ingesteld;Hoe afdrukfilters kunnen worden geďnstalleerd, om
bepaalde afdrukopdrachten op een andere manier af te handelen,
zoals het omzetten van documenten naar formaten die een
printer begrijpt;Hoe voorbladen kunnen worden afgedrukt;Hoe er op printers die op andere computers zijn
aangesloten kan worden afgedrukt;Hoe er op printers die direct op het netwerk zijn
aangesloten kan worden afgedrukt;Hoe afdrukbeperkingen kunnen worden opgelegd, zoals het
beperken van de grootte van de afdrukopdracht, en bepaalde
gebruikers verbieden af te drukken;Hoe afdrukstatistieken kunnen worden bijgehouden en het
printergebruik in de gaten kan worden gehouden;Hoe problemen met afdrukken kunnen worden opgelost.Aangeraden voorkennis:Hoe een nieuwe kernel wordt ingesteld, gebouwd en
geďnstalleerd ().InleidingOm printers onder &os; te kunnen gebruiken moeten ze kunnen
werken met het Berkeley lijnafdrukwachtrijsysteem, ook wel bekend
als het wachtrijsysteem LPD of
simpelweg LPD. Dit is het standaard
afdruksysteem onder &os;. Dit hoofdstuk introduceert
LPD en begeleidt bij het
instellen.Als de gebruiker al bekend is met
LPD of een ander
afdrukwachtrijsysteem, dan kan verder worden lezen vanaf Standaardinstallatie.LPD regelt alles met betrekking
tot de printer van een host. Het is verantwoordelijk voor een
aantal zaken:Het regelt de toegang tot aangesloten printers en
printers die op andere hosts op het netwerk zijn
aangesloten;
- afdrukopdrachten
-
Het geeft gebruikers de mogelijkheid bestanden aan te
bieden die afgedrukt moeten worden; deze aangeboden bestanden
- worden afdrukopdrachten genoemd;
+ worden afdrukopdrachtenafdrukopdrachten genoemd;
Het voorkomt dat gebruikers tegelijkertijd een printer
benaderen door een wachtrij bij te
houden voor elke printer;Het kan voorbladen afdrukken (in het
Engels ook wel bekend als banner, of
burst pagina's) zodat gebruikers hun
afdruk tussen andere afdrukken makkelijk terug kunnen
vinden;Het handelt de communicatie af voor printers die op een
seriële poort zijn aangesloten;Het kan afdrukopdrachten over een netwerk versturen naar
een LPD wachtrij op een andere
host;Het kan speciale filters aanroepen die afdrukopdrachten
converteren voor verschillende printertalen of
afdrukmogelijkheden;Het houdt statistieken bij van het printergebruik.Middels een instellingenbestand
(/etc/printcap) en door speciale filters
beschikbaar te stellen, kan het LPD
systeem alle, of enkele van bovenstaande taken uitvoeren
op een grote verscheidenheid aan afdrukhardware.Waarom het wachtrijsysteem gebruikt zou moeten
wordenHet wachtrijsysteem biedt nog steeds voordelen op een systeem met
een enkele gebruiker en dient gebruikt te worden omdat:LPD afdrukopdrachten in de
achtergrond afhandelt. Dan is het niet nodig te wachten
tot de gegevens naar de printer zijn verzonden;
- &tex;
-
LPD op eenvoudige wijze een
afdrukopdracht door een filter kan afdrukken om kopteksten
met datum/tijd toe te voegen of een speciaal
- bestandsformaat (zoals een &tex; DVI-bestand) om te zetten
+ bestandsformaat (zoals een &tex;&tex; DVI-bestand) om te zetten
naar een formaat dat de printer begrijpt. Deze handelingen
hoeven dan niet handmatig uitgevoerd te worden;Veel gratis en commerciële software met een
afdrukfunctie verwacht dat er een wachtrijsysteem aanwezig
is op een systeem om afdrukopdrachten naar te sturen. Door
een wachtrijsysteem op te zetten, wordt toekomstig te
installeren of reeds geďstalleerde software op
eenvoudige wijze ondersteund.StandaardinstallatieOm printers met het LPD
wachtrijsysteem te kunnen gebruiken, dienen zowel de
printerhardware als de LPD software
geďnstalleerd te worden. Dit document beschrijft deze
installatie in twee stappen:In het onderdeel Eenvoudige
printerinstallatie staat hoe een printer moet worden
aangesloten, hoe LPD er mee kan
communiceren en hoe tekstbestanden afgedrukt kunnen
worden.In Geavanceerde
printerinstallatie staat beschreven hoe een scala
aan bestandsformaten afgedrukt kan worden, hoe voorbladen
kunnen worden afgedrukt en hoe statistieken van de printer
kunnen worden bijgehouden.Eenvoudige printerinstallatieNu wordt toegelicht hoe de printerhardware en de
LPD software ingesteld moeten worden
om een printer te kunnen gebruiken. Het behandelt de
basis:Hardware-instellingen
geeft een aantal aanwijzingen voor het aansluiten van een
printer op een poort van een computer.Software-instellingen
toont hoe het instellingenbestand
(/etc/printcap) voor het
LPD-systeem moet worden
opgezet.Hoe een printer geďnstalleerd moet worden die via een
netwerkprotocol gegevens ontvangt, in plaats van een
seriële of parallelle poort, staat in Printers met
netwerkinterfaces.Hoewel dit onderdeel Eenvoudige
printerinstallatie heet, is het redelijk complex. De
printer met de computer en het
LPD-systeem laten samenwerken is het
moeilijkste. De geavanceerde opties, zoals voorbladen en
statistieken, zijn relatief makkelijk als de printer eenmaal
werkt.Hardware-instellingenHier worden de verschillende manieren waarop een printer
op een computer kan worden aangesloten beschreven. Het
bespreekt de soorten poorten en kabels en de
kernelinstellingen die nodig kunnen zijn om &os; met een
printer te laten communiceren.Als een printer al is aangesloten en succesvol is
gebruikt onder een ander besturingssysteem, dan kan
waarschijnlijk verder gelezen worden in Software-instellingen.Poorten en kabelsDe printers die tegenwoordig voor PC's verkocht worden
hebben eigenlijk altijd een van de volgende drie
poorten:
-
- printers
-
- serieel
-
-
- Seriële poort, ook
+ Seriëleprintersserieel poort, ook
bekend als RS-232- of COM-poorten, gebruiken een
seriële poort op een computer om gegevens naar een
printer te sturen. Seriële poorten zijn heel
gebruikelijk in de computerindustrie en kabels zijn
eenvoudig verkrijgbaar en makkelijk te maken.
Seriële poorten hebben soms speciale kabels
nodig en vereisen soms het instellen van ingewikkelde
communicatieparameters. De meeste seriële poorten
hebben een maximale doorvoersnelheid van
115.200 bps waardoor het afdrukken van grote
grafische afdrukopdrachten erg onpraktisch
wordt.
-
- printers
-
- parallel
-
-
- Parallelle poorten
+ Parallelleprintersparallel poorten
gebruiken een parallelle poort op een computer om
gegevens naar een printer te sturen. Parallelle
poorten zijn gebruikelijk in de PC-markt en zijn
sneller dan RS-232 serieel. Kabels zijn goed
verkrijgbaar, maar moeilijker handmatig te
vervaardigen. Meestal zijn er geen
communicatieparameters bij parallelle poorten, wat het
instellen erg eenvoudig maakt.
-
- centronics
-
- parallelle printers
-
-
Parallelle poorten staan ook wel bekend als
- Centronics poorten, genoemd naar het
+ Centronicscentronicsparallelle printers poorten, genoemd naar het
soort aansluiting op de printer.
-
- printers
-
- USB
-
-
- USB poorten, genoemd naar de Universal Serial
+ USBprintersUSB poorten, genoemd naar de Universal Serial
Bus, kunnen zelfs op nog hogere snelheid werken dan
parallelle of RS-232 seriële poorten. De
kabels zijn eenvoudig en goedkoop. USB is voor
afdrukken superieur aan RS-232 Serieel en Parallel,
maar wordt op &unix;-systemen niet altijd goed
ondersteund. Een van de manieren om dit te omzeilen is
de aanschaf van een printer met zowel een USB als een
parallelle poort, zoals veel printers die
hebben.Over het algemeen kunnen parallelle poorten
meestal in één richting communiceren (van
computer naar printer), terwijl seriële en USB
poorten in twee richtingen kunnen communiceren.
Nieuwere parallelle poorten (EPP en ECP) en printers kunnen
onder &os; in beide richtingen communiceren, mits een
IEEE-1284 gekeurde kabel wordt gebruikt.&postscript;Tweewegcommunicatie met een printer over een
parallelle poort verloopt meestal op een van de volgende
twee manieren. De eerste manier is door gebruik te maken
van een op maat gemaakt stuurprogramma voor &os; dat de
taal spreekt die door de printer wordt gebruikt. Dit geldt
meestal voor inkjet printers en er kan dan gebruikt gemaakt
worden van rapportagemogelijkheden over bijvoorbeeld
inktniveaus en andere statusinformatie. De tweede methode
wordt gebruikt als een printer &postscript;
ondersteunt.&postscript;-taken zijn eigenlijk programma's die
naar de printer worden gestuurd. Het hoeft zelfs niet in
een afdruk te resulteren; het resultaat van de opdracht kan
direct weer naar de computer worden gestuurd. &postscript;
gebruikt ook tweewegcommunicatie om een computer op de
hoogte te stellen van opgetreden fouten, zoals fouten in
het &postscript;-programma of vastgelopen papier.
Gebruikers kunnen dit soort informatie handig vinden. De
beste manier om bij een &postscript;-printer effectief bij
te houden wat het printergebruik is, vraagt om
tweewegcommunicatie: de printer wordt gevraagd om het
totaal aantal afgedrukt pagina's, de afdrukopdracht wordt
verzonden en vervolgens wordt nogmaals om het totaal aantal
afgedrukte pagina's gevraagd. Het verschil van deze
getallen geeft het aantal afgedrukte pagina's van de
afdrukopdracht van de betreffende gebruiker.Parallelle poortenOm een printer met een parallelle poort aan te
sluiten, moet een Centronics kabel de printer met de
computer verbinden. De instructies die geleverd zijn bij
de printer, de computer of beide, moeten voldoende zijn
om dit te verduidelijken.Onthoud op welke parallelle poort de printer is
aangesloten. De eerste parallelle poort heet onder &os;
ppc0, de tweede
ppc1, enzovoort. De
benaming voor de printer gaat analoog: /dev/lpt0 voor de printer op
de eerste parallelle poort enzovoort.Seriële poortenGebruik de juiste seriële kabel om een printer met
een seriële poort op een computer aan te sluiten.
De instructies die geleverd zijn bij de printer, de
computer of beide, moeten voldoende zijn om dit te
verduidelijken.Als onduidelijk is wat de juiste seriële
kabel is, kan een van onderstaande opties geprobeerd
worden:Een modemkabel verbindt elke
pin van de stekker aan het ene eind direct met de
corresponderende pin van de stekker aan het andere
eind. Dit type kabel heet ook wel een
DTE-naar-DCE-kabel.
- null-modem kabel
-
- Een null-modem kabel verbindt
+ Een null-modemnull-modem kabel kabel verbindt
enkele pinnetjes direct, verwisselt andere
(bijvoorbeeld van verstuur gegevens naar ontvang
gegevens) en sluit sommige draden kort in de stekker.
Dit type kabel heet ook wel een
DTE-to-DTE-kabel.Een
seriële printerkabel, nodig
bij sommige ongebruikelijke printers, is als een
null-modem kabel, maar stuurt sommige signalen naar hun
tegenhangers in plaats van ze intern kort te
sluiten.baud ratepariteitflow-control protocolHet is ook nodig de communicatieparameters voor de
printer in te stellen, meestal via het bedieningspaneel of
middels DIP-schakelaars op de printer. Selecteer de
hoogste bps (bits per seconde, soms
baud) die zowel door de computer als
de printer wordt ondersteund. Kies 7 of 8 data bits.
Geen, even of oneven pariteit en 1 of 2 stop bits.
Selecteer ook het flow-control protocol: ofwel geen, ofwel
XON/XOFF (ook bekend als in-band of
software) flow-control. Onthoud deze
instellingen voor de hier op volgende
software-instellingen.Software-instellingenNu wordt beschreven welke software-instellingen nodig
zijn om onder &os; af te drukken met behulp van het
wachtrijsysteem LPD.Een overzicht van de te doorlopen stappen:Maak, indien nodig, de kernel geschikt voor de poort
die door de printer wordt gebruikt. In Kernelinstellingen is
te lezen hoe dit gedaan kan worden.Stel de communicatievorm voor de parallelle poort in,
als gebruik wordt gemaakt van een parallelle printer. In
Communicatietype
instellen voor een parallelle poort staan de
details.Test of het besturingssysteem gegevens naar de
printer kan sturen. In Printercommunicatie
controleren staat een aantal suggesties.Stel LPD in voor de
printer door /etc/printcap aan te
passen. Dat wordt later in het hoofdstuk
beschreven.KernelinstellingenHet besturingssysteem is gecompileerd om met een
beperkte verzameling apparaten te kunnen werken. De
seriële en parallelle poorten zijn onderdeel van
deze verzameling. Daarom kan het nodig zijn om
ondersteuning voor een extra seriële of parallelle
poort toe te voegen als een kernel hier nog niet voor is
ingesteld.Om te achterhalen of de huidige kernel een
seriële poort ondersteunt:&prompt.root; grep sioN/var/run/dmesg.bootHier is N het aantal
seriële poorten, beginnende bij nul. Als de uitvoer
op het volgende lijkt, dan wordt de poort door de kernel
ondersteund:sio2 at port 0x3e8-0x3ef irq 5 on isa
sio2: type 16550AOm te achterhalen of de kernel een parallelle poort
ondersteunt:&prompt.root; grep ppcN/var/run/dmesg.bootHier is N het aantal
parallelle poorten beginnende bij nul. Als de uitvoer er
ongeveer als volgt uit ziet, dan wordt de poort door de
kernel ondersteund:ppc0: <Parallel port> at port 0x378-0x37f irq 7 on isa0
ppc0: SMC-like chipset (ECP/EPP/PS2/NIBBLE) in COMPATIBLE mode
ppc0: FIFO with 16/16/8 bytes thresholdHet kan nodig zijn een kernel aan te passen om het
besturingssysteem in staat te stellen een parallelle of
seriële poort die voor een printer wordt gebruikt te
herkennen en te gebruiken.In het onderdeel over kernelinstellingen staat meer
informatie om ondersteuning voor een seriële poort toe
te voegen. Lees de betreffende en de
volgende sectie om ondersteuning voor een parallelle poort
toe te voegen.Communicatietype instellen voor een parallelle poortWanneer een parallelle poort wordt gebruikt, kan
worden aangegeven of &os; voor de printer
interrupt-gestuurde of polled communicatie
moet gebruiken. Het generieke printerapparaatstuurprogramma
(&man.lpt.4;) onder &os; gebruikt het systeem &man.ppbus.4;.
Dit bestuurt de chipset van de poort met het stuurprogramma
&man.ppc.4;.De interrupt-gestuurde
methode is standaard in de GENERIC kernel. In dit
geval gebruikt het besturingssysteem een IRQ om te
bepalen of de printer klaar is om gegevens te ontvangen.Bij de polled methode vraagt
het besturingssysteem met vaste intervallen aan de
printer of deze klaar is om gegevens te ontvangen. Als
de printer antwoordt met klaar, stuurt
de kernel meer gegevens.De interrupt-gestuurde methode is meestal iets sneller,
maar gebruikt een kostbaar IRQ-nummer. Van sommige HP
printers wordt beweerd dat ze niet goed werken in
interruptmodus, schijnbaar door een (nog niet begrepen)
timing-probleem. Deze printers moeten gebruik maken van de
polled methode. Gebruik de methode die werkt. Sommige
printers werken met beide methodes, maar zijn tergend
langzaam in de interrupt modus.Het communicatietype kan op twee manieren worden
ingesteld: door de kernel in te stellen of door gebruik te
maken van &man.lptcontrol.8;.Het communicatietype instellen door de kernel
aan te passen:Pas het kernelinstellingenbestand aan. Zoek naar
een ppc0 ingang. Gebruik
ppc1 voor het opzetten van een
tweede parallelle poort. Gebruik
ppc2 voor de derde poort,
enzovoort.Als u gebruik wilt maken van de interrupt
gestuurde modus, bewerk dan de regel
hieronder:hint.ppc.0.irq="N"Het kernelinstellingenbestand moet ook het
stuurprogramma &man.ppc.4; bevatten:device ppcOm gebruik te maken van polled modus verwijder
dan het volgende regel uit
/boot/device.hints:hint.ppc.0.irq="N"In sommige gevallen is het onder &os; niet
voldoende om een poort in polled modus te zetten.
In veel gevallen komt dat door het stuurprogramma
&man.acpi.4;. Dit is in staat om apparaten te
testen en aan te sluiten en kan zodoende het
communicatietype van de printer wijzigen. Raadpleeg
de instellingen voor &man.acpi.4; om dit probleem te
verhelpen.Sla het bestand op. Maak en installeer de nieuwe
kernel en herstart de computer. In De &os;-kernel instellen
staan meer details.Communicatietype instellen met
&man.lptcontrol.8;:Typ:&prompt.root; lptcontrol /dev/lptNom lptN op
interrupt-gestuurde modus in te stellen.Typ:&prompt.root; lptcontrol /dev/lptNom lptN op
polled modus in te stellen.&prompt.root; lptcontrol -p -d /dev/lptNZet deze commando's in het bestand
/etc/rc.local zodat het
communicatietype juist wordt ingesteld bij het opstarten.
In &man.lptcontrol.8; staat meer informatie.Printercommunicatie controlerenVoor het instellen van het wachtrijsysteem, is het
verstandig te controleren of het besturingssysteem gegevens
naar een printer kan versturen. Het is een stuk
makkelijker om problemen met printercommunicatie en het
wachtrijsysteem apart op te lossen.De printer wordt getest door er tekst naar toe te
sturen. Voor printers die direct tekens kunnen afdrukken
is het programma &man.lptest.1; handig: het genereert alle
96 afdrukbare ASCII-tekens op 96 regels.&postscript;Voor &postscript; (of andere op taal gebaseerde)
printers, is een meer geavanceerde test nodig. Een
eenvoudig &postscript;-programma zoals het volgende
volstaat:%!PS
100 100 moveto 300 300 lineto stroke
310 310 moveto /Helvetica findfont 12 scalefont setfont
(Werkt dit?) show
showpageBovenstaande &postscript;-code kan in een bestand
worden opgeslagen en in de voorbeelden in de volgende
paragrafen gebruikt worden.PCLAls in dit document wordt gesproken over een
printertaal, wordt uitgegaan van een taal als
&postscript; en niet PCL van HP. Hoewel PCL zeer
functioneel is, kan het direct platte tekst afdrukken
door gebruik te maken van escape-tekens. &postscript; kan
niet direct platte tekst afdrukken. Voor dat soort
printertalen zijn speciale aanpassingen nodig.Parallelle printer controlerenprintersparallelIn deze sectie wordt beschreven hoe te controleren of
&os; kan communiceren met een printer die op een
parallelle poort is aangesloten.Voer de volgende stappen uit om een printer
op een parallelle poort te testen:&man.su.1; naar root.Stuur gegevens naar de printer.Gebruik &man.lptest.1; als de printer platte
tekst af kan drukken:&prompt.root; lptest > /dev/lptNHier is N het
nummer van de parallelle poort, beginnende bij
nul.Als de printer &postscript; of een andere
printertaal begrijpt, stuur dan een klein
programma naar de printer:&prompt.root; cat > /dev/lptNGeef het programma regel voor regel
heel nauwkeurig in. Een
regel kan niet worden gewijzigd als er op
RETURN of
ENTER is gedrukt. Geef na het
afronden van de invoer voor het programma het
einde-van-invoer-teken. Dit is meestal
CONTROL+D.Het programma kan ook in een bestand worden
opgeslagen:&prompt.root; cat bestand > /dev/lptNHier is bestand de
naam van het bestand waarin het programma is
opgeslagen dat naar een printer gestuurd kan
worden.Nu moet er iets worden afgedrukt. Tekst die er niet
goed uitziet is geen probleem. Dit wordt later
gerepareerd.Seriële printer controlerenprintersserieelIn deze sectie wordt beschreven hoe te controleren of
&os; kan communiceren met een printer die op een
seriële poort is aangesloten.Voer de volgende stappen uit om een printer
op de seriële poort te testen:&man.su.1; naar root.Voeg de volgende regel toe aan
/etc/remote:printer:dv=/dev/poort:br#bps-snelheid:pa=pariteitbits-per-secondeseriële poortpariteitHier is poort de
apparaatingave voor de seriële poort
(ttyu0, ttyu1,
enzovoort), bps-snelheid
is het aantal bits per seconde waarop de printer
communiceert en pariteit
is de pariteit die door de printer wordt vereist
(even, odd,
none of zero).Hier volgt een voorbeeldregel voor een printer
verbonden met een seriële lijn op de derde
seriële poort op 19200 bps, zonder
pariteit:printer:dv=/dev/ttyu2:br#19200:pa=noneMaak verbinding met de printer met &man.tip.1;:&prompt.root; tip printerAls dit niet werkt, pas dan
/etc/remote opnieuw aan en
probeer gebruik te maken van /dev/cuaaN
in plaats van /dev/ttyuN.Stuur gegevens naar de printer.Gebruik &man.lptest.1; als de printer platte
tekst af kan drukken:&prompt.user; $lptestAls de printer &postscript; of een andere
printertaal begrijpt, stuur dan een klein
programma naar de printer. Geef het programma
regel voor regel heel
nauwkeurig in. Backspace of andere
speciale toetsen kunnen een speciale betekenis
hebben voor de printer. Het kan ook nodig zijn
een speciaal einde-van-invoer-teken te geven
zodat de printer weet dat het gehele programma
ontvangen is. Druk voor &postscript;-printers
CONTROL+D.Het programma kan ook in een bestand worden
opgeslagen:&prompt.user; >bestandHier is bestand de
naam van het bestand waarin het programma is
opgeslagen. Nadat &man.tip.1; het bestand heeft
verstuurd kan het juiste einde-van-invoer-teken
ingegeven worden.Nu moet er iets worden afgedrukt. Tekst die er niet
goed uitziet is geen probleem. Dit wordt later
gerepareerd.De wachtrij aanzetten:
/etc/printcapOp dit punt moet de printer zijn aangesloten, de kernel
ingesteld zijn om met de printer te communiceren (indien
nodig) en is het mogelijk eenvoudige gegevens naar de printer
te sturen. Nu kan LPD ingesteld
worden zodat de toegang tot de printer wordt geregeld.LPD wordt ingesteld door het
bestand /etc/printcap aan te passen.
Het wachtrijsysteem LPD leest
dit bestand iedere keer dat het systeem wordt aangeroepen
zodat wijzigingen direct van toepassing zijn.printersmogelijkhedenDe opmaak van het bestand &man.printcap.5; is voor de
hand liggend. Met een willekeurige tekstverwerker kunnen
wijzigen in /etc/printcap aangebracht
worden. De opmaak is identiek aan die van andere bestanden
die voor dergelijke instellingen worden gebruik, zoals
/usr/share/misc/termcap en
/etc/remote. In &man.cgetent.3; staat
een uitgebreid overzicht van dit formaat.De vereenvoudigde instellingen bestaan uit de volgende
stappen:Kies een naam (en een paar handige aliassen) voor de
printer en voeg ze toe aan
/etc/printcap. In Printernaamgeving
staat meer informatie over het toekennen van een naam aan
een printer.
- voorbladen
-
- Het afdrukken van voorbladen (standaard) kan uitgezet
+ Het afdrukken van voorbladenvoorbladen (standaard) kan uitgezet
worden met de optie sh. In Voorbladen
onderdrukken staat meer informatie.Maak een wachtrijmap aan en specificeer de locatie
door middel van de optie sd. In
Wachtrijmap
aanmaken staat meer informatie.Bepaal welke ingave in /dev voor de printer wordt
gebruikt en geef dit in /etc/printcap
aan door gebruik te maken van de optie
lp. In Printerapparaat
identificeren staat meer informatie. Als de
printer is aangesloten op een seriële poort moeten
de communicatieparameters worden ingesteld met de optie
ms#. Dit wordt beschreven in Communicatieparameters
voor het wachtrijsysteem instellen.Installeer een filter voor platte tekst. In Tekstfilter
installeren staan details.Test de instellingen door iets met &man.lpr.1; af te
drukken. Details staan in Printer uitproberen en
Problemen
oplossen.Op taal gebaseerde printers, zoals
&postscript;-printers, kunnen niet direct platte tekst
afdrukken. De vereenvoudigde instellingen, zoals hierboven
beschreven en hieronder verder beschreven, gaan er van uit
dat alleen bestanden naar een printer worden gestuurd die
de printer begrijpt.Gebruikers verwachten vaak dat ze platte tekst naar
printers op een systeem kunnen sturen. Programma's die
LPD gebruiken om af te drukken
gaan hier ook vaak van uit. Als een dergelijke printer wordt
geďnstalleerd en het moet mogelijk zijn zowel
afdrukopdrachten in de printertaal als in platte tekst naar
een printer te sturen, dan is het zeer aan te raden een extra
stap in deze vereenvoudigde opzet in te voegen: installeer
een conversieprogramma dat automatisch platte tekst omzet in
&postscript; (of een andere printertaal). In Platte tekst
op &postscript;-printers afdrukken staat hoe dit in
zijn werk gaat.PrinternaamgevingDe eerste (makkelijke) stap is het kiezen van een naam
voor een printer. Het maakt niet uit of een naam
functioneel of grappig is, aangezien ook een aantal
aliassen aan een printer toegekend kunnen worden.Ten minste één van de printers die in
/etc/printcap worden genoemd moet het
alias lp hebben. Dit is de
standaardnaam voor de printer. Als gebruikers de
omgevingsvariabele PRINTER niet ingesteld
hebben en ook geen printernaam specificeren als ze
LPD gebruiken, dan wordt
standaard de printer lp gebruikt.Het is verder gebruikelijk om het laatste alias zo te
kiezen dat het een volledige beschrijving van de printer
is, inclusief merk en model.Als een naam en een aantal aliassen zijn gekozen,
kunnen ze aan /etc/printcap worden
toegevoegd. De naam van een printer wordt in de meest
linker kolom geplaatst. Scheid ieder alias met een
verticale streep en plaats een dubbele punt achter het
laatste alias.In het volgende voorbeeld is de beginsituatie een
uitgekleed /etc/printcap waarin twee
printers worden gedefinieerd (een Diablo 630 lijnprinter
en een Panasonic KX-P4455
&postscript;-laserprinter):#
# /etc/printcap voor host rose
#
rattan|line|diablo|lp|Diablo 630 Line Printer:
bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:In dit voorbeeld heet de eerste printer
rattan en heeft de volgende aliassen:
line, diablo,
lp en Diablo 630 Line
Printer. Omdat deze printer het alias
lp heeft, is het de standaard printer.
De tweede printer heet bamboo en heeft
de aliassen ps, PS,
S, panasonic en
Panasonic KX-P4455 PostScript v51.4.Voorbladen onderdrukkenafdrukkenvoorbladenHet wachtrijsysteem LPD
drukt standaard een voorblad af voor
elke afdrukopdracht. Het voorblad bevat de gebruikersnaam
van de gebruiker die de afdrukopdracht gaf, de computer
waar de opdracht is gegeven en, in mooie grote letters, de
naam van de afdrukopdracht. Het nadeel hiervan is dat al
deze extra tekst het debuggen van de eenvoudige
printerinstallatie bemoeilijkt. Daarom wordt het afdrukken
van voorbladen onderdrukt.Om voorbladen te onderdrukken, wordt de optie
sh toegevoegd voor de relevante printer
in /etc/printcap. Hieronder staat een
voorbeeld van /etc/printcap met de
optie sh:#
# /etc/printcap voor host rose - nergens worden voorbladen afgedrukt
#
rattan|line|diablo|lp|Diablo 630 Line Printer:\
:sh:
bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\
:sh:Het juiste formaat is gebruikt: de eerste regel begint
in de meest linker kolom, volgende regels springen in.
Elke regel eindigt met een backslash, behalve de
laatste.Wachtrijmap aanmakenprinter wachtrijafdrukopdrachtenDe volgende stap in deze eenvoudige opzet is het
aanmaken van een wachtrijmap. Dit is
een map waar afdrukopdrachten geplaatst worden totdat ze
worden afgedrukt. Ook wordt er een aantal bestanden
geplaatst die nodig zijn voor het functioneren van het
wachtrijsysteem.Vanwege het veranderlijke karakter van wachtrijmappen
is het gebruikelijk om deze mappen onder
/var/spool te
plaatsen. Het is niet nodig om een reservekopie van de
inhoud van deze mappen te maken. Ze kunnen eenvoudigweg
opnieuw worden aangemaakt met &man.mkdir.1;.Het is ook gebruikelijk om de naam van de map overeen te
laten komen met die van de printer, zoals onder is
weergegeven:&prompt.root; mkdir /var/spool/printernaamAls er veel printers zijn aangesloten op een netwerk,
is het beter de wachtrijmappen aan te maken in een enkele
map die speciaal wordt gebruikt voor afdrukken met
LPD. In dit voorbeeld wordt dat
gedaan voor de printers rattan en
bamboo:&prompt.root; mkdir /var/spool/lpd
&prompt.root; mkdir /var/spool/lpd/rattan
&prompt.root; mkdir /var/spool/lpd/bambooAls de afdrukopdrachten privé moeten blijven,
dan is het belangrijk de wachtrijmap niet algemeen
toegankelijk te maken. Wachtrijmappen moeten eigendom
zijn van gebruiker daemon en groep
daemon. Uitsluitend deze gebruiker
en groep moeten de map kunnen lezen, schrijven en
doorzoeken. We doen dit voor onze voorbeeldprinters:&prompt.root; chown daemon:daemon /var/spool/lpd/rattan
&prompt.root; chown daemon:daemon /var/spool/lpd/bamboo
&prompt.root; chmod 770 /var/spool/lpd/rattan
&prompt.root; chmod 770 /var/spool/lpd/bambooTenslotte moet LPD verteld
worden dat deze mappen bestaan. Dit kan met het bestand
/etc/printcap. De locatie van de
wachtrijmap wordt opgegeven met de optie
sd:#
# /etc/printcap voor host rose - wachtrijmappen toegevoegd
#
rattan|line|diablo|lp|Diablo 630 Line Printer:\
:sh:sd=/var/spool/lpd/rattan:
bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\
:sh:sd=/var/spool/lpd/bamboo:De naam van de printer staat in de eerste kolom, maar
alle andere regels die de printer beschrijven worden
ingesprongen en elke regel eindigt met een
backslash.Als geen wachtrijmap wordt opgegeven met
sd, dan wordt standaard
/var/spool/lpd
gebruikt.Printerapparaat identificerenIn de sectie Hardware-instellingen
is bepaald welke poort en ingang in de map /dev
door &os; worden gebruikt om met een printer te
communiceren. Nu moet LPD dit
ook weten. Als het wachtrijsysteem een afdrukopdracht
krijgt, opent het het relevante apparaat namens het
filterprogramma (dat verantwoordelijk is voor het sturen van
gegevens naar een printer).Geef de locatie van de ingang in
/dev op in
/etc/printcap door gebruik te maken
van de optie lp.In het huidige voorbeeld wordt aangenomen dat
rattan op de eerste parallelle poort is
aangesloten en bamboo op de zesde
seriële poort. Hier volgen de toevoegingen voor
/etc/printcap:#
# /etc/printcap voor host rose - bepaald welke apparaten te gebruiken
#
rattan|line|diablo|lp|Diablo 630 Line Printer:\
:sh:sd=/var/spool/lpd/rattan:\
:lp=/dev/lpt0:
bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\
:sh:sd=/var/spool/lpd/bamboo:\
:lp=/dev/ttyu5:Als voor een printer de optie lp
niet wordt gebruikt in /etc/printcap,
dan gebruikt LPD standaard
/dev/lp. Momenteel
bestaat /dev/lp niet
in &os;.Als de te installeren printer is aangesloten op een
parallelle poort, dan staan verdere instructies in Tekstfilter
installeren. In andere gevallen kunnen de
instructies in de volgende paragraaf gevold worden.Communicatieparameters voor het wachtrijsysteem
instellenprintersserieelVoor printers die zijn aangesloten op een seriële
poort kan LPD de bps-snelheid,
pariteit en andere seriële communicatie parameters
instellen voor het filterprogramma dat gegevens naar een
printer stuurt. Dit is gunstig omdat:De verschillende communicatieparameters
uitgeprobeerd kunnen worden door
/etc/printcap aan te passen. Het
is niet nodig het filterprogramma opnieuw te
compileren;Het wachtrijsysteem kan hetzelfde filter gebruiken
voor verschillende printers die mogelijk verschillende
seriële communicatie-instellingen hebben.Met de volgende opties in
/etc/printcap kunnen seriële
communicatieparameters worden ingesteld voor het apparaat
waar lp naar verwijst:br#bps-snelheidStelt de communicatiesnelheid van het apparaat in
op bps-snelheid, waarbij
bps-snelheid de waarde
50, 75, 110, 134, 150, 200, 300, 600, 1200, 1800,
2400, 4800, 9600, 19200, 38400, 57600 of 115200
bits-per-seconde kan aannemen.ms#stty-modusBepaalt de opties voor het geval het
printerapparaat een terminal is. In &man.stty.1;
staat uitleg over de beschikbare opties.Als LPD het apparaat opent
dat met lp is opgegeven, worden de
eigenschappen van het apparaat bepaald door de optie
ms#. Met name van belang zijn de modi
parenb, parodd,
cs5, cs6,
cs7, cs8,
cstopb, crtscts en
ixon. Deze worden uitgelegd in
&man.stty.1;.Nu wordt de voorbeeldprinter op de zesde seriële
poort aangepast. De bps-snelheid wordt ingesteld op 38400.
Als modus wordt gekozen: geen pariteit met
-parenb, 8-bit tekens met
cs8, geen modemcontrole met
clocal en hardware flow-control met
crtscts:bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\
:sh:sd=/var/spool/lpd/bamboo:\
:lp=/dev/ttyu5:ms#-parenb cs8 clocal crtscts:Tekstfilter installerenafdrukkenfiltersNu kan LPD verteld worden
welke tekstfilters gebruikt moeten worden bij het versturen
van afdrukopdrachten. Een tekstfilter
is een programma dat LPD
aanroept als het een afdrukopdracht krijgt. Wanneer
LPD het tekstfilter aanroept,
wordt de standaard invoer van het filter gekoppeld aan de
afdrukopdracht en de standaard uitvoer aan het
printerapparaat dat door de optie lp
is opgegeven. Er wordt aangenomen dat het filter van
standaard invoer leest, vervolgens de nodige handelingen
uitvoert en het resultaat naar de standaard uitvoer
schrijft, zodat het afgedrukt wordt. In Filters staat
meer informatie over het tekstfilter.Voor deze eenvoudige printerinstallatie kan het
tekstfilter een klein shellscript zijn dat
/bin/cat aanroept om de afdrukopdracht
naar de printer te sturen. &os; wordt geleverd met een
ander filter, lpf, dat backspaces en
onderlijnde tekst afhandelt voor printers die hier niet mee
overweg kunnen. Natuurlijk kan elk filter gebruikt worden
dat gewenst is. Het filter lpf wordt
uitgebreid beschreven in lpf: een
tekstfilter.Nu wordt eerst het shellscript
/usr/local/libexec/if-simple gemaakt
dat als simpel tekstfilter dient. Plaats de volgende tekst
in het bestand met een tekstverwerker naar keuze:#!/bin/sh
#
# if-simple - Eenvoudig tekstfilter voor lpd
# Geďnstalleerd in /usr/local/libexec/if-simple
#
# Kopieert eenvoudigweg stdin naar stdout.
# Filterargumenten worden genegeerd.
/bin/cat && exit 0
exit 2Zorg dat het bestand uitvoerbaar is:&prompt.root; chmod 555 /usr/local/libexec/if-simpleZorg dat LPD het filter
gebruikt door dit aan te geven met de optie
if in
/etc/printcap. Nu volgt hoe dit te
doen voor de twee printers uit het voorbeeld:#
# /etc/printcap voor host rose - met tekstfilter
#
rattan|line|diablo|lp|Diablo 630 Line Printer:\
:sh:sd=/var/spool/lpd/rattan:\ :lp=/dev/lpt0:\
:if=/usr/local/libexec/if-simple:
bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\
:sh:sd=/var/spool/lpd/bamboo:\
:lp=/dev/ttyu5:ms#-parenb cs8 clocal crtscts:\
:if=/usr/local/libexec/if-simple:Een kopie van het script
if-simple staat in de map /usr/share/examples/printing.LPD aanzetten&man.lpd.8; wordt gestart vanuit
/etc/rc door de variabele
lpd_enable. Standaard staat deze
variabele op NO. Als dit nog niet is
gedaan, voeg dan de volgende regel toe aan
/etc/rc.conf en herstart de
computer:lpd_enable="YES"Of voer het commando &man.lpd.8; uit:&prompt.root; lpdPrinter uitproberenNu volgt het laatste onderdeel van de eenvoudige
LPD installatie. Helaas zijn
felicitaties nog niet gepast. De printer moet worden
getest en eventuele problemen moeten worden opgelost. Om
de installatie te testen kan iets afgedrukt worden.
Afdrukken gaat met het commando &man.lpr.1;. Dit stuurt
een opdracht naar een printer.Het programma &man.lpr.1; is te combineren met het
programma &man.lptest.1; uit Printercommunicatie
controleren om tekst te genereren.Om de eenvoudige installatie van
LPD te testen:&prompt.root; lptest 20 5 | lpr printernaamHier is printernaam de naam
van een printer (of een alias) die in
/etc/printcap wordt genoemd. De
standaard printer kan worden getest door bij het aanroepen
van &man.lpr.1; de optie weg te laten.
Nogmaals: test een &postscript;-printer door een
&postscript;-programma naar een printer te sturen en maak
geen gebruik van &man.lptest.1;. Dit kan door het
programma in een bestand op te slaan en de volgende
commandoregel uit te voeren: lpr
bestand.Voor een &postscript;-printer moet het resultaat van
het programma verschijnen. Als gebruik wordt gemaakt van
&man.lptest.1; ziet het resultaat er ongeveer zo uit:!"#$%&'()*+,-./01234
"#$%&'()*+,-./012345
#$%&'()*+,-./0123456
$%&'()*+,-./01234567
%&'()*+,-./012345678Om de printer uitvoeriger te testen kunnen grotere
programma's geprobeerd worden (voor taalgebaseerde
printers) of kan &man.lptest.1; aangeroepen worden met
andere argumenten. Bijvoorbeeld: lptest 80
60, drukt 60 regels af met elk 80 karakters.Als de printer niet werkt, lees dan verder in Problemen
oplossen.Geavanceerde printerinstallatieDeze sectie behandelt het gebruik van filters om speciaal
opgemaakte tekst en voorbladen af te drukken, via het netwerk af
te drukken en printergebruik te beperken en statistieken bij te
houden.FiltersafdrukkenfiltersHoewel LPD veel van het
afdrukwerk afhandelt (netwerkverkeer, wachtrijafhandeling,
toegangscontrole, enzovoort), wordt het
echte werk door de filters gedaan.
Filters zijn programma's die met een printer communiceren en
inspelen op printerspecifieke eigenschappen. In de eenvoudige
printeropzet is een filter geďnstalleerd voor platte
tekst, een zeer eenvoudig filter dat met de meeste printers zou
moeten werken (Tekstfilter
installeren).Om echter gebruik te maken van formaatomzetting,
printeradministratie, printerspecifieke aanpassingen,
enzovoort, is het nodig te weten hoe filters werken.
Uiteindelijk is het de verantwoordelijkheid van het filter om
deze zaken af te handelen. Het slechte nieuws is dat
de beheerder in het merendeel van de
gevallen het filter moet aanleveren. Het goede nieuws is dat
veel filters algemeen beschikbaar zijn en als ze dat niet zijn,
zijn ze vaak makkelijk te schrijven.&os; heeft een ingebouwd filter,
/usr/libexec/lpr/lpf, die met veel
printers werkt die platte tekst kunnen afdrukken. Het filter
regelt backspace en tabs in bestanden en administreert
printergebruik, maar dat is zo'n beetje alles wat dit filter
doet. Er zijn ook diverse filters en filtercomponenten in de
&os; Portscollectie.Hieronder wordt het volgende beschreven:In Hoe
filters werken staat een overzicht van de rol die
een filter speelt in het afdrukproces. Lees dat onderdeel
om een indruk te krijgen wat er onder de
motorkap gebeurt als LPD
filters gebruikt. Deze kennis helpt mogelijke problemen te
voorkomen of op te lossen als meerdere filters worden
geďnstalleerd voor printers.LPD gaat er van uit dat elke
printer standaard platte tekst af kan drukken. Dit geeft
problemen voor &postscript; (of andere op taal gebaseerde)
printers die niet in staat zijn direct platte tekst af te
drukken. In Platte tekst
op &postscript;-printers afdrukken staat wat er kan
worden gedaan om dit probleem te verhelpen. Lees verder in
dit onderdeel als het om &postscript;-printers gaat.Voor veel programma's is &postscript; een populair
uitvoerformaat. Sommige mensen schrijven &postscript; code
zelfs direct. &postscript;-printers zijn echter kostbaar.
In &postscript;
simuleren op niet-&postscript;-printers staat hoe
de tekstfilter van een printer aangepast moet worden zodat
die &postscript; accepteert en afdrukt op een
niet-&postscript;-printer. Dit
onderdeel is van toepassing voor
niet-&postscript;-printers.In Conversiefilters
wordt een methode beschreven om de conversie van bepaalde
bestandsformaten te automatiseren, zoals van grafische of
tekstopmaakprogramma's, naar formaten die een printer kan
begrijpen. Na het lezen van dit onderdeel is een beheerder
in staat om een printer zodanig in te stellen dat
gebruikers lpr kunnen
invoeren om troff-gegevens af te drukken, lpr
om &tex; DVI-gegevens af te
drukken of lpr om
rasterplaatjes af te drukken, enzovoorts. Het wordt
aangeraden deze sectie te lezen.In Uitvoerfilters
wordt een niet vaak gebruikte functionaliteit van
LPD behandeld: uitvoerfilters.
Tenzij voorbladen worden afgedrukt (Voorbladen),
kan deze sectie waarschijnlijk overgeslagen worden.lpf: een
tekstfilter beschrijft lpf, een
redelijk complete, eenvoudige tekstfilter voor lijnprinters
(en laserprinters die zich als lijnprinters voordoen) dat
wordt geleverd bij &os;. Voor een snelle manier om
printeradministratie aan de praat te krijgen voor platte
tekst of voor printers waar rook uit komt bij het zien van
backspace karakters, is het serieus te overwegen gebruik te
maken van lpf.Een kopie van de scripts die hieronder worden beschreven,
staan in de map /usr/share/examples/printing.Hoe filters werkenZoals eerder genoemd, is een filter een programma dat
wordt uitgevoerd door LPD voor het
afhandelen van het apparaatafhankelijke deel van de
communicatie met een printer.Als LPD een bestand wil
afdrukken uit een afdrukopdracht, start het een
filterprogramma. Het koppelt de standaard invoer van de
filter aan het af te drukken bestand, de standaard uitvoer
aan de printer en de standaard foutmelding aan het
logboekbestand voor foutmeldingen (zoals opgegeven via de
optie lf in
/etc/printcap of standaard
/dev/console).troffWelk filter LPD start en de
argumenten van het filter hangen af van wat er in het bestand
/etc/printcap wordt opgegeven en de
argumenten die de gebruiker geeft op de commandoregel van
&man.lpr.1;. Als een gebruiker bijvoorbeeld
lpr ingeeft, start
LPD het filter troff, zoals wordt
opgegeven via de optie tf voor de
betreffende printer. Als een gebruiker platte tekst wilt
afdrukken, dan wordt het filter if gestart
(dit klopt bijna: zie Uitvoerfilters voor
de details).Er zijn drie soorten filters die in
/etc/printcap kunnen worden
opgegeven:Het tekstfilter, dat in de
LPD documentatie verwarrend
genoeg input filter wordt genoemd,
verwerkt het afdrukken van gewone tekst. Beschouw het
als het standaardfilter. LPD
verwacht dat elke printer standaard platte tekst kan
afdrukken en het is de taak van het tekstfilter om er voor
te zorgen dat backspaces, tabs en andere speciale
karakters de printer niet in de war sturen. In een
omgeving waar moet worden bijgehouden hoeveel er wordt
afgedrukt, moet het tekstfilter ook administreren hoeveel
pagina's er zijn afgedrukt. Dit gaat meestal door het
aantal afgedrukte regels te tellen en dit te vergelijken
met het aantal regels per pagina dat door de printer
wordt ondersteund. Het tekstfilter wordt aangeroepen met
de volgende lijst argumenten:filter-name-c-w width-l length-i indent-n login-h hostacct-filemetwordt gebruikt als de afdrukopdracht is gegeven
met lpr widthis de waarde van de optie pw
(page width: paginabreedte),
zoals opgegeven
in /etc/printcap, standaard
132lengthis de waarde van de optie pl
(page length: paginalengte),
standaard 66indentgeeft aan hoeveel wordt ingesprongen door
lpr ,
standaard 0loginde gebruikersnaam van de gebruiker die de
afdrukopdracht gafhostde hostnaam waar de afdrukopdracht gegeven isacct-filede naam van het administratiebestand zoals
opgegeven via de optie af.
-
- afdrukken
-
- filters
-
-
- Een conversiefilter converteert
+ Een conversiefilterafdrukkenfilters converteert
een specifiek bestandsformaat naar een formaat dat een
printer begrijpt. Bijvoorbeeld: ditroff
typesettinggegevens kunnen niet direct worden afgedrukt,
maar er bestaat wel een conversiefilter om
ditroff-gegevens te converteren naar een formaat dat een
printer kan verteren en afdrukken. Dit wordt in Conversiefilters
beschreven. Conversiefilters zijn ook nodig om
printergebruik te administreren, mocht dat nodig zijn.
Conversiefilters worden met de volgende argumenten
aangeroepen:filter-name-x
pixel-width-y
pixel-height-n login-h hostacct-fileHier is pixel-width de
waarde van de optie px (standaard 0)
en pixel-height is de waarde
van de optie py (standaard 0).Het uitvoerfilter wordt alleen
gebruikt als er geen tekstfilter is of als er voorbladen
worden afgedrukt. De ervaring leert dat uitvoerfilters
zelden worden gebruikt. In sectie Uitvoerfilters
worden ze beschreven. Er zijn slechts twee argumenten die
aan een uitvoerfilter worden meegegeven:filter-name-w width-l lengthDeze zijn identiek aan de argumenten
en van het
tekstfilter.Filters moeten afsluiten met de
volgende waarde:exit 0Als het filter een bestand succesvol heeft
afgedrukt.exit 1Als het filter niet geslaagd is om een bestand af
te drukken, maar wil dat LPD
het nogmaals probeert. LPD
herstart het filter als die afsluit met deze
status.exit 2Als het filter niet geslaagd is om een bestand af
te drukken, maar niet wil dat
LPD het nogmaals probeert.
LPD verwijdert het bestand
uit de wachtrij.Het tekstfilter dat bij &os; wordt geleverd,
/usr/libexec/lpr/lpf, benut de
argumenten voor paginabreedte en -lengte om te bepalen
wanneer een nieuwe pagina moet worden begonnen en om het
printergebruik bij te houden. Het gebruikt de argumenten
voor login, host en administratiebestand om accountingregels
aan te maken.Controleer bij het zoeken naar filters of ze
LPD-compatibel zijn. Zo ja, dan ondersteunen ze de
argumenten zoals hierboven beschreven. Zorg bij het zelf
schrijven van filters voor algemeen gebruik dat ze dezelfde
argumenten en exitcodes ondersteunen.Platte tekst op &postscript;-printers afdrukkenafdrukopdrachtenAls een computer en &postscript; (of andere op taal
gebaseerde) printer maar één gebruiker hebben
die belooft nooit platte tekst naar de printer te sturen of
programma's te gebruiken die dat doen, dan is dit onderdeel
overbodig.Als gebruikers zowel &postscript; als platte tekst
naar een printer willen sturen, dan is het aan te raden de
printerinstellingen hierop aan te passen. Hiervoor moet het
tekstfilter bij elke nieuwe opdracht bepalen of het om platte
tekst of &postscript; gaat. Alle &postscript;-opdrachten
beginnen met %! (raadpleeg de
printerhandleiding voor andere printertalen). Als dit de
eerste twee karakters zijn van een opdracht is het
&postscript; en kan de rest van een opdracht direct
doorgestuurd worden. Is dit niet het geval, dan moet de
filter de tekst omzetten in &postscript; en het resultaat
afdrukken.Hoe gaat dat werken?printersserieelVoor seriële printers kan het meest eenvoudig
lprps geďnstalleerd worden.
lprps is een &postscript;-afdrukfilter
die tweewegcommunicatie met een printer heeft. Het werkt
het statusbestand van een printer bij met uitgebreide
informatie afkomstig van een printer, zodat gebruikers en
beheerders precies kunnen zien wat de status van een printer
is (zoals: toner bijna op of
papier vastgelopen). Maar
belangrijker, het omvat het programma psif
dat bepaalt of een binnenkomende opdracht platte tekst is en
textps (dat ook geleverd wordt met
lprps) om opdrachten om te zetten naar
&postscript;. Vervolgens wordt een opdracht met
lprps naar een printer gestuurd.lprps is onderdeel van de &os;
Portscollectie (zie De
Portscollectie). U kunt één van de
ports print/lprps-a4 of
print-lprps-letter
installeren afhankelijk van de gebruikte papiermaat. Nadat
lprps is geďnstalleerd moet de
installatielocatie ervan aan psif worden
doorgeven dat onderdeel is van lprps. Als
lprps is geďnstalleerd via de
Portscollectie, gebruik dan het volgende voor de seriële
&postscript;-printer in /etc/printcap::if=/usr/local/libexec/psif:Ook moet de optie rw worden opgeven,
die LPD vertelt om een printer in
lezen/schrijvenmodus te openen.Als een parallelle &postscript;-printer wordt ingesteld
(en dus geen tweewegcommunicatie toegepast kan worden met de
printer, zoals vereist door lprps), dan
kan het volgende shellscript gebruikt worden als
tekstfilter:#!/bin/sh
#
# psif - Druk &postscript; of platte tekst af op een &postscript;
# printer. Script versie; NIET de versie die wordt geleverd bij lprps
# Geďnstalleerd in /usr/local/libexec/psif
#
IFS="" read -r first_line
first_two_chars=`expr "$first_line" : '\(..\)'`
if [ "$first_two_chars" = "%!" ]; then
#
# &postscript; opdracht, afdrukken.
#
echo "$first_line" && cat && printf "\004" && exit 0
exit 2
else
#
# Platte tekst, converteren en dan afdrukken.
#
( echo "$first_line"; cat ) | /usr/local/bin/textps && printf "\004" && exit 0
exit 2
fiIn bovenstaand script is textps een
programma dat geďnstalleerd is om platte tekst om te
zetten naar &postscript;. Elk tekst-naar-&postscript;
programma volstaat. De &os; Portscollectie (zie De Portscollectie) bevat een
uitgebreid tekst-naar-&postscript;-programma,
a2ps, dat wellicht handig is om te
gebruiken.&postscript; simuleren op
niet-&postscript;-printers&postscript;emulerenGhostscript&postscript; is de facto de
standaard voor op hoge kwaliteit typesetten en afdrukken.
&postscript; is echter een dure
standaard. Gelukkig heeft Aladdin Enterprises een gratis
&postscript;-kloon, Ghostscript,
die werkt onder &os;. Ghostscript
kan de meeste &postscript;-bestanden lezen en de pagina's op
verschillende soorten apparaten weergeven, waaronder veel
niet-&postscript;-printers. Door
Ghostscript te installeren en een
printer gebruik te laten maken van een speciaal tekstfilter
voor uw printer, kan uw niet-&postscript;-printer zich
gedragen als een echte &postscript;-printer.Ghostscript is beschikbaar via de &os; Portscollectie,
vele versies zijn beschikbaar, de meest gebruikte versie is
print/ghostscript-gpl.Om &postscript; te simuleren moet een tekstfilter
detecteren of het een &postscript;-bestand aan het afdrukken
is. Zo niet, dan stuurt het filter het bestand direct naar
een printer, anders gebruikt het filter
Ghostscript om het bestand om te
zetten naar een formaat dat door een printer wordt begrepen.Een voorbeeld: het volgende script is een tekstfilter
voor Hewlett Packard DeskJet 500 printers. Voor andere
printers moet het argument voor het
commando gs
(Ghostscript) vervangen worden.
(Met gs -h wordt een lijst met apparaten
getoond worden die de huidige installatie van
Ghostscript ondersteunt.)#!/bin/sh
#
# ifhp - Druk Ghostscript-gesimuleerd &postscript; af op een DeskJet
# 500. Geďnstalleerd in /usr/local/libexec/ifhp
#
# Behandel LF als CR+LF (om een "trapeffect" op HP/PCL
# printer te voorkomen):
#
printf "\033&k2G" || exit 2
#
# Lees de eerste twee karakters van het bestand
#
IFS="" read -r first_line
first_two_chars=`expr "$first_line" : '\(..\)'`
if [ "$first_two_chars" = "%!" ]; then
#
# Het is &postscript;. Gebruik Ghostscript om te converteren
# en druk het af.
#
/usr/local/bin/gs -dSAFER -dNOPAUSE -q -sDEVICE=djet500 \
-sOutputFile=- - && exit 0
else
#
# Platte tekst of HP/PCL, dus direct afdrukken; druk een
# pagina-einde af om de laatste pagina te ejecteren.
#
echo "$first_line" && cat && printf "\033&l0H" &&
exit 0
fi
exit 2Tot slot moet LPD op de hoogte
gebracht worden van het filter via de optie
if::if=/usr/local/libexec/ifhp:Dat is alles. Nu kan lpr
platte.tekst
en lpr
watdanook.ps
ingevoerd worden en beiden worden juist afgedrukt.ConversiefiltersNa de eenvoudige installatie, zoals beschreven in Eenvoudige printerinstallatie,
te hebben voltooid, is het
waarschijnlijk wenselijk om conversiefilters te installeren
voor favoriete bestandsformaten (naast platte
ASCII-tekst).Waarom conversiefilters installeren?&tex;DVI-bestanden afdrukkenConversiefilters maken het afdrukken van verschillende
bestanden eenvoudig. Stel dat veel gebruik gemaakt wordt
van het tekstverwerkingsprogramma &tex; en een &postscript;
printer. Elke keer als door &tex; een DVI-bestand wordt
gegenereerd, kan dat niet direct afgedrukt worden. Het
DVI-bestand moet omgezet worden naar &postscript;. De te
geven opdrachten zijn de volgende:&prompt.user; dvips zeewieranalyse.dvi
&prompt.user; lpr zeewieranalyse.psNa installatie van een conversiefilter voor
DVI-bestanden kan deze handmatige conversie overgeslagen
worden door LPD de conversie te
laten uitvoeren. Elke keer als een DVI-bestand wordt
afgedrukt, hoeft alleen de volgende opdracht gegeven te
worden:&prompt.user; lpr zeewieranalyse.dviLPD voert de
DVI-bestandsconversie uit door te
geven. In Opties voor opmaak
en conversie staat een lijst van
conversie-opties.Voor elke conversie-optie moet een
conversiefilter geďnstalleerd
worden en moet in /etc/printcap de
locatie worden opgegeven. Een conversiefilter is als het
tekstfilter voor de eenvoudige printerinstallatie (Tekstfilter
installeren), behalve dat in plaats van platte
tekst af te drukken, het conversiefilter het bestand
converteert naar een formaat dat een printer
begrijpt.Welke conversiefilters installeren?Installeer de conversiefilters die nodig zijn. Als
veel DVI-bestanden worden afgedrukt, dan is het handig een
DVI-filter te installeren. Als veel troff wordt afgedrukt,
dan is het waarschijnlijk handig een troff-filter te
installeren.De volgende tabel geeft een samenvatting van filters
waarmee LPD kan werken, hoe ze
in /etc/printcap kunnen worden
aangeroepen en hoe ze met lpr kunnen
worden aangeroepen:Bestandsformaat/etc/printcap
optielpr optiecifplotcfDVIdfplotgfditroffnfFORTRAN-tekstrftrofftfrastervfplatte tekstifgeen, , of
In het voorbeeld waarbij lpr
wordt gebruikt, moet voor de
printer een optie df gedefinieerd staan
in /etc/printcap.FORTRANOndanks wat anderen mogelijk beweren, zijn formaten als
FORTRAN-tekst en plot waarschijnlijk verouderd. Dit biedt
de mogelijkheid een nieuwe betekenis te geven aan deze
opties door zelf een filter te installeren. Stel dat direct
Printerleaf-bestanden afgedrukt moeten worden (bestanden van
het bureaubladpublicatieprogramma Interleaf), maar nooit
plotbestanden worden afgedrukt. Dan kan een
Printerleaf-conversiefilter geďnstalleerd worden onder
de optie gf en gebruikers kunnen
geďnstrueerd worden om lpr
te gebruiken om Printerleaf-bestanden af te
drukken.Conversiefilters installerenAangezien conversiefilters programma's zijn die niet
onder de &os;-basisinstallatie vallen, kunnen ze het best
onder /usr/local
geplaatst worden. De map /usr/local/libexec is een
veelgebruikte locatie, omdat hier programma's te vinden zijn
die alleen door LPD gebruikt
worden. Gewone gebruikers hoeven ze nooit te gebruiken.Om een conversiefilter te activeren, moet de
bestandslocatie onder de juiste optie voor de betreffende
printer in /etc/printcap opgegeven
worden.In het onderstaande voorbeeld wordt het
DVI-conversiefilter toegevoegd onder de sectie van de
printer bamboo. Hieronder staat opnieuw
het voorbeeldbestand /etc/printcap, nu
met de nieuwe optie df voor de printer
bamboo:#
# /etc/printcap voor host rose - df-filter voor bamboo toegevoegd
#
rattan|line|diablo|lp|Diablo 630 Line Printer:\
:sh:sd=/var/spool/lpd/rattan:\
:lp=/dev/lpt0:\
:if=/usr/local/libexec/if-simple:
bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\
:sh:sd=/var/spool/lpd/bamboo:\
:lp=/dev/ttyu5:ms#-parenb cs8 clocal crtscts:rw:\
:if=/usr/local/libexec/psif:\
:df=/usr/local/libexec/psdf:Het DVI-filter is een shellscript met de naam
/usr/local/libexec/psdf. Het script
ziet er als volgt uit:#!/bin/sh
#
# psdf - DVI naar PostScript afdrukfilter
# Geďnstalleerd in /usr/local/libexec/psdf
#
# Aangeroepen door lpd wanneer een gebruiker lpr -d uitvoert
#
exec /usr/local/bin/dvips -f | /usr/local/libexec/lprps "$@"Dit script roept dvips in
filtermodus aan (het argument) op de
standaard uitvoer, de af te drukken opdracht. Vervolgens
start het &postscript; afdrukfilter
lprps (zie Platte tekst op
&postscript;-printers afdrukken) met de argumenten
die LPD aan het script
doorgeeft. lprps gebruikt deze
argumenten om de afgedrukte pagina's te
administreren.Meer voorbeelden van conversiefiltersEr is geen vaste procedure om conversiefilters te
installeren, er worden in deze sectie wat werkende
voorbeelden gegeven. Gebruik deze als hulp bij het zelf
maken van filters. Gebruik ze zonder aanpassingen indien
mogelijk.Dit voorbeeldscript is een raster (eigenlijk een
GIF-bestand) conversiefilter voor een HP LaserJet III-Si
printer:#!/bin/sh
#
# hpvf - Converteer GIF-bestanden naar HP/PCL, druk vervolgens af
# Geďnstalleerd in /usr/local/libexec/hpvf
PATH=/usr/X11R6/bin:$PATH; export PATH
giftopnm | ppmtopgm | pgmtopbm | pbmtolj -resolution 300 \
&& exit 0 \
|| exit 2Het script converteert achtereenvolgens het GIF-bestand
naar een PNM-bestand (portable anymap), een PGM-bestand
(portable graymap), een PBM-bestand (portable bitmap) en
tenslotte naar LaserJet/PCL formaat.Een /etc/printcap bestand dat
bovenstaand filter gebruikt ziet er als volgt uit:#
# /etc/printcap voor host orchid
#
teak|hp|laserjet|HP LaserJet 3Si:\
:lp=/dev/lpt0:sh:sd=/var/spool/lpd/teak:mx#0:\
:if=/usr/local/libexec/hpif:\
:vf=/usr/local/libexec/hpvf:Het volgende script is een conversiefilter voor
troff-gegevens afkomstig van het groff-typesettingsysteem
voor de &postscript;-printer bamboo:#!/bin/sh
#
# pstf - Converteert groff's troffgegevens naar PS, drukt vervolgens af.
# Geďnstalleerd in /usr/local/libexec/pstf
#
exec grops | /usr/local/libexec/lprps "$@"Bovenstaande script maakt eveneens gebruik van
lprps om de communicatie met een printer
af te handelen. Als een printer op een parallelle poort
is aangesloten, ziet het er als volgt uit:#!/bin/sh
#
# pstf - Converteert groff's troff naar PS, drukt vervolgens af.
# Geďnstalleerd in /usr/local/libexec/pstf
#
exec gropsDat is alles. In /etc/printcap
moet het volgende toegevoegd worden om het filter
beschikbaar te maken::tf=/usr/local/libexec/pstf:Hieronder een voorbeeld waarvan FORTRAN-programmeurs
waarschijnlijk tranen in hun ogen krijgen: een
FORTRAN-tekstfilter voor een willekeurige printer die in
staat is platte tekst af te drukken. Het filter wordt
actief gemaakt voor teak:#!/bin/sh
#
# hprf - FORTRAN tekstfilter voor LaserJet 3si:
# Geďnstalleerd in /usr/local/libexec/hprf
#
printf "\033&k2G" && fpr && printf "\033&l0H" &&
exit 0
exit 2De onderstaande regel wordt toegevoegd aan
/etc/printcap voor de printer
teak om het filter beschikbaar te
maken::rf=/usr/local/libexec/hprf:Het laatste voorbeeld is wellicht complexer. Er
wordt een DVI-filter toegevoegd voor de eerder genoemde
LaserJet printer teak. Eerst het
makkelijke gedeelte: in /etc/printcap
wordt de locatie van het DVI-filter opgegeven::df=/usr/local/libexec/hpdf:Nu het moeilijke gedeelte: het schrijven van het filter.
Daarvoor is een DVI-naar-LaserJet/PCL conversieprogramma
nodig. De &os; Portscollectie (zie Portscollectie) heeft er een:
print/dvi2xx. Door deze
port te installeren komt het programma dat nodig is
beschikbaar, dvilj2p, waarmee DVI
geconverteerd kan worden naar LaserJet IIp-, LaserJet III-
en LaserJet 2000-formaten.Het hulpprogramma dvilj2p maakt het
filter hpdf redelijk complex, omdat
dvilj2p niet van de standaard invoer kan
lezen. Het wil werken met een bestandsnaam. Nog lastiger
is dat de bestandsnaam moet eindigen op
.dvi, zodat moeilijk gebruik
gemaakt kan worden van /dev/fd/0 als standaard.
Dit probleem kan omzeild worden door een (symbolische)
koppeling aan te maken van een tijdelijk bestand (eindigend
op .dvi) naar /dev/fd/0. Hiermee wordt
dvilj2p gedwongen van de standaard
invoer te lezen.De enige andere hobbel die genomen moet worden, is dat
/tmp niet gebruikt
kan worden als tijdelijke koppeling. Symbolische
koppelingen zijn eigendom van de gebruiker en groep
bin. Het filter wordt uitgevoerd door
de gebruiker daemon. De map
/tmp heeft het
sticky-bit aan staan. Het filter kan de koppeling wel
aanmaken, maar het is niet mogelijk de koppeling te
verwijderen als de opdracht is uitgevoerd, omdat de
koppeling eigendom is van een andere gebruiker.In plaats hiervan maakt het filter een symbolische
koppeling aan in de huidige werkmap, de wachtrijmap (zoals
opgegeven in de optie sd in
/etc/printcap). Dit is een perfecte
plaats voor filters om hun werk te doen, zeker gezien er
(soms) meer vrije schijfruimte is in de wachtrijmap dan
onder /tmp.Dit is het uiteindelijke filter:#!/bin/sh
#
# hpdf - Druk DVI-gegevens af op een HP/PCL printer
# Geďnstalleerd in /usr/local/libexec/hpdf
PATH=/usr/local/bin:$PATH; export PATH
#
# Definieer een functie om tijdelijke bestanden op te ruimen. Deze
# staan in de huidige map; de wachtrijmap voor de printer.
#
cleanup() {
rm -f hpdf$$.dvi
}
#
# Definieer een functie om fatale fouten te verwerken: geef de
# opgegeven boodschap weer en sluit af met 2. Afsluiten met 2 vertelt
# LPD niet nog eens te proberen de afdrukopdracht af te drukken.
#
fatal() {
echo "$@" 1>&2
cleanup
exit 2
}
#
# Als de gebruiker de opdracht annuleert, stuurt LPD een SIGINT, dus
# ondervang SIGINT (en enkele andere signalen) om onze rommel op te
# ruimen.
#
trap cleanup 1 2 15
#
# Voor de zekerheid bestaande tijdelijke bestanden opruimen
#
cleanup
#
# Koppel het DVI-invoerbestand aan de standaard invoer (het af te
# drukken bestand).
#
ln -s /dev/fd/0 hpdf$$.dvi || fatal "Cannot symlink /dev/fd/0"
#
# Maak LF = CR+LF
#
printf "\033&k2G" || fatal "Cannot initialize printer"
#
# Converteer en druk af. De retourneerwaarde van dvilj2p lijkt niet
# betrouwbaar, dus negeren we het.
#
dvilj2p -M1 -q -e- dfhp$$.dvi
#
# Opruimen en afsluiten
#
cleanup
exit 0Automatische conversie: een alternatief voor
conversiefiltersAl deze conversiefilters bieden vele mogelijkheden voor
afdrukomgevingen, maar dwingen de gebruiker aan te geven
(op de &man.lpr.1; commandoregel) welk filter gebruikt
moet worden. Als gebruikers niet zo vaardig zijn in het
gebruik van computers, wordt het al snel vervelend steeds
aan te moeten geven welk filter gebruikt moet worden.
Vervelender is echter wanneer een gebruiker een verkeerd
filter gebruikt voor een bepaald bestandsformaat. Het
resultaat kan zijn dat een printer honderden pagina's
papier uitspuugt.In plaats van het installeren van conversiefilters, is
het te proberen om het (standaard) tekstfilter het
bestandstype van het af te drukken bestand te laten
detecteren en dan automatisch het juiste conversiefilter
aan te laten roepen. Programma's als
file kunnen hierbij handig zijn. Voor
sommige bestandsformaten kan het
moeilijk zijn de verschillen te ontdekken en voor deze
bestanden kan alsnog een conversiefilter beschikbaar worden
gesteld.apsfilterafdrukkenfiltersapsfilterDe &os; Portscollectie heeft een tekstfilter dat
automatisch converteert genaamd apsfilter
(print/apsfilter). Het
detecteert platte tekst, &postscript; en DVI-bestanden,
voert de juiste conversie uit en druk de bestanden af.UitvoerfiltersHet wachtrijsysteem LPD
ondersteunt een ander type filter waar nog geen aandacht aan
is besteed: een uitvoerfilter. Een uitvoerfilter is bedoeld
om alleen platte tekst af te drukken, net als een
tekstfilter, maar met veel vereenvoudigingen. Wanneer een
uitvoerfilter wordt gebruikt, maar geen tekstfilter,
dan:start LPD een
uitvoerfilter voor de gehele opdracht, in plaats van voor
elk bestand in de opdracht;biedt LPD het uitvoerfilter
niet de voorziening van het identificeren van het begin
of eind van de bestanden in de afdrukopdracht;stuurt LPD de
gebruikersnaam en de hostnaam niet door aan het filter.
Het is dus niet bedoeld om een afdrukadministratie bij
te houden. In feite zijn er maar twee argumenten:filter-name-wwidth-llengthHierbij is width afkomstig
van de optie pw en
length afkomstig van de optie
pl voor de betreffende printer.De eenvoud van een uitvoerfilter is verleidelijk. Als
elk bestand in een afdrukopdracht op een nieuwe pagina moet
beginnen, is een uitvoerfilter niet
geschikt. In dat geval dient een tekstfilter
(ook wel invoerfilter) gebruikt te worden (zie Tekstfilter
installeren. Verder is een uitvoerfilter eigenlijk
veel ingewikkelder, omdat de te
verwerken bytestroom gecontroleerd moet worden op speciale
tekens en steeds signalen naar zichzelf moet sturen in
opdracht van LPD.Een uitvoerfilter is noodzakelijk als
voorbladen gewenst zijn en het nodig is om escape-reeksen of
andere initialisatietekens te sturen voor het afdrukken van
het voorblad. Maar het is tevens
nutteloos als het voorblad voor rekening
van de afkomstige gebruiker moet komen, aangezien
LPD geen gebruiker of
hostinformatie naar het uitvoerfilter stuurt.Op een enkele printer staat
LPD het gebruik van zowel een
uitvoerfilter als van een tekst of andere filter toe. In
deze gevallen start LPD het
uitvoerfilter alleen voor het afdrukken van het voorblad (zie
Voorbladen).
LPD verwacht vervolgens van het
uitvoerfilter dat deze zichzelf stopt
door twee bytes naar het filter te sturen: ASCII 031 gevolgd
door ASCII 001. Als een uitvoerfilter deze twee bytes ziet
(031, 001), moet die stoppen door een
SIGSTOP naar zichzelf te sturen. Als
LPD klaar is met het uitvoeren van
alle andere filters, dan herstart deze het uitvoerfilter door
er een SIGCONT naar toe te sturen.Als er wel een uitvoerfilter, maar
geen tekstfilter is en
LPD is niet bezig met het
verwerken van een opdracht met platte tekst, dan gebruikt
LPD het uitvoerfilter voor het
afdrukken van de opdracht. Zoals eerder vermeld, drukt het
uitvoerfilter elk bestand van de opdracht achter elkaar
af zonder pagina-einden of andere signalen voor
paginavoortgang. Dit is waarschijnlijk
niet gewenst. In bijna alle gevallen is
een tekstfilter nodig.Het programma lpf, dat eerder
geďntoduceerd is als tekstfilter, kan ook worden
uitgevoerd als uitvoerfilter. Als een ad-hoc uitvoerfilter
nodig is, maar het schrijven van de bytedetectie en
signaalverzending code niet wenselijk is, dan is
lpf het proberen waard.
lpf kan ook opgenomen worden in een
shellscript om initialisatiecode af te handelen die eventueel
nodig is voor een printer.lpf: een tekstfilterHet programma /usr/libexec/lpr/lpf
uit de gecompileerde &os;-distributie is een tekstfilter
(invoerfilter) die uitvoer kan inspringen (een opdracht
gegeven met lpr ),
karakters onveranderd kan doorlaten (een opdracht gegeven met
lpr ), de printpositie
voor backspaces en tabs in de opdracht kan aanpassen en
afgedrukte pagina's kan administreren. Het kan ook
functioneren als uitvoerfilter.Het filter lpf is geschikt voor vele
afdrukomgevingen. Hoewel het zelf niet in staat is
initialisatiesequenties naar een printer te sturen, is het
vrij eenvoudig om een shellscript te schrijven dat de
initialisatie doet en vervolgens lpf
aanroept.pagina-administratieadministrerenprinterAls lpf afgedrukte pagina's moet
administreren, is het nodig om de juiste waarden in te vullen
voor de opties pw en
pl in het bestand
/etc/printcap. Deze waarden worden
gebruikt om te bepalen hoeveel tekst er op een pagina past en
hoeveel pagina's er in een afdrukopdracht zijn afgedrukt.
Zie Printergebruik
administreren voor meer informatie.VoorbladenAls er veel gebruikers zijn die
allemaal verschillende printers gebruiken, dan is het te
overwegen gebruik te maken van voorbladen
als noodzakelijk kwaad.bannerpagina'svoorbladenvoorbladenVoorbladen, in het Engels ook wel bekend als
banner of burst
pagina's, identificeren wie een bepaalde opdracht heeft
afgedrukt. Ze worden meestal bedrukt met grote, dikgedrukte
letters, eventueel met een decoratieve rand, zodat ze in een
stapel afdrukken opvallen tussen de afgedrukte documenten. Ze
maken het gebruikers mogelijk hun afdrukopdracht snel te
vinden. Het nadeel van het gebruik van voorbladen is dat er
een extra blad moet worden afgedrukt voor elke opdracht,
waarmee hun nut niet langer duurt dan een paar minuten.
Uiteindelijk belanden ze in een papierbak of afvalberg.
Voorbladen gaan vooraf aan elke opdracht, niet aan elk bestand
in een opdracht, waardoor de verspilling beperkt blijft.Het LPD-systeem kan automatisch
voorbladen afdrukken als een printer
direct platte tekst kan afdrukken. In geval van een
&postscript;-printer, is het nodig een extern programma aan te
roepen om een voorblad te genereren (zie Voorbladen op
&postscript;-printers.Voorbladen afdrukkenIn de sectie Eenvoudige
printerinstallatie is het afdrukken van
voorbladen uitgeschakeld door de optie sh
(suppress header) in het bestand
/etc/printcap op te geven. Om wel
voorbladen af te drukken, hoeft alleen de optie
sh verwijderd te worden.Dit klinkt wat al te makkelijk, of niet?Dat klopt. Het kan nodig zijn een
uitvoerfilter op te geven die initialisatiestrings naar een
printer stuurt. Hier is een voorbeeld uitvoerfilter voor
HP PCL-compatible printers:#!/bin/sh
#
# hpof - Uitvoerfilter voor HP PCL-compatible printers
# Geďnstalleerd in /usr/local/libexec/hpof
printf "\033&k2G" || exit 2
exec /usr/libexec/lpr/lpfGeef de locatie van het uitvoerfilter op met de optie
of. Zie Uitvoerfilters voor
meer informatie.Hier is een voorbeeldbestand
/etc/printcap voor de printer
teak die eerder is geďntroduceerd;.
Het afdrukken van voorbladen is geactiveerd en bovenstaande
uitvoerfilter is toegevoegd:#
# /etc/printcap voor host orchid
#
teak|hp|laserjet|HP LaserJet 3Si:\
:lp=/dev/lpt0:sd=/var/spool/lpd/teak:mx#0:\
:if=/usr/local/libexec/hpif:\
:vf=/usr/local/libexec/hpvf:\
:of=/usr/local/libexec/hpof:Als gebruikers nu een opdracht sturen naar
teak, wordt er bij elke opdracht een
voorblad afgedrukt. Als gebruikers liever willen zoeken naar
hun afdrukken, dan kunnen ze de voorbladen onderdrukken door
de opdracht te geven met het commando
lpr . Zie Voorbladopties
voor meer opties voor &man.lpr.1;.LPD drukt een karakter voor
pagina-einde af na elk voorblad. Als een printer een ander
teken of sequentie gebruikt voor het beëindigen van
een pagina, dan kan dit opgeven worden met de optie
ff in
/etc/printcap.Voorbladen beherenDoor het afdrukken van voorbladen aan te zetten,
produceert LPD een lang
voorblad waarop in grote letters de gebruiker,
host en opdracht te lezen zijn. Hier volgt een voorbeeld
(kelly heeft de opdracht
outline afgedrukt vanaf host
rose): k ll ll
k l l
k l l
k k eeee l l y y
k k e e l l y y
k k eeeeee l l y y
kk k e l l y y
k k e e l l y yy
k k eeee lll lll yyy y
y
y y
yyyy
ll
t l i
t l
oooo u u ttttt l ii n nnn eeee
o o u u t l i nn n e e
o o u u t l i n n eeeeee
o o u u t l i n n e
o o u uu t t l i n n e e
oooo uuu u tt lll iii n n eeee
r rrr oooo ssss eeee
rr r o o s s e e
r o o ss eeeeee
r o o ss e
r o o s s e e
r oooo ssss eeee
Job: outline
Date: Sun Sep 17 11:04:58 1995LPD geeft een paginabegin na
deze tekst, zodat de opdracht op een nieuwe pagina begint
(tenzij de optie sf (suppress
form feeds, onderdruk paginabegin)
is toegevoegd bij de desbetreffende printer in
/etc/printcap).Als dit wenselijk is, kan LPD
ook een korte tekst op het voorblad
afdrukken; geef hiervoor de optie sb
(short banner, kort
voorblad) op in het bestand
/etc/printcap. Het voorblad
ziet er dan als volgt uit:rose:kelly Job: outline Date: Sun Sep 17 11:07:51 1995Standaard drukt LPD het
voorblad als eerste af en vervolgens de opdracht. Om dat om
te keren, moet de optie hl
(header last, voorblad
laatst) in /etc/printcap worden
opgeven.Voorbladen administrerenHet gebruik van LPD's
ingebouwde voorbladen dwingt een bepaald paradigma af wat
betreft het administreren van printergebruik: voorbladen
moeten gratis zijn.Waarom?Omdat het uitvoerfilter het enige externe programma is
dat controle heeft als het voorblad afgedrukt wordt dat het
gebruik zou kunnen administreren. Het heeft echter geen
beschikking over informatie over gebruiker of
host of een administratiebestand. Het heeft dus
geen idee wie voor het gebruik moet worden belast. Het
volstaat ook niet om gewoon het aantal pagina's met
één op te hogen door het tekstfilter of
een van de conversiefilters (dat wel beschikt over
gebruiker- en hostinformatie) te veranderen, omdat gebruikers
het afdrukken van een voorblad kunnen onderdrukken met
lpr . Ze worden dan
aangeslagen voor voorbladen die niet zijn afgedrukt.
Milieubewuste gebruikers gebruiken vast
lpr , maar dit kan niet
worden afgedwongen.Het is ook niet voldoende om elk
filter zijn eigen voorblad te laten genereren (om zo het
gebruik te kunnen administreren). Als gebruikers het
afdrukken van voorbladen willen onderdrukken met
lpr , krijgen ze toch
een voorblad en worden er ook voor belast, aangezien
LPD geen kennis over de optie
doorgeeft aan de filters.Wat zijn dan de mogelijkheden?Accepteer het paradigma van
LPD en maak voorbladen
gratis;Installeer een alternatief voor
LPD, zoals
LPRng. In Alternatieven voor
het standaard wachtrijsysteem staat meer over
andere afdruksoftware die in plaats van
LPD geďnstalleerd kan
worden;Schrijf een slim
uitvoerfilter. Gewoonlijk is een uitvoerfilter bedoeld
om niet meer te doen dan het initialiseren van een
printer of wat eenvoudige karakterconversie. Het is
geschikt voor voorbladen en opdrachten met platte tekst
(als er een tekstfilter is). Maar als er een tekstfilter
is voor opdrachten met platte tekst, dan start
LPD het uitvoerfilter alleen
voor voorbladen. Het uitvoerfilter kan dan het
voorblad dat LPD genereert
analyseren om te bepalen welke gebruiker en host belast
moeten worden voor het afdrukken van het voorblad. Het
enige probleem is dat het uitvoerfilter nog steeds niet
weet in welk bestand het gebruik moet worden bijgehouden
(de naam van het bestand opgegeven in de
af wordt niet meegegeven), maar als
een bekend bestand gebruikt wordt, kan dit in het
uitvoerfilter worden opgeven. Om het parsen af te
handelen kan gebruik gemaakt worden van de optie
sh (short header,
kort voorblad) in
/etc/printcap. Dit kan echter wat
omslachtig zijn en gebruikers waarderen zeker de meer
gulle systeembeheerder die voorbladen gratis
maakt.Voorbladen op &postscript;-printersZoals hierboven beschreven, kan
LPD een voorblad in platte tekst
genereren, dat geschikt is voor de meeste printers.
Natuurlijk kan &postscript; platte tekst niet direct
afdrukken, zodat de voorbladfunctie van
LPD nutteloos is.Een voor de hand liggende manier om voorbladen te
krijgen, is elk conversiefilter en tekstfilter zijn eigen
voorblad te laten genereren. De filters moeten gebruik maken
van de argumenten gebruiker en host om een geschikt voorblad
te genereren. Het nadeel van deze methode is dat gebruikers
altijd een voorblad krijgen, ook wanneer zij een opdracht
geven met lpr .Deze methode wordt nader beschreven. Het volgende script
heeft drie argumenten (gebruikersnaam, hostnaam en de naam van
de opdracht) en maakt een eenvoudig &postscript;-voorblad:#!/bin/sh
#
# make-ps-header - genereer een PostScript-voorblad op stdout
# Geďnstalleerd in /usr/local/libexec/make-ps-header
#
#
# Dit zijn PostScript-eenheden (72 in een inch). Pas dit aan voor A4
# of het gebruikte formaat:
#
page_width=612
page_height=792
border=72
#
# Controleer argumenten
#
if [ $# -ne 3 ]; then
echo "Usage: `basename $0` <user> <host> <job>" 1>&2
exit 1
fi
#
# Bewaar deze, voornamelijk voor de leesbaarheid in de &postscript;-code.
#
user=$1
host=$2
job=$3
date=`date`
#
# Stuur de &postscript;-code naar stdout.
#
exec cat <<EOF
%!PS
%
% Vermijd conflicten met de opdracht van de gebruiker die volgt.
%
save
%
% Maak een dikke, onaangename border in de marge van het papier.
%
$border $border moveto
$page_width $border 2 mul sub 0 rlineto
0 $page_height $border 2 mul sub rlineto
currentscreen 3 -1 roll pop 100 3 1 roll setscreen
$border 2 mul $page_width sub 0 rlineto closepath
0.8 setgray 10 setlinewidth stroke 0 setgray
%
% Toon de gebruikersnaam duidelijk, groot en prominent
%
/Helvetica-Bold findfont 64 scalefont setfont
$page_width ($user) stringwidth pop sub 2 div $page_height 200 sub moveto
($user) show
%
% Nu volgen de saaie bijzonderheden
%
/Helvetica findfont 14 scalefont setfont
/y 200 def
[ (Job:) (Host:) (Date:) ] {
200 y moveto show /y y 18 sub def }
forall
/Helvetica-Bold findfont 14 scalefont setfont
/y 200 def
[ ($job) ($host) ($date) ] {
270 y moveto show /y y 18 sub def
} forall
%
% Dat is alles
%
restore
showpage
EOFNu kan zowel het conversiefilter als het tekstfilter dit
script aanroepen om eerst een voorblad te genereren en
vervolgens de opdracht van de gebruiker af te drukken. Hier
volgt het eerder gebruikte DVI-conversieprogramma, aangepast
om een voorblad te maken:#!/bin/sh
#
# psdf - DVI naar PostScript printfilter
# Geďnstalleerd in /usr/local/libexec/psdf
#
# Aangeroepen door lpd, wanneer de gebruiker lpr -d uitvoert
#
orig_args="$@"
fail() {
echo "$@" 1>&2
exit 2
}
while getopts "x:y:n:h:" option; do
case $option in
x|y) ;; # Ignore
n) login=$OPTARG ;;
h) host=$OPTARG ;;
*) echo "LPD started `basename $0` wrong." 1>&2
exit 2
;;
esac
done
[ "$login" ] || fail "No login name"
[ "$host" ] || fail "No host name"
( /usr/local/libexec/make-ps-header $login $host "DVI File"
/usr/local/bin/dvips -f ) | eval /usr/local/libexec/lprps $orig_argsMerk op hoe het filter eerst de argumentenlijst moet
nagaan om te bepalen wat de gebruikers- en hostnaam zijn.
Dit is gelijk voor de andere conversiefilters. Het
tekstfilter heeft echter een andere verzameling argumenten
(zie Hoe filters
werken).Zoals eerder is beschreven, is het in bovenstaande opzet,
hoewel deze simpel is, niet mogelijk voorbladen
te onderdrukken (de optie in
lpr). Als gebruikers een boom willen
sparen (of een paar centen bij betaalde voorbladen) dan is
dit dus niet mogelijk, aangezien elk filter een voorblad
afdrukt voor iedere opdracht.Om gebruikers in staat te stellen per opdracht voorbladen
te onderdrukken, moet gebruik gemaakt worden van de truc
uit Voorbladen
administreren: schrijf een uitvoerfilter dat het door
LPD gegenereerde voorblad inleest en een &postscript;-versie
genereert. Als de gebruiker de opdracht geeft met
lpr , dan genereert
LPD geen voorblad en het
uitvoerfilter ook niet. Anders leest het uitvoerfilter de
tekst van LPD in en stuurt een
geschikt voorblad in &postscript; naar de printer.Voor een &postscript;-printer op een seriële lijn
kan gebruik gemaakt worden van lprps,
dat met een uitvoerfilter wordt geleverd en het bovenstaande
kan doen. Voorbladen worden door psof
niet geteld.Afdrukken via het netwerkprintersnetwerkafdrukken via netwerk&os; ondersteunt afdrukken via het netwerk: het sturen van
opdrachten naar printers op afstand. Afdrukken via een netwerk
betekent over het algemeen twee verschillende dingen:Het benaderen van een printer aangesloten op een andere
computer. Een printer met een conventionele
seriële of parallelle verbinding wordt op een bepaalde
computer geďnstalleerd. Vervolgens wordt
LPD zodanig ingesteld dat
afdrukken vanaf andere computers in het netwerk mogelijk
is. In Printers
geďnstalleerd op andere hosts staat hoe dit
te doen.Het benaderen van een printer die direct is aangesloten
op een netwerk. Een printer heeft een netwerkinterface
naast (of in plaats van) een gewone seriële of
parallelle poort. Zo een printer kan als volgt
werken:Het begrijpt het LPD
protocol en kan zelfs opdrachten van andere hosts in
de wachtrij plaatsen. In dit geval werkt een printer
als een gewone host die LPD
heeft draaien. Volg de procedure in Printers
geďnstalleerd op andere hosts om een
dergelijke printer te installerenHet kan zijn dat een printer een netwerkverbinding
ondersteunt. In dit geval kan een printer worden
aangesloten op een bepaalde host op het
netwerk door deze host verantwoordelijk te maken voor
het plaatsen van opdrachten in een wachtrij en het
versturen van opdrachten naar de printer. In Printers
met netwerkinterfaces staan enkele suggesties
om zulke printers te installeren.Printers geďnstalleerd op andere hostsHet wachtrijsysteem LPD heeft
een ingebouwde mogelijkheid om opdrachten naar andere hosts
te sturen die ook LPD draaien (of
een systeem dat compatibel is met
LPD). Deze eigenschap maakt het
mogelijk om een printer op een host te installeren en deze
toegankelijk te maken voor andere hosts. Het werkt ook met
printers die over een netwerkinterface beschikken en het
LPD-protocol begrijpen.Om dit soort afdrukken op afstand mogelijk te maken, moet
een printer eerst op een host geďnstalleerd worden, de
printerhost, door de printerinstallatie
te volgen als beschreven in Eenvoudige
printerinstallatie. Stel desgewenst de printer in
voor geavanceerde taken volgens Geavanceerde
printerinstallatie. Test de printer en controleer
of deze werkt met eventueel speciaal ingestelde opties voor
LPD. De lokale
host moet geautoriseerd zijn om de
LPD-dienst op de
verre host te gebruiken (zie Opdrachten
van hosts op afstand beperken).printersnetwerkafdrukken via netwerkAls een printer een netwerkinterface heeft die compatibel
is met LPD, dan is de
printerhost in onderstaande beschrijving
de printer zelf en de printernaam is de
naam die voor de printer is ingesteld. Meer informatie staat
in de documentatie bij de printer en/of de
printernetwerkinterface.Bij een HP LaserJet voert de printernaam
text automatisch de CRLF-conversie uit.
Het is dan niet nodig het script hpif
te gebruiken.Op hosts die toegang moeten krijgen tot de printer, moet
in /etc/printcap een regel worden
toegevoegd met het volgende:Geef de regel een willekeurige naam. Om het
eenvoudig te houden kunnen wellicht het beste dezelfde
namen en aliassen worden gebruikt als op de
printerhost;Laat de optie lp expliciet leeg
(:lp=:);Maak een wachtrijmap aan en geef de locatie op met de
optie sd.
LPD slaat hier
afdrukopdrachten op alvorens ze naar de printerhost
te sturen;Geef de naam van de printerhost op met de optie
rm;Geef de naam van de printer op de
printerhost op met de optie
rp.Dit is het. Conversiefilters, paginadimensies,
enzovoort, hoeven niet in /etc/printcap
opgegeven te worden.Hier volgt een voorbeeld. De host rose
heeft twee printers: bamboo en
rattan. Gebruikers op de host
orchid krijgen toegang tot deze printers.
Hier volgt /etc/printcap voor
orchid (uit Voorbladen
afdrukken). Er stond in het bestand al een regel voor
de printer teak. Voor de twee printers op
de host rose zijn twee regels
toegevoegd:#
# /etc/printcap voor host orchid - printers (op afstand) op rose toegevoegd
#
#
# teak is lokaal; het is direct aangesloten op orchid:
#
teak|hp|laserjet|HP LaserJet 3Si:\
:lp=/dev/lpt0:sd=/var/spool/lpd/teak:mx#0:\
:if=/usr/local/libexec/ifhp:\
:vf=/usr/local/libexec/vfhp:\
:of=/usr/local/libexec/ofhp:
#
# rattan is aangesloten op rose; stuur opdrachten voor rattan naar rose:
#
rattan|line|diablo|lp|Diablo 630 Line Printer:\
:lp=:rm=rose:rp=rattan:sd=/var/spool/lpd/rattan:
#
# bamboo is ook aangesloten op rose:
#
bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\
:lp=:rm=rose:rp=bamboo:sd=/var/spool/lpd/bamboo:Op orchid moeten wachtrijmappen worden
aangemaakt:&prompt.root; mkdir /var/spool/lpd/rattan/var/spool/lpd/bamboo
&prompt.root; chmod 770 /var/spool/lpd/rattan/var/spool/lpd/bamboo
&prompt.root; chown daemon:daemon /var/spool/lpd/rattan/var/spool/lpd/bambooNu kunnen gebruikers op orchid afdrukken
op rattan en bamboo.
Een gebruiker op orchid geeft bijvoorbeeld
de volgende invoer:&prompt.user; lpr bamboo sushi-review.dviDan kopieert LPD op
orchid de opdracht naar de wachtrijmap
/var/spool/lpd/bamboo
en ziet dat het een DVI-opdracht is. Zodra de host
rose ruimte heeft in zijn wachtrijmap
bamboo, sturen de twee
LPD's het bestand naar
rose. Het bestand wacht in de wachtrij van
rose totdat het succesvol is afgedrukt. Het
wordt geconverteerd naar &postscript; (aangezien
bamboo een &postscript;-printer is) op
rose.Printers met netwerkinterfacesNetwerkkaarten voor printers zijn er in twee versies:
een versie die een wachtrij nabootst (de duurdere versies),
of versies die alleen de mogelijkheid geven om er informatie
naar te sturen alsof het een seriële of parallelle poort
is (de goedkopere versies). In Printers
geďnstalleerd op andere hosts wordt het voor
de duurdere beschreven.Het formaat van /etc/printcap maakt
het mogelijk om op te geven welke seriële, of parallelle
poort gebruikt moet worden en (in geval van een seriële
poort) de baud-snelheid, of er communicatie moet worden
toegepast, vertragingen voor tabs, conversies voor nieuwe
regelkarakters en meer. Er is geen mogelijkheid om een
verbinding met een printer op te geven die op een TCP/IP of
andere netwerkpoort luistert.Om informatie naar een netwerkprinter te sturen, is het
nodig een programma te ontwikkelen dat door tekst- en
conversiefilters kan worden aangeroepen. Hier volgt een
voorbeeld: het script netprint stuurt alle
informatie van de standaard invoer naar een netwerkprinter.
Als eerste argument wordt de hostnaam van de printer
opgegeven en als tweede argument het poortnummer waarmee de
verbinding moet worden opgezet. Er wordt alleen
eenrichtingcommunicatie ondersteund (&os; naar printer).
Veel netwerkprinters ondersteunen tweewegcommunicatie. Het
kan wenselijk zijn hiervan gebruik te maken (om printerstatus
op te vragen, statistieken bij te houden, enzovoort).#!/usr/bin/perl
#
# netprint - Tekstfilter voor printer aangesloten op het netwerk
# Geďnstalleerd in /usr/local/libexec/netprint
#
$#ARGV eq 1 || die "Usage: $0 <printer-hostname> <port-number>";
$printer_host = $ARGV[0];
$printer_port = $ARGV[1];
require 'sys/socket.ph';
($ignore, $ignore, $protocol) = getprotobyname('tcp');
($ignore, $ignore, $ignore, $ignore, $address)
= gethostbyname($printer_host);
$sockaddr = pack('S n a4 x8', &AF_INET, $printer_port, $address);
socket(PRINTER, &PF_INET, &SOCK_STREAM, $protocol)
|| die "Can't create TCP/IP stream socket: $!";
connect(PRINTER, $sockaddr) || die "Can't contact $printer_host: $!";
while (<STDIN>) { print PRINTER; }
exit 0;Dit script kan vervolgens in verschillende filters
gebruikt worden. Stel dat een Diablo 750-N matrixprinter op
het netwerk is aangesloten. Op poort 5100 accepteert de
printer informatie om af te drukken. De hostnaam van de
printer is scrivener. Hier volgt het
tekstfilter voor de printer:#!/bin/sh
#
# diablo-if-net - Tekstfilter voor Diablo printer 'scrivener' luistert
# op poort 5100. Geďnstalleerd in /usr/local/libexec/diablo-if-net
#
exec /usr/libexec/lpr/lpf "$@" | /usr/local/libexec/netprint scrivener 5100Printergebruik beperkenprinterstoegang beperkenNu volgt informatie over het beperken van printergebruik.
Het LPD-systeem maakt het mogelijk
te bepalen wie er toegang heeft tot een printer, zowel lokaal
als op afstand, of meerdere kopieën afgedrukt mogen
worden, hoe lang opdrachten mogen zijn en hoe lang wachtrijen
mogen worden.Meerdere kopieën beperkenHet LPD systeem maakt het heel
makkelijk voor gebruikers om meerdere afdrukken van een
bestand te maken. Gebruikers kunnen opdrachten afdrukken met
bijvoorbeeld lpr en
krijgen dan vijf kopieën van elk bestand in de opdracht.
De systeembeheerder kan beslissen of dit wenselijk is.Wanneer meerdere kopieën onwenselijk zijn, kan de
optie van &man.lpr.1; worden
uitgeschakeld door de optie sc in
/etc/printcap op te nemen. Als
gebruikers opdrachten versturen met de optie
, zien ze het volgende:lpr: multiple copies are not allowedAls het mogelijk is van andere hosts af te drukken (zie
Printers
geďnstalleerd op andere hosts), moet de optie
sc ook in
/etc/printcap van de andere hosts
aanwezig zijn. Anders kunnen gebruikers nog steeds
multi-kopie opdrachten van andere hosts sturen.Hier volgt een voorbeeld. Hieronder staat
/etc/printcap voor de host
rose. De printer rattan
is redelijk krachtig, dus meerdere kopieën zijn
toegestaan. De laserprinter bamboo is wat
gevoeliger, dus meerdere kopieë zijn uitgeschakeld door
de optie sc toe te voegen:#
# /etc/printcap voor host rose - beperk meerdere kopieën op bamboo
#
rattan|line|diablo|lp|Diablo 630 Line Printer:\
:sh:sd=/var/spool/lpd/rattan:\
:lp=/dev/lpt0:\
:if=/usr/local/libexec/if-simple:
bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\
:sh:sd=/var/spool/lpd/bamboo:sc:\
:lp=/dev/ttyu5:ms#-parenb cs8 clocal crtscts:rw:\
:if=/usr/local/libexec/psif:\
:df=/usr/local/libexec/psdf:Nu moet ook de optie sc worden
toegevoegd in /etc/printcap van host
orchid (tegelijk worden meerdere
kopieën voor de printer teak
uitgeschakeld):#
# /etc/printcap voor host orchid - geen meerdere kopieën voor lokale
# printer teak of printer op afstand bamboo
teak|hp|laserjet|HP LaserJet 3Si:\
:lp=/dev/lpt0:sd=/var/spool/lpd/teak:mx#0:sc:\
:if=/usr/local/libexec/ifhp:\
:vf=/usr/local/libexec/vfhp:\
:of=/usr/local/libexec/ofhp:
rattan|line|diablo|lp|Diablo 630 Line Printer:\
:lp=:rm=rose:rp=rattan:sd=/var/spool/lpd/rattan:
bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\
:lp=:rm=rose:rp=bamboo:sd=/var/spool/lpd/bamboo:sc:Door de optie sc te gebruiken, wordt
het gebruik van lpr
voorkomen, maar dat weerhoudt gebruikers er nog steeds niet
van om &man.lpr.1; meerdere keren te aanroepen of meerdere
keren hetzelfde bestand te versturen in een opdracht:&prompt.user; lpr voorverkoop.teken voorverkoop.teken voorverkoop.teken voorverkoop.teken voorverkoop.tekenEr zijn vele manieren om dit misbruik te voorkomen (onder
andere door het te negeren), welke vrij zijn om te
verkennen.Printertoegang beperkenDoor gebruik te maken van het &unix; groepmechanisme en
de optie rg in
/etc/printcap kan geregeld worden wie er
op welke printer kan afdrukken. De gebruikers die toegang
hebben tot een printer moeten in een groep worden geplaatst
en deze groep moet in de optie rg worden
genoemd.Als gebruikers buiten de groep (inclusief
root) naar de beheerde printer proberen
te printen, worden ze begroet met het volgende bericht:lpr: Not a member of the restricted groupNet als met de optie sc
(suppress multiple copies: onderdruk
meerdere kopieën) moet rg, indien
wenselijk, ook op andere hosts worden opgegeven die ook
toegang hebben tot printers (zie Printers
geďnstalleerd op andere hosts).In het volgende voorbeeld heeft iedereen toegang tot de
printer rattan, maar alleen gebruikers in
de groep artists kunnen gebruik maken
van bamboo. Hier volgt het bekende
/etc/printcap voor de host
rose:#
# /etc/printcap voor host rose - beperkte toegang voor groep bamboo
#
rattan|line|diablo|lp|Diablo 630 Line Printer:\
:sh:sd=/var/spool/lpd/rattan:\
:lp=/dev/lpt0:\
:if=/usr/local/libexec/if-simple:
bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\
:sh:sd=/var/spool/lpd/bamboo:sc:rg=artists:\
:lp=/dev/ttyu5:ms#-parenb cs8 clocal crtscts:rw:\
:if=/usr/local/libexec/psif:\
:df=/usr/local/libexec/psdf:De andere voorbeeldbestanden
/etc/printcap (voor de host
orchid) worden niet aangepast. Natuurlijk
kan iedereen op orchid afdrukken op
bamboo. Het kan zijn dat er sowieso alleen
bepaalde gebruikers op orchid zijn
toegestaan en dat deze gebruikers toegang mogen hebben tot de
printer. Of wellicht niet.Er kan per printer slechts één groep
worden opgegeven.Grootte van afdrukopdrachten bepalenafdrukopdrachtenAls veel gebruikers toegang hebben tot printers kan het
nodig zijn een limiet op te geven voor de grootte van de
bestanden die gebruikers naar een printer kunnen sturen. Er
is immers slechts beperkte ruimte op het bestandssysteem en
er moet ook voldoende ruimte zijn voor opdrachten van andere
gebruikers.afdrukopdrachtenbeherenLPD heeft de mogelijkheid om
met de optie mx een limiet op te geven
voor het maximum aantal bytes van een bestand in een
afdrukopdracht. De eenheden worden opgegeven in
BUFSIZ blokken, die 1024 bytes groot zijn.
Een nul voor deze optie betekent geen limiet aan de
bestandsgrootte. Als de optie wordt weggelaten, wordt een
standaardlimiet van 1000 blokken gebruikt.De limiet heeft betrekking op de
bestanden in een opdracht,
niet op de totale grootte van een
opdracht.LPD weigert een bestand dat
groter is dan de opgegeven limiet niet. In plaats daarvan
plaatst het zo veel mogelijk van het bestand op de wachtrij,
om dit vervolgens af te drukken. De rest wordt genegeerd.
Of dit gedrag wenselijk is, is onderwerp van debat.Nu worden limieten voor de voorbeeldprinters
rattan en bamboo
opgegeven. Aangezien de &postscript;-bestanden van die
artists nogal groot kunnen worden,
krijgen ze een limiet van vijf megabyte opgelegd. Er wordt
geen limiet opgelegd voor de platte tekst printer:#
# /etc/printcap voor host rose
#
#
# Geen limiet op opdrachtgrootte:
#
rattan|line|diablo|lp|Diablo 630 Line Printer:\
:sh:mx#0:sd=/var/spool/lpd/rattan:\
:lp=/dev/lpt0:\
:if=/usr/local/libexec/if-simple:
#
# Limiet van vijf megabyte:
#
bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\
:sh:sd=/var/spool/lpd/bamboo:sc:rg=artists:mx#5000:\
:lp=/dev/ttyu5:ms#-parenb cs8 clocal crtscts:rw:\
:if=/usr/local/libexec/psif:\
:df=/usr/local/libexec/psdf:Ook hier zijn de limieten alleen van toepassing op lokale
gebruikers. Als toegang tot deze printers van andere hosts
mogelijk is, worden deze gebruikers niet beperkt. Het is
daarom nodig de optie mx ook in de
/etc/printcap van de betreffende hosts
op te geven. In Printers
geďnstalleerd op andere hosts staat meer
informatie over afdrukken op andere hosts.Er is een andere gespecialiseerde manier om
opdrachtgrootte voor printers op afstand te beperken (zie
Opdrachten
van hosts op afstand beperken.Opdrachten van hosts op afstand beperkenHet wachtrijsysteem LPD
beschikt over verschillende methoden om afdrukopdrachten van
hosts op afstand te beperken:HostbeperkingenMet de bestanden
/etc/hosts.equiv en
/etc/hosts.lpd kan worden
ingesteld van welke hosts op afstand een lokale
LPD-opdracht wordt
geaccepteerd. LPD
controleert of een inkomend verzoek afkomstig is van
een host die wordt genoemd in een van deze bestanden.
Zo niet, dan weigert LPD het
verzoek.Het formaat van deze bestanden is eenvoudig:
één host per regel.
/etc/hosts.equiv wordt ook
gebruikt door het protocol &man.ruserok.3; en heeft
invloed op programma's als &man.rsh.1; en &man.rcp.1;.
Voorzichtigheid is dus geboden.Als voorbeeld volgt hier
/etc/hosts.lpd voor de host
rose:orchid
violet
madrigal.fishbaum.deDit betekent dat rose verzoeken
accepteert van de hosts orchid,
violet en
madrigal.fishbaum.de.
Voor iedere andere host die verbinding probeert te
maken met LPD op
rose, wordt de opdracht
geweigerd.OmvangbeperkingenDe hoeveelheid vrije ruimte die over moet blijven
op een bestandssysteem waar een wachtrij zich bevindt
kan ook worden ingesteld. Hiervoor moet een bestand
met de naam minfree in de
wachtrijmap worden aangemaakt. In dit bestand kan
een getal worden gezet dat het aantal schijfblokken
(512 bytes) aan vrije ruimte aangeeft dat beschikbaar
moet blijven wil een opdracht worden
geaccepteerd.Hiermee kan worden gegarandeerd dat gebruikers op
afstand een bestandssysteem niet vol kunnen schrijven.
Ook kan hierdoor een soort voorrang worden gegeven aan
lokale gebruikers: zij kunnen nog opdrachten plaatsen
als de vrije schijfruimte al lang beneden de opgegeven
limiet uit minfree is
gekomen.Als voorbeeld wordt een bestand
minfree voor de printer
bamboo toegevoegd. In
/etc/printcap staat de juiste
wachtrijmap:bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\
:sh:sd=/var/spool/lpd/bamboo:sc:rg=artists:mx#5000:\
:lp=/dev/ttyu5:ms#-parenb cs8 clocal crtscts:rw:mx#5000:\
:if=/usr/local/libexec/psif:\
:df=/usr/local/libexec/psdf:De wachtrijmap wordt opgegeven met de optie
sd. Er wordt een limiet van drie
megabyte ingesteld (wat gelijk staat aan 6144
schijfblokken) voor de hoeveelheid vrije schijfruimte
die op het bestandssysteem beschikbaar moet zijn
voordat LPD een opdracht op
afstand accepteert:&prompt.root; echo 6144 > /var/spool/lpd/bamboo/minfreeGebruikersbeperkingenMet de optie rs in
/etc/printcap kan worden geregeld
welke gebruikers op afstand kunnen afdrukken op lokale
printers. Als rs voorkomt voor
een lokale printer accepteert
LPD opdrachten van hosts op
afstand als de gebruiker die de
opdracht wil plaatsen ook een account heeft met
dezelfde gebruikersnaam op de lokale host. Anders
weigert LPD de
opdracht.Deze optie is met name nuttig in een omgeving waar
(bijvoorbeeld) verschillende afdelingen een netwerk
delen en gebruikers de grenzen van de afdeling
overschrijden. Door ze een account te geven op een
systeem kunnen ze de aangesloten printers gebruiken
vanaf het systeem van hun eigen afdeling. Wanneer ze
alleen gebruik mogen maken van de
printers en niet van overige diensten op de computer,
kunnen tokenaccounts worden aangemaakt,
zonder thuismap en met een nutteloze shell als
/usr/bin/false.Printergebruik administrerenadministratieprinterHet kan nodig zijn om afdrukken te doorbelasten. Inkt en
papier kosten geld en er zijn onderhoudskosten. Printers
zitten vol met bewegende delen en hebben de neiging kapot te
gaan. Nu is er gekeken naar de printers, het gebruikerspatroon
en de onderhoudskosten en op basis hiervan is een prijs
vastgesteld per pagina (of per centimeter, per meter, of per
wat dan ook). Hoe wordt nu een administratie bijgehouden van
gemaakte afdrukken?Het slechte nieuws is dat het wachtrijsysteem
LPD hierbij niet echt helpt. Het
administreren van afdrukken is erg afhankelijk van het type
printer, het afdrukformaat en de wensen die een
systeembeheerder heeft ten aanzien van het doorbelasten van
printergebruik.Om het administreren te implementeren, is het nodig om
aanpassingen te maken in de tekstfilter (om platte tekst
opdrachten te belasten) en de conversiefilters (om opdrachten
in andere bestandsformaten te belasten), om pagina's te tellen,
of de printer te vragen hoeveel pagina's er zijn afgedrukt.
Het volstaat niet om het eenvoudige uitvoerfilter te gebruiken,
aangezien dit niet in staat is het gebruik te administreren.
Zie Filters.In het algemeen zijn er twee manieren om gebruik te
administreren:Periodiek administreren is de meer
gebruikelijke manier, omdat het waarschijnlijk makkelijker
is. Als iemand een opdracht afdrukt, schrijft het filter
de gebruiker, host en het aantal pagina's in een
administratiebestand. Elke maand, semester, jaar, of
een andere gewenste periode kunnen de
administratiebestanden verzameld worden om het aantal
afgedrukte pagina's op te tellen en het gebruik in rekening
te brengen. De logboekbestanden kunnen vervolgens
geschoond worden, zodat met een schone lei de volgende
periode begonnen kan worden.Directe administratie is minder
gebruikelijk, waarschijnlijk omdat het moeilijker is. Met
deze methode zorgen de filters ervoor dat gebruikers voor
hun printergebruik worden afgerekend op het moment dat ze er
gebruik van maken. Net als schijfquota is de administratie
onmiddellijk. Hiermee wordt voorkomen dat gebruikers kunnen
afdrukken wanneer ze over hun limiet zijn gegaan. Ook
biedt dit de mogelijkheid voor gebruikers om hun
afdrukquotum te controleren, of aan te passen. Deze
methode vereist databasecode om gebruikers en hun quota bij
te houden.Het wachtrijsysteem LPD
ondersteunt beide methoden op eenvoudige wijze. Aangezien de
filters (meestal) moeten worden aangeleverd, moet ook de code
voor de administratie worden geleverd. Er is echter een
voordeel: er is grote flexibiliteit in de administratiemethode.
Zo kan bijvoorbeeld gekozen worden tussen periodieke of directe
administratie. Er kan gekozen worden welke informatie
opgeslagen wordt: gebruikersnamen, hostnamen, type opdracht,
aantal afgedrukte pagina's, hoe lang het afdrukken duurde,
enzovoort. Dit alles kan worden gedaan door de filters aan te
passen.Kort door de bocht printeradministratie&os; wordt met twee programma's geleverd waarmee
periodieke administratie direct kan worden opgezet. Het zijn
het tekstfilter lpf, beschreven in lpf: een
tekstfilter en &man.pac.8;, een programma dat posten
uit administratiebestanden verzamelt en optelt.Zoals beschreven in de sectie over filters (Filters), roept
LPD de tekst- en conversiefilters
aan met de naam van het administratiebestand als argument.
De filters kunnen dit argument gebruiken om te bepalen in
welk bestand de gegevens voor de administratie moeten worden
weggeschreven. De naam van dit bestand is afkomstig van de
optie af uit
/etc/printcap. Als er geen absoluut pad
wordt opgegeven, dan is de locatie relatief aan de
wachtrijmap.LPD start
lpf met paginabreedte en -lengte
argumenten (afkomstig uit de opties pw en
pl). Het filter lpf
gebruikt deze argumenten om te bepalen hoeveel papier er
gebruikt zal worden. Nadat het bestand naar de printer is
gestuurd, schrijft het een post in het administratiebestand.
De posten zien er als volgt uit:2.00 rose:andy
3.00 rose:kelly
3.00 orchid:mary
5.00 orchid:mary
2.00 orchid:zhangAangezien lpf geen ingebouwde logica
voor bestandslocking kent, moet voor elke printer een apart
administratiebestand gebruikt worden. Twee
lpfs kunnen elkaars posten corrumperen als
ze tegelijk in hetzelfde bestand schrijven. De optie
af=acct in
/etc/printcap biedt een makkelijke
manier om er zeker van te zijn dat aparte bestanden worden
gebruikt. Dan bevindt elk administratiebestand zich in de
wachtrijmap van de betreffende printer en krijgt de naam
acct krijgenWanneer het tijd is om met gebruikers af te rekenen voor
hun afdrukken, kan het programma &man.pac.8; gedraaid worden.
Ga naar de wachtrijmap van de printer waarvoor betaald moet
worden en typ pac. Er verschijnt een
dollar-centrische samenvatting zoals het volgende: Login pages/feet runs price
orchid:kelly 5.00 1 $ 0.10
orchid:mary 31.00 3 $ 0.62
orchid:zhang 9.00 1 $ 0.18
rose:andy 2.00 1 $ 0.04
rose:kelly 177.00 104 $ 3.54
rose:mary 87.00 32 $ 1.74
rose:root 26.00 12 $ 0.52
total 337.00 154 $ 6.74Dit zijn de argumenten die &man.pac.8; verwacht:De printer waarvoor een
samenvatting moet worden gegenereerd. Deze optie werkt
alleen als er een absoluut pad is gegeven in de optie
af in
/etc/printcap.Sorteer de uitvoer op kosten, in plaats van
alfabetisch op gebruikersnaam.Negeer de hostnamen in het administratiebestand.
Met deze optie is de gebruiker
smith op host
alpha dezelfde gebruiker als
smith op host
gamma. Zonder deze optie zijn het
verschillende gebruikers.Bereken de prijs met
prijs dollar per pagina of
per voet, in plaats van de prijs uit de optie
pc in
/etc/printcap of twee cent (de
standaard). De prijs kan
worden opgegeven als een decimaal getal.Keer de sorteervolgorde om.Maak een bestand met een samenvatting van de
administratie en leeg het administratiebestand.namen…Druk de administratiegegevens alleen af voor
gebruikersnamen namen.In de standaard samenvatting die &man.pac.8; genereert,
is het aantal pagina's te zien dat iedere gebruiker vanaf een
bepaalde host heeft afgedrukt. Wanneer de hostnaam niet
van belang is (bijvoorbeeld omdat gebruikers iedere host
kunnen gebruiken), gebruik dan pac
om de volgende samenvatting te
genereren: Login pages/feet runs price
andy 2.00 1 $ 0.04
kelly 182.00 105 $ 3.64
mary 118.00 35 $ 2.36
root 26.00 12 $ 0.52
zhang 9.00 1 $ 0.18
total 337.00 154 $ 6.74Om het verschuldigde bedrag te berekenen gebruikt
&man.pac.8; de optie pc uit
/etc/printcap (standaard aantal van 200
of 2 cent per pagina). Specificeer, in honderden
centen, de prijs per pagina of per voet die berekent moet
worden. Deze waarde kan worden aangepast door &man.pac.8;
aan te roepen met de optie . De eenheden
van de optie zijn echter in dollars, niet
in honderden centen. Bijvoorbeeld,&prompt.root; pac zorgt ervoor dat elke pagina 1,50 dollar kost. U kunt
echt grote winsten maken met deze optie.Tenslotte kan met pac
de samenvatting worden
opgeslagen in een bestand dat dezelfde naam krijgt als het
administratiebestand van de printer, maar dan met
_sum toegevoegd aan de naam. Vervolgens
wordt het administratiebestand geleegd. Als &man.pac.8;
opnieuw wordt aangeroepen, herleest &man.pac.8; het
samenvattingsbestand om de startwaarden te bepalen en telt
daar de informatie bij op van het standaard
administratiebestand.Hoe kan het aantal afgedrukte pagina's worden
geteld?Om ook maar de minste nauwkeurigheid bij het
administreren te verkrijgen, is het nodig te weten hoeveel
papier een afdrukopdracht gebruikt. Dit is het centrale
probleem van het bijhouden van printerstatistieken.Voor opdrachten met platte tekst is het probleem niet zo
moeilijk op te lossen: het aantal regels in een opdracht
wordt geteld en vergeleken met het aantal regels per pagina
dat door een printer wordt ondersteund. Hierbij moet niet
worden vergeten dat backspaces in het bestand regels
overschrijven en dat lange logische regels worden afgedrukt
als meerdere fysieke regels.Het tekstfilter lpf
(geďntroduceerd in lpf: een
tekstfilter) houdt met deze zaken rekening bij het
administreren. Als het nodig is een tekstfilter te schrijven
dat ook het printergebruik moet bijhouden, dan is het nuttig
de broncode van lpf te bestuderen.Hoe worden andere bestandsformaten dan verwerkt?Voor een DVI-naar-LaserJet, of DVI-naar-&postscript;
conversie kan het filter de diagnostische uitvoer van
dvilj of dvips bekijken
om te bepalen hoeveel pagina's er zijn geconverteerd. Voor
andere formaten kan hetzelfde worden gedaan met behulp van de
betreffende conversieprogramma's.Deze methoden hebben echter als nadeel dat een printer
eventueel niet alle pagina's ook daadwerkelijk afdrukt. Zo
kan het papier vast komen te zitten, de toner opraken of de
printer ontploffen, terwijl de gebruiker toch moet
betalen.Dus, wat kan hieraan worden gedaan?Er is slechts één
betrouwbare manier om
nauwkeurig te administreren. Dat is
met behulp van een printer die kan vertellen hoeveel papier
er is gebruikt. Deze moet vervolgens worden aangesloten
met een seriële lijn, of een netwerkverbinding. Bijna
alle &postscript;-printers hebben deze mogelijkheid, andere
modellen en merken mogelijk ook (bijvoorbeeld Imagen
netwerklaserprinters). De filters dienen voor deze printers
aangepast te worden om het papierverbruik na elke opdracht te
achterhalen en de administratieve informatie
alleen op deze waarde te baseren. Er is
geen noodzaak om foutgevoelig regels te tellen of bestanden
te analyseren.Natuurlijk kan een beheerder ook vrijgevig zijn en alle
afdrukken gratis maken.Printers gebruikenprintersgebruikHieronder wordt beschreven hoe printers die onder &os;
geďnstalleerd zijn gebruikt moeten worden. Nu volgt een
overzicht van de commando's op gebruikersniveau:&man.lpr.1;Druk opdrachten af&man.lpq.1;Controleer printerwachtrijen&man.lprm.1;Verwijder opdrachten uit de wachtrij van een
printerEr is ook een administratief commando, &man.lpc.8;,
beschreven in Printers
beheren, dat gebruikt wordt om printers en hun
wachtrijen in te stellen.Alledrie de commando's &man.lpr.1;, &man.lprm.1; en
&man.lpq.1; accepteren een optie
om aan
te geven op welke printer uit /etc/printcap
een opdracht van toepassing is. Dit biedt de mogelijkheid
opdrachten te versturen, verwijderen en controleren voor
verschillende printers. Als niet wordt
gebruikt, werken deze commando's op de printer gedefinieerd in de
omgevingsvariabele PRINTER. Tot slot, wanneer
de omgevingsvariabele PRINTER niet is
gedefinieerd, wordt standaard verwezen naar de printer met de
naam lp.Opdrachten afdrukkenOm bestanden af te drukken:&prompt.user; lpr bestandsnaam...afdrukkenDit drukt elk van de opgegeven bestanden af op de standaard
printer. Als geen bestanden worden opgegeven, drukt
&man.lpr.1; de standaard invoer af. De volgende opdracht drukt
bijvoorbeeld een paar belangrijke systeembestanden af:&prompt.user; lpr /etc/host.conf/etc/hosts.equivOm een specifieke printer te selecteren:&prompt.user; lpr printernaambestandsnaam...Dit voorbeeld drukt een lange opgave van de huidige map af
op de printer rattan:&prompt.user; ls | lpr rattanOmdat er geen bestanden worden meegegeven aan het commando
&man.lpr.1;, drukt lpr de gegevens af
die het van de standaard invoer leest: de uitvoer van het
commando ls .&man.lpr.1; accepteert ook een breed scala aan opties
om de vorm aan te passen, bestandsconversies toe te passen,
meerdere kopieën af te drukken, enzovoort. Meer
informatie staat in Afdrukopties.Opdrachten controlerenafdrukopdrachtenAls &man.lpr.1; wordt gebruikt om af te drukken, dan
worden de gegevens die afdrukt moet worden in een pakketje
samengevoegd dat een afdrukopdracht wordt
genoemd en naar het wachtrijsysteem
LPD gestuurd. Elke printer heeft
een wachtrij met opdrachten van alle gebruikers. Een printer
drukt deze opdrachten op volgorde van binnenkomst af.De wachtrij voor de standaardprinter kan worden weergegeven
met &man.lpq.1;. Voor een specifieke printer moet de optie
meegegeven worden. Het volgende commando
toont de wachtrij van printer bamboo:&prompt.user; lpq bambooHieronder volgt een voorbeeld van de uitvoer van het
commando lpq:bamboo is ready and printing
Rank Owner Job Files Total Size
active kelly 9 /etc/host.conf, /etc/hosts.equiv 88 bytes
2nd kelly 10 (standard input) 1635 bytes
3rd mary 11 ... 78519 bytesDit laat drie opdrachten zien in de wachtrij voor
bamboo. De eerste opdracht, gegeven door
gebruiker kelly, heeft opdrachtnummer 9
gekregen. Elke opdracht voor een printer krijgt een uniek
opdrachtnummer. Dit nummer kan in de meeste gevallen genegeerd
worden, maar is nodig om een opdracht te annuleren. In Opdrachten verwijderen staan
meer details.Opdrachtnummer negen bestaat uit twee bestanden; meerdere
bestanden opgegeven naar &man.lpr.1;, worden als
één enkele opdracht behandeld. Het is de actieve
opdracht (active onder de kolom
Rank), wat betekent dat de printer deze opdracht
momenteel aan het afdrukken is. De tweede opdracht bestaat uit
gegevens doorgegeven aan &man.lpr.1; als standaard invoer. De
derde opdracht is afkomstig van gebruiker
mary. Het is een veel grotere opdracht.
De bestandsnaam van het bestand dat ze probeert af te drukken
is te lang voor het overzicht, daarom toont &man.lpq.1; drie
puntjes.De allereerste regel uitvoer van &man.lpq.1; is ook handig:
die vertelt wat de printer momenteel aan het doen is; dat wil
zeggen, wat LPD denkt dat de printer
aan het doen is.Het commando &man.lpq.1; ondersteunt ook een optie
om een gedetailleerd, lang overzicht te
geven. Hieronder volgt voorbeelduitvoer van
lpq :waiting for bamboo to become ready (offline ?)
kelly: 1st [job 009rose]
/etc/host.conf 73 bytes
/etc/hosts.equiv 15 bytes
kelly: 2nd [job 010rose]
(standard input) 1635 bytes
mary: 3rd [job 011rose]
/home/orchid/mary/research/venus/alpha-regio/mapping 78519 bytesOpdrachten verwijderenEen gebruiker die van gedachten verandert over een af te
drukken opdracht, kan een opdracht uit een wachtrij halen met
het commando &man.lprm.1;. Vaak kan met &man.lprm.1; zelfs een
actieve opdracht worden verwijderd, maar een deel of alles van
de opdracht kan desondanks toch worden afgedrukt.Om een opdracht van de standaardprinter te verwijderen
dient eerst met &man.lpq.1; het opdrachtnummer gevonden te
worden. Typ vervolgens:&prompt.user; lprm opdrachtnummerOm een opdracht van een specifieke printer te verwijderen,
moet de optie worden toegevoegd. Het
volgende commando verwijdert opdrachtnummer 10 uit de wachtrij
van printer bamboo:&prompt.user; lprm bamboo 10Het commando &man.lprm.1; heeft een aantal
snelkoppelingen:lprm -Verwijder alle opdrachten (voor de standaardprinter)
van de huidige gebruiker.lprm gebruikerVerwijder alle opdrachten (voor de standaardprinter)
die van gebruiker zijn. De
supergebruiker kan opdrachten van andere gebruikers
verwijderen. Andere gebruikers kunnen alleen hun eigen
opdrachten verwijderen.lprmZonder een opdrachtnummer, gebruikersnaam of
op de opdrachtregel, verwijdert
&man.lprm.1; de huidige actieve opdracht van de huidige
gebruiker op de standaard printer. Alleen de
supergebruiker kan iedere actieve opdracht verwijderen.Gebruik de optie met bovenstaande
snelkoppelingen om een specifieke printer in plaats van de
standaard printer te selecteren. Het volgende voorbeeld
verwijdert alle opdrachten van de huidige gebruiker uit de
wachtrij van printer rattan:&prompt.user; lprm rattan -Als in een netwerkomgeving wordt gewerkt, staat
&man.lprm.1; alleen toe opdrachten te verwijderen vanaf
hosts waarvan de afdrukopdrachten zijn gegeven, ook als
dezelfde printer vanaf andere hosts bereikbaar is. Het
volgende voorbeeld demonstreert dit:&prompt.user; lpr rattan mijnbestand
&prompt.user; rlogin orchid
&prompt.user; lpq rattan
Rank Owner Job Files Total Size
active seeyan 12 ... 49123 bytes
2nd kelly 13 myfile 12 bytes
&prompt.user; lprm rattan 13
rose: Permission denied
&prompt.user; logout
&prompt.user; lprm rattan 13
dfA013rose dequeued
cfA013rose dequeuedMeer dan platte tekst: afdrukoptiesHet commando &man.lpr.1; ondersteunt een aantal opties voor
de opmaak van platte tekst, het converteren van grafische en
andere bestandsformaten, het afdrukken van meerdere
kopieën, afwikkeling van een opdracht en meer. In deze
sectie worden die opties beschreven.Opties voor opmaak en conversieDe volgende opties voor &man.lpr.1; zorgen voor de opmaak
van de bestanden in de opdracht. Gebruik deze opties als de
opdracht geen platte tekst bevat of als platte tekst
opgemaakt dient te worden met behulp van &man.pr.1;.&tex;Het volgende commando drukt bijvoorbeeld een DVI-bestand
af (van het &tex; typesettingsysteem) met de naam
visrapport.dvi
op de printer bamboo:&prompt.user; lpr bamboo -d visrapport.dviDeze opties zijn van toepassing op alle bestanden in de
opdracht. Het is dus niet mogelijk om bijvoorbeeld DVI- en
ditroff-bestanden in een opdracht samen te voegen. In plaats
hiervan moeten deze bestanden als aparte opdrachten worden
gegeven, elk met een andere conversie-optie.Al deze opties, behalve en
, vereisen dat er conversiefilters zijn
geďnstalleerd voor een printer. De optie
vereist bijvoorbeeld het
DVI-conversiefilter. In Conversiefilters
staan de details beschreven.Afdrukken van cifplot-bestanden.Afdrukken van DVI-bestanden.Afdrukken van FORTRAN tekstbestanden.Afdrukken van plotgegevens.De uitvoer wordt aantal
kolommen ingesprongen. Als
nummer wordt weggelaten,
wordt acht kolommen ingesprongen. Deze optie werkt
alleen met bepaalde conversiefilters.Plaats geen spatie tussen de
en het nummer.Drukt letterlijke tekstgegevens af, inclusief
controlekarakters.Afdrukken van ditroff (apparaatonafhankelijke troff)
gegevens.-pOpmaak van platte tekst met &man.pr.1; alvorens af
te drukken. Zie &man.pr.1; voor meer informatie.Gebruik titel op de
&man.pr.1; koptekst in plaats van de bestandsnaam.
Deze optie heeft alleen effect in combinatie met de
optie .Afdrukken van troffgegevens.Afdrukken van rastergegevens.In het volgende voorbeeld wordt een mooi opgemaakte
versie van de handleiding &man.ls.1; afgedrukt op de
standaardprinter:&prompt.user; zcat /usr/share/man/man1/ls.1.gz | troff -man | lpr Het commando &man.zcat.1; pakt de broncode van de
&man.ls.1; handleiding uit en geeft het door aan het commando
&man.troff.1;, dat de broncode opmaakt, er GNU troff van
maakt en dit doorstuurt naar &man.lpr.1;, dat de opdracht
naar de LPD wachtrij stuurt.
Omdat de optie meegeven wordt aan
&man.lpr.1;, converteert het wachtrijsysteem de GNU troff
uitvoer naar een formaat dat de standaardprinter begrijpt als
de opdracht wordt afgedrukt.Opties voor opdrachtafhandelingDe volgende opties voor &man.lpr.1; geven
LPD aan de opdracht speciaal te
behandelen:-# kopieënProduceer een aantal van
kopieën kopieën
van elk bestand in de opdracht, in plaats van
één kopie. Een beheerder kan deze optie
uitschakelen om slijtage van de printer te voorkomen en
gebruik van een kopieerapparaat aan te moedigen. Zie
Meerdere
kopieën beperken.Dit voorbeeld drukt drie kopieën af van
parser.c
gevolgd door drie kopieën van
parser.h
op de standaardprinter:&prompt.user; lpr parser.c parser.h-mStuur een email na voltooiing van de afdrukopdracht.
Met deze optie stuurt het
LPD-systeem een email als
een opdracht is afgehandeld. In dit bericht vertelt
het of de opdracht succesvol is uitgevoerd of dat er
een fout was met (vaak) de aard van de fout.-sKopieer de bestanden niet naar de wachtrijmap,
maar maak in plaats hiervan een symbolische
link.Bij het afdrukken van een grote opdracht is het
handig van deze optie gebruik te maken. Het spaart
ruimte in de wachtrijmap (het kan zijn dat de opdracht
de vrije ruimte verbruikt in het bestandssysteem waarin
de wachtrijmap zich bevindt). Het bespaart ook tijd,
omdat LPD niet elke byte van
de opdracht naar de wachtrijmap hoeft te
kopieëren.Er is echter een nadeel: aangezien
LPD het originele bestand
nodig heeft, is het niet mogelijk dit te wijzigen, of
te verwijderen totdat het is afgedrukt.Bij het afdrukken op een printer in een netwerk,
moet LPD een bestand
uiteindelijk toch kopieëren van een lokale host
naar een netwerkhost. De optie
bespaart dus ruimte in een lokale wachtrijmap, niet
in die van een host in een netwerk. Het blijft
echter nuttig.-rVerwijder bestanden in een opdracht na ze naar een
wachtrij gekopieerd te hebben of na ze te hebben
afgedrukt als de optie is gebruikt.
Wees voorzichtig met deze optie!VoorbladoptiesDeze opties voor &man.lpr.1; passen de tekst aan die
gewoonlijk op het voorblad van een opdracht verschijnt. Deze
opties hebben geen effect als het afdrukken van voorbladen
wordt onderdrukt op een gebruikte printer. Zie Voorbladen
voor meer informatie over het opzetten van voorbladen.-C tekstVervang de hostnaam op het voorblad door
tekst. De hostnaam is
gewoonlijk de naam van de host waarvan de opdracht is
verstuurd.-J tekstVervang de naam van de opdracht op het voorblad
door tekst. De naam van de
opdracht is standaard de naam van het eerste bestand in
de opdracht of stdin als de
standaard uitvoer wordt afgedrukt.-hDruk geen voorblad af.Bij sommige installaties kan het zijn dat deze
optie geen effect heeft door de manier waarop de
voorbladen worden gegenereerd. Zie Voorbladen
voor de details.Printers beherenDe beheerder van de printers in een netwerk heeft deze
moeten installeren, opzetten en testen. Met het commando
&man.lpc.8; kan een beheerder op nog meer manieren communiceren
met printers. Met &man.lpc.8; is het mogelijk om:Printers te starten en te stoppen;Wachtrijen aan en uit te zetten;De volgorde van opdrachten in elke wachtrij
aan te passen.Ten eerste een opmerking over terminologie: als een
printer is gestopt, drukt die niets uit
een wachtrij af. Gebruikers kunnen nog steeds opdrachten
geven, maar opdrachten wachten in een wachtrij totdat de
bijbehorende printer is gestart of als de
wachtrij vrij is.Als een wachtrij is uitgeschakeld,
kan geen enkele gebruiker (behalve root)
opdrachten naar een printer versturen. Een
ingeschakelde wachtrij accepteert
opdrachten. Een printer met een uitgeschakelde wachtrij kan
worden gestart en drukt dan alle
afdrukopdrachten in de wachtrij af tot deze leeg is.In het algemeen is het nodig
root-rechten te hebben om het commando
&man.lpc.8; te gebruiken. Gewone gebruikers kunnen het
commando &man.lpc.8; gebruiken om een printerstatus op te
vragen en om een vastgelopen printer te herstarten.Nu volgt een samenvatting van de &man.lpc.8; commando's.
De meeste commando's accepteren een argument
printernaam, om aan te geven op
welke printer te werken. Om op alle printers te werken die in
/etc/printcap genoemd worden, kan
all worden gebruikt als
printernaam.abort
printernaamAnnuleer de huidige opdracht en stop de printer.
Gebruikers kunnen nog steeds opdrachten versturen als
de wachtrij is ingeschakeld.clean
printernaamVerwijder oude bestanden uit de wachtrijmap van
de betreffende printer. Het kan wel eens gebeuren dat de
bestanden waaruit een opdracht bestaat niet juist worden
verwijderd door LPD. Dit
gebeurt bijvoorbeeld wanneer er fouten zijn opgetreden
tijdens het afdrukken of tijdens grote administratieve
activiteit. Dit commando vindt en verwijdert bestanden
die niet in de wachtrijmap thuishoren.disable
printernaamNieuwe opdrachten kunnen niet meer in de wachtrij
worden geplaatst. Als de printer nog draait, drukt die
de opdrachten die zich nog in de wachtrij bevinden
af. De supergebruiker (root) kan
altijd opdrachten versturen, ook naar een uitgeschakelde
wachtrij.Dit commando is handig bij het testen van een nieuwe
printer of een filterinstallatie: schakel de wachtrij uit
en verstuur als root opdrachten.
Andere gebruikers kunnen geen opdrachten versturen totdat
het testen is voltooid en de wachtrij weer is
ingeschakeld met het commando
enable.down printernaamboodschapSchakel een printer uit. Equivalent aan
disable gevolgd door
stop. De
boodschap verschijnt als de
status van de printer als een gebruiker de wachtrij van
de printer controleert met &man.lpq.1; of de status
met lpc status.enable
printernaamSchakel de wachtrij van een printer in. Gebruikers
kunnen opdrachten versturen, maar de printer drukt ze pas
af als deze is gestart.help
commandonaamGeef hulp over het commando
commandonaam. Zonder
commandonaam, wordt een
samenvatting van de beschikbare commando's
getoond.restart
printernaamStart de printer. Gewone gebruikers kunnen dit
commando gebruiken als door een uitzonderlijke
omstandigheid LPD hangt, maar
ze kunnen een printer niet starten die gestopt is met
een van de commando's stop of
down. Het commando
restart is equivalent aan
abort gevolgd door
start.start
printernaamStart de printer. De printer drukt opdrachten in
zijn wachtrij af.stop
printernaamStop de printer. De printer maakt de huidige
opdracht af en drukt opdrachten in de wachtrij niet af.
Gebruikers kunnen nog steeds opdrachten versturen naar
een ingeschakelde wachtrij, ook al is de printer
gestopt.topq printernaamopdracht-of-gebruikersnaamHerschik de wachtrij voor
printernaam door de opdrachten
met de opgegeven opdracht
nummers of opdrachten van
gebruikersnaam bovenaan de
wachtrij te plaatsen. Voor dit commando is het niet
mogelijk all te gebruiken als
printernaam.up
printernaamSchakel een printer in. Het omgekeerde van het
commando down. Equivalent aan
start gevolgd door
enable.&man.lpc.8; accepteert bovenstaande commando's op de
opdrachtregel. Als er geen commando's worden gegeven,
schakelt &man.lpc.8; over op een interactieve modus, waar
opdrachten gegeven kunnen worden totdat het commando
exit, quit of
einde-van-bestand wordt gegeven.Alternatieven voor het standaard wachtrijsysteemNa het lezen van deze handleiding, heeft de lezer zo'n beetje
alles gelezen wat er te leren valt over het wachtrijsysteem
LPD zoals het te vinden
is in &os;. Er zijn veel tekortkomingen te onderkennen, wat
vanzelf leidt tot de vraag: Welke andere wachtrijsystemen
zijn er beschikbaar (en werken onder &os;)?LPRng
- LPRng
-
- LPRng, dat LPR: the
+ LPRngLPRng, dat LPR: the
Next Generation betekent, is een compleet
herschreven PLP. Patrick Powell en Justin Mason (de
voornaamste beheerder van PLP) hebben samengewerkt om
LPRng te maken. De thuispagina
voor LPRng is .CUPS
- CUPS
-
- CUPS, het Common UNIX
+ CUPSCUPS, het Common UNIX
Printing System, voorziet in een overzetbare printlaag voor
&unix;-achtige besturingssystemen. Het is ontwikkeld door
Easy Software Product, om een standaard afdrukoplossing
voor alle &unix;-producenten en gebruikers te
promoten.CUPS gebruikt het Internet
Printing Protocol (IPP) als basis voor
het beheren van afdrukopdrachten en wachtrijen. De
protocollen Line Printer Daemon (LPD),
Server Message Block (SMB) en AppSocket
(ook bekend als JetDirect) worden ook ondersteund met
minder functionaliteit. CUPS biedt bladeren naar
netwerkprinters en &postscript; Printer Description
(PPD) gebaseerde afdrukopties om
echt printen onder &unix; te ondersteunen.De thuispagina voor CUPS is
.HPLIP
- HPLIP
-
- HPLIP, het HP &linux; Imaging and
+ HPLIPHPLIP, het HP &linux; Imaging and
Printing systeem, is een suite van programma's ontwikkeld door HP
dat printen, scannen en faxen voor toepassingen van HP ondersteunt.
Deze suite van programma's maakt gebruikt van het printsysteem
CUPS als een backend voor sommige van
de printmogelijkheden.De thuispagina voor HPLIP is .Problemen oplossenNa het uitvoeren van een simpele test met &man.lptest.1; is
mogelijk een van onderstaande resultaten verkregen, in plaats
van de juiste uitvoer:Het werkte na enige tijd of er kwam geen volle
pagina.De printer drukte bovenstaande af, maar wachtte enige
tijd zonder iets te doen. Het was zelfs nodig om een
PRINT REMAINING, of FORM FEED-knop op te printer in te
drukken om enig resultaat te krijgen.Als dit het geval is, dan stond de printer
waarschijnlijk te wachten of er nog meer gegevens van de
opdracht zouden komen, alvorens iets af te drukken. Om dit
probleem op te lossen, kan het tekstfilter worden aangepast
zodat deze een FORM FEED-karakter (of wat er ook nodig is)
naar de printer stuurt. Dit is meestal voldoende om een
printer zover te krijgen om tekst af te drukken die zich
nog in de interne buffer bevindt. Het is ook nuttig om er
zeker van te zijn dat elke afdrukopdracht eindigt op een
hele pagina, zodat de volgende opdracht niet ergens midden
op de laatste pagina van de vorige opdracht begint.De volgende vervanging voor het shellscript
/usr/local/libexec/if-simple drukt een
form feed af nadat de opdracht naar een printer is
gestuurd:#!/bin/sh
#
# if-simple - Eenvoudige tekst invoerfilter voor lpd
# Geďinstalleerd in /usr/local/libexec/if-simple
#
# Kopieert eenvoudig stdin naar stdout. Negeer alle filterargumenten.
# Schrijft een form feed karakter (\f) na het afdrukken van de opdracht.
/bin/cat && printf "\f" && exit 0
exit 2De opdracht produceerde een getrapt effect.Het resultaat ziet er als volgt uit:!"#$%&'()*+,-./01234
"#$%&'()*+,-./012345
#$%&'()*+,-./0123456MS-DOSOS/2ASCIIDit krijgen slachtoffers van het
trapeffect te zien. Het wordt
veroorzaakt door conflicterende interpretaties van de
karakters die een regeleinde aangeven. &unix;-achtige
besturingssystemen gebruiken een enkel karakter: ASCII-code
10, de line feed (LF). &ms-dos;, &os2; en andere
besturingssystemen gebruiken twee karakters: ASCII-code 10
en ASCII-code 13 (de carriage return,
CR). Veel printers gebruiken de &ms-dos;-conventie voor
het representeren van regeleinden.Als onder &os; wordt afgedrukt, bevat de tekst alleen
het line feed-karakter. Na het zien van een line
feed-karakter vervolgt de printer zijn werk op de volgende
regel, maar behoudt dezelfde horizontale positie op de
pagina voor het afdrukken van het volgende teken. Hier is
de carriage return voor bedoeld: om het volgende karakter
af te drukken aan de linkerkant van de pagina.Dit is wat &os; wil dat de printer doet:Printer ontvangt CRPrinter drukt CR afPrinter ontvangt LFPrinter drukt CR + LF afHier volgen een aantal manieren om dit te
bereiken:Gebruik de instellingentoetsen of het
bedieningspaneel van de printer om de interpretatie van
deze karakters aan te passen. Controleer de
handleiding van de printer om uit te vinden hoe dit
moet.Als een systeem in een ander besturingssysteem
dan &os; wordt opgestart, kan het nodig zijn een
printer opnieuw in te stellen,
zodat die een interpretatie voor CR- en LF-karakters
gebruikt die bij dat andere besturingssysteem horen.
Het kan de voorkeur genieten een van onderstaande
oplossingen te gebruiken.Zorg dat het seriële lijnstuurprogramma van
&os; automatisch LF naar CR+LF converteert. Dit werkt
natuurlijk alleen voor printers op
een seriële poort. Gebruik de optie
ms# en zet de modus
onlcr in het bestand
/etc/printcap voor de printer om
deze functionaliteit in te schakelen.Stuur een escape-code naar een
printer om tijdelijk LF-karakters anders te behandelen.
Raadpleeg hiervoor de handleiding van de printer om
escape-codes te achterhalen die de printer ondersteunt.
Als de juiste escape-code is gevonden, moet de
tekstfilter worden aangepast zodat deze eerst de code
stuurt en vervolgens de afdrukopdracht.PCLHier volgt een eenvoudig tekstfilter voor printers
die HP PCL-escape-codes begrijpen. Dit filter zorgt dat
een printer LF-karakters behandelt als LF en CR,
vervolgens verstuurt het de opdracht en tot slot een
form feed om de laatste pagina in de opdracht uit te
voeren. Het zou met alle HP printers moeten
werken.#!/bin/sh
#
# hpif - Eenvoudig tekst invoerfilter voor lpd voor HP PCL-printers
# Geďnstalleerd in /usr/local/libexec/hpif
#
# Kopieert eenvoudig stdin naar stdout. Negeert alle filterargumenten.
# Vertelt de printer om LF te zien als CR+LF.
# Werpt de pagina uit na voltooiing.
printf "\033&k2G" && cat && printf "\033&l0H" && exit 0
exit 2Nu volgt een voorbeeldbestand
/etc/printcap voor host
orchid. Er is een printer aangesloten
op de eerste parallelle poort; een HP LaserJet 3Si,
genaamd teak. Die gebruikt
bovenstaand script als tekstfilter:#
# /etc/printcap voor host orchid
#
teak|hp|laserjet|HP LaserJet 3Si:\
:lp=/dev/lpt0:sh:sd=/var/spool/lpd/teak:mx#0:\
:if=/usr/local/libexec/hpif:De regels zijn over elkaar afgedrukt.De printer is nooit een regel opgeschoven. Alle regels
tekst lopen over elkaar en zijn op dezelfde regel
afgedrukt.Dit probleem is het omgekeerde van het
trapeffect, zoals boven beschreven, en is veel zeldzamer.
Ergens worden de LF-karakters die &os; gebruikt om een
regel te eindigen gezien als CR-karakters om de
afdruklocatie te verplaatsen naar de linkerkant van het
papier, zonder óók een regel naar beneden te
gaan.Gebruik de instellingentoetsen, of het bedieningspaneel
van de printer om de volgende interpretatie van LF en CR af
te dwingen:Printer ontvangtPrinter drukt afCRCRLFCR + LFDe printer is karakters kwijt.Tijdens het afdrukken heeft de printer een paar
karakters per regel niet afgedrukt. Het kan zijn dat het
probleem erger werd naarmate de printer zijn werk deed,
steeds meer karakters verliezend.Het probleem is dat de printer de snelheid waarmee de
computer gegevens over een seriële lijn stuurt niet
bij kan houden (dit probleem zou zich niet voor moeten doen
met printers op een parallelle poort). Er zijn twee
manieren om dit probleem te verhelpen:Als de printer XON/XOFF flow-control ondersteunt,
zorg dan dat &os; dit gebruikt door de modus
ixon in de optie
ms# te specificeren.Als de printer de Request to Send / Clear to Send
hardware-handshake ondersteunt, (ook bekend als
RTS/CTS), specificeer dan de modus
crtscts in de optie
ms#. Zorg dat de bedrading
van de kabel die printer met de computer verbindt juist
is voor hardware flow-control.Er werd onzin afgedrukt.Het lijkt alsof de printer willekeurige onzin afdrukte
en niet de gewenste tekst.Dit is meestal een ander symptoom van verkeerde
communicatieparameters voor een seriële printer.
Controleer de bps-snelheid in de optie
br en de instelling voor pariteit in de
optie ms#. Wees er zeker van dat de
printer dezelfde instellingen gebruikt als in het bestand
/etc/printcap worden opgegeven.Er gebeurde niets.Als er niets gebeurde, ligt het probleem waarschijnlijk
bij &os; en niet bij de hardware. Voeg de optie
logboekbestand (lf) toe in
/etc/printcap voor de betreffende
printer. Hier is bijvoorbeeld de definitie voor
rattan met de optie
lf:rattan|line|diablo|lp|Diablo 630 Line Printer:\
:sh:sd=/var/spool/lpd/rattan:\
:lp=/dev/lpt0:\
:if=/usr/local/libexec/if-simple:\
:lf=/var/log/rattan.logProbeer vervolgens nogmaals af te drukken. Controleer
het logboekbestand (in dit voorbeeld
/var/log/rattan.log) op mogelijke
foutmeldingen. Probeer op basis van deze melding het
probleem te verhelpen.Als er geen optie lf is opgegeven,
gebruikt LPD/dev/console als
standaard.