Ϊ FreeBSD Ìṩ°ïÖú

$FreeBSD: doc/zh_CN.GB2312/articles/contributing/article.sgml,v 1.6 2010/02/12 23:30:05 delphij Exp $

FreeBSD ÊÇ FreeBSD»ù½ð»áµÄ×¢²áÉ̱ê

IEEE, POSIX, ºÍ 802 ÊÇ Institute of Electrical and Electronics Engineers, Inc. ÔÚÃÀ¹úµÄ×¢²áÉ̱ꡣ

Ðí¶àÖÆÔìÉ̺;­ÏúÉÌʹÓÃһЩ³ÆÎªÉ̱êµÄͼ°¸»òÎÄ×ÖÉè¼ÆÀ´ÕÃÏÔ×Ô¼ºµÄ²úÆ·¡£ ±¾ÎĵµÖгöÏֵģ¬ Ϊ FreeBSD Project ËùÖªÏþµÄÉ̱꣬ºóÃæ½«ÒÔ '"' »ò '®' ·ûºÅÀ´±ê×¢¡£

¡¡¡¡ÎÞÂÛÊÇ×÷Ϊ¸öÈË»¹ÊÇ×éÖ¯»ú¹¹£¬Èç¹ûÄúÏ£ÍûΪFreeBSDÏîÄ¿Ìṩ°ïÖú£¬ ¶¼¿ÉÒÔÔÚ±¾ÎÄÖÐÕÒµ½ºÏÊʵķ½·¨¡£


Ŀ¼
1 ÎÒÃǵÄÐèÇó
2 ÈçºÎÌṩ°ïÖú

¡¡¡¡ÄúÏ£Íû¸ø FreeBSD ÏîÄ¿×öµãʲôÂ𣿠̫ºÃÁË£¬ ÎÒÃÇ»¶Ó­Äú¡£ FreeBSD ÕýÊÇ ÒÀ¿¿ ¹ã´óÓû§µÄ¹±ÏײŵÃÒÔ·¢Õ¹×³´óµÄ¡£ ÎÒÃDz»½ö·Ç³£¸ÐлÄúËù×öµÄ¹±Ï×£¬¶øÇÒ£¬ÕâЩ¹¤×÷¶ÔÓÚ FreeBSD µÄ³ÖÐø·¢Õ¹Ò²ÖÁ¹ØÖØÒª¡£

¡¡¡¡Ò²ÐíÓëÄúÏëÏóµÄ²»Í¬£¬ Äú¼È²»±ØÊÇÒ»Ãû³öÉ«µÄ³ÌÐòÔ±£¬ Ò²ÎÞÐëºÍ FreeBSD ºËÐÄÍŶӳÉÔ±ÓкܺõÄ˽½»£¬ ÎÒÃÇ»áÒ»ÊÓͬÈʵĶԴýÄúµÄ¹¤×÷¡£ FreeBSD µÄ¿ª·¢ÈËÔ±±é²¼È«Çò£¬ ´ó¼Ò¼¼Êõר³¤¸÷Ò죬 ÄêÁä·Ö²¼Ò²·Ç³£¹ã·º¡£ ÿÌ죬 ÎÒÃǶ¼ÔÚÃæ¶Ô³ÖÐøÔö³¤µÄ¹¤×÷¶ø¿àÓÚûÓÐ×ã¹»µÄÈËÊÖ£¬ Òò´ËÎÒÃÇËæÊ±»¶Ó­ÄúµÄ°ïÖú¡£

¡¡¡¡FreeBSD ÏîÄ¿´¦ÀíµÄÊÇÒ»¸öÍêÕûµÄ²Ù×÷ϵͳ»·¾³£¬ ¶ø²»Ö»ÊÇÒ»¸öÄں˻òÊÇһЩÁãÉ¢µÄ¹¤¾ß°ü¡£ Òò´Ë£¬ ÎÒÃÇµÄ TODO ÈÎÎñÁбíÀï°üº¬¸÷ÖÖ¸÷ÑùµÄ¹¤×÷£¬ ´ÓÎĵµ¡¢Óû§²âÊÔ¡¢ÑÝʾ£¬ µ½ÏµÍ³°²×°³ÌÐòºÍ¸ß¶ÈרҵµÄÄں˿ª·¢¡£ Òò´ËÎÞÂÛÄúµÄ¼¼ÊõˮƽÈçºÎ£¬ ´ÓʺÎÖÖÁìÓò£¬ ¶¼¿ÉÒÔ°ïÖúÕâ¸öÏîÄ¿¡£

¡¡¡¡ÎÒÃǹÄÀø´ÓÊÂºÍ FreeBSD Ïà¹Ø¹¤×÷µÄÆóÒµºÍÎÒÃÇÁªÏµ¡£ ÄúÐèÒªÒ»Ð©ÌØÊâµÄÀ©Õ¹À´Ê¹ÄúµÄ²úÆ·ÔËתÆðÀ´Ã´£¿ Äú»á·¢ÏÖÎÒÃǺÜÀÖÒâ´ðÓ¦ÄúµÄÇëÇó£¬ ³ý·ÇÊÇÌØ±ðÏ¡Ææ¹Å¹ÖµÄ¡£ ÄúÊÇ·ñÕý´ÓÊÂÏà¹ØµÄÔöÖµÒµÎñ£¿ ÈÃÎÒÃÇÀ´°ïÖúÄú°É£¬ ÎÒÃÇÒ²Ðí¿ÉÒÔÔÚÆäÖеÄijЩ·½ÃæÏ໥Э×÷¡£ ×ÔÓÉÈí¼þÊÀ½çÕýÔÚŬÁ¦´òÆÆ¾ÉÓеĹØÓÚÈí¼þ¿ª·¢¡¢ ÏúÊÛºÍά»¤µÄ¿ò¿ò£¬ ÎÒÃÇÏ£Íû¿ÒÇëÄúÖÁÉÙÄܸøËüÒ»´Î»ú»á¡£


1 ÎÒÃǵÄÐèÇó

¡¡¡¡ÏÂÃæÁгöÁËһЩÐèÒªÍê³ÉµÄÈÎÎñºÍ×ÓÏîÄ¿£¬ ËüÃÇ»ù±¾ÉÏ¿ÉÒÔ±»µÈͬÓÚ TODO(ÈÎÎñÁбí) ÁÐ±í£¬ ÒÔ¼°Óû§µÄÒªÇó¡£


1.1 ÕýÔÚ½øÐÐÖеķǿª·¢ÈÎÎñ

¡¡¡¡ºÜ¶à²Î¼ÓFreeBSDÏîÄ¿µÄÈ˲»ÊdzÌÐòÔ±¡£ Õâ¸öÏîÄ¿ÀïÓÐÎĵµ×«Ð´Õß¡¢ ÍøÒ³Éè¼ÆÊ¦¡¢ ÒÔ¼°¼¼ÊõÖ§³ÖÈËÔ±¡£ ¶ÔÓÚÕâЩ־ԸÕßÀ´Ëµ£¬ ËûÃÇÖ»ÐèÒª¹±Ï×һЩʱ¼ä£¬ ²¢ÇÒ¾ßÓÐѧϰµÄÒâÔ¸¡£

  1. Äú¿ÉÒÔ¾­³£Í¨¶ÁFAQºÍÊֲᣬ Èç¹ûÄú·¢ÏÖÁË·±ËöµÄ½âÊÍ£¬ »òÕßÊǹýʱµÄ֪ʶ£¬ ÉõÖÁÍêÈ«²»ÕýÈ·µÄµØ·½£¬ ¶¼Çë¸æËßÎÒÃÇ¡£ Èç¹ûÄúÄÜ˳ÊÖ°ÑËûÃǸĹýÀ´ÄǾ͸üºÃÁË (SGMLÆäʵ²¢²»ÄÑѧ£¬ µ«ÎÒÃÇÒ²²»·´¶ÔÄúÖ±½ÓÌá½» ASCII µÄ°æ±¾)¡£

  2. °ïÖúÎÒÃÇ°Ñ FreeBSD Îĵµ·­Òë³ÉÄúµÄĸÓï¡£ Èç¹ûÄúµÄĸÓï°æ±¾ÒѾ­´æÔÚÁË£¬ ÄúÒ²¿ÉÒÔ·­ÒëһЩÆäËûµÄÎĵµ»òÕß¼ì²éÄÇЩÒÑÓеÄÎĵµÊÇ·ñÊÇ×îиüйýµÄ¡£ Äú¿ÉÒÔÏȼòµ¥¿´¿´ FreeBSD Îĵµ¼Æ»®ÖÐÓÐ¹Ø ·­ÒëµÄ³£¼ûÎÊÌâ¡£ ²Î¼Ó·­Ò빤×÷²¢²»ÊÇ˵ÄúÒª¹Â¾ü·ÜÕ½·­ÒëËùÓÐµÄ FreeBSD Îĵµ¡£ ×÷Ϊһ¸öÖ¾Ô¸Õߣ¬ ×ö¶àÉÙ¹¤×÷Íêȫȡ¾öÓÚÄúµÄÒâÔ¸¡£ Ò»µ©Ä³¸öÈË¿ªÊ¼·­ÒëÁË£¬ ÆäËûÈ˼¸ºõÒ»¶¨»á²ÎÓëµ½ÕâЩ¹¤×÷ÖÐÀ´¡£ Èç¹ûÄúÖ»ÓÐÓÐÏÞµÄʱ¼ä»òÕß¾«Á¦È¥·­Ò벿·ÖÎĵµ£¬ Äú¿ÉÒÔÊ×ÏÈÈ¥·­Òë°²×°Ö¸ÄÏ¡£

  3. ÔĶÁ FreeBSD Ò»°ãÎÊÌâÓʼþÁÐ±í ²¢Å¼¶û¿´Ò»¿´ the comp.unix.bsd.freebsd.misc newsgroup (ÉõÖÁÓйæÂɵØÕâÑù×ö)¡£ Óë±ðÈË·ÖÏíÄúµÄרҵ֪ʶ£¬ ²¢°ïÖúËûÃǽâ¾öÎÊÌâÊÇÒ»¼þÁîÈËÓäÔõÄÊÂÇ飻 ÓÐЩʱºòÄúÉõÖÁ¿ÉÒÔÔÚÕâ¸ö¹ý³ÌÖÐѧµ½Ò»Ð©Ð¶«Î÷£¡ ÕâЩÂÛ̳ÓÐʱҲ»áΪÄúÌṩһЩÓмÛÖµµÄÖ÷Òâ¡£


1.2 ÕýÔÚ½øÐеĿª·¢ÈÎÎñ

¡¡¡¡ÁÐÔÚÕâÀïµÄ´ó²¿·ÖÈÎÎñ¶¼ÐèÒªÄúͶÈë¿É¹ÛµÄʱ¼ä£¬ »òÕßÐèÒªÄúÔÚ FreeBSD Äں˷½ÃæÓзḻµÄ֪ʶ£¬ »òÕßÁ½Õß¶¼Òª¡£ µ±È»ÕâÀïÒ²ÓкܶàÖØÒªµÄÈÎÎñÒ²ÐíÄúÒ»¸ö ¡°ÖÜÄ©¿ª·¢ÈËÔ±¡± ¾Í¿ÉÒÔ¸ÉÍê¡£

  1. Èç¹ûÄúÕýÔÚÔËÐÐ FreeBSD-CURRENT °æ±¾²¢ÇÒÓÐÒ»Ìõ¸ßËÙµÄ Internet½ÓÈëÏß·£¬ Äú¿ÉÒÔ·ÃÎÊ current.FreeBSD.org£¬ ÕâÀïÿÌì»áÓÐÒ»¸öа汾 ©¤©¤ Èç¹ûÄúÓпգ¬ Äú¿ÉÒÔ¸ôÈý²íÎ嵨ÏÂÔØÒ»·Ý²¢ÇÒ°²×°Ëü£¬ Æä¼äÈç¹û³öÁËʲôÎÊÌ⣬Çë¸æËßÎÒÃÇ¡£

  2. ÔĶÁ FreeBSD ÎÊÌⱨ¸æÓʼþÁÐ±í¡£ Äú¿ÉÄÜ»áΪÕâЩÎÊÌâÌṩ¾ßÓн¨ÉèÐÔÒâÒåµÄÆÀÂÛ£¬ »òÕß°ïæ²âÊÔһЩ²¹¶¡¡£ ´ËÍ⣬ ÄúÉõÖÁ¿ÉÒÔ³¢ÊÔÐÞÕýÆäÖеÄһЩÎÊÌâ¡£

  3. Èç¹ûÄúÖªµÀÓÐһЩÐÞÕýÒѾ­ÔÚ -CURRENT Éϳɹ¦µØ½øÐУ¬ µ«ÔÚ¾­¹ýÒ»¶Îʱ¼äÖ®ºóÈÔȻûÓкϲ¢µ½ -STABLE (ͨ³£ÊÇ 2ÖÜ×óÓÒ)£¬ ¸øÏà¹ØµÄ committer ·¢Ò»·âÀñòµÄÌáʾÐÅ¡£

  4. ½«µÚÈý·½Èí¼þ¼ÓÈëµ½Ô´´úÂëÖÐµÄ src/contrib Ŀ¼¡£

  5. È·±£ src/contrib ÖеĴúÂëÊÇ×îеÄ

  6. ÒÔ¸ü¸ßµÄ¾¯¸æ¼¶±ð¹¹½¨Ô´´úÂë (»òÒ»²¿·ÖÔ´´úÂë) ²¢ÇåÀíÕâЩ¾¯¸æ¡£

  7. ¸üÐÂÄÇЩÔÚ ports ÖÐʹÓùýʱµÄ¶«Î÷£¬ ÀýÈç gets() »ò°üº¬ malloc.h Ëù²úÉúµÄ¾¯¸æ¡£

  8. Èç¹ûÄúÖÆ×÷ÁË ports£¬ ²¢½øÐÐÁËһЩÕë¶Ô FreeBSD µÄ¸Ä¶¯£¬ ½«ÄúµÄ²¹¶¡·¢»Ø¸øÔ­×÷Õß (ÕâÑùÏ´ÎÉý¼¶Ê±ÄúµÄ¹¤×÷»á±äµÃÇáËÉһЩ)¡£

  9. »ñȡһ·ÝÕýʽµÄ±ê×¼£¬ Èç POSIX® µÄ¸±±¾¡£ Äú¿ÉÒÔÔÚ FreeBSD C99 & POSIX ±ê׼˳ӦÏîÄ¿ ÍøÕ¾Éϵõ½Ïà¹ØµÄÁ´½Ó¡£ ½« FreeBSD µÄÐÐΪͬ±ê×¼½øÐбȽϡ£ Èç¹ûÓë±ê×¼²»Í¬£¬ ÌØ±ðÊÇÄÇЩϸ½ÚµØ·½µÄ΢С²îÒ죬 Çë·¢ËÍÒ»¸ö¹ØÓÚËüµÄ PR (ÎÊÌⱨ¸æ)¡£ Èç¹û¿ÉÄÜ£¬ ÇëÖ¸³öÈçºÎÐÞÕýËü£¬ ²¢Ëæ PR Ìá½»²¹¶¡¡£ Èç¹ûÄúÈÏΪ±ê×¼ÓÐÎÊÌ⣬ ÇëÏò±ê×¼»¯ÍÅÌåÒªÇó¶ÔÆä½øÐÐÖØÐµĿ¼ÂÇ¡£

  10. ΪÕâ·ÝÁÐ±í½¨Òé¸ü¶àµÄÄÚÈÝ£¡


1.3 ²é¿´Õû¸ö PR Êý¾Ý¿â

¡¡¡¡FreeBSD PR Áбí չʾÁËËùÓе±Ç°´¦ÓÚ»îԾ״̬µÄÎÊÌⱨ¸æ£¬ ÒÔ¼°ÓÉ FreeBSD Óû§Ìá½»µÄ¸Ä½ø½¨Òé¡£ PR Êý¾Ý¿âͬʱ°üÀ¨ÁË¿ª·¢ÈËÔ±ºÍ·Ç¿ª·¢ÈËÔ±µÄÈÎÎñ¡£ ²é¿´ÄÇЩÉÐδ½â¾öµÄ PR£¬ ²¢¿´¿´ÊÇ·ñÓÐÄú¸ÐÐËȤµÄÈÎÎñ¡£ ÕâÆäÖпÉÄÜÓÐһЩÊǷdz£¼òµ¥µÄÎÊÌ⣬ Ö»ÐèÒª¿´Ò»¿´²¢È·ÈÏ PR ÊÇÕýÈ·µÄ¡£ ÁíÍâһЩ¿ÉÄÜ»á·Ç³£¸´ÔÓ£¬ »òÕßÍêȫûÓаüÀ¨ÈκÎÐÞÕý¡£

¡¡¡¡Ê×ÏÈ¿´Ò»¿´ÄÇЩ»¹Ã»ÓÐÈ˽ÓÊÖµÄ PR¡£ Èç¹û PR ÒѾ­·ÖÅ䏸ÁËÆäËüÈË£¬ µ«¿´ÆðÀ´ÊÇÄúÄܹ»´¦ÀíµÄ£¬ Äú¿ÉÒÔ¸øÄǸöÈË·¢ÐÅ£¬ ²¢Ñ¯ÎÊÄúÊÇ·ñ¿ÉÒÔÌṩ°ïÖú ©¤©¤ ËûÃÇ¿ÉÄÜÒѾ­ÓÐÁ˿ɹ©²âÊԵIJ¹¶¡£¬ »òÓÐһЩ¿É¹©ÌÖÂÛµÄÒâ¼û¡£


1.4 ´Ó ¡°µã×Ó¡± ÍøÒ³ÉÏÈÏÁìÏîÄ¿

¡¡¡¡FreeBSD Ö¾Ô¸ÕßÏîÄ¿ºÍµã×ÓÇåµ¥ Ò²ÊÇÌṩ¸øÔ¸ÒâΪ FreeBSD ÏîÄ¿×ö³ö¹±Ï×µÄÈËÃǵġ£ ÕâÕÅÇåµ¥Ò»Ö±ÔÚ±»¶¨ÆÚ¸üÐÂ×Å£¬ °üº¬Á˶ԳÌÐòÔ±ºÍ·Ç³ÌÐòÔ±ÓÐÓõÄÿ¸öÏîÄ¿µÄÐÅÏ¢¡£


2 ÈçºÎÌṩ°ïÖú

¡¡¡¡°ïÖú¸Ä½øÏµÍ³»ù±¾ÉÏ¿ÉÒÔ·ÖΪ 5 Àࣺ


2.1 ´íÎ󱨸æºÍÒ»°ãµÄ×¢½â

¡¡¡¡Í¨³££¬ Ò»°ãÒâÒåÉ쵀 ¼¼ÊõÏë·¨ºÍ½¨ÒéÓ¦¸Ã·¢µ½ FreeBSD ¼¼ÊõÌÖÂÛÓʼþÁÐ±í¡£ ͬÑùµØ£¬ ¶ÔÓÚÕâЩ¶«Î÷ÓÐÐËȤµÄÈË (µ±È»£¬ ËûÃÇͬʱ»¹ÒªÄܹ»ÈÝÈÌ ´óÁ¿µÄ Óʼþ£¡) ¿ÉÒÔ¿¼ÂǶ©ÔÄ FreeBSD ¼¼ÊõÌÖÂÛÓʼþÁÐ±í¡£ ²Î¼û FreeBSD ʹÓÃÊÖ²á ÒÔÁË½â¹ØÓÚÕâ¸öÓʼþÁÐ±í£¬ ÒÔ¼°ÆäËüÓʼþÁбíµÄÏêϸÇé¿ö¡£

¡¡¡¡Èç¹ûÄú·¢ÏÖÁË bug »òÕßÏëÒªÌύijЩÐ޸ģ¬ Çëͨ¹ý send-pr(1) ³ÌÐò»òʹÓà »ùÓÚ WEB µÄÌá½»Ò³Ãæ À´Ìá½»¡£ ÇëÊÔ×ÅÌîд bug ±¨¸æµÄÿһÏî¡£ Ò»°ãÀ´Ëµ£¬ ÎÒÃǽ¨ÒéÔÚ bug ±¨¸æÖÐÖ±½Ó¸½Éϲ¹¶¡£¬ ³ý·ÇËü³¬¹ýÁË 65KB¡£ Èç¹û²¹¶¡¿ÉÒÔÖ±½ÓÓ¦Óõ½Ô´´úÂëÉÏ£¬ Ôò½¨ÒéÄúÔÚ±¨¸æµÄ synopsis Ò»À¸Ð´ÉÏ [PATCH]¡£ ÔÚ¸½´ø²¹¶¡Ê±£¬ Çë ²»Òª ͨ¹ý¸´ÖƺÍÕ³ÌùÀ´½øÐУ¬ ÒòΪÕâÑù×ö»á°Ñ tab ±ä³É¿Õ¸ñ£¬ ½á¹û²¹¶¡ºÜ¿ÉÄܾͲ»ÄÜÓÃÁË¡£ Èç¹û²¹¶¡³¬¹ý 20KB ºÜ¶à£¬ Ó¦¿¼Âǽ«ÆäѹËõ (ÀýÈçʹÓà gzip(1) »ò bzip2(1)) Ö®ºóÓà uuencode(1) ½øÐбàÂëÖ®ºóÔٷŽøÄúµÄÎÊÌⱨ¸æÖС£

¡¡¡¡Ò»µ©±¨¸æ±»´æµµ£¬ Äú»áÊÕµ½Ò»·âÈ·ÈÏÓʼþÒÔ¼°Ò»¸öʼþ×·×Ù±àºÅ¡£ Çë±£ÁôÕâ¸ö±àºÅ£¬ ÒòΪÄú¿ÉÒÔÔÚÖ®ºóʹÓÃÕâ¸ö±àºÅ£¬ ·¢Óʼþµ½ À´Ìṩ¹ØÓÚ¸ÃʼþµÄ½øÒ»²½ÐÅÏ¢¡£ ÄúÐèÒª×öµÄÊǽ«±àºÅ·Åµ½ÓʼþµÄ±êÌâÖУ¬ ÀýÈç "Re: kern/3377"¡£ ¹ØÓÚͬһÎÊÌâ¸ü½øÒ»²½µÄÇé¿öÓ¦¸Ãͨ¹ýÕâÖÖ·½Ê½À´Ìá½»¡£

¡¡¡¡Èç¹ûÄúÔÚÒ»¶Îʱ¼äÖ®ºóÈÔȻûÓÐÊÕµ½È·ÈÏÐÅ (³¬¹ý 3 ÌìÉõÖÁ 1 ÖÜ£¬ ÕâÈ¡¾öÓÚÄúµÄÓʼþ·þÎñ) »òÕßÓÉÓÚijÖÖÔ­ÒòÎÞ·¨Ê¹Óà send-pr(1) ÃüÁ Ôò¿ÉÒÔ·¢ÐŸø FreeBSD ÎÊÌⱨ¸æÓʼþÁбí ÒªÇó±ðÈË´úÄú·¢ËÍËü¡£

¡¡¡¡Çë²Î¼û ÕâÆªÎÄÕ Á˽âÈçºÎ׫дºÃµÄÎÊÌⱨ¸æ¡£


2.2 ¶ÔÓÚÎĵµµÄÐÞ¶©

¡¡¡¡¶ÔÓÚÎĵµµÄÐÞ¸ÄÓÉ FreeBSD Îĵµ¼Æ»®ÓʼþÁбí À´Éó²é¡£ Çë²Î¼û FreeBSD Îĵµ¼Æ»®³õ¼¶¶Á±¾ À´»ñµÃÍêÕûµÄÖ¸µ¼¡£ Çë°´ÕÕ µÚ 2.1 ½Ú ÖнéÉܵķ½·¨Ê¹Óà send-pr(1) À´·¢ËÍеÄÎĵµ»òÕß¶ÔÓÚÏÖÓÐÎĵµµÄÍêÉÆ (ÄÄÅÂÊǺÜСµÄ¸Ä½øÒ²ÊÇ»¶Ó­µÄ£¡)¡£


2.3 ¶ÔÓÚÏÖÓÐÔ´´úÂëµÄÐÞ¸Ä

¡¡¡¡ÔÚÏÖÓдúÂëÉϽøÐÐÐ޸ĻòÔö¼Ó¹¦ÄÜÔÚijÖ̶ֳÈÉÏÊÇÐèÒª¸ü¶à¼¼ÇɵÄÊÂÇ飬 ²¢ÇÒ»¹ºÍÄú¶ÔÓÚĿǰ FreeBSD µÄ¿ª·¢ÏÖ×´µÄÁ˽âÓйء£ ÓжàÖÖ·½Ê½¿ÉÒԵõ½±»³Æ×÷ ¡°FreeBSD-CURRENT¡± µÄ FreeBSD ¿ª·¢°æ±¾£¬ Äú¿ÉÒÔͨ¹ýËüÀ´Á˽â×î½üµÄ¿ª·¢Çé¿ö¡£ Çë²Î¼û FreeBSD ʹÓÃÊÖ²á À´Á˽âʹÓà FreeBSD-CURRENT µÄ½øÒ»²½ÏêÇé¡£

¡¡¡¡ÔھɵĴúÂëÉϽøÐÐÐ޸ģ¬ Ôòͨ³£¿ÉÄÜÓÉÓÚ´úÂëÒѾ­¹ýʱ£¬ »òÓëеĿª·¢°æ±¾²îÒìÌ«´ó¶øÎÞ·¨±»ÖØÐ¼¯³Éµ½ FreeBSD ÖС£ Èç¹ûÄú¶©ÔÄÁË FreeBSD ¹«¸æÓʼþÁбí ÒÔ¼° FreeBSD-CURRENT ÓʼþÁбí ÓʼþÁÐ±í£¬ Ôò¿ÉÒÔͨ¹ýËüÃÇÀ´´óÌåÁ˽âĿǰµÄ¿ª·¢×´Ì¬¡£

¡¡¡¡¼ÙÈç˵ÄúÄܹ»»ùÓÚ¾¡¿ÉÄÜеĴúÂëÀ´Íê³ÉÄúµÄÐ޸ģ¬ ÔòÏÂÒ»²½Òª×öµÄÊÂÇé¾ÍÊÇÉú³ÉÄúËù½øÐеÄÐ޸ĵIJîÒìÎļþ£¬ ²¢½«Ëü·¢¸ø FreeBSD µÄά»¤ÈËÔ±¡£ ÕâÏ×÷¿ÉÒÔͨ¹ý diff(1) ÃüÁîÀ´Íê³É¡£

¡¡¡¡Ìá½»²¹¶¡Ê±ÍƼöµÄ diff(1) ¸ñʽÊÇÒ»Ö²îÒì (unified diff)£¬ Ëü¿ÉÒÔͨ¹ý diff -u À´Éú³É¡£ ²»¹ý£¬ Èç¹ûÄúÐÞ¸ÄÁË´óÁ¿µÄ´úÂ룬 ÔòʹÓà diff -c À´Éú³ÉµÄÉÏÏÂÎĸñʽ (context diff) µÄ²îÒì¿ÉÄܸüÈÝÒ×ÔĶÁ£¬ Òò¶øÍƼöʹÓá£

¡¡¡¡ÀýÈ磺

% diff -c oldfile newfile

¡¡¡¡»òÕß

% diff -c -r olddir newdir

¡¡¡¡½«·Ö±ðÉú³É¸ø¶¨Îļþ»òĿ¼½á¹¹µÄ context diff¡£

¡¡¡¡ÀàËÆµØ£¬

% diff -u oldfile newfile

¡¡¡¡»ò

% diff -u -r olddir newdir

¡¡¡¡µÄ×÷ÓÃÓëÇ°ÃæµÄÀàËÆ£¬ µ«²ÉÓõĸñʽÊÇ unified diff¡£

¡¡¡¡Çë²Î¼û diff(1) Áª»úÊÖ²áÁ˽â¸ü¶àϸ½Ú¡£

¡¡¡¡Ò»µ©ÄúʹÓà diff(1) Éú³ÉÁ˲îÒ켯 (¿ÉÒÔʹÓà patch(1) ÃüÁîÀ´²âÊÔÒ»ÏÂ)£¬ ¾Í¿ÉÒÔÌá½»ËüÃÇ£¬ ÒԱ㱻 FreeBSD ÊÕ¼¡£ ͨ¹ýʹÓà µÚ 2.1 ½Ú ÖÐËù½éÉÜµÄ send-pr(1) ³ÌÐò¾Í¿ÉÒÔÍê³ÉÕâÏ×÷¡£ ²»Òª Ö»ÊǰѲîÒ켯·¢µ½ FreeBSD ¼¼ÊõÌÖÂÛÓʼþÁÐ±í£¬ ·ñÔòËüÃÇ¿ÉÄܻᱻ¶ªµô£¡ ÎÒÃÇ»á·Ç³£¸Ð¼¤ÄúÌá½»µÄÐÞ¸Ä (ÕâÊÇÒ»¸öÖ¾Ô¸ÕßÏîÄ¿£¡)£» ÒòΪÎÒÃǶ¼ºÜ棬 Òò´ËÓÐʱ²»Ò»¶¨Äܹ»Á¢¼´ÐÞÕýÎÊÌ⣬ µ« PR Êý¾Ý¿â½«Ò»Ö±±£³Ö×ÅÕâЩ¼Ç¼£¬ Òò´ËÖ»ÒªÓÐÈËÓÐÁËʱ¼äËüÃǾÍÄܱ»¸ÄÕýÁË¡£ Èç¹ûÄúµÄÎÊÌⱨ¸æÖаüÀ¨²¹¶¡£¬ Ò»¶¨²»ÒªÍüÁËÔÚ±êÌâÉÏÓà [PATCH] À´Ç¿µ÷һϡ£

¡¡¡¡Èç¹ûÄúÈÏΪºÏÊÊ (ÀýÈçÄúÌí¼Ó¡¢ ɾ³ý»òÖØÃüÃûÁËÎļþ)£¬ »¹¿ÉÒÔ¿¼ÂÇʹÓà tar À´½«Îļþ´ò°ü£¬ È»ºóÓà uuencode(1) À´±àÂë¡£ ÎÒÃÇÒ²»¶Ó­Óà shar(1) ´´½¨µÄ°ü¡£

¡¡¡¡Èç¹ûÄúµÄÐ޸ĿÉÄÜ´æÔÚDZÔÚµÄÕùÒ飬 ÀýÈ磬 Äú²»È·¶¨ÓëÖ®Ïà¹ØµÄ°æÈ¨ÎÊÌ⣬ »òÕ߸оõÐèÒª¾­¹ý¸üÑϸñµÄ¸´Éó²Å¿ÉÒÔ·¢²¼ËüÃÇ£¬ ÔòÓ¦Ö±½Ó·¢¸ø FreeBSD ºËÐÄÍŶӣ¬ ¶ø²»ÊÇͨ¹ý send-pr(1) À´·¢ËÍ¡£ FreeBSD ºËÐÄÍÅ¶Ó ÊÇÒ»¸öС×飬 Æä³ÉÔ±¸ü¶àµÄ´ÓÊ FreeBSD µÄÈÕ³£¹¤×÷¡£ ÐèҪעÒâµÄÊÇ£¬ Õâ¸öС×éÒ²Òò´Ë ºÜ棬 Òò´ËÖ»ÓÐÔڷdz£±ØÒªµÄʱºò²ÅÓ¦¸øËûÃÇдÐÅ¡£

¡¡¡¡Çë²Î¿¼ intro(9) ºÍ style(9) ÒÔÁË½â¹ØÓÚ±àÂëϰ¹ßºÍÔ¼¶¨µÄÏêÇé¡£ Èç¹ûÄúÁ˽âÕâЩԼ¶¨£¬ Ôò¶ÔÎÒÃÇÀ´Ëµ½«ÊǼ«´óµÄ°ïÖú¡£


2.4 дúÂë»òÖØÒªµÄÔöÖµÈí¼þ°ü

¡¡¡¡Èç¹ûÄú´òËãÌṩ¹æÄ£½Ï´óµÄ´úÂ룬 »òÕßΪ FreeBSD Ôö¼ÓÖØÒªµÄй¦ÄÜ£¬ Ôò¿ÉÄܱØÐ뽫ËüÃÇͨ¹ý uuencode ½øÐбàÂ룬 »ò´«µ½Ä³¸ö Web »ò FTP Õ¾µã£¬ ÒÔ±ã¸ü¶àµÄÈËÄܹ»µÃµ½Ëü¡£ Èç¹ûÄúûÓÐÕâÑùµÄ·þÎñÆ÷£¬ Çëµ½Ïà¹ØµÄ FreeBSD ÓʼþÁбíÌá³ö£¬ ¿´¿´ÊÇ·ñÓÐÈËÔ¸Òâ°ïÄú·ÅÖÃËüÃÇ¡£

¡¡¡¡¶ÔÓÚ´óÁ¿µÄ´úÂë¶øÑÔ£¬ ¹ØÓÚ°æÈ¨µÄÎÊÌâ¿Ï¶¨»á±»Ìá³ö¡£ FreeBSD »ù±¾ÏµÍ³ÖÐÄܹ»Ê¹ÓõİæÈ¨ÉùÃ÷°üÀ¨£º

  1. BSD °æÈ¨¡£ ÎÒÃÇÇãÏòÓÚʹÓÃÕâÀàÊÚȨµÄ´úÂ룬 ÒòΪËü ¡°²»¸½¼Ó¶àÓàµÄÌõ¼þ¡±£¬ Òò¶ø¸üÄܹ»ÎüÒýÉÌÒµÆóҵʹÓᣠFreeBSD ²¢²»·´¶ÔÉÌÒµ¹«Ë¾Ê¹ÓÃËüµÄ´úÂ룬 Ïà·´£¬ ÎÒÃÇ»ý¼«µØ¹ÄÀøÉÌÒµ¹«Ë¾Ê¹ÓÃÎÒÃǵĴúÂ룬 µ±È»£¬ Èç¹ûËüÃÇ×îÖÕ°ÑÒ»²¿·Ö´úÂëÖØÐ¾èÔù¸ø FreeBSD ¾Í¸üºÃÁË¡£

  2. GNU General Public License£¬ »ò¼ò³Æ ¡°GPL¡±¡£ ÎÒÃDz¢²»ºÜ»¶Ó­Ê¹ÓÃÕâÑùÊÚȨµÄ´úÂ룬 ÒòΪÉÌÒµ¹«Ë¾Ê¹ÓÃËüÐèÒª×ö¸ü¶àµÄ¹¤×÷¡£ ²»¹ý£¬ ÓÉÓںܶàʹÓà GPL ÊÚȨµÄ´úÂëĿǰÊÇÎÞ·¨±ÜÃâµÄ (±àÒëÆ÷¡¢ »ã±àÆ÷£¬ Îı¾ÅŰæ³ÌÐòµÈµÈ)£¬ ¾Ü¾øÊ¹ÓÃËùÓвÉÓÃÕâÑùÊÚȨµÄÈí¼þÊǺܲ»Ã÷Öǵġ£ ²ÉÓà GPL ÊÚȨµÄ´úÂë»á±»·Åµ½Ô´´úÂëµÄһЩרÃŵÄλÖ㬠ÀýÈç /sys/gnu »ò /usr/src/gnu£¬ ÒÔ·½±ãÄÇЩʹÓà GPL ´úÂë¿ÉÄÜ»á¸øËûÃÇ´øÀ´ÎÊÌâµÄÈËʶ±ð¡£

¡¡¡¡Ê¹ÓÃÆäËüÊÚȨµÄ´úÂëÔÚ½øÈë FreeBSD ֮ǰ±ØÐë¾­¹ýÉ÷ÖØµÄ¸´ÉóºÍ¿¼ÂÇ¡£ ²ÉÓðüº¬ÑÏÀ÷ÏÞÖÆµÄÉÌÒµÊÚȨµÄ´úÂ룬 Ò»°ãÀ´Ëµ»á±»¾Ü¾ø£¬ µ«ÎÒÃǹÄÀøÕâЩ´úÂëµÄ×÷Õßͨ¹ý×Ô¼ºµÄÇþµÀÀ´·¢²¼ËüÃÇ¡£

¡¡¡¡ÒªÔÚÄúµÄ³É¹ûÉϼÓÈë ¡°BSDʽµÄ¡± °æÈ¨£¬ Çë°ÑÏÂÁÐÎı¾·Åµ½Ã¿Ò»¸öÔ´ÎļþµÄ×ʼ²¿·Ö£¬ ²¢ÓÃÊʵ±µÄÎÄ×ÖÌæ»» %% Ö®¼äµÄÎÄ×Ö¡£

Copyright (c) %%proper_years_here%%
        %%your_name_here%%, %%your_state%%  %%your_zip%%.  
        All rights reserved.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
1. Redistributions of source code must retain the above copyright
   notice, this list of conditions and the following disclaimer as
   the first lines of this file unmodified.
2. Redistributions in binary form must reproduce the above copyright
   notice, this list of conditions and the following disclaimer in the
   documentation and/or other materials provided with the distribution.

THIS SOFTWARE IS PROVIDED BY %%your_name_here%% ``AS IS'' AND ANY EXPRESS OR
IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
IN NO EVENT SHALL %%your_name_here%% BE LIABLE FOR ANY DIRECT, INDIRECT,
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

        $Id$

¡¡¡¡ÎªÁË·½±ãÄúµÄʹÓ㬠ÔÚ /usr/share/examples/etc/bsd-style-copyright Ò²¿ÉÒÔÕÒµ½´ËÊÚȨµÄ¸±±¾¡£


2.5 ×ʽ𡢠Ӳ¼þ»ò Internet ½ÓÈë

¡¡¡¡ÎÒÃǷdz£Ô¸Òâ½ÓÊܸ÷ÖÖÐÎʽµÄ¾èÔù£¬ ÒÔ½øÒ»²½ÍØÕ¹ FreeBSD Project µÄÊÂÒµ£¬ ÒòΪÓÐÄúµÄÖ§³Ö£¬ ÏñÎÒÃÇÕâÑùµÄÖ¾Ô¸ÕßŬÁ¦²ÅÄܹ»Óиü´óµÄ³É¾Í£¡ ¾èÔùÓ²¼þÒ²·Ç³£ÖØÒª£¬ ÒòΪÕâÑùÄܹ»°ïÖúÎÒÃÇÔö¼Ó¿ÉÒÔÖ§³ÖµÄÓ²¼þÖÖÀ࣬ ¶øÎÒÃÇÖеĺܶàÈ˲¢Ã»ÓÐ×ã¹»µÄ×ʽðÀ´¹ºÖÃÕâЩӲ¼þ¡£


2.5.1 ¾è¿î

¡¡¡¡FreeBSD »ù½ð»áÊÇÒ»¸ö·ÇÓªÀûµÄ¡¢ ÓпÎ˰»íÃâȨµÄ»ù½ð»á£¬ ½¨Á¢Õâ¸ö»ù½ð»áµÄÄ¿±êÊÇΪÁËÈà FreeBSD Project Äܹ»´ï³É¸ü¼Ó³¤Ô¶µÄÄ¿±ê¡£ ×÷Ϊ 501(c)3 ʵÌ壬 Ò»°ã¶øÑÔ»ù½ð»á¿ÉÒÔÃâÓèÉϽÉÃÀ¹úÁª°îÊÕÈë˰£¬ ÒÔ¼°¿ÆÂÞÀ­¶àÖÝÊÕÈë˰¡£ ͨ³£¶ÔÓÚ¿Î˰»íÃâµÄʵÌå½øÐоèÔù£¬ ¿ÉÒÔÕÛµÖÁª°îÊÕÈëÖÐÓ¦¿Î˰²¿·ÖµÄ½ð¶î¡£

¡¡¡¡Äú¿ÉÒÔ°Ñ֧Ʊ¼ÄÍù£º

    The FreeBSD Foundation
    7321 Brockway Dr.
    BoulderCO 80303
    USA
  

¡¡¡¡FreeBSD »ù½ð»áÏÖÔÚ¿ÉÒÔͨ¹ý PayPal ´ÓÍøÉϽÓÊܾè¿î¡£ Èç¹ûÄúÏëÏò»ù½ð»á¾è¿î£¬ Çë·ÃÎÊËüµÄ web Õ¾µã¡£

¡¡¡¡¹ØÓÚ FreeBSD »ù½ð»áµÄ¸ü¶àÏêÇ飬 ¿ÉÒÔÔÚ FreeBSD »ù½ð»á -- ½éÉÜ ÕÒµ½¡£ ÒªÁªÂç»ù½ð»á£¬ Çë·¢Ë͵ç×ÓÓʼþµ½ ¡£


2.5.2 ¾èÔùÓ²¼þ

¡¡¡¡FreeBSD ¼Æ»®»¶Ó­ÈκÎÈ˾èÔù¿ÉÒÔʹÓõÄÓ²¼þ¡£ Èç¹ûÄúÓÐÐËȤ¾èÔùÓ²¼þ£¬ ÇëÁªÏµ ¾èÔùÁªÂçÈ˰칫ÊÒ¡£


2.5.3 ¾èÔù Internet ½ÓÈë

¡¡¡¡ÎÒÃÇ»¶Ó­Ð嵀 FTP¡¢ WWW »ò cvsup ¾µÏñ¡£ Èç¹ûÄúÏ£Íû³ÉΪÕâÑùµÄ¾µÏñ£¬ Çë²Î¼û ÈçºÎ¼ÜÉè FreeBSD ¾µÏñ Ò»ÎÄ£¬ ÒÔÁË½â½øÒ»²½µÄÇé¿ö¡£


±¾ÎĵµºÍÆäËüÎĵµ¿É´ÓÕâÀïÏÂÔØ£ºftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.

Èç¹û¶ÔÓÚFreeBSDÓÐÎÊÌ⣬ÇëÏÈÔĶÁÎĵµ£¬Èç²»Äܽâ¾öÔÙÁªÏµ<questions@FreeBSD.org>.
¹ØÓÚ±¾ÎĵµµÄÎÊÌâÇë·¢ÐÅÁªÏµ <doc@FreeBSD.org>.