· KLDP.org · KLDP.net · KLDP Wiki · KLDP BBS ·
From Power Up To Bash Prompt


Greg O'Keefe, gcokeefe@postoffice.utas.edu.au

v0.9a, November 2000



ȲÁØÇü, envia@kaist.ac.kr

¹ø¿ªÀ» ÇÏ´Â Áß°£¿¡ ô¶Ó©ë®ÞÉ´ÔÀÇ ÀϺ»¾î ¹ø¿ªÆÇÀ» Âü°íÇÏ¿´½À´Ï´Ù. ¿À·ù°¡ ÀÖ´Ù¸é Àú¿¡°Ô ¿¬¶ôÇϽðųª À§Å°ÀÇ Æ¯Â¡À» ÀÌ¿ëÇÏ¿© ¸»¾øÀÌ°íÄ¡±â¸¦ ÀÌ¿ëÇØ Áֽñ⠹ٶø´Ï´Ù. ¶ÇÇÑ ÀÌ ¹®¼­ÀÇ ³»¿ëÀº ²Ï ¿À·¡ µÇ¾úÀ¸¸ç Á¦°¡ ½ÃÇèÇØ º¸Áö ¾Ê¾Ò±â ¶§¹®¿¡ µ¿ÀÛÇÏÁö ¾Ê´Â °Íµµ ÀÖÀ» ¼ö ÀÖ½À´Ï´Ù.



ÀÌ ¹®¼­´Â Àü¿øÀ» ÄÓ ¶§ºÎÅÍ ·Î±×ÀÎÇÏ°í ¹è½Ã ÇÁ·ÒÇÁÆ®°¡ ¶ã ¶§±îÁö ¸®´ª½º ½Ã½ºÅÛ¿¡¼­ ¹«½¼ ÀÏÀÌ ÀϾ´ÂÁö¸¦ °£·«È÷ ¼³¸íÇÕ´Ï´Ù. ÀÌ°ÍÀ» ÀÌÇØÇÏ´Â °ÍÀº ¿©·¯ºÐÀÌ ¹®Á¦¸¦ ÇØ°áÇϰųª ½Ã½ºÅÛÀ» ¼³Á¤ÇÒ ¶§ µµ¿òÀÌ µÉ °ÍÀÔ´Ï´Ù.


1. ¼Ò°³


Àú´Â Á¦ ¸®´ª½º ¸Ó½Å¿¡¼­ Á¦°¡ ÀÌÇØÇÏÁö ¸øÇÑ ¸¹Àº ÀϵéÀÌ ÀϾ´Ù´Â °ÍÀ» ºÒ¸¸½º·¯¿ö ÇÕ´Ï´Ù. ¿©·¯ºÐµµ Àú¿Í °°ÀÌ ±×Àú ½Ã½ºÅÛÀÇ »ç¿ë¹ýÀ» ¾Ë°í ½ÍÀ¸½Ç »Ó¸¸ÀÌ ¾Æ´Ï¶ó ÁøÂ¥·Î ½Ã½ºÅÛÀ» ÀÌÇØÇÏ°í ½Í¾îÇϽŴٸé, ÀÌ ¹®¼­´Â ÁÁÀº Ãâ¹ßÁ¡ÀÌ µÉ °ÍÀÔ´Ï´Ù. ¿©·¯ºÐÀÌ ÃÖ°í ¼öÁØÀÇ ¸®´ª½º ¹®Á¦ ÇØ°á»ç°¡ µÇ°í ½ÍÀ» ¶§¿¡µµ ÀÌ·¯ÇÑ Á¾·ùÀÇ ¹è°æ Áö½ÄÀÌ ÇÊ¿äÇÒ °ÍÀÔ´Ï´Ù.

Àú´Â ¿©·¯ºÐÀÌ µ¿ÀÛÇÏ´Â ¸®´ª½º ¹Ú½º¸¦ °¡Áö°í ÀÖ°í, À¯´Ð½º¿Í PC Çϵå¿þ¾î¿¡ ´ëÇÑ ±âº»ÀûÀÎ °ÍµéÀ» ÀÌÇØÇÏ°í ÀÖ´Ù°í °¡Á¤ÇÏ°Ú½À´Ù. ¸¸¾à ±×·¸Áö ¾Ê´Ù¸é, Eric S. RaymondÀÇ [http]The Unix and Internet Fundamentals HOWTOºÎÅÍ ¹è¿ì½Ã´Â °ÍÀÌ °ÍÀÌ ¸Å¿ì ¹Ù¶÷Á÷ÇÕ´Ï´Ù. ÀÌ ±ÛÀº ª°í, ¸Å¿ì Àб⠽¬¿ì¸ç, ¸ðµç ±âÃʸ¦ ´Ù·ç°í ÀÖ½À´Ï´Ù.

¸®´ª½º ½Ã½ºÅÛÀÌ ½ÃÀ۵Ǵ °úÁ¤ÀÌ ÀÌ ¹®¼­ÀÇ ÁÖÁ¦ÀÔ´Ï´Ù. ±×·¸Áö¸¸ Á» ´õ Æ÷°ýÀûÀÎ ÇнÀ ÀÚ·á·Îµµ ¾²ÀÏ ¼ö ÀÖµµ·Ï ³ë·ÂÇÏ¿´½À´Ï´Ù. °¢ Àý(section)¸¶´Ù ¿¬½À ¹®Á¦µéÀ» Æ÷ÇÔÇÏ¿´½À´Ï´Ù. ¸¸¾à ¿©·¯ºÐµéÀÌ ±×°ÍµéÀ» ½ÇÁ¦·Î ÇØ º»´Ù¸é, ´Ü¼øÈ÷ ÀÐÀ¸¼ÌÀ» ¶§ ¹è¿ï ¼ö ÀÖ´Â °Íº¸´Ù ¸¹Àº °ÍÀ» ¹è¿ì½Ç ¼ö ÀÖÀ» °ÍÀÔ´Ï´Ù.

Á¦°¡ ¾Æ´Â ÇÑ ¸®´ª½º¸¦ ¹è¿ï ¶§ ÇÒ ¼ö ÀÖ´Â °¡Àå ÁÁÀº ¿¬½ÀÀº ¼Ò½º ÄÚµå·ÎºÎÅÍ ¸®´ª½º ½Ã½ºÅÛÀ» ±¸ÃàÇÏ´Â °ÍÀ̸ç, Àú´Â µ¶ÀںеéÀÌ ±×°ÍÀ» ÇØ º¸¼ÌÀ¸¸é ÇÕ´Ï´Ù. ÀÌÅ»¸®¾ÆÀÇ Ã¶ÇÐÀÚÀÎ Giambattista Vico (1668-1744)´Â "ÀÌÇØ´Â ¸¸µê¿¡¼­ ±â¿øÇÑ´Ù(understanding arises through making)"´Â ¶æÀÎ "verum ipsum factum"À̶ó´Â ¸»À» ³²°å½À´Ï´Ù. ÀÌ ±¸ÀýÀ» °¡¸£ÃÄÁØ Alex(°¨»ç¸¦ º¸½Ê½Ã¿À.)¿¡°Ô °¨»çÇÕ´Ï´Ù.

¸¸¾à ¿©·¯ºÐÀÌ ¼Ò½º ÄÚµå·ÎºÎÅÍ ¸®´ª½º ½Ã½ºÅÛÀ» ¼³Ä¡ÇÏ¿© "¿©·¯ºÐÀÇ °ÍÀ» µ¹¸®°íÀÚ(roll your own)" ÇÑ´Ù¸é, Gerard BeekmansÀÇ [http]Linux From Scratch HOWTO (LFS)¸¦ º¸¾Æ¾ß ÇÒ °ÍÀÔ´Ï´Ù. LFS¿¡´Â ¼Ò½º ÄÚµå·ÎºÎÅÍ ¿ÏÀüÈ÷ »ç¿ë°¡´ÉÇÑ ½Ã½ºÅÛÀ» ±¸ÃàÇÏ´Â °Í¿¡ °üÇÑ ÀÚ¼¼ÇÑ Áö½Ã»çÇ×µéÀÌ ÀÖ½À´Ï´Ù. ¿©·¯ºÐÀº LFS À¥»çÀÌÆ®¿¡¼­ ½Ã½ºÅÛÀ» ÀÌ·¯ÇÑ ¹æ¹ýÀ¸·Î ±¸ÃàÇÏ°íÀÚ ÇÏ´Â »ç¶÷µéÀ» À§ÇÑ ¸ÞÀϸµ ¸®½ºÆ®µµ ãÀ» ¼ö ÀÖÀ» °ÍÀÔ´Ï´Ù. LFSÀÇ ÀϺΠÁö½Ã »çÇ×µéÀº Áö±Ý µ¶¸³µÈ ¹®¼­ÀÎ "How To Build a Minimal Linux System from Source Code"°¡ µÇ¾úÀ¸¸ç, ¿©·¯ºÐÀº ÀÌ°ÍÀ» [http]From PowerUp to Bash Prompt home page¿¡¼­ ãÀ» ¼ö ÀÖ½À´Ï´Ù. ±×°ÍµéÀº ¼ø¼öÇÏ°Ô ¹è¿ì±â À§ÇÑ ¿¬½ÀÀ¸·Î¼­ "Àå³­°¨(toy)" ½Ã½ºÅÛÀ» ±¸ÃàÇÏ´Â ¹æ¹ýÀ» ¼³¸íÇÏ°í ÀÖ´Ù.

²Ù·¯¹Ì(package)µéÀº ½Ã½ºÅÛÀÌ ½ÃÀÛÇÏ´Â °úÁ¤¿¡¼­ ³ªÅ¸³ª´Â ¼ø¼­´ë·Î ¼Ò°³µÇ¾î ÀÖ½À´Ï´Ù. ÀÌ°ÍÀº ¿©·¯ºÐÀÌ ²Ù·¯¹ÌµéÀ» ¹®¼­¿¡ ³ª¿Â ¼ø¼­´ë·Î ¼³Ä¡Çϸé, °¢°¢ÀÇ ¼³Ä¡°¡ ³¡³¯ ¶§¸¶´Ù ÀçºÎÆÃÀ» ÇÒ ¼ö ÀÖ°í, ±× ¶§¸¶´Ù ½Ã½ºÅÛÀº ¹è½Ã ÇÁ·ÒÇÁÆ®¸¦ º¸¿©ÁÖ´Â »óÅ¿¡ Á» ´õ °¡±î¿öÁø´Ù´Â °ÍÀ» ¶æÇÕ´Ï´Ù. ÀÌ·¯ÇÑ ¸éÀ» ÅëÇؼ­ »óȲÀÌ ÁøÀüµÇ°í ÀÖ´Ù´Â È®½ÅÀ» ¹ÞÀ» ¼ö ÀÖ½À´Ï´Ù.

Àú´Â ¿©·¯ºÐÀÌ Ã³À½ ÀÐÀ» ¶§¿¡´Â ¿¬½À ¹®Á¦³ª Âü°í ÀÚ·áµéÀ» °Ç³Ê¶Ù¸é¼­ °¢ Àý(section)ÀÇ º»¹®À» Àб⸦ ±ÇÇÕ´Ï´Ù. ±× ´ÙÀ½¿¡ ¾ó¸¶³ª ±í°Ô ÀÌÇØÇÏ°í ½ÍÀºÁö, ¾ó¸¶³ª ¸¹ÀÌ ³ë·ÂÇÒ Áغñ°¡ µÇ¾ú´ÂÁö °áÁ¤ÇϽʽÿÀ. ±× ´ÙÀ½¿¡ ´Ù½Ã óÀ½À¸·Î µ¹¾Æ¿Í¼­, ¿¬½À ¹®Á¦¸¦ Ǫ½Ã°í, Âü°í ÀÚ·áµéµµ ÀÐÀ¸½Ã¸é¼­ ´Ù½Ã ½ÃÀÛÇϽʽÿÀ.


2. Çϵå¿þ¾î


¿©·¯ºÐÀÌ Ã³À½À¸·Î ÄÄÇ»Å͸¦ ÄÑ°Ô µÇ¸é ÄÄÇ»ÅÍ´Â ÀÚ±â ÀÚ½ÅÀ» Å×½ºÆ®Çؼ­ ¸ðµç °ÍµéÀÌ Àß ÀÛµ¿ÇÏ´ÂÁö È®ÀÎÇÕ´Ï´Ù. ÀÌ °úÁ¤Àº "Power on self test"¶ó°í ºÒ¸³´Ï´Ù. ±× ´ÙÀ½¿¡ ROM BIOS¿¡ ÀÖ´Â "ºÎÆ®½ºÆ®·¦ ·Î´õ(bootstrap loader)"¶ó´Â ÇÁ·Î±×·¥ÀÌ È£ÃâµÇ¾î ºÎÆ® ¼½Å͸¦ ã½À´Ï´Ù. ºÎÆ® ¼½ÅÍ´Â µð½ºÅ©ÀÇ Ã¹¹ø° ¼½Åͷμ­ ¿î¿µÃ¼Á¦¸¦ ÀÐÀ» ¼ö ÀÖ´Â ÀÛÀº ÇÁ·Î±×·¥ÀÌ ÀúÀåµÇ¾î ÀÖ½À´Ï´Ù. ºÎÆ® ¼½ÅÍ´Â 0x1FE = 510 ¹ÙÀÌÆ® À§Ä¡¿¡ ¸ÅÁ÷ ³Ñ¹ö(magic number) 0xAA55 = 43603 ÀÌ ÀÖ´Â °ÍÀ¸·Î ±¸ºÐµË´Ï´Ù. ÀÌ°ÍÀº ¼½ÅÍÀÇ ¸¶Áö¸· µÎ ¹ÙÀÌÆ® ÀÔ´Ï´Ù. À̸¦ ÅëÇؼ­ Çϵå¿þ¾î´Â ¾î¶² ¼½ÅÍ°¡ ºÎÆ® ¼½ÅÍÀÎÁö ¾Æ´ÑÁö¸¦ ¾Ë ¼ö ÀÖ½À´Ï´Ù.

ºÎÆ®½ºÆ®·¦ ·Î´õ´Â ºÎÆ® ¼½Å͸¦ ãÀ» Àå¼ÒµéÀÇ ¸ñ·ÏÀ» °¡Áö°í ÀÖ½À´Ï´Ù. Á¦ ¿À·¡µÈ ±â°è´Â ù¹ø°(primary) Ç÷ÎÇÇ µå¶óÀ̺ê¿Í ù¹ø°(primary) ÇÏµå µð½ºÅ©¸¦ ã¾Ò½À´Ï´Ù. ÃÖ±ÙÀÇ ±â°èµéÀº CD ROM¿¡¼­µµ ºÎÆ® ¼½Å͸¦ ãÀ» ¼ö ÀÖ½À´Ï´Ù. ºÎÆ®½ºÆ®·¦ ·Î´õ°¡ ºÎÆ® ¼½Å͸¦ ãÀ¸¸é, ºÎÆ® ¼½Å͸¦ ¸Þ¸ð¸®·Î ÀÐÀº µÚ ¿î¿µÃ¼Á¦¸¦ Àд ÇÁ·Î±×·¥¿¡°Ô Á¦¾î±ÇÀ» ³Ñ±é´Ï´Ù. ÀϹÝÀûÀÎ ¸®´ª½º ½Ã½ºÅÛ¿¡¼­ ÀÌ ÇÁ·Î±×·¥Àº LILOÀÇ ÀÏ´Ü°è (first stage) ºÎÆ® ·Î´õ(boot loader)ÀÏ °ÍÀÔ´Ï´Ù. »ç½Ç ¿©·¯ºÐÀÇ ½Ã½ºÅÛÀÌ ºÎÆÃÇÏ´Â °úÁ¤Àº ´Ù¾çÇÏ°Ô ¼³Á¤µÉ ¼ö ÀÖ½À´Ï´Ù. ÀÚ¼¼ÇÑ ³»¿ëÀº "LILO User's Guide"¸¦ º¸½Ê½Ã¿À. URLÀº LILO ¼½¼Ç¿¡¼­ ãÀ¸½Ê½Ã¿À.

PC Çϵå¿þ¾î°¡ ¹«½¼ ÀÏÀ» ÇÏ´Â Áö¿¡ ´ëÇØ ¾ð±ÞÇÒ °ÍÀº ´ç¿¬È÷ ¸¹ÀÌ ³²¾Æ ÀÖÁö¸¸, ÀÌ ¹®¼­´Â ±×°ÍÀ» ´Ù·çÁö ¾Ê½À´Ï´Ù. PC Çϵå¿þ¾î¸¦ ´Ù·é ¸¹Àº ÁÁÀº Ã¥µéÀÌ ÀÖÀ¸´Ï Âü°íÇϽʽÿÀ.

2.1. ¼³Á¤


ÄÄÇ»ÅÍ´Â ÀÚ±â Àڽſ¡ ´ëÇÑ Á¤º¸¸¦ CMOS¿¡ ÀúÀåÇÕ´Ï´Ù. ½Ã½ºÅÛ¿¡ ¾î¶² µð½ºÅ©¿Í ·¥ÀÌ Àִ°¡¿Í °°Àº Á¤º¸µµ ÀúÀåµÇ¾î ÀÖ½À´Ï´Ù. ÄÄÇ»ÅÍÀÇ BIOS´Â ¿©·¯ºÐÀÌ ÀÌ·¯ÇÑ ¼³Á¤µéÀ» °íÄ¥ ¼ö ÀÖµµ·Ï ÇÏ´Â ÇÁ·Î±×·¥À» Æ÷ÇÔÇÏ°í ÀÖ½À´Ï´Ù. ÄÄÇ»ÅÍ°¡ ÄÑÁú ¶§ È­¸é¿¡ ³ª¿À´Â ¸Þ½ÃÁöµéÀ» È®ÀÎÇÏ¿© ¾î¶»°Ô ±× ÇÁ·Î±×·¥À» ½ÇÇàÇÒ ¼ö ÀÖ´ÂÁö º¸½Ê½Ã¿À. Á¦ ÄÄÇ»ÅÍ¿¡¼­´Â ¿î¿µÃ¼Á¦°¡ ÀÐÈ÷±â Àü¿¡ µô¸®Æ®(delete)Å°¸¦ ´©¸£¸é µÇ¾ú½À´Ï´Ù.

2.2. ¿¬½À ¹®Á¦



PC Çϵå¿þ¾î¿¡ ´ëÇØ ¹è¿ï ¼ö ÀÖ´Â ÁÁÀº ¹æ¹ýÀº Áß°í ºÎÇ°µéÀ» ¸ð¾Æ¼­ »õ·Î¿î ÄÄÇ»Å͸¦ Á¶¸³ÇØ º¸´Â °ÍÀÔ´Ï´Ù. ¸®´ª½º¸¦ ½±°Ô ½ÇÇà½Ãų ¼ö ÀÖµµ·Ï Àû¾îµµ 386À» ¸¸µéµµ·Ï ÇϽʽÿÀ. ÁÖº¯¿¡ ¹°¾îº¸¸é, ´ç½ÅÀÌ ÇÊ¿äÇÑ ºÎºÐÀ» ´©±º°¡°¡ ÁÙ ¼öµµ ÀÖ½À´Ï´Ù.

[http]Unios¿¡ ´ëÇØ È®ÀÎÇÏ°í, ´Ù¿î·ÎµåÇÑ µÚ ÄÄÆÄÀÏ ÇÏ¿© ºÎÆ® µð½ºÅ©¸¦ ¸¸µé¾îº¸½Ê½Ã¿À. (±×µéÀÇ È¨ÆäÀÌÁö°¡ http://www.unios.org¿¡ ÀÖ¾úÁö¸¸, »ç¶óÁ³½À´Ï´Ù.) ÀÌ°ÍÀº 100ÁÙ Á¤µµÀÇ ¾î¼Àºí·¯ ÄÚµå·Î ±¸¼ºµÈ ´Ü¼øÇÑ ºÎÆÃÇÒ ¼ö ÀÖ´Â "Hello World!" ÇÁ·Î±×·¥ÀÔ´Ï´Ù. ¾î¼Àºí·¯ Äڵ带 GNU ¾î¼Àºí·¯ as°¡ ÀÌÇØÇÒ ¼ö ÀÖ´Â ÇüÅ·Πº¯È¯ÇÏ¿© ÀÐ¾î º¸½Ã´Â °Íµµ ÁÁÀ» °ÍÀÔ´Ï´Ù.

¿©·¯ºÐÀÇ ¿î¿µÃ¼Á¦¸¦ ¸¸µé¾î "¿©·¯ºÐÀÇ °ÍÀ» µ¹¸®´Â(roll your own)" °Í¿¡ ´ëÇÑ Áö½Ã »çÇ×ÀÌ [http]Roll Your Own¿¡ ÀÖ½À´Ï´Ù. ¿©·¯ºÐÀÌ ÁøÁ¤ÇÑ µµÀüÀ» ã°í ÀÖÀ¸½Ã´Ù¸é ÀÐ¾î º¸½Ã±â ¹Ù¶ø´Ï´Ù.

Çí½º ¿¡µðÅÍ(hex editor)·Î ºÎÆ® µð½ºÅ© À̹ÌÁö¸¦ ¿­¾î º¸½Ê½Ã¿À. ÀÌ À̹ÌÁöÀÇ ±æÀÌ´Â Á¤È®È÷ ÇÑ ¼½ÅÍ°¡ µÇ´Â 512¹ÙÀÌÆ®ÀÔ´Ï´Ù. ¸ÅÁ÷ ³Ñ¹ö(magic number) 0xAA55¸¦ ã¾Æ º¸½Ê½Ã¿À. ´Ù¸¥ ºÎÆà °¡´ÉÇÑ Ç÷ÎÇÇ µð½ºÅ©³ª ¿©·¯ºÐÀÇ ÄÄÇ»ÅÍÀÇ ºÎÆ® ¼½ÅÍ¿¡ ´ëÇؼ­µµ °°Àº ÀÏÀ» ÇØ º¸½Ê½Ã¿À. ¿©·¯ºÐÀº dd if=/dev/fd0 of=boot.sector¿Í °°ÀÌ dd¸í·ÉÀ» »ç¿ëÇؼ­ ±×°ÍÀ» ÆÄÀÏ·Î º¹»çÇÒ ¼ö ÀÖ½À´Ï´Ù. if (input file, ÀÔ·Â ÆÄÀÏ)¿Í of (out file, Ãâ·Â ÆÄÀÏ)¸¦ Á¤È®È÷ ÀÔ·ÂÇÏ¿´´ÂÁö ¸Å¿ì Á¶½É½º·´°Ô È®ÀÎÇϽʽÿÀ.

¸®·ÎÀÇ ºÎÆ® ·Î´õÀÇ ¼Ò½º Äڵ带 ÀÐ¾î º¸½Ê½Ã¿À.

2.3. Ãß°¡ Á¤º¸


  • Eric S. RaymondÀÇ [http]The Unix and Internet Fundamentals HOWTO, ƯÈ÷ 3Àý, What happens when you switch on a computer?
  • The LILO User's GuideÀÇ Ã¹¹ø° ÀåÀº PC µð½ºÅ© ÆÄƼ¼Ç°ú ºÎÆÿ¡ °üÇÑ ÃÖ»óÀÇ ¼³¸íÀ» Á¦°øÇÕ´Ï´Ù. URLÀ» À§Çؼ­´Â LILO ¼½¼ÇÀ» º¸½Ê½Ã¿À.
  • Peter Norton °ú Richard WiltonÀÌ ¾²°í, Microsoft Press¿¡¼­ 1988³â¿¡ Ãâ°£µÈ The NEW Peter Norton Programmer's Guide to the IBM PC & PS/2. ÁÁ¾Æ º¸ÀÌ´Â »õ·Î¿î Æǵ鵵 ÀÖÁö¸¸, Áö±Ý ´çÀå »ç±â¿¡´Â µ·ÀÌ ¾ø½À´Ï´Ù!
  • PC ¾÷±×·¹À̵忡 °üÇÑ Ã¥

3. ¸®·Î(Lilo)


ÄÄÇ»ÅÍ°¡ º¸Åë ¸®´ª½º ½Ã½ºÅÛÀÇ ºÎÆ® ¼½Å͸¦ ÀÐÀ» ¶§, ½ÇÁ¦·Î Àд °ÍÀº liloÀÇ ÀϺκÐÀÎ "ÀÏ´Ü°è ºÎÆ® ·Î´õ(first stage boot loader)"ÀÔ´Ï´Ù. ÀÌ°ÍÀº "ÀÌ´Ü°è ºÎÆ® ·Î´õ(first stage boot loader)"¸¦ ºÒ·¯µéÀÌ´Â Àϸ¸À» ÇÏ´Â ÀÛÀº ÇÁ·Î±×·¥ÀÔ´Ï´Ù.

ÀÌ´Ü°è ºÎÆ® ·Î´õ´Â (±×·¸°Ô Çϵµ·Ï ¼³Ä¡ÇÏ¿´´Ù¸é) ÇÁ·ÒÇÁÆ®¸¦ Ç¥½ÃÇÏ°í ¿©·¯ºÐÀÌ ¼±ÅÃÇÑ ¿î¿µ üÁ¦¸¦ ÀоîµéÀÔ´Ï´Ù.

¿©·¯ºÐÀÇ ½Ã½ºÅÛÀÌ ½ÃÀÛµÇ°í µ¿ÀÛÇÏ´Â »óÅ¿¡¼­ ¿©·¯ºÐÀÌ lilo¸¦ ½ÇÇàÇÑ´Ù¸é, ¿©·¯ºÐÀÌ ½ÇÁ¦·Î ½ÇÇàÇÏ´Â °ÍÀº "map installer"ÀÔ´Ï´Ù. ÀÌ°ÍÀº ¼³Á¤ ÆÄÀÏÀÎ /etc/lilo.conf¸¦ ÀÐ°í ºÎÆ® ·Î´õ¿Í ºÎÆ®·Î´õ°¡ ÀÐÀ» ¼ö ÀÖ´Â ¿î¿µ üÁ¦¿¡ ´ëÇÑ Á¤º¸¸¦ ÇÏµå µð½ºÅ©¿¡ ¾¹´Ï´Ù.

¿©·¯ºÐÀÇ ½Ã½ºÅÛÀ» ºÎÆ®ÇÏ´Â µ¥¿¡´Â ¸Å¿ì ´Ù¾çÇÑ ¹æ¹ýµéÀÌ ÀÖ½À´Ï´Ù. Á¦°¡ ¼³¸íÇÒ °ÍÀº Àû¾îµµ ÁÖ ¿î¿µ üÁ¦°¡ ¸®´ª½ºÀÎ ½Ã½ºÅÛ¿¡¼­´Â °¡Àå ´Ü¼øÇÏ°í "ÀϹÝÀûÀÎ" ¹æ¹ýÀÔ´Ï´Ù. Lilo »ç¿ëÀÚ °¡À̵å(Lilo Users' Guide)´Â "ºÎÆ® °³³ä(boot concept)"ÀÇ ¸î¸î ¿¹µéÀ» ¼³¸íÇÕ´Ï´Ù. ÀÌ°ÍÀº Àо¸¸ÇÑ ±ÛÀ̸ç, ±× ÁßÀÇ ÀϺθ¦ ¼Ò°³ÇÏ°Ú½À´Ï´Ù.

3.1. ¼³Á¤


LiloÀÇ ¼³Á¤ÆÄÀÏÀº /etc/lilo.confÀÔ´Ï´Ù. ±×°ÍÀ» À§ÇÑ ¸Ç ÆäÀÌÁö°¡ ÀÖ½À´Ï´Ù. ¼Ð¿¡¼­ man lilo.conf¶ó°í Ä¡½Ã¸é º¸½Ç ¼ö ÀÖ½À´Ï´Ù. lilo.confÀÇ ÇÙ½ÉÀº ¸®·Î°¡ ºÎÆ®Çϵµ·Ï µÇ¾î ÀÖ´Â °Íµé¸¶´Ù Çϳª¾¿ ÀÖ´Â ¼³Á¤ Ç׸ñÀÔ´Ï´Ù. ¸®´ª½º Ç׸ñ¿¡´Â Ä¿³ÎÀÌ ¾îµð¿¡ ÀÖ´ÂÁö¿Í ·çÆ® ÆÄÀϽýºÅÛÀ¸·Î ¾î´À µð½ºÅ© ÆÄƼ¼ÇÀ» ¸¶¿îÆ®ÇÒÁö¸¦ Æ÷ÇÔÇÏ°í ÀÖ½À´Ï´Ù. ´Ù¸¥ ¿î¿µ üÁ¦¿¡ ´ëÇÑ Ç׸ñ¿¡´Â ÁÖ·Î ¾î´À ÆÄƼ¼ÇÀ¸·ÎºÎÅÍ ºÎÆ®ÇÒ °ÍÀÎÁö¿¡ ´ëÇÑ Á¤º¸°¡ ÀÖ½À´Ï´Ù.

3.2. ¿¬½À ¹®Á¦


À§Çè: ÀÌ ¿¬½À ¹®Á¦¸¦ ÇØ°á ÇÏ½Ç ¶§ ÁÖÀÇÇϽʽÿÀ. ¹«¾ð°¡ À߸øÇÏ¿© ¿©·¯ºÐÀÇ ¸¶½ºÅÍ ºÎÆ® ·¹ÄÚµå(your master boot record)¸¦ ³¯¸®°Ô µÇ¾î ¿©·¯ºÐÀÇ ½Ã½ºÅÛÀ» »ç¿ëÇÒ ¼ö ¾ø°Ô ¸¸µé±â ½±½À´Ï´Ù. ¿©·¯ºÐÀº ÀÀ±Þ µð½ºÅ©(rescue disk)¸¦ °¡Áö°í ÀÖ¾î¾ß ÇÏ°í, ¾î¶»°Ô ´Ù½Ã º¹±¸ÇÒ ¼ö ÀÖ´ÂÁö¸¦ ¾Ë¾Æ¾ß ÇÕ´Ï´Ù. Á¦°¡ »ç¿ëÇß°í ±ÇÀåÇÏ´Â ÀÀ±Þ µð½ºÅ©ÀÎ tomsrtbtÀÇ ¸µÅ©´Â ¾Æ·¡¿¡ ÀÖ½À´Ï´Ù. °¡Àå ÁÁÀº ¹æ¹ýÀº »ç¿ëÇÒ ¼ö ¾ø°Ô µÇ¾îµµ ±¦ÂúÀº ÄÄÇ»Å͸¦ »ç¿ëÇÏ´Â °ÍÀÔ´Ï´Ù.

¸®·Î¸¦ Ç÷ÎÇÇ µð½ºÅ©¿¡ ¼³Ä¡ÇϽʽÿÀ. Ç÷ÎÇÇ¿¡ Ä¿³Î¹Û¿¡ ¾ø¾îµµ µË´Ï´Ù. ¿©·¯ºÐÀº Ä¿³ÎÀÌ init¸¦ ºÎ¸£·Á°í ÇÒ ¶§ "Ä¿³Î ÆдÒ(kernel panic)"À» °æÇèÇϽðÚÁö¸¸, ÃÖ¼ÒÇÑ lilo°¡ µ¿ÀÛÇÑ´Ù´Â °ÍÀº ¾Æ½Ç ¼ö ÀÖÀ» °ÍÀÔ´Ï´Ù.

¿©·¯ºÐÀÌ ¹Ù¶ó½Å´Ù¸é Ç÷ÎÇÇ À§¿¡¼­ ½Ã½ºÅÛÀÌ ¾îµð±îÁö ÁøÇàµÉ ¼ö ÀÖ´ÂÁö ½ÇÇèÇØ º¸½Ç ¼öµµ ÀÖÀ» °ÍÀÔ´Ï´Ù. ÀÌ°ÍÀº ¾Æ¸¶µµ µÎ¹ø°·Î ÁÁÀº ¸®´ª½º¸¦ ¹è¿ì´Â È°µ¿ÀÏ °ÍÀÔ´Ï´Ù. ´Ü¼­¸¦ À§Çؼ­ Bootdisk HOWTO(URLÀº ¾Æ·¡¿¡ ÀÖ½À´Ï´Ù.)¿Í tomsrtbt (URLÀº ¾Æ·¡¿¡ ÀÖ½À´Ï´Ù.)À» º¸½Ç ¼ö ÀÖÀ» °ÍÀÔ´Ï´Ù.

¸®·Î·Î unios (Çϵå¿þ¾î ¿¬½À¿¡¼­ URLÀ» ãÀ¸½Ê½Ã¿À)¸¦ ºÎÆÃÇØ º¸½Ê½Ã¿À. Ãß°¡·Î, ÀÌ°ÍÀ» Ç÷ÎÇÇ µð½ºÅ©¿¡¼­ ÇÏ½Ç ¼ö ÀÖ´ÂÁö È®ÀÎÇØ º¸½Ê½Ã¿À.

ºÎÆ® ·çÇÁ(boot-loop)¸¦ ¸¸µé¾î º¸½Ê½Ã¿À. ¸®·Î¸¦ ¸¶½ºÅÍ ºÎÆ® ·¹Äڵ忡 ¼³Ä¡ÇÏ¿© ÇÁ¶óÀ̸Ӹ® ÆÄƼ¼Ç ºÎÆ® ¼½ÅÍÁßÀÇ Çϳª¿¡ ÀÖ´Â ¸®·Î¸¦ ºÎÆÃÇÏ°í, ±× ¸®·Î°¡ ¸¶½ºÅÍ ºÎÆ® ·¹ÄÚµåÀÇ ¸®·Î¸¦ ºÎÆ®ÇÏ°í, ÀÌ°ÍÀÌ ¹Ýº¹µÇ°Ô ÇϽʽÿÀ. ¿©·¯ºÐÀº ¸¶½ÃÅÍ ºÎÆ® ·¹ÄÚµå¿Í ³×°³ÀÇ ÇÁ¶óÀ̸Ӹ® ÆÄƼ¼Ç ¸ðµÎ¸¦ »ç¿ëÇÏ¿© 5´Ü°è ·çÇÁ¸¦ ¸¸µé ¼öµµ ÀÖÀ» °ÍÀÔ´Ï´Ù. Áñ±â¼¼¿ä!

3.3. Ãß°¡ Á¤º¸


  • Lilo ¸Ç ÆäÀÌÁö.
  • Lilo ²Ù·¯¹Ì ([ftp]lilo)´Â "LILO User's Guide"ÀÎ lilo-u-21.ps.gz (³ª ´õ ÃֽŠ¹öÀü)¸¦ Æ÷ÇÔÇÏ°í ÀÖ½À´Ï´Ù. ¿©·¯ºÐÀº ÀÌ ¹®¼­¸¦ ÀÌ¹Ì °¡Áö°í ÀÖÀ¸½Ç ¼öµµ ÀÖ½À´Ï´Ù. /usr/doc/lilo³ª ±× ÁÖº¯À» »ìÆì º¸½Ê½Ã¿À. ´Ü¼øÇÑ ÅؽºÆ® (plain text)º¸´Ù´Â ±×¸®°ú Ç¥¸¦ Æ÷ÇÔÇÏ´Â Æ÷½ºÆ®½ºÅ©¸³Æ® ÆÇÀÌ ´õ ³ªÀ» °ÍÀÔ´Ï´Ù.
  • [http]tomsrtbt´Â °¡Àå ÁÁÀº ÇÑÀåÀÇ Ç÷ÎÇÇ¿¡ µé¾î°¡´Â ¸®´ª½ºÀÔ´Ï´Ù. ÁÁÀº ÀÀ±Þ µð½ºÅ©¸¦ ¸¸µì´Ï´Ù.
  • [http]The Bootdisk HOWTO

4. ¸®´ª½º Ä¿³Î


¸®´ª½º Ä¿³ÎÀº Á¤¸»·Î ¸¹Àº ÀÏÀ» ÇÕ´Ï´Ù. Àß Á¤¸®Çϸé, ¸®´ª½º Ä¿³ÎÀº Çϵå¿þ¾îµéÀÌ °øÁ¤ÇÏ°í ´É·üÀûÀ¸·Î ÇÁ·Î±×·¥ÀÌ ¹Ù¶ó´Â ÀÏÀ» Çϵµ·Ï ÇÕ´Ï´Ù.

ÇÁ·Î¼¼¼­´Â µ¿½Ã¿¡ ÇÑ°¡Áö ¸í·É¹Û¿¡ ¼öÇàÇÏÁö ¸øÇÏÁö¸¸, ¸®´ª½º ½Ã½ºÅÛÀº µ¿½Ã¿¡ ¸¹Àº ÀÏÀ» ¼öÇàÇÏ´Â °Í ó·³ º¸ÀÔ´Ï´Ù. (¿ªÁÖ - ÃֽŠÇÁ·Î¼¼¼­µéÀº µ¿½Ã¿¡ ¿©·¯ ¸í·ÉÀ» ¼öÇàÇÒ ¼ö ÀÖÁö¸¸, ¿©ÀüÈ÷ ¸ðµç ÀÏÀ» µ¿½Ã¿¡ ó¸®ÇÏÁö´Â ¸øÇÕ´Ï´Ù.) Ä¿³ÎÀº ÀÛ¾÷°ú ÀÛ¾÷ »çÀ̸¦ ¸Å¿ì ºü¸£°Ô ÀüȯÇÔÀ¸·Î¼­ ÀÌ°ÍÀ» °¡´ÉÇÏ°Ô ÇÕ´Ï´Ù. Ä¿³ÎÀº ¾î¶² ÇÁ·Î·¹½º°¡ ½ÇÇàµÉ Áغñ°¡ µÇ¾ú°í, ¾î¶² ÇÁ·Î¼¼½º°¡ Çϵåµð½ºÅ© ÆÄÀÏÀÇ ·¹Äڵ峪 Å°º¸µå ÀԷ°ú °°Àº °ÍÀ» ±â´Ù¸®°í ÀÖ´ÂÁö¸¦ ÃßÀûÇÏ¿© ÇÁ·Î¼¼¼­¸¦ °¡Àå È¿À²ÀûÀ¸·Î »ç¿ëµÇ°Ô ÇÕ´Ï´Ù. ÀÌ°ÍÀÌ ½ºÄÉÁ층(scheduling)À̶ó°í ºÒ¸®´Â ÀÛ¾÷ÀÔ´Ï´Ù.

¾î¶² ÇÁ·Î±×·¥ÀÌ ¾Æ¹« Àϵµ ÇÏÁö ¾Ê´Â´Ù¸é, ±×°ÍÀº RAM¿¡ ÀÖÀ» ÇÊ¿ä°¡ ¾ø½À´Ï´Ù. ¹«¾ð°¡¸¦ ÇÏ°í ÀÖ´Â ÇÁ·Î±×·¥À̶ó°í ÇÒÁö¶óµµ, ±× ÇÁ·Î±×·¥ÀÇ ÀϺκÐÀº ¾Æ¹«°Íµµ ÇÏÁö ¾ÊÀ» ¼ö ÀÖ½À´Ï´Ù. °¢ ÇÁ·Î¼¼½ºÀÇ ÁÖ¼Ò °ø°£Àº ÆäÀÌÁö·Î ³ª´µ¾îÁý´Ï´Ù. Ä¿³ÎÀº ¾î´À ÇÁ·Î¼¼½ºÀÇ ¾î´À ÆäÀÌÁö°¡ °¡Àå ¸¹ÀÌ ¾²ÀÌ´ÂÁö¸¦ ÃßÀûÇÕ´Ï´Ù. ±×´ÙÁö ¸¹ÀÌ ¾²ÀÌÁö ¾Ê´Â ÆäÀÌÁöµéÀº ½º¿Ò ÆÄƼ¼ÇÀ¸·Î ¿Å°ÜÁý´Ï´Ù. ±×µéÀÌ ´Ù½Ã ÇÊ¿äÇØÁö¸é, ´Ù¸¥ ¾²ÀÌÁö ¾Ê´Â ÆäÀÌÁöµéÀÌ ÆäÀÌÁö ¾Æ¿ô(paged out)µÇ¾î °ø°£À» ¸¸µì´Ï´Ù. ÀÌ°ÍÀÌ °¡»ó ¸Þ¸ð¸® °ü¸®ÀÔ´Ï´Ù.

¿©·¯ºÐÀÌ Ä¿³ÎÀ» ÄÄÆÄÀÏÇØ º¸½Å ÀûÀÌ ÀÖÀ¸½Ã´Ù¸é, ƯÁ¤ÇÑ ÀåÄ¡µé¿¡ ´ëÇؼ­ ¸¹°í ¸¹Àº ¿É¼ÇµéÀÌ ÀÖ´Ù´Â °ÍÀ» ´À³¢¼ÌÀ» °ÍÀÔ´Ï´Ù. Ä¿³ÎÀº ´Ù¾çÇÑ Á¾·ùÀÇ Çϵå¿þ¾îµé°ú ´ëÈ­Çϱâ À§ÇÑ ¸¹Àº Ưº° ÄÚµåµéÀ» °¡Áö°í À־, ¾îÇø®ÄÉÀÌ¼Ç ÇÁ·Î±×·¥µéÀÌ ¸ðµç Çϵå¿þ¾îµéÀ» ´ÜÀÏÇÏ°í ÁÁÀº ¹æ¹ýÀ¸·Î Á¢±ÙÇÒ ¼ö ÀÖµµ·Ï ÇÕ´Ï´Ù.

Ä¿³ÎÀº ÆÄÀϽýºÅÛ, ÇÁ·Î¼¼½º°£ Åë½Å, ³×Æ®¿öÅ·°ú °ü·ÃµÈ ¸¹Àº °Íµéµµ °ü¸®ÇÕ´Ï´Ù.

ÀÏ´Ü Ä¿³ÎÀÌ ºÒ·ÁÁö¸é, °¡Àå ¸ÕÀú ÇÏ´Â ÀÏÀº ½ÇÇàÇÒ init ÇÁ·Î±×·¥À» ã´Â °ÍÀÔ´Ï´Ù.

4.1. ¼³Á¤


¿©·¯ºÐÀÌ /usr/src/linux/ (³ª ¿©·¯ºÐÀÇ Ä¿³Î ¼Ò½º°¡ ÀÖ´Â °÷)¿¡¼­ make menuconfig³ª make xconfig¸¦ »ç¿ëÇÏ¿© ¼³Á¤ÇÏ°í Ä¿³ÎÀ» ¸¸µé ¶§, ´ëºÎºÐÀÇ Ä¿³Î ¼³Á¤ÀÌ ÀÌ·ç¾îÁý´Ï´Ù. ¿©·¯ºÐÀº ±âº» ºñµð¿À ¸ðµå, ·çÆ® ÆÄÀϽýºÅÛ, ½º¿Ò µð¹ÙÀ̽º, ·¥ µð½ºÅ© »çÀÌÁî µîÀ» rdev¸¦ ÅëÇØ ´Ù½Ã ¼³Á¤ÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ·¯ÇÑ ÆĶó¸ÞÅ͵é°ú ´Ù¸¥ °ÍµéÀº ¸®·Î·ÎºÎÅÍ Ä¿³Î·Î Àü´ÞµÉ ¼ö ÀÖ½À´Ï´Ù. ¿©·¯ºÐÀº lilo.conf ¾È¿¡¼­³ª ¸®·Î ÇÁ·ÒÇÁÆ®¿¡¼­ Ä¿³Î¿¡°Ô ³Ñ°ÜÁú ¸®·Î ÆĶó¸ÞÅ͵éÀ» Á¤ÇÒ ¼ö ÀÖ½À´Ï´Ù. ¿¹¸¦ µé¾î ¿©·¯ºÐÀÌ hda3À» hda2´ë½Å¿¡ ·çÆ® ÆÄÀϽýºÅÛÀ¸·Î ÀÌ¿ëÇÏ·Á°í ÇÏ½Å´Ù¸é ¾Æ·¡¿Í °°ÀÌ ÀÔ·ÂÇÏ½Ç °ÍÀÔ´Ï´Ù.

	LILO: linux root=/dev/hda3


¿©·¯ºÐÀÌ ¼Ò½º·ÎºÎÅÍ ½Ã½ºÅÛÀ» ¸¸µé°í °è½Å´Ù¸é, ¿©·¯ºÐÀº "¸ð³î¸®Æ½(monolithic)" Ä¿³ÎÀ» ¸¸µé¾î¼­ ÀÏÀ» ´Ü¼øÇÏ°Ô ÇÏ½Ç ¼ö ÀÖ½À´Ï´Ù. ¸ð³î¸®Æ½ Ä¿³ÎÀº ¸ðµâÀÌ ¾ø´Â Ä¿³ÎÀÔ´Ï´Ù. ¿©·¯ºÐÀº Ä¿³Î ¸ðµâÀ» ´ë»ó ½Ã½ºÅÛÀ¸·Î º¹»çÇÒ ÇÊ¿ä°¡ ¾øÀ» °ÍÀÔ´Ï´Ù. (ADD--¸ð³ë¸®µñ Ä¿³ÎÀº ¸ðµâÀÌ ÀÖ´Â Ä¿³ÎÀÔ´Ï´Ù. ¸ðµâÀÌ ¾ø´Â Ä¿³ÎÀº ¸¶ÀÌÅ©·ÎÄ¿³Î¾Æ´Ñ°¡¿ä?)

ÁÖÀÇ: System.map ÆÄÀÏÀº ¸Þ½ÃÁö¸¦ ¸¸µé¾î³»´Â ¸ðµâµéÀÇ À̸§À» Á¤Çϱâ À§Çؼ­ Ä¿³Î ·Î°Å(kernel logger)¿¡ ÀÇÇØ »ç¿ëµË´Ï´Ù. top ÇÁ·Î±×·¥µµ ÀÌ Á¤º¸¸¦ »ç¿ëÇÕ´Ï´Ù. ¿©·¯ºÐÀÌ Ä¿³ÎÀ» ´ë»ó ½Ã½ºÅÛ¿¡ º¹»çÇÒ ¶§, System.mapµµ º¹»çÇϼ¼¿ä.

4.2. ¿¬½À ¹®Á¦


/dev/hda3´Â ÇÏµå µð½ºÅ© ÆÄƼ¼ÇÀ» ¼³¸íÇϴ Ưº°ÇÑ Á¾·ùÀÇ ÆÄÀÏÀÔ´Ï´Ù. ÇÏÁö¸¸ ÀÌ°ÍÀº ´Ù¸¥ ÆÄÀϵé°ú °°ÀÌ ÆÄÀÏ ½Ã½ºÅÛ ¾È¿¡ ÀÖ½À´Ï´Ù. Ä¿³ÎÀº ¾î´À ÆÄƼ¼ÇÀ» ·çÆ® ÆÄƼ¼ÇÀ¸·Î ¸¶¿îÆ®ÇÒÁö¸¦ ¾Ë°íÀÚ ÇÕ´Ï´Ù. ÇÏÁö¸¸, ÆÄÀÏ ½Ã½ºÅÛÀº ¾ÆÁ÷ ¾ø´Â »óÅÂÀÔ´Ï´Ù. Ä¿³ÎÀÌ ¾î¶»°Ô /dev/hda3À» Àо ¾î´À ÆÄƼ¼ÇÀ» ¸¶¿îÆ® ÇÒÁö¸¦ ¾Ë±î¿ä? »ý°¢ÇØ º¸½Ê½Ã¿À.

¿©·¯ºÐÀÌ ¾ÆÁ÷ Çغ¸Áö ¾ÊÀ¸¼Ì´Ù¸é, ¿©·¯ºÐ¸¸ÀÇ Ä¿³ÎÀ» ¸¸µé¾î º¸½Ê½Ã¿À. °¢ ¿É¼Ç¸¶´Ù ÀÖ´Â µµ¿ò¸»À» ¸ðµÎ ÀÐ¾î º¸½Ê½Ã¿À.

ÀÛµ¿ÇÏ´Â Ä¿³ÎÀ» ¾ó¸¶³ª ÀÛ°Ô ¸¸µé ¼ö ÀÖ´ÂÁö º¸½Ê½Ã¿À. ²À ÇÊ¿äÇÑ °ÍÀ» »°À» ¶§ ¿©·¯ºÐÀº ¸¹Àº °ÍÀ» ¹è¿ï ¼ö ÀÖ½À´Ï´Ù.

"The Linux Kernel" (URLÀº ¾Æ·¡¿¡ ÀÖ½À´Ï´Ù.) À» Àо°í ÂüÁ¶ÇÏ´Â ¼Ò½º ÄÚµåµéÀ» ã¾Æ º¸½Ê½Ã¿À. (Á¦°¡ ÀÌ ±ÛÀ» ¾µ ¶§) ÀÌ Ã¥Àº Ä¿³Î 2.0.33À» ÂüÁ¶ÇÏ°í ÀÖ¾úÀ¸¸ç, ÀÌ°ÍÀº ²Ï Áö³­ ¹èÆ÷ÆÇÀÔ´Ï´Ù. ¿©·¯ºÐÀÌ ±¸½ÄÀÎ Ä¿³ÎÀ» ´Ù¿î·Îµå ¹Þ¾Æ Âü°íÇÏ´Â °ÍÀÌ ´õ ÆíÇÒÁöµµ ¸ð¸£°Ú½À´Ï´Ù. "ÇÁ·Î¼¼½º"¿Í "ÆäÀÌÁö"¶ó°í ºÒ¸®´Â C Äڵ带 ã´Â °ÍÀº ³î¶ó¿î ÀÏÀÔ´Ï´Ù.

ÇØÅ·ÇϽʽÿÀ! ¿©·¯ºÐÀÌ Ãß°¡ÀûÀÎ ¸Þ½ÃÁö³ª ´Ù¸¥ °ÍµéÀ» Ãâ·ÂÇÏ°Ô ¸¸µé¼ö ÀÖ´ÂÁö ½ÃÇèÇØ º¸½Ê½Ã¿À.

4.3. Ãß°¡ Á¤º¸



5. ±×´© C ¶óÀ̺귯¸® (The GNU C Library)


¿©·¯ºÐÀÇ ÄÄÇ»ÅÍ°¡ ½ÃÀÛµÉ ¶§ ´ÙÀ½À¸·Î ÀϾ ÀÏÀº init°¡ ºÒ·ÁÁ®¼­ ½ÇÇàµÇ´Â °ÍÀÔ´Ï´Ù. ÇÏÁö¸¸, ´Ù¸¥ °ÅÀÇ ¸ðµç ÇÁ·Î±×·¥µé°ú °°ÀÌ initµµ ¶óÀ̺귯¸® ÇÔ¼öµéÀ» »ç¿ëÇÕ´Ï´Ù.

¿©·¯ºÐÀº ¾Æ¸¶µµ ¾Æ·¡¿Í °°Àº ¿¹Á¦ C Äڵ带 º¸½Å ÀûÀÌ ÀÖÀ» °ÍÀÔ´Ï´Ù.

	main() {
        	printf("Hello World!\n");
	}

ÀÌ ÇÁ·Î±×·¥¿¡´Â printfÀÇ Á¤ÀÇ°¡ ¾ø´Âµ¥, ±×·¸´Ù¸é printf´Â ¾îµð¿¡¼­ ³ªÅ¸³­ °ÍÀϱî¿ä? ±×´©/¸®´ª½º ½Ã½ºÅÛÀÇ Ç¥ÁØ C ¶óÀ̺귯¸®ÀÎ glibc¿¡¼­ ¿Â °ÍÀÔ´Ï´Ù. ¿©·¯ºÐÀÌ ÀÌ°ÍÀ» Visual C++¿¡¼­ ÄÄÆÄÀÏÀ» ÇϽŴٸé, printf´Â °°Àº Ç¥ÁØ ÇÔ¼ö¸¦ ¸¶ÀÌÅ©·Î¼ÒÇÁÆ®¿¡¼­ ±¸ÇöÇÑ °Í¿¡¼­ ¿À°Ô µÉ °ÍÀÔ´Ï´Ù. ¼öÇÐÀ̳ª ¹®ÀÚ¿­, ³¯Â¥/½Ã°£, ¸Þ¸ð¸® ÇÒ´ç°ú °°Àº ÀϵéÀ» À§ÇÑ ¼ö¸¹Àº Ç¥ÁØ ÇÔ¼öµéÀÌ ÀÖ½À´Ï´Ù. (¸®´ª½º¸¦ Æ÷ÇÔÇÑ) À¯´Ð½ºÀÇ ¸ðµç °ÍµéÀº C·Î ½è°Å³ª C·Î ½áÁø °Íó·³ º¸ÀÌ·Á°í ³ë·ÂÇϱ⠶§¹®¿¡, ¸ðµç°ÍµéÀÌ ÀÌ·¯ÇÑ ÇÔ¼ö¸¦ »ç¿ëÇÕ´Ï´Ù.

¿©·¯ºÐÀÌ ½Ã½ºÅÛÀÇ /lib ¾Æ·¡¸¦ º»´Ù¸é libsomething.so³ª libsomething.a¿Í °°Àº ¸¹Àº ÆÄÀϵéÀ» º¼ ¼ö ÀÖÀ» °ÍÀÔ´Ï´Ù. À̵éÀº À§¿Í°°Àº ÇÔ¼öµéÀÇ ¶óÀ̺귯¸® ÆÄÀÏÀÔ´Ï´Ù. Glibc´Â ´Ü¼øÈ÷ GNU¿¡¼­ ±×·¯ÇÑ ÇÔ¼ö¸¦ ±¸ÇöÇØ ³õÀº °ÍÀÔ´Ù.

ÇÁ·Î±×·¥ÀÌ ÀÌ·¯ÇÑ ¶óÀ̺귯¸® ÇÔ¼öµéÀ» »ç¿ëÇÏ´Â µ¥¿¡´Â µÎ °¡Áö ¹æ¹ýÀÌ ÀÖ½À´Ï´Ù. ¸¸¾à ¿©·¯ºÐÀÌ ÇÁ·Î±×·¥À» Á¤Àû(statically)À¸·Î ¸µÅ©ÇÑ´Ù¸é, ÀÌ ¶óÀ̺귯¸® ÇÔ¼öµéÀº ¸¸µé¾îÁö´Â ½ÇÇà °¡´ÉÇÑ ÆÄÀÏ¿¡ º¹»çµÉ °ÍÀÔ´Ï´Ù. libsomething.a¿Í °°Àº ÆÄÀÏÀº ÀÌ·¯ÇÑ ÀÏÀ» À§ÇÑ °ÍÀÔ´Ï´Ù. ¿©·¯ºÐÀÌ µ¿Àû(dynamically)À¸·Î ÇÁ·Î±×·¥À» ¸µÅ©ÇÑ´Ù¸é(ÀÌ°ÍÀº ±âº»°ªÀÔ´Ï´Ù.), ÇÁ·Î±×·¥ÀÌ ½ÇÇàµÇ¾î ¶óÀ̺귯¸® Äڵ尡 ÇÊ¿äÇÒ ¶§ libsomething.so¿¡¼­ ºÎ¸£°Ô µÉ °ÍÀÔ´Ï´Ù.

¿©·¯ºÐÀÌ Æ¯Á¤ÇÑ ÇÁ·Î±×·¥¿¡¼­ ¾î¶°ÇÑ ¶óÀ̺귯¸®°¡ ÇÊ¿äÇÑÁö ¾Ë·Á°í ÇϽŴٸé ldd¸í·ÉÀ» ¾²½Ç ¼ö ÀÖ½À´Ï´Ù. ¿¹¸¦ µé¾î bash°¡ ¾î¶°ÇÑ ¶óÀ̺귯¸®µéÀ» ¾²´ÂÁö ¾Æ½Ã·Á¸é ¾Æ·¡¿Í °°ÀÌ ÀÔ·ÂÇϽʽÿÀ.

	[greg@Curry power2bash]$ ldd /bin/bash
        	libtermcap.so.2 => /lib/libtermcap.so.2 (0x40019000)
        	libc.so.6 => /lib/libc.so.6 (0x4001d000)
        	/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)

5.1. ¼³Á¤


¶óÀ̺귯¸®ÀÇ ¸î¸î ÇÔ¼öµéÀº ¿©·¯ºÐÀÌ ¾îµð¿¡ »ç½Ã´ÂÁö¿¡ µû¶ó ´Ù¸¥ ÀÏÀ» ÇÕ´Ï´Ù. ¿¹¸¦ µé¾î, È£ÁÖ¿¡¼­´Â ³¯ÀÚ¸¦ ÀÏ/¿ù/³â°ú °°ÀÌ ¾²Áö¸¸, ¹Ì±¹¿¡¼­´Â ¿ù/ÀÏ/³â°ú °°ÀÌ ¾¹´Ï´Ù. glibc ¹èÆ÷ÆÇ¿¡ ÇÔ²² ÀÖ´Â localedef¶ó´Â ÇÁ·Î±×·¥Àº ¿©·¯ºÐÀÌ ÀÌ°ÍÀ» ¼³Á¤ÇÒ ¼ö ÀÖµµ·Ï ÇÕ´Ï´Ù.

5.2. ¿¬½À ¹®Á¦


¿©·¯ºÐÀÌ °¡Àå ÁÁ¾ÆÇÏ´Â ¾îÇø®ÄÉÀ̼ÇÀÌ ¾î¶°ÇÑ ¶óÀ̺귯¸®¸¦ »ç¿ëÇÏ´ÂÁö ldd·Î ¾Ë¾Æº¸½Ê½Ã¿À.

ldd·Î init°¡ ¾î¶² ¶ó¸®ºê·¯¸®¸¦ »ç¿ëÇÏ´ÂÁö ¾Ë¾Æº¸½Ê½Ã¿À.

ÇÑ°³³ª µÎ°³ÀÇ ÇÔ¼ö¸¸À» Æ÷ÇÔÇÏ´Â Àå³­°¨ ¶óÀ̺귯¸®¸¦ ¸¸µé¾î º¸½Ê½Ã¿À. ±×·¯ÇÑ ¶óÀ̺귯¸®´Â ar ÇÁ·Î±×·¥À¸·Î ¸¸µé ¼ö ÀÖÀ¸¸ç, arÀÇ ¸Ç ÆäÀÌÁö´Â ¾î¶»°Ô ÀÌ°ÍÀÌ ÀÌ·ç¾îÁö´ÂÁö Á¶»çÇϱâ À§ÇØ ¸ÕÀú º¸¾Æ¾ß ÇÒ ÀÚ·áÀÔ´Ï´Ù. ÀÌ ¶óÀ̺귯¸®¸¦ ¾²´Â ÇÁ·Î±×·¥À» ¾²°í ÄÄÆÄÀÏ ÇÑ µÚ ¸µÅ©ÇØ º¸½Ê½Ã¿À.

5.3. Ãß°¡ Á¤º¸


6. Init


Àú´Â ¸®´ª½º ½Ã½ºÅÛµéÀÌ °¡Àå ¸¹ÀÌ »ç¿ëÇÏ´Â "System V" ½ºÅ¸ÀÏÀÇ init¸¸À» ¾ð±ÞÇÏ°Ú½À´Ï´Ù. ´Ù¸¥ ´ë¾Èµéµµ ÀÖ½À´Ï´Ù. »ç½Ç, ¿©·¯ºÐÀº ¾î¶² ÇÁ·Î±×·¥ÀÌ¶óµµ /sbin/init¿¡ ³ÖÀ» ¼ö ÀÖ°í, Ä¿³ÎÀº ÀÚ½ÅÀÌ ¿ÏÀüÈ÷ ºÒ¸° ´ÙÀ½¿¡ ±×°ÍÀ» ½ÇÇàÇÒ °ÍÀÔ´Ï´Ù.

initÀÌ ÇÏ´Â ÀÏÀº ¸ðµç °ÍµéÀÌ ¹Ù¶ó´Â ´ë·Î ½ÇÇàµÇ°Ô ÇÏ´Â °ÍÀÔ´Ï´Ù. ÆÄÀÏ ½Ã½ºÅÛÀÌ ±¦ÂúÀºÁö È®ÀÎÇÏ°í ¸¶¿îÆ®ÇÕ´Ï´Ù. "µ¥¸ó"µéÀÌ ½ÃÀÛÇؼ­ ½Ã½ºÅÛ ¸Þ½ÃÁöµéÀ» ·Î±×ÇÏ°Ô ÇÏ°í, ³×Æ®¿öÅ·À» ÇÏ°í, À¥ ÆäÀÌÁö¸¦ º¸³»°í, ¸¶¿ì½º°¡ ¹«½¼ ÀÏÀ» ÇÏ´ÂÁö º¸´Â °Í°ú °°Àº ÀÏÀ» ÇÕ´Ï´Ù. ÀÌ°ÍÀº ¿©·¯ºÐÀÇ °¡»ó Å͹̳ο¡ ·Î±×ÀÎ ÇÁ·ÒÇÁÆ®¸¦ Ãâ·ÂÇÏ´Â getty ÇÁ·Î¼¼½º¸¦ ½ÃÀÛÇÕ´Ï´Ù.

"·±·¹º§(run-levels)"À» ÀüȯÇÏ´Â °Í¿¡ ´ëÇØ ´Ù À̾߱â ÇÏ·Á¸é º¹ÀâÇÏ°ÚÁö¸¸, ¿©±â¼­´Â ´ëºÎºÐÀ» °Ç³Ê¶Ù°í ½Ã½ºÅÛ ½ÃÀÛ¿¡ °ü·ÃµÈ ºÎºÐ¸¸ À̾߱âÇÒ °ÍÀÔ´Ï´Ù.

Init´Â ¹«¾ùÀ» ÇÒÁö ±â·ÏµÇ¾î ÀÖ´Â /etc/inittabÀ̶ó´Â ÆÄÀÏÀ» ÀнÀ´Ï´Ù. ÀüÇüÀûÀ¸·Î, Á¦ÀÏ ¸ÕÀú ÇÏ´Â ÀÏÀº ÃʱâÈ­ ½ºÅ©¸³Æ®¸¦ ½ÇÇàÇÏ´Â °ÍÀÔ´Ï´Ù. ÀÌ ½ºÅ©¸³Æ®¸¦ ½ÇÇà(¶Ç´Â Çؼ®)Çϴ°ÍÀº ¿©·¯ºÐ¿¡°Ô ¸í·É ÇÁ·ÒÇÁÆ®¸¦ ÁÖ´Â ÇÁ·Î±×·¥À̱⵵ ÇÑ bashÀÔ´Ï´Ù. µ¥ºñ¾È ½Ã½ºÅÛ¿¡¼­´Â, ½ÃÀÛ ½ºÅ©¸³Æ®´Â /etc/init.d/rcSÀÌ°í, ·¹µåÇÞ¿¡¼­´Â /etc/rc.d/rc.sysinitÀÔ´Ï´Ù. ¿©±â¼­ ÆÄÀϽýºÅÛÀÌ Ã¼Å©µÇ¸ç ¸¶¿îÆ®µÇ°í, ½Ã°è°¡ ¼³Á¤µÇ°í, ½º¿Ò °ø°£ÀÌ ÄÑÁö°í, È£½ºÆ® À̸§ÀÌ ¼³Á¤µÇ´Â °Í°ú °°Àº ÀÏÀÌ ÀϾ´Ï´Ù.

´ÙÀ½À¸·Î, ¶Ç ´Ù¸¥ ½ºÅ©¸³Æ®°¡ ºÒ·ÁÁ®¼­ ¿ì¸®¸¦ ±âº» ·±·¹º§·Î µ¥·Á°©´Ï´Ù. ±âº» ·±·¹º§Àº ½ÇÇàÇÒ ¼ö ÀÖ´Â ¼­ºê½Ã½ºÅÛµéÀÇ ¸ðÀÓÀÔ´Ï´Ù. °¢°¢ÀÇ ·±·¹º§µé¿¡ ´ëÇÏ¿© ·¹µåÇÞ¿¡¼­´Â /etc/rc.d/rc0.d, /etc/rc.d/rc1.d, ..., /etc/rc.d/rc6.d¿Í °°Àº µð·ºÅ丮°¡ ÀÖ°í, µ¥ºñ¾È¿¡´Â /etc/rc0.d, /etc/rc1.d, ..., /etc/rc6.d¿Í °°Àº µð·ºÅ丮µéÀÌ ÀÖ½À´Ï´Ù. µ¥ºñ¾È¿¡¼­ ¿ì¸®´Â ·±·¹º§ 3À¸·Î °¡¼­ /etc/rc3.d¾È¿¡ ÀÖ´Â `S' (½ÃÀÛ, start¸¦ ÀǹÌ)·Î ½ÃÀÛÇÏ´Â ½ºÅ©¸³Æ®µéÀ» ½ÇÇàÇÕ´Ï´Ù. »ç½Ç ÀÌ ½ºÅ©¸³Æ®µéÀº init.d¶ó´Â ´Ù¸¥ µð·ºÅ丮¿¡ ÀÖ´Â ½ºÅ©¸³Æ®¿¡ ´ëÇÑ ¸µÅ©ÀÔ´Ï´Ù.

±×·¡¼­ ¿ì¸®ÀÇ ·±·¹º§ ½ºÅ©¸³Æ®´Â init¿¡ ÀÇÇØ ºÒ·ÁÁö°í, µð·ºÅ丮 ¾È¿¡¼­ S·Î ½ÃÀÛÇÏ´Â ½ºÅ©¸³Æ®µéÀ» ã½À´Ï´Ù. S10syslog¸¦ ¸ÕÀú ãÀ» ¼öµµ ÀÖ½À´Ï´Ù. ¼ýÀÚ´Â ½ºÅ©¸³Æ®µéÀ» ½ÇÇà½ÃÅ°´Â ¼ø¼­¸¦ ¾Ë·ÁÁÝ´Ï´Ù. ±×·¡¼­ ÀÌ °æ¿ì S00 ... S09·Î ½ÃÀÛÇÏ´Â ½ºÅ©¸³Æ®µéÀÌ ¾ø¾ú±â ¶§¹®¿¡ S10syslog°¡ ¸ÕÀú ½ÇÇàµË´Ï´Ù. ÇÏÁö¸¸ ½ÇÁ¦·Î S10syslog´Â ½Ã½ºÅÛ ·Î°Å¸¦ ½ÃÀÛÇÏ°í ³¡³»´Â ½ºÅ©¸³Æ®ÀÎ /etc/init.d/syslog·ÎÀÇ ¸µÅ©ÀÔ´Ï´Ù. ¸µÅ©°¡ S·Î ½ÃÀÛÇϱ⠶§¹®¿¡, ·±·¹º§ ½ºÅ©¸³Æ®´Â syslog ½ºÅ©¸³Æ®¸¦ "start" ÆĶó¸ÞÅÍ·Î ½ÇÇàÇÕ´Ï´Ù. ¿©±â¿¡ ´ëÀÀµÇ´Â ·±·¹º§À» ¶°³¯ ¶§ ¹«¾ùÀ» ¹«½¼ ¼ø¼­·Î ²¨¾ß ÇÏ´ÂÁö¸¦ Áö½ÃÇÏ´Â ¸µÅ©´Â `K' (Á×À̱â, killÀ» ÀǹÌ)·Î ½ÃÀÛÇÕ´Ï´Ù.

±âº»À¸·Î ½ÃÀ۵Ǵ ¼­ºê½Ã½ºÅÛµéÀ» ¹Ù²Ù·Á¸é, ¿©·¯ºÐÀº rcN.d µð·ºÅ丮 ¾È¿¡ ÀÖ´Â ÀÌ·¯ÇÑ ¸µÅ©µéÀ» ¼³Á¤ÇØ¾ß ÇÒ °ÍÀÔ´Ï´Ù. ¿©±â¼­ NÀº inittab¿¡ ¼³Á¤µÈ ±âº» ·±·¹º§ÀÔ´Ï´Ù.

Init°¡ ¸¶Áö¸·À¸·Î ÇÏ´Â Áß¿äÇÑ ÀÏÀº gettyµéÀ» ½ÃÀÛÇÏ´Â °ÍÀÔ´Ï´Ù. ±×µéÀº "¸î ¹øÀÌ¶óµµ ¼Ò»ýÇÏ´Â(respawned)" Ư¡À» °¡Áö°í ÀÖ½À´Ï´Ù. ÀÌ´Â ±×µéÀÌ Á¤ÁöµÇ¾úÀ» ¶§, init°¡ ±×µéÀ» ´Ù½Ã ½ÃÀÛÇÏ°Ô ÇÑ´Ù´Â °ÍÀ» ÀǹÌÇÕ´Ï´Ù. ´ëºÎºÐÀÇ ¹èÆ÷ÆǵéÀº ¿©¼¸°³ÀÇ °¡»ó Å͹̳ÎÀÌ ÀÖ½À´Ï´Ù. ¿©·¯ºÐÀº ¸Þ¸ð¸®¸¦ Àý¾àÇϱâ À§Çؼ­ ¼ö¸¦ ÁÙÀÏ ¼öµµ ÀÖ°í, ¸¹Àº °ÍµéÀ» µ¿½Ã¿¡ ½ÇÇàÇϸ鼭 ÇÊ¿äÇÒ ¶§¸¶´Ù ÀüȯÇÒ ¼ö ÀÖµµ·Ï ´Ã¸± ¼öµµ ÀÖÀ» °ÍÀÔ´Ï´Ù. ¿©·¯ºÐÀº getty¸¦ ÅؽºÆ® Å͹̳ÎÀ̳ª ¸ðµ© ¿¬°áÀ» À§ÇØ ½ÇÇàÇÏ°í ½ÍÀ¸½Ç ¼öµµ ÀÖ½À´Ï´Ù. ÀÌ·± °æ¿ì¿¡´Â ¿©·¯ºÐÀÌ inittab ÆÄÀÏÀ» ÆíÁýÇÒ ÇÊ¿ä°¡ ÀÖÀ» °ÍÀÔ´Ï´Ù.

6.1. ¼³Á¤


/etc/inittab Àº init¸¦ À§ÇÑ ÃÖ°í ¼öÁØÀÇ ¼³Á¤ ÆÄÀÏÀÔ´Ï´Ù.

N = 0, 1, ..., 6ÀÎ rcN.d µð·ºÅ丮µéÀº ¾î¶² ¼­ºê½Ã½ºÅÛÀÌ ½ÃÀ۵ǴÂÁö¸¦ °áÁ¤ÇÕ´Ï´Ù.

init¿¡ ÀÇÇØ ºÒ·ÁÁö´Â ½ºÅ©¸³Æ® ÁßÀÇ ÇϳªÀÇ ¾îµð¿¡¼±°¡ mount -a ¸í·ÉÀÌ ½ÇÇàµÉ °ÍÀÔ´Ï´Ù. ÀÌ°ÍÀº ¸¶¿îÆ®Çϱâ·Î ¿¹Á¤µÈ ¸ðµç ÆÄÀϽýºÅÛµéÀÌ ¸¶¿îÆ®ÇÑ´Ù´Â °ÍÀ» ÀǹÌÇÕ´Ï´Ù. ÆÄÀÏ /etc/fstabÀÌ ¹«¾ùÀÌ ¸¶¿îÆ®µÉ ¿¹Á¤ÀÎÁö¸¦ Á¤ÀÇÇÕ´Ï´Ù. ¿©·¯ºÐÀÌ ½Ã½ºÅÛÀÌ ½ÃÀÛµÉ ¶§ ¹«¾ùÀÌ ¾îµð¿¡ ¸¶¿îÆ® µÇ´ÂÁö¸¦ ¹Ù²Ù°í ½ÍÀ¸½Ã´Ù¸é ÀÌ ÆÄÀÏÀ» ÆíÁýÇϽʽÿÀ. fstab¿¡ ´ëÇÑ ¸Ç ÆäÀÌÁö°¡ ÀÖ½À´Ï´Ù.

6.2. ¿¬½À ¹®Á¦


¿©·¯ºÐÀÇ ½Ã½ºÅÛÀÇ ±âº» ·±·¹º§À» À§ÇÑ rcN.dµð·ºÅ丮¸¦ ã¾Æ ÆÄÀϵéÀÌ ¾îµð·Î ¸µÅ©µÇ¾î ÀÖ´ÂÁö ls -l·Î º¸½Ê½Ã¿À.

¿©·¯ºÐÀÇ ½Ã½ºÅÛ¿¡¼­ ½ÇÇàµÇ´Â gettyµéÀÇ ¼ö¸¦ ¹Ù²Ù¾î º¸½Ê½Ã¿À.

¿©·¯ºÐÀÇ ±âº» ·±·¹º§¿¡¼­ ÇÊ¿ä·Î ÇÏÁö ¾Ê´Â ¼­ºê½Ã½ºÅÛÀ» ¾ø¾Ö½Ê½Ã¿À.

¾ó¸¶³ª ÀûÀº ÇÁ·Î±×·¥À» ½ÇÇàÇÏ¸ç ½Ã½ºÅÛÀ» ½ÃÀÛÇÒ ¼ö ÀÖ´ÂÁö º¸½Ê½Ã¿À.

¿©·¯ºÐÀÇ Ç÷ÎÇÇ µð½ºÅ©¿¡ ¸®·Î¿Í Ä¿³Î, ±×¸®°í Á¤ÀûÀ¸·Î ¸µÅ©µÈ "hello world" ÇÁ·Î±×·¥ÀÎ /sbin/init¸¦ ³Ö°í ºÎÆ®ÇÑ µÚ ÀλçÇÏ´Â °ÍÀ» º¸½Ê½Ã¿À.

¿©·¯ºÐÀÇ ½Ã½ºÅÛÀÌ ½ÃÀ۵Ǵ °ÍÀ» ÁÖÀDZí°Ô º¸½Ã¸é¼­ ¹«¾ùÀÌ ÀϾ°í ÀÖ´Ù°í ¸»ÇÏ´ÂÁö ±â·ÏÇϽʽÿÀ. ¶Ç´Â /var/log/messagesÀÇ ½ÃÀÛÇÒ ¶§ºÎÅÍ ÀϺκÐÀ» Ãâ·ÂÇØ º¸½Ê½Ã¿À. ±× ´ÙÀ½¿¡ inittab¿¡¼­ºÎÅÍ ¸ðµç ½ºÅ©¸³Æ®¸¦ º¸½Ã¸é¼­ ¹«½¼ Äڵ尡 ¹«¾ùÀ» ÇÏ´ÂÁö º¸½Ê½Ã¿À. ¿©·¯ºÐÀº ¾Æ·¡¿Í °°Àº ½ÃÀÛ ¸Þ½ÃÁö¸¦ Ãß°¡ÇÒ ¼ö ÀÖÀ» °ÍÀÔ´Ï´Ù.

	echo "Hello, I am rc.sysinit"

¹è½Ã ¼Ð ½ºÅ©¸³Æ®¿¡ ¹è¿ì´Â °Íµµ ¾ÆÁÖ ÁÁÀº ¿¬½ÀÀÔ´Ï´Ù. ¸î¸îÀº ¾ÆÁÖ º¹ÀâÇÕ´Ï´Ù. ÁÁÀº ¹è½Ã Âü°í¼­¿Í ÇÔ²² ÇϽʽÿÀ.

6.3. Ãß°¡ Á¤º¸


  • inittab¿Í fstab ÆÄÀϵ鿡 °üÇÑ ¸ÇÆäÀÌÁöµéÀÌ ÀÖ½À´Ï´Ù. (¿¹¸¦ µé¾î) ¼Ð¿¡¼­ man inittab À̶ó°í Ä¡½Ã¸é º¸½Ç ¼ö ÀÖ½À´Ï´Ù.
  • ¸®´ª½º ½Ã½ºÅÛ °ü¸® °¡À̵å(The Linux System Administrators Guide)¿¡´Â init¿¡ °üÇÑ ÁÁÀº [http]Àý(section)ÀÌ ÀÖ½À´Ï´Ù.
  • ¼Ò½º ÄÚµå: URLÀ» [http]Building a Minimal Linux System from Source Code¿¡¼­ º¸½Ê½Ã¿À.

7. ÆÄÀÏ ½Ã½ºÅÛ


ÀÌ Àý¿¡¼­ Àú´Â "ÆÄÀϽýºÅÛ"À̶ó´Â ´Ü¾î¸¦ µÎ °¡ÁöÀÇ ´Ù¸¥ Àǹ̷Π»ç¿ëÇÒ °ÍÀÔ´Ï´Ù. µð½ºÅ© ÆÄƼ¼ÇÀ̳ª ´Ù¸¥ µð¹ÙÀ̽º¿¡ ÀÖ´Â ÆÄÀϽýºÅÛÀÌ ÀÖ°í, µ¿ÀÛÇÏ´Â ¸®´ª½º ½Ã½ºÅÛ¿¡ ÀÇÇØ ¿©·¯ºÐ¿¡°Ô´Â ÀÖ´Â °Íó·³ º¸ÀÌ´Â ÆÄÀϽýºÅÛÀÌ ÀÖ½À´Ï´Ù.

Àü Àý¿¡¼­ Àú´Â init ½ºÅ©¸³Æ®°¡ ÆÄÀϽýºÅÛÀ» üũÇÏ°í ¸¶¿îÆ® ÇÑ´Ù´Â »ç½ÇÀ» ¾ð±ÞÇÏ¿´½À´Ï´Ù. ±×°ÍÀ» ÇÏ´Â ¸í·É¾î´Â °¢°¢ fsck¿Í mountÀÔ´Ï´Ù.

Çϵåµð½ºÅ©´Â ´ÜÁö ¿©·¯ºÐÀÌ 0°ú 1À» ¾µ ¼ö ÀÖ´Â Å« °ø°£¿¡ ºÒ°úÇÕ´Ï´Ù. ÆÄÀϽýºÅÛÀº ±×°Í¿¡ ±¸Á¶¸¦ ÁÖ¾î µð·ºÅ丮 ¾ÈÀÇ µð·ºÅ丮 ¾ÈÀÇ ... ÆÄÀÏó·³ º¸ÀÌ°Ô ÇÕ´Ï´Ù. °¢°¢ÀÇ ÆÄÀÏÀº ±× ÆÄÀÏÀÌ ´©±¸ÀÇ °ÍÀÌ¸ç ¾ðÁ¦ ¸¸µé¾îÁ³°í ³»¿ëÀº ¾îµð¼­ º¼ ¼ö ÀÖ´ÂÁö¸¦ ÀúÀåÇÑ inode¿¡ ÀÇÇØ ³ªÅ¸³»Áý´Ï´Ù. µð·ºÅ丮µéµµ inodeµé¿¡ ÀÇÇØ ³ªÅ¸³»¾îÁö°Ô µÇ´Âµ¥, ÀÌ inode´Â µð·ºÅ丮ÀÇ ÆÄÀÏÀÇ inodeµéÀ» ¾îµð¿¡¼­ ãÀ» ¼ö ÀÖ´ÂÁö ¾Ë·ÁÁÝ´Ï´Ù. ¸¸¾à ½Ã½ºÅÛÀÌ /home/greg/bigboobs.jpeg¸¦ ÀÐÀ¸·Á°í ÇÑ´Ù¸é, ¸ÕÀú "superblock (½´ÆÛºí·Ï)"ÀÇ ·çÆ® µð·ºÅ丮 /ÀÇ inode¸¦ ã°í, /ÀÇ ³»¿ë Áß¿¡¼­ µð·ºÅ丮 homeÀÇ inode¸¦ ãÀº µÚ, /homeÀÇ ³»¿ë Áß¿¡¼­ µð·ºÅ丮 gregÀÇ inode¸¦ ã½À´Ï´Ù. °°Àº ¹æ¹ýÀ¸·Î bigboobs.jpegÀÇ inode¸¦ ã¾Æ¼­ ¾î´À µð½ºÅ© ºí·ÏÀ» Àоî¾ß ÇÒÁö¸¦ ¾Ë°Ô µË´Ï´Ù.

¿ì¸®°¡ ÆÄÀÏÀÇ ³¡¿¡ µ¥ÀÌÅ͸¦ Ãß°¡ÇÏ°íÀÚ ÇÒ ¶§, inode°¡ ¾÷µ¥ÀÌÆ®µÇ¾î »õ·Î¿î ºí·ÏÀÌ ÆÄÀÏ¿¡ ¼ÓÇÏ°Ô µÇ¾ú´Ù´Â °ÍÀ» ¹Ý¿µÇϱâ Àü¿¡ µ¥ÀÌÅÍ°¡ ¾º¿©Áú ¼ö ÀÖ°í, ±× ¹Ý´ëÀÇ °æ¿ìµµ °¡´ÉÇÕ´Ï´Ù. ¸¸¾à Àü¿ø °ø±ÞÀÌ ÁߴܵǾî ÀÌ·¯ÇÑ °ÍÀÌ ²÷±ä´Ù¸é, ÆÄÀϽýºÅÛÀÌ °íÀ峯 ¼öµµ ÀÖ½À´Ï´Ù. fsck´Â ÀÌ·¯ÇÑ°ÍÀ» ã¾Æ¼­ °íÄ¡·Á°í ÇÕ´Ï´Ù.

¸¶¿îÆ® ¸í·É¾î´Â ÀåÄ¡¿¡ ÀÖ´Â ÆÄÀϽýºÅÛÀ» °¡Á®¿Í¼­ ¿©·¯ºÐÀÌ ½Ã½ºÅÛÀ» »ç¿ëÇÒ ¶§ º¼ ¼ö ÀÖ´Â °èÃþ¿¡ Ãß°¡ÇÕ´Ï´Ù. º¸Åë Ä¿³ÎÀº ·çÆ® ÆÄÀϽýºÅÛÀ» Àбâ Àü¿ëÀ¸·Î ¸¶¿îÆ®ÇÕ´Ï´Ù. fsck°¡ ·çÆ® ÆÄÀϽýºÅÛÀÌ Á¤»óÀÎÁö È®ÀÎÇÑ µÚ ¸¶¿îÆ® ¸í·É¾î·Î ´Ù½Ã ¸¶¿îÆ®ÇÕ´Ï´Ù.

¸®´ª½º´Â msdos, vfat, minix¿Í °°Àº ´Ù¸¥ Á¾·ùÀÇ ÆÄÀϽýºÅÛµµ Áö¿øÇÕ´Ï´Ù. ƯÁ¤ÇÑ Á¾·ùÀÇ ÆÄÀϽýºÅÛ¿¡ ´ëÇÑ »ó¼¼ÇÑ Á¤º¸´Â °¡»ó ÆÄÀÏ ½Ã½ºÅÛ (virtual file system, VFS)¿¡ ÀÇÇØ Ãß»óÈ­µÇ¾î °¡·ÁÁý´Ï´Ù. Áö±ÝÀº ´õ ÀÌ»ó ±íÀÌ µé¾î°¡Áö´Â ¾Ê°Ú½À´Ï´Ù. ÀÌ°Í¿¡ ´ëÇÑ ³íÀÇ´Â "¸®´ª½º Ä¿³Î(The Linux KernelÀ» º¸½Ê½Ã¿À.)"¿¡ ÀÖ½À´Ï´Ù.

¿ÏÀüÈ÷ ´Ù¸¥ Á¾·ùÀÇ ÆÄÀϽýºÅÛÀÌ /proc¿¡ ¸¶¿îÆ®µË´Ï´Ù. »ç½Ç ÀÌ°ÍÀº Ä¿³Î ¾È¿¡ ÀÖ´Â °ÍµéÀ» Ç¥ÇöÇÑ °Í¿¡ ºÒ°úÇÕ´Ï´Ù. ¿©±â¿¡´Â ½Ã½ºÅÛ¿¡¼­ µ¹¾Æ°¡°í ÀÖ´Â °¢ ÇÁ·Î¼¼½º¸¶´Ù µð·ºÅ丮°¡ ÀÖÀ¸¸ç, µð·ºÅ丮ÀÇ À̸§Àº ÇÁ·Î¼¼½º ¹øÈ£ÀÔ´Ï´Ù. ¶ÇÇÑ ÀÎÅÍ·´Æ®(interrupts), meminfo¿Í °°ÀÌ ¾î¶»°Ô Çϵå¿þ¾î°¡ »ç¿ëµÇ°í ÀÖ´ÂÁö¸¦ ¾Ë·ÁÁÖ´Â °Íµéµµ ÀÖ½À´Ï´Ù. ¿©·¯ºÐÀº /procÀ» µÑ·¯º½À¸·Î½á ¸¹Àº °ÍÀ» ¹è¿ï ¼ö ÀÖÀ» °ÍÀÔ´Ï´Ù.

7.1. ¼³Á¤


Ext2 ÆÄÀϽýºÅÛÀ» ¸¸µå´Â mke2fs ¸í·É¾î¿¡´Â ÆĶó¸ÞÅ͵éÀÌ ÀÖ½À´Ï´Ù. ÆĶó¸ÞÅ͵éÀº ºí·ÏµéÀÇ Å©±â, inodeµéÀÇ ¼ö¿Í °°Àº °ÍÀ» Á¶ÀýÇÕ´Ï´Ù. ÀÚ¼¼ÇÑ ³»¿ëÀº mke2fsÀÇ ¸Ç ÆäÀÌÁö¸¦ º¸½Ê½Ã¿À.

¿©·¯ºÐÀÇ ÆÄÀϽýºÅÛ¿¡ ¹«¾ùÀÌ ¾îµð¿¡ ¸¶¿îÆ®µÇ´ÂÁö´Â /etc/fstab ÆÄÀÏ¿¡ ÀÇÇØ Á¶ÀýµË´Ï´Ù. ÀÌ ÆÄÀÏ¿¡ ´ëÇÑ ¸Ç ÆäÀÌÁö°¡ ÀÖ½À´Ï´Ù.

7.2. ¿¬½À ¹®Á¦


¸Å¿ì ÀÛÀº ÆÄÀϽýºÅÛÀ» ¸¸µé°í Çí½º ºä¾î(hex viewer)·Î º¸½Ê½Ã¿À. inodeµé, ½´ÆÛºí·Ïµé(superblocks)°ú ÆÄÀÏ ³»¿ëµéÀ» ±¸ºÐÇØ º¸½Ê½Ã¿À.

Àú´Â ÆÄÀÏ ½Ã½ºÅÛÀ» ±×·¡ÇÈÀ¸·Î º¸¿©ÁÖ´Â µµ±¸µéÀÌ ÀÖÀ» °ÍÀ̶ó°í ¹Ï½À´Ï´Ù. ã¾Æ¼­ ½á º¸½Å µÚ URL°ú ¸®ºä¸¦ Àú¿¡°Ô ¸ÞÀϺ¸³» ÁֽʽÿÀ!

Ä¿³ÎÀÇ ext2 ÆÄÀϽýºÅÛ Äڵ带 º¸½Ê½Ã¿À.

7.3. Ãß°¡ Á¤º¸


  • LDP¿¡¼­ ³ª¿Â Ã¥ÀÎ "The Linux Kernel"ÀÇ 9ÀåÀº ÆÄÀϽýºÅÛ¿¡ ´ëÇÑ ÈǸ¢ÇÑ ¼³¸íÀÔ´Ï´Ù. ¿©·¯ºÐÀº ÀÌ°ÍÀ» È£ÁÖ LDP [http]¹Ì·¯¿¡¼­ ãÀ» ¼ö ÀÖ½À´Ï´Ù.
  • mount ¸í·ÉÀº util-linux ²Ù·¯¹ÌÀÇ ÀϺκÐÀ̸ç, [http]Building a Minimal Linux System from Source Code¿¡ ±×°Í¿¡ ´ëÇÑ ¸µÅ©°¡ ÀÖ½À´Ï´Ù.
  • mount, fstab, fsck, mke2fs, procÀÇ ¸Ç ÆäÀÌÁö
  • /proc ÆÄÀϽýºÅÛÀ» ¼³¸íÇÏ´Â ¸®´ª½º ¼Ò½º ÄÚµåÀÇ Documentation/proc.txt
  • EXT2 ÆÄÀÏ ½Ã½ºÅÛ À¯Æ¿¸®Æ¼ÀÎ [http]ext2fsprogsÀÇ È¨ ÆäÀÌÁö³ª [ftp]ext2fsprogsÀÇ È£ÁÖ ¹Ì·¯. ¿©±â¿¡µµ Á¶±Ý ³°¾Ò°í "The Linux Kernel"ÀÇ 9À常ŭ Àбâ ÁÁÁö´Â ¾ÊÁö¸¸ Ext2fs¸¦ µÑ·¯º¸´Â ¹®¼­°¡ ÀÖ½À´Ï´Ù.
  • [ftp]À¯´Ð½º ÆÄÀÏ ½Ã½ºÅÛ Ç¥ÁØ (Unix File System Standard) À¯´Ð½º ÆÄÀÏ ½Ã½ºÅÛ Ç¥ÁØÀ¸·ÎÀÇ ¶Ç ´Ù¸¥ [http]¸µÅ©" ÀÌ ¹®¼­´Â À¯´Ð½º ÆÄÀÏ ½Ã½ºÅÛ¿¡¼­ ¹«¾ùÀÌ ¾îµð¿¡ ÀÖ¾î¾ß Çϸç, ±× ÀÌÀ¯´Â ¹«¾ùÀÎÁö ¼³¸íÇÕ´Ï´Ù. ¶ÇÇÑ, /bin, /sbin µî¿¡ ÃÖ¼ÒÇÑ ¹«¾ùÀÌ ÀÖ¾î¾ß ÇÏ´ÂÁö¸¦ ¼³¸íÇÕ´Ï´Ù. ¿©·¯ºÐÀÌ ¿ÏÀüÇÏÁö¸¸ °¡´ÉÇÑ ÇÑ ÀÛÀº ½Ã½ºÅÛÀ» ¸¸µå·Á°í ÇϽŴٸé ÁÁÀº Âü°í ÀÚ·áÀÔ´Ï´Ù.

8. Ä¿³Î µ¥¸óµé


¿©·¯ºÐÀÌ ps aux ¸í·ÉÀ» ÀÔ·ÂÇÏ¸é ¾Æ·¡¿Í °°Àº °ÍÀ» º¼ °ÍÀÔ´Ï´Ù.

USER       PID %CPU %MEM  SIZE   RSS TTY STAT START   TIME COMMAND
root         1  0.1  8.0  1284   536   ? S    07:37   0:04 init [2] 
root         2  0.0  0.0     0     0   ? SW   07:37   0:00 (kflushd)
root         3  0.0  0.0     0     0   ? SW   07:37   0:00 (kupdate)
root         4  0.0  0.0     0     0   ? SW   07:37   0:00 (kpiod)
root         5  0.0  0.0     0     0   ? SW   07:37   0:00 (kswapd)
root        52  0.0 10.7  1552   716   ? S    07:38   0:01 syslogd -m 0 
root        54  0.0  7.1  1276   480   ? S    07:38   0:00 klogd 
root        56  0.3 17.3  2232  1156   1 S    07:38   0:13 -bash 
root        57  0.0  7.1  1272   480   2 S    07:38   0:01 /sbin/agetty 38400 tt
root        64  0.1  7.2  1272   484  S1 S    08:16   0:01 /sbin/agetty -L ttyS1
root        70  0.0 10.6  1472   708   1 R   Sep 11   0:01 ps aux 

ÀÌ°ÍÀº ½Ã½ºÅÛ¿¡¼­ ½ÇÇàµÇ°í ÀÖ´Â ÇÁ·Î¼¼½ºµéÀÇ ¸ñ·ÏÀÔ´Ï´Ù. ÀÌ Á¤º¸´Â Á¦°¡ Àü Àý¿¡¼­ ¾ð±ÞÇß´ø /proc ÆÄÀϽýºÅÛ¿¡¼­ ¿Â °ÍÀÔ´Ï´Ù. initÀÌ ÇÁ·Î¼¼½º ¹øÈ£ 1¹øÀ̶ó´Â Á¡¿¡ ÁÖÀÇÇϽʽÿÀ. ÇÁ·Î¼¼½º 2, 3, 4, 5´Â kflushd, kupdate, kpiod, kswapdÀÔ´Ï´Ù. ¿©±â¼­ ¹«¾ùÀΰ¡ ÀÌ»óÇÑ °ÍÀÌ ÀÖ½À´Ï´Ù. °¡»ó ÀúÀå Å©±â (virtual storage size ,SIZE)¿Í ½ÇÁ¦ ÀúÀå Å©±â (Real Storage Size, RSS) ¸¦ »ìÆ캸¸é, ÀÌ ÇÁ·Î¼¼½ºµéÀº ¸ðµÎ 0À» ³ªÅ¸³»°í ÀÖ½À´Ï´Ù. ¾î¶»°Ô ÇÁ·Î¼¼½º°¡ ¸Þ¸ð¸®¸¦ ¾²Áö ¾ÊÀ» ¼ö ÀÖÀ»±î¿ä?

ÀÌ ÇÁ·Î¼¼½ºµéÀº Ä¿³Î µ¥¸óµéÀÔ´Ï´Ù. ´ëºÎºÐÀÇ Ä¿³ÎÀº ÇÁ·Î¼¼½º ¸ñ·ÏÀ» ÀüÇô º¸¿©ÁÖÁö ¾Ê±â ¶§¹®¿¡, ¾ó¸¶³ª ¸¹Àº ¸Þ¸ð¸®°¡ »ç¿ëµÇ´ÂÁö¸¦ °è»êÇÏ´Â ¹æ¹ýÀº ½Ã½ºÅÛÀÇ »ç¿ë °¡´ÉÇÑ ¸Þ¸ð¸®ÀÇ ¾çÀ» »©´Â ¹æ¹ý¹Û¿¡ ¾ø½À´Ï´Ù. Ä¿³Î µ¥¸óµéÀº init µÚ¿¡ ½ÃÀÛÇϱ⠶§¹®¿¡, ÀϹÝÀûÀÎ ÇÁ·Î¼¼½ºµé°ú °°Àº ÇÁ·Î¼¼½º ¹øÈ£¸¦ ¹Þ½À´Ï´Ù. ÇÏÁö¸¸ ±×µéÀÇ ÄÚµå¿Í µ¥ÀÌÅÍ´Â ¸Þ¸ð¸®ÀÇ Ä¿³Î ºÎºÐ¿¡ ÀÖ½À´Ï´Ù.

ÀÌ ¸í·É¾îµéÀº COMMAND¸¦ »ìÆ캸¸é °ýÈ£°¡ ÃÄÁ® Àִµ¥, ÀÌ´Â /proc ÆÄÀϽýºÅÛ¿¡ ÀÌ ÇÁ·Î¼¼½ºµéÀÇ Á¤º¸°¡ ¾ø±â ¶§¹®ÀÔ´Ï´Ù.

±×·¯¸é ÀÌ·¯ÇÑ Ä¿³Î µ¥¸óµéÀº ¹«¾ùÀ» À§ÇØ ÀÖ´Â °ÍÀϱî¿ä? ÀÌ ¹®¼­ÀÇ ÀÌÀü ¹öÀü¿¡¼­ Àú´Â Ä¿³Î µ¥¸ó¿¡ ´ëÇØ Àß ¸ô¶ú±â ¶§¹®¿¡ µµ¿òÀ» ¿äûÇß½À´Ï´Ù. ¾Æ·¡ÀÇ À̾߱âÀÇ ÀϺδ ÀÌ ¿äû¿¡ ´ëÇÑ °í¸¶¿î ´äÀåµéÀ» ¸ð¾Æ¼­ ¸¸µç °ÍÀÔ´Ï´Ù. ´õ ¸¹Àº ´Ü¼­³ª Âü°í Àڷᳪ ¼öÁ¤¿¡´ëÇÑ Á¶¾ðÀº ¾ðÁ¦³ª ȯ¿µÇÕ´Ï´Ù!

ÀÔÃâ·ÂÀº ¸Þ¸ð¸®ÀÇ ¹öÆÛ¸¦ ÅëÇؼ­ ÀÌ·ç¾îÁý´Ï´Ù. À̸¦ ÅëÇØ ¼Óµµ¸¦ ³ôÀÏ ¼ö ÀÖ½À´Ï´Ù. ÇÁ·Î±×·¥ÀÌ ¹«¾ùÀΰ¡¸¦ ¾²´Â °ÍÀ» ¸Þ¸ð¸® ¾ÈÀÇ ¹öÆÛ¿¡ ¸ð¾Ò´Ù°¡ ´õ Å©°í È¿À²ÀûÀÎ ¹­À½À¸·Î ¾¹´Ï´Ù. kflushd¿Í kupdate µ¥¸óµéÀº ÀÌ·¯ÇÑ ÀϵéÀ» °ü¸®ÇÕ´Ï´Ù. kupdate´Â (5 ÃÊ Á¤µµÀÇ?) °£°ÝÀ» µÎ°í Á¤±âÀûÀ¸·Î ¹öÆÛ¿¡ ¹«¾ùÀΰ¡°¡ ¸¹ÀÌ ÀÖ´ÂÁö¸¦ È®ÀÎÇÕ´Ï´Ù. ¹«¾ùÀΰ¡°¡ ÀÖ´Ù¸é, kflushd¸¦ ºÒ·¯¼­ ±×µéÀ» µð½ºÅ©¿¡ ¾²°Ô(flush) ÇÕ´Ï´Ù.

ÇÁ·Î¼¼½ºµéÀº ¾Æ¹« Àϵµ ÇÏÁö ¾ÊÀ» ¶§°¡ Á¾Á¾ ÀÖÀ¸¸ç, ½ÇÇàÁßÀÎ °Íµµ ±×µéÀÇ ÄÚµå¿Í µ¥ÀÌÅÍ ¸ðµÎ°¡ ¸Þ¸ð¸®¿¡ ÀÖÀ» ÇÊ¿ä´Â ¾ø½À´Ï´Ù. ÀÌ°ÍÀº ½ÇÇàÁßÀÎ ÇÁ·Î±×·¥ÀÇ »ç¿ëÇÏÁö ¾Ê´Â ºÎºÐµéÀ» Çϵåµð½ºÅ©ÀÇ ½º¿Ò ÆÄƼ¼ÇÀ¸·Î º¹»çÇÔÀ¸·Î½á ¸Þ¸ð¸®¸¦ ´õ Àß ¾µ ¼ö ÀÖ´Ù´Â °ÍÀ» ÀǹÌÇÕ´Ï´Ù. ÀÌ µ¥ÀÌÅ͸¦ ÀǵµÇÑ ´ë·Î ¸Þ¸ð¸® ¾ÈÆÆÀ¸·Î ¿òÁ÷ÀÌ´Â °ÍÀº kpiod¿Í kswapd¿¡ ÀÇÇØ ÀÌ·ç¾îÁý´Ï´Ù. ¸î ÃÊ Á¤µµÀÇ °£°ÝÀ» µÎ°í, kswapd°¡ ÀϾ¼­ ¸Þ¸ð¸® »óȲÀ» È®ÀÎÇÑ µÚ, µð½ºÅ©¿¡ ÀÖ´Â °ÍÀÌ ¸Þ¸ð¸®¿¡ ÇÊ¿äÇϰųª, ÃæºÐÇÑ ¸Þ¸ð¸®°¡ ¾ø¾î¼­ µð½ºÅ©·Î ¿Å°Ü¾ß ÇÒ ¶§ kpiod¸¦ ºÎ¸¨´Ï´Ù.

¿©·¯ºÐÀÌ ÀÚµ¿ Àü¿ø °ü¸®(automatic power management)¸¦ Ä¿³Î¿¡ Æ÷ÇÔÇϵµ·Ï ¼³Á¤Çß´Ù¸é kapmd µ¥¸óÀÌ ¿©·¯ºÐÀÇ ½Ã½ºÅÛ¿¡ ÀÖÀ» °ÍÀÔ´Ï´Ù.

8.1. ¼³Á¤


updateÇÁ·Î±×·¥Àº ¿©·¯ºÐÀÌ kflushd¿Í kswapd¸¦ ¼³Á¤Çϵµ·Ï ÇÕ´Ï´Ù. Á¤º¸¸¦ º¸½Ã·Á¸é update -h ¸¦ ÇØ º¸½Ê½Ã¿À.

½º¿Ò °ø°£Àº swapon¿¡ ÀÇÇØ ÄÑÁö°í swapoff¿¡ ÀÇÇØ ²¨Áý´Ï´Ù. init ½ºÅ©¸³Æ®(/etc/rc.sysinit³ª /etc/rc.d/rc.sysinit)´Â ½Ã½ºÅÛÀÌ ½ÃÀÛµÉ ¶§ ´ë°³ swaponÀ» ºÎ¸¨´Ï´Ù. Àú´Â swapoff°¡ ³ëÆ®ºÏ¿¡¼­ Àü·ÂÀ» Àý¾àÇÏ´Â °£´ÜÇÑ ¹æ¹ýÀ̶ó°í µé¾ú½À´Ï´Ù.

8.2. ¿¬½À ¹®Á¦


update -d ÇØ º¸½Ã°í, "¹öÆÛ ³»ºÐ¿¡ ´ëÇÑ ¹®Åΰª(threshold for buffer fratricide)"¿¡ °üÇÑ ¸¶Áö¸· ÁÙÀ» º¸½Ê½Ã¿À. Àç¹ÌÀÖ´Â °³³äÀÌ´Ï Á¶»çÇØ º¸½Ê½Ã¿À!

/proc/sys/vm·Î µð·ºÅ丮¸¦ ¿Å°Ü¼­ ±×°÷ÀÇ ÆÄÀϵéÀ» cat ÇØ º¸½Ê½Ã¿À. ¿©·¯ºÐÀÌ ¹«¾ùÀ» ÇÒ ¼ö ÀÖ´ÂÁö º¸½Ê½Ã¿À.

8.3. Ãß°¡ Á¤º¸


¸®´ª½º ¹®¼­È­ ÇÁ·ÎÁ§Æ®(The Linux Documentation Project)ÀÇ "¸®´ª½º Ä¿³Î(The Linux Kernel)" (The Linux Kernel¿¡¼­ URLÀ» º¸½Ê½Ã¿À.)

¿©·¯ºÐÀÌ ÃæºÐÈ÷ ¿ë°¨ÇÏ´Ù¸é, ¸®´ª½º Ä¿³Î ¼Ò½º Äڵ带 º¸½Ê½Ã¿À! kswapd ÄÚµå´Â linux/mm/vmscan.c¿¡, kflushd¿Í kupdate´Â linux/fs/buffer.c¿¡ ÀÖ½À´Ï´Ù.

9. ½Ã½ºÅÛ ·Î°Å(System Logger)


InitÀº syslogd¿Í klogd µ¥¸óµéÀ» ½ÃÀÛÇÕ´Ï´Ù. À̵éÀº ¸Þ½ÃÁöµéÀ» ·Î±×¿¡ ±â·ÏÇÕ´Ï´Ù. Ä¿³ÎÀÇ ¸Þ½ÃÁöµéÀº klogdÀÌ °ü¸®Çϸç, syslogd´Â ´Ù¸¥ ÇÁ·Î¼¼½ºµéÀÇ ·Î±× ¸Þ½ÃÁöµéÀ» °ü¸®ÇÕ´Ï´Ù. Á᫐ ·Î±×´Â /var/log/messagesÀÔ´Ï´Ù. ¿©·¯ºÐÀÇ ½Ã½ºÅÛÀÌ ÀÌ»óÇØÁ³´Ù¸é ¿©±â¼­ºÎÅÍ ½ÃÀÛÇÏ´Â °ÍÀÌ ÁÁÀ» °ÍÀÔ´Ï´Ù.

9.1. ¼³Á¤


/etc/syslog.conf´Â ·Î°Å¿¡°Ô ¹«½¼ ¸Þ½ÃÁö¸¦ ¾îµð¿¡ ¾µÁö¸¦ ¾Ë·ÁÁÝ´Ï´Ù. ¸Þ½ÃÁöµéÀº ±×µéÀÌ ¾î´À ¼­ºñ½º¿¡¼­ ¿Ô´ÂÁö, ±×µéÀÇ Áß¿äµµ(priority)°¡ ¾î´À Á¤µµÀÎÁö¿¡ µû¶ó ±¸º°µË´Ï´Ù. ¼³Á¤ ÆÄÀÏÀº ¼­ºñ½º xÀÇ Áß¿äµµ yÀÎ ¸Þ½ÃÁö´Â z·Î °¡¾ß ÇÑ´Ù´Â °ÍÀ» ³ªÅ¸³»´Â ÁÙµé·Î ÀÌ·ç¾îÁ® ÀÖ½À´Ï´Ù. ¿©±â¼­ z´Â ÆÄÀÏÀ̰ųª ttyÀ̰ųª, ÇÁ¸°ÅÍÀ̰ųª, ¸®¸ðÆ® È£½ºÆ®°Å³ª, ¹«¾ùÀÌµç µÉ ¼ö ÀÖ½À´Ï´Ù.

ÁÖÀÇ: Syslog´Â /etc/services ÆÄÀÏÀÌ Àֱ⸦ ¿ä±¸ÇÕ´Ï´Ù. ÀÌ services ÆÄÀÏÀº Æ÷Æ®µéÀ» ÇÒ´çÇÕ´Ï´Ù. Àú´Â ¾ÆÁ÷ syslog°¡ ¸®¸ðÆ® ·Î±ë(remote logging)À» ÇÒ ¶§¸¸ Æ÷Æ®¸¦ ÇÒ´çÇϱ⸦ ¹Ù¶ó´ÂÁö, ¾Æ´Ï¸é ´ÜÁö ¿©·¯ºÐÀÌ /etc/syslog.conf¿¡ ÀÔ·ÂÇÑ ¼­ºñ½º À̸§µéÀ» Æ÷Æ® ¹øÈ£·Î ¹Ù²Ù±â À§Çؼ­ /etc/servicesÀ» ÀÌ¿ëÇÏ´ÂÁö Àß ¸ð¸¨´Ï´Ù.

9.2. ¿¬½À ¹®Á¦


¿©·¯ºÐÀÇ ½Ã½ºÅÛ ·Î±×¸¦ º¸½Ê½Ã¿À. ¿©·¯ºÐÀÌ ÀÌÇØÇÏÁö ¸øÇÑ ¸Þ½ÃÁö¸¦ ã°í, ¹«½¼ Àǹ̸¦ °¡Á³´ÂÁö ¾Ë¾Æ³» º¸½Ê½Ã¿À.

¿©·¯ºÐÀÇ ¸ðµç ·Î±× ¸Þ½ÃÁöµéÀ» tty·Î º¸³» º¸½Ê½Ã¿À. (ÇØ º¸½Å µÚ¿¡´Â ½Ã½ºÅÛÀ» Á¤»óÀ¸·Î µ¹·Á ³õÀ¸½Ê½Ã¿À.)

9.3. Ãß°¡ Á¤º¸


sysklogd È£ÁÖ [http]¹Ì·¯

10. Getty¿Í Login


Getty´Â ¿©·¯ºÐÀÌ °¡»ó Å͹̳ÎÀ̳ª ÅؽºÆ® Å͹̳Π¶Ç´Â ¸ðµ©°ú °°Àº Á÷·Ä ÀåÄ¡(serial device)¸¦ ÅëÇؼ­ ·Î±×ÀÎ ÇÒ ¼ö ÀÖµµ·Ï µµ¿ÍÁÝ´Ï´Ù. ÀÌ°ÍÀº ·Î±×ÀÎ ÇÁ·ÒÇÁÆ®¸¦ Ç¥½ÃÇÕ´Ï´Ù. ¿©·¯ºÐÀÌ »ç¿ëÀÚ À̸§À» ÀÔ·ÂÇϸé, getty´Â login¿¡°Ô ³Ñ±é´Ï´Ù. loginÀº ¿©·¯ºÐ¿¡°Ô ºñ¹Ð¹øÈ£¸¦ ¹°¾îº¸°í È®ÀÎÇÑ µÚ ¼ÐÀ» ÁÝ´Ï´Ù.

¸¹Àº gettyµéÀÌ »ç¿ë °¡´ÉÇÕ´Ï´Ù. ·¡µåÇÞÀ» ºñ·ÔÇÑ ¸î¸î ¹èÆ÷ÆǵéÀº °¡»ó Å͹̳ηθ¸ µ¿ÀÛÇÏ´Â ¾ÆÁÖ ÀÛÀº gettyÀÎ mingetty¸¦ »ç¿ëÇÕ´Ï´Ù.

login ÇÁ·Î±×·¥Àº util-linux ²Ù·¯¹ÌÀÇ ÀϺκÐÀÔ´Ï´Ù. ÀÌ ²Ù·¯¹Ì´Â ¶Ç ´Ù¸¥ Àß µ¿ÀÛÇÏ´Â gettyÀÎ agetty¸¦ Æ÷ÇÔÇÏ°í ÀÖ½À´Ï´Ù. ÀÌ ²Ù·¯¹Ì´Â mkswap, fdisk, passwd, kill, setterm, mount, swapon, rdev, renice, more (ÇÁ·Î±×·¥)¿Í ´õ ¸¹Àº ÇÁ·Î±×·¥ (more)À» Æ÷ÇÔÇÏ°í ÀÖ½À´Ï´Ù.

10.1. ¼³Á¤


·Î±×ÀÎ ÇÁ·ÒÇÁÆ®¿Í ÇÔ²² È­¸é À§¿¡ ³ªÅ¸³ª´Â ¸Þ½ÃÁöµéÀº /etc/issue¿¡ ÀÖ½À´Ï´Ù. GettysµéÀº /etc/inittab¿¡¼­ ½ÃÀ۵˴ϴÙ. LoginÀº »ç¿ëÀÚÀÇ »ó¼¼ÇÑ Á¤º¸¸¦ /etc/passwd¿¡¼­ ã°í, ¿©·¯ºÐÀÌ Æнº¿öµå ¼ÎµµÀ×(password shadowing)À» ÇÑ´Ù¸é, /etc/shadow¿¡¼­ ã½À´Ï´Ù.

10.2. ¿¬½À ¹®Á¦


/etc/passwd¸¦ Á÷Á¢ ¸¸µå½Ê½Ã¿À. Æнº¿öµå´Â ¾øÀ» ¼öµµ ÀÖ°í, ÀÏ´Ü ¿©·¯ºÐÀÌ ·Î±×ÀÎ Çϸé passwd ÇÁ·Î±×·¥À¸·Î ¹Ù²Ü ¼öµµ ÀÖ½À´Ï´Ù. man 5 passwd¸¦ »ç¿ëÇÏ¿© ÇÁ·Î±×·¥¿¡ ´ëÇÑ µµ¿ò¸» ´ë½Å ÀÌ ÆÄÀÏ¿¡ ´ëÇÑ µµ¿ò¸»À» º¸½Ê½Ã¿À.

11. ¹è½Ã (Bash)


¿©·¯ºÐÀÌ login¿¡ ¸Â´Â »ç¿ëÀÚ À̸§°ú Æнº¿öµåÀÇ Á¶ÇÕÀ» ÀÔ·ÂÇß´Ù¸é, loginÀº ¾î¶°ÇÑ ¼ÐÀ» ¿©·¯ºÐ¿¡°Ô ÁÙÁö /etc/passwd¿¡¼­ ãÀ» °ÍÀÔ´Ï´Ù. ´ëºÎºÐÀÇ ¸®´ª½º ½Ã½ºÅÛ¿¡¼­´Â bash¸¦ ÁÙ °ÍÀÔ´Ï´Ù. bash´Â ¿©·¯ºÐÀÇ ¸í·ÉµéÀ» ÀÐ°í ¹«½¼ÀÏÀ» ÇÏ·Á°í ÇÏ´ÂÁö ¾Ë¾Æ³À´Ï´Ù. µ¿½Ã¿¡ ÀÌ°ÍÀº »ç¿ëÀÚ ÀÎÅÍÆäÀ̽ºÀ̸ç, ÇÁ·Î±×·¡¹Ö ¾ð¾î ÀÎÅÍÇÁ¸°ÅÍÀÔ´Ï´Ù.

»ç¿ëÀÚ ÀÎÅÍÆäÀ̽º·Î¼­ ¹è½Ã´Â ¿©·¯ºÐÀÇ ¸í·ÉµéÀ» Àо cd¿Í °°Àº "³»ºÎ" ¸í·É¾îµéÀº ½º½º·Î ½ÇÇàÇÏ°í, cp³ª startx¿Í °°Àº "¿ÜºÎ" ¸í·É¾îµéÀº ÇÁ·Î±×·¥À» ã¾Æ¼­ ½ÇÇàÇÕ´Ï´Ù. »ç¿ëµÈ ¸í·É¾îµéÀÇ ¸ñ·ÏÀ» À¯ÁöÇϸç, ÆÄÀÏ ³×ÀÓÀ» ÀÚµ¿À¸·Î ¿Ï¼ºÇÏ´Â °Í°ú °°Àº ¸ÅȤÀûÀÎ Àϵ鵵 ÇÕ´Ï´Ù.

¿ì¸®´Â bashÀÇ ÇÁ·Î±×·¡¹Ö ¾ð¾î·Î¼­ÀÇ ±â´ÉÀ» ÀÌ¹Ì º¸¾Ò½À´Ï´Ù. init°¡ ½Ã½ºÅÛÀ» ½ÃÀÛÇϱâ À§ÇØ ½ÇÇàÇÏ´Â ½ºÅ©¸³Æ®µéÀº ´ë°³ ¼Ð ½ºÅ©¸³Æ® µéÀ̸ç bash¿¡ ÀÇÇØ ½ÇÇàµË´Ï´Ù. ¿©·¯ºÐÀÌ ¹«¾ùÀ» ÇÏ°íÀÚ ÇÏ´ÂÁö ¾È´Ù¸é, ÀûÀýÇÑ ÇÁ·Î±×·¡¹Ö ¾ð¾î¿Í Ä¿¸Çµå ¶óÀÎ(command line)¿¡¼­ ¾µ ¼ö ÀÖ´Â ÀÏ»óÀûÀÎ ½Ã½ºÅÛ À¯Æ¿¸®Æ¼µéÀº °­·ÂÇÑ Á¶ÇÕÀ» ¸¸µì´Ï´Ù. Àú´Â ¾î´À ³¯ ¹«´õ±âÀÇ "ÆÐÄ¡µé(patches)"À» ¼Ò½º ÄÚµåÀÇ µð·ºÅ丮¿¡ Àû¿ëÇÒ ÇÊ¿ä°¡ ÀÖ¾ú½À´Ï´Ù. Àú´Â ¾Æ·¡¿Í °°Àº ÇÑ ÁÙÀÇ ¸í·ÉÀ¸·Î ÀÌ°ÍÀ» ÇÒ ¼ö ÀÖ¾ú½À´Ï´Ù.

for f in /home/greg/sh-utils-1.16*.patch; do patch -p0 < $f; done;

ÀÌ°ÍÀº ÀúÀÇ È¨ µð·ºÅ丮ÀÇ sh-utils-1.16·Î ½ÃÀÛÇÏ°í .patch·Î ³¡³ª´Â ¸ðµç ÆÄÀϵéÀ» ã¾Æº¾´Ï´Ù. ±×µéÀ» Çϳª¾¿ Â÷·Ê´ë·Î °¡Á®¿Í¼­, º¯¼ö f¸¦ ¼³Á¤ÇÏ°í do¿Í done»çÀÌÀÇ ¸í·ÉÀ» ¼öÇàÇÕ´Ï´Ù. ÀÌ °æ¿ì¿¡ Àú´Â 11°³ÀÇ ÆÐÄ¡ ÆÄÀϵéÀÌ ÀÖ¾úÁö¸¸, 3000°³¿´´õ¶óµµ ¶È°°ÀÌ ½±°Ô ÇÒ ¼ö ÀÖ½À´Ï´Ù.

11.1. ¼³Á¤


/etc/profileÀº ½Ã½ºÅÛ Àüü¿¡¼­ ¹è½Ã°¡ ¾î¶»°Ô µ¿ÀÛÇÏ´ÂÁö Á¶Á¤ÇÕ´Ï´Ù. ¿©·¯ºÐÀÌ ¿©±â¿¡ Áý¾î³Ö´Â °ÍÀº ¿©·¯ºÐÀÇ ½Ã½ºÅÛ¿¡¼­ ¹è½Ã¸¦ ¾²´Â »ç¶÷ ¸ðµÎ¿¡°Ô ¿µÇâÀ» ¹ÌÄ¥ °ÍÀÔ´Ï´Ù. ÀÌ°ÍÀº PATH¿¡ µð·ºÅ丮¸¦ Ãß°¡ÇÏ°í MAIL µð·ºÅ丮 º¯¼ö¸¦ ¼³Á¤ÇÏ´Â °Í°ú °°Àº ÀÏÀ» ÇÒ °ÍÀÔ´Ï´Ù.

Å°º¸µåÀÇ ±âº»ÀûÀÎ µ¿ÀÛÀº »ç¶÷µéÀÌ ÀϹÝÀûÀ¸·Î ¹Ù¶ó´Â °Í°ú °Å¸®°¡ ¸Ù´Ï´Ù. ÀÌ°ÍÀ» ¿ì¸®°¡ ¹Ù¶ó´Â ´ë·Î ½ÇÁ¦·Î °ü¸®ÇÏ´Â °ÍÀº readlineÀÔ´Ï´Ù. ReadlineÀº Ä¿¸Çµå ¶óÀÎ ÀÎÅÍÆäÀ̽º(command line interfaces)¸¦ °ü¸®ÇÏ°í, »ç¿ëÇÑ ¸í·É¾îµéÀ» Á¦°øÇÏ°í ÆÄÀÏ À̸§À» ÀÚµ¿À¸·Î ¿Ï¼ºÇϸç, °í±Þ Çà ´ÜÀ§ ÆíÁý(advanced line editing)À» ÇÒ ¼ö ÀÖ°Ô ÇÏ´Â µ¶¸³µÈ ²Ù·¯¹ÌÀÔ´Ï´Ù. ÀÌ°ÍÀº ¹è½Ã ¾ÈÀ¸·Î ÄÄÆÄÀϵ˴ϴÙ. ReadlineÀº ±âº»À¸·Î ¿©·¯ºÐÀÇ È¨ µð·ºÅ丮¿¡ ÀÖ´Â .inputrcÀ» »ç¿ëÇϵµ·Ï ¼³Á¤µÇ¾ú½À´Ï´Ù. ¹è½Ã º¯¼ö INPUTRC¸¦ ½á¼­ ÀÌ°ÍÀ» ¹Ù²Ü ¼ö ÀÖ½À´Ï´Ù. ¿¹¸¦ µé¾î ·¡µåÇÞ 6¿¡¼­´Â, INPUTRC´Â /etc/profile¿¡¼­ /etc/inputrc·Î ¼³Á¤µÇ¾î ÀÖ½À´Ï´Ù. ÀÌ·¸°Ô Çؼ­ ¸ðµÎ°¡ ¹é½ºÆäÀ̽º, µô¸®Æ®, Ȩ, ¿£µå Å°¸¦ Àß ¾µ ¼ö ÀÖµµ·Ï ÇÕ´Ï´Ù.

¹è½Ã°¡ ½Ã½ºÅÛ Àüü¿¡ ¿µÇâÀ» ¹ÌÄ¡´Â ¼³Á¤ ÆÄÀϵéÀ» ÀÐÀº µÚ¿¡´Â °³ÀÎÀûÀÎ ¼³Á¤ ÆÄÀϵéÀ» ÀнÀ´Ï´Ù. ¿©·¯ºÐÀÇ È¨ µð·ºÅ丮¿¡ .bash_profile, .bash_login°ú .profileÀÌ ÀÖ´ÂÁö È®ÀÎÇÕ´Ï´Ù. À̵é Áß¿¡ °¡Àå ¸ÕÀú ãÀº °ÍÀ» ½ÇÇàÇÕ´Ï´Ù. ¿©·¯ºÐÀÌ ´Ù¸¥ »ç¶÷µé¿¡°Ô´Â ¿µÇâÀÌ ¾øÀÌ ¿©·¯ºÐÀ» À§Çؼ­ ¹è½Ã°¡ µ¿ÀÛÇÏ´Â ¹æ½ÄÀ» ¹Ù²Ù°íÀÚ ÇÑ´Ù¸é, ÀÌ ÆÄÀϵéÀ» °íÄ¡½Ê½Ã¿À. ¿¹¸¦ µé¾î¼­, ¸¹Àº ¾îÇø®ÄÉÀ̼ǵéÀº ±×µéÀÌ ¾î¶»°Ô µ¿ÀÛÇÒÁö Á¶ÀýÇϴ ȯ°æ º¯¼öµéÀ» »ç¿ëÇÕ´Ï´Ù. Àú´Â EDITOR º¯¼ö¸¦ vi·Î ¼³Á¤ÇÏ¿© Á¦°¡ ¹Ìµå³ªÀÕ Ä¿¸à´õ(Midnight Commander, ¾ÆÁÖ ÁÁÀº Äֿܼ¡ ±â¹ÝÇÑ ÆÄÀÏ °ü¸®ÀÚ) ¿¡¼­ vi¸¦ ¾µ ¼ö ÀÖµµ·Ï ÇÏ¿´½À´Ï´Ù.

11.2. ¿¬½À ¹®Á¦


¹è½ÃÀÇ ±âº»Àº ¹è¿ì±â ½±½À´Ï´Ù. ÇÏÁö¸¸ °Å±â¼­ ¸ØÃßÁö ¸¶½Ê½Ã¿À. ¹è½Ã´Â ¹Ï±â ¾î·Á¿ï ¸¸Å­ ±í½À´Ï´Ù. ¹«¾ð°¡¸¦ ÇÒ ¶§ ´õ ³ªÀº ¹æ¹ýÀ» ã´Â ¹ö¸©À» µéÀ̽ʽÿÀ.

¼Ð ½ºÅ©¸³Æ®µéÀ» Àаí, ¿©·¯ºÐÀÌ ÀÌÇØÇÏÁö ¸øÇÑ ºÎºÐ¿¡ ´ëÇؼ­ ã¾Æ º¸½Ê½Ã¿À.

11.3. Ãß°¡ Á¤º¸


  • "Bash Reference Manual" ÀÌ ÀÌ°ÍÀ» ´Ù·ì´Ï´Ù. »ó¼¼ÇÏÁö¸¸ ¾î·Æ½À´Ï´Ù.
  • ¹è½Ã¿¡ °üÇÑ ¿À¶óÀϸ®¿¡¼­ ³ª¿Â Ã¥ÀÌ ÀÖÁö¸¸, ÁÁÀºÁö´Â Àß ¸ð¸£°Ú½À´Ï´Ù.
  • Àú´Â ¾ÆÁ÷ ÀÚÀ¯·Î¿î ÃֽŠ¹è½Ã Æ©Å丮¾óÀ» ¾ËÁö ¸øÇÕ´Ï´Ù. ¿©·¯ºÐÀÌ ¾Æ½Å´Ù¸é Àú¿¡°Ô URLÀ» ¾Ë·Á ÁÖ¼¼¿ä.
  • ¼Ò½º ÄÚµåÀÇ urlÀ» À§Çؼ­´Â [http]Building a Minimal Linux System from Source Code¸¦ º¸½Ê½Ã¿À.

12. ¸í·É¾îµé


¿©·¯ºÐÀº ¹è½Ã¿¡¼­ cp¿Í °°Àº ¸í·É¾î¸¦ ÀÔ·ÂÇؼ­ ´ëºÎºÐÀÇ ÀÏÀ» ÇÏ°Ô µÉ °ÍÀÔ´Ï´Ù. cd¿Í °°ÀÌ ¸î¸î ¸í·É¾î´Â ¼Ð¿¡ ºÙ¾î ÀÖÁö¸¸, ´ëºÎºÐÀÇ ¸í·ÉµéÀº ÀÛÀº ÇÁ·Î±×·¥ÀÔ´Ï´Ù.

¸í·ÉµéÀº ²Ù·¯¹Ì¿¡ Æ÷ÇԵǾî ÀÖÀ¸¸ç, ±×µéÀÇ ´ëºÎºÐÀº ÀÚÀ¯ ¼ÒÇÁÆ®¿þ¾î Àç´Ü (¶Ç´Â ±×´©)¿¡¼­ °³¹ßµÈ °ÍÀÔ´Ï´Ù. À̵éÀ» ¿­°ÅÇÏ´Â ´ë½Å, Àú´Â ¿©·¯ºÐ¿¡°Ô [http]Linux From Scratch HOWTO¿¡ °¡ º¸±â¸¦ ±ÇÇÕ´Ï´Ù. ¸®´ª½º¿¡ µé¾î°¥ ¼ö ÀÖ´Â ÆÐÅ°ÁöµéÀÇ ¿ÏÀüÇÑ ÃֽŠ¸ñ·ÏÀÌ ÀÖÀ¸¸ç, ±×µéÀ» ¼³Ä¡ÇÏ´Â ¹æ¹ýµµ ÀÖ½À´Ï´Ù.

13. °á·Ð


Á¦ ºÎÁ·ÇÑ ÀÇ°ßÀ¸·Î´Â, ¸®´ª½ºÀÇ °¡Àå ÁÁÀº Á¡ ÁßÀÇ Çϳª´Â ¿©·¯ºÐÀÌ ¾ÈÀ¸·Î µé¾î¿Í ¸ðµç °ÍµéÀÌ ¾î¶»°Ô ¿òÁ÷ÀÌ´ÂÁö ÁøÁ¤À¸·Î ¾Ë ¼ö ÀÖ´Ù´Â °ÍÀÔ´Ï´Ù. Àú´Â ¿©·¯ºÐÀÌ ÀÌ ÀÏÀ» Àú¸¸Å­ Áñ±â¼ÌÀ¸¸é ÇÕ´Ï´Ù. ¶ÇÇÑ ÀÌ ÂªÀº ±â·ÏÀÌ ¿©·¯ºÐ²²¼­ ±×°ÍÀ» ÇϽô µ¥ µµ¿òÀÌ µÇ¾ú±â¸¦ ¹Ù¶ø´Ï´Ù.

14. ÀÌ ¹®¼­¿¡ ´ëÇؼ­


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 [http]GNU General Public Licence. Please acknowledge me if you use all or part of this in another document.

14.2. ȨÆäÀÌÁö


ÀÌ ¹®¼­ÀÇ ÃÖ½ÅÆÇÀº [http]From Powerup To Bash Prompt¿¡ "Building a Minimal Linux System from Source Code"ÀÇ º¸Á¶ ¹®¼­·Î¼­ ÀÖ½À´Ï´Ù.

[http]From Powerup To Bash Prompt¿¡ ºÒ¾î ¹ø¿ªÆÇÀÌ ÀÖ½À´Ï´Ù. Dominique van den Broeck ´Ô²² °¨»çµå¸³´Ï´Ù. Yuji Senda ´Ô²²¼­ ÀÛ¾÷ÇϽŠÀϺ»¾îÆÇÀº [http]Japanese Documentation and FAQ Project¿¡ ÀÖÀ» ¿¹Á¤À̸ç, ÀÌ¹Ì ÀÖÀ» ¼öµµ ÀÖ½À´Ï´Ù. (¿ªÁÖ - ÀϺ»¾î ¹ø¿ªµµ ¿Ï·áµÇ¾ú½À´Ï´Ù.)

14.3. Çǵå¹é


Àú´Â ¿©·¯ºÐÀÇ ¾î¶°ÇÑ Á¶¾ðÀ̳ª ºñÆò, °³¼±À» À§ÇÑ Á¦¾Èµµ µè°í ½Í½À´Ï´Ù. ±×°ÍµéÀ» Àú, MGreg O'Keefe¿¡°Ô º¸³»½Ê½Ã¿À.

14.4. °¨»ç



Á¦Ç° À̸§µéÀº °¢°¢ÀÇ ¼ÒÀ¯ÀÚÀÇ »óÇ¥À̸ç, ¿©±â¿¡¼­ °¨»ç¸¦ µå¸³´Ï´Ù.

ÀÌ ¹®¼­¸¦ ¾µ ¼ö ÀÖµµ·Ï µµ¿ÍÁֽŠµ¥ ´ëÇØ ¾Æ·¡ÀÇ ºÐµé²² °¨»ç¸¦ µå¸®°í ½Í½À´Ï´Ù.

Michael Emery
Unios¸¦ ¾Ë·Á Áּ̽À´Ï´Ù.


Tim Little
/etc/passwd¿¡ ´ëÇØ µµ¿òÀ» Áּ̽À´Ï´Ù.


efnetÀÇ #linux¿¡ °è½Å sPaKr
syslogd´Â /etc/services¸¦ ÇÊ¿ä·Î ÇÑ´Ù´Â °ÍÀ» ¾Ë·ÁÁּ̰í, ½Ã½ºÅÛÀ» ¼Ò½º ÄÚµå·Î ¼³Ä¡ÇÏ´Â °ÍÀ» ¹¦»çÇϱâ À§ÇÑ "¿©·¯ºÐÀÇ °ÍÀ» µ¹¸°´Ù(rolling your own)"´Â Ç¥ÇöÀ» ¼Ò°³ÇØ Áּ̽À´Ï´Ù.


Alex Aitkin
Àú¿¡°Ô Vico¿Í ±×ÀÇ "verum ipsum factum"(understanding arises through making, ÀÌÇØ´Â ¸¸µê¿¡¼­ ±â¿øÇÑ´Ù)À» Àú¿¡°Ô ¼Ò°³ÇØ Áּ̽À´Ï´Ù.


Dennis Scott
ÀúÀÇ 16Áø¼ö °è»êÀ» °íÃÄ Áּ̽À´Ï´Ù.


jdd
¿ÀÀÚµéÀ» ÁöÀûÇØ Áּ̽À´Ï´Ù.


David Leadbeater
Ä¿³Î µ¥¸ó¿¡ °üÇÑ "º¹ÀâÇÑ(ramblings)"³»¿ëµéÀ» Á¦°øÇØ Áּ̽À´Ï´Ù.


Dominique van den Broeck
ÀÌ ¹®¼­¸¦ ºÒ¾î·Î ¹ø¿ªÇØ Áּ̽À´Ï´Ù.


Matthieu Peeters
Ä¿³Î µ¥¸ó¿¡ °üÇÑ ÁÁÀº Á¤º¸¸¦ Áּ̽À´Ï´Ù.


John Fremlin
Ä¿³Î µ¥¸ó¿¡ °üÇÑ ÁÁÀº Á¤º¸¸¦ Áּ̽À´Ï´Ù.


Yuji Senda
ÀÌ ¹®¼­¸¦ ÀϾî·Î ¹ø¿ªÇØ Áּ̽À´Ï´Ù.


Antonius de Rozari
UNIOSÀÇ GNU ¾î¼Àºí·¯ ÆÇÀ¸·Î ±â¿©ÇØ Áּ̽À´Ï´Ù. (Ȩ ÆäÀÌÁöÀÇ ¸®¼Ò½º(resources) Àý(section)À» º¸½Ê½Ã¿À.)


Botp Peña
"¿©·¯ºÐ¸¸ÀÇ OS µ¹¸®±â(roll your own os)" ¸µÅ©¸¦ ¿î¿µÇϽʴϴÙ.


Kees J. Bot
¹Ì´Ð½º ¸Ç ÆäÀÌÁöÀÇ ÀúÀڽʴϴÙ. ƯÈ÷, "boot - from power on to the login prompt"¶ó´Â ºÎÁ¦°¡ ºÙÀº boot ¸Ç ÆäÀÌÁö¸¦ ¾²¼Ì½À´Ï´Ù. Àú´Â ÀÌ ¹®¼­¸¦ LDP¿¡ Á¦ÃâÇÑ ´ÙÀ½¿¡¼­¾ß ÀÌ ÀÛÀº º¸¼®À» ã¾Æ³Â½À´Ï´Ù.


Scott Hankin
¿ÀÀÚ¸¦ ¾Ë·Á Áּ̽À´Ï´Ù.


14.5. º¯°æ ±â·Ï


14.5.1. 0.9 -> 0.9a (2000³â 11¿ù)


  • Çϵå¿þ¾î Àý¿¡ ¿©·¯ºÐ¸¸ÀÇ OS µ¹¸®±â¿¡ ´ëÇÑ ¸µÅ©¸¦ Ãß°¡ÇÔ.

14.5.2. 0.8 -> 0.9 (2000³â 11¿ù)


  • Matthieu Peeters¿Í John FremlinÀ¸·ÎºÎÅÍÀÇ Ä¿³Î µ¥¸ó°ú /proc ÆÄÀϽýºÅÛ¿¡ °üÇÑ Á¤º¸¸¦ Ãß°¡ÇÔ.

14.5.3. 0.7 -> 0.8 (2000³â 9¿ù)


  • ¾î¶»°Ô ½Ã½ºÅÛÀ» ¸¸µå´ÂÁö¿¡ ´ëÇÑ ¼³¸íÀ» ¾ø¾Ö°í »õ·Î¿î ¹®¼­·Î ¸¸µê. ¸î ¸µÅ©¸¦ ¸Â°Ô °íħ.
  • ȨÆäÀÌÁö¸¦ [http]learning@TasLUG¿¡¼­ [http]my own webspace·Î ¿Å±è.
  • ¸¹Àº ºÐµéÀÌ ±â¿©ÇØ ÁֽŠÁÁÀº ³»¿ëµéÀ» Ãß°¡Çϴµ¥ ½ÇÆÐÇß´Ù. ´ÙÀ½¿¡ ÇؾßÁö :(

14.5.4. 0.6 -> 0.7


  • ½Ã½ºÅÛ ¼³Ä¡º¸´Ù´Â ¼³¸í¿¡ ÁßÁ¡À» µÎ°í, ¼³Ä¡ Á¤º¸¸¦ µ¶¸³µÈ Àý¿¡ ¸ð¾Æ Á¤¸®ÇÏ°í, ÁøÂ¥·Î ¾µ ¼ö ÀÖ´Â ½Ã½ºÅÛÀ» ¸¸µå·Á´Â »ç¶÷µéÀº Gerard BeekmansÀÇ "Linux From Scratch" ¹®¼­¸¦ º¸µµ·Ï ÇÔ.
  • David Leadbeater´ÔÀÇ º¹ÀâÇÑ ³»¿ëµéÀ» Ãß°¡
  • URLÀ» °íÄ¡°í learning.taslug.org.au/resources¿¡ ÀÖ´Â UNIOS ´Ù¿î·Îµå¿¡ ´ëÇÑ ¸µÅ© Ãß°¡
  • URLÀ» ½ÃÇèÇÏ°í °íħ
  • ÀϹÝÀûÀ¸·Î ´Ù½Ã ¾²°í Á¤¸®ÇÔ

14.5.5. 0.5 -> 0.6


  • º¯°æ ±â·Ï Ãß°¡
  • ÇÒ Àϵé Ãß°¡

14.6. ÇÒ ÀÏ


  • Ä¿³Î ¸ðµâ, depmod, modprobe, insmod¿Í °°Àº °ÍµéÀ» ¸ðµÎ ¼³¸íÇϱâ (¸ÕÀú ÀÌÇØÇϱâ!)
  • /proc ÆÄÀϽýºÅÛÀ» °­Á¶ÇÑ´Ù. ¿¬½ÀÀ» Ãß°¡ÇÒ¼öµµ ÀÖ´Ù.
  • ´ÚºÏ sgml·Î Àüȯ
  • ¿¬½À ¹®Á¦¸¦ Ãß°¡ÇÑ´Ù. ¹èÆ÷ÆÇ¿¡¼­ ÃÖ¼ÒÇÑÀÇ ½Ã½ºÅÛÀ» ¸¸µå´Â °Í°ú °°Àº Å« ¿¬½À ¹®Á¦·Î¸¸ °¡µæÂù ÀýÀ» ¸¸µé¼öµµ ÀÖ´Ù.
  • ¹è½Ã ¼³Ä¡ ¹æ¹ý¿¡ ´ëÇÑ ¸ÞÀÌÅ©ÆÄÀÏ ÇØÅ· - À̽ºÅÍ ³ëÆ®¸¦ º¼°Í

ID
Password
Join
Some men are discovered; others are found out.


sponsored by andamiro
sponsored by cdnetworks
sponsored by HP

Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2006-01-06 19:42:18
Processing time 0.0192 sec