gentoo°²×°Êֲᣨ¼òÌåÖÐÎÄ£©
ÅŰæ×öµÄ²»ÊǺܺ㬿´ÆðÀ´Óеã¿Ö²À£¬ºÇºÇ½¨Òé¿´¹Ù·½µÄ°²×°Îĵµ:
Ó¢ÎÄ£º[url]http://www.gentoo.org/doc/en/handbook/handbook-x86.xml?full=1#book_id41416842_chap3[/url]
ÖÐÎÄ£º[url]http://www.gentoo.org/doc/zh_tw/handbook/handbook-x86.xml?full=1#book_id41416842_chap3[/url]
[url]http://www.gentoo.org/doc/en/index.xml[/url]
½¨Òé´òÓ¡³öÀ´£¬ÂýÂý¿´^_^
A. °²×° Gentoo
1. ¹ØÓÚ Gentoo Linux °²×°²½Öè¡£
1.a. ½éÉÜ
»¶Ó£¡
Ê×ÏÈ,»¶Ó ʹÓà Gentoo¡£Äú½«»á½øÈëÒ»¸ö¹ØÓÚÑ¡ÔñºÍЧÄܵÄÊÀ½ç¡£ Gentoo ÊÇ´ú±í×ÅÑ¡Ôñ¡£µ±Äú°²×° Gentoo ʱ,ÎÒÃÇ»áÇå³þµØ½âÊÍÄú¿ÉÓõÄÈí¼þÑ¡Ôñ,°²×°µÄ·½Ê½,Ñ¡ÔñÄúÏëÒªµÄϵͳ¼Ç¼Æ÷,µÈµÈ¡£
Gentoo ÊÇÒ»¸ö¿ìËÙ,ÏÖ´ú»¯,¸É¾»,¸ßµ¯ÐÔÉè¼ÆµÄ°æ±¾¡£ Gentoo »ùÓÚÃâ·ÑµÄÈí¼þºÍ¾ø¶Ô²»»áÒþÂ÷ÎÊÌâ¡£Portage,Ϊ Gentoo ËùʹÓÃÌ×¼þά»¤ÏµÍ³,±àдÓÚ Python Ò²´ú±í×ÅÄú¿ÉÒÔ¼òµ¥µÄ²é¿´ÒÔ¼°¸ü¸ÄÔʼÂð¡£ Gentoo µÄÌ×¼þϵͳʹÓÃÔʼÂë £¨Ò²Ö§³ÖÒѱàÒëµÄÌ×¼þ£©ºÍÉ趨Îļþ¶¼ÊÇÆÕͨµÄÎÄ×ÖÎļþ¡£»»¾ä»°Ëµ,µ½´¦¶¼ÊÇ¿ª·ÅÐԵġ£
Á˽âÄú×Ô¼ºµÄ Ñ¡Ôñ ÊǷdz£ÖØÒªµÄ,ÕâÒ²ÊÇ Gentoo µÄÕÜѧ¡£ÎÒÃǽ«¾¡Á¦²»Ç¿ÆÈÄú°²×°ÈκÎÄú²»Ïë°²×°µÄÈí¼þ¡£Èç¹û»¹ÊÇÄú¾õµÃÎÒÃÇÇ¿ÆÈÄú°²×°ÁËijЩÄú²»ÏëÒªµÄ¶«Î÷,Çë É걨´íÎó¡£
°²×°³ÌÐòµÄ¹æ»®£¿
Gentoo °²×°¿ÉÒÔ·ÖΪ 10 ¸ö²½Öè,´ÓµÚ¶þÕµ½µÚʮһÕ¡£Ã¿¸ö²½Öè¶¼»áÍê³ÉÒÔϵÄÄ¿µÄ£º
? µÚÒ»¸ö²½Öèºó,Äú¾ÍÔÚ°²×° Gentoo µÄ¹¤×÷»·¾³ÄÚ
? µÚ¶þ¸ö²½Öèºó,ÄúµÄÍøÂçÁª»úÒѾÍê³É²¢ÇÒ¿ÉÒÔ¼ÌÐø°²×° Gentoo £¨ÔÚijЩÇé¿öÏÂ,ÕâÊÇÒ»¸öÑ¡ÔñÐԵIJ¿·Ý£©
? µÚÈý¸ö²½Öèºó,ÄúµÄÓ²ÅÌÒÔÆðʼÍê³É,²¢ÇÒ¿ÉÒÔ·ÅÖÃÄúµÄ Gentoo °²×°
? µÚËĸö²½Öèºó,ÄúµÄ°²×°Íê¾²ÒѾ׼±¸Íê³É²¢ÇÒÒÔ chroot ½øÈëÁËÐÂÁË»·¾³
? µÚÎå¸ö²½Öèºó,ºËÐÄÌ×¼þ,ºÍËùÓÐ Gentoo °²×°µÄÒ»Ñù¶¼»á±»°²×°
? µÚÁù¸ö²½Öèºó,ÄúµÄ Linux ºËÐÄÒѾ±àÒëÍê³ÉÁË
? µÚÆß¸ö²½Öèºó,ÄúÒѾ±àдÍê´ó²¿·ÝµÄϵͳÉ趨ÎļþÁË
? µÚ°Ë¸ö²½Öèºó,±ØÒªµÄϵͳ¹¤¾ß(Äú¿ÉÒÔ´ÓÒ»·ÝÇåµ¥ÄÚÑ¡Ôñ)ÒѾ°²×°²¢ÇÒÉ趨Íê³É
? µÚ¾Å¸ö²½Öèºó,ÄúÑ¡ÔñµÄ¿ª»ú³ÌÐòÒѾ°²×°²¢ÇÒÉ趨Íê³ÉÔÚÄúµÄÐÂGentooϵͳµ±ÖÐ
? µÚÊ®¸ö²½Öèºó,ÄúµÄGentoo»·¾³ÒѾ׼±¸ºÃÈÃÄúȥ̽Ë÷ÁË
µ±ÄúÓµÓÐÐí¶àÑ¡Ôñʱ,ÎÒÃǽ«¾¡ÎÒÃÇËùÄÜΪÄú½âÊÍÿ¸öµÄÓŵ㼰ȱµã¡£ÎÒÃǽ«¼ÌÐøÊ¹ÓÃÔ¤ÉèµÄÑ¡Ïî,½«»áÒÔ "Ô¤É裺" ·ÅÔÚ±êÌâ¡£ÆäËüÑ¡Ôñ½«»áÒÔ "ÆäËüÑ¡Ôñ£º" Ϊ±êÌâ¡£Çë ²»Òª ÈÏΪÎÒÃǽ¨ÒéÄúʹÓÃÔ¤ÉèµÄ¡£µ«ÊÇÎÒÃÇÈÏΪ¶àÊýµÄʹÓÃÕßҲʹÓÃÕßÔ¤ÉèµÄÑ¡Ôñ¡£
ÓÐʱºòÄú¿ÉÒÔÑ¡ÔñÆäËüÑ¡ÔñÐԵIJ½Öè¡£ÕâЩ²½Ö轫»á±»±êΪ "Ñ¡ÔñÐÔ£º" ²¢ÇÒ¶ÔÓÚ°²×°²»ÊǷdz£µÄÖØÒª¡£µ«ÊÇ,ÓÐЩѡÔñÐԵIJ½ÖèÐèÒªÒÀÀµ×ÅÄú֮ǰËù×öµÄ¾ö¶¨¡£ÎÒÃǽ«»áÔÚ·¢Éúʱ,ÐèÒª¾ö¶¨Ê±ºÍÔÚÑ¡ÔñÐԵIJ½ÖèÇ°Ãæ¸æËßÄú¡£
ÎÒµÄÑ¡ÔñÓÐÄÇЩ£¿
Äú¿ÉÒÔʹÓöàÖÖ·½·¨°²×° Gentoo¡£Äú¿ÉÒÔÏÂÔØÈ»ºóʹÓÃÎÒÃÇµÄ LiveCD °²×°£¨°²×°¹âÅÌ£©,´ÓÆäËü°æ±¾,´Ó¿ª»ú¹âÅÌ£¨Èç Knoppix£©,´ÓÍøÂ翪»úµÄ»·¾³,´ÓÒ»¸ö¾ÈÔ®´ÅÅÌ,µÈµÈ¡£Õâ·ÝÎļþ½«»á°üº¬×ÅʹÓÃÎÒÃÇµÄ LiveCD Ϊ°²×°·½Ê½,»òÊÇÔÚijЩ״¿öÀ´Ëµ,ÍøÂ翪»ú¡£¹ØÓÚÆäËüµÄ°²×°·½·¨Çë²Î¿¼¡¸ÆäËü°²×°Ö¸ÄÏ¡¹¡£Èç¹ûÄúÈÏΪÕâʹÓÃÊÖ²á˵Ã÷µÄÌ«Ïêϸ,Äú¿ÉÒÔʹÓÃÎÒÃǵĿìËÙ°²×°ÊÖ²á,Èç¹ûÄúµÄ¸ÅÄîÒѾÏñÊÖ²áÒ»°ãÇå³þ¡£
ÄúÒ²ÓÐЩ²»Í¬µÄ¿ÉÄÜÐÔ£ºÄú¿ÉÒÔ´ÓÍ·±àÒëÕû¸öϵͳ,»òÊÇʹÓÃÔ¤ÏȱàÒëµÄÌ×¼þ°²×° Gentoo »·¾³¡£ÄúÒ²ÄÜ´ÓÒѾÍê³ÉÒ»°ëµÄϵͳ¿ªÊ¼°²×°¡£
Èç¹ûÄú´òËãʹÓÃÒÔÔ¤ÏȱàÒëµÄÌ×¼þ°²×° Gentoo,³ýÁËʹÓà LiveCD µÄÌ×¼þÍâ,Äú½«Ã»ÓÐÆäËüÑ¡Ôñ¡£¸üаæµÄ Gentoo ·¢²¼Ò²»áÔÚÍøÂçÉÏÌṩÕâЩÒÔ±àÒëÍê³ÉµÄÌ×¼þ¡£
Åöµ½ÎÊÌ⣿
Èç¹ûÄúÔÚ°²×°¹ý³ÌÄÚÅöµ½ÎÊÌ⣨»òÊǰ²×°Ö¸ÄÏ£©Çëµ½ Gentoo ·¢²¼¼Æ» ²é¿´´íÎóÁбí,È»ºóµ½ BUGsÉ걨ϵͳ ²éѯÊÇ·ñÓÐÖØ¸´»òºÍÄúÏàͬµÄÉ걨¡£Èç¹ûûÓÐ,Ç뽨Á¢Ò»¸ö·½±ãÎÒÃÇά»¤¡£Çë²»Òªº¦ÅÂÎÒÃǵĿª·¢Ô± -- ËûÃǴ󲿷ݲ»»á³ÔÈË¡£
Çë×¢Òâ,ËäÈ»ÄúÕýÔÚÔĶÁµÄÎļþÕë¶Ô¸÷ÖÖ²»Í¬¼Ü¹¹,µ«ÊÇËü»¹ÊÇ»á°üº¬×ÅһЩ¹ØÓÚÆäËü¼Ü¹¹µÄ×ÊÁÏ¡£ÕâÊÇÒòΪ Gentoo ÊÖ²áʹÓÃ×Å´óÁ¿¿É¹²ÏíµÄÔʼÂëÈí¼þ£¨ÎªÁ˼õÉÙÖØ¸´ºÍÉÙÐíµÄ¿ª·¢×ÊÔ´£©¡£ÎÒÃǻὫÒÉ»ó¼õµ½×îÉÙ¡£
Èç¹ûÄú²»È·¶¨ÎÊÌâÊÇ·ñΪʹÓÃÕßÏà¹Ø£¨ÓÐЩÊÇ´ÖÐĵĴíÎ󣩻¹ÊÇÈí¼þÎÊÌâ,ÎÒÃÇ»¶ÓÄúµ½ irc.freenode.net µÄ #gentoo £¨Ó¢ÎÄ£©»òÊÇ irc.hinet.net µÄ #gentoo ·¢ÎÊ¡£µ±È»,Èç¹ûÄúÓÐÆäËüÄ¿µÄ,ÎÒÃÇÒ²»¶Ó£º£©
Èç¹ûÄúÓйØÓÚ Gentoo µÄÎÊÌâ,Çëµ½ Gentoo Îļþ ²é¿´ÎÒÃÇµÄ ³£¼ûÎÊÌâ¡£ÄúÒ²¿ÉÒÔµ½ FAQs£¨Ó¢ÎÄ£© »òÊÇ Gentoo Taiwan ÌÖÂÛÇø¡£
1.b. Ô¤±à»òÊÇÈ«±à£¿
ʲôÊÇ Gentoo Reference Platform£¿
Gentoo Reference Platform,ÏÖÔÚ¿ªÊ¼¼ò³ÆÎª GRP,ÊÇÒ»Ì×Ô¤±àÌ×¼þµÄ¿ìÕÕÈÃʹÓÃÕߣ¨¾ÍÊÇÄú£¡£©¿ÉÒÔ¼ÓËÙ°²×° Gentoo µÄ¹ý³Ì¡£GRP ¿ÉÓÃÀ´°²×°Õû¸ö Gentoo¡£ËûÃDz»Ö»ÄÜ¿ìËÙµÄÍê³É°²×°,Ò²°üÀ¨ÁËһЩÌ×¼þ£¨Èç KDE¡¢xorg-x11¡¢GNOME¡¢OpenOffice¡¢Mozilla...£©¡£
µ«ÊÇ,ÕâЩ Gentoo ²¢²»»áÿÌìά»¤ GRP,ËüÃÇÖ»»áÔÚÿ´Î Gentoo а淢±íʱ¸üС£Äú¿ÉÒÔÔÚ¹¤×÷ʱ°ÑϵͳÉý¼¶·ÅÔÚ±³¾°´¦Àí¡£
Portage ÈçºÎ´¦Àí GRP Ì×¼þ
ÄúµÄ Portage tree - ÊÕ¼¯Ðí¶à ebuilds£¨°üº¬ËùÓÐÌ×¼þµÄÐÅÏ¢,Èç¼ò½é,ÍøÖ·,ÔʼÂë ÍøÖ·,±àÒëָʾ,ÏàÒÀÐÔ,µÈµÈµÄµµ°¸£© - Ò»¶¨ÒªºÍ GRP Ì×¼þͬ²½£º ebuild µÄ°æ±¾Ò»¶¨ÒªºÍ GRP µÄÌ×¼þÒ»Ñù¡£
Èç¹ûÄú´òËãʹÓà GRP °²×°,Äú½«Òª°²×° Portage ¿ìÕÕ¶ø²»ÊÇ×îеÄͬ²½ Portage¡£
ÓÐÊʺÏÎÒµÄ GRP ¿ÉÒÔÓÃÂð£¿
²»ÊÇËùÓеļܹ¹¶¼Ìṩ GRP Ì×¼þ¡£Õâ²»´ú±í×Å GRP ²»Ö§³ÖÆäËü¼Ü¹¹,ÔÒòÊÇÎÒÃÇûÓÐ×ÊÔ´À´±àÒëºÍ²âÊÔÕâЩ GRP Ì×¼þ¡£
ĿǰÎÒÃÇÌṩÒÔϼܹ¹µÄ GRP Ì×¼þ£º
? x86 ¼Ü¹¹£¨x86,i686,pentium3,pentium4,athlon-xp£©×¢Ò⣺x86 ºÍ i686 µÄ GRP Ì×¼þ(ÀýÈç˵ packages-x86-2004.2.iso),¿ÉÒÔÔÚÎÒÃǵľµÏñվȡµÃ, ¶ø pentium3,pentium4,athlon-xp Ö»ÄܾÓÉ bittorrent È¡µÃ¡£
? amd64 ¼Ü¹¹£¨amd64£©
? sparc ¼Ü¹¹£¨sparc32,sparc64£©
? ppc ¼Ü¹¹£¨G3,G4,G5£©
? alpha ¼Ü¹¹£¨alpha,alphaev5,alpha56,alphaev6£©
? mips ¼Ü¹¹
? hppa ¼Ü¹¹
Èç¹ûÄúµÄ¼Ü¹¹£¨»òÊÇ×Ӽܹ¹£©Ã»ÓгöÏÖÔÚÇåµ¥ÉÏ,Äú½«ÎÞ·¨Ê¹Óà GRP °²×°¡£
ÏÖÔÚ½éÉÜÍê±Ï,ÈÃÎÒÃÇ´Ó Ñ¡Ôñ¶ÔµÄ°²×°·½Ê½ ¼ÌÐø¡£
2. Ñ¡ÔñÊʺϵݲװ·½Ê½
2.a. Ó²¼þÐèÇó
½éÉÜ
¿ªÊ¼Ç°,ÎÒÃǽ«ÏÈÁгöÄܳɹ¦°²×° Gentoo Linux µÄÓ²¼þÇåµ¥¡£
x86 ¼Ü¹¹
? ÄúÐèÒªÖÁÉÙ 1 Gb µÄ´ÅÅ̿ռä
? Èç¹ûÄú²»Ê¹ÓÃÒÔ±àÒëµÄÌ×¼þ,ÄúÐèÒª×îÉÙ 300 Mb µÄÄÚ´æ £¨RAM + swap£©
? ÄúÐèÒªÒ»¸ö 486+ ´¦ÀíÆ÷ºÍ×îÉÙ 64Mb µÄÄÚ´æ
2.b. ¾ö¶¨ÄúµÄÑ¡Ôñ
½éÉÜ
¶Ô Gentoo »¹ÓÐÐËȤÂð£¿ÏÖÔÚÄú½«ÐèҪѡÔñÒ»¸ö°²×°µÄ·½·¨¡£Ã»´í,Ñ¡ÔñȨÔÚÄú,²»,ËûÃDz»Ò»Ñù,¶Ô,½á¹û¶¼ÊÇÒ»ÑùµÄ£ºÒ»¸ö Gentoo ϵͳ¡£
ÎÒÃÇÌṩµÄ°²×°·½Ê½£º
? Gentoo µÄ Minimal LiveCD
? Gentoo µÄ Universal LiveCD
ÿ¸ö²»Í¬µÄ·½·¨¶¼ÓÐËûµÄÓÅȱµã¡£ÎÒÃǽ«»áÁгöÿ¸öÓÅȱµãÀ´°ïÖúÄú×ö¾ö¶¨¡£µ«ÊÇÔÚÎÒÃÇ¿ªÊ¼Ö®Ç°,ÈÃÎÒΪÄú½âÊÍÒ»ÏÂÎÒÃǵÄÈý¸ö²»Í¬½×¶ÎµÄ°²×°¡£
ÈýÖֽ׶εݲװ
Gentoo Linux ¿ÉÒÔ´ÓÈýÖÖ ½×¶Î µÄѹËõµµ½øÐа²×°¡£ÄúËùÑ¡ÔñµÄ½×¶Î,½«»á¾ö¶¨ÄúÒª×Ô¼º±àÒë¶àÉÙ³ÌÐò¡£stage1 ½«ÊÇ´ÓÍ·¿ªÊ¼½øÐÐ bootstrap µ½Õû¸öϵͳµÄ±àÒë¡£stage2 ѹËõµµÒѾÍê³ÉÁË bootstrap µÄ²½Ö裻ÊǸö "°ë³ÉÆ·"¡£stage3 µÄѹËõµµÒѾ°üº¬×ÅÕû¸ö»ù´¡µÄ Gentoo Linux ϵͳ¡£ÉÔºóÎÒÃÇ»á½âÊÍ,ÄúÒ²¿ÉÒÔ°²×° Gentoo ʱ²»ÓýøÐе½ÈκαàÒëµÄ¶¯×÷£¨³ýÁ˺ËÐĺÍһЩѡÔñÐÔµÄÌ×¼þÒÔÍ⣩¡£Èç¹ûÄúÒªÕâ¸ö·½·¨,Äú½«ÐèҪʹÓà stage3 ѹËõµµºÍÒ»·Ý°üº¬×ÅÒÔ±àÒëÌ×¼þµÄ Gentoo LiveCD¡£
ÏÖÔÚÄú¸ÃÑ¡ÔñÄǸö Stage?
´Ó stage1 ¿ªÊ¼,Äú½«ÓµÓÐÍêÈ«µÄ×Ô¶©É趨ÒÔ¼°Ñ¡ÔñÐԵıàÒ빦ÄܵÄϵͳ¡£Õ⽫Èà stage1 µÄ°²×°Êʺϸ߽×ʹÓÃÕß¡£Èç¹ûÄúÏëÒªÖªµÀ Gentoo Linux ÊÇÈçºÎ¼Ü¹¹µÄ,ÄúÒ²Ó¦¸ÃҪʹÓà stage1¡£
Stage1 µÄ°²×°Ö»ÊÊÓÃÓÚÓÐÍøÂçÁª»úµÄ°²×°»·¾³
Stage1 Óŵ㼰ȱµã
+ ÈÃÄú¿ÉÒÔÍêÈ«×Ô¶©ºÍ½«ÏµÍ³µÄЧÄÜÍêÈ«ÒÀÕÕÄúµÄÐèÇó
+ ÊʺÏÖªµÀ×Ô¼ºÔÚ×öЩʲôµÄ¸ß½×ʹÓÃÕß
+ ÈÃÄúÁ˽â Gentoo µÄÄÚ²¿¼Ü¹¹
- ÐèÒª³¤Ê±¼äÍê³É°²×°
- Èç¹ûÄú²»´òËãµ÷ÕûϵͳÉ趨,ÕâÑùÊÇÀË·Ñʱ¼ä
- ²»ÓÃÊÊÓÃÓÚÎÞÍøÂçÁª»úµÄ°²×°»·¾³
Stage2 µÄ°²×°½«ÈÃÄúÒª¹ýµÚÒ»½×¶ÎµÄ bootstrap,²¢ÇÒʹÓÃÎÒÃÇΪÄúµ÷Õû¹ýµÄ stage2 ѹËõµµ¡£
Stage2 Ö»¿ÉÒÔÔÚÓÐÍøÂçÁª»úµÄ»·¾³Ï½øÐа²×°¡£
Stage2 Óŵ㼰ȱµã
+ ²»ÐèÒª bootstrap
+ ºÍ stage1 ±È½ÏÀ´¿ìËÙÐí¶à
+ Äú»¹ÊÇ¿ÉÒÔ×î¼Ñ»¯ÏµÍ³É趨
- ÄúÎÞ·¨ÏñÔÚ stage1 ʱ×Ô¶©ÄÇô¶àÉ趨
- ²»ÊÇ×î¿ì°²×° Gentoo µÄ·½·¨
- Äú½«Òª½ÓÊÜÎÒÃÇΪÄúµ÷Õû¹ýµÄ bootstrap
- ²»ÊÊÓÃÓÚÎÞÍøÂçÁª»úµÄ°²×°»·¾³
Ñ¡ÔñʹÓà stage3 ½«»áÊǰ²×° Gentoo Linux ×î¿ìµÄÒ»¸ö·½·¨,ÕâÒ²´ú±í×ÅÄú½«ÒªÑ¡ÔñÎÒÃÇΪÄúËù×öµÄϵͳµ÷ÕûÒÔ¼°É趨£¨ÀÏʵ˵,ÎÒÃÇÍêÉÆµÄÉ趨×ãÒÔÈÃϵͳ±£³ÖÔÚÍêºÃµÄЧÂÊÒÔ¼°Îȶ¨¶ÈÏ£©¡£Èç¹ûÄúÏëҪʹÓÃÒÔ±àÒëÍê³ÉµÄÌ×¼þ»òÊÇÔÚÎÞÍøÂçÁª»úµÄÇé¿öÏÂ,Äú½«ÐèÒªstage3¡£
Stage3 Óŵ㼰ȱµã
+ °²×° Gentoo Linux ×î¿ìËٵķ½·¨
+ ÊÊÓÃÓÚÎÞÍøÂçÁª»úµÄ°²×°»·¾³
- ÄúÎÞ·¨ÎªÏµÍ³½øÐе÷Õû - ÒѾ±àÒëºÃÁË
- ÎÞ·¨ÏñÔÚ stage1 »òÊÇ stage2 ÄÇÑù
Äú»òÐíÓÐÐËȤ֪µÀ,Èç¹ûÄú¾ö¶¨ÒªÔÚ°²×°Íê³ÉºóʹÓò»Í¬µÄ×Ô¶©É趨,Äú½«ÐèÒªÖØÏȱàÒëÕû¸öϵͳÀ´Ì×ÓÃÐĵÄ×Ô¶©É趨¡£
ÏÖÔÚ¿´¿´Ò»Ð©¿ÉÓõݲװý½é£º
Gentoo LiveCDs
Gentoo LiveCD Ϊ¿É¿ª»úµÄ¹âÅÌ¡£Ëû½«Õì²âÄúµÄÓ²¼þÈ»ºóÌ×ÓÃÏà¹ØµÄÇý¶¯³ÌÐò¡£ÕâÊÇÓÉ Gentoo ¿ª·¢Ô±Õë¶Ô¶àÖּܹ¹¶øÎ¬»¤µÄ¡£
ËùÓÐµÄ LiveCD ½«»áÈÃÄú¿ÉÒÔ¿ª»ú½øÈë°²×°,Éè¶¨ÍøÂç,Æôʼ»¯·ÖÇø,È»ºó´ÓÍøÂç½øÐÐ Gentoo µÄ°²×°¡£µ«ÊÇ,ÓÐЩ LiveCD Ò²°üº¬×ÅÏà¹ØµÄÔʼÂëÈÃÄú¿ÉÒÔÔÚ°²×°Ê±²»ÐèÒªÓõ½ÍøÂç¡£
ÄÇÕâЩ LiveCD ÀïÃæÓÐÊ²Ã´ÄØ£¿
Gentoo's Minimal LiveCD
ÕâÊÇÒ»¸öСµÄ,ûÓзϻ°µÄ¿É¿ª»ú¹âÅÌ¡£´Ë¹âÅ̵ÄÖ÷ÒªÓÃÒâÊÇ¿ªÆôϵͳ,×¼±¸ÍøÂç,È»ºó¼ÌÐø Gentoo µÄ°²×°¡£Ëû²»°üº¬ÈκΠstage µÄѹËõµµ£¨ÓÐЩ°üº¬×Å stage1 µÄµµ°¸£©,Ò²²»°üº¬×ÅÔʼÂë,»òÊÇÒѱàÒëµÄÌ×¼þ¡£¾ÙÀýÀ´Ëµ,x86 µÄ»ù´¡µµ°¸¿ÉÒÔÔÚ universal ×ÓĿ¼Ï±»ÃüÃûΪ install-x86-minimal-2004.2.iso¡£
Minimal LiveCD Óŵ㼰ȱµã
+ ×îСµÄÏÂÔØ¹âÅÌ
+ ÊʺÏÈ«²¿µÄ¼Ü¹¹
+ Äú¿ÉÒÔÍøÂçÏÂÔØ stage1,stage2,stage3
- ²»°üº¬ stage µµ°¸,ûÓÐ portage,ûÓÐ GRP Ì×¼þ,²»ÊʺϷÇÍøÂç°²×°
Gentoo µÄ Universal LiveCD
Gentoo µÄ Universal ¹âÅÌÊÇÒ»ÕÅ¿ÉÒÔÓÃÀ´¿ª»úµÄ¹âÅÌ,·½±ãÈÃÄú¿ÉÒÔÔÚÎÞÍøÂçÁª»úµÄÇé¿öϰ²×° Gentoo¡£Ëû°üº¬×ÅÒ»¸ö stage1 ºÍ¶à¸ö stage3 ѹËõµµ(Õë¶Ô¸÷¸ö×Ӽܹ¹×Ô¶©¹ý£©ºÍÏà¹ØµÄ¿ÉÒÔÈÃÄú²»ÐèÒªÍøÂçµÄÁª»ú´Ó Stage1 ¿ªÊ¼°²×°¡£¾ÙÀýÀ´Ëµ,ÊʺÏÈ«²¿ x86 µÄ¹âÅÌÓ³ÏñÎļþÊǽÐ×ö install-x86-universal-2004.2.iso ²¢ÇÒ¿ÉÒÔÔÚ universal µÄ×ÓĿ¼ÕÒµ½¡£
Èç¹ûÄú×Ðϸ¿´¿´ÎÒÃÇµÄ releases/x86/2004.2 Ŀ¼,Äú½«»á¿´µ½Ò»Ð©¼Ü¹¹Ìṩ Gentoo Package CDs£¨GentooÌ×¼þ¹âÅÌ£©¡£ÕâÕŹâÅÌÖ»°üº¬×ÅÒѱàÒëÍê³ÉµÄÌ×¼þ,·½±ãÄúÍê³É°²×°ºó¿ÉÒÔ°²×°ÆäËüÈí¼þÌ×¼þ¡£Òª°²×° Gentoo,ÄúÖ»ÐèÒª Universal LiveCD ,µ«ÊÇÈç¹ûÄúÐèÒª Openoffice.org¡¢Mozilla¡¢KDE¡¢GNOME ¶ø²»Ïë±àÒëËüÃÇ,ÄúÒ²ÐèÒªÌ×¼þ¹âÅÌ¡£¾ÙÀýÀ´Ëµ i686 ×Ӽܹ¹µÄµÚ¶þƬ¹âÅ̾ͻᱻÃüÃûΪ packages-i686-2004.2.iso ²¢ÇÒ¿ÉÒÔÔÚÕýÈ·µÄ×Ӽܹ¹Ä¿Â¼ÕÒµ½£¨i686£©¡£
Èç¹ûÄú´òËã½øÐÐ Stage3 ´îÅä×Å GRP µÄ°²×°,ÄúÖ»ÐèÒªÌ×¼þ¹âÅÌ¡£
ÎÒÃÇÌṩһ·Ý"Ô¤Éè"¹âÅÌ,¶¼ÊʺÏËùÓмܹ¹µÄ×Ӽܹ¹,²¢ÇÒÒ²Õë¶Ô¸÷×Ӽܹ¹×Ô¶©»¯£¨CD2£©£¨Èç Athlon-XP,G4,µÈµÈ¡££©¡£
Universal LiveCD + Ì×¼þ¹âÅÌ Óŵ㼰ȱµã
+ Ì×¼þ¹âÅÌÒѾÕë¶ÔÄúËùÓõļܹ¹×î¼Ñ»¯¹ý
+ ΪÁËÐèÒª¿ìËÙ°²×° Gentoo µÄʹÓÃÕßÌṩÒѱàÒëµÄÌ×¼þ
+ °üº¬×ÅËùÓÐÄúÐèÒªµÄ¡£Äú¿ÉÒÔ²»ÓÃÍøÂçÁª»ú½øÐа²×°¡£
- ÒªÏÂÔØµÄµµ°¸ÅÓ´ó
2.c. ÏÂÔØ¡¢¿Ì¼¡¢²¢Ê¹Óà Gentoo LiveCD ¿ª»ú
ÏÂÔØ²¢¿Ì¼ LiveCD
ÄúÒѾѡÔñÁËʹÓà Gentoo LiveCD¡£ÎÒÃǽ«ÐèÒªÏÈÏÂÔØÈ»ºó¿Ì¼ÎÒÃÇËùÑ¡µÄ LiveCD¡£ÎÒÃǸոÕ̸µ½¶à¸ö LiveCD,µ«ÊÇÒªµ½ÄÇÀïÏÂÔØÄØ£¿
Äú¿ÉÒÔ´ÓÎÒÃÇµÄ ¶ÔÓ³Õ¾ ÏÂÔØÈκÎÒ»ÖÖ LiveCD £¨Èç¹ûÄúÏëÒª,ÄúÒ²¿ÉÒÔÏÂÔØÌ×¼þ¹âÅÌ£©¡£LiveCD ºÍÌ×¼þ¹âÅ̵ÄλÖÃÊÇÔÚ releases/x86/2004.2/livecd£»Ì×¼þ¹âÅÌÔòÊÇÔÚ releases/x86/2004.2/packagecd µÄĿ¼¡£Èç¹ûÄúµÄλÖÃÊÇÔŲ́Íå,ÄúÒ²¿ÉÒԲο¼ ̨Íå¶ÔÓ³Õ¾µÄÁÐ±í¡£
ÔÚÄǸöĿ¼ÄÚ,Äú½«¿ÉÒÔÕÒµ½ ISO µÄµµ°¸¡£ÕâЩÊÇÍêÕûµÄ CD Ó³Ïñµµ·½±ãÈÃÄúдÈë CD-R¡£
Èç¹ûÄúº¦ÅÂÄúÏÂÔØµÄµµ°¸ÓÐËð»Ù,Äú¿ÉÒÔ͸¹ýÎÒÃÇÌṩµÄ MD5 checksum £¨Èç install-x86-minimal-2004.2.iso.md5£©²¢ÇÒʹÓà MD5 checksum ¼ì²é¡£ÔÚ Linux/Unix »·¾³ÏÂÄú¿ÉÒÔʹÓà md5sum ¹¤¾ß»òÕßÊÇ Windows Ï嵀 md5sum¡£
ÁíÒ»¸ö¼ì²éÏÂÔØµµ°¸µÄ·½Ê½ÊÇʹÓà GnuPG À´¼ì²éµµ°¸µÄÇ©Ãûµµ£¨µµ°¸Àà±ðΪ .asc£©¡£È»ºóË÷ȡǩÃûµµ£º
Code Listing 1: Ë÷ȡǩÃûµµ
$ gpg --keyserver pgp.mit.edu --recv-keys 17072058
È»ºó¼ì²éÇ©Ãû£º
Code Listing 2: ¼ì²éÇ©Ãû
$ gpg - -verify <Ç©Ãûµµ> <ÏÂÔØµÄÓ³Ïñµµ>
ÈçÒª¿Ì¼ËùÏÂÔØµÄ¹âÅÌÓ³ÏñÎļþ,Äú½«ÐèҪѡÔñ raw µÄ¿Ì¼¸ñʽ¡£ÎÒÃǽ«½ÌʹÓà cdrecord ºÍ K3B£»¹ØÓÚÆäËü¿ÉÒÔµ½ÎÒÃÇµÄ Gentoo FAQ ÕÒµ½¡£
? ʹÓà cdrecord,ÄúÖ»ÐèÒªÊäÈë cdrecord dev=/dev/hdc£¨½« /dev/hdc ¸ü¸ÄΨÄúµÄ¿Ì¼»úµÄλÖã©È»ºóËæºóµÄΪӳÏñÎļþµÄĿ¼£º£©
? ʹÓà K3B,Ñ¡Ôñ¹¤¾ß£¨tools£© > CD£¨¹âÅÌ£© > ¿Ì¼ӳÏñµµ£¨Burn Image£©¡£È»ºóÔÚ '¿Ì¼ӳÏñµµ£¨Image to Burn£©'È»ºó Ñ¡ÔñÕýÈ·µÄ ISO µµ°¸¡£×îºó°´Ï ¿ªÊ¼£¨Start£©¡£
ʹÓà x86 µÄ LiveCD ¿ª»ú
Important: ËäÈ»Äú¿ÉÄÜûÓжàÓàµÄʱ¼ä¶ÁÍêÈ«²¿,µ«ÊÇÇëÖÁÉÙ¶ÁÍêÕâ¸ö¶ÎÂäÔÙ¼ÌÐø¡£
µ±ÄúÍê³É¹âÅ̵Ŀ̼,ÎÒÃÇÏÖÔÚÒª½«ËüÓÃÀ´¿ª»úÁË¡£ÒƳý¹âÅÌ,½«ÄúµÄÏµÍ³ÖØÐ¼¤»îÖÁ BIOS¡£Õâͨ³£Êǰ´ DEL,F1,»òÊÇ ESC,ÒÀÕÕÄúµÄ BIOS¡£ÔÙ BIOS ÀïÃæ,½« boot order ½« CD-ROM µÄµØÖ··Åµ½ hard disk Ç°Ãæ¡£ÕâÏîÉ趨ͨ³£»áÔÙ "CMOS Setup" µÄĿ¼ÀïÃæ¡£Èç¹ûÄúûÓÐ×ö´ËÏ×÷,ÏµÍ³ÖØÐ¼¤»îʱ½«»áÂÔ¹ý¹âÇýÖ±½Ó´ÓÓ²ÅÌ¿ª»ú¡£
ÏÖÔÚ½«°²×°¹âÅ̷ŵ½¹âÇýÄÚÈ»ºóÖØÐ¼¤»î¡£ÄúÓ¦¸Ã»á¿´µ½Ò»¸öºÜƯÁÁµÄ Gentoo Linux ¿ª»ú»Ãæ¡£ÔÚ´Ë,Äú¿ÉÒÔ°´Ï Enter ʹÓÃÔ¤ÉèµÄÉ趨½øÐпª»ú²½Öè,»òÊÇ×ÔÐÐÊäÈë LiveCD µÄ¿ª»úÑ¡Ïî¡£ÏÈÑ¡ÔñºËÐÄ,ËæºóΪ¿ª»úÑ¡Ïî¡£µ±Íê³Éʱ°´Ï Enter¡£
Ñ¡ÔñºËÐÄ£¿Ã»´í,ÎÒÃÇÔÚ LiveCD ÉÏÌṩ¶à¸öºËÐÄÈÃÄúʹÓá£Ô¤ÉèµÄΪ gentoo¡£ÆäËüµÄºËÐİüÀ¨ smp,Ö§³Ö¶à¸ö CPU µÄϵͳºÍ -nofb µÄ±äÁ¿½«¹Ø±Õ framebuffer¡£
Èç¹ûÄãÏ밲װʹÓà 2.4 ºËÐÄµÄ Gentoo Linux ½¨ÒéÄãʹÓà gentoo »ò gentoo-nofb,Èç¹ûÊÇ 2.6 ºËÐÄµÄ Gentoo Linux ½¨ÒéÄãʹÓà smp »ò smp-nofb¡£·ñÔòÄã¿ÉÄÜÓöµ½Ò»Ð©¼æÈÝÐÔÎÊÌâ¡£
ÒÔϵÄÁбíΪÎÒÃÇËùÌṩµÄºËÐÄÒÔ¼°¼ò½é£º
ºËÐÄ ½éÉÜ
gentoo Ô¤Éè 2.4 ºËÐIJ¢ÇÒÖ§³Ö framebuffer
smp 2.6 ºËÐÄÖ§³Ö¶à¸ö CPU
gentoo-nofb ºÍ gentoo Ò»Ñù,µ«ÊǹرÕÁË framebuffer µÄÖ§³Ö
smp-nofb ºÍ smp Ò»Ñù,µ«ÊǹرÕÁË framebuffer µÄÖ§³Ö
memtest86 ¼ì²éÄúµÄÄÚ´æÊÇ·ñÓдíÎó
ÄúÒ²¿ÉÒÔÌṩºËÐIJÎÊý¡£ËüÃǽ«´ú±íן÷¸öÑ¡ÔñÐпªÆô£¨»òÊǹرգ©µÄÉ趨¡£ÒÔϵÄÇåµ¥½«»á½âÊÍËùÓпÉÓõĺËÐÄÑ¡Ïî¡£
Code Listing 3: Options available to pass to your kernel of choice
- agpgart ¼ÓÔØ agpart £¨Èç¹ûÄúÓÐÏÔʾµÄÎÊÌ⣩- doscsi ѰÕÒ scsi ×°Öã¨ÓÐʱºò»áÈÃÄ³Ð©ÍøÂ翨ÎÞ·¨×÷Óã©- nodetect Èà hwsetup/kudzu ºÍ hotplug ÎÞ·¨Ö´ÐÐ- dofirewire ÔÚ initrd ¼ÓÔØ firewire Ä£¿é£¨firewire ¹âÇý,µÈµÈ£©- nousb ´Ó initrd ¹Ø±Õ usb Ä£¿é,¹Ø±Õ hotplug- nodhcp Èç¹ûÕì²âµ½ÍøÂ翨,Èà dhcp ÎÞ·¨×Ô¶¯¿ªÊ¼- doataraid ´Ó initrd ¼ÓÔØ raid Ä£¿é- dopcmcia ÆôÓà pcmcia ·þÎñ- noapm ¹Ø±Õ apm Ä£¿éµÄ¼ÓÔØ- noraid ¹Ø±Õ evms µÄÄ£¿é¼ÓÔØ- nohotplug ¹Ø±Õ hotplug ·þÎñ- ide=nodma Õë¶ÔÎÞ·¨Ê¹ÓÃµÄ ide ×°ÖÃÇ¿ÆÈ¹Ø±Õ dma- docache ÔÚÖ´ÐÐʱ½«¹âÅÌ¿ìÈ¡µ½ÄÚ´æ,ÈÃÄú¿ÉÒÔÔÚ°²×°Ê±¸ü»»¹âÅÌ¡£- dokeymap ¿ªÆô non-us ¼üÅ̵ÄÑ¡Ôñ- noapic ¹Ø±Õ apic £¨Èç¹ûÓ²¼þÓÐÎÊÌâ,ÍøÂ翨,scsi,µÈµÈ£©- hdx=stroke (Ö»ÊÊÓà smp/smp-nofb ºËÐÄ) ÔÊÐíÄãÔÚ BIOS ²»Ö§³Ö´óÈÝÁ¿Ó²ÅÌʱ,»¹ÊÇ¿ÉÒÔ·Ö¸îÕû¸öÓ²ÅÌ
ÏÖÔÚ¼¤»îÄúµÄ¹âÅÌ,Ñ¡ÔñºËÐÄ£¨Èç¹ûÄú¶ÔÔ¤ÉèµÄ gentoo ºËÐIJ»ÊǺÜÂúÒ⣩ºÍ¿ª»ú²ÎÊý¡£¾ÙÀýÀ´Ëµ,ÎÒÃǽ«ÒÔ gentoo ºËÐÄ,ʹÓà dopcmcia ΪºËÐIJÎÊý£º
Code Listing 4: ʹÓà LiveCD ¿ªÆô
boot: gentoo dopcmcia
Linux µÄ "root",×î¸ßȨÏÞʹÓÃÕß¡£ÄúÓ¦¸Ã»áÓÐÒ»¸ö root £¨"#"£©½Ó¿Ú³öÏÖÔÚĿǰµÄ²Ù¿ØÌ¨¡£Äú¿ÉÒÔʹÓà Alt-F2,Alt-F3,Alt-F4 À´»ØÇл»¡£ÈçÒª»Øµ½¸Õ²ÅµÄ»ÃæÇë°´ Alt-F1¡£
Èç¹ûÄúÕýÔÚʹÓÃÒ»¸ö·Ç us ¹æ¸ñµÄ¼üÅÌ,ÇëÈ·¶¨ÔÚ¿ª»úʱ¼ÓÈë dokeymap Ϊ¿ª»úÑ¡Ïî¡£
ÏÖÔÚÇë¼ÌÐøµ½ ÆäËüÓ²¼þÉ趨¡£
ÆäËüÓ²¼þÉ趨
µ± LiveCD ¿ªÆôʱ,Ëü½«»á³¢ÊÔÕì²âËùÓÐϵͳÉϵÄÓ²¼þÈ»ºó¼ÓÔØÏà¹ØµÄºËÐÄÄ£¿éÀ´Ö§³ÖÄúµÄÓ²¼þ¡£Ôڴ󲿷ݵÄÀý×Ó,Ëü×öµÄÏ൱²»´í¡£µ«ÊÇ,ÔÚijЩÀý×Ó£¨SPARC LiveCD ²»»á×Ô¶¯Õì²â£©,Ëü½«ÎÞ·¨×Ô¶¯¼ÓÔØÏà¹ØµÄϵͳģ¿é¡£Èç¹û PCi µÄ×Ô¶¯Õì²â´í¹ýÁËϵͳÉÏijЩӲ¼þ,Äú½«ÐèÒªÊÖ¶¯¼ÓÔØËüÃÇ¡£
ÒÔϵÄÀý×ÓÎÒÃǽ«¼ÓÔØ 8319too Ä£¿é£¨Ö§³ÖijÖÖÍøÂç½Ó¿Ú£©£º
Code Listing 5: ¼ÓÔØºËÐÄÄ£¿é
# modprobe 8139too
Ñ¡ÔñÐÔ£ºÎ¢µ÷Ó²ÅÌЧÄÜ
Èç¹ûÄúÊÇÒ»¸ö¸ß½×ʹÓÃÕß,Äú»òÐíÏëҪʹÓà hdparm ΢µ÷ÄúµÄ IDE Ó²ÅÌ¡£Ê¹Óà -tT µÄ²ÎÊý½«ÈÃÄú²âÊÔÓ²Å̵ÄЧÄÜ£¨Çë¶àÖ´Ðм¸´ÎÀ´È·¶¨±È½ÏÕýÈ·µÄÊýÖµ£©£º
Code Listing 6: ²âÊÔ´ÅÅÌЧÄÜ
# hdparm -tT /dev/hda
Ҫ΢µ÷,Äú¿ÉÒÔʹÓÃÒÔÏÂÈκη¶Àý£¨»òÊÇ×ÔÐвâÊÔ£©¡£Ç뽫 /dev/hda ¸ü¸ÄΪÄúËùҪ΢µ÷µÄ´ÅÅÌ£º
Code Listing 7: ΢µ÷Ó²ÅÌЧÄÜ
¼¤»î DMA: # hdparm -d 1 /dev/hda¼¤»î DMA + °²È«µÄÔö¼ÓЧÄÜÑ¡Ï # hdparm -d 1 -A 1 -m 16 -u 1 -a 64 /dev/hda
Ñ¡ÔñÐÔ£ºÊ¹ÓÃÕßÕʺÅ
Èç¹ûÄú´òËã¸øÓèÆäËüÈ˰²×°»·¾³µÄȨÏÞ,»òÊÇʹÓÃ·Ç root µÄȨÏÞÖ´ÐÐ irssi £¨°²È«¿¼Á¿£©Äú½«ÐèÒª½¨Á¢Ïà¹ØµÄʹÓÃÕßÕʺź͸ü¸Ä root ÃÜÂë¡£
Òª¸ü¸Ä root ÃÜÂë,ʹÓà passwd ¹¤¾ß£º
Code Listing 8: ¸ü¸Ä root ÃÜÂë
# passwdNew password: £¨ÊäÈëÐÂÃÜÂ룩Re-enter password: £¨ÔÙ´ÎÊäÈëÐÂÃÜÂ룩
Òª½¨Á¢Ê¹ÓÃÕßÕʺÅ,ÎÒÃÇÏÈÐèÒªÊäÈëËûÃǵÄÕʺÅÈ»ºóÃÜÂë¡£ÎÒÃǽ«Ê¹Óà useradd ºÍ passwd Íê³ÉÕâЩ¹¤×÷¡£ÏÂÃæµÄÀý×Ó,ÎÒÃǽ«½¨Á¢Ò»¸öʹÓÃÕß½Ð×ö "john"¡£
Code Listing 9: ½¨Á¢Ò»¸öʹÓÃÕßÕʺÅ
# useradd john# passwd johnNew password: £¨ÊäÈë john µÄÃÜÂ룩Re-enter password: £¨ÔÙ´ÎÊäÈë john µÄÃÜÂ룩
ÄúÒ²¿ÉÒÔÀûÓà su ´Ó root ±ä±ãµ½Äú¸Õ½¨Á¢µÄÕʺţº
Code Listing 10: ±ä¸üĿǰʹÓÃÕßÕß
# su john -
Ñ¡ÔñÐÔ£º¿ªÆô SSH ·þÎñÆ÷
Èç¹ûÄúÏëÔÚ°²×°¹ý³ÌÖÐÈÃÆäËüʹÓÃÕßʹÓÃÄúµÄ¼ÆËã»ú£¨»òÐíÊǰïæÄú°²×° Gentoo µÄÈË£©,Äú½«ÐèÒª½¨Á¢Ò»¸öʹÓÃÕßÕʺŸøËûÃÇ,ÌṩÄúµÄ root ÃÜÂë¸øËûÃÇ£¨Ö»ÓÐ ÔÚÄú ÍêÈ«ÐÅÈÎ µÄ×´¿öÏ£©¡£
Òª¿ªÆô SSH ·þÎñÆ÷,Ö´ÐÐÒÔÏÂÖ¸Á
Code Listing 11: ¿ªÆô ssh ·þÎñÆ÷
# /etc/init.d/sshd start
ҪʹÓà sshd,Äú½«±ØÐèÏÈÉ趨ÄúµÄÍøÂç¡£ÏÖÔÚÇë¼ÌÐø¿´É趨ÄúµÄÍøÂç¡£ 3. Éè¶¨ÍøÂç
3.a. Äú¿ÉÒÔ²»ÐèÒª,µ«ÊÇ©ì
Ë¿ÉÒÔ²»Óã¿
ÒÀÕÕÄúËùÑ¡ÔñµÄ°²×°·½Ê½,Äú¿ÉÒÔÒ²¿ÉÒÔ²»ÐèÒªÍøÂçÁª»ú¡£ÎÒÃÇûÓÐÔÚ¸ãÂÒÄú =)
´óÖÂÀ´Ëµ,Äú½«ÐèÒªÉè¶¨ÍøÂç¡£µ«ÊÇ Gentoo Ò²Ìṩ²»ÐèÒªÍøÂçÁª»úµÄ°²×°¡£ÕâÖÖÌØÀýÖ»ÊÊÓÃÓÚ Gentoo Universal LiveCDs£º
ΪʲôÎÒÐèÒªÍøÂçÁª»ú£¿
´ÓÍøÂç°²×° Gentoo ½«»áÈÃÄúµÄ°²×°Ê¹ÓÃ×îеÄÌ×¼þ¡£Äú½«»áʹÓÃ×î½üÆÚµÄ Portage tree £¨¹ÜÀíÎÒÃÇÌṩµÄÌ×¼þµÄ¹¤¾ß£©¡£ÕâÒ²ÊÇΪʲôÎÒÃǽ¨ÒéÄúʹÓÃÍøÂç°²×°¡£µ«ÊÇ,ÓÐЩʹÓÃÕß²»ÄÜ»òÊDz»ÏëÔÚ°²×°Öн«¼ÆËã»úÁª»úÖÁÍøÂç¡£
Èç¹ûÄúÐèҪʹÓõ½ Gentoo Universal LiveCD¡£Õâ·Ý LiveCD °üº¬×ÅÔʼÂð, portage-tree µÄ¿ìÕպͰ²×° Gentoo »ù´¡ÏµÍ³»òÊÇÖ®ºóµÄ¹¤¾ß¡£Õâ¸ö·½·¨ÊÇÓдú¼ÛµÄ£ºËäÈ»²î±ð²»Ò»¶¨»áºÜ´ó,Äú½«ÎÞ·¨Ê¹Óõ½×îа汾µÄÈí¼þ¡£
Èç¹ûÄúÏëʹÓÃÎÞÍøÂç»·¾³µÄ°²×°·½Ê½,Äú½«ÐèҪʹÓõ½ Universal LiveCD,È»ºóÌø¹ýÒÔϵIJ¿·Ý´Ó ×¼±¸´ÅÅÌ ¼ÌÐø¡£
Ñ¡ÔñÐÔ£ºÉ趨´úÀí·þÎñÆ÷
Èç¹ûÄúÊÇ͸¹ý´úÀí·þÎñÆ÷Áª»úÖÁÍøÂç,Äú½«ÐèÒªÔÚ°²×°¹ý³ÌÖÐÉ趨Ïà¹ØµÄ´úÀí·þÎñÆ÷×ÊÁÏ¡£Òª¶¨ÒåÒ»¸ö´úÀí·þÎñÆ÷·Ç³£¼òµ¥£ºÄúÖ»ÐèÒªÉ趨һ¸ö±äÁ¿°üº¬×ÅÄúµÄ´úÀí·þÎñÆ÷×ÊÁÏ¡£
Ôڴ󲿷ݵÄÀý×ÓÀï,Äú¿ÉÒÔÖ±½Ó½«±äÁ¿¶¨ÒåΪ´úÀí·þÎñÆ÷µÄÖ÷»úÃû³Æ¡£¾ÙÀýÀ´Ëµ,ÎÒÃǼÙÉè´úÀí·þÎñÆ÷Ϊ proxy.gentoo.org ¶ø port Ϊ 8080¡£
Code Listing 1: ¶¨Òå´úÀí·þÎñÆ÷
£¨Èç¹ûÊÇ HTTP ´úÀí·þÎñÆ÷£©# export http_proxy="http://proxy.gentoo.org:8080"£¨Èç¹ûÊÇ FTP ´úÀí·þÎñÆ÷£©# export ftp_proxy="ftp://proxy.gentoo.org:8080"£¨Èç¹ûÊÇ RSYNC ´úÀí·þÎñÆ÷£©# export RSYNC_PROXY="proxy.gentoo.org:8080"
Èç¹ûÄúµÄ´úÀí·þÎñÆ÷ÐèҪʹÓÃÕßÕʺż°ÃÜÂë,Çë°´ÕÕÒÔÏ·½Ê½¶¨Òå±äÁ¿£º
Code Listing 2: ÔÚ´úÀí·þÎñÆ÷±äÁ¿¼ÓÈëÕʺż°ÃÜÂë
[url]http://username:password@server[/url]
¾ÙÀýÀ´Ëµ, HTTP ´úÀí·þÎñÆ÷ÐèÒªÒ»¸öÕʺŠ"john" ÃÜÂë "f00b_r"£º
Code Listing 3: ÐèÈÏÖ¤µÄ´úÀí·þÎñÆ÷
# export http_proxy="http://john:f00b_r@proxy.gentoo.org:8080"
3.b. ×Ô¶¯ÍøÂçÕì²â
»òÐíÒѾ¿ÉÒÔÁË£¿
Èç¹ûÄúµÄϵͳÓн«ÍøÂ翨Áª»úµ½Ò»Ì¨ DHCP ·þÎñÆ÷,ºÜÓпÉÄÜÄúµÄÍøÂçÁª»úÒѾ×Ô¶¯É趨Íê³ÉÁË¡£Èç¹ûÈç´Ë,Äú½«¿ÉÒÔÕ¼ÓÐ LiveCD µÄºÃ´¦,Èç ssh,scp, ping,irssi,wget ºÍ links,µÈµÈ¡£
Èç¹ûÄúµÄÍøÂçÒѾÉ趨ºÃÁË,Äú¿ÉÒÔʹÓà /sbin/ifconfig Ö¸ÁîÁгö³ýÁË lo ÍøÂç½Ó¿ÚµÄÇåµ¥Èç etho0£º
Code Listing 4: /sbin/ifconfig ²é¿´¿ÉÓõÄÍøÂ翨
# /sbin/ifconfigeth0 Link encap:Ethernet HWaddr 00:50:BA:8F:61:7A inet addr:192.168.0.2 Bcast:192.168.0.255 Mask:255.255.255.0 inet6 addr: fe80::50:ba8f:617a/10 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:1498792 errors:0 dropped:0 overruns:0 frame:0 TX packets:1284980 errors:0 dropped:0 overruns:0 carrier:0 collisions:1984 txqueuelen:100 RX bytes:485691215 (463.1 Mb) TX bytes:123951388 (118.2 Mb) Interrupt:11 Base address:0xe800
²âÊÔÍøÂç
»òÐíÄú»áÏëÒª³¢ÊÔ ping ÍøÂ繫˾µÄ DNS ·þÎñÆ÷£¨¿ÉÒÔÔÚ /etc/resov.conf£©»òÊÇÄúËùÑ¡µÄÍøÖ·,ÕâÖ»ÊÇΪÁ˲鿴ÄúµÄ·â°üÊÇ·ñÄÜ´«ËÍÍøÂç,DNS ½âÎöÊÇ·ñÕý³£,µÈµÈ©ì
Code Listing 5: ²âÊÔÍøÂç
# ping -c 3 [url]www.yahoo.com[/url]
ÄúµÄÍøÂçÓÐÕý³£Âð£¿Èç¹ûÓÐ,ÇëÌø¹ýÒÔϲ¿·Ý,´Ó ×¼±¸´ÅÅÌ ¼ÌÐø¡£Èç¹ûûÓÐ,¿Éϧ,Äú½«Òª¸üºÃÔËÒ»µã,ÇëÍùϼÌÐø :)
3.c. ×Ô¶¯ÍøÂçÉ趨
Èç¹ûÄúµÄϵͳӵÓжà¸öÍøÂ翨,ËüÃǽ«»áÒÔ eth0,eth1,µÈÒÔ´ËÀàÍÆ¡£ÇëÈ·ÈÏÄúµÄÏÔʾ¿¨¿ÉÒÔʹÓá£ËùÓеÄÎļþ½«»áÒÔ eth0 ΪʹÓ÷¶Àý¡£
Èç¹ûÄúµÄÍøÂç²»ÄÜ×Ô¶¯×÷ÓÃ,Äú¿ÉÒÔʹÓÃÓÐЩ°²×°Ã½½éÌṩµÄ net-setup£¨Õý³£ÍøÂ磩,adsl-setup£¨ADSL-ʹÓÃÕߣ©¡£»òÊÇ pptp£¨PPTPʹÓÃÕß - Ö»ÊÊÓÃÓÚ x86£©¡£
Èç¹ûÄúʹÓõݲװ·½Ê½Ã»ÓÐÌṩÒÔÉÏËù˵Ã÷µÄ¹¤¾ß»òÊÇÎÞ·¨Õý³£Ê¹ÓÃÍøÂç,Çë´Ó ÊÖ¶¯ÍøÂçÉ趨 ¼ÌÐø¡£
? ÆÕͨµÄÇøÍøÊ¹ÓÃÕßÓ¦¸ÃÒª´Ó Ô¤É裺ʹÓà net-setup
? ADSL µÄʹÓÃÕßÓ¦¸ÃÒª´Ó ÆäËüÑ¡Ôñ£ºÊ¹Óà RP-PPPoE ¼ÌÐø
? PPTP ʹÓÃÕßÓ¦¸ÃÒª´Ó ÆäËüÑ¡Ôñ£ºÊ¹Óà PPTP ¼ÌÐø
Ô¤É裺ʹÓÃnet-setup
Èç¹ûÍøÂçûÓÐ×Ô¶¯É趨,Éè¶¨ÍøÂç×î¼äµ¥µÄ·½Ê½¾ÍÊÇÖ´ÐÐ net-setup£º
Code Listing 6: Ö´ÐÐ net-setup
# net-setup eth0
net-setup ½«»áÎÊÄúһЩ¹ØÓÚÄúµÄÍøÂç»·¾³µÄÎÊÌâ¡£µ±ÄúÍê³ÉµÄʱºò,ÄúÓ¦¸Ã»áÓÐÒ»¸ö¿ÉÓõÄÍøÂçÁª»ú¡£¾ÍºÍ¸Õ¸ÕËù½²µÄÒ»Ñù,ÄúÓ¦¸ÃÒª²âÊÔÄúµÄÍøÂçÁª»ú¡£Èç¹û²âÊÔÕý³£,¹§Ï²£¡ÄúÏÖÔÚ¿ÉÒÔ¿ªÊ¼°²×° Gentoo ÁË¡£ÇëÌø¹ýÒÔϵIJ¿·Ý´Ó ×¼±¸´ÅÅÌ ¿ªÊ¼¡£
Èç¹ûÄúµÄÍøÂ绹ÊÇÎÞ·¨Õý³£ÔË×÷,Çë´Ó ÊÖ¶¯ÍøÂçÉ趨 ¼ÌÐø¡£
ÆäËüÑ¡Ôñ£ºÊ¹Óà RP-PPPoE
¼ÙÉèÄúÐèÒª PPPoE Áª»úÖÁÍøÂç,LiveCD £¨Èκΰ汾£©¶¼»áÓÐÌṩ¼òµ¥µÄ rp-pppoe ¹©ÄúʹÓá£Ê¹ÓÃÎÒÃÇÌṩµÄ adsl-setup ³ÌÐòÀ´É趨ÄúµÄÁª»ú¡£Äú½«»á±»´øÈëÍøÂç×°ÖÃÁª»úµ½ adsl µ÷ÖÆ½âµ÷Æ÷µÄ»Ãæ¡£Õâ¸ö»Ãæ°üÀ¨ÁËÄúµÄÕʺÅ,ÃÜÂë,DNS IP ºÍÎÊÄúÊÇ·ñÐèÒª¼òÒ׵ķÀ»ðǽ¡£
Code Listing 7: ʹÓà rp-pppoe
# adsl-setup# adsl-start
Èç¹ûÓгö´í,Çë×Ðϸ¼ì²é /etc/ppp/pap-secrets »òÊÇ /etc/ppp/chap-secrets ²é¿´ÄúµÄÕʺż°ÃÜÂë¡£Èç¹ûÄúµÄÍøÂç×°Öò»´æÔÚ,Äú½«Òª¼ÓÔØÏà¹ØµÄÍøÂçÄ£¿é¡£ÔÚÕâ¸ö×´¿ö,ÄúÓ¦¸Ã´Ó ÊÖ¶¯ÍøÂçÉ趨 ¼ÌÐø¡£
Èç¹ûÒ»ÇÐÕý³£,Çë´Ó ×¼±¸´ÅÅÌ ¼ÌÐø¡£
ÆäËüÑ¡Ôñ£ºÊ¹Óà PPTP
Èç¹ûÄúÐèÒª PPTP Ö§³Ö,Äú¿ÉÒÔʹÓÃÎÒÃÇµÄ LiveCD ÌṩµÄ pptpclient¡£µ«ÊÇÄú½«ÐèÒªÏÈÈ·¶¨ÄúµÄÉ趨ÎÞÎ󡣱༠/etc/ppp/pap-secrets »òÊÇ /etc/ppp/chap-secrets È·¶¨Ëü°üº¬×ÅÕýÈ·µÄÕʺż°ÃÜÂ룺
Code Listing 8: ±à¼ /etc/ppp/chap-secrets
# nano -w /etc/ppp/chap-secrets
È»ºóÒÀÕÕÐèÒªµ÷Õû /etc/ppp/options.pptp£º
Code Listing 9: ±à¼ /etc/ppp/options.pptp
# nano -w /etc/ppp/options.pptp
µ±É趨Íê³É,Ö»ÒªÖ´ÐÐ pptp£¨°üÀ¨ÄúÔÚ options.pptp ²»ÄÜÉ趨µÄ£©Áª»úÖÁ·þÎñÆ÷£º
Code Listing 10: Áª»úÖÁ²¦ºÅ·þÎñÆ÷
# pptp <server ip>
ÏÖÔÚ´Ó ×¼±¸´ÅÅÌ ¼ÌÐø¡£ 3.d. ÊÖ¶¯ÍøÂçÉ趨
¼ÓÔØÏà¹ØÍøÂçÄ£¿é
µ± LiveCD ¼¤»îʱ,Ëü»áÕì²âÄúËùÓеÄÓ²¼þ×°ÖÃÈ»ºó¼ÓÔØÏà¹ØµÄºËÐÄÄ£¿é£¨Çý¶¯³ÌÐò£©À´Ö§³ÖÄúµÄÓ²¼þ¡£Ôڴ󲿷ݵÄÀý×ÓÀ´Ëµ,Ëü×öµÄ·Ç³£ºÃ,µ«ÊÇÔÚijЩÇé¿öÏÂ,Ëü»òÐíÎÞ·¨×Ô¶¯¼ÓÔØÄúËùÐèÒªµÄºËÐÄÄ£¿é¡£
Èç¹ûÄúÎÞ·¨Ê¹Óà net-setup »òÊÇ adsl-setup,ÄÇÄú¾Í¿ÉÒÔ¼ÙÉèÄúµÄÍøÂ翨ÎÞ·¨ÔÚʵʱ±»ÕÒµ½¡£Õâ´ú±í×ÅÄú½«ÒªÊÖ¶¯¼ÓÔØÏà¹ØºËÐÄÄ£¿é¡£
ÒªÕÒ³öÎÒÃÇ¿ÉÒÔÓõĺËÐÄÄ£¿é,ʹÓà ls£º
Code Listing 11: ËÑѰÌṩµÄÄ£¿é
# ls /lib/modules/`uname -r`/kernel/drivers/net
Èç¹ûÄúÕÒµ½ÄúµÄÍøÂ翨ËùÓõÄÇý¶¯³ÌÐò,ʹÓà modprobe ¼ÓÔØÕâ¸öºËÐÄÄ£¿é£º
Code Listing 12: ʹÓà modprobe ¼ÓÔØºËÐÄÄ£¿é
£¨¾ÙÀýÀ´Ëµ,ÎÒÃǽ«¼ÓÔØ pcnet32 Ä£¿é£©# modprobe pcnet32
Òª¼ì²éÄúµÄÍøÂ翨ÊÇ·ñ±»Õì²âµ½,ʹÓà ifconfig À´Õì²â¡£Ò»¸ö±»Õì²âµ½µÄÍøÂ翨½«»áÀàËÆÒÔϱ»ÁгöÀ´£º
Code Listing 13: ²âÊÔÍøÂ翨ÊÇ·ñ¿ÉÓÃ,³É¹¦
# ifconfig eth0eth0 Link encap:Ethernet HWaddr FE:FD:00:00:00:00 BROADCAST NOARP MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
Èç¹ûÄúÊÕµ½ÒÔÏ´íÎó,ÄÇÃ´ÍøÂ翨ÔòÊÇû±»Õì²âµ½£º
Code Listing 14: ²âÊÔÍøÂ翨ÊÇ·ñ¿ÉÓÃ,ʧ°Ü
# ifconfig eth0eth0: error fetching interface information: Device not found
¼ÙÉèÄúÏÖÔÚÓÐÒ»Õű»Õì²âµ½µÄÍøÂ翨,Äú¿ÉÒÔÖØÐ³¢ÊÔ net-setup »òÊÇ adsl-setup £¨ÏÖÔÚÓ¦¸Ã¿ÉÒÔÓÃÁË£©,µ«ÊÇ,¶ÔÓÚÆäËüÈË,ÎÒÃÇÏÖÔÚ½«ÎªÄú½âÊÍÈçºÎÊÖ¶¯Éè¶¨ÍøÂç¡£
Ñ¡ÔñÒÔÏÂÆäÖÐÒ»¸öÊÊÓõIJ¿·ÝÀ´É趨ÄúµÄÍøÂ磺
? ʹÓà DHCP À´×Ô¶¯Ë÷È¡ IP
? ×¼±¸ÎÞÏßÍøÂç Èç¹ûÄúÓÐÎÞÏßÍøÂ翨µÄ»°
? Á˽âÍøÂç´Ê»ã ½«½âÊÍÄú¸Ã¶®µÃÍøÂçÉ趨
? ʹÓà ifconfig ºÍ route ½«½âÊÍÈçºÎÊÖ¶¯Éè¶¨ÍøÂç ʹÓà DHCP
DHCP £¨Dynamic Host Configuration Protocol£© ¿ÉÒÔÈÃÄú×Ô¶¯Ë÷È¡Ïà¹ØÍøÂç×ÊÁÏ( IPλÖÃ, netmask,broadcast address,gateway,nameserver µÈµÈ£©¡£µ«ÊÇÔÚÄúµÄÍøÂçÄÚÒ»¶¨ÒªÓÐÒ»¸ö¿ÉÓÃµÄ DHCP ·þÎñÆ÷£¨»òÊÇÄúµÄÌṩÉÌÌṩ DHCP ·þÎñ£©¡£ÒªÍøÂç½Ó¿Ú×Ô¶¯Ë÷È¡Ïà¹Ø×ÊÁÏ,ʹÓà dhcpcd£º
Code Listing 15: ʹÓà dhcpcd
# dhcpcd eth0Ò»Ð©ÍøÂç¹ÜÀíÔ±¿ÉÄÜ»áÒªÇóÄãʹÓÃDHCP ·þÎñÆ÷ÌṩµÄÖ÷»úÃû³Æ¼°ÁìÓòÃû³Æ¡£Èç¹ûÊÇÕâÖÖÇé¿ö,ʹÓÃ# dhcpcd -HD eth0
Èç¹û³É¹¦£¨³¢ÊÔ ping Ò»Ð©ÍøÂç·þÎñÆ÷,Èç Google£©,ÄÇÄú¾Í¿ÉÒÔÌøµ½Ï¸ö²¿·Ýµ½ ×¼±¸´ÅÅÌ¡£ Á˽âÍøÂç´Ê»ã
Note: Èç¹ûÄúÖªµÀÄúµÄ IP µØÖ·,broadcast address,netmask ºÍ nameserver,ÄÇÄú¿ÉÒÔÌø¹ýÕâ¸ö½×¶Î´Ó ʹÓà ifconfig ºÍ route ¼ÌÐø¡£
Èç¹ûÒÔÉ϶¼Ê§°Ü,Äú½«ÐèÒªÊÖ¶¯Éè¶¨ÍøÂç¡£²»ÒªÅÂ,Õâ¸öºÜ¼òµ¥¡£µ«ÊÇÎÒÃǽ«ÒªÎªÄú½âÊÍһЩÄܰïÖúÄúµÄÍøÂçÐÅÏ¢·½±ãÄú½øÐÐÉ趨¡£µ±Äú¶ÁÍêÕâ¸ö²¿·Ýʱ,Äú½«»áÖªµÀʲôÊÇÒ»¸ö gateway,ʲôÊÇ netmask,ºÍ Ϊʲô»áÓÐ broadcast µØÖ·ºÍΪʲôÄúÐèÒª nameservers¡£
ÔÚÒ»¸öÍøÂç,»úÆ÷¶¼ÊÇÓà IP λÖã¨Internet Protocol address£©À´±æ±ðµÄ¡£ÕâЩµØÖ·ÎªËÄ×éÓÚ 0 µ½ 255 Ö®¼äËù×éºÏµÄ¡£Õâ¾ÍÊÇÎÒÃÇËù¿´µ½µÄ¡£ÔÚÏÖʵÀ´Ëµ,ÕâЩ IP µØÖ·ÊÇ 32 λµÄ£¨Ò»ºÍÁ㣩¡£ÏÖÔÚÀ´¿´Ò»¸ö·¶Àý£º
Code Listing 18: IPµØÖ·µÄ·¶Àý
IP Address (numbers): 192.168.0.2IP Address (bits): 11000000 10101000 00000000 00000010 -------- -------- -------- -------- 192 168 0 2
ÔÚÕâ¸öÍøÂçÄÚÕâ¸ö IP µØÖ·ÊǶÀÌØµÄ,£¨Àý£ºËùÓÐÄú¿ÉÒÔÁ¬µ½µÄÖ÷»ú¶¼Ò»¶¨ÓÐÒ»¸ö¸ö±ðµÄ IP µØÖ·£©¡£ÎªÁËÒª¿ÉÒÔ·Ö±æÃ¿¸öÍøÂçÄÚµÄ IP µØÖ·,IP µØÖ·¿ÉÒÔ·Ö³ÉÁ½ÖÖ£º ÍøÂç ºÍ Ö÷»ú¡£
netmask ÊÇÓÃÀ´·Ö¿ª,ÁíÒ»¸öÒ»ºÍÁãµÄ×éºÏ¡£Õ⽫»á°ÑÒ»¸öÍøÂçµÄ IP ÇøÓò»¯¡£Ò»²¿·ÝÎªÍøÂçµÄ²¿·Ý,ÁíÒ»²¿·ÝΪÖ÷»úµÄ²¿·Ý¡£ºÍƽ³£Ò»Ñù,netmask ¿ÉÒÔдΪ IP λÖá£
Code Listing 19: ÍøÂçºÍÖ÷»úµÄÇø±ð·¶Àý
IP-address: 192 168 0 2 11000000 10101000 00000000 00000010Netmask: 11111111 11111111 11111111 00000000 255 255 255 0 +--------------------------+--------+ ÍøÂç Ö÷»ú
»»¾ä»°Ëµ, 192.168.0.14 »¹ÊÇÎÒÃÇ·¶ÀýÍøÂçµÄÒ»²¿·Ý,µ«ÊÇ 192.168.1.2 ²»ÊÇ¡£
broadcast£¨¹ã²¥£©µØÖ·ÎªÒ»¸ö ÔÚͬһ¸öÍøÂçÉϵÄÒ»¸ö IP µØÖ·,µ«ÊÇÖ»ÓÐÒ»¸öÖ÷»ú²¿·Ý¡£Ã¿¸öÔÚÍøÂçÉϵÄÖ÷»ú½«ÌýÈ¡Õâ¸ö IP λÖá£ÕâÊÇÓÃÀ´ÌýÈ¡¹ã²¥·â°üµÄÒâ˼¡£
Code Listing 20: ¹ã²¥µØÖ·
IP-address: 192 168 0 2 11000000 10101000 00000000 00000010Broadcast: 11000000 10101000 00000000 11111111 192 168 0 255 +--------------------------+--------+ ÍøÂç Ö÷»ú
ΪÁËҪȷ±£¿ÉÒÔÁª»úÖÁÍøÂç,ÄúÒ»¶¨ÒªÖªµÀÄǸöÖ÷»ú·ÖÏíÍøÂçÁª»ú¡£Õâ¸öÖ÷»úÔòÊǽÐ×ö gateway¡£ËüÒ²ÊÇÒ»¸öÆÕͨµÄÖ÷»ú,Ëü½«»áÓÐÒ»¸ö³£¼ûµÄ IP λÖã¨Èç 192.168.0.1£©¡£
ÎÒÃÇ֮ǰ½²¹ý,ÿ̨Ö÷»ú¶¼ÓÐ×Ô¼ºµÄ IP µØÖ·¡£ÎªÁËÒªÄÜÒÔÃû³Æ£¨¶ø²»ÊÇ IP λÖã©Áª»úµ½Ö÷»úÉÏ,Äú½«ÐèÒªÒ»¸ö·ÒëÃû×ֵķþÎñ£¨Àý£ºdev.gentoo.org£©µ½Ò»¸ö IP µØÖ·£¨Àý£º64.5.62.82£©¡£ÕâÖÖ·þÎñ¾Í½Ð×ö name service£¨Ãû³Æ·þÎñÆ÷£©¡£ÒªÊ¹ÓÃÕâ¸ö·þÎñ,ÄúÒ»¶¨ÒªÔÚ /etc/resolv.conf ¶¨Ò»Ïà¹ØµÄ name server¡£
ÔÚ²¿·ÝµÄÀý×Ó,ÄúµÄ gateway Ò²»áÌṩ nameserver¡£²»È»Äú½«ÒªÊäÈëÄúµÄÍøÂçÌṩÉÌËùÌṩ¸øÄúµÄ¡£
×ܽá,Äú½«ÒªÔÚ¼ÌÐøÖ®Ç°ÓµÓÐÒÔÏÂ×ÊÁÏ£º
ÍøÂçÀà±ð ·¶Àý
ÄúµÄ IP λÖà 192.168.0.2
Netmask 255.255.255.0
Broadcast 192.168.0.255
Gateway 192.168.0.1
Nameserver(s) 195.130.130.5, 195.130.130.133
ʹÓà ifconfig ºÍ route
É趨ÄúµÄÍøÂçÐèÒªÈý¸ö²½Öè¡£µÚÒ»,ÎÒÃǽ«Ê¹Óà ifconfig É趨ÎÒÃÇµÄ IP λÖá£È»ºóÎÒÃǽ«ÐèÒª route£¨Â·ÓÉ£©µ½ÎÒÃÇµÄ gateway ÉÏ¡£È»ºóÔÚ½«Ãû³Æ·þÎñÆ÷·Åµ½ /etc/resolv.conf¡£
ÒªÉ趨 IP λÖÃ,Äú½«ÐèÒªÄúµÄ IP λÖÃ,¹ã²¥Î»ÖÃºÍ netmask¡£È»ºóÖ´ÐÐÒÔÏÂÖ¸Áî,½« ${IP_ADDR} ¸ü¸Ä³ÉÄúµÄ IP λÖÃ, ${BROADCAST} ΪÄúµÄ¹ã²¥Î»ÖÃºÍ ${NETMASK} ΪÄúµÄ netmask£º
Code Listing 21: ʹÓà ifconfig
# ifconfig eth0 ${IP_ADDR} broadcast ${BROADCAST} netmask ${NETMASK} up
ÏÖÔÚʹÓà route É趨ÄúµÄ·ÓÉ¡£½« ${GATEWAY} ¸ü¸ÄΪÄúµÄ gateway IP λÖãº
Code Listing 22: ʹÓà route
# route add default gw ${GATEWAY}
ÏÖÔÚʹÓÃÄú×îϲ»¶µÄ±à¼Æ÷£¨ÒÔÎÒÃǵÄÀý×Ó,ÎÒÃÇʹÓà nano£©±à¼ /etc/resolv.conf£º
Code Listing 23: ½¨Á¢ /etc/resolv.conf
# nano -w /etc/resolv.conf
ÏÖÔÚ½«ÄúµÄ nameserv £¨Ãû³Æ·þÎñÆ÷£©°´ÕÕÒÔÏµİæÃæÌîÈë¡£ÇëÈ·¶¨½« ${NAMESERVER1} ºÍ ${NAMESERVER2} ¸ü¸ÄΪÏà¹ØµÄÃû³Æ·þÎñÆ÷µÄλÖãº
Code Listing 24: /etc/resolv.conf °æÃæ
nameserver ${NAMESERVER1}nameserver ${NAMESERVER2}
Íê³ÉÁË¡£ÏÖÔÚ ping Ò»Ð©ÍøÂç·þÎñÆ÷£¨Èç Google£©²âÊÔÄúµÄÍøÂçÁª»ú¡£Èç¹û³É¹¦,¹§Ï²£¡ÄúÏÖÔÚÒѾ¿ÉÒÔ×¼±¸°²×° Gentoo ÁË¡£Çë´Ó ×¼±¸´ÅÅÌ ¼ÌÐø 4. ×¼±¸´ÅÅÌ
4.a. ½éÉÜÇø¿é×°ÖÃ
Çø¿é×°Öã¨Block Devices£©
ÎÒÃǽ«×ÐϸµÄ½éÉÜ Gentoo Linux ºÍ ÕûÌåµÄLinux µÄ´ÅÅÌ·½Ê½,°üÀ¨ Linux µµ°¸ÏµÍ³,·ÖÇø,ºÍÇø¿é×°Öá£È»ºó,µ±ÄúÁ˽â´ÅÅ̺͵µ°¸ÏµÍ³,Äú½«»áѧµ½ÈçºÎΪÄúµÄ Gentoo Linux °²×°É趨·ÖÇøºÍµµ°¸ÏµÍ³¡£
Ê×ÏÈ,ÎÒÃǽ«Òª½éÉÜ Çø¿é×°Öá£×îÓÐÃûµÄÇø¿é×°Öôó¸Å¾ÍÊÇ´ú±í Linux ϵͳÉϵĵÚÒ»¸ö IDE ´ÅÅÌ,/dev/hda Èç¹ûÄúµÄϵͳʹÓà SCSI »ò SATA ´ÅÅÌ,ÄÇÄúµÄµÚÒ»¸ö´ÅÅ̽«»áÊÇ /dev/sda¡£
ÒÔÉϵÄÇø¿é×°Öôú±í×Å´ÅÅ̵Ľӿڡ£Ê¹ÓÃÕß¿ÉÒÔ²»Óõ£ÐÄÄúµÄ´ÅÅÌÊÇ·ñΪ IDE,SCSI »òÊÇÆäËü,²¢ÇÒʹÓóÌÐòÀ´Ê¹ÓÃÕâÐ©Çø¿é×°Öá£Õâ¸ö³ÌÐò¿ÉÒÔÔÚ´ÅÅÌÉÏдÈë¶à¸öËæ»úµÄ 512 byte Çø¿é¡£
·ÖÇø
ÀíÂÛÉÏËäÈ»Äú¿ÉÒÔʹÓÃÕû¸ö´ÅÅÌ·ÅÖÃÄúµÄ Linux ϵͳ,µ«ÊÇʵÎñÉϼ¸ºõûÓÐÈËÕâô×ö¡£Õû¸ö´ÅÅ̽«»á±»·ÖΪÆäËüСһµãµÄ´óС,²¢¿ÉÒÔ¸üºÃµÄ¹ÜÀí¡£x86 µÄϵͳ½ÐËû ·ÖÇø£¨partitions£©¡£
·ÖÇø×ܹ²ÓÐÈýÀࣺprimary,extended ºÍ logical¡£
Ò»¸ö primary ·ÖÇøÊÇÒ»¸ö°üº¬ MBR£¨Master Boot Record£©µÄ·ÖÇø¡£Ò»¸ö MBR ·Ç³£Ð¡£¨512 byte£©Ö»Äܶ¨Òå³ÉËĸö·ÖÇø£¨´Ó /dev/hda1 µ½ /dev/hda4£©¡£
Ò»¸ö extended ·ÖÇøÊÇÒ»¸öÌØ±ðµÄ primary ·ÖÇø£¨Òâ˼ÊÇ˵ extended ·ÖÇøÒ»¶¨Òª´ÓËĸö¿ÉÓÃµÄ primary ·ÖÇøÄÚÀ©Õ¹£©¶ø¿ÉÒÔ½¨Á¢¸ü¶àµÄ·ÖÇø¡£ÕâÖÖ·ÖÇøÔ±¾ÊDz»´æÔÚµÄ,µ«ÊÇËĸö·ÖÇøÌ«ÉÙÁË,Ëü»áµ®ÉúÊÇÒòΪҪÀ©Õ¹¶ø²»»áÒÅʧ·´Ïò¼æÈÝ¡£
Ò»¸ö logical ·ÖÇøÊÇÔÚ extended ·ÖÇøÄÚ¡£ËûÃǵ͍Òå²»ÊÇ·ÅÔÚ MBR,µ«ÊÇÊÇ·ÅÔÚ extended ·ÖÇø¡£
½ø½×´¢´æ
x86 µÄ LiveCD Ö§³Ö EVMS ºÍ LVM2¡£EVMS ºÍ LVM2 ½«»áÔöÇ¿ÄúÉ趨·ÖÇøµÄµ¯ÐÔ¶È¡£ÔÚ°²×°¹ý³ÌÖÐ,ÎÒÃǽ«»á½«½¹µã·ÅÔÚ "Õý³£" µÄ·Ö¸î·½Ê½,Ö»ÊÇΪÁËÈÃÄúÖªµÀÖ§³Ö EVMS ºÍ LVM2 Óб»Ö§³Ö¡£
4.b. ²ß»®Ò»¸ö·ÖÇø¼Æ»
Ô¤ÉèµÄ·ÖÇø²ß»®
Èç¹ûÄú²»´òËã²ß»®Ò»¸ö·Ö¸î¼Æ»,Äú¿ÉÒÔʹÓÃÊÖ²áÄÚµÄ·Ö¸î¹æ»®£º
·ÖÇø µµ°¸ÏµÍ³ ´óС ˵Ã÷
/dev/hda1 ext2 32M ¿ª»ú·ÖÇø£¨Boot partition£©
/dev/hda2 (swap) 512M Swap ·ÖÇø
/dev/hda3 ext3 ´ÅÅÌÊ£ÏÂµÄ¿Õ¼ä ¸ù »òÊÇ Ö÷·ÖÇø£¨Root partition£©
Èç¹ûÄúÏëÖªµÀÒ»¸ö·ÖÇø¸ÃÒª¶à´ó,»òÊÇÐèÒª¼¸¸ö·ÖÇø,Çë¼ÌÐøÔĶÁ¡£²»È»Çë´Ó ʹÓà fdisk ·Ö¸îÄúµÄ´ÅÅÌ ¿ªÊ¼·Ö¸î¡£
¶àÉٺͶà´ó£¿
¶àÉÙ·ÖÇøÍ¨³£Êǰ´ÕÕÄúµÄʹÓû·¾³¡£¾ÙÀýÀ´Ëµ,Èç¹ûÄúÓкܶà¸öʹÓÃÕß,Äú¾Í»áÒòΪ°²È«ÎÊÌâºÍÄܹ»¼òÒ×±¸·Ý½«ÄúµÄ /home ·Ö¿ª¡£Èç¹ûÄú½« Gentoo °²×°ÎªÓʼþ·þÎñÆ÷ÄÇÄúµÄ /varÓ¦¸Ã·Ö¿ª,ÒòΪÓʼþͨ³£ÊÇ·ÅÔÚ /var¡£Ñ¡ÔñºÃµÄµµ°¸ÏµÍ³½«»áÌáÉýÄúµÄЧÄÜ¡£ÓÎÏ··þÎñÆ÷ÒòΪ´ó¶àÊýµÄÓÎÏ··þÎñÆ÷¶¼Êǰ²×°ÔÚ /opt ËùÒÔͨ³£»á½« /opt ·Ö¿ª¡£ÔÒòºÜºÍ /home ÀàËÆ£º°²È«ÎÊÌâºÍ±¸·Ý¡£
ÈçÄúËù¼û,²»Í¬µÄ·½Ê½ÊDZ˴ËÏàÒÀµÄ¡£²»Í¬µÄ·ÖÇø»òÊÇÈÝÁ¿½«»áÓÐÒÔÏÂÓŵ㣺
? Äú¿ÉÒÔÑ¡ÔñÊʺϸö±ð·ÖÇøµÄµµ°¸ÏµÍ³Ìá¸ßЧÄÜ
? ÄúµÄϵͳ²»»áÒòΪһ¸ö·ÖÇø»òÊÇÈÝÁ¿Ê§Ð§¶øÍêÈ«ÖÕÖ¹
? Èç¹û±ØÒª,µµ°¸ÏµÍ³¼ì²éËù·ÑµÄʱ¼ä½«»á¼õÉÙ,²¢ÇÒ¿ÉÒÔÒÔÆ½Ðз½Ê½½øÐУ¨ËäÈ»Õâ¸öÓŵ㠱ȽÏÊʺ϶à·ÖÇø£©
? °²È«ÐÔ¿ÉÒÔÒòΪijЩ·ÖÇøÒÔ·Ö¸î³ÉÖ»¶Á¶ø¼ÓÇ¿,nosuid£¨setuid»ú»á±»ÂÔ¹ý£©, noexec£¨Ö´Ðеµ½«»á±»ÂÓ¹ý£©µÈµÈ¡£
µ«ÊÇ,¶à¸ö·ÖÇøÒ²ÓÐÒ»¸öºÜ´óµÄȱµã£ºÈç¹ûûÓÐÍêºÃµÄÉ趨,Äú½«»á¿´µ½Ò»¸ö·ÖÇøÉϵĿռ䲻¹»»òÊÇÒ»¸ö·ÖÇøÉϵĿռäÌ«¶à¡£ ÒÔ·¶ÀýÀ´·Ö¸î,ÎÒÃǽ«Ê¹ÓÃÒ»¸ö 20Gb µÄÓ²ÅÌ,ΪÊÖÌáµçÄÔµÄʾ·¶£¨°üº¬×ÅÍøÒ³·þÎñÆ÷,Óʼþ·þÎñÆ÷,gnome,©ì£©£º
Code Listing 1: µµ°¸ÏµÍ³Ê¹Ó÷¶Àý
Filesystem Type Size Used Avail Use% Mounted on/dev/hda5 ext3 509M 132M 351M 28% //dev/hda2 ext3 5.0G 3.0G 1.8G 63% /home/dev/hda7 ext3 7.9G 6.2G 1.3G 83% /usr/dev/hda8 ext3 1011M 483M 477M 51% /opt/dev/hda9 ext3 2.0G 607M 1.3G 32% /var/dev/hda1 ext2 51M 17M 31M 36% /boot/dev/hda6 swap 516M 12M 504M 2% <not mounted>£¨Ô¤Áô 2Gb ¿Õ¼ä£©
Õâ±ßµÄ /usr µÄ·ÖÇøÊÇ¿ìÓÃÍêµÄ£¨Õ¼ÓÃ83%£©,µ«Êǵ±ËùÓеÄÈí¼þÒѾ°²×°Íê±Ïºó,/usr¾Í²»»áÔÙ¼±ËÙµÄÔö¼Ó¡£¹ØÓÚ/var,´ó²¿·ÝµÄÈË»òÐí»áÈÏΪ·ÖÅ䏸 /var µÄ¿Õ¼äÌ«´ó¡£µ«ÊÇ,Gentoo ½«»áÔÚ /var/tmp/portage ÄÚ½øÐÐËùÓеµ°¸µÄ±àÒë,ËùÒÔÈç¹ûÄú²»Ïë±àÒë´ó³ÌÐòµÄ»°ÖÁÉÙÒªÓÐ 1G,¶øÈç¹û´òËãͬʱ±àÒë´óµÄ³ÌÐòÈç KDE ºÍ OpenOffice.org,ÄÇô /var ×îºÃÊÇÓÐ 3G ÒÔÉϵÄÊ£Óà¿Õ¼ä¡£
4.c. ʹÓà fdisk ·Ö¸îÄúµÄ´ÅÅÌ
ÒÔϲ¿·Ý½«½âÊÍÈçºÎʹÓÃ֮ǰËù²ß»®µÄ½øÐзָ
·ÖÇø ˵Ã÷
/dev/hda1 ¿ª»ú·ÖÇø
/dev/hda2 Swap ·ÖÇø
/dev/hda3 Ö÷·ÖÇø£¨Root£©
Çë°´ÕÕ¸öÈËËùÐè¸ü¸ÄÄúµÄ·Ö¸î¼Ü¹¹¡£
²é¿´Ä¿Ç°µÄ¹æ»®µÄ·ÖÇø
fdisk ÊÇÒ»¸öÇ¿´ó²¢ÇÒÊÜ»¶ÓµÄ´ÅÅ̷ָ¾ß¡£Ê¹ÓÃÄúµÄ´ÅÅÌÉ쵀 fdisk £¨°´ÕÕÎÒÃǵķ¶Àý,ÎÒÃǽ«Ê¹ÓÃ/dev/hda£©£º
Code Listing 2: ¿ªÊ¼ fdisk
# fdisk /dev/hda
µ± fdisk ¿ªÊ¼ºó,Äú½«»á¿´µ½ÒÔÏÂµÄ»Ãæ£º
Code Listing 3: fdisk ½Ó¿Ú
Command (m for help):
°´Ï p ÏÔʾÄúµÃ´ÅÅÌĿǰµÄ·ÖÇøÉ趨£º
Code Listing 4: ·¶Àý·ÖÇøÉ趨
Command (m for help): pDisk /dev/hda: 240 heads, 63 sectors, 2184 cylindersUnits = cylinders of 15120 * 512 bytesDevice Boot Start End Blocks Id System/dev/hda1 1 14 105808+ 83 Linux/dev/hda2 15 49 264600 82 Linux swap/dev/hda3 50 70 158760 83 Linux/dev/hda4 71 2184 15981840 5 Extended/dev/hda5 71 209 1050808+ 83 Linux/dev/hda6 210 348 1050808+ 83 Linux/dev/hda7 349 626 2101648+ 83 Linux/dev/hda8 627 904 2101648+ 83 Linux/dev/hda9 905 2184 9676768+ 83 LinuxCommand (m for help):
Õâ¸ö´ÅÅ̰üº¬×ůߏö Linux µµ°¸ÏµÍ³£¨ÏÔʾΪ "Linux"£©ºÍÒ»¸ö swap ·ÖÇø£¨ÏÔʾΪ "Linux Swap"£©¡£
ÒÆ³ýËùÓзÖÇø
ÎÒÃǽ«ÒªÏȰÑÒѾ´æÔڵķÖÇøÒ»³ýµô¡£°´Ï d ɾ³ý¡£¾ÙÀýÀ´ËµÒªÉ¾³ýÒѾ´æÔÚµÄ /dev/hda1£º
Code Listing 5: ɾ³ýÒ»¸ö·ÖÇø
Command (m for help): dPartition number (1-4): 1
Õâ¸ö·ÖÇø½«»á±»ÏÔʾΪɾ³ý¡£µ±ÄúÊäÈë p µÄʱºòÄú½«»á¿´²»µ½Ëùɾ³ýµÄ·ÖÇø,µ«ÊÇÖ»»áÔÚÄú´¢´æºó·¢»Ó¹¦Ð§¡£Èç¹ûÎóɱÁËij¸ö·ÖÇøÈ»ºóÏëÒªÖØÀ´,°´ÏÂq È»ºó enter ÄúµÄ·ÖÇø½«²»»á±»É¾³ý¡£
ÏÖÔÚ,¼ÙÉèÄúÏëҪɾ³ýËùÓÐϵͳÉϵķÖÇø,ÇëÏȰ´ d È»ºóҪɾ³ýµÄ·ÖÇø±àºÅÔÙ°´Ï p ˢзÖÇøÁÐ±í¡£×îºóÄú½«»á½«ËùÓеķÖÇøÉ¾³ý£º
Code Listing 6: ¿ÕµÄ·ÖÇøÁбí
Disk /dev/hda: 30.0 GB, 30005821440 bytes240 heads, 63 sectors/track, 3876 cylindersUnits = cylinders of 15120 * 512 = 7741440 bytesDevice Boot Start End Blocks Id SystemCommand (m for help):
ÏÖÔÚÄúµÄ·ÖÇøÁбíÒѾ¿ÕÁË,ÎÒÃÇ¿ÉÒÔ¿ªÊ¼½¨Á¢·ÖÇøÁË¡£ÎÒÃǽ«»áʹÓÃ֮ǰËùÌÖÂÛµ½µÄÔ¤ÉèµÄ·Ö¸î¼Æ»¡£µ±È»,Èç¹ûÄúÓÐ×Ô¼ºµÄ·Ö¸î¼Æ»,Çë°´ÕÕÎÒÃǵķ½Ê½ÒÔ´ËÀàÍÆ£¡ ½¨Á¢¿ª»ú·ÖÇø
ÎÒÃǽ«ÒªÏȽ¨Á¢Ò»¸öСµÄ¿ª»ú·ÖÇø¡£°´Ï n ½¨Á¢Ò»¸ö·ÖÇøÈ»ºó°´Ï p Ñ¡Ôñ primary partition,ÔÙ°´Ï 1 Ñ¡ÔñµÚÒ»¸ö primary ·ÖÇø¡£µ±Äú¿´µ½ first cylinder ʱ,°´Ï enter,È»ºó¿´µ½ last cylinder ÊäÈë +32M À´½¨Á¢Ò»¸ö 32 Mbyte ´óСµÄ·ÖÇø£º
Code Listing 7: ½¨Á¢¿ª»ú·ÖÇø
Command (m for help): nCommand action e extended p primary partition (1-4)pPartition number (1-4): 1First cylinder (1-3876, default 1): £¨°´Ï Enter£©Using default value 1Last cylinder or +size or +sizeM or +sizeK (1-3876, default 3876): +32M
ÏÖÔÚ,µ±Äú°´Ï p ʱ,Äú½«»á¿´µ½ÒÔϵÄÏÔʾ£º
Code Listing 8: Òѽ¨Á¢µÄ¿ª»ú·ÖÇø
Command (m for help): pDisk /dev/hda: 30.0 GB, 30005821440 bytes240 heads, 63 sectors/track, 3876 cylindersUnits = cylinders of 15120 * 512 = 7741440 bytesDevice Boot Start End Blocks Id System/dev/hda1 1 14 105808+ 83 Linux
ÎÒÃǽ«ÐèÒª½«Õâ¸ö·ÖÇøÉ趨Ϊ¿É¿ª»ú¡£°´Ï a µÄ¿ª¹ØÈÿɿª»úÆì±ê·ÅÔÚÕâ¸ö·ÖÇøÉÏ¡£Èç¹ûÄúÔÙ°´Ò»´Î p,Äú½«»á¿´µ½ "Boot" ×Ö¶ÎÓÐÒ»¸ö *¡£
½¨Á¢ Swap ·ÖÇø
ÏÖÔÚÎÒÃÇÐèÒª½¨Á¢ swap ·ÖÇø¡£°´Ï n ½¨Á¢Ò»¸öеķÖÇø,È»ºó p ¸æËß fdisk ÄúÒªÒ»¸ö primary ·ÖÇø¡£È»ºó°´Ï 2 ½¨Á¢µÚ¶þ¸ö primary ·ÖÇø¡£µ±Äú¿´µ½ first cylinder,°´Ï enter¡£È»ºóµ±Äú¿´µ½ last cylinder,ÊäÈë +512M À´½¨Á¢Ò»¸ö 512MB ´óСµÄ·ÖÇø¡£µ±ÄúÍê³ÉµÄʱºò,°´Ï t À´Ñ¡Ôñ·ÖÇøÀà±ð¡£½Ó×ÅÊäÈë 82 ½«·ÖÇøÀà±ðѡΪ "Linux Swap"¡£µ±ÄúÍê³ÉµÄʱºò,°´ÏÂp Ó¦¸Ã»á¿´µ½ÀàËÆÒÔÏÂµÄ»Ãæ£º
Code Listing 9: ½¨Á¢ swap ·ÖÇøºóµÄÁбí
Command (m for help): pDisk /dev/hda: 30.0 GB, 30005821440 bytes240 heads, 63 sectors/track, 3876 cylindersUnits = cylinders of 15120 * 512 = 7741440 bytesDevice Boot Start End Blocks Id System/dev/hda1 * 1 14 105808+ 83 Linux/dev/hda2 15 81 506520 82 Linux swap
½¨Á¢Ö÷·ÖÇø£¨Root£©
×îºó,ÎÒÃÇÐèÒª½¨Á¢Ö÷·ÖÇø¡£°´Ï n ½¨Á¢Ò»¸öеķÖÇø,È»ºó p ¸æËß fdisk ÄúÒªÒ»¸ö primary ·ÖÇø¡£È»ºóÊäÈë 3 ½¨Á¢µÚÈý¸ö primary ·ÖÇø,ÔÚÎÒÃǵÄÀý×ÓΪ /dev/hda3¡£µ±Äú¿´µ½ first cylinder,°´Ï enter¡£µ±Äú¿´µ½ last cylinder,°´Ï enter À´Ê¹ÓÃÊ£ÓàµÄ¿Õ¼ä¡£Íê³ÉÕâЩ²½Öèºó,°´Ï p ÄúÓ¦¸Ã»á¿´µ½ÀàËÆÒÔϵÄÁÐ±í£º
Code Listing 10: ½¨Á¢Ö÷·ÖÇøºóµÄÁбí
Command (m for help): pDisk /dev/hda: 30.0 GB, 30005821440 bytes240 heads, 63 sectors/track, 3876 cylindersUnits = cylinders of 15120 * 512 = 7741440 bytesDevice Boot Start End Blocks Id System/dev/hda1 * 1 14 105808+ 83 Linux/dev/hda2 15 81 506520 82 Linux swap/dev/hda3 82 3876 28690200 83 Linux
´¢´æ·ÖÇø¹æ»®
Òª´¢´æÈ»ºóÀ뿪 fdisk,°´Ï w¡£
Code Listing 11: ´¢´æÈ»ºóÀ뿪 fdisk
Command (m for help): w
ÏÖÔÚÄúµÄ·ÖÇøÒѾ½¨Á¢Íê³ÉÁË,Äú¿ÉÒÔ´Ó ½¨Á¢µµ°¸ÏµÍ³ ¼ÌÐø¡£ 4.d. ½¨Á¢µµ°¸ÏµÍ³
½éÉÜ
ÏÖÔÚÄúµÄ·ÖÇøÒѾ½¨Á¢Íê³ÉÁË,ÎÒÃǽ«ÐèÒª°Ñµµ°¸ÏµÍ³·Åµ½ËüÃÇÉÏÃæ¡£Èç¹ûÄú²»ÔÚºõ¸ÃʹÓÃÄǸöµµ°¸ÏµÍ³,²¢ÇÒÂúÒâÊÖ²áÄÚÎÒÃÇʹÓõÄ,Çë´Ó ½«µµ°¸ÏµÍ³Ì×Óõ½·ÖÇøÉÏ ¼ÌÐø¡£²»È»Çë¼ÌÐøÔĶÁ¹ØÓÚ¿ÉÓõĵµ°¸ÏµÍ³¡£
µµ°¸ÏµÍ³£¿
Linux ºËÐÄÖ§³Ö¶à¸öµµ°¸ÏµÍ³,ÎÒÃǽ«½âÊÍ ext2,ext3,ReiserFS,XFS ºÍ JFS¡£ÒòΪÕâЩÊÇ×ʹÓÃÔÚ Linux ϵͳÉϵĵµ°¸ÏµÍ³¡£
ext2 ÊÇÒ»¸ö¾ÉµÄ Linux µµ°¸ÏµÍ³,ûÓÐÈÕÖ¾¹¦ÄÜ. ÆôÓõÄʱ¼äͨ³£ÐèÒªºÜ¾Ã¡£Ä¿Ç°ÓÐÐí¶à ÈÕÖ¾ÐÍ̬ µÄµµ°¸ÏµÍ³¿ÉÒÔÒÔ¸ü¿ìµÄËٶȼ°¸üºÃµÄЧÂÊÍê³ÉϵͳÆôÓúͼì²é¡£
ext3 Ϊ ext2 µÄÈÕÖ¾°æ,ÌṩÁË metadata ÈÕ־ϵͳ ²¢ÇÒ¿ÉÒÔ¿ìËÙµØÊ¹ÓÃÈÕ־ϵͳ¸´Ô¡£ext3 ÊǸöÏ൱²»´í²¢ÇÒ¿É¿¿µÄµµ°¸ÏµÍ³. ËüÓжîÍâµÄ hashed b-tree Ë÷Òý¹¦Äܽ«»á¿ªÆô¼¸ºõÔÚÈκÎÇé¿öÄÚµÄ״̬Ϊ¸ßЧÄÜ¡£¼òµ¥À´Ëµ,ext3 ÊÇÒ»¸öºÜ°ôµÄµµ°¸ÏµÍ³¡£
ReiserFS ÕûÌåÀ´ËµÊǸöÏ൱²»´íµÄϵͳ,Ëü´¦ÀíСÐ͵µ°¸(ÉÙÓÚ4kb)ʱЧÄÜ»á±È ext2 ºÍ ext3 À´µÄºÃ¡£ËûʹÓõÄÊÇ B*-tree Ϊ»ù´¡µÄµµ°¸ÏµÍ³. ÁíÍâÒ²ÄܺÜÓÐЧÂʵش¦Àí´óÐ͵µ°¸¡£Linux ºËÐİ汾 2.4.18+ ºó,ReiserFS ÊÇÒ»¸öÏ൱ÓÐÖµµÃÍÆ¼öµÄϵͳ, ´ÓºÜÉÙ,µ½ºÜ¶àµµ°¸¡£ReiserFS ¶¼¿ÉÒÔ´¦ÀíµÄ·Ç³£ºÃ¡£¿ª»ú·ÖÇø²¢²»½¨ÒéʹÓô˵µ°¸ÏµÍ³¡£
XFS ÊÇÒ»¸ö metadata ÈÕ־ϵͳ,²¢ÇÒÓµÓÐÍêÕûµÄ¹¦Äܼ°Õë¶ÔÑÓÕ¹ÐÔ×î¼Ñ»¯¡£Èç¹ûÄúʹÓøßËÙ SCSI»òÊÇÏËάµÄ´¢´æ×°ÖÃ,²¢ÇÒÓгÖÐø²»¶ÏµÄµçÔ´¹©Ó¦,ÎÒÃDzÅÍÆ¼öÄúʹÓà XFS¡£ Èç¹ûûÓÐ,ÇëʹÓÃÆäËüµµ°¸ÏµÍ³¡£ÒòΪ XFS ´óÁ¿µÄ½«Òª×ªË͵Ä×ÊÁÏ¿ìÈ¡ÔÚÄÚ´æÖÐ,Éè¼Æ²»ºÃµÄ³ÌÐò(µÄÈ·ÓÐһЩ³ÌÐòÔÚдÈë´ÅÅÌʱ²»×öÒ»°ãµÄÔ¤·À´ëÊ©)¿ÉÄܵ±ÏµÍ³ÒâÍâ¶ÏµçʱËðʧ´óÁ¿µÄ×ÊÁÏ¡£
JFS ÊÇ IBM ·¢Õ¹µÄ¸ßЧÄÜÈÕ־ϵͳ¡£Ä¿Ç°ËäÈ»ÒѾ¿ÉÒÔËãÊǸöÍê³ÉÆ·,¹ØÓÚËûµÄÎȵضȲ¢Ã»ÓÐÌ«¶àµÄÓŵ㼰ȱµã¡£
½«µµ°¸ÏµÍ³Ì×Óõ½·ÖÇøÉÏ
Òª°Ñµµ°¸ÏµÍ³½¨Á¢µ½Ò»¸ö·ÖÇø»òÊÇÈÝÁ¿ÉÏ¿ÉʹÓÃһЩΪ¸ö±ðµµ°¸ÏµÍ³ËùÉè¼ÆµÄ¹¤¾ß£º
µµ°¸ÏµÍ³ ½¨Á¢Ö¸Áî
ext2 mke2fs
ext3 mke2fs -j
reiserfs mkreiserfs
xfs mkfs.xfs
jfs mkfs.jfs
ÒÔÎÒÃǵķ¶ÀýÀ´Ëµ,¿ª»ú·ÖÇø£¨ÔÚÎÒÃǵÄÀý×ÓÀïΪ /dev/hda1£©Îª ext2 ºÍÖ÷·ÖÇø£¨ÔÚÎÒÃǵÄÀý×ÓΪ /dev/hda3£©Îª ext3,Äú½«ÒªÊ¹Óãº
Code Listing 12: ½«µµ°¸ÏµÍ³Ì×Óõ½·ÖÇøÉÏ
# mke2fs /dev/hda1# mke2fs -j /dev/hda3
ÏÖÔÚµµ°¸ÏµÍ³ÒѾ½¨Á¢µ½ÎÒÃǸս¨Á¢Íê³ÉµÄ·ÖÇøÉÏÁË£¨»òÊÇlogical ÈÝÁ¿£©¡£
ÆôÓÃ Swap ·ÖÇø
mkswap ÊÇÓÃÀ´Æðʼ swap ·ÖÇøµÄÖ¸Á
Code Listing 13: ½¨Á¢ swap Ç©Ãû
# mkswap /dev/hda2
ÒªÆôÓà swap,ʹÓà swapon Ö¸Á
Code Listing 14: ¼¤»î swap
# swapon /dev/hda2
ÏÖÔÚ½¨Á¢È»ºó¼¤»î swap¡£
4.e. ¹ÒÔØ
ÏÖÔÚÄúµÄ·ÖÇøÒѾÆðʼºÍ·ÅÖõµ°¸ÏµÍ³ÁË,½ÓÏÂÀ´ÎÒÃǸðÑÕâЩ·ÖÇø¹ÒÔØÆðÀ´¡£Ê¹Óà mount µÄÖ¸Áî¡£²»ÒªÍüÁ˽¨Á¢Ïà¹ØµÄ¹ÒÔØÄ¿Â¼,ÒÔÎÒÃǵķָîÀ´ËµÖ»¹ÒÔØÖ÷·ÖÇøºÍ¿ª»ú·ÖÇø£º
Code Listing 15: ¹ÒÔØ·ÖÇø
# mount /dev/hda3 /mnt/gentoo# mkdir /mnt/gentoo/boot# mount /dev/hda1 /mnt/gentoo/boot
Note: Èç¹ûÄúÒª½« /tmp ·ÅÔÚ²»Í¬µÄ·ÖÇø,¼ÇµÃ¹ÒÔØºó½«ËüµÄȨÏÞ¸ü¸ÄΪ£º chmod 1777 /mnt/gentoo/tmp¡£ÕâÒ²ÊÊÓÃÓÚ /var/tmp¡£
ÎÒÃǽ«ÐèÒª¹ÒÔØ proc µµ°¸ÏµÍ³£¨Ò»¸öºËÐĵÄÐéÄâ½Ó¿Ú£©²¢ÇÒ°ÑËü·ÅÔÚ /proc ¡£µ«ÊÇÎÒÃÇÏÈÐèÒª½«ÎÒÃǵĵµ°¸·Åµ½·ÖÇøÄÚ¡£
ÏÖÔÚ´Ó Ê¹Óð²×°µµ°²×° Gentoo ¼ÌÐø¡£ 5. Gentoo °²×°µµ°¸
5.a. °²×°Ò»¸ö Stage ѹËõµµ
É趨ÕýÈ·µÄÈÕÆÚ/ʱ¼ä
ÔÚÄú¼ÌÐøÖ®Ç°,Äú½«ÐèÒª¼ì²éÄúµÄÈÕÆÚ/ʱ¼ä¡£Ò»¸öÉ趨´íÎóµÄʱÖÓ½«»áÔÚδÀ´µÄʱºòÔì³ÉÒ»Ð©Ææ¹ÖµÄ´íÎó£¡
Òª¼ì²éÕýÈ·µÄÈÕÆÚ/ʱ¼ä,Ö´ÐÐdate
Code Listing 1: ¼ì²éÈÕÆÚ/ʱ¼ä
# dateSun Apr 25 16:21:18 CEST 2004
Èç¹ûÏÔʾ³öµÄÈÕÆÚ/ʱ¼äÊÇ´íÎóµÄ,ʹÓà date MMDDhhmmYYYY ½øÐиüУ¨M ΪÔÂ,DΪÈÕ,hΪʱ,mΪ·Ö,ºÍ YΪÄê·Ý£©¡£¾ÙÀýÀ´Ëµ,Òª½«ÈÕÆÚÉ趨Ϊ 2004Äê4ÔÂ25ºÅ,16:21£º
Code Listing 2: É趨ÈÕÆÚ/ʱ¼ä
# date 042516212004
Ñ¡ÔñÄúµÄÐèÒªµÄ
½ÓÏÂÀ´µÄ²½ÖèÄú½«ÐèÒª½«ÄúÑ¡ÔñµÄ stage ѹËõÎļþ°²×°µ½ÄúµÄϵͳÉÏ¡£Äú¿ÉÒÔ´ÓÍøÂçÏÂÔØ,»òÊÇ´ÓÎÒÃÇµÄ Gentoo Universal LiveCD ¿ª»ú,È»ºó´Ó¹âÅÌÉϸ´ÖÆ¡£Èç¹ûÄúʹÓà Universal CD ¶øÇÒÄãÏëÒªÓÃµÄ stage ¾ÍÔÚ CD ÖÐ,´ÓÍø¼ÊÍøÂçÏÂÔØÖ»ÊÇÀË·ÑÆµ¿í,ÒòΪËûÃÇÊÇÒ»ÑùµÄ¡£
Èç¹ûÄúÓÐÒ»¸ö¿ÉÓõÄÍøÂçÁª»ú,ÄÇÎÒÃǽ¨ÒéÄúʹÓÃÔ¤ÉèµÄÑ¡Ïî¡£Èç¹ûÄúûÓеÄÍøÂçÁª»ú»òÊÇÄúÏëҪʹÓà GRP £¨ÒѱàÒëÍê³É£©½øÐа²×°,ÄÇÄú¿ÉÒÔÑ¡ÔñÆäËüÌæ´úµÄÑ¡Ïî¡£
? Ô¤É裺´ÓÍøÂçÏÂÔØµÄ stage
? ÆäËüÑ¡Ôñ£ºÊ¹Óà LiveCD ÀïÃæµÄ Stage ѹËõµµ
5.b. Ô¤É裺´ÓÍøÂçÏÂÔØ
ÏÂÔØ Stage ѹËõµµ
Ïȸü»»µ½Äú֮ǰËù¹ÒÔØµÄĿ¼Ï£¨´ó²¿·ÝÊÇ/mnt/gentoo£©£º
Code Listing 3: ¸ü»»µ½ Gentoo µÄ¹ÒÔØµã
# cd /mnt/gentoo
ÒÀÕÕÄúµÄ°²×°·½Ê½,ÄúÓм¸¸ö¿ÉÒÔÑ¡ÔñµÄ¹¤¾ßÏÂÔØ Stage ѹËõµµ¡£Èç¹ûÄúÓÐ lynx ,Äú¾Í¿ÉÒÔÂíÉÏÁ¬½Óµ½ Gentoo ¶ÔÓ³Õ¾ È»ºóÑ¡Ôñ×î¿¿ÄúµÄλÖá£È»ºóµ½ releases/ µÄĿ¼,½Ó×ÅÊÇÄúËùʹÓõļܹ¹£¨Èç x86/£©×îºóÔòÊÇ Gentoo µÄ°æ±¾£¨2004.2£©×îºóÄú¾Í¿ÉÒÔ¿´µ½ÊʺÏÄúµÄ¼Ü¹¹ËùʹÓÃµÄ Stage ѹËõµµÎ»ÓÚ stages/ µÄÁÐ±í¡£Ñ¡ÔñÒ»¸öÈ»ºó°´Ï D ¿ªÊ¼ÏÂÔØ¡£µ±ÏÂÔØÍê³Éʱ,°´Ï Q À뿪ÓÎÀÀÆ÷¡£
Code Listing 4: ʹÓà lynx ÓÎÀÀ¶ÔÓ³Õ¾
# lynx [url]http://www.gentoo.org/main/en/mirrors.xml[/url]
Èç¹ûÄúûÓÐ lynx,ÄúÓ¦¸Ã»áÓÐ links2¡£link2 ÊÇÒ»¸ö±È lynx¸üÇ¿´óµÄ,µ«ÊÇÓеãȱÏݵÄÈí¼þ¡£ÆäÖÐÒ»¸ö¾ÍÊÇËûÃÇÎÞ·¨ÌýÈ¡ÎÒÃÇ֮ǰËù¶¨ÒåµÄ´úÀí·þÎñÆ÷µÄ±äÁ¿¡£Èç¹ûÄúÐèÒªÉ趨´úÀí·þÎñÆ÷,ʹÓà links2 --http-proxy proxy.server.com:8080¡£ÕâÑùÄú¾Í¿ÉÒÔ°´ÕÕʹÓà lynxµÄ·½·¨ÏÂÔØÁË¡£
Code Listing 5: ʹÓà links2ÓÎÀÀ¶ÔÓ³Õ¾
£¨Ã»ÓдúÀí·þÎñÆ÷£© # links2 [url]http://www.gentoo.org/main/en/mirrors.xml£¨Ê¹ÓôúÀí·þÎñÆ÷£©[/url] # links2 -http-proxy proxy.server.com:8080 [url]http://www.gentoo.org/main/en/mirrors.xml[/url]
Èç¹ûÄúÏëÒª¼ì²éÏÂÔØµÄѹËõµµÊÇ·ñÕýÈ·,Äú¿ÉÒÔʹÓà md5sum È»ºóÒÔ MD5 checksum Êä³ö½øÐбȽϡ£ÀýÈç˵,¼ì²é stage ѹËõµµÊÇ·ñÕýÈ·£º
Code Listing 6: ¼ì²é stage ѹËõµµÊÇ·ñÏÂÔØÕýÈ·
# md5sum -c stage1-x86-2004.2.tar.bz2.md5stage1-x86-2004.2.tar.bz2: OK
½â¿ª Stage ѹËõµµ
ÏÖÔڽ⿪Äú¸Õ¸ÕÏÂÔØµ½ÏµÍ³ÉϵÄѹËõÎļþ¡£ÎÒÃÇʹÓÃ×î¼òµ¥µÄ GNU µÄ tar ·½Ê½½øÐУº
Code Listing 7: ½â¿ª Stage ѹËõµµ
# tar -xvjpf stage?-*.tar.bz2
Note: Äú¿ÉÒÔÂÔ¹ýÈκιØÓÚ ./proc µÄ "No such file or directory" ¾¯¸æ¡£°üÀ¨ "Error exit delayed from previous errors" Ò²¿ÉÒÔÂÔ¹ý¡£
È·¶¨ÄúÓзÅÈëÒ»ÑùµÄ²ÎÊý£¨-xvjpf£©¡£x ´ú±í×Å Extract£¨½â¿ª£©,v ´ú±í×Å Verbose£¨ÏÔʾ,ºÃ°É,Õâ¸ö¿ÉÒÔ²»Óã©,j ´ú±í×Å Decompress with bzip2£¨ÒÔ bzip2 ½â¿ª£©,p ´ú±í×Å Preserve permissions£¨Ô¤ÁôµÄȨÏÞ£©ºÍ f´ú±í×ÅÒÔÎÒÃǵķ½Ê½½â¿ª¶ø²»ÊDZê×¼µÄÊäÈë¡£
ÏÖÔÚ stage ÒѾ°²×°Íê³ÉÁË,Çë´Ó °²×° Porage ¼ÌÐø¡£ 5.c. ÆäËüÑ¡Ôñ£ºÊ¹Óà LiveCD µÄ Stage
½â¿ª Stage ѹËõµµ
Stage ½«±»·ÅÔÚ¹âÅÌÄÚµÄ /mnt/cdrom/stages Ŀ¼¡£Òª²é¿´Õû¸öĿ¼,ʹÓà ls£º
Code Listing 8: ²é¿´ËùÓпÉÓÃµÄ Stage
# ls /mnt/cdrom/stages
Èç¹ûÄúµÄϵͳ»Ø±¨´íÎó,Äú½«ÐèÒªÏȹÒÔØÄúµÄ¹âÇý£º
Code Listing 9: ¹ÒÔØ¹âÇý
# ls /mnt/cdrom/stagesls: /mnt/cdrom/stages: No such file or directory# mount /dev/cdroms/cdrom0 /mnt/cdrom# ls /mnt/cdrom/stages
ÏÖÔÚµ½ÄúµÄ Gentoo ¹ÒÔØÇø£¨Í¨³£ÊÇ /mnt/gentoo£©£º
Code Listing 10: ¸ü±äĿ¼µ½ /mnt/gentoo
# cd /mnt/gentoo
ÎÒÃÇÏÖÔÚÐèÒª½â¿ªÄú¸Õ¸ÕËùÑ¡ÔñµÄ stage ѹËõµµ¡£ÎÒÃǽ«Ê¹Óà GNU µÄ tar ¹¤¾ß¡£È·¶¨ÄúҲʹÓÃ×ÅÒ»ÑùµÄ²ÎÊý£¨-xvjpf£©£¡ÔÚÏÂÃæµÄ·¶Àý,ÎÒÃǽ«Ê¹Óà stage3-<×Ӽܹ¹>-2004.2.tar.bz2¡£Òª¼ÇµÃ½«Ñ¹ËõµµµµÃû»»³ÉÄúËùÑ¡ÔñµÄµµÃû¡£
Code Listing 11: ½â¿ª Stage ѹËõµµ
# tar -xvjpf /mnt/cdrom/stages/stage3-<×Ӽܹ¹>-2004.2.tar.bz2
Note: Äú¿ÉÒÔÂÔ¹ýÈκιØÓÚ ./proc µÄ "No such file or directory" ¾¯¸æ¡£°üÀ¨ "Error exit delayed from previous errors" Ò²¿ÉÒÔÂÔ¹ý¡£
ÏÖÔÚ stage ÒѾ°²×°Íê³ÉÁË,Çë´Ó °²×° Portage ¼ÌÐø¡£
5.d. °²×° Portage
ÓÐÍøÂç»òÊÇûÓÐÍøÂ磿
Èç¹ûÄúûÓÐÍøÂçÁª»ú,Äú½«ÐèÒª´ÓÎÒÃÇµÄ LiveCD ÄÚ°²×° portage ¿ìÕÕ¡£Õâ»á¼ÙÉèÄã´Ó stage3 ¿ªÊ¼°²×°(ÕâÊÇΨһ֧³ÖÎÞÍøÂç°²×°µÄѹËõÎļþ),Èç¹ûÄúÏëҪʹÓÃÔ¤±àÌ×¼þ¼Ó¿ì°²×°µÄËÙ¶È,Äú Ò»¶¨Òª ʹÓùâÅÌÄÚµÄ portage ¿ìÕÕ¡£ÆäËüʹÓÃÕß½«ÐèÒªÔÚÏÂÒ»ÕÂʹÓà emerge ÏÂÔØÒ»¸ö×îÐ嵀 Portage tree¡£
? ´Ó LiveCD °²×° Portage ¿ìÕÕºÍÔʼÂë £¨ÊÊÓÃÓÚÎÞÍøÂç°²×°»òÊÇ GRP °²×°£©
? É趨±àÒëÑ¡Ïî £¨ÊÊÓÃÓÚÆäËü°²×°·½Ê½£©
´Ó LiveCD °²×° Portage ¿ìÕÕºÍÔʼÂë
ÓÐЩ Universal LiveCD ÄÚÓÐÌṩ Portage ¿ìÕÕ¡£µ±Äú¶Áµ½Õâ±ßʱ,ÎÒÃÇ¿ÉÒÔ°²È«µÄ¼ÙÉèÄúÕýÔÚʹÓÃÕâÖÖ LiveCD¡£Òª°²×°Õâ¸ö¿ìÕÕ,¿´¿´ /mnt/cdrom/snapshots ²é¿´ÎÒÃÇ¿ÉÓõĿìÕÕ£º
Code Listing 12: ²é¿´ /mnt/cdrom/snapshots µÄÄÚÈÝ
# ls /mnt/cdrom/snapshots
ÏÖÔÚ½«¿ìÕÒʹÓÃÒÔÏµķ½·¨½â¿ª¡£¼ÇµÃÓÃÕýÈ·µÄ tar ²ÎÊý¡£ÁíÍâ,-C ÊÇ´óдµÄ C ¶ø²»ÊÇ c¡£ÒÔϵķ¶ÀýÎÒÃǽ«Ê¹Óà portage-20040710.tar.bz2 Ϊ¿ìÕÕµµÃû¡£¼ÇµÃÒª½«¸ü»»ÄúµÄµµÃû¡£
Code Listing 13: ½â¿ª Portage ¿ìÕÕ
# tar -xvjf /mnt/cdrom/snapshots/portage-20040710.tar.bz2 -C /mnt/gentoo/usr
ÄúÒ²ÐèÒª¸´ÖƹâÅÌÄÚËùÓеÄÔʼÂ룺
Code Listing 14: ¸´ÖÆÔʼÂë
# mkdir /mnt/gentoo/usr/portage/distfiles# cp /mnt/cdrom/distfiles/* /mnt/gentoo/usr/portage/distfiles/
ÏÖÔÚÄúµÄ Portage ¿ìÕÕÒѾ°²×°ºÃÁË,Çë´Ó É趨±àÒëÑ¡Ïî ¼ÌÐø¡£ 5.e. É趨±àÒë²ÎÊý
½éÉÜ
Òª×Ô¶© Gentoo,Äú¿ÉÒÔÉ趨ºÜ¶à±äÁ¿À´Ó°Ïì Portage µÄ¶¯×÷¡£ÕâЩ±äÁ¿¿ÉÒÔÉèΪ»·¾³±äÁ¿£¨Ê¹Óà export£©µ«ÊÇ·ÇÓÀ¾ÃÐÔ¡£Òª±£ÁôÄúµÄÉ趨,Portage ÌṩµÄ /etc/make.conf,Ò»¸ö Portage µÄÉ趨µµ¡£ÕâÒ²½«ÊÇÎÒÃǽ«Òª±à¼µÄµµ°¸¡£
Note: Äú½«»á¿´µ½ /mnt/gentoo/etc/make.conf.exampleÀïÓÐÒ»´ó´®Åú×¢µÄ¿ÉÓñäÁ¿¡£ÒªÍêÕûµÄ°²×° Gentoo ÄúÖÁÐèÒª°´ÕÕÒÔÏÂÉ趨±äÁ¿¡£
ʹÓÃÄú×îϲ»¶µÄ±à¼Æ÷£¨Õâ·ÝÖ¸ÄÏÎÒÃÇʹÓà nano£©È»ºóÎÒÃDzſÉÒÔ¼ÌÐøÎÒÃÇÉÔºó»áÌÖÂÛµ½µÄ×Ô¶©±äÁ¿¡£
Code Listing 15: ´ò¿ª /etc/make.conf
# nano -w /mnt/gentoo/etc/make.conf
Äú»òÐíÒѾ·¢ÏÖÁË,make.conf.example µµ°¸ÊÇ»ùÓÚ³£Óõļܹ¹£ºÅú×¢µÄÐÐÊý½«ÒÔ "#" ·ÅÔÚÿÐеÄ×îÇ°Ãæ,ÆäËüÒѶ¨ÒåµÄ±äÁ¿½«Ê¹ÓÃÀàËÆ ±äÁ¿="ÄÚÈÝ"¡£Ðí¶à±äÁ¿½«ÔÚÏÂÃæ¼ÌÐø½²½â¡£
CHOST
Warning: ËäÈ»Õâ»á¶ÔһЩ·Ç Stage1 µÄʹÓÃÕßÓÐÐËȤ,µ«ÊÇ·Ç stage1 µÄʹÓÃÕß ²»Ó¦¸Ã ¸ü¸Ä make.conf ÄÚµÄ CHOST µÄÉ趨¡£ÕâÑù»áÔì³Éϵͳ²»ÎÈ¡£ÔÙÒ»´ÎÌáÐÑ£ºÕâÖ»ÊÊÓÃÓÚ stage1 µÄʹÓÃÕß¡£
CHOST µÄ±äÁ¿½«¶¨Òå×Å gcc Õë¶Ô¼Ü¹¹ËùÐèÒª±àÒëµÄ²ÎÊý¡£¿ÉÄÜÐÔΪ£º
¼Ü¹¹ ×Ӽܹ¹ CHOST É趨
x86 i386 i386-pc-linux-gnu
x86 i486 i486-pc-linux-gnu
x86 i586 i586-pc-linux-gnu
x86 i686 and above (incl. athlon) i686-pc-linux-gnu
alpha alpha-unknown-linux-gnu
ppc powerpc-unknown-linux-gnu
sparc sparc-unknown-linux-gnu
hppa £¨Í¨Óã© hppa-unknown-linux-gnu
hppa pa7000 hppa1.1-unknown-linux-gnu
hppa pa8000 »òÒÔÉÏ hppa2.0-unknown-linux-gnu
mips mips-unknown-linux-gnu
amd64 x86_64-pc-linux-gnu
Èç¹ûÄã¸Ä±äÁË CHOST ±äÁ¿,ÄãÐèÒªÖØÐ¼ÓÔØ»·¾³±äÁ¿£º
Code Listing 16: ÖØÐ¼ÓÔØ»·¾³±äÁ¿
# env-update # source /etc/profile
CFLAGS ºÍ CXXFLAGS
CFLAGS ºÍ CXXFLAGS ±äÁ¿½«¶¨Òå×î¼ÑЧÄÜ»¯ gcc C ºÍ C++ ±àÒëÆ÷µÄ²ÎÊý¡£ËäÈ»ÎÒÃÇÒÔͨÓõķ½Ê½¶¨Òå,Äú½«ÐèÒª·Ö¿ª¶¨ÒåÊʺÏÄúÌá¸ßЧÄܵÄÉ趨¡£ÔÒòÊÇÿ¸ö³ÌÐòʹÓõͼ²»Í¬¡£
ÔÚ make.conf ÄúÓ¦¸ÃÒª¶¨ÒåÒ»¸öÄúÈÏΪ»á×î¼Ñ»¯µÄ ͨÓà ²ÎÊý¡£²»Òª½«²âÑéÐÔÖʵIJÎÊýÒ²·Åµ½ÕâÀ̫¶à×Ô¶©»áÈóÌÐò±äµÃ¹ÖÒ죨µ±µô,»òÊǸüÔâ,ÎÞ·¨×÷Óã©¡£ ÎÒÃǽ«²»»á½âÊÍÕâЩ¿ÉÓõIJÎÊýÑ¡Ôñ¡£Èç¹ûÄúÏëÖªµÀ¸ü¶à,²é¿´ GNU ÏßÉÏÖ¸ÄÏ »òÊÇ gcc infopage £¨info gcc -- Ö»ÔÚÒ»¸öÍê³ÉµÄ Linux ϵͳÉÏ¿É×÷Óã©¡£ make.conf.example Õâ¸öÎļþÒ²°üº¬×ÅÐí¶à·¶Àý¼°Êý¾Ý£»²»ÒªÍüÁËÔĶÁËûÃÇ¡£
µÚÒ»¸öÉ趨Ϊ -march= ²ÎÊý,Õâ´ú±í׿ÆËã»ú¼Ü¹¹µÄÄ¿±ê¡£¿ÉÓõIJÎÊý½«»áÔÚ make.conf.example µµ°¸ÄÚ˵Ã÷£¨ÎªÅú×¢µÄ·½Ê½£©¡£¾ÙÀýÀ´Ëµ,¸ø x86 Athlon XP µÄ¼Ü¹¹£º
Code Listing 17: GCC march É趨
# ÏëҪʹÓÃÔÉú 64 λ»·¾³µÄ AMD64 µÄʹÓÃÕß²»Ó¦¸ÃʹÓà athlon-xp-march=athlon-xp
µÚ¶þ¸öÔòÊÇ O£¨ÊÇ´óдµÄ O,²»ÊÇÁ㣩 ²ÎÊý,´ú±í×Å gcc µÄÐÔÄܲÎÊý¡£¿ÉÓõIJÎÊýΪ s £¨Ôö¼Óµµ°¸´óСÐÔÄÜ£©,0 £¨Áã - ûÓÐÌáÉýÐÔÄÜ£©, 1,2 »òÊÇ 3 Ôò¹ØÓÚËٶȵÄÐÔÄÜ£¨Ò»¸öÌØ¶¨µÄÐÔÄܼÓÉÏÁíÍâÒ»¸ö»òÊÇÁ½¸ö£©¡£¾ÙÀýÀ´Ëµ,Ò»¸ö 2 µÄÐÔÄܲÎÊý£º
Code Listing 18: GCC O É趨
-O2
ÆäËüÊÜ»¶ÓµÄ²ÎÊýΪ -pipe £¨Ê¹Óà pipes ½øÐбàÒëÖеÄͨѶ¶ø²»ÊÇÔÝ´æÅÌ£©ºÍ -fomit-frame-pointer £¨ÔÚ²»ÐèÒª frame pointer µÄʱºò²»Ê¹Óã©¡£
µ±Äú¶¨Òå CFLAGS ºÍ CXXFLAGSºó,ÄúÓ¦¸Ã°´ÕÕÒÔÏ·¶Àý½«ËûÃǽáºÏÆðÀ´£º
Code Listing 19: ¶¨Òå CFLAGS ºÍ CXXFLAGS ±äÁ¿
CFLAGS="-march=athlon-xp -pipe -O2" AMD64 µÄʹÓÃÕß²»¸ÃʹÓà athlon-xpCXXFLAGS="${CFLAGS}" # Á½¸ö±äÁ¿Ê¹ÓÃÒ»ÑùµÄÉ趨
MAKEOPTS
MAKEOPTS ½«¶¨ÒåµÄÊÇÄúÐèÒªÔÚ°²×°Ò»¸öÌ×¼þʱÐèÒª¼¸¸öƽÐбàÒë¡£ÎÒÃǽ¨ÒéµÄºÅÂëΪÄúϵͳÉ쵀 CPU ºÅÂë¼ÓÒ»¡£
Code Listing 20: ÆÕͨµÄ 1-CPU ϵͳµÄ MAKEOPTS
MAKEOPTS="-j2"
Ô¤±¸,¿ªÊ¼£¡
ÒÀÕÕÄú¸öÈ˵ÄÑ¡Ôñ±à¼ /mnt/gentoo/etc/make.conf È»ºó´¢´æ¡£ÄúÏÖÔÚ¿ÉÒÔ´Ó °²×° Gentoo »ù´¡ÏµÍ³ ¼ÌÐø 6. °²×° Gentoo »ù´¡ÏµÍ³
6.a. ±ä»»¸ùĿ¼
×ÔÓÉÑ¡Ôñ£ºÑ¡Ôñ¾µÏñÕ¾
Èç¹ûÄúÊÇ´Ó Gentoo LiveCD ¿ª»úµÄ»°,Äú¿ÉÒÔʹÓà mirrorselect À´¸üР/etc/make.conf ÈÃÄú¿ÉÒÔ´Ó×î¿ìµÄ¾µÏñվȡµÃÌ×¼þºÍÔʼÂ루µ±ÔÚÄúÓÐÍøÂçÁª»úµÄ×´¿öÏ£©£º
Code Listing 1: Ñ¡Ôñ×î¿ìµÄ¾µÏñÕ¾
# mirrorselect -a -s4 -o | grep -ve '^Netselect' >> /mnt/gentoo/etc/make.conf
Èç¹ûÒòΪijЩÀíÓÉ mirrorselect ʧ°ÜÁË,²»Òª»ÅÕÅ¡£ÕâÒ»²½ÊÇ×ÔÓÉÑ¡ÔñµÄ¡£ÕâÏî²½ÖèÊǷDZØÒªÐÔµÄ,ÄúÒ²¿ÉÒÔʹÓÃÔ¤ÉèµÄÉ趨¡£
¸´ÖÆ DNS É趨
»¹ÓÐÒ»¼þÊÂÔÚÎÒÃǽøÈëеÄϵͳ»·¾³Ö®Ç°Òª¼ÇµÃ×ö,¾ÍÊǸ´ÖÆ /etc/resolv.conf ÖÐµÄ DNS É趨¡£ÄúÐèÒª×öÕâ¼þÊÇÈ·±£ÍøÂçÔÚ½øÈëÐµĻ·¾³ºóÈÔÈ»¿ÉÒÔ¹¤×÷¡£ /etc/resolv.conf °üº¬ÍøÂçÐèÒªµÄÃû³Æ·þÎñÆ÷¡£
Code Listing 2: ¸´ÖÆ DNS É趨
£¨ÎÒÃǽ«ÐèҪʹÓõ½ "-L" µÄ²ÎÊýÀ´È·±£ÎÒÃDz»»á¸´ÖƵ½Á¬½ÓÀàÐ͵ĵµ°¸ £©# cp -L /etc/resolv.conf /mnt/gentoo/etc/resolv.conf
½øÈëеÄϵͳ»·¾³
ÏÖÔÚËùÓеķÖÇø¶¼ÒѾ³õ²½É趨ºÃÁ˶øÇÒ»ù±¾µÄϵͳҲ°²×°Íê±Ï,ÏÖÔÚÊÇÓà ±ä»»¸ùĿ¼½øÈëеÄϵͳ»·¾³µÄʱºòÁË¡£Õâ´ú±íÎÒÃÇ´ÓĿǰµÄ°²×°»·¾³ (LiveCD »òÊÇÆäËüµÄ°²×°Ã½Ìå)½øÈëÄú°²×°µÄϵͳ(¾ÍÊÇÒѾ°²×°µÄ·ÖÇø)¡£
±ä»»¸ùĿ¼¶¯×÷ÔÚÈý²½ÖèÄÚÍê³É¡£Ê×ÏÈÎÒÃÇ»áÓà chroot ÈøùĿ¼´Ó / (Ŀǰ°²×°µÄýÌå)±ä»»µ½ /mnt/gentoo (»òÄú°²×°µÄ·ÖÇø)¡£È»ºóÓà env-update ½¨Á¢ÐµĻ·¾³,Õ⽫»á½¨Á¢»ù±¾µÄϵͳ±äÁ¿¡£×îºó,ÎÒÃÇÓà source °ÑÕâЩ±äÁ¿¼ÓÔØµ½ÄÚ´æ¡£
Code Listing 3: ½øÈëÐµĻ·¾³
# chroot /mnt/gentoo /bin/bash# env-update * Caching service dependencies...# source /etc/profile
¹§Ï²£¡ÄúÏÖÔÚÐ嵀 Gentoo Linux »·¾³µ±ÖÐÁË¡£²»¹ýÀë°²×°Íê±Ï»¹ÓÐÒ»¶Îʱ¼ä,Õâ¾ÍÊÇΪʲô°²×°Ö¸ÄÏ»¹ÓÐÏÂÃæÕâЩ²¿·Ý :-)
×ÔÓÉÑ¡Ôñ£º¸üРPortage tree
Èç¹ûÄúû°´ÕÕÉÏÒ»ÕÂËù˵µÄ,½« Portage ¿ìÕÕ°²×°,ÄúÒ»¶¨Òª´ÓÍøÂçÉÏÏÂÔØÒ»·Ö×îÐ嵀 Portage tree¡£emerge sync ½«»áΪÄúÍê³É´ËÏ×÷¡£ÆäËüµÄʹÓÃÕßÓ¦¸ÃÌø¹ýÕâ¸ö²¿·Ý´Ó É趨 USE ±äÁ¿ ¼ÌÐø¡£
Code Listing 4: ¸üРPortage tree
# emerge sync
Portage ʹÓõÄÊÇ RSYNC ÐÒéÀ´¸üРPortage tree¡£Èç¹ûÒÔÉϵÄÖ¸Áîʧ°Ü,ÇëʹÓà emerge-webrsync ͸¹ý HTTP ÐÒéÏÂÔØ Portage ¿ìÕÕ¡£
Code Listing 5: ʹÓà emerge-webrsync ¸üРPortage tree
# emerge-webrsync
Èç¹ûÄú¿´µ½Ð嵀 Portage ÒѾ¿ÉÒÔÏÂÔØ¶øÇÒÄú±ØÐëÒª¸üеľ¯¸æÊ±,ÄúÓ¦¸ÃÒªÂÔ¹ýËü, Portage ÔÚÖ®ºó°²×°Ê±»á±»¸üС£
É趨 USE ±äÁ¿
USE ÊÇ Gentoo Ìṩ¸øÊ¹ÓÃÕß×îÓÐÍþÁ¦µÄ±äÁ¿Ö®Ò»¡£Ðë¶à³ÌÐò¿ÉÒÔÔÚ±àÒëʱ°üº¬»ò²»°üº¬×ÔÓÉÑ¡ÔñµÄÖ§³Ö¡£ÀýÈç,һЩ³ÌÐò¿ÉÒÔÔÚ±àÒëʱ°üº¬ gtk Ö§³Ö,»òÕßÊÇÖ§³Ö qt¡£ÆäËü³ÌÐò¿ÉÒÔ°üº¬»ò²»°üº¬ SSL Ö§³Ö,Ò²ÓÐһЩÉõÖÁ¿ÉÒÔʹÓà framebuffer (svgalib) ¶ø²»ÊÇ X11 (X-server)¡£
´ó²¿·ÖµÄ°²×°Ì×¼þÔÚ±àÒëʱ¶¼¾´¿ÉÄܵļÓÈë×î¶àµÄÖ§³Ö,Ôö¼Óµµ°¸´óСÒÔ¼°³ÌÐò¼¤»îµÄʱ¼ä,¸ü±ðÌḴÔÓµÄÏàÒÀÐÔ¡£ÔÚ Gentoo ÏÂÄú¿ÉÒÔ¶¨ÒåÄÄЩ֧³Ö±àÒëʱҪ¼ÓÈë¡£Õâ¾ÍÊÇ USE µÄ×÷Óá£
ÔÚ USE ±äÁ¿ÖÐ,Äú¿ÉÒÔ¼ÓÈëÒªÔÚ±àÒëʱ¼ÓÈëÖ§³ÖµÄ¹Ø¼ü´Ê¡£ÀýÈç,ssl »áÔÚÖ§³Ö ssl µÄ³ÌÐò±àÒëʱ¼ÓÈë ssl Ö§³Ö¡£-X Ôò»áÒÆ³ý X-server Ö§³Ö(×¢ÒâÇ°ÃæµÄ¼õºÅ)¡£gnome gtk -kde -qt Ôò»áÖ§³Ö gnome(ÒÔ¼° gtk),¶ø²»°üº¬ kde(ÒÔ¼° qt) µÄÖ§³Ö,Õâ¿ÉÒÔÈÃÄúµÄϵͳ¶Ô GNOME ÍêÕûµÄµ÷½Ú¡£
Ô¤ÉèµÄ USE É趨·ÅÔÚ /etc/make.profile/make.defaults,¶øÄúÔÚ /etc/make.conf ÖеÄÉ趨»áºÍÔ¤ÉèµÄÉ趨һÆð¿¼ÂÇ¡£Èç¹ûÄúÔÚ USE É趨ÖÐÐÂÔöһЩ¶«Î÷,Ëû»á¼ÓÈëÔ¤ÉèµÄÉ趨ÖС£Èç¹ûÄú´Ó USE ÖÐÒÆ³ýһЩ¶«Î÷(ÔÚÇ°Ãæ¼ÓÉϼõºÅ),Ëû»á´ÓÔ¤ÉèµÄÉè¶¨ÒÆ³ý¡£ÓÀÔ¶²»Òª¸Ä±äÈκÎÔÚ /etc/make.profile Ŀ¼ÖеĶ«Î÷,Ëû»áÔÚÄú¸üРPortage ʱ±»¸²¸Ç£¡
ÍêÕûµÄ USE ˵Ã÷¿ÉÒÔÔÚ Gentoo ÊÖ²áÖÐ µÚÒ»Õ£º USE ²ÎÊý ÕÒµ½¡£ÍêÕûµÄ USE ²ÎÊýÁбí¿ÉÒÔÔÚϵͳÖÐµÄ /usr/portage/profiles/use.desc ÕÒµ½¡£
Code Listing 6: ¼ìÊÓ¿ÉÓÃµÄ USE ²ÎÊý
# less /usr/portage/profiles/use.desc
ÏÂÃæÊÇÒ»¸ö USE µÄÉ趨,ÔÚÒÔ KDE Ϊ»ù´¡µÄϵͳÖÐÖ§³Ö DVD, ALSA ÒÔ¼°¿Ì¼»ú¡£
Code Listing 7: ¿ªÆô /etc/make.conf
# nano -w /etc/make.conf
Code Listing 8: USE É趨
USE="-gtk -gnome qt kde dvd alsa cdr"
×ÔÓÉÑ¡Ôñ£ºÔÚ²»Í¬¼ÆËã»ú±àÒë
Èç¹ûÄú¶ÔʹÓÃÐí¶àϵͳÀ´ÐÖúÄúÒ»Æð±àÒë³ÌÐò,Äú¿ÉÄÜ»áÏëÒª¿´ DistCC Ö¸ÄÏ¡£Äú¿ÉÒÔ½è×Å distcc À´Ê¹ÓÃÐí¶ą̀¼ÆËã»úµÄ´¦ÀíÄÜÁ¦À´°ïÖúÄúÍê³É°²×°¡£
6.b. Stage1,Stage2 ºÍ Stage3 µÄ²»Í¬
ÏÖÔÚÏÈ×øÏÂÀ´»ØÏëÒ»ÏÂ֮ǰµÄ²½Öè¡£ÎÒÃÇÒªÇóÄúÑ¡Ôñ stage1,stage2 »ò stage3 ²¢ÇÒÌáÐÑÄúÄúµÄÑ¡Ôñ¶ÔÖ®ºóµÄ°²×°²½ÖèºÜÖØÒª¡£àÅ,ÏÖÔÚÊÇÄú¾ö¶¨½ÓÏÂÀ´µÄ²½ÖèµÄʱºòÁË¡£
? Èç¹ûÄúÑ¡Ôñ stage1,½ÓÏÂÀ´ÄúÒª×öÕâÒ»½ÚÈ«²¿µÄ²½Öè´Ó Stage1 µ½ Stage2 µÄ¹ý³Ì ¿ªÊ¼
? Èç¹ûÄúÑ¡Ôñ stage2 ÄúÖ»ÒªÂÔ¹ýµÚÒ»²½Öè,Á¢¼´´ÓµÚ¶þ²¿·Ý Stage2 µ½ Stage3 µÄ¹ý³Ì ¿ªÊ¼
? Èç¹ûÄúÑ¡Ôñ stage3(²»¹Üʹ²»Ê¹Óà GRP)ÄÇÄú¿ÉÒÔÂÔ¹ýÕâÁ½²¿·Ý¡£ Çë¼ÌÐøÏÂÒ»½Ú£º É趨ºËÐÄ
6.c. Stage1 µ½ Stage2 µÄ¹ý³Ì
½éÉÜ Bootstrapping
ËùÒÔÄú¾ö¶¨Òª´ÓÍ·±àÒëËùÓж«Î÷£¿ÄÇ¿ªÊ¼°É :-)
ÔÚÕâ¸ö²½ÖèÖÐ,ÎÒÃÇ»á bootstrap ÄúµÄ Gentoo ϵͳ¡£Õâ»á»¨ºÜ³¤Ò»¶Îʱ¼ä,µ«ÊÇÄú»áµÃµ½Ò»¸öÕë¶ÔÄúµÄ»úÆ÷ÍêÈ«×î¼Ñ»¯µÄϵͳ¡£
Bootstrapping ´ú±í±àÒë GNU C º¯Ê½¿â¡¢GNU C ±àÒëÆ÷ÒÔ¼°ÆäËüÖØÒªµÄÈí¼þ¡£
ÔÚ¿ªÊ¼Ö®Ç°,ÎÒÃÇ»áÁгöÁ½¸öÄúÐèÒª»òÊDz»ÐèÒªµÄ²ÎÊý¡£Èç¹ûÄú²»ÏëÒªÔĶÁÕâЩµÄ»°,´Ó Bootstrapping ÄúµÄϵͳ ¼ÌÐø¡£ ×ÔÓÉÑ¡Ôñ£ºÏÈÏÂÔØÔʼÂë
Èç¹ûÄú֮ǰ²»Ôø¸´ÖÆÈ«²¿µÄÔʼÂë,bootstrap script »áÏÂÔØËùÓбØÒªµÄµµ°¸¡£Õ⵱ȻÔÚÓÐÁ¬½Óµ½ÍøÂçʱ²ÅÄÜÕý³£¹¤×÷ :-) Èç¹ûÄúÏëÒªÏÈÏÂÔØÔʼÂëÈ»ºóÔÙÖ´ÐÐ bootstrap (ÀýÈçÄú²¢²»ÏëÔÚ±àÒëʱÈÃÄúµÄÍøÂçÒ»Ö±±£³ÖÁª»ú),ʹÓÃbootstrap script µÄ -f Ñ¡Ïî,Õ⽫»áÏÂÔØ(Fetch)ËùÓеÄÔʼÂë¡£
Code Listing 9: ÏÂÔØ±ØÐëµÄÔʼÂë
# cd /usr/portage# scripts/bootstrap.sh -f
Bootstrapping ÄúµÄϵͳ
ºÃÀ²,ÔÚÄúµÄ¼üÅÌÇÃϵ×ϵÄÖ¸ÁîÀ´¼¤»î bootstrap,È»ºó¸øÄú×Ô¼ºÕÒЩÓéÀÖ°É È»ºó×Ô¼ºÕÒµãϲ»¶µÄÊÂÇé×ö,ÒòΪÕâÒ»²½Ö轫»á»¨·ÑһЩʱ¼äÍê³É¡£
Code Listing 10: Bootstrapping ÄúµÄϵͳ
# cd /usr/portage# scripts/bootstrap.sh
½ÓÏÂÀ´¼ÌÐøÏÂÒ»²½Öè Stage2 µ½ Stage3 µÄ¹ý³Ì¡£
6.d. Stage2 µ½ Stage3 µÄ¹ý³Ì
½éÉÜ
Èç¹ûÄúÕýÔÚÔĶÁÕâÒ»²¿·Ý,ÄÇÄúÒѾÓÐÒ»¸ö bootstrap ºÃµÄϵͳ(¿ÉÄÜÊÇÄú֮ǰִÐÐ bootstrap »òÊÇÄúʹÓà stage2)¡£ÏÖÔÚÊDZàÒëËùÓÐϵͳÌ×¼þµÄʱºòÁË¡£
ËùÓÐϵͳÌ×¼þ£¿²»,²»ÍêÈ«ÊÇ¡£ÔÚÕâÒ»²½ÖèÖÐ,Äú½«»á±àÒëûÓÐÆäËüÑ¡ÔñµÄϵͳÌ×¼þ¡£Ò»Ð©Ì×¼þÓжàÖÖÑ¡Ôñ (ÀýÈç system loggers),ÒòΪ Gentoo ´ú±íÑ¡Ôñ,ÎÒÃDz»»áÇ¿ÆÈÄúÒ»¶¨ÒªÊ¹ÓÃÄÄÒ»ÖÖ¡£
×ÔÓÉÑ¡Ôñ£º¿´»á×öÄÄЩÊÂ
Èç¹ûÄúÏëÒªÖªµÀÄÄЩÌ×¼þ»á±»°²×°,Ö´ÐÐ emerge --pretend system¡£Õ⽫»áÁгöËùÓÐÒª±àÒëµÄ³ÌÐò¡£ÒòΪÕâÏ൱µÄ¶à,ÄúÓ¦¸ÃʹÓà less »ò more À´ÉÏÏÂä¯ÀÀ¡£
Code Listing 11: ¿´ 'emerge system' »á×öʲô
# emerge --pretend system | less
×ÔÓÉÑ¡Ôñ£ºÏÂÔØÔʼÂë
Èç¹ûÄúÏëÒª emerge ÔÚ¿ªÊ¼Ö®Ç°ÏÈÏÂÔØÔʼÂë(ÀýÈçÄú²¢²»ÏëÔÚ±àÒëʱÈÃÄúµÄÍøÂçÒ»Ö±±£³ÖÁª»ú),Äú¿ÉÒÔʹÓà emerge µÄ --fetchonly ²ÎÊýÀ´°ïÄúÏÂÔØËùÓеÄÔʼÂë¡£
Code Listing 12: ÏÂÔØÔʼÂë
# emerge --fetchonly system
±àÒëϵͳ
Ö´ÐÐ emerge system À´¿ªÊ¼±àÒëϵͳ¡£È»ºóÈÃÄú×Ô¼ºÃ¦ÓÚijЩÊÂÇé,ÒòΪÕâµ½Íê³É»á»¨ºÜ³¤Ò»¶Îʱ¼ä¡£
Code Listing 13: ±àÒëϵͳ
# emerge system
ÄúÏÖÔÚ¿ÉÒÔ°²È«µÄÂÔ¹ýÈκξ¯¸æÀ´¸üÐÂÄúµÄÉ趨µµ£¨Ö´ÐÐ etc-update£©¡£µ±ÄúµÄ Gentoo ϵͳÒѾÍêÈ«°²×°Íê±Ï,ÖØ¿ª»úºó,²é¿´ÎÒÃÇµÄ É趨µµ°¸±£»¤¡£
µ±±àÒë¹ý³ÌÍê³Éºó,Çë´Ó É趨ºËÐÄ ¼ÌÐø¡£
7. É趨ºËÐÄ
7.a. Ê±Çø
ΪÁËÈÃÄúµÄϵͳ֪µÀËüµÄλÖÃÔÚÄÇÀï,Äú½«ÐèÒªÉ趨ÄúµÄÏµÍ³Ê±Çø¡£µ½ /usr/share/zoneinfo ѰÕÒÄúµÄÊ±Çø,È»ºóʹÓà ln ½¨Á¢Ò»¸öÁ¬½Óµ½ /etc/localtime¡£
Code Listing 1: Éè¶¨Ê±ÇøÐÅÏ¢
# ls /usr/share/zoneinfo£¨¼ÙÉèÄúҪʹÓà GMT£©# ln -sf /usr/share/zoneinfo/GMT /etc/localtime
7.b. °²×°ºËÐÄÔʼÂë
Ñ¡ÔñÒ»¸öºËÐÄ
Linux µÄºËÐÄÊÇËùÓа汾µÄ×îÖÐÐÄ,Ò²ÊÇ×îÖØÒªµÄ¡£ËûλÓÚʹÓÃÕß³ÌÐòºÍϵͳӲ¼þÖ®¼ä¡£ Gentoo ÌṩʹÓÃÕߺܶà¿ÉÓõĺËÐÄÔʼÂë¡£Äú¿ÉÒÔµ½ Gentoo ºËÐÄ Ö¸ÄÏ ²é¿´ÎÒÃÇËùÌṩµÄºËÐÄ¡£
ʹÓà x86 ϵͳµÄʹÓÃÕß,ÎÒÃÇÌṩ×Å vanilla-sources£¨³£³£±»ÆäËü Linux ºËÐÄ¿ª·¢ÕßÓÃÀ´¿ª·¢³ÉÆäËüºËÐĵĻù´¡°æ±¾£©,gentoo-sources£¨Õë¶ÔЧÄܵ÷Õû¹ýµÄºËÐÄ£©,gentoo-dev-sources£¨ºËÐÄ 2.6 Õë¶ÔЧÄÜËùµ÷Õû¹ýµÄºËÐÄ£©, gs-sources £¨Õë¶Ô·þÎñÆ÷¹¦Äܵ÷Õû£©,development-sources£¨2.6 vanilla ºËÐÄÔʼÂ룩©ì
Èç¹ûÄúÕýÔÚʹÓÃÎÞÍøÂçµÄ°²×°,ÄúÖ»ÄÜÑ¡Ôñ CD ÉÏÌṩµÄºËÐÄ,2004.2 ÖÐÓУº
? gentoo-sources
? vanilla-sources
? gentoo-dev-sources
? development-sources
Ñ¡ÔñÊʺÏÄúµÄºËÐÄÔʼµµÈ»ºóʹÓà emerge °²×°¡£
ÔÚϸöÖ¸Áî·¶ÀýÎÒÃǽ«½ÌÄúÈçºÎ°²×° vanilla-sources-2.4.24£¨ÊʺÏÎÞÍøÂçµÄ°²×°»·¾³£©ºÍ gentoo-sources¡£µ±È»ÒÀÕÕÄúµÄϲºÃ°²×°ÄúÏëÒªµÄºËÐÄ¡£ÕâЩ¶¼Ö»ÊÇ·¶Àý,µ«ÊÇÄúÓ¦¸Ã Ö» °²×°Ò»¸öºËÐÄÔʼÂë¡£
Code Listing 2: °²×°ºËÐÄÔʼÂë
# emerge gentoo-sources
µ±Äú²é¿´ /usr/src Äú½«»á¿´µ½Ò»¸ö linux µÄÁ¬½ÓÁ¬µ½ÄúËùÑ¡µÄºËÐÄ£º
Code Listing 3: ¹Û¿´ºËÐÄÔʼÂëĿ¼Á¬½Ó
# ls -l /usr/src/linuxlrwxrwxrwx 1 root root 12 Oct 13 11:04 /usr/src/linux -> linux-2.4.26-gentoo-r6
Èç¹ûÄúÅöµ½µÄ²»ÊÇÕâÑù£¨Àý£ºÁ¬½ÓÁ¬µ½ÆäËüµÄºËÐÄĿ¼£©Äú½«ÐèÒªÔÚ¼ÌÐøÍùÏÂ֮ǰ¸ü¸ÄÁ¬½Ó£º
Code Listing 4: ¸ü¸ÄºËÐÄÁ¬½ÓĿ¼
# rm /usr/src/linux# cd /usr/src# ln -s linux-2.4.26-gentoo-r6 linux
ÏÖÔÚÎÒÃǸÃÉ趨ÒÔ¼°±àÒëÄúµÄºËÐÄÁË¡£Äú¿ÉÒÔʹÓà genkernel Íê³É´ËÏî²½Öè,²¢ÇÒ½«»áÒÔºÍ LiveCD Ò»ÑùµÄͨÓõķ½Ê½½øÐбàÒë¡£ÎÒÃǽ«ÏȽâÊÍÈçºÎÊÖ¶¯±àÒëÒòΪÕâÊÇ×Ô¶©ÄúµÄ»·¾³µÄ×î¼Ñ·½·¨¡£
Èç¹ûÄúÏëÒªÊÖ¶¯±àÒëÄúµÄºËÐÄ,Çë´Ó Ô¤É裺ÊÖ¶¯É趨 ¼ÌÐø¡£Èç¹ûÄúÏëҪʹÓà genkernel Çë´Ó ÆäËüÑ¡Ôñ£ºÊ¹Óà genkernel ¼ÌÐø¡£
7.c. Ô¤É裺ÊÖ¶¯É趨
½éÉÜ
ÊÖ¶¯É趨ºËÐij£³£±» Linux ʹÓÃÕßÈÏΪ×îÄÑÍê³ÉµÄ²½Öè¡£ËäÈ»²»¼Ù -- µ«Êǵ±ÄúÊÖ¶¯±àÒ뼸´ÎºËÐĺó,ÄúÓ¦¸Ã²»»á¾õµÃËüÓжàÄÑ ;)
µ«ÊÇ,Ψһ µÄÖØµã¾ÍÊÇ£ºÄú±ØÐëÒªÁ˽âÄúµÄϵͳ²Å¿ÉÒÔ¿ªÊ¼ÊÖ¶¯±àÒ롣ϵͳÉ϶àÊýµÄ×ÊÁÏ¿ÉÒÔ´Ó /proc/pci £¨Èç¹û¿ÉÒԵĻ°Ê¹Óà lspci£©²é¿´¡£ÄúÒ²¿ÉÒÔÖ´ÐÐ lsmod ¿´¿´ LiveCD ʹÓÃÄÇЩºËÐÄÄ£¿é£¨ÕâÊÇÒ»¸ö²»´íµÄ°µÊ¾,½ÌÄú¸Ã¿ªÆôÄǸöÑ¡Ï¡£
ÏÖÔÚµ½ÄúµÄºËÐÄÔʼÂëĿ¼ȻºóÖ´ÐÐ make menuconfig¡£Õ⽫»á¼¤»îÒ»¸ö ncurses µÄÉ趨ѡµ¥¡£
Code Listing 5: ¿ªÊ¼ menuconfig
# cd /usr/src/linux# make menuconfig
Äú½«»á¿´µ½Ò»´ó´®µÄÉ趨²¿·Ý¡£ÎÒÃǽ«ÁгöһЩÄúÒ»¶¨ÒªÆôÓõÄÑ¡Ï²»È» Gentoo ÎÞ·¨ÍêÉÆµÄ¹¤×÷£©¡£
±ØÐ뿪ÆôµÄÑ¡Ïî
Ê×ÏÈ,¿ªÆô development and experimental code/drivers¡£Äú½«ÐèÒªÕâ¸ö,²»È»Äú½«ÎÞ·¨¿´¼ûһЩÆäËüÖØÒªµÄ³ÌÐò´úÂë»òÊÇÇý¶¯³ÌÐò¡£
Code Listing 6: Ñ¡Ôñ experimental code/drivers
Code maturity level options ---> [*] Prompt for development and/or incomplete code/drivers
¼ÇµÃÔÚ±àÒëºËÐÄʱѡÔñÕýÈ·µÄ´¦ÀíÆ÷Àà±ð£º
Code Listing 7: Ñ¡ÔñÕýÈ·µÄ´¦ÀíÆ÷Àà±ð
Processor type and features ---> £¨ÒÀÕÕÄúµÄ´¦ÀíÆ÷Ëù¸ü»»£© (Athlon/Duron/K7) Processor family
ÏÖÔÚµ½ File Systems È»ºóÑ¡ÔñÒªÖ§³ÖµÄµµ°¸ÏµÍ³¡£¼ÇµÃ²»Òª½«ËüÃDZà³ÉÄ£¿é¡£»¹ÓÐ Virtual memory,/proc file system,/dev file system + Automatically munt at boot£º
Code Listing 8: Ñ¡ÔñÏà¹Øµµ°¸ÏµÍ³
(ʹÓà 2.4.x ºËÐÄ)File systems ---> [*] Virtual memory file system support (former shm fs) [*] /proc file system support [*] /dev file system support (EXPERIMENTAL) [*] Automatically mount at boot [ ] /dev/pts file system for Unix98 PTYs(ʹÓà 2.6.x ºËÐÄ)File systems ---> Pseudo Filesystems ---> [*] /proc file system support [*] /dev file system support (OBSOLETE) [*] Automatically mount at boot [*] Virtual memory file system support (former shm fs)£¨°´ÕÕÄúϵͳËùÐèÒªµÄµµ°¸ÏµÍ³¿ªÆôÒÔÏÂÑ¡Ï <*> Reiserfs support <*> Ext3 journalling file system support <*> JFS filesystem support <*> Second extended fs support <*> XFS filesystem support
Èç¹ûÄãµÄ BIOS ²»ÄÜ´¦Àí´óÈÝÁ¿µÄÓ²ÅÌ,¶øÇÒÄãµ÷ÕûÌø½ÅÈÃÓ²Å̻ر¨ÊÜÏÞÖÆµÄÈÝÁ¿,ÄãÐèÒª¿ªÆôµ×ÏÂÉ趨ÈÃϵͳ¿ÉÒÔ´æÈ¡ËùÓÐÈÝÁ¿£º
Code Listing 9: Ñ¡Ôñ×Ô¶¯µ÷Õû´óС֧³Ö
(Ö»ÊÊÓà 2.4.x ºËÐÄ) ATA/IDE/MFM/RLL support ---> IDE, ATA and ATAPI Block devices ---> <*> Include IDE/ATA-2 DISK support [ ] Use multi-mode by default [*] Auto-Geometry Resizing support
Èç¹ûÄúÐèҪ͸¹ý PPPoE Áª»úµ½ÍøÂç»òÊǵ÷ÖÆ½âµ÷Æ÷²¦½Ó,Äú½«ÐèÒªÒÔϵĺËÐÄÑ¡Ï
Code Listing 10: Ñ¡Ôñ PPPoE Ïà¹ØÇý¶¯³ÌÐò
(ʹÓà 2.4.x ºËÐÄ)Network device support ---> <*> PPP (point-to-point protocol) support <*> PPP support for async serial ports <*> PPP support for sync tty ports(ʹÓà 2.6.x ºËÐÄ)Device Drivers ---> Networking support ---> <*> PPP (point-to-point protocol) support <*> PPP support for async serial ports <*> PPP support for sync tty ports
ËäÈ» PPP over Ethernet Ñ¡ÏîÖ»ÊÇÓÐÔÚ rp-pppoe É趨ΪºËÐÄ PPPoE ʱÐèÒª,µ«ÊÇÕâÁ½¸öѹËõµÄÑ¡Ïî²»»áÔì³É´íÎó¡£
Èç¹ûÄúÐèÒª,²»ÒªÍüÁËΪÄúµÄÍøÂ翨¼ÓÈëºËÐĵÄÖ§³Ö¡£
Èç¹ûÄúÓÐÒ»¸öÖ§³Ö HyperThreading(tm) µÄ Intel CPU,»òÊÇÓжà¸ö CPU,ÄúÓ¦¸ÃÆôÓà "Symmetric multi-processing support"£º
Code Listing 11: ÆôÓÃ SMP Ö§³Ö
Processor type and features ---> [*] Symmetric multi-processing support
µ±ÄúÍê³ÉºËÐÄÉ趨ʱ,Çë´Ó ±àÒëºÍ°²×° ¼ÌÐø¡£ ±àÒëºÍ°²×°
ÏÖÔÚÄúµÄºËÐÄÒѾÉ趨Íê³ÉÁË,ÎÒÃǸÃÀ´±àÒëÈ»ºó°²×°Ëü¡£À뿪ºËÐÄÉ趨,È»ºóÖ´ÐÐ make dep && make bzImage modules modules_install£º
Code Listing 12: ±àÒëºËÐÄ
£¨ºËÐÄ 2.4£©# make dep && make bzImage modules modules_install£¨ºËÐÄ 2.6£©# make && make modules_install
µ±ºËÐÄÍê³É±àÒëʱ,½«ºËÐÄÓ³Ïñµµ¸´ÖƵ½ /boot£º´ÓÕâ±ßÎÒÃǽ«¼ÙÉèÄú°²×°µÄÊÇ gentoo-sources µÄ 2.4.26¡£Äú¿ÉÒÔËæÒâ¸ü¸ÄÈÝÒ×¼ÇסµÄÎļþÃû³Æ,·½±ãÉÔºóµÄ¿ª»ú³ÌÐòÉ趨¡£
Code Listing 13: °²×°ºËÐÄ
# cp arch/i386/boot/bzImage /boot/kernel-2.4.26-gentoo-r6# cp System.map /boot/System.map-2.4.26-gentoo-r6
ÄúÒ²¿ÉÒÔ½«ÄúµÄºËÐÄÉ趨µµ±¸·Ýµ½ /boot,ÒÔ·ÀÍòÒ» :)
Code Listing 14: ±¸·ÝÄúµÄºËÐÄÉ趨µµ
# cp .config /boot/config-2.4.26-gentoo-r6
ÏÖÔÚÇë´Ó °²×°·Ö¿ªµÄºËÐÄÄ£¿é¡£
7.d. ÆäËüÑ¡Ôñ£ºÊ¹Óà genkernel
Èç¹ûÄúÕýÔÚ¶ÁÕâ¸ö²¿·Ý,ÄÇÄúÓ¦¸ÃÊÇÑ¡ÔñʹÓÃÎÒÃÇµÄ genkernel ³ÌÐòÀ´ÎªÄúÉ趨ºËÐÄ¡£
ÏÖÔÚÄúµÄºËÐÄÔʼÂëÒѾ°²×°ÁË,ÎÒÃǸÃʹÓà genkernel ³ÌÐòÀ´×Ô¶¯°ïÄú±àÒëºËÐÄ¡£genkernel ÊÇÀûÓÃÀàËÆ LiveCD µÄºËÐÄÉ趨À´½øÐй¤×÷µÄ¡£Õâ´ú±í×ŵ±ÄúʹÓà genkernel ±àÒëÄúµÄºËÐÄ,ÄúµÄϵͳ´óÖÂÉÏ»áÔÚ¿ª»úʱÕì²âËùÓеÄÓ²¼þ,¾ÍºÍÎÒÃÇµÄ LiveCD Ò»Ñù¡£ÒòΪ genkernel ²»ÐèÒªÊÖ¶¯ºËÐÄÉ趨,ËùÒÔÊʺϲ»»á±àÒëºËÐĵÄʹÓÃÕß¡£
ÏÖÔÚÈÃÎÒÃÇÀ´¿´¿´ÈçºÎʹÓà genkernel¡£Ê×ÏÈ,°²×° genkernel£º
Code Listing 15: °²×° genkernel
# emerge genkernel
ÏÖÔÚ,±àÒëÄúµÄºËÐÄÔʼÂë¡£Èç¹ûÄúÊÇ͸¹ý grp °²×° genkerenl,Ö±½ÓÖ´ÐÐ genkernel all¡£Çë×¢Òâ,µ± genkernel ÕýÔÚ±àÒëËùÓÐÓ²¼þÖ§³Öʱ,µÈ´ýµÄʱ¼ä»áÓеã¾Ã£¡
Èç¹ûÄúµÄ¿ª»ú·ÖÇøÃ»ÓÐʹÓà ext2 »òÊÇ ext3 Ϊµµ°¸ÏµÍ³,Äú½«ÐèҪʹÓà genkernel --menuconfig all ÊÖ¶¯É趨,È»ºóÔÚºËÐÄÄÚ¼ÓÈëÄúËùʹÓõĵµ°¸ÏµÍ³Ö§³Ö£¨ ²»ÄÜ ±à³ÉÄ£¿é£©¡£
Code Listing 16: Ö´ÐÐ genkernel
# genkernel all
µ± genkernel Íê³ÉµÄʱºò,Ò»¸öºËÐÄÓ³ÏñÎļþ,Ò»Ì×Ä£¿éºÍÒ»¸ö initial root disk £¨initrd£©½«»á±»½¨Á¢¡£ÎÒÃǽ«ÔÚÉÔºóÉ趨¿ª»ú³ÌÐòʱʹÓúËÐÄÓ³ÏñµµºÍ initrd¡£Ð´ÏºËÐÄºÍ initrd µÄµµÃû·½±ãÄúÉÔºóÉ趨¿ª»ú³ÌÐò¡£initrd ½«»áÔÚ¿ªÆðµ½"ÕæÕýµÄ"ϵͳ֮ǰÂíÉÏÕì²âÓ²¼þÖ§³Ö£¨¾ÍºÍ LiveCD Ò»Ñù£©¡£
Code Listing 17: ²é¿´Òѽ¨Á¢µÄºËÐÄÓ³ÏñµµÃûºÍ initrd
# ls /boot/kernel* /boot/initrd*
ÏÖÔÚ,ΪÁËÒªÈÃÎÒÃǵÄϵͳ¸üÏñ LiveCD,ÎÒÃÇÐèÒª°²×° hotplug¡£µ± initrd ×Ô¶¯Õì²âÓ²¼þʱ,hotplug½«»á×Ô¶¯Õì²âÆäËüµÄÓ²¼þ¡£Òª°²×°È»ºó¿ªÆô hotplug ,Çë°´ÕÕÒÔÏÂÊäÈ룺
Code Listing 18: °²×°ºÍ¿ªÆô hotplug
# emerge hotplug# rc-update add hotplug default
7.e. °²×°·Ö¿ªµÄºËÐÄÓ³ÏñÎļþºÍÄ£¿é
°²×°¶à¸öÄ£¿é
Èç¹ûÊʵ±,ÄúÓ¦¸ÃÒª°²×°ÏµÍ³ÉϵÄÓ²¼þËùÐèÒªµÄ°²×°³ÌÐò¡£ÒÔÏÂΪһЩÄúÓпÉÄÜÓõ½µÄºËÐÄÏà¹ØµÄ°²×°³ÌÐò£º
°²×°³ÌÐò£¨Ebuild£© ÓÃÒâ Ö¸Áî
nvidia-kernel Õë¶Ô NVIDIA ¼ÓËÙ xorg-x11 emerge nvidia-kernel
nforce-net NVIDIA NForce(2) Ö÷»ú°åÉϵÄÄÚ½¨ÍøÂç¿ØÖÆ¿¨ emerge nforce-net
nforce-audio NVIDIA NForce(2) Ö÷»ú°åµÄÄÚ½¨Éù¿¨ emerge nforce-audio
e100 Intel e100 Fast Ethernet ÍøÂ翨 emerge e100
e1000 Intel e1000 Gigabit Ethernet ÍøÂ翨 emerge e1000
emu10k1 Creative Sound Blaster Live!/Audigy Ö§³Ö emerge emu10k1
ati-drivers ÊÊÓÃÓÚ xorg-x11 µÄ ¼ÓËÙAccelerated ATI Radeon 8500+/FireG emerge ati-drivers
ati-drivers-extra Graphical ATI ¹¤¾ß emerge ati-drivers-extra
Çë×¢Òâ,ÓÐЩ°²×°³ÌÐò»áÅöµ½ºÜ¶àÏàÒÀÐÔµÄÎÊÌ⡣Ҫȷ¶¨Äú»á°²×°µ½ÄÇЩÌ×¼þ,ʹÓà emerge --pretend¡£¾ÙÀýÀ´Ëµ,emu10k1 Ì×¼þ£º
Code Listing 19: ²é¿´ÍêÕûµÄ°²×°Ì×¼þÁбí
# emerge --pretend emu10k1
Èç¹ûÄú²»Ï²»¶ËüÒª°²×°µÄÌ×¼þ,ʹÓà emerge --pretend --verbose ²é¿´¸÷Ì×¼þÐèҪʹÓõ½Ê²Ã´ USE ²ÎÊý£º
Code Listing 20: ²é¿´Ê¹ÓÃµÄ USE ²ÎÊý
# emerge --pretend --verbose emu10k1...[ebuild N ] media-sound/aumix-2.8 +gpm +nls +gtk +gnome +alsa -gtk2
ÒÔÉϵķ¶Àý½«¿ÉÒÔ¿´µ½ emu10k1 µÄÏàÒÀÐÔ£¨aumix£©±ØÐëÒÀÀµ×Å gtk ºÍ gnome µÄ USE ²ÎÊý,¶ø gtk £¨ÒÀÀµ×Å xorg-x11£©½«»á±»Ò»Æð±àÒë¡£
Èç¹ûÄú²»Òª±àÒëÈ«²¿,ÄõôËùÓÐµÄ USE ²ÎÊý,È磺
Code Listing 21: ¹Ø±ÕËùÓÐµÄ USE ²ÎÊý°²×° emu10k1
# USE="-gpm -nls -gtk -gnome -alsa" emerge --pretend emu10k1
µ±ÄúÂúÒâʱ,ÒÆ³ýµô --pretend ¿ªÊ¼°²×° emu10k1¡£
É趨ģ¿é
Äú½«ÐèÒª½«ÏëÒª¿ª»úʱ×Ô¶¯¼ÓÔØµÄÄ£¿é·Åµ½ /etc/modules.autoload.d/kernel-2.4 £¨»òÊÇ kernel-2.6£©¡£ÄúÒ²¿ÉÒÔ¼ÓÉÏÄ£¿éµÄÑ¡Ïî¡£
Òª²é¿´ËùÓпÉÓõÄÄ£¿é,Ö´ÐÐ find Ö¸Áî¡£²»ÒªÍüÁ˽« "<kernel version>"¸ü¸ÄΪÄú¸Õ¸Õ±àÒëµÄ°æ±¾£º
Code Listing 22: ²é¿´ËùÓпÉÓõİ汾
# find /lib/modules/<kernel version>/ -type f -iname '*.o' -or -iname '*.ko'
¾ÙÀýÀ´Ëµ,Òª×Ô¶¯¼ÓÔØ 3c59x.o Ä£¿é,±à¼ kernel-2.4 »òÊÇ kernel-2.6£º
Code Listing 23: ±à¼ /etc/modules.autoload.d/kernel-2.4
£¨2.4ºËÐĵķ¶Àý£©# nano -w /etc/modules.autoload.d/kernel-2.4
Code Listing 24: /etc/modules.autoload.d/kernel-2.4 »òÊÇ kernel-2.6
3c59x
ÏÖÔÚÖ´ÐÐ modules-update À´Ì×ÓÃÄúµÄ±ä¸üµ½ /etc/modules.conf£º
Code Listing 25: Ö´ÐÐ modules-update
# modules-update
ÏÖÔÚÇë´Ó É趨ÄúµÄϵͳ ¼ÌÐø°²×°¡£ 8. É趨ÄúµÄϵͳ
8.a. µµ°¸ÏµÍ³ÐÅÏ¢
ʲôÊÇ fstab£¿
ÔÚ Linux ÖÐ,ËùÓÐÔÚϵͳÖб»Ê¹ÓõķÖÇøÒª±»ÁÐÔÚ /etc/fstab Ö®ÖС£ÔÚÕâ¸öµµ°¸Ö®Öаüº¬ÁËÕâЩ·ÖÇøµÄ¹ÒÔØµã(ËûÃÇÔÚµµ°¸ÏµÍ³ÖÐÄÄÀï±»´æÈ¡),ËûÃÇÈçºÎ¹ÒÔØ( Ò»Ð©ÌØ±ðµÄ²ÎÊý),ÒÔ¼°ºÎʱ¹ÒÔØ(Òª²»Òª×Ô¶¯¹ÒÔØ,Ò»°ãʹÓÃÕ߿ɲ»¿ÉÒÔ¹ÒÔØµÈ)¡£
½¨Á¢ /etc/fstab
/etc/fstab ʹÓÃÌØ±ðµÄÓï·¨¡£Ã¿Ò»Áаüº¬Áù¸ö×Ö¶Î,ÒÔ¿Õ¸ñ(Ò»¸öÒÔÉÏ)¡¢tab»òÁ½ÕßͬʱÓÃÀ´·Ö¸ô¡£Ã¿Ò»¸ö×Ö¶ÎÓÐËû×Ô¼ºµÄ¶¨Ò壺
? µÚÒ»¸ö×Ö¶ÎÉ趨·ÖÇøµÄλÖÃ(×°ÖõÄ·¾¶)
? µÚ¶þ¸ö×Ö¶ÎÉ趨·ÖÇøÒªÔÚÄĸö¹ÒÔØµã±»¹ÒÔØ
? µÚÈý¸ö×Ö¶ÎÉ趨·ÖÇøµÄµµ°¸ÏµÍ³
? µÚËĸö×Ö¶ÎÉ趨 mount Òª¹ÒÔØÊ±ËùʹÓõĹÒÔØ²ÎÊý¡£ ÒòΪ²»Í¬µÄµµ°¸ÏµÍ³Óв»Í¬µÄ²ÎÊý,ÄúҪȥ²éѯ manpage (man mount) À´È¡µÃÍê ÕûµÄ²ÎÊýÁÐ±í¡£ÕâЩ²ÎÊýÖ®¼äÒÔ¶ººÅ·Ö¸ô¡£
? µÚÎå¸ö×ֶα» dump ÓÃÀ´¾ö¶¨Õâ¸ö·ÖÇøÐè²»ÐèÒª±»ÇãÓ¡¡£Ò»°ã¶øÑÔÄú¿ÉÒÔÉè³É 0(Áã)
? µÚÁù¸ö×Ö¶ÎÈà fsck ¾ö¶¨µ±ÏµÍ³²»Õý³£µÄ¹Ø»úʱ,µµ°¸ÏµÍ³¼ì²éµÄ˳Ðò¡£ ¸ùĿ¼Ҫ±»Éè³É 1 ¶øÆäËüÔòÒªÉè³É 2,Èç¹ûµµ°¸ÏµÍ³²»ÐèÒª±»¼ì²éµÄ »°,ÔòÉè³É 0¡£
½ÓÏÂÀ´¼¤»î nano (»òÄú¹ßÓÃµÄ±à¼Æ÷)À´½¨Á¢/etc/fstab£º
Code Listing 1: ¿ªÆô /etc/fstab
# nano -w /etc/fstab
½Ó×ÅÀ´¿´¿´ÎÒÃÇÈçºÎÉ趨 /boot ·ÖÇø¡£ÕâÖ»ÊÇÒ»¸ö·¶Àý,ËùÒÔÈç¹ûÄúµÄϵͳ²»ÐèÒª /boot ·ÖÇø£¨È磺PPC£©,²»ÒªÖ±½Ó¸´ÖÆËü¡£
ÔÚÎÒÃÇµÄ x86 ·Ö¸î·¶ÀýÖÐ /boot ÊÇλÓÚ /dev/hda1 ·ÖÇøÖÐ,¶øÇÒʹÓà ext2 µµ°¸ÏµÍ³¡£Ëû²»Ó¦¸ÃÔÚ¿ª»úʱ×Ô¶¯¹ÒÔØ (noauto),µ«ÊÇÐèÒª±»¼ì²é,ËùÒÔÎÒÃÇÓ¦¸Ã¼ÇÏÂÀ´£º
Code Listing 2: /etc/fstab ÖÐ /boot É趨·¶Àý
/dev/hda1 /boot ext2 defaults 1 2
Èç¹ûÄú²»ÐèÒª×Ô¶¯¹ÒÔØ /boot ·ÖÇø,À´Ôö¼ÓÄúµÄϵͳ°²È«ÐÔ,Äú½«ÐèÒª½« defaults ¸ü»»³É noauto¡£Õâ´ú±í×ÅÄ㽫ÐèÒªÔÚʹÓÃʱÊÖ¶¯¹ÒÔØ¡£
ΪÁËÔö½øÐ§ÄÜ,´ó²¿·ÖʹÓÃÕß¶¼»áÔÚÒª¹ÒÔØµÄ·ÖÇø¹ÒÔØ²ÎÊýÖÐÉ趨 noatime,ÒòΪÕâ»áÈÃϵͳ²»¸üÐÂÉϴεµ°¸µÄ´æÈ¡Ê±¼ä(Ò»°ãÀ´ËµÄú²¢²»ÐèÒªÕâ¸ö¹¦ÄÜ),Òò´Ë¿ÉÒÔ¼Ó¿ìËÙ¶È£º
Code Listing 3: etc/fstab ÖиĽø¹ýµÄ /boot É趨·¶Àý
/dev/hda1 /boot ext2 default,noatime 1 2
½ÓÏÂÀ´,ÎÒÃǼÌÐøÍê³ÉÏÂÃæÕ⼸ÐÐ,°üÀ¨ /boot,/ »¹ÓÐÖû»Çø£º
Code Listing 4: /etc/fstab ÖÐÈýÐÐÉ趨
/dev/hda1 /boot ext2 default,noatime 1 2/dev/hda2 none swap sw 0 0/dev/hda3 / ext3 noatime 0 1
×îºó,ÄúÒª¼ÓÈë /proc,tmpfs (±ØÒª),ÒÔ¼°CD-ROM¡£Èç¹ûÄú»¹ÓÐÆäËüµÄ×°ÖÃ,Ò²¼Óµ½µµ°¸ÖУº
Code Listing 5: ÍêÕûµÄ /etc/fstab
/dev/hda1 /boot ext2 noauto,noatime 1 2/dev/hda2 none swap sw 0 0/dev/hda3 / ext3 noatime 0 1none /proc proc defaults 0 0none /dev/shm tmpfs defaults 0 0/dev/cdroms/cdrom0 /mnt/cdrom auto noauto,user 0 0
µµ°¸ÏµÍ³É趨 auto Èà mount ²Â²âʹÓÃÄĸöµµ°¸ÏµÍ³(½¨ÒéÔÚ¿Éж³ýµÄ×°ÖÃʹÓÃ,ÒòΪËûÃÇ¿ÉÄÜÓжàÖÖµµ°¸ÏµÍ³),¶ø user ²ÎÊýÈÃÒ»°ãʹÓÃÕßÒ²ÄܹÒÔØ CD¡£
Èç¹ûÄúʹÓà SPARC µÄ»°,ÄúÒ²Òª½«ÏÂÃæÕâÒ»ÐмÓÈë /etc/fstab ÖУº
Code Listing 6: ÔÚ /etc/fstab ¼ÓÈë openprom µµ°¸ÏµÍ³
none /proc/openprom openpromfs defaults 0 0
Èç¹ûÄúÒªÐèÒª usbfs,¼ÓÈëÏÂÃæÕâÒ»ÐУº
Code Listing 7: ÔÚ /etc/fstab ¼ÓÈë usbfs µµ°¸ÏµÍ³
none /proc/bus/usb usbfs defaults 0 0
ÖØÐ¼ì²éÒ»´Î /etc/fstab,´¢´æÀ뿪ºó½øÐÐÏÂÃæµÄ²½Öè¡£
8.b. ÍøÂçÐÅÏ¢
Ö÷»úÃû³Æ,ÁìÓòÃû³ÆµÈ
½ÓÏÂÀ´µÄ²½ÖèÆäÖÐÖ®Ò»¾ÍÊǸøÄúµÄ¼ÆËã»úÒ»¸öÃû³Æ¡£Õâ²½ÖèÏ൱¼òµ¥,µ«ÊÇÐí¶àÈ˺ÜÄÑÕÒµ½Ò»¸öºÏÊʵÄÃû³Æ,¼ÇµÃÄúÉ趨µÄÃû×ÖÔÚÖ®ºó»¹ÊÇ¿ÉÒԸıäµÄ,Õâ¿ÉÒÔÈÃÄú¿ìÒ»µãÍê³É¡£Ò»°ã¶øÑÔ,Äú¿ÉÒÔÉ趨¼ÆËã»úÃû³ÆÎª tux ¶øÁìÓòÃû³ÆÎª homenetwork¡£
ÎÒÃÇ»áʹÓÃÕâЩÉ趨À´µ±×ö·¶Àý¡£Ê×ÏÈÉ趨Ö÷»úÃû³Æ£º
Code Listing 8: É趨Ö÷»úÃû³Æ
# echo tux > /etc/hostname
Æä´ÎÉ趨ÁìÓòÃû³Æ£º
Code Listing 9: É趨ÁìÓòÃû³Æ
# echo homenetwork > /etc/dnsdomainname
Èç¹ûÄúÓÐ NIS ÁìÓòÃû³ÆµÄ»°(Äú²»ÖªµÀÕâÊÇʲôµÄ»°,ÄÇÄú¾Í²»ÓÃÉ趨Ëü),ÄúÒ²ÐèҪȥÉ趨Ëü£º
Code Listing 10: É趨 NIS ÁìÓòÃû³Æ
# echo nis.homenetwork > /etc/nisdomainname
ÏÖÔÚ¼ÓÈë domainname script µ½Ô¤ÉèµÄ runlevel ÖУº
Code Listing 11: ½« domainname ¼Óµ½Ô¤Éè runlevel
# rc-update add domainname default
Éè¶¨ÍøÂç
ÔÚÄú¾õµÃ "àÅ,ÎÒÏÖÔÚÒѾŪºÃÁË" ֮ǰ,ÄúÒª¼ÇµÃÔÚÄú¸Õ¿ªÊ¼°²×° Gentoo ʱÉ趨µÄÍøÂçÖ»ÊÇÔÚ°²×°¹ý³ÌÖÐʹÓá£ÏÖÔÚÄúҪΪÄúµÄ Gentoo ϵͳÉè¶¨ÍøÂç¡£
ËùÓеÄÍøÂçÉ趨¶¼¼¯ºÏÔÚ /etc/conf.d/net¡£Èç¹ûÄú²»ÖªµÀÈçºÎÉ趨µÄ»°,Äú»á¾õµÃÕâЩÓï·¨Ï൱²»ÊìϤ»òÊDz»Á˽â,µ«²»Óõ£ÐÄ,ÎÒÃÇ»á½âÊÍÿ¼þÄú¸ÃÐèÒªµÄѶϢ :)
Ê×ÏÈÓÃÄú¹ßÓÃµÄ±à¼Æ÷¿ªÆô /etc/conf.d/net (Õâ¸ö·¶ÀýÖÐʹÓà nano)£º
Code Listing 12: ¿ªÆô /etc/conf.d/net À´±à¼
# nano -w /etc/conf.d/net
Äú»á¿´µ½µÄµÚÒ»¸ö±äÁ¿ÊÇ iface_eth0¡£ËûµÄÓï·¨ÈçÏ£º
Code Listing 13: iface_eth0 Óï·¨
iface_eth0="<ÄúµÄ IP> broadcast <ÄúµÄ¹ã²¥µØÖ·> netmask <ÍøÂçÆÁ±Î>"
Èç¹ûÄúʹÓà DHCP (×Ô¶¯È¡µÃ IP),ÄúÖ»ÒªÉ趨 iface_eth0 Ϊ dhcp¡£Èç¹ûÄúʹÓà rp-pppoe (ÀýÈç ADSL),ÔòÉ趨Ϊ up¡£Èç¹ûÄúÒªÊÖ¶¯É趨µ«ÊǶÔÉÏÃæµÄһЩרÓÐÃû´Ê²»Á˽âµÄ»°,ÇëÔĶÁ Á˽âÍøÂçרÓÐÃû´ÊÕâÒ»²¿·Ö¡£
½ÓÕâÎÒÃǸøÄúÈý¸öÀý×Ó£»µÚÒ»¸öʹÓà DHCP,µÚ¶þ¸öÉ趨¾²Ì¬ IP (192.168.0.2) ÒÔ¼°ÍøÂçÆÁ±Î 255.255.255.0,¹ã²¥µØÖ· 192.168.0.255 »¹ÓÐÍø¹Ø 192.168.1.1,µÚÈý¸öÔòÊÇÊÊºÏ rp-pppoe µÄÉ趨£º
Code Listing 14: Examples for /etc/conf.d/net
(ÊÊÓà DHCP)iface_eth0="dhcp"#Ò»Ð©ÍøÂç¹ÜÀíÔ±»áÒªÇóÄãʹÓÃ#DHCP ·þÎñÆ÷Ö¸¶¨µÄÖ÷»úÃû³ÆºÍÁìÓòÃû³Æ¡£#ÔÚÕâÖÖÇé¿öÏÂ,¼ÓÈëµ×ÏµĶ«Î÷Èà dhcpcd ʹÓÃËûÃÇ¡£#Õâ»áÈ¡´úµôÄãÔ¶±¾É趨µÄÖ÷»úÃû³ÆºÍÁìÓòÃû³Æ¡£dhcpcd_eth0="-HD"#Èç¹ûÄãʹÓà NTP À´Í¬²½ÄãµÄ¼ÆËã»úʱ¼ä,ʹÓÃ#-N ²ÎÊý±ÜÃâ dhcpcd ¸²¸ÇÄãµÄ /etc/ntp.confdhcpcd_eth0="-N"(ÊÊÓþ²Ì¬ IP)iface_eth0="192.168.0.2 broadcast 192.168.0.255 netmask 255.255.255.0"gateway="eth0/192.168.0.1"(ÊÊÓà rp-pppoe) iface_eth0="up"
Èç¹ûÄúÓÐÊý¸öÍøÂç½Ó¿Ú,ÐÂÔö¶îÍâµÄ iface_eth ±äÁ¿,ÀýÈç iface_eth1, iface_eth2 µÈ¡£¶ø gateway ±äÁ¿ÔÚÄúÖ»ÓÐÒ»¸öÍø¹ØÊ±²¢²»ÓÃÔö¼Ó¡£
ÏÖÔÚ´¢´æÉ趨ȻºóÀ뿪,¼ÌÐøÏÂÃæµÄ²½Öè¡£
¿ª»úʱ×Ô¶¯¼¤»îÍøÂç
ÈÃÄúµÄÍøÂç½Ó¿Ú¿ª»úʱ×Ô¶¯¼¤»î,ÄúÒª°Ñµ×ÏÂÕâЩ¼ÓÈëÔ¤ÉèµÄ runlevel ÖС£Èç¹ûÄúʹÓà PCMCIA ½Ó¿ÚÔòÌø¹ýÕâÒ»²½Öè,PCMCIA ÊÇÓÉ PCMCIA ¼¤»î script À´¼¤»î¡£
Code Listing 15: ¼ÓÈë net.eth0 µ½Ô¤ÉèµÄ runlevel
# rc-update add net.eth0 default
Èç¹ûÄúÓÐÊý¸öÍøÂç½Ó¿Ú,ÄúÒª½¨Á¢¶ÔÓ¦µÄ net.eth1,net.eth2 µÈ¡£Äú¿ÉÒÔʹÓà ln À´Íê³É£º
Code Listing 16: ½¨Á¢¶îÍâµÄ initscripts
# cd /etc/init.d# ln -s net.eth0 net.eth1# rc-update add net.eth1 default дÈëÍøÂçÐÅÏ¢
ÄúÐèÒª¸æËß Linux ¹ØÓÚÄúµÄÍøÂçµÄÐÅÏ¢¡£ÕâÔÚ /etc/hosts Öж¨Òå°ïÖúÄú½«Ãû³Æ·þÎñÆ÷Éϲ鲻µ½µÄÖ÷»úÃû³Æ·´½âΪ IP¡£ÀýÈçÄúµÄÍøÂçÖÐÓÐÈý̨¼ÆËã»ú,·Ö±ð½Ð×ö jenny (192.168.0.5),benny (192.168.0.6) ºÍ tux (192.168.0.7 - Õą̂¼ÆËã»ú),ÄúÒª¿ªÆô /etc/hosts È»ºóÌîÈëÕâЩÉ趨£º
Code Listing 17: ¿ªÆô /etc/hosts
# nano -w /etc/hosts
Code Listing 18: ÌîÈëÍøÂçÐÅÏ¢
127.0.0.1 localhost192.168.0.5 jenny.homenetwork jenny192.168.0.6 benny.homenetwork benny192.168.0.7 tux.homenetwork tux
Èç¹ûÄúµÄ¼ÆËã»úÊÇΨһµÄÒ»²¿,»òÊÇÃû³Æ·þÎñÆ÷ÓÐÈ«²¿µÄ·´½â,µ×ÏÂÕâÒ»ÐÐÒѾ×ã¹»ÁË,ÀýÈç˵,ÄãÏëÒªÄãµÄ¼ÆËã»ú½Ð×ö tux.homenetwork£º
Code Listing 19: Êʺϵ¥Ò»¼ÆËã»ú»òÊÇÓÐÍêÕû·´½âµÄ¼ÆËã»úµÄ /etc/hosts
127.0.0.1 tux.homenetwork tux localhost
´¢´æÉ趨ȻºóÀ뿪,¼ÌÐøÏÂÃæµÄ²½Öè¡£
Èç¹ûÄúûÓÐ PCMCIA,Äú¿ÉÒÔ¼ÌÐø½øÐРϵͳÐÅÏ¢¡£ PCMCIA ʹÓÃÕß¼ÌÐøÏÂÃæµÄÖ÷Ìâ¡£
·Ç±ØÒª£ºÈà PCMCIA ¹¤×÷
Note: pcmcia-cs Ö»¿ÉÒÔÔÚ x86, amd64 ºÍ ppc ƽ̨ÉÏʹÓá£
PCMCIA ʹÓÃÕßÊ×ÏÈÒª°²×° pcmcia-cs Ì×¼þ¡£È»ºóʹÓà USE="-X" À´±ÜÃâÏÖ½×¶ÎµÄ XFree86 °²×°£º
Code Listing 20: °²×° pcmcia-cs
# USE="-X" emerge pcmcia-cs
µ± pcmcia-cs °²ÞʺÃÒÔºó,ÐÂÔö pcmcia µ½Ô¤Éè runlevel£º
Code Listing 21: ÐÂÔö pcmcia µ½Ô¤Éè runlevel
# rc-update add pcmcia default
8.c. ϵͳÐÅÏ¢
RootÃÜÂë
ÎÒÃǽåÓÉÊäÈëÒÔÏÂÖ¸ÁîÀ´¸ü¸ÄRootÃÜÂë
Code Listing 22: É趨RootÃÜÂë
# passwd
Èç¹ûÄúÏ£ÍûÈÃRootÄܹ»´ÓÎÄ×Ö½Ó¿ÚµÇÈë,ÇëÔö¼Ótts/0µ½/etc/securetty:
Code Listing 23: Ôö¼Ó tts/0 to /etc/securetty
# echo "tts/0" >> /etc/securetty
ϵͳÐÅÏ¢
Gentoo ʹÓà /etc/rc.conf À´É趨Õû¸öϵͳµÄÒ»°ãÉ趨¡£¿ªÆô /etc/rc.conf È»ºóÏíÊÜÀïÃæÍêÉÆµÄ×¢½â :)
Code Listing 24: ¿ªÆô /etc/rc.conf
# nano -w /etc/rc.conf
¾ÍÈçͬÄúËù¿´µ½µÄ,Õâ¸öµµ°¸ÓÐÍêÉÆµÄ×¢½âÈÃÄúÉ趨±ØÒªµÄ²ÎÊý¡£ÌرðҪעÒâ KEYMAP ±äÁ¿,Èç¹ûÄúÉ趨´íÎóµÄ KEYMAP µ±ÄúÔÙÓüüÅÌÊäÈëʱ»áµÃµ½´íÎóµÄ½á¹û¡£
Note: ÒÔ USB ΪÖ÷µÄ SPARC ϵͳ»ò¼æÈݵÄϵͳ¿ÉÄÜҪѡÔñ i386 keymap (ÀýÈç "us") ¶ø²»ÊÇ "sunkeymap"¡£
PPC Ôڴ󲿷ݵÄϵͳÉÏʹÓà x86 µÄ keymaps¡£ÏëҪʹÓà ADB keymaps µÄʹÓÃÕß½«ÐèÒªÔÚ¿ª»úʱÆôÓúËÐÄÄÚµÄ ADB keycode sendings È»ºóÔÚ rc.conf ÄÚÉ趨һ¸ö mac/ppc keymap¡£
É趨ºÃ /etc/rc.conf ÒÔºó,´æÅÌÈ»ºóÀ뿪¡£½ÓÏÂÀ´¼ÌÐø °²×°±ØÒªµÄϵͳ¹¤¾ß¡£
9. °²×°±ØÒªµÄϵͳ¹¤¾ß
9.a. ϵͳ¼Ç¼Æ÷
ÔÚÎÒÃÇÌᵽʲôÊÇ stage3 ʱ,ÎÒÃÇÔøËµËü°üº¬×ÅËùÓÐÎÒÃDz»ÄÜÌṩ¸øÎÒÃǵÄʹÓÃÕßµÄϵͳ¹¤¾ß¡£ÎÒÃÇÒ²ÔøÌáµ½¹ýÖ®ºó½«»á°²×°ÆäËüµÄ¹¤¾ß¡£ÎÒÃDZã´ÓÕâÀ↑ʼ½â˵ÕâЩ¹¤¾ß°É :)
µÚÒ»¸öÄúÐèÒª×ö¾ö¶¨µÄ¹¤¾ßÊÇÓÃÀ´Ìṩ¸øÏµÍ³¼Ç¼µÄ¹¦ÄÜ¡£Unix ºÍ Linux ÓµÓÐÒ»¸öºÜºÃµÄ¼Ç¼¹¦ÄܵÄÀúÊ· -- ÈôÊÇÄúÏëÒªµÄ»°,Äú¿ÉÒԼǼËùÓз¢ÉúÔÚÄúϵͳÉϵÄÊÂÇéÖÁ logfiles¡£Õ⽫»áÐèÒªÓõ½ ϵͳ¼Ç¼Æ÷¡£
Gentoo ÌṩÐí¶à¸öϵͳ¼Ç¼Æ÷µÄÑ¡Ôñ¡£·Ö±ðΪ sysklogd,ËüÊÇÒ»¸ö´«Í³µÄϵͳ¼Ç¼·þÎñÆ÷,syslog-ng ,ÊÇÒ»¸ö½ø½×µÄϵͳ¼Ç¼Æ÷,¶ø metalog ÔòÊÇÒ»¸ö¸ß¶ÈÅäÖõÄϵͳ¼Ç¼Æ÷¡£Portage ÄÚ»òÐíÓÐÆäËüµÄ¼Ç¼Æ÷ -- ÎÒÃÇÌṩµÄÌ×¼þÿÌì¶¼ÔÚÔö¼Óµ±ÖС£
Èç¹ûÄúÎÞ·¨¾ö¶¨ÒªÊ¹ÓÃÄÇÒ»¸öϵͳ¼Ç¼Æ÷,Äú¿ÉÒÔ¿¼ÂÇʹÓà metalog,Ëü³ýÁ˷dz£Ç¿´óÍâ,ËüÒ²ÄÚº¬Á˷dz£ºÃµÄÔ¤ÉèÅäÖá£
ÇëÓà emerge Ö¸ÁîÀ´°²×°ÄúÏëʹÓõÄϵͳ¼Ç¼Æ÷,²¢Ê¹Óà rc-update ½«Ö®¼ÓÈëÖÁÔ¤Éè runlevel¡£ÏÂÃæÊÇÒ»¸ö°²×° metalog µÄÀý×Ó¡£µ±È»,ËüÒ²ÊÊÓÃÓÚ°²×°ÄúÒªÓõÄϵͳ¼Ç¼Æ÷£º
Warning: 2004.2 µÄ stage3 ѹËõÎļþ´íÎóµÄ°üº¬ sysklogd ¼Í¼Æ÷¡£ÄúÐèÒªÔÙ°²×°ÐµÄ֮ǰÏÈÒÆ³ýËû¡£
Code Listing 1: °²×°ÏµÍ³¼Ç¼Æ÷
(Èç¹ûÄúʹÓà stage3 ѹËõµµµÄ»°ÏÈÒÆ³ý sysklogd ¼Í¼Æ÷)# emerge unmerge sysklogd(ÏÖÔÚ°²×°ÄúÑ¡ÔñµÄϵͳ¼Ç¼Æ÷)# emerge metalog# rc-update add metalog default
9.b. ·Ç±ØÒª: Cron ·þÎñÆ÷
½ÓÏÂÀ´µÄÔòÊÇ cron ·þÎñÆ÷¡£ËäÈ»ÄúµÄϵͳ²¢²»Ò»¶¨ÐèÒª°²×°Õâ¸ö·þÎñÆ÷,µ«ÎÒÃÇ»¹Êǽ¨ÒéÄú°²×°Ò»¸ö¡£È»¶ø,ʲôÊÇ cron ·þÎñÆ÷ÄØ£¿cron ·þÎñÆ÷Ö´ÐÐÅŶ¨µÄÖ¸Áî¡£ÈôÄúÐèҪʱ³£Ö´ÐÐһЩָÁî (ÿÌ졢ÿÐÇÆÚ¡¢»òÊÇÿ¸öÔÂ),ÔòËü½«»áÊÇÒ»¸öµÃÁ¦µÄÖúÊÖ¡£
Gentoo ÌṩÈýÖÖ¿ÉÄÜµÄ cron ·þÎñÆ÷£ºdcron¡¢fcron¡¢ÒÔ¼° vixie-cron¡£°²×°ËüÃǵķ½Ê½¸ú°²×°ÏµÍ³¼Ç¼Æ÷µÄ·½Ê½Ò»Ñù¡£µ«ÊÇ, dcron ºÍ fcron ÐèÒªÒ»¸ö¶îÍâµÄÉ趨ָÁî,¼´ crontab /etc/crontab¡£Èç¹ûÄúÎÞ·¨¾ö¶¨Ê¹ÓÃÄǸö cron ·þÎñÆ÷,Äú¿ÉÒÔ¿¼ÂÇʹÓà vixie-cron¡£
Õë¶ÔÎÞÍøÂçµÄ°²×°,ÎÒÃÇÖ»Ìṩ vixie-cron¡£Èç¹ûÄúÏëÒª°²×°ÆäËü cron ,Äú½«ÐèÒªµÈµ½Ö®ºóÔÙ×ÔÐа²×°¡£
Code Listing 2: °²×° cron ·þÎñÆ÷
# emerge vixie-cron# rc-update add vixie-cron default(Ö»ÓÐÔÚ°²×° dcron »ò fcron) # crontab /etc/crontab
9.c. µµ°¸ÏµÍ³¹¤¾ß
ÒÀÕÕÄúʹÓõĵµ°¸ÏµÍ³,ÄúÓ¦¸Ã°²×°±ØÒªµÄµµ°¸ÏµÍ³¹¤¾ß (ÓÃÀ´¼ì²éµµ°¸ÏµÍ³µÄÕýÈ·ÐÔ¡¢½¨Á¢¶îÍâµÄµµ°¸ÏµÍ³µÈµÈ)¡£
ÏÂÃæµÄ±í¸ñÁгö¸÷µµ°¸ÏµÍ³ËùÐèÒª°²×°µÄ¹¤¾ß£º
µµ°¸ÏµÍ³ ¹¤¾ß °²×°Ö¸Áî
XFS xfsprogs emerge xfsprogs
ReiserFS reiserfsprogs emerge reiserfsprogs
JFS jfsutils emerge jfsutils
Èç¹ûÄú²»ÐèҪʹÓà rp-pppoe Áª»úÖÁÍø¼ÊÍøÂç,ÇëÔĶÁ ×îÖÕ»¯ÄúµÄ Gentoo °²×°¡£²»È»Çë¼ÌÐøÔĶÁ ·Ç±ØÒª£ºÍøÂ繤¾ß.
9.d. ·Ç±ØÒª£ºÍøÂ繤¾ß
Èç¹ûÄúÐèÒª rp-pppoe À´Áª»úÖÁÍø¼ÊÍøÂç,ÄúÐèÒª°²×°Ëü¡£
Code Listing 3: °²×° rp-pppoe
# USE="-X" emerge rp-pppoe
USE="-X" ½«»á½ûÖ¹ xorg-x11 ÒòΪÒÀ´æÐÔ¶ø±»°²×°ÖÁϵͳ (rp-pppoe ÓÐͼÐͽӿڹ¤¾ß£»Èç¹ûÄúÏëÒª¼¤»îËüÃÇ,Äú¿ÉÒÔÍíµãÔÙÖØÐ±àÒë rp-pppoe ,µ«ÄúÒ²¿ÉÒÔÏÖÔھͰ²×° xorg-x11 -- Õ⽫»áÐèÒª¸ü³¤µÄ±àÒëʱ¼ä)¡£
ÏÖÔÚÇë½Ó×ÅÔĶÁ ×îÖÕ»¯ÄúµÄ Gentoo °²×°¡£
10. É趨¿ª»ú¹ÜÀí³ÌÐò
10.a. ¾ö¶¨ÄúµÄÑ¡Ôñ
½éÉÜ
ÏÖÔÚÄúµÄºËÐÄÒѾÉ趨ºÍÒѾ±àÒëºÃÏà¹ØµÄϵͳÉ趨ÎļþÁË,ÊÇʱºò¸Ã°²×°Ò»¸ö³ÌÐòÀ´Çý¶¯¿ª»úʱËùÐèÒªµÄºËÐÄ¡£Õâ¸ö³ÌÐò½Ð×ö ¿ª»ú³ÌÐò¡£ÊÊÓÃÓÚ x86, Gentoo Linux Ìṩ GRUB ºÍ LILO¡£ÔÚÎÒÃǼÌÐø°²×°ÆäÖÐÒ»¸ö¿ª»ú³ÌÐò֮ǰ,ÎÒÃǽ«»á¸æËßÄúÈçºÎÉ趨 framebuffer £¨Èç¹ûÄúÏëÒªµÄ»°£©¡£Ê¹Óà framebuffer,Äú¿ÉÒÔÔÚÎÄ×Ö½Ó¿ÚÏÂÖ´ÐÐÓÐÏ޶ȵÄͼ±ê¹¦ÄÜ£¨Èç Gentoo ÌṩµÄƯÁÁ bootsplash£©¡£
Ñ¡ÔñÐÔ: Framebuffer
Èç¹û ÄúµÄºËÐÄÓÐÉ趨 framebuffer µÄÖ§³Ö£¨»òÊÇÄúʹÓà genkernel µÄÔ¤ÉèºËÐÄÉ趨£©,Äú¿ÉÒÔÔÚÄúµÄ¿ª»ú³ÌÐòÉ趨ÎļþÄÚ¼ÓÈë vga Ïà¹ØµÄÉ趨¡£ÒÔϵÄÁÐ±í½«»áÊÇһЩ¿ÉÓÃµÄ vga ²ÎÊý¡£·¶ÀýµÄÉ趨Îļþ½«Ê¹Óà 800x600 @ 16bpp ,ËùÒÔÊÇ 768¡£
640x480 800x600 1024x768 1280x1024
8 bpp 769 771 773 775
16 bpp 785 788 791 794
32 bpp 786 789 792 795
Çë¼ÇµÃ£¨»òÊÇдÏ£©ÄúÊÊÓõÄÊýÖµ£»ÄúÉÔºó½«ÐèÒªµ½Ëü¡£
ÏÖÔÚ¿ªÊ¼°²×° GRUB »òÊÇ LILO¡£
10.b. Ô¤Éè: ʹÓà GRUB
Á˽â GRUB µÄÒâÒå
Á˽â GRUB µÄ¹Ø¼ü¾ÍÊDZØÐëÁ˽â GRUB ÈçºÎ¿´´ýÏà¹ØµÄÓ²Å̺ͷÖÇø¡£ÄúµÄ Linux ·ÖÇø /dev/hda1 ½«»á±» GRUB ½âÊÍΪ (hd0,0)¡£Çë×¢Òâ hd0,0 ÍâÃæµÄÀ¨ºÅ £ ËüÃÇÊDz»¿É»òȱµÄ¡£
Ó²Å̵ļÆËãÊÇ´Ó 0 ¶ø²»ÊÇ "a" ¿ªÊ¼¡£ÇëÌØ±ð×¢ÒâÓ²ÅÌ,GRUB ½«²»»á¼ÆËã atapi-ide ¹âÇýºÍ¿Ì¼»úµÈ×°Öᣣ¨ÔÚÕý³£µÄÇé¿öÀ´Ëµ,³ý·ÇÌØ±ð´Ó bios É趨 SCSI ´ÅÅÌ¿ª»ú,²»È»ËüÃǽ«È¡µÃ±È ide ´ÅÅ̸ü¸ßµÄºÅÂë¡£
¼ÙÈçÄúÓÐÒ»¸öÔÚ /dev/hda µÄÓ²ÅÌ,ÔÚ /dev/hdb µÄ¹âÇý,ÔÚ /dev/hdc µÄ¿Ì¼»ú,µÚ¶þ¿ÃÓ²ÅÌÔÚ /dev/hdd ºÍûÓÐÈκΠSCSI ×°Öᣠ/dev/hdd7 ½«»á±»·Òë³É (hd1,6)¡£Õâ»òÐíÌýÆðÀ´Óеã¹îÒì,µ«ÊÇÎÒÃǽ«¿ÉÒÔÀûÓà GRUB ÌṩµÄ tab Íê³É½á¹¹£¨tab complete mechanism£©ÈÃÄúÉ趨Ðí¶àÓ²Å̺ͷÖÇøÊ±·½±ãÐí¶à¡£
²îµãÍü¼ÇÁË,ÎÒÃÇÏÖÔڸð²×° GRUB ÁË¡£
°²×° GRUB
Òª°²×° GRUB,ÎÒÃÇÏÈÐèÒª°²×°Ëü£º
Code Listing 1: °²×° GRUB
# emerge grub
Òª¿ªÊ¼É趨 GRUB,Äú½«ÒªÊäÈë grub¡£Äú½«»á±»´øÁìµ½ grub> µÄÎÄ×Ö½Ó¿Ú¡£ÏÖÔÚÄúÐèÒªÊäÈëÕýÈ·µÄÖ¸Á GRUB µÄ¿ª»ú¼Í¼°²×°µ½ÄúµÄÓ²ÅÌÉÏ¡£
Code Listing 2: ¿ªÊ¼ GRUB ½Ó¿Ú
# grub
Note: Èç¹ûÄúµÄϵͳÉÏûÓÐÈκÎÈíÅÌ,½« --no-floppy µÄÑ¡Ïî¼Óµ½ÒÔÉÏÖ¸ÁîµÄºóÃæ,Èç´ËÒ»À´ grub ¾Í²»»áÔÚ¿ªÊ¼Ê±Ñ°ÕÒÈíÅÌ»úÁË¡£
ÔÚ·¶ÀýµÄÉ趨ÎļþÄÚ,ÎÒÃÇÒª°²×° GRUB,ËùÒÔËü²ÅÄÜ´Ó¿ª»ú·ÖÇø /dev/hda1 ÄÚ¶Á GRUB µÄÈ¡Ïà¹Ø×ÊÁÏ,È»ºó½« GRUB ¿ª»ú¼ÍÂɰ²×°µ½Ó²ÅÌµÄ MBR £¨master boot record£©,Èç´ËÒ»À´ÎÒÃÇÒ»¿ª»ú¾Í»áÅöµ½ GRUB µÄ»Ãæ¡£µ±È»,Èç¹ûÄúûÓа´ÕÕ·¶ÀýÉ趨,ÇëÒÀÕÕÄúµÄÉ趨×ö¸ü¸Ä¡£
GRUB µÄ tab Íê³É¼Ü¹¹ (tab completion mecanism£©ÊÊÓÃÓÚ GRUBÄÚ¡£¾ÙÀýÀ´Ëµ,Èç¹ûÄúÊäÈë "root(" È»ºó°´Ï TAB ¼ü,Äú½«»á¿´µ½ GRUB ÏÔʾ³öËùÓпÉÓõÄ×°Öã¨Èç hd0£©¡£Èç¹ûÄúÊäÈë "root (hd0," È»ºó°´Ï TAB ¼ü,Äú½«»á¿´µ½ GRUB ÏÔʾ³öËùÓпÉÑ¡µÄ·ÖÇøÇåµ¥£¨Èç hd0,0£©¡£
GRUB µÄ tab ¼üÍê³É¼Ü¹¹Ó¦¸Ã¿ÉÒÔÔÚ GRUB µÄÉ趨Éϼòµ¥Ò»µã¡£ÏÖÔÚÎÒÃǽ«Òª¿ªÊ¼É趨 GRUB¡£
Code Listing 3: ½« GRUB °²×°µ½ MBR
grub> root (hd0,0) £¨ÒåÄúµÄ¿ª»ú·ÖÇøËùÔڵĵط½£©grub> setup (hd0) £¨½« GRUB °²×°µ½ MBR£©grub> quit £¨À뿪 GRUB£©
Note: Èç¹ûÄú²»´òË㽫 GRUB °²×°µ½ MBR ¶øÊÇÆäËü·ÖÇøÉÏ,Äú½«ÒªÐ¡ÐĵĽ« setup Ö¸ÁîÖ¸ÏòÕýÈ·µÄ·ÖÇø¡£¾ÙÀýÀ´Ëµ,Èç¹ûÄúÒª°Ñ GRUB °²×°µ½ /dev/hda3 , ÄÇôÄú½«ÐèÒªÓõĵÄÖ¸Áî¾Í»áÊÔ setup (hd0,2)¡£Ö»ÓÐÉÙÊýµÄʹÓÃÕß»áÕâô×ö¡£
ËäÈ» GRUB ÒѰ²×°Íê³É,ÎÒÃÇ»¹ÐèҪΪËü±àдһ¸öÉ趨µµ,Èç´ËÒ»À´ GRUB ½«×Ô¶¯µÄ¿ªÆôµ½Äúн¨Á¢µÄϵͳºËÐÄ¡£Ê¹Óà nano £¨»òÊÇÆäËüµÄ±à¼Æ÷£©½¨Á¢Ò»¸ö /boot/grub/grub.confµµ°¸£º
Code Listing 4: ½¨Á¢ /boot/grub/grub.conf
# nano -w /boot/grub/grub.conf
ÏÖÔÚÎÒÃǽ«Òª¿ªÊ¼±àдgrub.conf¡£Äú½«»áÔÚÏÂÃæÕÒµ½Á½¸ö°´ÕÕÎÒÃǵķ¶ÀýËùʹÓÃµÄ grub.conf É趨µµ,ʹÓõÄÊǺËÐÄ kernel-2.4.26-gentoo-r6¡£ÎÒÃÇÖ»»áÔÚµÚÒ»¸ö grub.conf ÄÚ½øÐÐÅú×¢¡£ÇëÈ·ÈÏÄúµÄºËÐÄÓ³ÏñÎļþÃû³Æ,Èç¹ûÐèÒª,Ò²ÇëÈ·ÈÏÄúµÄ initrd Ó³Ïñµµ¡£
? µÚÒ»¸ö grub.conf ÊÊÓÃÓÚûÓÐʹÓà genkernel ±àÒëºËÐĵÄʹ ÓÃÕß
? µÚ¶þ¸ö grub.conf ÊÊÓÃÓÚʹÓà genkernel µÄʹÓÃÕß
Code Listing 5: δʹÓà genkernel µÄ grub.conf
# ½«Îª¿ª»úÔ¤Éè¡£0ΪµÚÒ»,1ΪµÚ¶þ,ÒÔ´ËÀàÍÆ¡£default 0# ʹÓÃÔ¤ÉèǰµÈ´ýµÄ¿ª»úÃëÊý¡£timeout 30# ½«Æ¯ÁÁÓÖ·Ê´óµÄ splash-image ÆôÓ㺣©# Èç¹ûÄúûÓа²×°ÏÔʾ¿¨,ÇëÅú×¢ÕâÐÐsplashimage=(hd0,0)/grub/splash.xpm.gztitle=Gentoo Linux 2.4.26-r6# ´¢´æºËÐÄÎļþµÄ·ÖÇø£¨»òÊDzÙ×÷ϵͳ£©root (hd0,0)kernel /kernel-2.4.26-gentoo-r6 root=/dev/ram0 init=/linuxrc ramdisk=8192 real_root=/dev/hda3# ÒÔÏÂÈýÐÐΪ Windows ϵͳÊʺϵÄË«ÖØ¿ª»ú¡£# ÔÚÎÒÃǵÄÀý×Ó,WindowsÊÇ·ÅÔÚ /dev/hda6title=Windows XProotnoverify (hd0,5)makeactivechainloader +1
Code Listing 6: genkernel ʹÓÃÕßÊÊÓÃµÄ grub.conf
default 0timeout 30splashimage=(hd0,0)/grub/splash.xpm.gztitle=Gentoo Linux 2.4.26-r6root (hd0,0)kernel /kernel-2.4.26-gentoo-r6 root=/dev/ram0 init=/linuxrc real_root=/dev/hda3initrd /initrd-2.4.26-gentoo-r6# Èç¹ûÄúÏëÒªË«ÖØÏµÍ³¿ª»úµÄ»°title=Windows XProot (hd0,5)makeactivechainloader +1
Note: Èç¹ûÄúʹÓò»Í¬µÄ·Ö¸îÉ趨»òÊǺËÐĵµ°¸,ÇëÒÀ¸öÈ˵ÄÉ趨¸ü¸Ä¡£µ«ÊÇÇëÈ·ÈÏËùÓÐ GRUB Ïà¹ØµÄ×°Öã¨Èç(hd0,0)£©ºÍ¹ÒÔØµãÓÐÏàÁ¬µÄ,¶ø·Ç root¡£»»¾ä»°Ëµ, (hd0,0)/grub/splash.xpm.gz ʵ¼ÊÉÏÊÇ·ÅÔÚ /boot/grub/splash.xpm.gz ÒòΪ (hd0,0) ÊÇ /boot¡£
Èç¹ûÄúÐèÒª×ÔÐÐÊäÈëÈκβÎÊý¸øºËÐÄ,Ö»Òª½«ËûÃÇ·ÅÔÚ kernel µÄÖ¸ÁîºóÃæ¡£ÎÒÃÇÒѾ´«ËÍÁËÒ»¸ö£¨root=/dev/hda3 »òÊÇ real_root=/dev/hda3£©,µ«ÊÇÄúÒ²¿ÉÒÔ´«ËÍÆäËüµÄÖ¸Áî¡£¾ÙÀýÀ´Ëµ,ÎÒÃÇʹÓà vga À´É趨֮ǰÌá¹ýµÄ framebuffer£º
Code Listing 7: ½« vga ¼ÓÈëΪºËÐIJÎÊý
title=Gentoo Linux 2.4.26-r6 root (hd0,0) kernel /kernel-2.4.26-gentoo-r6 root=/dev/hda3 vga=788
Èç¹ûÄãʹÓà 2.6.7 »ò¸üеĺËÐÄ,¶øÇÒÄãÒòΪ BIOS ²»ÄÜ´¦Àí´óÈÝÁ¿µÄÓ²Å̶øµ÷ÕûÁËÌø½Å,ÄãÐèÒª¼ÓÈë hdx=stroke.
genkernel ʹÓÃÕßÓ¦¸ÃÒªÖªµÀËûÃǵÄÐÂʹÓÃµÄºÍ LiveCD Ò»Ñù¡£¾ÙÀýÀ´Ëµ,Èç¹ûÄúÓÐ SCSI ×°ÖÃ,ÄúÓ¦¸ÃÔÚºËÐÄÑ¡ÏîºóÃæ¼ÓÈë doscsi¡£
ÏÖÔÚ´¢´æ grub.conf µµ°¸È»ºóÀ뿪¡£Ä¿Ç°ÎªÖ¹, GURB ÒѾ±»ÍêÉÆµÄÉ趨,Äú½«¿ÉÒÔ¼ÌÐøµ½ °²×°ÏµÍ³ËùÐ蹤¾ß¡£
Èç¹ûÄúÓиü¶à¹ØÓÚ GRUB µÄÎÊÌâ,Çë²Î¿¼ GRUB FAQ »òÊÇ GRUB ˵Ã÷¡£ 10.c. ÆäËüÑ¡Ôñ£º ʹÓà LILO
°²×° LILO
LILO,LInuxLOader ÊÇ Linux ¿ª»ú³ÌÐòÖÐ×îÎȶ¨µÄÒ»¸ö¡£µ«ÊÇ,ËüȱÉÙһЩ GRUB ËùÓеŦÄÜ£¨Õâ¾ÍÊÇΪʲô GRUB Ô½À´Ô½ÊÜ»¶Ó£©¡£ÔÒòÊÇ LILO ĿǰֻÓÃÔÚ GRUB ÎÞ·¨Ê¹ÓõÄϵͳÉÏ,GRUB ²»Äܵ«ÊÇ LILO ÄÜ¡£µ±È»,Ò²ÊÇÓÐÊìϤ LILO µÄʹÓÃÕß¼ÌÐø°®ÓÃ×Å¡£²»ÂÛÄǸö, Gentoo ¶¼Ö§³Ö,¿´µ½Õâ±ßÓдú±í×ÅÄúÓÐÐËȤҪ°²×° LILO¡£
°²×° LILO ºÜ¼òµ¥£»Ö»ÐèҪʹÓà emerge¡£
Code Listing 8: °²×° LILO
# emerge --usepkg lilo
É趨 LILO
ÒªÉ趨 LILO,ÄúÒ»¶¨Òª½¨Á¢ /etc/lilo.conf¡£¿ªÆôÄú×îϲ»¶µÄ±à¼Æ÷£¨ÔÚÊÖ²áÄÚÎÒÃÇʹÓà nano È·±£ËùÓÐÎļþµÄÒ»¹ßÐÔ£©È»ºó½¨Á¢´Ëµµ¡£
Code Listing 9: ½¨Á¢ /etc/lilo.conf
# nano -w /etc/lilo.conf
²»¾Ã֮ǰ,ÎÒÃÇÒѾÇëÄú¼ÇסÄúËù½¨Á¢µÄºËÐÄÎļþÃû³Æ¡£ÒÔÏ嵀 lilo.conf ·¶Àý,ÎÒÃǽ«¼ÙÉèºËÐÄÃû³ÆÎª kernel-2.4.26-gentoo-r6¡£ÎÒÃÇҲʹÓ÷¶ÀýÄڵķָîÉ趨Ϊ·¶Àý¡£¹²ÓÐÁ½¸ö²¿·Ý£º
? Ò»¸öÊÊÓÃÓÚûÓÐʹÓà genkernel ±àÒëºËÐĵÄʹÓÃÕß
? ÁíÒ»¸öÔòÊÇÊÊÓÃÓÚʹÓà genkernel ±àÒëºËÐĵÄʹÓÃÕß
ÇëÈ·ÈÎÄúµÄºËÐÄÓ³ÏñÎļþÃû³Æ,Èç¹ûÐèÒª,ҲȷÈÏÄúµÄ initrd ÎļþÃû³Æ¡£
Code Listing 10: /etc/lilo.conf ·¶Àý
boot=/dev/hda # ½« LILO °²×°µ½ MBRprompt # ¸øÓèʹÓÃÕßÑ¡ÔñϵͳµÄ»Ãætimeout=50 # ¿ªÆôÔ¤ÉèÑ¡ÏîǰµÈ´ýÎåÃëdefault=gentoo # µ± timeout ËùÉ趨µÄʱ¼ä³¬¹ýʱ,×ÔÐпªÆô "gentoo"Èç¹ûÄúûÓÐʹÓà framebuffer,ÇëÒÆ³ýÒÔÏÂÕâÐУºvga=788 # Framebuffer É趨¡£ Çë×ÔÐе÷Õû¡£# ·Ç genkernel ʹÓÃÕßimage=/boot/kernel-2.4.26-gentoo-r6 label=gentoo # Õâ¸ö²¿·ÝµÄÃû³Æ read-only # ÒÔÖ»¶ÁµÄ·½Ê½¿ªÆô root root=/dev/hda3 # ¸ù£¨?£©ÏµÍ³µÄλÖÃ# ʹÓà genkernel µÄʹÓÃÕßimage=/boot/kernel-2.4.26-gentoo-r6 label=gentoo read-only root=/dev/ram0 append="init=/linuxrc ramdisk=8192 real_root=/dev/hda3" initrd=/boot/initrd-2.4.26-gentoo-r6# ÒÔÏÂÁ½ÐÐֻʹÓÃÓÚ¶àÖØ¿ª»úµ½ Windows ϵͳ¡£# ÔÚÎÒÃǵÄÀý×ÓÀï,Windows ÊÇ·ÅÔÚ /dev/hda6.other=/dev/hda6 label=windows
Note: Èç¹ûÄúʹÓò»Í¬µÄ·Ö¸î·½Ê½»òÊǺËÐĵµ°¸,Çë×ÔÐиü¸Ä¡£
Èç¹ûÄúÐèÒªÖØËÍÆäËü²ÎÊý¸øºËÐÄ,Çë¼ÓÈë append µÄÓï¾ä¡£¾ÙÀýÀ´Ëµ,ÎÒÃǽ«¼ÓÈë vga=788 ¿ªÆô framebuffer£º
Code Listing 11: ʹÓà append ¼ÓÈëºËÐIJÎÊý
image=/boot/kernel-2.4.26-gentoo-r6 label=gentoo read-only root=/dev/hda3 append="vga=788"
Èç¹ûÄãʹÓà 2.6.7 »ò¸üеĺËÐÄ,¶øÇÒÄãÒòΪ BIOS ²»ÄÜ´¦Àí´óÈÝÁ¿µÄÓ²Å̶øµ÷ÕûÁËÌø½Å,ÄãÐèÒª¼ÓÈë hdx=stroke.
genkernel ʹÓÃÕßÓ¦¸ÃÒªÖªµÀËûÃǵÄÐÂʹÓÃµÄºÍ LiveCD Ò»Ñù¡£¾ÙÀýÀ´Ëµ,Èç¹ûÄúÓÐ SCSI ×°ÖÃ,ÄúÓ¦¸ÃÔÚºËÐÄÑ¡ÏîºóÃæ¼ÓÈë doscsi¡£
ÏÖÔÚ´¢´æµµ°¸È»ºóÀ뿪¡£ÒªÍê³É¶¯×÷,ÄúÐèÒªÖ´ÐÐ /sbin/lilo ·Å LILO ¿ÉÒÔÌ×Óà /etc/lilo.conf µ½ÏµÍ³ÉÏ£¨°²×°µ½´ÅÅÌÉÏ£©¡£Çë×¢Òâ,ÿ´ÎÄú°²×°ÐµĺËÐÄʱ,Äú½«ÐèÒªÔÙ´ÎÖ´ÐÐ /sbin/lilo£¡
Code Listing 12: Íê³É LILO °²×°
# /sbin/lilo
½ÓÏÂÀ´Çëµ½ °²×°ÏµÍ³ËùÐ蹤¾ß¡£
11. ×îÖÕ»¯ÄúµÄ Gentoo °²×°
11.a. ʹÓÃÕß¹ÜÀí
¼ÓÈëÒ»¸öÿÌìʹÓõÄʹÓÃÕß
ÔÚ Unix/Linux ϵͳϵÇÈë³É root ¹¤×÷ÊÇΣÏÕµÄ,²¢Ó¦¸Ã¾¡Á¿µÄ±ÜÃâ¡£ËùÒÔÎÒÃÇ Ç¿ÁҵĽ¨ÒéÄúÐÂÔöÁíÒ»¸öʹÓÃÕßÀ´Ó¦¸¶ÈÕ³£µÄʹÓá£
ÀýÈç,½¨Á¢Ò»¸ö½Ð×ö john µÄʹÓÃÕß,ËûÊÇ wheel (¿ÉÒÔÓà su Ö¸ÁîµÇÈë³É root)¡¢users (Ô¤Éè¸øËùÓеÄʹÓÃÕß)¡¢ÒÔ¼° audio Ⱥ×é ( ¿ÉÒÔʹÓÃÒôЧװÖÃ) µÄÒ»Ô±,ÇëÏÈÓÃrootµÇÈë(Ö»ÓÐroot¿ÉÒÔÐÂÔöʹÓÃÕß)£º
Code Listing 1: ¼ÓÈëÒ»¸öÿÌìʹÓõÄʹÓÃÕß
Login: rootPassword: (ÄúµÄrootÃÜÂë)# useradd john -m -G users,wheel,audio,tty -s /bin/bash# passwd johnPassword: (ÊäÈë john ʹÓÃÕßµÄÃÜÂë)Re-enter password: (ÔÙ´ÎÊäÈëÃÜÂëÈ·ÈÏ)
Èç¹ûÕâ¸öʹÓÃÕßÐèÒªÔÚ root ÏÂÖ´ÐÐһЩÈÎÎñ,ËûÃÇ¿ÉÒÔʹÓà su - ÔÝʱȡµÃ root µÄȨÏÞ¡£ÁíÒ»¸ö·½·¨ÔòÊÇʹÓà sudo Ì×¼þ,ÈôÊÇÕýÈ·µÄÉèÖøÃÌ×¼þ,Ëü½«ÊǷdz£°²È«µÄ¡£
11.b. ·Ç±ØÒª£º°²×° GRP Ì×¼þ
Important: Õâ¸ö²¿·ÖÊǸø GRP ʹÓÃÕß¡£ÆäËüµÄʹÓÃÕßÓ¦¸ÃÂÔ¹ýÕâ¸ö²¿·Ö²¢¼ÌÐøÔĶÁ ¸ÃºÎÈ¥ºÎ´Ó£¿.
ÏÖÔÚÄúµÄϵͳÒѾ¿ª»ú,µÇÈëÒ»¸öÄú½¨Á¢µÄʹÓÃÕß (ÀýÈ磺john) ²¢Ê¹Óà su - À´È¡µÃ root ȨÏÞ£º
Code Listing 2: È¡µÃ root ȨÏÞ
$ su -Password: (ÊäÈëÄúµÄ root ÃÜÂë)
ÏÖÔÚÎÒÃÇÐèÒª½« Portage µÄÔ¤±àÌ×¼þËÑѰÉ趨µ½µÚ¶þƬ¹âÅÌ£¨Gentoo Ì×¼þ£¨Packages£©¹âÅÌ£©¡£Ê×ÏȹÒÔØÕâÕŹâÅÌ£º
Code Listing 3: ¹ÒÔØ Packages ¹âÅÌ
(½« Gentoo Packages ¹âÅ̷ŵ½¹âÇýÍÐÅÌ)# mount /mnt/cdrom
ÏÖÔÚÉ趨 Portage ʹÓà /mnt/cdrom À´Ê¹ÓÃÔ¤±àÌ×¼þ£º
Code Listing 4: É趨 Portage ʹÓà /mnt/cdrom
# ls /mnt/cdrom£¨Èç¹ûÓÐ /mnt/cdrom/packages Ŀ¼£º£©# export PKGDIR="/mnt/cdrom/packages"£¨Ã»Óеϰ£º£©# export PKGDIR="/mnt/cdrom"
½ÓÏÂÀ´,°²×°ÄúÒªµÄÌ×¼þ¡£Packages ¹âÅ̰üº¬ÁËÐí¶àÔ¤ÏȱàÒëºÃµÄµµ°¸,Èç KDE£º
Code Listing 5: °²×° KDE
# emerge --usepkg kde
ÇëÎñ±ØÏÖÔÚ°²×°±àÒëºÃµÄµµ°¸¡£µ±ÄúʹÓà emerge sync À´¸üРPortage (Ííµã½«»áѧµ½) ʱ,ÄÇЩ±àÒëºÃµÄµµ°¸¿ÉÄܲ»»á¼æÈÝÓÚÔÚÄúÒѸüйýµÄ Portage ebuilds¡£Äú¿ÉÒÔÊÔ×ÅÓà emerge --usepkgonly ´úÌæ emerge --usepkg À´»Ø±ÜÕâ¸öÎÊÌâ¡£
¹§Ï²,ÄúµÄϵͳÏÖÔÚÒѾװ±¸Íê³É£¡Çë¼ÌÐøÔĶÁ ¸ÃºÎÈ¥ºÎ´Ó£¿ Ò»ÎÄѧϰ¸ü¶à¹ØÓÚ Gentoo µÄ¶«Î÷¡£
12. È»ºóÄØ£¿
12.a. Îļþ
¹§Ï²£¡ÄúÏÖÔÚÓÐÒ»¸ö¿ÉÒÔÔËÐÐµÄ Gentoo ϵͳÁË¡£µ«½ÓÏÂÀ´¸ÃºÎÈ¥ºÎ´ÓÄØ£¿Äú½ÓÏÂÀ´ÓÐʲôѡÔñ£¿¸ÃÏÈ̽Ë÷ʲô£¿Gentoo ÌṩËüµÄʹÓÃÕßÐí¶àµÄ·½Ïò,Òò´Ë,ËüÌṩÁËÐí¶àµÄÌØµã²¢±àд³ÉÎļþ¡£
ÄúÓ¦¸ÃÏÈ¿´Ò»¿´ Gentoo Handbook µÄÏÂÒ»Õ½ÚÃûΪ ʹÓà Gentoo,Ëü½«»á¸æËßÄúÈç¹ûÈÃÄúµÄÈí¼þ±£³ÖÔÚ×îеÄ״̬¡¢Èç¹û°²×°¸ü¶àµÄÈí¼þ¡¢Ê²Ã´ÊÇ USE ²ÎÊý¡¢Gentoo Init ϵͳµÄÔË×÷·½Ê½µÈµÈ¡£
Èç¹ûÄúÓÐÐËȤ½«ÄúµÄϵͳ×î¼Ñ»¯³É×ÀÃæÊ¹ÓÃ,»ò×ÅÄúÏëҪѧϰÈç¹ûÉ趨ÄúµÄϵͳÖÁÒ»¸öÍêÕûµÄ×ÀÃæÏµÍ³,ÇëÔĶÁ ×ÀÃæÉ趨ָÄÏ¡£
Çë·ÔÄÎÒÃÇµÄ Îļþ×ÊÔ´ һҳȡµÃÎÒÃÇÌṩµÄÍêÕûµÄÎļþÁÐ±í¡£
12.b. Gentoo ÏßÉÏ
ÎÒÃÇÓÀÔ¶»¶ÓÄú¼ÓÈë Gentoo ÌÖÂÛÇø »òÊÇÎÒÃÇÖÚ¶àµÄ Gentoo IRC ƵµÀ
ÎÒÃÇÒ²ÓÐһЩ¶ÔËùÓÐʹÓÃÕß¹«¿ªµÄ ÓʼÄÁÐ±í¡£ÕâÒ³½«»á½éÉÜÈçºÎ¼ÓÈëµÄÐÅÏ¢¡£
ÎÒÃDZÕ×ìµÄʱ¼äµ½ÁË,²¢ÈÃÄúÏíÊÜÄúµÄ°²×°¹ý³Ì :)
B. ʹÓà Gentoo
1. USE ²ÎÊý
1.a. ʲôÊÇ USE ²ÎÊý£¿
USE ¹Ø¼ü´ÊµÄÏë·¨
µ±ÄúÔÚ°²×° Gentoo £¨»òÊÇÆäËü°æ±¾,»òÊDzÙ×÷ϵͳ£©Äú½«ÐèÒªÒÀÕÕ»·¾³¶ø¾ö¶¨Ò»Ð©Ñ¡Ôñ¡£ÒªÉ趨һ̨·þÎñÆ÷ºÍÒªÉ趨һ̨¹¤×÷Õ¾ÊDz»Ò»ÑùµÄ¡£Ò»¸öÓÎÏ·¹¤×÷Õ¾ºÍÒ»¸öÐèÒª 3D Á¢Ìå¼ÓËٵŤ×÷Õ¾Ò²²»Í¬¡£
Õâ²»Ö»ÊÇÄúҪѡÔñ°²×°Ê²Ã´Ì×¼þ,µ«ÊÇÄúÒ²ÐèҪijЩ¹¦ÄÜÖ§³ÖÓÚijЩÌ×¼þ¡£Èç¹ûÄú²»ÐèÒª OpenGL,ÄÇÄúΪʲôҪ×ÔÕÒÂé·³°²×°È»ºó±àÒë OpenGL µ½Äú´ó¶àÊýµÄÌ×¼þÄØÄØ£¿Èç¹ûÄú²»ÏëҪʹÓà KDE,ÄÇΪʲôҪ¶àÀË·Ñʱ¼ä±àÒëÄÇЩ¿ÉÒÔ²»Óà KDE Ò²¿ÉÒÔÍêÕûµÄÖ´ÐеÄÌ×¼þÄÚµÄ KDE Ö§³ÖÄØ£¿
ΪÁËÒª°ïÖúʹÓÃÕß¾ö¶¨Òª°²×°/ÆôÓÃ,ÎÒÃÇÐèҪʹÓÃÕß¼òµ¥µÄÁ˽âËûËùʹÓõĻ·¾³¡£Õ⽫ǿÆÈʹÓÃÕß¾ö¶¨ËûÕæµÄҪʲô,ºÍÁ˽â Portage Ì×¼þ¹ÜÀíϵͳµÄ·½±ãÐÔ¡£
Ò»¸ö USE ²ÎÊýµÄ½âÊÍ
USE ²ÎÊý¾ÍºÃÏóÒ»¸ö°üº¬×ÅÏàÒÀÐÔÖ§³ÖµÄ¹Ø¼ü´Ê¡£Èç¹ûÄú¶¨ÒåÒ»¸ö USE ¹Ø¼ü´Ê,Portage ½«»áÖªµÀÄúÐèÒªÄÇ·½ÃæµÄÖ§³Ö¡£µ±È»,ÕâÒ²»áÆôÓÃÏà¹ØÒÀÀµµÄÌ×¼þ¡£
ÈÃÎÒÃÇʹÓÃÒ»¸ö·¶ÀýÀ´½²½â£ºkde µÄ¹Ø¼ü´Ê¡£Èç¹ûÄúµÄ Use ±äÁ¿Ã»ÓÐÕâ¸ö,ÄÇËùÓÐÑ¡ÔñÐÔ µÄ KDE Ö§³Ö½« ²»»á °Ñ KDE µÄÖ§³Ö±à½øÈ¥¡£ËùÓÐÓµÓÐ Ñ¡ÔñÐ﵀ KDE ÏàÒÀÐÔÌ×¼þ½«²»»á±àÈë¡£Èç¹ûÄúÓн« kde ¶¨Òå,ÄÇôËùÓеÄÕâЩÌ×¼þ½«»áÒÔÂú×ãÏàÒÀÐÔ°²×°¡£
ÇëÕýÈ·µÄ¶¨ÒåÄúËùÐèÒªµÄ¹Ø¼ü´Ê¡£
ÓÐÄÇЩ USE ¹Ø¼ü´Ê£¿
USE ²ÎÊý×ܹ²ÓзÖÁ½ÖÖ£ºÈ«ÇøÐÔ£¨Global£© ºÍ ÇøÓòÐÔ£¨Local£©¡£
? Ò»¸ö È«ÇøÐÔ µÄ USE ²ÎÊý½«±»Ðí¶àÌ×¼þϵͳ¹²Ïí¡£ÕâÊÇÒ»¸ö´ó¼ÒËù¿´µ½µÄ USE ²ÎÊý¡£
? Ò»¸ö ÇøÓòÐÔ µÄ USE ²ÎÊý½«±»µ¥Ò»µÄÌ×¼þÓÃÀ´Ñ¡ÔñijЩÌ×¼þ¾ö¶¨¡£
Äú¿ÉÒÔµ½ÎÒÃÇµÄ ÏÖÔÚÇåµ¥ ²é¿´ÍêÕûµÄ USE ±äÁ¿Çåµ¥»òÊǼÆËã»úÉ쵀 /usr/portage/profiles/use.desc¡£ÒÔÏÂΪһ¸ö¼ò¶ÌµÄÁÐ±í£º
Code Listing 1: ¼ò¶ÌµÄ¿ÉÓà USE ²ÎÊý
gtk - Adds support for x11-libs/gtk+ (The GIMP Toolkit)gtk2 - Use gtk+-2.0.0 over gtk+-1.2 in cases where a program supports both.gtkhtml - Adds support for gnome-extra/gtkhtmlguile - Adds support for dev-util/guile (interpreter for Scheme)icc - Use the Intel C++ Compiler if the package supports iticc-pgo - Enable PGO data generation or use when use icc.imap - Adds support for IMAP 1.b. ʹÓà USE ²ÎÊý
¶¨ÒåÓÀ¾ÃµÄ USE ²ÎÊý
ÔÚÎÒÃÇÏ£ÍûÄúÁ˽â USE ²ÎÊýµÄÖØÒªÐÔºó,ÄúÏÖÔÚÐèÒª¶¨ÒåÄú×Ô¼ºµÄ USE ²ÎÊýÁË¡£
¾ÍÈç֮ǰËùÌáµ½µÄ,ËùÓÐµÄ USE ²ÎÊý¶¼ÊǶ¨Òåµ½ USE µÄ±äÁ¿ÄÚ¡£ÎªÁËÒª·½±ãʹÓÃÕß¿ÉÒÔËÑѰºÍÑ¡Ôñ USE ²ÎÊý,ÎÒÃÇÒѾÌṩÁË Ô¤ÉèµÄ USE É趨¡£Õâ¸öÉ趨°üº¬×ÅÎÒÃÇÈÏΪÊÊºÏ Gentoo ʹÓÃÕß³£Óõġ£Ô¤ÉèµÄ±äÁ¿ÊǶ¨ÒåÔÚ /etc/make.profile/make.defaults µµ°¸¡£ÈÃÎÒÃÇÀ´¿´¿´Ëü°É£º
Code Listing 2: Ô¤ÉèµÄ /etc/make.profile/make.defaults ±äÁ¿
USE="x86 oss apm arts avi berkdb crypt cups encode foomaticdb gdbm gif gpm gtk gtk2 imlib jpeg kde gnome libg++ libwww mad mikmod motif mpeg ncurses nls oggvorbis opengl pam pdflib png python qt quicktime readline sdl slang spell ssl svga tcpd truetype X xml2 xmms xv zlib"
¾ÍÄúËù¼û,Õâ¸ö±äÁ¿ÒѾ°üº¬×ÅÐí¶à¹Ø¼ü´ÊÁË¡£Çë ²»Òª ¸ü¸Ä /etc/make.profile/make.defaults µÄµµ°¸¡£ËùÓÐµÄ USE ÄڵĹؼü´Ê½«»áÔÚÿ´ÎÄú¸üРPortage µÄʱºò×Ô¶¯±»¸Ä»ØÔ¤ÉèµÄ·½Ê½£¡
Òª¸ü¸ÄÕâ¸öÔ¤ÉèµÄÉ趨,ÄúÐèÒªÔÚ USE ±äÁ¿ÄÚ×ö¸ü¸Ä¡£ÄúÐèÒª¸ü¸ÄµÄÊÇ /etc/make.conf ÄÚµÄ USE ±äÁ¿¡£ÔÚÕâ¸öµµ°¸µÄ±äÁ¿ÄÚ,Äú¿ÉÒÔÔö¼ÓÄúÐèÒªµÄ¹Ø¼ü´Ê»òÊÇÒÆ³ý²»ÐèÒªµÄ¹Ø¼ü´Ê¡£Äú¿ÉÒÔʹÓÃÔڹؼü´ÊÇ°Ãæ¼ÓÉϼõºÅ £¨"-"£©¡£
¾ÙÀýÀ´Ëµ,ÒªÒÆ³ýµô KDE ºÍ QT µ«ÊÇÒªÖ§³Ö ldap,Äú½«ÐèÒªÔÚ /etc/make.conf ÄÚ¶¨ÒåÀàËÆÒÔϵĵıäÁ¿£º
Code Listing 3: /etc/make.conf µÄ·¶Àý USE É趨
USE="-kde -qt ldap"
ÓÐʱºòÄãÏë¶ÔÒ»¸ö(»òÒ»×é)Ì×¼þʹÓÃÒ»¸ö USE É趨,µ«ÊDz»Ï£ÍûÓ°Ïìµ½Õû¸öϵͳ¡£ÎªÁË´ï³ÉÕâ¸ö,ÐèÒªÏȽ¨Á¢ /etc/portage Ŀ¼(Èç¹û»¹Ã»½¨Á¢µÄ»°),È»ºó±à¼ /etc/portage/package.use¡£
ÀýÈç˵,Äã²»ÏëÒªÕû¸öϵͳ¶¼ÓÐ berkdb Ö§³Ö,µ«ÊÇÄãÏëÒª mysql Ö§³Ö,Äã¿ÉÒÔ¼ÓÈ룺
Code Listing 4: /etc/portage/package.use ·¶Àý
dev-db/mysql berkdb
Ä㵱Ȼ¿ÉÒÔÃ÷È·¹Ø±Õij¸ö³ÌÐòµÄ USE É趨¡£ÀýÈç˵,Äã²»ÏëÒª PHP Ö§³Ö java£º
Code Listing 5: /etc/portage/package.use µÚ¶þ¸ö·¶Àý
dev-php/php -java
¶¨ÒåÔÝʱÐԵıäÁ¿
ÓÐʱºòÄú»áÏëÒª¶¨ÒåÔÝʱÐԵıäÁ¿¡£»òÐíֻʹÓÃÄÇôһ´Î¡£ÕâÑùÒ»À´Äú¾Í¿ÉÒÔ²»Óñ༠/etc/make.conf Á½´Î£¨ÏÈÉ趨,±àÒëÍêÔÙ¸´Ô£©Äú¿ÉÒÔÖ±½Ó½« USE ¶¨Òå³É»·¾³±äÁ¿¡£¼ÇµÃ,µ±ÄãÖØÐ°²×°»òÉý¼¶Õâ¸ö³ÌÐò(²»¹ÜÊÇÖ»Éý¼¶Ëû»òÊÇÉý¼¶È«ÏµÍ³),ÄãµÄ¸Ä±ä»áÒÅʧ£¡
ÒÔϵķ¶Àý,ÎÒÃǽ«ÔÝʱ´Ó USE Éè¶¨ÒÆ³ý java À´°²×° mozilla¡£
Note: ÎÒÃǽ«ÔÚÉÔºóµÄ Portage ºÍ Èí¼þ ÌÖÂÛ¸ü¶à¹ØÓÚ emerge µÄÖ¸Áî¡£
Code Listing 6: ʹÓà USE Ϊ»·¾³±äÁ¿
# USE="-java" emerge mozilla
³Ð½Ó USE ²ÎÊý
ÓÐЩÌ×¼þ²»Ö¹ÌýÈ¡ USE ²ÎÊý,µ«ÊÇÒ²Ìṩ USE ²ÎÊý¡£µ±ÄúÒª°²×°ÕâÖÖÌ×¼þʱ,ËûÃÇÌṩµÄ USE ²ÎÊý»á±»¼Óµ½ÄúµÄ USE É趨ÄÚ¡£Òª²é¿´ÍêÕûµÄÌṩ USE ²ÎÊýµÄÇåµ¥,²é¿´ /etc/make.profile/use.defaults£º
Code Listing 7: ¼ò¶Ì°æ±¾µÄ /etc/make.profile/use.defaults
gnome gnome-base/gnomegtk x11-libs/gtk+qt x11-libs/qtkde kde-base/kdebasemotif x11-libs/openmotif
ÓÅÏȶÈ
µ±È»ÎÒÃÇÓÐן÷¸öÉ趨µÄÓÅÏȶȡ£Äú²»»áÒòΪֻÏë¿´¿´ java ÊÇ·ñ±»¶¨Òå¶øÊäÈë USE="-java"¡£USE É趨µÄÓÅÏȶȽ«°´ÕÕÒÔϵÄÅÅÁУ¨´ÓµÍµ½¸ß£©£º
1. ·ÅÔÚ /etc/make.profile/make.defaults Ô¤ÉèµÄ USE É趨
2. /etc/make.profile/use.defaults ³Ð½ÓµÄ USE É趨
3. ʹÓÃÕßÔÚ /etc/make.conf ¶¨ÒåµÄ USE É趨
4. ʹÓÃÕßÔÚ /etc/portage/package.use ¶¨ÒåµÄ USE É趨
5. ÒÔ»·¾³±äÁ¿µÄ·½Ê½¶¨ÒåµÄ USE É趨±äÁ¿
Òª²é¿´×îºóµÄ USE É趨,Ö´ÐÐ emerge info¡£Õ⽫»á¿´µ½ËùÓÐÏà¹ØµÄ±äÁ¿£¨°üÀ¨ USE ±äÁ¿£©ºÍ Portage ÐèҪʹÓõ½µÄÄÚÈÝ¡£
Code Listing 8: Ö´ÐÐ emerge info
# emerge info
ÈÃÄúµÄϵͳÊÊÓ¦Ð嵀 USE Æì±ê
Èç¹ûÄúÓиü¸ÄÄúµÄ USE Æì±ê,²¢ÇÒÏ뽫Õû¸öϵͳ¶¼Ì×ÓÃеÄÉ趨,Äú½«ÐèÒª°´ÕÕÒÔϲ½ÖèÍê³É´ËÏñ¶¯×÷¡£µ«ÊÇÇë×¢Òâ,´ËÏ×÷·Ç³£ÏûºÄʱ¼ä¡£µ«ÊÇÊÇÈ«×Ô¶¯µÄÓÉ Portage ´¦Àí¡£
Ê×ÏÈ,ÖØÐ±àÒëÄúµÄϵͳ£º
Code Listing 9: ÖØÐ±àÒëÄúµÄϵͳ
# emerge --emptytree world
½ÓÏÂÀ´,Ö´ÐÐ Portage µÄ depclean ÒÆ³ý¾ÍϵͳÉϲ»ÐèÒªµÄ¾ÉÏàÒÀÐÔÌ×¼þ¡£
Warning: Ö´ÐÐ emerge depclean ÊÇÒ»¼þ·Ç³£Î£Ïյ͝×÷,ÇëСÐÄÖ´ÐС£Çë×ÐϸȷÈÏÁгöÀ´µÄÌ×¼þûÓаüº¬×ÅÄúËøÐèÒªµÄÌ×¼þ¡£ÒÔϵķ¶ÀýÎÒÃǽ«¼ÓÈë -p µÄ²ÎÊýÀ´ÏÔʾ³ö½«Òª±»ÒƳýµÄÁбíÇåµ¥¡£
Code Listing 10: ÒÆ³ý²»ÐèÒªµÄÌ×¼þ
# emerge -p depclean
µ± depclean µÄ¶¯×÷Íê³Éºó,ÄúµÄϵͳ¾ÍÒѾÍêºÃµØÌ×ÓÃÐ嵀 USE Æì±êÁË¡£
1.c. Ì×¼þÏà¹Ø USE É趨
²é¿´¿ÉÓÃµÄ USE É趨
ÔÚϸö²¿·Ý,Portage ºÍ Èí¼þ ÄÚ,ÎÒÃǽ«½âÊÍÈçºÎʹÓà emerge ¹ÜÀíÒѾ°²×°¹ýµÄÈí¼þµ«ÊÇ,ÎÒÃÇ»áÒÔÒÔÏ·¶Àý¸øÄúÒ»¸öʹÓà emerge ²é¿´ÄÇЩÌ×¼þÐèÒªÓõ½µÄÄÇЩ USE ¹Ø¼ü´Ê¡£
ÈÃÎÒÃÇʹÓà mozilla µÄ·¶Àý£ºËüÌýÈ¡×Åʲô USE ¹Ø¼ü´Ê£¿Òª²é¿´,ÎÒÃǽ«Ê¹Óà emerge ¼ÓÉÏ --pretend £¨Ö»ÊǼÙ×°,²»»á°²×°£©ºÍ --verbose£¨¸ü×ÐϸµÄÁгö£©¹Ø¼ü´Ê£º
Code Listing 11: ²é¿´ USE ¹Ø¼ü´Ê
# emerge --pretend --verbose mozillaThese are the packages that I would merge, in order:Calculating dependencies ...done![ebuild N ] net-www/mozilla-1.5-r1 +java +crypt -ipv6 -gtk2 +ssl +ldap +gnome -debug +mozcalendar -mozaccess -mozxmlterm -moznoirc -moznomail-moznocompose -moznoxft
³ýÁËemerge ÒÔÍ⻹ÓбðµÄÈí¼þ¿ÉÒÔÍê³ÉÀàËÆ²éѯµÄ¹¤×÷¡£ÊÂʵÉÏ,ÎÒÃÇÓÐÒ»¸öÌØ±ðµÄÌ×¼þ½Ð×ö etcat¡£ÕâÊǰüº¬ÔÚ gentoolkit µÄÌ×¼þÄÚ¡£Ê×ÏÈ,°²×° gentoolkit£º
Code Listing 12: °²×° gentoolkit
# emerge --usepkg gentoolkit
ÏÖÔÚÖ´ÐÐ etcat È»ºóʹÓòÎÊý²é¿´Ä³¸öÌ×¼þµÄ USE ¹Ø¼ü´Ê¡£¾ÙÀýÀ´Ëµ gnumeric Ì×¼þ£º
Code Listing 13: Using etcat to view used USE-flagsʹÓà etcat ²é¿´Ê¹ÓÃµÄ USE ¹Ø¼ü´Ê
# etcat uses gnumeric[ Colour Code : set unset ][ Legend : (U) Col 1 - Current USE flags ][ : (I) Col 2 - Installed With USE flags ] U I [ Found these USE variables in : app-office/gnumeric-1.2.0 ] - - libgda : Adds GNU Data Access (CORBA wrapper) support for gnumeric - - gnomedb : unknown + + python : Adds support/bindings for the Python language + + bonobo : Adds support for gnome-base/bonobo (Gnome CORBA interfaces)
2. Portage ºÍÈí¼þ
2.a. Ë÷È¡Ì×¼þÐÅÏ¢
ËùÓй¤¾ßÖ®Íõ£ºemerge
´ó¶àÊýµÄʹÓÃÕß½«»áÓõÄ×îÖ÷ÒªµÄ Portage ¹¤¾ß,Ò²¾ÍÊÇ emerge¡£ÎÒÃÇÔÚ°²×°Ê±ÒѾʹÓùýÁË,µ«ÊÇÎÒÃÇÖ»ÊǼòµ¥µÄ½éÉÜ¡£ÕâÕ½«»á¸ü¼ÓÏêϸµÄ½âÊÍ emerge È»ºó½ÌÄúʹÓà emerge ÐÞÀíËùÓÐÏà¹ØµÄÈí¼þÐèÇó¡£
emerge ÊÇÒ»¸öÓÃÀ´°²×°,ÒÆ³ý,²éѯ,ºÍά»¤Èí¼þÌ×¼þµÄÖ¸Áî¡£ËûÊÇÒ»¸ö ebuild µÄʹÓýӿڣ»ÓÐÐËȤ³ÉΪ Gentoo ¸ßÊÖµÄÈ˽«ÐèÒªÁ˽âÉÔºó½éÉÜµÄ ebuild¡£ÏÖÔÚ,ÎÒÃǽ«×¨ÐĵÄÌÖÂÛ ebuild ûÓÐµÄ emerge ¹¦ÄÜ£¨Èç½â¾öÏàÒÀÐÔºÍËÑѰ Portage Tree,µÈµÈ¡££©¡£
emerge ÊÇÒ»¸ö¶ÔÓÚ Gentoo ʹÓÃÕßÀ´Ëµ×îÎªÖØÒªµÄ¹¤¾ß,Äú¿ÉÒÔÖ´ÐÐ man emerge ²é¿´Ëü°üº¬µÄÏêϸ˵Ã÷¡£ÄúÒ²¿ÉÒÔÔÚÎÄ×Ö½Ó¿ÚÖ´ÐÐ emerge --help ²é¿´¡£Îļþ
Code Listing 1: Ë÷È¡ emerge µÄ˵Ã÷
# man emerge# emerge --help
Portage Tree
ÔÚÎÒÃǼÌÐø½éÉÜ emerge ֮ǰ,ÈÃÎÒÃÇÏÈ¿´¿´ Portage Tree¡£µ½ /usr/portage µÄĿ¼,Äú½«»á¿´µ½Ò»Çåµ¥µÄĿ¼¡£ÎÒÃǽ«Ê¹Óà ls -classify À´ÏÔʾ³öĿ¼µÄÄÚÈݲ¢ÇÒÔÚĿ¼ºóÃæ»á¼ÓÉÏ "/"¡£
Code Listing 2: ¹Û¿´ Portage Tree
# cd /usr/portage; ls --classifyapp-admin/ dev-ml/ gnome-libs/ net-print/app-arch/ dev-perl/ gnome-office/ net-wireless/app-benchmarks/ dev-php/ header.txt net-www/app-cdr/ dev-python/ incoming/ net-zope/app-crypt/ dev-ruby/ jython/ packages/app-dicts/ dev-tcltk/ kde-apps/ profiles/app-doc/ dev-tex/ kde-base/ releases/app-editors/ dev-util/ kde-i18n/ scripts/app-emacs/ distfiles/ kde-libs/ sec-policy/app-emulation/ eclass/ licenses/ skel.ChangeLogapp-games/ experimental/ media-fonts/ skel.ebuildapp-gnustep/ files/ media-gfx/ skel.metadata.xmlapp-i18n/ fresco-base/ media-libs/ snapshots/app-misc/ games-action/ media-plugins/ sys-apps/app-office/ games-arcade/ media-radio/ sys-build/app-pda/ games-board/ media-sound/ sys-cluster/app-portage/ games-emulation/ media-tv/ sys-devel/app-sci/ games-engines/ media-video/ sys-fs/app-shells/ games-fps/ metadata/ sys-kernel/app-text/ games-kids/ net-analyzer/ sys-kmods/app-vim/ games-misc/ net-apache/ sys-libs/app-xemacs/ games-mud/ net-dialup/ unix2tcp/berlin-base/ games-puzzle/ net-dns/ x11-base/dev-ada/ games-roguelike/ net-firewall/ x11-libs/dev-cpp/ games-rpg/ net-fs/ x11-misc/dev-db/ games-server/ net-ftp/ x11-plugins/dev-dotnet/ games-simulation/ net-im/ x11-terms/dev-embedded/ games-sports/ net-irc/ x11-themes/dev-games/ games-strategy/ net-libs/ x11-wm/dev-haskell/ games-util/ net-mail/ xfce-base/dev-java/ glep/ net-misc/ xfce-extra/dev-lang/ gnome-apps/ net-nds/dev-libs/ gnome-base/ net-news/dev-lisp/ gnome-extra/ net-p2p/
¾ÍÈçÄúËù¼û,Portage tree Óжà¸ö×ÓĿ¼¡£´ó¶àÊýµÄĿ¼¶¼ÊÇ Gentoo Ì×¼þµÄ Àà±ð,·Å׎Ð×ö ebuild µÄµµ°¸¡£¾ÙÀýÀ´Ëµ,¿´¿´ app-office£º
Code Listing 3: ²é¿´Ò»¸öÀà±ð
# cd app-office; ls --classifyabiword/ gnotime/ kmymoney2/ ooodi/ plan/ timestamp.xdia/ gnucash/ koffice/ oooqs/ qhacc/dia2code/ gnumeric/ lxbank/ openoffice/ sc/facturalux/ ical/ lyx/ openoffice-bin/ scribus/gaby/ kbudget/ mdbtools/ openoffice-ximian/ siag/gnofin/ khacc/ mrproject/ phprojekt/ texmacs/
ÔÚÕâ¸öÀà±ðÄÚ,Äú½«¿ÉÒÔÕÒµ½ËùÓÐÊʺϷÅÔÚÕâ¸öĿ¼ÄÚµÄÌ×¼þ,ÆäÖи÷Èí¼þ½«ÒÔ×ÓĿ¼µÄ·½Ê½·Ö¿ª¡£ÈÃÎÒÃÇ¿´¿´ openoffice Ì×¼þ£º
Code Listing 4: ¹Û¿´Ò»¸öÌ×¼þ
# cd openoffice; ls --classifyChangeLog files/ openoffice-1.0.3-r1.ebuild openoffice-1.1.0-r2.ebuildManifest metadata.xml openoffice-1.1.0-r1.ebuild openoffice-1.1.0.ebuild
»¹¼ÇµÃÎÒÃǸúÄú˵¹ýÒ»¸ö Gentoo µÄÌ×¼þÊǽÐ×ö ebuild Âð£¿ÔÚÎÒÃǵķ¶ÀýĿ¼Àォ»á¿´µ½Ëĸö ebuild¡£ËûÃǵÄÃû×Ö¶¼ÊǺÜÃ÷ÏÔ£ºËûÃDz»Í¬µÄÖ»Êǰ汾¡£Äú½«¿ÉÒԲ鿴ÕâЩÌ×¼þ£ºËüÃÇÖ»ÊdzÌÐò¡£ÒòΪÏÖÔÚÎÒÃÇÖ»ÌÖÂÛÈçºÎʹÓà Gentoo ËùÒÔÎÒÃDz»»áÌÖÂÛÕâЩ³ÌÐò¡£
ÆäËüµÄµµ°¸Îª ChangeLog£¨Ò»¸ö°üº¬Ä³¸öÌ×¼þµÄ¸üÐÂÇåµ¥£©, Manifest £¨°üº¬×Å checksum ºÍĿ¼ÀïÃæËùÓеµ°¸µÄ´óС£© ºÍ metadata.xml £¨ °üº¬×Ÿü¶à¹ØÓÚÌ×¼þµÄÐÅÏ¢,ÈçÏà¹Ø¿ª·¢µÄÍÅ¶Ó -- ½Ð×ö herd -- Æä¸ü¶àµÄ½éÉÜ£©¡£
ÔÚ files µÄĿ¼,Äú½«»áÕÒµ½ÆäËüµµ°¸,ÕâЩΪ Portage ËùÐèÒªµÄ£º digest£¨checksum ºÍ¸ö±ðÌ×¼þµÄ°æ±¾ÐèÒª£©,²¹¶¤,ºÍ·¶ÀýÉ趨Îļþ,µÈµÈ¡£
Code Listing 5: ¹Û¿´ÆäËüµµ°¸
# cd files; ls --classify1.0.3/ digest-openoffice-1.0.3-r1 digest-openoffice-1.1.0-r11.1.0/ digest-openoffice-1.1.0 digest-openoffice-1.1.0-r2# cd 1.1.0; ls --classifyfixed-gcc.patch ooffice-wrapper-1.3newstlportfix.patch openoffice-1.1.0-linux-2.6-fix.patchno-mozab.patch openoffice-1.1.0-sparc64-fix.patchnptl.patch
Èç¹ûÄú»Øµ½ Portage tree µÄÖ÷Ŀ¼£¨/usr/portage£©Äú½«»á·¢ÏÖ»¹ÓÐÆäËü·ÇÌ×¼þµÄĿ¼¡£ÎÒÃǽ«ÔÚÉÔºó½âÊÍÕâµã¡£
ËÑѰÌ×¼þ
Èç¹ûÄú¸Õ½Ó´¥µ½ Gentoo »òÊÇ Linux,Äú»òÐí²»ÖªµÀ¸ÃÓÃʲô¹¤¾ßÍê³Éʲô¹¤×÷¡£ÒªËÑѰÈí¼þ,emerge ¿ÉÒÔ͸¹ý Ì×¼þÃû³Æ »òÊÇ Ì×¼þÃû³Æ ¼ÓÉÏ ËµÃ÷ À´½øÐÐÌ×¼þµÄËÑѰ¡£
ÒªÒÔÃû³ÆËÑѰ Portage tree,ʹÓà emerge searc¡£¾ÙÀýÀ´Ëµ,ÒªËÑѰ mozilla£º
Code Listing 6: ÏÔʾ¹ØÓÚ mozilla µÄÐÅÏ¢
# emerge search mozillaSearching... [ Results for search key : mozilla ][ Applications found : 5 ]£¨ÎªÁË·½±ãÔĶÁ,ÒÆ³ýÁËһЩ²¿·Ý£©* net-www/mozilla Latest version available: 1.5-r1 Latest version installed: 1.4-r3 Size of downloaded files: 29,153 kB Homepage: [url]http://www.mozilla.org[/url] Description: The Mozilla Web Browser* net-www/mozilla-firebird Latest version available: 0.7 Latest version installed: [ Not Installed ] Size of downloaded files: 37,850 kB Homepage: [url]http://www.mozilla.org/projects/firebird/[/url] Description: The Mozilla Firebird Web Browser£¨©ì£©
Èç¹ûÄúÒªÒÀÕÕ½éÉÜËÑѰʹÓà --searchdesc ²ÎÊý£º
Code Listing 7: ËÑѰ½éÉÜ
# emerge --searchdesc mozillaSearching... [ Results for search key : mozilla ][ Applications found : 10 ]£¨ÎªÁË·½±ãÔĶÁ,ÒÆ³ýÁËһЩ²¿·Ý£©* dev-libs/nss-3.8 Latest version available: 3.8 Latest version installed: 3.8 Size of downloaded files: 2,782 kB Homepage: [url]http://www.mozilla.org/projects/security/pki/nss/[/url] Description: Mozilla's Netscape Security Services Library that implements PKI support
¾ÍÈçÄúËù¼û,emerge ½«»áÏÔʾ³ö¸ÃÀà±ðºÍÌ×¼þµÄÃû³Æ,¿ÉʹÓõİ汾,Ŀǰ°²×°µÄ°æ±¾,ÏÂÔØµµ°¸´óС,ÍøÖ·ºÍ¼ò½é¡£
·¢ÏÖж«Î÷ÁËÂð£¿Ã»´í,ÏÂÔØµµ°¸¡£µ±Äú¸æËß Portage Òª°²×°Ò»¸öÌ×¼þ,µ±È»ÐèÒªÏÂÔØÔʼÂ루»òÊÇÒѱàÒëÌ×¼þ£©¡£Ëû½«»áÏȼì²é /usr/portage/distfiles £¨ÔʼÂ룩ÊÇ·ñÓÐÒÑ´æÔڵĵµ°¸ »òÊÇ /usr/portage/packages/All £¨ÒѱàÒëµÄÌ×¼þ£©¿ÉÓá£Èç¹ûûÓÐ,Ëü½«»áÏÂÔØËùÓеÄÏà¹Øµµ°¸È»ºó·ÅÈëÏà¹ØÄ¿Â¼¡£
Ò³:
[1]
2