Linux From ScratchGerard BeekmansVersion 2.2, April 3rd, 2000 Á¤ÇÏ³ç ¹öÀü 2.2, 2000³â 5¿ù 5ÀÏÀÌ ¹®¼´Â ÇÊ¿äÇÑ ¼ÒÇÁÆ®¿þ¾îÀÇ ¼Ò½ºÄڵ常À» »ç¿ëÇÏ¿© ÀÌ¹Ì ¼³Ä¡µÇ¾î ÀÖ´Â ¸®´ª½º ¹èÆ÷º»À¸·ÎºÎÅÍ ¿©·¯ºÐ¸¸ÀÇ ¸®´ª½º ½Ã½ºÅÛÀ» ¿ÏÀüÈ÷ »õ·Î ¸¸µå´Â °úÁ¤¿¡ ´ëÇØ ¼³¸íÇÏ°í ÀÖ´Ù. 1. ¼Ò°³1.1 À̰͵éÀº ´Ù ¹½ÇÏ´Â °ÍÀΰ¡?¸¹Àº ¸®´ª½º ¹èÆ÷º»µéÀ» ½á¿ÔÁö¸¸ ³ª´Â ±× Áß ¾î¶² °Í¿¡µµ ¿Ïº®È÷ ¸¸Á·ÇÏÁö ¸øÇß´Ù. ºÎÆ® ½ºÅ©¸³Æ®µéÀÌ Á¤µ·µÇ ÀÖ´Â ¹æ½ÄÀ̳ª ƯÁ¤ ÇÁ·Î±×·¥µéÀÌ ±âº»À¸·Î ¼³Á¤µÇ¾î ÀÖ´Â ¹æ½Ä µûÀ§°¡ ¸¶À½¿¡ µéÁö ¾Ê¾Ò´Ù. ³»°¡ ¸®´ª½º ½Ã½ºÅÛ¿¡ ¿Ïº®È÷ ÈíÁ·ÇØ ÇÏ°íÀÚ ÇßÀ» ¶§ ³ª´Â óÀ½ºÎÅÍ ³ª¸¸ÀÇ ¸®´ª½º ½Ã½ºÅÛÀ» ¸¸µé¾î¾ß ÇÑ´Ù´Â °ÍÀ» ±ú´Ý°Ô µÇ¾ú´Ù. ÀÌ»óÀûÀ¸·Î´Â ¼Ò½º Äڵ常À» »ç¿ëÇÏ¿©¼. ¾î¶² Á¾·ùÀÇ ÀÌ¹Ì ÄÄÆÄÀÏµÈ ÆÐÅ°Áöµµ ¾øÀÌ. ¸î¸î ±âº»ÀûÀÎ À¯Æ¿¸®Æ¼¸¦ ¼³Ä¡ÇÏ´Â cdromÀ̳ª ºÎÆ®µð½ºÅ©ÀÇ µµ¿òµµ ¾øÀÌ. ¿©·¯ºÐÀº ÇöÀç ¸®´ª½º ½Ã½ºÅÛÀ» »ç¿ëÇÏ°í ÀÖÀ» °ÍÀÌ¸ç ¿©·¯ºÐ¸¸ÀÇ ¸®´ª½º ½Ã½ºÅÛÀ» ¸¸µé±â À§ÇØ ±×°ÍÀ» »ç¿ëÇÒ °ÍÀÌ´Ù. ¿¹Àü¿¡´Â ÀÌ ¹«¸ðÇÑ »ý°¢ÀÌ ¸Å¿ì ¾î·Æ°í ¶§·Ð °ÅÀÇ ºÒ°¡´ÉÇØ º¸¿´´Ù. ´ëºÎºÐÀÇ ¹®Á¦¿¡ ´ëÇÑ ÀÌÀ¯´Â ƯÁ¤ ÇÁ·Î±×·¥°ú ÀÛµ¿°úÁ¤¿¡ ´ëÇÑ ³» Áö½ÄÀÇ ºÎÁ·À̾ú´Ù. ¸ðµç Á¾·ùÀÇ ÀÇÁ¸¼º ¹®Á¦¿Í ÄÄÆÄÀÏ ¹®Á¦ µîÀ» ÇØ°áÇÑ ÈÄ¿¡ ¸®´ª½º ½Ã½ºÅÛÀÌ ¼Õ¼ö ¸¸µé¾îÁ³À¸¸ç ¿Ïº®È÷ ÀÛµ¿ÇÏ¿´´Ù. ³ª´Â ÀÌ ½Ã½ºÅÛÀ» LinuxFromScratch¸¦ ³ªÅ¸³»´Â LFS ½Ã½ºÅÛÀ̶ó ĪÇß´Ù. 1.2 »õ ¹öÀühttp://www.linuxfromscratch.org ¿¡¼ ÀÌ ¹®¼ÀÇ ÃֽŠ¹öÀüÀ» ¾ðÁ¦¶óµµ ±¸ÇÒ ¼ö ÀÖ´Ù. 1.3 ¹öÀü ¿ª»ç2.1.5 - March 26th, 2000 2.1.5 - 2000³â 3¿ù 26ÀÏ ¾Æ·¡´Â ¼öÁ¤ »çÇ×ÀÇ Àüü ¸ñ·ÏÀº ¾Æ´Ï´Ù. v2.0Àº º¯°æ»çÇ×ÀÌ ¸¹ÀÌ Àû¿ëµÈ ÆÇÀ̹ǷΠÁß¿äÇÑ º¯È¸¸ ¾ð±ÞµÇ¾ú°í ±×·¸Áö ¾ÊÀº °ÍÀº »ý·«µÇ¾ú´Ù.
2.2 - April 3rd, 2000 2.2 - 2000³â 4¿ù 3ÀÏ
1.4 ¸ÞÀϸµ¸®½ºÆ®¿©·¯ºÐÀÌ Âü°¡ÇÒ ¼ö ÀÖ´Â ¸ÞÀϸµ¸®½ºÆ®°¡ µÎ °³ ÀÖ´Ù. lfs-discuss¿Í lfs-announce ¸®½ºÆ®. ÀüÀÚ´Â Á¦ÇÑÀÌ ¾øÀÌ ¿·¯Áø °ÍÀ̸ç ÀÌ ¹®¼¿Í °ü·ÃµÈ ¾î¶² °ÍµéÀÌ¶óµµ Åä·ÐÇÒ ¼ö ÀÖ´Ù. ÈÄÀÚ´Â Á¦ÇÑÀÌ ÀÖ´Â ¸ÞÀϸµ¸®½ºÆ®ÀÌ´Ù. ´©±¸³ª Âü°¡ÇÒ ¼ø ÀÖÁö¸¸ ÀÌ ¸®½ºÆ®¿¡ ±ÛÀ» ¾µ ¼ö´Â ¾ø´Ù (¿ÀÁ÷ ÁßÀçÀÚ¸¸ÀÌ ¾µ ¼ö ÀÖ´Ù). ÀÌ ¸®½ºÆ®´Â ÁÖ·Î ÀÌ ¹®¼ÀÇ »õ ¹öÀü¿¡ ´ëÇØ ¾Ë¸± ¶§ »ç¿ëµÈ´Ù. ¸¸¾à ¿©·¯ºÐÀÌ lfs-discuss ¸®½ºÆ®¿¡ °¡ÀÔÇÑ´Ù¸é lfs-announce ¸®½ºÆ®¿¡µµ °¡ÀÔÇÒ ÇÊ¿æ ¾ø´Ù. lfs-announce ¸®½ºÆ®·Î °¡´Â ¸ðµç ±ÛÀº lfs-discuss ¸®½ºÆ®·Îµµ º¸³»Áø´Ù. °¡ÀÔÇϱ⸮½ºÆ®¿¡ °¡ÀÔÇϱâ À§Çؼ´Â º»¹®¿¡ subscribe lfs-discuss ³ª subscribe lfs-announce ¶ó°í ¾´ emailÀ» majordomo@fist.org·Î º¸³»¸é µÈ´Ù. Majordomo°¡ ¿©·¯ºÐ¿¡°Ô È®ÀÎ ¿äû emailÀ» º¸³¾ °ÍÀÌ´Ù. ÀÌ emailÀº ÀÎÁõ Äڵ带 ´ã°í ÀÖ´Ù. ¿©·¯ºÐÀÌ ÀÌ emailÀ» Majordomo¿¡°Ô µ¹·Á º¸³»¸é (¹æ¹ýÀº email ¾È¿¡ ³ª¿ÍÀÖ´Ù) °¡ÀÔÀÌ ¿Ï·áµÉ °ÍÀÌ´Ù. Å»ÅðÇϱ⸮½ºÆ®¿¡¼ Å»ÅðÇϱâ À§Çؼ´Â º»¹®¿¡ unsubscribe lfs-discuss À̳ª unsubscribe lfs-announce ÀÌ¶ó ¾´ emailÀ» majordomo@fist.org ·Î º¸³»¸é µÈ´Ù. 1.5 ¿¬¶ôó¿©·¯ºÐÀÇ ¸ðµç Áú¹®Àº °¡´ÉÇÏ¸é ¸ÞÀϸµ ¸®½ºÆ®·Î ¿Ã·ÁÁֱ⠹ٶõ´Ù. ¸¸¾à ³»°Ô °³ÀÎÀûÀ¸·Î ¿¬¶ôÇØ¾ß ÇÑ´Ù¸é gerard@linuxfromscratch.org·Î ¸ÞÀÏÀ» º¸³»¸é µÈ´Ù. ±âŸ ¹ø¿ªÀÇ ¿ÀŸ³ª ¿À¿ª¿¡ ´ëÇؼ± alita@kldp.org·Î ¸ÞÀÏÀ» Áֱ⠹ٶõ´Ù. 1.6 ¹ø¿ªÀÚÀÇ º¯LFS¸¦ Çϳª Çϳª ½ÇÁ¦·Î ½ÇÇàÇØ °¡¸é¼ ¹ø¿ªÀ» ÇÏ°íÀÚ Çß´ø °èȹÀÌ ¹ã ´Ê°Ô Åð±ÙÇÏ´Â Á÷ÀåÀÎÀ̶ó´Â Çΰè·Î ¼öÆ÷·Î µ¹¾Æ°¡¸é¼ ´Ü¼ø ¹ø¿ªÀ¸·Î µÇ¾ú½À´Ï´Ù.:( ±×´ÙÁö Ưº°ÇÏ°Ô ±î´Ù·Î¿î ¹ø¿ªÀº ¾øÀ¸³ª ÀÌ v2.2 ¹®¼ ÀÚü¿¡ ¹ö±×°¡ »ó´ç·® ³»Æ÷µÇ¾î Àֱ⠶§¹®¿¡ - ´öºÐ¿¡ lfs-discuss mailing list ¿¡´Â ¹«¼öÇÑ ¸ÞÀϵéÀÌ ½ñ¾ÆÁý´Ï´Ù - ¾ÆÁ÷Àº µû¶ó¸¸ Çؼ ¿Ïº®ÇÒ ¼ö ÀÖ´Ù´Â º¸ÀåÀº ¸øÇÒ °Í °°½À´Ï´Ù. °¢Á¾ ¹ö±×µé¿¡ ´ëÇؼ± °¡´ÉÇϸé lfs-discuss ¸¦ ÂüÁ¶ÇÏ½Ã±æ ¹Ù¶ó¸ç, ÇöÀç v2.3ÀÌ ÁøÇàÁßÀÔ´Ï´Ù. v2.2 ºÎÅÍ´Â ¹öÀü ¹øÈ£°¡ kernel ¹öÀü ¹øÈ£ ºÎ¿© ¹æ¹ý°ú °°ÀÌ °¡°í ÀÖÀ¸´Ï v2.4°¡ ¾ÈÁ¤ ¹öÀüÀÌ µÉ °Í °°½À´Ï´Ù.:) 2. ÀÌ ¹®¼¿¡¼ ¾²ÀÌ´Â °ü·Ê2.1 $LFS¿¡ ´ëÇؼ´ÙÀ½À» ÁÖÀDZí°Ô Àб⠹ٶõ´Ù: ÀÌ ¹®¼ Àüü¿¡ °ÉÃļ ¿©·¯ºÐÀº $LFS
¶ó´Â º¯¼ö¸¦ ÀÚÁÖ º¸°Ô µÉ °ÍÀÌ´Ù. $LFS´Â Ç×»ó LFS ½Ã½ºÅÛÀ» Æ÷ÇÔÇÏ´Â
ÆÄƼ¼ÇÀÌ ¸¶¿îÆ®µÇ´Â µð·ºÅ丮·Î ´ëüµÇ¾î¾ß ÇÑ´Ù. ÆÄƼ¼ÇÀ» ¸¸µå´Â ¹æ¹ý°ú
¸¶¿îÆ®ÇÒ °÷¿¡ ´ëÇؼ± ÈÄÀÇ 4Àå¿¡¼ ÀÚ¼¼È÷ ¼³¸íµÉ °ÍÀÌ´Ù. ³» °æ¿ì LFS
ÆÄƼ¼ÇÀº /mnt/hda5¿¡ ¸¶¿îÆ®µÈ´Ù. ¸¸¾à ³»°¡ ÀÌ ¹®¼¸¦ Àдٰ¡ ¾îµò°¡¿¡¼
$LFS¸¦ º»´Ù¸é /mnt/hda5¶ó°í ÀÐÀº °ÍÀ¸·Î °£ÁÖÇÒ °ÍÀÌ´Ù. ¸¸¾à Áß¿äÇÑ °ÍÀº ¿©·¯ºÐÀÌ ÇÁ·ÒÇÁÆ® »ó¿¡¼ ½ÇÇàÇÏ´Â ¸í·ÉÀÌ´ø ÆíÁýÇϰųª »õ·Î ¸¸µå´Â ÆÄÀÏ ¾ÈÀÌ´ø ¿©·¯ºÐÀÌ Àд ¸ðµç °÷¿¡¼ ÀÌ ÀÏÀ» ÇØ¾ß ÇÑ´Ù´Â °ÍÀÌ´Ù. ¿©·¯ºÐÀÌ ¿øÇÑ´Ù¸é LFS ¶ó´Â ȯ°æ º¯¼ö¸¦ ¼±¾ðÇÒ ¼ö ÀÖ´Ù. ÀÌ·± ¹æ½ÄÀ¸·Î /mnt/hda5 °°Àº °ÍÀ¸·Î ´ëüÇÏ´Â ´ë½Å $LFS¸¦ Á÷Á¢ ¾µ ¼ö ÀÖ´Ù. ´ÙÀ½°ú °°ÀÌ ÇÏ¸é µÈ´Ù: export LFS=/mnt/hda5 ¸¸¾à cp inittab $LFS/etc ¶ó´Â ¹®ÀåÀ» Àд´ٸé cp inittab $LFS/etc ¶ó°í Á÷Á¢ Ä¥ ¼ö ÀÖÀ¸¸ç ½©ÀÌ ÀÌ ¸í·ÉÀ» cp inittab /mnt/hda5/etc ·Î ÀÚµ¿À¸·Î º¯È¯ÇØ ÁÙ °ÍÀÌ´Ù. Ç×»ó LFS º¯¼ö°¡ ¼³Á¤µÇ¾î ÀÖµµ·Ï ÇÏ´Â °ÍÀ» ÀØÀ¸¸é ¾ÈµÈ´Ù. ¸¸¾à ÀÌ º¯¼ö¸¦ ¼³Á¤ÇÏÁö ¾Ê°í ¸í·É¹® ¾È¿¡¼ À̸¦ »ç¿ëÇÑ´Ù¸é $LFS´Â ¹«½ÃµÇ°í ³ª¸ÓÁö¸¸ ½ÇÇàµÉ °ÍÀÌ´Ù. LFS º¯¼ö°¡ ¼³Á¤µÇÁö ¾ÊÀº »óÅÂÀÇ cp inittab $LFS/etc ¸í·ÉÀº inittab ÆÄÀÏÀ» /etc µð·ºÅ丮·Î º¹»çÇÏ¿© ¿©·¯ºÐÀÇ ±âÁ¸ÀÇ ½Ã½ºÅÛÀÇ inittab À» µ¤¾î¾º¿ï °ÍÀÌ´Ù. inittab°°Àº ÆÄÀÏÀº ½±°Ô º¹±¸µÉ ¼ö Àֱ⠶§¹®¿¡ Å« ¹®Á¦´Â ¾Æ´ÏÁö¸¸ C ¶óÀ̺귯¸®ÀÇ ¼³Ä¡ µµÁß¿¡ ½Ç¼ö¸¦ ÇÑ´Ù¸é ¿©·¯ºÐÀÇ ½Ã½ºÅÛÀ» ½É°¢ÇÏ°Ô ¼Õ»óÀ» ÀÔÈú ¼ö ÀÖÀ¸¸ç º¹±¸ÇÏ´Â ¹æ¹ýÀ» ¸ð¸¦ °æ¿ì ´Ù½Ã ¼³Ä¡ÇؾßÇÒ °ÍÀÌ´Ù. µû¶ó¼ ³ª´Â LFS º¯¼ö¸¦ »ç¿ëÇÏÁö ¸»°ÍÀ» °·ÂÈ÷ ±ÇÀ¯ÇÑ´Ù. ¿©·¯ºÐ ½º½º·Î°¡ $LFS¸¦ Á÷Á¢ /mnt/hda5 µîÀ¸·Î ´ëüÇÏ´Â °ÍÀÌ ¹Ù¶÷Á÷ÇÏ´Ù. /mnt/hda5¸¦ ÀÔ·ÂÇÏ´Â µ¿¾È ¿ÀŸ¸¦ ÀÔ·ÂÇßÀ» °æ¿ì »ý±æ ¼ö ÀÖ´Â ÃÖ¾ÇÀÇ °æ¿ì´Â "no such file or directory" ¶ó´Â ¿¡·¯°¡ ¹ß»ýÇÏ´Â °ÍÀÏ »Ó ¿©·¯ºÐÀÇ ½Ã½ºÅÛÀ» ÇØÄ¡Áø ¾ÊÀ» °ÍÀÌ´Ù. ³»°¡ ¿©·¯ºÐ¿¡°Ô °æ°í¸¦ ÇÏÁö ¾Ê¾Ò´Ù°í´Â ¸»ÇÏÁö ¸»±æ ¹Ù¶õ´Ù ;) 2.2 ¼ÒÇÁÆ®¿þ¾î¸¦ ¹Þ´Â ¹æ¹ýÀÌ ¹®¼ Àü¹Ý¿¡ °ÉÃļ ³ª´Â ¿©·¯ºÐÀÌ ´Ù¿î ¹ÞÀº ¸ðµç ÆÐÅ°ÁöµéÀ» $LFS/usr/src ÀÇ ¼ºêµð·ºÅ丮 ¾Æ·¡¿¡ ÀúÀåÇÏ°í ÀÖ´Ù°í °¡Á¤ÇÒ °ÍÀÌ´Ù. ³ª ½º½º·Î´Â $LFS/usr/src/sources µð·ºÅ丮¸¦ »ç¿ëÇÏ¿´´Ù. sources ¾È¿¡¼ ¿©·¯ºÐÀº 0¿¡¼ 9±îÁöÀÇ µð·ºÅ丮¿Í a¿¡¼ z±îÁöÀÇ µð·ºÅ丮¸¦ ¹ß°ßÇÒ °ÍÀÌ´Ù. sysvinit-2.78.tar.gz °°Àº ÆÐÅ°Áö´Â $LFS/usr/src/sources/s/ ¾Æ·¡¿¡ ÀúÀåµÈ´Ù. bash-3.02.tar.gz °°Àº ÆÐÅ°Áö´Â $LFS/usr/src/sources/b/ ¾Æ·¡¿¡ ÀúÀåµÇ¸ç ³ª¸ÓÁöµµ ÀÌ¿Í °°´Ù. ¹°·Î ¿©·¯ºÐÀÌ ÀÌ·± ¹æ½ÄÀ» µû¸¦ ÇÊ¿ä´Â ¾øÀ¸¸ç ³ª´Â ´ÜÁö ¿¹Á¦¸¦ ÁÖ¾úÀ» »ÓÀÌ´Ù. ÆÐÅ°ÁöµéÀ» $LFS/usr/src ¹Û¿¡ º¸°üÇÏ°í ¼ºêµð·ºÅ丮·Î À̵¿ÇÏ´Â °ÍÀÌ ÁÁ´Ù. ÀÌ·¸°Ô ÇÏ¸é ¿ì¸®°¡ ÆÐÅ°Áö¸¦ Ç®¾î¼ ÀÛ¾÷À» ÇÏ´Â $LFS/usr/src µð·ºÅ丮¸¦ ±ú²ýÀÌ À¯ÁöÇÒ ¼ö ÀÖ´Ù. ´ÙÀ½ ÀåÀº ¿©·¯ºÐÀÌ ´Ù¿î¹Þ¾Æ¾ß ÇÒ ¸ðµç ÆÐÅ°ÁöµéÀÇ ¸ñ·ÏÀ» ´ã°í ÀÖ´Ù. ±×·¯³ª ¾ÆÁ÷ ¿ì¸®ÀÇ LFS ½Ã½ºÅÛÀ» ´ãÀ» ÆÄƼ¼ÇÀ» ¸¸µéÁö ¾Ê¾ÒÀ¸¹Ç·Î Àӽ÷Π¿©·¯ºÐÀÌ ¿øÇÏ´Â ´Ù¸¥ °÷¿¡ º¸°üÇØ¾ß Çϸç 4ÀåÀÌ ³¡³ª¸é À̰͵éÀ» $LFS/usr/src/<somesubdirectory>·Î º¹»çÇÏ´Â °ÍÀ» ÀØÀ¸¸é ¾ÈµÈ´Ù. 2.3 ¼ÒÇÁÆ®¿þ¾î¸¦ ¼³Ä¡ÇÏ´Â ¹æ¹ýÆÐÅ°Áö¸¦ °¡Áö°í ½ÇÁ¦·Î ¹«¾ð°¡¸¦ Çϱâ Àü¿¡ ±×°ÍÀ» ¸ÕÀú Ç®¾î¾ß(unpack) ÇÑ´Ù. ÈçÈ÷ ÆÐÅ°Áö ÆÄÀÏÀÌ tar·Î ¹ÀÌ°í gzipÀ¸·Î ¾ÐÃàµÈ °ÍÀ» º¼ °ÍÀÌ´Ù (ÀÌ´Â .tar.gz³ª .tgzÀÇ È®ÀåÀڷκÎÅÍ ¾Ë ¼ö ÀÖ´Ù). ³ª´Â ungzip°ú untar ¹æ¹ý¿¡ ´ëÇØ ¸Å¹ø ¼³¸íÇÏÁö´Â ¾Ê°Ú´Ù. ÀÌ ´Ü¶ô¿¡¼ ±× ¹æ¹ý¿¡ ´ëÇØ ÇÑ ¹ø¸¸ ¾ê±â¸¦ ÇÒ °ÍÀÌ´Ù. ¿©·¯ºÐÀº .tar.bz2 ÆÄÀÏÀ» ¹ÞÀ» ¼öµµ ÀÖ´Ù. ÀÌ ÆÄÀÏÀº tar·Î ¹ÀÎ ÈÄ bzip2 ÇÁ·Î±×·¥À¸·Î ¾ÐÃàµÈ °ÍÀÌ´Ù. bzip2´Â ÈçÈ÷ ¾²ÀÌ´Â gzipº¸´Ù ´õ ÁÁÀº ¾ÐÃà ¼º´ÉÀ» °¡Áö°í ÀÖ´Ù. bz2 ÆÄÀÏÀ» »ç¿ëÇϱâ À§Çؼ± bzip2 ÇÁ·Î±×·¥ÀÌ ¼³Ä¡µÇ¾î ÀÖ¾î¾ß ÇÑ´Ù. ÀüºÎ´Â ¾Æ´ÏÁö¸¸ ´ëºÎºÐÀÇ ¹èÆ÷º»ÀÌ ÀÌ ÇÁ·Î±×·¥À» Æ÷ÇÔÇÏ°í ÀÖÀ¸¸ç µû¶ó¼ ÀÌ¹Ì ¿©·¯ºÐÀÇ ½Ã½ºÅÛ¿¡ ¼³Ä¡µÇ¾î ÀÖÀ» °¡´É¼ºÀÌ ³ô´Ù. ¸¸¾à ±×·¸Áö ¾Ê´Ù¸é ¿©·¯ºÐÀÇ ¹èÆ÷º»ÀÇ ¼³Ä¡ ÅøÀ» »ç¿ëÇÏ¿© ¼³Ä¡ÇÑ´Ù.
¿©·¯ºÐÀÌ ÆÄÀÏÀ» Ç®°í ¹Ù·Î ±× ÆÄÀÏÀÌ ´õÀÌ»ó ÇÊ¿ä¾ø±â ¶§¹®¿¡ Áö¿ü´Ù´Â °ÍÀ» ÁÖÀÇÇ϶ó. ÀÌ°ÍÀÌ ±× ÆÄÀÏÀ» À̵¿ÀÌ ¾Æ´Ñ º¹»ç¸¦ ÇØ¾ß ÇÏ´Â ÀÌÀ¯´Ù. ¸¸¾à À̵¿À» ½ÃÅ°°í Áö¿ö¹ö·È´Ù¸é ÀÌ ÆÐÅ°Áö°¡ ¶Ç ÇÊ¿äÇÒ °æ¿ì ´Ù½Ã ´Ù¿î·Îµå¸¦ ÇØ¾ß ÇÒ °ÍÀÌ´Ù. ÆÐÅ°Áö ¾ÐÃàÆÄÀÏÀÌ Ç®¸®¸é ÇöÀç µð·ºÅ丮 ¾Æ·¡¿¡ »õ·Î¿î µð·ºÅ丮°¡ ¸¸µé¾îÁú °ÍÀÌ´Ù (±×¸®°í ÀÌ ¹®¼´Â ¿©·¯ºÐÀÌ ÆÄÀÏÀ» $LFS/usr/src µð·ºÅ丮 ¾Æ·¡¿¡¼ Ç®¾ú´Ù°í °¡Á¤ÇÑ´Ù). ¼³Ä¡ °úÁ¤À» °è¼ÓÇϱâ Àü¿¡ »õ µð·ºÅ丮·Î À̵¿ÇØ¾ß ÇÑ´Ù. À§ÀÇ ¸ðµç °úÁ¤Àº 'xxx ¾ÐÃàÆÄÀÏÀ» Ǭ´Ù' ·Î ¿ä¾àµÈ´Ù. µû¶ó¼ ÀÌ·¯ÇÑ °ÍÀ» ÀÐ°Ô µÇ¸é ÆÐÅ°Áö¸¦ $LFS/usr/src·Î º¹»çÇÏ°í tar ÇÁ·Î±×·¥°ú gzip/bzip2¸¦ »ç¿ëÇÏ¿© ¾ÐÃàÀ» Ǭ ÈÄ »õ·Î ¸¸µé¾îÁø µð·ºÅ丮·Î À̵¿ÇÑ ÈÄ¿¡ ´ÙÀ½ ¼³Ä¡ °úÁ¤À» Àоî¾ß ÇÑ´Ù. ÆÐÅ°Áö¸¦ ¼³Ä¡ÇÑ ÈÄ À̸¦ °¡Áö°í µÎ °¡Áö ÀÏÀ» ÇÒ ¼ö ÀÖ´Ù. ¼Ò½º°¡ µé¾îÀÖ´Â
µð·ºÅ丮¸¦ Áö¿ì°Å³ª ±×³É µÑ ¼ö ÀÖ´Ù. ±×³É µÎ±â·Î Çß´Ù¸é ³»°Õ ÁÁ´Ù. ±×·¯³ª
ÀÌÈÄÀÇ Àå¿¡¼ °°Àº ÆÐÅ°Áö°¡ ÇÊ¿äÇÏ°Ô µÈ´Ù¸é (7.2Àå ±îÁöÀÇ ¸ðµç
¼ÒÇÁÆ®¿þ¾î´Â 7.3Àå¿¡¼ À缳ġµÉ °ÍÀÌ´Ù) À̸¦ ´Ù½Ã ¾²±â Àü¿¡ µð·ºÅ丮¸¦
¸ÕÀú Áö¿ö¾ß ÇÑ´Ù. ±×·¸Áö ¾ÊÀ¸¸é ÀÌÀü ¼³Á¤°ªµé (¿©·¯ºÐÀÇ ±âÁ¸ÀÇ ¸®´ª½º
½Ã½ºÅÛ¿¡´Â Àû¿ëµÇÁö¸¸ LFS ½Ã½ºÅÛÀ¸·Î ÄÄÇ»Å͸¦ Àç½ÃÀÛÇÑ ÈÄ¿£ ´õÀÌ»ó
Àû¿ëµÇÁö ¾Ê´Â ¼³Á¤°ªµé) ÀÌ ¾²¿©¼ ¹®Á¦°¡ µÉ ¼ö ÀÖ´Ù.´Ü¼øÈ÷ 3. ´Ù¿î¹ÞÀ» ÆÐÅ°Áöµé¾Æ·¡´Â ¿©·¯ºÐÀÌ ÀÌ ¹®¼¿¡¼ »ç¿ëÇϱâ À§ÇØ ´Ù¿î¹Þ¾Æ¾ß ÇÒ ¸ðµç ¼ÒÇÁÆ®¿þ¾îµéÀÇ ¸ñ·ÏÀÌ´Ù. ³ª´Â ¼ÒÇÁÆ®¿þ¾î¸¦ ¹ÞÀ» ¼ö ÀÖ´Â »çÀÌÆ®¿Í µð·ºÅ丮¸¦ Ç¥±âÇßÁö¸¸ ÃÖ½ÅÀÇ ¼Ò½º ÆÄÀÏÀ» ¹Þ´Â °ÍÀº ¿©·¯ºÐÀÇ ¸òÀÌ´Ù. ¹öÀü ¹øÈ£´Â ÀÌ ¹®¼°¡ ±â¹ÝÇÏ°í ÀÖÀ¸¸ç ÀÛµ¿ÇÑ´Ù°í ¾Ë·ÁÁø ¹öÀüÀ» ³ªÅ¸³½´Ù. ½º½º·Î ÇØ°áÇÒ ¼ö ¾ø´Â ¹®Á¦¸¦ °Þ°Ô µÈ´Ù¸é ÀÌ ¹®¼¿¡¼ ¾²ÀÌ´Â ¹öÀüÀ» ¹Þ´Â´Ù (´õ »õ ¹öÀüÀ» ¹Þ¾ÒÀ» °æ¿ì¿¡). 3.1 Çʼö ¼ÒÇÁÆ®¿þ¾îSysvinit (2.78) : ftp://ftp.cistron.nl/pub/people/miquels/sysvinit/ Bash (2.03) : ftp://ftp.gnu.org/gnu/bash/ Linux Kernel (2.2.14) : ftp://ftp.kernel.org/pub/linux/kernel/ Binutils (2.9.1) : ftp://ftp.gnu.org/gnu/binutils/ Bzip2 (0.9.5d) : http://sourceware.cygnus.com/bzip2/ Diff Utils (2.7) : ftp://ftp.gnu.org/gnu/diffutils/ File Utils (4.0) : ftp://ftp.gnu.org/gnu/fileutils/ GCC (2.95.2) : ftp://ftp.gnu.org/gnu/gcc/ Glibc (2.1.3) : ftp://ftp.gnu.org/gnu/glibc/ Glibc-crypt (2.1.2) : ftp://ftp.gwdg.de/pub/linux/glibc/ Glibc-linuxthreads (2.1.3) : ftp://ftp.gnu.org/gnu/glibc/ Grep (2.4) : ftp://ftp.gnu.org/gnu/grep/ Gzip (1.2.4) : ftp://ftp.gnu.org/gnu/gzip/ Make (3.78.1) : ftp://ftp.gnu.org/gnu/make/ Sed (3.02) : ftp://ftp.gnu.org/gnu/sed/ Shell Utils (2.0) : ftp://ftp.gnu.org/gnu/sh-utils/ Tar (1.13) : ftp://ftp.gnu.org/gnu/tar/ Text Utils (2.0) : ftp://ftp.gnu.org/gnu/textutils/ Util Linux (2.10f) : ftp://ftp.win.tue.nl/pub/linux/utils/util-linux/ Bison (1.28) : ftp://ftp.gnu.org/gnu/bison/ Mawk (1.3.3) : ftp://ftp.whidbey.net/pub/brennan/ Find Utils (4.1) : ftp://ftp.gnu.org/gnu/findutils/ Ncurses (5.0) : ftp://ftp.gnu.org/gnu/ncurses/ Less (340) : ftp://ftp.gnu.org/gnu/less/ Perl (5.005_03) : ftp://ftp.gnu.org/gnu/perl/ M4 (1.4) : ftp://ftp.gnu.org/gnu/m4/ Texinfo (4.0) : ftp://ftp.gnu.org/gnu/texinfo/ Autoconf (2.13) : ftp://ftp.gnu.org/gnu/autoconf/ Automake (1.4) : ftp://ftp.gnu.org/gnu/automake/ Flex (2.5.4a) : ftp://ftp.gnu.org/gnu/flex/ E2fsprogs (1.18) : ftp://tsx-11.mit.edu/pub/linux/packages/ext2fs/ File (3.26) : http://www.linuxfromscratch.org/download/file-3.26-lfs.tar.gz Groff (1.15) : ftp://ftp.gnu.org/gnu/groff/ Ld.so (1.9.9) : ftp://tsx-11.mit.edu/pub/linux/packages/GCC/ Libtool (1.3.4) : ftp://ftp.gnu.org/gnu/libtool/ Linux86 (0.14.3) : http://www.linuxfromscratch.org/download/linux86-0.14.3-lfs.tar.gz Lilo (21) : ftp://sunsite.unc.edu/pub/Linux/system/boot/lilo/ Shadow Password Suite (19990827) : ftp://piast.t19.ds.pwr.wroc.pl/pub/linux/shadow/ Man (1.5h1) : ftp://ftp.win.tue.nl/pub/linux-local/utils/man/ Modutils (2.3.9) : ftp://ftp.ocs.com.au/pub/modutils/ Termcap (1.3) : ftp://ftp.gnu.org/gnu/termcap/ Procinfo (17) : ftp://ftp.cistron.nl/pub/people/svm/ Procps (2.0.6) : ftp://people.redhat.com/johnsonm/procps/ Psmisc (19) : ftp://lrcftp.epfl.ch/pub/linux/local/psmisc/ Start-stop-daemon (0.4.1) : http://www.linuxfromscratch.org/download/ssd-0.4.1-lfs.tar.gz Sysklogd (1.3.31) : ftp://sunsite.unc.edu/pub/Linux/system/daemons/ Vim (5.6) : ftp://ftp.vim.org/pub/editors/vim/unix/ 3.2 ¼±Åà °¡´ÉÇÑ ¼ÒÇÁÆ®¿þ¾îÀÌÇÏ ¸ðµç ¼ÒÇÁÆ®¿þ¾î´Â 9Àå°ú ±× ÀÌÈÄ Àå¿¡¼ »ç¿ëµÇ¸ç ¹Ýµå½Ã ÇÊ¿äÇÑ °ÍÀº ¾Æ´Ï´Ù. ƯÁ¤ ÆÐÅ°Áö¸¦ ¼³Ä¡ÇÒ °ÍÀÎÁö´Â ¿©·¯ºÐ ½º½º·Î °áÁ¤ÇØ¾ß ÇÑ´Ù. ¿¹¸¦ µé¾î LFS ½Ã½ºÅÛÀ» ¿Â¶óÀο¡ ¿¬°áÇÒ °èȹÀÌ ¾ø´Ù¸é email À̳ª telnet, ftp, www µîÀÇ À¯Æ¿¸®Æ¼µéÀ» ¼³Ä¡ÇÏ±æ ¿øÄ¡ ¾ÊÀ» °ÍÀÌ´Ù. Netkit-base (0.17) : ftp://ftp.uk.linux.org/pub/linux/Networking/netkit-devel/ Net-tools (1.54) : http://www.tazenda.demon.co.uk/phil/net-tools/ Procmail (3.14) : ftp://ftp.procmail.org/pub/procmail/ Sendmail (8.9.3) : ftp://ftp.sendmail.org/pub/sendmail/ Mailx (8.1.1) : http://www.linuxfromscratch.org/download/mailx-8.1.1-fixed.tar.gz Mutt (1.0i) : ftp://ftp.mutt.org/pub/mutt/ Fetchmail (5.2.0) : http://www.tuxedo.org/~esr/fetchmail/ Netkit-telnet (0.17) : ftp://ftp.uk.linux.org/pub/linux/Networking/netkit-devel/ Proftpd (1.2.0pre9) : ftp://ftp.tos.net/pub/proftpd/ Netkit-ftp (0.17) : ftp://ftp.uk.linux.org/pub/linux/Networking/netkit-devel/ Apache (1.3.11) : http://www.apache.org/dist/ Zlib Library (1.1.3) : http://www.cdrom.com/pub/infozip/zlib/ Lynx (2.8.2) : http://www.slcc.edu/lynx/release/ PPP (2.3.11) : ftp://cs.anu.edu.au/pub/software/ppp/ Xfree86 (3.3.5) : ftp://ftp.xfree86.org/pub/XFree86/ libPropList (0.9.1) : ftp://ftp.windowmaker.org/pub/libs/ libXpm (4.7) : ftp://sunsite.unc.edu/pub/Linux/libs/X/ libpng (1.0.3) : http://www.cdrom.com/pub/png/ libtiff (3.4) : ftp://ftp.sgi.com/graphics/tiff/ libjpeg (6b) : http://www.ijg.org/ libungif (4.1.0) : ftp://prtr-13.ucsc.edu/pub/libungif/ WindowMaker (0.61.1) : ftp://ftp.windowmaker.org/pub/release/ 4. »õ ½Ã½ºÅÛÀÇ Áغñ4.1 ÀÏÀ» Çسª°¡´Â ¹æ¹ý¿ì¸®´Â Debian À̳ª SuSe, Slackware, Mandrake, RedHat µîÀÇ ÀÌ¹Ì ¼³Ä¡µÇ¾î ÀÖ´Â ¸®´ª½º ¹èÆ÷º»À» »ç¿ëÇÏ¿© LFS ½Ã½ºÅÛÀ» ¸¸µé °ÍÀÌ´Ù. ¿©·¯ºÐÀº ¾î¶² ·ùÀÇ ºÎÆ® µð½ºÄϵµ ÇÊ¿äÄ¡ ¾Ê´Ù. ¿ì¸®´Â ±âÁ¸ÀÇ ¸®´ª½º ½Ã½ºÅÛÀ» »ç¿ëÇÒ °ÍÀÌ´Ù (¿ì¸®°¡ ÄÄÆÄÀÏ·¯³ª ¸µÄ¿, ÅؽºÆ® ¿¡µðÅÍ µîÀÇ ÅøµéÀÌ ÇÊ¿äÇϱ⠶§¹®ÀÌ´Ù). ¸¸¾à ¿©·¯ºÐÀÌ ¾ÆÁ÷ ¸®´ª½º¸¦ ¼³Ä¡ÇÏÁö ¾Ê¾Ò´Ù¸é ÀÌ ¹®¼¸¦ ´çÀåÀº »ç¿ëÇÒ ¼ö ¾ø´Ù. ¿ì¼± ¸®´ª½º ¹èÆ÷º»À» ¼³Ä¡ÇÒ °ÍÀº ±ÇÇÑ´Ù. ¾î¶² °ÍÀ» ¼³Ä¡ÇÏ´øÁö °ü°è´Â ¾ø´Ù. ¶ÇÇÑ ÃֽŠ¹öÀüÀÏ ÇÊ¿äµµ ¾øÁö¸¸ ±×·¸´Ù°í ³Ê¹« ¿À·¡µÈ °ÍÀ̾ ¾ÈµÈ´Ù. Àϳâ À̳»ÀÇ °ÍÀ̶ó¸é ±¦ÂúÀ» °ÍÀÌ´Ù. ¿©·¯ºÐÀÇ ±âÁ¸ ½Ã½ºÅÛÀÌ glibc-2.0 À̳ª ±× ÀÌÈÄÀÇ °ÍÀ» ¾´´Ù¸é º° ¹®Á¦°¡ ¾ø´Ù. libc5 ´Â ¸î¸î ¹®Á¦¸¦ ¾ß±âÇÒ ¼ö ÀÖÀ¸¸ç ³»°¡ ´õÀÌ»ó ±×·± ¸Ó½ÅÀ» ¾²Áö ¾Ê±â ¶§¹®¿¡ ÀÌ ¹®¼¿¡¼µµ Áö¿øµÇÁö ¾Ê´Â´Ù. 4.2 »õ ÆÄƼ¼ÇÀÇ »ý¼º»õ ¸®´ª½º ½Ã½ºÅÛÀ» ¸¸µé±â Àü¿¡ ¿ì¸®´Â ºñ¾îÀÖ´Â ¸®´ª½º ÆÄƼ¼ÇÀÌ ÇÊ¿äÇÏ´Ù. ³ª´Â Àû¾îµµ 500MB ÀÌ»óÀÇ Å©±â¸¦ °®´Â ÆÄƼ¼ÇÀ» ±ÇÀåÇÑ´Ù. ºÎ°¡ ±â´Éµé (email À̳ª ³×Æ®¿÷, ÀÎÅͳÝ, X À©µµ¿ì ½Ã½ºÅÛ µî) ÀÌ ¾ø´Â ±âº»ÀûÀÎ ½Ã½ºÅÛÀº ¾à 250MB ·Îµµ °¡´ÉÇÏ´Ù. ÀÌ¹Ì ¿©·¯ºÐÀÌ ¸®´ª½º Native ÆÄƼ¼ÇÀÌ ÀÖ´Ù¸é ÀÌ ºÎºÐÀº ¶Ù¾î³Ñ¾îµµ µÈ´Ù. Àû´çÇÑ Çϵåµð½ºÅ© (»õ ÆÄƼ¼ÇÀ» ÇÁ¶óÀ̸Ӹ® ¸¶½ºÅÍ IDE µð½ºÅ© À§¿¡ ¸¸µé°í
½ÍÀº °æ¿ì /dev/hda ó·³) ¸¦ ¿É¼ÇÀ¸·Î ÇÏ¿© 4.3 »õ ÆÄƼ¼Ç À§¿¡ ext2 ÆÄÀÏ ½Ã½ºÅÛ ¸¸µé±âÀÏ´Ü ÆÄƼ¼ÇÀÌ ¸¸µé¾îÁ³À¸¸é ±× ÆÄƼ¼Ç À§¿¡ »õ·ÎÀÌ ext2 ÆÄÀÏ ½Ã½ºÅÛÀ»
¸¸µé¾î¾ß ÇÑ´Ù. ext2 ÆÄÀÏ ½Ã½ºÅÛÀ» ¸¸µé±â À§ÇØ ¿ì¸®´Â 4.4 »õ ÆÄƼ¼Ç ¸¶¿îÆ®Çϱâext2 ÆÄÀÏ ½Ã½ºÅÛÀ» ¸¸µé°í³ª¸é »ç¿ëÇÒ ¼ö ÀÖ°Ô µÈ °ÍÀÌ´Ù. ÀÌ ÆÄÀÏ ½Ã½ºÅÛÀ» »ç¿ëÇϱâ À§ÇØ (Àаųª ¾²±â À§ÇØ) ¿ì¸®°¡ ÇØ¾ß ÇÒ °ÍÀº ´ÜÁö ±×°ÍÀ» ¸¶¿îÆ®ÇÏ´Â °ÍÀÌ´Ù. ¿©·¯ºÐÀÌ ÀÌ ÆÄÀÏ ½Ã½ºÅÛÀ» /mnt/hda5 ¾Æ·¡¿¡ ¸¶¿îÆ®ÇÑ´Ù¸é /mnt/hda5 µð·ºÅ丮·Î °¡¼ ÀÌ ÆÄƼ¼ÇÀ» »ç¿ëÇÒ ¼ö ÀÖÀ¸¸ç ÀÌÈÄ ¿øÇÏ´Â °ÍÀ» ¹«¾ùÀÌ´ø ÇÒ ¼ö ÀÕ´Ù. ¾î¶² ¼ºêµð·ºÅ丮¸¦ ¿©·¯ºÐÀÌ ¼±ÅÃÇϴ°¡´Â Áß¿äÄ¡ ¾Ê´Ù (½ÉÁö¾î ¿©·¯ºÐÀº ¸¶¿îÆ® ÁöÁ¡À¸·Î /mnt µð·ºÅ丮¸¦ »ç¿ëÇÒ ¼öµµ ÀÖ´Ù). ±×·¯³ª ÁÁÀº ½À°üÀº ÆÄƼ¼Ç°ú °°Àº À̸§À» °®´Â µð·ºÅ丮¸¦ ¸¸µå´Â °ÍÀÌ´Ù. ³» °æ¿ì¿¡ LFS ÆÄƼ¼ÇÀº hda5¶ó ºÒ¸®¸ç µû¶ó¼ ³ª´Â ÀÌ ÆÄƼ¼ÇÀ» /mnt/hda5¿¡ ¸¶¿îÆ® ÇÏ¿´´Ù.
ÀÌ µð·ºÅ丮(/mnt/xxx)´Â ¿©·¯ºÐÀÌ ÀÌÀü¿¡ ºÃ´ø $LFS ÀÌ´Ù. µû¶ó¼ ¸¸¾à ¾îµð¼±°¡ "cp inittab $LFS/etc" ¶ó´Â °ÍÀ» º»´Ù¸é ½ÇÁ¦·Î´Â "cp inittab /mnt/xxx/etc" ¶ó°í ÃÄ¾ß Çϸç xxx´Â ¿©·¯ºÐÀÇ ÆÄƼ¼Ç À̸§À¸·Î ¹Ù²ï´Ù. 4.5 µð·ºÅ丮ÀÇ »ý¼ºhttp://www.pathname.com/fhs/ ¿¡¼ ãÀ» ¼ö ÀÖ´Â FHS Ç¥ÁØ¿¡ µû¶ó¼ LFS ÆÄƼ¼Ç À§¿¡ µð·ºÅ丮 Æ®¸®¸¦ ¸¸µç´Ù. ¾Æ·¡ÀÇ ¸í·ÉµéÀ» ½ÇÇàÇϸé ÇÊ¿äÇÑ µð·ºÅ丮µéÀÌ »ý¼ºµÉ °ÍÀÌ´Ù.
cd $LFS mkdir bin boot dev etc home lib mnt proc root sbin tmp usr var cd $LFS/usr mkdir bin include lib sbin share src ln -s share/man man ln -s share/doc doc ln -s . local ln -s ../etc etc ln -s ../var var cd $LFS/usr/share mkdir dict doc info locale man nls misc terminfo zoneinfo cd $LFS/usr/share/man mkdir man1 man2 man3 man4 man5 man6 man7 man8 cd $LFS/var mkdir lock log run spool tmp ÀÌÁ¦ µð·ºÅ丮°¡ »ý¼ºµÇ¾úÀ¸¸é 3Àå¿¡¼ ´Ù¿î·Îµå ¹Þ¾Ò´ø ¼Ò½º ÆÄÀϵéÀ» $LFS/usr/src (ÀÌ ¼ºêµð·ºÅ丮¸¦ ½º½º·Î ¸¸µé¾î¾ß ÇÑ´Ù) ¾Æ·¡ÀÇ ÀÓÀÇÀÇ ¼ºêµð·ºÅ丮·Î º¹»çÇØ¾ß ÇÑ´Ù. 4.6 /dev µð·ºÅ丮ÀÇ º¹»çmknod ¸í·ÉÀ» »ç¿ëÇÏ¿© $LFS/dev µð·ºÅ丮 ¾È¿¡ ÀÖ¾î¾ß ÇÒ ÆÄÀϵéÀ» °³º°ÀûÀ¸·Î ¸¸µé ¼ö ÀÖÁö¸¸ ½Ã°£ÀÌ ¸¹ÀÌ °É¸°´Ù. ³ª´Â ÇöÀçÀÇ /dev µð·ºÅ丮¸¦ $LFS ÆÄƼ¼ÇÀ¸·Î ´Ü¼øÈ÷ º¹»çÇÏ´Â °ÍÀ» ÅÃÇß´Ù. ±âÁ¸ÀÇ ±ÇÇÑ°ú ½Éº¼¸¯ ¸µÅ©, ¼ÒÀ¯±ÇÀ» À¯ÁöÇϱâ À§ÇÏ¸ç µð·ºÅ丮¸¦ º¹»çÇϱâ À§Çؼ± ´ÙÀ½ÀÇ ¸í·ÉÀ» »ç¿ëÇÑ´Ù:
cp -av /dev $LFS chown root.root $LFS/dev/* 5. LFS ½Ã½ºÅÛÀ» ºÎÆà °¡´ÉÇϵµ·Ï ¸¸µé±â5.1 SysvinitÀÇ ¼³Ä¡ÀϹÝÀûÀΠȯ°æ ÇÏ¿¡¼± Ä¿³ÎÀÌ ·ÎµåµÇ¾î ¿©·¯ ½Ã½ºÅÛ ±¸¼º ¿ä¼ÒµéÀ» ÃʱâÈÇÑ ÈÄ
½Ã½ºÅÛÀÇ ºÎÆà ÇÁ·Î¼¼½º¸¦ ¸¶¹«¸®ÇÒ
¸¶Áö¸· ³× ÁÙ¿¡ $(ROOT) ºÎºÐÀ» ÷°¡ÇÑ ÈÄ¿£ ¾Æ·¡¿Í °°ÀÌ º¸ÀÏ °ÍÀÌ´Ù:
@if [! -p $(ROOT)/dev/initctl ]; then \ echo "Creating $(ROOT)/dev/initctl"; \ rm -f $(ROOT)/dev/initctl; \ mknod -m 600 $(ROOT)/dev/initctl p; fi
make -e LDFLAGS=-static; make install 5.2 Sysvinit ¼³Á¤Sysvinit°¡ µ¿ÀÛÇϱâ À§Çؼ ¿ì¸®´Â ¼³Á¤ ÆÄÀÏÀ» ¸¸µé¾î¾ß ÇÑ´Ù. ´ÙÀ½À»
Æ÷ÇÔÇϵµ·Ï
# Begin /etc/inittab id:2:initdefault: ca:12345:ctrlaltdel:/sbin/shutdown -t1 -a -r now 1:2345:respawn:/sbin/sulogin # End /etc/inittab 5.3 passwd ¿Í group ÆÄÀÏÀÇ »ý¼º¿©·¯ºÐÀÌ inittab ÆÄÀÏ¿¡¼ º¸´Â °Íó·³ ¿ì¸®°¡ ½Ã½ºÅÛÀ» ºÎÆÃÇϸé init °¡ sulogin ÇÁ·Î±×·¥À» ½ÇÇà½ÃÅ°¸ç suloginÀº ¿©·¯ºÐ¿¡°Ô rootÀÇ Æнº¿öµå¸¦ ¹°¾îº¼ °ÍÀÌ´Ù. ÀÌ´Â ¿ì¸®°¡ LFS ½Ã½ºÅÛ »ó¿¡ Àû¾îµµ passwd ÆÄÀÏÀº °¡Áö°í ÀÖ¾î¾ß ÇÑ´Ù´Â °ÍÀ» ÀǹÌÇÑ´Ù.
À§ÀÇ ÀÎÄÚµùµÈ Æнº¿öµå ¹®ÀÚ¿Àº lfs123 ÀÌ´Ù. ¿©·¯ºÐÀÇ LFS ½Ã½ºÅÛ¿¡ ·Î±×¿Â ÇÒ ¶§ rootÀÇ Æнº¿öµå¸¦ ¹°¾î¿Â´Ù¸é lfs123À» ÀÔ·ÂÇÏ¸é µÈ´Ù. 5.4 Bash ½©ÀÇ ¼³Ä¡sulogin ÀÌ root Æнº¿öµå¸¦ ¹°¾î¿À°í ¿©·¯ºÐÀÌ Æнº¿öµå¸¦ ÀÔ·ÂÇß´Ù¸é ½©ÀÌ ½ÃÀÛµÇ¾ß ÇÑ´Ù. ÈçÈ÷ bash ½©ÀÌ ½ÃÀ۵ȴÙ. ±×·¯³ª ¾ÆÁ÷ ¼³Ä¡µÈ ¶óÀ̺귯¸®°¡ ÀüÇô ¾ø±â ¶§¹®¿¡ ¿ì¸®´Â Sysvinit ¿¡¼¿Í °°ÀÌ bash ¸¦ Á¤ÀûÀ¸·Î ¸µÅ©ÇØ¾ß ÇÑ´Ù.
./configure --enable-static-link make; make -e prefix=$LFS/usr install mv $LFS/usr/bin/bash $LFS/bin cd $LFS/bin; ln -s bash sh 5.5 LILO¿¡ ¿£Æ®¸® Ãß°¡ÀÌ ÆÄƼ¼ÇÀ¸·ÎºÎÅÍ ºÎÆÃÀÌ °¡´ÉÇϱâ À§Çؼ± ¿ì¸®´Â
image=<currently used image> label=<label> root=$LFS read-only <currently used image>¸¦ ¿©·¯ºÐÀÌ ±âÁ¸ÀÇ ¸®´ª½º ½Ã½ºÅÛÀ» ºÎÆÃÇϱâ À§ÇØ »ç¿ëÇÏ´Â À̹ÌÁö ÆÄÀÏ·Î ¹Ù²Û´Ù. <label>´Â ¿©·¯ºÐÀÌ ¿øÇÏ´Â ¹«¾ùÀÌµç µÉ ¼ö ÀÖ´Ù. ³ª´Â "lfs"¶ó ĪÇß´Ù. ¿©·¯ºÐÀÌ <label>¿¡ ³Ö´Â °ÍÀÌ ºÎÆÃÇÒ ½Ã½ºÅÛÀ» °í¸£±â À§ÇØ LILO ÇÁ·ÒÇÁÆ®¿¡¼ ¿©·¯ºÐÀÌ ÀÔ·ÂÇÏ´Â °ÍÀÌ´Ù. ºÎÆ® ·Î´õ¸¦ °»½ÅÇϱâ À§ÇØ 5.6 ½Ã½ºÅÛ °Ë»çÀÌ ÀåÀ» ³¡¸¶Ä£ ÈÄ ¿ì¸®´Â LFS ·Î ÀçºÎÆà ÇÏ¿© ½Ã½ºÅÛÀ» °Ë»çÇÒ ¼ö ÀÖÀ¸¸ç ±× ½Ã½ºÅÛÀ¸·Î ·Î±×ÀÎ ÇÒ ¼ö ÀÖ´ÂÁö¸¦ º¼ ¼ö ÀÖ´Ù. ¿©·¯ºÐÀÌ ¸®ºÎÆÃÇÑ ÈÄ LFS ½Ã½ºÅÛÀ» ½ÃÀÛÇϱâ À§Çؼ± lilo.conf ÆÄÀÏ¿¡ »ðÀÔÇß´ø label À» LILOÇÁ·ÒÇÁÆ®¿¡¼ ÀÔ·ÂÇÑ´Ù. ±×¸®°í root Æнº¿öµå¸¦ ÀÔ·ÂÇϸé ÀÌÁ¦ bash ÇÁ·ÒÇÁÆ®¸¦ ¾ò°Ô µÉ °ÍÀÌ´Ù. ¿©·¯ºÐÀº shutdown °°Àº ÇÁ·Î±×·¥À¸·Î ½Ã½ºÅÛÀ» shutdown ½Ãų ¼ö ¾øÀ» °ÍÀÌ´Ù. ÀÌ ÇÁ·Î±×·¥ÀÌ ÀÖ±ä ÇÏÁö¸¸ À̸¦ ½ÇÇàÇÏ·Á ÇÏ¸é ´ÙÀ½°ú °°Àº ¿¡·¯°¡ ³¯ °ÍÀÌ´Ù: "You don't exist. Go away." ÀÌ ¿¡·¯ÀÇ Àǹ̴ ½Ã½ºÅÛÀÌ password ÆÄÀÏÀ» ãÀ» ¼ö ¾ø´Ù´Â °ÍÀÌ´Ù. ºñ·Ï shutdown ÇÁ·Î±×·¥ÀÌ ÇÊ¿ä·Î ÇÏ´Â ¶óÀ̺귯¸®¿¡ Á¤ÀûÀ¸·Î ¸µÅ©µÇ¾î ÀÖÁö¸¸ GNU C ¶óÀ̺귯¸®ÀÇ ÀϺÎÀÎ NSS (Name Server Switch) ¶óÀ̺귯¸®¿¡ ¿©ÀüÈ÷ ÀÇÁ¸ÇÏ°í ÀÖÀ¸¸ç ÀÌ´Â ÀÌÈÄ Àå¿¡¼ ¼³Ä¡µÉ °ÍÀÌ´Ù. ÀÌ NSS ¶óÀ̺귯¸®´Â (ÀÌ °æ¿ì¿£) passwd ÆÄÀÏÀ» ãÀ» ¼ö ÀÖ´Â Àå¼Ò¿¡ ´ëÇÑ Á¤º¸¸¦ ³Ñ°ÜÁØ´Ù. Áö±ÝÀº ½Ã½ºÅÛÀ» ¸®ºÎÆÃÇϱâ À§ÇØ 6. Ä¿³Î ¼³Ä¡6.1 ftp.kernel.org¿¡ ´ëÇÑ ÁÖÀÇ»çÇ×¾ÕÀÇ 2Àå¿¡¼ ³ª´Â ¿©·¯ºÐÀÌ »õ Ä¿³ÎÀ» ftp://ftp.kernel.org/ ¿¡¼ ´Ù¿î¹ÞÀ» ¼ö ÀÖ´Ù°í ¾ê±âÇß´Ù. ±×·¯³ª ÀÌ »çÀÌÆ®´Â ¸Å¿ì ºÕºñ¸ç ÀÌ »çÀÌÆ®ÀÇ ¿î¿µÀÚµéÀº ¿©·¯ºÐÀÌ Ä¿³ÎÀ» ¿©·¯ºÐ¿¡°Ô °¡±î¿î °÷¿¡¼ ¹Þ±â¸¦ ±ÇÀ¯ÇÑ´Ù. ¿©·¯ºÐÀº ftp://ftp.<country code>.kernel.org/·Î °¡¼ ¹Ì·¯ »çÀÌÆ®¿¡ Á¢±ÙÇÒ ¼ö ÀÖ´Ù (ftp.ca.kernel.org ó·³). 6.2 Ä¿³Î ¼³Á¤
cd /usr/include ln -s ../src/linux/include/linux linux ln -s ../src/linux/include/asm-<cpu> asm /usr/src/linux/include µð·ºÅ丮¸¦ ã¾Æ¼ ¾î¶² asm-* µð·ºÅ丮°¡ Á¸ÀçÇÏ´ÂÁö º»´Ù. ±×¸®°ï ¿©·¯ºÐÀÇ Ç÷§Æû¿¡ ¸Â´Â °ÍÀ» °í¸¥´Ù. ¸¸¾à Intel Ç÷§ÆûÀ» »ç¿ëÇÑ´Ù¸é ln -s ../src/linux/include/asm-i386 asm À» ½ÇÇàÇÑ´Ù.
cd $LFS/usr/include ln -s ../src/linux/include/linux linux ln -s ../src/linux/include/asm asm 6.3 LILOÀÇ °»½Å
6.4 ½Ã½ºÅÛÀÇ °Ë»ç½Ã½ºÅÛÀ» ¸®ºÎÆÃÇÏ¿© LFS ½Ã½ºÅÛÀ» ½ÃÀÛÇÑ´Ù. »õ·Î ¼³Ä¡µÈ Ä¿³ÎÀÌ ºñÁ¤»óÀûÀÎ µ¿ÀÛ (Å©·¡½¬ °°Àº) À» ÇÏ´ÂÁö¸¦ °Ë»çÇÑ´Ù. 7. ±âº»ÀûÀÎ ½Ã½ºÅÛ ¼ÒÇÁÆ®¿þ¾îÀÇ ¼³Ä¡ÀÌ Àå¿¡¼ ¿ì¸®´Â ±âº»ÀûÀÎ ¸®´ª½º ½Ã½ºÅÛ¿¡ ÇÊ¿äÇÑ ¸ðµç ¼ÒÇÁÆ®¿þ¾î¸¦ ¼³Ä¡ÇÒ °ÍÀÌ´Ù. ÀÌ ÀåÀÌ ³¡³ª¸é ¿©·¯ºÐÀº ¿ÏÀüÇÏ°Ô µ¿ÀÛÇÏ´Â ¸®´ª½º ½Ã½ºÅÛÀ» °®°Ô µÈ´Ù. ³ª¸ÓÁö ÀåµéÀº ³×Æ®¿öÅ· ¼³Á¤À̳ª ÀÎÅÍ³Ý ¼¹ö + Ŭ¶óÀ̾ðÆ® (telnet, ftp, http, email), ÀÎÅÍ³Ý ¼³Á¤, X À©µµ¿ì ½Ã½ºÅÛ °°Àº ¼±ÅÃÀûÀÎ ÁÖÁ¦µé¿¡ ´ëÇØ ´Ù·ê °ÍÀÌ´Ù. ¿©·¯ºÐÀº Àç·®²¯ ±× ÀåµéÀ» ¶Ù¾î³Ñ¾îµµ µÈ´Ù. ¿¹¸¦ µé¾î LFS ½Ã½ºÅÛÀ» ³×Æ®¿÷¿¡ ¿¬°áÇÒ °èȹÀÌ ¾ø´Ù¸é ÀÎÅͳÝÀ» ¼³Á¤ÇÏ´Â °ÍÀº °ÅÀÇ ÇÊ¿äÄ¡ ¾ÊÀ» °ÍÀÌ´Ù. ¸ðµç ±âº»ÀûÀÎ ½Ã½ºÅÛ ¼ÒÇÁÆ®¿þ¾î¸¦ ¼³Ä¡Çϱâ Àü¿¡ ¹Ì¸® ¼³Ä¡µÇ¾î ÀÖ¾î¾ß ÇÒ ¸¹Àº ÆÐÅ°ÁöµéÀÌ ÀÖ´Ù. ÀüÇüÀûÀÎ ¼³Á¤ ½ºÅ©¸³Æ®µéÀº rm À̳ª grep, sed, mv, cat, cp, diff °°Àº ÇÁ·Î±×·¥µéÀ» ÇÊ¿ä·Î ÇÑ´Ù. ¿©·¯ºÐÀº ¾ÐÃà ÆÄÀÏÀ» tar ¿Í gzip À¸·Î ¹ÀÎ ÆÄÀÏÀ» Ç®¾î¾ß ÇÏ¸ç ¿ÀºêÁ§Æ® ÆÄÀÏ·Î ÄÄÆÄÀÏÇÑ ÈÄ ÇÁ·Î±×·¥À» ¸µÅ©½ÃÄÑ¾ß ÇÑ´Ù. ÀÌ ¸ðµç (¸î°³¸¦ ´õ Æ÷ÇÔÇؼ) ÇÁ·Î±×·¥µéÀº ´Ù¸¥ ¾î¶² °ÍÀ» ¼³Ä¡ÇÒ ¼ö ÀÖ±â Àü¿¡ »ç¿ëÇÒ ¼ö ÀÖ¾î¾ß ÇÑ´Ù. ÀÌ ÇÁ·Î±×·¥µéÀº Á¤ÀûÀ¸·Î ¸µÅ©µÉ °ÍÀÌ´Ù. ±× ÀÌÀ¯´Â ¿©·¯ºÐÀÇ ±âÁ¸ÀÇ ¸®´ª½º ½Ã½ºÅÛÀÌ LFS ½Ã½ºÅÛ¿¡ ¼³Ä¡ÇÏ·Á´Â °Í°ú ´Ù¸¥ ¹öÀüÀÇ C ¶óÀ̺귯¸®¸¦ °¡Áö°í ÀÖÀ» ¼ö Àֱ⠶§¹®ÀÌ´Ù. ÀÌ Àå¿¡¼ ¼³Ä¡ÇÏ´Â ÇÁ·Î±×·¥µéÀº ±âÁ¸ÀÇ ¸®´ª½º ½Ã½ºÅÛÀÇ C ¶óÀ̺귯¸®¿¡ ¸µÅ©µÉ °ÍÀÌ´Ù. ÀÌ°ÍÀº ÀÌ ÇÁ·Î±×·¥µéÀ» LFS ½Ã½ºÅÛ¿¡¼ ½ÇÇàÇÏ´Â °æ¿ì ¶óÀ̺귯¸® Ãæµ¹À» ÀÏÀ¸Å³ ¼ö ÀÖ´Ù. µû¶ó¼ ¿ì¸®´Â ÀÌ ÇÁ·Î±×·¥µéÀ» Á¤ÀûÀ¸·Î ¸µÅ©ÇØ¾ß ÇÑ´Ù. ±âº»ÀûÀÎ ½Ã½ºÅÛ ¼ÒÇÁÆ®¿þ¾îµéÀ» ¼³Ä¡ÇÏ´Â µ¿¾È ¿ì¸®´Â Á¤ÀûÀ¸·Î ¸µÅ©µÈ ¼ÒÇÁÆ®¿þ¾îµéÀ» ´Ù½Ã ¼³Ä¡ÇÏ¿© LFS ½Ã½ºÅÛÀÇ C ¶óÀ̺귯¸®¿¡ µ¿ÀûÀ¸·Î ¸µÅ©µÇµµ·Ï ÇÒ °ÍÀÌ´Ù. 7.1 µð¹ö±ë ½Éº¼¿¡ ´ëÇÏ¿©¸ðµç ÇÁ·Î±×·¥À̳ª ¹ÙÀ̳ʸ®´Â ±âº»ÀûÀ¸·Î µð¹ö±ë ½Éº¼À» Æ÷ÇÔÇÏ¿© ÄÄÆÄÀϵȴÙ.
ÀÌ´Â ¿©·¯ºÐÀÌ ÇÁ·Î±×·¥À̳ª ¶óÀ̺귯¸®¸¦ µð¹ö°Å¸¦ ÅëÇØ ½ÇÇàÇÒ ¼ö ÀÖÀ¸¸ç
µð¹ö°ÅÀÇ Ãâ·Â¹°ÀÌ Á» ´õ »ç¿ëÀÚ¿¡°Ô ÆíÇÏ°Ô µÈ´Ù´Â °ÍÀ» ¶æÇÑ´Ù. ÀÌ µð¹ö±ë
½Éº¼µéÀº ¶ÇÇÑ ÇÁ·Î±×·¥À̳ª ¶óÀ̺귯¸®ÀÇ Å©±â¸¦ ¸Å¿ì Å©°Ô ÇÑ´Ù. ÀÌ ¹®¼´Â
µð¹ö±ë ½Éº¼ ¾øÀÌ ¼ÒÇÁÆ®¿þ¾î¸¦ ¼³Ä¡ÇÏÁø ¾Ê´Â´Ù (¸¹Àº µ¶ÀÚµéÀÌ µð¹ö±ë
¼ÒÇÁÆ®¿þ¾î¸¦ »ç¿ëÇÏ´ÂÁö ¾ÊÇÏ´ÂÁö¸¦ ³»°¡ ¾ËÁö ¸øÇϱ⠶§¹®¿¡). ´ë½Å¿¡
¿©·¯ºÐÀº ¿øÇÒ°æ¿ì ¹ÙÀ̳ʸ® (a.out À̳ª ELF ¹ÙÀ̳ʸ®¿©¾ß ÇÑ´Ù) ·ÎºÎÅÍ µð¹ö±ë ½Éº¼À» Á¦°ÅÇϱâ
À§Çؼ± ¿©·¯ºÐÀÌ µð¹ö±ë ½Éº¼ÀÌ Å« Â÷À̸¦ ¸¸µå´ÂÁö ¾Ë°í ½Í´Ù¸é ¾Æ·¡¿¡ Åë°è°¡ ÀÖ´Ù:
»ç¿ëÇÏ´Â ÄÄÆÄÀÏ·¯¿Í µ¿ÀûÀ¸·Î ÇÁ·Î±×·¥À» ¸µÅ©½ÃÅ°±â À§ÇØ ¾²ÀÌ´Â C ¶óÀ̺귯¸®ÀÇ ¹öÀü¿¡ µû¶ó Å©±â°¡ ´Ù¸¦ ¼ö ÀÖÀ¸³ª µð¹ö±ë ½Éº¼À» Æ÷ÇÔÇÑ °Í°ú ±×·¸Áö ¾ÊÀº °ÍÀ» ºñ±³ÇÑ´Ù¸é ¿©·¯ºÐÀÇ °á°ú´Â ºñ½ÁÇÒ °ÍÀÌ´Ù. ÀÌ ÀåÀ» ³¡³»°í ¸ðµç LFS ¹ÙÀ̳ʸ®µé°ú ¶óÀ̺귯¸®µé¿¡¼ µð¹ö±ë ½Éº¼À» Á¦°ÅÇÑ ÈÄ ³ª´Â 102MB ¸¦ ¾à°£ ³ÑÀº µð½ºÅ© °ø°£À» ´Ù½Ã ¾ò¾ú´Ù. ¸Å¿ì Â÷ÀÌ°¡ Å©´Ù. ±× Â÷ÀÌ´Â ¸ðµç °ÍÀ» ¼³Ä¡ÇÏ°Ô µÇ´Â ÀÌ ¹®¼ÀÇ ¸¶Áö¸·¿¡ °°Àº ÀÏÀ» ÇßÀ» ¶§ ´õ¿í Ä¿Áú °ÍÀÌ´Ù. 7.2 ±âº»ÀûÀÎ ½Ã½ºÅÛ ¼ÒÇÁÆ®¿þ¾î ¼³Ä¡¸¦ À§ÇÑ LFS ½Ã½ºÅÛÀÇ ÁغñBinutilsÀÇ ¼³Ä¡
./configure make -e LDFLAGS=-all-static make -e prefix=$LFS/usr install Bzip2ÀÇ ¼³Ä¡
make -e LDFLAGS=-static make -e PREFIX=$LFS/usr install cd $LFS/usr/bin mv bunzip2 bzip2 $LFS/bin DiffutilsÀÇ ¼³Ä¡
./configure make -e LDFLAGS=-static make -e prefix=$LFS/usr install ÀÌ ÆÐÅ°Áö´Â ƯÁ¤ Ç÷§Æû¿¡¼ Á¤Àû ¸µÅ©¿¡ ¹®Á¦¸¦ ÀÏÀ¸Å²´Ù°í ¾Ë·ÁÁ® ÀÖ´Ù. ¿©·¯ºÐÀÌ ÀÌ ÆÐÅ°Áö¸¦ ÄÄÆÄÀÏÇϴµ¥ ¹®Á¦¸¦ °Þ´Â´Ù¸é ¼öÁ¤µÈ ÆÐÅ°Áö¸¦ http://www.linuxfromscratch.org/download/diffutils-2.7-fixed.tar.gz ¿¡¼ ±¸ÇÒ ¼ö ÀÖ´Ù. FileutilsÀÇ ¼³Ä¡
./configure --disable-nls make -e LDFLAGS=-static make -e prefix=$LFS/usr install cd $LFS/usr/bin mv chgrp chmod chown cp dd df ln ls mkdir mknod mv rm rmdir sync $LFS/bin ÇÊ¿äÇÑ °æ¿ì ±âÁ¸ÀÇ ½Ã½ºÅÛ¿¡ GCC ¼³Ä¡ÇϱâGlibc-2.1.3À» ÄÄÆÄÀÏÇϱâ À§Çؼ´Â gcc-2.95.2°¡ ¼³Ä¡µÇ¾î ÀÖ¾î¾ß ÇÑ´Ù. 2.8
ÀÌÈÄÀÇ ¾î¶² ¹öÀüÀÌ¶óµµ °¡´ÉÇÏÁö¸¸ 2.95.2¸¦ ÃßõÇÑ´Ù. ¸¹Àº glibc-2.1 ±â¹ÝÀÇ
½Ã½ºÅÛÀº gcc-2.7.2.3ÀÌ ¼³Ä¡µÇ¾î ÀÖÀ¸¸ç ÀÌ ÄÄÆÄÀÏ·¯·Î´Â glibc-2.1À» ÄÄÆÄÀÏÇÒ
¼ö ¾ø´Ù. µû¶ó¼ ¿ì¸®´Â ±âÁ¸ÀÇ ½Ã½ºÅÛ¿¡µµ gcc-2.95.2¸¦ ¼³Ä¡ÇÒ °ÍÀÌ´Ù. ±×·¯³ª
±âÁ¸ÀÇ ÄÄÆÄÀÏ·¯¸¦ µ¤¾î¾º¿ìÁø ¾ÊÀ» °ÍÀÌ´Ù. gcc¸¦ ¿©·¯ºÐÀÇ ½Ã½ºÅÛ¿¡ ¼³Ä¡Çϱâ
Àü¿¡ ÀÌ°ÍÀÌ ÇÊ¿äÇÑÁö È®½ÇÈ÷ °áÁ¤ÇØ¾ß ÇÑ´Ù. ±âÁ¸ÀÇ °ÍÀÇ ¹öÀü ¹øÈ£°¡ 2.8
ÀÌ»óÀÎÁö º¸±â À§Çؼ
mkdir $LFS/usr/src/gcc-build; cd $LFS/usr/src/gcc-build ../gcc-2.95.2/configure --prefix=/usr/gcc2952 \ --with-local-prefix=/usr/gcc2952 --with-gxx-include-dir=/usr/gcc2952/include/g++ \ --enable-shared --enable-languages=c,c++ make bootstrap; make install LFS ½Ã½ºÅÛ¿¡ GCC¸¦ ¼³Ä¡Çϱâ
mkdir $LFS/usr/src/gcc-build;cd $LFS/usr/src/gcc-build ../gcc-2.95.2/configure --enable-languages=c --disable-nls make -e LDFLAGS=-static bootstrap make -e prefix=$LFS/usr local_prefix=$LFS/usr install ÇÊ¿äÇÑ ½Éº¼¸¯ ¸µÅ©µéÀÇ »ý¼º¸ðµç ÇÁ·Î±×·¥µéÀÌ ÄÄÆÄÀÏ·¯¿Í ÇÁ¸®-ÇÁ·Î¼¼¼¸¦ ãÀ» ¼ö ÀÖµµ·Ï Çϱâ À§Çؼ ¸î°¡Áö ½Éº¼¸¯ ¸µÅ©°¡ ÇÊ¿äÇÏ´Ù. ¸î¸î ÇÁ·Î±×·¥Àº cc ÇÁ·Î±×·¥À» ½ÇÇàÇÏ°í ´Ù¸¥ °ÍµéÀº gcc ÇÁ·Î±×·¥À» ½ÇÇàÇϸç, ¸î¸î ÇÁ·Î±×·¥Àº /lib (LFS ½Ã½ºÅÛ¿¡¼ÀÇ /usr/lib) ¿¡ cpp ÇÁ·Î±×·¥ÀÌ ÀÖ±æ ¿¹»óÇÏÁö¸¸ ´Ù¸¥ °ÍµéÀº /usr/bin ¾Æ·¡¿¡ ÀÖ±æ ¿¹»óÇÑ´Ù.
cd $LFS/lib; ln -s ../usr/lib/gcc-lib/<host>/2.95.2/cpp cpp cd $LFS/usr/lib; ln -s gcc-lib/<host>/2.95.2/cpp cpp cd $LFS/usr/bin; ln -s gcc cc <host>¸¦ gcc-2.95.2 ÆÄÀϵéÀÌ ¼³Ä¡µÈ µð·ºÅ丮 (³» °æ¿ì¿£ i686-unknown-linux)·Î ´ëüÇÑ´Ù. ¿©·¯ºÐÀº ¾Æ¸¶ µÎ °³ÀÇ ¼·Î ´Ù¸¥ µð·ºÅ丮¸¦ ¹ß°ßÇÒ °ÍÀÌ´Ù. GlibcÀÇ ¼³Ä¡glibc-crypt ÆÐÅ°Áö¿¡ ´ëÇÑ ÁÖÀÇ»çÇ×:
-*-*-*-*-*- ÇÁ¶û½º, ·¯½Ã¾Æ ¹Ì±¹ µîÀÇ ÀϺΠ±¹°¡µéÀÌ ¾ÏÈ£È ¼ÒÇÁÆ®¿þ¾îÀÇ »ç¿ë°ú ¹èÆ÷¸¦ ¸Å¿ì ¾ö°ÝÈ÷ ±ÔÁ¦ÇÏ°í Àֱ⠶§¹®¿¡ ÀÌ add-onÀº GNU C ¶óÀ̺귯¸®ÀÇ ÁÖ ¹èÆ÷ÆÇ ¾È¿¡ Æ÷ÇÔµÇÁö ¾Ê´Â´Ù. ´õ ÀÚ¼¼ÇÑ »çÇ×Àº ¸Þ´º¾óÀÇ "Legal Problems" ºÎºÐÀ» Àб⠹ٶõ´Ù. Ưº°È÷, ¹Ì±¹Àº ÀÌ ¼ÒÇÁÆ®¿þ¾î¸¦ ¶óÀ̼¾½º ¾øÀÌ ¹Ì±¹ ¹ÛÀ¸·Î À¯ÃâÇÏ´Â °ÍÀ» - ÀÎÅͳÝÀ» ÅëÇÏ´Â °ÍÀ» Æ÷ÇÔÇÏ¿© - Çã°¡ÇÏÁö ¾Ê´Â´Ù. µû¶ó¼ ¿©·¯ºÐÀÌ ¹Ì±¹ ¹Û¿¡ ÀÖ´Ù¸é ÀÌ add-onÀ» FSFÀÇ °ø½Ä FTP »çÀÌÆ®ÀÎ ftp.gnu.org·ÎºÎÅÍ ¹ÞÁö ¸»±æ ¹Ù¶õ´Ù. ÀÌ ¼ÒÇÁÆ®¿þ¾î´Â ¿ÏÀüÈ÷ ¹Ì±¹ ¹Û¿¡¼ °³¹ßµÇ¾ú´Ù. -*-*-*-*-*- "ÀÌ ¼ÒÇÁÆ®¿þ¾î"´Â ftp://ftp.gwdg.de/pub/linux/glibc/¿¡ ÀÖ´Â glibc-crypt ÆÐÅ°Áö¸¦ °¡¸®Å²´Ù. ÀÌ ¹ý±Ô´Â ´ÜÁö ¹Ì±¹¿¡ »ìÁö ¾Ê´Â »ç¶÷µé¿¡°Ô¸¸ Àû¿ëµÈ´Ù. DES ¼ÒÇÁÆ®¿þ¾î¸¦ °¡Áö°í µé¾î¿À´Â °ÍÀÌ ±ÔÁ¦µÇÁö´Â ¾ÊÀ¸¹Ç·Î ¿©·¯ºÐÀÌ ¹Ì±¹ ³»¿¡ »ì°í ÀÖ´Ù¸é À§ÀÇ µ¶ÀÏ »çÀÌÆ®·ÎºÎÅÍ ÀÌ ¼ÒÇÁÆ®¿þ¾î¸¦ ±¸ÇÒ ¼ö ÀÖ´Ù.
# Begin configparms slibdir=/lib sysconfdir=/etc # End configparms
mkdir $LFS/usr/src/glibc-build;cd $LFS/usr/src/glibc-build ../glibc-2.1.3/configure --enable-add-ons make; make install_root=$LFS install
mkdir $LFS/usr/src/glibc-build; cd $LFS/usr/src/glibc-build CC=/usr/gcc2952/bin/gcc ../glibc-2.1.3/configure --enable-add-ons make; make install_root=$LFS install ÀÌÀüÀÇ NSS ¶óÀ̺귯¸® ÆÄÀϵéÀÇ º¹»ç¿©·¯ºÐÀÇ ±âÁ¸ ¸®´ª½º ½Ã½ºÅÛÀÌ libc-2.0.x¸¦ »ç¿ëÇÑ´Ù¸é NSS ¶óÀ̺귯¸®
ÆÄÀϵéÀ» LFS ÆÄƼ¼ÇÀ¸·Î º¹»çÇØ¾ß ÇÑ´Ù. Á¤ÀûÀ¸·Î ¸µÅ©µÈ ÇÁ·Î±×·¥µé Áß ÀϺδÂ
¿©ÀüÈ÷ NSS ¶óÀ̺귯¸®¿¡ ÀÇÁ¸Çϸç username, userid ±×¸®°í groupid¸¦ ã´Â
ÇÁ·Î±×·¥µéÀÌ Æ¯È÷ ±×·¸´Ù. °á°ú°¡ /lib/libc.so.6 -> libc-2.0.7.so °°Àº °ÍÀ̶ó¸é ½Ã½ºÅÛÀº glibc-2.0À» »ç¿ëÇÏ´Â °ÍÀÌ´Ù. °á°ú°¡ /lib/libc.so.6 -> libc-2.1.2.so °°Àº °ÍÀ̶ó¸é ½Ã½ºÅÛÀº glibc-2.1À» »ç¿ëÇÏ´Â °ÍÀÌ´Ù. ¿©·¯ºÐÀÇ ½Ã½ºÅÛÀÌ libc-2.0.x.so ÆÄÀÏ (x´Â 7 °°Àº ¸¶ÀÌÅ©·Î ¹öÀü ¹øÈ£) À»
°¡Áö°í ÀÖ´Ù¸é grepÀÇ ¼³Ä¡
./configure --disable-nls make -e LDFLAGS=-static make -e prefix=$LFS/usr install ÀÌ ÆÐÅ°Áö´Â ƯÁ¤ Ç÷§Æû¿¡¼ Á¤Àû ¸µÅ© ¿¡·¯¸¦ ³½´Ù°í ¾Ë·ÁÁ® ÀÖ´Ù. ¿©·¯ºÐÀÌ ÀÌ ÆÐÅ°Áö¸¦ ÄÄÆÄÀÏÇÒ ¶§ ¹®Á¦¸¦ °Þ´Â´Ù¸é ¼öÁ¤µÈ ÆÐÅ°Áö¸¦ http://www.linuxfromscratch.org/download/grep-2.4-fixed.tar.gz¿¡¼ ±¸ÇÒ ¼ö ÀÖ´Ù. gzipÀÇ ¼³Ä¡
./configure make -e LDFLAGS=-static make -e prefix=$LFS/usr install cd $LFS/usr/bin mv gunzip gzip $LFS/bin ÀÌ ÆÐÅ°Áö´Â ƯÁ¤ Ç÷§Æû¿¡¼ ÄÄÆÄÀÏ ¹®Á¦¸¦ ÀÏÀ¸Å²´Ù°í ¾Ë·ÁÁ® ÀÖ´Ù. ¿©·¯ºÐÀÌ ÀÌ ÆÐÅ°Áö¸¦ ÄÄÆÄÀÏÇÒ ¶§ ¹®Á¦¸¦ °Þ´Â´Ù¸é ¼öÁ¤µÈ ÆÐÅ°Áö¸¦ http://www.linuxfromscratch.org/download/gzip-1.2.4-fixed.tar.gz¿¡¼ ±¸ÇÒ ¼ö ÀÖ´Ù. MakeÀÇ ¼³Ä¡
./configure make -e LDFLAGS=-static make -e prefix=$LFS/usr install SedÀÇ ¼³Ä¡
./configure make -e LDFLAGS=-static make -e prefix=$LFS/usr install mv $LFS/usr/bin/sed $LFS/bin ÀÌ ÆÐÅ°Áö´Â ƯÁ¤ Ç÷§Æû¿¡¼ Á¤Àû ¸µÅ© ¹®Á¦¸¦ ÀÏÀ¸Å²´Ù°í ¾Ë·ÁÁ® ÀÖ´Ù. ¿©·¯ºÐÀÌ ÀÌ ÆÐÅ°Áö¸¦ ÄÄÆÄÀÏÇÒ ¶§ ¹®Á¦¸¦ °Þ´Â´Ù¸é ¼öÁ¤µÈ ÆÐÅ°Áö¸¦ http://www.linuxfromscratch.org/download/sed-3.02-fixed.tar.gz¿¡¼ ±¸ÇÒ ¼ö ÀÖ´Ù. Sh-utilsÀÇ ¼³Ä¡
./configure --disable-nls make -e LDFLAGS=-static make -e prefix=$LFS/usr install cd $LFS/usr/bin mv date echo false pwd stty su true uname hostname $LFS/bin TarÀÇ ¼³Ä¡
./configure --disable-nls make -e LDFLAGS=-static make -e prefix=$LFS/usr install mv $LFS/usr/bin/tar $LFS/bin TextutilsÀÇ ¼³Ä¡
./configure --disable-nls make -e LDFLAGS=-static make -e prefix=$LFS/usr install mv $LFS/usr/bin/cat $LFS/bin Util-linuxÀÇ ¼³Ä¡
./configure cd lib;make cd ../mount;make -e LDFLAGS=-static cp mount umount $LFS/bin cp swapon $LFS/sbin 7.3 ±âº»ÀûÀÎ ½Ã½ºÅÛ ¼ÒÇÁÆ®¿þ¾îÀÇ ¼³Ä¡¸ðµç ¼ÒÇÁÆ®¿þ¾îµéÀÇ ¼³Ä¡´Â ¸Å±¸ Á÷°üÀûÀÌ¸ç ¿©·¯ºÐÀº °¢ ÆÐÅ°Áö¿¡ ´ëÇÑ ÀϹÝÀûÀÎ ¼³Ä¡ ¹æ¹ýÀ» ¼³¸íÇÏ°í ƯÁ¤ ÆÐÅ°Áö°¡ ´Ù¸¥ ¼³Ä¡ ¹æ¹ýÀ» ¾´´Ù¸é ±× ¹æ¹ýÀ» ¼³¸íÇÏ´Â °ÍÀÌ ÈξÀ ½±°í ª´Ù°í »ý°¢ÇÒ °ÍÀÌ´Ù. ÀÌ ¹®Á¦¿¡ ´ëÇØ ³ªµµ ¿©·¯ºÐÀÇ ÀÇ°ß¿¡ Âù¼ºÇÏÁö¸¸ ³ª´Â ¸ðµç ÆÐÅ°Áö¿¡ ¿Ïº®ÇÑ °úÁ¤À» ¼³¸íÇÏ´Â °ÍÀ» ¼±ÅÃÇß´Ù. ÀÌ°ÍÀº ´Ü¼øÈ÷ °¡´ÉÇÒ Áöµµ ¸ð¸¦ ¿¡·¯³ª È¥µ·À» ¸·±â À§ÇÔÀÌ´Ù. ÀÌ ¹®¼¸¦ ´õ ÁøÇàÇØ °¡±â Àü¿¡ ¿©·¯ºÐÀº ½Ã½ºÅÛÀ» Àç½ÃÀÛÇÏ¿© LFS ½Ã½ºÅÛÀ¸·Î ºÎÆÃÇØ¾ß ÇÑ´Ù. ±×·¯³ª ±×·¯±â Àü¿¡ ¾î¶² ÆÄƼ¼ÇÀÌ ½º¿Ò ÆÄƼ¼ÇÀ¸·Î »ç¿ëµÇ´ÂÁö ¾Ë¾Æ¾ß ÇÑ´Ù. ÀÌ Á¤º¸´Â ÀϹÝÀûÀ¸·Î /etc/fstab ÆÄÀÏ¿¡¼ ãÀ» ¼ö ÀÖ´Ù. /dev/hda6 none swap sw 0 0 °ú ºñ½ÁÇÑ ÁÙÀ» ÀÌ ÆÄÀÏ¿¡ ÀÖ´ÂÁö ã¾Æº»´Ù. ±× ÁÙÀÇ 4¹ø° Çʵå´Â ¸¸µå½Ã 'sw'¿©¾ß ÇÑ´Ù. ±× ÁÙÀº ½º¿Ò ÆÄƼ¼ÇÀ» ³ªÅ¸³½´Ù. ¿©·¯ºÐÀÌ ±â¾ïÇؾßÇÒ °ÍÀº ±× À§Ä¡ÀÌ´Ù (³» °æ¿ì¿£ /dev/hda6ÀÌÁö¸¸ ¿©·¯ºÐÀÇ ½Ã½ºÅÛ¿¡¼± ´Ù¸¦ ¼ö ÀÖ´Ù). ¾î¶² ÆÄƼ¼ÇÀÌ ½º¿Ò ÆÄƼ¼ÇÀÎÁö ¾Ë¾ÒÀ¸¸é ÄÄÇ»Å͸¦ ¸®ºÎÆÃÇÏ¿© ¿©±âºÎÅÍ °è¼ÓÇØ ³ª°¡µµ µÈ´Ù. ÆÄƼ¼ÇÀ» À縶¿îÆ®ÇÏ°í ½º¿Ò È°¼ºÈÇϱâ¼ÒÇÁÆ®¿þ¾î¸¦ ¼³Ä¡Çϱâ Àü¿¡ ¿ì¸®´Â ÆÄƼ¼ÇÀ» ÀÐ°í¾²±â ¸ðµå·Î ´Ù½Ã ¸¶¿îÆ®ÇØ¾ß ÇÑ´Ù. ¶ÇÇÑ ±Ô¸ð°¡ Å« ÄÄÆÄÀÏ °úÁ¤ (gccÀÇ ÄÄÆÄÀÏ Ã³·³) µ¿¾È ¸Þ¸ð¸® ºÎÁ· ¹®Á¦°¡ ¹ß»ýÇÏÁö ¾Êµµ·Ï ½º¿Ò ÆÄƼ¼ÇÀ» È°¼ºÈÇØ¾ß ÇÑ´Ù.
mount -o remount,rw / / /sbin/swapon <swap device> GCCÀÇ ¼³Ä¡
mkdir $LFS/usr/src/gcc-build;cd $LFS/usr/src/gcc-build ../gcc-2.95.2/configure --with-gxx-include-dir=/usr/include/g++ \ --enable-shared --enable-languages=c,c++ make bootstrap; make install BisonÀÇ ¼³Ä¡
./configure --datadir=/usr/share/bison make; make install MawkÀÇ ¼³Ä¡
./configure make; make install cd /usr/bin; ln -s mawk awk FindutilsÀÇ ¼³Ä¡
./configure make; make install ÀÌ ÆÐÅ°Áö´Â ÄÄÆÄÀÏ ¹®Á¦¸¦ ÀÏÀ¸Å²´Ù°í ¾Ë·ÁÁ® ÀÖ´Ù. ¿©·¯ºÐÀÌ ÀÌ ÆÐÅ°Áö¸¦ ÄÄÆÄÀÏÇÒ ¶§ ¹®Á¦¸¦ °Þ´Â´Ù¸é ¼öÁ¤µÈ ÆÐÅ°Áö¸¦ http://www.linuxfromscratch.org/download/findutils-4.1-fixed.tar.gz¿¡¼ ±¸ÇÒ ¼ö ÀÖ´Ù. TermcapÀÇ ¼³Ä¡
./configure make; make install NcursesÀÇ ¼³Ä¡
./configure --with-shared make; make install LessÀÇ ¼³Ä¡
./configure make; make install mv /usr/bin/less /bin PerlÀÇ ¼³Ä¡
./Configure make; make install ¿ì¸®´Â 'make test' °úÁ¤À» »ý·«ÇÑ´Ù´Â °ÍÀ» ÁÖÀÇÇÑ´Ù. ÀÌ´Â ÀÌ ¼ø°£¿¡ ¾ÆÁ÷ ½Ã½ºÅÛÀÌ perl Å×½ºÆ®¸¦ ½ÇÇàÇÒ Áغñ°¡ µÇÁö ¾Ê¾Ò±â ¶§¹®ÀÌ´Ù. Áö±ÝÀº ¿ì¸®´Â perl ÄÄÆÄÀÏÀÌ Àß µÇ¾ú´Ù°í ¹ÏÀ» °ÍÀÌ´Ù. M4ÀÇ ¼³Ä¡
./configure make; make install TexinfoÀÇ ¼³Ä¡
./configure make; make install AutoconfÀÇ ¼³Ä¡
./configure make; make install AutomakeÀÇ ¼³Ä¡
./configure make install BashÀÇ ¼³Ä¡
./configure make; make install mv /usr/bin/bash /bin FlexÀÇ ¼³Ä¡
./configure make; make install BinutilsÀÇ ¼³Ä¡
./configure make; make install Bzip2ÀÇ ¼³Ä¡
make; make install cd /usr/bin; mv bunzip2 bzip2 /bin DiffutilsÀÇ ¼³Ä¡
./configure make; make install E2fsprogsÀÇ ¼³Ä¡
./configure make; make install mv /usr/sbin/mklost+found /sbin FileÀÇ ¼³Ä¡
./configure make; make install FileutilsÀÇ ¼³Ä¡
./configure make; make install cd /usr/bin mv chgrp chmod chown cp dd df ln ls mkdir mknod mv rm rmdir sync /bin GrepÀÇ ¼³Ä¡
./configure make; make install GroffÀÇ ¼³Ä¡
./configure make; make install GzipÀÇ ¼³Ä¡
./configure make; make install cd /usr/bin; mv z* gunzip gzip /bin Ld.soÀÇ ¼³Ä¡
cd util; make ldd ldconfig cp ldd /bin; cp ldconfig /sbin rm /usr/bin/ldd LibtoolÀÇ ¼³Ä¡
./configure make; make install Linux86ÀÇ ¼³Ä¡
cd as make; make install cd ../ld make ld86; make install LiloÀÇ ¼³Ä¡
make; make install MakeÀÇ ¼³Ä¡
./configure make; make install Sh-UtilsÀÇ ¼³Ä¡
./configure make; make install cd /usr/bin mv date echo false pwd stty su true uname hostname /bin Shadow Password SuiteÀÇ ¼³Ä¡
./configure make; make install cd etc cp limits login.access login.defs.linux shells suauth /etc mv /etc/login.defs.linux /etc/login.defs cd /usr/sbin mv chpasswd dpasswd groupadd groupdel groupmod logoutd mkpasswd \ newusers useradd userdel usermod grpck pwck vipw grpconv grpunconv \ pwconv pwunconv /sbin ManÀÇ ¼³Ä¡
./configure -default make all; make install ModutilsÀÇ ¼³Ä¡
./configure make; make install ProcinfoÀÇ ¼³Ä¡
make; make install ProcpsÀÇ ¼³Ä¡
gcc -O3 -Wall -Wno-unused -c watch.c make; make -e XSCPT="" install mv /usr/bin/kill /bin PsmiscÀÇ ¼³Ä¡
make; make install SedÀÇ ¼³Ä¡
./configure make; make install mv /usr/bin/sed /bin start-stop-daemonÀÇ ¼³Ä¡
make start-stop-daemon cp start-stop-daemon /sbin cp start-stop-daemon.8 /usr/share/man/man8 SysklogdÀÇ ¼³Ä¡
make; make install SysvinitÀÇ ¼³Ä¡
cd src make; make install TarÀÇ ¼³Ä¡
./configure make; make install mv /usr/bin/tar /bin TextutilsÀÇ ¼³Ä¡
./configure make; make install mv /usr/bin/cat /bin VimÀÇ ¼³Ä¡
./configure make; make install Util-linuxÀÇ ¼³Ä¡
HAVE_PASSWD=yes HAVE_SLN=yes HAVE_TSORT=yes
groupadd -g 5 tty ./configure make; make install 7.4 ¿¹ÀüÀÇ NSS ¶óÀ̺귯¸® ÆÄÀϵéÀÇ Á¦°Å¿©·¯ºÐÀÌ ±âÁ¸ÀÇ ¸®´ª½º ½Ã½ºÅÛ¿¡¼ LFS ½Ã½ºÅÛÀ¸·Î NSS ¶óÀ̺귯¸® ÆÄÀϵéÀ» º¹»çÇß¾ú´Ù¸é (±âÁ¸ ½Ã½ºÅÛÀÌ glibc-2.0À» ¾²±â ¶§¹®¿¡) ÀÌÁ¦ ¾Æ·¡¸¦ ½ÇÇàÇÏ¿© ±× ÆÄÀϵéÀ» Á¦°ÅÇÑ´Ù:
rm /lib/libnss*.so.1 /lib/libnss*2.0* 7.5 ¼ÒÇÁÆ®¿þ¾îÀÇ ¼³Á¤ÀÌÁ¦ ¸ðµç ¼ÒÇÁÆ®¿þ¾îµéÀÌ ¼³Ä¡µÇ¾ú°í ¸î¸î ÇÁ·Î±×·¥ÀÌ Á¤»óÀûÀ¸·Î µ¹µµ·Ï Çϱâ À§ÇØ ¿ì¸®°¡ ÇؾßÇÒ °ÍÀº ¼³Á¤ ÆÄÀϵéÀ» ¸¸µå´Â °Í »ÓÀÌ´Ù. GlibÀÇ ¼³Á¤/etc/nsswitch.conf ÆÄÀÏÀ» ¸¸µé¾î¾ß ÇÑ´Ù. ÀÌ ÆÄÀÏÀÌ ¾ø°Å³ª À߸øµÈ °æ¿ì glibc°¡ ±âº» °ªÀ» »ç¿ëÇϱä ÇÏÁö¸¸ ÀÌ ±âº»°ªÀº ÀÌÈÄ Àå¿¡¼ ´Ù·ê ³×Æ®¿öÅ·°ú Àß µ¿ÀÛÇÏÁö ¾Ê´Â´Ù. ¶ÇÇÑ ¿ì¸®ÀÇ Å¸ÀÓÁ¸µµ ¼³Á¤µÇ¾î¾ß ÇÑ´Ù.
# Begin /etc/nsswitch.conf passwd: files group: files shadow: files hosts: files dns networks: files protocols: db files services: db files ethers: db files rpc: db files netgroup: db files # End /etc/nsswitch.conf
/etc/localtime or ln -s /usr/share/zoneinfo/Canada/Eastern /etc/localtime tzselectÀÇ °á°ú´Â "EST5EDT"³ª "Canada/Eastern" °°Àº °ÍÀÌ´Ù. ±×·± Á¤º¸·Î ¿©·¯ºÐÀÌ ¸¸µå´Â ½Éº¼¸¯ ¸µÅ©´Â ln -s /usr/share/zoneinfo/EST5EDT À̰ųª ln -s /usr/share/zoneinfo/Canada/Eastern /etc/localtime ÀÌ´Ù. LILOÀÇ ¼³Á¤liloÀÇ ¼³Á¤ ÆÄÀÏÀ» óÀ½ºÎÅÍ ¸¸µéÁö´Â ¾Ê°í ±âÁ¸ÀÇ ¸®´ª½º ½Ã½ºÅÛÀÇ ÆÄÀÏÀ» »ç¿ëÇÒ °ÍÀÌ´Ù. ÀÌ ÆÄÀÏÀº ¸Ó½Å¿¡ µû¶ó¼ Ʋ¸®¸ç µû¶ó¼ ³»°¡ ¿©±â¼ ¸¸µé ¼ö´Â ¾ø´Ù. ¿©·¯ºÐÀº ±âÁ¸ÀÇ ¸®´ª½º ½Ã½ºÅÛ¿¡¼ ¾²´ø °Í°ú ¶È°°Àº lilo ¿É¼ÇµéÀ» ¾²±æ ¿øÇÒ °ÍÀ̹ǷΠ±âÁ¸ ½Ã½ºÅÛÀÇ °Í°ú ¶È°°ÀÌ ÆÄÀÏÀ» ¸¸µç´Ù.
cp /mnt/original/etc/lilo.conf /etc cp /mnt/original/boot/* /boot ±âÁ¸ÀÇ ¸®´ª½º ½Ã½ºÅÛÀÌ Ä¿³Î À̹ÌÁöµéÀº (¾î´À °Íµµ) /mnt/original/boot ¾È¿¡ °¡Áö°í ÀÖÁö ¾Ê´Ù¸é ±× ÆÄÀϵéÀÇ À§Ä¡¸¦ /etc/lilo.conf ÆÄÀÏ¿¡¼ È®ÀÎÇÑ ÈÄ ±× ÆÄÀϵéÀ» /etc/lilo.conf°¡ ãÀ» ¼ö ÀÖ´Â °÷À¸·Î º¹»çÇÑ´Ù. ȤÀº ¿©·¯ºÐÀº ±× ÆÄÀϵéÀ» /boot·Î º¹»çÇÑ ÈÄ /etc/lilo.conf ÆÄÀÏÀ» ¼öÁ¤ÇÏ¿© LFS ½Ã½ºÅÛ¿¡¼ Ä¿³Î À̹ÌÁöµéÀÌ ÀÖ´Â »õ °æ·Î¸¦ ãµµ·Ï ÇÒ ¼ö ÀÖ´Ù. ¾î¶² °Íµµ Àß µ¿ÀÛÇÏ¸ç ¾î¶»°Ô ÇÒ °ÍÀΰ¡´Â ¿©·¯ºÐ¿¡°Ô ´Þ·È´Ù. SysklogdÀÇ ¼³Á¤
# Begin /etc/syslog.conf auth,authpriv.* -/var/log/auth.log *.*;auth,authpriv.none -/var/log/sys.log daemon.* -/var/log/daemon.log kern.* -/var/log/kern.log mail.* -/var/log/mail.log user.* -/var/log/user.log *.emerg * # End /etc/syslog.conf Shadow Password SuiteÀÇ ¼³Á¤ÀÌ ÆÐÅ°Áö´Â »ç¿ëÀÚÀÇ ¾ÏÈ£¸¦ ¹Ù²Ù°í »õ·Î¿î »ç¿ëÀÚ/±×·ìÀ» Ãß°¡ÇÏ°í »ç¿ëÀÚ/±×·ìÀ» »èÁ¦ÇÏ´Â µîÀÇ ÀÏÀ» Çϱâ À§ÇÑ À¯Æ¿¸®Æ¼µéÀ» Æ÷ÇÔÇÏ°í ÀÖ´Ù. 'password shadowing'ÀÌ ¹«¾ùÀÎÁö¸¦ ¼³¸íÇÏÁø ¾Ê°Ú´Ù. ¿©·¯ºÐÀº doc/HOWTO ÆÄÀÏ ¾È¿¡¼ ÀÌ¿¡ ´ëÇÑ °ÍÀ» ¸ðµÎ Àо ¼ö ÀÖ´Ù. ¿©·¯ºÐÀÌ ¸í½ÉÇÒ °ÍÀÌ Çϳª Àִµ¥, shadow Áö¿ø ±â´ÉÀ» »ç¿ëÇϱâ·Î Çß´Ù¸é ¾ÏÈ£¸¦ È®ÀÎÇÒ ÇÊ¿ä°¡ ÀÖ´Â ÇÁ·Î±×·¥µé (¿¹¸¦ µé¾î xdmÀ̳ª ftp µ¥¸ó, pop3d µî) ÀÌ 'shadow-compliant(¼¨µµ¿ì ȣȯ)'À̾î¾ß ÇÑ´Â °ÍÀÌ´Ù. ´Ù½Ã¸»ÇØ ±× ÇÁ·Î±×·¥µéÀÌ ¼¨µµ¿ì Æнº¿öµå¿Í Àß ÀÛµ¿ÇÒ ¼ö ÀÖ¾î¾ß ÇÑ´Ù. ¼¨µµ¿ì Æнº¿öµå¸¦ »ç¿ëÇÏÁö ¾Ê±â·Î °áÁ¤Çß´õ¶óµµ (doc/HOWTO ¹®¼¸¦ ÀÐÀº ÈÄ¿¡) ¿©·¯ºÐÀº ¿©ÀüÈ÷ ÆÐÅ°Áö¸¦ »ç¿ëÇϴµ¥ ±×°ÍÀº ÀÌ ÆÐÅ°Áö ¾ÈÀÇ À¯Æ¿¸®Æ¼µéÀº ¼¨µµ¿ì Æнº¿öµå¸¦ »ç¿ëÇÏÁö ¾Ê´Â ½Ã½ºÅÛ¿¡¼µµ »ç¿ëµÇ±â ¶§¹®ÀÌ´Ù. ÀÌ¿¡ ´ëÇÑ ¸ðµç ³»¿ëÀ» HOWTO¿¡¼ º¼ ¼ö ÀÖ´Ù. ¶ÇÇÑ ¿©·¯ºÐÀÌ ¿øÇÏ´Â ¶§¿¡ ¼¨µµ¿ì Æнº¿öµåÀÇ »ç¿ë ¿©ºÎ¸¦ º¯°æÇÒ ¼ö ÀÖ´Ù´Â °ÍÀ» ¸í½ÉÇÑ´Ù. Áö±ÝÀÌ doc/HOWTO ÆÄÀÏÀÇ #5 ºÎºÐÀ» ÀÐÀ» ¸Å¿ì ÁÁÀº ½Ã±âÀÌ´Ù. ¿©·¯ºÐÀº ¼¨µµ¿ì ±â´ÉÀÌ ÀÛµ¿ÇÏ´ÂÁö ¿©ºÎ¸¦ °Ë»çÇÏ´Â ¹æ¹ý°ú ±â´ÉÀ» Á¤Áö½ÃÅ°´Â ¹æ¹ýÀ» ¾Ë ¼ö ÀÖ´Ù. ¸¸¾à ÀÛµ¿ÇÏÁö ¾Ê°í ÀÖÀ¸¸ç °Ë»ç¸¦ ÇÏÁö ¾Ê¾Ò¾ú´Ù¸é ¿©·¯ºÐÀÇ ¸ðµç Äֿܼ¡¼ ·Î±×¾Æ¿ô ÇÑ ÈÄ ´õÀÌ»ó ½Ã½ºÅÛÀ» »ç¿ëÇÒ ¼ö ¾ø°Ô µÉ °ÍÀÌ´Ù. ÀÌ´Â ´õÀÌ»ó ·Î±äÀ» ÇÒ ¼ö ¾ø±â ¶§¹®ÀÌ´Ù. ÀÌ ¹®Á¦¸¦ ½±°Ô ÇØ°áÇÏ´Â ¹æ¹ýÀº Ä¿³Î¿¡ init=/sbin/sulogin À̶ó´Â ÀÎÀÚ¸¦ ³Ñ°ÜÁØ ÈÄ util-linux ¾ÐÃàÆÄÀÏÀ» Ç®°í login-utils µð·ºÅ丮·Î À̵¿ÇÏ¿© login ÇÁ·Î±×·¥À» ¸¸µç ÈÄ /bin/loginÀ» ±×°ÍÀ¸·Î ¹Ù²ã ¹ö¸®´Â °ÍÀÌ´Ù. ÀÏÀÌ Àý¸ÁÀûÀ¸·Î À߸øµÇÁø ¾Ê°ÚÁö¸¸ (Àû¾îµµ Linux »ó¿¡¼´Â) ¾Ë¸Â°Ô Å×½ºÆ®¸¦ ÇÏ°í ¸Å´º¾óÀ» ÀÐÀ½À¸·Î½á ¾î·Á¿òÀ» ÇÇÇÒ ¼ö ÀÖ´Ù ;) SysvinitÀÇ ¼³Á¤/etc/inittab ÆÄÀÏÀ» ¾Æ·¡Ã³·³ ¼öÁ¤ÇÑ ÈÄ ¿©·¯ºÐÀº ÀÌÀüó·³ ·Î±äÇÒ ¼ö ÀÖ´Ù (agetty¿Í login ÇÁ·Î±×·¥À» »ç¿ëÇÏ¿©). SuloginÀº ÀϹÝÀûÀÎ ·Î±ä¿¡¼± ´õÀÌ»ó ¾²ÀÌÁö ¾ÊÀ» °ÍÀÌ´Ù.
# Begin /etc/inittab id:2:initdefault: si::sysinit:/etc/init.d/rcS su:S:wait:/sbin/sulogin l0:0:wait:/etc/init.d/rc 0 l1:1:wait:/etc/init.d/rc 1 l2:2:wait:/etc/init.d/rc 2 l3:3:wait:/etc/init.d/rc 3 l4:4:wait:/etc/init.d/rc 4 l5:5:wait:/etc/init.d/rc 5 l6:6:wait:/etc/init.d/rc 6 ft:6:respawn:/sbin/sulogin ca:12345:ctrlaltdel:/sbin/shutdown -t1 -a -r now 1:2345:respawn:/sbin/agetty /dev/tty1 9600 2:2345:respawn:/sbin/agetty /dev/tty2 9600 3:2345:respawn:/sbin/agetty /dev/tty3 9600 4:2345:respawn:/sbin/agetty /dev/tty4 9600 5:2345:respawn:/sbin/agetty /dev/tty5 9600 6:2345:respawn:/sbin/agetty /dev/tty6 9600 # End /etc/inittab /var/run/utmp ÆÄÀÏÀÇ »ý¼ºloginÀ̳ª shutdown µîÀÇ ÇÁ·Î±×·¥µéÀº /var/run/utmp ÆÄÀÏ¿¡ ¹«¾ð°¡ ¾²±â¸¦ ¿øÇÑ´Ù. ÀÌ ÆÄÀÏÀº ÇöÀç ·Î±äÇØ ÀÖ´Â »ç¶÷µé¿¡ ´ëÇÑ Á¤º¸¸¦ ´ã°í ÀÖ´Ù. ¶ÇÇÑ ÄÄÇ»ÅÍ°¡ ¸¶Áö¸·À¸·Î ¼Ë´Ù¿î µÈ ¶§¿¡ ´ëÇÑ Á¤º¸µµ ´ã°í ÀÖ´Ù.
8. ½Ã½ºÅÛ ºÎÆ® ½ºÅ©¸³Æ®ÀÇ »ý¼ºÀÌ ºÎÆ® ½ºÅ©¸³Æ®µéÀº ½Ã½ºÅÛÀÌ ºÎÆÃµÉ ¶§ ½ÃÀ۵ȴÙ. ÀÌ ½ºÅ©¸³Æ®µéÀº ·çÆ® ÆÄÀÏ ½Ã½ºÅÛÀ» ÀÐ°í ¾²±â ¸ðµå·Î ¸¶¿îÆ®ÇÏ°í, ½º¿ÒÀ» È°¼ºÈÇÏ¸ç ¸î¸î ½Ã½ºÅÛ ¼³Á¤À» ÇÏ°í ¿ì¸® ½Ã½ºÅÛÀÌ ÇÊ¿äÇÑ ´Ù¾çÇÑ µ¥¸óµéÀ» ½ÃÀÛÇÏ´Â ¿ªÇÒÀ» ÇÑ´Ù. 8.1 µð·ºÅ丮¿Í ¸¶½ºÅÍ ÆÄÀÏÀÇ ÁغñÀÌ Àå¿¡¼ ¿©·¯ºÐÀº ´Ù½Ã Sysvinit ÆÐÅ°Áö°¡ ÇÊ¿äÇÏ´Ù.
cd /etc mkdir rc0.d rc1.d rc2.d rc3.d rc4.d rc5.d rc6.d init.d rcS.d
#!/bin/sh # Begin /etc/init.d/rcS runlevel=S prevlevel=N umask 022 export runlevel prevlevel trap ":" INT QUIT TSTP for i in /etc/rcS.d/S??* do [ ! -f "$i" ] && continue; $i start done # End /etc/init.d/rcS 8.2 reboot ½ºÅ©¸³Æ® ¸¸µé±â
#!/bin/sh # Begin /etc/init.d/reboot echo -n "System reboot in progress..." /sbin/reboot -d -f -i # End /etc/init.d/reboot 8.3 halt ½ºÅ©¸³Æ® »ý¼º
#!/bin/sh # Begin /etc/init.d/halt /sbin/halt -d -f -i -p # End /etc/init.d/halt 8.4 mountfs ½ºÅ©¸³Æ®ÀÇ »ý¼º
#!/bin/sh # Begin /etc/init.d/mountfs check_status() { if [ $? = 0 ] then echo "OK" else echo "FAILED" fi } echo -n "Remounting root file system in read-write mode..." /bin/mount -n -o remount,rw / check_status > /etc/mtab /bin/mount -f -o remount,rw / echo -n "Mounting proc file system..." /bin/mount proc check_status # End /etc/init.d/mountfs 8.5 umountfs ½ºÅ©¸³Æ®ÀÇ »ý¼º
#!/bin/sh # Begin /etc/init.d/umountfs check_status() { if [ $? = 0 ] then echo "OK" else echo "FAILED" fi } echo "Deactivating swap..." /bin/swapoff -av check_status echo -n "Unmounting file systems..." /bin/umount -a -r check_status # End /etc/init.d/umountfs 8.6 sendsignals ½ºÅ©¸³Æ®ÀÇ »ý¼º
#!/bin/sh # Begin /etc/init.d/sendsignals check_status() { if [ $? = 0 ] then echo "OK" else echo "FAILED" fi } echo -n "Sending all processes the TERM signal..." /sbin/killall5 -15 check_status echo -n "Sending all processes the KILL signal..." /sbin/killall5 -9 check_status 8.7 checkroot ºÎÆ® ½ºÅ©¸³Æ®ÀÇ »ý¼º
#!/bin/sh # Begin /etc/init.d/checkroot echo "Activating swap..." /sbin/swapon -av if [ -f /fastboot ] then echo "Fast boot, no file system check" else /bin/mount -n -o remount,ro / if [ $? = 0 ] then if [ -f /forcecheck ] then force="-f" else force="" fi echo "Checking root file system..." /sbin/fsck $force -a / if [ $? -gt 1 ] then echo echo "fsck failed. Please repair your file system manually by" echo "running fsck without the -a option" echo "Please note that the file system is currently mounted in" echo "read-only mode." echo echo "I will start sulogin now. CTRL+D will reboot your system." /sbin/sulogin /reboot -f fi else echo "Cannot check root file system because it is not mounted in" echo "read-only mode." fi fi # End /etc/init.d/checkroot 8.8 Sysklogd ºÎÆ® ½ºÅ©¸³Æ®ÀÇ »ý¼º
#!/bin/sh # Begin /etc/init.d/sysklogd check_status() { if [ $? = 0 ] then echo "OK" else echo "FAILED" fi } case "$1" in start) echo -n "Starting system log daemon..." start-stop-daemon -S -q -o -x /usr/sbin/syslogd -- -m 0 check_status echo -n "Starting kernel log daemon..." start-stop-daemon -S -q -o -x /usr/sbin/klogd check_status ;; stop) echo -n "Stopping kernel log daemon..." start-stop-daemon -K -q -o -p /var/run/klogd.pid check_status echo -n "Stopping system log daemon..." start-stop-daemon -K -q -o -p /var/run/syslogd.pid check_status ;; reload) echo -n "Reloading system load daemon configuration file..." start-stop-daemon -K -q -o -s 1 -p /var/run/syslogd.pid check_status ;; restart) echo -n "Stopping kernel log daemon..." start-stop-daemon -K -q -o -p /var/run/klogd.pid check_status echo -n "Stopping system log daemon..." start-stop-daemon -K -q -o -p /var/run/syslogd.pid check_status sleep 1 echo -n "Starting system log daemon..." start-stop-daemon -S -q -o -x /usr/sbin/syslogd -- -m 0 check_status echo -n "Starting kernel log daemon..." start-stop-daemon -S -q -o -x /usr/sbin/klogd check_status ;; *) echo "Usage: $0 {start|stop|reload|restart}" exit 1 ;; esac # End /etc/init.d/sysklogd 8.9 ½Éº¼¸¯ ¸µÅ©¿Í ±ÇÇÑ ¼³Á¤
chmod 755 rcS reboot halt mountfs umountfs sendsignals checkroot sysklogd cd ../rc0.d ln -s ../init.d/sysklogd K90sysklogd ln -s ../init.d/sendsignals S80sendsignals ln -s ../init.d/umountfs S90umountfs ln -s ../init.d/halt S99halt cd ../rc6.d ln -s ../init.d/sysklogd K90sysklogd ln -s ../init.d/sendsignals S80sendsignals ln -s ../init.d/umountfs S90umountfs ln -s ../init.d/reboot S99reboot cd ../rcS.d ln -s ../init.d/checkroot S05checkroot ln -s ../init.d/mountfs S10mountfs cd /etc/rc2.d ln -s ../init.d/sysklogd S03sysklogd 8.10 /etc/fstab ÆÄÀÏÀÇ »ý¼º
/dev/<LFS-partition designation> / ext2 defaults 0 1 /dev/<swap-partition designation> none swap sw 0 0 proc /proc proc defaults 0 0 9. ±âº»ÀûÀÎ ³×Æ®¿öÅ·ÀÇ ¼³Á¤9.1 Netkit-base ¼³Ä¡Çϱâ
./configure make; make install cd etc.sample; cp services protocols /etc mv /usr/bin/ping /bin 9.2 Net-toolsÀÇ ¼³Ä¡
make; make install mv /usr/bin/netstat /bin cd /usr/sbin; mv ifconfig route /sbin /etc/init.d/localnet ºÎÆ®½ºÅ©¸³Æ® ¸¸µé±â
#!/bin/sh # Begin /etc/init.d/localnet check_status() { if [ $? = 0 ] then echo "OK" else echo "FAILED" fi } echo -n "Setting up loopback device..." /sbin/ifconfig lo 127.0.0.1 check_status echo -n "Setting up hostname..." /bin/hostname --file /etc/hostname check_status # End /etc/init.d/localnet ±ÇÇÑ°ú ½Éº¼¸¯ ¸µÅ©ÀÇ ¼³Á¤
/etc/hostname ÆÄÀÏ ¸¸µé±â
/etc/hosts ÆÄÀÏÀÇ »ý¼º¸¸¾à ³×Æ®¿÷ Ä«µå¸¦ ¼³Á¤ÇÏ°í ½Í´Ù¸é /etc/hosts ÆÄÀÏ ¾È¿¡¼ ¾µ IP ÁÖ¼Ò¿Í FQDN, °¡´ÉÇÏ´Ù¸é ¾Ë¸®¾Æ½º µéÀ» °áÁ¤ÇØ¾ß ÇÑ´Ù. ¾Æ·¡´Â ÇÑ ¿¹Á¦ÀÌ´Ù:
<myip> myhost.mydomain.org aliases IP ÁÖ¼Ò°¡ »ç¼³ ¸ÁÀÇ IP ÁÖ¼Ò ¹üÀ§ ¾È¿¡ ÀÖµµ·Ï Çضó. °¡´ÉÇÑ °ªÀº ´ÙÀ½°ú °°´Ù:
Class Networks A 10.0.0.0 B 172.16.0.0 through 172.31.0.0 C 192.168.0.0 through 192.168.255.0 °¡´ÉÇÑ IP ÁÖ¼Ò´Â 192.168.1.1ÀÏ ¼ö ÀÖ´Ù. ÀÌ IP¿¡ ´ëÇÑ FQDNÀº me.linuxfromscratch.orgÀÏ ¼ö ÀÖ´Ù. ¸¸¾à ¿©·¯ºÐÀÌ ³×Æ®¿÷ Ä«µå¸¦ »ç¿ëÇÏÁö ¾ÊÀ» ¿¹Á¤ÀÏ Áö¶óµµ ¿©ÀüÈ÷ FQDNÀÌ ÇÊ¿äÇÏ´Ù. ÀÌ´Â Sendmail °°Àº ÇÁ·Î±×·¥µéÀÌ Á¤»óÀûÀ¸·Î ÀÛµ¿ÇÏ´Â µ¥ ÇÊ¿äÇÏ´Ù (½ÇÁ¦·Î SendmailÀº FQDNÀ» °áÁ¤ÇÏÁö ¸øÇϸé ÀÛµ¿ÇÏÁö ¾Ê´Â´Ù). ¾Æ·¡´Â ¿©·¯ºÐÀÌ ³×Æ®¿÷ Ä«µå¸¦ ¼³Á¤ÇÏÁö ¾Ê´Â °æ¿ìÀÇ
# Begin /etc/hosts (no network card version) 127.0.0.1 me.lfs.org <contents of /etc/hostname> localhost # End /etc/hosts (no network card version) ¾Æ·¡´Â ³×Æ®¿÷ Ä«µå¸¦ ¼³Á¤ÇÏ´Â °æ¿ìÀÇ
# Begin /etc/hosts (network card version) 127.0.0.1 localhost 192.168.1.1 me.lfs.org <contents of /etc/hostname> # End /etc/hosts (network card version) ¹°·Ð, 192.168.1.1°ú me.lfs.orgÀ» ¿©·¯ºÐÀÇ ±âÈ£¿¡ ¸Â°Ô(ȤÀº ¿©·¯ºÐÀÌ ³×Æ®¿÷/½Ã½ºÅÛ °ü¸®ÀڷκÎÅÍ IP ÁÖ¼Ò¸¦ ÇÒ´ç¹Þ¾Ò°í ÀÌ ¸Ó½ÅÀ» ±× ³×Æ®¿÷¿¡ ¿¬°áÇÒ °èȹÀ̶ó¸é °Å±â¿¡ ¸Â°Ô) ¹Ù²Û´Ù. /etc/init.d/ethnet ÆÄÀÏÀÇ »ý¼ºÀÌ ºÎºÐÀº ¿©·¯ºÐÀÌ ³×Æ®¿÷ Ä«µå¸¦ ¼³Á¤ÇÏ´Â °æ¿ì¿¡¸¸ ÇØ´çµÈ´Ù. ±×·¸Áö ¾Ê´Ù¸é ÀÌ ºÎºÐÀ» ¶Ù¾î³Ñ¾îµµ µÈ´Ù. ¾Æ·¡¸¦ Æ÷ÇÔÇϵµ·Ï
#!/bin/sh # Begin /etc/init.d/ethnet check_status() { if [ $? = 0 ] then echo "OK" else echo "FAILED" fi } /sbin/ifconfig eth0 <ipaddress> check_status # End /etc/init.d/ethnet /etc/init.d/ethnetÀÇ ±ÇÇÑ°ú ½Éº¼¸¯ ¸µÅ©¸¦ ¼³Á¤ÇÑ´Ù.
³×Æ®¿÷ ¼³Á¤ÀÇ ½ÃÇè
ping <your FQDN> ping <what you choose for hostname> ping localhost ping 127.0.0.1 ping 192.168.1.1 (only when you configured your network card) ÀÌ ´Ù¼¸°³ÀÇ ping ¸í·ÉµéÀÌ ¸ðµÎ ½ÇÆÐ ¾øÀÌ ÀÛµ¿ÇØ¾ß ÇÑ´Ù. ±×·¸´Ù¸é ±âº»ÀûÀÎ ³×Æ®¿÷ÀÌ Àß ÀÛµ¿ÇÏ´Â °ÍÀÌ´Ù. 9.3 ½Ã½ºÅÛ °Ë»çÀÌÁ¦ ¸ðµç ¼ÒÇÁÆ®¿þ¾î°¡ ¼³Ä¡µÇ¾ú°í ºÎÆ®½ºÅ©¸³Æ®µéÀÌ ¸¸µé¾îÁ³À¸¸ç Áö¿ª ³×Æ®¿÷µµ ¼³Á¤µÇ¾úÀ¸¹Ç·Î ¿©·¯ºÐÀÇ ÄÄÇ»Å͸¦ ¸®ºÎÆÃÇÏ¿© ÀÌ »õ ½ºÅ©¸³Æ®µéÀÌ ½ÇÁ¦·Î ÀÛµ¿ÇÏ´ÂÁö¸¦ º¸±â À§ÇØ °Ë»ç¸¦ ÇØ º¼ ½Ã°£ÀÌ´Ù. ¿ì¼±Àº /etc/init.d µð·ºÅ丮¿¡¼ Á÷Á¢ ½ÇÇàÇÏ¿© °¡Àå ÈçÇÑ ¹®Á¦µé (¿ÀŸ³ª À߸øµÈ °æ·Î µî)À» °íÄ¡±æ ¹Ù¶ö °ÍÀÌ´Ù. ÀÌ ½ºÅ©¸³Æ®µéÀÌ Á÷Á¢ ½ÇÇà½ÃÄ×À» ¶§ Àß ÀÛµ¿ÇÑ´Ù¸é ½Ã½ºÅÛÀÇ ½ÃÀÛ°ú Á¾·á ½Ã¿¡µµ Á¤»óÀûÀ¸·Î ÀÛµ¿ÇØ¾ß ÇÑ´Ù. À̸¦ ½ÃÇèÇÏ´Â ¹æ¹ýÀº ¿ÀÁ÷ ÇϳªÀÌ´Ù. Áö±Ý shutdown -r ¸í·ÉÀ¸·Î ½Ã½ºÅÛÀ» Á¾·áÇÑ ÈÄ LFS·Î ÀçºÎÆà ÇÏ¿©¶ó. ÀçºÎÆà ÀÌÈÄ¿¡ ¿©·¯ºÐÀº ±âÁ¸ÀÇ ¸®´ª½º ½Ã½ºÅÛ¿¡¼¿Í °°Àº º¸ÅëÀÇ ·Î±ä ÇÁ·ÒÇÁÆ®¸¦ º¸°Ô µÉ °ÍÀÌ´Ù (¿©·¯ºÐÀÌ XDMÀ̳ª ±âŸ ´Ù¸¥ Display Manager (XDMÀÇ KDE ÆÇÀÎ KDE °°Àº)¸¦ »ç¿ëÇÏÁö ¾Ê´Â´Ù¸é). ÀÌ ½ÃÁ¡¿¡ ¿©·¯ºÐÀÇ ±âº»ÀûÀÎ LFS ½Ã½ºÅÛÀº »ç¿ëÇÒ Áغñ°¡ µÇ¾ú´Ù. Áö±ÝºÎÅÍ ³ª¿Ã °ÍµéÀº ¸ðµÎ ¼±ÅûçÇ×ÀÌ¸ç ¿©·¯ºÐÀÇ ÆÇ´Ü¿¡ µû¶ó ÆÐÅ°ÁöµéÀ» ¶Ù¾î³ÑÀ» ¼ö ÀÖ´Ù. ±×·¯³ª ¿©·¯ºÐÀÌ ÆÐÅ°ÁöµéÀÇ ¼³Ä¡¸¦ ¶Ù¾î³Ñ´Â´Ù¸é (ƯÈ÷ ¶óÀ̺귯¸®µé) ´Ù¸¥ ÆÐÅ°ÁöµéÀÇ ÀÇÁ¸¼ºÀ» ÇØÄ¥ ¼ö ÀÖ´Ù´Â °ÍÀ» ¸í½ÉÇØ¾ß ÇÑ´Ù. 10. ³×Æ®¿÷ µ¥¸óÀÇ ¼³Ä¡10.1 SMTP ¼³Á¤Çϱâgroup°ú userÀÇ »ý¼º¾Æ·¡¸¦ ½ÇÇàÇÏ¿© SendmailÀÌ ÇÊ¿ä·Î ÇÏ´Â groupµéÀ» ¸¸µç´Ù:
groupadd -g 1 bin groupadd -g 2 kmem groupadd -g 3 mail useradd -u 1 -g bin -d /bin -s /bin/sh bin µð·ºÅ丮 »ý¼ºSendmailÀº ¹ÛÀ¸·Î ³ª°¡´Â ¸ÞÀÏÀ» /var/spool/mqueue µð·ºÅ丮¿¡ ³Ö¾îµÐ´Ù. µé¾î¿À´Â ¸ÞÀÏÀº Sendmail¿¡ ÀÇÇØ Procmail·Î µ¹·ÁÁö¹Ç·Î ¿ì¸®´Â /var/mail À̶ó´Â µð·ºÅ丮µµ ÇÊ¿äÇÏ´Ù. ÀÌ µð·ºÅ丮µéÀ» »ý¼ºÇÏ°í ¾Ë¸ÂÀº ±ÇÇÑÀ» ¼³Á¤ÇÑ´Ù:
mkdir /var/spool mkdir /var/mail cd /var/spool; ln -s ../mail mail chmod 700 /var/spool/mqueue chmod 775 /var/mail chgrp mail /var/mail chmod 1777 /tmp SendmailÀÇ ¼³Ä¡
cd src ./Build; ./Build install SendmailÀÇ ¼³Á¤SendmailÀ» ¼³Á¤ÇÏ´Â °ÍÀº ¾ÕÀÇ °Íµéó·³ ½±Áö´Â ¾Ê´Ù. SendmailÀ» ¼³Á¤ÇÏ´Â µ¿¾È ¿©·¯ºÐÀÌ °í·ÁÇØ¾ß ÇÒ »çÇ×ÀÌ ¸¹À¸¸ç ³»°¡ ±× ¸ðµç °ÍÀ» ¼³¸íÇÒ ¼ö´Â ¾ø´Ù. ÀÌ°ÍÀÌ ¿ì¸®°¡ Áö±ÝÀº ±âº»ÀûÀÌ°í Ç¥ÁØÀûÀÎ ¼³Á¤À» ÇÏ´Â ÀÌÀ¯ÀÌ´Ù. SendmailÀ» ¿©·¯ºÐÀÇ ±âÈ£¿¡ ¸Âµµ·Ï °íÄ¡°í ½Í´Ù¸é ÇÒ ¼ö ÀÖÁö¸¸ ÀÌ ¹®¼´Â ±× ÀÛ¾÷¿¡ ÀûÇÕÇÏÁö´Â ¾Ê´Ù. ¿©·¯ºÐÀÌ Æ¯Á¤ÇÑ ±â´ÉÀ» »ç¿ëÇÏ·Á ÇÑ´Ù¸é ÀÌ¹Ì Á¸ÀçÇÏ´Â /etc/sendmail.cf (ȤÀº /etc/mail/sendmail.cf) ÆÄÀÏÀ» »ç¿ëÇÒ ¼ö ÀÖ´Ù.
OSTYPE(LFS) FEATURE(nouucp) define(`LOCAL_MAILER_PATH', /usr/bin/procmail) MAILER(local) MAILER(smtp)
ProcmailÀÇ ¼³Ä¡
make; make install; make install-suid /etc/init.d/sendmail ºÎÆ®½ºÅ©¸³Æ®ÀÇ ÀÛ¼º
#!/bin/sh # Begin /etc/init.d/sendmail check_status() { if [ $? = 0 ] then echo "OK" else echo "FAILED" fi } case "$1" in start) echo -n "Starting Sendmail..." start-stop-daemon -S -q -o -x /usr/sbin/sendmail -- -bd check_status ;; stop) echo -n "Stopping Sendmail..." start-stop-daemon -K -q -o -p /var/run/sendmail.pid check_status ;; reload) echo -n "Reloading Sendmail configuration file..." start-stop-daemon -K -q -s 1 -p /var/run/sendmail.pid check_status ;; restart) echo -n "Stopping Sendmail..." start-stop-daemon -K -q -o -p /var/run/sendmail.pid check_status sleep 1 echo -n "Starting Sendmail..." start-stop-daemon -S -q -o -x /usr/sbin/sendmail -- -bd check_status ;; *) echo "Usage: $0 {start|stop|reload|restart}" exit 1 ;; esac # End /etc/init.d/sendmail ±ÇÇÑ°ú ½Éº¼¸¯ ¸µÅ©µéÀ» ¼³Á¤ÇÑ´Ù.
cd /etc/init.d/rc2.d; ln -s ../init.d/sendmail S20sendmail cd ../rc0.d; ln -s ../init.d/sendmail K20sendmail cd ../rc6.d; ln -s ../init.d/sendmail K20sendmail 10.2 FTPÀÇ ¼³Á¤user¿Í groupÀÇ »ý¼º
groupadd -g 65534 nogroup groupadd -g 4 ftp
useradd -u 65534 -g nogroup -d /home nobody useradd -u 4 -g ftp -s /bin/sh -m ftp ProftpdÀÇ ¼³Ä¡
./configure make; make install /etc/init.d/proftpd ºÎÆ®½ºÅ©¸³Æ®ÀÇ ÀÛ¼º
#!/bin/sh # Begin /etc/init.d/proftpd check_status() { if [ $? = 0 ] then echo "OK" else echo "FAILED" fi } case "$1" in start) echo -n "Starting Pro FTP daemon..." start-stop-daemon -S -q -o -x /usr/sbin/proftpd check_status ;; stop) echo -n "Stopping Pro FTP daemon..." start-stop-daemon -K -q -o -x /usr/sbin/proftpd check_status ;; restart) echo -n "Stopping Pro FTP daemon..." start-stop-daemon -K -q -o -x /usr/sbin/proftpd check_status sleep 1 echo -n "Starting Pro FTP daemon..." start-stop-daemon -S -q -o -x /usr/sbin/proftpd check_status ;; *) echo "Usage: $0 {start|stop|restart}" ;; esac # End /etc/init.d/proftpd ±ÇÇÑ°ú ½Éº¼¸¯ ¸µÅ©ÀÇ ¼³Á¤
cd /etc/rc2.d; ln -s ../init.d/proftpd S40proftpd cd ../rc0.d; ln -s ../init.d/proftpd K40proftpd cd ../rc6.d; ln -s ../init.d/proftpd K40proftpd 10.3 HTTPÀÇ ¼³Á¤ApacheÀÇ ¼³Ä¡
./configure make; make install ApacheÀÇ ¼³Á¤¼³Á¤ÇÒ °ÍÀÌ ¸¹Áö´Â ¾Ê´Ù. ¿ì¸®°¡ ÇØ¾ß ÇÒ °ÍÀº ´ÜÁö /usr/apache/man °æ·Î¸¦ /usr/share/misc/man.conf¿¡ Ãß°¡ÇÏ´Â °Í »ÓÀÌ´Ù.
/etc/init.d/apache ºÎÆ®½ºÅ©¸³Æ®ÀÇ »ý¼º
#!/bin/sh # Begin /etc/init.d/apache case "$1" in start) echo -n "Starting Apache HTTP daemon..." /usr/apache/bin/apachectl start ;; stop) echo -n "Stopping Apache HTTP daemon..." /usr/apache/bin/apachectl stop ;; restart) echo -n "Restarting Apache HTTP daemon..." /usr/apache/bin/apachectl restart ;; force-restart) echo -n "Stopping Apache HTTP daemon..." /usr/apache/bin/apachectl stop sleep 1 echo -n "Starting Apache HTTP daemon..." /usr/apache/bin/apachectl start ;; *) echo "Usage: $0 {start|stop|restart|force-restart}" ;; esac # End /etc/init.d/apache ±ÇÇÑ°ú ½Éº¼¸¯ ¸µÅ©ÀÇ ¼³Á¤
cd /etc/rc2.d; ln -s ../init.d/apache S50apache cd ../rc0.d; ln -s ../init.d/apache K50apache cd ../rc6.d; ln -s ../init.d/apache K50apache 10.4 TelnetÀÇ ¼³Á¤telnet µ¥¸ó°ú Ŭ¶óÀ̾ðÆ®ÀÇ ¼³Ä¡
./configure make; make install /etc/inetd.conf ¼³Á¤ÆÄÀÏÀ» ¸¸µç´Ù.
# Begin /etc/inetd.conf telnet stream tcp nowait root /usr/sbin/in.telnetd # End /etc/inetd.conf /etc/init.d/inetd ºÎÆ®½ºÅ©¸³Æ®ÀÇ »ý¼º
#!/bin/sh # Begin /etc/init.d/inetd check_status() { if [ $? = 0 ] then echo "OK" else echo "FAILED" fi } case "$1" in start) echo -n "Starting Internet Server daemon..." start-stop-daemon -S -q -o -x /usr/sbin/inetd check_status ;; stop) echo -n "Stopping Internet Server daemon..." start-stop-daemon -K -q -o -p /var/run/inetd.pid check_status ;; reload) echo -n "Reloading Internet Server configuration file..." start-stop-daemon -K -q -s 1 -p /var/run/inetd.pid check_status ;; restart) echo -n "Stopping Internet Server daemon..." start-stop-daemon -K -q -o -p /var/run/inetd.pid check_status sleep 1 echo -n "Starting Internet Server daemon..." start-stop-daemon -S -q -o -x /usr/sbin/inetd check_status ;; *) echo "Usage: $0 {start|stop|reload|restart}" ;; esac # End /etc/init.d/inetd ±ÇÇÑ°ú ½Éº¼¸¯ ¸µÅ©ÀÇ ¼³Á¤
cd /etc/rc2.d; ln -s ../init.d/inetd S30inetd cd ../rc0.d; ln -s ../init.d/inetd K30inetd cd ../rc6.d; ln -s ../init.d/inetd K30 inetd 10.5 PPPÀÇ ¼³Á¤Ä¿³Î ¼³Á¤Çϱ⿩·¯ºÐÀÌ ÀÎÅͳݿ¡ ¿¬°áµÇ±â Àü¿¡ Ä¿³ÎÀÌ ppp¸¦ Áö¿øÇØ¾ß ÇÑ´Ù. ÀÌ´Â Ä¿³Î ¾È¿¡ ppp Áö¿øÀ» Á÷Á¢ ³Ö¾î¼ ÄÄÆÄÀÏÇϰųª ppp µå¶óÀ̹ö¸¦ ÇÊ¿äÇÒ ¶§ ·ÎµåÇÒ ¼ö ÀÖ´Â ¸ðµâ·Î ¸¸µêÀ¸·Î½á °¡´ÉÇÏ´Ù. ¾î¶² ¹æ¹ýÀ» ¼±ÅÃÇϵç ÇÊ¿äÇÏ´Ù¸é Áö±Ý Ä¿³ÎÀ» Àç ÄÄÆÄÀÏÇÏ¿© ÀÛ¾÷À» Ç϶ó. ÀÌ¹Ì ¿©·¯ºÐÀÇ LFS Ä¿³ÎÀÌ ppp¸¦ Áö¿øÇÑ´Ù¸é Ä¿³ÎÀ» Àç¼³Á¤ÇÒ ÇÊ¿ä´Â ¾ø´Ù. groupÀÇ »ý¼º
PPPÀÇ ¼³Ä¡
./configure make; make install /etc/resolv.conf »ý¼º
# Begin /etc/resolv.conf nameserver <IP address of your ISP's primary DNS server> nameserver <IP address of your ISP's secundary DNS server> # End /etc/resolv.conf /etc/ppp/peers/provider ÆÄÀÏ ¸¸µé±â
# Begin /etc/ppp/peers/provider noauth connect "/usr/sbin/chat -v -f /etc/chatscripts/provider" /dev/ttyS1 115200 defaultroute noipdefault # End /etc/ppp/peers/provider /etc/chatscripts/provider ¸¸µé±â
# Begin /etc/chatscripts/provider ABORT BUSY ABORT "NO CARRIER" ABORT VOICE ABORT "NO DIALTONE" ABORT "NO ANSWER" "" ATZ OK ATDT <ISP's phonenumber> TIMEOUT 35 CONNECT '' TIMEOUT 10 ogin: \q<username> TIMEOUT 10 assword: \q<mysecretpassword> # End /etc/chatscripts/provider ¾ÏÈ£ ÀÎÁõ¿¡¼ ÁÖÀÇÇÒ »çÇ׿¹Á¦ ½ºÅ©¸³Æ®µé¿¡¼ º¸µíÀÌ (À̰͵éÀº ³»°¡ X¸¦ ¾²Áö ¾ÊÀ» ¶§ ½ÇÁ¦·Î »ç¿ëÇÏ´Â ½ºÅ©¸³Æ®µéÀÌ´Ù) À§¿¡¼ ³ª´Â ³» ISP·Î papÀ̳ª chapÀ» ÅëÇÑ ÀÎÁõ ´ë½Å chatscripts¸¦ ÀÌ¿ëÇÏ¿© Á¢¼ÓÇÏ¿´´Ù. ³» ISP°¡ pap¸¦ Áö¿øÇϱä ÇÏÁö¸¸ ³ª´Â ÀÌ Àå/´ÜÁ¡À» ¸ðµÎ °¡Áø ¾à°£ ´Ù¸¥ ¹æ½ÄÀ¸·Î Çϱâ·Î °áÁ¤ÇÏ¿´´Ù. ³» °æ¿ì¿¡ ÀåÁ¡ÀÌ ´ÜÁ¡º¸´Ù ¸¹´Ù. ÀÌ ¹æ½ÄÀ¸·Î ³ª´Â ³» Á¢¼Ó °úÁ¤¿¡ ´ëÇÑ ´õ ¸¹Àº Á¦¾î±ÇÀ» °¡Áú ¼ö ÀÖ°í ¾ðÁ¦ ¾î¶² ÀÏÀÌ ÀϾ´ÂÁö¸¦ ´õ ÀÚ¼¼È÷ ¾Ë ¼ö ÀÖ¾ú´Ù. ¿¹¸¦ µé¾î ³»°¡ Á¢¼ÓÇÒ ¶§ ´ëºÎºÐ ³ª´Â 11. ³×Æ®¿÷ Ŭ¶óÀ̾ðÆ®ÀÇ ¼³Ä¡11.1 Email Ŭ¶óÀ̾ðÆ® ¼³Ä¡ÇϱâMailxÀÇ ¼³Ä¡
make; make install MuttÀÇ ¼³Ä¡³»°¡ °¡Àå ¼±È£ÇÏ´Â email Ŭ¶óÀ̾ðÆ®°¡ MuttÀÌ¶ó¼ ¿ì¸®´Â MuttÀ» ¼³Ä¡ÇÒ °ÍÀÌ´Ù. MuttÀÌ ¾Æ´Ñ ¿©·¯ºÐÀÌ ÁÁ¾ÆÇÏ´Â ´Ù¸¥ Ŭ¶óÀ̾ðÆ®¸¦ ¼³Ä¡Çصµ ¹«¹æÇÏ´Ù. ¸¸¾à ¿©·¯ºÐÀÌ ¾²·Á´Â Ŭ¶óÀ̾ðÆ®°¡ X À©µµ¿ì¿ëÀ̶ó¸é (Netscape Mail °°Àº) ¿ì¸®°¡ X¸¦ ¼³Ä¡ÇÒ ¶§±îÁö °¡¸¸È÷ ¾É¾Æ¼ ±â´Ù·Á¾ß ÇÑ´Ù.
./configure make; make install FetchmailÀÇ ¼³Ä¡
./configure make; make install email ½Ã½ºÅÛÀÇ °Ë»çÀÌÁ¦ email ½Ã½ºÅÛÀ» °Ë»çÇÒ ¶§ÀÌ´Ù.
¸ðµç°Ô Àß µ¿ÀÛÇß´Ù¸é ¿©·¯ºÐÀº ·ÎÄà À̸ÞÀÏ¿¡ ´ëÇؼ± Á¤»óÀûÀ¸·Î ÀÛµ¿ÇÏ´Â À̸ÞÀÏ ½Ã½ºÅÛÀ» °¡Áö°Ô µÈ °ÍÀÌ´Ù. ¾ÆÁ÷Àº ÀÎÅͳݿ¡µµ ¾µ ¼ö ÀÖÀ» ÇÊ¿ä´Â ¾ø´Ù. userdel -r testuser ¸¦ ½ÇÇàÇÏ¿© testuser¸¦ Áö¿ï ¼ö ÀÖ´Ù. 11.2 FTP Ŭ¶óÀ̾ðÆ®ÀÇ ¼³Ä¡Netkit-ftpÀÇ ¼³Ä¡
./configure make; make install FTP ½Ã½ºÅÛÀÇ °Ë»ç
11.3 HTTP Ŭ¶óÀ̾ðÆ®ÀÇ ¼³Ä¡ZlibÀÇ ¼³Ä¡Zlib´Â PKwareÀÇ zipÀ̳ª unzip °°Àº ÇÁ·Î±×·¥µé¿¡¼ »ç¿ëµÇ´Â ¾ÐÃà ¶óÀ̺귯¸®ÀÌ´Ù. ƯÁ¤ ÆÄÀϵéÀ» ¾ÐÃàÇϱâ À§Çؼ Lynx°¡ ÀÌ ¶óÀ̺귯¸®¸¦ ¾µ ¼ö ÀÖ´Ù.
./configure --shared make; make install LynxÀÇ ¼³Ä¡
./configure --libdir=/etc --with-zlib make; make install make install-help; make install-doc HTTP ½Ã½ºÅÛÀÇ °Ë»ç
11.4 ÅÚ³Ý Å¬¶óÀ̾ðÆ®ÀÇ ¼³Ä¡¾Õ Àå¿¡¼ ÅÚ³Ý µ¥¸óÀ» ¼³Ä¡ÇÒ ¶§ ÀÌ¹Ì ÅÚ³Ý Å¬¶óÀ̾ðÆ®°¡ ±ò·È´Ù. ÅÚ³Ý ½Ã½ºÅÛÀÇ °Ë»ç
11.5 PPP Ŭ¶óÀ̾ðÆ®ÀÇ ¼³Ä¡¿¬°á ½ºÅ©¸³Æ® ÀÛ¼ºÇϱâ
#!/bin/sh # Begin /usr/bin/pon /usr/sbin/pppd call provider # End /usr/bin/pon ¿¬°á Á¾·á ½ºÅ©¸³Æ® ÀÛ¼ºÇϱâ
#!/bin/sh # Begin /usr/bin/poff set -- `cat /var/run/ppp*.pid` case $# in 0) kill -15 `ps axw|grep "pppd call [[allnum:]]+"|grep -v grep|awk '{print $1}'` exit 0 ;; 1) kill -15 $1 exit 0 ;; esac # End /usr/bin/poff PPP ½Ã½ºÅÛÀÇ °Ë»ç
12. X À©µµ¿ì ½Ã½ºÅÛÀÇ ¼³Ä¡12.1 XÀÇ ¼³Ä¡
make World make install; make install.man ÄÄÆÄÀÏ °úÁ¤µ¿¾È ¿©·¯ºÐÀº "makedepend" ½ºÅ©¸³Æ®°¡ stddef.h¿Í stdarg.h, float.h ÇØ´õ ÆÄÀÏÀ» ãÀ» ¼ö ¾ø´Ù´Â ¿¡·¯¸¦ ¸¸³¯ Áöµµ ¸ð¸¥´Ù. ÄÄÆÄÀÏ ÀÚü´Â ÄÄÆÄÀÏ ¿¡·¯ ¾øÀÌ Àß µÇ¹Ç·Î ±× ½ºÅ©¸³Æ®°¡ ÄÄÆÄÀÏ·¯¸¸Å ¶È¶ÈÇÏÁö ¾ÊÀº °ÍÀÌ´Ù. ´õ±º´Ù³ª, ÀϺΠ½Éº¼¸¯ ¸µÅ©µéÀ» ¸¸µå´Â °ÍÀÌ ¹®Á¦¸¦ ÇØ°áÇÏÁø ¾Ê´Â´Ù. ´Ù¸¸ ´õ ¸¹Àº ¹®Á¦¸¦ ÀÏÀ¸Å³ »ÓÀÌ´Ù. µû¶ó¼ ¿©·¯ºÐÀÌ ¸¸³ª°Ô µÉ ¸¹Àº makedepend ¿¡·¯µéÀ» ±×³É ¹«½ÃÇÏ´Â°Ô ÁÁ´Ù. "pointer targets in passing arg x of somefunction differ in signedness" °°Àº ¿¡·¯µµ ÀÖ´Ù. ±× ÆÄÀϵéÀ» ¿øÇÑ´Ù¸é ¼öÁ¤ÇÒ ¼öµµ ÀÖÁö¸¸ ³ª´Â ±×·¯Áö ¾Ê¾Ò´Ù. 12.2 /etc/ld.so.conf ¸¸µé±â¾Æ·¡¸¦ Æ÷ÇÔÇϵµ·Ï
# Begin /etc/ld.so.conf /lib /usr/lib /usr/X11R6/lib # End /etc/ld.so.conf
12.3 /usr/include/X11 ½Éº¼¸¯ ¸µÅ©ÀÇ »ý¼º
12.4 Creating the /usr/X11 symlink /usr/X11 ½Éº¼¸¯ ¸µÅ©ÀÇ »ý¼ºÁ¾Á¾ ¼ÒÇÁÆ®¿þ¾î°¡ ÆÄÀϵéÀ» /usr/X11·Î º¹»çÇϱ⠶§¹®¿¡ ¿©·¯ºÐÀÌ XÀÇ ¾î¶² ¸±¸®Á ¾²°í ÀÖ´ÂÁö ¾Ë ÇÊ¿ä°¡ ¾ø´Ù. ÀÌ ½Éº¼¸¯ ¸µÅ©´Â XÀÇ ¼³Ä¡ °úÁ¤¿¡¼ »ý¼ºµÇÁö ¾ÊÀ¸¹Ç·Î ¿ì¸®°¡ Á÷Á¢ ¸¸µé¾î¾ß ÇÑ´Ù.
12.5 /usr/X11/binÀ» $PATH ȯ°æ º¯¼ö¿¡ Ãß°¡Çϱâ/usr/X11/bin °æ·Î¸¦ $PATH ȯ°æ º¯¼ö¿¡ Ãß°¡ÇÏ´Â ¹æ¹ý¿£ ¸î °¡Áö°¡ ÀÖ´Ù. ±× Áß Çϳª´Â ¾Æ·¡¿Í °°´Ù:
¼öÁ¤ »çÇ×À» Àû¿ëÇϱâ À§Çؼ± ´Ù½Ã ·Î±äÇØ¾ß ÇÑ´Ù. ¶Ç´Â Á÷Á¢ 12.6 XÀÇ ¼³Á¤
xf86config¿¡ ÀÇÇØ ¸¸µé¾îÁö´Â XF86Config ÆÄÀÏÀÌ ¸¸Á·½º·´Áö ¸øÇÏ´Ù¸é ±âÁ¸ÀÇ ¸®´ª½º ½Ã½ºÅÛ¿¡¼ ¾²°í ÀÖ´ø XF86Config ÆÄÀÏÀ» /etc·Î º¹»çÇÏ´Â °Íµµ ÁÁÀº ¹æ¹ýÀÌ´Ù. xf86config ÇÁ·Î±×·¥ÀÌ Áö¿øÇÏÁö ¾Ê´Â Ưº°ÇÑ ¼öÁ¤ »çÇ×ÀÌ ÇÊ¿äÇÑ °æ¿ì¿£ ÀÌ·¸°Ô ÇØ¾ß ÇÒ °ÍÀÌ´Ù. ¶ÇÇÑ Á÷Á¢ XF86Config ÆÄÀÏÀ» ¼öÁ¤ÇÒ ¼öµµ ÀÖ´Ù. ÀÌ ¹æ¹ýÀº ¿©·¯ºÐÀÌ ¼öÁ¤ÇØ¾ß ÇÒ °ÍÀ» Á¤È®È÷ ±â¾ïÇÏÁö ¸øÇÑ´Ù¸é ¸Å¿ì ½Ã°£ ¼Ò¸ðÀûÀÎ ÀÛ¾÷ÀÌ µÉ °ÍÀÌ´Ù. 12.7 XÀÇ Å×½ºÆ®ÀÌÁ¦ X°¡ ¾Ë¸Â°Ô ¼³Á¤ÀÌ µÇ¾î¼ óÀ½À¸·Î ½ÃÇèÀ» ÇØ º¼ ½ÃÁ¡ÀÌ´Ù.
X ¼¹ö°¡ ½ÃÀÛµÇ°í ¼¼ °³ÀÇ xtermÀÌ ½ºÅ©¸°¿¡ ¶°¾ß ÇÑ´Ù. ¸¸¾à ÀÌ·¸´Ù¸é X°¡ Àß µµ´Â °ÍÀÌ´Ù. 12.8 Window MakerÀÇ ¼³Ä¡³ª´Â À©µµ¿ì ¸Þ´ÏÀú·Î Window Maker¸¦ ¼³Ä¡Çϱâ·Î °áÁ¤Çß´Ù. ÀÌ´Â ³»°¡ ²Ï ¿À·§µ¿¾È WindowMaker¸¦ »ç¿ëÇØ ¿Ô°í ÀÌ¿¡ ¸Å¿ì ¸¸Á·ÇÏ°í Àֱ⠶§¹®ÀÌ´Ù. ¿ª½Ã³ª ¿©·¯ºÐÀº ³»°¡ ÇÏ´Â ´ë·Î ¶È°°ÀÌ ÇÒ ÇÊ¿ä´Â ¾ø´Ù. ¿©·¯ºÐÀÌ ¿øÇÏ´Â °ÍÀ» ¼³Ä¡Çصµ µÈ´Ù. ¾Ë´Ù½ÃÇÇ ¿©·¯ºÐÀº ¿©·¯ °³ÀÇ À©µµ¿ì ¸Þ´ÏÀúµéÀ» µ¿½Ã¿¡ ¼³Ä¡ÇÏ°í $HOME/.xinitrc (ȤÀº xdmÀ» ¾²´Â °æ¿î $HOME/.xsession) ÆÄÀÏ ¾È¿¡¼ ÁöÁ¤À» ÇÏ¿© ¾î¶² °ÍÀ» ½ÇÇàÇÒÁö ¼±ÅÃÇÒ ¼ö ÀÖ´Ù. 12.9 Window Maker ¼³Ä¡¸¦ À§ÇÑ ½Ã½ºÅÛÀÇ ÁغñlibPropListÀÇ ¼³Ä¡
./configure make; make install libXpmÀÇ ¼³Ä¡
xmkmf; make Makefiles; make includes; make depend cd lib; make; make install cd ..; make; make install Makefileµé Áß ÇϳªÀÇ ¹ö±×¶§¹®¿¡ ¾à°£ ´Ù¸¥ ¼³Ä¡ ¹æ¹ýÀÌ ÇÊ¿äÇÏ´Ù. ÀÌ ÆÐÅ°ÁöÀÇ ¼³Ä¡´Â ¾ÆÁ÷ ¼³Ä¡µÇÁö ¾ÊÀº lib µð·ºÅ丮ÀÇ ÆÄÀϵ鿡 ÀÇÁ¸Çϴµ¥ lib µð·ºÅ丮 ¾È¿¡¼ ±× ÆÄÀϵéÀ» ãÁö ¾Ê´Â´Ù. µû¶ó¼ ¿ì¸®´Â ±× ÆÄÀϵéÀ» ½ÇÁ¦ ÆÐÅ°ÁöÀÇ ÄÄÆÄÀÏ ÀÌÀü¿¡ ¸ÕÀú ¼³Ä¡ÇØ¾ß ÇÑ´Ù. libpngÀÇ ¼³Ä¡
make -f scripts/makefile.lnx; make -f scripts/makefile.lnx install libtiffÀÇ ¼³Ä¡
./configure make; make install libjpegÀÇ ¼³Ä¡
./configure --enable-shared --enable-static make; make install libungifÀÇ ¼³Ä¡
./configure make; make install WindowMakerÀÇ ¼³Ä¡
./configure make; make install 12.10 µ¿Àû ·Î´õ ij½¬ÀÇ °»½Å
12.11 WindowMakerÀÇ ¼³Á¤WindowMaker¸¦ ¾²·Á´Â »ç¿ëÀÚ´Â ½ÇÁ¦ »ç¿ë Àü¿¡ wmaker.inst ½ºÅ©¸³Æ®¸¦ ½ÇÇàÇØ¾ß ÇÑ´Ù. ÀÌ ½ºÅ©¸³Æ®´Â ÇÊ¿äÇÑ ÆÄÀϵéÀ» »ç¿ëÀÚÀÇ È¨ µð·ºÅ丮¿¡ º¹»çÇÑ ÈÄ $HOME/.xinitrc ÆÄÀÏÀ» ¼öÁ¤ÇÑ´Ù (¸¸¾à ±× ÆÄÀÏÀÌ ¾ø´Ù¸é »ý¼ºÇÑ´Ù).
12.12 WindowMakerÀÇ °Ë»ç
13. ÀÚ·áµé¿©·¯ºÐÀÌ ´Ù¿î·Îµå ¹Þ°Å³ª »ì¸¸ÇÑ À¯¿ëÇÑ Ã¥, ÇÏ¿ìÅõ, ¿©Å¸ ´Ù¸¥ ¹®¼µéÀÇ ¸ñ·ÏÀÌ ¾Æ·¡¿¡ ÀÖ´Ù. ÀÌ ¸ñ·ÏÀº ½ÃÀÛÇϱâ À§ÇÑ ÀϺκÐÀÌ´Ù. ¿ì¸®°¡ ´õ À¯¿ëÇÑ ¹®¼³ª Ã¥µéÀ» ¾Ë°Ô µÇ¾î ÀÌ ¸ñ·ÏÀÌ ´Ã¾î³ª±â¸¦ Èñ¸ÁÇÑ´Ù. 13.1 Ã¥
13.2 ÇÏ¿ìÅõ ¹®¼µé
13.3 ±âŸ
14. ¸ÎÀ½¸»¿©·¯ºÐÀº Linux From Scratch HOWTOÀÇ ³¡¿¡ µµ´ÞÇß´Ù. ³ª´Â ÀÌ °æÇèÀÌ ¿©·¯ºÐÀÌ ¸®´ª½º¸¦ ´õ Àß ¾Ë°Ô µÇ´Â µ¥¿¡ µµ¿òÀÌ µÇ¾ú±â¸¦ ¹Ù¶õ´Ù. ¿©·¯ºÐÀÌ ÀÌ ¹®¼¿¡¼ ´Ù·ç¾îÁ®¾ß ÇÑ´Ù°í »ý°¢ÇÏ´Â °Í (¿À·ù ¼öÁ¤À̳ª ¿©·¯ºÐÀÌ Áß¿äÇÏ´Ù »ý°¢ÇÏÁö¸¸ ÀÌ ¹®¼¿¡ ºüÁ®ÀÖ´Â ±âŸ ¼ÒÇÁÆ®¿þ¾îµé) ÀÌ ÀÖ´Ù¸é ¿ì¸®¿¡°Ô ¾Ë·Á´Þ¶ó. ¿©·¯ºÐÀÇ µµ¿ò, Á¦¾È°ú ÇÔ²² ÀÌ HWOTO´Â ´õ¿í °³¼±µÉ ¼ö ÀÖ´Ù. ¿ªÀÚÁÖ: Á¶¸¸°£ v2.4°¡ releaseµÉ °Í °°½À´Ï´Ù. 5¿ù 4ÀÏÀÚ·Î(5ÀÏÀÌ´ø°¡? --;) v2.3.2°¡ release µÇ¾ú´Âµ¥ »ó´çÈ÷ stable ÇÏ´Ù°í ÇÕ´Ï´Ù. v2.2ÀÇ bugµéµµ »ó´ç·® fixµÇ¾ú´Ù´Â±º¿ä. v2.4 ºÎÅÍ´Â ±×´ë·Î ½á¸ÔÀ» ¼ö ÀÖÀ» Á¤µµ·Î ¾ÈÁ¤ÀûÀÌ µÇ¾úÀ¸¸é ÁÁ°Ú±º¿ä:) ´õºÒ¾î... v2.3 ºÎÅÍ LinuxDoc DTD°¡ ¾Æ´Ñ DocBook DTD¸¦ »ç¿ëÇÏ´ÂÁö¶ó ¹ø¿ª ÀÛ¾÷À» ¾îÂî ÇؾßÇÒ Áöµµ ³°¨..:( 15. Copyright & Licensing InformationCopyright (C) 1999 by Gerard Beekmans. This document may be distributed only subject to the terms and conditions set forth in the LDP License at http://www.linuxdoc.org/COPYRIGHT.html. It is not necessary to display the license notice, as described in the LDP License, when only a small part of this document (the HOWTO) is quoted for informational or similar purposes. However, I do require you to display with the quotation(s) a line similar to the following line: "Quoted from the LFS-HOWTO at http://huizen.dds.nl/~glb/ Àǹ̸¦ ±×´ë·Î º¸Á¸ÇÏ°í È¿·Â »ó½ÇÀ» ¸·±â À§ÇØ Copyright¿Í License ºÎºÐÀº ¹ø¿ªÇÏÁö ¾Ê½À´Ï´Ù. |
You will be honored for contributing your time and skill to a worthy cause. |