´ÙÀ½ ÀÌÀü Â÷·Ê

5. Ä¿³Î ÆÐÄ¡Çϱâ

5.1 ÆÐÄ¡ÀÇ Àû¿ë

Ä¿³ÎÀÇ ´Ã¾î³­ ¾çÀº ÆÐÄ¡·Î ¹èÆ÷µÈ´Ù. ¿¹¸¦ µé¾î, ¿©·¯ºÐÀÌ 1.1.45¹öÀüÀ» °¡Áö°í ÀÖ°í ´Ù¸¥ ¾îµò°¡¿¡ `patch46.gz'ÀÌ ÀÖ´Ù°í ÇÏÀÚ. ÀÌ°ÍÀº ¿©·¯ºÐÀÌ ÆÐÄ¡ÀÇ Àû¿ëÀ» ÅëÇؼ­ 1.1.46¹öÀüÀ¸·Î ¾÷±×·¹À̵å ÇÒ ¼ö ÀÖ´Ù´Â ¶æÀÌ´Ù. ¿©·¯ºÐÀº °¡Àå ¸ÕÀú ¼Ò½º ±¸Á¶ÀÇ ¹é¾÷À» ¸¸µé¾î¾ß ÇÒ °ÍÀÌ´Ù.(`make clean' À» ÇÏ°í `cd /usr/src; tar zcvf old-tree.tar.gz linux'¶ó°í ÇÏ¸é ¿©·¯ºÐÀº tar ¾ÐÃà ÆÄÀÏÀ» ¸¸µé ¼ö ÀÖ´Ù).

À§ÀÇ ¿¹¿¡¼­ °è¼ÓÇϸé, ¿©·¯ºÐÀÌ `patch46.gz'À» /usr/src ¿¡ °¡Áö°í ÀÖ´Ù°í °¡Á¤ÇÏÀÚ. /usr/src·Î µé¾î°¡¼­ `zcat patch46.gz | patch -p0' ¶ó°í ÇÑ´Ù. (¶Ç´Â ÆÐÄ¡°¡ ¾ÐÃàµÇ¾îÀÖÁö ¾Ê´Ù¸é `patch -p0 < patch46'À̶ó°í Çصµ µÈ´Ù). ±× °ÍÀÌ ¼º°øÇÏµç ¾ÈÇϵ簣¿¡, ³»¿ëÀ» Àû¿ëÇÏ°í ÀÖ´Ù´Â ¼Ò¸®¸¦ µéÀ¸¸ç À®ÇÏ°í ³¯ ¾Æ°¡´Â °Í(¸¸¾à ¿©·¯ºÐÀÇ ½Ã½ºÅÛÀÌ ´À¸®´Ù¸é õõÈ÷ ³»·Á¿À´Â °ÍÀ»)À» º¸°Ô µÉ °ÍÀÌ´Ù. º¸Åë, ÀÌ ÀÛ¾÷Àº ¿©·¯ºÐÀÌ Àб⿡´Â ³Ê¹« »¡¸® Áö³ª°¡¼­ ±×°ÍÀÌ Á¦´ë ·Î ÀÛµ¿µÇ°í Àִ°ÇÁö ¾Æ´ÑÁö È®ÀÎÇÒ ¼ö ¾ø´Ù. ±×·¡¼­ ÆÐÄ¡ÇÒ ¶§¿¡ -s Ç÷¡±× ¸¦ »ç¿ëÇÔÀ¸·Î½á ´ÜÁö ¿¡·¯ ¸Þ¼¼Áö¸¸À» ³ª¿À°Ô ÇÒ ¼ö ÀÖ´Ù(¿©·¯ºÐÀº "³» ÄÄÇ» ÅÍ°¡ ½ÇÁ¦·Î ¹«¾ð°¡ ¹Ù²Ù°í ÀÖ±¸³ª!"¶ó´Â ´À³¦¹Û¿¡´Â °¡Áú ¼ö ¾øÀ» °ÍÀÌ´Ù. ÇÏ Áö¸¸ ¿©·¯ºÐÀÌ ¿øÇÑ´Ù¸é...). ºÎµå·´°Ô ³Ñ¾î°¡Áö ¾Ê´Â ºÎºÐµéÀ» º¸±â À§Çؼ­´Â /usr/src/linux·Î °¡¼­ .rej È®ÀåÀÚ¸¦ °¡Áø ÆÄÀÏÀ» º¸¾Æ¶ó. ¾î¶² ¹öÀüÀÇ ÆÐÄ¡ ´Â(±¸¹öÀüÀϼö·Ï ÇϱÞÀÇ ÆÄÀÏ ½Ã½ºÅÛ¿¡¼­ ÄÄÆÄÀϵǾú´Ù.) # È®ÀåÀÚ¸¦ °¡Áø ÆÄ ÀÏ¿¡ °ÅºÎµÈ(½ÇÆÐÇÑ) »çÇ×À» ³²°å´Ù. À̵éÀ» ã±â À§ÇØ `find' ¸í·É¾î¸¦ »ç¿ëÇÒ ¼öµµ ÀÖ´Ù.

    find .  -name '*.rej' -print

Ç¥ÁØ Ãâ·ÂÀ¸·Î ÇöÀç µð·ºÅ丮¿Í ±× ¾Æ·¡ÀÇ ¸ðµç ¼­ºê µð·ºÅ丮¿¡ ÀÖ´Â .rej È®ÀåÀÚ¸¦ °¡Áø ¸ðµç ÆÄÀϵéÀ» Ãâ·ÂÇÑ´Ù.

¸ðµç°ÍÀÌ Á¦´ë·Î µÇ¸é, 3Àå°ú 4Àå¿¡¼­ ¼³¸íÇÑ `make clean', `config', `dep' ¸¦ ½ÇÇàÇÑ´Ù.

ÆÐÄ¡ ¸í·É¿¡´Â ¾à°£ÀÇ ¿É¼ÇÀÌ ÀÖ´Ù. À§¿¡¼­ ¸»ÇÑ °Íó·³, patch -s ´Â ¿¡·¯ ¸Þ¼¼Áö ÀÌ¿ÜÀÇ ¸ðµç ¸Þ¼¼Áö´Â ³ª¿ÀÁö ¾Ê°Ô ÇÑ´Ù. ¸¸ÀÏ ¿©·¯ºÐÀÌ ¿©·¯ºÐÀÇ Ä¿³Î ¼Ò½º¸¦ /usr/src/linux º¸´Ù´Â ´Ù¸¥ Àå¼Ò¿¡ °¡Áö°í ÀÖÀ¸·ÁÇÑ´Ù¸é, patch -p1 (±× µð·ºÅ丮¿¡¼­)´Â ÆÐÄ¡ÇÑ °ÍµéÀ» ¸»²ûÈ÷ ÇÒ °ÍÀÌ´Ù. ´Ù¸¥ ÆÐÄ¡ ¿É¼ÇµéÀº ¸Þ ´º¾ó ÆäÀÌÁö¿¡ Àß ¼³¸íµÇ¾î ÀÖ´Ù.

5.2 ¸¸ÀÏ ¹«¾ð°¡ À߸øµÈ´Ù¸é

(¾Ë¾ÆµÑ °Í : ¾Æ·¡´Â ¿À·¡ µÈ Ä¿³Ú¿¡°Ô¸¸ Àû¿ëµÈ´Ù)

Á¦±âµÇ´Â °¡Àå Áß¿äÇÑ ¹®Á¦´Â Á¦´ë·Î µÇÁö ¾Ê´Â `config.in' ÆÄÀÏÀÌ ¾ðÁ¦ »ý¼ºµÇ¾ú³ª ÇÏ´Â °ÍÀÌ´Ù. ÀÌ°ÍÀº ¿©·¯ºÐÀÌ ±× ¼±ÅûçÇ×µéÀ» ¿©·¯ºÐÀÇ ¸Ó½Å¿¡ ¸Â°Ô °íÃľßÇϱ⠶§¹®ÀÌ´Ù. ÀÌ°ÍÀº Á¶½ÉÇؼ­ ÇØ¾ß ÇÑ´Ù. ÇÏÁö¸¸ ¿©ÀüÈ÷ ÇÑ°¡Áö°¡ ÀÌÀü ¹öÀü°ú Ãæµ¹ÇÑ´Ù. config.in.rej ÆÄÀÏÀ» º¸¸é¼­ °íÄ¡°í ¿ø·¡ÀÇ ÆÐÄ¡¿¡´Â ¹«¾ùÀÌ ³²¾Æ ÀÖ´ÂÁö¸¦ º¸¾Æ¶ó. °íÃÄÁø°ÍÀº º¸Åë ±× ÇàÀÇ Ã³À½¿¡ `+'¿Í `-'·Î Ç¥½Ã °¡ µÈ´Ù. ±× Çà ÁÖº¯À» º¸°í ±×µéÀÌ `y'³ª `n' ¾î¶² °ÍÀ¸·Î µÇ¾î ÀÖ´ÂÁö ±â¾ïÇ϶ó. ÀÌÁ¦, config.inÀ» ÆíÁýÇؼ­, `y'´Â `n'·Î, `n'´Â `y'·Î ÀûÀýÈ÷ ¹Ù²Ù±â¹Ù¶õ´Ù.

    patch -p0 < config.in.rej
¸¦ ½ÇÇàÇؼ­ Á¦´ë·Î µÇ¾ú´Ù°í ³ª¿À¸é(½ÇÆа¡ ¾øÀ¸¸é), ±¸¼º°ú ÄÄÆÄÀÏÀ» °è¼ÓÇÏ°í, ³²¾ÆÀÖ´Â config.in.rej ÆÄÀÏÀº Áö¿öµµ µÈ´Ù.

¸¸ÀÏ `previously applied patch detected: Assume -R?'À̶ó´Â ¸»ÀÌ ³ª¿À¸é, ¿©·¯ºÐÀº ¾Æ¸¶ ÇöÀç ¹öÀü ¹øÈ£ ¾Æ·¡ÀÇ °ÍÀ¸·Î ÆÐÄ¡¸¦ Àû¿ëÇÏ·Á°í ÇÏ´Â °ÍÀÏ °ÍÀÌ´Ù. `y'¶ó°í ´äÇϸé, ¿©·¯ºÐÀÇ ¼Ò½º¸¦ ³·Àº ¹öÀüÀ¸·Î µÇµ¹¸®·Á°í ÇÏ´Â °ÍÀ̹ǷΠ´ëºÎºÐÀº ½ÇÆÐÇÒ °ÍÀÌ´Ù. ÀÌ·¸°Ô µÇ¸é, ¿©·¯ºÐÀº »õ·Î¿î ¼Ò½º ±¸Á¶ Àüü¸¦ °¡Á®¾ß¸¸ ÇÑ´Ù.(óÀ½¿¡´Â ±×·¸°Ô ³ª»Û »ý°¢¸¸Àº ¾Æ´Ï´Ù.).

ÆÐÄ¡¸¦ µÇµ¹¸®·Á¸é(Àû¿ëÇÑ °ÍÀ» µÇµ¹¸®·Á¸é), ¿ø·¡ ÆÐÄ¡¿¡¼­ `patch -R'À» »ç¿ëÇ϶ó.

ÆÐÄ¡°¡ Á¤¸» À߸øµÇ¾úÀ» ¶§ °¡Àå ÁÁÀº ¹æ¹ýÀº ¸ðµÎ ³¡³»°í cleanÀ¸·Î ´Ù½Ã ÇÏ´Â °ÍÀÌ´Ù. ¼Ò½º ±¸Á¶ÀÇ Å׵θ®¸¦ ¹þ¾î³ª¼­(¿¹¸¦ µé¸é linux-x.y.z.tar.gz ÆÄÀϵé Áß¿¡ Çϳª¿¡¼­ºÎÅÍ) óÀ½ºÎÅÍ ´Ù½Ã ½ÃÀÛÇÑ´Ù.

5.3 .orig ÆÄÀϵéÀ» ¾ø¾Ö±â

¸î¹øÀÇ ÆÐÄ¡ ÈÄ¿¡´Â, .orig ÆÄÀϵéÀÌ ½×À̱⠽ÃÀÛÇÒ °ÍÀÌ´Ù. ¿¹¸¦ µé¾î, ³»°¡ °¡Áö°í ÀÖ´ø ÇÑ 1.1.51 Æ®¸®´Â 1.1.48À̾úÀ» ¶§ Çѹø û¼ÒÇßÀ» »ÓÀÌ´Ù. ¹Ý ¸Þ°¡ Á¤µµ ÀúÀåµÇ¾î ÀÖ´Â .orig ÆÄÀϵéÀ» ¾ø¾ÖÀÚ.

    find .  -name '*.orig' -exec rm -f {} ';'

ÁÖÀÇÇؼ­ Çϱ⠹ٶõ´Ù. °ÅºÎ»çÇ×À» À§Çؼ­ #¸¦ »ç¿ëÇÏ´Â ÆÐÄ¡ ¹öÀüÀº .orig´ë½Å¿¡  (tilde)¸¦ »ç¿ëÇ϶ó.

.orig ÆÄÀϵéÀ» ¾ø¾Ö´Â ´õ ÁÁÀº ¹æ¹ýÀº GNU Xargs¸¦ ÀÌ¿ëÇÏ´Â °ÍÀÌ´Ù.

    find .  -name '*.orig' | xargs rm
¶Ç´Â ``¾ÆÁÖ È®½ÇÇÏÁö¸¸ ¾à°£ Á» È­¸éÃâ·ÂÀÌ ¸¹Àº'' ¹æ¹ýÀÌ ÀÖ´Ù.

    find . -name '*.orig' -print0 | xargs --null rm --

5.4 ´Ù¸¥ ÆÐÄ¡µé

LinusÀÇ ¹èÆ÷¹°µé ÀÌ¿Ü¿¡µµ ´Ù¸¥ ÆÐÄ¡µéÀÌ ÀÖ´Ù.(³ª´Â ±×µéÀ» ``ºñÇ¥ÁØ''À̶ó°í ºÎ¸¥´Ù.) ¸¸ÀÏ ¿©·¯ºÐÀÌ À̰͵éÀ» Àû¿ëÇÑ´Ù¸é, LinusÀÇ ÆÐÄ¡µéÀº Á¦´ë·Î ÀÛµ¿ÇÏÁö ¾ÊÀ»Áöµµ ¸ð¸£°í, ¶Ç ¿©·¯ºÐÀº ÀÌ°ÍÀ» µÇµ¹¸®±â À§Çؼ­, ¼Ò½º³ª ÆÐÄ¡¸¦ ¼öÁ¤Çϰųª, »õ·Î¿î ¼Ò½º Æ®¸®¸¦ ¼³Ä¡Çϰųª, ¾Æ´Ï¸é À§ÀÇ ÀÛ¾÷µéÀ» ¼¯¾î°¡¸ç ÇØ¾ß ÇÒ °ÍÀÌ´Ù. ÀÌ°ÍÀº ¾ÆÁÖ ¾µ¸ð¾ø´Â ÀÏÀÌ µÉ ¼ö ÀÖ´Ù. ±×·¡¼­ ¸¸¾à ¿©·¯ºÐÀÌ ¼Ò½º¸¦ ¼öÁ¤Çϱ⸦ (¾ÆÁÖ ³ª»Û °á°ú°¡ ³ª¿Ã °¡´É¼ºÀ» °¡Áö°í) ¿øÇÏÁö ¾Ê´Â´Ù¸é, LinusÀÇ ÆÐÄ¡¸¦ Àû¿ëÇϱâ Àü¿¡ ºñÇ¥ÁØ ÆÐÄ¡µéÀ» µÇµ¹·Á ³õ´ø°¡, ¾Æ´Ï¸é »õ ¼Ò½º¸¦ ¼³Ä¡ÇØ¾ß ÇÑ´Ù. ±×¸®°í ³ª¸é, ºñÇ¥ÁØ ÆÐÄ¡µéÀÌ ¾ÆÁ÷µµ µ¿ÀÛÇÏ´ÂÁö º¼ ¼ö ÀÖÀ» °ÍÀÌ´Ù. ¸¸ÀÏ ±×µéÀÌ µ¿ÀÛÇÏÁö ¾ÊÀ¸¸é, ¿©·¯ºÐÀº ÀÌÀü Ä¿³Î¿¡ ¸Ó¹°·¯ Àְųª, ÇÏ°íÀÚ ÇÏ´Â ÀÏÀ» ÇÒ ¼ö ÀÖ´Â ¼Ò½º³ª ÆÐÄ¡¸¦ °¡Áö°í ³îµç°¡, ¾Æ´Ï¸é »õ·Î¿î ¹öÀüÀÇ ÆÐÄ¡°¡ ³ª¿Ã¶§±îÁö ±â´Ù¸± ¼ö ÀÖ´Ù.

Ç¥ÁØ ¹èÆ÷ÆÇÀÌ ¾Æ´Ñ°æ¿ì¿¡ ÆÐÄ¡´Â ¾ó¸¶³ª ÀÏ»óÀûÀÎ °ÍÀϱî? ¿©·¯ºÐÀº ¾Æ¸¶µµ ÀÌ °Í¿¡ ´ëÇØ µé¾îº¸¾ÒÀ» °ÍÀÌ´Ù. ³ª´Â ±ôºýÀÌ´Â Ä¿¼­¸¦ Á¤¸» ½È¾îÇϱ⠶§¹®¿¡ ³» °¡»ó ÄܼÖÀ» À§Çؼ­ ±ôºýÀÓ¾ø´Â ÆÐÄ¡¸¦ »ç¿ëÇÑ ÀûÀÌ ÀÖ´Ù.(ÀÌ ÆÐÄ¡´Â »õ Ä¿³Î ¹öÀü¿¡¼­´Â ºó¹øÈ÷ ¾÷µ¥ÀÌÆ®µÈ´Ù.(Àû¾îµµ Àü¿¡´Â ±×·¨´Ù.)). °¡Àå »õ·Î¿î ÀåÄ¡ µå¶óÀ̹öµéÀº ÀûÀç°¡´É ¸ðµâ·Î °³¹ßµÇ°í ÀÖ´Â °Í°ú µ¿½Ã¿¡ ºó¹øÇÑ ``ºñÇ¥ÁØ'' ÆÐ Ä¡µµ È®½ÇÈ÷ ÁÙ¾îµé°í ÀÖ´Ù.


´ÙÀ½ ÀÌÀü Â÷·Ê