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
¹ø¿ªÀ» ÇÏ´Â Áß°£¿¡ ô¶Ó©ë®ÞÉ´ÔÀÇ ÀϺ»¾î ¹ø¿ªÆÇÀ» Âü°íÇÏ¿´½À´Ï´Ù. ¿À·ù°¡ ÀÖ´Ù¸é Àú¿¡°Ô ¿¬¶ôÇϽðųª À§Å°ÀÇ Æ¯Â¡À» ÀÌ¿ëÇÏ¿© ¸»¾øÀÌ°íÄ¡±â¸¦ ÀÌ¿ëÇØ Áֽñ⠹ٶø´Ï´Ù.
ÀÌ ¹®¼´Â ¼Ò½º ÄÚµå·ÎºÎÅÍ ÃÖ¼ÒÇÑÀÇ ¸®´ª½º ½Ã½ºÅÛÀ» ¸¸µé±â À§ÇÑ Áö½Ã »çÇ×µéÀ» ´ã°í ÀÖ½À´Ï´Ù. ÀÌ ¹®¼´Â From PowerUp to Bash PromptÀÇ ÀϺκÐÀ̾úÁö¸¸, Àú´Â ¹®¼µéÀÌ Âª°í ÁýÁßµÈ »óŸ¦ À¯ÁöÇϵµ·Ï Çϱâ À§ÇØ, ¿ø·¡ÀÇ ¹®¼¸¦ ºÐ¸®ÇÏ¿´½À´Ï´Ù. ¿ì¸®°¡ ¿©±â¼ ¸¸µå´Â ½Ã½ºÅÛÀº ¸Å¿ì ÀÛÀ¸¸ç, ½ÇÁ¦·Î ÀÛ¾÷À» Çϱ⿡ ÀûÇÕÇÏÁö ¾Ê½À´Ï´Ù. ¸¸¾à ¿©·¯ºÐÀÌ ½Ç¿ëÀûÀÎ ½Ã½ºÅÛÀ» ¿ÏÀüÈ÷ »õ·Î ¸¸µé°í ½ÍÀ¸½Ã´Ù¸é Gerard BeekmansÀÇLinux From Scratch HOWTO¸¦ ´ë½Å º¸½Ê½Ã¿À.
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 GNU General Public Licence. Please acknowledge me if you use all or part of this in another document.
14.3. Çǵå¹é ¶Àú´Â ¿©·¯ºÐÀÇ ¾î¶°ÇÑ Á¶¾ðÀ̳ª ºñÆò, °³¼±À» À§ÇÑ Á¦¾Èµµ µè°í ½Í½À´Ï´Ù. ±×°ÍµéÀ» Àú, Greg O'Keefe¿¡°Ô º¸³»½Ê½Ã¿À.
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
¿ÀÀÚµéÀ» ÁöÀûÇØ Áּ̽À´Ï´Ù.
|
Expect a letter from a friend who will ask a favor of you. |