编译需要新版本的 gateway.sgml,附上编译好的 html 方便大家校验。
<!-- CVS revision of this document "$Revision: 1.5 $" --> <!-- CVS revision of original english document "1.94" --> <chapt id="install">Debian ϵͳ°²×°Ìáʾ <p> Debian µÄ¹Ù·½°²×°ÎĵµÎ»ÓÚ <url id="&stable-info;"> ºÍ <url id="&stable-install;"> ¡£ <p> ¿ª·¢Öеİ汾λÓÚ <url id="&testing-info;" > ºÍ <url id="&testing-install;">£¨´¦ÓÚд×÷ÖУ¬ÓÐʱ¿ÉÄÜÎÞ·¨·ÃÎÊ£©¡£ <p> ¾¡¹Ü±¾ÎÄ×î³õÊǸù¾Ý Potato µÄ°²×°³ÌÐòдµÄ£¬µ«ÆäÖоø´ó²¿·Ö¶¼ÒÑÕë¶Ô Woody µÄ°²×°³ÌÐò×÷Á˸üУ¬¶øÇÒÁ½ÕßÊǷdz£ÏàËÆµÄ¡£ÓÉÓÚ Sarge ½«»áʹÓÃÒ»Ì×È«Ðµİ²×°³ÌÐò£¬ËùÒÔÇ뽫±¾Îĵ±×÷ Sarge °²×°³ÌÐòµÄÒ»¸ö²Î¿¼Îļþ¡£ ͬʱҲҪעÒⲿ·Ö¹Ø¼üÈí¼þ°üµÄÃû×ÖºÍÓÅÏȼ¶¶¼·¢ÉúÁ˱仯¡£ÀýÈ磺Sarge ĬÈ쵀 MTA ÓÉ <package>exim</package> ±ä³ÉÁË <package>exim4</package>£¬ÒýÈëµÄ <package>coreutils</package> È¡´úºÜ¶àÈí¼þ°ü¡£ÄãÐèÒª×öһЩ°²×°Éϵĵ÷Õû¡£ <sect>³£¹æ Linux °²×°Ìáʾ <p> Èç¹ûÄãÔÚѰÕÒ¾«¼òµÄ &debian; °²×°¹âÅÌ£¬Çë±ðÍü¼Ç¼ì²é <url id="&debian-netinst;">¡£ <p> ʹÓà <tt>testing</tt> »ò <tt>unstable</tt> °æµÄ &debian; »áÔö¼ÓÓöµ½ÑÏÖØÈí¼þ´íÎóµÄ·çÏÕ¡£ÔÚ»úÆ÷Éϰ²×°Ò»¸öÎȶ¨°æ±¾µÄ &debian;£¬È»ºóʹÓöàÖØÆô¶¯·½°¸¿ÉÓÐЧ¿ØÖÆ·çÏÕ¡£»òÕßʹÓøü°²È«µÄ <prgn>chroot</prgn> ¼¼ÇÉ£¬²ÎÔÄ <ref id="chroot">¡£ºóÕß¿ÉʵÏÖͬʱÔÚ²»Í¬µÄ¿ØÖÆÌ¨ÔËÐжàÖÖ°æ±¾µÄ &debian;¡£ <p> <sect1>Ó²¼þ¼æÈÝÐÔ <p> Linux ¼æÈݾø´ó¶àÊý PC Ó²¼þ£¬¶øÇÒ¼¸ºõ¿ÉÒÔ°²×°ÔÚÈκÎϵͳ¼Ü¹¹ÉÏ¡£¶ÔÎÒ¶øÑÔËüµÄ°²×°¹ý³ÌºÍ Windwos 95/98/Me Ò»Ñù¼òµ¥¡£¿É¼æÈݵÄÓ²¼þÁбíÒ²ÔÚ²»¶ÏÔö¼Ó¡£ <p> Èç¹ûÄãÓÐÒ»²¿±Ê¼Ç±¾µçÄÔ£¬¿ÉÒÔÈ¥ <url id="&linonlap;" name="Linux on Laptops"> ²éÕÒ¶ÔÓ¦Æ·ÅÆºÍÐͺŵݲװָµ¼¡£ <p> ÎÒÍÆ¼öµĄ̈ʽ»úÓ²¼þͨ³£¡°±È½Ï±£ÊØ¡±£º <list compact> <item>ÓÃÓÚ¹¤×÷Ä¿µÄʱ×îºÃÑ¡ SCSI ¶ø²»ÊÇ IDE£¬IDE/ATAPI HD ÊÊÓÚ¸öÈËʹÓᣠ<item>IDE/ATAPI CD-ROM£¨»ò CD-RW£©¡£ <item>×îºÃÑ¡ PCI ¶ø²»ÊÇ ISA, ÌØ±ðÊÇÍø¿¨(NIC)¡£ <item>Ñ¡ÓñãÒ赀 NIC¡£Tulip for PCI¡¢NE2000 for ISA ¶¼²»´í¡£ <item>³õѧ Linux °²×°Ê±±ÜÃâʹÓà PCMCIA £¨±Ê¼Ç±¾µçÄÔ£©¡£ <item>±ðʹÓà USB ¼üÅÌ¡¢Êó±ê......³ý·ÇÄãÏëÖ¤Ã÷×Ô¼ºµÄʵÁ¦¡£ </list> <p> Èç¹ûÄãµÄ»úÆ÷ÌØ±ðÂý£¬×îºÃ°ÑÓ²Å̲嵽ÁíÒ»¸öËÙ¶È¿ìЩµÄ»úÆ÷Éϰ²×°¡£ </sect1> <sect1>È·¶¨ PC Ó²¼þºÍоƬ×é <p> ÔÚ°²×°¹ý³ÌÖУ¬¿ÉÄÜ»áÒªÄãÈ·¶¨µçÄÔµÄÓ²¼þ»òоƬ×éµÈ¡£ÓÐʱÁ˽âÕâЩÐÅÏ¢²¢·ÇÒ×Ê£¬Õâ¶ùÓиö·½·¨£º <enumlist compact> <item>´ò¿ª»úÏäÇ××Ô¿´¿´¡£ <item>¼ÇÏÂÏÔ¿¨Ð¾Æ¬¡¢Íø¿¨Ð¾Æ¬¡¢´®¿ÚºÍ IDE ¶Ë¿ÚÖÜΧµÄоƬÉÏÓ¡µÄÊý×Ö¡£ <item>¼ÇÏÂÓ¡ÔÚ PCI ºÍ ISA ²å¿¨±³ÃæµÄÃû³Æ¡£ </enumlist> </sect1> <sect1>ÔÚ &debian; ÏÂÈ·¶¨ PC Ó²¼þ <p> ÔÚ Linux ϵͳÖÐʹÓÃÏÂÁÐÃüÁ¿É»ñµÃ»úÆ÷µ±Ç°Ê¹ÓõÄÓ²¼þ¼°ÅäÖõÄÏà¹ØÐÅÏ¢¡£ <example> $ pager /proc/pci $ pager /proc/interrupts $ pager /proc/ioports $ pager /proc/bus/usb/devices </example> ÔÚ°²×°¹ý³ÌÖа´ Alt-F2 ½øÈë¿ØÖÆÌ¨£¬¿ÉÔËÐÐÕâЩÃüÁî»ñµÃ°ïÖú¡£ <p> ÔÚ×î³õµÄ°²×°½áÊøÖ®ºó£¬Í¨¹ý°²×°¿ÉÑ¡µÄÈí¼þ°ü£¬±ÈÈç <package>pciutils</package>¡¢<package>usbutils</package> ºÍ <package>lshw</package>£¬Äã¾Í¿ÉÒÔ»ñµÃ¸ü¶àµÄϵͳÐÅÏ¢¡£ <example> $ lspci -v |pager $ lsusb -v |pager # lshw |pager </example> <p> µäÐ͵ÄÖжÏÓÃ; <list compact> <item>IRQ0: timer output (8254) <item>IRQ1: keyboard controller <item>IRQ2: cascade to IRQ8–IRQ15 on PC-AT <item>IRQ3: secondary serial port (io-port=0x2F8) (<file>/dev/ttyS1</file>) <item>IRQ4: primary serial port (io-port=0x3F8) (<file>/dev/ttyS0</file>) <item>IRQ5: free [sound card (SB16: io-port=0x220, DMA-low=1, DMA-high=5)] <!--(was the HD interrupt on the XT) Linux is for 386 or later --> <item>IRQ6: floppy disk controller (io-port=0x3F0) (<file>/dev/fd0</file>, <file>/dev/fd1</file>) <item>IRQ7: parport (io-port=0x378) (<file>/dev/lp0</file>) <item>IRQ8: rtc <item>IRQ9: software interrupt (int 0x0A), redirect to IRQ2 <item>IRQ10: free [network interface card (NE2000: io-port=0x300)] <item>IRQ11: free [(SB16-SCSI: io-port=0x340, SB16-IDE: io-port=0x1E8,0x3EE)] <item>IRQ12: PS/2 Mouse <item>IRQ13: free (was 80287 math coprocessor) <item>IRQ14: primary IDE controller (<file>/dev/hda</file>, <file>/dev/hdb</file>) <item>IRQ15: secondary IDE controller (<file>/dev/hdc</file>, <file>/dev/hdd</file>) </list> ¶ÔÓÚ¾ÉµÄ·Ç PnP ISA ¿¨£¬Äã¿ÉÄÜÐèÒªÔÚ BIOS ÖÐÉ趨 IRQ5£¬IRQ10 ºÍ IRQ11 Ϊ·Ç PnP É豸¡£ <p> ¶ÔÓÚUSBÉ豸£¬ËüÃÇÔÚ <file>/proc/bus/usb/devices</file> ÖÐÒÔ <tt>Cls=<var>nn</var></tt> µÄÐÎʽÁгö£º <list compact> <item>Cls=00 : Unused <item>Cls=01 : Audio (speaker etc.) <item>Cls=02 : Communication (MODEM, NIC, ...) <item>Cls=03 : HID (Human Interface Device: KB, mouse, joystick) <item>Cls=07 : Printer <item>Cls=08 : Mass storage (FDD, CD/DVD drive, HDD, Flash, ...) <item>Cls=09 : Hub (USB hub) <item>Cls=255 : Vendor specific </list> Èç¹ûÉ豸Àà±ð£¨device class£©²»ÊÇ 255£¬Ôò Linux ¿ÉÖ§³Ö¸ÃÉ豸¡£ </sect1> <sect1>ÔÚÆäËü OS ÏÂÈ·¶¨ PC Ó²¼þ <p> »¹¿É´ÓÆäËü²Ù×÷ϵͳÖлñȡӲ¼þÐÅÏ¢¡£ <p> °²×°ÆäËüÉÌÒµ°æ Linux£¬µ±Ç°ËüÃÇÔÚÓ²¼þÕì²â·½Ãæ×öµÃ±È Debian ºÃ¡££¨²»¹ýÒ»µ« Sarge ÖмÓÈëÁË debian-installer£¬Çé¿ö¾Í»á¸Ä±ä¡££© <p> °²×° Windows¡£ÓÃÊó±êÓÒ¼üµã¡°ÎҵĵçÄÔ¡±Ôڲ˵¥ÖÐÑ¡ÊôÐÔ/É豸¹ÜÀí£¬¿É»ñµÃÓ²¼þÅäÖÃÐÅÏ¢¡£¼ÇÏÂËùÓеÄ×ÊÔ´ÐÅÏ¢Èç IRQ¡¢I/O ¶Ë¿ÚµØÖ·ºÍ DMA¡£ÓÐЩ¾ÉµÄ ISA ¿¨¿ÉÄÜÒªÔÚ DOS ÏÂÅäÖᣠ</sect1> <sect1>Lilo Éñ»° <p> "Lilo ÊÜÏÞÓÚ 1024 ÖùÃæ¡£" ´ó´íÌØ´í£¡ <p> Debian Potato Ö®ºóʹÓõÄаæ <prgn>lilo</prgn> Ö§³Ö lba32¡£Ö»ÒªÖ÷°åµÄ BIOS °æ±¾Ö§³Ö lba32£¬<prgn>lilo</prgn> ¾Í¿ÉÒÔÍ»ÆÆ 1024 ÖùÃæµÄÏÞÖÆ¡£ <p> Èç¹ûÄãʹÓõÄÊǾɰæ <prgn>lilo.conf</prgn>£¬ÇëÈ·¶¨ÔÚÄãµÄ <prgn>lilo.conf</prgn> Îļþ¿ªÍ·µÄij´¦¼ÓÁËÒ»ÐÐÃüÁîָʾϵͳ¶ÁÈ¡¡°lba32¡±¡£²ÎÔÄ <file>&f-lilo;</file>¡£ </sect1> <sect1 id="instgrub">GRUB <p> GNU Hurd ÏîÄ¿×éÌṩµÄеÄϵͳÒýµ¼¹¤¾ß <package>grub</package> ¿ÉʹÓÃÓÚ &debian; Woody ϵͳ¡£ <example> # apt-get update # apt-get install grub-doc # mc &f-grub-doc; ... read contents # apt-get install grub # pager &f-grub; ... read it :) </example> Òª±à¼ GRUB ²Ëµ¥£¬¿É±à¼ <file>&f-grub-menu;</file> Îļþ¡£²ÎÔÄ<ref id="bootgrub">»ñÈ¡ÓÐ¹ØÆô¶¯²ÎÊýÉèÖÃÐÅÏ¢£¬ËüºÍ <package>lilo</package> µÄÉèÖ÷½·¨²»Ì«Ò»Ñù¡£ </sect1> <sect1 id="bootfloppy">Ñ¡ÔñÒýµ¼ÈíÅÌ <p> Potato ʱÆÚ£¬ÔÚ½øÐÐÆǪ̃ͨʽ»ú°²×°Ê±ÎÒϲ»¶Óà IDEPCI ´ÅÅÌÌ×¼þ¡£µ½ÁË Woody£¬ÎÒ°®Óà bf2.4 Æô¶¯ÅÌÌ×¼þ¡£Á½Õß¶¼Ê¹ÓÃͬһ°æ±¾µÄ <package>boot-floppies</package> À´´´½¨Òýµ¼ÈíÅÌ¡£ <p> Èç¹ûÄãÓÐÒ»ÕÅ PCMCIA Íø¿¨£¬Äã¾ÍµÃʹÓñê×¼Æô¶¯ÅÌÌ×¼þ£¨Ê¹ÓõÄÈíÅÌÊý×î¶à£¬µ«¿ÉÓõÄÇý¶¯Ä£¿é×îÈ«£©²¢ÔÚ PCMCIA ÉèÖÃÖÐÅäÖà NIC¡£±ðÔÚ±ê×¼ÍøÂçÉèÖöԻ°¿òÖÐÉèÖÃÍø¿¨¡£ <p> ¶ÔÓÚÌØÊâϵͳ£¬ÐèÒª´´½¨Ò»ÕÅ×ÔÖÆ¼±¾ÈÅÌ£¬¿ÉÒÔÓñðµÄ»úÆ÷ÉϱàÒëºÃµÄÄÚºËѹËõ¾µÏñÌæ»» &debian; ¼±¾ÈÅÌÖÐÃûΪ¡°linux¡±µÄÄں˾µÏñ¡£ÏêÇé²ÎÔļ±¾ÈÅÌÖÐµÄ <file>readme.txt</file> Îļþ¡£¼±¾ÈÅÌʹÓà MS-DOS Îļþϵͳ£¬ËùÒÔÄã¿ÉÒÔÔÚÈκÎϵͳϱà¼Ëü¡£Õ⽫ΪÄÇЩʹÓÃÌØÊâÍø¿¨µÄÈËÔ츣¡£ <p> µ½ÁË Sarge£¬¿ÉÓà <prgn>debian-installer</prgn> »ò <package>pgi</package> À´´´½¨Òýµ¼ÈíÅÌ¡£ </sect1> <sect1>°²×°ÏµÍ³ <p> Õâ·½ÃæµÄ¹Ù·½ÎĵµÔÚ <url id="&stable-install;"> »ò <url id="&testing-install;">£¨´¦ÓÚд×÷ÖУ¬ÓÐʱ¿ÉÄÜÎÞ·¨·ÃÎÊ£© <p> Èç¹ûÄãÊÇÓà <prgn>boot-floppies</prgn> °²×° <tt>testing</tt> ·¢Ðа棬ÄãÐèÒªÔÚ°²×°¹ý³ÌÖа´ Alt-F2 ´ò¿ªÒ»¸ö¿ØÖÆÌ¨£¬ÊÖ¹¤±à¼ <file>/etc/apt/sources.list</file> Îļþ£¬½«Èí¼þ°üÏÂÔØÈë¿Ú´Ó "stable" ¸ÄΪ "testing"¡£ <p> ÔÚ°²×° <file>/dev/hda</file> µÄ <prgn>mbr</prgn> ʱ£¬ÎÒϲ»¶½« <prgn>lilo</prgn> ×°ÔÚÖîÈç <file>/dev/hda3</file> µÄλÖã¬ÕâÑù×ö¿ÉÒÔ¼õСÒýµ¼ÐÅÏ¢±»¸²¸ÇµÄ·çÏÕ¡£ <p> ÏÂÃæÊÇÎÒÔÚ°²×°¹ý³ÌÖÐËù×öµÄÑ¡Ôñ¡£ <list compact> <item>MD5 passwords "yes" <item>shadow passwords "yes" <item>Install "advanced" (dselect **) and select <list compact> <item>È¡Ïû emacs (Èç¹ûËü±»Ñ¡ÖÐÁË)¡¢nvi¡¢tex¡¢telnet¡¢talk(d)£» <item>Ñ¡ÉÏ mc¡¢vim£¬nano-tiny ºÍ elvis-tiny ÈÎѡһ¸ö¡£ <p> ²ÎÔÄ <ref id="dselect">¡£¼´Ê¹ÄãÊǸö Emacs ÃÔÒ²²»ÒªÔÚ°²×°½×¶ÎʹÓÃËü£¬nano ¿ÉÂú×ãÄãµÄÐèÒª¡£Ò²²»Òª°²×°ÆäËüÅÓ´óµÄÈí¼þ°üÈç Tex£¨Potato ÔøÔڴ˽׶ÎÉèÖÃËüΪĬÈϰ²×°£©¡£²ÎÔÄ<ref id="bin-editor">Á˽â´Ëʱ°²×° nano-tiny »ò elvis-tiny µÄÔÒò¡£ </list> <item>ÔÚÿ¸öÈí¼þ°ü°²×°¶Ô»°¿òÖУ¬»Ø´ðËùÓеÄÅäÖÃÌáÎʾù=¡°y¡±£¨Ìæ»»µ±Ç°Öµ£© <item><package>exim</package>£ºÑ¡µÚ2ÏÒòΪÎÒʹÓà ISP µÄ SMTP ·þÎñÆ÷·¢ËÍÓʼþ¡£ </list> <p> ÓÐ¹Ø dselect µÄ¸ü¶àÐÅÏ¢£¬²ÎÔÄ<ref id="dselect">¡£ </sect1> <sect1 id="ipmap">ÍøÂçËùÐèµÄÖ÷»úÃûºÍ IP µØÖ· <p> LAN ÅäÖõÄÀý×Ó£¨C subnet: 192.168.1.0/24£©£º <example> Internet | +--- Íⲿ ISP Ìṩ POP ·þÎñ£¨Ê¹Óà fetchmail ·ÃÎÊ£© | Access point ISP Ìṩ DHCP ·þÎñºÍ SMTP Öм̷þÎñ | : Cable modem (Dialup) | : LAN Íø¹ØÍⲿ¶Ë¿Ú: eth0£¨IP ÓÉ ISP µÄ DHCP Ìṩ£© ʹÓÃÀÏʽ±Ê¼Ç±¾µçÄÔ£¨IBM Thinkpad, 486 DX2 50 MHz, 20MB RAM£© ÔËÐÐ Linux 2.4 Äںˣ¬Ìṩ ext3 Îļþϵͳ֧³Ö ÔËÐС°ipmasq¡±Èí¼þ°ü£¨°²×°ËüµÄ²¹¶¡¡¢NAT ºÍ firewall£© ÔËÐС°dhcp-client¡±Èí¼þ°üÅäÖà eth0£¨¸²¸Ç DNS µÄÉ趨£© ÔËÐС°dhcp¡±Èí¼þ°üÅäÖà eth1 ÔËÐС°exim¡±×÷Ϊ smarthost£¨mode 2£© ÔËÐС°fetchmail¡±ÉèÒ»¸ö½Ï³¤µÄʱ¼äÖµ£¨fallback£© ÔËÐС°bind¡±×÷Ϊ¸ßËÙÓòÃû·þÎñÆ÷£¬ÔÚ´Ó LAN Á¬Èë Internet ʱ ×÷ΪÈÏÖ¤ÓòÃû·þÎñÆ÷£¬ÔÚ´Ó LAN ÖÐÁ¬ÈëÍøÖÐij¸öÓòʱ ÔËÐС°ssh¡±Ê¹ÓÃ¶Ë¿Ú 22 ºÍ 8080£¨´ÓÈκεصãÁ¬½Ó£© ÔËÐС°squid¡±×÷Ϊ»º´æ·þÎñÆ÷Á¬½Ó Debian °üÎĵµ·þÎñÆ÷£¨APT ÐèÒªÁ¬½ÓËü£© LAN Íø¹ØÄÚ²¿¶Ë¿Ú£ºeth1 £¨IP = 192.168.1.1£¬¹Ì¶¨£© | +--- LAN Switch (100 base T) ---+ | | LAN ÖÐһЩ¹Ì¶¨ IP ¿Í»§¶Ë LAN ÖÐһЩ DHCP¿Í»§¶Ë (IP = 192.168.1.2-127, ¹Ì¶¨) (IP = 192.168.1.128-200, ¶¯Ì¬) </example> ²ÎÔÄ <ref id="gateway"> Á˽â¸ü¶àÍøÂçÉèÖ÷½ÃæµÄÐÅÏ¢¡£ ²ÎÔÄ <ref id="net-router"> Á˽â¸ü¶à LAN Íø¹Ø·þÎñÆ÷ÉèÖ÷½ÃæµÄÐÅÏ¢¡£ </sect1> <sect1>Óû§ÕʺŠ<p> ΪÁËÈûúÆ÷·ÃÎÊÆðÀ´ÓÐÒ»Öµĸоõ£¬ÎÒµÄϵͳÖпªÍ·¼¸¸öÕʺÅͨ³£ÊDz»±äµÄ¡£ <p> ÎÒÊ×ÏÈ´´½¨µÄÓû§ÕʺÅÃûÊÇ¡°admin¡±£¨uid=100£©¡£ÎÒͨ¹ý¸ÃÕʺÅת·¢ËùÓÐµÄ root email¡£¸ÃÕʺżÓÈëµ½ <tt>adm</tt> Óû§×飨²ÎÔÄ<ref id="wheel">£©£¬Õâ¸öÓû§×éΪ³ÉÔ±Ìṩ´óÁ¿ root ÌØÈ¨µÄÃüÁͨ¹ý <prgn>su</prgn> »ò <prgn>sudo</prgn> ÃüÁî¾ÍÄÜʹÓà PAM¡£ÏêÇé²ÎÔÄ<ref id="newuser">¡£ </sect1> <sect1>´´½¨Îļþϵͳ <p> <sect2>Ó²ÅÌ·ÖÇø <p> ÎÒ¸üϲ»¶½«²»Í¬µÄĿ¼Ê÷·Ö±ð×°ÔÚ²»Í¬µÄ·ÖÇøÏ£¬ÕâÑù¿ÉÒÔ½«ÏµÍ³±ÀÀ£Ôì³ÉµÄËðʧ¼õµ½×îС¡£ÀýÈ磺 <example> / == (/ + /boot + /bin + /sbin) == 50MB+ /tmp == 100MB+ /var == 100MB+ /home == 100MB+ /usr == 700MB+ with X /usr/local == 100MB </example> <p> <file>/usr</file> Ŀ¼µÄ´óСºÜ´ó³Ì¶ÈÉÏÈ¡¾öÓÚ X window Ó¦ÓóÌÐòºÍÎĵµµÄÊýÄ¿¡£Èç¹ûÖ»ÔËÐпØÖÆÌ¨ÖÕ¶Ë <file>/usr</file> ¿ÉÒÔСµ½ 300MB£¬µ«Èç¹ûÄã×°ÁË´óÁ¿ Gnome Ó¦ÓóÌÐò 2GB-3GB Ò²ºÜÕý³£¡£µ± <file>/usr/</file> Ôö³¤µÃÌ«´ó£¬½« <file>/usr/share/</file> ÒÆµ½±ðµÄ·ÖÇøÊÇ×îÓÐЧµÄ½â¾È·½·¨¡£¶ÔÐ嵀 Linux2.4 Äں˰ü£¬<file>/</file> Ŀ¼µÄ´óС¿ÉÄÜÒª³¬¹ý 200MB¡£ <p> ÀýÈ磬µ±Ç°ÎÒµÄ Internet Íø¹Ø·þÎñÆ÷µÄÓ²ÅÌʹÓÃÇé¿öÈçÏ£¨ÓÉ <tt>df -h</tt> ÃüÁîÊä³ö£©£º <example> Filesystem Size Used Avail Use% Mounted on /dev/hda3 300M 106M 179M 38% / /dev/hda7 100M 12M 82M 13% /home /dev/hda8 596M 53M 513M 10% /var /dev/hda6 100M 834k 94M 1% /var/lib/cvs /dev/hda9 596M 222M 343M 40% /usr /dev/hda10 596M 130M 436M 23% /var/cache/apt/archives /dev/hda11 1.5G 204M 1.2G 14% /var/spool/squid </example> £¨Óпé´ó¿Õ¼äÁô¸ø <file>/var/spool/squid</file> ×÷ΪÏÂÔØÈí¼þ°üʱ´úÀí·þÎñÆ÷µÄ»º³åÇø¡££© <p> ÏÂÃæµÄ <tt>fdisk -l</tt> Êä³öÌṩÁËÒ»¸ö·ÖÇø·ÖÅä·½°¸£º <example> # fdisk -l /dev/hda # comment /dev/hda1 1 41 309928+ 6 FAT16 # DOS /dev/hda2 42 84 325080 83 Linux # (not used) /dev/hda3 * 85 126 317520 83 Linux # Main /dev/hda4 127 629 3802680 5 Extended /dev/hda5 127 143 128488+ 82 Linux swap /dev/hda6 144 157 105808+ 83 Linux /dev/hda7 158 171 105808+ 83 Linux /dev/hda8 172 253 619888+ 83 Linux /dev/hda9 254 335 619888+ 83 Linux /dev/hda10 336 417 619888+ 83 Linux /dev/hda11 418 629 1602688+ 83 Linux </example> ÀïÃæÓÐÒ»¸öδʹÓõķÖÇø¡£Áô×÷°²×°µÚ¶þ¸ö Linux »òΪÔö³¤µÄĿ¼Ê÷ÌṩÀ©³äÓàµØ¡£ <sect2>¹ÒÔØÎļþϵͳ <p> ÏÂÃæµÄ <file>/etc/fstab</file> Îļþ¿ÉÍê³ÉÉÏÊö·ÖÇøµÄ¹ÒÔØ¹¤×÷£º <example> # /etc/fstab: ¾²Ì¬µÄÎļþϵͳÐÅÏ¢¡£ # # filesystem mount point type options dump pass /dev/hda3 / ext2 defaults,errors=remount-ro 0 1 /dev/hda5 none swap sw 0 0 proc /proc proc defaults 0 0 /dev/fd0 /floppy auto defaults,user,noauto 0 0 /dev/cdrom /cdrom iso9660 defaults,ro,user,noauto 0 0 # # ¸÷·ÖÇø±£³Ö¶ÀÁ¢ /dev/hda7 /home ext2 defaults 0 2 /dev/hda8 /var ext2 defaults 0 2 /dev/hda6 /var/lib/cvs ext2 defaults 0 2 # noatime »áÌá¸ß¶ÁÈ¡ÎļþʱµÄ·ÃÎÊËÙ¶È /dev/hda9 /usr ext2 defaults,noatime 0 2 /dev/hda10 /var/cache/apt/archives ext2 defaults 0 2 # Ϊ´úÀí»º´æÉèÖõĴó·ÖÇø /dev/hda11 /var/spool/squid ext2 rw 0 2 # ±¸·Ý¡¢¿ÉÆô¶¯¡¢DOS /dev/hda1 /mnt/dos vfat rw,noauto 0 0 # ×÷Ϊ±¸·ÝÓÃµÄ¿ÉÆô¶¯µÄ Linux ϵͳ£¨Î´ÉèÖã© /dev/hda2 /mnt/linux ext2 rw,noauto 0 0 # # nfs ¹ÒÔØµã mickey:/ /mnt/mickey nfs ro,noauto,intr 0 0 goofy:/ /mnt/goofy nfs ro,noauto,intr 0 0 # minnie:/ /mnt/minnie smbfs ro,soft,intr,credentials={filename} 0 2 </example> ¶ÔÓÚ NFS£¬ÎÒʹÓà <tt>noauto¡¢intr</tt> ÒÔ¼°Ä¬È쵀 <tt>hard</tt> Ïî¡£Èç¹ûÓÐËÀÁ¬½Ó£¬¹ÒÔØ½ø³Ì¿ÉÄÜ»áËÀµô£¬¿ÉÒÔʹÓà Ctrl-C »Ö¸´¡£ <p> ¶ÔÓÚʹÓà Samba Á¬½ÓµÄ Windows »úÆ÷£¨smbfs£©£¬<tt>rw,auto,soft,intr</tt> ÊǸöºÃ·½°¸£¬²ÎÔÄ <ref id="samba">¡£ <p> ¶ÔÓÚÈíÇý£¬Ê¹Óà <tt>noauto,rw,sync,user,exec</tt> ¿ÉÒÔ·ÀÖ¹ÒòÍËÅÌǰδִÐÐÐ¶ÔØÃüÁî¶øÔì³ÉÎļþË𻵣¬µ«Ëü»á½µµÍдÅÌËÙ¶È¡£ <sect2>×Ô¶¯¹ÒÔØ <p> ×Ô¶¯¹ÒÔØµÄÒªµã£º <list compact> <item>¼ÓÔØ <tt>vfat</tt> Ä£¿é£¬´Ó¶ø <file>/etc/auto.misc</file> ¿ÉʹÓà <tt>-fstype=auto</tt> ²ÎÊý£º <example> # ÔÚÊÔͼ·ÃÎÊÈíÇý֮ǰ # modprobe vfat ... »òÕßʹÕâ¸öÉèÖÃ×Ô¶¯Íê³É£¬ # echo "vfat" >> /etc/modules ... ÖØÆôϵͳ¡£ </example> <item>ÉèÖà <file>/etc/auto.misc</file> ÈçÏ£º <example> floppy -fstype=auto,sync,nodev,nosuid,gid=100,umask=000 :/dev/fd0 ... ´Ë´¦ gid=100 ±íʾ ¡°users¡±¡£ </example> <item>ÔÚ <file>/home/<var>user</var></file> Öд´½¨Á´½ÓÎļþ <file>cdrom</file> ºÍ <file>floppy</file> £¬·Ö±ðÖ¸Ïò <file>/var/autofs/misc/cdrom</file> ºÍ <file>/var/autofs/misc/floppy</file>¡£ <item>½« <var>user</var> ¼ÓÈë¡°users¡±Óû§×é¡£ </list> <sect2>¹ÒÔØ NFS <p> Íⲿ Linux NFS ·þÎñÆ÷£¨goofy£©´¦ÓÚ·À»ðǽ£¨gateway£©Ö®ºó¡£ÔÚÎÒµÄ LAN ÄÚ²¿£¬°²È«²ßÂԷdz£¿íËÉ£¬ÒòΪֻÓÐÎÒ×Ô¼ºÒ»¸öÓû§¡£ÎªÁË·ÃÎÊ NFS£¬NFS ·þÎñÆ÷¶ËÒª°´ÈçÏ·½Ê½¼ÓÉÏ <file>/etc/exports</file>£º <example> # /etc/exports: the access control list for filesystems which may be # exported to NFS clients. See exports(5). / (rw,no_root_squash) </example> ³ý°²×°ºÍ¼¤»î NFS ·þÎñÆ÷¼°¿Í»§»úµÄÈí¼þ°üÍ⣬ÕâÒ»²½¶Ô¼¤»î NFS ·þÎñÆ÷Ò²ÊDZØÒªµÄ¡£ <p> ΪÁ˼ò½àÃ÷ÁË£¬ÎÒͨ³£´´½¨Ò»¸öµ¥¶ÀµÄ 2GB ·ÖÇø£¬ÓÃËü½øÐÐʵÑé»òÍæÍæ±ðµÄ Linux ϵͳ¡£ÎÒÓÐÑ¡ÔñµÄ¹²ÏíÁËÁ½¸öϵͳµÄ swap ºÍ <file>/tmp</file> ·ÖÇø¡£¶à·ÖÇø·½°¸ºÜÄÑÂú×ãÕâÖÖÒªÇó¡£Èç¹ûÖ»Ïë×°Ò»¸öÔËÐмòµ¥¿ØÖÆÌ¨Ä£Ê½µÄϵͳ£¬·ÖÇøÁô 500MB ¾Í´Â´ÂÓÐÓàÁË¡£ </sect1> <sect1>DRAM ÄÚ´æÖ¸µ¼ <p> ÏÂÁÐÊÇÓÐ¹Ø DRAM µÄ¼òµ¥Ö¸µ¼¡£ <example> 4MB: Linux ÄÚºËÔËÐеÄ×îµÍÅäÖᣠ16MB: ¿ØÖÆÌ¨ÏµÍ³ÔËÐеÄ×îµÍÅäÖᣠ32MB: ¼òµ¥ X ϵͳÔËÐеÄ×îµÍÅäÖᣠ64MB: GNOME/KDE ϵͳÔËÐÐ×îµÍÅäÖᣠ128MB: Á÷³©ÔËÐÐ GNOME/KDE¡£ 256MB: Èç¹ûÄãÒø×Ó³äÔ£¸ÉÂï²»ÄØ£¿DRAM ºÜ±ãÒËÁË¡£ </example> ʹÓÃÆô¶¯Ñ¡Ïî <tt>mem=4m</tt>£¨»òlilo <tt>append="mem=4m"</tt>£©¿ÉÒÔ¿´¿´Ö»Óà 4MB ÄÚ´æÊ±ÏµÍ³ÈçºÎÔËÐС£Èç¹û»úÆ÷µÄ BIOS ±È½Ï¾ÉÇÒÄÚ´æÊý´óÓÚ 64MB Æô¶¯Ê±¾ÍµÃ¼Ó lilo Æô¶¯²ÎÊý¡£ </sect1> <sect1>Swap ¿Õ¼ä <p> ÎÒ°´ÏÂÃæµÄÖ¸µ¼ÔÔòÀ´»®·Ö swap ¿Õ¼ä£º <list compact> <item>ÿ¸ö swap ·ÖÇø¾ù <128MB£¨Ê¹Óþɰæ2.0Äںˣ©£¬<2GB£¨Ê¹ÓÃ×îÐÂÄںˣ© <item>×ÜÈÝÁ¿ =£¨»úÆ÷ÄÚ´æ´óСµÄ 1 µ½ 2 ±¶£©»ò£¨128MB µ½ 2GB Ö®¼ä£© <item>½«ËüÃÇ·ÖÉ¢ÓÚ²»Í¬µÄÓ²ÅÌ£¬ÔÚ <file>/etc/fstab</file> ÖпÉʹÓà <tt>sw,pri=1</tt> Ñ¡Ïî¹ÒÔØËüÃÇ¡£ÕâÑù¿ÉÈ·±£ÄÚºËÒÔ RAID ·½Ê½Ê¹Óà swap ·ÖÇø£¬×î´óÏ޶ȵط¢»Ó swap µÄÐÔÄÜ¡£ <item>Èç¹û¿ÉÄÜ£¬Ê¹ÓÃÓ²ÅÌÖмäµÄÉÈÇø¡£ </list> <p> ¾¡¹ÜÄã²»Ò»¶¨ÕæµÄÐèÒª£¬µ«ÎªÏµÍ³ÉèÖöàһЩ swap ¿Õ¼ä£¨128MB£©×ÜÒªºÃµã£¬ÖÁÉÙÔËÐÐÓÐÄÚ´æÂ©¶´µÄ»µ³ÌÐò£¬ÏµÍ³»áÏÈÂýÏÂÀ´¶ø²»ÊÇÂíÉÏËÀ»ú¡£ </sect1> </sect> <sect id="bashconf">Bash ÉèÖà <p> ÎÒ°´×Ô¼ºµÄϲºÃÐÞ¸Ä shell Æô¶¯½Å±¾£º <example> /etc/bash.bashrc »»³ÉÄãµÄϲºÃ /etc/profile ±£³Ö·¢²¼°æÉ趨 ( \w -> \W) /etc/skel/.bashrc »»³ÉÄãµÄϲºÃ /etc/skel/.profile »»³ÉÄãµÄϲºÃ /etc/skel/.bash_profile »»³ÉÄãµÄϲºÃ ~/.bashrc »»³ÉÄãµÄϲºÃ£¬»á¸Ä±äËùÓÐÓû§µÄÉèÖà ~/.profile »»³ÉÄãµÄϲºÃ£¬»á¸Ä±äËùÓÐÓû§µÄÉèÖà ~/.bash_profile »»³ÉÄãµÄϲºÃ£¬»á¸Ä±äËùÓÐÓû§µÄÉèÖà </example> <url id="&examples;" name="¿ÉÒԲο¼ÎÒÌṩµÄ½Å±¾ÑùÀý">¡£ÎÒϲ»¶ÏµÍ³¿´ÆðÀ´ÇåÇå³þ³þ£¬ËùÒÔ½« <prgn>umask</prgn> ÉèΪ 002 »ò 022¡£ <p> <prgn>PATH</prgn> ÒÀ´ÎÓÉÒÔÏÂÅäÖÃÎļþÉ趨£º <example> /etc/login.defs - ÔÚ shell ֮ǰÉ趨 PATH /etc/profile £¨»áµ÷Óà /etc/bash.bashrc£© ~/.bash_profile £¨»áµ÷Óà ~/.bashrc£© </example> </sect> <sect id="gpm">Êó±êÉèÖà <p> <sect1>PS/2 Êó±ê <p> ¶ÔÓÚ ATX Ö÷°åÉÏʹÓà PS/2 ½Ó¿ÚµÄÊó±ê£¬ÐźÅͨ·ÈçÏ£º <example> mouse -> /dev/psaux -> gpm -> /dev/gpmdata = /dev/mouse -> X </example> ÕâÀ´´½¨Ö¸Ïò <file>/dev/gpmdata</file> µÄ·ûºÅÁ´½Ó <file>/dev/mouse</file>£¬ÓÐÖúÓÚ¼ò»¯ÅäÖòÙ×÷¡££¨ÀýÈ磬Èç¹ûÄã¾ö¶¨²»ÔÙʹÓà <prgn>gpm</prgn> ·þÎñ£¬Ö»ÐèÔÚɾµô <prgn>gpm</prgn> ·þÎñºó£¬½«·ûºÅÁ´½Ó <file>/dev/mouse</file> Ö¸Ïò <file>/dev/psaux</file>¡££© <p> ÐźÅͨ·ʹµÃ¶Ô¼üÅ̺ÍÊó±ê²å°Î²Ù×÷£¬Ö»ÒªÖØÆô <prgn>gpm</prgn> ¾Í¿ÉÒÔÉúЧ£¬²»±ØÖØÆô X£¡ <p> ´¦ÓÚ <prgn>gpm</prgn> Êä³öÓë X ÊäÈëÖ®¼äµÄÐźÅͨ·ÐÒéÓÐÁ½ÖÖÖ´Ðз½Ê½£¬¡°ms3¡±£¨Ê¹Óà Microsoft 3-button serial mouse ÐÒ飩ºÍ¡°raw¡±£¨¶ÔÓÚÒÑÁ¬½ÓµÄÊó±êʹÓÃÏàͬµÄÐÒ飩£¬´Ë´¦Ñ¡ÔñµÄÐÒ齫¾ö¶¨ X ÅäÖÃÖÐʹÓõÄÐÒé¡£ <p> ÏÂÃæÎÒ½«Ê¾·¶Ò»ÏÂÈçºÎÅäÖà Logitech 3-button£¨´«Í³Unix ·ç¸ñµÄÊó±ê£©PS/2 Êó±ê£º <p> Èç¹ûаæ X4 ²»Ö§³ÖÄãµÄÏÔ¿¨ÔòÐèҪʹÓþɰæ X3£¨ÈçijЩ ATI 64 λ¿¨£©£¬ÇëÅäÖà <tt>/etc/X11/XF86Config</tt> ¶ø²»ÊÇ <tt>/etc/X11/XF86Config-4</tt>£¬ÏÂÃæµÄʾÀýÖÐʹÓõÄÊÇ X4£º <sect2 id="gpmms3">ʹÓà ms3 ÐÒ鷽ʽ <p> <example> /etc/gpm.conf | /etc/X11/XF86Config-4 =========================+====================================== device=/dev/psaux | Section "InputDevice" responsiveness= | Identifier "Configured Mouse" repeat_type=ms3 | Driver "mouse" type=autops2 | Option "CorePointer" append="" | Option "Device" "/dev/mouse" sample_rate= | Option "Protocol" "IntelliMouse" | EndSection </example> Èç¹ûʹÓÃÕâÖÖ·½Ê½£¬ÉèÖÃÊó±êÀàÐÍÖ»Ðè±à¼ <file>gpm.conf</file> £¬X µÄÉèÖý«±£³Ö²»±ä¡£²ÎÔÄ<url id="&examples;" name="ÎÒµÄÑùÀý½Å±¾">¡£ <sect2 id="gpmraw">ʹÓà raw ÐÒ鷽ʽ <p> <example> /etc/gpm.conf | /etc/X11/XF86Config-4 =========================+====================================== device=/dev/psaux | Section "InputDevice" responsiveness= | Identifier "Configured Mouse" repeat_type=raw | Driver "mouse" type=autops2 | Option "CorePointer" append="" | Option "Device" "/dev/mouse" sample_rate= | Option "Protocol" "MouseManPlusPS/2" | EndSection </example> Èç¹ûʹÓÃÕâÖÖ·½Ê½£¬ÉèÖÃÊó±êÀàÐͿɱ༠<file>gpm.conf</file>£¬Í¬Ê±Ò²»á¸Ä±ä X µÄÉèÖᣠ<sect2>ÈçºÎÉèÖò»Í¬µÄÊó±ê <p> <prgn>gpm</prgn> µÄÉ豸ÀàÐÍ <tt>autops2</tt> ¿ÉÒÔ×Ô¶¯¼ì²â³öÊÐÃæÉÏ´ó¶àÊý PS/2 Êó±ê¡£²»ÐÒµÄÊÇËüÒ²²»ÊÇÍòÄܵ쬶øÇÒ Woody ֮ǰµÄ·¢²¼°æÖв¢²»°üÀ¨Ëü£¬Õâʱ¿ÉÔÚ <file>gpm.conf</file> ÖÐÊÔÊÔ <tt>ps2</tt> »òÕß <tt>imps2</tt>¡£Ïë¿´¿´ <prgn>gpm</prgn> Ö§³ÖÄÄЩÀàÐ͵ÄÊó±ê¿ÉÊäÈ룺<tt>gpm -t help</tt>¡£²ÎÔÄ <manref name="gpm" section="8">¡£ <p> Èç¹ûʹÓõÄÊÇ 2 ¼ü PS/2 Êó±ê£¬¿ÉÑ¡ÉÏ X ÐÒéµÄ <tt>Emulate3Buttons</tt> Ïî¡£ÐÒéÖÐ 2 ¼üÊó±êºÍ 3 ¼üÊó±êµÄÇø±ðÔÚÓÚÿ´Î°´ÏÂÖмä¼üʱ£¬ÊÇ×Ô¶¯¼ì²â»¹ÊÇ×Ô¶¯Ä£ÄâÐźŴ«¸ø <prgn>gpm</prgn>¡£ <p> ¶ÔÓÚÔÚ X ÐÒé<ref id="gpmraw"> »ò²»Ê¹Óà <prgn>gpm</prgn>£¬¿ÉʹÓÃÏÂÃæµÄÉèÖ㺠<list compact> <item><tt>IntelliMouse</tt>: ´®¿ÚÊó±ê£¨<prgn>gpm</prgn> ת»»Æ÷ʹÓá°ms3¡±£© <item><tt>PS/2</tt>: PS/2 Êó±ê£¨Í¨³£Ê×ÏÈÊÔÊÔÕâÏ <item><tt>IMPS/2</tt>: ÈκΠPS/2 Êó±ê£¨2¼ü¡¢3¼ü»ò¹öÖáÊó±ê£© <item><tt>MouseManPlusPS/2</tt>: Logitech PS/2 Êó±ê <item><tt>...</tt> </list> ¸ü¶àÐÅÏ¢¿Éä¯ÀÀ <url id="&mousexf86;" name="Mouse Support in XFree86">¡£ <p> µäÐ굀 Microsoft ¹öÖáÊó±ê£¬Óб¨µ¼ËµÕâÑùÉèÖÃ×îºÃ£º <example> /etc/gpm.conf | /etc/X11/XF86Config-4 =========================+====================================== device=/dev/psaux | Section "InputDevice" responsiveness= | Identifier "Configured Mouse" repeat_type=raw | Driver "mouse" type=autops2 | Option "CorePointer" append="" | Option "Device" "/dev/mouse" sample_rate= | Option "Protocol" "IMPS/2" | Option "Buttons" "5" | Option "ZAxisMapping" "4 5" | EndSection </example> <p> ¶ÔÓÚijЩ×îÐ嵀 Toshiba ³¬±¡±Ê¼Ç±¾£¬ÔÚ System-V init ½Å±¾ÖÐÉèÖà <prgn>gpm</prgn> ÏÈÓÚ PCMCIA ¼¤»î¿É·ÀÖ¹ÏµÍ³ËøËÀ¡£ÌýÆðÀ´¹Å¹Ö²»¹ýÕâÊÇÕæµÄ¡£ <sect1>USB Êó±ê <p> ÇëÈ·¶¨ÄãÉèÖÃÁËËùÓбØÐëµÄ kernel Ñ¡Ï²¢ÔÚ±àÒëµÄʱºò±àÈëÄں˻ò±à³ÉÄ£¿éÁË£º <list compact> <item>ÔÚ ¡°Input Core Support¡±Ñ¡ÏîÏ£º <list compact> <item>"Input core support" (CONFIG_INPUT, <file>input.o</file>), <item>"Mouse support" (CONFIG_INPUT_MOUSEDEV, <file>mousedev.o</file>), </list> <item>ÔÚ ¡°USB support¡±Ñ¡ÏîÏ£º <list compact> <item>"Support for USB" (CONFIG_USB, <file>usbcore.o</file>), <item>"Preliminary USB device filesystem" (CONFIG_USB_DEVICEFS), <item>"UHCI" or "OHCI" (CONFIG_USB_UHCI || CONFIG_USB_UHCI_ALT || CONFIG_USB_OHCI, <file>usb-uhci.o</file> || <file>uhci.o</file> || <file>usb-ohci.o</file>), <item>"USB Human Interface Device (full HID) support" (CONFIG_USB_HID, <file>hid.o</file>), and <item>"HID input layer support" (CONFIG_USB_HIDINPUT) </list> </list> Õâ¶ù£¬Ä£¿éµÄÃû³ÆÎªÐ¡Ð´¡£ <p> Èç¹ûÄãûʹÓà devfs£¬ÔòÐè°´ÏÂÃæµÄ·½·¨´´½¨Ò»¸öÉ豸½Úµã <file>/dev/input/mice</file>£º <example> # cd /dev # mkdir input # mknod input/mice c 13 63 </example> <p> ¶ÔÓÚµäÐ͵ĹöÖá <strong>USB</strong> Êó±ê£¬ÅäÖÃÈçÏ£º <example> /etc/gpm.conf | /etc/X11/XF86Config-4 =========================+====================================== device=/dev/input/mice | Section "InputDevice" responsiveness= | Identifier "Generic Mouse" repeat_type=raw | Driver "mouse" type=autops2 | Option "SendCoreEvents" "true" append="" | Option "Device" "/dev/input/mice" sample_rate= | Option "Protocol" "IMPS/2" | Option "Buttons" "5" | Option "ZAxisMapping" "4 5" | EndSection </example> <p> ¸ü¶àÐÅÏ¢¿Éä¯ÀÀ <url id="&linuxusb;" name="the Linux USB Project">¡£ <sect1>´¥ÃþÆÁ£¨Touchpad£© <p> ¾¡¹Ü´¥ÃþÆÁÔڱʼDZ¾µçÄÔÉÏĬÈÏÊÇÄ£Äâ 2 ¼ü PS/2 Êó±êµÄÐÐΪ£¬ÈÔ¿É´Ó <package>tpconfig</package> Èí¼þ°ü»ñµÃ¶ÔÕâÀàÉ豸µÄÍêÈ«²Ù¿Ø¡£ÀýÈçÔÚ <file>/etc/default/tpconfig</file> ÖÐÉèÖà <tt>OPTIONS="--tapmode=0"</tt> ¿ÉÆÁ±ÎÌÖÑáµÄ¡°click by tap¡±ÐÐΪ¡£°´ÈçÏ·½·¨ÉèÖà <file>/etc/gpm.conf</file> ¿ÉÒÔ¿ØÖÆÌ¨ÏÂʹÓô¥ÃþÆÁºÍ USB Íâ½ÓÊó±ê¡£ <example> device=/dev/psaux responsiveness= repeat_type=ms3 type=autops2 append="-M -m /dev/input/mice -t autops2" sample_rate= </example> </sect> <sect id="nfs">NFS ÉèÖà <p> °²×° NFS ÒªÉèÖÃ<file>/etc/exports</file>¡£ <example> # apt-get install nfs-kernel-server # echo "/ *.domainname-for-lan-hosts(rw,no_root_squash,nohide)" \ >> /etc/exports </example> <url id="&examples;" name="ÏêÇé¼ûÎÒµÄÑùÀý½Å±¾">. </sect> <sect id="samba">Samba ÉèÖà <p> ²Î¿¼×ÊÁÏ£º <list compact> <item><url id="&sambahome;"> <item><package>samba-doc</package> package </list> <p> ÒÔ¡°share¡±·½Ê½°²×° Samba ±È½ÏÈÝÒ×£¬ÒòΪ°²×°¹ý³Ì»á´´½¨ WfW-type ¹²ÏíÇý¶¯Æ÷¡£µ«×îºÃʹÓá°user¡±Ä£Ê½À´ÅäÖÃËü¡£ <p> ¿ÉÒÔÓà <prgn>debconf</prgn> »ò <prgn>vi</prgn> À´ÉèÖà Samba£º <example> # dpkg-reconfigure --priority=<var>low</var> samba # ÔÚ Woody ÖÐ # vi /etc/samba/smb.conf </example> <url id="&examples;" name="ÏêÇé²ÎÔÄÎҵĽű¾ÑùÀý">. <p> ¿Éͨ¹ý <prgn>smbpasswd</prgn> Ïò <file>smbpasswd</file> ÎļþÌí¼ÓÒ»¸öÐÂÓû§£º <example> $ su -c "smbpasswd -a username" </example> È·±£Ê¹ÓõļÓÃÜÃÜÂëÓÐÇ¡µ±µÄ¼æÈÝÐÔ¡£ <p> °´Ï±íÖÐÏàÓ¦µÄÖµÉ趨 <tt>os level</tt>£¨Êý×ÖÔ½´ó£¬·þÎñÆ÷µÄÓÅÏȼ¶Ô½¸ß£©£º <example> 0: Samba with a loose attitude (will never become a master browser) 1: WfW 3.1, Win95, Win98, Win/Me? 16: Win NT WS 3.51 17: Win NT WS 4.0 32: Win NT SVR 3.51 33: Win NT SVR 4.0 255: Samba with mighty power </example> È·ÈÏÓû§ÊÇĿ¼ËùÊô×éµÄ³ÉÔ±£¬²¢ÇÒ¶ÔĿ¼¸³ÓèÁËÖ´ÐÐȨÏÞ¡£ </sect> <sect id="printer">´òÓ¡»úÉèÖà <p> ´«Í³´òÓ¡·½·¨ÊÇ <prgn>lpr</prgn>/<prgn>lpd</prgn>¡£Ð嵀 CUPS ϵͳ£¨Common UNIX Pinting System£©ÌṩÁËÁíÒ»·½·¨ PDQ£¬ÏêÇé²ÎÔÄ <url id="&printing-howto;" name="Linux Printing HOWTO">¡£ <sect1 id="lprlpd"><prgn>lpr</prgn>/<prgn>lpd</prgn> <p> ¶ÔÓÚ <prgn>lpr</prgn>/<prgn>lpd</prgn> µÄ´òÓ¡»º³å³Ø£¨type spoolers£©£¨<package>lpr</package>¡¢<package>lprng</package> ºÍ <package>gnulpr</package>£©£¬Èç¹ûËüÃÇÁ¬½ÓµÄÊÇ PostScript »ò text-only ´òÓ¡»ú£¨×î»ù±¾µÄ´òÓ¡»ú£©¿É°´ÈçÏ·½Ê½ÉèÖà <file>/etc/printcap</file>£º <example> <var>lp</var>|<var>alias</var>:\ :sd=/var/spool/lpd/<var>lp</var>:\ :mx#0:\ :sh:\ :lp=/dev/lp0: </example> ÉÏÊö¸÷ÐеÄÒâ˼ÊÇ£º <list compact> <item>Head line: <var>lp</var> – spool Ãû³Æ, <var>alias</var> = alias <item>mx#0 – ²»ÏÞ×î´óÎļþ³ß´ç <item>sh – ²»´òӡҳü <item>lp=/dev/lp0 – ±¾µØ»úÓ¡»ú£¬»ò port@host Ô¶³Ì´òÓ¡»ú </list> Èç¹ûÁ¬½ÓµÄÊÇ̨ PostScript ´òÓ¡»ú£¬ÉÏÊöÉèÖþ͹»ÓÃÁË¡£Èç¹ûÊÇ Windows »úÆ÷ͨ¹ý Samba ´òÓ¡£¬ÉÏÊöÉèÖÃÒ²ÊÊÓÃÓÚÈκΠWindows Ö§³ÖµÄ´òÓ¡»ú£¨²»Ö§³ÖË«ÏòͨÐÅ£©¡£Äã±ØÐëÔÚ Windows »·¾³ÖжԴòÓ¡»ú×öÏàÓ¦µÄÅäÖᣠ<p> Èç¹ûÄãûÓÐ PostScript ´òÓ¡»ú£¬¾ÍµÃÓà <prgn>gs</prgn> °²×°¹ýÂËϵͳ¡£Óкܶà×Ô¶¯ÅäÖù¤¾ß¿ÉÓÃÓÚÅäÖà <file>/etc/printcap</file>£¬¿ÉÑ¡ÔñÏÂÁÐÈκÎÒ»×飺 <list compact> <item><package>gnulpr</package>¡¢£¨<package>lpr-ppd</package>£©ºÍ <package>printtool</package>— ÎÒÓÃÕâÖÖ <item><package>lpr</package> ºÍ <package>apsfilter</package> <item><package>lpr</package> ºÍ <package>magicfilter</package> <item><package>lprng</package> ºÍ <package>lprngtool</package> <item><package>lprng</package> ºÍ <package>apsfilter</package> <item><package>lprng</package> ºÍ <package>magicfilter</package> <!-- I can think of more combinations but I add them if someone actually report me they got it working with them. --> </list> <p> ÏëÔËÐÐ GUI ÅäÖù¤¾ßÈç <prgn>printtool</prgn>£¬ÐèÒª root ȨÏÞ£¬²ÎÔÄ <ref id="ss-xsu">¡£<prgn>printtool</prgn> ¿É´´½¨´òÓ¡»º³å³Ø£¬ËüʹÓà <prgn>gs</prgn> Ä£Äâ PostScript ´òÓ¡»ú£¬ËùÒÔҪʹÓà PostScript ´òÓ¡Çý¶¯À´·ÃÎÊËüÃÇ¡£ÔÚ Windows ¶Ë£¬¡°Apple LaserWriter¡±ÊDZê×¼¼þ¡£ </sect1> <sect1 id="cups">CUPS™ <p> ʹÓà <prgn>aptitude</prgn> °²×° Common UNIX Printing System£¨»òCUPS™£©ºÍËùÓÐλÓÚ "Tasks" -> "Servers" -> "Print Server". (Sarge) ϵÄÈí¼þ°ü¡£ ΪÁ˵õ½×î¼ÑµÄ½á¹û£¬ÄãÐèÒª¶Ô <prgn>aptitude</prgn> ½øÐÐÈçϵÄÉèÖ㺠"F10" -> "Options" -> "Dependency handling" -> "[X] Install Recommended packages automatically". <p> KDE ºÍ Gnome ×ÀÃæÏµÍ³ÌṩÁ˼òÒ׵ĴòÓ¡»úÉèÖá£Èç¹û°²×°ÁË <package>swat</package>£¬ÄãÒ²¿ÉÒÔÓÃÈκÎÒ»ÖÖä¯ÀÀÆ÷À´ÉèÖᣠ</p> <p> <example> $ <var>mybrowser</var> http://localhost:631 </example> </p> <p> ¾Ù¸öÀý×Ó£¬½«ÄãµÄ´òÓ¡»úÁª½Óµ½¿É·ÃÎÊ´òÓ¡»úÁбíÖУº <list> <item>ÔÚÖ÷Ò³ÃæÉϵã»÷¡°Printers¡±£¬È»ºóµã¡°Add Printer¡±£¬ <item>ÊäÈëÓû§ÃûºÍÃÜÂ룬½øÈë¡°root¡±£¬ <item>°´ÌáʾÌí¼Ó´òÓ¡»ú£¬ <item>·µ»Ø¡°Printers¡±Ò³Ã棬µã¡°Configure Printer¡±£¬ <item>É趨´òÓ¡Ö½³ß´ç¡¢·Ö±æÂÊºÍÆäËü²ÎÊý¡£ </list> ¸ü¶àÐÅÏ¢¿Éä¯ÀÀ <url id="http://localhost:631/documentation.html"> ºÍ <url id="&cups-help;">¡£ <p> ¶ÔÓÚ 2.4 Äںˣ¬²Î¼û <ref id="parport">¡£ </sect1> </sect> <sect>ÆäËüÖ÷»ú°²×°Ìáʾ <sect1 id="post-inst">³õʼ»¯°²×°Íê³ÉºóÔÙ°²×°ÆäËûÈí¼þ°ü <p> µ½ÏÖÔÚ£¬ÄãÒѾӵÓÐÒ»¸öСÇɵ«¹¦ÄÜÆÄÇ¿µÄ&debian;¡£½ÓÏÂÀ´£¬¿ÉÒÔ°²×°ÄÇЩ½Ï´óµÄÈí¼þ°üÁË¡£ <list> <item>ÔËÐÐ <prgn>tasksel</prgn>¡£²ÎÔÄ<ref id="tasksel">¡£ <p> ¿É°´ÐèÑ¡Ôñ£º <list compact> <item>End-user – X window system <item>Development – C and C++ <item>Development – Python <item>Development – Tcl/Tk <item>Miscellaneous — TeX/LaTeX environment <item> ¶ÔÓÚÆäËûÈí¼þ°ü£¬ÎÒϲ»¶°Ñ <prgn>tasksel</prgn> ×÷Ϊ°²×°Ö¸µ¼À´Ó㬲鿴 <Task Info> Á˽âÓйØÈÎÎñµÄ°²×°Áбí È»ºóÓà <prgn>dselect</prgn> À´Ñ¡Ôñ°²×°¡£ </list> <item>ÔËÐÐ <prgn>dselect</prgn>¡£ <p> ÔÚ´Ë£¬Äã×îÏë×öµÄʾÍÊÇÑ¡ÔñÖÓ°®µÄ±à¼Æ÷ºÍÆäËüÐèÒªµÄ³ÌÐò¡£Äã¿ÉÒÔͬʱ°²×° Emacs µÄ¶à¸ö±äÖÖ¡£²ÎÔÄ <ref id="dselect"> ºÍ<ref id="pop-editor">¡£ <p> ÄãÒ²¿ÉÒÔ½«Ä³Ð©Ä¬ÈϵÄÈí¼þ°üÌæ»»³ÉÌØ¶¨°æ±¾¡£ <list compact> <item>lynx-ssh (¶ø²»ÊÇ lynx) <item>... <!-- Add list in generic way. --> </list> <item>... </list> ÎÒͨ³£±à¼ <file>/etc/inittab</file> À´¼ò»¯¹Ø»ú²½Öè¡£ <example> ... # What to do when CTRL-ALT-DEL is pressed. ca:12345:ctrlaltdel:/sbin/shutdown -t1 -a -h now ... </example> </sect1> <sect1>Ä£¿é <p> ÔÚ³õʼ°²×°ÆÚ¼ä¿É½øÐÐÉ豸Çý¶¯Ä£¿éÅäÖá£ÒԺ󻹿ÉʹÓà <prgn>modconf</prgn> ½øÐÐÅäÖã¬ËüÊÇ»ùÓڲ˵¥½çÃæµÄ¹¤¾ß£¬¿ÉÓÃÀ´ÅäÖÃÄÇЩÔÚ³õʼ°²×°Ê±Î´ÔøÅäÖõÄÄ£¿é»òÍê³ÉÐÂÄں˰²×°ºóµÄÅäÖù¤×÷¡£ <p> ËùÓÐÔ¤¼ÓÔØ£¨preloading£©Ä£¿éµÄÃû³ÆÒª¼ÓÈëµ½ <file>/etc/modules</file> ÁÐ±í¡£Ò²¿ÉÒÔʹÓà <prgn>lsmod</prgn> ºÍ <prgn>depmod</prgn> ½øÐÐÊÖ¹¤¿ØÖÆ¡£ <p> ¶ÔÓÚ 2.4 °æÄں˱ðÍüÁËÔÚ <file>/etc/modules</file> ÖмÓÉϼ¸ÐÐÀ´´¦Àí IP αװ£¨FTP µÈ£©¡£²ÎÔÄ<ref id="kernel-modules">£¬ÌرðÊÇ<ref id="kernel-net">¡£ </sect1> <sect1>CD-RW »ù±¾²½Öè <p> ¶ÔÓÚÔÚ 2.4 °æÄÚºËÖÐʹÓà IDE ½Ó¿ÚµÄ CD-RW£¬±à¼ÏÂÁÐÎļþ£º <example> /etc/lilo.conf (Ìí¼Ó append="hdc=ide-scsi ignore=hdc", Ö´ÐÐ lilo ¼¤»î) /dev/cdrom (´´½¨Á´½Ó # cd /dev; ln -sf scd0 cdrom) /etc/modules (¼ÓÈë "ide-scsi"ºÍ"sg"¡£Èç¹ûÐèÒª¿ÉÔÙ¼ÓÉÏ"sr"¡£) </example> ÏêÇé²ÎÔÄ <ref id="cdrw">¡£ </sect1> <sect1 id="apm">¶àÄÚ´æºÍ¹Ø»ú×Ô¶¯¶Ïµç <p> ±à¼ <file>/etc/lilo.conf</file>£¬ÉèÖÃÆô¶¯Ìáʾ²ÎÊýÈçÏ£¬ÊµÏÖʶ±ð´óÄڴ棨ÊÊÓÃÓÚ 2.2 °æÄںˣ©ºÍ¹Ø»ú×Ô¶¯¶Ïµç£¨ÊÊÓÃÓÚ APM£©£º <example> append="mem=128M apm=on apm=power-off noapic" </example> Ö´ÐÐ <prgn>lilo</prgn> Íê³ÉÉÏÊöÉèÖ᣶ԳƶദÀíÆ÷Äںˣ¨SMP-kernel£©ÐèÒª <tt>apm=power-off</tt>£¬¶ø¶ÔÎÒÄǶÑÔã¸âµÄ SMP Ó²¼þ¶øÑÔ <tt>noapic</tt> Ò²ÊÇÐèÒªµÄ¡£ÏµÍ³Æô¶¯Ê±£¬ÔÚÆô¶¯Ìáʾ·ûºóÖ±½ÓÊäÈëÕâЩ²ÎÊýЧ¹ûÒ²Ò»Ñù¡£²ÎÔÄ<ref id="bootprompt">¡£ <p> ÔÚ Debian µÄ 2.4 °æÄÚºËÖУ¬Èç¹û APM ÊÇ×÷Ϊģ¿é±àÒëµÄ£¬¿ÉÔÚϵͳÆô¶¯ºóÔËÐÐ <tt># insmod apm power_off=1</tt> »òÉèÖà <file>/etc/modules</file>£º <example> # echo "apm power_off=1" >>/etc/modules </example> <p> »¹¿ÉÒÔÕâÑù£º±àÒëаæÄÚºËʱ¼ÓÈë ACPI Ö§³Ö¿É´ïµ½Í¬ÑùµÄЧ¹û£¬¶øÇÒÕâÖÖ·½Ê½¸üÊÊºÏ SMP£¨Ö»ÓнÏеÄÖ÷°å²ÅÖ§³Ö ACPI£©¡£¶ÔÓÚ½ÏеÄÖ÷°å 2.4 °æÄں˿ÉÒÔÖ±½Ó¼ì²âµ½´óÄÚ´æ¡£ <example> CONFIG_PM=y CONFIG_ACPI=y ... CONFIG_ACPI_BUSMGR=m CONFIG_ACPI_SYS=m </example> ÔÚ <file>/etc/modules</file> Öа´ÈçÏÂ˳ÐòÌí¼Ó²ÎÊý£º <example> ospm_busmgr ospm_system </example> »òÕßÖØÐ±àÒëÄںˣ¬ÔÚÅäÖÃʱ½«ÉÏÊöÄÚºËÑ¡Ïî¾ùÉèΪ¡°y¡±¡£×ÜÖ®£¬ÓÐÁË ACPI Ö§³Ö¾Í²»ÔÙÐèÒªÈÎºÎÆô¶¯Ìáʾ²ÎÊý¡£ </sect1> <sect1 id="killecn">ÎÞ·¨·ÃÎÊijЩվµãµÄ¹ÖÎÊÌâ <p> Ð嵀 Linux ÄÚºËĬÈÏ¿ªÆô ECN£¬¶ÔÓÚijЩʹÓÃÁÓÖÊ·ÓÉÆ÷µÄÕ¾µã£¬»á³öÏÖÎÞ·¨·ÃÎʵÄÎÊÌâ¡£¼ì²é ECN ״̬¿ÉʹÓ㺠<example> # cat /proc/sys/net/ipv4/tcp_ecn ... »ò # sysctl net.ipv4.tcp_ecn </example> ½«Ëü¹Ø±Õ£º <example> # echo "0" > /proc/sys/net/ipv4/tcp_ecn ... »ò # sysctl -w net.ipv4.tcp_ecn=0 </example> ÿ´ÎÆô¶¯Ê±½ûÖ¹ TCP ECN£¬¿É±à¼ <file>/etc/sysctl.conf</file>£¬¼ÓÉÏ£º <example> net.ipv4.tcp_ecn = 0 </example> </sect1> <sect1>PPP °ÎºÅÉèÖà <p> °²×° <package>pppconfig</package> Èí¼þ°ü£¬ÉèÖà PPP ²¦ºÅ·ÃÎÊ¡£ <example> # apt-get install pppconfig # pppconfig ... °´ÌáʾÅäÖà PPP ²¦ºÅ # adduser <var>user_name</var> dip ... ÔÊÐí <var>user_name</var> ½øÐÐ PPP ²¦ºÅ·ÃÎÊ </example> Óû§£¨<var>user_name</var>£©½øÐÐ PPP ²¦ºÅ·ÃÎÊ£º <example> $ pon <var>ISP_name</var> # ¿ªÊ¼ PPP ·ÃÎÊ£¬½ÓͨÄãµÄ ISP ... enjoy the Internet $ poff <var>ISP_name</var> # Í£Ö¹ PPP ·ÃÎÊ£¬<var>ISP_name</var> ¿ÉÑ¡ </example> ÏêÇé²ÎÔÄ<ref id="low-ppp">¡£ </sect1> <sect1><file>/etc/</file> ÖÐµÄÆäËüÅäÖÃÎļþ <p> Debian ±ê×¼°²×°²»°üº¬ <file>/etc/cron.deny</file> Îļþ£¬ÏëÌí¼Ó¿É¿½±´ <file>/etc/at.deny</file>¡£ </sect1> </sect> </chapt>Title: Debian 参考手册 - Debian 系统安装提示
Debian 的官方安装文档位于 http://www.debian.org/releases/stable/
和 http://www.debian.org/releases/stable/installmanual
。
开发中的版本位于 http://www.debian.org/releases/testing/
和 http://www.debian.org/releases/testing/installmanual
(处于写作中,有时可能无法访问)。
尽管本文最初是根据 Potato 的安装程序写的,但其中绝大部分都已针对 Woody
的安装程序作了更新,而且两者是非常相似的。由于 Sarge
将会使用一套全新的安装程序,所以请将本文当作 Sarge 安装程序的一个参考文件。
同时也要注意部分关键软件包的名字和优先级都发生了变化。例如:Sarge 默认的 MTA 由
exim
变成了 exim4
,引入的 coreutils
取代很多软件包。你需要做一些安装上的调整。
如果你在寻找精简的 Debian 安装光盘,请别忘记检查 http://www.debian.org/CD/netinst/
。
使用 testing 或 unstable 版的 Debian
会增加遇到严重软件错误的风险。在机器上安装一个稳定版本的
Debian,然后使用多重启动方案可有效控制风险。或者使用更安全的
chroot
技巧,参阅 chroot
, 第 8.6.35
节。后者可实现同时在不同的控制台运行多种版本的 Debian。
Linux 兼容绝大多数 PC 硬件,而且几乎可以安装在任何系统架构上。对我而言它的安装过程和 Windwos 95/98/Me 一样简单。可兼容的硬件列表也在不断增加。
如果你有一部笔记本电脑,可以去 Linux on Laptops
查找对应品牌和型号的安装指导。
我推荐的台式机硬件通常“比较保守”:
如果你的机器特别慢,最好把硬盘插到另一个速度快些的机器上安装。
在安装过程中,可能会要你确定电脑的硬件或芯片组等。有时了解这些信息并非易事,这儿有个方法:
在 Linux 系统中使用下列命令,可获得机器当前使用的硬件及配置的相关信息。
$ pager /proc/pci $ pager /proc/interrupts $ pager /proc/ioports $ pager /proc/bus/usb/devices
在安装过程中按 Alt-F2 进入控制台,可运行这些命令获得帮助。
在最初的安装结束之后,通过安装可选的软件包,比如
pciutils
、usbutils
和
lshw
,你就可以获得更多的系统信息。
$ lspci -v |pager $ lsusb -v |pager # lshw |pager
典型的中断用途
/dev/ttyS1
)
/dev/ttyS0
)
/dev/fd0
,
/dev/fd1
)
/dev/lp0
)
/dev/hda
, /dev/hdb
)
/dev/hdc
, /dev/hdd
)
对于旧的非 PnP ISA 卡,你可能需要在 BIOS 中设定 IRQ5,IRQ10 和 IRQ11 为非 PnP 设备。
对于USB设备,它们在 /proc/bus/usb/devices
中以
Cls=nn 的形式列出:
如果设备类别(device class)不是 255,则 Linux 可支持该设备。
还可从其它操作系统中获取硬件信息。
安装其它商业版 Linux,当前它们在硬件侦测方面做得比 Debian 好。(不过一但 Sarge 中加入了 debian-installer,情况就会改变。)
安装 Windows。用鼠标右键点“我的电脑”在菜单中选属性/设备管理,可获得硬件配置信息。记下所有的资源信息如 IRQ、I/O 端口地址和 DMA。有些旧的 ISA 卡可能要在 DOS 下配置。
"Lilo 受限于 1024 柱面。" 大错特错!
Debian Potato 之后使用的新版 lilo
支持 lba32。只要主板的 BIOS
版本支持 lba32,lilo
就可以突破 1024 柱面的限制。
如果你使用的是旧版 lilo.conf
,请确定在你的 lilo.conf
文件开头的某处加了一行命令指示系统读取“lba32”。参阅
/usr/share/doc/lilo/Manual.txt.gz
。
GNU Hurd 项目组提供的新的系统引导工具 grub
可使用于 Debian Woody
系统。
# apt-get update # apt-get install grub-doc # mc /usr/share/doc/grub-doc/html/ ... read contents # apt-get install grub # pager /usr/share/doc/grub/README.Debian ... read it :)
要编辑 GRUB 菜单,可编辑 /boot/grub/menu.lst
文件。参阅Setting GRUB boot parameters, 第 8.1.6
节获取有关启动参数设置信息,它和 lilo
的设置方法不太一样。
Potato 时期,在进行普通台式机安装时我喜欢用 IDEPCI 磁盘套件。到了 Woody,我爱用
bf2.4 启动盘套件。两者都使用同一版本的 boot-floppies
来创建引导软盘。
如果你有一张 PCMCIA 网卡,你就得使用标准启动盘套件(使用的软盘数最多,但可用的驱动模块最全)并在 PCMCIA 设置中配置 NIC。别在标准网络设置对话框中设置网卡。
对于特殊系统,需要创建一张自制急救盘,可以用别的机器上编译好的内核压缩镜像替换
Debian 急救盘中名为“linux”的内核镜像。详情参阅急救盘中的
readme.txt
文件。急救盘使用 MS-DOS
文件系统,所以你可以在任何系统下编辑它。这将为那些使用特殊网卡的人造福。
到了 Sarge,可用 debian-installer
或 pgi
来创建引导软盘。
这方面的官方文档在 http://www.debian.org/releases/stable/installmanual
或 http://www.debian.org/releases/testing/installmanual
(处于写作中,有时可能无法访问)
如果你是用 boot-floppies
安装 testing
发行版,你需要在安装过程中按 Alt-F2 打开一个控制台,手工编辑
/etc/apt/sources.list
文件,将软件包下载入口从 "stable"
改为 "testing"。
在安装 /dev/hda
的 mbr
时,我喜欢将 lilo
装在诸如 /dev/hda3
的位置,这样做可以减小引导信息被覆盖的风险。
下面是我在安装过程中所做的选择。
参阅 dselect
, 第 6.2.4
节。即使你是个 Emacs 迷也不要在安装阶段使用它,nano
可满足你的需要。也不要安装其它庞大的软件包如 Tex(Potato
曾在此阶段设置它为默认安装)。参阅应急的编辑器, 第 11.2 节了解此时安装
nano-tiny 或 elvis-tiny 的原因。
exim
:选第2项,因为我使用 ISP 的 SMTP 服务器发送邮件。
有关 dselect 的更多信息,参阅dselect
, 第 6.2.4 节。
LAN 配置的例子(C subnet: 192.168.1.0/24):
Internet | +--- 外部 ISP 提供 POP 服务(使用 fetchmail 访问) | Access point ISP 提供 DHCP 服务和 SMTP 中继服务 | : Cable modem (Dialup) | : LAN 网关外部端口: eth0(IP 由 ISP 的 DHCP 提供) 使用老式笔记本电脑(IBM Thinkpad, 486 DX2 50 MHz, 20MB RAM) 运行 Linux 2.4 内核,提供 ext3 文件系统支持 运行“ipmasq”软件包(安装它的补丁、NAT 和 firewall) 运行“dhcp-client”软件包配置 eth0(覆盖 DNS 的设定) 运行“dhcp”软件包配置 eth1 运行“exim”作为 smarthost(mode 2) 运行“fetchmail”设一个较长的时间值(fallback) 运行“bind”作为高速域名服务器,在从 LAN 连入 Internet 时 作为认证域名服务器,在从 LAN 中连入网中某个域时 运行“ssh”使用端口 22 和 8080(从任何地点连接) 运行“squid”作为缓存服务器连接 Debian 包文档服务器(APT 需要连接它) LAN 网关内部端口:eth1 (IP = 192.168.1.1,固定) | +--- LAN Switch (100 base T) ---+ | | LAN 中一些固定 IP 客户端 LAN 中一些 DHCP客户端 (IP = 192.168.1.2-127, 固定) (IP = 192.168.1.128-200, 动态)
参阅 网络设置, 第 10 章 了解更多网络设置方面的信息。 参阅 建立路由网关, 第 10.12 节 了解更多 LAN 网关服务器设置方面的信息。
为了让机器访问起来有一致的感觉,我的系统中开头几个帐号通常是不变的。
我首先创建的用户帐号名是“admin”(uid=100)。我通过该帐号转发所有的 root
email。该帐号加入到 adm 用户组(参阅"Why GNU su
does not
support the wheel group", 第 9.2.2
节),这个用户组为成员提供大量 root 特权的命令,通过 su
或
sudo
命令就能使用 PAM。详情参阅添加用户, 第 4.2.2 节。
我更喜欢将不同的目录树分别装在不同的分区下,这样可以将系统崩溃造成的损失减到最小。例如:
/ == (/ + /boot + /bin + /sbin) == 50MB+ /tmp == 100MB+ /var == 100MB+ /home == 100MB+ /usr == 700MB+ with X /usr/local == 100MB
/usr
目录的大小很大程度上取决于 X window
应用程序和文档的数目。如果只运行控制台终端 /usr
可以小到
300MB,但如果你装了大量 Gnome 应用程序 2GB-3GB 也很正常。当 /usr/
增长得太大,将 /usr/share/
移到别的分区是最有效的解救方法。对新的
Linux2.4 内核包,/
目录的大小可能要超过 200MB。
例如,当前我的 Internet 网关服务器的硬盘使用情况如下(由 df -h 命令输出):
Filesystem Size Used Avail Use% Mounted on /dev/hda3 300M 106M 179M 38% / /dev/hda7 100M 12M 82M 13% /home /dev/hda8 596M 53M 513M 10% /var /dev/hda6 100M 834k 94M 1% /var/lib/cvs /dev/hda9 596M 222M 343M 40% /usr /dev/hda10 596M 130M 436M 23% /var/cache/apt/archives /dev/hda11 1.5G 204M 1.2G 14% /var/spool/squid
(有块大空间留给 /var/spool/squid
作为下载软件包时代理服务器的缓冲区。)
下面的 fdisk -l 输出提供了一个分区分配方案:
# fdisk -l /dev/hda # comment /dev/hda1 1 41 309928+ 6 FAT16 # DOS /dev/hda2 42 84 325080 83 Linux # (not used) /dev/hda3 * 85 126 317520 83 Linux # Main /dev/hda4 127 629 3802680 5 Extended /dev/hda5 127 143 128488+ 82 Linux swap /dev/hda6 144 157 105808+ 83 Linux /dev/hda7 158 171 105808+ 83 Linux /dev/hda8 172 253 619888+ 83 Linux /dev/hda9 254 335 619888+ 83 Linux /dev/hda10 336 417 619888+ 83 Linux /dev/hda11 418 629 1602688+ 83 Linux
里面有一个未使用的分区。留作安装第二个 Linux 或为增长的目录树提供扩充余地。
下面的 /etc/fstab
文件可完成上述分区的挂载工作:
# /etc/fstab: 静态的文件系统信息。 # # filesystem mount point type options dump pass /dev/hda3 / ext2 defaults,errors=remount-ro 0 1 /dev/hda5 none swap sw 0 0 proc /proc proc defaults 0 0 /dev/fd0 /floppy auto defaults,user,noauto 0 0 /dev/cdrom /cdrom iso9660 defaults,ro,user,noauto 0 0 # # 各分区保持独立 /dev/hda7 /home ext2 defaults 0 2 /dev/hda8 /var ext2 defaults 0 2 /dev/hda6 /var/lib/cvs ext2 defaults 0 2 # noatime 会提高读取文件时的访问速度 /dev/hda9 /usr ext2 defaults,noatime 0 2 /dev/hda10 /var/cache/apt/archives ext2 defaults 0 2 # 为代理缓存设置的大分区 /dev/hda11 /var/spool/squid ext2 rw 0 2 # 备份、可启动、DOS /dev/hda1 /mnt/dos vfat rw,noauto 0 0 # 作为备份用的可启动的 Linux 系统(未设置) /dev/hda2 /mnt/linux ext2 rw,noauto 0 0 # # nfs 挂载点 mickey:/ /mnt/mickey nfs ro,noauto,intr 0 0 goofy:/ /mnt/goofy nfs ro,noauto,intr 0 0 # minnie:/ /mnt/minnie smbfs ro,soft,intr,credentials={filename} 0 2
对于 NFS,我使用 noauto、intr 以及默认的 hard 项。如果有死连接,挂载进程可能会死掉,可以使用 Ctrl-C 恢复。
对于使用 Samba 连接的 Windows 机器(smbfs),rw,auto,soft,intr 是个好方案,参阅 Samba 设置, 第 3.5 节。
对于软驱,使用 noauto,rw,sync,user,exec 可以防止因退盘前未执行卸载命令而造成文件损坏,但它会降低写盘速度。
自动挂载的要点:
/etc/auto.misc
可使用
-fstype=auto 参数:
# 在试图访问软驱之前 # modprobe vfat ... 或者使这个设置自动完成, # echo "vfat" >> /etc/modules ... 重启系统。
/etc/auto.misc
如下:
floppy -fstype=auto,sync,nodev,nosuid,gid=100,umask=000 :/dev/fd0 ... 此处 gid=100 表示 “users”。
/home/user
中创建链接文件 cdrom
和
floppy
,分别指向 /var/autofs/misc/cdrom
和
/var/autofs/misc/floppy
。
外部 Linux NFS 服务器(goofy)处于防火墙(gateway)之后。在我的 LAN
内部,安全策略非常宽松,因为只有我自己一个用户。为了访问 NFS,NFS
服务器端要按如下方式加上 /etc/exports
:
# /etc/exports: the access control list for filesystems which may be # exported to NFS clients. See exports(5). / (rw,no_root_squash)
除安装和激活 NFS 服务器及客户机的软件包外,这一步对激活 NFS 服务器也是必要的。
为了简洁明了,我通常创建一个单独的 2GB 分区,用它进行实验或玩玩别的 Linux
系统。我有选择的共享了两个系统的 swap 和 /tmp
分区。多分区方案很难满足这种要求。如果只想装一个运行简单控制台模式的系统,分区留
500MB 就绰绰有余了。
下列是有关 DRAM 的简单指导。
4MB: Linux 内核运行的最低配置。 16MB: 控制台系统运行的最低配置。 32MB: 简单 X 系统运行的最低配置。 64MB: GNOME/KDE 系统运行最低配置。 128MB: 流畅运行 GNOME/KDE。 256MB: 如果你银子充裕干嘛不呢?DRAM 很便宜了。
使用启动选项 mem=4m(或lilo append="mem=4m")可以看看只用 4MB 内存时系统如何运行。如果机器的 BIOS 比较旧且内存数大于 64MB 启动时就得加 lilo 启动参数。
我按下面的指导原则来划分 swap 空间:
/etc/fstab
中可使用
sw,pri=1 选项挂载它们。这样可确保内核以 RAID 方式使用 swap
分区,最大限度地发挥 swap 的性能。
尽管你不一定真的需要,但为系统设置多一些 swap 空间(128MB)总要好点,至少运行有内存漏洞的坏程序,系统会先慢下来而不是马上死机。
我按自己的喜好修改 shell 启动脚本:
/etc/bash.bashrc 换成你的喜好 /etc/profile 保持发布版设定 ( \w -> \W) /etc/skel/.bashrc 换成你的喜好 /etc/skel/.profile 换成你的喜好 /etc/skel/.bash_profile 换成你的喜好 ~/.bashrc 换成你的喜好,会改变所有用户的设置 ~/.profile 换成你的喜好,会改变所有用户的设置 ~/.bash_profile 换成你的喜好,会改变所有用户的设置
可以参考我提供的脚本样例
。我喜欢系统看起来清清楚楚,所以将
umask
设为 002 或 022。
PATH
依次由以下配置文件设定:
/etc/login.defs - 在 shell 之前设定 PATH /etc/profile (会调用 /etc/bash.bashrc) ~/.bash_profile (会调用 ~/.bashrc)
对于 ATX 主板上使用 PS/2 接口的鼠标,信号通路如下:
mouse -> /dev/psaux -> gpm -> /dev/gpmdata = /dev/mouse -> X
这里,创建指向 /dev/gpmdata
的符号链接
/dev/mouse
,有助于简化配置操作。(例如,如果你决定不再使用
gpm
服务,只需在删掉 gpm
服务后,将符号链接
/dev/mouse
指向 /dev/psaux
。)
信号通路使得对键盘和鼠标插拔操作,只要重启 gpm
就可以生效,不必重启 X!
处于 gpm
输出与 X
输入之间的信号通路协议有两种执行方式,“ms3”(使用 Microsoft 3-button serial
mouse 协议)和“raw”(对于已连接的鼠标使用相同的协议),此处选择的协议将决定 X
配置中使用的协议。
下面我将示范一下如何配置 Logitech 3-button(传统Unix 风格的鼠标)PS/2 鼠标:
如果新版 X4 不支持你的显卡则需要使用旧版 X3(如某些 ATI 64 位卡),请配置 /etc/X11/XF86Config 而不是 /etc/X11/XF86Config-4,下面的示例中使用的是 X4:
/etc/gpm.conf | /etc/X11/XF86Config-4 =========================+====================================== device=/dev/psaux | Section "InputDevice" responsiveness= | Identifier "Configured Mouse" repeat_type=ms3 | Driver "mouse" type=autops2 | Option "CorePointer" append="" | Option "Device" "/dev/mouse" sample_rate= | Option "Protocol" "IntelliMouse" | EndSection
如果使用这种方式,设置鼠标类型只需编辑 gpm.conf
,X
的设置将保持不变。参阅我的样例脚本
。
/etc/gpm.conf | /etc/X11/XF86Config-4 =========================+====================================== device=/dev/psaux | Section "InputDevice" responsiveness= | Identifier "Configured Mouse" repeat_type=raw | Driver "mouse" type=autops2 | Option "CorePointer" append="" | Option "Device" "/dev/mouse" sample_rate= | Option "Protocol" "MouseManPlusPS/2" | EndSection
如果使用这种方式,设置鼠标类型可编辑 gpm.conf
,同时也会改变 X
的设置。
gpm
的设备类型 autops2 可以自动检测出市面上大多数
PS/2 鼠标。不幸的是它也不是万能的,而且 Woody
之前的发布版中并不包括它,这时可在 gpm.conf
中试试
ps2 或者 imps2。想看看 gpm
支持哪些类型的鼠标可输入:gpm -t help。参阅 gpm(8)
。
如果使用的是 2 键 PS/2 鼠标,可选上 X 协议的 Emulate3Buttons
项。协议中 2 键鼠标和 3
键鼠标的区别在于每次按下中间键时,是自动检测还是自动模拟信号传给
gpm
。
对于在 X 协议使用 raw 协议方式, 第 3.3.1.2 节 或不使用
gpm
,可使用下面的设置:
gpm
转换器使用“ms3”)
更多信息可浏览 Mouse
Support in XFree86
。
典型的 Microsoft 滚轴鼠标,有报导说这样设置最好:
/etc/gpm.conf | /etc/X11/XF86Config-4 =========================+====================================== device=/dev/psaux | Section "InputDevice" responsiveness= | Identifier "Configured Mouse" repeat_type=raw | Driver "mouse" type=autops2 | Option "CorePointer" append="" | Option "Device" "/dev/mouse" sample_rate= | Option "Protocol" "IMPS/2" | Option "Buttons" "5" | Option "ZAxisMapping" "4 5" | EndSection
对于某些最新的 Toshiba 超薄笔记本,在 System-V init 脚本中设置 gpm
先于 PCMCIA 激活可防止系统锁死。听起来古怪不过这是真的。
请确定你设置了所有必须的 kernel 选项,并在编译的时候编入内核或编成模块了:
input.o
),
mousedev.o
),
usbcore.o
),
usb-uhci.o
|| uhci.o
||
usb-ohci.o
),
hid.o
), and
这儿,模块的名称为小写。
如果你没使用 devfs,则需按下面的方法创建一个设备节点
/dev/input/mice
:
# cd /dev # mkdir input # mknod input/mice c 13 63
对于典型的滚轴 USB 鼠标,配置如下:
/etc/gpm.conf | /etc/X11/XF86Config-4 =========================+====================================== device=/dev/input/mice | Section "InputDevice" responsiveness= | Identifier "Generic Mouse" repeat_type=raw | Driver "mouse" type=autops2 | Option "SendCoreEvents" "true" append="" | Option "Device" "/dev/input/mice" sample_rate= | Option "Protocol" "IMPS/2" | Option "Buttons" "5" | Option "ZAxisMapping" "4 5" | EndSection
更多信息可浏览 the Linux USB
Project
。
尽管触摸屏在笔记本电脑上默认是模拟 2 键 PS/2 鼠标的行为,仍可从
tpconfig
软件包获得对这类设备的完全操控。例如在
/etc/default/tpconfig
中设置
OPTIONS="--tapmode=0" 可屏蔽讨厌的“click by
tap”行为。按如下方法设置 /etc/gpm.conf
可以控制台下使用触摸屏和
USB 外接鼠标。
device=/dev/psaux responsiveness= repeat_type=ms3 type=autops2 append="-M -m /dev/input/mice -t autops2" sample_rate=
安装 NFS 要设置/etc/exports
。
# apt-get install nfs-kernel-server # echo "/ *.domainname-for-lan-hosts(rw,no_root_squash,nohide)" \ >> /etc/exports
参考资料:
http://www.samba.org/
samba-doc
package
以“share”方式安装 Samba 比较容易,因为安装过程会创建 WfW-type 共享驱动器。但最好使用“user”模式来配置它。
可以用 debconf
或 vi
来设置 Samba:
# dpkg-reconfigure --priority=low samba # 在 Woody 中 # vi /etc/samba/smb.conf
可通过 smbpasswd
向 smbpasswd
文件添加一个新用户:
$ su -c "smbpasswd -a username"
确保使用的加密密码有恰当的兼容性。
按下表中相应的值设定 os level(数字越大,服务器的优先级越高):
0: Samba with a loose attitude (will never become a master browser) 1: WfW 3.1, Win95, Win98, Win/Me? 16: Win NT WS 3.51 17: Win NT WS 4.0 32: Win NT SVR 3.51 33: Win NT SVR 4.0 255: Samba with mighty power
确认用户是目录所属组的成员,并且对目录赋予了执行权限。
传统打印方法是 lpr
/lpd
。新的 CUPS 系统(Common UNIX
Pinting System)提供了另一方法 PDQ,详情参阅 Linux Printing
HOWTO
。
lpr
/lpd
对于 lpr
/lpd
的打印缓冲池(type
spoolers)(lpr
、lprng
和
gnulpr
),如果它们连接的是 PostScript 或 text-only
打印机(最基本的打印机)可按如下方式设置 /etc/printcap
:
lp|alias:\ :sd=/var/spool/lpd/lp:\ :mx#0:\ :sh:\ :lp=/dev/lp0:
上述各行的意思是:
如果连接的是台 PostScript 打印机,上述设置就够用了。如果是 Windows 机器通过 Samba 打印,上述设置也适用于任何 Windows 支持的打印机(不支持双向通信)。你必须在 Windows 环境中对打印机做相应的配置。
如果你没有 PostScript 打印机,就得用 gs
安装过滤系统。有很多自动配置工具可用于配置
/etc/printcap
,可选择下列任何一组:
gnulpr
、(lpr-ppd
)和 printtool
—
我用这种
lpr
和 apsfilter
lpr
和 magicfilter
lprng
和 lprngtool
lprng
和 apsfilter
lprng
和 magicfilter
想运行 GUI 配置工具如 printtool
,需要 root 权限,参阅 Getting root in X, 第 9.4.12
节。printtool
可创建打印缓冲池,它使用 gs
模拟
PostScript 打印机,所以要使用 PostScript 打印驱动来访问它们。在 Windows
端,“Apple LaserWriter”是标准件。
使用 aptitude
安装 Common UNIX Printing
System(或CUPS™)和所有位于 "Tasks" -> "Servers"
-> "Print Server". (Sarge) 下的软件包。
为了得到最佳的结果,你需要对 aptitude
进行如下的设置:
"F10" -> "Options" -> "Dependency handling"
-> "[X] Install Recommended packages automatically".
KDE 和 Gnome 桌面系统提供了简易的打印机设置。如果安装了
swat
,你也可以用任何一种浏览器来设置。
$ mybrowser http://localhost:631
举个例子,将你的打印机联接到可访问打印机列表中:
更多信息可浏览 http://localhost:631/documentation.html
和 http://www.cups.org/cups-help.html
。
对于 2.4 内核,参见 并行端口支持, 第 7.2.6 节。
到现在,你已经拥有一个小巧但功能颇强的Debian。接下来,可以安装那些较大的软件包了。
tasksel
。参阅安装
tasks, 第 6.2.2 节。
可按需选择:
tasksel
作为安装指导来用,查看 <Task
Info> 了解有关任务的安装列表 然后用 dselect
来选择安装。
dselect
。
在此,你最想做的事就是选择钟爱的编辑器和其它需要的程序。你可以同时安装 Emacs
的多个变种。参阅 dselect
, 第 6.2.4 节
和流行的编辑器, 第 11.1 节。
你也可以将某些默认的软件包替换成特定版本。
我通常编辑 /etc/inittab
来简化关机步骤。
... # What to do when CTRL-ALT-DEL is pressed. ca:12345:ctrlaltdel:/sbin/shutdown -t1 -a -h now ...
在初始安装期间可进行设备驱动模块配置。以后还可使用 modconf
进行配置,它是基于菜单界面的工具,可用来配置那些在初始安装时未曾配置的模块或完成新内核安装后的配置工作。
所有预加载(preloading)模块的名称要加入到 /etc/modules
列表。也可以使用 lsmod
和 depmod
进行手工控制。
对于 2.4 版内核别忘了在 /etc/modules
中加上几行来处理 IP 伪装(FTP
等)。参阅模块化的 2.4 内核, 第
7.2 节,特别是网络功能, 第
7.2.3 节。
对于在 2.4 版内核中使用 IDE 接口的 CD-RW,编辑下列文件:
/etc/lilo.conf (添加 append="hdc=ide-scsi ignore=hdc", 执行 lilo 激活) /dev/cdrom (创建链接 # cd /dev; ln -sf scd0 cdrom) /etc/modules (加入 "ide-scsi"和"sg"。如果需要可再加上"sr"。)
详情参阅 CD writers, 第 9.3 节。
编辑 /etc/lilo.conf
,设置启动提示参数如下,实现识别大内存(适用于
2.2 版内核)和关机自动断电(适用于 APM):
append="mem=128M apm=on apm=power-off noapic"
执行 lilo
完成上述设置。对称多处理器内核(SMP-kernel)需要
apm=power-off,而对我那堆糟糕的 SMP 硬件而言 noapic
也是需要的。系统启动时,在启动提示符后直接输入这些参数效果也一样。参阅Other boot tricks with the boot prompt,
第 8.1.5 节。
在 Debian 的 2.4 版内核中,如果 APM 是作为模块编译的,可在系统启动后运行
# insmod apm power_off=1 或设置 /etc/modules
:
# echo "apm power_off=1" >>/etc/modules
还可以这样:编译新版内核时加入 ACPI 支持可达到同样的效果,而且这种方式更适合 SMP(只有较新的主板才支持 ACPI)。对于较新的主板 2.4 版内核可以直接检测到大内存。
CONFIG_PM=y CONFIG_ACPI=y ... CONFIG_ACPI_BUSMGR=m CONFIG_ACPI_SYS=m
在 /etc/modules
中按如下顺序添加参数:
ospm_busmgr ospm_system
或者重新编译内核,在配置时将上述内核选项均设为“y”。总之,有了 ACPI 支持就不再需要任何启动提示参数。
新的 Linux 内核默认开启 ECN,对于某些使用劣质路由器的站点,会出现无法访问的问题。检查 ECN 状态可使用:
# cat /proc/sys/net/ipv4/tcp_ecn ... 或 # sysctl net.ipv4.tcp_ecn
将它关闭:
# echo "0" > /proc/sys/net/ipv4/tcp_ecn ... 或 # sysctl -w net.ipv4.tcp_ecn=0
每次启动时禁止 TCP ECN,可编辑 /etc/sysctl.conf
,加上:
net.ipv4.tcp_ecn = 0
安装 pppconfig
软件包,设置 PPP 拨号访问。
# apt-get install pppconfig # pppconfig ... 按提示配置 PPP 拨号 # adduser user_name dip ... 允许 user_name 进行 PPP 拨号访问
用户(user_name)进行 PPP 拨号访问:
$ pon ISP_name # 开始 PPP 访问,接通你的 ISP ... enjoy the Internet $ poff ISP_name # 停止 PPP 访问,ISP_name 可选
/etc/
中的其它配置文件
Debian 标准安装不包含 /etc/cron.deny
文件,想添加可拷贝
/etc/at.deny
。
Debian 参考手册
CVS, 星期四 七月 28 02:25:39 UTC 2005osamu@debian.org
iamlyoo@163.net