Linux + XFS HOWTOLinux on Steroids Russel Ingram
ringram (at) gargoylecc.com
¼º¿ë ¼­
pooh (at) kldp.org
v1.02, Oct. 8, 2001 v1.02 2001-10-08 ri ¾à°£ÀÇ ÁÖ¼®, blockquote ±×¸®°í ulink ű׸¦ Ãß°¡ÇÔ. "¸¶Ä¡±â" ÀÇ ¸í·É ºÎºÐ¿¡¼­ ¿¡·¯¸¦ ¼öÁ¤ÇÔ. libuuid.a ¸¦ ÂüÁ¶ÇÏ¿© e2fsprogs-devel ¿¡ ´ëÇÑ ÁÖ¼®À» º¯°æ. ÀÌ ¹®¼­´Â SGI XFS Àú³Î¸µ ÆÄÀϽýºÅÛ¿¡¼­ µ¹¾Æ°¡´Â ¸®´ª½º ½Ã½ºÅÛÀ» ±¸ÃàÇÏ´Â ¹æ¹ý¿¡ ´ëÇؼ­ ¼³¸íÇÑ´Ù.
¼Ò°³ ¸®´ª½º¸¦ À§ÇÑ XFS ¼Ò°³ ÀÌ ¹®¼­´Â SGI XFS Àú³Î¸µ ÆÄÀϽýºÅÛ¿¡¼­ µ¹¾Æ°¡´Â ¸®´ª½º ½Ã½ºÅÛÀ» ±¸ÃàÇÏ´Â ¹æ¹ý¿¡ ´ëÇؼ­ ¼³¸íÇÑ´Ù. XFS FAQ¿¡ ÀÇÇϸé: "XFS ´Â SGI ¿¡ ÀÇÇØ °³¹ßµÈ Àú³Î¸µ ÆÄÀϽýºÅÛÀÌ°í SGI ÀÇ IRIX ¿î¿µÃ¼Á¦¿¡¼­ »ç¿ëµÈ´Ù. Áö±ÝÀº GPL ÇÏ¿¡ ¸®´ª½º¿¡¼­ »ç¿ëÇÒ ¼ö ÀÖ´Ù. ±×°ÍÀº ¸Å¿ì scalableÇѵ¥, btree ¸¦ ±¤¹üÀ§ÇÏ°Ô »ç¿ëÇÏ¿© °Å´ëÇÑ Èñ¼Ò(sparse) ÆÄÀϵé°ú ±Øµµ·Î °Å´ëÇÑ µð·ºÅ丮¸¦ Áö¿øÇÑ´Ù. Àú³Î¸µ ±â´ÉÀº ´õÀÌ»ó fsck ¸¦ ±â´Ù¸®°Å³ª meta-data ¼Õ»óÀ» °ÆÁ¤ÇÒ ÇÊ¿ä°¡ ¾øÀ½À» ÀǹÌÇÑ´Ù. " º»ÁúÀûÀ¸·Î XFS ´Â SGI °¡ ÀÚ»çÀÇ ÇÏÀÌ¿£µå ¼­¹ö ½Ã½ºÅÛÀ» À§ÇÏ¿© °í¾ÈÇÑ ÆÄÀϽýºÅÛÀ̹ǷÎ, ÀÌ ¹®¼­ÀÇ ºÎÁ¦´Â "Linux on Steroids" ÀÌ´Ù. :-) ¼­¹®, Çǵå¹é ±×¸®°í ÀúÀÚ ¼Ò°³ Irix ½Ã½ºÅÛ °ü¸®ÀÚ °øµ¿Ã¼ÀÇ ºñ±³Àû ½ÅÀÔ È¸¿øÀ¸·Î½á, Irix ¸¦ Áö¿øÇϱâ À§ÇØ °³¹ßµÈ ÆÄÀϽýºÅÛ(¹°·Ð XFS)ÀÇ °­·ÂÇÔ¿¡ »ç¶û¿¡ ºüÁ³´Ù. ±×·¡¼­ ¸»ÇÒ ÇÊ¿äµµ ¾øÀÌ ³ª´Â Çѵ¿¾È ¸®´ª½º·ÎÀÇ Æ÷Æà ³ë·ÂÀ» µû¶ó¿ÔÀ¸¸ç ³ªÀÇ ¸®´ª½º ½Ã½ºÅÛÀ» óÀ½ºÎÅÍ ¸ðµÎ XFS ÆÄÀϽýºÅÛÀÇ À§¿¡¼­ ¿î¿µÇÏ´Â °ÍÀ» ²Þ²Ù¾î ¿Ô´Ù. ±× ÇÁ·ÎÁ§Æ®´Â ÀÌ°ÍÀÌ Á¤¸» Çö½ÇÀÌ µÉ ¼ö ÀÖ´Â ÁöÁ¡¿¡ À̸£·¶´Ù(ÀÌ ±ÛÀ» ¾²±â Àü¿¡ °ÅÀÇ 1³â Àü). ±×·¯³ª, ´Ù¸¥ ÇÁ·Î±×·¡¹Ö/Æ÷Æà ÇÁ·ÎÁ§Æ®ÀÇ ¸¹Àº °æ¿ì°¡ ±×·¯ÇϵíÀÌ, ±×·¯ÇÑ ÀÛ¾÷¿¡ ´ëÇÑ ¹®¼­È­°¡ Ç×»ó ¹Ù·Î ÀÐÀ»¼ö Àִٰųª ´©±¸³ª ±â´ëÇϵíÀÌ µû¶óÇϱⰡ ½±Áö´Â ¾Ê´Ù. ÀÌ ¹®¼­´Â ±×·¯ÇÑ »óȲÀ» ±¸Á¦ÇÏ°íÀÚ ÇÏ´Â ½Ãµµ¿¡¼­ ÀÛ¼ºµÇ¾ú´Ù. ÀÌ ¹®¼­¿¡ Æ÷ÇÔµÈ Á¤º¸´Â XFS °³¹ß ¸ÞÀϸµ ¸®½ºÆ®ÀÇ Jason Walker ¿Í Russell Cattelan ÀÇ ¸Þ½ÃÁö, SGI Open Source Development À¥ »çÀÌÆ®¿¡ ÀÖ´Â ´Ù¾çÇÑ °÷¿¡¼­ ¼öÁýÇÑ Á¤º¸, ±×¸®°í XFS ½Ã½ºÅÛÀ» Á÷Á¢ ¼³Ä¡Çϸ鼭 °ÞÀº ³» ÀÚ½ÅÀÇ °æÇè¿¡ ±â¹ÝÀ» µÎ°í ÀÖ´Ù. ¼öÁ¤ÇÒ Á¡À̳ª ¾î¶°ÇÑ Á¤º¸, URLÀ̳ª ±âŸ »çÇ×ÀÌ ´©¶ôµÇ¾î ÀÖ´Ù¸é ÀÚÀ¯·Ó°Ô ³ª¿¡°Ô ringram@gargoylecc.com·Î À̸ÞÀÏÀ» º¸³»Áֱ⠹ٶõ´Ù. ÀÌ HOWTO ¿¡¼­ ³»°¡ º¸´Ù ¸¹Àº Çǵå¹éÀ» ¾òÀ»¼ö·Ï ¸ðµÎ¿¡°Ô º¸´Ù µµ¿òÀÌ µÉ °ÍÀÌ´Ù. ÀÌ ¹®¼­ÀÇ ÃֽŠ¹öÀüÀº Gargoyle Computer Consulting ¿¡¼­ ãÀ» ¼ö ÀÖ´Ù. ÀúÀ۱ǰú ±Ç¸® Æ÷±â ÀÌ ¹®¼­ÀÇ ÀúÀÛ±ÇÀº Russell Ingram ¿¡°Ô ÀÖÀ¸¸ç ÀÚÀ¯(FREE) ¹®¼­ÀÌ´Ù. GNU GPL ÇÏ¿¡ ÀÌ°ÍÀ» Àç¹èÆ÷ÇÒ ¼ö ÀÖ´Ù. ÀÌ ¹®¼­¿¡ Æ÷ÇÔµÈ Á¤º¸´Â Russel ÀÇ Áö½Ä Çѵµ³»¿¡¼± Á¤È®ÇÏ°Ô ÃÖ¼±À» ´ÙÇؼ­ ÀÛ¼ºµÇ¾ú´Ù. ±×·¯³ª XFS Linux Æ÷Æ®´Â »ç¶÷¿¡ ÀÇÇØ ¾²¿©Á³À¸¹Ç·Î ¶§¿¡ µû¶ó¼± ½Ç¼ö³ª ¹ö±×³ª ±âŸ ¹®Á¦°¡ ¹ß»ýÇÒ °¡´É¼ºÀÌ ÀÖ´Ù. ¾î¶² »ç¶÷À̳ª ´Üüµµ ´ç½ÅÀÇ ÄÄÇ»ÅÍ¿¡ ÀÔÀº ¼Õ»ó°ú ÀÌ ¹®¼­¿¡ ÀÖ´Â Á¤º¸¸¦ »ç¿ëÇÔÀ¸·Î½á »ý±ä ´Ù¸¥ ¼Õ½Çµé¿¡ ´ëÇØ Ã¥ÀÓÁöÁö ¾Ê´Â´Ù. ÀúÀÚ´Â ÀÌ ¹®¼­¿¡ ÀÖ´Â Á¤º¸¿¡ ±â¹ÝÇÏ¿© ÃëÇØÁø Çൿ¿¡ ÀÇÇØ ÃÊ·¡µÈ ¾î¶² ¼Õ»ó¿¡ ´ëÇؼ­µµ Ã¥ÀÓÀ» ÁöÁö ¾Ê´Â´Ù. XFS ¼³Ä¡¸¦ À§ÇÑ Áغñ Linux 2.4.x-XFS Ä¿³Î ¼Ò½º ³»·Á¹Þ±â ÇöÀç XFS ¸¦ »ç¿ëÇÒ ¼ö ÀÖ´Â ¸®´ª½º Ä¿³ÎÀ» ¾òÀ» ¼ö ÀÖ´Â À¯ÀÏÇÑ ¹æ¹ýÀº CVS ¸¦ ÀÌ¿ëÇØ SGI ÀÇ Open Source Development »çÀÌÆ®¿¡¼­ Á÷Á¢ ¹Þ´Â °ÍÀÌ´Ù. Note µÎ°³ÀÇ ´Ù¸¥ Æ®¸®¸¦ ÀÌ¿ëÇÒ ¼ö ÀÖ´Ù: linux-2.4-xfs: ºü¸£°Ô À̵¿ÁßÀÎ °³¹ß Æ®¸® linux-2.4-xfs-beta: ¾ÈÁ¤ÀûÀÌ¸ç ¹ö±× ¼öÁ¤¸¸ µÇ´Â Æ®¸® ³» °æÇèÀº °³¹ß Æ®¸®¿¡ ±â¹ÝÀ» µÎ°í ÀÖÀ¸³ª, º£Å¸ Æ®¸®¿¡¼­µµ ¸ðµç°ÍÀÌ ¶È°°ÀÌ(¾Æ¸¶µµ º¸´Ù ¾ÈÁ¤ÀûÀ¸·Î) µ¿ÀÛÇϸ®¶ó°í ¿¹»óÇÑ´Ù. ´ÙÀ½Àº Ä¿³Î ¼Ò½º Æ®¸®¸¦ ³»·Á¹Þ±â À§ÇÑ °úÁ¤ÀÌ´Ù: A. º¸Åë ¸®´ª½º Ä¿³Î ¼Ò½º´Â /usr/src µð·ºÅ丮¿¡ ¼³Ä¡µÇ¹Ç·Î, ±× µð·ºÅ丮·Î À̵¿ÇÏ´Â °ÍÀ¸·Î ½ÃÀÛÇÑ´Ù. $ cd /usr/src B. ´ÙÀ½À¸·Î, CVSROOT ȯ°æ º¯¼ö¸¦ ¼³Á¤Çؼ­ ±×°ÍÀÌ ÀûÀýÇÑ cvs ¼­¹ö¸¦ °¡¸®Å°µµ·Ï ÇÑ´Ù. ¸¸¾à ´ç½ÅÀÌ sh, bash, ksh ³ª ±âŸ ½©À» »ç¿ëÁßÀ̶ó¸é: $ export CVSROOT=':pserver:cvs@oss.sgi.com:/cvs' csh³ª tcsh ¸¦ »ç¿ëÁßÀ̶ó¸é $ setenv CVSROOT :pserver:cvs@oss.sgi.com:/cvs Ä¿³ÎÀ» ÀÚÁÖ ¾÷µ¥ÀÌÆ®ÇÒ °èȹÀ̶ó¸é(ÃÖ½ÅÀÇ º¯È­¸¦ µû¶óÀâ±â À§Çؼ­), ÀÌ°ÍÀ» ´ç½ÅÀÇ ·Î±×ÀÎ ½ºÅ©¸³Æ®¿¡ ³Ö¾îµÑ ¼öµµ ÀÖ´Ù. C. ±×¸®°í³ª¼­ cvs ¼­¹ö¿¡ ·Î±×ÀÎÇ϶ó. $ cvs login (¾ÏÈ£´Â "cvs") ÀÌ°ÍÀº Çѹø¸¸ ÇÏ¸é µÇ°í, cvs ¿¡ Á¢¼ÓÇÒ¶§¸¶´Ù ÇÒ ÇÊ¿ä´Â ¾ø´Ù. D. linux-2.4-xfs ¸¦ °¡Á®¿Â´Ù. ù¹ø°·Î ´ÙÀ½Ã³·³ ÇÑ´Ù: $ cvs -z3 co linux-2.4-xfs ±× Äڵ带 üũ¾Æ¿ô ÇÑ ÈÄ¿¡, ´ÙÀ½ÀÇ ¸í·ÉÀ» ÀÌ¿ëÇÏ¿©: $ cvs -z3 update linux-2.4-xfs CVS ¼­¹ö¿¡¼­ ÃÖ½ÅÀÇ ¹öÀüÀ¸·Î ´ç½ÅÀÇ »çº»À» ¾÷µ¥ÀÌÆ® ÇÒ ¼ö ÀÖ´Ù. XFS Áö¿øÀ» ¸ðµâ·Î ÇÒ °ÍÀΰ¡ Ä¿³Î¿¡ ÄÄÆÄÀÏÇؼ­ ³ÖÀ» °ÍÀΰ¡? ¸®´ª½º Ä¿³Î¿¡ ´ëÇØ XFS Áö¿øÀ» ¸ðµâ·Î ºôµåÇÏ´Â ¿É¼ÇÀÌ ÀÌ¿ë°¡´ÉÇÏ°í ÃʱâÈ­ RAM µð½ºÅ©¿Í lilo ¼³Á¤¿¡ ´ëÇÑ ¸î°³ÀÇ Ãß°¡»çÇ×À¸·Î µ¿ÀÛÇÒ °ÍÀÌ´Ù(ȤÀº ±×·¸°Ô ³ª´Â µé¾ú´Ù). ³ª´Â (¾ÆÁ÷) ÀÌ°ÍÀ» ½ÃµµÇغ¸Áö´Â ¾Ê¾ÒÀ¸¹Ç·Î, °³¹ß ¸ÞÀϸµ ¸®½ºÆ®ÀÇ Russell Cattelan ÀÇ ¸Þ½ÃÁö¸¦ ÀοëÇÏ´Â °Í ÀÌ¿Ü¿¡ ÀÌ°ÍÀÌ ¾î¶»°Ô ÀÌ·ç¾îÁö´ÂÁö¿¡ ´ëÇÑ ¹®¼­¸¦ Æ÷ÇÔ½ÃÅ°Áö´Â ¾Ê°Ú´Ù.
RussellCattelan »ç½Ç xfs ¸¦ ¸ðµâ·Î ½ÇÇàÇÏ´Â °ÍÀº ¸Å¿ì ¾î·Á¿î °ÍÀº ¾Æ´Ï´Ù. cmd/xfs/misc µð·ºÅ丮¿¡´Â ¼öÁ¤µÈ mkinitrd °¡ Àִµ¥, ÀÌ°ÍÀº Ç×»ó pagebuf xfs_support ¿Í xfs ¸¦ Áö¿øÇÏ´Â ·¥ µð½ºÅ©¸¦ »ý¼ºÇÒ °ÍÀÌ´Ù. ÀÌ·¸°Ô ÇÏ°í ³ª¸é lilo.conf ÆÄÀÏ¿¡ initrd Çà°ú ´ÙÀ½ÀÇ ÇàÀ» Ãß°¡ÇÑ´Ù. append = "ramdisk_size=25000" ±âº» Å©±â´Â 4096 Àε¥ xfs ¸¦ ³Ö±â¿£ ÀÛ´Ù. ÀÌ°ÍÀº ³» ·¦Å¾¿¡¼­ÀÇ °á°úÀÌ´Ù. punch[12:57am]-=>mount /dev/ide/host0/bus0/target0/lun0/part8 on / type xfs (rw,noatime) none on /proc type proc (rw) /dev/ide/host0/bus0/target0/lun0/part6 on /boot type ext2 (rw,noatime) none on /dev/pts type devpts (rw,mode=0620) /dev/ide/host0/bus0/target0/lun0/part1 on /mnt/windows type vfat (rw,nosuid,nodev,umask=0) /dev/ide/host0/bus0/target0/lun0/part9 on /blam type xfs (rw) punch[12:57am]-=>lsmod Module Size Used by autofs 13180 1 (autoclean) usb-uhci 24918 0 (unused) usbcore 35339 0 [usb-uhci] 3c59x 25149 1 (autoclean) maestro 29757 0 (unused) soundcore 6085 2 [maestro] vfat 13075 1 (autoclean) fat 37733 0 (autoclean) [vfat] xfs 447888 2 xfs_support 13954 0 [xfs] pagebuf 39935 2 [xfs] image=/boot/vmlinuz-2.4.0-XFS-test13-pre4 label=t13p4 root=/dev/hda8 initrd=/boot/initrd-2.4.0-XFS-test13p4.img append="ramdisk_size=25000" read-only
³ª¿¡°Õ XFS Áö¿øÀ» Ä¿³Î¿¡ Áý¾î³Ö¾î ÄÄÆÄÀÏÇÏ´Â °ÍÀÌ ÈξÀ °£´ÜÇØ º¸À̹ǷÎ, ÀÌ ¹®¼­¿¡¼­´Â ±× ¹æ¹ýÀ» ´Ù·ê °ÍÀÌ´Ù. ³ª´Â ³ªÁß¿¡ ¸ðµâ·Î ±×°ÍÀ» ½ÃµµÇغ¸°í ±×¶§ º¸´Ù ÀÚ¼¼ÇÑ ¼³¸íÀ» Ãß°¡ÇÏ°Ú´Ù. ¸¸¾à ³»°¡ ÀÌ·¸°Ô Çϱâ Àü¿¡ ´©±º°¡°¡ ÀÌ ¹æ¹ýÀ» ¹®¼­È­ÇÑ´Ù¸é, ºÎµð ³ª¿¡°Ô À̸ÞÀÏÀ» º¸³»ÁÖ±æ ¹Ù¶õ´Ù. ±×¸®°í ³ª´Â ÀûÀýÇÑ Å©·¹µðÆ®ÂÊ¿¡ Ãß°¡¸¦ ÇÏ°Ú´Ù. :-)
Ä¿³Î ¼³Á¤°ú ¼³Ä¡ Ä¿³ÎÀÌ XFS¸¦ Áö¿øÇϵµ·Ï ¼³Á¤Çϱâ ÁÖÀÇ ¸¸¾à ´ç½ÅÀÌ »õ·Î¿î ¸®´ª½º Ä¿³ÎÀ» ¼³Á¤ÇÏ°í ÄÄÆÄÀÏÇغ»ÀûÀÌ ¾ø´Ù¸é, ÀÌ °úÁ¤À» ÇàÇϱâ Àü¿¡ ¸®´ª½º Ä¿³Î HOWTO ¸¦ Àо¶ó. ±×°ÍÀº Linux Documentation Project (LDP) À̳ª ±× ¹Ì·¯¿¡¼­ ãÀ» ¼ö ÀÖ´Ù. cvs ¼Ò½º Æ®¸®¸¦ ³»·Á¹ÞÀº ÈÄ¿¡, ½ÇÁ¦ Ä¿³Î ¼Ò½º´Â /usr/src/linux-2.4-xfs(-beta)/linux ¿¡ ÀÖÀ» °ÍÀ̹ǷÎ, ´ç½ÅÀÌ ÇÊ¿äÇÑ °ÍµéÀ» ¼±ÅÃÇϱâ À§ÇÑ make config ¸¦ ½ÇÇàÇϱâ Àü¿¡ ±× µð·ºÅ丮·Î À̵¿ÇØ¾ß ÇÑ´Ù. XFS Áö¿øÀ» Á¦°øÇϱâ À§Çؼ­ Ä¿³Î¿¡ Æ÷ÇԵǾî¾ß ÇÏ´Â ÁÖ¿äÇÑ °ÍµéÀº "Page Buffer support" ¿Í "SGI XFS filesystem support " ÀÌ´Ù. µÎ ¿É¼Ç ¸ðµÎ Ä¿³Î ¼³Á¤ÀÇ "File systems" ¼½¼Ç¿¡¼­ ÀÌ¿ë°¡´ÉÇÏ´Ù. ±× ¿É¼ÇµéÀ» »ç¿ë°¡´ÉÇÏ°Ô ÇÏ·Á¸é "Code maturity level options" ¾È¿¡ ÀÖ´Â "Prompt for development and/or incomplete code/drivers" ¸¦ ¼±ÅÃÇØ¾ß ÇÑ´Ù. ¼±ÅÃÀûÀ¸·Î "SGI XFS filesystem support"¾Æ·¡¿¡ ÀÖ´Â "Enable XFS Debug mode" °ú "Enable XFS Vnode Tracing" ¸¦ ¼±ÅÃÇÏ°í ½ÍÀ»Áöµµ ¸ð¸¥´Ù. ÀÌ·¯ÇÑ ¿É¼ÇµéÀº ´ç½ÅÀÇ XFS ±¸ÇöÀ» ´Ù¼Ò ´À¸®°Ô ÇÒ ¼ö ÀÖÀ¸³ª, ¹®Á¦°¡ ¹ß»ýÇÑ´Ù¸é ¹®Á¦ÀÇ ¿øÀÎÀ» ÃßÀûÇϴµ¥ À¯¿ëÇÒ °ÍÀÌ´Ù. Ä¿³Î°ú ¸ðµâÀ» ºôµåÇϱ⠴ٸ¥ Ä¿³ÎµéÀ» ºôµåÇÏ´Â °Íó·³, ½ÇÁ¦·Î »õ Ä¿³ÎÀ» ºôµåÇϱâ À§Çؼ­ ´ÙÀ½ÀÇ ¸í·ÉÀ» ½ÇÇàÇØ¾ß ÇÑ´Ù.: $ make dep $ make bzImage $ make modules »õ Ä¿³Î°ú ¸ðµâ ¼³Ä¡Çϱâ ÀÌ°Í ¿ª½Ã ´Ù¸¥ Ä¿³ÎÀ» ºôµåÇÒ¶§¿Í ¸¶Âù°¡Áö·Î Ç¥ÁØÀûÀÎ ÀÛ¾÷ÀÌ´Ù: $ make modules_install $ cp arch/i386/boot/bzImage /boot/vmlinuz-2.4.0-XFS lilo ¼³Á¤¿¡ »õ·Î¿î Ç׸ñÀ» Ãß°¡ÇÏ°í lilo ¸¦ À缳ġÇϱâ $ vi /etc/lilo.conf ´ç½ÅÀÇ lilo.conf ÆÄÀÏ¿¡ ´ÙÀ½°ú ºñ½ÁÇÑ »õ·Î¿î À̹ÌÁö ¼½¼ÇÀ» Ãß°¡ÇÑ´Ù: image=/boot/vmlinuz-2.4.0-XFS label=xfs read-only root=/dev/hda2 "root=" ÇàÀº ´ç½ÅÀÇ lilo.conf ÆÄÀÏ¿¡ ±âÁ¸¿¡ ÀÖ´ø À̹ÌÁö ¼½¼ÇÀÇ "root=" Çà°ú °°¾Æ¾ß ÇÑ´Ù. lilo.conf ÆÄÀÏÀÇ ¼öÁ¤ÀÌ ³¡³µÀ»¶§ lilo ¸¦ ½ÇÇàÇؼ­ º¯°æÀ» À¯È¿ÇÏ°Ô ÇÏ´Â °ÍÀ» ÀØÁö ¸»µµ·Ï Ç϶ó. XFS À¯Æ¿¸®Æ¼¸¦ ºôµåÇÏ°í ¼³Ä¡Çϱâ XFS ÆÄÀϽýºÅÛ¿¡ µþ·Á¿À´Â ¿©·¯°³ÀÇ ÅøÀº ´ç½ÅÀÇ XFS ÆÄÀϽýºÅÛÀ» ºôµåÇÏ°í °ü¸®ÇÒ¼ö ÀÖ°Ô ÇØÁִµ¥, ¿ª½Ã ºôµåµÇ¾î¾ß ÇÑ´Ù. ÀÌ·¯ÇÑ ÅøÀº /usr/src/linux-2.4-xfs(-beta)/cmd/xfsprogs µð·ºÅ丮¿¡ ÀÖ´Ù. ÁÖÀÇ ÀÌ·¯ÇÑ ÅøÀº /usr/lib/libuuid.a °øÀ¯ ¶óÀ̺귯¸®¿¡ ÀÇÁ¸ÇÑ´Ù. ¸¸¾à ÀÌ ¶óÀ̺귯¸®¸¦ ¼³Ä¡ÇÏÁö ¾Ê¾Ò´Ù¸é, XFS À¯Æ¿¸®Æ¼¸¦ ÄÄÆÄÀÏÇϱâ À§Çؼ­ ±×°ÍÀÌ ÇÊ¿äÇÒ °ÍÀÌ´Ù. ´ç½ÅÀÇ ¸®´ª½º ¹öÀü¿¡ ´ëÇÑ rpm ÆÐÅ°Áö¸¦ Rpmfind.net ¿¡¼­ "/usr/lib/libuuid.a" ·Î °Ë»öÇÏ¿© ãÀ» ¼ö ÀÖ´Ù. libuuid¸¦ Æ÷ÇÔÇÏ´Â µ¥ºñ¾È ÆÐÅ°Áö´Â uuid-dev ÀÌ´Ù. ÀÌ ¶óÀ̺귯¸®ÀÇ ´Ù¸¥ ¹èÆ÷ÆÇ¿ë ÆÐÅ°Áö°¡ ´Ù¸¥ Àå¼Ò¿¡ ÀÖÀ¸¸®¶ó´Â °ÍÀº ÀǽÉÀÇ ¿©Áö°¡ ¾ø´Ù. ±×·¯ÇÑ ¹èÆ÷ÆÇÀ» À§ÇÑ Á¤È®ÇÑ ÆÐÅ°Áö¸¦ ã´Â ÁÁÀº ¹æ¹ýÀº Google Linux °Ë»ö ¿£Áø¿¡¼­ °Ë»öÇÏ´Â °ÍÀÌ´Ù. ±× µð·ºÅ丮·Î À̵¿ÇÑ´Ù: $ cd ../cmd/xfsprogs xfs À¯Æ¿¸®Æ¼¸¦ ºôµåÇÏ°í ¼³Ä¡ÇÑ´Ù: $ make install »õ·Î¿î Ä¿³Î·Î ºÎÆ®Çϱâ $ reboot ÁÖÀÇ lilo.conf ÆÄÀÏ¿¡¼­ ±âº» ºÎÆ® ¶óº§À» º¯°æÇÏÁö ¾Ê´Â ÇÑÀº »õ·Î¿î Ä¿³Î À̹ÌÁö·Î ºÎÆÃÇϱâ À§Çؼ­ "LILO Boot:" ÇÁ·ÒÇÁÆ®¿¡¼­ "xfs" ¸¦ ÀÔ·ÂÇØ¾ß ÇÑ´Ù. ÆÄÀϽýºÅÛ À̵¿(migration) Àüü °úÁ¤¿¡¼­ÀÇ ¸¶Áö¸· ºÎºÐÀº µ¥ÀÌÅÍ°¡ ¼Õ½ÇµÉ °¡´É¼ºÀÌ ÀÖ´Â ÇÑ ¾Æ¸¶µµ ½ÇÁ¦·Î °¡Àå ±î´Ù·Ó°í À§ÇèÇÑ °úÁ¤ÀÏ °ÍÀÌ´Ù. ³ª´Â XFS ·ÎÀÇ À̵¿À» Çϱâ Àü¿¡ ½Ã½ºÅÛÀÇ ¿ÏÀüÇÑ ¹é¾÷ (ȤÀº Àû¾îµµ Áß¿äÇÑ ÀÚ·á ¸ðµÎ)À» Çϱ⸦ ÃßõÇÑ´Ù. À̺κÐÀº ¿ª½Ã ¼³¸íÇϱ⿡µµ °¡Àå ¾î·Á¿îµ¥, ´ç½ÅÀÇ ÆÄÀϽýºÅÛ ¼³Á¤¿¡ µû¶ó¼­ À̵¿À» ÇÒ ¼ö ÀÖ´Â ¹æ¹ýÀÌ ¼ö¹é°¡Áö°¡ µÉ °ÍÀ̱⠶§¹®ÀÌ´Ù. ³ª´Â ¿©·¯ºÐ¿¡°Ô »õ·Î¿î ÆÄÀϽýºÅÛÀ» ¸¸µå´Â ±âº» ¸í·ÉÀ» ¾Ë·ÁÁÙ °ÍÀÌ°í, ÆÄÀϽýºÅÛ ¹®Á¦¸¦ ÇØ°áÇÏ´Â ¹æ¹ý¿¡ ¾î¶»°Ô Âø¼öÇÒÁö¿¡ ´ëÇÑ ¸î°¡Áö ¿äÁ¡µéÀ» ¾Ë·ÁÁÖ·Á°í ³ë·ÂÇÒ°ÍÀÌ°í, ÀüüÀûÀ¸·Î´Â ³ª ÀÚ½ÅÀÇ ÆÄÀϽýºÅÛÀ» À̵¿Çϴµ¥¿¡ »ç¿ëÇß´ø ¹æ¹ýÀ» ¿©·¯ºÐ¿¡°Ô ¾Ë·ÁÁÙ °ÍÀÌ´Ù. / ÆÄÀϽýºÅÛ À̵¿Çϱ⠿ÏÀüÇÑ XFS ½Ã½ºÅÛÀ» ¸¸µå´Â °ÍÀÇ °¡Àå ¾î·Á¿î ºÎºÐÀº ¾Æ¸¶µµ / ÆÄÀϽýºÅÛÀ» À̵¿½ÃÅ°´Â °ÍÀÏÅÙµ¥, / °¡ ½Ã½ºÅÛÀÇ ³ª¸ÓÁö Àüü¸¦ ÁöÅÊÇÏ´Â °ÍÀÌ°í ±×°ÍÀº ½Ã½ºÅÛ ¿î¿µÁß¿¡´Â ½ÇÁ¦·Î ¾ð¸¶¿îÆ® µÉ ¼ö ¾ø±â ¶§¹®ÀÌ´Ù. ¸¸¾à / ·Î ¸¶¿îÆ®µÉ ¼ö ÀÖ´Â ¿©ºÐÀÇ ÆÄƼ¼ÇÀÌ ÀÖ´Ù¸é ÀÌ¿Í ºñ½ÁÇÑ ¹æ¹ýÀ¸·Î ÇÒ ¼ö ÀÖ´Ù(¿¹Á¦¿¡¼­´Â /dev/hda4 ¸¦ ¿©ºÐÀÇ ÆÄƼ¼ÇÀ¸·Î, /dev/hda2¸¦ / ·Î »ç¿ëÇÑ´Ù). $ mkfs -t ext2 /dev/hda4 $ mkdir /mnt/temp $ mount -t ext2 /dev/hda4 /mnt/temp $ cd / $ tar lcf - .|(cd /mnt/temp; tar xpvf - ) ³»°¡ / ÆÄÀϽýºÅÛ¿¡¼­ ¿©ºÐÀÇ ÆÄÀϽýºÅÛÀ¸·Î ÆÄÀϵéÀ» º¹»çÇϱâ À§ÇØ ¿©±â¼­ tar À» »ç¿ëÇÔÀ» ÁÖ¸ñÇ϶ó. ´ë½Å cp -dpR À» »ç¿ëÇÒ¼öµµ ÀÖÁö¸¸, ³»°¡ ¿©±â¼­ º¸ÀΰͰú °°ÀÌ -l Ç÷¡±×¸¦ ºÙ¿© tar À» »ç¿ëÇÏ¸é ¿ÀÁ÷ / ÆÄÀϽýºÅÛ ¾È¿¡ ÀÖ´Â ÆÄÀϸ¸À» º¹»çÇÒ °ÍÀÌ´Ù(´Ù½Ã ¸»Çϸé, ´ç½ÅÀÌ /usr ·Î ¸¶¿îÆ®ÇصР¶Ç´Ù¸¥ ÆÄƼ¼ÇÀÌ ÀÖ´Ù¸é ±×·¯ÇÑ °ÍÀº º¹»çµÇÁö ¾ÊÀ» °ÍÀ̶ó´Â ¸»ÀÌ´Ù). ´ÙÀ½ ´Ü°è´Â /etc/fstab ¿Í /etc/lilo.conf ¿¡ ÀÖ´Â /dev/hda4 ¿¡ ´ëÇÑ ¸ðµç ÂüÁ¶¸¦ /dev/hda2 ·Î ¹Ù²Ù°í lilo ¸¦ ½ÇÇàÇÑ´Ù. ±×¸®°í ³ª¼­ ½Ã½ºÅÛÀ» ´Ù½Ã ºÎÆÃÇØ¾ß ÇÑ´Ù. ½Ã½ºÅÛÀ» ÀçºÎÆà ÈÄ¿¡´Â /dev/hda4 °¡ /·Î ¸¶¿îÆ®µÉ °ÍÀÌ°í ¿ø·¡ÀÇ / ÆÄÀϽýºÅÛ (/dev/hda2)´Â ¸¶¿îÆ®µÇÁö ¾ÊÀ» °ÍÀÌ´Ù. ÀÌÁ¦´Â /dev/hda2 ¿¡ »õ·Î¿î XFS ÆÄÀϽýºÅÛÀ» ¸¸µé ¼ö ÀÖ´Ù. $ mkfs -t xfs /dev/hda2 ±×¸®°í ³ª¼­ »õ·Î¿î xfs ÆÄÀϽýºÅÛÀ» ¸¶¿îÆ®ÇÑ´Ù: $ mount -t xfs /dev/hda2 /mnt/temp ±×¸®°í ¿ø·¡ÀÇ / ÆÄÀϽýºÅÛÀ» ±×°ÍÀÇ ¿ø·¡ À§Ä¡·Î µ¹·Á³õ´Â´Ù: $ cd / $ tar lcf - .|(cd /mnt/temp; tar xpvf -) ´Ù½Ã Çѹø /etc/fstab ¿Í /etc/lilo.conf ¿¡ ÀÖ´Â /dev/hda4 ÀÇ ¸ðµç °´Ã¼¸¦ ¹Ù²Ù°í lilo ¸¦ ½ÇÇàÇØ¾ß ÇÑ´Ù. ¶ÇÇÑ /etc/fstab ¿¡ ÀÖ´Â / ÀÇ ÆÄÀϽýºÅÛ À¯ÇüÀ» ¹Ù²ãÁÖ¾î¾ß ÇÑ´Ù. ÀÌÁ¦´Â ÀÌ¿Í ºñ½ÁÇØ º¸ÀÏ °ÍÀÌ´Ù: /dev/hda2 / xfs defaults 1 1 ÁÖÀÇ ¸î¸î ¸®´ª½º ¹èÆ÷ÆÇ¿¡¼­ À§ÀÇ ¿¹Á¦ »óÀÚ ÀÌ¿ÜÀÇ fstab ¿¡ ÁÖ¾îÁø ¿É¼ÇÀº ´ÜÁö "defaults" ÀÌ»óÀÇ ±íÀÌÀÖ´Â °ÍÀϼöµµ ÀÖ´Ù. ¿¹¸¦ µé¾î µ¥ºñ¾È ½Ã½ºÅÛÀº "defaults,errors=remount-ro"¸¦ »ç¿ëÇÑ´Ù. "defaults" Å°¿öµå¸¦ Á¦¿ÜÇÏ°í´Â ¸¶¿îÆ® ¿É¼ÇÀÌ ¸ðµç ÆÄÀϽýºÅÛ¸¶´Ù ´Ù¸£´Ù. ´ç½ÅÀÌ »ç¿ëÇÏ°íÀÚ Çϴ ƯÁ¤ÇÑ XFS ¸¶¿îÆ® ¿É¼ÇÀ» ¾Ë°í ÀÖÁö ¾Ê´Â ÇÑÀº µðÆúÆ® ¿É¼ÇÀ» »ç¿ëÇ϶ó. ÁÖ¾îÁø µ¥ºñ¾È ¿¹Á¦¿¡¼­´Â, errors ¿É¼ÇÀº XFS ¿¡¼­´Â »ç¿ëÀÌ ºÒ°¡´ÉÇÏ¸ç ´ç½ÅÀÇ ÆÄÀϽýºÅÛÀ» ¸¶¿îÆ®µÇÁö ¸øÇÏ°Ô ÇÒ °ÍÀÌ´Ù. ÀÌÁ¦ »õ·Î¿î xfs / ÆÄÀϽýºÅÛÀ¸·Î ½Ã½ºÅÛÀ» ¸®ºÎÆ®ÇÑ´Ù. ¹°·Ð ·çÆ® ÆÄÀÏ ½Ã½ºÅÛÀ» À̵¿ÇÏ´Â ¹æ¹ý¿¡´Â ¿©·¯°¡Áö ´Ù¸¥ ¹æ¹ýÀÌ ÀÖ°í ¸¸¾à ´ç½ÅÀÌ ÁÁÀº »ý°¢À» °®°í ÀÖ´Ù¸é ³ª´Â Á¤¸» ±×°ÍÀ» ¾Ë°í ½Í°í ¿©±â¼­ÀÇ ¹æ¹ýº¸´Ù ´õ °£´ÜÇغ¸Àδٸé ÀÌ ¹®¼­¿¡ ±×°ÍÀ» ³ÖÀ» °ÍÀÌ´Ù. ³ª ÀÚ½ÅÀº ÀÛ¾÷ÇÒ ¿©ºÐÀÇ ÆÄƼ¼ÇÀÌ ¾ø¾úÀ¸³ª CD ·¹ÄÚ´õ°¡ ÀÖ¾úÀ¸¹Ç·Î ³» ·çÆ® ÆÄÀϽýºÅÛÀ» CD ·Î ±¸¿ö¼­ »õ·Î¿î xfs / ¸¦ ¸¸µå´Âµ¿¾È ·çÆ®·Î ¸¶¿îÆ®Çß´Ù. ÇÏÁö¸¸, ¸ðµç °æ¿ì¿¡µµ »õ·Î¿î ÆÄÀϽýºÅÛÀ» »ý¼ºÇÏ°í ¸¶¿îÆ®ÇÏ´Â ±âº»ÀûÀÎ ¸í·É¾î´Â ¸ðµÎ °°À» °ÍÀÌ´Ù. ¸¶Ä¡±â °úÁ¤ÀÇ ¸¶Áö¸·Àº ¸Å¿ì °£´ÜÇÏ°í »õ·Î¿î ÆÄÀÏ ½Ã½ºÅÛÀ» ¸¸µé¸é¼­ / ¿¡ ´ëÇؼ­ ÇàÇÑ ÆÄƼ¼Ç ¹Ù²Ù´Â °úÁ¤°ú º»ÁúÀûÀ¸·Î °°Àº °úÁ¤ÀÌ´Ù. ³ª´Â ÀÌ °úÁ¤ÀÇ ³ª¸ÓÁö¸¦ ½Ì±Û À¯Àú ¸ðµå¿¡¼­ ÀÛ¾÷ÇÏ¿© / ÀÌ¿ÜÀÇ ¸ðµç °ÍÀ» ¾ð¸¶¿îÆ®ÇÒ ¼ö ÀÖµµ·Ï ÇÏ¿© ¿©·¯¹ø ÀçºÎÆ®ÇÒÇÊ¿ä ¾øÀÌ ¸ðµç ±³Ã¼¸¦ ÇÒ ¼ö Àֱ⸦ ÃßõÇÑ´Ù. ½Ì±Û À¯Àú ¸ðµå·Î ºÎÆÃÇϱâ À§Çؼ­´Â ´ÙÀ½°ú °°ÀÌ init ÇÁ·Î¼¼½º¿¡ ·±·¹º§ º¯°æ ¸í·ÉÀ» ³»¸®´ø°¡: $ telinit 1 ȤÀº ÀçºÎÆÃÇؼ­ LILO ÇÁ·ÒÇÁÆ®¿¡¼­ ½Ì±Û À¯Àú ¸ðµå·Î ºÎÆÃÇϵµ·Ï ¿äûÇÒ ¼ö ÀÖ´Ù: LILO Boot: xfs single ÀÌ·¸°Ô ÇÏ¸é ½Ã½ºÅÛÀÌ ºÎÆ®µÇ°í ³ª¼­ ¹Ù·Î ·çÆ® ½©·Î µé¾î°¡¼­ ¿ÜºÎÀÇ Á¢¼ÓÀ̳ª °¡»óÅ͹̳ÎÀÌ ¾øÀ¸¹Ç·Î ´Ù¸¥ »ç¿ëÀÚµéÀ̳ª ÇÁ·Î¼¼½ºµé¿¡ ÀÇÇØ ÆÄÀϽýºÅÛÀÌ »ç¿ëµÉ ±âȸ°¡ ¾ø´Ù(ÆÄÀϽýºÅÛÀ» »ç¿ëÁßÀÌ¸é ´ç½ÅÀÌ ±×°ÍÀ» ¾ð¸¶¿îÆ® ÇÒ¼ö ¾ø°Ô ¸¸µç´Ù). ÀÌÁ¦ ´ç½ÅÀº ¿©ºÐÀÇ ÆÄƼ¼ÇÀ» ¸¶¿îÆ®ÇÒ ¼ö ÀÖ°í, ¿¹Àüó·³, À̵¿µÉ ÆÄƼ¼ÇÁßÀÇ Çϳª¸¦ ±×°÷¿¡ º¹»çÇ϶ó(¾Æ¸¶µµ / ¿¡¼­ ¿ÞÂÊÀ¸·ÎºÎÅÍ Á¸ÀçÇÏ´Â ³»¿ëÀ» Áö¿ö¾ß ÇÒ °ÍÀÌ´Ù), ¿¹ÀüÀÇ ÆÄÀϽýºÅÛÀ» ¾ð¸¶¿îÆ®ÇÏ°í, xfs ÆÄÀϽýºÅÛÀ» ±× À§¿¡ ¸¸µé°í, ±×°ÍÀ» xfs ·Î ´Ù½Ã ¸¶¿îÆ®ÇÏ°í, ¿¹ÀüÀÇ ÆÄÀϽýºÅÛÀÇ ³»¿ëÀ» ±×°÷¿¡ º¹»çÇ϶ó. ´ç½ÅÀÌ /dev/hda3 ÆÄƼ¼ÇÀ» /usr ·Î ¸¶¿îÆ®Çß´Ù°í °¡Á¤ÇÏÀÚ. ÀÌ °úÁ¤Àº ´ÙÀ½°ú À¯»çÇÒ °ÍÀÌ´Ù: $ mount -t ext2 /dev/hda4 /mnt/temp $ cd /usr $ tar lcf - .|(cd /mnt/temp; tar xpvf - ) $ umount /usr $ mkfs -t xfs /dev/hda3 $ mount -t xfs /dev/hda3 /usr $ tar lcf - .|(cd /usr; tar xpvf - ) /etc/fstab ¿¡¼­ /usr ÀÇ ÆÄÀϽýºÅÛ À¯ÇüÀ» xfs ·Î ¹Ù²Ù´Â °ÍÀ» ÀØÁö ¸»ÀÚ. ÀÌ°ÍÀÌ ±×°Í¿¡ ´ëÇÑ ÀüºÎ´Ù. ³ª¸ÓÁö À̵¿µÉ ÆÄÀϽýºÅÛÀº °°Àº ¹æ½ÄÀ¸·Î ÀÛµ¿Çϸç, ±× ÈÄ¿¡´Â ¿ÏÀüÇÑ ¸ÖƼÀ¯Àú ¸ðµå·Î ÀçºÎÆÃÇؼ­ ´ç½Å ÀÚ½ÅÀÇ "Linux on Steroids!" ¸¦ °®´Â °ÍÀÌ´Ù.