19.6 Ϊ´ÅÅÌÉ豸Ìí¼Ó¾í±ê

¡¡¡¡ÔÚϵͳ³õʼ»¯µÄ¹ý³ÌÖУ¬ FreeBSD Äں˻áΪ¼ì²âµ½µÄÉ豸´´½¨É豸½Úµã¡£ ÕâÖÖ¼ì²â·½Ê½´æÔÚһЩÎÊÌ⣬ ÀýÈ磬 ÔÚͨ¹ý USB Ìí¼ÓÉ豸ʱӦÈçºÎ´¦Àí£¿ ºÜ¿ÉÄÜÓÐÉÁ´æÅÌÉ豸×î³õ±»Ê¶±ðΪ da0 ¶øÔÚÕâÖ®ºó£¬ ÔòÓÉ da0 ±ä³ÉÁË da1¡£ ¶øÕâÔò»áÔÚ¹Ò½Ó /etc/fstab ÖеÄÎļþϵͳʱÔì³ÉÎÊÌ⣬ ÕâЩÎÊÌ⣬ »¹¿ÉÄÜÔÚϵͳÒýµ¼Ê±µ¼ÖÂÎÞ·¨Õý³£Æô¶¯¡£

¡¡¡¡½â¾öÕâ¸öÎÊÌâµÄÒ»¸ö·½·¨ÊÇÒÔÁ¬½ÓÍØÆË·½Ê½Á´Ê½µØ½øÐÐ SCSI É豸ÃüÃû£¬ ÕâÑù£¬ µ±ÔÚ SCSI ¿¨ÉÏÔö¼ÓÐÂÉ豸ʱ£¬ ÕâЩÉ豸½«Ê¹ÓÃÒ»¸öδÓõıàºÅ¡£ µ«Èç¹û USB É豸ȡ´úÁËÖ÷ SCSI ´ÅÅ̵ÄλÖÃÄØ£¿ ÓÉÓÚ USB ͨ³£»áÔÚ SCSI ¿¨Ö®Ç°¼ì²âµ½£¬ Òò´ËºÜ¿ÉÄܳöÏÖÕâÖÖÏÖÏó¡£ µ±È»£¬ ¿ÉÒÔͨ¹ýÔÚϵͳÒýµ¼Ö®ºóÔÙ²åÈëÕâЩÉ豸À´ÈƹýÕâ¸öÎÊÌâ¡£ ÁíÒ»ÖÖÈÆ¹ýÕâ¸öÎÊÌâµÄ·½·¨£¬ ÔòÊÇֻʹÓà ATA Çý¶¯Æ÷£¬ ²¢±ÜÃâÔÚ /etc/fstab ÖÐÁгö SCSI É豸¡£

¡¡¡¡»¹ÓÐÒ»ÖÖ¸üºÃµÄ½â¾ö·½·¨¡£ ͨ¹ýʹÓà glabel ¹¤¾ß£¬ ¹ÜÀíÔ±»òÓû§¿ÉÒÔΪ´ÅÅÌÉ豸´òÉϱêÇ©£¬ ²¢ÔÚ /etc/fstab ÖÐʹÓÃÕâЩ±êÇ©¡£ ÓÉÓÚ glabel »á½«±êÇ©±£´æÔÚ¶ÔÓ¦ provider µÄ×îºóÒ»¸öÉÈÇø£¬ ÔÚÏµÍ³ÖØÆôÖ®ºó£¬ ËüÈÔ»á³ÖÐø´æÔÚ¡£ Òò´Ë£¬ ͨ¹ý½«¾ßÌåµÄÉè±¸Ìæ»»ÎªÊ¹ÓñêÇ©±íʾ£¬ ÎÞÂÛÉ豸½Úµã±ä³Éʲô£¬ Îļþϵͳ¶¼Äܹ»Ë³ÀûµØÍê³É¹Ò½Ó¡£

×¢Òâ: Õâ²¢²»ÊÇ˵±êǩһ¶¨ÊÇÓÀ¾ÃÐԵġ£ glabel ¹¤¾ß¼È¿ÉÒÔ´´½¨ÓÀ¾ÃÐÔ±êÇ©£¬ Ò²¿ÉÒÔ´´½¨ÁÙʱÐÔ±êÇ©¡£ ÔÚÖØÆôʱ£¬ Ö»ÓÐÓÀ¾ÃÐÔ±êÇ©»á±£³Ö¡£ Çë²Î¼ûÁª»úÊÖ²á glabel(8) ÒÔÁ˽âÁ½ÕßÖ®¼äµÄ²îÒì¡£

19.6.1 ±êÇ©ÀàÐͺÍʹÓÃʾ·¶

¡¡¡¡ÓÐÁ½ÖÖÀàÐ͵ıêÇ©£¬ Ò»ÖÖÊÇÆÕͨ±êÇ©£¬ ÁíÒ»ÖÖÊÇÎļþϵͳ±êÇ©¡£ ±êÇ©¿ÉÒÔÊÇÓÀ¾ÃÐԵĻòÔÝʱÐԵġ£ÓÀ¾ÃÐԵıêÇ©¿ÉÒÔͨ¹ý tunefs(8) »ò newfs(8) ÃüÁî´´¼ü¡£¸ù¾ÝÎļþϵͳµÄÀàÐÍ£¬ ËüÃǽ«ÔÚ /dev ϵÄÒ»¸ö×ÓĿ¼Öб»´´½¨¡£ÀýÈ磬 UFS2 ÎļþϵͳµÄ±êÇ©»á´´½¨µ½ /dev/ufs Ŀ¼ÖС£ÓÀ¾ÃÐԵıêÇ©»¹¿ÉÒÔʹÓà glabel label ´´½¨¡£ËüÃDz»ÔÙÊÇÎļþÏµÍ³ÌØ¶¨µÄ£¬¶øÊÇ»áÔÚ /dev/label Ŀ¼Öб»´´½¨¡£

¡¡¡¡ÔÝʱÐԵıêÇ©ÔÚϵͳÏ´ÎÖØÆôʱ»áÏûʧ£¬ ÕâЩ±êÇ©»á´´½¨µ½ /dev/label Ŀ¼ÖУ¬ ºÜÊʺϲâÊÔÖ®Ó᣿ÉÒÔʹÓà glabel create ´´½¨ÔÝʱÐԵıêÇ©¡£Çë²ÎÔÄ glabel(8) ÊÖ²áÒ³ÒÔ»ñÈ¡¸ü¶àÏêϸÐÅÏ¢¡£

¡¡¡¡ÒªÎªÒ»¸ö UFS2 Îļþϵͳ´´½¨ÓÀ¾ÃÐÔ±êÇ©£¬ ¶ø²»ÆÆ»µÆäÉϵÄÊý¾Ý£¬¿ÉÒÔʹÓÃÏÂÃæµÄÃüÁ

# tunefs -L home /dev/da3

¾¯¸æ: Èç¹ûÎļþϵͳÂúÁË£¬ Õâ¿ÉÄܻᵼÖÂÊý¾ÝË𻵣» ²»¹ý£¬ Èç¹ûÎļþϵͳ¿ìÂúÁË£¬ ´ËʱӦÊ×ÏÈɾ³ýһЩÎÞÓõÄÎļþ£¬ ¶ø²»ÊÇÔö¼Ó±êÇ©¡£

¡¡¡¡ÏÖÔÚ£¬ ÄúÓ¦¿ÉÒÔÔÚ /dev/ufs Ŀ¼Öп´µ½±êÇ©£¬ ²¢½«Æä¼ÓÈë /etc/fstab£º

/dev/ufs/home		/home            ufs     rw              2      2

×¢Òâ: µ±ÔËÐÐ tunefs ʱ£¬ Ó¦Ê×ÏÈжÏÂÎļþϵͳ¡£

¡¡¡¡ÏÖÔÚ¿ÉÒÔÏñƽʱһÑù¹Ò½ÓÎļþϵͳÁË£º

# mount /home

¡¡¡¡ÏÖÔÚ£¬ Ö»ÒªÔÚϵͳÒýµ¼Ê±Í¨¹ý /boot/loader.conf ÅäÖüÓÔØÁËÄÚºËÄ£¿é geom_label.ko£¬ »òÔÚÁª±àÄÚºËʱָ¶¨ÁË GEOM_LABEL Ñ¡Ï É豸½ÚµãÓÉÓÚÔöɾÉ豸¶øË³Ðò·¢Éú±ä»¯Ê±£¬ ¾Í²»»áÓ°ÏìÎļþϵͳµÄ¹Ò½ÓÁË¡£

¡¡¡¡Í¨¹ýʹÓà newfs ÃüÁîµÄ -L ²ÎÊý£¬ ¿ÉÒÔÔÚ´´½¨ÎļþϵͳʱΪÆäÌí¼ÓĬÈϵıêÇ©¡£ Çë²Î¼ûÁª»úÊÖ²á newfs(8) ÒÔÁË½â½øÒ»²½µÄÏêÇé¡£

¡¡¡¡ÏÂÁÐÃüÁî¿ÉÒÔÇå³ý±êÇ©£º

# glabel destroy home

¡¡¡¡ÒÔϵÄÀý×ÓչʾÁËÈçºÎΪһ¸öÆô¶¯´ÅÅÌ´òÉϱêÇ©¡£

Àý 19-1. ΪÆô¶¯´ÅÅÌ´òÉϱêÇ©

ΪÆô¶¯´ÅÅÌ´òÉÏÓÀ¾ÃÐÔ±êÇ©£¬ ϵͳӦ¸ÃÄܹ»Õý³£Æô¶¯£¬ ¼´Ê¹´ÅÅ̱»Òƶ¯µ½ÁËÁíÍâÒ»¸ö¿ØÖÆÆ÷»òÕß×ªÒÆµ½ÁËÒ»¸ö²»Í¬µÄϵͳÉÏ¡£ ´ËÀýÖÐÎÒÃǼÙÉèʹÓÃÁËÒ»¸ö ATA ´ÅÅÌ£¬ µ±Ç°Õâ¸öÉ豸±»ÏµÍ³Ê¶±ðΪ ad0¡£ »¹¼ÙÉèʹÓÃÁ˱ê×¼µÄ FreeBSD ·ÖÇø»®·Ö·½°¸£¬ /, /var, /usr ºÍ /tmp Îļþϵͳ£¬ »¹ÓÐÒ»¸ö swap ·ÖÇø¡£

ÖØÆôϵͳ£¬ÔÚ loader(8) Ìáʾ·ûϼüÈë 4 Æô¶¯µ½µ¥Óû§Ä£Ê½¡£ È»ºóÊäÈëÒÔϵÄÃüÁ

# glabel label rootfs /dev/ad0s1a
GEOM_LABEL: Label for provider /dev/ad0s1a is label/rootfs
# glabel label var /dev/ad0s1d
GEOM_LABEL: Label for provider /dev/ad0s1d is label/var
# glabel label usr /dev/ad0s1f
GEOM_LABEL: Label for provider /dev/ad0s1f is label/usr
# glabel label tmp /dev/ad0s1e
GEOM_LABEL: Label for provider /dev/ad0s1e is label/tmp
# glabel label swap /dev/ad0s1b
GEOM_LABEL: Label for provider /dev/ad0s1b is label/swap
# exit

ϵͳ¼Ó¼ÌÐøÆô¶¯½øÈë¶àÓû§Ä£Ê½¡£ ÔÚÆô¶¯Íê±Ïºó£¬ ±à¼­ /etc/fstab Óø÷×ԵıêÇ©Ìæ»»Ï³£¹æµÄÉ豸Ãû¡£ ×îÖÕ /etc/fstab ¿´ÆðÀ´²î²»¶àÊÇÕâÑùµÄ£º

# Device                Mountpoint      FStype  Options         Dump    Pass#
/dev/label/swap         none            swap    sw              0       0
/dev/label/rootfs       /               ufs     rw              1       1
/dev/label/tmp          /tmp            ufs     rw              2       2
/dev/label/usr          /usr            ufs     rw              2       2
/dev/label/var          /var            ufs     rw              2       2

ÏÖÔÚ¿ÉÒÔÖØÆôϵͳÁË¡£ Èç¹ûÒ»ÇÐ˳ÀûµÄ»°£¬ ϵͳ¿ÉÒÔÕý³£Æô¶¯²¢ÇÒ mount ÃüÁîÏÔʾ£º

# mount
/dev/label/rootfs on / (ufs, local)
devfs on /dev (devfs, local)
/dev/label/tmp on /tmp (ufs, local, soft-updates)
/dev/label/usr on /usr (ufs, local, soft-updates)
/dev/label/var on /var (ufs, local, soft-updates)

¡¡¡¡´Ó FreeBSD 7.2 ¿ªÊ¼£¬ glabel(8) class ÐÂÔöÁËÒ»ÖÖÓÃÓÚ UFS ÎļþϵͳΨһ±êʶ·û£¬ ufsid µÄ±êǩ֧³Ö¡£ ÕâЩ±êÇ©¿ÉÒÔÔÚ /dev/ufsid Ŀ¼ÖÐÕÒµ½£¬ ËüÃÇ»áÔÚϵͳÒýµ¼Ê±×Ô¶¯´´½¨¡£ ÔÚ /etc/fstab »úÖÆÖУ¬ Ò²¿ÉÒÔʹÓà ufsid ±êÇ©¡£ Äú¿ÉÒÔʹÓà glabel status ÃüÁîÀ´»ñµÃÓëÎļþϵͳ¶ÔÓ¦µÄ ufsid ±êÇ©ÁÐ±í£º

% glabel status
                  Name  Status  Components
ufsid/486b6fc38d330916     N/A  ad4s1d
ufsid/486b6fc16926168e     N/A  ad4s1f

¡¡¡¡ÔÚÉÏÃæµÄÀý×ÓÖÐ ad4s1d ´ú±íÁË /var Îļþϵͳ£¬ ¶ø ad4s1f Ôò´ú±íÁË /usr Îļþϵͳ¡£ Äú¿ÉÒÔʹÓÃÕâЩ ufsid ÖµÀ´¹ÒÔØËüÃÇ£¬ ÔÚ /etc/fstab ÖÐÅäÖÃÀàËÆÕâÑù£º

/dev/ufsid/486b6fc38d330916        /var        ufs        rw        2      2
/dev/ufsid/486b6fc16926168e        /usr        ufs        rw        2      2

¡¡¡¡ËùÓаüº¬ÁË ufsid µÄ±êÇ©¶¼¿ÉÒÔÓÃÕâÖÖ·½Ê½¹ÒÔØ£¬ ´Ó¶øÏû³ýÁËÐèÒªÊÖ¹¤´´½¨ÓÀ¾ÃÐÔ±êÇ©µÄÂé·³£¬ ¶øÓÖÄܹ»ÌṩÌṩÓëÉ豸ÃûÎ޹صĹÒÔØ·½Ê½µÄ±ãÀû¡£

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

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