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¥÷¤å¥ó¥D­n²[»\¤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 ¤§¤¤ (·íµM­n²Å¦X´X­Ó¥ý¨M±ø¥ó)¡C ¦pªGŪªÌ±zªº¥À»y¤£¬O­^»yªº¸Ü¡A±z­n¯S§Oª`·N³o¸Ìªº``free''¨âºØ¥Îªkªº ·N«ä¬O¤£¤@¼Ëªº¡G¤@ºØªº·N«ä¬O``§K¶O''¡A¥t¤@ºØªº·N«ä¬O``¦Û¥Ñ''¡C±z¥i¥H®³ FreeBSD ¥h°µ¥ô¦ó±z·Q­n°µªº¨Æ¡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 ªº¥D­n¶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·Q­n±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·|¦¨¬°¥D­n ªºµ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 (©Î·Q­n) ¨ë¿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´N­nªº¸Ü¡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³¡¥÷¥D­nªº 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ªºµh­W¡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¬O­pµe¨º¬O¦A¦n¤£¹Lªº¤F)¡C³o­Ó mailing list ¬O¥Î¨Ó°Q½× FreeBSD ¤å¥óªº¡C¦pªG±z·Q­nµ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¥ó¨Ó¦^³ø¿ù»~©Î¬O­n¨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 §Ú·Q­n½Ķ¤å¥ó ¶â¡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¥u­n¬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¦³´y­z¡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§A­n°õ¦æ 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¤@­Ó¦³Ãa­y(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¥u­n¦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 ¥u­n§âºÏºÐ³]©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¥u­n½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¤@­¶©Ò´y­z°ÝÃ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¸Ì²³æ´y­z¹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¥D­n¬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¡A­n¥Î¦Û°Ê¯}¸Ñ±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§A­n¸Ë 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¥u­n§âºÏºÐ¥Î¹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«ü©w­n¸ü¤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¦Ó·Q­n¥Î ·Æ¹««ü¼Ð¨Ó°Å¶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·Q­n¦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·Q­n¦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¦ý·í§A­n¥Îªº®É­Ô¡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ªG­n¼È®É¸Ñ¨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ºÐ¦³Ãa­y! ­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¥ô¦óªºÃa­y³q±`³£¬O³Â·Ðªº¹w¥ü¡C¥Ø«e©Ò¦³¸û·sªº IDE µw ºÐ¡A¤º³¡³£¦³¦Û°Ê remapping Ãa­yªº¯à¤O¡C¥Ø«e©Ò¦³ IDE µwºÐ»s³y°Ó¡A³£´£¨Ñ ¤F§ó¤[ªº«OÃÒ¡A¦Ó¥B·|À°±z§ó´«¥X²{Ãa­yªºµwºÐ¡C ¦pªG±z¤´·Q­n­×´_²£¥ÍÃa­yªº 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ºÐªºÃa­y¡A¨Ã±N¥¦­Ì¼Ð¥Ü¥X¨Ó. ¹ï ESDI¡ARLL ¤Î MFM ªºµwºÐ¨Ó»¡¡A³q±`Ãa­y¬O¥¿±`²{¶H¡A¤]¤£¬O¤°»ò³Â·Ðªº «e¥ü¡C¦b PC ¤W¡AºÏºÐ±±¨î¥d©M BIOS ­t³d¼Ð¥ÜÃa­yªº¥ô°È¡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©Ò¦³§ä¨ìªºÃa­y¸ê®Æ¦s¨ì¤@­Ó¯S§OªºÀÉ®×ùØ¡C ¨Ï¥Î bad144 ªºÄµ§i - ¦sµÛÃa­y¸ê®Æªº¯S§OÀɮ׬O©ñ¦bµwºÐªº³Ì«á¤@­y ¤W¡C¦]¬°³o­ÓÀÉ®×Àx¦sªºÃa­y¸ê®Æ¤¤¡A¦³¥i¯à¦³¨Ç¸ê®Æ¬O«ü¦VµwºÐ³Ì«eºÝ©Òµo¥Í ªºÃa­y±¡§Î¡A´N¬O¥i¯àÀx¦s /kernel ³o­ÓÀɪº¦a¤è¡A©Ò¥H¥¦¤@©w­n¯à³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¥u­n¦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 ¤@©w­n¦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¥´¶}Ãa­y±½ºË¡C¦b¯u¥¿ªº¦w¸Ë¹Lµ{¤¤¡Abad144 ·|¦b¥ô¦óÀɮרt²Î³Q «Ø¥ß«e¥ý³Q°õ¦æ¡C(±z¥i¥H«ö Alt-F2 ¨ÓºÊ¬Ý³o¤@¤Á)¦pªG¦b«Ø¥ßÃa­y¸ê®ÆÀɮɵ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¤@ª½¬Ý¨ìÃa­y²£¥Í¡A¨º»ò¦Ò¼{ ´«¤@¥xµwºÐ§a¡CÃa­yªº±¡§Î¥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¦³¨â­Ó¥D­nªº¡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¸Üµ¹¥L­Ì§Þ³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«áµ¹¥L­Ì±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·Q­n¨Ï¥Î¨ì²Ä¤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 ªº±¡§Î¡C­nÀˬ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§Ú·Q­n±¾¤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·Q­n±¾¤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·Q­n¨Ï¥Î±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 ¥u­n¥[¤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¡C­Y¬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¦ý¬O­Y¦Ò¼{¨ì³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¦b­qÁÊ ®É½Ð¯S§O«ü©w¬O­n 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©Ò¥H­qÁʮɭ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µù©ú§A­nªº¬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¥H­q¾\ 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·Q­n¨Ï¥Î 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¥Î¡C­n­×¥¿³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¥D­nªº³]©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 ©ö´y­zªºÀɦ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§A­n³o¼Ë¨Ï¥Î ¥¦)¡A©Î¬O¤@­Ó·sªºµwºÐ¡A¥u­n¬O¦w¸Ë¨Ã¥Ñ¨t²Î­«²Õ¡A¦Ó§A¦³ºÏ¤ù§X /³nºÐ¤ù/©Î¨ä¥LªF¦è¥i¥H´¡¤J¡A¨º³o¨Ç¸Ë¸m³£¬OÃþ¦ü¥\¯àªºªF¦è¡C (¥»¸`¥D­n¥Ñ 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©Î¤@­Ó§A­pµ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¥u­n§â¥¦¹º¤À¦¨¾ã­Ó 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©Ò¦³¥D­n¤À³Î°Ï¤§«á³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¥D­n²Ó¸`¬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¤W­z 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¥u­n¸òÀ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¥D­n±Ò°Ê¸ê®Æ(Master Boot Record)¡C±µµÛ§A¥i¥H±q BootEasy ±Ò°Ê LILO¡C °²¦p§A¥¿¦b¥Î Windows-95 ©M Linux¡A³o¦³¤@­Ó«Øij¤èªk¡G­n§ó²³æ ªº±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¥H­P©ó¾ã­Ó¨t²Î¦b±Ò°Ê¤¤¾ã­Ó°±º¢¡C ¨º¬°¦ó¤S­n¦³³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 - ¬° ¤F­n¦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¸Ë®É«ç»òÁקK­n¨Ï¥Î``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§A­n¥Ñ­þ­ÓºÏºÐ ¤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ªº¥D­n±Ò°Ê°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Åý¥D­n 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¿è§A­n¸ÕµÛ³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§A­n°õ¦æ 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§A­n°µªº¥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¥u­n«ö¤U ``0''¡A±µµÛ¿é¤J§A§Æ±æ´ú¸Õªº«H¥ó¸ô®|¦ì§}¡C³Ì«á¤@¦æ§i¶D§A¨Ï ¥Î¤º³¡ªº«H¥ó¥N²zµ{¦¡¡A¥N²zµ{¦¡ªº·|³qª¾¥Øªº¥D¾÷¡A¥H¤Î(¥i¯àÂà´«ªº)¦ì§} ¡C­nÂ÷¶}¦¹¼Ò¦¡½Ð«ö 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 §A­n«ü©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¥u­n¦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¥u­n­«·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¬O­n³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©Ò´y­zªº²¾°£ 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¤´µM­n°õ¦æ³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¤ñ¤W­z¨Ó±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 §Ú·Q­n°õ¦æ 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±z­nÅý¥¦¯à°÷¥¿±`¤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¯à·|·Q­n§@¨ä¥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·Q­n¦^¨ì­ì¨Óªº¤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·Q­n¦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·Q­n°õ¦æ 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·Q­n°õ¦æ 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´N­n§ï¦¨³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¬O­n½T©w±z¦³¨¬°÷ªº virtual terminal ¸Ë¸m¡C³Ì²³æªº¤èªk´N¬O¡G # cd /dev # ./MAKEDEV vty12 # For 12 devices ¦A¹L¨Ó¡A·Q­n±Ò°Ê³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¤@©w­n§¹¥þ§â 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 ±z­n­×§ï±±¨î 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±z­nªº¹ÏÀÉ«á¡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¥Î¤W­z 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¥u­n±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''¡C­n¨Ï¥Î 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±z­n°µ¬Û¦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·Q­n³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 ¦ý¬O­n½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­Ó¿ï¶µ¡A­n¾å±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¦h­n¬Ý§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·Q­nºë½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¥Î¨Ó²£¥Í©Òªí¥Üªº¼Æ¾Ú¡C­Y·Q­n­q¥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¥u­n§â¸Óºô¸ôª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·Q­n§ó¶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§A­n¦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¥u­n§â§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³]©w­n¥Î 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ªG­nÅý±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 ºÝ¨Ó±Ò°Ê¡C­n±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¦³³¡¥÷¬O­n³s½u¨âÃä¤À§O«Ø¥ß¦Û¤vªº magic number¡A ¨Ó°»´ú¤ÎÁקK«Ê¥]³Q "¤Ï¼u" ¦^¨Óªºª¬ªp¡C¨ó©w¼Ð·Ç¤¤»¡·í¹ï¤è¸Õ¹Ï¥Î©M¦Û¤v ¬Û¦Pªº magic number ·¾³q®É¡A­n°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¬O­n 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¤@©w­n¥´¶} 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¡A­nÁק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½Ö·Q­n¸Ñ¥X¥D¾÷¦WºÙ¡A³q±`´X ¥G³£¬O¥Ñ sendmail ©Ò³y¦¨¡A©Ò¥H­n¦b sendmail ³]©wÀɤ¤«ü¥Ü¥¦¤£­n°µ¥ô¦ó DNS ¬d¸ß¡C¦b Mail ³]©w ¤@¸`¤¤¦³¸Ô²Ó»¡©ú¦p¦ó§@¥X ¦Û¤vªº³]©wÀÉ¡B¤Î¸Ì­±À³¸Ó©ñ­þ¨Ç³]©w¡A§A¤]³\·Q­n±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¤W­zªº "¥\¯à"¡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ªG­n°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·Q­n¬Ý¨ì³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ªG­n«ü©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'' ¬O­n±µ ¦¬³o¨Ç«Ê¥]ªº¾÷¾¹¡A``port'' «h¬O³o¨Ç«Ê¥]­n°e¨ì¨º­Ó°ð¡C ¦pªG­n¦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§ä¥X­n¥~­±³s ¨ì¤º³¡¾÷¾¹¬Y­Ó°ðªº«ü¥O¡AµM«á¦b alias ªí¤¤³]©w ``route''¡A¥H«á¦A¦¬¨ì ³oºØ«Ê¥]´Nª¾¹D­n©¹¨º¸Ì°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¤@³¹¥D­n¬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 ¥u­n­«·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¡C­n³]©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·Q­n§ïÅܹ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·Q­n§â ttyd5 ªº³t«×Âê©w¦b 57600 bps¡A±z­n³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±z­n¦³¤@³¡¥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¤è­±«h­n¦³¨ó °Ó¶Ç¿é³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·Q­n¦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±z­n§â§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´N­n¥Î³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¥u­n§â±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¥u­n±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¥u­n¦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±z­n¥[¤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±z­n¤@ª½¸Õªº¸Ü¡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±z­n¥ý¦b»·ºÝ±Ò°Ê¶Ç°eµ{¦¡¡CµM«á«ö enter ¦AÁä¤J ``~C rz'' (¦pªG±z¦w¸Ë lrzsz ªº¸Ü´N­n¥´ ``~C lrz'') ´N¥i¥H ¶}©l±µ¦¬¤F¡C ¦b¶Ç°eÀɮפ譱¡A±z­n¥ý¦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­º¥ý§A­nª¾¹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¥D­nªº¯ÊÂ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µh­W¦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¦Ó¶]ªº§ó§Ö¡C­n¦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­Ì·Q­n¦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©Ò¥H­nµ¥¨ìºûÅ@ 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·Q­n°µ¥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§A­n§ïÅܤ@­Ó²Å¸¹³sµ²°Ñ ¦Ò¨ìªº¥Ø¿ý¤§¦s¨úÅv­­¡A¨Ï¥Î chmod ¥B¤£­n ¥[¥ô¦ó¿ï¶µ¡A¨Ã¥B¦b symlink ªºµ²§À¥[¤W±×½u(``/'')¡CÁ|¨Ò¨Ó»¡ ¡A¦pªG ``foo'' ³sµ²¨ì ``bar''¡A¦Ó§A­n§ó§ï ``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 ¤~ºâ¤j­P­×§ï§¹¦¨¡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¡A­n¨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¤â¤W­n¦³¾ã­Ó 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ªºÀô¹Ò(©Ò¥H­n ªá¤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²{¦b­n¦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¥\¯à¡A­n§â¥¦±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µ{¦¡¦A­n«¬¸¹¤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¸Ñ¤j­Pªº¹Lµ{¡C Microsoft §âªí¥Ü¦Lªí¾÷ª¬ºAªº´X­Ó¥D­n 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ºØ¡C­nµ¥¨ì¨t²Î¦w¸Ë¤u¨ã§¹¥þ¡B¯à¥Î¥úºÐ¦w¸Ë¡B¥H¤Î¦³¨¬°÷¯à¥Îªº port/package ¤§«á¡A§Ú­Ì¤~¥´ºâ§â¥¦·í§@§¹¾ãªºª©¥»¡A©Ò¥H²{¦bÀ³¸Ó§â FreeBSD/AXP ·í§@ BETA «~½èªº³nÅé¡C­Y­n¬ÛÃöª¬ª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·Q­nª¾¹DÃö©ó ·s¥­¥xªº°Q½×¡A½Ð¥[¤J freebsd-platforms@FreeBSD.org mailing list ¡C §Ú­è­è¼g¤F¬Y­Ó³]³ÆªºÅX°Êµ{¦¡¡A¯à¤£¯àµ¹¥¦¤@­Ó major number¡H ³o­n¬Ý§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¸Ñ¶}¤W­zªº 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³o­n¾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©Ò¥H­n½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·Q­n¥Î dlsym() §ä¥X¬Y­Ó process ªº¥D°õ¦æÀɤ¤ ¦³­þ¨Ç symbol¡A«h­n¦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·Q­nªºªÅ¶¡¤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¥÷¤å¥óªº¥´¦r­W¤u The FreeBSD Team Kvetching¡Amoaning¡Asubmitting data ¹ï©ó¨º¨Ç´¿¸g¹ï³o¥÷ FAQ ´£¨ÑÀ°§U¡A¦Ó§Ú­Ì¨S´£¨ìªº¤H­Ì¡A§Ú­Ì¥Ñ°Jªº·PÁ±z¡I