¸®´ª½º¿ë ¼ÒÇÁÆ®¿þ¾î ÆÐÅ°Áö¸¦ ÄÄÆÄÀÏÇÏ°í ÀνºÅçÇϱâ
¸®´ª½º¿ë ¼ÒÇÁÆ®¿þ¾î ÆÐÅ°Áö¸¦ ÄÄÆÄÀÏÇÏ°í ÀνºÅçÇϱâ
v1.91, 27 July 1999
¹ø¿ª: ¹Ú¹Î¼®
mpark@hrl.hitachi.co.jp
ÀÌ ±ÛÀº ¸®´ª½º¿¡¼ "ÀϹÝÀûÀÎ" À¯´Ð½º ¼ÒÇÁÆ®¿þ¾î ¹èÆ÷º»À» ÄÄÆÄÀÏÇÏ°í ¼³Ä¡ÇÏ´Â
¹æ¹ý¿¡ ´ëÇÑ ¾È³»¼ÀÌ´Ù. ¾Æ¿ï·¯ "rpm"°ú "deb" Çü½ÄÀ¸·Î ¹Ì¸® ÆÐÅ°ÁöÈµÈ ¹ÙÀ̳ʸ®µé¿¡ ´ëÇؼµµ Á¶±Ý ´Ù·é´Ù.
À¯´Ð½º¿Í ¸®´ª½º¿ëÀÇ ¸¹Àº ¼ÒÇÁÆ®¿þ¾î ÆÐÅ°Áö°¡ ¾ÐÃàµÈ ¼Ò½º ÆÄÀÏ »óÅ·Π¹èÆ÷µÈ´Ù.
¶È°°Àº ÆÐÅ°Áö°¡ ¼·Î ´Ù¸¥ Á¾·ùÀÇ ÄÄÇ»ÅÍ¿¡¼ µ¹¾Æ°¡µµ·Ï ÄÄÆÄÀ쵃 ¼ö ÀÖ°í,
µû¶ó¼ ¼ÒÇÁÆ®¿þ¾î Á¦ÀÛÀÚ´Â ¿©·¯ ¹öÁ¯À» ¸¸µå´Â ¼ö°í¸¦ ´ú ¼ö ÀÖ´Ù.
ÀÌ·¸°Ô Çؼ, ÇÑ ¼ÒÇÁÆ®¿þ¾î ÆÐÅ°ÁöÀÇ ¹èÆ÷º»ÀÌ ÀÎÅÚÀ» ºñ·ÔÇØ DECÀÇ ¾ËÆÄ,
RISC ¿öÅ©½ºÅ×À̼ǿ¡¼ ¸ÞÀÎ ÇÁ·¹ÀÓ¿¡ À̸£´Â ÄÄÇ»ÅÍ¿¡¼ ÄÄÆÄÀÏµÇ°í »ç¿ëµÈ´Ù.
ÇÏÁö¸¸ ºÒÇàÇÏ°Ôµµ ÀÌ·± ¹æ½Ä¿¡¼´Â »ç¿ëÀÚ -- ¹Ù·Î ´ç½Å -- ¿¡°Ô ¼ÒÇÁÆ®¿þ¾î¸¦
ÄÄÆÄÀÏÇÏ°í ¼³Ä¡ÇÒ Ã¥ÀÓÀ» Á®¾ß ÇÑ´Ù. ÇÏÁö¸¸, ÀÌ °úÁ¤À» ÀÌÇØÇÏ´Â °ÍÀº º¸±âº¸´Ù
¾î·Æ°Å³ª ½Åºñ·Î¿î ÀÏÀÌ ¾Æ´Ï´Ù. ÀÌ ¾È³»¼°¡ º¸¿©ÁÖµíÀÌ ¸»ÀÌ´Ù.
´ç½ÅÀº ¼ÒÇÁÆ®¿þ¾î ÆÐÅ°Áö¸¦ ´Ù¿î¹Þ´Â µîÀÇ ¹æ¹ýÀ¸·Î ±¸Çß´Ù. ´ë°³ ±× ÆÐÅ°Áö´Â
.tar.gz
À̳ª .tgz
À̶ó´Â ÇüÅ·ΠÇÑ ÆÄÀÏ·Î
¸ð¾Æ¼(tarred) ¾ÐÃàÇÑ(gzipped) °ÍÀÌ´Ù.
(ÈçÈ÷ "tarball"À̶ó°í ¾Ë·ÁÁ®ÀÖ´Ù) ¿ì¼± ÀÌ ÆÄÀÏÀ» Àû´çÇÑ ÀÛ¾÷ µð·ºÅ͸®·Î
º¹»çÇÑ´Ù. ´ÙÀ½¿£ ¾ÐÃàÀ» Ç®°í(gunzip) ¿ø·¡ÀÇ ¿©·¯ ÆÄÀÏ·Î
Ç®¾î³õ´Â´Ù(untar).
tar xzvf ÆÄÀÏÀ̸§ À̶ó°í ÇÏ¸é µÈ´Ù. ¹°·Ð ÆÄÀÏÀ̸§
À̶õ ¼ÒÇÁÆ®¿þ¾î ÆÄÀÏÀÇ À̸§ÀÌ´Ù.
tar¸¦ Ç®¸é º¸Åë ÇÏÀ§ µð·ºÅ͸®µéÀ» ¸¸µé°í °Å±â¿¡ Àû´çÈ÷ ÆÄÀϵéÀ» ¼³Ä¡ÇÑ´Ù.
Ȥ½Ã ÆÐÅ°Áö ÆÄÀÏÀÇ È®ÀåÀÚ°¡ .Z ¶ó°í Çصµ À§ÀÇ ¹æ¹ýÀ» ¾µ ¼ö ÀÖ´Ù.
uncompress¸¦ ¼öÇàÇÑ ´ÙÀ½ tar xvf ¶ó°í Çصµ µÈ´Ù.
tar tzvf ÆÄÀÏÀ̸§À̶ó°í Çϸé ÀÌ °úÁ¤À» ¹Ì¸® º¼ ¼ö ÀÖ´Ù.
ÀÌ ¸í·ÉÀº ½ÇÁ¦·Î ¾ÐÃàÀ» ÇØÁ¦Çϰųª ÇÏÁö´Â ¾Ê°í ÆÐÅ°Áö ¾ÈÀÇ ÆÄÀÏ ¸ñ·ÏÀ» º¸¿©ÁØ´Ù.
"tarball"À» Ç®¾î³»´Â À§ ¹æ¹ýÀº ´ÙÀ½ÀÇ µÎ °¡Áö¿Í µ¿µîÇÏ´Ù.
- gzip -cd filename | tar xvf -
- gunzip -c filename | tar xvf -
('-'´Â
tar ¸í·ÉÀÇ ÀÔ·ÂÀ»
Ç¥ÁØÀÔ·Â
À¸·ÎºÎÅÍ ÀÐ°Ô ÇÑ´Ù.)
»õ·Î¿î bzip2(.bz2
) Çü½ÄÀÇ ¼Ò½º ÆÄÀÏÀº bzip2 -cd ÆÄÀÏÀ̸§
| tar xvf - ·Î Ç® ¼ö ÀÖ´Ù.
¶Ç tar¿¡ ÀûÀýÇÑ ÆÐÄ¡¸¦ Çß´Ù¸é (ÀÚ¼¼ÇÑ °ÍÀº
Bzip2 HOWTO ¸¦ Âü°í)
°£´ÜÈ÷ tar xyvf ÆÄÀÏÀ̸§ À̶ó´Â ¸í·ÉÀ¸·Î ÇÒ ¼öµµ ÀÖ´Ù.
µ¥ºñ¾È ¸®´ª½º´Â È÷·Î½Ã ´ÙÄÉÄ«¿Í°¡ ¸¸µç ´Ù¸¥ tar
ÆÐÄ¡¸¦ ¾²¹Ç·Î
-I, --bzip2, --bunzip2 °°Àº ¿É¼ÇÀ» »ç¿ëÇÑ´Ù.
[ À§ Á¤º¸¸¦ Á¤Á¤ÇÏ°í ¾÷µ¥ÀÌÆ®Çϵµ·Ï ÇØÁØ °Í¿¡ ´ëÇØ R. Lynn°ú Fabrizio
Stefani¿¡°Ô °¨»çÇÑ´Ù.]
ÆÐÅ°ÁöÀÇ ¼³Á¤ Á¤º¸¿¡ ÁöÁ¤µÈ °Í ¶§¹®¿¡, ¾î¶² ¶§´Â ¾ÐÃàµÈ ÆÄÀÏÀ» »ç¿ëÀÚÀÇ È¨
µð·ºÅ͸®³ª /
, /usr/src
, /opt
µîÀÇ ´Ù¸¥
µð·ºÅ͸®¿¡ Ç®¾î ¼³Ä¡ÇØ¾ß ÇÑ´Ù.
¾ÐÃàÀ» Ç® ¶§(untar) ¿¡·¯ ¸Þ½ÃÁö°¡ ³ª¿Â´Ù¸é, ÀÌ µð·ºÅ͸® ÁöÁ¤ ¶§¹®ÀÏ ¼ö ÀÖ´Ù.
ÆÐÅ°ÁöÀÇ ¹®¼ ÆÄÀÏ, ƯÈ÷ README
¿Í Ȥ½Ã ÀÖ´Ù¸é INSTALL
ÆÄÀÏÀ»
ÀÐ¾î º¸¶ó.
±×¸®°í ¼³Ä¡ ¿ä·É¿¡ ¸Â°Ô config ÆÄÀÏ°ú Makefile
µéÀ» ÇÊ¿ä¿¡ µû¶ó
°íÄ¡µµ·Ï ÇÏÀÚ.
Imake
ÆÄÀÏÀº ´ë°³ °Çµå·Á¼´Â ¾ÈµÈ´Ù
´Â Á¡¿¡ ÁÖÀÇÇ϶ó.
°ÑÀ¸·Î µå·¯³ªÁö ¾Ê´Â °á°ú¸¦ °¡Áö°í ÀÖÀ» ¼ö Àֱ⠶§¹®ÀÌ´Ù.
´ëºÎºÐÀÇ ¼ÒÇÁÆ®¿þ¾î ÆÐÅ°Áö´Â make install
À» ¼öÇàÇÏ¸é ¹ÙÀ̳ʸ®
ÆÄÀϵéÀ» ½Ã½ºÅÛÀÇ ÀûÀýÇÑ ÀÚ¸®¿¡ °®´ÙµÎµµ·Ï ÇÏ¿© ¼³Ä¡ µð·ºÅ͸® ¹®Á¦¸¦
ÀÚµ¿ÀûÀ¸·Î ó¸®ÇÑ´Ù.
- ÀÎÅͳÝÀÇ ´º½º±×·ì °°Àº °÷¿¡¼´Â
shar
ÆÄÀÏÀ̳ª
shell archive ÇüÅÂÀÇ ¼Ò½ºÆÄÀϵéÀ» º¼ ¼ö ÀÖ´Ù.
ÀÌ Çü½ÄµéÀº »ç¶÷ÀÌ ÀÐÀ» ¼ö ÀÖ´Ù´Â Á¡ ¶§¹®¿¡ »ç¿ëµÇ°í ÀÖ´Ù.
´º½º±×·ìÀÇ °ü¸®ÀÚ°¡ ¼Ò½ºÆÄÀÏÀ» Àаí Á¤¸®Çϰųª, ºÎÀûÀýÇÑ °ÍÀÏ °æ¿ì¿¡´Â
»èÁ¦ÇÒ ¼ö Àֱ⠶§¹®ÀÌ´Ù. ÀÌ Çü½ÄÀº unshar ÆÄÀÏÀ̸§.shar ¸í·ÉÀ¸·Î
Ç®¾î¾ß ÇÑ´Ù. ´Ù¸¥ °ÍÀº "tarball"°ú °°´Ù.
- ¾î¶² ¼Ò½º ÆÄÀϵéÀº zip, arc, lha,
arj, zoo, rar, shk¿Í °°ÀÌ DOS, Mac, Amiga
ÀÇ ºñÇ¥ÁØÀûÀÎ ¾ÐÃà À¯Æ¿¸®Æ¼·Î 󸮵Ǿî ÀÖ´Ù. ´ÙÇàÈ÷ ÀÌµé ´ëºÎºÐÀ» ó¸®ÇÒ ¼ö
ÀÖ´Â ¸®´ª½º¿ë À¯Æ¿¸®Æ¼°¡
sunsite µî¿¡
ÀÖ´Ù.
¶§·Î´Â Ç®¾î³õÀº ¼Ò½º ÆÄÀÏÀ» ¾÷µ¥ÀÌÆ®Çϰųª ¹ö±× ¼öÁ¤»çÇ×À» Àû¿ëÇÒ ÇÊ¿ä°¡ ÀÖ´Ù.
ÀÌ·² ¶§´Â º¯°æ »çÇ×À» ³ª¿ÇÑ patch
³ª diff
ÆÄÀÏÀ» »ç¿ëÇÑ´Ù.
ÀÌ°ÍÀº README
³ª ±âŸ ¹®¼¸¦ ÅëÇØ ¾Ë ¼ö ÀÖ´Ù.
Larry WallÀÇ ¸·°ÇÑ À¯Æ¿¸®Æ¼ patch¸¦ »ç¿ëÇÏ´Â º¸Åë ¹æ¹ýÀº
patch < patchfile ÀÌ´Ù.
ÀÌÁ¦´Â ¼³Ä¡ °úÁ¤ °¡¿îµ¥ ÄÄÆÄÀÏ ´Ü°è·Î ³Ñ¾î°¥ ¼ö ÀÖÀ» °ÍÀÌ´Ù.
Makefile
Àº ÄÄÆÄÀÏ °úÁ¤ÀÇ ¿¼è´Ù. °¡Àå °£´ÜÇÑ ÇüÅ·Πº¸¸é, MakefileÀº
ÆÐÅ°ÁöÀÇ ½ÇÇà °¡´ÉÇÑ ºÎºÐÀÎ "¹ÙÀ̳ʸ® ÆÄÀÏ"À» ÄÄÆÄÀÏÇϱâ À§ÇÑ ÇϳªÀÇ
½ºÅ©¸³Æ®´Ù. MakefileÀº ¼Ò½º ÆÄÀÏÀ» ¸ðµÎ ´Ù½Ã ÄÄÆÄÀÏÇÏÁö ¾Ê°í ¼ÒÇÁÆ®¿þ¾î
ÆÐÅ°Áö¸¦ °»½ÅÇÏ´Â ¹æ¹ýÀ» Á¦°øÇÒ ¼öµµ ÀÖÁö¸¸, ±×°ÍÀº ¶Ç ´Ù¸¥ À̾߱â(ȤÀº
¶Ç ´Ù¸¥ ±Û)ÀÌ´Ù.
¾î´À ½ÃÁ¡¿¡ MakefileÀº cc
³ª gcc
¸¦ ½ÇÇà½ÃŲ´Ù.
cc
³ª gcc
´Â »ç½ÇÀº ¼ø¼¿¡ µû¶ó È£ÃâµÈ Àü󸮱â¿Í C(ȤÀº C++)
ÄÄÆÄÀÏ·¯, ¸µÄ¿ÀÇ ÁýÇÕÀÌ´Ù. ÀÌ °úÁ¤À» ÅëÇØ ¼Ò½º´Â ½ÇÁ¦·Î ½ÇÇà½Ãų ¼ö ÀÖ´Â
¹ÙÀ̳ʸ®·Î º¯È¯µÈ´Ù.
´ë°³ make ¶ó°í Ä¡±â¸¸ Çϸé make¸¦ ½ÃÀÛÇÒ ¼ö ÀÖ´Ù.
ÀÌ·¸°Ô Çϸé ÀϹÝÀûÀ¸·Î ¼³Ä¡ÇÏ·Á°í ÇÏ´Â ÆÐÅ°Áö¿¡ ÇÊ¿äÇÑ ¸ðµç ½ÇÇà ÆÄÀϵéÀ»
ÄÄÆÄÀÏÇÑ´Ù. ÇÏÁö¸¸ make´Â ÆÄÀϵéÀ» Àû´çÇÑ µð·ºÅ͸®¿¡ ¼³Ä¡ÇѴٰųª
(make install), ¹¬Àº object ÆÄÀÏÀ» »èÁ¦ÇÏ´Â µî(make clean),
´Ù¸¥ ÀÛ¾÷µéµµ ÇÒ ¼ö ÀÖ´Ù. make -n À̶ó°í Çϸé make¿¡ ÀÇÇØ ¼öÇàµÉ
¸ðµç ¸í·ÉµéÀ» ½ÇÇàÇÏÁö´Â ¾Ê°í º¸¿©Áֱ⸸ ÇϹǷΠÄÄÆÄÀÏ °úÁ¤À» ¹Ì¸® º¼ ¼ö ÀÖ´Ù.
ÀϹÝÀûÀÎ MakefileÀ» ¾²´Â °ÍÀº ¸Å¿ì °£´ÜÇÑ ¼ÒÇÁÆ®¿þ¾î »ÓÀÌ´Ù. Á»´õ º¹ÀâÇÑ
¼³Ä¡ °úÁ¤¿¡´Â ¶óÀ̺귯¸®¿Í include ÆÄÀϵéÀÇ À§Ä¡, °³º° ÄÄÇ»ÅÍÀÇ ÀÚ¿ø µî¿¡ µû¶ó
MakefileÀ» ¸ÂÃâ ÇÊ¿ä°¡ ÀÖ´Ù. ƯÈ÷ ÄÄÆÄÀÏ¿¡ X11
¶óÀ̺귯¸®°¡ ÇÊ¿äÇÒ
°æ¿ì°¡ ÀÌ¿¡ ÇØ´çµÈ´Ù. ÀÌ ÀÛ¾÷Àº Imake¿Í xmkmf°¡ ó¸®ÇÑ´Ù.
man ÆäÀÌÁö¿¡¼´Â Imakefile
Àº MakefileÀÇ "ÅÛÇø´"À̶ó ÇÏ°í ÀÖ´Ù.
imake À¯Æ¿¸®Æ¼´Â Imakefile·ÎºÎÅÍ ´ç½ÅÀÇ ½Ã½ºÅÛ¿¡ ¸Â´Â MakefileÀ» ±¸¼ºÇÑ´Ù.
ÇÏÁö¸¸ ´ëºÎºÐÀÇ °æ¿ì ´ç½ÅÀº imake À¯Æ¿¸®Æ¼ÀÇ ÇÁ·±Æ® ¿£µå(front end)·Î¼
imake¸¦ ºÒ·¯³»´Â ½© ½ºÅ©¸³Æ®ÀÎ xmkmf¸¦ ¼öÇà½Ãų °ÍÀÌ´Ù.
±¸Ã¼ÀûÀÎ Áö½Ã´Â ¼ÒÇÁÆ®¿þ¾î ÆÐÅ°Áö¿¡ µé¾îÀÖ´Â README³ª INSTALL ÆÄÀÏÀ»
Àо¾Æ¶ó. (Ȥ½Ã ¼Ò½º ÆÄÀϵéÀÇ ¾ÐÃàÀ» Ǭ ´ÙÀ½¿¡ ±âº» µð·ºÅ͸®¿¡ Imake
ÆÄÀÏÀÌ ÀÖ´Ù¸é, xmkmf¸¦ ¼öÇàÇ϶ó´Â ¾ê±â´Ù.)
ÀÌ °úÁ¤¿¡ ´ëÇÑ ´õ ÀÚ¼¼ÇÑ ºÐ¼®Àº Imake
¿Í xmkmf
ÀÇ man ÆäÀÌÁö¸¦
Àо¾Æ¶ó.
xmkmf
¿Í make
´Â root°¡ ½ÇÇà½ÃÄÑ¾ß ÇÒ ¼öµµ ÀÖ´Ù´Â Á¡¿¡
À¯ÀÇÇ϶ó. ƯÈ÷ ¹ÙÀ̳ʸ® ÆÄÀϵéÀ» /usr/bin
À̳ª /usr/local/bin
µð·ºÅ͸®·Î ¿Å±â±â À§Çؼ make installÀ» ½ÇÇà½Ãų ¶§ ±×·¸´Ù.
rootÀÇ ±ÇÇÑÀÌ ¾ø´Â ÀÏ¹Ý »ç¿ëÀڷμ make¸¦ »ç¿ëÇϸé write access denied
¶ó´Â ¿¡·¯ ¸Þ½ÃÁö¸¦ º¸°Ô µÇ±â ½±´Ù. ½Ã½ºÅÛ µð·ºÅ͸®¿¡ ¾²±â Çã°¡±ÇÀ» °®°í ÀÖÁö
¾Ê±â ¶§¹®ÀÌ´Ù. ¸¸µé¾îÁø ¹ÙÀ̳ʸ® ÆÄÀϵéÀÌ ´ç½Å°ú ´Ù¸¥ ÀûÀýÇÑ »ç¿ëÀڵ鿡°Ô
ÀûÇÕÇÑ ½ÇÇà Çã°¡±ÇÀ» °®°í ÀÖ´ÂÁöµµ È®ÀÎÇØ¾ß ÇÑ´Ù.
xmkmf´Â ´ç½ÅÀÇ ½Ã½ºÅÛ¿¡ ¸Â´Â »õ·Î¿î MakefileÀ» ¸¸µé±â À§Çؼ
Imake
ÆÄÀÏÀ» »ç¿ëÇÑ´Ù. º¸Åë xmkmf´Â -a ¿É¼Ç°ú
ÇÔ²² »ç¿ëÇÑ´Ù. make Makefiles, make includes, make depend ¸¦
ÀÚµ¿ÀûÀ¸·Î ½ÇÇàÇϱâ À§Çؼ´Ù. ÀÌ·¸°Ô Çϸé ÄÄÆÄÀÏ·¯¿Í ¸µÄ¿¸¦ À§ÇØ º¯¼öµéÀ»
¼³Á¤ÇÏ°í ¶óÀ̺귯¸®ÀÇ À§Ä¡¸¦ Á¤ÀÇÇÑ´Ù.
¶§·Î´Â Imake
ÆÄÀÏÀÌ ¾ø°í ´ë½Å °°Àº ¿ªÇÒÀ» ÇÏ´Â INSTALL
À̳ª
configure
¶ó´Â ½© ½ºÅ©¸³Æ®°¡ ÀÖÀ» ¼öµµ ÀÖ´Ù.
configure
¸¦ ½ÇÇà½ÃÅ°·Á¸é ./configure ¶ó°í ÇØ¾ß ÇÑ´Ù´Â Á¡¿¡
ÁÖÀÇÇØ¾ß ÇÑ´Ù. ÇöÀç µð·ºÅ͸®ÀÇ Á¤È®ÇÑ configure
½ºÅ©¸³Æ®¸¦
È£ÃâÇϱâ À§Çؼ´Ù. ´ëºÎºÐÀÇ °æ¿ì ¹èÆ÷º»ÀÇ README
ÆÄÀÏ¿¡ ¼³Ä¡ °úÁ¤¿¡
´ëÇÑ ¼³¸íÀÌ µé¾î ÀÖ´Ù.
º¸Åë xmkmf
³ª ¼³Ä¡ ½ºÅ©¸³Æ®°¡ ¸¸µé¾î³½ Makefile
¼ÓÀ» Á÷Á¢
»ìÆ캸´Â °ÍÀÌ ÁÁ´Ù. ´ë°³ MakefileÀº ´ç½ÅÀÇ ½Ã½ºÅÛ¿¡ ÀûÇÕÇÏÁö¸¸, °æ¿ì¿¡
µû¶ó¼´Â MakefileÀ» º¯°æÇϰųª, ¿¡·¯¸¦ ¼ÕÀ¸·Î ¼öÁ¤ÇÒ ÇÊ¿ä°¡ ÀÖÀ» ¼öµµ ÀÖ´Ù.
´ë°³ ·çÆ®·Î¼ make installÀ» Çϸé, »õ·Î ¸¸µç ¹ÙÀ̳ʸ® ÆÄÀϵéÀ»
ÀûÀýÇÑ ½Ã½ºÅÛ µð·ºÅ͸®¿¡ ¼³Ä¡ÇÏ°Ô µÈ´Ù. ¿äÁòÀÇ ¸®´ª½º ¹èÆ÷º»ÀÇ °æ¿ì,
½Ã½ºÅÛ Àüü¿ëÀÇ ¹ÙÀ̳ʸ® ÆÄÀϵéÀº º¸Åë /usr/bin
,
/usr/X11R6/bin
, /usr/local/bin
¿¡ ¼³Ä¡µÈ´Ù.
¿ø·¡ ¼³Ä¡Çß´ø ¸®´ª½ºÀÇ ÀϺΰ¡ ¾Æ´Ï±â ¶§¹®¿¡ º°µµÀÇ ¹ÙÀ̳ʸ® ÆÄÀÏ·Î ³²°ÜµÎ±â
À§Çؼ »õ·Î¿î ÆÐÅ°Áö´Â /usr/local/bin
¿¡ ¼³Ä¡ÇÏ´Â °ÍÀÌ ÁÁ´Ù.
¿ø·¡ »ó¾÷¿ë UNIX¸¦ À§ÇØ ¸¸µé¾îÁø ÆÐÅ°Áö´Â /opt
³ª ±âŸ ³¸¼± µð·ºÅ͸®¿¡
¼³Ä¡µÇµµ·Ï µÇ¾î ÀÖÀ» ¼öµµ ÀÖ´Ù. ÀÌ °æ¿ì, ÁöÁ¤µÈ µð·ºÅ͸®°¡ ¾ø´Ù¸é,
´ç¿¬È÷ ¼³Ä¡ ¿¡·¯ ¸Þ½ÃÁö°¡ ³ª¿À°Ô µÈ´Ù. ÀÌ ¹®Á¦¸¦ ÇØ°áÇÏ´Â °¡Àå °£´ÜÇÑ ¹æ¹ýÀº
root ·Î¼ /opt
µð·ºÅ͸®¸¦ ¸¸µé¾î¼ ÆÐÅ°Áö¸¦ ¼³Ä¡ÇÏ°í, ÇØ´ç µð·ºÅ͸®¸¦
PATH
ȯ°æº¯¼ö¿¡ ³Ö´Â °ÍÀÌ´Ù.
¶Ç´Â /usr/local/bin
µð·ºÅ͸®·Î ½Éº¼¸¯ ¸µÅ©¸¦ ¸¸µé ¼öµµ ÀÖ´Ù.
ÀϹÝÀûÀÎ ¼³Ä¡ ¼ø¼¸¦ Á¤¸®ÇÏ¸é ´ÙÀ½°ú °°´Ù.
README
ÆÄÀÏ ¹× ±×¹ÛÀÇ °¡´ÉÇÑ ¹®¼¸¦ Àд´Ù.
- xmkmf -a³ª,
INSTALL
, configure
¸¦ ½ÇÇàÇÑ´Ù.
Makefile
À» È®ÀÎÇÑ´Ù.
- ÇÊ¿äÇϸé, make clean, make Makefiles,
make includes, make depend¸¦ ½ÇÇàÇÑ´Ù.
- make¸¦ ½ÇÇàÇÑ´Ù.
- ÆÄÀÏÀÇ Çã°¡±ÇÀ» È®ÀÎÇÑ´Ù.
- ÇÊ¿äÇϸé make install¸¦ ½ÇÇàÇÑ´Ù.
ÁÖÀÇÁ¡:
- º¸Åë ÆÐÅ°ÁöÀÇ ÄÄÆÄÀÏÀº root·Î¼ ÇÏÁö ¾Ê´Â´Ù. root·Î su¸¦ ÇÏ´Â
°ÍÀº ÄÄÆÄÀÏµÈ ¹ÙÀ̳ʸ® ÆÄÀϵéÀ» ½Ã½ºÅÛ µð·ºÅ͸®¿¡ ¼³Ä¡ÇÒ ¶§¿¡¸¸ ÇÊ¿äÇÏ´Ù.
- make¿Í ±× »ç¿ë¹ý¿¡ Àͼ÷ÇØÁø ´ÙÀ½¿¡´Â, ¼³Ä¡ÇÏ·Á´Â ÆÐÅ°Áö¿¡ Æ÷ÇÔµÈ
ȤÀº »õ·Î ¸¸µé¾îÁø Ç¥ÁØ
Makefile
¿¡ gcc
¸¦ À§ÇÑ ÃÖÀûÈ ¿É¼ÇÀ»
Ãß°¡ÇÏ°í ½ÍÀ» ¼öµµ ÀÖ´Ù. ÈçÇÑ ¿É¼ÇÀº -O2,
-fomit-frame-pointer, -funroll-loops, (ÆæƼ¾ö cpu¶ó¸é)
-mpentium µîÀÌ´Ù. MakefileÀ» º¯°æÇÒ ¶§¿¡´Â ÁÖÀÇÇØ¾ß ÇÑ´Ù.
- make·Î ¹ÙÀ̳ʸ® ÆÄÀÏÀ» ¸¸µç ´ÙÀ½¿¡´Â stripÀ» ÇÏ°í
½ÍÀ» ¼ö°¡ ÀÖ´Ù. stripÀ̶õ ¹ÙÀ̳ʸ® ÆÄÀÏ¿¡¼ ½Éº¼¸¯ µð¹ö±ë Á¤º¸¸¦
Á¦°ÅÇؼ ±× Å©±â¸¦ »ó´çÈ÷ ÁÙ¿©ÁÖ´Â ¸í·ÉÀÌ´Ù.
¹°·Ð ÀÌ·¸°Ô ÇÏ¸é µð¹ö±ëÀº ºÒ°¡´ÉÇÏ´Ù.
-
Pack Distribution Project´Â º°µµÀÇ Ä÷º¼Ç µð·ºÅ͸®¿¡ ¼³Ä¡µÈ ÆÄÀÏµé »çÀÌÀÇ
½Éº¼¸¯ ¸µÅ©¸¦ ó¸®Çϵµ·Ï Python ½ºÅ©¸³Æ®·Î ÀÛ¼ºµÈ µµ±¸µé¿¡ ±â¹ÝÇϴµ¥,
¾ÐÃàµÈ ¼ÒÇÁÆ®¿þ¾î ÆÐÅ°Áö¸¦ ¸¸µå´Â ¶Ç´Ù¸¥ ¹æ¹ýÀ» Á¦°øÇÑ´Ù. ÀÌ ¾ÐÃà ÆÐÅ°ÁöµéÀº
º¸ÅëÀÇ tarballÀÌÁö¸¸,
/coll
°ú /pack
µð·ºÅ͸®¿¡
¼³Ä¡µÈ´Ù. ÀÌ ¹èÆ÷º»µéÀ» ¾²·Á¸é À§ÀÇ »çÀÌÆ®¿¡¼ Pack-Collection À»
´Ù¿î¹Þ¾Æ¾ß ÇÑ´Ù.
¼Ò½º·ÎºÎÅÍ ¼öµ¿À¸·Î ÆÐÅ°Áö¸¦ ÄÄÆÄÀÏÇÏ°í ¼³Ä¡ÇÏ´Â °ÍÀº ºÐ¸íÈ÷ ¾î¶² ¸®´ª½º
»ç¿ëÀڵ鿡°Ô´Â ¸Å¿ì °Ì³ª´Â ÀÏÀÌ´Ù. ±×·¡¼ ÀαâÀÖ´Â rpm°ú
deb ȤÀº ´õ »õ·Î¿î Stampede slp ÆÐÅ°Áö Æ÷¸ËÀ» »ç¿ëÇÏ°ï ÇÑ´Ù.
rpm ¼³Ä¡°¡ º¸ÅëÀº ºÎµå·´°í ºü¸¦ ¼ö ÀÖ´Ù. ¾î´À ¾Ç¸í³ôÀº ¿î¿µ üÁ¦¿¡¼
¼ÒÇÁÆ®¿þ¾î¸¦ ¼³Ä¡ÇÏ´Â °Í ¸¸ÅÀ̳ª ¸»ÀÌ´Ù.
ÇÏÁö¸¸ ÀÚµ¿À¸·Î ¼³Ä¡µÇ´Â ¹Ì¸® ÆÐÅ°ÁöÈµÈ ¹ÙÀ̳ʸ® ÆÄÀÏÀÇ ¾àÁ¡¿¡ ´ëÇؼµµ ºÐ¸íÈ÷
»ý°¢ÇØ º¸¾Æ¾ß ÇÑ´Ù.
ù°, ¼ÒÇÁÆ®¿þ¾î ÆÐÅ°Áö°¡ º¸ÅëÀº ¸ÕÀú "tarball"·Î ¹èÆ÷µÇ¸ç, ¹Ì¸® ÆÐÅ°ÁöȵÈ
¹ÙÀ̳ʸ® ÆÄÀÏÀº ¸çÄ¥¿¡¼ ¸îÁÖ ½ÉÁö¾î´Â ¸î´Þ µÚ´Ê°Ô ³ª¿Â´Ù´Â °ÍÀ» ¾Ë¾Æ¾ß ÇÑ´Ù.
ÇöÀçÀÇ rpm ÆÐÅ°Áö´Â ÃÖ½ÅÀÇ "tarball"¿¡ ºñÇØ Àû¾îµµ ¸¶ÀÌ³Ê ¹öÁ¯ 2
Á¤µµ ´Ê´Â °ÍÀÌ ÀϹÝÀûÀÌ´Ù. µû¶ó¼ ¼ÒÇÁÆ®¿þ¾îÀÇ Ã·´ÜÀ» µû¶ó°¡°í ½ÍÀº
»ç¶÷À̶ó¸é, rpmÀ̳ª deb°¡ ³ª¿À±â¸¦ ±â´Ù¸± ¼ö ¾øÀ» °ÍÀÌ´Ù.
´ú ÀαâÀÖ´Â ÆÐÅ°Áö¶ó¸é ¾Æ¿¹ rpmÀ¸·Î ¸¸µé¾îÁöÁö ¾ÊÀ» ¼öµµ ÀÖ´Ù.
µÑ°, "tarball" ÆÐÅ°Áö°¡ º¸´Ù ¿ÏÀüÇϸç, ´õ ¸¹Àº ¿É¼ÇÀ» °¡Áö°í ÀÖ°í,
´õ ÃÖÀûȽÃÅ°±â ½±´Ù. ¹ÙÀ̳ʸ® ÆÄÀÏÀÇ rpm ¹èÆ÷º»Àº ¿ø·¡ ¹èÆ÷º»ÀÇ ±â´É °¡¿îµ¥
ÀϺθ¦ °¡Áö°í ÀÖÁö ¾ÊÀ» ¼öµµ ÀÖ´Ù. ¼Ò½º rpmÀº Àüü ¼Ò½º Äڵ带
Æ÷ÇÔÇÏ°í ÀÖÀ¸¸ç, rpm --recompile ÆÐÅ°ÁöÀ̸§.rpm À̳ª
rpm --rebuild ÆÐÅ°ÁöÀ̸§.rpm ¿É¼ÇÀ¸·Î ÄÄÆÄÀÏÇÏ°í ¼³Ä¡ÇÏ¿©¾ß ÇÑ´Ù.
¼Â°, ¾î¶² ¹Ì¸® ÆÐÅ°ÁöÈµÈ ¹ÙÀ̳ʸ® ÆÄÀϵéÀº Á¦´ë·Î ¼³Ä¡µÇÁö ¾ÊÀ¸¸ç, ¼³Ä¡°¡
µÇ¾ú´Ù°í Çصµ Á¤»óÀûÀ¸·Î Á¾·áµÇÁö ¸øÇÏ°í core-dump¸¦ ³¾ ¼ö ÀÖ´Ù. ÀÌ°ÍÀº
ÀÇÁ¸ÇÏ°í ÀÖ´Â ¶óÀ̺귯¸®ÀÇ ¹öÁ¯ÀÌ ´ç½ÅÀÇ ½Ã½ºÅÛ¿¡ ÀÖ´Â °Í°ú ´Ù¸£±â ¶§¹®ÀÏ ¼öµµ
ÀÖ°í, Á¦´ë·Î ÆÐÅ°ÁöȵÇÁö ¾Ê¾ÒÀ» ¼öµµ ÀÖÀ¸¸ç, ȤÀº ±×Àú ½ÇÇà¿¡ ½ÇÆÐÇÑ °Í(plain
broken)ÀÏ ¼öµµ ÀÖ´Ù. ¾î¶² °æ¿ì°Ç, rpmÀ̳ª deb¸¦ ¼³Ä¡Çß´Ù¸é,
´ç½ÅÀº ±× rpmÀ̳ª deb ÆÐÅ°Áö¸¦ ¸¸µç »ç¶÷ÀÇ ¼÷·Ãµµ¸¦
¹Ï¾î¾ß¸¸ ÇÑ´Ù.
³¡À¸·Î, ¼Ò½º¸¦ ¸¸Áö°í ±×°ÍÀ¸·ÎºÎÅÍ ¹è¿ì±â À§Çؼ´Â, ¼Ò½º Äڵ带 ¼Õ À§¿¡ °®°í
ÀÖ´Â ÆíÀÌ ÁÁ´Ù. ¼Ò½º Äڵ带 ¾ÐÃà ÆÄÀÏ·Î °®°í ÀÖ´Â ÆíÀÌ º°µµÀÇ ¼Ò½º
rpmÀ¸·Î °®°í ÀÖ´Â Æí¿¡ ºñÇØ ÈξÀ ´õ ¼ö¿ùÇÏ´Ù.
rpm ÆÐÅ°Áö¸¦ ¼³Ä¡ÇÏ´Â °ÍÀÌ ²À ¾Æ¹« »ý°¢¾øÀÌ °¡´ÉÇÑ °ÍÀº ¾Æ´Ï´Ù.
ÀÇÁ¸¼º¿¡ ¹®Á¦°¡ ÀÖÀ¸¸é rpm ¼³Ä¡´Â ½ÇÆÐÇÒ °ÍÀÌ´Ù. ºñ½ÁÇÑ °æ¿ì·Î,
rpmÀÌ ´ç½Å ½Ã½ºÅÛ¿¡ ÀÖ´Â °Í°ú ´Ù¸¥ ¹öÁ¯ÀÇ ¶óÀ̺귯¸®¸¦ ¿ä±¸ÇÑ´Ù¸é,
¼³Ä¡´Â Á¦´ë·Î µÇÁö ¾ÊÀ» °ÍÀÌ´Ù. ´ç½ÅÀÌ Áö±Ý ÀÖ´Â ¶óÀ̺귯¸®¿¡¼ ¾ø´Â
¶óÀ̺귯¸®·ÎÀÇ ½Éº¼¸¯ ¸µÅ©¸¦ ¸¸µé¾îÁØ´Ù Çصµ ¸»ÀÌ´Ù.
rpm ¼³Ä¡°¡ Æí¸®Çϱâ´Â ÇÏÁö¸¸, "tarball" ¼³Ä¡°¡ ½ÇÆÐÇÏ´Â °Í°ú
°°Àº ÀÌÀ¯·Î ½ÇÆÐÇÏ´Â °æ¿ì°¡ ÀÚÁÖ ÀÖ´Ù.
´ç½ÅÀº ÇÊ¿äÇÑ ¾²±â Çã°¡±ÇÀ» °®±â À§Çؼ rpm°ú debÀÇ ¼³Ä¡¸¦
root·Î¼ Çؾ߸¸ Çϴµ¥, ÀÌ°ÍÀº ½É°¢ÇÑ ÀáÀçÀû º¸¾È ¹®Á¦¸¦ ¾ß±âÇÑ´Ù.
´ç½ÅÀÌ »ý°¢¾øÀÌ ½Ã½ºÅÛÀÇ ¹ÙÀ̳ʸ® ÆÄÀÏ°ú ¶óÀ̺귯¸®µéÀ» ¸ÁÃĹö¸®°Å³ª,
½ÉÁö¾î ´ç½Å ½Ã½ºÅÛÀ» Æı«ÇÒ Æ®·ÎÀÌ ¸ñ¸¶¸¦ ¼³Ä¡ÇÒ ¼öµµ Àֱ⠶§¹®ÀÌ´Ù.
µû¶ó¼ rpm°ú deb ÆÐÅ°Áö¸¦ "¹ÏÀ» ¼ö ÀÖ´Â ÀÚ·á¿ø"À¸·ÎºÎÅÍ ¾ò´Â °ÍÀÌ
Áß¿äÇÏ´Ù. ¾î¶² °æ¿ì¿¡³ª ´ç½ÅÀº rpm ÆÐÅ°Áö¸¦ ¼³Ä¡Çϱâ Àü¿¡,
rpm --cecksig ÆÐÅ°ÁöÀ̸§.rpm ¸í·ÉÀ¸·Î (MD5 checksum°ú ´ëÁ¶ÇÏ¿©)
'¼¸í È®ÀÎ'À» Çؾ߸¸ ÇÑ´Ù. ¸¶Âù°¡Áö·Î rpm -K --nopgp ÆÐÅ°ÁöÀ̸§.rpmÀ»
¼öÇàÇÒ °ÍÀ» °·ÂÇÏ°Ô ±ÇÇÑ´Ù. deb ÆÐÅ°Áö¿¡¼ ÀÌ¿¡ ÇØ´çÇÏ´Â ¸í·ÉÀº
dpkg -I | --info ÆÐÅ°ÁöÀ̸§.deb ¿Í dpkg -e | --control
ÆÐÅ°ÁöÀ̸§.deb ÀÌ´Ù.
rpm --checksig gnucash-1.1.23-4.i386.rpm
gnucash-1.1.23-4.i386.rpm: size md5 OK
rpm -K --nopgp gnucash-1.1.23-4.i386.rpm
gnucash-1.1.23-4.i386.rpm: size md5 OK
ÁøÂ¥ ÆíÁýÁõ ȯÀÚ(ÀÌ Á¤µµ¶ó¸é ÆíÁý±¤À̶ó°í ºÎ¸£´Â °æ¿ì°¡ ´õ ¸¹´Ù)¶ó¸é,
ÆÐÅ°Áö¸¦ Ç®¾î¼ ±× ±¸¼º¿ä¼Ò¸¦ È®ÀÎÇϱâÀ§ÇÑ unrpm°ú rpmunpack
À¯Æ¿¸®Æ¼¸¦
Sunsite utils/package directoryÀÇ utils/package µð·ºÅ͸®¿¡¼ ±¸ÇÒ ¼ö
ÀÖ´Ù.
Klee DieneÀº ¼³Ä¡µÈ .deb
ÆÄÀÏ¿¡ ¹®Á¦°¡ ÀÖ´ÂÁö MD5 checksum°ú ºñ±³ÇÏ¿© È®ÀÎÇÏ´Â dpkgcert¶ó´Â
½ÇÇèÀûÀÎ ÆÐÅ°Áö¸¦ ÀÛ¼ºÇß´Ù.
Debian ftp archive¿¡¼ ±¸ÇÒ ¼ö ÀÖ´Ù. ÇöÀçÀÇ ÆÐÅ°Áö À̸§ ¹× ¹öÁ¯Àº
dpkgcert_0.2-4.1_all.deb ÀÌ´Ù.
"http://dpkgcert.jimpick.com" name="Jim Pick Software">»çÀÌÆ®´Â
dpkgcert°¡ ÀüÇüÀûÀÎ µ¥ºñ¾È ½Ã½ºÅÛ ³»ÀÇ ÆÐÅ°ÁöµéÀ» °ËÁõÇϵµ·Ï ÇÏ´Â
½ÇÇèÀûÀÎ ¼¹ö µ¥ÀÌÅͺ£À̽º¸¦ ¿î¿µÇÏ°í ÀÖ´Ù.
°¡Àå ´Ü¼øÇÏ°Ô´Â, rpm -i ÆÐÅ°ÁöÀ̸§.rpm °ú dpkg --install
ÆÐÅ°ÁöÀ̸§.deb ¸í·ÉÀ¸·Î ÀÚµ¿ÀûÀ¸·Î ¼ÒÇÁÆ®¿þ¾î¸¦ Ç®¾î¼ ¼³Ä¡ÇÒ ¼ö ÀÖ´Ù.
ÇÏÁö¸¸ ÀÌ ¸í·ÉÀ» ¸Í¸ñÀûÀ¸·Î ¾²¸é ´ç½Å ½Ã½ºÅÛÀ» ÇØÄ¥ ¼öµµ ÀÖÀ¸¹Ç·Î ÁÖÀÇÇØ¾ß ÇÑ´Ù.
À§ÀÇ °æ°í´Â Á¤µµ´Â ´ú ÇÏÁö¸¸ ½½·¢¿þ¾îÀÇ pkgtool ¼³Ä¡ À¯Æ¿¸®Æ¼¿¡µµ ¿ª½Ã
Àû¿ëµÈ´Ù. ¸ðµç "ÀÚµ¿ÈµÈ" ¼ÒÇÁÆ®¿þ¾î ¼³Ä¡´Â ÁÖÀǸ¦ ¿äÇÏ´Â °ÍÀÌ´Ù.
martian¿Í
alien
ÇÁ·Î±×·¥Àº rpm, deb, StampedeÀÇ slp, tar.gz
ÆÐÅ°Áö Çü½ÄÀ» ¼·Î º¯È¯ÇØÁØ´Ù. ÀÌ ÇÁ·Î±×·¥µéÀ» ¾²¸é ÀÌ ÆÐÅ°ÁöµéÀ» ¸ðµç
¸®´ª½º ¹èÆ÷º»¿¡¼ »ç¿ëÇÒ ¼ö ÀÖ´Ù.
´õ ÀÚ¼¼ÇÑ Á¤º¸°¡ ÇÊ¿äÇϸé rpm°ú dpkg ¸í·ÉÀÇ man ÆäÀÌÁö¸¦
ÁÖÀÇÇؼ Àаí,
RPM HOWTO¿Í TFUGÀÇ
Quick Guide to Red Hat's Package Manager,
The Debian Package Management Tools¸¦ ÂüÁ¶Ç϶ó.
Jan Hubicka´Â
xaos¶ó´Â ¸Å¿ì ÈǸ¢ÇÑ ÇÁ·¢Å» ÆÐÅ°Áö¸¦ ¸¸µé¾ú´Ù.
±×ÀÇ È¨ÆäÀÌÁö¿¡¼
.tar.gz
°ú rpm
·Î µÈ ÆÐÅ°ÁöµéÀ» ±¸ÇÒ ¼ö ÀÖ´Ù. ÆíÀǸ¦ À§Çؼ
"tarball" º¸´Ù´Â rpm ¹öÁ¯À» »ç¿ëÇϱâ·Î ÇÏÀÚ.
ºÒÇàÇÏ°Ôµµ rpm ¹öÁ¯ÀÇ xaos¸¦ ¼³Ä¡Çϴµ¥ ½ÇÆÐÇß´Ù. µÎ º°°³ÀÇ rpm ÆÇÀÌ
¸ðµÎ Á¦´ë·Î µ¿ÀÛÇÏÁö ¾Ê¾Ò´Ù.
rpm -i --test XaoS-3.0-1.i386.rpm
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
rpm -i --test xaos-3.0-8.i386.rpm
error: failed dependencies:
libaa.so.1 is needed by xaos-3.0-8
ÀÌ»óÇÑ °ÍÀº libslang.so.0
, libpng.so.0
, libaa.so.1
ÀÌ
¸ðµÎ ½ÃÇèµÈ ½Ã½ºÅÛÀÇ /usr/lib
µð·ºÅ͸®¿¡ ÀÖ¾ú´Ù´Â °ÍÀÌ´Ù.
xaosÀÇ rpmµéÀº ¸±¸®Áî ¹øÈ£´Â °°¾Æµµ Á¶±Ý ´Ù¸¥ ¹öÁ¯ÀÇ ¶óÀ̺귯¸®¸¦
¾²µµ·Ï ÄÄÆÄÀϵǾúÀ½ÀÌ Æ²¸²¾ø´Ù.
½ÃÇè»ï¾Æ xaos-3.0-8.i386.rpm
À» --nodeps ¿É¼ÇÀ» ÁÖ¾î °Á¦·Î
¼³Ä¡ÇØ º¸ÀÚ. xaos¸¦ ½ÇÇà½ÃÄÑ º¸Áö¸¸, ÀÛµ¿ÇÏÁö ¾Ê´Â´Ù.
xaos: error in loading shared libraries: xaos: undefined symbol: __fabsl
¿Ö ÀÌ·¸°Ô µÇ´ÂÁö ¾Ë¾Æº¸±â À§ÇØ, °è¼Ó ½ÃµµÇØ º¸±â·Î ÇÏÀÚ. xaos
½ÇÇàÆÄÀÏÀÌ ¾î¶² ¶óÀ̺귯¸®¿¡ ÀÇÁ¸ÇÏ°í ÀÖ´ÂÁö ã¾Æº¸±â À§ÇØ ldd¸¦
½ÇÇà½ÃÄÑ º¸¸é, ÇÊ¿äÇÑ °øÀ¯ ¶óÀ̺귯¸®°¡ ¸ðµÎ ÀÖ´Ù´Â °ÍÀ» º¸¿©ÁØ´Ù.
/usr/lib/libaa.so.1
¶óÀ̺귯¸®¿¡ nmÀ» ½ÇÇàÇؼ ±× ½Éº¼¸¯
·¹ÆÛ·±½º ¸ñ·ÏÀ» º¸¸é, ÀÌ ¶óÀ̺귯¸®¿¡´Â Á¤¸» __fabslÀÌ ºüÁ®ÀÖ´Ù´Â
°ÍÀ» ¾Ë ¼ö ÀÖ´Ù. ¹°·Ð ÀÌ ºüÁ®ÀÖ´Â ·¹ÆÛ·±½º´Â ´Ù¸¥ ¶óÀ̺귯¸®¿¡¼ ºüÁø °ÍÀÏ
¼öµµ ÀÖÁö¸¸... ¶óÀ̺귯¸®¸¦ ¹Ù²ÙÁö ¾Ê´Â ÇÑ, ´õ ÀÌ»ó ¾î¿ ¼ö°¡ ¾ø´Ù.
rpmÀº ÀÌÁ¤µµ·Î ÃæºÐÇÏ´Ù. ÀÌÁ¦ "tarball" Áï XaoS-3.0.tar.gz
À»
Ȩ ÆäÀÌÁö³ª
ftp »çÀÌÆ®¿¡¼ ´Ù¿î¹Þ´Â´Ù. ÀÌ ÆÐÅ°Áö¸¦ ÄÄÆÄÀÏÇغ¸±â·Î ÇÏÀÚ.
./configure, make¸¦ ½ÇÇà½ÃÅ°°í, ¸¶Áö¸·À¸·Î (·çÆ®·Î¼)
make installÀ» ½ÇÇàÇÑ´Ù. ¹®Á¦¾øÀÌ ÀÛµ¿ÇÑ´Ù.
ÀÌ°ÍÀº ¹Ì¸® ÄÄÆÄÀÏµÈ ÆÐÅ°Áö°¡ ±× ÀåÁ¡ º¸´Ù ´õ ¸¹Àº ¹®Á¦¸¦ ÀÏÀ¸Å°´Â ¸¹Àº ¿¹ ÁßÀÇ
ÇϳªÀÏ »ÓÀÌ´Ù.
man ÆäÀÌÁö¿¡ ÀÇÇϸé, "terminfo´Â ½ºÅ©¸° ÁöÇâÀûÀÎ ÇÁ·Î±×·¥µé¿¡ ÀÇÇØ ÀÌ¿ëµÇ´Â,
Å͹̳ÎÀ» ±â¼úÇÑ µ¥ÀÌÅÍ º£À̽º"ÀÌ´Ù. terminfo´Â ÅؽºÆ®¸¦ Å͹̳ο¡
Ç¥½ÃÇϱâ À§ÇØ »ç¿ëµÇ´Â Á¦¾î ½ÃÄö½º (escape code)ÀÇ ÀϹÝÀûÀÎ ÁýÇÕÀ» Á¤ÀÇÇϸç,
ƯÁ¤ÇÑ µå¶óÀ̹ö ÇÊ¿ä¾øÀÌ ¼·Î ´Ù¸¥ Å͹̳ΠÇϵå¿þ¾î¸¦ Áö¿øÇÒ ¼ö ÀÖµµ·Ï ÇÑ´Ù.
terminfo ¶óÀ̺귯¸®´Â ÇöÀçÀÇ ¸®´ª½º ¹èÆ÷º»¿¡¼
/usr/share/terminfo
¿¡ À§Ä¡ÇÑ´Ù.
terminfo µ¥À̹ö º£À̽º´Â ÀÌÀüÀÇ termcap°ú ÀÌÁ¨ Æó¹°ÀÌ µÈ
termlibÀ» °ÅÀÇ ¹Ð¾î³Â´Ù. termcapÀ» ¿ä±¸ÇÏ´Â ÆÐÅ°Áö¸¦ ´Ù·ê
¶§¸¦ Á¦¿ÜÇÏ°í´Â, ÇÁ·Î±×·¥À» ¼³Ä¡Çϴµ¥ ÀÌ ¹®Á¦±îÁö ½Å°æ¾µ ÇÊ¿ä°¡ ¾ø´Ù.
ÀÌÁ¦ ´ëºÎºÐÀÇ ¸®´ª½º ¹èÆ÷º»ÀÌ terminfo¸¦ »ç¿ëÇÏ°í ÀÖÁö¸¸, ¿À·¡µÈ
ÀÀ¿ë ÇÁ·Î±×·¥µé°úÀÇ È£È¯¼ºÀ» À§ÇØ ¿À·¡µÈ termcap ¶óÀ̺귯¸®¸¦ À¯ÁöÇÏ°í ÀÖ´Ù.
(/etc/termcapÀ» º¸¶ó.
) °¡²û termcap¿¡ ¸µÅ©µÈ ¹ÙÀ̳ʸ® ÆÄÀÏÀ» ½±°Ô
»ç¿ëÇÒ ¼ö ÀÖµµ·Ï Çϱâ À§ÇØ ¼³Ä¡µÇ¾î¾ß Çϴ Ưº°ÇÑ È£È¯¼º ÆÐÅ°Áö°¡ ÀÖ´Ù.
¸Å¿ì µå¹°°Ô´Â ¼Ò½º ÆÄÀÏ¿¡¼ #define termcap À̶ó´Â ¹®ÀåÀ» ÁÖ¼®¹®
ó¸®ÇÒ ÇÊ¿ä°¡ ÀÖÀ» ¼öµµ ÀÖ´Ù. ÀÌ¿¡ ´ëÇÑ ÃÖÁ¾ÀûÀÎ Á¤º¸´Â ´ç½ÅÀÌ »ç¿ëÇÏ´Â
¹èÆ÷º»ÀÇ ÀûÀýÇÑ ¹®¼ ÆÄÀÏ¿¡¼ È®ÀÎÇϵµ·Ï Ç϶ó.
¸Å¿ì µå¹® °æ¿ìÀÌÁö¸¸, a.out ¹ÙÀ̳ʸ® ÆÄÀÏÀ» »ç¿ëÇؾ߸¸ ÇÒ ¼öµµ ÀÖ´Ù.
¼Ò½º Äڵ带 ¾òÀ» ¼ö ¾ø´Ù°Å³ª, ¾î¶² ÀÌÀ¯¿¡¼µç ¼Ò½º·ÎºÎÅÍ »õ·Î¿î ELF ¹ÙÀ̳ʸ®
ÆÄÀÏÀ» ¸¸µé ¼ö ¾ø±â ¶§¹®ÀÌ´Ù.
ÀÌ·² ¶§, ELF·Î ¼³Ä¡µÈ ¸®´ª½º ½Ã½ºÅÛÀº ´ë°³ /usr/i486-linuxaout/lib
µð·ºÅ͸®¿¡ ¿Ïº®ÇÑ a.out ¶óÀ̺귯¸®µéÀ» °¡Áö°í ÀÖ´Ù. a.out ¶óÀ̺귯¸®´Â
ELF ¶óÀ̺귯¸®¿ÍÀÇ È¥¶õÀ» ÇÇÇϱâ À§ÇØ ELF¿Í ´Ù¸£°Ô ¹öÁ¯À» ºÙÀδÙ.
µû¶ó¼ a.out ¹ÙÀ̳ʸ® ÆÄÀÏÀº ½ÇÇàµÉ ¶§ ¿Ã¹Ù¸¥ ¶óÀ̺귯¸®¸¦ ãÀ» ¼ö ÀÖ¾î¾ß
ÇÏÁö¸¸, Ç×»ó ÀÌ·¸°Ô µÇÁö´Â ¾Ê´Â´Ù.
Ä¿³ÎÀÌ a.out Áö¿ø ±â´ÉÀ» ÀÚü ³»¿¡³ª ¸ðµâ·Î¼ °®µµ·Ï ÄÄÆÄÀϵǾú¾î¾ß ÇÑ´Ù´Â
°Í¿¡ ÁÖÀÇÇ϶ó. ÇÊ¿äÇϸé Ä¿³ÎÀ» ´Ù½Ã ÄÄÆÄÀÏÇÒ ¼öµµ ÀÖ´Ù. ¾î¶² ¸®´ª½º ¹èÆ÷º»Àº
Ưº°ÇÑ È£È¯¿ë À¯Æ¿¸®Æ¼¸¦ ¼³Ä¡ÇØ¾ß Çϱ⵵ ÇÑ´Ù. ¿¹¸¦ µé¾î a.outÀÇ X ÀÀ¿ë
ÇÁ·Î±×·¥À» À§Çؼ, µ¥ºñ¾È¿¡¼´Â xcompat
¸¦ ¼³Ä¡ÇØ¾ß ÇÑ´Ù.
Jerry Smith´Â ¸î ³â Àü¿¡ rolodex¶ó´Â ¸Å¿ì Æí¸®ÇÑ ÇÁ·Î±×·¥À» ®´Ù.
ÀÌ ÇÁ·Î±×·¥Àº Motif ¶óÀ̺귯¸®¸¦ »ç¿ëÇÏÁö¸¸, ´ÙÇàÈ÷µµ Á¤ÀûÀ¸·Î ¸µÅ©µÈ a.out
Çü½ÄÀÇ ¹ÙÀ̳ʸ® ÆÄÀÏÀ» ±¸ÇÒ ¼ö ÀÖ´Ù. ºÒÇàÇÑ °ÍÀº lesstif ¶óÀ̺귯¸®¸¦
½á¼ ´Ù½Ã ÄÄÆÄÀÏ ÇÏ·Á¸é ¼Ò½º¸¦ ¼ö¾øÀÌ ¶â¾î°íÃÄ¾ß ÇÑ´Ù´Â °ÍÀÌ´Ù.
´õ Å« ºÒÇàÀº a.outÀÌ ¾î¶² ELF ½Ã½ºÅÛ¿¡¼´Â ´ÙÀ½°ú °°Àº ¿¡·¯ ¸Þ½ÃÁö¸¦
ÅͶ߸°´Ù´Â °ÍÀÌ´Ù.
xrolodex: can't load library '//lib/libX11.so.3'
No such library
ÀÌ ¶§, /usr/i486-linuxaout/lib
¿¡´Â ±×·± ¶óÀ̺귯¸®°¡ ÀÖÁö¸¸ xrolodex´Â
±× ¶óÀ̺귯¸®¸¦ ½ÇÇà Áß¿¡ ãÁö ¸øÇÑ °ÍÀÌ´Ù. °£´ÜÇÑ ÇØ°áÃ¥Àº /lib
¶óÀ̺귯¸®¿¡ ½Éº¼¸¯ ¸µÅ©¸¦ ¸¸µé¾îÁÖ´Â °ÍÀÌ´Ù.
ln -s /usr/i486-linuxaout/lib/X11.so.3.1.0 libX11.so.3
libXt.so.3°ú libc.so.4 ¶óÀ̺귯¸®µµ ºñ½ÁÇÑ ¸µÅ©¸¦ ¸¸µé¾îÁÖ¾î¾ß ÇÑ´Ù. ¹°·Ð
ÀÌ·± ÀϵéÀº root·Î¼ ÇØ¾ß ÇÑ´Ù. À̶§ ÀÌ¹Ì ÀÖ´Â ¶óÀ̺귯¸®¸¦ µ¤¾î¾²°Å³ª
¹öÁ¯ ¹øÈ£¿¡ Ãæµ¹À» ÀÏÀ¸Å°´Â °ÍÀÌ ¾Æ´ÑÁö ¾ÆÁÖ È®½ÇÈ÷ ÇØ¾ß ÇÑ´Ù´Â Á¡À» ¸í½ÉÇ϶ó.
´ÙÇàÈ÷µµ »õ·Î¿î ELF ¶óÀ̺귯¸®´Â ÀÌ·± ¹®Á¦¸¦ ¿¹»óÇÏ°í ¹Ì¸® a.out ¶óÀ̺귯¸®
º¸´Ù ³ôÀº ¹öÁ¯ ¹øÈ£¸¦ °¡Áö°í ÀÖ´Ù.
À§ÀÇ ¼¼ ¸µÅ©¸¦ ¸¸µé¾îÁÖ°í ³ª¸é, xrolodex´Â Àß ½ÇÇàµÈ´Ù.
xrolodex ÆÐÅ°Áö´Â ¿ø·¡
Spectro¿¡ ¿Ã·ÁÁ³Áö¸¸, ±×°÷¿¡¼´Â Áö¿öÁø °Í °°´Ù.
Áö±ÝÀº
Sunsite¿¡¼ tar.Z Çü½ÄÀÇ ¼Ò½º ÆÄÀÏ[512k]·Î ´Ù¿î¹ÞÀ» ¼ö ÀÖ´Ù.
¿¡·¯ ¾øÀÌ xmkmf¿Í make¿¡ ¼º°øÇß´Ù¸é,
´ÙÀ½ Àý·Î ³Ñ¾î°¡µµ ÁÁ´Ù. ÇÏÁö¸¸ "½ÇÁ¦ »ýÈ°"¿¡¼´Â ù¹ø¿¡ Á¦´ë·Î
µÇ´Â ÀÏÀº °ÅÀÇ ¾ø´Ù. À̶§°¡ ´ç½ÅÀÇ ÀçÄ¡¸¦ ½ÃÇèÇÒ ¶§´Ù.
- xmkmf¸¦ ½ÇÇàÇßÀ½¿¡µµ make°¡ ´ÙÀ½°ú °°Àº ¸Þ½ÃÁö¸¦ ³»°í ½ÇÆÐÇß´Ù°í
°¡Á¤ÇÏÀÚ.
Ling error: -lX11: No such file or directory
ÀÌ °æ¿ì Imake ÆÄÀÏÀÌ Á¦´ë·Î ¼³Á¤µÇÁö ¾Ê¾ÒÀ» °¡´É¼ºÀÌ Å©´Ù.
MakefileÀÇ Ã¹ºÎºÐ¿¡ ÀÖ´Â ´ÙÀ½°ú °°Àº ÁÙµéÀ» È®ÀÎÇØ º¸¶ó.
LIB= -L/usr/X11/lib
INCLUDE= -I/usr/X11/include/X11
LIBS= -lX11 -lc -lm
-L
°ú -I
½ºÀ§Ä¡´Â °¢°¢ ÄÄÆÄÀÏ·¯¿Í ¸µÄ¿¿¡°Ô
¶óÀ̺귯¸®¿Í include ÆÄÀϵéÀ» ¾îµð¿¡¼ ã¾Æ¾ß ÇÏ´ÂÁö
¾Ë·ÁÁÖ´Â °ÍÀÌ´Ù.
ÀÌ ¿¹¿¡¼´Â X11 ¶óÀ̺귯¸®´Â /usr/X11/lib
µð·ºÅ͸®¿¡,
X11ÀÇ include ÆÄÀϵéÀº /usr/X11/include/X11
µð·ºÅ͸®¿¡
ÀÖ¾î¾ß ÇÑ´Ù. ´ç½ÅÀÇ ÄÄÇ»ÅÍ´Â ÀÌ¿Í ´Ù¸£´Ù¸é, Makefile¿¡ ÇÊ¿äÇÑ ¼öÁ¤À»
°¡ÇÏ°í, make¸¦ ´Ù½Ã ÇØ º¸µµ·Ï Ç϶ó.
- ´ÙÀ½°ú °°ÀÌ ¼öÇÐ ¶óÀ̺귯¸® ÇÔ¼ö¿¡ ´ëÇÑ Á¤ÀǵÇÁö ¾ÊÀº ÂüÁ¶(undefined
reference)°¡ ÀÖÀ» °æ¿ì:
/tmp/cca011551.o(.text+0x11): undefined reference to `cos'
ÀÌ ¹®Á¦¿¡ ´ëÇÑ ÇعýÀº Makefile
³»ÀÇ LIBÀ̳ª LIBS
ºÎºÐ(À§ÀÇ ¿¹¸¦ º¸¶ó)¿¡ -lm À» ´õÇÔÀ¸·Î½á ¼öÇÐ ¶óÀ̺귯¸®
¸¦
¸í½ÃÀûÀ¸·Î ¸µÅ©ÇÏ´Â °ÍÀÌ´Ù.
- xmkmf°¡ ½ÇÆÐÇßÀ» ¶§ ÇØ º¼ ¼ö ÀÖ´Â ¶Ç´Ù¸¥ °ÍÀº ´ÙÀ½ÀÇ ½ºÅ©¸³Æ®´Ù.
make -DUseInstalled -I/usr/X386/lib/X11/config
ÀÌ°ÍÀº xmkmf¿Í µ¿µîÇÑ Àú¼öÁØ ¸í·É(bare bone)ÀÇ ÀÏÁ¾ÀÌ´Ù.
- ¸Å¿ì µå¹® °æ¿ìÁö¸¸, root·Î¼ ldconfig¸¦ ½ÇÇà½ÃÅ°´Â °ÍÀÌ
ÇعýÀÌ µÉ ¼öµµ ÀÖ´Ù.
# ldconfig ´Â °øÀ¯ ¶óÀ̺귯¸®ÀÇ ½Éº¼¸¯ ¸µÅ©¸¦ °»½ÅÇÑ´Ù.
ÀÌ°ÍÀº ¹Ýµå½Ã ÇÊ¿äÇÑ °ÍÀº ¾Æ´Ò ¼öµµ ÀÖ´Ù.
- ¾î¶²
Makefile
Àº ´ç½ÅÀÇ ½Ã½ºÅÛ¿¡ ÀÖ´Â ¶óÀ̺귯¸®¿¡ ´ëÇØ ÀνĵÇÁö
¾ÊÀº(unrecognized) º°¸í(alias)¸¦ »ç¿ëÇϱ⵵ ÇÑ´Ù. ¿¹¸¦ µé¾î, ÄÄÆÄÀÏÀº
libX11.so.6
À» ¿ä±¸ÇÏÁö¸¸ /usr/X11R6/lib
¿¡´Â ±×·± ÆÄÀÏÀ̳ª
¸µÅ©°¡ ¾øÀ» ¼ö ÀÖ´Ù. ÇÏÁö¸¸ libX11.so.6.1
Àº ÀÖ´Ù.
ÇØ°áÃ¥Àº root·Î¼
ln -s /usr/X11R6/lib/libX11.so.6.1 /usr/X11R6/lib/libX11.so.6
À» ÇÏ´Â °ÍÀÌ´Ù. ÀÌ ´ÙÀ½¿¡´Â ldconfig¸¦ ½ÇÇà½ÃÄÑ¾ß ÇÒ ¼öµµ ÀÖ´Ù.
- ¶§·Î´Â ¼Ò½º¸¦ ÄÄÆÄÀÏÇϱâ À§ÇØ ¿À·¡µÈ X11R5ÀÇ ¶óÀ̺귯¸®°¡ ÇÊ¿äÇÒ ¼öµµ
ÀÖ´Ù. /usr/X11R6/lib¿¡ R5ÀÇ ¶óÀ̺귯¸®°¡ ÀÖ´Ù¸é(óÀ½ ¸®´ª½º¸¦ ¼³Ä¡ÇÒ ¶§ ÀÌ°ÍÀ»
¼³Ä¡Çϵµ·Ï ¿É¼ÇÀ» ÁÖ¾ú´Ù¸é), ¼ÒÇÁÆ®¿þ¾î¸¦ ÄÄÆÄÀÏÇϱâ À§ÇØ ÇÊ¿äÇÑ ¸µÅ©°¡
Á¦´ë·Î ÀÖ´ÂÁö¸¸ È®ÀÎÇÏ¸é µÈ´Ù.
R5 ¶óÀ̺귯¸®
ÀÇ À̸§Àº
libX11.so.3.1.0
, libXaw.so.3.1.0
, libXt.so.3.1.0
ÀÌ´Ù. º¸Åë libX11.so.3 -> libX11.so.3.1.0°ú °°Àº ¸µÅ©°¡ ÇÊ¿äÇÏ´Ù.
¼ÒÇÁÆ®¿þ¾î°¡ libX11.so -> libX11.so.3.1.0 ÇüÅÂÀÇ ¸µÅ©¸¦
ÇÊ¿ä·Î ÇÒ ¼öµµ ÀÖ´Ù. ¹°·Ð "ºüÁ®ÀÖ´ø" ¸µÅ©¸¦ ¸¸µé·Á¸é, root·Î¼
ln -s libX11.so.3.1.0 libX11.so ¸í·ÉÀ» ¾´´Ù.
- ¾î¶² ÆÐÅ°Áö´Â ¶óÀ̺귯¸®¸¦ ÃֽŠ¹öÁ¯À¸·Î ¼³Ä¡Çϵµ·Ï ¿ä±¸Çϱ⵵ ÇÑ´Ù.
¿¹¸¦ µé¾î, StarDivision GmbHÀÇ StarOffice ÆÐÅ°Áö 4.x ¹öÁ¯µéÀº
5.4.4 ÀÌ»óÀÇ ¹öÁ¯À» °¡Áø
libc
¸¦ ¿ä±¸Çϱâ·Î ¾Ç¸íÀÌ ³ô¾Ò´Ù.
±×º¸´Ù µÚ¿¡ ³ª¿Â StarOffice 5.0µµ »õ·Î¿î glibc 2.1
¶óÀ̺귯¸®¸¦ ¼³Ä¡ÇÏ°í ³ª¸é ÀÛµ¿ÇÏÁö ¾Ê´Â´Ù.
´ÙÇàÈ÷µµ, ±× ´ÙÀ½¿¡ ³ª¿Â StarOffice 5.1Àº ÀÌ ¹®Á¦¸¦ ÇØ°áÇß´Ù.
¿À·¡µÈ ¹öÁ¯ÀÇ StarOffice¸¦ ½ÇÇà½ÃÅ°·Á¸é, root·Î¼
¶óÀ̺귯¸®µéÀ» ÀûÀýÇÑ µð·ºÅ͸®¿¡ º¹»çÇÏ°í, ¿À·¡µÈ ¶óÀ̺귯¸®¸¦ »èÁ¦ÇÑ ´ÙÀ½
½Éº¼¸¯ ¸µÅ©¸¦ ´Ù½Ã ¼³Á¤ÇØ¾ß ÇÑ´Ù. (ÀÌ¿¡ ´ëÇÑ Á¤º¸°¡
´õ ÇÊ¿äÇϸé ÃֽŠ¹öÁ¯ÀÇ StarOffice miniHOWTO
¸¦ º¸¶ó.)
ÁÖÀÇ: ½Ç¼öÇÏ¸é ´ç½ÅÀÇ ½Ã½ºÅÛÀÌ ÀÛµ¿ÇÏÁö ¾Êµµ·Ï ÇÒ ¼öµµ ÀÖÀ¸¹Ç·Î,
ÀÌ °úÁ¤¿¡¼´Â ±Øµµ·Î ÁÖÀÇÇÏ¿©¾ß ÇÑ´Ù. °»½ÅµÈ ÃֽŠ¶óÀ̺귯¸®´Â ´ë°³ Sunsite¿¡¼
ãÀ» ¼ö ÀÖ´Ù.
ÃֽŠ¶óÀ̺귯¸®´Â ´ë°³
Sunsite¿¡¼ ãÀ» ¼ö ÀÖ´Ù.
- ¼³Ä¡µÇ¾î ÀÖ´Â Perl À̳ª ±×¹ÛÀÇ ½© ½ºÅ©¸³Æ®°¡
No such file or directory
¶ó´Â ¿¡·¯ ¸Þ½ÃÁö¸¦ ³¾ ¼ö ÀÖ´Ù. ÀÌ °æ¿ì¿¡´Â ÆÄÀÏÀÌ ½ÇÇà °¡´ÉÇÏ°Ô
µÇ¾î ÀÖ´ÂÁö Çã°¡±ÇÀ» È®ÀÎÇÏ°í, ½ºÅ©¸³Æ®°¡ È£ÃâÇÏ´Â ½©À̳ª ÇÁ·Î±×·¥ÀÌ ÁöÁ¤µÈ
À§Ä¡¿¡ ÀÖ´ÂÁö ÆÄÀÏÀÇ Çì´õ ºÎºÐÀ» È®ÀÎÇϵµ·Ï ÇÑ´Ù.
¿¹¸¦ µé¾î ½ºÅ©¸³Æ®°¡ ¾Æ·¡¿Í °°ÀÌ ½ÃÀÛÇÑ´Ù°í ÇÏÀÚ.
#!/usr/local/bin/perl
PerlÀÌ »ç½ÇÀº /usr/local/bin
ÀÌ ¾Æ´Ï¶ó /usr/bin
µð·ºÅ͸®¿¡ ¼³Ä¡µÇ¾î ÀÖ´Ù¸é, ÀÌ ½ºÅ©¸³Æ®´Â ½ÇÇàµÇÁö ¾ÊÀ» °ÍÀÌ´Ù.
ÀÌ ¹®Á¦¸¦ ÇØ°áÇÏ´Â µ¥¿¡´Â µÎ °¡Áö ¹æ¹ýÀÌ ÀÖ´Ù.
½ºÅ©¸³Æ® ÆÄÀÏÀÇ Çì´õ¸¦ #!/usr/bin/perl
·Î ¹Ù²Ù°Å³ª,
ln -s /usr/bin/perl /usr/local/bin/perl
·Î Á¤È®ÇÑ µð·ºÅ͸®·ÎÀÇ ½Éº¼¸¯ ¸µÅ©¸¦ Ãß°¡ÇØ ÁÖ¸é µÈ´Ù.
- ¾î¶² X11 ¼ÒÇÁÆ®¿þ¾î¸¦ ÄÄÆÄÀÏÇÏ·Á¸é Motif ¶óÀ̺귯¸®°¡ ÇÊ¿äÇÏ´Ù. Ç¥ÁØÀûÀÎ
¸®´ª½º ¹èÆ÷º»¿¡´Â Motif ¶óÀ̺귯¸®°¡ ¾øÀ¸¸ç, ÇöÀç Motif´Â 100-200 ´Þ·¯´Ù.
(¸¹Àº °æ¿ì ÇÁ¸®¿þ¾îÀÎ
Lesstif
µµ ¾µ ¼ö ÀÖÁö¸¸.) ¾î¶² ÆÐÅ°Áö¸¦ ÄÄÆÄÀÏÇϱâ À§ÇØ Motif°¡ ÇÊ¿äÇѵ¥,
Motif ¶óÀ̺귯¸®¸¦ °¡Áö°í ÀÖÁö ¾Ê´Ù¸é Á¤ÀûÀ¸·Î ¸µÅ©µÈ
¹ÙÀ̳ʸ®¸¦ ±¸ÇÒ ¼ö ÀÖÀ» °ÍÀÌ´Ù. Á¤Àû ¸µÅ©´Â ¶óÀ̺귯¸® ·çƾµéÀ» ¹ÙÀ̳ʸ® ÀÚü¿¡
³Ö´Â °ÍÀÌ´Ù. ÀÌ·¸°Ô ÇÏ¸é ¹ÙÀ̳ʸ® ÆÄÀÏÀº ÈξÀ Ä¿ÁöÁö¸¸, ÇØ´ç ¶óÀ̺귯¸®°¡ ¾ø´Â
½Ã½ºÅÛ¿¡¼µµ ¼öÇà½Ãų ¼ö ÀÖ´Ù.
ÄÄÆÄÀÏÀ» À§ÇØ ´ç½Å ½Ã½ºÅÛ¿¡ ¾ø´Â ¶óÀ̺귯¸®°¡ ÇÊ¿äÇÏ´Ù¸é, ±× ÆÐÅ°Áö´Â ¸µÅ©
¿¡·¯(undefined reference error
)¸¦ ÀÏÀ¸Å³ °ÍÀÌ´Ù. ±×·± ¶óÀ̺귯¸®´Â
ºñ½Ñ °ÍÀ̰ųª, ´Ù¸¥ ¾î¶² ÀÌÀ¯·Î ã±â ¾î·Á¿î °ÍÀÏ ¼ö ÀÖ´Ù. ±×·± °æ¿ì¿¡´Â
Á¤ÀûÀ¸·Î ¸µÅ©µÈ ¹ÙÀ̳ʸ®¸¦ ÆÐÅ°Áö Á¦ÀÛÀÚ³ª ¸®´ª½º »ç¿ëÀÚ ±×·ì¿¡°Ô¼
±¸ÇÏ´Â °ÍÀÌ °¡Àå ½¬¿î ÇØ°áÃ¥ÀÌ´Ù.
- configure ½ºÅ©¸³Æ®¸¦ ¼öÇà½ÃÄ×´õ´Ï ´ç½ÅÀÌ ÄÄÆÄÀÏÇÏ·Á´Â ÆÐÅ°Áö¿Í´Â
°ü°è¾ø¾î º¸ÀÌ´Â ÀÌ»óÇÑ MakefileÀ» ¸¸µå´Â °æ¿ì°¡ ÀÖ´Ù. ÀÌ°ÍÀº ´ç½ÅÀÇ path ÁßÀÇ
´Ù¸¥ ¾îµò°¡¿¡¼ ¹ß°ßµÈ ¾û¶×ÇÑ configure¸¦ ¼öÇàÇß´Ù´Â ¶æÀÌ´Ù.
ÀÌ·± ÀÏÀ» ÇÇÇÏ·Á¸é Ç×»ó ./configure·Î ½ÇÇàÇϵµ·Ï ÇÏÀÚ.
- ´ëºÎºÐÀÇ ¸®´ª½º ¹èÆ÷º»Àº ¿¾³¯ÀÇ
lib 5
¿¡¼ libc 6 /glibc 2
¶óÀ̺귯¸®·Î ¹Ù²î¾ú´Ù. ¿¾³¯ ¶óÀ̺귯¸®¿Í ÇÔ²² ÀÛµ¿Çϵµ·Ï ¹Ì¸® ÄÄÆÄÀϵÈ
¹ÙÀ̳ʸ®¶ó¸é ´ç½ÅÀÌ ¶óÀ̺귯¸®¸¦ ¾÷±×·¹À̵åÇÒ °æ¿ì ¹®Á¦¸¦ ÀÏÀ¸Å³ ¼ö ÀÖ´Ù.
ÇعýÀº ÇÁ·Î±×·¥À» ¼Ò½º¿¡¼ºÎÅÍ ´Ù½Ã ÄÄÆÄÀÏÇϵçÁö, ¹Ì¸® ÄÄÆÄÀÏµÈ »õ·Î¿î
¹ÙÀ̳ʸ®¸¦ ¾ò´Â °ÍÀÌ´Ù. Ȥ½Ã ´ç½ÅÀÌ ½Ã½ºÅÛÀ» libc 6
À¸·Î ¾÷±×·¹À̵åÇÏ´Â
ÁßÀÌ°í ÀÌ·± ¹®Á¦¸¦ °æÇèÇß´Ù¸é Eric GreenÀÇ Glibc 2 HOWTO¸¦ Âü°íÇϵµ·Ï
Ç϶ó.
glibc
¹öÁ¯µé »çÀÌ¿¡´Â ¾à°£ÀÇ È£È¯µÇÁö ¾Ê´Â Á¡ÀÌ ÀÖ´Ù´Â °Í¿¡ ÁÖÀÇÇ϶ó.
ÀÌ ¶§¹®¿¡ glibc 2.1
¿¡¼ ÄÄÆÄÀÏµÈ ¹ÙÀ̳ʸ®´Â glibc 2.0
°ú´Â
ÀÛµ¿ÇÏÁö ¾Ê´Â´Ù°Å³ª ±× ¹Ý´ëÀÇ °æ¿ì°¡ ÀÖÀ» ¼ö ÀÖ´Ù.
- ¶§·Î´Â
Makefile
¾ÈÀÇ ÄÄÆÄÀÏ ¿É¼Ç¿¡¼ -ansi ¿É¼ÇÀ» Á¦°ÅÇÒ
ÇÊ¿ä°¡ ÀÖÀ» ¼öµµ ÀÖ´Ù. ÀÌ·¸°Ô Çϸé gcc°¡ °®°í ÀÖ´Â ANSI ÀÌ¿ÜÀÇ Æ¯Â¡µéÀ»
È°¼ºÈ½ÃÅ°¸ç, ÀÌ·± Ư¡µéÀ» ¿ä±¸ÇÏ´Â ÆÐÅ°ÁöµéÀ» ÄÄÆÄÀÏÇÒ ¼ö ÀÖ°Ô µÈ´Ù.
(ÀÌ »ç½ÇÀ» ÁöÀûÇØ ÁØ Sebastien Blondeel¿¡°Ô °¨»çÇÑ´Ù.)
- ¾î¶² ÇÁ·Î±×·¥µéÀº root ±ÇÇÑÀ¸·Î ½ÇÇàµÇµµ·Ï Çϱâ À§ÇØ
setuid root¸¦ ÇØÁÖ¾î¾ß ÇÑ´Ù. ÀÌ·¸°Ô ÇÏ´Â ¸í·ÉÀº root·Î¼
chmod u+s ÆÄÀÏÀ̸§
ÇÏ´Â °ÍÀÌ´Ù. (ÇÁ·Î±×·¥ÀÌ ±× ÀÌÀü¿¡ ¹Ì¸® root ¼ÒÀ¯·Î µÇ¾î ÀÖ¾î¾ß ÇÑ´Ù´Â Á¡¿¡
ÁÖÀÇÇ϶ó.) ÀÌ ¸í·ÉÀº ÆÄÀÏ Çã°¡±Ç ³»ÀÇ setuid ºñÆ®¸¦ ¼³Á¤ÇÏ´Â ±â´ÉÀ»
ÇÑ´Ù. ÀÌ ¹®Á¦´Â ÇÁ·Î±×·¥ÀÌ ¸ðµ©À̳ª cd-rom µå¶óÀÌºê °°Àº ½Ã½ºÅÛ Çϵå¿þ¾î¿¡
Á¢±ÙÇϰųª, ¾î´À ƯÈ÷ ¾Ç¸í³ôÀº ¿¡¹Ä·¹ÀÌ¼Ç ÆÐÅ°Áö ó·³ ÄÜ¼Ö ¸ðµå¿¡¼ SVGA
¶óÀ̺귯¸®¸¦ È£ÃâÇÒ °æ¿ì ÀϾÙ. ÇÁ·Î±×·¥ÀÌ root·Î¼´Â ½ÇÇàµÇÁö¸¸,
ÀÏ¹Ý »ç¿ëÀÚ¿¡°Ô´Â access denied ¿¡·¯ ¸Þ½ÃÁö¸¦ ³»º¸³½´Ù¸é
ÀÌ Çã°¡±Ç ¹®Á¦¸¦ ÀǽÉÇغ¸±â ¹Ù¶õ´Ù.
ÁÖÀÇ:
root·ÎÀÇ setuid¸¦ °¡Áø ÇÁ·Î±×·¥Àº ½Ã½ºÅÛ¿¡ º¸¾È »óÀÇ À§Çè ¿äÀÎÀÌ µÉ ¼ö
ÀÖ´Ù. ÀÌ·± ÇÁ·Î±×·¥Àº rootÀÇ ±ÇÇÑÀ» °®°í ½ÇÇàµÇ¸ç µû¶ó¼ ½É°¢ÇÑ ¼Õ»óÀ» ³¢Ä¥
ÀáÀç·ÂÀ» °®°í ÀÖ´Ù. µû¶ó¼ setuid ºñÆ®¸¦ ÁÖ±â Àü¿¡ ÇÁ·Î±×·¥ÀÌ ¹«¾ùÀ»
ÇÏ´ÂÁö, °¡´ÉÇÏ´Ù¸é ¼Ò½º¸¦ »ìÆ캽À¸·Î½á, È®ÀÎÇϵµ·Ï Ç϶ó.
´ç½ÅÀÇ ½Ã½ºÅÛ¿¡ °¡Àå ÁÁÀº ÄÄÆÄÀÏ ¿É¼ÇµéÀÌ ¼³Á¤µÇ¾î ÀÖ´ÂÁö È®ÀÎÇϱâ À§Çؼ
Makefile
À» µé¿©´Ùº¸°í ½ÍÀ» ¼öµµ ÀÖ´Ù.
¿¹¸¦ µé¾î -O2 ¿É¼ÇÀ» ÁÖ¸é ÃÖ°í ¼öÁØÀÇ ÃÖÀûȸ¦ ¼±ÅÃÇÏ°Ô µÇ°í,
-fomit-frame-pointer ¿É¼ÇÀº
(µð¹ö±ëÀº ºÒ°¡´ÉÇÏ°Ô µÇÁö¸¸) ¹ÙÀ̳ʸ®¸¦ ´õ ÀÛ°Ô ¸¸µé¾î ÁØ´Ù.
ÀÚ½ÅÀÌ ¹«¾ùÀ» ÇÏ°í ÀÖ´ÂÁö ¸ð¸¥´Ù¸é ÀÌ·± °ÍµéÀ» °Çµå¸®Áö ¾Êµµ·Ï Ç϶ó.
±×¸®°í ¾î¶² °æ¿ì¿¡µç ½ÃÇè»ï¾Æ ±×³É ÄÄÆÄÀÏÇؼ Á¦´ë·Î µ¹¾Æ°¡´Â °ÍÀ» È®ÀÎÇÑ ´ÙÀ½¿¡
Çϵµ·Ï Ç϶ó.
³» °æÇè¿¡ ÀÇÇϸé, ÀÀ¿ë ÇÁ·Î±×·¥ °¡¿îµ¥ ±×´ë·Î ¹®Á¦¾øÀÌ ÄÄÆÄÀϵǴ °ÍÀº ¾à
25% Á¤µµ¿´´Ù. 50% ³²ÁþÀº °£´ÜÇÏ°Ç ²ûÂïÇÒ Á¤µµ°Ç ³ë·ÂÇϸé ÄÄÆÄÀÏÇÒ ¼ö ÀÖ´Ù.
Áï »ó´ç¼öÀÇ ÆÐÅ°ÁöµéÀº ¾Æ¹«¸® Çصµ ÄÄÆÄÀÏÇÒ ¼ö°¡ ¾ø´Ù´Â ¶æÀÌ´Ù.
±×·¸´Ù°í Çصµ, ÀÌ ÆÐÅ°ÁöµéÀÇ ÀÎÅÚ ELF
¹× a.out
¹ÙÀ̳ʸ®¸¦
Sunsite³ª
TSX-11 archive »çÀÌÆ®¿¡¼ ãÀ» °¡´É¼ºµµ
ÀÖ´Ù.
·¹µå ÇÞ°ú
µ¥ºñ¾Èµµ ÈçÈ÷ ¾²ÀÌ´Â ¸®´ª½º
¼ÒÇÁÆ®¿þ¾îÀÇ ´ëºÎºÐÀÌ ¹Ì¸® ÆÐÅ°ÁöÈµÈ ¹ÙÀ̳ʸ®·Î ÀúÀåµÇ¾î ÀÖ´Ù.
ȤÀº ¼ÒÇÁÆ®¿þ¾îÀÇ Á¦ÀÛÀÚ°¡ ´ç½ÅÀÇ Æ¯º°ÇÑ ÃëÇâÀÇ ÄÄÇ»Å͸¦ À§ÇØ ÄÄÆÄÀϵÈ
¹ÙÀ̳ʸ®¸¦ Á¦°øÇØ ÁÙ ¼öµµ ÀÖ´Ù.
¹Ì¸® ÄÄÆÄÀÏµÈ ¹ÙÀ̳ʸ®¸¦ ¾ò¾ú´Ù¸é, ´ç½ÅÀÇ ½Ã½ºÅÛ°úÀÇ È£È¯¼ºÀ» È®ÀÎÇϱâ À§ÇØ
´ÙÀ½ »çÇ×µéÀ» Á¡°ËÇØ¾ß ÇÑ´Ù.
¹ÙÀ̳ʸ®°¡ ´ç½ÅÀÇ Çϵå¿þ¾î(¿¹¸¦ µé¾î ÀÎÅÚ x86)¿¡¼ ÀÛµ¿ÇØ¾ß ÇÑ´Ù.
¹ÙÀ̳ʸ®°¡ ´ç½ÅÀÇ Ä¿³Î°ú ȣȯµÇ´Â °ÍÀ̾î¾ß ÇÑ´Ù.(a.out À̳ª elf)
´ç½ÅÀÇ ¶óÀ̺귯¸®°¡ ÃÖ½ÅÀÇ °ÍÀ̾î¾ß ÇÑ´Ù.
´ç½ÅÀÇ ½Ã½ºÅÛ¿¡ ÀûÀýÇÑ ¼³Ä¡ À¯Æ¿¸®Æ¼(rpmÀ̳ª deb)°¡ ÀÖ¾î¾ß ÇÑ´Ù.
¸¸¾à ¸ðµç ½Ãµµ°¡ ½ÇÆÐÇÑ´Ù¸é,
comp.os.linux.x³ª
comp.os.linux.development °°Àº ÀûÀýÇÑ ´º½º±×·ì¿¡¼ µµ¿òÀ» ãÀ» ¼ö ÀÖ´Ù.
Ȥ½Ã ¸ðµç ³ë·ÂÀÌ ¼öÆ÷·Î µ¹¾Æ°¬´Ù°í ÇÏ´õ¶óµµ, ÃÖ¼ÒÇÑ ´ç½ÅÀº ÃÖ¼±À» ´ÙÇßÀ¸¸ç
±× °úÁ¤¿¡¼ ¸¹Àº °ÍÀ» ¹è¿üÀ» Å×´Ï ³Ê¹« ³«½ÉÇÒ ÇÊ¿ä´Â ¾ø´Ù.
(.bashrc
³ª .cshrc
¾È¿¡) ¾î¶² ȯ°æ º¯¼ö¸¦ ¼³Á¤ÇØ¾ß ÇÏ´ÂÁö,
¶Ç .Xdefaults
¿Í .Xresources
ÆÄÀÏÀ» °íÃÄ¾ß ÇÏ´ÂÁö °áÁ¤Çϱâ À§ÇØ
¼ÒÇÁÆ®¿þ¾î ÆÐÅ°ÁöÀÇ ¹®¼¸¦ ÀÐ¾î º¸¾Æ¶ó.
ÀÀ¿ë ÇÁ·Î±×·¥ÀÇ ±âº» ¼³Á¤ ÆÄÀÏÀÌ ÀÖÀ» ¼öµµ ÀÖ´Ù. ¿ø·¡ÀÇ ¹èÆ÷º»ÀÌ Xfoo ¶ó¸é
º¸Åë Xfoo.ad
¶ó´Â À̸§ÀÌ´Ù. ÀÌ·± ÆÄÀÏÀÌ ÀÖÀ¸¸é ´ç½ÅÀÇ ÄÄÇ»ÅÍ¿¡ ¸Âµµ·Ï
Xfoo.ad ÆÄÀÏÀ» ÆíÁýÇؼ, Xfoo ·Î ¹Ù²Û ´ÙÀ½(mv), root·Î¼
/usr/lib/X11/app-defaults
µð·ºÅ͸®¿¡ ¼³Ä¡Çϵµ·Ï ÇÑ´Ù. ÀÌ·¸°Ô ÇÏÁö
¾ÊÀ¸¸é ¼ÒÇÁÆ®¿þ¾î°¡ ÀÌ»óÇÏ°Ô ÀÛµ¿Çϰųª ¾Æ¿¹ ÀÛµ¿ÇÏÁö ¾Ê°Ô µÉ ¼ö ÀÖ´Ù.
´ëºÎºÐÀÇ ¼ÒÇÁÆ®¿þ¾î ÆÐÅ°Áö¿¡´Â Çϳª ÀÌ»óÀÇ ¹Ì¸® Æ÷¸ËµÈ man ÆäÀÌÁö°¡ ÀÖ´Ù.
root·Î¼ Xfoo.man ÆÄÀÏÀ» /usr/man
, /usr/local/man
,
/usr/X11R6/man
ÀÇ Àû´çÇÑ µð·ºÅ͸®(man1
- man9
)¿¡
º¹»çÇÏ°í, ±×¿¡ ¸ÂÃç À̸§À» ¹Ù²Ù¾î ÁØ´Ù. ¿¹¸¦ µé¾î Xfoo.man À» /usr/man/man4¿¡
µÎ¾ú´Ù¸é, Xfoo.4 ·Î À̸§À» °íÃÄ¾ß ÇÑ´Ù. (mv Xfoo.man Xfoo.4)
°ü·Ê¿¡ µû¸£¸é, »ç¿ëÀÚ°¡ ¾²´Â ±âº» ¸í·ÉÀº man1
, °ÔÀÓÀº man6
,
°ü¸®¿ë ÆÐÅ°Áö´Â man8
ÀÌ´Ù. (ÀÚ¼¼ÇÑ °ÍÀº man docsÀ» º¸¶ó.)
¹°·Ð ¿øÇÑ´Ù¸é ´ç½Å ½Ã½ºÅÛ¿¡¼´Â ÀÌ¿Í ´Ù¸£°Ô ÇÒ ¼öµµ ÀÖ´Ù.
¾î¶² ÆÐÅ°Áö¿¡´Â Makefile
¿¡ install ¿É¼ÇÀÌ ºüÁ® ÀÖ¾î¼,
¹ÙÀ̳ʸ® ÆÄÀÏÀ» ÀûÀýÇÑ ½Ã½ºÅÛ µð·ºÅ͸®¿¡ ¼³Ä¡ÇÏÁö ¾Ê´Â´Ù.
ÀÌ·± °æ¿ì¿¡´Â ¼öµ¿À¸·Î /usr/bin
, /usr/local/bin
,
/usr/X11R6/bin
µîÀÇ ½Ã½ºÅÛ µð·ºÅ͸®¿¡ ¹ÙÀ̳ʸ®µéÀ» º¹»çÇؼ
¼³Ä¡ÇÒ ¼ö ÀÖ´Ù. ¹°·Ð root·Î¼. ¸®´ª½º ¹èÆ÷º»ÀÌ ±âº»À¸·Î ¼³Ä¡ÇÏÁö ¾Ê´Â
¹ÙÀ̳ʸ®´Â /usr/local/bin
ÀÌ ±ÇÀåµÈ´Ù´Â Á¡À» ¿°µÎ¿¡ µÎÀÚ.
´ëºÎºÐÀÇ °æ¿ì, À§ÀÇ ÀýÂ÷µéÀÇ ÀϺΠȤÀº ÀüºÎ°¡ make install·Î
ÀÚµ¿ÀûÀ¸·Î 󸮵ȴÙ. ÆÐÅ°Áö¿¡ µû¶ó make install.man À̳ª
make install_man ÀÌ ÀÖÀ» ¼öµµ ÀÖ´Ù.
ÀÌ·± °æ¿ì¿¡´Â README
³ª INSTALL
ÆÄÀÏ¿¡ ¸í½ÃµÇ¾î ÀÖÀ» °ÍÀÌ´Ù.
Matt ChapmanÀÇ Xscrabble
À̶ó´Â ÇÁ·Î±×·¥ÀÌ ÀÖÀ¸¸é Àç¹ÌÀÖ°Ú´Ù°í
»ý°¢Çß´Ù. ³ª´Â ÀÚÁÖ ScrabbleTM
¸¦ µè±â ¶§¹®ÀÌ´Ù.
³ª´Â ÀÌ ÇÁ·Î±×·¥À» ´Ù¿î¹Þ¾Æ¼ ¾ÐÃàÀ» Ç®°í, README ÆÄÀÏ¿¡ ÀÖ´Â ¾Æ·¡ÀÇ
¼ø¼´ë·Î ÄÄÆÄÀÏÇß´Ù.
xmkmf
make Makefiles
make includes
make
¹°·Ð ÀÌ·¸°Ô Çؼ Á¦´ë·Î µÈ °Ç ¾Æ´ÏÁö¸¸...
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...
³ª´Â ÀÌ¿¡ ´ëÇØ
comp.os.linux.x
´º½º±×·ì¿¡ ¹°¾îº¸¾Ò°í, ¾î¶² »ç¶÷ÀÌ Xt, Xaw, Xmu, X11 ¶óÀ̺귯¸®°¡ ¸µÅ© ´Ü°è¿¡¼
¹ß°ßµÇÁö ¾Ê¾ÒÀ½ÀÌ Æ²¸²¾ø´Ù°í Ä£ÀýÇÏ°Ô °¡¸£ÃÄ ÁÖ¾ú´Ù. Èì...
ÆÐÅ°Áö¿¡´Â µÎ °³ÀÇ ÁÖµÈ MakefileÀÌ ÀÖ¾ú°í, ±× Áß src
µð·ºÅ͸®¿¡ ÀÖ´Â
°ÍÀÌ ³» ÁÖÀǸ¦ ²ø¾ú´Ù. Makefile ³»ÀÇ ÇÑ ÁÙÀÌ LOCAL_LIBSÀ» ´ÙÀ½°ú °°ÀÌ
Á¤ÀÇÇÏ°í ÀÖ¾ú´Ù.
LOCAL_LIBS = $(XAWLIB) $(XMULIB) $(XTOOLLIB) $(XLIB)
¸µÅ©°¡ ãÁö ¸øÇÑ ¶óÀ̺귯¸®µé·ÎÀÇ ÂüÁ¶°¡ ¿©±â ÀÖ¾ú´Ù.
LOCAL_LIBS ·ÎÀÇ ´ÙÀ½¹ø ÂüÁ¶¸¦ ã´Ù°¡, ³ª´Â ±× MakefileÀÇ 495 Çà¿¡¼ ´ÙÀ½À»
¹ß°ßÇß´Ù.
$(CCLINK) -o $@ $(LDOPTIONS) $(OBJS) $(LOCAL_LIBS) $(LDLIBS)
$(EXTRA_LOAD_FLAGS)
ÀÌÁ¦ ÀÌ LDLIBS´Â ¹«¾ùÀ̾úÀ»±î?
LDLIBS = $(LDPOSTLIB) $(THREADS_LIBS) $(SYS_LIBRARIES)
$(EXTRA_LIBRARIES)
SYS_LIBRARIES Àº ´ÙÀ½°ú °°¾Ò´Ù.
SYS_LIBRARIES = -lXpm -L../Xc -lXc
±×·¸´Ù! ¿©±â ãÀ» ¼ö ¾ø´ø ¶óÀ̺귯¸®µéÀÌ ÀÖ¾ú´Ù.
¸µÄ¿°¡ LOCAL_LIBS Àü¿¡ LDLIBS¸¦ º¸¾Æ¾ß ÇÏ´Â °ÍÀÏ °¡´É¼ºÀÌ ÀÖ¾ú´Ù.
µû¶ó¼ óÀ½À¸·Î ½ÃµµÇØ º¼ ÀÏÀº 495 ÇàÀÇ $(LOCAL_LIBS)¿Í $(LDLIBS)¸¦ ¹Ù²ã¼
¾Æ·¡¿Í °°ÀÌ ÇÏ´Â °ÍÀ̾ú´Ù.
$(CCLINK) -o $@ $(LDOPTIONS) $(OBJS) $(LDLIBS) $(LOCAL_LIBS)
$(EXTRA_LOAD_FLAGS) ^^^^^^^^^^^^^^^^^^^^^^^
³ª´Â À§¿Í °°ÀÌ ¹Ù²ã¼ ´Ù½Ã make¸¦ ½ÇÇàÇغ¸¾Ò°í, À̹ø¿¡´Â Á¦´ë·Î
½ÇÇàµÇ¾ú´Ù. ¹°·Ð XscrabbleÀº ¾ÆÁ÷ µð·ºÅ͸®ÀÇ À̸§À» ¹Ù²Û´Ù°Å³ª ¼Ò½º ÆÄÀÏ ÁßÀÇ
Çϳª¿¡ ÀÖ´Â ¸î¸î ¼±¾ð¹®À» ÁÖ¼® ó¸®ÇÏ´Â µî, ¼¼ºÎÀûÀÎ Á¶Á¤°ú º¯°æÀÌ ÇÊ¿äÇßÁö¸¸,
ÀÌ ÆÐÅ°Áö´Â ±× µÚ ¿À·§µ¿¾È ³ª¸¦ Áñ°Ì°Ô ÇØÁÖ¾ú´Ù.
[»õ ¹öÁ¯ÀÇ XscrabbleÀº ÀÌÁ¦ rpm Çü½ÄÀ¸·Î ±¸ÇÒ ¼ö ÀÖÀ¸¸ç, ¹®Á¦¾øÀÌ ¼³Ä¡µÈ´Ù.]
Xscrabble¸¦ ¾òÀ¸·Á¸é
Matt Chapman¿¡°Ô e-mailÀ» Çϰųª, ±×ÀÇ
Ȩ ÆäÀÌÁö¿¡¼ ´Ù¿î¹ÞÀ» ¼ö ÀÖ´Ù.
ScrabbleÀº Milton Bradley Co., Inc.ÀÇ µî·ÏµÈ »óÇ¥ÀÌ´Ù.
ÀÌ ¿¹ÀÇ ¹®Á¦ ù¹ø°º¸´Ù ½±´Ù. xloadimage ÇÁ·Î±×·¥À» ³» ±×·¡ÇÈ
µµ±¸ ¸ðÀ½¿¡ Ãß°¡Çϸé ÁÁ°Ú´Ù°í »ý°¢Çß´Ù. ³ª´Â xloadi41.gz
ÆÄÀÏÀ»
Mui¿Í Quercia°¡ ¾´
X User Tools¶ó´Â ÈǸ¢ÇÑ Ã¥ÀÇ
ºÎ·Ï CD¿¡ ÀÖ´Â ¼Ò½º µð·ºÅ͸®¿¡¼ Á÷Á¢ º¹»çÇß´Ù.
±â´ëÇÑ ´ë·Î, tar xzvf·Î ÆÄÀÏÀ» Ç® ¼ö ÀÖ¾ú´Ù.
ÇÏÁö¸¸ make´Â °í¾àÇØ º¸ÀÌ´Â ¿¡·¯¸¦ ³»°í´Â Áß´ÜµÇ¾î ¹ö·È´Ù.
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
¿¡·¯ ¸Þ½ÃÁö¿¡ °áÁ¤ÀûÀÎ ´Ü¼°¡ µé¾îÀÖ´Ù.
image.h
ÆÄÀÏÀÇ 23° ÁÙÀ» º¸¸é...
#include <stdlib.h>
Aha, xloadimageÀÇ ¼Ò½º ¾îµò°¡¿¡¼ wchar_t°¡ Ç¥ÁØ include
ÆÄÀÏÀÎ stdlib.h
¿¡¼ Á¤ÀÇµÈ °ÍÀ¸·Î ´Ù½Ã Á¤ÀǵǾú´Ù.
¸ÕÀú stdlib.h´Â Æ÷ÇÔ½Ãų ÇÊ¿ä°¡ ¾øÀ» µí ÇϹǷΠimage.h
ÀÇ
23° ÁÙÀ» ÁÖ¼®¹®À¸·Î ¸¸µé¾î º¸ÀÚ.
ÀÌÁ¦ ¼³Ä¡ °úÁ¤Àº ¾Æ¹«·± Ä¡¸íÀûÀÎ ¿¡·¯ ¾øÀÌ ÁøÇàµÈ´Ù. xloadimage
ÆÐÅ°Áö´Â Áö±Ý Á¤È®È÷ ÀÛµ¿ÇÏ°í ÀÖ´Ù.
ÀÌ ¿¹´Â C ÇÁ·Î±×·¡¹Ö¿¡ ´ëÇÑ Áö½ÄÀÌ Á¶±Ý ÇÊ¿äÇÏ´Ù. À¯´Ð½º³ª ¸®´ª½º¿ë
¼ÒÇÁÆ®¿þ¾îÀÇ ¸¹Àº ºÎºÐÀÌ C·Î ¾²¿©Á® ÀÖÀ¸¹Ç·Î, ¼ÒÇÁÆ®¿þ¾î ¼³Ä¡¿¡ ´ëÇؼ ÁøÁöÇÑ
»ç¶÷À̶ó¸é ÃÖ¼ÒÇÑ Á¶±ÝÀº C¸¦ ¹è¿öµÎ´Â °ÍÀÌ ÁÁ´Ù.
¾Ç¸í³ôÀº fortune ÇÁ·Î±×·¥Àº ¸®´ª½º°¡ ¶ã ¶§¸¶´Ù "fortune cookie"¶ó°í
ºÒ¸®´Â Àç¹ÌÀÖ´Â °Ý¾ðÀ» º¸¿©ÁØ´Ù.
ºÒÇàÇÏ°Ôµµ(unfortunately, ¹ßÀ½°®°í ³ó´ãÇÏ´Â °Å´Ù), 2.0.30 Ä¿³ÎÀ» »ç¿ëÇÏ´Â
·¹µå ÇÞ ¹èÆ÷ÆÇ¿¡¼ fortuneÀ» ÄÄÆÄÀÏÇÏ·Á°í ÇÏ¸é ½É°¢ÇÑ ¿¡·¯°¡ »ý±ä´Ù.
~/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
fortune.c
¸¦ »ìÆ캸¸é, ÇØ´çµÇ´Â ÁÙÀº ´ÙÀ½°ú °°´Ù.
if (dirent->d_namlen == 0)
continue;
name = copy(dirent->d_name, dirent->d_namlen);
¿ì¸®´Â dirent
¶ó´Â ±¸Á¶Ã¼¸¦ ã¾Æ¾ß ÇÏÁö¸¸, ÀÌ ±¸Á¶Ã¼´Â
fortune.c ¾È¿¡ ¼±¾ðµÇ¾î ÀÖÁö ¾ÊÀ¸¸ç, grep dirent¸¦ ÇغÁµµ
´Ù¸¥ ¼Ò½º ÆÄÀϵ鿡¼µµ ãÀ» ¼ö ¾ø´Ù.
ÇÏÁö¸¸, fortune.cÀÇ Á¦ÀÏ À§¿¡ ´ÙÀ½°ú °°Àº ÁÙÀÌ ÀÖ´Ù.
#include <dirent.h>
ÀÌ°ÍÀº ½Ã½ºÅÛ ¶óÀ̺귯¸®ÀÇ include ÆÄÀÏ·Î º¸À̹ǷÎ, dirent.h¸¦ ãÀ»
³í¸®ÀûÀÎ À§Ä¡´Â /usr/include ´Ù. ½ÇÁ¦·Î /usr/include¿¡´Â
dirent.h ÆÄÀÏÀÌ ÀÖÁö¸¸, ±× ÆÄÀÏÀº dirent
±¸Á¶Ã¼ÀÇ Á¤ÀǸ¦
Æ÷ÇÔÇÏ°í ÀÖÁö ¾Ê´Ù. ÀÌ ÆÄÀÏÀº ±× ´ë½Å ¶Ç´Ù¸¥ dirent.h ÆÄÀÏÀ»
ÂüÁ¶ÇÏ°í ÀÖ´Ù.
#include <linux/dirent.h>
¸¶Ä§³», /usr/include/linux/dirent.h¿¡¼, ¹Ù¶ó´ø ±¸Á¶Ã¼ ¼±¾ðÀ» ã¾Ò´Ù.
struct dirent {
long d_ino;
__kernel_off_t d_off;
unsigned short d_reclen;
char d_name[256]; /* We must not include limits.h! */
};
¹°·Ð ÀÌ ±¸Á¶Ã¼ ¼±¾ðÀº d_namelen À» Æ÷ÇÔÇÏ°í ÀÖÁö ¾ÊÁö¸¸,
±×¿¡ ÇØ´çµÉ ¸¸ÇÑ "Èĺ¸"´Â µÎ °³ ÀÖ´Ù. °¡Àå ±×·² µí ÇÑ °ÍÀº
d_reclenÀε¥, ÀÌ ±¸Á¶Ã¼ ¸â¹ö´Â ¹«¾ùÀΰ¡ÀÇ ±æÀ̸¦ ³ªÅ¸³»´Â °Í °°°í
¶Ç short integer ÇüÀ̱⠶§¹®ÀÌ´Ù.
¶Ç ÇϳªÀÇ °¡´É¼ºÀº, d_inoÀε¥ ±× À̸§°ú ÀÚ·áÇüÀ¸·Î º¸¾Æ
inodeÀÇ ¹øÈ£ÀÏ °Í °°´Ù.
¿ì¸®´Â ¾Æ¸¶µµ "directory entry" ±¸Á¶Ã¼¸¦ ´Ù·ç°í ÀÖ´Â µí ÇÏ´Ù.
±× ¿ø¼ÒµéÀº ÆÄÀÏÀÇ ¼Ó¼º, ±× À̸§, inode, ±æÀÌ(ºí·° ¼ö)¸¦ ³ªÅ¸³¾ °ÍÀÌ´Ù.
À̰͵µ (d_reclen °ú d_ino ¿¡ ´ëÇÑ) ¿ì¸®ÀÇ ÃßÃøÀ» È®ÀÎÇØ ÁÖ´Â °ÍÀ¸·Î º¸ÀδÙ.
fortune.c
ÆÄÀÏÀ» ÆíÁýÇؼ, 551°ÁÙ°ú 553°ÁÙÀÇ d_namelen¿¡
´ëÇÑ ÂüÁ¶¸¦ d_reclen¿¡ ´ëÇÑ ÂüÁ¶·Î °íÄ¡µµ·Ï ÇÏÀÚ.
´Ù½Ã make all À» ÇØ º¸ÀÚ. ¼º°øÀÌ´Ù.
¿¡·¯ ¾øÀÌ ÄÄÆÄÀϵǾú´Ù. ¿ì¸®´Â ÀÌÁ¦ fortuneÀ¸·ÎºÎÅÍ ½Ñ °ª¿¡ ½º¸±À» ´À³¥ ¼ö
ÀÖ´Ù.
À̹ø¿¡´Â 80³â´ë¿¡ Bob Ankeney°¡ À¯´Ð½º ½Ã½ºÅÛÀ» À§ÇØ ÀÛ¼ºÇß°í,
1992³â¿¡ Mike YangÀÌ °íÃÆÀ¸¸ç, Áö±ÝÀº
Jonathan Badger°¡
°ü¸®ÇÏ°í ÀÖ´Â °í»ö⿬ÇÑ ¿¾ °ÔÀÓÀÎ Hearts´Ù.
±× ¼±Á¶´Â Oregon ¼ÒÇÁÆ®¿þ¾îÀÇ Don Backus°¡ ¾´
ÈξÀ ´õ ¿À·¡µÈ ÆĽºÄ® ÇÁ·Î±×·¥À¸·Î ³ªÁß¿¡ Jeff HemmerlingÀÌ °³Á¤Çß´Ù.
¿ø·¡´Â ´ÙÁß »ç¿ëÀÚ Å¬¶óÀ̾ðÆ®¸¦ ¿°µÎ¿¡ µÐ °ÍÀÌÁö¸¸, ÄÄÇ»Å͸¦ »ó´ë·Î ÇÑ
´ÜÀÏ »ç¿ëÀÚ ¸ðµåµµ °¡´ÉÇÏ´Ù. ¼¼·ÃµÈ ¸éÀÌ ºÎÁ·ÇÏ°í ÄÄÇ»ÅÍ »ó´ë°¡ º°·Î °ÇÏÁö
¾ÊÁö¸¸, ±×·¡ÇÈÀº ÈǸ¢ÇÏ´Ù. À¯´Ð½º¿Í ¸®´ª½º¿¡¼ °¡´ÉÇÑ °ÍÀº Áö±ÝÀ¸·Î¼µµ
Ä£ÀýÇÑ Hearts °ÔÀÓ ¹Û¿¡´Â ¾ø´Â µí ÇÏ´Ù.
±× ³ªÀÌ¿Í Ç÷Åë ¶§¹®¿¡, ÀÌ ÆÐÅ°Áö´Â ƯÈ÷ ¸®´ª½º ½Ã½ºÅÛ¿¡ ¼³Ä¡Çϱ⠾î·Æ´Ù.
¼³Ä¡¸¦ À§Çؼ´Â ±æ°í °ñÄ¡¾ÆÇ ÀÏ·ÃÀÇ ÆÛÁñÀ» Ç®¾î¾ß ÇÑ´Ù. ÀÌ °úÁ¤Àº Àγ»¿Í
°áÀÇÀÇ ÈÆ·ÃÀ̶ó ÇÒ ¼ö ÀÖ´Ù.
½ÃÀÛÇϱâ Àü¿¡, motif
³ª lesstif
¶óÀ̺귯¸®°¡
¼³Ä¡µÇ¾î ÀÖ´ÂÁö È®ÀÎÇϵµ·Ï Ç϶ó.
xmkmf
make
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
client.c
¿¡ ¹üÀÎÀÌ ÀÖ´Ù.
#ifndef SYSV
(buf[2] != _tty.sg_erase) && (buf[2] != _tty.sg_kill)) {
#else
(buf[2] != CERASE) && (buf[2] != CKILL)) {
#endif
client.c
ÀÇ 39° ÁÙ¿¡
#define SYSV
¸¦ ´õÇÑ´Ù. ÀÌ·¸°Ô Çϸé
_tty·ÎÀÇ ÂüÁ¶¸¦ ¹«½ÃÇÑ´Ù.
make
client.c:41: sys/termio.h: No such file or directory
make: *** [client.o] Error 1
¸®´ª½º ½Ã½ºÅÛ¿¡¼´Â termio.h
ÆÄÀÏÀÌ /usr/include
¿¡ ÀÖ´Ù.
´õ ¿À·¡µÈ À¯´Ð½º¿¡¼´Â /usr/include/sys
¿¡ ÀÖ´Ù.
µû¶ó¼, clinet.c
ÀÇ 41° ÁÙÀ»
#include <sys/termio.h>
¿¡¼
#include <termio.h>
·Î ¹Ù²Û´Ù.
make
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
¿äÁòÀÇ ¸®´ª½º ¹èÆ÷º»Àº ±¸½ÄÀÇ termlib µ¥ÀÌÅͺ£À̽º º¸´Ù´Â
terminfo³ª termcapÀ» »ç¿ëÇÑ´Ù.
Makefile
ÀÇ 655° ÁÙ,
CURSES_LIBRARIES = -lcurses -ltermlib
¸¦
CURSES_LIBRARIES = -lcurses -ltermcap
·Î ¹Ù²Û´Ù.
make
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
lesstifÀÇ ÁÖ ¶óÀ̺귯¸®´Â libXm_s
°¡ ¾Æ´Ï¶ó libXm
ÀÌ´Ù.
µû¶ó¼ Makefile
¸¦ °íÄ£´Ù.
653° ÁÙ:
XMLIB = -lXm_s $(XTOOLLIB) $(XLIB) -lPW
´ÙÀ½°ú °°ÀÌ ÇÑ´Ù.
XMLIB = -lXm $(XTOOLLIB) $(XLIB) -lPW
make
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
´Ã ÇÏ´ø ÀǽÉÀ» Çغ¸ÀÚ
PW
¶óÀ̺귯¸®°¡ ¾ø´Ù. Makefile
¸¦ °íÄ£´Ù.
653° ÁÙ,
XMLIB = -lXm $(XTOOLLIB) $(XLIB) -lPW
¸¦ ´ÙÀ½°ú °°ÀÌ ÇÑ´Ù.
XMLIB = -lXm $(XTOOLLIB) $(XLIB) -lPEX5
(The
PEX5
lib comes closest to
PW
.)
make
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
µåµð¾î make
¿¡ ¼º°øÇß´Ù. (¸¸¼¼!)
¼³Ä¡:
root·Î¼ ´ÙÀ½°ú °°ÀÌ ÇÑ´Ù.
[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
½ÃÇè»ï¾Æ µ¹·Áº¸ÀÚ.
rehash
(¿ì¸®´Â tcsh
½©À» ¾²°í ÀÖ´Ù.)
xmhearts
localhost:~/% xmhearts
Can't invoke distributor!
heats
ÆÐÅ°ÁöÀÇ README
ÆÄÀÏ¿¡ ´ÙÀ½°ú °°ÀÌ ÀûÇô ÀÖ´Ù.
heartsd, hearts_dist¿Í hearts.instr¸¦ local.h¿¡ Á¤ÀÇµÈ HEARTSLIB µð·ºÅ͸®
¾È¿¡ µÎ°í, ÀÌ ÆÄÀϵ鿡 ´©±¸³ª Á¢±ÙÇÒ ¼ö ÀÖµµ·Ï Ç϶ó.
local.h
ÆÄÀÏ ³»¿ë:
/* where the distributor, dealer and instructions live */
#define HEARTSLIB "/usr/local/lib/hearts"
ÀÌ°ÍÀº RTFMÀÇ °íÀüÀûÀÎ °æ¿ì´Ù.
root·Î¼ ´ÙÀ½°ú °°ÀÌ ÇÑ´Ù.
cd /usr/local/lib
mkdir hearts
cd !$
¼³Ä¡µÉ
ÆÄÀϵéÀ» ÀÌ µð·ºÅ͸®¿¡ º¹»çÇÑ´Ù.
cp /home/username/hearts/heartsd .
cp /home/username/hearts/hearts_dist .
cp /home/username/hearts/hearts.instr .
´Ù½Ã ÇÑ ¹ø ½ÃÇè»ï¾Æ µ¹·Áº¸ÀÚ.
xmhearts
Çѵ¿¾È µ¹¾Æ°¡´Ù°¡ dealer died!
¶ó´Â ¸Þ½ÃÁö¸¦ ³»¸ç Á״´Ù.
"distributor"¿Í "dealer"´Â Çϵå¿þ¾îÀÇ Æ÷Æ®µéÀ» Á¶»ç(scan)ÇÑ´Ù. µû¶ó¼ ¿ì¸®´Â
ÀÌ ÇÁ·Î±×·¥µéÀÌ rootÀÇ ±ÇÇÑÀ» ÇÊ¿ä·Î ÇÏ´ÂÁö ÀǽÉÇØ¾ß ÇÑ´Ù.
root·Î¼ ´ÙÀ½°ú °°ÀÌ Çغ¸ÀÚ,
chmod u+s /usr/local/lib/heartsd
chmod u+s /usr/local/lib/hearts_dist
(¾Õ¼ À̾߱âÇßµíÀÌ, suidµÈ ¹ÙÀ̳ʸ®´Â º¸¾È »óÀÇ ÇãÁ¡À» ¸¸µé ¼öµµ
ÀÖ´Ù´Â °Í¿¡ ÁÖÀÇÇ϶ó.)
xmhearts
µåµð¾î µ¹¾Æ°£´Ù!
Hearts´Â
¼±»çÀÌÆ®¿¡¼ ±¸ÇÒ ¼ö ÀÖ´Ù.
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"
XmDipmon Àº ÀÎÅÍ³Ý ¿¬°á »óŸ¦ º¸¿©ÁÖ´Â ¹öÆ°À» Ç¥½ÃÇÏ´Â ÀÛ°í Àç¹ÌÀÖ´Â ÀÀ¿ë
ÇÁ·Î±×·¥ÀÌ´Ù. ³°Àº Àüȼ±¿¡¼´Â ÈçÈ÷ ¿¬°áÀÌ ²÷¾îÁö°ï Çϴµ¥, ±×·± °æ¿ì¿¡´Â
¹Ý¦°Å¸®¸é¼ °æ°íÀ½À» ³½´Ù. ºÒÇàÈ÷µµ, XmDipmonÀº dip °ú¸¸ ÀÛµ¿Çϴµ¥,
À̶§¹®¿¡ ÀÎÅÍ³Ý ¿¬°á¿¡ chat¸¦ ¾²´Â ´ëºÎºÐÀÇ »ç¶÷µé¿¡°Ô´Â ¾µ¸ð°¡ ¾ø´Ù.
XmDipmon À» ÄÄÆÄÀÏÇÏ´Â °ÍÀº ¹®Á¦°¡ ¾Æ´Ï´Ù. XmDipmonÀº Motif
¶óÀ̺귯¸®¿¡ ¸µÅ©µÇ¾î ÀÖÁö¸¸, Lesstif¿Íµµ Àß ÄÄÆÄÀϵǰí Àß ½ÇÇàµÈ´Ù.
À̹ø µµÀüÀº chat¸¦ ¾µ ¶§µµ ÀÛµ¿µÇµµ·Ï ÆÐÅ°Áö¸¦ °íÄ¡´Â °ÍÀÌ´Ù.
ÀÌ ÀÛ¾÷Àº ½ÇÁ¦·Î ¼Ò½º Äڵ带 ¶«ÁúÇÏ´Â °Í±îÁö Æ÷ÇÔÇÏ°í ÀÖÀ¸¸ç,
µû¶ó¼ ÇÁ·Î±×·¡¹Ö¿¡ ´ëÇÑ Áö½ÄÀÌ ¾î´À Á¤µµ ÇÊ¿äÇÏ´Ù.
"½ÇÇàµÇ¸é, xmdipmon Àº /etc/dip.pid ¶ó´Â ÆÄÀÏÀ» È®ÀÎÇÑ´Ù. (-pidfile ÀÇ
¸í·ÉÇà ÀÎÀÚ¸¦ ½á¼ ´Ù¸¥ ÆÄÀÏÀ» ãµµ·Ï ÇÒ ¼öµµ ÀÖ´Ù.) ÀÌ ÆÄÀÏÀº dip
µ¥¸óÀÇ PID ¸¦ Æ÷ÇÔÇÏ°í ÀÖ´Ù. (dip ´Â ÀÏ´Ü ¿¬°áÀÌ ÀÌ·ç¾îÁö¸é ÀÚ½ÅÀ»
µ¥¸ó ¸ðµå·Î ÀüȯÇÑ´Ù.)"
--- XmDipmon README ÆÄÀϷκÎÅÍ Àοë.
-pidfile ¿É¼ÇÀ» ÁÖ¾î ½ÇÇàÇϸé, XmDipmonÀÌ chat ·Î±×ÀÎÀÌ
¼º°øÇßÀ» ¶§¿¡¸¸ Á¸ÀçÇÏ´Â ´Ù¸¥ ÆÄÀÏÀ» È®ÀÎÇϵµ·Ï ÇÒ ¼ö ÀÖ´Ù.
¸í¹éÇÑ È帴 ¸ðµ©ÀÇ lock ÆÄÀÏÀÌ´Ù. µû¶ó¼ xmdipmon -pidfile
/var/lock/LCK..ttyS3 ·Î ÇÁ·Î±×·¥À» ½ÇÇà½ÃÄÑ º¸ÀÚ.
(ÀÌ ¸í·ÉÀº ¸ðµ©ÀÌ 4¹ø com Æ÷Æ®, Áï ttyS3¿¡ ÀÖ´Ù°í °¡Á¤ÇÑ °ÍÀÌ´Ù.)
ÇÏÁö¸¸ ÀÌ°ÍÀº ¹®Á¦ÀÇ ÀϺθ¦ Ǭ °ÍÀÏ »ÓÀÌ´Ù. ÇÁ·Î±×·¥Àº °è¼Ó
dip µ¥¸óÀ» °¨½ÃÇϸç, µû¶ó¼ ¿ì¸®´Â dip µ¥¸ó ´ë½Å
chat³ª ppp¿Í °ü·ÃµÈ ÇÁ·Î¼¼½º¸¦ °¨½ÃÇϵµ·Ï ¹Ù²ã¾ß ÇÑ´Ù.
¼Ò½º ÆÄÀÏÀº Çϳª ¹Û¿¡ ¾øÀ¸¸ç, ´ÙÇàÈ÷µµ ÁÖ¼®¹®ÀÌ Àß ´Þ·ÁÀÖ´Ù.
xmdipmon.c
ÆÄÀÏÀ» º¸¸é, Çì´õ°¡ ¾Æ·¡¿Í °°ÀÌ µÇ¾î ÀÖ´Â
getProcFile ÇÔ¼ö¸¦ ãÀ» ¼ö ÀÖ´Ù.
/*****
* Name: getProcFile
* Return Type: Boolean
* Description: tries to open the /proc entry as read from the dip pid file.
<snip>
*****/
°áÁ¤ÀûÀÎ ´Ü¼´Ù. ÇÔ¼ö ³»ºÎ¸¦ ã¾Æº¸ÀÚ.
/* 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';
¹üÀÎÀº 2383° ÁÙÀÌ´Ù.
sprintf(buf, "/proc/%i/status", pid);
^^^^^^^^^^^^^^^^^^^^^
ÀÌ ÇÔ¼ö°¡ dip µ¥¸ó ÇÁ·Î¼¼½º°¡ ½ÇÇàµÇ°í ÀÖ´ÂÁö °Ë»çÇÏ´Â °ÍÀÌ´Ù. ±×·¯¸é,
´ë½Å pppd µ¥¸óÀ» °¨½ÃÇϵµ·Ï ÇÏ·Á¸é ÀÌ ºÎºÐÀ» ¾î¶»°Ô °íÄ¡¸é µÉ±î?
pppd ÀÇ ¸ÇÆäÀÌÁö¸¦ º¸ÀÚ.
FILES
/var/run/pppn.pid (BSD or Linux), /etc/ppp/pppn.pid (others)
Process-ID for pppd process on ppp interface unit n.
xmdipmon.c
ÀÇ 2383° ÁÙÀ» ¾Æ·¡¿Í °°ÀÌ °íÄ¡ÀÚ.
sprintf(buf, "/var/run/ppp0.pid" );
°íÄ£ ÆÐÅ°Áö¸¦ ´Ù½Ã ÄÄÆÄÀÏÇÏÀÚ. ¹®Á¦¾øÀÌ ÄÄÆÄÀϵȴÙ.
ÀÌÁ¦ »õ·Î¿î ¸í·ÉÇà ÀÎÀÚ¸¦ ½á¼ ½ÃÇèÇØ º¸ÀÚ. ¾Æ¸¶ ½ÅÅëÇÏ°Ô Àß ½ÇÇàµÉ °ÍÀÌ´Ù.
ÀÎÅÍ³Ý ¼ºñ½º Á¦°øÀÚ(ISP)·Î ppp
¿¬°áÀÌ ÀÌ·ç¾îÁ® ÀÖÀ» ¶§¿¡´Â
ÀÛ°í ÆĶõ ¹öÆ°ÀÌ Ç¥½ÃµÇ°í, ¿¬°áÀÌ ²÷¾îÁö¸é ¹Ý¦°Å¸®¸é¼ °æ°íÀ½À» ³½´Ù.
ÀÌÁ¦ ¿ì¸®´Â ¿Ïº®ÇÏ°Ô ÀÛµ¿ÇÏ´Â chat ¸ð´ÏÅ͸¦ °®°Ô µÇ¾ú´Ù.
XmDipmon´Â
Ripley Linux Tools¿¡¼ ´Ù¿î¹ÞÀ» ¼ö ÀÖ´Ù.
´ç½ÅÀÇ ½Ã½ºÅÛ¿¡ À¯Æ¿¸®Æ¼³ª ´Ù¸¥ ÇÁ·Î±×·¥µéÀ» Ãß°¡Çϱâ À§ÇØ »õ·Î ¾òÀº Áö½ÄÀ»
¾²°í ½Í´Ù¸é, ¼Ò½º ¸ðÀ½À»
Linux Applications and Utilities PageÀ̳ª
Red Hat,
InfoMagic,
Linux Systems Labs,
Cheap Bytes µîÀÇ
¸Å¿ì Àú·ÅÇÑ °¡°ÝÀÇ ½Ãµð·ÒÀ» ÅëÇؼ ±¸ÇÒ ¼ö ÀÖ´Ù.
¼Ò½º Äڵ带 Àß Á¤¸®ÇØ µÐ °÷À¸·Î´Â
comp sources UNIX archive°¡ ÀÖ´Ù.
¸¹Àº À¯´Ð½º ¼Ò½º ÄÚµåµéÀÌ
alt.sources ´º½º±×·ì¿¡ °ÔÀçµÇ¾î ÀÖ´Ù.
ƯÁ¤ÇÑ ÆÐÅ°ÁöÀÇ ¼Ò½º Äڵ带 ã°í ÀÖ´Ù¸é, °ü·ÃµÈ
alt.sources.wanted
´º½º±×·ì¿¡ °Ô½Ã¹°À» ¿Ã¸®¸é µÈ´Ù.
comp.os.linux.announce
´º½º±×·ìµµ È®ÀÎÇØ º¼ ¸¸ÇÑ °÷ÀÌ´Ù.
Unix sources
¸ÞÀϸµ ¸®½ºÆ®¿¡ µî·ÏÇÏ·Á¸é, subscribe ¸Þ½ÃÁö¸¦ º¸³»µµ·Ï Ç϶ó.
alt.sources ´º½º±×·ìÀÇ °Ô½Ã¹° ¸ðÀ½Àº
´ÙÀ½ÀÇ ftp »çÀÌÆ®¿¡ ÀÖ´Ù.
ÇÑ ¸¶µð·Î, °íÁýÀÌ ¸ðµç Â÷À̸¦ ¸¸µå´Â °ÍÀÌ´Ù. (±×¸®°í Æ÷±âÇÒ ¼±À» ³ôÀÌ µÎ´Â °ÍÀÌ
Ʋ¸²¾øÀÌ µµ¿òÀÌ µÈ´Ù.) ¸ðµç µµÀüÀÌ ±×·¸µíÀÌ, ½Ç¼ö·ÎºÎÅÍ ¹è¿ì´Â °ÍÀÌ Áö±ØÈ÷
Áß¿äÇÏ´Ù. °¢°¢ÀÇ ½Ç¼ö, ¸ðµç ½ÇÆа¡ ¼ÒÇÁÆ®¿þ¾î ¼³Ä¡ ±â¼úÀÇ ´ÞÀÎÀÌ
µÇ±â À§ÇØ ÇÊ¿äÇÑ Áö½ÄÀ» ´õÇØ ÁÙ °ÍÀÌ´Ù.
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.
[ÀÌ HOWTOµéÀº ´ç½Å ½Ã½ºÅÛÀÇ /usr/doc/HOWTO
³ª
/usr/doc/HOWTO/mini
µð·ºÅ͸®¿¡ ÀÖÀ» °ÍÀÌ´Ù. ÅؽºÆ®, HTML, SGML Æ÷¸ËÀÇ
°³Á¤ ¹öÁ¯µéÀº
LDP »çÀÌÆ®
¹× ÇØ´ç ÀúÀÚÀÇ È¨ ÆäÀÌÁö¿¡¼ ±¸ÇÒ ¼ö ÀÖ´Ù.]
ÀÌ HOWTO ÀÇ ÀúÀÚ´Â ¾Æ·¡ÀÇ »ç¶÷µéÀÌ º¸³»ÁØ Á¦¾È°ú ¼öÁ¤, °Ý·Á¿¡ ´ëÇØ °¨»çÇÑ´Ù.
- R. Brock Lynn
- Michael Jenner
- Fabrizio Stefani
ÀÌ HOWTO ¸¦ ÀÌÅ»¸®¾Æ¾î¿Í ÀϺ»¾î·Î ¹ø¿ªÇÑ ÁÁÀº Ä£±¸µé¿¡°Ôµµ ¿ª½Ã ¿µ¿¹¸¦ µ¹¸°´Ù.
±×¸®°í ¹°·Ð
Linux Documentation ProjectÀÇ Greg Hankins ¿Í Tim Bynum ¿¡°Ôµµ
°¨»ç¿Í Âù¾ç°ú ÃູÀ» º¸³½´Ù. LDP°¡ ÀÌ ¸ðµç °ÍÀ» °¡´ÉÇÏ°Ô Ç߱⠶§¹®ÀÌ´Ù.