´ç½ÅÀº Ä¿³Î ¼Ò½º¸¦ 20¸Þ°¡ º¸´Ù ´õ ÀÛ°Ô ÁÙÀ̰ųª ±×°ÍÀ» Áö¿öµµ µÈ´Ù. ¸¸¾à¿¡ ±×·¸´Ù¸é, ³ª´Â ´ç½ÅÀÇ ÄÄÇ»ÅÍ¿¡¼ Çѹø ±×¸®°í ¸ðµÎ¸¦ À§Çؼ ¸ÂÃçÁø »õ·Î¿î Ä¿³ÎÀ» ÄÄÆÄÀÏÇϱ⸦ Á¦¾ÈÇÑ´Ù. ±×ÈÄ ¼Ò½º¸¦ ¾ø¾Ö¶ó. Á¶½É Ç϶ó.
´ç½ÅÀÇ ÄÄÇ»ÅÍ°¡ Á¤È®È÷ ¼³Á¤µÇ¾ú´Ù°í È®½ÅÇÏÁö ¾Ê´Â´Ù¸é Ä¿³Î ¼Ò½º¸¦ Áö¿ì´Â °ÍÀ» ±ÇÇÏÁö ¾Ê´Â´Ù. ±× ¹Û¿¡, C ÇÁ·Î±×·¥À» ÄÄÆÄÀÏ Çϱâ À§ÇØ Ä¿³Î ÀÎŬ·çµå ÆÄÀÏÀÌ ÇÊ¿äÇÏ´Ù. ´Ù½Ã »ý°¢Ç϶ó!
±×·¸°Ô ÇÏ·Á°í ÇÑ´Ù¸é, ´ç½ÅÀÇ ÄÄÇ»ÅÍ¿¡¼ ¾ÖÇø®ÄÉÀ̼ÇÀ» ÄÄÆÄÀÏÇϱ⠿øÇÑ´Ù¸é include/linux µð·ºÅ丮¸¦ Áö¿ì¸é ¾ÈµÈ´Ù.
Áö±Ý, ´ç½ÅÀÌ Á¤¸»·Î ÇÊ¿äÇÑ ¼ÒÇÁÆ®¿þ¾î¸¦ °áÁ¤Çضó. ¸î¸îÀº ÀåȲÇÏ´Ù°í ÀÔÁõ µÇ¾ú´Ù: ¿¹¸¦ µé¸é, ´ç½ÅÀÌ emacs ¾øÀÌ »ì ¼ö ¾ø´Ù°í È®½ÅÇϴ°¡? ´ç½ÅÀº ´ë½Å jed¸¦ ¾µ¼ö ÀÖ´Ù.
´ç½ÅÀÌ º¸Á¸Çϱ⠿øÇÏ´Â °ÍÀ» °áÁ¤Ç϶ó. ¸î¸î Àü¹ÝÀûÀÎ µ¿ÀÛ:
gcc´Â »ó´çÈ÷ Å« ÆÐÅ°ÁöÀÌ´Ù. Ä¿³Î°ú ¸®´ª½º ¹ÙÀ̳ʸ®°¡ »ý¼ºµÇÁö ¾ÊÀº ¸ðµç ¾ÖÇø®ÄÉÀ̼ÇÀ» ´Ù½Ã ÄÄÆÄÀÏÇϴµ¥ ÇÊ¿äÇÏ´Ù. ¹°·Ð, C³ª Æ÷Æ®¶õ (f2c ȤÀº g77) ·Î ÇÁ·Î±×·¥À» ¸¸µé¾ú´Ù¸é ±×°Í ¶ÇÇÑ ÇÊ¿äÇÏ´Ù; ´ç½ÅÀÇ Áö¿ì±â Àü¿¡ ±íÀÌ »ý°¢Ç϶ó. lcc °°Àº ´Ù¸¥ ÄÄÆÄÀÏ·¯µµ ÁÁ´Ù. ±×·¯³ª gcc ·¹º§ÀÌ ¾Æ´Ï´Ù. ³ª´Â ±×°ÍÀ» º¸Á¸Çϱ⸦ Á¦¾ÈÇÑ´Ù;
X11Àº ¾ÆÁÖ Å©´Ù. ±×·¯³ª °¡Áö°í Àֱ⿡ ÁÁ´Ù. ´ç½ÅÀÌ ±×°ÍÀ» Æ÷±âÇÏÁö ¸øÇÏ°Ú´Ù¸é, Àû¾îµµ ÀÛ°Ô ¸¸µé·Á°í ½ÃµµÇ϶ó: ¿ÀÁ÷ X ¼¹ö¸¸ Á¤´çÇÏ°í, ÇϳªÀÇ °£´ÜÇÑ À©µµ¿ì ¸Å´ÏÀú, ¿ÀÁ÷ ÇϳªÀÇ xterm, 100 dpi ÆùÆ®´Â ¾ÈµÇ°í, ±×¿Ü;
Tex°ú ÷ºÎµÈ ÆÐÁöÅ°´Â Á¤¸» ¸Å¿ì Å©´Ù. LaTeX°ú TeX¸¦ Æ÷±âÇÏ´Â °ÍÀº ¸¹Àº °ø°£À» Àý¾àÇÑ´Ù; ´ç½ÅÀÌ dvitty¿Í dvivga¸¦ ¾´´Ù¸é, xdvi³ª ghostview°°Àº X11 ÇÁ¸®ºä¾î¸¦ Æ÷±âÇÏ´Â °ÍÀº °¡´ÉÇÏ´Ù. X11 dviware°¡ ÇÊ¿ä·ÎÇÏ´Â °ÍÀ» Á¦°ÅÇÏ´Â °ÍÀº X11¸¦ ÀåȲÇÏ°Ô ¸¸µé ¼ö ÀÖ´Ù;
°ÔÀÓÀº Àý´ë·Î ``ÇÊ¿ä'' ÇÏÁö ¾Ê´Ù.
¹ÙÀ̳ʸ®ÀÇ Å©±â¸¦ °¨¼Ò½ÃÅ°±â ½ÃÀÛÇÏÀÚ. /usr/bin °ú ¹®Á¦ÀÇ ¸í·ÉÀ¸·Î À§Ä¡¸¦ ¹Ù²ÙÀÚ.
machine:/usr/bin# strip *¹ÙÀ̳ʸ®ÀÇ ÀÓº£µðµå ±âÈ£¿Í °°ÀÌ ¾ø¾îÁú °ÍÀÌ´Ù. /usr/X11R6/bin °ú ´Ù¸¥ ½ÇÇà °¡´ÉÇÑ µð·ºÅ丮¿¡¼ ¹Ýº¹Çضó (TeX¿Í gcc ¹ÙÀ̳ʸ®¸¦ ÀØ¾î ¹ö¸®Áö ¸¶¶ó). ±×·¯³ª /sbin, /bin ȤÀº /usr/sbin ¿¡¼´Â ÇÏÁö ¸¶¶ó!
¸ÕÀú, upx¸¦ ¼³Ä¡ÇÏ°í ¹®¼¸¦ Àоî¶ó. ±× ÈÄ /usr/binÀ¸·Î °¡¼ upx * ¸í·ÉÀ¸·Î ±× °ÍÀ» ½ÇÇà½ÃÄѶó; ¸ðµç ½ÇÇà °¡´ÉÇÑ °ÍÀ» ¾ÐÃàÇÒ °ÍÀÌ´Ù. ´Ù¸¥ µð·ºÅ丮¿¡¼µµ ÀÌ ÀÛ¾÷À» ¹Ýº¹Ç϶ó.
»õ ÆÐÅ°Áö¸¦ ¼³Ä¡ÇÒ ¶§ ¸¶´Ù ½ÇÇà °¡´ÉÇÑ ÆÄÀÏÀ» ¾ÐÃàÇÏ´Â °ÍÀ» ±â¾ïÇ϶ó!
Çѹø ¾ÐÃàµÈ ´Ù¸¥ ÆÄÀÏÀÌ ¸¹ÀÌ ÀÖ´Ù. /usr/doc/ ¿¡¼µµ ½ÃÀÛÇÏÀÚ; µð·ºÅ丮¸¦ ¿Å±â°í ¸í·ÉÀ» ½ÇÇàÇ϶ó
machine:/usr/doc# find . -type f -exec gzip -9 {} \; 2> /dev/null´ç½ÅÀÌ »õ ÆÐÅ°Áö¸¦ ¼³Ä¡ÇÒ ¶§ ¸¶´Ù docs¸¦ ¾ÐÃàÇÏ´Â °ÍÀ» ±â¾ïÇ϶ó!
TeX¿ë ¹®¼°¡ Æ÷ÇÔµÈ µð·ºÅ丮¿¡¼µµ ÀÌ ÀÛ¾÷À» ¹Ýº¹ÇÏ°¡(½Ã½ºÅÛÀÇ /usr/lib/texmf/texmf/doc/. È®½ÇÇϸé ÀÌ µð·ºÅ丮¸¦ ¿ÏÀüÈ÷ Á¦°ÅÇ϶ó.
Áö±Ý, zlibc¸¦ ¼³Ä¡ÇÏ°í ±× °ÍÀ» ÄÄÆÄÀÏ ÇÒ °ÍÀÌ´Ù. ´ç½ÅÀÇ ½Ã½ºÅÛÀÌ ³ªÀÇ °Í°ú ºñ½ÁÇÏ´Ù¸é, ÄÄÆÄÀÏ ÇÁ·Î¼¼½º´Â libc(Á¤Àû)ÀÌ ¾ø¾îÁ³´Ù°í ÇÒ °ÍÀÌ´Ù. ħÂøÇÏ°í, ´ç½ÅÀº ´ç½ÅÀÌ ÇÊ¿äÇÑ uncompress.o ¶ó°í ºÒ¸®´Â ÆÄÀÏÀ» ãÀ» °ÍÀÌ´Ù. ±× °ÍÀ» /usr/local/lib·Î ¿Å±â°í ´ç½ÅÀÇ /etc/profile ÆÄÀÏ¿¡ ÀÌ ¶óÀÎÀ» Ãß°¡Ç϶ó:
export LD_ELF_PRELOAD=/usr/local/lib/uncompress.oÁö±Ý, ´ç½ÅÀº gzipÀ¸·Î¸¸ ¾ÐÃàÀ» ÇÒ ¼ö ÀÖ´Ù. ±×·¯³ª ¶ÇÇÑ µ¥ÀÌŸ ÆÄÀÏ: ±× °ÍÀ» »ç¿ëÇÒ ¼ö ÀÖÀ½¿¡µµ ºÒ±¸ÇÏ°í ¾ÖÇø®ÄÉÀ̼ÇÀº ±×°ÍÀ» ¾µ °ÍÀÌ´Ù. ÀÌ·ÐÀûÀ¸·Î, Æ®¸¯Àº ´ëºÎºÐÀÇ ¾ÖÇø®ÄÉÀ̼ǰú ÀÛ¾÷À» ÇؾßÇÑ ÇÏÁö¸¸ ´ç½ÅÀÇ ¼º°øÀÇ ´Ü°è¸¦ ½À°üÀûÀ¸·Î º¯°æÇÒ °ÍÀÌ´Ù. ³ªÀÇ °ÍÀº ¾ÆÁÖ È°¿ë µÇÁö ¾Ê¾Ò´Ù.