·çÆ® ÆÄÀϽýºÅÛÀ» ¸¸µé ¶§´Â ½Ã½ºÅÛ ±¸µ¿¿¡ ÇʼöÀûÀÎ ÆÄÀϵéÀ» °í¸£´Â ÀÛ¾÷ÀÌ ÇÊ¿äÇÕ´Ï´Ù. ÀÌ Àý¿¡¼´Â ¾ÐÃàµÈ ·çÆ® ÆÄÀϽýºÅÛÀÇ Á¦ÀÛ¹ýÀ» ¼³¸íÇÕ´Ï´Ù. º°·Î ¸¹ÀÌ ¾²ÀÌÁö´Â ¾ÊÁö¸¸ ¾ÐÃà¾ÈµÈ ÆÄÀϽýºÅÛÀ» µð½ºÄÏ»ó¿¡ ¸¸µé¾î Á÷Á¢ ·çÆ®·Î ¸¶¿îÆ®½ÃÅ°´Â ¹æ¹ýµµ °¡´ÉÇÕ´Ï´Ù. ÀÌ ¹æ¹ýÀº ·¥µð½ºÅ© ¾Æ´Ñ ·çÆ® ÆÄÀϽýºÅÛ ºÎºÐ¿¡¼ ¼³¸íÇÕ´Ï´Ù.
·çÆ® ÆÄÀϽýºÅÛÀº Ç® »çÀÌÁîÀÇ ¿ÏÀüÇÑ ¸®´ª½º ½Ã½ºÅÛÀ» Áö¿øÇϱâ À§ÇÑ ¸ðµç °ÍÀ» °®Ãß¾î¾ß ÇÕ´Ï´Ù. À̸¦ À§Çؼ´Â ¸®´ª½º ½Ã½ºÅÛ¿¡ ²À ÇÊ¿äÇÑ ÃÖ¼Ò¿ä°Ç¸¸ÅÀº ·çÆ®µð½ºÅ©¿¡ ¹Ýµå½Ã ±¸ºñµÇ¾î¾ß ÇÕ´Ï´Ù.
/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 ¸Þ°¡¹ÙÀÌÆ® °¡·®À» ´ãÀ»¼ö ÀÖ´Â µð¹ÙÀ̽º°¡ ÇÊ¿äÇÕ´Ï´Ù. ¸î °¡Áö ¼±ÅÃÀÌ °¡´ÉÇÕ´Ï´Ù.
RAMDISK_SIZE = nnnÀÌ°ÍÀº ÇÒ´ç°¡´ÉÇÑ ·¥µð½ºÅ© Å©±âÀÇ ÃÖ´ëÄ¡¸¦ ¼³Á¤ÇÏ´Â °ÍÀÔ´Ï´Ù. µðÆúÆ®´Â 4096K Àε¥ ÀÌ Á¤µµ¸é ÃæºÐÇÒ °ÍÀÔ´Ï´Ù. ¸¸¾à ½Ã½ºÅÛÀÇ ·¥ÀÌ 8 MB ¹Ì¸¸À̶ó¸é ·¥µð½ºÅ©¸¦ »ç¿ëÇÏ´Â ¹æ¹ýÀº ÇÇÇÏ´Â °ÍÀÌ ÁÁ½À´Ï´Ù. /dev/ram0, /dev/ram, /dev/ramdisk µîÀÇ µð¹ÙÀ̽º¸¦ °¡Áö°í ÀÖ´ÂÁö È®ÀÎÇϽʽÿÀ. ¸¸ÀÏ ¾ø´Ù¸é
mknod
¸í·É(major number 1, minor 0)À¸·Î /dev/ram0¸¦ ¸¸µé¾î¾ß ÇÕ´Ï´Ù.
man losetup
À̶ó°í ŸÀÌÇÎÇغ¸½Ê½Ã¿ä. ·çÇÁ¹é µð¹ÙÀ̽ºÀÇ »ç¿ë¹ýÀÌ Ãâ·ÂµÉ °ÍÀÔ´Ï´Ù. ¸¸ÀÏ losetup
ÀÌ ¾ø´Ù¸é
ftp://ftp.win.tue.nl:/pub/linux/util/mount/ µð·ºÅ丮¿¡¼ À̸¦ Áö¿øÇÏ´Â ¹öÀüÀÇ 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=<it/nnn/
À§ÀÇ ¸í·ÉÀ¸·Î nnn block ÀÇ ÆÄÀÏÀ» ¸¸µé ¼ö ÀÖ½À´Ï´Ù.
¾ÕÀ¸·Î "DEVICE" ¶ó´Â ºÎºÐÀÌ ³ª¿À¸é ±× ºÎºÐ¿¡ À§ÀÇ ÆÄÀÏÀ̸§À» ½áÁÖ¼¼¿ä. ¶ÇÇÑ, "-o loop
" ¿É¼ÇÀ» ÁÖ¾î mount ÇÁ·Î±×·¥¿¡°Ô ·çÇÁ¹é µð¹ÙÀ̽º¸¦ ¸¶¿îÆ®ÇÔÀ» ¾Ë·Á¾ß ÇÕ´Ï´Ù. ¿¹¸¦ µé¸é ´ÙÀ½°ú °°½À´Ï´Ù.
mount -o loop -t ext2 /tmp/fsfile /mntÀ§ÀÇ ¸í·ÉÀº (·çÇÁ¹é µð¹ÙÀ̽º¸¦ ÅëÇØ) /tmp/fsfile ¸¦ ¸¶¿îÆ®Æ÷ÀÎÆ®
/mnt
¿¡ ¸¶¿îÆ® ½Ãŵ´Ï´Ù. df
¸í·ÉÀ¸·Î ¸¶¿îÆ® µÇ¾ú´ÂÁö È®ÀÎÇØ º¼¼ö ÀÖ½À´Ï´Ù.
À§¿¡¼ ¸»ÇÑ ¼¼°¡Áö ¹æ¹ý Áß ¾î´À Çϳª¸¦ ¼±ÅÃÇϱâ·Î ¸¶À½¸Ô¾ú´Ù¸é ÀÌÁ¦ DEVICE ¿¡ ´ÙÀ½ ¸í·ÉÀ» ÁÖ¼¼¿ä.
dd if=/dev/zero of=DEVICE bs=1k count=3000
ÀÌ ¸í·ÉÀº µð¹ÙÀ̽ºÀÇ ³»¿ëÀ» ¸ðµÎ 0 À¸·Î ä¿ó´Ï´Ù. ÀÌ °úÁ¤ÀÌ Áß¿äÇÑ ÀÌÀ¯´Â µð¹ÙÀ̽º»óÀÇ ÆÄÀÏ ½Ã½ºÅÛÀº ³ªÁß¿¡ ¾ÐÃàµÇ°Ô µÇ¹Ç·Î »ç¿ëµÇÁö¾ÊÀº ¸ðµç ¿µ¿ªÀº 0 À¸·Î ä¿ö¾ß ÃÖ´ëÇÑÀ¸·Î ¾ÐÃàÇÒ¼ö Àֱ⠶§¹®ÀÔ´Ï´Ù.
±× ´ÙÀ½, ÆÄÀÏ ½Ã½ºÅÛÀ» ¸¸µì´Ï´Ù. ¸®´ª½º Ä¿³ÎÀÌ ÀÚµ¿À¸·Î ·¥µð½ºÅ©·Î º¹»çÇÒ ¼ö ÀÖ´Â ·çÆ® µð½ºÅ© ÆÄÀϽýºÅÛÀº minix ¿Í ext2 ÆÄÀϽýºÅÛ ´Ü µÎ°¡Áö »ÓÀÔ´Ï´Ù. ÀÌÁß¿¡¼ ext2 ÆÄÀϽýºÅÛÀÌ º¸´Ù ¼±È£µÇ´Â ÆÄÀÏ ½Ã½ºÅÛÀÔ´Ï´Ù. ext2 ¸¦ ¾²¸é -i
¿É¼ÇÀ» ÁÖ¾î µðÆúÆ®°ªº¸´Ù ´õ ¸¹Àº inode ¸¦ ¼³Á¤ÇÒ ¼ö ÀÖÀ¸¹Ç·Î Æí¸®ÇÕ´Ï´Ù. -i 2000
Á¤µµ·Î ¼³Á¤Çϸé inode °¡ ºÎÁ·ÇØÁö´Â ÀÏÀº ¾øÀ» °ÍÀÔ´Ï´Ù. ±×¹Û¿¡, ºÒÇÊ¿äÇÑ ¸¹Àº /dev
ÆÄÀϵéÀ» Á¦°ÅÇؼ inode ¸¦ Àý¾àÇÏ´Â ¹æ¹ýµµ ÀÖ½À´Ï´Ù. mke2fs
´Â µðÆúÆ®·Î 1.44 M µð½ºÄÏ¿¡ 360 °³ÀÇ inode¸¦ »ý¼ºÇÕ´Ï´Ù. ÇÊÀÚ°¡ ¾²´Â º¹±¸¿ë ·çÆ®µð½ºÄÏ¿¡´Â 120°³ ÀÇ inode °¡ ÀÖ°í ÀÌ Á¤µµ·Î ÃæºÐÇÏÁö¸¸ ¸¸ÀÏ ´ç½ÅÀÌ /dev
³»ÀÇ µð¹ÙÀ̽º ÆÄÀϵéÀ» ÀüºÎ Æ÷ÇÔ½ÃÅ°·Á ÇÑ´Ù¸é ÇÊ¿äÇÑ inode ¼ö´Â 360°³ ¸¦ ½±°Ô ÃÊ°úÇØ ¹ö¸³´Ï´Ù. ¾ÐÃà ·çÆ® ÆÄÀϽýºÅÛÀ» »ç¿ëÇÏ¸é º¸´Ù Å« ÆÄÀϽýºÅÛÀ» ´ãÀ» ¼ö ÀÖ°í µû¶ó¼ µðÆúÆ®·Î º¸´Ù ¸¹Àº inode¸¦ ¾µ ¼ö ÀÖ½À´Ï´Ù¸¸ ±×·¡µµ ¿ª½Ã ÆÄÀÏÀÇ ¼ö¸¦ ÁÙÀ̰ųª inode ¼ö¸¦ ´Ã¸± ÇÊ¿ä°¡ ÀÖÀ» °ÍÀÔ´Ï´Ù.
µû¶ó¼ ´ÙÀ½°ú ºñ½ÁÇÑ ¸í·ÉÀÌ ÇÊ¿äÇÕ´Ï´Ù.
mke2fs -m 0 -i 2000 DEVICE
(·çÇÁ¹é µð¹ÙÀ̽º¸¦ »ç¿ëÇϽŴٸé À§ÀÇ DEVICE ÀÚ¸®¿¡ ÆÄÀÏÀ̸§À» ½á¾ß ÇÕ´Ï´Ù. ÀÌ °æ¿ì mke2fs ´Â Á¤¸»·Î ±×·¯°Ú´À³Ä°í ¹°¾î¿Ã ÅÙµ¥ yes Çϼ¼¿ä)
mke2fs
¸í·ÉÀº ÀÚµ¿À¸·Î »ç¿ë°¡´ÉÇÑ ¿ë·®À» ÀÎÁöÇÏ°í ±×¿¡ ¸ÂÃç ÆÄÀϽýºÅÛÀ» ¼³Á¤ÇÕ´Ï´Ù. -m 0
ÆĶó¸ÞÅÍ´Â mke2fs ·Î ÇÏ¿©±Ý root ¿ëÀ¸·Î °ø°£À» ÇÒ´çÇÏÁö ¸øÇÏ°Ô ÇÔÀ¸·Î½á »ç¿ë°¡´ÉÇÑ µð½ºÅ© ¿ë·®À» ´õ ¸¹ÀÌ È®º¸ÇÕ´Ï´Ù.
ÀÌÁ¦ µð¹ÙÀ̽º¸¦ ¸¶¿îÆ®Çϼ¼¿ä.
mount -t ext2 DEVICE /mnt
(¸¸¾à /mnt
µð·ºÅ丮°¡ ¾ø´Ù¸é ¸¶¿îÆ®Æ÷ÀÎÆ®°¡ µÉ /mnt µð·ºÅ丮¸¦ ¸¸µé¾î ÁÖ¾î¾ß¸¸ ÇÕ´Ï´Ù)
¾ÕÀ¸·Î ¿ì¸®°¡ ¸¸µé ¸ðµç µð·ºÅ丮µéÀº /mnt
¾Æ·¡¿¡ ÀÖ´Â °ÍÀ¸·Î °¡Á¤ÇÏ°Ú½À´Ï´Ù.
´ÙÀ½Àº ÀϹÝÀûÀÎ ·çÆ® ÆÄÀϽýºÅÛ¿¡ µé¾îÀÖ¾î¾ßÇÒ ÃÖ¼ÒÇÑÀÇ µð·ºÅ丮µéÀÔ´Ï´Ù.
/dev
-- µð¹ÙÀ̽ºµéÀÌ À§Ä¡ÇÕ´Ï´Ù. I/O ¿¡ ÇÊ¿äÇÕ´Ï´Ù/proc
-- proc ÆÄÀÏ ½Ã½ºÅÛ¿¡ ÇÊ¿äÇÑ µð·ºÅ丮/etc
-- ½Ã½ºÅÛ ¼³Á¤ÆÄÀϵéÀÌ À§Ä¡ÇÕ´Ï´Ù./sbin
-- ½Ã½ºÅÛ¿¡ ¾ø¾î¼´Â ¾ÈµÉ Çʼö ¹ÙÀ̳ʸ®µéÀÌ À§Ä¡ÇÕ´Ï´Ù./bin
-- ½Ã½ºÅÛÀÇ ÀϺηΠ°£ÁֵǴ ±âº»ÀûÀÎ ¹ÙÀ̳ʸ®µéÀÌ À§Ä¡ÇÕ´Ï´Ù./lib
-- ·±Å¸ÀÓ °øÀ¯¶óÀ̺귯¸®µéÀÌ À§Ä¡ÇÕ´Ï´Ù./mnt
-- ´Ù¸¥ µð½ºÅ©µéÀ» °ü¸®Çϱâ À§ÇÑ ¸¶¿îÆ®Æ÷ÀÎÆ®/usr
-- ±×¹ÛÀÇ ¿©·¯ À¯Æ¿¸®Æ¼¿Í ÀÀ¿ëÇÁ·Î±×·¥µéÀÌ À§Ä¡ÇÕ´Ï´Ù.
(¿©±â¿¡ Á¦½ÃµÈ µð·ºÅ丮 ±¸Á¶´Â ·çÆ®µð½ºÄÏ¿¡ ÇØ´çµÇ´Â °Í¸¸ ÀûÀº °ÍÀÔ´Ï´Ù. ½ÇÁ¦ÀÇ ¸®´ª½º ½Ã½ºÅÛÀº º¸´Ù º¹ÀâÇÏ°í ¼¼·ÃµÈ µð·ºÅ丮±¸Á¶¿¡ °üÇÑ ±Ô¾àÀ» °¡Áö°í ÀÖ½À´Ï´Ù. À̸¦ Ç¥ÁØ °èÃþ ÆÄÀϽýºÅÛ(FHS, Filesystem Hierarchy Standard)À̶ó ºÎ¸£´Âµ¥ ¿äÄÁ´ë °¢ ÆÄÀϵéÀ» ¾î´À µð·ºÅ丮¿¡ µÎ¾î¾ß Çϴ°¡¿¡ ´ëÇÑ ±Ô¾àÀÔ´Ï´Ù)
·çÆ® ÈÀϽýºÅÛ¿¡¼ À§ÀÇ µð·ºÅ丮 Áß 3 °³´Â ºó µð·ºÅ丮°¡ µË´Ï´Ù. µû¶ó¼ ±× 3 °³´Â mkdir
¸í·ÉÀ¸·Î µð·ºÅ丮¸¸ ¸¸µé¾î ÁÖ¸é µË´Ï´Ù. /proc
µð·ºÅ丮´Â ´Ü¼øÈ÷ proc ÆÄÀÏ ½Ã½ºÅÛÀÌ À§Ä¡ÇÏ°Ô µÇ´Â Àå¼ÒÀÏ »ÓÀÔ´Ï´Ù. /mnt
¿Í /usr
µð·ºÅ丮µéÀº boot/root ½Ã½ºÅÛÀÌ °¡µ¿µÈ ÈÄ¿¡¾ß »ç¿ëµÇ´Â ¸¶¿îÆ®Æ÷ÀÎÆ®ÀÔ´Ï´Ù. µû¶ó¼ ´Ù½Ã ¸»¾¸µå¸®Áö¸¸ ÀÌ 3 °³ÀÇ µð·ºÅ丮´Â ´ÜÁö µð·ºÅ丮¸¸ ¸¸µé¾îÁÖ¸é µË´Ï´Ù.
ÀÌÁ¦ ³ª¸ÓÁö 4 °³ÀÇ µð·ºÅ丮¿¡ ´ëÇØ ¼³¸íµå¸®°Ú½À´Ï´Ù.
/dev
µð·ºÅ丮¿¡´Â ½Ã½ºÅÛÀÌ »ç¿ëÇÏ´Â ¸ðµç µð¹ÙÀ̽ºµé °¢°¢¿¡ ´ëÀÀÇϴ Ư¼öÆÄÀϵéÀÌ À§Ä¡ÇÏ°Ô µË´Ï´Ù. /dev
µð·ºÅ丮´Â ¸ðµç ¸®´ª½º ½Ã½ºÅÛ¿¡ ¹Ýµå½Ã ÀÖ¾î¾ß¸¸ ÇÏ´Â °Á¦»çÇ×ÀÔ´Ï´Ù. /dev
µð·ºÅ丮 ÀÚü´Â º¸ÅëÀÇ µð·ºÅ丮¿Í °°À¸¹Ç·Î mkdir
¸í·É¾î·Î ±×³É ¸¸µé¾î ÁÖ¸é µË´Ï´Ù. ÇÏÁö¸¸ /dev
µð·ºÅ丮 ³»¿¡ À§Ä¡ÇÏ´Â µð¹ÙÀ̽º ÆÄÀÏµé ¸¸ÅÀº Ư¼öÇÑ ÆÄÀϵéÀ̹ǷΠmknod
¸í·ÉÀ» »ç¿ëÇϴ Ư¼öÇÑ ¹æ½ÄÀ¸·Î ¸¸µé¾îÁÖ¾î¾ß ÇÕ´Ï´Ù.
ÇÏÁö¸¸ º¸´Ù °£´ÜÇÑ ¹æ¹ýÀÌ ÀÖ½À´Ï´Ù. -- ´ç½Å ½Ã½ºÅÛÀÇ /dev
µð·ºÅ丮ÀÇ ³»¿ëµéÀ» º¹»çÇØ ¿Â ÈÄ ÇÊ¿ä¾ø´Â °ÍµéÀ» Áö¿ì´Â °ÍÀÔ´Ï´Ù. À̶§ À¯³äÇØ¾ß ÇÒ °ÍÀº Ư¼ö µð¹ÙÀ̽º ÆÄÀϵéÀ» º¹»çÇØ ¿Ã ¶§´Â -R
¿É¼ÇÀ» ½á¼ º¹»çÇØ¾ß ÇÑ´Ù´Â Á¡ÀÔ´Ï´Ù. ÀÌ·¸°Ô ÇØ¾ß µð·ºÅ丮°¡ º¹»çµÉ ¶§ ÆÄÀϵéÀÇ ³»¿ëµéÀº º¹»çµÇÁö ¾Ê°Ô µË´Ï´Ù. ´ë¹®ÀÚ R ÀÓ¿¡ ÁÖÀÇÇϽʽÿÀ. ¸¸ÀÏ ¼Ò¹®ÀÚ -r
À» ¾´´Ù¸é ´ç½Å Çϵåµð½ºÅ©ÀÇ ³»¿ëÀ» ¸ù¶¥ º¹»çÇØ¿À·Á ÇÒ °ÍÀÌ°í °á±¹ º¹»ç µµÁß¿¡ µð½ºÄÏÀÇ ¿ë·® ÃÊ°ú·Î Áß´ÜµÇ¾î ¹ö¸³´Ï´Ù. µû¶ó¼ ÁÖÀÇÇؼ ´ÙÀ½ ¸í·É¾î¸¦ »ç¿ëÇϽʽÿÀ.
cp -dpR /dev /mnt
À§ÀÇ ¸í·ÉÀº µð½ºÄÏÀÌ /mnt
¿¡ ¸¶¿îÆ® µÇ¾ú´Ù°í °¡Á¤ÇÑ °ÍÀÔ´Ï´Ù. dp
½ºÀ§Ä¡µéÀº ½Éº¼¸¯ ¸µÅ©°¡ º¹»çµÉ ¶§ Ÿ°ÙÆÄÀϵéÀÌ º¹»çµÇ´Â °ÍÀÌ ¾Æ´Ï¶ó ¸µÅ©·Î¼ º¹»çµÇµµ·Ï ÇØÁÖ¸ç ¿ø·¡ÀÇ ÆÄÀÏ ¼Ó¼ºµéÀÌ ±×´ë·Î À¯ÁöµÈ ä º¹»çµÇµµ·Ï ÇØÁÝ´Ï´Ù. µû¶ó¼ ÆÄÀÏ ¼ÒÀ¯±Ç Á¤º¸°¡ ±×´ë·Î À¯ÁöµË´Ï´Ù.
¾î·Á¿î ¹æ¹ýÀ¸·Î Çغ¸°í ½Í´Ù¸é ls -l
·Î ¿øÇÏ´Â µð¹ÙÀ̽ºÀÇ ¸ÞÀÌÀú¿Í ¸¶ÀÌ³Ê µð¹ÙÀ̽º ³Ñ¹ö¸¦ Ãâ·ÂÇؼ È®ÀÎÇÑ ÈÄ mknod
¸í·ÉÀ» ½á¼ Á÷Á¢ ¸¸µé¾î ÁÖ´Â ¹æ¹ýµµ ÀÖ½À´Ï´Ù.
ÀÌÁ¦ µð¹ÙÀ̽ºµéÀ» º¹»çÇßÀ¸¸é, ¿øÇϴ Ư¼ö µð¹ÙÀ̽ºµéÀÌ º¹±¸µð½ºÄÏ¿¡ Á¦´ë·Î µé¾î°¬´ÂÁö È®ÀÎÇغ¸½Ê½Ã¿ä. ¿¹¸¦ µé¸é ftape
¸í·ÉÀº Å×ÀÌÇÁ µð¹ÙÀ̽º¸¦ »ç¿ëÇϹǷΠ´ç½ÅÀÌ ºÎÆ® µð½ºÅ©¸¦ ½á¼ Å×ÀÌÇÁ µå¶óÀ̺ê ÀåÄ¡µéÀ» ¾×¼¼½ºÇÒ ÀÛÁ¤À̶ó¸é Å×ÀÌÇÁ ÀåÄ¡¿¡ °ü·ÃµÈ µð¹ÙÀ̽ºµéÀÌ Á¦´ë·Î µé¾î°¬´ÂÁö È®ÀÎÇØ º¼ ÇÊ¿ä°¡ ÀÖ½À´Ï´Ù.
°¢°¢ÀÇ Æ¯¼ö µð¹ÙÀ̽º ÆÄÀÏÀº Çϳª¾¿ÀÇ inode ¸¦ ÇÊ¿ä·Î Çϱ⠶§¹®¿¡, °æ¿ì¿¡ µû¶ó¼´Â inode °¡ ºÎÁ·ÇØÁú ¼ö ÀÖÀ½¿¡ À¯ÀÇÇϼ¼¿ä. ƯÈ÷³ª µð½ºÄÏ ÆÄÀÏ ½Ã½ºÅÛ¿¡¼´Â ´õ¿í ±×·¸½À´Ï´Ù. µû¶ó¼ ÇÊ¿ä¾ø´Â µð¹ÙÀ̽º ÆÄÀϵéÀº µð½ºÄÏÀÇ /dev
µð·ºÅ丮¿¡¼ Á¦°ÅÇÏ´Â °ÍÀÌ ÁÁ½À´Ï´Ù. »ó´ç¼öÀÇ µð¹ÙÀ̽ºµéÀÌ ÀÌ·± µð½ºÄÏ ½Ã½ºÅÛ°ú °°Àº Ư¼öÇÑ ½Ã½ºÅÛ¿¡´Â ºÒÇÊ¿äÇÕ´Ï´Ù. ¿¹¸¦ µé¾î SCSI µð½ºÅ©¸¦ °¡Áö°í ÀÖÁö ¾Ê´Ù¸é sd
·Î ½ÃÀÛÇÏ´Â ¸ðµç µð¹ÙÀ̽º ÆÄÀϵéÀº »èÁ¦Çصµ ¹«¹æÇÕ´Ï´Ù. ¸¶Âù°¡Áö·Î, ½Ã¸®¾ó Æ÷Æ®¸¦ »ç¿ëÇÒ ÀÏÀÌ ¾ø´Ù¸é cua
·Î ½ÃÀÛÇÏ´Â ¸ðµç µð¹ÙÀ̽º ÆÄÀϵéÀº Áö¿öµµ µË´Ï´Ù.
/dev
µð·ºÅ丮¿¡ ´ÙÀ½ ÈÀϵéÀº ¹Ýµå½Ã ÀÖ¾î¾ß ÇÔÀ» ¸í½ÉÇϼ¼¿ä:
console, kmem, mem, null, ram, tty1
/etc
µð·ºÅ丮¿¡´Â ¼³Á¤ÆÄÀϵéÀÌ À§Ä¡ÇÕ´Ï´Ù. ´ëºÎºÐÀÇ ½Ã½ºÅÛ¿¡ ÀÖ¾î ¼³Á¤ÆÄÀϵéÀº ´ÙÀ½ ¼¼°¡Áö Á¤µµ·Î ºÐ·ùÇÒ ¼ö ÀÖ½À´Ï´Ù.
rc, fstab, passwd
µîµîÇʼöÀûÀÎ ÆÄÀÏÀÎÁö ¾Æ´ÑÁö´Â ´ÙÀ½°ú °°ÀÌ È®ÀÎÇØ º¸½Ç ¼ö ÀÖ½À´Ï´Ù.
ls -ltru
ÀÌ ¸í·ÉÀº ¸¶Áö¸·À¸·Î ¾×¼¼½ºµÈ ½Ã°£¼øÀ¸·Î ÆÄÀϵéÀ» Ãâ·ÂÇÕ´Ï´Ù. µû¶ó¼ ÃÖ±Ù¿¡ ¾×¼¼½ºµÈ ÀûÀÌ ¾ø´Â ÆÄÀϵéÀº ·çÆ®µð½ºÄÏ¿¡¼ Á¦¿Ü½ÃÄѵµ ÁÁ½À´Ï´Ù.
ÇÊÀÚÀÇ ·çÆ®µð½ºÄÏ¿¡´Â ¾à 15 °³ Á¤µµÀÇ ¼³Á¤ÆÄÀÏÀÌ µé¾îÀÖ½À´Ï´Ù. ¿ëµµ¿¡ µû¶ó ¼¼°¡Áö Á¤µµ·Î ³ª´©¾î º¸°Ú½À´Ï´Ù.
rc.d/*
-- ½Ã½ºÅÛ ±âµ¿ ¹× ·±·¹º§ º¯È¯ ½ºÅ©¸³Æ®fstab
-- ¸¶¿îÆ®µÇ´Â ÆÄÀÏ ½Ã½ºÅÛÀÇ ¸®½ºÆ®inittab
-- init
ÇÁ·Î¼¼½º¿¡ ´ëÇÑ ÆĶó¸ÞÅ͵éÀÌ ´ã°ÜÀÖ½À´Ï´Ù. init
´Â ºÎÆ®½Ã¿¡ ÃÖÃÊ·Î ±âµ¿µÇ´Â ÇÁ·Î¼¼½ºÀÔ´Ï´Ù. passwd
-- »ç¿ëÀÚ, Ȩ µð·ºÅ丮 µîµîÀÇ ¸®½ºÆ®group
-- »ç¿ëÀÚ ±×·ìshadow
-- »ç¿ëÀÚµéÀÇ Æнº¿öµå. ¾øÀ» ¼öµµ ÀÖ½À´Ï´Ù.termcap
-- Å͹̳ÎÀÇ ´É·Â¿¡ ´ëÇÑ µ¥ÀÌÅͺ£À̽ºpasswd
¿Í shadow
´Â µð½ºÄÏÀ¸·Î º¹»çÇØ¿ÀÁö ¾Ê´Â °ÍÀÌ ÁÁ½À´Ï´Ù. ÀÌ·¸°Ô ÇØµÎ¸é µð½ºÄÏÀ¸·Î ºÎÆýà ¿øÄ¡¾Ê´Â »ç¿ëÀÚÀÇ ·Î±×ÀÎÀ» ¸·À» ¼ö ÀÖ½À´Ï´Ù.
passwd
´Â Àû¾îµµ root
¸¸ÅÀº Æ÷ÇÔÇÏ°í ÀÖ¾î¾ß ÇÕ´Ï´Ù. ¸¸ÀÏ ´Ù¸¥ »ç¿ëÀڵ鵵 ÀÌ µð½ºÄÏÀ¸·Î ·Î±×ÀÎÇÒ ¼ö ÀÖ°Ô ÇÏ·Á¸é ±× »ç¿ëÀÚÀÇ È¨ µð·ºÅ丮¿Í ½©À» ¸¸µé¾î ÁÖ¾î¾ß ÇÕ´Ï´Ù.
termcap
, Áï Å͹̳Πµ¥ÀÌÅͺ£À̽º´Â º¸Åë ¼ö¹é ų·Î¹ÙÀÌÆ® °¡·® µË´Ï´Ù. boot/root µð½ºÄÏ¿¡´Â ´ç½ÅÀÌ ÁÖ·Î »ç¿ëÇÏ´Â Å͹̳ÎÀÎ linux-console
¿£Æ®¸®¸¸ ³²±â°í ³ª¸ÓÁö´Â »èÁ¦Çϼ¼¿ä.
ÇÊÀÚ´Â ÀÌ Áß¿¡¼ µÎ °¡Áö ÆÄÀϸ¸ÅÀº ¹Ýµå½Ã ¼³Á¤ÇØÁִµ¥ ±× ³»¿ëÀº ¹«Ã´À̳ª °£´ÜÇÕ´Ï´Ù.
rc
¿¡´Â ´ÙÀ½°ú ºñ½ÁÇÑ ³»¿ëÀÌ ¹Ýµå½Ã µé¾îÀÖ¾î¾ß ÇÕ´Ï´Ù.
#!/bin/sh /bin/mount -av /bin/hostname Kangarooµð·ºÅ丮°¡ ¸Â´ÂÁö È®ÀÎÇϽʽÿÀ. »ç½Ç
hostname
¸í·ÉÀº ½ÇÇà½ÃÅ°Áö ¾Ê¾Æµµ ¹«¹æÇÕ´Ï´Ù. hostname
À» ¾²¸é ´õ ¸ÚÁ® º¸ÀÏ »ÓÀÔ´Ï´Ù.
fstab
¿¡´Â ÃÖ¼ÒÇÑ ´ÙÀ½ ³»¿ëÀº µé¾îÀÖ¾î¾ß ÇÕ´Ï´Ù.
/dev/ram0 / ext2 defaults /dev/fd0 / ext2 defaults /proc /proc proc defaultsÇöÀç »ç¿ëÇÏ°í ÀÖ´Â
fstab
ÀÇ ¿£Æ®¸®¸¦ º¹»çÇØ ¿Íµµ ÁÁ½À´Ï´Ù. ÇÏÁö¸¸ ´ç½ÅÀÇ Çϵåµð½ºÅ© ÇÇƼ¼ÇÀ» ÀÚµ¿À¸·Î ¸¶¿îÆ®ÇÏ°Ô Çؼ´Â ¾ÈµË´Ï´Ù. Çϵåµð½ºÅ©ÀÇ °¢ ÆÄƼ¼Ç¿¡ noauto
Å°¿öµå¸¦ ½á ÁÖ¼¼¿ä. Çϵåµð½ºÅ©°¡ ¼Õ»óµÇ¾ú°Å³ª Á×¾î¹ö·Á¼ ºÎÆ®µð½ºÅ©¸¦ »ç¿ëÇؾßÇÒ °æ¿ìµµ Àֱ⠶§¹®ÀÔ´Ï´Ù.
inittab
ÆÄÀϳ»ÀÇ sysinit
¶óÀÎÀº rc
³ª ±× ¹ÛÀÇ ±âº»ÀûÀÎ ºÎÆ®½ºÅ©¸³Æ®¸¦±¸µ¿½Ãų¼ö ÀÖµµ·Ï ¼öÁ¤µÇ¾î¾ß¸¸ ÇÕ´Ï´Ù. ¶ÇÇÑ, ½Ã¸®¾ó Æ÷Æ®ÂÊÀ¸·Î »ç¿ëÀÚ°¡ Á¢¼ÓÇÏ´Â °ÍÀ» ¸·À¸·Á¸é getty
¼³Á¤ ¿£Æ®¸®Áß ¶óÀÎ ³¡ºÎºÐ¿¡ ttys
³ª ttyS
µð¹ÙÀ̽º°¡ ÀûÈù ¿£Æ®¸®µéÀº ÁÖ¼®Ã³¸®(comment out)ÇØ¾ß ÇÕ´Ï´Ù. ´Ü, ´ç½ÅÀÌ ÄַܼΠ·Î±×ÀÎÇÒ tty
Æ÷Æ®µé ¸¸ÅÀº ³²°ÜµÎ¼¼¿ä.
°¡Àå °£´ÜÇÑ inittab ÆÄÀÏÀº ´ÙÀ½°ú ºñ½ÁÇÑ ¸ð½ÀÀÔ´Ï´Ù.
id:2:initdefault: si::sysinit:/etc/rc 1:2345:respawn:/sbin/getty 9600 tty1 2:23:respawn:/sbin/getty 9600 tty2
inittab
ÆÄÀÏÀº ½Ã½ºÅÛ ±âµ¿, ¸ÖƼÀ¯Àú ¸ðµå·ÎÀÇ ÀÌÇà µîµîÀÇ ¿©·¯ ´Ü°è¿¡¼ ½Ã½ºÅÛÀÌ ¹«¾ùÀ» ½ÇÇà½ÃÄÑ¾ß ÇÏ´ÂÁö¸¦ Á¤ÀÇÇÑ °ÍÀÔ´Ï´Ù. ¿©±â¼ ¼¼½ÉÇÏ°Ô Ã¼Å©ÇؾßÇÒ °ÍÀº inittab
¿¡¼ ¾ð±ÞµÈ ÈÀϵéÀÌ Á¤¸»·Î Á¦ÀÚ¸®¿¡ ÀÖ´ÂÁöÀÇ ¿©ºÎÀÔ´Ï´Ù. ¸¸ÀÏ init
°¡ ÇØ´ç ÆÄÀÏÀ» ãÁö ¸øÇÏ¸é ºÎÆ®µð½ºÅ©´Â ¸ØÃç¹ö¸®°Ô µÇ¸ç ¿¡·¯¸Þ½ÃÁöÁ¶Â÷ ¶ßÁö ¾ÊÀ»¼öµµ ÀÖ½À´Ï´Ù.
¾î¶² ÇÁ·Î±×·¥µéÀº ´Ù¸¥ À§Ä¡¿¡ ÀÖ´Â °ÍÀÌ Çã¿ëµÇÁö ¾Ê°í ¹Ýµå½Ã Á¤ÇØÁø µð·ºÅ丮¿¡ À§Ä¡ÇØ¾ß ÇÕ´Ï´Ù. ÀÌ´Â ´Ù¸¥ ÇÁ·Î±×·¥µéÀÌ ÀÌ ÇÁ·Î±×·¥ÀÌ ÀÌ°÷¿¡ À§Ä¡ÇÒ °ÍÀ̶ó°í °£ÁÖÇÏ¿© ÄÚµùµÇ¾ú±â ¶§¹®ÀÔ´Ï´Ù. ¿¹¸¦ µé¾î ÇÊÀÚÀÇ ½Ã½ºÅÛÀÇ °æ¿ì, /etc/shutdown Àº reboot
ÀÇ À§Ä¡¸¦ /etc/reboot ¶ó°í °£ÁÖÇÏ¿© ÄÚµùµÇ¾ú½À´Ï´Ù. ¸¸ÀÏ ÇÊÀÚ°¡ reboot
ÆÄÀÏÀ» /bin/reboot ¿¡ µÐ ÈÄ shutdown
¸í·ÉÀ» ³»¸°´Ù¸é, /etc µð·ºÅ丮¿¡¼ reboot
ÆÄÀÏÀ» ãÀ» ¼ö ¾øÀ¸¹Ç·Î shutdown
¸í·ÉÀº ½ÇÆÐÇÏ°í ¸» °ÍÀÔ´Ï´Ù.
±× ¹ÛÀÇ ³ª¸ÓÁö ÆÄÀϵéÀÇ °æ¿ì, /etc
µð·ºÅ丮ÀÇ ¸ðµç ÅؽºÆ® ÆÄÀϵéÀ» º¹»çÇÏ½Ã°í ¸¸ÀÏ ¹¹°¡ ¹ºÁö Á¤È®È÷ ¸ð¸£½Ã°Ú´Ù¸é /etc
µð·ºÅ丮ÀÇ ½ÇÇàÆÄÀϵ鵵 ¸ðµÎ º¹»çÇϽʽÿÀ.
·çÆ®µð½ºÅ© °ßº» ÀýÀ» Âü°íÇϽñ⠹ٶø´Ï´Ù. ¾Æ¸¶µµ °Å±â¿¡ ³ª¿Â ÆÄÀϵéÀ» º¹»çÇÏ´Â °ÍÀ¸·Î ÃæºÐÇÏ°ÚÁö¸¸ ½Ã½ºÅÛÀº ¼·Î ¸¹Àº Â÷ÀÌ°¡ ÀÖÀ» ¼ö ÀÖÀ¸¹Ç·Î ´ç½ÅÀÇ ½Ã½ºÅÛ»óÀÇ ÆÄÀϵéÀÌ °ßº»ÀÇ ÆÄÀϵé°ú °°Àº ¿ªÇÒÀ» ÇÑ´Ù°í Àå´ãÇÒ ¼ö´Â ¾ø½À´Ï´Ù. °¡Àå È®½ÇÇÑ À¯ÀÏÇÑ ¹æ¹ýÀº inittab
¿¡¼ºÎÅÍ ½ÃÀÛÇؼ ÇÊ¿äÇÑ °ÍµéÀ» ÇϳªÇϳª È®ÀÎÇØ ³ª°¡´Â ¹æ¹ý »Ó ÀÔ´Ï´Ù.
ÇöÀç ´ëºÎºÐÀÇ ½Ã½ºÅÛµéÀº °¢°¢ÀÇ ·±·¹º§¿¡ ÇØ´çÇÏ´Â ½© ½ºÅ©¸³Æ®µéÀ» /etc/rc.d/ µð·ºÅ丮 ¹Ø¿¡ µÎ°í ÀÖ½À´Ï´Ù. °¡Àå ´Ü¼øÇÏ°Ô ÇÏ·Á¸é rc
½ºÅ©¸³Æ® Çϳª¸é µÇÁö¸¸, ´ç½ÅÀÇ ¿ø·¡ ½Ã½ºÅÛÀ¸·ÎºÎÅÍ ÀÏ´Ü inittab
¿Í /etc/rc.d µð·ºÅ丮¸¦ Åë°·Î º¹»çÇØ¿Â ÈÄ µð½ºÄÏ ½Ã½ºÅÛ¿¡ ÇÊ¿ä¾ø´Â ½© ½ºÅ©¸³Æ®µéÀ» Áö¿ö³ª°¡´Â ¹æ¹ýÀÌ º¸´Ù Æí¸®ÇÒ °ÍÀÔ´Ï´Ù.
/bin
µð·ºÅ丮´Â ±âº»ÀûÀÎ ÀÛ¾÷¿¡ ÇÊ¿äÇÑ ls
, mv
, cat
, dd
µîµîÀÇ Ãß°¡ÀûÀÎ À¯Æ¿¸®Æ¼µéÀ» µÎ±â¿¡ Æí¸®ÇÑ °÷ÀÔ´Ï´Ù. ºÎ·ÏÀÇ
·çÆ®µð½ºÅ© °ßº» ¿¡ ÀÖ´Â /bin
°ú /sbin
µð·ºÅ丮ÀÇ ÆÄÀϵéÀ» Âü°íÇϼ¼¿ä. cpio
, tar
, gzip
µî°ú °°Àº ¹é¾÷¿¡ ÇÊ¿äÇÑ À¯Æ¿¸®Æ¼µéÀº Æ÷ÇÔ½ÃÅ°Áö ¾Ê¾Ò½À´Ï´Ù. ÇÊÀÚÀÇ °æ¿ì ±×·± À¯Æ¿¸®Æ¼µéÀº boot/root µð½ºÄÏÀÇ ¿ë·®À» ¾Æ³¢±â À§ÇØ µû·Î À¯Æ¿¸®Æ¼ µð½ºÅ©¿¡ ³Ö¾îµÓ´Ï´Ù. ÀÏ´Ü boot/root µð½ºÄÏÀÌ ºÎÆÃÀÌ µÇ¾î ·¥µð½ºÅ©·Î ·ÎµùµÇ°í³ª¸é, µð½ºÄÏÀ» »©°í À¯Æ¿¸®Æ¼ µð½ºÄÏÀ¸·Î ¹Ù²ã³ÖÀº ÈÄ À̸¦ ¸¶¿îÆ® ÇÒ ¼ö ÀÖ½À´Ï´Ù. ÇÊÀÚ´Â º¸Åë ÀÌ À¯Æ¿¸®Æ¼ µð½ºÄÏÀ» /usr
¿¡ ¸¶¿îÆ®ÇÕ´Ï´Ù.
À¯Æ¿¸®Æ¼ µð½ºÄÏÀ» ¸¸µå´Â ¹æ¹ýÀº ¾Æ·¡ÀÇ À¯Æ¿¸®Æ¼ µð½ºÅ© ¸¸µé±â Æí¿¡ ³ª¿ÍÀÖ½À´Ï´Ù. ¹é¾÷À» ÇÒ ¶§¿¡´Â ¹é¾÷º» ¿Ü¿¡µµ ¹é¾÷À» ¸¸µå´Âµ¥ »ç¿ëµÈ ¹é¾÷ À¯Æ¿¸®Æ¼µé ¿ª½Ã µ¿ÀÏ ¹öÀüÀ¸·Î Çϳª º¹»çÇصδ ÆíÀÌ ¹Ù¶÷Á÷ÇÕ´Ï´Ù. ÀÌ·¸°Ô ÇØµÎ¸é ³ªÁß¿¡ ÃֽŠ¹é¾÷ À¯Æ¿¸®Æ¼µéÀÌ ¹öÀüÀÇ Â÷ÀÌ·Î ÀÎÇØ ¿¾³¯ ¹é¾÷ Å×ÀÌÇÁ¸¦ ÀÐÁö ¸øÇÏ´Â ºÒ»ó»ç¸¦ ÇÇÇÒ ¼ö ÀÖ½À´Ï´Ù.
´ÙÀ½ ÇÁ·Î±×·¥µéÀÌ Æ÷ÇԵǾú´ÂÁö È®ÀÎÇϼ¼¿ä: 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)½Ãų ÇÊ¿ä°¡ ÀÖ½À´Ï´Ù. »ç¿ë¹ýÀº
·çÆ®ÆÄÀϽýºÅÛÀÇ Å©±â¸¦ ÁÙÀ̱â ÀýÀ» ÂüÁ¶Çϼ¼¿ä.
¶ÇÇÑ, /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
QMAGIC
˼ 4.7.2
°¡ a.out ¶óÀ̺귯¸®¿ëÀÌ°í, ELF
´Â 5.4.33
°ú 2.1.1
ÀÌ ELF ¶óÀ̺ê
·¯¸®¿ëÀÓÀ» ³ªÅ¸³»°í ÀÖ½À´Ï´Ù.
¸¸µé°íÀÚ ÇÏ´Â ·çÆ® ÆÄÀϽýºÅÛ¿¡ ÇÊ¿äÇÑ ·Î´õµéÀ» °ñ¶ó º¹»çÇϼ¼¿ä. ¶óÀ̺귯¸®¿Í ·Î´õµéÀÌ °ú¿¬ ¹ÙÀ̳ʸ®¿¡ ¸Â´Â °ÍÀÎÁö ÁÖÀDZí°Ô üũÇØ º¸¾Æ¾ß¸¸ ÇÕ´Ï´Ù. ¸¸ÀÏ Ä¿³ÎÀÌ ÇÊ¿äÇÑ ¶óÀ̺귯¸®¸¦ ·ÎµåÇÏÁö ¸øÇÏ¸é ´ëºÎºÐÀÇ °æ¿ì ¿¡·¯¸Þ½ÃÁöÁ¶Â÷ ¾øÀÌ ±×³É ¸ØÃß¾î ¹ö¸³´Ï´Ù.
´ç½Å ½Ã½ºÅÛ¿¡´Â ldd ·Î È®ÀÎÇÒ ¼ö ¾ø´Â µ¿ÀûÀ¸·Î ·ÎµåµÇ´Â ¶óÀ̺귯¸®°¡ ÇÊ¿äÇÒ ¼öµµ ÀÖ½À´Ï´Ù.
¸¸ÀÏ ´ç½ÅÀÇ ½Ã½ºÅÛÀÌ PAM(Pluggable Authentication Modules)À» ¾²°í ÀÖ´Ù¸é ºÎÆ®µð½ºÅ© »ó¿¡ PAM À» À§ÇÑ ¸î°¡Áö Áغñ¸¦ ÇØÁÖ¾î¾ß ÇÕ´Ï´Ù. ±×·¯Áö ¾ÊÀ¸¸é ·Î±×ÀÎÀÌ ºÒ°¡´ÉÇÒ °ÍÀÔ´Ï´Ù. °£´ÜÈ÷ ¸»Çؼ PAM À̶õ »ç¿ëÀÚ¸¦ ÀÎÁõÇÏ°í ±× »ç¿ëÀÚµéÀÇ ¼ºñ½º¿¡ ´ëÇÑ ¾×¼¼½º¸¦ ÄÁÆ®·ÑÇÏ´Â Á¤±³ÇÏ°Ô ¸ðµâÈµÈ ¹æ¹ýÀÔ´Ï´Ù. ½Ã½ºÅÛÀÌ PAM À» ¾²°íÀÖ´ÂÁö ½±°Ô È®ÀÎÇغ¸·Á¸é Çϵåµð½ºÅ©ÀÇ /etc µð·ºÅ丮¿¡¼ pam.conf ÆÄÀÏÀ̳ª pam.d µð·ºÅ丮°¡ ÀÖ´ÂÁö üũÇØ º¸½Ê½Ã¿ä. ±×·± °ÍÀÌ ÀÖ´Ù¸é Ʋ¸²¾øÀÌ ÃÖ¼ÒÇÑÀÇ pam Áö¿øÀº ÇÏ°í ÀÖ´Â °ÍÀÔ´Ï´Ù(´Ù¸¥ ¹æ¹ýÀ¸·Î´Â login ½ÇÇàÆÄÀÏ¿¡ ´ëÇØ ldd ¸¦ Çغ¸´Â °ÍÀÔ´Ï´Ù. libpam.so ¶ó´Â ¸»ÀÌ Ãâ·ÂµÇ¸é 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
¶ÇÇÑ, /lib/security/pam_permit.so
ÆÄÀÏÀ» ·çÆ® ÆÄÀϽýºÅÛÀ¸·Î º¹»çÇϽʽÿÀ. ÀÌ ¶óÀ̺귯¸®´Â °Ü¿ì 8K Á¤µµ¿¡ ºÒ°úÇϹǷΠº°·Î ºÎ´ã½º·´Áö ¾Ê½À´Ï´Ù.
ÁÖÀÇÇÒ Á¡Àº ÀÌ·¸°Ô ¼³Á¤Çϸé ÀÌ µð½ºÄÏÀ¸·Î ´ç½Å ¸Ó½ÅÀÇ ÆÄÀÏÀ̳ª ¼ºñ½º¿¡ ´©±¸µçÁö ¾Æ¹« Á¦ÇѾøÀÌ ¾×¼¼½ºÇÒ ¼ö ÀÖ´Ù´Â °ÍÀÔ´Ï´Ù. ¸¸ÀÏ ¾î¶² ÀÌÀ¯·Î ºÎÆ®µð½ºÅ©»óÀÇ º¸¾È¿¡µµ ½Å°æÀ» ½á¾ß ÇÏ´Â »óȲÀ̶ó¸é Çϵåµð½ºÅ©ÀÇ 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
ÀÌ°ÍÀº ¸ðµç ¼ºñ½º°¡ ¿À·ÎÁö ·ÎÄà ÆÄÀÏ¿¡¼ Á¦°øµÇ´Â °ÍÀ¸·Î ¼³Á¤ÇÑ °ÍÀÔ´Ï´Ù. ¶ÇÇÑ /lib/libnss_files.so.1
À» Æ÷ÇÔ½ÃÄÑ¾ß ÇÕ´Ï´Ù. ÀÌ°ÍÀº ÆÄÀÏ ¿¶÷(file lookup)À» ó¸®ÇÒ ¶§ µ¿ÀûÀ¸·Î ·ÎµåµÇ´Â ¶óÀ̺귯¸®ÀÔ´Ï´Ù.
ºÎÆ®µð½ºÅ©¿¡¼ ³×Æ®¿÷¿¡ ¾×¼¼½ºÇÒ ÀÛÁ¤À̶ó¸é º¸´Ù Á¤±³ÇÑ 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½¬´Â ·Î´õ¿¡°Ô ¾îµð¼ ¶óÀ̺귯¸®¸¦ ã¾Æ¾ß ÇÒÁö¸¦ Áö½ÃÇÕ´Ï´Ù. ld.so.cache
¸¦ ¸®¸ÞÀÌÅ© ÇÏ·Á¸é ´ÙÀ½ ¸í·É¾î¸¦ ½ÇÇàÇÕ´Ï´Ù.
chdir /mnt; chroot /mnt /sbin/ldconfig
ldconfig
´Â ¾ðÁ¦³ª ·çÆ® ÆÄÀϽýºÅÛ¿¡ ´ëÇؼ¸¸ ij½¬¸¦ ¸®¸ÞÀÌÅ© ÇϹǷΠ¹Ýµå½Ã chroot
¸í·ÉÀÌ ÇÊ¿äÇÕ´Ï´Ù.
ÀÏ´Ü ·çÆ® ÆÄÀϽýºÅÛÀ» ´Ù ¸¸µé¾ú´Ù¸é ¾ð¸¶¿îÆ®½ÃÅ°°í ÆÄÀÏ·Î Ä«ÇÇÇÑ ´ÙÀ½ ¾ÐÃà½ÃÄÑ¾ß ÇÕ´Ï´Ù.
umount /mnt dd if=DEVICE bs=1k | gzip -v9 > rootfs.gz
ÀÌ °úÁ¤ÀÌ ³¡³ª¸é rootfs.gz
¶ó´Â ÆÄÀÏÀ» ¾ò°Ô µÉÅÙµ¥ ¹Ù·Î ÀÌ°ÍÀÌ ´ç½ÅÀÇ ¾ÐÃà ·çÆ® ÆÄÀϽýºÅÛÀÔ´Ï´Ù. ±× Å©±â¸¦ È®ÀÎÇؼ °ú¿¬ ÇÑ ÀåÀÇ Ç÷ÎÇÇ µð½ºÄÏ¿¡ ´Ù µé¾î°¡´ÂÁö¸¦ üũÇؾ߸¸ ÇÕ´Ï´Ù; ¸¸ÀÏ ´Ù µé¾î°¡Áö ¾Ê´Â´Ù¸é µÇµ¹¾Æ°¡¼ ¸î °¡Áö ÆÄÀϵéÀ» Áö¿ö¾ß ÇÕ´Ï´Ù.
·çÆ® ÆÄÀϽýºÅÛÀÇ Å©±â¸¦ ÁÙÀ̱⠺κÐÀ» ÂüÁ¶ÇÏ¸é ·çÆ® ÆÄÀϽýºÅÛÀÇ Å©±â¸¦ ÁÙÀÌ´Â ¸î °¡Áö ÈùÆ®¸¦ ¾òÀ»¼ö ÀÖÀ» °ÍÀÔ´Ï´Ù.