How To Build a Minimal Linux System from Source Code
Greg O'Keefe, gcokeefe@postoffice.utas.edu.au
v0.9, November 2000
ȲÁØÇü, envia@kaist.ac.kr
¹ø¿ªÀ» ÇÏ´Â Áß°£¿¡ ô¶Ó©ë®ÞÉ´ÔÀÇ ÀϺ»¾î ¹ø¿ªÆÇÀ» Âü°íÇÏ¿´½À´Ï´Ù. ¿À·ù°¡ ÀÖ´Ù¸é Àú¿¡°Ô ¿¬¶ôÇϽðųª À§Å°ÀÇ Æ¯Â¡À» ÀÌ¿ëÇÏ¿© ¸»¾øÀ̰íÄ¡±â¸¦ ÀÌ¿ëÇØ Áֽñ⠹ٶø´Ï´Ù.
ÀÌ ¹®¼´Â ¼Ò½º ÄÚµå·ÎºÎÅÍ ÃÖ¼ÒÇÑÀÇ ¸®´ª½º ½Ã½ºÅÛÀ» ¸¸µé±â À§ÇÑ Áö½Ã »çÇ×µéÀ» ´ã°í ÀÖ½À´Ï´Ù. ÀÌ ¹®¼´Â
![]() ![]() 1. Áغñ¹° ¶¿ì¸®´Â ·¡µåÇÞ°ú °°Àº ¹èÆ÷ÆÇÀ» ÇÑ ÆÄƼ¼Ç¿¡ ¼³Ä¡Çϰí, À̸¦ ÀÌ¿ëÇØ¼ ´Ù¸¥ ÆÄƼ¼Ç¿¡ »õ·Î¿î ¸®´ª½º ½Ã½ºÅÛÀ» ¸¸µé °ÍÀÔ´Ï´Ù. ³ª´Â ¿ì¸®°¡ ¸¸µå´Â ½Ã½ºÅÛÀ» "´ë»ó(target)"À̶ó°í ºÎ¸£°í, ±×°ÍÀ» ¸¸µé±â À§ÇØ »ç¿ëÇÏ´Â ½Ã½ºÅÛÀ» "¹ÙÅÁ(source)"À̶ó°í ºÎ¸¦ °ÍÀÌ´Ù.
µû¶ó¼ ¿©·¯ºÐÀº µÎ °³ÀÇ ¿©À¯ ÆÄƼ¼ÇÀ» °¡Áø ±â°è°¡ ÇÊ¿äÇÒ °ÍÀÔ´Ï´Ù. °¡´ÉÇÏ´Ù¸é Áß¿äÇÑ Á¤º¸°¡ ÀúÀåµÇÁö ¾ÊÀº ±â°è¸¦ »ç¿ëÇϽʽÿÀ. ¿©·¯ºÐÀº ÀÌ¹Ì ¼³Ä¡µÇ¾î ÀÖ´Â ¸®´ª½º¸¦ ¹ÙÅÁ ½Ã½ºÅÛÀ¸·Î ¾µ ¼ö ÀÖ°ÚÁö¸¸, Àú´Â ±×°ÍÀ» ±ÇÀåÇÏÁö ¾Ê½À´Ï´Ù. ½Ç¼ö·Î ¿©·¯ºÐÀÌ ¿ì¸®°¡ ´Ù·ç´Â ¸í·É¾îÀÇ ÀÎÀÚ Çϳª¸¦ À߸ø ³²±ä´Ù¸é, ÇÁ·Î±×·¥µéÀ» ¹ÙÅÁ ½Ã½ºÅÛ¿¡ ¼³Ä¡ÇÏ°Ô µÉ ¼öµµ ÀÖ½À´Ï´Ù. ±×·¯¸é ȣȯµÇÁö ¾Ê°Å³ª Ãæµ¹ÀÌ ÀϾ°Ô µÉ °ÍÀÔ´Ï´Ù.
486À̳ª ±×ÀüÀÇ °Í°ú °°ÀÌ ¿À·¡µÈ PC Çϵå¿þ¾îÀÇ ¹ÙÀÌ¿À½º¿¡´Â ¿ì¸®¸¦ ±ÍÂú°Ô ÇÏ´Â ÇѰ谡 ÀÖ½À´Ï´Ù. ±× ¹ÙÀÌ¿À½ºµéÀº ù 512¸Þ°¡¹ÙÀÌÆ® µÚÀÇ ÇÏµå µð½ºÅ©¸¦ Àб⠸øÇÕ´Ï´Ù. À̰ÍÀº ÀÏ´Ü ¸®´ª½º°¡ ½ÃÀÛµÇ¸é ¹ÙÀÌ¿À½º¸¦ °Ç³Ê¶Ù°í ÀڽŸ¸ÀÇ µð½ºÅ© ÀÔÃâ·ÂÀ» ¼öÇàÇϱ⠶§¹®¿¡ Å« ¹®Á¦°¡ µÇÁö´Â ¾Ê½À´Ï´Ù. ÇÏÁö¸¸ ¿À·¡µÈ ±â°è¿¡¼ ¸®´ª½º¸¦ Àбâ À§Çؼ´Â Ä¿³ÎÀÌ 512¸Þ°¡¹ÙÀÌÆ® ¾ÕÀÇ ¿µ¿ª¿¡ ÀÖ¾î¾ß ÇÕ´Ï´Ù. ¸¸¾à ¿©·¯ºÐÀÌ ÀÌ¿Í °°Àº ±â°è¸¦ °¡Áö°í ÀÖ´Ù¸é, ¿©·¯ºÐÀº ¿ÏÀüÈ÷ 512¸Þ°¡¹ÙÀÌÆ® °æ°è ¾Æ·¡¿¡ ÀÖ´Â µ¶¸³µÈ ÆÄƼ¼ÇÀÌ ÇÊ¿äÇÒ °ÍÀÔ´Ï´Ù. ÀÌ ÆÄƼ¼ÇÀº
/boot ·Î ¸¶¿îÆ®µÇ¾î 512¸Þ°¡¹ÙÀÌÆ® °æ°è À§¿¡ ÀÖ´Â ÆÄƼ¼ÇµéÀ» ÀнÀ´Ï´Ù.
Á¦°¡ ÃÖ±Ù¿¡ À̰ÍÀ» ÇßÀ» ¶§, Àú´Â ·¡µåÇÞ 6.1À» ¹ÙÅÁ ½Ã½ºÅÛÀ¸·Î »ç¿ëÇÏ¿´½À´Ï´Ù. Àú´Â º£À̽º ½Ã½ºÅÛ°ú
Àú´Â ¹®¼µéÀ» ½±°Ô Àбâ À§Çؼ X À©µµ¿ì¿Í ¸ðÁú¶óµµ ¼³Ä¡ÇÏ¿´Áö¸¸, À̰ÍÀº ²À ÇÊ¿äÇÑ °ÍÀº ¾Æ´Õ´Ï´Ù. Á¦°¡ ÀÛ¾÷À» ¸¶ÃÆÀ» ¶§, µð½ºÅ© °ø°£À» 350M Á¤µµ »ç¿ëÇÏ¿´½À´Ï´Ù. (Ä¿ º¸À̴±º¿ä. ¿Ö ±×·²±î¿ä?)
¿Ï¼ºµÈ ´ë»ó ½Ã½ºÅÛÀº 650¸Þ°¡¹ÙÀÌÆ®¸¦ »ç¿ëÇÏ¿´Áö¸¸, À̰ÍÀº ¸ðµç ¼Ò½º ÄÚµåµé°ú Áß°£ °úÁ¤ÀÇ ÆÄÀϵéÀ» Æ÷ÇÔÇÑ Å©±âÀÔ´Ï´Ù. °ø°£ÀÌ ºÎÁ·ÇÏ´Ù¸é ¿©·¯ºÐÀº °¢ ²Ù·¯¹Ì¸¦ ¼³Ä¡ÇÑ µÚ
make clean À» ½ÇÇàÇØ ÁÖ¾î¾ß ÇÒ °ÍÀÔ´Ï´Ù. ±×·¡µµ, ÀÌ ´çȲ½º·´°Ô ´Ã¾î³ Å©±â´Â Á¶±Ý °ÆÁ¤µË´Ï´Ù.
¾î·µç, ¿©·¯ºÐÀº ¿ì¸®°¡ ¸¸µå·Á°í ÇÏ´Â ½Ã½ºÅÛÀ» À§ÇÑ ¼Ò½º ÄÚµåµéÀÌ ÇÊ¿äÇÒ °ÍÀÔ´Ï´Ù. Á¦°¡ ÀÌ ¹®¼¿¡¼ "²Ù·¯¹Ì"¶ó°í ºÎ¸¥ °ÍµéÀÔ´Ï´Ù. ²Ù·¯¹ÌµéÀº ¼Ò½º CD³ª ÀÎÅͳÝÀ¸·ÎºÎÅÍ ¾òÀ» ¼ö ÀÖ½À´Ï´Ù. Àú´Â ¹Ì±¹°ú È£ÁÖ ¹Ì·¯µéÀÇ URLÀ» Á¦½ÃÇϵµ·Ï ÇϰڽÀ´Ï´Ù.
ÀÌ ÀÛÀº ÇÁ·ÎÁ§Æ®ÀÇ Ã¹¹øÂ° ´Ü°èÀÇ ¸ñÇ¥´Â Ä¿³ÎÀÌ ½ÃÀÛ µÈ µÚ
init ¸¦ ãÀ» ¼ö ¾ø¾î¼ ÆÐ´ÐÀ» ÀÏÀ¸Å°´Â °ÍÀ» º¸±â À§ÇØ Ä¿³ÎÀ» ¾ò´Â °ÍÀÔ´Ï´Ù. À̰ÍÀº ¿ì¸®°¡ Ä¿³Î°ú lilo¸¦ ¼³Ä¡ÇØ¾ß ÇÑ´Ù´Â °ÍÀ» ÀǹÌÇÕ´Ï´Ù. ¾î·µç lilo¸¦ Àß ¼³Ä¡ÇÏ·Á¸é ¿ì¸®´Â /dev µð·ºÅ丮¿¡ ÀÖ´Â µð¹ÙÀ̽º ÆÄÀϵéÀÌ ÇÊ¿äÇÕ´Ï´Ù. ºÎÆ® ¼½Å͸¦ ¾²±â À§ÇÑ Àú¼öÁØÀÇ µð½ºÅ© ¾×¼¼½º¸¦ À§Çؼ lilo´Â µð¹ÙÀ̽º ÆÄÀϵéÀ» ÇÊ¿ä·Î ÇÕ´Ï´Ù. MAKEDEV´Â ÀÌ·¯ÇÑ µð¹ÙÀ̽º ÆÄÀϵéÀ» ¸¸µå´Â ½ºÅ©¸³Æ®ÀÔ´Ï´Ù. (¹°·Ð ¹ÙÅÁ ½Ã½ºÅÛ¿¡¼ µð¹ÙÀ̽º ÆÄÀϵéÀ» º¹»çÇØµµ µÇÁö¸¸, ±×°Ç ¹ÝÄ¢ÀÔ´Ï´Ù!) ÇÏÁö¸¸ ¹«¾ùº¸´Ùµµ ¿ì¸®´Â ÀÌ ¸ðµç °ÍÀ» Áý¾î³Ö±â À§ÇÑ ÆÄÀÏ ½Ã½ºÅÛÀ» ÇÊ¿ä·Î ÇÕ´Ï´Ù.
2. ÆÄÀÏ ½Ã½ºÅÛ ¶¿ì¸®ÀÇ »õ ½Ã½ºÅÛÀ» ÆÄÀÏ ½Ã½ºÅÛ ¾È¿¡ ÀÚ¸®Àâ°Ô µÉ °ÍÀÔ´Ï´Ù. ±×·¡¼ ¸ÕÀú ¿ì¸®´Â
mke2fs ¸¦ ÀÌ¿ëÇØ¼ ÆÄÀÏ ½Ã½ºÅÛÀ» ¸¸µé¾î¾ß ÇÕ´Ï´Ù. ±×¸®°í ¾îµò°¡¿¡ ¸¶¿îÆ®ÇØ¾ß ÇÕ´Ï´Ù. Àú´Â /mnt/target À» Á¦¾ÈÇÕ´Ï´Ù. ÀÌÁ¦ºÎÅÍ Àú´Â »õ ÆÄÀÏ ½Ã½ºÅÛÀÌ ±×°÷¿¡ ÀÖ´Ù°í °¡Á¤ÇÒ °ÍÀÔ´Ï´Ù. ¿©·¯ºÐÀº ¹ÙÅÁ ½Ã½ºÅÛÀÌ ½ÃÀÛµÉ ¶§¸¶´Ù ÀÚµ¿À¸·Î »õ ÆÄÀÏ ½Ã½ºÅÛÀÌ ¸¶¿îÆ® ÇÒ ¼ö ÀÖµµ·Ï /etc/fstab ¿¡ Ç׸ñÀ» Ãß°¡ÇÏ¿© Á»´õ ÆíÇÏ°Ô ÀÛ¾÷ÇÒ ¼öµµ ÀÖÀ» °ÍÀÔ´Ï´Ù.
¿ì¸®°¡ ´ë»ó ½Ã½ºÅÛÀ» ºÎÆÃÇÏ°Ô µÇ¸é
/mnt/target ¿¡ ÀÖ´ø ³»¿ëµéÀº / ¿¡ ÀÖ°Ô µÉ °ÍÀÔ´Ï´Ù.
´ë»ó ½Ã½ºÅÛ¿¡´Â µð·ºÅ丮 ±¸Á¶°¡ ÀÖ¾î¾ß ÇÒ °ÍÀÔ´Ï´Ù. À̰ÍÀÌ ¾î¶°ÇØ¾ß ÇÏ´ÂÁö ¾Ë±â À§ÇØ ÆÄÀÏ °èÃþ Ç¥ÁØ(File Heirarchy Standard)À» È®ÀÎÇϽðųª(ÆÄÀϽýºÅÛÀ» º¸½Ê½Ã¿À.), ±×³É ´ë»óÀÌ ¸¶¿îÆ® µÈ °÷À¸·Î
cd ÇϽŠµÚ¿¡ ¾Æ·¡ÀÇ ¸í·ÉµéÀ» ÀÔ·ÂÇϽʽÿÀ.
mkdir bin boot dev etc home lib mnt root sbin tmp usr var cd var; mkdir lock log run spool cd ../usr; mkdir bin include lib local sbin share src cd share/; mkdir man; cd man mkdir man1 man2 man3 ... man9 FHS¿Í ´ëºÎºÐÀÇ ²Ù·¯¹ÌµéÀº man ÆÐÀÌÁöµéÀÇ À§Ä¡¿¡¼ Â÷À̸¦ º¸À̱⠶§¹®¿¡, ¾Æ·¡ÀÇ ½Éº¼¸¯ ¸µÅ©°¡ ÇÊ¿äÇÒ °ÍÀÔ´Ï´Ù.
cd ../..; ln -s share/man man 3. MAKEDEV ¶¿ì¸®´Â ¼Ò½º ÄÚµåµéÀ» ´ë»óÀÇ
/usr/src µð·ºÅ丮¿¡ ³ÖÀ» °ÍÀÔ´Ï´Ù. ±×·¯¹Ç·Î ¿¹¸¦ µé¾î ¿©·¯ºÐÀÇ ´ë»ó ½Ã½ºÅÛÀÌ /mnt/target ¿¡ ¸¶¿îÆ®µÇ¾î ÀÖ°í ¿©·¯ºÐÀÇ Å¸¸£º¼(tarball)µéÀº /root ¿¡ ÀÖ´Ù¸é ¿©·¯ºÐÀº ¾Æ·¡¿Í °°ÀÌ ÀÔ·ÂÇØ¾ß ÇÒ °ÍÀÔ´Ï´Ù.
cd /mnt/target/usr/src tar -xzvf /root/MAKEDEV-2.5.tar.gz ´Ü¼øÈ÷ Ÿ¸£º¼À» º¹»çÇÏÁö ¸¶¼¼¿ä. ±×°ÍÀº ¼Åõ¸¥ ÀÏÀÔ´Ï´Ù .
![]() º¸Åë ¿©·¯ºÐÀÌ ¼ÒÇÁÆ®¿þ¾î¸¦ ¼³Ä¡ÇÒ ¶§, ¿©·¯ºÐÀº ±×°ÍÀ» ÇöÀç µ¿ÀÛÇϰí ÀÖ´Â ½Ã½ºÅÛ À§·Î ¼³Ä¡ÇÕ´Ï´Ù. ÇÏÁö¸¸ ¿ì¸®´Â ¸¶Ä¡
/mnt/target ÀÌ ·çÆ® ÆÄÀϽýºÅÛÀÎ °Íó·³ ¼³Ä¡ÇϰíÀÚ Çϱ⠶§¹®¿¡ ±×·¸°Ô ÇØ¼´Â ¾ÈµË´Ï´Ù. ÀÌ·± ÀÏÀ» ÇÏ´Â ¹æ¹ýÀº ²Ù·¯¹Ìµé¿¡ µû¶ó ´Ù¸¨´Ï´Ù. MAKEDEV¸¦ À§Çؼ´Â ¿©·¯ºÐÀº ¾Æ·¡¿Í °°ÀÌ ÀÔ·ÂÇÏ¿©¾ß ÇÕ´Ï´Ù.
ROOT=/mnt/target make install ¿©·¯ºÐÀº README³ª INSTALL ÆÄÀϵéÀ» º¸½Ã°Å³ª
./configure --help ¸¦ ÀÔ·ÂÇϼż ¿É¼ÇµéÀ» ã¾Æº¸¼Å¾ß ÇÒ °ÍÀÔ´Ï´Ù.
MAKEDEVÀÇ
Makefile À» º¸½Ã°í ¿ì¸®°¡ À§ÀÇ ¸í·É¾î·Î ¼³Á¤ÇÑ ROOT º¯¼ö·Î ¹«¾ùÀ» ÇÏ´ÂÁö ¾Ë¾Æº¸½Ê½Ã¿À. ±× ´ÙÀ½¿¡ man ./MAKEDEV.man À¸·Î ¸Å´º¾óÀ» º¸½Ã°í ¾î¶»°Ô µ¿ÀÛÇÏ´ÂÁö ¾Ë¾Æº¸½Ê½Ã¿À. ¿©·¯ºÐÀº ¿ì¸®ÀÇ µð¹ÙÀ̽º ÆÄÀϵéÀ» ¸¸µå´Â ¹æ¹ýÀÌ cd /mnt/target/dev ¸¦ ÇÑ µÚ, ./MAKEDEV generic À» ÇÏ´Â °Å¶ó´Â °ÍÀ» ¾Æ½Ç ¼ö ÀÖÀ» °ÍÀÔ´Ï´Ù. ls ¸¦ Çϼż MAKEDEV°¡ ¸¸µç ¸ðµç µð¹ÙÀ̽ºµéÀ» º¸½Ê½Ã¿À.
4. Ä¿³Î ¶´ÙÀ½À¸·Î ¿ì¸®´Â Ä¿³ÎÀ» ¸¸µé °ÍÀÔ´Ï´Ù. Àú´Â ¿©·¯ºÐÀÌ À̰ÍÀ» Àü¿¡ ÇØ ºÃ´Ù°í »ý°¢Çϱ⠶§¹®¿¡, °£´ÜÈ÷¸¸ ´Ù·ê °ÍÀÔ´Ï´Ù. ºÎÆ®ÇÒ ¼ö ÀÖ´Â Ä¿³ÎÀÌ ÀÖÀ¸¸é lilo¸¦ ¼³Ä¡ÇϱⰡ ½¬¿öÁý´Ï´Ù. ´ë»óÀÇ
usr/src µð·ºÅ丮·Î µ¹¾Æ°¡¼ ¸®´ª½º Ä¿³ÎÀÇ ¼Ò½º¸¦ ±×°÷¿¡ Ǫ½Ê½Ã¿À. ¸®´ª½º ¼Ò½º Æ®¸®·Î µé¾î°¡¼ (cd linux ) ¿©·¯ºÐÀÌ ÁÁ¾ÆÇÏ´Â ¹æ¹ý, ¿¹¸¦ µé¾î make menuconfig ·Î Ä¿³ÎÀ» ¼³Á¤ÇϽʽÿÀ. ¿©·¯ºÐÀº ¸ðµâÀÌ ¾øµµ·Ï Ä¿³ÎÀ» ¼³Á¤Çؼ ¼³Ä¡ °úÁ¤À» Á¶±Ý ´õ ½±°Ô ÇÒ ¼ö ÀÖÀ» °ÍÀÔ´Ï´Ù. ¸¸¾à ¿©·¯ºÐÀÌ ¸ðµâÀ» »ç¿ëÇϵµ·Ï ¼³Á¤Çϼ̴ٸé, ¿©·¯ºÐÀº Makefile ¿¡¼ INSTALL_MOD_PATH ¸¦ ã¾Æ /mnt/target ·Î ¼³Á¤ÇØ¾ß ÇÒ °ÍÀÔ´Ï´Ù.
ÀÌÁ¦ ¿©·¯ºÐÀº
make dep , make bzImage À» ÇÏ½Ç ¼ö ÀÖ°í, ¿©·¯ºÐÀÌ ¸ðµâÀ» ¼³Á¤Çß´Ù¸é make modules , make modules_install µµ ÇØ¾ß ÇÒ °ÍÀÔ´Ï´Ù. Ä¿³Î arch/i386/boot/bzImage ¿Í system map System.map À» ´ë»ó ½Ã½ºÅÛÀÇ ºÎÆ® µð·ºÅ丮ÀÎ /mnt/target/boot ·Î º¹»çÇϽʽÿÀ. ÀÌÁ¦ ¿ì¸®´Â lilo¸¦ ¼³Ä¡ÇÒ Áغñ°¡ µÇ¾ú½À´Ï´Ù.
5. Lilo ¶Lilo¿¡´Â
QuickInst ¶ó°í ºÒ¸®´Â ±ò²ûÇÑ ½ºÅ©¸³Æ®°¡ Æ÷ÇԵǾî ÀÖ½À´Ï´Ù. lilo ¼Ò½º¸¦ ´ë»óÀÇ ¼Ò½º µð·ºÅ丮¿¡ Ç®°í, ROOT=/mnt/target ./QuickInst ¿Í °°ÀÌ ½ÇÇàÇϼ¼¿ä. ½ºÅ©¸³Æ®´Â ¿©·¯ºÐ¿¡°Ô ¾î¶»°Ô lilo°¡ ¼³Ä¡µÉÁö¿¡ ´ëÇÑ Áú¹®À» ÇÕ´Ï´Ù.
¿ì¸®°¡
ROOT ¸¦ ´ë»ó ÆÄƼ¼ÇÀ¸·Î ¼³Á¤Ç߱⠶§¹®¿¡, ÆÄÀÏ À̸§µéÀ» ´ë»ó ÆÄƼ¼ÇÀ» ±âÁØÀ¸·Î ÇÑ »ó´ëÀûÀÎ À§Ä¡·Î ¾Ë·Á ÁÖ¾î¾ß ÇÕ´Ï´Ù. ±×·¡¼ ±âº»À¸·Î ºÎÆ®ÇÒ Ä¿³ÎÀÇ À§Ä¡¿¡ ´ëÇØ ¹°¾îº¼ ¶§ /mnt/target/boot/bzImage °¡ ¾Æ´Ñ /boot/bzImage ¶ó°í ´äÇØ¾ß ÇÕ´Ï´Ù. ½ºÅ©¸³Æ®¿¡ ÀÛÀº ¹ö±×°¡ Àֱ⠶§¹®¿¡
./QuickInst: /boot/bzImage: no such file ¶ó°í ³ª¿Ã °ÍÀÔ´Ï´Ù. ÇÏÁö¸¸ ¹«½ÃÇÏ½Ã¸é µË´Ï´Ù.
QuickInst °¡ ¾îµð¿¡ ºÎÆ® ¼½Å͸¦ ¼³Ä¡ÇÏ°Ô ÇØ¾ß ÇÒ±î¿ä? ¿ì¸®´Â ÀçºÎÆÃ ÇßÀ» ¶§ ¹ÙÅÁ ½Ã½ºÅÛÀ̳ª ´ë»ó ½Ã½ºÅÛ, ¶Ç´Â ÄÄÇ»ÅÍ¿¡ ÀÖ´Â ´Ù¸¥ ½Ã½ºÅÛÀ¸·Î ºÎÆÃÇÒ ¼ö ÀÖµµ·Ï ¼±ÅÃÇÒ ¼ö Àֱ⸦ ¹Ù¶ø´Ï´Ù. ¶ÇÇÑ ¿ì¸®°¡ Áö±Ý ¸¸µå´Â ¸®·Î°¡ »õ·Î¿î ½Ã½ºÅÛÀÇ Ä¿³ÎÀ» Àеµ·Ï ÇÏ°í ½Í¾îÇÕ´Ï´Ù. ¾î¶»°Ô ¿ì¸®°¡ ÀÌ µÎ °¡Áö ¸ñÇ¥¸¦ ´Ù ´Þ¼ºÇÒ ¼ö ÀÖÀ»±î¿ä? ¾à°£ ÁÖÁ¦¿¡¼ ¹þ¾î³ª°ÚÁö¸¸ ÀÌÁß ºÎÆ® ¸®´ª½º ½Ã½ºÅÛ¿¡¼ lilo°¡ ¾î¶»°Ô DOS¸¦ ºÎÆ®ÇÏ´ÂÁö ¾Ë¾Æº¸µµ·Ï ÇսôÙ. ÀÌ·¯ÇÑ ÆÄÀϽýºÅÛÀ» À§ÇÑ lilo.conf ´Â ¾Æ¸¶µµ ¾Æ·¡¿Í °°À» °ÍÀÔ´Ï´Ù.
prompt timeout = 50 default = linux image = /boot/bzImage label = linux root = /dev/hda1 read-only other = /dev/hda2 label = dos ÀÌ¿Í °°ÀÌ ¼³Ä¡µÇ¸é, ¸¶½ºÅÍ ºÎÆ® ·¹ÄÚµå(master boot record)´Â ¹ÙÀÌ¿À½º¿¡ ÀÇÇØ ÀÐÇôÁö°í ½ÇÇàµÈ µÚ, ÇÁ·ÒÇÁÆ®¸¦ ÁÖ´Â lilo ºÎÆ®·Î´õ¸¦ ºÎ¸£°Ô µË´Ï´Ù. ¸¸¾à ±× ÇÁ·ÒÇÁÆ®¿¡¼ ¿©·¯ºÐÀÌ
dos ¶ó°í Ä¡½Ã¸é lilo´Â hda2ÀÇ ºÎÆ® ¼½Å͸¦ ºÎ¸£°Ô µÇ°í, DOS°¡ ºÒ¸®°Ô µË´Ï´Ù.
¿ì¸®°¡ ÇÏ·Á°í ÇÏ´Â °Íµµ hda2 ´ë½Å¿¡
QuickInst °¡ ¼³Ä¡ÇÏ·Á°í ÇÏ´Â ´Ù¸¥ lilo ºÎÆ® ¼½Å͸¦ ÀÌ¿ëÇÏ´Â °ÍÀ» Á¦¿ÜÇÏ¸é µ¿ÀÏÇÕ´Ï´Ù. ±×·¡¼ ¸®´ª½º ¹èÆ÷ÆÇÀÇ lilo´Â ¿ì¸®°¡ ¸¸µç lilo¸¦ ºÎ¸£°í, ºÒ·ÁÁø lilo´Â ¿ì¸®°¡ ¸¸µç Ä¿³ÎÀ» ºÎ¸£°Ô µÉ °ÍÀÔ´Ï´Ù. ÀçºÎÆÃÀ» ÇÒ ¶§ ¿©·¯ºÐÀº µÎ °³ÀÇ lilo ÇÁ·ÒÇÁÆ®¸¦ º¼ °ÍÀÔ´Ï´Ù.
°£´ÜÈ÷ Á¤¸®Çϸé,
QuickInst °¡ ¿©·¯ºÐ²² ¾îµð¿¡ ºÎÆ® ¼½Å͸¦ À§Ä¡ÇÒ °ÍÀÎÁö ¹°¾îº¸¸é, ¿©·¯ºÐÀÇ /dev/hda2 ¿Í °°ÀÌ ´ë»ó ÆÄÀϽýºÅÛÀÌ ÀÖ´Â µð¹ÙÀ̽º¸¦ ÁöÁ¤ÇϽʽÿÀ.
ÀÌÁ¦ ¿©·¯ºÐÀÇ ½Ã½ºÅÛÀÇ
lilo.conf ¸¦ ¾Æ·¡¿Í °°Àº ÁÙÀ» °¡Áöµµ·Ï °íÄ¡½Ê½Ã¿À.
other = /dev/hda2 label = target Lilo¸¦ ½ÇÇàÇÏ¸é ¿ì¸®´Â ´ë»ó ½Ã½ºÅÛÀ¸·Î ù ºÎÆ®¸¦ ÇÒ ¼ö ÀÖ°Ô µË´Ï´Ù.
6. Glibc ¶´ÙÀ½À¸·Î ¿ì¸®´Â
init ¸¦ ¼³Ä¡ÇØ¾ß ÇϰÚÁö¸¸, ¸®´ª½º¿¡¼ ½ÇÇàµÇ´Â °ÅÀÇ ¸ðµç ´Ù¸¥ ÇÁ·Î±×·¥°ú °°ÀÌ, init ´Â GNU C ¶óÀ̺귯¸®ÀÎ glibc¿¡¼ Á¦°øÇÏ´Â ¶óÀ̺귯¸® ÇÔ¼öµéÀ» »ç¿ëÇÕ´Ï´Ù. ±×·¯´Ï ¿ì¸®´Â glibc¸¦ ¸ÕÀú ¼³Ä¡Çϵµ·Ï ÇսôÙ.
Glibc´Â ¸Å¿ì Å©°í º¹ÀâÇÑ ²Ù·¯¹ÌÀÔ´Ï´Ù. 8¸Þ°¡ ¹ÙÀÌÆ®ÀÇ ·¥ÀÌ ÀåÂøµÈ ÀúÀÇ ¿À·¡µÈ 386sx/16 ÄÄÇ»Åͷδ ¼³Ä¡ÇÏ´Â µ¥ 90½Ã°£ Á¤µµ°¡ °É·È½À´Ï´Ù. ÇÏÁö¸¸ 64¸Þ°¡¹ÙÀÌÆ®ÀÇ ¸Þ¸ð¸®°¡ ÀÖ´Â ÀúÀÇ ¼¿·¯·Ð 433 ÄÄÇ»Åͷδ 33ºÐ¹Û¿¡ °É¸®Áö ¾Ê¾Ò½À´Ï´Ù. Á¦ »ý°¢¿¡´Â ¾ó¸¶³ª ½Ã°£ÀÌ °É¸®´ÂÁö´Â ¸Þ¸ð¸®°¡ ÁÖ·Î °áÁ¤ÇÏ´Â °Í °°½À´Ï´Ù. ¸¸¾à ¿©·¯ºÐÀÌ 8¸Þ°¡¹ÙÀÌÆ®(³ª, °øÆ÷½º·´°Ôµµ ´õ ÀÛÀº Å©±â)ÀÇ ¸Þ¸ð¸®¸¦ °¡Áö°í ÀÖ¾ú´Ù¸é ´õ ¸¹Àº ¼³Ä¡ ½Ã°£ °É¸± Å×´Ï Áغñ¸¦ ÇϽñ⠹ٶø´Ï´Ù.
Glibc ¼³Ä¡ ¹®¼´Â glibc¸¦ µ¶¸³µÈ µð·ºÅ丮¿¡ ¼³Ä¡ÇÒ °ÍÀ» ±ÇÇϰí ÀÖ½À´Ï´Ù. ÀÌ·¸°Ô ÇÏ¸é ¿©·¯ºÐÀº ´ÜÁö ±× µð·ºÅ丮¸¦ Áö¿ì´Â °Í¸¸À¸·Î, ½±°Ô Àç½ÃÀÛÇÒ ¼ö ÀÖ½À´Ï´Ù. ¶ÇÇÑ ÀÌ·¸°Ô Çϸé 265¸Þ°¡¹ÙÀÌÆ® Á¤µµÀÇ ¸Þ¸ð¸®°¡ Àý¾àµË´Ï´Ù.
Æò¼Òó·³
glibc-2.1.3.tar.gz (³ª ´Ù¸¥ ¹öÀüÀÇ) Ÿ¸£º¼À» /mnt/target/usr/src ¿¡ DZ´Ï´Ù. ÀÌÁ¦, ¿ì¸®´Â glibcÀÇ µð·ºÅ丮¿¡¼ "¾Öµå¿Âµé(add-ons)"ÀÇ ¾ÐÃ൵ Ç® °ÍÀÔ´Ï´Ù. ±×·¯´Ï cd glibc-2.1.3 ÇϽðí, glibc-crypt-2.1.3.tar.gz ¿Í glibc-linuxthreads-2.1.3.tar.gz Ÿ¸£º¼À» ±×°÷¿¡ Ǫ½Ê½Ã¿À.
ÀÌÁ¦ ¿ì¸®´Â ¼³Ä¡ µð·ºÅ丮¸¦ ¸¸µé°í, ¼³Á¤ÇÑ µÚ, glibc¸¦ ¸¸µé°í(make) ¼³Ä¡(install)ÇÒ °ÍÀÔ´Ï´Ù. Àú´Â ¾Æ·¡¿Í °°ÀÌ ÀÔ·ÂÇßÁö¸¸, ¹®¼µéÀ» ½º½º·Î ÀÐÀ¸½Ã°í ¿©·¯ºÐÀÇ »óȲ¿¡ °¡Àå ÀûÇÕÇÏ°Ô ÀÔ·ÂÇϽʽÿÀ. ÇÑÆí, ¿©·¯ºÐÀº glibc¸¦ ¼³Ä¡Çϱâ Àü¿¡
df ¸í·É¾î¸¦ ÅëÇØ¼ ¿©À¯ °ø°£ÀÌ ¾ó¸¶³ª ÀÖ³ª¸¦ º¼ ¼ö ÀÖ½À´Ï´Ù. Glibc¸¦ ¼³Ä¡ÇÑ µÚ, ¾îµð¿¡¼ ¿ë·®ÀÌ ³¶ºñµÇ¾ú´ÂÁö º¸±â À§Çؼ df ¸¦ ´Ù½Ã ÇÏ½Ç ¼öµµ ÀÖ½À´Ï´Ù.
cd .. mkdir glibc-build ../glibc-2.1.3/configure --enable-add-ons --prefix=/usr make make install_root=/mnt/target install ¿ì¸®°¡ ²Ù·¯¹Ì¸¦ ¾îµð¿¡ ¼³Ä¡ÇÒÁö ¼³Á¤ÇÏ´Â ¶Ç ´Ù¸¥ ¹æ¹ýÀÌ ÀÖ´Ù´Â Á¡¿¡ ÁÖÀÇÇϽʽÿÀ.
7. SysVinit ¶SysVinit ¹ÙÀ̳ʸ®¸¦ ¸¸µé°í ¼³Ä¡ÇÏ´Â °ÍÀº ¸Å¿ì ´Ü¼øÇÕ´Ï´Ù.
src/ ¼ºê µð·ºÅ丮ÀÇ Makefile À» Á¶±Ý ÇØÅ·ÇØ ÁÖ¾î¾ß ÇÕ´Ï´Ù. ¸¶Áö¸· ³× ÁÙ¿¡¼, ¿©·¯ºÐÀº /dev/initctl ¹Ù·Î ¾Õ¿¡ $(ROOT) ¸¦ Ãß°¡ÇØ ÁÖ¼Å¾ß ÇÕ´Ï´Ù. ¿¹¸¦ µé¾î
@ if [ ! -p /dev/initctl ]; then \ ˼
@ if [ ! -p $(ROOT)/dev/initctl ]; then \ ÀÌ µË´Ï´Ù.
ÀÌ
initctl µð¹ÙÀ̽º ÆÄÀÏÀº init¿ÍÀÇ Åë½Å ¼ö´Ü ÁßÀÇ ÇϳªÀÔ´Ï´Ù. ¿¹¸¦ µé¾î init ¸Ç ÆÐÀÌÁö¸¦ º¸¸é, ÁÖ Àü¿øÀÌ ²÷±â·Á°í ÇÏ¿© UPS Àü¿ø¿¡¼ µ¿ÀÛÇϰí ÀÖÀ» ¶§ SIGPWR ´ë½Å ÀÌ ÆÄÀÏÀ» ½á¼ init¸¦ Á¾·áÇϵµ·Ï Çϰí ÀÖ´Ù. ¹æ±Ý ¿ì¸®°¡ ÇÑ ÇØÅ·Àº ´ë»ó ½Ã½ºÅÛÀ» À§ÇÑ °ÍÀ̸ç, ¹ÙÅÁ ½Ã½ºÅÛÀº ¿µÇâÀ» ÁÖÁö ¾Ê½À´Ï´Ù.
À̰ÍÀÌ ³¡³µÀ¸¸é,
src ¼ºêµð·ºÅ丮¿¡¼ ´ÙÀ½ ¸í·ÉµéÀ» ÀÔ·ÂÇϽʽÿÀ.
make ROOT=/mnt/target make install init ¿Í °ü·ÃµÈ ½ºÅ©¸³Æ®µéÀº ¸Å¿ì ¸¹½À´Ï´Ù. SysVinit ²Ù·¯¹Ì ¾È¿¡ Àß µ¿ÀÛÇÏ´Â ¿¹Á¦ ½ºÅ©¸³Æ®µéÀÌ ÀÖ½À´Ï´Ù. ÇÏÁö¸¸ ¿©·¯ºÐÀº ½ºÅ©¸³Æ®µéÀ» ¼öµ¿À¸·Î ¼³Ä¡ÇØ¾ß ÇÒ °ÍÀÔ´Ï´Ù. ±×°ÍµéÀº SysVinit ¼Ò½º Æ®¸® ¾ÈÀÇ debian/etc ¾Æ·¡ÀÇ °èÃþ¿¡ ÀÖ½À´Ï´Ù. ¿©·¯ºÐÀº cd ../debian/etc; cp -r * /mnt/target/etc ¿Í °°Àº ¹æ¹ýÀ¸·Î ½ºÅ©¸³Æ®µéÀ» ´ë»óÀÇ etc µð·ºÅ丮·Î Á÷Á¢ º¹»çÇÏ½Ã¸é µË´Ï´Ù. ¿©·¯ºÐÀº º¹»çÇϽñâ Àü¿¡ ½ºÅ©¸³Æ®µéÀÇ ³»¿ëÀ» º¸°í ½ÍÀ¸½Ç °ÍÀÔ´Ï´Ù!
ÀçºÎÆÃÀ» ÇÒ ¶§
init À» ÀоîµéÀ̱â À§ÇÑ À§ÇÑ Áغñ°¡ ´ë»ó Ä¿³Î¿¡ ´ëÇØ¼ ¿ÏÀüÈ÷ ³¡³µ½À´Ï´Ù. Áö±Ý ¹®Á¦´Â bash °¡ ¾ø±â ¶§¹®¿¡ ½ºÅ©¸³Æ®°¡ ½ÇÇàµÇÁö ¾ÊÀ» °ÍÀ̶ó´Â °ÍÀÔ´Ï´Ù. ¶ÇÇÑ, init ´Â getty ¸¦ ½ÇÇà½ÃŰ·Á°í ÇÏÁö¸¸, ½ÇÇà½Ãų getty °¡ ¾ø½À´Ï´Ù. ÀçºÎÆÃÀ» ÇØ º¸½Ã°í À߸øµÈ °ÍÀÌ ¾ø´Ù´Â °ÍÀ» È®ÀÎÇϼ¼¿ä.
8. Ncurses ¶¿ì¸®°¡ ´ÙÀ½À¸·Î Çʿ並 ÇÏ´Â °ÍÀº BashÀÌÁö¸¸, bash´Â ncurses¸¦ ÇÊ¿ä·Î Çϱ⠶§¹®¿¡ À̰ÍÀ» ¸ÕÀú ¼³Ä¡ÇÕ´Ï´Ù. Ncurses´Â ÅØ½ºÆ® ½ºÅ©¸°À» ´Ù·ç´Â ¼ö´ÜÀ¸·Î¼ termcapÀ» ´ëüÇÏ¿´Áö¸¸, tercapÀÇ ÄÝ(call)µéÀ» Áö¿øÇÔÀ¸·Î½á ¿À·¡µÈ ÇÁ·Î±×·¥°úÀÇ È£È¯¼º(backwards compatibility)À» Áö¿øÇÕ´Ï´Ù. ±ú²ýÇÏ°í ´Ü¼øÇÑ Çö´ëÀûÀÎ ½Ã½ºÅÛÀ» ¸¸µé±â À§Çؼ´Â, ±¸½ÄÀÎ termcap ¸Þ¼Òµå(method)¸¦ ²ô´Â °ÍÀÌ °¡Àå ÁÁÀ» °ÍÀ̶ó°í »ý°¢ÇÕ´Ï´Ù. ¿©·¯ºÐÀº ³ªÁß¿¡ termcapÀ» ¾²´Â ±¸½ÄÀÎ ¾îÇø®ÄÉÀ̼ÇÀ» ÄÄÆÄÀÏÇÒ ¶§ ¹®Á¦¿¡ Á÷¸éÇÏ°Ô µÉÁöµµ ¸ð¸¨´Ï´Ù. ÇÏÁö¸¸ ÃÖ¼ÒÇÑ ¿©·¯ºÐÀº ¹«¾ùÀÌ ¹«¾ùÀ» ¾²´ÂÁö´Â ¾Ë °ÍÀÔ´Ï´Ù. ¸¸¾à ÇÊ¿äÇÏ´Ù¸é termcapÀ» Áö¿øÇϵµ·Ï ncurses¸¦ ´Ù½Ã ÄÄÆÄÀÏ ÇÒ ¼ö ÀÖÀ» °ÍÀÔ´Ï´Ù.
Á¦°¡ »ç¿ëÇÑ ¸í·É¾î´Â ¾Æ·¡¿Í °°½À´Ï´Ù.
./configure --prefix=/usr --with-install-prefix=/mnt/target --with-shared --disable-termcap make make install 9. Bash ¶Bash¸¦ ¼³Ä¡ÇÏ´Â µ¥¿¡´Â Á¦°¡ »ý°¢Çß´ø °Íº¸´Ù ´õ ¸¹Àº Àбâ¿Í »ý°¢°ú ½ÃÇàÂø¿À°¡ ÇÊ¿äÇß½À´Ï´Ù. Á¦°¡ »ç¿ëÇÑ ¼³Á¤ ¿É¼ÇµéÀº ¾Æ·¡¿Í °°½À´Ï´Ù.
./configure --prefix=/mnt/target/usr/local --exec-prefix=/mnt/target --with-curses ÀÏ´Ü ¿©·¯ºÐÀÌ Bash¸¦ ¸¸µé°í ¼³Ä¡Çϼ̴ٸé,
cd /mnt/target/bin; ln -s bash sh ¿Í °°Àº ¹æ¹ýÀ¸·Î ½Éº¼¸¯ ¸µÅ©¸¦ ¸¸µå½Ê½Ã¿À. ¸¹Àº ½ºÅ©¸³Æ®µéÀÌ ¾Æ·¡¿Í °°Àº ÁÙ·Î ½ÃÀÛÇϱ⠶§¹®ÀÔ´Ï´Ù.
#!/bin/sh /bin/bash °¡ ¾Æ´Ñ/bin/sh ¸¦ ã±â ¶§¹®¿¡ ½ÇÇàµÉ ¼ö ¾øÀ» °ÍÀÔ´Ï´Ù.
¿©·¯ºÐÀÌ ÀçºÎÆÃÀ» ÇÏ½Ã°í ½Í´Ù¸é Áö±Ý ÇÏ½Ç ¼ö ÀÖ½À´Ï´Ù. ÀÌÁ¦´Â ½ºÅ©¸³Æ®°¡ ½ÇÁ¦·Î ½ÇÇàµÇÁö¸¸,
getty ³ª login ÇÁ·Î±×·¥ÀÌ ¾ø±â ¶§¹®¿¡ ·Î±×ÀÎÀº ÇÏ½Ç ¼ö ¾ø´Ù´Â °Í¿¡ ÁÖÀÇÇϽʽÿÀ.
10. Util-linux (getty¿Ílogin) ¶Util-linux²Ù·¯¹Ì´Â
agetty ¿Í login À» Æ÷ÇÔÇÕ´Ï´Ù. ¿ì¸®°¡ ·Î±×ÀÎ ÇÏ°í ¹è½Ã ÇÁ·ÒÇÁÆ®¸¦ ¹Þ±â À§Çؼ´Â µÑ ´Ù°¡ ÇÊ¿äÇÕ´Ï´Ù. À̰ÍÀÌ ¼³Ä¡µÈ µÚ¿¡´Â ´ë»óÀÇ /sbin µð·ºÅ丮¿¡¼ agetty ¿¡¼ getty ·ÎÀÇ ½Éº¼¸¯ ¸µÅ©¸¦ ¸¸µå½Ê½Ã¿À. ¸ðµç À¯´Ð½º °è¿ÀÇ ½Ã½ºÅÛ¿¡´Âgetty °¡ ¼³Ä¡µÇ¾ú´Ù°í °¡Á¤µÇ±â ¶§¹®¿¡, agetty ¸¦ ½ÇÇà½Ã۱â À§ÇØ inittab À» ÇØÅ·ÇÏ´Â °Íº¸´Ù ½Éº¼¸µ ¸µÅ©¸¦ ¸¸µå´Â °ÍÀÌ ´õ ³´½À´Ï´Ù.
Util-linux¸¦ ÄÄÆÄÀÏÇÏ´Â µ¥ ÀÖ¾î ¹®Á¦°¡ Çϳª ³²¾Ò½À´Ï´Ù. ÀÌ ²Ù·¯¹Ì´Â
more À» Æ÷ÇÔÇÏÁö¸¸, Àú´Â make °úÁ¤¿¡¼ more ¸¦ ¹ÙÅÁ ½Ã½ºÅÛÀÇ ncurses 4 ´ë½Å ncurses 5·Î ¸µÅ©Çϵµ·Ï ÇÒ ¼ö ¾ø¾ú½À´Ï´Ù. Àú´Â ±×°Í¿¡ ´ëÇØ ´õ ÀÚ¼¼È÷ ¾Ë¾Æ º¼ °ÍÀÔ´Ï´Ù.
´ë»ó ½Ã½ºÅÛ¿¡´Â
/etc/passwd ÆÄÀÏÀÌ ÀÖ¾î¾ß ÇÒ °ÍÀÔ´Ï´Ù. login ÇÁ·Î±×·¥Àº ÀÌ ÆÄÀÏÀ» ÀÌ¿ëÇÏ¿© ¿©·¯ºÐÀÌ Çã¿ëµÈ »ç¿ëÀÚÀÎÁö¸¦ È®ÀÎÇÒ °ÍÀÔ´Ï´Ù. Çö ´Ü°è¿¡¼ ½Ã½ºÅÛÀº Àå³°¨ »óÅÂÀ̱⠶§¹®¿¡ ¿ì¸®´Â ÆÐ½º¿öµå ¾øÀÌ ·çÆ® À¯Àú¸¸À» ¼³Ä¡ÇÏ´Â ¾öû³ ÀÏÀ» ÇÒ ¼ö ÀÖ½À´Ï´Ù!! ´ë»óÀÇ /etc/passwd ¿¡ ¾Æ·¡¸¦ ÀÔ·ÂÇϼ¼¿ä.
root::0:0:root:/root:/bin/bash 11. Sh-utils ¶¿ì¸®°¡ ÇÊ¿ä·Î ÇÏ´Â ¸¶Áö¸· ²Ù·¯¹Ì´Â GNU sh-utilsÀÔ´Ï´Ù. ¿©±â¼ ¿ì¸®°¡ ÇÊ¿äÇÑ °ÍÀº
/etc/init.d/rc ¿¡¼ ¾²ÀÌ´Â stty »ÓÀÔ´Ï´Ù. /etc/init.d/rc ´Â ·±·¹º§µé(runlevels)À» º¯°æÇϰí, Ãʱ⠷±·¹º§·Î ÁøÀÔÇÏ´Â µ¥ ¾²ÀÔ´Ï´Ù. »ç½Ç Àú´Â stty ¸¸À» Æ÷ÇÔÇϰí ÀÖ´Â ²Ù·¯¹Ì¸¦ °¡Áö°í¼ »ç¿ëÇÏ¿´Áö¸¸, ¾îµð¿¡¼ ±¸Çß´ÂÁö ±â¾ïÇÒ ¼ö ¾ø¾ú½À´Ï´Ù. ¿©·¯ºÐÀÌ ½Ã½ºÅÛÀ» ÆíÇÏ°Ô »ç¿ëÇϽñâ À§ÇØ ÇÊ¿ä·Î ÇÒ ´Ù¸¥ ÇÁ·Î±×·¥µéµµ Æ÷ÇԵǾî Àֱ⠶§¹®¿¡, GNU ²Ù·¯¹Ì¸¦ »ç¿ëÇÏ´Â °ÍÀÌ ¹Ù¶÷Á÷ÇÕ´Ï´Ù.
ÀÚ ³¡³µ½À´Ï´Ù. ¿©·¯ºÐÀº ÀÌÁ¦ ºÎÆÃÇÏ°í ·Î±×ÀÎÀ» À§ÇÑ ÇÁ·ÒÇÁÆ®¸¦ ¿©·¯ºÐ¿¡°Ô Ãâ·ÂÇØ ÁÙ ½Ã½ºÅÛÀ» °¡Áö°Ô µÇ¾ú½À´Ï´Ù. ¿©·¯ºÐÀº À̰ÍÀ» °¡Áö°í ¸¹Àº ÀÏÀº ÇÏÁö ¸øÇÒ °ÍÀÔ´Ï´Ù. ¿©±â¿¡´Â ¿©·¯ºÐÀÇ °á°ú¹°À» º¸¿©ÁÙ
ls ¸í·É¾îÁ¶Â÷ ¾ø½À´Ï´Ù. ÅÇ(tab)۸¦ µÎ¹ø ´©¸£½Ã¸é °¡´ÉÇÑ ¸í·É¾îµéÀ» º¼ ¼ö ÀÖÀ» °ÍÀÔ´Ï´Ù. À̰ÍÀÌ Á¦°¡ ÇØº» °Í Áß¿¡¼´Â °¡Àå ¸¸Á·½º·¯¿î °ÍÀÔ´Ï´Ù.
12. Æí¸®ÇÑ »ç¿ëÀ» À§Çؼ ¶¿ì¸®°¡ °ÅÀÇ ¾µ¸ð¾ø´Â ½Ã½ºÅÛÀ» ¸¸µé¾ú´Ù°í »ý°¢µÉ ¼öµµ ÀÖ½À´Ï´Ù. ÇÏÁö¸¸ ½ÇÁ¦·Î´Â ÀÌ ½Ã½ºÅÛÀÌ ¹«¾ð°¡ Çϵµ·Ï Çϱâ À§ÇØ ÇØ¾ß ÇÒ ÀÏÀÌ ¸¹Áö´Â ¾Ê½À´Ï´Ù. ¿©·¯ºÐÀÌ °¡Àå ¸ÕÀú ÇØ¾ß ÇÒ ÀÏ ÁßÀÇ Çϳª´Â ·çÆ® ÆÄÀÏ ½Ã½ºÅÛÀ» Àбâ-¾²±â·Î ¸¶¿îÆ®ÇÏ´Â °ÍÀÔ´Ï´Ù. SysVinit ²Ù·¯¹Ì ¾È¿¡´Â ÀÌ¿Í °°Àº ÀÏÀ» Çϰí
mount -a ¸¦ ½ÇÇàÇÏ¿© ¿©·¯ºÐÀÌ /etc/fstab ¿¡ ½á ³õÀº ´ë·Î ÆÄÀϽýºÅÛÀ» ¸¶¿îÆ®ÇÏ´Â /etc/init.d/mountall.sh ¶ó´Â ½ºÅ©¸³Æ®°¡ ÀÖ½À´Ï´Ù. etc/rc2.d ¾È¿¡ S05mountall °ú °°Àº ½Éº¼¸¯ ¸µÅ©¸¦ ³ÖÀ¸½Ê½Ã¿À.
ÀÌ ½ºÅ©¸³Æ®´Â ¿©·¯ºÐÀÌ ¾ÆÁ÷ ¼³Ä¡ÇÏÁö ¾ÊÀº ¸í·ÉµéÀ» »ç¿ëÇÒ ¼öµµ ÀÖ½À´Ï´Ù. ±×·¸´Ù¸é ±× ¸í·ÉÀ» Æ÷ÇÔÇÏ´Â ²Ù·¯¹Ì¸¦ ã¾Æ¼ ¼³Ä¡ÇϽʽÿÀ. Àâ´ÙÇÑ ÆÁµé¿¡ ¾î¶»°Ô ²Ù·¯¹ÌµéÀ» ã´ÂÁö¿¡ °üÇÑ µµ¿ò¸»ÀÌ ÀÖ½À´Ï´Ù.
/etc/init.d ÀÇ ´Ù¸¥ ½ºÅ©¸³Æ®µéµµ º¸½Ê½Ã¿À. ±×µé ´ëºÎºÐÀº ´ëºÎºÐÀÇ ÁøÂ¥ ½Ã½ºÅÛ¿¡´Â Æ÷ÇԵǾî ÀÖ¾î¾ß ÇÕ´Ï´Ù. ±×µéÀ» Çϳª¾¿ ¼³Ä¡ÇØ º¸½Ê½Ã¿À. °¢°¢À» ¼³Ä¡Çϱ⠸ðµç °ÍÀÌ Àß µ¹¾Æ°£´Ù´Â °ÍÀ» È®ÀÎÇϽʽÿÀ.
ÆÄÀÏ °èÃþ Ç¥ÁØ¿¡ ´ëÇØ ¾Ë¾Æº¸½Ê½Ã¿À. (ÆÄÀϽýºÅÛÀ» º¸½Ê½Ã¿À.) À̰ÍÀº
/bin °ú /sbin ¿¡ ÀÖ¾î¾ß ÇÒ ¸í·É¾îµéÀÇ ¸ñ·ÏÀ» Á¦°øÇÕ´Ï´Ù. ¸ðµç ¸í·É¾îµéÀÌ ¼³Ä¡µÇ¾ú´ÂÁö È®ÀÎÇϽʽÿÀ. À̰ÍÀ» ±ÔÁ¤ÇÑ POSIX ¹®¼¸¦ ã¾Æ º¸½Ã¸é ´õ ÁÁÀ» °ÍÀÔ´Ï´Ù.
¿©±â¼ºÎÅÍ´Â ¿©·¯ºÐÀÌ ÇÊ¿äÇÑ °ÍÀÌ ÀÖ´Â ²Ù·¯¹Ì¸¦ °è¼Ó ¼³Ä¡ÇÏ½Ã¸é µË´Ï´Ù.
gcc ¿Í make °°Àº ¼³Ä¡ µµ±¸µéÀ» ¼³Ä¡ÇÏ´Â °ÍÀº ºü¸¦¼ö·Ï ÁÁ½À´Ï´Ù. À̵éÀÌ ¼³Ä¡µÇ¸é, ¿©·¯ºÐÀº ´ë»ó ½Ã½ºÅÛ¿¡¼ ½º½º·Î¸¦ ¼³Ä¡ÇÒ ¼ö ÀÖÀ» °ÍÀÔ´Ï´Ù. ÀÌ´Â ¹ÙÅÁ ½Ã½ºÅÛ¿¡¼ ÇÏ´Â °Íº¸´Ù ´ú º¹ÀâÇÕ´Ï´Ù.
13.1. Àâ´ÙÇÑ ÆÁµé ¶¸¸¾à ¿©·¯ºÐÀÌ RPMÀ» Áö¿øÇÏ´Â ¸®´ª½º ½Ã½ºÅÛ¿¡¼
thingy ¶ó´Â ¸í·ÉÀÌ ÀÖ°í, ÀÌ ¸í·ÉÀ» ¾òÀ» ¼ö ÀÖ´Â ¼Ò½º¸¦ ¾Ë°í ½ÍÀ¸½Ã´Ù¸é ¾Æ·¡ÀÇ ¸í·ÉÀ» ¾²½Ã±â ¹Ù¶ø´Ï´Ù.
rpm -qif `which thingy` ¿©·¯ºÐÀÌ ·¡µåÇÞ CD¸¦ °¡Áö°í ÀÖ´Ù¸é, ¿©·¯ºÐÀº ¾Æ·¡ÀÇ Äڵ带 ÀÌ¿ëÇÏ¿© ¼Ò½º Äڵ带 ¼³Ä¡ÇÒ ¼ö ÀÖ½À´Ï´Ù.
rpm -i /mnt/cdrom/SRPMS/what.it.just.said-1.2.srpm À̰ÍÀº Ÿ¸£º¼°ú ·¡µåÇÞÀÇ ÆÐÄ¡µéÀ»
/usr/src/redhat/SOURCES ¿¡ Ç®¾î ³õÀ» °ÍÀÔ´Ï´Ù.
13.2. ¸µÅ© ¶
14.1. ÀúÀÛ±Ç ¶This document is copyright (c) 1999, 2000 Greg O'Keefe. You are welcome to use, copy, distribute or modify it, without charge, under the terms of the
![]() 14.3. Çǵå¹é ¶Àú´Â ¿©·¯ºÐÀÇ ¾î¶°ÇÑ Á¶¾ðÀ̳ª ºñÆò, °³¼±À» À§ÇÑ Á¦¾Èµµ µè°í ½Í½À´Ï´Ù. ±×°ÍµéÀ» Àú,
![]() 14.4. °¨»ç ¶Á¦Ç° À̸§µéÀº °¢°¢ÀÇ ¼ÒÀ¯ÀÚÀÇ »óÇ¥À̸ç, ¿©±â¿¡¼ °¨»ç¸¦ µå¸³´Ï´Ù.
ÀÌ ¹®¼¸¦ ¾µ ¼ö ÀÖµµ·Ï µµ¿ÍÁֽе¥ ´ëÇØ ¾Æ·¡ÀÇ ºÐµé²² °¨»ç¸¦ µå¸®°í ½Í½À´Ï´Ù.
Michael Emery
Unios¸¦ ¾Ë·Á Áּ̽À´Ï´Ù.
Tim Little
/etc/passwd ¿¡ ´ëÇØ µµ¿òÀ» Áּ̽À´Ï´Ù.
syslogd´Â
Alex Aitkin
/etc/services ¸¦ ÇÊ¿ä·Î ÇÑ´Ù´Â °ÍÀ» ¾Ë·ÁÁּ̰í, ½Ã½ºÅÛÀ» ¼Ò½º ÄÚµå·Î ¼³Ä¡ÇÏ´Â °ÍÀ» ¹¦»çÇϱâ À§ÇÑ "¿©·¯ºÐÀÇ °ÍÀ» µ¹¸°´Ù(rolling your own)"´Â Ç¥ÇöÀ» ¼Ò°³ÇØ Áּ̽À´Ï´Ù.
Àú¿¡°Ô Vico¿Í ±×ÀÇ "verum ipsum factum"(understanding arises through making, ÀÌÇØ´Â ¸¸µê¿¡¼ ±â¿øÇÑ´Ù)À» Àú¿¡°Ô ¼Ò°³ÇØ Áּ̽À´Ï´Ù.
Dennis Scott
ÀúÀÇ 16Áø¼ö °è»êÀ» °íÃÄ Áּ̽À´Ï´Ù.
jdd
¿ÀÀÚµéÀ» ÁöÀûÇØ Áּ̽À´Ï´Ù.
|
You will step on the soil of many countries. |