FreeBSD 2.X ±`¨£°Ýµª¶°
FreeBSD ¤å¥ópµe
$FreeBSD: doc/zh_TW.Big5/books/faq/book.sgml,v 1.8 1999/09/06 07:22:28 peter Exp $
³o¥÷¤å¥ó¬O FreeBSD 2.X ªº±`¨£°Ýµª¶°¡C°£«D¦³¯S§O¥[µù¡A§_«h³o¨Ç±ø¥Ø³£¾A
¥Î©ó FreeBSD 2.0.5 ¤Î¥H«áªºª©¥»¡C¦pªG±ø¥Ø¤º®e¤¤¦³ <XXX> «h¬O©|¥¼
§¹¦¨ªº³¡¥÷¡C¦pªG±z¹ï¨ó§U¥»pµeªº¶i¦æ¦³¿³½ìªº¸Ü¡A½Ð±H¤@«Ê¹q¤l¶l¥ó¨ì
FreeBSD ¤å¥ópµeªº mailing list <freebsd-doc@FreeBSD.org>¡C
±z¥i¥H±q FreeBSD World Wide Web server ®³¨ì³o¥÷¤å¥óªº³Ì·sª©¥»¡C±z¤]¥i¥H
§Q¥Î HTTP ¨Ó¤U¸ü¥»¤å¥óªº ¯Â¤å¦rª©¡A
postscript ª©¡A
PDF ª©¡A
©Î¬O HTML ª©¡A©Î¬O¸g¥Ñ
FreeBSD FTP ¯¸
¨Ó¤U¸ü gzip'd ªºª©¥»¡C±z©Î³\¤]·Q
¦b±`¨£°Ýµª¶°¤¤·j´M¸ê®Æ¡C
«e¨¥
Åwªï¨Ó¨ì FreeBSD 2.X FAQ¡I
¸ò¨ä¥L Usenet ¤Wªº FAQ ¤@¼Ë¡A³o¥÷¤å¥ó¥Dn²[»\¤F¦³Ãö FreeBSD ³o®M§@
·~¨t²Î³Ì±`³Q°Ý¨ìªº°ÝÃD (·íµM¥]¬A¤F¦^µª¡I)¡CÁöµM»¡§ÚÌ¥»¨Óªº¥Øªº¬O¬°¤F
´î¤Öºô¸ôÀW¼eªº®ö¶O¥H¤ÎÁקK¦P¼Ëªº°ÝÃD¤@¦A¥X²{¡A¦ý¬O FAQ ¤w¸g³Qµø¬°¬O¤@
ºØ«Ü¦³»ùȪº¸ê°T¤F¡C
§Ṳ́w¸g¾¨¥i¯à¦a¨Ï³o¥÷ FAQ §óÂ×´I¤F¡F¦pªG±z¹ï¦p¦ó¨Ï¨ä§ó¶i¨B¦³¥ô¦ó
«Øij¡A½ÐÀH®É±H¹q¤l¶l¥óµ¹ FAQ ºûÅ@ªÌ¡C
¤°»ò¬O FreeBSD¡H
²³æ¦a¨Ó»¡¡AFreeBSD 2.X ¬O¤@®M®Ú¾Ú U.C. Berkeley's 4.4BSD-lite
release for the i386 platform ©Ò§¹¦¨ªº UN*X-like §@·~¨t²Î¡C¥¦¦P®É¤]¶¡
±µ¨Ï¥Î¤F William Jolitz ²¾´Ó¨ì i386 ¤Wªº U.C. Berkeley's Net/2¡A¤]´N¬O
386BSD¡C¤£¹L²{¦b 386BSD ªºµ{¦¡½X¥u³Ñ¤U·¥¤Ö¼ÆÁÙ¯d¦s¦b FreeBSD ¤¤¡C±z¥i
¥H¦b FreeBSD º¶ §ä¨ì¦³Ãö¤°
»ò¬O FreeBSD ¥H¤Î¥¦¥i¥HÀ°±z°µ¨Ç¤°»òªº¬ÛÃö¸ê°T¡C
FreeBSD ¤w³Q¼sªx¦a³Q¥@¬É¦U¦aªº¤½¥q¦æ¸¹¡AISP¡A¬ã¨s¤Hû¡A¹q¸£±M®a¡A¾Ç
¥Í¡A¥H¤Î®a®x¥Î¤á©Ò¨Ï¥Î¡A¥Î¦b¤u§@¡A±Ð¨|¡A¥H¤Î®T¼Ö¤W¡C±z¥i¥H¦b
FreeBSD Gallery¬Ý¨ì¤@¨Ç¦³
Ãö¥L̪º¸ê®Æ¡C
¦pªG·Q¬ÝÃö©ó FreeBSD §ó²`¤Jªº¸ê®Æ¡A½Ð¬Ý
FreeBSD ¨Ï¥Î¤â¥U¡C
µo®i FreeBSD ªº¥Øªº¬O¤°»ò¡H
FreeBSD pµeªº¥Øªº¬O´£¨Ñ¥i¥H¥ô·N¨Ï¥Î¥B¨S¦³¨îªº³nÅé¡C§Ú̦bµ{¦¡½X
(¥H¤Îp±Þ¥»¨) ¤W¥I¥X¤F¤j¶q¤ß¦å¡AÁöµM§Ų́S¦³¯S§O±j½Õ¡A¤£¹L¨Ã¤£n¨D¥ô
¦óª÷¿ú¤Wªº¦^õX¡C§Ú̬۫H§Ú̺nªº``¥ô°È''´N¬O´£¨Ñµ{¦¡½Xµ¹¨C¤@ӨϥÎ
ªÌ¡A¤£ºÞ¥L̪º¥Øªº¬O¤°»ò¡F³o»ò¤@¨Ó¡A³o¨Çµ{¦¡½X¤~¯à³Q¥Î¦b³Ì¦h¦a¤è¡A¤]
¤~¯àµo´§¥¦Ì³Ì¤jªº§Q¯q¡C§Ú̬۫H³o´N¬O¦Û¥Ñ³nÅé³Ì°ò¥»ªº¥Ø¼Ð¤§¤@¡A¦Ó¥B§Ú
Ì·|ºÉ¥þ¤O¥h¤ä«ù¥¦¡C
¦b§ÚÌ source tree ¤¤¦³³¡¥÷ªºµ{¦¡½X¬O±Ä¥Î©Ò¿×ªº GPL ©Î¬O LGPL ª©Åv
«Å§i¡AÁöµM³o¨Çª©Åv«Å§i¬O¥Î¨Ó«O»Ù¦Ó«D¨î¨Ï¥ÎªÌªºÅv§Q¡A²¦³º¬O¤£¨º»ò¦Û¥Ñ
¤F¨Ç¡C¥Ñ©ó³o¨Ç GPL ªº³nÅé¦b°Ó·~¨Ï¥Î¤W·|¤Þ°_«D±`½ÆÂøªºª©Åv°ÝÃD¡A¦]¦¹¥u
n¦³¾÷·|¡A§ÚÌ·|ºÉ¶q¥H±Ä¥Î¤ñ¸ûÃPªº BSD ª©Åvªº³nÅé¨Ó¨ú¥N³o¨Ç GPL ª©Åv«Å
§iªº³nÅé¡C
¬°¤°»òn¥s°µ FreeBSD¡H
±z¥i¥H§K¶O¨Ï¥Î¥¦¡A§Y¨Ï¬O¥Î©ó°Ó·~¥Î³~¡C
¾ãÓ FreeBSD §@·~¨t²Î§¹¾ãªºì©lµ{¦¡³£¥i¥H§K¶O¨ú±o¡A¦Ó¥B¦b¨Ï¥Î
¤Î´²§G¦U¤è±¤]¥u¨ü¨ì³Ì¤pªº¨î (¤£½×¬O§_¥Î©ó°Ó·~¥Î³~)¡C
¥ô¦ó¤H³£¥i¥H¦Û¥Ñ¦a§â¥L¹ï¨t²Îªº§ï¨}©Î¿ù»~×¥¿ªºµ{¦¡½X¥[¤J
source tree ¤§¤¤ (·íµMn²Å¦X´XÓ¥ý¨M±ø¥ó)¡C
¦pªGŪªÌ±zªº¥À»y¤£¬O^»yªº¸Ü¡A±zn¯S§Oª`·N³o¸Ìªº``free''¨âºØ¥Îªkªº
·N«ä¬O¤£¤@¼Ëªº¡G¤@ºØªº·N«ä¬O``§K¶O''¡A¥t¤@ºØªº·N«ä¬O``¦Û¥Ñ''¡C±z¥i¥H®³
FreeBSD ¥h°µ¥ô¦ó±z·Qn°µªº¨Æ¡A°£¤F¤@¨Ç¨Ò¥~¡A¨Ò¦p±z«ÅºÙ FreeBSD ¬O±z¼g
ªº¡C
³Ì·sª©ªº FreeBSD ¬O¨º¤@ª©¡H
3.2 ¬O¥Ø«e³Ì·sªº stable ª©¡F¥¦©ó 1999 ¦~ 5 ¤ëµo¦æ¡C
¥¦¦P®É¤]¬O¥Ø«e³Ì·sªº release ª©¡C
²³æªº»¡¡A-stable ªº¥Dn¶D¨D¹ï¶H¬O¹ï©óéw©Ê¤Î§CÅܲ§©Êªº»Ý¨D
»·³Ó¹L¹ï³Ì·s -current snapshot ¤¤¯S§O·s¥\¯àªº»Ý¨D¡A¨Ò¦p ISP ©Î¤½
¥q¦æ¸¹ªº¨Ï¥ÎªÌ¡C³o¨âºØ "branch" ³£¦³¥i¯à·|²£¥Í release ª©¡A¦ý¥u¦³·í§A
¯à±µ¨ü -current »·¤ñ -stable ®e©ö§ó°Ê³o¤@ÂI¡A¤~À³¸Ó¥Î
-current¡C
Release ª©n¨C´XÓ¤ë¤~·|µo¦æ¤@¦¸¡A
ÁöµM¦³«Ü¦h¤HÂÇ¥Ñì©l½X¨Ó©M FreeBSD ªº³Ì·s°ÊºA¦P¨B¡]¨£
FreeBSD-current ©M FreeBSD-stable ªº¬ÛÃö°ÝÃD¡^¡A¦ý³o¼Ë·|n¬YºØµ{«×ªº¥I¥X¡A¦]¬°ì
©l½X¬O·|¤£Â_§ó°Êªº¡C
¤°»ò¬O FreeBSD-current¡H
FreeBSD-current «üªº¬O¥¿
¦bµo®i¤¤ªºª©¥»¡A¥¦²×±N¦b¾A·íªº®É¾÷¦¨¬° 4.0-RELEASE¡C¥¦¹ê¦b¬O¥u¾A¦Xµ¹
¨t²Îµo®iªÌ¥H¤Î¦³¼Ý¤Oªº·~¾l·R¦nªÌ¨Ï¥Î¡C¦pªG·Qn±o¨ì¦³Ãö¦p¦ó¨Ï¥Î
-current ªº²`¤J¸ê°T¡A½Ð°Ñ¦Ò
¨Ï¥Î¤â¥U ªº
¬ÛÃö³¡¥÷¡C
¦pªG±z¹ï§@·~¨t²Î¥»¨¨Ã¤£¬O«Ü¼ô±x¡A©Î¬O±z¨S¿ìªk¤À¿ë±z¹J¨ìªº°ÝÃD¬O¯u
ªºµo¥Í¤F°ÝÃD¥ç©Î¬O¼È®É©Êªº¤pª¬ªp¡A¨º»ò±z´N¤£À³¸Ó¨Ï¥Î FreeBSD-current¡C
³oÓ¤À¤äªºµ{¦¡½X¦³®ÉÔÅܰʱo«Ü§Ö¡A¦Ó¥B¥i¯à·|¦]¦¹¦Ó¨Ï±z¦³¦n´X¤Ñªº®É¶¡µL
ªk§ó·s±zªº¨t²Î¡C§ÚÌ°²³]¨Ï¥Î FreeBSD-current ªº¨Ï¥ÎªÌ³£¦³¯à¤O¥h¤ÀªR¥L
Ì©Ò¹J¨ìªº°ÝÃD¨Ã¥B¥u¦^³ø¯u¥¿ªº°ÝÃD¦Ó«D¤pª¬ªp¡C¦pªG±z¦b -current
mailing list ¤¤´£¨ìÃþ¦ü``make world ³y¦¨¤@¨Ç¦³Ãö groups ªº¿ù»~''ªº°ÝÃD¡A
¦³®ÉÔ·|³Q¨ä¥L¤H»´µø¡C
¦³®ÉÔ§ÚÌ·|¬°³o¨Ç -current µo®i¤¤ªºµ{¦¡½Xµoªí
snapshot¡A§ó¦³¬ÆªÌ¡A§ÚÌ
ÁÙ·|µoªí CDROM «¬¦¡ªº snapshot¡Cµoªí³o¨Ç snapshot ªº¥Øªº¦b©ó¡G
´ú¸Õ³Ì·sª©ªº¦w¸Ëµ{¦¡¡C
´£¨Ñ¤@Ó²³æªº¤èªkµ¹¨º¨Ç³ßÅw¨Ï¥Î -current ¦ý¬O¨S¦³®É¶¡©MÀW¼e¥h
¨C¤Ñª@¯Åªº¨Ï¥ÎªÌ¡C
¬°¤F´À§Ú̵o®i¤¤ªºµ{¦¡«O¯d¤@Ó©T©wªº°Ñ¦ÒÂI¡A¥H¨¾¤î§ÚÌ¥¼¨Ó³y¦¨
¤£©¯¡C(ÁöµM CVS ¥i¥H¥¿±`¦a¨¾¤îÃþ¦ü³oºØªº¥i©È¨Æ¥ó :)
¬°¤F½T«O©Ò¦³»Ýn´ú¸Õªº·s¥\¯à³£¥i¥H±o¨ì³Ì¦hªº´ú¸Õ¡C
µL½×¦p¦ó¡A§Ṳ́£«OÃÒ snapshot ªº«~½è¡C¬°¤Féw©Ê¡A±z³Ì¦n¨Ï¥Î§¹¥þ
release ªºª©¥»¡C
±z¥i¥Hª½±µ±q
ftp://current.FreeBSD.org/pub/FreeBSD/ ¨ú±o snapshot
release¡A¤£ºÞ¬O 4.0-current ©Î¬O 3.0-stable¡A¥§¡¨C¤Ñ³£·|²£¥Í¤@Ó
snapshot ªºª©¥»¡C
¤°»ò¬O FreeBSD-stable¡H
¦^·¹¨ì FreeBSD 2.0.5 èµoªíªº®ÉÔ¡A§Ų́M©w§â FreeBSD ªº release
¤À¦¨¨â¤ä¡C¤@¤ä¥s°µ-stable¡A
§ÚÌ¥u¹ï¥¦°µ¿ù»~×¥¿¤Î¤p´T«×ªº×§ï (³o¬Oµ¹ ISP ©M°Ó·~¤½¥qµ¥¹ï¹êÅ礤¥\
¯à¤£·P¿³½ìªº³æ¦ì©Ò¨Ï¥Îªº)¡C¥t¥~¤@¤ä¥s°µ
-current¡A±q 2.0 ª©µo¦æ¥H
«á´N¤£¶¡Â_¦a´ÂµÛ 4.0-RELEASE (¥H¤Î¥H«áªºª©¥») «e¶iµÛ¡C¤U±´N¬Oª©¥»ºt
¶iªº¥Ü·N¹Ï¡G
2.0
|
|
| [2.1-stable]
*BRANCH* 2.0.5 -> 2.1 -> 2.1.5 -> 2.1.6 -> 2.1.7.1 [2.1-stable ends]
| (Mar 1997)
|
|
| [2.2-stable]
*BRANCH* 2.2.1 -> 2.2.2-RELEASE -> 2.2.5 -> 2.2.6 -> 2.2.7 -> 2.2.8 [end]
| (Mar 1997) (Oct 97) (Apr 98) (Jul 98) (Dec 98)
|
|
3.0-SNAPs (started Q1 1997)
|
|
3.0.0-RELEASE (Oct 1998)
|
| [3.0-stable]
*BRANCH* 3.1 (Feb 1999) -> 3.2 -> ... future 3.x releases ...
| (May 1999)
|
\|/
+
[4.0-current continues]
-current ³oÓ¤À¤ä¥¿½wºC¦a´Â¦V 4.0 ¥H¤Î¥H«áªºª©¥»«e¶iµÛ¡A¦Ó¤§«eªº
2.2-stable ¤À¤ä«hÀHµÛ 2.2.8 ªºµoªí¦Ó¥\¦¨¨°h¡C3.0-stable ±N·|¦¨¬°¥Dn
ªºµo®i½u¡A3.3 ±N·|¦b 1999 ¦~²Ä¤T©u¤½¥¬¡A4.0 ¬O¥Ø«eªº "current ¤À¤ä"¡A
4.0 ªº²Ä¤@¦¸ release À³¸Ó·|¦b 2000 ¦~²Ä¤@©u¡C
·sªº FreeBSD ±N©ó¤°»ò®ÉÔ±À¥X¡H
¤@¯ë¦Ó¨¥¡A·í FreeBSD core team »{¬°¤w¸g²Ö¿n¤F¨¬°÷¦hªº·s¥\¯à©M¿ù»~×
¥¿¡A¦Ó¥B³o¨Ç§ó°Ê¨Ã¤£¼vÅT¨t²Îéw«×ªº®ÉÔ¡A¥L̤~·|±À¥X·sª©ªº FreeBSD¡C
ÁöµMµ¥«Ý³o¨Ç¦nªF¦èªº®É¶¡¥O¤H¦³ÂIªq³à¡A¦ý¬O¤j¦h¼Æªº¨Ï¥ÎªÌ³£»{¬°³oºØÂÔ·V
ªººA«×¬O FreeBSD ³Ì¦nªº³¡¥÷¤§¤@¡C
¥§¡¦Ó¨¥¡A§Ų́C¥|Ó¤ëµo¦æ¤@¦¸ release¡C
¬°¤Fº¡¨¬¨º¨Ç»Ýn (©Î·Qn) ¨ë¿Eªº¨Ï¥ÎªÌ¡A³q±` SNAP ªºµoªí¬O¬Û·íÀWÁc
ªº¡A¯S§O¬O¦b release µoªí¤§«e¤@Ӥ륪¥k¡C
FreeBSD ¥u¯à¦b PC ¤W¨Ï¥Î¶Ü¡H
FreeBSD 3.x ¥Ø«e¥i¥H¦b
DEC Alpha ¤W¨Ï¥Î¡A´N¹³¦b x86 ¬[
ºc¤U¨Ï¥Î¤@¼Ë¡C§Ú̹ﲾ´Ó¨ì SPARC ¤W¤]¦³¬Û·íªº¿³½ì¡A¤£¹L³o³¡¥÷ªºpµeÁÙ
¨S¦³§¹¥þ©ú®Ô¤Æ¡C
¦pªG±zªº¾÷¾¹¤£¬O¥H¤W³o¨Ç¬[ºc¡A¦Ó¥B±z²{¦b´Nnªº¸Ü¡A§ÚÌ«Øij±z°Ñ¦Ò
NetBSD ©Î¬O
OpenBSD¡C
½Öt³d FreeBSD ªºµo®i¡H
¦pªG¬O¤@¨Ç¦³Ãö FreeBSD pµeªºÃöÁä©Ê¨M©w¡A¹³¬O¾ãÓpµeªº¨«¦V©Î¬O¨M
©w½Ö¥i¥H§ï source tree ¸Ìªºµ{¦¡½X³oÃþªº¨Æ¡A¬O¥Ñ¤@Ó¬ù 15 Ó¤H©Ò²Õ¦¨ªº
core team ¨Ó¨M©w¡C¦Ó¦³
¥t¤@¸s¬ù 150 Ó commiters ¦³Åv§Q¥i¥Hª½±µ×§ï FreeBSD ªº source tree¡C
µL½×¦p¦ó¡A¤j¦h¼Æªº§ïÅܳ£·|¨Æ«e¦b
mailing lists ¥ý°Q½×¹L¡A¦Ó¥B¨CÓ¤H³£¥i¥H°Ñ»P
°Q½×¡C
§Ún¦p¦ó¨ú±o FreeBSD¡H
¨CÓ FreeBSD ªº«nª©¥»³£¥i¥H¸g¥Ñ°Î¦W ftp ±q
FreeBSD FTP site
¨ú±o¡C
¦pªG¬O¥Ø«eªº 2.2-stable release¡A2.2.8R¡A½Ð¬Ý
2.2.8-RELEASE ³oӥؿý¡C
¦pªG¬O¥Ø«eªº 3.0-stable release¡A3.0-RELEASE¡A½Ð¬Ý
3.0-RELEASE
³oӥؿý¡C
ÀHµÛ RELENG_2_2 ¤À¤ä («á¨Óªº 2.2.8) ºCºC¦a¶i¤JºûÅ@¶¥¬q¡A§Ų́C
¤Ñ³£·|µo¦æ 2.2 Snapshot¡C§Ú̥ثe¥¿§´µ½ºûÅ@µÛ RELENG_2_2 ³oÓ¤À¤ä¡A°£«D
¹ï¨t²Î¦w¥þ©Î¬O¨t²Îªº¥i¾a©Ê¦³©Ò¼W±j¡A§_«h§Ú̱N¤£¦A§ó°Ê¡C
ÀHµÛ RELENG_3 ¤À¤ä («á¨Óªº 3.0-release) ºCºC´ÂµÛ 3.2-RELEASE
µo®i¡A§Ṳ́]·|¨C¤Ñµo¦æ 3.0 Snapshot¡C
-current ¤À¤ä¨C¤Ñ³£·|±À¥X
4.0 Snapshot¡A¯Âºé¬O¬°¤F¼ö¤ßªº´ú¸ÕªÌ¥H¤Îµo®i¤Hû©Ò´£¨Ñªº¡C
FreeBSD ªº CDROM ¥i¥H±q¤U¦C¦a¤è¨ú±o :
Walnut Creek CDROM
4041 Pike Lane, Suite F
Concord, CA 94520 USA
Orders: +1 800 786-9907
Questions: +1 925 674-0783
FAX: +1 925 674-0821
email: WC Orders address
WWW: WC Home page
¦pªG±z¦b¿D¬w¡A±z¥i¥H§ä¡G
Advanced Multimedia Distributors
Factory 1/1 Ovata Drive
Tullamarine, Melbourne
Victoria
Australia
Voice: +61 3 9338 6777
CDROM Support BBS
17 Irvine St
Peppermint Grove WA 6011
Voice: +61 9 385-3793
Fax: +61 9 385-2360
¦b^°ê¡G
The Public Domain & Shareware Library
Winscombe House¡ABeacon Rd
Crowborough
Sussex. TN6 1UL
Voice: +44 1892 663-298
Fax: +44 1892 667-473
§Ú¦b¨º¸Ì¥i¥H§ä¨ì¦³Ãö FreeBSD mailing lists ªº¸ê°T¡H
±z¥i¥H¦b ¨Ï¥Î¤â¥U - mailing-lists ¤¤§ä¨ì§¹¾ãªº¸ê°T¡C
¦b¨º¸Ì¥i¥H§ä¨ì FreeBSD Y2K ªº¬ÛÃö¸ê°T¡H
±z¥i¥H¦b FreeBSD Y2K ±MÄæ ¨ú±o§¹¾ãªº¸ê°T¡C
¦³¤°»ò°Q½× FreeBSD ªº·s»D°Q½×¸s²Õ¶Ü¡H
±z¥i¥H¦b ¨Ï¥Î¤â¥U - ·s»D°Q½×¸s²Õ ¤¤§ä¨ì§¹¾ãªº¸ê°T¡C
¦³±Mªù°Q½× FreeBSD ªº IRC ÀW¹D¶Ü¡H
¬Oªº¡A¤j³¡¥÷¥Dnªº IRC ºô¸ô¥D¾÷³£´£¨Ñ¤F FreeBSD ªº²á¤ÑÀW¹D¡G
EFNet ©Ò´£¨Ñªº #FreeBSD ÀW¹D¬O¤@Ó FreeBSD ªº½×
¾Â¡A¦ý¬O±z¥i¯àµLªk±q¨ºÃä±o¨ì§Þ³N¤è±ªº¤ä´©¡A±z¤]§O·Q¦b¨ºÃä§ä¨ì¥ô¦ó
¤H¥i¥HÀ°±zÁקK±¼¾\Ū man page ¥H¤Î¦Û¤v¬ã¨sªºµhW¡C¨º¬O¤@Ó¥H²á¤Ñ¬°
¥DªºÀW¹D¡A¦b¨ºÃä²á¨ì FreeBSD ©M²á¨ì©Ê¡B¹B°Ê¡B¥H¤Î®Ö¤lªZ¾¹ªº¾÷·|¬O
¤@¼Ë°ªªº¡C
§Ṳ́w¸gĵ§i¹L±z¤F¡C
±z¥i¥H¸g¥Ñ irc.chat.org ¨Ó³s½u¡C
DALNET ©Ò´£¨Ñªº #FreeBSD ÀW¹D¡A¦b¬ü°ê¥i¥H¸g¥Ñ
irc.dal.net ¨Ó³s½u¡A¦b¼Ú¬w¥i¥H¸g¥Ñ irc.eu.dal.net
¨Ó³s½u¡C
UNDERNET ©Ò´£¨Ñªº #FreeBSD ÀW¹D¡A¦b¬ü°ê¥i¥H¸g¥Ñ
us.undernet.org ¨Ó³s½u¡A¦b¼Ú¬w¥i¥H¸g¥Ñ
eu.undernet.org ¨Ó³s½u¡C
³Ì«á¡A±z¤]¥i¥H¥[¤J BSDNET ©Ò´£¨Ñªº #FreeBSD ÀW
¹D¡A³o¬O¤@Ó¤p«¬ªº BSD ±M¥Î²á¤Ñºô¸ô¡A¥i¥H¸g¥Ñ
irc.FreeBSD.org ¨Ó³s½u¡C
¥H¤Wªº³o¨ÇÀW¹D³£¬O¤£¦Pªº¡A¦Ó¥B¥¦Ì¨Ã¨S¦³¤¬¬Û³s³q¡C¥¦Ì²á¤Ñªº¤è¦¡¤]
¤£¾¨¬Û¦P¡A©Ò¥H±z¥i¯à¨CÓ³£n¥hÀ|¸Õ¤@¤U¡A¥H§ä¨ì³Ì¾A¦X±zªºÀW¹D¡C
FreeBSD ¬ÛÃö®ÑÄy
±z©Î³\¥i¥H¸Õ¸Õ¬Ý doc mailing list¡G
<freebsd-doc@FreeBSD.org> ¤Wªº FreeBSD ¤å¥ópµe (¦pªG±z
¯à¥[¤J³o¬Opµe¨º¬O¦A¦n¤£¹Lªº¤F)¡C³oÓ mailing list ¬O¥Î¨Ó°Q½× FreeBSD
¤å¥óªº¡C¦pªG±z·Qnµo°Ý°ÝÃDªº¸Ü¡A§Ṳ́]¦³ questions mailing
list¡G
<freebsd-questions@FreeBSD.org> ¡C
±z¤]¥i¥H±q
FreeBSD ¨Ï¥Î¤â¥U
¨ú±o FreeBSD``¨Ï¥Î¤â¥U''¡C½Ðª`·N¡A³o¥÷¤å¥ó¤´³B©ó»s§@¶¥¬q¡A¦³«Ü¦h³¡¥÷³£
ÁÙ¨S¦³§¹¦¨¡C
¦³Ãö FreeBSD ªº®ÑÄy¤¤¡A³Ì¦nªºÀ³¸Ó´N¬O Greg Lehey µÛ§@¡AWalnut Creek
CDROM Books ¥Xª©ªº``The Complete FreeBSD''¤F¡C²{¦b³o¥»®Ñ¤w¸g¥X¨ì²Ä¤Gª©
¤F¡AÁ`¦@ 1750 ¶¥ª¥k¡A¤º®e¥]¬A¦w¸Ë¡A¨t²ÎºÞ²z«ü¾É¡Aµ{¦¡¦w¸Ë¨ó§U¡A¥H¤Î
manual pages¡C³o¥»®Ñ (¥H¤Î³Ì·sª©ªº FreeBSD release) ¥i¥H¦V
Walnut Creek¡A
CheapBytes¡A©Î¬O¥ô¦ó¤@¶¡
±z³ßÅwªº®Ñ§½qÁÊ¡C¥Lªº ISBN ¸¹½X¬O 1-57176-227-2¡C
µM¦Ó¡A¦]¬° FreeBSD 2.2.X ¬O¥H 4.4BSD-Lite2 ¬°°ò¦¨Óµo®iªº¨t²Î¡A©Ò¥H
¤j³¡¥÷ 4.4BSD ªº¤â¥U³£¾A¥Î©ó FreeBSD 2.2.X¡CO'Reilly and Associates
¥Xª©¤F¤U¦C¤â¥U¡G
4.4BSD System Manager's Manual
By Computer Systems Research Group, UC Berkeley
1st Edition June 1994, 804 pages
ISBN: 1-56592-080-5
4.4BSD User's Reference Manual
By Computer Systems Research Group, UC Berkeley
1st Edition June 1994, 905 pages
ISBN: 1-56592-075-9
4.4BSD User's Supplementary Documents
By Computer Systems Research Group, UC Berkeley
1st Edition July 1994, 712 pages
ISBN: 1-56592-076-7
4.4BSD Programmer's Reference Manual
By Computer Systems Research Group, UC Berkeley
1st Edition June 1994, 886 pages
ISBN: 1-56592-078-3
4.4BSD Programmer's Supplementary Documents
By Computer Systems Research Group, UC Berkeley
1st Edition July 1994, 596 pages
ISBN: 1-56592-079-1
±z¥i¥H¦b WWW ¤W§ä¨ì¬ÛÃö¤¶²Ð¡G
4.4BSD books description¡C¦]¬°¾P°â±¡§Î¨Ã¤£¬O«Ü¦n¡A©Ò¥H±z¥i¯à«Ü
Ãø¥h¨ú±o³o¨Ç®ÑÄy¡C
¦pªG±z·Q¹ï 4.4BSD ªº®Ö¤ß¬[ºc¦³§ó²`¼hªº»{ÃÑ¡A±zµ´¤£¯à¿ù¹L³o¥»®Ñ :
McKusick, Marshall Kirk, Keith Bostic, Michael J Karels,
and John Quarterman.
The Design and Implementation of the 4.4BSD Operating
System. Reading, Mass. : Addison-Wesley, 1996.
ISBN 0-201-54979-4
¤@¥»¦³Ãö¨t²ÎºÞ²zªº¦n®Ñ¡G
Evi Nemeth, Garth Snyder, Scott Seebass & Trent R. Hein,
``Unix System Administration Handbook'', Prentice-Hall, 1995
ISBN: 0-13-151051-7
NOTE ½Ð½T»{±z¶R¨ìªºªº½T¬O²Ä¤Gª©¡A¥¦¬O¬õ¦â®Ñ¥Öªº¡A²Ä¤@ª©ªº¤£¬O¡C
³o¥»®Ñ²[»\¤F¤@¨Ç°ò¦ªºªF¦è¡A¥]¬A TCP/IP¡ADNS¡ANFS¡ASLIP/PPP¡A
sendmail¡AINN/NNTP¡Aprinting¡Aµ¥¡C³o¥»®ÑÆZ¶Qªº (¤j¬ù
US$45-$55) ¡A¤£¹L¥¦ªº½T¦³³oÓ»ùÈ¡C¥¦¤]ªþ¤F¤@¤ù¤º§t¤@¨Ç
¤u¨ãµ{¦¡ì©l½Xªº CDROM¡F¤j³¡¥÷ªºªF¦è¦b FreeBSD 2.2.6R ªº CDROM ¸Ì¤]¦³ (
³q±` FreeBSD CDROM ¸Ìªº¬O¤ñ¸û·sª©ªº) ¡C
§Ún¦p¦ó¥h¦s¨ú±z̪º¿ù»~¦^³ø¸ê®Æ®w©O¡H
©Ò¦³¨Ï¥ÎªÌ open ªºÅܧón¨D³£¥i¥H¸g¥Ñ§ÚÌ web ¬É±ªº PR
submission ¤Î
query
¨Ó¬d¸ß (©Î¬O¦^³ø) §Ú̪º¿ù»~¦^³ø¸ê®Æ®w¡Csend-pr(1) ³oÓ«ü¥O¤]
¥i¥H¸g¥Ñ¹q¤l¶l¥ó¨Ó¦^³ø¿ù»~©Î¬On¨DÅܧó¡C
¨º¸Ì¥i¥H§ä¨ì ASCII ©Î¬O PostScript ª©ªº FAQ¡H
³Ì·sªº FAQ ¥i¥H±q FreeBSD ºô¯¸©Î¬O¥ô¦ó¤@Ó mirror ¯¸»O¨ú±o¡A¤£½×¬O
PostScript ©Î¬O¯Â¤å¦rªº (¥]¬A 7 bit ASCII ¥H¤Î 8-bit Latin1) ³£¦³¡C
PostScript ®æ¦¡ (¤j¬ù 370KB)¡G
http://www.FreeBSD.org/FAQ/FAQ.ps
ASCII ®æ¦¡ (¤j¬ù 220KB)¡G
http://www.FreeBSD.org/FAQ/FAQ.ascii
ISO 8859-1 ®æ¦¡ (¤j¬ù 220KB)¡G
http://www.FreeBSD.org/FAQ/FAQ.latin1
¨º¸Ì¥i¥H§ä¨ì ASCII ©Î¬O PostScript ª©ªº¨Ï¥Î¤â¥U¡H
³Ì·sªº FAQ ¥i¥H±q FreeBSD ºô¯¸©Î¬O¥ô¦ó¤@Ó mirror ¯¸»O¨ú±o¡A¤£½×¬O
PostScript ©Î¬O¯Â¤å¦rªº (¥]¬A 7 bit ASCII ¥H¤Î 8-bit Latin1) ³£¦³¡C
PostScript ®æ¦¡ (¤j¬ù 1.7MB)¡G
http://www.FreeBSD.org/handbook/handbook.ps
ASCII ®æ¦¡ (¤j¬ù 1080KB)¡G
http://www.FreeBSD.org/handbook/handbook.ascii
ISO 8859-1 ®æ¦¡ (¤j¬ù 1080KB)¡G
http://www.FreeBSD.org/handbook/handbook.latin1
ASCII ª©ªº¨Ï¥Î¤â¥U¤£¬O¯Â¤å¦rÀÉ¡I
¬Oªº¡AASCII ©M Latin1 ®æ¦¡ªº FAQ ¥H¤Î¨Ï¥Î¤â¥UÄY®æ¨Ó»¡¨Ã¤£¯àºâ¬O¯Â
¤å¦rÀÉ¡F¥¦Ì¥]§t¤F¤@¨Ç¦L¥X©³½u¥H¤Î«ÂЦC¦Lªº±±¨î½X¥H«K¯àª½±µ¥ÑÂI¯x°}
¦¡¦Lªí¾÷¿é¥X¡C¦pªG±z·Q§â¥¦ÌÂন¤@¯ëªº¤å¦rÀɪº¸Ü¡A¥i¥H§Q¥Î col¡G
$ col -b < inputfile > outputfile
§Ú·Q¦¨¬° FreeBSD ªº mirror ¯¸»O¡I
·íµM¥i¥H¡I¦³«Ü¦h¤èªk¥i¥H mirror §Ú̪ººô¶¡C
§Q¥Î CVSUP¡G±z¥i¥H§Q¥Î CVSUP ±q cvsup.FreeBSD.org ¨ú±o®æ¦¡¤Æ
¹LªºÀɮסC±z¥u»Ýn§â¤U±³o¦æ¥[¤J±zªº cvsup ³]©wÀÉ¡G
www release=current hostname=/home base=/usr/local/etc/cvsup
prefix=/usr/local/www/data/www.FreeBSD.org delete old use-rel-suffix
§Q¥Î rsync¡G½Ð°Ñ¾\
the mirroring page ¥HÀò±o§ó¦h¸ê°T¡C
§Q¥Î ftp mirror¡G±z¥i¥H§Q¥Î±z³ßÅwªº ftp mirror ¤u¨ã±q FTP ¯¸
»O¤¤¨ú±oºô¶¸ê®Æ¡C´N±q
ftp://ftp.FreeBSD.org/pub/FreeBSD/FreeBSD-current/www ¶}©l§a¡C
§Ú·Qn½Ķ¤å¥ó
¶â¡A§Ų́S¯à¤Oµ¹±zÁ~¤ô¡A¤£¹L¦pªG±z¯à´£¨Ñ½Ķ¦nªº¤å¥óªº¸Ü¡A§ÚÌ·|°e
±z CD ©Î¬O T-shirt¡A¨Ã§â±z¥[¤J¨Ï¥Î¤â¥U¸Ì Contributor ªº¦æ¦C¡C
¨ä¥L¸ê°T¨Ó·½
¤U¦C newsgroups ¤¤¥]¬A¤F FreeBSD ¬ÛÃöªº°Q½×¡G
comp.unix.bsd.freebsd.announce (moderated)
comp.unix.bsd.freebsd.misc
comp.unix.bsd.misc
ºô¶¸ê·½¡G
The FreeBSD Home Page.
¦pªG±z¦³½¥¤W«¬¹q¸£ (laptop) ªº¸Ü¡A§O§Ñ¤F¥h¬Ý¬Ý
¦ì©ó¤é¥»ªº
Tatsumi Hosokawa's Mobile Computing page¡C
SMP (¥¦æ¦h³B²z¾¹¬[ºc) ªº¬ÛÃö¸ê°T½Ð¬Ý
SMP support page¡C
¦³Ãö FreeBSD ¦h´CÅé¤è±ªºÀ³¥Îµ{¦¡¡A½Ð¬Ý
multimedia¡C¦pªG±z¹ï Bt848 ³oÓ¼v¹³Â^¨ú´¹¤ù¯S§O¦³¿³½ìªº¸Ü¡A
½Ð¬Ý³oÓºô¶¡C
FreeBSD ¨Ï¥Î¤â¥U¤]¦³¤@¤À«Ü§¹¾ãªº
°Ñ¦Ò®ÑÄy¦Cªí¡A¦pªG±z
¥¿·Q¶R®Ñªº¸Ü¡A³o³¡¥÷ȱo¤@¬Ý¡C
¦w¸Ë FreeBSD
§Ú¸Ó¤U¸üþ¨ÇÀÉ®×¥H¨ú±o FreeBSD¡H
³q±`§A¥u»Ýn¤@±i³nºÐ image ÀÉ¡Afloppies/boot.flp¡A§â¥¦«þ
¨©¨ì 1.44MB ³nºÐ¤ù¤WµM«á±Ò°Ê¥¦¡A¦A¥h¤U¸ü¨ä¥Lªº³¡¥÷(¦w¸Ëµ{§Ç·|ºÞ
²z§Aªº TCP/IP ³s½u¡A¥H¤Î tapes¡A¥úºÐ¾÷¡A³nºÐ¾÷¡ADOS ¤À³Î°Ï¡A¤Î
¨ä¥L¥un¬O¦w¸Ë¹Lµ{¤¤»Ýn¥Î¨ìªº¨Æª«)¡C
Y§A¥u»Ýn¦Û¤v¤U¸ü distributions(¥i¨³³tªº¥Ñ DOS Àɮרt²Î¨Ó¦w¸Ë)
¡A¥H¤U¬O§ÚÌ«Øij§A§ì¨Ó¦w¸Ëªº distributions¡G
bin/
manpages/
compat*/
doc/
src/ssys.*
¦w¸Ëµ{§Çªº§¹¾ã«ü¥O¡A¥H¤Î§ó¦h´¶¹M©Ê¦w¸Ë®É·|¸I¨ìªº°ÝÃD¥i¥H¦b
Handbook entry on installing FreeBSD.³o¸Ì§ä¨ì¡C
±Ï©R¡I±Ò°Êªº³nºÐ image ÀɵLªk¶ë¨ì¤@¤ù³æ¿Wªº³nºÐ¤ù¸Ì¡I
¤@±i 3.5 ^¦T(1.44MB)³nºÐ¤ù¥i¥H®e¯Ç 1474560 ¦ì¤¸²Õªº¸ê®Æ¡C
±Ò°Êªº image ÀÉ´Nè¦n¬O³oÓ¤j¤p¡C
¦b·Ç³Æ±Ò°Ê³nºÐ¤ù®É±`¨£ªº¿ù»~¦³¡G
¨Ï¥Î FTP ®É¨S¦³¨Ï¥Î binary ¼Ò¦¡¤U¸ü³nºÐ
image¡C
¬Y¨Ç FTP client ³nÅ饦̤º©wªº¶Ç¿é¼Ò¦¡¬O ascii
¨Ã¥B¸ÕµÛ§ó§ï¥ô¦óªº end-of-line ¦r¤¸¡A¥H²Å¦X³oÓ client ¨t²Î
¥»¨ªºÂà´«¡C¤j³¡¤À±¡§Î¤U³o¥²µM·|·´·l±Ò°Ê image ÀÉ¡AÀˬd¤@¤U
§A¤U¸üªº±Ò°Ê image Àɤj¤p¡G¦pªG³o¤£¬O§¹¥þ¦a»P server
ºÝ¤Wªº¤j¤p¬Û¦P¡A¨º»ò§Aªº¤U¸üµ{§Ç´N¦³°ÝÃD¡C
¸Ñ¨M¤èªk¡G¦b§A³s±µ¤W server ¦ý©|¥¼¶}©l¤U¸ü¬M¹³Àɤ§«e¡A
¬Ý¨ì FTP ©R¥O´£¥Ü¸¹®É¥´ binary¡C
¨Ï¥Î DOS ªº copy ©R¥O(©Îµ¥®Äªº GUI ¤u¨ã)¨Ó§â±Ò
°Ê image Àɶǰe¨ì³nºÐ¤ù¡C
Ãþ¦ü¹³ copy ªºµ{¦¡¡A¦b±Ò°Ê image ÀɳQ«Ø¥ß¨Ã¥Bª½±µ
¶}¾÷«á¨Ã¨S¦³¥\¥Î¡C¬M¹³Àɸ̦³§¹¾ãªººÏºÐ¤º®e¡AºÏy¹ïºÏy¡A³o¥N
ªíµÛ§AµLªk¥ÎºÏ¤ù¤W©T©wªºÀÉ®×¥h¨ú¥N¥¦¡C
§A¥²¶·§â¥¦¶Ç°e¨ì³nºÐ¤ùªº``raw''¤W¡A¨Ï¥Î§C¶¥¤Æ¤u¨ã(¹³¬O
fdimage ©Î rawrite)¡A³o¨Ç¦b
installation guide to FreeBSD¸Ì±¦h¦³´yz¡C
¦w¸Ë FreeBSD ªº«ü¥O¦bþ¸Ì¡H
§A¥i¥H¦b³o¸Ì§ä¨ì¦w¸Ë«ü¥O¡C
Handbook entry on installing FreeBSD.
n°õ¦æ FreeBSD §ÚÁÙ»Ýn¤°»ò¡H
§A»Ýn¤@¥x 386 ©Î§ó¦nªº PC¡A¥]§t 5MB ©Î§ó¦hªº RAM ¥H¤Î¦Ü¤Ö 60MB
ªººÏºÐªÅ¶¡¡C¥i¥H¶È¨Ï¥Î¤@Ó§C¶¥ªº MDA ¹Ï§Î¥d¡A¦pªG§An°õ¦æ X11R6
¡A´N»Ýn VGA ©Î§ó¦nªºµø°T¥d¡C
¥ç°Ñ¦Ò³oÓ³¹¸`
§Ú¥u¦³ 4MB RAM¡A¨º§Ú¯à¦w¸Ë FreeBSD ¶Ü¡H
FreeBSD 2.1.7 ¬O³Ì«á¤@Ó¥i¦b 4MB ¨t²Î¤W³Q¦w¸Ëªºª©¥»¡C·sª©ªº
FreeBSD¡A¹³¬O 2.2¡A»Ýn¦Ü¤Ö 5MB ¨Ó¦w¸Ë¥¦¦b¤@Ó¥þ·sªº¨t²Î¤W¡C
FreeBSD ªº©Ò¦³ª©¥»¡A¥]¬A 3.0¡A³£¯à¦b 4MB ªº°O¾ÐÅé¤U°õ¦æ¡A¤£
¹L¦w¸Ë®É¤£¯à¥u¥Î 4MB¡C¦pªG§A·Q³o¼Ë¡A§A¥i¥H¦b¦w¸Ë®É¥[¤JÃB¥~ªº
°O¾ÐÅé¡AµM«áµ¥¨t²Î¥i¥H°õ¦æ«á¡A´«¦^ 4MB¡C©Î¬O§A¥i¥H§â§AªººÏºÐ
¾÷¤Á¥X¤@Ó 4MB ¥H¤W¸m´«ªÅ¶¡¡A¦w¸Ë¦n¨t²Î«á¦A§â¸m´«ªÅ¶¡¬å±¼¡C
FreeBSD 2.1.7 ¤]¦³¤£¯à¦b 4MB ¦w¸Ëªº±¡§Î¡C¥¿½Tªº»¡¡AÀ³¸Ó¬O«ü
¤£¯à¦b°ò¥»ªº 640kB ¥[¤W 3MB ©µ¦ù°O¾ÐÅé¸Ì¦w¸Ë¡C¦pªG§Aªº¥D¾÷ªO
¥i¥H«·s§ä¦^¦b 640kB ¨ì 1MB ½d³ò¤¤¨º¨Ç``¿ò¥¢''ªº°O¾ÐÅé¡A¨º»ò
©Î³\§AÁÙ¬O¥i¥H§â FreeBSD 2.1.7 ¸Ë°_¨Ó¡C
¸ÕµÛ¶i¤J§Aªº BIOS ³]©w¿ï³æ¨Ã§ä¤@Ó``remap''¿ï¶µ¡A§â¥¦¥´¶}¡C
§A©Î³\¤]¸Ó§â ROM shadowing µ¹Ãö±¼¡C
¥u¦b¦w¸Ë®É¨Ï¥Î 4MB ¥i¯à®e©ö¤@ÂI¡A«Ø¥ß¤@Ó¥u¦³§A»Ýnªº¿ï¶µªº
®Ö¤ßµ{¦¡¡AµM«á´N¥i¥H¥u¥Î 4MB¡C
§A¤]¥i¥H¦w¸Ë 2.0.5 µM«á¦A§â§Aªº¨t²Î¥Î 2.1.7 ¦w¸Ëµ{¦¡¸Ì
``upgrade''ªº¿ï¶µ¤É¯Å¨ì 2.1.7 ª©¥»¡C
¦w¸Ë«á¦pªG§A«Ø¥ß¤@Ó¦Ûqªº®Ö¤ß¡A³o±N·|¦b 4MB ¤U°õ¦æ¡C´¿¦³
¤H¦¨¥\ªº¥Î 2MB ¶}¾÷(¤£¹L¨t²Î´X¥G¤£¯à¥Î :-))¡C
§Ú¸Ó«ç»ò»s§@¦Ûqªº¦w¸Ë³nºÐ¤ù¡H
¥Ø«e§AµLªk*¥u*»s§@¤@Ó¦Ûqªº¦w¸Ë³nºÐ¤ù¡C§A¥²¶·°µ¥X¾ãÓ¥þ·sªº
release ¨t²Î¡A³o¸Ì±´N¥]¬A§Aªº¦w¸Ë³nºÐ¤ù¡C¬Y¨Ç¦b
/usr/src/release/floppies/Makefile ¸Ìªºµ{¦¡½X°²³]¯àÅý
§A*¥u*°µ¥X¨º¨Ç³nºÐ¤ù¡A¦ý¬O¨Æ¹ê¤WÁÙ¤£¦æ¡C
n°µ¥X¦Ûqªº release ª©¥»¡A½Ð¿í´`
ªº«ü¥O¡C
§Ú¥i¥H¦b§Úªº PC ¤W¾Ö¦³¶W¹L¤@Ó¥H¤Wªº§@·~¨t²Î¶Ü¡H
½Ð°Ñ¦Ò The multi-OS page.
Windows 95 ¥i¥H¸ò FreeBSD ¨Ã¦s¶Ü¡H
¥ý¦w¸Ë Windows 95¡AµM«á¦A¸Ë FreeBSD¡CFreeBSD ªº±Ò°ÊºÞ²zû
·|±µµÛºÞ²z±Ò°Ê Win95 ©M FreeBSD ªº¤u§@¡C°²¨Ï§A²Ä¤GÓ¤~¥h¸Ë
Win95¡A¥¦±N·|°Ý³£¤£°Ýªº²Ê¾|¦a§â§Aªº±Ò°ÊºÞ²zûÂмg¹L¥h¡C°²
¦p³o¤w¸gµo¥Í¡A½Ð¬Ý¤U¤@¸`¡C
Windows 95 §â§Úªº±Ò°ÊºÞ²zû±þ±¼¤F¡I§Ú¸Ó«ç»ò§â¥¦±Ï¦^¨Ó¡H
§A¥i¥H¥Î¥H¤U¨âºØ¤èªk¤§¤@¨Ó«·s¦w¸Ë FreeBSD ªº±Ò°ÊºÞ²zû¡G
°õ¦æ DOS¡A¶i¤J§Aªº FreeBSD distributions ªº tools/ ¥Ø¿ý
¨Ã§ä¨ì bootinst.exe¡C§A¥i¥H³o¼Ë°õ¦æ¥¦¡G
bootinst.exe boot.bin
³o¼Ë±Ò°ÊºÞ²zû±N·|¦A¦¸³Q¦w¸Ë¡C
¥Î FreeBSD ±Ò°Ê³nºÐ¤ù¦A¦¸¶}¾÷µM«á¶i¤J Custom ¦w¸Ë¿ï³æ
¶µ¥Ø¡A¿ï¾Ü Partition¡A¿ï¾Ü¨ºÓ¥]§t±Ò°ÊºÞ²zûªººÏºÐ¾÷(¤j¦h¬O
²Ä¤@Ó)¡AµM«á·í¤À³Î°Ï½s¿è¾¹(partition editor)¥X²{®É¡A²Ä¤@¥ó
¨Æ(·N«ä´N¬O¡G¤£n°µ¥ô¦ó§ó§ï) ¥ý¿ï¾Ü (W)rite¡C·|¥X²{½T»{ªº¸ß
°Ý¡A¦^µª yes¡AµM«á·í§A¬Ý¨ì Boot Manager ªº¿ï¾Ü´£¥Ü®É¡A½T©w
§A¿ïªº¬O"Boot Manager"³o¶µ¡C
³o·|§â±Ò°ÊºÞ²zû«·s¼g¦^ºÏºÐ¸Ì¡C¸õÂ÷¦w¸Ë¿ï³æµM«á´N¸ò¥¿±`±¡§Î
¤@¼Ë«·s±Ò°ÊµwºÐ¡C
§Ú¥i¥H¦b¤@Ó¦³Ãay(bad blocks)ªººÏºÐ¤W¶i¦æ¦w¸Ë¶Ü¡H
FreeBSD ªº bad block (bad144
©R¥O) ³B²z¨Ã«D 100% §¹¥þ(¥Î¹Ï§Î¤Æ¨Ó¬Ý)¡A¦Ó¥B«Ü¤£©¯§Ún§i
¶D§A°²¦p§A¦³¤@Ó IDE ©Î ESDI ¸Ë¸m¥]§t¤j¶qªº bad blocks¡A¨º»ò
FreeBSD ¥i¯à¤£¾A¦X§A¡I³oªí¥Ü¡A¹ï¨ä¥L¤j¦h¼Æªº IDE ¨t²Î¥i¯à¦³
¥Î¡A§A¥i¯à·Q¦b©ñ±ó«e¥ý¹Á¸Õ¬Ý¬Ý¡C
¦pªG§A¦³¤@Ó¦³ bad blocks ªº SCSI ¸Ë¸m¡A½Ð¬Ý .
·í§Ú±Ò°Ê¦w¸Ë³nºÐ¤ù®É¡A©_©Çªº¨Æ±¡µo¥Í¤F¡I
¦pªG§A¬Ý¨ì©_©Çªº¨Æ±¡¡A¹³¬O¾÷¾¹°±¦í¤F©Î¬O·í§A¸ÕµÛ±q¦w¸ËºÏ¤ù°_
°Ê®É¬ðµM¦Û°Ê«·s¶}¾÷¤F¡A³o¸Ì¦³¤TÓ°ÝÃD§A¸Ó¥ý°Ý°Ý¦Û¤v:-
§A¬O§_¨Ï¥Î¤@Ó·sªº¡Aè®æ¦¡¤Æ¹L¡A¨S¦³¥ô¦ó¿ù»~ªº³nºÐ¤ù(¥i
¥H¬O¤@±i¥þ·sè©î«Êªº¡A¦Ó«D¬O¨ººØ¤w¸g§Aªº§É¤U½ö¤F¤T¦~¡A¬OÂø»xÃØ
°eªº«Ê±ºÏ¤ù)¡H
§A¬O§_¥Î binary ¼Ò¦¡¤U¸ü³nºÐ¬M¹³ÀÉ¡H
(¤£¥Î¤£¦n·N«ä¡A´Nºâ¬O§Ṳ́§¤¤³Ì¦nªº¤@Ó¤H¤]´¿·N¥~ªº§â binary
ÀɥΠASCII ¼Ò¦¡¤U¸ü¦Ü¤Ö¤@¦¸¡I)
¦pªG§A¥¿¦b¨Ï¥Î¹³¬O Windows95 ©Î Windows NT ³o´XºØ·s«¬ªº
§@·~¨t²Î¡A§A¦³¨S¦³§â¨t²ÎÃö¾÷µM«á±Ò°Ê¨ì³Ìì©lª¬ºA¡A¥u¦³ DOS¡H
³o¨Ç OS ¬Ý°_¨Ó·|ªý꨺¨Çª½±µ¾Þ§@µwÅ骺µ{¦¡¡A¹³¬O«Ø¥ßºÏºÐªºµ{¦¡
¡A¥un¦b GUI Àô¹Ò¤Uªº DOS shell ´N·|¾ÉP³oÓ°ÝÃD¡C
¤]¦³¹L³ø§i¦³Ãö Netscape ·|¾ÉP¤U¸ü±Ò°Ê³nºÐªº°ÝÃD¡A¦]¦¹¦pªG§A
¥i¥H¡A³Ì¦n¨Ï¥Î§OºØ¤£¦Pªº FTP client ¡C
±Ï©R¡I§Ú¤£¯à±q tape ¦w¸Ë¡I
¦pªG§A±q tape ¦w¸Ë 2.1.7¡A§A¥²¶·¥Î¨CÓ tar blocksize ¬O 10
(5120 bytes)«Ø¥ß³oÓ tape¡C¤º©wªº tar blocksize ¬O 20(10240
bytes)¡AµM¦Ó¥Î³oºØ¤º©w¤j¤p«Ø¥ßªº tape µLªk¥Î¨Ó¦w¸Ë 2.1.7R¡F
¦pªG§A¥Î³oºØ tapes¡A§A·|¬Ý¨ì¦³Ãö¸ê®Æ°O¿ý°Ï¤j¤p¹L¤jªº©ê«è°T
®§¡C
¥Î¤@±ø¨ÃÁp½u(PLIP)³s±µ¨â¥x FreeBSD¡C
§ä¤@±ø laplink ½u¡A½T©w¨âÃä¹q¸£ªº®Ö¤ß³£¤ä´© lpt ÅX°Êµ{¦¡¡C
$ dmesg | grep lp
lpt0 at 0x378-0x37f irq 7 on isa
lpt0: Interrupt-driven port
lp0: TCP/IP capable interface
§â laplink ½u´¡¤J¨ÃÁp¬É±¤W¡C
¥Î root ¨¤À¦b¨â¥x¹q¸£¤W³]©w lp0 ªººô¸ô¬É±°Ñ¼Æ¡CÁ|¨Ò¡A¦pªG
§A·Q¥Î max ³s±µ moritz¡G
max <-----> moritz
IP Address 10.0.0.1 10.0.0.2
max ºÝÀ³¸Ó³o¼Ë¶}©l¡G
# ifconfig lp0 10.0.0.1 10.0.0.2
moritz «h³o¼Ë¡G
# ifconfig lp0 10.0.0.2 10.0.0.1
¦n¤F¡I¤]½Ð§A¬Ý¬Ý lp(4) ©M lpt(4) ªº manpages¡C
§A¤]¸Ó§â³o¨Ç¥D¾÷¥[¨ì /etc/hosts ¸Ì±¡C
127.0.0.1 localhost.my.domain localhost
10.0.0.1 max.my.domain max
10.0.0.2 moritz.my.domain moritz
¥Î¥H¤U¤èªkÀˬd¬O§_¦³¥¿±`°Ê§@¡G
on max:
$ ifconfig lp0
lp0: flags=8851<UP,POINTOPOINT,RUNNING,SIMPLEX,MULTICAST> mtu 1500
inet 10.0.0.1 --> 10.0.0.2 netmask 0xff000000
$ netstat -r
Routing tables
Internet:
Destination Gateway Flags Refs Use Netif Expire
moritz max UH 4 127592 lp0
$ ping -c 4 moritz
PING moritz (10.0.0.2): 56 data bytes
64 bytes from 10.0.0.2: icmp_seq=0 ttl=255 time=2.774 ms
64 bytes from 10.0.0.2: icmp_seq=1 ttl=255 time=2.530 ms
64 bytes from 10.0.0.2: icmp_seq=2 ttl=255 time=2.556 ms
64 bytes from 10.0.0.2: icmp_seq=3 ttl=255 time=2.714 ms
--- moritz ping statistics ---
4 packets transmitted, 4 packets received, 0% packet loss
round-trip min/avg/max/stddev = 2.530/2.643/2.774/0.103 ms
§Ú¥i¥H¦b§Úªº½¥¤W«¬¹q¸£¥Î PLIP(Parallel Line IP)¦w¸Ë¶Ü¡H
¥Î laplink ¨ÃÁp½u³s±µ¨â¥x¹q¸£¥H¨Ï¥Î³oÓ¯S©Ê¡G
+----------------------------------------+
|A-name A-End B-End Descr. Port/Bit |
+----------------------------------------+
|DATA0 2 15 Data 0/0x01 |
|-ERROR 15 2 1/0x08 |
+----------------------------------------+
|DATA1 3 13 Data 0/0x02 |
|+SLCT 13 3 1/0x10 |
+----------------------------------------+
|DATA2 4 12 Data 0/0x04 |
|+PE 12 4 1/0x20 |
+----------------------------------------+
|DATA3 5 10 Strobe 0/0x08 |
|-ACK 10 5 1/0x40 |
+----------------------------------------+
|DATA4 6 11 Data 0/0x10 |
|BUSY 11 6 1/0x80 |
+----------------------------------------+
|GND 18-25 18-25 GND - |
+----------------------------------------+
½Ð°Ñ¦Ò Mobile Computing ºô¶ªº ³oÓµù¸Ñ¡C
§Ú¸Ó«ç»ò¨Ï¥Î¤@ӺϺи˸mªº geometry¡H
(¤@¥xºÏºÐªº"gromrtry"¡A§ÚÌ«üªº¬O³o¥xºÏºÐ¤W cylinders¡Aheads
©M sectors/track ªº¼Æ¥Ø - ¬°¤F¤è«K¥BºÙ¤§¬° C/H/S¡C³o¬O PC ªº
BIOS ¥Î¨ÓŪ/¼gºÏºÐªº¨Ì¾Ú)¡C
¬°¤F¬Y¨Ç²z¥Ñ¡A³o¦ü¥G·|¾ÉP«Ü¦h§xÂZ¡Cº¥ý¡A¤@¥x SCSI ¸Ë¸mªº
physical geometry ¸ò FreeBSD ¦b¨Ï¥Îªº disk blocks ¬O§¹
¥þµLÃöªº¡C¨Æ¹ê¤W¡A¨Ã¨S¦³©Ò¿×"physical geometry"³oºØªF¦è¡A³o
¬O«üºÏºÐ¾÷¤WºÏ°Ï±K«×ªºÅÜ¤Æ - »s³y°Ón¨D¬O"¯u¹êªº"physical
geometry ³q±`¬O«ü¡A¥LÌ©Ò¯à§ä¥X®ö¶O³Ì¤ÖªÅ¶¡ªº geometry µ²ªG¡C
¹ï IDE ºÏºÐ¨Ó»¡¡AFreeBSD ¨Ï¥Î C/H/S ¤è¦¡¤u§@¡A¦ý¬O©Ò¦³²{¦b
ªººÏºÐ¤w¸g¦b¤º³¡°Ñ¦Ò®É§â¥¦Âà´«¦¨ block ¤F¡C
¥t¥~´N¬O©Ò¿×ªºlogical geometry - ³o¬O·í BIOS °Ý"§Aªº
geometry ¬O¤°»ò¡H"ªº®ÉÔ¡A©Ò±o¨ìªºµª®×¨Ã¥B§â¥¦¥Î¨Ó¦s¨úºÏºÐ¡C
·í¶}¾÷®É FreeBSD ¨Ï¥Î BIOS ¸ê®Æ¡AÅý³oÓ¥¿½T¬O¬Û·í«nªº¡C¥t¥~
¡A¦pªG§A¦b¦P¤@ӺϺо÷¤W¦³¤@Ó¥H¤Wªº§@·~¨t²Î¡A¥LÌ¥²¶·³£¦P·N
grometry¡A§_«h§A¦b¶}¾÷®É·|¦³¤j°ÝÃD¡I
¹ï SCSI ºÏºÐ¾÷¨Ó»¡¡Ageometry ªº¨Ï¥Î¬O¨Ì¾a±Ò°Ê±±¨î¾¹¨Ó¤ä´©
extended translation (³o³q±`ºÙ¤§¬°"¹ï>1GB DOS ºÏºÐ¾÷
ªº¤ä´©©Î"Ãþ¦üªººÙ©I)¡C¦pªG¤£¤ä´©¡A¨º»ò¨Ï¥Î N cylinders¡A64
heads ©M 32 sectors/track¡A³o¸Ì'N'¬O«üºÏºÐ¾÷ªº MB ®e¶q¡CÁ|¨Ò
¨Ó»¡¡A¤@Ó 2GB ªººÏºÐ¾÷À³¸Ó°²³]¥¦¦³ 2048 cylinders¡A64 heads
©M 32 sectors/track¡C
¦pªG¥¦½T©w¬O ¥´¶}ªº(³q±`´£¨Ñ³oºØ¤èªk¦b MSDOS ¤U¦³¬Y¨Ç
¨î)¡A¨Ã¥BºÏºÐ®e¶q¶W¹L 1GB¡A¨Ï¥Î M cylinders¡A¨CÓ track 63 sectors
(*¦Ó«D* 64)¡A¥H¤Î 255 heads¡A³o¸Ì 'M' ¬O¨C MB ªººÏºÐ®e¶q°£¥H
7.844238 (!)¡C©Ò¥H§Ú̪º³oÓ½d¨Ò¡A2G ºÏºÐ¾÷´N¦³ 261 cylinders¡A
¨CÓ track 63 sectors ¥H¤Î 255 heads¡C
¦pªG§A¤£½T©w¥H¤W³oÓ¡A©Î¬O FreeBSD ¦b¦w¸Ë¹Lµ{¤¤n°»´ú geometry
ªº¥¿½T©Ê®É¥¢±Ñ¤F¡A³Ì²³æªº¸Ñ¨M¤èªk³q±`¬O¦bºÏºÐ¤W«Ø¥ß¤@Ó¤pªº DOS
¤À³Î°Ï¡C¥¿½Tªº geometry À³¸Ó¯à³Q°»´ú¨ì¡]¦Ó¥B¦pªG§A¤£·Q«O¯d¥¦¡A
§AÁ`¬O¥i¥H¦b¤À³Î°Ï½s¿è¾¹¸Ì§â³oÓ DOS ¤À³Î°Ï²¾°£±¼¡A©Î¬O§â¥¦¯d¤U
¨Ó¡Aµ¹µ{¦¡¤Æºô¸ô¥d¨Ï¥Î©ÎÀH§A°ª¿³«ç»ò¥Î¥¦¡^¡C
¥t¥~¡A¦³¤@Ó§K¶O¦Ó¦³¥Îªº¤½¥Îµ{¦¡¥s ``pfdisk.exe'' ÀHµÛ
FreeBSD ´²¼½¥X¨Ó¡]¦ì©ó FreeBSD CDROM ªº tools ¤l¥Ø¿ý
¤U©Î¬O¦b¤j¦h¼Æªº FreeBSD ftp ¯¸¥x¤º¥i§ä¨ì¡^¡A³oÓµ{¦¡¥i¥Î¨Ó§ä
¥X¥t¤@§@·~¨t²Î¥¿¦b¨Ï¥ÎºÏºÐ¾÷¤Wªºþ¶ô geometry¡CµM«á§A´N¥i¥H¦b
¤À³Î°Ï½s¿è¾¹¸Ì±¿é¤J¥¦¡C
·í§Ú¤À³ÎºÏºÐ¾÷®É¦³¥ô¦ó¨î¶Ü¡S
¬Oªº¡C§A¥²¶·½T»{§Aªº root ¤À³Î°Ï¬O¦b 1024 cylinders ¤§¤º¡AÅý
BIOS ¥i¥H±q¨ä¤¤±Ò°Ê®Ö¤ß¡C(ª`·N¡G³o¬O PC ªº BIOS ¥\¯à¨î¡A¦Ó¤£
¬O FreeBSD ªº)
¹ï SCSI ¸Ë¸m¨Ó»¡¡A³o³q±`·t¥ÜµÛ root ¤À³Î°Ï±N©ñ¦b¶}©lªº 1024
MB(©Î¬O¶}©lªº 4096MB¡A¦pªG extended translation ¬O¥´¶}ªº - ½Ð
°Ñ¦Ò«e¤@¸`)¡C¹ï IDE ¨Ó»¡¡A¬ÛÃöªº³¡¥÷¬O 504MB¡C
¥i¥H¨Ï¥ÎºÏºÐºÞ²zµ{¦¡(disk managers)¶Ü¡S©Î¬O¡A§Ú¦³¤@Ó¥¨¤jªººÏºÐ¾÷¡I
FreeBSD »{ÃÑ Ontrack Disk Manager ¨Ã¥B¤¹³\¨Ï¥Î¥¦¡A¨ä¥Lªº disk
managers «h¤£¦b¤ä´©¤§¦C¡C
¦pªG§A¥u·Q¦bºÏºÐ¾÷¤W¨Ï¥Î FreeBSD ¨º»ò§A®Ú¥»¤£»Ýn disk manager¡C
¥un§âºÏºÐ³]©w¦¨ BIOS ¯à§ì¨ìªº³Ì¤jªÅ¶¡(³q±`¬O 504 megabytes)¡A¨º»ò
FreeBSD À³¸Ó´N¥i¥Hºâ¥X§A¨Æ¹ê¤W¾Ö¦³¦h¤ÖªÅ¶¡¡C¦pªG§A¥¿¨Ï¥Î¤@Ó MFM
±±¨î¾¹¨Ó±±¨îªº¦ÑºÏºÐ¡A§A¥i¯à»Ýn©ú¥Õªº§i¶D FreeBSD n¨Ï¥Î¦h¤ÖÓ
cylinders¡C
¦pªG§A·Q¦bºÏºÐ¤W¨Ï¥Î FreeBSD ©M¥t¤@Ó§@·~¨t²Î¡A§A¥i¯à¤£»Ýn
disk manager¡G¥un½T©w FreeBSD ªº±Ò°Ê¤À³Î°Ï¸ò¨ä¥L§@·~¨t²Îªº
slice ³£¦ì©ó¶}©lªº 1024 cylinders ¤º¡C¦pªG§A¬Û·í¦a¤p¤ß¡A¤@Ó
20 megabytes ªº±Ò°Ê¤À³Î°ÏÀ³¸Ó´N°÷¤F¡C
·í§Ú±Ò°Ê FreeBSD¡A§Ú¬Ý¨ì ``Missing Operating System''
³o¬O¤@Ө嫬ªº±¡§Î¡A¦³Ãö FreeBSD ¥H¤Î DOS ©Î¨ä¥L¦bºÏºÐ³B²z¤èªk
¤W¦³½Ä¬ðªº OS ¡C§A»Ýn«·s
¦w¸Ë FreeBSD¡A¦ý¬O½Ð¿í·Ó¤W±©Ò´£¨ìªº«ü¥OÀ³¸Ó´N¥i¥H¤F¡C
§Ú¬Ý¤£¨ì boot manager ªº 'F?' ´£¥Ü¸¹¡C
³o¬O«e¤@¶©Ò´yz°ÝÃDªº¥t¤@Ó¼x¥ü¡C§Aªº BIOS geometry ©M FreeBSD
ªº geometry ³]©w¤£¬Û¦P¡I¦pªG§Aªº±±¨î¾¹©Î BIOS ¤ä´© cylinders
translation (³q±`³Q¼Ð¥Ü¦¨``>1GB drive support'')¡A¸ÕµÛ§â³oÓ
³]©w¥´¶}µM«á«·s¦w¸Ë FreeBSD¡C
§Ú¦³ >16MB RAM¡C³o·|¾ÉP¥ô¦ó°ÝÃD¶Ü¡S
±q®Ä¯àªº¨¤«×¨Ó¬Ý¡A¤£·|¡CFreeBSD 2.X ¤º§t bounce buffers¡A³o¤¹³\
§Aªº bus mastering controller ¦s¨ú¶W¹L 16MB¡C(ª`·N¦pªG§A¥¿¨Ï¥Î
ISA ¸Ë¸m³oÀ³¸Ó¬O¥²»Ýªº¡A¾¨ºÞ¤@өΨâӧ󦪺 EISA ©M VLB ¸Ë¸m¤]
¥i¯à»Ýn¥¦)¡C
¤]½Ð°Ñ¦Ò
³o¸`¡A°²¦p§A¦³³o»ò¦h°O¾ÐÅé¡A©Î§A¨Ï¥Îªº¬O Compaq ©Î¬O¨ä¥L¯à³B²z
³o»ò¦h¦³¥Î°O¾ÐÅ骺¾÷¾¹¡C
§Ú»Ýn¦w¸Ë§¹¾ãªºì©lµ{¦¡(sources)¶Ü¡S
³q±`¬O¤£»Ýn¡CµM¦Ó¡A·|±j¯P«Øij§A¦Ü¤Ö¦w¸Ë ``base'' ³oÓ
source kit¡A³o¥]§t¼ÆÓ³o¸Ì²³æ´yz¹LªºÀɮסAÁÙ¦³ ``sys''
(kernel) source kit¡A³o¥]§t®Ö¤ßµ{¦¡ªº sources¡C¨t²Î¸Ì±¤£»Ý
n¦³ sources ¤~¯à¾Þ§@¡AµM¦Ó¡A°£¤F kernel-configuration µ{¦¡
config¥H¥~¡C¯Ê¤Ö®Ö¤ßªº sources¡A§Ú̪º«Ø¿v¬[ºc¬O³]©w
¦¨Åý§A¥i¥H±q§O³B¦p NFS ¨Ó±¾¤W°ß¿Wªºì©lµ{¦¡¡A¦]¦¹ÁÙ¬O¥i¥H»s
§@·sªº binaries¡C¡]¦]¬° kernel-source ªº¨î¡A§ÚÌ«Øij§A¤£n
ª½±µ§â¥¦±¾¦b /usr/src ¤U¡A³Ì¦n¥Î¨ä¥L¾A¦Xªº²Å¸¹©Ê«
½Æ³sµ²¨ì source tree ªº¤W¼h¬[ºc¡C¡
½u¤W¾Ö¦³ sources ¨Ãª¾¹D¦p¦ó«Ø¥ß¤@Ó¨t²Î¡A±N·|Åý§A¦b¤É¯Å¤µ«á
FreeBSD ªº releases ª©¥»§ó®e©ö¤@ÂI¡C
n¹ê»Úªº¿ï¾Ü sources ªº¤@Ó¤l¶°¦X¡A¦b§A¦b¨t²Î¦w¸Ë¤u¨ãªº
Distributions ¿ï³æ®É¡A¨Ï¥Î Custom ¿ï³æ¶µ¥Ø¡Csrc/install.sh
script ±N·|§â sources distribution ªº³¡¥÷¦w¸Ë¶i¥h¡A¥Dn¬O¬Ý
§A¶Ç¤Jþ¨Ç°Ñ¼Æ¡C
§Ú»Ýn«Ø¥ß¤@Ӯ֤߶ܡS
«Ø¥ß¤@Ó·sªº®Ö¤ß¦b FreeBSD ¦w¸Ë¹Lµ{¤¤¬Oµ´¹ï¥²»Ýªº¤@Ó¨BÆJ¡C
¦ý·sª© releases ±a¨Ó¤@Ó§ó¤Íµ½ªº®Ö¤ß³]©w¤u¨ã«ü¥Oªº¦n³B¡C¦b
FreeBSD ±Ò°Ê´£¥Ü¸¹(boot:)®É¡A¨Ï¥Î "-c" flag §A´N·|¶i¤J¤@Ó³]
©w¿Ã¹õ¡A³o¤¹³\§A°µ±`¨£ ISA ¥dªº®Ö¤ß³]©w¡C
¤´µM«Øij§A³Ì«á«Ø¥ß¤@Ӯ֤ߡA¥u¥]§t§A»ÝnªºÅX°Êµ{¦¡¡A³o¬O¬°¤F
¸`¬Ù¤@ÂI RAM¡A¦ý¬O¹ï¤j¦h¼Æªº¨t²Î¨Ó»¡³o«o¤£¬OÄY®æªºn¨D¡C
§Ú¤£¬O¦í¦b¬ü°ê¡A¨º§Ú¥i¥H¨Ï¥Î DES ¶Ü¡S
¦pªG¹ï§A¨Ó»¡¨Ï¥Î DES ®æ¦¡ªº¥[±K§Þ³N¤£¬Oµ´¹ï»Ýnªº¡A§A¥i¥H¨Ï
¥Î FreeBSD ªº¤º©w¥[±K§Þ³N¡A¦³§ó¦n ªº¦w¥þ©Ê¡A¨Ã¥B¨S¦³ÃB¥~
ªº¨î¡CFreeBSD 2.0 ªº±K½X²{¦b¨Ï¥Î¤º©wªº MD5-based ¥[¥H
²V¦X¡An¥Î¦Û°Ê¯}¸Ñ±K½Xªºµ{¦¡¥h¯}¸Ñ¥¦¡A¤ñ°_ DES »Ýn¨Ï¥Î§ó¦h
CPU ±j¤Æ©Ê¥H«K¥Î¦Û°Ê±K½X¯}¸Ñ¾¹¡A¥¦ÁÙ¤¹³\§óªøªº±K½X¡C¤µ¤é¤£¨Ï
¥Î MD5-based ¥[±K§Þ³Nªº°ß¤@²z¥Ñ¬O¦b FreeBSD ©M«D FreeBSD
¨t²Î¤W¨Ï¥Î¬Û¦Pªº±K½X¶µ¥Ø¡C
¦]¬° DES ¥[±Kºtºâªk¤£¯à¥Ñ US ¦Xªk¿é¥X¨ì°ê¥~¡A«D US ¨Ï¥ÎªÌ¤£
À³¸Ó±q US FTP ¯¸¥x¤U¸ü³oÓ³nÅé(secrdistªº¥ô¤@³¡¥÷)¡C
µM¦Ó¥t¥~ÁÙ¦³Ó¦³®Äªº libcrypt¡Aì©lµ{¦¡°ò¥»¤W¥Ñ¿D¬wªº
David Burren ¼g¦¨¡C³oÓµ{¦¡½X¥Ø«e¦b¬Y¨Ç«D US FreeBSD mirror
¯¸¥x¤W¥i¥H§ä¨ì¡C³oÓ¨S¦³¨îªº libcrypt ì©lµ{¦¡¡A¥H¤Î¨Ï¥Î¥¦
ªº binaries µ{¦¡¡A¥i¥H¦b¥H¤U FTP ¯¸¥xÀò±o¡G
South Africa
ftp://ftp.internat.FreeBSD.org/pub/FreeBSD
ftp://storm.sea.uct.ac.za/pub/FreeBSD
Brazil
ftp://ftp.iqm.unicamp.br/pub/FreeBSD
Finland
ftp://nic.funet.fi/pub/unix/FreeBSD/eurocrypt
«D US ªº securedist ¥i¥H·í¨î©Ê US securedist
ªº§¹¥þ´À¥N¡C³oÓ securedist package ¦w¸Ë¤èªk¸ò US
package §¹¥þ¤@¼Ë(²Ó¸`½Ð°Ñ¦Ò¦w¸Ë¶·ª¾)¡C¦pªG§An¸Ë DES ¥[±Kªk
§AÀ³¸Ó¾¨¥i¯à¦a¦b¦w¸Ë¨ä¥L³nÅ餧«e¥ý¸Ë¦n¥¦¡A¦A¸Ë¨ä¥L³nÅé¡C
«D US ¨Ï¥ÎªÌ½Ð¤Å±q USA ¤U¸ü¥ô¦ó¥[±K³nÅé¡C³o·|¾ÉP¯¸¥xªººÞ²z
ªÌ¦]¬°³Q¤U¸üªº³nÅé·S¤W¼ÆÓªk«ß©Êªº§xÃø¡C
¤@Ó«D US ªº Kerberos distribution ¥ç¥¿¦bµo®i¤¤¡A²{¦æª©¥»³q
±`¥i¥Ñ°Î¦W FTP braae.ru.ac.za ¨ÓÀò±o¡C
¤]¦³¤@Ó ±Mªù¥Î¨Ó°Q½×
«D US ¥[±K³nÅé¡C±ýÀò±o§ó¦h¸ê°T¡A±H¤@«Ê¤º§t³æ¿W¤@¦æ°T®§»¡
``help'' ªº email µ¹¡G
<majordomo@braae.ru.ac.za>.
±Ò°Ê³nºÐ¶}©lŪ¤F¥i¬O«o°±¦b``Probing Devices...''¿Ã¹õ¡C
¦pªG§A¦w¸Ë¤F IDE Zip ©Î Jaz ¸Ë¸m¡A²¾°£¥¦¨Ã«·s¸Õ¤@¹M¡C
±Ò°Ê³nºÐ¤ù¥i¯à·|³Q³o¨Ç¸Ë¸m²V²c¤F¡C·í¨t²Î¦w¸Ë¦n¥H«á§A¥i¥H¦A
§â¥¦±µ¦^¨Ó¡C§Æ±æ³o¦b¤§«áªº release ª©¥»¥i¥H³Q×¥¿¡C
·í§Ú¦w¸Ë¦n«·s±Ò°Ê¨t²Î«á¡A§Ú¬Ý¨ì``panic: cant mount root'' ªº¿ù»~°T®§¡C
³oÓ¿ù»~¬O¦]¬°±Ò°Ê°Ï¶ô¸ò®Ö¤ßµ{¦¡¹ïºÏºÐ¸Ë¸mªº»{ª¾¤£¬Û¦P¡C³q±`³oÓ
¿ù»~·|¥X²{¦bÂùºÏºÐªº IDE ¨t²Î¡AµwºÐ©ñ¦b master¡A©Î¬O¦b¤ÀÂ÷ªº
IDE ±±¨î¾¹¤W¥u¦³³æ¤@ºÏºÐ¾÷¡A¦ý¬O FreeBSD ¸Ë¦b secondary IDE ¤W
¡C·í®Ö¤ß«ü©w²Ä¤GӺϺб±¨î¾¹ªº²Ä¤@ӺϺо÷ wd2 ®É¡A±Ò°Ê block
«o»{¬°¨t²Î¸Ë¦b wd1(²Ä¤GÓ BIOS ºÏºÐ¾÷)¡C°»´ú§¹¸Ë¸m«á¡A®Ö¤ßµ{¦¡
¸ÕµÛ§â±Ò°Ê block »{¬°ªº±Ò°ÊºÏºÐ(wd1) mount °_¨Ó¡A¨Æ¹ê¤W«o¬O wd2
¡A©Ò¥H¥¢±Ñ¤F¡C
n×¥¿³oÓ°ÝÃD¡A¥H¤U´XºØ¤èªk¤§¤@³£¥i¥H¸Ñ¨M¡G
·í Boot: ´£¥Ü¸¹¥X²{®É¡A¿é¤J¡G 1:wd(2,a)kernel
µM«á«ö Enter¡C¦pªG¨t²Î¶}©l¤F¡A´N°õ¦æ¥H¤U©R¥O¡G
echo "1:wd(2,a)kernel" > /boot.config
Åý¥¦Åܦ¨¤º©wªº boot string¡C
§â FreeBSD ºÏºÐ¾÷²¾¨ì primary IDE controller¡A¦]¦¹µwºÐ¾÷¬O
³sÄòªº¡C
Rebuild your kernel, ק靈Ãö wd ³]©wªº¦æ¼Æ¡G
controller wdc0 at isa? port "IO_WD1" bio irq 14 vector wdintr
disk wd0 at wdc0 drive 0
# disk wd1 at wdc0 drive 1 # comment out this line
controller wdc1 at isa? port "IO_WD2" bio irq 15 vector wdintr
disk wd1 at wdc1 drive 0 # change from wd2 to wd1
disk wd2 at wdc1 drive 1 # change from wd3 to wd2
¦w¸Ë·sªº®Ö¤ßµ{¦¡¡C
¦pªG§A²¾°Ê§AªººÏºÐ¾÷¡A¨Ã§Æ±æ§â¥ý«eªº³]©w«ì´_¡A¥un§âºÏºÐ¥Î¹w´Á
ªº³]©w¸m´«¦^¨ÓµM«á«·s¶}¾÷¡C§Aªº¨t²ÎÀ³¸Ó´N¯à¦¨¥\ªº±Ò°Ê¡C
°O¾ÐÅ骺¨î¬O¤°»ò¡S
¹ï°O¾ÐÅé¨Ó»¡¡A(²z½×¤W)¨î¬O 4 gigabytes¡C1 gigabytes ¤w³Q´ú¸Õ
¹L¡F¤@¯ë§A¤£¥i¯à¶R¨ì¥i¥H¤ä´©¶W¹L³oӼƥتº i386 PC¡C
ffs Àɮרt²Îªº¨î¬O¤°»ò¡S
¹ï ffs filesystems ¦Ó¨¥¡A³Ì¤j²z½×Ȩî¦b 8 terabytes(2G blocks
)¡A©Î·í¨Ï¥Î¤º©w 8K block ¤j¤p®É¡A¨î¬O 16TB¡CÁÙ¦³¡A³nÅé¨î¬O
1 terabytes¡A¦ý¦pªG¬O¸g¹Lק諸Àɮרt²Î¤W 4 terabytes ¬O¥i¯à(¨Ã
¥B¦s¦b)ªº¡C
³æ¤@ ffs Àɮתº¤j¤p³Ì¤j¬OÁͪñ 1G blocks(4TB) - °²¦p block ¤j¤p¬O
4K¡C
maxfilesize
----------------------------------
2.2.7 3.0
fs block size -stable -current works should-work
------------- ------- -------- ----- -----------
4K 4T-1 4T-1 4T-1 4+T
8K 32+G 8T-1 32+G 16T-1
16K 128+G 16T-1 128+G 32T-1
32K 512+G 32T-1 512+G 64T-1
64K 2048+G 64T-1 2048+G 128T-1
·í fs block ¤j¤p¬O 4K¡Atriple indirect block ¹B§@¨Ã¥B©Ò¦³ªº¨Æ±¡
³£À³¸Ó¥Hªí¥Ü¦¨¨Ï¥Î triple indirect block ªº³Ì¤j fs block ¨Ó§@
¨î(ªñ¦ü©ó 1K^3 + 1K^2 + 1K)¡A¦ý¦b fs block ¼Æ¥Ø¤W«o¦³¤@Ó(¿ù»~)
ªº 1G-1 ¨î¡C¹ï fs block ¼Æ¥Øªº¨îÀ³¸Ó¬O 2G-1¡C¦b fs block
¼Æ¥Ø±µªñ 2G-1 ®É¦³ÂI¿ù»~¡A¦ý·í fs block ¤j¤p¬O 4K ®É³oÓ block
¼Æ¥Ø¬O¤£¯à¹F¨ìªº¡C
block ¤j¤p¦pªG¬O 8K ©Î§ó¤j¡Afs block ¼Æ¥ØÀ³¸Ó¨î¦b 2G-1¡A¦ý¹ê
»Ú fs block ¼Æ¥Ø«o¨î¦b 1G-1¡A°£¤F¦b -stable ®É triple indirect
blocks ¬OµLªk¹F¨ìªº¡A©Ò¥H³Ì¦h fs block ¼Æ¥Øªº¨î¥i¥Hªí¥Ü¦¨¥Î
double indirect blocks(ªñ¦ü©ó(blocksize/4)^2 + (blocksize/4))
¡A¥B¦b -current ¤U¶W¹L³oÓ¨î¥i¯à·|¾ÉP°ÝÃD²£¥Í¡C¨Ï¥Î¥¿½Tªº
2G-1 block ¨îªº½T·|¾ÉP°ÝÃDµo¥Í¡C
§Ú¸Ó«ç»ò¦b³nºÐ¤W©ñ¤J 1TB ÀɮסH
§Ú¦Û¤v´N¦b³nºÐ¤ù¤W©ñ¦n´XÓ :-)¡CÀɮתº³Ì¤j®e¶q¨Æ¹ê¤W¸òºÏºÐ³Ì¤j
ªº®e¶q¨Ã¨S¦³±K¤Á¬ÛÃö¡CºÏºÐªº³Ì¤j®e¶q¬O 1TB¡A³o¬O¤@ÓÀɮפj¤p¥i
¥H¶W¹LºÏºÐ®e¶qªº¤@Ó¯S¦â¡C
¥H¤U½d¨Ò·|¦b¤@ӨϥξãÓ 32K ªÅ¶¡³o¼Ë¤pªº root partition ºÏºÐ
¤W«Ø¥ß¤@Ó¤j¤p¬O 8T-1 ªºÀÉ®×(3 indirect blocks and 1 data block
)¡Cdd «ü¥O»ÝnÅý dd ¯à¦b¤@Ó¤jÀɮפU°õ¦æ¡C
ttyv0:bde@alphplex:/tmp/q> cat foo
df .
dd if=/dev/zero of=z bs=1 seek=`echo 2^43 - 2 | bc` count=1
ls -l z
du z
df .
ttyv0:bde@alphplex:/tmp/q> sh foo
Filesystem 1024-blocks Used Avail Capacity Mounted on
/dev/sd0a 64479 27702 31619 47% /
1+0 records in
1+0 records out
1 bytes transferred in 0.000187 secs (5346 bytes/sec)
-rw-r--r-- 1 bde bin 8796093022207 Sep 7 16:04 z
32 z
Filesystem 1024-blocks Used Avail Capacity Mounted on
/dev/sd0a 64479 27734 31587 47% /
ttyv0:bde@alphplex:/tmp/q> exit
Bruce Evans, September 1998
¦b±Ò°Ê·sªº kernel ®É¡A¬Ý¨ì "archsw.readin.failed" ³oÓ¿ù»~°T®§
¦b±Ò°Ê loader ¤§«e·|¬Ý¨ì "|" ³oӲŸ¹¦bÂà¡A³o®É¥i¥H«ö¥ô¦óÁ䤤Â_¡AµM
«á¦A«ü©wn¸ü¤J¨ºÓ kernel¡C¥J²Ó¨Ó»¡¡A§A¤w¸g§ó·s kernel ªºì©l½X¡B¤]¥Î¥¦
°µ¤F·sªº kernel¡A¦ý«o *¨S¦³«·s make world*¡C§Ṳ́£¤ä´©³o»ò°µ¡A½Ð¥ý
make world¡A¦A§ó·s kernel¡C
µwÅ骺¬Û®e©Ê
FreeBSD ¤ä´©þ¨ÇµwºÐªº¤¶±¡H
FreeBSD ¤ä´© EIDE ¤Î SCSI ¶gÃä (¦³µÛ¬Û®eªº controller¡F
½Ð°Ñ¦Ò¤U¤@¬q)¡A¥H¤Î¨Ï¥Î¡uWestern Digital¡v¤¶±ªº¶gÃä (MEM¡B
¡BRLL¡BESDI¡A·íµM¡AIDE ¤]¦b¥]¬A¤º)¡C¦ý¤Ö¼Æ¨Ï¥Î±M¦³ªº ESDI
ªº¤¶±µLªk¹B§@¡G¹³¬O WD1002/3/6/7 ¤¶±µ¥µ¥¡C
FreeBSD ¤ä´©þ¤@¨Ç SCSI ¥d¡H
¦b Handbook ¸Ì¦³§¹¾ãªº¸ê®Æ¡C
FreeBSD ¤ä´©þ¤@¨Ç CD-ROM¡H
º¥ý¡A¥ô¦ó±µ¦b SCSI ¤¶±¤Wªº CDROM ³£¦³³Q FreeBSD ©Ò¤ä´©¡C
¨ä¦¸¡A¤U±©Ò¦Cªº CD-ROM ¤]³£¦³³Q¤ä´©¡G
Mitsumi LU002 (8bit), LU005 (16bit) ¤Î FX001D (16bit ¨â¿³t)¡C
Sony CDU 31/33A
±µ¦b Sound Blaster ¤W«D SCSI ¤¶±ªº CD-ROM
Matsushita/Panasonic CD-ROM
¬Û®e©ó ATAPI IDE ¤¶±ªº CD-ROM
¤w¸gª¾¹D«D SCSI ªº¶gÃä³]³Æ·|¤ñ SCSI ªººC«Ü¦h¡A¥t¥~¡A¦³¤@¨Ç ATAPI
CDROM (³o¤]´N¬O»¡«D SCSI ªº CDROM) ¥i¯àµLªk¹B§@¡C
¹ï¤F¡A2.2 ª©ªº FreeBSD CDROM (¥Ñ Walnut Creek ¾ã²zªº) ¤ä´©¥úºÐ¶}¾÷¡C
FreeBSD ¤ä´© ZIP ¶Ü¡H
FreeBSD ·íµM¤ä´© SCSI ZIP¡C¦ý¬O ZIP ¥u¯à°÷³Q³]©w¦b SCSI ID 5 ©Î¬O 6
¡C¦ý¦pªG SCSI ¥d¤Wªº BIOS ¤ä´©¥¦¡A§A¬Æ¦Ü¥i¥H¥Î¥¦¨Ó¶}¾÷¡C§Ṳ́£¾å±oþ¤@
¶ô¥d¥i¥HÅý§A§â¥dªº ID ³]¦b°£¤F 0 ©Î 1 ¥H¥~ªº¦a¤è¶}¾÷... ¬Ý¬Ý§Aªº»¡©ú¤â
¥U (ªG§A¦¨¥\ªº¸Ü¡A¤]½Ð§AÅý§Ú̪¾¹D)
ATAPI (¤]´N¬O IDE ¤¶±) ZIP ¤w¸g¦b FreeBSD 2.2.6 ¤Î¥H«áªºª©¥»³Q¤ä´©¤F¡C
FreeBSD ±q 3.0 ¶}©l¤]¤ä´© Parallel Port Zip¡C¦pªG§A¥Îªºª©¥»°÷·sªº
¸Ü¡A¥ýÀˬd kernel ³]©wÀɤ¤¬O§_¦³ scbus0¡Bda0¡B
ppbus0 ©M vp0 ³o´XÓÅX°Êµ{¦¡¡]Generic kernel ³]©wÀÉ
¤¤°£¤F vp0 ¤§¥~³£¦³¡^¡C¥[¤F³o´XÓÅX°Êµ{¦¡¤§«á¡AParallel Port Zip ´N¥i
¥H·í§@ /dev/da0s4¡A¬Ý¬O¥Î mount /dev/da0s4 /mnt¡B©Î¬O¡]DOS
ºÏ¤ù¡
mount_msdos /dev/da0s4 /mnt ¨ÓŪ¼g¡C
¤]¥i¥H°Ñ¦Ò¦³Ãö¥i²¾°£³]³Æªºµù¸Ñ¡A
¤Î®æ¦¡¤Æªº¸ê®Æ¡C
FreeBSD ¦³¤ä´© JAZ¡BEZ ¤Î¨ä¥L¹³³o¤@Ãþ¥i¥H²¾°Êªº³]³Æ¶Ü¡H
°£¤F IDE ªº EZ drive ¥~¡A¨ä¥LªºÀ³¸Ó³£¬O SCSI ¤¶±¡C©Ò¥H§AÀ³¸Ó±N¤j³¡
¥÷³]³Æ¬Ý¦¨ SCSI ºÏºÐ¾÷¡A§â³Ñ¤U¨º¨Çªº IDE EZ ªº³]³Æ¬Ý¦¨ IDE ³]³Æ¡C
§Ų́䣽T©w FreeBSD ¹ï©ó§ó´« jaz ºÏ¤ù®Éªº¤ä´©«ç¼Ë
¡C¦ý§Ú̪¾¹D¥²»Ý¦b©â´« jaz ºÏ¤ù«e±N³oÓÀɮרt²Î¥ý¨ø¤U¡C·íµM¡A§A¥²»Ý½T
©w¦b¶}¾÷®É³o¨Ç³]³Æªº¹q·½¬O¥´¶}ªº¡A¥H«KÅý FreeBSD ¥i¥H°»´ú¨ì¡C
°Ñ¦Ò®æ¦¡¤Æªº¸ê®Æ¡C
¦³¨º¨Ç multi-port serial ¥d³Q FreeBSD ©Ò¤ä´©¡H
§A¥i¥H°Ñ¦Ò¨ä¥L¶gÃä³]³Æªºªí¡C
ÁöµM¦³¨Ç¥d¬O¨SµPªº¡A¦ý¤]¥i¥H¦b FreeBSD ¤U¤u§@¡A¹³¬O¸¹ºÙ¤ä´© AST ªº¥d¡C
°Ñ¦Ò sio ³o¥÷»¡©ú¤å¥ó¥i¥HÅý§A¤F¸Ñ§ó¦h¦³Ãö©ó³o¤@Ãþ¥dªº¸ê°T¡C
§Ú¦³¤@°¦ bus mouse¡C§Ú¸Ó¦p¦ó³]©w¡H
FreeBSD ¤ä´©¥Ñ Microsoft¡ALogitech ¤Î ATI ©Ò¥Í²£ªº bus mouse ¤Î InPort
bus mouse¡C³o¨Ç·Æ¹«ªº driver ³£¤w¸g¤º§t¦b GENERIC ¸Ì±¤F¡C¦pªG§A¦Û¤v¦³«·s
°µ¤@Ó kernel¡A½Ð½T©w¦³¨S¦³§â¤U¦C³o¤@¦æ¥[¤J§Aªº kernel config file¡G
device mse0 at isa? port 0x23c tty irq5 vector mseintr
¶R bus mouse ®ÉÀ³¸Ó·|§t¤@¶ô¤¶±¥d¡C³o¶ô¥d¤¹³\§A³]©w¤£¦Pªº port address ¤Î
IRQ number¡C°Ñ¦Ò§Aªº»¡©ú¤â¥U¤Î mse man page ¨Ó±o¨ì§ó¦hªº¸ê°T.
§Ú¦p¦ó¨Ï¥Î PS/2 mouse ©Î¬O PS/2 keyboard¡H
¦pªG§Aªº FreeBSD ¬O 2.2.5 ¥H¤Wªºª©¥» (§t 2.2.5)¡A¨º»ò§A»Ýnªº driver ¤£¶È©ñ¨ì
kernel ¸Ì±¤F¡A¦Ó¥B§Aªº PS/2 ³]³ÆÀ³¸Ó¥i¥H¦b¶}¾÷®É³Q°»´ú¨ì¡C
¦pªG§A¥Îªº¬O 2.1.x ¨ì 2.2.5 (¤£§t 2.2.5) ª©ªº FreeBSD¡A§A¥i¥H¦b
¶}¾÷ªº®ÉÔ¶i¤J¡ukernel configuration menu¡v¸Ì¥h±Ò°Ê¡A¤]´N¬O¦b¶}¾÷®É¥X²{
boot: ªº²Å¸¹«á¥´¤J -c¡C¦]¬°¹w³]ȬOÃö±¼ªº¡A©Ò¥H§A¥²»Ý¦Û¤v¥h±Ò°Ê¥¦¡C
¦pªG§A¥Îªº¬O§óªºª©¥»¡A§A»Ýn¦Û¤v½s¤@Ó kernel¡A¦b§Aªº®Ö¤ß³]©wÀɸ̱¥[¤J¡G
device psm0 at isa? port "IO_KBD" conflicts tty irq 12 vector psmintr
¦pªG§A¹ï©ó¦Û¤v½s¤@Ӯ֤ߨS¦³¸gÅç¡A½Ð°Ñ¦Ò¡u½s¤@Ӯ֤ߡv
¦pªG¦b¶}¾÷®É¦³§ä¨ì psm0 «o¤£¯à¨Ï¥Î¡A½Ð½T©w¦b /dev ¤U¦³ psm0 ³oÓ³]³ÆÀÉ¡C
¦pªG¨S¦³¡A§AÀ³¸Ó¥Î root ªº¨¥÷¿é¤J¤U±³o¦æ¨Ó°µ¥X¡G
cd /dev; sh MAKEDEV psm0
¬O§_¦³¥i¯à¦b X Window ¤§¥~¨Ï¥Î·Æ¹«©O¡H
¦pªG§A¥Îªº¬O default console driver¡A¤]´N¬O syscons¡A¦Ó·Qn¥Î
·Æ¹««ü¼Ð¨Ó°Å¶K¤å¦r¡A¨º»ò´N°õ¦æ·Æ¹«ªº daemon¡A¤]´N¬O moused¡AµM«á
¥Î¤U±³o¨â¦æ¨Ó±Ò°Ê¥¦¡G
moused -p /dev/xxxx -t yyyy
vidcontrol -m on
xxxx ªº¦a¤è¶ñ¤J mouse ªº device name¡A¦Ó yyyy
¶ñ¤J³o°¦·Æ¹«ªº protocol type¡C§A¥i¥H°Ñ¦Ò moused
³oÓ man page ¨Ó§ä¬Ý¬Ý¦³¨º¨Ç protocol types ¥i¥H¶ñ¡C
¦pªG§A·Qn¦b¶}¾÷®É´N°õ¦æ moused¡C¦b 2.2.1 ª©¤§«e (§t 2.2.1)¡A¨ì
/etc/sysconfig ³]©w¤U±ªºÈ¡G
mousedtype="yyyy"
mousedport="xxxx"
mousedflags=""
¦b 2.2.2 ª©¥H«á (§t 2.2.2) ¨ì /etc/rc.conf ³]©w¤U±ªºÈ¡G
moused_type="yyyy"
moused_port="xxxx"
moused_flags=""
¥t¥~±q 2.2.6 ª©¶}©l¡Amoused ¥i¥H¦Û°Ê¨M©w protocol type¡A°£«D·Æ¹«¹ê¦b
¬O¤Ó¤F¡C¦pªG¤Óªº¸Ü¡A¦b moused_type ¶ñ¤J ``auto''¡AµM«á¬èë
¥i¥H°»´úªº¨ì¡C
·í°õ¦æ moused «á¡A·Qn¦b¨ä¥Lµ{¦¡¸Ì¨Ï¥Î·Æ¹«»Ýn¹³ X Window ³oÃþªºÀ³¥Î
µ{¦¡¡C°Ñ¦Ò¥»¤åªº ¥t¥~³o¬q¡C
¦p¦ó¦b text console ¸Ì°Å¶K¡H
·í°õ¦æ moused «á¡A(°Ñ¦Ò«e¤@¸`)¡A«ö¦í¥ªÁä¡A
²¾°Ê·Æ¹«¨Ó¿ï¾Ü¤@Ӱϰ줧«á©ñ¶}¡CµM«á¡A«ö¤U¤¤Áä©Î¥kÁä¡A´N¥i¥H¶K¤W¥h¤F¡C
¦b 2.2.6 ª©«á (§t 2.2.6)¡A«ö¤U¤¤Áä·|°õ¦æ¶K¤W³oӰʧ@¡A¦ý«ö¤U¥kÁä·|©µ¦ù
©Ò¿ï¨úªº°Ï°ì¡C¦pªG§Aªº·Æ¹«¨S¦³¤¤Áä¡A§A¥i¥H¥Î¼ÒÀÀªº¤è¦¡©Î¬O«·s©w¸q·Æ¹««ö
Á䪺¤è¦¡¨Ó¹F¦¨¡u©µ¦ù¡vªº¥\¯à¡C°Ñ¦Ò moused ³oÓ man
pages ¨Ó±o¨ì§ó¦h¬ÛÃö¸ê°T¡C
§Úªº·Æ¹«¤W¦³ºu½ü¡A¯à¤£¯à¦b FreeBSD ¤U¨Ï¥Î¡H
«Ü¤£©¯ªº¡A¦b¤j¦h¼Æªº±¡ªp¤U¤£¦æ¡C³o¨Ç±a¦³ºu½üªº·Æ¹«»Ýn¥Î¯S
®íªºÅX°Êµ{¦¡¡C°£«D·Æ¹«¦³³Q§Aªºµ{¦¡©Î¬OÅX°Êµ{¦¡©Ò¤ä´©¡A¤£µM³o¨Ç·Æ
¹«¥u¯à°÷·í¦¨¬O´¶³qªº¨âÁä©Î¤TÁ䪺·Æ¹«¨Ï¥Î¡C
§Ú¯à¦b§Úªº laptop ¤W¨Ï¥Î·Æ¹«/y¸ñ²y/touchpad ¶Ü¡H
°Ñ¦Ò¤W¤@¬qªºµª®×¡A¨Ã¥B°Ñ¦Ò Mobile Computing ºô¶ªº
³oÓµù¸Ñ¡C
FreeBSD ¤ä´©þ¨Ç tape ©PÃä¡H
FreeBSD ¤ä´© SCSI¡AQIC-36 (QIC-02 ¤¶±) ¤Î QIC-40/80 (Floppy ¤¶±) tape drives¡C
¥]¬A 8-mm (aka Exabyte) ¤Î DAT drives¡C¤w¸gª¾¹D QIC-40/80 drives «ÜºC¡C
¬Y¨Ç¦´Áªº 8-mm drives ¨Ã¤£¬Û®e©ó SCSI-2¡A¥i¯à¨S¦³¿ìªk¦b FreeBSD ¤W¹B§@¡C
FreeBSD ¤ä´© tape changer ¶Ü¡H
FreeBSD 2.2 §Q¥Î ch ³oÓ³]³Æ¨Ó¤ä´© SCSI changers¡A§A¥i¥H°Ñ¦Ò chio ³oÓ«ü¥O¡C
¦p¦ó±±¨î changer ªº¤èªk¥i¥H¦b chio ³o¥÷»¡©ú¤å¥ó¸Ì§ä¨ì¡C
¦pªG§A¤£¬O¥Î AMANDA ©Î
¨ä¥L¤w¸g³Qª¾¹Dªº changer¡A°O¦í¡A§A¥uª¾¹D¦p¦ó±N¤@Ó tape ±q¨ä¤¤¤@Ó²¾¨ì¥t¥~¤@Ó¡A
©Ò¥H§A»Ýn°O¦í¨º¤@Ó tape ¦b¸Ì±¡A¤Î²{¦b¦³¨º¤@Ó tape »Ýn©ñ¦^¥h¡C
FreeBSD ¤ä´©þ¨Çµ®Ä¥d¡H
FreeBSD ¤ä´© SoundBlaster¡ASoundBlaster Pro¡ASoundBlaster 16¡A
Pro Audio Spectrum 16¡AAdLib ¤Î Gravis UltraSound sound cards¡C
¦ý¹ï©ó MPU-401 ¤Î¨ä¬Û®e MIDI ¥dªº¤ä·½¦³¡C¹ï©ó¨Ï¥Î Microsoft
Sound System ªº¥d¥i¥H³z¹L pcm ªºÅX°Êµ{¦¡¨Ó¨Ï¥Î¥¦¡C
NOTE ³oÓÅX°Êµ{¦¡¥u¾A¥Î©óÁnµ¤è±¡A¦Ó¥B¨Ã¤£¤ä´©¦b³o¨Ç
¥d¤Wªº CD-ROM¡ASCSI ©Î joysticks¡C¦ý¤]¦³¨Ç¨Ò¥~¡A¹³¬O SoundBlaster¡B
SoundBlaster SCSI ¤¶±¤Î¬Y¨Ç«D SCSI CDROMS ¦³³Q¤ä´©¡A¦ý§AµLªk¨Ï¥Î³o
¨Ç³]³Æ¶}¾÷¡C
es1370 ªºµ®Ä¥d¥Î pcm ÅX°Êµ{¦¡Å¥¤£¨ìÁnµ¡H
±z¥i¥H¦b¨C¦¸¶}¾÷®É°õ¦æ³oÓ©R¥O¡G
mixer pcm 100 vol 100 cd 100
FreeBSD ¤ä´©þ¨Çºô¸ô¥d¡H
°Ñ¦Ò¤A¤Óºô¸ô¥d
¡A¸Ì±¦³§¹¾ãªº²M³æ¡C
§Úªº¹q¸£¨S¦³¯BÂI¹Bºâ¾¹¡A³oÅ¥°_¨Ó¦n¹³¤£¤Ó¦n¡H
Note ³o¥u·|¼vÅT¨ì¥Î 386/486SX/486SLC ªº¤H - ¨Ï¥Î¨ä¥Lªº CPU ³£
¤w¸g¤º§t¯BÂI¹Bºâ¾¹¤F¡C
¤@¯ë¨Ó»¡³o¤£·|³y¦¨¥ô¦ó°ÝÃD¡A¦ý·í§An¥Îªº®ÉÔ¡AµL½×¦b®Ä²v¤W»Pºë±K«×¤W¡A
¼ÒÀÀ¯BÂI¹Bºâªºµ{¦¡½X¤£¯àÝÅU (°Ñ¦Ò¯BÂI¹Bºâ¼ÒÀÀ¾¹)¡C
¤×¨ä¬O¦b X ¤U±µe©·§Î®É·|«ÜºC¡C©Ò¥H¡A§ÚÌÁÙ¬O·|«Øij¶R¤@Áû¯BÂI¹Bºâ¾¹¡C
NOTE ¦³¨Ç¼Æ¾Ç¹Bºâ¾¹¤ñ¨ä¥Lªº¦n¡C¦ý¬O¨S¦³¤H±j¢§A¶R Intel ªº¡C
°£«D§A½T©w§A¶Rªº¥i¥H¦b FreeBSD ¤W¥¿½Tªº¤u§@¡C
2.X Á٤䴩þ¨Ç³]³Æ¡H
½Ð¦h¦h°Ñ¦Ò Handbook
¡A¸Ì±¦³¦C¥X¡C
FreeBSD ¤ä´©¹q·½ºÞ²z¨t²Î¶Ü¡H
FreeBSD ¤ä´©¬Y¨Ç¾÷¾¹¤Wªº APM¡C½Ð°Ñ¦Ò LINT ³oÓ kernel ³]©wÀÉ¡A
¨Ã§ä¬Ý¬Ý APM ³oÓÃöÁä¦r¡C
¦b Micron systems ªº¥D¾÷ªO¤W§Ú¨S¦³¿ìªk¶i¤J FreeBSD
Micron ªº¬Y¨Ç¥D¾÷ªO¨S¦³¿í¦u PCI BIOS ªº³W©w¡A¦Ó¾É¦Ü©ó·í¶i¤J FreeBSD
®É±¾±¼¡C¦]¬°³o¨Ç PCI ªº³]³Æ¨S¦³¦b¶}¾÷®É¦V¥D¾÷ªO³ø§i¥Lªºªº¦ì¸m¡C
¶i¤J BIOS «á¡A±N¡uPlug and Play Operating System¡v³o¶µµ¹ disable ±¼
¥i¥H¼È®É¸Ñ¨M³oÓ°ÝÃD¡C¦pªG§A·Q±o¨ì§ó¦h¦³Ãö Micron ªº°T®§¡A¥i¥H°Ñ¦Ò
http://cesdis.gsfc.nasa.gov/linux/drivers/vortex.html#micron
§Ú¦³¤@¶ô·s¶Rªº Adaptec ¥d¡A¦ý¬O FreeBSD §ä¤£¨ì¥¦¡C
Adaptec ·sªº AIC789x ¨t¦C´¹¤ù²Õ¦bè¥XÄlªº CAM SCSI Àô¹Ò¤U¥i¥H¨Ï¥Î¡C
2.2-STABLE »Ýn patches¡A¦b
ftp://ftp.FreeBSD.org/pub/FreeBSD/development/cam/¡CA CAM-enhanced ¶}¾÷ºÏ¤ù¦b
http://www.FreeBSD.org/~abial/cam-boot/¡CµL½×§A¬O¥Î¨º¤@Ó¡A½Ð¥ý°Ñ¦Ò README
§Ú³o¦³¤@Ó PnP ªº modem¡A¦ý¬O FreeBSD ¨S§ä¨ì«¨¡H
§A»Ýn§â modem ªº PnP ID ¥[¨ì serial ÅX°Êµ{¦¡ªº PnP ID ªí¸Ì¡AµM«á±N
PnP ªº¥\¯àµ¹¥´¶}¡C¦b§Aªº®Ö¤ß³]©wÀɸ̥[¤J controller pnp0 «á¦A«·s
½sĶ¤@Ó kernel¡AµM«á«·s±Ò°Ê§Aªº¨t²Î¡C®Ö¤ß·|¦C¥X¥¦©Ò§ä¨ìªº©Ò¦³³]³Æªº
PnP ID¡C½Ð±N³o¨Ç modem ªº PnP ID ½Æ»s¨ì /sys/i386/isa/sio.c¡A
¤j¬ù 2777 ¦æªº¦a¤è¡C§A¥i¥H§ä "SUP1310" ³oÓ¦r¦ê¨ÓÀ°§U§A§ä¨ì
¡¨siopnp_ids[]¡¨³oÓªí¡C«·s½sĶ¤@Ó kernel ¤§«á«·s¶}¾÷¡A§Aªº modem
À³¸Ó·|³Q§ä¨ì¤F¡C
¦b¶}¾÷®É¥²¶·¤â°Ê¿é¤JÃþ¦ü¤U±ªº¦r¦ê¡A¨Ï±o kernel ¥i¥H¬Ý¨ì§Aªº modem¡G
pnp 1 0 enable os irq0 3 drq0 0 port0 0x2f8
§Ú¸Ó¦p¦ó¦b serial console «e¬Ý¨ì boot: ³oÓ´£¥Ü²Å¸¹¡H
¦b§Aªº®Ö¤ßÀɸ̱¥[¤J¤@¦æ options COMCONSOLE¡AµM«á«·s½sĶ§Aªº®Ö¤ß¡A
µM«á¨ì /boot.config ¸Ì¼g¤J ³o¨âÓ¦r¡C
Unplug the keyboard from the system.
°Ñ¦Ò /usr/src/sys/i386/boot/biosboot/README.serial ¨Ó¤F¸Ñ§ó¦hªº¸ê°T¡C
¬°¤°»ò§Úªº 3Com PCI ºô¸ô¥d¨S¦³¿ìªk¦b Micron ¥D¾÷ªO¤W¤u§@¡H
¬Y¨Ç Micron ¥D¾÷ªO¨S¦³¿í¦u PCI BIOS ªº³W©w¦Ó¨Ï±o PCI ªº¶gÃä³]³Æ¨S¦³¦^³ø
¥L̪º¦ì¸m¡C³o¨Ï±o¦b¶i¤J FreeBSD ®É·|±¾±¼¡C
¦pªGn¼È®É¸Ñ¨M³oÓ°ÝÃD¡A½Ð¦b BIOS ¸Ì disable¡uPlug and Play Operating System¡v
¦³Ãö Micron §ó¦hªº°T®§¥i¥H°Ñ¦Ò¡G
http://cesdis.gsfc.nasa.gov/linux/drivers/vortex.html#micron
FreeBSD ¤ä´© Symmetric Multiproccessing (SMP) ¶Ü?
SMP ¥u¦b 3.0-STABLE ¤Î¨ä¤§«áªºµo¦æª©¥»¤¤³Q¤ä´©.
±`¨£°ÝÃD¸Ñ¨M
§ÚªºµwºÐ¦³Ãay!
Y¬O SCSI µwºÐªº¸Ü¡AÀ³¸Ó¦³¯à¤O¦Û°Ê§@ re-mapping ªº°Ê§@¡C
µM¦Ó¡A¦]¬°¤@¨Ç¯«¯µªº¦]¯À¡A¦b¥X¼t®É¡A«Ü¦hµwºÐªº³o¶µ¥\¯à¬OÃö³¬ªº.
n±N¨ä«·s¶}±Ò¡A±z»Ýn½s¿è¸Ë¸mªº²Ä¤@Ó page ¼Ò¦¡
¡]first device page mode¡^¡A¦b FreeBSD ¤W¥i¥H¥Î¤U±ªº«ü¥O¿ì¨ì
¡]¥H root ¨¤À°õ¦æ¡
scsi -f /dev/rsd0c -m 1 -e -P 3
µM«á±N AWRE ©M ARRE ªº¼Æȱq 0 Åܦ¨ 1:-
AWRE (Auto Write Reallocation Enbld): 1
ARRE (Auto Read Reallocation Enbld): 1
¤W±³o¬q¬O¥Ñ
Ted Mittelstaedt ©Ò´£¨Ñ¡G
Y¬° IDE µwºÐ¡A¥ô¦óªºÃay³q±`³£¬O³Â·Ðªº¹w¥ü¡C¥Ø«e©Ò¦³¸û·sªº IDE µw
ºÐ¡A¤º³¡³£¦³¦Û°Ê remapping Ãayªº¯à¤O¡C¥Ø«e©Ò¦³ IDE µwºÐ»s³y°Ó¡A³£´£¨Ñ
¤F§ó¤[ªº«OÃÒ¡A¦Ó¥B·|À°±z§ó´«¥X²{ÃayªºµwºÐ¡C
¦pªG±z¤´·Qn×´_²£¥ÍÃayªº IDE µwºÐ¡A±z¤´¥i¥H¸ÕµÛ¥h¤U¸ü IDE µwºÐ»s³y
°Ó©Ò´£¨ÑªºÀË´úµ{¦¡¡A¨Ã¥Î¥¦¨ÓÀˬd±zªºµwºÐ¡C¦³®É³o¨Ç³nÅé¥i¥H±j¢µwºÐ¹q¸ô
«·sÀˬdµwºÐªºÃay¡A¨Ã±N¥¦Ì¼Ð¥Ü¥X¨Ó.
¹ï ESDI¡ARLL ¤Î MFM ªºµwºÐ¨Ó»¡¡A³q±`Ãay¬O¥¿±`²{¶H¡A¤]¤£¬O¤°»ò³Â·Ðªº
«e¥ü¡C¦b PC ¤W¡AºÏºÐ±±¨î¥d©M BIOS t³d¼Ð¥ÜÃayªº¥ô°È¡C³o¹ï¤@¨Ç¨Ï¥Î BIOS
¨Ó¦s¨úºÏºÐªº§@·~Àô¹Ò(¦p DOS)¬O¨S¦³°ÝÃDªº¡CµM¦Ó¡AFreeBSD ªººÏºÐÅX°Êµ{¦¡
¨Ã¤£¸g¹L BIOS ¨Ó¦s¨úºÏºÐ¡A©Ò¥H¡A¦³Ó bad144 ªº¾÷¨î¥Î¨Ó¨ú¥N³o¶µ¥\¯à¡C
bad144 ¥u¯à¥Î¦b wd ³oӺϺÐÅX°Êµ{¦¡¤W¡A¥¦µLªk¥Î¦b SCSI µwºÐ¤W¡Cbad144
ªº¤u§@¤èªk¬O±N©Ò¦³§ä¨ìªºÃay¸ê®Æ¦s¨ì¤@Ó¯S§OªºÀÉ®×ùØ¡C
¨Ï¥Î bad144 ªºÄµ§i - ¦sµÛÃay¸ê®Æªº¯S§OÀɮ׬O©ñ¦bµwºÐªº³Ì«á¤@y
¤W¡C¦]¬°³oÓÀÉ®×Àx¦sªºÃay¸ê®Æ¤¤¡A¦³¥i¯à¦³¨Ç¸ê®Æ¬O«ü¦VµwºÐ³Ì«eºÝ©Òµo¥Í
ªºÃay±¡§Î¡A´N¬O¥i¯àÀx¦s /kernel ³oÓÀɪº¦a¤è¡A©Ò¥H¥¦¤@©wn¯à³Q¶}¾÷µ{¦¡
©ÒŪ¨ú¡A¦Ó¶}¾÷µ{¦¡¬O³z¹L BIOS ¨ÓŪ¨ú kernel ÀÉ¡C³oªí¥Ü¤F¨Ï¥Î bad144 ªº
µwºÐµ´¤£¯à¾Ö¦³¶W¹L 1024 Ó cylinder¡A16 Ó head ¤Î 63 Ó sector¡C
³o³y¦¨¤F¨Ï¥Î bad144 ªºµwºÐªº¤j¤p¤£¯à¤j©ó 500 MB¡C
n¨Ï¥Î bad144 «Ü²³æ¡A¥un¦b¶}©l¦w¸Ë®É¡A¦b FreeBSD fdisk µe±§â
"Bad Block" ±½ºË³]¬° ON §Y¥i¡C¦b FreeBSD 2.2.7 ¥H«á³£¥i¥H¨Ï¥Î¦¹¤èªk¡C
¦ý³oÓµwºÐªº cylinder ¤@©wn¦b 1024 ¥H¤U¡C¨Ï¥Î«e¡A§ÚÌ«Øij³oÓµwºÐn
¦Ü¤Ö¥ý¨Ï¥Î¥|Ó¤p®É¡A¥H«K¼ö¿±µÈ»PºÏy°¾²¾¹F¤@¯ëª¬ºA¡C
¦pªG³oÓµwºÐ¾Ö¦³¶W¹L 1024 Ó cylinder (¹³¤j®e¶qªº ESDI µwºÐ)¡A
ESDI ±±¨î¥d§Q¥Î¤@Ó¯S§OªºÂà´«¼Ò¦¡¨Ï¥¦¯à¦b DOS ¤U¤u§@¡C
¦Ó¦pªG±z¦b fdisk ùتº "set geometry" ¤¤¿é¤J "Âà´«¹L" ªº geometry¡Awd ³o
ÓÅX°Êµ{¦¡¯à¤F¸Ñ³o¨ÇÂà´«¼Ò¦¡¡C±z¤]µ´¹ï¤£¯à¨Ï¥Î dangerously dedicated ¼Ò
¦¡¨Ó«Ø¥ß FreeBSD ªº¤À³Î°Ï¡A¦]¬°¥¦·|©¿²¤ geometry ³oӰѼơC
¦¹¥~¡A´Nºâ fdisk ¨Ï¥Î±z©Ò¿é¤Jªº geometry °Ñ¼Æ¡A¥¦¨ÌµM·|¥hŪ¨ú³oµwºÐªº
¯u¥¿¸ê®Æ¡A¦Ó·|¹Á¸Õ¥h«Ø¥ß¤@Ó¹L¤jªº FreeBSD ¤À³Î°Ï¡C¦pªGºÏºÐªº geometry
¤w¸g³Q "Âà´«" ¹L¤F¡A¨º»ò³oÓ¤À³Î°Ï "¥²¶·" ¥H¤â°Ê¿é¤J block ¼Æ¥Øªº¤èªk¨Ó
«Ø¥ß¡C
¤@Ó§Ö³tªº¤p§Þ¥©¬O§Q¥Î ESDI ±±¨î¥d¨Ó³]©w¤j®e¶qªº ESDI µwºÐ¡A¥Î DOS ¶}
¾÷¤ù¶}¾÷¡A¦A±N¥¦ format ¬° DOS ªº¤À³Î°Ï¡CµM«á«¶}¾÷¶i¤J FreeBSD ¦w¸Ëµ{§Ç
¡A¦b fdisk µe±¡A§âDOS ¤À³Î°Ïªº blocksize ©M block number §Û¤U¨Ó¡CµM«á«
·s³]©w geometry ¨Ï¨ä¸ò DOS ¨Ï¥Îªº¤@¼Ë¡C§R°£ DOS ¤À³Î°Ï¡AµM«á¨Ï¥Î±zèè§Û
¤Uªº blocksize ¨Ó«Ø¥ß¤@Ó cooperative FreeBSD ¤À³Î°Ï¡CµM«á³]©w³oÓ¤À³Î°Ï
¬°¥i¶}¾÷¡A¦A¥´¶}Ãay±½ºË¡C¦b¯u¥¿ªº¦w¸Ë¹Lµ{¤¤¡Abad144 ·|¦b¥ô¦óÀɮרt²Î³Q
«Ø¥ß«e¥ý³Q°õ¦æ¡C(±z¥i¥H«ö Alt-F2 ¨ÓºÊ¬Ý³o¤@¤Á)¦pªG¦b«Ø¥ßÃay¸ê®ÆÀɮɵo¥Í
¤F°ÝÃD¡A±z·|»Ýn³]©w¤@Ó¸û¤jªººÏºÐ geometry - ³oªí¥Ü±z»Ýn«¶}¾÷¡AµM«á¥þ
³¡¦A«·s¶}©l (¥]¬A«·s¤À³Î¥H¤Î¦b DOS ¤U«·s format)¡C
¦pªG remapping ªº¥\¯à¤w¸g±Ò°Ê¤F¡A¦Ó±z¨ÌµM¤@ª½¬Ý¨ìÃay²£¥Í¡A¨º»ò¦Ò¼{
´«¤@¥xµwºÐ§a¡CÃayªº±¡§Î¥u·|ÀH®É¶¡¼W¥[¦Ó§ó¬°ÄY«¡C
FreeBSD §ì¤£¨ì§Úªº Bustek 742a EISA SCSI ¥d!
¤U±ªº¸ê°T¬Oµ¹ 742a ³o±i¥d¥Îªº¡A¦ý¬O¨ä¥L Buslogic ªº¥d©Î³\¤]¥i¥H
¾A¥Î¡C (Bustek ´N¬O Buslogic)
742a ³o±i¥d¦³¨âÓ¥Dnªº¡uª©¥»¡v¡C¤@Ó¬Oª©¥» A-G¡A¥t¤@Ó¬Oª©¥» H
¤Î¨ä¥H«á¡Cª©¥»¸ê°T¥i¥H±q¤¶±¥dÃä½tªº¬y¤ô¸¹³Ì«á±±oª¾¡C742a ³o±i
¥d¦³¨âÓ°ßŪ´¹¤ù¦b¥¦¤W±¡A¤@Ó¬O BIOS ´¹¤ù¡A¦Ó¥t¤@Ó¬O¶´Åé´¹¤ù¡C
FreeBSD ¨Ã¤£¦b¥G±z¥d¤Wªº BIOS ª©¥»¡A¦ý¬O¶´Å骺ª©¥»´N«Ü«n¤F¡C¦pªG
§A¥´¹q¸Üµ¹¥Ļ޳N¤ä´©±M½uªº¸Ü¡A¥LÌ·|±Hµ¹±z³Ì·sªºª©¥»¨Ñ±z¤É¯Å¡C
BIOS ©M¶´Åé´¹¤ù¬O¤@°_°e¨Óªº¡C ±z»Ýn±N¥d¤W BIOS ©M¶´Å骩¥»¡A¨Ì±z¥d
ª©¥»ªº¤£¦P¡A¤É¯Å¨ì³Ì·sªº¤@ª©¡C
ª©¥» A-G ªº¥d³Ì°ª¥u¯à±N BIOS/¶´Åé ¤É¯Å¨ì 2.41/2.21 ª©¡A¦Óª©¥» H
«á¡A¥Ø«e BIOS/¶´Å骺³Ì·sª©¥»¬O 4.70/3.37¡C³o¨âÓ¶´Å骩¥»¶¡ªº®t²§¦b
©ó¡A3.37 ³oª©¤ä´© ``round robin''
Buslogic ªº¥d¤W±¤]³£¦³§Ç¸¹¡C¦pªG±z¥dªºª©¥»¸û¡A±z¥i¥H¸ÕµÛ¥´¹q
¸Üµ¹ Buslogic ªºRMA ³¡ªù¡AµM«áµ¹¥Ḻzªº§Ç¸¹¡A¬Ý¯à¤£¯à¸ò¥L̥洫¤@
±i¸û·sª©¥»ªº¥d¡C¦pªG¨º±i¥d°÷ªº¸Ü¡A¥LÌ·|´«µ¹§A¡C
FreeBSD 2.1 ¥u¤ä´©¶´Åé 2.21 ª©¥H«áªºª©¥»¡C¦pªG±z¶´Å骩¥»¤ñ³oÓÁÙ
ªº¸Ü¡A¨º»ò±zªº¥d´N¤£¯à³Q¿ëÃÑ¥X¬O Buslogic ªº¥d¡C¥¦¦³¥i¯à·|³Q¿ëÃѦ¨
Adaptec 1540¡C¸û¦ªº Buslogic ¥d¤Wªº¶´Å馳¤@Ó AHA1540``¼ÒÀÀ''¼Ò¦¡¡A
³o¹ï¤@±i EISA ¥d¨Ó»¡¨Ã¤£¬O¥ó¦n¨Æ¡C
¦pªG±z¦³¤@±i¸ûª©¥»ªº¥d¡A¦Ó±z¨ú±o 2.21 ª©¶´Å骺¸Ü¡A±z»ÝnÀˬd¤@¤U
jumper W1 ªº¦ì¸m¡A±N¥¦½Õ¦Ü B-C¡Aì©l³]©w¬O A-B¡C
742a EISA ¥d¨S¦³¦b ¦b¾Ö¦³ >16 MB °O¾ÐÅ骺¾÷¾¹¤W
³o¬q¤¤©Ò´£¹Lªº ``>16MB'' °ÝÃD¡C³oÓ°ÝÃD¥u·|µo¥Í¦b Vesa-Local ¶×¬y±Æªº
Buslogic SCSI ¥d¤W¡C
FreeBSD §ì¤£¨ì§Úªº HP Netserver ªº SCSI ±±¨î¥d¡I
°ò¥»¤W³oÓ¬O¤@Ó¤wª¾ªº°ÝÃD¡C¦b HP Netserver ¾÷¾¹¤Wªº on-board
EISA ¤¶± SCSI ±±¨î¥d¥e¾Ú¤F©w§}¬°²Ä 11 ªº EISA ¼Ñ¡A¦]¦¹©Ò¦³ªº ``¯u¹ê''
EISA ¼Ñ³£¦b¥¦¤§«e¡C¥i¬O¡A¦b EISA ©w§}ªÅ¶¡ >= 10 ®É¡A·|»P«ü©wµ¹ PCI
¥Îªº©w§}ªÅ¶¡¬Û½Ä¬ð¡A¥B FreeBSD ªº auto-configuration µLªk¥¿½Tªº³B²z
³oÓ±¡§Î¡C
¦]¦¹¡A²{¦b§A¯à°µªº³Ì¦n¨Æ±¡´N¬O¦b kernel ùس]©w EISA_SLOTS
³oӿﶵ¬° 12 ¡AµM«á·í§@¨S¦³³oÓ°ÝÃD :)¡C
½Ð¨Ì·Ó Handbook ¤¤¦³Ãö kernel ªº³]©w ùØ©Ò»¡ªº¤èªk¨Ó
³]©w»P½sĶ±zªº kernel
·íµM¡A¦b¦w¸Ë¨ì³oºØ¾÷¾¹¤W®É¡A³o¬O¤@ÓÂû¥Í³J³J¥ÍÂûªº°ÝÃD¡C
¬°¤F¸Ñ¨M³oÓ°ÝÃD¡A¦b UserConfig ¤¤¦³¤@Ó¯S§Oªº¤èªk¡A
¦w¸Ë®É¤£n¶i¤J ``visual'' ¤¶±¡A¬Û¤Ïªº¡A¦b©R¥O¦C¼Ò¦¡¤¤¡AÁä¤J
eisa 12
quit
µM«á´N¦p¥H©¹¤@¼Ë¦w¸Ë±zªº¨t²Î¡CÁöµM§ÚÌ«Øij±z½sĶ»P¦w¸Ë¤@Ó
ÄÝ©ó¦Û¤vªº kernel¡A¦ý
dset
²{¦b¤]¤w¸g¤F¸Ñ³oӰѼơA¥B·|Àx¦s¥¦¡C
§Æ±æ¡A¦b¥¼¨Óªºª©¥»¤¤¯à¹ï³oÓ°ÝÃD¦³¤@Ó¦nªº¸Ñ¨M¤èªk¡C
ª`·N: ±zµLªk¦b HP Netserver ¤W¨Ï¥Î dangerously dedicated
ºÏºÐ¼Ò¦¡¡C±z¥i¥H°Ñ¦Ò ³o¥÷µù¸Ñ¥HÀò±o§ó¦h¸ê°T¡C
CMD640 IDE ±±¨î´¹¤ù¥X¤F¤°»ò°ÝÃD?
¥¦ªº°ÝÃD¦b©óµLªk¦P®É³B²z¨âÓ channel ªº«ü¥O¡C
²{¦b¤w¸g¦³Ó¸Ñ¨M¤èªk¤F¡A¥B·|¦Û°Ê¦b±z¨Ï¥Î³o¶ô´¹¤ù®É±Ò°Ê¡C
¦pªG»Ýn§ó¸ÔºÉªº¸ÑÄÀ¡A½Ð¬d¾\¦³ÃöºÏºÐÅX°Êµ{¦¡ªº»¡©ú(man 4 wd)
¦pªG±z¥Ø«e¬O¨Ï¥Î CMD640 IDE ±±¨î´¹¤ù¡A¥[¤W FreeBSD 2.2.1 ©Î
2.2.2¡A¦Ó¥B±z¤S·Qn¨Ï¥Î¨ì²Ä¤GÓ channel ®É¡A½Ð¦b±zªº kernel ³]
©w¤¤¥[¤J options "CMD640" µM«á«·s½sĶ¤@Ó·sªº kernel¡C
³oÓ option ¦b 2.2.5 ª©¥H«á¬O¤º©w±Ò°Êªº¡C
§Ú¤@ª½¬Ý¨ìÃþ¦ü ``ed1: timeout'' ªº°T®§
³oÓ³q±`¬O¥Ñ©ó¤¤Â_½Ä¬ð(interrupt conflict)©Ò³y¦¨ªº (¨Ò¦p¡A¨â¶ô¥d
¨Ï¥Î¨ì¤F¬Û¦Pªº IRQ)¡C FreeBSD ¦b 2.0.5 ª©¥H«e³£®e³\³oÓ±¡§Î¡A
´Nºâ¦³ IRQ ½Ä¬ð±¡§Î¡Aºô¸ô¥d¤]À³¸Ó¤´¥i¥¿±`¹B§@¡C
µM¦Ó¡A¦b 2.0.5 ª©¤Î¨ä¥H«á¡A¤w¤£¦A®e³\¦³ IRQ ½Ä¬ðªº±¡§Î¤F¡C
½Ð©ó¶}¾÷®É¨Ï¥Î -c ³oӿﶵ¡AµM«á§ó§ï ed0/de0/..¡Cµ¥ªº³]©w¡A¨Ï¨ä
©M±zºô¸ô¥d¥»¨ªº³]©w¤@P¡C
¦pªG±z¬O¨Ï¥Î±zºô¸ô¥d¤Wªº BNC ±µÀY¡A±z©Î³\¤]·|¦]¤£¨}ªº²×ºÝ¹qªý³]©w¡A
¦Óµo¥Í¸Ë¸m (device) timeout ªº±¡§Î¡CnÀˬd¬O§_¦³³oºØ±¡§Î¡A±z¥i¥H¦b
ºô¸ô¥d¤Wª½±µ±µ¤W²×ºÝ¹qªý (¤£n±µºô¸ô½u)¡AµM«á¬Ý¬Ý³oÓ¿ù»~°T®§¬O¤£¬O
´N®ø¥¢¤F¡C
¦³¨Ç NE2000 ªº¬Û®e¥d¡A¦pªG¥¦ªº UTP °ð¨S¦³±µºô¸ô½u¡A©Î¬O¸Óºô¸ô½u¨Ã
¨S³Q¨Ï¥Îªº¸Ü¡A¤]·|¥X²{³oÓ¿ù»~°T®§¡C
¦b§Ú·Qn±¾¤W CDROM ®É¡A¥X²{``Incorrect super block''ªº°T®§
±z¥²¶·§i¶D
mount
±z·Q±¾¤Wªº device ªºÀɮ׮榡¡C¦bì©l³]©wùØ¡A
mount
·|°²³]±zªºÀɮ׮榡¬° ``ufs''¡C¦pªG±z·Qn±¾¤W CD-ROM ùتºÀɮסA
±z»Ýn¦b mount
®É«ü©w ``'' ³oӿﶵ¡C·íµM¡A³o¬O°²³]¥úºÐ¤ù¬O¨Ï¥Î
ISO 9660 ªºÀɮרt²Î (µ´¤j¦h¼Æ¥úºÐ¤ù¬Ò¬O¥Î³o®MÀɮרt²Î)
¥B¦b 1.1 ª©¥H«á¡AFreeBSD ¤w¸g¯à¬Ý±oÀ´ Rock Ridge (ªøÀɦW) ³oÓ©µ¦ù®æ¦¡¡C
Á|¨Ò¨Ó»¡¡A¦pªG±z·Q±N ``/dev/cd0c'' ³oÓ CDROM ¸Ë¸m (device)
±¾¦b /mnt ¤U¡A±z»Ýn°õ¦æ:
mount -t cd9660 /dev/cd0c /mnt
nª`·Nªº¬O¡A±zªº¸Ë¸m¦WºÙ¥i¯à·|¤£¤@¼Ë (¦b¦¹½d¨Ò¤¤¬O
``/dev/cd0c''¡A¥¦¬O®Ú¾Ú±zªº CDROM ¤¶±¦Ó©wªº¡C
¥t¥~nª`·Nªº¡A``'' ³oӿﶵ¥u¬O©I¥s
``mount_cd9660'' ³oÓ«ü¥O¡A©Ò¥H¤W±³oÓ½d¨Ò
¤]¥i¥HÁYµu¬°:
mount_cd9660 /dev/cd0c /mnt
·í§Ú·Q±¾¤W CDROM ®É¡A¥X²{¤F ``Device not configured'' ªº¿ù»~°T®§
³o³q±`¬Oªí¥Ü±zªº CD-ROM ùر¨S¦³¥úºÐ¤ù¡A©ÎªÌ¬O³o¥x¾÷¾¹µLªk³Q
¶×¬y±Æ (bus) §ì¨ì¡C©ñ¤ù¥úºÐ¤ù¦b¥úºÐ¾÷ùØ¡A¦pªG¥¦¬O IDE (ATAPI) ªº
¥úºÐ¾÷ªº¸Ü¡AÀˬd¤@¤U¥¦ªº master/slave ª¬ºA¡C¥úºÐ¾÷³q±`»Ýn´X¬íÄÁ
ªº®É¶¡¤~¯à³Æ§´ (ready)¡A©Ò¥H½Ð@¤ßµ¥Ô¡C
¦³®É³o¬Oµo¥Í¦b SCSI CD-ROM ¤W¡A¦]¬°¥¦¦b¶×¬y±Æ«¸m (bus reset)
®É¨Ó¤£¤Î¦^À³¡A©Ò¥H®ø¥¢¤F¡C¦pªG±z¾Ö¦³ªº¬O SCSI CD-ROM¡A½Ð¹Á¸Õ¦b
kernel ³]©wÀɤ¤¥[¤J¥H¤Uªº³]©w¡AµM«á«·s½sĶ¡C
options "SCSI_DELAY=15"
§Úªº¦Lªí³t«×¯}¤Ñ¯îªººC¡C§Ú¸Ó«ç»ò°µ¡H
¦pªG¬O¥¦æ°ð¡A¥B°ß¤@ªº°ÝÃD´N¬O³t«×«ÜºCªº¸Ü¡A¸ÕµÛ³]©w±zªº
¦Lªí¾÷°ð¬° ``polled'' ¼Ò¦¡:
lptcontrol -p
¦³¨Ç·sªº HP ¦Lªí¾÷¦ü¥GµLªk¦b interrupt ¼Ò¦¡¤¤¥¿±`¤u§@¡A
«Ü©úÅ㪺¬O¦]¬°¤@¨Ç®É¯ß°ÝÃD (¦ýÁÙ¤£¬O«ÜÁA¸Ñ¬°¤°»ò·|¦p¦¹)
§Úªºµ{¦¡¦³®É·|¦] ``Signal 11'' ³oÓ¿ù»~¦Ó°±¤î
³oÓ³q±`¬O¦]¬°¦³°ÝÃDªºµwÅé (°O¾ÐÅé¡A¥D¾÷ªOµ¥µ¥) ©Ò³y¦¨ªº.
¸Õ¸Õ¦b±zªº PC ¤W¶]Ó°O¾ÐÅé´ú¸Õµ{¦¡¬Ý¬Ý¡Cª`·N¡A´Nºâ±z¸Õ¹Lªº¨C¤@ºØ°O
¾ÐÅé´ú¸Õµ{¦¡³£¦^³ø»¡±zªº°O¾ÐÅé¨S¦³°ÝÃD¡A¦ý¬O¡A¦³¤@¨Ç§C«~½èªº°O¾ÐÅé¡A
ÁöµM¯à³q¹L°O¾ÐÅé´ú¸Õ¡A¤£¹L¦b¯u¥¿¤u§@®É«o·|¥X°ÝÃD (¨Ò¦p±q
Adaptec 1542 µ¥µ¥ SCSI ±±¨î¥d°µ bus mastering DMA¡B¦b½s¿è kernel ®É¡B
©Î¬O¨t²Îªºt¸ü«Ü°ª®É)
SIG11 FAQ (¦ì§}¦b¤U±) «ü¥X°O¾ÐÅ骺³t«×¤£°÷§Ö³q±`¬O³oÓ°ÝÃDªºì¦]¡C
¸ÕµÛ¦b±zªº BIOS ³]©w¤¤¼W¥[°O¾ÐÅé wait ª¬ºAªº®É¶¡¡A©Î¬O§ó´«§ó§Öªº°O¾Ð
Åé¡C
¥H§Ú¦Ó¨¥¡A§Ú´¿¹J¹L¥Ñ¤£¨}ªº§Ö¨ú°O¾ÐÅé©Î¬O¤£¨}ªº on-board §Ö¨ú¥d
©Ò³y¦¨ªº³oÓ°ÝÃD¡C¸ÕµÛ¦b BIOS ³]©w¤¤¨ú®ø on-board (²Ä¤G¶¥) §Ö¨ú¡A
¬Ý¬Ý³o¼Ë¯à¤£¯à¸Ñ¨M³oÓ°ÝÃD
³o¨à¦³¤@¥÷«Ü¦nªº FAQ:
SIG11 °ÝÃDªº FAQ
·í§Ú¶}¾÷®É¡A¿Ã¹õÅܶ¡A¥B¤£°±°{°Ê¡I
³oÓ°ÝÃD¡A¤wª¾¬O¥Ñ ATI Mach 64 Åã¥Ü¥d©Ò¤Þ°_ªº¡C¦]¬°³o¶ô¥d¨Ï¥Î¨ì
2e8 ³oÓ¦ì§}¡A¦Ó³o»P²Ä¥|ӧǦC°ð(serial port)©Ò¨Ï¥Îªº¦ì§}¬Û¦P¡C¦Ó
sio.c
³oÓÅX°Êµ{¦¡¡A¤£ª¾¹D¬O bug ©Î¬O¥\¯à(feather)¡A´Nºâ±z¨S¦³²Ä¥|ӧǦC°ð¡A
©Î¬O¤w¸g±N sio3 (²Ä¥|ӧǦC°ð¡^¨ú®ø¤F¡A¥¦¨ÌµM·|¥h¹Á¸ÕÅX°Ê¥¦¡C
ª½¨ì³oÓ°ÝÃD³Q¸Ñ¨M¥H«e¡A±z¥i¥H¨Ï¥Î³oÓ¤èªk¡G
¦b¶}¾÷´£¥Ü¡]¬Ý¨ìboot: ®É¡^¥´¤J ¡C ¡]³o·|Åý kernel
¶i¤J³]©w¼Ò¦¡¡^
¨ú®ø sio0¡Asio1¡Asio2 and sio3 ¡]¥þ³¡¡^
³o¥i¥HÅý sio ÅX°Êµ{¦¡¤£°Ê§@ -> ©ó¬O°ÝÃD¸Ñ¨M¡C
¿é¤J exit ¥HÄ~Äò±Ò°Êµ{§Ç
¦pªG±z·Qn¨Ï¥Î±zªº§Ç¦C°ð¡A±z»Ýnקï
/usr/src/sys/i386/isa/sio.c¡A¦b¸ÓÀɤ¤§ä¥X 0x2e8 ³oÓ¦r¦ê
²¾°£³oÓ¦r¦ê¤Î¥¦«e±ªº³r¸¹¡]«O¯d«á±ªº¡^¡AµM«á«·s½sĶ¤@Ó·sªº kernel
´Nºâ¨Ï¥Î¤F¤W±³o¨Ç¤èªk¡AX Window ¤´µM¦³¥i¯àµLªk¶¶§Q°õ¦æ¡C¦³¨Ç·sªº
ATI Mach 64 Åã¥Ü¥d¡]¯S§O¬O ATI Mach Xpression¡^¡AµLªk¦b¥Ø«eª©¥»ªº
XFree86 ¤W¥¿±`¤u§@¡F±Ò°Ê X Window ®É¿Ã¹õÅܶ¡A©Î¬O·|¦³©_©Çªº°ÝÃD
µo¥Í¡C±z¥i¥H¨ì XFree86 ªººô¯¸
§ä¨ì new beta release ³oÓ³sµ²(link)¡A¨Ó¨ú±o X-server ªº beta ª©¡A¥¦ªº
¬Û®e±¡§ÎÀ³¸Ó´N¤ñ¸û¦n¤F¡C±z»Ýn¨ú±o¤U¦C³o¨ÇÀɮסG
AccelCards¡ABetaReport¡ACards¡ADevices¡AFILES¡AREADME.ati¡A
README.FreeBSD¡AREADME.Mach64¡ARELNOTES¡AVGADriver.Doc¡A
X312BMa64.tgz
¥H³o¨ÇÀɮרú¥N±z즳ªºÂÂÀɮסAµM«á¤Á°O¦A¶] xf86config ¤@¹M¡C
§Ú¦³ 128 MB ªº RAM¡A¦ý¬O¨t²Î¥u¥Î¨ä¤¤ªº 64MB
¦]¬° FreeBSD ¬O¨Ï¥Î©I¥s BIOS ¨Ó¨ú±o°O¾ÐÅé¤j¤pªº¤èªk¡A¦]¦¹¥¦¥u¯à
°»´ú¨ì 16 bits ¦ì¤¸ªø«×ªº KByte ¤j¤p (65535 KBytes = 64MB)
(©ÎªÌ§ó¤Ö..¡C¦³¨Ç BIOS ±N³Ì°ª°O¾ÐÅé¤j¤p¬°¥u¦³ 16MB)
¦pªG±z¾Ö¦³ 64MB ¥H¤Wªº RAM¡AFreeBSD ·|¹Á¸Õ¥h°»´ú¥X¥¦¡A¦ý¬O¦³¥i¯à
·|¥¢±Ñ¡C
n¸Ñ¨M³oÓ°ÝÃD¡A±z»Ýn¨Ï¥Î¤U±©Ò´£ªº kernel ³]©w¿ï¶µ¡C
ÁöµM¦³¤èªk¥i¥H±q BIOS ¤¤¨ú±o°O¾ÐÅ骺§¹¾ã¸ê°T¡A¦ý¬O¥Ø«e§Ú̦b
bootblock ¤¤¨Ã¨S¦³¦h¾lªºªÅ¶¡¨Ó°µ³o¥ó¨Æ¡C·í¬Y¤Ñ bootblock ªÅ¶¡
¤£¨¬ªº±¡§ÎÀò±o¸Ñ¨M®É¡A§Ú̱N·|¨Ï¥Î BIOS ªº©µ¦ù¥\¯à¨Ó¨ú±o°O¾Ð
Å骺§¹¾ã¸ê°T...¦ý²{¦b§Ú̱N¥¦©ñ¦b kernel ³]©w¿ï¶µ¤¤¡C
options "MAXMEM=<n>"
n ¬O«ü±zªº°O¾ÐÅé¤j¤p¡A¥H KB ¬°³æ¦ì¡C¥H¤@¥x¦³ 128MB RAM ªº
¾÷¾¹¨Ó»¡¡A±z¥i¨Ï¥Î 131072 ³oӼƦr¡C
FreeBSD 2.0 ¦]¬° ``kmem_map too small!'' ¦Óµo¥Í panic¡I
ª`·N ³oÓ°T®§¤]¦³¥i¯à¬O ``mb_map too small!''
³oÓ panic ¬Oªí¥Ü¨t²Î¥Î¥ú¤Fµ¹ºô¸ô½w½Ä°Ïªº©Ò¦³ªºµêÀÀ°O¾ÐÅé (¯S
§O¬O mbuf clusters)¡C±z¥i¥H¼W¥[µ¹ mbuf clusters ªº VM ªº¼Æ¶q¡A
¥un¥[¤J:
options "NMBCLUSTERS=<n>"
¦b±zªº kernel ³]©wÀɤ¤¡A<n> ¬O¤@Ó¦b 512-4096 ¶¡ªº¼Æ¦r¡A
¨Ì±z·Q´£¨Ñ¦h¤Ö¦P®Éªº TCP ³s±µ¼Æ¥Ø¦h¹è¦Ó©w¡C§Ú·|«Øij¸Õ¸Õ 2048 -
³o¼Æ¦rÀ³¸Ó¥i¥H§¹¥þÁקK³oÓ panic ¤F¡C±z¥i¥H°õ¦æ:
netstat -m ¨ÓºÊ¬Ý¦³¦h¤Ö mbuf clusters
¦b¨t²Î¤W¥¿³Q °t¸m/¨Ï¥Î¡CNMBCLUSTERS ªº¼ÆȤº©w¬°
512 + MAXUSERS * 16¡C
¥Î·s kernel ¶}¾÷®É¡A¥X²{ ``CMAP busy panic'' ³oÓ¿ù»~°T®§
¥Î¨Ó°»´ú¹L´Á /var/db/kvm_*.db Àɮתº¾÷¨î°¸º¸·|"¥XÂñ"
¦Ó¨Ï¥Î¤@Ó§t¤£¥¿½T¸ê®ÆªºÀɮצ³®É´N·|¾ÉP panic¡C
¦pªGµo¥Í¤F³oÓ°ÝÃD¡A½Ð«·s¶}¾÷¡A¶i¤J³æ¨Ï¥ÎªÌ¼Ò¦¡¡AµM«á°õ¦æ:
rm /var/db/kvm_*.db
ahc0: brkadrint¡A Illegal Host Access at seqaddr 0x0
³o¬O¤@Ó©M Ultrastor SCSI ±±¨î¥d¦³Ãöªº½Ä¬ð
¦b¶}¾÷®É¡A¶i¤J kernel ³]©w¿ï³æ
¨ú®ø uha0¡A¥¦¬O³y¦¨³oÓ°ÝÃDªºì¦]
Sendmail ¤@ª½©ê«è ``mail loops back to myself''
³oÓ°ÝÃD¦b sendmail ªº FAQ ¤¤¬O³o¼Ë¦^µªªº:-
* §Ú¤@ª½¦¬¨ì¦³Ãö "Local configuration error" ªº«H¥ó¡A¨Ò¦p:
553 relay.domain.net config error: mail loops back to myself
554 <user@domain.net>... Local configuration error
§Ún¦p¦ó¸Ñ¨M³oÓ°ÝÃD?
±z§Q¥Î MX ³]©w¡AÅýn±H¨ì¬Y domain (¦p: domain.net) ªº«H¥ó¡A
±H¨ì±z©Ò«ü©wªº¾÷¾¹ (¦b³oÓ¨Ò¤l¤¤¬° relay.domain.net)¡A¦ý¬O³o
³¡¾÷¾¹¨Ã¥¼³Q³]©w±µ¨ü domain.net ªº«H¥ó¡C§â domain.net ¥[¨ì
/etc/sendmail.cw ¤¤ (¦pªG±z¦³¨Ï¥Î FEATURE(use_cw_file)) ©Î¬O
¦b sendmail.cf ¤¤¥[¤J "Cw domain.net"
sendmail FAQ ²{¦b¤w¤£¦AÀHµÛ sendmail "¥X³f"¡C
¥¦¥Ø«e¬O³Q©w´Áªºµoªí¦b:
comp.mail.sendmail¡A
comp.mail.misc¡A
comp.mail.smail¡A
comp.answers¡A©M
news.answers¡C
±z¤]¥i¥H±H¤@«Ê Email ¨ì
mail-server@rtfm.mit.edu¡AµM«á¦b«H¥ó¤º¤å¤¤¼g¤W
"send usenet/news.answers/mail/sendmail-faq" ³oÓ«ü¥O
¥H¨ú±o³o¥÷¤å¥ó¡C
¦b»·ºÝ¾÷¾¹(remote machine)°õ¦æ¥þ¿Ã¹õªº³nÅé®É¡A¦³¤£¥¿±`ªº±¡§Î¡I
©Î³\»·ºÝ¾÷¾¹¨Ã«D±N±zªº²×ºÝ¾÷§ÎºA³]¬° FreeBSD console ©Ò¥Î
ªº cons25¡A¦Ó¬O³]¬°¨ä¥¦ºØÃþ¡C
³o¨à¦³´XӸѨM³oÓ°ÝÃDªº¤èªk:
¦b logging ¶i»·ºÝ¾÷¾¹«á¡A§ó§ï±zªº shell ÅÜ¼Æ TERM ¬°
ansi ©Î¬O sco¡C
¦b local ºÝ¥Î¤@¨Ç¥i¥H¼ÒÀÀ VT100 ªº¼ÒÀÀ¾¹¡A¦p screen¡C
screen ´£¨Ñ±z¦b¤@Ó terminal ùئP®É¶]¦n´XÓ session
ªº¯à¤O¡A¦Ó¥B¥¦¥»¨¤]¬O¤@Ó¬Û·í¦nªº³nÅé¡C
¦b»·ºÝ¾÷¾¹ªº²×ºÝ¾÷¸ê®Æ®w(terminal database)¤¤¥[¤J
cons25 ªº¸ê®Æ¡C
±Ò°Ê X µM«á§Q¥Î xterm ¨Ó login ¶i»·ºÝªº¾÷¾¹¡C
§Úªº¾÷¾¹¤@ª½Åã¥Ü "calcru: negative time..."
¸ò¤¤Â_ ¡]interrupt¡^ ¦³Ãöªº¤£¦PµwÅé »P/©Î ³nÅ骺·f°t³£¦³¥i¯à³y¦¨
³oÓ°ÝÃD¡C³o¦³¥i¯à¬O bug ©Î¬O¬YӸ˸m¥»¨ªº°ÝÃD¡C¦b¥¦æ°ð¤W¨Ï¥Î
¤jªº MTU ¨Ó§@ TCP/IP ¶Ç¿é¥i¥H«²{³oÓ°ÝÃD¡CY¬O¹Ï§Î¥[³t¥d³y¦¨³oÓ
°ÝÃDªº¸Ü¡A±zÀ³¸Ó¥ýÀˬd¥dªº¤¤Â_³]©w¡C
³oÓ°ÝÃDªºÃä»Ú®ÄÀ³¬O·|³y¦¨¦³¨Ç process ¥X²{
"SIGXCPU exceeded cpu time limit" ªº°T®§¡A¦Ó¤£¥¿±`¤¤Â_
Yª©¥»¬O 1998 ¦~ 11 ¤ë 29 ¤é¥H«áªº FreeBSD 3.0¡A¦pªG³oÓ
°ÝÃD¤@ª½µLªk¥H¨ä¥L¤èªk¸Ñ¨M¡A´N¥u¯à³]©w sysctl ÅܼơG
sysctl -w kern.timecounter.method=1
³o¼Ë·|¹ï®Ä¯à¦³¨Ç¼vÅT¡A¦ý¬OY¦Ò¼{¨ì³oÓ°ÝÃD±a¨Óªº«áªG¡A³o¼Ë°µ¬OÈ
±oªº¡C¦pªG³oÓ°ÝÃDÁÙ¬O¦s¦bªº¸Ü¡A±N sysctl ¨ºÓȨ̵M³]¬° 1¡AµM«á
¼W¥[ kernel ³]©wÀɤ¤ "NTIMECOUNTER" ³oӿﶵªº¼ÆÈ¡C¦pªG±z±N
"NTIMECOUNTER" ¼W¥[¨ì 20 ¨ÌµMµLªk¸Ñ¨M³oÓ°ÝÃD¡A¨º»ò±z¾÷¾¹¤Wªº¤¤Â_
¤w¸g¦h¨ìµLªk«O«ùéwªºª¬ºA¤F¡C
°Ó·~³nÅé
ª`·N³o¤@¸`ªº¤º®eÁÙ¬O¬Û·í¤Ö¡A¤£¹L§ÚÌ·íµM§Æ±æ¦UÓ¤½¥q¯à¬°¥¦¥[
ÂI¤º®e :) FreeBSD ²Õ´©M¦C¦b³o¸Ìªº¥ô¦ó¤@®a¤½¥q³£¨S¦³ª÷¿ú¤Wªº§Q®`
Ãö«Y¡A¦C¥X¨Ó¥u¬O¹ï¤j²³ªº¤½¶}ªA°È¡]¦P®É¤]»{¬°¦b FreeBSD ¤Wªº°Ó·~¿³
½ì¡A·|¹ï FreeBSD ªø¤[¥Í¾÷¦³·¥¥¿±ªº®Ä¯q¡^¡C§Ú̹ªÀy°Ó·~³nÅ骺¼t°Ó
§â¥L̪º²£«~¥]¬A¦b¤U±ªº¦W³æ¤¤¡A¦b
Vendors page
¥i¥H¬Ý¨ì¸ûªø¦Cªí¡C
§Ú¥i¥H¦bþÃä§ä¨ìµ¹ FreeBSD ¥Îªº Motif¡H
¥i¥HÁpµ¸ Apps2go ¨ú±o FreeBSD ELF ª©¥»ªº
Motif 2.1 ®M¥ó¡C
³oÓ®M¥ó¸Ì¦³¡G
OSF/Motif manager, xmbind, panner, wsm.
Development kit with uil, mrm, xm, xmcxx, include and Imake
files.
Static and dynamic ELF libraries¡]µ¹ FreeBSD 3.0 ¤Î¥H«áª©¥»
¨Ï¥Î¡^
Demonstration applets.
¦]¬° Apps2go ¤]¦³´£¨Ñ NetBSD ©M OpenBSD ªºª©¥»¡A©Ò¥H¦bqÁÊ
®É½Ð¯S§O«ü©w¬On FreeBSD ª©¥»ªº Motif¡I¥L̥ثe¥u´£¨Ñ¥H FTP ªº¤è¦¡¨ú±o
³o¥÷®M¥ó¡C
§ó¦h¸ê°T
Apps2go WWW º¶
©Î
Sales ©Î
Support email «H½c¡C
©Î
¹q¸Ü (817) 431 8775 or +1 817 431-8775
¤]¥i¥HÁpµ¸ Metro Link ¨ú±oµ¹ FreeBSD ELF
©Î a.out ª©¥»ªº Motif 2.1 ®M¥ó¡C
³o¥÷®M¥ó¥]¬A¡G
OSF/Motif manager, xmbind, panner, wsm.
Development kit with uil, mrm, xm, xmcxx, include and Imake
files.
Static and dynamic libraries¡]FreeBSD 3.0 ¤Î¤§«áª©¥»¬O¥Î
ELF¡FFreeBSD 2.2.8 ¤Î¤§«eªº¬O¥Î a.out¡^
Demonstration applets.
Preformatted man pages.
¥Ñ©ó Metro Link ¤]¦³´£¨Ñ Linux ªºª©¥»¡A©Ò¥HqÁÊ®Én¯S§O«ü
©ú¬O FreeBSD ª©¥»ªº Motif¡I¥i¥H¥Ñ¥úºÐ©Î±q FTP ¨Ó¨ú±o³oÓ®M¥ó¡C
Ápµ¸ Xi Graphics¡A¥LÌ´£¨Ñ¤F¤@Óµ¹ FreeBSD
¥Îªº a.out ®æ¦¡ªº Motif 2.0 ®M¥ó¡C
¦b³o®M¥ó¤¤¥]¬A¤F¡G
OSF/Motif manager, xmbind, panner, wsm.
Development kit with uil, mrm, xm, xmcxx, include and Imake
files.
Static and dynamic libraries¡]µ¹ FreeBSD 2.2.8 ©M§ó¦ª©¥»¥Îªº¡^
Demonstration applets.
Preformatted man pages.
¦b§A¸ò¥LÌqÁÊ Motif ®É¡A½Ð¤@©wµù©ú§Anªº¬O FreeBSD ªºª©¥»¡I
¦]¬° Xi Graphics ¤]¦P®É´£¨Ñ¤F BSDI ¸ò Linux ª©¥»ªº Motif¡C
¥Ø«eµo¦æªºª©¥»¬O©ñ¦b¥|¶ôºÏ¤ù¤¤¡A±N¨Ó¥LÌ·|±N©Ò¦³ªºªF¦è³£©ñ¨ì¥úºÐ¸Ì¡A
´N¹³¥LÌ©Òµo¦æªº CDE ¤@¼Ë¡C
§Ú¥i¥H¦bþÃä§ä¨ìµ¹ FreeBSD ¥Îªº CDE¡H
Xi Graphics ¥H«e¦³½æ FreeBSD ¥Îªº CDE¡A¤£¹L²{¦b¤w¸g
°±¤îµo°â¤F¡C
KDE ¬O¥t¤@Óì©l½X¤½¶}ªº
X11 ®à±µ{¦¡¡A¦³«Ü¦h¦a¤è©M CDE ¬Û·íÃþ¦ü¡C
¦³¨S¦³n¿ú¡A¦ý¬O°ª®Ä²vªº X servers¡H
¦³¡AXi Graphics ©M Metro Link ³£¦³´£¨Ñµ¹
FreeBSD¡]©Î¨ä¥L Intel ¥¥x¤W¡^¥Îªº X µøµ¡¥[³t²£«~¡C
Metro Link ´£¨Ñªº°ª®Ä¯à X Server ¨Ï¥Î¤F FreeBSD ¤ºªº package ¾ã®M¤u
¨ã¡A¦]¦¹³]©w¤Q¤À®e©ö¡A¤ä´©¥Ø«e¥«±¤W¦U¤j¼tµPªºÅã¥Ü¥d¡C¥u¦³ binary ÀɮסA
¥i¥H±q FTP ¯¸¬Û·í¤è«K¦aª½±µ¤U¸ü¡A§ó¤£¥Î»¡ Metro Link ³o®M²£«~ªº»ù®æ¬O
«D±`¦X²zªº $39¡C
Metro Link ¤]¦³´£¨Ñ FreeBSD ¤Wªº ELF ©M a.out Motif¡]©¹¤W±¬Ý¬Ý¡^¡C
§ó¦hªº¸ê°T
Metro Link WWW º¶
©Î
Sales ©Î
Support email «H½c
©Î
¹q¸Ü (954) 938-0283 or +1 954 938-0283
Xi Graphics ©Ò´£¨Ñªº°ª®Ä¯à X Server ¦³«D±`²³æªº³]©w¤è¦¡¡A¨Ã¥B¤ä´©
¤F¥Ø«e¥«±¤W·í¬õªº¦U¤j¼tµPªºÅã¥Ü¥d¡C¥¦¥uµ¹§A Binary ÀɮסA¬O¥ÎºÏ¤ùªº¤è
¦¡µo¦æ¡AFreeBSD ¸ò Linux ª©¥»³£¬Û¦P¡CXi Graphics ¦P®É¤]´£¨Ñ¤F±Mªùµ¹
laptop ¥Îªº°ª®Ä¯à X Server¡C
5.0 ª©¦³´£¨Ñ§K¶Oªº "compatibility demo" ª©¥»¡A§A¥i¥H¦b FreeBSD ªºì
¼t¥|¤ù¥úºÐ¤¤§ä¨ì¡A·íµM§A¤]¥i¥Hª½±µ¦bºô¸ô¤W¨ú±o¡C
Xi Graphics ¤]¦³¦b½æ FreeBSD ¥Îªº Motif ¸ò CDE¡]©¹¤W±¬Ý¬Ý¡^¡C
§ó¦hªº¸ê°T
Xi Graphics WWW º¶
©Î
Sales ©Î
Support email «H½c
©Î
¹q¸Ü (800) 946 7433 or +1 303 298-7478.
¦b FreeBSD ¤W¦³¥ô¦óªº¸ê®Æ®w¶Ü¡H
¦³! ½Ð¬Ý FreeBSD ºô¯¸¤W°Ó·~³nÅ餽¥q³o¤@³¡¥÷¡C
ÁÙ¦³½Ð°Ñ¦Ò ports ¤¤ Databases ¬ÛÃöªº¦¬¶°¡C
¥i¥H¦b FreeBSD ¤W°õ¦æ Oracle ¶Ü¡H
¥i¥H¡A¤U±³oÓºô¶·|»¡©ú¦p¦ó¦b FreeBSD ¤W°õ¦æ Linux ª©ªº Oracle¡G
http://www.scc.nl/~marcel/howto-oracle.html
http://www.lf.net/lf/pi/oracle/install-linux-oracle-on-freebsd
¤@¯ëÀ³¥Îµ{¦¡
¶â..§Ún¦bþ§ä¨ì§Únªºµ{¦¡©O?
½Ð¬Ý¬Ý ports ¥Ø¿ý §a¡C
³oÃ䦳¥÷¤w¸g port ¨ì FreeBSD ªº³nÅé¦Cªí¡C¥Ø«e¦³¶W¹L 1800 Ó³nÅé¤w¸g³Q
port ¨ì FreeBSD ¤W¡A¨Ã¥B¨C¤Ñ³£¦b¼W¥[¤¤¡C©Ò¥H¦³ªÅ´N¦h¬Ý¬Ý³o¥÷¦Cªí¡A
¤£µM§A¤]¥i¥Hq¾\ freebsd-announce
³o¥÷ mailing list¡A·|¦³¤H±N
¨CÓ¬P´Á³Ì·sªº³nÅé¦Cªí¶K¦b¤W±¡C
¤j³¡¥÷ªº ports À³¸Ó³£¥i¥H¦b 2.2¡A3.0 ¸ò 4.0 ªº¨t²Î¤W¨Ï¥Î¡A
¨Ã¥BÁÙ¦³³¡¥÷ªº ports ¥i¥H¦b 2.1.x ªº¨t²Î¤W¹B§@¡C
¨C¦¸·í FreeBSD release ®É¡A³£·|¦³¤@¥÷ ports tree ³Q©ñ¦b³o¤@Ó
release cd ¸Ì±ªº ports/ ¥Ø¿ý¸Ì¡C
§Ṳ́]¤ä´©¤@ºØ¥s ``package'' ªº·§©À¡A°ò¥»¤W´N¬O gzip À£ÁY¡B¥i¥Î
¨Óµo¦æªº binary ÀɮסA¦ý¬O¸Ì±ÂäF¤@¨Ç¬Û·í¦³¥Îªº¸ê°T¡A¥i¥Hµ¹¦UºØ¦Û
q¦w¸Ë¨Ó¨Ï¥Î¡C¨Ï¥ÎªÌ¤£¥²ª¾¹D¬YÓ package ¸Ì¨s³º¦³¥]¬Aþ¨ÇÀɮסA´N¥i
¥H«Ü¤è«K¦a«½Æ±N¥¦¦w¸Ë/¤Ï¦w¸Ë¡C
§A¥i¥H°õ¦æ /stand/sysinstall «á¡A¦b post-configuration
¿ï³æ¤U¿ï¾Ü package ³oÓ¦w¸Ë¿ï¶µ¡F©Î¬O¹ï¬YÓ¦³¿³½ìªº package ÀÉ®×°õ
¦æ pkg_add(1)¡A§â¥¦¸Ë°_¨Ó¡CPackage Àɮ׳q±`¥H .tgz
§@¬°©µ¦ùÀɦW¡A¤â¤W¦³ FreeBSD CDROM ªº¤H¥i¥H¦b packages/All
³oӥؿý¤U§ä¨ì³oÃþÀɮסC¹ï¤£¦Pªº FreeBSD ª©¥»¡A¤]¥i¥H±q¤U¦C¦ì§}¥Ñºô
¸ô¤W¨ú±o¡G
µ¹ 2.2.8-release/2.2.8-stable ¥Îªº
ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/i386/packages-2.2.8/
µ¹ 3.2-release/3.2-stable ¥Îªº
ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/i386/packages-3-stable/
µ¹ 4.0-current ¥Îªº
ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/i386/packages-4-current/
©Î¬OÂ÷§A³Ìªñªº mirror ¯¸¡C
nª`·Nªº¬O¡A¦]¬°·sªº port ¤@ª½¦b¼W¥[¤¤¡A©Ò¥H¨Ã¤£¬O©Ò¦³ port ³£
¦³¬Û¹ïÀ³ªº package¡C³Ì¦n©w®ÉÀˬd
ftp.FreeBSD.org¡A
¬Ý¬Ý¦³þ¨Ç package ¥i¥H¥Î¡C
§Ú¥i¥H¦bþÃä§ä¨ì libc.so.3.0?
§A¥i¯à¦b¤@¥x 2.1.x ªº¾÷¾¹¤W¡A¶]µÛµ¹ 2.2/3.x/4.0 ªº³nÅé¡C
½Ð¦A©¹¤W±¤@Ó³¹¸`¬Ý¡A¥¿½Tªº¨ú±oµ¹§A¾÷¾¹¥Îªº port/package¡C
ghostscript ¦b§Úªº 386/486SX ¤W¦³ÂI°ÝÃD©O¡I
§A¨S¦³¯BÂI¹Bºâ¾¹¡A¹ï§a¡H
§A¥²¶·¦b§Aªº kernel ¤¤¥[¤J¼Æ¾Ç¹Bºâ¼ÒÀÀ¾¹¡A§A¥i¥H¸òµÛ¤U±ªº¨BÆJ°µ¡A
¨Ã¦b§ó§ï¹L§Aªº kernel ³]©wÀÉ«á¡A«·s½sĶ¹L¤@¦¸¡C
options GPL_MATH_EMULATE
NOTE ·í§A¥[¤J¤W¤@¦æªº¦P®É¡A§A¥²¶·±N MATH_EMULATE
²¾°£±¼¡C
·í§Ú°õ¦æ SCO/iBCS2 ªºµ{¦¡®É¡A¥¦±¾¦b socksys¡C
§A¥²¶·¥ýקï /etc/sysconfig
(or /etc/rc.conf) ³oÀɮ׳̫á¤@Ó³¹¸`¡A±N¤U±©ÒÁ¿¨ìªºÅܼÆ
³]¦¨ YES:
# Set to YES if you want ibcs2 (SCO) emulation loaded at startup
ibcs2=NO
³o·|¦b¶}¾÷®É±N ibcs2
³o¤@Ó kernel ¼Ò²Õ¸ü¤J¡C
§AÁÙn±N§Aªº /compat/ibcs2/dev §ï¦¨¤U±³o¼Ë¡G
lrwxr-xr-x 1 root wheel 9 Oct 15 22:20 X0R@ -> /dev/null
lrwxr-xr-x 1 root wheel 7 Oct 15 22:20 nfsd@ -> socksys
-rw-rw-r-- 1 root wheel 0 Oct 28 12:02 null
lrwxr-xr-x 1 root wheel 9 Oct 15 22:20 socksys@ -> /dev/null
crw-rw-rw- 1 root wheel 41, 1 Oct 15 22:14 spx
§A¥u»Ýn±N socksys Âà¦V¨ì /dev/null
¥hÄF¹L open & close ªº°Ê§@¡C¦b -current ¸Ì±ªº ibcs2 ¬ÛÃöµ{¦¡½X±N·|³B
²z¨ä¾lªº³¡¥÷¡A³oºØ§@ªk¤ñ¥H«eªº¤è¦¡°®²b¤Ó¦h¤F¡C
°²¦p§A·Qn¨Ï¥Î spx ¤è±ªºµ{¦¡¡A¦b§Aªº®Ö¤ß³]©wÀɸ̱¥[¤W
SPX_HACK¡C
§Ún¦p¦ó¦b§Úªº¾÷¾¹¤W³]©w INN (Internet News)¡H
¦b§A¨Ï¥Î package ©ÎªÌ¬O port ¦w¸Ë§¹ inn ¤§«á¡A
Dave Barr's INN Page ¬OÓ«D±`¦nªº¶}©l¡A§A¥i¥H¦b¨ºÃä§ä¨ì
INN ªº FAQ¡C
§Ú¸Ó¨Ï¥Î¨ºÓª©¥»ªº Microsoft FrontPage¡H
Use the Port, Luke¡I¦b ports tree ¤¤¤w¸g¦³¤@Ó¥]§t FrontPage ªº Apache ª©¥»¤F¡C
FreeBSD ¤ä´© Java ¶Ü¡H
¦³¡A½Ð¬Ý http://www.FreeBSD.org/java.
¨º¸Ì¥i¥H§ä±o¨ì ld.so¡H
¦pªG±z§Æ±æ¦b 3.1-R ¤§«áªº ELF ¾÷¾¹¤W°õ¦æ¹³ Netscape Navagator µ¥
ªº aout µ{¦¡¡A¥¦·|»Ýn /usr/libexec/ld.so ©M aout library¡C³o¨Ç³£¥]
¬A¦b compat22 ®M¥ó¤¤¡A±z¥i¥H¥Î /stand/sysinstall ©Î compat22 ¤l¥Ø¿ý
¤Uªº install.sh ¸Ë°_¨Ó¡C
¦P®É¤]½Ð±z¬Ý¤@¤U 3.1-R ©M 3.2-R ªº ERRATA¡C
®Ö¤ß³]©w
§Ú·Q¦Ûq®Ö¤ßµ{¦¡¡A³o·|«Ü§xÃø¶Ü¡H
¤£·|¡I½Ð¬d¾\ ¨Ï¥Î¤â¥U¤¤ªº®Ö¤ß³]©w¤@¸`¡C
ª`·N¡G§Ú·|«Øij§A¦b§AÅý®Ö¤ß¯à¥¿±`¤u§@«á¡A°µ¤@Ó
kernel.YYMMDD¤é´Á§Î¦¡ªº³Æ¥÷¡A³o¼Ë¤U¦¸¦pªG§A«Ü¤£©¯ªºª±Ãa
¤F³]©w¡A¦Ü¤Ö¥i¥H¤£»Ýn¨Ï¥Î³Ìì©lªºkernel.GENERIC¡C°²¦p§A
¥¿±q¤@Ó¨S¦³¦b GENERIC kernel ¸Ì±¤ä´©ªº±±¨î¾¹¸Ì±Ò°Ê¡A³oÅã±o¯S
§O«n(¨S¿ù¡A³o¬Oµ§ªÌªº¸gÅç)¡C
§Úªº®Ö¤ß¦]¬° _hw_float ¿ò¥¢¦Ó½sĶ¥¢±Ñ¡C
Åý§Ú²q¬Ý¬Ý¡A§A§â npx0 ±q§A
ªº®Ö¤ß³]©wÀɲ¾°£¤F¡A¦]¬°§A¨S¦³¼Æ¾Ç¹Bºâ¾¹¡A¹ï¶Ü¡H¿ù¤F¡I:-) ³oÓ
npx0¬O¥²¶·n¦³ªº¡C´Nºâ§A¨S¦³¼Æ¾Ç¹Bºâ¾¹¡A§A¤´¥²¶·
¤Þ¤Jnpx0¸Ë¸m¡C
multi-port serial code ªº¤¤Â_½Ä¬ð¡C
Q. ·í§Ú½sĶ¤@Ó multi-port serial code ªº®Ö¤ß®É¡A¥¦§i¶D§Ú
¥u¦³²Ä¤@Ó³Q°»´ú¨ì¡A¨ä¥Lªº«h¦]¤¤Â_½Ä¬ð¦Ó¸õ¹L¤F¡A§Ú¸Ó«ç»ò×¥¿¥¦¡H
A. ³oÓ°ÝÃD¬O¦]¬° FreeBSD ¨Ï¥Î¤º«Øµ{¦¡½XÁקK¦]¬°µwÅé©Î³nÅé
½Ä¬ð¾ÉP®Ö¤ßµ{¦¡¹L©óªÎ¤j©ÎµL¥Î¡Cn×¥¿³oºØ±¡§Îªº¤èªk¬O°£¤F¤@Ó
port ¥~§â¨ä¥L©Ò¦³ªº IRQ ³]©w³£°µ«O¯d¡C³o¸Ì¦³¤@Ó½d¨Ò¡G
#
# Multiport high-speed serial line - 16550 UARTS
#
device sio2 at isa? port 0x2a0 tty irq 5 flags 0x501 vector siointr
device sio3 at isa? port 0x2a8 tty flags 0x501 vector siointr
device sio4 at isa? port 0x2b0 tty flags 0x501 vector siointr
device sio5 at isa? port 0x2b8 tty flags 0x501 vector siointr
§Ú¸Ó«ç»ò±Ò°Ê QIC-40/80 ªº¤ä´©¡H
§A»Ýn¦b generic config Àɤ¤§â¥H¤U³o¦æªºµù¸Ñ¨ú®ø(©Î¬O§â¥¦¥[¨ì§Aªº
³]©wÀÉ)¡A¦b fdc ³o¦æ¥[¤J``flags 0x1''µM«á«·s½sĶ®Ö¤ß¡C
controller fdc0 at isa? port "IO_FD1" bio irq 6 drq 2 flags 0x1 vector fdintr
disk fd0 at fdc0 drive 0 ^^^^^^^^^
disk fd1 at fdc0 drive 1
#tape ft0 at fdc0 drive 2
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
±µµÛ¡A§A¥i¥H¦b/dev°õ¦æ¥H¤U©R¥O¡A«Ø¥ß¤@Ó¥s /dev/ft0
ªº¸Ë¸m¡G
sh ./MAKEDEV ft0
¬Oµ¹²Ä¤@Ӹ˸m¨Ï¥Î¡C¦P²z ft1 ¬O²Ä¤GÓ¡A¥H¦¹Ãþ±À¡C
§A±N·|¦³Ó¥s/dev/ft0ªº¸Ë¸m¡A¥i¥H³z¹L¤@Ó¯S®íªºµ{¦¡¥s
``ft''ªº¨ÓºÞ²z¥¦ - ½Ð¬Ý ft
ªº man page ¦³§ó¶i¤@¨B»¡©ú¡C
ª©¥»¤ñ¦ªº¨t²Î¦b³B²zÃaªººÏ±a´CÅé®É¦³¨Ç°ÝÃD¡A¦pªG§A
ªºftºÏÀY¦³¤@ª½¦b¦P¤@Ó¦a¤è¨Ó¦^²¾°Êªº°ÝÃD¡A¹Á¸Õ±q
¸Ìªº/usr/src/sbin/ft§ä¥X³Ì·sª©ªº ft ¨Ã¥B¸Õ¬Ý¬Ý¡C
¨t²ÎºÞ²z
¨t²Î°_©l³]©wÀɦbþ¡H
±q 2.0.5R ¨ì 2.2.1R¡A¥Dnªº³]©wÀɬO /etc/sysconfig¡C
©Ò¦³ªº¿ï¶µ³£³Q«ü©w¦b³oÓÀÉ¡A¦Ó¨ä¥L¹³ /etc/rc
©M /etc/netstart ¥u¬O¤Þ¥Î¥¦¡C
Æ[¹î /etc/sysconfig ³oÓÀɨÃ×¥¿¨äÈ¥H¾A¦X§Aªº¨t²Î¡C
³oÓÀɥεù¸Ñ¶ñº¡¥Hªí¥Ü¦ó³B¸Ó©ñ¸m¤°»ò³]©w¡C
¦b 2.2.1 ¥H«á¤Î 3.0 ¡A/etc/sysconfig §ó¦W¬°¤@Ó§ó®e
©ö´yzªºÀɦW¥s rc.conf
¡A¨Ã¥B»yªk²¤Æ¤F¨Ç¡C/etc/netstart ¥ç§ó¦W¬°
/etc/rc.network ¦]¦¹©Ò¦³ªºÀɮ׳£¥i¥H¥Î cp /usr/src/etc/rc*
/etc ¨Ó«þ¨©¡C
/etc/rc.local ¥X²{¨Ã¥i¥H¥Î¨Ó±Ò°ÊÃB¥~ªº¥»¦aªA°È¹³¬O
INN
©Î¬Y¨Ç¦Ûq¿ï¶µ¡C
/etc/rc.serial ¥Î¨Óªì©l¤Æ§Ç¦C°ð(¹³¬OÂê©w°ðªº¯S©Êµ¥¡^¡C
/etc/rc.i386 ¬O Intel ±M¥Î³]©w¡A¹³¬O iBCS2 ¼ÒÀÀ©Î¬O PC
¨t²Î¥D±±¥x³]©w¡C
¥Ñ 2.1.0R ¶}©l¡A§A¤]¥i¥H¦b /etc/sysconfig (©Î
/etc/rc.conf) ¸Ì«ü©w¤@ӥؿý¾Ö¦³"¥»¦a"°_©lÀÉ¡G
# Location of local startup files.
local_startup=/usr/local/etc/rc.local.d
¨CÓ¥H .sh µ²§ÀªºÀɱN¥H¦r¥À¶¶§Ç³Q°õ¦æ¡C
°²¦p§A·Q½T«O¬YÓ°õ¦æ¶¶§Ç¤S¤£·Q§ï©Ò¦³ªºÀɦW¡A§A¥i¥H¨Ï¥Î¤@Ó²³æ
ªº¬[ºc¦p¤U¡A§Q¥Î¨Æ¥ý¦w±Æ¨ì¨CÓÀɦW«eªº¼Æ¦r¨Ó½T«O¶¶§Ç¡G
10news.sh
15httpd.sh
20ssh.sh
³o¥i¯à¬Ý°_¨Ó¦³ÂIÁà(©ÎÃþ¦ü SysV :-)) ¦ý¬O¥¦´£¨Ñ¤@Ó²³æ¦Ó³W«ßªº
¬[ºcÅý¥»¦a¥[¤Jªº®M¥ó¤£¶·½s¿è /etc/rc.local ´N¯à«·s±Æ
§Ç¡C³\¦hªº ports/packages °²³] /usr/local/etc/rc.d ¬O
¥»¦a°_©lªº¥Ø¿ý¡C
§Ú¸Ó¦p¦ó²³æ¦a¥[¤J¨Ï¥ÎªÌ¡S
¨Ï¥Î adduser «ü¥O¡C¦pªG»Ýn§ó½ÆÂøªº¨Ï¥Î¤è¦¡¡A½Ð¥Î pw ³oÓ«ü¥O¡C
n¦A¦¸²¾°£¨Ï¥ÎªÌ¡A¨Ï¥Î rmuser «ü¥O¡C
§Ú¸Ó«ç»ò§â·sµwºÐ¥[¤J FreeBSD ¨t²Î¤¤¡S
¹î¬Ý www.FreeBSD.org
ªººÏºÐ®æ¦¡¤Æ«ü¾É¤å¥ó¡C
§Ú¦³¤@Ó·sªº¥i²¾°£¸Ë¸m¡A§Ú¸Ó«ç»ò¨Ï¥Î¡S
¥i²¾°£¸Ë¸mµL½×¬O ZIP ©Î EZ(©Î¬Æ¦Ü¬O³nºÐ¾÷¡A¦pªG§An³o¼Ë¨Ï¥Î
¥¦)¡A©Î¬O¤@Ó·sªºµwºÐ¡A¥un¬O¦w¸Ë¨Ã¥Ñ¨t²Î«²Õ¡A¦Ó§A¦³ºÏ¤ù§X
/³nºÐ¤ù/©Î¨ä¥LªF¦è¥i¥H´¡¤J¡A¨º³o¨Ç¸Ë¸m³£¬OÃþ¦ü¥\¯àªºªF¦è¡C
(¥»¸`¥Dn¥Ñ Mark Mayo's ZIP FAQ ¤Þ¤J)
°²¦p¬O ZIP ©Î³nºÐ¾÷¡A§A¤w¸g¦b¤W±¦³ DOS Àɮרt²Î¡A¥i¥H¨Ï¥Î
¹³³o¼Ëªº©R¥O¡G
mount -t msdos /dev/fd0c /floppy
³o¬O°w¹ï³nºÐ¾÷¡A©Î¬O¥H¤U©R¥O¡G
mount -t msdos /dev/da2s4 /zip
¨Ï¥Î ZIP ªº¥X¼t¹w³]È¡C
¨ä¥LºÏ¤ù¡A¥Î fdisk ©Î /stand/sysinstall ¹î¬Ý
¦p¦ó°t¸m¡C
±µ¤U¨Ó³oÓ½d¨Ò¬O ZIP ¸Ë¦b da2¡A¦b²Ä¤TÓ SCSI ºÏºÐ¡C
°£«D¬O³nºÐ¾÷¡A©Î¤@Ó§Apµe¸ò¨ä¥L¤H¤À¨É¨Ï¥Îªº¥i²¾°£¸Ë¸m¡A¦b
¦w¸Ë BSD Àɮרt²Î¥i¯à¬O¤@Ó¤ñ¸û¦nªº¥D·N¡C§A±N¾Ö¦³ªøÀɦW¤ä´©
¡A¦Ü¤Ö¨â¿¥H¤Wªº®Ä²v¼W¶i¡AÁÙ¦³§ó°ªªºÃ©w«×¡Cº¥ý¡A§A»Ýn«·s
»s§@ DOS ¼hªº¤À³Î°Ï/Àɮרt²Î¡C§A¥i¥H¨Ï¥Î fdisk ©Î
/stand/sysinstall¡A©Î¹ï¤@Ó§A¤£·Q¤ä´©¦h«§@·~¨t²Îªº
¤pºÏºÐ¡A¥un§â¥¦¹º¤À¦¨¾ãÓ FAT ¤À³Îªí(slices)¨Ã¥Î¥H¤U BSD ¤À
³Îªk¡G
dd if=/dev/zero of=/dev/rda2 count=2
disklabel -Brw da2 auto
§A¥i¥H¨Ï¥Î disklabel ©Î /stand/sysinstall ¥h«Ø¥ß¦h«
BSD ¤À³Î°Ï¡CµLºÃªº¦pªG§A¥¿¦bµwºÐ¾÷¤W¼W¥[¸m´«ªÅ¶¡(swap space)®É
§A´N»Ýn³o»ò°µ¡A¦ý¬O¦b¥i²¾°£¸Ë¸m¦p ZIP ¤W¥i¯à´N¬OµL·N¸qªº¡C
³Ì«á¡A«Ø¥ß¤@Ó·sªºÀɮרt²Î¡A¤]´N¬O¦b ZIP ¸Ë¸m¤W¬O¨Ï¥Î¾ãӺϺСG
newfs /dev/rda2c
¨Ã¥B§â¥¦ mount °_¨Ó¡G
mount /dev/da2c /zip
¦b /etc/fstab ¥[¤J¤U±³o¤@¦æ¥i¯à¬O¤@Ó¦n¥D·N¡A§A¥H«á´N¥u
n¥´"mount /zip" :
/dev/da2c /zip ffs rw,noauto 0 0
§Ú¸Ó«ç»ò mount ¦¸nªº DOS ¤À³Î°Ï¡S
¦¸n DOS ¤À³Î°Ï¬O¦b©Ò¦³¥Dn¤À³Î°Ï¤§«á³Q§ä¨ì¡AÁ|¨Ò¡A¦pªG§A¦³¤@Ó
"E" ¤À³Î°Ï¦b²Ä¤GÓ SCSI ¸Ë¸mªº²Ä¤GÓ DOS ¤À³Î°Ï¡A§A»Ýn¦b /dev ¤U
«Ø¥ß "slice 5" ªº¯S®íÀɮסAµM«á mount /dev/da1s5¡G
# cd /dev
# ./MAKEDEV sd1s5
# mount -t msdos /dev/da1s5 /dos/e
§Ú¥i¥H¦b FreeBSD ¤U mount ¨ä¥L²§½è©ÊÀɮרt²Î¶Ü¡S
Digital UNIX UFS ¥úºÐ¾÷¥i¥H¦b FreeBSD ¤Wª½±µ mount¡C±q
Digital UNIX ©M¨ä¥L¤ä´© UFS ®æ¦¡ªº¨t²Î mount ºÏºÐ¤À³Î°Ï¥i¯à§ó
½ÆÂø¡A¥Dn²Ó¸`¬O¨Ì¿à§@·~¨t²ÎªººÏºÐ¤À³Îªk¡C
Linux: 2.2 ¤Î¥H«áªºª©¥»¤ä´© ext2fs ¤À³Î°Ï¡A½Ð¬d¾\
mount_ext2fs ¦³§ó¦h¸ê°T¡C
NT: ¤w¸g¦³¤@Ó FreeBSD ¤U¥i¥H¨Ï¥Îªº°ßŪ NTFS ÅX°Êµ{¦¡
¦s¦b¡A§ó¦h¸ê°T§A¥i¥H¹î¬Ý Mark Ovens ¦b http://www.users.globalnet.co.uk/~markov/ntfs_install.html
ªº«ü¾É¤¶²Ð¡C
¦pªG±z¯à´£¨Ñ¥ô¦ó³oÓ¥DÃDªº¨ä¥L¸ê°T¡A§ÚÌ·|«Ü·P¿E¡C
§Ú¸Ó¦p¦ó¨Ï¥Î NT loader ¨Ó±Ò°Ê FreeBSD¡S
³Ì´¶¹Mªº·Qªk¬O§â§A쥻 FreeBSD root ¤À³Î°Ïªº²Ä¤@Ӻϰϫþ¨©¨ì
DOS/NT ¤À³Î°Ï¸Ìªº¤@ÓÀɮפº¡C°²³]§A©R¦W¥¦¬°¡G
c:\bootsect.bsd (¥Ñ c:\bootsect.dos
±Â·N¦Ó¨Ó)¡A±µµÛ§A¥i¥H½s¿è c:\boot.ini Àɮפº®e¦p¤U¡G
[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Windows NT"
C:\BOOTSECT.BSD="FreeBSD"
C:\="DOS"
¦¹µ{§Ç°²³] DOS¡ANT¡AFreeBSD¡A©Î¨ä¥L§@·~¨t²Î¤w¸g³Q¦w¸Ë¦b
<¦P¤@Ó> ºÏºÐªº¦U¦Û¤À³Î°Ï¡C¥»¨Ò¤¤§Úªº DOS & NT ¬O¦b²Ä¤@
Ó¤À³Î°Ï¦Ó FreeBSD ¦b²Ä¤GÓ¡C§Ú¤]§â FreeBSD ¦w¸Ë¦¨¥Ñ native
partition ±Ò°Ê¡A¦Ó¤£¬O ±qºÏºÐªº MBR¡C
Mount ¤@Ó DOS ®æ¦¡¤Æªº³nºÐ¡]°²¦p§A¤w¸gÂà´«¨ì NTFS¡^©Î FAT ¤À
³Î°Ï¨ì /mnt¡G
dd if=/dev/rda0a of=/mnt/bootsect.bsd bs=512 count=1
«·s¶}¾÷¶i¤J DOS ©Î NT¡CNTFS ¨Ï¥ÎªÌ§â bootsect.bsd ¥H¤Î/©Î
bootsect.lnx ±q³nºÐ«þ¨©¨ì C:\¡Cקï boot.ini
ªºÄÝ©Ê(¦s¨ú³\¥i)¡G
attrib -s -r c:\boot.ini
½s¿è¨Ã±q¤Wz boot.ini ªº½d¨Ò¥[¤J¬ÛÃö¾A·íªº¶µ¥Ø¡A¦A§âÄݩʦ^´_
¡G
attrib +r +s c:\boot.ini
¦pªG FreeBSD ¬O¥Ñ MBR ±Ò°Ê¡A¦b§A«·s³]©w±qþÓ native ¤À³Î°Ï±Ò°Ê«á
¡A¥Î DOS ªº ``fdisk'' ©R¥O¦^´_¥¦¡C
§Ú¸Ó¦p¦ó¥Î LILO ±Ò°Ê FreeBSD ©M Linux¡S
¦pªG§A¦b¦P¤@ӺϺо÷¸Ì¦³ FreeBSD ©M Linux¡A¥un¸òÀH LILO ªº¦w
¸Ë«ü¥O¡A±q¤@Ó«D Linux §@·~¨t²Î±Ò°Ê¡C²²¤»¡©ú¦p¤U¡G
±Ò°Ê Linux¡A¨Ã¦b /etc/lilo.conf ¤¤¥[¤J¥H¤U´X¦æ¡G
other=/dev/hda2
table=/dev/hda
label=FreeBSD
¡]¤W±¬O°²³]§Aªº FreeBSD slice ¦b Linux ¬O /dev/hda2¡F½Ð
°t¦X¦Û¤vªº³]©w¡^¡CµM«á¡A¥Î root °õ¦æ lilo À³¸Ó´N§¹¦¨¤F¡C
°²¦p FreeBSD ¦b¥t¥~¤@ӺϺСA§A¥²¶·¦b LILO ¿ï¶µ¤¤¥[¤J
``loader=/boot/chain.b''¡AÁ|¨Ò¡G
other=/dev/dab4
table=/dev/dab
loader=/boot/chain.b
label=FreeBSD
¬Y¨Ç±¡§Î§A¥²¶·«ü©w BIOS ºÏºÐ¥N¸¹µ¹ FreeBSD boot loader ¥H´Á±q²Ä
¤GºÏºÐ¦¨¥\ªº±Ò°Ê¡CÁ|¨Ò¡A°²¦p FreeBSD SCSI ºÏºÐ¦b BIOS ¤¤°»´ú
¬O BIOS disk 1¡A¨º¦b FreeBSD boot loader ªº´£¥Ü¸¹¥X²{®É§A¥²¶·«ü
©w¡G
Boot: 1:da(0,a)/kernel
¦b FreeBSD 2.2.5 ©M¤§«áªºª©¥»¡A§A¥i¥H³]©w boot(8)
³o¼Ë¨C¦¸±Ò°Ê®É´N·|¦Û°Ê°õ¦æ¡C
Linux+FreeBSD mini-HOWTO ¬O FreeBSD ©M Linux ¦@¥Î¾Þ§@ªº¨}¦n
°Ñ¦Ò¤å¥ó¡C
§Ú«ç»ò¨Ï¥Î BootEasy ¨Ó±Ò°Ê FreeBSD ©M Linux¡S
¦b Linux ±Ò°Ê¤À³Î°Ï¦w¸Ë LILO ¨ú¥N¥Dn±Ò°Ê¸ê®Æ(Master Boot
Record)¡C±µµÛ§A¥i¥H±q BootEasy ±Ò°Ê LILO¡C
°²¦p§A¥¿¦b¥Î Windows-95 ©M Linux¡A³o¦³¤@Ó«Øij¤èªk¡Gn§ó²³æ
ªº±q Linux ¦A¦¸±Ò°Ê¦b©ó§A¬O§_À³¸Ó«·s¦w¸Ë Windows95¡]³o¬O¤@Ó
µ½§ªªº§@·~¨t²Î¡A¥¦À£¢¤£Åý¨ä¥L§@·~¨t²Î¦s¦b©ó Master Boot Record
¤º¡^¡C
¤@Ó©Ò¿×``¦MÀI©^Äm(dangerously dedicated)''ªººÏºÐ¦³®`¶Ü¡S
¦w¸Ëµ{§Ç¤¹³\§A¿ï¾Ü¨âºØ¤£¦Pªº¤èªk¨Ó¤À³Î§Aªº
ºÏºÐ¾÷¡C¤º©w¤èªk¬°¤F¦b¦P¤@¥x¾÷¾¹¤W©M¨ä¥L§@·~¨t²Î¥i¥H¬Û®e¡A©ó¬O
¨Ï¥Î fdisk table entries(FreeBSD ¸ÌºÙ¤§¬°``slices'')¡AFreeBSD
ªº slice ´N¬O¨Ï¥Î¾ãÓ¦Û¤vªº¤À³Î°Ï¡C¥i¨Ñ¿ï¾Üªº¬O¡A§A¥i¥H¿ï¾Ü¦w¸Ë
±Ò°Ê¿ï¾Ü¾¹(boot-selector) ¦bºÏºÐ¾÷¼ÆÓ¥i¯àªº§@·~¨t²Î¤W¨Ó¦^¤Á´«¡C
¥t¥~¤@Ó¥i¿ï¾Üªº¥Îªk¬O§â¾ãӺϺм·µ¹ FreeBSD ¨Ï¥Î¡A¨Ã¥B¤£°µ¨ä¥L
§@·~¨t²Îªº¬Û®e©Ê¦Ò¶q¡C
¦]¦¹¬°¦ó¥s¥¦``¦MÀIªº''¡S¤@Ó³B©ó³oºØ¼Ò¦¡ªººÏºÐ¾÷¤£¥]§t¯à³Q¥¿
±` PC ¤½¥Îµ{¦¡µø¬°¦³®Äªº fdisk table¡C¨Ì´`¥¦Ì³Q³]pªº¼Ò¦¡¡A¥u
n¥¦Ì¦b³o¼Ë¤@ӺϺо÷¤¤¤@¥¹³QIJ¤Î¥i¯à´N·|²£¥Í¿ù»~ªº´£¥Ü¡A©Î§ó
ÁV¿|ªº¡A¥i¯à¥¼¸g´£¥Ü©Î³qª¾§A´N§â FreeBSD bootstrap §ËÃa¡C¥t¥~
¡A``¦MÀI©^Äm''ªººÏºÐ layout ·|»~¾É³\¦h¼tµPªº BIOSsen(BIOS °»´ú)
¹³¬OAWARD(¤ñ¦p»¡¦b HP Netserver ©M Micronics µ¥¥H¤Î¨ä¥L³\¦h¨t
²Î)¡A©M Symbios/NCR(¦p¦b SCSI controllers ¤¤«Ü¬y¦æªº 53C8xx
¨t¦C)¡C³o¨Ã«D¤@Ó§¹¾ãªº¦Cªí¡AÁÙ¦³§ó¦h¥¼¦C¥X¡C³oºØ»~¾Éªº¼x¥ü¥]
¬A¥Ñ FreeBSD bootstrap ±Ò°Ê¡A·íµwºÐµLªk³Q§ä¨ì®É¦Ó¦L¥X "read
error" ªº°T®§¡A¥HP©ó¾ãÓ¨t²Î¦b±Ò°Ê¤¤¾ãÓ°±º¢¡C
¨º¬°¦ó¤Sn¦³³oºØ¼Ò¦¡©O¡H¥¦¥u¸`¬ÙºÏºÐªÅ¶¡¤¤¼Æ kbyte ªº¤j¤p¡A
¦Ó¹ï¤@Ó·sªº¦w¸Ë¹Lµ{¤¤«o¥i¯à²£¥Í¹ê»Úªº§xÃø¡C`¦MÀI©^Äm'¼Ò¦¡ì¥»
ªº·Qªk¬O°ò©óÁקK¤@Ó¥þ·s FreeBSD installer ¤¤³Ì±`¨£ªº°ÝÃD - ¬°
¤Fn¦bºÏºÐ¾÷¤W°t¦X BIOS ªº ``geometry'' ¼Æ¥Ø¡C
``Geometry''¬O¤@Ó¦³ÂI¸¨¥îªº·§©À¡A¦ý¬O«o¤´¦b PC ªº BIOS ¤¤
¨Ï¥Î¨Ã¥B»PºÏºÐ¾÷¥æ¤¬¹B§@µÛ¡A·í FreeBSD installer «Ø¥ß slice ®É
¡A¥¦¥²¶·°O¿ý³o¨Ç slices ¦bºÏºÐ¾÷¤Wªº¦ì¸m¡A³o¤èªk¥²¶·©M BIOS §Æ
±æ¯à§ä¨ì¥¦Ìªº¦ì¸m¤@P¡C°²¦p¿ù¤F¡A§A±N¤£¥i¯à±Ò°Ê¨t²Î¡C
``Dangerously dedicated''¼Ò¦¡(«á±·|²ºÙ¬° DD mode)¸ÕµÛnÅý
³oÓ°ÝÃD²³æ¤@ÂI¡A¬Y¨Ç±¡§Î¤U¥¦°µ¹ï¤F¡C¦ý³o¥u¯à·í¦¨³Ì«áªº¤U¤U¤§
µ¦ - ÁÙ¦³§ó¦nªº¤èªk¥i¥H¸Ñ¨M³o°ÝÃDªºµ´¤j³¡¥÷¡C(ĶªÌ¡G³o³¡¥÷¥Î¤F
³\¦hªº¤f»y¥Îµü¡Aì¤å·Ó¿ý¥H¨Ñ¹ï·Ó¡C)
``Dangerously dedicated'' mode tries to work around this
by making the problem simpler. In some cases, it gets it right.
But it's meant to be used as a last-ditch alternative - there
are better ways to solve the problem 99 times out of 100.
¦]¦¹¡A·í§A¦b¦w¸Ë®É«ç»òÁקKn¨Ï¥Î``DD''¼Ò¦¡¡H¦b¶}©l®É°O¤U
BIOS n¨D¨Ï¥ÎºÏºÐ¾÷ªº geometry¡A§A¥i¥H¦b±Ò°Êªº ``boot:''´£¥Ü
¸¹¥X²{®É¡A¥H``-v''«ü©w®Ö¤ß¦L¥X³oÓ°T®§¡A©Î¬O¦b loader ¸Ì±
¨Ï¥Î``boot -v''¡C¦b installer ¶}©l°Ê§@«e¡A®Ö¤ß·|¦L¥X¤@¦ê BIOS
geometries¡C§Oºò±i - µ¥ installer ¶}©l±Ò°Ê«á¨Ï¥Î scrollback
¤è¦¡¥hŪ³o¨Ç¼Æ¦r¡A«ö·ÓºD¨Ò¦a BIOS ºÏºÐ¾÷ªº³æ¤¸·|¸ò FreeBSD ¦C
Á|¥X¨Óªº¤@¼Ë¡AIDE ¥ý¡AµM«á¤~¬O SCSI¡C
·í§A¦b¤À³Î§AªººÏºÐ®É¡AÀˬd¦b FDISK ¿Ã¹õ¤W¥X²{ªººÏºÐ geometry
¬O¥¿½Tªº(¤]´N¬O»¡n¸ò BIOS ªº¼Æ¦r¬Û²Å¦X)¡F¦pªG¿ù¤F¡A¥Î``g''«öÁä
קï¡C·í§A¦b¿Ã¹õ¤W¬Ý¤£¨ì¥ô¦óºÏºÐ¾÷¡A©Î°²¨ÏºÏºÐ¾÷¤w¸g¥Ñ¥t¤@Ó¨t
²Î¤¤²¾°£®É¡A¯S§OÀ³¸Ó³o»ò°µ¡Cȱoª`·Nªº¬O³o¥u¬O«ü©w§An¥ÑþӺϺÐ
¤W±Ò°Ê¡FFreeBSD ±N·|¦Û¦æ§ä¥X¦b§A¨t²Î¤Wªº¨ä¥LºÏºÐ¾÷¡C
¤@¥¹§A¨ú±o BIOS ¸ò FreeBSD ¨âªÌ¹ïºÏºÐ¾÷ geometry ªº¦@ÃÑ¡A§A
ªº§xÃø´X¥G¤w¸gªï¤b¦Ó¸Ñ¡A¦Ó¥B¦A¤]¤£»Ýn¨Ï¥Î``DD''mode¡CµM¦Ó¡A°²
¦p§A¤´¾á¤ß·í§A¹Á¸Õ±Ò°Ê®É·|¬Ý¨ì``read error''°T®§¡A³o®ÉÔ§A¯à°µ
ªº´N¬Oë§iµM«á¸Õ¬Ý¬Ý - ¤Ï¥¿¤]¨S¤°»ò¦n¥¢¥hªº¡C
n§â``¦MÀI©^Äm''ªººÏºÐ¦^´_¨ì¥¿±` PC ¨Ï¥Î¡A°ò¥»¤W¦³¨âÓ¿ï¾Ü¡C
²Ä¤@¡A¬O§A§â¨¬°÷ªº NULL ¦ì¤¸²Õ¼g¤J MBR ½T«O¥ô¦óÀH«áªº¦w¸Ëµ{
¦¡¬Û«H³o¥u¬O¤@ӪťժººÏºÐ¡CÁ|¨Ò¨Ó»¡§A¥i¥H³o¼Ë°µ¡G
dd if=/dev/zero of=/dev/rda0 count=15
©Î¬O±Ä¥Î¥t¥~¤@Ó¡A«D¥¿¦¡ªº DOS ``¯S¦â''¡G
fdisk /mbr
³o±N·|¦w¸Ë¤@Ó¥þ·sªº¥Dn±Ò°Ê°O¿ý¡A¦]¦¹·|¯}Ãa BSD bootstrap¡C
§Ú¦p¦ó¯à¥[¤J§ó¦hªº¸m´«ªÅ¶¡(swap space)¡S
³Ì¦nªº¤èªk¬O¼W¥[§A swap ¤À³Î°Ïªº¤j¤p¡A©Î§Q¥Î³oÓ¤è«K²z¥Ñªº¦n³B¥h
¼W¥[¥t¤@ÓµwºÐ¡CºD¨Òºâªk¬O¥Î¥D°O¾ÐÅ骺¨â¿·í¸m´«ªÅ¶¡(swap space)
¡AµM¦Ó¦pªG§A¥u¦³«Ü¤Ö¶qªº¥D°O¾ÐÅé¡A§A¥i¯à·Q¥t¥~³]©w swap¡C³]©w¨¬°÷
ªº¸m´«ªÅ¶¡¡A¨Ã¬°¥H«á°O¾ÐÅéÂX¥R¹w§@·Ç³Æ¥i¯à¬OÓ¦n¥D·N¡A³o¼Ë¥H«á´N
¤£»Ýn¦A°µ¤@¦¸¸m´«ªÅ¶¡ªº³]©w¡C
¦b¤À´²ªººÏºÐ¤W¼W¥[¸m´«ªÅ¶¡·|¤ñ³æ¯Â¦a¦b¦P¤@ӺϺХ[¤J¸m´«ªÅ¶¡
Åý®Ä²v¨Óªº§Ö¤@ÂI¡CÁ|¤@Ó¨Ò¤l¨Ó»¡¡A¦pªG§A¥¿¦b¤@ӺϺи̽sĶ¨Ó
·½µ{¦¡¡A¦Ó¸m´«ªÅ¶¡¦b¥t¤@ӺϺСA³o·|¤ñ¸m´«ªÅ¶¡¸ò½sĶµ{¦¡³£¦b
¦P¤@ӺϺЮɨӱo§Ö¡C³o¹ï SCSI ºÏºÐ¾÷¯S§O¥¿½T¡C
·í§A¦³¦n´XӺϺо÷®É¡A¦b¨CӺϺФW³]©w¤@Ó swap ¤À³Î°Ï¬O¦³
§Qªº¡A¬Æ¦Ü³Ì«á¨Ï¥Î¤@¾ãӺϺо÷·í¸m´«ªÅ¶¡¡C¤@¯ë¨Ó»¡¡A¨CÓ¨t²Î
¤Wªº§Ö³tºÏºÐ³£À³³]©w¬Y¨Ç swap¡AFreeBSD ¤º©w¤ä´©³Ì¦h¥|Ó¥æ¿ù¦¡
swap ¸Ë¸m¡C³q±`³]©w¦h« swap ¤À³Î°Ï®É§A·|·QÅý¥¦Ì³£¨Ï¥Î¦P¼Ë¤j
¤p¡A¦ý¦³®É§ÚÌ·|·QÅý¥Dn swap ¤À³Î°Ï(primary swap partition)
§ó¤j¤@ÂI¥H®e¯Ç®Ö¤ßµ{¦¡ªº core dump¡C§Aªº primary swap
partition ¦Ü¤Ö¥²¶·©M¥D°O¾ÐÅé¤@¼Ë¤j¡A¥H¯à®e¯Ç¤@Ó kernel core¡C
IDE ºÏºÐ¨Ã¤£¤¹³\¦P®É¦b¦P¤@³q¹D¸Ì¦s¨ú¨âӸ˸m¡]FreeBSD ¤£¤ä´©
mode 4¡A¦]¦¹©Ò¦³ªº IDE ºÏºÐ I/O ¬O``¥iµ{¦¡¤Æªº''¡^¡CµM¦Ó§Ú¤´
·|«Øij§A§â¸m´«ªÅ¶¡©ñ¦b¤À§OªººÏºÐ¡CºÏºÐ¾÷³o»ò«K©y¡A¹ê¦b¨S¤°»ò
¦n¾á¤ßªº¡C
¦b NFS ¤W°µ¸m´«¶È¦b¥H¤U±¡§Î³Q«Øij¨Ï¥Î¡G§A¨S¦³¦Û¤vªººÏºÐ¥i
¥H¨Ï¥Î¡CFreeBSD 4.0 ¥H«e release ªºª©¥»¦b NFS ¤W°µ¸m´«¬O¬Û·í
½wºC¦ÓµL®Ä²vªº¡A¦ý¦bµ¥©ó 4.0 ©Î¤§«áªº release ª©¥»´N¦³¦X²zªº
³t«×¤F¡C§Y¨Ï¦p¦¹¡AÁÙ¬O¨ü¨ìºô¸ô¦³®ÄÀW¼e©M¦b NFS server ¤WÃB¥~
¸Ë¸üªº¨î¡C
³o¸Ì¦³Ó½d¨Ò¬O¥Î 64MB vn-swap (/usr/swap0¡A·íµM§A¯à¥Î
¥ô¦ó§A·Q¥Îªº¦W¦r¡^¡C
½T©w§Aªº®Ö¤ßµ{¦¡«Ø¥ß®É¦³¥]§t¥H¤U³o¦æ¡G
pseudo-device vn 1 #Vnode driver (turns a file into a device)
¦b§Aªº³]©wÀɤ¤¡CGENERIC ³oӮ֤ߤw¸g¥]§t³o¶µ¤F¡C
«Ø¥ß¤@Ó vn-device
cd /dev
sh ./MAKEDEV vn0
«Ø¥ß¤@Ó¸m´«ÀÉ (/usr/swap0)
dd if=/dev/zero of=/usr/swap0 bs=1024k count=64
³]©w¾A·íªº¦s¨úÅv©ó(/usr/swap0)
chmod 0600 /usr/swap0
¦b /etc/rc.conf ¤¤±Ò°Ê¸m´«ÀÉ
swapfile="/usr/swap0" # Set to name of swapfile if aux swapfile desired.
«·s¶}¾÷¡C
n°¨¤W±Ò°Ê¸m´«ÀÉ¡AÁä¤J¡G
vnconfig -ce /dev/vn0c /usr/swap0 swap
§Ú¤£·|³]©w§Úªº¦Lªí¾÷¡C
½Ð°Ñ¾\ Handbook ¸Ì¦³Ãö¦C¦Lªº³¡¥÷¡C³oÀ³¸Ó¯à¸Ñ¨M§A¤j³¡¤Àªº°ÝÃD¡A½Ð¬Ý
Handbook entry on printing.
§Ú¨t²Î¤WªºÁä½L°t¸m¿ù¤F¡C
kbdcontrol µ{¦¡¦³¤@ӿﶵ¥i¥HŪ¨úÁä½L°t¸mÀɮסC¦b
/usr/share/syscons/keymaps ¦³¤@¨Ç°t¸mÀÉ¡C¿ï¾Ü¤@Ó¸ò§Aªº
¬ÛÃöªº¨ÃŪ¨ú¥¦¡C
kbdcontrol -l uk.iso
/usr/share/syscons/keymaps ©M .kbd ©µ®i¶°¨âÓ³£¥Ñ
kbdcontrol ©ÒÂ_©w¡C
¥i¥H±q /etc/sysconfig (©Î rc.conf)
¨Ó³]©w¡A½Ð¬Ý¦¹Àɸ̬ÛÃöªºµù¸Ñ¡C
¦b 2.0.5R ¤Î¨ä¤§«áªºª©¥»¡A©Ò¦³¸ò¤å¦r¦r«¬¡AÁä½L¹ïÀ³¬ÛÃöªº³]©w³£¦b
/usr/share/examples/syscons¡C
¥H¤U¬O¥Ø«e¤ä´©ªº¹ïÀ³³]©w¡G
Belgian ISO-8859-1
Brazilian 275 keyboard Codepage 850
Brazilian 275 keyboard ISO-8859-1
Danish Codepage 865
Danish ISO-8859-1
French ISO-8859-1
German Codepage 850
German ISO-8859-1
Italian ISO-8859-1
Japanese 106
Japanese 106x
Latin American
Norwegian ISO-8859-1
Polish ISO-8859-2 (programmer's)
Russian Codepage 866 (alternative)
Russian koi8-r (shift)
Russian koi8-r
Spanish ISO-8859-1
Swedish Codepage 850
Swedish ISO-8859-1
Swiss-German ISO-8859-1
United Kingdom Codepage 850
United Kingdom ISO-8859-1
United States of America ISO-8859-1
United States of America dvorak
United States of America dvorakx
§ÚµLªkÅý user quotas ¥¿±`¤u§@¡C
¤£n¦b '/' ¥´¶} quotas¡A
§â quotas ÀÉ©ñ¦b¥¦¥²¶·±j¢¸m¤JªºÀɮרt²Î¤º¡AÁ|¨Ò¡G
FS QUOTA FILE
/usr /usr/admin/quotas
/home /home/admin/quotas
...
§Úªº ccd ¦³¦ó¤£§´¡S
³oºØ±¡§Îªº¼x¥ü¬O¡G
# ccdconfig -C
ccdconfig: ioctl (CCDIOCSET): /dev/ccd0c: Inappropriate file type or format
#
³q±`³o·|µo¥Í¦b§A¹Á¸Õn³sµ² `c' ¤À³Î°Ï¡A³o¤º©wªº«¬§O¬O`µLªk¨Ï¥Îªº'
¡Cccd ÅX°Êµ{¦¡»Ýnªº°ò¦¤À³Î°Ï«¬§O¬° FS_BSDFFS¡A½s¿è§An¸ÕµÛ³sµ²ªººÏºÐ
¼Ð°O¨Ã§ó§ï¤À³Î°Ïªº«¬§O¬°`4.2BSD'¡C
¬°¦ó§Ú¤£¯à½s¿è§Ú ccd ªººÏºÐ¼Ð°O¡S
³oºØ±¡§Îªº¼x¥ü¬O¡G
# disklabel ccd0
(³o¸Ì¦L¥X¬Y¨Ç©úÅ㪺¸ê®Æ¡A©Ò¥H¸ÕµÛ½s¿è¥¦¡^
# disklabel -e ccd0
(½s¿è¡AÀx¦s¡AµM«áÂ÷¶})
disklabel: ioctl DIOCWDINFO: No disk label on disk;
use "disklabel -r" to install initial label
#
³o¬O¦]¬°¥Ñ ccd ¶Ç¦^ªººÏºÐ¼Ð°O¨Æ¹ê¤W¬O¤@Ó`°²ªº'¦Ó¨S¦³¯u¥¿¦bºÏºÐ
¤W¡C§A¥i¥H§â¥¦§¹¥þ¼g¤J¨Ó¸Ñ¨M³oÓ°ÝÃD¡A¹³³o¼Ë¡G
# disklabel ccd0 > /tmp/disklabel.tmp
# disklabel -Rr ccd0 /tmp/disklabel.tmp
# disklabel -e ccd0
(this will work now)
FreeBSD ¤ä´© System V IPC ®æ¦¡«ü¥O¶°¡H
¬Oªº¡AFreeBSD ¤ä´© System V-style IPC¡C³o¥]¬A¦@¨É°O¾ÐÅé¡A°T®§¸ò
«H¸¹¡C§A»Ýn¦b§Aªº®Ö¤ß³]©wÀɤº¥[¤J¤U¦C´X¦æ¥H±Ò°Ê¥¦Ì¡C
options SYSVSHM
options "SHMMAXPGS=64" # 256Kb of sharable memory
options SYSVSEM # enable for semaphores
options SYSVMSG # enable for messaging
«·s½sĶ¨Ã¦w¸Ë¡C
ª`·N¡G ¦pªG§An°õ¦æ GIMP §A¥i¯à»Ýn¼W¥[ SHMMAXPKGS ¨ì¬Y¨Ç¯î
ÂÕªº¼Æ¥Ø¹³¬O 4096(16M!)¡A256Kb ¹ï X11R6 ¦@¨É°O¾ÐÅé¨Ó»¡¤w¸g¥R¤À¨¬
°÷¤F¡C
§Ú¸Ó¦p¦ó¨Ï¥Î sendmail ³z¹L UUCP ¨Ó»¼°e¶l¥ó¡H
¸òÀH FreeBSD ®M¸Ë¦Ó¨Óªº sendmail ³]©w¬O¾A¦X¨º¨Çª½±µ³s¤Wºô»Úºô¸ô
ªº¯¸¥x¡C·Q³z¹L UUCP ¥æ´«¶l¥óªº¯¸¥x¥²¶·¥t¥~¦w¸Ë sendmil ªº³]©wÀÉ
®×¡C
¤â°Êקï /etc/sendmail.cf ¬Oµ´¹ï¥²nªº¡C²Ä 8 ª©ªº
sendmail ´£¨Ñ¤@Ó¥þ·sªº¤J¤f¥H³z¹L¤@¨Ç¹³ m4 ªº³B²z´N¯à
²£¥Í³]©wÀÉ¡A³o¨Æ¹ê¤W¬O¤@Ó°ª¼h·§©Àµ¥¯Åªº§Þ¥©©Ê³]©w¡C§AÀ³¸Ó¥i¥H¦b¥H
¤UÀɮ׸̨ϥΥ¦¡G
/usr/src/usr.sbin/sendmail/cf
°²¦p§A¤£¬O¥Î full sources ¤è¦¡¦w¸Ë¨t²Î¡A¨º»ò sendmail ³]©w¶µ¥Ø¥i
¯à¤w¸g¤À´²¦¨¦n´XÓ¨Ó·½¤À¥¬Àɦbµ¥µÛ§A¡A°²³]§A¤w¸g mount ¥úºÐ¾÷¡A°µ
¥H¤U°Ê§@¡G
cd /usr/src
tar -xvzf /cdrom/dists/src/ssmailcf.aa
§OÅå·W¡A³o¥u¦³¼Æ¤Q¸UӦ줸²Õªº¤j¤p¡C¦b cf ¥Ø¿ý¸Ìªº
README ¥i¥H´£¨Ñ¤@Ó m4 ³]©wªkªº°ò¥»¤¶²Ð¡C
¥H UUCP »¼°e¨Ó»¡¡A«Øij§A³Ì¦n¨Ï¥Î mailertable ¯SÂI¡C
«Øºc¤@Ó¸ê®Æ®wÅý sendmail ¥i¥H¨Ï¥Î¥¦¦Û¤vªº¸ô®|¨Mµ¦¡C
º¥ý¡A§A¥²¶·«Ø¥ß¦Û¤vªº .mc ÀÉ¡C
/usr/src/usr.sbin/sendmail/cf/cf ¥Ø¿ý¬O³o¨ÇÀɮתº®a¡C
¬d¬Ý¤@¤U¡A¤w¸g¦³¦n´XÓ½d¨ÒÀÉ¡A°²³]§A¤w¸g©R¦W¦Û¤vªºÀÉ¥s
foo.mc¡A§An°µªº¥u¬O§â¥¦Âà´«¦¨¤@Ó¦³®Äªº
sendmail.cf ¡G
cd /usr/src/usr.sbin/sendmail/cf/cf
make foo.cf
cp foo.cf /etc/sendmail.cf
¤@Ө嫬ªº .mc Àɬݰ_¨Ó¥i¯à¹³³o¼Ë¡G
include(`../m4/cf.m4')
VERSIONID(`Your version number')
OSTYPE(bsd4.4)
FEATURE(nodns)
FEATURE(nocanonify)
FEATURE(mailertable)
define(`UUCP_RELAY', your.uucp.relay)
define(`UUCP_MAX_SIZE', 200000)
MAILER(local)
MAILER(smtp)
MAILER(uucp)
Cw your.alias.host.name
Cw youruucpnodename.UUCP
nodns ©M nocanonify ¯S©Ê±NÁקK¥ô¦ó¦b»¼°e¶l¥ó
®É·|¥Î¨ì DNS ªº¾÷·|¡CUUCP_RELAY ¶µ¥Øªº¥X²{²z¥Ñ«Ü©_©Ç¡A
´N¤£n°Ý¬°¦ó¤F¡C²³æªº©ñ¤J¤@Óºô»Úºô¸ô¤W¥i¥H³B²z .UUCP µêÀÀºô°ì
¦ì§}ªº¥D¾÷¦WºÙ¡F³q±`¡A§A¥u»Ýn¦b³o¸Ì¶ñ¤J§A ISP ªº«H¥ó¦^ÂгB
(mail replay)¡C
§A¤w¸g°µ¨ì³o¸Ì¤F¡A§AÁÙ»Ýn³oÓ¥s /etc/mailertable ªº
ÀɮסC¤@Ө嫬ªº½d¨Ò¦p¤U¡G
#
# makemap hash /etc/mailertable.db < /etc/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:sax
¦p§A©Ò¨£¡A³o¬O¬YÓ¯u¹êÀɮ׸̪º¤@³¡¥÷¡Cº¤T¦æ³B²zºô°ì©w§}«H¥ó
¤£À³¸Ó³Q°e¥X¨ì¤º©w¸ô®|¡A¦Ó¥Ñ¬Y¨Ç UUCP ¾F©~(UUCP neighbor)¨ú¥N
ªº¯S®í±¡§Î¡A³o¬O¬°¤F``ÁYµu''»¼°eªº¸ô®|¡C¤U¤@¦æ³B²z¨ì¥»¦a¤A¤Ó
ºô¸ôºô°ìªº«H¥óÅý¥¦¥i¥H¨Ï¥Î SMTP ¨Ó»¼°e¡C³Ì«á¡AUUCP ¾F©~´£¨ì
.UUCP µêÀÀºô°ìªº°O¸ü¡A¤¹³\¤@Ó``uucp-neighbor!recipient''±À½¤º©w³W«h¡C³Ì«á¤@¦æ«h¥H¤@
Ó³æ¿Wªº¥yÂI°µµ²§ô¡A¥H UUCP »¼°e¨ì´£¨Ñ·í§A¥þ¥@¬É©Ê¶l¥ó¹hªùªº
UUCP ¾F©~¡C©Ò¦³¦b uucp-dom: ÃöÁä¦r¸Ìªº¸`ÂI¦WºÙ¥²¶·³£¬O
¦³®Äªº UUCP ¾F©~¡A§A¥i¥H¥Î uuname ©R¥O¥h½T»{¡C
´£¿ô§A³oÓÀɮצb¨Ï¥Î«e¥²¶·³QÂà´«¦¨ DBM ¸ê®Æ®wÀɮסA³Ì¦n¦b
mailertable ³Ì¤W±¥Îµù¸Ñ¼g¥X©R¥O¦C¨Ó§¹¦¨³oÓ¤u§@¡C·í§A¨C¦¸§ó´«§A
ªº mailertable «á§AÁ`¬O»Ýn°õ¦æ³oÓ©R¥O¡C
³Ì«á´£¥Ü¡G¦pªG§A¤£½T©w¬Y¨Ç¯S©wªº«H¥ó¸ô®|¥i¥Î¡A°O±o§â
¿ï¶µ¥[¨ì sendmail¡C³o·|±N sendmail ±Ò°Ê¦b address test mode
¡F¥un«ö¤U ``0''¡A±µµÛ¿é¤J§A§Æ±æ´ú¸Õªº«H¥ó¸ô®|¦ì§}¡C³Ì«á¤@¦æ§i¶D§A¨Ï
¥Î¤º³¡ªº«H¥ó¥N²zµ{¦¡¡A¥N²zµ{¦¡ªº·|³qª¾¥Øªº¥D¾÷¡A¥H¤Î(¥i¯àÂà´«ªº)¦ì§}
¡CnÂ÷¶}¦¹¼Ò¦¡½Ð«ö Control-D¡C
j@uriah 191% sendmail -bt
ADDRESS TEST MODE (ruleset 3 NOT automatically invoked)
Enter <ruleset> <address>
> 0 foo@interface-business.de
rewrite: ruleset 0 input: foo @ interface-business . de
...
rewrite: ruleset 0 returns: $# uucp-dom $@ if-bus $: foo \
< @ interface-business . de >
> ^D
j@uriah 192%
·í§Ú¥Î¼·±µ³s¤Wºô¸ô®É¸Ó«ç»ò³]©w«H¥ó»¼°e¡H
¦pªG§A¤w¸g¦³¤@Ó©T©wªº IP ¼Æ¦r¡A§A¤£»Ýn½Õ¾ã¥ô¦ó¤º©wÈ¡C³]¦n
§An«ü©wªººô¸ô¦WºÙ¡A¨ä¥Lªº sendmail ³£·|À°§A°µ§¹¡C
¦pªG§A®³¨ìªº¬O°ÊºA°t¸mªº IP ¼Æ¦r¦Ó¨Ï¥Î¼·±µ ppp ³s±µ¨ìºô
»Úºô¸ô¡A§A¥i¯à¤w¸g¦b§Aªº ISP «H¥ó¥D¾÷¤W¦³¤@Ó«H½c¡C°²³]§Aªº
ISP ºô°ì¬O myISP.com¡A§Aªº¨Ï¥ÎªÌ¦WºÙ¬O user¡C¥ç°²
³]§AºÙ¦Û¤vªº¥D¾÷¦WºÙ¬O bsd.home ¦Ó§Aªº ISP §i¶D§A¥i¥H¨Ï¥Î
relay.myISP.com ·í§@«H¥ó¦^ÂгB¡C
¬°¤F±q§Aªº«H½c±µ¦¬«H¥ó¡A§A±N»Ýn¦w¸Ë¨ú«Hµ{¦¡¥H«K±q«H½c¨ú¦^«H¥ó¡C
Fetchmail ¬O¤@Ó¤£¿ùªº¿ï¾Ü¦]¬°¥¦¤ä´©³\¦h¤£¦Pªº³q°T¨ó©w¡A³q±`
§Aªº ISP ·|´£¨Ñ POP3¡C¦pªG§A¿ï¾Ü¨Ï¥Î user-ppp¡A§A¥i¥H¦b³s½u¨ìºô¸ô
¦¨¥\«á¦Û°Ê§ì¨ú§Aªº«H¥ó¡A¥un¦b /etc/ppp/ppp.linkup ¸Ì±
³]©w¥H¤U³o¶µ¡G
MYADDR:
!bg su user -c fetchmail
°²¨Ï§A¥¿¨Ï¥Î sendmail(¦p¤U©Ò¥Ü)¶Ç°e«H¥ó¨ì«D¥»¦a±b¸¹
¡A¸m¤J¥H¤U©R¥O¡G
!bg su user -c "sendmail -q"
¦b¤W±¨º¶µ©R¥O¤§«á¡C³o·|±j¢ sendmail ¦b³s±µ¤Wºô¸ô«á°¨¤W¶}©l³B
²z mailqueue¡C
§Ú°²³]§A¦b bsd.home ¾÷¾¹¤W¦³¤@Ó user ªº±b¸¹¡C¦b
bsd.home ¾÷¾¹¤W user ªº®a¥Ø¿ý¸Ì«Ø¥ß¤@Ó .fetchmailrc
ªºÀɮסG
poll myISP.com protocol pop3 fetchall pass MySecret;
µL¶·Âب¥¡A³oÓÀÉ°£¤F user ¥~¤£À³¸Ó³Q¥ô¦ó¤HŪ¨ú¡A¦]¬°¥¦¥]§t
¤F MySecret ³oÓ±K½X¡C
¬°¤F¦b±H«H®É¦³¥¿½Tªº©ïÀY from: ¡A§A¥²¶·§i¶D sendmail ¨Ï¥Î
user@myISP.com ¦Ó«D user@bsd.home¡C§A¥i¯à·|§Æ±æ§i¶D
sendmail ±q relay.myISP.com °e¥X©Ò¦³«H¥ó¡A¥[§Ö«H¥ó¶Ç°e¡C
¥H¤Uªº .mc ÀÉÀ³¯àº¡¨¬§Aªºn¨D¡G
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(`myISP.com')dnl
FEATURE(allmasquerade)dnl
FEATURE(masquerade_envelope)dnl
FEATURE(nocanonify)dnl
FEATURE(nodns)dnl
define(SMART_HOST, `relay.myISP.com')
Dmbsd.home
define(`confDOMAIN_NAME',`bsd.home')dnl
define(`confDELIVERY_MODE',`deferred')dnl
¦p¦óÂà´«³oÓ .mc Àɮרì sendmail.cf Àɪº¸Ô²Ó²Ó¸`½Ð
°Ñ¦Ò¤W¤@¸`¡C¥t¥~¡A¦b§ó·s sendmail.cf ¥H«á¤£n§Ñ°O«·s±Ò°Ê
sendmail¡C
«x¡I§Ú§Ñ°O root ªº±K½X¤F¡I
¤£nÅå·W¡I¥un«·s±Ò°Ê¨t²Î¡A¦b boot: ´£¥Ü¸¹¥´ -s ¶i¤J³æ¨Ï¥ÎªÌ¼Ò¦¡¡C
¦b°Ýn¨Ï¥ÎþÓ shell ®É¡A«ö¤U ENTER¡C§A·|¬Ý¨ì¤@Ó # ªº´£¥Ü¸¹¡A¿é¤J
mount -u / ¥H«·s¬[³]§Aªº®ÚÀɮרt²Î¥i¨ÑŪ/¼g¡C°õ¦æ
passwd root ¥H§ó´« root ±K½X¡AµM«á°õ¦æ exit Ä~Äò±Ò°Ê¡C
§Ú¸Ó«ç»ò«O¯dÅý Control-Alt-Delete ¤£¯à«·s±Ò°Ê¨t²Î¡H
קï§A¥¿¦b¨Ï¥Îªº¥D±±¥xÁä½L¹ïÀ³¡A¨Ã¥B§â©Ò¦³ boot ªºÃöÁä¦r¥Î
nop ¨ú¥N¡C¤º©wªºÁä½L¹ïÀ³¬O¦b
/usr/share/syscons/keymaps/us.iso.kbd¡C§A¥i¯à»Ýn©ú¥Õªº
§h©J /etc/rc.conf ¥hŪ¨ú³oÓÁä½L¹ïÀ³¥H½T«O§ó°Ê¥Í®Ä¡C·í
µM¦pªG§A¥¿¦b¥Î¾A¦X§A°êÄyªºÁä½L¹ïÀ³¡A§AÀ³¸Ó½s¿è¨º¤@Ó¡C
§Ú¸Ó«ç»ò§â DOS ¤å¦rÀɮ׫·s®æ¦¡¤Æ¦¨ UNIX ªº¡H
²³æ¦a¨Ï¥Î³oÓ perl ©R¥O¡G
perl -i.bak -npe 's/\r\n/\n/g' file ...
file ´N¬On³B²zªºÀɮסC³oÓקï¬O¦b¤º³¡§¹¦¨¡Aì©lªºÀÉ®×·|Àx¦s¦¨
°ÆÀɦW¬° .bak ªºÀɮסC
©ÎªÌ§A¥i¥H¨Ï¥Î tr ³oÓ©R¥O¡G
tr -d '\r' < dos-text-file > unix-file
dos-text-file ¬O¥]§t DOS ¤å¦rªºÀɮסA¦Ó unix-text-file «h¬O¥]§t
Âà´«ªº¿é¥Xµ²ªG¡C³o¤ñ¨Ï¥Î perl ÁÙn§Ö¤W¤@ÂIÂI¡C
§Ú¸Ó«ç»ò¥Î¦WºÙ¬å±¼ process¡H
¨Ï¥Î killall¡C
¬°¦ó¦b root ªº ACL ®É su ¦n¹³¦³°ÝÃD¡H
³oÓ¿ù»~¬O¦]¬° Kerberos ¤À´²»{ÃÒ¨t²Î¡C³oÓ°ÝÃD¨Ã¤£¬O«ÜÄY«¦ý¬O¥O¤H
¹½·Ð¡C§A¥i¥H¥Î -K ¿ï¶µ¥h°õ¦æ su¡A©Î¬O¹³¤UÓ°ÝÃD©Ò´yzªº²¾°£
Kerberos¡C
§Ú¸Ó«ç»ò²¾°£ Kerberos¡H
n±q¨t²Î¸Ì²¾°£ Kerberos¡A«¸Ë§A¥¿¦b°õ¦æªº release ª©¥»ªº bin
distribution¡C¦pªG§A¦³ CDROM¡A§A¥i¥H mount cd(°²³]¦b /cdrom)¨Ã°õ
¦æ¡G
cd /cdrom/bin
./install.sh
§Ú¸Ó«ç»ò¼W¥[¨t²ÎªºµêÀÀ²×ºÝ¾÷¡H
¦pªG§A¦³³\¦h telnet¡Assh¡AX ©Î¬O screen ¨Ï¥ÎªÌ¡A§A©Î³\·|¥Î§¹µêÀÀ
²×ºÝ¾÷¡A³o¯à±Ð§A«ç»ò¥[§ó¦h¡G
«Ø¥ß¨Ã¦w¸Ë¤@Ó·sªº®Ö¤ßµ{¦¡¨Ã¥B¥[¤J³o¦æ¨ì³]©wÀÉ¡G
pseudo-device pty 256
°õ¦æ³oÓ©R¥O¡G
# cd /dev
# ./MAKEDEV pty{1,2,3,4,5,6,7}
·|³y¥X 256 ÓµêÀÀ²×ºÝ¾÷ªº¸Ë¸m¸`ÂI¡C
½s¿è /etc/ttys ¨Ã¥[¤J²Å¦X 256 Ӳ׺ݾ÷ªº¦æ¼Æ¡C¥¦ÌÀ³
¸Ó²Å¦X¤w¸g¦s¦b³æ¶µªº®æ¦¡¡AÁ|¨Ò¨Ó»¡¡A¥¦Ì¬Ý°_¨Ó¹³¡G
ttyqc none network
¦r¥À³]pªº¶¶§Ç¬O tty[pqrsPQRS][0-9a-v]¡A¨Ï¥Î¥¿³Wªí¥Ü¦¡¡C
¥Î·sªº®Ö¤ßµ{¦¡«·s±Ò°Ê¹q¸£´N¥i¥H¤F¡C
/dev/snd0 ³oӸ˸m°µ¤£¥X¨Ó¡I
¥i¥H¥Î³oÓ©R¥O²£¥Íµ®Ä¥d©Ò»Ýnªº snd0 ¸Ë¸m¡G
# cd /dev
# sh MAKEDEV snd0
³oÓ©R¥O¨Ã¤£·|°µ¥X /dev/snd0¡A¦Ó¬O²£¥Í mixer0¡B
audio0¡Bdsp0 ¤ÎÃþ¦üªº¸Ë¸m¡CÁöµM¦p¦¹¡A¦pªG±z·Q¨Ï¥Î
µ®Ä¡A¤´µMn°õ¦æ³oÓ©R¥O¡C
¥i¥H¤£¥Î¶}¾÷¡A«·sŪ¨ú /etc/rc.conf¡B¦A¦¸±Ò°Ê /etc/rc ¶Ü¡H
¥ý¶i¤J³æ¤H¨Ï¥ÎªÌ¼Ò¦¡¡AµM«á¦A¦^¨ì¦h¨Ï¥ÎªÌ¼Ò¦¡¡C
¦b¥D±±¥x°õ¦æ¡G
# shutdown now
(Note: without -r or -h)
# return
# exit
¤°»ò¬O sandbox¡H
"Sandbox" ¬O¨t²Î¦w¥þ¥Îªº³N»y¡A¦³¨âÓ·N¸q¡G
©ñ¦b¬Y¨ÇµêÀÀ¨¾Å@Àð¸Ìªº°õ¦æµ{§Ç¡A³o¨Ç¨¾Å@Àð¬O¥Î¨Óªý¤î¬Y¨Ç¤H«I¤J
³o¹Dµ{§Ç¡A¶i¦Ó¥X¤J©ó§ó¤jªº¨t²Î¤¤¡C
³o¹Dµ{§Ç¥i¥H§¹¥þ¦b¨¾Å@Àð¸Ì°Ê§@¡C¤]´N¬O»¡¡A¥¦©Ò°õ¦æªº¥ô¦óµ{¦¡¤£
¥i¯à·|º¯³z¨ìÀ𪺥~±¡C©Ò¥H¦pªG±z¹ï¥¦¦³¦w¥þ¤WªºÅU¼{¡A¨Ã¤£»Ýn¯S§O¥h
ºÊÅ¥¥¦ªº¤@Á|¤@°Ê¡A¤Ï¥¿¥¦¥u¯à¦bÀ𤺬¡°Ê¡C
Á|¨Ò¨Ó»¡¡A¥i¥H¥Î userid ¨Ó°µ³o¹D¨¾Å@Àð¡A³o¥¿¬O security(7) ©M
named(8) »¡©ú¤å¥ó¤¤ªº©w¸q¡C
²{¦b´N¥Î 'ntalk' ³oÓªA°È§@»¡©ú¡]¨£ /etc/inetd.conf¡^¡C³oÓªA°È
¥H«eªº userid ¬O root¡A²{¦b°õ¦æ®É«h¬O¥Î tty¡Ctty ³oÓ userid ´N¬O¤@
Ó sandbox¡A¦pªG¦³¤H¯à°÷¶¶§Q¥Î ntalk «I¤J¨t²Î¡A²{¦b¥L´Nºâ¶i±o¨Ó¤]¥u
¯à¥Î tty ³oÓ userid¡C
©ñ¦b¬YÓ¼ÒÀÀ¾÷¾¹¸Ìªºµ{¦¡¡A³o¤ñ¤Wz¨Ó±o§óÄY±K¡C°ò¥»¤W³oªí¥Ü¯à«I¤J
¸Óµ{¦¡ªº¤H¬Û«H¥L¯à¦A¶i¤J©ÒÄݪº¾÷¾¹¡A¦ý¨Æ¹ê¤W¥u·|¶i¤J¼ÒÀÀ¥X¨Óªº¾÷¾¹¡A
µLªk¶i¤@¨Bקï¥ô¦ó¸ê®Æ¡C
¹F¨ì³oӥتº³Ì±`¥Îªº¤èªk¡A´N¬O¦b¬YÓ¤l¥Ø¿ý¤U°µ¥X¼ÒÀÀªºÀô¹Ò¡AµM«á
¥Î chroot °õ¦æ¸Óµ{¦¡¡A³o¼Ë¸Óµ{¦¡ªº®Ú¥Ø¿ý«K¬O³oÓ¤l¥Ø¿ý¡A¦Ó«D¨t²Î¯u
¥¿ªº®Ú¥Ø¿ý¡C
¥t¤@Ó±`¨£§@ªk¬O±N¬YÓÀɮרt²Î mount ¦¨°ßŪ¡A¦ý¦b¥¦¤W±¥t¥~»s³y
¥Xµ{¦¡¥H¬°¥i¥H¼g¤JªºÀɮרt²Î¡C³oÓµ{¦¡·|¬Û«H¥¦¥i¥H¹ï¨ä¥LÀÉ®×Ū¼g¡A
¦ý¥u¦³¥¦¬Ý¤£¨ì³oÓ°ßŪ®ÄÀ³ - ¨t²Î°õ¦æªº¤@¯ëµ{¦¡³£¬Ý±o¨ì¡C
§Ú̸չϱN³oÃþ sandbox ºÉ¶q³z©ú¤Æ¡AÅý¨Ï¥ÎªÌ©Î«I¤JªÌµLªk¬Ý¨ì¥L¬O
§_¦b¬YÓ sandbox ¸Ì±¡C
UNIX ¹ê§@¨âºØ sandbox¡A¤@Ó¦bµ{¦¡¼h±¡A¥t¤@Ó«h¬O¥Ñ userid ¨Ó¹F¦¨¡C
¨CÓ UNIX °õ¦æµ{§Ç·|¥Î¨¾¤õÀð±N¥¦©M©Ò¦³¨ä¥Lµ{§Ç¹j¶}¡A¬YÓµ{§Ç¤£¥i¥H
ÀH·Nקï¨ä¥Lµ{§Ç¦ì§}ªº¸ê®Æ¡C³o©M Windows ¤¤¡Aµ{¦¡¥i¥H»´©öקï¨ä¥L¦ì§}
¸ê®Æªº±¡ªp¡A¤j¤£¬Û¦P¡C
¨CÓ UNIX µ{§Ç³£ÄÝ©ó¬YÓ¯S©wªº userid¡C¦pªG¸Ó userid ¤£¬O root¡A´N
·|±N¥¦©M¨ä¥L¨Ï¥ÎªÌªºµ{§Ç¹j¶}¡CUserid ¦P®É¤]¥Î©óµwºÐ¸ê®Æªº¦s¨úÅv¤W¡C
§Ú¸Ó«ç»òÅý¤@¯ë¨Ï¥ÎªÌ±¾¤W³nºÐ¾÷¤Î¨ä¥L¥i²¾°£´CÅé¡H
¤@¯ë¨Ï¥ÎªÌÀ³¸Ó¤]n¦³±¾¤W¸Ë¸mªº¥\¯à¡A±µ¤U¨Ó¬O¤èªk¡G
¥Ñ root °w¹ï¥i²¾°£´CÅ骺°Ï¶ô¸Ë¸m (block device) «ü©w¾A·íªº¦s¨úÅv¡C
Á|¨Ò¨Ó»¡¡A¬°¤FÅý¨Ï¥ÎªÌ¯à¨Ï¥Î²Ä¤@Ó³nºÐ¾÷¡A¥Î¥H¤U¤èªk¡G
&prompt.root; chmod 777 /dev/fd0
¥Ñ root ³]©w vfs.usermount
³oÓ sysctl ÅܼƬ° 1¡C
&prompt.root; sysctl -w vfs.usermount=1
³o¼Ë¨Ï¥ÎªÌ´N¥i¥H¦b¥L̦ۤvªº¥Ø¿ý¤U±¾¤W /dev/fd0¡G
&prompt.user; mkdir ~/my-mount-point
&prompt.user; mount -t msdos /dev/fd0 ~/my-mount-point
¸Ñ°£¤w¸g±¾¤Wªº¸Ë¸m¤]«Ü²³æ¡G
&prompt.user; umount ~/my-mount-point
¥t¥~¤@Ó¦s¨ú MSDOS ®æ¦¡´CÅ骺¤èªk¬O¨Ï¥Î¦b ports ¥þ¿è¸Ì±ªº
mtools
¡C
X Window System ¤Î Virtual Consoles
§Ú·Qn°õ¦æ X ¡A§Ú¸Ó«ç»ò°µ¡H
³Ì²³æªº¤èªk´N¬O¦b¦w¸Ë¨t²Îªº®ÉÔ¤@¨Ö¦w¸Ë¡C
µM«á¬Ý¬Ý xf86config ªº man page ¡A³oÓµ{¦¡¥i¥HÀ°±z³]©w XFree86(tm) ¨Ï¥¦
¯à°÷¨Ï¥Î±zªºÅã¥Ü¥d/·Æ¹«µ¥¶gÃä¡C
±z©Î³\¤]·Q¸Õ¸Õ¬Ý Xaccel server¡C¸Ô±¡½Ð¬Ý Metro Link ©Î¬O
Xi Graphics ³o¤@¬q¡C
¬°¤°»ò§Ú¤£¯à¦b X ¸Ì¨Ï¥Î·Æ¹«¡H
¦pªG±z¥Îªº¬O syscons (¤º©wªº console ÅX°Êµ{¦¡) ªº¸Ü¡A±z¥i¥H¸g¥Ñ³]©w
FreeBSD ¨ÓÅý¥¦¤ä´©¦b¨CÓ virtual console ¨Ï¥Î·Æ¹«¡C¬°¤FÁקK©M X ²£¥Í½Ä
¬ð¡Asyscons ¨Ï¥Î¤F¤@Ó¥s°µ``/dev/sysmouse''ªºµêÀÀ¸Ë¸m¡C©Ò¦³·Æ
¹«²£¥Íªº event ³£·|§Q¥Î MouseSystems ³oÓ¨ó©w¨Ó¶Ç¨ì sysmouse ³oӸ˸m
¡C¦pªG±z§Æ±æ¦b¤@Ó©Î¥H¤Wªº virtual console ¤W¨Ï¥Î·Æ¹«¡A¨Ã¥B ¯à°÷
¨Ï¥Î X ªº¸Ü¡A§ÚÌ«Øij±z³o¼Ë³]©w¡G
/etc/rc.conf:
moused_type=ps/2 # or whatever your actual type is
moused_port=/dev/psm0 # or whatever your real port is
moused_flags=
/etc/XF86Config
Section Pointer
Protocol "MouseSystems"
Device "/dev/sysmouse"
.....
¦³¨Ç¤H¤ñ¸û³ßÅw¦b³]©w X ªº®ÉԥΠ"/dev/mouse" ³oӸ˸m¡C¦p
ªG±znÅý¥¦¯à°÷¥¿±`¤u§@ªº¸Ü¡A±z´N¥²¶·§â "/dev/mouse" ³sµ²¨ì
/dev/sysmouse¡G
# cd /dev
# rm -f mouse
# ln -s sysmouse mouse
X Window ªº¿ï³æ©M¹ï¸Ü®Ø¤£¯à¥¿±`¹B§@¡I
§â Num Lock Ãö±¼¸Õ¸Õ¡C
¦pªG±zªº Num Lock ¦b¶}¾÷®Éªº¹w³]ȬO¶}µÛªº¸Ü¡A±z¥²¶·§â¤U¦C³o¦æ©ñ¨ì
XF86Config ³]©wÀɤ¤ªº "Keyboard" ³¡¥÷¡C
# Let the server do the NumLock processing. This should only be
# required when using pre-R6 clients
ServerNumLock
¤°»ò¬O virtual console¡H§Ún«ç»ò°µ¤~¯à¥Î¦h¤@ÂI¡H
²³æ¨Ó»¡¡Avirtual console ´N¬O¥i¥HÅý±z¤£¥²°µ¤Ó¦h½ÆÂøªº³]©w¦p¨Ï¥Îºô
¸ô©Î°õ¦æ X ¡A¦Ó¦b¦P¤@»O¾÷¾¹¤W¦P®É°µ¦n´X¥ó¨Æªº¤èªk¡C
·í±Ò°Ê¨t²Î¨ÃÅã¥Ü§¹©Ò¦³¶}¾÷°T®§¤§«á¡A±z´N·|¦b¿Ã¹õ¤W¬Ý¨ì¤@Ó login ªº
´£¥Ü²Å¸¹¡C¦b³oÓ®ÉÔ±z´N¥i¥H¿é¤J±zªº login name ¥H¤Î password ¡AµM«á´N
¥i¥H¦b²Ä¤@Ó virtual console ¤W¶}©l¤u§@¤F (©ÎªÌ¶}©lª±¡I) ¡C
¦b¬Y¨Ç±¡ªp¤U¡A±z¥i¯à·|·Qn§@¨ä¥Lªº¤u§@¡A¨Ò¦p»¡¬O¬Ý¬Ý±z¥¿¦b°õ¦æªºµ{
¦¡ªº»¡©ú¤å¥ó¡A©Î¬O·í±z¦b FTP ¶Ç¿éªºµ¥«Ý®É¶¡¤¤¬Ý¬Ý±zªº¶l¥ó¡C±z¥u»Ýn«ö
Alt-F2 («ö¦í Alt Á䤣©ñ¡A¨Ã«ö¤U F2 Áä) ¡AµM«á±z´N·|¦b²Ä¤GÓ "virtual
console" ¤W¬Ý¨ì¤@Ó login ´£¥Ü²Å¸¹¡I·í±z·Qn¦^¨ìì¨Óªº¤u§@®É¡A½Ð«ö
Alt-F1¡C
FreeBSD ¦b¦w¸Ë®Éªº¹w³]ȬO¨Ï¥Î¤TÓ virtual console ¡A±z¥i¥H¥Î
Alt-F1¡AAlt-F2¡A¥H¤Î Alt-F3 ¦b¥¦Ì¤§¶¡°µ¤Á´«¡C
¦pªG±z·Qn¦h¤@ÂI virtual console ªº¸Ü¡A±z¥u»Ýn½s¿è /etc/ttys ³oÓÀÉ
¡A¦b "Virtual terminals" ³oÓµù¸Ñ«á±¥[¤J "ttyv4" ¨ì "ttyvc"
ªºÄæ¦ì¡G
# Edit the existing entry for ttyv3 in /etc/ttys and change
# "off" to "on".
ttyv3 "/usr/libexec/getty Pc" cons25 on secure
ttyv4 "/usr/libexec/getty Pc" cons25 on secure
ttyv5 "/usr/libexec/getty Pc" cons25 on secure
ttyv6 "/usr/libexec/getty Pc" cons25 on secure
ttyv7 "/usr/libexec/getty Pc" cons25 on secure
ttyv8 "/usr/libexec/getty Pc" cons25 on secure
ttyv9 "/usr/libexec/getty Pc" cons25 on secure
ttyva "/usr/libexec/getty Pc" cons25 on secure
ttyvb "/usr/libexec/getty Pc" cons25 on secure
±z·Q¥Î´XÓ´N³]´XÓ¡C±z³]¶V¦h virtual terminal ¡A¥¦Ì´N¥Î±¼¶V¦h¨t²Î
¸ê·½¡F¦pªG±z¥u¦³¤£¨ì 8MB ªº°O¾ÐÅ骺¸Ü¡A³o¼vÅT´N¤j¤F¡C±z¥i¯à¤]·|·Q§â
"secure" ´«¦¨ "insecure" ¡C
IMPORTANT NOTE ¦pªG±z·Qn°õ¦æ X ªº¸Ü¡A±z ¥²¶· ¬°¥¦«O¯d (
©ÎÃö±¼) ¦Ü¤Ö¤@Ó virtual terminal ¡C³o´N¬O»¡¡A¦pªG±z·Q¦b«ö¤Q¤GÓ Alt
¥\¯àÁä®É³£¦³ login ´£¥Ü²Å¸¹¡A¦Ó¥B¤S¦b¦P¤@³¡¹q¸£¤W¤]·Q°õ¦æ X ªº¸Ü¡A¨º»ò
³o¯u¬O¤Ó¤£©¯¤F - ±z¥u¯à¥Î¤Q¤@Ó¡C
¨ú®ø¤@Ó console ³Ì²³æªº¤èªk´N¬O§â¥¦Ãö±¼¡CÁ|¨Ò¨Ó»¡¡A¦pªG±z¹³¤W±Á¿
ªº¤@¼Ë³]©w¤F¥þ³¡ªº 12 Ó terminal ¨Ã¥B·Qn°õ¦æ X ¡A±z¥²»Ý§â virtual
terminal 12 ±q¡G
ttyvb "/usr/libexec/getty Pc" cons25 on secure
³]¦¨¡G
ttyvb "/usr/libexec/getty Pc" cons25 off secure
¦pªG±zªºÁä½L¥u¦³ 10 Ó¥\¯àÁ䪺¸Ü¡A±z´Nn§ï¦¨³o¼Ë¡G
ttyv9 "/usr/libexec/getty Pc" cons25 off secure
ttyva "/usr/libexec/getty Pc" cons25 off secure
ttyvb "/usr/libexec/getty Pc" cons25 off secure
(±z¤]¥i¥Hª½±µ§â³o´X¦æ¬å±¼¡C)
¤@¥¹±z§ï¤F /etc/ttys¡A
¤U¤@Ó¨BÆJ´N¬On½T©w±z¦³¨¬°÷ªº virtual terminal ¸Ë¸m¡C³Ì²³æªº¤èªk´N¬O¡G
# cd /dev
# ./MAKEDEV vty12 # For 12 devices
¦A¹L¨Ó¡A·Qn±Ò°Ê³o¨Ç virtual console ³Ì²³æ (¤]¬O³Ì°®²b) ªº°µªk´N¬O
«¶}¾÷¡CµM«á¡A¦pªG±z¤£·Q«¶}¾÷ªº¸Ü¡A±z¥i¥H§â X Window Ãö±¼¡AµM«á¥Î
root ªº¨¥÷°õ¦æ¤U¦C«ü¥O¡G
kill -HUP 1
·í±z°õ¦æ³oÓ©R¥O«e¡A±z¤@©wn§¹¥þ§â X Window Ãö±¼¡C¦pªG±z¤£³o»ò°µªº
¸Ü¡A±zªº¨t²Î¥i¯à·|¦b±z°õ¦æ kill ©R¥O«á¥X²{·í±¼©ÎÂꦺªº±¡ªp¡C
§Ún«ç»ò±q X ¤Á´«¨ì virtual console¡H
¦pªG±z¿Ã¹õ¤W¥¿¦bÅã¥Ü X Window ªº¸Ü¡A±z¥i¥H¥Î Ctrl-Alt-F1 µ¥«öÁä¨Ó¤Á
´«¨ì virtual console ¡Cª`·N¡A¤@¥¹±z±q X Window ¤Á´«¨ì¥ô¤@Ó virtual
console ¤§«á¡A±z´N¥i¥H¥u¥Î Alt- ¥\¯àÁä¨Ó¤Á´«¨ì¨ä¥L virtual terminal ©Î
¬O¤Á¦^ X Window ¡C±z¤£¥²¦P®É«öµÛ Ctrl Áä¡C¦pªG¦b¤ñ¸ûªºª©¥»¤¤±z¥Î
Ctrl Áä¨Ó¤Á¦^ X Window ªº¸Ü¡A±z·|µo²{±zªº¤å¦r¿Ã¹õ³Q¥d¦b "control-lock"
¼Ò¦¡¤U¡C±z¥u»Ýn¦A«ö¤@¦¸±±¨îÁä´N¥i¥H«ì´_쪬¡C
§Ún«ç»ò°µ¤~¯à¦b¶}¾÷®É±Ò°Ê XDM¡H
¦³¨âºØ¤èªk¥i¥H±Ò°Ê xdm ¡C¤@ºØ¤èªk¬O±q
/etc/ttys ¨Ó±Ò°Ê¡A¥i¥H°Ñ¦Ò man page ¤¤ªº½d¨Ò¡F¥t¤@ºØ¤èªk¬O¦b
rc.local
°õ¦æ xdm ¡A©Î¬O¦b /usr/local/etc/rc.d ©ñ¤@Ó X.sh ¡C³o¨â
ºØ¤èªk³£¬O¦Xªkªº¡A¦pªG±z¸Õ¬Y¤@ºØ¤èªkµL®Äªº¸Ü¡A±z¥i¥H¸Õ¸Õ¥t¥~¤@ºØ¡C³o¨â
ºØ¤èªkªºµ²ªG¬O¤@¼Ëªº¡GX ·|Åã¥Ü¤@ӹϧΤƪº login: ´£¥Ü¡C
¥Î ttys ªº¤èªkªºÀuÂI¡A¦b©ó«ü©ú¤F X ¦b±Ò°Ê®É¨ì©³¬O¥Î¨ºÓ vty¡A¨Ã¥B±N
logout ®É«·s±Ò°Ê X server ªº³d¥ô¥áµ¹ init¡C rc.local ªº¤èªk«h¬O¦b·í±Ò
°Ê X ¥X¤F°ÝÃD®É¡A¥i¥H«Ü»´ÃP¦a§â xdm ±þ±¼¨Ó¸Ñ¨M°ÝÃD¡C
¦pªG¬O¥Î rc.local ªº¤èªk¡A¦b°õ¦æ xdm ®É±z¤£¯à¥[¥ô¦ó°Ñ¼Æ¡]¤]´N
¬O¶]¦¨ daemon¡^¡C¥²¶·¦b getty °õ¦æ«á¤~¯à±Ò°Ê xdm¡A§_«h getty ©M xdm ·|
¤¬¬Û½Ä¬ð¦ÓÂê¦í console¡C³Ì¦nªº¤è¦¡¬O¦b script ¤¤¥[Ó sleep¡AÅý¥¦¼È°±
10 ¬íÄÁ¥ª¥k¡A±µµÛ¤~°õ¦æ xdm¡C
«e¤@ª©ªº FAQ »¡±z¥²¶·§â±z·QÅý X ¨Ï¥Îªº vt ¥[¨ì
/usr/X11R6/lib/X11/xdm/Xservers Àɸ̥h¡C³o¬O¤£¥²nªº¡GX ·|¦Û
°Ê¨Ï¥Î²Ä¤@Ó§ä¨ìªº¥i¥Î vt ¡C
·í§Ú°õ¦æ xconsole ®É¡Aµo¥Í¤F "Couldn't open console" ªº¿ù»~
¦pªG±z¬O¥Î startx ¨Ó±Ò°Ê X ªº¸Ü¡A/dev/console ªºÅv¨Ã¤£·|§ïÅÜ¡Aµ²ªG´N¬O xterm -C ©M xconsole ³oÃþªºµ{¦¡µLªk¥¿±`°õ¦æ¡C
³o¤@¤Áªº°ÝÃD¡A³£¬O¦]¬° console ªºÅv¬O±Ä¥Î¨t²Î¹w³]È¡C¦b¤@Ó¦h¨Ï¥Î
ªÌªº¨t²Î¸Ì¡A§Ṳ́£§Æ±æ¨CӨϥΪ̳£¥i¥Hª½±µ¼g¤J¨t²Î console ¡C¦pªG¨Ï
¥ÎªÌ¬O±q¾÷¾¹ªº VTY ª½±µ login ªº¸Ü¡A¨º»ò
fbtab
¥i¥H¸Ñ¨M³oÃþªº°ÝÃD¡C
²³æ¦a»¡¡A½Ð½T«O
/etc/fbtab ³oÓÀɮפ¤ªº³o¤@¦æ¨S¦³³Qµù¸Ñ±¼¡G
/dev/ttyv0 0600 /dev/console
³o¤@¦æ³]©wªº¦s¦b¥i¥H½T«O±q /dev/ttyv0 µn¤Jªº¨Ï¥ÎªÌ¥i¥H±±¨î
console ¡C
§Úªº PS/2 ·Æ¹«¦b X ¤¤¦³ÂI¤£¥¿±`
±zªº·Æ¹«©M±zªº·Æ¹«ÅX°Êµ{¦¡¥i¯à¦s¦b¦³¤£¦P¨Bªº²{¶H¡C
¦b 2.2.5 ¥H¤Î§ó¦ªº¨t²Î¸Ì¡A±q X ¤Á¨ì virtual terminal µM«á¦A¤Á¦^¨Ó
´N¥i¥H¨Ï¥¦Ì«·s°µ¦P¨Bªº°Ê§@¡C¦pªG³oÓ°ÝÃD±`±`µo¥Íªº¸Ü¡A±z¥i¥H¦b±zªº
®Ö¤ß³]©wÀɤ¤¥[¤J¤U±³oӿﶵµM«á«·s½sĶ¡G
options PSM_CHECKSYNC
¦pªG±z¨S¦³«Ø¥ß®Ö¤ßµ{¦¡ªº¸gÅç¡A½Ð¬Ý
¦Ûq®Ö¤ß ³o¤@¸`¡C
¥[¤W³oӿﶵ¥H«á¡A·Æ¹«©M·Æ¹«ÅX°Êµ{¦¡¶¡ªº¦P¨B°ÝÃDÀ³¸Ó´N¤ñ¸û¤£·|¥X²{
¤F¡C¦pªG³oÓ°ÝÃD¤´µM¦s¦bªº¸Ü¡A¦b²¾°Ê·Æ¹«®É«ö«ö·Æ¹««öÁä¥i¥H¨Ï·Æ¹«©M·Æ
¹«ÅX°Êµ{¦¡«·s°µ¦P¨Bªº°Ê§@¡C
¸Óª`·Nªº¬O³oӿﶵ¨Ã¤£¬O¹ï¨C¤@Ó¨t²Î³£¦³®Ä¡A¥¦¥i¯à·|Åý±µ¦b PS/2 ·Æ
¹«¦ì¸mªº ALPS GlidePoint ¸Ë¸m¥¢¥h "tap" ³o¶µ¥\¯à¡C
¦b 2.2.6 ¤Î¨ä«áªºª©¥»¡A¦P¨Bªº½T»{¤w¸g¦³¤F¸û¦nªº¸Ñ¨M¿ìªk¡A¦Ó¥B³o¨Ç³£
¤w¸g¬O PS/2 ·Æ¹«ÅX°Êµ{¦¡ªº¼Ð·Ç¤F¡C³oÓ¤èªk¤]¥i¥H¦b GlidePoint ¤W¥¿±`¤u
§@¡C (¦]¬°½T»{ªºµ{¦¡½X¤w¸g¦¨¬°¤@Ӽзǥ\¯à¡A©Ò¥H¦b³o¨Çª©¥»¤¤§Ṳ́£¦b´£
¨Ñ PSM_CHECKSYNC ªº¿ï¶µ¤F¡C) ¤£¹L¦b·¥¤Ö¼Æªº®×¨Ò¤¤¡A³o¨ÇÅX°Êµ{¦¡·|»~³ø
¦P¨B©Ê¿ù»~¡AµM«á±z´N·|¬Ý¨ì³o¼Ëªº®Ö¤ß°T®§¡G
psmintr: out of sync (xxxx != yyyy)
µM«á±z´N·|µo²{±zªº·Æ¹«¤£¯à¥¿±`¹B§@¤F¡C
¦pªG±zµo¥Í¤F³o¼Ëªºª¬ªp¡A±z¥²¶·Âǥѧâ PS/2 ·Æ¹«ÅX°Êµ{¦¡ªº flag ³]¦¨
0x100 ¨Ó§â¦P¨B½T»{ªºµ{¦¡½Xµ¹¨ú®ø±¼¡CµM«á¦b¶}¾÷´£¥Ü²Å¸¹®É¥Î
"" ¿ï¶µ¨Ó¶i¤J UserConfig¡G
boot: -c
µM«á¡A¦b UserConfig ªº©R¥O¦C¤¤Áä¤J¡G
UserConfig> flags psm0 0x100
UserConfig> quit
§Úªº PS/2 ·Æ¹«¤£¯à³z¹L MouseSystem ¨Ó¹B§@
¦³¤@¨Ç³ø§i«ü¥X¬Y¨Ç¼tµPªº PS/2 ·Æ¹«¥u¯à¦b "°ª¸ÑªR«×" ª¬ºA¤U¤~¯à¹B§@
¡C¦pªG¤£¬Oªº¸Ü¡A·Æ¹«´å¼Ð·|±`±`¶]¨ì¿Ã¹õªº¥ª¤W¨¤¥h¡C
«D±`¤£©¯ªº¡A³oÓ°ÝÃD¦b 2.0.X ©M 2.1.X ¤U¬OµL¸Ñªº¡C¦b 2.2 ¨ì 2.2.5
ª©¡A±z¥i¥H¹ï /sys/i386/isa/psm.c ¨Ï¥Î¤U¦C patch µM«á««Ø±zªº
®Ö¤ß¡C¦pªG±z¨S¦³«Ø¥ß®Ö¤ßµ{¦¡ªº¸gÅç¡A½Ð¬Ý
¦Ûq®Ö¤ß ³o¸`¡C
diff -u psm.c.orig psm.c
@@ -766,6 +766,8 @@
if (verbose >= 2)
log(LOG_DEBUG¡A"psm%d: SET_DEFAULTS return code:%04x\n",
unit¡Ai);
+ set_mouse_resolution(sc->kbdc¡APSMD_RES_HIGH);
+
#if 0
set_mouse_scaling(sc->kbdc); /* 1:1 scaling */
set_mouse_mode(sc->kbdc); /* stream mode */
¦b 2.2.6 ¤Î¥H«áªºª©¥»¡A¦b PS/2 ·Æ¹«ÅX°Êµ{¦¡¤¤³]©w 0x04 ªº flag ·|
§â·Æ¹«³]¦¨°ª¸ÑªR«×¼Ò¦¡¡C¦b¶}¾÷´£¥Ü²Å¸¹®É¥Î "" ¿ï¶µ¨Ó¶i¤J
UserConfig¡G
boot: -c
µM«á¡A¦b UserConfig ªº©R¥O¦C¤¤Áä¤J¡G
UserConfig> flags psm0 0x04
UserConfig> quit
«e¤@¸`¦³´£¨ì¥t¤@Ó¥i¯à¾ÉP·Æ¹«°ÝÃDªºì¦]¡C
·í§Ú«Ø¥ß X µ{¦¡®É¡Aimake »¡¥¦§ä¤£¨ì Imake.tmpl ¡C¥¦¦b¨º¡H
Imake.tmpl ¬O Imake ®M¥óªº¤@³¡¥÷¡AImake ¬O¼Ð·Çªº«Ø¥ß X µ{¦¡ªº¤u¨ã¡C
Imake.tmpl ©M¨ä¥L¼ÆÓ header file ¤@¼Ë¬O«Ø¥ß X µ{¦¡ªº¥²nÀɮסA±z¥i¥H¦b
X prog distribution ¤¤§ä¨ì¥¦Ì¡C±z¥i¥H¥Î sysinstall ¨Ó¦w¸Ë©Î¬Oª½±µ±q
X distribution ¤¤¤â°Ê¦w¸Ë¡C
§Ún«ç»ò°µ¤~¯à³]©w¥ªºJ¤l¥Îªº·Æ¹«¡H
¦b±zªº .xinitrc ©Î¬O .xsession ¤¤°õ¦æ
xmodmap -e "pointer = 3 2 1" ªº«ü¥O¡C
n¦p¦ó¦w¸Ë splash ¹Ï§ÎÅã¥Üµ{¦¡¡H¨º¸Ì¥i¥H§ä±o¨ì©O¡H
´N¦bµo¦æ FreeBSD 3.1 ¤§«e¡A§ÚÌ¥[¶i¤F¦b¶}¾÷®ÉÅã¥Ü "splash"
¹Ï§Îªº·s¥\¯à¡C¥Ø«e¥Î¨ÓÅã¥Ü¦b¿Ã¹õ¤WªºÀÉ®×¥²¶·¬O 256 ¦âªºÂI¯x°}¹Ï§Î
¡]*.BMP ¡B©Î ZSoft PCX¡]*.PCX ªº®æ¦¡¡C°£¦¹¤§¥~¡A¸ÑªR
«×¤]¥²¶·¦b 320x200 ¥H¤U¡A¤~¯à©M¼Ð·Ç VGA Åã¥Ü¥d·f°t¨Ï¥Î¡C¦pªG±z½sĶ
kernel ®É¦³¥[¤J VESA ¤ä´©¡A¨º»ò³Ì¤j¸ÑªR«×¥i¥H¨ì 1024x768¡Cª`·N VESA ªº
¤ä´©»Ýn¥[¤J VM86 ³oÓ kernel ¿ï¶µ¡CVESA ¤ä´©¹ê»Ú¤W¥i¥H¦b½sĶ
kernel ®É¥[¤J VESA ¿ï¶µ¡B©Î¸ü¤J VESA ªº kld module ¨Ó¹F¦¨¡C
±znקﱱ¨î FreeBSD ¶}¾÷¨BÆJªº³]©wÀÉ¡A¤~¯à¨Ï¥Î splash Åã¥Ü¹Ï§Îªº¥\
¯à¡C³]©wÀɦbµo¦æ FreeBSD 3.2 «e¦³¨Ç§ó°Ê¡A©Ò¥H²{¦b¦³¨âÓ¤èªk¥i¥H¸ü¤J
splash ªº¥\¯à¡G
FreeBSD 3.1
¥ý¿ï¥X¥Î¨ÓÅã¥Ü¦b¿Ã¹õ¤Wªº¹Ï§Î¡A3.1 ª©¥u¤ä´© Windows ªºÂI¯x°}®æ¦¡¡C
¿ï¦n¤F±znªº¹ÏÀÉ«á¡A±N¥¦«þ¨ì /boot/splash.bmp¡C±µµÛ§â¤U±´X
¦æ¥[¤J /boot/loader.rc ¤¤¡G
load kernel
load -t splash_image_data /boot/splash.bmp
load splash_bmp
autoboot
FreeBSD 3.2 ¥H«áªºª©¥»
°£¤F¥[¤J¹ï PCX Àɮתº¤ä´©¥~¡AFreeBSD 3.2 ¤]§ï¶i¤F¶}¾÷µ{§Çªº³]©w
¤è¦¡¡C¦pªG±zÄ@·Nªº¸Ü¡A¥i¥H¥Î¤Wz FreeBSD 3.1 ªº¤èªk¡A±N
splash_bmp ´«¦¨ splash_pcx ¨Ó¸ü¤J PCX ÀɮקY¥i¡C
¦pªG·Q¥Î·sªº³]©w¤è¦¡¡A±zªº /boot/loader.rc ¥²¶·¥]¬A³o´X¦æ¡G
include /boot/loader.4th
start
¨Ã¥B /boot/loader.conf ¤]n¥]¬A³o´X¦æ¡G
splash_bmp_load="YES"
bitmap_load="YES"
³o¬O°²³]±z¥Î /boot/splash.bmp ¨Ó·í§@ splash ªº¿Ã¹õÅã
¥Ü¡C¦pªG·Q¥Î PCX ªºÀɮסA±N¥¦«þ¦¨ /boot/splash.pcx¡A¦p¤W
z°µ¥X /boot/loader.rc¡A¦A±N³o´X¦æ¥[¨ì
/boot/loader.conf ¤¤¡G
splash_pcx_load="YES"
bitmap_load="YES"
bitmap_name="/boot/splash.pcx"
²{¦b´N¥u³Ñ¤U splash ¥Î¨ÓÅã¥Üªº¹ÏÀÉ¡A±z¥i¥H¦b http://www.cslab.vt.edu/~jobaldwi/splash/ §ä¨ì¦UºØ¼Ë«~.
ºô¸ô³]©w
§ÚÀ³¸Ó¨ìþÃä§ä¦³ÃöµLºÏºÐ¶}¾÷ (diskless booting) ªº¸ê®Æ?
µLºÏºÐ¶}¾÷´N¬OÅý FreeBSD ¥D¾÷±qºô¸ô¤W¶}¾÷¡A¨Ã¥B±qºô¸ô¤Wªº server ¤WŪ¨ú
¨ä¥L¥²nªºÀɮסA¦Ó«D¥Ñ¥D¾÷ªºµwºÐ¤W¨ú±o³o¨ÇÀɮסC¸Ô²Óªº¸ê®Æ¥i¥H°Ñ¦Ò
FreeBSD ¤â¥UªºµLºÏºÐ¶}¾÷½g¡C
FreeBSD ªº¥D¾÷¥i¥H·í§@¬YÓºô¸ô¤Wªº¸ô¥Ñ¾¹ (router) ¶Ü ?
¥Ñ©óºô»Úºô¸ôªº¼Ð·Ç¤Æ©Mµ{¦¡³]pªº¥R¤À¸gÅ礧½ç¡A§ÚÌ
¯à°÷¦b FreeBSD ¨t²Î¤º«Ø«Ê¥]Âà¶Ç (packet fowarding) ªº¥\¯à¡C§A¥i¥H
±N³oÓ¥\¯à¥´¶}¡A¥un±N³oÓÅܼƳ]©w¬°
YES ¦b rc.conf ³oÓÀɮפ¤
gateway_enable=YES # Set to YES if this host will be a gateway
³oӿﶵ·|±N sysctl ÅܼƳ]©w
net.inet.ip.forwarding ¬° 1.
¦b¤j³¡¤Àªºª¬ªp¤U¡A§AÁÙ¥²¶·¦A¶]¤@Ó³B²z routing ªºµ{¦¡¡A§i¶Dºô¸ô¤Wªº¨ä¥L
¥D¾÷Ãö©ó§Aªº router ³]©wªº¸ê®Æ¡FFreeBSD
¥X¼t®É«K¤ºªþ¤@ӼзǪº BSD routing µ{¦¡
routed¡A¦pªG§Aªººô¸ô³]©w§ó¬°½ÆÂø¡A§A¥i¥H¸Õ¸Õ¬Ý
GaTeD (¥i¥H¥Ñ http://www.gated.org/ ¤U¸ü)
³oÓµ{¦¡¦Û 3_5Alpha7 «á¤ä´© FreeBSD¡C
§Ú̦³¥²n§i¶D§A¡A´Nºâ¬O FreeBSD ¥H³oºØ¤è¦¡³]©w§¹¦¨
¡A¥¦ÁÙ¬OµLªk§¹¥þº¡¨¬ Internet ¹ï router ªº¼Ð·Ç©w¸q
¡A¤£¹L¡A´N¤é±`¨Ï¥Î¦Ó¨¥¥¦¤w¸g¨¬°÷À³¥I¨Ï¥ÎªÌªº»Ý¨D¤F¡C
§Ú¥i¥H³z¹L FreeBSD ±N§Úªº Win95 ¾÷¾¹³s¤W Internet ¶Ü?
°ò¥»¤W¡A·|°Ý³oºØ°ÝÃDªº¤H¦b®a¸Ì¦Ü¤Ö¦³¨â¥x¹q¸£¡A¤@¥x¶] FreeBSD
¥t¥~¤@¥x¶] Win95¡F³oÓ¥D·N¬O±N FreeBSD ¥D¾÷³s¤W Internet¡AµM«á³z¹L³o¥x
FreeBSD ¥D¾÷¡AÅý¶] Win95 ªº¹q¸£¯à°÷¤Wºô¡C
³oÓ°ÝÃDºâ¬O«e¤@Ó°ÝÃDªº¤@Ó¯S¨Ò¡C
³oÃ䦳«nªº¤å¥ó¡C±Ð§A«ç»ò§â FreeBSD ªº¥D¾÷³]©w¦¨
PPP Dialup Router¡C
ª`·N¡G ¦b³oºØª¬ªp¤U§A¦Ü¤Ön¦³¨âÓ¥H¤Wªº©T©w IP addresses¡A
¦³®É¬O¤TÓ¥H¤W©Î§ó¦h²Õ IP ¦P®É¨Ï¥Î¡Aµø§Aªº»Ý¨D¦Ó©w¡C
¦pªG§A¨S¦³©T©wªº IP ¥i¥H¨Ï¥Î¡A§A¥i¥H¦Ò¼{¨Ï¥Î private IP
¤lºô¸ô¡A¨Ã¦w¸Ë proxies ¨Ò¦p
SQUID ©Î¬O
the TIS firewall toolkit
¦b§Aªº FreeBSD ¥D¾÷¤W¡C
¥t¥~¥i¥H°Ñ¦Ò natd ¡C
¬°¤°»ò§Ú¦b compile ISC ³Ì·sª©ªº BIND µ{¦¡®É¦Ñ¬O¥¢±Ñ?
¦b ``cdefs.h'' Àɮפ¤ªº©w¸q»P FreeBSD ¨t²Î¤¤¤ºªþ
ªºÀɮשw¸q¦³©Ò½Ä¬ð¡Cª½±µ§â
compat/include/sys/cdefs.h ¬å±¼´N¥i¥H¤F¡C
FreeBSD ¤ä´© SLIP ©M PPP ¶Ü?
¬Oªº¡C §A¥i¥H¬d¬d man pages ¤¤Ãö©ó
slattach¡Asliplogin¡A
pppd ¥H¤Î
ppp ªº»¡©ú¡C
pppd ©M ppp ³£´£¨Ñ¼·¶i¤Î¼·¥Xªº¥\¯à¡C
Sliplogin ±Mªù³B²z¦³Ãö¼·¤Jªº¥\¯à¡A¦Ó
slattach ³B²z¦³Ãö¼·¥Xªº¥\¯à¡C
³o¨Çµ{¦¡¦³¸Ô²Óªº»¡©ú¡A§A¥i¥H¦b
handbook¤¤§ä¨ì:
SLIP (server ºÝ) ªº»¡©ú
SLIP (client ºÝ) ªº»¡©ú
PPP (kernel ¼Ò¦¡) ªº»¡©ú
PPP (¨Ï¥ÎªÌ¼Ò¦¡) ªº»¡©ú
¦pªG§A¥u¯àÂÇ¥Ñ"shell account"ªº¤è¦¡¤Wºôªº¸Ü¡A
§A¥i¯à·|·Q¬Ý¬Ý slirp
³oÓ³nÅé¡C¥¦¥i¥HÅý§Aªº¹q¸£ª½±µ³s¤W (¬Y¨Ç) ªA°È¡A
¨Ò¦p ftp ©M http µ¥µ¥¡C
FreeBSD ¤ä´© NAT ©Î Masquerading ¶Ü?
¦pªG§A¦³¤@ÓªñºÝªº¤lºô¸ô(¦³¤@¥x¥H¤Wªº¾÷¾¹)¡A¦ý¬O§Aªº Internet provider
«o¥u¤À°t¤@Ó IP number µ¹§A
(©ÎªÌ§A¥u¤À°t¨ì¤@ӰʺAªº IP number)¡A§A¥i¥H°Ñ¦Ò
natd
³oÓµ{¦¡¡C Natd Åý§A¥i¥H³z¹L³o¤@Ó IP number Åý¾ãÓ¤lºô¸ôªº¹q¸£³£¯à
³s¤W internet ¡C
ppp ³oÓµ{¦¡¤]´£¨ÑÃþ¦üªº¥\¯à¡A¦pªG§A¤U
³oӿﶵªº¸Ü¡C alias library
¦b³o¨âÓ³B²z¤è¦¡¤¤³£·|³Q¨Ï¥Î¨ì¡C
§Ú¨S¦³¿ìªk«Ø¥ß /dev/ed0 ³oÓ device!
¦b Berkeley ºô¸ô¬[ºc¤¤¡A¥u¦³ kernel µ{¦¡½X¥i¥Hª½±µ¦s¨úºô¸ô¬É±¥d¡C
½Ð°Ñ¦Ò /etc/rc.network ³oÓÀɮשM manual pages ¨ú±o»P¨ä¥L¤£¦Pºô¸ôµ{¦¡
§ó¶i¤@¨Bªº¸ê°T¡C¦pªG§Aı±o§A§¹¥þ·d²V¤Fªº¸Ü¡A±zÀ³¸Ó§ä¤@¥»»P¨ä¥L BSD ¬ÛÃö
§@·~¨t²Îºô¸ôºÞ²z¦³Ãö®Ñ¨Ó°Ñ¦Ò¡F°£¤F¤Ö¼ÆÅãµÛªº¤£¦P¥~¡AFreeBSD ªººô¸ôºÞ²z
°ò¥»¤W©M SunOS 4.0 ©M Ultrix ¬O¤@¼Ëªº¡C
§Ú¦p¦ó«Ø¥ß Ethernet aliases?
§â ``netmask 0xffffffff'' ¥[¨ì§Aªº ifconfig
©R¥O¦C¤¤¡A¨Ò¦p¡G
ifconfig ed0 alias 204.141.95.2 netmask 0xffffffff
§Ú¦p¦ó«ü©w§Úªº 3C503 ¨Ï¥Î¨ä¥L¤£¦Pªºªº network port?
¦pªG±z·Q¨Ï¥Î¨ä¥Lªº port¡A§A¥²¶·¦b
ifconfig ªº©R¥O¤¤«ü©wÃB¥~ªº°Ñ¼Æ. ¤º©wªº
port ¬O ``link0''¡Cn¨Ï¥Î AUI port ¥N´À
BNC port ªº¸Ü¡A§ï¥Î ``link2''¡C³o¨Ç flags À³¸Ó§ïÅÜ
ifconfig_* ªºÅܼƨӫü©w¡A§A¥i¥H¦b³oÓÀɮ׸̱§ä¨ì /etc/rc.conf.
§Ú¦b³s¤W/¿é¥X FreeBSD ªº NFS ®É¥X²{°ÝÃD.
¬Y¨Ç PC ªººô¸ô¥d¤ñ¨ä¥Lªº¦n(§t»Wªº»¡¨Ó)
³oºØª¬ªp¦b³y¦¨ NFS ³oºØ¹ïºô¸ô±Ó·Pªºµ{¦¡¦³®É·|¥X²{°ÝÃD.
°Ñ¦Ò the Handbook entry on NFS
¥HÀò±o³oÓ¥DÃDªº§ó¦h¸ê°T.
¬°¤°»ò§Ú¤£¯à NFS-mount Linux ªº¾÷¾¹?
¬Y¨Çª©¥»ªº Linux NFS µ{¦¡½X¥u±µ¨ü privileged port ªº mount request
; ¸Õ¥Î³o¦æ«ü¥O¬Ý¬Ý
mount -o -P linuxbox:/blah /mnt
¬°¤°»ò§Ú¤£¯à NFS-mount Sun ªº¾÷¾¹?
¶] SunOS 4.X ªº Sun ¤u§@¯¸¥u±µ¨ü¨Ó¦Û privileged port ªº mount request
; ¸Õ¥Î³o¦æ«ü¥O¬Ý¬Ý
mount -o -P sunbox:/blah /mnt
§Ú¦b¨Ï¥Î PPP ³s½u¨ì NeXTStep ¾÷¾¹®É¦³°ÝÃD.
§â TCP extensions ¨ú®ø¡A³oÓ³]©w¦b /etc/rc.conf ¸Ì±.
§â¥H¤U³oÓȳ]¦¨ NO¡G
tcp_extensions=NO
Xylogic ªº Annex ¥D¾÷¤]¦³¬Û¦Pªº°ÝÃD¡A±zn°µ¬Û¦Pªº×§ï¤~¯à³s¤W
³o¨Ç¥D¾÷¡C
§Ún«ç¼Ë¤~¯à§â IP multicast support ¥´¶}?
FreeBSD 2.0 ¥H«áªºª©¥»¤º©w³£¦³ ¤ä´© Multicast host ¾Þ§@¡C¦pªG±z·Q±N±zªº¥D¾÷³]©w¦¨
multicast router ªº¸Ü¡A±z¥²¶·«·s compile ±zªº kernel¡A¥[¤J MROUTING
ªº¿ï¶µ¡A¨Ã¥B°õ¦æ mrouted¡C¦pªG±zªº/etc/rc.conf ¸Ì±ªº
mrouted_enable ³oӰѼƬO³]©w¦¨"YES" ªº¸Ü.FreeBSD 2.2 ¤Î¤§«áªº
ª©¥»·|¦b¶}¾÷®É°õ¦æ mrouted¡C
MBONE ªº¦UºØ¤u¨ã¥i¥H¦b¥LÌ ports ¤U©ÒÄÝ¥s°µ mbone¥Ø¿ý¤¤§ä¨ì¡C
¦pªG±z¦b§äµø°T·|ijªº¤u¨ã¦p vic ©M vat ªº¸Ü¡A
¨ì¨ºÃä§ä§ä¡I
¦pªG»Ýn§ó¶i¤@³¡ªº°T®§¡A¥i¨ì
Mbone Information Web´M§ä¡C
þ¨Çºô¸ô¥d¬O¨Ï¥Î DEC PCI chipset?
¥H¤U¬O Glen Foster´£¨Ñªº²M³æ:
Vendor Model
----------------------------------------------
ASUS PCI-L101-TB
Accton ENI1203
Cogent EM960PCI
Compex ENET32-PCI
D-Link DE-530
Dayna DP1203, DP2100
DEC DE435, DE450
Danpex EN-9400P3
JCIS Condor JC1260
Linksys EtherPCI
Mylex LNP101
SMC EtherPower 10/100 (Model 9332)
SMC EtherPower (Model 8432)
TopWare TE-3500P
Zynx ZX342
¬°¤°»òn¥Î FQDN ¤~¯à³s¨ì¨ä¥L¾÷¾¹¡H
§A¤]³\·|µo²{n³sªº¾÷¾¹¨ä¹ê¬O¦b¥t¤@Óºô°ì¡CÁ|Ó¨Ò¤l¡A°²³]§A¬O¦b
foo.bar.edu ³oÓºô°ì¤¤¡A·Qn³s¨ì¦b bar.edu ¸Ì¤@¥x¥s ``mumble'' ªº
¾÷¾¹¡A«h¥²¶·¥Î Fully-Qualified Domain Name¡A¤]´N¬O
``mumble.bar.edu''¡A¦Ó¤£¬O¥u¥Î ``mumble'' ¨Ó«ü¦V¥¦¡C
¶Ç²Îªº BSD BIND resolver ¤¹³\¥Î³oºØ¤è¦¡¸Ñ¥X¾÷¾¹ªº¦ì§}¡A¦ý¬O
FreeBSD ¤ºªþ bind ª©¥»
ªº¤º©w¤è¦¡¡A«h¬O°£¤F§A©Ò¦bªººô°ì¥H¥~¡A¤£¤ä´©¨ä¥L«D FQDN ªºÁY¼g¡C
©Ò¥H¦p mumble ³oºØ¤£¦X®æªº¾÷¾¹¦WºÙ¡A¥²¶·¦b
mumble.foo.bar.edu¡A§_«h´N·|±qºô°ìªº³Ì©³¼h¶}©l§ä¡C
³o©M¥ý«eªº°µªk¤£¦P¡A¤]´N¬O¤£¥Î mumble.bar.edu ©M
mumble.edu Ä~Äò·j´M¡C¬Ý¤@¤U RFC 1535¡A¸Ì±¦³´£¨ì¬°¤°»ò¤§
«eªº°µªk¤£¦n¡A¬Æ¦Üºâ¬OÓ¦w¥þº|¬}¡C
³o¸Ì¦³Ó¤£¿ùªº¸Ñªk¡A§â
/etc/resolv.conf ¸Ìªº³o¤@¦æ¡G
domain foo.bar.edu
´«¦¨³o¤@¦æ¡G
search foo.bar.edu bar.edu
¦ý¬On½T©w·j´M¶¶§Ç¤£·|¹H¤Ï RFC 2535 ©Ò¿×ªº ``boundary between local
and public administration''¡C
©Ò¦³ºô¸ô°Ê§@³£·|¥X²{ ``Permission denied'' ¿ù»~°T®§
¦pªG¦b½sĶ kernel ®É¥[¤F IPFIREWALL ³oӿﶵ¡An¾å±o 2.1.7R
¤º©w¬O©Úµ´©Ò¦³¥¼¸g®Ö㪺ºô¸ô«Ê¥](¦ý¦b¶}µo 2.1-STABLE ®É§ï±¼¤F)¡C
¦pªG¤£¤p¤ß§Ë¿ù¤F firewall ªº³]©w¡A¥H root ¨¥÷°õ¦æ³oÓ©R¥O¡A±µµÛ
ºô¸ô¥\¯à´N·|¥¿±`¡G
ipfw add 65534 allow all from any to any
¤]¥i¥H¦b /etc/rc.conf ³] "firewall_type='open'" ³oӿﶵ¡C
¦pªG·Qª¾¹D¦p¦ó³]©w FreeBSD firewall¡A½Ð¬Ý Handbook ¬ÛÃö³¡¥÷¡C
IPFW ·|³y¦¨¦h¤jªººô¸ô©µ¿ð¡H
³oÓ°ÝÃDªºµª®×¤j¦hn¬Ý§A«ç»òq firewall ³W«h¡BÁÙ¦³ CPU ³t«×¡C¹ï¤j
¦h¼Æ¦b ethernet ¤Wªºµ{¦¡¤Î³W«h¤£¦hªº±¡ªp¤U¡A©µ¿ð¤p¨ì¥i¥H©¿²¤¡C¦ý¦pªG
§A·Qnºë½T¼Æ¦r¨Óº¡¨¬¦n©_¤ß¡AÄ~Äò©¹¤UŪ¡C
¤U±¬O¦b 486-66 2.2.5-STABLE ¤W©Ò§@ªº´ú¶q¡A§ÚÌקï¤F IPFW ì©l½X
¨Ó´ú¶q¦b ip_fw_chk ¨ç¦¡¤W©Òªáªº®É¶¡¡A¨C³B²z 1000 Ó«Ê¥]«á´N·|¦b
console ¤WÅã¥Üµ²ªG¡C
´ú¸Õ¤F¨â²Õ¡A¨C²Õ¦U¦³ 1000 Ó³W«h¡C²Ä¤@²Õ«½Æ¤U±³W«h¡A¬G·N³]p¦¨
³ÌÁVªº±¡ªp¡G
ipfw add deny tcp from any to any 55555
ÂÇ¥ÑÀˬd port number¡A³o¼Ë·|¨Ï IPFW ¦b¨M©w¬YÓ«Ê¥]¤£²Å¦X±ø¥ó«e°õ
¦æ¤j³¡¥÷ªºÀˬdµ{¦¡¡A¦]¦¹³y¦¨³Ì®tªºª¬ªp¡C¦b«½Æ³oÓ³W«h 999 ¦¸«á¡A±µ
µÛ¬O allow ip from any to any¡C
²Ä¤G²Õ³]p¦¨¥H·¥§Öªº³t«×¸õ¹LÀˬd³W«h¡G
ipfw add deny ip from 1.2.3.4 to 1.2.3.4
¤@¸I¨ì«Ê¥]ªº¨Ó·½¤£²Å¦X³W«h©Òz¡A·|«Ü§Ö¸õ¹LÀˬdÅý«Ê¥]³q¹L¡C©M¤W±
¤@¼Ë¡A²Ä 1000 Ó³W«h¬O allow ip from any to any¡C
¦b²Ä¤@ºØ±¡ªp¤¤¡A³B²z¨C¤@Ó«Ê¥]©Ò³y¦¨ªº©µ¿ð¤j¬ù¬O 2.703 ms¡A©Ò¥H¨C
Ó³W«h¤j·§·|³y¦¨ 2.7 microsecond ªº©µ¿ð¡C©Ò¥H¦b³o¨Ç³W«h¤§¤U¡A²z½×¤W¨C
¬í³Ì¦h¥i¥H³B²z 370 Ó«Ê¥]¡C¦b 10Mbps ethernet ©M¤@Ó«Ê¥]¤j·§ 1500 byte
ªº°²³]¤U¡A¤j·§¥u·|¥Î¨ì 55.5% ªººô¸ôÀW¼e¡C
²Ä¤GºØ±¡ªp¡A¨CÓ«Ê¥]ªá¤F¤j¬ù 1.172ms¡A©Ò¥H¨C±ø³W«h¤j¬ù¥Î¤F 1.2
microsecond¡C²z½×¤W¨C¬í³Ì¦h¥i¥H³B²z 853 Ó«Ê¥]¡A¯ÓºÉ 10Mbps ªºÀW¼e¡C
¤W±´ú¸Õ¥Î¨ìªº¤j¶q³W«h¡B¤Î³o¨Ç³W«h¥»¨¨Ã¤£¥Nªí¯u¹ê¥@¬Éªº±¡ªp¡A¥LÌ
¥u¬O¥Î¨Ó²£¥Í©Òªí¥Üªº¼Æ¾Ú¡CY·Qnq¥X¤@®M¦³®Ä²vªº³W«h¡A°O±o³o´X¥ó¨Æ¡G
¦b³Ì«e±©ñ¤@Ó±Mªù³B²z¤j¶q TCP ¬y¶qªº¥i¥Î³W«h¡A¦b³o±ø«e±¤£
n©ñ¥ô¦ó allow tcp ªº¬ÛÃö±Ôz¡C
§â±`±`IJµoªº³W«h©ñ¦b«e±¡A¤£±`¥Î¨ìªº«h¥á¨ì«á±(·íµM¦b¤£
¼vÅT firewall ¥X¤J¤¹³\³]©wªº«e´£¤U)¡C°õ¦æ ipfw -a l
´N¥i¬Ý¨ì«Ê¥]ªº²Îp¼Æ¥Ø¡A¨Ó¬Ý³Ì±`¥Î¨ìþ¨Ç³W«h¡C
n¦p¦ó§â¹ï¬Y¥x¾÷¾¹ªººô¸ôªA°Èn¨D(service request)Âà¦V¨ì¥t¤@¥x¡H
¦b ports ¥Ø¿ýªº sysutils ºØÃþ¤¤¦³Ó¥s 'socket' ªº package¡A¥i¥HÀ°
§AÂà¦V FTP ©Î¨ä¥LÃþ¦üªººô¸ôªA°È¡C¥un§â¸Óºô¸ôªA°Èªº©R¥O§ï¦¨©I¥s socket
§Y¥i¡A¦p¤U(¦b /etc/inetd.conf ¸Ì)¡G
ftp stream tcp nowait nobody /usr/local/bin/socket socket ftp.foo.com ftp
¨ä¤¤ 'ftp.foo.com' ©M 'ftp' ¤À§O¬O³QÂà¨ìªº¾÷¾¹©M port ¦WºÙ¡C
¨º¸Ì¥i¥H§ä¨ìºÞ²zÀW¼eªº¤u¨ã¡H
FreeBSD ¤W¦³¨â®MÀW¼eºÞ²z¤u¨ã¡G
ALTQ ¥i¥H§K¶O¨Ï¥Î¡A
Emerging Technologies ¥Xªº
Bandwidth Manager «h¬O°Ó¥Î³nÅé¡C
«ç»ò·|¶]¥X ``/dev/bpf0: device not configured'' ³oÓ°T®§¡H
¬f§JµÜ«Ê¥]¹LÂo¾¹(Berkeley Packet Filter) (bpf)
¦bµ{¦¡¨Ï¥Î«e¥²¶·¦b kernel ¥´¶}¥¦ªºÅX°Êµ{¦¡¡A§â¤U±³o¤@¦æ¥[¤J kernel
³]©wÀɤ¤¡A½sÓ·sªº kernel¡G
pseudo-device bpfilter # Berkeley Packet Filter+
¦b«·s¶}¾÷¤§«á¡AÁÙn°µ¥X device node¡A¦b /dev ¤U°õ¦æ¡G
# sh MAKEDEV bpf0
¦pªG·Qn§ó¶i¤@¨Bª¾¹D¦p¦ó°µ¥X¦UºØ device node¡A½Ð¬Ý handbook ¤¤¦³Ãö device node ªº»¡©ú¡C
PPP
§Ú¤£¯à¨Ï¥Î ppp¡A§Ú°µ¿ù¤F¤°»ò¶Ü ?
§AÀ³¸Ó¥ý¬Ý¬Ý ppp man page ©M
ppp ¨Ï¥Î»¡©ú¡C¨Ï¥Î¥H¤U«ü¥O¨Ó¥´¶}°O¿ý (logging) ªº¥\¯à
set log Phase Chat Connect Carrier lcp ipcp ccp command
³oÓ©R¥O¥i¥H¦b ppp command prompt ©ÎªÌ¬O¦b
/etc/ppp/ppp.conf ²ÕºAÀɮפ¤¥[¤J¡C
(¥[¦b default section ªº¶}ÀY³Ì¦n).
½T©w¦b /etc/syslog.conf ¸Ì±¦³³o»ò¤@¦æ:
!ppp
*.* /var/log/ppp.log
¦Ó¥B/var/log/ppp.log ³oÓÀɮצs¦b¡C ¦p¦¹¤@¨Ó
§A¥i¥H±q log Àɮפ¤ª¾¹D¨ì©³µo¥Í¤F¤°»ò¨Æ±¡¡C
¥ý¤£¥Î¾á¤ßÀɮתº¤º®e§A¬Ý¤£À´¡A¦pªG§An¦V¤H¨D±Ïªº¸Ü
¡A±Ï§Aªº¤H·|¬Ý±oÀ´ªº¡C
¦pªG§A¨t²Î¤Wªº¨º¥÷ ppp ¤£´£¨Ñ "set log"
ªº«ü¥Oªº¸Ü¡A§AÀ³¸Ó¥h¤U¸ü
³Ì·sª©¥»¡C
³oÓª©¥»¦b FreeBSD 2.1.5 ¥H¤Wªºª©¥»³£¥i¥H¨Ï¥Î¡C
§Ú¤@°õ¦æ ppp¡A¥¦´N±¾¦b¨ºÃ䤣°Ê¤F
·|µo¥Í³oºØ±¡§Î³q±`¬O§Aªº hostname ¨S¦³¿ìªk¸Ñ¥X¨Ó¡C¸Ñ¨M³oÓ°ÝÃD
³Ì¦nªº¿ìªk¬O½T©w /etc/hosts ·|³Q§Aªº resolver ²Ä¤@ӰѦҨì¡C
§A¥i¥Hקï/etc/host.conf
¨Ã¥B§âhosts ©ñ¨ì³Ì«e±¡C±µµÛ¡A¥un§â§Aªº¾÷¾¹¦WºÙ©ñ¨ì
/etc/hosts ¸Ì±´N¥i¥H¤F¡C¦pªG§A¨S¦³ local network ªº¸Ü¡Aקï
localhost ³o¤@¦æ¡G
127.0.0.1 foo.bar.com foo localhost
§_«h¡A´N§â§A¥D¾÷ªº¸ê°T¥[¤JÀɮפ¤¡C§A¥i¥H°Ñ¦Ò¬ÛÃöªº man pages ¥HÀò±o¶i¤@¨Bªº¸ê°T¡C
¦pªG§A¶¶§Qªº§¹¦¨³o¨Ç°Ê§@¡A§AÀ³¸Ó¥i¥H¦¨¥\ªº°õ¦æ ping -c1 `hostname`
¡C
Ppp ¦b -auto ¼Ò¦¡¤U¤£¯à¼·¸¹
º¥ý½T©w§Aªº¤º©w¸ô¥Ñ (default route) ¬O§_¦³³]©w¡C¤U netstat -rn ³oÓ«ü¥O¡A§AÀ³¸Ó¯à°÷¬Ý¨ì¦p¥H¤U½d¨Òªº¨âÓ entries¡G
Destination Gateway Flags Refs Use Netif Expire
default 10.0.0.2 UGSc 0 0 tun0
10.0.0.2 10.0.0.1 UH 0 0 tun0
³o¨Ç³]©w¬O°²³]±z¨Ï¥Îªº address ¸ò handbook ¸Ì±ªº¡B©Î¬O man
page ªº½d¨Ò¡B©ÎªÌ©M ppp.conf.sample ¸Ìªº³]©w¬Û¦P¡C¦pªG±z¨S¦³³]©w
default route¡A¨º»ò¦³¥i¯à±z²{¦b¨Ï¥Îª©¥»ªº ppp¡Aªº
ppp ·|¬Ý¤£À´ ppp.conf ¸Ìªº HISADDR¡C¦pªG±zªº¨t²Î ppp
¬O¦b FreeBSD 2.2.5 ¤§«eªº¸Ü¡Aקï³o¤@¦æ
add 0 0 HISADDR
¦¨¬°
add 0 0 10.0.0.2
default route ³o¦æ¨S¦³¥X²{ªº¥t¤@Óì¦]¬O§A³]¿ù¤F default
router¡A³oÓ³]©w¦b /etc/rc.conf Àɮפ¤(³oÓÀɮצb release 2.2.2 «e¥s
/etc/sysconfig)¡A§A»Ýn¦b ppp.conf ¤¤¥[¤J³o
»ò¤@¦æ
delete ALL
¦pªGµo¥Í³oºØ±¡§Î¡A¦^¨ì handbook userppp ³Ì«á³]©w
ªº»¡©ú¤¤¬d¸ß¡C
¤°»ò¥s°µ "No route to host"
³oÓª¬ªp³q±`¬O¦]¬°¯Ê¤Ö¤F³o¬q³]©w
MYADDR:
delete ALL
add 0 0 HISADDR
½ÐÀˬd±zªº /etc/ppp/ppp.linkup Àɮפ¤¬O§_¦³³o¨Ç³]©w¡C
¥u¦³¦b±z¨Ï¥Î°ÊºA IP(dynamic IP) ©Î¤£ª¾¹D±z gateway ªº IP ®É¤~»Ýn
³]©w³oÓ¡C¦pªG±z¬O¨Ï¥Î interactive mode ªº¸Ü¡A±z¥i¥H¦b¶i¤J packet
mode «á¿é¤J¦p¤U©R¥O(¦pªG ppp ´£¥Ü²Å¸¹Åܦ¨¤j¼gªº PPP¡A«K¥Nªí¤w
¸g¶i¤J packet mode)¡G
delete ALL
add 0 0 HISADDR
±z¥i¥H°Ñ¦Ò handbook ¤¤
PPP ©M°ÊºA IP ¦ì§} ªº³¡¥÷¡A¦³¸û¸ÔºÉªº»¡©ú¡C
§Úªº³s½u¦b¤T¤ÀÄÁ«á¦Û°ÊÂ_±¼¤F
ppp ¹w³]ªº timeout ȬO¤T¤ÀÄÁ¡C¥i¥H¥Î¥H¤U³o¦æ©R¥O½Õ¾ã
set timeout NNN
³o¥Nªí¦pªG¦b NNN ¬í¤ººô¸ô³£¨S¦³°ÊÀRªº¸Ü¡Appp ´N·|¦Û°ÊÃö³¬
³s½u¡C¦pªG NNN ³]¦¨ 0¡A¨º»ò±N¤£·|¦]¬°¨S¦³¸ê®Æ¨Ó©¹¦ÓÃö³¬³s½u¡C
§A¥i¥H§â³o¦æ©R¥O©ñ¨ì ppp.conf ³oÓÀɮ׸̱¡A©Î¬O¦b
interactive mode ¸Ì±¿é¤J³oÓ«ü¥O¡A¤]¥i¥H¥Î telnet ©Î
pppctl ³s¨ì ppps ¦øªA¾¹ªº socket¡A¦b³s½u«áÀH®É½Õ¾ã
timeout ªºÈ¡C°Ñ¦Ò ppp man page
¥HÀò±o§ó¸ÔºÉªº¸ê®Æ.
§Úªº³s½u¦]¬°t²ü¤Ó«¦ÓÂ_½u
¦pªG±z³]©wn¥Î Link Quality Reporting(LQR)¡A±z©M¹ï¤è¥D¾÷¤§¶¡´N
¦³¥i¯à¿ò¥¢¤Ó¦hªº LQR «Ê¥]¡CPpp ·|¦]¦¹§PÂ_¹q¸Ü½u¸ô¦³°ÝÃD¡AµM«á´N·|
¤ÁÂ_³s½u¡C¦b FreeBSD 2.2.5 ª©¥H«e¡A¤º©w·|¨Ï¥Î LQR¡A²{¦bªº¤º©wȬO
¤£¥Î¡CLQR ¥i¥H¥Î³o¤@¦æ©R¥O¨ú®ø
disable lqr
ppp ·|¤£©w®ÉªºÂ_½u
¦³®ÉÔ¦pªG½u¸ô¤W¦³¤Ó¦hÂø°T¡A¬Æ¦Ü¦pªG±z¨Ï¥Î¤F¹q¸Ü´¡¼·ªA°Èªº¸Ü¡A
±zªº¼Æ¾Ú¾÷±N·|±¾Â_¹q¸Ü¡A¦]¬°¥¦»~»{³o¨Ç°T®§¬O lost carrier¡C
¤j³¡¤Àªº¼Æ¾Ú¾÷³£¦³®e§Ô¼È®É¥¢¥h carrier ªº³]©w¡C¥H USR Sportster
¬°¨Ò¡A¥¢¥h carrier ©M±¾Â_¹q¸Ü¤§¶¡ªº®É¶¡¡A¬O¥H 1/10 ¬í¬°³æ¦ì¦s¦b
S10 ¼È¦s¾¹¤¤¡C¦pªGnÅý±zªº¼Æ¾Ú¾÷¯à®e§Ô§óªøªº®É¶¡¡A§A¥i¥H¦b dial
string ¸Ì±¥[¤J¥H¤U "°e¥X©R¥O - µ¥«Ý¦r¦ê" ªº³¡¥÷¡G
set dial "...... ATS10=10 OK ......"
°Ñ¦Ò¼Æ¾Ú¾÷¤ºªþªº»¡©ú®Ñ¥H¨ú±o§ó¸Ô²Óªº¸ê®Æ¡C
³s½u·|¤£©w®É·í±¼
³\¦h¤Hªº³s½u·|²@µL¨Ó¥Ñªº¥d¦í¡Aº¥ýn°µªº¬O§ä¥X³s½u¨º¤@¤è·í±¼¡C
¦pªG¥Îªº¬O¥~±µ¼Æ¾Ú¾÷¡A´N¥Î ping ¨Ó¬Ý¦b¶Ç¸ê®Æ®É¡ATD ¿O¸¹
·|¤£·|°{¡C¦pªG·|ªº¸Ü¡]¨Ã¥B RD ¤£·|°{¡^¡A¥Nªí¬O¹ï¤è¥X°ÝÃD¡F¦pªG
¤£·|¡A«h¬O¦Û¤vªº°ÝÃD¡C¦pªG¥Î¤º±µ¼Æ¾Ú¾÷¡A¥ý¦b ppp.conf ¤¤¥[¤J
set server ³o¹D«ü¥O¡A·í³s½u·í±¼®É¡A°õ¦æ pppctl ³s¨ì ppp¡C¦pªGºô
¸ô³s½u¬ðµM¦n¤F¡]¦]¬° ppp ¬Ý¨ì¥Î¨Ó¶EÂ_°ÝÃDªº socket¡^©ÎµLªk³s¤W¡]°²³]
¦b¤@¶}©l¥i¥H°õ¦æ set socket ³o¹D«ü¥O¡^¡Aªí¥Ü¥»¦a¥X°ÝÃD¡C¦pªG³s
±o¤W ppp «o¤´µM¤£¯à¥Î¡A¥Î set log local async ¥´¶}¥»¦aªº«D¦P¨B
°O¿ý¡A±µµÛ¦b¥t¤@Óµøµ¡¡]©Î²×ºÝ¾÷¡^°õ¦æ ping ¦b³s½u¤W¶Ç°e¸ê®Æ¡C
«D¦P¨B°O¿ýªº¥\¯à·|¦P®ÉÅã¥Ü°e¥X©M±µ¦¬ªº¸ê®Æ¡A¦pªG¸ê®Æ¥u¥X¤£¶i¡A´N¬O¹ï
¤è¾÷¾¹¥X°ÝÃD¡C
ª¾¹D¬O¥»¦a©Î¹ï¤è¥X°ÝÃD«á¡A´N¦³¨âºØ¥i¯à¡G
¹ï¤èªº¾÷¾¹¨S¦³¦^À³
¦b³o¤è±¯à§@ªº¬Û·í¦³¡A¤j³¡¥÷ªº ISP ·|¦]¬°§A¤£¬O¥Î Microsoft
§@·~¨t²Î¦Ó¤£Ä@À°¦£¡C¥i¥H¦b ppp.conf ¤¤¥[¤J enable lqr¡A
¤¹³\ ppp °»´ú¹ï¤èªº¿ù»~¦Ó±¾Â_¡A¦ý³oÓ¹Lµ{¬Û·íºC¡A©Ò¥H¤£¤j¹ê¥Î¡C¤]
³\¤£·Q§i¶D ISP §A¬O¥Î user-ppp ¤W½uªº....
º¥ý¡A¥Î¤U±¨â¹D©R¥OÃö±¼©Ò¦³¥»¦aªºÀ£ÁY¥\¯à¡G
disable pred1 deflate deflate24 protocomp acfcomp shortseq vj
deny pred1 deflate deflate24 protocomp acfcomp shortseq vj
µM«á«·s³s½u¡A½T©w³o¼Ë¤£·|¦³©Ò¤£¦P¡C¦pªG¤Ï¦Ó¦³¶i¨B©Î¬Æ¦Ü±N°ÝÃD
¸Ñ¨M±¼¡A´N¥Î¸Õ»~ªk¨Ó§ä¥X¬O¨ºÓ³]©w³y¦¨ªº¡C³o¼Ë¦bÁpµ¸ ISP ®É´N¥i¥H
´£¨Ñ¬Û·í¦³¥Îªº¸ê®Æ¡]ÁöµM·|«Ü®e©ö¬Ý¥X§A¤£¬O¥Î Microsoft ªº²£«~¡^¡C
¦bÁpµ¸ ISP ¤§«e¡A¥´¶}¥»¦aªº«D¦P¨B°O¿ý¥\¯à¡A±µµÛ´Nµ¥³s½u¦A«×·í±¼¡A
³o¥i¯à·|¥Î¨ì¬Û·í¤jªºµwºÐªÅ¶¡¡C³Ì«á±q³s±µ°ðŪ¶iªº¸ê®Æ¥i¯à·|¬Û·í¦³¥Î¡A
¥¦³q±`¬O ASCII ¤å¦r¡A¬Æ¦Ü¦³¥i¯à·|»¡©ú°ÝÃD¥X¦b¨º¸Ì(``Memory fault¡A
core dumped''?)¡C
¦pªG ISP Ä@·N¨ó§Uªº¸Ü¡AÀ³¸Ó·|¦b¥L̨º¤@ºÝ¤]¥´¶}°O¿ý¥\¯à¡A¨º»ò¦b
¤U¦¸³s½u·í±¼®É¡A´N¥i¥H§i¶D§A¬°¦ó·|¥X°ÝÃD¡C«ÜÅwªï±N¸Ô²Ó¤º®e°e¨ì brian@Awfulhak.org¡A¬Æ¦Ün
¨D ISP ª½±µ¦V§Ú³sµ¸¡C
¦Û¤vªº Ppp ·í±¼¤F
³o¸Ì¯à°µªº³Ì¦h´N¬O«·s½sĶ ppp¡G¦b Makefile ³Ì«á±¥[¤W
CFLAGS+=-g ©M STRIP=¡A±µµÛ°µ
make clean && make && make install¡C¦b ppp ·í
±¼®É¡A¥ý¥Î ps ajxww |fgrep ppp §ä¥X ppp ªº process id¡AµM«á°õ
¦æ gdb ppp PID¡C¦b gdb ´£¥Ü²Å¸¹¤U¡A¥i¥H¥Î bt §ä¥X stack
trace¡C
±Nµ²ªG°e¨ì brian@Awfulhak.org.
¦b¬Ý¨ì Login OK! ªº°T®§¥H«á´N¨S¦³¤ÏÀ³¤F
¦b FreeBSD 2.2.5 ¥H«eªºª©¥»¤W¡A¤@¥¹³s½u«Ø¥ß§¹¦¨¥H«á¡A
ppp
·|µ¥¹ï¤èªº¾÷¾¹±Ò°Ê Line Control Protocol (LCP)¡C«Ü¦h ISP ¤£·|¦Û°Ê
±Ò°Ê¡A¦Ó¬Oµ¥«Ý¥Ñ client ºÝ¨Ó±Ò°Ê¡Cn±j¢ ppp ¥D°Ê±Ò°Ê LCP¡A½Ð
°õ¦æ³oÓ©R¥O¡G
set openmode active
Note: ³q±`¦pªG¨âÃä³£±Ò°Ê°T®§¥æ´«ªº¸Ü¡A³q±`¤£·|³y¦¨¥ô¦ó°Æ§@
¥Î¡A©Ò¥H openmode ¥Ø«e¤º©w¬O¥´¶}ªº¡CµM¦Ó¡A¤U¤@¬q±N¸ÑÄÀ¦b¤°»òª¬ªp¤U
³o¼Ë³]©w ¯uªº ·|³y¦¨°Æ§@¥Î¡C
§Ú¤@ª½¬Ý¨ì magic being the same ªº¿ù»~°T®§
¦³®É´N¦b³s¤W¤§«á¡A¦b°O¿ýÀÉ·|¬Ý¨ì "magic is the same" ªº°T®§¡C³q
±`³o¨Ç¬OµL®`ªº¡A¦³®ÉÔ¬Y¤@ºÝ«h·|Â_½u¡C¤j¦h¼Æªº ppp ¹ê§@µLªk¸Ñ¨M³oÓ
°ÝÃD¡A´Nºâ¦ü¥G³s¤W¤F¡A¦b°O¿ýÀɤ]¥i¥H¬Ý¨ì¤@ª½«½Æªº configure request
©M configure acknowledgement ¤§Ãþªº·¾³q°T®§¡Appp ³Ì«á·|©ñ±ó¦ÓÃö±¼³s
½u¡C
·|µo¥Í³oºØ°ÝÃDªº³q±`±¡ªp¬O¡A¦øªA¾¹¥Î³t«×ºCªºµwºÐ¡B¦b³q°T°ð¤W°õ¦æ
getty¡B¨Ã¥Bµ¥¨ì¨Ï¥ÎªÌµn¤J«á¤~¥Î script ©Îµ{¦¡°õ¦æ ppp¡F¤]¦³Å¥»¡¥Î
slirp ´N¤@©w·|µo¥ÍÃþ¦ü°ÝÃDªº³ø§i¡Cì¦]¬O¦b getty µ²§ô©M ppp ¶}©l°õ¦æ
ªº³o¬q®É¶¡¤º¡Aclient ºÝªº ppp ¶}©l°e¥X Line Control Protocol(LCP) «Ê
¥]¡A¥Ñ©ó¦øªA¾¹³q°T°ðªº ECHO ¤´¦b¥´¶}ª¬ºA¡Aclient ºÝªº ppp ´N·|¬Ý¨ì°e
¥X¥hªº«Ê¥]³Q "¤Ï¼u" ¦^¨Ó¡C
¦b¥Î LCP ·¾³q®É¡A¦³³¡¥÷¬On³s½u¨âÃä¤À§O«Ø¥ß¦Û¤vªº magic number¡A
¨Ó°»´ú¤ÎÁקK«Ê¥]³Q "¤Ï¼u" ¦^¨Óªºª¬ªp¡C¨ó©w¼Ð·Ç¤¤»¡·í¹ï¤è¸Õ¹Ï¥Î©M¦Û¤v
¬Û¦Pªº magic number ·¾³q®É¡An°eµ¹¹ï¤è¤@Ó NAK ªº°T¸¹¡]ªí¥Ü¤£±µ¨ü¡^¡A
±µµÛ¹ï¤è´N·|¿ï¥t¤@ӼƦr¡C¦ý¦b¦øªA¾¹³q°T°ð ECHO ¤´¥´¶}ªº³o¬q´Á¶¡¡A
client ºÝªº ppp °e¥X LCP «Ê¥]¡A¬Ý¨ì¬Û¦Pªº magic number¡A©ó¬O°e¥X
NAK °T¸¹¡C³oÓ NAK ¤]·|³Q "¤Ï¼u" ¦^¨Ó¡A³Q»~»{¥Ñ¹ï¤è°e¥X¡A¦]¦¹ client
ºÝ·|§ïÅܦۤvªº magic number¡C³o¼Ë magic number ªºÅܰʦ¸¼Æ·|«D±`¦a¦h¡A
¨Ã¥B¤]¥þ³£¦s¦b¹ï¤èªº²×ºÝ¾÷½w½Ä°Ï¤¤¡C·í¦øªA¾¹±Ò°Ê ppp ®É¡A¥¦°¨¤W´N
³Q magic number ªº¤j¶q§ó°Ê©Ò²T¨S¡A¨Ã¥B¡]´X¥G¬O¥ß¨è¡^¨M©w¤w¸g¸Õ°÷¤F
LCP ¦Ó©ñ±ó¡F¦b³o´Á¶¡¡Aclient ºÝÁöµM¦A¤]¬Ý¤£¨ì³Q¤Ï¼uªº«Ê¥]¡A¦ý«o¨Ó±o
¤Î¬Ý¨ì¦øªA¾¹§â¹q¸Ü½u±¾±¼¡C
¤¹³\Åý¹ï¤è¨Ó§@ LCP ·¾³q¥i¥HÁקK³oºØ±¡§Î¡A¦b ppp.conf ¤¤¥[¤U±³o
¤@¦æ¡G
set openmode passive
³o¦æ§i¶D ppp ¥Ñ¹ï¤è¨Ó±Ò°Ê LCP¡A¤£¹L¦³¨Ç¦øªA¾¹¥Ã»·³£¤£·|¥D°Ê·¾³q
¡A¦b³oºØ±¡ªp¤U¡A¥i¥H³o»ò³]©w¡G
set openmode active 3
³o¬On ppp µ¥Ó¤T¬íÄÁ¡AµM«á¦A¶}©l°e LCP ¬ÛÃön¨D¡C¦pªG¹ï¤è¦b³o
¬q®É¶¡°e¥X LCP «Ê¥]¡Appp ´N¤£·|µ¥¨¬¤T¬í¦Ó¥ß¨è¦^À³¡C
LCP ªº·¾³q¤@ª½¨ì³s½uÃö³¬¤~µ²§ô
¥Ø«e ppp ¦b¹ê§@¤W¦³Ó·|¥X°ÝÃDªº "¥\¯à"¡A¤£·|±N LCP¡BCCP
& IPCP ³o´XºØ«Ê¥]ªº¦^À³©Mì¥ýn¨D§@¹ï·Ó¡Cµ²ªG¬O¦pªG¦³¤@¤èªº
ppp ±Ò°Ê®É¤ñ¹ï¤èºC¤F¤»¬í¥H¤W¡A¹ï¤è·|¦b¨ä¶¡¦h°e¥X¨âÓ LCP ªº³]©w
n¨D¡A«áªG¬Û·íÄY«¡C
°²³]¦³¨âºÝ A ©M B ³£¦b°õ¦æ ppp¡AA ¦b³s½u«á¥ß¨è
°e¥X LCP n¨D¡AB «hªá¤F¤C¬í¤~¶}©l¡A©Ò¥H·í B ±Ò°Ê®É¡AA
¦¤w°e¥X¤TÓ LCP REQ(request)¡C§Ṳ́]°²³]³s½u¤w±N ECHO Ãö±¼¡A§_«h´N
·|¬Ý¨ì¤WÓ°ÝÃD´£¨ìªº magic number °ÝÃD¡CB ±Ò°Ê®É¤]·|°e¥X REQ¡A
¦P®É¹ï A °e¥Xªº²Ä¤@Ó REQ ¦^À³¡A°e¥X ACK(acknowledge)¡CA ¦¬¨ì³o
Ó ACK «á·|¶i¤J OPENED ª¬ºA¡A¦P®É¤]¹ï B ªº²Ä¤@Ó REQ °e¥X
ACK¡C¦ý¦b³o¬q´Á¶¡¡AB ·|¬Ý¨ì A ¤§«e¦h°e¥Xªº¨âÓ REQ¡A¦]¦Ó¤]
¥H¨âÓ ACK ¦^À³¡CB ±µµÛ¬Ý¨ì A ¶Ç¨Óªº²Ä¤@Ó ACK¡A¦]¦¹¤]¶i¤J
OPENED ª¬ºA¡C¦ý³o®É A ¦¬¨ì B ¦h°eªº¨âÓ ACK¡C®Ú¾Ú
RFC ªº³W©w¡A·|¹ï²Ä¤GÓ ACK °e¥X²Ä¥|Ó REQ ¦Ó¦^¨ì REQ-SENT ª¬ºA
¡]¦A«½Æ¤@¦¸ REQ-ACK ªº¹Lµ{¡^¡A¦ý¤@¬Ý¨ì²Ä¤TÓ ACK¡AA ¥H¬°¬O
B ¦^À³èè°e¥Xªº REQ¡A¤S¶i¤J OPENED ª¬ºA¡C¦¹®É B ¦¬¨ì
A µo¥Xªº²Ä¥|Ó REQ¡A®Ú¾Ú RFC¡A·|¹ï³oÓ REQ °e¥X ACK¡AµM«á¦A°e¥X
²Ä¤GÓ REQ¡]¤]¬O¦A«½Æ¤@¦¸ REQ-ACK ªº¹Lµ{¡^¡CA ¦¬¨ì³oÓ REQ «á
·|¦A«·s°e REQ ¦Ó¦^¨ì REQ-SENT ª¬ºA¡A±µµÛ¤S¦¬¨ì ACK ¦Ó¶i¤J
OPENED ª¬ºA¡C¦]¦¹Âù¤è³£·|¥H¬°¦¬¨ìªº ACK ¬O¹ï¤è¦^À³èè°e¥X¥hªº
REQ¡A³Ì«á A ·|¤@ª½¦b OPENED ©M REQ-SENT ¨âºØª¬ºA¶¡¤Á
´«¡A¹ï B «h¬O OPENED ©M ACK-SENT¡C
³oºØ´c©Ê´`Àô·|¤@ª½«ùÄòµÛ¡Aª½¨ì¦³¤@¤èµo²{¦Û¤v¦bì¦a¥´Âà¦Ó©ñ±óÄ~Äò
¤U¥h¡C
ÁקK³oºØ±¡ªpªº³Ì¦n¤è¦¡¡A¬O±N¬Y¤@ºÝ³]¦¨³Q°Ê¼Ò¦¡¡Ð¤]´N¬Oµ¥¥t¤@
¤è¥ý¶}©l·¾³q¡A¥Î³o¹D©R¥O¡G
set openmode passive
¥Î³oӿﶵ®Én¤p¤ß¡AÀ³¸Ó©M³oÓ©R¥O¤@°_¥Î¡G
set stopped N
³o·|³]©w ppp µ¥«Ý¹ï¤è¶}©l·¾³qªº®É¶¡¤W¡A¥t¤@Ó¤èªk¬O¥Î¡G
set openmode active N
¨ä¤¤ N ¬O¦b¥D°Ê·¾³q¤§«e¥ýµ¥«Ýªº¬í¼Æ¡Aman page ¦³§ó¸Ô²Óªº»¡©ú¡C
Ppp ¦b³s½u«á´N¥d¦í¤F
¦b FreeBSD 2.2.5 ¤§«eªºª©¥»¡A¦³¥i¯à¦]¬° ppp ¦b³B²z Predictor1
À£ÁY®Éµo¥Í¿ù»~¡A¨Ï±o¦b³s½u«á°¨¤W´N¥d¦í¡C¥u¦³·í³s½uÂù¤è³£¸Õ¹Ï¥Î¤£¦P
ºØ Compression Control Protocol(CCP) ·¾³q®É¡A¤~·|µo¥Í³oºØ±¡§Î¡C³oÓ
°ÝÃD¤w¸g¸Ñ¨M¤F¡A¦ý¦pªG¤´¦b¥Îª©ªº ppp¡A¥i¥H¥Î³oºØ¤èªkÁקK¡G
disable pred1
¥Î shell ¸õ¥X Ppp °µ´ú¸Õ®É¡A³s½u¦ü¥G¥d¦í¤F
¦b¥Î shell ©Î ! ©R¥O®É¡Appp ·|°õ¦æ shell(ppp
¤]·|§â§A«ü©wªº°Ñ¼Æ¶Çµ¹ shell)¡APpp ·|µ¥¨ì³o¨Ç©R¥Oµ²§ô«á¤~Ä~Äò¡C¦pªG
¦³¨Ï¥Î¨ì ppp ³s½uªº©R¥O¡A³s½u·|¹³¬O³Qá¦í¤F¡A³o¬O¦]¬° ppp ¥¿¦b
µ¥³o¨Ç«ü¥Oµ²§ô¡C
¦pªG·Q°õ¦æµ{¦¡¡A¥Î !bg ³oÓ©R¥O¡A¥¦·|§âµ{¦¡¥á¨ìI´º°õ¦æ¡Appp
±µµÛ´N¯àÄ~Äò«O«ù³s½u¡C
¦b null-modem ½u¤W«Ø¥ßªº Ppp ¦n¹³¤£·|¦Û°ÊÂ_½u
¥Ñ©ó null-modem ¥»¨¥Îªº½u§÷¡Appp ¨S¦³¿ìªk¦Û°Ê¨M©w¬O§_
¬YÓª½±µ³s½u¤w¸gÂ_±¼¡C·í¨Ï¥Î³oÃþ¤è¦¡ªº³s½u®É¡A¤@©wn¥´¶} LQR¡G
enable lqr
¤º©w¬O·|±µ¨ü LQR¡A¦pªG¹ï¤è¥Î¥¦¨Ó·¾³qªº¸Ü¡C
¬°¤°»ò ppp ¦b -auto ¼Ò¦¡¤U·|µL½tµL¬G¼½¸¹¡H
¦pªG ppp «D¹w´Á¦a¼½¸¹¡A´N¥²¶·n§ä¥Xì¦]¡AµM«á³]©w¼½¸¹¹LÂo
¾¹¡]dfilter, Dial filter¡^¨ÓÁקK³oºØ±¡§Î¡C
n§ä¥Xì¦]¡A¥ý¥Î³oÓ©R¥O¡G
set log +tcp/ip
³o¼Ë·|°O¿ý¸g¥Ñ³s½uªº©Ò¦³¸ê®Æ¡C¤U¦¸¦pªG¤SµL¬G¼½¸¹¡A´N¥i¥H±q°O¿ý
®ÇÃ䪺®É¶¡«Ü§Ö§ä¨ìì¦]¡C
²{¦b¥i¥HÁקK¦]¬°³o¨Çì¦]¼½¸¹¡C³q±`¬O¦b§@ DNS ¬d¸ß®É¤~·|µo¥Í³oºØ
°ÝÃD¡AnÁקK¦] DNS ¬d¸ß¦Ó³s½u¡]³o¼Ë¤£·|¨Ï ppp ¦b³s½uª¬ºA
¤U¾×±¼³o¨Ç«Ê¥]¡^¡A¥Î¤U±³o´X¦æ¡G
set dfilter 1 deny udp src eq 53
set dfilter 2 deny udp dst eq 53
set dfilter 3 permit 0/0 0/0
³oºØ°µªk¨Ã¤£¥Ã»·¾A¥Î¡A¦]¬°¥¦¨Æ¹ê¤W¨Ï±o§AµLªk¥Î demand-dial ¥\¯à
¡Ð ¤j³¡¥÷µ{¦¡¦b°µºô¸ô¬ÛÃö°Ê§@«e³£·|¥Î¨ì DNS ¬d¸ß¡C
¦b DNS ³oÓ±¡ªp¤U¡AÀ³¸Ó¸ÕµÛ§ä¥X¨ì©³¬O½Ö·Qn¸Ñ¥X¥D¾÷¦WºÙ¡A³q±`´X
¥G³£¬O¥Ñ sendmail ©Ò³y¦¨¡A©Ò¥Hn¦b sendmail ³]©wÀɤ¤«ü¥Ü¥¦¤£n°µ¥ô¦ó
DNS ¬d¸ß¡C¦b Mail ³]©w ¤@¸`¤¤¦³¸Ô²Ó»¡©ú¦p¦ó§@¥X
¦Û¤vªº³]©wÀÉ¡B¤Î¸Ì±À³¸Ó©ñþ¨Ç³]©w¡A§A¤]³\·Qn±N¤U¤@¦æ¥[¤J .mc
Àɤ¤¡G
define(`confDELIVERY_MODE', `d')dnl
³o·|¨Ï sendmail ¥ý¾×µÛ©Ò¦³«H¥ó¡Aª½¨ì°e«H®É¦A¤@»ô°e¥X¥h¡]³q±`
sendmail °õ¦æ®É¬O¥Î ``-bd -q30m'' ³oӰѼơA§i¶D¥¦¨C¤T¤Q¤ÀÄÁ¤~°e«H¡^
©Î¬O¦³¤H°õ¦æ ``sendmail -q''¡]¤]³\¥i¥H©ñ¦b ppp.linkup ¸Ì¡^¡C
³o¨Ç CCP ¿ù»~°T®§¬O«ü¡H
§Ú¦b log Àɤ@ª½¬Ý¨ì³o¨Ç¿ù»~°T®§¡G
CCP: CcpSendConfigReq
CCP: Received Terminate Ack (1) state = Req-Sent (6)
³o¬O¦]¬° ppp ¸Õ¹Ï§@ Predictor1 À£ÁY¤è±ªº·¾³q¡A¦ý¹ï¤èªº¾÷¾¹«o§¹
¥þ¤£¥ÎÀ£ÁY¥\¯à¡C³o¨Ç°T®§¬OµL®`ªº¡A¦ý¦pªG¤£·Q¬Ý¨ì¥¦ªº¸Ü¡A¥i¥H§â¥»¦a
ppp ªº Predictor1 À£ÁY¤]¤@°_Ãö±¼¡G
disable pred1
¶ÇÀɮ׮ɵo¥Í IO ¿ù»~¡AµM«á Ppp ´N±¾±¼¤F
¦b FreeBSD 2.2.2 ¤Î¥ý«eªºª©¥»¤¤¡Atun ªºÅX°Êµ{¦¡¦³Ó°ÝÃD¡A¥¦¤£·|
±µ¦¬¨º¨Ç¤j¹L tun ¤¶± MTU ªº«Ê¥]¡C¦pªG¦¬¨ì¤ñ MTU ¤jªº«Ê¥]¡A¥¦·|¥Î
syslogd °O¿ý¬° IO ¿ù»~¡C
¦ý ppp ³W®æ¤¤¦³´£¨ì¡A¤£ºÞ LCP ·¾³qªºµ²ªG¦p¦ó¡AMRU ³Ì¤pªº¥i±µ¨ü
ȥû·¬O 1500¡C©Ò¥H¦³¥i¯à§A¤£¤p¤ß±N MTU ½Õ§C©ó 1500¡AISP
·|¤£²z¥¦¦Ó°e¥X 1500 ¤j¤pªº«Ê¥]¡AµM«á´N·|IJµo¤Wzªº "¥\¯à"¡C
¦b FreeBSD 2.2.2 ¤Î¤§«eªºª©¥»¤¤¡A¥Ã»·¤£n±N MTU ½Õ§C©ó 1500¡A´N
¥i¥H¸Ñ¨M³oÓ°ÝÃD¡C
¬°¤°»ò ppp ¤£·|°O¿ý§Úªº³s½u³t«×¡H
¦pªGn°O¿ý¹q¸£©M¼Æ¾Ú¾÷¶¡ªº¨C¤@¦æ ``¹ï¸Ü''¡A¥Î¤U¤@¦æ¥´¶}¡G
set log +connect
³o·|¨Ï ppp °O¿ý©Ò¦³¸ê®Æ¡Aª½¨ì¼½¸¹¦r¦ê³Ì«á¤@Óµ¥«Ýªº¼Æ¾Ú¾÷¶Ç¦^È
¬°¤î¡C
¦pªG¨Ï¥Î PAP ©Î CHAP (¦]¬°¨S¦³ "set login" ©R¥O¡A©Ò¥H³]©wÀɤ¤
CONNECT ¤§«á´N¤£·|¬Ý¨ì¥ô¦ó¹ï¸Ü)¡A·Qn¬Ý¨ì³s½u³t«×ªº¸Ü¡A½T©w ppp
µ¥«Ýªº¼Æ¾Ú¾÷¶Ç¦^ȬO CONNECT ³o¤@¾ã¦æ¡A¹³³o¼Ë¡G
set dial "ABORT BUSY ABORT NO\\sCARRIER TIMEOUT 4 \"\" ATZ OK-ATZ-OK ATDT\\T TIMEOUT 60 CONNECT \\c \\n"
³o¼Ë¦b¬Ý¨ì CONNECT «á¤£·|°e¥X¥ô¦óªF¦è¡A±µµÛ¦Aµ¥Ó´«¦æ¦r¤¸¡A±j
¢ ppp Ū¨ú¦^À³ªº CONNECT ¤@¾ã¦æ¡C
Ppp ¤£²z·| chat script ¤¤ªº `\' ¦r¤¸
Ppp ·|¥h¤ÀªR³]©wÀɤ¤ªº¨C¤@¦æ¡A³o¼Ë¥¦¤~·|¥¿½T¸ÑŪ¹³¬O
set phone "123 456 789" ªº¦r¦ê¡]§AÀ³¸Óª¾¹D³oӼƦr¥u¬O
<¤@Ó> °Ñ¼Æ¡A¦pªGn«ü©wÂù¤Þ¸¹ (") ³oÓ¦r¤¸¡A¥²¶·¦b¥¦«e±¥Î¤Ï±×½u
(\)±N¥¦¹j¶}¡^¡C
·í¸ÑĶµ{¦¡¤ÀªR¨CӰѼƮɡA¬°¤F§ä¥X¦r¦ê¤¤©Ò¦³¹³¬O ``\P'' ``\T''
ªº¸õ²æ¦r¤¸¡]¨£ man page¡^¡A¥²¶·«·s¸ÑĶ¸Ó°Ñ¼Æ¡C¦b³oºØÂù«¤ÀªR¤§¤U¡A
§A¥²¶·°O±o¥Î¥¿½Tªº¸õ²æ¼Æ¥Ø¡C
°²³]n¹ï¼Æ¾Ú¾÷°e¥X ``\'' ³oÓ¦r¤¸¡AÀ³¸Ó¹³¬O¡G
set dial "\"\" ATZ OK-ATZ-OK AT\\\\X OK"
³o¼Ë«h·|±o¨ì¤U±³o¦ê¡G
ATZ
OK
AT\X
OK
¦pªG¬O
set phone 1234567
set dial "\"\" ATZ OK ATDT\\T"
«h·|±o¨ì¤U±µ²ªG¡G
ATZ
OK
ATDT1234567
Ppp ¸I¨ì¤F seg-fault¡A¦ý§ä¤£¨ì ppp.core ³oÓÀÉ¡H
Ppp (©Î¥ô¦óÃþ¦üªºµ{¦¡) À³¸Ó¤£¥i¯à¦³ core dump¡C¥Ñ©ó ppp °õ¦æ®É
ªº effective user id ¬O 0 (§Y¥H root ¨¥÷°õ¦æ)¡A§@·~¨t²Î¦b²×¤î ppp
«e¤£·|¹ïºÏºÐ¼g¥¦ªº core ¬M¹³ÀÉ¡C¦pªG ppp ¯uªº¦]¬° segmentation
violation ©Î¨ä¥L¤@¯ë·| core dump ªº signal ¦Ó²×¤î¡B¨Ã¥B½T©w¥Î
ªº¬O³Ì·sª©¥»(¨£¥»¸`¶}ÀY)¡A¨º»ò§A¥i¥H³o»ò°µ¡G
$ tar xfz ppp-*.src.tar.gz
$ cd ppp*/ppp
$ echo STRIP= >>Makefile
$ echo CFLAGS+=-g >>Makefile
$ make clean all
$ su
# make install
# chmod 555 /usr/sbin/ppp
§A²{¦b¤w¸g¸Ë¤W¥i¥H¥Î¨Ó°£¿ùªº ppp ª©¥»¡A¥Ñ©óÅv¤W¨S¦³§@¯S§O³]©w¡A
©Ò¥H¥²¶·¥H root ¨Ó°õ¦æ ppp¡A¶¶«K¤]nª`·N¬O¦b¨ºÓ¥Ø¿ý°õ¦æªº¡C
²{¦b¦pªG ppp ¸I¨ì¤F segmentation violation¡A´N·|±N coredump ¦s¦b
ppp.core Àɤ¤¡A±µ¤U¨Ó´N¬O¡G
$ su
# gdb /usr/sbin/ppp ppp.core
(gdb) bt
.....
(gdb) f 0
.....
(gdb) i args
.....
(gdb) l
.....
®Ú¾Ú§Aªº°ÝÃD¨Ó¨ú±o¬ÛÃö¸ê®Æ¡A´N¥i¥H¶EÂ_°ÝÃD¥X¦b¨º¸Ì¡C
¦pªG¼ô±x gdb¡A¤]³\·|·Q§ä¥X¨ä¥Lªº¸Ô²Ó¸ê®Æ¡A¹³¬O¨ºÓ°Ê§@³y¦¨
dump¡B¤Î¬ÛÃöÅܼƪº¦ì§}¤Î¼Æȵ¥¡C
¦b -auto ¼Ò¦¡¤U¡A¨Ï ppp ¼½¸¹ªºµ{¦¡¦b³s½u«á«o³s¤£¨ì¥Øªº¦a
³o¬O³]©w ppp ¦b -auto ¼Ò¦¡¦V¹ï¤è¨ú±o°ÊºA IP ®Éªº¤wª¾°ÝÃD¡A
¦b³Ì·sª©ªº ppp ¤w¸g¸Ñ¨M¤F ¡Ð ¦b man page ¤¤¥Î iface ÃöÁä¦r§ä§ä
¬Ý¡C
·í¥Î¨ìºô¸ôªºµ{¦¡©I¥s connect(2)
®É¡Asocket endpoint ·|³]¦¨ tun ³oӬɱªº IP¡Akernel ±µµÛ²£¥Ín°e¥X
¥hªº²Ä¤@Ó«Ê¥]¡A§â¥¦¶Çµ¹ tun¡APpp Ū¨ì³oÓ«Ê¥]«á´N·|¶}©l«Ø¥ß³s
½u¡C¦pªG ppp ¥Îªº¬O°ÊºA¤À°t IP¡A¨º»ò´N·|§ïÅÜ tun ¬É±ªº¦ì§}¡A
ì¥ýªº socket endpoint ´N¦¨¬°¤£¥¿½TªºÈ¡C±µµÛ°e¨ì¹ï¤èªº«Ê¥]³q±`³£·|
³Q¥á±¼¡A´Nºâ¯à¶¶§Q¹F¨ì¹ï¤è¾÷¾¹¡A¥Ñ©ó¸Ó¨Ó·½ IP ¤wµ¹¨ä¥L¤H¨Ï¥Î¡A¥ô¦ó¦^
À³¤]¤£·|³Q¶Ç¦^¥»¦aªº¾÷¾¹¤W¡C
²z½×¤W¡A¦³¦n´XºØ¤èªk¥i¥H¸Ñ¨M³oÓ°ÝÃD¡C¦pªG ISP Ä@·N¨C¦¸³£´£¨Ñ¬Û¦P
IP ·íµM¬O³Ì¦n :-)¡A¥Ø«eª©¥»ªº ppp ·|°µ¨ì³o¤@ÂI¡A¦ý¤j¦h¼Æªº
ppp ¹ê§@¤£·|³o»ò°µ¡C
±q client ºÝ³Ì®e©öªº¸Ñ¨M¤è¦¡¬O¡A¥Ã»·³£¤£n§ïÅÜ tun ¬É±ªº IP È¡A
¦ý¬O±N©Ò¦³¥X¥hªº«Ê¥]¨Ó·½ IP ±qì¥ýªº tun ¬É± IP §ï¬°³s½u®É¨ú±oªº
IP¡A°ò¥»¤W³o´N¬O³Ì·sª© ppp ¸Ì iface-alias ¿ï¶µªº°µªk¡]¨Ï¥Î
¤F libalias(3) ©M°õ¦æ ppp ®Éªº °Ñ¼Æ¡^¡Ð°O¦í¤§«e©Ò¦³
¥Î¹Lªº tun ¬É± IP¡A¦A§â¥þ³¡´«¦¨³Ìªñ¤@¦¸®³¨ìªº¦ì§}¡C
¥t¤@ºØ¤èªk¡]¥i¯à¬O³Ì¥i¾a¡^¬O¼gÓ¥i¥Hקï©Ò¦³ socket endpoint Ȫº
system call¡C·í®³¨ì·sªº IP ®É¡APpp ´N¥i¥H¥Î¥¦¨Óקï©Ò¦³°õ¦æµ{¦¡
©Ò«Ø¥ßªº socket¡C·í DHCP client µ{¦¡¹ï socket «·s¨Ï¥Î bind() ®É¡A¤]
¥i¥H¥Î¦P¼Ëªº©I¥s¡C
ÁÙ¦³¤@Ó¥i¯à«h¬O¤¹³\¤£¥Î IP¡A´N¥i¥H±Ò¥Î¬YÓºô¸ô¬É±¡C°e¥X¥hªº«Ê¥]
¨Ó·½ IP ·|³]¦¨ 255.255.255.255¡Aª½¨ì SIOCAIFADDR ³oÓ ioctl ²Ä¤@¦¸°õ
¦æ§¹¦¨¬°¤î¡C³o¼Ë·|§¹¥þ³sµ² socket ªº¨âºÝ¡A¦Ó¥Ñ ppp ¨Óקï¨Ó·½ªº
IP È¡A¦ý¥u¦³·íì¨Ó IP ȬO 255.255.255.255 ®É¡B©ÎªÌ IP È©M IP °»¿ù
½X»Ýnקï®É¤~·|¥h§ó°Ê¡C³oºØ¤è¦¡¦³ÂIºâ¬O hack¡A§Y kernel ¥i¥H¹ï¨S³]
©w¦nªº¬É±°e¥XÃa±¼ªº«Ê¥]¡A¦]¬°°²³]·|¦³¨ä¥L¾÷¨î¥i¥H×¥¿³oºØ¿ù»~¡C
¬°¦óª±¤j¦h¼Æ¹CÀ¸®É¡A³£¤£¯à¨Ï¥Î -alias ³oӰѼơH
¹CÀ¸©ÎÃþ¦üµ{¦¡¤£¯à©M libalias ·f°t¨Ï¥Îªºì¦]¬O¡A¥~±ªº¾÷¾¹¸ÕµÛ¹ï
µÛ¤º³¡ªº¾÷¾¹¶}±Ò³s½u¡B©Î¡]¤£½Ð¦Û¨Ó¦a¡^°e¥X UDP «Ê¥]¡A¦Ó alias «Ê¥]ªº
³nÅ餣ª¾¹D¥¦À³¸Ó§â³o¨Ç«Ê¥]°e¨ì¸Ì±ªº¾÷¾¹¥h¡C
¸Ñ¨Mªº¤è¦¡¬O¡A¥ý½T©w²{¦b¥u¦³°õ¦æ¨ºÓ·|¥X°ÝÃDªºµ{¦¡¡AµM«á¦b
gateway ¾÷¾¹¤W¹ï tun ¬É±°õ¦æ tcpdump¡B©Î¦b¤W±¥´¶}°O¿ý tcp/ip ªº¥\
¯à¡]``set log +tcp/ip''¡^¡C
¦b±Ò°Ê¥X°ÝÃDªºµ{¦¡®É¡AÀ³¸Ó·|¦b gateway ¾÷¾¹¤W¬Ý¨ì¦³«Ê¥]³q¹L¡A·í¥~
¬É¦³¶Ç¦^«Ê¥]®É«h·|³Q¥á±¼¡]³o´N¬O°ÝÃD©Ò¦b¡^¡C°O¤U³o¨Ç«Ê¥]n°e¨ì¥Øªº¦a
ªº¨ºÓ°ð¡AµM«áÃö±¼µ{¦¡¡C«½Æ´X¦¸¡A¬Ý¬Ý¬O§_³£n°e¨ì¦P¼Ë©T©wªº°ð¡A¦pªG
¬Oªº¸Ü¡A¦b /etc/ppp/ppp.conf ¬ÛÃö¦ì¸m¥[¤W³o¤@¦æ¡A´N¥i¨Ïµ{¦¡¥¿½T¹B§@¡G
alias port proto internalmachine:port port
¨ä¤¤ ``proto'' ¬O ``tcp'' ©Î ``udp''¡A``internalmachine'' ¬On±µ
¦¬³o¨Ç«Ê¥]ªº¾÷¾¹¡A``port'' «h¬O³o¨Ç«Ê¥]n°e¨ì¨ºÓ°ð¡C
¦pªGn¦b¨ä¥L¾÷¾¹¤W°õ¦æ¦P¼Ëµ{¦¡¡A¥²¶·«½Æ¦P¼Ë¹Lµ{קï¤W¤@¦æ³]©w¡A
§_«h´N¤£¯à¥¿±`¨Ï¥Î¡F¤]¤£¥i¯à¦b¨â¥x¤º³¡¾÷¾¹¤W¦P®É¨Ï¥Î¡Ð²¦³º¥~¬É¥u¬O§â
³oÓ¤º³¡ºô¸ô¬Ý¦¨¤@¥x¾÷¾¹¦Ó¤w¡C
¦pªG«Ê¥]¤£¤@©w°e¨ì¦P¼Ëªº°ð¡A§A¦³¤TºØ¿ï¾Ü¡G
1) ¦b libalias ¥[¤J¹ï¥¦ªº¤ä´©¡A
/usr/src/lib/libalias/alias_*.c ¦³¤@¨Ç ``¯S¨Ò'' ªº¥Ü½d¡]alias_ftp.c
¬OÓ¤£¿ùªºì«¬ÀÉ¡^¡C³q±`¬OŪ¨ú¬Y¨Ç¥i¥H»{±o¥Xªº¥~°e«Ê¥]¡A§ä¥Xn¥~±³s
¨ì¤º³¡¾÷¾¹¬YӰ𪺫ü¥O¡AµM«á¦b alias ªí¤¤³]©w ``route''¡A¥H«á¦A¦¬¨ì
³oºØ«Ê¥]´Nª¾¹Dn©¹¨º¸Ì°e¡C
³o¬O³Ì§xÃøªº¸Ñªk¡A¦ý¤]¬O³Ì¦nªº¡A¨Ã¥BÁÙ¥i¥H¦b¦h¥x¾÷¾¹¤W¥Î¦P¼Ëµ{¦¡¡C
2) ¨Ï¥Î proxy¡CÁ|¨Ò¨Ó»¡¡A¸ÓÀ³¥Îµ{¦¡¤]³\¤ä´© socks5¡A©Î¬O
¦³Ó ``passive'' ªº¿ï¶µ¡]¹³¬O ``cvsup''¡^¥i¥HÁקK¹ï¤è¦V¤º³¡¾÷¾¹´£¥X
³s½uªºn¨D¡C
3) ¥Î ``alias addr'' §â©Ò¦³¸ê®Æ³£Â൹¤º³¡¾÷¾¹¡A³o¬O³Ì«á
¤~¥Îªº¼É¤Oªk¡C
¨º¸Ì¥i¥H§ä¨ì±`¥Î°ðªº¦Cªí¡H
²{¦bÁÙ¨S¦³¡A¦ý¥i¥H±N³o¨Ç§Ë¦¨¤@Ó¦W³æ¡]¦pªG¦³¤H·P¿³½ìªº¸Ü¡^¡C
¦b¤U±ªº¨Ò¤l¸Ì¡A§â internal ´«¦¨ª±¹CÀ¸¨º¥x¾÷¾¹ªº IP¡C
Quake
alias port udp internal:6112 6112
¦pªG·Q¥Î¨ä¥L¤è¦¡¡Awww.battle.net
¦³ Quake ¹ï proxy ¤ä´©ªº»¡©ú¡C
Quake 2
alias port udp internal:27901 27910
¬õ¦âĵ§Ù¡]Red Alert¡
alias port udp internal:8675 8675
alias port udp internal:5009 5009
Half Life
alias port udp internal:27005 27015
PCAnywhere 8.0
alias port udp internal:5632 5632
alias port tcp internal:5631 5631
¤°»ò¬O FCS ¿ù»~¡H
FCS ¬O Frame Check Sequence ªºÁY¼g¡C¨C¤@Ó ppp
«Ê¥]³£ªþ¦³°»¿ù½X¨Ó½T©w¦¬¨ìªº¸ê®Æªº½T¬O°e¥Xªº¸ê®Æ¡C¦pªG¶i¨Óªº¬YÓ
«Ê¥] FCS ¤£¥¿½T¡A´N¥á±¼³oÓ«Ê¥]¡B¦A§â HDLC ¸Ìªº FCS p¼Æ¾¹¥[ 1¡C
¥Î show hdlc «K¥i¬Ý¨ì HDLC ¸Ìªº¦UºØ¿ù»~p¼ÆÈ¡C
¤£¨}½u¸ô(©Î«Ê¥]³Q¦ê¦C°ðªºÅX°Êµ{¦¡¥á±¼)¦³®ÉÔ´N·|µo¥Í FCS ¿ù»~¡A
ÁöµM¥¦ªº½T·|¤j¤j©ìºCÀ£ÁY¨ó©w¡A¤£¹L³q±`³o¨S¤°»ò¤j¤£¤F¡C¦pªG§A¥Îªº
¬O¥~±µ¼Æ¾Ú¾÷¡A½T©w¦³«OÅ@½u¸ô¤£¨ü¥~¬É¤zÂZ ¡Ð ³o¼Ë»¡¤£©w´N¸Ñ¨M¤F¡C
¦pªG¦b³s¤W®É°¨¤W´Ná¦í¡B¨Ã¥BÁ٬ݨì¤@¤j°ï FCS ¿ù»~ªº¸Ü¡A¦³¥i¯à
¬O¦]¬°§Aªº³s½u¨Ã«D¬O 8 bit clean¡C½T©w¼Æ¾Ú¾÷¤£¬O¥Î³nÅé¬yµ{±±¨î
(XON/XOFF)¡A¦pªG§Aªº³s½u <¤@©w> n¥Î³nÅé¬yµ{±±¨îªº¸Ü¡A¥Î
set accmap 0x000a0000 ³o¹D©R¥O§i¶D ppp ¸õ¹L ^Q
©M ^S ³o¨âÓ¦r¤¸¡C
¬Ý¨ì¤@¤j°ï FCS ¿ù»~ªº¥t¤@Óì¦]¡A¬O³s½u¥t¤@ºÝ¤£¦A¨Ï¥Î PPP
·¾³q¡C³o®ÉÔ¤]³\À³¸Ó¥´¶} async ªº°O¿ý¥\¯à¡A¨Ó¨M©w¬O§_¶i¨Óªº
¸ê®Æ¨ä¹ê¬O login ©Î shell ´£¥Ü²Å¸¹¡C¦pªG¥t¤@ºÝ¬O shell ´£¥Ü²Å¸¹¡A
¥ý°õ¦æ close lcp¡B±µµÛ term ´N¥i¥H«·s³s±µ¨ì¹ï
¤è¾÷¾¹ªº shell ¤U¡A¦Ó¤£¥Î±¾±¼¹q¸Ü½u¡C
¦pªG°O¿ýÀɸ̨S¦³¥ô¦ó¸ê°T¥i¥H«ü¥Ü³s½u¬°¦óÂ_±¼¡A¨º»ò´N¸Ó°Ý°Ý¥t¤@
ºÝªººÞ²zû(§Aªº ISP¡H) «ç»ò·|³o¼Ëµ²§ô¡C
¨S¦³¤@Ó¤èªk¥i¥H¥Î¡A§Ú§¹³J¤F°Õ¡I
¦pªG¤W±»¡ªº³£¨S¥Î¡A´NºÉ¥i¯à§ä¥X©Ò¦³¸ê°T¡A³o¥]¬A¤F³]©wÀÉ¡B¦p¦ó
±Ò°Ê ppp¡Blog Àɪº¬ÛÃö³¡¥÷¡B³s½u«e«áªº netstat -rn
¿é¥Xµ²ªG¡A§â³o¨Ç°e¨ì freebsd-questions@FreeBSD.org mailing list ©Î
comp.unix.bsd.freebsd.misc newsgroup¡A³o¼ËÀ³¸Ó´N·|¦³¤H«üÂI
¥¿½Tªº¤è¦V¡C
Serial ³q°T
³o¤@³¹¥Dn¬O¦b°Q½× FreeBSD ¤W¦³Ãö serial ³q°Tªº°ÝÃD¡C¦³Ãö PPP ¥H¤Î
SLIP ªº°ÝÃD¬O©ñ¦b ³o¤@¸`¡C
§Ún«ç»òª¾¹D FreeBSD ¬O¤£¬O¦³§ì¨ì§Úªº serial port¡H
·í FreeBSD ¶}¾÷ªº®ÉÔ¡A¥¦·|®Ú¾Ú±z¦b kernel ¤¤ªº³]©w¨Ó°»´ú±zªº
serial port¡C±z¥i¥H¦b³o¨Ç°T®§¥X²{ªº®ÉÔÀˬd¡A¤]¥i¥H¦b¨t²Î¶}¾÷¤§«á¥Î
¤U±ªº«ü¥O¨ÓÆ[¹î¡G
dmesg | grep sio
³o¸Ì¦³¤@¨Ç¿é¥Xªº½d¨Ò¡G
sio0 at 0x3f8-0x3ff irq 4 on isa
sio0: type 16550A
sio1 at 0x2f8-0x2ff irq 3 on isa
sio1: type 16550A
³o¥Nªí±z¦³¨âÓ serial port¡C²Ä¤@Ó port ¦û¥Î irq 4¡Aport address ¬O
0x3f8 ¡A¦Ó¥B¥Îªº¬O 16550A «¬ªº UART ´¹¤ù¡C²Ä¤GÓ port ¥Îªº¬O¦P
«¬ªº´¹¤ù¡A¤£¹L¥¦¦û¥Îªº¬O irq 3 ¡A¥¦ªº port address ¦b 0x2f8 ¡C
¤º±µ¦¡ modem ¥d·|³Q¿ëÃѦ¨¬O serial port -- °ß¤@ªº®t§O´N¬O¸Ó port ¤W
Á`¬O±µ¤W modem ¦Ó¤w¡C
GENERIC kernel ¤ä´©¨âÓ serial port ¡A¥¦Ìªº³]©wÈ´N¦p¦P¤W±ªº
½d¨Ò¤@¼Ë¡C¦pªG±z¨t²Î¤Wªº³]©w¤£¤@¼Ë¡A©ÎªÌ±z¥t¥~±µ¤F¤º±µ¦¡ modem ¥d¡A
©Î¬O±z¨t²Îªº¹ê»Ú serial port ¼Æ¤ñ±z¦b kernel ³]©w¤¤ªºÁÙn¦hªº¸Ü¡A±z
¥un«·s«Ø¥ß kernel ´N¦n¤F¡C¸Ô±¡½Ð¬Ý ¦p¦ó«Ø¥ß kernel¡C
§Ún«ç»òª¾¹D FreeBSD ¬O¤£¬O¦³§ì¨ì§Úªº modem ¥d¡H
½Ð¬Ý¤W¤@Ó°ÝÃD¡C
§Ú¤É¯Å¨ì 2.0.5 ¥H«á§Úªº tty0X ©~µM¤£¨£¤F¡I
¤£nºò±i¡A¥¦Ì¤w¸g³Q¨Ö¨ì ttydX ¸Ë¸m¤U¥h¤F¡C¤£¹L±zÁÙ¬O±o¨ì¦Û¤v
קï³]©wÀɤ~¯àÅý¥¦Ì¥¿±`¤u§@¡C
§Ún¦p¦ó¦b FreeBSD ¤U¦s¨ú seral ports¡H
²Ä¤TÓ serial port¡Asio2 (´N¬O DOS
¤Uªº COM3) ¡A¥H dial-out ¸Ë¸m¨Ó¬Ý¬O¦ì©ó /dev/cuaa2 ¡A¦Ó¥H
dial-in ¸Ë¸m¨Ó¬Ý«h¬O¦ì©ó /dev/ttyd2 ¡C³o¨âӸ˸m¦³¤°»ò¤£¦P
©O¡H
±z¦b dial-in ®É¨Ï¥Îªº¬O ttydX ¡C·í±z¥Î block ¼Ò¦¡¶}±Ò
/dev/ttydX ®É¡A·|¦³¤@°¦ process ¦b¹ïÀ³ªº cuaaX ¤Wµ¥¥¦
Åܦ¨ inactive ¡AµM«á¤@ª½µ¥¨ì carrier detect line Åܦ¨ active ¬°¤î¡C
·í±z¶}±Ò cuaaX ¸Ë¸m®É¡A¥¦·|¥h½T©w¥Ø«e ttydX ¸Ë¸m¬O¤£¬O¥¿
¦b¨Ï¥Î serial port¡C¦pªG¥¦¥i¥H¥Îªº¸Ü¡A¥¦´N·|§â serial port ±q
ttydX ¸Ë¸m¤â¤¤·m¹L¨Ó¡C¦P¼Ëªº¡AcuaXX ¸Ë¸m¤£·|¥hºÞ carrier
detect¡C¦³¤F³o¼Ëªº³]p¡A¦A¥[¤W¤@¥x·|¦Û°Ê¦^À³ªº modem¡A±z´N¥i¥H¥O¦P
¤@¥x modem ¥i¥H³Q»·ºÝ¨Ï¥ÎªÌ®³¨Óµn¤J¡A±z¦Û¤v¤]¥i¥H®³¨Ó dialout¡A¨t²Î
·|¦Û°ÊÀˬd¬O§_¦³½Ä¬ðªº²{¶H¡C
§Ún¦p¦ó±Ò°Ê¹ï serial ¦h°ð¥dªº¤ä´©¡H
¦P¼Ëªº¡A¦b kernel ³]©w¨º¤@¸`¦³´£¨ì¦³Ãö³]©w kernel ªº¸ê°T¡Cn³]©w¤@
±i serial ¦h°ð¥d¡A±z¥²»Ý¦b±zªº kernel ³]©wÀɤ¤¬°¨C¤@Ó serial port
³£³]¤@¦æ sio ªº³]©w¡C¦ý¬O±z¥u¯à¦b¥¦Ì¤§¤¤¿ï¤@Ó¨Ó³]©w irq ¥H¤Î
vector ¡C¥d¤Wªº©Ò¦³ port ·|¦@¨É¦P¤@Ó irq ¡C¤@¯ë¨Ó»¡§Ú̳£§â¥¦³]¦b³Ì
«á¤@Ó serial port ¤W¡C¤£n§Ñ¤F«ü©w COM_MULTIPORT ³oÓ
option ¡C
¤U±¬O¤@Ó§â AST 4-port ¥d ³]¦b irq 7 ªº¨Ò¤l¡G
options "COM_MULTIPORT"
device sio4 at isa? port 0x2a0 tty flags 0x781
device sio5 at isa? port 0x2a8 tty flags 0x781
device sio6 at isa? port 0x2b0 tty flags 0x781
device sio7 at isa? port 0x2b8 tty flags 0x781 irq 7 vector siointr
³o¸Ìªº flags ³]©w¬O«ü master port ªº minor number ¬O 7
(0x700)¡A¦b°»´ú®É°µÀˬd (0x080)¡A¥H¤Î©Ò¦³ªº port ¦@¨É¤@Ó
irq (0x001) ¡C
FreeBSD ¥i¥H±±¨î¦h±i serial ¦h°ð¥d¨Ï¥Î¦P¤@Ó irq ¶Ü¡H
ÁÙ¨S¤ä´©¡C±z¥²»Ý¬°¨C±i¥d³]©w¤£¦Pªº irq ¡C
§Ú¥i¥H¬° port ³]©w¹w³]°Ñ¼Æ¶Ü¡H
³q±`±z·|·Q¬°±zªºÀ³¥Îµ{¦¡¶}±Ò ttydX (©Î¬O cuaaX) ¸Ë¸m¡C·í
¤@Ó process ¶}±Ò¸Ë¸m¥H«á¡A¥¦·|¦³¤@²Õ¹w³]ªº²×ºÝ¾÷ I/O ³]©w¡C±z¥i¥H¥Î
¤U±³oÓ«ü¥O¨ÓÆ[¹î³o¨Ç³]©w
stty -a -f /dev/ttyd1
·í±z§ïÅܤF¬YӸ˸mªº³]©w«á¡A³o¨Ç³]©w·|¤@ª½§@¥Î¡Aª½¨ì³oӸ˸m³QÃö³¬
¤F¬°¤î¡C·í¥¦³Q«¶}±Ò«á¡A¤S¦^¨ìì¥ýªº¹w³]ȤF¡C¦pªG·Qn§ïÅܹw³]È¡A±z
¥i¥H¶}±Ò¨Ãקï ``ªì©lª¬ºA'' ¸Ë¸mªº³]©w¡CÁ|¨Ò¨Ó»¡¡A¦pªG±z·Q§ïÅÜ ttyd5
ªº¹w³]È¡A§â CLOCAL ¼Ò¦¡¥´¶}¡A8 bits¡A¨Ã¥B¨Ï¥Î
XON/XOFF ¬y¶q±±¨î¡A±z¥i¥H³o¼Ë°µ¡G
stty -f /dev/ttyid5 clocal cs8 ixon ixoff
±z¥i¥H¦b /etc/rc.serial ¸Ì°µ³o¼Ëªº³]©w¡C²{¦b¨C¤@Ó¶}±Ò
ttyd5 ªºÀ³¥Îµ{¦¡³£·|¹w³]¨Ï¥Î³o¨Ç³]©w¤F¡C±z¨ÌµM¥i¥H¥Î¦P¼Ëªº¤èªk
¥h§ïÅܳo¨Ç³]©w¡C
±z¤]¥i¥HÂǥѳ]©w ``Âê©wª¬ºA'' ¸Ë¸m¨Ó¨¾¤î¨ä¥LÀ³¥Îµ{¦¡¥h§ó°Ê³o¨Ç³]©w
¡CÁ|¨Ò¨Ó»¡¡A·Qn§â ttyd5 ªº³t«×Âê©w¦b 57600 bps¡A±zn³o¼Ë°µ
stty -f /dev/ttyld5 57600
³o¼Ë¤@¨Ó¡A¨C¤@Ó¶}±Ò ttyd5 ªºÀ³¥Îµ{¦¡³£¥u¯à¨Ï¥Î 57600 bps ªº³t
«×¤F¡C
·íµM¡A±z¥²»Ý½T©w±zªºªì©lª¬ºA¥H¤ÎÂê©wª¬ºAªº¸Ë¸m¥u¯à³Q root ¼g¤J
¡CMAKEDEV ³oÓ script ¨Ã ¤£·| ¦b«Ø¥ß³o¨Ç¸Ë¸m®É¦Û°ÊÀ°±z³]
©w¦n¡C
§Ún«ç¼Ë¤~¯àÅý modem ±µ¨ü dialup µn¤J©O¡H
±z¬O¤£¬O·Q·í ISP¡Hº¥ý¡A±zn¦³¤@³¡¥H¤W¥i¥H¦Û°Ê±µÅ¥ªº modem¡C±zªº
modem ¥²¶·n¦³ carrier-detect ªº¥\¯à¡C¥¦¤]n¯à°÷¦b data terminal
ready (DTR) ¥Ñ¶}ÂରÃö®É«·s³]©w¦Û¤v¡C¥¦©Î³\¤]n¯à°÷¨Ï¥Î
RTS/CTS ¬y¶q±±¨î©Î¬O¤£°µ¥ô¦ó¬y¶q±±¨î¡C³Ì«á¡A¥¦¥²¶·¯à°÷¦b¹q
¸£©M¥¦¦Û¤vªº¶Ç¿é¤¤¨Ï¥Î©w³t¡A¦ý¬O¦b¥¦©M»·ºÝ modem ªº³s½u¤è±«hn¦³¨ó
°Ó¶Ç¿é³t«×ªº¯à¤O¡C
¹ï Hayes «ü¥O¶°¬Û®e modem ¨Ó»¡¡A¤U±ªº«ü¥O·|§â¤W¤@¬q©ÒÁ¿ªº¥þ³¡³]¦n
¨Ã¦s¦b«D´§µo©Ê°O¾ÐÅ餤¡G
AT &C1 &D3 &K3 &Q6 S0=1 &W
¬Ý¬Ý¤U±ªº ¶Ç°e AT «ü¥O¶° ³o¤@¸`¥i¥H±o
§ó¦h¦³Ãö¦p¦ó¤£§Q¥Î MS-DOS ²×ºÝµ{¦¡¨Ó°µ³o¨Ç³]©wªº¸ê®Æ¡C
±µ¤U¨Ó¡A¦b /etc/ttys ¬°±zªº modem °µ³]©w¡C¦C¦b³oÓÀɮפ¤ªº¬O©Ò¦³¨t²Î·|
«Ý login ªº ports ¡C¹³¤U±³o¼Ë¥[¤J¤@¦æ¡G
ttyd1 "/usr/libexec/getty std.57600" dialup on insecure
³o¤@¦æ«ü¥O²Ä¤GÓ serial port (/dev/ttyd1) ¬O¤@Ó¥H 57600
bps ³t«×¦b¶Ç¿éªº modem¡A¨Ã¥B¤£°µ¦P¦ìÀˬd ( std.57600 ¬O¦b
/etc/gettytab Àɸ̫ü©wªº)¡C
³oÓ port ªº²×ºÝ¾÷«¬ºA¬O ``dialup''¡C³oÓ port ³]¦¨ ``on'' ¦Ó¥B¬O ``insecure'' ªº --- ·N«ä¬O
root ¤£¯à±q³o¸Ì³s½u¶i¨Ó¡C±z¥²»Ý¬°¨CÓ dialin port ³£°µÃþ¦ü
ttydX ªº³]©w¡C
³q±`§ÚÌ·|¥Î ``dialup'' ¨Ó°µ¬°²×ºÝ¾÷«¬ºA¡C¦pªG¨Ï¥ÎªÌµn¤J®Éªº±Ò©l«¬
ºA¬O dialup ªº¸Ü¡A«Ü¦h¨Ï¥ÎªÌ³£·|¦b¥L̪º .profile ©Î¬O .login Àɤ¤³]
©w¥L̯u¥¿ªº²×ºÝ¾÷«¬ºA¡C¤W±ªº¨Ò¤l¤¤§ÚÌÁ|ªº¬O insecure ªº¨Ò¤l¡C¦pªG
±z·Qn¦b³oÓ port Åܦ¨ root ªº¸Ü¡A±z¥²¶·¥Î¤@¯ë¨Ï¥ÎªÌªº¨¥÷µn¤J¡AµM«á
``su''
¦¨ root ¡C¦pªG±z¥Îªº¬O ``secure'' ªº¸Ü¡A«h root ¥i¥Hª½±µµn
¤J¡C
¦b¹ï /etc/ttys °µ¹Lק蠟«á¡A±z¥²¶·°e¤@Ó hangup ©Î¬O HUP
ªº signal µ¹ init process¡G
kill -HUP 1
³o¼Ë·|±j¢ init process ¥h«Åª /etc/ttys ¡C
µM«á init process ´N·|¦b©Ò¦³ªº ``on'' port ¤W«·s±Ò°Ê getty
process ¡C±z¥i¥H¥Î¤U¦C«ü¥O¨ÓÀˬd±zªº port ¬O¤£¬O¥i¥H login ¤F
ps -ax | grep '[t]tyd1'
±z·|¨£¨ìÃþ¦ü³o¼Ëªºµ²ªG¡G
747 ?? I 0:00.04 /usr/libexec/getty std.57600 ttyd1
§Ún«ç»ò§â dumb terminal ³s¤W FreeBSD¡H
¦pªG±zn§â§Oªº¹q¸£·í¦¨¬O FreeBSD ªº²×ºÝ¾÷ªº¸Ü¡A±z¥u»Ýn¦b¨âªÌªº
serial port ¤§¶¡²o¤@±ø null modem ±Æ½u§Y¥i¡C¦pªG±z¦³¤@Ó¯uªº²×ºÝ¾÷
ªº¸Ü¡A¬Ý¬Ý¥¦ªº«ü¥O¶°§a¡C
µM«á¡A¹³¤W¤@Ó°ÝÃD¤@¼Ëקï
/etc/ttys ¡CÁ|¨Ò¨Ó»¡¡A¦pªG±z§â¤@Ó WYSE-50 ²×ºÝ¾÷±µ¦b²Ä¤Ó
serial port ¤Wªº¸Ü¡A´Nn¥Î³o¼Ëªº³]©w¡G
ttyd4 "/usr/libexec/getty std.38400" wyse50 on secure
³oÓ¨Ò¤l¥Ü½dªº¬O /dev/ttyd4 ©Ò¥Nªíªº port ¥Îªº¬O wyse50 ²×
ºÝ¾÷¡A³s½u³t«× 38400 bps¡A¤£¨Ï¥Î¦P¦ìÀˬd (std.38400 ¬O±q
/etc/gettytab ³]©wªº) ¦Ó¥B root ¥i¥H login (secure) ¡C
¬°¤°»ò§Ú¤£¯à°õ¦æ tip ¤Î cu ©O¡H
¦b±zªº¨t²Î¤¤¡Atip ©M cu «Ü¥i¯à¥u¯à¥Ñ uucp ¨Ï¥ÎªÌ©M
dialer ¸s²Õ¤~¯à°õ¦æ¡C±z¥i¥H¥Î dialer ¸s²Õ¨Ó±±¨î¨ì©³¦³½Ö¥i
¥H¦s¨ú±zªº modem ¥H¤Î»·ºÝ¨t²Î¡C±z¥un§â±z¦Û¤v¥[¨ì dialer ¸s²Õ¤¤´N¥i
¥H¤F¡C
¥t¥~¤@ºØ¤èªk¬O¡A±z¥i¥HÅý±z¨t²Î¤W©Ò¦³¨Ï¥ÎªÌ³£¥i¥H°õ¦æ tip ©M
cu ¡A¥un±z
# chmod 4511 /usr/bin/cu
# chmod 4511 /usr/bin/tip
FreeBSD ¤£¤ä´©§Úªº stock Hayes modem --- §Ún«ç»ò¿ì¡H
¨Æ¹ê¤W¡Atip ªº man page ¤w¸g¹L®É¤F¡C¤@¯ëªº Hayes dialer ¤w¸g¤º«Ø¦b¨t
²Î¤º¡C±z¥un¦b /etc/remote
«ü©w ``at=hayes'' ´N¥i¥H¤F¡C
¥i±¤ªº¬O¡AHayes ªºÅX°Êµ{¦¡¤£°÷Áo©ú¡A¦³¨Ç·s modem ¤Wªº¶i¶¥¥\¯à¥¦µLªk
¿ëÃÑ¥X¨Ó --- ¨Ò¦p BUSY ¡ANO DIALTONE ¡A©Î¬O
CONNECT 115200 ³oÃþªº°T®§¥¦´N·|·d²V¡C±z¦b¨Ï¥Î tip ªº®ÉÔ¥²¶·
§â¥¦ÌÃö±¼ (¥Î ATX0&W) ¡C
ÁÙ¦³¡Atip ªº dial ¹O®É®É¶¡¬O 60 ¬í¡C±zªº modem ¥i¯àn³]±o§óµu¡A
§_«h tip ·|»{¬°µo¥Í¤F³q°T¤Wªº°ÝÃD¡C¸Õ¸Õ¬ÝATS7=45&W ¡C
¨Æ¹ê¤W tip ÁÙ¨S¦³§¹¥þ¤ä´©¥¦¡C¸Ñ¨M¤èªk¬O¥hקï
/usr/src/usr.bin/tip/tip ¥Ø¿ý¸Ìªº tipconf.h ¡C«ÜÅãµM±z
¥²¶·n¦³ì©lµ{¦¡½X¤~¯à³o»ò°µ¡C
§â ``#define HAYES 0'' §ï¦¨ ``#define HAYES 1'' ¡CµM«á
``make'' ¨Ã ``make install'' ¡C¤§«á¤@¤Á³£·|«ì´_¥¿±`¤F¡C
§Ú¤°»ò®ÉÔnª½±µÁä¤J AT «ü¥O¡H
¦b±zªº /etc/remote Àɸ̥[¤@Ó ``direct'' ¡CÁ|¨Ò¨Ó»¡¡A¦pªG±zªº
modem ³s±µ¦b²Ä¤@Ó serial port¡A/dev/cuaa0¡A«h±zn¥[¤J¤U±
³o¤@¦æ¡G
cuaa0:dv=/dev/cuaa0:br#19200:pa=none
¦b br Ä椤³]©w±z modem ©Ò¤ä´©ªº³Ì°ª³t¡C¤§«á¡AÁä¤J tip cuaa0 ¤§«á
±z´N³s¤W±zªº modem ¤F¡C
¦pªG±zªº¨t²Î¤W¨S¦³ /dev/cuaa0 ¡A±z´N¥ý³o¼Ë¡G
# cd /dev
# ./MAKEDEV cuaa0
©Î¬O±z¥i¥H¥Î root °õ¦æ cu «ü¥O¡A¹³³o¼Ë¡G
# cu -l``line'' -s``speed''
³o¸Ìªº line ¬O«ü±zªº serial port (¨Ò¦p /dev/cuaa0) ¡Aspeed
¬O«ü±zªº¶Ç¿é³t«× (¨Ò¦p 57600) ¡C¦pªG±z¤U§¹ AT «ü¥O«á¡AÁä¤J
~. ¥i¥HÂ÷¶}¡C
pn Ä椤ªº [@] ¤£¯à¥Î¤F¡I
¹q¸Ü¸¹½XÄ椤ªº [@] °O¸¹¬O¥Î¨Ó§i¶D tip ¥h /etc/phones §ä¹q¸Ü¸¹½X¡C
¦ý¬O [@] ¦P®É¤]¬O /etc/remote
³oÃþÀɮפ¤ªº¯S®í¦r¤¸¡C±z¥i¥H¥[¤W¤Ï±×½u¡G
pn=\@
§Ún«ç»ò¦b©R¥O¦C¤U¼·¹q¸Ü©O¡H
¦b±zªº /etc/remote ©ñ¤@Ó ``generic''¡CÁ|¨Ò¨Ó»¡¡G
tip115200|Dial any phone number at 115200 bps:\
:dv=/dev/cuaa0:br#115200:at=hayes:pa=none:du:
tip57600|Dial any phone number at 57600 bps:\
:dv=/dev/cuaa0:br#57600:at=hayes:pa=none:du:
µM«á±z´N¥i¥H¹³ ``tip -115200 5551234'' ³o¼Ë¥Î¤F¡C¦pªG±z¤ñ¸û³ß
Åw¥Î cu
ªº¸Ü¡A¨Ï¥Î generic cu Äæ¦ì¡G
cu115200|Use cu to dial any number at 115200bps:\
:dv=/dev/cuaa1:br#57600:at=hayes:pa=none:du:
µM«á¿é¤J ``cu 5551234 -s 115200'' ¡C
§Ú¨C¦¸¥Îªº®ÉÔ³£n¿é¤J bps ³t«×¶Ü¡H
±z¥i¥H¨Ï¥ÎÃþ¦ü tip1200 ©Î¬O cu1200 ªºÄæ¦ì¡A¤£¹L¦b±z¨Ï¥Î¤§
«e½Ð¥ý½T©w±zªº br Äæ¥i¥H¤ä´©³oÓ³t«×¡Ctip »{¬° 1200
bps ¬O¤@ӫܦnªº¹w³]È¡A³o¤]´N¬O¬°¤°»òn¥s°µ ``tip1200'' ªºì¦]
¤F¡C·íµM±z¤]¥i¥H¤£n¥Î 1200 bps ¡C
³z¹L¤@¥x terminal server ¨Ó¦s¨ú¥D¾÷¡C
°£¤F¨C¦¸µ¥±z³s¤W server ¨ÃÁä¤J ``CONNECT <host>'' ¥H¥~¡A
¤ñ¸û¦nªº¤èªk¬O¥Î tip ªº cm ¡CÁ|¨Ò¨Ó»¡¡A¬Ý¬Ý /etc/remote¡G
pain|pain.deep13.com|Forrester's machine:\
:cm=CONNECT pain\n:tc=deep13:
muffin|muffin.deep13.com|Frank's machine:\
:cm=CONNECT muffin\n:tc=deep13:
deep13:Gizmonics Institute terminal server:\
:dv=/dev/cua02:br#38400:at=hayes:du:pa=none:pn=5551234:
¥i¥HÅý±z¥u¥´ ``tip pain'' ©Î¬O ``tip muffin'' ´N¥i¥H³s¤W
pain ©Î muffin¡FµM«á ``tip deep13'' ¥i¥H³s¤W terminal server¡C
tip ¥i¥H¦b¤@¦¸³s½u¤¤¿ï¾Ü¦h¥x¾÷¾¹¶Ü¡H
³q±`³oÓ°ÝÃDµo¥Í¦b¡G¤@¶¡¤j¾Ç¦³¤@¨Ç modem¡A¦Ó¥B¦³¤W¤d¦W¾Ç¥Ín¥Î...
¦b /etc/remote ¸Ì¬°±zªº¤j¾Ç³]¤@ÓÄæ¦ì¡A¨Ã¨Ï¥Î [\@] §@¬°
¥¦ªº pn¡G
big-university:\
:pn=\@:tc=dialout
dialout:\
:dv=/dev/cuaa3:br#9600:at=courier:du:pa=none:
µM«á¡A§â¤j¾Çªº¼·±µ¹q¸Ü©ñ¦b /etc/phones
¤¤¡G
big-university 5551111
big-university 5551112
big-university 5551113
big-university 5551114
tip
·|¨Ì·Óªí¦Cªº¶¶§Ç¨Ì¦¸À|¸Õ¡A³Ì«á©ñ±ó¡C¦pªG±zn¤@ª½¸Õªº¸Ü¡A±z¥i¥H¦b
while °j°é¸Ì°õ¦æ tip ¡C
¬°¤°»ò§Ú«ö¨â¦¸ CTRL+P¡A¥i¬O«o¥u°e¥X¤F¤@Ó CTRL+P¡H
CTRL+P ¬O¤º©wªº ``force'' ¦r¤¸¡A¥Î¨Ó§i¶D tip ¤U¤@Ó¦r¤¸
¬O¤@¯ë¦r¤¸¡C±z¥i¥HÂÇ¥Ñ ~s (¥Nªí ``³]©wÅܼÆ'') §â¨ä¥L¦r¤¸³]¦¨±j
¢¦r¤¸¡C
Áä¤J ``~sforce=<single-char>'' «á±±µ¤@Ó newline ¡C
<single-char> ¥i¥H¬O¥ô·N³æ¤@¦r¤¸¡C¦pªG±z¥u¥´
<single-char> ¡A«h nul ´N³Q³]¦¨¬O force character¡A±z¥i
¥HÂǥѫö CTRL+2 ©Î¬O CTRL+SPACE ¨Ó«ö¥X nul ¡CSHIFT+CTRL+6 ¬O¤@Ó¤£
¿ùªº <single-char> ¡A§Ú¬Ý¹L¤@¨Ç²×ºÝ¾÷³£¬O³o»ò³]©w¡C
±z¤]¥i¥H¦b $HOME/.tiprc ¤¤³]©w force character¡G
force=<single-char>
¬ðµM¶¡§Ú¥´ªºªF¦è³£Åܦ¨¤j¼g¤F¡H¡H
±zÀ³¸Ó¬O«ö¨ì¤F CTRL+A¡A¦b tip ¤¤¬°¨S¦³
caps-lock Á䪺¨Ï¥ÎªÌ©Ò³]pªº ``raise character''¡C±z¥i¥H¹³¤WÓ°ÝÃD
¤@¼Ë§Q¥Î ~s ¨Ó§â ``raisechar'' ³oÓÅܼƧ令¦X²zªºÈ¡C¨Æ¹ê¤W¡A
¦pªG±z»{¬°±z¥Ã»·³£¤£·|¥Î¨ì³o¨âÓ¥\¯àªº¸Ü¡A±z¥i¥H§â¥¦³]¦¨¸ò force
character ¤@¼Ë¡C
¤U±¬O¤@Ó¬° Emacs ¨Ï¥ÎªÌ©Ò³]©wªº .tiprc ¡AEmacs ¨Ï¥ÎªÌ±`±`·|¥Î¨ì
CTRL+2 ©M CTRL+A¡G
force=^^
raisechar=^^
^ ´N¬O SHIFT+CTRL+6 ¡C
§Ún¦p¦ó¨Ï¥Î tip ¨Ó¶ÇÀɮשO¡H
¦pªG±zªº¹ï¹³¤]¬O UNIX ¨t²Îªº¸Ü¡A±z¥i¥H¥Î ~p (put) ©M ~t
(take) ¨Ó¦¬°e¸ê®Æ¡C³o¨âÓ©R¥O·|¦b»·ºÝ¾÷¾¹°õ¦æ cat ©M echo ¨Ó¦¬°eÀÉ
®×¡C¥Îªk¬O¡G
~p <local-file> [<remote-file>]
~t <remote-file> [<local-file>]
¥¦¤£·|°µ¿ù»~Àˬd¡A©Ò¥H±z³Ì¦n¥Î§Oªº³q°T¨ó©w¡A¨Ò¦p zmodem ¡C
§Ún«ç»ò¥Î tip ¨Ó¶] zmodem ©O¡H
º¥ý¡A±q ports ¤¤¿ï¤@Ó zmodem µ{¦¡¨Ó¦w ¸Ë (¨Ò¦p¦b comms ¥Ø¿ý¤Uªº
lrzsz ©Î¬O rzsz) ¡C
¦b±µ¦¬Àɮפ象A±zn¥ý¦b»·ºÝ±Ò°Ê¶Ç°eµ{¦¡¡CµM«á«ö enter ¦AÁä¤J
``~C rz'' (¦pªG±z¦w¸Ë lrzsz ªº¸Ü´Nn¥´ ``~C lrz'') ´N¥i¥H
¶}©l±µ¦¬¤F¡C
¦b¶Ç°eÀɮפ象A±zn¥ý¦b»·ºÝ±Ò°Ê¶Ç°eµ{¦¡¡CµM«á«ö enter ¦AÁä¤J
``~C sz <files>'' (©Î¬O ``~C lsz <files>'') ´N
¥i¥H§âÀÉ®×°e¨ì»·ºÝ¨t²Î¤F¡C
´Nºâ§Ú³]©wµL»~¡AFreeBSD ¦n¹³ÁÙ¬O§ä¤£¨ì§Úªº serial port¡H
¦pªG±zªº¥D¾÷ªO©Î¬O¥d¤W¦³¥Î¨ì Acer ªº UART ´¹¤ùªº¸Ü¡AFreeBSD ¦b¶}¾÷®É
ªº sio °»´ú¥i¯à·|¤£¥¿½T¡C±z¥i¥H±q www.lemis.com
§ä¨ì patch ¨Ó×¥¿³oÓ°ÝÃD¡C
¨ä¥¦¦U¦¡¦U¼Ëªº°ÝÃD
¬°¬Æ»ò FreeBSD ¥Îªº swap ªÅ¶¡¤ñ Linux ¦h¡H
¤£¬O³o¼Ëªº¡C¦pªG§Aªº·N«ä¬O¡G ``¬°¬Æ»ò§Úªº swap ¬Ý°_¨Óº¡¤F¡H''
¨º¬O¦]¬°§âªF¦è©ñ¦b swap ¸Ì«á®³¦^¨Óªº³t«×·|¤ñ pager ¸g¥ÑÀɮרt
²Î®³¦^(¥¼×§ï)ªº°õ¦æ½X§Ö¡C
¨Æ¹ê¤W¡A°O¾ÐÅ餤 dirty pages ªº¶q¨Ã¥¼´î¤Ö¡F clean pages «h¦b»Ý
nªº®ÉÔ²¾¨«¡C
¬°¬Æ»òn¥Î(¬Æ»ò¬O) a.out ©M ELF °õ¦æÀɮ榡¡H
n¤F¸Ñ¬°¬Æ»ò FreeBSD ¨Ï¥Î a.out ®æ¦¡¡Aº¥ý§Anª¾¹D¤@¨Ç
¥Ø«e Unix ¤¤¨Ï¥Î³Ì¼sªxªº¤TºØ®æ¦¡¡G
a.out
³Ì¦©M`¥j¨å'ªº unix ¥ØªºÀɮ榡¡C¨Ï¥Î¤@ºØµu¦Óºò±KªºÀÉÀY¡A
¦ñÀH¤@Ó³q±`¥Î¨Ó¿ë»{®æ¦¡ªºÅ]³N¼Æ¦r(°Ñ¦Ò
a.out(5) ¦³§ó¦h²Ó¸`)¡C¨ã¦³¤TÓ¸`°Ï¡G.text¡A.data¡A©M.bss
¥[¤W¤@ӲŸ¹ªí©M¦r¦êªí¡C
COFF
SVR3 ¥ØªºÀɮ榡¡CÀÉÀY¥]§t¤F¤@Ó¸`°Ïªí¡A©Ò¥H¥i¥H¨ã³Æ¤ñ
.text¡A.data¡A.bss ÁÙ¦hªº¸`°Ï¡C
ELF
COFF ªº«áÄ~ªÌ¡A¨ã¦³¦hÓ¸`°Ï¥H¤Î 32-bit ©Î 64-bit ªº
possible values¡C¥Dnªº¯ÊÂI¡GELF ¬O¦b¨CÓ¨t²Î¬[ºc¥u
·|¦³¤@ºØ ABI ªº°²³]¤U³]p¥X¨Óªº¡C¨Æ¹ê¤W³oÓ°²³]¿ùªºÂ÷ÃСA
§Y¨Ï¬O°Ó·~ªº SYSV ¥@¬É¡A¤]¦Ü¤Ö¦³ SVR4¡ASolaris¡ASCO ¤TºØ ABI¡C
FreeBSD ÂǥѤ@Ó¤u¨ã¡A§âµ{¦¡»Ýn¨ººØ ABI ªº¸ê°T ¯O¦L
¦b ELF °õ¦æÀɤW¡C
°Ñ¦Ò man page
brandelf ¨ú±o§ó¦h¸ê°T¡C
FreeBSD ¨Ó¦Û "¥j¨å" °}Àç¡A¶Ç²Î¤W³£¨Ï¥Î
a.out ®æ¦¡¡A³o¬O¦b¦n´X¥Nªº BSD ¤¤ÃÒ©ú¥i¾aªºp³N¡C
ÁöµM¥i¥H¦b FreeBSD ¤W¥i¥H«Ø¥ß¥H¤Î°õ¦æì¥Íªº ELF °õ¦æÀÉ(
¥H¤Î®Ö¤ß)¡Aè¶}©l FreeBSD ¤Ï¹ïÂà´«¨ì¥H ELF °µ¬°¹w³]ªº
®æ¦¡¡C¬°¬Æ»ò¡H¶â¡A·í Linux ¶}©lµhW¦aÂà´«¦ÜELF¡A¨Ã«D¦]¬°n°kÂ÷
a.out®æ¦¡¡A¦Ó¬O¦]¬°¥L̨S¦³¼u©Êªº¡A¥H¸õÅDªí¬°°ò¦ªº¦@¨Éµ{¦¡®w¾÷¨î¡C¨º¬O¤@ºØ«D±`Ãø¥H¨Ï¥Î¡Aµo®i
ªÌ¤£³ßÅwªºªF¦è¡C¬JµM¤w¸g¦s¦bªºELF¤u¨ã´£¨Ñ¤F¦@¨Éµ{¦¡®wªº¸Ñ¨M¤è®×¡A¦Ó¥B¬Ý¨Ó¬O"«e½Ãªº¤èªk"
¡A©Ò»Ýªº¥N»ù´N¥i±µ¨ü¦]¦ÓÂà´«¡C
¦b FreeBSD ªºª¬ªp¤¤¡A§Ú̪º¦@¨Éµ{¦¡®w¾÷¨î§ó±µªñ SunOS ªº
«¬¦¡¡A¤]´N¬O¡A©ö©ó¨Ï¥Î¡CµM¦Ó¡A±q 3.0 ¶}©l¡AFreeBSD ¥¿¦¡¤ä´© ELF ¬°¹w³]®æ¦¡¡C
§Y¨Ïa.out ®æ¦¡¤´µM«D±`¦n¡A§Ú̽sĶ¤u¨ãªº¼¶¼gªÌ¡AGNU ªº¦¨û¡A
¤w¤¤¤î¤F¹ï¡Aa.out ®æ¦¡ªº¤ä´©¡C³o¢¨Ï§Ú̺ûÅ@¥t¤@¥÷ª©¥»ªº compiler ©M linker
¡A¤]¨Ï±o§Ṳ́£¯à±q³Ì·sªº GNU µo®i¦¨ªG¤¤Àò±o¦n³B¡C¦¹¥~¹ï ISO-C++ ªº»Ý¨D¡A¤×¨ä¬O«ØºcªÌ©M¸Ñºc
ªÌ¡A¤]±a°Ê¥¼¨Óª©¥»¤¤¹ï ELF ªºì¥Í¤ä´©¡C
¦n§a¡A¦ý¬°¬Æ»ò·|¦³³o»ò¦hºØ¤£¦Pªº®æ¦¡¡H
¦b¶Â·tªº¹L¥h¡A¥u¦³Â²®ªºµwÅé¡C²®ªºµwÅé¶È¤ä´©¤p«¬¡B²³æªº¨t²Î¡C
a.out ¦b²³æªº¨t²Î¤W³Ó¥ô´r§Ö (PDP-11)¡C·í unix ²¾´Ó¨ì¨ä¥L¥¥x®É¡A
a.out «O¯d¤F¤U¨Ó¡A¦]¬°¹ï¦´Áªº Motorola 68K¡AVAX ¤§Ãþªº¬[ºc¤w¸g
°÷¥Î¤F¡C
µM«á¦³¨ÇÁo©úªºµwÅé¤uµ{®vı±oÅý³nÅé¦h°µÂI¨Æ¡A¨º CPU ªº¹q´¹Åé´N¯à¤Ö¤@ÂI¦Ó¶]ªº§ó§Ö¡Cn¦b³oºØ
·s¦¡µwÅé¤W¤u§@(²{¦bºÙ¬°RISC)¡A a.out ´N¤£¾A¦X¤F¡A©Ò¥H³\¦hªº®æ¦¡´Nµo
®i¥X¨Ó¡A¥H´£¨Ñ¤ñ¨ü¨î¦Ó¤S²³æªº a.out §ó¦nªº®Ä¯à¡C¹³¬O COFF¡A
ECOFF¡A¥H¤Î¤@¨Ç¤ñ¸û¤£¥X¦Wªº®æ¦¡¡A¨C¤@ºØ
³£³Q³Ð³y¥X¨Ó¡A¦ý¬O«o³£¹F¨ì¦U¦Ûªº·¥¡Aª½¨ì ELF ¥X±¸Ñ¨M³o¤@¤Á¡C
¦¹¥~¡A·íµ{¦¡¶V¨Ó¶V¤j¦ÓºÏºÐ(¥H¤Î¥D°O¾ÐÅé)¬Û¹ï¨Ó»¡¸û¤p®É¡A¦@¨Éµ{¦¡®wªº·§©À´Nµo®i¥X¨Ó¤F¡A
µêÀÀ°O¾ÐÅé¨t²Î¤]Åܱo¶V¨Ó¶Vºë¥©¡C·í¨C¤@ºØ¶i¨B³£¦b a.out ¤W§¹¦¨®É¡A
¥¦ªº¥i¥Î©Ê¤]¶V¨Ó¶V§C¡C¥t¥~¡A¤HÌÁÙn¦b°õ¦æ®É´Á¥i¥H°ÊºA¸ü¤J¡A©Î¬O¥á±ó°õ¦æ¹Lªºªì©l¤Æµ{¦¡
¥H¸`¬Ù°O¾ÐÅé¡Cµ{¦¡»y¨¥¤]Åܱo§óºë¥©¦Ó¥B¤HÌ·Qn¦b main ¤§«e°õ¦æ§Oªºµ{¦¡½X¡C³\¦hÁcÂøªº§Þ¥©
¥Î¦ba.out ¤W¥H¸Ñ¨M³o¨Ç°ÝÃD¡Ca.out n¸Ñ¨M³o¨Ç
°ÝÃD»Ýn¶V¨Ó¶V¦hÃB¥~ªºt¾á©M½ÆÂø«×¡CELF¥i¥H»´©öªº¸Ñ¨M³o¨Ç°ÝÃD¡A¦ý¬O
±q°ò¥»¤W¥i¥H¤u§@ªº¨t²ÎÂà´«¦¨ ELF «o«Ü´Æ¤â¡C©Ò¥Hnµ¥¨ìºûÅ@
a.out ¤ñÂà´«¨ì ELF ´Æ¤â¡C
µM¦Ó¡AÀHµÛ®É¶¡¹L¥h¡A FreeBSD ªº build tools §Î¦¨¤F¥¦æªº¨â¤ä
(¤×¨ä¬O²ÕĶ¾¹©M loader)¡CFreeBSD ³o¤ä¥[¶i¤F¦@¨Éµ{¦¡®w¥H¤Î×¥¿¤F
¤@¨Ç¿ù»~¡Cì¨Ó¼¶¼g³o¨Çµ{¦¡ªº GNU ¦¨û«h«¼g¤F³o¨Çµ{¦¡¡A¥H§ó²³æ
ªº¤è¦¡¤ä´©¸ó¥¥x½sĶ¡B¦hºØ®æ¦¡µ¥µ¥¡C³\¦h¤H·Qn°µ¥X¥H FreeBSD ¬°
¥Øªº¥¥xªº¸ó¥¥x½sĶ¾¹¡A¤£©¯ªº¬O FreeBSD ªº as ©M ld ¤£¯à°µ³o¶µ
¤u§@¡C·sªº GNU ¤u¨ã(binutils)¥[¤J¤F¸ó¥¥x½sĶ¡BELF¡B¦@¨Éµ{
¦¡®w¡B C++ ÂX¥R¡Aµ¥µ¥¡C¦¹¥~¡A³\¦h¼t°Ó¥H ELF ®æ¦¡µo¦æ²£«~¡A
¦Ó¯à°÷¦b FreeBSD ¤W¶]ªº¸Ü·íµM«Ü¦n¡C¦Ó¥B¦pªG¯à¶] ELF ®æ¦¡ªº
°õ¦æÀÉ¡A¬°¬Æ»òÁÙn²z a.out ¡H¨e¬O¤@¤Ç¤S²Ö¤S¦Ñªº°¨¡A¹L¥h«D±`
¦³¥Î¡A¦ý¬O®ÉÔÅý¨e°h¥ð¤F¡C
ELF ¤ñ a.out §óÀ³¦³ªí¹F¤O(expressive¡H)¦Ó¥B¨ã¦³§ó¦hªº
ÂX¥R©Ê¡CELF¤u¨ãºûÅ@ªº¤ñ¸û¦n¡A¦Ó¥B´£¨Ñ¸ó¥¥x½sĶªº¤ä´©¡A
³o¹ï³\¦h¤H¨Ó»¡¬O«Ü«nªº¡CELF ¥i¯à¤ñ a.out ºC¤@ÂI¡A¦ý®t²§
«D±`Ãø´ú¶q¥X¨Ó¡C³o¨âªÌ¤§¶¡ÁÙ¦³³\¦h²Ó¸`¤Wªº¤£¦P¡A¨Ò¦p¤À¶ªº¹ïÀ³¤è¦¡¡Aªì©l¤Æµ{
¦¡½Xªº§@ªkµ¥µ¥¡C³o¨Ç¨Ã¤£¬O«Ü«n¡A¦ý´N¬O¤£¦P¡C¦b¥H«á GENERIC ®Ö¤ß¤£·|¤ä´©
a.out ¡A·í¤£¦A¦³°õ¦æ¶Ç²Î a.out µ{¦¡
ªº»Ýn®É¡A·|±q®Ö¤ß²¾°£¡C
¬°¬Æ»ò chmod ¤£·|§ïÅܲŸ¹³sµ²(symlink)ªº¦s¨úÅv¡H
§A¥²¶·§â ``'' ©Î¬O ``'' »P ``'' ¿ï¶µ¤@°_¨Ï¥Î.
°Ñ¦Ò chmod
¤Î symlink man pages ¥H¨ú±o§ó¦h¸ê°T.
ĵ§i¡G ``'' ¿ï¶µ·|Åý chmod
°µ»¼°j¡C¥Î¦b¥Ø¿ý©Î¬O³sµ²¨ì¥Ø¿ýªº²Å¸¹³sµ²®Én¤p¤ß¡C¦pªG§An§ïÅܤ@ӲŸ¹³sµ²°Ñ
¦Ò¨ìªº¥Ø¿ý¤§¦s¨úÅv¡A¨Ï¥Î chmod ¥B¤£n
¥[¥ô¦ó¿ï¶µ¡A¨Ã¥B¦b symlink ªºµ²§À¥[¤W±×½u(``/'')¡CÁ|¨Ò¨Ó»¡
¡A¦pªG ``foo'' ³sµ²¨ì ``bar''¡A¦Ó§An§ó§ï ``foo'' ªº
Åv (¨Æ¹ê¤W¬O ``bar'')¡A¨º´N¥Î¡G
chmod 555 foo/
µ²§Àªº±×½u¡A·|Åý chmod
§ïÅÜ ``foo'' «ü¦Vªº ``bar'' ¥Ø¿ýªºÅv¡C
¬°¬Æ»ò±b¸¹ ¤´µM ¨î¬°¤KÓ¦r¤¸¡H
§A·|»{¬°×§ï UT_NAMESIZEµM«á««Ø¨t²Î¬O«Ü²³æªº¨Æ±¡¡A¦Ó¥B¨C¥ó¨Æ³£¥i¥H¹B§@¦a«Ü¦n¡C¤£©¯ªº¬O¡A
¦³³\¦hªºµ{¦¡©M¤u¨ã(¥]§t¨t²Î¤u¨ã)§â¼Æ¦r¼g¦º¦bµ{¦¡¸Ì(¨Ã«DÁ`¬O 8 ©Î 9¡A¦³®É¬O¥j©Çªº 15¡B20µ¥µ¥)¡C
³o¤£¥u·|§â§Aªº°O¿ýÀɧËÃa(¨Ó¦Û©óÅܰʪø«×©M©T©wªø«×°O¿ýªº®t²§)¡A¤]·|¯}Ãa Sun ªº NIS «È¤áºÝªº¹B§@¡A©M¨ä¥¦ UNIX
¨t²Îªº¥æ¤¬§@¥Î¤]¥i¯à¦³¼ç¦bªº°ÝÃD¡C
¦b FreeBSD 3.0 ¥H¤Î¤§«áªºª©¥»¡A±b¸¹ªº³Ì¤jªø«×¼W¥[¨ì 16 Ó¦r¤¸¡A
¦Ó¨º¨Ç¼g¦ºªø«×ªºµ{¦¡¤]§ä¥X¨Ó×¥¿¡C¥¿¦]¬°¼vÅT¨t²Îªº½d³ò«Ü¼s¡A©Ò¥Hª½¨ì
3.0 ¤~ºâ¤jPק粒¦¨¡C
¦pªG§A¦³¦Û«H¦b¥X°ÝÃDªº®É«á¯à¦Û¦æ¸Ñ¨M¡A§A¥i¥H¥Î¤U±ªº¤èªkÅý¸û¦ªº
ª©¥»¤ä´©¸ûªøªº±b¸¹¡Cקï /usr/include/utmp.h ¤¤ªº UT_NAMESIZE¡C§A¤]
¥²¶·§â /usr/include/sys/param.h ¤¤ªº MAXLOGNAME §ï¦¨¸ò UT_NAMESIZE
¬Û²Å¡C³Ì«á¡A¦pªG§A¬O±qì©lµ{¦¡«Ø¥ß¨t²Î¡A§O§Ñ¤F /usr/include ¨C¦¸³£
·|§ó·s¡Iקï /usr/src/.. ¤¤¾A·íªºÀɮסC
§Ú¯à¦b FreeBSD ¤U¶] DOS µ{¦¡¶Ü¡H
¬Oªº¡A±q 3.0 ª©¶}©l¥i¥H¨Ï¥Î¤w¸g¾ã¦X¨Ã¥[±jªº BSDI rundos
DOS ¼ÒÀÀ¾¹¡C¦pªG§A¹ï³oÓªF¦è¦³¿³½ì¡A°e«Ê«H¨ì
The FreeBSD emulation °Q½×°Ï¡C
¹ï 3.0 ¤§«eªº¨t²Î¡A¦b port ¤¤¦³¤@Ó·¥¨Îªº¤u¨ãµ{¦¡
pcemu
¥i¥H¼ÒÀÀ 8088 ©M¨¬°÷ªº BIOS ªA°È¥H°õ¦æ DOS ¤å¦r¼Ò¦¡µ{¦¡¡C¥¦¶·n X Window
System(¥Ñ XFree86 ´£¨Ñ)¡C
¬Æ»ò¬O ``sup''¡A¦p¦ó¨Ï¥Î¡H
SUP
·N«ä¬O Software Update Protocol¡A¥Ñ CMU µo®i¥Hºû«ùµo®iªº¦P¨B¡A
§Ú̧Q¥Î¥L¨Ó«O«ù»·ºÝªº¯¸¥x©Mì©l¯¸¥x¦P¨B¡C
SUP ¹ïÀW¼eªº¨Ï¥Î¤£¤Íµ½¡A¦Ó¥B¤w¸g¤£¨Ï¥Î¤F¡C¥Ø«e«Øijºû«ùì©l½X§ó·sªº¤èªk¬O
¨Ï¥Î¤â¥U¤¤ªº CVSup¡C
How cool is FreeBSD¡H
°Ý¡G¦³¤H°µ¹L FreeBSD °õ¦æ®Éªº·Å«×´ú¸Õ¶Ü¡H§Úª¾¹D Linux ¤ñ DOS ²D¡A
¦ý¨SÅ¥¤H´£¹L FreeBSD¡A¦ü¥G«Ü¼ö¡C
µª¡G¨S¦³¡A¦ý¬O¦b¨ýı¤W¦³°µ¹LµL¼Æ¦¸´ú¸Õ¡C§ÚÌé¤W¦ÛÄ@¨ü¸ÕªÌªº
²´·ú¡A¨Æ¥ý¦Aµ¹¥L̪A¥Î 250 ²@§Jªº LSD-25 °g¤ÛÃÄ¡C35% ªº¨ü¸ÕªÌ»¡
FreeBSD ¹Á°_¨Ó¹³¾ï¤l¡A¦Ó Linux «h¬Oµµ¦âªººd¾ðªG¹ê¡C¾Ú§Ú©Òª¾¡A¨S
¦³¤@²Õ´£¨ì·Å«×¤W¯S§Oªº®t²§¡C«á¨Óµo²{¡A¦³¤Ó¦h¨ü¸ÕªÌ¦b´ú¸Õ®É¹Ú¹C¨«
¥X©Ð¶¡¼vÅT¨ì¼Æ¾Ú¡A³Ì«á¥u±o©ñ±ó¾ãÓ½Õ¬d¡C§Ú·Q¤j³¡¥÷ªº¨ü¸ÕªÌ²{¦b¦b
Apple ¤u§@¡AÄ~ Drag and Drop ¤§«á¡A¬ã¨s¥þ·sªº Scratch and Sniff
¹Ï§Î¬É±¡CIt's a funny old business we're in¡I
¤£¶}ª±¯º¤F¡AFreeBSD ©M Linux ³£¨Ï¥Î ``HLT'' (halt) «ü¥O
¥H¦b¨t²Î¶¢¸m®É°§C¹q¤Oªº¨Ï¥Î¤]´î¤Ö¤F¼öªº²£¥Í¡C¦pªG¦³³]©w APM
(automatic power management)¡AFreeBSD ¤]¥i¥HÅý CPU ¶i¤J§C¹q¤O
¼Ò¦¡¡C
½Ö¦b§Úªº°O¾ÐÅé´¡¼Ñ¤¤¨F¨F§@ÅT¡H¡H
°Ý¡GFreeBSD ½sĶ®Ö¤ß®É¦³°µ¬Æ»ò "©_¯S" ªº¨ÆÅý°O¾ÐÅé¨F¨F§@ÅT¶Ü¡H
·í½sĶ®É(ÁÙ¦³¶}¾÷®É½T»{³nºÐ«áªºµu¼È®É¶¡)¡A¤]ºØ¦ü¥G¨Ó¦Û°O¾ÐÅé´¡¼Ñ
ªº©_©ÇÁnµ¡C
µª¡G¬Oªº¡I¦b BSD ªº¤å¥ó¤¤§A·|±`±`¬Ý¨ì ``I«áÆF''¡A¤j³¡¥÷ªº¤H
³£¤£ª¾¹D¨º¬O¤@ºØ¹ê»Ú¦s¦bªººë¯«Åé --- ´x±±µÛ§Aªº¹q¸£¡C§AÅ¥¨ìªºÁnµ
¬O³o¨ÇI«áÆF¥H°ªµ¤fï¦b·¾³q«ç¼Ë°µ³\¦hªº¨t²ÎºÞ²z¤u§@¡C
¦pªG³o¨ÇÁnµ«Ü§xÂZ§A¡A¨Ó¦Û DOS ªº ``fdisk /mbr'' ´N
¯àÂ\²æ¡A¦ý¦pªG¦³¬Û¤Ïªº®ÄªG¤]¤£nÅå³Y¡C¨Æ¹ê¤W¡A¦pªG¦b»ö¦¡¤¤Å¥¨ì
Bill Gates ®£©ÆªºÁnµ±q¤º«Øªº³â¥z¶Ç¨Ó¡A°¨¤W°k¦Ó¥B¤£n¦^ÀY¡I
±q BSD I«áÆF¤£¥¿Åªº¼vÅT¤¤¸Ñ©ñ¡ADOS ©M Windows I«áÆF³q±`³£¯à
«·s±±¨î¾ã¥x¾÷¾¹¨Ã¹ï§AªºÆF»î¶A©G¡C¦pªG¦³¿ï¾Ü¡A§Ú·Q§Ú¹çÄ@²ßºD©_
©ÇªºÁnµ¡C
MFC ¬O¬Æ»ò·N«ä¡H
MFC ¬O 'Merged From -CURRENT' ªºÁY¼g¡C¨Ï¥Î¦b CVS °O¿ý¤¤¥H
ªí¥Ü±q CURRENT ¤¤¾ã¦X¶i STABLE ¤À¤äªº§ïÅÜ¡C
'BSD' ¬O¤°»ò·N«ä¡H
¦b¥u¦³·|ûª¾¹Dªº¯µ±K»y¨¥¤¤¡A¥¦¥Î¨Óªí¥Ü¬YºØªF¦è¡C§Ú̵Lªk§@¤å¦r¤Wª½±µªºÂ½Ä¶¡A
¥u¯à»¡¥¦ªº·N«ä¤j·§¦b '¤@¯Å¤èµ{¦¡Áɨ®'¡B'¥øÃZ¬O¦n¦Yªº¤pÂI¤ß'¡B©M '§Ṳ́ñ Linux
¨Ó±o¦³«ÕÀq·P' ³o¤TªÌ¤§¶¡¡C:-)
¥¿¸gÂI¡ABSD ¬O 'Berkeley Software Distribution' ªºÁY¼g¡A¥Ñ·í®Éªº
Berkeley CSRG(Computer Systems Research Group)¿ï¨Ó·í§@¥LÌ©Òµo¦æ Unix
ª©¥»ªº¦WºÙ¡C
n´XÓ FreeBSD hacker ¤~¯à´«±¼¤@Ó¹q¿Oªw¡H
¤@¤d¤@¦Ê¤C¤Q¤GÓ¡G
¤G¤Q¤TÓ¦b -current ¤W©ê«è¬Ý¤£¨ì¥ú¤F¡F
¥|ӫźٳo¬O³]©w¤Wªº°ÝÃD¡A©Ò¥H¹³³o¼Ëªº email À³¸Ó©ñ¦b -questions¡F
¤TÓ submit PR¡A¨ä¤¤¤@Ó°e¿ù¨ì doc ¤U¡A¨Ã¥B¤º®e¥u¦³¡¨³o¸Ì¦n·t¡¨¡F
¤@Ó commit ©|¥¼´ú¸Õªº¹q¿Oªw¡A³y¦¨¤£¯à buildworld¡A¤¤ÀÄÁ«á¥L§âì¨Ó
ªº¿Oªw´«¦^¨Ó¡F
¤KÓº´°_ flame war¡A³d©Ç°e¥X PR ªº¤H¨S¦³¥]¬A patch¡F
¤Ó®I«è buildworld Äê±¼¤F¡F
¤T¤Q¤@Ó»¡ buildworld ¥i¥H¥Î¡A¤£¯à¥Îªº¤H¤@©w¬O cvsup ªº®É¾÷¤£¹ï¡F
¤@ӧ⴫¦¨·s¿Oªwªº patch ¥á¨ì -hackers ¤W¡F
¤@Ó»¡¥L¤T¦~«e´N°µ¥X¤F patch¡A¦ý°e¨ì -current «á«o³Q©¿²¤±¼¡A©Ò¥H¥L
¹ï¾ãÓ PR ¨t²Î¦³«Ü¤£¦nªº¦L¶H¡C¦¹¥~¡A¥L¤]»{¬°®³¥Xªº·s¿OªwµLªk¤Ï¥ú¡F
¤T¤Q¤CÓ©Hý»¡¹q¿Oªw¤£ÄÝ©ó°ò¥»¨t²Îªº¤@³¡¥÷¡A©Ò¥H committer ¤£¯à¤£¥ý
¿Ô¸ß¾ãÓ Community ªº·N¨£´N³o¼Ë°µ¤U¥h¡CÁÙ¦³¡A-CORE ¨ì©³©M³o¥ó¨Æ¦³¤°»ò
Ãö«Y¡H¡I
¨â¦Ê¤H©ê«è´«¿Oªw¤§«á¡A¸}½ñ¨®´×ªºÃC¦âÅܱo¦n©_©Ç¡F
¤TÓ«ü¥X¡A¥Î¨Ó´«¿Oªwªº patch ¤£²Å¦X style(9) ªº³W©w¡F
¤Q¤CÓ®I«è®³¥X¨Óªº·s¿Oªw¬°¤°»ò¬O¥Î GPL¡F
¤¦Ê¤K¤Q¤»¤H³´¤J¤@³õ flame war¡A¦b GPL¡BBSD¡BMIT¡BNPL ¦UÓ license
©M FSF ¬Y¦ì¤£¨ã¦W³Ð¿ì¤H¤hÓ¤H½Ã¥Í¤§¶¡¡A¤ñ¸û©¼¦¹ªºÀu¶Õ¡F
¤CÓ±N³o¤@¦ê°Q½×ªº¤£¦P³¡¥÷¤À§O²¾¨ì -chat ©M -advocacy¡F
´Nºâ´£¥Xªº·s¿Oªw¤ñªº·t¡AÁÙ¬O¦³¤@ӧ⥦ commit ¶i¨Ó¡F
¨âÓ´«¦^ì¥ýªº¿Oªw¡A¨Ã¥B¯d¤U·¥¬°¼««ãªº commit °T®§¡C¥LÌ»{¬°»P¨äÅý
FreeBSD ¥Î·t¿Oªw¡AÁÙ¤£¦p°®¯Ü«Ý¦b¶Â·t¤¤ºâ¤F¡F
¥|¤Q¤»¤H¹ï¨ú®ø¤£¥Î·t¿Oªw³o¥ó¨Æ¤jÁn¯e©I¡An¨D -core ¥ß¨è´£¥X¼á²M¡F
¤Q¤@Ón¨D´«¦¨¤p¤@ÂIªº¹q¿Oªw¡A¥H«K¥¼¨Ó FreeBSD ¦pªG²¾´Ó¨ì¹q¤lÂû¤W«á
·|§ó¬°¤è«K¡F
¤C¤Q¤T¤H©ê«è -hackers ©M -chat ¤Wªº SNR¡AÂÇ unsubscribe ¨Óªí¥Ü§Üij¡F
¤Q¤TÓ°e¥X "unsubscribe"¡B¡¨§Ún¦p¦ó unsubscribe¡¨©Î¡¨«ô°U§â§Ú±q
list ¦W³æ¤¤§R±¼¡¨¡A«Hªº³Ì«á±«h¬O¤@¯ë¥Ñ majordomo ¥[¤W¥hªº footer¡F
·í¨CÓ¤H¦£©ó©¼¦¹¥s½|®É¡A¦³Ó³Ã¥ë¶X¨S¤Hª`·N¡A§â¥i¥H¥Îªº¿Oªw°½°½´«¤W
¥h¡F
¤T¤Q¤@Ó«ü¥X¦pªG¥Î TenDRA ½sĶ·sªº¿Oªw¡A·|¤ñªº¨Ó±o«G 0.364%¡]ÁöµM
¿Oªw·|³Q½sĶ¦¨¥¿¤»±Åé¡^¡A©Ò¥H FreeBSD ¤º©wªº½sĶ¾¹À³¸Ó¬O TenDRA¡A¦Ó¤£
¬O EGCS¡F
¦³Ó¤H»¡·s¿Oªw¯Ê¥F¬ü·P¡F
¤EÓ¤H¡]¥]¬Aì¥ý°e PR ªº¤H¡^°Ý¡¨¤°»ò¬O MFC¡H¡¨¡F
¤¤Q¤CÓ©ê«è¦Û±q´«¤F¿Oªw«á¡A¨âÓ¬P´Á³£¨S¦³¥ú¥X²{¡C
Nik Clayton
¸Éª`¡G
è¬Ý¨ì®É¡A§Ú§Ö¯ºÂ½¤F¡C
µM«á·Q¨ì¡A¡¨µ¥¤@¤U¡A¤£¬OÀ³¸ÓÁÙ¦³¤@Ón±N³o¨Ç°O¦b list ¤W¶Ü¡H¡¨
±µµÛ²×©ó¤F¸Ñ§Úªº¨Ï©R :-)
µ¹¦³¤ß²`¤J¬ã¨sªº FreeBSD hacker
SNAPs ©M RELEASEs ¬O¤°»ò¡H
¥Ø«e¦³¤TÓ¬¡ÅD/¥b¬¡ÅDªº¤À¤ä¦b FreeBSD ªº
CVS Repository:
RELENG_2_2 §Y 2.2-stable §Y "2.2 branch"
RELENG_3 §Y 3.x-stable §Y "3.0 branch"
HEAD §Y §Y 4.0-current
¦p¦P¨ä¥L¨âÓ¡AHEAD ¨Ã¤£¬O¯u¥¿ªº branch tag¡A¥¦¥u¬O¤@ӲŸ¹
±`¼Æ¡A«ü¦V "current¡G©|¥¼¤À¤äªºµo®i¤¤ª©¥»" ¡A²°O¬°
¡C
¥H²{¦b¨Ó»¡¡A ´Â¦V 4.0 µo®i¡A¦Ó 3.0-stable ³o
Ó¤À¤ä¡A¤]´N¬O RELENG_3¡A¦b 1999 ¦~ 1 ¤ë±q ¤À¥X
¨Ó¡C
2.2-stable ³oÓ¤À¤ä¡A¤]´N¬O RELENG_2_2¡A¬O¦b 1996 ¦~
11 ¤ë±q -current ¤À¥X¨Ó¡C
2.1-stable ³oÓ¤À¤ä¡A¤]´N¬O RELENG_2_1_0¡A«h¬O¦b
1994 ¦~ 9 ¤ë±q -current ¤À¤ä¥X¨Ó¡A³oÓ¤À¤ä¤w¸g§¹¥þ°h¥ð¤F¡C
§Ún«ç»ò§@¥X¦Û¤vªº release¡H
°µ release ¥]¬A¤U±³o¤TÓ¨BÆJ¡Gº¥ý¡A°µ¥X¦³ vn ³oÓÅX°Êµ{
¦¡ªº¥i¥Î kernel¡C§â¤U±³o¤@¦æ¥[¨ì kernel ³]©wÀÉ¡AµM«á°µ¥X·sªº
kernel «·s¶}¾÷¡G
pseudo-device vn #Vnode driver (turns a file into a device)
±µµÛ¡A§A¤â¤Wn¦³¾ãÓ CVS repository¡C¥i¥H°Ñ¦Ò CVSUP ³o½g¤å³¹¡A¦ý¦b
supfile ¤¤§â release ¦WºÙ³]¦¨ cvs¡A¦A§R±¼©Ò¦³ tag ©Î date ªºÄæ¦ì¡A¦p
¤U¡G
*default prefix=/home/ncvs
*default base=/a
*default host=cvsup.FreeBSD.org
*default release=cvs
*default delete compress use-rel-suffix
## Main Source Tree
src-all
src-eBones
src-secure
# Other stuff
ports-all
www
doc-all
µM«á°õ¦æ cvsup -g supfile §â©Ò¦³ªF¦è³£§ì¤U¨Ó...
³Ì«á¡AµwºÐn¦³¬Û·í¤jªºªÅ¶¡¨Ó°µ release¡C°²³]§A·Q§â¥¦©ñ¦b
/some/big/filesystem ³o¸Ì¡A¤W±³oÓ¨Ò¤l¤]§â CVS
repository ©ñ¦b /home/ncvs ¤F¡A±µµÛ¡G
setenv CVSROOT /home/ncvs # or export CVSROOT=/home/ncvs
cd /usr/src/release
make release BUILDNAME=3.0-MY-SNAP CHROOTDIR=/some/big/filesystem/release
¾ãÓ release ·|°µ¦b /some/big/filesystem/release¡Cµ²§ô
®É /some/big/filesystem/release/R/ftp ³oӥؿý¥i¥Hª½±µ¥Î
¨Ó°µ¬° FTP ¦w¸Ë¤è¦¡ªº¨Ó·½¡C¦pªG·Q°µ¥X -current ¥H¥~¤À¤äªº SNAP¡A
¦b¤W± make release ³o¤@¦æ¥[ RELEASETAG=SOMETAG¡CÁ|¨Ò¨Ó»¡¡A
RELEASETAG=RELENG_2_2 ³oӰѼƷ|°µÓ§Y®Éªº 2.2-STABLE snapshot¡C
«ç¼Ë¤~¯à°µ¥X¦Û¤v¥Îªº¦w¸ËºÏ¤ù¡H
«Ø¥ß¦w¸ËºÏ¤ù¡BÁÙ¦³°µ¥X source/binary archive¡A³£¬O¥Ñ
/usr/src/release/Makefile ¸Ì±ªº¦UºØ target ¦Û°Ê²£¥Í¡A³o
ÓÀɮ׸̪º¸ê°TÀ³¸Ó¨¬¥H¶}©l¡C¦ý¬O³oÓ¹Lµ{²o¯A¨ì make world¡A©Ò¥H·|
¥Î¨ì¬Û·í¦hªº®É¶¡©MµwºÐªÅ¶¡¡C
``make world'' §âì¨Ó¸Ëªº binary Àɳ£´«±¼¤F¡C
¨S¿ù¡A´N¬O³o¼Ë¤l¡C¦p¦W¦r©Ò¥Ü¡A``make world'' ·|«·s½sĶ¨t²Î¤º«Ø
ªº¨CÓ binary ÀÉ¡A³o¼Ë¦bµ²§ô®É´N¥i½T©w¦³Ó¤@P¥B°®²bªºÀô¹Ò(©Ò¥Hn
ªá¤W¦n¤@¬q®É¶¡)¡C
¦b°õ¦æ ``make world'' ©Î ``make install'' ®É¡A¦pªG¦³
³] DESTDIR ³oÓÀô¹ÒÅܼơA·s²£¥Íªº binary ±N·|¸Ë¦b
${DESTDIR} ¤Uªº¦P¼Ë¥Ø¿ý¾ð¤¤¡C¦ý¦b¬Y¨Ç×
§ï shared library ©M««Ø binary ªºµL¯S©w±¡ªp¤U¡A³o¼Ë°µ¥i¯à·|¨Ï
``make world'' ¥¢±Ñ¡C
¦b¨t²Î¶}¾÷®É¡A¥X²{ ``(bus speed defaulted)''¡C
Adaptec 1542 SCSI ¥d¤¹³\¨Ï¥ÎªÌ¥Î³nÅé½Õ¾ã¶×¬y±Æªº¦s¨ú³t«×¡C¦
´Áªº 1542 ÅX°Êµ{¦¡¸Õ¹Ï±N¥¦³]¦¨¥i¥Îªº³Ì§Ö³t«×¡A¦ý«á¨Óµo²{¦b¤@¨Ç
¾÷¾¹¤W¤£¯à¥Î¡A©Ò¥H²{¦bn¦b kernel ³]©w¤¤¥[ ``TUNE_1542''
³oӿﶵ¨Ó±Ò°Ê³oÓ¥\¯à¡C¦b¤ä´©ªº¾÷¾¹¤W¥Î³oӿﶵ·|¨ÏµwºÐ¦s¨ú§ó
§Ö¡A¦ý¦b¤£¤ä´©ªº¾÷¾¹¤W¦³¥i¯à·|·´±¼¸ê®Æ¡C
§Úªººô¸ô³s½u¤£§Ö¡A¨º¥i¥H¸òµÛ current ªºµo®i¶Ü¡H
¥i¥H¡AÂÇµÛ CTM ´N
¥i¥H¤£¥Î¤U¶Ç©Ò¦³ªºì©l½X¥Ø¿ý¾ð¡C
§A¬O«ç»ò§âµo¦æª©¥»¤¤ªºÀɮפÁ¦¨¤@ÓÓ 240k ªº¤pÀɮסH
¦b¥H BSD ¬°¥Dªº¸û·s¨t²Î¤¤¡Asplit ¦³Ó ``'' ¿ï¶µ¡A¬O¥Î¨Ó
§âÀÉ®×¥H¥ô·N¼Æ¥Ø byte ¤Á¶}¡C
³o¸Ì¬O /usr/src/Makefile ¤¤ªº¤@Ó¨Ò¤l¡G
bin-tarball:
(cd ${DISTDIR}; \
tar cf - . \
gzip --no-name -9 -c | \
split -b 240640 - \
${RELEASEDIR}/tarballs/bindist/bin_tgz.)
§Ú¦b kernel ¸Ì¥[¤F¨Ç·s¥\¯à¡An§â¥¦±Hµ¹½Ö¡H
½Ð¬Ý¤@¤U Handbook ¤¤¥[¤Jµ{¦¡½Xªº³¡¥÷¡C
¦P®É¤]·PÁ§Aªº¶O¤ß¡I
ISA ªº Plug N Play ¥d¬O«ç»ò°»´ú©Mªì©l¤Æªº¡H
¥Ñ Frank Durda IV ©Ò¼g¡G
²³æªº»¡¡A·í¥D¾÷µo¥X¬O§_¦³ PnP ¥dªº¸ß°Ý°T¸¹®É¡A©Ò¦³ªº PnP
·|¦b´XÓ©T©wªº I/O port §@¦^À³¡C©Ò¥H·í°»´ú PnP ªºµ{¦¡¶}©l®É¡A¥¦
·|¥ý°Ý¦³¨S¦³ PnP ¥d¦b¡A±µµÛ©Ò¦³ PnP ¥d·|¦b¥¦©ÒŪªº port ¥H¦Û¤v
ªº«¬¸¹ # §@¦^µª¡A³o¼Ë°»´úµ{¦¡´N·|±o¨ì¤@Ó wired-OR ``yes''
ªº¼Æ¦r¡A¨ä¤¤¦Ü¤Ö·|¦³¤@Ó bit ¬O¥´¶}ªº¡CµM«á°»´úµ{¦¡·|n¨D«¬¸¹
(¥Ñ Microsoft/Intel«ü©w)¤p©ó X ªº¥d``Â÷½u''¡A¦A¥h¬Ý¬O§_ÁÙ¦³¥d¦^
µª¦P¼Ëªº¸ß°Ý¡A¦pªG±o¨ì ``0''¡A´Nªí¥Ü¨S¦³«¬¸¹¤j©ó X ªº¥d¡C
²{¦bµ{¦¡·|°Ý¬O§_¦³«¬¸¹¤p©ó X ªº¥d¡A¦pªG¦³ªº¸Ü¡Aµ{¦¡¦An«¬¸¹¤j©ó
X-(limit/4) ªº¥dÂ÷½u¡AµM«á«ÂФW±ªº°Ê§@¡C¥Î³oºØÃþ¦ü binary
search ªº¤èªk¡A¦b¬Y½d³ò¤º§äÓ´X¦¸«á¡A°»´úµ{¦¡³Ì«á·|¦b¾÷¾¹¤¤°Ï¤À
¥X©Ò¦³ªº PnP ¥d¡A·j´M¦¸¼Æ¤]»·§C©ó¤@Óӧ䪺 2^64 ¦¸¡C
¤@±i¥dªº ID ¥Ñ¨âÓ 32-bit(©Ò¥H¤W±¬O 2ˆ64) + 8bit °»¿ù
½X²Õ¦¨¡A²Ä¤@Ó 32 bits ¬O¥Î¨Ó°Ï¤À¦U®a¼t°Óªº¡C³o¨Ç¼t°Ó¨S¦³¥X¨Ó¼á
²M¹L¡A¦ý¬Ý¨ÓÀ³°²³]¦P¤@®a¥Xªº¤£¦PºØÃþªº¥dªº¼t°Ó ID ¦³¥i¯à¤£¦P¡C
¥Î 32 bits ¥u¨Óªí¥Ü¤£¦P¼t°Óªº·Qªk¹ê¦b¦³ÂI¹LÀY¤F¡C
²Ä¤GÓ 32 bits «h¬O«¬¸¹ #¡B¤A¤Óºô¸ô¦ì§}¡B©Î¤@¨Ç¨Ï³o±i¥d¿W
¯Sªº¸ê®Æ¡C°£«D²Ä¤@Ó 32 bits ¤£¦P¡A§_«h¼t°Ó¤£¥i¯à§@¥X²Ä¤GÓ 32
bit ¬Û¦Pªº¨â±i¥d¡C©Ò¥H¦b¤@¥x¾÷¾¹¤¤¥i¥H¦³¦P¼Ëªº¦n´X±i¥d¡AµM¦Ó¥LÌ
¾ãÓ 64 bits ÁÙ¬O·|³£¤£¤@¼Ë¡C
³o¨âÓ 32 bit ¥Ã»·³£¤£¥i¯à¬°¹s¡A³o¨Ï±o³Ì¶}©l binary search ¤¤
ªº wired-OR ·|±o¨ì¤@Ó«D¹s¼Æ¦r¡C
¤@¥¹¨t²Î°Ï¤À¥X©Ò¦³¥dªº ID¡A±µµÛ·|¸g¥Ñ¦P¼Ëªº port ¤@ÓÓ«·s±Ò
°Ê¨C±i¥d¡A±µµÛ§ä¥X¤wª¾¤¶±¥d©Ò»Ýªº¸ê·½¡B¦³þ¨Ç¥i¥H¿ïªº interrupt
µ¥µ¥¡C©Ò¦³¥d³£·|³Q±½´y¤@¦¸¡A¨Ó¦¬¶°³o¨Ç¸ê®Æ¡C
³o¨Ç¸ê°T±µµÛ©MµwºÐ¤Wªº ECU ÀɮסB©Î MLB BIOS ¸Ìªº¸ê®Æµ²¦X¦b¤@
°_¡A³q±`¬Oºî¦X ECU ©M MLB ¸Ìªº BIOS PnP ¸ê®Æ¡A³o¨Ç¶gÃä¨Ã¤£¤ä´©¯u
¥¿ªº PnP¡AµM¦Ó°»´úµ{¦¡¦bÀˬd BIOS ©M ECU ¸ê®Æ«á¡A¥¦¥i¥HÁקK PnP
¶gÃä©M¨º¨Ç°»´ú¤£¨ìªº¬Û½Ä¬ð¡C
±µµÛ¦A«×«ô³X³o¨Ç PnP ¶gÃä¡A³o¦¸·|§â¥i¥Îªº I/O¡BDMA¡BIRQ ©M°O
¾ÐÅé¬M®gªº¦ì§}³£«ü©wµ¹¥¦Ì¡C³o¨Ç¶gÃä´N·|¥X²{¦b©Ò«ü©wªº¦a¤è¡Aª½¨ì
¤U¤@¦¸«·s¶}¾÷¬°¤î¡A¤£¹L¤]¨S¦³¤H»¡¤£¯à§â¥¦ÌÀH®É²¾¨Ó²¾¥h¡C
¤W±¦³¬Û·í¦hªºÂ²¤Æ¡A¦ý§AÀ³¸Ó¤w¸g¤F¸Ñ¤jPªº¹Lµ{¡C
Microsoft §âªí¥Ü¦Lªí¾÷ª¬ºAªº´XÓ¥Dn port ®³¨Ó§@ PnP¡A¥L̪º
ÅÞ¿è¬O¨S¦³¤@±i¥d·|¦b³o¨Ç¦a¤è¸Ñ½X§@¬Û¤Ïªº I/O cycles¡C¦ý¬O§Ú§ä¨ì
¤@´Ú¦´Á¤´¦bµû¦ô PnP ´£®×®Éªº IBM ì¼t printer board¡A¥¦ªº½T¥h¸Ñ
¹ï³o¨Çª¬ºA port ªº¼g¤J¸ê®Æ¡A¦ý¬O MS ``»¡¤F´Nºâ''¡C©Ò¥H¥¦Ìªº½T¦³
¹ï¦Lªí¾÷ª¬ºA port ¼g¤J¡AÁÙ¦³Åª¨ú¸Ó¦ì§} + 0x800¡B©M¥t¤@Ó¦b
0x200 ¤Î 0x3ff ¤§¶¡ªº port¡C
FreeBSD ¬O§_¦³¤ä´© x86 ¥H¥~ªº¾÷¾¹¬[ºc¡H
¦³´X¸s¤H¤h¤w¸gªí¥Ü¹ïµo®i¦h¥¥x FreeBSD ªº¿³½ì¡A¨ä¤¤
FreeBSD/AXP (ALPHA) §Y¬O¨ä¤¤¬Û·í¦¨¥\ªº¨Ò¤l¡A¥i¥H¦b ftp://ftp.FreeBSD.org/pub/FreeBSD/alpha ³o¸Ì¨ú±o¥¦ªº
3.0 SNAPshot ª©¥»¡CALPHA ª©ªº FreeBSD ¦b¶V¨Ó¶V¦hªº ALPHA ¾÷¾¹¤W
¨Ï¥Î¡A¨ä¤¤¥]¬A¤F AlphaStation¡BAXPpci¡BPC164¡BMiata ©M Multia
³o´XºØ¡Cnµ¥¨ì¨t²Î¦w¸Ë¤u¨ã§¹¥þ¡B¯à¥Î¥úºÐ¦w¸Ë¡B¥H¤Î¦³¨¬°÷¯à¥Îªº
port/package ¤§«á¡A§Ṳ́~¥´ºâ§â¥¦·í§@§¹¾ãªºª©¥»¡A©Ò¥H²{¦bÀ³¸Ó§â
FreeBSD/AXP ·í§@ BETA «~½èªº³nÅé¡CYn¬ÛÃöª¬ªpªº®ø®§¡A½Ð¥[¤J
freebsd-alpha@FreeBSD.org mailing list¡C
¤]¦³¤Hªí¥Ü¹L±N FreeBSD SPARC ª©¥»ªº¿³½ì¡A¦pªG§A·Q°Ñ¥[³oÓpµe¡A
½Ð¥[¤J freebsd-sparc@FreeBSD.org mailing list¡C¦pªG·Qnª¾¹DÃö©ó
·s¥¥xªº°Q½×¡A½Ð¥[¤J freebsd-platforms@FreeBSD.org
mailing list ¡C
§Úèè¼g¤F¬YÓ³]³ÆªºÅX°Êµ{¦¡¡A¯à¤£¯àµ¹¥¦¤@Ó major number¡H
³on¬Ý§A¬O§_¥´ºâ±N³oÓÅX°Êµ{¦¡¤½¶}¨Ï¥Î¡A¦pªG¬Oªº¸Ü¡A½Ð§â¥¦ªºì©l
½X°e¤@¥÷µ¹§ÚÌ¡AÁÙ¦³ files.i386 ק諸³¡¥÷¡Bkernel ³]©w
Àɼ˥»¡B¥H¤Î¥Î¨Ó²£¥Í³]³ÆÀɪº MAKEDEV¡C
¦pªG§A¤£¥´ºâ¡B©Î¦]¬°ª©Åv°ÝÃD¦Ó¤£¯à¤½¶}ªº¸Ü¡A§Ú̦³¯S¦a«O¯d
character major number 32 ©M block major number 8 µ¹³o¤è±ªº¨Ï¥Î¡A
ª½±µ¥Î³o¨âÓ´N¦n¤F¡C¤£½×¦p¦ó¡A§Ú̳£·|«Ü·P¿E§A¯à¦b
freebsd-hackers@FreeBSD.org µoªíÅX°Êµ{¦¡ªº®ø®§¡C
Ãö©ó©ñ¸m¥Ø¿ý©MÀÉ®× inode §@ªk¤Wªº¬Û²§
¦b¦^µª¦³Ãö¥Ø¿ý©ñ¸m¤è¦¡¤£¦Pªº°ÝÃD¤W¡A§Ú¦b 1983 ¦~¼g¦n¥Ø«eªº§@ªk
«á´N¨S¦³¦A§ïÅܹL¡A³oºØ¤è¦¡¬O°w¹ïì¥ýªº FFS Àɮרt²Î¡A«á¨Ó¤]¨S
¦³¹ï¥¦§@¥ô¦ó§ó°Ê¡C¥¦¦bÁקK cylinder group ³Q¶ñº¡³o¤è±°µ±o¬Û·í
¦¨¥\¡A¦ý¬O´N¹³¦³¨Ç¤H¤w¸gª`·N¨ì¡A¥¦©M `find' ´N°t¦X±o¤£¤j¦n¡C¤j
³¡¥÷ªºÀɮרt²Î¬O¥Ñ¨º¨Ç¥Î depth first search(aka ftw) ²£¥Íªº
archive »s³y¥X¨Ó¡A¸Ñ¥X¨Óªº¥Ø¿ý inode ·|¾î¸ó¦n´XÓ cylinder
group¡A¦pªG¥H«án°µ depth first search ªº¸Ü¡A³o¬O³ÌÁV¿|ªº±¡ªp¤§
¤@¡C¦pªG§Ú̪¾¹DÁ`¦@·|²£¥Í¦h¤Ö¥Ø¿ýªº¸Ü¡A¸Ñªk¬O¦b°µ¥ô¦ó¦s¨ú/¼g
¤J°Ê§@¤§«e¡A¦b¨CÓ cylinder group ¤W¥ý³y¥X(©Ò¦³¥Ø¿ý¼Æ/cylinder
greoup ªº¼Æ¥Ø)³o»ò¦hªº¥Ø¿ý¡C«Ü©úÅ㪺¡A§ÚÌ¥²¶·n¦³®Ú¾Ú¦a¥h²q³o
ӼƦr¡A´Nºâ¤@Ó¹³ 10 ªº«Ü¤p©T©w¼Æ¥Ø¤]·|¨Ï®Ä²v¥H¯Å¼Æ¦¨ªø¡C°Ï¤À
restore (§Y¸Ñ¶}¤Wzªº archive) ©M¤@¯ëÀÉ®×¾Þ§@ªº¤èªk¥i¥H¬O(²{¦b
¥Îªººtºâªk¥i¯àn§ó±Ó·P)¡G¦pªG¤@¨Ç¥Ø¿ý(³Ì¦h 10 Ó)³£¦b 10 ¬í¤º²£
¥Íªº¸Ü¡A¨º»ò´N§â³o¨Ç¥Ø¿ý»E¶°¦b¦P¤@Ó cylinder group¡C¤£ºÞ«ç¼Ë¡A
§Úªº¸gÅç«ü¥X³o¬O¤@Ó¤w¸g¥R¥÷¹êÅç¹Lªº³¡¥÷¡C
Kirk McKusick, September 1998
¦p¦ó±q kernel panic ±o¨ì³Ì¦h¸ê°T¡H
[³o¸`¬O±q Bill Paul
¦b freebsd-current mailing list ¤Wµoªí
ªº«H¤¤¸`¿ý¡ADag-Erling Coïdan Smørgrav ×¥¿¤F¥´¦r¿ù»~¡B¦A
¥[¤W¬A©·¸Ìªºª`¸Ñ¡C]
From: Bill Paul <wpaul@skynet.ctr.columbia.edu>
Subject: Re: the fs fun never stops
To: ben@rosengart.com
Date: Sun, 20 Sep 1998 15:22:50 -0400 (EDT)
Cc: current@FreeBSD.org
[<ben@rosengart.com> µoªí¤F¤U±ªº panic °T®§]
> Fatal trap 12: page fault while in kernel mode
> fault virtual address = 0x40
> fault code = supervisor read, page not present
> instruction pointer = 0x8:0xf014a7e5
^^^^^^^^^^
> stack pointer = 0x10:0xf4ed6f24
> frame pointer = 0x10:0xf4ed6f28
> code segment = base 0x0, limit 0xfffff, type 0x1b
> = DPL 0, pres 1, def32 1, gran 1
> processor eflags = interrupt enabled, resume, IOPL = 0
> current process = 80 (mount)
> interrupt mask =
> trap number = 12
> panic: page fault
·í§A¬Ý¨ì¹³³o¼Ëªº°T®§®É¡A¥u§â¥¦«þ¤@¥÷°e¤W¨Ó¬O¤£°÷ªº¡C§Ú¦b¤W
±¯S¦a¼Ð©úªº instruction pointer Ȭ۷í«n¡A¤£©¯ªº¬O¥¦·|¦]³]
©w¦Ó¤£¦P¡C´«¥y¸Ü»¡¡A³oÓÈ·|¸ò§A¥Îªº kernel image ÀɦÓÅÜ°Ê¡C¦p
ªG¬O¥Î¬YÓ snapshot ª©¥»ªº GENERIC kernel¡A¤]³\¨ä¥L¤H¥i¥H°lÂÜ
¨ì¥X°ÝÃDªº¨ç¦¡¡A¦ý¦pªG§A¬O¥Î¦Ûqªº kernel¡A¨º»ò¥u¦³§A¤~¯à
§i¶D§ÚÌ°ÝÃD¥X¦b¨º¸Ì¡C
n°µªº¨Æ¥]¬A³o¨Ç¡G
§â instruction pointer ªºÈ°O¤U¨Ó¡Cª`·N¦b«e±ªº 0x8:
¦b³oÓ±¡ªp¤¤¨Ã¤£«n¡A§ÚÌnªº¬O 0xf0xxxxxx¡C
·í¨t²Î«·s¶}¾÷«á¡A°õ¦æ³o¹D©R¥O¡G
% nm /(³y¦¨ panic ªº kernel ÀÉ®×) | grep f0xxxxxx
¨ä¤¤ f0xxxxxx ´N¬O°O¤U¨Óªº instruction pointer È¡C¦³¥i¯à
¤£·|è¦n§ä¨ì§¹¾ãªº³oÓ¦r¦ê¡A³o¬O¦]¬° kernel symbol table ¸Ìªº¦U
Ó symbol ¥u¬O¨ç¦¡ªº¶i¤JÂI¡A¦ý instruction pointer ©Ò«üªº¦ì§}¦³
¥i¯à¬O¦b¨ç¦¡¤ºªº¬Y¤@³B¡A¦Ó¤£¤@©w¦b¶}ÀY¡C©Ò¥H¦pªG§ä¤£¨ì¾ãÓ¦r¦ê¡A
¨º»ò§â instruction pointer Ȫº³Ì«á¤@ӼƦr®³±¼¡A¦A¸Õ¤@¦¸¡G
% nm /kernel.that.caused.the.panic | grep f0xxxxx
¦pªG³o¼Ë¤]§ä¤£¨ì¡A¨º´N§â¥t¤@ӼƦr¥h±¼¦A§ä¡A¤@ª½«½Æ¨ì§ä¨ì¬°¤î¡A
µ²ªG¬O¤@¦ê¥i¯à³y¦¨ panic ªº¨ç¦¡¦Cªí¡C³o¼Ë¤ñª½±µ§ä¨ì¥X°ÝÃDªº¨ç¦¡
¨Ó±o®t¡A¦ý¦Ü¤Ö¦n¹L¤°»ò³£¨S¦³¡C
§Ú±`±`¬Ý¨ì¤HÌÅã¥Ü¤@¤j¤ù panic °T®§¡A¦ý«Ü¤Ö¬Ý¨ì¦³¤Hªá¤@ÂI®É¶¡
§â instruction pointer ©M kernel symbol table ¤¤ªº¨ç¦¡¤ñ¸û¤@¤U¡C
n°lÂÜ¥X³y¦¨ panic ì¦]ªº³Ì¦n¤èªk¬O¥ý°µ¥X crash dump¡AµM«á¥Î
gdb(1) ¦b¤W±°µ stack trace¡C·íµM¡A³on¾a -current ¤¤ªº
gdb(1) ¯à¹B§@¥¿±`¡AµM¦Ó§ÚµLªk«OÃÒ³o¤@ÂI¡C(°O±o¦³¤H»¡ ELF ªº
gdb(1) ¦b kernel ªº crash dump ¤W¤£¯à¥¿±`¾Þ§@¡A¦b 3.0 ²æÂ÷
BETA ¶¥¬q®É³Ì¦n¦³¤H¥ýÀˬd³o¤è±ªºª¬ªp¡A§K±o«Ü¦h¤H¦b¦¬¨ì 3.0 ¥úºÐ
«áµÈ¬õ¤FÁy¡C)
¤£ºÞ¬O¨º¤@ºØ¡A§Ú³q±`¬O¥Î³oÓ¤èªk¡G
¼g¦n kernel ³]©wÀÉ¡C¦pªG§A»Ýn¥Î kernel debugger¡A¦b³]©w
Àɤ¤¥[¤W `options DDB' ³oӿﶵ¡C(·í§ÚÃhºÃ¦³¥X²{µL½a°j°é®É¡A³q
±`·|¥Î³oÓ¨Ó³]©w¤¤Â_ÂI¡C)
¥Î config -g KERNELCONFIG °µ¥X¥Î¨Ó½sĶªº¥Ø¿ý
cd /sys/compile/KERNELCONFIG; make
µ¥ kernel ½sĶ¥X¨Ó
cp kernel kernel.debug
strip -d kernel
mv kernel /kernel.orig/
cp kernel /
«·s¶}¾÷
[ª`·N¡G²{¦b FreeBSD 3.x kernel ¤º©w¬O ELF ®æ¦¡¡A©Ò¥HÀ³¸Ó
¥Î strip -g ¦Ó¤£¬O strip -d¡C¦pªG§Aªº kernel ¦]¬YºØì
¦]¤´¬O a.out ®æ¦¡ªº¸Ü¡A«h¥Î strip -aout -d¡C]
ª`·N§A¤£·|¯uªº¥Î¥]¬A©Ò¦³ debug symbol ªº kernel ¨Ó¶}¾÷¡A
¥Î ½sĶ¥X¨Óªº kernel ¤j¤p«Ü®e©ö´N¶W¹L 10MB¡C¤£»Ýn¥Î³o»ò
¤jªº kernel ¶}¾÷¡A±ß¤@ÂI gdb(1) ¤~·|»Ýn¥¦(gdb(1) ·|¥Î
¨ì¸Ì±ªº symbol table)¡C©Ò¥H§Ṳ́~·|§â§¹¾ãªº kernel ½Æ»s¤@¥÷¡A±µ
µÛ¥Î strip -d §R±¼ debug symbol¡A°µ¥X²Ä¤GÓ kernel¡A³oÓ¤~¯u
¥¿®³¨Ó¶}¾÷¡C
n½T©w¯à§ì¨ì crash dump¡A¥ý½s¿è /etc/rc.conf¡A±N
dumpdev «ü¨ì swap ¤À³Î°Ï¡C³o¼Ë rc(8) ·|¥Î dumpon(8)
¨Ó±Ò°Ê crash dump¡A§A¤]¥i¥H¤â°Ê¥Î dumpon(8)¡C¦b panic ¤§«á¡A
crash dump ¥i¥H¥Î savecore(8) ¦s°_¨Ó¡F¦pªG /etc/rc.conf
¸Ì¦³³] dumpdev¡A¨º»ò«·s¶}¾÷«á rc(8) ·|¦Û°Ê°õ¦æ
savecore(8) §â crash dump ¦s¦b /var/crash¡C
ª`·N¡GFreeBSD ªº crash dump ³q±`©M¾÷¾¹¸Ìªº¹ê»Ú°O¾ÐÅé¤@¼Ë¤j¡A
´N¹³¦pªG¦³ 64MB °O¾ÐÅé¡Acrash dump ¤j¤p´N¬O 64MB¡C©Ò¥Hn½T©w
/var/crash ¤U¦³¨¬°÷ªºªÅ¶¡¡A©Î¬O¥i¥H¤â°Ê°õ¦æ savecore(8)
§â crash dump ©ñ¨ì¥t¤@ӪŶ¡¸û°÷ªº¥Ø¿ý¤U¡C¥t¤@ºØ¤]³\¥i¥H¨î crash
dump ªº¤èªk¡A¬O¦b kernel ³]©wÀɤ¤¥Î options MAXMEM=(foo)¡A
±N kernel ¥i¥Îªº°O¾ÐÅé¨î¦b¦X²zªº¤j¤p¡CÁ|¨Ò¨Ó»¡¡A¦pªG§A¦³ 128MB
ªº°O¾ÐÅé¡A¦ý¬O¥i¥H¨î kernel ¥u¯à¥Î 16MB ªº°O¾ÐÅé¡A³o¼Ë crash
dump ´N¬O 16MB ¦Ó¤£¬O 128MB ¤F¡C
¤@¥¹µo²{¦³¤F crash dump¡A´N¥i¥H¥Î gdb(1) ¨Ó°µ stack trace
¡A¦p¤U©Ò¥Ü¡G
% gdb -k /sys/compile/KERNELCONFIG/kernel.debug /var/crash/vmcore.0
(gdb) where
nª`·N¥i¯à·|¥X²{¦n´Xӿùõªº¥i¥Î¸ê°T¡A§A¥i¥H¥Î script(1)
§â©Ò¦³¿é¥X³£¦s°_¨Ó¡C¥Î¥]¬A©Ò¦³ debug symbol ªº kernel ¨Ó°£¿ù¡A
³o¼ËÀ³¸Ó¥i¥Hª½±µÅã¥Ü panic ¬Oµo¥Í¦b¨º¤@¦æ¡C³q±`¬O¥Ñ¤U©¹¤WŪ stack
strace¡A³o¼Ë¤~¯à¤@ÓÓ°lÂÜ¥X¦³þ¨Ç°Ê§@¤Þ¨ì crash¡C¤]¥i¥H¥Î
gdb(1) §â¦UºØÅܼƩε²ºcªº¤º®e¦L¥X¨Ó¡A¥HÀˬd¨t²Î crash ®Éªº
¹ê»Úª¬ºA¡C
¦n°Õ¡A¦pªG§A¦³²Ä¤G¥x¹q¸£¦Ó¥B¦³°÷ºÆ¨g¡A¥i¥H±N gdb(1) ³]©w
¦¨»·ºÝ°£¿ù¡C³o¼Ë§A¥i¥H¦b¤@¥x¾÷¾¹¤¤¥Î gdb(1) ¥h°£¿ù¥t¤@¥x¸Ìªº
kernel¡A¥i¥H°õ¦æªº¥]¬A³]©w¤¤Â_ÂI¡B¦b kernel ì©l½X¤¤¤@¨B¨B°õ¦æµ¥
µ¥¡A´N¹³¦b¤@¯ë¨Ï¥ÎªÌµ{¦¡¤W°£¿ù¤@¼Ë¡C¥Ñ©ó¨S¦³¤°»ò¾÷·|¬°°£¿ù¦Ó³]¸m
¨â¥x¨Ã¾F¹q¸£¡A©Ò¥H§ÚÁÙ¨S¦³³o¼Ëª±¹L¡C
[Bill ªþª`¡G§Ú§Ñ¤F´£¨ì¤@ÂI¡G¦pªG§A¦³±Ò°Ê DDB ¦Ó kernel ¤]
¤w¸g¶i¤J°£¿ù¾¹¡A¥i¥H¦b DDB ©R¥O¦C¤U¥´ `panic'¡A±j¢²£¥Í panic(ÁÙ
¦³ crash dump)¡C¤]¦³¥i¯à¦b panic ¶¥¬q®É¦A¶i¤J°£¿ù¾¹¡A¦pªG³o¼Ëªº¸Ü
¡A¿é¤J `continue'¡A±µµÛ¥¦´N·|§¹¦¨ crash dump¡C -ed]
dlsym() ¹ï ELF °õ¦æÀɤ£¯à¥Î!
¦b ELF ¤@¨t¦Cªº¤u¨ã¤¤¡A¤º©w¬O¤£·|Åý dynamic linker ¬Ý¨ì°õ¦æÀÉ
¸Ì©w¸q¤Fþ¨Ç symbol¡C©Ò¥H dlsym() ¨S¦³¿ìªk¥ÎÂǥѩI¥s
dlopen(NULL, flags) ¨ú±oªº handle¡A¥Î¥¦¥h·j´M¦³¨º¨Ç
symbol ¤@©w·|¥¢±Ñ¡C
¦pªG§A·Qn¥Î dlsym() §ä¥X¬YÓ process ªº¥D°õ¦æÀɤ¤
¦³þ¨Ç symbol¡A«hn¦b link ®É¹ï
ELF linker ¥[¤W ³oӰѼơC
¼W¥[©Î´î¤Ö kernel ¯à©w§}ªºªÅ¶¡
¨t²Îªº¤º©w¬O¡AFreeBSD 3.x kernel ¯à©w§}¨ì 256 MB¡A4.x «h¬O
1 GB¡C¦pªG¬Oºô¸ôt²ü¬Û·í«ªº¦øªA¾¹(´N¹³¤j«¬ FTP ©Î HTTP ¦øªA¾¹)¡A
256 MB ¥i¯à·|¤£¤j°÷¡C
n«ç»ò¼W¥[©w§}ªÅ¶¡©O? n±q¨â¤è±µÛ¤â¡Cº¥ý§i¶D kernel ¥»¨n
«O¯d¸û¤jªÅ¶¡; ¨ä¦¸¡A¬JµM¬O¦b©w§}ªÅ¶¡ªº³Ì¤W±¸ü¤J kernel¡A©Ò¥HÁÙ
n½Õ§C¸ü¤Jªº¦ì§}¡A§_«h´N·|¶W¹L©w§}½d³ò¡C
¼W¥[ src/sys/i386/include/pmap.h ¸Ìªº NKPDE È
«K¥i¹F¦¨²Ä¤@ӥؼСC1 GB ªº©w§}ªÅ¶¡·|¹³³o¼Ë¡G
#ifndef NKPDE
#ifdef SMP
#define NKPDE 254 /* addressable number of page tables/pde's */
#else
#define NKPDE 255 /* addressable number of page tables/pde's */
#endif /* SMP */
#endif
nºâ¥X NKPDE ªº¥¿½TÈ¡A±N·QnªºªÅ¶¡¤j¤p(¥H megabyte ¬°³æ
¦ì)°£¥H 4¡A±µµÛ³æ CPU ¾÷¾¹´î 1¡AÂù CPU «h¬O´î 2¡C
n¸Ñ¨M²Ä¤GÓ°ÝÃD¡A¥²¶·¦Û¦æºâ¥X kernel ³Q¸ü¤Jªº¦ì§}¡G¨D¥X
0x100100000 ´î±¼©w§}ªÅ¶¡¤j¤pªºÈ(¥H byte ¬°³æ¦ì)¡A¦p 1 GB ¤j¤p´N
¬O 0xc0100000¡C§â src/sys/i386/conf/Makefile.i386 ¸Ìªº
LOAD_ADDRESS ³]¦¨³oÓÈ¡A±µµÛ¦b
src/sys/i386/conf/kernel.script ¤¤¡A±N section ¦Cªí³Ì«e±ªº
location counter ³]¦¨¬Û¦PªºÈ¡A¦p¤U¡G
OUTPUT_FORMAT("elf32-i386", "elf32-i386", "elf32-i386")
OUTPUT_ARCH(i386)
ENTRY(btext)
SEARCH_DIR(/usr/lib); SEARCH_DIR(/usr/obj/elf/home/src/tmp/usr/i386-unknown-freebsdelf/lib);
SECTIONS
{
/* Read-only sections, merged into text segment: */
. = 0xc0100000 + SIZEOF_HEADERS;
.interp : { *(.interp) }
µM«á«·s config ©M°µ¥X·sªº kernel¡C¦b°õ¦æ¹³ ps(1)¡B
top(1) ³oÃþµ{¦¡®É¥i¯à·|¸I¨ì°ÝÃD¡A°µ¤@¦¸ make world
À³¸Ó´N¥i¥H¸Ñ¨M(©Î§â§ï¹Lªº pmap.h «þ¨ì /usr/include/vm/
¤U¡A¦A¤â°Ê½sĶ libkvm¡Bps ©M top)¡C
ª`·N¡Gkernel ©Ò¯à©w§}ªºªÅ¶¡¤j¤p¥²¶·¬O 4 megabytes ªº¿¼Æ¡C
[David Greenman ¥[¤W
³o¤@¬q¡G§Ú»{¬° kernel ©w§}ªÅ¶¡¤j¤pÀ³¸Ó¬O 2 ªº¼¾¡A¦ý¤£¤j½T
©w³o¤@ÂI¡Cªº±Ò°Êµ{¦¡·|°Ê¨ì high order address bits¡A°O±o¥¦°²³]
¦Ü¤Ö¦³ 256 MB¡C]
·PÁÂ
°²¦p±z¦b³o¥÷ FAQ ¤¤§ä¨ì¿ù»~ªº¦a¤è¡A©Î¬O±z·Q¼W¥[¨Ç¬Æ»ò¡A
½Ð¼g«Ê«H¨ì <FAQ@FreeBSD.org>¡C§ÚÌ«D±`·PÁ±zªº«Øij¡A
¦]¬°±zªº«ØijÅý³o¥÷¤å¥óÅܱo§ó¦n¡I
FreeBSD Core Team
Jordan Hubbard
¤£°±ªº§ó·s¹L®Éªº FAQ
Doug White
¸g±`¦b freebsd-questions ¤W¦^µª°ÝÃD
Joerg Wunsch
¸g±`¦b Usenet ¤W¦^µª°ÝÃD
Garrett Wollman
Networking and formatting
Jim Lowe
Multicast information
Peter da Silva
FreeBSD FAQ ³o¥÷¤å¥óªº¥´¦rW¤u
The FreeBSD Team
Kvetching¡Amoaning¡Asubmitting data
¹ï©ó¨º¨Ç´¿¸g¹ï³o¥÷ FAQ ´£¨ÑÀ°§U¡A¦Ó§Ų́S´£¨ìªº¤HÌ¡A§Ú̥ѰJªº·PÁ±z¡I