diff options
author | Gabor Kovesdan <gabor@FreeBSD.org> | 2012-10-01 09:53:01 +0000 |
---|---|---|
committer | Gabor Kovesdan <gabor@FreeBSD.org> | 2012-10-01 09:53:01 +0000 |
commit | b4346b9b2dfe86a97907573086dff096850dcb1d (patch) | |
tree | 9b951977cbd22dada9b868ac83b1d56791ea3859 /zh_TW.Big5/books/faq/book.xml | |
parent | bee5d224febbeba11356aa848006a4f5f9e24b30 (diff) | |
download | doc-b4346b9b2dfe86a97907573086dff096850dcb1d.tar.gz doc-b4346b9b2dfe86a97907573086dff096850dcb1d.zip |
- Rename .sgml files to .xml
- Reflect the rename in referencing files
Approved by: doceng (implicit)
Notes
Notes:
svn path=/head/; revision=39631
Diffstat (limited to 'zh_TW.Big5/books/faq/book.xml')
-rw-r--r-- | zh_TW.Big5/books/faq/book.xml | 11878 |
1 files changed, 11878 insertions, 0 deletions
diff --git a/zh_TW.Big5/books/faq/book.xml b/zh_TW.Big5/books/faq/book.xml new file mode 100644 index 0000000000..7d5c12af8e --- /dev/null +++ b/zh_TW.Big5/books/faq/book.xml @@ -0,0 +1,11878 @@ +<?xml version="1.0" encoding="big5" standalone="no"?> +<!DOCTYPE book PUBLIC "-//FreeBSD//DTD DocBook XML V4.2-Based Extension//EN" + "../../../share/sgml/freebsd42.dtd" [ +<!ENTITY % entities PUBLIC "-//FreeBSD//ENTITIES DocBook FreeBSD Entity Set//TW" "../../share/sgml/entities.ent"> +%entities; +<!ENTITY bibliography SYSTEM "../../../share/sgml/bibliography.xml"> +]> + +<!-- The FreeBSD Traditional Chinese Documentation Project --> +<!-- Original Revision: 1.772 --> + +<book lang='zh_tw'> + <bookinfo> + <title>FreeBSD 5.X¡B6.X ±`¨£°Ýµª¶°</title> + + <corpauthor>FreeBSD ¤å¥ópµe</corpauthor> + + <copyright> + <year>1995</year> + <year>1996</year> + <year>1997</year> + <year>1998</year> + <year>1999</year> + <year>2000</year> + <year>2001</year> + <year>2002</year> + <year>2003</year> + <year>2004</year> + <year>2005</year> + <year>2006</year> + <year>2007</year> + <year>2008</year> + <holder>FreeBSD ¤å¥ópµe</holder> + </copyright> + + &legalnotice; + + <legalnotice id="trademarks" role="trademarks"> + &tm-attrib.freebsd; + &tm-attrib.3com; + &tm-attrib.adobe; + &tm-attrib.creative; + &tm-attrib.cvsup; + &tm-attrib.ibm; + &tm-attrib.ieee; + &tm-attrib.intel; + &tm-attrib.iomega; + &tm-attrib.linux; + &tm-attrib.microsoft; + &tm-attrib.mips; + &tm-attrib.netscape; + &tm-attrib.opengroup; + &tm-attrib.oracle; + &tm-attrib.sgi; + &tm-attrib.sparc; + &tm-attrib.sun; + &tm-attrib.usrobotics; + &tm-attrib.xfree86; + &tm-attrib.general; + </legalnotice> + + <releaseinfo>$FreeBSD$</releaseinfo> + + <abstract> + <para>³o¥÷¤å¥ó¬O FreeBSD 5.X ¤Î 6.X ªº±`¨£°Ýµª¶°¡C + °£«D¦³¯S§O¥[µù¡A§_«h³o¨Ç¶µ¥Ø³£¾A¥Î©ó FreeBSD 5.0 ¤Î¥H«áªºª©¥»¡C + (¦pªG±ø¥Ø¤º®e¤¤¦³ <XXX> «h¬O©|¥¼§¹¦¨¤¤Ä¶ªº³¡¥÷¡C) + ¦pªG±z¹ï¨ó§U¥»¤å¥ó/½Ķpµeªº¶i¦æ¦³¿³½ìªº¸Ü¡A½Ð±H e-mail ¨ì + &a.doc;¡C¦¹¥~¡AÀH®É¥i±q <ulink + url="http://www.FreeBSD.org/doc/en_US.ISO8859-1/books/faq/index.html"> + FreeBSD ºô¯¸</ulink> ®³¨ì³o¥÷¤å¥óªº³Ì·sª©¥»¡C + ¤]¥i¥H§Q¥Î HTTP ¨Ó¤U¸ü¤@¥÷Ãe¤jªº <ulink url="book.html">HTML</ulink> + ¤å¥ó¡A©Î¬O¸g¥Ñ <ulink url="ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/"> + FreeBSD FTP ¯¸</ulink> ¤U¸ü¯Â¤å¦r¡B&postscript;¡B©Î PDF ª©¥»ªºÀɮסC + ±z¤]¥i¥H¦b³o¸Ì¨Ï¥Î <ulink + url="&url.base;/search/search.html">·j´M¸ê®Æ</ulink> ªº¥\¯à¡C</para> + </abstract> + </bookinfo> + + <chapter id="introduction"> + <chapterinfo> + <author> + <firstname>Ying-Chieh</firstname> + <surname>Liao</surname> + <affiliation> + <address><email>ijliao@FreeBSD.org</email></address> + </affiliation> + </author> + </chapterinfo> + + <title>«e¨¥¡B¤@¯ë°ÝÃD</title> + + <para>Åwªï¨Ï¥Î FreeBSD 4.X-6.X FAQ!</para> + + <para>¸ò¨ä¥L Usenet ¤Wªº FAQ ¤@¼Ë¡A³o¥÷¤å¥ó²[»\¤F¦³Ãö FreeBSD + ³o®M§@·~¨t²Î³Ì±`³Q°Ý¨ìªº°ÝÃD (·íµM¥]¬A¤F¦^µª¡I)¡C + ÁöµM»¡§ÚÌ¥»¨Óªº¥Øªº¬O¬°¤F´î¤Öºô¸ôÀW¼eªº®ö¶O¡A + ¥H¤ÎÁקK¦P¼Ëªº°ÝÃD¤@¦A¥X²{¡A¦ý¨Æ¹ê¤W FAQ + ¤w³Q¤½»{¬°¬Oȱo¾\Ūªº¤å¥ó¸ê·½¡C</para> + + <para>§Ṳ́w¸g¾¨¥i¯à¦a¨Ï³o¥÷ FAQ §óÂ×´I¤F¡C¦pªG±z¹ï¦p¦ó§ïµ½¡B + ¶i¨B¤è±¦³¥ô¦ó«Øij¡A½ÐÀH®É±H¹q¤l¶l¥óµ¹ &a.doc;¡C</para> + + <qandaset> + <qandaentry> + <question id="what-is-FreeBSD"> + <para>¤°»ò¬O FreeBSD¡H</para> + </question> + + <answer> + <para>²³æ¦a¨Ó»¡¡AFreeBSD ¬O¤@®M¥i¥H¦b Alpha/AXP, AMD64 ¤Î + &intel; EM64T, &i386; IA-64, PC-98, &ultrasparc; ¤W°õ¦æªº + UN*X-like §@·~¨t²Î¡A¥¦¬O®Ú¾Ú U.C. Berkeley ©Ò¶}µo¥X¨Óªº + <quote>4.4BSD-Lite</quote>¡A¨Ã¥[¤W¤F³\¦h <quote>4.4BSD-Lite2</quote> + ªº¼W±j¥\¯à¡C¥¦¦P®É¤]¶¡±µ¨Ï¥Î¤F U.C. Berkeley ©Ò¶}µo¥X¨Ó¨Ã¥Ñ + William Jolitz ²¾´Ó¨ì i386 ªº <quote>Net/2</quote>¡A¤]´N¬O + <quote>386BSD</quote>¡A + ¤£¹L²{¦b 386BSD ªºµ{¦¡½X¥u³Ñ¤U·¥¤Ö¼ÆÁÙ¯d¦s¦b FreeBSD ¤¤¡C + ±z¥i¥H¦b <ulink url="&url.base;/index.html">FreeBSD º¶ + </ulink> §ä¨ì FreeBSD ¥H¤Î¥¦¥i¥HÀ°±z°µ¨Ç¤°»òªº¬ÛÃö¸ê°T¡C</para> + + <para>FreeBSD ¤w³Q¼sªx¦a³Q¥@¬É¦U¦aªº¤½¥q¦æ¸¹¡BISP¡B¬ã¨s¤Hû¡B + ¹q¸£±M®a¡B¾Ç¥Í¡A¥H¤Î®a®x¥Î¤á©Ò¨Ï¥Î¡A¥Î¦b¤u§@¡B±Ð¨|¥H¤Î®T¼Ö¤W¡C</para> + + <para>¦pªG·Q¬ÝÃö©ó FreeBSD §ó²`¤Jªº¸ê®Æ¡A½Ð¬Ý + <ulink url="&url.books.handbook;/index.html">FreeBSD ¨Ï¥Î¤â¥U + </ulink>¡C</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="FreeBSD-goals"> + <para>µo®i FreeBSD ªº¥Øªº¬O¤°»ò¡H</para> + </question> + + <answer> + <para>FreeBSD pµeªº¥Øªº¬O´£¨Ñ¥i¥H¥ô·N¨Ï¥Î¥B¨S¦³¨îªº³nÅé¡C + §Ú̦bµ{¦¡½X (¥H¤Îp±Þ¥»¨) ¤W¥I¥X¤F¤j¶q¤ß¦å¡A + ·íµM¤£·|¤¶·N¨ÓÂIª÷¿ú¤Wªº¦^õX¡A¤£¹L§Ú̵´¹ï¤£·|¦p¦¹°í«ù¡C + §Ú̬۫H§Ú̺nªº<quote>¥ô°È</quote> + ´N¬O´£¨Ñµ{¦¡½Xµ¹¨C¤@ӨϥΪ̡A + ¤£ºÞ¥LÌ¥´ºâ¥Î¨Ó·F¹À¡F³o»ò¤@¨Ó¡A + ³o¨Çµ{¦¡½X¤~¯à³Q¥Î¦b³Ì¦h¦a¤è¡A¤]¤~¯àµo´§¥¦Ì³Ì¤jªº®Ä¯q¡C + §Ú̬۫H³o´N¬O¦Û¥Ñ³nÅé³Ì°ò¥»ªº¥Ø¼Ð¤§¤@¡A + ¦Ó¥B§ÚÌ·|ºÉ¥þ¤O¥h¤ä«ù¥¦¡C</para> + + <para>¦b§ÚÌ source tree ¤¤¦³³¡¥÷ªºµ{¦¡½X¬O±Ä¥Î©Ò¿×ªº <ulink + url="http://www.FreeBSD.org/copyright/COPYING">GPL</ulink> ©Î¬O + <ulink url="http://www.FreeBSD.org/copyright/COPYING.LIB">LGPL + </ulink> ª©Å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 + ¦]¦¹¥un¦³¾÷·|¡A§ÚÌ·|ºÉ¶q¥H±Ä¥Î¤ñ¸û¼eÃPªº + <ulink url="http://www.FreeBSD.org/copyright/freebsd-license.html"> + FreeBSD ª©Åv</ulink>ªº³nÅé¨Ó¨ú¥N³o¨Ç GPL ª©Åv«Å§iªº³nÅé¡C</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="bsd-license-restrictions"> + <para>FreeBSD ª©Åv¦³¥ô¦ó¨î¶Ü¡H</para> + </question> + + <answer> + <para>¦³ªº¡C¦ý¬O³o¨Ã¤£¬O¨î§A«ç»ò¥h¨Ï¥Î³o¨Çµ{¦¡½X¡A¦Ó¬O§A«ç»ò¬Ý«Ý + FreeBSD ³oÓpµe¡C¦pªG§A¦³ª©ÅvµJ¼{¯gªº¸Ü¡A½Ð¾\Ū<ulink + url="http://www.FreeBSD.org/copyright/freebsd-license.html"> + ª©Åv¥»¤å</ulink>¡C²³æ¦a¨Ó»¡¡A³o¥÷ª©Åvªº«ÂI¥i¥H±ø¦C¦p¤U¡C</para> + + <itemizedlist> + <listitem> + <para>½Ð¤Å«ÅºÙ¬O±z¼g¤F³oÓµ{¦¡¡C</para> + </listitem> + + <listitem> + <para>¦pªG¥¦¥X°ÝÃD¤F¡A¤£n±±§i§ÚÌ¡C</para> + </listitem> + </itemizedlist> + </answer> + </qandaentry> + + <qandaentry> + <question id="replace-current-OS"> + <para>FreeBSD ¥i¥H¨ú¥N§Ú²{¦b¦b¥Îªº§@·~¨t²Î¶Ü¡H</para> + </question> + + <answer> + <para>¹ï¤j³¡¥÷ªº¤H¨Ó»¡¬O³o¼Ë¨S¿ù¡A + ¦ý¨Æ¹ê¤W³o°ÝÃD¨Ã¨S¦³³o»ò¦n¦^µª¡C</para> + + <para>¤j³¡¥÷ªº¤H¨Ã¤£¬O¯u¥¿¦b¨Ï¥Î¤@Ó§@·~¨t²Î¡C + ¥L̨ϥΪº¬OÀ³¥Îµ{¦¡¡F¦Ó¨º¨ÇÀ³¥Îµ{¦¡¤~¬O¯u¥¿¥Î¨ì§@·~¨t²ÎªºªF¦è¡C + FreeBSD ¬O³]p¥Î¨Ó´£¨Ñ¤@Ó±j¶´¥B¥\¯à§¹¾ãªº§@·~Àô¹Òµ¹À³¥Îµ{¦¡¨Ó°õ¦æ¡C + ¥¦¤ä´©¤F¦hºØÂsÄý¾¹¡A¿ì¤½«Ç®M¥ó³nÅé¡A¹q¤l¶l¥ó¾\Ū³nÅé¡Aø¹Ïµ{¦¡¡A + µ{¦¡³]pÀô¹Ò¡Aºô¸ô¦øªA¾¹³nÅé¡A¥H¤Î´X¥G©Ò¦³§A·QnªºªF¦è¡C + ¤j³¡¥÷ªºµ{¦¡³£¥i¥H¾a <ulink + url="http://www.freebsd.org/ports/">Ports Collection</ulink> + ¨ÓºÞ²z¡C</para> + + <para>¦ý¬O¦pªG§A·Qn¨Ï¥ÎªºÀ³¥Îµ{¦¡¥u¯à¦b¬YÓ¯S©wªº§@·~¨t²Î¤W±°õ¦æ + ªº¸Ü¡A§A´N¤£¯à»´©ö¦a§â¥¦´«±¼¡A©ÎªÌ«ü±æ¦b FreeBSD ¤W¦³«Ü¬Û¦üªºÀ³¥Î + µ{¦¡¤~¦³¾÷·|¡C¦pªG§A·Qnªº¬O¤@Ó±j°·ªº¿ì¤½«Ç©Î¬Oºô¸ô¦øªA¾¹¡A©Î¬O + ¤@³¡Ã©wªº¤u§@¯¸¡A©Î¬O·Q¦b¤£³Q¤¤Â_ªºÀô¹Ò¤U¤u§@ªº¸Ü¡AFreeBSD µLºÃ + ¬O±zªº³Ì¨Î¿ï¾Ü¡C¥@¬É¦U¦a¦³«Ü¦h¨Ï¥ÎªÌ¡A¥]¬Aªì¾Ç©Î¸ê²`ªº &unix; ºÞ²z + ¤Hû³£¿ï¥Î FreeBSD ·í¥L̰ߤ@ªº®à¤W§@·~¨t²Î¡C</para> + + <para>¦pªG§A¬O±q¨ä¥Lªº &unix; Àô¹ÒÂà´«¨ì FreeBSD ªº¸Ü¡A + °ò¥»¤W¬O¤j¦P¤p²§ªº¡C¦ý¬O¦pªG§A¤§«e¥Îªº¬O¹Ï§Î¬É±ªº§@·~¨t²Î¡A + ¨Ò¦p»¡¬O &windows; ©Î¬O¤ñ¸û¥j¦Ñªº &macos; ªº¸Ü¡A + ¥i¯à´Nn¦hªá¤@ÂI®É¶¡¨Ó¾Ç²ß«ç»ò¥Î &unix; ªº¤è¦¡¨Ó°µ¡C + §A¥i¥H±q³o¥÷ FAQ ©M <ulink + url="&url.books.handbook;/index.html"> + FreeBSD ¨Ï¥Î¤â¥U</ulink> ¨Ó¤Jªù¡C</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="why-called-FreeBSD"> + <para>¬°¤°»òn¥s°µ FreeBSD¡H</para> + </question> + + <answer> + <itemizedlist> + <listitem> + <para>±z¥i¥H§K¶O¨Ï¥Î¥¦¡A§Y¨Ï¬O¥Î©ó°Ó·~¥Î³~¡C</para> + </listitem> + + <listitem> + <para>¾ãÓ FreeBSD §@·~¨t²Î§¹¾ãªºì©lµ{¦¡³£¥i¥H§K¶O¨ú±o¡A¦Ó¥B¤£ + ºÞ¬O¦b¨Ï¥Î¡A´²§G©Î¬O¾ã¦X¶i¨ä¥Lµ{¦¡µ¥¦U¤è±¤]¥u¨ü¨ì³Ì¤pªº + ¨î (¤£½×¬O§_¥Î©ó°Ó·~¥Î³~)¡C</para> + </listitem> + + <listitem> + <para>¥ô¦ó¤H³£¥i¥H¦Û¥Ñ¦a§â¥L¹ï¨t²Îªº§ï¨}©Î¿ù»~×¥¿ªºµ{¦¡½X¥[¤J + source tree ¤§¤¤ (·íµMn²Å¦X´XÓ¥ý¨M±ø¥ó)¡C</para> + </listitem> + </itemizedlist> + + <para>¯S§Oȱoª`·Nªº¬O³o¸Ìªº <quote>free</quote> ¥X²{¤F¨â¦¸¡A¦Ó¥B¥¦Ì + ªº·N«ä¬O¤£¤@¼Ëªº¡G¤@ºØ¥Nªí <quote>§K¶O</quote>¡A¥t¤@ºØ¥Nªí + <quote>¦Û¥Ñ</quote>¡C±z¥i¥H®³ FreeBSD ¥h°µ¥ô¦ó±z·Qn°µªº¨Æ¡A°£¤F¤@¨Ç + <emphasis>¨Ò¥~</emphasis>¡A¨Ò¦p±z«ÅºÙ FreeBSD ¬O±z¼gªº¡C</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="differences-to-other-bsds"> + <para>FreeBSD ¤Î NetBSD, OpenBSD ¥H¤Î¨ä¥L + open source BSD §@·~¨t²Î¤§¶¡¦³¦ó¤£¦P¤§³B©O¡H</para> + </question> + + <answer> + <para>James Howard ¦b <ulink url="http://www.daemonnews.org/"> + DaemonNews</ulink> ¤W±¼g¤F <ulink + url="http://ezine.daemonnews.org/200104/bsd_family.html"> + The BSD Family Tree</ulink> ªº¤å¥ó¡A¸Ì±»¡©ú¤F³o¨Ç¾ú¥v²W·½¤Î³o¨Ç + *BSD ®a±Úpµe¤§¶¡ªº®t²§¡C</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="latest-version"> + <para>³Ì·sª©ªº FreeBSD ¬O¨º¤@ª©¡H</para> + </question> + +<!-- + This answer is a hack to deal with the fact that for now there are + multiple "latest" versions of FreeBSD. + ³oÓ¦³ÂIÃø¥H¦^µª¡A¨Æ¹ê¤W FreeBSD ¦³³\¦hºØÃþªº¡y³Ì·sª©¡z¡C +--> + + <answer> + <para>´N FreeBSD ¥Ø«eªºµo®i¦Ó¨¥¡A¦³¨âÓ¥Dnµo®i¤À¤ä¡G + ¥Ñ <emphasis>5-STABLE</emphasis> ©Òµo¦æ(release)ªº 5.X ¨t¦C¡B + ¥Ñ <emphasis>6-STABLE</emphasis> ©Òµo¦æ(release)ªº 6.X + ¨t¦C³o¨âÓ¤À¤ä¡C</para> + + <para>¦b 5.3 release ¤§«e¡A4.X ¨t¦C¤´ÄÝ + <emphasis>-STABLE</emphasis> ¤À¤ä¡C + ¦Û±q 5.3 ¶}©l¡A5.X ¨t¦C¶}©l³W¹º·sªº + <emphasis>-STABLE</emphasis> ¤À¤äµo®i«ÂI¡A + ¦Ó 4.X ±N¥uµÛ«¦b«¤j°ÝÃD¤W(¤ñ¦p¡Gº|¬}׸ɡB¦w¥þºûÅ@) + ¥H¤Î©Ò¿×ªº "extended support" + ¡A¤£¦A·|¦³·sªº¬ð¯}©Êµo®i¡C¥t¤@¤è±¡A5-STABLE + ¤À¤äÁöµM¤´±NÄ~Äòµo¦æ¡A¦ý¬O¥Ñ©ó¥¦¥u¬O ¡§legacy¡¨ ¹L´ç´Á¤À¤ä¡A + ©Ò¥H¤j¦h¼Æ¥D¤O³£¤wÂಾ¨ì 6-STABLE Ä~Äò¶}µo¡C</para> + +<!-- note: the entity definitions are out of date --> + <para>©ó &rel.current.date; ©Òµo¦æªº <ulink + url="ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/i386/&rel.current;-RELEASE">&rel.current;</ulink> + ª©¬O¥Ø«e³Ì·sªº <emphasis>6-STABLE</emphasis> ¤À¤ä¡F + ¦Ó©ó &rel2.current.date; ©Òµo¦æªº <ulink + url="ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/i386/&rel2.current;-RELEASE/">&rel2.current;</ulink> + ª©«h¬O¥Ø«e³Ì·sªº <emphasis>5-STABLE</emphasis> ¤À¤ä¡C</para> + + <para>²³æ¦a¨Ó»¡¡A<emphasis>-STABLE</emphasis> ªº¥Dn¶D¨D¹ï¶H¬O¹ï©ó + éw©Ê¤Î§CÅܲ§©Êªº»Ý¨D»·³Ó¹L¹ï³Ì·s <emphasis>-CURRENT</emphasis> + snapshot ¤¤¯S§O·s¥\¯àªº»Ý¨D¡A¨Ò¦p ISP ©Î¤½¥q¦æ¸¹ªº¨Ï¥ÎªÌ¡C³o¨âÓ + branch ³£¦³¥i¯à·|²£¥Í release ª©¡A¦ý¥u¦³·í§A¯à±µ¨ü + <emphasis>-CURRENT</emphasis> »·¤ñ <emphasis>-STABLE</emphasis> + ®e©ö§ó°Ê³o¤@ÂI¡A¤~À³¸Ó¥Î <emphasis>-CURRENT</emphasis>¡C</para> + + <para>Release ª©<link linkend="release-freq">¨C´XÓ¤ë</link>¤~·|µo + ¦æ¤@¦¸¡CÁöµM¦p¦¹¡A¦³«Ü¦h¤H©M FreeBSD ì©l½X¦P¨B§ó·s¡]¸Ô¨£ + <link linkend="current">&os.current;</link> ©M <link + linkend="stable">&os.stable;</link> ªº¬ÛÃö°ÝÃD)¡A¦ý¦]¬°ì©l½X + ¬O¤@ª½¤£Â_¦a¦bÅܰʪº¡A©Ò¥H¦pªGn³o»ò°µªº¸Ü±onªá¤W§ó¦hªººë + ¤O¡C</para> + + <para>¨ä¥L§ó¦h¬ÛÃö FreeBSD µo¦æ±¡³ø¡A¥i¥Ñ FreeBSD ºô¯¸¤Wªº <ulink + url="http://www.FreeBSD.org/releng/index.html"> + Release Engineering</ulink> ±oª¾¡C</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="current"> + <para>¤°»ò¬O &os.current;¡H</para> + </question> + + <answer> + <para><ulink + url="&url.books.handbook;/cutting-edge.html#CURRENT"> + &os.current;</ulink> «üªº¬O¥¿¦bµo®i¤¤ªº§@·~¨t²Îª©¥»¡A + ¥¦²×±N¦b¾A·íªº®É¾÷¦¨¬° &os.stable; ¤À¤ä¡C + ¥¦¹ê¦b¬O¥u¾A¦Xµ¹¨t²Îµo®iªÌ¥H¤Î¦³¼Ý¤Oªº·~¾l·R¦nªÌ¨Ï¥Î¡C + ¦pªG·Qn±o¨ì¦³Ãö¦p¦ó¨Ï¥Î -CURRENT ªº²`¤J¸ê°T¡A½Ð°Ñ¦Ò <ulink + url="&url.books.handbook;/index.html">¨Ï¥Î¤â¥U</ulink> ªº <ulink + url="&url.books.handbook;/cutting-edge.html#CURRENT">¬ÛÃö³¡¥÷ + </ulink>¡C</para> + + <para>¦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¤£À³¸Ó¨Ï¥Î + &os.current;¡C³oÓ¤À¤äªºµ{¦¡½X¦³®ÉÔÅܰʱo«Ü§Ö¡A¦Ó¥B¥i¯à·|¦]¦¹ + ¦Ó¨Ï±z¦³¦n´X¤Ñªº®É¶¡µLªk§ó·s±zªº¨t²Î¡C§ÚÌ°²³]¨Ï¥Î + &os.current; ªº¨Ï¥ÎªÌ³£¦³¯à¤O¥h¤ÀªR¥LÌ©Ò¹J¨ìªº°ÝÃD¨Ã¥B¥u¦^³ø + ¯u¥¿ªº°ÝÃD¦Ó«D<quote>¤pª¬ªp</quote>¡C¦pªG±z¦b -CURRENT mailing + list ¤¤´£¨ìÃþ¦ü<quote>make world ³y¦¨¤@¨Ç¦³Ãö groups ªº¿ù + »~</quote>¤§Ãþªº°ÝÃDªº¸Ü¡A¤]³\·|³Q¨ä¥L¤H»´µø¡C</para> + + <para>§Ų́C¤Ñ³£·|®Ú¾Ú¥Ø«e -CURRENT ©M -STABLE ªºª¬ªp¹ï³o¨âÓ¤À¤ä¦U + µo¦æ¤@Ó <ulink url="&url.base;/snapshots/">snapshot + </ulink> ª©¡C¦³ªº®ÉԬƦÜÁÙ·|µo¦æ¥i¨Ñ¨ú±oªºª©¥»¡Cµoªí³o¨Ç snapshot + ªº¥Øªº¦b©ó¡G</para> + + <itemizedlist> + <listitem> + <para>´ú¸Õ³Ì·sª©ªº¦w¸Ëµ{¦¡¡C</para> + </listitem> + + <listitem> + <para>´£¨Ñ¤@Ó²³æªº¤èªkµ¹¨º¨Ç³ßÅw¨Ï¥Î -CURRENT ©Î¬O -STABLE¡A + ¦ý¬O¨S¦³®É¶¡©MÀW¼e¥h¨C¤Ñª@¯Åªº¨Ï¥ÎªÌ¡C</para> + </listitem> + + <listitem> + <para>¬°¤F´À§Ú̵o®i¤¤ªºµ{¦¡«O¯d¤@Ó©T©wªº°Ñ¦ÒÂI¡A¥H¨¾¤î§ÚÌ¥¼ + ¨Ó³y¦¨¤£©¯¡C(ÁöµM¤@¯ë¦Ó¨¥ CVS ¥i¥H¨¾¤îÃþ¦ü³oºØªº¥i©È¨Æ¥ó :) + </para> + </listitem> + + <listitem> + <para>¬°¤F½T«O©Ò¦³»Ýn´ú¸Õªº·s¥\¯à³£¥i¥H±o¨ì³Ì¦hªº´ú¸Õ¡C</para> + </listitem> + </itemizedlist> + + <para>§Ṳ́£¹ï -CURRENT snapshot °µ¥ô¦ó§Î¦¡ªº<quote>«~½è«O + ÃÒ</quote>¡C¦pªG§A·Qnªº¬O¤@Óéw¥B¸g¹L¥R¤À´ú¸Õ¹Lªº¨t²Îªº¸Ü¡A + ³Ì¦n¿ï¾Ü¨Ï¥Î§¹¾ã release ªºª©¥»¡A©Î¬O¨Ï¥Î -STABLE snapshots¡C</para> + + <para>±z¥i¥Hª½±µ±q <ulink + url="&url.base;/snapshots/"> + snapshots</ulink> ³B¨ú±o -CURRENT ªº + snapshot release¡C</para> + + <para>¹ï¨CÓ¦³¦b¬¡°Êªº¤À¤ä¦Ó¨¥¡A¥§¡¨C¤Ñ³£·|²£¥Í¤@¦¸ snapshots¡C + </para> + </answer> + </qandaentry> + + <qandaentry> + <question id="stable"> + <para>¤°»ò¬O &os.stable;¡H</para> + </question> + + <answer> + <para>¦^·¹¨ì FreeBSD 2.0.5 èµoªíªº®ÉÔ¡A§Ų́M©w§â FreeBSD ªºµo®i + ¤À¦¨¨â¤ä¡C¤@¤ä¥s°µ <ulink + url="&url.books.handbook;/current-stable.html#STABLE">-STABLE + </ulink>¡A§ÚÌ¥u¹ï¥¦°µ¿ù»~×¥¿¤Î¤p´T«×ªº×§ï (³o¬Oµ¹ ISP + ©M°Ó·~¤½¥qµ¥¡A¹ï¹êÅ礤¥\¯à¤£·P¿³½ìªº³æ¦ì©Ò¨Ï¥Îªº)¡C + ¥t¥~¤@¤ä¥s°µ <ulink + url="&url.books.handbook;/current-stable.html#CURRENT">-CURRENT + </ulink>¡A±q 2.0 ª©µo¦æ¥H«á¡A´N¤£Â_¦a´ÂµÛ 6.2-RELEASE + (§t«áÄòªºª©¥»)«e¶iµÛ¡C</para> + + <para>6-STABLE ¤À¤ä¬O±q 6.0-RELEASE ¶}©l (5-STABLE ¤À¤äºâ¬O + 5.3-RELEASE ¤§«á¤~¶}©lªº)¡AµM«á쥻ªº &os.current; + ´N·|¦¨¬° 7-CURRENT¡C</para> + + + <para>2.2-STABLE ³oÓ¤À¤äÀHµÛ 2.2.8 ªºµoªí¦Ó¥\¦¨¨°h¡C3-STABLE ³oÓ + ¤À¤ä«h¬Oµ²§ô¦b 3.5.1 µoªí¤§«á¡A¥¦¤]¬O 3.X ªº³Ì«á¤@¦¸µoªí¡C¤§«á°£¤F + ¦w¥þº|¬}ªº«áÄò×¥¿¤§¥~¡A³o¨Ç¤À¤ä´N´X¥G¨S¦³¦A§ó°Ê¹L¡C ¦Ó + 5-STABLE ¤À¤äªº¤ä´©±N¤´«ùÄò¤@¬q®É¶¡¡A + ¦ý¥DnµJÂI¶È¦b©ó¦w¥þ¤è±ªºº|¬}¡B¯äÂΤΨä¥LÄY«°ÝÃDªº×¸É¡C</para> + + <para>6-STABLE ¬O¥Ø«e¥¿¦bµo®i¤¤ªº -STABLE ¤À¤ä¡C 6-STABLE + ªº³Ì·sªº¤@¦¸µoªí¬O¦b &rel.current.date; µo¦æªº + &rel.current;-RELEASE¡C</para> + + <para>7-CURRENT ³oÓ¤À¤ä¬O &os; ªº -CURRENT ¤À¤ä¡A + ¤´µM¤£Â_¦a¦bµo®i·í¤¤¡C ¦pªG·Qnª¾¹D§ó¦hÃö©ó³oÓ¤À¤äªº¸ê°Tªº¸Ü¡A + ½Ð°Ñ¦Ò <link + linkend="current">¤°»ò¬O &os;-CURRENT¡H</link>¡C</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="naming"> + <para>FreeBSD ª©¥»©R¦Wì«h¬O¤°»ò©O¡H</para> + </question> + + <answer> + <para>±z¥i¯à·|¬Ý¨ì¥H¤U´XºØ FreeBSD ªºª©¥»¦WºÙ¡G</para> + <itemizedlist> + <listitem> + <para>1) 4.4.2-RELEASE¡B4.4-BETA¡G³Ì«e±ªº¼Æ¦r A.B.C ¸Ì¡A + A ªí¥Ü¥Dnªº§@·~¨t²Îª©¥»(Major)¡A + B ªí¥Ü¦¸nªº§@·~¨t²Îª©¥»(Minor)¡A + C ªí¥Ü¨Ç·L×¥¿ª©¥»(Patch)¡C «á±ªº^¤åªí¥Ü¬O§_¬°¥¿¦¡ª©¡A + ³q±`¬O´ú¸Õª©(ALPHA¡BBETA¡BGAMMA)¡B¥¿¦¡ª©(RELEASE)¡C</para> + </listitem> + + <listitem> + <para>2) 6.0-STABLE¡B7.0-CURRENT¡G + ³q±` FreeBSD ·|¦³¤@Ó¥Hµo®i·s¥\¯à¬°¥Dªºª©¥»¡AºÙ¬° -CURRENT + ¡A¥Ø«e CURRENT ª©¥»¬O 7.0¡F FreeBSD + ¤]·|¦³¤@Ó¥HºûÅ@éw©Ê¤Î¨t²Î¦w¥þ¬°¥Dªºª©¥»¡AºÙ¬° -STABLE¡A + ¥Ø«e STABLE ªºª©¥»¬O 6.0¡C ÁöµM¦p¦¹¡A¨Ã¤£¥Nªí -STABLE + ´N¨S¦³·s¥\¯à¡A¤]¤£¥Nªí _CURRENT ´N¤£Ã©w¤£¦w¥þ¡A + ³o¨âÓª©¥»¬O¬Û»²¬Û¦¨ªº¡A¦Ó¥B²×¦³¤@¤Ñ 7.0-CURRENT + ·|Åܦ¨ 7.0-STABLE¡A¦Ó¶}©l 8.0-CURRENT ªºµo®i¡C ¤£¹L¤@¯ë¨Ó»¡¡A + ¥Ñ©ó -CURRENT ¨t²Î¶}µoªº³t«×¬Û·í§Ö¡A¸ò -STABLE + ¬Û¤ñ¸û¤£Ã©w¡A¦Ó¥B³Ì¦n¬O¦³¬Û·í¸gÅ窺¨Ï¥ÎªÌ¤~¨Ó¨Ï¥Î¡C + ¦pªG¬O°Ó·~Àô¹Ò©Î¬O¦øªA¾¹¯¸¥x¡A³Ì¦nÁÙ¬O¶] -STABLE »P + -RELEASE ¤ñ¸û¦n¡C ¥Ñ©ó -STABLE »P -CURRENT + ³£¬O¤@ª½¦b¶}µoºûÅ@¤¤ªºª©¥»¡A + ¦]¦¹¨S¦³¤@Ó¯S©wªº¼Æ¦rª©¥»¥i¥HºÙ©I¡A + ¦]¦¹³q±`§ÚÌ·|¥H½sĶ¤é´Á¨Ó¥Nªí¬OþÓ®ÉÔªº -STABLE ©Î -CURRENT + ¡A¨Ò¦p¡u4.4-STABLE¡B½sĶ¤é´Á 2001/10/08¡v¡C</para> + </listitem> + + <listitem><para> +3) 5.0-011025-SNAP¡B4.2-010816-RELENG¡G + SNAP »P RELENG ¨Ã¤£¬O¥¿¦¡µo¦æªºª©¥»¡A¨ä¤¤ 3.0-970625-SNAP ªí¥Ü¬O + ¦b 2001 ¦~ 10 ¤ë 25 ¤éµo¦æªº 5.0 ´ú¸Õª©(SNAPshot)¡A³q±`¬O«ü CURRENT + ªºª©¥»¡C¦Ó 4.2-010816-RELENG ªí¥Ü¬O¦b 2001 ¦~ 8 ¤ë 16 ¤éµo¦æªº + 4.2 «D¥¿¦¡ªºÃ©wª©¡A³q±`¬O«ü STABLE ªºª©¥»¡C + ³q±` FreeBSD ®Ö¤ß¤p²Õ·|¤£©w®ÉÄÀ¥X SNAP ¥H¨Ñ´ú¸Õ¡AµM«á¦³¤@¤Ñ SNAP + ·|Åܦ¨ ALPHA->BETA->GAMMA¡A¦A¨Ó¬O RELEASE¡A¦Ó«á¥i¯à·|¦³¤£©w®Éªº + RELENG ¥H¨Ñ´ú¸Õ¨Ï¥Î¡A¦ý¬O RELENG ªºÃ©w©Ê³q±`¤S¤ñ«e´Áªº RELEASE + ¨Óªº¦n¡C</para> + </listitem> + </itemizedlist> + +<para> +±zn¬O²ßºD·L³nªº³N»y¡A³o¼Ë»¡¦n¤F¡ASNAP ¬O¶}µo´Á¶¡ªº¤º³¡¬y¥Xª©¡A +¨ºÓ¤é´Á(011025)´N¬OBuild Number¡A¦Ó ALPHA »P BETA ¬O·mÂAª©¡A +RELEASE(RELENG «j±j¤]ºâ)¬O¥¿¦¡ª©¡A³o¼ËÀ³¸Ó¤F¸Ñ¤F§a¡C +</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="release-freq"> + <para>¨C¦¸·sªº FreeBSD ±N©ó¤°»ò®ÉÔ±À¥X¡H</para> + </question> + + <answer> + <para>¤@¯ë¦Ó¨¥¡A&a.re; ¥§¡¨C¥|Ó¤ëµo¦æ¤@¦¸ release¡A¨C¦¸·sª©¥»ªºµoªí®Éµ{³£·|¨Æ¥ý¤½§i¡A + ¬ÛÃöªº¶}µo¤Hû´N·|ª¾¹D¡A¤°»ò®ÉÔ¸Ó¥ý§â¤âÃ䪺p¹º§¹¦¨¨Ã¥B´ú¸Õ¹L¡A + ¦¹¥~¡A³o¨Ç§ó°Ê³£¤w¸g§¹¾ã¦a´ú¸Õ¹L¡A¥B¤£·|¼vÅT¨t²Îéw«×¡C + ÁöµM¡Aµ¥³o¨Ç¦nªF¦è¶i¤J -STABLE ªº®É¶¡¥O¤Hµ¥±o¦³¨Ç¤£@·Ð¡A + ¦ý¬O¤j¦h¼Æªº¨Ï¥ÎªÌ³£»{¬°³oºØÂÔ·VªººA«×¬O FreeBSD ³Ì¦nªºÀuÂI¤§¤@¡C</para> + + <para>¦³Ãöµo¦æ±¡³øªº§ó¦h²Ó¸`³¡¤À(¥]¬A release ªº¦æµ{ªí¡B¶i«×)¡A³£¥i¦b FreeBSD ºô¯¸¤Wªº + <ulink url="http://www.FreeBSD.org/releng/index.html">µo¦æ±¡³ø</ulink> ¤W±Àò±o¡C</para> + + <para>¬°¤Fº¡¨¬¨º¨Ç»Ýn (©Î·Qn) ·sÂA¨ë¿E·Pªº¨Ï¥ÎªÌ¡A + ¤W±(-CURRENTªº³¡¤À)¤w¸g´£¨ì§Ų́C¤Ñ³£·|µo¦æ snapshots ª©¥i¨Ñ¨Ï¥Î¡C</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="responsible"> + <para>½Öt³d FreeBSD ªºµo®i¡H</para> + </question> + + <answer> + <para>¦pªG¬O¤@¨Ç¦³Ãö FreeBSD pµeªºÃöÁä©Ê¨M©w¡A¹³¬O¾ãÓpµeªº¨«¦V + ©Î¬O¨M©w½Ö¥i¥H§ï source tree ¸Ìªºµ{¦¡½X³oÃþªº¨Æ¡A¬O¥Ñ¤@ 9 Ó + ¤H©Ò²Õ¦¨ªº <ulink + url="&url.articles.contributors;/article.html#STAFF-CORE">core + team</ulink> ¨Ó¨M©w¡C¦Ó¦³¥t¤@¸s¶W¹L 300 Ó¤Hªº <ulink + url="&url.articles.contributors;/article.html#STAFF-COMMITTERS"> + commiters</ulink> ¦³Åv§Q¥i¥Hª½±µ×§ï FreeBSD ªº source tree¡C + </para> + + <para>µL½×¦p¦ó¡A¤j¦h¼Æªº§ïÅܳ£·|¨Æ«e¦b <link linkend="mailing"> + mailing lists</link> ¥ý°Q½×¹L¡A¦Ó¥B¤£¤À¨¤¦â¡A¨CÓ¤H³£¥i¥H°Ñ»P°Q½×¡C</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="where-get"> + <para>§Ún¦p¦ó¨ú±o FreeBSD¡H</para> + </question> + + <answer> + <para>¨CÓ FreeBSD ªº«nª©¥»³£¥i¥H¸g¥Ñ°Î¦W ftp ±q <ulink + url="ftp://ftp.FreeBSD.org/pub/FreeBSD/">FreeBSD FTP ¯¸</ulink>¨ú±o¡G</para> + + <itemizedlist> + <listitem> + <para>¦pªG»Ýn 6-STABLE ªº³Ì·sª©¡A¤]´N¬O &rel.current;-RELEASE¡A½Ð¨ì <ulink + url="ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/i386/&rel.current;-RELEASE/">&rel.current;-RELEASE </ulink>³oӥؿý</para> + </listitem> + + <listitem> + <para><ulink url="ftp://current.FreeBSD.org/pub/FreeBSD/">7-CURRENT Snapshot</ulink> + ³q±`¤]¬O¨C¤Ñ³£·|°µ¤@¥÷¡A³o¬O±q <link linkend="current">-CURRENT</link> ¤À¤ä°µ¥X¨Óªº¡A + ¥Dn¬O¬°¤F´£¨Ñµ¹¨º¨Ç¼ö¤ßªº´ú¸ÕªÌ©M¶}µo¤Hû¡C</para> + </listitem> + + <listitem> + <para>¦pªG»Ýn 5-STABLE ªº³Ì·sª©¡A¤]´N¬O &rel2.current;-RELEASE¡A½Ð¨ì <ulink + url="ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/i386/&rel2.current;-RELEASE/">&rel2.current;-RELEASE </ulink>³oӥؿý</para> + </listitem> + + <listitem> + <para><ulink + url="ftp://current.FreeBSD.org/pub/FreeBSD/snapshots/">5.X¡B6X snapshots</ulink> + ³q±`¨C¤Ñ³£·|°µ¤@¥÷¡C</para> + </listitem> + </itemizedlist> + + <para>FreeBSD ªº CD¡BDVD¡AÁÙ¦³¨ä¥L¨ú±o¤è¦¡¥i¥H¦b <ulink url="&url.books.handbook;/mirrors.html">¨Ï¥Î¤â¥U</ulink> ¤¤§ä¨ì¸Ñµª¡C</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="access-pr"> + <para>§Ún¦p¦ó¥h¬d¸ß¡B´£¥æ°ÝÃD¦^³ø(Problem Report¡A²ºÙPR)¸ê®Æ®w©O¡H</para> + </question> + + <answer> + <para>©Ò¦³¨Ï¥ÎªÌªºÅܧón¨D³£¥i¥H¸g¥Ñºô¶¤¶±ªº + <ulink url="http://www.FreeBSD.org/cgi/query-pr-summary.cgi?query"> + PR¬d¸ß¤¶±</ulink> ¨Ó¹î¬Ý (©Î¬O¦^³ø) §Ú̪º¿ù»~¦^³ø¸ê®Æ®w¡C</para> + + <para>¤]¥i¥H¨Ï¥Î &man.send-pr.1; ³oÓ«ü¥O³z¹L¹q¤l¶l¥ó¨Ó¦^³ø°ÝÃD¡Bn¨DÅܧó¡C + ©ÎªÌ¬O¸g¥Ñ <ulink url="http://www.FreeBSD.org/send-pr.html">ºô¶¤¶±ªº PR</ulink> ¨Ó°e¥X°ÝÃD¦^³ø¡C</para> + + <para>µM¦Ó¡A¦b±z¦^³ø°ÝÃD¤§«e¡A½Ð¥ý¾\Ū <ulink + url="&url.articles.problem-reports;/article.html">¦p¦ó¼¶¼g + FreeBSD ªº°ÝÃD¦^³ø³æ</ulink>¡A³o¬O¤@½g§i¶D§A«ç¼Ë¤~¯à¼g¥X¤@½g¯u¥¿¦³¥Îªº + °ÝÃD¦^³ø³æ¡C</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="other-info-sources"> + <para>ÁÙ¦³¨ä¥L¦³Ãö FreeBSD ªº¸ê°T¶Ü¡H</para> + </question> + + <answer> + <para>¸Ô¨£ <ulink + url="http://www.FreeBSD.org">FreeBSD</ulink> ºô¯¸¤Wªº <ulink + url="http://www.FreeBSD.org/docs.html">¤å¥ó</ulink> ¦Cªí¡C</para> + </answer> + </qandaentry> + </qandaset> + </chapter> + + <chapter id="support"> + <chapterinfo> + <author> + <firstname>Chin-San</firstname> + <surname>Huang</surname> + <affiliation> + <address><email>chinsan.tw@gmail.com</email></address> + </affiliation> + </author> + </chapterinfo> + + <title>¤å¥ó»P§Þ³N¤ä´©</title> + + <qandaset> + <qandaentry> + <question id="books"> + <para>Ãö©ó FreeBSD ¦³þ¨Ç¦n®Ñ¥i¥H±ÀÂ˾\Ūªº¶Ü¡H</para> + </question> + + <answer> + <para>FreeBSD ¤å¥ópµe¤w³°Äòµoªí¤F¬Û·í¼sªx½d³òªº¤å¥ó¡A¥i¦b <ulink + url="http://www.FreeBSD.org/docs.html"></ulink> ¨ú±o¡C¥t¥~¡A + FreeBSD ¥»¨ªº manual(¤@¯ë³qºÙªºman)¡Bdoc¤]¦p¦P®M¥ó³nÅé¤@¼Ë¡A¥i¥H»´ÃP¦a¸Ë¦b±z¨t²Î¤W¡C + </para> + + <para>¦¹¥~¡A¤]«Øij°Ñ¾\¥»¥÷ FAQ ³Ì«á©Ò¦Cªº°Ñ¦Ò®Ñ¥Øªí(Bibliography)»P FreeBSD ¨Ï¥Î¤â¥U¡C + </para> + </answer> + </qandaentry> + + <qandaentry> + <question id="doc-formats"> + <para>³o¨Ç¤å¥ó¦³¨ä¥L®æ¦¡ªº¶Ü¡H¹³¬O¡G¯Â¤å¦r(ASCII)©Î &postscript; ¤§Ãþªº®æ¦¡¡H</para> + </question> + + <answer> + <para>¦³ªº¡C³o¨Ç¤å¥ó³£¤À§O¥H¤£¦P®æ¦¡Àx¦s¥H¤ÎÀ£ÁY³B²z¡A©ñ¦b + FTP ¤W±¡A¥i¥H±q¦U FreeBSD FTP ¯¸ªº <ulink + url="ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/">/pub/FreeBSD/doc/</ulink> + ¥Ø¿ý¤º§ä¨ì§Anªº¡C</para> + + <para>¤å¥óªº¤ÀÃþ¤è±¥Dn¬O¤@¨Ç¤£¦P©Ê½è©Ò²Õ¦¨¡G</para> + + <itemizedlist> + <listitem> + <para>¤å¥ó¦WºÙ¡A¤ñ¦p¡G<literal>faq(±`¨£°Ýµª¶°)</literal>©Î¬O + <literal>handbook(FreeBSD ¨Ï¥Î¤â¥U)</literal>µ¥µ¥¡C</para> + </listitem> + + <listitem> + <para>¦U°ê½Ķªºªº¤å¥ó¡G³o¥Dn¬O¥Ñ locale ¦WºÙ¨Ó¨M©wªº + (¤£²M·¡ªº¸Ü¡A¥i°Ñ¦Ò±zªº FreeBSD §@·~¨t²Î¤Wªº <filename>/usr/share/locale</filename>) + ¥Ø«e¤å¥óÁ`¦@¦³¤U¦C´XºØ»y¨¥(¤Î½s½X)¦³Â½Ä¶¡G</para> + + <informaltable frame="none" pgwide="1"> + <tgroup cols="2"> + <thead> + <row> + <entry>Locale ¦WºÙ</entry> + + <entry>»¡©ú(©Ò¥Nªíªº»y¨t¡B½s½X)</entry> + </row> + </thead> + + <tbody> + <row> + <entry><literal>en_US.ISO8859-1</literal></entry> + + <entry>¬ü¦¡^¤å(US English)</entry> + </row> + + <row> + <entry><literal>de_DE.ISO8859-1</literal></entry> + + <entry>¼w¤å(German)</entry> + </row> + + <row> + <entry><literal>es_ES.ISO8859-1</literal></entry> + + <entry>¦è¯Z¤ú¤å(Spanish)</entry> + </row> + + <row> + <entry><literal>fr_FR.ISO8859-1</literal></entry> + + <entry>ªk¤å(French)</entry> + </row> + + <row> + <entry><literal>it_IT.ISO8859-15</literal></entry> + + <entry>¸q¤j§Q¤å(Italian)</entry> + </row> + + <row> + <entry><literal>ja_JP.eucJP</literal></entry> + + <entry>¤é¤å(Japanese¡A½s½X¤è¦¡¡GEUC)</entry> + </row> + + <row> + <entry><literal>ru_RU.KOI8-R</literal></entry> + + <entry>«X¤å(Russian¡A½s½X¤è¦¡¡GKOI8-R)</entry> + </row> + + <row> + <entry><literal>zh_CN.GB2312</literal></entry> + + <entry>²Å餤¤å(Simplified Chinese¡A½s½X¤è¦¡¡GGB2312)</entry> + </row> + + <row> + <entry><literal>zh_TW.Big5</literal></entry> + + <entry>¥¿Å餤¤å(Traditional Chinese¡A½s½X¤è¦¡¡GBig5)</entry> + </row> + </tbody> + </tgroup> + </informaltable> + + <note> + <para>¤W¦Cªº¦U°ê½Ķ»y¨t¤å¥ó¤¤¡A¨Ã«D©Ò¦³¤å¥ó³£¦³Â½Ä¶¡C</para> + </note> + </listitem> + + <listitem> + <para>¤å¥óªº®æ¦¡¡G¨C¥÷¤å¥ó³£¥H¦UºØ¤£¦P®æ¦¡Àx¦s¡A¨CºØ®æ¦¡³£¦U¦³¦nÃa¡A + ¦³¨Ç®æ¦¡¾A¦X½u¤W¾\Ū¡A¦Ó¦³¨Ç«h¾A¦X¦C¦L¥X¬üÆ[ªº¤å¥ó¡C + §Ú̳£´£¨Ñ³o¨Ç¤£¦P®æ¦¡ªº¤å¥ó¡A¨Ó½T«OµL½×¬O¿Ã¹õ¤W¡B¦C¦L¯È¥»¡A¨CÓ¤H³£¥i¥H¥¿±`¦a¾\Ū¤º®e¡A + ¥Ø«e¥i¨Ñ¨Ï¥Îªº®æ¦¡¦p¤U:</para> + + <informaltable frame="none" pgwide="1"> + <tgroup cols="2"> + <thead> + <row> + <entry>®æ¦¡</entry> + + <entry>»¡©ú</entry> + </row> + </thead> + + <tbody> + <row> + <entry><literal>html-split</literal></entry> + + <entry>³¹¸`¼Ò¦¡</entry> + </row> + + <row> + <entry><literal>html</literal></entry> + + <entry>§¹¾ã¼Ò¦¡</entry> + </row> + + <row> + <entry><literal>pdb</literal></entry> + + <entry>Palm Pilot ¸ê®Æ®æ¦¡¡A¨Ï¥Î + <ulink url="http://www.iSilo.com/">iSilo</ulink> + µ{¦¡¨Ó¾\Ū</entry> + </row> + + <row> + <entry><literal>pdf</literal></entry> + + <entry>Adobe's PDF ®æ¦¡</entry> + </row> + + <row> + <entry><literal>ps</literal></entry> + + <entry>&postscript; ®æ¦¡</entry> + </row> + + <row> + <entry><literal>rtf</literal></entry> + + <entry>Microsoft's RTF®æ¦¡<footnote> + <para>·í¨Ï¥Î MS Word ¨Ó¶}±Ò RTF ®æ¦¡ªº¸Ü¡A¶¼ÆÅã¥Ü¨Ã¤£·|¦Û°Ê§ó·s¡C + (¦b¶}±Ò¤å¥ó«á¡An«ö <keycombo + action="simul"><keycap>CTRL</keycap><keycap>A</keycap></keycombo>, + <keycombo + action="simul"><keycap>CTRL</keycap><keycap>END</keycap></keycombo>, + <keycap>F9</keycap>¡A³o¼Ë¤l¤~·|§ó·s¶¼ÆªºÅã¥Ü¡C)</para> + </footnote> + </entry> + </row> + + <row> + <entry><literal>txt</literal></entry> + + <entry>¯Â¤å¦r(ASCII)</entry> + </row> + </tbody> + </tgroup> + </informaltable> + </listitem> + + <listitem> + <para>¤å¥óªºÀ£ÁY¡B¥´¥]¤è¦¡¡G¥Ø«e¦³¤TºØ¤è¦¡¡G</para> + + <orderedlist> + <listitem> + <para>·í±Ä¥Î + <literal>³¹¸`¼Ò¦¡(html-split)</literal>¡A³¹¸`¼Ò¦¡©Ò²£¥Íªº¦UÀÉ®×·|¥ý¨Ï¥Î + &man.tar.1; ¨ÓÀ£ÁY¡CÀɦWµ²§À¦³ <filename>.tar</filename> ªºÀÉ®×´N¬O tar ®æ¦¡¡C + ±µµÛ¡A·|¦A¥H¤U¦C¤è¦¡¦AÀ£ÁY¡C + </para> + </listitem> + + <listitem> + <para>¨ä¥L®æ¦¡ªºÀɮ׳£·|¬O³æ¤@ÀɮסAÀɦW³q±`·|¬O¡G + <filename>book.<replaceable>®æ¦¡</replaceable></filename> + (Á|¨Ò¡G <filename>book.pdb</filename>¡A + <filename>book.html</filename> µ¥µ¥..«á±³q±`¥[¤W¡y.®æ¦¡¡z).</para> + <para>¦Ó³o¨ÇÀÉ®×·|¤À§O¥H¨âºØÀ£ÁY«¬ºA¶i¦æÀ£ÁY¡A¦Ó¦s¦¨¨âºØÀ£ÁY«¬ºA¡C</para> + + <informaltable frame="none" pgwide="1"> + <tgroup cols="2"> + <thead> + <row> + <entry>®æ¦¡</entry> + + <entry>»¡©ú</entry> + </row> + </thead> + + <tbody> + <row> + <entry><literal>zip</literal></entry> + + <entry>Zip ®æ¦¡¡AYn¦b FreeBSD ¤W¸ÑÀ£ zip ÀÉ¡A«h¥²¶·¥ý¦w¸Ë + <filename role="package">chinese/unzip</filename> ©Î + <filename role="package">archivers/unzip</filename>¡C + </entry> + </row> + + <row> + <entry><literal>bz2</literal></entry> + + <entry>BZip2 ®æ¦¡¡AÁöµM¤£¦p zip ®æ¦¡ªº¼sªx¨Ï¥Î¡A¦ý¬O¦n³B¦b©ó¥iÀ£ÁY¦¨§ó¤pªºÀɮסC + n¸ÑÀ£ bz2 ®æ¦¡ªº¸Ü¡A»Ý¥ý¦w¸Ë <filename role="package">archivers/bzip2 + </filename>¡C</entry> + </row> + </tbody> + </tgroup> + </informaltable> + + <para>©Ò¥H¹³¬O Handbook ªº &postscript; ª©®æ¦¡¡A·|¥H BZip2 ®æ¦¡À£ÁY¡A + ¦s©ñ¦b <filename>handbook/</filename> ¥Ø¿ý¤º¡A + ÀɦW´N¬O<filename>book.ps.bz2</filename>¡C</para> + </listitem> + </orderedlist> + </listitem> + </itemizedlist> + + <para>¿ï¾Ü·Qn¤U¸üªº¤å¥ó®æ¦¡»PÀ£ÁY«¬ºA¤§«á¡A«hn¨M©w¬O§_¥H FreeBSD <emphasis>®M¥ó(package)</emphasis> + «¬ºA¨Ó¤U¸ü¡C</para> + + <para>¤U¸ü¡B¦w¸Ë¡ypackage¡zªº¦n³B¦b©ó¡G¥i¥H³z¹L¤@¯ë FreeBSD + ®M¥óºÞ²z¤è¦¡¨Ó¶i¦æºÞ²z¡A¤ñ¦p &man.pkg.add.1; ¤Î + &man.pkg.delete.1;¡C</para> + + + <para>Y¨M©w¦nn¤U¸ü¡B¦w¸Ë¡ypackage¡zªº¸Ü¡A¥²¶·n½T»{©Òn¤U¸üªºÀɦW¡C + ¤å¥ópµeªº®M¥ó(package)³q±`¬O©ñ¦b¬O <filename>packages</filename> ªº¥Ø¿ý¤º¡A + ¨CÓ¤å¥ópµeªº®M¥óÀɦW³q±`¬O¡G + <filename><replaceable>¤å¥ó¦WºÙ</replaceable>.<replaceable>»y¨t</replaceable>.<replaceable>½s½X</replaceable>.<replaceable>®æ¦¡</replaceable>.tgz</filename> + ¡C</para> + + <para>Á|Ó¨Ò¤l¡A^¤åª©ªº FAQ (®æ¦¡¿ï¾Ü PDF)¦b package ´N¥s°µ + <filename>faq.en_US.ISO8859-1.pdf.tgz</filename>¡C</para> + + <para>¦AÁ|Ó¨Ò¤l¡A¤¤¤åª©ªº FAQ (®æ¦¡¿ï¾Ü PDF)¦b package ´N¥s°µ + <filename>faq.zh_TW.Big5.pdf.tgz</filename>¡C</para> + + <para>ª¾¹D³oÂI¤§«á¡A´N¥i¥H¥Î¤U±«ü¥O¨Ó¦w¸Ë¤¤¤åª© FAQ ®M¥ó¡G</para> + + <screen>&prompt.root; <userinput>pkg_add ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/packages/faq.zh_TW.Big5.pdf.tgz</userinput></screen> + + <para>§¹¦¨¤§«á¡A¥i¥H¥Î &man.pkg.info.1; ¨Ó§ä¥XÀɮ׸˦bþÃä¡G</para> + + <screen>&prompt.root; <userinput>pkg_info -f faq.zh_TW.Big5.pdf</userinput> +Information for faq.zh_TW.Big5.pdf: + +Packing list: + Package name: faq.zh_TW.Big5.pdf + CWD to /usr/share/doc/zh_TW.Big5/books/faq +File: book.pdf + CWD to . +File: +COMMENT (ignored) +File: +DESC (ignored)</screen> + + <para>¦p¦P±z©Ò¬Ý¨ìªº <filename>book.pdf</filename> ·|³Q¦w¸Ë¨ì + <filename>/usr/share/doc/zh_TW.Big5/books/faq</filename> ¤º¡C</para> + + <para>Y¤£·Q¥Î package ¤è¦¡¦w¸Ë¡A¨º»ò´N»Ý¤â°Ê¤U¸ü¡B¸ÑÀ£ÁY¡B½Æ»s¨ì§A·QnÂ\©ñªº¦ì¸m¥h¡C</para> + + <para>Á|¨Ò¡A³¹¸`¼Ò¦¡(split HTML)ª©ªº^¤å FAQ (À£ÁY¬° &man.bzip2.1;)·|©ñ¦b + <filename>doc/en_US.ISO8859-1/books/faq/book.html-split.tar.bz2</filename> + n¤U¸ü¡B¸ÑÀ£ªº¸Ü¡A«hn¥´¡G</para> + + <screen>&prompt.root; <userinput>fetch ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/en_US.ISO8859-1/books/faq/book.html-split.tar.bz2</userinput> +&prompt.root; <userinput>bzip2 -d book.html-split.tar.bz2</userinput> +&prompt.root; <userinput>tar xvf book.html-split.tar</userinput></screen> + + <para>³o®É§A·|¬Ý¨ì¤@°ï <filename>.html</filename> ªºÀɮסA + ¥Dnªº¥Ø¿ýÀɬ° <filename>index.html</filename> + ¤º§t¥D¥Ø¿ý¤Î³sµ²¨ì¨ä¥L¤å¥ó¡C(Y¦³»Ýnªº¸Ü¡A¤]¥i¥H½Æ»s©Î·h²¾³o¨ÇÀɮרì¦P¤@¥Ø¿ý¤U)</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="mailing"> + <para>þ¸Ì¦³Ãö©ó FreeBSD ªº¶l»¼½×¾Â(mailing lists)©O¡H</para> + </question> + + <answer> + <para>³oÓ°ÝÃD¡A¥i¥H±q FreeBSD ¨Ï¥Î¤â¥U¤W±ªº <ulink + url="&url.books.handbook;/eresources.html#ERESOURCES-MAIL">¶l»¼½×¾Â(mailing-lists)</ulink> + ³¡¤ÀÀò±oµª®×¡C</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="newsgroups"> + <para>¦³þ¨Ç¥i¥H¨Ï¥Îªº FreeBSD ·s»D¸s²Õ(news groups)©O?</para> + </question> + + <answer> + <para>³oµª®×¥i¥H±q FreeBSD ¨Ï¥Î¤â¥U¤W±ªº <ulink + url="&url.books.handbook;/eresources-news.html">·s»D¸s²Õ(newsgroups)</ulink> + ³¡¤ÀÀò±oµª®×¡C</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="man"> + <para>¦b¤å¥ó¤¤±`¬Ý¨ìÃþ¦ü "pf(4)"¡B"pfctl(8)" µ¥³o¨Ç¦r¼Ë¥Nªí¤°»ò·N«ä©O¡H</para> + </question> + + <answer> + <para>³oªí¥Ü man ªº³¹¸`¡A¨t²Î¤W¤@¯ë¦³¤KÓ³¹¸`¡G</para> + <itemizedlist> + <listitem> + <para>1->generl commands</para> + </listitem> + + <listitem> + <para>2->system calls and error numbers </para> + </listitem> + + <listitem> + <para>3->C libraries</para> + </listitem> + + <listitem> + <para>4->devices and device drivers</para> + </listitem> + + <listitem> + <para>5->file formats</para> + </listitem> + + <listitem> + <para>6->games</para> + </listitem> + + <listitem> + <para>7->miscellaneous information pages</para> + </listitem> + + <listitem> + <para>8->system maintenance and operation commands</para> + </listitem> + </itemizedlist> + + <para>¤ñ¦p¡Gpf(4) ´N¬O«ü <command>man 4 pf</command>¡C</para> + </answer> + </qandaentry> + <qandaentry> + <question id="irc"> + <para>¦³þ¨Ç FreeBSD IRC (Internet Relay Chat)ÀW¹D©O¡H</para> + </question> + + <answer> + <para>¦³ªº¡A¤j³¡¤Àªº IRC ¥D¾÷³£¦³ FreeBSD ²á¤ÑÀW¹D¡G</para> + + <itemizedlist> + <listitem> + <para><ulink url="http://www.efnet.org/index.php">EFNet</ulink> ªº + <literal>#FreeBSD</literal> ÀW¹D¬OÓ FreeBSD ½×¾Â¡A + ¦ý¥i¤£¾A¦X¨º¨Ç·Q¤£³Ò¦ÓÀò©ÎªÌ·h±Ï§L¥Îªº¡C + ³o¸Ì¬O²á¤Ñ¥ÎªºÀW¹D¡A¸ÜÃD½d³ò¬Æ¦Ü¯A¤Î¡y©Ê¡B¹B°Ê¡B®ÖªZ¡zµ¥¡A + ½Ðª`·N¡G§Ṳ́w¸gĵ§i¹L§A¤F¡I¥»ÀW¹D¥i¸g¥Ñ + <hostid>irc.chat.org</hostid> ¶i¤J¡C</para> + </listitem> + + <listitem> + <para><ulink url="http://www.efnet.org/index.php">EFNet</ulink> ªº + <literal>#FreeBSDhelp</literal> ÀW¹D¤D¬Oµ¹ FreeBSD + ¨Ï¥ÎªÌ¤§¶¡¥æ¬yªº¡A¨Ó³o¸Ì´£°Ý·|¤ñ <literal>#FreeBSD</literal> + ¦n¤@¨Ç¡A·íµM½Ð¤£n¤@ªÑ¸£ÀH«K¶Ã°Ý¡C</para> + </listitem> + + <listitem> + <para><ulink url="http://www.dal.net/">DALNET</ulink> ªº + <literal>#FreeBSD</literal> ÀW¹D¡A¥i¥Ñ + <hostid>irc.dal.net</hostid>(¦ì©ó¬ü°ê)¤Î + <hostid>irc.eu.dal.net</hostid>(¦ì©ó¼Ú¬w)¶i¤J¡C</para> + </listitem> + + <listitem> + <para><ulink url="http://www.dal.net/">DALNET</ulink> ªº + <literal>#FreeBSDHelp</literal> ÀW¹D¡A¥i¥Ñ + <hostid>irc.dal.net</hostid>(¦ì©ó¬ü°ê)¤Î + <hostid>irc.eu.dal.net</hostid>(¦ì©ó¼Ú¬w)¶i¤J¡C</para> + </listitem> + + <listitem> + <para><ulink url="http://www.undernet.org/">UNDERNET</ulink> ªº + <literal>#FreeBSD</literal> ÀW¹D¡A¥i¥Ñ + <hostid>us.undernet.org</hostid>(¦ì©ó¬ü°ê)¤Î + <hostid>eu.undernet.org</hostid>(¦ì©ó¼Ú¬w)¶i¤J¡C + ¥Ñ©ó³o¬OÓ»²§U·s¤â¥ÎªºÀW¹D¡A + ½Ð°O±o¾\Ū§O¤H¦V§A´£¤Îªº³sµ²©ÎÀɮסC</para> + </listitem> + + <listitem> + <para><ulink url="http://www.rusnet.org.ru/">RUSNET</ulink> ªº + <literal>#FreeBSD</literal> ÀW¹D¬O«X»y°ê®aªº &os; ¨Ï¥ÎªÌÀW¹D¡C + ³o¸Ì¦P®É¤]¬O¤@¯ë¥æ¬yªº°Q½×¦n¥h³B¡C</para> + </listitem> + + <listitem> + <para><ulink + url="http://freenode.net/irc_servers.shtml">freebsd-gnome + </ulink> ªº <literal>#FreeBSD</literal> ÀW¹D¡A¥i¥Ñ + <hostid>irc.freenode.net</hostid> ¶i¤J¡A + ³o¬O Gnome ªº &os; ¨Ï¥ÎªÌÀW¹D¡C</para> + </listitem> + + <listitem> + <para><ulink url="http://freenode.net/irc_servers.shtml">freenode</ulink> + ªº <literal>#bsdchat</literal> ÀW¹D¡A¥i¥Ñ + <hostid>irc.freenode.net</hostid> ¶i¤J¡A + ³o¬O¥xÆWªº &os; ¨Ï¥ÎªÌÀW¹D¡C(UTF-8 ½s½X)</para> + </listitem> + </itemizedlist> + + <para>¤Wz¨CÓÀW¹D³£¤£¤@¼Ë¡A·®æ~²§¦Ó¦U¨ã¯S¦â¡A¥B¨Ã¨S¦³¬Û³s¡A + ¦]¦¹¡A§A±o¦h¤è¹Á¸Õ¤~¯à§ä¨ì¾A¦X¦Û¤vªºÀW¹D¡C + ¦Ó¦³¨Ç¦a¤è»P©Ò¦³ªº IRC ¤å¤ÆÃþ¦ü¡A´N¬O½Ðª`·N¦Û¤v¨¥¦æ¬O§_«ê·í¡A + ¥t¥~¥i¯à¸òÀW¹D¤º¤@¨Ç¦~»´/¦Ñ¤@½úªº·|¦³¨Ç¥N·¾»Ýn¾AÀ³¡A + Á`¤§½Ð¦h«O«ù§»ª¡C</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="training"> + <para>¥i¥H±qþÃäÀò±o FreeBSD ªº±Ð¨|½Òµ{°V½m¤Î§Þ³N¤ä´©©O¡H</para> + </question> + + <answer> + <para>DaemonNews ¦³±Mªù´£¨Ñ FreeBSD ªº±Ð¨|½Òµ{°V½m¤Î§Þ³N¤ä´©¡C + ¸Ô±¡½Ð¨ì <ulink url="http://www.bsdmall.com/">BSD Mall</ulink> + ¹î¬Ý¡AÁÂÁ¡C</para> + + <para>FreeBSD Mall ¦³´£¨Ñ BSD §Þ³N¤ä´©¥I¶OªA°È¡A + ¸Ô±¡½Ð¨ì <ulink + url="http://www.freebsdmall.com/">FreeBSD Mall</ulink> ¹î¬Ý¡AÁÂÁ¡C</para> + + + <para>¨ä¥L¥ô¦ó¦³´£¨Ñ±Ð¨|½Òµ{°V½m¤Î§Þ³N¤ä´©ªº²Õ´¡B³æ¦ì¡AY¤]·Q¦Cªí©ó¦¹ªº¸Ü¡A + ½Ð»P &a.doc; Ápµ¸¡AÁÂÁ¡C</para> + </answer> + </qandaentry> + </qandaset> + </chapter> + + <chapter + id="install"> + <chapterinfo> + <author> + <firstname>Nik</firstname> + <surname>Clayton</surname> + <affiliation> + <address><email>nik@FreeBSD.org</email></address> + </affiliation> + </author> + </chapterinfo> + + <title>¦w¸Ë</title> + + <qandaset> + <qandaentry> + <question id="floppy-download"> + <para>Yn¥Î³nºÐ¤ù¶}¾÷¨Ó¦w¸Ë FreeBSD ªº¸Ü¡An¤U¸üþ¨ÇÀɮשO¡H</para> + </question> + + <answer> + <para>&os; 4.X ªº¸Ü¡A»Ýn¨âÓ image ÀÉ¡G + <filename>floppies/kernel.flp</filename> ¤Î + <filename>floppies/mfsroot.flp</filename>¡Cimage ÀÉ¥²¶·¥Î¤u¨ã¹³¬O + <command>fdimage</command> ©Î &man.dd.1; ¨Ó¶Ç°e¨ìºÏ¤ù¤W¡C + Y¬O¦b &os; 5.3 (¤Î¤§«áª©¥»)¦³«·s³W¹º¶}¾÷¤ù¬[ºc¡A©Ò¥Hn§ìªº¬O + <filename>floppies/boot.flp</filename> ¥H¤Î <filename>floppies/kern<replaceable>X</replaceable></filename> + ÀÉ®×(¥Ø«e X ¬° 1 ¸ò 2 ¨âÓ¡A¥[¤W <filename>floppies/boot.flp</filename>¡AÁ`¦@¬O 3 ÓÀÉ®×)¡C</para> + + <para>Y·Q¦Û¤v¤U¸ü distributions ªº¸Ü(¤ñ¦p¥H &ms-dos; Àɮרt²Î®æ¦¡¦w¸Ë)¡A + ¥H¤U¬O«Øijn§ìªº distributions ¡G</para> + + + <itemizedlist> + <listitem> + <para>base/ (4.X ª©¥»«h¬° bin/)</para> + </listitem> + + <listitem> + <para>manpages/</para> + </listitem> + + <listitem> + <para>compat*/</para> + </listitem> + + <listitem> + <para>doc/</para> + </listitem> + + <listitem> + <para>src/ssys.*</para> + </listitem> + </itemizedlist> + + + <para>§¹¾ã¦w¸Ë¨BÆJ¥H¤Î¤j³¡¤Àªº¦w¸Ë°ÝÃD¡A½Ð°Ñ¾\ FreeBSD ¨Ï¥Î¤â¥Uªº + <ulink url="&url.books.handbook;/install.html">¦w¸Ë FreeBSD</ulink> ³¹¸`</para> + + </answer> + </qandaentry> + + <qandaentry> + <question id="floppy-image-too-large"> + <para>YºÏ¤ù¸Ë¤£¤U image Àɪº¸Ü¡A¸Ó«ç»ò¿ì©O¡H</para> + </question> + + <answer> + <para>¤@±i 3.5 ^¦T(1.44MB) ªººÏºÐ¤ù¬O¥i¥H¸Ë¤W 1474560 bytes ªº¸ê®Æ + ¡A¦Ó¶}¾÷¤ùªº image Àɮפj¤p¹ê»Ú¤W¤]¬O 1474560 bytes¡C</para> + + <para>¦b»s§@¶}¾÷¤ù®É¡A±`¨£¿ù»~¦³¡G</para> + + <itemizedlist> + <listitem> + <para>¨Ï¥Î <acronym>FTP</acronym> ¨Ó¤U¸üÀɮ׮ɡA + ¥¼¿ï¾Ü <emphasis>binary</emphasis> ¶Ç¿é¼Ò¦¡¨Ó¤U¸ü¡C</para> + + + <para>¦³¨Ç FTP clientºÝµ{¦¡¡A¬O¹w³]±N¶Ç¿é¼Ò¦¡³]©w¬° + <emphasis>ascii</emphasis> ¼Ò¦¡¡A¦Ó¥B·|קﱵ¦¬¨ìªºÀɮצæ§À¦r¦ê¬° client ºÝªº§@·~¨t²Î¤è¦¡ + ¡A¤ñ¦p newline(&unix;®æ¦¡) ¨ì¤F§@·~¨t²Î¬° &windows; ªº client ºÝ·|³Q§ï¬° CR-LF(&ms-dos;®æ¦¡)¡A + ³o·|¨Ï±o image ÀÉ¥»¨¾D¨ìקï¦ÓµLªk¥¿±`¨Ï¥Î¡C¦]¦¹¡A¦pªG¤U¸üªº image + Àɮפj¤pY»P FTP ¥D¾÷¤W±ªºÀɮסy<emphasis>¤£¤@P</emphasis>¡z + ªº¸Ü¡A½Ð«·s¨Ï¥Î binary ¶Ç¿é¼Ò¦¡¤U¸ü§Y¥i¡C</para> + + <para>FTP «ü¥O: ¶i¤J FTP ¤§«á¡A¥´ <emphasis>binary</emphasis> + «ü¥O¡A§Y¥i¤Á´«¨ì binary ¶Ç¿é¼Ò¦¡¡AµM«á¦A¤U¸ü¬ÛÃö image ÀɮסC</para> + </listitem> + + <listitem> + <para>ª½±µ¥Î &ms-dos; ªº <command>copy</command> «ü¥O(©ÎÃþ¦ü + ªº GUI µ{¦¡¡B©Î¬Oµøµ¡¤Wª½±µ½Æ»s)¨Ó½Æ»s¶}¾÷¥Îªº image ÀɨìºÏ¤ù¤W¡C + </para> + + <para>¤£¥i¥H¥Î¹³¬O <command>copy</command> ³oÃþµ{¦¡ª½±µ±N image + Àɽƻs¨ìºÏ¤ù¤W¡A¦]¬° image ÀÉ¥»¨¥]§t¤F§¹¾ãªººÏy¸ê®Æ¡A©Ò¥H¤£¯à³æ¯Â¥Î½Æ»s¤è¦¡¡A + ¦Ó¥²¶·¨Ï¥Î§C¶¥¤u¨ãµ{¦¡(¹³¬O <command>fdimage</command> ©Î <command>rawrite</command>)¡A + ¥H <quote>raw</quote> ¤è¦¡¶Ç°e¨ìºÏ¤ù¤W¡C(³o³¡¤À¥i°Ñ¾\ FreeBSD ¨Ï¥Î¤â¥U¤Wªº <ulink + url="&url.books.handbook;/install.html">¦w¸Ë FreeBSD</ulink>)</para> + </listitem> + </itemizedlist> + </answer> + </qandaentry> + + <qandaentry> + <question id="install-instructions-location"> + <para>¥i¥H¦bþÃä§ä¨ì¦w¸Ë FreeBSD ªº¸Ñ»¡¨BÆJ©O¡H</para> + </question> + + <answer> + <para>¦w¸Ë¨BÆJªº¸Ñ»¡¡A½Ð°Ñ¾\ FreeBSD ¨Ï¥Î¤â¥U¤Wªº + <ulink url="&url.books.handbook;/install.html">¦w¸Ë FreeBSD</ulink> ³¹¸`³¡¤À¡C</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="need-to-run"> + <para>n¶] FreeBSD »Ýn¤°»òªº°t³Æ©O¡H</para> + </question> + + <answer> + <para>&os; 4.X ¤§«eªºª©¥»¡AµwÅé»Ý¨D¬° 386 ©Î§ó°ª¯Åªº PC + ¡A°O¾ÐÅé(RAM)¦Ü¤Ön 5 MB ©Î§ó¦h¡AµwºÐªÅ¶¡¦Ü¤Ön 60 MB ©Î§ó¦h¡C + ¤£¹L¡A&os; ¡y¨t²Î¦w¸Ëµ{¦¡¡zªº°O¾ÐÅé(RAM)»Ý¨D¬°¦Ü¤Ö 16 MB¡C</para> + + <para>±q &os; 5.X °_¡AµwÅé»Ý¨D¬° 486 ©Î§ó°ª¯Åªº PC + ¡A°O¾ÐÅé(RAM)¦Ü¤Ön 24 MB ©Î§ó¦h¡AµwºÐªÅ¶¡¦Ü¤Ön 150 MB ©Î§ó¦h¡C + </para> + + <para>&os; ªº©Ò¦³ª©¥»³£¥i¥H¥u¥Î§C¶¥ªº MDA ³W®æÅã¥Ü¥d¡A¤£¹L...n¶] X11R6 µøµ¡ªº¸Ü¡A + ÁÙ¬O¦Ü¤Ö¥Î VGA ©Î§ó¦n³W®æªºÅã¥Ü¥d¨Ó¥Î§a¡C</para> + + <para>³o³¡¤À¤]¥i°Ñ¾\ <xref linkend="hardware"/>¡C</para> + + </answer> + </qandaentry> + + <qandaentry> + <question id="four-meg-ram-install"> + <para>§Ú¹q¸£ RAM ¥u¦³ 4MB ¦Ó¤w¡A¥i¥H¸Ë FreeBSD ¶Ü¡H</para> + </question> + + <answer> + <para>¦w¸Ë &os; 4.X ªº°O¾ÐÅé»Ý¨D¬°¦Ü¤Ö 5 MB ¡A¦Ó + ¦w¸Ë &os; 5.X (§t¤§«áª©¥») «h¬O¦Ü¤Ön 8 MB ¡C</para> + + <para>¦b 5.X ¤§«eªº©Ò¦³ &os; ª©¥»¡A³£¥i¥H¥u¥Î 4 MB ªº°O¾ÐÅé¨Ó + <emphasis>¡y¹B§@¡z</emphasis>¡A¤£¹L¡A«e±¨º¸`§ÚÌ»¡¹L¤F¡y¨t²Î¦w¸Ëµ{¦¡¡zªº¸Ü¡A + «hµLªk¥u¥Î 4 MB ªº°O¾ÐÅé¨Ó°õ¦æ¡C¦]¦¹¡A§A¥i¥H¥ý¦b¡y¨t²Î¦w¸Ëµ{¦¡¡z³o¨BÆJ¤§«e¡A + ¥ý±N°O¾ÐÅé¥[¨ì 16 MB ¥H¤W¡A¦w¸Ë§¹ FreeBSD ¤§«á¡A´N¥i¥H§â¦h¾lªº°O¾ÐÅ鮳¤U¨Ó¡C + ©ÎªÌ¬O¡A¥ý§ân¦w¸ËªºµwºÐ®³¨ì¦³¨¬°÷°O¾ÐÅ骺¾÷¾¹¤W¥ý¸Ë¦n¡A + µM«á¦A§âµwºÐ©ñ¦^ì¾÷¾¹¡C</para> + + <para>¦¹¥~¡A¥u¥Î 4 MB ªº°O¾ÐÅé¨Ó¹B§@ªº¸Ü¡A¥²¶·n¦Û»s kernel(®³±¼¤£¥²nªº¥H¤ÎÄ묹¤@¨ÇªF¦è)¡C + ¤]¦³¤H¦¨¥\¥u¥Î 2 MB ªº°O¾ÐÅé¥H &os; ¶}¾÷(ÁöµM³o¼Ëªº¨t²Î´X¥Gµ¥©ó¼o¤F..)</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="custom-boot-floppy"> + <para>n«ç¼Ë¤~¯à¦Û¦æ¥´³y±M¥Îªº¶}¾÷¡B¦w¸ËºÏ¤ù©O¡H</para> + </question> + + <answer> + <para>¥Ø«e¡AÁÙ¨S¦³¿ìªk<emphasis>¡y¥u¡z</emphasis>¦Û»s±M¥Îªº¶}¾÷¡B¦w¸ËºÏ¤ù¡C + ¥²¶·³z¹L¦Û¦æ¥´³y§¹¾ã§@·~¨t²Îªº release(µo¦æ)¡A³o¼Ë¸Ì±¤~·|¥]¬A¦Û¤vªº¶}¾÷¡B¦w¸ËºÏ¤ù¡C</para> + + <para>Y·Q¦Û¦æ¥´³y¡Bµo¦æ(release)¤@Ó§¹¾ãªº§@·~¨t²Î¡A½Ð°Ñ¾\³o½g + <ulink url="&url.articles.releng;/article.html">Release Engineering</ulink> ¤å³¹¡C</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="windows-coexist"> + <para>&windows; ¥i¥H»P FreeBSD ¦@¦s©ó¹q¸£¤W¶Ü¡H</para> + </question> + + <answer> + <para>¥ý¸Ë &windows; ¦A¸Ë FreeBSD¡C + ¨º»ò FreeBSD ¦h«¶}¾÷ºÞ²zû(boot manager)´N·|¥X²{¿ï³æÅý§A¿ï¾Ün¥H &windows; ©Î + FreeBSD ¨Ó¶}¾÷¡C¤£¹L¡AY§A¬O¥ý¸Ë FreeBSD ¦A¸Ë &windows; ªº¸Ü¡A + ¨º»ò &windows; ±N·|¤£°Ý¥ý®_¡A§â FreeBSD ªº¦h«¶}¾÷ºÞ²zû(boot manager)»\±¼¡A + ·í§A¹J¤W³oºØ±¡ªp®É¡A½Ð°Ñ¦Ò¤U¤@¸`»¡©ú¡C</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="win95-damaged-boot-manager"> + <para>¶ã.. &windows; §â§Úªº¦h«¶}¾÷ºÞ²zû(boot manager)®³±¼¤F¡In«ç»ò±Ï¦^¨Ó©O¡H</para> + </question> + + <answer> + <para>¥i¥H¥Î¥H¤U¤TºØ¤è¦¡¤§¤@¡A¨Ó±Ï¦^§Aªº FreeBSD ¦h«¶}¾÷ºÞ²zû(boot manager)¡G</para> + + <itemizedlist> + <listitem> + <para>¥i¥H±q¦U FreeBSD FTP ¯¸ªº <ulink url="ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/">/pub/FreeBSD/tools/</ulink> + §ä¨ì <filename>bootinst.exe</filename> ¤Î <filename>boot.bin</filename> ³o¨âÓÀÉ¡A + ¥H binary ¶Ç¿é¼Ò¦¡¤U¸ü«á¡A½Æ»s¨ìºÏ¤ù¤W¡A¦A¥Î DOS ¶}¾÷¤ù¶}¾÷¡A + ±µµÛ¥´Ãþ¦ü¤U±ªº«ü¥O¡G</para> + + <screen><prompt>></prompt> <userinput>bootinst.exe boot.bin</userinput></screen> + + <para>³o¼Ë¡A¦h«¶}¾÷ºÞ²zû(boot manager)´N·|«¸Ë§¹²¦¤F¡C</para> + </listitem> + + <listitem> + <para>¥Î FreeBSD ¶}¾÷¤ù¶}¾÷¡AµM«á¿ï³æ¨ºÃä¿ï Custom installation(¦Ûq¦w¸Ë)¡A + ¦A¿ï Partition¡A±µµÛ¿ï¾Ü§An¸Ë¦h«¶}¾÷ºÞ²zû(boot manager)ªºµwºÐ(³q±`¬O²Ä¤@Áû)¡A + µM«á·|¥X²{ partition editor ªºµe±¡A³o®É½Ð¤£n°µ¥ô¦óקï¡Aª½±µ«ö W Àx¦s¡A + ³o®Éµ{¦¡´N·|°Ý¬O§_n½T©w Write ¡A³Ì«á¥X²{ Boot Manager ¿ï¾Üµe±¡A + °O±on¿ï <quote>Boot Manager</quote> ¡A³o¼Ë´N·|«·s±N¦h«¶}¾÷ºÞ²zû(boot manager) + ¦w¸Ë¨ìµwºÐ¤W¡C²{¦b¡A´N¤j¥\§i¦¨¥i¥HÂ÷¶}¦w¸Ë¿ï³æ¨Ã«¶}¾÷¤F¡C</para> + </listitem> + + <listitem> + <para>¥Î FreeBSD ¶}¾÷¤ù©Î¬O¶}¾÷¥úºÐ¶}¾÷¡AµM«á¿ï³æ¨ºÃä¿ï <quote>Fixit</quote> + ¡A©Î¬O¥H Fixit ¶}¾÷¤ù©Î¬O¥úºÐ¦w¸Ëªº²Ä¤G¤ù(¿ï¾Ü <quote>live</quote> filesystem + ¿ï¶µ)µM«á´N·|¶i¤J fixit shell ¤F¡A±µµÛ¥´¤U¦C«ü¥O¡G</para> + + <screen><prompt>Fixit#</prompt> <userinput>fdisk -B -b /boot/boot0 <replaceable>bootdevice</replaceable></userinput></screen> + + <para>½Ð±N¤W±ªº <replaceable>bootdevice</replaceable> קאּ±z¹ê»Úªº¶}¾÷µwºÐ¥N¸¹ + ¤ñ¦p <devicename>ad0</devicename> (²Ä¤@Áû IDE µwºÐ) + ¡A©Î¬O<devicename>ad4</devicename> (first IDE disk on + auxiliary controller), <devicename>da0</devicename> (²Ä¤@Áû + SCSI µwºÐ)µ¥µ¥¡C</para> + </listitem> + </itemizedlist> + </answer> + </qandaentry> + + <qandaentry> + <question id="boot-on-thinkpad"> + <para>IBM Thinkpad A¨t¦C¡BT¨t¦C©Î X¨t¦Cªºµ§°O«¬¹q¸£¸Ë§¹ FreeBSD ¤§«á«¶}¾÷¡A´N·í¤F¡A¸Ó«ç»ò¿ì©O¡H</para> + </question> + + <answer> + <para>(¥»°ÝÃD¥Dn¬Oµo¥Í¦b 2000 ~ 2001 ¥|¤ë¶¡®É)³o¨Ç IBM ¾÷¾¹¤Wªº BIOS ¦´Áª©¥»¦³Ó¯äÂÎ(bug)·|§â + FreeBSD ¤À³Î°Ï»~»{¬°¬O FAT ®æ¦¡¤À³Î°Ï¡AµM«á·í BIOS ¸ÕµÛ°»´ú FreeBSD ¤À³Î°Ï®É¡A´N·|·í¤F¡C</para> + + <para>®Ú¾Ú IBM ¤è±ªº»¡ªk<footnote><para>¤@«Ê¨Ó¦Û Keith + Frechette ªº e-mail <email>kfrechet@us.ibm.com</email>¡C</para></footnote> + ¡A¥H¤U«¬¸¹/BIOSª©¥»ªº¾÷ºØ¡A¤w¸g³£¦³×¥¿¡G</para> + + <informaltable frame="none" pgwide="1"> + <tgroup cols="2"> + <thead> + <row> + <entry>«¬¸¹</entry> + <entry>BIOS ª©¥»</entry> + </row> + </thead> + + <tbody> + <row> + <entry>T20</entry> + <entry>IYET49WW(§t¤§«á)</entry> + </row> + + <row> + <entry>T21</entry> + <entry>KZET22WW(§t¤§«á)</entry> + </row> + + <row> + <entry>A20p</entry> + <entry>IVET62WW(§t¤§«á)</entry> + </row> + + <row> + <entry>A20m</entry> + <entry>IWET54WW(§t¤§«á)</entry> + </row> + + <row> + <entry>A21p</entry> + <entry>KYET27WW(§t¤§«á)</entry> + </row> + + <row> + <entry>A21m</entry> + <entry>KXET24WW(§t¤§«á)</entry> + </row> + + <row> + <entry>A21e</entry> + <entry>KUET30WW</entry> + </row> + </tbody> + </tgroup> + </informaltable> + + <para>³o¨Ç«á´Áªº IBM BIOS ×qª©¤j¦h¤w¸g×¥¿¦¹¤@¯äÂΡCJacques Vidrine ¼gµ¹ &a.mobile; ªº + <ulink url="http://docs.FreeBSD.org/cgi/mid.cgi?20010427133759.A71732">³o«Ê«H + </ulink> ¤W±»¡©ú¤FY§A·sªº IBM µ§°O«¬¹q¸£µLªk¶¶§Q¥H FreeBSD ¶}¾÷ªº¸Ñªk¨BÆJ + (°²³]¥i¥H¤É¯Å©Î°¯Å BIOS ª©¥»ªº¸Ü)¡C</para> + + <para>¦pªG¾÷¾¹¥Îªº¬O¸û¥j¦ª©¥»ªº BIOS¡A¦Ó¥B¤£¾A¦X§ó·s BIOS ªº¸Ü¡A¨º»ò¥H¤U§ÚÌ·|¤¶²Ð¼È®É¸Ñªk¡A + ±Ð§A¦p¦óקï FreeBSD ¤À³Î°Ï©Ò¨Ï¥Îªº ID ¡A¨Ã¦w¸Ë¬ÛÃö׸ɵ{¦¡¡C</para> + + <para>First, you will need to restore the machine to a state where + it can get through its self-test screen. Doing this requires + powering up the machine without letting it find a FreeBSD + partition on its primary disk. One way is to remove the hard disk + and temporarily move it to an older ThinkPad (such as a ThinkPad + 600) or a desktop PC with an appropriate conversion cable. Once + it is there, you can delete the FreeBSD partition and move the hard + disk back. The ThinkPad should now be in a bootable state + again.</para> + + <para>With the machine functional again, you can use the workaround + procedure described here to get a working FreeBSD + installation.</para> + + <procedure> + <step> + <para>±q <ulink url="http://people.FreeBSD.org/~bmah/ThinkPad/"></ulink> + ¨Ó¤U¸ü <filename>boot1</filename> ¤Î <filename>boot2</filename> ³o¨âÓÀÉ¡C + §â³o¨âÓÀɮשñ¦bºÏ¤ù¡B¥úºÐ©Î¨ä¥LµwºÐ¤W¡C</para> + </step> + + <step> + <para>¥H¤@¯ë¦w¸Ë FreeBSD ¸Ë¨ì ThinkPad ¤W¡A°O±o + <emphasis>¡y¤£n¥Î¡z</emphasis> <literal>Dangerously + Dedicated</literal> ¼Ò¦¡¡C ¦¹¥~¡A<emphasis>¡y¤£n¡z</emphasis> + ¦b§¹¦¨¦w¸Ë¤§«á´N«¶}¾÷¡C</para> + </step> + + <step> + <para>¶i¤J shell¡G(«ö <keycombo action="simul"><keycap>ALT</keycap><keycap>F4</keycap></keycombo>) + ¤Á´«¨ì<quote>Emergency Holographic Shell</quote> ©Î¬O¿ï³æ¤W±¿ï¾Ü + <quote>fixit</quote> shell¡C</para> + </step> + + <step> + <para>¥Î &man.fdisk.8; §â FreeBSD ¤À³Î°Ï ID ¥Ñ <literal>165</literal> §ï¬° + <literal>166</literal>(OpenBSD©Ò¨Ï¥ÎªºID)¡C</para> + </step> + + <step> + <para>§âèè´£ªº <filename>boot1</filename> ¸ò + <filename>boot2</filename> ³o¨âÓÀɮשñ¨ì¥Ø«eªºµwºÐÀɮרt²Î¤W¡C</para> + </step> + + <step> + <para>¥H &man.disklabel.8; §â <filename>boot1</filename> ¤Î + <filename>boot2</filename> ¦s¨ì§Aªº FreeBSD slice ¤W±¡C</para> + + <screen>&prompt.root; <userinput>disklabel -B -b boot1 -s boot2 ad0s<replaceable>n</replaceable></userinput></screen> + + <para><replaceable>¡un¡v</replaceable> ¬O§A¸Ë FreeBSD ªº slice¡A + ½Ð±N <replaceable>¡un¡v</replaceable> §ï¬°²Å¦X§A¨t²Î²{ªpªº slice¡C</para> + </step> + + <step> + <para>«¶}¾÷¡A¦b boot prompt ·|¬Ý¨ì¦³ <literal>OpenBSD</literal> ªº¿ï¶µ¡A + ¿ï¥¦¡A³o¼Ë´N·|¥H FreeBSD ¶}¾÷¡C</para> + </step> + </procedure> + + <para>¥t¥~¡A¦Ü©ó¦p¦óÅý OpenBSD ¤Î FreeBSD ¨Ã¦s¦b¦P¤@¥x IBM ThinkPad ¤W... + ³oÓ°ÝÃD´N¥æµ¹¦U¦ì¬Ý¾Ì¥h¹Á¸Õ¤F :p</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="install-bad-blocks"> + <para>¦³ÃayªºµwºÐ¥i¥H®³¨Ó¸Ë FreeBSD ¹À¡H</para> + </question> + + <answer> + <para>(¦pªG«Ü°í«ùªº¸Ü)¤]¬O¥i¥H¡A¤£¹L³o·QªkÅãµM¤£¤Ó©ú´¼¡C:(</para> + + <para>¦pªG¦b¤@¯ë¸û·sªº IDE µwºÐ¤W¬Ý¨ì¦³Ãay¡A«Ü¦³¥i¯à¥Nªí¡G³oÁûµwºÐ§Y±N±¾ÂI¤F¡C + (¦]¬°¥Ø«e©Ò¦³¸û·sªº IDE µwºÐ¡A¤º³¡³£¦³¦Û°Ê remapping Ãayªº¯à¤O¡C + ¦pªG¬Ý¨ì¦³Ãay¡A«hªí¥Ü¥¦¤º³¡¦Û°Ê remapping ¥\¯à¥¢®Ä¡AµLªk³B²zÃay¡A + ¤]´N¬O»¡³oÁûµwºÐ¤w¸g¬OÄY«·lÃaµ{«×¤F¡C)§ÚÌ«Øij¶RÁû·sµwºÐ¤ñ¸û°®¯Ü¨Çò¡C</para> + + <para>¦pªG¬O SCSI µwºÐ¦³Ãayªº¸Ü¡A½Ð¸ÕµÛ°Ñ¦Ò³oÓ + <link linkend="awre">¸Ñªk</link>¡C</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="boot-floppy-strangeness"> + <para>¥Î¦w¸ËºÏ¤ù¶}¾÷®É¡A«o¦³¨Ç©Ç²{¶Hµo¥Í¡I³o¬O¤°»ò±¡ªp©O¡H</para> + </question> + + <answer> + <para>Y¬Ý¨ì¤@¨Ç©Ç²§²{¶H¡A¹³¬O¶}¾÷¤ù¶}¾÷¶}¨ì¤@¥b´N·í¤F¡AºÏºÐ¾÷§¹¥þ¨S¥ô¦ó°Ê§@¡B + ©Î¬O¤£Â_¤ÏÂЫ¶}¾÷¡A½Ð¥ýÀˬd¥H¤U´XÓ½u¯Á¡G</para> + + <orderedlist> + <listitem> + <para>½Ð½T©w¬O§_¬°¥þ·s¡B¨S¦³ºÏy¿ù»~ªººÏ¤ù¡H + (³Ì¦n¨Ï¥Î·s¶Rªº¡A¦Ó«DÂø»x¡B®Ñ¥»ªþÃتº¡A¬Æ¦ÜÁÙ©ñ¦b§É©³¤U¤T¦~¤F...=_="")</para> + </listitem> + + <listitem> + <para>½Ð½T©w¬O§_¦³¥Î binary(©Îimage)¶Ç¿é¼Ò¦¡¨Ó¤U¸ü image ÀÉ¡H + (¤£¥Îı±o¤£¦n·N«ä¡A§Y¨Ï¬O§Ṳ́]´¿·N¥~¥H ASCII ¶Ç¿é¼Ò¦¡¨Ó¤U¸ü binary ÀɮסI)</para> + </listitem> + + <listitem> + <para>Y§A¬O &windows; 95/98/ME/NT/2000/XP/2003 ¨Ó¤U¸ü¡B»s§@¶}¾÷ºÏ¤ùªº¸Ü¡A + ½Ð½T©w¬O§_¦³¦b DOS ¼Ò¦¡¨Ï¥Î <command>fdimage</command> ©Î + <command>rawrite</command> ³o¨âÓ¤u¨ãµ{¦¡¡HèÁ¿ªº³o¨Ç§@·~¨t²Î¡A + ³£·|¼vÅTµ{¦¡¥hª½±µ¼g¤JµwÅé¡A¹³¬O»s§@¶}¾÷¤ù¤§Ãþªº°Ê§@¡C + ¦³®ÉÔ¡A¦b GUI ¤¶±¤Wªº DOS shell ¤]¥i¯à·|µo¥Í³o¼Ëªº°ÝÃD¡C + </para> + </listitem> + </orderedlist> + + <para>¦¹¥~¡Aª½±µ³z¹L &netscape; ÂsÄý¾¹¤U¸ü image Àɪº¸Ü¡A¤]¦³Ãþ¦ü²{¶H¡C + ©Ò¥H¡A¦pªG¥i¥Hªº¸Ü¡A½Ð§ï¥Î¨ä¥L¥i¥H½Õ¾ã³]©wªº FTP clientºÝµ{¦¡¨Ó¶i¦æ¤U¸ü¡C + (·íµM¡An°O±o½Õ binary ¶Ç¿é¼Ò¦¡)</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="no-install-cdrom"> + <para>¥Î¥úºÐ¶}¾÷¤ù¨Ó¦w¸Ë¡A¦ý¥úºÐ¶}¾÷«á¡A¦w¸Ëµ{¦¡»¡§ä¤£¨ì¥úºÐ...³o¬O«ç»ò¤F¡H</para> + </question> + + <answer> + <para>³q±`°ÝÃD¦b©ó¥úºÐ¾÷³]©w¿ù»~¡C¥Ø«e«Ü¦h¹q¸£ªº¥X¼t¼Ð·Ç°t³Æ³£¦³¥úºÐ¾÷¡A¨Ã¥B + ·|¹w¥ý³]©w¬° IDE ³q¹D¤W± Secondary ªº Slave ³]³Æ¡A¦Ó Secondary ¤W±ªº + «o¨S¦³ Master ³]³Æ¡C¥H ATAPI ªº³W®æ¦Ó¨¥¡A³o¬O¿ù»~ªº³]©w¡AµM¦Ó &windows; ªº§@ªk + ¬O¤£²z·|³o¨Ç³W®æ¤Wªº³]©w°ÝÃD¡A¦Ó¥B¶}¾÷®É BIOS °»´ú¤]·|²¤¹L³oÂI¡C + ³o¤]´N¬O¬°¤°»ò BIOS ¥i¥H¬Ý¨ì¥úºÐ¡A¨Ã¥B¥i¥Î¥úºÐ¶}¾÷¡A¦ý FreeBSD + µLªk¥¿±`§ì¨ì¥úºÐ¥H¶¶§Q¶i¦æ¦w¸Ë¡C</para> + + <para>¸Ñªk¡G«·s³]©w¨t²Î¡AÅý¥úºÐ¦¨¬°¥¦©Ò³s±µ¨º±ø IDE ³q¹Dªº Master¡A + ©ÎªÌ¥u¦³¤@±ø IDE ³q¹Dªº¸Ü¡A¨º´NÅý¥úºÐ¾÷¦¨¬° Slave + ¡A·íµM¸Ó IDE ³q¹D¤W¦Ü¤Ön¦³ Master ³]³Æ¡C</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="install-PLIP"> + <para>§Ú¥i¥H¥Î PLIP(Parallel Line IP)¤è¦¡¨Ó¦w¸Ë FreeBSD ¨ìµ§°O«¬¹q¸£¤W¶Ü¡H</para> + </question> + + <answer> + <para>¥i¥H¡A¥Î¤@±ø´¶³qªº Laplink ½u´N¥i¥HÅo¡CY¦³³o¤è±»Ý¨Dªº¸Ü¡A½Ð°Ñ¾\ FreeBSD ¨Ï¥Î¤â¥U¤¤ªº + <ulink url="&url.books.handbook;/network-plip.html">PLIP + ³¹¸`</ulink> ªº²Ó³¡³]©w</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="geometry"> + <para>¸Ó¥Îþ¤@ºØµwºÐ³]©w°Ñ¼Æ(geometry)©O¡H</para> + </question> + + <answer> + <note> + <para>³o¸Ìªº¡yµwºÐ³]©w°Ñ¼Æ(geometry)¡z¡A«üªº¬OµwºÐ¤Wªº + ¡ucylinders¡v¡B¡uheads¡v¡B¡usectors/track¡v ³o¤TÓ³]©w°Ñ¼Æ¡C + ±µ¤U¨Óªº¤å³¹¤º¡A¬°¤F¤è«K¤¶²Ð¡A±N²ºÙ¬°¡yC/H/S¡z¡C + ³o¨Ç³]©w°Ñ¼Æ¬OÅý PC ¤Wªº BIOS ¯à¶¶§Q¦a¥¿±`§P§OµwºÐ¡A + »PµwºÐ¥»¨Åª¼gªº«n¦]¯À¡C</para> + </note> + + <para>¹ïè±µ¤âªº¨t²ÎºÞ²zªÌ·s¤â¦Ó¨¥¡A³o¨Ç³]©w°Ñ¼Æ±`³y¦¨¤@¨Ç§xÂZ¡C + º¥ý¡ASCSI µwºÐ¤Wªº <emphasis>physical</emphasis> geometry + ¸ò FreeBSD ¤Wªº disk blocks ¬O§¹¥þµLÃöªº¡C¨Æ¹ê¤W¡A + ´NµwºÐ¤WºÏ°Ï±K«×ªºÅܤƦӨ¥¡A¨Ã¨S¦³©Ò¿×¡yphysical geometry¡z³oºØªF¦è¡C + µwºÐ»s³y°Ó©Ò»¡ªº¡yphysical geometry¡z³q±`¬O«ü¡G + µwºÐ¤W©Ò¨Ï¥Î³Ì¤pªÅ¶¡¨Ó¦s©ñ¸ê®Æªº³]©w°Ñ¼Æ(geometry)¡C + ¥H IDE µwºÐ¦Ó¨¥¡AFreeBSD ¥Î¥H¦s¨úµwºÐ³]©wªº¤è¦¡¬O C/H/S ¡A + µM¦Ó¡A¥Ø«e¥«±¤WªºµwºÐ¦´N¦b¤º³¡¹B§@®É¡A´N¦Û°ÊÂà´«¬° block ¤è¦¡ + ¤F¡C</para> + + <para>¯u¥¿ÃöÁ䪺¦a¤è¡A¨ä¹ê¬O¦b©ó ¡y<emphasis>logical</emphasis> + geometry¡z¡X ³o¬O BIOS °»´úµwºÐ®É©Ò±o¨ìªº³]©w¡A¨Ã¥B¥Î¨Ó¨M©wµwºÐ¦s¨ú¤è¦¡¡C + ¥Ñ©ó FreeBSD ¬O±Ä¥Î BIOS ªº°»´ú³]©wÈ¡A©Ò¥H¦p¦ó¨ÓÅý BIOS °»´ú¨ìªº³]©wÈ«O«ù¥¿½T¡A + ¬O¤Q¤À«n¡C¤×¨ä¬O¦P¤@ÁûµwºÐ¤W¦³¦hÓ§@·~¨t²Îªº±¡ªp¡A + ¥¦Ì³£¥²¶·±Ä¥Î¤@PªºµwºÐ³]©w°Ñ¼Æ(geometry)¡A + §_«h´N·|¦³¶}¾÷¶i¤£¥h§@·~¨t²ÎªºÄY«°ÝÃD¤F¡C</para> + + <para>¥H SCSI µwºÐ¦Ó¨¥¡AµwºÐ³]©w°Ñ¼Æ(geometry)¬O¥Ñ SCSI ¥d¤Wªº + extended translation(³q±`«üªº¬O¦³¼Ð¥Ü <quote>support >1GB</quote>(¤ä´© 1GB ¥H¤W®e¶q¡A©ÎÃþ¦ü¦Wµü) + ¤ä´©»P§_¨Ó§@¨M©w¡C + ¦pªG¤£¤ä´©¡A¨º»ò´N·|±Ä¥Î <replaceable>N</replaceable> cylinders¡B + 64 heads¡B 32 sectors/track §@¬°µwºÐ³]©w°Ñ¼Æ(geometry)¡A³o¸ÌÁ¿ªº¡y<replaceable>N</replaceable>¡z + ¬O«üµwºÐªº®e¶q(³æ¦ì¡GMB)¡CÁ|Ó¨Ò¤l¨Ó»¡¡A¤@Áû 2GB µwºÐÀ³¸Ó¬O + 2048 cylinders¡B64 heads¡B32 sectors/track¡C</para> + + <para>¦pªG¸Ó SCSI ¦³¤ä´©¨Ï¥Î extended translation ªº¸Ü¡A + (³q±`³oӤ覡¦b &ms-dos; ¨Ï¥Î¤W¦³¬Y¨Ç¨î)¡A¨Ã¥BµwºÐ®e¶q¤j©ó 1GB¡A + ¨º»òµwºÐ³]©w°Ñ¼Æ(geometry)´N·|¨Ï¥Î¹³¬O¡G + M cylinders¡B255 heads¡B¨CºÏy 63 sectors(½Ðª`·N¡G¤£¬O¡y64¡z®@)¡A + ³o¸ÌÁ¿ªº¡y<literal>M</literal>¡z¬O«üµwºÐªº®e¶q(³æ¦ì¡GMB)¦A°£¥H + 7.844238 ©Ò±o¥Xªº¼Æȳá¡I©Ò¥H¡A³oÓ¨Ò¤lªº¸Ü¡A¦P¼Ë¬O 2GB µwºÐÀ³¸Ó¬O + 261 cylinders¡B255 heads¡B¨CºÏy 63 sectors¡C</para> + + <para>Y¹ï¤W±Á¿ªº¤£ÁA¸Ñ¡A©Î¬O FreeBSD ¦b¦w¸Ë®É©Ò°»´ú¨ìªºµwºÐ³]©w°Ñ¼Æ(geometry) + ¦³°ÝÃDªº¸Ü¡A³Ì²³æªº¸Ñªk³q±`¬O¦bµwºÐ¤W«Ø¥ß¤@¶ô¤p¤pªº DOS ¤À³Î°Ï(partition)¡C + ³o¼Ë¤@¨Ó¡A´N¥i¥H°»´ú¨ì¥¿½TªºµwºÐ³]©w°Ñ¼Æ¤F¡A¦Ó¥B¡A + ¦pªG¤£·QÄ~Äò¯dµÛ¨º¤p¶ô DOS ¤À³Î°Ïªº¸Ü¡A¥i¥HÀH®É¥Î partition editor + ¨Ó®³±¼¥¦¡C©ÎªÌ§â¥¦¯dµÛ·í§@ºô¸ô¥dÅX°Êµ{¦¡¨Ï¥Î¡A©ÎÀH§A°ª¿³«ç»ò¥Î¥¦¡C</para> + + <para>¦¹¥~©O¡A¦³Ó§K¶O¦n¥Îªº¤u¨ãµ{¦¡¥s°µ¡y<filename>pfdisk.exe</filename>¡z¡A + ³oÓµ{¦¡©ñ¦b¦U FreeBSD FTP ¯¸©Î¥úºÐªº <filename>tools</filename> ¥Ø¿ý¤U¡A + ¥¦¥i¥H¥Î¨Ó§ä¥XµwºÐ¤W¨ä¥L§@·~¨t²Î©Ò¨Ï¥ÎªºµwºÐ³]©w°Ñ¼Æ¡A + µM«á´N¥i¥H¦b partition editor ¤º¿é¤Jèè§ä¨ìªº¨º¨Ç³]©w°Ñ¼Æ´N¥i¥H¤F¡C</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="disk-divide-restrictions"> + <para>¤À³ÎºÏºÐ¾÷®É¦³¥ô¦ó¨î¶Ü¡S</para> + </question> + + <answer> + <para>¦³¡A§A¥²¶·½T»{§Aªº root ¤À³Î°Ï¬O¦b 1024 cylinders ¤§¤º¡AÅý + BIOS ¥i¥H±q¨ä¤¤±Ò°Ê®Ö¤ß¡C(ª`·N¡G³o¬O PC ªº BIOS ¥\¯à¨î¡A¦Ó¤£ + ¬O FreeBSD ªº)</para> + + <para>¥H SCSI µwºÐ¦Ó¨¥¡A³q±`¬O§â <literal>root</literal> (<filename>/</filename>) + ¤À³Î°Ï©ñ¨ìµwºÐ³Ì«e±ªº 1024MB (¦pªG¦³¤ä´© extended translation ªº¸Ü¡A + ¨º»ò¬O³Ì«e±ªº 4096MB ¡X ³oÂI½Ð°Ñ¦Ò¤W¤@¤p¸`)¡C¦Ó IDE µwºÐªº¸Ü¡A¬Û¹ïÀ³ªº«h¬O 504MB¡C</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="disk-manager"> + <para>¥i¥H¨Ï¥Îþ¨ÇºÏºÐºÞ²zµ{¦¡(disk managers)©O¡H</para> + </question> + + <answer> + <para>FreeBSD ¥i¥H¥Î Ontrack Disk Manager ¨Ã¥B¹B§@¥¿±`¡A + ¦Ü©ó¨ä¥Lªº disk manager «h¤£¦b¥¿¦¡¤ä´©¤§¦C¡C</para> + + <para>Y¾ãÁûµwºÐ¥u¸Ë FreeBSD ¡A¨º»ò´N¤£¥Î¦A¸Ë disk manager ¤F¡C + ¥un§âµwºÐ³]©w¬° BIOS ©Ò¯à§ì¨ìªº³Ì¤jªÅ¶¡¡A¨º»ò FreeBSD ´N¥iºâ¥X¹ê»Ú¤W¥i¨Ï¥ÎªºªÅ¶¡¤F¡C + ¦pªG¡A¥¿¦b¨Ï¥Îªº¬O¥j¦ MFM ±±¨î¥dªºÂ¦¡µwºÐ¡A + ¨º»ò´N»Ýn¦b FreeBSD¤º§@ cylinders ¬ÛÃö³]©w¤F¡C</para> + + <para>¦pªG·Q¦bºÏºÐ¤W¨Ï¥Î FreeBSD ©M¥t¥~ªº§@·~¨t²Î¡A¤]¥i¥H¤£¸Ë disk manager¡A + ¥un½T©w FreeBSD ªº±Ò°Ê¤À³Î°Ï¸ò¨ä¥L§@·~¨t²Îªº slice ³£¦ì©ó¶}©lªº 1024 cylinders + ¤º´N¥i¥H¤F¡C¦pªG§A¬Û·í¦a°ª©úªº¸Ü¡A¤@Ó 20MB ªº±Ò°Ê¤À³Î°ÏÀ³¸Ó´N°÷¥Î¤F¡C</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="missing-os"> + <para>FreeBSD ¦w¸Ë§¹²¦«á«¶}¾÷¡A¦ý¬O¹q¸£«o»¡ <errorname>Missing Operating + System</errorname>³o¬O«ç»ò¤F¡H</para> + </question> + + <answer> + <para>³q±`ì¦]¥X¦b FreeBSD ¤Î DOS ©Î¨ä¥L§@·~¨t²Î¦bµwºÐªº <link + linkend="geometry">³]©w°Ñ¼Æ(geometry)</link>¤Wªº³W¹º¦³¬Û½Ä¡C¸Ñªk¬O«¸Ë¡A¦ý¬O½Ð·Ó + ¤Wzªº¬ÛÃö³¹¸`¨BÆJ¨Ó°µ¡C</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="stop-at-boot-manager"> + <para>¬°¤°»ò¾÷¾¹¤W¦h«¶}¾÷ºÞ²zû(boot manager)¥X²{¤F <prompt>F?</prompt> ³oÓ¿ï³æµe±¡A + ¦ý«o¤£·|¦Û°Ê¸õ¹L¦ÓÄ~Äò¶}¾÷©O¡H</para> + </question> + + <answer> + <para>³oÓ¯gª¬¬O¥»¤å¤W±©Ò´£ªº¥t¥~¤@Ó°ÝÃD¤F¡Aì¦]¦b©ó BIOS ¤W¸ò FreeBSD + ¤W±¨âÃ䪺µwºÐªº <link linkend="geometry">³]©w°Ñ¼Æ(geometry)</link> ¨Ã¤£¤@P¡C + Y§AµwºÐ©Î BIOS ¤ä´© cylinder translation + (³q±`·|³Q¼Ð¬° <quote>support >1GB(¤ä´© 1 GB¥H¤W®e¶q)</quote>ªº¸Ü¡A + ¸Õ¸Õ¬Ý§ó§ï¬ÛÃö³]©w¡A¨Ã«¸Ë FreeBSD¡C</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="need-complete-sources"> + <para>¦w¸Ë FreeBSD ®É¡A»Ýn¦w¸Ë§¹¾ãªº sources ¶Ü¡H</para> + </question> + + <answer> + <para>¤@¯ë¨Ó»¡¡A³o¬O¥Î¤£µÛªº¡CµM¦Ó¡A§Ú̱j¯P«Øij±zªº source ¦Ü¤Ön¸Ë + <literal>base</literal>(¥]§t¤F¥»¤å¤¤©Ò´£ªº¤@¨ÇÀÉ®×)¡B¥H¤Î + <literal>sys</literal> (kernel ªº source ÀÉ)¡C + ÁöµM¡A§@·~¨t²Î¥»¨¹B¬O¤£»Ýn¸Ë source ÀÉ¡A¦ý¬O &man.config.8; ³oÓ kernel³]©wµ{¦¡«h»Ýn src ¡C + Y¨S¸Ë kernel ªº source ÀÉ¡A¤´µM¥i¥H¥Î¨ä¥L¦a¤è³z¹L NFS ±¾¸üªº°ßŪÀɮרt²Î¡A + ¨Ó½sĶµ{¦¡¡C + ¦ý¥Ñ©ó kernel-source ¥»¨ªº¨î¡A§ÚÌ«Øij¤£nª½±µ mount ¦b <filename>/usr/src</filename>¡A + ³Ì¦n¬O¥Î symbolic link(°Ñ¾\ &man.ln.1;) ±N±¾¸üªº¸ô®|¡A³]©w³sµ²¨ì<filename>/usr/src</filename> + ¥Ø¿ý¡C</para> + + <para>¦b¾÷¾¹¤Wª½±µ¸Ë¦³ source ¨Ã¥BÁA¸Ñ¬ÛÃö½sĶ¹Lµ{¡A³o¼Ë¤l¤é«á¤É¯Å + FreeBSD ·|¨Ó±o¤è«K¦h¡C</para> + + <para>Y§Ñ¤F¸Ë¬ÛÃö source ªº¸Ü¡A¥i¥H¨Æ«á¥Î <command>sysinstalll</command> + (&os; 5.2 ¤§«eª©¥»«h¬O <command>/stand/sysinstall</command>) ¨Ó¸É¸Ë¡A¿ï³æ¡GConfigure ¡÷ Distributions ¡÷ src¡C + </para> + </answer> + </qandaentry> + + <qandaentry> + <question id="need-kernel"> + <para>»Ýn«·s build kernel ¶Ü¡H</para> + </question> + + <answer> + <para>¦b«Ü¤[«Ü¤[¥H«e¡A쥻«·s build kernel ¦b FreeBSD ¦w¸Ë¹Lµ{¤¤¡A + ¬Oµ´¹ï¥²»Ýªº¨BÆJ¤§¤@¡C¦ý¥Ø«e¦´N¤£¥Î³o»ò³Â·Ð¤F¡A + ¥Ø«e¥Dn±`¨£ªºª©¥»³£¨Ï¥Î§ó¤Íµ½ªº kernel ³]©w«ü¥O¡C + &os; 4.X(§t¤§«eª©¥»)¡A¦b FreeBSD ±Ò°Ê´£¥Ü¸¹(boot:)®É¡A¨Ï¥Î <option>"-c"</option> flag + ´N·|¶i¤J³]©wµe±¡A¨Ó¹ï kernel §@±`¨£ªº ISA ¥d²Ó¸`³]©w¡C + ¦Ó &os; 5.X(§t¤§«áª©¥»)ªº¸Ü¡A«h¬O¥H§ó¨ã¼u©Êªº "hints" ³]©w¤è¦¡¡C</para> + + <para>¦pªG·Q§ó¸`¬Ù RAM ªº¨Ï¥Î¡BÁYµu¶}¾÷¬yµ{¡A¨º»ò«Øij¡G·sªº kernel ³]©wÀÉ¥un¥]§t§A»ÝnªºÅX°Êµ{¦¡¡A + µM«á«·s½sĶ¡B¦w¸Ë kernel ¨Ã«¶}¾÷¡CµM¦Ó©O¡A³oÂI¹ï¤j¦h¼Æªº¨t²Î¨Ó»¡¡A + ³o¤£¤@©w¬O¥²nªº¡C</para> + + </answer> + </qandaentry> + + <qandaentry> + <question id="password-encryption"> + <para>±K½X½s½X¸Ó±Ä¥Î DES¡BBlowfish ©Î MD5 ªºþ¤@ºØ¡H¸Ó«ç»ò³]©w©O¡H</para> + </question> + + <answer> + <para>FreeBSD ¹w³]ªº±K½X½s½X¤è¦¡¬O±Ä <emphasis>MD5</emphasis>¡C + ´N±K½X½s½X¤è¦¡¦Ó¨¥¡AMD5 ¤è¦¡¤@¯ë³Qµø¬°¤ñ¶Ç²Î &unix; ªº <emphasis>DES</emphasis> ¤è¦¡¸û¬°¦w¥þ¡C + µM¦Ó¡AY¦³»Ýn¦b¨Ï¥ÎÂÂÀô¹Ò(¸û¤£¦w¥þªº±K½X½s½X¤è¦¡ªº)¡ADES ±K½X½s½X¤è¦¡¤@¼Ë¥i¥H¨Ï¥Î¡C + (Y¨Ï¥Î sysinstall ®É¦³¿ï¾Ü <quote>crypto</quote> ®M¥ó¡A©Î¬O±q source ¤º½sĶ¦w¸Ë) + ¦³¸Ë crypto ªº¸Ü¡Acrypto libraries ¤]¤ä´©§ó¦w¥þªº Blowfish ½s½X¤è¦¡¡C</para> + + <para>±K½X½s½Xªº¤è¦¡¬O¥Ñ <filename>/etc/login.conf</filename> ¤ºªº + <quote>passwd_format</quote> Äæ¦ì¨Ó¨M©wªº¡C¸ÓÄæ³]©wÈ¡A(Y¦³¸Ë crypto ªº¸Ü)¥i¥H¬O + <quote>des</quote> ©Î <quote>blf</quote> ©Î¬O쥻ªº <quote>md5</quote>¡C + ¸Ô±¡½Ð°Ñ¾\ &man.login.conf.5; »¡©ú¡C</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="boot-floppy-hangs"> + <para>¬°¤°»ò¶}¾÷ºÏ¤ù¶}¨ì¤@¥b¡A´N¥X²{ + <literal>Probing Devices...</literal> ªºµe±°T®§¡AµM«á´N°±¦í¤F¡H</para> + </question> + + <answer> + + <para>Y¾÷¾¹¤W¦³¸Ë IDE ¤¶±ªº Iomega &iomegazip; ©Î¬O &jaz; ªº¸Ü¡A + ¦]¬°³o¨Ç³]³Æ¥i¯à¸ò¶}¾÷¤ù¦³¬Û½Ä¡A½Ð¥ý®³±¼³o¨Ç³]³Æ¦A«¸Õ¡C + ·í¾ãÓ§@·~¨t²Î¸Ë¦n«á¡A´N¥i¥H§â³o¨Ç³]³Æ±µ¦^¥h¨Ï¥Î¤F¡C + §Æ±æ³oÂI¦b¤é«á release ªº FreeBSD ¥i¥HÀò±o¹ý©³¸Ñ¨M¡C</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="panic-on-install-reboot"> + <para>¨t²Î¸Ë§¹¨Ã«¶}¾÷«á¡A¬°¤°»ò«o¥X²{ <errorname>panic: can't mount root</errorname>¡H</para> + </question> + + <answer> + <para>³oÓ¿ù»~¬O¦]¬°±Ò°ÊºÏ°Ï¸ò kernel ¨âªÌ¹ïºÏºÐ¸Ë¸mªº»{ª¾¤£¬Û¦P¡C + ³q±`³o°ÝÃD·|µo¥Í¦b¦³¨âÁû IDE µwºÐªº¨t²Î¡A¤ñ¦p¡GµwºÐ Jumper ³]©w¬° Master¡B + ©Î¬O¨â±ø IDE ±Æ½u¦U¥u³s±µ¤@ÁûµwºÐ¡A¦ý¬O¸Ë FreeBSD ¨ºÁû¶}¾÷µwºÐ¡A + «o±µ¦b Secondary IDE ±Æ½u¤W¡C + ¦p¦¹¤@¨Ó¡A¦b¶}¾÷®É·í kernel «ü©w²Ä¤GÓ IDE ±±¨î¾¹ªº²Ä¤@ӺϺо÷ ad2¡A + ±Ò°ÊºÏ°Ï«o»{¬°¨t²Î¬O¸Ë¦b ad0(BIOS°»´úªº²Ä¤GÁûµwºÐ)¡I + °»´ú§¹¸Ë¸m«á¡Akernel ¸ÕµÛ§â±Ò°ÊºÏ°Ï©Ò»{¬°ªº¶}¾÷µwºÐ(ad0) mount + °_¨Ó¡A¨Æ¹ê¤WÀ³¸Ó¬O ad2 ¤~¹ï¡A©Ò¥H´N·|¥X²{¤W±ªº¿ù»~°T®§¤F¡C</para> + + <para>¸Ñªk¦p¤U¡A½Ð¿ï¾Ü¨ä¤¤¤@ºØ¤è¦¡´N¦n¡G</para> + + <orderedlist> + <listitem> + <para>«¶}¾÷¨Ã¦b¥X²{¡y<literal>Booting kernel in 10 seconds; hit [Enter] to interrupt</literal>¡z + ´£¥Üªº®ÉÔ¡A«ö¤U <keycap>Enter</keycap>Áä¡C + ³o¼Ë¤l´N·|¶i¤J boot loader µe±¡G</para> + + <para>½Ð¿é¤J + <literal> + set + root_disk_unit="<replaceable>disk_number</replaceable>" + </literal> ³o¸Ìªº¡y<replaceable>disk_number</replaceable>¡z½Ð¨Ì¾Ú±¡ªp´«¦¨¬ÛÃö¥N¸¹¡G + Y FreeBSD µwºÐ¬O³]©w¸Ë¦b Primary IDE ±µ½uªº Master¡A´N³]¬° 0 ¡F + Y¬O Primary IDE ±µ½uªº Slave¡A´N³]¬° 1¡F + Y¬O Secondary IDE ±µ½uªº Master¡A´N³]¬° 2¡F + Y¬O Secondary IDE ±µ½uªº Slave¡A´N³]¬° 3¡C</para> + + <para>±µµÛ½Ð¦A¿é¤J <literal>boot</literal>¡AµM«á¨t²ÎÀ³¸Ó´N¥i¥H¥¿±`¶}¾÷¤F¡C</para> + + <para>Yn¨C¦¸¶}¾÷³£¦Û°Ê³]©w¡A¦Ó¤£¥²¨C¦¸³£¥´¤@¦¸¡A¨º»ò´N¦b <filename>/boot/loader.conf.local</filename> + Àɮפº¥[¤W <literal>root_disk_unit="<replaceable>disk_number</replaceable>"</literal> + ³o¦æ + (·íµM¡A¡y<replaceable>disk_number</replaceable>¡zn§ï¦¨¬ÛÃö¥N¸¹)</para> + </listitem> + + <listitem> + <para>§â FreeBSD µwºÐ§ï±µ¨ì Primary IDE ±µ½u¤W¡A¦p¦¹¤@¨Ó´N¥i¶¶§Q¨Ï¥Î¡C</para> + </listitem> + </orderedlist> + </answer> + </qandaentry> + + <qandaentry> + <question id="memory-limits"> + <para>°O¾ÐÅé³Ì¤j¨î¬°¦h¤Ö¡H</para> + </question> + + <answer> + <para>¤@¯ë &i386; ¾÷¾¹¤W³Ì¦h¥i¤ä´©¨ì 4 GB(gigabytes)¡C + ¦Ó¦Û &os; 4.9 ¤Î 5.1 ¥i¥H¶}©l¨Ï¥Î &man.pae.4; ¨Ó¤ä´©§ó¦hªº°O¾ÐÅé¡C + ¦³Ãö³oÂI¡A»Ýn¦b kernel ³]©wÀɤº¥[¤J¤U¦C¤º®e¨Ã«·s½sĶ kernel¡A¤~¯à¨Ï¥Î PAE¡C</para> + + <programlisting>options PAE</programlisting> + + <para>&os; ¦b pc98 ¾÷¾¹¤W³Ì¦h«h¥u¤ä´© 4 GB ¡A¦Ó¥B¤£¯à¨Ï¥Î PAE¡C + ¦b Alpha ¾÷¾¹¤W¡A°O¾ÐÅé¨î¤è±nµø©Ò¨Ï¥Îªº«¬¸¹¤ä´©µ{«×¦Ó©w¡A³oÂI½Ð°Ñ¾\ + ©Ò¨Ï¥Îªº Alpha µwÅé³W®æªí¡C¦Ü©ó¨ä¥L¬[ºcªº &os; ²z½×¤W³Ì¦h¥i¨Ï¥Îªº°O¾ÐÅé¡A¦³¸û¦hªº¨î¡C</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="ffs-limits"> + <para>Àɮרt²Î³Ì¤j¨î¬°¦h¤Ö¡H</para> + </question> + + <answer> + <para>´NÀɮרt²Î¤è±¡A²z½×¤Wªº¨î¬O³Ì¦h¨ì 8TB(2G blocks)¡A + ©Î¬O¨Ï¥Î¤º©w 8K block ¤j¤p®É¡A¨î¬O 16TB¡C + ¹ê»Ú¤W¡A¥Ø«e³nÅé¨Ï¥Î¤W¨î¥u¯à¥Î¨ì 1 TB¡A + µM¦Ó¦pªG¬O¦³¥t¦æ§ï³y¹LÀɮרt²Î¡A¨º»ò¹F¨ì 4TB ªº¥Ø¼Ð¬O¥i¦æªº + (¤]¦³¤H¦¨¥\¹L)¡C</para> + + <para>³æ¤@Àɮתº¤j¤p¤è±¡A°²¦p block ¥H 4K §@³W¹ºªº¸Ü¡A + «h³Ì¤j¬OÁͪñ 1G blocks(4TB)¡C</para> + + <table> + <title>Àɮפj¤pªº³Ì¤j¨î</title> + + <tgroup cols="3"> + <thead> + <row> + <entry>Àɮרt²Î block ¤j¤p</entry> + + <entry>works</entry> + + <entry>should work</entry> + </row> + </thead> + + <tbody> + <row> + <entry>4K</entry> + + <entry>4T-1</entry> + + <entry>>4T</entry> + </row> + + <row> + <entry>8K</entry> + + <entry>>32G</entry> + + <entry>32T-1</entry> + </row> + + <row> + <entry>16K</entry> + + <entry>>128G</entry> + + <entry>32T-1</entry> + </row> + + <row> + <entry>32K</entry> + + <entry>>512G</entry> + + <entry>64T-1</entry> + </row> + + <row> + <entry>64K</entry> + + <entry>>2048G</entry> + + <entry>128T-1</entry> + </row> + </tbody> + </tgroup> + </table> + + <para>When the fs block size is 4K, triple indirect blocks work + and everything should be limited by the maximum fs block number + that can be represented using triple indirect blocks (approx. + 1K^3 + 1K^2 + 1K), but everything is limited by a (wrong) limit + of 1G-1 on fs block numbers. The limit on fs block numbers + should be 2G-1. There are some bugs for fs block numbers near + 2G-1, but such block numbers are unreachable when the fs block + size is 4K.</para> + + <para>block ¤j¤p¦pªG¬O 8K ©Î§ó¤j¡AÀɮרt²Î block ¼Æ¥Ø·|³Q¨î¦b 2G-1 + ¡A¦ý¹ê»Ú¤WÀ³¸Ó»¡¨î¬O 1G-1 ¤~¹ï¡A¦]¬°±Ä¥Î 2G-1 block ªºÀɮרt²Î·|¾ÉP¤@¨Ç°ÝÃD¡C + </para> + + </answer> + </qandaentry> + + <qandaentry> + <question id="archsw-readin-failed-error"> + <para>¬°¦ó¦b±Ò°Ê·sªº kernel ®É¡A¬Ý¨ì + <errorname>archsw.readin.failed</errorname> ¿ù»~°T®§¡H</para> + </question> + + <answer> + <para>ì¦]¥X¦b§Aªº world ¥H¤Î kernel ¨Ã¤£¦P¨B¡AÁ|¨Ò¡Gkernel ¥Î 4.11¡A + ¦Ó world «o¬O 4.8¡A³o¼Ë¬O·|¦³°ÝÃDªº¡C + ½Ð¦A¦¸½T»{¡A¬O§_¦³¥H <command>make buildworld</command> ¤Î + <command>make buildkernel</command> ¨Ó¥¿±`§ó·s kernel¡C</para> + + <para>¦b±Ò°Ê loader ¤§«e¡A·|¬Ý¨ì "|" ³oӲŸ¹¦bÂà°Ê¡A³o®É¥i¥H«ö¥ô¦óÁ䤤Â_¡A + µM«á¦A«ü©wn¸ü¤JþÓ kernel ¨Ó¶}¾÷¡C</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="security-profiles"> + <para><quote>security profiles</quote> ¬O«ü¤°»ò¡H</para> + </question> + + <answer> + <para>A <quote>security profile</quote> is a set of configuration + options that attempts to achieve the desired ratio of security + to convenience by enabling and disabling certain programs and + other settings. For full details, see the <ulink + url="&url.books.handbook;/install-post.html#SECURITYPROFILE">Security + Profile</ulink> section of the Handbook's <ulink + url="&url.books.handbook;/install-post.html">post-install + chapter</ulink>.</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="boot-acpi"> + <para>¦b¶}¾÷®É¡A¿ï¾Ü¨Ï¥Î ACPI «h¦b¦w¸Ë¹Lµ{´N±¾¤F¡A¸Ó«ç»ò¿ì¡H</para> + </question> + + <answer> + <para>¸Õ¸Õ¬ÝÃö³¬ ACPI support¡C ·í¦b¸ü¤J bootloader®É¡A«ö¤UªÅ¥ÕÁä¡C + ¨t²Î·|Åã¥Ü <screen>OK</screen> ³o®É¿é¤J + <screen><userinput>unset acpi_load</userinput></screen> ±µµÛ¥´ + <screen><userinput>boot</userinput></screen> + ¥HÄ~Äò¶}¾÷¡A³o¼Ë¤lÀ³¸Ó´N¥i¥H¤F¡C</para> + </answer> + </qandaentry> + + </qandaset> + </chapter> + + <chapter + id="hardware"> + <title>µwÅé¤ä´©¤è±</title> + + <sect1 id="compatibility-general"> + <title>¤@¯ë°ÝÃD</title> + + <qandaset> + <qandaentry> + <question id="which-hardware-to-get"> + <para>§Ú·Q²Õ¸Ë¦Û¤vªº FreeBSD ¾÷¾¹¡A¦³þ¨Ç«¬¸¹¡B«~µP¡B³W®æ¬O¤ä´©µ{«×³Ì¦nªº©O¡H</para> + </question> + + <answer> + <para>¦³Ãö³oÂI¡A¦b FreeBSD °Q½×°Ï¤W®É±`¦³¤H°Q½×¡CÁöµMµwÅé¨O´«³t«×«Ü§Ö¡A + ¥i¯àÀH®É¦³·s³W®æ¡B·s²£«~¥X²{¡AµM¦Ó³o¨Ç³£¦b§ÚÌ·N®Æ¤§¤¤¡A + §ÚÌ <emphasis>¤´µM</emphasis> ±j¯P«Øij¡G¦b¸ß°Ý¦³Ãö³Ì·s³W®æµwÅ骺¤ä´©°ÝÃD¤§«e¡A + ½Ð¥ý°Ñ¾\ &os + <ulink url="&rel.current.hardware;">&rel.current;</ulink> + ©Î + <ulink url="&rel2.current.hardware;">&rel2.current;</ulink>ªº¤ä´©µwÅé¦Cªí¡A + ©Î¬O·j´M<ulink url="http://www.FreeBSD.org/search/#mailinglists">°Q½×°ÏªºÂ¤峹</ulink>¡A + ¤]³\¡A¤W¶g¤~è«ê¥©¦³¤H°Q½×¹L§A©Òn°ÝªºµwÅé¡C</para> + + <para>¦pªGn§ä¦³Ãöµ§°O«¬¹q¸£¤è±¡A½Ð¨ì FreeBSD-mobile µ§°O«¬¹q¸£°Q½×°Ï¡C + ¤£µM¡A´N¨ì FreeBSD-questions °Q½×°Ï¡A©Î¬O¯S©wµwÅé³W®æ(¤ñ¦p pc98, Alpha)ªº±MÄÝ°Q½×°Ï§a¡C + </para> + </answer> + </qandaentry> + + </qandaset> + </sect1> + + <sect1 id="compatibility-processors"> + <title>µwÅé¬[ºc¤Î CPU</title> + + <qandaset> + <qandaentry> + <question id="architectures"> + <para>FreeBSD ¦³¤ä´© x86 ¤§¥~ªºµwÅé¬[ºc¥¥x¶Ü¡H</para> + </question> + + <answer> + + <para>¦³ªº¡AFreeBSD ¥Ø«e¥i¥H¦b Intel x86 and DEC + (²{¦bªº HP-Compaq) Alpha ¬[ºc¤W±¹B§@¡C¦Û FreeBSD 5.0 ¤§«áªºª©¥»¡A«h + ¥i¤ä´© AMD64 ¤Î Intel EM64T, IA-64 ¥H¤Î &sparc64; ¬[ºc¡C + ¥¼¨Ó¥¥x¤ä´©¤WÁÙ·|¦³ &mips; ¤Î + &powerpc;¡A²Ó¸`½Ð¤À§O°Ñ¾\ &a.mips; ©Î &a.ppc;¡C + ¤@¯ë¦Ó¨¥¡A·sªºµwÅé¬[ºc¥¥x¤è±¡A³£¬O¨ì &a.platforms; °Q½×¡C</para> + + <para>Y§A¾÷¾¹¤£¬O¥H¤W¬[ºc©Î¬O¤ñ¸û©_¯Sªº¡A¦Ó·Q¥ß¨è¸Õ¸Õ¬Ý BSD ªºÅ]¤O¡A + §ÚÌ«Øij§A¥i¥H¦Ò¼{¨Ï¥Î <ulink + url="http://www.netbsd.org/">NetBSD</ulink> ©Î <ulink + url="http://www.openbsd.org/">OpenBSD</ulink>¡C</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="smp-support"> + <para>FreeBSD ¤ä´© CPU ¹ïºÙ¦h¤u³B²z(SMP, Symmetric Multiprocessing)¶Ü¡H</para> + </question> + + <answer> + <para>¦³ªº¡C SMP ¦b &os; 5.2 ¹w³]ªº kernel(<emphasis>GENERIC</emphasis>)¤w¦³±Ò°Ê¡C + </para> + + <para>¦b &os; 5.3 n release ®É¡ASMP¬ÛÃö³]©w¤]¬O¹w³]´N¦³±Ò°Ê¡C + µM¦Ó¡A¦b¤@¨Ç¸û·s«¬ªº¾÷¾¹(¹³¬O emt64)¤W«o¤S¦³¨Ç°ÝÃD¡A + ©Ò¥HÁÙ¬O¨M©w¦b¬ÛÃö°ÝÃD¡B¦w¥þijÃD¥¼Àò¸Ñ¨M«e¡A¥ýÃö³¬ SMP ªº¬ÛÃö±Ò°Ê¡C + ³oÂI¡A¥¿¬O &os; 5.4 ©ÒÀu¥ý¦Ò¼{ªº¤è¦V¡C</para> + + <para>&os; 4.X ªº¸Ü¡A¹w³]ªº kernel ¨Ã¨S¦³±Ò°Ê SMP¡A + ¦]¦¹¡A¥²¶·n§â options SMP ¥[¤J kernel ³]©wÀɨë·s½sĶ¤~¯à±Ò°Ê¡C + ¦Ü©óÁÙ¦³þ¨Ç¬ÛÃö³]©wn©ñ¤J kernel ³]©wÀÉ¡A½Ð°Ñ¾\<filename>/sys/i386/conf/LINT</filename>¡C + </para> + </answer> + </qandaentry> + </qandaset> + </sect1> + + <sect1 id="compatibility-drives"> + <title>µwºÐ¡BºÏ±a¾÷¥H¤Î¥úºÐ¡BDVD¡B¿N¿ý¾÷</title> + + <qandaset> + + <qandaentry> + <question id="supported-hard-drives"> + <para>FreeBSD ¥i¤ä´©þ¨ÇºØÃþªºµwºÐ©O¡H</para> + </question> + + <answer> + <para>FreeBSD ³£¤ä´© EIDE ¤Î SCSI ¤¶±ªºµwºÐ(¥H¤Î SCSI ¥d¡A½Ð¬Ý¤U¤@¸`»¡©ú) + ¥H¤Î <quote>Western Digital</quote> ¤¶±ªºµwºÐ (MFM¡B RLL¡B + ESDI¡A·íµM¥]§t IDE)¡A¤£¹L¦³¤@¨Ç¤Ö¼Æªº ESDI ´¹¤ù²Õªº(«¬¸¹¡GWD1002/3/6/7) + ¥i¯àµLªk¥¿±`¹B§@¡C</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="supported-scsi-controllers"> + <para>¤ä´©þ¨Ç SCSI ¥d¡B³]³Æ©O¡H</para> + </question> + + <answer> + <para>½Ð°Ñ¾\ &os; ªºµwÅé¤ä´©ªí( + <ulink url="&rel.current.hardware;">&rel.current;</ulink> ©Î + <ulink url="&rel2.current.hardware;">&rel2.current;</ulink>)</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="tape-support"> + <para>¤ä´©þ¨ÇºÏ±a¾÷©O¡H</para> + </question> + + <answer> + + <para>FreeBSD ¤ä´© SCSI ¤Î QIC-36 (QIC-02 ¤¶±) ³W®æªººÏ±a¾÷¡C + ¦P®É¥]§t¤F 8-mm (¤]´N¬O Exabyte) ¤Î DAT ºÏ±a¾÷¡C</para> + + <para>¦³¨Ç¦´Áª©¥»ªº 8-mm ºÏ±a¾÷¨Ã¤£¬O§¹¥þ¬Û®e©ó SCSI-2 ³W®æ¡A + ©Ò¥H¥i¯à¦b FreeBSD ¤Wªí²{¤£¬O«Ü¦n¡C</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="tape-changer-support"> + <para>FreeBSD ¤ä´©ºÏ±a¦Û°Ê´«±a¾÷¶Ü¡H</para> + </question> + + <answer> + <para>FreeBSD ¥i¥H¥Î &man.ch.4; ¤W±©Ò¦Cªº¾÷ºØ¡A·f°t &man.chio.1; «ü¥O¡A + ¨Ó¨Ï¥Î SCSI ºØÃþªº¦Û°Ê´«±a¾÷¡A²Ó¸`³¡¤À½Ð°Ñ¾\ &man.chio.1; »¡©ú¡C</para> + + <para>If you are not using <application>AMANDA</application> + or some other product that already understands changers, + remember that they only know how to move a tape from one + point to another, so you need to keep track of which slot a + tape is in, and which slot the tape currently in the drive + needs to go back to.</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="supported-cdrom-drives"> + <para>FreeBSD ¥i¤ä´©þ¨ÇºØÃþªº¥úºÐ¾÷©O¡H</para> + </question> + + <answer> + <para>¥un¬O¦³¤ä´©ªº SCSI ¥d¤W©Ò±µªº¥ô¤@ SCSI ¥úºÐ¾÷³£¦³¤ä´©¡C</para> + + <para>¦¹¥~¡A¤]¤ä´©¤U¦Cªº¥úºÐ¾÷¡G</para> + + <itemizedlist> + <listitem> + <para>Mitsumi LU002 (8bit), LU005 (16bit) ¤Î FX001D + (16bit 2x Speed)</para> + </listitem> + + <listitem> + <para>Sony CDU 31/33A</para> + </listitem> + + <listitem> + <para>Sound Blaster «D SCSI ¤¶±ªº¥úºÐ¾÷</para> + </listitem> + + <listitem> + <para>Matsushita/Panasonic ¥úºÐ¾÷</para> + </listitem> + + <listitem> + <para>¬Û®e ATAPI ³W®æªº IDE CDROMs</para> + </listitem> + </itemizedlist> + + <para>¬Û¹ï©ó SCSI ¾÷ºØ¦Ó¨¥¡A¨ä¥L«D SCSI ªº¥úºÐ¾÷³£¬O¤ñ¸ûºC¡A + ¦¹¥~¡A¦³¨Ç ATAPI ºØÃþªº¥úºÐ¾÷¥i¯àµLªk¶¶§Q¹B§@</para> + + <para>Daemon News ¥H¤Î FreeBSD Mall ©Òµo¦æªº¥¿¦¡ FreeBSD ¥úºÐ¥H¤Î¿N¿ý¥Îªº¼v¹³ÀÉ(ISO)¡A + ³£¥i¥Hª½±µ¥Î©ó¶}¾÷¥úºÐ¨Ï¥Î¡C</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="supported-cdrw-drives"> + <para>FreeBSD ¤ä´©þ¨Ç¥úºÐ¿N¿ý¾÷ªºÅX°Êµ{¦¡©O¡H</para> + </question> + + <answer> + <para>FreeBSD ¤ä´©¥ô¦ó¬Û®e ATAPI ¼Ð·Çªº IDE CD-R ©Î CD-RW ¥úºÐ¿N¿ý¾÷¡A + ²Ó¸`½Ð°Ñ¾\ &man.burncd.8; »¡©ú¡C</para> + + <para>FreeBSD ¤]¤ä´©¥ô¦ó SCSI CD-R ©Î CD-RW ¥úºÐ¿N¿ý¾÷¡C + ½Ð¥Î port ©Î packag ¾÷¨î¨Ó¦w¸Ë¡B¨Ï¥Î <command>cdrecord</command> ¡A + ¨Ã½T©w±zªº kernel ¤º¦³±N <devicename>pass</devicename>³]³Æ¤@¨Ö½sĶ¦b¤º¡C + (¹w³]ªº kernel.GENERIC ³£·|¦³ device pass ³o¬q)</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="zip-support"> + <para>FreeBSD ¤ä´© Iomega &iomegazip; ¶Ü?</para> + </question> + + <answer> + <para>FreeBSD ¤ä´©¥~±µ¦¡ªº SCSI ¤Î ATAPI(IDE) ¤¶±ªº Iomega &iomegazip;¡C + ¤£¹L SCSI ZIP ¥u¯à³Q³]¬° SCSI ID 5 ©Î¬O 6 ¤~¥i¥H¹B§@¡A¦ý¦pªG + SCSI ¥d¤Wªº BIOS ¤ä´©¥¦¡A§A¬Æ¦Ü¥i¥H¥Î¥¦¨Ó¶}¾÷¡C + §Ṳ́£¾å±oþ¤@¶ô¥d¥i¥H§â¥dªº ID ³]¦b°£¤F 0 ©Î 1 ¥H¥~ªº¦a¤è¦Ó¶}¾÷¦¨¥\¡A + ¦]¦¹¡A¦pªG·Q§ï SCSI ID ªº¸Ü¡A½Ð°È¥²°Ñ¾\¸Ó«¬¸¹ªº»¡©ú¤â¥U¡C</para> + + <para>FreeBSD ¦P®É¤]¤ä´© Parallel Port ZipºÏºÐ¾÷¡C½ÐÀˬd kernel + ³]©wÀɬO§_¦³¡G + <devicename>scbus0</devicename>¡B + <devicename>da0</devicename>¡B + <devicename>ppbus0</devicename>¡A¥H¤Î + <devicename>vp0</devicename> ³o¨ÇÅX°Êµ{¦¡ (¹w³]ªº GENERIC kernel + °£¤F <devicename>vp0</devicename> ¨S¥]¶i¥h¡A¨ä¥L¤TªÌ³£·|¦³)¡C + ¥[¤F³o´XÓÅX°Êµ{¦¡¤§«á¡AParallel Port Zip ´N·|¦¨¬° + <devicename>/dev/da0s4</devicename>¡C</para> + + <para>³o®É¡A´N¥i¥H¥Î¹³¬O <command>mount /dev/da0s4 /mnt</command> ©Î + (DOS Àɮרt²Î)<command>mount_msdos /dev/da0s4 /mnt</command> + ¤§Ãþªº«ü¥O¨Ó±¾¸ü¡BŪ¼g¡C</para> + + <para>¤]¥i¥H°Ñ¾\¤U±¦³Ãö<link linkend="media-change">ÀH¨ºÏ¤ù + </link>³¡¤À¡A¥H¤Î<link + linkend="removable-drives">©â¨úºÐ¡BÀH¨ºÐªº¡y®æ¦¡¤Æ¡z°Q½×</link> + ªº³¡¤À</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="jaz-zip-removable-support"> + <para>FreeBSD ¦³¤ä´© &jaz;¡BEZ ¤Î¨ä¥LÃþ¦üªºÀH¨ºÏ¤ù¶Ü¡H</para> + </question> + + <answer> + <para>¥i¥H°Ú¡A°£¤F IDE ªº EZ drive ¥~¡A¨ä¥LªºÀ³¸Ó³£¬O SCSI ¤¶±¡A + ©Ò¥H¦b FreeBSD ¤W³£·|¥H SCSI µwºÐ¨Ó³B²z¡C</para> + + <para>·íµM¡A§A¥²¶·½T©w¦b¶}¾÷®É¡A³o¨Ç³]³Æªº¹q·½¬O¥´¶}ªº¡A + ¥H«KÅý FreeBSD ¥i¥H°»´ú¨ì¡C</para> + + <para><anchor id="media-change"/>¦pªG¦bºÏºÐ¹B¤¤ª¬ºA¤¤¡An§ó´«ºÏ¤ùªº¸Ü¡A + °O±o¥ý¬Ý¤@¤U &man.mount.8;¡B&man.umount.8;¡B + ¥H¤Î(SCSIªº¸Ü)&man.camcontrol.8; ©Î &man.atacontrol.8; ÁÙ¦³ FAQ «á±¦³Ãö + <link linkend="removable-drives">¨Ï¥Î©â¨úºÐ¡BÀH¨ºÐªº°Q½× + </link>¡C</para> + </answer> + </qandaentry> + + </qandaset> + + </sect1> + + <sect1 id="compatibility-kbd-mice"> + <title>Áä½L¡B·Æ¹«</title> + + <qandaset> + + <qandaentry> + <question id="usbkbd"> + <para>FreeBSD ¦³¤ä´© USB Áä½L¶Ü¡H</para> + </question> + + <answer> + <para>FreeBSD (¤×¨ä¬O¦³¤ä´© USB keyboards¡C Enable USB support in + <filename>/etc/rc.conf</filename>.</para> + + <para>Y¦³¶} USB Áä½L¤ä´©¦Ó¥B¦P®É±µ¤W AT ¸ò USB Áä½Lªº¸Ü¡A¨º»ò AT Áä½L·|Åܦ¨ + <devicename>/dev/kbd0</devicename>¡A¦Ó USB Áä½L«h¬O + <devicename>/dev/kbd1</devicename>¡C¦pªG¥u±µ USB Áä½L¡A¨º»ò¥¦´N¬O + <devicename>/dev/ukbd0</devicename> Åo¡C</para> + + <para>¦pªG·Q¦b console ¤W¨Ï¥Î USB Áä½Lªº¸Ü¡A¨º»ò¥²¶·³]©w console «ü©w¥Î USB Áä½L¡C + ¥i¥H¦b¨t²Î¶}¾÷µ{§Ç®É¡A¥[¤W¤U¦C«ü¥O¡G</para> + + <screen>&prompt.root; <userinput>kbdcontrol -k /dev/kbd1 < /dev/ttyv0 > /dev/null</userinput></screen> + + <para>ª`·N¡GY¥u¦³ USB Áä½Lªº¸Ü¡A¤]´N¬O <devicename>/dev/ukbd0</devicename>¡A + ¨º»ò½Ð§ï¥Î¤U¦C«ü¥O¡G</para> + + <screen>&prompt.root; <userinput>kbdcontrol -k /dev/ukbd0 < /dev/ttyv0 > /dev/null</userinput></screen> + + <para>«Øij¡G¥i¥H§â¤Wz«ü¥O©ñ¤J <filename>/etc/rc.i386</filename> ¡C</para> + + <para>³]©w¦¨¥\¤§«á¡AUSB Áä½L¤£¥Î§@¥ô¦ó¯S§O³]©w¡A´N¥i¥H¦b X µøµ¡Àô¹Ò¤W¥¿±`¹B§@Åo¡C</para> + + <para>USB Áä½Lªº¼ö´¡©Þ(Hot-plugging and unplugging)¦b &os; ¥i¯àÁÙµLªk§¹¥þ¥¿±`¹B§@¡A + «Øij¡G¦b¨t²Î¶}¾÷«e´N¥ý±µ¤WÁä½L¡Aª½¨ìÃö¾÷¬°¤î¡A¥HÁקK¤£¥²nªº§xÂZ¡C</para> + + <para>¬ÛÃö²Ó¸`½Ð°Ñ¾\ &man.ukbd.4; ªº»¡©ú¡C</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="busmouse"> + <para>¥j¦ªº bus ·Æ¹«¡An«ç»ò³]©w©O¡H</para> + </question> + + <answer> + <para>FreeBSD ¤ä´©¤@¨Ç¼t°Ó(¹³¬O¡GMicrosoft¡BLogitech¡BATI)©Ò°µªº bus ¤Î InPort bus ¤¶±ªº·Æ¹«¡C + µM¦Ó¡A¹w³]ªº kernel(GENERIC)¤w¸g¤£¤º§t¥¦ÌªºÅX°Êµ{¦¡¡C + ¦]¦¹¡An¥[¤J¤U¦C¨ì kernel ³]©wÀɨë·s½sĶ¡B¦w¸Ë¡A¤~¯à±Ò¥Î¡G</para> + + <programlisting>device mse0 at isa? port 0x23c irq5</programlisting> + + <para>Bus ·Æ¹«³q±`n·f°t±M¥Îªº¤¶±¥d¤~¯à¨Ï¥Î¡C + ³o¨Ç¥d¥i¥H³]©w port address ¤Î IRQ È¡A³o¨Ç²Ó¸`½Ð°Ñ¾\§Aªº·Æ¹«»¡©ú¤â¥U¤Î + &man.mse.4; »¡©ú¡C</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="ps2mouse"> + <para>PS/2 (<quote>mouse port</quote> ©Î + <quote>keyboard</quote>)ªº·Æ¹«n«ç»ò³]©w¤~¦n©O¡H</para> + </question> + + <answer> + <para>PS/2 ·Æ¹«³£¦³¤ä´©¡A©Ò»Ýn¥Î¨ìªºÅX°Êµ{¦¡ <devicename>psm</devicename> + ¦b¹w³]ªº kernel(GENERIC)¤w¦³¤º§t¤F¡C</para> + + <para>Y§A¦Ûqªº kernel ¤ºº|¤F psm ªº¸Ü¡A¨º»ò´N¦A§â¤U¦C¤º®e¥[¨ì kernel + ³]©wÀɨë·s½sĶ¡B¦w¸Ë¡G</para> + + <programlisting>device psm0 at atkbdc? irq 12</programlisting> + + <para>·í¶}¾÷®É kernel ¦³¥¿½T°»´ú¨ì <devicename>psm0</devicename> + ¡A½Ð°È¥²½T»{¦b <filename>/dev</filename> ¤º¦³ + <devicename>psm0</devicename> ¡C + ¦pªG¨S¦³ªº¸Ü¡A¨º»ò´N¥Î <username>root</username> ¨Ó¥´¤U¦C«ü¥O¨Ó«Ø¥ß§a¡G</para> + + <screen>&prompt.root; <userinput>cd /dev; sh MAKEDEV psm0</userinput></screen> + + <note> + <para>¦pªG¬O &os; 5.0-RELEASE(§t¤§«áª©¥»)ªº¸Ü¡A¦]¬°±Ä¥Î &man.devfs.5; ¾÷¨îªº¦]¯À¡A + ©Ò¥H·|¦Û°Ê¦b <filename>/dev</filename> ¤U«Ø¥ß¬ÛÃö³]³Æªº¸`ÂI¡A¦]¦¹´N¥i¥H²¤¹L¤W±³o¤@¨B¡C</para> + </note> + </answer> + </qandaentry> + + <qandaentry> + <question id="moused"> + <para>¦pªG¤£¥Î X Window Àô¹Òªº¸Ü¡A¤]¥i¥H¥Î·Æ¹«¶Ü¡H</para> + </question> + + <answer> + <para>Y¨Ï¥Î console ªº¹w³]ÅX°Êµ{¦¡(¤]´N¬O &man.syscons.4;)¡A + ¨º»ò´N¥i¥H¦b¤å¦r¤¶±ªº console ¤W±¥Î·Æ¹«¨Ó°Å¶K¤å¦r¤F¡C + ¨º»òn±Ò°Ê &man.moused.8; ¨Ã¶}±Ò´å¼ÐÅã¥Ü¡A + ½Ð¥´¤U¦C«ü¥O¡G</para> + + <screen>&prompt.root; <userinput>moused -p /dev/<replaceable>xxxx</replaceable> -t <replaceable>yyyy</replaceable></userinput> +&prompt.root; <userinput>vidcontrol -m on</userinput></screen> + + <para>¨ä¤¤¡y<replaceable>xxxx</replaceable>¡z¬O·Æ¹«ªº³]³Æ¦WºÙ¡A¦Ó + ¡y<replaceable>yyyy</replaceable>¡z«h¬O·Æ¹«©Ò¨Ï¥Îªº protocol ºØÃþ¡C + ¥Ø«eªº moused ¥i¥H¦Û°Ê°»´ú(°£¤F¦¡ªº serial + ·Æ¹«¤§¥~)¤j¦h¼Æ·Æ¹«©Ò¨Ï¥Îªº protocol ºØÃþ¡A¦Ó¤£¥Î¨è·N¥h«ü©w¡C + ¡yprotocol ºØÃþ¡z³]©w¥Î + <literal>auto</literal> ´N·|¦Û°Ê°»´ú¤F¡CY¦Û°Ê°»´ú¥¢±Ñªº¸Ü¡A½Ð°Ñ¾\ &man.moused.8; + ¸Ì±ªº type ¨º¬q»¡©ú¡C</para> + + <para>¦pªG¥Îªº¬O PS/2 ·Æ¹«¡A¥un§â + <literal>moused_enable="YES"</literal> ¥[¨ì + <filename>/etc/rc.conf</filename> ¡A³o¼Ë¨C¦¸¶}¾÷´N·|¦Û°Ê±Ò°Ê¤F¡C + ¦¹¥~¡A¦pªGn¦b©Ò¦³ virtual terminals ¤W¤]¯à¨Ï¥Î·Æ¹«¡A + ¦Ó¤£©w¥u¦³ console ªº¸Ü¡A¨º»ò½Ð¦A§â + <literal>allscreens_flags="-m on"</literal> ¥[¨ì <filename>/etc/rc.conf</filename> ¸Ì±§Y¥i¡C</para> + + <para>moused ¦b°õ¦æ¤¤ªº®ÉÔ¡A¦pªGn¨Ï¥Î·Æ¹«¬ÛÃö¥\¯à¡A³£¥²¶·³z¹L moused + ©Î¨ä¥Lµ{¦¡¹³¬O X µøµ¡¨Ó¶i¦æ¡C½Ð°Ñ¾\ FAQ ¤¤¦³Ãö<link + linkend="x-and-moused">¡y¬°¤°»ò¤£¯à¦b X µøµ¡¸Ì¨Ï¥Î·Æ¹«¡H¡z</link>¥HÁA¸Ñ¬ÛÃö²Ó¸`¡C</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="text-mode-cut-paste"> + <para>¦b¤å¦r¼Ò¦¡ªº console Àô¹Òn«ç»ò¥Î·Æ¹«¨Ó°Å¶K¤å¦r©O¡H</para> + </question> + + <answer> + <para>·í°õ¦æ moused «á¡A(°Ñ¾\<link linkend="moused">«e¤@¸`</link>) + «ö¦í¥ªÁä¡A±µµÛ²¾°Ê·Æ¹«¨Ó¿ï¾Ü¤@Ӱϰ줧«á©ñ¶}¡A³o¼Ë´N§¹¦¨¡y½Æ»s¡z¡C + n¡y¶K¤W¡zªº¸Ü¡A«ö·Æ¹«¤¤Áä´N¥i¥H¤F¡C + n¡y©µ¦ù¿ï¨ú°Ï¡zªº¸Ü¡A«ö·Æ¹«¥kÁä</para> + + + <para>¦pªG§Aªº·Æ¹«¨S¦³¤¤Áä¡A§A¥i¥H¥Î¼ÒÀÀªº¤è¦¡¡A©Î¬O«·s©w¸q·Æ¹««öÁ䪺¤è¦¡¡A + ¨Ó¹F¦¨¡u©µ¦ù¡vªº¥\¯à¡C¸Ô±¡½Ð°Ñ¾\ &man.moused.8; »¡©ú¡C</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="mouse-wheel-buttons"> + <para>§Ú·Æ¹«¤W±ªººu½ü¡Bºu½ü«ö¶s¡A¥i¥H¦b console ¤W¨Ï¥Î¶Ü¡H</para> + </question> + + <answer> + <para>³oÓµª®×¹À...¡A«Ü¤£©¯¦a¡A¦b¤j¦h¼Æªº±¡ªp¤U¤£¦æ¡C + ³o¨Ç¦³ºu½üªº·Æ¹«»Ýn¥Î¯S®íÅX°Êµ{¦¡¤~¦æ¡A + °£«D¡A·Æ¹«ÅX°Êµ{¦¡©Î¨Ï¥ÎªÌ¦Û¤vªºÀ³¥Îµ{¦¡¦³¤ä´©¡A + ¤£µM¡A³o¨Ç·Æ¹«¥u¯à°÷·í¦¨¬O´¶³qªº¨âÁä©Î¤TÁ䪺·Æ¹«¨Ó¥Î¦Ó¤w¡C + </para> + + <para>¦pªGn¦b X µøµ¡Àô¹Ò¤W¨Ï¥Îºu½üªº¸Ü¡A½Ð°Ñ¾\ + <link linkend="x-and-wheel"> X µøµ¡¤Wªººu½ü¨Ï¥Î + </link>»¡©ú¡C</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="laptop-mouse-trackball"> + <para>n«ç»ò¦bµ§°O«¬¹q¸£¤W¨Ï¥Î·Æ¹«¡By¸ñ²y¡BIJ±±ªO©O¡H</para> + </question> + + <answer> + <para>½Ð°Ñ¾\<link linkend="ps2mouse">«e±ªº PS/2 ·Æ¹«ªº°Ýµª + </link>¡C</para> + </answer> + </qandaentry> + + </qandaset> + + </sect1> + + <sect1 id="compatibility-networking"> + <title>ºô¸ô¸ò serial ³]³Æ</title> + + <qandaset> + + <qandaentry> + <question id="network-cards"> + <para>FreeBSD ¤ä´©þ¨Çºô¸ô¥d©O¡H</para> + </question> + + <answer> + <para>½Ð°Ñ¦Ò &os; ¦Uª©¥»ªºµwÅé¤ä´©¦Cªí¡C</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="internal-plugnplay-modem"> + <para>¬°¤°»ò FreeBSD §ä¤£¨ì PnP(ÀH´¡ÀH¥Î¡APlug & Play)³W®æªº modem?</para> + </question> + + <answer> + <para>ì¦]¦b©ó¡G»Ýn§â modem ªº PnP ID ¥[¨ì serial ÅX°Êµ{¦¡ªº PnP ID ªí¡A§@ªk¦p¤U¡G</para> + <orderedlist> + <listitem> + <para>º¥ý¡A¦b kernel ³]©wÀɤº¥[¤J <literal>controller pnp0</literal>¡A + ¨Ã«·s½sĶ¡B¦w¸Ë kernel¡A³Ì«á«¶}¾÷´N·|±Ò°Ê PnP ¤ä´©¡C</para> + </listitem> + + <listitem> + <para>µM«á¡Akernel ·|§â°»´ú¨ì©Ò¦³³]³Æ¤Wªº PnP ID ³£¦C¥X¡C + ³o®É¡Aקï <filename>/usr/src/sys/isa/sio.c</filename>(¤j¬ù²Ä752¦æ¥ª¥kªº¦a¤è)¡A + ¥i¥H·j´M <literal>SUP1310</literal> ·íÃöÁä¦r(¦ì©ó <literal>sio_ids[]</literal> ªí¤º)¡A + ½Ð±Nè¤~ kernel Åã¥Üªº modem ªº PnP ID ½Æ»s¨ì¬ÛÃö¦ì¸m¡C</para> + </listitem> + + <listitem> + <para>³o®É¡A¦A«·s½sĶ¡B¦w¸Ë kernel¡A³Ì«á«¶}¾÷À³¸Ó´N·|¥¿½T°»´ú¨ì modem ¤F¡C</para> + </listitem> + </orderedlist> + + <para>¦¹¥~¡A¤]¥i¥H¦b¶}¾÷®É¥H <literal>pnp</literal> «ü¥O¨Ó¤â°Ê³]©w PnP ³]³Æ¡A + ¨ÓÅý kernel ±o¥H¥¿½T°»´ú¡AÁ|¨Ò¡G</para> + + <programlisting>pnp 1 0 enable os irq0 3 drq0 0 port0 0x2f8</programlisting> + + </answer> + </qandaentry> + + <qandaentry> + <question id="support-winmodem"> + <para>FreeBSD ¤ä´©¹³¬O Winmodems ¤§Ãþªº³nÅé modem ¶Ü¡H</para> + </question> + + <answer> + <para>FreeBSD ¥i¥H¦w¸ËÃB¥~ªº³nÅé¨Ó¤ä´©³nÅé modem¡C + ¹³¬O <filename role="package">comms/ltmdm</filename> ¥i¤ä´©±`¨£ªº Lucent LT ´¹¤ù¡A + <filename role="package">comms/mwavem</filename> «h¥i¤ä´© IBM Thinkpad 600 ¤Î 700 + µ§°O«¬¹q¸£¤W±ªº modem¡C</para> + + <para>µM¦Ó¡A¨Ã¤£¯à¥Î³nÅé modem ¨Ó¦w¸Ë FreeBSD¡A + ¦]¬°¡G³oÃþ³nÅ饲¶·¦b§@·~¨t²Î¦w¸Ë§¹²¦¤§«á¡A¤~¯à¦w¸Ë¡C</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="support-broadcom"> + <para>¦³ Broadcom 43xx µL½uºô¥dªºì¥ÍÅX°Êµ{¦¡(Native driver)¶Ü¡H</para> + </question> + + <answer> + <para>¨S¦³¡A¦Ó¥B¤]¤£¤Ó¥i¯à·|¦³¡C</para> + + <para>Broadcom ©Úµ´¤½¶}¦³ÃöµL½uºô¥d´¹¤ùªºÅX°Êµ{¦¡¬ÛÃö»¡©ú¡A + ¥D¦]¤j·§¬O¥L̥γnÅé¨Ó±±¨îµL½u¶Ç¿é¤è¦¡¡C + ¨Æ¹ê¤W¡A¦]¬°n¯à³q¹L¬ü°êÁp¨¹¹q«H©eû·|(FCC)À˺Ϧw³Wªº¸Ü¡A + ¥²¶·½T«O²£«~¤£¯àÅý¨Ï¥ÎªÌ¤£¯àÀH·N§ó°Ê¬ÛÃö³]©w¡A¤ñ¦p¡G¹qºÏªiÀW²v¡B¬ÛÃö¼Ò²Õ°Ñ¼Æ¡B¿é¥X¹q·½µ¥¡C + ¦ý¬O¡A¦pªG§Ṳ́£ª¾¹D¦p¦ó¥h±±¨î´¹¤ùªº¸Ü¡A¨º»ò¼¶¼gÅX°Êµ{¦¡¤§¸ô®£©È¤£¤Ó¥i¦æ¡C</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="multiport-serial-support"> + <para>FreeBSD ¤ä´©þ¨Ç multi-port serial¥d©O¡H</para> + </question> + + <answer> + <para>½Ð°Ñ¾\¨Ï¥Î¤â¥U¤Wªº <ulink + url="&url.books.handbook;/install.html#INSTALL-MISC">¦w¸Ë½g¡X¨ä¥LµwÅé + </ulink> ¦Cªí¡C</para> + + <para>ÁöµM¦³¨Ç¥d¬O¨SµPªº(¤×¨ä¬O¦³¼Ð©ú¡G¬Û®e AST ³W®æ)¦ý¤]¥i¥H¥¿±`¨Ï¥Î¡C</para> + + <para>¦Ü©ó¥dªº³]©w¤è±¡A½Ð°Ñ¾\ &man.sio.4; ªº»¡©ú¡C</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="serial-console-prompt"> + <para>¦b serial console ¤Wn¦p¦ó¤~·|¥X²{ boot: ´£¥Ü©O¡H</para> + </question> + + <answer> + <orderedlist> + <listitem> + <para>kernel ³]©wÀÉ¥[¤J + <literal>options COMCONSOLE</literal></para> + </listitem> + + <listitem> + <para>«Ø¥ß /boot.config ÀÉ¡A¨Ã¥B¸ÓÀɸ̱¤º®e¥u¶ñ¤W <option>-P</option></para> + </listitem> + + <listitem> + <para>§âÁä½L±q¾÷¾¹¤W©Þ±¼</para> + </listitem> + </orderedlist> + + <para>²Ó¸`½Ð¬Ý + <filename>/usr/src/sys/i386/boot/biosboot/README.serial</filename> + </para> + </answer> + </qandaentry> + + </qandaset> + + </sect1> + + <sect1 id="compatibility-sound"> + <title>µ®Ä¥d</title> + + <qandaset> + + <qandaentry> + <question id="sound-card-support"> + <para>FreeBSD ¤ä´©þ¨Çµ®Ä¥d¡H</para> + </question> + + <answer> + <para>&os; ¤ä´©¦UºØµ®Ä¥d¡A¥]¬A¤F &soundblaster;¡B + &soundblaster; Pro¡B&soundblaster; 16¡BPro Audio Spectrum 16¡B + AdLib¡B¤Î Gravis UltraSound sound cards (²Ó¸`½Ð°Ñ¾\ + <ulink url="&url.base;/releases/">&os; µo¦æ±¡³ø</ulink> + ¥H¤Î &man.snd.4; ªº»¡©ú)¡C + ¦¹¥~¡A¹ï MPU-401 ¤Î MIDI ¬Û®e³W®æªº¤]¦³¤@©wµ{«×ªº¤ä´©¡A¦Ó + µsoft; Sound System ³W®æ¤]¦³¤ä´©¡C</para> + + <note> + <para>ÅX°Êµ{¦¡¶È¾A¥Î©ó¡yµ®Ä¡z³¡¤À¡I °£¤F &soundblaster; ¤§¥~¡A + ¥Ø«eµ®ÄÅX°Êµ{¦¡¨Ã¤£¤ä´©³o¨Çµ®Ä¥d¤Wªº¥úºÐ¾÷, SCSI³]³Æ©Î·n±ì¡C + &soundblaster; ªº SCSI ¤¶±¤Î¬Y¨Ç«D SCSI ªº¥úºÐ¾÷¬O¦³¤ä´©¡A¦ýµLªk¥Î¨Ó¶}¾÷¡C + </para> + </note> + </answer> + </qandaentry> + + <qandaentry> + <question id="es1370-silent-pcm"> + <para>&man.pcm.4; ©Ò¤ä´©ªºµ®Ä¥d¨S¦³Ánµ¡A¦³¤°»ò¼È®É¸Ñ¨M¤è¦¡¶Ü¡H</para> + </question> + + <answer> + <para>¦]¬°¦³¨Ç¹³¬O es1370 ´¹¤ùªºµ®Ä¥d·|¦b¨C¦¸¶}¾÷®É§âµ¶q½Õ¬°¹s¡C + ¼È®É¸Ñªk¬O¦b¨C¦¸¶}¾÷®É°õ¦æ¤U±«ü¥O¡A©Î¬O¥[¨ì /etc/rc.local ¤º¡G</para> + + <screen>&prompt.root; <userinput>mixer pcm 100 vol 100 cd 100</userinput></screen> + </answer> + </qandaentry> + + </qandaset> + + </sect1> + + <sect1 id="compatibility-other"> + <title>¨ä¥L©Ç²§°ÝÃD(ACPI¡B«¶}¾÷«á±¾¤F..µ¥)</title> + + <qandaset> + + <qandaentry> + <question id="other-device-support"> + <para>FreeBSD Á٤䴩¨ä¥Lþ¨ÇµwÅé©O¡H</para> + </question> + + <answer> + <para>½Ð°Ñ¾\¨Ï¥Î¤â¥U¤Wªº <ulink + url="&url.books.handbook;/install.html#INSTALL-MISC">¦w¸Ë½g¡X¨ä¥LµwÅé</ulink> + ¡C</para> + + </answer> + </qandaentry> + + <qandaentry> + <question id="power-management-support"> + <para>FreeBSD ¤ä´©µ§°O«¬¹q¸£ªº¬Ù¹qºÞ²z¥\¯à¶Ü¡H</para> + </question> + + <answer> + <para>FreeBSD 4.X(§t¤§«áª©¥»)¦b¬Y¨Ç¾÷ºØ¤W³£¦³¤ä´© <acronym>APM</acronym>¡C + ²Ó¸`½Ð°Ñ¾\ &man.apm.4; ªº»¡©ú¡C</para> + + <para>FreeBSD 5.X(§t¤§«áª©¥»)¤ä´©¦b¥Ø«e¤j³¡¤À¾÷ºØ¤W³£¦³ªº + <acronym>ACPI</acronym> ¥\¯à¡C + ²Ó¸`½Ð°Ñ¾\ &man.acpi.4; ªº»¡©ú¡CY¾÷¾¹¤W¦P®É³£¦³ <acronym>APM</acronym> + ¤Î <acronym>ACPI</acronym> ¥\¯àªº¸Ü¡A§ÚÌ«Øij§A¥i¥H¨âªÌ³£¸Õ¸Õ¬Ý¡A + ¬Ý¬Ýþ¤@ºØ¤ñ¸û²Å¦X§Aªº»Ý¨D¡C</para> + + </answer> + </qandaentry> + + <qandaentry> + <question id="disable-acpi"> + <para>¸Ó¦p¦óÃö³¬ ACPI¡H</para> + </question> + + <answer> + <para>§â <screen>hint.acpi.0.disabled="1"</screen> + ³o¬q¥[¨ì <filename>/boot/device.hints</filename> §Y¥i¡C</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="micron-hang-boot"> + <para>Micron ¹q¸£Á`¬O¦b &os; ±Ò°Ê®É´N±¾±¼¡A¸Ó«ç»ò¿ì©O¡H</para> + </question> + + <answer> + <para>¦³¨Ç Micron ¥D¾÷ªO¤Wªº BIOS ¦b PCI ¤è±·|¦³°ÝÃD¡A + ³o·|¾ÉP PCI ³]³Æ·|³Q BIOS °»´ú¬°¤£¥¿½T³]©w¡A¦Ó¶i¤J FreeBSD ´N±¾±¼¡C</para> + + <para>¼È®É¸Ñ¨M¤è¦¡¡GÃö³¬ BIOS ¤º <quote>Plug and Play Operating System</quote> + ªº³]©w¡C</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="micron-3comnic-failure"> + <para>&tm.3com; PCI ¤¶±ºô¸ô¥dµLªk¦b Micron ¹q¸£¤W¨Ï¥Î¡A¸Ó«ç»ò¿ì¡H</para> + </question> + + <answer> + <para>³o°ÝÃD¸ò«e±ªº°ÝÃD¦]¯À¤@¼Ë¡AÁ`¤§¡A´N¬OÃö³¬ BIOS ¤¤¦³Ãö OS PnP ªº³]©w¡C</para> + + <para>¼È®É¸Ñ¨M¤è¦¡¡GÃö³¬ BIOS ¤º <quote>Plug and Play Operating System</quote> + ªº³]©w¡C</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="asusk7v-boot-failure"> + <para>¥D¾÷ªO¬O¥ÎµØºÓ(ASUS) K7V¡A¥i¬O¥Î¶}¾÷¤ù¶}¨ì¤@¥b´N·í¤F¡A«ç»ò¿ì©O¡H</para> + </question> + + <answer> + <para>¶i¤J BIOS ³]©w¡A¨ÃÃö³¬ <quote>boot virus protection</quote> ³]©w§Y¥i¡C</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="newcard-does-not-work"> + <para>PCMCIA ¥dµLªk¨Ï¥Î¡A¨Ã¥X²{¿ù»~°T®§ + <quote>cbb0: unsupported card type detected.</quote> + ¸Ó«ç»ò¿ì¡H</para> + </question> + + <answer> + <para>¥i¥H¸Õ¸Õ¬Ý§ï¥Îªº¤è¦¡¡A½Ð¥ýקï kernel ³]©wÀÉ¡A®³±¼¤U±³o´X¦æ¡G + <programlisting>device cbb +device pccard +device cardbus</programlisting> + µM«á¥[¤W¡G + <programlisting>device pcic +device card 1</programlisting> + ³Ì«á½Ð°Ñ¾\ Handbook ¤¤ + <ulink url="&url.books.handbook;/kernelconfig.html">½Õ¾ã FreeBSD Kernel</ulink> + ³¹¸`¡A¥H«·s½sĶ¡B¦w¸Ë·sªº kernel¡C</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="dell-poweredge-failure"> + <para>¬°¤°»ò &dell; &poweredge; 2850 ¸Ë§¹ FreeBSD ¤§«á¡A«¶}¾÷±µµÛÁä½L´N±¾¤F¡H</para> + </question> + + <answer> + <para>(¥»ÃD¥Ñ cdsheen ´£¨Ñ)À|¸Õ¦b &dell; &poweredge; 2850 ¤W±¦w¸Ë &os; 6.0¡A + ¤£¹L¦w¸Ë§¹¦¨¡B¨Ã«·s¶}¾÷¤§«á¡Aµo²{ console ªºÁä½L¤£¯à°Ê¤F¡A + ¦P¼Ëªº±¡ªp¦ü¥G¤]¦s¦b©ó &os; 5.3 ¤Î &os; 5.4¡A + ¸g¹L¤@µf·j´M¡Aµoı¬O¦]¬°³o¥x¾÷¾¹¤W±¦³¤@Ó <quote>Dell Remote Access Controller (DRAC)</quote>¡A + ³oӸ˸m·|³Q¨t²Î¿ëÃѦ¨¤@Ó USB Keyboard¡A©Ò¥H¾ÉP¶}§¹¾÷¤§«á¡A¥¿±`ªº PS/2 Áä½L¤Ï¦Ó¤£¯à°Ê¤F¡I</para> + + <para>¼È®É¸Ñ¨M¤è¦¡¦p¤U¡G</para> + + <orderedlist> + <listitem> + <para>¥ý¥H Single User Mode ¶i¤J¨t²Î</para> + </listitem> + + <listitem> + <para>¦b©R¥O¦C¼Ò¦¡¤U¡A¥ý°õ¦æ¤U¦C©R¥O¡G</para> + <screen>&prompt.root; <userinput>fsck -y <filename>/</filename></userinput></screen> + <screen>&prompt.root; <userinput>mount -u <filename>/</filename></userinput></screen> + </listitem> + + <listitem> + <para>µM«á½s¿è <filename>/etc/devd.conf</filename>¡A§â¹ï©ó USB Keyboard ªº¤ä´©¼È®É®³±¼¡A + ¤]´N¬O§â¤U±´X¦æ¶}ÀY¥[¤W #</para> + <programlisting> +# When a USB keyboard arrives, attach it as the console keyboard. +#attach 100 { +# device-name "ukbd0"; +# action "kbdcontrol -k /dev/ukbd0 < /dev/console && /etc/rc.d/syscons restart"; +#}; +#detach 100 { +# device-name "ukbd0"; +# action "kbdcontrol -k /dev/kbd0 < /dev/console"; +#}; +</programlisting> + </listitem> + + <listitem> + <para>µM«á¿é¤J <command>exit</command>Â÷¶} Single User Mode ¤§«á¡A + ´N¥i¥H¶¶§Q¶i¤J¨t²Î¡B¦Ó¥BÁä½L¤]¥i¥H¥¿±`¹B§@¡A¤U¦¸¶}¾÷¤]¤£·|¦³°ÝÃD¡I</para> + </listitem> + </orderedlist> + + <para>¥t¥~¡A&dell; ªº DRAC/BMC ¬Ý°_¨Ó¦³ÆZ¦h¤£¿ùªº»·ºÝ¦s¨ú¥\¯à¡A¦³¿³½ìªº¤H¥i¥Hª±ª±¬Ý...</para> + </answer> + </qandaentry> + </qandaset> + + </sect1> + + </chapter> + + <chapter id="troubleshoot"> + <chapterinfo> + <author> + <firstname>William</firstname> + <surname>Liao</surname> + <affiliation> + <address><email>chliao@tpts4.seed.net.tw</email></address> + </affiliation> + </author> + </chapterinfo> + + <title>±`¨£°ÝÃD¸Ñ¨M</title> + + <qandaset> + <qandaentry> + <question id="pae"> + <para>¬°¤°»ò &os; §ì¨ì¿ù»~ªº°O¾ÐÅé®e¶q¡H</para> + </question> + + <answer> + <para>§ì¨ì¿ù»~ªº°O¾ÐÅé®e¶q¬O¦]¬°ª«²z¦ì§}¸òµêÀÀ¦ì§}¨âªÌ¬O¤£¦Pªº¡C</para> + + <para>The convention for most PC hardware is to use the memory area + between 3.5G and 4G for a special purpose (usually for PCI). This + address space is used to access PCI hardware. As a result real, + physical memory can not appear in that address space.</para> + + <para>What happens to the memory that should appear in that location + is dependent on your hardware. Unfortunately, some hardware does + nothing and the ability to use that last 500M of RAM is entirely + lost.</para> + + <para>Luckily, most hardware remaps the memory to a higher location + so that it can still be used. However, this can cause some + confusion if you watch the boot messages.</para> + + <para>On a 32 bit version of &os;, the memory appears lost, since it + will be remapped above 4G, which a 32 bit kernel is unable to + access. In this case, the solution is to build a PAE enabled + kernel. See <link linkend="memory-limits">this FAQ entry</link> + for more information.</para> + + <para>On a 64 bit version of &os;, or when running a PAE-enabled + kernel, &os; will correctly detect and remap the memory so it is + usable. During boot, however, it may seem as if &os; is detecting + more memory than the system really has. This is normal and the + available memory will be corrected as the boot process + completes.</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="awre"> + <para>µwºÐ¦³Ãay®É¸Ó«ç»ò¿ì?</para> + </question> + + <answer> + <para>Y¬O SCSI µwºÐªº¸Ü¡A¨º»òºÏºÐ¾÷À³¸Ó¦³¯à¤O¦Û°Ê§@ re-mapping + ªº°Ê§@¡CµM¦Ó¡A¦]¬°¤@¨Ç¥¼ª¾ªº¦]¯À¡A¦b¥X¼t®É¡A«Ü¦hµwºÐªº³o¶µ + ¥\¯à¬OÃö³¬ªº...</para> + + <para>n±N¨ä«·s¶}±Ò¡A±z»Ýn½s¿è¸Ë¸mªº²Ä¤@Ó page ¼Ò¦¡ + ¡]first device page mode¡^¡A¦b FreeBSD ¤W¥i¥H¥Î¤U±ªº«ü¥O¿ì¨ì + ¡]¥H <username>root</username>¨¤À°õ¦æ¡^</para> + + <screen>&prompt.root; <userinput>scsi -f /dev/rsd0c -m 1 -e -P 3</userinput></screen> + + <para>µM«á±N AWRE ©M ARRE ªº¼Æȱq 0 Åܦ¨ 1:-</para> + + <programlisting>AWRE¡]Auto Write Reallocation Enbld¡^¡G 1 +ARRE¡]Auto Read Reallocation Enbld¡^¡G 1</programlisting> + + <para>¥H¤U³o¬q¬O¥Ñ Ted Mittelstaedt + <email>tedm@toybox.placo.com</email>©Ò´£¨Ñ¡G</para> + + <para>Y¬° IDE µwºÐ¡A¥ô¦óªºÃay³q±`³£¬O³Â·Ðªº¹w¥ü¡C¥Ø«e©Ò¦³¸û·sªº + IDE µwºÐ¡A¤º³¡³£¦³¦Û°Ê remapping Ãayªº¯à¤O¡C¥Ø«e©Ò¦³ IDE µwºÐ + »s³y°Ó¡A³£´£¨Ñ¤F§ó¤[ªº«OÃÒ¡A¦Ó¥B·|À°±z§ó´«¥X²{ÃayªºµwºÐ¡C</para> + + <para>¦pªG±z¤´·Qn×´_²£¥ÍÃayªº IDE µwºÐ¡A±z¤´¥i¥H¸ÕµÛ¥h¤U¸ü IDE + µwºÐ»s³y°Ó©Ò´£¨ÑªºÀË´úµ{¦¡¡A¨Ã¥Î¥¦¨ÓÀˬd±zªºµwºÐ¡C¦³®É³o¨Ç³nÅé¥i + ¥H±j¢«·sÀˬdµwºÐªºÃay¡A¨Ã±N¥¦Ì¼Ð¥Ü¥X¨Ó¡C</para> + + <para>¹ï ESDI¡ARLL ¤Î MFM ªºµwºÐ¨Ó»¡¡A³q±`Ãay¬O¥¿±`²{¶H¡A¤]¤£¬O¤° + »ò³Â·Ðªº«e¥ü¡C¦b PC ¤W¡AºÏºÐ±±¨î¥d©M BIOS t³d¼Ð¥ÜÃayªº¥ô°È¡C³o + ¹ï¤@¨Ç¨Ï¥Î BIOS¨Ó¦s¨úºÏºÐªº§@·~Àô¹Ò¡]¦p DOS¡^¬O¨S¦³°ÝÃDªº¡CµM¦Ó¡A + FreeBSD ªººÏºÐÅX°Êµ{¦¡¨Ã¤£¸g¹L BIOS ¨Ó¦s¨úºÏºÐ¡A©Ò¥H¡A¦³Ó bad144 + ªº¾÷¨î¥Î¨Ó¨ú¥N³o¶µ¥\¯à¡Cbad144 ¥u¯à¥Î¦b wd ³oӺϺÐÅX°Êµ{¦¡¤W¡]³o + Ó¥Nªí¤F FreeBSD 4.0 ¨Ã¤£¤ä´©¥¦¡^¡A¥¦¤]µLªk¥Î¦b SCSI µwºÐ¤W¡C + bad144ªº¤u§@¤èªk¬O±N©Ò¦³§ä¨ìªºÃay¸ê®Æ¦s¨ì¤@Ó¯S§OªºÀÉ®×ùØ¡C</para> + + <para>¨Ï¥Î bad144 ªºÄµ§i - ¦sµÛÃay¸ê®Æªº¯S§OÀɮ׬O©ñ¦bµwºÐªº³Ì«á + ¤@y¤W¡C¦]¬°³oÓÀÉ®×Àx¦sªºÃay¸ê®Æ¤¤¡A¦³¥i¯à¦³¨Ç¸ê®Æ¬O«ü¦VµwºÐ³Ì + «eºÝ©Òµo¥ÍªºÃay±¡§Î¡A´N¬O¥i¯àÀx¦s /kernel ³oÓÀɪº¦a¤è¡A©Ò¥H¥¦ + ¤@©wn¯à³Q¶}¾÷µ{¦¡©ÒŪ¨ú¡A¦Ó¶}¾÷µ{¦¡¬O³z¹L BIOS ¨ÓŪ¨ú kernel + ÀÉ¡C³oªí¥Ü¤F¨Ï¥Î bad144 ªºµwºÐµ´¤£¯à¾Ö¦³¶W¹L 1024 Ó cylinder¡A + 16 Ó head ¤Î 63 Ó sector¡C¦Ó³o¨Ï±o±ý¨Ï¥Î bad144 ªºµwºÐªº¤j¤p¤£ + ¯à¤j©ó 500 MB¡C</para> + + <para>n¨Ï¥Î bad144 «Ü²³æ¡A¥un¦b¶}©l¦w¸Ë®É¡A¦b FreeBSD fdisk µe± + §â<quote>Bad Block</quote> ±½ºË³]¬° ON §Y¥i¡C¦b FreeBSD 2.2.7 ¥H + «á³£¥i¥H¨Ï¥Î¦¹¤èªk¡C¦ý³oÓµwºÐªº cylinder ¤@©wn¦b 1024 ¥H¤U¡C¨Ï + ¥Î«e¡A§ÚÌ«Øij³oÓµwºÐn¦Ü¤Ö¥ý¨Ï¥Î¥|Ó¤p®É¡A¥H«K¼ö¿±µÈ»PºÏy°¾²¾ + ¹F¤@¯ëª¬ºA¡C</para> + + <para>¦pªG³oÓµwºÐ¾Ö¦³¶W¹L 1024 Ó cylinder¡]¹³¤j®e¶qªº ESDI µwºÐ¡^ + ¡AESDI ±±¨î¥d§Q¥Î¤@Ó¯S§OªºÂà´«¼Ò¦¡¨Ï¥¦¯à¦b DOS ¤U¤u§@¡C¦Ó¦pªG±z + ¦b fdisk ùتº <quote>set geometry</quote> ¤¤¿é¤J + <quote>Âà´«¹L</quote> ªº 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 + <quote>Âà´«</quote> ¹L¤F¡A¨º»ò ³oÓ¤À³Î°Ï <quote>¥²¶·</quote> + ¥H¤â°Ê¿é¤J block ¼Æ¥Øªº¤èªk¨Ó«Ø¥ß¡C</para> + + <para>¤@Ó§Ö³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 ¨Ó«Ø¥ß¤@Ó + <quote>cooperative</quote> FreeBSD ¤À³Î°Ï¡CµM«á³]©w³oÓ¤À³Î°Ï¬°¥i + ¶}¾÷¡A¦A¥´¶}Ãay±½ºË¡C¦b¯u¥¿ªº¦w¸Ë¹Lµ{¤¤¡Abad144 ·|¦b¥ô¦óÀɮרt²Î + ³Q«Ø¥ß«e¥ý³Q°õ¦æ¡C¡]±z¥i¥H«ö Alt-F2 ¨ÓºÊ¬Ý³o¤@¤Á¡^¦pªG¦b«Ø¥ßÃay¸ê + ®ÆÀɮɵo¥Í¤F°ÝÃD¡A±z·|»Ýn³]©w¤@Ó¸û¤jªººÏºÐ geometry - ³oªí¥Ü±z + »Ýn«¶}¾÷¡AµM«á¥þ³¡¦A«·s¶}©l¡]¥]¬A«·s¤À³Î¥H¤Î¦b DOS ¤U«·s + format¡^¡C</para> + + <para>¦pªG remapping ªº¥\¯à¤w¸g±Ò°Ê¤F¡A¦Ó±z¨ÌµM¤@ª½¬Ý¨ìÃay²£¥Í¡A + ¨º»ò¦Ò¼{´«¤@¥xµwºÐ§a¡CÃayªº±¡§Î¥u·|ÀH®É¶¡¼W¥[¦Ó§ó¬°ÄY«¡C</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="hpnetserver-scsi-failure"> + <para>¬°¤°»ò FreeBSD §ì¤£¨ì HP Netserver ªº SCSI ±±¨î¥d¡H</para> + </question> + + <answer> + <para>°ò¥»¤W³oÓ¬O¤@Ó¤wª¾ªº°ÝÃD¡C¦b HP Netserver ¾÷¾¹¤Wªº on-board + EISA ¤¶± SCSI ±±¨î¥d¥e¾Ú¤F©w§}¬°²Ä 11 ªº EISA ¼Ñ¡A¦]¦¹©Ò¦³ªº + <quote>¯u¹ê</quote> 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</para> + + <para>¦]¦¹¡A²{¦b§A¯à°µªº³Ì¦n¨Æ±¡´N¬O¦b kernel ùس]©w + <literal>EISA_SLOTS</literal> ³oӿﶵ¬° 12 ¡AµM«á·í§@¨S¦³³oÓ + °ÝÃD :)¡C½Ð¨Ì·Ó <ulink url="../../handbook/kernelconfig.html"> + Handbook ¤¤¦³Ãö kernel ªº³]©w</ulink> ùØ©Ò»¡ªº¤èªk¨Ó³]©w»P½sĶ + ±zªº kernel¡C</para> + + <para>·íµM¡A¦b¦w¸Ë FreeBSD ¨ì³oºØ¾÷¾¹¤W®É¡A³o¬O¤@ÓÂû¥Í³J³J¥ÍÂûªº + °ÝÃD¡C¬°¤F¸Ñ¨M³oÓ°ÝÃD¡A¦b <emphasis>UserConfig</emphasis> ¤¤¦³ + ¤@Ó¯S§Oªº¤èªk¡A¦w¸Ë®É¤£n¶i¤J <quote>visual</quote> ¤¶±¡A¬Û¤Ï + ªº¡A¦b©R¥O¦C¼Ò¦¡¤¤¡AÁä¤J</para> + + <programlisting>eisa 12 +quit</programlisting> + + <para>µM«á´N¦p¥H©¹¤@¼Ë¦w¸Ë±zªº¨t²Î¡C¤£¹L§ÚÌ«Øij±z½sĶ»P¦w¸Ë¤@Ó + ÄÝ©ó¦Û¤vªº kernel¡A¦ý</para> + + <para>§Æ±æ¦b¥¼¨Óªºª©¥»¤¤¯à¹ï³oÓ°ÝÃD¦³¤@Ó¦nªº¸Ñ¨M¤èªk¡C</para> + + <note> + <para>±zµLªk¦b HP Netserver ¤W¨Ï¥Î + <literal>dangerously dedicated</literal> ºÏºÐ¼Ò¦¡¡C±z¥i¥H°Ñ¦Ò + <link linkend="dedicate">³o¥÷µù¸Ñ</link> ¥HÀò±o§ó¦h¸ê°T¡C</para> + </note> + </answer> + </qandaentry> + + <qandaentry> + <question id="ed1-timeout"> + <para>¤@ª½¬Ý¨ìÃþ¦ü + <errorname>ed1: timeout</errorname> ªº°T®§¡C¥¦Ì¬O¤°»ò·N«ä©O¡H + </para> + </question> + + <answer> + <para>³oÓ³q±`¬O¥Ñ©ó¤¤Â_½Ä¬ð(interrupt conflict)©Ò³y¦¨ªº + (¨Ò¦p¡G¨â¶ô¥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/..µ¥ªº³]©w¡A¨Ï¨ä©M±zºô¸ô¥d¥»¨ªº³]©w¤@P¡C</para> + + <para>¦pªG±z¬O¨Ï¥Î±zºô¸ô¥d¤Wªº BNC ±µÀY¡A±z©Î³\¤]·|¦]¤£¨}ªº²×ºÝ¹qªý³]©w¡A + ¦Óµo¥Í¸Ë¸m(device) timeout ªº±¡§Î¡CnÀˬd¬O§_¦³³oºØ±¡§Î¡A + ±z¥i¥H¦bºô¸ô¥d¤Wª½±µ±µ¤W²×ºÝ¹qªý(¤£n±µºô¸ô½u)¡A + µM«á¡A¬Ý¬Ý³oÓ¿ù»~°T®§¬O¤£¬O´N®ø¥¢¤F¡C</para> + + <para>¦³¨Ç NE2000 ªº¬Û®e¥d¡A¦pªG¥¦ªº UTP °ð¨S¦³±µºô¸ô½u¡A + ©Î¬O¸Óºô¸ô½u¨Ã¨S³Q¨Ï¥Îªº¸Ü¡A¤]·|¥X²{³oÓ¿ù»~°T®§¡C</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="bad-3c509"> + <para>&tm.3com; 3C509 ºô¸ô¥d²ö¦W¨ä§®½}¤u¡H</para> + </question> + + <answer> + <para>³o¶ô¥d¦³Ó¤£¦nªº¦a¤è¦b©ó¥¦±`±`·|¿ò¥¢¥»¨ªº³]©w¸ê®Æ¡C½Ð¨Ï¥Î¸Ó + ¥dªº DOS ¤u¨ã <command>3c5x9.exe</command> ¨Ó§ó·s¥d¤W³]©w¡C</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="printer-slow"> + <para>¥¦æ°ð¦Lªí³t«×¯}¤Ñ¯îªººC¡A¸Ó«ç»ò¿ì¡H</para> + </question> + + <answer> + <para>¦pªG°ß¤@ªº°ÝÃD´N¬O³t«×«ÜºCªº¸Ü¡A¸ÕµÛ§ïÅܱzªº <ulink + url="../handbook/printing-intro-setup.html#PRINTING-PARALLEL-PORT-MODE"> + ¦Lªí¾÷³s±µ°ð³]©w</ulink> ³oÓ¦b¤â¥U¤¤ªº + <ulink url="../handbook/printing-intro-setup.html">¦Lªí¾÷³]©w + </ulink> ³oÓ³¹¸`¦³¥[¥H°Q½×¡C</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="signal11"> + <para>µ{¦¡¦³®É·|¦] <errorname>Signal 11</errorname> ¿ù»~¦Ó°±¤î¡H</para> + </question> + + <answer> + <para>Signal 11 ³oÓ¿ù»~¬O¦]¬°§Aªº process ¹Á¸Õn¦s¨ú¤@¶ô°O¾ÐÅé¡A + ¦Ó§Aªº§@·~¨t²Î¨Ã¤£¤¹³\¥¦°µ³oӰʧ@¦Óµo¥Íªº¡C¦pªG³oºØ±¡§Î±`±`¤£ + ©w®Éµo¥Í¡A¨º»ò§AÀ³¸Ón¶}©l¬Ý¬Ý¬O¤£¬Oþ¸Ì¥X°ÝÃD¤F¡C</para> + + <para>³o¨Ç°ÝÃD¥i¯à¬O»P¤U¦C±¡§Î¦³Ãö¡G</para> + + <orderedlist> + <listitem> + <para>¦pªG³oÓ°ÝÃD¥u¦b¬Y¤@Ó±z¦Û¤v¼gªº¬YÓ¯S©wµ{¦¡µo¥Í¡A¨º + »ò«Ü¦³¥i¯à¬O±zªºµ{¦¡½X¦³°ÝÃD¡C</para> + </listitem> + + <listitem> + <para>¦pªG³oÓ°ÝÃD¬O¦b FreeBSD ªº¬Y¨Ç¨t²ÎÀÉ®×µo¥Í¡A¦³¥i¯à¬O + ¦]¬°µ{¦¡¦³°ÝÃD¡A¦ý³q±`¦b§Ú̳o¸sŪ FAQ ªº¨Ï¥ÎªÌ¥h¶]³o¨Ç¦³ + °ÝÃDªºµ{¦¡½X«e¡A¥¦Ì¦´N´N¤w¸g³Q¸Ñ¨M¤F¡]³o¬O -current ¦b°µ + ªº¨Æ¡^¡C</para> + </listitem> + </orderedlist> + + <para>¤×¨ä¦pªG§A¦b½sĶ¤@Óµ{¦¡¡A¦ý¬O¨C¦¸½sĶ¾¹¶]¥X¨Óªºµ²ªG³£¤£¤@¼Ë + ªº¸Ü¡A³o¬O¤@ÓµL¸Ñªº°ÝÃD¡A¦Ó<emphasis>¤£¬O</emphasis> FreeBSD ¯äÂΡC</para> + + <para>Á|¨Ò¨Ó»¡¡A°²³]±z¥¿¦b¶] <quote>make buildworld</quote>¡A + ¦Ó compiler ¦b±N <filename>ls.c</filename> ½sĶ¦¨ + <filename>ls.o</filename> ®Éµo¥Í¿ù»~¡A³o®É½Ð¦A¶]¤@¦¸ + <quote>make buildworld</quote>¡A¦pªG compiler ¨ÌµM¦b¦P¼Ëªº¦a¤èµo + ¥Í°ÝÃD¡A¨º»ò´N¬Oµ{¦¡½X¦³°ÝÃD¡Ð¡Ð½Ð§ó·sì©l½XµM«á¦A¸Õ¸Õ¬Ý¡C¦Ó¦pªG + compiler ¬O¦b¨ä¥Lªº¦a¤èµo¥Í¿ù»~¡A¨º»ò´X¥G¥i¥H½T©w¬OµwÅ骺°ÝÃD¤F¡C + </para> + + <para>±z³o®ÉÀ³¸Ó°µ¤°»ò¡G</para> + + <para>¦pªG¬O²Ä¤@ºØ±¡§Î¡A¥i¥H¨Ï¥Î¤@¨Ç debugger¡A¦p¡Ggdb¡A¨Ó§ä¥Xµ{¦¡ + ¬O¦b¨º¨à·|¥h¹Á¸Õ¦s¨ú¿ù»~ªº°O¾ÐÅé¦ì§}¡AµM«á¦A×¥¿¥¦¡C</para> + + <para>¦pªG¬O²Ä¤GºØ±¡§Î¡A´N»ÝnÀˬd¬Ý¬Ý¬O¤£¬OµwÅ骺°ÝÃD¤F¡C</para> + + <para>¤@¨Ç³y¦¨µwÅ餣êºì¦]¥]¬A¡G</para> + + <orderedlist> + <listitem> + <para>¥i¯à¬OµwºÐ¹L¼ö¡G½ÐÀˬd¾÷´ß¤ºªº·®°¬O§_¹B§@¥¿±`¡A¦]¬°±z + ªºµwºÐ¡]©ÎªÌÁÙ¦³¨ä¥LªºµwÅé¸Ë¸m¡^¹L¼ö¤F¡C</para> + </listitem> + + <listitem> + <para>³B²z¾¹¹L¼ö¡G³oÓ¦³¥i¯à¬O¦]¬°¶WÀW¡A©ÎªÌ¬O³B²z¾¹ªº·®°±¾¤F¡C + ¤£½×¬OþºØì¦]¡A±z³£»Ýn±N©Ò¦³ªº¤¸¥ó¦^´_¨ì¥¦Ìì¥ý³]©wªº¤u§@ª¬ + ºA¡A³o¼Ë¤~¯à¸Ñ¨M³oÓ°ÝÃD¡CÁ|Ó¨Ò¤l¨Ó»¡¡G±N³B²z¾¹½Õ¦^ì¥ýªº¤u§@ + ÀW²v¡C</para> + + <para>¦pªG±zÁÙ¬O°í«ùn¶WÀWªº¸Ü¡A½ÐÂÔ°O¡A»P¨ä¿NÃa¦Ó»Ýn´«·sªº¤@¥x + ¥D¾÷¡A¤£¦p±N³t«×½ÕºC¤@ÂI¡I°£¦¹¤§¥~¡A¤£ºÞ§Aı±o¥¦¦w¤£¦w¥þ¡A¤@¯ë + ¤H¹ï©ó±z¦]¬°¶WÀW¦Óµo¥Íªº°ÝÃD¡A¬O¤£·|¦³¤°»ò¦P±¡¤ßªº¡C</para> + </listitem> + + <listitem> + <para>¤£Ã©wªº°O¾ÐÅé¡G¦pªG¥D¾÷¤W¦³¦w¸Ë¼Æ®Ú SIMM/DIMM °O¾ÐÅé¡A + ¸ÕµÛ§â¥¦Ì¥þ©î¤U¨Ó¡AµM«á¤@®Ú¤@®Ú´¡¤W¥h°µ´ú¸Õ¡AÂǦ¹ÁY¤p½d³ò¡A + ¥H«K§ä¥X¦³°ÝÃDªº¬Y®Ú°O¾ÐÅé©Î¬O¬YºØ°O¾ÐÅé²Õ¦X¡C</para> + </listitem> + + <listitem> + <para>³Ì¨Î¤Æ¹LÀYªº¥D¾÷ªO³]©w¡G¦b BIOS ùةάO¦³¨Ç¥D¾÷ªOªº jumper + ¤W¡A¦³®É¥i¥H§ó§ï¤@¨Ç timing¡A¦ý¦b¤j¦h¼Æªº±¡§ÎùØ¡A¨Ï¥Î¹w³]È´N + ¤w¸g¨¬°÷¤F¡Cªp¥B¦³®ÉÔ§â RAM ªº wait states ³]¤Ó¤p¡A©Î¬O¦b + BIOS ùØ¡A§â <quote>RAM Speed: Turbo</quote> ³oөάO¨ä¥LÃþ¦ü + ªº¿ï¶µ¥´¶}³£¦³¥i¯à·|³y¦¨¤@¨Ç¤£¥¿±`ªº²{¶H¡C¤@ӸѨMªº¤èªk¬O§â + BIOS ³]¦^¹w³]È¡A¤£¹L¦b³o¤§«e°O±o¥ý°O¤U¥Ø«eªº³]©w¡I</para> + </listitem> + + <listitem> + <para>¨Ñµ¹¥D¾÷ªOªº¹q¤O¤£°®²b©Î¬O¤£¨¬¡C¸ÕµÛ§â¨t²Î¤º¨S¦³¥Î¨ìªº + I/O ¥d¡DµwºÐ©Î¬O CDROM ¼È®É©î±¼©Î¬O©Þ±¼¹q·½½u¡A¬Ý¬Ý§Aªº¹q·½ + ¨ÑÀ³¾¹¬O¤£¬O¯à°÷¦b¤p¤@ÂIªºt²ü¤U¥¿±`¤u§@¡C¤£µM´N¬O´«¤W¥t¤@ + Ó·sªº¹q·½¨ÑÀ³¾¹¡A³Ì¦n¬O¥Ë¼Æ°ª¤@ÂIªº¡]¥´Ó¤ñ¤è¨Ó»¡¡A¦pªGì + ¥ýªº¹q·½¨ÑÀ³¾¹¬O 250 ¥Ëªº¡A¨º»ò´N´«¤W 300 ¥Ëªº¸Õ¸Õ¡^¡C</para> + </listitem> + + </orderedlist> + + <para>½Ð¶¶«K°Ñ¾\ SIG11 FAQ¡]³sµ²¦b¤U±¡^¡AÁöµM¥¦¬O¯¸¦b Linux ªº¨¤ + «×¼gªº¡A¥i¬O¸Ì±¹ï³o¨Ç°ÝÃD¦³³\¦h«Ü´Îªº¸Ñ»¡¡C¥¦¸Ì±¤]¦³°Q½×¬°¤°»ò + ¦³°ÝÃDªº°O¾ÐÅé¯à³q¹L³nÅé©ÎµwÅ骺´ú¸Õªºì¦]¡C</para> + + <para>³Ì«á¡A¦pªG¤W±³o¨Çì¦]³£±Æ°£¤F¡A¨º»ò¦³¥i¯à¬O¹J¨ì¤F FreeBSD + ùتº¤@°¦¯äÂΡA½Ð°Ñ¾\«ü¥Ü°µ¤@Ó°ÝÃD¦^³ø¡C</para> + + <para>³o¨à¦³¤@Ó§ó¸Ô²Óªº FAQ ¡Ð <ulink + url="http://www.bitwizard.nl/sig11/"> + the SIG11 problem FAQ</ulink></para> + </answer> + </qandaentry> + + <qandaentry> + <question id="trap-12-panic"> + <para>·í¾÷®É¥X²{¡G<errorname>Fatal trap 12: page fault in kernel mode</errorname> + ¡A©Î¬O <errorname>panic:</errorname> ¥H¤Î¤@°ï¿ù»~°T®§¡A¸Ó«ç»ò¿ì¡H</para> + </question> + + <answer> + <para>FreeBSD ªº¶}µoªÌ¹ï©ó³o¨Ç¿ù»~°T®§¬Û·íªº¦³¿³½ì¡A¦ý¬O¥LÌ»Ýn + §ó¸Ô²Óªº¤@¨Ç²Ó¸`¡C½Ð§â±zªº·í¾÷ªº°T®§¥þ³¡½Æ»s¤U¨Ó¡A±µµÛ¬d¾\ FAQ + ùØ <link linkend="kernel-panic-troubleshooting">kernel + panics</link> ³o¸`¡A¨Ì»¡©ú½sĶ¤@Ó§t°£¿ù½Xªº kernel¡A¥H¨ú±o¨ç¦¡ + ©I¥s¶¶§Ç¡]backtrace¡^¡C³oÓÅ¥°_¨Ó«ÜÃø¡A¦ý¹ê»Ú¤W¨Ã¤£»Ýn¥ô¦óµ{¦¡ + ³]pªº¯à¤O¡A±z¥u»Ýn¨Ì·Ó«ü¥Ü°µ§Y¥i¡C</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="screen-loses-sync"> + <para>¬°¤°»ò·í§Ú¶}¾÷®É¡A¿Ã¹õÅܶ¡A¥B¤£°±°{°Ê¡H</para> + </question> + + <answer> + <para>³oÓ°ÝÃD¡A¤wª¾¬O¥Ñ ATI Mach 64 Åã¥Ü¥d©Ò¤Þ°_ªº¡C¦]¬°³o¶ô¥d + ¨Ï¥Î¨ì <literal>2e8</literal> ³oÓ¦ì§}¡A¦Ó³o»P²Ä¥|ӧǦC°ð + ¡]serial port¡^©Ò¨Ï¥Îªº¦ì§}¬Û¦P¡C¦Ó¦b &man.sio.4; ³oÓÅX°Ê + µ{¦¡ùØ¡A¤£ª¾¹D¬O bug ©Î¬O¥\¯à¡]feature¡^¡A´Nºâ±z¨S¦³²Ä¥| + ¦C°ð¡A©Î¬O¤w¸g±N sio3¡]²Ä¥|ӧǦC°ð¡^¨ú®ø¤F¡A¥¦ + <emphasis>¨ÌµM</emphasis>·|¥h¹Á¸ÕÅX°Ê¥¦¡C</para> + + <para>ª½¨ì³oÓ°ÝÃD³Q¸Ñ¨M¥H«e¡A±z¥i¥H¨Ï¥Î³oÓ¤èªk¡G</para> + + <orderedlist> + <listitem> + <para>¦b¬Ý¨ì¶}¾÷´£¥Ü®É¿é¤J <option>-c</option> + ¡]³o·|Åý kernel ¶i¤J³]©w¼Ò¦¡¡^¡C</para> + </listitem> + + <listitem> + <para>¨ú®ø <devicename>sio0</devicename> ¡A + <devicename>sio1</devicename> ¡A + <devicename>sio2</devicename> ©M + <devicename>sio3</devicename>¡]¥þ³¡¡^¡C + ³o¥i¥HÅý sio ÅX°Êµ{¦¡¤£°Ê§@ -> ©ó¬O°ÝÃD¸Ñ¨M¡C</para> + </listitem> + + <listitem> + <para>¿é¤J exit ¥HÄ~Äò±Ò°Êµ{§Ç¡C</para> + </listitem> + </orderedlist> + + <para>¦pªG±z·Qn¨Ï¥Î±zªº§Ç¦C°ð¡A±z»Ýnקï + <filename>/usr/src/sys/i386/isa/sio.c</filename>¡A¦b¸ÓÀɤ¤§ä¥X + <literal>0x2e8</literal> ³oÓ¦r¦ê¡A²¾°£³oÓ¦r¦ê¤Î¥¦«e±ªº³r¸¹ + ¡]«O¯d«á±ªº¡^¡AµM«á«·s½sĶ¤@Ó·sªº kernel¡C</para> + + <para>´Nºâ¨Ï¥Î¤F¤W±³o¨Ç¤èªk¡AX Window ¤´µM¦³¥i¯àµLªk¶¶§Q°õ¦æ¡C + ¦pªGµo¥Í¤F³oºØ±¡§Î¡A½Ð½T©w§A¥Îªº XFree86 ªºª©¥»¬O³Ì·sªº XFree86 + 3.3.3 ©Î¬O¨ä«áªºª©¥»¡C¥¦Ì¦³¤º«Ø¤ä´© Mach 64 ³o±i¥d¡A¬Æ¦Ü¬°¤F³o + ¨Ç¥dÁÙªþ¦³¤@Ó¯S§Oªº X Server</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="reallybigram"> + <para>¬°¤°»ò§Úªº¨t²Î¸Ë¦³ 128 MB ªº RAM¡A¦Ó FreeBSD ¥u¥Î¤F¨ä¤¤ªº + 64MB¡H</para> + </question> + + <answer> + <para>¦]¬° 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</para> + + <para>n¸Ñ¨M³oÓ°ÝÃD¡A±z»Ýn¨Ï¥Î¤U±©Ò´£ªº kernel ³]©w¿ï¶µ¡CÁöµM¦³ + ¤èªk¥i¥H±q BIOS ¤¤¨ú±o°O¾ÐÅ骺§¹¾ã¸ê°T¡A¦ý¬O¥Ø«e§Ú̦b¶}¾÷°Ï¤¤¨Ã + ¨S¦³¦h¾lªºªÅ¶¡¨Ó°µ³o¥ó¨Æ¡C·í¬Y¤Ñ¶}¾÷°ÏªÅ¶¡¤£¨¬ªº±¡§ÎÀò±o¸Ñ¨M®É¡A + §Ú̱N·|¨Ï¥Î BIOS ªº©µ¦ù¥\¯à¨Ó¨ú±o°O¾ÐÅ骺§¹¾ã¸ê°T...¦ý²{¦b§ÚÌ + ±N¥¦©ñ¦b kernel ³]©w¿ï¶µ¤¤¡C</para> + + <para><literal>options "MAXMEM=<replaceable>n</replaceable>"</literal></para> + + <para><replaceable>n</replaceable> ¬O«ü±zªº°O¾ÐÅé¤j¤p¡A¥H KB + ¬°³æ¦ì¡C¥H¤@¥x¦³ 128MB RAM ªº¾÷¾¹¨Ó»¡¡A±z¥i¨Ï¥Î + <literal>131072</literal>³oӼƦr¡C</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="kmem-map-too-small"> + <para>¾÷¾¹¤Wªº RAM ¦³ 1GB ¥H¤W¡A¥i¬O¬°¦ó«o¦¬¨ì <quote>kmem_map too small</quote> + ªº panic ¿ù»~°T®§¡H + </para> + </question> + + <answer> + <para>³q±` FreeBSD ·|¨Ì¾Ú¾÷¾¹ª¬ªp¨Ó¦Û°Ê½Õ¾ã kernel ¬ÛÃö°Ñ¼Æ³]©w¡A¤ñ¦p¡G + ®Ú¾Ú¾÷¾¹©Ò¸Ëªº RAM ¤j¤p¨Ó¨M©w¦P®É¥i¶}±ÒªºÀɮ׼ƶq¦h¹è¡C + µM¦Ó¡A¦b 1GB RAM(§t¥H¤W) ªº¾÷¾¹¤W¡A³oÓ¡y¦Û°Ê½Õ¾ã¡zªº¾÷¨î¥i¯à¦³®É·|°ª¦ô¡G + ¤ñ¤è»¡..¶}¾÷®É¡Akernel ·|¥ý°t¸m¦UºØ¤£¦P¥Î³~ªºªí®æ¤Î¨ä¥L¬[ºc©ñ¨ì°O¾ÐÅé¤W¡A + µM«á¡A·í¾ãÓ§@·~¨t²Î³£¶}©l¹B§@¤§«á¡Akernel ´N·|¶}©l¤£°÷ªÅ¶¡¨Ó°µ°O¾ÐÅé°t¸mªº°ÊºA½Õ¾ã¡A + ©ó¬O´N panic ±¾¤F¡C</para> + + <para>¸Ñªk¬O¡G§â <option>VM_KMEM_SIZE_MAX</option> ¥[¨ì kernel ³]©wÀɤº¡A + ¨Ã«·s½sĶ kernel¡A¤ñ¦p¡G</para> + + <para><literal><option>options VM_KMEM_SIZE_MAX=419430400</option></literal></para> + + <para> + ³o¼Ë·|³]©w 400 MB ¨Óµ¹ kernel ¨Ï¥Î¡A¦Ó¥B±Ä¥Î 400 MB ªº¸Ü¡A + ¥Ø«e¦b 6GB RAM ªº¾÷¾¹¤W³£¥i³Q¦³®Ä¹B¥Î¡C</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="panic-kmemmap-too-small"> + <para>¾÷¾¹¤W RAM ¤£¨ì 1GB ¡A¦ý¤´·|¥X²{ + <errorname>kmem_map too small!</errorname> ªº panic ¿ù»~°T®§ + </para> + </question> + + <answer> + <para>¤§©Ò¥H panic ªºì¦]¦b©ó¨t²Î¥Î¥ú¤Fµ¹ network buffer ¥Î³~ªº virtual memory + (¤×¨ä¬O mbuf clusters)¡C¸Ñªk¬O¼W¥[µ¹ mbuf clusters ¥Îªº virtual memory + ¼Æ¶q¡A³o¨BÆJ½Ð°Ñ¾\ FreeBSD ¨Ï¥Î¤â¥Uªº + <ulink + url="&url.books.handbook;/configtuning-kernel-limits.html#NMBCLUSTERS">ºô¸ô¨î½g</ulink> + ¡C</para> + </answer> + </qandaentry> + +<!-- +¥H¤U¬°Âª© faq ¤º®e + <para>³oÓ panic ªºì¦]¬Oªí¥Ü¨t²Î¥Î¥ú¤Fµ¹ºô¸ô½w½Ä°Ïªº©Ò¦³ªºµê + ÀÀ°O¾ÐÅé¡]¯S§O¬O mbuf clusters¡^¡C±z¥i¥H¼W¥[µ¹ mbuf clusters + ªº VM ªº¼Æ¶q¡A¥un¥[¤J:</para> + + <para><literal>options "NMBCLUSTERS=<replaceable>n</replaceable>"</literal></para> + + <para>¦b±zªº kernel ³]©wÀɤ¤¡A<replaceable>n</replaceable> + ¬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°õ¦æ: <command>netstat -m</command> + ¡]see &man.netstat.1;¡^¨ÓºÊ¬Ý¦³¦h¤Ö mbuf clusters ¦b¨t²Î¤W¥¿³Q + °t¸m/¨Ï¥Î¡CNMBCLUSTERS ªº¼ÆȤº©w¬° <literal>512 + MAXUSERS * 16 + </literal>¡C</para> +--> + + <qandaentry> + <question id="proc-table-full"> + <para>¬°¤°»ò§Ú¤@ª½¬Ý¨ì <errorname>/kernel: proc: table + is full</errorname> ³oÓ¿ù»~°T®§¡H</para> + </question> + + <answer> + <para>FreeBSD kernel ¥u¤¹³\¤@©w¼Æ¶qªº process ¦b¦P¤@®É¶¡¸Ì¦P + ®É¹B§@¡C¦Ó³oӼƥجO®Ú¾Ú kernel ³]©wÀɸ̱ªº + <literal>MAXUSERS</literal> ȨӨM©wªº¡C<literal>MAXUSERS</literal> + ³oÓȤ]·|¼vÅT¨ä¥Lªº kernel ¤º©wÈ¡A¤ñ¦p»¡ network buffer + (½Ð°Ñ¾\<link linkend="panic-kmemmap-too-small">³oÓ</link>¤§«e°Q + ½×¹Lªº°ÝÃD)¡C¦pªG¾÷¾¹t²ü(load)«Ü«¡A±z¥i¯à»Ýn¼W¥[ + <literal>MAXUSERS</literal> ³oÓÈ¡C³o»ò§@·|¤@¨Ö´£°ª¨t²Îªº¨ä¥L¤º + ©wÈ¡A¥]¬A³Ì¤j¥i¾Ö¦³ªº process ¼Æµ¥¡C</para> + + <para>Yn½Õ¾ã <literal>MAXUSERS</literal>¡A½Ð°Ñ¾\ FreeBSD ¨Ï¥Î¤â¥U¤¤ªº <ulink + url="&url.books.handbook;/configtuning-kernel-limits.html#KERN-MAXFILES"> + ÀÉ®×/Processªº¨î</ulink> ³¹¸`¡C + (ÁöµM¸Ó³B«üªº¬O¡yÀɮתº¶}±Ò¼Æ¶q¨î¡z¡A¦ý¤]¾A¥Î©ó process³¡¤À¡C)</para> + + <para>¦b FreeBSD 4.4 ¤§«á¡A<literal>MAXUSERS</literal> ¤w¸gÅܦ¨¥i + ¥H¾aµÛ§ó§ï <filename>/boot/loader.conf</filename> ùتº + <varname>kern.maxusers</varname> ³oÓȦӽվ㪺ÅܼƤF¡C¦Ó¦b¤§«e + ªº FreeBSD ª©¥»¤¤¡A³oÓÈ¥u¯à¦b kernel ³]©wÀÉùؽվã¡C</para> + + <para>¦pªG¾÷¾¹t²ü¨Ã¤£«¡A¦Ó±z¥u¬O»Ýn¦P®É¶]«Ü¦h«Ü¦h process¡A + ¨º»ò¤]¥i¥Hª½±µ¥Î sysctl ½Õ¾ã <varname>kern.maxproc</varname> È¡C + °²¦p³o¨Ç process ³£¬OÄÝ©ó¬YӨϥΪ̪º¡A¨º»ò±zÁÙ»Ýn¥t + ¥~½Õ¾ã <varname>kern.maxprocperuid</varname> ³oÓÈ¡A¨Ï¥¦¤ñ·s + ªº <varname>kern.maxproc</varname> ³oÓÈ¤Ö 1 (¤@©wn¤Ö 1 ¡A + ¦]¬° &man.init.8; ³oÓ¨t²Îµ{¦¡µ´¹ïn«O«ù¦b¹B§@ª¬ºA)¡C</para> + + <para>¦pªG·Q¦b¨C¦¸¶}¾÷³£n§ó§ï sysctl ªºÈ¡A¦Ó¥B±zªº FreeBSD ¬O + ³Ìªñªºª©¥»ªº¸Ü¡A½Ð¦b <filename>/etc/sysctl.conf</filename> ³o + ÓÀɤ¤³]©w¡A¦Ó¦pªG¬Oªºª©¥»¡A¥i¥H¦b + <filename>/etc/rc.local</filename> ¤¤§@³]©w¡C</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="cmap-busy-panic"> + <para>¬°¤°»ò¥Î·s kernel ¶}¾÷®É¡A¥X²{ <errorname>CMAP + busy</errorname> ³oÓ¿ù»~°T®§¡H</para> + </question> + + <answer> + <para>¥Î¨Ó°»´ú <filename>/var/db/kvm_*.db</filename> ¹L®ÉÀɮתº¾÷¨î°¸º¸·|µo¥Í°ÝÃD¡A¦Ó¨Ï¥Î¨ì¤F¤@Ó¤£¨ó½Õ + (mismatch)ªºÀɮצ³®É´N·|¾ÉP panic¡C</para> + + <para>¦pªGµo¥Í¤F³oÓ°ÝÃD¡A½Ð«·s¶}¾÷¡A¶i¤J single ¨Ï¥ÎªÌ¼Ò¦¡¡AµM«á°õ¦æ¡G</para> + + <screen>&prompt.root; <userinput>rm /var/db/kvm_*.db</userinput></screen> + </answer> + </qandaentry> + + <qandaentry> + <question id="brkadrint-illegal-host-access"> + <para>½Ð°Ý³oÓ°T®§¡G<errorname>ahc0: brkadrint, Illegal Host Access at seqaddr 0x0</errorname> + ¬O¤°»ò·N«ä¡H</para> + </question> + + <answer> + <para>³o¬O¤@Ó©M Ultrastor SCSI ±±¨î¥d¦³Ãöªº½Ä¬ð¡]conflict¡^¡C</para> + + <para>¦b¶}¾÷®É¡A¶i¤J kernel ³]©w¿ï³æ¨ú®ø + <devicename>uha0</devicename>¡A¥¦¬O³y¦¨³oÓ°ÝÃDªºì¦]¡C</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="aci0-illegal-cable"> + <para>¶}¾÷®É¡A¬Ý¨ì³oÓ¿ù»~°T®§ <errorname>ahc0: illegal cable configuration</errorname>¡C + §Úªº±Æ½u½T©w¦³±µ¹ï¡C ¬O¥X¤F¤°»ò°ÝÃD©O¡H</para> + </question> + + <answer> + <para>±zªº¥D¾÷ªO¥i¯à¤£¤ä´©¦Û°Ê²×ºÝ¹qªý³]©w¡C½Ð¶i¨ì SCSI ªº BIOS + ¸Ì±¤â°Ê«ü©w¥¿½Tªº²×ºÝ¹qªý¶¶§Ç¡A¦Ó¤£n¨Ï¥Î¦Û°Ê³]©w¡C + AIC7XXX ªºÅX°Êµ{¦¡¨ÃµLªkª¾¹D¦³¨S¦³³o¨Ç±Æ½u°»´ú(¥H¤Î¦Û°Ê²×ºÝ¹qªý³]©w)ªº¹q¸ô(external logic) + ¦s¦b¡C¦pªG EEPROM ¸Ì±ªº³]©w¬O "automatic termination" ®É¡A¥¦¥u·|³æ¯Â°²©w³o¨Ç¹q¸ô·íµM¬O¦s¦bªº¡C + Y¯Ê¤Ö¤F³oÓ¹q¸ô¡AÅX°Êµ{¦¡¦b³]©w²×ºÝ¹qªý®É´N±`±`¥X°ÝÃD¡C + ¦Ó³oºØ°ÝÃD±N¾ÉP SCSI ¶×¬y±Æªº¥i¾a©Ê°§C¡C</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="mail-loopback"> + <para>¬°¤°»ò Sendmail ¤@ª½¥X²{ + <quote><errorname>mail loops back to myself</errorname></quote> + ³oÓ¿ù»~°T®§¡H</para> + </question> + + <answer> + <para>³oÓ°ÝÃD¦b sendmail ªº FAQ ¤¤¬O³o¼Ë¦^µªªº:-</para> + +<literallayout> * §Ú¤@ª½¦¬¨ì¦³Ãö "Local configuration error" ªº«H¥ó¡A¨Ò¦p¡G + + 553 relay.domain.net config error: mail loops back to myself + 554 <user@domain.net>... Local configuration error + + §Ún¦p¦ó¸Ñ¨M³oÓ°ÝÃD¡H + + ±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" + </literallayout> + + <para>³Ì·sª©¥»ªº <ulink url="ftp://rtfm.mit.edu/pub/usenet/news.answers/mail/sendmail-faq">sendmail + FAQ</ulink> ²{¦b¤w¤£¦AÀHµÛ sendmail <quote>¥X³f</quote>¡C + ¥¦¥Ø«e¬O³Q©w´Áªºµoªí¦b <ulink + url="news:comp.mail.sendmail">comp.mail.sendmail</ulink>¡A + <ulink url="news:comp.mail.misc">comp.mail.misc</ulink>¡A<ulink + url="news:comp.mail.smail">comp.mail.smail</ulink>¡A<ulink + url="news:comp.answers">comp.answers</ulink>¡A©M <ulink + url="news:news.answers">news.answers</ulink>. ±z¤]¥i¥H±H¤@«Ê + Email ¨ì <email>mail-server@rtfm.mit.edu</email>¡AµM«á¦b«H¥ó¤º¤å + ¤¤¼g¤W + <literal>send usenet/news.answers/mail/sendmail-faq</literal> + ¥H¨ú±o³o¥÷ FAQ ¤å¥ó¡C</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="remote-fullscreen"> + <para>¬°¤°»ò°õ¦æ»·ºÝ¾÷¾¹¡]remote machine¡^ªº¥þ¿Ã¹õªº³nÅé®É¡A + ¦³¤£¥¿±`ªº±¡§Î¡H</para> + </question> + + <answer> + <para>©Î³\»·ºÝ¾÷¾¹¨Ã«D±N±zªº²×ºÝ¾÷¼Ò¦¡³]¬° FreeBSD console ©Ò¥Îªº + <literal>cons25</literal>¡A¦Ó¬O³]¬°¨ä¥¦¼Ò¦¡¡C</para> + + <para>³o¨à¦³´XӸѨM³oÓ°ÝÃDªº¤èªk¡G</para> + <itemizedlist> + <listitem> + <para>¦b logging ¶i»·ºÝ¾÷¾¹«á¡A§ó§ï±zªº shell ÅÜ¼Æ TERM ¬° + <literal>ansi</literal> ©Î¬O <literal>sco</literal> + ¡}¦pªG»·ºÝ¾÷¾¹¤ä´©³o¨Ç¼Ò¦¡ªº¸Ü¡^¡C</para> + </listitem> + + <listitem> + <para>¨Ï¥Î¤ä´© VT100 ªº¼ÒÀÀ³nÅé¡A¦p FreeBSD console ¤Uªº + <application>screen</application> ³nÅé¡C + <application>screen</application> ´£¨Ñ±z¦b¤@Ó terminal + ùئP®É¶]¦n´XÓ session ªº¯à¤O¡A¦Ó¥B¥¦¥»¨¤]¬O¤@Ó¬Û·í¦n + ªº³nÅé¡C¨CÓ <application>screen</application> ³£¹³¬O¤@Ó + VT100 ªº²×ºÝ¾÷¡A©Ò¥H»·ºÝ¾÷¾¹ªº TERM ÅܼÆÀ³¸Ó³]¬° + <literal>vt100</literal>¡C</para> + </listitem> + + <listitem> + <para>¦b»·ºÝ¾÷¾¹ªº²×ºÝ¾÷¸ê®Æ®w¡]terminal database¡^¤¤¥[¤J + <literal>cons25</literal> ªº¸ê®Æ¡C¥[¤Jªº¤èªkµø»·ºÝ¾÷¾¹ªº + §@·~¨t²Î¤£¦P¦Ó¦³©Ò®t²§¡C½Ð°Ñ¾\»·ºÝ¾÷¾¹µ¹¨t²ÎºÞ²zûªº»¡©ú + ®Ñ¡AÀ³¸Ó·|¦³©ÒÀ°§U¡C</para> + </listitem> + + <listitem> + <para>±Ò°Ê FreeBSD ªº X ¦øªA¾¹¡AµM«á¨Ï¥Î¤@¨Ç X Window ¤Uªº + ²×ºÝ¾÷¼ÒÀÀ¾¹¨Óµn¤J»·ºÝ¾÷¾¹¡A¨Ò¦p <command>xterm</command> + ©Î <command>rxvt</command>¡C¦Ó»·ºÝ¾÷¾¹ªº TERM ÅܼÆÀ³¸Ón + ³]¬° <literal>xterm</literal> ©Î <literal>vt100</literal>¡C + </para> + </listitem> + </itemizedlist> + </answer> + </qandaentry> + + <qandaentry> + <question id="calcru-negative"> + <para>¬°¤°»ò§Úªº¾÷¾¹¤@ª½Åã¥Ü + <errorname>calcru: negative time...</errorname>¡H</para> + </question> + + <answer> + <para>¸ò¤¤Â_¡]interrupt¡^¦³Ãöªº¤£¦PµwÅé »P/©Î ³nÅ骺·f°t³£¦³¥i¯à³y¦¨ + ³oÓ°ÝÃD¡C³o¦³¥i¯à¬O bug ©Î¬O¬YӸ˸m¥»¨ªº°ÝÃD¡C¦b¥¦æ°ð¤W¨Ï¥Î + ¤jªº MTU ¨Ó§@ TCP/IP ¶Ç¿é¥i¥H«²{³oÓ°ÝÃD¡CY¬O¹Ï§Î¥[³t¥d³y¦¨³oÓ + °ÝÃDªº¸Ü¡A±zÀ³¸Ó¥ýÀˬd¥dªº¤¤Â_³]©w¡C</para> + + <para>³oÓ°ÝÃDªºÃä»Ú®ÄÀ³¬O·|³y¦¨¦³¨Ç process ¥X²{ + <quote>SIGXCPU exceeded cpu time limit</quote> ªº°T®§¡A¦Ó¤£¥¿±` + °±¤î¡C</para> + + <para>Y¬O FreeBSD 3.0 ©Î¬O 1998 ¦~ 11 ¤ë 29 ¤é¥H«á¨ä¥Lª©¥»¡A¸U¤@ + ³oÓ°ÝÃD¤@ª½µLªk¥H¨ä¥L¤èªk¸Ñ¨M¡A´N¥u¯à³]©w sysctl ÅܼơG</para> + + <screen>&prompt.root; <userinput>sysctl -w kern.timecounter.method=1</userinput></screen> + + <para>³o¼Ë·|¹ï®Ä¯à¦³¨Ç¼vÅT¡A¦ý¬OY¦Ò¼{¨ì³oÓ°ÝÃD±a¨Óªº«áªG¡A³o¼Ë°µ + ¬Oȱoªº¡C¦pªG³oÓ°ÝÃDÁÙ¬O¦s¦bªº¸Ü¡AÅý sysctl ¨ºÓȨ̵M³]¬° 1¡A + µM«á¼W¥[ kernel ³]©wÀɤ¤ <literal>NTIMECOUNTER</literal> ³oÓ¿ï + ¶µªº¼ÆÈ¡C¦pªG±z±N <literal>NTIMECOUNTER</literal> ¼W¥[¨ì 20 ¨Ì + µMµLªk¸Ñ¨M³oÓ°ÝÃD¡A¨º»ò±z¾÷¾¹¤Wªº¤¤Â_¤w¸g¦h¨ìµLªkÅýp¼Æ¾¹ºû«ù¦b + ¥i¾aªºª¬ºA¤F¡C</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="pcm0-not-found"> + <para>¥X²{ <errorname>pcm0 not found</errorname> ³oÓ°T®§¡A©ÎªÌ¬O + §Úªºµ®Ä¥dÅܦ¨¤F <devicename>pcm1</devicename>¡A¦ý¦b kernel ³]©w + ÀÉùاڬO³] <literal>device pcm0</literal> °Ú¡C³o¬O«ç»ò¦^¨Æ©O¡H + </para> + </question> + + <answer> + <para>¦pªG±z¦b FreeBSD 3.x ¤W¨Ï¥Î PCI µ®Ä¥d´N·|µo¥Í³oºØ°ÝÃD¡C + ¦]¬°<devicename>pcm0</devicename> ³oÓ device ¬O¤º©w«O¯dµ¹ ISA + ªºµ®Ä¥dªº¡A©Ò¥H¦pªG±z¦³¤@±i PCI ªºµ®Ä¥d¡A±z´N·|¹J¨ì³oÓ°ÝÃD¡A + ¦Ó±zªº¥d·|Åܦ¨ <devicename>pcm1</devicename>¡C</para> + + <note> + <para>¦pªG±z¥u§â kernel ³]©wÀɤ¤ªº³]©w§ï¦¨ + <literal>device pcm1</literal> ¬OµLªk°£¥h³oÓĵ§i°T®§ªº¡A + ³o¼Ë·|³y¦¨ <devicename>pcm1</devicename> ³Q«O¯dµ¹ ISA µ®Ä¥d¡A + ¦Ó PCI µ®Ä¥d«h·|Åܦ¨ <devicename>pcm2</devicename> + ¡]¥~¥[ <errorname>pcm1 not found</errorname> ªºÄµ§i°T®§¡^¡C + </para> + </note> + + <para>¦pªG±z¦³¤@±i PCI ªºµ®Ä¥d¡A±z»Ýn make + <devicename>snd1</devicename> ³oÓ device¡A¦Ó¤£¬O + <devicename>snd0</devicename>¡G</para> + + <screen>&prompt.root; <userinput>cd /dev</userinput> +&prompt.root; <userinput>./MAKEDEV snd1</userinput></screen> + + <para>³oÓ°ÝÃD¦b FreeBSD 4.x ¤W¨Ã¤£·|µo¥Í¡A¦]¬°«Ü¦h¤H§ë¤U¤F³\¦h¤ß + ¤OÅý¥¦§ó<emphasis>PnP ¾É¦V</emphasis>¡A¦Ó¥B + <devicename>pcm0</devicename> ³oÓ device ¤]¤£¦A¬O¥u«O¯dµ¹ ISA + ªºµ®Ä¥d¤F¡C</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="pnp-not-found"> + <para>¬°¤°»ò¦b§ó·s¨ì FreeBSD 4.X «á·|§ì¤£¨ì§Úªº PnP ¥d + ¡]©ÎªÌ¬O§ì¦¨ <literal>unknown</literal>¡^¡H</para> + </question> + + <answer> + <para>FreeBSD 4.X ²{¦b¤w¸g§ó <emphasis>PnP ¾É¦V</emphasis>¤F¡A + ¦ÓÃä»Ú®ÄÀ³´N¬O·|µo¥Í¦³¨Ç¦b FreeBSD 3.X ¥i¥H¥Îªº PnP ¸Ë¸m + ¡]¦pµ®Ä¥d©Î¬O¤º´¡¦¡¼Æ¾Ú¾÷¡^Åܦ¨µLªk¨Ï¥Î¡C</para> + + <para>³oÓì¦]¥i¥H¥Î¤@«Ê¥Ñ Peter Wemm µo¨ì freebsd-questions + ³oÓ mailing list ¤Wªº«H¨Ó¸ÑÄÀ¡A¥¦ì¥»¬O¸ÑÄÀ¬°¤°»ò¦³¤@Ó¤º + ´¡¦¡¼Æ¾Ú¾÷¡A¦b¨t²Î¤É¯Å¨ì FreeBSD 4.x «á¡A´N¨Sªk³Q§ì¨ì¤F + ¡]¦b <literal>[]</literal> ùتº¬O¥t¥~¥[ªºµù¸Ñ¡AÅý¤º®e§ó©öÀ´¡^¡C + </para> + + <blockquote> + <para>The PNP bios preconfigured it [the modem] and left it + laying around in port space¡Aso [in 3.x] the old-style ISA + probes <quote>found</quote> it there.</para> + + <para>Under 4.0¡Athe ISA code is much more PnP-centric. It was + possible [in 3.x] for an ISA probe to find a + <quote>stray</quote> device and then for the PNP device id to + match and then fail due to resource conflicts. So¡Ait + disables the programmable cards first so this double probing + cannot happen. It also means that it needs to know the PnP + id's for supported PnP hardware. Making this more user + tweakable is on the TODO list.</para> + </blockquote> + + <para>¦pªGnÅý¸Ë¸m¯à¦A«×¹B§@¡A§ÚÌ»Ýn§ä¥X¥¦ªº PnP id¡AµM«á¦A±N¥¦ + ¥[¤J¤@¥÷¦b°»´ú ISA ¸Ë¸m®É·|¨Ï¥Îªºªí¤¤¡C¥i¥H°õ¦æ &man.pnpinfo.8; + ¨Ó°»´ú³oӸ˸m¡AÁ|¨Ò¨Ó»¡¡A¤U±¬O &man.pnpinfo.8; §ì¨ìªº¤@Ó¤º´¡ + ¦¡¼Æ¾Ú¾÷ªº¸ê®Æ¡G</para> + + <screen>&prompt.root; <userinput>pnpinfo</userinput> +Checking for Plug-n-Play devices... + +Card assigned CSN #1 +Vendor ID PMC2430 (0x3024a341)¡ASerial Number 0xffffffff +PnP Version 1.0¡AVendor Version 0 +Device Description: Pace 56 Voice Internal Plug & Play Modem + +Logical Device ID: PMC2430 0x3024a341 #0 + Device supports I/O Range Check +TAG Start DF + I/O Range 0x3f8 .. 0x3f8¡Aalignment 0x8¡Alen 0x8 + [16-bit addr] + IRQ: 4 - only one type (true/edge)</screen> + + <para>[more TAG lines elided]</para> + + <screen>TAG End DF +End Tag + +Successfully got 31 resources¡A1 logical fdevs +-- card select # 0x0001 + +CSN PMC2430 (0x3024a341)¡ASerial Number 0xffffffff + +Logical device #0 +IO: 0x03e8 0x03e8 0x03e8 0x03e8 0x03e8 0x03e8 0x03e8 0x03e8 +IRQ 5 0 +DMA 4 0 +IO range check 0x00 activate 0x01</screen> + + <para>±z©Ò»Ýnªº¸ê°T¬O¤@¶}©l¬Ý¨ìªº <quote>Vendor ID</quote> + ³o¤@¦æ¡C¬A¸¹¤¤ªº¤Q¤»¦ì¤¸½X¡]³oÓ¨Ò¤l¤¤¬O 0x3024a341¡^´N¬O + PnP id¡A¦Ó¦b³o¤§«eªº¦r¦ê¡]PMC2430¡^«h¬O¤@Ó¿W¤@µL¤Gªº ASCII id¡C + ¦Ó³o¨Ç¸ê®Æ»Ýn³Q¥[¨ì <filename>/usr/src/sys/isa/sio.c</filename> + ³oÓÀÉ®×ùØ¡C</para> + + <para>¬°¤F¨¾¤î¥ô¦óªF¦è¥X¿ù¡A±zÀ³¸Ón¥ý³Æ¥÷¥Ø«eªº + <filename>sio.c</filename>¡C¦Ó¥B±zn submit PR ®É¤]»Ýn³oÓ + ì©lÀɮרӰµ¥X patch¡]±zÀ³¸Ó·|±N¥¦ submit PR §a..¡G¡^..¡^¡C + ±µµÛ´N½s¿è <filename>sio.c</filename> §ä´M¤U±³o¦æ</para> + + <programlisting>static struct isa_pnp_id sio_ids[] = {</programlisting> + + <para>±µµÛ©¹¤U±²°Ê¡A§äÓ¥¿½Tªº¦ì¸m¨Ó´¡¤J±zªº¸Ë¸m¸ê°T¡C±z¬Ý¨ìªº´N + ¤U±³oӼˤl¡A¥¦Ì¬O·Ó¥kÃäµù¸Ñ¸Ì±ªº ASCII ³oÓ Vender ID °µ±Æ + §Çªº¡A©Î¬O &man.pnpinfo.8; ©Ò§ä¨ìªº¤@³¡¤À + <emphasis>¸Ë¸m´yz</emphasis>¡G</para> + + <programlisting>{0x0f804f3f¡ANULL}¡A /* OZO800f - Zoom 2812 (56k Modem) */ +{0x39804f3f¡ANULL}¡A /* OZO8039 - Zoom 56k flex */ +{0x3024a341¡ANULL}¡A /* PMC2430 - Pace 56 Voice Internal Modem */ +{0x1000eb49¡ANULL}¡A /* ROK0010 - Rockwell ? */ +{0x5002734a¡ANULL}¡A /* RSS0250 - 5614Jx3(G) Internal Modem */</programlisting> + + <para>§â±z³oӸ˸mªº¤Q¤»¶i¦ìªº Vender ID ¥[¨ì¥¿½Tªº¦a¤è¡A¦sÀÉ¡A + µM«á«·s½s¤@Ó kernel¡A¦A«¶}¾÷¡C¤§«á³oӸ˸mÀ³¸Ó´N·|¹³¦b + FreeBSD 3.X ¤U¡A³Q°»´ú¬° <literal>sio</literal> ¸Ë¸m¤F¡C</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="nlist-failed"> + <para>¬°¤°»ò§Ú±`±`¦b¶]¤@¨Çµ{¦¡¡]¨Ò¦p <command>top</command> ©Î + <command>systat</command>¡^ªº®ÉÔ¥X²{ + <errorname>nlist failed</errorname> ³oÓ¿ù»~°T®§¡H</para> + </question> + + <answer> + <para>³oÓ°ÝÃD¬O¦]¬°±z¶]ªºµ{¦¡»Ýn¤@Ó¯S§Oªº kernel symbol¡A¥i¬O + ¤£ª¾¹D¤°»òì¦]¦Ó§ä¤£¨ì¡Q¦Ó·|µo¥Í³oÓ°ÝÃD¥i¯à¬O¦]¬°¤U±¨âÓì¦]¡G + </para> + + <itemizedlist> + <listitem> + <para>±zªº kernel ©M userland ªºÀɮת©¥»¨Ã¤£¤@P¡]¨Ò¦p»¡¡A±z + ½s¤F¤@Ó·sªº kernel¡A¦ý¬O¨Ã¨S¦³°õ¦æ¹ïÀ³ªº + <maketarget>installworld</maketarget>¡A©Î¬O¨ä¥LÃþ¦ü±¡§Î¡^¡A + ¦]¦¹ symbol table ªº¤º®e´N©MÀ³¥Îµ{¦¡½sĶ®Éªº¤£¤Ó¤@¼Ë¤F¡C¦p + ªG¬O³oºØ±¡§Î¡A½Ð°õ¦æ§¹¾ãªº¤É¯Å¨BÆJ¡]½Ð°Ñ¾\ + <filename>/usr/src/UPDATING</filename> ¥H±oª¾¥¿½Tªº¬y + µ{¡^¡C</para> + </listitem> + + <listitem> + <para>±z¨S¦³¥Î <command>/boot/loader</command> ¨Ó¸ü¤J±zªº + kernel¡A¦Ó¬Oª½±µ¥Ñ boot2 ¶}¾÷¡]½Ð°Ñ¾\ &man.boot.8;¡^¡C + ÁöµM»¡¸õ¹L <command>/boot/loader</command> ¨Ã¨S¦³¤°»ò¿ù¡A + ¦ý¬O¥¦¦b kernel symbols ¸òÀ³¥Îµ{¦¡ªº·¾³q¤è±¦û¤F«Ü«ªº¥÷¶q¡C + </para> + </listitem> + </itemizedlist> + </answer> + </qandaentry> + + <qandaentry> + <question id="connection-delay"> + <para>¬°¤°»ò§Ú¥Î <command>ssh</command> ©Î <command>telnet</command> + ³s¨ì§Úªº¹q¸£®É¡A·|µ¥«Ý«Üªøªº¤@¬q®É¶¡¤~¯à³s¤W¡H</para> + </question> + + <answer> + <para>¯gª¬¡GTCP ³s½u«Ø¥ß¤§«á©M¸ß°Ý±K½X¤§«e¡]¦pªG¬O¦b»¡ &man.telnet.1; + ªº¸Ü¡A«h¬O login ´£¥Ü²Å¸¹¸õ¥X¨Ó¤§«e¡^¡Anµ¥«Ý«Üªøªº¤@¬q®É + ¶¡¡C</para> + + <para>°ÝÃD©Ò¦b¡G³oºØ©µ¿ð±¡§Î±`±`¬O¦]¬°¦øªA³nÅé¡]server software¡^ + ¹Á¸Õn±N«È¤áºÝ¡]client¡^ªº IP ¦ì§}Âà´«¦¨¥D¾÷¦WºÙ¡C¦]¬°«Ü¦h¦øªA + ³nÅé¡A¥]¬A FreeBSD ¤º«Øªº Telnet ©M SSH¡A¬°¤F±N¥D¾÷¦WºÙ¼g¤J¬ö + ¿ýÀɤ¤¥H¨ÑºÞ²zªÌ§@°Ñ¦Ò¡A¦Ó·|°µ³o¶µ°Ê§@¡C</para> + + <para>¸Ñ¨M¤èªk¡G¦pªG³oÓ°ÝÃD¦b±z³s±µ¤£¦Pªº¦øªA¾¹®É³£·|µo¥Í¡A¨º»ò + °ÝÃD¬O¦b±z«È¤áºÝ³o¤@¤è¡Q¦P¼Ëªº¡A¦pªG§O¤H¥u¦³¦b³s¨ì±zªº¦øªA¾¹¤W + ¤~·|µo¥Í³oÓ±¡§Î¡A¨º»ò°ÝÃD´N¬O¦b¦øªA¾¹³oÃä¤F¡C</para> + + <para>¦pªG¬O«È¤áºÝ³o¤è¦³°ÝÃD¡A°ß¤@ªº¤èªk´N¬O±N DNS ¦øªA¾¹×¦n¡A + ³o¼Ë¹ï¤è¦øªA¾¹¤~¯à¥¿½TªºÂà´«¦WºÙ¡C¦pªG°ÝÃD¬O¦b¤º³¡°Ï°ìºô¸ôµo + ¥Íªº¡A³oÀ³¸Ó¬O¦øªA¾¹¦³°ÝÃD¡A½Ð¸Ô²ÓÀˬd¤@¤U¡Q¬Û¤Ïªº¡A¦pªG¬O±z + ¦b¤W Internet ®Éµo¥Íªº¡A¨º»ò±z»Ýn¸ò±zªº ISP Ápµ¸¡A½Ð¥L̸ѨM + ³oÓ°ÝÃD¡C</para> + + <para>¦pªG¬O¦øªA¾¹³oÃ䪺°ÝÃD¡A¦Ó¥B¬Oµo¥Í¦b¤º³¡°Ï°ìºô¸ô¡A¨º»ò±z»Ý + n³]©w³oÓ¦øªA¾¹¡A¨Ï¥¦¯à¥¿½T±N¤º³¡ºô¸ôªº IP ¦ì§}Âà´«¬°¥D¾÷¦WºÙ¡C + ½Ð°Ñ¾\ &man.hosts.5; ©M &man.named.8; ªº»¡©ú¥HÀò±o§ó¦h¸ê°T¡C¦p + ªG¬O¦b Internet ¤Wªº¦øªA¾¹µo¥Í³oÓ°ÝÃD¡A¨º»ò¦³¥i¯à¬O±z¦øªA¾¹ªº + Âà´«¥\¯à¥X°ÝÃD¡C±z¥i¥H¸Õ¸Õ¬d¸ß¥t¤@Ó¥D¾÷¦WºÙ¡A¤ñ¦p¡G + <hostid>www.yahoo.com</hostid>¡C¦pªG¬d¤£¨ì¡A¨º»ò¥i¥H½T©w¬O±z³o + Ãä¥X°ÝÃD¤F¡C</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="stray-irq"> + <para><errorname>stray IRQ</errorname> ³oÓ¿ù»~°T®§¬O¤°»ò·N«ä¡H</para> + </question> + <answer> + <para>Stray IRQs ¬OµwÅé IRQ ¦³ÂI¤p°ÝÃDªº²{¶H¡A¤j¦h¬O¦]¬°µwÅ饻¨ + ¦bµo¥X¤¤Â_»Ý¨D«á¡A¤S¨ú®ø¤F¥¦¦Û¤vªº¤¤Â_n¨D¡C</para> + <para>¦³¤TÓ¤èªk¥i¥HÀ³¥I³oÓ°ÝÃD¡G</para> + <itemizedlist> + <listitem> + <para>¤£²z·|³oÓĵ§i¡C¤Ï¥¿¤@Ó irq ¥X²{¤¦¸Äµ§i«á¨t²Î´N¤£·| + ¦AÅã¥Ü¤F¡C</para> + </listitem> + <listitem> + <para>§â <function>isa_strayintr()</function> ùتºÈ¡A¥Ñ 5 + §ï¦¨ 0¡A³o¼Ë©Ò¦³ªºÄµ§i°T®§³£¤£·|¥X²{¡C</para> + </listitem> + <listitem> + <para>¦w¸Ë¨Ï¥Î irq 7 ªº¥¦æ°ðµwÅé³]³Æ¡A¥H¤Î¥¦ªº PPP ÅX°Êµ{¦¡ + ¡]³oÓ¤j³¡¤À¨t²Î³£¦³°µ¡^¡A±µµÛ¦w¸Ë ide µwºÐ©Î¬O¨ä¥L·|¨Ï¥Î + irq 15 ªºµwÅé³]³Æ¥H¤Î¥¦ªºÅX°Êµ{¦¡¡C</para> + </listitem> + </itemizedlist> + </answer> + </qandaentry> + + <qandaentry> + <question id="file-table-full"> + <para>¬°¤°»ò <errorname>file: table is full</errorname> ³oÓ°T®§ + ¤@ª½¦b dmesg ùØ«½Æ¥X²{¡H</para> + </question> + <answer> + <para>³oÓ¿ù»~°T®§¥Nªí¤F±z¨t²Îªº file descriptors ¤w¸g¨Ï¥Î¥ú¤F¡C + ½Ð°Ñ¾\¤â¥U¤º <ulink url="../handbook/configtuning-kernel-limits.html"> + Tuning Kernel Limits</ulink> ¸Ì±ªº <ulink + url="../handbook/configtuning-kernel-limits.html#KERN-MAXFILES"> + kern.maxfiles</ulink> ³oÓ³¹¸`¡A¸Ì±¦³¤@¨Ç°Q½×¤Î¸Ñ¨M¤èªk¡C</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="laptop-clock-skew"> + <para>¬°¤°»ò§Úµ§°O«¬¹q¸£¤Wªº®ÉÄÁ¤@ª½Åã¥Ü¿ù»~ªº®É¶¡¡H</para> + </question> + + <answer> + <para>±zªºµ§°O«¬¹q¸£¸Ì¦³¨âÓ¥H¤Wªº®ÉÄÁ¡A¦Ó FreeBSD ¿ï¨ì¤F¿ùªº + ¨ºÓ¡C</para> + + <para>°õ¦æ &man.dmesg.8;¡AÀˬd¤@¤U¦³ <literal>Timecounter</literal> + ¦r¦êªº¨º´X¦æ¡C³Ì«á¤@¦æ¬O FreeBSD ¿ï¥Îªº¡A³q±`¬O + <literal>TSC</literal>¡C</para> + + <screen>&prompt.root; <userinput>dmesg | grep Timecounter</userinput> +Timecounter "i8254" frequency 1193182 Hz +Timecounter "TSC" frequency 595573479 Hz</screen> + + <para>±z¥i¥H°õ¦æ &man.sysctl.3; ¬Ý¤@¤U + <varname>kern.timecounter.hardware</varname> ³oÓÈ°µ½T»{¡C</para> + + <screen>&prompt.root; <userinput>sysctl kern.timecounter.hardware</userinput> +kern.timecounter.hardware: TSC</screen> + + <para>BIOS ¥i¯à¦b¤@¨Ç±¡§Î¤U·|§ó§ï TSC ªº®É¯ß—¦³®ÉÔ¬O¦]¬° + ¦b¨Ï¥Î¹q¦À¤u§@®É·|§ó§ï³B²z¾¹ªº³t«×¡A¥t¥~¤]¦³¥i¯à¬O¶i¤J¤F¬Ù¹q¼Ò + ¦¡¡A¥i¬O FreeBSD ¨Ã¤£·|¹îı¨ì³o¨Ç½Õ¾ã¡A¦Ó·|µo¥Í®É¶¡¼W¥[©Î¬O´î + ¤Öªº±¡§Î¡C</para> + + <para>¦b¤W±ªº¨Ò¤l·í¤¤¡A§Ú̬ݨìÁÙ¦³ <literal>i8254</literal> + ³oÓ®ÉÄÁ¥i¥H¿ï¾Ü¡A°õ¦æ &man.sysctl.3; ¥Î¤â°Êªº¤è¦¡±N³oÓȼg¤J + <varname>kern.timecounter.hardware</varname> ¤¤¡C</para> + + <screen>&prompt.root; <userinput>sysctl -w kern.timecounter.hardware=i8254</userinput> +kern.timecounter.hardware: TSC -> i8254</screen> + + <para>³o¼Ë±zªºµ§°O«¬¹q¸£À³¸Ó´N¥i¥H«O«ù¥¿½Tªº®É¶¡¤F¡C</para> + + <para>¦pªGnÅý³oÓ§ó§ïªº°Ê§@¦A¨C¦¸¶}¾÷®É¦Û°Ê°õ¦æ¡A¦b + <filename>/etc/sysctl.conf</filename> ùØ¥[¤J¤U±³o¦æ¡C</para> + + <programlisting>kern.timecounter.hardware=i8254</programlisting> + </answer> + </qandaentry> + + <qandaentry> + <question id="null-null"> + <para>¬°¤°»ò§Úªºµ§°O«¬¹q¸£µLªk¥¿½Tªº°»´ú¨ì PC card ¡H</para> + </question> + + <answer> + <para>³oÓ°ÝÃD±`±`µo¥Í¦bÄé¤F¦hÓ§@·~¨t²Îªºµ§°O«¬¹q¸£¤W¡C¦³¨Ç«D + BSD ªº§@·~¨t²Î·|Åý PC card ªºµwÅé¸Ë¸m³B¦b¤@Ó¤£¤@Pªºª¬ºA¤U + ¡]inconsistent state¡^¡C¨Ï±o <command>pccardd</command> ¦b°» + ´ú³o¤ù¥d®É¡AµLªk§ì¨ì¥¿½Tªº«¬¸¹¡A¦Ó¬O + <errorname>"(null)""(null)"</errorname>¡C</para> + + <para>±z»Ýn²¾°£ PC card ´¡¼Ñªº¹q·½¥H«¸m³oÓµwÅé¸Ë¸m¡C¤@Ó¤èªk¬O + ±N±zªºµ§°O«¬¹q¸£Ãö¾÷¡]¤£¬O¥ð¯v¼Ò¦¡¡A¤]¤£¬O«Ý©R¼Ò¦¡¡Qn§¹¥þªºÃö + ¾÷¡^¡Cµ¥Ó´X¬íÄÁ¦A«¶}¾÷¡C³o¼Ë±zªº PC card À³¸Ó´N¥¿±`¤F¡C</para> + + <para>¦³®É¦³¨Çµ§°O«¬¹q¸£ÁöµM¬Ý°_¨Ó¤w¸gÃö¾÷¤F¡A¦ý¹ê»Ú¤W¨Ã¨S¦³¡C + ¦pªG±zµo²{¤W±¨ºÓ¤èªk¨S¦³¥Î¡A½ÐÃö¾÷¡A²¾°£¹q¦À¡Aµ¥Ó´X¬íÄÁ¡A + §â¹q¦À¸Ë¤W¥hµM«á«¶}¾÷¡C</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="boot-read-error"> + <para>¬°¤°»ò¦b BIOS µe±¤§«á¡AFreeBSD ªº boot loader Åã¥Ü + <errorname>Read error</errorname> µM«á´N°±¤î¤£°Ê¤F¡H</para> + </question> + + <answer> + <para>³o¬O¦]¬°FreeBSD ªº boot loader µLªk¥¿½Tªº§ä¥XµwºÐªº + geometry¡C³o¼Ëªº¸Ü¡A´N»Ýn¦b¥Î fdisk ¤À³Î©Î¬Oקï FreeBSD + ªº slice ®É¡A¤â°Ê±N¥¿½TªºÈ¿é¤J¶i¥h¤F¡C</para> + <para>¥¿½TªºµwºÐ geometry Ȧb BIOS ¸Ì±¥i¥H¬dªº¨ì¡Cª`·N¸ÓµwºÐªº + cylinders¡Aheads ¥H¤Î sectors ³o¨Ç¼ÆÈ¡C</para> + <para>¦b°õ¦æ &man.sysinstall.8;ªº fdisk ®É¡A«ö¤U <keycap>G</keycap> + ¥H«K¤â°Ê³]©wµwºÐªº geometry¡C</para> + <para>³o®É·|¦³¤@Ó¹ï¸Ü®Ø¸õ¥X¨Ó¡A¸ß°Ý±z¦³Ãö cylinders¡Aheads ¥H¤Î + sectors ³o¨ÇªF¦èªºÈ¡C½Ð±Nèè¦b BIOS ¬d¨ìªº¼Æ¦r¡A¥H / §@¤À¹j¿é + ¤J¶i¥h¡C</para> + <para>Á|¨Ò¨Ó»¡¡A¦pªG¬O 5000 cylinders¡A250 sectors ©M 60 sectors + ´N¿é¤J <userinput>5000/250/60</userinput></para> + <para>¿é¤J§¹«á½Ð«ö enter Áä½T»{¡A³Ì«á«ö¤U <keycap>W</keycap> Áä§â + ·sªº¤À³Î°Ïªí¼g¤JµwºÐ·í¤¤¡C</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="bootmanager-restore"> + <para>¥t¤@Ó§@·~¨t²ÎºR·´¤F§Úªº Boot Manager¡C§Ún«ç»ò¼Ë¤~¯à§â¥¦ÁÙ + ì¦^¨Ó¡H</para> + </question> + + <answer> + <para>°õ¦æ &man.sysinstall.8; ±µµÛ¿ï Configure¡AµM«á¿ï Fdisk¡C + ¦A¨Ó¥Î<keycap>ªÅ¥Õ</keycap>Áä¿ï¾Üì¥ý Boot Manager ©Ò¦bªºµwºÐ¡C + «ö¤U <keycap>W</keycap> Áä¨Ó§@¼g¤Jªº°Ê§@¡C³o®É·|¸õ¥X¤@Ó´£¥Ü + °T®§¡A¸ß°Ý±zn¦w¸Ëþ¤@Ó boot loader¡C½Ð¿ï¾Ü Boot Manager¡A + ³o¼Ë´N¥i¥H±N¥¦ÁÙì¤F¡C</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="indefinite-wait-buffer"> + <para>³oÓ¿ù»~°T®§¡G<errorname>swap_pager: indefinite + wait buffer:</errorname> ¬O¤°»ò·N«ä©O¡H</para> + </question> + + <answer> + <para>³oÓ°T®§¬O»¡¦³¤@Ó°õ¦æµ{§Ç¥¿¦b¹Á¸Õ±N¤À¶°O¾ÐÅé¡]page memory¡^ + ¼g¤JµwºÐ¤¤¡A¦Ó³oӰʧ@¹Á¸Õ¤F 20 ¬íÄÁ¤´µMµLªk¦¨¥\¡C³oÓ¦³¥i¯à¬O¦]¬° + µwºÐ¦³Ãay¡B¹q¸ô©Î±Æ½u¦³°ÝÃD¡B¥H¤Î¨ä¥L¸òµwºÐŪ¥X¼g¤J¦³ÃöªºµwÅé³]³Æ¡C + ¦pªG¯uªº¬OµwºÐÃayªº°ÝÃD¡A±zÀ³¸Ó·|¦b + <filename>/var/log/messages</filename>³oÓÀɮפ¤¡A©Î¬O¦b°õ¦æ + <command>dmesg</command>³oÓ«ü¥O«á¡A¬Ý¨ì¦³ÃöºÏºÐ¿ù»~ªº°T®§¡C + ¦pªG¨S¦³¡A¨º»ò½ÐÀˬd±zªº±Æ½uÁÙ¦³±µÀY³s±µ¬O§_¨}¦n¡C</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="touch-not-found"> + <para>¬°¦ó¦b buildworld/installworld ®É¡A·|w¦b + <errorname>touch: not found</errorname> ªº¿ù»~°T®§?</para> + </question> + + <answer> + <para>³o¿ù»~°T®§¨Ã¤£¬O«ü &man.touch.1; µ{¦¡¤£¨£¤F¡A¨Æ¹ê¤W¥i¯à¬O¸ÓÀÉÀɮ׮ɶ¡³Q³]¬°¥¼¨Óªº®É¶¡¡C + Y¾÷¾¹¤Wªº CMOS-clock ®ÉÄÁ³]©w¬°·í¦a®É¶¡ + («D®æªL«Âªv®É¶¡¡A¤ñ¦p¥xÆW®É¶¡¬° GMT +08:00 ¡A¤]´N¬O CST ¤¤ì¼Ð·Ç®É¶¡)¡A + ¨º»ò½Ð¦b¶}¾÷®É¡A¥ý¿ï single user ¼Ò¦¡¶i¤J¡AµM«á¥´ + <command>adjkerntz -i</command> + ¨Ó½Õ¾ã kernel clock »P¾÷¾¹¤Wªº CMOS-clock ¨Ó¦P¨B¡C</para> + </answer> + </qandaentry> + </qandaset> + </chapter> + + <chapter id="commercial"> + <chapterinfo> + <author> + <firstname>Vanilla</firstname> + <surname>Shu</surname> + <affiliation> + <address><email>vanilla@FreeBSD.org</email></address> + </affiliation> + </author> + </chapterinfo> + + <title>°Ó·~³nÅé</title> + + <note> + <para>³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²³¤½¶}¤¶²Ð(¦P®É¤]»{¬°¦b FreeBSD + ¤Wªº°Ó¾÷Y¿³©ô¡A·|¹ï FreeBSD ¥iªø¥i¤[¦³·¥¥¿±ªº®Ä¯q)¡C§Ú̹ªÀy°Ó·~³nÅ骺¼t°Ó§â¥L̪º²£«~¥]¬A¦b¤U±ªº¦W³æ¤¤¡A¦b + <ulink url="../../../../commercial/index.html">Vendors page</ulink> ¥i¥H¬Ý¨ì§óªøªº¦Cªí¡C</para> + </note> + + <qandaset> + <qandaentry> + <question id="officesuite"> + <para>¦bþÃä§ä¨ìµ¹ FreeBSD ¥Îªº Office ®M¥ó©O¡H</para> + </question> + + <answer> + <para><ulink + url="http://www.openoffice.org">OpenOffice</ulink> ³o®M open-source ©Ê½èªº office + ¥i¥H¦b FreeBSD ¤W¥¿±`¹B¥Î¦Û¦p¡A¦Ó &linux; ª©ªº + <ulink + url="http://www.sun.com/staroffice/">StarOffice</ulink>, + ³o®M closed-source ªº OpenOffice ¥[Ȫ©¡A¤]¥i¥H¦b FreeBSD ¤W¥¿±`¨Ï¥Î¡C</para> + + <para>FreeBSD ¤WÁÙ¦³³\¦h½s±Æ³nÅé¡B¸Õºâªí(Spreadsheet)¥H¤Îø¹Ï³nÅé³£¥i¥Î Ports + Collection ¨Ó¦w¸Ë³á¡C</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="motif"> + <para>¦bþÃä¥i§ä¨ìµ¹ FreeBSD ¥Îªº Motif¡H</para> + </question> + + <answer> + <para>Open Group ÄÀ¥X¤F Motif 2.1.30 ªºì©l½X¡A¥i¥H³z¹L + <literal>open-motif</literal> package ¦w¸Ë¡A©Î¬O¥Ñ ports ¦Û¦æ + ½sĶ¡C¬ÛÃöªº¸ê°T¡A½Ð°Ñ¦Ò handbook ¤¤ªº <ulink + url="../handbook/ports.html">ports</ulink> ³¹¸`¡C + + <note> + <para>Open Motif ¥u¯à¦b¦P¼Ë¤]¬O <ulink + url="http://www.opensource.org/">open source</ulink> + ªº§@·~¨t²Î©Îp¹º¤¤¨Ï¥Î¡C</para> + </note> + </para> + + <para>¥t¥~¡A¤]¬O¦³°Ó·~ª©¥»ªº Motif ¦s¦b¡C¤]³\³oºØª©¥»ªº Motif + ¤£¬O§K¶Oªº¡A¦ý¬Oµ´¹ï¤¹³\¥Î¦b closed-source ªºÀô¹Ò¤U¡C + <link linkend="apps2go">Apps2go</link> ´£¨Ñ¤F³Ì«K©yªº FreeBSD + (¥]¬A i386 ¸ò alpha)ª©¥»ªº ELF Motif 2.1.20 ®M¥ó¡C + <anchor id="apps2go"/></para> + + <para>¥Ø«e´£¨Ñ¨âºØ¤£¦PÀô¹Òªºª©¥»¡A <quote>µo®i¥Îª©¥»</quote> ¤Î + <quote>runtime ª©¥»</quote> ¡C³o¨âºØ®M¥ó³£¥]¬A¡G</para> + + <itemizedlist> + <listitem> + <para>OSF/Motif manager, xmbind, panner, wsm.</para> + </listitem> + + <listitem> + <para>Development kit with uil, mrm, xm, xmcxx, include + and Imake files.</para> + </listitem> + + <listitem> + <para>Static and dynamic ELF libraries (for use with + FreeBSD 3.0 and above).</para> + </listitem> + + <listitem> + <para>Demonstration applets.</para> + </listitem> + </itemizedlist> + + <para>¦]¬° <emphasis>Apps2go</emphasis> ¤]¦³´£¨Ñ NetBSD ©M OpenBSD + ªºª©¥»¡A©Ò¥H¦bqÁʮɽЯS§O«ü©w¬On FreeBSD ª©¥»ªº Motif¡I + ¥L̥ثe¥u´£¨Ñ¥H FTP ªº¤è¦¡¨ú±o³o¥÷®M¥ó¡C</para> + + <variablelist> + <varlistentry> + <term>§ó¦h¸ê°T</term> + <listitem> + <para><ulink url="http://www.apps2go.com/"> + Apps2go WWW page</ulink></para> + </listitem> + </varlistentry> + + <varlistentry> + <term>©Î</term> + <listitem> + <para> + <email>sales@apps2go.com</email> ©Î + <email>support@apps2go.com</email> + </para> + </listitem> + </varlistentry> + + <varlistentry> + <term>©Î</term> + <listitem> + <para>phone (817) 431 8775 or +1 817 431-8775</para> + </listitem> + </varlistentry> + </variablelist> + + <para>¤]¥i¥HÁpµ¸ <link linkend="xig">Xi Graphics</link>¡A¥LÌ´£¨Ñ¤F¤@Ó + FreeBSD a.out ®æ¦¡ªº Motif 2.0 ®M¥ó¡C</para> + + <para>¦b³o®M¥ó¤¤¥]¬A¤F¡G</para> + <itemizedlist> + <listitem> + <para>OSF/Motif manager, xmbind, panner, wsm.</para> + </listitem> + + <listitem> + <para>Development kit with uil, mrm, xm, xmcxx, include + and Imake files.</para> + </listitem> + + <listitem> + <para>Static and dynamic libraries (for use with FreeBSD + 2.2.8 and earlier).</para> + </listitem> + + <listitem> + <para>Demonstration applets.</para> + </listitem> + + <listitem> + <para>Preformatted man pages.</para> + </listitem> + </itemizedlist> + + <para>¦b§A¸ò¥LÌqÁÊ Motif ®É¡A½Ð¤@©wµù©ú§Anªº¬O FreeBSD ªºª©¥»¡I + ¦]¬° <emphasis>Xi Graphics</emphasis> ¤]¦P®É´£¨Ñ¤F BSDI ¸ò Linux + ª©¥»ªº Motif¡C¥Ø«eµo¦æªºª©¥»¬O©ñ¦b¥|¶ôºÏ¤ù¤¤¡A±N¨Ó¥LÌ·|±N©Ò¦³ªº + ªF¦è³£©ñ¨ì¥úºÐ¸Ì¡A´N¹³¥LÌ©Òµo¦æªº CDE ¤@¼Ë¡C</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="cde"> + <para>¦bþÃä¥i§ä¨ìµ¹ FreeBSD ¥Îªº CDE¡H</para> + </question> + + <answer> + <para><link linkend="xig">Xi Graphics</link> ¥H«e¦³½æ FreeBSD ¥Îªº + CDE¡A¤£¹L²{¤w°±¤îµo°â¤F¡C</para> + + <para>´N³\¦h¤è±¦Ó¨¥¡A<ulink url="http://www.kde.org/">KDE</ulink> ³oÓ open + source ªº®à±Àô¹Ò»P CDE ¬Û·íÃþ¦ü¡C¦¹¥~¡A§A¥i¯à·|³ßÅw¨Ï¥Î <ulink + url="http://www.xfce.org/">xfce</ulink>¡CKDE ¤Î xfce ³£¥i¥Ñ <ulink url="&url.base;/ports/index.html">ports + ¾÷¨î</ulink>¨Ó¦w¸Ë¡C</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="commercial-xserver"> + <para>¦³¨S¦³n¿ú¡A¦ý¬O°ª®Ä²vªº X servers¡H</para> + </question> + + <answer> + <para>¦³¡A <ulink url="http://www.xig.com/">Xi Graphics</ulink> + ¦³´£¨Ñµ¹ FreeBSD¡]©Î¨ä¥L Intel ¥¥x¤W¡^¥Îªº X µøµ¡¥[³t²£«~¡C</para> + + + <para>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ªùµ¹µ§°O«¬¹q¸£¥Îªº°ª®Ä¯à X Server¡C<anchor id="xig"/></para> + + <para>5.0 ª©¦³´£¨Ñ§K¶Oªº¬Û®e <quote>demo</quote> ª©¥»</para> + + <para>Xi Graphics ¤]¦³¦b½æ FreeBSD ¥Îªº Motif ¸ò CDE¡]©¹¤W±¬Ý¬Ý¡^¡C + </para> + + <variablelist> + <varlistentry> + <term>§ó¦hªº¸ê°T</term> + <listitem> + <para><ulink url="http://www.xig.com/"> + Xi Graphics WWW page</ulink></para> + </listitem> + </varlistentry> + + <varlistentry> + <term>©Î</term> + <listitem> + <para><email>sales@xig.com</email> + ©Î <email>support@xig.com</email> + </para> + </listitem> + </varlistentry> + + <varlistentry> + <term>©Î</term> + <listitem> + <para>phone (800) 946 7433 or +1 303 298-7478.</para> + </listitem> + </varlistentry> + </variablelist> + </answer> + </qandaentry> + + <qandaentry> + <question id="database-systems"> + <para>¦b FreeBSD ¤W¦³¥ô¦óªº¸ê®Æ®w¶Ü¡H</para> + </question> + + <answer> + <para>¦³! ½Ð¬Ý FreeBSD ºô¯¸¤W <ulink + url="../../../../commercial/software_bycat.html#CATEGORY_DATABASE"> + °Ó·~³nÅ餽¥q </ulink> ³o¤@³¡¥÷¡C</para> + + <para>ÁÙ¦³½Ð°Ñ¦Ò ports ¤¤ <ulink + url="../../../../ports/databases.html"> + Databases</ulink> ¬ÛÃöªº¦¬¶°¡C</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="oracle-support"> + <para>¥i¥H¦b FreeBSD ¤W°õ¦æ Oracle ¶Ü¡H</para> + </question> + + <answer> + <para>¥i¥H¡A¤U±³oÓºô¶·|»¡©ú¦p¦ó¦b FreeBSD ¤W°õ¦æ Linux + ª©ªº Oracle¡G</para> + + <itemizedlist> + <listitem> + <para><ulink + url="http://www.scc.nl/~marcel/howto-oracle.html"> + http://www.scc.nl/~marcel/howto-oracle.html</ulink></para> + </listitem> + + <listitem> + <para><ulink + url="http://www.lf.net/lf/pi/oracle/install-linux-oracle-on-freebsd"> + + http://www.lf.net/lf/pi/oracle/install-linux-oracle-on-freebsd</ulink></para> + + </listitem> + </itemizedlist> + </answer> + </qandaentry> + </qandaset> + </chapter> + + <chapter id="applications"> + <chapterinfo> + <author> + <firstname>Kang-min</firstname> + <surname>Liu</surname> + <affiliation> + <address><email>gugod@gugod.org</email></address> + </affiliation> + </author> + </chapterinfo> + + <title>¤@¯ëÀ³¥Îµ{¦¡</title> + + <qandaset> + <qandaentry> + <question id="user-apps"> + <para>¶â..§Ún¦bþ§ä¨ì§Únªºµ{¦¡©O?</para> + </question> + + <answer> + <para>½Ð¬Ý¬Ý <ulink url="../../../../ports/index.html">ports + ¥Ø¿ý</ulink> §a¡C³oÃ䦳¥÷¤w¸g port ¨ì FreeBSD ªº³nÅé¦Cªí¡C + ¥Ø«e¦³¶W¹L &os.numports; Ó³nÅé¤w¸g³Qport ¨ì FreeBSD ¤W¡A¨Ã¥B¨C¤Ñ + ³£¦b¼W¥[¤¤¡C©Ò¥H¦³ªÅ´N¦h¬Ý¬Ý³o¥÷¦Cªí¡A¤£µM§A¤]¥i¥Hq¾\ + <literal>freebsd-announce</literal> <link linkend="mailing"> + ³o¥÷ mailing list</link>¡A·|¦³¤H±N¨CÓ¬P´Á³Ì·sªº³nÅé¦Cªí¶K¦b¤W±¡C</para> + + <para>¤j³¡¥÷ªº ports À³¸Ó³£¥i¥H¦b 4.X¡B5.X ¸ò 6.X ªº¨t²Î¤W¨Ï¥Î¡C + ¨C¦¸·í FreeBSD release ·sª©®É¡A³£·|¦³¤@¥÷ ports tree ³Q©ñ¦b³o¤@Ó + release cd ¸Ì±ªº <filename>ports/</filename> ¥Ø¿ý¸Ì¡C</para> + + <para>§Ṳ́]¤ä´©¤@ºØ¥s <quote>package</quote> ªº·§©À¡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</para> + + <para>§A¥i¥H°õ¦æ <filename>sysinstall</filename>(&os; 5.2 ¤§«eª©¥»«h¬O <command>/stand/sysinstall</command>) «á¡A + ¦b post-configuration ¿ï³æ¤U¿ï¾Ü package ³oÓ¦w¸Ë¿ï¶µ¡F©Î + ¬O¹ï¬YÓ¦³¿³½ìªº package ÀÉ®×°õ¦æ &man.pkg.add.1; + §â¥¦¸Ë°_¨Ó¡CPackage Àɮ׳q±`¥H <filename>.tgz</filename> ©Î <filename>.tbz</filename> + ¬°°ÆÀɦW¡A¤â¤W¦³ FreeBSD CDROM ªº¤H¥i¥H¦b <filename>packages/All</filename> ³oӥؿý¤U§ä¨ì³oÃþÀɮסC + ¹ï¤£¦Pªº FreeBSD ª©¥»¡A¤]¥i¥H±q¤U¦C¦ì§}¥Ñºô¸ô¤W¨ú±o¡G</para> + + <variablelist> + <varlistentry> + <term>µ¹ 4.X-RELEASE/4-STABLE ¥Îªº</term> + <listitem> + <para><ulink + url="ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/i386/packages-4-stable/"> + ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/i386/packages-4-stable/</ulink></para> + </listitem> + </varlistentry> + + <varlistentry> + <term>µ¹ 5.X-RELEASE/5-STABLE ¥Îªº</term> + <listitem> + <para><ulink + url="ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/i386/packages-5-stable/"> + ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/i386/packages-5-stable</ulink></para> + </listitem> + </varlistentry> + + <varlistentry> + <term>µ¹ 6.X-RELEASE/6-STABLE ¥Îªº</term> + <listitem> + <para><ulink + url="ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/i386/packages-6-stable/"> + ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/i386/packages-6-stable</ulink></para> + </listitem> + </varlistentry> + + <varlistentry> + <term>µ¹ 7-CURRENT ¥Îªº</term> + <listitem> + <para><ulink + url="ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/i386/packages-7-current/"> + ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/i386/packages-7-current</ulink></para> + </listitem> + </varlistentry> + </variablelist> + + <para>©Î¬OÂ÷§A³Ìªñªº mirror ¯¸¡C</para> + + <para>nª`·Nªº¬O¡A¦]¬°·sªº port ¤@ª½¦b¼W¥[¤¤¡A©Ò¥H¨Ã¤£¬O©Ò¦³ port + ³£¦³¬Û¹ïÀ³ªº package¡C³Ì¦n©w®ÉÀˬd<ulink + url="ftp://ftp.FreeBSD.org/pub/FreeBSD/">ftp.FreeBSD.org</ulink> + ¡A¬Ý¬Ý¦³þ¨Ç package ¥i¥H¥Î¡C</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="configure-inn"> + <para>¸Ó«ç»ò³]©w INN(Internet News) ¨Ó·í news server¡H</para> + </question> + + <answer> + <para>¥H package ©Î port ¤è¦¡¨Ó¸Ë¦n <filename + role="package">news/inn</filename> ¤§«á¡A<ulink + url="http://www.visi.com/~barr/INN.html">Dave + Barr's INN Page</ulink> ¬OÓ«D±`¦nªº INN ¤Jªù³B¡A§A¥i¥H¦b¨ºÃä§ä¨ì INN ªº FAQ¡C</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="java"> + <para>FreeBSD ¦³¤ä´© &java; ¶Ü¡H</para> + </question> + + <answer> + <para>¦³°Ú¡A½Ð¬Ý <ulink + url="&url.base;/java/index.html"> + http://www.FreeBSD.org/java/</ulink></para> + </answer> + </qandaentry> + + <qandaentry> + <question id="missing-libcso30"> + <para>§Ú¥i¥H¦bþÃä§ä¨ì libc.so.3.0?</para> + </question> + + <answer> + <para>§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</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="missing-libcso40"> + <para>¬°¦ó§Ú±o¨ì¤F³oÓ°T®§ ?<errorname>Error: can't find + libc.so.4.0</errorname>?</para> + </question> + + <answer> + <para>§A¤£¤p¤ß§ì¤Fµ¹ 4.X ¤Î 5.X ¨t²Î¥Îªº package¡A¨Ã¥B¹Á¸ÕµÛ + ¥h¸Ë¦b§Aªº 2.X ©Î 3.X ªº¨t²Î¤W±¡C½Ð¤U¸ü¥¿½Tª©¥»ªº package¡C</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="emul"> + <para> ghostscript ¦b§Úªº 386/486SX ¤W¦³ÂI°ÝÃD©O¡I</para> + </question> + + <answer> + <para>§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</para> + + <programlisting>options GPL_MATH_EMULATE</programlisting> + + <note> + <para>·í§A¥[¤J¤W¤@¦æªº¦P®É¡A§A¥²¶·±N + <literal>MATH_EMULATE</literal> ²¾°£±¼¡C</para> + </note> + </answer> + </qandaentry> + + <qandaentry> + <question id="sco-socksys"> + <para>¬°¤°»ò·í§Ú°õ¦æ SCO/iBCS2 ªºµ{¦¡®É¡A¥¦¦b + <errorname>socksys</errorname> ³oÓ¦a¤è¥X¤F°ÝÃD¡H + (FreeBSD 3.0 ¥H¤Î§ó¦ªºª©¥»¤~¦³¦¹°ÝÃD¡C)</para></question> + + <answer> + <para>§A¥²¶·¥ýקï <filename>/etc/sysconfig</filename> (©Î¬O + <filename>/etc/rc.conf</filename>, ½ÐŪ &man.rc.conf.5;) + ³oÀɮ׳̫á¤@Ó³¹¸`¡A±N¤U±©ÒÁ¿¨ìªºÅܼƳ]¦¨ + <literal>YES</literal>¡G</para> + + <programlisting># Set to YES if you want ibcs2 (SCO) emulation + loaded at startup ibcs2=NO</programlisting> + + <para>³o·|¦b¶}¾÷®É±N ibcs2 ³o¤@Ó kernel ¼Ò²Õ¸ü¤J¡C</para> + + <para>§AÁÙn±N§Aªº /compat/ibcs2/dev §ï¦¨¤U±³o¼Ë¡G</para> + + <screen>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</screen> + + <para>§A¥u»Ýn±N socksys Âà¦V¨ì <devicename>/dev/null</devicename> + (½ÐŪ &man.null.4;) ¥hÄF¹L open & close ªº°Ê§@¡C¦b -current + ¸Ì±ªº ibcs2 ¬ÛÃöµ{¦¡½X±N·|³B²z¨ä¾lªº³¡¥÷¡A³oºØ§@ªk¤ñ¥H«eªº¤è¦¡ + °®²b¤Ó¦h¤F¡C°²¦p§A·Qn¨Ï¥Î <devicename>spx</devicename> ¤è±ªº + µ{¦¡¡A¦b§Aªº kernel ³]©wÀɸ̱ ¥[¤W<literal>SPX_HACK</literal>¡C</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="ms-frontpage"> + <para>§Ú¸Ó¨Ï¥Î¨ºÓª©¥»ªº Microsoft FrontPage¡H</para> + </question> + + <answer> + <para>Use the Port, Luke¡I¦b ports tree ¤¤¤w¸g¦³¤@Ó¥]§t FrontPage + ªº Apache ª©¥»¤F¡C</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="ports-3x"> + <para>¬°¤°»ò§ÚµLªk¦b 3.X-STABLE ¾÷¾¹¤W¶¶§Q½s¦n³oÓ port?</para> + </question> + + <answer> + <para>¦pªG§Aªº FreeBSD ª©¥»¬Û¸û -CURRENT ©Î -STABLE ¤§¤U¬O«Ü¥j + ¦ªº¸Ü¡A©Î³\§A·|»Ýn¤@ӤɯŠports ªº¤u¨ã¡A¦b + <ulink url="../../../../ports/index.html"> + http://www.FreeBSD.org/ports/</ulink>¡C¦pªG§A¥H±N¨ä§ó·s«o¤´µL¥Î¡A + ¨º»ò¤@©w¬O¬Y¤H§ó°Ê¤§«á³y¦¨ -CURRENT ¤~¯à¥Î¡A-STABLE µLªk¥Îªº±¡ªp¡C + ¥Ñ©ó ports ¤º©Ò¦¬¶°ªº³nÅé¦b -CURRENT ©Î¬O -STABLE ¤W³£n¯à¥Î¡A + ©Ò¥H½Ð¾¨³t°e¥XÃö©ó¦¹°ÝÃDªºÂγø§i¡F½Ð¨Ï¥Î &man.send-pr.1; ³oÓ«ü + ¥O¨Ó°eÂγø§i¡C</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="find-ldso"> + <para>¨º¸Ì¥i¥H§ä±o¨ì ld.so¡H</para> + </question> + + <answer> + <para>¦³¨Ç a.out ®æ¦¡ªºÀ³¥Îµ{¦¡·|»Ýn a.out ®æ¦¡ªº¨ç¦¡®w¡A + Netscape Navigator ´N¬O¤@Ó¨Ò¤l¡C¤£¹L¥Î ELF ¨ç¦¡®w½s°_¨Ó + ªº FreeBSD ¹w³]¨Ã¤£·|¦w¸Ëªº a.out ¨ç¦¡®w¡A©Ò¥H±z¥i¯à·|±o + ¨ìÃþ¦ü§ä¤£¨ì <filename>/usr/libexec/ld.so</filename> ªº©ê«è°T + ®§¡C¦pªG»¡±zªº¨t²Î¦³³o¦w¸Ë a.out ¨ç¦¡®wªº¥²n¡A³o¨Ç¨ç¦¡®w + (compat22) ¤]¯à°÷§Q¥Î &man.sysinstall.8; ¨Ó¦w¸Ë¡C©ÎªÌ§Q¥Î + FreeBSD ì©l½X¨Ó¦w¸Ë¡G</para> + + <screen>&prompt.root; <userinput>cd /usr/src/lib/compat/compat22</userinput>&prompt.root; <userinput>make install clean</userinput></screen> + + <para>¦pªG§A§Æ±æ¨C¦¸ <command>make world</command> ®É·|¦Û°Ê§ó·s + compat22 ¨ç¦¡®w¡A¨º»òקï <filename>/etc/make.conf</filename>¡A + ¥[¤J <varname>COMPAT22=YES</varname>¡C³o¨Ç¬Û®e©ó¥j¦Ñª©¥»ªº¨ç¦¡®w + ¤w¸g¨S¤°»ò¦b§ó·s¤F¡A©Ò¥H¤@¯ë»¡¨Ó¬O¤£»Ýn³o¼Ëªº¡C</para> + + <para>¦P®É¤]½Ð±z¬Ý¤@¤U 3.1-RELEASE ©M 3.2-RELEASE ªº°É»~ªí(ERRATA)¡C</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="ports-update"> + <para>§Ú§ó·s¤F¨t²Îì©l½X¡A²{¦b§Ún«ç¼Ë¤É¯Å¬YÓ¤w¸g¦w¸Ë¤W + ªº ports ?</para> + </question> + + <answer> + <para>FreeBSD ¥»¨¨Ã¨S¦³¦Û°Ê¤É¯Å ports ªº¤u¨ã¡A¦ý¦³¤@¨Ç¥i¥HÅý¤É¯Å + ²¤Æ¤@¨Çªº¤pµ{¦¡¡C§A¤]¥i¥H¦Û¤v¸Ë¤WÃB¥~ªº¤u¨ã¨Ó³B²z¡C</para> + + <para>&man.pkg.version.1; «ü¥O¥i¥H¦Û°Ê²£¥Í¥Î¨Ó¹F¨ì¦Û°Ê¤É¯Å¨ì + ports tree ³Ì·sª©¥»ªº script¡C</para> + + <screen>&prompt.root; <userinput>pkg_version <option>-c</option> > <replaceable>/tmp/myscript</replaceable></userinput></screen> + + <para><emphasis>¤@©wn</emphasis>¦b¤â°Êקï¤@¤U²£¥Í¥X¨Óªº script¡C + ¥Ø«eªº &man.pkg.version.1; ¦b script ³Ì«e±¥[¤J &man.exit.1; ±j + ¢§A¥hק復¡C</para> + + <para>§AÀ³±N°õ¦æ script ©Ò²£¥Íªº¿é¥X°O¿ý¤U¨Ó¡A¦]¬°¸Ì±·|¦³°O¸ü¬Y¨Ç + ©|¥¼¤É¯Å¦ý¤w¸g§ó·sªº ports¡C¤£¹L§A¤£¤@©wn¥h¤É¯Å¥¦Ì¡C³q±`¬O¦]¬° + ¦³¬YÓ¦@¥Îªº¨ç¦¡®w¤w¸g§ïÅܪ©¥»¸¹¤F¡A¤~n¥h«½s¤@¦¸¨º¨Ç¨Ï¥Î¨ì¸Ó¨ç + ¦¡®wªº ports¡C</para> + + <para>¦pªG§AªºµwºÐªÅ¶¡«Ü°÷¡A¨º»ò¥i¥H¥Î <command>portupgrade</command> + ³oÓ¤u¨ã¨Ó°µ¥þ¦Û°Ê³B¸Ì¡C<command>portupgrade</command> ¸Ì±¤]¦³ + ¤@¨Ç¤pµ{¦¡¨Ó²¤Æ package ¤É¯Å¡A¥¦¦b + <filename role="package">sysutils/portupgrade</filename>¡C + ³oÓ¤u¨ã¬O¥Î Ruby ³oÓ»y¨¥¼gªº¡A©Ò¥H¨Ã¤£¾A¦X¥[¤J¨ì FreeBSD ªºì + ©l½X¤¤¡A¤£¹L¨Ã¤£·|¦]¦¹Åý¬Y¨Ç¤H¤£¥Î¥¦¡C</para> + + <para>¦pªG§Aªº¨t²Î¤@ª½³£³B©ó¶}¾÷ª¬ºA¡A¥i§Q¥Î &man.periodic.8; ¨t²Î¡A + ¨CÓ¬P´Á²£¥Í¤@±i»Ýn¤É¯Åªº²M³æ¡C¥un¦b + <filename>/etc/periodic.conf</filename> ¥[¤J + <literal>weekly_status_pkg_enable="YES"</literal> ´N¥i¥H¤F¡C</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="minima-sh"> + <para>¬°¤°»ò <command>/bin/sh</command>³o»òªº¤p¡H¬°¤°»ò FreeBSD + ¤£§ï¥Î <command>bash</command> ©ÎªÌ¬O¨ä¥L¤ñ¸û±j®«ªº shell¡H</para> + </question> + + <answer> + <para>¦]¬° POSIX »¡¡A¸Ón¦³³o»ò¼Ëªº¤@Ó shell ¦b¤~¦æ¡C</para> + + <para>¤ñ¸ûÁcº¾ªºµª®×¡G³\¦h¤H»Ýn¼g¥i¥H¸ó«Ü¦h¥¥xªº shell script ¡C + ³o¤]¬O¬°¦ó POSIX ±N shell ¥H¤Î¤u¨ã©RºÙ³£©w¸qªº«D±`¸Ô²Óªº½t¬G¡C + ¤j³¡¥÷ªº script ³£¾A¥Î©ó Bourne shell¡A¤S¦]¬°¦³´XÓ«nªº + ¼gµ{¦¡©Ò¥Î¨ìªºµ{¦¡©ÎªÌ¨ç¦¡ (&man.make.1; , &man.system.3;, + &man.popen.3;, ÁÙ¦³¦b Perl ©ÎªÌ Tcl ¸Ì±©I¥s¨t²Îµ{¦¡ªº¦a¤è) + ³£«ü©w¥Î Bourne shell ¡C¨º»ò¦]¬° Bourne Shell ¦p¦¹ªº¼sªx±`¥Î¡A + ¨º»ò¥¦ªº°õ¦æ®Ä²v«K«Ü«n¡A§Ö³t¬O¥¦¨M©w©ÊªºnÂI¤§¤@¡AÁÙn¤£¦û¤Ó¦h + °O¾ÐÅé¡C</para> + + <para>¥Ø«eªº <command>/bin/sh</command> ¤w¬O§Ú̹äßÃw¦å¤§§@¡A¥¦¤w + ¸gºÉ¶q¦a²Å¦X¼Ð·Ç³W©w¡C¬°¤FÅý¥¦«D±`¤p¡A§ÚÌ®³±¼¤F¤@¨Ç¨ä¥L shell + ¦³ªº¤è«K¥\¯à¡C³o¤]¬O¬°¤°»ò ports ¸Ì±ÁÙ¦³«Ü¦h±j®«ªº shell ¡A¹³¬O + bash, scsh, tcsh ¥H¤Î zsh ¡C (§A¥i¥H¦Û¤v¤ñ¸û¤@¤U³o¨Ç shell °õ¦æ + ®É©Ò¦ûªº°O¾ÐÅé¤j¤p¡A¥h¬Ý¬Ý <command>ps -u</command> ¦C¥X¨Óªº + <quote>VSZ</quote> ©M <quote>RSS</quote> ³o¨âÓÄæ¦ì´Nª¾¹D¤F¡C) + </para> + </answer> + </qandaentry> + + <qandaentry> + <question id="netscape-slow-startup"> + <para>¬°¤°»ò Netscape ©M Opera nªá¦n¤[ªº®É¶¡¤~¯à±Ò°Ê¡H</para> + </question> + + <answer> + <para>³q±`¬O¦]¬°§Aªº DNS ¨S¦³³]©w¦n¡C Netscape ¸ò Opera ¦b±Ò°Êªº®ÉÔ + ³£·|¥hÀˬd¤@¤U DNS¡Cª½¨ì DNS ¦³¦^À³¡A©ÎªÌ¬OÂ_©wºô¸ô¥Ø«e¬OÂ_½u¤§«á¡A + ¥¦Ì¤~·|Åã¥Üµe±¥X¨Ó¡C</para> + </answer> + </qandaentry> + </qandaset> + </chapter> + + + <chapter id="kernelconfig"> + <chapterinfo> + <author> + <firstname>Kang-min</firstname> + <surname>Liu</surname> + <affiliation> + <address><email>gugod@gugod.org</email></address> + </affiliation> + </author> + </chapterinfo> + + <title>kernel ³]©w</title> + + <qandaset> + <qandaentry> + <question id="make-kernel"> + <para>§Ú·Q¦Ûq kernel¡A³o·|«Ü§xÃø¶Ü¡H</para> + </question> + + <answer> + <para>¤£·|¡I½Ð¬d¾\ <ulink url="../../handbook/kernelconfig.html"> + ¨Ï¥Î¤â¥U¤¤ªº kernel ³]©w¤@¸`</ulink>¡C</para> + + <note> + <para>§Ú·|«Øij§A¦b§AÅý®Ö¤ß¯à¥¿±`¤u§@«á¡A°µ¤@Ó + <filename>kernel.YYMMDD</filename> ¤é´Á§Î¦¡ªº³Æ¥÷¡A¦P®É¤]³Æ¥÷ + <filename>/module</filename>³oӥؿý¦Ü + <filename>/modules.YYMMDD</filename>¡C³o¼Ë¤U¦¸¦pªG§A«Ü¤£©¯ªºª± + Ãa¤F³]©w¡A¦Ü¤Ö¥i¥H¤£»Ýn¨Ï¥Î³Ìì©lªº + <filename>kernel.GENERIC</filename>¡C¦p§A¥¿±q¤@Ó GENERIC + kernel ¸Ì±¤£¤ä´©ªº±±¨î¾¹¸Ì±Ò°Ê®É¡A³o´NÅã±o¯S§O«n¡C</para> + </note> + </answer> + </qandaentry> + + <qandaentry> + <question id="missing-hw-float"> + <para>§Úªº®Ö¤ß¦]¬° <literal>_hw_float</literal>¿ò¥¢¦Ó½sĶ¥¢±Ñ¡C + ¸Ó«ç»ò×¥¿©O¡H</para> + </question> + + <answer> + <para>Åý§Ú²q¬Ý¬Ý¡A§A§â <devicename>npx0</devicename> + (¸Ô¨£ &man.npx.4;) ±q§Aªº kernel ³]©wÀɲ¾°£¤F¡A¦]¬°§A¨S¦³¼Æ¾Ç¹Bºâ¾¹¡A + ¹ï¶Ü¡H¿ù¤F¡I:-) ³oÓ <devicename>npx0</devicename>¬O + <emphasis>¥²¶·n¦³ªº</emphasis>¡C´Nºâ§A¨S¦³¼Æ¾Ç¹Bºâ¾¹¡A§AÁÙ¬O + <emphasis>¥²¶·</emphasis> ¤Þ¤J <devicename>npx0</devicename> ¸Ë¸m¡C + </para> + </answer> + </qandaentry> + + <qandaentry> + <question id="why-kernel-big"> + <para>¬°¤°»ò³y¥X¨Óªº kernel ³o»ò¤j (10MB ¥H¤W) ¡H</para> + </question> + + <answer> + <para>³o«Ü¦³¥i¯à¬O¦]¬°¡A§A§â kernel ½s¦¨ <emphasis>°»¿ù¼Ò¦¡</emphasis> + ¤F¡C°»¿ù¼Ò¦¡¤§¤Uªº kernel ¸Ì±·|¦sµÛ°»¿ù¥Îªº³\¦h²Å¸¹¡A¦]¦¹·|¤j´T + ¼W¥[ kernel ªº¤j¤p¡C¦pªG»¡§Aªº FreeBSD ¬O 3.0 ¥H«áªºª©¥»¡A³o¹ï©ó + ®Ä¯à¨Ó»¡¼vÅT¨Ã¤£¤j¡A´X¥G¬O¨S¦³¡C¦Ó¦b¨t²Î·|¦]¬Y¨Çì¦] panic ®É¡A + ¦³Ó°»¿ù¼Ò¦¡ªº kernel ¦b¤]®¼¦³¥Îªº¡C</para> + + <para>¤£¹L©O¡A¦pªG§AªººÏºÐªÅ¶¡«Ü¤p¡A©ÎªÌ§A´N¬O¤£·Q¥Î°»¿ù¼Ò¦¡ªº + kernel ªº¸Ü¡A½Ð½T»{¥H¤U¨Æ±¡¡G</para> + + <itemizedlist> + <listitem> + <para>kernel ³]©wÀɸ̱¨S¦³³o¤@¦æ¡G</para> + + <programlisting>makeoptions DEBUGS=-g </programlisting> + </listitem> + + <listitem> + <para>°õ¦æ &man.config.8; ®É¨S¦³¥[¤W <option>-g</option> + ³oӿﶵ¡C</para> + </listitem> + </itemizedlist> + + <para>¥H¤W¨â¥ó¨Æ±¡³£·|Åý§A½s¥X¤@Ó°»¿ù¼Ò¦¡ªº kernel¡C¦ý¥unÁקK¤§¡A + ´N¥i¥H½s¥X¤@Ó¥¿±`ªº kernel¡A¦Ó§A¤]·|ª`·N¨ì¡Akernel ©úÅ㪺Åܤp¤F¡F + ¤j³¡¥÷ªº kernel ³£®t¤£¦h¦b 1.5MB ¨ì 2MB ¤§¶¡¡C</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="multiport-serial-interrupts"> + <para>¬°¦ó¥X²{¤F multi-port serial code ªº¤¤Â_½Ä¬ð¡H</para> + </question> + + <answer> + <para>·í§Ú½sĶ¤@Ó multi-port serial code ªº®Ö¤ß®É¡A¥¦§i¶D§Ú¥u¦³ + ²Ä¤@Ó³Q°»´ú¨ì¡A¨ä¥Lªº«h¦]¤¤Â_½Ä¬ð¦Ó¸õ¹L¤F¡A§Ú¸Ó«ç»ò×¥¿¥¦¡H</para> + + <para>³oÓ°ÝÃD¬O¦]¬° FreeBSD ¨Ï¥Î¤º«Øµ{¦¡½XÁקK¦]¬°µwÅé©Î³nÅé½Ä¬ð + ¾ÉP kernel ¹L©óªÎ¤j©ÎµL¥Î¡Cn×¥¿³oºØ±¡§Îªº¤èªk¬O°£¤F¤@Ó port + ¥~§â¨ä¥L©Ò¦³ªº IRQ ³]©w³£°µ«O¯d¡C³o¸Ì¦³¤@Ó½d¨Ò¡G</para> + + <programlisting># +# 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</programlisting> + </answer> + </qandaentry> + + <qandaentry> + <question id="generic-kernel-build-failure"> + <para>¬°¤°»ò§Ú¤@Ó kernel ³£½s¤£°_¨Ó¡H¬Æ¦Ü GENERIC ¤]¤£¦æ¡H</para> + </question> + + <answer> + <para>³o¦³«Ü¦hºØ¥i¯àªºì¦]¡G</para> + + <itemizedlist> + <listitem> + <para>§A¨S¦³¥Î·sªº <command>make buildkernel</command> »P + <command>make installkernel</command> ³o¨âÓ¤èªk¨Ó½s¡A¦Ó¥¿¦n + §Aªº¨t²Îì©l½Xªºª©¥»©M¥¿¦b°õ¦æªº¨t²Î®Ö¤ßª©¥»¤£¤@¼Ë (¹³¬O¡A + ¦b¶] 4.0-RELEASE ªº¨t²Î¤W¹Á¸ÕµÛ½s 4.3-RELEASE)¡C¦pªG»¡§An¤É + ¯Å¨t²Îªº¸Ü¡A½Ð°È¥²¥h¬Ý¬Ý <filename>/usr/src/UPDATING</filename> + ³oÓÀɮסA¯S§Oª`·N³Ì«á±ªº <quote>COMMON ITEMS</quote> + ³oÓ¤p¸`¡C</para> + </listitem> + + <listitem> + <para>§A¤w¸g¥Î¤W <command>make buildkernel</command> ¥H¤Î + <command>make installkernel</command> ¤F¡A¦ý¬O¦b + <command>make buildworld</command> ®É¥¢±Ñ¤F¡C¥i±¤ªº¬O¡A + <command>make buildkernel</command> n¦¨¥\¡A»Ýn¨Ì¿à + <command>make buildworld</command> «á³y¥X¨Óªº¤@¨ÇÀɮסC</para> + </listitem> + + <listitem> + <para>´Nºâ¬O§A¦b½s <link linkend="stable">&os.stable;</link>¡A + ÁÙ¬O¦³¥i¯à§A§ì¨ì¤F¥¿¦bק襤¡A©ÎµÛ¦]¬°¬Y¨Ç½t¬G¦Ó®Ú¥»ÁÙ¨S§ï¦n + ªºì©l½X¡FÁöµM»¡ <link linkend="stable">&os.stable;</link> + ¤j³¡¥÷ªº®ÉÔ³£¬O¥i¥H½sªº¡A¦ý¥u¦³ RELEASE ¤~¬O«OÃÒ¥i¥H½sªº¡C¸I + ¨ì³oÓ°ÝÃD®É¡A¦A¦¸§ó·sì©l½X¨Ã¥B¦A¸Õ¸Õ¬Ý¡C¤]¦³¥i¯à¬O©ñì©l½Xªº + ¦øªA¾¹¥X²{¬Y¨Ç°ÝÃD¡A©Ò¥H§ó·sì©l½X®É¤]¸Õ¸Õ±q¤£¦P¦øªA¾¹¨Ó§ó·s¬Ý + ¬Ý¡C</para> + </listitem> + </itemizedlist> + </answer> + </qandaentry> + </qandaset> + </chapter> + + <chapter id="disks"> + <title>µwºÐ¡BÀɮרt²Î¡BBoot Loader</title> + + <qandaset> + <qandaentry> + <question id="new-huge-disk"> + <para>§Ún«ç»ò§â§Úªº¨t²Î·h¨ì·sµwºÐ¤W±¥h¡H</para> + </question> + + <answer> + <para>²z·Qªº¤è¦¡¬O¥ý¦b·sµwºÐ¤W«¸Ë¦n§@·~¨t²Î¡AµM«á§â¨Ï¥ÎªÌ¬ÛÃöµ{¦¡¡B¸ê®Æ·h¹L¥h´N¦n¡C + This is highly + recommended if you have been tracking -STABLE for more + than one release, or have updated a release instead of + installing a new one. You can install booteasy on both + disks with &man.boot0cfg.8;, and dual boot them until + you are happy with the new configuration. Skip the + next paragraph to find out how to move the data after + doing this.</para> + + <para>Should you decide not to do a fresh install, you + need to partition and label the new disk with either + <filename>sysinstall</filename>(&os; 5.2 ¤§«eª©¥»«h¬O <command>/stand/sysinstall</command>), or &man.fdisk.8; + and &man.disklabel.8;. You should also install booteasy + on both disks with &man.boot0cfg.8;, so that you can + dual boot to the old or new system after the copying + is done.</para> + + <para>Now you have the new disk set up, and are ready + to move the data. Unfortunately, you cannot just blindly + copy the data. Things like device files (in + <filename>/dev</filename>), flags, and links tend to + screw that up. You need to use tools that understand + these things, which means &man.dump.8;. + Although it is suggested that you move the data in single user + mode, it is not required.</para> + + <para>You should never use anything but &man.dump.8; and + &man.restore.8; to move the root filesystem. The + &man.tar.1; command may work - then again, it may not. + You should also use &man.dump.8; and &man.restore.8; + if you are moving a single partition to another empty + partition. The sequence of steps to use dump to move + a partitions data to a new partition is:</para> + + <procedure> + <step> + <para>newfs the new partition.</para> + </step> + + <step> + <para>mount it on a temporary mount point.</para> + </step> + + <step> + <para>cd to that directory.</para> + </step> + + <step> + <para>dump the old partition, piping output to the + new one.</para> + </step> + </procedure> + + <para>For example, if you are going to move root to + <devicename>/dev/ad1s1a</devicename>, with + <filename>/mnt</filename> as the temporary mount point, + it is:</para> + + <screen>&prompt.root; <userinput>newfs /dev/ad1s1a</userinput> +&prompt.root; <userinput>mount /dev/ad1s1a /mnt</userinput> +&prompt.root; <userinput>cd /mnt</userinput> +&prompt.root; <userinput>dump 0af - / | restore xf -</userinput></screen> + + <para>Rearranging your partitions with dump takes a bit more + work. To merge a partition like <filename>/var</filename> + into its parent, create the new partition large enough + for both, move the parent partition as described above, + then move the child partition into the empty directory + that the first move created:</para> + + <screen>&prompt.root; <userinput>newfs /dev/ad1s1a</userinput> +&prompt.root; <userinput>mount /dev/ad1s1a /mnt</userinput> +&prompt.root; <userinput>cd /mnt</userinput> +&prompt.root; <userinput>dump 0af - / | restore xf -</userinput> +&prompt.root; <userinput>cd var</userinput> +&prompt.root; <userinput>dump 0af - /var | restore xf -</userinput></screen> + + <para>To split a directory from its parent, say putting + <filename>/var</filename> on its own partition when it was not + before, create both partitions, then mount the child partition + on the appropriate directory in the temporary mount point, then + move the old single partition:</para> + + <screen>&prompt.root; <userinput>newfs /dev/ad1s1a</userinput> +&prompt.root; <userinput>newfs /dev/ad1s1d</userinput> +&prompt.root; <userinput>mount /dev/ad1s1a /mnt</userinput> +&prompt.root; <userinput>mkdir /mnt/var</userinput> +&prompt.root; <userinput>mount /dev/ad1s1d /mnt/var</userinput> +&prompt.root; <userinput>cd /mnt</userinput> +&prompt.root; <userinput>dump 0af - / | restore xf -</userinput></screen> + + <para>You might prefer &man.cpio.1;, &man.pax.1;, + &man.tar.1; to &man.dump.8; for user data. At the time of + this writing, these are known to lose file flag information, + so use them with caution.</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="dangerously-dedicated"> + <para>Will a <quote>dangerously dedicated</quote> disk endanger + my health?</para> + </question> + + <answer> + + <para><anchor id="dedicate"/>The installation procedure allows + you to chose two different methods in partitioning your + hard disk(s). The default way makes it compatible with other + operating systems on the same machine, by using fdisk table + entries (called <quote>slices</quote> in FreeBSD), with a + FreeBSD slice that employs partitions of its own. Optionally, + one can chose to install a boot-selector to switch between the + possible operating systems on the disk(s). The alternative uses + the entire disk for FreeBSD, and makes no attempt to be + compatible with other operating systems.</para> + + <para>So why it is called <quote>dangerous</quote>? A disk + in this mode does not contain what normal PC utilities + would consider a valid fdisk table. Depending on how well + they have been designed, they might complain at you once + they are getting in contact with such a disk, or even + worse, they might damage the BSD bootstrap without even + asking or notifying you. In addition, the + <quote>dangerously dedicated</quote> disk's layout is + known to confuse many BIOSes, including those from AWARD + (e.g. as found in HP Netserver and Micronics systems as + well as many others) and Symbios/NCR (for the popular + 53C8xx range of SCSI controllers). This is not a complete + list, there are more. Symptoms of this confusion include + the <errorname>read error</errorname> message printed by + the FreeBSD bootstrap when it cannot find itself, as well + as system lockups when booting.</para> + + <para>Why have this mode at all then? It only saves a few kbytes + of disk space, and it can cause real problems for a new + installation. <quote>Dangerously dedicated</quote> mode's + origins lie in a desire to avoid one of the most common + problems plaguing new FreeBSD installers - matching the BIOS + <quote>geometry</quote> numbers for a disk to the disk + itself.</para> + + <para><quote>Geometry</quote> is an outdated concept, but one + still at the heart of the PC's BIOS and its interaction with + disks. When the FreeBSD installer creates slices, it has to + record the location of these slices on the disk in a fashion + that corresponds with the way the BIOS expects to find them. If + it gets it wrong, you will not be able to boot.</para> + + <para><quote>Dangerously dedicated</quote> mode tries to work + around this by making the problem simpler. In some cases, it + gets it right. But it is meant to be used as a last-ditch + alternative - there are better ways to solve the problem 99 + times out of 100.</para> + + <para>So, how do you avoid the need for <quote>DD</quote> mode + when you are installing? Start by making a note of the geometry + that your BIOS claims to be using for your disks. You can + arrange to have the kernel print this as it boots by specifying + <option>-v</option> at the <literal>boot:</literal> prompt, or + using <command>boot -v</command> in the loader. Just before the + installer starts, the kernel will print a list of BIOS + geometries. Do not panic - wait for the installer to start and + then use scrollback to read the numbers. Typically the BIOS + disk units will be in the same order that FreeBSD lists your + disks, first IDE, then SCSI.</para> + + <para>When you are slicing up your disk, check that the disk + geometry displayed in the FDISK screen is correct (ie. it + matches the BIOS numbers); if it is wrong, use the + <keycap>g</keycap> key to fix it. You may have to do this if + there is absolutely nothing on the disk, or if the disk has been + moved from another system. Note that this is only an issue with + the disk that you are going to boot from; FreeBSD will sort + itself out just fine with any other disks you may have.</para> + + <para>Once you have got the BIOS and FreeBSD agreeing about the + geometry of the disk, your problems are almost guaranteed to be + over, and with no need for <quote>DD</quote> mode at all. If, + however, you are still greeted with the dreaded <errorname>read + error</errorname> message when you try to boot, it is time to cross + your fingers and go for it - there is nothing left to + lose.</para> + + <para>To return a <quote>dangerously dedicated</quote> disk + for normal PC use, there are basically two options. The first + is, you write enough NULL bytes over the MBR to make any + subsequent installation believe this to be a blank disk. You + can do this for example with</para> + + <screen>&prompt.root; <userinput>dd if=/dev/zero of=/dev/rda0 count=15</userinput></screen> + + <para>Alternatively, the undocumented DOS + <quote>feature</quote></para> + + <screen><prompt>C:\></prompt> <userinput>fdisk /mbr</userinput></screen> + + <para>will to install a new master boot record as well, thus + clobbering the BSD bootstrap.</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="safe-softupdates"> + <para>Which partitions can safely use Soft Updates? I have + heard that Soft Updates on <filename>/</filename> can cause + problems.</para> + </question> + + <answer> + <para>Short answer: you can usually use Soft Updates safely + on all partitions.</para> + + <para>Long answer: There used to be some concern over using + Soft Updates on the root partition. Soft Updates has two + characteristics that caused this. First, a Soft Updates + partition has a small chance of losing data during a + system crash. (The partition will not be corrupted; the + data will simply be lost.) Also, Soft Updates can cause + temporary space shortages.</para> + + <para>When using Soft Updates, the kernel can take up to + thirty seconds to actually write changes to the physical + disk. If you delete a large file, the file still resides + on disk until the kernel actually performs the deletion. + This can cause a very simple race condition. Suppose you + delete one large file and immediately create another large + file. The first large file is not yet actually removed + from the physical disk, so the disk might not have enough + room for the second large file. You get an error that the + partition does not have enough space, although you know + perfectly well that you just released a large chunk of + space! When you try again mere seconds later, the file + creation works as you expect. This has left more than one + user scratching his head and doubting his sanity, the + FreeBSD filesystem, or both.</para> + + <para>If a system should crash after the kernel accepts a + chunk of data for writing to disk, but before that data is + actually written out, data could be lost or corrupted. + This risk is extremely small, but generally manageable. + Use of IDE write caching greatly increases this risk; it + is strongly recommended that you disable IDE write caching + when using Soft Updates.</para> + + <para>These issues affect all partitions using Soft Updates. + So, what does this mean for the root partition?</para> + + <para>Vital information on the root partition changes very + rarely. Files such as <filename>/kernel</filename> and + the contents of <filename>/etc</filename> only change + during system maintenance, or when users change their + passwords. If the system crashed during the + thirty-second window after such a change is made, it is + possible that data could be lost. This risk is negligible + for most applications, but you should be aware that it + exists. If your system cannot tolerate this much risk, + do not use Soft Updates on the root filesystem!</para> + + <para><filename>/</filename> is traditionally one of the + smallest partitions. By default, FreeBSD puts the + <filename>/tmp</filename> directory on + <filename>/</filename>. If you have a busy + <filename>/tmp</filename>, you might see intermittent + space problems. Symlinking <filename>/tmp</filename> to + <filename>/var/tmp</filename> will solve this + problem.</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="inappropriate-ccd"> + <para>What is inappropriate about my ccd?</para> + </question> + + <answer> + <para>The symptom of this is:</para> + + <screen>&prompt.root; <userinput>ccdconfig -C</userinput> +ccdconfig: ioctl (CCDIOCSET): /dev/ccd0c: Inappropriate file type or format</screen> + + <para>This usually happens when you are trying to concatenate + the <literal>c</literal> partitions, which default to type + <literal>unused</literal>. The ccd driver requires the + underlying partition type to be FS_BSDFFS. Edit the disklabel + of the disks you are trying to concatenate and change the types + of partitions to <literal>4.2BSD</literal>.</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="ccd-disklabel"> + <para>Why can I not edit the disklabel on my ccd?</para> + </question> + + <answer> + <para>The symptom of this is:</para> + + <screen>&prompt.root; <userinput>disklabel ccd0</userinput> +(it prints something sensible here, so let us try to edit it) +&prompt.root; <userinput>disklabel -e ccd0</userinput> +(edit, save, quit) +disklabel: ioctl DIOCWDINFO: No disk label on disk; +use "disklabel -r" to install initial label</screen> + + <para>This is because the disklabel returned by ccd is actually + a <quote>fake</quote> one that is not really on the disk. + You can solve this problem by writing it back explicitly, + as in:</para> + + <screen>&prompt.root; <userinput>disklabel ccd0 > /tmp/disklabel.tmp</userinput> +&prompt.root; <userinput>disklabel -Rr ccd0 /tmp/disklabel.tmp</userinput> +&prompt.root; <userinput>disklabel -e ccd0</userinput> +(this will work now)</screen> + </answer> + </qandaentry> + + <qandaentry> + <question id="mount-foreign-fs"> + <para>Can I mount other foreign filesystems under FreeBSD?</para> + </question> + + <answer> + <para>FreeBSD supports a variety of other + filesystems.</para> + + <variablelist> + <varlistentry> + <term>Digital UNIX</term> + + <listitem> + <para>UFS CDROMs can be mounted directly on FreeBSD. + Mounting disk partitions from Digital UNIX and other + systems that support UFS may be more complex, depending + on the details of the disk partitioning for the operating + system in question.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>&linux;</term> + + <listitem> + <para>FreeBSD supports <literal>ext2fs</literal> + partitions. See &man.mount.ext2fs.8; for more + information.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>&windowsnt;</term> + + <listitem> + <para>FreeBSD includes a read-only NTFS driver. For + more information, see &man.mount.ntfs.8;. + </para> + </listitem> + </varlistentry> + + <varlistentry> + <term>FAT</term> + + <listitem> + <para>FreeBSD includes a read-write FAT driver. For + more information, see &man.mount.msdosfs.8;.</para> + </listitem> + </varlistentry> + </variablelist> + + <para>FreeBSD also supports network filesystems such as NFS + (see &man.mount.nfs.8;), NetWare (see &man.mount.nwfs.8;), + and Microsoft-style SMB filesystems (see + &man.mount.smbfs.8;).</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="mount-dos"> + <para>How do I mount a secondary DOS partition?</para> + </question> + + <answer> + + <para>The secondary DOS partitions are found after ALL the + primary partitions. For example, if you have an + <quote>E</quote> partition as the second DOS partition on + the second SCSI drive, you need to create the special files + for <quote>slice 5</quote> in <filename>/dev</filename>, + then mount <devicename>/dev/da1s5</devicename>:</para> + + <screen>&prompt.root; <userinput>cd /dev</userinput> +&prompt.root; <userinput>sh MAKEDEV da1s5</userinput> +&prompt.root; <userinput>mount -t msdos /dev/da1s5 /dos/e</userinput></screen> + + <note> + <para>You can omit this step if you are running FreeBSD + 5.0-RELEASE or newer with &man.devfs.5; + enabled.</para> + </note> + </answer> + </qandaentry> + + <qandaentry> + <question id="crypto-filesystem"> + <para>&os; ¦³ÀÉ®×¥[±K¨t²Î¶Ü¡H</para> + </question> + + <answer> + + <para>¦³°Ú¡I FreeBSD 5.0 °_¤º«Ø &man.gbde.8;¡A¦Ó FreeBSD 6.0 + ¤S¥[¤W &man.geli.8;¡C ¦Ó¸û¦´Áªºª©¥»¡A½Ð¦h§Q¥Î <filename + role="package">security/cfs</filename> port¡AÁÂÁ¡C</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="nt-bootloader"> + <para>How can I use the &windowsnt; loader to boot FreeBSD?</para> + </question> + + <answer> + <para>The general idea is that you copy the first sector of your + native root FreeBSD partition into a file in the DOS/&windowsnt; + partition. Assuming you name that file something like + <filename>c:\bootsect.bsd</filename> (inspired by + <filename>c:\bootsect.dos</filename>), you can then edit the + <filename>c:\boot.ini</filename> file to come up with something + like this:</para> + + <programlisting>[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"</programlisting> + + <para>If FreeBSD is installed on the same disk as the &windowsnt; boot + partition simply copy <filename>/boot/boot1</filename> to + <filename>C:\BOOTSECT.BSD</filename>. However, if FreeBSD is + installed on a different disk <filename>/boot/boot1</filename> + will not work, <filename>/boot/boot0</filename> is needed.</para> + + <para><filename>/boot/boot0</filename> needs to be installed + using sysinstall(&os; 5.2 ¤§«eª©¥»«h¬O <command>/stand/sysinstall</command>) by selecting the FreeBSD boot manager on + the screen which asks if you wish to use a boot + manager. This is because <filename>/boot/boot0</filename> + has the partition table area filled with NULL characters + but sysinstall copies the partition table before copying + <filename>/boot/boot0</filename> to the MBR.</para> + + <warning> + <para><emphasis>Do not simply copy <filename>/boot/boot0</filename> + instead of <filename>/boot/boot1</filename>; you will + overwrite your partition table and render your computer + un-bootable!</emphasis></para> + </warning> + + <para>When the FreeBSD boot manager runs it records the last + OS booted by setting the active flag on the partition table + entry for that OS and then writes the whole 512-bytes of itself + back to the MBR so if you just copy + <filename>/boot/boot0</filename> to + <filename>C:\BOOTSECT.BSD</filename> then it writes an empty + partition table, with the active flag set on one entry, to the + MBR.</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="lilo-bootloader"> + <para>How do I boot FreeBSD and &linux; from LILO?</para> + </question> + + <answer> + <para>If you have FreeBSD and &linux; on the same disk, just follow + LILO's installation instructions for booting a non-&linux; + operating system. Very briefly, these are:</para> + + <para>Boot &linux;, and add the following lines to + <filename>/etc/lilo.conf</filename>:</para> + + <programlisting>other=/dev/hda2 + table=/dev/hda + label=FreeBSD</programlisting> + + <para>(the above assumes that your FreeBSD slice is known to + &linux; as <devicename>/dev/hda2</devicename>; tailor to + suit your setup). Then, run <command>lilo</command> as + <username>root</username> and you should be done.</para> + + <para>If FreeBSD resides on another disk, you need to add + <literal>loader=/boot/chain.b</literal> to the LILO entry. + For example:</para> + + <programlisting>other=/dev/dab4 + table=/dev/dab + loader=/boot/chain.b + label=FreeBSD</programlisting> + + <para>In some cases you may need to specify the BIOS drive number + to the FreeBSD boot loader to successfully boot off the second + disk. For example, if your FreeBSD SCSI disk is probed by BIOS + as BIOS disk 1, at the FreeBSD boot loader prompt you need to + specify:</para> + + <screen>Boot: <userinput>1:da(0,a)/kernel</userinput></screen> + + <para>You can configure + &man.boot.8; + to automatically do this for you at boot time.</para> + + <para>The <ulink + url="http://sunsite.unc.edu/LDP/HOWTO/mini/Linux+FreeBSD.html"> + &linux;+FreeBSD mini-HOWTO</ulink> is a good reference for + FreeBSD and &linux; interoperability issues.</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="booteasy-loader"> + <para>How do I boot FreeBSD and &linux; using BootEasy?</para> + </question> + + <answer> + <para>Install LILO at the start of your &linux; boot partition + instead of in the Master Boot Record. You can then boot LILO + from BootEasy.</para> + + <para>If you are running &windows; 95 and &linux; this is recommended + anyway, to make it simpler to get &linux; booting again if you + should need to reinstall &windows; 95 (which is a Jealous + Operating System, and will bear no other Operating Systems in + the Master Boot Record).</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="changing-bootprompt"> + <para>How do I change the boot prompt from <literal>???</literal> to + something more meaningful?</para> + </question> + + <answer> + <para>You can not do that with the standard boot manager without + rewriting it. There are a number of other boot managers + in the <filename>sysutils</filename> ports category that + provide this functionality.</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="removable-drives"> + <para>I have a new removable drive, how do I use it?</para> + </question> + + <answer> + + <para>Whether it is a removable drive like a &iomegazip; or an EZ drive + (or even a floppy, if you want to use it that way), or a new + hard disk, once it is installed and recognized by the system, + and you have your cartridge/floppy/whatever slotted in, things + are pretty much the same for all devices.</para> + + <para>(this section is based on <ulink + url="http://www.vmunix.com/mark/FreeBSD/ZIP-FAQ.html"> + Mark Mayo's ZIP FAQ</ulink>)</para> + + <para>If it is a ZIP drive or a floppy, you have already got a DOS + filesystem on it, you can use a command like this:</para> + + <screen>&prompt.root; <userinput>mount -t msdos /dev/fd0c /floppy</userinput></screen> + + <para>if it is a floppy, or this:</para> + + <screen>&prompt.root; <userinput>mount -t msdos /dev/da2s4 /zip</userinput></screen> + + <para>for a ZIP disk with the factory configuration.</para> + + <para>For other disks, see how they are laid out using + &man.fdisk.8; or + &man.sysinstall.8;.</para> + + <para>The rest of the examples will be for a ZIP drive on da2, + the third SCSI disk.</para> + + <para>Unless it is a floppy, or a removable you plan on sharing + with other people, it is probably a better idea to stick a BSD + filesystem on it. You will get long filename support, at least a + 2X improvement in performance, and a lot more stability. First, + you need to redo the DOS-level partitions/filesystems. You can + either use &man.fdisk.8; or + <filename>sysinstall</filename>(&os; 5.2 ¤§«eª©¥»«h¬O <command>/stand/sysinstall</command>), or for a small drive + that you do not want to bother with multiple operating system + support on, just blow away the whole FAT partition table + (slices) and just use the BSD partitioning:</para> + + <screen>&prompt.root; <userinput>dd if=/dev/zero of=/dev/rda2 count=2</userinput> +&prompt.root; <userinput>disklabel -Brw da2 auto</userinput></screen> + + <para>You can use disklabel or + <filename>sysinstall</filename> to create multiple BSD + partitions. You will certainly want to do this if you are adding + swap space on a fixed disk, but it is probably irrelevant on a + removable drive like a ZIP.</para> + + <para>Finally, create a new filesystem, this one is on our ZIP + drive using the whole disk:</para> + + <screen>&prompt.root; <userinput>newfs /dev/rda2c</userinput></screen> + + <para>and mount it:</para> + + <screen>&prompt.root; <userinput>mount /dev/da2c /zip</userinput></screen> + + <para>and it is probably a good idea to add a line like this + to <filename>/etc/fstab</filename> (see &man.fstab.5;) so + you can just type <command>mount /zip</command> in the + future:</para> + + <programlisting>/dev/da2c /zip ffs rw,noauto 0 0</programlisting> + </answer> + </qandaentry> + + <qandaentry> + <question id="mount-cd-superblock"> + <para>Why do I get <errorname>Incorrect super block</errorname> when + mounting a CDROM?</para> + </question> + + <answer> + <para>You have to tell &man.mount.8; the type of the device + that you want to mount. This is described in the <ulink + url="&url.books.handbook;/creating-cds.html"> Handbook section on + optical media</ulink>, specifically the section <ulink + url="&url.books.handbook;/creating-cds.html#MOUNTING-CD">Using Data + CDs</ulink>.</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="cdrom-not-configured"> + <para>Why do I get <errorname>Device not + configured</errorname> when mounting a CDROM?</para> + </question> + + <answer> + <para>This generally means that there is no CDROM in the + CDROM drive, or the drive is not visible on the + bus. Please see the <ulink + url="&url.books.handbook;/creating-cds.html#MOUNTING-CD">Using Data + CDs</ulink> section of the Handbook for a detailed + discussion of this issue.</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="cdrom-unicode-filenames"> + <para>Why do all non-English characters in filenames show up as + <quote>?</quote> on my CDs when mounted in FreeBSD?</para> + </question> + + <answer> + <para>Your CDROM probably uses the <quote>Joliet</quote> + extension for storing information about files and + directories. This is discussed in the Handbook chapter on + <ulink url="&url.books.handbook;/creating-cds.html">creating and + using CDROMs</ulink>, specifically the section on <ulink + url="&url.books.handbook;/creating-cds.html#MOUNTING-CD">Using Data + CDROMs</ulink>.</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="burncd-isofs"> + <para>I burned a CD under FreeBSD and now I can not read it + under any other operating system. Why?</para> + </question> + + <answer> + <para>You most likely burned a raw file to your CD, rather + than creating an ISO 9660 filesystem. Take a look at the + <ulink url="&url.books.handbook;/creating-cds.html">Handbook + chapter on creating CDROMs</ulink>, particularly the + section on <ulink + url="&url.books.handbook;/creating-cds.html#RAWDATA-CD">burning raw + data CDs</ulink>.</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="copy-cd"> + <para>How can I create an image of a data CD?</para> + </question> + + <answer> + <para>This is discussed in the Handbook section on <ulink + url="&url.books.handbook;/creating-cds.html#IMAGING-CD">duplicating + data CDs</ulink>. For more on working with CDROMs, see the + <ulink url="&url.books.handbook;/creating-cds.html">Creating CDs + Section</ulink> in the Storage chapter in the + Handbook.</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="mount-audio-CD"> + <para>Why can I not <command>mount</command> an audio + CD?</para> + </question> + + <answer> + <para>If you try to mount an audio CD, you will get an error + like <errorname>cd9660: /dev/acd0c: Invalid + argument</errorname>. This is because + <command>mount</command> only works on filesystems. Audio + CDs do not have filesystems; they just have data. You + need a program that reads audio CDs, such as the + <filename role="package">audio/xmcd</filename> port.</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="multi-session-CD"> + <para>How do I <command>mount</command> a multi-session CD?</para> + </question> + + <answer> + <para>By default, &man.mount.8; will attempt to mount the + last data track (session) of a CD. If you would like to + load an earlier session, you must use the + <option>-s</option> command line argument. Please see + &man.mount.cd9660.8; for specific examples.</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="user-floppymount"> + <para>How do I let ordinary users mount floppies, CDROMs and + other removable media?</para> + </question> + + <answer> + <para>Ordinary users can be permitted to mount devices. Here is + how:</para> + + <procedure> + <step> + <para>As <username>root</username> set the sysctl variable + <varname>vfs.usermount</varname> to + <literal>1</literal>.</para> + + <screen>&prompt.root; <userinput>sysctl -w vfs.usermount=1</userinput></screen> + </step> + + <step> + <para>As <username>root</username> assign the appropriate + permissions to the block device associated with the + removable media.</para> + + <para>For example, to allow users to mount the first floppy + drive, use:</para> + + <screen>&prompt.root; <userinput>chmod 666 /dev/fd0</userinput></screen> + + <para>To allow users in the group + <groupname>operator</groupname> to mount the CDROM drive, + use:</para> + + <screen>&prompt.root; <userinput>chgrp operator /dev/acd0c</userinput> +&prompt.root; <userinput>chmod 640 /dev/acd0c</userinput></screen> + </step> + + <step> + <para>If you are running &os; 5.X or later, you will need to alter + <filename>/etc/devfs.conf</filename> to make these changes + permanent across reboots.</para> + + <para>As <username>root</username>, add the necessary lines to + <filename>/etc/devfs.conf</filename>. For example, to allow + users to mount the first floppy drive add:</para> + + <programlisting># Allow all users to mount the floppy disk. +own /dev/fd0 root:operator +perm /dev/fd0 0666</programlisting> + + <para>To allow users in the group <groupname>operator</groupname> + to mount the CD-ROM drive add:</para> + + <programlisting># Allow members of the group operator to mount CD-ROMs. +own /dev/acd0 root:operator +perm /dev/acd0 0660</programlisting> + </step> + + <step> + <para>Finally, add the line + <literal><varname>vfs.usermount</varname>=1</literal> + to the file <filename>/etc/sysctl.conf</filename> so + that it is reset at system boot time.</para> + </step> + </procedure> + + <para>All users can now mount the floppy + <devicename>/dev/fd0</devicename> onto a directory that they + own:</para> + + <screen>&prompt.user; <userinput>mkdir ~/my-mount-point</userinput> +&prompt.user; <userinput>mount -t msdos /dev/fd0 ~/my-mount-point</userinput></screen> + + <para>Users in group <groupname>operator</groupname> can now + mount the CDROM <devicename>/dev/acd0c</devicename> onto a + directory that they own:</para> + + <screen>&prompt.user; <userinput>mkdir ~/my-mount-point</userinput> +&prompt.user; <userinput>mount -t cd9660 /dev/acd0c ~/my-mount-point</userinput></screen> + + <para>Unmounting the device is simple:</para> + + <screen>&prompt.user; <userinput>umount ~/my-mount-point</userinput></screen> + + <para>Enabling <varname>vfs.usermount</varname>, however, + has negative security implications. A better way to + access &ms-dos; formatted media is to use the + <filename role="package">emulators/mtools</filename> + package in the ports collection.</para> + + <note> + <para>The device name used in the previous examples must be + changed according to your configuration.</para> + </note> + </answer> + </qandaentry> + + <qandaentry> + <question id="du-vs-df"> + <para>The <command>du</command> and <command>df</command> + commands show different amounts of disk space available. + What is going on?</para> + </question> + + <answer> + <para>You need to understand what <command>du</command> and + <command>df</command> really do. <command>du</command> + goes through the directory tree, measures how large each + file is, and presents the totals. <command>df</command> + just asks the filesystem how much space it has left. They + seem to be the same thing, but a file without a directory + entry will affect <command>df</command> but not + <command>du</command>.</para> + + <para>When a program is using a file, and you delete the + file, the file is not really removed from the filesystem + until the program stops using it. The file is immediately + deleted from the directory listing, however. You can see + this easily enough with a program such as + <command>more</command>. Assume you have a file large + enough that its presence affects the output of + <command>du</command> and <command>df</command>. (Since + disks can be so large today, this might be a + <emphasis>very</emphasis> large file!) If you delete this + file while using <command>more</command> on it, + <command>more</command> does not immediately choke and + complain that it cannot view the file. The entry is + simply removed from the directory so no other program or + user can access it. <command>du</command> shows that it + is gone — it has walked the directory tree and the file + is not listed. <command>df</command> shows that it is + still there, as the filesystem knows that + <command>more</command> is still using that space. Once + you end the <command>more</command> session, + <command>du</command> and <command>df</command> will + agree.</para> + + <para>Note that Soft Updates can delay the freeing of disk + space; you might need to wait up to 30 seconds for the + change to be visible!</para> + + <para>This situation is common on web servers. Many people + set up a FreeBSD web server and forget to rotate the log + files. The access log fills up <filename>/var</filename>. + The new administrator deletes the file, but the system + still complains that the partition is full. Stopping and + restarting the web server program would free the file, + allowing the system to release the disk space. To prevent + this from happening, set up &man.newsyslog.8;.</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="add-swap-space"> + <para>How can I add more swap space?</para> + </question> + + <answer> + <para>In the <ulink + url="&url.books.handbook;/config-tuning.html">Configuration and + Tuning</ulink> section of the Handbook, you will find a + <ulink + url="&url.books.handbook;/adding-swap-space.html">section</ulink> + describing how to do this.</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="manufacturer-disk-size"> + <para>Why does &os; see my disk as smaller than the + manufacturer says it is?</para> + </question> + + <answer> + <para>Disk manufacturers calculate gigabytes as a billion bytes + each, whereas &os; calculates them as 1,073,741,824 bytes + each. This explains why, for example, &os;'s boot messages + will report a disk that supposedly has 80GB as holding + 76319MB.</para> + <para>Also note that &os; will (by default) + <link linkend="disk-more-than-full">reserve</link> 8% of the disk + space.</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="disk-more-than-full"> + <para>How is it possible for a partition to be more than 100% + full?</para> + </question> + + <answer> + <para>A portion of each UFS partition (8%, by default) is + reserved for use by the operating system and the + <username>root</username> user. + &man.df.1; does not count that space when + calculating the <literal>Capacity</literal> column, so it can + exceed 100%. Also, you will notice that the + <literal>Blocks</literal> column is always greater than the + sum of the <literal>Used</literal> and + <literal>Avail</literal> columns, usually by a factor of + 8%.</para> + + <para>For more details, look up the <option>-m</option> option + in &man.tunefs.8;.</para> + </answer> + </qandaentry> + </qandaset> + </chapter> + + + <chapter id="admin"> + <chapterinfo> + <author> + <firstname>Wei-Hon</firstname> + <surname>Chen</surname> + <affiliation> + <address><email>plasmaball@pchome.com.tw</email></address> + </affiliation> + </author> + </chapterinfo> + + <title>¨t²ÎºÞ²z</title> + + <qandaset> + <qandaentry> + <question id="startup-config-files"> + <para>¨t²Î°_©l³]©wÀɦbþ¡H</para> + </question> + + <answer> + + <para>±q 2.0.5R ¨ì 2.2.1R¡A¥Dnªº³]©wÀɬO + <filename>/etc/sysconfig</filename>¡C©Ò¦³ªº¿ï¶µ³£³Q«ü©w¦b³oÓÀÉ¡A + ¦Ó¨ä¥L¹³ <filename>/etc/rc</filename> (°Ñ¨£ &man.rc.8;) + ©M <filename>/etc/netstart</filename> ¥u¬O¤Þ¥Î¥¦¡C</para> + + <para>Æ[¹î <filename>/etc/sysconfig</filename> ³oÓÀɨÃ×¥¿¨äÈ¥H + ¾A¦X§Aªº¨t²Î¡C³oÓÀɥεù¸Ñ¶ñº¡¥Hªí¥Ü¦ó³B¸Ó©ñ¸m¤°»ò³]©w¡C</para> + + <para>¦b post-2.2.1 ¥H«á¤Î 3.0¡A<filename>/etc/sysconfig</filename> + ¥ç§ó¦W¬°¤@Ó§ó®e©ö´yzªºÀɦW¥s &man.rc.conf.5; ¡A¨Ã¥B»yªk²¤Æ¤F¨Ç¡C + <filename>/etc/netstart</filename> ¥ç§ó¦W¬° + <filename>/etc/rc.network</filename> ¦]¦¹©Ò¦³ªºÀɮ׳£¥i¥H¥Î + <command>cp /usr/src/etc/rc* /etc</command> ¨Ó«þ¨©¡C</para> + + <para>¦b 3.1 ¥H¤Î¡A<filename>/etc/rc.conf</filename> ³Q²¾¨ì + <filename>/etc/defaults/rc.conf</filename>¡C + <emphasis>¤d¸U¤£n½s¿è³oÓÀÉ¡I</emphasis> ¦pªG + <filename>/etc/defaults/rc.conf</filename> ¤º¦³·Qn§ó°Êªº¶µ¥Ø¡A + §AÀ³¸Ó±N¨º¤@¦æªº¤º®e«þ¨©¨ì <filename>/etc/rc.conf</filename>¡A + µM«á¦Aק復¡C</para> + + <para>¨Ò¦p FreeBSD 3.1 ¤Î¥H«áªºª©¥»¤º¡A¦³¤@Ó DNS ¦øªA¾¹ named¡A + ¦Ó§A·Qn±Ò°Ê¥¦¡C§A©Ò»Ýn§@ªº¨Æ´N¬O¡G</para> + <screen>&prompt.root; <userinput>echo named_enable="YES" >> /etc/rc.conf</userinput></screen> + + <para>·Qn¦b FreeBSD 3.1 ¤Î¥H«áªºª©¥»¤¤¡A±Ò°Ê¥»¦aºÝªA°Èªº¸Ü¡A±N + shell script ¸m©ó <filename>/usr/local/etc/rc.d</filename> ¥Ø¿ý + ¤U¡C³o¨Ç shell script À³¸Ó³]©w¦¨¥i°õ¦æ¡A¨Ã¥BÀɦW¥H .sh µ²§ô¡C + ¦b FreeBSD 3.0 ¤Î§ó¦ªºª©¥»¤¤¡A§AÀ³¸Óª½±µ½s¿è + <filename>/etc/rc.local</filename> ÀÉ¡C</para> + + <para><filename>/etc/rc.serial</filename>¥Î¨Óªì©l¤Æ§Ç¦C°ð + ¡]¹³¬OÂê©w°ðªº¯S©Êµ¥¡^¡C</para> + + <para><filename>/etc/rc.i386</filename> ¬O Intel ±M¥Î³]©w¡A + ¹³¬O iBCS2 ¼ÒÀÀ©Î¬O PC ¨t²Î¥D±±¥x³]©w¡C</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="adding-users"> + <para>¸Ó¦p¦ó²³æ¦a·s¼W±b¸¹¡H</para> + </question> + + <answer> + <para>¨Ï¥Î &man.adduser.8; «ü¥O¡C¦pªG»Ýn§ó½ÆÂøªº¨Ï¥Î¤è¦¡¡A + ½Ð¥Î &man.pw.8; ³oÓ«ü¥O¡C</para> + + <para>n¦A¦¸²¾°£¨Ï¥ÎªÌ¡A¨Ï¥Î &man.rmuser.8; «ü¥O¡CÁÙ¦³¡A + &man.pw.8; ¤]¥i¥H¨Ï¥Î¡C</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="root-not-found-cron-errors"> + <para>¦b§ï§¹ crontab Àɮ׫á¡A¬°¤°»ò¦Ñ¬O¦¬¨ì³o¼Ëªº°T®§¡G + <errorname>root: not found</errorname>¡H</para> + </question> + + <answer> + <para>³q±`³£¬O¦]¬°½s¿è¤F¨t²Îªº crontab + (<filename>/etc/crontab</filename>) µM«á´N¥Î &man.crontab.1; + ¥h¦w¸Ë¥¦¡G</para> + + <screen>&prompt.root; <userinput>crontab /etc/crontab</userinput></screen> + + <para>³o¼Ë§@¬O¤£¹ïªº¡C¨t²Îªº crontab ©M &man.crontab.1; + ©Ò§ó·sªº¨Ï¥ÎªÌªº crontab ®æ¦¡¨Ã¤£¤@¼Ë (&man.crontab.5; + »¡©ú¤å¥ó°w¹ï®t²§³B¦³¸Ô²Óªº»¡©ú)¡C</para> + + <para>¦pªG§A¤w¸g¥Î³oºØ¤èªk¡AÃB¥~¦h¥Xªº crontab ¥u´N¬O + <filename>/etc/crontab</filename> ªº«þ¨©¡A¥u¬O®æ¦¡¬O¿ù»~ªº¡C + ¥i¥Î¥H¤Uªº©R¥O§R°£¡G</para> + + <screen>&prompt.root; <userinput>crontab -r</userinput></screen> + + <para>¤U¦¸§A½s¿è <filename>/etc/crontab</filename> Àɮתº®ÉÔ¡A + §A¤£¥Î§@¥ô¦ó°Ê§@¥h³qª¾ &man.cron.8; ¡A¥¦¦Û°Ê·|¥h°»´ú¬O§_¦³§ó°Ê¡C + </para> + + <para>¦pªG§A·Qn¨C¤Ñ¡B¨C¶g¡B©Î¬O¨C¤ë©T©w°õ¦æ¬Y¨Ç°Ê§@¤@¦¸¡A¤]³\¥[Ó + shell script ¦b <filename>/usr/local/etc/periodic</filename> + ¥Ø¿ý¤U·|§ó¦n¡A¨t²Îªº cron ·|©T©w°õ¦æ &man.periodic.8; ©R¥O¡A + ¥¦¥i±N§Aªºµ{¦¡©M¨ä¥¦ªº¨t²Î¶g´Á©Ê¤u§@¤@°_°õ¦æ¡C</para> + + <para>³oÓ¿ù»~ªº¯u¥¿ì¦]¡A¬O¦]¬°¨t²Îªº crontab ¦³¤@ÓÃB¥~ªºÄæ¦ì¡A + »¡©ú¸Ó©R¥On¥H¤°»ò¨Ï¥ÎªÌ¨¥÷°õ¦æ¡C¦b FreeBSD ªº¹w³]¨t²Î crontab + ¤¤¡A©Ò¦³ªº¶µ¥Ø³£¬O <username>root</username>¡C ·í³oÓ crontab + ³Q·í§@¬O <username>root</username> ªº¨Ï¥ÎªÌ crontab (¥¦©M¨t²Îªº + crontab ¬O <emphasis>¤£</emphasis> ¤@¼Ëªº)¡A&man.cron.8; ·|¥H¬° + <literal>root</literal> ¦r¦ê¬O±ý°õ¦æªº©R¥Oªº²Ä¤@Ó¦r¡A¦ý¬O¹ê»Ú¤W + ¨Ã¨S¦³³o¼Ëªº©R¥O¦s¦b¡C</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="su-wheel-group"> + <para>¬°¤°»ò§Ú·Qn¥Î su ¦¨¬° <username>root</username> ®É¡A·|±o¨ì + <errorname>you are not in the correct group to su root</errorname> + ªº¿ù»~°T®§¡H</para> + </question> + + <answer> + <para>³o¬O¤@Ó¦w¥þ¯S©Ê¡C·Qn§Q¥Î su ¦¨¬° <username>root</username> + (©Î¨ä¥¦¦³ superuser Åvªº±b¸¹)¡A§A¤@©wn¦b + <groupname>wheel</groupname> ¸s²Õ¤º¡C¦pªG¨S¦³³oÓ¯S©Êªº¸Ü¡A + ¥ô¦ó¤H¥un¦b¨t²Î¸Ì¦³±b¸¹¡A¨Ã¥B«ê¥©ª¾¹D <username>root</username> + ªº±K½X¡A´N¥i¥H¨ú±o superuser µ¥¯ÅªºÅv¥H¦s¨ú¨t²Î¡C¦³¤F³oÓ¯S©Ê¡A + ³o¼Ëªº±¡ªp´N¤£·|µo¥Í¡F¦pªG¨Ï¥ÎªÌ¤£¦b <groupname>wheel</groupname> + ¸s²Õ¤ºªº¸Ü¡A&man.su.1; ·|Åý¥L̳s¸ÕµÛÁä¤J±K½Xªº¾÷·|³£¨S¦³¡C</para> + + <para>nÅý¬Y¤H¥i¥H§Q¥Î su ¦¨¬° <username>root</username> ªº¸Ü¡A + ¥un§â¥LÌ©ñ¤J <groupname>wheel</groupname> ¸s²Õ¤º§Y¥i¡C</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="rcconf-readonly"> + <para>§Ú¦b <filename>rc.conf</filename> ÁÙ¬O¬YÓ°_°ÊÀɮ׸̥ǤF¿ù»~¡A + ¦]¬°Àɮרt²ÎÅܦ¨°ßŪªº¡A§ÚµLªk¥h½s¿è¥¦¡C§Ú¸Ó«ç»ò¿ì¡H</para> + </question> + + <answer> + <para>·í¹q¸£°Ý§A shell §¹¾ã¸ô®|¦W®É¡A¥un«ö <literal>ENTER + </literal>¡AµM«á°õ¦æ <command>mount /</command> ¥HŪ¼g¼Ò¦¡ + «·s±¾¸ü®ÚÀɮרt²Î¡C§A¤]³\»Ýn°õ¦æ <command>mount -a -t ufs + </command>¡A±N§AºD¥Îªº¤å¦r½s¿è¾¹©Ò¦bªºÀɮרt²Î±¾¸ü¤W¨Ó¡C¦pªG + §AºD¥Îªº¤å¦r½s¿è¾¹¦bºô¸ôÀɮרt²Î¤Wªº¸Ü¡A§A¥²¶·¥ý¤â°Ê±Nºô¸ô³]©w + °_¨Ó¡A¥H«K±Nºô¸ôÀɮרt²Î±¾¸ü¤W¨Ó¡A©Î¬O¨Ï¥Î¥»¦aºÝÀɮרt²Î¤Wªº + ½s¿è¾¹¡A¨Ò¦p &man.ed.1;¡C</para> + + <para>¦pªG§A·Qn¨Ï¥Î¹³ &man.vi.1; ©Î¬O &man.emacs.1; µ¥ªº¥þ¿Ã¹õ + ¤å¦r½s¿è¾¹ªº¸Ü¡A§A¤]»Ýn°õ¦æ + <command>export TERM=cons25 </command>¡A¥H«KÅý³o¨Ç½s¿è¾¹¯à°÷±q + &man.termcap.5; ¸ê®Æ®w¸ÌŪ¨ú¥¿½Tªº¸ê®Æ¡C</para> + + <para>·í§A¤w¸g§¹¦¨¤F³o¨Ç¨BÆJ«á¡A§A¥i¥H·Ó§A¥±`קï¤åªk¿ù»~ªº¤è¦¡ + ¥h½s¿è <filename>/etc/rc.conf</filename> ÀɮסC¦b®Ö¤ß (kernel) + ±Ò°Ê®É©ÒÅã¥Üªº¿ù»~°T®§¡A¯à°÷§i¶D§AÀɮפ¤þ¤@¦æ¦³¿ù»~¡C</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="printer-setup"> + <para>¬°¤°»ò§Ú¨S¿ìªk³]©w§Úªº¦Lªí¾÷¡H</para> + </question> + + <answer> + <para>½Ð°Ñ¦Ò¤@¤U Handbook ¤¤¡A¦³Ãö¦C¦Lªº³¡¥÷¡C¥¦À³¸Ó¯à°÷¸Ñ¨M + §A¤j³¡¥÷ªº°ÝÃD¡C½Ð°Ñ¦Ò <ulink url="../handbook/printing.html"> + Handbook ¤¤ªº¦C¦L³¡¥÷</ulink>¡C</para> + + <para>¦³¨Ç¦Lªí¾÷»Ýn¥D¾÷¤ä´©ªºÅX°Êµ{¦¡ (host-based driver) ¤~¯à + °õ¦æ¥ô¦ó¦C¦L¥\¯à¡CFreeBSD ¥»¨¨Ã¤£¤ä´©³o¨Ç©Ò¿×ªº + <quote>WinPrinters</quote>¡C ¦pªG§Aªº¦Lªí¾÷µLªk¦b DOS ©Î + Windows NT 4.0 ¤U°õ¦æ¡A¨º¥¦¤j·§´N¬O¤@¥x WinPrinter¡C§A°ß¤@¯à¨Ï¥Î + ³o¼Ëªº¦Lªí¾÷ªº§Æ±æ¡A´N¬O¸Õ¸Õ <filename role="package"> + print/pnm2ppa</filename> ¤ä¤£¤ä´©¥¦¤F¡C</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="keyboard-mappings"> + <para>§Ún«ç»ò¼Ë×¥¿§Úªº¨t²Î©Ò¨Ï¥ÎªºÁä½L¹ï¬M (keyboard mapping)¡H + </para> + </question> + + <answer> + <para>½Ð°Ñ¦Ò Handbook ¤¤ªº <ulink + url="../handbook/using-localization.html">using localization + </ulink> ³¹¸`¡A¤×¨ä¬O <ulink + url="../handbook/using-localization.html#SETTING-CONSOLE">console + setup</ulink> ³¹¸`¡C</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="pnp-resources"> + <para>¬°¤°»ò§Ú¦b¨t²Î±Ò°Ê®É¡A±o¨ì <errorname>unknown: <PNP0303> + can't assign resources</errorname> ªº°T®§¡H</para> + </question> + + <answer> + <para>¥H¤U¬O±q &os.current; ³q«H½×¾Âªº¤@½g¤å³¹¤¤¸`¿ý¥X¨Óªº¡C</para> + + <blockquote> + <attribution>&a.wollman;, 2001 ¦~¥|¤ë 24 ¤é</attribution> + + <para><quote>µLªk«ü¬£¸ê·½ (can't assign resources)</quote> °T®§ªí¥Ü + ¨º¨Ç¸Ë¸m¬O¶Ç²Îªº ISA ¸Ë¸m¡A¦Ó®Ö¤ß¤¤¤w¸g½s¤J¤£»{±o PNP ªºÅX°Êµ{ + ¦¡¡C³o¨Ç¸Ë¸m¥]¬AÁä½L±±¨î¾¹¡A¥iµ{¦¡¤Æ§ÃÂ_±±¨î´¹¤ù¡AÁÙ¦³´XÓ¼Ð·Ç + ³]³Æ¡C¸ê·½µLªk«ü¬£µ¹³o¨Ç¸Ë¸m¡A¬O¦]¬°¦¤w¦³ÅX°Êµ{¦¡¨Ï¥Î¨º¨Ç¦ì§} + ¤F¡C</para> + </blockquote> + </answer> + </qandaentry> + + <qandaentry> + <question id="user-quotas"> + <para>¬°¤°»ò user quotas µLªk¥¿±`¹B§@¡H</para> + </question> + + <answer> + + <orderedlist> + <listitem> + <para>¥i¯à§A kernel ³]©w¥¼¥[¤J quotas ¤ä´©(¹w³]¬OµL)¡C¦pªG¬O³o¼Ë¤lªº¸Ü¡A + ¨º»ò½Ð§â¤U±³o¦æ¥[¨ì kernel ³]©wÀɤº¨Ã«·s½sĶ¡B¦w¸Ë¡G</para> + <programlisting>options QUOTA</programlisting> + + <para>²Ó¸`³¡¤À¡A½Ð°Ñ¾\ Handbook ¤ºªº <ulink url="&url.books.handbook;/quotas.html"> + quotas</ulink> ³¹¸`¡C</para> + </listitem> + + <listitem> + <para>½Ð¤£nª½±µ¦b <filename>/</filename> ¥´¶} quotas </para> + </listitem> + + <listitem> + <para>§â quotas ÀÉ©ñ¦b¥¦¥²¶·±j¢¸m¤JªºÀɮרt²Î¤º¡AÁ|¨Ò¡G</para> + + <informaltable frame="none"> + <tgroup cols="2"> + <thead> + <row> + <entry>Àɮרt²Î</entry> + <entry>Quota ÀÉ</entry> + </row> + </thead> + + <tbody> + <row> + <entry><filename>/usr</filename></entry> + <entry><filename>/usr/admin/quotas</filename></entry> + </row> + + <row> + <entry><filename>/home</filename></entry> + <entry><filename>/home/admin/quotas</filename></entry> + </row> + + <row> + <entry>…</entry> + <entry>…</entry> + </row> + </tbody> + </tgroup> + </informaltable> + </listitem> + </orderedlist> + </answer> + </qandaentry> + + <qandaentry> + <question id="sysv-ipc"> + <para>FreeBSD ¤ä´© System V IPC ®æ¦¡«ü¥O¶°¡H</para> + </question> + + <answer> + <para>¬Oªº¡AFreeBSD ¤ä´© System V-style IPC¡C³o¥]¬A¦@¨É°O¾ÐÅé¡A + °T®§¸ò«H¸¹¡C§A»Ýn¦b§Aªº kernel ³]©wÀɤº¥[¤J¤U¦C´X¦æ¥H±Ò°Ê¥¦Ì¡C</para> + + <programlisting>options SYSVSHM # enable shared memory +options SYSVSEM # enable for semaphores +options SYSVMSG # enable for messaging</programlisting> + + <note> + <para>¦b FreeBSD 3.2 ¥H¤Î¤§«áªºª©¥»¡A³o¨Ç¿ï¶µ¤w¸g¬O + <emphasis>GENERIC</emphasis> ®Ö¤ßªº¤@³¡¥÷¡A¤]´N¬O»¡¥¦Ì¤w + ¸g½s¶i¤F§Aªº¨t²Î¤¤¡C</para> + </note> + + <para>«·s½sĶ¨Ã¦w¸Ë¡C</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="uucpmail"> + <para>§Ú¸Ó¦p¦óÅý sendmail ³z¹L UUCP ¨Ó»¼°e¶l¥ó¡H</para> + </question> + + <answer> + <para>¸òÀH FreeBSD ®M¸Ë¦Ó¨Óªº sendmail ³]©w¬O¾A¦X¨º¨Çª½±µ³s¤Wºô»Úºô¸ô + ªº¯¸¥x¡C·Q³z¹L UUCP ¥æ´«¶l¥óªº¯¸¥x¥²¶·¥t¥~¦w¸Ë sendmail ªº³]©wÀɮסC + </para> + + <para>¤â°Êקï <filename>/etc/sendmail.cf</filename> ¬Oµ´¹ï¥²nªº¡C + ²Ä 8 ª©ªº sendmail ´£¨Ñ¤@Ó¥þ·sªº¤J¤f¥H³z¹L¤@¨Ç¹³ &man.m4.1; + ªº³B²z´N¯à²£¥Í³]©wÀÉ¡A³o¨Æ¹ê¤W¬O¤@Ó°ª¼h·§©Àµ¥¯Åªº§Þ¥©©Ê³]©w¡C + §AÀ³¸Ó¥i¥H¦b <filename>/usr/src/usr.sbin/sendmail/cf</filename> + ¥H¤U¸Ì¨Ï¥Î¥¦¡G</para> + + <para>°²¦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</para> + + <screen>&prompt.root; <userinput>cd /cdrom/src</userinput> +&prompt.root; <userinput>cat scontrib.?? | tar xzf - -C /usr/src contrib/sendmail</userinput></screen> + + <para>§OÅå·W¡A³o¥u¦³¼Æ¤Q¸UӦ줸²Õªº¤j¤p¡C¦b <filename>cf</filename> + ¥Ø¿ý¸Ìªº <filename>README</filename> ¥i¥H´£¨Ñ¤@Ó m4 ³]©wªkªº°ò + ¥»¤¶²Ð¡C</para> + + <para>¥H UUCP »¼°e¨Ó»¡¡A«Øij§A³Ì¦n¨Ï¥Î <literal>mailertable</literal> + ¯SÂI¡C«Øºc¤@Ó¸ê®Æ®wÅý sendmail ¥i¥H¨Ï¥Î¥¦¦Û¤vªº¸ô®|¨Mµ¦¡C</para> + + <para>º¥ý¡A§A¥²¶·«Ø¥ß¦Û¤vªº <filename>.mc</filename> ÀÉ¡C + <filename>/usr/src/usr.sbin/sendmail/cf/cf</filename> ¥Ø¿ý¬O³o¨Ç + Àɮתº®a¡C¬d¬Ý¤@¤U¡A¤w¸g¦³¦n´XÓ½d¨ÒÀÉ¡A°²³]§A¤w¸g©R¦W¦Û¤vªºÀÉ¥s + <filename>foo.mc</filename>¡A§An°µªº¥u¬O§â¥¦Âà´«¦¨¤@Ó¦³®Äªº + <filename>sendmail.cf</filename>¡G</para> + + <screen>&prompt.root; <userinput>cd /usr/src/usr.sbin/sendmail/cf/cf</userinput> +&prompt.root; <userinput>make foo.cf</userinput> +&prompt.root; <userinput>cp foo.cf /etc/mail/sendmail.cf</userinput></screen> + + <para>¤@Ө嫬ªº <filename>.mc</filename> Àɬݰ_¨Ó¥i¯à¹³³o¼Ë¡G</para> + + <programlisting>VERSIONID(`<replaceable>Your version number</replaceable>') +OSTYPE(bsd4.4) + +FEATURE(accept_unresolvable_domains) +FEATURE(nocanonify) +FEATURE(mailertable, `hash -o /etc/mail/mailertable') + +define(`UUCP_RELAY', <replaceable>your.uucp.relay</replaceable>) +define(`UUCP_MAX_SIZE', 200000) +define(`confDONT_PROBE_INTERFACES') + +MAILER(local) +MAILER(smtp) +MAILER(uucp) + +Cw <replaceable>your.alias.host.name</replaceable> +Cw <replaceable>youruucpnodename.UUCP</replaceable></programlisting> + + <para><literal>accept_unresolvable_domains</literal>¡A + <literal>nocanonify</literal>¡A ©M + <literal>confDONT_PROBE_INTERFACES</literal> ¯S©Ê±NÁקK¥ô¦ó¦b + »¼°e¶l¥ó®É·|¥Î¨ì DNS ªº¾÷·|¡C<literal>UUCP_RELAY</literal> + ¶µ¥Øªº¥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</para> + + <para>§A¤w¸g°µ¨ì³o¸Ì¤F¡A§AÁÙ»Ýn³oÓ¥s + <filename>/etc/mail/mailertable</filename>¡C¦pªG§A¥u¦³¤@ӥΠ+ ¨Ó¶Ç»¼©Ò¦³¶l¥óªº¹ï¥~³q¹Dªº¸Ü¡A¥H¤UªºÀÉ®×´N¨¬°÷¤F¡G</para> + + <programlisting># +# makemap hash /etc/mail/mailertable.db < /etc/mail/mailertable + uucp-dom:<replaceable>your.uucp.relay</replaceable></programlisting> + + <para>¥t¤@Ó§ó½ÆÂøªº¨Ò¤l¬Ý°_¨Ó¹³³o¼Ë¡G</para> + + <programlisting># +# makemap hash /etc/mail/mailertable.db < /etc/mail/mailertable +# +horus.interface-business.de uucp-dom:horus +interface-business.de uucp-dom:if-bus +interface-business.de uucp-dom:if-bus +heep.sax.de smtp8:%1 +horus.UUCP uucp-dom:horus +if-bus.UUCP uucp-dom:if-bus + uucp-dom:</programlisting> + + + <para>¦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 <quote>ÁYµu</quote>»¼°eªº¸ô®|¡C¤U¤@¦æ³B²z¨ì + ¥»¦a¤A¤Óºô¸ôºô°ìªº«H¥óÅý¥¦¥i¥H¨Ï¥Î SMTP ¨Ó»¼°e¡C³Ì«á¡AUUCP ¾F©~´£¨ì + .UUCP µêÀÀºô°ìªº°O¸ü¡A¤¹³\¤@Ó <literal><replaceable>uucp-neighbor + </replaceable>!<replaceable>recipient</replaceable></literal> ±À½ + ¤º©w³W«h¡C³Ì«á¤@¦æ«h¥H¤@Ó³æ¿Wªº¥yÂI°µµ²§ô¡A¥H UUCP »¼°e¨ì´£¨Ñ·í + §A¥þ¥@¬É©Ê¶l¥ó¹hªùªºUUCP ¾F©~¡C©Ò¦³¦b <literal>uucp-dom:</literal> + ÃöÁä¦r¸Ìªº¸`ÂI¦WºÙ¥²¶·³£¬O¦³®Äªº UUCP ¾F©~¡A§A¥i¥H¥Î + <literal>uuname</literal> ©R¥O¥h½T»{¡C + </para> + + <para>´£¿ô§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</para> + + <para>³Ì«á´£¥Ü¡G¦pªG§A¤£½T©w¬Y¨Ç¯S©wªº«H¥ó¸ô®|¥i¥Î¡A°O±o§â + <option>-bt</option> ¿ï¶µ¥[¨ì sendmail¡C³o·|±N sendmail ±Ò°Ê¦b + <emphasis>address test mode</emphasis>¡F¥un«ö¤U + <literal>0</literal>¡A±µµÛ¿é¤J§A§Æ±æ´ú¸Õªº«H¥ó¸ô®|¦ì§}¡C + ³Ì«á¤@¦æ§i¶D§A¨Ï¥Î¤º³¡ªº«H¥ó¥N²zµ{¦¡¡A¥N²zµ{¦¡ªº·|³qª¾¥Øªº¥D¾÷¡A + ¥H¤Î(¥i¯àÂà´«ªº)¦ì§}¡CnÂ÷¶}¦¹¼Ò¦¡½Ð«ö Control-D¡C</para> + + <screen>&prompt.user; <userinput>sendmail -bt</userinput> +ADDRESS TEST MODE (ruleset 3 NOT automatically invoked) +Enter <ruleset> <address> +<prompt>></prompt> <userinput>3,0 foo@example.com</userinput> +canonify input: foo @ example . com +.. +parse returns: $# uucp-dom $@ <replaceable>your.uucp.relay</replaceable> $: foo < @ example . com . > +<prompt>></prompt> <userinput>^D</userinput></screen> + </answer> + </qandaentry> + + <qandaentry> + <question id="ispmail"> + <para>·í§Ú¥Î¼·±µ³s¤Wºô¸ô®É¸Ó«ç»ò³]©w«H¥ó»¼°e¡H</para> + </question> + + <answer> + <para>¦pªG§A¤w¸g¦³¤@Ó©T©wªº IP ¼Æ¦r¡A§A¤£»Ýn½Õ¾ã¥ô¦ó¤º©wÈ¡C³]¦n + §An«ü©wªººô¸ô¦WºÙ¡A¨ä¥Lªº sendmail ³£·|À°§A°µ§¹¡C</para> + + <para>¦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 <hostid role="domainname">example.net</hostid>¡A§Aªº¨Ï¥ÎªÌ¦W + ºÙ¬O <username>user</username>¡C¥ç°²³]§AºÙ¦Û¤vªº¥D¾÷¦WºÙ¬O + <hostid role="fqdn">bsd.home</hostid> ¦Ó§Aªº ISP §i¶D§A¥i¥H¨Ï¥Î + <hostid role="fqdn">relay.example.net</hostid> ·í§@«H¥ó¦^ÂгB¡C + </para> + + <para>¬°¤F±q§Aªº«H½c±µ¦¬«H¥ó¡A§A±N»Ýn¦w¸Ë¨ú«Hµ{¦¡¥H«K±q«H½c¨ú¦^«H¥ó¡C + <application>Fetchmail</application> ¬O¤@Ó¤£¿ùªº¿ï¾Ü¡A¦]¬°¥¦¤ä + ´©³\¦h¤£¦Pªº³q°T¨ó©w¡A³q±`§Aªº ISP ·|´£¨Ñ POP3¡C¦pªG§A¿ï¾Ü¨Ï¥Î + user-ppp¡A§A¥i¥H¦b³s½u¨ìºô¸ô¦¨¥\«á¦Û°Ê§ì¨ú§Aªº«H¥ó¡A¥un¦b + <filename>/etc/ppp/ppp.linkup</filename>¸Ì±³]©w¥H¤U³o¶µ¡G</para> + + <programlisting>MYADDR: + !bg su user -c fetchmail</programlisting> + + <para>°²¨Ï§A¥¿¨Ï¥Î <application>sendmail</application> (¦p¤U©Ò¥Ü) + ¶Ç°e«H¥ó¨ì«D¥»¦a±b¸¹¡A¸m¤J¥H¤U©R¥O¡G</para> + + <programlisting> !bg su user -c "sendmail -q"</programlisting> + + <para>¦b¤W±¨º¶µ©R¥O¤§«á¡C³o·|±j¢ <application>sendmail</application> + ¦b³s±µ¤Wºô¸ô«á°¨¤W¶}©l³B²z mailqueue¡C</para> + + <para>§Ú°²³]§A¦b <hostid role="fqdn">bsd.home</hostid> ¾÷¾¹¤W¦³¤@Ó + <username>user</username> ªº±b¸¹¡C¦b <hostid + role="fqdn">bsd.home</hostid> ¾÷¾¹¤W <username>user</username> + ªº®a¥Ø¿ý¸Ì«Ø¥ß¤@Ó <filename>.fetchmailrc</filename> ªºÀɮסG</para> + + <programlisting>poll example.net protocol pop3 fetchall pass MySecret</programlisting> + + <para>µL¶·Âب¥¡A³oÓÀÉ°£¤F <username>user</username> ¥~¤£À³¸Ó³Q¥ô + ¦ó¤HŪ¨ú¡A¦]¬°¥¦¥]§t <literal>MySecret</literal> ³oÓ±K½X¡C</para> + + <para>¬°¤F¦b±H«H®É¦³¥¿½Tªº©ïÀY <literal>from:</literal>¡A§A¥²¶·§i¶D + <application>sendmail</application> ¨Ï¥Î + <literal>user@example.net</literal> ¦Ó«D + <literal>user@bsd.home</literal>¡C§A¥i¯à·|§Æ±æ§i¶D + <application>sendmail</application> ±q + <hostid role="fqdn">relay.example.net</hostid> °e¥X©Ò¦³«H¥ó¡A + ¥[§Ö«H¥ó¶Ç°e¡C</para> + + <para>¥H¤Uªº <filename>.mc</filename> ÀÉÀ³¯àº¡¨¬§Aªºn¨D¡G</para> + + <programlisting>VERSIONID(`bsd.home.mc version 1.0') +OSTYPE(bsd4.4)dnl +FEATURE(nouucp)dnl +MAILER(local)dnl +MAILER(smtp)dnl +Cwlocalhost +Cwbsd.home +MASQUERADE_AS(`example.net')dnl +FEATURE(allmasquerade)dnl +FEATURE(masquerade_envelope)dnl +FEATURE(nocanonify)dnl +FEATURE(nodns)dnl +define(`SMART_HOST', `relay.example.net') +Dmbsd.home +define(`confDOMAIN_NAME',`bsd.home')dnl +define(`confDELIVERY_MODE',`deferred')dnl</programlisting> + + <para>¦p¦óÂà´«³oÓ <filename>.mc</filename> Àɮרì + <filename>sendmail.cf</filename> Àɪº¸Ô²Ó²Ó¸`¡A½Ð°Ñ¦Ò¤W¤@¸`¡C + ¥t¥~¡A¦b§ó·s <filename>sendmail.cf</filename> ¥H«á¤£n§Ñ°O«·s±Ò°Ê + <application>sendmail</application>¡C</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="sendmail-alternative"> + <para>°£¤F Sendmail ¥~¡AÁÙ¦³þ¨Ç¶l¥ó¦øªA¾¹¥i¥H¨Ï¥Î©O¡H</para> + </question> + + <answer> + <para><ulink url="http://www.sendmail.org/">Sendmail</ulink> + ¬O FreeBSD ¹w³]¨Ï¥Îªº¶l¥ó¦øªA¾¹¡A¦ý¬O§AÁÙ¬O¥i¥H«Ü®e©ö¦a¥H¨ä¥¦ + ¶l¥ó¦øªA¾¹ (¨Ò¦p¡A±q port ¦w¸Ëªº¶l¥ó¦øªA¾¹) ¨ú¥N¤§¡C</para> + + <para>port ¸Ì¦³«Ü¦h¥i¨Ñ¿ï¾Üªº¶l¥ó¦øªA¾¹¡A¹³ + <filename role="package">mail/exim</filename>¡B + <filename role="package">mail/postfix</filename>¡B + <filename role="package">mail/qmail</filename>¡B + <filename role="package">mail/zmailer</filename> µ¥¡A + ´N¬O´XӫܨüÅwªïªº¿ï¾Ü¡C</para> + + <para>¦h¼Ë¿ï¾Ü¬O¦n¨Æ¡A¦Ó¥B¤j®a¦³³\¦h¶l¥ó¦øªA¾¹¥i¥H¨Ï¥Î¤]³Q»{¬°¬O + ¦n¨Æ¡F©Ò¥H½ÐÁקK¦b³q«H½×¾Â¸Ì°Ý¹³ <quote>Sendmail ¦³¤ñ Qmail + ¦n¶Ü¡H</quote> ³o¼Ëªº°ÝÃD¡C¦pªG§A¯uªº«Ü·Q°Ýªº¸Ü¡A½Ð¥ý¨ì³q«H½×¾Â + archive ¸Ì§ä¤@¤U¡C¨C¤@Ó¶l¥ó¦øªA¾¹ªºÀuÂI»P¯ÊÂI¡A¥H«e¤j·§´N¤w¸g + °Q½×¦n´X¦¸¤F¡C</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="forgot-root-pw"> + <para>§Ú§Ñ¤F <username>root</username> ±K½X¤F¡I«ç»ò¿ì¡H</para> + </question> + + <answer> + <para>¤£nÅå·W¡I¥un«·s±Ò°Ê¨t²Î¡A¦b¬Ý¨ì Boot: ®É¿é¤J + <userinput>boot -s</userinput> §Y¥i¶i¤J³æ¨Ï¥ÎªÌ¼Ò¦¡ + (¦b 3.2-RELEASE ¤§«eªºª©¥»½Ð§ï¥Î <userinput>-s</userinput>)¡C + ¦b°Ýn¨Ï¥ÎþÓ shell ®É¡A«ö¤U ENTER¡C§A·|¬Ý¨ì¤@Ó &prompt.root; + ªº´£¥Ü¸¹¡A¿é¤J <command>mount -u /</command> ¥H«·s±¾¤W(mount) + §Aªº®ÚÀɮרt²Î¥i¨ÑŪ/¼g¡C°õ¦æ <command>passwd root</command> + ¥H§ó´« <username>root</username> ±K½X¡AµM«á°õ¦æ &man.exit.1; + Ä~Äò±Ò°Êµ{§Ç¡C</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="CAD-reboot"> + <para>§Ú¸Ó«ç»òÅý Control-Alt-Delete ¤£·|«·s±Ò°Ê¨t²Î¡H</para> + </question> + + <answer> + <para>¦pªG§A¬O¨Ï¥Î FreeBSD 2.2.7-RELEASE ©Î¤§«áª©¥»ªº + syscons(¨t²Î¤º©wªº¥D±±¥xÅX°Êµ{¦¡)¡A§â¤U¦C³o¦æ©ñ¨ì kernel ³]©wÀɤº¡A + µM«á«°µ¤@Ó·sªº®Ö¤ß¡G</para> + + <programlisting>options SC_DISABLE_REBOOT</programlisting> + + <para>Y¬O¨Ï¥Î FreeBSD 2.2.5-RELEASE ©Î¤§«áª©¥»ªº PCVT ¥D±±¥xÅX°Ê + µ{¦¡¡A«h¥H¤U¦C¿ï¶µ¥N´À¡G</para> + + <programlisting>options PCVT_CTRL_ALT_DEL</programlisting> + + <para>¨ä¥L§ó¦´Áªº FreeBSD ª©¥»¡A½Ðקï§A¥¿¦b¨Ï¥Îªº¥D±±¥xÁä½L¹ïÀ³¡A + ¨Ã±N©Ò¦³ <literal>boot</literal> ÃöÁä¦r¥H <literal>nop</literal> + ¨ú¥N¡C¤º©wªºÁä½L¹ïÀ³¬O¦b + <filename>/usr/share/syscons/keymaps/us.iso.kbd</filename>¡C + §A¥i¯à»Ýn©ú¥Õªº§h©J <filename>/etc/rc.conf</filename> ¥hŪ¨ú + ³oÓÁä½L¹ïÀ³¥H½T«O§ó°Ê¥Í®Ä¡C·íµM¦pªG§A¥¿¦b¥Î¾A¦X§A°êÄyªºÁä½L¹ïÀ³¡A + §AÀ³¸Ó½s¿è¨º¤@Ó¡C</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="dos-to-unix-txt"> + <para>§Ú¸Ó«ç»ò§â DOS ¤å¦rÀɮ׫·s®æ¦¡¤Æ¦¨ UNIX ªº¡H</para> + </question> + + <answer> + <para>¥un¨Ï¥Î³oÓ perl ©R¥O¡G</para> + + <screen>&prompt.user; <userinput>perl -i.bak -npe 's/\r\n/\n/g' file ...</userinput></screen> + + <para>file ´N¬On³B²zªºÀɮסC³oÓקï¬O¦b¤º³¡§¹¦¨¡Aì©lªºÀÉ®×·|Àx¦s¦¨ + °ÆÀɦW¬° .bak ªºÀɮסC</para> + + <para>©ÎªÌ§A¥i¥H¨Ï¥Î &man.tr.1; ³oÓ©R¥O¡G</para> + + <screen>&prompt.user; <userinput>tr -d '\r' < <replaceable>dos-text-file</replaceable> > <replaceable>unix-file</replaceable></userinput></screen> + + <para><replaceable>dos-text-file</replaceable> ¬O¥]§t DOS ¤å¦rªº + ÀɮסA¦Ó <replaceable>unix-text-file</replaceable> «h¬O¥]§tÂà´« + ªº¿é¥Xµ²ªG¡C³o¤ñ¨Ï¥Î perl ÁÙn§Ö¤W¤@ÂIÂI¡C</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="kill-by-name"> + <para>§Ú¸Ó«ç»ò¥Î¦WºÙ¬å±¼ process¡H</para> + </question><answer> + + <para>¨Ï¥Î &man.killall.1; ¡C</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="root-acl"> + <para>¬°¦ó¦b su ¤@ª½»¡§Ú¤£¦b <username>root</username> ªº ACL ¸Ì¡H + </para> + </question> + + <answer> + <para>³oÓ¿ù»~¬O¦]¬° Kerberos ¤À´²»{ÃÒ¨t²Î¡C³oÓ°ÝÃD¨Ã¤£¬O«ÜÄY« + ¦ý¬O¥O¤H¹½·Ð¡C§A¥i¥H¥Î -K ¿ï¶µ¥h°õ¦æ su¡A©Î¬O¹³¤UÓ°ÝÃD©Ò´yzªº + ²¾°£ Kerberos¡C</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="uninstall-kerberos"> + <para>§Ú¸Ó«ç»ò²¾°£ Kerberos¡H</para> + </question> + + <answer> + <para>n±q¨t²Î¸Ì²¾°£ Kerberos¡A«¸Ë§A¥¿¦b°õ¦æªº release ª©¥»ªº + bin distribution¡C¦pªG§A¦³ CDROM¡A§A¥i¥H mount cd(°²³]¦b /cdrom) + ¨Ã°õ¦æ¡G</para> + + <screen>&prompt.root; <userinput>cd /cdrom/bin</userinput> +&prompt.root; <userinput>./install.sh</userinput></screen> + + <para>©ÎªÌ§A¤]¥i¥H±N <filename>/etc/make.conf</filename> ¸Ìªº + "MAKE_KERBEROS" ¿ï¶µ¥þ³£®³±¼¡AµM«á¦A build world.</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="add-pty"> + <para>§Ú¸Ó«ç»ò¼W¥[¨t²ÎªºµêÀÀ²×ºÝ¾÷¡H</para> + </question> + + <answer> + <para>¦pªG§A¦³³\¦h telnet¡Assh¡AX ©Î¬O screen ¨Ï¥ÎªÌ¡A§A©Î³\·|¥Î§¹ + µêÀÀ²×ºÝ¾÷¡A³o¯à±Ð§A«ç»ò¥[§ó¦h¡G</para> + + <procedure> + <step> + <para>«Ø¥ß¨Ã¦w¸Ë¤@Ó·sªº kernel ¨Ã¥B§â³o¤@¦æ</para> + + <programlisting>pseudo-device pty 256</programlisting> + + <para>¥[¤J¨ì³]©wÀɸ̡C</para> + </step> + + <step> + <para>°õ¦æ³oÓ©R¥O¡G</para> + + <screen>&prompt.root; <userinput>cd /dev</userinput> +&prompt.root; <userinput>sh MAKEDEV pty{1,2,3,4,5,6,7}</userinput></screen> + + <para>·|³y¥X 256 ÓµêÀÀ²×ºÝ¾÷ªº¸Ë¸m¸`ÂI¡C</para> + + </step> + + <step> + <para>½s¿è <filename>/etc/ttys</filename> ¨Ã¥[¤J²Å¦X 256 + Ӳ׺ݾ÷ªº¦æ¼Æ¡C¥¦ÌÀ³¸Ó²Å¦X¤w¸g¦s¦b³æ¶µªº®æ¦¡¡AÁ|¨Ò¨Ó»¡¡A + ¥¦Ì¬Ý°_¨Ó¹³¡G</para> + + <programlisting>ttyqc none network</programlisting> + + <para>¦r¥À³]pªº¶¶§Ç¬O + <literal>tty[pqrsPQRS][0-9a-v]</literal>¡A¨Ï¥Î¥¿³Wªí¥Ü¦¡¡C + </para> + </step> + + <step> + <para>¥Î·sªº kernel «·s±Ò°Ê¹q¸£´N¥i¥H¤F¡C</para> + </step> + </procedure> + </answer> + </qandaentry> + + <qandaentry> + <question id="create-snd0"> + <para>/dev/snd0 ³oӸ˸m°µ¤£¥X¨Ó¡I</para> + </question> + + <answer> + <para>¨Ã¨S <devicename>snd</devicename> ³oӸ˸mªº¦s¦b¡C³oÓ¦W¦r + ¬O¥Î¨Ó·í§@¦UÓ²Õ¦¨ FreeBSD ÁnµÅX°Êµ{¦¡²Õ¡A½Ñ¦p + <devicename>mixer</devicename>¡A + <devicename>sequencer</devicename>¡A¥H¤Î + <devicename>dsp</devicename> ªºÂ²ºÙ¡C</para> + + <para>¥i¥H¥Î¥H¤Uªº©R¥O§@¥X³o¨Ç¸Ë¸m¡G</para> + + <screen>&prompt.root; <userinput>cd /dev</userinput> +&prompt.root; <userinput>sh MAKEDEV snd0</userinput></screen> + </answer> + </qandaentry> + + <qandaentry> + <question id="reread-rc"> + <para>¥i¥H¤£¥Î¶}¾÷¡A«·sŪ¨ú <filename>/etc/rc.conf</filename>¡B + ¦A¦¸±Ò°Ê <filename>/etc/rc</filename> ¶Ü?</para> + </question> + + <answer> + <para>¥ý¶i¤J³æ¤H¨Ï¥ÎªÌ¼Ò¦¡¡AµM«á¦A¦^¨ì¦h¨Ï¥ÎªÌ¼Ò¦¡¡C</para> + + <para>¦b¥D±±¥x°õ¦æ¡G</para> + + <screen>&prompt.root; <userinput>shutdown now</userinput> +(Note: without -r or -h) + +&prompt.root; <userinput>return</userinput> +&prompt.root; <userinput>exit</userinput></screen> + </answer> + </qandaentry> + + <qandaentry> + <question id="release-candidate"> + <para>§Ú·Qn§â§Úªº¨t²Îª@¯Å¨ì³Ì·sªº -STABLE¡A¦ý¬O±o¨ìªº¬O -RC ©Î + -PRERELEASE¡I«ç»ò¤F¡H</para> + </question> + + <answer> + <para>²³æ¦a»¡¡G¨º¥u¬O¦W¦r¦Ó¤w¡CRC ªº·N«ä¬O <quote>Release Candiate¡A + µo¦æԿ睊¥»</quote>¡A¥¦ªí¥Ü·sª©¥»§Önµo¦æ¤F¡C¦b FreeBSD ¤¤¡A + -PRERELEASE ³q±`¬Oµo¦æ«eªºµ{¦¡½Xáµ²ªº¥N¦Wµü¡C(¦³¨Çµo¦æª©¥»¤¤¡A + -BETA ¼ÐÅÒ¸ò -PRERELEASE ¬O¬Û¦P·N«äªº¡C)</para> + + <para>¸Ô²Ó¦a»¡¡GFreeBSD ±q¨âÓ¦a¤è¤À¤ä¥X¥¦ªºµo¦æª©¥»¡C¥Dª©¸¹¡B + ÂI¹s¡Brelease (¨Ò¦p 3.0-RELEASE ¤Î 4.0-RELEASE) ªº¡A¬O±qµo®i¹Lµ{ + ¶}©l®É¤À¤ä¥X¨Óªº¡A³q±`ºÙ¬° <link linkend="current">-CURRENT + </link>¡C¦³°Æª©¸¹ªºª©¥» (¨Ò¦p 3.1-RELEASE ©Î 4.2-RELEASE)¡A¬O + ¬¡ÅDªº <link linkend="stable">-STABLE</link> ¤À¤ä¤¤ªºµo¦æª©¥» + §Ö·Ó¡C±q 4.3-RELEASE ¶}©l¡A¨C¤@Óµo¦æª©¥»¦³¥¦¦Û¤vªº¤À¤ä¡A¥i¬° + °¾¦n·¥«×«O¦uªºµo®i³t«× (³q±`¥u·|§@¦w¥þ¤è±ªº§ó·s) ªº¤H©Ò¥Î¡C</para> + + <para>·Ç³Æn»s§@µo¦æª©¥»®É¡A¨ä©Ò¦bªº¤À¤ä·|¸g¹L¤@©wªºµ{§Ç¡C¦³¤@Ó¬O + µ{¦¡½Xáµ²¡C·íµ{¦¡½Xáµ²¶}©l®É¡A¤À¤ä¦WºÙ·|§ó¦W¡A¥H¤Ï¬M¥¦§Ön¦¨¬° + ¤@Óµo¦æª©¥»¤F¡CÁ|Ó¨Ò¤l¡A¦pªGì¨Óªº¤À¤ä¥s 4.5-STABLE¡A¥¦ªº¦W¦r + ·|Åܦ¨ 4.6-PRERELEASE ¥Hªí¥Üµ{¦¡½X¤wáµ²¡A¨Ã¥BÃB¥~ªºµo¦æ«e´ú¸Õ + ±Nn¶}©l¤F¡C¯äÂΧ󥿤´¥i¦^³ø¡A¥H¦¨¬°µo¦æª©¥»ªº¤@³¡¥÷¡C·íµ{¦¡½X + ¦³¤F¥i¦¨¬°µo¦æª©¥»ªºÂú§Î®É¡A¥¦ªº¦W¦r´N·|Åܦ¨ 4.6-RC¡A¥Hªí¥Üµo¦æ + ª©¥»§Ö¦n¤F¡C¶i¤J RC ¶¥¬q«á¡A¥u¦³§ä¨ìªº³Ì¦³¼vÅTªº¯äÂΤ~·|³Q×¥¿¡C + ·íµo¦æª©¥» (¥»¨Ò¤¤¬° 4.6-RELEASE) ²£¥Í«á¡Aµo¦æª©¥»·|¦³¦Û¤vªº¤À¤ä¡A + ì¤À¤ä·|³Q§ó¦W¬° 4.6-STABLE¡C</para> + + <para>·Qn±oª¾§ó¦h¦³Ãöª©¥»¸¹½X»P¦U CVS ¤À¤äªº¸ê°T¡A½Ð°Ñ¦Ò + <ulink url="../../articles/releng/article.html">Release + Engineering</ulink> ¤@¤å¡C</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="kernel-chflag-failure"> + <para>§Ú¸ÕµÛn¦w¸Ë¤@Ó·sªº®Ö¤ß¡A¦ý¬OµLªk chflags¡C§Ú¸Ó«ç»ò¸Ñ¨M¡H + </para> + </question> + + <answer> + <para>²³æ¦a»¡¡G§Aªº securelevel ¥i¯à¤j©ó¹s¡Cª½±µ«·s¶}¾÷¨ì + ³æ¤H¼Ò¦¡¡A¦A¦w¸Ë®Ö¤ß¡C</para> + + <para>¸Ô²Ó¦a»¡¡GFreeBSD ¦b securelevel ¤j©ó¹s±¡ªp¤U¡A¤£¤¹³\ + Åܧó¨t²ÎºX¼Ð (system flags)¡C§A¥i¥H¥Î³oÓ«ü¥OÀˬd§Aªº + securelevel¡G</para> + + <screen>&prompt.root; <userinput>sysctl kern.securelevel</userinput></screen> + + <para>§A¨S¦³¿ìªk°§C securelevel¡F§A¥²¶·±Ò°Ê¨t²Î¨ì³æ¤H¼Ò¦¡¥H + ¦w¸Ë®Ö¤ß¡A©Î¬Oקï <filename>/etc/rc.conf</filename> ¤ºªº + securelevel ¦A«·s¶}¾÷¡C½Ð°Ñ¦Ò &man.init.8; »¡©ú¤å¥ó¡A¥H¨ú±o + §ó¦h¦³Ãö securelevel ªº¸ê°T¡AÁÙ¦³ <filename>/etc/defaults/rc.conf + </filename> ©M &man.rc.conf.5; »¡©ú¤å¥ó¡A¥H¨ú±o§ó¦h¦³Ãö rc.conf + ªº¸ê°T¡C</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="kernel-securelevel-time"> + <para>¦b§Úªº¨t²Î¤W¡A§ÚµLªkÅܧó®É¶¡¶W¹L¤@¬í¥H¤Wªº½d³ò¡I + §Ú¸Ó«ç»ò¿ì¡H</para> + </question> + + <answer> + <para>²³æ¦aÁ¿¡G§A¨t²Îªº securelevel ¤]³\¤j©ó 1¡Cª½±µ«·s¶}¾÷¦Ü + ³æ¤H¼Ò¦¡¡AµM«á¦Aקï®É¶¡¡C</para> + + <para>¸Ô²Ó¦a»¡¡G¦b securelevel ¤j©ó 1 ªº±¡ªp¤U¡AFreeBSD ¤£¤¹³\®É¶¡ + Åܰʤj©ó¤@¬í¡C§A¥i¥H¥Î¥H¤Uªº©R¥O¨ÓÀˬd¥Ø«eªº securelevel¡G</para> + + <screen>&prompt.root; <userinput>sysctl kern.securelevel</userinput></screen> + + <para>§AµLªk°§C securelevel¡F§A¥²¶·±Ò°Ê¹q¸£¦Ü³æ¤H¼Ò¦¡¤U¥Hקï®É¶¡¡A + ©Î¬Oקï <filename>/etc/rc.conf</filename> ¦A«·s¶}¾÷¡C½Ð°Ñ¦Ò + &man.init.8; »¡©ú¤å¥ó¡A¥H¨ú±o§ó¦h¦³Ãö securelevel ªº¸ê°T¡AÁÙ¦³ + <filename>/etc/defaults/rc.conf</filename> ©M &man.rc.conf.5; + »¡©ú¤å¥ó¡A¥H¨ú±o§ó¦h¦³Ãö rc.conf ªº¸ê°T¡C</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="statd-mem-leak"> + <para>¬°¤°»ò <command>rpc.statd</command> ¥Î¤F 256 megabytes + ªº°O¾ÐÅé¡H</para> + </question> + + <answer> + <para>¤£¡A¨º¤£¬O memory leak¡A¦Ó¥B¥¦¤]¤£¬O¯uªº¥Î¤F 256 Mbyte + ªº°O¾ÐÅé¡C¥¦¥u¬O³ßÅw (·N«ä´N¬OÁ`·|³o¼Ë§@) ±N¤@ª¯²¼ªº°O¾ÐÅé + ¬MÁ¨쥦¦Û¤vªº¦ì§}ªÅ¶¡¡A¥H¤è«K§@¨Æ¡C´N§Þ³N¦Ó¨¥¡A³o¼Ë¨Ã¨S¦³ + ¤°»ò¤£¹ï¡F³o¼Ë¥u¬O·|Åý &man.top.1; ©M &man.ps.1; À~¤@¤j¸õ¦Ó¤w¡C + </para> + + <para>&man.rpc.statd.8; ·|±N¥¦ªºª¬ºAÀÉ®× (¦ì©ó <filename>/var + </filename>) ¬M®g¦Ü¥¦ªº¦ì§}ªÅ¶¡¸Ì¡F¬°¤F¨¾¤î»Ýnªº®ÉÔ¦A¼W¤j©Ò + ¾ÉPªº«·s¬M®g¡A¥¦¤@¦¸·|¨Ï¥Î¬Û·í¤jªº¤j¤p¡C±qµ{¦¡½X¨Ó¬Ýªº¸Ü´N + §ó©úÅã¤F¡A¥i¥H¬Ý¨ì &man.mmap.2; ªºªø«×°Ñ¼Æ¬° <literal>0x10000000 + </literal>¡A¥¦¬O IA32 ¬[ºc¤Wªº¤Q¤»¤À¤§¤@ªº©w§}ªÅ¶¡¡A¤]´N¬O + 256MB¡C</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="unsetting-schg"> + <para>¬°¤°»ò§Ú¨S¿ìªk¨ú®ø <literal>schg</literal> Àɮ׺X¼Ð¡H</para> + </question> + + <answer> + <para>§A¥¿¦b¤@Ó´£°ª¤F securelevel (¤]´N¬O¤j©ó 0) ªº¨t²Î¹B§@¡C + °§C securelevel ¦A¸Õ¸Õ¬Ý¡C½Ð°Ñ¦Ò <link linkend="securelevel"> + FAQ ¤¤¹ï securelevel ªº»¡©ú</link> ©M &man.init.8; »¡©ú¤å¥ó¡C + </para> + </answer> + </qandaentry> + + <qandaentry> + <question id="ssh-shosts"> + <para>¬°¤°»òªñ¨Óªº·sª© FreeBSD ¹w³]µLªk§Q¥Î <filename>.shosts + </filename> §¹¦¨ SSH »{ÃÒ¡H</para> + </question> + + <answer> + <para>¬°¤°»òªñ¨Ó·sª© FreeBSD <filename>.shosts</filename> »{ÃÒ¹w³] + ¬°¨ú®øªºì¦]¡A¬O¦]¬° &man.ssh.1; ¹w³]¤£¦w¸Ë¬° suid ¦¨ <username> + root</username>¡Cn <quote>×¥¿</quote> ³oÂI¡A§A¥i¥H§@¤U¦Cªº + ¥ô¦ó¤@¥ó¨Æ¡G</para> + + <itemizedlist> + <listitem> + <para>n¤@³Ò¥Ã¶h¸Ñ¨M¡A½Ð±N <filename>/etc/make.conf</filename> + ¸Ìªº <makevar>ENABLE_SUID_SSH</makevar> ³]¦¨ <literal>true + </literal>¡AµM«á¦A«·s build ssh (©Î¬O°õ¦æ <command>make + world</command>)¡C</para> + </listitem> + + <listitem> + <para>¥u§@¤@®Éªº×¥¿ªº¸Ü¡A¥i¥H <username>root</username> ¨¥÷ + °õ¦æ <command>chmod 4755 /usr/bin/ssh</command> ±N + <filename>/usr/bin/ssh</filename> ³]¦¨ <literal>4555 + </literal>¡CµM«á±N <makevar>ENABLE_SUID_SSH= true</makevar> + ¥[¤J <filename>/etc/make.conf</filename> ¸Ì¡A³o¼Ë¤U¦¸ + <command>make world</command> °õ¦æ´N·|¥Í®Ä¤F¡C</para> + </listitem> + </itemizedlist> + </answer> + </qandaentry> + + <qandaentry> + <question id="vnlru"> + <para>¤°»ò¬O <literal>vnlru</literal>?</para> + </question> + + <answer> + <para>·í¨t²Î¹F¨ì¤W <varname>kern.maxvnodes</varname> ®É¡A + <literal>vnlru</literal> ·|²M°£¨ÃÄÀ©ñ vnode¡C³oÓ®Ö¤ß + °õ¦æºü¤j³¡¥÷ªº®É¶¡³£¨S¨Æ§@¡A¥u¦³·í§A¦³«Ü¤jªº°O¾ÐÅé¡A¦Ó¥B + ¥¿¦b¦s¨ú¤W¸UÓ¤pÀɮ׮ɡA¤~·|³Q±Ò°Ê¡C</para> + </answer> + </qandaentry> + </qandaset> + </chapter> + + <chapter id="x"> + <chapterinfo> + <author> + <firstname>Wei-Hon</firstname> + <surname>Chen</surname> + <affiliation> + <address><email>plasmaball@pchome.com.tw</email></address> + </affiliation> + </author> + </chapterinfo> + + <title>X Window System ¤Î Virtual Consoles</title> + + <qandaset> + <qandaentry> + <question id="running-X"> + <para>§Ú·Qn°õ¦æ X ¡A§Ú¸Ó«ç»ò°µ¡H</para> + </question> + + <answer> + + <para>³Ì²³æªº¤èªk´N¬O¦b¦w¸Ë¨t²Îªº®ÉÔ¤@¨Ö¦w¸Ë¡C</para> + + <para>µM«á¬Ý¬Ý &man.xorgconfig.1; ªº¤å¥ó¡A³oÓµ{¦¡¥i¥H + À°±z³]©w &xorg; ¬ÛÃö³]©w¡A¨Ï¥¦¯à°÷¥¿½T¹B¥Î±zªºÅã¥Ü¥d¡B·Æ¹«µ¥¶gÃä¡C¦¹¥~¡AÁÙ¥i¥H¥Î &man.xorgcfg.1; + ªº¹Ï§Î¤¶±¨Ó°µ¬ÛÃö³]©w¡C</para> + + <para>±z©Î³\¤]·Q¸Õ¸Õ¬Ý Xaccel server¡C¸Ô±¡½Ð¬Ý <link linkend="xig">Xi Graphics</link> + ³o¤@¬q¡C</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="running-X-securelevels"> + <para>§Ú <emphasis>¸ÕµÛ</emphasis> n°õ¦æ X, ¦ý¬O·í§ÚÁä¤J + <command>startx</command> ®É¡A±o¨ì + <errorname>KDENABIO failed (Operation not permitted)</errorname> + ¿ù»~¡C§Ú¸Ó«ç»ò¿ì¡H</para> + </question> + + <answer> + <para>§Aªº¨t²Î¤@©w´£°ª¤F securelevel¡A¹ï¤£¹ï¡H¦b¤@Ó´£°ª¤F + securelevel ªº¨t²Î¤W¡A¬Oµ´¹ïµLªk°_°Ê X ªº¡C·Qª¾¹D¬°¤°»ò¡A + ½Ð°Ñ¦Ò &man.init.8; »¡©ú¤å¥ó¡C</para> + + <para>©Ò¥H³oÓ°ÝÃDÅܦ¨¡G§AÁÙ¯à«ç»ò¿ì¡C°ò¥»¤W§A¦³¨âºØ¿ï¾Ü¡G + ±N§Aªº securelevel ³]¦^¹s (³q±`¦b <filename>/etc/rc.conf + </filename> ¸Ì±³]©w)¡A©Î¬O¦b±Ò°Ê®É°õ¦æ &man.xdm.1; (¦b + securelevel ³Qª@°ª«e)¡C</para> + + <para>½Ð°Ñ¦Ò <xref linkend="xdm-boot"/> ¥H¨ú±o§ó¦h¦³Ãö±Ò°Ê®É + °õ¦æ &man.xdm.1; ªº¸ê°T¡C</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="x-and-moused"> + <para>¬°¤°»ò§Ú¤£¯à¦b X ¸Ì¨Ï¥Î·Æ¹«¡H</para> + </question> + + <answer> + <para>¦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°µ + <devicename>/dev/sysmouse</devicename> ªºµêÀÀ¸Ë¸m¡C©Ò¦³·Æ¹«²£¥Íªº + event ³£·|§Q¥Î moused ¨Ó¼g¨ì sysmouse ³oӸ˸m¡C¦pªG±z§Æ±æ¦b¤@Ó + ©Î¥H¤Wªº virtual console ¤W¨Ï¥Î·Æ¹«¡A<emphasis>¨Ã¥B</emphasis> + ¯à°÷¨Ï¥Î X ªº¸Ü¡A½Ð°Ñ¦Ò + <xref linkend="moused" remap="another section"/> ¨Ã¥B³]©w¦n + moused¡C</para> + + <para>µM«á½s¿è <filename>/etc/XF86Config</filename> ³oÓÀɮסA + ¨Ã¥B½T»{§A¦³¥H¤U³o´X¦æªº³]©w¡C</para> + + <programlisting>Section Pointer +Protocol "SysMouse" +Device "/dev/sysmouse" +....</programlisting> + + <para>¥H¤Wªº¨Ò¤l¡A¾A¥Î©ó XFree86 3.3.2 ¤Î¨ä«áªºª©¥»¡C¥Î©ó§ó¦ªº + ª©¥»ªº¡A¨ä <emphasis>Protocol</emphasis> À³¬° + <emphasis>MouseSystems</emphasis>¡C</para> + + <para>¦³¨Ç¤H¤ñ¸û³ßÅw¦b³]©w X ªº®ÉԥΠ+ <devicename>/dev/mouse</devicename> ³oӸ˸m¡C¦pªG±znÅý¥¦¯à°÷ + ¥¿±`¤u§@ªº¸Ü¡A±z´N¥²¶·§â <devicename>/dev/mouse</devicename> + ³sµ²¨ì <devicename>/dev/sysmouse</devicename> (½Ð°Ñ¦Ò + &man.sysmouse.4;):</para> + + <screen>&prompt.root; <userinput>cd /dev</userinput> +&prompt.root; <userinput>rm -f mouse</userinput> +&prompt.root; <userinput>ln -s sysmouse mouse</userinput></screen> + </answer> + </qandaentry> + + <qandaentry> + <question id="x-and-wheel"> + <para>·Æ¹«ªººu½ü¡A¯à¦b X ¸Ì±¨Ï¥Î¶Ü¡H</para> + </question> + + <answer> + <para>¥i¥H¡C¤£¹L»Ýn³]©w X client ºÝµ{¦¡¡C ½Ð°Ñ¦Ò <ulink + url="http://www.inria.fr/koala/colas/mouse-wheel-scroll/"> + Colas Nahaboo ªººô¶ + (http://www.inria.fr/koala/colas/mouse-wheel-scroll/) + </ulink>.</para> + + <para>¦pªG§An¨Ï¥Î <application>imwheel</application> µ{¦¡¡A + ¥un¸òµÛ¤U¦C¨BÆJ§@§Y¥i¡C</para> + + <orderedlist> + <listitem> + <para>Âà´«ºu½ü event +Translate the Wheel Events</para> + + <para><application>imwheel</application> µ{¦¡ªº¹B§@ì²z¡A + ¬O±N·Æ¹«ªº²Ä¥|Áä»P²Ä¤ÁäÂà´«¦¨«öÁä event¡C¦]¬°¦p¦¹¡A©Ò¥H + §A¥²¶·Åý·Æ¹«ÅX°Êµ{¦¡±N·Æ½ü¨Æ¥óÂà´«¦¨²Ä¥|Áä»P²Ä¤Áä event¡C + ¦³¨âºØ¤èªk¥i¥H¹F¨ì¥Øªº¡A¤@¬OÅý &man.moused.8; §@Âà´«¡A¤G¬O + Åý X ¥»¨¥h§@ event Âà´«¡C</para> + + <orderedlist> + <listitem> + <para>¨Ï¥Î &man.moused.8; ¨ÓÂà´«ºu½ü Event</para> + + <para>nÅý &man.moused.8; ¨Ó§@ event Âà´«¡A¥un¦b + °õ¦æ &man.moused.8; ªº©R¥O¦C¤¤¥[¤W <option>-z 4</option> + §Y¥i¡CÁ|Ó¨Ò¤l¡A¦pªG§A¤@¯ë³£¬O¥H + <command>moused -p /dev/psm0</command> ¨Ó°_°Ê + &man.moused.8; ªº¸Ü¡A¥un§ï¦¨ <command>moused -p + /dev/psm0 -z 4</command> §Y¥i¡C¦pªG§A¬O¦b¶}¾÷¹Lµ{¤¤§Q¥Î + <filename>/etc/rc.conf</filename> ¨Ó°_°Ê &man.moused.8;¡A + §A¥i¥H¦b <filename>/etc/rc.conf</filename> ¤¤±N + <varname>moused_flags</varname> ¤W¥[ <option>-z 4 + </option> §Y¥i¡C</para> + + <para>§A²{¦b»ÝnÅý X ª¾¹D§Aªº·Æ¹«¦³¤Ó«öÁä¡A¥un¦b + <filename>/etc/XF86Config</filename> ¤¤ªº + <quote>Pointer</quote> °Ï¶ô¤¤¥[¤W + <literal>Buttons 5</literal> ³o¤@¦æ§Y¥i¡C¨Ò¦p¡A + §A¥i¯à¦b <filename>/etc/XF86Config</filename> ¤¤¦³ + ¥H¤Uªº <quote>Pointer</quote> °Ï¶ô¡G</para> + + <example> + + <title>¦b XFree86 3.3.x ¨t¦Cªº XF86Config ³]©wÀɪº + <quote>Pointer</quote> °Ï¶ô¤¤¡A¥H moused §@Âà´« + ªººu½ü¹«ªº³]©w½d¨Ò</title> + + <programlisting>Section "Pointer" + Protocol "SysMouse" + Device "/dev/sysmouse" + Buttons 5 +EndSection</programlisting> + </example> + + <example> + <title>¦b XFree86 4.x ¨t¦Cªº XF86Config ³]©wÀɪº + <quote>InputDevice</quote> °Ï¶ô¤¤¡A¥H X Server §@Âà´« + ªººu½ü¹«ªº³]©w½d¨Ò</title> + + <programlisting>Section "InputDevice" + Identifier "Mouse1" + Driver "mouse" + Option "Protocol" "auto" + Option "Device" "/dev/sysmouse" + Option "Buttons" "5" +EndSection</programlisting> + </example> + + <example> + <title>¦b <quote>.emacs</quote> ¤¤¡A³]©wºu½ü¹«ªºì¥Í + ¶±ºu°Ê¤ä´©½d¨Ò</title> + <programlisting>;; wheel mouse +(global-set-key [mouse-4] 'scroll-down) +(global-set-key [mouse-5] 'scroll-up)</programlisting> + </example> + + </listitem> + + <listitem> + <para>§Q¥Î§Aªº X Server ¨Ó§@ºu½ü Event Âà´«</para> + + <para>¦pªG§A¨S¦³°õ¦æ &man.moused.8;¡A©Î¬O§A¤£·Q§Q¥Î + &man.moused.8; ¥h§@ºu½ü event Âà´«¡A§A¥i¥H§ï¥Î + X server ¨Ó§@³o¼Ëªº event Âà´«¡C§A±o¦b <filename> + /etc/XF86Config</filename> Àɮפ¤§@´XÓ§ó°Ê¡C²Ä¤@¡A + §An¬°§Aªº·Æ¹«¿ï¾Ü¾A·íªº³q°T¨ó©w¡C¤j¦h¼Æªººu½ü¹«³£ + ¨Ï¥Î <quote>IntelliMouse</quote> ¨ó©w¡A¤£¹L XFree86 + ¤]¤ä´©¨ä¥¦ªº³q°T¨ó©w¡A¨Ò¦pù§Þªº MouseMan+ ·Æ¹«©Ò¥Îªº + <quote>MouseManPlusPS/2</quote>¡C·í§A¿ï¦n¤§«á¡A¥un + ¥[¶i¤@¦æ <quote>Pointer</quote> °Ï¶ôªº <varname> + Protocol</varname> ÅܼƧY¥i¡C</para> + + <para>²Ä¤G¡A§An§i¶D X server ±N±²°Ê¨Æ¥ó«·s¹ï¬M¦Ü·Æ¹«ªº + ²Ä¥|©M²Ä¤Áä¡C³o¥i¥H§Q¥Î <varname>ZAxisMapping</varname> + ¿ï¶µ¿ì¨ì¡C</para> + + <para>Á|Ó¨Ò¤l¡A¦pªG§A¨S¦³¨Ï¥Î &man.moused.8;¡A¦Ó§A¦³¤@Ó + IntelliMouse ¦w¸Ë¦b PS/2 ·Æ¹«°ðªº¸Ü¡A§A¥i¥H¦b + <filename>/etc/XF86Config</filename> ¸Ì¨Ï¥Î¥H¤Uªº³]©w¡C + </para> + + <example> + <title>¦b XF86Config ³]©wÀɪº <quote>Pointer</quote> + °Ï¶ô¤¤¡A¥H X Server §@Âà´«ªººu½ü¹«ªº³]©w½d¨Ò</title> + + <programlisting>Section "Pointer" + Protocol "IntelliMouse" + Device "/dev/psm0" + ZAxisMapping 4 5 +EndSection</programlisting> + </example> + + <example> + <title>¦b XFree86 4.x ¨t¦Cªº XF86Config ³]©wÀɪº + <quote>InputDevice</quote> °Ï¶ô¤¤¡A¥H X Server §@Âà´« + ªººu½ü¹«ªº³]©w½d¨Ò</title> + + <programlisting>Section "InputDevice" + Identifier "Mouse1" + Driver "mouse" + Option "Protocol" "auto" + Option "Device" "/dev/psm0" + Option "ZAxisMapping" "4 5" +EndSection</programlisting> + </example> + + <example> + <title>¦b <quote>.emacs</quote> ¤¤¡A³]©wºu½ü¹«ªºì¥Í + ¶±ºu°Ê¤ä´©½d¨Ò</title> + <programlisting>;; wheel mouse +(global-set-key [mouse-4] 'scroll-down) +(global-set-key [mouse-5] 'scroll-up)</programlisting> + </example> + + </listitem> + </orderedlist> + </listitem> + + <listitem> + <para>¦w¸Ë <application>imwheel</application></para> + + <para>±µ¤U¨Ó¡A±q Ports ¸Ì¦w¸Ë <application>imwheel + </application>¡C¦b x11 Ãþ§O¸Ì¥i¥H§ä¨ì¥¦¡A¥¦¥i¥H±N + ºu½ü event ¹ï¬M¨ìÁä½L event¡CÁ|Ó¨Ò¤l¡A¥¦¥i¥H¦b§A + ±Nºu½ü©¹«e±À®É¡A°e¥X¤@Ó <keycap>Page Up</keycap> + ¨ì§AªºÀ³¥Îµ{¦¡¥h¡C<application>Imwheel</application> + §Q¥Î¤@Ó³]©wÀÉ¡A¥H«K¹ïÀ³ºu½ü event ¦ÜÁä½L event¡A³o¼Ë + ¥¦´N¥i¥H¦b¤£¦PªºÀ³¥Îµ{¦¡¤¤¡A°e¥X¤£¦PªºÁä½L«öÁä¡C¹w³]ªº + <application>imwheel</application> ³]©wÀɬO¦b + <filename>/usr/X11R6/etc/imwheelrc</filename>¡A¦pªG§A·Q + ½s¿è¦Ûqªº³]©wÀɪº¸Ü¡A¥i¥H±N¥¦½Æ»s¨ì + <filename>~/.imwheelrc</filename>¡AµM«á¨Ì§Aªº»Ýnק復¡C + ³]©wÀɪº®æ¦¡¦b &man.imwheel.1; ¸Ì±¦³¸Ô²Óªº»¡©ú¡C</para> + </listitem> + + <listitem> + <para>³]©w <application>Emacs</application> »P + <application>Imwheel</application> ¨ó¦P¤u§@ + (<emphasis>¿ï¾Ü©Ê</emphasis>)</para> + + <para>¦pªG§A¨Ï¥Î <application>emacs</application> ©Î¬O + <application>Xemacs</application> ªº¸Ü¡A¨º§A»Ýn¦b§Aªº + <filename>~/.emacs</filename> Àɮ׸̥[¤W¤@¤p¬q³]©w¡C + <application>emacs</application> ½Ð¥[¤W³o¤@¬q¡G</para> + + <example> + <title><application>Imwheel</application> ªº + <application>Emacs</application> ³]©w</title> + + <programlisting>;;; For imwheel +(setq imwheel-scroll-interval 3) +(defun imwheel-scroll-down-some-lines () + (interactive) + (scroll-down imwheel-scroll-interval)) +(defun imwheel-scroll-up-some-lines () + (interactive) + (scroll-up imwheel-scroll-interval)) +(global-set-key [?\M-\C-\)] 'imwheel-scroll-up-some-lines) +(global-set-key [?\M-\C-\(] 'imwheel-scroll-down-some-lines) +;;; end imwheel section</programlisting> + </example> + + <para><application>Xemacs</application> «h¦b + <filename>~/.emacs</filename> Àɸ̥[¤W³o¤@¬q¡G</para> + + <example> + <title><application>Imwheel</application> ªº + <application>Xemacs</application> ³]©w</title> + + <programlisting>;;; For imwheel +(setq imwheel-scroll-interval 3) +(defun imwheel-scroll-down-some-lines () + (interactive) + (scroll-down imwheel-scroll-interval)) +(defun imwheel-scroll-up-some-lines () + (interactive) + (scroll-up imwheel-scroll-interval)) +(define-key global-map [(control meta \))] 'imwheel-scroll-up-some-lines) +(define-key global-map [(control meta \()] 'imwheel-scroll-down-some-lines) +;;; end imwheel section</programlisting> + </example> + </listitem> + + <listitem> + <para>°õ¦æ <application>Imwheel</application></para> + + <para>¦w¸Ë¤§«á¡A§A¥i¥Hª½±µ¦b xterm ¸ÌÁä¤J <command>imwheel + </command> ©R¥O¥H°_°Ê¥¦¡C¥¦·|¥HI´º°õ¦æ¡A¨Ã¥B°¨¤Wµo´§®Ä¥Î¡C + ¦pªG§A½T©wnª½±µ¨Ï¥Î <application>imwheel</application>¡A + ¥un§â¥¦¥[¶i§A¦Û¤vªº <filename>.xinitrc</filename> ©Î + <filename>.xsession</filename> ¤ºÀɮקY¥i¡C§A¥i¥H¤£ºÞ + <application>imwheel</application> ©Ò°e¥X¨Ó¦³Ãö PID ÀÉ®× + ĵ§i¡C¨º¨Çĵ§i¥u¹ï Linux ª©ªº <application>imwheel + </application> ¦³®Ä¦Ó¤w¡C</para> + </listitem> + </orderedlist> + </answer> + </qandaentry> + + <qandaentry> + <question id="window-menu-weird"> + <para>¬°¤°»ò X Window ªº¿ï³æ©M¹ï¸Ü®Ø¤£¯à¥¿±`¹B§@¡H</para> + </question> + + <answer> + <para>§â Num Lock Ãö±¼¸Õ¸Õ¡C</para> + + <para>¦pªG±zªº Num Lock ¦b¶}¾÷®Éªº¹w³]ȬO¶}µÛªº¸Ü¡A±z¥²¶·§â¤U¦C + ³o¦æ©ñ¨ì <filename>XF86Config</filename> ³]©wÀɤ¤ªº + <literal>Keyboard</literal> ³¡¥÷¡C</para> + + <programlisting># Let the server do the NumLock processing. This should only be +# required when using pre-R6 clients + ServerNumLock</programlisting> + </answer> + </qandaentry> + + <qandaentry> + <question id="virtual-console"> + <para>¤°»ò¬O virtual console¡H§Ún«ç»ò°µ¤~¯à¥Î¦h¤@ÂI¡H</para> + </question> + + <answer> + <para>²³æ¨Ó»¡¡Avirtual console ´N¬O¥i¥HÅý±z¤£¥²°µ¤Ó¦h½ÆÂøªº³]©w + ¦p¨Ï¥Îºô¸ô©Î°õ¦æ X ¡A¦Ó¦b¦P¤@»O¾÷¾¹¤W¦P®É°µ¦n´X¥ó¨Æªº¤èªk¡C</para> + + <para>·í±Ò°Ê¨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</para> + + <para>¦b¬Y¨Ç±¡ªp¤U¡A±z¥i¯à·|·Qn§@¨ä¥Lªº¤u§@¡A¨Ò¦p»¡¬O¬Ý¬Ý±z¥¿¦b + °õ¦æªºµ{¦¡ªº»¡©ú¤å¥ó¡A©Î¬O·í±z¦b FTP ¶Ç¿éªºµ¥«Ý®É¶¡¤¤¬Ý¬Ý±zªº + ¶l¥ó¡C±z¥u»Ýn«ö Alt-F2 («ö¦í Alt Á䤣©ñ¡A¨Ã«ö¤U F2 Áä) ¡AµM«á + ±z´N·|¦b²Ä¤GÓ <quote>virtual console</quote> ¤W¬Ý¨ì¤@Ó login + ´£¥Ü²Å¸¹¡I·í±z·Qn¦^¨ìì¨Óªº¤u§@®É¡A½Ð«ö Alt-F1¡C</para> + + <para>FreeBSD ¦b¦w¸Ë®Éªº¹w³]ȬO¨Ï¥Î¤TÓ virtual console + (3.3-RELEASE «á¬°¤KÓ)¡A±z¥i¥H¥Î Alt-F1¡AAlt-F2¡A¥H¤Î Alt-F3 + ¦b¥¦Ì¤§¶¡°µ¤Á´«¡C</para> + + <para>¦pªG±z·Qn¦h¤@ÂI virtual console ªº¸Ü¡A±z¥u»Ýn½s¿è + <filename>/etc/ttys</filename> ³oÓÀÉ (½Ð°Ñ¦Ò &man.ttys.5;)¡A + ¦b <quote>Virtual terminals</quote> ³oÓµù¸Ñ«á±¥[¤J + <devicename>ttyv4</devicename> ¨ì <devicename>ttyvc</devicename> + ªºÄæ¦ì¡G</para> + + <programlisting># 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</programlisting> + + <para>±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§â <literal>secure</literal> ´«¦¨ + <literal>insecure</literal>¡C</para> + + <important> + <para>¦pªG±z·Qn°õ¦æ X ªº¸Ü¡A±z <emphasis>¥²¶·</emphasis> + ¬°¥¦«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 + </para> + </important> + + <para>¨ú®ø¤@Ó console ³Ì²³æªº¤èªk´N¬O§â¥¦Ãö±¼¡CÁ|¨Ò¨Ó»¡¡A¦pªG + ±z¹³¤W±Á¿ªº¤@¼Ë³]©w¤F¥þ³¡ªº 12 Ó terminal ¨Ã¥B·Qn°õ¦æ X ¡A + ±z¥²»Ý§â virtual terminal 12 ±q¡G</para> + + <programlisting>ttyvb "/usr/libexec/getty Pc" cons25 on secure</programlisting> + + <para>³]¦¨¡G</para> + + <programlisting>ttyvb "/usr/libexec/getty Pc" cons25 off secure</programlisting> + + <para>¦pªG±zªºÁä½L¥u¦³ 10 Ó¥\¯àÁ䪺¸Ü¡A±z´Nn§ï¦¨³o¼Ë¡G</para> + +<programlisting>ttyv9 "/usr/libexec/getty Pc" cons25 off secure +ttyva "/usr/libexec/getty Pc" cons25 off secure +ttyvb "/usr/libexec/getty Pc" cons25 off secure</programlisting> + + <para>(±z¤]¥i¥Hª½±µ§â³o´X¦æ¬å±¼¡C)</para> + + <para>¤@¥¹±z§ï¤F <filename>/etc/ttys</filename>¡A¤U¤@Ó¨BÆJ´N¬On + ½T©w±z¦³¨¬°÷ªº virtual terminal ¸Ë¸m¡C³Ì²³æªº¤èªk´N¬O¡G</para> + + <screen>&prompt.root; <userinput>cd /dev</userinput> +&prompt.root; <userinput>sh MAKEDEV vty12</userinput></screen> + + <para>¦A¹L¨Ó¡A·Qn±Ò°Ê³o¨Ç virtual console ³Ì²³æ (¤]¬O³Ì°®²b) + ªº°µªk´N¬O«¶}¾÷¡CµM«á¡A¦pªG±z¤£·Q«¶}¾÷ªº¸Ü¡A±z¥i¥H§â X Window + Ãö±¼¡AµM«á¥Î <username>root</username> ªº¨¥÷°õ¦æ¤U¦C«ü¥O¡G</para> + + <screen>&prompt.root; <userinput>kill -HUP 1</userinput></screen> + + <para>·í±z°õ¦æ³oÓ©R¥O«e¡A±z¤@©wn§¹¥þ§â X Window Ãö±¼¡C¦pªG + ±z¤£³o»ò°µªº¸Ü¡A±zªº¨t²Î¥i¯à·|¦b±z°õ¦æ kill ©R¥O«á¥X²{·í±¼©Î + Âꦺªº±¡ªp¡C</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="vty-from-x"> + <para>§Ún«ç»ò±q X ¤Á´«¨ì virtual console¡H</para> + </question> + + <answer> + <para>½Ð¥Î <keycombo action="simul"> + <keycap>Ctrl</keycap> + <keycap>Alt</keycap> + <keycap>F<replaceable>n</replaceable></keycap> + </keycombo> ¥H¤Á¦^¦Ü virtual console¡C + <keycombo action="simul"> + <keycap>Ctrl</keycap> + <keycap>Alt</keycap> + <keycap>F1</keycap> + </keycombo> ¥i¥H¤Á¦^¦Ü²Ä¤@Ó virtual console¡C</para> + + <para>·í§A¤Á¦^¦Ü¤å¦r console «á¡A§A´N¥i¥H¨Ï¥Î¤@¯ë + <keycombo action="simul"> + <keycap>Alt</keycap> + <keycap>F<replaceable>n</replaceable></keycap> + </keycombo> «öÁä²Õ¦X¡A¦b¦U console ¤§¶¡¤Á´«¡C</para> + + <para>n¦^¨ì X ªº¸Ü¡A§A¥²¶·¤Á¦^¦Ü°õ¦æ X ªº virtual console¡C + ¦pªG§A¬O±q©R¥O¦C¸Ì°_°Ê X ªº¸Ü (¨Ò¦p¨Ï¥Î <command>startx</command> + «ü¥O)¡A¨º»ò X ·|¨Ìªþ¦b¤U¤@Ó¥¼¨Ï¥Îªº virtual console¡A¦Ó¤£¬O¥¦³Q + °_°Êªº¤å¦r console¡C¦pªG§A¦³¤KӨϥΤ¤ªº virtual terminal¡A¨º»ò + X ´N·|¦b²Ä¤EÓ¤W°õ¦æ¡A§A´N¥i¥H¨Ï¥Î + <keycombo action="simul"> + <keycap>Alt</keycap> + <keycap>F9</keycap> + </keycombo> ¥Hªð¦^¦Ü X ¤¤¡C</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="xdm-boot"> + <para>§Ún«ç»ò°µ¤~¯à¦b¶}¾÷®É±Ò°Ê XDM¡H</para> + </question><answer> + + <para>¦³¨âºØ¤èªk¥i¥H±Ò°Ê <ulink + url="http://www.FreeBSD.org/cgi/man.cgi?manpath=xfree86&query=xdm"> + xdm</ulink>¡C¤@ºØ¤èªk¬O±q <filename>/etc/ttys</filename> ¨Ó±Ò°Ê¡A + ¥i¥H°Ñ¦Ò &man.ttys.5; »¡©ú¤å¥ó¤¤ªº½d¨Ò¡F¥t¤@ºØ¤èªk¬O¦b + <filename>rc.local</filename> (½Ð°Ñ¦Ò &man.rc.8;) °õ¦æ xdm¡A©Î¬O + ¦b <filename>/usr/local/etc/rc.d</filename> ©ñ¤@Ó + <filename>X.sh</filename>¡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</para> + + <para>¥Î 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</para> + + <para>¦pªG¬O¥Î rc.local ªº¤èªk¡A¦b°õ¦æ <command>xdm</command> + ®É±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</para> + + <para>¦pªG§A¬O±q <filename>/etc/ttys</filename> ±Ò°Ê + <command>xdm</command>¡A<command>xdm</command> »P &man.getty.8; + ¤´¦³¾÷·|¤¬¬Û½Ä¬ð¡C¤@ÓÁקK¥¦ªº¤èªk¡A´N¬O¦b + <filename>/usr/X11R6/lib/X11/xdm/Xservers</filename> Àɮפ¤¥[¤J + <literal>vt</literal> ¼Æ¦r¡C</para> + + <programlisting>:0 local /usr/X11R6/bin/X vt4</programlisting> + + <para>¤W±ªº¨Ò¤l¤¤¡A·|«ü¥Ü X server ¦b <devicename>/dev/ttyv3 + </devicename> ¤¤°õ¦æ¡C½Ðª`·N¼Æ¦r¬O®t¤@ªº¡CX server ±q¤@¶}©l¼Æ + vty¡A¦Ó FreeBSD ®Ö¤ß«h¬O±q¹s¶}©l¼Æ vty ªº¡C</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="xconsole-failure"> + <para>¬°¤°»ò·í§Ú°õ¦æ xconsole ®É¡Aµo¥Í¤F + <errorname>Couldn't open console</errorname> ªº¿ù»~¡H</para> + </question> + + <answer> + <para>¦pªG§A¬O¥Î <command>startx</command> ¨Ó±Ò°Ê <command>startx + </command> ªº¸Ü¡A<devicename>/dev/console</devicename> ªºÅv¨Ã + <emphasis>¤£·|</emphasis> §ïÅÜ¡Aµ²ªG´N¬O <command>xterm -C + </command> ©M <command>xconsole</command> ³oÃþªºµ{¦¡µLªk + ¥¿±`°õ¦æ¡C</para> + + <para>³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¨º»ò + &man.fbtab.5; ¥i¥H¸Ñ¨M³oÃþªº°ÝÃD¡C</para> + + <para>²³æ¦a»¡¡A½Ð½T«O <filename>/etc/fbtab</filename> (½Ð°Ñ¦Ò + &man.fbtab.5;) ³oÓÀɮפ¤ªº³o¤@¦æ¨S¦³³Qµù¸Ñ±¼¡G</para> + + <programlisting>/dev/ttyv0 0600 /dev/console</programlisting> + + <para>³o¤@¦æ³]©wªº¦s¦b¥i¥H½T«O±q <devicename>/dev/ttyv0</devicename> + µn¤Jªº¨Ï¥ÎªÌ¥i¥H±±¨î console¡C</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="xfree86-root"> + <para>¥H«e§Ú¥i¥H¥H¤@¯ë¨Ï¥ÎªÌ°õ¦æ XFree86¡A¬°¤°»ò²{¦b¥¦»¡§Ú¤@©wn + ¥H <username>root</username> ¤~¯à°õ¦æ¡H</para> + </question> + + <answer> + <para>©Ò¦³ªº X server ³£»Ýn¥H <username>root</username> ¨Ó°õ¦æ¡A + ¤~¯àª½±µ¦s¨ú§Aªºµø°TµwÅé¡Cª©¥»ªº XFree86 (<= 3.3.6) ·|¦Û°Ê + ±N©Òªþªº server ¥H§Q¥Î <username>root</username> ¨¥÷°õ¦æªº¤è¦¡ + ¦w¸Ë°_¨Ó (setuid ¬° <username>root</username>)¡C¥Ñ©ó X server + ³£¬OÅé¿nÃe¤j¤S½ÆÂøªºµ{¦¡¡AÅã¦Ó©ö¨£¦a¡A³o¬O¤@Ó¦w¥þ¤Wªº¨aÃø¡C + ¦]¬°³oÓì¦]¡A·sª©ªº XFree86 ´N¤£±N³o¨Ç server ¥H setuid ¬° + <username>root</username> ªº¤è¦¡¦w¸Ë¡C</para> + + <para>«Ü©úÅã¦a¡A§Ú̧¹¥þµLªk±µ¨ü±N X server ¥H + <username>root</username> ªº¨¥÷°õ¦æ¡C°_½X´N¦w¥þ¤W¤£¬OÓ¦n¥D·N¡C + ¦³¨âºØ¤èªk¥i¥H¥H¤@¯ë¨Ï¥ÎªÌªº¨¥÷¨Ï¥Î X¡C²Ä¤@¬O§Q¥Î + <command>xdm</command> ©Î¬O¨ä¥¦ªº display manager (¨Ò¦p + <command>kdm</command>)¡F²Ä¤G¬O§Q¥Î <command>Xwrapper</command>¡C + </para> + + <para><command>xdm</command> ¬O¤@Ó³B²z¹Ï§Î¬É±µn¤Jªº daemon¡C + ¥¦³q±`¦b¶}¾÷®É°õ¦æ°_¨Ó¡A¦Ó¥Bt³d¹ï¨Ï¥ÎªÌ§@¨¥÷»{ÃÒ¡A¥H¤Î°_°Ê + ¨Ï¥ÎªÌªº¤u§@Àô¹Ò¡F¥¦¥i»¡¬O¹Ï§ÎÀô¹Ò¤Uªº &man.getty.8; »P + &man.login.1; ªº¹ïÀ³µ{¦¡¡C·Q±oª¾§ó¦h¦³Ãö <command>xdm</command> + ªº¸ê°T¡A½Ð°Ñ¦Ò <ulink url="http://www.xfree86.org/support.html"> + XFree86 ¤å¥ó</ulink>¡A¥H¤Î¨ä <link linkend="xdm-boot">FAQ + ¶µ¥Ø</link>¡C</para> + + <para><command>Xwrapper</command> ¬O X server ªº¥]¸Ëµ{¦¡¡F¥¦¥i¥H + Åý¤@¯ë¨Ï¥ÎªÌ¥i¥H¤â°Ê°_°Ê X server ªº¤p¤u¨ã¡A¦ÓÁÙ¯àºû«ù¤@©wªº¦w¥þ + Àô¹Ò¡C¥¦·|Àˬd¶Ç¤Jªº©R¥O¦C°Ñ¼Æ¡A¦pªG¨S°ÝÃDªº¸Ü¡A´N°_°Ê¾A·íªº + X server¡C¦pªG§A¦]¬°¬YºØ²z¥Ñ¦Ó¤£·Q°õ¦æ display manager ªº¸Ü¡A + ¥¦¬O¬°§A¦Ó³]©wªº¡C¦pªG§A¦w¸Ë¤F§¹¾ãªº ports¡A§A¥i¥H¦b + <filename>/usr/ports/x11/wrapper</filename> ¤¤§ä¨ì¥¦¡C</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="ps2-x"> + <para>§Úªº PS/2 ·Æ¹«¦b X ¤¤¦³ÂI¤£¥¿±`¡H</para> + </question> + + <answer> + <para>±zªº·Æ¹«©M±zªº·Æ¹«ÅX°Êµ{¦¡¥i¯à¦s¦b¦³¤£¦P¨Bªº²{¶H¡C</para> + + <para>¦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ªº kernel ³]©wÀɤ¤¥[¤J¤U±³oӿﶵµM«á«·s½sĶ¡G</para> + + <programlisting>options PSM_CHECKSYNC</programlisting> + + <para>¦pªG±z¨S¦³«Ø¥ß kernel ªº¸gÅç¡A½Ð¬Ý + <link linkend="make-kernel">¦Ûq®Ö¤ß</link> ³o¤@¸`¡C</para> + + <para>¥[¤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</para> + + <para>¸Óª`·Nªº¬O³oӿﶵ¨Ã¤£¬O¹ï¨C¤@Ó¨t²Î³£¦³®Ä¡A¥¦¥i¯à·|Åý±µ¦b + PS/2 ·Æ¹«¦ì¸mªº ALPS GlidePoint ¸Ë¸m¥¢¥h <quote>tap</quote> + ³o¶µ¥\¯à¡C</para> + + <para>¦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</para> + + <programlisting>psmintr: out of sync (xxxx != yyyy)</programlisting> + + <para>µM«á±z´N·|µo²{±zªº·Æ¹«¤£¯à¥¿±`¹B§@¤F¡C</para> + + <para>¦pªG±zµo¥Í¤F³o¼Ëªºª¬ªp¡A±z¥²¶·Âǥѧâ PS/2 ·Æ¹«ÅX°Êµ{¦¡ªº flag + ³]¦¨ 0x100 ¨Ó§â¦P¨B½T»{ªºµ{¦¡½Xµ¹¨ú®ø±¼¡CµM«á¦b¶}¾÷´£¥Ü²Å¸¹®É¥Î + <option>-c</option> ¿ï¶µ¨Ó¶i¤J <emphasis>UserConfig</emphasis>¡G + </para> + + <screen>boot: <userinput>-c</userinput></screen> + + <para>µM«á¡A¦b <emphasis>UserConfig</emphasis> ©R¥O¦C¤¤Áä¤J¡G</para> + + <screen>UserConfig> <userinput>flags psm0 0x100</userinput> +UserConfig> <userinput>quit</userinput></screen> + </answer> + </qandaentry> + + <qandaentry> + <question id="ps2-mousesystems"> + <para>§Úªº PS/2 ·Æ¹«¤£¯à³z¹L MouseSystem ¨Ó¹B§@¡H</para> + </question> + + <answer> + <para>¦³¤@¨Ç³ø§i«ü¥X¬Y¨Ç¼tµPªº PS/2 ·Æ¹«¥u¯à¦b + <quote>°ª¸ÑªR«×</quote> ª¬ºA¤U¤~¯à¹B§@¡C¦pªG¤£¬Oªº¸Ü¡A·Æ¹«´å¼Ð + ·|±`±`¶]¨ì¿Ã¹õªº¥ª¤W¨¤¥h¡C</para> + + <para>«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¹ï <filename>/sys/i386/isa/psm.c</filename> + ¨Ï¥Î¤U¦C patch µM«á««Ø±zªº®Ö¤ß¡C¦pªG±z¨S¦³«Ø¥ß kernel ªº¸gÅç¡A + ½Ð¬Ý <link linkend="make-kernel">¦Ûq®Ö¤ß</link> ³o¸`¡C</para> + + <programlisting>@@ -766,6 +766,8 @@ + if (verbose >= 2) + log(LOG_DEBUG, "psm%d: SET_DEFAULTS return code:%04x\n", + unit, i); ++ set_mouse_resolution(sc->kbdc, PSMD_RES_HIGH); ++ + #if 0 + set_mouse_scaling(sc->kbdc); /* 1:1 scaling */ + set_mouse_mode(sc->kbdc); /* stream mode */</programlisting> + + <para>¦b 2.2.6 ¤Î¥H«áªºª©¥»¡A¦b PS/2 ·Æ¹«ÅX°Êµ{¦¡¤¤³]©w 0x04 ªº + flag ·|§â·Æ¹«³]¦¨°ª¸ÑªR«×¼Ò¦¡¡C¦b¶}¾÷´£¥Ü²Å¸¹®É¥Î + <option>-c</option> ¿ï¶µ¨Ó¶i¤J <emphasis>UserConfig</emphasis>¡G + </para> + + <screen>boot: <userinput>-c</userinput></screen> + + <para>µM«á¡A¦b <emphasis>UserConfig</emphasis> ªº©R¥O¦C¤¤Áä¤J¡G + </para> + + <screen>UserConfig> <userinput>flags psm0 0x04</userinput> +UserConfig> <userinput>quit</userinput></screen> + + <para>«e¤@¸`¦³´£¨ì¥t¤@Ó¥i¯à¾ÉP·Æ¹«°ÝÃDªºì¦]¡C</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="imake-tmpl"> + <para>·í§Ú«Ø¥ß X µ{¦¡®É¡A<command>imake</command> »¡¥¦§ä¤£¨ì + <filename>Imake.tmpl</filename>¡C¥¦¦bþ¨à¡H</para> + </question> + + <answer> + + <para><filename>Imake.tmpl</filename> ¬O Imake ®M¥óªº¤@³¡¥÷¡AImake + ¬O¼Ð·Çªº«Ø¥ß X µ{¦¡ªº¤u¨ã¡C <filename>Imake.tmpl</filename> + ©M¨ä¥L¼ÆÓ header file ¤@¼Ë¬O«Ø¥ß X µ{¦¡ªº¥²nÀɮסA±z¥i¥H¦b + X prog distribution ¤¤§ä¨ì¥¦Ì¡C±z¥i¥H¥Î sysinstall(&os; 5.2 ¤§«eª©¥»«h¬O <command>/stand/sysinstall</command>) + ¨Ó¦w¸Ë©Î¬Oª½±µ±q X distribution ¤¤¤â°Ê¦w¸Ë¡C</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="xfree86-version"> + <para>§Ú¦b build ¤@Ó X À³¥Îµ{¦¡¡A¥¦»Ýn XFree86 3.3.x¡A¦ý¬O + §Ú¤w¸g¦w¸Ë XFree86 4.x ¤F¡C§Ú¸Ó«ç»ò¿ì¡H</para> + </question> + + <answer> + <para>n§i¶D port ¦b½sĶµ{¦¡®É¡A¨Ï¥Î XFree86 4.x ¨ç¦¡®w¡A§A¥i¥H + ¦b <filename>/etc/make.conf</filename> ¸Ì (¦pªG§A¨S¦³³oÓÀÉ¡A + ½Ð«Ø¥ß¥¦) ¥[¤W¤U±³o¤@¦æ¡G</para> + + <programlisting>XFREE86_VERSION= 4</programlisting> + </answer> + </qandaentry> + + <qandaentry> + <question id="mouse-button-reverse"> + <para>§Ún«ç»ò°µ¤~¯à³]©w¥ªºJ¤l¥Îªº·Æ¹«¡H</para> + </question> + + <answer> + <para>¦b±zªº <filename>.xinitrc</filename> ©Î¬O + <filename>.xsession</filename> ¤¤°õ¦æ + <literal>xmodmap -e "pointer = 3 2 1"</literal> ªº«ü¥O¡C</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="install-splash"> + <para>n¦p¦ó¦w¸Ë splash ¹Ï§ÎÅã¥Üµ{¦¡¡H¨º¸Ì¥i¥H§ä±o¨ì©O¡H</para> + </question> + + <answer> + + <para>´N¦bµo¦æ FreeBSD 3.1 ¤§«e¡A§ÚÌ¥[¶i¤F¦b¶}¾÷®ÉÅã¥Ü + <quote>splash</quote> ¹Ï§Îªº·s¥\¯à¡C¥Ø«e¥Î¨ÓÅã¥Ü¦b¿Ã¹õ¤WªºÀÉ®× + ¥²¶·¬O 256 ¦âªºÂI¯x°}¹Ï§Î (<filename>*.BMP</filename>) ©Î ZSoft + PCX(<filename>*.PCX</filename>) ªº®æ¦¡¡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 <literal>VM86</literal> ³oÓ kernel ¿ï¶µ¡CVESA + ¤ä´©¹ê»Ú¤W¥i¥H¦b½sĶ kernel ®É¥[¤J <literal>VESA</literal> ¿ï¶µ¡B + ©Î¸ü¤J VESA ªº kld module ¨Ó¹F¦¨¡C</para> + + <para>±znקﱱ¨î FreeBSD ¶}¾÷¨BÆJªº³]©wÀÉ¡A¤~¯à¨Ï¥Î splash + Åã¥Ü¹Ï§Îªº¥\¯à¡C³]©wÀɦbµo¦æ FreeBSD 3.2 «e¦³¨Ç§ó°Ê¡A©Ò¥H²{¦b + ¦³¨âÓ¤èªk¥i¥H¸ü¤J splash ªº¥\¯à¡G</para> + + <itemizedlist> + <listitem> + <para>FreeBSD 3.1</para> + + <para>¥ý¿ï¥X¥Î¨ÓÅã¥Ü¦b¿Ã¹õ¤Wªº¹Ï§Î¡A3.1 ª©¥u¤ä´© Windows + ªºÂI¯x°}®æ¦¡¡C¿ï¦n¤F±znªº¹ÏÀÉ«á¡A±N¥¦«þ¨ì <filename> + /boot/splash.bmp</filename>¡C±µµÛ§â¤U±´X¦æ¥[¤J + <filename>/boot/loader.rc</filename> ¤¤¡G</para> + + <programlisting>load kernel +load -t splash_image_data /boot/splash.bmp +load splash_bmp +autoboot</programlisting> + + </listitem> + + <listitem> + <para>FreeBSD 3.2+</para> + + <para>°£¤F¥[¤J¹ï PCX Àɮתº¤ä´©¥~¡AFreeBSD 3.2 ¤]§ï¶i¤F + ¶}¾÷µ{§Çªº³]©w¤è¦¡¡C¦pªG±zÄ@·Nªº¸Ü¡A¥i¥H¥Î¤Wz FreeBSD 3.1 + ªº¤èªk¡A±N <literal>splash_bmp</literal> ´«¦¨ + <literal>splash_pcx</literal> ¨Ó¸ü¤J PCX ÀɮקY¥i¡C + ¦pªG·Q¥Î·sªº³]©w¤è¦¡¡A±zªº <filename>/boot/loader.rc + </filename> ¥²¶·¥]¬A³o´X¦æ¡G</para> + + <programlisting>include /boot/loader.4th +start</programlisting> + + <para>ÁÙ»Ýn¤@Ó¥]§t¥H¤U´X¦æªº <filename>/boot/loader.conf + </filename>¡G</para> + + <programlisting>splash_bmp_load="YES" +bitmap_load="YES"</programlisting> + + <para>³o¬O°²³]±z¥Î <filename>/boot/splash.bmp</filename> + ¨Ó·í§@ splash ªº¿Ã¹õÅã¥Ü¡C¦pªG·Q¥Î PCX ªºÀɮסA§â¥¦«þ¦¨ + <filename>/boot/splash.pcx</filename>¡A¦p¤Wz°µ¥X + <filename>/boot/loader.rc</filename>¡A¦A±N³o´X¦æ¥[¨ì + <filename>/boot/loader.conf</filename> ¤¤¡G</para> + + <programlisting>splash_pcx_load="YES" +bitmap_load="YES" +bitmap_name="/boot/splash.pcx"</programlisting> + + </listitem> + </itemizedlist> + + <para>²{¦b´N¥u³Ñ¤U splash ¥Î¨ÓÅã¥Üªº¹ÏÀÉ¡A±z¥i¥H¦b + <ulink url="http://www.baldwin.cx/splash/">http://www.baldwin.cx/splash/</ulink> §ä¨ì¦UºØ¼Ë«~¡C</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="windows-keys"> + <para>§Ú¯à¦b X ¸Ì¨Ï¥ÎÁä½L¤Wªº <trademark class="registered">Windows + </trademark> ¶Ü¡H</para> + </question> + + <answer> + <para>¥i¥H¡C§A©Òn§@ªº¡A´N¬O§Q¥Î &man.xmodmap.1; ¥h©w¸q§A·Q¨Ï¥Î + ªº¥\¯à¡C</para> + + <para>°²³]©Ò¦³ªº <quote><trademark class="registered">Windows</trademark></quote> ³£¬O¼Ð·Çªº¡A + ¨º¥¦Ìªº keycode ¤À§O¬°¡G</para> + + <itemizedlist> + <listitem> + <para>115 - <trademark class="registered">Windows</trademark> Áä¡A + ¦b¥ª¤âªº Ctrl »P Alt Á䤧¶¡</para> + </listitem> + + <listitem> + <para>116 - <trademark class="registered">Windows</trademark> Áä¡A + ¦b Alt-Gr Áä¥kÃä</para> + </listitem> + + <listitem> + <para>117 - ¿ï³æÁä¡A¥k¤âªº Ctrl Á䥪Ãä</para> + </listitem> + </itemizedlist> + + <para>nÅý¥ªÃ䪺 <trademark class="registered">Windows</trademark> + Áä¦L¥X¤@Ó³rÂI¡A¸Õ¸Õ³oÓ¡G</para> + + <screen>&prompt.root; <userinput>xmodmap -e "keycode 115 = comma"</userinput></screen> + + <para>§A¥i¯àn«¶]§Aªº windows manager¡A¤~·|¦³°Ê§@¡C</para> + + <para>nÅý <trademark class="registered">Windows</trademark> Áä + ªº¹ï¬M¦b¨C¦¸ X °_°Ê®É¦Û°Ê³]©w¦n¡A§A¥i¥H¦b§Aªº + <filename>~/.xinitrc</filename> ¸Ì¥[¤W <command>xmodmap</command>¡A + ©Î¬O³Ì¦n«Ø¥ß¤@Ó <filename>~/.xmodmaprc</filename> ÀɮסA¸Ì± + ¨C¤@¦æ´N¬O¤@Ó <command>xmodmap</command> ªº¿ï¶µ¡AµM«á¦b§Aªº + <filename>~/.xinitrc</filename> ¸Ì¥[¤W¡G</para> + + + <programlisting>xmodmap $HOME/.xmodmaprc</programlisting> + + <para>³o¤@¦æ¡C</para> + + <para>¨Ò¦p¡A§A·Qn±N³o¤TÓÁä¦U¹ï¬M¨ì F13¡BF14 ©M F15¡C³oÅý§A¯à + ¦b§Aªºµ{¦¡©Î¬O window manager ¤º±N¨ä¹ïÀ³¨ì«K§Qªº¥\¯à¤W¡Aµ¥¤@¤U + §ÚÌ·|¥Ü½d¡C</para> + + <para>§â³o¨Ç©ñ¶i <filename>~/.xmodmaprc</filename> ¸Ì¡G</para> + + <programlisting>keycode 115 = F13 +keycode 116 = F14 +keycode 117 = F15</programlisting> + + <para>°²¦p§A¥Î <command>fvwm2</command> ªº¸Ü¡A§A¥i¥H§@³o¼Ëªº¹ï¬M¡A + Åý F13 ¯à°÷Åý´å¼Ð©Ò¦bªºµøµ¡ÁY¦¨¤p¹Ï¥Ü (©Î¬O¤Ï¹L¨Ó)¡CF14 Åý´å¼Ð + ©Ò¦bªºµøµ¡Åܦ¨³Ì¤W¼hªºµøµ¡¡A©Î¬O°h¨ì¤U¼h¥h (¦pªG¥¦¤w¸g¬O³Ì¤W¼h + ¤Fªº¸Ü)¡CF15 «h±N Workplace (application) ¿ï³æ¥s¥X¨Ó¡A§Y¨Ï´å¼Ð + ¤£¦b®à±¤W¡C·í§A¨S¦³¥i¨£ªº®à±°Ï°ì®É¡A³oÓ¥\¯à´N¬Û·í¦a¤è«K (¦Ó¥B + «öÁä¤Wªº¹Ï®×©M³oÓ¥\¯à¬Û§k¦X)¡C</para> + + <para>¥H¤Uªº <filename>~/.fvwmrc</filename> ³]©w¥i§@¥X«ezªº¥\¯à¡C + </para> + + <programlisting>Key F13 FTIWS A Iconify +Key F14 FTIWS A RaiseLower +Key F15 A A Menu Workplace Nop</programlisting> + </answer> + </qandaentry> + + <qandaentry> + <question id="x-3d-acceleration"> + <para>§Ún«ç»ò¼Ë¤~¯à±o¨ì OpenGL ªº 3D µwÅé¥[³t¥\¯à¡H</para> + </question> + + <answer> + <para>3D ¥[³t¥\¯àªº¦³µL¡Aµø§A©Ò¨Ï¥Îªº XFree86 ª©¥»»PÅã¥Ü´¹¤ù + ªº«¬¸¹¦Ó©w¡C¦pªG§Aªº¬O NVIDIA ´¹¤ùªº¸Ü¡A½Ð¥h + <ulink url="http://nvidia.netexplorer.org/">FreeBSD NVIDIA + Driver Initiative </ulink> ºô¶¬Ý¬Ý¡A¨º¸Ì¦³¦b XFree86-4 ¤W¨Ï¥Î + NVIDIA ´¹¤ùªº 3D ¥[³t¥\¯àªº°Q½×¡CXFree86-4 ¤Wªº¨ä¥¦Åã¥Ü¥d¼tµP + µwÅé¥[³t¥\¯àªº¸ê°T¡A ¥]¬A Matrox G200/G400, ATI Rage 128/Radeon, + 3dfx Voodoo 3, 4, 5, ¥H¤Î Banshee¡A¥i¦b <ulink + url="http://gladstone.uoregon.edu/~eanholt/dri/">XFree86-4 + Direct Rendering on FreeBSD</ulink> ºô¶¤W§ä¨ì¡CXFree 3.3 ªº + ¨Ï¥ÎªÌ¥i¥H¨Ï¥Î Utah-GLX port¡A¥¦¥i¥H¦b + <filename role="package">graphics/utah-glx</filename> §ä¨ì¡C + ¨Ï¥Î¥¦¥i¥H¦b Matrox Gx00, ATI Rage Pro, SiS 6326, i810, + Savage, ¥H¤Îªº NVIDIA ¤W±o¨ì¦³ªº OpenGL ¥[³t¡C</para> + </answer> + </qandaentry> + </qandaset> + </chapter> + + <chapter id="networking"> + <chapterinfo> + <author> + <firstname>Biing Jong</firstname> + <surname>Lin</surname> + <affiliation> + <address><email>bjlin@stic.gov.tw</email></address> + </affiliation> + </author> + </chapterinfo> + + <title>Networking</title> + + <qandaset> + <qandaentry> + <question id="diskless-booting"> + <para>§ÚÀ³¸Ó¨ìþÃä§ä¦³ÃöµLºÏºÐ¶}¾÷ + <quote>diskless booting</quote> ªº¸ê®Æ¡H</para> + </question> + + <answer> + <para><quote>Diskless booting</quote> ´N¬OÅý FreeBSD ¥D¾÷±qºô¸ô + ¤W¶}¾÷¡A¨Ã¥B±qºô¸ô¤Wªº server ¤WŪ¨ú¨ä¥L¥²nªºÀɮסA¦Ó«D¥Ñ¥D¾÷ + ªºµwºÐ¤W¨ú±o³o¨ÇÀɮסC¸Ô²Óªº¸ê®Æ¥i¥H°Ñ¦Ò <ulink + url="../handbook/diskless.html"> FreeBSD ¤â¥UªºµLºÏºÐ¶}¾÷½g + </ulink>¡C</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="router"> + <para>FreeBSD ªº¥D¾÷¥i¥H·í§@¬YÓºô¸ô¤Wªº¸ô¥Ñ¾¹(router)¶Ü¡H</para> + </question> + + <answer> + <para>¬Oªº¡C½Ð°Ñ¦Ò FreeBSD ¤â¥Uªººô¸ô¶i¶¥½g <ulink + url="../handbook/routing.html"> advanced + networking</ulink>¡A¤×¨ä¬O¸ô¥Ñ»P¹h¹D¾¹ <ulink + url="../handbook/routing.html#DEDICATED-ROUTER">routing + and gateways</ulink>ªº³¡¤À¡C</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="win95-connection"> + <para>§Ú¥i¥H³z¹L FreeBSD ±N§Úªº Win95 ¾÷¾¹³s¤W Internet ¶Ü¡H</para> + </question> + + <answer> + <para>°ò¥»¤W¡A·|°Ý³oºØ°ÝÃDªº¤H¦b®a¸Ì¦Ü¤Ö¦³¨â¥x¹q¸£¡A¤@¥x¶] FreeBSD + ¥t¥~¤@¥x¶] Win95¡F³oÓ·Qªk¬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¨Ò</para> <para>... µª®×¬O¡G¥i¥Hªº¡I¦b FreeBSD 3.x + ª©¤¤¡A¨Ï¥ÎªÌ¼Ò¦¡(user-mode)ªº &man.ppp.8; ¥]§t¤F + <option>-nat</option> ¿ï¶µ¡C¦pªG§A¦b + <filename>/etc/rc.conf</filename> ¨Ï¥Î<option>-nat</option>¿ï¶µ¨Ã + ³]©w <literal>gateway_enable</literal> ¬° <emphasis>YES</emphasis> + ¡A¥H³oºØ³]©w±Ò°Ê &man.ppp.8; ¡A¨Ã¥B¥¿½Tªº³]©w§Aªº Windows ¥D¾÷ªº + ¸Ü¡A³oÓ°µªkÀ³¸Ó¬O¥i¥H¥¿±`¨Ï¥Îªº¡C</para> + + <para>Ãö©ó¥»¥DÃD§ó¸Ô²Óªº¸ê®Æ¥i¥H°Ñ¦Ò Steve Sims ©Ò¼¶¼gªº <ulink + url="../ppp-primer/index.html"> Pedantic PPP Primer</ulink> ¤@¤å¡C + </para> + + <para>¦pªG§A¨Ï¥Îªº¬O®Ö¤ß¼Ò¦¡ (kernel-mode) PPP¡A©ÎªÌ§A¦³°Ï°ì³s½u + (Ethernet connection) ¥i³q¹F Internet ªº¸Ü¡A§A±N»Ýn¨Ï¥Î + &man.natd.8;¡C½Ð¬d¾\ FAQ ¤¤Ãö©ó <link linkend="natd">natd</link> + ªº³¡¤À¡C</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="slip-ppp-support"> + <para>FreeBSD ¤ä´© SLIP ©M PPP ¶Ü¡H</para> + </question> + + <answer> + <para>¬Oªº¡C§A¥i¥H¬d¬d man pages ¤¤Ãö©ó &man.slattach.8;¡A + &man.sliplogin.8;¡A&man.ppp.8;¡A¥H¤Î &man.pppd.8; ªº³¡¤À¡C + &man.ppp.8; ¤Î &man.pppd.8; ´£¨Ñ¶i¥XÂù¦V³s½uªº¤ä´©¡A¥t¥~ + &man.sliplogin.8; ±Mªù´£¨Ñ¶i¤J³s½uªº¤ä´©¡A¦Ó &man.slattach.8; + ±Mªù´£¨Ñ¦V¥~³s½uªº¤ä´©¡C</para> + + <para>¦pªG§A»Ýn§ó¶i¤@¨Bªº¸ê®Æªº¸Ü,½Ð¬d¾\ <ulink + url="../handbook/ppp-and-slip.html">FreeBSD ¤â¥U¤¤Ãö©ó PPP »P SLIP + ªº»¡©ú</ulink>¡C</para> + + <para>¦pªG§A¥u¯à°÷¹L <quote>shell account</quote> ³s½u¨ì Internet + ªº¸Ü¡A§A¤]³\¥i¥H¸Õ¸Õ <filename role="package">net/slirp</filename> + ³oÓ®M¥óµ{¦¡¡C³oÓ®M¥óµ{¦¡¥i¥H´£¨Ñ§Aªº¹q¸£ª½±µ³s¤W¬Y¨Ç(©wªº)ªA°È + ³s½u¡A¦p ftp ¤Î http µ¥µ¥¡C</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="natd"> + <para>FreeBSD ¤ä´© NAT ©Î Masquerading ¶Ü¡H</para> + </question> + + <answer> + <para>¦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°Ñ¦Ò &man.natd.8; ³oÓµ{¦¡¡C &man.natd.8; + Åý§A¥i¥H³z¹L³o¤@Ó IP number Åý¾ãÓ¤lºô¸ôªº¹q¸£³£¯à³s¤W internet¡C + </para> + + <para>&man.ppp.8; ³oÓµ{¦¡¤]´£¨ÑÃþ¦üªº¥\¯à¡A¦pªG§A«ü©w + <option>-nat</option> ¿ï¶µ¡Calias library (&man.libalias.3;) + ¦b³o¨âÓ³B²z¤è¦¡¤¤³£·|³Q¨Ï¥Î¨ì¡C</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="parallel-connect"> + <para>§Ú¦p¦ó±N¨â¥x FreeBSD ¥D¾÷¥Î¥¦æ°ð (parallel line) ³z¹L PLIP + ³s½u¡H</para> + </question> + + <answer> + <para>½Ð°Ñ¦Ò¤â¥U¤¤Ãö©ó <ulink url="../handbook/plip.html">PLIP + section</ulink> ªº³¡¤À¡C</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="create-dev-net"> + <para>§Ú¨S¦³¿ìªk«Ø¥ß <filename>/dev/ed0</filename> ³oÓ device¡A + ¬°¤°»ò¡H</para> + </question> + + <answer> + <para>¦]¬°¤£»Ýn¡I¦b Berkeley ºô¸ô¬[ºc¤¤¡A¥u¦³ kernel µ{¦¡½X¥i¥Hª½ + ±µ¦s¨úºô¸ô¬É±¥d¡C½Ð°Ñ¦Ò <filename>/etc/rc.network</filename> ³o + ÓÀɮשM manual pages ¨ú±o»P¨ä¥L¤£¦Pºô¸ôµ{¦¡¡C§ó¶i¤@¨Bªº¸ê°T¡G¦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</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="ethernet-aliases"> + <para>§Ú¦p¦ó«Ø¥ß Ethernet aliases¡H</para> + </question> + + <answer> + <para>¦pªG§Aªº alias ¦ì§}¸ò§A¥Ø«eºô¸ô¤¶±ªº¦ì§}¦b¦P¤@Ó¤lºô¸ô¤Uªº + ¸Ü¡A¥[¤J¤@Ó <literal>netmask 0xffffffff</literal> ¦b§Aªº + &man.ifconfig.8; command-line¡A½d¨Ò¦p¤U¡G</para> + <screen>&prompt.root; <userinput>ifconfig ed0 alias 192.0.2.2 netmask 0xffffffff</userinput></screen> + <para>¤£µMªº¸Ü¡A´N¦p¦P¥[¤J¤@Ó·sªººô¸ô¦ì§}¤@¼Ë¿é¤J§Aªººô¸ô¦ì§}»P¤l + ºô¸ô¾B¸n¡G</para> + <screen>&prompt.root; <userinput>ifconfig ed0 alias 172.16.141.5 netmask 0xffffff00</userinput></screen> + </answer> + </qandaentry> + + <qandaentry> + <question id="port-3c503"> + <para>§Ú¦p¦ó«ü©w§Úªº 3C503 ¨Ï¥Î¨ä¥L¤£¦Pªºªº network port¡H</para> + </question> + + <answer> + <para>¦pªG±z·Q¨Ï¥Î¨ä¥Lªº port¡A§A¥²¶·¦b &man.ifconfig.8; ªº©R¥O¤¤ + «ü©wÃB¥~ªº°Ñ¼Æ¡C¤º©wªº port ¬O <literal>link0</literal>¡Cn¨Ï¥Î + AUI port ¥N´À BNC port ªº¸Ü¡A§ï¥Î <literal>link2</literal>¡C³o¨Ç + flags À³¸Ó§ïÅÜifconfig_* ªºÅܼƨӫü©w¡A §A¥i¥H¦b + <filename>/etc/rc.conf</filename> ³oÓÀɮ׸̱§ä¨ì (½Ð°Ñ¦Ò + &man.rc.conf.5;)¡C</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="nfs"> + <para>¬°¤°»ò§Ú¦b¨Ï¥Î FreeBSD ªº NFS ®É¥X²{°ÝÃD¡H</para> + </question> + + <answer> + <para>§Ú̥Χt»W¤@ÂIªº»¡ªk¡A¬Y¨Ç PC ªººô¸ô¥d¤ñ¨ä¥Lªº¦n¡A³oºØª¬ªp¦b + ³y¦¨ NFS ³oºØ¹ïºô¸ô±Ó·Pªºµ{¦¡¦³®É·|¥X²{°ÝÃD¡C</para> + + <para>°Ñ¦Ò <ulink url="../handbook/nfs.html"> + the Handbook entry on NFS</ulink> ¥HÀò±o³oÓ¥DÃDªº§ó¦h¸ê°T¡C</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="nfs-linux"> + <para>¬°¤°»ò§Ú¤£¯à NFS-mount Linux ªº¾÷¾¹¡H</para> + </question> + + <answer> + <para>¬Y¨Çª©¥»ªº Linux NFS µ{¦¡½X¥u±µ¨ü privileged port ªº + mount request¡F¸Õ¥Î³o¦æ«ü¥O¬Ý¬Ý</para> + + <screen>&prompt.root; <userinput>mount -o -P linuxbox:/blah /mnt</userinput></screen> + </answer> + </qandaentry> + + <qandaentry> + <question id="nfs-sun"> + <para>¬°¤°»ò§Ú¤£¯à NFS-mount Sun ªº¾÷¾¹¡H</para> + </question> + + <answer> + <para>¶] SunOS 4.X ªº Sun ¤u§@¯¸¥u±µ¨ü¨Ó¦Û privileged port ªº + mount request¡F¸Õ¥Î³o¦æ«ü¥O¬Ý¬Ý</para> + + <screen>&prompt.root; <userinput>mount -o -P sunbox:/blah /mnt</userinput></screen> + </answer> + </qandaentry> + + <qandaentry> + <question id="exports-errors"> + <para>¬°¤°»ò <command>mountd</command> ¤@ª½°¥s»¡ + <errorname>can't change attributes</errorname> ¦Ó¥B§Ú¤@ª½¬Ý¨ì + <errorname>bad exports list</errorname> ³oÓ°T®§¦b§Úªº FreeBSD NFS + ¦øªA¾¹¤W¡H</para> + </question> + + <answer> + <para>³oÓ°ÝÃD³Ì±`µo¥Íªºì¦]¬O¦b©ó¤£¤F¸Ñ + <filename>/etc/exports</filename> ªº¥¿½T®æ¦¡¡C½Ð¸ÔŪ + &man.exports.5; ¥H¤Î¤â¥U¤¤Ãö©ó <ulink + url="../handbook/nfs.html">NFS</ulink> ªº³¡¤À¡A¯S§O¬O<ulink + url="../handbook/nfs.html#CONFIGURING-NFS">configuring + NFS</ulink>³o¤@¬q¡C</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="ppp-nextstep"> + <para>¬°¤°»ò§Ú¦b¨Ï¥Î PPP ³s½u¨ì NeXTStep ¾÷¾¹®É¦³°ÝÃD¡H</para> + </question> + + <answer> + + <para>§â TCP extensions ¨ú®ø¡A³oÓ³]©w¦b + <filename>/etc/rc.conf</filename> ¸Ì±(°Ñ¦Ò &man.rc.conf.5;) §â + ¥H¤U³oÓȳ]¦¨ NO¡G</para> + + <programlisting>tcp_extensions=NO</programlisting> + + <para>Xylogic ªº Annex ¥D¾÷¤]¦³¬Û¦Pªº°ÝÃD¡A±zn°µ¬Û¦Pªº×§ï¤~¯à³s + ¤W³o¨Ç¥D¾÷¡C</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="ip-multicast"> + <para>§Ún«ç¼Ë¤~¯à§â IP multicast support ¥´¶}¡H</para> + </question> + + <answer> + <para>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 <literal>MROUTING</literal> ªº¿ï¶µ¡A¨Ã¥B°õ¦æ + &man.mrouted.8; FreeBSD 2.2 ¤Î¤§«áªºª©¥»·|¦b¶}¾÷®É°õ¦æ + &man.mrouted.8; ¦pªG¦b <filename>/etc/rc.conf</filename> ¤¤ + <literal>mrouted_enable</literal> ³]©w¬° <literal>"YES"</literal> + </para> + + <para>MBONE ªº¦UºØ¤u¨ã¥i¥H¦b¥LÌ ports ¤U©ÒÄÝ¥s°µ <ulink + url="http://www.FreeBSD.org/ports/mbone.html">mbone</ulink> ¥Ø¿ý + ¤¤§ä¨ì¡C¦pªG±z¦b§äµø°T·|ijªº¤u¨ã¦p <command>vic</command> ¥H¤Î + <command>vat</command>ªº¸Ü¡A¨ì¨ºÃä§ä§ä§a¡I</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="dec-pci-chipset"> + <para>þ¨Çºô¸ô¥d¬O¨Ï¥Î DEC PCI chipset¡H</para> + </question><answer> + + <para>¥H¤U¬O Glen Foster <email>gfoster@driver.nsta.org</email> + ´£¨Ñªº²M³æ¡G</para> + + <table> + <title>Network cards based on the DEC PCI chipset</title> + + <tgroup cols="2"> + <thead> + <row> + <entry>Vendor</entry> + <entry>Model</entry> + </row> + </thead> + + <tbody> + <row> + <entry>ASUS</entry> + <entry>PCI-L101-TB</entry> + </row> + <row> + <entry>Accton</entry> + <entry>ENI1203</entry> + </row> + <row> + <entry>Cogent</entry> + <entry>EM960PCI</entry> + </row> + <row> + <entry>Compex</entry> + <entry>ENET32-PCI</entry> + </row> + <row> + <entry>D-Link</entry> + <entry>DE-530</entry> + </row> + <row> + <entry>Dayna</entry> + <entry>DP1203, DP2100</entry> + </row> + <row> + <entry>DEC</entry> + <entry>DE435, DE450</entry> + </row> + <row> + <entry>Danpex</entry> + <entry>EN-9400P3</entry> + </row> + <row> + <entry>JCIS</entry> + <entry>Condor JC1260</entry> + </row> + <row> + <entry>Linksys</entry> + <entry>EtherPCI</entry> + </row> + <row> + <entry>Mylex</entry> + <entry>LNP101</entry> + </row> + <row> + <entry>SMC</entry> + <entry>EtherPower 10/100 (Model 9332)</entry> + </row> + <row> + <entry>SMC</entry> + <entry>EtherPower (Model 8432)</entry> + </row> + <row> + <entry>TopWare</entry> + <entry>TE-3500P</entry> + </row> + <row> + <entry>Znyx (2.2.x)</entry> + <entry>ZX312, ZX314, ZX342, ZX345, ZX346, ZX348</entry> + </row> + <row> + <entry>Znyx (3.x)</entry> + <entry>ZX345Q, ZX346Q, ZX348Q, ZX412Q, ZX414, ZX442, ZX444, + ZX474, ZX478, ZX212, ZX214 (10mbps/hd)</entry> + </row> + </tbody> + </tgroup> + </table> + </answer> + </qandaentry> + + <qandaentry> + <question id="fqdn-hosts"> + <para>¬°¤°»òn¥Î FQDN ¤~¯à³s¨ì¨ä¥L¾÷¾¹¡H</para> + </question> + + <answer> + <para>§A¤]³\·|µo²{n³sªº¾÷¾¹¨ä¹ê¬O¦b¥t¤@Óºô°ì¡CÁ|Ó¨Ò¤l¡A°²³]§A¬O¦b + foo.bar.edu ³oÓºô°ì¤¤¡A·Qn³s¨ì¦b¤@¥x¥s <hostid>mumble</hostid> + ªº¥D¾÷¡A¥L¦b <hostid role="domainname">example.org</hostid> ºô°ì¤U¡A + §A¥²¶·¥Î Fully-Qualified Domain Name <hostid + role="fqdn">mumble.example.org</hostid>¡A¦Ó¤£¬O¥u¥Î + <hostid>mumble</hostid>¡C</para> + + <para>¶Ç²Îªº BSD BIND resolver ¤¹³\¥Î³oºØ¤è¦¡¸Ñ¥X¾÷¾¹ªº¦ì§}¡A¦ý¬O + FreeBSD ¤ºªþ <application>bind</application> (see &man.named.8;) + ª©¥»¤º©w¤è¦¡¡A«h¬O°£¤F§A©Ò¦bªººô°ì¥H¥~¡A¤£¤ä´©¨ä¥L«D FQDN ªºÁY¼g¡C + ©Ò¥H¦p <hostid>mumble</hostid> ¥²¶·¦b <hostid + role="fqdn">mumble.foo.example.org</hostid>¡A§_«h´N·|±qºô°ìªº³Ì©³ + ¼h¶}©l§ä¡C</para> + + <para>³o©M¥ý«eªº°µªk¤£¦P¡A¤]´N¬O¤£¥Î + <hostid role="domainname">mumble.example.org</hostid>¡A©M + <hostid role="domainname">mumble.edu</hostid> Ä~Äò·j´M¡C + ¬Ý¤@¤U RFC 1535¡A¸Ì±¦³´£¨ì¬°¤°»ò¤§«eªº°µªk¤£¦n¡A¬Æ¦Üºâ¬OÓ¦w¥þ + º|¬}¡C</para> + + <para>³o¸Ì¦³Ó¤£¿ùªº¸Ñªk, §A¥i¥H¥[¤J¤@¦æ</para> + + <programlisting>search foo.example.org example.org</programlisting> + + <para>instead of the previous</para> + + <programlisting>domain foo.example.org</programlisting> + + <para>¦b§Aªº <filename>/etc/resolv.conf</filename> Àɮפ¤ (½Ð°Ñ¦Ò + &man.resolv.conf.5;)¡C¦ý¬On½T©w·j´M¶¶§Ç¤£·|¹H¤Ï RFC 1535 ©Ò¿×ªº + <quote>boundary between local and public administration</quote>¡C + </para> + </answer> + </qandaentry> + + <qandaentry> + <question id="network-permission-denied"> + <para>¬°¤°»ò§Ú¦b³s½u®É¤@ª½¥X²{ + <errorname>Permission denied</errorname> ªº¿ù»~°T®§¡H</para> + </question> + + <answer> + <para> ¦pªG¦b½sĶ kernel ®É¥[¤J <literal>IPFIREWALL</literal> ¿ï¶µ¡A + ½Ðª`·N 2.1.7R ¤º©w¬O©Úµ´©Ò¦³¥¼¸g®Ö㪺ºô¸ô«Ê¥](¦ý¦b¶}µo + 2.1-STABLE ®É§ï±¼¤F)¡C</para> + + <para>I¦pªG¤£¤p¤ß§Ë¿ù¤F firewall ªº³]©w¡A§A¥i¥H¥H + <username>root</username> °õ¦æ¥H¤U©R¥Oºô¸ô¥\¯à´N·|«ì´_¥¿±`¡G</para> + + <screen>&prompt.root; <userinput>ipfw add 65534 allow all from any to any</userinput></screen> + + <para>¤]¥i¥H¦b <filename>/etc/rc.conf</filename> ¥[¤J + <literal>firewall_type="open"</literal> ªº¿ï¶µ¡C</para> + + <para>¦pªG·Qª¾¹D¦p¦ó³]©w FreeBSD firewall¡A½Ð°Ñ¦Ò <ulink + url="../handbook/firewalls.html">¤â¥U¤¤¬ÛÃö³¹¸`</ulink>¡C</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="ipfw-overhead"> + <para>IPFW ·|³y¦¨¦h¤jªººô¸ô©µ¿ð¡H</para> + </question> + + <answer> + <para>½Ð°Ñ¦Ò¤â¥U¤¤ <ulink + url="../handbook/firewalls.html">Firewalls</ulink> ³¹¸`¡A¯S§O¬O + <ulink url="../handbook/firewalls.html#IPFW-OVERHEAD">IPFW + Overhead & Optimization</ulink> ³o¤@¬q¡C</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="ipfw-fwd"> + <para>¬°¤°»ò§Úªº <command>ipfw</command> <quote>fwd</quote> + redirect ³W«h±NªA°ÈÂà¦V¨ä¥L¾÷¾¹®ÉµLªk¥¿±`¹B§@¡H</para> + </question> + + <answer> + <para>¥i¯à¬O§A°£¤FÂà°e«Ê¥]¥H¥~ÁÙÃB¥~·Q¶i¦æ¦ì§}ÂàĶ + (network address translation, NAT)¡A<quote>fwd</quote> ³W«h©Ò¶i + ¦æªº°Ê§@´N¦p¦P¦r±©Ò¥Ü¡F¶ÈÂà°e«Ê¥]¡A¥¦¨Ã¤£·|¥hקï«Ê¥]¤¤ªº¸ê®Æ¡C + °²³]§Ú̦³¦p¤Uªº³W«h¡G</para> + + <screen>01000 fwd <replaceable>10.0.0.1</replaceable> from any to <replaceable>foo 21</replaceable></screen> + + <para>·í¤@Ó³q©¹¯S©w¥Ø¼Ð¦ì§} <replaceable>foo</replaceable> ªº«Ê¥] + °e¹F¥D¾÷®É¡A®Ú¾Ú³o±ø³W«h¡A«Ê¥]±N³QÂà°e¦Ü + <replaceable>10.0.0.1</replaceable>¡A¦ý¬O¥¦ªº¥Ø¼Ð¦ì§}«o¤´µM¬O + <replaceable>foo</replaceable>¡I«Ê¥]ªº¥Ø¼Ð¦ì§}¨Ã + <emphasis>¨S¦³</emphasis> §ó§ï¬° + <replaceable>10.0.0.1</replaceable>¡C¤j³¡¤Àªº¥D¾÷·|±N«Ê¥]¥á±ó¡A + ¦]¬°¥L̨䣬O³oӥؼЦì§}¡C¦]¦¹¡A¨Ï¥Î <quote>fwd</quote> ³W«h + ®É©¹©¹¤£¦p¨Ï¥ÎªÌ©Ò¹w´Áªº¨º¯ë¶¶§Q¡C³oºØ¦æ¬°¬O¨t²Î¯S©Ê¡A¦Ó«D¿ù»~¡C + </para> + + <para>°Ñ¦Ò <link linkend="service-redirect">Ãö©óªA°ÈÂà¦Vªº±`¨£°Ý + µª¶°</link>¡A &man.natd.8; ¤â¥U¡A©ÎªÌ¬O¨Ï¥Î <ulink + url="../../../../ports/index.html">ports collection</ulink> ¤¤³\ + ¦hªA°ÈÂà¦Vªº¤u¨ã¨Ó¥¿½Tªº§¹¦¨§A·Q¶i¦æªº¤u§@¡C</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="service-redirect"> + <para>n¦p¦ó§â¹ï¬Y¥x¾÷¾¹ªººô¸ôªA°Èn¨D(service request)Âà¦V¨ì¥t¤@¥x¡H + </para> + </question> + + <answer> + <para>¦b ports ¥Ø¿ýªº<quote>sysutils</quote>¤ÀÃþ¤¤¦³Ó¥s + <literal>socket</literal> ªº®M¥ó¡A¥i¥HÀ°§AÂà¦V FTP ©Î¨ä¥LÃþ¦üªº + ºô¸ôªA°È¡C¥un§â¸Óºô¸ôªA°Èªº©R¥O§ï¦¨©I¥s socket §Y¥i¡A¦p¤U©Ò¥Ü¡G + </para> + + <programlisting>ftp stream tcp nowait nobody /usr/local/bin/socket socket <replaceable>ftp.example.com</replaceable> <replaceable>ftp</replaceable></programlisting> + + <para>¨ä¤¤ <replaceable>ftp.example.com</replaceable> »P + <replaceable>ftp</replaceable> ¤À§O¬O³QÂà¨ìªº¾÷¾¹©M port ¦WºÙ¡C + </para> + </answer> + </qandaentry> + + <qandaentry> + <question id="bandwidth-mgr-tool"> + <para>¨º¸Ì¥i¥H§ä¨ìºÞ²zÀW¼eªº¤u¨ã¡H</para> + </question> + + <answer> + <para>FreeBSD ¤W¦³¤T®MÀW¼eºÞ²z¤u¨ã¡G &man.dummynet.4; ¤w¸g¾ã¦X¶i¤J + FreeBSD ¨t²Î(§ó¸Ô²Óªº¥Î³~, &man.ipfw.4;); <ulink + url="http://www.csl.sony.co.jp/person/kjc/programs.html">ALTQ</ulink> + ¥i¥H§K¶O¨Ï¥Î¡A<ulink + url="http://www.etinc.com/">Emerging Technologies</ulink> + ±À¥Xªº Bandwidth Manager «h¬O°Ó¥Î³nÅé¡C</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="bpf-not-configured"> + <para>«ç»ò·|¶]¥X + <errorname>/dev/bpf0: device not configured</errorname>³oÓ°T®§¡H + </para> + </question> + + <answer> + <para>§A°õ¦æ¤F¤@Ó»Ýn¬f§JµÜ«Ê¥]¹LÂo¾¹ (Berkeley Packet Filter) ªº + µ{¦¡ (&man.bpf.4;)¡A¦ý¬O§A¦b kernel ¤¤¨S¦³±Ò°Ê¥¦¡C§â¤U±³o¤@¦æ¥[ + ¤J kernel ³]©wÀɤ¤¡A½sĶ¤@Ó·sªº kernel¡G</para> + + <programlisting>pseudo-device bpf # Berkeley Packet Filter</programlisting> + + <para>¦b«·s¶}¾÷¤§«á¡AÁÙn°µ¥X device node¡A¦b + <filename>/dev</filename> ¤U°õ¦æ¡G</para> + + <screen>&prompt.root; <userinput>sh MAKEDEV bpf0</userinput></screen> + + <para>¦pªG·Qn§ó¶i¤@¨Bª¾¹D¦p¦ó°µ¥X¦UºØ device node¡A½Ð°Ñ¾\ <ulink + url="../handbook/kernelconfig-nodes.html">Handbook Ãö©ó¶gÃä¸`ÂIªº»¡©ú</ulink> + ¡C</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="mount-smb-share"> + <para>§Ún«ç¼Ë¤~¯à±N Windows ¾÷¾¹¤¤ªººÏºÐ±¾¤J¨t²Î, ´N¹³ Linux ´£¨Ñ + ªº smbmount ¨º¼Ë¡H</para> + </question> + + <answer> + <para>¨Ï¥Î <application>SMBFS</application> ¤u¨ã²Õ¡C³o®M¤u¨ã²Õ¤¤ + ¥]§t¤F¤@¨t¦Cªº kernel קïÁÙ¦³¨Ï¥ÎªÌªº¤u¨ãµ{¦¡(userland programs)¡C + ³o¨Çµ{¦¡©M¸ê°T¦b ports ¦¬Âä¤ + <filename role="package">net/smbfs</filename> ¤U¥i¥H§ä¨ì¡C¦b + 4.5-RELEASE ¤§«áªºª©¥»«h¬O¨t²Î¤¤¤º«Ø¡C</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="icmp-response-bw-limit"> + <para>§Ú¦b¨t²Î¤é»x¤¤µo²{¥H¤U°T®§¡G + <quote>icmp-response bandwidth limit 300/200 pps</quote>¡A³o¬O + ½¼¦Ì¸J¿|¡H</para> + </question> + + <answer> + <para>³o¬O¨t²Î®Ö¤ß§i¶D§A¦³¬Y¨Ç¬¡°Ê¤Þµo¥¦°e¥X¤ñ¥¦©Ò»{¬°À³¸Ó°e¥X§ó + ¦hªº ICMP ©Î TCP «¸m°T®§ (RST)¡CICMP ¦^À³°T®§±`±`¬O¦]¬°¦³¤H¹Á + ¸Õ³s±µ¥¼³Q¨Ï¥Îªº UDP ³q°T°ð¡CTCP «¸m°T®§«h¬O¦³¤H¹Á¸Õ³s±µ¥¼¶} + ©ñ TCP ³q°T°ð³y¦¨ªºµ²ªG¡C¥H¤U³o¨Ç¬¡°Ê¥i¯à´N¬O³y¦¨³o¨Ç°T®§ªºì¦]¡G + </para> + + <itemizedlist> + <listitem> + <para>¼É¤OªkªºªA°È²Õµ´§ðÀ»(DoS)¤è¦¡ + (¬Û¸û©ó°w¹ï¯S®í®zÂI¨Ï¥Î³æ¤@«Ê¥]ªº§ðÀ»¤è¦¡)¡C</para> + </listitem> + + <listitem> + <para>¤j¶qªº³q°T°ð±½´y(¬Û¸û©ó¶È¹Á¸Õ¤Ö¼Æªº±`¨£ªA°È³q°T°ð)¡C</para> + </listitem> + </itemizedlist> + + <para>¥X²{ªº¼Æ¦r¤¤²Ä¤@Ó¥Nªí®Ú¾Ú³o¨Ç¬y¶q kernel À³¸Ó°e¥Xªº«Ê¥]¼Æ¡A + ²Ä¤GӼƦr«h¬O kernel ¥Ø«e¨î³Ì¤jµo°e¼Æ¡C§A¥i¥H§Q¥Î sysctl קï + <varname>net.inet.icmp.icmplim</varname> ÅܼÆȨӧó§ï³Ì¤jÈ¡CÁ| + ¨Ò¨Ó»¡,¦pªG§Æ±æקï¨î¬° <literal>300</literal> packets per + second¡G</para> + + <screen>&prompt.root; <userinput>sysctl -w net.inet.icmp.icmplim=300</userinput></screen> + + <para>¦pªG§A¤£·Q¦b¨t²Î¬ö¿ý¤¤¬Ý¨ì³o¨Ç°T®§¡A¦ý¬O¤´µM§Æ±æ«O«ù¦^À³ªº + ¨îªº¸Ü¡A§A¥i¥H§Q¥Î sysctl קï + <varname>net.inet.icmp.icmplim_output</varname> ÅܼƨӨú®ø³o¨Ç°T + ®§¡G</para> + + <screen>&prompt.root; <userinput>sysctl -w net.inet.icmp.icmplim_output=0</userinput></screen> + + <para>³Ì«á¡A¦pªG§A·Q¨ú®ø³o¨Ç¨îªº¸Ü¡A§A¥i¥H³]©w + <varname>net.inet.icmp.icmplim</varname> (¦p¤W¨Ò©Ò¥Ü) ¬° + <literal>0</literal>¡C°ò©ó¤Wz²z¥Ñ¡A§Ṳ́£«Øij§A¨ú®ø³o¨Ç¨î¡C + </para> + </answer> + </qandaentry> + + <qandaentry> + <question id="unknown-hw-addr-format"> + <para>³oÓ¿ù»~°T®§ + <errorname>arp: unknown hardware address format</errorname> + ¬O¤°»ò·N«ä¡H</para> + </question> + + <answer> + <para>³o¥Nªí§Aªº°Ï°ìºô¸ô³s½u¤W¦³¤@¨Ç³]³Æ¨Ï¥Î FreeBSD ¬Ý¤£À´ªº MAC + ®æ¦¡¡C³o³q±`¬O¥Nªí¦³¤H¦b§Aªº°Ï°ìºô¸ô¤W¶i¦æ¹êÅç¡A³Ì±`¨£ªº´N¬O + cable modem ªº³s½u¡C³o°T®§µL®`¡A¦Ó¥BÀ³¸Ó¤£¦Ü©ó¼vÅT¨ì FreeBSD ¥D + ¾÷ªº®Ä¯à¡C</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="cvsup-missing-libs"> + <para>§Úèè¸Ë¦n CVSup ®M¥ó¡A¦ý¬O¦b¹Á¸Õ°õ¦æ®Éµo¥Í¤F¿ù»~¡An«ç»ò¿ì¡H + </para> + </question> + + <answer> + <para>º¥ý¡A¬Ý¬Ý¿ù»~ªº°T®§¬O§_¦p¤U¡G</para> + + <programlisting>/usr/libexec/ld-elf.so.1: Shared object "libXaw.so.6" not found</programlisting> + + <para>³oºØ¿ù»~°T®§¥Nªí§A¥D¾÷¤W¦w¸Ëªº + <filename role="package">net/cvsup</filename> ¨S¦³¥]§t + <application>XFree86</application> ®M¥ó¡C¦pªG§A·Qn¨Ï¥Î + <application>CVSup</application> ¤º«Øªº¹Ï§Î¤¶± + <acronym>GUI</acronym> ªº¸Ü¡A§A»Ýn¦w¸Ë + <application>XFree86</application>¡C¦¹¥~¡A¦pªG§A¥u·Q¥H©R¥O¦C¤è + ¦¡¨Ï¥Î <application>CVSup</application> ªº¸Ü¡A§AÀ³¸Ó¥ý²¾°£¤§«e + ¦w¸Ëªº®M¥ó¡C¨Ã¦w¸Ë + <filename role="package">net/cvsup-without-gui</filename> ³o®M + ³nÅé¡C¦b FreeBSD ¤â¥U¤¤ <ulink + url="http://www.freebsd.org/handbook/cvsup.html">CVSup</ulink> + ¬q¸¨¤¤¦³§ó¸Ô²Óªº»¡©ú¡C</para> + </answer> + </qandaentry> + </qandaset> + </chapter> + + <chapter id="security"> + <chapterinfo> + <author> + <firstname>Biing Jong</firstname> + <surname>Lin</surname> + <affiliation> + <address><email>bjlin@stic.gov.tw</email></address> + </affiliation> + </author> + </chapterinfo> + + <title>¨t²Î¦w¥þ½g</title> + <qandaset> + <qandaentry> + <question id="sandbox"> + <para>¤°»ò¬O sandbox¡H</para> + </question><answer> + + <para><quote>Sandbox</quote> ¬O¨t²Î¦w¥þ¥Îªº³N»y¡A¦³¨âÓ·N¸q¡G</para> + + <itemizedlist> + <listitem> + + <para>©ñ¦b¬Y¨ÇµêÀÀ¨¾Å@Àð¸Ìªº°õ¦æµ{§Ç¡A³o¨Ç¨¾Å@Àð¬O¥Î¨Óªý¤î + ¬Y¨Ç¤H«I¤J³o¹Dµ{§Ç¡A¶i¦Ó¥X¤J©ó§ó¤jªº¨t²Î¤¤¡C</para> + + <para>³o¹Dµ{§Ç¥i¥H§¹¥þ¦b¨¾Å@Àð¸Ì <quote>°Ê§@</quote>¡C¤]´N + ¬O»¡¡A¥¦©Ò°õ¦æªº¥ô¦óµ{¦¡¤£¥i¯à·|º¯³z¨ìÀ𪺥~±¡C©Ò¥H¦pªG + ±z¹ï¥¦¦³¦w¥þ¤WªºÅU¼{¡A¨Ã¤£»Ýn¯S§O¥hºÊÅ¥¥¦ªº¤@Á|¤@°Ê¡A¤Ï + ¥¿¥¦¥u¯à¦bÀ𤺬¡°Ê¡C</para> + + <para>Á|¨Ò¨Ó»¡¡A¥i¥H¥Î userid ¨Ó°µ³o¹D¨¾Å@Àð¡A³o¥¿¬O security + ©M named »¡©ú¤å¥ó¤¤ªº©w¸q¡C</para> + + <para>²{¦b´N¥Î <literal>ntalk</literal> ³oÓªA°È§@»¡©ú¡]¨£ + /etc/inetd.conf¡^¡C³oÓªA°È¥H«eªº userid ¬O + <username>root</username>¡A²{¦b°õ¦æ®É«h¬O¥Î + <username>tty</username>¡C<username>tty</username> + ³oӨϥΪ̴N¬O¤@Ó sandbox¡A¦pªG¦³¤H¯à°÷¶¶§Q¥Î ntalk + «I¤J¨t²Î¡A²{¦b¥L´Nºâ¶i±o¨Ó¤]¥u¯à¥Î³oÓ userid¡C</para> + </listitem> + + <listitem> + <para>©ñ¦b¬YÓ¼ÒÀÀ¾÷¾¹¸Ìªºµ{¦¡¡A³o¤ñ¤Wz¨Ó±o§óÄY±K¡C°ò¥»¤W + ³oªí¥Ü¯à«I¤J¸Óµ{¦¡ªº¤H¬Û«H¥L¯à¦A¶i¤J©ÒÄݪº¾÷¾¹¡A¦ý¨Æ¹ê¤W + ¥u·|¶i¤J¼ÒÀÀ¥X¨Óªº¾÷¾¹¡AµLªk¶i¤@¨Bקï¥ô¦ó¯u¹êªº¸ê®Æ¡C</para> + + <para>¹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</para> + + <para>¥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</para> + + <para>§Ú̸չϱN³oÃþ sandbox ºÉ¶q³z©ú¤Æ¡AÅý¨Ï¥ÎªÌ©Î«I¤JªÌ + µLªk¬Ý¨ì¥L¬O§_¦b¬YÓ sandbox ¸Ì±¡C</para> + </listitem> + </itemizedlist> + + <para>UNIX ¹ê§@¨âºØ sandbox¡A¤@Ó¦bµ{¦¡¼h±¡A¥t¤@Ó«h¬O¥Ñ userid + ¨Ó¹F¦¨¡C</para> + + <para>¨CÓ UNIX °õ¦æµ{§Ç·|¥Î¨¾¤õÀð±N¥¦©M©Ò¦³¨ä¥Lµ{§Ç¹j¶}¡A¬YÓµ{§Ç + ¤£¥i¥HÀH·Nקï¨ä¥Lµ{§Ç¦ì§}ªº¸ê®Æ¡C³o©M Windows ¤¤¡Aµ{¦¡¥i¥H»´©ö + קï¨ä¥L¦ì§}¸ê®Æ¡Aµ²ªG¾ÉP·í¾÷ªº±¡§Î¤j¤£¬Û¦P¡C</para> + + <para>¨CÓ UNIX µ{§Ç³£ÄÝ©ó¬YÓ¯S©wªº userid¡C¦pªG¸Ó userid ¤£¬O + <username>root</username>¡A´N·|±N¥¦©M¨ä¥L¨Ï¥ÎªÌªºµ{§Ç¹j¶}¡C + Userid ¦P®É¤]¥Î©óµwºÐ¸ê®Æªº¦s¨úÅv¤W¡C</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="securelevel"> + <para>¤°»ò¬O securelevel?</para> + </question> + + <answer> + <para>securelevel ¬O®Ö¤ß¤¤©Ò¹ê§@ªº¤@Ó¦w¥þ¾÷¨î¡C°ò¥»¤W·í + securelevel ¬O¥¿È®É¡A®Ö¤ß·|¨î¬Y¨Ç¤u§@¡F§Y¨Ï¬O superuser + (¤]´N¬O <username>root</username>) ¤]µLªk§¹¦¨¨º¨Ç¤u§@¡C¦b¼¶¼g + ¥»¤å®É¡Asecurelevel ¾÷¨î¦b¤@¯ëªº¨î¥~¡AÁÙ¯à°÷¨î¥H¤Uªº¥\¯à¡G + </para> + + <itemizedlist> + <listitem> + <para>²M°£¬Y¨Ç¯S©wªºÀɮ׺X¼Ð¡A¨Ò¦p <literal>schg</literal> + (¨t²Î°ßŪ¼ÐºX, the system immutable flag)</para> + </listitem> + + <listitem> + <para>¸g¥Ñ <devicename>/dev/mem</devicename> »P + <devicename>/dev/kmem</devicename>¡A ±N¸ê®Æ¼g¤J¦Ü®Ö¤ß°O¾ÐÅ餤 + </para> + </listitem> + + <listitem> + <para>¸ü¤J®Ö¤ß¼Ò²Õ</para> + </listitem> + + <listitem> + <para>§ó°Ê &man.ipfirewall.4; ³W«h¡C</para> + </listitem> + </itemizedlist> + + <para>·QnÀˬd¦b¬YÓ¹B§@¤¤ªº¨t²Îªº securelevel ª¬ºA¡A¥un°õ¦æ¥H¤U + ©R¥O§Y¥i¡G</para> + + <screen>&prompt.root; <userinput>sysctl kern.securelevel</userinput></screen> + + <para>¿é¥Xªºµ²ªG·|¥]§t¤@Ó &man.sysctl.8; ÅܼƦWºÙ (¦b³oÓ¨Ò¤l¤¤¡A + ¥¦¬O <varname>kern.securelevel</varname>) ¥H¤Î¤@ӼƦr¡C«áªÌ§Y¬O + ¥Ø«eªº securelevel È¡C¦pªG¥¦¬O¤@Ó¥¿È (¤]´N¬O¤j©ó 0)¡Aªí¥Ü¦Ü¤Ö + ¦³¤@¨Ç securelevel ªº«OÅ@¾÷¨î¤w¸g¶}±Ò¤F¡C</para> + + <para>§A¨S¦³¿ìªk°§C¤@Ó¹B§@¤¤ªº¨t²Îªº securelevel¡F¦pªG¥i¥Hªº¸Ü¡A + ´N¥¢¥h¤F³oÓ¾÷¨îªº·N¸q¤F¡C¦pªG§An§@¤@¨Ç»Ýn securelevel ¬° + «D¥¿È¤~¥i¥Hªº°Ê§@ªº¸Ü (¨Ò¦p <maketarget>installworld</maketarget> + ©Î§ó°Ê¤é´Á)¡A§A»Ýnקï <filename>/etc/rc.conf</filename> ¤ºªº + securelevel ³]©w (§ä§ä <varname>kern_securelevel</varname> ©M + <varname>kern_securelevel_enable</varname> ÅܼÆ)¡AµM«á«·s¶}¾÷¡C + </para> + + <para>·Qnª¾¹D§ó¦h¦³Ãö©ó securelevel »P¦UÓ¤£¦Pµ¥¯Å¼vÅTªº²Ó¸`¡A + ½Ð°Ñ¦Ò &man.init.8; »¡©ú¤å¥ó¡C</para> + + <warning> + <para>securelevel ¥i¤£¬O¸UÆF¤¦¡F¥¦¦³³\¦h¤wª¾ªº¯Ê³´¡A©¹©¹³y¦¨ + ¤@ºØ¦w¥þªº°²¶H¡C</para> + + <para>¥¦¤@ӳ̤jªº°ÝÃD¡A´N¬OnÅý³oÓ¥\¯à§¹¥þ¦³®Äªº¸Ü¡A¦b + securelevel µo´§§@¥Î«eªº±Ò°Ê¹Lµ{¤¤¡A©Ò¦³¨Ï¥Î¨ìªºÀɮ׳£ + ¥²¶·³Q«OÅ@°_¨Ó¡C¦pªG¤@Ó§ðÀ»ªÌ¦b securelevel ¦³®Ä«e (¥Ñ©ó + ¦³¨Ç¨t²Î¦b±Ò°Ê¤¤©Ò§@ªº¨Æ±¡¡AµLªk¦b¸û°ªªº securelevel ¤¤ + ¥¿±`¹B§@¡A©Ò¥H³o·|¦b±Ò°Ê¹Lµ{¤¤«á´Á¤~·|¹B§@)¡A¯àÅý¥L̪ºµ{¦¡ + ³Q°õ¦æªº¸Ü¡Asecurelevel ªº«OÅ@´N§¹¥þµL®Ä¤F¡C«OÅ@±Ò°Êµ{§Ç + ¤¤©Ò¦³ªºÀɮצb§Þ³N¤W¬O¥i¦æªº¡A¦ý¬O¦pªG¯uªº³o¼Ë§@ªº¸Ü¡A¨t²Î + ºûÅ@±N·|Åܦ¨¤@³õ¹ÚÆL¡C§Y¨Ï¥u¬Oקï¤@Ó³]©wÀÉ¡A¤]¥²¶·±N¾ãÓ + ¨t²ÎÃö³¬¡A¦Ü¤Ö¤]±o¨ì³æ¤H¼Ò¦¡¡C</para> + + <para>°£¤F³oÂI¡AÁÙ¦³³\¦h¨ä¥¦ªºªF¦è³£¦b³q«H½×¾Â¤W°Q½×¡A¤×¨ä¬O + freebsd-security¡C½Ð¨ì <ulink + url="../../../../search/index.html">³o¸Ì</ulink> ·j´M¥H«eªº + °Q½×¡C¦³¨Ç¤H§Æ±æ securelevel ¯à°÷¾¨§Ö®ø¥¢¡A¥Ñ¥t¤@Ó§óÀu¨qªº + ¾÷¨î¨ú¥N¡A¤£¹L¾÷·|¦³ÂI´ù¯í¡C</para> + + <para>·ÀI¦Û¦æ©Ó¾á¡C</para> + </warning> + </answer> + </qandaentry> + + <qandaentry> + <question id="extra-named-port"> + <para>BIND (<command>named</command>) °£¤F¦b³q°T°ð 53 ¥H¥~¤]¦b + ¨ä¥L°ª½s¸¹³q°T°ð (high-numbered port) ²âÅ¥ (Listen)¡C + ³o¬O«ç»ò¦^¨Æ¡H</para> + </question> + + <answer> + <para>FreeBSD 3.0 «áªºª©¥»¨Ï¥Î¤@Ó¯S®íªº BIND ª©¥»¡A³oÓª©¥»·|¨Ï + ¥ÎÀH¾÷ªº°ª½s¸¹³q°T°ð¨Ó¦^À³¥~³¡ªº¬d¸ß¡C¦pªG§A¦]¬°n¾A¦X¨¾¤õÀ𪺠+ ³]©w©Î¬O³æ¯Âªº·QÅý¦Û¤v¬Ý¨ÓµÎªA¤@ÂI¦Ó·Q¥Î 53 ³q°T°ð¦^À³¥~³¡¬d¸ß¡A + ¨º»ò§A¥i¥H¹Á¸Õ§ó§ï¥H¤UÀɮ׬ÛÃö¤º®e + <filename>/etc/namedb/named.conf</filename>¡G</para> + + <programlisting>options { + query-source address * port 53; +};</programlisting> + + <para>§A¤]¥i¥H±N <literal>*</literal> §ó§ï¬°¯S©w IP address¡A + ÂÇ¥H¥[±j±±¨î±ø¥ó¡C</para> + + <para>¶¶«K®¥³ß§A¡C¯à°÷Ū¨ú§A¨t²Î¤Wªº &man.sockstat.1; ³ø§i¨Ã¥Bª`·N + ¤£¥¿±`ª¬ªp¬O¤@¥ó¦n¨Æ¡I</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="sendmail-port-587"> + <para>Sendmail °£¤F¦b¼Ð·Çªº³q°T°ð 25 ¥~¤]¦b³q°T°ð 587 ²âÅ¥¡I³o¬O«ç + »ò¦^¨Æ¡H</para> + </question> + + <answer> + <para>¸û·sª©¥»ªº Sendmail ¤ä´© mail submission ³o¶µ¥\¯à¡A¨Ã¥B¨Ï + ¥Î³q°T°ð 587¡C³o¶µ¥\¯àÁÙ¨S¦³³Q¼sªx¤ä´©¦ý¬O¤ä´©ªº¼Æ¥Ø¥¿¦b¼Wªø + ¤¤¡C</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="toor-account"> + <para>§Úµo²{¤F³oÓ UID 0 <username>toor</username> ±b¸¹¡A³o¬O¤°»ò + ¸J¿|¡H§Ú³Q¶Â±¼¤F¶Ü¡H</para> + </question> + + <answer> + <para>©ñ¤ß¡C<username>toor</username> ¬O¤@Ó + <quote>alternative</quote> ºÞ²zªÌ±b¸¹ (toor ¬O root ªºÂà¦V«÷ªk)¡C + ¥H©¹¬O¸òÀH &man.bash.1; ¦w¸Ë¦Ó«Ø¨îªº¡A«á¨Ó«h¦¨¬°¨t²Î¤º©w«Ø¨îªº¤@ + Ó±b¸¹¡C³oÓ±b¸¹±N¦ñÀH¤@Ó«D¼Ð·Çªº shell ´ú¸Õ¨Ï¥Î¡A Åý§A¤£»Ýn¥h + §ó§ï¨ì <username>root</username> ªº¤º«Ø shell¡C¦]¬°³o¨Ç¨ä¥Lªº shell + ¨Ã¨S¦³¸òÀH¨t²Î¹w³]Ȧw¸Ë (Á|¨Ò¨Ó»¡¡A¬Y¨Ç¥Ñ ports ¦w¸Ëªº + shell package)¡A¦Ó³Q¤º©w¦w¸Ë¦b <filename>/usr/local/bin</filename> + ¥Ø¿ý¤U¡A¦³¥i¯à¦s¦b¤£¦PªºÀɮרt²Î¤¤¡C ÕY <username>root</username> + ªº shell ³Q©ñ¦b <filename>/usr/local/bin</filename>¡A¥B + <filename>/usr</filename> (©Î¬O¨ä¥L¥]§tµÛ + <filename>/usr/local/bin</filename> ³oÓ¤l¥Ø¿ýªºÀɮרt²Î) + ¦]¬°¬Y¨Çì¦]¨Ã¨S¦³³Q¥¿±`ªº mount °_¨Óªº¸Ü¡A<username>root</username> + ±NµLªk¥¿±`ªºµn¤J¨t²Î¶i¦æºû× (ÁöµM»¡§A«¶}¾÷¦¨³æ¤H¼Ò¦¡´N·|°Ý§An + ¸ü¤JþÓ shell)¡C</para> + + <para>¦³¨Ç¤H¨Ï¥Î <username>toor</username> ±b¸¹¶i¦æ¨C¤éªº + <username>root</username> ºûÅ@¤u§@¡A¦p¦¹¥i¥H¨Ï¥Î«D¼Ð·Çªº + shell¡A¦Ó <username>root</username> ¥i¥H«O¯d¼Ð·Ç shell¡A + ¥H¦]À³³æ¤@¨Ï¥ÎªÌ¼Ò¦¡ (single user mode) ©Îºò«æª¬ªp³B²z¡C + ¨Ì·Ó¨t²Î¤º©wÈ¡A§A±NµLªk¨Ï¥Î <username>toor</username> µn¤J¡A + ¦]¬°³oÓ±b¸¹©|¥¼§ó§ï±K½X³]©w¡C¦]¦¹§A¦pªG§A·Q±Ò°Ê³oÓ±b¸¹¡A§A»Ýn + ¨Ï¥Î <username>root</username> µn¤J¨t²Î¨Ã¥Bקï + <username>toor</username> ªº±K½X¡C</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="suidperl"> + <para>¬°¤°»ò <command>suidperl</command> µLªk¥¿±`¹B§@¡H</para> + </question> + + <answer> + <para>¦]¬°¬Y¨Ç¦w¥þªº¦Ò¡A<command>suidperl</command> ¤º©wªº¦w¸Ë + ¨Ã¨S¦³³]©w suid bit¡C¨t²ÎºÞ²zªÌ¥i¥H¨Ì·Ó¥H¤U©R¥O±Ò°Ê suid ³]©w¡C + </para> + + <screen>&prompt.root; <userinput>chmod u+s /usr/bin/suidperl</userinput></screen> + + <para>¦pªG§A·Qn¦b¥Ñ source ¤É¯Å®É <command>suidperl</command> ¤º©w + ±Ò°Ê suid ¥\¯àªº¸Ü¡A½s¿è <filename>/etc/make.conf</filename> ¥[¤J + <varname>ENABLE_SUIDPERL=true</varname> µM«á°õ¦æ + <command>make buildworld</command>¡C</para> + </answer> + </qandaentry> + </qandaset> + </chapter> + + <chapter id="ppp"> + <title>PPP</title> + + <qandaset> + <qandaentry> + <question id="userppp"> + <para>I cannot make &man.ppp.8; work. What am I doing wrong?</para> + </question> + + <answer> + <para>You should first read the + &man.ppp.8; + man page and the <ulink + url="../handbook/ppp-and-slip.html#USERPPP"> + PPP section of the handbook</ulink>. Enable logging with + the command</para> + + <programlisting>set log Phase Chat Connect Carrier lcp ipcp ccp command</programlisting> + + <para>This command may be typed at the + &man.ppp.8; command prompt or it may be + entered in the <filename>/etc/ppp/ppp.conf</filename> + configuration file (the start of the + <literal>default</literal> section is the best + place to put it). Make sure that + <filename>/etc/syslog.conf</filename> (see &man.syslog.conf.5;) contains the lines</para> + + <programlisting>!ppp +*.* /var/log/ppp.log</programlisting> + + <para>and that the file <filename>/var/log/ppp.log</filename> + exists. You can now find out a lot about what is going on + from the log file. Do not worry if it does not all make sense. + If you need to get help from someone, it may make sense to + them.</para> + + <para>If your version of &man.ppp.8; does not understand the + <command>set log</command> command, you should download the + <ulink url="http://people.FreeBSD.org/~brian/"> + latest version</ulink>. It will build on FreeBSD version + 2.1.5 and higher.</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="ppp-hangs"> + <para>Why does &man.ppp.8; hang when I run it?</para> + </question> + + <answer> + <para>This is usually because your hostname will not resolve. + The best way to fix this is to make sure that + <filename>/etc/hosts</filename> is consulted by your + resolver first by editing <filename>/etc/host.conf</filename> + and putting the <literal>hosts</literal> line first. Then, + simply put an entry in <filename>/etc/hosts</filename> for + your local machine. If you have no local network, change your + <hostid>localhost</hostid> line:</para> + + <programlisting>127.0.0.1 foo.bar.com foo localhost</programlisting> + + <para>Otherwise, simply add another entry for your host. + Consult the relevant man pages for more details.</para> + + <para>You should be able to successfully + <command>ping -c1 `hostname`</command> when you are done.</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="ppp-nodial-auto"> + <para>Why will &man.ppp.8; not dial in <literal>-auto</literal> + mode?</para> + </question> + + <answer> + <para>First, check that you have got a default route. By running + <command>netstat -rn</command> (see &man.netstat.1;), you should see two entries like this:</para> + + <programlisting>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</programlisting> + + <para>This is assuming that you have used the addresses from the + handbook, the man page or from the ppp.conf.sample file. + If you do not have a default route, it may be because you are + running an old version of &man.ppp.8; + that does not understand the word <literal>HISADDR</literal> + in the ppp.conf file. If your version of + &man.ppp.8; is from before FreeBSD + 2.2.5, change the</para> + + <programlisting>add 0 0 HISADDR</programlisting> + + <para>line to one saying</para> + + + <programlisting>add 0 0 10.0.0.2</programlisting> + + <para>Another reason for the default route line being missing + is that you have mistakenly set up a default router in your + <filename>/etc/rc.conf</filename> (see &man.rc.conf.5;) file (this file was called + <filename>/etc/sysconfig</filename> prior to release 2.2.2), + and you have omitted the line saying</para> + + <programlisting>delete ALL</programlisting> + + <para>from <filename>ppp.conf</filename>. If this is the case, + go back to the <ulink + url="../handbook/ppp-and-slip.html#USERPPP-FINAL"> + Final system configuration</ulink> section of the + handbook.</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="no-route-to-host"> + <para>What does <errorname>No route to host</errorname> mean?</para> + </question> + + <answer> + <para>This error is usually due to a missing</para> + + <programlisting>MYADDR: + delete ALL + add 0 0 HISADDR</programlisting> + + <para>section in your <filename>/etc/ppp/ppp.linkup</filename> + file. This is only necessary if you have a dynamic IP address + or do not know the address of your gateway. If you are using + interactive mode, you can type the following after entering + <literal>packet mode</literal> (packet mode is + indicated by the capitalized <acronym>PPP</acronym> in the + prompt):</para> + + <programlisting>delete ALL +add 0 0 HISADDR</programlisting> + + <para>Refer to the <ulink + url="../handbook/ppp-and-slip.html#USERPPP-DYNAMICIP"> + PPP and Dynamic IP addresses</ulink> section of the handbook + for further details.</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="connection-threeminutedrop"> + <para>Why does my connection drop after about 3 minutes?</para> + </question> + + <answer> + <para>The default PPP timeout is 3 minutes. This can be + adjusted with the line</para> + + <programlisting>set timeout <replaceable>NNN</replaceable></programlisting> + + <para>where <replaceable>NNN</replaceable> is the number of + seconds of inactivity before the connection is closed. If + <replaceable>NNN</replaceable> is zero, the connection is never + closed due to a timeout. It is possible to put this command in + the <filename>ppp.conf</filename> file, or to type it at the + prompt in interactive mode. It is also possible to adjust it on + the fly while the line is active by connecting to + <application>ppp</application>s server socket using + &man.telnet.1; or &man.pppctl.8;. + Refer to the + &man.ppp.8; man + page for further details.</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="ppp-drop-heavy-load"> + <para>Why does my connection drop under heavy load?</para> + </question> + + <answer> + <para>If you have Link Quality Reporting (LQR) configured, + it is possible that too many LQR packets are lost between + your machine and the peer. Ppp deduces that the line must + therefore be bad, and disconnects. Prior to FreeBSD version + 2.2.5, LQR was enabled by default. It is now disabled by + default. LQR can be disabled with the line</para> + + <programlisting>disable lqr</programlisting> + </answer> + </qandaentry> + + <qandaentry> + <question id="ppp-drop-random"> + <para>Why does my connection drop after a random amount of + time?</para> + </question> + + <answer> + <para>Sometimes, on a noisy phone line or even on a line with + call waiting enabled, your modem may hang up because it + thinks (incorrectly) that it lost carrier.</para> + + <para>There is a setting on most modems for determining how + tolerant it should be to temporary losses of carrier. On a + USR Sportster for example, this is measured by the S10 + register in tenths of a second. To make your modem more + forgiving, you could add the following send-expect sequence + to your dial string:</para> + + <programlisting>set dial "...... ATS10=10 OK ......"</programlisting> + + <para>Refer to your modem manual for details.</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="ppp-hangs-random"> + <para>Why does my connection hang after a random amount of + time?</para> + </question><answer> + + <para>Many people experience hung connections with no apparent + explanation. The first thing to establish is which side of + the link is hung.</para> + + <para>If you are using an external modem, you can simply try + using &man.ping.8; to see if the + <acronym>TD</acronym> light is flashing when you transmit data. + If it flashes (and the <acronym>RD</acronym> light does not), + the problem is with the remote end. If <acronym>TD</acronym> + does not flash, the problem is local. With an internal modem, + you will need to use the <literal>set server</literal> command in + your <filename>ppp.conf</filename> file. When the hang occurs, + connect to &man.ppp.8; using &man.pppctl.8;. If your network connection + suddenly revives (PPP was revived due to the activity on the + diagnostic socket) or if you cannot connect (assuming the + <literal>set socket</literal> command succeeded at startup + time), the problem is local. If you can connect and things are + still hung, enable local async logging with <literal>set log + local async</literal> and use &man.ping.8; from + another window or terminal to make use of the link. The async + logging will show you the data being transmitted and received + on the link. If data is going out and not coming back, the + problem is remote.</para> + + <para>Having established whether the problem is local or remote, + you now have two possibilities:</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="ppp-remote-not-responding"> + <para>The remote end is not responding. What can I do?</para> + </question> + + <answer> + <para>There is very little you can do about this. Most ISPs + will refuse to help if you are not running a Microsoft OS. + You can <literal>enable lqr</literal> in your + <filename>ppp.conf</filename> file, allowing &man.ppp.8; to detect + the remote failure and hang up, but this detection is + relatively slow and therefore not that useful. You may want to + avoid telling your ISP that you are running user-PPP...</para> + + <para>First, try disabling all local compression by adding the + following to your configuration:</para> + + <programlisting>disable pred1 deflate deflate24 protocomp acfcomp shortseq vj +deny pred1 deflate deflate24 protocomp acfcomp shortseq vj</programlisting> + + <para>Then reconnect to ensure that this makes no difference. + If things improve or if the problem is solved completely, + determine which setting makes the difference through trial + and error. This will provide good ammunition when you contact + your ISP (although it may make it apparent that you are not + running a Microsoft product).</para> + + <para>Before contacting your ISP, enable async logging locally + and wait until the connection hangs again. This may use up + quite a bit of disk space. The last data read from the port + may be of interest. It is usually ascii data, and may even + describe the problem + (<quote>Memory fault, core dumped</quote>?).</para> + + <para>If your ISP is helpful, they should be able to enable + logging on their end, then when the next link drop occurs, + they may be able to tell you why their side is having a + problem. Feel free to send the details to &a.brian;, or + even to ask your ISP to contact me directly.</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="ppp-hung"> + <para>&man.ppp.8; has hung. What can I do?</para> + </question> + + <answer> + <para>Your best bet here is to rebuild &man.ppp.8; by adding + <literal>CFLAGS+=-g</literal> and <literal>STRIP=</literal> + to the end of the Makefile, then doing a + <command>make clean && make && make + install</command>. When &man.ppp.8; hangs, find the &man.ppp.8; process id + with <command>ps ajxww | fgrep ppp</command> and run + <command>gdb ppp <replaceable>PID</replaceable></command>. + From the gdb prompt, you can then use <command>bt</command> + to get a stack trace.</para> + + <para>Send the results to <email>brian@Awfulhak.org</email>.</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="ppp-loginok-thennothing"> + <para>Why does nothing happen after the <quote>Login OK!</quote> + message?</para> + </question> + + <answer> + <para>Prior to FreeBSD version 2.2.5, once the link was + established, &man.ppp.8; + would wait for the peer to initiate the Line Control Protocol + (LCP). Many ISPs will not initiate negotiations and expect + the client to do so. To force + &man.ppp.8; to initiate the LCP, use the + following line:</para> + + <programlisting>set openmode active</programlisting> + + <note> + <para>It usually does no + harm if both sides initiate negotiation, so openmode is now + active by default. However, the next section explains when + it <emphasis>does</emphasis> do some harm.</para> + </note> + </answer> + </qandaentry> + + <qandaentry> + <question id="ppp-same-magic"> + <para>I keep seeing errors about magic being the same. What does + it mean?</para> + </question> + + <answer> + <para>Occasionally, just after connecting, you may see messages + in the log that say <quote>magic is the same</quote>. + Sometimes, these messages are harmless, and sometimes one side + or the other exits. Most PPP implementations cannot survive + this problem, and even if the link seems to come up, you will see + repeated configure requests and configure acknowledgments in + the log file until &man.ppp.8; eventually gives up and closes the + connection.</para> + + <para>This normally happens on server machines with slow disks + that are spawning a getty on the port, and executing &man.ppp.8; from + a login script or program after login. I have also heard reports + of it happening consistently when using slirp. The reason is + that in the time taken between &man.getty.8; exiting and &man.ppp.8; starting, + the client-side &man.ppp.8; starts sending Line Control Protocol (LCP) + packets. Because ECHO is still switched on for the port on + the server, the client &man.ppp.8; sees these packets + <quote>reflect</quote> back.</para> + + <para>One part of the LCP negotiation is to establish a magic + number for each side of the link so that + <quote>reflections</quote> can be detected. The protocol says + that when the peer tries to negotiate the same magic number, a + NAK should be sent and a new magic number should be chosen. + During the period that the server port has ECHO turned on, the + client &man.ppp.8; sends LCP packets, sees the same magic in the + reflected packet and NAKs it. It also sees the NAK reflect + (which also means &man.ppp.8; must change its magic). This produces a + potentially enormous number of magic number changes, all of + which are happily piling into the server's tty buffer. As soon + as &man.ppp.8; starts on the server, it is flooded with magic number + changes and almost immediately decides it has tried enough to + negotiate LCP and gives up. Meanwhile, the client, who no + longer sees the reflections, becomes happy just in time to see + a hangup from the server.</para> + + <para>This can be avoided by allowing the peer to start + negotiating with the following line in your ppp.conf + file:</para> + + <programlisting>set openmode passive</programlisting> + + <para>This tells &man.ppp.8; to wait for the server to initiate LCP + negotiations. Some servers however may never initiate + negotiations. If this is the case, you can do something + like:</para> + + <programlisting>set openmode active 3</programlisting> + + <para>This tells &man.ppp.8; to be passive for 3 seconds, and then to + start sending LCP requests. If the peer starts sending + requests during this period, &man.ppp.8; will immediately respond + rather than waiting for the full 3 second period.</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="ppp-lcp-constant"> + <para>LCP negotiations continue until the connection is + closed. What is wrong?</para> + </question> + + <answer> + <para>There is currently an implementation mis-feature in + &man.ppp.8; where it does not associate + LCP, CCP & IPCP responses with their original requests. As + a result, if one PPP + implementation is more than 6 seconds slower than the other + side, the other side will send two additional LCP configuration + requests. This is fatal.</para> + + <para>Consider two implementations, + <hostid>A</hostid> and + <hostid>B</hostid>. <hostid>A</hostid> starts + sending LCP requests immediately after connecting and + <hostid>B</hostid> takes 7 seconds to start. When + <hostid>B</hostid> starts, <hostid>A</hostid> + has sent 3 LCP REQs. We are assuming the line has ECHO switched + off, otherwise we would see magic number problems as described in + the previous section. <hostid>B</hostid> sends a + REQ, then an ACK to the first of + <hostid>A</hostid>'s REQs. This results in + <hostid>A</hostid> entering the <acronym>OPENED</acronym> + state and sending and ACK (the first) back to + <hostid>B</hostid>. In the meantime, + <hostid>B</hostid> sends back two more ACKs in response to + the two additional REQs sent by <hostid>A</hostid> + before <hostid>B</hostid> started up. + <hostid>B</hostid> then receives the first ACK from + <hostid>A</hostid> and enters the + <acronym>OPENED</acronym> state. + <hostid>A</hostid> receives the second ACK from + <hostid>B</hostid> and goes back to the + <acronym>REQ-SENT</acronym> state, sending another (forth) REQ + as per the RFC. It then receives the third ACK and enters the + <acronym>OPENED</acronym> state. In the meantime, + <hostid>B</hostid> receives the forth REQ from + <hostid>A</hostid>, resulting in it reverting to the + <acronym>ACK-SENT</acronym> state and sending + another (second) REQ and (forth) ACK as per the RFC. + <hostid>A</hostid> gets the REQ, goes into + <acronym>REQ-SENT</acronym> and sends another REQ. It + immediately receives the following ACK and enters + <acronym>OPENED</acronym>.</para> + + <para>This goes on until one side figures out that they are + getting nowhere and gives up.</para> + + <para>The best way to avoid this is to configure one side to be + <literal>passive</literal> - that is, make one side + wait for the other to start negotiating. This can be done + with the</para> + + <programlisting>set openmode passive</programlisting> + + <para>command. Care should be taken with this option. You + should also use the</para> + + <programlisting>set stopped N</programlisting> + + <para>command to limit the amount of time that + &man.ppp.8; waits for the peer to begin + negotiations. Alternatively, the</para> + + <programlisting>set openmode active N</programlisting> + + <para>command (where <replaceable>N</replaceable> is the + number of seconds to wait before starting negotiations) can be + used. Check the manual page for details.</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="ppp-lockups"> + <para>Why does &man.ppp.8; lock up shortly after connection?</para> + </question> + + <answer> + <para>Prior to version 2.2.5 of FreeBSD, it was possible that + your link was disabled shortly after connection due to + &man.ppp.8; mis-handling Predictor1 + compression negotiation. This would only happen if both sides + tried to negotiate different Compression Control Protocols + (CCP). This problem is now corrected, but if you are still + running an old version of &man.ppp.8; + the problem can be circumvented with the line</para> + + <programlisting>disable pred1</programlisting> + </answer> + </qandaentry> + + <qandaentry> + <question id="ppp-shell-test-lockup"> + <para>Why does &man.ppp.8; lock up when I shell out to test it?</para> + </question> + + <answer> + <para>When you execute the <command>shell</command> or + <command>!</command> command, &man.ppp.8; executes a + shell (or if you have passed any arguments, + &man.ppp.8; will execute those arguments). Ppp will + wait for the command to complete before continuing. If you + attempt to use the PPP link while running the command, the link + will appear to have frozen. This is because + &man.ppp.8; is waiting for the command to + complete.</para> + + <para>If you wish to execute commands like this, use the + <command>!bg</command> command instead. This will execute + the given command in the background, and &man.ppp.8; can continue to + service the link.</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="ppp-nullmodem"> + <para>Why does &man.ppp.8; over a null-modem cable never exit?</para> + </question> + + <answer> + <para>There is no way for &man.ppp.8; to + automatically determine that a direct connection has been + dropped. This is due to the lines that are used in a + null-modem serial cable. When using this sort of connection, + LQR should always be enabled with the line</para> + + <programlisting>enable lqr</programlisting> + + <para>LQR is accepted by default if negotiated by the peer.</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="ppp-auto-noreasondial"> + <para>Why does &man.ppp.8; dial for no reason in -auto mode?</para> + </question><answer> + + <para>If &man.ppp.8; is dialing + unexpectedly, you must determine the cause, and set up Dial + filters (dfilters) to prevent such dialing.</para> + + <para>To determine the cause, use the following line:</para> + + <programlisting>set log +tcp/ip</programlisting> + + <para>This will log all traffic through the connection. The + next time the line comes up unexpectedly, you will see the + reason logged with a convenient timestamp next to it.</para> + + <para>You can now disable dialing under these circumstances. + Usually, this sort of problem arises due to DNS lookups. To + prevent DNS lookups from establishing a connection (this will + <emphasis>not</emphasis> prevent + &man.ppp.8; from passing the packets + through an established connection), use the following:</para> + + <programlisting>set dfilter 1 deny udp src eq 53 +set dfilter 2 deny udp dst eq 53 +set dfilter 3 permit 0/0 0/0</programlisting> + + <para>This is not always suitable, as it will effectively break + your demand-dial capabilities - most programs will need a DNS + lookup before doing any other network related things.</para> + + <para>In the DNS case, you should try to determine what is + actually trying to resolve a host name. A lot of the time, + &man.sendmail.8; is the culprit. You should make sure that + you tell sendmail not to do any DNS lookups in its + configuration file. See the section on + <link linkend="ispmail">Mail Configuration</link> for details + on how to create your own configuration file and what should + go into it. You may also want to add the following line to + your <filename>.mc</filename> file:</para> + + <programlisting>define(`confDELIVERY_MODE', `d')dnl</programlisting> + + <para>This will make sendmail queue everything until the queue + is run (usually, sendmail is invoked with + <option>-bd -q30m</option>, telling it to run the queue every + 30 minutes) or until a <command>sendmail -q</command> is done + (perhaps from your ppp.linkup file).</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="ccp-errors"> + <para>What do these CCP errors mean?</para> + </question> + + <answer> + <para>I keep seeing the following errors in my log file:</para> + + <programlisting>CCP: CcpSendConfigReq +CCP: Received Terminate Ack (1) state = Req-Sent (6)</programlisting> + + <para>This is because &man.ppp.8; is trying to negotiate Predictor1 + compression, and the peer does not want to negotiate any + compression at all. The messages are harmless, but if you + wish to remove them, you can disable Predictor1 compression + locally too:</para> + + <programlisting>disable pred1</programlisting> + </answer> + </qandaentry> + + <qandaentry> + <question id="ppp-lockup-ioerrors"> + <para>Why does &man.ppp.8; lock up during file transfers with IO + errors?</para> + </question> + + <answer> + <para>Under FreeBSD 2.2.2 and before, there was a bug in the + tun driver that prevents incoming packets of a size larger + than the tun interface's MTU size. Receipt of a packet + greater than the MTU size results in an IO error being logged + via syslogd.</para> + + <para>The PPP specification says that an MRU of 1500 should + <emphasis>always</emphasis> be accepted as a minimum, + despite any LCP negotiations, therefore it is possible that + should you decrease the MTU to less than 1500, your ISP will + transmit packets of 1500 regardless, and you will tickle this + non-feature - locking up your link.</para> + + <para>The problem can be circumvented by never setting an MTU of + less than 1500 under FreeBSD 2.2.2 or before.</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="ppp-connectionspeed"> + <para>Why does &man.ppp.8; not log my connection speed?</para> + </question> + + <answer> + + <para>In order to log all lines of your modem + <quote>conversation</quote>, you must enable the + following:</para> + + <programlisting>set log +connect</programlisting> + + <para>This will make &man.ppp.8; log + everything up until the last requested <quote>expect</quote> + string.</para> + + <para>If you wish to see your connect speed and are using PAP + or CHAP (and therefore do not have anything to + <quote>chat</quote> after the CONNECT in the dial script - no + <literal>set login</literal> script), you must make sure that + you instruct &man.ppp.8; to <quote>expect</quote> the whole CONNECT + line, something like this:</para> + + <programlisting>set dial "ABORT BUSY ABORT NO\\sCARRIER TIMEOUT 4 \ + \"\" ATZ OK-ATZ-OK ATDT\\T TIMEOUT 60 CONNECT \\c \\n"</programlisting> + + <para>Here, we get our CONNECT, send nothing, then expect a + line-feed, forcing &man.ppp.8; to read + the whole CONNECT response.</para> + + </answer> + </qandaentry> + + <qandaentry> + <question id="ppp-ignores-backslash"> + <para>Why does &man.ppp.8; ignore the <literal>\</literal> character + in my chat script?</para> + </question><answer> + + <para>Ppp parses each line in your config files so that it can + interpret strings such as + <literal>set phone "123 456 789"</literal> correctly (and + realize that the number is actually only + <emphasis>one</emphasis> argument. In order to specify a + <literal>"</literal> character, you must escape it + using a backslash (<literal>\</literal>).</para> + + <para>When the chat interpreter parses each argument, it + re-interprets the argument in order to find any special + escape sequences such as <literal>\P</literal> or + <literal>\T</literal> (see the man page). As a result of this + double-parsing, you must remember to use the correct number of + escapes.</para> + + <para>If you wish to actually send a <literal>\</literal> + character to (say) your modem, you would need something + like:</para> + + <programlisting>set dial "\"\" ATZ OK-ATZ-OK AT\\\\X OK"</programlisting> + + <para>resulting in the following sequence:</para> + + <programlisting>ATZ +OK +AT\X +OK</programlisting> + + <para>or</para> + + <programlisting>set phone 1234567 +set dial "\"\" ATZ OK ATDT\\T"</programlisting> + + <para>resulting in the following sequence:</para> + + <programlisting>ATZ +OK +ATDT1234567</programlisting> + + </answer> + </qandaentry> + + <qandaentry> + <question id="ppp-segfault-nocore"> + <para>Why does &man.ppp.8; get a seg-fault, but I see no + <filename>ppp.core</filename> file?</para> + </question> + + <answer> + <para>Ppp (or any other program for that matter) should never + dump core. Because &man.ppp.8; runs with an effective user id of 0, + the operating system will not write &man.ppp.8;'s core image to disk + before terminating it. If, however &man.ppp.8; + is actually terminating due to a + segmentation violation or some other signal that normally + causes core to be dumped, <emphasis>and</emphasis> + you are sure you are using the latest version (see the start of + this section), then you should do the following:</para> + + <screen>&prompt.user; <userinput>tar xfz ppp-*.src.tar.gz</userinput> +&prompt.user; <userinput>cd ppp*/ppp</userinput> +&prompt.user; <userinput>echo STRIP= >>Makefile</userinput> +&prompt.user; <userinput>echo CFLAGS+=-g >>Makefile</userinput> +&prompt.user; <userinput>make clean all</userinput> +&prompt.user; <userinput>su</userinput> +&prompt.root; <userinput>make install</userinput> +&prompt.root; <userinput>chmod 555 /usr/sbin/ppp</userinput></screen> + + <para>You will now have a debuggable version of &man.ppp.8; installed. + You will have to be <username>root</username> to run &man.ppp.8; as all of its privileges + have been revoked. When you start &man.ppp.8;, take a careful note + of what your current directory was at the time.</para> + + <para>Now, if and when &man.ppp.8; receives the segmentation violation, + it will dump a core file called <filename>ppp.core</filename>. You should then do + the following:</para> + + <screen>&prompt.user; <userinput>su</userinput> +&prompt.root; <userinput>gdb /usr/sbin/ppp ppp.core</userinput> +<prompt>(gdb)</prompt> <userinput>bt</userinput> +..... +<prompt>(gdb)</prompt> <userinput>f 0</userinput> +.... +<prompt>(gdb)</prompt> <userinput>i args</userinput> +.... +<prompt>(gdb)</prompt> <userinput>l</userinput> +.....</screen> + + <para>All of this information should be given alongside your + question, making it possible to diagnose the problem.</para> + + <para>If you are familiar with gdb, you may wish to find out some + other bits and pieces such as what actually caused the dump and + the addresses & values of the relevant variables.</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="ppp-autodialprocess-noconnect"> + <para>Why does the process that forces a dial in auto mode never + connect?</para> + </question> + + <answer> + <para>This was a known problem with + &man.ppp.8; set up to negotiate a + dynamic local IP number with the peer in auto mode. It is + fixed in the latest version - search the man page for + <literal>iface</literal>.</para> + + <para>The problem was that when that initial program calls + &man.connect.2;, the IP number of the tun interface is assigned + to the socket endpoint. The kernel creates the first outgoing + packet and writes it to the tun device. + &man.ppp.8; then reads the packet and + establishes a connection. If, as a result of + &man.ppp.8;'s dynamic IP assignment, the + interface address is changed, the original socket endpoint will + be invalid. Any subsequent packets sent to the peer will + usually be dropped. Even if they are not, any responses will + not route back to the originating machine as the IP number is + no longer owned by that machine.</para> + + <para>There are several theoretical ways to approach this + problem. It would be nicest if the peer would re-assign the + same IP number if possible <literal>:-)</literal> + The current version of &man.ppp.8; does + this, but most other implementations do not.</para> + + <para>The easiest method from our side would be to never change + the tun interface IP number, but instead to change all outgoing + packets so that the source IP number is changed from the + interface IP to the negotiated IP on the fly. This is + essentially what the <literal>iface-alias</literal> option in + the latest version of &man.ppp.8; is + doing (with the help of + &man.libalias.3; and &man.ppp.8;'s <option>-nat</option> switch) - + it is maintaining all previous interface addresses and NATing + them to the last negotiated address.</para> + + <para>Another alternative (and probably the most reliable) would + be to implement a system call that changes all bound sockets + from one IP to another. &man.ppp.8; would + use this call to modify the sockets of all existing programs + when a new IP number is negotiated. The same system call could + be used by dhcp clients when they are forced to re-bind() their + sockets.</para> + + <para>Yet another possibility is to allow an interface to be + brought up without an IP number. Outgoing packets would be + given an IP number of 255.255.255.255 up until the first + SIOCAIFADDR ioctl is done. This would result in fully binding + the socket. It would be up to &man.ppp.8; + to change the source IP number, but only if it is set to + 255.255.255.255, and only the IP number and IP checksum would + need to change. This, however is a bit of a hack as the kernel + would be sending bad packets to an improperly configured + interface, on the assumption that some other mechanism is + capable of fixing things retrospectively.</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="ppp-nat-games"> + <para>Why do most games not work with the -nat switch?</para> + </question> + + <answer> + <para>The reason games and the like do not work when libalias + is in use is that the machine on the outside will try to open a + connection or send (unsolicited) UDP packets to the machine on + the inside. The NAT software does not know that it should send + these packets to the interior machine.</para> + + <para>To make things work, make sure that the only thing + running is the software that you are having problems with, then + either run tcpdump on the tun interface of the gateway or + enable &man.ppp.8; tcp/ip logging (<literal>set log +tcp/ip</literal>) + on the gateway.</para> + + <para>When you start the offending software, you should see + packets passing through the gateway machine. When something + comes back from the outside, it will be dropped (that is the + problem). Note the port number of these packets then shut down + the offending software. Do this a few times to see if the port + numbers are consistent. If they are, then the following line in + the relevant section of <filename>/etc/ppp/ppp.conf</filename> will make the + software functional:</para> + + <programlisting>nat port <replaceable>proto</replaceable> <replaceable>internalmachine</replaceable>:<replaceable>port</replaceable> <replaceable>port</replaceable></programlisting> + + <para>where <replaceable>proto</replaceable> is either + <literal>tcp</literal> or <literal>udp</literal>, + <replaceable>internalmachine</replaceable> is the machine that + you want the packets to be sent to and + <replaceable>port</replaceable> is the destination port number + of the packets.</para> + + <para>You will not be able to use the software on other machines + without changing the above command, and running the software + on two internal machines at the same time is out of the question + - after all, the outside world is seeing your entire internal + network as being just a single machine.</para> + + <para>If the port numbers are not consistent, there are three + more options:</para> + + <orderedlist> + <listitem> + <para>Submit support in + libalias. Examples of <quote>special cases</quote> can be found + in <filename>/usr/src/lib/libalias/alias_*.c</filename> + (<filename>alias_ftp.c</filename> is a good prototype). This + usually involves reading certain recognised outgoing packets, + identifying the instruction that tells the outside machine to + initiate a connection back to the internal machine on a + specific (random) port and setting up a <quote>route</quote> in + the alias table so that the subsequent packets know where to + go.</para> + + <para>This is the most difficult solution, but it is the best + and will make the software work with multiple machines.</para> + </listitem> + + <listitem> + <para>Use a proxy. The + application may support socks5 for example, or (as in the + <quote>cvsup</quote> case) may have a <quote>passive</quote> + option that avoids ever requesting that the peer open + connections back to the local machine.</para> + </listitem> + + <listitem> + <para>Redirect everything to + the internal machine using <literal>nat addr</literal>. This + is the sledge-hammer approach.</para> + </listitem> + </orderedlist> + </answer> + </qandaentry> + + <qandaentry> + <question id="useful-port-numbers"> + <para>Has anybody made a list of useful port numbers?</para> + </question><answer> + + <para>Not yet, but this is intended to grow into such a list + (if any interest is shown). In each example, + <replaceable>internal</replaceable> should be replaced with + the IP number of the machine playing the game.</para> + + <itemizedlist> + <listitem> + <para><application>Asheron's Call</application></para> + + <para><literal>nat port udp + <replaceable>internal</replaceable> + :65000 65000</literal></para> + + <para>Manually change the port number within the game to + 65000. If you have got a number of machines that you wish + to play on assign a unique port number for each (i.e. + 65001, 65002, etc) and add a <literal>nat port</literal> + line for each one.</para> + </listitem> + + <listitem> + <para><application>Half Life</application></para> + + <para><literal>nat port udp + <replaceable>internal</replaceable>:27005 + 27015</literal></para> + </listitem> + + <listitem> + <para><application>PCAnywhere 8.0</application></para> + + <para><literal>nat port udp + <replaceable>internal</replaceable>:5632 + 5632</literal></para> + + <para><literal>nat port tcp + <replaceable>internal</replaceable>:5631 + 5631</literal></para> + </listitem> + + <listitem> + <para><application>Quake</application></para> + + <para><literal>nat port udp + <replaceable>internal</replaceable>:6112 + 6112</literal></para> + + <para>Alternatively, you may want to take a look at <ulink + url="http://www.battle.net/support/proxy/"> + www.battle.net</ulink> for Quake proxy support.</para> + </listitem> + + <listitem> + <para><application>Quake 2</application></para> + + <para><literal>nat port udp + <replaceable>internal</replaceable>:27901 + 27910</literal></para> + <para><literal>nat port udp + <replaceable>internal</replaceable>:60021 + 60021</literal></para> + <para><literal>nat port udp + <replaceable>internal</replaceable>:60040 + 60040</literal></para> + </listitem> + + <listitem> + <para><application>Red Alert</application></para> + + <para><literal>nat port udp + <replaceable>internal</replaceable>:8675 + 8675</literal></para> + + <para><literal>nat port udp + <replaceable>internal</replaceable>:5009 + 5009</literal></para> + </listitem> + </itemizedlist> + </answer> + </qandaentry> + + <qandaentry> + <question id="fcs-errors"> + <para>What are FCS errors?</para> + </question> + + <answer> + <para>FCS stands for <literal>F</literal>rame + <literal>C</literal>heck + <literal>S</literal>equence. Each PPP packet + has a checksum attached to ensure that the data being + received is the data being sent. If the FCS of an incoming + packet is incorrect, the packet is dropped and the HDLC FCS + count is increased. The HDLC error values can be displayed + using the <literal>show hdlc</literal> command.</para> + + <para>If your link is bad (or if your serial driver is dropping + packets), you will see the occasional FCS error. This is not + usually worth worrying about although it does slow down the + compression protocols substantially. If you have an external + modem, make sure your cable is properly shielded from + interference - this may eradicate the problem.</para> + + <para>If your link freezes as soon as you have connected and you + see a large number of FCS errors, this may be because your link + is not 8 bit clean. Make sure your modem is not using software + flow control (XON/XOFF). If your datalink + <emphasis>must</emphasis> use software flow control, use the + command <literal>set accmap 0x000a0000</literal> to tell + &man.ppp.8; to escape the <literal>^Q</literal> and + <literal>^S</literal> characters.</para> + + <para>Another reason for seeing too many FCS errors may be that + the remote end has stopped talking <acronym>PPP</acronym>. You + may want to enable <literal>async</literal> logging at this + point to determine if the incoming data is actually a login or + shell prompt. If you have a shell prompt at the remote end, + it is possible to terminate &man.ppp.8; without dropping the line by + using the <literal>close lcp</literal> command (a following + <literal>term</literal> command will reconnect you to the shell + on the remote machine.</para> + + <para>If nothing in your log file indicates why the link might + have been terminated, you should ask the remote administrator + (your ISP?) why the session was terminated.</para> + </answer> + </qandaentry> + + <qandaentry id="PPPoEwithNAT"> + <question id="macos-win98-pppoe-freeze"> + <para>Why do MacOS and Windows 98 connections freeze when + running PPPoE on the gateway?</para> + </question> + + <answer> + <para>Thanks to Michael Wozniak + <email>mwozniak@netcom.ca</email> for figuring this out and + Dan Flemming <email>danflemming@mac.com</email> for the Mac + solution:</para> + + <para>This is due to what is called a <quote>Black Hole</quote> + router. MacOS and Windows 98 (and maybe other Microsoft OSs) + send TCP packets with a requested segment size too big to fit + into a PPPoE frame (MTU is 1500 by default for Ethernet) + <emphasis>and</emphasis> have the <quote>do not + fragment</quote> bit set (default of TCP) and the Telco router + is not sending ICMP <quote>must fragment</quote> back to the + www site you are trying to load. (Alternatively, the router is + sending the ICMP packet correctly, but the firewall at the www + site is dropping it.) When the www server is sending + you frames that do not fit into the PPPoE pipe the Telco router + drops them on the floor and your page does not load (some + pages/graphics do as they are smaller than a MSS.) This seems + to be the default of most Telco PPPoE configurations (if only + they knew how to program a router... sigh...)</para> + + <para>One fix is to use regedit on your 95/98 boxes to add the + following registry entry...</para> + + <programlisting>HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Class\NetTrans\0000\MaxMTU</programlisting> + + <para>It should be a string with a value <quote>1436</quote>, as + some ADSL routers are reported to be unable to deal with packets + larger than this. This registry key has been changed to + <literal>Tcpip\Parameters\Interfaces\<replaceable>ID for adapter</replaceable>\MTU</literal> + in Windows 2000 and becomes a DWORD.</para> + + <para>Refer to the Microsoft Knowledge Base documents <ulink + url="http://support.microsoft.com/support/kb/articles/Q158/4/74.asp">Q158474 + - Windows TCPIP Registry Entries</ulink> and <ulink + url="http://support.microsoft.com/support/kb/articles/Q120/6/42.asp">Q120642 + - TCPIP & NBT Configuration Parameters for Windows + NT</ulink> for more information on changing Windows MTU to + work with a NAT router.</para> + + <para>Another regedit possibility under Windows 2000 is to + set the + <literal>Tcpip\Parameters\Interfaces\<replaceable>ID for + adapter</replaceable>\EnablePMTUBHDetect</literal> DWORD + to 1 as mentioned in the Microsoft document 120642 + mentioned above.</para> + + <para>Unfortunately, MacOS does not provide an interface for + changing TCP/IP settings. However, there is commercial software + available, such as OTAdvancedTuner (OT for OpenTransport, the + MacOS TCP/IP stack) by <ulink + url="http://www.softworks.com/">Sustainable Softworks</ulink>, + that will allow users to customize TCP/IP settings. MacOS NAT + users should select <literal>ip_interface_MTU</literal> from + the drop-down menu, enter <literal>1450</literal> instead of + <literal>1500</literal> in the box, click the box next to + <literal>Save as Auto Configure</literal>, and click + <literal>Make Active</literal>.</para> + + <para>The latest version of &man.ppp.8; + (2.3 or greater) has an <command>enable tcpmssfixup</command> + command that will automatically adjust the MSS to an appropriate + value. This facility is enabled by default. If you are stuck + with an older version of &man.ppp.8;, you + may want to look at the <application>tcpmssd</application> + port.</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="desperation"> + <para>None of this helps - I am desperate! What can I do?</para> + </question> + + <answer> + <para>If all else fails, send as much information as you can, + including your config files, how you are starting + &man.ppp.8;, the relevant parts of your + log file and the output of the <command>netstat -rn</command> + command (before and after connecting) to the &a.questions; or + the <ulink url="news:comp.unix.bsd.freebsd.misc"> + comp.unix.bsd.freebsd.misc</ulink> news group, and someone + should point you in the right direction.</para> + </answer> + </qandaentry> + </qandaset> + </chapter> + + <chapter id="serial"> + <title>Serial Communications</title> + + <para>This section answers common questions about serial + communications with FreeBSD. PPP and SLIP are covered in the + <xref linkend="networking" remap="Networking"/> section.</para> + + + <qandaset> + <qandaentry> + <question id="found-serial"> + <para>How do I tell if FreeBSD found my serial ports?</para> + </question> + + <answer> + <para>As the FreeBSD kernel boots, it will probe for the serial + ports in your system for which the kernel was configured. + You can either watch your system closely for the messages it + prints or run the command</para> + + <screen>&prompt.user; <userinput>dmesg | grep sio</userinput></screen> + + <para>after your system is up and running.</para> + + <para>Here is some example output from the above command:</para> + + <programlisting>sio0 at 0x3f8-0x3ff irq 4 on isa +sio0: type 16550A +sio1 at 0x2f8-0x2ff irq 3 on isa +sio1: type 16550A</programlisting> + + <para>This shows two serial ports. The first is on irq 4, is + using port address <literal>0x3f8</literal>, and has a + 16550A-type UART chip. The second uses the same kind of chip + but is on irq 3 and is at port address <literal>0x2f8</literal>. + Internal modem cards are treated just like serial ports---except + that they always have a modem <quote>attached</quote> to the + port.</para> + + <para>The <filename>GENERIC</filename> kernel includes support + for two serial ports using the same irq and port address + settings in the above example. If these settings are not + right for your system, or if you have added modem cards or have + more serial ports than your kernel is configured for, just + reconfigure your kernel. See section + <link linkend="make-kernel">about building a kernel</link> for + more details.</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="found-modem"> + <para>How do I tell if FreeBSD found my modem cards?</para> + </question> + + <answer> + <para>Refer to the answer to the previous question.</para> + + </answer> + </qandaentry> + + <qandaentry> + <question id="missing-tty0X"> + <para>I just upgraded to 2.0.5 and my + <devicename>tty0<replaceable>X</replaceable></devicename> + are missing! How do I solve this problem?</para> + </question> + + <answer> + <para>Do not worry, they have been merged with the + <devicename>ttyd<replaceable>X</replaceable></devicename> devices. You will have to change + any old configuration files you have, though.</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="access-serial-ports"> + <para>How do I access the serial ports on FreeBSD?</para> + </question> + + <answer> + <para>The third serial port, + <devicename>sio2</devicename> + (see &man.sio.4;, known as COM3 in DOS), is on <devicename>/dev/cuaa2</devicename> + for dial-out devices, and on <devicename>/dev/ttyd2</devicename> + for dial-in devices. What is the difference between these two + classes of devices?</para> + + <para>You use <devicename>ttyd<replaceable>X</replaceable></devicename> for dial-ins. When + opening <devicename>/dev/ttyd<replaceable>X</replaceable></devicename> in blocking mode, a + process will wait for the corresponding + <devicename>cuaa<replaceable>X</replaceable></devicename> device to become inactive, and then + wait for the carrier detect line to go active. When you open + the <devicename>cuaa<replaceable>X</replaceable></devicename> device, it makes sure the serial + port is not already in use by the <devicename>ttyd<replaceable>X</replaceable></devicename> + device. If the port is available, it <quote>steals</quote> it + from the <devicename>ttyd<replaceable>X</replaceable></devicename> device. Also, the + <devicename>cuaa<replaceable>X</replaceable></devicename> device does not care about carrier + detect. With this scheme and an auto-answer modem, you can have + remote users log in and you can still dial out with the same + modem and the system will take care of all the + conflicts.</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="enable-multiport-serial"> + <para>How do I enable support for a multiport serial + card?</para> + </question> + + <answer> + <para>Again, the section on kernel configuration provides + information about configuring your kernel. For a multiport + serial card, place an &man.sio.4; line + for each serial port on the card in the kernel configuration + file. But place the irq and vector specifiers on only one of + the entries. All of the ports on the card should share one irq. + For consistency, use the last serial port to specify the irq. + Also, specify the <literal>COM_MULTIPORT</literal> + option.</para> + + <para>The following example is for an AST 4-port serial card on + irq 7:</para> + + <programlisting>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</programlisting> + + <para>The flags indicate that the master port has minor number 7 + (<literal>0x700</literal>), diagnostics enabled during probe + (<literal>0x080</literal>), and all the ports share an irq + (<literal>0x001</literal>).</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="multiport-serial-share-irq"> + <para>Can FreeBSD handle multiport serial cards sharing + irqs?</para> + </question> + + <answer> + <para>Not yet. You will have to use a different irq for each + card.</para> + + </answer> + </qandaentry> + + <qandaentry> + <question id="default-serial-params"> + <para>Can I set the default serial parameters for a + port?</para> + </question> + + <answer> + <para>The <devicename>ttyd<replaceable>X</replaceable></devicename> (or + <devicename>cuaa<replaceable>X</replaceable></devicename>) device is the regular device + you will want to open for your applications. When a process + opens the device, it will have a default set of terminal I/O + settings. You can see these settings with the command</para> + + <screen>&prompt.root; <userinput>stty -a -f /dev/ttyd1</userinput></screen> + + <para>When you change the settings to this device, the settings + are in effect until the device is closed. When it is reopened, + it goes back to the default set. To make changes to the + default set, you can open and adjust the settings of the + <quote>initial state</quote> device. For example, to turn on + <acronym>CLOCAL</acronym> mode, 8 bits, and + <acronym>XON/XOFF</acronym> flow control by default for + ttyd5, do:</para> + + <screen>&prompt.root; <userinput>stty -f /dev/ttyid5 clocal cs8 ixon ixoff</userinput></screen> + + <para>A good place to do this is in + <filename>/etc/rc.serial</filename>. Now, an application will + have these settings by default when it opens + <filename>ttyd5</filename>. It can still change these settings + to its liking, though.</para> + + <para>You can also prevent certain settings from being changed + by an application by making adjustments to the + <quote>lock state</quote> device. For example, to lock the + speed of <devicename>ttyd5</devicename> to 57600 bps, do</para> + + <screen>&prompt.root; <userinput>stty -f /dev/ttyld5 57600</userinput></screen> + + <para>Now, an application that opens <devicename>ttyd5</devicename> + and tries to change the speed of the port will be stuck with + 57600 bps.</para> + + <para>Naturally, you should make the initial state and lock state + devices writable only by <username>root</username>. The + &man.MAKEDEV.8; + script does <emphasis>NOT</emphasis> do this when it creates the + device entries.</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="enable-dialup"> + <para>How can I enable dialup logins on my modem?</para> + </question> + + <answer> + <para>So you want to become an Internet service provider, eh? + First, you will need one or more modems that can auto-answer. + Your modem will need to assert carrier-detect when it detects a + carrier and not assert it all the time. It will need to hang up + the phone and reset itself when the data terminal ready + (<acronym>DTR</acronym>) line goes from on to off. It should + probably use <filename>RTS/CTS</filename> flow control or no + local flow control at all. Finally, it must use a constant + speed between the computer and itself, but (to be nice to your + callers) it should negotiate a speed between itself and the + remote modem.</para> + + <para>For many Hayes command-set--compatible modems, this + command will make these settings and store them in + nonvolatile memory:</para> + + <programlisting>AT &C1 &D3 &K3 &Q6 S0=1 &W</programlisting> + + <para>See the section <link linkend="direct-at">on sending AT + commands</link> below for information on how to make these + settings without resorting to an MS-DOS terminal program.</para> + + <para>Next, make an entry in + <filename>/etc/ttys</filename> (see &man.ttys.5;) for the modem. This file lists all the ports + on which the operating system will await logins. Add a line + that looks something like this:</para> + + <programlisting>ttyd1 "/usr/libexec/getty std.57600" dialup on insecure</programlisting> + + <para>This line indicates that the second serial port + (<devicename>/dev/ttyd1</devicename>) has a modem connected + running at 57600 bps and no parity + (<literal>std.57600</literal>, which comes from the file + <filename>/etc/gettytab</filename>, see &man.gettytab.5;). + The terminal type for this port is <literal>dialup</literal>. + The port is <literal>on</literal> and is + <literal>insecure</literal>---meaning <username>root</username> + logins on the port are not allowed. For dialin ports like this one, + use the <devicename>ttyd<replaceable>X</replaceable></devicename> + entry.</para> + + <para>It is common practice to use <literal>dialup</literal> as + the terminal type. Many users set up in their <filename>.profile</filename> or + <filename>.login</filename> files a prompt for the actual terminal type if the + starting type is dialup. The example shows the port as + insecure. To become <username>root</username> on this port, you + have to login as a regular user, then &man.su.1; to become + <username>root</username>. If you use <literal>secure</literal> + then <username>root</username> can login in directly.</para> + + <para>After making modifications to + <filename>/etc/ttys</filename>, you need to send a hangup or + <acronym>HUP</acronym> signal to the + &man.init.8; process:</para> + + <screen>&prompt.root; <userinput>kill -HUP 1</userinput></screen> + + <para>This forces the &man.init.8; process to reread + <filename>/etc/ttys</filename>. The init process will then start getty + processes on all <literal>on</literal> ports. You can find + out if logins are available for your port by typing</para> + + <screen>&prompt.user; <userinput>ps -ax | grep '[t]tyd1'</userinput></screen> + + <para>You should see something like:</para> + + <programlisting>747 ?? I 0:00.04 /usr/libexec/getty std.57600 ttyd1</programlisting> + </answer> + </qandaentry> + + <qandaentry> + <question id="dumb-terminal"> + <para>How can I connect a dumb terminal to my FreeBSD + box?</para> + </question> + + <answer> + <para>If you are using another computer as a terminal into your + FreeBSD system, get a null modem cable to go between the two + serial ports. If you are using an actual terminal, see its + accompanying instructions.</para> + + <para>Then, modify + <filename>/etc/ttys</filename> (see &man.ttys.5;), like above. For example, if you are + hooking up a WYSE-50 terminal to the fifth serial port, + use an entry like this:</para> + + <programlisting>ttyd4 "/usr/libexec/getty std.38400" wyse50 on secure</programlisting> + + <para>This example shows that the port on + <devicename>/dev/ttyd4</devicename> has a wyse50 terminal + connected at 38400 bps with no parity + (<literal>std.38400</literal> from + <filename>/etc/gettytab</filename>, see &man.gettytab.5;) and <username>root</username> logins are + allowed (<literal>secure</literal>).</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="cannot-tip"> + <para>Why can I not run <command>tip</command> or + <command>cu</command>?</para> + </question> + + <answer> + <para>On your system, the programs &man.tip.1; + and &man.cu.1; + are probably executable only by + <username>uucp</username> + and group <groupname>dialer</groupname>. You can use the group + <groupname>dialer</groupname> to control who has access to your + modem or remote systems. Just add yourself to group + dialer.</para> + + <para>Alternatively, you can let everyone on your system + run &man.tip.1; and &man.cu.1; by + typing:</para> + + <screen>&prompt.root; <userinput>chmod 4511 /usr/bin/cu</userinput> +&prompt.root; <userinput>chmod 4511 /usr/bin/tip</userinput></screen> + </answer> + </qandaentry> + + <qandaentry> + <question id="hayes-unsupported"> + <para>My stock Hayes modem is not supported---what + can I do?</para> + </question> + + <answer> + <para>Actually, the man page for &man.tip.1; is + out of date. There is a generic Hayes dialer already built in. + Just use <literal>at=hayes</literal> in your + <filename>/etc/remote</filename> (see &man.remote.5;) file.</para> + + <para>The Hayes driver is not smart enough to recognize some of + the advanced features of newer modems---messages like + <literal>BUSY</literal>, <literal>NO DIALTONE</literal>, or + <literal>CONNECT 115200</literal> will just confuse it. You + should turn those messages off when you use &man.tip.1; + (using <literal>ATX0&W</literal>).</para> + + <para>Also, the dial timeout for &man.tip.1; is 60 + seconds. Your modem should use something less, or else tip + will think there is a communication problem. Try + <literal>ATS7=45&W</literal>.</para> + + <para>Actually, as shipped &man.tip.1; does not yet + support it fully. The solution is to edit the file + <filename>tipconf.h</filename> in the directory + <filename>/usr/src/usr.bin/tip/tip</filename>. Obviously you + need the source distribution to do this.</para> + + <para>Edit the line <literal>#define HAYES 0</literal> + to <literal>#define HAYES 1</literal>. Then + <command>make</command> and <command>make install</command>. + Everything works nicely after that.</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="direct-at"> + <para>How am I expected to enter these AT commands?</para> + </question> + + <answer> + <para>Make what is called a <quote>direct</quote> entry in your + <filename>/etc/remote</filename> file (see &man.remote.5;). For example, if your modem is hooked + up to the first serial port, <devicename>/dev/cuaa0</devicename>, + then put in the following line:</para> + + <programlisting>cuaa0:dv=/dev/cuaa0:br#19200:pa=none</programlisting> + + <para>Use the highest bps rate your modem supports in the br + capability. Then, type + <command>tip <devicename>cuaa0</devicename></command> (see &man.tip.1;) + and you will be connected to your modem.</para> + + <para>If there is no <devicename>/dev/cuaa0</devicename> on your + system, do this:</para> + + <screen>&prompt.root; <userinput>cd /dev</userinput> +&prompt.root; <userinput>sh MAKEDEV cuaa0</userinput></screen> + + <para>Or use cu as <username>root</username> with the following command:</para> + + <screen>&prompt.root; <userinput>cu -l<replaceable>line</replaceable> -s<replaceable>speed</replaceable></userinput></screen> + + <para>with <replaceable>line</replaceable> being the serial port (e.g. + <devicename>/dev/cuaa0</devicename>) and <replaceable>speed</replaceable> being the speed + (e.g.<literal>57600</literal>). When you are done entering + the AT commands hit <literal>~.</literal> to exit.</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="gt-failure"> + <para>Why does the <literal><@></literal> sign for the pn + capability not work?</para></question><answer> + + <para>The <literal><@></literal> sign in the phone number + capability tells tip to look in + <filename>/etc/phones</filename> for a phone number. But the + <literal><@></literal> sign is also a special character + in capability files like <filename>/etc/remote</filename>. + Escape it with a backslash:</para> + + <programlisting>pn=\@</programlisting> + </answer> + </qandaentry> + + <qandaentry> + <question id="dial-command-line"> + <para>How can I dial a phone number on the command + line?</para> + </question><answer> + + <para>Put what is called a <quote>generic</quote> entry in your + <filename>/etc/remote</filename> file (see &man.remote.5;). For example:</para> + + <programlisting>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:</programlisting> + + <para>Then you can do something like <command>tip -115200 + 5551234</command>. If you prefer &man.cu.1; + over + &man.tip.1;, use a generic cu entry:</para> + + <programlisting>cu115200|Use cu to dial any number at 115200bps:\ + :dv=/dev/cuaa1:br#57600:at=hayes:pa=none:du:</programlisting> + + <para>and type <command>cu 5551234 -s 115200</command>.</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="set-bps"> + <para>Do I have to type in the bps rate every time I do + that?</para> + </question><answer> + + <para>Put in an entry for <literal>tip1200</literal> or + <literal>cu1200</literal>, but go ahead and use whatever bps + rate is appropriate with the br capability. + &man.tip.1; + thinks a good default is 1200 bps which is why it looks for + a <literal>tip1200</literal> entry. You do not have to use 1200 + bps, though.</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="terminal-server"> + <para>How can I more easily access a number of hosts through a + terminal server?</para> + </question> + + <answer> + <para>Rather than waiting until you are connected and typing + <literal>CONNECT <replaceable>host</replaceable></literal> + each time, use tip's <literal>cm</literal> capability. For + example, these entries in + <filename>/etc/remote</filename> (see &man.remote.5;):</para> + + <programlisting>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/cuaa2:br#38400:at=hayes:du:pa=none:pn=5551234:</programlisting> + + <para>will let you type <command>tip pain</command> or + <command>tip muffin</command> to connect to the hosts + <hostid>pain</hostid> or <hostid>muffin</hostid>; and + <command>tip deep13</command> to get to the terminal + server.</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="tip-multiline"> + <para>Can tip try more than one line for each site?</para> + </question> + + <answer> + <para>This is often a problem where a university has several + modem lines and several thousand students trying to use + them...</para> + + <para>Make an entry for your university in + <filename>/etc/remote</filename> (see &man.remote.5;) and use <literal><\@></literal> for + the <literal>pn</literal> capability:</para> + + <programlisting>big-university:\ + :pn=\@:tc=dialout +dialout:\ + :dv=/dev/cuaa3:br#9600:at=courier:du:pa=none:</programlisting> + + <para>Then, list the phone numbers for the university in + <filename>/etc/phones</filename> (see &man.phones.5;):</para> + + <programlisting>big-university 5551111 +big-university 5551112 +big-university 5551113 +big-university 5551114</programlisting> + + <para>&man.tip.1; + will try each one in the listed order, then give + up. If you want to keep retrying, run &man.tip.1; + in a while loop.</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="multi-controlp"> + <para>Why do I have to hit CTRL+P twice to send CTRL+P + once?</para> + </question> + + <answer> + <para>CTRL+P is the default <quote>force</quote> character, + used to tell &man.tip.1; + that the next character is literal data. You can set the + force character to any other character with the + <literal>~s</literal> escape, which means <quote>set a + variable</quote>.</para> + + <para>Type <literal>~sforce=<replaceable>single-char + </replaceable></literal> followed by a newline. + <replaceable>single-char</replaceable> is any single character. + If you leave out <replaceable>single-char</replaceable>, + then the force character is the nul character, which you can + get by typing CTRL+2 or CTRL+SPACE. A pretty good value for + <replaceable>single-char</replaceable> is SHIFT+CTRL+6, which + I have seen only used on some terminal servers.</para> + + <para>You can have the force character be whatever you want by + specifying the following in your + <filename>$HOME/.tiprc</filename> file:</para> + + <programlisting>force=<replaceable>single-char</replaceable></programlisting> + </answer> + </qandaentry> + + <qandaentry> + <question id="uppercase"> + <para>Why is everything I type suddenly in UPPER CASE?</para> + </question> + + <answer> + <para>You must have pressed CTRL+A, &man.tip.1; + <quote>raise character</quote>, specially + designed for people with broken caps-lock keys. Use + <literal>~s</literal> as above and set the variable + <quote>raisechar</quote> to something reasonable. In fact, + you can set it to the same as the force character, if you + never expect to use either of these features.</para> + + <para>Here is a sample .tiprc file perfect for Emacs users who + need to type CTRL+2 and CTRL+A a lot:</para> + + <programlisting>force=^^ +raisechar=^^</programlisting> + +<para>The ^^ is SHIFT+CTRL+6.</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="tip-filetransfer"> + <para>How can I do file transfers with + <command>tip</command>?</para> + </question> + + <answer> + <para>If you are talking to another Unix system, you can send + and receive files with <literal>~p</literal> (put) and + <literal>~t</literal> (take). These commands run + &man.cat.1; and + &man.echo.1; on the remote system to accept and send files. + The syntax is:</para> + + <programlisting>~p <local-file> [<remote-file>] +~t <remote-file> [<local-file>]</programlisting> + + <para>There is no error checking, so you probably should use + another protocol, like zmodem.</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="zmodem-tip"> + <para>How can I run zmodem with + <application>tip</application>?</para> + </question> + + <answer> + <para>First, install one of the zmodem programs from the + ports collection (such as one of the two from the comms + category, <application>lrzsz</application> or + <application>rzsz</application>.</para> + + <para>To receive files, start the sending program on the + remote end. Then, press enter and type + <literal>~C rz</literal> (or <literal>~C lrz</literal> if you + installed <application>lrzsz</application>) to begin + receiving them locally.</para> + + <para>To send files, start the receiving program on the remote + end. Then, press enter and type + <literal>~C sz <replaceable>files</replaceable></literal> + (or <literal>~C lsz <replaceable>files</replaceable></literal>) + to send them to the remote system.</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="cannot-find-serial"> + <para>Why does FreeBSD not find my serial ports, even + when the settings are correct?</para> + </question> + + <answer> + <para>Motherboards and cards with Acer UARTs do not probe + properly under the FreeBSD sio probe. Obtain a patch from + <ulink url="http://www.lemis.com/serial-port-patch.html"> + www.lemis.com</ulink> to fix your problem.</para> + </answer> + </qandaentry> + </qandaset> + </chapter> + + <chapter id="misc"> + <title>¨ä¥¦¦U¦¡¦U¼Ëªº°ÝÃD</title> + + <qandaset> + <qandaentry> + <question id="more-swap"> + <para>¬°¬Æ»ò FreeBSD ¥Îªº¸m´«(swap)ªÅ¶¡¤ñ Linux ¦h¡H</para> + </question> + + <answer> + <para>FreeBSD¶È¬O¬Ý°_¨Ó¸m´«ªÅ¶¡(swap)¥Îªº¤ñLinux¦h¦Ó¤w¡C¦b¨Æ¹ê¤W¡A + ¨Ã¤£µM¡C¥Dnªº®t²§¬O¦b©ó¡AFreeBSD¿n·¥ªº±N¶¢¸mµL¥Îªº¥D°O¾ÐÅ餺®e + ±À¤J¸m´«ªÅ¶¡(swap)¤¤¡A¥H¨Ï±o¥D°O¾ÐÅé¥i¥H§ó¬°¦³®Ä²vªº³Q¨Ï¥Î¡C¦Ó + Linuxªºµ¦²¤¬O±N¸m´«ªÅ¶¡(swap)¥Î¨Ó§@¬°¸Ñ¨M°O¾ÐÅé°ÝÃDªº³Ì²×¤â¬q¡C + ¸ûÀWÁcªº¨Ï¥Î¸m´«ªÅ¶¡(swap)¡C¬O¤@ºØ§ó¦³®Ä²vªº¨Ï¥Î¥D°O¾ÐÅ骺¤â¬q¡C + </para> + + <para>µù¡G·í¤@¤è±FreeBSD¿n·¥ªº¨Ï¥Î¸m´«ªÅ¶¡(swap)ªº¦P®É¡A§A¥²»Ýª` + ·N¨ì¡AFreeBSD¨Ã¤£·|¥ô·Nªº±N©Ò¦³ªºªF¦è³£±À¤J¸m´«ªÅ¶¡(swap)¤¤¡C¦p¦¹¡A + §A¤~¤£·|¦b¤@©]±J¾K°_§É«áµo²{¡A¾ãÓ¨t²Î³£³Q˶i¤F¸m´«ªÅ¶¡(swap)¤§¤¤¡C + </para> + </answer> + </qandaentry> + + <qandaentry> + <question id="top-freemem"> + <para>§Y¨Ï§Ú¥u¦³¹B¦æ¤Ö¼Æµ{¦¡¡A¬°¤°»ò <command>top</command> Åã¥Ü¥X + ¨Óªº³Ñ¾l°O¾ÐÅéÁÙ¬O«Ü¤Ö¡H</para> + </question> + + <answer> + <para>²³æªºµª®×¬O¡A©Ò¦³¥¼¨Ï¥Î¨ìªº¶¢¸m°O¾ÐÅé³£¬O³Q®ö¶Oªº°O¾ÐÅé¡A + ¥ô¦ó¥¼³Q§Aªºµ{¦¡©Ò§Q¥Î¨ìªº°O¾ÐÅé±N³Q®Ö¤ß(kernel)¥Î¨Ó·í + §@ºÏºÐ§Ö¨ú(disk cache)¡C¦Ó³oºØ°O¾ÐÅé³Q &man.top.1; ¼Ð°O¬° + <literal>¶¢¸mªº(Inact)</literal>¡A<literal>§Ö¨ú(Cache)</literal>¡A + ¥H¤Î <literal>½w½Ä°Ï(Buf)</literal>¡A¨Ãt³d¦b¦UÓ¤£¦Pªº¦ì¸mt³d + ¼È¦s¸ê®Æ¡C³Q¼È¦s(cached)ªº¸ê®Æ¥Nªí¨t²Î¤£»Ýn¥h¦s¨ú¸ûºCªººÏºÐ¸Ë¸m + ´N¥i¥H±o¨ì¸ê®Æ¡A¦p¦¹¡A¥i¥H´£¤É¨t²Îªº®Ä¯à¡CÁ`¦Ó¨¥¤§¡A&man.top.1; + Åã¥Ü¥X¸û¤Öªº <literal>¶¢¸m(Free)</literal> °O¾ÐÅé¬O¦nªº¡A¥unÅã¥Ü + ¥X¨ÓªºÈ¤£¬O <literal>«D±`</literal> ªº§C¡C</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="aout-elf"> + <para>¬°¬Æ»òn¥Î(¬Æ»ò¬O) a.out ©M ELF °õ¦æÀɮ榡¡H</para> + </question> + + <answer> + <para>n¤F¸Ñ¬°¤°»òFreebsd¨Ï¥Î <filename>ELF</filename> ®æ¦¡¡A§A¦³¥² + n¥ý»{ÃѤ@¤U¤TºØ¦b¥Ø«e Unix ¨t²Î¤¤³Ì³Q¼sªxÀ³¥Î¨ìªº°õ¦æÀɮ榡¡G + </para> + + <note> + <para>¦b FreeBSD 3.x ¤§«e¡AFreeBSD ¨Ï¥Î a.out ®æ¦¡¡C</para> + </note> + + <itemizedlist> + <listitem> + <para>&man.a.out.5;</para> + + <para>³o¬O³Ì¦¡A¦P¬O¤]¬O <quote>³Ì¨å«¬</quote> ªºUnix¥ØªºÀÉ + ®æ¦¡¡C³oºØ®æ¦¡ªºÀɮרϥΤ@ºØµu¥Bºò±KªºÀÉÀY¡A¦P®É¡A¦ñÀHµÛ¤@ + ÓÅ]³N¼Æ¦r¥Î¨Ó¿ëÃѮ榡¡C(°Ñ¦Ò &man.a.out.5; ¦³§ó¦h¸Ô²Óªº»¡ + ©ú)¡C¥¦¥]§t¦³¤TÓ¸`°Ï¡G .text .data ¤Î .bss ¥[¤W¤@ӲŸ¹ªí + ¤Î¦r¦êªí¡C</para> + </listitem> + + <listitem> + <para><acronym>COFF</acronym></para> + + <para>SVR3¥ØªºÀɮ榡¡CÀÉÀY¥]§t¤F¤@Ó¸`°Ïªí¡A©Ò¥H¥i¥H¨ã³Æ¤ñ + .text .data .bss ÁÙ¦hªº¸`°Ï¡C</para> + </listitem> + + <listitem> + <para><acronym>ELF</acronym></para> + + <para>ELF¬° <acronym>COFF</acronym> ®æ¦¡ªº«áÄ~ªÌ¡A¥Dnªº¯S¼x¬° + ¥i¥H¨ã¦³½Æ¼Æ¸`°Ï¬q¡A¨Ã¥i¥H¨Ï¥Î32-bits©Î¬O64-bitsªº¼ÆÈ¡C + ¥Dnªº¯ÊÂI¬°¡G <acronym>ELF</acronym> ®æ¦¡¬O¦b¨CÓ¨t²Î¤¤¥u + ·|¦³¤@ºØ ABI ªº°²³]¬°«eÃD³Q³]p¥X¨Óªº¡C¦ý¬O¡A¦b¨Æ¹ê¤W¡A³oÓ + °²³]¿ùªºÂ÷ÃСC¦]¬°¡AÁa¨Ï¦b°Ó¥Îªº SYSV ¥@¬É¸Ì¡A¤]¦Ü¤Ö¦³ SVR4¡A + Solaris ©M SCO ¤TºØ ABI¡C</para> + + <para>Ķµù¡GABI(Application Binary Interface)¡C¦pªG¤@©wn½Ķ¡A + ´N¥s¥¦ <emphasis>À³¥Îµ{¦¡¤G¶i¦ì¤¶±</emphasis> ¦n¤F¡C ABI³Qµo + ®i¥X¨Óªº¥Î·N¡A¬O¬°¤F«P¨Ï¦b¬Û¦PCPU©Òµo®i¥X¨ÓªºÀ³¥Îµ{¦¡¡A¯à°÷ + ¦b¤£¦Pªº¨t²Î¤W¡A§@¨ì¤G¤¸ÀÉ(Binary Code)¬Û®e¡C¤ñ¤è»¡¡A + <acronym>Sun</acronym> ©Ò´£¥Xªº <acronym>Solaris ABI</acronym> + ¡A«OÃÒ°õ¦æÀɯà°÷¦b¬Û¦P CPU ªº Solaris ¨t²Î¤W°õ¦æ¡A¥t¤@Ó¨Ò¤l¬O + Windows ¨t²Î¡C¦PÄÝ©ó Intel x86 ª©¥»ªº°õ¦æÀɯà°÷¦Û¥Ñªº¦bWindows + 9x/me¤ÎWindows NT/2k/XP¤§¶¡°õ¦æ¡C</para> + + <para>FreeBSD´£¨Ñ¤@Ó¤½¥Îµ{¦¡±Nµ{¦¡©Ò»ÝªºABI¸ê°T¯O¤W¡AÂǦ¹¸ÕµÛ + ¥h¸Ñ¨M³oÓ°ÝÃD¡C½Ð°Ñ¦Ò &man.brandelf.1; ¥H¨ú±o§ó¦h¸ê°T¡Ci + </para> + </listitem> + </itemizedlist> + + <para>FreeBSD ¨Ó¦Û <quote>¶Ç²Î</quote> ªº°}Àç¡C¦b¶Ç²Î¤W¡AFreeBSD³£ + ¨Ï¥Î &man.a.out.5; ®æ¦¡¡A³o¼Ëªº§Þ³N¦b¦n´X¥Nªº BSD ³£³QÃÒ©ú¬O¥i¾aªº¡C + ÁöµM¡A¦bFreeBSD¤W¥i¥H«Ø¥ß¥H¤Î¥¿½Tªº°õ¦æì¥Í <acronym>ELF</acronym> + ®æ¦¡ÀÉ®×(¥]§t®Ö¤ß)¡CµM¦Ó, FreeBSD¦b¤@¶}©l¤Ï¹ï±N¹w³]®æ¦¡Âà´«¬° ELF¡A + ¬°¤°»ò©O¡H·íLinux¶}©lµhWªºÂà´«¦Ü <acronym>ELF</acronym> ®æ¦¡®É¡A + ¨Ã«D¬O¬°¤Fn°kÂ÷ <filename>a.out</filename> ®æ¦¡¡C¬Û¤Ïªº¡A³o¬O¦] + ¬°¤§«e Linuxªº¦@¨É¨ç¦¡®w(shared libraries)±Ä¥Î¥H¸õÅDªí®æ + (jump-table)¬°°ò¦ªº§Þ³N¥h³]p¡C³o¬O¤@ºØÅýµo®iªÌ·P¨ì§xÂZ¡A¥B«D±` + Ãø¥H¨Ï¥Î¡A¤£¨ã¨¬°÷¼u©Êªº¤èªk¡C¬JµM¡A¤w¸g¦s¦bªº + <acronym>ELF</acronym> ¤u¨ã´£¨Ñ¤F¦@¨É¨ç¦¡®w(shared libraries)ªº¸Ñ + ¨M¤è®×¡A¦Ó¥B¡A¨º¬Ý°_¨Ó¬OÓ <quote>«e½Ãªº¤èªk</quote>¡A¦]¦¹¡A©Ò»Ý + ªºÂà´«¥N»ù´N¥i±µ¨ü¦]¦ÓÂà´«¡C</para> + + <para>¦bFreeBSDªºª¬ªp¤¤¡A§Ú̪º¦@¨É¨ç¦¡®w(shared libraries)¾÷¨î©M + <application>SunOS</application> ªº«¬¦¡«D±`¬Ûªñ¡A¥B©ö©ó¨Ï¥Î¡CµM¦Ó¡A + ±q 3.0 ¶}©l¡AFreeBSD ¥¿¦¡±N <acronym>ELF</acronym> §ï¬°¹w³]®æ¦¡¡C + ÁöµM¡A<filename>a.out</filename> ®æ¦¡¨Ì¦p¥H©¹¯ëªº¦n¡A¦ý¬O¡A§ÚÌ + ½sĶ¤u¨ãªº¼¶¼gªÌ¡AGNU ªº¦¨û¡A¥L̤¤¤î¤F¹ï + <filename>a.out</filename> ®æ¦¡ªº¤ä´©»PºûÅ@¡C¦b³oºØª¬ªp¤U¡A¢¨Ï + §ÚÌ¥²¶·¦Û¦æºûÅ@¥t¤@¥÷ª©¥»ªº compiler ©M linker¡A¤]¨Ï±o§Ú̵Lªk + ±q³Ì·sªº GNU µo®i¦¨ªG¤¤Àò±o¦n³B¡C¦¹¥~¡A¹ï ISO-C++ ªº»Ý¨D¡A¤×¨ä¬O + «Øºc¤l(constructors)©M¸Ñºc¤l(destructors)¡A¤]±a°Ê¥¼¨Óª©¥»¤¤¹ï + <acronym>ELF</acronym> ªºì¥Í¤ä´©¡C</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="binary-formats"> + <para>¬Oªº, ¦ý¬O, ¬°¤°»ò·|¦³³o»ò¦h¤£¦P®æ¦¡ªº°õ¦æÀɦs¦b©O?</para> + </question> + + <answer> + <para>¦b¶Â·t¦Ó»»»·ªº¹L¥h¡A¶È¦³Â²®ªºµwÅé¦s¦b¡C¦Ó¦]¬°µwÅé²®¡A·íµM¤] + ¥u¯à°õ¦æ¤p¦Ó²³æªº¨t²Î¡Ca.out ®æ¦¡¬O°ò©ó¨ºÓ®É¥N©Ò»Ýn¡A¦Ó³Q³Ð³y + ¥X¨Óªº(¨Ò¦p¹³PDP-11)¡C¦b³o¤§«á¡A³\¦h¤H¸ÕµÛ±N Unix ²¾´Ó¨ì¨ä¥L¥¥x + ®É¡A¥L̤]«O¯d¤F a.out ®æ¦¡ªº°õ¦æÀÉ¡C¦]¬°¡A³o¹ï¦´Áªº Motorola 68k¡A + VAXen ¤§Ãþªº¨t²Î¤w¸g¨¬°÷¨Ï¥Î¤F¡C</para> + + <para>µM¦Ó¡A¤H¨Ã¤£·|º¡¨¬©ó²{ª¬¡C¤@¨ÇÁo©úªºµwÅé¤uµ{®v·Q¨ì¤F¡A¦pªG¯à + Åý³nÅé¦h³B²z¤@¨Ç¨Æ¡A¨º CPU ªº¹q´¹Åé¼Æ´N¯à¤Ö¤@ÂI¡A¨Ã¥B¶]±o§ó§Ö¡Cn + ¦b³oºØ·s¦¡ªºµwÅé¤W¤u§@(²{¦bºÙ¬°RISC)¡A<filename>a.out</filename> + ³oºØ®æ¦¡´N¤£¦X¾A¤F¡C°ò©ó³o¼Ëªº²{¹ê©Ò»Ý¡A§ó¦hªº°õ¦æÀɮ榡³Qµo®i¥X + ¨Ó¡A¥H´£¨Ñ¤ñ²³æ¥B¨ü¨ì³\¦h¨îªº <filename>a.out</filename> ®æ¦¡ + §ó¦nªº®Ä¯à¡C¤ñ¤è¹³¬O <acronym>COFF</acronym>¡A + <acronym>ECOFF</acronym>¡A¤w¤Î¤@¨Ç¸û¤£¬°¤H©Ò©Pª¾ªº®æ¦¡¯É¯É³Q³Ð³y + ¥X¨Ó¡C¦ý¬O¡A³o¨Ç®æ¦¡³£¤w¹F¨ì¦U¦Ûªº·¥¡Aª½¨ì¦³¤@¤Ñ + <acronym>ELF</acronym> ªº¥X²{¡C</para> + + <para>¦¹¥~¡A·íµ{¦¡ªºÅé¿n¶V¨Ó¶V¤j¡A¦ÓºÏºÐªÅ¶¡©M¥D°O¾ÐÅé¬Û¹ï¨Ó»¡³£¸û + ¤p®É¡A¦@¨É¨ç¦¡®w(shared libraries)ªºÆ[©À³Qµo®i¥X¨Ó¤F¡C¦b³o¦P®É¡A + µêÀÀ°O¾ÐÅé¨t²Î(VM System)¤]Åܱo¶V¨Ó¶Vºë¥©¡C·í¨C¤@ºØ¶i¨B³£¦b + <filename>a.out</filename>®æ¦¡¤W³Qµo®i¥X¨Ó®É¡A¥¦ªº¥i¥Î©Ê¤]¦P®ÉÅÜ + ±o¶V¨Ó¶V§C¡C¥t¥~¡A¤HÌÁ٧Ʊæµ{¦¡¯à¦b°õ¦æ´Á¶¡°ÊºA¸ü¤J¡A©Î¬O±N¤w¸g + °õ¦æ¹L¥B¨S¦³¥Îªºªì©l¤Æµ{¦¡½X¥á±ó¡AÂÇ¥H¸`¬Ù§ó¦hªº°O¾Ð¡Cµ{¦¡»y¨¥¦b + ³oӮɴÁ¤]«K±o§óºë¥©¡A¤H̤]§Æ±æ¦b main ¤§«e¦Û°Êªº°õ¦æ§ó¦hªºªF¦è¡C + ¦]¦¹¡A³\¦hÁcÂø¥B¥t¤H¹Ä¬°Æ[¤îªº§Þ¥©³Q¥Î¦b <filename>a.out</filename> + ®æ¦¡¤W¥h¸Ñ¨M³o¨Ç°ÝÃD¡C¦ý¬O¡A¥Ñ©ó <filename>a.out</filename> ®æ¦¡ + ¥ý¤Ñªº¨î¡An¸Ñ¨M³o¨Ç°ÝÃD¥²»Ý¥I¥X§ó¦hªº¥N»ù¤Î®É¶¡¦¨¥»¡A¨ÃÅýµ{¦¡ + ªº½ÆÂø«×¤j¬°´£¤É¡C¦Ó <acronym>ELF</acronym> ®æ¦¡¥i¥H¤@Á|¸Ñ¨M³o¤@ + ¤Á°ÝÃD¡C¦ý¬O¡An±N¾ãÓ¨t²Î±q®Ú¥»Âà´«¹L¥h¡A±N·|¦³¤£µuªº°}µh´Á¡A¦] + ¦¹¡A <acronym>ELF</acronym>®æ¦¡±N·|¦³¤@°}¤l»P + <filename>a.out</filename> ¨Ã¦s¡C</para> + + <para>µM¦Ó¡AÀHµÛ®É¶¡ªº¹L¥h¡AFreeBSDªº build tools ºt¤Æ¦¨¥¦æªº¨âÓ + ¤ä½u(¤×¨ä¬O²ÕĶ¾¹©M¸ü¤J¾¹)¡CFreeBSD³o±ø¸ô¥[¶i¤F¦@¨É¨ç¦¡®w + (shared libraries)¨Ã×¥¿¤F¤@¨Ç¿ù»~¡C¦Óì¨Óµo®i³o¨Çµ{¦¡ªº GNU ¦¨û + «h¬°¤F¦]À³²{ªp¡A«¼g¤F³o¨Çµ{¦¡¡A¥H§ó²³æªº¤è¦¡¹ï¸ó¥¥x½sĶ + (building cross compilers)¡A¥H¤Î¦hºØ®æ¦¡ + (plugging in different formats) §@¥X¤F¤ä´©¡C³\¦h¤H·Q§@¥X¥H FreeBSD + ¬°¥Øªº¥¥xªº¸ó¥¥x½sĶ¾¹¡C¦ý¤£©¯ªº¬O¡AFreeBSD ªº as ©M ld ¤£¯à§@ + ³o¶µ¤u§@¡C·sªº GNU ¤u¨ãµ{¦¡¥[¤J¤F¸ó¥¥x½sĶ (Cross Compiler)¡A + <acronym>ELF</acronym>®æ¦¡¤ä´©¡A¦@¨É¨ç¦¡®w(shared libraries)¡A + C++ ªºÂX¥R... µ¥µ¥¡C¦¹¥~¡A³\¦h¼t°Ó¥H <acronym>ELF</acronym> ®æ¦¡ + µo¦æ¨ä²£«~¡A¦pªG³o¨ÇªF¦è¯à¦b FreeBSD ¤W°õ¦æªº¸Ü·íµM¬O³Ì¦nªº¡C¬JµM¡A + ¯à°÷°õ¦æ <acronym>ELF</acronym> ®æ¦¡ªº°õ¦æÀɤF¡A¬°¤°»òÁÙ¶·n + <filename>a.out</filename> ©O¡H¥¦¤w¸g¬O¤@¤Ç««««¦Ñ¨oªº°¨¤F¡A¦bºÜ¤O + ºÉ©¾ªº©^Äm³o»ò¦h¦~¤§«á¡A¸Ó¬OÅý¥¦¦bªª³õªÎ¨Uªº¯ó¦a¤W¦n¦n¥ð®§ªº®ÉÔ + ¤F¡C</para> + + <para><acronym>ELF</acronym> ®æ¦¡¤ñ a.out ¨ã¦³§ó¨}¦nªº®i²{¯à¤O¡A¨Ã + ¥B¦b©³¼h¨t²Î¤¤¨ã¦³§ó¦hªº¥iÂX®i©Ê¡C<acronym>ELF</acronym> ¤u¨ãµ{¦¡ + §ó®e©ö³QºûÅ@¡A¥B´£¨Ñ¸ó¥¥x½sĶªº¤ä´©¡A³o¤@ÂI¹ï«Ü¦h¤H¨Ó»¡¬O«Ü«n + ªº¡C<acronym>ELF</acronym> ®æ¦¡¥i¯à¤ñ a.out ºC¤@ÂI¡A¦ý¬O¨ä®t²§«D + ±`Ãø´ú¶q¥X¨Ó¡C³o¨âªÌ¶¡ÁÙ¦³³\¦h²Ó¸`¤Wªº¤£¦P¡A¤ñ¤è»¡¤À¶¹ïÀ³ªº¤è¦¡¡A + µ{¦¡½Xªì©l¤Æªº¤èªk...µ¥µ¥¡C³o¨Ç¨Ã¤£¬O«Ü«n¡A¦ý¬O¡A¨âªÌ´N¬O¤£¦P¡C + ¥H«á¡AGENERIC ®Ö¤ß(kernel)±N·|²¾°£¹ï <filename>a.out</filename> + ®æ¦¡¡C·í¤£¦b¦³°õ¦æ¶Ç²Î <filename>a.out</filename> µ{¦¡ªº¶·n®É¡A + ±N·|±q®Ö¤ß(kernel)¤¤²¾°£¡C</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="chmod-symlinks"> + <para>¬°¬Æ»òchmod¤£·|§ïÅܲŸ¹³sµ²(symlink)ªº¦s¨úÅv¡H</para> + </question> + + <answer> + <para>Symlinks ¥»¨¨Ã¨S¦³¦s¨úÅv¡A¦P®É¡A¦b¹w³]ªºª¬ªp¤U¡A + &man.chmod.1; ±N¤£·|¸òÀHµÛ symlinks ¥h§ï«K¥Ø¼ÐÀɮתº¦s¨úÅv¡C¦]¦¹¡A + ¦pªG§A¦³¤@ÓÀÉ®× <filename>foo</filename>¡A¦P®É¡A¦³¤@Ó symlink + <filename>bar</filename> «ü¦V³oÓÀɮסA¥H¤U³oÓ©R¥O±N¥Ã»··|¦¨¥\ + ªº³Q°õ¦æ¡C</para> + + <screen>&prompt.user; <userinput>chmod g-w bar</userinput></screen> + + <para>µM¦Ó¡A¦b <filename>foo</filename> ¤Wªº¦s¨úÅv±N¤£·|³Q§ï + ÅÜ¡C</para> + + <para>§A¥²»Ý¨Ï¥Î <option>-H</option> ©Î¬O±N <option>-L</option> + »P <option>-R</option> ¿ï¶µ¤@°_¨Ï¥Î¡A°Ñ¦Ò &man.chmod.1; ¥H¤Î + &man.symlink.7; ¥H¨ú±o§ó¦hªº¸ê°T¡C</para> + + <warning> + <para>¨Ï¥Î¿ï¶µ <option>-R</option> ·|Åý &man.chmod.1; ¥H + <acronym>»¼°j(RECURSIVE)</acronym> ªº¤è¦¡¤u§@¡C·í§A§â + &man.chmod.1; ¥Î¦b¥Ø¿ý©Î¬O³sµ²¨ì¥Ø¿ýªº²Å¸¹³sµ²®É§ón¤p¤ß¡C + ¦pªG§An§ïÅܤ@ӲŸ¹³sµ²°Ñ¦Ò¨ìªº¥Ø¿ý¤§¦s¨úÅv &man.chmod.1; ¡A + ¥Bª`·N¤£n¥[¤W¥ô¦ó¿ï¶µ¡A¨Ã¥B¦b symlink ªºµ²§À¥[¤W±×½u + (<filename>/</filename>)¡CÁ|¨Ò¨Ó»¡¡A¦pªG + <filename>foo</filename> ³sµ²¨ì¥Ø¿ý <filename>bar</filename>¡A + ¦Ó§An§ó§ï <filename>foo</filename> (¹ê»Ú¤W¬O + <filename>bar</filename>)¡A¨º´N¨Ï¥Î¡G</para> + + <screen>&prompt.user; <userinput>chmod 555 foo/</userinput></screen> + + <para>µ²§Àªº±×½u·|¨Ï±o &man.chmod.1; §ïÅÜ + <filename>foo</filename> ©Ò«ü¦Vªº¥Ø¿ý <filename>bar</filename> + ªºÅv¡C</para> + </warning> + </answer> + </qandaentry> + + <qandaentry> + <question id="login-8char"> + <para>¬°¤°»ò¦b FreeBSD 2.2.x ¤Î§ó¦ªºª©¥»¤¤¡Aµn¤J¦WºÙ(login names) + ³Q¨î¦b¤KÓ¦r¤¸¥H¤U©O¡H</para> + </question> + + <answer> + <para>§A¥i¯à»{¬°×§ï <literal>UT_NAMESIZE</literal> «á¦b«·s½sĶ¾ãÓ + ¨t²Î¬O«Ü®e©öªº¨Æ¡C¦Ó¥B¦b³o¤§«á¡A¨C¥ó¨Æ³£¥i¥H¹B§@ªº«Ü¦n¡C¤£©¯ªº¬O¡A + ¦³³\¦hªºµ{¦¡©M¤u¨ã(¥]§t¨t²Î¤u¨ã)§â¼Æ¦r¼g¦º¦bµ{¦¡¸ÌÀY(¨Ã«DÁ`¬O + <literal>8</literal> ©Î <literal>9</literal>¡A¦³®É¥i¯à¬O¥j©Çªº + <literal>15</literal> ©Î <literal>20</literal>)¡C³o¤£¶È¶È¬O·|±N + §Aªº¨t²Î°O¿ýÀɧËÃa¦Ó¤w(¨Ó¦Û©óÅܰʪø«×©M©T©wªø«×°O¿ýªº®t²§)¡A¦P®É + ¤]·|¯}Ãa Sun ªº NIS Client ªº¹B§@¡C¦P®É¡A©M¨ä¥LªºUnix¨t²Î¤§¶¡¤] + ¦³¥i¯à·|²£¥Í¥¼ª¾ªº°ÝÃD¡C</para> + + <para>¦bFreeBSD 3.0 ¤Î¤§«áªºª©¥»¡A±b¸¹ªº³Ì¤jªø«×¼W¥[¨ì16Ó¦r¤¸¡A + ¦P®É¡A¨º¨Ç±Nªø«×¼g¦ºªºµ{¦¡¤]³Q§ä¥X¨Ó¨Ã§@¤F¾A·íªº×¥¿¡C¥¿¦]¬°¼vÅT + ¨t²Îªº½d³ò«Ü¼s¡A©Ò¥Hª½¨ì3.0ª©¤§«á¤~ºâ¤jP×¥¿§¹¦¨¡C</para> + + <para>¦pªG§A¦³¦Û«H¦b¥X°ÝÃDªº®É«á¯à¦Û¦æ¸Ñ¨M¡A§A¥i¥H§Q¥Î¤U±ªº¤èªkÅý + ¸û¦´Áªºª©¥»¤ä´©¸ûªøªº±b¸¹¡Cº¥ý¡Aקï + <filename>/usr/include/utmp.h</filename> ¤¤ªºUT_NAMESIZE¡C + µM«á¡A§A¥²¶·§â <filename>/usr/include/sys/param.h</filename> + ¤¤ªº MAXLOGNAME §ï¦¨¸ò UT_NAMESIZE ¬Û¦P¡C³Ì«á¡A¦pªG§A¬O±qì©lµ{ + ¦¡«Ø¥ß¨t²Î, §O§Ñ¤F /usr/include ¨C¦¸³£·|³Q§ó·s¡C + קï /usr/src/.. ¤¤¾A·íªºÀɮסC</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="dos-binaries"> + <para>§Ú¯à¦bFreeBSD¤U°õ¦æDOSµ{¦¡¶Ü¡H</para> + </question> + + <answer> + <para>¬Oªº¡A¦Û3.0ª©°_§A¥i¥H¨Ï¥ÎBSDIªº + <application>doscmd</application> DOS ¼ÒÀÀ¾¹¡A¦pªG§A¹ï³oÓªF¦è + ¦³¿³½ì¡A©Î¬O·Q¥[¤Jµo®i¦æ¦C¡A½Ð±H¤@«Ê¹q¤l¶l¥ó¨ì &a.emulation; ¡C + </para> + + <para>¹ï©ó3.0¤§«eªº¨t²Î¡A¦b ports ¤¤¦³¤@®M³nÅé¥i¥H¼Òèö 8088¡A¨Ã´£ + ¨Ñ¨¬°÷ªºBIOS¤¤Â_ªA°È¥H°õ¦æDOS¤å¦r¼Ò¦¡ªºµ{¦¡¡A³o®M³nÅé¥s°µ + <application>pcemu</application>¡A¦P®É¡A¹B¦æ¥¦¶·n + X Windows(¥ÑXFree86´£¨Ñ)¡C</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="translation"> + <para>¦pªGn§âFreeBSD¤å¥ó½Ķ¦¨§Úªº¥À»y¡A§Ú»Ýn§@¤°»ò¡H</para> + </question> + + <answer> + <para>°Ñ¾\FreeBSD¤å¥ó¤¤ªº <ulink + url="../fdp-primer/translations.html">½Ķ±`¨£°Ýµª</ulink>¡C</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="freebsd-mail-bounces"> + <para>¬°¤°»ò§Ú±H¨ì FreeBSD.org ¬ÛÃö¦a§}ªº¹q¤l¶l¥ó³£³Q°h¦^¤F©O¡H</para> + </question> + + <answer> + <para>FreeBSD.org ªº¶l¥ó¨t²Î¹ï©ó¶i¨Óªº¶l¥ó±Ä¨úÄY®æªºÀˬd¡A¨Ã¥B°h¦^ + ©Ò¦³³]©w¤£¥¿½T¡A©Î¬O¼ç¦bªº©U§£¶l¥ó¡C§Aªº¶l¥ó³Q°h¦^¥i¯à¬O¦]¬°¤U¦C + ì¦]©Ò¤Þ°_¡G</para> + + <itemizedlist> + <listitem> + <para>³o«Ê¹q¤l¶l¥ó¨Ó¦Û¤wª¾ªº©U§£¶l¥ó°Ï°ì©Î¬OIP¤¤¡C</para> + + <para>FreeBSD¶l¥ó¦øªA¾¹±N©Úµ´±µ¦¬¤wª¾ªº©U§£¶l¥ó¨Ó·½ªº¹q¤l¶l¥ó¡C + ¦pªG´£¨Ñ§Aºô¸ôªA°Èªº¤½¥q©Î¬Oºô°ì¤¤¦³²£¥Í¹L©U§£¶l¥ó©Î¬O¦³©U§£ + ¶l¥óÂ༽¯¸¡A½Ð§A´«¤@ÓªA°È´£¨ÑªÌ¡A©Î¬O°®¯Ü©ñ±ó¡C</para> + </listitem> + + <listitem> + <para>¹q¤l¶l¥óªº¥»¤å¶È¦³HTML¡C</para> + + <para>¶l¥óÀ³¸Ó¤w¯Â¤å¦r®æ¦¡µo°e¡A½Ð³]©w§Aªº¹q¤l¶l¥ó³nÅé°e¥X¯Â¤å + ¦r®æ¦¡¡C</para> + </listitem> + + <listitem> + <para>FreeBSDªº¶l¥ó³B²zµ{¦¡µLªk¥ÑIP¤Ï¬d°e¥ó¥D¾÷ªºIP¡C</para> + + <para>³]¸m DNS ¤Ï¬d¬O±µ¨ü¤@¥x¥D¾÷¶l¥óªº¤@ӼзÇn¨D¡A½Ð¬°±zªº¶l¥ó + ¥D¾÷³]¸m DNS ¤Ï¬d¡C³\¦h´£¨Ñ®a®xºô¸ôªA°È (DSL¡Acable¡Adialup µ¥) + ªº¤½¥q¨Ã¤£´£¨Ñ³o¼ËªºªA°È¡C¦b³oºØ±¡ªp¤U¡A½Ð³z¹Lºô¸ôªA°È´£¨ÑªÌªº + ¶l¥ó¦øªA¾¹°e¥X±zªº¹q¤l¶l¥ó¡C</para> + </listitem> + + <listitem> + <para>¦b SMTP ¨Ï¥Î EHLO/HELO ©R¥O®É©Òµ¹¤©ªº hostname µLªk³Q¸ÑªR¨ì + ¤@Ó IP ¦ì¸m¡C</para> + + <para>¦b¶l¥ó³Q±µ¨ü¥H«e¡A¤@Ó¥R¤À¦X®æ¡A¥B¥i³Q¸ÑªRªº¥D¾÷¦WºÙ¦b + SMTP ¨ó©wªº¹ï½Í¤¤¬O¥²nªº¡C¦pªG§A¨S¦³¦b DNS ¦øªA¾¹¤¤µn°O§A + ªº¥D¾÷¦WºÙ¡A½Ð³z¹Lºô¸ôªA°È´£¨ÑªÌªº¶l¥ó¦øªA¾¹°e¥X±zªº¹q¤l¶l + ¥ó¡C</para> + </listitem> + + <listitem> + <para>§Aªº°T®§¤¤§¨±aµÛ¤@Ó message ID ¥H <quote>localhost</quote> + ¦r¦êµ²§ô¡C</para> + + <para>¬Y¨Ç¶l¥ó³nÅé²£¥Í¬Y¨Ç¤£¥¿½Tªº message ID¡A³o±N¤£³Q±µ¨ü¡C + §A¥²»Ý§ó§ï³]©wÅý§Aªº¶l¥ó³nÅé²£¥Í¥¿½Tªº message ID¡A¦pªG³oµL + ªk¸Ñ¨M¡A¦Ò¼{»¡ªA§Aªº¶l¥ó³nÅé§@ªÌ§ó·sµ{¦¡¥H³B²z³oÓ°ÝÃD¡C</para> + </listitem> + </itemizedlist> + </answer> + </qandaentry> + + <qandaentry> + <question id="free-account"> + <para>§Ú¥i¥H¦bþ¸Ì§ä¨ì¤@Ó§K¶OªºFreeBSD±b¸¹¡H</para> + </question> + + <answer> + <para>FreeBSDªº¦øªA¾¹¥»¨¤£´£¨Ñ¥ô¦ó¹ï¥~ªºªA°È¡A¨ä¥Lªº³æ¦ì¤¤¡A + ¦³¤H´£¨Ñ¶}©ñªº Unix ¨t²ÎªA°È¡C¨ä¤¤¦³¨Ç¥i¯àn¦¬¨ú¨Ç³\¶O¥Î¡C</para> + + <para><ulink url="http://www.arbornet.org/">Arbornet, Inc</ulink>¡A + ¤]³QºÙ¬° M-Net¡A¦Û 1983 ¦~°_´N¶}©l´£¨Ñ Unix ¨t²ÎªA°È¡C¤@¶}©l¡A + ¥L̨ϥΠAltos ¨Ã°õ¦æ System III¡C¥L̦b 1991 ¦~Âà´«¨t²Î¦¨¬° + BSD/OS¡C¦b 2000 ¦~¤»¤ë¡A¥L̦A«×§ó´«¦¨¬° FreeBSD¡CM-Net ¯àÅý¨Ï + ¥ÎªÌ³z¹L SSH ¤Î telnet ³s½u¨ì¥D¾÷¡A¨Ã´£¨Ñ§¹¾ãªº FreeBSD ³nÅé¥H + ¨Ñ¨Ï¥Î¡CµM¦Ó¡AM-Net §@¬°¤@Ó«D¬Õ§Q²Õ´¹B¦æ¡A¦s¨úÅv¥u©ó¦¨û©M + ÃÙ§UªÌ¡AM-Net ¤]´£¨Ñ BBS ¨t²Î©Mºô¸ô²á¤ÑªA°È¡C</para> + + <para><ulink url="http://www.grex.org/">Grex</ulink> ´£¨Ñ¤F«D±` + Ãþ¦ü M-Net ªºªA°È¡A¥]¬A¤F BBS ¨t²Î©Mºô¸ô²á¤Ñ¡CµM¦Ó¡A¾÷¾¹¬O¨Ï¥Î + Sun 4M¡A¨Ã°õ¦æ SunOS¡C</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="sup-define"> + <para>¤°»ò¬O <command>sup</command>¡A§Ú¸Ó¦p¦ó¨Ï¥Î¥¦¡H</para> + </question> + + <answer> + <para><ulink url="http://www.FreeBSD.org/cgi/ports.cgi?^sup"> + SUP</ulink> ªº·N«ä¬O Software Update Protocol¡A¥Ñ CMU µo®i¡A + ¥Î¨Óºû«ù¾ãÓµo®iªº¦P¨B¡C§Ú̧Q¥Î¥¦«O«ù»·ºÝªº¯¸¥x©Mì©l¯¸¥x¤§¶¡ + ªº¦P¨B¤u§@¡C</para> + + <para>µM¦Ó¡ASUP ¦bÀW¼eªº¨Ï¥Î¤W¨Ã¤£¤Ó¤Íµ½¡A¦P®É¡A¥Ø«e¤]¤£¦A¨Ï¥Î¤F¡C + ¥Ø«e«Øijºû«ùì©l½X¦P¨B§ó·sªº¤èªk¬O + <ulink url="../handbook/synching.html#CVSUP">CVSup</ulink>¡C</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="daemon-name"> + <para>³oÓ¥i·Rªº¤p¬õ¤H¥s§@¤°»ò¡H</para> + </question> + + <answer> + <para>¦ü¥G¡A¥L¨Ã¨S¦³¤@Ó¥¿¦¡ªº¦W¦r¡A©h¥B´NºÙ¨ä¬° + <quote>BSD ¤p´cÅ]</quote> §a¡C¦pªG§A°õ·Nn¨Ï¥Î¤@Ó¦W¦r¡C¨º´N¥s¥L + <quote>¤p°Êª«(beastie)</quote> §a¡Cµù¡G<quote>beastie</quote> + ¦bŪµ¤W¸ò <quote>BSD</quote> «Ü±µªñ¡C</para> + + <para>§A¥i¥H¦bBSD¤p´cÅ]ªº <ulink + url="http://www.mckusick.com/beastie/index.html">¥D¶</ulink> + ¤W¨ú±o§ó¦hªº¸ê°T¡C</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="use-beastie"> + <para>§Ú¯à¨Ï¥Î BSD ¤p´cÅ]¹Ï®×¶Ü¡H</para> + </question> + + <answer> + <para>¤]³\§a¡A§Ú¤]¤£½T©w¡CBSD¤p´cÅ]¹Ï®×ªºª©Åv¬OÄÝ©ó°¨·²º¸Ä¬®æÄõ±Ð·|ªº + Marshall Kirk McKusick ©Ò¾Ö¦³¡C§A¥i¥H¸ÕµÛ¥h¬d¬Ýºô¶<ulink + url="http://www.mckusick.com/beastie/mainpage/copyright.html">Ãö©óBSD¤p´cÅ]¨v¹³</ulink> + ¥H¨ú±o§ó¸Ô²Óªº¨Ï¥Î²Ó¸`¡C</para> + + <para>Á`¦Ó¨¥¤§¡A¦pªG§A¯Âºé¬°¤F¦Û¤v·QnŲ½à¡A¨º»ò¡A§A¥i¥H¦Û¥Ñªº¨Ï¥Î¨v¹³¡C¦pªG§A¬OÓ¤H¨Ï¥Î¡A¥un±¡ªp¾A·í¡AÀ³¸Ó³£·|³Q³\¥i¡C + ¦pªG§A·Q¦b°Ó·~¤W¨Ï¥Î¡A«h§A¥²»ÝÁpôĬ®æÄõ±Ð·|ªº Kirk McKusick ¥H¨ú±o³\¥i¡C + ¦pªG§A»Ýn§ó¶i¤@¨B¸Ô²Óªº¸ê°T¡A½Ð°Ñ¦Ò <ulink + url="http://www.mckusick.com/beastie/index.html">BSD¤p´cÅ]ªºº¶</ulink>¡C + </para> + </answer> + </qandaentry> + + <qandaentry> + <question id="daemon-images"> + <para>§A¦³¥ô¦óªº BSD ¤p´cÅ]¹Ï®×¥i¥HÅý§Ú¨Ï¥Î¶Ü¡H</para> + </question> + + <answer> + <para>§A¥i¥H¦b <filename>/usr/share/examples/BSD_daemon/</filename> §ä¨ì Xfig ¤Î eps ¨âºØ®æ¦¡ªº¹ÏÀÉ¡C</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="glossary"> + <para>§Ú¦b¤å¥ó¡B¶l»¼½×¾Â¤W¡A±`·|¬Ý¨ì¤@¨ÇÁY¼g¦r¡B§Þ³N¦r·J¡A³o¨Ç¥i¥H¥hþÃä¬d©O¡H</para> + </question> + + <answer> + <para>½Ð°Ñ¾\ <ulink + url="&url.books.handbook;/freebsd-glossary.html"> + &os; ¦r·Jªí</ulink>¡C</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="bikeshed-painting"> + <para>¬°¤°»ò§Ú¸Ó¦b·N¸}½ñ¨®¨®´×ªºÃC¦â¡H</para> + </question> + + <answer> + <para>³Ìµu³Ìµuªºµª®×¬O¡G¡y¤£¥Î¦b·N¡z¡Cµy·Lªø¤@ÂIªºµª®×¬O¡G¡yÁöµM§A¦³¯à¤O¦Û¤v¥h«Ø³y¤@®y¸}½ñ¨®¨®´×¡A¦ý¬O¡A + ³o¤£¥Nªí¦]¬°§A¤£³ßÅw²{¦b³oÓ¨®´×ªºÃC¦â¡A´Nn¤¤¤î¥Lªº«Ø¿v¡C¡z³oÓ¤ñ³ëªº·N«ä¬O¡A + §A¤£»Ýn¥hª§½×¨C¤@Ó²Ó¶µ¯S¼x¡A¥u¦]¬°§A¦³¿ìªk¥h§@¥¦¡C + ¬Y¨Ç¤Hªºµû½×¬O¡G¡yÂøµªºµ{«×¡A»PÅܤƪº½ÆÂø©Ê¬O¦¨¤Ï¤ñ¡z¡C</para> + + <para>§óªø¥B¸û§¹¾ãªºµª®×¬O¡A¦b¸g¹Lªø®É¶¡ª§½×Ãö©ó¬O§_¸Ó±N &man.sleep.1; + ªº¬í°Ñ¼Æ²¾°£¡A&a.phk;µoªí¤F¤@½gªø½× <quote><ulink + url="http://www.FreeBSD.org/cgi/getmsg.cgi?fetch=506636+517178+/usr/local/www/db/text/1999/freebsd-hackers/19991003.freebsd-hackers"> + ¦b«C»A¯ó¦a¤Wªº¸}½ñ¨®¨®´×(¥ô¦óÃC¦âªº)...</ulink></quote>¡C¥H¤U¡A¶ÈºKn¸Ó«h¤å³¹³¡¤À¤º®e¡G</para> + + <blockquote> + <attribution>&a.phk; on freebsd-hackers, October + 2, 1999</attribution> + + <para><quote>¤°»ò¬OÃö©ó³oÓ¸}½ñ¨®¨®´×?</quote> ³¡¤Àªº¤H³o¼Ëªº¸ß°Ý§Ú¡C</para> + + <para>³o¬O¤@Ó«D±`ªø»·ªº¬G¨Æ¡A§_«h´N¬O¤@Ó¥j¦Ñªº¬G¨Æ¡C¦ý¬O¨Æ¹ê¤W¡A + ³oÓ¬G¨Æ«D±`ªºµu¡CC¡P¿Õ´µ¬ì¯S¡P©¬ª÷´Ë(C. Northcote Parkinson) ¦b 1960 + ¦~¥Nªì´Á¼g¤F¤@¥»®Ñ¡A®Ñ¦W¬° <quote>Parkinson's Law(¤¤¤å®Ñ¦W¡G¤É©x¦³¹D¡Ð¼ÉÅS¤W¥q¤ßºA¤§©¬ª÷´Ë©w«ß)</quote> + ¡A³o¥»®Ñ¥]§t¤F«Ü¦h¨ã¦³¨ô¨£ªº°ÊºAºÞ²z¾Ç¡C</para> + + <para>[¤Þz¤@ÂI¦b³o¥»®Ñ¤Wªºµû½×]</para> + + <para>¦b³oÓ³Q±²¤J¸}½ñ¨®¨®´×®×ªº¯S®í¨Ò¤l¡A¥Dnªºn¯À¬O®Ö¯àµo¹q³õ¡A§Ú·Q¡A³o¨¬¥H»¡©ú³o¥»®Ñªº¦~ÄÖ¡C</para> + + <para>©¬ª÷´Ë®i¥Ü¤F¸Ó¦p¦ó¦b¸³¨Æ·|¤¤Ä¹±oÃÙ¦P¥h«Ø³y¤@®y¼Æ¦Ê¸U©Î¬Æ¦Ü¤Q»õ¬ü¤¸ªº®Ö¯àµo¹q³õ¡A + ¦ý¬O¡A¦pªG§A·Qn¥h«Ø³y¤@®y¸}½ñ¨®¨®´×¡A§A±N·|³QªÈÄñ¦bµL½aµLºÉªº°Q½×¤§¤¤¡C</para> + + <para>¥L(©¬ª÷´Ë)¨Ã¸ÑÄÀ¡A³o¬O¦]¬°¤@Ó®Ö¯àµo¹q³õ¬O³o¼Ëªº¼sÁï¡A³o¼Ëªº©ù¶Q¡A¨Ã¥B³o¼Ëªº½ÆÂø¡A + ¥H¦Ü©ó¤H̵Lªk´x´¤¥¦¡A¦Ó¨Ã«D¹Á¸Õ¡A¥LÌ«æ¤Áªº§Æ±æ¦³¤H¯à°÷À°¥L̳B²z¨Ã¸Ñ¨M©Ò¦³º¾¸Hªº²Ó¶µ¡C + Richard P. Feynmann µ¹¤F¤@¨Ç¦³½ì¡A¥B«D±`¤@°w¨£¦åªº½×ÂI¡A¦b¥Lªº®Ñ´£¨ì¤F Los Alamos ªº¨Ò¤l¡C</para> + + <para>¥t¤@¤è±¡A¥ô¦ó¤H³£¯à¦Û¤v¦b¶g¥½²Õ¸Ë¤@®y¸}½ñ¨®¨®´×¥X¨Ó¡A¨Ã¥B¤´¦³¶¢²á¥i¥HÆ[½à¹qµø¤Îª±¹CÀ¸¡C + ¦]¦¹¡AµL½×§A§@¤F¦h»ò§¹µ½ªº·Ç³Æ¡A¤]¤£ºÞ§A´£¥Xªº¤è®×¬O¦h»òªº§´·í¡A¬Y¨Ç¤H¤´±N§ì¦í¾÷·|¶]¥X¨Ó§i¶D§A¡A + ¥L¥¿¦b§@¦P¼Ëªº¨Æ¡A¥¿¦b¥I¥X§V¤O¡A¥L´N¦b <emphasis>³o¸Ì</emphasis>¡C</para> + + <para>¦b¤¦³Á¡A§Ú̺ٳoÓ¥s§@¡yªê¦º¯d¥Ö¡z(setting your fingerprint)¡C³oÃö«Y¨ì§AÓ¤HªºÅº¶Æ©MÁn±æ¡A + ³oÃö«Y¨ì§A¬O§_¥i¥H«üµÛ¬Y¦a«á¹ïµÛ§O¤H»¡¡G¡y³o¸Ì! ³o¬O <emphasis>§Ú</emphasis> §@ªº¡C¡z + ³o¬O¬Fªv¤Hª««Ü«nªº¤@Ó¯S¼x¡C¦ý¬O¡A®É¾÷¬O¤j¦h¼Æ¤H¥Á©Ò½á»Pªº¡C·Q·Q¨º¨Ç¯d¦b¤ôªd¦a¤Wªº¸}¦L§a¡C</para> + </blockquote> + </answer> + </qandaentry> + </qandaset> + </chapter> + + <chapter id="funnies"> + <chapterinfo> + <author> + <firstname>Edward</firstname> + <surname>Chuang</surname> + <affiliation> + <address><email>edwardc@firebird.org.tw</email></address> + </affiliation> + </author> + </chapterinfo> + + <title>FreeBSD §N¯º¸Ü¶°</title> + + <qandaset> + <qandaentry> + <question id="very-very-cool"> + <para>How cool is FreeBSD¡H</para> + </question> + + <answer> + <para>°Ý¡G¦³¤H°µ¹L FreeBSD °õ¦æ®Éªº·Å«×´ú¸Õ¶Ü¡H §Úª¾¹D Linux + ¤ñ DOS ²D¡A¦ý¨SÅ¥¤H´£¹L FreeBSD¡A¦ü¥G«Ü¼ö¡C</para> + + <para>µª¡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ªº <quote>Scratch and + Sniff</quote> ¹Ï§Î¬É±¡CIt's a funny old business we're in¡I</para> + + <para>¤£¶}ª±¯º¤F¡AFreeBSD ©M Linux ³£¨Ï¥Î <acronym>HLT</acronym> + (halt) «ü¥O¡A¥i¦b¨t²Î¶¢¸m®É°§C¹q¤Oªº¨Ï¥Î¤]´î¤Ö¤F¼öªº²£¥Í¡C¦pªG¦³³]©w APM(Automatic Power Management) + ¡AFreeBSD ¤]¥i¥HÅý CPU ¶i¤J¬Ù¹q¼Ò¦¡¡C</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="letmeoutofhere"> + <para>½Ö¦b§Úªº°O¾ÐÅé´¡¼Ñ¤¤¨F¨F§@ÅT¡H¡H</para> + </question> + + <answer> + <para>°Ý¡GFreeBSD ½sĶ®Ö¤ß®É¦³°µ¬Æ»ò <quote>©_¯S</quote> ªº¨Æ + Åý°O¾ÐÅé¨F¨F§@ÅT¶Ü¡H·í½sĶ®É(ÁÙ¦³¶}¾÷®É½T»{³nºÐ«áªºµu¼È®É¶¡)¡A + ¤]ºØ¦ü¥G¨Ó¦Û°O¾ÐÅé´¡¼Ñªº©_©ÇÁnµ¡C</para> + + <para>µª¡G¬Oªº¡I¦b BSD ªº¤å¥ó¤¤§A·|±`±`¬Ý¨ì <quote>I«áÆF</quote>¡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</para> + + <para>¦pªG³o¨ÇÁnµ«Ü§xÂZ§A¡A¨Ó¦Û DOS ªº + <command>fdisk /mbr</command> ´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</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="changing-lightbulbs"> + <para>n´XÓ FreeBSD hacker ¤~¯à´«±¼¤@Ó¹q¿Oªw¡H</para> + </question> + + <answer> + <para>¤@¤d¤@¦Ê¤C¤Q¤GÓ¡G</para> + + <para>¤G¤Q¤TÓ¦b -current ¤W©ê«è¬Ý¤£¨ì¥ú¤F¡F</para> + + <para>¥|ӫźٳo¬O³]©w¤Wªº°ÝÃD¡A©Ò¥H¹³³o¼Ëªº email À³¸Ó©ñ¦b + -questions¡F</para> + + <para>¤TÓ submit PR¡A¨ä¤¤¤@Ó°e¿ù¨ì doc ¤U¡A¨Ã¥B¤º®e¥u + ¦³¡¨³o¸Ì¦n·t¡¨¡F</para> + + <para>¤@Ó commit ©|¥¼´ú¸Õªº¹q¿Oªw¡A³y¦¨¤£¯à buildworld¡A + ¤¤ÀÄÁ«á¥L§âì¨Óªº¿Oªw´«¦^¨Ó¡F</para> + + <para>¤KÓº´°_ flame war¡A³d©Ç°e¥X PR ªº¤H¨S¦³¥]¬A patch¡F</para> + + <para>¤Ó®I«è buildworld Äê±¼¤F¡F</para> + + <para>¤T¤Q¤@Ó»¡ buildworld ¥i¥H¥Î¡A¤£¯à¥Îªº¤H¤@©w¬O cvsup ªº + ®É¾÷¤£¹ï¡F</para> + + <para>¤@ӧ⴫¦¨·s¿Oªwªº patch ¥á¨ì -hackers ¤W¡F</para> + + <para>¤@Ó»¡¥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</para> + + <para>¤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</para> + + <para>¨â¦Ê¤H©ê«è´«¿Oªw¤§«á¡A¸}½ñ¨®´×ªºÃC¦âÅܱo¦n©_©Ç¡F</para> + + <para>¤TÓ«ü¥X¡A¥Î¨Ó´«¿Oªwªº patch ¤£²Å¦X &man.style.9; ªº³W©w¡F</para> + + <para>¤Q¤CÓ®I«è®³¥X¨Óªº·s¿Oªw¬°¤°»ò¬O¥Î GPL¡F</para> + + <para>¤¦Ê¤K¤Q¤»¤H³´¤J¤@³õ flame war¡A¦b GPL¡BBSD¡BMIT¡BNPL + ¦UÓ license ©M FSF ¬Y¦ì¤£¨ã¦W³Ð¿ì¤H¤hÓ¤H½Ã¥Í¤§¶¡¡A¤ñ¸û©¼¦¹ + ªºÀu¶Õ¡F</para> + + <para>¤CÓ±N³o¤@¦ê°Q½×ªº¤£¦P³¡¥÷¤À§O²¾¨ì -chat ©M -advocacy¡F</para> + + <para>´Nºâ´£¥Xªº·s¿Oªw¤ñªº·t¡AÁÙ¬O¦³¤@ӧ⥦ commit ¶i¨Ó¡F</para> + + <para>¨âÓ´«¦^ì¥ýªº¿Oªw¡A¨Ã¥B¯d¤U·¥¬°¼««ãªº commit °T®§¡C¥LÌ»{¬° + »P¨äÅý FreeBSD ¥Î·t¿Oªw¡AÁÙ¤£¦p°®¯Ü«Ý¦b¶Â·t¤¤ºâ¤F¡F</para> + + <para>¥|¤Q¤»¤H¹ï¨ú®ø¤£¥Î·t¿Oªw³o¥ó¨Æ¤jÁn¯e©I¡An¨D -core + ¥ß¨è´£¥X¼á²M¡F</para> + + <para>¤Q¤@Ón¨D´«¦¨¤p¤@ÂIªº¹q¿Oªw¡A¥H«K¥¼¨Ó FreeBSD ¦pªG²¾´Ó¨ì + ¹q¤lÂû¤W«á·|§ó¬°¤è«K¡F</para> + + <para>¤C¤Q¤T¤H©ê«è -hackers ©M -chat ¤Wªº SNR¡AÂÇ unsubscribe + ¨Óªí¥Ü§Üij¡F</para> + + <para>¤Q¤TÓ°e¥X¡¨unsubscribe¡¨¡B¡¨§Ún¦p¦ó unsubscribe¡¨©Î¡¨«ô°U§â + §Ú±q list ¦W³æ¤¤§R±¼¡¨¡A«Hªº³Ì«á±«h¬O¤@¯ë¥Ñ majordomo ¥[¤W¥h + ªº footer¡F</para> + + <para>·í¨CÓ¤H¦£©ó©¼¦¹¥s½|®É¡A¦³Ó³Ã¥ë¶X¨S¤Hª`·N¡A§â¥i¥H¥Îªº¿Oªw°½ + °½´«¤W¥h¡F</para> + + <para>¤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</para> + + <para>¦³Ó¤H»¡·s¿Oªw¯Ê¥F¬ü·P¡F</para> + + <para>¤EÓ¤H¡]¥]¬Aì¥ý°e PR ªº¤H¡^°Ý¡¨¤°»ò¬O MFC¡H¡¨¡F</para> + + <para>¤¤Q¤CÓ©ê«è¦Û±q´«¤F¿Oªw«á¡A¨âÓ¬P´Á³£¨S¦³¥ú¥X²{¡C</para> + + <para><emphasis>&a.nik; ¸Éª`¡G</emphasis></para> + + <para><emphasis>è¬Ý¨ì®É¡A§Ú§Ö¯ºÂ½¤F¡C</emphasis></para> + + <para><emphasis>µM«á·Q¨ì¡A¡¨µ¥¤@¤U¡A¤£¬OÀ³¸ÓÁÙ¦³¤@Ón±N³o¨Ç°O¦b + list ¤W¶Ü¡H¡¨</emphasis></para> + + <para><emphasis>±µµÛ²×©ó¤F¸Ñ§Úªº¨Ï©R :-)</emphasis></para> + </answer> + </qandaentry> + + <qandaentry> + <question id="dev-null"> + <para>¼g¤J <filename>/dev/null</filename> ªº¸ê®Æ¶]¨ìþ¸Ì¥h¤F¡H</para> + </question> + <answer> + <para>¦b CPU ¤¤¦³¤@ºØ¯S§Oªº¸ê®Æ´²¼ö¾¹¡A§Q¥Î±Æ¥X´²¼ö¤ù/·®°²Õ¦X®É¡A + Âà´«¦¨¼ö¯à¡D³o´N¬O¬°¤°»ò CPU §N«o¤éÁÍ«nªºì¦]¡F·í¤H̨ϥΧó§Ö + ªº³B²z¾¹®É¡A¥LÌÅܦ¨¤£¦b¥G¦³¶V¨Ó¶V¦h¥L̪º¸ê®Æ³£°e¶i¤F + <filename>/dev/null</filename> ¡A¦Ó¨Ïªº¥L̪º CPU ¹L¼ö¡D + ¦pªG§A§R°£¤F <filename>/dev/null</filename> (¨º±N·|¦³®ÄªºÃö³¬ + CPU ªº¸ê®Æ´²¼ö¾¹) §Aªº CPU ¤]³\·|°§C¤u§@·Å«×¡A¦ý¬O§Aªº¨t²Î±N + ·|«Ü§Öªº¹³¬O¿©±w¤F«K¯µ¦ñÀHµÛ©Ò¦³¶W¥Xªº¸ê®Æ¶}©lÅܦ¨¦æ¬°¤£¥¿±`¡C + ¦pªG§A¦³§Ö³tªººô¸ô³s½u¡A§A¥i¥H§Q¥ÎŪ¨ú + <filename>/dev/random</filename> ¨Ã±N¥LÀH·N¶Ç°e¦Ü¦U³B¡A + ¨Ó°§C§A CPU ªº·Å«×¡FµM¦Ó§A±N³´¤J¨Ï§Aºô¸ô³s½u©Î + <filename>/</filename> ¦³¹L¼öªº·ÀI©Î¬O·S´o§Aªº ISP¡A + ¤j³¡¤Àªº¸ê®Æ³Ì²×±N·|¦b¥L̪º³]³Æ¤WÂà´«¦¨¼ö¡A¤£¹L¥L̳q±`³£¾Ö¦³ + ¦nªº´²¼ö¡A©Ò¥H¦pªG§A°µªº¤£¤Ó¹L¤À¡AÀ³¸Ó¬O¨S¤°»ò¤j¤£¤Fªº¡C</para> + + <para><emphasis>Paul Robinson ¸É¥R¡G</emphasis></para> + + <para>¤¤¤åª© FAQ ª`¡G¥H¤Uµu¤åÄÝ©ó¬ü¦¡«ÕÀq¡A®£Â½Ä¶«á³y¦¨»y²j¤£¸Ô¡A + »y·N¤£³qªº±¡§Î¡A¬G«O¯dì¥Äì¨ýÅýŪªÌ¦Û¦æ«~À|¡C</para> + + <para>There are other methods. As every good sysadmin knows, + it is part of standard practise to send data to the screen + of interesting variety to keep all the pixies that make up + your picture happy. Screen pixies (commonly mis-typed or + re-named as 'pixels') are categorised by the type of hat + they wear (red, green or blue) and will hide or appear + (thereby showing the colour of their hat) whenever they + receive a little piece of food. Video cards turn data into + pixie-food, and then send them to the pixies - the more + expensive the card, the better the food, so the better + behaved the pixies are. They also need constant simulation + - this is why screen savers exist.</para> + + <para>To take your suggestions further, you could just throw + the random data to console, thereby letting the pixies + consume it. This causes no heat to be produced at all, + keeps the pixies happy and gets rid of your data quite + quickly, even if it does make things look a bit messy on + your screen.</para> + + <para>Incidentally, as an ex-admin of a large ISP who + experienced many problems attempting to maintain a stable + temperature in a server room, I would strongly discourage + people sending the data they do not want out to the + network. The fairies who do the packet switching and + routing get annoyed by it as well.</para> + </answer> + </qandaentry> + + + <qandaentry> + <question id="pttlz"> + <para>1993 ¦~´N¦³¡ymake world¡z¤F¡H</para> + </question> + + <answer> + <para>°Ý¡G®Ú¾Ú jkh ªº <ulink + url="http://www.freebsd.org/cgi/cvsweb.cgi/src/Makefile.diff?r1=1.5;r2=1.6;f=h"> + ³o¥÷ commit</ulink>¡AÀ³¸Ó¬O Aug 13 22:47:28 1994 UTC + ¤§«á¤~·|¦³ make world¡A«ç»ò·|¦³¦b¨º¤§«e·|¦³©O¡H</para> + + <para>µª¡G®Ú¾Ú pttlz.bbs@ptt.cc (¤uÃÆ) ©ó Apr 7 17:09:47 2008 CST ¦ÛºÙ¡G + ¡ymake world ¬O§Ú¥j¦ (15 ¦~«e) ®Éª± freebsd ®É¥Îªº¡z¡A©Ò¥H 1993 ¦~´N¦³ + pttlz ªº¡ymake world¡z¦s¦b¤F¡A½Ðª`·N¤H®a¥i¬O¦ÛºÙ¡y15 ¦~«e¡zªºªø½ú¡A + ½Ð¤Å¹ïªø½úÅv«Â¬D¾Ô¡AÁÂÁ¡I</para> + </answer> + </qandaentry> + </qandaset> + </chapter> + + <chapter id="advanced"> + <chapterinfo> + <author> + <firstname>En-Ran</firstname> + <surname>Zhou</surname> + <affiliation> + <address><email>zhouer@tfcis.org</email></address> + </affiliation> + </author> + </chapterinfo> + + <title>¶i¶¥¥DÃD</title> + + <qandaset> + <qandaentry> + <question id="learn-advanced"> + <para>¦p¦ó¯à¾Ç²ß§ó¦h¦³Ãö FreeBSD ¤º³¡ªºªF¦è¡H</para> + </question> + + <answer> + <para>¥Ø«e¥«±¤WÁÙ¨S¦³±´°Q§@·~¨t²Î¤º³¡ªº®Ñ¬O±M¬° FreeBSD ¦Ó¼g + ªº¡CµM¦Ó¡A³\¦h¤@¯ëªº UNIX ª¾Ãѳ£¥i¥Hª½±µÀ³¥Î¦b FreeBSD ¤W¡Cªþ + ¥[¤@ÂI¡A¤´µM¦³¬ÛÃöªº®Ñ¬O±M¬° BSD ©Ò¼gªº¡C</para> + + <para>½Ð°Ñ¦Ò Handbook ªº<ulink + url="../handbook/bibliography-osinternals.html">§@·~¨t²Î¤º³¡¤§°Ñ¦Ò®Ñ¥Ø</ulink> + ¡C</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="how-to-contribute"> + <para>¦p¦ó¯à¬° FreeBSD ¥X¤@¥÷¤O¡H</para> + </question> + + <answer> + <para>½Ð°Ñ¦Ò³o½g¤å³¹ <ulink + url="../../articles/contributing/article.html">Contributing + to FreeBSD</ulink> ¨Ó´£¨Ñ±zªº«Øij¡C¦pªG±z¯àÀ°¦£¨º´N§óÅwªï¤F¡I</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="define-snap-release"> + <para>SNAP ©M RELEASE ¬O¤°»ò¡H</para> + </question> + + <answer> + <para>¥Ø«e¦³¤TÓ¬¡ÅD/¥b¬¡ÅDªº¤À¤ä¦b FreeBSD ªº <ulink + url="http://www.FreeBSD.org/cgi/cvsweb.cgi">CVS Repository</ulink> + (¥j¦¤À¤ä¤w¸g´X¥G¨S¦b§ó·s¤F¡A¦]¬°³q±`¥u¦³¤TÓ¬¡ÅDªºµo®i¤À¤ä)¡G + </para> + + <itemizedlist> + <listitem> + <para><literal>RELENG_5</literal> §Y + <emphasis>5-STABLE</emphasis></para> + </listitem> + + <listitem> + <para><literal>RELENG_6</literal> §Y + <emphasis>6-STABLE</emphasis></para> + </listitem> + + <listitem> + <para><literal>HEAD</literal> §Y + <emphasis>-CURRENT</emphasis> ¤]´N¬O¥Ø«eªº + <emphasis>7.X-CURRENT</emphasis></para> + </listitem> + </itemizedlist> + + <para>»P¤W±¨ä¥L¨âÓ¤À¤ä¬Û¤ñ¡A¨ä¹ê <literal>HEAD</literal> ¨Ã¤£¬O¯u¥¿ + ªº branch tag¡A¥¦¥u¬OÓ symbolic constant¡A¥Nªí <quote><emphasis>current + (©|¥¼¤À¤äªºµo®i¤¤ª©¥»)</emphasis></quote>¡A³q±`§ÚÌ·|²¼g¬° <quote>-CURRENT</quote>¡C</para> + + <para>´N²{¦b¦Ó¨¥¡A<quote>-CURRENT</quote> ´N¬O«ü 7.X ªºµo®i¡F + ¦Ó <literal>5-STABLE</literal> ¤À¤ä(<symbol>RELENG_5</symbol>)¬O¦b 2004 ¦~ 10 ¤ë±q + <quote>-CURRENT</quote> fork ¥X¨Óªº¡F + <literal>6-STABLE</literal> ¤À¤ä(<symbol>RELENG_6</symbol>)¬O¦b 2005 ¦~ 11 ¤ë±q + <quote>-CURRENT</quote> fork ¥X¨Óªº¡C</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="custrel"> + <para>n«ç»ò§@¥X¦Û¤vªº release¡H</para> + </question> + + <answer> + <para>½Ð°Ñ·Ó <ulink + url="../../articles/releng/article.html">Release ¤uµ{</ulink> + ¤å³¹»¡©ú¡C</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="makeworld-clobbers"> + <para>¬°¦ó <command>make world</command> ·|§âì¨Ó¸Ëªº binary Àɳ£´«±¼¤F¡H</para> + </question> + + <answer> + <para>¨S¿ù¡A´N¬O³o¼Ë¤l¡C¦p¦W¦r©Ò¥Ü¡A<command>make world</command> + ·|«·s½sĶ¨t²Î¤º«Øªº¨CÓ binary ÀÉ¡A³o¼Ë¦bµ²§ô®É´N¥i½T©w¦³Ó¤@P¥B°®²bªºÀô¹Ò(©Ò¥Hnªá¤W¦n¤@¬q®É¶¡)¡C</para> + + <para>¦b°õ¦æ <command>make world</command> ©Î + <command>make install</command> ®É¡A¦pªG¦³³] + <literal>DESTDIR</literal> ³oÓÀô¹ÒÅܼơA·s²£¥Íªº binary ±N·|¸Ë¦b + <literal>${DESTDIR}</literal> ¤U¦P¼Ëªº¥Ø¿ý¾ð¤¤¡C¦ý¦b¬Y¨Çקï + shared library ©M««Ø binary ªºµL¯S©w±¡ªp¤U¡A³o¼Ë°µ¥i¯à·|¨Ï + <command>make world</command> ¥¢±Ñ¡C</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="cvsup-round-robin"> + <para>Why isn't cvsup.FreeBSD.org a round robin DNS entry to + share the load amongst the various CVSup servers?</para> + </question> + + <answer> + <para>While CVSup mirrors update from the master CVSup + server hourly, this update might happen at any time during + the hour. This means that some servers have newer code + than others, even though all servers have code that is + less than an hour old. If <hostid role="fqdn">cvsup.FreeBSD.org</hostid> was a round + robin DNS entry that simply redirected users to a random + CVSup server, running CVSup twice in a row could download + code older than the code already on the system.</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="bus-speed-defaulted"> + <para>¦b¨t²Î¶}¾÷®É¡A¥X²{ <quote>(bus speed defaulted)</quote>¡C</para> + </question> + + <answer> + + <para>Adaptec 1542 SCSI ¥d¤¹³\¨Ï¥ÎªÌ¥Î³nÅé½Õ¾ã¶×¬y±Æªº¦s¨ú³t«×¡C + ¦´Áªº 1542 ÅX°Êµ{¦¡¸Õ¹Ï±N¥¦³]¦¨¥i¥Îªº³Ì§Ö³t«×¡A¦ý«á¨Óµo²{¦b¤@ + ¨Ç¾÷¾¹¤W¤£¯à¥Î¡A©Ò¥H²{¦bn¦b kernel ³]©w¤¤¥[ + <symbol>TUNE_1542</symbol> ³oӿﶵ¨Ó±Ò°Ê³oÓ¥\¯à¡C¦b¤ä´©ªº¾÷¾¹ + ¤W¥Î³oӿﶵ·|¨ÏµwºÐ¦s¨ú§ó§Ö¡A¦ý¦b¤£¤ä´©ªº¾÷¾¹¤W¦³¥i¯à·|·´±¼¸ê®Æ¡C + </para> + </answer> + </qandaentry> + + <qandaentry> + <question id="ctm"> + <para>¦bºô¸ôÀW¼e¦³ªº±¡ªp¤U¡A§Ú¤]¥i¥H¸ò¤W current ªºµo®i¶Ü¡H</para> + </question> + + <answer> + <para>¬Oªº¡AÂÇµÛ <ulink url="../handbook/synching.html#CTM">CTM + </ulink> ±z´N¥i¥H<literal>¤£¥Î</literal>¤U¸ü¥þ³¡ªºµ{¦¡½X¡C</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="split-240k"> + <para>¬O«ç»ò§âµo¦æª©¥»¤¤ªºÀɮפÁ¦¨¤@ÓÓ 240k ªº¤pÀɮתº¡H</para> + </question> + + <answer> + <para>¥H BSD ¬°°ò¦ªº¸û·s¨t²Î¦³Ó <option>-b</option> ¿ï¶µ + ¥i¥H§âÀÉ®×¥H¥ô·N¼Æ¥Ø byte ¤Á¶}¡C</para> + + <para>³o¸Ì¬O <filename>/usr/src/Makefile</filename> ¤¤ªº¤@Ó + ¨Ò¤l¡G</para> + + <programlisting>bin-tarball: +(cd ${DISTDIR}; \ +tar cf - . \ +gzip --no-name -9 -c | \ +split -b 240640 - \ +${RELEASEDIR}/tarballs/bindist/bin_tgz.)</programlisting> + </answer> + </qandaentry> + + <qandaentry> + <question id="submitting-kernel-extensions"> + <para>§Ú¦b kernel ¤¤¥[¤F·s¥\¯à¡A§Ún§â¥¦±Hµ¹½Ö¡H</para> + </question> + + <answer> + <para>½Ð°Ñ¦Ò <ulink + url="../../articles/contributing/article.html">Contributing + to FreeBSD</ulink> ¤¤ªº¤å³¹¡A¥H¤F¸Ñn¦p¦ó´£¨Ñ±zªºµ{¦¡½X¡C</para> + + <para>¦P®É¤]ÁÂÁ±zªºÃö¤ß¡I</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="pnp-initialize"> + <para>ISA ªºÀH´¡§Y¥Î¥d¬O¦p¦ó°»´ú¤Îªì©l¤Æªº¡H</para> + </question> + + <answer> + <para>¥Ñ Frank Durda IV ©Ò¼g¡G + <email>uhclem@nemesis.lonestar.org</email></para> + + <para>²³æªº»¡¡A·í¥D¾÷µo¥X¬O§_¦³ PnP ¥dªº¸ß°Ý°T¸¹®É¡A©Ò¦³ªº PnP ¥d + ·|¦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 <quote>yes</quote> + ªº¼Æ¦r¡A¨ä¤¤¦Ü¤Ö·|¦³¤@Ó bit ¬O¥´¶}ªº¡CµM«á°»´úµ{¦¡·|n¨D«¬¸¹ + (¥Ñ Microsoft/Intel«ü©w)¤p©ó X ªº¥d<quote>Â÷½u</quote>¡C¦A¥h¬Ý¬O + §_ÁÙ¦³¥d¦^µª¦P¼Ëªº¸ß°Ý¡A¦pªG±o¨ì <literal>0</literal>¡A´Nªí¥Ü¨S + ¦³«¬¸¹¤j©ó X ªº¥d¡C ²{¦bµ{¦¡·|°Ý¬O§_¦³«¬¸¹¤p©ó <literal>X</literal> + ªº¥d¡A¦pªG¦³ªº¸Ü¡Aµ{¦¡¦An«¬¸¹¤j©ó X-(limit/4) ªº¥dÂ÷½u¡AµM«á«ÂÐ + ¤W±ªº°Ê§@¡C¥Î«½Æ³oºØÃþ¦ü semi-binary search ªº¤èªk¡A¦b¬Y½d³ò¤º + §äÓ´X¦¸«á¡A´úµ{¦¡³Ì«á·|¦b¾÷¾¹¤¤°Ï¤À¥X©Ò¦³ªº PnP ¥d¡A·j´M¦¸¼Æ¤] + »·§C©ó¤@Óӧ䪺 2^64 ¦¸¡C</para> + + <para>¤@±i¥dªº ID ¥Ñ¨âÓ 32-bit(©Ò¥H¤W±¬O 2ˆ64) + 8bit °»¿ù½X + ²Õ¦¨¡A²Ä¤@Ó 32 bits ¬O¥Î¨Ó°Ï¤À¦U®a¼t°Óªº¡C³o¨Ç¼t°Ó±q¨Ó¨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</para> + + <para>²Ä¤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</para> + + <para>³o¨âÓ 32 bit µ´¹ï¤£¥i¥H¥þ¬°¹s¡A³o¤~¯à¨Ï±o³Ì¶}©l binary search + ¤¤ªº wired-OR ·|±o¨ì¤@Ó«D¹s¼Æ¦r¡C</para> + + <para>¤@¥¹¨t²Î°Ï¤À¥X©Ò¦³¥dªº ID¡A±µµÛ·|¸g¥Ñ¦P¼Ëªº I/O port ¤@ÓÓ« + ·s±Ò°Ê¨C±i¥d¡A±µµÛ§ä¥X¤wª¾¤¶±¥d©Ò»Ýªº¸ê·½¡B¦³þ¨Ç¤¤Â_¥i¥H¨Ï¥Îµ¥ + µ¥¡C©Ò¦³¥d³£·|³Q±½´y¤@¦¸¡A¨Ó¦¬¶°³o¨Ç¸ê®Æ¡C</para> + + <para>³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</para> + + <para>±µµÛ¦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</para> + + <para>¤W±¦³¬Û·í¦hªºÂ²¤Æ¡A¦ý§AÀ³¸Ó¤w¸g¤F¸Ñ¤jPªº¹Lµ{¡C</para> + + <para>Microsoft §âªí¥Ü¦Lªí¾÷ª¬ºAªº´XÓ¥Dn port ®³¨Ó§@ PnP¡A¥L̪º + ÅÞ¿è¬O¨S¦³¤@±i¥d·|¦b³o¨Ç¦a¤è¸Ñ½X§@¬Û¤Ïªº I/O cycles¡C¦ý¬O§Ú§ä¨ì + ¤@´Ú¦´Á¤´¦bµû¦ô PnP ´£®×®Éªº IBM ì¼t printer board¡A¥¦ªº½T¥h¸Ñ + ¹ï³o¨Çª¬ºA port ªº¼g¤J¸ê®Æ¡A¦ý¬O MS <quote>»¡¤F´Nºâ</quote>¡C©Ò¥H + ¥¦Ìªº½T¦³¹ï¦Lªí¾÷ª¬ºA port ¼g¤J¡AÁÙ¦³Åª¨ú¸Ó¦ì§} + + <literal>0x800</literal>¡B©M¥t¤@Ó¦b <literal>0x200</literal> ¤Î + <literal>0x3ff</literal> ¤§¶¡ªº port¡C</para> + + </answer> + </qandaentry> + + <qandaentry> + <question id="major-numbers"> + <para>§Ú¬°¬Y³]³Æ¼g¤FÅX°Êµ{¦¡¡A¯à¤£¯àµ¹¥¦¤@Ó major number¡H</para> + </question> + + <answer> + <para>³on¬Ý§A¬O§_¥´ºâ±N³oÓÅX°Êµ{¦¡¤½¶}¨Ï¥Î¡A¦pªG¬Oªº¸Ü¡A½Ð§â¥¦ªº + ì©l½X°e¤@¥÷µ¹§ÚÌ¡AÁÙ¦³ <filename>files.i386</filename> ק諸 + ³¡¥÷¡Bkernel ³]©wÀɼ˥»¡B¥H¤Î¥Î¨Ó²£¥Í³]³ÆÀɪº &man.MAKEDEV.8;¡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 &a.hackers; + µoªíÅX°Êµ{¦¡ªº®ø®§¡C</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="alternate-directory-layout"> + <para>Ãö©ó§ó°Ê¥Ø¿ý©ñ¸mªºì«h¡H</para> + </question> + + <answer> + <para>¦b¦^µªÃö©ó§ó°Ê¥Ø¿ý©ñ¸mªºì«h¤è±¡A§Ú¦b 1983 ¦~¼g¦n¥Ø«eªº§@ªk + «á´N¨S¦³¦A§ïÅܹL¡A³oºØ¤è¦¡¬O°w¹ïì¥ýªº FFS Àɮרt²Î¡A«á¨Ó¤]¨S¦³ + ¹ï¥¦§@¥ô¦ó§ó°Ê¡C¥¦¦bÁקK cylinder group ³Q¶ñº¡³o¤è±°µ±o¬Û·í¦¨¥\¡A + ¦ý¬O´N¹³¦³¨Ç¤H¤w¸gª`·N¨ì¡A¥¦©M find ´N°t¦X±o¤£¤j¦n¡C¤j³¡¥÷ªºÀÉ®× + ¨t²Î¬O¥Ñ¨º¨Ç¥Î depth first search(aka ftw) ²£¥Íªº archive »s³y¥X + ¨Ó¡A¸Ñ¥X¨Óªº¥Ø¿ý inode ·|¾î¸ó¦n´XÓ cylinder group¡A¦pªG¥H«án°µ + depth first search ªº¸Ü¡A³o¬O³ÌÁV¿|ªº±¡ªp¤§¤@¡C¦pªG§Ú̪¾¹DÁ`¦@ + ·|²£¥Í¦h¤Ö¥Ø¿ýªº¸Ü¡A¸Ñªk¬O¦b°µ¥ô¦ó¦s¨ú/¼g¤J°Ê§@¤§«e¡A¦b¨CÓ + cylinder group ¤W¥ý³y¥X(©Ò¦³¥Ø¿ý¼Æ/cylinder greoup ªº¼Æ¥Ø)³o»ò¦h + ªº¥Ø¿ý¡C«Ü©úÅ㪺¡A§ÚÌ¥²¶·n¦³®Ú¾Ú¦a¥h²q³o ӼƦr¡A´Nºâ¤@Ó¹³ 10 + ªº«Ü¤p©T©w¼Æ¥Ø¤]·|¨Ï®Ä²v¥H¯Å¼Æ¦¨ªø¡C°Ï¤À restore (§Y¸Ñ¶}¤Wzªº + archive) ©M¤@¯ëÀÉ®×¾Þ§@ªº¤èªk¥i¥H¬O(²{¦b¥Îªººtºâªk¥i¯àn§ó±Ó·P)¡G + ¦pªG¤@¨Ç¥Ø¿ý(³Ì¦h 10 Ó)³£¦b 10 ¬í¤º²£ ¥Íªº¸Ü¡A¨º»ò´N§â³o¨Ç¥Ø¿ý + »E¶°¦b¦P¤@Ó cylinder group¡C¤£ºÞ«ç¼Ë¡A §Úªº¸gÅç«ü¥X³o¬O¤@Ó¤w¸g + ¥R¥÷¹êÅç¹Lªº³¡¥÷¡C</para> + + <para>Kirk McKusick, September 1998</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="kernel-panic-troubleshooting"> + <para>¦p¦ó¦b kernel panics ®É±o¨ì³Ì¦hªº¸ê°T¡H</para> + </question> + + <answer> + <para><emphasis>[³o¸`¬O±q &a.wpaul; ¦b &os.current; <link + linkend="mailing">mailing list</link> ¤Wµoªíªº«H¤¤¸`¿ý¡A + &a.des; ×¥¿¤F¥´¦r¿ù»~¡B¦A¥[¤W¬A©·¸Ìªºª`¸Ñ¡C]</emphasis></para> + + <programlisting>From: Bill Paul <wpaul@skynet.ctr.columbia.edu> +Subject: Re: the fs fun never stops +To: Ben Rosengart +Date: Sun, 20 Sep 1998 15:22:50 -0400 (EDT) +Cc: current@FreeBSD.org</programlisting> + + <para><emphasis>[Ben µoªí¤F¤U±ªº panic °T®§]</emphasis></para> + + <programlisting>> 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</programlisting> + + <para>·í§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¦³ + <emphasis>§A</emphasis>¤~¯à§i¶D§ÚÌ°ÝÃD¥X¦b¨º¸Ì¡C</para> + + <para>n°µªº¨Æ¥]¬A³o¨Ç¡G</para> + + <procedure> + <step> + <para>§â instruction pointer ªºÈ°O¤U¨Ó¡Cª`·N¦b«e±ªº + <literal>0x8:</literal> ¦b³oÓ±¡ªp¤¤¨Ã¤£«n¡A§ÚÌnªº¬O + <literal>0xf0xxxxxx</literal>¡C</para> + </step> + + <step> + <para>·í¨t²Î«·s¶}¾÷«á¡A°õ¦æ³o¹D©R¥O¡G + + <screen>&prompt.user; <userinput>nm -n /(³y¦¨ panic ªº kernel ÀÉ®×) | grep f0xxxxxx</userinput></screen> + + ¨ä¤¤ <literal>f0xxxxxx</literal> ´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 + + <screen>&prompt.user; <userinput>nm -n /(³y¦¨ panic ªº kernel ÀÉ®×) | grep f0xxxxx</userinput></screen> + + ¦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</para> + + </step> + </procedure> + + <para>§Ú±`±`¬Ý¨ì¤HÌÅã¥Ü¤@¤j¤ù panic °T®§¡A¦ý«Ü¤Ö¬Ý¨ì¦³¤Hªá¤@ÂI®É¶¡ + §â instruction pointer ©M kernel symbol table ¤¤ªº¨ç¦¡¤ñ¸û¤@¤U¡C + </para> + + <para>n°lÂÜ¥X³y¦¨ panic ì¦]ªº³Ì¦n¤èªk¬O¥ý°µ¥X crash dump¡AµM«á¥Î + &man.gdb.1; ¦b¤W±°µ stack trace¡C</para> + + <para>¤£ºÞ¬O¨º¤@ºØ¡A§Ú³q±`¬O¥Î³oÓ¤èªk¡G</para> + + <procedure> + <step> + <para>¼g¦n kernel ³]©wÀÉ¡C¦pªG§A»Ýn¥Î kernel debugger¡A¦b³] + ©wÀɤ¤¥[¤W <literal>options DDB</literal> ³oӿﶵ¡C + (·í§ÚÃhºÃ¦³¥X²{µL½a°j°é®É¡A³q±`·|¥Î³oÓ¨Ó³]©w¤¤Â_ÂI¡C) + </para> + </step> + + <step> + <para>¥Î <command>config -g + <replaceable>KERNELCONFIG</replaceable></command> + °µ¥X¥Î¨Ó½sĶªº¥Ø¿ý¡C</para> + </step> + + <step> + <para><command>cd /sys/compile/ + <replaceable>KERNELCONFIG</replaceable>; make + </command></para> + </step> + + <step> + <para>µ¥«Ý kernel ½sĶµ²§ô¡C</para> + </step> + + <step> + <para><command>make install</command></para> + </step> + + <step> + <para>«·s¶}¾÷</para> + </step> + </procedure> + + <para>&man.make.1; ±N·|»s³y¥X¨âÓ kernel¡C<filename>kernel</filename> + ÁÙ¦³ <filename>kernel.debug</filename>¡C + <filename>kernel</filename> ±N·|³Q¦w¸Ë¨ì + <filename>/kernel</filename>¡A¦Ó <filename>kernel.debug</filename> + ¥i¥Î¨Óµ¹ &man.gdb.1; ·í§@ debugging symbols ªº¨Ó·½¡C</para> + + <para>n½T©w¯à§ì¨ì crash dump¡A¥ý½s¿è + <filename>/etc/rc.conf</filename> ±N <literal>dumpdev</literal> «ü + ¨ì swap ¤À³Î°Ï¡C³o¼Ë &man.rc.8; ·|¥Î &man.dumpon.8; ¨Ó±Ò°Ê + crash dump¡A§A¤]¥i¥H¤â°Ê°õ¦æ &man.dumpon.8; ¦b panic ¤§«á¡A + crash dump ¥i¥H¥Î &man.savecore.8; ¦s°_¨Ó¡F¦pªG + <filename>/etc/rc.conf</filename> ¸Ì¦³³] <literal>dumpdev</literal> + ¨º»ò«·s¶}¾÷«á &man.rc.8; ·|¦Û°Ê°õ¦æ &man.savecore.8; §â + crash dump ¦s¦b <filename>/var/crash</filename>¡C</para> + + <note> + <para>FreeBSD ªº crash dump ³q±`©M¾÷¾¹¸Ìªº¹ê»Ú°O¾ÐÅé¤@¼Ë¤j¡A´N + ¹³¦pªG¦³ 64MB °O¾ÐÅé¡Acrash dump ¤j¤p´N¬O 64MB¡C©Ò¥Hn½T©w + <filename>/var/crash</filename> ¤U¦³¨¬°÷ªºªÅ¶¡¡A©Î¬O¥i¥H¤â + °Ê°õ¦æ &man.savecore.8; §â crash dump ©ñ¨ì¥t¤@ӪŶ¡¸û°÷ªº + ¥Ø¿ý¤U¡C¥t¤@ºØ¤]³\¥i¥H¨î crash dump ªº¤èªk¡A¬O¦b kernel + ³]©wÀɤ¤¥Î <literal>options MAXMEM=(foo)</literal>¡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</para> + </note> + + <para>¤@¥¹µo²{¦³¤F crash dump¡A´N¥i¥H¥Î &man.gdb.1; ¨Ó°µ + stack trace ¡A¦p¤U©Ò¥Ü¡G</para> + + <screen>&prompt.user; <userinput>gdb -k /sys/compile/KERNELCONFIG/kernel.debug /var/crash/vmcore.0</userinput> +<prompt>(gdb)</prompt> <userinput>where</userinput></screen> + + <para>nª`·N¥i¯à·|¥X²{¦n´Xӿùõªº¥i¥Î¸ê°T¡A§A¥i¥H¥Î &man.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¥Î + &man.gdb.1; §â¦UºØÅܼƩε²ºcªº¤º®e¦L¥X¨Ó¡A¥HÀˬd¨t²Î crash ®Éªº + ¹ê»Úª¬ºA¡C</para> + + <para>¦n°Õ¡A¦pªG§A¦³²Ä¤G¥x¹q¸£¦Ó¥B¦³°÷ºÆ¨g¡A¥i¥H±N &man.gdb.1; ³]©w + ¦¨»·ºÝ°£¿ù¡C³o¼Ë§A¥i¥H¦b¤@¥x¾÷¾¹¤¤¥Î &man.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</para> + + <para><emphasis>[Bill ¸É¥R¡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] + </emphasis></para> + </answer> + </qandaentry> + + <qandaentry> + <question id="dlsym-failure"> + <para>¬°¤°»ò dlsym() ¤£¯à¾Þ§@ ELF °õ¦æÀÉ¡H</para> + </question> + + <answer> + <para>¦b ELF ¤@¨t¦Cªº¤u¨ã¤¤¡A¤º©w¬O¤£·|Åý dynamic linker ¬Ý¨ì°õ¦æ + Àɸ̩w¸q¤Fþ¨Ç symbol¡C©Ò¥H <function>dlsym()</function> ¨S¦³¿ì + ªk¥ÎÂǥѩI¥s <function>dlopen(NULL, flags)</function> ¨ú±oªº + handle¡A¥Î¥¦¥h·j´M¦³¨º¨Ç symbol ¤@©w·|¥¢±Ñ¡C</para> + + <para>¦pªG§A·Qn¥Î <function>dlsym()</function> §ä¥X¬YÓ process + ªº¥D°õ¦æÀɤ¤¦³þ¨Ç symbol¡A«hn¦b link ®É¹ï ELF linker (&man.ld.1;) + ¥[¤W <option>-export-dynamic</option> ³oӰѼơC</para> + + </answer> + </qandaentry> + + <qandaentry> + <question id="change-kernel-address-space"> + <para>§Ún¦p¦ó¼W¥[©Î´î¤Ö kernel ¯à©w§}ªºªÅ¶¡¡H</para> + </question> + + <answer> + <para>¹w³]ȬO¡AFreeBSD 3.x ªº kernel ¥i¥H©w§}ªºªÅ¶¡¬O 256 MB ¦Ó + FreeBSD 4.x ¥i¥H¨ì 1 GB¡C¦pªG¬Oºô¸ôt²ü¬Û·í«ªº¦øªA¾¹ + (¨Ò¦p¤j«¬ FTP ©Î HTTP ¦øªA¾¹)¡A§A¤]³\·|µo²{ 256 MB ¥i¯à¤£¤j°÷¡C + </para> + + <para>©Ò¥H¡An¦p¦ó¼W¥[©w§}ªÅ¶¡©O¡Hn±q¨â¤è±µÛ¤â¡Cº¥ýº¥ý§i¶D + kernel ¥»¨n«O¯d¸û¤jªÅ¶¡µ¹¦Û¤v¡C¨ä¦¸¡A¬JµM¬O¦b©w§}ªÅ¶¡ªº³Ì¤W + ±¸ü¤J kernel¡A©Ò¥HÁÙn½Õ§C¸ü¤Jªº¦ì§}¡A¤~¤£·|©M«e±©w§}ªº½d³ò + «Å|¡C</para> + + <para>¼W¥[ <filename>src/sys/i386/include/pmap.h</filename> ¸Ìªº + <literal>NKPDE</literal> ´N¥i¥H¹F¦¨²Ä¤@ӥؼСC1 GB ªº©w§}ªÅ¶¡·| + ¹³³o¼Ë¡G</para> + + <programlisting>#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</programlisting> + + <para>nºâ¥X <literal>NKPDE</literal> ªº¥¿½TÈ¡A±N·QnªºªÅ¶¡¤j¤p + (¥H megabyte ¬°³æ¦ì)°£¥H 4¡A±µµÛ³æ CPU ¾÷¾¹´î 1¡A + Âù CPU «h¬O´î 2¡C</para> + + <para>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§â<filename>src/sys/i386/conf/Makefile.i386</filename> + ¸Ìªº <symbol>LOAD_ADDRESS</symbol> ³]¦¨³oÓÈ¡Q±µµÛ¦b + <filename>src/sys/i386/conf/kernel.script</filename> ¤¤¡A±N + section ¦Cªí³Ì«e±ªº location counter ³]¦¨¬Û¦PªºÈ¡A¦p¤U¡G</para> + + <programlisting>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) }</programlisting> + + <para>µM«á«·s½sĶ±zªº kernel¡C±z¥i¯à·|¦b°õ¦æ &man.ps.1;¡B&man.top.1; + ³oÃþªºµ{¦¡®É¸I¨ì°ÝÃD¡Q<command>make world</command> À³¸Ó´N¥i¥H¸Ñ¨M + (©Î§â§ï¹Lªº <filename>pmap.h</filename> ½Æ»s¨ì + <filename>/usr/include/vm/</filename> ¤U¡A¦A¤â°Ê½sĶ + <filename>libkvm</filename>¡A&man.ps.1; ÁÙ¦³ &man.top.1;)¡C</para> + + <para>ª`·N¡Gkernel ©Ò¯à©w§}ªºªÅ¶¡¤j¤p¥²¶·¬O 4 megabytes ªº¿¼Æ¡C + </para> + + <para>[&a.dg; ¸É¥R¡G<emphasis>§Ú»{¬° kernel ©w§}ªÅ¶¡¤j¤pÀ³¸Ón¬O 2 + ªº¼¾¡A¦ý¤£¤j½T©w³o¤@ÂI¡Cªº±Ò°Êµ{¦¡·|°Ê¨ì + high order address bits¡A°O±o¥¦°²³]¦Ü¤Ö¦³ 256 MB¡C]</emphasis> + </para> + </answer> + </qandaentry> + </qandaset> + </chapter> + + <chapter id="acknowledgments"> + <chapterinfo> + <author> + <firstname>Vanilla</firstname> + <surname>Shu</surname> + <affiliation> + <address><email>vanilla@FreeBSD.org</email></address> + </affiliation> + </author> + </chapterinfo> + + <title>·PÁÂ</title> + + <blockquote> + <attribution>FreeBSD Core Team</attribution> + + <para>°²¦p±z¦b³o¥÷ FAQ ¤¤§ä¨ì¿ù»~ªº¦a¤è¡A©Î¬O±z·Q¼W¥[¨Ç¬Æ»ò¡A + ½Ð¼g«Ê«H¨ì &a.faq; ¡C§ÚÌ«D±`·PÁ±zªº«Øij¡A + ¦]¬°±zªº«ØijÅý³o¥÷¤å¥óÅܱo§ó¦n¡I</para> + </blockquote> + + <variablelist> + <varlistentry> + <term>&a.jkh;</term> + <listitem> + <para>¤£°±ªº§ó·s¹L®Éªº FAQ</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>&a.dwhite;</term> + + <listitem> + <para>¸g±`¦b freebsd-questions ¤W¦^µª°ÝÃD</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>&a.joerg;</term> + + <listitem> + <para>¸g±`¦b Usenet ¤W¦^µª°ÝÃD</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>&a.wollman;</term> + + <listitem> + <para>Networking and formatting</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>Jim Lowe</term> + + <listitem> + <para>Multicast information</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>&a.pds;</term> + + <listitem> + <para>FreeBSD FAQ ³o¥÷¤å¥óªº¥´¦rW¤u</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>The FreeBSD Team</term> + + <listitem> + <para>Kvetching, moaning, submitting data</para> + + </listitem> + </varlistentry> + </variablelist> + + <para>¹ï©ó¨º¨Ç´¿¸g¹ï³o¥÷ FAQ ´£¨ÑÀ°§U¡A¦Ó§Ų́S´£¨ìªº¤HÌ¡A + §Ú̥ѰJªº·PÁ±z¡I</para> + </chapter> + + + <chapter id="ports"> + <chapterinfo> + <author> + <firstname>Yi-Feng</firstname> + <surname>Tzeng</surname> + <affiliation> + <address><email>yftzeng@iis.sinica.edu.tw</email></address> + </affiliation> + </author> + </chapterinfo> + + <title>Ports and Packages ±`¨£°ÝÃD</title> + + <qandaset> + <qandaentry> + <question id="make-fetch"> + <para>¦p¦ó¥u§ì¨ú tarball¡H</para> + </question> + + <answer> + <para>¦pªG¥u§Æ±æ§ì¨ú tarball ¤U¨Óªº¸Ü¡A¶È»Ý¿é¤J¥H¤U«ü¥O§Y¥i¡G + <screen>&prompt.root; <userinput>make fetch</userinput></screen> + ¦pªG¬On§ì¨ú³æ¤@ªº port¡A¥H + <filename role="package">editors/joe</filename> ¬°¨Ò¡G</para> + + <screen>&prompt.root; <userinput>cd /usr/ports/editors/joe</userinput> +&prompt.root; <userinput>make fetch</userinput></screen> + + <para>¨º»ò¡A¹w³]·|±N <filename role="package">editors/joe</filename> + ªº tarball ¤U¸ü¦Ü <filename>/usr/ports/distfiles</filename> + ¥Ø¿ý¤U¡C</para> + + <para>¦pªG¬O§Æ±æ§ì¨ú¦w¸Ë¦¹ ports ©Ò¦³¬ÛÃö¬Û¨Ì ports ªº tarball¡A¥H + <filename role="package">systuils/portupgrade</filename> ¬°¨Òªº¸Ü¡A + «h¡G</para> + + <screen>&prompt.root; <userinput>cd /usr/ports/systuils/portupgrade</userinput> +&prompt.root; <userinput>make fetch-recursive</userinput></screen> + + <para>¹w³]·|±N¦¹ port »P©Ò¦³»Ýnªº¨ä¥L port ªº tarball¡A¤U¸ü¦Ü + <filename>/usr/ports/distfiles</filename> ¥Ø¿ý¤U¡C</para> + + <para>¦pªG¬O§Æ±æ§ì¨ú¥þ³¡©Ò¦³ ports ªº tarball ¡A«h¡G</para> + + <screen>&prompt.root; <userinput>cd /usr/ports</userinput> +&prompt.root; <userinput>make fetch</userinput></screen> + + <para>«h·|©Ò±N¥þ³¡©Ò¦³ ports ªº tarball ¤U¸ü¦Ü + <filename>/usr/ports/distfiles</filename> ¥Ø¿ý¤U¡C</para> + + <para>¦pªG¬O§Æ±æ§ì¨ú ftp ¤ÀÃþ¤U©Ò¦³ ports ªº tarball ¡A«h¡G</para> + + <screen>&prompt.root; <userinput>cd /usr/ports/ftp</userinput> +&prompt.root; <userinput>make fetch-recursive</userinput></screen> + + <para>«h·|©Ò±N ftp ¤ÀÃþ¤U©Ò¦³ ports ªº tarball ³£¤U¸ü¦Ü + <filename>/usr/ports/distfiles</filename> ¥Ø¿ý¤U¡C</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="make-extract"> + <para>¦p¦ó¶È°µ¨ì¸Ñ¶} tarballªº¨BÆJ¡H</para> + </question> + + <answer> + <para>¦³®ÉԲߺD¦Û¤v patch ì©l½Xªº®ÉÔ¡A·|«Ü±`¥Î¨ì³oÓ¥\¯à¡C¥H + <filename role="package">editors/joe</filename> ¬°¨Ò¡G</para> + + <screen>&prompt.root; <userinput>cd /usr/ports/editors/joe</userinput> +&prompt.root; <userinput>make extract</userinput></screen> + + <para>·|±N tarball¸Ñ¶}¦Ü + <filename>/usr/ports/editors/joe/work</filename> ¥Ø¿ý¤U¡C</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="make-patch"> + <para>¦p¦ó¶È°µ¨ì¸Ñ¶} tarball ¨Ã¸É¤W©x¤è´£¨Ñªº patch ¡H</para> + </question> + + <answer> + <para>¦¹ªk»P <link linkend="make-extract">make extract</link> + ªº¤èªk¦³¤@¨ÇÃþ¦ü¡A¤£¦P©ó¬O¥ý¸É¤W©x¤è´£¨Ñªº patch¡A¦A¦æ patch + ¦Û¤vªº×¥¿¡C ¦³®ÉԲߺD¦Û¤v patch ì©l½Xªº®ÉÔ¡A + «h³oӤ覡¥¿¦n²Å¦X±zªº»Ý¨D¡C + ¥H <filename role="package">editors/joe</filename> ¬°¨Ò¡G</para> + + <screen>&prompt.root; <userinput>cd /usr/ports/editors/joe</userinput></screen> + <screen>&prompt.root; <userinput>make patch</userinput></screen> + + <para>·|±N tarball¸Ñ¶}¦Ü <filename>/usr/ports/editors/joe/work</filename> ¥Ø¿ý¤U + ¡A¨Ã¸É¤W©x¤è´£¨Ñªº patch¡C</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="make-install"> + <para>¦p¦ó¦w¸Ë¤@Ó·sªº port¡H</para> + </question> + + <answer> + <para>¦pªG¨t²Î¤W¥¼¦w¸Ë¦¹³nÅé¡A«h¥i¥H¿ï¾Ü¦w¸Ë¤@Ó·sªº port¡C + ¥H <filename role="package">editors/joe</filename> ¬°¨Òªº¸Ü¡A«h¡G</para> + + <screen>&prompt.root; <userinput>cd /usr/ports/editors/joe</userinput></screen> + <screen>&prompt.root; <userinput>make install</userinput></screen> + + <para>¦p¦¹·|¦b¨t²Î¤W¦w¸Ë¤@Ó·sªº joe ³nÅé¡C + ¦pªG»Ýn¦b¦w¸Ë§¹¦¨«á¡A¤@¨Ö²M°£½s¿è®É´Á©Ò¯d¤U¨Óªº¼È¦s¥Ø¿ý¡A«h¥i°t¦X <userinput>make clean</userinput> ªº¤èªk¤@°_¨Ï¥Î¡A¦p¡G</para> + <screen>&prompt.root; <userinput>cd /usr/ports/editors/joe</userinput></screen> + <screen>&prompt.root; <userinput>make clean</userinput></screen> + + <para>¦pªG·Qn¤@¦¸²M±¼©Ò¦³ ports ²£¥Íªº¼È¦s¸ê®Æ¡A«h¥un¦^¨ì ports ªº®Ú¥Ø¿ý°õ¦æ§Y¥i¡G</para> + <screen>&prompt.root; <userinput>cd /usr/ports</userinput></screen> + <screen>&prompt.root; <userinput>make clean</userinput></screen> + </answer> + </qandaentry> + + <qandaentry> + <question id="make-package"> + <para>¦p¦ó¦w¸Ë¤@Ó·sªº port¡A¨Ã¥´¥](package)°_¨Ó¡H</para> + </question> + + <answer> + <para>±N¦w¸Ë§¹¦¨ªº³nÅ饴¥]°_¨Ó¡A¦³³\¦h«K§Q©Ê¡G¥]¬A¦bÂO¶°¨t²Î¤¤¡A¥i¨Ñ¨ä¥¦¾÷¾¹¨Ï¥Î¡A + ©Î±N¥¼¨Ó¦¹³nÅé¥X°ÝÃD¥i«·s§Q¥Î¦¹ package «·s§Ö³t¦w¸Ë¡C + ¥H <filename role="package">editors/joe</filename> ¬°¨Òªº¸Ü¡A«h¡G</para> + + <screen>&prompt.root; <userinput>cd /usr/ports/editors/joe</userinput></screen> + <screen>&prompt.root; <userinput>make package</userinput></screen> + + <para>¦p¦¹·|¦b¨t²Î¤W¦w¸Ë¤@Ó·sªº joe ³nÅé¡A¨Ã±N¦¹³nÅ饴¥](package)°_¨Ó¡C + package ¹w³]·|¦b <filename>/usr/ports/editors/joe</filename> ¥Ø¿ý¤U¡A¦pªG§Æ±æ¶°¤¤ºÞ²zªº¸Ü¡A«Øij°µ¦p¤Uªº¨BÆJ¡G</para> + + <screen>&prompt.root; <userinput>mkdir -p /usr/ports/packages</userinput></screen> + + <para>¥H«á¥´¥]ªº packages ³£·|¦s©ñ¦b¦¹¥Ø¿ý¤U¡A¨Ã¥B¨t²Î·|¦Û°Ê°µ¤ÀÃþ¡A¥H¤è«KºÞ²z¡C + ¦pªG»Ýn¦b¦w¸Ë§¹¦¨«á¡A¤@¨Ö²M°£½s¿è®É´Á©Ò¯d¤U¨Óªº¼È¦s¥Ø¿ý¡A«h¥i°t¦X make clean ¤@°_¨Ï¥Î¡A¦p¡G</para> + + <screen>&prompt.root; <userinput>cd /usr/ports/editors/joe</userinput></screen> + <screen>&prompt.root; <userinput>make package clean</userinput></screen> + </answer> + </qandaentry> + + <qandaentry> + <question id="make-depend-package"> + <para>¦p¦ó¥´¥]¤@Ó port¡A¨Ã±N¨ä©Ò¦³¬Û¨Ìªº ports ¤]¥´¥]°_¨Ó¡H</para> + </question> + + <answer> + <para>¦]¬° <link linkend="make-package">make package</link> ¥u¦³¥´¥]³æ¤@®M¥ó¡A + ¤¤¶¡¨Ì¿àªº ports ¨Ã¨S¦³¤@°_¥´¥]¡A³o·|¥X²{¤@Ó±`¹J¨ìªº°ÝÃD¡G + ´N¬O¦pªG¤@Ó port »Ýn¨Ì¿à¨ä¥¦ªº ports¡A¨º»ò¥²¶·±N¨ä¥¦ ports ¤]¤@°_¥´¥]¡A§_«h¦w¸Ë packages ·|¦³¬Û¨Ì©Êªº°ÝÃD¡C + ¥H <filename role="package">sysutils/portupgrade</filename> ¬°¨Ò¡G</para> + + <screen>&prompt.root; <userinput>cd /usr/ports/sysutils/portupgrade</userinput></screen> + <screen>&prompt.root; <userinput>make DEPENDS_TARGET=package package</userinput></screen> + + <para>¦p¦¹·|¹ï©Ò¦³ portupgrade ©Ò¬Û¨Ì¿àªº ports ³£¤@¨Ö¥´¥]¡A¤]¥]¬A¦Û¤v¥»¨¡C</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="pkg-create"> + <para>¦p¦ó¹ï¤@Ó¤w¸g¦w¸Ëªº port ¥´¥]¡H</para> + </question> + + <answer> + <para>¦pªG¦w¸Ë¦n¤@Ó®M¥ó¡A¨Æ«e¨Ã¥¼¥´¥]¡A¨Æ«á·Q¥´¥]ªº¸Ü¡A«h¡G + ¥H <filename role="package">editors/joe</filename> ¬°¨Ò¡G</para> + + <screen>&prompt.root; <userinput>cd /var/db/pkg</userinput></screen> + <screen>&prompt.root; <userinput>pkg_create -b joe-{ª©¥»¸¹}</userinput></screen> + + <para>·|±N¤w¦w¸Ëªº port ¥´¥]°_¨Ó¡A©ñ¦b <filename>/var/db/pkg</filename> ¥Ø¿ý¤U¡C</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="make-clean"> + <para>¦p¦ó²M²z ports ½s¿è´Á¶¡©Ò²£¥Íªº¼È¦s¸ê®Æ¡H</para> + </question> + + <answer> + <para>¦b¦w¸Ë port ªº®ÉÔ¡A·|¦³½sĶ´Á¶¡©Ò»Ýnªº¤u§@¥Ø¿ý(work)¡A¦]¦¹³q±`¦w¸Ë¦n¤@Ó®M¥ó«á¡A·|²M°£¦¹¼È¦s¥Ø¿ý¡A¥H¸`¬ÙµwºÐªÅ¶¡¡C + ¥H <filename role="package">editors/joe</filename> ¬°¨Ò¡G</para> + + <screen>&prompt.root; <userinput>cd /usr/ports/editors/joe</userinput></screen> + <screen>&prompt.root; <userinput>make clean</userinput></screen> + + <para>¦pªG¬O§Æ±æ²M°£©Ò¦³ ports ªº¼È¦s¥Ø¿ý¡A«h¡G</para> + <screen>&prompt.root; <userinput>cd /usr/ports</userinput></screen> + <screen>&prompt.root; <userinput>make clean</userinput></screen> + + <para>¦pªG¬O§Æ±æ²M°£©Ò¦³ ftp ¤ÀÃþªº¼È¦s¥Ø¿ý¡A«h¡G</para> + <screen>&prompt.root; <userinput>cd /usr/ports/ftp</userinput></screen> + <screen>&prompt.root; <userinput>make clean</userinput></screen> + </answer> + </qandaentry> + + <qandaentry> + <question id="make-distclean"> + <para>¦p¦ó²M²z ports ½s¿è´Á¶¡©Ò²£¥Íªº¼È¦s¸ê®Æ¡A¥H¤Î tarball ÀÉ¡H</para> + </question> + + <answer> + <para>¦b <link linkend="make-clean">make clean</link> ¶È¥u¬O²M°£½s¿è´Á¶¡©Ò»Ýnªº¤u§@¥Ø¿ý(work)¡A¨Ã¨S¦³±N½sĶ + ports ®É¤@¨Ö¤U¸üªº tarball §R°£(¬Û¹ïÀ³¤§ tarball ¹w³]·|¦s©ñ¦b <filename>/usr/ports/distfiles</filename>) + ¦pªG·Q§â tarball ¤@¨Ö²M°£ªº¸Ü¡A¥H <filename role="package">editors/joe</filename> ¬°¨Ò¡G</para> + + <screen>&prompt.root; <userinput>cd /usr/ports/editors/joe</userinput></screen> + <screen>&prompt.root; <userinput>make distclean</userinput></screen> + + <para><userinput>make distclean</userinput> ªº¨BÆJ¥]§t¤F <userinput>make clean</userinput> + ªº¥\¯à¡A¤]´N¬O»¡°£¤F·|§R°£ tarball ¥~¡AÁÙ·|¤@¨Ö²M°£½sĶ®Éªº¼È¦s work ¥Ø¿ý¡C</para> + + <para>¦pªG¬O§Æ±æ²M°£©Ò¦³ ports ªº¼È¦s work ¥Ø¿ý¤Î tarball¡A«h¡G</para> + <screen>&prompt.root; <userinput>cd /usr/ports</userinput></screen> + <screen>&prompt.root; <userinput>make distclean</userinput></screen> + + <para>¦Ó¦pªG¬O§Æ±æ²M°£©Ò¦³ ftp ¤ÀÃþªº work ¥Ø¿ý¤Î tarball¡A«h¡G</para> + <screen>&prompt.root; <userinput>cd /usr/ports/ftp</userinput></screen> + <screen>&prompt.root; <userinput>make distclean</userinput></screen> + </answer> + </qandaentry> + + <qandaentry> + <question id="make-depends-list"> + <para>¦p¦ó¦b¦w¸Ë ports «e¬d¸ß©Ò¨Ì¿àªº¬ÛÃö®M¥ó¡H</para> + </question> + + <answer> + <para>¦b¦w¸Ë ports «e¡A¥i¥H¬d¸ß©Ò¨Ì¿àªº¬ÛÃö®M¥ó¡C + ¥H <filename role="package">mail/p5-Mail-SpamAssassin</filename> ¬°¨Ò¡G</para> + + <screen>&prompt.root; <userinput>cd /usr/ports/mail/p5-Mail-SpamAssassin</userinput></screen> + <screen>&prompt.root; <userinput>make all-depends-list</userinput></screen> + <para><userinput>make all-depends-list</userinput> Åã¥Ü¦¹®M¥ó©Ò¦³¬Û¨Ìªº®M¥ó¡C</para> + + <screen>&prompt.root; <userinput>cd /usr/ports/mail/p5-Mail-SpamAssassin</userinput></screen> + <screen>&prompt.root; <userinput>make pretty-print-build-depends-list</userinput></screen> + <para><userinput>make all-depends-list</userinput> Åã¥Ü¦¹®M¥ó¦b½sĶ´Á¶¡©Ò»Ýnªº®M¥ó¡C</para> + + <screen>&prompt.root; <userinput>cd /usr/ports/mail/p5-Mail-SpamAssassin</userinput></screen> + <screen>&prompt.root; <userinput>make pretty-print-run-depends-list</userinput></screen> + <para><userinput>make all-depends-list</userinput> Åã¥Ü¦¹®M¥ón°õ¦æ®É©Ò»Ýnªº®M¥ó¡C</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="make-deinstall"> + <para>¦p¦ó²¾°£¤w¦w¸Ëªº ports¡H</para> + </question> + + <answer> + <para>¥H <filename role="package">editors/joe</filename> ¬°¨Ò¡G</para> + + <screen>&prompt.root; <userinput>cd /usr/ports/editors/joe</userinput></screen> + <screen>&prompt.root; <userinput>make deinstall</userinput></screen> + + <para>©Î¬O¨Ï¥Î <userinput>pkg_delete</userinput>¡G</para> + <screen>&prompt.root; <userinput>pkg_delete joe-{version}</userinput></screen> + + <para>¦³®ÉÔ®M¥ó¤§¶¡ªº¬Û¨Ì©Ê·|¾ÉPµLªkª½±µ²¾°£¡A¦pªGn±j¨î²¾°£ªº¸Ü¡A«h¡G</para> + <screen>&prompt.root; <userinput>pkg_delete -f joe-{version}</userinput></screen> + <para>¦ý½Ðª`·N¡G«Ü¦³¥i¯à·|¾ÉP¨ä¥¦¬Û¨Ì¨ì³o³nÅ骺®M¥ó°õ¦æ°_¨Ó¥X²{°ÝÃD¡C</para> + <para>¦Ü©ó¤GªÌªº®t§O¡A½Ð°Ñ¦Ò <link linkend="deinstall-vs-pkg-delete">make deinstall »P pkg_delete ¦³¤°»ò¤£¦P</link></para> + </answer> + </qandaentry> + + <qandaentry> + <question id="make-deinstall-depends"> + <para>¦p¦ó¤@¨Ö²¾°£©Ò¬Û¨Ìªº ports¡H</para> + </question> + + <answer> + <para>¥H <filename role="package">sysutils/portupgrade</filename> ¬°¨Ò¡G</para> + + <screen>&prompt.root; <userinput>cd /usr/ports/sysutils/portupgrade</userinput></screen> + <screen>&prompt.root; <userinput>make deinstall-depends</userinput></screen> + + <para>°õ¦æ¦¹¨BÆJ«e¡A½Ðª`·N¬O§_·|²¾°£¨ä¥L®M¥ó¤]¦³¦@¦P¬Û¨Ìªº³¡¤À¡C«Øij¥ý°Ñ¦Ò + <link linkend="make-depends-list">make-depends-list</link> ªº¤èªk¨ÓÀˬd¡C</para> + + <para>©Î¬O¨Ï¥Î</para> + <screen><userinput>pkg_delete</userinput></screen> + <para>³o¼ËY¤´¦³¬Û¨Ì¸Ó®M¥óªº¸Ü¡A·|¥ýĵ§i¦Ó¤£·|²¾°£¡C°£«D¦³¥t¥~¥[¤F -f °Ñ¼Æ¨Ó±j¨î²¾°£¡C</para> + <screen>&prompt.root; <userinput>pkg_delete -r portupgrade-{version}</userinput></screen> + <para>¦Ü©ó¤GªÌªº®t§O¡A½Ð°Ñ¦Ò <link linkend="deinstall-vs-pkg-delete">make deinstall »P pkg_delete ¦³¤°»ò¤£¦P</link></para> + </answer> + </qandaentry> + + <qandaentry> + <question id="make-reinstall"> + <para>¦p¦ó«·s¦w¸Ë¤w¦w¸Ë¹Lªº ports¡H</para> + </question> + + <answer> + <para>«·s¦w¸Ëªº«e´£¬O¡G¤§«e¦³¦w¸Ë¹L©Î¥Ø«e¤w¦w¸Ë¡C¥H <filename role="package">editors/joe</filename> ¬°¨Ò¡G</para> + + <screen>&prompt.root; <userinput>cd /usr/ports/editors/joe</userinput></screen> + <screen>&prompt.root; <userinput>make deinstall clean install</userinput></screen> + + <para>©Î¬O</para> + <screen>&prompt.root; <userinput>cd /usr/ports/editors/joe</userinput></screen> + <screen>&prompt.root; <userinput>make reinstall</userinput></screen> + </answer> + </qandaentry> + + <qandaentry> + <question id="make-search"> + <para>¦p¦ó¥HÃöÁä¦r·j´M ports¡H</para> + </question> + + <answer> + <para>¦pªGn±q¥þ³¡ªº ports collection ¤¤§ä´M»PÃöÁä¦r "ldap" ¦³Ãöªº ports¡A«h¡G</para> + + <screen>&prompt.root; <userinput>cd /usr/ports</userinput></screen> + <screen>&prompt.root; <userinput>make search key=ldap</userinput></screen> + + <para>¦pªG¥un±q»P ftp ¬ÛÃöªº ports ¤U§ä´M»PÃöÁä¦r "ldap" ¦³Ãöªº ports¡A«h¡G</para> + <screen>&prompt.root; <userinput>cd /usr/ports/ftp</userinput></screen> + <screen>&prompt.root; <userinput>make search key=ldap</userinput></screen> + + <para>ÁÙ¦³¥t¤@ӥΪk¡A¤èªk¥u¬O±N key ´«¦¨ name¡C¦pªG¤w¸gª¾¹Dn·j´M ports ªº¦WºÙ¡A©Î¥u·Q§ä¦WºÙ¬ÛÃöªºÃöÁä¦r "ldap"¡A «h¡G</para> + <screen>&prompt.root; <userinput>cd /usr/ports</userinput></screen> + <screen>&prompt.root; <userinput>make search name=ldap</userinput></screen> + </answer> + </qandaentry> + + <qandaentry> + <question id="upgrade-ports"> + <para>¦p¦ó¤É¯Å¤w¦w¸Ëªº ports¡H</para> + </question> + + <answer> + <para>¦pªG¤w¸g¦w¸Ë®M¥ó¡A¨Æ«á±ý¤É¯Åªº¸Ü¡A¥²¶·¥ý²¾°£Âª©ªº port¡C¥H <filename role="package">editors/joe</filename> ¬°¨Ò¡G</para> + <screen>&prompt.root; <userinput>cd /usr/ports/editors/joe</userinput></screen> + <screen>&prompt.root; <userinput>make clean reinstall</userinput></screen> + </answer> + </qandaentry> + + <qandaentry> + <question id="pkg-info"> + <para>¦p¦ó¬d¸ß¥Ø«e¨t²Î¦w¸Ë¤Fþ¨Ç®M¥ó¡H</para> + </question> + + <answer> + <para>¬d¸ß¥Ø«e¨t²Î¤w¦w¸Ëªº¥þ³¡®M¥ó¡G</para> + + <screen>&prompt.root; <userinput>pkg_info</userinput></screen> + </answer> + </qandaentry> + + <qandaentry> + <question id="pkg-info-grep"> + <para>¦p¦ó¬d¸ß¥Ø«e¨t²Î¦³¨S¦³¦w¸Ë³oÓÃöÁä¦rªº®M¥ó¡H</para> + </question> + + <answer> + <para>°²³]n§äªºÃöÁä¦r¬O joe ªº¸Ü¡G</para> + <screen>&prompt.root; <userinput>pkg_info | grep joe</userinput></screen> + </answer> + </qandaentry> + + <qandaentry> + <question id="pkg-info-W"> + <para>¦p¦ó¬d¸ß¬YÓÀɮ׬OÄÝ©óþ¨Ç®M¥ó¡H</para> + </question> + + <answer> + <para>¦pªG·Q¬d¸ß <filename>/usr/local/bin/joe</filename> ¬OÄÝ©óþÓ®M¥óªº¸Ü¡A«h¡G</para> + <screen>&prompt.root; <userinput>pkg_info -W /usr/local/bin/joe</userinput></screen> + <para>¦pªG¨S¦³¦^¶Ç¥ô¦ó¸ê°Tªº¸Ü¡A¥NªíµÛ³oÓÀɮ׬O¥Ñ FreeBSD ¤º«Øªº¡C</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="pkg-info-L"> + <para>¦p¦ó¬d¸ß¬YÓ®M¥ó¦w¸Ë¤Fþ¨ÇÀɮסH</para> + </question> + + <answer> + <para>¦pªG·Q¬d¸ß¥Ø«e¨t²Î©Ò¦w¸Ëªº <filename role="package">joe</filename> ¥]§t¤Fþ¨ÇÀɮסA«h¡G</para> + <screen>&prompt.root; <userinput>pkg_info -L /var/db/pkg/joe-{version}</userinput></screen> + </answer> + </qandaentry> + + <qandaentry> + <question id="reinstall-upgrade"> + <para>¦p¦ó¦w¸Ëª©ªº ports¡H</para> + </question> + + <answer> + <para>¦³®ÉÔ·|¦]¬°¬Û¨Ì©Ê¡A©Î¬O·sª©¦³°ÝÃD¡A¦Ó·|·Q¸Ëª©¥»ªº®M¥ó¡C + ³o¸Ì¤¶²Ðªº¤èªk¬O§Q¥Î CVS ªº¦n³B¡A¦^Âk¨ì¥H«eª©¥»¦s¦bªº¤é¤l¡A¥H¦w¸Ëª©¥»ªº®M¥ó¡C</para> + + <para>º¥ý¡AY§ÚÌn¦^´_¨ì¬Y¤@Ó®M¥óªºª©¥»®É¡A»Ýn¥h¬d¸ß FreeBSD ports CVS repository¡C + ³Ì±`¨£ªº´N¬O <ulink url="http://www.freshports.org/">Freshports</ulink> ºô¯¸¡B FreeBSD ªº + <ulink url="http://lists.freebsd.org/pipermail/cvs-all/">Mailing FreeBSD cvs</ulink> ©Î¬O FreeBSD + <ulink url="http://www.freebsd.org/cgi/cvsweb.cgi/ports/">ports cvsweb</ulink>¡C</para> + + <para>¬d¨ì¸Ó®M¥óª©¥»©Ò¨Ì¦sªº¤é¤l«á¡A´Nקï CVS tag¡C¤@¯ë¹w³] ports ªº CVS tag ·|¼g¦b <filename>/usr/share/examples/cvsup/ports-supfile</filename> + ¡A¦pn¦^·¹¨ì 2002/10/05 ¸¹ªº¸Ü¡A«h¡G</para> + <screen>&prompt.root; <userinput>vi /usr/share/examples/cvsup/ports-supfile</userinput></screen> + <screen>*default date=2002.10.05.00.00.00 #±N date §ï¦¨·í¤é</screen> + + <para>µM«á«ö·Ó¤@¯ë CVSup ©Î csup ªº®ÉÔ¤@¼Ë¡A°õ¦æ CVSup ©Î csup (make update)¡A¦¹®Éªº + ports collections ´N·|¦^¨ì·í®Éªº±¡§Î¡A¨º»ò¸Ó®M¥óªºÂª©¤]·|¥X²{¦b ports collections ¤¤¡A¥un¦w¸Ë§Y¥i¡C</para> + + <para>¦pªG¶È¬O·Q¦^·¹¬Y³¡¥÷ªº ports¡A«h¥²¶·¥[¤WÃB¥~ªº¸ê°T¡A¦p¶È§Æ±æ§â <filename role="package">lang/perl5.8</filename> ¦^·¹¡A + ¦Ó§Ú̱oª¾¦¹ÄÝ©ó lang ¤¤ªº¤@¤ä¡A«h¡G</para> + <screen>&prompt.root; <userinput>vi /usr/share/examples/cvsup/ports-supfile</userinput></screen> + <screen>#ports-all #±N ports-all ¼Ð¥Ü°_¨Ó</screen> + <screen>ports-lang #¥[¤J³o¦æ</screen> + <para>³Ì«á¡A°õ¦æ CVSup ©Î csup ¡A¨Ã¦w¸Ë§Y¥i¡C¥Ø«eY§Æ±æ³æ¿W¦^·¹³æ¤@ªº port¡A«h¤ñ¸û³Â·Ð¡C</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="upgrade-ports-mk"> + <para>¦p¦ó§ó·s ports Mk¡H</para> + </question> + + <answer> + <para>Mk (<filename>/usr/ports/Mk</filename>) ¬O½sĶ ports ®É©Ò°Ñ¦Òªº³]©w¡A¦³®ÉYµo¥Í ports collections ¤Ó·s¡A¦Ó¾ÉP Mk ªº¤º®e¤£²Å¡A¦¹®É´N¬OÀ³¸Ó§ó·s Mk ªº®ÉÔ¤F¡C</para> + <screen>&prompt.root; <userinput>cd /usr/src</userinput></screen> + <screen>&prompt.root; <userinput>make update</userinput></screen> + <screen>&prompt.root; <userinput>cd /usr/src/share/mk</userinput></screen> + <screen>&prompt.root; <userinput>make install</userinput></screen> + </answer> + </qandaentry> + + <qandaentry> + <question id="make-use-sed-inplace"> + <para>¦p¦ó¸Ñ¨M¦w¸Ë ports ®É¥X²{ sed -i ªº¿ù»~¡H</para> + </question> + + <answer> + <para>¦]¬° BSD style ªº sed ¡A¤]´N¬O BSD ¥»¨¦Û¦³ªº sed ¡A»P¤@¨Ç ports ½sĶ´Á¶¡©Ò°õ¦æªº sed ¤£¤@P¡A©Ò¥H·|¾ÉP¤@¨Ç»yªk¿ù»~¡C¦¹®É¥ý¦w¸Ë sed_inplace (<filename role="package">textproc/sed_inplace</filename>)¡AµM«á¦A¦w¸Ë쥻µLªk¦w¸Ëªº ports¡G</para> + <screen>&prompt.root; <userinput>make -DUSE_REINPLACE install</userinput></screen> + </answer> + </qandaentry> + + <qandaentry> + <question id="pkg-version"> + <para>¦p¦ó¦C¥X©Ò¦³¥i¥H¤É¯Åªº ports¡H</para> + </question> + + <answer> + <para>ports collection ªº§ó·s³t«×«Ü§Ö¡A¦b¨C¦¸§ó·s ports collections «á¡A©¹©¹·|¥X²{¤ñ¥Ø«e²{ + ¦b¦w¸Ëªº®M¥óÁÙ·sªºª©¥»¡A¥i¥H¥O¨t²Î¦Û¦æ¾ã²z¨Ã´£¨Ñ¥i¤É¯Å®M¥óªº¦Cªí¡G</para> + <screen>&prompt.root; <userinput>pkg_version -c</userinput></screen> + </answer> + </qandaentry> + + <qandaentry> + <question id="grep-defined-makefile"> + <para>¦p¦ó±oª¾ ports ©Ò´£¨Ñªº½sĶ°Ñ¼Æ¡H</para> + </question> + + <answer> + <para>©Ò¦³ªº ports collections ¤¤©Ò´£¨Ñªº½sĶ°Ñ¼Æ³£·|¦b¹ïÀ³ªº Makefile Àɮפº¸Ôz¡A + ¦p <filename role="package">sysutils/portupgrade</filename> ªº¸Ü¡A«h¬O¦ì¦b <filename>/usr/ports/sysutils/portupgrade/Makefile</filename> + ÀɮפU¡C</para> + <screen>&prompt.root; <userinput>cd /usr/ports/sysutils/portupgrade</userinput></screen> + <screen>&prompt.root; <userinput>make -DNOPORTDOCS install</userinput></screen> + + <para>¨º»ò¦w¸Ë¦¹ ports ®É¡A·|±N NOPORTDOCS ©Ò¹ïÀ³ªº¬ÛÃö°Ñ¼Æ«ü©w¶i¥h¡C</para> + <para>¦³®ÉÔ³]©w¸û¤H©Ê¤Æªº ports ·|¦b¦w¸Ë«e´£¨Ñ°Ñ¼Æ¨Ñ¿ï¾Ü¡A¦ý¬O¨ä¹ê¤j³¡¥÷ªº ports ³£¨S¦³´£ + ¨Ñ¡A¦]¦¹¥²¶·¦Û¦æ¥h·j´M¥i½sĶªº°Ñ¼Æ¡A¦b¦¹§Ú´£¨Ñªº¤è¦¡¦p¤U¡G</para> + <screen>&prompt.root; <userinput>cd /usr/ports/sysutils/portupgrade</userinput></screen> + <screen>&prompt.root; <userinput>grep defined Makefile</userinput></screen> + + <para>¦p¦¹´X¥G¥i¥Hª¾¹D©Ò¦³´£¨Ñªº¥i½sĶ°Ñ¼Æ¡AÁöµM¦³®É·|¦h¥X¨ä¥¦ªº¸ê®Æ¡A¤£·|³oÓ½T¹ê¬O¤@Ó¤£ + ¿ù¥i°Ñ¦Òªº¤è¦¡¡C</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="make-configure-args"> + <para>¦p¦ó¤â°Ê¥[¤J½sĶ ports ªº°Ñ¼Æ¡H</para> + </question> + + <answer> + <para>¦b <link linkend="grep-defined-makefile">«e±©Òz</link> ªº¤èªk¡A¬O ports collections ¦³´£¨Ñªº«e´£¤§¤U¡A¦³®ÉԨ䣬O©Ò¦³¸Ó³nÅé©Ò¤ä´©ªº°Ñ¼Æ³£·|¦¬¯Ç¦b ports collections ¤¤¡A¦]¦¹¦³®ÉÔ·|»Ýn¤â°Ê¥[¤J½sĶªº°Ñ¼Æ¡C</para> + <para>¦p ftp/pure-ftpd ¤¤¡A¦pªG¤£·Q§â inetd ªº¤ä´©½s¤Jªº¿ï¶µ¡A¨Ã¨S¦³³Q ports collections ©Ò¯Ç¤J¡A¦]¦¹¥²¶·¤â°Ê¥[¤W³oÓ½sĶ°Ñ¼Æ¡A¦p¤U¡G</para> + <screen>&prompt.root; <userinput>cd /usr/ports/ftp/pure-ftpd</userinput></screen> + <screen>&prompt.root; <userinput>make CONFIGURE_ARGS+="--without-inetd" install</userinput></screen> + </answer> + </qandaentry> + + <qandaentry> + <question id="make-prefix"> + <para>¦p¦ó«ü©w ports ªº¦w¸Ë¸ô®|¡H</para> + </question> + + <answer> + <para>¹w³] ports collecions ¤w¦w±Æ¦w¸Ëªº¸ô®| (<filename>/usr/local/</filename>)¡A¦pªG¤£·Q±N®M¥ó¦w¸Ë¦b¹w³]¸ô®|ªº¸Ü¡A¥i¥H¤â°Ê«ü©w¦w¸Ë¸ô®|¡C¥H <filename role="package">editors/joe</filename> ¬°¨Ò¡A«h¡G</para> + <screen>&prompt.root; <userinput>cd /usr/ports/editors/joe</userinput></screen> + <screen>&prompt.root; <userinput>make PREFIX=/usr install</userinput></screen> + <para>¨º»ò joe ´N·|±NÀÉ®×¹ïÀ³¦b /usr ¥Ø¿ý¤U¡A¦Ó¤£¬O¹w³]ªº /usr/local ¥Ø¿ý¤U¡C</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="force-pkg-register"> + <para>¦w¸Ë ports ¥X²{ FORCE_PKG_REGISTER ªº¿ù»~°T®§</para> + </question> + + <answer> + <para>½Ð°Ñ¦Ò Ohaha ªº <ulink url="http://ohaha.ks.edu.tw/faq-0003.htm">FAQ</ulink>¡C</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="shared-object-not-found"> + <para>¦w¸Ë ports ¥X²{ Shared object libintl.so.X not found ªº¿ù»~°T®§</para> + </question> + + <answer> + <para>½Ð°Ñ¦Ò Ohaha ªº <ulink url="http://ohaha.ks.edu.tw/faq-0004.htm">FAQ</ulink>¡C</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="pkg-add"> + <para>¦p¦ó¦w¸Ë packages¡H</para> + </question> + + <answer> + <para>¥Ø«e FreeBSD ªº packages ¬O¥Ñ .tgz ©Ò¥´¥]¡C¦pªG·Q¦w¸Ë¤@Ó packages ¡A¥i¨Ï¥Î pkg_add¡A¦p¦w¸Ë¤@Ó joe ªº tgz¡G</para> + <screen>&prompt.root; <userinput>pkg_add joe-{version}.tgz</userinput></screen> + </answer> + </qandaentry> + + <qandaentry> + <question id="pkg-add-force"> + <para>¦p¦ó±j¨î¦w¸Ë packages¡H</para> + </question> + + <answer> + <para>¥Ñ©ó¦³¨Ç packages ·|¦³»P¨ä¥L packages ¬Û¨Ì©ÊªºÃö«Y¡A©Ò¥H¥²¶·¥ý¦æ¦w¸Ë¨º¨Ç packages ¤~ +¯à¥¿±`¦w¸Ë¡C</para> + <para>¦pªG¶·n±j¨î¦w¸Ë packages ¡A¥i¥H¤£¶·¦w¸Ë¨º¨Ç¦³¬Û¨Ì©Ê packages ¡A¦ýnª`·Nªº¬O±j¨î¦w¸Ë +ªºµ²ªG¥i¯à·|¾ÉP°õ¦æ©Î¹B§@ªº¤£¥¿±`¡C±j¨î¦w¸Ë packages ªº«ü¥O¦p¤U¡A¦p±j¨î¦w¸Ë¤@Ó joe ªº tgz¡G</para> + <screen>&prompt.root; <userinput>pkg_add -f joe-{version}.tgz</userinput></screen> + </answer> + </qandaentry> + + <qandaentry> + <question id="pkg-info-r"> + <para>¦p¦ó¬d¸ß packages »P¨ä¥L packages ¤§¶¡ªº¬Û¨Ì©Ê¡H</para> + </question> + + <answer> + <para>¥Ñ©ó¦³¨Ç packages ·|¦³»P¨ä¥L packages ¬Û¨Ì©ÊªºÃö«Y¡A©Ò¥H¥²¶·¥ý¦æ¦w¸Ë¨º¨Ç packages ¤~ +¯à¥¿±`¦w¸Ë¡C</para> + <para>¬d¸ß packages »P¨ä¥L packages ¤§¶¡ªº¬Û¨Ì©Êªº«ü¥O¦p¤U¡A¦p¬d¸ß»P portupgrade ¬Û¨Ìªº¨ä¥L packages¡G</para> + <screen>&prompt.root; <userinput>pkg_info -r portupgrade-{version}.tgz</userinput></screen> + </answer> + </qandaentry> + + <qandaentry> + <question id="pkg-add-r"> + <para>¦p¦ó¦w¸Ë»·ºÝªº packages¡H</para> + </question> + + <answer> + <para>¦³¨âºØ³]©w¤è¦¡¡Aº¥ý¬O PACKAGEROOT¡A¦p¡G</para> + <screen>&prompt.root; <userinput>setenv PACKAGEROOT ftp://ftp.tw.freebsd.org</userinput></screen> + + <para>¥t¤@ºØ¤è¦¡¬O³]©w PACKAGESITE¡A¦n³B¬OY¸Ó¯¸¥xªº packages ÜÀx¨Ã¤£¬O²Å¦X©x¤èªº³]©w©Î§A +·Q¦Û¤v«ü©w¤@Ó¸ô®|¡C</para> + <para>¥H ftp.tw.freebsd.org i386 ªº current pakcages ¬°¨Ò¡G</para> + <screen>&prompt.root; <userinput>setenv PACKAGESITE ftp://ftp.tw.freebsd.org/pub/FreeBSD/ports/i386/packages-current/Latest/</userinput></screen> + + <para>¨âºØ¤è¦¡¿ï¾Ü¨ä¤¤¤@ºØ¬Ò¥i¡A±µ¤U¨Óªº¨BÆJ³£¤@¼Ë¡C</para> + <para>©¹«án¦w¸Ë packages ªº®ÉÔ¡A¦p portupgrade ªº¸Ü¡A«h¡G</para> + <screen>&prompt.root; <userinput>pkg_add -r portupgrade</userinput></screen> + + <para>«h¨t²Î·|¦Û°Ê©ó ftp.tw.freebsd.org §ì¨ú©Ò¦³»P portupgrade ¬Û¨Ìªº packages ¨Ã¦w¸Ë¡C</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="make-index"> + <para>¦p¦ó§ó·s INDEX ¹ï·Óªí¡H</para> + </question> + + <answer> + <para>4.x ªº INDEX ¦ì©ó <filename>/usr/ports/INDEX</filename>¡A5.x ¦ì©ó <filename>/usr/ports/INDEX-5</filename>¡A¥H¦¹Ãþ±À¡C</para> + <para>INDEX ¬O¹ï·Ó ports ©Ò¦³¬Û¨Ìµ¥¸ê°Tªº¹ï·Óªí¡AYªø´Á¥¼§ó·sªº¸Ü¡A·|¾ÉP ports ¹ï·Ó¥¢±Ñ¡C +©x¤è¦³©w´Á§ó·s INDEX¡A¦pªG·Q¦Û¦æ§ó·sªº¸Ü¡A«h¡G</para> + <screen>&prompt.root; <userinput>cd /usr/ports</userinput></screen> + <screen>&prompt.root; <userinput>make index</userinput></screen> + + <para>¦pªG·Qª½±µ¤U¸ü©x¤è³Ì·sªº INDEX¡A«h¡G</para> + <screen>&prompt.root; <userinput>cd /usr/ports</userinput></screen> + <screen>&prompt.root; <userinput>make fetchindex</userinput></screen> + </answer> + </qandaentry> + + <qandaentry> + <question id="make-readmes"> + <para>¦p¦ó§ó·s INDEX HTML¡H</para> + </question> + + <answer> + <para>FreeBSD ´£¨Ñ¤F¥Îºô¶ªº¤è¦¡¨ÓÆ[¬Ý ports collection¡A§Y¥i¨Ï¥Î lynx, w3m, links ©Î¨ä¥¦¥iÂsÄýºô¶ªºµ{¦¡¨Ó¬d¾\¡C»s§@¥þ³¡ ports collection ªº¤è¦¡¦p¤U¡G</para> + <screen>&prompt.root; <userinput>cd /usr/ports</userinput></screen> + <screen>&prompt.root; <userinput>make readmes</userinput></screen> + + <para>¦pªG¬O¶È¶·n°µ¥Ø«e¥Ø¿ý¤Uªº¸ê°T¡A©Î³æ¤@§ó·s¬Y¤@¤ÀÃþ¤Uªº¸ê°T¡A¦p /usr/ports/ftp ªº¸Ü¡A«h¡G</para> + <screen>&prompt.root; <userinput>cd /usr/ports/ftp</userinput></screen> + <screen>&prompt.root; <userinput>make readme</userinput></screen> + <para>«h¶È·|§ó·s /usr/ports/ftp ³oӥؿýªº¸ê°T¡A¨ä¤W»P¨ä¤Uªº¥Ø¿ý¬Ò¤£·|§ó°Ê¨ì¡C°õ¦æ¦¨¥\«á¡A·|¦b¬Û¹ïÀ³ªº¥Ø¿ý¤U²£¥Í README.html ªºÀɮסC</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="sup-refuse"> + <para>¦p¦ó°w¹ï¬Y¨Ç ports ¤£°µ ports update¡H</para> + </question> + + <answer> + <para>Y ports ©³¤Uªº¬Y¨Ç¤ÀÃþ§¹¥þ¥Î¤£¨ì¡A«h¥i¥H¦b ports update ®É¡A¤£°µ§ó·s¡A¥H¸`¬Ùºô¸ôÀW¼e»P®É¶¡¡C¥unקï <filename>/usr/sup/refuse</filename> ³oÓÀÉ¡C</para> + <screen>&prompt.root; <userinput>ports/french</userinput></screen> + <screen>&prompt.root; <userinput>ports/german</userinput></screen> + <screen>&prompt.root; <userinput>ports/lang/perl5.8</userinput></screen> + <para>«h¤W¦C¥Ø¿ý±N¤£·|§ó·s¡C</para> + </answer> + </qandaentry> + + <qandaentry> + <question id="deinstall-vs-pkg-delete"> + <para>make deinstall »P pkg_delete ¦³¤°»ò¤£¦P¡H</para> + </question> + + <answer> + <para>²³æ¨Ó»¡¡Amake deinstall ·|²¾°£¸Ó port¡A¨Ã¥B¤£·|°Ñ·Ó¨ä¬Û¨Ìªº¬ÛÃö®M¥ó¡C</para> + <para>pkg_delete ¦b²¾°£¸Ó port «e¡A·|°Ñ·Ó¨ä¬Û¨Ìªº¬ÛÃö®M¥ó¡A¨Ã¥B pkg_delete ¦³¤ä´© wild card ¡A¦pn²¾°£©Ò¦³ p ¶}ÀYªº ports¡A«h¡G</para> + <screen>&prompt.root; <userinput>cd /var/db/pkg</userinput></screen> + <screen>&prompt.root; <userinput>pkg_delete p*</userinput></screen> + + <para>nª`·Nªº¬O¡A¦pªG¨Ï¥Î make deinstall¡A«h³Ì¦n½T©w¨t²Î¥Ø«e©Ò¦w¸Ëªºª©¥»¡A»P ports collection ¤¤Åã¥Üªºª©¥»²Å¦X¡A§_«h¦³¥i¯à·|¥X²{«D¹w´Á©Ê¿ù»~¡F¦Ó pkg_delete ¬O¦]¬°ª½±µ +§R°£¨t²Î¤¤©Ò¦w¸Ëªºª©¥»¡A©Ò¥H¨S¦³¦¹°ÝÃD¡C</para> + <para>¦]¦¹¡A´«¥y¸Ü»¡¡A·í¨t²Î©Ò¦w¸Ëªºª©¥»²Å¦X ports collections ¤¤ªºª©¥»¡A«h¥i¥H¨Ï¥Î make deinstall ©Î pkg_delete¡A§_«hªº¸Ü³Ì¦n¥Î pkg_delete¡C</para> + </answer> + </qandaentry> + + </qandaset> + </chapter> + + &bibliography; +</book> |