[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: 关于 qref.sf.net 的中文翻译



debian.sgml 翻译结束。
其中 aptitude 还有部分没有翻译,等待 aptitude 的翻译更新之后再补上。
还是修改了原来翻译中中英问直接没有空格的情况,这样看上去更加舒服。
完成的 debian.sgml 在附件中,请大家一起来校验一下。


在 05-7-14,肖盛 文 (Faris Xiao)<atzlinux@163.com> 写道:
> Debian 参考手册的中文版翻译目前还有一些工作可以做。
> 
> 我想加入进来。
> 
> 从手册附录中得知,是你们两位大虾在参与维护。
> 
> 中文版翻译
>       * 刘浩(LYOO) iamlyoo@163.net (leader: zh-cn)
>       * Ming Hua minghua@rice.edu
> 
> 
> 我现在已经在 sf.net 上申请了账号:atzlinux
> 
> 发现一个问题:
> Debian Reference Contributor's Guide 中的
> 1.3. Encoding of text data
> --------------------------
> 
>      Use traditional encodings.  _No UTF-8 files allowed!!!_
> 
>           language encoding
>           en       en_US.ISO-8859-1
>           es       es_ES.ISO-8859-1
>           fi       fi_FI.ISO-8859-1
>           fr       fr_FR.ISO-8859-1
>           de       de_DE.ISO-8859-1
>           it       it_IT.ISO-8859-1
>           pl       pl_PL.ISO-8859-2
>           pt-br    pt_BR.ISO-8859-1
>           zh-cn    zh_CN GB?
>           zh-tw    zh_TW BIG5
>           ja       ja_JP.eucJP
> 
> 感觉中文的 encoding 应该是GB18030,对吗?
> 
> 我为manual.sgml生成了一个patch,如果是正确的话,请帮忙提交,谢谢!
> 
> 肖盛文
> Faris Xiao
> 
> 
>
<!-- CVS revision of this document "$Revision: 1.4 $"  -->
<!-- CVS revision of original english document "1.124"  -->

<chapt id="package">Debian Èí¼þ°ü¹ÜÀí

<p>
¸ß¼¶°ü¹ÜÀí¹¤¾ß <prgn>aptitude</prgn> ÊÇÄ¿Ç°Ê×Ñ¡µÄ×Ö·û½çÃæµÄAPTÇ°¶Ë³ÌÐò¡£ Ëü»á¼ÇסÄÄЩ°üÊÇÄã°²×°µÄ£¬ÄÄЩÊÇΪÁËÂú×ãÒÀÀµ¹Øϵ¶ø°²×°µÄ£»ÔÚ²»±»ÒÑ°²×°°üÐèÒªµÄÇé¿öÏÂ<prgn>aptitude</prgn> »á×Ô¶¯Ð¶ÔغóÕß¡£ËüÄÚ½¨Ò»Ì׸߼¶µÄ°ü¹ýÂËÆ÷£¬µ«ÊDZȽÏÄÑÉÏÊÖ¡£
<p>
<prgn>synaptic</prgn> ÊÇÄ¿Ç°Ê×Ñ¡µÄ»ùÓÚ GTK µÄͼÐλ¯ APT Ç°¶Ë³ÌÐò¡£ËüµÄ°ü¹ýÂËÆ÷±È <prgn>aptitude</prgn> µÄºÃÓöàÁË¡£Ëü°üº¬ÁË¶Ô <url id="&debtags;" name="Debian Package Tags"> µÄʵÑéÐÔÖ§³Ö¡£
<p>
ΪÁ˼õÉÙ &deian; ²Ö¿âµÄÍøÂ縺µ£ºÍ¼Ó¿ìÄãÏÂÔصÄËٶȣ¬ÄãÓ¦¸Ã´Ó &debian; ¾µÏñÏÂÔØ¡£
<p>
Èç¹ûÄãÐèÒªÔÚÄã±¾µØÍøÂçµÄÐí¶ą̀»úÆ÷ÉÏ°²×°ÏàͬµÄ°ü¡£ÔÚʹÓà APT ÏÂÔØ°üµÄʱºò£¬Ç뿼ÂÇʹÓà <prgn>squid</prgn> À´ÉèÖñ¾µØ HTTP´úÀí¡£±ØÒªµÄ»°£¬¿ÉÒÔÉèÖû·¾³±äÁ¿ <tt>http_proxy</tt> »òÕßÔÚ <file>/etc/apt/apt.conf</file> ÀïÃæÉèÖà <tt>http</tt> µÄÖµ¡£
<p>
¾¡¹Ü <manref name="apt_preferences" section="5"> ÖÐÃèÊöµÄ APT µÄ pinning ¹¦Äܷdz£Ç¿´ó£¬µ«Ôì³ÉµÄÓ°ÏìÊÇÄÑÒÔ²ì¾õºÍ¹ÜÀíµÄ¡£ÄãÓ¦¸Ã°ÑËü×÷Ϊһ¸ö¸ß¼¶¹¦ÄÜÀ´¿´´ý¡£
<p>
<![%f-ref;[
ÔÚ <ref id="chroot"> ÖÐÃèÊöµÄʹÓ÷½·¨·Ç³£ÊʺÏÓÚ
]]>
<![%q-ref;[
chrootµÄʹÓ÷½·¨ÊʺÏÓÚ
]]>
ÐèҪͬʱȷ±£ÏµÍ³µÄÎȶ¨ÐÔºÍʹÓÃ×îÐÂÈí¼þµÄÇé¿ö¡£
<p>
±¾Õ½ÚÊÇ»ùÓÚ Woody Ö®ºóµÄϵͳдµÄ£¬Ä³Ð©¶«Î÷Ö»ÊʺÏÓÚ Sarge »ò¸üеÄϵͳ¡£

<sect id="pkg-intro">½éÉÜ
<p>
Èç¹ûÄãûÓо«Á¦ÔĶÁÍêËùÓеĿª·¢ÕßÎĵµ£¬ÄÇôÏÈ¿´¿´±¾ÕµÄÄÚÈÝ£¬È»ºó¿ªÊ¼ÌåÑé Debian <tt>testing</tt>/<tt>unstable</tt> µÄÍþÁ¦°É:-)

<sect1>Ö÷ÒªµÄ°ü¹ÜÀí¹¤¾ß
<p>
<example>
dpkg      &ndash; &debian; °ü°²×°¹¤¾ß
apt-get   &ndash; APT µÄÃüÁîÐÐÇ°¶Ë
aptitude  &ndash; APT µÄ¸ß¼¶µÄ×Ö·ûºÍÃüÁîÐÐÇ°¶Ë
synaptic  &ndash; ͼÐνçÃæµÄ APT Ç°¶Ë
dselect   &ndash; ʹÓò˵¥½çÃæµÄ°ü¹ÜÀí¹¤¾ß
tasksel   &ndash; Task °²×°¹¤¾ß
</example>
ÕâЩ¹¤¾ß²»ÊÇÓÃÀ´È¡´ú¶Ô·½µÄ£¬±ÈÈç <prgn>dselect</prgn> ͬʱʹÓà APT ºÍ <prgn>dpkg</prgn> ¡£
<p>
APT ʹÓà <file>/var/lib/apt/lists/*</file> À´¸ú×Ù¿ÉÓõÄÈí¼þ°ü£¬¶ø <prgn>dpkg</prgn> ʹÓõÄÊÇ <file>/var/lib/dpkg/available</file>¡£Èç¹ûÄãʹÓÃÁË <prgn>aptitude</prgn> »òÕßÆäËû APT Ç°¶ËÀ´°²×°Èí¼þ°ü£¬Í¬Ê±ÄãÏ£ÍûʹÓà <prgn>dselect</prgn> À´°²×°Èí¼þ°ü£¬Çë²»ÒªÍü¼ÇʹÓà <prgn>dselect</prgn> ²Ëµ¥É쵀 <tt>[U]pdate</tt>(»òÕßÔËÐÐ"<tt>dselect update</tt>") À´¸üР<file>/var/lib/dpkg/available</file>¡£
<p>
ÔÚ´¦ÀíÒÀÀµ¹ØϵÉÏ <prgn>apt-get</prgn> »á×Ô¶¯ÏÂÔØ°²×°ÒÀÀµµÄÈí¼þ°ü£¬µ«ÊDz»»á´¦Àí°²×°¸ÃÈí¼þ½¨Òé»áÍƼöµÄÈí¼þ°ü¡£
<p>
Ïà·´ <prgn>aptitude</prgn> ¿ÉÒÔÉèÖóɰ²×°Ëù°²×°Èí¼þÍƼöµÄ»òÕß½¨ÒéµÄÈí¼þ°ü¡£
<p>
<prgn>dselect</prgn> ¸øʹÓÃÕßÁгöËù°²×°Èí¼þÍƼö»ò½¨ÒéµÄÈí¼þ°ü£¬¿ÉÒÔ½øÐе¥¶ÀÑ¡Ôñ¡£ 
<![%f-ref;[
²ÎÔÄ <ref id="depends">.
]]>
</sect1>

<sect1>·½±ãµÄ¹¤¾ß
<p>
<example>
dpkg-reconfigure  - ÖØÐÂÅäÖÃÒÑ°²×°µÄÈí¼þ°ü
		£¨Èç¹ûËüÊÇʹÓà debconf ½øÐÐÅäÖõģ©
dpkg-source       - ¹ÜÀíÔ´Âë°ü
dpkg-buildpackage - ×Ô¶¯Éú³É°üÎļþ
apt-cache         - ÔÚ±¾µØ»º³åÇø¼ì²é°üÎļþ
</example>
</sect1>
</sect>

<sect id="apt-install">&debian; Èí¼þ°ü¹ÜÀí»ù´¡
<p>

<sect1 id="setup-apt">ÉèÖÃ APT
<p>
²Î¿¼<ref id="testing-transition">À´ÉèÖà <file>sources.list</file>¡£
<footnote>
Èç¹»ÄãʹÓà <tt>testing</tt> »òÕß <tt>unstable</tt>£¬Äú¿ÉÒÔÒƳý <file>/etc/apt/sources.list</file> ºÍ <file>/etc/apt/preferences</file> ÖеÄ<tt>stable</tt>¡£ÒòΪ <tt>testing</tt> ×î³õ¿½±´×Ô <tt>stable</tt>¡£
</footnote>

<![%f-ref;[
Çë²Î¿¼
<ref id="install">, <ref id="woody">, and <ref id="bin-editor">.
]]>

<sect1 id="tasksel">°²×° tasks
<p>
Äã¿ÉÒÔ°²×°Ò»Ð©Èí¼þ°ü¼¯ºÏ£¬ÕâЩ¼¯ºÏÊÇÓÉʹ &debian; ϵͳÂú×ãijЩÌض¨ÓÃ;µÄµäÐÍÈí¼þ°ü×é³ÉµÄ¡£
ÕâЩ¼¯ºÏ±»³ÆΪ ¡°tasks¡±¡£
<p>
ÔÚ³õʼ»¯°²×°ÖУ¬°²×° tasks ×î¼òµ¥µÄ·½·¨¾ÖÊÆʹÓà <prgn>tasksel</prgn>¡£
×¢ÒâÔÚʹÓÃ֮ǰ£¬ÄãÐèÒªÔËÐÐ <example>dselect update</example>¡£
<p>
½¨ÒéʹÓà <prgn>aptitude</prgn> À´°²×° tasks¡£
ËüÄÜÈÃÄãÔÚÑ¡ÔñºÃ tasks ²¢×¼±¸°²×°Ö®Ç°£¬É¾³ý tasks ÖеÄijЩÈí¼þ°ü¡£
</sect1>

<sect1 id="aptitude"><prgn>aptitude</prgn>
<p>
<prgn>aptitude</prgn> ÊÇȫеĿɲ˵¥²Ù×÷µÄ°ü°²×°¹¤¾ß£¬ºÍ<prgn>dselect</prgn> ÀàËÆ£¬µ«ÊÇÊÇÕë¶Ô ATP ´ÓÍ·Éè¼ÆµÄ¡£´Ó´ó¶àÊý²ÎÊýÀ´½²£¬<prgn>aptitude</prgn> ÍêÈ«¿ÉÒÔ×÷Ϊ <prgn>apt-get</prgn> µÄÒ»¸ö¼æÈݵĴúÌæÆ·¡£
²ÎÔÄ <manref name="aptitude" section="1"> ºÍ <file>&f-aptitude-readme;</file>.
<p>
Ò»µ©¿ªÊ¼Ê¹Óà <prgn>aptitude</prgn>£¬Äã×îºÃ¼ÌÐøʹÓÃËü£¬¶ø²»ÊÇÑ¡ÔñÆäËûÌæ´ú¹¤¾ß¡£·ñÔòÄ㽫ʧȥ <prgn>aptitude</prgn> °ü´æµÄÈí¼þ°²×°Çåµ¥£¬Äã¾Í²»ÄÜÏíÊÜ×Ô¶¯É¾³ý¶àÓàÈí¼þ°üµÄ¹¦ÄÜÁË¡£
<p>
È«ÆÁ״̬Ï <prgn>aptitude</prgn> ½ÓÊܵ¥¼üµÄÃüÁ´ó¶àÊýÊÇСдµÄ¡£Ö÷ÒªµÄ¼¸¸ö¹¦ÄܼüÈçÏ£º
<example>
°´¼ü	    ¶¯×÷
F10         ²Ëµ¥
?           °´¼üÃüÁî°ïÖú£¨ÍêÕûµÄÇåµ¥£©
u           ¸üÐÂÈí¼þ°üÐÅÏ¢Update package archive information
+           Mark the package to be upgraded or newly installed
-           Mark the package to be removed (keep config)
_           Mark the package to be purged (remove config)
=           Place the package on hold
U           Mark all upgradable packages to be upgraded
g           Download and install selected packages
q           Quit current screen and save changes
x           Quit current screen and discard changes
Enter       View information about a package
C           View a package's changelog
l           Change the limit for the displayed packages
/           Search for the first match
\           Repeat the last search
</example>
ºÍ <prgn>apt-get</prgn> Ò»Ñù£¬ <prgn>aptitude</prgn> °²×°Èí¼þ°üµÄʱºò×Ô¶¯½â¾öÒÀÀµÎÊÌâ¡£
<prgn>aptitude</prgn> »¹ÄÜ°²×°¼´½«°²×°µÄÈí¼þ°üÍƼö»òÕß½¨ÒéµÄÈí¼þ°ü¡£Äãͨ¹ý <tt>F10 -> Options -> Dependency handling</tt> Ôڲ˵¥Éϸü¸ÄÕâһĬÈÏÉèÖᣠ
<p>
<prgn>aptitude</prgn> µÄÆäËûÌصãÈçÏ£º
<list compact>
<item><prgn>aptitude</prgn> ÄÜ·ÃÎÊËùÓа汾µÄÈí¼þ°ü¡£
<item><prgn>aptitude</prgn> µÄ¶¯×÷¼Ç¼ÔÚ <file>&f-aptitude-log;</file>¡£
<item><prgn>aptitude</prgn> ÄÜÇáËɵÄ×·×ٳ¾ɵĺͱ¾µØ½¨Á¢µÄÈí¼þ°ü£¬²¢ÔÚ ¡°Obsolete and Locally Created Packages¡± ÉÏÁгö¡£
<item><prgn>aptitude</prgn> ÄÚ½¨Ç¿´óµÄ°üËÑË÷ºÍÏÔʾ¹¦ÄÜ¡£ÊìϤ <prgn>mutt</prgn> µÄÓû§ºÜÈÝÒ×ÉÏÊÖ£¬ÒòΪÕâ¸öÏÔʾ·½·¨µÄÁé¸ÐÀ´Ô´ÓÚ mutt¡£
²ÎÔÄ <file>&f-aptitude-readme;</file> ÖÐµÄ ¡°SEARCHING, LIMITING, AND EXPRESSIONS¡±
<item><prgn>aptitude</prgn> ÔÚÈ«ÆÁ״̬ÏÂÓÐǶÈëµÄ <prgn>su</prgn> ¹¦ÄÜ¡£ÆÕͨÓû§¶¼¿ÉÒÔÖ´ÐУ¬Ö±µ½°²×°»òɾ³ýÈí¼þµÄʱºòÔÙÈ¡µÃ¹ÜÀíԱȨÏÞ¡£
</list>
</sect1>

<sect1 id="dselect"><prgn>dselect</prgn>
<p>
´Ó stable ·¢Ðе½ÏÖÔÚΪֹ£¨°üº¬ Potato£©£¬<prgn>dselect</prgn> Ò»Ö±ÊÇÖ÷ÒªµÄ°üά»¤¹¤¾ß¡£¶ÔÓÚ Sarge £¬Äã¿ÉÒÔ¿¼ÂÇÓà <prgn>aptitude</prgn> ´úÌæ¡£
<p>
µ±ÄãÆô¶¯³ÌÐòµÄʱºò£¬ <prgn>dselect</prgn> »á×Ô¶¯Ñ¡ÔñËùÓÐ ¡°Required¡±
¡°Important¡± ºÍ  ¡°Standard¡± µÄ°ü¡£
<p>
<prgn>dselect</prgn> µÄÓû§½çÃæÊÇÓÐЩÆæ¹Ö£¬µ«ÊǴ󲿷ÖÈËÒѾ­Ï°¹ßÁË¡£
ËüÓÐËĸöÖ÷ÒªÃüÁ
£¨Ö¸ÁÊÇ´óдµÄ£¡£©£º
<example>
°´¼ü	    ¶¯×÷
Q           Í˳ö¡£È·Èϵ±Ç°µÄÑ¡Ôñ²¢Í˳ö¡£ 
            (ºöÂÔÒÀÀµ¹Øϵ)
R           ³·Ïú£¡ ÎÒ²»ÊÇÄǸöÒâ˼¡£
D           Damn it! ÎÒ²»¹ÜÄã dselect ÔõôÏëµÄ£¬ÕÕ×ö¾ÍºÃÁË£¡
U           ¶¼ÕÕ½¨ÒéµÄÀ´×ö
</example>
ʹÓà <tt>D</tt> ºÍ <tt>Q</tt>£¬Äã¿ÉÒÔÑ¡ÔñÓгåÍ»µÄÑ¡Ïî¡£ÇëСÐÄʹÓÃÕâ¸öÃüÁî¡£
<p>
ÔÚ <file>/etc/dpkg/dselect.cfg</file> ÖмÓÉÏÒ»ÐÐ ¡°expert¡± À´¼õÉÙ¸ÉÈÅ¡£.
<p>
Èç¹ûÄãµÄ»úÆ÷ÔËÐÐ <prgn>aptitude</prgn> µÄËٶȺÜÂý£¬Äã¿ÉÒÔ¿¼ÂÇÔÚËٶȿìÒ»µãµÄ»úÆ÷ÉÏÔËÐÐ <prgn>aptitude</prgn>£¬È·¶¨ÄãÒª°²×°µÄÈí¼þ°üÖ®ºó£¬ÔÚÂýµÄ»úÆ÷ÉÏͨ¹ý <prgn>aptitude</prgn> À´°²×°ËüÃÇ¡£
</sect1>

<sect1 id="apt-track">ʹÓà APT À´Î¬»¤·¢Ðа汾ÄØ<p>
Çë±à¼­ <file>/etc/apt/preferences</file> ²¢¼ÓÈëÒ»ÏÂÄÚÈÝÀ´Î¬³ÖϵͳΪ <tt>testing</tt> °æ±¾£º
<example>
Package: *
Pin: release a=testing
Pin-Priority: 800

Package: *
Pin: release a=stable
Pin-Priority: 600
</example>
ҪעÒâµÄÊÇ×·×Ù <tt>testing</tt> °æ±¾¿ÉÄÜ´øÀ´ÑÓÎó°²×°°²È«ÐÔÐÞÕýÈí¼þ°üµÄ¸±×÷Óá£ÒòΪÕâЩÈí¼þ°ü¶¼ÊÇÉÏ´«µ½ <tt>unstable</tt> Ò»¶Îʱ¼äºóÔÙÒÆÖ²µ½ <tt>testing</tt>¡£
<p>
¸ü¶à¸´ÔÓµÄÀý×ÓÇë²Î¿¼ <manref name="apt_preferences" section="5">£¬¿ÉÒÔÈÃÄú×ö¸ü¶àµÄÊÂÇ飬ÀýÈç°²×° <tt>unstable</tt> µÄÈí¼þ°üµÄͬʱ»¹ÄÜ°Ñϵͳά³ÖÔÚ <tt>testing</tt>¡£
<p>
¹ØÓÚÏÞÖÆÌض¨Èí¼þÔÚÌض¨°æ±¾ÉÏ£¬¶øÆäËûÈí¼þËæϵͳÉý¼¶µÄÉèÖÃÔÚ <url id="&examples;" name="examples subdirectory"> ÕÒµ½£¬¼´ <file>preferences.testing</file> ºÍ <file>preferences.unstable</file>¡£
<p>
Èç¹ûÄã»ìÓò»Í¬µÄ·¢Ðа汾£¬ÀýÈç <tt>testing</tt> ºÍ <tt>stable</tt> »ò <tt>unstable</tt> ºÍ <tt>stable</tt>,ÄãÖÕ¾¿»¹ÊǻᰲװÉÏ<tt>testing</tt>»ò<tt>unstale</tt>°æ±¾µÄºËÐÄÈí¼þ£¬ÀýÈç<package>libc6</package>,ÕâÑù×÷ÎÞ·¨È·±£ÏµÍ³ÖÐûÓгô³æ¡£ÄãÐèÒªÌرðСÐÄ¡£
<p>
ÁíÍâÒ»¸öÀý×Ó£¬<file>preferences.stable</file>£¬»áÇ¿Öƽµ¼¶ËùÓеÄÈí¼þµ½<tt>stable</tt>¡£
<p>
&debian; ²»Ö§³Ö½«Ä³¸ö<strong>Èí¼þ°ü</strong>½µ¼¶µ½ÏÈÇ°µÄ·¢Ðа汾¡£È»¶øÔÚеÄÈí¼þ°ü³öÎÊÌâÊÇ£¬Äã»á·¢ÏÖÄã²»µÃ²»°²×°¾ÉµÄ¿ÉÓõÄÈí¼þ°ü¡£Äã¿ÉÒÔÔÚ±¾µØµÄ <file>/var/cache/apt/archives/</file> »òÔ¶¶ËµÄ <url id="&snapshothome;"> ÖÐÕÒµ½ÏÈÇ°µÄ°æ±¾¡£Çë²Î¿¼ <ref id="rescue-dpkg">¡£  
<p>
´Óij¸ö<strong>·¢Ðа汾</strong>½µ¼¶µ½ÏÈÇ°µÄ·¢Ðа汾ҲÊDz»±»Ö§³ÖµÄ£¬¶øÇÒÕâÑù×öÍùÍùÔì³ÉºÜ¶àÎÊÌâ¡£²»¹ýÄãÔ¸ÒâðÏյĻ°£¬×÷Ϊ×îºóµÄÊÖ¶ÎÕâÑù×öÒ²ÊÇÖµµÃµÄ¡£
</sect1>

<sect1 id="apt-commands"><prgn>aptitude</prgn>, <prgn>apt-get</prgn> ºÍ <prgn>apt-cache</prgn> ÃüÁî
<p>
»¹ÊÇÒÔÉÏÃæʹÓà <tt>testing</tt> ·¢ÐаæµÄÓû§ÎªÀý,¿ÉʹÓÃÏÂÁÐÃüÁîÀ´¹Üϵͳ£º
<list>
<item><tt>aptitude upgrade</tt> £¨»ò
      <tt>apt-get upgrade</tt> »ò
      <tt>aptitude dist-upgrade</tt> »ò 
      <tt>apt-get dist-upgrade</tt>£©
 <p>ÕâÑù¾Í»á¸úËæ <tt>testing</tt> °æ±¾ &mdash;
 ËüÃÇ»á¸ú×Ù <tt>testing</tt> °æ±¾µÄ¸üÐÂÇé¿ö£¬¶ÔϵͳÉÏËùÓÐÈí¼þ°ü½øÐÐÉý¼¶£¬²¢´Ó <tt>testing</tt> ´¦ÖØзÖÎöÒÀÀµ¹Øϵ²¢°²×°Ïà¹ØµÄ°ü¡£
<footnote>
<tt>upgrade</tt> ºÍ <tt>dist-upgrade</tt> ½ö½öÔÚеÄÈí¼þ°üÒÀÀµ¹ØϵºÍ¾ÉµÄ²»Í¬Ê±²Å±íÏÖ³ö²»Í¬µÄ´¦Àí·½Ê½¡£Çë²Î¿¼ <manref name="apt-get" section="8"> À´Á˽â¸ü¶àϸ½Ú¡£
<p>
<tt>aptitude upgrade</tt> ºÍ <tt>aptitude dist-upgrade</tt> ÔËÐÐÔÚ
<prgn>aptitude</prgn> µÄÃüÁîÐÐģʽ¡£Í¨¹ý°´¼ü <tt>e</tt> Äã¿ÉÒÔÇл»µ½È«Æ¾Ä£Ê½¡£
</footnote>
<item><tt>apt-get dselect-upgrade</tt>
 <p>Õâ¸öÃüÁî¸ú×Ù <tt>testing</tt> °æ±¾ &mdash;
 ¸ù¾Ý <prgn>dselect</prgn> µÄÑ¡Ôñ¶ÔϵͳÉϵÄÈí¼þ°ü½øÐÐÉý¼¶¡£
<item><tt>aptitude -R -G install <var>package</var></tt> £¨»ò
      <tt>apt-get install <var>package</var></tt>£©
 <p>´Ó <tt>testing</tt> °æ±¾°²×° <var>package</tt> ÒÔ¼°ÒÀÀµµÄ°ü¡£
<item><tt>aptitude -r -G install <var>package</var></tt>
 <p>´Ó <tt>testing</tt> °æ±¾°²×° <var>package</tt> ÒÔ¼°ÒÀÀµºÍÍƼöµÄ°ü¡£
<item><tt>aptitude -r -g install <var>package</var></tt>
 <p>´Ó <tt>testing</tt> °æ±¾°²×° <var>package</tt> ÒÔ¼°ÒÀÀµºÍ½¨ÒéµÄ°ü¡£
<item><tt>aptitude install <var>package</var>/unstable</tt>
 <p>´Ó <tt>unstable</tt> Öа²×° <var>package</tt>£¬²¢ÓÉ <tt>testing</tt> °æ±¾Ìṩ°²×°ÒÀÀµµÄ°ü¡£
<item><tt>aptitude install -t unstable <var>package</var></tt>
 <p>ͨ¹ýÉèÖà <tt>unstable</tt> µÄPin-PriorityΪ990£¬¿ÉÒÔ´Ó <tt>unstable</tt> ´¦°²×° <var>package</var> ¼°ÆäÒÀÀµµÄ°ü¡£
<item><tt>apt-cache policy <var>foo bar ...</var></tt>
 <p>¼ì²é <var>foo bar ...</var> Èí¼þ°üµÄ״̬¡£ 
<item><tt>aptitude show <var>foo bar ...</var> | less</tt>
(»ò <tt>apt-cache show <var>foo bar ...</var> | less</tt>)
 <p>²é¿´ <var>foo bar ...</var> Èí¼þ°üµÄÓйØÐÅÏ¢¡£
<item><tt>aptitude install <var>foo=2.2.4-1</var></tt>
 <p>°²×° <var>foo</var> Èí¼þ°üµÄÌض¨°æ±¾ <var>2.2.4-1</var>¡£ 
<item><tt>aptitude install <var>foo bar-</var></tt>
 <p>°²×° <var>foo</var> Èí¼þ°ü²¢É¾³ý <var>bar</var> Èí¼þ°ü¡£
<item><tt>aptitude remove <var>bar</var></tt>
 <p>ɾ³ý <var>bar</var> Èí¼þ°ü£¬µ«±£ÁôÆäÅäÖÃÎļþ¡£
<item><tt>aptitude purge <var>bar</var></tt>
 <p>ɾ³ý <var>bar</var> Èí¼þ°ü£¬µ«±£ÁôÆäÅäÖÃÎļþ¡£
</list>
ÔÚÉÏÃæµÄÀý×ÓÖÐʹÓà <tt>-u</tt> Ñ¡ÏîµÄ×÷ÓÃÊÇÔÚʵ¼ÊÉý¼¶Ö®Ç°½«ËùÓн«ÒªÉý¼¶µÄÈí¼þ°üÁгö£¬²¢ÌáʾÓû§È·ÈÏ¡£ÏÂÃæµÄ²Ù×÷¿É½« <tt>-u</tt> ÉèÖÃΪĬÈÏÐÐΪ£º
<example>
$ cat &gt;&gt; /etc/apt/apt.conf &lt;&lt; .
// Always show packages to be upgraded (-u)
APT::Get::Show-Upgraded "true";
.
</example>
<p>
ʹÓà <tt>--no-act</tt> ¿É½øÐÐÄ£ÄâÉý¼¶£¬²¢²»ÊǽøÐÐÕæÕýµÄÉý¼¶ÐÐΪ¡£

<sect id="survival">Debian Éú´æÃüÁî
<p>
ÕÆÎÕÁËÕâЩ֪ʶ£¬Äã¾ÍÄܹ«ÏíÊÜÎÞ¾¡µÄ¡°Éý¼¶¡±ÁË :-)

<sect1 id="bug-check">¼ì²â³ÌÐò´íÎóÑ°Çó°ïÖú
<P>
ÈçÄãʹÓÃij¸öÈí¼þ°ü³öÏÖÎÊÌ⣬ÔÚÑ°Çó°ïÖú»ò·¢ËÍ´íÎ󱨸æ֮ǰÇëÈ·Èϲ鿴¹ýÏÂÁÐÕ¾µã
(<prgn>lynx</prgn>, <prgn>links</prgn> ºÍ <prgn>w3m</prgn> ¶¼ºÜºÃÓÃ):
<example>
$ lynx &bugs;
$ lynx &bugs;<var>package-name</var>  # Èç¹ûÄãÖªµÀÈí¼þ°üµÄÃû×Ö
$ lynx &bugs;<var>bugnumber</var>     # Èç¹ûÄãÖªµÀ´íÎóÐòºÅ
</example>
ÔÚ Google£¨www.google.com£©ÖÐʹÓùؼü×Ö¡°site:debian.org¡±ËÑË÷¡£
<p>
ÈçÓÐÒÉÎÊ£¬¿ÉÔĶÁ°ïÖúÎļþ¡£ÉèÖà <tt>CDPATH</tt> ÈçÏ£º
<example>
export CDPATH=.:/usr/local:/usr/share/doc
</example>
È»ºóÊäÈë
<example>
$ cd <var>packagename</var>
$ pager README.Debian # Èç¹û´æÔڵĻ°
$ mc 
</example>
<![%f-ref;[
¸ü¶à¼¼ÊõÖ§³Ö×ÊÔ´ÁÐÔÚ <ref id="support">¡£
]]>
</sect1>

<sect1 id="apt-trouble">APT Éý¼¶´íÎóÒÔ¼°½â¾ö·½·¨
<p>
´Ó <tt>unstable</tt>/<tt>testing</tt> ½øÐÐÉý¼¶Ê±¿ÉÄܳöÏÖ <ref id="upgrade-system"> ÖÐÌáµ½µÄÈí¼þ°ü¹ØÁªÎÊÌâ¡£¶àÊýÇé¿öÏ£¬ÊÇÒòΪÉý¼¶µÄÈí¼þ°üËùÐèµÄÐÂÔöµÄ¹ØÁª°üûÓа²×°¡£¿ÉʹÓÃÈçÏ·½·¨½â¾ö£º
<example>
# aptitude dist-upgrade
</example>
Èç¹ûÕâÕÐÎÞЧ£¬¿ÉÒÔÖظ´ÏÂÃæµÄ·½·¨ÖÁµ½ÎÊÌâ½â¾ö£º
<example>
# aptitude -f upgrade        # ¼´Ê¹Óöµ½´íÎóÒ²¼ÌÐø upgrade
... »ò
# aptitude -f dist-upgrade   # ¼´Ê¹Óöµ½´íÎóÒ²¼ÌÐø dist-upgrade
</example>
<p>
һЩµÄÈ·´æÔÚÎÊÌâµÄÉý¼¶½Å±¾»áÒýÆð³ÖÐø³ö´í¡£×îºÃµÄ½â¾ö·½·¨ÊǼì²é¸ÃÈí¼þ°üµÄ°²×°½Å±¾ <file>/var/lib/dpkg/info/</var>packagename</var>.<var>{post-,pre-}{install,removal}</file> È»ºóÔËÐУº
<example>
# dpkg --configure -a    # ÅäÖÃËùÓа²×°µÄÈí¼þ°ü
</example>
<p>
Èç¹û½Å±¾±¨¸æȱÉÙÅäÖÃÎļþ£¬²é¿´Ò»Ï <file>/etc</file> ÖÐÏà¹ØµÄÅäÖÃÎļþ¡£Èç¹ûÅäÖÃÎļþÓÐ <tt>.dpkg-new</tt> À©Õ¹Ãû£¨»òÆäËüÀàËƵÄÀ©Õ¹Ãû£©£¬È¥µô£¨<prgn>mv</prgn>£©ËüµÄÀ©Õ¹Ãû¡£
<p>
´Óunstable/testing½øÐÐÉý¼¶Ê±¿ÉÄܳöÏÖÈí¼þ°ü¹ØÁªÎÊÌâ¡£¿ÉÓÃÕâ¸ö·½·¨ÖÇÈ¡£º
<example>
# aptitude -f install <var>package</var> # ÖØÔØ»µ¹ØÁª
</example>
<p>
»¹¿ÉÒÔÓÃ<package>equivs</package>°üÀ´½â¾ö´ËÀàÎÊÌâ¡£²ÎÔÄ<file>&f-equivs;</file><![%f-ref;[ and <ref id="equivs">]]>¡£
</sect1>

<sect1 id="rescue-dpkg">ʹÓà <prgn>dpkg</prgn> ¾ÈÖú
<p>
Èç¹ûÄãÔÚʹÓà APT µÄʱºòÓöµ½ËÀºúͬÁË£¬ÄÇô¿ÉÒÔ´Ó &debian; µÄ¾µÏñÕ¾µãÏÂÔØÈí¼þ°ü²¢Ê¹Óà <prgn>dpkg</prgn> À´°²×°¡£Èç¹ûÄã²»ÄÜ·ÃÎÊÍøÂ磬¿ÉÒÔÔÚ <file>/var/cache/apt/archives/</file> ÖÐÕÒµ½±»»º´æµÄÈí¼þ°ü¡£
<example>
# dpkg -i fetchmail_6.2.5-4_i386.deb
</example>
Èç¹ûÄãÓÃÕâÖÖ·½·¨°²×°Èí¼þ°ü£¬µ«ÊÇÓöµ½ÁËÒÀÀµÎÊÌⰲװʧ°ÜÁË£¬²¢ÇÒÄãȷʵÐèÒª°²×°Õâ¸öÈí¼þ°ü¡£Äã¿ÉÒÔÓà <prgn>dpkg</prgn> µÄ <tt>--ignore-depends</tt>£¬<tt>--force-depends</tt> ºÍÆäËû²ÎÊýÀ´°²×°Èí¼þ°ü¡£<manref name="dpkg" section="8"> ÓиüÏêϸµÄ½éÉÜ¡£
</sect1>

<sect1 id="recover-status">»Ö¸´Èí¼þ°üÑ¡Ôñ״̬µÄÊý¾Ý
<p>
Èç¹û <file>/var/lib/dpkg/status</file> ÒòΪijÖÖÔ­Òò»µµôÁË£¬&debian; ϵͳ½«»áÍêÈ«¶ªÊ§Èí¼þ°üÑ¡Ôñ״̬µÄÊý¾Ý¡£¸Ï¿ìµ½ <file>/var/lib/dpkg/status-old</file> »ò <file>/var/backups/dpkg.status.*</file> ÏÂÕÒÕÒ¾ÉµÄ <file>/var/lib/dpkg/status</file> Îļþ¡£
<p>
½«<file>/var/backups/</file>·ÅÔÚÆäËüµÄ·ÖÇøÊǸöºÃÏ°¹ß£¬ÒòΪ¸ÃĿ¼°üº¬ÁËÐí¶à·Ç³£ÖØÒªµÄϵͳÊý¾Ý¡£
<p>
Èç¹û¾ÉµÄ<file>/var/lib/dpkg/status</file>ÎļþÒ²»µÁË£¬ÈÔ¿ÉÒÔ´Ó<file>/usr/share/doc/</file>ϵÄĿ¼½øÐлָ´ÕâЩÐÅÏ¢¡£
<example>
# ls /usr/share/doc | \
  grep -v [A-Z] | \
  grep -v '^texmf$' | \
  grep -v '^debian$' | \
  awk '{print $1 " install"}' | \
  dpkg --set-selections
# dselect --expert # ÖØа²×°ÏµÍ³£¬Èç¹ûÐèÒªµÄ»°È¥³ýһЩѡÏî
</example>

<sect1 id="rescue-var"><file>/var</file> ±ÀÀ£Ö®ºóÈçºÎ»Ö¸´ÏµÍ³
<p>
<file>/var</file> Ŀ¼°üº¬×Ŷ¨Ê±¸üеÄÊý¾ÝÈç mail£¬ËüÃǺÜÈÝÒ×ÔâÆÆ»µ¡£½«Ä¿Â¼·Åµ½±ðµÄ·ÖÇø¿É½µµÍ·çÏÕ£¬Èç¹û×µÄÊÂÇé·¢ÉúÁË£¬¿ÉÒÔͨ¹ýÖؽ¨<file>/var</file>Ŀ¼À´Íì¾È&debian;ϵͳ¡£
<p>
´ÓÏàͬ»ò¾É°æ±¾µÄ×î¼ò &debian; ϵͳÖÐÈ¡µÃ<file>/var</file>Ŀ¼µÄÄÚÈÝ¿ò¼Ü£¬ÀýÈç <url id="&var-tar-gz;" name="var.tar.gz">£¬È»ºóËü·ÅÈëÊÜËðϵͳµÄ root Ŀ¼£¬½Ó×Å
<example>
# cd /
# mv var var-old      # Èç¹ûÀïÃ滹ÓÐÆäËûÓÐÓÃ×ÊÁϵĻ°
# tar xvzf var.tar.gz # ʹÓà Woody ¿ò¼ÜÎļþ
# aptitude            # »òÊÇÓÃ dselect
</example>
ÉÏÊö²½Öè¿Éʹϵͳ»Ö¸´¹¤×÷¡£Ê¹ÓÃ<ref id="recover-status">ÖÐÃèÊöµÄ¼¼Êõ¼ÓËÙÈí¼þ°üÑ¡ÔñÊý¾ÝµÄ»Ö¸´¡£
£¨[FIXME]£º¸Ã¹ý³ÌÐèÒª¸ü¶àµÄʵ¼ùÀ´¼ìÑ飩
</sect1>

<sect1 id="un-bootable">ΪÎÞ·¨Æô¶¯µÄϵͳ°²×°Èí¼þ°ü
<p>
ʹÓà Debian ¼±¾ÈÈíÅÌ/CD »ò´Ó¶àÆô¶¯ Linux ϵͳÆäËü·ÖÇøÆô¶¯¡£
<![%f-ref;[
²ÎÔÄ <ref id="booting">. 
]]>
½«ÎÞ·¨Æô¶¯µÄϵͳ¹ÒÔص½ <file>/target</file> ²¢Ê¹Óà <prgn>dpkg</prgn> µÄ chroot °²×°Ä£Ê½¡£
<example>
# dpkg --root /target -i <var>packagefile.deb</var>
</example>
½ÓÏÂÀ´¾Í¿ÉÒÔ×ÅÊÖÅäÖò¢½â¾öÎÊÌâ¡£
<p>
ÈçÊÇÖ»ÊÇÓÉÓÚ <prgn>lilo</prgn> Ë𻵶øÔìϵͳÎÞ·¨Æô¶¯£¬¿ÉʹÓñê×¼ Debian ¼±¾ÈÅÌÆô¶¯¡£¼ÙÉèÄãµÄ root ·ÖÇøλÓÚ <file>/dev/hda12</file> ÇÒÏëʹÓà runlevel 3£¬ÔÚÆô¶¯Ìáʾ·ûÊäÈ룺
<example>
boot: rescue root=/dev/<var>hda12</var> 3
</example>
ÕâÑù£¬Äã¾Í¿ÉÒÔʹÓÃÈíÅÌÖÐÄÚºËÆô¶¯ÏµÍ³£¬ÐÂϵͳµÄ¹¦ÄÜ»ù±¾ÆëÈ«¡££¨¿ÉÄܶªÊ§Ä³Ð©ÄÚºËÌØÐÔ»òÄ£¿é£©
</sect1>

<sect1>Èç¹û <prgn>dpkg</prgn> ÃüÁî³ö´íÔõô°ì
<p>
Èç¹û <prgn>dpkg</prgn> Ë𻵾Ͳ»ÄÜ°²×°ÈκΠ<tt>.deb</tt> Îļþ¡£ÏÂÃæµÄ²Ù×÷¿É°ïÖúÄãÐÞ¸´ÕâÖÖ×´¿ö¡££¨ÔÚµÚÒ»ÐУ¬Äã¿É½«¡°links¡±Ìæ»»³ÉÄãϲ»¶µÄä¯ÀÀÆ÷¡££©
<example>
$ links http://<var>http.us.debian.org</var>/debian/pool/main/d/dpkg/
  ... ÏÂÔØÍêºÃµÄ dpkg_<var>version</var>_<var>arch</var>.deb
$ su
password: *****
# ar x dpkg_<var>version</var>_<var>arch</var>.deb
# mv data.tar.gz /data.tar.gz
# cd /
# tar xzfv data.tar.gz
</example>
¶Ô <tt>i386</tt>£¬Òà¿ÉÓà <tt>http://packages.debian.org/dpkg</tt> ×÷Ϊ URL¡£
</sect1>

</sect>

<sect id="debian-package">Debian±Øɱ¼¼
<p>
ÓÐÁËÕâЩÃüÁîµÄ<strong>ÆôµÏ</strong>£¬Ä㽫»á´ÓÎÞÐÝÖ¹µÄÉý¼¶³åÍ»µÄµØÓüÖнâ·Å³öÀ´£¬´ïµ½ Debian <strong>ÌìÌÃ</strong>¡£ :-)

<sect1 id="info-file">ÎļþÐÅÏ¢
<p>
ÔÚÒÑ°²×°µÄÈí¼þ°üÖÐÐíÕÒÌض¨ÎļþËùÊôµÄÈí¼þ°ü:
<example>
$ dpkg {-S|--search} pattern
</example>
»òÕßËÑË÷ &debian; archive:
<example>
$ wget http://ftp.us.debian.org/debian/dists/<var>sarge</var>/<var>Contents-i386.gz</var>
$ zgrep -e pattern <var>Contents-i386.gz</var>
</example>
»òÊÇÓÃרÃŵÄÈí¼þ°üÃüÁ
<example>
# aptitude install dlocate  
                 # ºÍ slocate ³åÍ» £¨locate µÄ°²È«°æ±¾£©
$ dlocate <var>filename</var>         # dpkg -L ºÍ dpkg -S µÄ¸ßЧ´úÌæÆ·
...
# aptitude install auto-apt # ÇëÇóʽÈí¼þ°ü°²×°¹¤¾ß
# auto-apt update          # Ϊ auto-apt ½¨Á¢ db Îļþ
$ auto-apt search <var>pattern</var>  
                # ÔÚËùÓÐÈí¼þ±£ÖØËÑË÷ pattern£¬²»ÂÛ°²×°Óë·ñ
</example>
</sect1>

<sect1 id="info-package">Èí¼þ°üÐÅÏ¢
<p>
ËÑË÷²¢ÏÔʾ°üÎļþµÄÐÅÏ¢¡£±à¼­ <file>/etc/apt/sources.list</file>£¬Èà APT Ö¸ÏòÕýÈ·µÄ°üÎļþ¡£Èç¹ûÏëÁ˽â testing/unstable ÖеÄÏàÓ¦Èí¼þ°üÓ뵱ǰϵͳ°²×°µÄÈí¼þ°üÓкβî±ð£¬Ê¹Óà <tt>apt-cache policy</tt> &mdash; ¸üºÃ¡£
<example>
# apt-get   check           # ¸üлº³åÇø²¢¼ì²éË𻵵ÄÈí¼þ°ü
$ apt-cache search  <var>pattern</var> # °´Îı¾ÃèÊöËÑË÷Èí¼þ°ü
$ apt-cache policy  <var>package</var> # Èí¼þ°üµÄ priority/dists ÐÅÏ¢
$ apt-cache show -a <var>package</var> # ÏÔʾËùÓÐ dists ÖÐÈí¼þ°üÃèÊöÐÅÏ¢
$ apt-cache showsrc <var>package</var> # ÏÔʾÏàÓ¦Ô´Âë°üµÄÐÅÏ¢
$ apt-cache showpkg <var>package</var> # Èí¼þ°üµ÷ÊÔÐÅÏ¢
# dpkg  --audit|-C          # ËÑË÷δÍê³É°²×°µÄÈí¼þ°ü
$ dpkg {-s|--status} <var>package</var> ... # ÒÑ°²×°Èí¼þ°üÃèÊö
$ dpkg -l <var>package</var> ...       # ÒÑ°²×°Èí¼þ°üµÄ״̬£¨Ã¿¸öÕ¼Ò»ÐУ©
$ dpkg -L <var>package</var> ...       # ÁгöÈí¼þ°ü°²×°µÄÎļþµÄÃû³Æ
</example>
<!-- Erase this when manual page gets fixed.  FIXME -->
Woody·¢²¼°æûÓÐΪ <tt>apt-cache showsrc</tt> ½¨µµ£¬µ«¸ÃÃüÁî¿ÉÓÃ:)
<p>
ÄãÒ²Õâ¿ÉÕâÑù²é¿´Èí¼þ°üÐÅÏ¢£¨ÎÒÓÃ<tt>mc</tt>ä¯ÀÀ£©£º
<example>
/var/lib/apt/lists/*
/var/lib/dpkg/available
</example>
±È½ÏÏÂÃæµÄÎļþ¿ÉÒÔÈ·ÇÐÁ˽â×î½üµÄ°²×°¹ý³Ì¶ÔϵͳÔì³ÉÁËÄÇЩ¸Ä±ä¡£
<example>
/var/lib/dpkg/status
/var/backups/dpkg.status*
</example>

</sect1>

<sect1 id="apt-get-auto">ʹÓà APT ÎÞÈËÖ´ÊØ°²×°
<p>
ʹÓà APT ÎÞÈËÖ´ÊØ°²×°£¬ÒªÔÚ <file>/etc/apt/apt.conf</file> ÖмÓÉÏÒ»ÐУº
<file>/etc/apt/apt.conf</file>:
<example>
Dpkg::Options {"--force-confold";}
</example>
ÁíÒ»Öֵȼ۵ķ½·¨ÊÇÔËÐÐ <tt>apt-get -q -y <var>packagename</var></tt>¡£ÕâÖÖ·½·¨¿ÉÄܲúÉúÑÏÖصĸº×÷Óã¬ËùÒÔʹÓÃÆðÀ´ÒªÐ¡ÐÄ¡£²ÎÔÄ <manref name="apt.conf" section="5">ºÍ<manref name="dpkg" section="1">¡£
<p>
°²×°Íê±ÏÒԺ󣬿ÉÒÔÓà <ref id="reconfigure"> Öеķ½·¨ÅäÖÃÌض¨µÄÈí¼þ°ü¡£

<sect1 id="reconfigure">ÖØÐÂÅäÖÃÒÑ°²×°µÄÈí¼þ°ü
<p>
ʹÓÃÏÂÁз½·¨ÖØÐÂÅäÖÃÒÑ°²×°µÄÈí¼þ°ü¡£
<example>
# dpkg-reconfigure --priority=<var>medium</var> <var>package</var> [...]
# dpkg-reconfigure --all   # ÖØÐÂÅäÖÃËùÓеÄÈí¼þ°ü
# dpkg-reconfigure locales # Éú³É¶îÍâµÄ locales
# dpkg-reconfigure --p=<var>low</var> xserver-xfree86 # ÖØÐÂÅäÖà X ·þÎñÆ÷
</example>
Èç¹ûÄãÏëÓÀ¾Ã¸Ä±ä <prgn>debconf</prgn> ¶Ô»°¿òģʽ£¬¿ÉÕâô×ö¡£
<p>
ijЩ³ÌÐòÓÃÓÚÉú³ÉÌØÊâµÄÅäÖýű¾¡£
<footnote>
ijЩ <prgn>*config</prgn> ½Å±¾ÔÚ Sarge Ö®ºóµÄ·¢Ðа汾ÀïÃæÏûʧÁË¡£Èí¼þ°üµÄÅäÖù¦ÄÜÒѾ­×ªÏò <prgn>debconf</prgn> ϵͳ¡£ 
</footnote>
<example>
apt-setup     - ´´½¨ /etc/apt/sources.list
install-mbr   - °²×°Ö÷Òýµ¼£¨Master Boot Record£©¹ÜÀíÆ÷
tzconfig      - É趨±¾µØʱ¼ä
gpmconfig     - ÉèÖà gpm Êó±ê daemon
sambaconfig   - ÔÚ Potato ÖÐÅäÖà Samba£¨ Woody ʹÓà debconf À´ÅäÖã©
eximconfig    - ÅäÖÃ Exim (MTA)
texconfig     - ÅäÖÃ teTeX
apacheconfig  - ÅäÖÃ Apache (httpd)
cvsconfig     - ÅäÖÃ CVS
sndconfig     - ÅäÖÃÉùÒôϵͳ
...
update-alternatives - É趨ĬÈÏÆô¶¯ÃüÁÀýÈçÉ趨 vi Æô¶¯ vim
update-rc.d         - System-V init ½Å±¾¹ÜÀí¹¤¾ß
update-menus        - Debian ²Ëµ¥ÏµÍ³
...
</example>
</sect1>

<sect1 id="remove">ɾ³ýºÍÇå³ýÈí¼þ°ü
<p>
ɾ³ýÈí¼þ°üµ«±£ÁôÆäÅäÖÃÎļþ£º
<example>
# aptitude remove <var>package</var> ...
# dpkg   --remove <var>package</var> ...
</example>
ɾ³ýÈí¼þ°ü²¢Çå³ýÅäÖÃÎļþ£º
<example>
# aptitude purge  <var>package</var> ...
# dpkg   --purge  <var>package</var> ...
</example>
</sect1>

<sect1 id="hold">×èÖ¹¾ÉÈí¼þ°üÉý¼¶
<p>
¾Ù¸öÀý×Ó£¬Òª×èÖ¹ <package>libc6</package> ºÍ <package>libc6-dev</package> ͨ¹ý <prgn>dselect</prgn> »òʹÓà <tt>aptitude install <var>package</var></tt> ÃüÁîÉý¼¶£¬¿ÉÖ´ÐУº
<example>
# echo -e "libc6 hold\nlibc6-dev hold" | dpkg --set-selections
</example>
ÕâÖÖ·½·¨²»Ó°Ïì <tt>aptitude install <var>package</var></tt> ÃüÁî²Ù×÷¡£Òª×èÖ¹ <tt>aptitude upgrade
<var>package</var></tt> »ò <tt>aptitude dist-upgrade</tt> ÃüÁî¶ÔÈí¼þ°üÖ´ÐеÄÇ¿ÖÆ×Ô¶¯½µ¼¶ÐÐΪ£¬¿ÉÔÚ <file>/etc/apt/preferences</file> ÖмÓÉÏ£º
<example>
Package: libc6
Pin: release a=stable
Pin-Priority: 2000
</example>
ÕâÀï¡°<tt>Package:</tt>¡±ºó²»ÄÜʹÓÃͨÅä·ûÈç¡°<tt>libc6*</tt>¡±£¬Èç¹ûÒª±£³ÖËùÓÐÓë <package>glibc</package> Ô´Âë°üÏà¹ØµÄ¶þ½øÖÆ°üµÄ°æ±¾Í¬²½£¬¿ÉÒÔÃ÷È·µÄÁгöËüÃÇ¡£
<p>
¸ÃÃüÁî¿ÉÒÔÏÔʾ´¦ÓÚ¡°×èÖ¹¡±×´Ì¬µÄÈí¼þ°ü£º
<example>
dpkg --get-selections "*"|grep -e "hold$"
</example>
</sect1>

<sect1 id="mixedsys"> <tt>stable</tt>/<tt>testing</tt>/<tt>unstable</tt> »ìºÏϵͳ
<p>
<prgn>apt-show-versions</prgn> ¿ÉÒÔÁгö·¢ÐаæÖпÉÓÃÈí¼þ°üµÄ°æ±¾¡£
<example>
$ apt-show-versions | fgrep /testing | wc
... ÄãÓжàÉÙtestingÈí¼þ°ü
$ apt-show-versions -u
... Áгö¿ÉÉý¼¶µÄÈí¼þ°ü
$ aptitude install `apt-show-versions -u -b | fgrep /unstable`
... ½«ËùÓÐunstableÈí¼þ°üÉý¼¶µ½×îа汾
</example>
</sect1>

<sect1 id="cache">ɾ³ý»º´æ°üÎļþ
<p>
ʹÓà APT °²×°Èí¼þ°ü»áÔÚ <file>/var/cache/apt/archives</file> Ŀ¼ÁôÏ»º´æÎļþ£¬ÒªÇå³ýÕâЩÎļþ¿ÉʹÓãº
<example>
# aptitude autoclean # ½öɾ³ýÎÞÓõİü
# aptitude clean     # ɾ³ýËùÓеİü
</example>
</sect1>


<sect1 id="record">¼Ç¼/¿½±´ÏµÍ³ÅäÖÃ
<p>
¶ÔÈí¼þ°üÑ¡ÔñÇé¿ö½øÐб¾µØ±¸·Ý£º
<example>
$ dpkg --get-selections "*" &gt;<var>myselections</var>   # »òʹÓà \*
</example>
<tt>"*"</tt> ʹ <tt><var>myselections</var></tt> °üº¬ÄÇЩ±»Ö¸¶¨¡°Íêȫɾ³ý£¨purge£©¡±µÄÎļþ¡£
<p>
Äã¿É½«Õâ¸öÎļþ·¢Ë͵½Áíһ̨µçÄÔ²¢ÔÚÄǶù°´ÎļþÖеÄÑ¡Ôñ½øÐÐÈí¼þ°ü°²×°¡£
<example>
# dselect update
# dpkg --set-selections &lt;<var>myselections</var>
# apt-get -u dselect-upgrade    # <var>or</var> dselect install
</example>
</sect1>

<sect1 id="port">Ïò <tt>stable</tt> ϵͳÒýÈëÈí¼þ°ü
<p>
¶Ô stable ϵͳ½øÐв¿·ÖÉý¼¶£¬ÔÚÈí¼þÔËÐл·¾³ÖÐÖØбàÒëÔ´ÂëµÄÈ·ÊǸöÓÕÈ˵ÄÏë·¨£¬ÕâÑù¿ÉÒÔ±ÜÃâÓÉÓÚ¹ØÁª¹Øϵ²»µÃ²»¶Ô´óÁ¿Èí¼þ°üÉý¼¶¡£Ê×ÏÈ£¬½«ÏÂÁоµÏñÔ´¼ÓÈë <file>/etc/apt/sources.list</file>£º
<example>
deb-src &http-us;debian testing \
 main contrib non-free
deb-src &http-non-us;debian-non-US testing/non-US \
 main contrib non-free
deb-src &http-us;debian unstable \
 main contrib non-free
deb-src &http-non-us;debian-non-US unstable/non-US \
 main contrib non-free
</example>
ÓÉÓÚÆÁÄ»Êä³öµÄÏÞÖÆ£¬ÉÏÊöÿÌõ <tt>deb-src</tt> ÃüÁî¾ù·Ö³ÉÁË2ÐУ¬Êµ¼ÊÉÏÔÚ <file>sources.list</file> ÖÐËüÃǾùΪµ¥ÐС£
<p>
È»ºóÏÂÔØÔ´Âë²¢ÔÚ±¾µØÉú³ÉÈí¼þ°ü£º
<example>
$ apt-get update  # ¸üÐÂÈí¼þ°üËÑË÷Áбí
$ apt-get source <var>package</var>
$ dpkg-source -x <var>package.dsc</var>
$ cd <var>package-version</var>
  ... ²éÕÒÐèÒªµÄÈí¼þ°ü£¨±àÒëËùÐèµÄ¹ØÁª°üÁÐÔÚ.dscÎļþÖУ©²¢°²×°ËüÃÇ£¬
      Ä㻹ÐèÒª¡°fakerroot¡±Èí¼þ°ü¡£

$ dpkg-buildpackage -rfakeroot 

  ...or (no sig)
$ dpkg-buildpackage -rfakeroot -us -uc # Èç¹ûÐèÒª£¬ÔÙʹÓà ¡°debsign¡±

  ...Then to install
$ su -c "dpkg -i <var>packagefile.deb</var>"
</example>
ͨ³££¬ÐèÒª°²×°Ò»Ð©´ø ¡°-dev¡± ºó׺µÄÈí¼þ°üÒÔÂú×ã¹ØÁª¹Øϵ¡£<prgn>debsign</prgn> ÔÚ <package>devscripts</package> Èí¼þ°üÖС£<prgn>auto-apt</prgn> ¿ÉÒÔÇáËɽâ¾öÕâЩ¹ØÁªÎÊÌâ¡£ÇëʹÓà <prgn>fakeroot</prgn>£¬ÈçÊÇûÓбØÒª£¬¾Í±ðʹÓà root Õʺš£
<p>
ÔÚ Woody ÖУ¬ÕâЩ¹ØÁªÎÊÌâÒѱ»¼ò»¯¡£ÀýÈ磬±àÒë <package>pine</package> Ô´Âë°ü£º
<example>
# apt-get build-dep pine
# apt-get source -b pine
</example>
</sect1>

<sect1 id="local">±¾µØÈí¼þ°üÎļþ
<p>
ΪÁË´´½¨Óë APT ºÍ <prgn>dselect</prgn> ϵͳ¼æÈݵı¾µØÈí¼þ°üÎļþ£¬ÐèÒª´´½¨ <file>Packages</file>£¬°üÖÐÎļþÒª·ÅÔÚÌض¨µÄĿ¼Ê÷ÖС£
<p>
Debian ¹Ù·½°üÎļþϲ»¶´æ·ÅÓÚ±¾µØ deb ²Ö¿â£¬ÏÂÃæ¾ÍÀ´´´½¨²Ö¿â£º
<example>
# aptitude install dpkg-dev
# cd <var>/usr/local</var>
# install -d <var>pool</var> # Èí¼þ°ü´æ·ÅµÄÎïÀíµØÖ·
# install -d dists/<var>unstable</var>/<var>main</var>/binary-<var>i386</var>
# ls -1 <var>pool</var> | sed 's/_.*$/ <var>priority</var> <var>section</var>/' | uniq &gt; <var>override</var>
# ±à¼­ <var>override</var> # µ÷Õû <var>priority</var> and <var>section</var>
# dpkg-scanpackages <var>pool</var> <var>override</var> <var>/usr/local</var>/ \
   &gt; dists/<var>unstable</var>/<var>main</var>/binary-<var>i386</var>/Packages
# cat &gt; dists/<var>unstable</var>/<var>main</var>/Release &lt;&lt; EOF
Archive: <var>unstable</var>
Version: <var>3.0</var>
Component: <var>main</var>
Origin: <var>Local</var>
Label: <var>Local</var>
Architecture: <var>i386</var>
EOF
# echo "deb file:<var>/usr/local</var> <var>unstable</var> <var>main</var>" \
   &gt;&gt; /etc/apt/sources.list
</example>
<p>
»¹ÓÐÒ»ÖÖ¿ìËÙµ«ÊÇ°¹ÔàµÄ·½·¨À´´´½¨±¾µØ <tt>deb</tt> ²Ö¿â£º
<example>
# aptitude install dpkg-dev
# mkdir <var>/usr/local/debian</var>
# mv <var>/some/where/package.deb</var> <var>/usr/local/debian</var>
# dpkg-scanpackages <var>/usr/local/debian</var> /dev/null | \
  gzip - &gt; <var>/usr/local/debian</var>/Packages.gz
#  echo "deb file:<var>/usr/local/debian</var> ./" &gt;&gt; /etc/apt/sources.list
</example>
<p>
ÔÚ <file>/etc/apt/sources.list</file> ÖÐÉèÖÃÏàÓ¦¾µÏñÔ´Èë¿ÚµØÖ·£¬¾Í¿ÉÒÔͨ¹ý HTTP »ò FTP ·½Ê½Ô¶³Ì·ÃÎÊ´æ·ÅÔÚÆäÖеİüÎļþÁË¡£

<sect1 id="alien">ת»»»ò°²×°ÍâÀ´µÄ¶þ½øÖÆÈí¼þ°ü
<p>
<package>alien</package> ¿É½«ÆäËü¸ñʽµÄ¶þ½øÖÆÈí¼þ°üÈç Redhat µÄ <tt>rpm</tt>¡¢Stampede µÄ <tt>slp</tt> ¡¢Slackware µÄ <tt>tgz</tt> ºÍ Solaris µÄ <tt>pkg</tt> µÈת»¯³É&debian; µÄ <tt>deb</tt> ¸ñʽÈí¼þ°ü£¬Èç¹ûÄãÏëÔÚ×Ô¼ºµÄϵͳÉÏʹÓñðµÄ Linux ·¢ÐаæÖеÄÈí¼þ°ü£¬¿ÉʹÓà <prgn>alien</prgn> ½«Ëüת»¯³ÉϵͳÊ×Ñ¡µÄÈí¼þ°ü¸ñʽºó°²×°¡£<package>alien</package> »¹Ö§³Ö LSB µÄÈí¼þ°ü¡£
</sect1>

<sect1 id="auto-apt">×Ô¶¯°²×°ÃüÁî
<p>
<prgn>auto-apt</prgn> ÊÇÒ»ÖÖÇëÇóʽÈí¼þ°ü°²×°¹¤¾ß¡£
<example>
$ sudo auto-apt update
 ... Éý¼¶Êý¾Ý¿â
$ auto-apt -x -y run
½øÈë auto-apt ģʽ£º/bin/bash
Í˳öÕâ¸öÃüÁî¼Ì¶øÍ˳ö auto-apt ģʽ¡£
$ less /usr/share/doc/med-bio/copyright # ·ÃÎʲ»´æÔÚµÄÎļþ
 ... °²×°ÌṩÁËÕâ¸öÎļþµÄÈí¼þ°ü¡£
 ... ͬÑù°²×°ÒÀÀµµÄ°ü
</example>
</sect1>

<sect1 id="debsums">УÑéÒÑ°²×°µÄÈí¼þ°ü
<p>
<prgn>debsums</prgn> ¿ÉÒÔУÑéÒÑ°²×°Èí¼þ°üµÄ MD5 ±àÂ룬¶ÔijЩÈí¼þ°üûÓпÉÓÃµÄ MD5 ±àÂ룬ϵͳ¹ÜÀíÔ±¿ÉʹÓÃÒ»¸öÁÙʱµÄ½â¾ö°ì·¨£º
<example>
# cat >>/etc/apt/apt.conf.d/90debsums
DPkg::Post-Install-Pkgs {"xargs /usr/bin/debsums -sg";};
^D
</example>
per Joerg Wendland <email>joergland@debian.org</email> (untested).

<![%f-ref;[
<sect1 id="spy">ÓÅ»¯ <file>sources.list</file>
<p>
¼ò¶øÑÔÖ®£¬ÎÒ³¢ÊÔ¹ýÓø÷ÖÖÓÅ»¯·½·¨À´´´½¨ <file>sources.list</file>£¬µ«ÈκÎÒ»ÖÖ·½·¨¶ÔÎÒÕâ¸öסÔÚÃÀ¹úµÄÈËÀ´Ëµ¶¼Ã»ÓÐÃ÷ÏԵĸÄÉÆ¡£×îºóÎÒ»¹ÊÇÓà <prgn>apt-setup</prgn> ÊÖ¹¤Ñ¡Ôñ½üÒ»µãµÄÕ¾µã¡£
<p>
<prgn>apt-spy</prgn> »á¸ù¾ÝÕ¾µã»ØӦʱ¼äºÍ´ø¿í×Ô¶¯´´½¨ <file>sources.list</file>¡£<prgn>netselect-apt</prgn> »á´´½¨Ò»¸ö¸üÍêÕûµÄ <file>sources.list</file> Îļþ£¬µ«ËüʹÓøüÂäºóµÄ·½·¨À´Ñ¡Ôñ¾µÏñÕ¾µã£¨±È½Ïping time£©¡£
<example>
# aptitude install apt-spy
# cd /etc/apt ; mv sources.list sources.list.org
# apt-spy -d testing -l sources.apt
</example>
</sect1>

]]>


</sect>

<sect id="pecuriarities">ÆäËû Debian µÄÌØÐÔ

<sect1 id="dpkg-divert">The <prgn>dpkg-divert</prgn> ÃüÁî
<p>
<!-- copied from manual page -->
ʹÓÃÎļþ<strong>תÒÆ</strong>£¨diversions£©µÄ·½·¨¿ÉÒÔÇ¿Áî <prgn>dpkg</prgn> ½«Îļþ°²×°µ½ <strong>תÒÆ</strong> Ŀ¼¶ø·ÇĬÈÏĿ¼¡£¶ÔÓÚij¸öÒýÆð³åÍ»µÄÎļþ£¬¿ÉÒÔÔÚ &debian; Èí¼þ°ü½Å±¾ÖÐʹÓà <strong>Diversions</strong> ½«Ëü°²×°µ½±ðµÄĿ¼¡£ÏµÍ³¹ÜÀíÔ±»¹¿ÉÒÔʹÓà diversion À´ÖØÔØÈí¼þ°üÅäÖÃÎļþ£¬»òÕßÓÃÀ´±£ÁôijЩ¾ÉÅäÖÃÎļþ£¨ÕâЩÎļþûÓÐÔÚ <strong>conffiles</strong> ÖеǼǣ©µ±°²×°Ð°æÈí¼þʱÕâЩÎļþ»á±»¸²¸Ç¡£<![%f-ref;[£¨²ÎÔÄ<ref id="conffile">£©]]>¡£
<example>
# dpkg-divert [--add]  <var>filename</var> # Ìí¼Ó ¡°×ªÒÆ¡±
# dpkg-divert --remove <var>filename</var> # ɾ³ý ¡°×ªÒÆ¡±
</example>
¼Çס£¬²»µ½Íò²»µÃÒѲ»ÒªÊ¹Óà <prgn>dpkg-divert</prgn>¡£
</sect1>

<sect1 id="equivs"><package>equivs</package> Èí¼þ°ü
<p>
Èç¹ûÄã´ÓÔ´Âë±àÒë³ÌÐò£¬×îºÃ½«Ëü×ö³É±¾µØ Debian »¯Èí¼þ°ü£¨<tt>*.deb</tt>£©¡£×îеķ½·¨ÊÇʹÓà <tt>equivs</tt>¡£
<example>
Package: equivs
Priority: extra
Section: admin
Description: Circumventing Debian package dependencies
 This is a dummy package which can be used to create Debian
 packages, which only contain dependency information.
</example>
</sect1>

<sect1 id="alternatives">Alternative ÃüÁî
<p>
Èç¹ûÏëÓà <prgn>vi</prgn> À´Æô¶¯ <prgn>vim</prgn>£¬ÇëÓÃ
<prgn>update-alternatives</prgn>£º
<example>
# update-alternatives --display vi
...
# update-alternatives --config vi
  Selection    Command
-----------------------------------------------
      1        /usr/bin/elvis-tiny
      2        /usr/bin/vim
*+    3        /usr/bin/nvi

Enter to keep the default[*], or type selection number: 2
</example>
Debian alternatives ϵͳÖеÄÕâЩÏîÄ¿£¬¶¼ÊÇÒÔ·ûºÅÁ¬½ÓµÄÐÎʽ´æ·ÅÔÚ <file>/etc/alternatives</file> ϵġ£
<p>
ÏëÉèÖÃÄãϲ°®µÄ X window »·¾³£¬Ö´ÐÐ <prgn>update-alternatives</prgn> À´Ö¸¶¨ <file>/usr/bin/x-session-manager</file> ºÍ <file>/usr/bin/x-window-manager</file>¡£<![%f-ref;[ÏêÇé²ÎÔÄ<ref id="custom-x">¡£]]>
<p>
<file>/bin/sh</file> ÊÇÖ¸Ïò <file>/bin/bash</file> »ò <file>/bin/dash</file> µÄÁ´½Ó¡£Ïë¼æÈÝ¾ÉµÄ Bash ½Å±¾£¬Ê¹Óà <file>/bin/bash</file> ±È½Ï±£ÏÕ£¬µ«¸üºÃ»¹ÊÇʹÓà <file>/bin/dash</file>£¬ÒòΪËü¸ü·ûºÏ POSIX ±ê×¼¡£Éý¼¶µ½ 2.4 °æ Linux Äںˣ¬ÏµÍ³Ò»°ã½«ËüÉèÖÃΪ <file>/bin/dash</file>¡£
</sect1>

<sect1 id="sys-v">Runlevel usage
<p>
°²×°ºÃÖ®ºó£¬´ó²¿·Ö &debian; Èí¼þ°üµÄ·þÎñ±»É趨ΪÔÚ runlevel 2 µ½ 5 ʱÔËÐС£ËùÒÔ£¬ÔÚûÓж¨ÖƹýµÄ &debian; ϵͳÖУ¬runleve 2¡¢3¡¢4¡¢5¡¢6 ÊÇûÓÐÇø±ðµÄ¡£&debian; ±£ÁôÕâЩ¸ø±¾µØ¹ÜÀíԱʹÓá£
<![%f-ref;[
<ref id="custombootscripts"> ˵Ã÷ÈçºÎ¶¨ÖÆ runlevels¡£
]]>
<![%q-ref;[
to customize runlevels.
]]>
ÕâÑùµÄ runlevels ϵͳºÍÆäËûÁ÷ÐÐµÄ GNU/Linux ·¢Ðа汾ÍêÈ«²»Í¬¡£
Äã¿ÉÄÜÒª×öµÄ¸Ä±äÖ®Ò»¾ÍÊÇÈ¡Ïû runlevel 2 É쵀 <prgn>xdm</prgn> ºÍ <prgn>gdm</prgn>,ʹµÃÔÚÍê³ÉÆô¶¯Ö®ºó X ÏÔʾ¹ÜÀíÈ¥²»»á×Ô¶¯Æô¶¯£»È»ºóÄã¿ÉÒÔͨ¹ýÇл»µ½ runlevel 3 À´Æô¶¯ X ÏÔʾ¹ÜÀíÆ÷¡£
<p>
<![%f-ref;[
²ÎÔÄ <ref id="runlevels"> À´»ñµÃ¸ü¶à¹ØÓÚ runlevels µÄÐÅÏ¢¡£
]]>

<sect1 id="disables">Í£Ö¹ daemon ·þÎñ
<p>
&debian; ·¢Ðаæ·Ç³£×¢ÖØϵͳ°²È«£¬²¢ÆÚÍûϵͳ¹ÜÀíÔ±Äܵ£´ËÖØÈΡ£Ëü½«ÏµÍ³µÄÒ×ÓÃÐÔ·ÅÔÚÁ˵ڶþ룬Ðí¶à daemon ·þÎñ¶¼¶¨Î»ÔÚ×î¸ß°²È«¼¶±ð£¬Òò¶ø£¬Ä¬ÈÏ°²×°×´Ì¬ÏÂϵͳֻÆô¶¯×îÉٵģ¨ÉõÖÁûÓУ©¿ÉÓõķþÎñ¡£
<p>
Èç¹ûÄò»¶¨°ÑÎÕ£¨ÓйØExim¡¢DHCP...£©£¬¿ÉÖ´ÐÐ<tt>ps aux</tt>»ò¼ì²é<file>/etc/init.d/*</file>ºÍ<file>/etc/inetd.conf</file>ϵÄÄÚÈÝ£¬»¹¿ÉÒÔ<![%f-ref;[ʹÓà <ref id="loginctrl"> ÖÐÌáµ½µÄ·½·¨]]>¼ì²é<file>/etc/hosts.deny</file>¡£<prgn>pidof</prgn>ÃüÁîÒ²ºÜÓÐÓ㨲ÎÔÄ<manref name="pidof" section="8">£©
<p>
ÔÚ×î½üµÄ &debian; ϵͳÖУ¬Ä¬ÈÏ״̬Ï X11 ²»ÔÊÐí TCP/IP£¨Ô¶³Ì£©Á¬½Ó¡£<![%f-ref;[²ÎÔÄ <ref id="xtcp">£¬]]>ʹÓà SSH ½øÐÐ X ´«ËÍÒ²ÊǽûÓõģ¬<![%f-ref;[²ÎÔÄ <ref id="xssh">¡£]]>
</sect1>
</sect>

</chapt>


Reply to: