· KLDP.org · KLDP.net · KLDP Wiki · KLDP BBS ·
Linuxdoc Sgml/Software-Building-HOWTO

<!doctype linuxdoc system>


<article>

<!-- Title information -->

<title>¸®´ª½º¿ë ¼ÒÇÁÆ®¿þ¾î ÆÐŰÁö¸¦ ÄÄÆÄÀÏÇϰí ÀνºÅçÇϱâ

<author>
<em><url url="mailto:thegrendel@theriver.com"
name="Mendel Cooper"></em>
---
<url url="http://personal.riverusers.com/~thegrendel/"
name="http://personal.riverusers.com/~thegrendel/">

<date>v1.91, 27 July 1999

<trans>¹ø¿ª: ¹Ú¹Î¼® <tt/mpark@hrl.hitachi.co.jp/

<abstract>
ÀÌ ±ÛÀº ¸®´ª½º¿¡¼­ "ÀϹÝÀûÀÎ" À¯´Ð½º ¼ÒÇÁÆ®¿þ¾î ¹èÆ÷º»À» ÄÄÆÄÀÏÇÏ°í ¼³Ä¡ÇÏ´Â
¹æ¹ý¿¡ ´ëÇÑ ¾È³»¼­ÀÌ´Ù.  ¾Æ¿ï·¯ "rpm"°ú "deb" Çü½ÄÀ¸·Î ¹Ì¸® ÆÐŰÁöÈ­µÈ 
¹ÙÀ̳ʸ®µé¿¡ ´ëÇØ¼­µµ Á¶±Ý ´Ù·é´Ù.
</abstract>

<!-- Table of contents -->
<toc>

<!-- Begin the document -->

<sect>µµÀÔ
<p>
À¯´Ð½º¿Í ¸®´ª½º¿ëÀÇ ¸¹Àº ¼ÒÇÁÆ®¿þ¾î ÆÐŰÁö°¡ ¾ÐÃàµÈ ¼Ò½º ÆÄÀÏ »óÅ·Π¹èÆ÷µÈ´Ù.  
¶È°°Àº ÆÐŰÁö°¡ ¼­·Î ´Ù¸¥ Á¾·ùÀÇ ÄÄÇ»ÅÍ¿¡¼­ µ¹¾Æ°¡µµ·Ï ÄÄÆÄÀ쵃 ¼ö ÀÖ°í, 
µû¶ó¼­ ¼ÒÇÁÆ®¿þ¾î Á¦ÀÛÀÚ´Â ¿©·¯ ¹öÁ¯À» ¸¸µå´Â ¼ö°í¸¦ ´ú ¼ö ÀÖ´Ù.
ÀÌ·¸°Ô ÇØ¼­, ÇÑ ¼ÒÇÁÆ®¿þ¾î ÆÐŰÁöÀÇ ¹èÆ÷º»ÀÌ ÀÎÅÚÀ» ºñ·ÔÇØ DECÀÇ ¾ËÆÄ, 
RISC ¿öÅ©½ºÅ×À̼ǿ¡¼­ ¸ÞÀÎ ÇÁ·¹ÀÓ¿¡ À̸£´Â ÄÄÇ»ÅÍ¿¡¼­ ÄÄÆÄÀÏµÇ°í »ç¿ëµÈ´Ù.
ÇÏÁö¸¸ ºÒÇàÇϰԵµ ÀÌ·± ¹æ½Ä¿¡¼­´Â »ç¿ëÀÚ -- ¹Ù·Î ´ç½Å -- ¿¡°Ô ¼ÒÇÁÆ®¿þ¾î¸¦ 
ÄÄÆÄÀÏÇÏ°í ¼³Ä¡ÇÒ Ã¥ÀÓÀ» Á®¾ß ÇÑ´Ù.  ÇÏÁö¸¸, ÀÌ °úÁ¤À» ÀÌÇØÇÏ´Â °ÍÀº º¸±âº¸´Ù
¾î·Æ°Å³ª ½Åºñ·Î¿î ÀÏÀÌ ¾Æ´Ï´Ù.  ÀÌ ¾È³»¼­°¡ º¸¿©ÁÖµíÀÌ ¸»ÀÌ´Ù.



<sect>ÆÄÀÏÀ» Ç®±â
<p>
´ç½ÅÀº ¼ÒÇÁÆ®¿þ¾î ÆÐŰÁö¸¦ ´Ù¿î¹Þ´Â µîÀÇ ¹æ¹ýÀ¸·Î ±¸Çß´Ù.  ´ë°³ ±× ÆÐŰÁö´Â
<tt>.tar.gz</tt> À̳ª <tt>.tgz</tt> À̶ó´Â ÇüÅ·ΠÇÑ ÆÄÀÏ·Î 
¸ð¾Æ¼­(<em>tarred</em>) ¾ÐÃàÇÑ(<em>gzipped</em>) °ÍÀÌ´Ù.
(ÈçÈ÷ "tarball"À̶ó°í ¾Ë·ÁÁ®ÀÖ´Ù)  ¿ì¼± ÀÌ ÆÄÀÏÀ» Àû´çÇÑ ÀÛ¾÷ µð·ºÅ͸®·Î 
º¹»çÇÑ´Ù.  ´ÙÀ½¿£ ¾ÐÃàÀ» Ç®°í(<em>gunzip</em>) ¿ø·¡ÀÇ ¿©·¯ ÆÄÀÏ·Î 
Ç®¾î³õ´Â´Ù(<em>untar</em>).
<bf>tar xzvf <em>ÆÄÀÏÀ̸§</em></bf> À̶ó°í ÇÏ¸é µÈ´Ù.  ¹°·Ð <em>ÆÄÀÏÀ̸§</em> 
À̶õ ¼ÒÇÁÆ®¿þ¾î ÆÄÀÏÀÇ À̸§ÀÌ´Ù.  
tar¸¦ Ç®¸é º¸Åë ÇÏÀ§ µð·ºÅ͸®µéÀ» ¸¸µé°í °Å±â¿¡ Àû´çÈ÷ ÆÄÀϵéÀ» ¼³Ä¡ÇÑ´Ù.  
Ȥ½Ã ÆÐŰÁö ÆÄÀÏÀÇ È®ÀåÀÚ°¡ <em>.Z</em> ¶ó°í ÇØµµ À§ÀÇ ¹æ¹ýÀ» ¾µ ¼ö ÀÖ´Ù.
<bf>uncompress</bf>¸¦ ¼öÇàÇÑ ´ÙÀ½ <bf>tar xvf</bf> ¶ó°í ÇØµµ µÈ´Ù.  
<bf>tar tzvf ÆÄÀÏÀ̸§</bf>À̶ó°í Çϸé ÀÌ °úÁ¤À» ¹Ì¸® º¼ ¼ö ÀÖ´Ù.  
ÀÌ ¸í·ÉÀº ½ÇÁ¦·Î ¾ÐÃàÀ» ÇØÁ¦Çϰųª ÇÏÁö´Â ¾Ê°í ÆÐŰÁö ¾ÈÀÇ ÆÄÀÏ ¸ñ·ÏÀ» º¸¿©ÁØ´Ù.

"tarball"À» Ç®¾î³»´Â À§ ¹æ¹ýÀº ´ÙÀ½ÀÇ µÎ °¡Áö¿Í µ¿µîÇÏ´Ù.
<itemize>
<item>gzip -cd filename | tar xvf -
<item>gunzip -c filename | tar xvf -
</itemize>
('-'´Â <em>tar</em> ¸í·ÉÀÇ ÀÔ·ÂÀ» <tt>Ç¥ÁØÀÔ·Â</tt>À¸·ÎºÎÅÍ ÀÐ°Ô ÇÑ´Ù.)

»õ·Î¿î <em>bzip2</em>(<tt>.bz2</tt>) Çü½ÄÀÇ ¼Ò½º ÆÄÀÏÀº <bf>bzip2 -cd ÆÄÀÏÀ̸§ 
| tar xvf -</bf> ·Î Ç® ¼ö ÀÖ´Ù.  
¶Ç tar¿¡ ÀûÀýÇÑ ÆÐÄ¡¸¦ Çß´Ù¸é (ÀÚ¼¼ÇÑ °ÍÀº 
<htmlurl url="ftp://metalab.unc.edu/pub/Linux/docs/HOWTO/mini/Bzip" name="Bzip2
HOWTO"> ¸¦ Âü°í)
°£´ÜÈ÷ <bf>tar xyvf ÆÄÀÏÀ̸§</bf> À̶ó´Â ¸í·ÉÀ¸·Î ÇÒ ¼öµµ ÀÖ´Ù.  
µ¥ºñ¾È ¸®´ª½º´Â È÷·Î½Ã ´ÙÄÉÄ«¿Í°¡ ¸¸µç ´Ù¸¥ <tt>tar</tt> ÆÐÄ¡¸¦ ¾²¹Ç·Î 
<em>-I, --bzip2, --bunzip2</em> °°Àº ¿É¼ÇÀ» »ç¿ëÇÑ´Ù.

[ À§ Á¤º¸¸¦ Á¤Á¤ÇÏ°í ¾÷µ¥ÀÌÆ®Çϵµ·Ï ÇØÁØ °Í¿¡ ´ëÇØ R. Lynn°ú Fabrizio 
Stefani¿¡°Ô °¨»çÇÑ´Ù.]



ÆÐŰÁöÀÇ ¼³Á¤ Á¤º¸¿¡ ÁöÁ¤µÈ °Í ¶§¹®¿¡, ¾î¶² ¶§´Â ¾ÐÃàµÈ ÆÄÀÏÀ» »ç¿ëÀÚÀÇ È¨ 
µð·ºÅ͸®³ª  <tt>/</tt>, <tt>/usr/src</tt>, <tt>/opt</tt> µîÀÇ ´Ù¸¥ 
µð·ºÅ͸®¿¡ Ç®¾î ¼³Ä¡ÇØ¾ß ÇÑ´Ù.
¾ÐÃàÀ» Ç® ¶§(untar) ¿¡·¯ ¸Þ½ÃÁö°¡ ³ª¿Â´Ù¸é, ÀÌ µð·ºÅ͸® ÁöÁ¤ ¶§¹®ÀÏ ¼ö ÀÖ´Ù.
ÆÐŰÁöÀÇ ¹®¼­ ÆÄÀÏ, ƯÈ÷ <tt>README</tt>¿Í Ȥ½Ã ÀÖ´Ù¸é <tt>INSTALL</tt> ÆÄÀÏÀ» 
ÀÐ¾î º¸¶ó.
±×¸®°í ¼³Ä¡ ¿ä·É¿¡ ¸Â°Ô config ÆÄÀϰú <tt>Makefile</tt>µéÀ» Çʿ信 µû¶ó 
°íÄ¡µµ·Ï ÇÏÀÚ.
<tt>Imake</tt> ÆÄÀÏÀº ´ë°³ °Çµå·Á¼­´Â <tt>¾ÈµÈ´Ù</tt>´Â Á¡¿¡ ÁÖÀÇÇ϶ó.  
°ÑÀ¸·Î µå·¯³ªÁö ¾Ê´Â °á°ú¸¦ °¡Áö°í ÀÖÀ» ¼ö Àֱ⠶§¹®ÀÌ´Ù.  
´ëºÎºÐÀÇ ¼ÒÇÁÆ®¿þ¾î ÆÐŰÁö´Â <tt>make install</tt> À» ¼öÇàÇÏ¸é ¹ÙÀ̳ʸ® 
ÆÄÀϵéÀ» ½Ã½ºÅÛÀÇ ÀûÀýÇÑ ÀÚ¸®¿¡ °®´ÙµÎµµ·Ï ÇÏ¿© ¼³Ä¡ µð·ºÅ͸® ¹®Á¦¸¦ 
ÀÚµ¿ÀûÀ¸·Î ó¸®ÇÑ´Ù.

<itemize>

<item>ÀÎÅͳÝÀÇ ´º½º±×·ì °°Àº °÷¿¡¼­´Â <tt>shar</tt> ÆÄÀÏÀ̳ª 
<em>shell archive</em> ÇüÅÂÀÇ ¼Ò½ºÆÄÀϵéÀ» º¼ ¼ö ÀÖ´Ù.  
ÀÌ Çü½ÄµéÀº »ç¶÷ÀÌ ÀÐÀ» ¼ö ÀÖ´Ù´Â Á¡ ¶§¹®¿¡ »ç¿ëµÇ°í ÀÖ´Ù.
´º½º±×·ìÀÇ °ü¸®ÀÚ°¡ ¼Ò½ºÆÄÀÏÀ» Àаí Á¤¸®Çϰųª, ºÎÀûÀýÇÑ °ÍÀÏ °æ¿ì¿¡´Â
»èÁ¦ÇÒ ¼ö Àֱ⠶§¹®ÀÌ´Ù.  ÀÌ Çü½ÄÀº <bf>unshar ÆÄÀÏÀ̸§.shar</bf> ¸í·ÉÀ¸·Î 
Ç®¾î¾ß ÇÑ´Ù.  ´Ù¸¥ °ÍÀº "tarball"°ú °°´Ù.

</itemize>


<itemize>

<item>¾î¶² ¼Ò½º ÆÄÀϵéÀº <em>zip</em>, <em>arc</em>, <em>lha</em>, 
<em>arj</em>, <em>zoo</em>, <em>rar</em>, <em>shk</em>¿Í °°ÀÌ DOS, Mac, Amiga 
ÀÇ ºñÇ¥ÁØÀûÀÎ ¾ÐÃà À¯Æ¿¸®Æ¼·Î 󸮵Ǿî ÀÖ´Ù.  ´ÙÇàÈ÷ ÀÌµé ´ëºÎºÐÀ» ó¸®ÇÒ ¼ö 
ÀÖ´Â ¸®´ª½º¿ë À¯Æ¿¸®Æ¼°¡ <url url="http://metalab.unc.edu" name="sunsite"> µî¿¡
ÀÖ´Ù.

</itemize>

¶§·Î´Â Ç®¾î³õÀº ¼Ò½º ÆÄÀÏÀ» ¾÷µ¥ÀÌÆ®Çϰųª ¹ö±× ¼öÁ¤»çÇ×À» Àû¿ëÇÒ Çʿ䰡 ÀÖ´Ù.
ÀÌ·² ¶§´Â º¯°æ »çÇ×À» ³ª¿­ÇÑ <tt>patch</tt>³ª <tt>diff</tt> ÆÄÀÏÀ» »ç¿ëÇÑ´Ù. 
À̰ÍÀº <tt>README</tt>³ª ±âŸ ¹®¼­¸¦ ÅëÇØ ¾Ë ¼ö ÀÖ´Ù.  
Larry WallÀÇ ¸·°­ÇÑ À¯Æ¿¸®Æ¼ <em>patch</em>¸¦ »ç¿ëÇÏ´Â º¸Åë ¹æ¹ýÀº 
<bf>patch < patchfile</bf> ÀÌ´Ù.

ÀÌÁ¦´Â ¼³Ä¡ °úÁ¤ °¡¿îµ¥ ÄÄÆÄÀÏ ´Ü°è·Î ³Ñ¾î°¥ ¼ö ÀÖÀ» °ÍÀÌ´Ù.




<sect>make ¾²±â
<p>
<tt>Makefile</tt>Àº ÄÄÆÄÀÏ °úÁ¤ÀÇ ¿­¼è´Ù.  °¡Àå °£´ÜÇÑ ÇüÅ·Πº¸¸é, MakefileÀº
ÆÐŰÁöÀÇ ½ÇÇà °¡´ÉÇÑ ºÎºÐÀÎ "¹ÙÀ̳ʸ® ÆÄÀÏ"À» ÄÄÆÄÀÏÇϱâ À§ÇÑ ÇϳªÀÇ
½ºÅ©¸³Æ®´Ù.  MakefileÀº ¼Ò½º ÆÄÀÏÀ» ¸ðµÎ ´Ù½Ã ÄÄÆÄÀÏÇÏÁö ¾Ê°í ¼ÒÇÁÆ®¿þ¾î
ÆÐŰÁö¸¦ °»½ÅÇÏ´Â ¹æ¹ýÀ» Á¦°øÇÒ ¼öµµ ÀÖÁö¸¸, ±×°ÍÀº ¶Ç ´Ù¸¥ À̾߱â(ȤÀº
¶Ç ´Ù¸¥ ±Û)ÀÌ´Ù.

¾î´À ½ÃÁ¡¿¡  MakefileÀº <tt>cc</tt>³ª <tt>gcc</tt>¸¦ ½ÇÇà½ÃŲ´Ù.  
<tt>cc</tt>³ª <tt>gcc</tt>´Â »ç½ÇÀº ¼ø¼­¿¡ µû¶ó È£ÃâµÈ Àü󸮱â¿Í C(ȤÀº C++) 
ÄÄÆÄÀÏ·¯, ¸µÄ¿ÀÇ ÁýÇÕÀÌ´Ù.  ÀÌ °úÁ¤À» ÅëÇØ ¼Ò½º´Â ½ÇÁ¦·Î ½ÇÇà½Ãų ¼ö ÀÖ´Â 
¹ÙÀ̳ʸ®·Î º¯È¯µÈ´Ù.

´ë°³ <bf>make</bf> ¶ó°í Ä¡±â¸¸ Çϸé <em>make</em>¸¦ ½ÃÀÛÇÒ ¼ö ÀÖ´Ù.  
ÀÌ·¸°Ô Çϸé ÀϹÝÀûÀ¸·Î ¼³Ä¡ÇÏ·Á°í ÇÏ´Â ÆÐŰÁö¿¡ ÇÊ¿äÇÑ ¸ðµç ½ÇÇà ÆÄÀϵéÀ» 
ÄÄÆÄÀÏÇÑ´Ù.  ÇÏÁö¸¸ make´Â ÆÄÀϵéÀ» Àû´çÇÑ µð·ºÅ͸®¿¡ ¼³Ä¡ÇѴٰųª
(<bf>make install</bf>), ¹¬Àº object ÆÄÀÏÀ» »èÁ¦ÇÏ´Â µî(<bf>make clean</bf>), 
´Ù¸¥ ÀÛ¾÷µéµµ ÇÒ ¼ö ÀÖ´Ù.  <bf>make -n</bf> À̶ó°í Çϸé make¿¡ ÀÇÇØ ¼öÇàµÉ 
¸ðµç ¸í·ÉµéÀ» ½ÇÇàÇÏÁö´Â ¾Ê°í º¸¿©Áֱ⸸ ÇϹǷΠÄÄÆÄÀÏ °úÁ¤À» ¹Ì¸® º¼ ¼ö ÀÖ´Ù.

ÀϹÝÀûÀÎ MakefileÀ» ¾²´Â °ÍÀº ¸Å¿ì °£´ÜÇÑ ¼ÒÇÁÆ®¿þ¾î »ÓÀÌ´Ù.  Á»´õ º¹ÀâÇÑ
¼³Ä¡ °úÁ¤¿¡´Â ¶óÀ̺귯¸®¿Í include ÆÄÀϵéÀÇ À§Ä¡, °³º° ÄÄÇ»ÅÍÀÇ ÀÚ¿ø µî¿¡ µû¶ó
MakefileÀ» ¸ÂÃâ Çʿ䰡 ÀÖ´Ù.  ƯÈ÷ ÄÄÆÄÀÏ¿¡ <tt>X11</tt> ¶óÀ̺귯¸®°¡ ÇÊ¿äÇÒ 
°æ¿ì°¡ ÀÌ¿¡ ÇØ´çµÈ´Ù.  ÀÌ ÀÛ¾÷Àº <em>Imake</em>¿Í <em>xmkmf</em>°¡ ó¸®ÇÑ´Ù.

man ÆäÀÌÁö¿¡¼­´Â <tt>Imakefile</tt>Àº MakefileÀÇ "ÅÛÇø´"À̶ó Çϰí ÀÖ´Ù.  
imake À¯Æ¿¸®Æ¼´Â Imakefile·ÎºÎÅÍ ´ç½ÅÀÇ ½Ã½ºÅÛ¿¡ ¸Â´Â MakefileÀ» ±¸¼ºÇÑ´Ù.  
ÇÏÁö¸¸ ´ëºÎºÐÀÇ °æ¿ì ´ç½ÅÀº imake À¯Æ¿¸®Æ¼ÀÇ ÇÁ·±Æ® ¿£µå(front end)·Î¼­  
imake¸¦ ºÒ·¯³»´Â ½© ½ºÅ©¸³Æ®ÀÎ <bf>xmkmf</bf>¸¦ ¼öÇà½Ãų °ÍÀÌ´Ù.  
±¸Ã¼ÀûÀÎ Áö½Ã´Â ¼ÒÇÁÆ®¿þ¾î ÆÐŰÁö¿¡ µé¾îÀÖ´Â README³ª INSTALL ÆÄÀÏÀ» 
Àо¾Æ¶ó. (Ȥ½Ã ¼Ò½º ÆÄÀϵéÀÇ ¾ÐÃàÀ» Ǭ ´ÙÀ½¿¡ ±âº» µð·ºÅ͸®¿¡ <tt>Imake</tt>
ÆÄÀÏÀÌ ÀÖ´Ù¸é, <bf>xmkmf</bf>¸¦ ¼öÇàÇ϶ó´Â ¾ê±â´Ù.)
ÀÌ °úÁ¤¿¡ ´ëÇÑ ´õ ÀÚ¼¼ÇÑ ºÐ¼®Àº <tt>Imake</tt>¿Í <tt>xmkmf</tt>ÀÇ man ÆäÀÌÁö¸¦ 
Àо¾Æ¶ó.

<tt>xmkmf</tt>¿Í <tt>make</tt>´Â root°¡ ½ÇÇà½ÃÄÑ¾ß ÇÒ ¼öµµ ÀÖ´Ù´Â Á¡¿¡ 
À¯ÀÇÇ϶ó.  ƯÈ÷ ¹ÙÀ̳ʸ® ÆÄÀϵéÀ» <tt>/usr/bin</tt>À̳ª <tt>/usr/local/bin</tt> 
µð·ºÅ͸®·Î ¿Å±â±â À§Çؼ­ <bf>make install</bf>À» ½ÇÇà½Ãų ¶§ ±×·¸´Ù.  
rootÀÇ ±ÇÇÑÀÌ ¾ø´Â ÀÏ¹Ý »ç¿ëÀڷμ­ make¸¦ »ç¿ëÇϸé <em>write access denied</em>
¶ó´Â ¿¡·¯ ¸Þ½ÃÁö¸¦ º¸°Ô µÇ±â ½±´Ù.  ½Ã½ºÅÛ µð·ºÅ͸®¿¡ ¾²±â Çã°¡±ÇÀ» °®°í ÀÖÁö 
¾Ê±â ¶§¹®ÀÌ´Ù.  ¸¸µé¾îÁø ¹ÙÀ̳ʸ® ÆÄÀϵéÀÌ ´ç½Å°ú ´Ù¸¥ ÀûÀýÇÑ »ç¿ëÀڵ鿡°Ô 
ÀûÇÕÇÑ ½ÇÇà Çã°¡±ÇÀ» °®°í ÀÖ´ÂÁöµµ È®ÀÎÇØ¾ß ÇÑ´Ù.

<bf>xmkmf</bf>´Â ´ç½ÅÀÇ ½Ã½ºÅÛ¿¡ ¸Â´Â »õ·Î¿î MakefileÀ» ¸¸µé±â À§Çؼ­ 
<tt>Imake</tt> ÆÄÀÏÀ» »ç¿ëÇÑ´Ù.  º¸Åë <bf>xmkmf</bf>´Â <bf>-a</bf> ¿É¼Ç°ú 
ÇÔ²² »ç¿ëÇÑ´Ù.  <em>make Makefiles, make includes, make depend</em> ¸¦ 
ÀÚµ¿ÀûÀ¸·Î ½ÇÇàÇϱâ À§Çؼ­´Ù.  ÀÌ·¸°Ô Çϸé ÄÄÆÄÀÏ·¯¿Í ¸µÄ¿¸¦ À§ÇØ º¯¼öµéÀ» 
¼³Á¤ÇÏ°í ¶óÀ̺귯¸®ÀÇ À§Ä¡¸¦ Á¤ÀÇÇÑ´Ù.
¶§·Î´Â <tt>Imake</tt> ÆÄÀÏÀÌ ¾ø°í ´ë½Å °°Àº ¿ªÇÒÀ» ÇÏ´Â <tt>INSTALL</tt> À̳ª 
<tt>configure</tt> ¶ó´Â ½© ½ºÅ©¸³Æ®°¡ ÀÖÀ» ¼öµµ ÀÖ´Ù.  
<tt>configure</tt>¸¦ ½ÇÇà½ÃŰ·Á¸é <bf>./configure</bf> ¶ó°í ÇØ¾ß ÇÑ´Ù´Â Á¡¿¡ 
ÁÖÀÇÇØ¾ß ÇÑ´Ù.  ÇöÀç µð·ºÅ͸®ÀÇ Á¤È®ÇÑ <tt>configure</tt> ½ºÅ©¸³Æ®¸¦ 
È£ÃâÇϱâ À§Çؼ­´Ù.  ´ëºÎºÐÀÇ °æ¿ì ¹èÆ÷º»ÀÇ <tt>README</tt> ÆÄÀÏ¿¡ ¼³Ä¡ °úÁ¤¿¡ 
´ëÇÑ ¼³¸íÀÌ µé¾î ÀÖ´Ù.

º¸Åë <tt>xmkmf</tt>³ª ¼³Ä¡ ½ºÅ©¸³Æ®°¡ ¸¸µé¾î³½ <tt>Makefile</tt> ¼ÓÀ» Á÷Á¢ 
»ìÆìº¸´Â °ÍÀÌ ÁÁ´Ù.  ´ë°³ MakefileÀº ´ç½ÅÀÇ ½Ã½ºÅÛ¿¡ ÀûÇÕÇÏÁö¸¸, °æ¿ì¿¡ 
µû¶ó¼­´Â MakefileÀ» º¯°æÇϰųª, ¿¡·¯¸¦ ¼ÕÀ¸·Î ¼öÁ¤ÇÒ Çʿ䰡 ÀÖÀ» ¼öµµ ÀÖ´Ù.


´ë°³ ·çÆ®·Î¼­ <bf>make install</bf>À» Çϸé, »õ·Î ¸¸µç ¹ÙÀ̳ʸ®  ÆÄÀϵéÀ» 
ÀûÀýÇÑ ½Ã½ºÅÛ µð·ºÅ͸®¿¡ ¼³Ä¡ÇÏ°Ô µÈ´Ù.  ¿äÁòÀÇ ¸®´ª½º ¹èÆ÷º»ÀÇ °æ¿ì, 
½Ã½ºÅÛ Àüü¿ëÀÇ ¹ÙÀ̳ʸ® ÆÄÀϵéÀº º¸Åë <tt>/usr/bin</tt>, 
<tt>/usr/X11R6/bin</tt>, <tt>/usr/local/bin</tt>¿¡ ¼³Ä¡µÈ´Ù.
¿ø·¡ ¼³Ä¡Çß´ø ¸®´ª½ºÀÇ ÀϺΰ¡ ¾Æ´Ï±â ¶§¹®¿¡ º°µµÀÇ ¹ÙÀ̳ʸ® ÆÄÀÏ·Î ³²°ÜµÎ±â 
À§Çؼ­ »õ·Î¿î ÆÐŰÁö´Â <tt>/usr/local/bin</tt>¿¡ ¼³Ä¡ÇÏ´Â °ÍÀÌ ÁÁ´Ù.

¿ø·¡ »ó¾÷¿ë UNIX¸¦ À§ÇØ ¸¸µé¾îÁø ÆÐŰÁö´Â <tt>/opt</tt>³ª ±âŸ ³¸¼± µð·ºÅ͸®¿¡ 
¼³Ä¡µÇµµ·Ï µÇ¾î ÀÖÀ» ¼öµµ ÀÖ´Ù.  ÀÌ °æ¿ì, ÁöÁ¤µÈ µð·ºÅ͸®°¡ ¾ø´Ù¸é, 
´ç¿¬È÷ ¼³Ä¡ ¿¡·¯ ¸Þ½ÃÁö°¡ ³ª¿À°Ô µÈ´Ù.  ÀÌ ¹®Á¦¸¦ ÇØ°áÇÏ´Â °¡Àå °£´ÜÇÑ ¹æ¹ýÀº 
root ·Î¼­ <tt>/opt</tt> µð·ºÅ͸®¸¦ ¸¸µé¾î¼­ ÆÐŰÁö¸¦ ¼³Ä¡Çϰí, ÇØ´ç µð·ºÅ͸®¸¦ 
<tt>PATH</tt> ȯ°æº¯¼ö¿¡ ³Ö´Â °ÍÀÌ´Ù.
¶Ç´Â <tt>/usr/local/bin</tt> µð·ºÅ͸®·Î ½Éº¼¸¯ ¸µÅ©¸¦ ¸¸µé ¼öµµ ÀÖ´Ù.



ÀϹÝÀûÀÎ ¼³Ä¡ ¼ø¼­¸¦ Á¤¸®ÇÏ¸é ´ÙÀ½°ú °°´Ù.
<itemize>
<item><tt>README</tt> ÆÄÀÏ ¹× ±×¹ÛÀÇ °¡´ÉÇÑ ¹®¼­¸¦ Àд´Ù.
<item><bf>xmkmf -a</bf>³ª, <tt>INSTALL</tt>, <tt>configure</tt>¸¦ ½ÇÇàÇÑ´Ù.
<item><tt>Makefile</tt>À» È®ÀÎÇÑ´Ù.
<item>ÇÊ¿äÇϸé, <bf>make clean</bf>, <bf>make Makefiles</bf>, 
<bf>make includes</bf>, <bf>make depend</bf>¸¦ ½ÇÇàÇÑ´Ù.
<item><bf>make</bf>¸¦ ½ÇÇàÇÑ´Ù.
<item>ÆÄÀÏÀÇ Çã°¡±ÇÀ» È®ÀÎÇÑ´Ù.
<item>ÇÊ¿äÇϸé <bf>make install</bf>¸¦ ½ÇÇàÇÑ´Ù.
</itemize>


<em>ÁÖÀÇÁ¡:</em>

<itemize>
<item>º¸Åë ÆÐŰÁöÀÇ ÄÄÆÄÀÏÀº root·Î¼­ ÇÏÁö ¾Ê´Â´Ù.  root·Î <bf>su</bf>¸¦ ÇÏ´Â 
°ÍÀº ÄÄÆÄÀÏµÈ ¹ÙÀ̳ʸ® ÆÄÀϵéÀ» ½Ã½ºÅÛ µð·ºÅ͸®¿¡ ¼³Ä¡ÇÒ ¶§¿¡¸¸ ÇÊ¿äÇÏ´Ù.

<item><em>make</em>¿Í ±× »ç¿ë¹ý¿¡ Àͼ÷ÇØÁø ´ÙÀ½¿¡´Â, ¼³Ä¡ÇÏ·Á´Â ÆÐŰÁö¿¡ Æ÷ÇÔµÈ
ȤÀº »õ·Î ¸¸µé¾îÁø Ç¥ÁØ <tt>Makefile</tt>¿¡ <tt>gcc</tt>¸¦ À§ÇÑ ÃÖÀûÈ­ ¿É¼ÇÀ» 
Ãß°¡ÇÏ°í ½ÍÀ» ¼öµµ ÀÖ´Ù.  ÈçÇÑ ¿É¼ÇÀº <em>-O2</em>, 
<em>-fomit-frame-pointer</em>, <em>-funroll-loops</em>, (ÆæÆ¼¾ö cpu¶ó¸é)
<em>-mpentium</em> µîÀÌ´Ù.  <em>Makefile</em>À» º¯°æÇÒ ¶§¿¡´Â ÁÖÀÇÇØ¾ß ÇÑ´Ù.

<item><em>make</em>·Î ¹ÙÀ̳ʸ® ÆÄÀÏÀ» ¸¸µç ´ÙÀ½¿¡´Â <bf>strip</bf>À» Çϰí 
½ÍÀ» ¼ö°¡ ÀÖ´Ù.  <bf>strip</bf>À̶õ ¹ÙÀ̳ʸ® ÆÄÀÏ¿¡¼­ ½Éº¼¸¯ µð¹ö±ë Á¤º¸¸¦ 
Á¦°ÅÇØ¼­ ±× Å©±â¸¦ »ó´çÈ÷ ÁÙ¿©ÁÖ´Â ¸í·ÉÀÌ´Ù.  
¹°·Ð ÀÌ·¸°Ô ÇÏ¸é µð¹ö±ëÀº ºÒ°¡´ÉÇÏ´Ù.

<item><url url="http://sunsite.auc.dk/pack/" name="Pack Distribution 
Project">´Â º°µµÀÇ <em>Ä÷º¼Ç µð·ºÅ͸®</em>¿¡ ¼³Ä¡µÈ ÆÄÀÏµé »çÀÌÀÇ
½Éº¼¸¯ ¸µÅ©¸¦ ó¸®Çϵµ·Ï Python ½ºÅ©¸³Æ®·Î ÀÛ¼ºµÈ µµ±¸µé¿¡ ±â¹ÝÇϴµ¥,
¾ÐÃàµÈ ¼ÒÇÁÆ®¿þ¾î ÆÐŰÁö¸¦ ¸¸µå´Â ¶Ç´Ù¸¥ ¹æ¹ýÀ» Á¦°øÇÑ´Ù.  ÀÌ ¾ÐÃà ÆÐŰÁöµéÀº
º¸ÅëÀÇ <em>tarball</em>ÀÌÁö¸¸, <tt>/coll</tt>°ú <tt>/pack</tt> µð·ºÅ͸®¿¡ 
¼³Ä¡µÈ´Ù.  ÀÌ ¹èÆ÷º»µéÀ» ¾²·Á¸é À§ÀÇ »çÀÌÆ®¿¡¼­ <em>Pack-Collection</em> À» 
´Ù¿î¹Þ¾Æ¾ß ÇÑ´Ù.
</itemize>



<sect>¹Ì¸® ÆÐŰÁöÈ­µÈ ¹ÙÀ̳ʸ® ÆÄÀÏ
<p>

<sect1>rpms, ¹«¾ùÀÌ À߸øµÇ¾ú³ª?
<p>

¼Ò½º·ÎºÎÅÍ ¼öµ¿À¸·Î ÆÐŰÁö¸¦ ÄÄÆÄÀÏÇÏ°í ¼³Ä¡ÇÏ´Â °ÍÀº ºÐ¸íÈ÷ ¾î¶² ¸®´ª½º 
»ç¿ëÀڵ鿡°Ô´Â ¸Å¿ì °Ì³ª´Â ÀÏÀÌ´Ù.  ±×·¡¼­ ÀαâÀÖ´Â <em>rpm</em>°ú 
<em>deb</em> ȤÀº ´õ »õ·Î¿î Stampede <em>slp</em> ÆÐŰÁö Æ÷¸ËÀ» »ç¿ëÇϰï ÇÑ´Ù.
<em>rpm</em> ¼³Ä¡°¡ º¸ÅëÀº ºÎµå·´°í ºü¸¦ ¼ö ÀÖ´Ù.  ¾î´À ¾Ç¸í³ôÀº ¿î¿µ üÁ¦¿¡¼­
¼ÒÇÁÆ®¿þ¾î¸¦ ¼³Ä¡ÇÏ´Â °Í ¸¸Å­À̳ª ¸»ÀÌ´Ù. 
ÇÏÁö¸¸ ÀÚµ¿À¸·Î ¼³Ä¡µÇ´Â ¹Ì¸® ÆÐŰÁöÈ­µÈ ¹ÙÀ̳ʸ® ÆÄÀÏÀÇ ¾àÁ¡¿¡ ´ëÇØ¼­µµ ºÐ¸íÈ÷
»ý°¢ÇØ º¸¾Æ¾ß ÇÑ´Ù.

ù°, ¼ÒÇÁÆ®¿þ¾î ÆÐŰÁö°¡ º¸ÅëÀº ¸ÕÀú "tarball"·Î ¹èÆ÷µÇ¸ç, ¹Ì¸® ÆÐŰÁöÈ­µÈ
¹ÙÀ̳ʸ® ÆÄÀÏÀº ¸çÄ¥¿¡¼­ ¸îÁÖ ½ÉÁö¾î´Â ¸î´Þ µÚ´Ê°Ô ³ª¿Â´Ù´Â °ÍÀ» ¾Ë¾Æ¾ß ÇÑ´Ù.
ÇöÀçÀÇ <em>rpm</em> ÆÐŰÁö´Â ÃÖ½ÅÀÇ "tarball"¿¡ ºñÇØ Àû¾îµµ ¸¶ÀÌ³Ê ¹öÁ¯ 2 
Á¤µµ ´Ê´Â °ÍÀÌ ÀϹÝÀûÀÌ´Ù.  µû¶ó¼­ ¼ÒÇÁÆ®¿þ¾îÀÇ Ã·´ÜÀ» µû¶ó°¡°í ½ÍÀº 
»ç¶÷À̶ó¸é, <em>rpm</em>À̳ª <em>deb</em>°¡ ³ª¿À±â¸¦ ±â´Ù¸± ¼ö ¾øÀ» °ÍÀÌ´Ù.  
´ú ÀαâÀÖ´Â ÆÐŰÁö¶ó¸é ¾Æ¿¹ <em>rpm</em>À¸·Î ¸¸µé¾îÁöÁö ¾ÊÀ» ¼öµµ ÀÖ´Ù.

µÑ°, "tarball" ÆÐŰÁö°¡ º¸´Ù ¿ÏÀüÇϸç, ´õ ¸¹Àº ¿É¼ÇÀ» °¡Áö°í ÀÖ°í, 
´õ ÃÖÀûÈ­½ÃŰ±â ½±´Ù.  ¹ÙÀ̳ʸ® ÆÄÀÏÀÇ rpm ¹èÆ÷º»Àº ¿ø·¡ ¹èÆ÷º»ÀÇ ±â´É °¡¿îµ¥ 
ÀϺθ¦ °¡Áö°í ÀÖÁö ¾ÊÀ» ¼öµµ ÀÖ´Ù.  ¼Ò½º <em>rpm</em>Àº Àüü ¼Ò½º Äڵ带 
Æ÷ÇÔÇϰí ÀÖÀ¸¸ç, <bf>rpm --recompile ÆÐŰÁöÀ̸§.rpm</bf> À̳ª 
<bf>rpm --rebuild ÆÐŰÁöÀ̸§.rpm</bf> ¿É¼ÇÀ¸·Î ÄÄÆÄÀÏÇÏ°í ¼³Ä¡ÇÏ¿©¾ß ÇÑ´Ù.

¼Â°, ¾î¶² ¹Ì¸® ÆÐŰÁöÈ­µÈ ¹ÙÀ̳ʸ® ÆÄÀϵéÀº Á¦´ë·Î ¼³Ä¡µÇÁö ¾ÊÀ¸¸ç, ¼³Ä¡°¡
µÇ¾ú´Ù°í ÇØµµ Á¤»óÀûÀ¸·Î Á¾·áµÇÁö ¸øÇϰí core-dump¸¦ ³¾ ¼ö ÀÖ´Ù.  À̰ÍÀº
ÀÇÁ¸Çϰí ÀÖ´Â ¶óÀ̺귯¸®ÀÇ ¹öÁ¯ÀÌ ´ç½ÅÀÇ ½Ã½ºÅÛ¿¡ ÀÖ´Â °Í°ú ´Ù¸£±â ¶§¹®ÀÏ ¼öµµ
ÀÖ°í, Á¦´ë·Î ÆÐŰÁöÈ­µÇÁö ¾Ê¾ÒÀ» ¼öµµ ÀÖÀ¸¸ç, ȤÀº ±×Àú ½ÇÇà¿¡ ½ÇÆÐÇÑ °Í(plain
broken)ÀÏ ¼öµµ ÀÖ´Ù.  ¾î¶² °æ¿ì°Ç, <em>rpm</em>À̳ª <em>deb</em>¸¦ ¼³Ä¡Çß´Ù¸é, 
´ç½ÅÀº ±× <em>rpm</em>À̳ª <em>deb</em> ÆÐŰÁö¸¦ ¸¸µç »ç¶÷ÀÇ ¼÷·Ãµµ¸¦ 
¹Ï¾î¾ß¸¸ ÇÑ´Ù.

³¡À¸·Î, ¼Ò½º¸¦ ¸¸Áö°í ±×°ÍÀ¸·ÎºÎÅÍ ¹è¿ì±â À§Çؼ­´Â, ¼Ò½º Äڵ带 ¼Õ À§¿¡ °®°í
ÀÖ´Â ÆíÀÌ ÁÁ´Ù.  ¼Ò½º Äڵ带 ¾ÐÃà ÆÄÀÏ·Î °®°í ÀÖ´Â ÆíÀÌ º°µµÀÇ ¼Ò½º 
<em>rpm</em>À¸·Î °®°í ÀÖ´Â Æí¿¡ ºñÇØ ÈξÀ ´õ ¼ö¿ùÇÏ´Ù.


<em>rpm</em> ÆÐŰÁö¸¦ ¼³Ä¡ÇÏ´Â °ÍÀÌ ²À ¾Æ¹« »ý°¢¾øÀÌ °¡´ÉÇÑ °ÍÀº ¾Æ´Ï´Ù.  
ÀÇÁ¸¼º¿¡ ¹®Á¦°¡ ÀÖÀ¸¸é <em>rpm</em> ¼³Ä¡´Â ½ÇÆÐÇÒ °ÍÀÌ´Ù.  ºñ½ÁÇÑ °æ¿ì·Î, 
<em>rpm</em>ÀÌ ´ç½Å ½Ã½ºÅÛ¿¡ ÀÖ´Â °Í°ú ´Ù¸¥ ¹öÁ¯ÀÇ ¶óÀ̺귯¸®¸¦ ¿ä±¸ÇÑ´Ù¸é, 
¼³Ä¡´Â Á¦´ë·Î µÇÁö ¾ÊÀ» °ÍÀÌ´Ù.  ´ç½ÅÀÌ Áö±Ý ÀÖ´Â ¶óÀ̺귯¸®¿¡¼­ ¾ø´Â 
¶óÀ̺귯¸®·ÎÀÇ ½Éº¼¸¯ ¸µÅ©¸¦ ¸¸µé¾îÁØ´Ù ÇØµµ ¸»ÀÌ´Ù.  
<em>rpm</em> ¼³Ä¡°¡ Æí¸®Çϱâ´Â ÇÏÁö¸¸, "tarball" ¼³Ä¡°¡ ½ÇÆÐÇÏ´Â °Í°ú
°°Àº ÀÌÀ¯·Î ½ÇÆÐÇÏ´Â °æ¿ì°¡ ÀÚÁÖ ÀÖ´Ù.

´ç½ÅÀº ÇÊ¿äÇÑ ¾²±â Çã°¡±ÇÀ» °®±â À§Çؼ­ <em>rpm</em>°ú <em>deb</em>ÀÇ ¼³Ä¡¸¦ 
root·Î¼­ ÇØ¾ß¸¸ Çϴµ¥, À̰ÍÀº ½É°¢ÇÑ ÀáÀçÀû º¸¾È ¹®Á¦¸¦ ¾ß±âÇÑ´Ù.  
´ç½ÅÀÌ »ý°¢¾øÀÌ ½Ã½ºÅÛÀÇ ¹ÙÀ̳ʸ® ÆÄÀϰú ¶óÀ̺귯¸®µéÀ» ¸ÁÃĹö¸®°Å³ª, 
½ÉÁö¾î ´ç½Å ½Ã½ºÅÛÀ» ÆÄ±«ÇÒ <em>Æ®·ÎÀÌ ¸ñ¸¶</em>¸¦ ¼³Ä¡ÇÒ ¼öµµ Àֱ⠶§¹®ÀÌ´Ù.
µû¶ó¼­ <em>rpm</em>°ú deb ÆÐŰÁö¸¦ "¹ÏÀ» ¼ö ÀÖ´Â ÀÚ·á¿ø"À¸·ÎºÎÅÍ ¾ò´Â °ÍÀÌ 
Áß¿äÇÏ´Ù.  ¾î¶² °æ¿ì¿¡³ª ´ç½ÅÀº <em>rpm</em> ÆÐŰÁö¸¦ ¼³Ä¡Çϱâ Àü¿¡, 
<bf>rpm --cecksig ÆÐŰÁöÀ̸§.rpm</bf> ¸í·ÉÀ¸·Î (MD5 checksum°ú ´ëÁ¶ÇÏ¿©)
'¼­¸í È®ÀÎ'À» ÇØ¾ß¸¸ ÇÑ´Ù.  ¸¶Âù°¡Áö·Î <bf>rpm -K --nopgp ÆÐŰÁöÀ̸§.rpm</bf>À»
¼öÇàÇÒ °ÍÀ» °­·ÂÇÏ°Ô ±ÇÇÑ´Ù.  <em>deb</em> ÆÐŰÁö¿¡¼­ ÀÌ¿¡ ÇØ´çÇÏ´Â ¸í·ÉÀº
<bf>dpkg -I | --info ÆÐŰÁöÀ̸§.deb</bf> ¿Í <bf>dpkg -e | --control 
ÆÐŰÁöÀ̸§.deb</bf> ÀÌ´Ù.

<itemize>
<item><tt>rpm --checksig gnucash-1.1.23-4.i386.rpm</tt>
<tscreen><verb>
</verb></tscreen>
<tt>gnucash-1.1.23-4.i386.rpm: size md5 OK</tt>
</itemize>

<itemize>
<item><tt>rpm -K --nopgp gnucash-1.1.23-4.i386.rpm</tt>
<tscreen><verb>
</verb></tscreen>
<tt>gnucash-1.1.23-4.i386.rpm: size md5 OK</tt>
</itemize>

ÁøÂ¥ ÆíÁýÁõ ȯÀÚ(ÀÌ Á¤µµ¶ó¸é ÆíÁý±¤À̶ó°í ºÎ¸£´Â °æ¿ì°¡ ´õ ¸¹´Ù)¶ó¸é,
ÆÐŰÁö¸¦ Ç®¾î¼­ ±× ±¸¼º¿ä¼Ò¸¦ È®ÀÎÇϱâÀ§ÇÑ <em>unrpm</em>°ú <em>rpmunpack</em> 
À¯Æ¿¸®Æ¼¸¦ <htmlurl url="ftp://metalab.unc.edu/pub/Linux/utils/package" 
name="Sunsite utils/package directory">ÀÇ utils/package µð·ºÅ͸®¿¡¼­ ±¸ÇÒ ¼ö 
ÀÖ´Ù.

<url url="mailto:klee@debian.org" name="Klee Diene">Àº ¼³Ä¡µÈ <em>.deb</em> 
ÆÄÀÏ¿¡ ¹®Á¦°¡ ÀÖ´ÂÁö MD5 checksum°ú ºñ±³ÇÏ¿© È®ÀÎÇÏ´Â <em>dpkgcert</em>¶ó´Â 
½ÇÇèÀûÀÎ ÆÐŰÁö¸¦ ÀÛ¼ºÇß´Ù.  
<htmlurl url="ftp://ftp.debian.org/pub/debian/project/experimental"
name="Debian ftp archive">¿¡¼­ ±¸ÇÒ ¼ö ÀÖ´Ù.  ÇöÀçÀÇ ÆÐŰÁö À̸§ ¹× ¹öÁ¯Àº 
<em>dpkgcert_0.2-4.1_all.deb</em> ÀÌ´Ù.  
<htmlurl="http://dpkgcert.jimpick.com" name="Jim Pick Software">»çÀÌÆ®´Â 
<em>dpkgcert</em>°¡ ÀüÇüÀûÀÎ µ¥ºñ¾È ½Ã½ºÅÛ ³»ÀÇ ÆÐŰÁöµéÀ» °ËÁõÇϵµ·Ï ÇÏ´Â
½ÇÇèÀûÀÎ ¼­¹ö µ¥ÀÌÅͺ£À̽º¸¦ ¿î¿µÇϰí ÀÖ´Ù.

°¡Àå ´Ü¼øÇϰԴÂ, <bf>rpm -i ÆÐŰÁöÀ̸§.rpm</bf> °ú <bf>dpkg --install 
ÆÐŰÁöÀ̸§.deb</bf> ¸í·ÉÀ¸·Î ÀÚµ¿ÀûÀ¸·Î ¼ÒÇÁÆ®¿þ¾î¸¦ Ç®¾î¼­ ¼³Ä¡ÇÒ ¼ö ÀÖ´Ù.  
ÇÏÁö¸¸ ÀÌ ¸í·ÉÀ» ¸Í¸ñÀûÀ¸·Î ¾²¸é ´ç½Å ½Ã½ºÅÛÀ» ÇØÄ¥ ¼öµµ ÀÖÀ¸¹Ç·Î ÁÖÀÇÇØ¾ß ÇÑ´Ù.

À§ÀÇ °æ°í´Â Á¤µµ´Â ´ú ÇÏÁö¸¸ ½½·¢¿þ¾îÀÇ <em>pkgtool</em> ¼³Ä¡ À¯Æ¿¸®Æ¼¿¡µµ ¿ª½Ã 
Àû¿ëµÈ´Ù.  ¸ðµç "ÀÚµ¿È­µÈ" ¼ÒÇÁÆ®¿þ¾î ¼³Ä¡´Â ÁÖÀǸ¦ ¿äÇÏ´Â °ÍÀÌ´Ù.

<url url="http://www.people.cornell.edu/pages/rc42/program/martian.html"
name="martian">¿Í <url url="http://kitenet.net/programs/alien/" name ="alien">
ÇÁ·Î±×·¥Àº <em>rpm</em>, <em>deb</em>, StampedeÀÇ <em>slp</em>, <em>tar.gz</em> 
ÆÐŰÁö Çü½ÄÀ» ¼­·Î º¯È¯ÇØÁØ´Ù.  ÀÌ ÇÁ·Î±×·¥µéÀ» ¾²¸é ÀÌ ÆÐŰÁöµéÀ» ¸ðµç 
¸®´ª½º ¹èÆ÷º»¿¡¼­ »ç¿ëÇÒ ¼ö ÀÖ´Ù.

´õ ÀÚ¼¼ÇÑ Á¤º¸°¡ ÇÊ¿äÇϸé <em>rpm</em>°ú <em>dpkg</em> ¸í·ÉÀÇ man ÆäÀÌÁö¸¦ 
ÁÖÀÇÇØ¼­ Àаí, 
<htmlurl url="ftp://metalab.unc.edu/pub/Linux/docs/HOWTO/RPM-HOWTO" name="RPM
HOWTO">¿Í TFUGÀÇ <url url="http://www.tfug.org/helpdesk/linux/rpm.html"
name="Quick Guide to Red Hat's Package Manager">, <url
url="http://www.debian.org/doc/FAQ/debian-faq-7.html" name="The Debian
Package Management Tools">¸¦ ÂüÁ¶Ç϶ó.


<sect1>rpmsÀÇ ¹®Á¦: ÇÑ °¡Áö ¿¹
<p>

<url url="mailto:hubicka@paru.cas.cz" name="Jan Hubicka">´Â
<em>xaos</em>¶ó´Â ¸Å¿ì ÈǸ¢ÇÑ ÇÁ·¢Å» ÆÐŰÁö¸¦ ¸¸µé¾ú´Ù.
<url url="http://www.paru.cas.cz/~hubicka/XaoS" name="±×ÀÇ È¨ÆäÀÌÁö">¿¡¼­ 
<tt>.tar.gz</tt>°ú <tt>rpm</tt>·Î µÈ ÆÐŰÁöµéÀ» ±¸ÇÒ ¼ö ÀÖ´Ù.  ÆíÀǸ¦ À§Çؼ­
"tarball" º¸´Ù´Â rpm ¹öÁ¯À» »ç¿ëÇϱâ·Î ÇÏÀÚ.

ºÒÇàÇϰԵµ rpm ¹öÁ¯ÀÇ <em>xaos</em>¸¦ ¼³Ä¡Çϴµ¥ ½ÇÆÐÇß´Ù.  µÎ º°°³ÀÇ rpm ÆÇÀÌ 
¸ðµÎ Á¦´ë·Î µ¿ÀÛÇÏÁö ¾Ê¾Ò´Ù.

<bf>rpm -i --test XaoS-3.0-1.i386.rpm</bf>
<tscreen><verb>
error: failed dependencies:
        libslang.so.0 is needed by XaoS-3.0-1
        libpng.so.0 is needed by XaoS-3.0-1
        libaa.so.1 is needed by XaoS-3.0-1
</verb></tscreen>

<bf>rpm -i --test xaos-3.0-8.i386.rpm</bf>
<tscreen><verb>
error: failed dependencies:
        libaa.so.1 is needed by xaos-3.0-8
</verb></tscreen>

ÀÌ»óÇÑ °ÍÀº <tt>libslang.so.0</tt>, <tt>libpng.so.0</tt>, <tt>libaa.so.1</tt>ÀÌ
¸ðµÎ ½ÃÇèµÈ ½Ã½ºÅÛÀÇ <tt>/usr/lib</tt> µð·ºÅ͸®¿¡ ÀÖ¾ú´Ù´Â °ÍÀÌ´Ù.  
<em>xaos</em>ÀÇ rpmµéÀº ¸±¸®Áî ¹øÈ£´Â °°¾Æµµ Á¶±Ý ´Ù¸¥ ¹öÁ¯ÀÇ ¶óÀ̺귯¸®¸¦ 
¾²µµ·Ï ÄÄÆÄÀϵǾúÀ½ÀÌ Æ²¸²¾ø´Ù.

½ÃÇè»ï¾Æ <tt>xaos-3.0-8.i386.rpm</tt>À» <em>--nodeps</em> ¿É¼ÇÀ» ÁÖ¾î °­Á¦·Î 
¼³Ä¡ÇØ º¸ÀÚ.  <em>xaos</em>¸¦ ½ÇÇà½ÃÄÑ º¸Áö¸¸, ÀÛµ¿ÇÏÁö ¾Ê´Â´Ù.
<tscreen><verb>
xaos: error in loading shared libraries: xaos: undefined symbol: __fabsl
</verb></tscreen>

¿Ö ÀÌ·¸°Ô µÇ´ÂÁö ¾Ë¾Æº¸±â À§ÇØ, °è¼Ó ½ÃµµÇØ º¸±â·Î ÇÏÀÚ.  <em>xaos</em> 
½ÇÇàÆÄÀÏÀÌ ¾î¶² ¶óÀ̺귯¸®¿¡ ÀÇÁ¸Çϰí ÀÖ´ÂÁö ã¾Æº¸±â À§ÇØ <em>ldd</em>¸¦ 
½ÇÇà½ÃÄÑ º¸¸é, ÇÊ¿äÇÑ °øÀ¯ ¶óÀ̺귯¸®°¡ ¸ðµÎ ÀÖ´Ù´Â °ÍÀ» º¸¿©ÁØ´Ù.  
<tt>/usr/lib/libaa.so.1</tt> ¶óÀ̺귯¸®¿¡ <em>nm</em>À» ½ÇÇàÇØ¼­ ±× ½Éº¼¸¯ 
·¹ÆÛ·±½º ¸ñ·ÏÀ» º¸¸é, ÀÌ ¶óÀ̺귯¸®¿¡´Â Á¤¸» <em>__fabsl</em>ÀÌ ºüÁ®ÀÖ´Ù´Â 
°ÍÀ» ¾Ë ¼ö ÀÖ´Ù.  ¹°·Ð ÀÌ ºüÁ®ÀÖ´Â ·¹ÆÛ·±½º´Â ´Ù¸¥ ¶óÀ̺귯¸®¿¡¼­ ºüÁø °ÍÀÏ 
<em>¼öµµ</em> ÀÖÁö¸¸...  ¶óÀ̺귯¸®¸¦ ¹Ù²ÙÁö ¾Ê´Â ÇÑ, ´õ ÀÌ»ó ¾î¿ ¼ö°¡ ¾ø´Ù.

rpmÀº ÀÌÁ¤µµ·Î ÃæºÐÇÏ´Ù.  ÀÌÁ¦ "tarball" Áï <tt>XaoS-3.0.tar.gz</tt>À» 
Ȩ ÆäÀÌÁö³ª <url url="ftp://ftp.ta.jcu.cz/pub/linux/hubicka/XaoS/3.0" 
name="ftp »çÀÌÆ®">¿¡¼­ ´Ù¿î¹Þ´Â´Ù.  ÀÌ ÆÐŰÁö¸¦ ÄÄÆÄÀÏÇØº¸±â·Î ÇÏÀÚ.  
<bf>./configure</bf>, <bf>make</bf>¸¦ ½ÇÇà½Ã۰í, ¸¶Áö¸·À¸·Î (·çÆ®·Î¼­) 
<bf>make install</bf>À» ½ÇÇàÇÑ´Ù.  ¹®Á¦¾øÀÌ ÀÛµ¿ÇÑ´Ù.

À̰ÍÀº ¹Ì¸® ÄÄÆÄÀÏµÈ ÆÐŰÁö°¡ ±× ÀåÁ¡ º¸´Ù ´õ ¸¹Àº ¹®Á¦¸¦ ÀÏÀ¸Å°´Â ¸¹Àº ¿¹ ÁßÀÇ
ÇϳªÀÏ »ÓÀÌ´Ù.




<sect>Termcap °ú Terminfo¿¡ °ü·ÃµÈ À̽´
<p>


man ÆäÀÌÁö¿¡ ÀÇÇϸé, <em>"terminfo´Â ½ºÅ©¸° ÁöÇâÀûÀÎ ÇÁ·Î±×·¥µé¿¡ ÀÇÇØ ÀÌ¿ëµÇ´Â,
Å͹̳ÎÀ» ±â¼úÇÑ µ¥ÀÌÅÍ º£À̽º"</em>ÀÌ´Ù.  terminfo´Â ÅØ½ºÆ®¸¦ Å͹̳ο¡ 
Ç¥½ÃÇϱâ À§ÇØ »ç¿ëµÇ´Â Á¦¾î ½ÃÄö½º (escape code)ÀÇ ÀϹÝÀûÀÎ ÁýÇÕÀ» Á¤ÀÇÇϸç, 
ƯÁ¤ÇÑ µå¶óÀ̹ö ÇÊ¿ä¾øÀÌ ¼­·Î ´Ù¸¥ Å͹̳ΠÇϵå¿þ¾î¸¦ Áö¿øÇÒ ¼ö ÀÖµµ·Ï ÇÑ´Ù.  
<em>terminfo</em> ¶óÀ̺귯¸®´Â ÇöÀçÀÇ ¸®´ª½º ¹èÆ÷º»¿¡¼­ 
<tt>/usr/share/terminfo</tt> ¿¡ À§Ä¡ÇÑ´Ù.

<em>terminfo</em> µ¥À̹ö º£À̽º´Â ÀÌÀüÀÇ <em>termcap</em>°ú ÀÌÁ¨ Æó¹°ÀÌ µÈ 
<em>termlib</em>À» °ÅÀÇ ¹Ð¾î³Â´Ù.  <em>termcap</em>À» ¿ä±¸ÇÏ´Â ÆÐŰÁö¸¦ ´Ù·ê 
¶§¸¦ Á¦¿ÜÇϰí´Â, ÇÁ·Î±×·¥À» ¼³Ä¡Çϴµ¥ ÀÌ ¹®Á¦±îÁö ½Å°æ¾µ Çʿ䰡 ¾ø´Ù.

ÀÌÁ¦ ´ëºÎºÐÀÇ ¸®´ª½º ¹èÆ÷º»ÀÌ <em>terminfo</em>¸¦ »ç¿ëÇϰí ÀÖÁö¸¸, ¿À·¡µÈ 
ÀÀ¿ë ÇÁ·Î±×·¥µé°úÀÇ È£È¯¼ºÀ» À§ÇØ ¿À·¡µÈ termcap ¶óÀ̺귯¸®¸¦ À¯ÁöÇϰí ÀÖ´Ù.
(<tt>/etc/termcapÀ» º¸¶ó.</tt>)  °¡²û termcap¿¡ ¸µÅ©µÈ ¹ÙÀ̳ʸ® ÆÄÀÏÀ» ½±°Ô 
»ç¿ëÇÒ ¼ö ÀÖµµ·Ï Çϱâ À§ÇØ ¼³Ä¡µÇ¾î¾ß Çϴ Ưº°ÇÑ È£È¯¼º ÆÐŰÁö°¡ ÀÖ´Ù.  
¸Å¿ì µå¹°°Ô´Â ¼Ò½º ÆÄÀÏ¿¡¼­ <em>#define termcap</em> À̶ó´Â ¹®ÀåÀ» ÁÖ¼®¹® 
ó¸®ÇÒ Çʿ䰡 ÀÖÀ» ¼öµµ ÀÖ´Ù.  ÀÌ¿¡ ´ëÇÑ ÃÖÁ¾ÀûÀÎ Á¤º¸´Â ´ç½ÅÀÌ »ç¿ëÇÏ´Â 
¹èÆ÷º»ÀÇ ÀûÀýÇÑ ¹®¼­ ÆÄÀÏ¿¡¼­ È®ÀÎÇϵµ·Ï Ç϶ó.



<sect>a.out ¹ÙÀ̳ʸ® ÆÄÀϰúÀÇ È£È¯¼º
<p>

¸Å¿ì µå¹® °æ¿ìÀÌÁö¸¸, a.out ¹ÙÀ̳ʸ® ÆÄÀÏÀ» »ç¿ëÇØ¾ß¸¸ ÇÒ ¼öµµ ÀÖ´Ù.  
¼Ò½º Äڵ带 ¾òÀ» ¼ö ¾ø´Ù°Å³ª, ¾î¶² ÀÌÀ¯¿¡¼­µç ¼Ò½º·ÎºÎÅÍ »õ·Î¿î ELF ¹ÙÀ̳ʸ® 
ÆÄÀÏÀ» ¸¸µé ¼ö ¾ø±â ¶§¹®ÀÌ´Ù.

ÀÌ·² ¶§, ELF·Î ¼³Ä¡µÈ ¸®´ª½º ½Ã½ºÅÛÀº ´ë°³ <tt>/usr/i486-linuxaout/lib</tt>
µð·ºÅ͸®¿¡ ¿Ïº®ÇÑ a.out ¶óÀ̺귯¸®µéÀ» °¡Áö°í ÀÖ´Ù.  a.out ¶óÀ̺귯¸®´Â
ELF ¶óÀ̺귯¸®¿ÍÀÇ È¥¶õÀ» ÇÇÇϱâ À§ÇØ ELF¿Í ´Ù¸£°Ô ¹öÁ¯À» ºÙÀδÙ.
µû¶ó¼­ a.out ¹ÙÀ̳ʸ® ÆÄÀÏÀº ½ÇÇàµÉ ¶§ ¿Ã¹Ù¸¥ ¶óÀ̺귯¸®¸¦ ãÀ» ¼ö ÀÖ¾î¾ß 
ÇÏÁö¸¸, Ç×»ó ÀÌ·¸°Ô µÇÁö´Â ¾Ê´Â´Ù.

Ä¿³ÎÀÌ a.out Áö¿ø ±â´ÉÀ» ÀÚü ³»¿¡³ª ¸ðµâ·Î¼­ °®µµ·Ï ÄÄÆÄÀϵǾú¾î¾ß ÇÑ´Ù´Â
°Í¿¡ ÁÖÀÇÇ϶ó.  ÇÊ¿äÇϸé Ä¿³ÎÀ» ´Ù½Ã ÄÄÆÄÀÏÇÒ ¼öµµ ÀÖ´Ù.  ¾î¶² ¸®´ª½º ¹èÆ÷º»Àº
Ưº°ÇÑ È£È¯¿ë À¯Æ¿¸®Æ¼¸¦ ¼³Ä¡ÇØ¾ß Çϱ⵵ ÇÑ´Ù.  ¿¹¸¦ µé¾î a.outÀÇ X ÀÀ¿ë 
ÇÁ·Î±×·¥À» À§Çؼ­, µ¥ºñ¾È¿¡¼­´Â <tt>xcompat</tt>¸¦ ¼³Ä¡ÇØ¾ß ÇÑ´Ù.

<sect1>¿¹
<p>

Jerry Smith´Â ¸î ³â Àü¿¡ <em>rolodex</em>¶ó´Â ¸Å¿ì Æí¸®ÇÑ ÇÁ·Î±×·¥À» ®´Ù.  
ÀÌ ÇÁ·Î±×·¥Àº Motif ¶óÀ̺귯¸®¸¦ »ç¿ëÇÏÁö¸¸, ´ÙÇàÈ÷µµ Á¤ÀûÀ¸·Î ¸µÅ©µÈ a.out 
Çü½ÄÀÇ ¹ÙÀ̳ʸ® ÆÄÀÏÀ» ±¸ÇÒ ¼ö ÀÖ´Ù.  ºÒÇàÇÑ °ÍÀº <em>lesstif</em> ¶óÀ̺귯¸®¸¦
½á¼­ ´Ù½Ã ÄÄÆÄÀÏ ÇÏ·Á¸é ¼Ò½º¸¦ ¼ö¾øÀÌ ¶â¾î°íÃÄ¾ß ÇÑ´Ù´Â °ÍÀÌ´Ù.  
´õ Å« ºÒÇàÀº a.outÀÌ ¾î¶² ELF ½Ã½ºÅÛ¿¡¼­´Â ´ÙÀ½°ú °°Àº ¿¡·¯ ¸Þ½ÃÁö¸¦ 
ÅͶ߸°´Ù´Â °ÍÀÌ´Ù.
<tscreen><verb>
xrolodex: can't load library '//lib/libX11.so.3'
No such library
</verb></tscreen>

ÀÌ ¶§, <tt>/usr/i486-linuxaout/lib</tt>¿¡´Â ±×·± ¶óÀ̺귯¸®°¡ ÀÖÁö¸¸ xrolodex´Â
±× ¶óÀ̺귯¸®¸¦ ½ÇÇà Áß¿¡ ãÁö ¸øÇÑ °ÍÀÌ´Ù.  °£´ÜÇÑ ÇØ°áÃ¥Àº <tt>/lib</tt> 
¶óÀ̺귯¸®¿¡ ½Éº¼¸¯ ¸µÅ©¸¦ ¸¸µé¾îÁÖ´Â °ÍÀÌ´Ù.

<tt>ln -s /usr/i486-linuxaout/lib/X11.so.3.1.0 libX11.so.3</tt>

libXt.so.3°ú libc.so.4 ¶óÀ̺귯¸®µµ ºñ½ÁÇÑ ¸µÅ©¸¦ ¸¸µé¾îÁÖ¾î¾ß ÇÑ´Ù.  ¹°·Ð
ÀÌ·± ÀϵéÀº root·Î¼­ ÇØ¾ß ÇÑ´Ù.  À̶§ ÀÌ¹Ì ÀÖ´Â ¶óÀ̺귯¸®¸¦ µ¤¾î¾²°Å³ª 
¹öÁ¯ ¹øÈ£¿¡ Ãæµ¹À» ÀÏÀ¸Å°´Â °ÍÀÌ ¾Æ´ÑÁö ¾ÆÁÖ È®½ÇÈ÷ ÇØ¾ß ÇÑ´Ù´Â Á¡À» ¸í½ÉÇ϶ó.
´ÙÇàÈ÷µµ »õ·Î¿î ELF ¶óÀ̺귯¸®´Â ÀÌ·± ¹®Á¦¸¦ ¿¹»óÇÏ°í ¹Ì¸® a.out ¶óÀ̺귯¸® 
º¸´Ù ³ôÀº ¹öÁ¯ ¹øÈ£¸¦ °¡Áö°í ÀÖ´Ù.

À§ÀÇ ¼¼ ¸µÅ©¸¦ ¸¸µé¾îÁÖ°í ³ª¸é, <em>xrolodex</em>´Â Àß ½ÇÇàµÈ´Ù.

<em>xrolodex</em> ÆÐŰÁö´Â ¿ø·¡ <url url="http://www.spectro.com/" 
name="Spectro">¿¡ ¿Ã·ÁÁ³Áö¸¸, ±×°÷¿¡¼­´Â Áö¿öÁø °Í °°´Ù.
Áö±ÝÀº <url url="http://metalab.unc.edu/pub/Linux/apps/reminder/xrolodex.tar.z"
name="Sunsite">¿¡¼­ <em>tar.Z</em> Çü½ÄÀÇ ¼Ò½º ÆÄÀÏ[512k]·Î ´Ù¿î¹ÞÀ» ¼ö ÀÖ´Ù.



<sect>¹®Á¦Çذá
<p>

¿¡·¯ ¾øÀÌ <em>xmkmf</em>¿Í <em>make</em>¿¡ ¼º°øÇß´Ù¸é, <ref id="finalsteps" 
name="´ÙÀ½ Àý">·Î ³Ñ¾î°¡µµ ÁÁ´Ù.  ÇÏÁö¸¸ "½ÇÁ¦ »ýȰ"¿¡¼­´Â ù¹ø¿¡ Á¦´ë·Î 
µÇ´Â ÀÏÀº °ÅÀÇ ¾ø´Ù.  À̶§°¡ ´ç½ÅÀÇ ÀçÄ¡¸¦ ½ÃÇèÇÒ ¶§´Ù.

<sect1>¸µÅ© ¿¡·¯
<p>
<itemize>
<item>xmkmf¸¦ ½ÇÇàÇßÀ½¿¡µµ <em>make</em>°¡ ´ÙÀ½°ú °°Àº ¸Þ½ÃÁö¸¦ ³»°í ½ÇÆÐÇß´Ù°í 
°¡Á¤ÇÏÀÚ.
<tt>Ling error: -lX11: No such file or directory</tt>
ÀÌ °æ¿ì <em>Imake</em> ÆÄÀÏÀÌ Á¦´ë·Î ¼³Á¤µÇÁö ¾Ê¾ÒÀ» °¡´É¼ºÀÌ Å©´Ù.  
<em>Makefile</em>ÀÇ Ã¹ºÎºÐ¿¡ ÀÖ´Â ´ÙÀ½°ú °°Àº ÁÙµéÀ» È®ÀÎÇØ º¸¶ó.

<tscreen><verb>
LIB=            -L/usr/X11/lib
INCLUDE=        -I/usr/X11/include/X11
LIBS=           -lX11 -lc -lm
</verb></tscreen>

<tt>-L</tt>°ú <tt>-I</tt> ½ºÀ§Ä¡´Â °¢°¢ ÄÄÆÄÀÏ·¯¿Í ¸µÄ¿¿¡°Ô 
<em>¶óÀ̺귯¸®</em>¿Í <em>include</em> ÆÄÀϵéÀ» ¾îµð¿¡¼­ ã¾Æ¾ß ÇÏ´ÂÁö 
¾Ë·ÁÁÖ´Â °ÍÀÌ´Ù.  
ÀÌ ¿¹¿¡¼­´Â <em>X11 ¶óÀ̺귯¸®</em>´Â <tt>/usr/X11/lib</tt> µð·ºÅ͸®¿¡, 
<em>X11ÀÇ include ÆÄÀÏ</em>µéÀº <tt>/usr/X11/include/X11</tt> µð·ºÅ͸®¿¡ 
ÀÖ¾î¾ß ÇÑ´Ù.  ´ç½ÅÀÇ ÄÄÇ»ÅÍ´Â ÀÌ¿Í ´Ù¸£´Ù¸é, <em>Makefile</em>¿¡ ÇÊ¿äÇÑ ¼öÁ¤À» 
°¡Çϰí, <em>make</em>¸¦ ´Ù½Ã ÇØ º¸µµ·Ï Ç϶ó.

</itemize>

<itemize>

<item>´ÙÀ½°ú °°ÀÌ ¼öÇÐ ¶óÀ̺귯¸® ÇÔ¼ö¿¡ ´ëÇÑ Á¤ÀǵÇÁö ¾ÊÀº ÂüÁ¶(undefined 
reference)°¡ ÀÖÀ» °æ¿ì:
<tscreen><verb>
         /tmp/cca011551.o(.text+0x11): undefined reference to `cos'
</verb></tscreen>
ÀÌ ¹®Á¦¿¡ ´ëÇÑ ÇØ¹ýÀº <tt>Makefile</tt> ³»ÀÇ <em>LIB</em>À̳ª <em>LIBS</em> 
ºÎºÐ(À§ÀÇ ¿¹¸¦ º¸¶ó)¿¡ <bf>-lm</bf> À» ´õÇÔÀ¸·Î½á <tt>¼öÇÐ ¶óÀ̺귯¸®</tt>¸¦ 
¸í½ÃÀûÀ¸·Î ¸µÅ©ÇÏ´Â °ÍÀÌ´Ù.

</itemize>



<itemize>

<item><em>xmkmf</em>°¡ ½ÇÆÐÇßÀ» ¶§ ÇØ º¼ ¼ö ÀÖ´Â ¶Ç´Ù¸¥ °ÍÀº ´ÙÀ½ÀÇ ½ºÅ©¸³Æ®´Ù.
<tscreen><verb>
         make -DUseInstalled -I/usr/X386/lib/X11/config
</verb></tscreen>
À̰ÍÀº <em>xmkmf</em>¿Í µ¿µîÇÑ Àú¼öÁØ ¸í·É(bare bone)ÀÇ ÀÏÁ¾ÀÌ´Ù.

</itemize>

<itemize>

<item>¸Å¿ì µå¹® °æ¿ìÁö¸¸, <em>root</em>·Î¼­ <em>ldconfig</em>¸¦ ½ÇÇà½ÃŰ´Â °ÍÀÌ
ÇØ¹ýÀÌ µÉ ¼öµµ ÀÖ´Ù.
<tscreen><verb>
</verb></tscreen>

<bf># ldconfig</bf> ´Â °øÀ¯ ¶óÀ̺귯¸®ÀÇ ½Éº¼¸¯ ¸µÅ©¸¦ °»½ÅÇÑ´Ù.  
<em>À̰ÍÀº ¹Ýµå½Ã ÇÊ¿äÇÑ °ÍÀº ¾Æ´Ò ¼öµµ ÀÖ´Ù.</em>

</itemize>

<itemize>

<item>¾î¶² <tt>Makefile</tt>Àº ´ç½ÅÀÇ ½Ã½ºÅÛ¿¡ ÀÖ´Â ¶óÀ̺귯¸®¿¡ ´ëÇØ ÀνĵÇÁö 
¾ÊÀº(unrecognized) º°¸í(alias)¸¦ »ç¿ëÇϱ⵵ ÇÑ´Ù.  ¿¹¸¦ µé¾î, ÄÄÆÄÀÏÀº 
<tt>libX11.so.6</tt>À» ¿ä±¸ÇÏÁö¸¸ <tt>/usr/X11R6/lib</tt>¿¡´Â ±×·± ÆÄÀÏÀ̳ª 
¸µÅ©°¡ ¾øÀ» ¼ö ÀÖ´Ù.  ÇÏÁö¸¸ <tt>libX11.so.6.1</tt>Àº ÀÖ´Ù.  
ÇØ°áÃ¥Àº root·Î¼­ 
<bf>ln -s /usr/X11R6/lib/libX11.so.6.1 /usr/X11R6/lib/libX11.so.6</bf> 
À» ÇÏ´Â °ÍÀÌ´Ù.  ÀÌ ´ÙÀ½¿¡´Â <bf>ldconfig</bf>¸¦ ½ÇÇà½ÃÄÑ¾ß ÇÒ ¼öµµ ÀÖ´Ù.

</itemize>


<itemize>

<item>¶§·Î´Â ¼Ò½º¸¦ ÄÄÆÄÀÏÇϱâ À§ÇØ ¿À·¡µÈ X11R5ÀÇ ¶óÀ̺귯¸®°¡ ÇÊ¿äÇÒ ¼öµµ 
ÀÖ´Ù.  /usr/X11R6/lib¿¡ R5ÀÇ ¶óÀ̺귯¸®°¡ ÀÖ´Ù¸é(óÀ½ ¸®´ª½º¸¦ ¼³Ä¡ÇÒ ¶§ À̰ÍÀ» 
¼³Ä¡Çϵµ·Ï ¿É¼ÇÀ» ÁÖ¾ú´Ù¸é), ¼ÒÇÁÆ®¿þ¾î¸¦ ÄÄÆÄÀÏÇϱâ À§ÇØ ÇÊ¿äÇÑ ¸µÅ©°¡
Á¦´ë·Î ÀÖ´ÂÁö¸¸ È®ÀÎÇÏ¸é µÈ´Ù.  <tt>R5 ¶óÀ̺귯¸®</tt>ÀÇ À̸§Àº 
<tt>libX11.so.3.1.0</tt>, <tt>libXaw.so.3.1.0</tt>, <tt>libXt.so.3.1.0</tt>
ÀÌ´Ù.  º¸Åë <em>libX11.so.3 -> libX11.so.3.1.0</em>°ú °°Àº ¸µÅ©°¡ ÇÊ¿äÇÏ´Ù.  
¼ÒÇÁÆ®¿þ¾î°¡ <em>libX11.so -> libX11.so.3.1.0</em> ÇüÅÂÀÇ ¸µÅ©¸¦ 
ÇÊ¿ä·Î ÇÒ ¼öµµ ÀÖ´Ù.  ¹°·Ð "ºüÁ®ÀÖ´ø" ¸µÅ©¸¦ ¸¸µé·Á¸é, <em>root</em>·Î¼­ 
<bf>ln -s libX11.so.3.1.0 libX11.so</bf> ¸í·ÉÀ» ¾´´Ù.

</itemize>




<itemize>

<item>¾î¶² ÆÐŰÁö´Â ¶óÀ̺귯¸®¸¦ ÃֽйöÁ¯À¸·Î ¼³Ä¡Çϵµ·Ï ¿ä±¸Çϱ⵵ ÇÑ´Ù.
¿¹¸¦ µé¾î, StarDivision GmbHÀÇ <em>StarOffice</em> ÆÐŰÁö 4.x ¹öÁ¯µéÀº 
5.4.4 ÀÌ»óÀÇ ¹öÁ¯À» °¡Áø <tt>libc</tt>¸¦ ¿ä±¸Çϱâ·Î ¾Ç¸íÀÌ ³ô¾Ò´Ù.  
±×º¸´Ù µÚ¿¡ ³ª¿Â <em>StarOffice</em> 5.0µµ »õ·Î¿î <tt>glibc 2.1</tt> 
¶óÀ̺귯¸®¸¦ ¼³Ä¡ÇÏ°í ³ª¸é ÀÛµ¿ÇÏÁö ¾Ê´Â´Ù.  
´ÙÇàÈ÷µµ, ±× ´ÙÀ½¿¡ ³ª¿Â <em>StarOffice</em> 5.1Àº ÀÌ ¹®Á¦¸¦ ÇØ°áÇß´Ù.  
¿À·¡µÈ ¹öÁ¯ÀÇ <em>StarOffice</em>¸¦ ½ÇÇà½ÃŰ·Á¸é, <em>root</em>·Î¼­ 
¶óÀ̺귯¸®µéÀ» ÀûÀýÇÑ µð·ºÅ͸®¿¡ º¹»çÇϰí, ¿À·¡µÈ ¶óÀ̺귯¸®¸¦ »èÁ¦ÇÑ ´ÙÀ½ 
½Éº¼¸¯ ¸µÅ©¸¦ ´Ù½Ã ¼³Á¤ÇØ¾ß ÇÑ´Ù. (ÀÌ¿¡ ´ëÇÑ Á¤º¸°¡
´õ ÇÊ¿äÇϸé ÃֽйöÁ¯ÀÇ <tt>StarOffice miniHOWTO</tt>¸¦ º¸¶ó.)

<bf>ÁÖÀÇ: ½Ç¼öÇÏ¸é ´ç½ÅÀÇ ½Ã½ºÅÛÀÌ ÀÛµ¿ÇÏÁö ¾Êµµ·Ï ÇÒ ¼öµµ ÀÖÀ¸¹Ç·Î, 
ÀÌ °úÁ¤¿¡¼­´Â ±Øµµ·Î ÁÖÀÇÇÏ¿©¾ß ÇÑ´Ù.  °»½ÅµÈ ÃֽжóÀ̺귯¸®´Â ´ë°³ Sunsite¿¡¼­
ãÀ» ¼ö ÀÖ´Ù.</bf>

ÃֽжóÀ̺귯¸®´Â ´ë°³ <htmlurl url="ftp://metalab.unc.edu/pub/Linux/libs" 
name="Sunsite">¿¡¼­ ãÀ» ¼ö ÀÖ´Ù.

</itemize>

<sect1>´Ù¸¥ ¹®Á¦µé
<p>

<itemize>

<item>¼³Ä¡µÇ¾î ÀÖ´Â <em>Perl</em> À̳ª ±×¹ÛÀÇ ½© ½ºÅ©¸³Æ®°¡ <tt>No such file or 
directory</tt>¶ó´Â ¿¡·¯ ¸Þ½ÃÁö¸¦ ³¾ ¼ö ÀÖ´Ù.  ÀÌ °æ¿ì¿¡´Â ÆÄÀÏÀÌ ½ÇÇà °¡´ÉÇÏ°Ô 
µÇ¾î ÀÖ´ÂÁö Çã°¡±ÇÀ» È®ÀÎÇϰí, ½ºÅ©¸³Æ®°¡ È£ÃâÇÏ´Â ½©À̳ª ÇÁ·Î±×·¥ÀÌ ÁöÁ¤µÈ 
À§Ä¡¿¡ ÀÖ´ÂÁö ÆÄÀÏÀÇ Çì´õ ºÎºÐÀ» È®ÀÎÇϵµ·Ï ÇÑ´Ù.  
¿¹¸¦ µé¾î ½ºÅ©¸³Æ®°¡ ¾Æ·¡¿Í °°ÀÌ ½ÃÀÛÇÑ´Ù°í ÇÏÀÚ.
<tscreen><verb>
#!/usr/local/bin/perl
</verb></tscreen>
<em>Perl</em>ÀÌ »ç½ÇÀº <tt>/usr/local/bin</tt>ÀÌ ¾Æ´Ï¶ó <tt>/usr/bin</tt> 
µð·ºÅ͸®¿¡ ¼³Ä¡µÇ¾î ÀÖ´Ù¸é, ÀÌ ½ºÅ©¸³Æ®´Â ½ÇÇàµÇÁö ¾ÊÀ» °ÍÀÌ´Ù.  
ÀÌ ¹®Á¦¸¦ ÇØ°áÇÏ´Â µ¥¿¡´Â µÎ °¡Áö ¹æ¹ýÀÌ ÀÖ´Ù.  
½ºÅ©¸³Æ® ÆÄÀÏÀÇ Çì´õ¸¦ <tt>#!/usr/bin/perl</tt>·Î ¹Ù²Ù°Å³ª, 
<bf>ln -s /usr/bin/perl /usr/local/bin/perl</bf> 
·Î Á¤È®ÇÑ µð·ºÅ͸®·ÎÀÇ ½Éº¼¸¯ ¸µÅ©¸¦ Ãß°¡ÇØ ÁÖ¸é µÈ´Ù.

</itemize>

<itemize>

<item>¾î¶² X11 ¼ÒÇÁÆ®¿þ¾î¸¦ ÄÄÆÄÀÏÇÏ·Á¸é Motif ¶óÀ̺귯¸®°¡ ÇÊ¿äÇÏ´Ù.  Ç¥ÁØÀûÀÎ
¸®´ª½º ¹èÆ÷º»¿¡´Â Motif ¶óÀ̺귯¸®°¡ ¾øÀ¸¸ç, ÇöÀç Motif´Â 100-200 ´Þ·¯´Ù.
(¸¹Àº °æ¿ì ÇÁ¸®¿þ¾îÀÎ <url url="http://www.lesstif.org/" name="Lesstif">
µµ ¾µ ¼ö ÀÖÁö¸¸.)  ¾î¶² ÆÐŰÁö¸¦ ÄÄÆÄÀÏÇϱâ À§ÇØ Motif°¡ ÇÊ¿äÇѵ¥, 
Motif ¶óÀ̺귯¸®¸¦ °¡Áö°í ÀÖÁö ¾Ê´Ù¸é <em>Á¤ÀûÀ¸·Î ¸µÅ©µÈ</em> 
¹ÙÀ̳ʸ®¸¦ ±¸ÇÒ ¼ö ÀÖÀ» °ÍÀÌ´Ù.  Á¤Àû ¸µÅ©´Â ¶óÀ̺귯¸® ·çƾµéÀ» ¹ÙÀ̳ʸ® ÀÚü¿¡
³Ö´Â °ÍÀÌ´Ù.  ÀÌ·¸°Ô ÇÏ¸é ¹ÙÀ̳ʸ® ÆÄÀÏÀº ÈξÀ Ä¿ÁöÁö¸¸, ÇØ´ç ¶óÀ̺귯¸®°¡ ¾ø´Â
½Ã½ºÅÛ¿¡¼­µµ ¼öÇà½Ãų ¼ö ÀÖ´Ù.

<tscreen><verb>
</verb></tscreen>

ÄÄÆÄÀÏÀ» À§ÇØ ´ç½Å ½Ã½ºÅÛ¿¡ ¾ø´Â ¶óÀ̺귯¸®°¡ ÇÊ¿äÇÏ´Ù¸é, ±× ÆÐŰÁö´Â ¸µÅ© 
¿¡·¯(<tt>undefined reference error</tt>)¸¦ ÀÏÀ¸Å³ °ÍÀÌ´Ù.  ±×·± ¶óÀ̺귯¸®´Â 
ºñ½Ñ °ÍÀ̰ųª, ´Ù¸¥ ¾î¶² ÀÌÀ¯·Î ã±â ¾î·Á¿î °ÍÀÏ ¼ö ÀÖ´Ù.  ±×·± °æ¿ì¿¡´Â 
<em>Á¤ÀûÀ¸·Î ¸µÅ©µÈ</em> ¹ÙÀ̳ʸ®¸¦ ÆÐŰÁö Á¦ÀÛÀÚ³ª ¸®´ª½º »ç¿ëÀÚ ±×·ì¿¡°Ô¼­ 
±¸ÇÏ´Â °ÍÀÌ °¡Àå ½¬¿î ÇØ°áÃ¥ÀÌ´Ù.

</itemize>


<itemize>
<em>configure</em> ½ºÅ©¸³Æ®¸¦ ¼öÇà½ÃÄ×´õ´Ï ´ç½ÅÀÌ ÄÄÆÄÀÏÇÏ·Á´Â ÆÐŰÁö¿Í´Â 
°ü°è¾ø¾î º¸ÀÌ´Â ÀÌ»óÇÑ MakefileÀ» ¸¸µå´Â °æ¿ì°¡ ÀÖ´Ù.  À̰ÍÀº ´ç½ÅÀÇ path ÁßÀÇ 
´Ù¸¥ ¾îµò°¡¿¡¼­ ¹ß°ßµÈ ¾û¶×ÇÑ <em>configure</em>¸¦ ¼öÇàÇß´Ù´Â ¶æÀÌ´Ù.  
ÀÌ·± ÀÏÀ» ÇÇÇÏ·Á¸é Ç×»ó <bf>./configure</bf>·Î ½ÇÇàÇϵµ·Ï ÇÏÀÚ.
</itemize>


<itemize>
´ëºÎºÐÀÇ ¸®´ª½º ¹èÆ÷º»Àº ¿¾³¯ÀÇ <tt>lib 5</tt>¿¡¼­ <tt>libc 6 /glibc 2</tt> 
¶óÀ̺귯¸®·Î ¹Ù²î¾ú´Ù.  ¿¾³¯ ¶óÀ̺귯¸®¿Í ÇÔ²² ÀÛµ¿Çϵµ·Ï ¹Ì¸® ÄÄÆÄÀÏµÈ 
¹ÙÀ̳ʸ®¶ó¸é ´ç½ÅÀÌ ¶óÀ̺귯¸®¸¦ ¾÷±×·¹À̵åÇÒ °æ¿ì ¹®Á¦¸¦ ÀÏÀ¸Å³ ¼ö ÀÖ´Ù.  
ÇØ¹ýÀº ÇÁ·Î±×·¥À» ¼Ò½º¿¡¼­ºÎÅÍ ´Ù½Ã ÄÄÆÄÀÏÇϵçÁö, ¹Ì¸® ÄÄÆÄÀÏµÈ »õ·Î¿î
¹ÙÀ̳ʸ®¸¦ ¾ò´Â °ÍÀÌ´Ù.  Ȥ½Ã ´ç½ÅÀÌ ½Ã½ºÅÛÀ» <tt>libc 6</tt>À¸·Î ¾÷±×·¹À̵åÇÏ´Â
ÁßÀ̰í ÀÌ·± ¹®Á¦¸¦ °æÇèÇß´Ù¸é Eric GreenÀÇ <em>Glibc 2 HOWTO</em>¸¦ Âü°íÇϵµ·Ï 
Ç϶ó.

<tscreen><verb>
</verb></tscreen>

<tt>glibc</tt> ¹öÁ¯µé »çÀÌ¿¡´Â ¾à°£ÀÇ È£È¯µÇÁö ¾Ê´Â Á¡ÀÌ ÀÖ´Ù´Â °Í¿¡ ÁÖÀÇÇ϶ó.
ÀÌ ¶§¹®¿¡ <tt>glibc 2.1</tt>¿¡¼­ ÄÄÆÄÀÏµÈ ¹ÙÀ̳ʸ®´Â <tt>glibc 2.0</tt>°ú´Â 
ÀÛµ¿ÇÏÁö ¾Ê´Â´Ù°Å³ª ±× ¹Ý´ëÀÇ °æ¿ì°¡ ÀÖÀ» ¼ö ÀÖ´Ù.


</itemize>

<itemize>
¶§·Î´Â <tt>Makefile</tt> ¾ÈÀÇ ÄÄÆÄÀÏ ¿É¼Ç¿¡¼­ <em>-ansi</em> ¿É¼ÇÀ» Á¦°ÅÇÒ 
Çʿ䰡 ÀÖÀ» ¼öµµ ÀÖ´Ù.  ÀÌ·¸°Ô Çϸé gcc°¡ °®°í ÀÖ´Â ANSI ÀÌ¿ÜÀÇ Æ¯Â¡µéÀ» 
Ȱ¼ºÈ­½Ã۸ç, ÀÌ·± Ư¡µéÀ» ¿ä±¸ÇÏ´Â ÆÐŰÁöµéÀ» ÄÄÆÄÀÏÇÒ ¼ö ÀÖ°Ô µÈ´Ù. 
(ÀÌ »ç½ÇÀ» ÁöÀûÇØ ÁØ Sebastien Blondeel¿¡°Ô °¨»çÇÑ´Ù.)
</itemize>

<itemize>

<item>¾î¶² ÇÁ·Î±×·¥µéÀº <em>root ±ÇÇÑ</em>À¸·Î ½ÇÇàµÇµµ·Ï Çϱâ À§ÇØ 
<em>setuid root</em>¸¦ ÇØÁÖ¾î¾ß ÇÑ´Ù.  ÀÌ·¸°Ô ÇÏ´Â ¸í·ÉÀº <em>root·Î¼­</em> 
<bf>chmod u+s ÆÄÀÏÀ̸§</bf> 
ÇÏ´Â °ÍÀÌ´Ù. (ÇÁ·Î±×·¥ÀÌ ±× ÀÌÀü¿¡ ¹Ì¸® root ¼ÒÀ¯·Î µÇ¾î ÀÖ¾î¾ß ÇÑ´Ù´Â Á¡¿¡
ÁÖÀÇÇ϶ó.)  ÀÌ ¸í·ÉÀº ÆÄÀÏ Çã°¡±Ç ³»ÀÇ <em>setuid</em> ºñÆ®¸¦ ¼³Á¤ÇÏ´Â ±â´ÉÀ» 
ÇÑ´Ù.  ÀÌ ¹®Á¦´Â ÇÁ·Î±×·¥ÀÌ ¸ðµ©À̳ª cd-rom µå¶óÀÌºê °°Àº ½Ã½ºÅÛ Çϵå¿þ¾î¿¡ 
Á¢±ÙÇϰųª, ¾î´À ƯÈ÷ ¾Ç¸í³ôÀº ¿¡¹Ä·¹ÀÌ¼Ç ÆÐŰÁö ó·³ ÄÜ¼Ö ¸ðµå¿¡¼­ SVGA 
¶óÀ̺귯¸®¸¦ È£ÃâÇÒ °æ¿ì ÀϾ´Ù.  ÇÁ·Î±×·¥ÀÌ root·Î¼­´Â ½ÇÇàµÇÁö¸¸,
ÀÏ¹Ý »ç¿ëÀÚ¿¡°Ô´Â <em>access denied</em> ¿¡·¯ ¸Þ½ÃÁö¸¦ ³»º¸³½´Ù¸é 
ÀÌ Çã°¡±Ç ¹®Á¦¸¦ ÀǽÉÇØº¸±â ¹Ù¶õ´Ù.

<P>

<bf>ÁÖÀÇ:</bf>   
root·ÎÀÇ <em>setuid</em>¸¦ °¡Áø ÇÁ·Î±×·¥Àº ½Ã½ºÅÛ¿¡ º¸¾È »óÀÇ À§Çè ¿äÀÎÀÌ µÉ ¼ö 
ÀÖ´Ù.  ÀÌ·± ÇÁ·Î±×·¥Àº rootÀÇ ±ÇÇÑÀ» °®°í ½ÇÇàµÇ¸ç µû¶ó¼­ ½É°¢ÇÑ ¼Õ»óÀ» ³¢Ä¥
ÀáÀç·ÂÀ» °®°í ÀÖ´Ù.  µû¶ó¼­ <em>setuid</em> ºñÆ®¸¦ ÁÖ±â Àü¿¡ ÇÁ·Î±×·¥ÀÌ ¹«¾ùÀ»
ÇÏ´ÂÁö, °¡´ÉÇÏ´Ù¸é ¼Ò½º¸¦ »ìÆìº½À¸·Î½á, È®ÀÎÇϵµ·Ï Ç϶ó.

</itemize>


<sect1>º¯°æ(tweaking)°ú ¹Ì¼¼ÇÑ Á¶Á¤(fine tuning)
<p>

´ç½ÅÀÇ ½Ã½ºÅÛ¿¡ °¡Àå ÁÁÀº ÄÄÆÄÀÏ ¿É¼ÇµéÀÌ ¼³Á¤µÇ¾î ÀÖ´ÂÁö È®ÀÎÇϱâ À§Çؼ­
<tt>Makefile</tt>À» µé¿©´Ùº¸°í ½ÍÀ» ¼öµµ ÀÖ´Ù.  
¿¹¸¦ µé¾î <em>-O2</em> ¿É¼ÇÀ» ÁÖ¸é ÃÖ°í ¼öÁØÀÇ ÃÖÀûÈ­¸¦ ¼±ÅÃÇÏ°Ô µÇ°í, 
<em>-fomit-frame-pointer</em> ¿É¼ÇÀº 
(µð¹ö±ëÀº ºÒ°¡´ÉÇÏ°Ô µÇÁö¸¸) ¹ÙÀ̳ʸ®¸¦ ´õ ÀÛ°Ô ¸¸µé¾î ÁØ´Ù.  
<bf>ÀÚ½ÅÀÌ ¹«¾ùÀ» Çϰí ÀÖ´ÂÁö ¸ð¸¥´Ù¸é ÀÌ·± °ÍµéÀ» °Çµå¸®Áö ¾Êµµ·Ï Ç϶ó.  
±×¸®°í ¾î¶² °æ¿ì¿¡µç ½ÃÇè»ï¾Æ ±×³É ÄÄÆÄÀÏÇØ¼­ Á¦´ë·Î µ¹¾Æ°¡´Â °ÍÀ» È®ÀÎÇÑ ´ÙÀ½¿¡
Çϵµ·Ï Ç϶ó.</bf> 



<sect1>´õ µµ¿òÀÌ ÇÊ¿äÇÒ ¶§ °¡ º¼ °÷
<p>

³» °æÇè¿¡ ÀÇÇϸé, ÀÀ¿ë ÇÁ·Î±×·¥ °¡¿îµ¥ ±×´ë·Î ¹®Á¦¾øÀÌ ÄÄÆÄÀϵǴ °ÍÀº ¾à
25% Á¤µµ¿´´Ù.  50% ³²ÁþÀº °£´ÜÇ졂 ²ûÂïÇÒ Á¤µµ°Ç ³ë·ÂÇϸé ÄÄÆÄÀÏÇÒ ¼ö ÀÖ´Ù.  
Áï »ó´ç¼öÀÇ ÆÐŰÁöµéÀº ¾Æ¹«¸® ÇØµµ ÄÄÆÄÀÏÇÒ ¼ö°¡ ¾ø´Ù´Â ¶æÀÌ´Ù.
±×·¸´Ù°í ÇØµµ, ÀÌ ÆÐŰÁöµéÀÇ ÀÎÅÚ <tt>ELF</tt> ¹× <tt>a.out</tt> ¹ÙÀ̳ʸ®¸¦ 
<htmlurl url="ftp://metalab.unc.edu" name="Sunsite">³ª <htmlurl 
url="ftp://tsx-11.mit.edu" name = "TSX-11 archive"> »çÀÌÆ®¿¡¼­ ãÀ» °¡´É¼ºµµ 
ÀÖ´Ù.  <url url="http://redhat.com" name="·¹µå ÇÞ">°ú <url 
url="http://www.debian.org" name="µ¥ºñ¾È">µµ ÈçÈ÷ ¾²ÀÌ´Â ¸®´ª½º 
¼ÒÇÁÆ®¿þ¾îÀÇ ´ëºÎºÐÀÌ ¹Ì¸® ÆÐŰÁöÈ­µÈ ¹ÙÀ̳ʸ®·Î ÀúÀåµÇ¾î ÀÖ´Ù.
ȤÀº ¼ÒÇÁÆ®¿þ¾îÀÇ Á¦ÀÛÀÚ°¡ ´ç½ÅÀÇ Æ¯º°ÇÑ ÃëÇâÀÇ ÄÄÇ»Å͸¦ À§ÇØ ÄÄÆÄÀÏµÈ 
¹ÙÀ̳ʸ®¸¦ Á¦°øÇØ ÁÙ ¼öµµ ÀÖ´Ù.


<tt>¹Ì¸® ÄÄÆÄÀÏµÈ ¹ÙÀ̳ʸ®¸¦ ¾ò¾ú´Ù¸é, ´ç½ÅÀÇ ½Ã½ºÅÛ°úÀÇ È£È¯¼ºÀ» È®ÀÎÇϱâ À§ÇØ
´ÙÀ½ »çÇ×µéÀ» Á¡°ËÇØ¾ß ÇÑ´Ù.</tt>
<itemize>
<item><tt>¹ÙÀ̳ʸ®°¡ ´ç½ÅÀÇ Çϵå¿þ¾î(¿¹¸¦ µé¾î ÀÎÅÚ x86)¿¡¼­ ÀÛµ¿ÇØ¾ß ÇÑ´Ù.</tt>
<item><tt>¹ÙÀ̳ʸ®°¡ ´ç½ÅÀÇ Ä¿³Î°ú ȣȯµÇ´Â °ÍÀ̾î¾ß ÇÑ´Ù.(a.out À̳ª elf)</tt>
<item><tt>´ç½ÅÀÇ ¶óÀ̺귯¸®°¡ ÃÖ½ÅÀÇ °ÍÀ̾î¾ß ÇÑ´Ù.</tt>
<item><tt>´ç½ÅÀÇ ½Ã½ºÅÛ¿¡ ÀûÀýÇÑ ¼³Ä¡ À¯Æ¿¸®Æ¼(rpmÀ̳ª deb)°¡ ÀÖ¾î¾ß ÇÑ´Ù.</tt>
</itemize>

¸¸¾à ¸ðµç ½Ãµµ°¡ ½ÇÆÐÇÑ´Ù¸é, <htmlurl url="news://comp.os.linux.x"
name="comp.os.linux.x">³ª <htmlurl url="news://comp.os.linux.development"
name="comp.os.linux.development"> °°Àº ÀûÀýÇÑ ´º½º±×·ì¿¡¼­ µµ¿òÀ» ãÀ» ¼ö ÀÖ´Ù.

Ȥ½Ã ¸ðµç ³ë·ÂÀÌ ¼öÆ÷·Î µ¹¾Æ°¬´Ù°í ÇÏ´õ¶óµµ, ÃÖ¼ÒÇÑ ´ç½ÅÀº ÃÖ¼±À» ´ÙÇßÀ¸¸ç
±× °úÁ¤¿¡¼­ ¸¹Àº °ÍÀ» ¹è¿üÀ» Å×´Ï ³Ê¹« ³«½ÉÇÒ ÇÊ¿ä´Â ¾ø´Ù.






<sect>¸¶Áö¸· ´Ü°è<label id="finalsteps">
<p>
(<tt>.bashrc</tt>³ª <tt>.cshrc</tt> ¾È¿¡) ¾î¶² ȯ°æ º¯¼ö¸¦ ¼³Á¤ÇØ¾ß ÇÏ´ÂÁö, 
¶Ç <tt>.Xdefaults</tt>¿Í <tt>.Xresources</tt> ÆÄÀÏÀ» °íÃÄ¾ß ÇÏ´ÂÁö °áÁ¤Çϱâ À§ÇØ 
¼ÒÇÁÆ®¿þ¾î ÆÐŰÁöÀÇ ¹®¼­¸¦ ÀÐ¾î º¸¾Æ¶ó.

ÀÀ¿ë ÇÁ·Î±×·¥ÀÇ ±âº» ¼³Á¤ ÆÄÀÏÀÌ ÀÖÀ» ¼öµµ ÀÖ´Ù.  ¿ø·¡ÀÇ ¹èÆ÷º»ÀÌ Xfoo ¶ó¸é 
º¸Åë <tt>Xfoo.ad</tt>¶ó´Â À̸§ÀÌ´Ù.  ÀÌ·± ÆÄÀÏÀÌ ÀÖÀ¸¸é ´ç½ÅÀÇ ÄÄÇ»ÅÍ¿¡ ¸Âµµ·Ï
Xfoo.ad ÆÄÀÏÀ» ÆíÁýÇØ¼­, Xfoo ·Î ¹Ù²Û ´ÙÀ½(<bf>mv</bf>), <em>root·Î¼­</em>
<tt>/usr/lib/X11/app-defaults</tt> µð·ºÅ͸®¿¡ ¼³Ä¡Çϵµ·Ï ÇÑ´Ù.  ÀÌ·¸°Ô ÇÏÁö 
¾ÊÀ¸¸é ¼ÒÇÁÆ®¿þ¾î°¡ ÀÌ»óÇÏ°Ô ÀÛµ¿Çϰųª ¾Æ¿¹ ÀÛµ¿ÇÏÁö ¾Ê°Ô µÉ ¼ö ÀÖ´Ù.

´ëºÎºÐÀÇ ¼ÒÇÁÆ®¿þ¾î ÆÐŰÁö¿¡´Â Çϳª ÀÌ»óÀÇ ¹Ì¸® Æ÷¸ËµÈ man ÆäÀÌÁö°¡ ÀÖ´Ù.
<em>root·Î¼­</em> Xfoo.man ÆÄÀÏÀ» <tt>/usr/man</tt>, <tt>/usr/local/man</tt>, 
<tt>/usr/X11R6/man</tt> ÀÇ Àû´çÇÑ µð·ºÅ͸®(<tt>man1</tt> - <tt>man9</tt>)¿¡ 
º¹»çÇϰí, ±×¿¡ ¸ÂÃç À̸§À» ¹Ù²Ù¾î ÁØ´Ù.  ¿¹¸¦ µé¾î Xfoo.man À» /usr/man/man4¿¡ 
µÎ¾ú´Ù¸é, Xfoo.4 ·Î À̸§À» °íÃÄ¾ß ÇÑ´Ù. (mv Xfoo.man Xfoo.4)  
°ü·Ê¿¡ µû¸£¸é, »ç¿ëÀÚ°¡ ¾²´Â ±âº» ¸í·ÉÀº <tt>man1</tt>, °ÔÀÓÀº <tt>man6</tt>,
°ü¸®¿ë ÆÐŰÁö´Â <tt>man8</tt>ÀÌ´Ù. (ÀÚ¼¼ÇÑ °ÍÀº <em>man docs</em>À» º¸¶ó.)
¹°·Ð ¿øÇÑ´Ù¸é ´ç½Å ½Ã½ºÅÛ¿¡¼­´Â ÀÌ¿Í ´Ù¸£°Ô ÇÒ ¼öµµ ÀÖ´Ù.

¾î¶² ÆÐŰÁö¿¡´Â <tt>Makefile</tt>¿¡ <em>install</em> ¿É¼ÇÀÌ ºüÁ® À־, 
¹ÙÀ̳ʸ® ÆÄÀÏÀ» ÀûÀýÇÑ ½Ã½ºÅÛ µð·ºÅ͸®¿¡ ¼³Ä¡ÇÏÁö ¾Ê´Â´Ù.  
ÀÌ·± °æ¿ì¿¡´Â ¼öµ¿À¸·Î <tt>/usr/bin</tt>, <tt>/usr/local/bin</tt>, 
<tt>/usr/X11R6/bin</tt> µîÀÇ ½Ã½ºÅÛ µð·ºÅ͸®¿¡ ¹ÙÀ̳ʸ®µéÀ» º¹»çÇØ¼­
¼³Ä¡ÇÒ ¼ö ÀÖ´Ù.  ¹°·Ð <em>root·Î¼­</em>.  ¸®´ª½º ¹èÆ÷º»ÀÌ ±âº»À¸·Î ¼³Ä¡ÇÏÁö ¾Ê´Â
¹ÙÀ̳ʸ®´Â <tt>/usr/local/bin</tt>ÀÌ ±ÇÀåµÈ´Ù´Â Á¡À» ¿°µÎ¿¡ µÎÀÚ.

´ëºÎºÐÀÇ °æ¿ì, À§ÀÇ ÀýÂ÷µéÀÇ ÀϺΠȤÀº ÀüºÎ°¡ <bf>make install</bf>·Î 
ÀÚµ¿ÀûÀ¸·Î 󸮵ȴÙ.  ÆÐŰÁö¿¡ µû¶ó <bf>make install.man</bf> À̳ª 
<bf>make install_man</bf> ÀÌ ÀÖÀ» ¼öµµ ÀÖ´Ù.  
ÀÌ·± °æ¿ì¿¡´Â <tt>README</tt>³ª <tt>INSTALL</tt> ÆÄÀÏ¿¡ ¸í½ÃµÇ¾î ÀÖÀ» °ÍÀÌ´Ù.


<sect>ù¹øÂ° ¿¹: Xscrabble
<p>
Matt ChapmanÀÇ <tt>Xscrabble</tt>À̶ó´Â ÇÁ·Î±×·¥ÀÌ ÀÖÀ¸¸é Àç¹ÌÀÖ°Ú´Ù°í 
»ý°¢Çß´Ù.  ³ª´Â ÀÚÁÖ Scrabble<tt>TM</tt>¸¦ µè±â ¶§¹®ÀÌ´Ù.  
³ª´Â ÀÌ ÇÁ·Î±×·¥À» ´Ù¿î¹Þ¾Æ¼­ ¾ÐÃàÀ» Ç®°í, README ÆÄÀÏ¿¡ ÀÖ´Â ¾Æ·¡ÀÇ 
¼ø¼­´ë·Î ÄÄÆÄÀÏÇß´Ù.
<tscreen><verb>
     xmkmf
     make Makefiles
     make includes
     make
</verb></tscreen>

<em>¹°·Ð ÀÌ·¸°Ô ÇØ¼­ Á¦´ë·Î µÈ °Ç ¾Æ´ÏÁö¸¸...</em>

<tscreen><verb>
gcc -o xscrab -O2 -O -L/usr/X11R6/lib 
init.o xinit.o misc.o moves.o cmove.o main.o xutils.o mess.o popup.o
widgets.o display.o user.o CircPerc.o
-lXaw -lXmu -lXExExt -lXext -lX11 -lXt -lSM -lICE -lXExExt -lXext -lX11
-lXpm -L../Xc -lXc

BarGraf.o(.text+0xe7): undefined reference to `XtAddConverter'
BarGraf.o(.text+0x29a): undefined reference to `XSetClipMask'
BarGraf.o(.text+0x2ff): undefined reference to `XSetClipRectangles'
BarGraf.o(.text+0x375): undefined reference to `XDrawString'
BarGraf.o(.text+0x3e7): undefined reference to `XDrawLine'
etc.
etc.
etc...
</verb></tscreen>

³ª´Â ÀÌ¿¡ ´ëÇØ <htmlurl url="news://comp.os.linux.x" name="comp.os.linux.x"> 
´º½º±×·ì¿¡ ¹°¾îº¸¾Ò°í, ¾î¶² »ç¶÷ÀÌ Xt, Xaw, Xmu, X11 ¶óÀ̺귯¸®°¡ ¸µÅ© ´Ü°è¿¡¼­
¹ß°ßµÇÁö ¾Ê¾ÒÀ½ÀÌ Æ²¸²¾ø´Ù°í Ä£ÀýÇÏ°Ô °¡¸£ÃÄ ÁÖ¾ú´Ù.  Èì...

ÆÐŰÁö¿¡´Â µÎ °³ÀÇ ÁÖµÈ MakefileÀÌ ÀÖ¾ú°í, ±× Áß <tt>src</tt> µð·ºÅ͸®¿¡ ÀÖ´Â 
°ÍÀÌ ³» ÁÖÀǸ¦ ²ø¾ú´Ù.  Makefile ³»ÀÇ ÇÑ ÁÙÀÌ LOCAL_LIBSÀ» ´ÙÀ½°ú °°ÀÌ 
Á¤ÀÇÇϰí ÀÖ¾ú´Ù.
LOCAL_LIBS = $(XAWLIB) $(XMULIB) $(XTOOLLIB) $(XLIB)
¸µÅ©°¡ ãÁö ¸øÇÑ ¶óÀ̺귯¸®µé·ÎÀÇ ÂüÁ¶°¡ ¿©±â ÀÖ¾ú´Ù.

LOCAL_LIBS ·ÎÀÇ ´ÙÀ½¹ø ÂüÁ¶¸¦ ã´Ù°¡, ³ª´Â ±× MakefileÀÇ 495 Çà¿¡¼­ ´ÙÀ½À»
¹ß°ßÇß´Ù.
<tscreen><verb>
      $(CCLINK) -o $@ $(LDOPTIONS) $(OBJS) $(LOCAL_LIBS) $(LDLIBS)
$(EXTRA_LOAD_FLAGS)
</verb></tscreen>

ÀÌÁ¦ ÀÌ LDLIBS´Â ¹«¾ùÀ̾úÀ»±î?
<tscreen><verb>
      LDLIBS = $(LDPOSTLIB) $(THREADS_LIBS) $(SYS_LIBRARIES)
$(EXTRA_LIBRARIES)
</verb></tscreen>

SYS_LIBRARIES Àº ´ÙÀ½°ú °°¾Ò´Ù.
<tscreen><verb>
 SYS_LIBRARIES = -lXpm -L../Xc -lXc
</verb></tscreen>
±×·¸´Ù!  ¿©±â ãÀ» ¼ö ¾ø´ø ¶óÀ̺귯¸®µéÀÌ ÀÖ¾ú´Ù.

¸µÄ¿°¡ LOCAL_LIBS Àü¿¡ LDLIBS¸¦ º¸¾Æ¾ß ÇÏ´Â °ÍÀÏ °¡´É¼ºÀÌ ÀÖ¾ú´Ù.
µû¶ó¼­ óÀ½À¸·Î ½ÃµµÇØ º¼ ÀÏÀº 495 ÇàÀÇ $(LOCAL_LIBS)¿Í $(LDLIBS)¸¦ ¹Ù²ã¼­
¾Æ·¡¿Í °°ÀÌ ÇÏ´Â °ÍÀ̾ú´Ù.
<tscreen><verb>
        $(CCLINK) -o $@ $(LDOPTIONS) $(OBJS) $(LDLIBS) $(LOCAL_LIBS)
$(EXTRA_LOAD_FLAGS)                          ^^^^^^^^^^^^^^^^^^^^^^^
</verb></tscreen>

³ª´Â À§¿Í °°ÀÌ ¹Ù²ã¼­ ´Ù½Ã <em>make</em>¸¦ ½ÇÇàÇØº¸¾Ò°í, À̹ø¿¡´Â Á¦´ë·Î 
½ÇÇàµÇ¾ú´Ù.  ¹°·Ð XscrabbleÀº ¾ÆÁ÷ µð·ºÅ͸®ÀÇ À̸§À» ¹Ù²Û´Ù°Å³ª ¼Ò½º ÆÄÀÏ ÁßÀÇ 
Çϳª¿¡ ÀÖ´Â ¸î¸î ¼±¾ð¹®À» ÁÖ¼® ó¸®ÇÏ´Â µî, ¼¼ºÎÀûÀÎ Á¶Á¤°ú º¯°æÀÌ ÇÊ¿äÇßÁö¸¸, 
ÀÌ ÆÐŰÁö´Â ±× µÚ ¿À·§µ¿¾È ³ª¸¦ Áñ°Ì°Ô ÇØÁÖ¾ú´Ù.



[»õ ¹öÁ¯ÀÇ XscrabbleÀº ÀÌÁ¦ rpm Çü½ÄÀ¸·Î ±¸ÇÒ ¼ö ÀÖÀ¸¸ç, ¹®Á¦¾øÀÌ ¼³Ä¡µÈ´Ù.]



<em>Xscrabble</em>¸¦ ¾òÀ¸·Á¸é <url url="mailto:matt@belgarath.demon.co.uk" 
name="Matt Chapman">¿¡°Ô e-mailÀ» Çϰųª, ±×ÀÇ <url 
url="http://www.belgarath.demon.co.uk/programs/index.html" 
name="Ȩ ÆäÀÌÁö">¿¡¼­ ´Ù¿î¹ÞÀ» ¼ö ÀÖ´Ù.




<tscreen><verb>
       ScrabbleÀº Milton Bradley Co., Inc.ÀÇ µî·ÏµÈ »óÇ¥ÀÌ´Ù.
</verb></tscreen>




<sect>µÎ¹øÂ° ¿¹: Xloadimage
<p>
ÀÌ ¿¹ÀÇ ¹®Á¦ ù¹øÂ°º¸´Ù ½±´Ù.  <em>xloadimage</em> ÇÁ·Î±×·¥À» ³» ±×·¡ÇÈ 
µµ±¸ ¸ðÀ½¿¡ Ãß°¡Çϸé ÁÁ°Ú´Ù°í »ý°¢Çß´Ù.  ³ª´Â <tt>xloadi41.gz</tt> ÆÄÀÏÀ» 
Mui¿Í Quercia°¡ ¾´ <ref id="refs" name="X User Tools">¶ó´Â ÈǸ¢ÇÑ Ã¥ÀÇ 
ºÎ·Ï CD¿¡ ÀÖ´Â ¼Ò½º µð·ºÅ͸®¿¡¼­ Á÷Á¢ º¹»çÇß´Ù.
±â´ëÇÑ ´ë·Î, <em>tar xzvf</em>·Î ÆÄÀÏÀ» Ç® ¼ö ÀÖ¾ú´Ù.  
ÇÏÁö¸¸ <em>make</em>´Â °í¾àÇØ º¸ÀÌ´Â ¿¡·¯¸¦ ³»°í´Â Áß´ÜµÇ¾î ¹ö·È´Ù.

<tscreen><verb>
gcc -c -O -fstrength-reduce -finline-functions -fforce-mem
-fforce-addr -DSYSV  -I/usr/X11R6/include
-DSYSPATHFILE=\"/usr/lib/X11/Xloadimage\" mcidas.c

In file included from /usr/include/stdlib.h:32,
                 from image.h:23,
                 from xloadimage.h:15,
                 from mcidas.c:7:
/usr/lib/gcc-lib/i486-linux/2.6.3/include/stddef.h:215:
conflicting types for `wchar_t'
/usr/X11R6/include/X11/Xlib.h:74: previous declaration of
`wchar_t'
make[1]: *** [mcidas.o] Error 1
make[1]: Leaving directory
`/home/thegrendel/tst/xloadimage.4.1'
make: *** [default] Error 2
</verb></tscreen>

¿¡·¯ ¸Þ½ÃÁö¿¡ °áÁ¤ÀûÀÎ ´Ü¼­°¡ µé¾îÀÖ´Ù.

<tt>image.h</tt> ÆÄÀÏÀÇ 23° ÁÙÀ» º¸¸é...
<tscreen><verb>
       #include <stdlib.h>
</verb></tscreen>

Aha, <em>xloadimage</em>ÀÇ ¼Ò½º ¾îµò°¡¿¡¼­ <em>wchar_t</em>°¡ Ç¥ÁØ include 
ÆÄÀÏÀÎ <tt>stdlib.h</tt>¿¡¼­ Á¤ÀÇµÈ °ÍÀ¸·Î ´Ù½Ã Á¤ÀǵǾú´Ù.
¸ÕÀú <em>stdlib.h</em>´Â Æ÷ÇÔ½Ãų Çʿ䰡 ¾øÀ» µí ÇϹǷΠ<tt>image.h</tt>ÀÇ
23° ÁÙÀ» ÁÖ¼®¹®À¸·Î ¸¸µé¾î º¸ÀÚ.

ÀÌÁ¦ ¼³Ä¡ °úÁ¤Àº ¾Æ¹«·± Ä¡¸íÀûÀÎ ¿¡·¯ ¾øÀÌ ÁøÇàµÈ´Ù.  <em>xloadimage</em> 
ÆÐŰÁö´Â Áö±Ý Á¤È®È÷ ÀÛµ¿Çϰí ÀÖ´Ù.





<sect>¼¼¹øÂ° ¿¹: Fortune
<p>
ÀÌ ¿¹´Â C ÇÁ·Î±×·¡¹Ö¿¡ ´ëÇÑ Áö½ÄÀÌ Á¶±Ý ÇÊ¿äÇÏ´Ù.  À¯´Ð½º³ª ¸®´ª½º¿ë 
¼ÒÇÁÆ®¿þ¾îÀÇ ¸¹Àº ºÎºÐÀÌ C·Î ¾²¿©Á® ÀÖÀ¸¹Ç·Î, ¼ÒÇÁÆ®¿þ¾î ¼³Ä¡¿¡ ´ëÇØ¼­ ÁøÁöÇÑ 
»ç¶÷À̶ó¸é ÃÖ¼ÒÇÑ Á¶±ÝÀº C¸¦ ¹è¿öµÎ´Â °ÍÀÌ ÁÁ´Ù.

¾Ç¸í³ôÀº <em>fortune</em> ÇÁ·Î±×·¥Àº ¸®´ª½º°¡ ¶ã ¶§¸¶´Ù "fortune cookie"¶ó°í 
ºÒ¸®´Â Àç¹ÌÀÖ´Â °Ý¾ðÀ» º¸¿©ÁØ´Ù.  
ºÒÇàÇϰԵµ(unfortunately, ¹ßÀ½°®°í ³ó´ãÇÏ´Â °Å´Ù), 2.0.30 Ä¿³ÎÀ» »ç¿ëÇÏ´Â 
·¹µå ÇÞ ¹èÆ÷ÆÇ¿¡¼­ fortuneÀ» ÄÄÆÄÀÏÇÏ·Á°í ÇÏ¸é ½É°¢ÇÑ ¿¡·¯°¡ »ý±ä´Ù.

<tscreen><verb>
~/fortune# make all


gcc -O2 -Wall -fomit-frame-pointer -pipe   -c fortune.c -o
fortune.o
fortune.c: In function `add_dir':
fortune.c:551: structure has no member named `d_namlen'
fortune.c:553: structure has no member named `d_namlen'
make[1]: *** [fortune.o] Error 1
make[1]: Leaving directory `/home/thegrendel/for/fortune/fortune'
make: *** [fortune-bin] Error 2
</verb></tscreen>




<tt>fortune.c</tt>¸¦ »ìÆìº¸¸é, ÇØ´çµÇ´Â ÁÙÀº ´ÙÀ½°ú °°´Ù.

<tscreen><verb>
   if (dirent->d_namlen == 0)
            continue;
        name = copy(dirent->d_name, dirent->d_namlen);
</verb></tscreen>

¿ì¸®´Â <tt>dirent</tt>¶ó´Â ±¸Á¶Ã¼¸¦ ã¾Æ¾ß ÇÏÁö¸¸, ÀÌ ±¸Á¶Ã¼´Â 
<em>fortune.c</em> ¾È¿¡ ¼±¾ðµÇ¾î ÀÖÁö ¾ÊÀ¸¸ç, <bf>grep dirent</bf>¸¦ ÇØºÁµµ 
´Ù¸¥ ¼Ò½º ÆÄÀϵ鿡¼­µµ ãÀ» ¼ö ¾ø´Ù.
ÇÏÁö¸¸, <em>fortune.c</em>ÀÇ Á¦ÀÏ À§¿¡ ´ÙÀ½°ú °°Àº ÁÙÀÌ ÀÖ´Ù.

<tscreen><verb>
#include <dirent.h>
</verb></tscreen>

À̰ÍÀº ½Ã½ºÅÛ ¶óÀ̺귯¸®ÀÇ include ÆÄÀÏ·Î º¸À̹ǷÎ, <em>dirent.h</em>¸¦ ãÀ» 
³í¸®ÀûÀÎ À§Ä¡´Â <em>/usr/include</em> ´Ù.  ½ÇÁ¦·Î <em>/usr/include</em>¿¡´Â 
<em>dirent.h</em> ÆÄÀÏÀÌ ÀÖÁö¸¸, ±× ÆÄÀÏÀº <tt>dirent</tt> ±¸Á¶Ã¼ÀÇ Á¤ÀǸ¦ 
Æ÷ÇÔÇϰí ÀÖÁö ¾Ê´Ù.  ÀÌ ÆÄÀÏÀº ±× ´ë½Å ¶Ç´Ù¸¥ <em>dirent.h</em> ÆÄÀÏÀ» 
ÂüÁ¶Çϰí ÀÖ´Ù.

<tscreen><verb>
#include <linux/dirent.h>
</verb></tscreen>


¸¶Ä§³», <em>/usr/include/linux/dirent.h</em>¿¡¼­, ¹Ù¶ó´ø ±¸Á¶Ã¼ ¼±¾ðÀ» ã¾Ò´Ù.

<tscreen><verb>
struct dirent {
        long            d_ino;
        __kernel_off_t  d_off;
        unsigned short  d_reclen;
        char            d_name[256]; /* We must not include limits.h! */
};
</verb></tscreen>

¹°·Ð ÀÌ ±¸Á¶Ã¼ ¼±¾ðÀº <em>d_namelen</em> À» Æ÷ÇÔÇϰí ÀÖÁö ¾ÊÁö¸¸, 
±×¿¡ ÇØ´çµÉ ¸¸ÇÑ "Èĺ¸"´Â µÎ °³ ÀÖ´Ù.  °¡Àå ±×·² µí ÇÑ °ÍÀº 
<em>d_reclen</em>Àε¥, ÀÌ ±¸Á¶Ã¼ ¸â¹ö´Â ¹«¾ùÀΰ¡ÀÇ ±æÀ̸¦ ³ªÅ¸³»´Â °Í °°°í 
¶Ç short integer ÇüÀ̱⠶§¹®ÀÌ´Ù.
¶Ç ÇϳªÀÇ °¡´É¼ºÀº, <em>d_ino</em>Àε¥ ±× À̸§°ú ÀÚ·áÇüÀ¸·Î º¸¾Æ 
inodeÀÇ ¹øÈ£ÀÏ °Í °°´Ù.
¿ì¸®´Â ¾Æ¸¶µµ "directory entry" ±¸Á¶Ã¼¸¦ ´Ù·ç°í ÀÖ´Â µí ÇÏ´Ù.
±× ¿ø¼ÒµéÀº ÆÄÀÏÀÇ ¼Ó¼º, ±× À̸§, inode, ±æÀÌ(ºí·° ¼ö)¸¦ ³ªÅ¸³¾ °ÍÀÌ´Ù.  
À̰͵µ (d_reclen °ú d_ino ¿¡ ´ëÇÑ) ¿ì¸®ÀÇ ÃßÃøÀ» È®ÀÎÇØ ÁÖ´Â °ÍÀ¸·Î º¸ÀδÙ.

<tt>fortune.c</tt> ÆÄÀÏÀ» ÆíÁýÇØ¼­, 551°ÁÙ°ú 553°ÁÙÀÇ <em>d_namelen</em>¿¡ 
´ëÇÑ ÂüÁ¶¸¦ <em>d_reclen</em>¿¡ ´ëÇÑ ÂüÁ¶·Î °íÄ¡µµ·Ï ÇÏÀÚ.  
´Ù½Ã <em>make all</em> À» ÇØ º¸ÀÚ.  <bf>¼º°øÀÌ´Ù.</bf>
¿¡·¯ ¾øÀÌ ÄÄÆÄÀϵǾú´Ù.  ¿ì¸®´Â ÀÌÁ¦ fortuneÀ¸·ÎºÎÅÍ ½Ñ °ª¿¡ ½º¸±À» ´À³¥ ¼ö
ÀÖ´Ù.


<sect>³×¹øÂ° ¿¹: Hearts
<p>

À̹ø¿¡´Â 80³â´ë¿¡ Bob Ankeney°¡ À¯´Ð½º ½Ã½ºÅÛÀ» À§ÇØ ÀÛ¼ºÇß°í, 
1992³â¿¡ Mike YangÀÌ °íÃÆÀ¸¸ç, Áö±ÝÀº 
<url url="mailto:badger@phylo.life.uiuc.edu" name="Jonathan Badger">°¡ 
°ü¸®Çϰí ÀÖ´Â °í»ö⿬ÇÑ ¿¾ °ÔÀÓÀÎ Hearts´Ù.  
±× ¼±Á¶´Â Oregon ¼ÒÇÁÆ®¿þ¾îÀÇ Don Backus°¡ ¾´
ÈξÀ ´õ ¿À·¡µÈ ÆÄ½ºÄ® ÇÁ·Î±×·¥À¸·Î ³ªÁß¿¡  Jeff HemmerlingÀÌ °³Á¤Çß´Ù.
¿ø·¡´Â ´ÙÁß »ç¿ëÀÚ Å¬¶óÀÌ¾ðÆ®¸¦ ¿°µÎ¿¡ µÐ °ÍÀÌÁö¸¸, ÄÄÇ»Å͸¦ »ó´ë·Î ÇÑ
´ÜÀÏ »ç¿ëÀÚ ¸ðµåµµ °¡´ÉÇÏ´Ù.  ¼¼·ÃµÈ ¸éÀÌ ºÎÁ·Çϰí ÄÄÇ»ÅÍ »ó´ë°¡ º°·Î °­ÇÏÁö
¾ÊÁö¸¸, ±×·¡ÇÈÀº ÈǸ¢ÇÏ´Ù.  À¯´Ð½º¿Í ¸®´ª½º¿¡¼­ °¡´ÉÇÑ °ÍÀº Áö±ÝÀ¸·Î¼­µµ
Ä£ÀýÇÑ Hearts °ÔÀÓ ¹Û¿¡´Â ¾ø´Â µí ÇÏ´Ù.

±× ³ªÀÌ¿Í Ç÷Åë ¶§¹®¿¡, ÀÌ ÆÐŰÁö´Â ƯÈ÷ ¸®´ª½º ½Ã½ºÅÛ¿¡ ¼³Ä¡ÇÏ±â ¾î·Æ´Ù.
¼³Ä¡¸¦ À§Çؼ­´Â ±æ°í °ñÄ¡¾ÆÇ ÀÏ·ÃÀÇ ÆÛÁñÀ» Ç®¾î¾ß ÇÑ´Ù.  ÀÌ °úÁ¤Àº Àγ»¿Í
°áÀÇÀÇ ÈÆ·ÃÀ̶ó ÇÒ ¼ö ÀÖ´Ù.

<em>½ÃÀÛÇϱâ Àü¿¡, <tt>motif</tt> ³ª <tt>lesstif</tt> ¶óÀ̺귯¸®°¡ 
¼³Ä¡µÇ¾î ÀÖ´ÂÁö È®ÀÎÇϵµ·Ï Ç϶ó.</em>

<itemize>
<item><bf></bf>
</itemize>

<bf>xmkmf</bf>

<bf>make</bf>

<tscreen><verb>
client.c: In function `read_card':
client.c:430: `_tty' undeclared (first use in this function)
client.c:430: (Each undeclared identifier is reported only once
client.c:430: for each function it appears in.)
client.c: In function `scan':
client.c:685: `_tty' undeclared (first use in this function)
make: *** [client.o] Error 1
</verb></tscreen>


<tt>client.c</tt>¿¡ ¹üÀÎÀÌ ÀÖ´Ù.

<tscreen><verb>
#ifndef SYSV
        (buf[2] != _tty.sg_erase) && (buf[2] != _tty.sg_kill)) {
 #else
        (buf[2] != CERASE) && (buf[2] != CKILL)) {
#endif
</verb></tscreen>




<itemize>
<item><bf></bf>
</itemize>

<tt>client.c</tt>ÀÇ 39° ÁÙ¿¡
<tscreen><verb>
#define SYSV
</verb></tscreen>
¸¦ ´õÇÑ´Ù.  ÀÌ·¸°Ô Çϸé <em>_tty</em>·ÎÀÇ ÂüÁ¶¸¦ ¹«½ÃÇÑ´Ù.

<bf>make</bf>

<tscreen><verb>
client.c:41: sys/termio.h: No such file or directory
make: *** [client.o] Error 1
</verb></tscreen>


<itemize>
<item><bf></bf>
</itemize>

¸®´ª½º ½Ã½ºÅÛ¿¡¼­´Â <tt>termio.h</tt> ÆÄÀÏÀÌ <tt>/usr/include</tt> ¿¡ ÀÖ´Ù.
´õ ¿À·¡µÈ À¯´Ð½º¿¡¼­´Â <tt>/usr/include/sys</tt>¿¡ ÀÖ´Ù.
µû¶ó¼­, <tt>clinet.c</tt>ÀÇ 41° ÁÙÀ» 
<tscreen><verb>
#include <sys/termio.h>
</verb></tscreen>
¿¡¼­
<tscreen><verb>
#include <termio.h>
</verb></tscreen>
·Î ¹Ù²Û´Ù.

<bf>make</bf>

<tscreen><verb>
gcc -o hearts -g      -L/usr/X11R6/lib client.o hearts.o select.o connect.o
sockio.o start_dist.o  -lcurses -ltermlib       
/usr/bin/ld: cannot open -ltermlib: No such file or directory
collect2: ld returned 1 exit status
make: *** [hearts] Error 1
</verb></tscreen>



<itemize>
<item><bf></bf>
</itemize>

¿äÁòÀÇ ¸®´ª½º ¹èÆ÷º»Àº ±¸½ÄÀÇ <em>termlib</em> µ¥ÀÌÅͺ£À̽º º¸´Ù´Â
<em>terminfo</em>³ª <em>termcap</em>À» »ç¿ëÇÑ´Ù.

<tt>Makefile</tt>ÀÇ 655° ÁÙ,

<tscreen><verb>
CURSES_LIBRARIES = -lcurses -ltermlib
</verb></tscreen>
¸¦

<tscreen><verb>
CURSES_LIBRARIES = -lcurses -ltermcap
</verb></tscreen>
·Î ¹Ù²Û´Ù.


<bf>make</bf>

<tscreen><verb>
gcc -o xmhearts -g      -L/usr/X11R6/lib xmclient.o hearts.o select.o
connect.o sockio.o start_dist.o gfx.o  -lXm_s -lXt -lSM -lICE -lXext -lX11
-lPW       
/usr/bin/ld: cannot open -lXm_s: No such file or directory
collect2: ld returned 1 exit status
</verb></tscreen>



<itemize>
<item><bf></bf>
</itemize>

<em>lesstif</em>ÀÇ ÁÖ ¶óÀ̺귯¸®´Â <tt>libXm_s</tt>°¡ ¾Æ´Ï¶ó <tt>libXm</tt>ÀÌ´Ù.
µû¶ó¼­ <tt>Makefile</tt>¸¦ °íÄ£´Ù.

653° ÁÙ:
<tscreen><verb>
XMLIB = -lXm_s $(XTOOLLIB) $(XLIB) -lPW
</verb></tscreen>

´ÙÀ½°ú °°ÀÌ ÇÑ´Ù.
<tscreen><verb>
XMLIB = -lXm $(XTOOLLIB) $(XLIB) -lPW
</verb></tscreen>


<bf>make</bf>

<tscreen><verb>
gcc -o xmhearts -g      -L/usr/X11R6/lib xmclient.o hearts.o select.o
connect.o sockio.o start_dist.o gfx.o  -lXm -lXt -lSM -lICE -lXext -lX11 -lPW       
/usr/bin/ld: cannot open -lPW: No such file or directory
collect2: ld returned 1 exit status
make: *** [xmhearts] Error 1
</verb></tscreen>



<itemize>
<item><bf></bf>
</itemize>

´Ã ÇÏ´ø ÀǽÉÀ» ÇØº¸ÀÚ

<tt>PW</tt>¶óÀ̺귯¸®°¡ ¾ø´Ù.  <tt>Makefile</tt>¸¦ °íÄ£´Ù.

653° ÁÙ,
<tscreen><verb>
XMLIB = -lXm $(XTOOLLIB) $(XLIB) -lPW
</verb></tscreen>

¸¦ ´ÙÀ½°ú °°ÀÌ ÇÑ´Ù.
<tscreen><verb>
XMLIB = -lXm $(XTOOLLIB) $(XLIB) -lPEX5
</verb></tscreen>
(The <tt>PEX5</tt> lib comes closest to <tt>PW</tt>.)


<bf>make</bf>


<tscreen><verb>
rm -f xmhearts
gcc -o xmhearts -g      -L/usr/X11R6/lib xmclient.o hearts.o select.o
connect.o sockio.o start_dist.o gfx.o  -lXm -lXt -lSM -lICE -lXext -lX11 -lPEX5       
</verb></tscreen>

µåµð¾î <tt>make</tt>¿¡ ¼º°øÇß´Ù. (¸¸¼¼!)



<itemize>
<item><bf></bf>
</itemize>

<em>¼³Ä¡:</em>

root·Î¼­ ´ÙÀ½°ú °°ÀÌ ÇÑ´Ù.

<tscreen><verb>
[root@localhost hearts]# make install
install -c -s  hearts /usr/X11R6/bin/hearts
install -c -s  xmhearts /usr/X11R6/bin/xmhearts
install -c -s  xawhearts /usr/X11R6/bin/xawhearts
install in . done
</verb></tscreen>





<itemize>
<item><bf></bf>
</itemize>

<em>½ÃÇè»ï¾Æ µ¹·Áº¸ÀÚ.</em>

<bf>rehash</bf>

(¿ì¸®´Â <tt>tcsh</tt> ½©À» ¾²°í ÀÖ´Ù.)

<bf>xmhearts</bf>

<tscreen><verb>
localhost:~/% xmhearts
Can't invoke distributor!
</verb></tscreen>



<itemize>
<item><bf></bf>
</itemize>

<tt>heats</tt> ÆÐŰÁöÀÇ <tt>README</tt> ÆÄÀÏ¿¡ ´ÙÀ½°ú °°ÀÌ ÀûÇô ÀÖ´Ù.

<tscreen><verb>
     heartsd, hearts_dist¿Í hearts.instr¸¦ local.h¿¡ Á¤ÀÇµÈ HEARTSLIB µð·ºÅ͸® 
     ¾È¿¡ µÎ°í, ÀÌ ÆÄÀϵ鿡 ´©±¸³ª Á¢±ÙÇÒ ¼ö ÀÖµµ·Ï Ç϶ó.
</verb></tscreen>

    
<tt>local.h</tt> ÆÄÀÏ ³»¿ë:

<tscreen><verb>
/* where the distributor, dealer and instructions live */

#define HEARTSLIB "/usr/local/lib/hearts"
</verb></tscreen>

À̰ÍÀº RTFMÀÇ °íÀüÀûÀÎ °æ¿ì´Ù.


<em>root</em>·Î¼­ ´ÙÀ½°ú °°ÀÌ ÇÑ´Ù.

<bf>cd /usr/local/lib</bf>

<bf>mkdir hearts</bf>

<bf>cd !$</bf>

<tt>¼³Ä¡µÉ</tt> ÆÄÀϵéÀ» ÀÌ µð·ºÅ͸®¿¡ º¹»çÇÑ´Ù.

<bf>cp /home/username/hearts/heartsd .</bf>

<bf>cp /home/username/hearts/hearts_dist .</bf>

<bf>cp /home/username/hearts/hearts.instr .</bf>



<itemize>
<item><bf></bf>
</itemize>

<em>´Ù½Ã ÇÑ ¹ø ½ÃÇè»ï¾Æ µ¹·Áº¸ÀÚ.</em>

<bf>xmhearts</bf>

Çѵ¿¾È µ¹¾Æ°¡´Ù°¡ <tt>dealer died!</tt> ¶ó´Â ¸Þ½ÃÁö¸¦ ³»¸ç Á״´Ù.



<itemize>
<item><bf></bf>
</itemize>

"distributor"¿Í "dealer"´Â Çϵå¿þ¾îÀÇ Æ÷Æ®µéÀ» Á¶»ç(scan)ÇÑ´Ù.  µû¶ó¼­ ¿ì¸®´Â
ÀÌ ÇÁ·Î±×·¥µéÀÌ rootÀÇ ±ÇÇÑÀ» ÇÊ¿ä·Î ÇÏ´ÂÁö ÀǽÉÇØ¾ß ÇÑ´Ù.

<em>root</em>·Î¼­ ´ÙÀ½°ú °°ÀÌ ÇØº¸ÀÚ,

<bf>chmod u+s /usr/local/lib/heartsd</bf>

<bf>chmod u+s /usr/local/lib/hearts_dist</bf>

(¾Õ¼­ À̾߱âÇßµíÀÌ, <em>suid</em>µÈ ¹ÙÀ̳ʸ®´Â º¸¾È »óÀÇ ÇãÁ¡À» ¸¸µé ¼öµµ
ÀÖ´Ù´Â °Í¿¡ ÁÖÀÇÇ϶ó.)

<bf>xmhearts</bf>


<em>µåµð¾î µ¹¾Æ°£´Ù!</em>


<tt><em>Hearts</em>´Â <htmlurl 
url="ftp://metalab.unc.edu/pub/Linux/games/multiplayer/hearts.tgz"
name="¼±»çÀÌÆ®">¿¡¼­ ±¸ÇÒ ¼ö ÀÖ´Ù.</tt> 



<sect>´Ù¼¸¹øÂ° ¿¹: XmDipmon
<p>

<tscreen><verb>
Bullwinkle: Hey Rocky, watch me pull a rabbit out of my hat.
Rocky:      But that trick never works.
Bullwinkle: This time for sure.
            Presto!
	    Well, I'm gettin' close.
Rocky:      And now it's time for another special feature.
            --- "Rocky and His Friends"
</verb></tscreen>
	     

XmDipmon Àº ÀÎÅÍ³Ý ¿¬°á »óŸ¦ º¸¿©ÁÖ´Â ¹öưÀ» Ç¥½ÃÇÏ´Â ÀÛ°í Àç¹ÌÀÖ´Â ÀÀ¿ë
ÇÁ·Î±×·¥ÀÌ´Ù.  ³°Àº ÀüÈ­¼±¿¡¼­´Â ÈçÈ÷ ¿¬°áÀÌ ²÷¾îÁö°ï Çϴµ¥, ±×·± °æ¿ì¿¡´Â 
¹Ý¦°Å¸®¸é¼­ °æ°íÀ½À» ³½´Ù.  ºÒÇàÈ÷µµ, XmDipmonÀº <em>dip</em> °ú¸¸ ÀÛµ¿Çϴµ¥,
À̶§¹®¿¡ ÀÎÅÍ³Ý ¿¬°á¿¡ <em>chat</em>¸¦ ¾²´Â ´ëºÎºÐÀÇ »ç¶÷µé¿¡°Ô´Â ¾µ¸ð°¡ ¾ø´Ù.

XmDipmon À» ÄÄÆÄÀÏÇÏ´Â °ÍÀº ¹®Á¦°¡ ¾Æ´Ï´Ù.  XmDipmonÀº <em>Motif</em> 
¶óÀ̺귯¸®¿¡ ¸µÅ©µÇ¾î ÀÖÁö¸¸, <em>Lesstif</em>¿Íµµ Àß ÄÄÆÄÀϵǰí Àß ½ÇÇàµÈ´Ù.
À̹ø µµÀüÀº <em>chat</em>¸¦ ¾µ ¶§µµ ÀÛµ¿µÇµµ·Ï ÆÐŰÁö¸¦ °íÄ¡´Â °ÍÀÌ´Ù.  
ÀÌ ÀÛ¾÷Àº ½ÇÁ¦·Î ¼Ò½º Äڵ带 ¶«ÁúÇÏ´Â °Í±îÁö Æ÷ÇÔÇϰí ÀÖÀ¸¸ç, 
µû¶ó¼­ ÇÁ·Î±×·¡¹Ö¿¡ ´ëÇÑ Áö½ÄÀÌ ¾î´À Á¤µµ ÇÊ¿äÇÏ´Ù.



<tscreen><verb>
         "½ÇÇàµÇ¸é, xmdipmon Àº /etc/dip.pid ¶ó´Â ÆÄÀÏÀ» È®ÀÎÇÑ´Ù. (-pidfile ÀÇ 
         ¸í·ÉÇà ÀÎÀÚ¸¦ ½á¼­ ´Ù¸¥ ÆÄÀÏÀ» ãµµ·Ï ÇÒ ¼öµµ ÀÖ´Ù.)  ÀÌ ÆÄÀÏÀº dip 
         µ¥¸óÀÇ PID ¸¦ Æ÷ÇÔÇϰí ÀÖ´Ù. (dip ´Â ÀÏ´Ü ¿¬°áÀÌ ÀÌ·ç¾îÁö¸é ÀÚ½ÅÀ» 
         µ¥¸ó ¸ðµå·Î ÀüȯÇÑ´Ù.)"
                       --- XmDipmon README ÆÄÀϷκÎÅÍ Àοë.
</verb></tscreen>	 


<em>-pidfile</em> ¿É¼ÇÀ» ÁÖ¾î ½ÇÇàÇϸé, XmDipmonÀÌ <em>chat</em> ·Î±×ÀÎÀÌ 
¼º°øÇßÀ» ¶§¿¡¸¸ Á¸ÀçÇÏ´Â ´Ù¸¥ ÆÄÀÏÀ» È®ÀÎÇϵµ·Ï ÇÒ ¼ö ÀÖ´Ù.  
¸í¹éÇÑ È帴 ¸ðµ©ÀÇ lock ÆÄÀÏÀÌ´Ù.  µû¶ó¼­ <bf>xmdipmon -pidfile 
/var/lock/LCK..ttyS3</bf> ·Î ÇÁ·Î±×·¥À» ½ÇÇà½ÃÄÑ º¸ÀÚ. 
(ÀÌ ¸í·ÉÀº ¸ðµ©ÀÌ 4¹ø com Æ÷Æ®, Áï ttyS3¿¡ ÀÖ´Ù°í °¡Á¤ÇÑ °ÍÀÌ´Ù.)
ÇÏÁö¸¸ À̰ÍÀº ¹®Á¦ÀÇ ÀϺθ¦ Ǭ °ÍÀÏ »ÓÀÌ´Ù.  ÇÁ·Î±×·¥Àº °è¼Ó 
<em>dip µ¥¸ó</em>À» °¨½ÃÇϸç, µû¶ó¼­ ¿ì¸®´Â <em>dip µ¥¸ó</em> ´ë½Å 
<em>chat</em>³ª <em>ppp</em>¿Í °ü·ÃµÈ ÇÁ·Î¼¼½º¸¦ °¨½ÃÇϵµ·Ï ¹Ù²ã¾ß ÇÑ´Ù.

¼Ò½º ÆÄÀÏÀº Çϳª ¹Û¿¡ ¾øÀ¸¸ç, ´ÙÇàÈ÷µµ ÁÖ¼®¹®ÀÌ Àß ´Þ·ÁÀÖ´Ù.  
<tt>xmdipmon.c</tt> ÆÄÀÏÀ» º¸¸é, Çì´õ°¡ ¾Æ·¡¿Í °°ÀÌ µÇ¾î ÀÖ´Â 
<em>getProcFile</em> ÇÔ¼ö¸¦ ãÀ» ¼ö ÀÖ´Ù.

<tscreen><verb>
/*****
* Name:                 getProcFile
* Return Type:  Boolean
* Description:  tries to open the /proc entry as read from the dip pid file.
<snip>
*****/
</verb></tscreen>

°áÁ¤ÀûÀÎ ´Ü¼­´Ù.  ÇÔ¼ö ³»ºÎ¸¦ ã¾Æº¸ÀÚ.

<tscreen><verb>
			/* we watch the status of the real dip deamon */
			sprintf(buf, "/proc/%i/status", pid);
			procfile = (String)XtMalloc(strlen(buf)*sizeof(char)+1);
			strcpy(procfile, buf);
			procfile[strlen(buf)] = '\0';
</verb></tscreen>

¹üÀÎÀº 2383° ÁÙÀÌ´Ù.
<tscreen><verb>
			sprintf(buf, "/proc/%i/status", pid);
			              ^^^^^^^^^^^^^^^^^^^^^
</verb></tscreen>

ÀÌ ÇÔ¼ö°¡ dip µ¥¸ó ÇÁ·Î¼¼½º°¡ ½ÇÇàµÇ°í ÀÖ´ÂÁö °Ë»çÇÏ´Â °ÍÀÌ´Ù.  ±×·¯¸é,
´ë½Å pppd µ¥¸óÀ» °¨½ÃÇϵµ·Ï ÇÏ·Á¸é ÀÌ ºÎºÐÀ» ¾î¶»°Ô °íÄ¡¸é µÉ±î?

<em>pppd</em> ÀÇ ¸ÇÆäÀÌÁö¸¦ º¸ÀÚ.
<tscreen><verb>
FILES
       /var/run/pppn.pid (BSD or Linux), /etc/ppp/pppn.pid (others)
                     Process-ID for pppd process on ppp interface unit n.
</verb></tscreen>


<tt>xmdipmon.c</tt>ÀÇ 2383° ÁÙÀ» ¾Æ·¡¿Í °°ÀÌ °íÄ¡ÀÚ.
<tscreen><verb>
			sprintf(buf, "/var/run/ppp0.pid" );
</verb></tscreen>

°íÄ£ ÆÐŰÁö¸¦ ´Ù½Ã ÄÄÆÄÀÏÇÏÀÚ.  ¹®Á¦¾øÀÌ ÄÄÆÄÀϵȴÙ.  
ÀÌÁ¦ »õ·Î¿î ¸í·ÉÇà ÀÎÀÚ¸¦ ½á¼­ ½ÃÇèÇØ º¸ÀÚ.  ¾Æ¸¶ ½ÅÅëÇÏ°Ô Àß ½ÇÇàµÉ °ÍÀÌ´Ù.  
ÀÎÅÍ³Ý ¼­ºñ½º Á¦°øÀÚ(ISP)·Î <tt>ppp</tt> ¿¬°áÀÌ ÀÌ·ç¾îÁ® ÀÖÀ» ¶§¿¡´Â 
ÀÛ°í ÆÄ¶õ ¹öưÀÌ Ç¥½ÃµÇ°í, ¿¬°áÀÌ ²÷¾îÁö¸é ¹Ý¦°Å¸®¸é¼­ °æ°íÀ½À» ³½´Ù.  
ÀÌÁ¦ ¿ì¸®´Â ¿Ïº®ÇÏ°Ô ÀÛµ¿ÇÏ´Â <em>chat</em> ¸ð´ÏÅ͸¦ °®°Ô µÇ¾ú´Ù.


XmDipmon´Â <htmlurl url="http://www.xs4all.nl/~ripley/RSD/linux.html" 
name="Ripley Linux Tools">¿¡¼­ ´Ù¿î¹ÞÀ» ¼ö ÀÖ´Ù.



<sect>¼Ò½º ¸ðÀ½À» ãÀ» ¼ö ÀÖ´Â °÷
<p>
´ç½ÅÀÇ ½Ã½ºÅÛ¿¡ À¯Æ¿¸®Æ¼³ª ´Ù¸¥ ÇÁ·Î±×·¥µéÀ» Ãß°¡Çϱâ À§ÇØ »õ·Î ¾òÀº Áö½ÄÀ» 
¾²°í ½Í´Ù¸é,  ¼Ò½º ¸ðÀ½À»
<url url="http://www.redhat.com/linux-info/linux-app-list/linapps.html"
name="Linux Applications and Utilities Page">À̳ª
<url url="http://www.redhat.com/" name="Red Hat">, 
<url url="http://www.infomagic.com" name="InfoMagic">,
<url url="http://www.lsl.com" name="Linux Systems Labs">, 
<url url="http://www.cheapbytes.com" name="Cheap Bytes"> µîÀÇ
¸Å¿ì Àú·ÅÇÑ °¡°ÝÀÇ ½Ãµð·ÒÀ» ÅëÇØ¼­ ±¸ÇÒ ¼ö ÀÖ´Ù.

¼Ò½º Äڵ带 Àß Á¤¸®ÇØ µÐ °÷À¸·Î´Â
<htmlurl url="ftp://ftp.vix.com/pub/usenet/comp.sources.unix/" 
name="comp sources UNIX archive">°¡ ÀÖ´Ù.

¸¹Àº À¯´Ð½º ¼Ò½º ÄÚµåµéÀÌ
<htmlurl url="news://alt.sources" name="alt.sources"> ´º½º±×·ì¿¡ °ÔÀçµÇ¾î ÀÖ´Ù.
ƯÁ¤ÇÑ ÆÐŰÁöÀÇ ¼Ò½º Äڵ带 ã°í ÀÖ´Ù¸é, °ü·ÃµÈ
<htmlurl url="news://alt.sources.wanted" name="alt.sources.wanted">
´º½º±×·ì¿¡ °Ô½Ã¹°À» ¿Ã¸®¸é µÈ´Ù.
<htmlurl url="news://comp.os.linux.announce" name="comp.os.linux.announce"> 
´º½º±×·ìµµ È®ÀÎÇØ º¼ ¸¸ÇÑ °÷ÀÌ´Ù.
<htmlurl url="mailto:unix-sources@pa.dec.com" name="Unix sources">
¸ÞÀϸµ ¸®½ºÆ®¿¡ µî·ÏÇÏ·Á¸é, <em>subscribe</em> ¸Þ½ÃÁö¸¦ º¸³»µµ·Ï Ç϶ó.

<htmlurl url="news://alt.sources" name="alt.sources"> ´º½º±×·ìÀÇ °Ô½Ã¹° ¸ðÀ½Àº
´ÙÀ½ÀÇ ftp »çÀÌÆ®¿¡ ÀÖ´Ù.

<itemize>
<item><htmlurl url="ftp://ftp.sterling.com/usenet/alt.sources/"
name="ftp.sterling.com/usenet/alt.sources/">
<item><htmlurl
url="ftp://wuarchive.wustl.edu/usenet/alt.sources/articles"
name="wuarchive.wustl.edu/usenet/alt.sources/articles">
<item><htmlurl
url="ftp://src.doc.ic.ac.uk/usenet/alt.sources/articles"
name="src.doc.ic.ac.uk/usenet/alt.sources/articles">

</itemize>



<sect>¸¶Áö¸· À̾߱â
<p>
ÇÑ ¸¶µð·Î, °íÁýÀÌ ¸ðµç Â÷À̸¦ ¸¸µå´Â °ÍÀÌ´Ù. (±×¸®°í Æ÷±âÇÒ ¼±À» ³ôÀÌ µÎ´Â °ÍÀÌ
Ʋ¸²¾øÀÌ µµ¿òÀÌ µÈ´Ù.)  ¸ðµç µµÀüÀÌ ±×·¸µíÀÌ, ½Ç¼ö·ÎºÎÅÍ ¹è¿ì´Â °ÍÀÌ Áö±ØÈ÷
Áß¿äÇÏ´Ù.  °¢°¢ÀÇ ½Ç¼ö, ¸ðµç ½ÇÆÐ°¡ <bf>¼ÒÇÁÆ®¿þ¾î ¼³Ä¡ ±â¼ú</bf>ÀÇ ´ÞÀÎÀÌ 
µÇ±â À§ÇØ ÇÊ¿äÇÑ Áö½ÄÀ» ´õÇØ ÁÙ °ÍÀÌ´Ù.



<sect>Âü°í ¹®Çå°ú ´õ ÀÐÀ» ²¨¸®<label id="refs">
<p>

<tscreen><verb>

BORLAND C++ TOOLS AND UTILITIES GUIDE, Borland International, 1992, pp. 9-42.
[º¼·£µå C++ 3.1 ¹öÁ¯°ú ÇÔ²² ¹èÆ÷µÈ ¸Å´º¾ó ÁßÀÇ Çϳª.  µµ½º¸¦ À§ÇØ Àý¸§¹ßÀÌ·Î
±¸ÇöµÈ º¼·£µå C++À» ÀÌ¿ëÇÏ¿©, ±¸¹®(syntax)°ú °³³ä ÀÛ¼º¿¡ ´ëÇØ »ó´çÈ÷
ÁÁÀº ¼Ò°³¸¦ Á¦°øÇÑ´Ù.]

DuBois, Paul: SOFTWARE PORTABILITY WITH IMAKE, O'Reilly and Associates,
1996, ISBN 1-56592-226-3.
[³ª´Â ÀÌ ±ÛÀ» ¿Ï¼ºÇϵµ·Ï Àо ÀûÀÌ ¾ø¾úÁö¸¸, imake ·¹ÆÛ·±½ºÀÇ °áÁ¤ÆÇÀ̶ó´Â
ÆòÆÇÀÌ´Ù.]

Frisch, Aeleen: ESSENTIAL SYSTEM ADMINISTRATION (2nd ed.), O'Reilly and
Associates, 1995, ISBN 1-56592-127-5.
[°¢º°È÷ Ź¿ùÇÑ ½Ã½ºÅÛ °ü¸® ÇÚµåºÏÀÌÁö¸¸, ¼ÒÇÁÆ®¿þ¾î ¼³Ä¡¿¡ ´ëÇØ¼­´Â °£´ÜÇÑ
½ºÄÉÄ¡ Á¤µµ ¸¸À¸·Î ´Ù·ç°í ÀÖ´Ù.]

Hekman, Jessica: LINUX IN A NUTSHELL, O'Reilly and Associates, 1997, ISBN
1-56592-167-4.
[¸®´ª½º ¸í·É¾î Àü¹Ý¿¡ ´ëÇÑ ÈǸ¢ÇÑ ·¹ÆÛ·±½º.]

Lehey, Greg: PORTING UNIX SOFTWARE, O'Reilly and Associates, 1995, ISBN
1-56592-126-7.

Mayer, Herbert G.: ADVANCED C PROGRAMMING ON THE IBM PC, Windcrest Books,
1989, ISBN 0-8306-9363-7.
[°í±Þ C ÇÁ·Î±×·¡¸Ó¶ó¸é Áï°¢ ÀÀ¿ëÇÒ ¼ö ÀÖ´Â ¾ÆÀ̵ð¾î·Î °¡µæÇÑ Ã¥.  ¾Ë°í¸®Áò¿¡
´ëÇÑ Å¹¿ùÇÑ ÇØ¼³, ÇÁ·Î±×·¡¹Ö ¾ð¾î¿¡ ´ëÇÑ Ç³ÀÚ, Àç¹Ì.  ¾ÈŸ±õ¸¸ ÀýÆÇÀÌ´Ù.]

Mui, Linda and Valerie Quercia: X USER TOOLS, O'Reilly and Associates,
1994, ISBN 1-56592-019-8, pp. 734-760.

Oram, Andrew and Steve Talbott: MANAGING PROJECTS WITH MAKE, O'Reilly
and Associates, 1991, ISBN 0-937175-90-0.

Peek, Jerry and Tim O'Reilly and Mike Loukides: UNIX POWER TOOLS,
O'Reilly and Associates / Random House, 1997, ISBN 1-56592-260-3.
[ȯ»óÀûÀÎ ¾ÆÀ̵ð¾îÀÇ ¿øÃµ.  ±×¸®°í ÀÌ ±Û¿¡¼­ ¼³¸íµÈ ¹æ¹ýÀ» ½á¼­ ¼Ò½º ÄÚµå·ÎºÎÅÍ
¼³Ä¡ÇÒ ¼ö ÀÖ´Â À¯Æ¿¸®Æ¼°¡ Àܶà ÀÖ´Ù.]

Stallman, Richard M. and Roland McGrath: GNU MAKE, Free Software
Foundation, 1995, ISBN 1-882114-78-7.
[Àеµ·Ï ¿ä±¸µÇ´Â ±Û.]

Waite, Mitchell, Stephen Prata, and Donald Martin: C PRIMER PLUS, Waite Group
Press, ISBN 0-672-22090-3,.
[¾Æ¸¶µµ C ÇÁ·Î±×·¡¹Ö¿¡ ´ëÇÑ ÃÖ°íÀÇ ÀÔ¹®¼­.  Ãʺ¸ÀÚ¸¦ À§ÇÑ ÀÚ¼¼ÇÑ ÇØ¼³.  »õ·Î¿î
ÆÇµµ Áö±Ý ±¸ÇÒ ¼ö ÀÖ´Ù.]

Welsh, Matt and Lar Kaufman: RUNNING LINUX, O'Reilly and Associates,
1996, ISBN 1-56592-151-8.
[¸î¸î ºÐ¾ß¿¡¼­´Â ±íÀ̰¡ ºÎÁ·ÇÏÁö¸¸, ¿©ÀüÈ÷ ¸®´ª½º Àü¹Ý¿¡ ´ëÇÑ ÃÖ°íÀÇ ·¹ÆÛ·±½º.] 


dpkg, gcc, gzip, imake, ldconfig, ldd, make, nm, patch,
rpm, shar, strip, tar, termcap, terminfo, xmkmfÀÇ ¸Ç ÆäÀÌÁö.

David FetterÀÇ BZIP2 HOWTO.

Eric GreenÀÇ Glibc2 HOWTO.

Daniel BarlowÀÇ LINUX ELF HOWTO.

Donnie BarnesÀÇ RPM HOWTO.

Matthew BorowskiÀÇ StarOffice miniHOWTO.


</verb></tscreen>

[ÀÌ HOWTOµéÀº ´ç½Å ½Ã½ºÅÛÀÇ <tt>/usr/doc/HOWTO</tt>³ª 
<tt>/usr/doc/HOWTO/mini</tt> µð·ºÅ͸®¿¡ ÀÖÀ» °ÍÀÌ´Ù.  ÅØ½ºÆ®, HTML, SGML Æ÷¸ËÀÇ
°³Á¤ ¹öÁ¯µéÀº <url url="http://metalab.unc.edu/LDP/HOWTO" name="LDP »çÀÌÆ®">
¹× ÇØ´ç ÀúÀÚÀÇ È¨ ÆäÀÌÁö¿¡¼­ ±¸ÇÒ ¼ö ÀÖ´Ù.]


<sect>°¨»çÀÇ ±Û
<p>

ÀÌ HOWTO ÀÇ ÀúÀÚ´Â ¾Æ·¡ÀÇ »ç¶÷µéÀÌ º¸³»ÁØ Á¦¾È°ú ¼öÁ¤, °Ý·Á¿¡ ´ëÇØ °¨»çÇÑ´Ù.

<itemize>
<item>R. Brock Lynn
<item>Michael Jenner
<item>Fabrizio Stefani
</itemize>

ÀÌ HOWTO ¸¦ ÀÌÅ»¸®¾Æ¾î¿Í ÀϺ»¾î·Î ¹ø¿ªÇÑ ÁÁÀº Ä£±¸µé¿¡°Ôµµ ¿ª½Ã ¿µ¿¹¸¦ µ¹¸°´Ù.

±×¸®°í ¹°·Ð <url url="http://metalab.unc.edu/LDP/" 
name="Linux Documentation Project">ÀÇ Greg Hankins ¿Í Tim Bynum ¿¡°Ôµµ 
°¨»ç¿Í Âù¾ç°ú ÃູÀ» º¸³½´Ù.  LDP°¡ ÀÌ ¸ðµç °ÍÀ» °¡´ÉÇÏ°Ô Ç߱⠶§¹®ÀÌ´Ù.

</article>




sponsored by andamiro
sponsored by cdnetworks
sponsored by HP

Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2003-08-10 11:52:30
Processing time 0.0078 sec