·çÆ® ÆÄÀϽýºÅÛÀ» ¸¸µé ¶§´Â ½Ã½ºÅÛ ±¸µ¿¿¡ ÇʼöÀûÀÎ ÆÄÀϵéÀ» °í¸£´Â ÀÛ¾÷ÀÌ ÇÊ¿äÇÕ´Ï´Ù. ÀÌ Àý¿¡¼´Â ¾ÐÃàµÈ ·çÆ® ÆÄÀϽýºÅÛÀÇ Á¦ÀÛ¹ýÀ» ¼³¸íÇÕ´Ï´Ù. º°·Î ¸¹ÀÌ ¾²ÀÌÁö´Â ¾ÊÁö¸¸ ¾ÐÃà¾ÈµÈ ÆÄÀϽýºÅÛÀ» µð½ºÄÏ»ó¿¡ ¸¸µé¾î Á÷Á¢ ·çÆ®·Î ¸¶¿îÆ®½ÃŰ´Â ¹æ¹ýµµ °¡´ÉÇÕ´Ï´Ù. ÀÌ ¹æ¹ýÀº 9.1Àý ºÎºÐ¿¡¼ ¼³¸íÇÕ´Ï´Ù.
·çÆ® ÆÄÀϽýºÅÛÀº Ç® »çÀÌÁîÀÇ ¿ÏÀüÇÑ ¸®´ª½º ½Ã½ºÅÛÀ» Áö¿øÇϱâ À§ÇÑ ¸ðµç °ÍÀ» °®Ãß¾î¾ß ÇÕ´Ï´Ù. À̸¦ À§Çؼ´Â ¸®´ª½º ½Ã½ºÅÛÀÇ ÃÖ¼Ò¿ä°Ç¸¸ÅÀº ·çÆ®µð½ºÅ©¿¡ ¹Ýµå½Ã ±¸ºñµÇ¾î¾ß ÇÕ´Ï´Ù.
±âº»ÀûÀÎ ÆÄÀÏ ½Ã½ºÅÛ ±¸Á¶
ÃÖ¼ÒÇѵµÀÇ µð·ºÅ丮µé : /dev, /proc, /bin, /etc, /lib, /usr, /tmp,
±âº»ÀûÀÎ À¯Æ¿¸®Æ¼µé : sh, ls, cp, mv, ±âŸ µîµî
ÇʼöÀûÀÎ ¼³Á¤ ÆÄÀϵé: rc, inittab, fstab, ±âŸ µîµî
µð¹ÙÀ̽º : /dev/hd*, /dev/tty*, /dev/fd0, ±âŸ µîµî
À¯Æ¿¸®Æ¼ ÇÁ·Î±×·¥¿¡ ÇÊ¿äÇÑ ±âº»ÀûÀÎ ÇÔ¼öµéÀ» Á¦°øÇÏ´Â ·±Å¸ÀÓ ¶óÀ̺귯¸®.
¹°·Ð, ¾î¶² ½Ã½ºÅÛÀÌ µÆµç°£¿¡ ¿øÇÏ´Â ÇÁ·Î±×·¥À» ½ÇÇà½Ãų ¼ö ÀÖÀ» ¶§ ºñ·Î¼Ò À̿밡ġ°¡ ÀÖ´Â °Å°ÚÁö¿ä. ±×·± Á¡¿¡ ¹Ì·ç¾î º¼¶§, ·çÆ® µð½ºÄÏÀ¸·Î ´ÙÀ½°ú °°Àº ÀÛ¾÷À» ÇÒ¼ö ÀÖ¾î¾ß ÇÒ°ÍÀÔ´Ï´Ù.
´Ù¸¥ µå¶óÀ̺꿡 ÀÖ´Â ÆÄÀÏ ½Ã½ºÅÛÀ» üũÇÏ´Â ÀÛ¾÷. ¿¹¸¦ µé¾î Çϵåµð½ºÅ©¿¡ ´ã±ä ·çÆ® ÆÄÀϽýºÅÛÀ» Á¡°ËÇϰíÀÚ ÇÑ´Ù¸é, ·çÆ®µð½ºÄÏ ½Ã½ºÅÛÀ» ¸¶¿îÆ®ÇÏ´Â µîÀÇ ¹æ¹ýÀ» ½á¼, Á¡°ËÇϰíÀÚ ÇÏ´Â Çϵåµð½ºÅ©°¡ ¾Æ´Ñ ´Ù¸¥ µð½ºÅ©¿¡¼ ¸®´ª½º¸¦ ºÎÆÃ½Ãų Çʿ䰡 ÀÖ½À´Ï´Ù. ÀÌ·¸°Ô Çϸé Çϵåµð½ºÅ©°¡ ¸¶¿îÆ®µÇÁö ¾ÊÀº »óÅ¿¡ ÀÖ°Ô µÇ¹Ç·Î ÀÌÁ¦ fsck ¸í·ÉÀ¸·Î Çϵåµð½ºÅ©¸¦ Á¡°ËÇÒ ¼ö ÀÖ½À´Ï´Ù.
cpio, tar, gzip, ftape µîÀÇ archive ¹× ¾ÐÃà À¯Æ¿¸®Æ¼¸¦ ½á¼ ¹é¾÷À¸·ÎºÎÅÍ ¿ø·¡ÀÇ ·çÆ®µå¶óÀ̺êÀÇ ÀüºÎ ȤÀº ÀϺθ¦ º¹±¸ÇÏ´Â ÀÛ¾÷.
ÀÌÁ¦ ¾ÐÃà ÆÄÀϽýºÅÛÀ» ¾î¶»°Ô ¸¸µå´ÂÁö ¼³¸íÇϰڽÀ´Ï´Ù. ¾ÐÃà ÆÄÀϽýºÅÛÀ̶ó´Â ¸»Àº ÆÄÀϽýºÅÛÀÌ µð½ºÅ©¿¡ ¾ÐÃàµÈ »óÅ·ΠÀÖ´Ù°¡ ºÎÆ®½Ã¿¡ ·¥µð½ºÅ©·Î ¾ÐÃàÀÌ Ç®¸®¸é¼ º¹»çµÇ´Â °ÍÀ» ¸»ÇÕ´Ï´Ù. ¾ÐÃà ÆÄÀϽýºÅÛÀ» ¾²¸é Ç¥ÁØ 1440K µð½ºÄÏ»ó¿¡ ÈξÀ ¸¹Àº ÆÄÀÏ(¾à 6¸Þ°¡ °¡·®)µéÀ» ³ÖÀ» ¼ö ÀÖ½À´Ï´Ù. ÆÄÀϽýºÅÛÀÌ µð½ºÄÏÀÇ ¿ë·®º¸´Ù ÈξÀ Å©±â ¶§¹®¿¡, µð½ºÄÏ À§¿¡ ÆÄÀÏ ½Ã½ºÅÛÀ» Á÷Á¢ ÀÛ¼ºÇÏ´Â °ÍÀº ºÒ°¡´ÉÇÕ´Ï´Ù. ÀÏ´Ü ´Ù¸¥ °÷¿¡¼ ÆÄÀÏ ½Ã½ºÅÛÀ» ¿ÏÀüÈ÷ ¸¸µç ÈÄ, À̸¦ ¾ÐÃàÇÑ ´ÙÀ½, ±× ¾ÐÃàµÈ °ÍÀ» µð½ºÄÏ¿¡ º¹»çÇØ³Ö¾î¾ß ÇÕ´Ï´Ù.
¾ÐÃàµÈ ·çÆ® ÆÄÀϽýºÅÛÀ» ¸¸µé±â À§Çؼ´Â ¾ÐÃàÀü¿¡ ¸ÕÀú, ÇÊ¿äÇÑ ¸ðµç ÆÄÀϵéÀ» ´ãÀ» ¼ö ÀÖ´Â ÃæºÐÇÑ Å©±âÀÇ ºó °ø°£ÀÌ ÇÊ¿äÇÕ´Ï´Ù. ¾à 4 ¸Þ°¡¹ÙÀÌÆ® °¡·®À» ´ãÀ»¼ö ÀÖ´Â µð¹ÙÀ̽º°¡ ÇÊ¿äÇÕ´Ï´Ù. ¸î °¡Áö ¹æ¹ýÀÌ ÀÖ½À´Ï´Ù.
·¥µð½ºÅ©¸¦ »ç¿ëÇÏ´Â ¹æ¹ýÀÔ´Ï´Ù(DEVICE = /dev/ram0). ÀÌ °æ¿ì ¸Þ¸ð¸® ÀϺΰ¡ °¡»óÀÇ µð½ºÅ© µå¶óÀ̺ê·Î ¼³Á¤µË´Ï´Ù. ·¥µð½ºÅ©´Â ÇÊ¿äÇÑ Å©±âÀÇ ÆÄÀϽýºÅÛÀ» ´ãÀ» ¼ö ÀÖÀ» Å©±â´Â µÇ¾î¾ß ÇÕ´Ï´Ù. ¸¸ÀÏ LILO ¸¦ ¾²°íÀÖ´Ù¸é ¼³Á¤ÆÄÀÏ(/etc/lilo.conf)¿¡ RAMDISK = nnn °°Àº ¶óÀÎÀÌ ÀÖ´ÂÁö È®ÀÎÇØ º¸¼¼¿ä. ÀÌ ¶óÀÎÀº ÇϳªÀÇ ·¥µð½ºÅ©°¡ °¡Áú¼ö ÀÖ´Â ÃÖ´ë ·¥Å©±â¸¦ Á¤ÇÏ´Â °ÍÀÔ´Ï´Ù. µðÆúÆ®´Â 4096K Àε¥ ÀÌ Á¤µµ¸é ÃæºÐÇÒ °ÍÀÔ´Ï´Ù. ¸¸¾à ½Ã½ºÅÛÀÇ ·¥ÀÌ 8 MB ¹Ì¸¸À̶ó¸é ·¥µð½ºÅ©¸¦ »ç¿ëÇÏ´Â ¹æ¹ýÀº ÇÇÇÏ´Â °ÍÀÌ ÁÁ½À´Ï´Ù.
/dev/ram0 À̳ª /dev/ram, ȤÀº /dev/ramdisk µîÀÇ µð¹ÙÀ̽º¸¦ °¡Áö°í ÀÖ´ÂÁö È®ÀÎÇϽʽÿÀ. ¸¸ÀÏ ¾ø´Ù¸é mknod ¸í·É(major number 1, minor 0)À¸·Î /dev/ram0¸¦ ¸¸µé¾î ÁÖ¾î¾ß ÇÕ´Ï´Ù.
¸¸¾à ¾²Áö ¾Ê´Â ¼ö ¸Þ°¡¹ÙÀÌÆ® Á¤µµÀÇ Çϵåµð½ºÅ© ÆÄƼ¼ÇÀÌ ÀÖ´Ù¸é À̸¦ ÀÌ¿ëÇØµµ µË´Ï´Ù.
·çÇÁ¹é µð¹ÙÀ̽º¸¦ ÀÌ¿ëÇÒ ¼öµµ ÀÖ½À´Ï´Ù. ·çÇÁ¹é µð¹ÙÀ̽º´Â ÆÄÀÏ Çϳª¸¦ ¸¶Ä¡ µð¹ÙÀ̽ºÃ³·³ Ãë±ÞÇÒ ¼ö ÀÖ°Ô ÇØÁÝ´Ï´Ù. Áï, ÆÄÀÏ ÇѰ³¸¦ ¸¶Ä¡ ÇϳªÀÇ Çϵåµð½ºÅ© ÆÄƼ¼Çó·³ ÀνĽÃŰ´Â °ÍÀÔ´Ï´Ù. ·çÇÁ¹é µð¹ÙÀ̽º¸¦ ÀÌ¿ëÇØ¼ Çϵåµð½ºÅ© »ó¿¡ 3 ¸Þ°¡¹ÙÀÌÆ® °¡·®ÀÇ ÆÄÀÏÀ» ¸¸µç ÈÄ ÀÌ À§¿¡ ÆÄÀÏ ½Ã½ºÅÛÀ» ¸¸µé ¼ö ÀÖ½À´Ï´Ù.
man losetup À̶ó°í ŸÀÌÇÎÇØº¸½Ê½Ã¿ä. ·çÇÁ¹é µð¹ÙÀ̽ºÀÇ »ç¿ë¹ýÀÌ Ãâ·ÂµÉ °ÍÀÔ´Ï´Ù. ¸¸ÀÏ losetup ÀÌ ¾ø´Ù¸é ftp://ftp.win.tue.nl/pub/linux-local/utils/util-linux/ µð·ºÅ丮¿¡¼ losetup °ú, ÀÌ¿¡ ¸Â´Â ¹öÀüÀÇ mount, umount ¹ÙÀ̳ʸ®°¡ µé¾îÀÖ´Â util-linux ÆÐŰÁö¸¦ ¹Þ¾Æ ¼³Ä¡ÇÏ¸é µË´Ï´Ù.
½Ã½ºÅÛ¿¡ ·çÇÁ µð¹ÙÀ̽º(/dev/loop0, /dev/loop1 µîµî)°¡ ¾ø´Ù¸é "mknod /dev/loop0 b 7 0" ¸í·ÉÀ¸·Î ¸¸µé¾î¾ß¸¸ ÇÕ´Ï´Ù. ÀûÀýÇÑ mount ¹× umount ¹ÙÀ̳ʸ®µéÀ» ¼³Ä¡Çß´Ù¸é, ¾Æ·¡ÀÇ ¸í·ÉÀ» ½á¼ Çϵåµð½ºÅ© »ó¿¡ ÃæºÐÇÑ Å©±âÀÇ ÀÓ½ÃÆÄÀÏÀ» ¸¸µå½Ê½Ã¿À(¿¹¸¦ µé¸é /tmp/fsfile).
dd if=/dev/zero of=/tmp/fsfile bs=1k count=nnn |
¹Ø¿¡¼ DEVICE ¶ó´Â ºÎºÐÀÌ ³ª¿ÃÅÙµ¥ °Å±â¿¡ À§ÀÇ ÆÄÀÏÀ̸§À» ´ë½Å ½áÁÖ¼¼¿ä. ¶ÇÇÑ, -o loop ¿É¼ÇÀ» ÁÖ¾î mount ÇÁ·Î±×·¥¿¡°Ô ·çÇÁ¹é µð¹ÙÀ̽º¸¦ ¸¶¿îÆ®ÇÔÀ» Áö½ÃÇØ¾ß ÇÕ´Ï´Ù. ¿¹¸¦ µé¸é ´ÙÀ½°ú °°½À´Ï´Ù.
mount -o loop -t ext2 /tmp/fsfile /mnt |
À§¿¡¼ ¸»ÇÑ ¼¼°¡Áö ¹æ¹ý Áß ¾î´À Çϳª¸¦ ¼±ÅÃÇϱâ·Î ¸¶À½¸Ô¾ú´Ù¸é ÀÌÁ¦ DEVICE ¿¡ ´ÙÀ½ ¸í·ÉÀ» ÁÖ¼¼¿ä.
dd if=/dev/zero of=DEVICE bs=1k count=4096 |
ÀÌ ¸í·ÉÀº µð¹ÙÀ̽ºÀÇ ³»¿ëÀ» ¸ðµÎ 0 À¸·Î ä¿ó´Ï´Ù.
Áß¿ä: µð¹ÙÀ̽º¸¦ 0 À¸·Î ä¿ì´Â ÀÛ¾÷ÀÌ Áß¿äÇÑ ÀÌÀ¯´Â µð¹ÙÀ̽º»óÀÇ ÆÄÀÏ ½Ã½ºÅÛÀº ³ªÁß¿¡ ¾ÐÃàµÇ°Ô µÇ¹Ç·Î »ç¿ëµÇÁö¾Ê´Â ¸ðµç ¿µ¿ªÀº 0 À¸·Î ä¿ö¾ß ÃÖ´ëÇÑÀ¸·Î ¾ÐÃàÇÒ¼ö Àֱ⠶§¹®ÀÔ´Ï´Ù. ÆÄÀϽýºÅÛ»ó¿¡¼ ÆÄÀÏÀ» Áö¿ì°Å³ª À̵¿½Ãų¶§´Â ÀÌ Á¡À» ²À ¸í½ÉÇϽʽÿä. ÆÄÀϽýºÅÛÀº ÇØ´ç ºí·ÏÀÇ ÇÒ´çÀ» ȸ¼öÇÔÀ¸·Î¼ ÈÀÏÀ» »èÁ¦, À̵¿½Ãŵ´Ï´Ù¸¸ À̶§ ±× ºí·ÏÀÇ ³»¿ë±îÁö ´Ù½Ã 0 À¸·Î ä¿öÁÖ´Â °ÍÀº ¾Æ´Õ´Ï´Ù. ÆÄÀÏÀÇ »èÁ¦¹× º¹»ç°¡ ºó¹øÇÑ °æ¿ì, ÃÖÁ¾ÀûÀÎ ´ç½ÅÀÇ ¾ÐÃà ÆÄÀϽýºÅÛÀº ÈξÀ Ä¿Á®¹ö¸± ¼ö ÀÖ½À´Ï´Ù.
±× ´ÙÀ½, ÆÄÀϽýºÅÛÀ» ¸¸µì´Ï´Ù. ¸®´ª½º Ä¿³ÎÀ» ÀÚµ¿À¸·Î ·¥µð½ºÅ©·Î º¹»çµÇµµ·Ï ÇØÁÖ´Â ·çÆ® µð½ºÅ©¿ë ÆÄÀϽýºÅÛÀº minix ¿Í ext2 ÆÄÀϽýºÅÛ ´Ü µÎ°¡Áö »ÓÀÔ´Ï´Ù. ÀÌÁß¿¡¼ ext2 ÆÄÀϽýºÅÛÀÌ º¸´Ù ¼±È£µÇ´Â ÆÄÀÏ ½Ã½ºÅÛÀÔ´Ï´Ù. ext2 ¸¦ ¾²¸é -N ¿É¼ÇÀ» ÁÖ¾î µðÆúÆ®°ªº¸´Ù ´õ ¸¹Àº inode ¸¦ ¼³Á¤ÇÒ ¼ö ÀÖ¾î Æí¸®ÇÕ´Ï´Ù. -N 2000 Á¤µµ·Î ¼³Á¤Çϸé inode °¡ ºÎÁ·ÇØÁö´Â ÀÏÀº ¾øÀ» °ÍÀÔ´Ï´Ù. ±×¹Û¿¡, /dev µð·ºÅ丮 ¹ØÀÇ ºÒÇÊ¿äÇÑ ÆÄÀϵéÀ» Á¦°ÅÇØ¼ inode ¸¦ Àý¾àÇÏ´Â ¹æ¹ýµµ ÀÖ½À´Ï´Ù. mke2fs ´Â µðÆúÆ®·Î 1.44 Mb µð½ºÄÏ¿¡ 360 °³ÀÇ inode¸¦ »ý¼ºÇÕ´Ï´Ù. ÇÊÀÚ°¡ ¾²´Â º¹±¸¿ë ·çÆ®µð½ºÄÏ¿¡´Â 120°³ ÀÇ inode °¡ ÀÖ°í ÀÌ Á¤µµ·Î ÃæºÐÇÏÁö¸¸ ¸¸ÀÏ ´ç½ÅÀÌ /dev µð·ºÅ丮³»ÀÇ µð¹ÙÀ̽º ÆÄÀϵéÀ» ÀüºÎ Æ÷ÇÔ½ÃŰ·Á ÇÑ´Ù¸é ÇÊ¿äÇÑ inode ¼ö´Â 360 °³¸¦ ½±°Ô ÃʰúÇØ ¹ö¸³´Ï´Ù. ¾ÐÃà ·çÆ®ÆÄÀϽýºÅÛÀ» »ç¿ëÇÏ¸é º¸´Ù Å« ÆÄÀϽýºÅÛÀ» ´ãÀ» ¼ö ÀÖ°í µû¶ó¼ µðÆúÆ®·Î º¸´Ù ¸¹Àº inode¸¦ ¾µ ¼ö ÀÖ½À´Ï´Ù¸¸ ±×·¡µµ ¿ª½Ã ÆÄÀÏÀÇ ¼ö¸¦ ÁÙÀ̰ųª inode ¼ö¸¦ ´ÃÀÏ Çʿ䰡 ÀÖÀ» °ÍÀÔ´Ï´Ù.
µû¶ó¼ ´ÙÀ½°ú ºñ½ÁÇÑ ¸í·ÉÀÌ ÇÊ¿äÇÕ´Ï´Ù.
mke2fs -m 0 -N 2000 DEVICE |
(·çÇÁ¹é µð¹ÙÀ̽º¸¦ »ç¿ëÇÑ´Ù¸é À§ÀÇ DEVICE ´ë½Å ÆÄÀÏÀ̸§À» ½á¾ß ÇÕ´Ï´Ù.)
mke2fs ¸í·ÉÀº ÀÚµ¿À¸·Î »ç¿ë°¡´ÉÇÑ ¿ë·®À» ÀÎÁöÇÏ°í ±×¿¡ ¸ÂÃç ÆÄÀϽýºÅÛÀ» ¼³Á¤ÇÕ´Ï´Ù. "-m 0" ÆÄ¶ó¸ÞÅÍ´Â mke2fs ·Î ÇÏ¿©±Ý root ¿ë °ø°£À» ÇÒ´çÇÏÁö ¸øÇÏ°Ô ÇÔÀ¸·Î½á »ç¿ë°¡´ÉÇÑ µð½ºÅ© ¿ë·®À» ´õ ¸¹ÀÌ È®º¸ÇÕ´Ï´Ù.
ÀÌÁ¦ µð¹ÙÀ̽º¸¦ ¸¶¿îÆ®Çϼ¼¿ä.
mount -t ext2 DEVICE /mnt |
´ÙÀ½Àº ¾Æ¸¶µµ ´ç½ÅÀÇ ·çÆ® ÆÄÀϽýºÅÛ¿¡ µé¾îÀÖ¾î¾ßÇÒ ÃÖ¼ÒÇÑÀÇ µð·ºÅ丮µéÀÔ´Ï´Ù. [1]
/dev -- µð¹ÙÀ̽ºµéÀÌ À§Ä¡ÇÕ´Ï´Ù. I/O ¿¡ ÇÊ¿äÇÕ´Ï´Ù
/proc -- proc ÆÄÀÏ ½Ã½ºÅÛ¿¡ ÇÊ¿äÇÑ µð·ºÅ丮
/etc -- ½Ã½ºÅÛ ¼³Á¤ÆÄÀϵéÀÌ À§Ä¡ÇÕ´Ï´Ù.
/sbin -- ½Ã½ºÅÛ¿¡ ¾ø¾î¼´Â ¾ÈµÉ Çʼö ¹ÙÀ̳ʸ®µéÀÌ À§Ä¡ÇÕ´Ï´Ù.
/bin -- ½Ã½ºÅÛÀÇ ÀϺηΠ°£ÁֵǴ ±âº»ÀûÀÎ ¹ÙÀ̳ʸ®µéÀÌ À§Ä¡ÇÕ´Ï´Ù.
/lib -- ·±Å¸ÀÓ Áö¿øÀÇ °øÀ¯¶óÀ̺귯¸®µéÀÌ À§Ä¡ÇÕ´Ï´Ù.
/mnt -- ´Ù¸¥ µð½ºÅ©µéÀ» °ü¸®Çϱâ À§ÇÑ ¸¶¿îÆ®Æ÷ÀÎÆ®
/usr -- ±×¹ÛÀÇ ¿©·¯ À¯Æ¿¸®Æ¼¿Í ÀÀ¿ëÇÁ·Î±×·¥µéÀÌ À§Ä¡ÇÕ´Ï´Ù.
·çÆ® ÈÀϽýºÅÛ»ó¿¡¼ À§ÀÇ µð·ºÅ丮 Áß 3 °³´Â ºó µð·ºÅ丮°¡ µË´Ï´Ù. µû¶ó¼ ±× 3 °³´Â mkdir ¸í·ÉÀ¸·Î µð·ºÅ丮¸¸ ¸¸µé¾î ÁÖ¸é µË´Ï´Ù. /proc µð·ºÅ丮´Â ´Ü¼øÈ÷ proc ÆÄÀÏ ½Ã½ºÅÛÀÌ À§Ä¡ÇÏ°Ô µÇ´Â Àå¼Ò(stub)ÀÏ »ÓÀÔ´Ï´Ù. /mnt ¿Í /usr µð·ºÅ丮µéÀº boot/root ½Ã½ºÅÛÀÌ °¡µ¿µÈ ÈÄ¿¡¾ß »ç¿ëµÇ´Â ¸¶¿îÆ®Æ÷ÀÎÆ®ÀÔ´Ï´Ù. µû¶ó¼ ´Ù½Ã ¸»¾¸µå¸®Áö¸¸ ÀÌ 3 °³ÀÇ µð·ºÅ丮´Â ´ÜÁö µð·ºÅ丮¸¸ ¸¸µé¾îÁÖ¸é µË´Ï´Ù.
ÀÌÁ¦ ³ª¸ÓÁö 4 °³ÀÇ µð·ºÅ丮¿¡ ´ëÇØ ¼³¸íµå¸®°Ú½À´Ï´Ù.
/dev µð·ºÅ丮¿¡´Â ½Ã½ºÅÛÀÌ »ç¿ëÇÏ´Â ¸ðµç µð¹ÙÀ̽ºµé °¢°¢¿¡ ´ëÀÀÇϴ Ư¼öÆÄÀϵéÀÌ À§Ä¡ÇÏ°Ô µË´Ï´Ù. /dev µð·ºÅ丮´Â ¸ðµç ¸®´ª½º ½Ã½ºÅÛ¿¡ ¹Ýµå½Ã ÀÖ¾î¾ß¸¸ ÇÏ´Â °Á¦»çÇ×ÀÔ´Ï´Ù. /dev µð·ºÅ丮 ÀÚü´Â º¸ÅëÀÇ µð·ºÅ丮¿Í ´Ù¸¦¹Ù ¾øÀ¸¹Ç·Î mkdir ¸í·É¾î·Î ±×³É ¸¸µé¾îÁÖ¸é µË´Ï´Ù. ÇÏÁö¸¸ /dev µð·ºÅ丮 ³»¿¡ À§Ä¡ÇÏ´Â µð¹ÙÀ̽º ÆÄÀÏµé ¸¸ÅÀº Ư¼öÇÑ ÆÄÀϵéÀ̹ǷΠmknod ¸í·ÉÀ» »ç¿ëÇϴ Ư¼öÇÑ ¹æ½ÄÀ¸·Î ¸¸µé¾îÁÖ¾î¾ß ÇÕ´Ï´Ù.
ÇÏÁö¸¸ º¸´Ù °£´ÜÇÑ ¹æ¹ýÀÌ ÀÖ½À´Ï´Ù. — ´ç½Å ½Ã½ºÅÛÀÇ Çϵåµð½ºÅ©¿¡ ÀÖ´Â /dev µð·ºÅ丮¿¡¼ ÇÊ¿äÇÑ µð¹ÙÀ̽º ÈÀϵéÀ» º¹»çÇØ¿À´Â °ÍÀÔ´Ï´Ù. À̶§ À¯³äÇØ¾ß ÇÒ °ÍÀº Ư¼ö µð¹ÙÀ̽º ÆÄÀϵéÀ» º¹»çÇØ ¿Ã ¶§´Â -R ¿É¼ÇÀ» ½á¼ º¹»çÇØ¾ß ÇÑ´Ù´Â Á¡ÀÔ´Ï´Ù. ÀÌ·¸°Ô ÇØ¾ß µð·ºÅ丮°¡ º¹»çµÉ ¶§ ÆÄÀϵéÀÇ ³»¿ëµéÀº º¹»çµÇÁö ¾Ê°Ô µË´Ï´Ù. ´ë¹®ÀÚ R ÀÓ¿¡ ÁÖÀÇÇϽʽÿÀ. ¸í·É¾îÀÇ ¿¹´Â ´ÙÀ½°ú °°½À´Ï´Ù.
cp -dpR /dev/fd[01]* /mnt/dev cp -dpR /dev/tty[0-6] /mnt/dev |
¾î·Á¿î ¹æ¹ýÀ¸·Î ÇØº¸°í ½Í´Ù¸é ls -l ·Î ¿øÇÏ´Â µð¹ÙÀ̽ºÀÇ ¸ÞÀÌÀú¿Í ¸¶ÀÌ³Ê µð¹ÙÀ̽º ³Ñ¹ö¸¦ Ãâ·ÂÇØ¼ È®ÀÎÇÑ ÈÄ mknod ¸í·ÉÀ» ½á¼ Á÷Á¢ ±×´ë·Î ¸¸µé¾î ÁÖ¸é µË´Ï´Ù.
µð¹ÙÀ̽º ÈÀϵéÀ» ´Ù ¸¸µé¾ú´Ù¸é, ÇÊ¿äÇÑ Æ¯¼ö µð¹ÙÀ̽ºµéÀÌ º¹±¸µð½ºÄÏ¿¡ Á¦´ë·Î µé¾î°¬´ÂÁö È®ÀÎÇϽʽÿä. ¿¹¸¦ µé¾î ftape ¸í·ÉÀº Å×ÀÌÇÁ µð¹ÙÀ̽º¸¦ »ç¿ëÇϹǷÎ, ´ç½ÅÀÌ ºÎÆ® µð½ºÅ©¸¦ ½á¼ Å×ÀÌÇÁ µå¶óÀ̺ê ÀåÄ¡µéÀ» ¾×¼¼½ºÇÒ ÀÛÁ¤À̶ó¸é Å×ÀÌÇÁ ÀåÄ¡¿¡ °ü·ÃµÈ µð¹ÙÀ̽º ÈÀϵéÀ» ´Ù Æ÷ÇÔ½ÃÄÑ¾ß ÇÒ°Ì´Ï´Ù.
°¢°¢ÀÇ Æ¯¼ö µð¹ÙÀ̽º ÆÄÀÏÀº Çϳª¾¿ÀÇ inode ¸¦ ÇÊ¿ä·Î Çϱ⠶§¹®¿¡ °æ¿ì¿¡ µû¶ó¼´Â inode °¡ ºÎÁ·ÇÒ ¼ö ÀÖ½À´Ï´Ù. ƯÈ÷³ª µð½ºÄÏ ÆÄÀÏ ½Ã½ºÅÛ¿¡¼´Â ´õ¿í ±×·¸½À´Ï´Ù. µû¶ó¼ ÇÊ¿äÇÑ µð¹ÙÀ̽ºµé¸¸ °ñ¶ó¼ Æ÷ÇÔ½ÃŰ½Ê½Ã¿ä. ¿¹¸¦ µé¾î SCSI µð½ºÅ©¸¦ °¡Áö°í ÀÖÁö ¾Ê´Ù¸é /dev/sd* ·Î ½ÃÀÛÇÏ´Â µð¹ÙÀ̽º ÆÄÀϵéÀº ¹«½ÃÇØµµ ÁÁ½À´Ï´Ù. ¸¶Âù°¡Áö·Î, ½Ã¸®¾ó Æ÷Æ®¸¦ »ç¿ëÇÒ ÀÏÀÌ ¾ø´Ù¸é /dev/ttyS* ·Î ½ÃÀÛÇÏ´Â µð¹ÙÀ̽º ÆÄÀϵéÀº ¹«½ÃÇØµµ ÁÁ½À´Ï´Ù.
¸¸ÀÏ, ·çÆ® ÆÄÀϽýºÅÛÀ» ¸¸µé´Ù°¡ No space left on device À̶ó´Â ¿¡·¯°¡ ¶¹´Âµ¥ ¸·»ó df ¸í·ÉÀ» ³»·Áº¸¸é »ç¿ë°¡´ÉÇÑ °ø°£ÀÌ ¾ÆÁ÷ ³²¾ÆÀÖ´Â °æ¿ì¶ó¸é ¾Æ¸¶µµ inode ¸¦ ´Ù½á¹ö¸° °æ¿ìÀÏ °Ì´Ï´Ù. df -i ¸í·ÉÀº inode ÀÇ »ç¿ë»óŸ¦ º¸¿©ÁÝ´Ï´Ù.
Áß¿ä: /dev µð·ºÅ丮¿¡ ´ÙÀ½ ÈÀϵéÀº ¹Ýµå½Ã Æ÷ÇԵǾî¾ß ÇÔÀ» ¸í½ÉÇϼ¼¿ä: console, kmem, mem, null, ram0, tty1.
/etc µð·ºÅ丮¿¡´Â ¼³Á¤ÆÄÀϵéÀÌ µé¾î°©´Ï´Ù. »ç¿ëÇÏ½Ç ÇØ´ç ÇÁ·Î±×·¥µé¿¡ µû¶ó ÇÊ¿äÇÑ ¼³Á¤ÆÄÀϵéÀ» ³Ö¾î¾ß ÇÕ´Ï´Ù. ´ëºÎºÐÀÇ ½Ã½ºÅÛ¿¡ ÀÖ¾î ¼³Á¤ÆÄÀϵéÀº ´ÙÀ½ ¼¼°¡Áö Á¤µµ·Î ºÐ·ùÇÒ ¼ö ÀÖ½À´Ï´Ù.
¾ðÁ¦³ª ¹Ýµå½Ã ÇÊ¿äÇÑ ÆÄÀϵé. ¿¹¸¦ µé¸é rc, fstab, passwd µîµî.
¹Ýµå½Ã´Â ¾Æ´ÏÁö¸¸ ´ëü·Î ÇÊ¿äÇÏ´Ù°í »ý°¢µÇ´Â ÆÄÀϵé.
±×¿Ü ÇÊ¿äÇÑ À⵿»ç´Ïµé.
ls -ltru |
ÇÊÀÚÀÇ ·çÆ®µð½ºÄÏ¿¡´Â ¾à 15 °³ Á¤µµÀÇ ¼³Á¤ÆÄÀÏÀÌ µé¾îÀÖ½À´Ï´Ù. ¿ëµµ¿¡ µû¶ó ¼¼°¡Áö Á¤µµ·Î ³ª´©¾î º¸°Ú½À´Ï´Ù.
boot/root ½Ã½ºÅÛÀ» ¼³Á¤Çϴµ¥ ²À ÇÊ¿äÇÑ ¼³Á¤ÆÄÀϵé :
rc.d/* -- ½Ã½ºÅÛ ±âµ¿ ¹× ·±·¹º§ º¯°æ ½ºÅ©¸³Æ®µé
fstab -- ¸¶¿îÆ®µÉ ÆÄÀÏ ½Ã½ºÅÛÀÇ ¸®½ºÆ®
inittab -- init ÇÁ·Î¼¼½º¿¡ ´ëÇÑ ÆÄ¶ó¸ÞÅ͵éÀÌ ´ã°ÜÀÖ½À´Ï´Ù. init ´Â ºÎÆÃ½ÃÀÇ Ã¹¹øÂ° ÇÁ·Î¼¼½ºÀÔ´Ï´Ù.
gettydefs -- init ÇÁ·Î¼¼½º¿¡ ´ëÇÑ ÆÄ¶ó¸ÞÅ͵éÀÌ ´ã°ÜÀÖ½À´Ï´Ù. init ´Â ºÎÆÃ½ÃÀÇ Ã¹¹øÂ° ÇÁ·Î¼¼½ºÀÔ´Ï´Ù.
boot/root ½Ã½ºÅÛÀÇ Á¤µ·¿¡ ÇÊ¿äÇÑ ¼³Á¤ÆÄÀϵé :
passwd -- »ç¿ëÀÚ, Ȩ µð·ºÅ丮 µîµîÀÌ ±â·ÏµÈ ±ØÈ÷ Áß¿äÇÑ ¸®½ºÆ®
group -- »ç¿ëÀÚ ±×·ìµé
shadow -- »ç¿ëÀÚµéÀÇ ÆÐ½º¿öµå. »ç¿ëÇÏÁö ¾ÊÀ» ¼öµµ ÀÖ½À´Ï´Ù.
termcap -- Å͹̳ÎÀÇ ±â´É¿¡ ´ëÇÑ µ¥ÀÌÅͺ£À̽º
º¸¾ÈÀÌ Áß¿äÇÑ °æ¿ì¶ó¸é »ç¿ëÀÚ ÆÐ½º¿öµå°¡ ½Ã½ºÅÛÀ» ¶°³ª Á¸ÀçÇÏÁö ¾Êµµ·Ï passwd ¿Í shadow ´Â µð½ºÄÏÀ¸·Î º¹»çÇØ¿ÀÁö ¾Ê´Â °ÍÀÌ ÁÁ½À´Ï´Ù. ÀÌ·¸°Ô ÇØµÎ¸é µð½ºÄÏÀ¸·Î ºÎÆÃ½Ã ¿øÄ¡¾Ê´Â »ç¿ëÀÚÀÇ ·Î±×ÀÎÀ» ¸·À» ¼ö ÀÖ½À´Ï´Ù.
passwd ´Â Àû¾îµµ root ¸¸ÅÀº Æ÷ÇÔÇϰí ÀÖ¾î¾ß ÇÕ´Ï´Ù. ¸¸ÀÏ ´Ù¸¥ »ç¿ëÀڵ鵵 ÀÌ µð½ºÄÏÀ¸·Î ·Î±×ÀÎÇÒ ¼ö ÀÖ°Ô ÇÏ·Á¸é ÀÌ ÈÀÏ·Î ±× »ç¿ëÀÚÀÇ È¨ µð·ºÅ丮¿Í ½©À» ¸¶·ÃÇØ ÁÖ¾î¾ß ÇÕ´Ï´Ù.
termcap, Áï Å͹̳Πµ¥ÀÌÅͺ£À̽º´Â º¸Åë ¼ö¹é ų·Î¹ÙÀÌÆ® °¡·® µË´Ï´Ù. boot/root µð½ºÄÏ¿¡´Â ´ç½ÅÀÌ ÁÖ·Î »ç¿ëÇÏ´Â Å͹̳εéÀÇ ¿£Æ®¸®¸¸ ³²±â°í ³ª¸ÓÁö´Â »èÁ¦Çϼ¼¿ä. º¸ÅëÀº linux ȤÀº linux-console ¿£Æ®¸®¸¸ ³²±â¸é µÉ°Ì´Ï´Ù.
³ª¸ÓÁö ±âŸ ¼³Á¤ÆÄÀϵé. ¶§·Î ÇÊ¿äÇÑ °æ¿ì°¡ ÀÖ¾î¼ ÇÊÀÚ´Â ³²°ÜµÎ°í ÀÖ½À´Ï´Ù.
ÇÊÀÚ´Â ÀÌ Áß¿¡¼ µÎ °¡Áö ÆÄÀϸ¸ÅÀº ¹Ýµå½Ã ¼³Á¤ÇØÁִµ¥ ±× ³»¿ëÀº ¹«Ã´À̳ª °£´ÜÇÕ´Ï´Ù.
rc ¿¡´Â ´ÙÀ½ ³»¿ëÀÌ µé¾îÀÖ½À´Ï´Ù.
#!/bin/sh /bin/mount -av /bin/hostname Kangaroo |
fstab ¿¡´Â ÃÖ¼ÒÇÑ ´ÙÀ½ ³»¿ëÀº µé¾îÀÖ¾î¾ß ÇÕ´Ï´Ù.
/dev/ram0 / ext2 defaults /dev/fd0 / ext2 defaults /proc /proc proc defaults |
inittab ÆÄÀϳ»ÀÇ sysinit ¶óÀÎÀº rc ³ª ±× ¹ÛÀÇ ±âº»ÀûÀÎ ºÎÆ®½ºÅ©¸³Æ®¸¦ ±¸µ¿½Ãų¼ö ÀÖµµ·Ï ¼öÁ¤µÇ¾î¾ß¸¸ ÇÕ´Ï´Ù. ¶ÇÇÑ, ½Ã¸®¾ó Æ÷Æ®ÂÊÀ¸·Î »ç¿ëÀÚ°¡ Á¢¼ÓÇÏ´Â °ÍÀ» ¸·À¸·Á¸é getty ¼³Á¤ ¿£Æ®¸®Áß ¶óÀÎ ³¡ºÎºÐ¿¡ ttys ³ª ttyS µð¹ÙÀ̽º°¡ ÀûÈù ¿£Æ®¸®µéÀº ÁÖ¼®Ã³¸® ÇϽʽÿä. ´Ü, ´ç½ÅÀÌ ÄַܼΠ·Î±×ÀÎÇÒ tty Æ÷Æ®µé ¸¸ÅÀº ³²°ÜµÎ¼¼¿ä.
°¡Àå °£´ÜÇÑ inittab ÆÄÀÏÀº ´ÙÀ½°ú À¯»çÇÑ ¸ð½ÀÀÔ´Ï´Ù.
id:2:initdefault: si::sysinit:/etc/rc 1:2345:respawn:/sbin/getty 9600 tty1 2:23:respawn:/sbin/getty 9600 tty2 |
¾î¶² ÇÁ·Î±×·¥µéÀº ´Ù¸¥ À§Ä¡¿¡ ÀÖ´Â °ÍÀÌ Çã¿ëµÇÁö ¾Ê°í ¹Ýµå½Ã Á¤ÇØÁø µð·ºÅ丮¿¡ À§Ä¡ÇØ¾ß ÇÕ´Ï´Ù. ÀÌ´Â ´Ù¸¥ ÇÁ·Î±×·¥ ¼Ó¿¡ ±× À§Ä¡°¡ ÇϵåÄÚµùµÇ¾ú±â ¶§¹®ÀÔ´Ï´Ù. ¿¹¸¦ µé¾î ÇÊÀÚÀÇ ½Ã½ºÅÛÀÇ °æ¿ì, /etc/shutdown Àº reboot ÀÇ À§Ä¡¸¦ /etc/reboot ·Î ÇϵåÄÚµù ÇÏ¿´½À´Ï´Ù. ¸¸ÀÏ ÇÊÀÚ°¡ reboot ÆÄÀÏÀ» /bin/reboot ¿¡ µÐ ÈÄ shutdown ¸í·ÉÀ» ³»¸°´Ù¸é, /etc µð·ºÅ丮¿¡¼ reboot ÆÄÀÏÀ» ãÀ» ¼ö ¾ø¾î ½ÇÆÐÇÏ°í ¸» °ÍÀÔ´Ï´Ù.
±× ¹ÛÀÇ ³ª¸ÓÁö ÆÄÀϵéÀÇ °æ¿ì, /etc µð·ºÅ丮³»ÀÇ ÅØ½ºÆ® ÆÄÀϵéÀº ±×³É ¸ù¶¥ º¹»çÇϽʽÿä. /etc µð·ºÅ丮³»ÀÇ ½ÇÇàÈÀϵ鵵 ÇÊ¿äÇÑ °ÍÀÎÁö ¾Æ´ÑÁö Á¤È®È÷ ¸ð¸£½Ã°Ú´Ù¸é ±×³É ¸ðµÎ º¹»çÇϽʽÿÀ. ºÎ·Ï C ÀýÀ» Âü°íÇϽñ⠹ٶø´Ï´Ù. ¾Æ¸¶µµ °Å±â¿¡ ³ª¿Â ÆÄÀϵéÀ» º¹»çÇÏ´Â °ÍÀ¸·Î ÃæºÐÇϰÚÁö¸¸ ½Ã½ºÅÛÀº ¼·Î ¸¹Àº Â÷À̰¡ ÀÖÀ» ¼ö ÀÖÀ¸¹Ç·Î ´ç½ÅÀÇ ½Ã½ºÅÛ»óÀÇ ÆÄÀϵéÀÌ °ßº»ÀÇ ÆÄÀϵé°ú °°Àº ¿ªÇÒÀ» ÇÑ´Ù°í Àå´ãÇÒ ¼ö´Â ¾ø½À´Ï´Ù. °¡Àå È®½ÇÇÑ À¯ÀÏÇÑ ¹æ¹ýÀº inittab ¿¡¼ºÎÅÍ ½ÃÀÛÇØ¼ ÇÊ¿äÇÑ °ÍµéÀ» ÇϳªÇϳª È®ÀÎÇØ ³ª°¡´Â ¹æ¹ý »ÓÀÔ´Ï´Ù.
ÇöÀç ´ëºÎºÐÀÇ ½Ã½ºÅÛµéÀº °¢°¢ÀÇ ·±·¹º§¿¡ ÇØ´çÇÏ´Â ½© ½ºÅ©¸³Æ®µéÀ» /etc/rc.d/ µð·ºÅ丮 ¹Ø¿¡ µÎ°í ÀÖ½À´Ï´Ù. °¡Àå °£´ÜÇÑ °æ¿ì¶ó¸é rc ½ºÅ©¸³Æ® Çϳª »ÓÀϼöµµ ÀÖ°ÚÁö¸¸ ´ë°³´Â ¸î°³ÀÇ ½ºÅ©¸³Æ® ÆÄÀϵéÀÌ ¿¬´Þ¾Æ ¼öÇàµË´Ï´Ù. µû¶ó¼ ´ç½ÅÀÇ ¿ø·¡ ½Ã½ºÅÛÀ¸·ÎºÎÅÍ ÀÏ´Ü inittab ¿Í /etc/rc.d µð·ºÅ丮¸¦ Åë°·Î º¹»çÇØ¿Â ÈÄ µð½ºÄÏ ½Ã½ºÅÛ¿¡ ÇÊ¿ä¾ø´Â rc.d µð·ºÅ丮ÀÇ ½© ½ºÅ©¸³Æ®µéÀ» Çϳª¾¿ Áö¿ö³ª°¡´Â ¹æ¹ýÀÌ ´õ Æí¸®ÇÒ °ÍÀÔ´Ï´Ù.
/bin µð·ºÅ丮´Â ±âº»ÀûÀÎ ÀÛ¾÷¿¡ ÇÊ¿äÇÑ ls, mv, cat, dd µîµîÀÇ Ãß°¡ÀûÀÎ À¯Æ¿¸®Æ¼µéÀ» µÎ±â¿¡ Æí¸®ÇÑ °÷ÀÔ´Ï´Ù. ºÎ·ÏÀÇ ºÎ·Ï C ¿¡ ÀÖ´Â /bin °ú /sbin µð·ºÅ丮ÀÇ ÆÄÀϵéÀ» Âü°íÇϼ¼¿ä. cpio, tar, gzip µî°ú °°Àº ¹é¾÷¿¡ ÇÊ¿äÇÑ À¯Æ¿¸®Æ¼µéÀº ÀÌ µð·ºÅ丮¿¡ Æ÷ÇÔ½ÃŰÁö ¾Ê¾Ò½À´Ï´Ù. ÇÊÀÚÀÇ °æ¿ì, ±×·± À¯Æ¿¸®Æ¼µéÀº boot/root µð½ºÄÏÀÇ ¿ë·®À» ¾Æ³¢±â À§ÇØ µû·Î À¯Æ¿¸®Æ¼ µð½ºÅ©¿¡ ³Ö¾îµÓ´Ï´Ù. ÀÏ´Ü boot/root µð½ºÄÏÀÌ ºÎÆÃÀÌ µÇ¾î ·¥µð½ºÅ©·Î ·ÎµùµÇ°í³ª¸é, µð½ºÄÏÀ» »©°í À¯Æ¿¸®Æ¼ µð½ºÄÏÀ¸·Î ¹Ù²ã³ÖÀº ÈÄ À̸¦ ¸¶¿îÆ® ÇÒ ¼ö ÀÖ½À´Ï´Ù. ÇÊÀÚ´Â º¸Åë ÀÌ À¯Æ¿¸®Æ¼ µð½ºÄÏÀ» /usr ·Î ¸¶¿îÆ®ÇÕ´Ï´Ù.
À¯Æ¿¸®Æ¼ µð½ºÄÏÀ» ¸¸µå´Â ¹æ¹ýÀº ¾Æ·¡ÀÇ 9.2Àý Æí¿¡ ³ª¿ÍÀÖ½À´Ï´Ù. ¹é¾÷À» ÇÒ ¶§¿¡´Â ¹é¾÷º» ¿Ü¿¡µµ ¹é¾÷À» ¸¸µå´Âµ¥ »ç¿ëµÈ ¹é¾÷ À¯Æ¿¸®Æ¼µé ¿ª½Ã µ¿ÀÏ ¹öÀüÀ¸·Î Çϳª º¹»çÇØµÎ´Â ÆíÀÌ ¹Ù¶÷Á÷ÇÕ´Ï´Ù. ÀÌ·¸°Ô ÇØµÎ¸é ³ªÁß¿¡ Ãֽйé¾÷ À¯Æ¿¸®Æ¼µéÀÌ ¹öÀüÀÇ Â÷ÀÌ·Î ÀÎÇØ ¿¾³¯ ¹é¾÷ Å×ÀÌÇÁ¸¦ ÀÐÁö ¸øÇÏ´Â ºÒ»ó»ç¸¦ ÇÇÇÒ ¼ö ÀÖ½À´Ï´Ù.
Áß¿ä: ´ÙÀ½ ÇÁ·Î±×·¥µéÀÌ Æ÷ÇԵǾú´ÂÁö È®ÀÎÇϼ¼¿ä: init, getty ·ùÀÇ ÇÁ·Î±×·¥, login, mount, rc ½ºÅ©¸³Æ®¸¦ ½ÇÇà½Ãų ¼ö ÀÖ´Â ½© ÇÁ·Î±×·¥, ±×¸®°í ½©À» sh ¿¡ ¸µÅ©½ÃÄ×´ÂÁöµµ È®ÀÎÇϽʽÿä.
/lib ¿¡´Â ÇÊ¿äÇÑ °øÀ¯ ¶óÀ̺귯¸®¿Í ·Î´õµéÀ» µÎ¾î¾ß ÇÕ´Ï´Ù. ¸¸ÀÏ ÇÊ¿äÇÑ ¶óÀ̺귯¸®°¡ /lib µð·ºÅ丮¿¡¼ ¹ß°ßµÇÁö ¾Ê´Â´Ù¸é ½Ã½ºÅÛÀº ºÎÆÃ¿¡ ½ÇÆÐÇÏ°Ô µË´Ï´Ù. ¿îÀÌ ÁÁ´Ù¸é ¿Ö ¿¡·¯°¡ ³µ´Â°¡ÇÏ´Â ¿¡·¯¸Þ½ÃÁö Á¤µµ´Â ¹ÞÀ» ¼ö ÀÖÀ»Áö ¸ð¸¨´Ï´Ù.
°ÅÀÇ ¸ðµç ÇÁ·Î±×·¥µéÀÌ Àû¾îµµ libc ¶óÀ̺귯¸®ÀÎ libc.so.N ¸¸ÅÀº ¹Ýµå½Ã ÇÊ¿ä·Î ÇÕ´Ï´Ù. ¿©±â¼ N Àº ÇöÀçÀÇ ¹öÀü³Ñ¹ö¸¦ ¶æÇÕ´Ï´Ù. ´ç½ÅÀÇ /lib µð·ºÅ丮¸¦ È®ÀÎÇϼ¼¿ä. º¸Åë, libc.so.N Àº ¿ÏÀüÇÑ ¹öÀü³Ñ¹ö¸¦ °¡Áø ÆÄÀÏÀ̸§¿¡ ½Éº¼¸¯ ¸µÅ©µÇ¾î ÀÖ½À´Ï´Ù.
% ls -l /lib/libc.so* -rwxr-xr-x 1 root root 4016683 Apr 16 18:48 libc-2.1.1.so* lrwxrwxrwx 1 root root 13 Apr 10 12:25 libc.so.6 -> libc-2.1.1.so* |
ÀÌ °æ¿ì, ´ç½ÅÀº libc-2.1.1.so °¡ ÇÊ¿äÇÕ´Ï´Ù. Æ÷ÇÔ½ÃŰ·Á°í ÇÏ´Â ¹ÙÀ̳ʸ®µéÀÌ ¾î¶² ¶óÀ̺귯¸®¸¦ ÇÊ¿ä·Î Çϰí ÀÖ´ÂÁö ±× ÀÇÁ¸¼ºÀ» °Ë»çÇØ º¸·Á¸é ldd ¸í·É¾î¸¦ ¤¶½Ê½Ã¿À. ¿¹¸¦ µé¸é ´ÙÀ½°ú °°½À´Ï´Ù.
% ldd /sbin/mke2fs libext2fs.so.2 => /lib/libext2fs.so.2 (0x40014000) libcom_err.so.2 => /lib/libcom_err.so.2 (0x40026000) libuuid.so.1 => /lib/libuuid.so.1 (0x40028000) libc.so.6 => /lib/libc.so.6 (0x4002c000) /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000) |
ÀϺΠ¶óÀ̺귯¸®µéÀº »ó´çÈ÷ Ä¿¼ ´ç½ÅÀÇ ·çÆ® ÆÄÀϽýºÅÛ¿¡ ½±»ç¸® µé¾î°¡Áö ¾ÊÀ»Áöµµ ¸ð¸¨´Ï´Ù. ¿¹¸¦ µé¾î À§¿¡ ³ª¿Â libc.so ´Â ¾à 4 ¸Þ°¡³ª µË´Ï´Ù. ÀÌ·± ¶óÀ̺귯¸®µéÀ» ·çÆ® ÈÀϽýºÅÛÀ¸·Î ¿Å±â·Á¸é ½ºÆ®¸³(strip)½Ãų Çʿ䰡 ÀÖ½À´Ï´Ù. ½ºÆ®¸³½ÃŰ´Â ¹æ¹ýÀº 8Àý ÀýÀ» ÂüÁ¶Çϼ¼¿ä.
¶ÇÇÑ, /lib ¿¡´Â ¶óÀ̺귯¸®¿ëÀÇ ·Î´õ¸¦ Æ÷ÇÔ½ÃÄÑ¾ß ÇÕ´Ï´Ù. ±× ·Î´õ´Â ld.so (A.OUT ¶óÀ̺귯¸®¿ëÀ¸·Î, ÇöÀç º°·Î »ç¿ëµÇÁö ¾ÊÀ½)À̳ª ld-linux.so (ELF ¶óÀ̺귯¸®¿ë)ÀÏ °ÍÀÔ´Ï´Ù. ÃÖ±Ù ¹öÀüÀÇ ldd ´Â À§ÀÇ ¿¹Ã³·³ Á¤È®È÷ ¾î¶² ·Î´õ°¡ ÇÊ¿äÇÑÁö¸¦ °¡¸£ÃÄÁÖÁö¸¸ ¿¾³¯ ¹öÀüÀº ±×·¸Áö ¾Ê½À´Ï´Ù. ¾î¶² ·Î´õ°¡ ÇÊ¿äÇÑÁö ÀÚ½ÅÀÌ ¾ø´Ù¸é ¶óÀ̺귯¸®¿¡ ´ëÇØ file ¸í·ÉÀ» ½ÇÇà½ÃŰ¼¼¿ä. ¿¹¸¦ µé¸é ´ÙÀ½°ú °°½À´Ï´Ù.
% file/lib/libc.so.4.7.2 /lib/libc.so.5.4.33 /lib/libc-2.1.1.so /lib/libc.so.4.7.2: Linux/i386 demand-paged executable (QMAGIC), stripped /lib/libc.so.5.4.33: ELF 32-bit LSB shared object, Intel 80386, version 1, stripped /lib/libc-2.1.1.so: ELF 32-bit LSB shared object, Intel 80386, version 1, not stripped |
¸¸µé°íÀÚ ÇÏ´Â ·çÆ® ÆÄÀϽýºÅÛ¿¡ ÇÊ¿äÇÑ ·Î´õµéÀ» °ñ¶ó º¹»çÇϼ¼¿ä. ¶óÀ̺귯¸®¿Í ·Î´õµéÀÌ °ú¿¬ ¹ÙÀ̳ʸ®¿¡ ¸Â´Â °ÍÀÎÁö ÁÖÀDZí°Ô Ã¼Å©ÇØ º¸¾Æ¾ß¸¸ ÇÕ´Ï´Ù. ¸¸ÀÏ Ä¿³ÎÀÌ ÇÊ¿äÇÑ ¶óÀ̺귯¸®¸¦ ·ÎµåÇÏÁö ¸øÇÏ¸é ´ëºÎºÐÀÇ °æ¿ì ¿¡·¯¸Þ½ÃÁöÁ¶Â÷ ¾øÀÌ ±×³É ¸ØÃß¾î ¹ö¸³´Ï´Ù.
´ç½Å ½Ã½ºÅÛ¿¡´Â ldd ·Î È®ÀÎÇÒ ¼ö ¾ø´Â µ¿Àû ¶óÀ̺귯¸®°¡ ÇÊ¿äÇÒ ¼öµµ ÀÖ½À´Ï´Ù. ±×·± °æ¿ì¸¦ ¹«½ÃÇß´Ù°¡´Â ºÎÆ®µð½ºÅ©·Î ·Î±×ÀÎÇϰųª »ç¿ëÇÒ ¶§ ¹®Á¦°¡ »ý±æ ¼ö ÀÖ½À´Ï´Ù.
¸¸ÀÏ ´ç½ÅÀÇ ½Ã½ºÅÛÀÌ PAM(Pluggable Authentication Modules)À» ¾²°í ÀÖ´Ù¸é ºÎÆ®µð½ºÅ© »ó¿¡ PAM À» À§ÇÑ ¸î°¡Áö Áغñ¸¦ ÇØÁÖ¾î¾ß ÇÕ´Ï´Ù. °£´ÜÈ÷ ¸»Çؼ PAM À̶õ »ç¿ëÀÚ¸¦ ÀÎÁõÇÏ°í ±× »ç¿ëÀÚÀÇ ¼ºñ½º¿¡ ´ëÇÑ ¾×¼¼½º¸¦ ÄÁÆ®·ÑÇÏ´Â Á¤±³ÇÏ°Ô ¸ðµâÈµÈ ¹æ¹ýÀÔ´Ï´Ù. ½Ã½ºÅÛÀÌ PAM À» ¾²°íÀÖ´ÂÁö ½±°Ô È®ÀÎÇØº¸·Á¸é login ½ÇÇàÈÀÏ¿¡ ldd ¸¦ ½ÇÇà½ÃÄÑ º¸½Ê½Ã¿ä. libpam.so µîÀÇ Ãâ·ÂÀÌ ³ª¿À´Ù¸é PAM ÀÌ ÇÊ¿äÇÑ °ÍÀÔ´Ï´Ù.
¿îÁÁ°Ôµµ, ºÎÆ®µð½ºÅ©¿¡ ÀÖ¾î¼ º¸¾ÈÀº º¸Åë °ü½É¹ÛÀÇ »çÇ×ÀÔ´Ï´Ù. ÀÌ¹Ì ÄÄÇ»ÅÍ º»Ã¼¿¡ ÀÌ·± ½ÄÀÇ ¹°¸®Àû ¾×¼¼½º¸¦ ÇÒ ±ÇÇÑÀÌ ÀÖ´Â »ç¶÷À̶ó¸é ºÎÆÃ µð½ºÄÏ Â÷¿øÀÇ º¸¾ÈµûÀ§¿¡ °³ÀÇÄ¡ ¾Ê°í ¹«½¼ ¼ö¸¦ ½á¼µç ¼Ò±âÀÇ ¸ñÀûÇÑ ¹Ù¸¦ ´Þ¼ºÇÒ ¼ö ÀÖÀ»Å״ϱî¿ä. µû¶ó¼, ºÎÆÃ µð½ºÄÏ¿¡¼ ±»ÀÌ PAM ±îÁö °í·ÁÇÒ ÇÊ¿ä´Â º°·Î ¾øÀ» °ÍÀÔ´Ï´Ù. ·çÆ®µð½ºÄÏ¿¡ ´ÙÀ½°ú ºñ½ÁÇÑ ÇüÅÂÀÇ °£´ÜÇÑ /etc/pam.conf ÆÄÀÏÀ» ¸¸µé¾îµÎ¸é ½±°Ô PAM ±â´ÉÀ» ¹«·ÂȽÃų ¼ö ÀÖ½À´Ï´Ù.
OTHER auth optional /lib/security/pam_permit.so OTHER account optional /lib/security/pam_permit.so OTHER password optional /lib/security/pam_permit.so OTHER session optional /lib/security/pam_permit.so |
À§¿Í°°ÀÌ ¼³Á¤Çϸé ÀÌ µð½ºÄÏÀ¸·Î ´ç½Å ¸Ó½ÅÀÇ ÆÄÀÏÀ̳ª ¼ºñ½º¿¡ ´©±¸µç ¾Æ¹« Á¦ÇѾøÀÌ ¾×¼¼½ºÇÒ ¼ö ÀְԵ˴ϴÙ. ¸¸ÀÏ ¾î¶² ÀÌÀ¯·Î ºÎÆ®µð½ºÅ©»óÀÇ º¸¾È¿¡µµ ½Å°æÀ» ½á¾ß ÇÏ´Â »óȲÀ̶ó¸é, Çϵåµð½ºÅ©ÀÇ PAM ¼³Á¤ÀÇ ÀϺΠȤÀº ÀüºÎ¸¦ ´ç½ÅÀÇ ·çÆ® ÆÄÀϽýºÅÛÀ¸·Î º¹»çÇØ¾ß¸¸ ÇÕ´Ï´Ù. PAM ¿¡ °üÇÑ ¹®¼¸¦ ÁÖÀDZí°Ô Àо ´ÙÀ½ /lib/security ¿¡¼ ÇÊ¿äÇÑ ¶óÀ̺귯¸®µéÀ» ·çÆ® ÆÄÀϽýºÅÛÀ¸·Î º¹»çÇϽʽÿÀ.
¶ÇÇÑ /lib/libpam.so ¸¦ ºÎÆ®µð½ºÅ©¿¡ Æ÷ÇÔ½ÃÄѾ߸¸ ÇÕ´Ï´Ù. ¾Õ¿¡¼ /bin/login ¿¡ ldd ¸¦ ½ÇÇà½ÃÄ×À» Àû¿¡ ÀÌ¹Ì ÀÌ ÀÇÁ¸¼ºÀ» ´«Ä¡Ã¤¼ÌÀ» °ÍÀÔ´Ï´Ù.
¸¸ÀÏ glibc(Àϸí libc6)¸¦ »ç¿ëÇϰí ÀÖ´Ù¸é name service ¿¡ ´ëÇÑ Áغñ¸¦ ÇØÁÖ¾î¾ß¸¸ ÇÕ´Ï´Ù. ±×·¯Áö¾ÊÀ¸¸é ·Î±×ÀÎÀÌ ºÒ°¡´ÉÇÒ °ÍÀÔ´Ï´Ù. ÆÄÀÏ /etc/nsswich.conf ´Â ¿©·¯°¡Áö ¼ºñ½º¿¡ ´ëÇÑ µ¥ÀÌÅͺ£À̽º ¿¶÷À» ÄÁÆ®·ÑÇÕ´Ï´Ù. ¸¸ÀÏ ³×Æ®¿÷»óÀÇ ¼ºñ½º(¿¹¸¦ µé¸é DNS, NIS lookup µî)¿¡ ¾×¼¼½ºÇÒ Çʿ䰡 ¾ø´Ù¸é ´ÙÀ½°ú °°Àº °£´ÜÇÑ nsswitch.conf ÆÄÀϸ¸ ÁغñÇÏ¸é µË´Ï´Ù.
passwd: files shadow: files group: files hosts: files services: files networks: files protocols: files rpc: files ethers: files netmasks: files bootparams: files automount: files aliases: files netgroup: files publickey: files |
ºÎÆ®µð½ºÅ©¿¡¼ ³×Æ®¿÷¿¡ ¾×¼¼½ºÇÒ ÀÛÁ¤À̶ó¸é º¸´Ù Á¤±³ÇÑ nsswitch.conf ÆÄÀÏÀ» ¸¸µé Çʿ䰡 ÀÖ½À´Ï´Ù. ÀÚ¼¼ÇÑ °ÍÀº nsswitch ¸Ç ÆäÀÌÁö¸¦ Âü°íÇϼ¼¿ä. ´ç½ÅÀÌ ¼³Á¤ÇÑ service µé¿¡ ´ëÇØ, °¢°¢¿¡ ÇØ´çÇÏ´Â /lib/libnss_service.so.1 ÆÄÀϵéÀ» Æ÷ÇÔ½ÃÄѾ߸¸ ÇÑ´Ù´Â Á¡À» ¸í½ÉÇϽʽÿÀ.
¸ðµâÈµÈ Ä¿³ÎÀ» »ç¿ëÇÑ´Ù¸é ºÎÆÃ ÈÄ ºÎÆ®µð½ºÅ©·ÎºÎÅÍ ¾î¶² ¸ðµâÀ» ·ÎµåÇØ¾ßÇÒÁö¸¦ °í·ÁÇØ¾ß¸¸ ÇÕ´Ï´Ù. ¸¸¾à ¹é¾÷ Å×ÀÌÇÁµéÀÌ Ç÷ÎÇÇ Å×ÀÌÇÁ»ó¿¡ ÀÖ´Ù¸é ftape ¿Í zftape ¸ðµâÀ» Æ÷ÇÔ½ÃÄÑ¾ß Çϰí SCSI Àåºñ¸¦ °¡Áö°í ÀÖ´Ù¸é SCSI °ü·Ã ¸ðµâÀ» Æ÷ÇÔ½ÃÄÑ¾ß ÇÏ¸ç ¸¸ÀÏ ÀÀ±Þ»óȲÇÏ¿¡¼ ³×Æ®¿÷¿¡ ¾×¼¼½ºÇØ¾ß ÇÑ´Ù¸é PPP ³ª SLIP °ü·Ã ¸ðµâÀ» Æ÷ÇÔ½ÃÄÑ¾ß ÇÕ´Ï´Ù.
ÀÌ·¯ÇÑ ¸ðµâµéÀº /lib/modules ¿¡ µÎ¸é µË´Ï´Ù. ´ç½ÅÀº ¶Ç insmod, rmmod, lsmod ÇÁ·Î±×·¥À» Æ÷ÇÔ½ÃÄÑ¾ß ÇÕ´Ï´Ù. ¸ðµâÀ» ÀÚµ¿À¸·Î ·ÎµåÇϰí½Í´Ù¸é modprobe, depmod, swapout µµ Æ÷ÇÔ½ÃÄÑ¾ß ÇÕ´Ï´Ù. kerneld ¸¦ »ç¿ëÇÑ´Ù¸é kerneld ¿Í ±× ¼³Á¤ÈÀÏÀÎ /etc/conf.modules µµ Æ÷ÇÔ½ÃÄÑ¾ß ÇÕ´Ï´Ù.
ÇÏÁö¸¸, ¸ðµâÀ» »ç¿ëÇÔÀ¸·Î½á ¾ò´Â ÁÖµÈ ÀÌÁ¡Àº »ó´ëÀûÀ¸·Î ´ú Áß¿äÇÑ ¸ðµâµéÀ» À¯Æ¿¸®Æ¼ µð½ºÅ©¿¡ ³Ö¾î¹ö¸®°í ÇÊ¿äÇÒ ¶§¸¸ ·ÎµåÇÔÀ¸·Î½á ·çÆ®µð½ºÅ©ÀÇ °ø°£À» Àý¾àÇϴµ¥ ÀÖ½À´Ï´Ù. ¸¹Àº µð¹ÙÀ̽ºµéÀ» ´Ù·ç¾î¾ß ÇÏ´Â »óȲÀ̶ó¸é ¸ðµâÀ» ÀÌ¿ëÇÏ´Â °ÍÀÌ ÀÚü¿¡ ¸¹Àº µå¶óÀ̹ö¸¦ ³»ÀåÇÑ °Å´ëÇÑ ´ÜÀÏ Ä¿³ÎÀ» ¾²´Â °Íº¸´Ù ´õ ¹Ù¶÷Á÷ÇÑ ¹æ¹ýÀÔ´Ï´Ù.
Áß¿ä: ¾ÐÃàµÈ ext2 ÆÄÀÏ ½Ã½ºÅÛÀ» ºÎÆ®Çϱâ À§Çؼ´Â ·¥µð½ºÅ©¿Í ext2 ¿¡ ´ëÇÑ Áö¿øÀ» ¹Ýµå½Ã Ä¿³Î¿¡ ³»Àå½ÃÄѾ߸¸ ÇÕ´Ï´Ù.ÀÌ µÎ°¡Áö´Â ¸ðµâ·Î ¼³Á¤Çؼ´Â Àý´ë ¾ÈµË´Ï´Ù.
login °°Àº ÀϺΠ½Ã½ºÅÛ ÇÁ·Î±×·¥µéÀº /var/run/utmp ÆÄÀϰú /var/log µð·ºÅ丮°¡ ¾ø´Â °æ¿ì ¹®Á¦¸¦ ÀÏÀ¸Å³ ¼ö ÀÖ½À´Ï´Ù. µû¶ó¼ ´ÙÀ½°ú °°ÀÌ ÇØÁֽʽÿä.
mkdir -p /mnt/var/{log,run} touch /mnt/var/run/utmp |
¸¶Áö¸·À¸·Î, ÇÊ¿äÇÑ ¸ðµç ¶óÀ̺귯¸®µéÀ» ´Ù ¼³Ä¡Çß´Ù¸é ldconfig ¸¦ ½ÇÇà½ÃÄѼ ·çÆ® ÆÄÀϽýºÅÛ »óÀÇ /etc/ld.so.cache ¸¦ ¸®¸ÞÀÌÅ© ÇØÁֽʽÿÀ. ij½¬´Â ·Î´õ¿¡°Ô ¾îµð¼ ¶óÀ̺귯¸®¸¦ ã¾Æ¾ß ÇÒÁö¸¦ Áö½ÃÇÕ´Ï´Ù. ´ÙÀ½°ú °°ÀÌ ÇÏ¸é µË´Ï´Ù.
ldconfig -r /mnt |
ÀÏ´Ü ·çÆ® ÆÄÀϽýºÅÛÀ» ´Ù ¸¸µé¾ú´Ù¸é ¾ð¸¶¿îÆ®½ÃŰ°í ÆÄÀÏ·Î º¹»çÇÑ ´ÙÀ½ ¾ÐÃà½ÃÄÑ¾ß ÇÕ´Ï´Ù.
umount /mnt
dd if=DEVICE bs=1k | gzip -v9 > rootfs.gz |
[1] | ¿©±â¿¡ Á¦½ÃµÈ µð·ºÅ丮 ±¸Á¶´Â ·çÆ®µð½ºÄÏ¿¡ ÇØ´çµÇ´Â °Í¸¸ ÀûÀº °ÍÀÔ´Ï´Ù. ½ÇÁ¦ÀÇ ¸®´ª½º ½Ã½ºÅÛÀº º¸´Ù º¹ÀâÇÏ°í ¼¼·ÃµÈ µð·ºÅ丮±¸Á¶¿¡ °üÇÑ ±Ô¾àÀ» °¡Áö°í ÀÖ½À´Ï´Ù. À̸¦ ÆÄÀϽýºÅÛ °èÃþ Ç¥ÁØ(FHS, Filesystem Hierarchy Standard)À̶ó ºÎ¸£´Âµ¥, ¿äÄÁ´ë °¢ ÆÄÀϵéÀ» ¾î´À µð·ºÅ丮¿¡ µÎ¾î¾ß Çϴ°¡¿¡ ´ëÇÑ ±Ô¾àÀÔ´Ï´Ù). |