FreeBSD ²Ù×÷ϵͳÔÚÎÞÔ¶³Ì¿ØÖÆÌ¨ÏµÄÔ¶³Ì°²×°

Daniel Gerzo

$FreeBSD: doc/zh_CN.GB2312/articles/remote-install/article.sgml,v 1.2 2008/09/07 15:19:39 loader Exp $

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

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

¡¡¡¡±¾ÎĹ鵵Á˵±Ô¶³Ì¿ØÖÆÌ¨²»¿ÉÓõÄÇé¿öÏ FreeBSD ²Ù×÷ϵͳµÄÔ¶³Ì°²×°¡£ ÎÄÕ±³ºóµÄÖ÷ÒªÁé¸Ð¹é¹¦ÓÚºÍ Martin Matuska »¹ÓÐÓÉ Pawel Jakub Dawidek ÌṩµÄ±¦¹óÊäÈëºÏ×÷µÄ½á¹û¡£


Ŀ¼
1 ±³¾°
2 ¼ò½é
3 ×¼±¸¹¤×÷ - mfsBSD
4 FreeBSD ²Ù×÷ϵͳµÄ°²×°
5 ZFS

1 ±³¾°

¡¡¡¡ÊÀ½çÉÏÓкܶàµÄ·þÎñÆ÷Ö÷»ú¹©Ó¦ÉÌ£¬ µ«ÊÇËûÃÇÖÐÖ»ÓкÜÉÙµÄÒ»²¿·ÖÕýʽ֧³Ö FreeBSD£¬ ËûÃÇͨ³£ÎªËûÃÇÌṩµÄ·þÎñÆ÷Éϰ²×° Linux® ·¢ÐаæÌṩ֧³Ö¡£

¡¡¡¡ÔÚijЩÇé¿öÏ£¬Èç¹ûÄãÇëÇóÕâЩ¹«Ë¾ËûÃǻᰲװһ¸öÄãÊ×Ñ¡µÄ Linux ·¢Ðа档ÓÐÁËÕâ¸öÑ¡Ôñ£¬ÎÒÃǽ«ÊÔͼ°²×° FreeBSD¡£ ÔÚÆäËûÇé¿öÏ£¬ËûÃÇ¿ÉÄÜÌṩһ¸ö¼±¾ÈϵͳÓÃÓÚ½ô¼±Çé¿ö¡£ ʹÓÃÕâ¸ö¿ÉÄܽ«ÓÐÀûÓÚÎÒÃǵÄÄ¿µÄ¸üºÃµÄʵÏÖ¡£

¡¡¡¡±¾Îĺ­¸ÇÁËÒýµ¼Ò»¸ö°üº¬ RAID-1 ¼° ZFS ÐÔÄÜµÄ FreeBSD ϵͳµÄÔ¶³Ì°²×°µÄ»ù±¾°²×°ÅäÖÃËù±ØÐëµÄ²½Öè¡£


2 ¼ò½é

¡¡¡¡ÕâÒ»½Ú»áÕªÒª±¾ÎĵÄÄ¿µÄÒÔ¼°¸üºÃ²ûÊöÕâÀïËù¸ÅÀ¨µÄ¶«Î÷¡£ ±¾ÎÄÖеÄÕâЩָÁÓÐÒæÓÚÄÇЩʹÓò»Ö§³Ö FreeBSD µÄÍйÜÉèÊ©ÌṩµÄ·þÎñµÄÈË¡£

  1. ÈçÎÒÃÇÌáµ½¹ýµÄ ±³¾° µÄÄÇÒ»½Ú£¬Ðí¶àµÄÓÐÉùÍûµÄ·þÎñÆ÷Ö÷»úÍйܹ«Ë¾ÌṩÁ˸÷Öֵļ±¾Èϵͳ¡£ ¿ÉÒÔ´ÓËûÃÇ×Ô¼ºµÄ ¾ÖÓòÍø Æô¶¯²¢¿ÉÒÔͨ¹ý SSH ·ÃÎÊ¡£ ËûÃÇͨ³£ÌṩÕâÖÖÖ§³ÖÄ¿µÄÓÃÓÚ°ïÖúËûÃǵĹ˿ÍÐÞÕýË𻵵IJÙ×÷ϵͳ¡£ ÈçÎÄÕ½«ËµÃ÷µÄ£¬ÎÒÃǽ«Äܹ»Í¨¹ýÕâЩ¼±¾ÈϵͳµÄ°ïÖúÀ´°²×° FreeBSD¡£

  2. ÎÄÕµÄÏÂһС½Ú»áÃèÊöÈçºÎÅäÖ㬲¢ÔÚ±¾µØ»úÆ÷ÉϹ¹½¨×îСÏÞ¶ÈµÄ FreeBSD¡£¸Ã°æ±¾×îÖÕ»á´ÓËæ»ú´æ´¢ÅÌÔËÐе½Ô¶³Ì»úÆ÷ÉÏÃæÈ¥¡£ Õ⽫ÔÊÐíÎÒÃÇʹÓà sysinstall ʵÓóÌÐò´ÓÒ»¸ö FTP ¾µÏñ°²×°Ò»Ì×ÍêÕûµÄ FreeBSD ²Ù×÷ϵͳ¡£

  3. ÎÄÕµÄÊ£ÓàÄÚÈݳýÁËÃèÊö ZFS ÎļþϵͳµÄÅäÖû¹½«ÃèÊöϵͳ±¾ÉíµÄ°²×°²½Öè¡£


2.1 ÐèÇó

¡¡¡¡ÏëÒª³É¹¦µØ×öÏÂÈ¥£¬Äã±ØÐ룺

  • ÓµÓÐÒ»¸ö¿Éͨ¹ý SSH ÍøÂç·ÃÎʵIJÙ×÷ϵͳ¡£

  • Àí½â FreeBSD µÄ°²×°¹ý³Ì

  • ÊìϤ sysinstall(8) ʵÓóÌÐò

  • ÓµÓÐ FreeBSD °²ÕÅµÄ ISO ¾µÏñÎļþ»òÕßÒ×ÓÚʹÓÃµÄ CD


3 ×¼±¸¹¤×÷ - mfsBSD

¡¡¡¡ÔÚ FreeBSD ¿ÉÄܰ²×°µ½Ä¿±êϵͳÉÏ֮ǰ£¬ ÐèÒªÏȹ¹½¨Ò»¸ö×îС»¯µÄ´Ó´ÅÅÌÆô¶¯µÄ FreeBSD ²Ù×÷ϵͳӳÏñÎļþ¡£ ´Ë·½·¨ÖÐÐÂϵͳ±ØÐëÄܹ»´ÓÍøÂç·ÃÎÊ£¬ ²¢ÇÒ°²×°µÄÆäËû¹ý³ÌÄܹ»ÔÚûÓÐÔ¶³Ì·ÃÎʵ½ÏµÍ³¿ØÖÆÌ¨µÄÇé¿öÏÂÍê³É¡£

¡¡¡¡mfsBSD ÉèÖù¤¾ßÄܹ»±»ÓÃÀ´¹¹½¨Ò»¸ö΢СµÄ FreeBSD Ó³Ïñ¡£Èç mfsBSD Ãû×ֵĺ¬Òå (¡°mfs¡± µÄÒâ˼ÊÇ ¡°memory file system¡± ÄÚ´æÎļþϵͳ)£¬ ×îºóµÄÓ³ÏñÈ«²¿´ÓËæ»ú´æ´¢Æ÷ÔËÐС£¶à¿÷ÁËÕâ¸öÌØÐÔ£¬ ´ÅÅ̵IJÙ×÷½«²»»áÓÐÈκÎÏÞÖÆ£¬Òò´ËËüÄܹ»±»ÓÃÀ´°²×°Ò»¸öÍêÕûµÄ FreeBSD ²Ù×÷ϵͳ¡£ mfsBSD µÄÖ÷Ò³ÔÚ http://people.freebsd.org/~mm/mfsbsd/£¬ °üº¬ÁËÖ¸Ïò×îÐÂÊͳöµÄÉèÖù¤¾ß¡£

¡¡¡¡Çë×¢Òâ¹ØÓÚ mfsBSD ÄÚÄ»ÒÔ¼°ËüËùÓеÄÊÊÓö¼³¬³öÁ˱¾ÎĵÄÄÚÈÝ£¬ ¸ÐÐËȤµÄ¶ÁÕßÓ¦¸ÃÈ¥²éÔÄ mfs µÄԭʼÎĵµµÃµ½¸ü¶àÏêϸÄÚÈÝ¡£

¡¡¡¡ÏÂÔØ²¢½âѹ³ö×îÐ嵀 mfsBSD °æ±¾£¬²¢¸Ä±ä×Ô¼ºµÄµ±Ç°¹¤×÷Ŀ¼µ½´æÔÚ mfsBSD ½Å±¾ÎļþµÄĿ¼£º

# fetch http://people.freebsd.org/~mm/mfsbsd/mfsbsd-latest.tar.gz
# tar xvzf mfsbsd-1.0-beta1.tar.gz
# cd mfsbsd-1.0-beta1/

3.1 mfsBSD µÄÅäÖÃ

¡¡¡¡Òýµ¼ mfsBSD ֮ǰ£¬ ±ØÐëÉèÖÃÒ»Ð©ÖØÒªµÄÅäÖÃÑ¡Ïî¡£ ×îÖØÒªµÄÊÇÎÒÃDZØÐëÓÐÕýÈ·µØ£¬×ÔÈ»µØ£¬ÍøÂçÅäÖᣠ×îÊʺϵķ½·¨ÅäÖÃÍøÂçÑ¡ÏîÈ¡¾öÓÚÎÒÃÇÊÇ·ñÊÂÏÈÖªµÀÎÒÃÇ»áÓõ½µÄÍøÂç½Ó¿Ú£¬ ¶øÇÒÍøÂç½Ó¿ÚÇý¶¯³ÌÐòÓ¦±»ÏµÍ³ÎªÎÒÃǵÄÓ²¼þÔØÈë¡£ ÎÒÃǽ«¿´µ½ mfsBSD ÈçºÎÄܹ»ÔÚÈÎÒ»ÖÖÇé¿öϱ»ÅäÖá£

¡¡¡¡ÁíÍâÒ»¼þÖØÒªµÄÊÂÇéÊÇÉèÖà root µÄÃÜÂë¡£ Õ⽫ͨ¹ý±à¼­ conf/rootpw.conf ÎļþÀ´Íê³É¡£ Çë¼Çס¸ÃÎļþ½«°ÑÄãµÄÃÜÂë±£´æÔÚ¼òµ¥µÄÎı¾ÖУ¬ ËùÒÔÔÚ´ËÎÒÃDz»ÍƼöÄãʹÓÃÕæÊµµÄÃÜÂ롣Ȼ¶ø£¬ ÕâÖ»ÊÇÒ»¸öÁÙʱʹÓÃÒ»´ÎµÄÃÜÂ룬Äã¿ÉÒÔÔÚËæºó°²×°ºÃµÄϵͳÖиü¸ÄËü¡£


3.1.1 ±à¼­ conf/interfaces.conf µÄ·½·¨

¡¡¡¡Èç¹ûÎÒÃǰ²×°ºÃµÄÍø¿¨ÊÇδ֪ÀàÐ͵ģ¬ ÎÒÃÇ¿ÉÒÔʹÓà mfsBSD µÄ×Ô¶¯Ì½²â¹¦ÄÜ¡£ mfsBSD Æô¶¯½Å±¾Äܹ»Ì½²âµ½ÕýÈ·µÄÇý¶¯À´Ê¹Ó㬠»ùÓÚÍøÂç½Ó¿ÚµÄ MAC µØÖ·£¬ÎÒÃǼÙÉèÔÚ conf/interfaces.conf ÎļþÖÐÉèÖÃÈçÏÂÑ¡Ï

initconf_interfaces="ext1"
initconf_mac_ext1="00:00:00:00:00:00"
initconf_ip_ext1="192.168.0.2"
initconf_netmask_ext1="255.255.255.0"

¡¡¡¡±ðÍüÁËÌí¼Ó defaultrouter ÐÅÏ¢µ½ conf/rc.conf ÎļþÖУº

defaultrouter="192.168.0.1"

3.1.2 ±à¼­ conf/rc.conf µÄ·½·¨

¡¡¡¡µ±ÍøÂç½Ó¿ÚµÄÇý¶¯ÊÇÒÑÖªÀàÐ͵ģ¬Ê¹Óà conf/rc.conf ÎļþÌí¼ÓÁªÍøÑ¡Ïî»á¸ü¼Ó·½±ã¡£ ¸ÃÎļþµÄÓï·¨¸ú FreeBSD Öбê×¼µÄ rc.conf(5) ÎļþµÄÓï·¨Ïàͬ¡£

¡¡¡¡ÀýÈ磬µ±ÄãÖªµÀ±»Ê¹ÓõĽ«ÊÇÒ»¸ö re(4) ÍøÂç½Ó¿ÚÉ豸£¬ Äã¿ÉÒÔÔÚ conf/rc.conf ÎļþÖÐÉèÖÃÈçÏÂÑ¡Ï

defaultrouter="192.168.0.1"
ifconfig_re0="inet 192.168.0.2 netmask 255.255.255.0"

3.2 ¹¹½¨Ò»¸ö mfsBSD Ó³Ïñ

¡¡¡¡¹¹½¨Ò»¸ö mfsBSD Ó³ÏñÎļþµÄ¹ý³ÌÊǷdz£¼òµ¥Ã÷Á˵ġ£

¡¡¡¡µÚÒ»²½ÊǹÒÔØ FreeBSD µÄ°²×° CD£¬ »òÕß¹ÒÔØ°²×° ISO Îļþµ½ /cdrom¡£ ÒòΪÀý×ÓµÄÔµ¹Ê£¬ÔÚÎÄÕÂÖÐÎÒÃǽ«¼Ù¶¨ÄãÏÂÔØµÄÊÇ FreeBSD 7.0-RELEASE ISO Îļþ¡£Ê¹Óà mdconfig(8) ʵÓóÌÐò¹ÒÔØ ISO Ó³ÏñÎļþµ½ /cdrom Ŀ¼·Ç³£¼òµ¥£º

# mdconfig -a -t vnode -u 10 -f 7.0-RELEASE-amd64-disc1.iso
# mount_cd9660 /dev/md10 /cdrom

¡¡¡¡½ô½Ó×Å£¬¹¹½¨¿ÉÆô¶¯µÄ mfsBSD Ó³Ïñ£º

# make BASE=/cdrom/7.0-RELEASE

×¢Òâ: ÉÏÃæµÄ make ÃüÁî±ØÐëÔÚ mfsBSD Ŀ¼Ê÷µÄ×î¸ßÒ»²ãÔËÐУ¬Ò²¾ÍÊÇ£º ~/mfsbsd-1.0-beta1/¡£


3.3 Æô¶¯ mfsBSD

¡¡¡¡ÏÖÔÚ mfsBSD Ó³ÏñÒѾ­×¼±¸ºÃÁË£¬ ±ØÐë°ÑËüÉÏ´«µ½Ô¶³ÌµÄÒ»¸öÕýÔÚÔËÐеļ±¾ÈϵͳÉÏ»òÕßÒ»¸öÔ¤°²×°ÁË Linux ·¢ÐаæµÄϵͳÉÏ¡£×îÊʺÏ×öÕâ¸ö¹¤×÷µÄ¹¤¾ßÊÇ scp£º

# scp disk.img root@192.168.0.2:.

¡¡¡¡ÏëÒªÕýÈ·µÄÒýµ¼ mfsBSD Ó³Ïñ£¬ ±ØÐë°ÑËü°²·ÅÔÚ»úÆ÷µÄµÚÒ»¿é£¨¿ÉÆô¶¯£©É豸ÉÏ¡£ Õâ¿ÉÄÜ»áºÍʹÓõÄÀý×ÓÎÒÃǼٶ¨µÄÒ»Ñù£¬µÚÒ»¿é¿ÉÆô¶¯´ÅÅÌÉ豸ÊÇ sda£º

# dd if=/root/disk.img of=/dev/sda bs=1m

¡¡¡¡Èç¹ûÒ»ÇÐÕý³££¬¸ÃÓ³ÏñÏÖÔÚÓ¦¸Ã´æÔÚÓÚµÚÒ»¿éÉ豸µÄ MBR£¨Ö÷Òýµ¼Çø£©¶ø»úÆ÷Ò²Ó¦¸ÃÄܹ»±»Æô¶¯ÁË¡£ ʹÓù¤¾ß ping(8) À´²é¿´»úÆ÷ÊÇ·ñ±»ÕýÈ·Æô¶¯¡£ Ò»µ©Ëü»Ø¸´ÔÚÏß״̬£¬¾ÍÓ¦¸ÃÄܹ»Ê¹Óà root Óû§ºÍÅäÖúõÄÃÜÂëͨ¹ý ssh(1) À´·ÃÎÊËüÁË¡£


4 FreeBSD ²Ù×÷ϵͳµÄ°²×°

¡¡¡¡mfsBSD ³É¹¦±»Òýµ¼ºóËü¾ÍÓ¦¸ÃÄܹ»Í¨¹ý ssh(1) µÇÈëÁË¡£ÕâÒ»½Ú»áÃèÊöÈçºÎ´´½¨ slices ²¢±ê¼Ç slices µÄ label£¬ Ϊ RAID-1 ÅäÖà gmirror£¬ »¹ÓÐÈçºÎʹÓà sysinstall À´°²×°Ò»¸ö×îСµÄFreeBSD²Ù×÷ϵͳ°æ±¾¡£


4.1 ×¼±¸´ÅÅÌ

¡¡¡¡Ê×ÒªµÄÈÎÎñÊÇΪ FreeBSD ·ÖÅä´ÅÅ̿ռ䣬Ҳ¾ÍÊÇ£¬ ´´½¨ slices ºÍ partitions¡£ºÜÏÔÈ»£¬ µ±Ç°ÔËÐеÄϵͳÊÇÈ«²¿±»ÔØÈ뵽ϵͳÄÚ´æÖеÄÒò´Ë²Ù×÷´ÅÅ̽«Ã»ÓÐÈκÎÎÊÌâ¡£ ÒªÍê³ÉÕâ¸öÈÎÎñ£¬¿ÉÒÔÊÇʹÓà sysinstall »òÕß fdisk(8) ÖеĶþÕßÈÎÒ»²¢½áºÏ¹¤¾ß bsdlabel(8)¡£

¡¡¡¡ÔÚ¿ªÊ¼Ê±£¬½«ËùÓдÅÅ̶¼±ê¼Ç³É¿ÕµÄ£¬ ÔÚÿ¸ö´ÅÅÌÉÏÖØ¸´ÈçÏÂÃüÁ

# dd if=/dev/zero of=/dev/ad0 count=2

¡¡¡¡ÏÂÃæ£¬Ê¹ÓÃÄãϲ»¶µÄ¹¤¾ß´´½¨ slices ²¢±ê¼Ç´ÅÅÌ label¡£ ±È½Ï¼òµ¥µÄ·½·¨ÊÇʹÓà sysinstall£¬ Ç¿´óÒ²¿ÉÄܼ¸ºõûÓЩ¶´·½·¨ÊÇʹÓñê×¼µÄ»ùÓÚÎı¾µÄ UNIX® ¹¤¾ß£¬ ÀàËÆÓÚ fdisk(8) ºÍ bsdlabel(8) ÕâЩ¹¤¾ßµÄʹÓÃÒ²»áÔÚÕâÒ»½ÚÖаüÀ¨¡£Ç°ÕßÒѾ­±»°üÀ¨ÔÚ FreeBSD ÊÖ²áµÄ °²×°FreeBSD Ò»ÕÂÖÐÁË¡£Èç±¾½ÚÖиÕÌáµ½µÄ£¬ÕâÆªÎÄÕ»áչʾÈçºÎÉèÖÃÒ»¸ö´øÓÐ RAID-1 ºÍ ZFS ÐÔÄܵÄϵͳ¡£ÎÒÃǵÄÉèÖÃÓÉÒ»¸öС¹¤¾ß gmirror(8) ¾µÏñΪ / (root)£¬ /usr ºÍ /var Îļþϵͳ£¬ ²¢°ÑÊ£ÓàµÄ´ÅÅ̿ռ䱻·ÖÅäΪ zpool(8) ¾µÏñ³öµÄ ZFS Îļþϵͳ¡£Çë×¢Ò⣬ ZFS Îļþϵͳ½«ÔÚ FreeBSD ²Ù×÷ϵͳ³É¹¦°²×°²¢Æô¶¯ºó²Å»á±»ÅäÖá£

¡¡¡¡ÏÂÃæµÄÀý×Ó»áÃèÊöÈçºÎÈ¥´´½¨ slices ºÍ labels£¬ ÔÚÿ¸ö partition Éϳõʼ»¯ gmirror(8) ²¢ÈçºÎÔÚÿ¸ö±»¾µÏñ¹ýµÄ partition ÉÏ´´½¨ UFS2 Îļþϵͳ£º

# fdisk -BI /dev/ad0 (1)
# fdisk -BI /dev/ad1
# bsdlabel -wB /dev/ad0s1 (2)
# bsdlabel -wB /dev/ad1s1
# bsdlabel -e /dev/ad0s1 (3)
# bsdlabel /dev/ad0s1 > /tmp/bsdlabel.txt && bsdlabel -R /dev/ad1s1 /tmp/bsdlabel.txt (4)
# gmirror label root /dev/ad[01]s1a (5)
# gmirror label var /dev/ad[01]s1d
# gmirror label usr /dev/ad[01]s1e
# gmirror label -F swap /dev/ad[01]s1b (6)
# newfs /dev/mirror/root (7)
# newfs /dev/mirror/var
# newfs /dev/mirror/usr
(1)
ÔÚÕû¸ö´ÅÅÌÉÏ´´½¨Ò»¸ö slice ²¢³õʼ»¯°üº¬ÔÚ´ÅÅ̵ÚÒ»¸öÉÈÇøÆô¶¯´úÂë¡£ ÖØ¸´ÔÚϵͳÉÏÈ«²¿µÄ´ÅÅÌÉÏÖ´ÐдËÃüÁî¡£
(2)
Ϊÿ¿é´ÅÅÌдÈëÒ»¸ö°üÀ¨Æô¶¯´úÂëµÄÄÚÈݵıê×¼ label¡£
(3)
ÏÖÔÚ£¬ÊÖ¶¯È¥±à¼­´ÅÅÌµÄ label¡£¿ÉÒÔ²éÔÄ bsdlabel(8) µÄÁª»úÊÖ²áÀ´ÕÒµ½ÈçºÎ½¨Á¢ partitions µÄ·½·¨¡£´´½¨ÈçÏ partions£¬a Ϊ / (root) Îļþϵͳ£¬ b Ϊ swap ½»»»¿Õ¼ä£¬ d Ϊ /usr »¹ÓÐ×îºó f ±»ÓÃÓÚ ZFS¡£
(4)
ÒýÈëÄã¸Õ²Å´´½¨µÄ label µ½µÚ¶þ¿é´ÅÅÌ£¬ ËùÒÔÁ½¿é´ÅÅÌ»áʹÓÃͬÑùµÄ label¡£
(5)
ÔÚÿ¸ö partition Éϳõʼ»¯ gmirror(8)¡£
(6)
×¢Òâ -F Ñ¡Ïî±»ÓÃÔÚ swap ½»»»·ÖÇøµÄ partition¡£ gmirror(8) Õâ¸öÖ¸ÁîÈÏΪÉ豸´¦ÓÚ¿É¿¿µÄ״̬³ý·ÇµçԴϵͳ¹ÊÕÏ¡£
(7)
ÔÚÿ¸ö±»¾µÏñµÄ·ÖÇøÉÏ´´½¨Ò»¸ö UFS2 µÄÎļþϵͳ¡£

4.2 ϵͳ°²×°

¡¡¡¡ÕâÊÇ×îÖØÒªµÄÒ»²¿·Ö¡£ ´Ë½Ú½«ÃèÊöÈçºÎÔÚÎÒÃÇÉÏһС½ÚÒѾ­×¼±¸ºÃµÄ´ÅÅÌÉϰ²×°Ò»¸ö×îСµÄ FreeBSD °æ±¾¡£Òª´ï³ÉÕâ¸öÄ¿µÄ£¬ËùÓеÄÎļþ°²ÏµÍ³ÐèÒª±»¹ÒÔØÄËÖÁÓÚ sysinstall ¿ÉÒÔ°Ñ FreeBSD ϵͳµÄÄÚÈÝдµ½´ÅÅÌÉÏ£º

# mount /dev/mirror/root /mnt
# mkdir /mnt/var /mnt/usr
# mount /dev/mirror/var /mnt/var
# mount /dev/mirror/usr /mnt/usr

¡¡¡¡µ±Äã×öÍêÕâЩʱ£¬´ò¿ª sysinstall(8)¡£ ´ÓÖ÷²Ëµ¥Ñ¡Ôñ×Ô¶¨Òå Custom °²×°¡£ Ñ¡ÖÐ Options Ñ¡ÏîÈ»ºó°´»Ø³µÈ·ÈÏ¡£ ʹÓ÷½Ïò¼ü»ñÈ¡°ïÖú£¬Òƶ¯Êó±êÖ¸Õëµ½ Install Root Ñ¡Ï°´ ¿Õ¸ñ ¸ü¸ÄΪ /mnt¡£ °´ »Ø³µ Ìá½»ÄãµÄ¸ü¸Ä²¢Ê¹Óà q Í˳ö Options £¨Ñ¡Ï²Ëµ¥¡£

¾¯¸æ: ×¢ÒâÕâÒ»²½Öè·Ç³£ÖØÒª£¬Èç¹û±»Ìø¹ýÁË£¬ sysinstall ½«²»Äܰ²×° FreeBSD¡£

¡¡¡¡µ½ Distributions£¨·¢Ðа棩²Ëµ¥Ñ¡Ï ʹÓ÷½Ïò¼üÒÆ¶¯Êó±êÖ¸Õëµ½ Minimal£¨×îС»¯£©Ñ¡Ï ²¢Ê¹Óà ¿Õ¸ñ¼ü Ñ¡ÖиÃÑ¡Ïî¡£ ±¾ÎÄʹÓÃÁË×îС°æ±¾À´±£´æÍøÂçÁªÍ¨ÐÅÏ¢£¬ÒòΪϵͳ±¾Éí»áͨ¹ý ftp À´°²×°¡£Ê¹Óà Exit£¨Í˳ö£©Ñ¡ÏîÍ˳öÕâ¸ö²Ëµ¥¡£

×¢Òâ: Partition ºÍ Label ²Ëµ¥½«±»Ìø¹ý£¬ ÕâЩûÓжàÉÙ¼ÛÖµÁË¡£

¡¡¡¡Media£¨Ã½½é£©²Ëµ¥£¬ Ñ¡Ôñ FTP Ñ¡Ïî¡£ Ñ¡ÔñÒ»¸ö¾àÀëÄã×î½üµÄ¾µÏñÕ¾µã²¢½»¸ø sysinstall ¼Ù¶¨ÍøÂçÒѾ­ÅäÖÃÍêºÃ¡£Ä㽫Ôٻص½ Custom £¨×Ô¶¨Ò壩²Ëµ¥¡£

¡¡¡¡×îºó£¬Ñ¡Ôñ×îºóµÄÑ¡ÏîÀ´Ö´ÐÐϵͳµÄ°²×°¹ý³Ì£¬ Commit£¬ µ±°²×°Íê³ÉºóÍ˳ö sysinstall ¼´¿É¡£


4.3 ºóÆÚ°²×°²½Öè

¡¡¡¡FreeBSD ²Ù×÷ϵͳÏÖÔÚÓ¦¸Ã°²×°Íê±ÏÁË£»Í¨³£Çé¿öÏ£¬ °²×°¹ý³Ì»¹Ã»ÓнáÊø¡£»¹ÐèÒª½øÐÐһЩ°²×°ºóÆÚµÄ²½ÖèʹµÃÈÝÐí FreeBSD ÔÚ½«À´Æô¶¯²¢Äܹ»µÇÈëϵͳ¡£

¡¡¡¡ÄãÏÖÔÚ±ØÐë chroot(8) µ½¸Õ°²×°µÄȫеÄϵͳÖÐÀ´Íê³É°²×°¡£ ʹÓÃÈçÏÂÃüÁ

# chroot /mnt

¡¡¡¡Òª´ïµ½ÎÒÃǵÄÄ¿µÄ£¬½øÐÐÈçϲ½Ö裺

  • ¿½±´ GENERIC£¨Í¨Óã©Äں˵½ /boot/kernel Ŀ¼£º

    # cp -Rp /boot/GENERIC/* /boot/kernel
    
  • ´´½¨ /etc/rc.conf£¬ /etc/resolv.conf »¹ÓÐ /etc/fstab Îļþ¡£ ²»ÒªÍü¼ÇÕýÈ·µØÉèÖÃÍøÂçÐÅÏ¢²¢ÔÚ /etc/rc.conf ÎļþÖÐÆôÓà sshd¡£ /etc/fstab ÎļþÄÚÈÝÀàËÆÓÚÏÂÃæµÄÄÚÈÝ£º

    # Device                Mountpoint      FStype  Options         Dump    Pass#
    /dev/mirror/swap        none            swap    sw              0       0
    /dev/mirror/root        /               ufs     rw              1       1
    /dev/mirror/usr         /usr            ufs     rw              2       2
    /dev/mirror/var         /var            ufs     rw              2       2
    /dev/cd0                /cdrom          cd9660  ro,noauto       0       0
    
  • ´´½¨ /boot/loader.conf Îļþ£¬²¢Ð´ÈëÈçÏÂÄÚÈÝ£º

    geom_mirror_load="YES"
    zfs_load="YES"
    
  • Ö´ÐÐÏÂÃæµÄÃüÁʹµÃ ZFS ÔÚÏÂ´ÎÆô¶¯ºó¿ÉÓãº

    # echo 'zfs_enable="YES"' >> /etc/rc.conf 
    
  • ¿ÉÒÔÓà adduser(8) ¹¤¾ßÀ´Ìí¼Ó¶îÍâµÄÓû§¡£ ²»ÒªÍü¼ÇÌí¼ÓÒ»¸öÓû§µ½ wheel ×飬ÕâÑùÄã¿ÉÒÔÔÚÖØÐÂÆô¶¯ºó»ñµÃ root ȨÏÞ¡£

  • ·´¸´¼ìÑéÄãµÄÉèÖÃÊÇ·ñÕýÈ·¡£

¡¡¡¡ÏÖÔÚÄãµÄϵͳÔÚÏÂ´ÎÆô¶¯ºóÓ¦¸Ã¿ÉÓÃÁË¡£Ê¹Óà reboot(8) ÃüÁîÖØÐÂÆô¶¯ÄãµÄϵͳ¡£


5 ZFS

¡¡¡¡Èç¹ûÄãµÄÏµÍ³ÖØÐÂÆô¶¯ºó»¹ÍêºÃ£¬ÏÖÔÚÓ¦¸ÃÄܹ»µÇÈëÁË¡£ »¶Ó­À´µ½Õ¸Ð嵀 FreeBSD °²×°£¬½øÐÐÔ¶³ÌµÄ²»Ê¹ÓÃÔ¶³Ì¿ØÖÆÌ¨µÄ°²×°¡£

¡¡¡¡×îºó»¹Ê£ÏµIJ½ÖèÊÇÅäÖà zpool(8) ²¢´´½¨Ò»Ð© zfs(8) Îļþϵͳ¡£½¨Á¢²¢¹ÜÀí ZFS ·Ç³£¼òµ¥¡£ Ê×ÏÈ£¬´´½¨Ò»¸ö¾µÏñµÄpool£º

# zpool create tank mirror /dev/ad[01]s1f

¡¡¡¡ÔÙ½Ó×Å,´´½¨Ò»Ð©Îļþϵͳ£º

# zfs create tank/ports
# zfs create tank/src
# zfs set compression=gzip tank/ports
# zfs set compression=on tank/src
# zfs set mountpoint=/usr/ports tank/ports
# zfs set mountpoint=/usr/src tank/src

¡¡¡¡Õâ¾ÍÊÇÈ«²¿²½ÖèÁË¡£Èç¹ûÄã¶Ô FreeBSD É쵀 ZFS ¸ÐÐËȤ£¬Çë²éÔÄ FreeBSD WIKI ÖÐµÄ ZFS Ò»½Ú¡£


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

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