KLDP.netÀÇ CVS »ç¿ëÇϱâ HOWTO
!KLDPNetÀÇ CVS »ç¿ëÇϱâ
1. ¼¹® ¶KLDPNet¿¡¼ ÇÁ·ÎÁ§Æ®¸¦ ÁøÇà·Á°í ÇϽðųª. ÇÁ·ÎÁ§Æ®¸¦ ÁøÇà ÁßÀε¥ KLDPNetÀÇ CVS »ç¿ë¹ýÀ» ¾Ë°íÀÚ ÇϽô ºÐ
¿Ü±¹¿¡ ÀÖ´Â FreeSoftware, OpenSource °³¹ß Ä¿¹Â´ÏƼ »çÀÌÆ® Áß¿¡´Â SourceForge°¡ °¡Àå ¸¹Àº »ç¿ëÀÚ¸¦ °¡Áö°í ÀÖÀ¸¸ç ±× ¿Ü¿¡µµ GNU Savannah, berlios.de µîÀÌ ÀÖ½À´Ï´Ù.
2. KLDPNetÀÇ ¸ÞÀϸµ ¸®½ºÆ®¿¡ CVS Ä¿¹Ô ¸Þ½ÃÁö Æ÷½ºÆà Çϱ⠶CVS·Î ¼Ò½ºÄڵ带 °ü¸®ÇÒ¶§ °¡Àå ÇÊ¿äÇÑ °ÍÀÌ CVS·Î±×¸¦ ³²±â´Â °ÍÀÔ´Ï´Ù. ·Î±×¸¦ ³²±âÁö ¾ÊÀ¸¸é ´©°¡ ¾î¶² ÆÄÀÏÀ» ¾î¶»°Ô ¼öÁ¤ Çß´ÂÁö ¾Ë±â Èûµì´Ï´Ù.
KLDPNet¿¡¼´Â ¸ÞÀϸµ ¸®½ºÆ®¸¦ ¼ºñ½º ÇÏ°í ÀÖ½À´Ï´Ù.
KLDPNetÀÇ CVS¿¡ Ä¿¹ÔÀ» Çϸé CVS Ä¿¹Ô ¸Þ½ÃÁö¸¦ ¸ÞÀϸµ ¸®½ºÆ®¿¡ ÀÚµ¿À¸·Î Æ÷½ºÆà µÇµµ·Ï ¼³Á¤ÇÏ´Â ¹æ¹ýÀ» ¼³¸íÇÏ°Ú½À´Ï´Ù.
2.1. CVSROOT ¼³Á¤ ¶¿©·¯ºÐµéÀÌ ¸¸µç ÇÁ·ÎÁ§Æ®¿¡´Â CVS ÀúÀå¼Ò¸¦ ÇÔ²² Á¦°øÇÏ°í ÀÖ½À´Ï´Ù.
°¢°¢ÀÇ ÇÁ·ÎÁ§Æ® ÆäÀÌÁöÀÇ CVS ¸Þ´º¿¡¼ CVS ÀúÀå¼Ò µÑ·¯º¸±â(ViewCVS)¿¡ µé¾î°¡ º¸¸é CVS ÀúÀå¼ÒÀÇ ¸ð½ÀÀ» À¥À¸·Î Ç¥½ÃÇØ ÁÝ´Ï´Ù.
ÇÁ·ÎÁ§Æ®¸¦ óÀ½ ¸¸µé¾úÀ» °æ¿ì CVSROOT¶ó´Â µð·ºÅ丮¸¸ ÀÖÀ» °ÍÀÔ´Ï´Ù.
ÀÌ CVSROOT µð·ºÅ丮¿¡¼ CVSÀÇ È¯°æ¼³Á¤À» ÇÒ ¼ö ÀÖ½À´Ï´Ù.
CVSROOT µð·ºÅ丮 ¾È¿¡´Â ´ÙÀ½°ú °°Àº ÆÄÀϵéÀÌ Á¸Àç ÇÕ´Ï´Ù.
checkoutlist
commitinfo config cvswrappers editinfo loginfo modules notify rcsinfo taginfo verifymsg ÀÚ½ÅÀÇ ÇÁ·ÎÁ§Æ®ÀÇ CVS ÀúÀå¼Ò¿¡¼ CVSROOT µð·ºÅ丮¸¦ üũ¾Æ¿ô ÇÑ µÚ¿¡ ÆÄÀÏÀ» ¼öÁ¤ÇÑ ´ÙÀ½ ´Ù½Ã Ä¿¹ÔÀ» ÇÏ¿© ¼³Á¤ ÆÄÀÏÀ» ¼öÁ¤ÇÕ´Ï´Ù.
peopleÀº ÇÁ·ÎÁ§Æ® ¸â¹öÀÇ ID ÀÔ´Ï´Ù.
exproject´Â ÇÁ·ÎÁ§Æ® À̸§ÀÔ´Ï´Ù.
ssh¸¦ ÀÌ¿ëÇÑ Ã¼Å©¾Æ¿ô
cvs -z3 -d:ext:people@cvs.kldp.net:/cvsroot/exproject co CVSROOT
log_accum.pl.gz (4.35 KB) ÀÌ ÆÄÀÏÀ» ¹Þ°í ¾ÐÃàÀ» Ǭ µÚ ¾Æ·¡ $MAIL_TO ºÎºÐÀ» ÀÚ½ÅÀÇ CVS Ä¿¹Ô ·Î±× ¸ÞÀϸµ ¸®½ºÆ® ÁÖ¼Ò·Î ¹Ù²ß´Ï´Ù.
$MAIL_TO = 'cvs-example@lists.kldp.net';
To: ºÎºÐµµ ¾Ë¸Â°Ô ¹Ù²ß´Ï´Ù.
print(MAIL "To: Example CVS Commit Message <$MAIL_TO>\n");
log_accum.plÀ» ¹æ±Ý üũ¾Æ¿ô ¹ÞÀº CVSROOT µð·ºÅ丮¿¡ º¹»çÇÕ´Ï´Ù. CVSROOT¿¡ Ãß°¡ÇÏ°í µÚ Ä¿¹Ô ÇÕ´Ï´Ù.
CVSROOT# cvs add log_accum.pl
CVSROOT# cvs commit ÀÌÁ¦ ¾Æ·¡ µÎ ÆÄÀÏÀ» ¼öÁ¤ ÇÕ´Ï´Ù.
checkoutlist
# The "checkoutlist" file is used to support additional version controlled
# administrative files in $CVSROOT/CVSROOT, such as template files. # # The first entry on a line is a filename which will be checked out from # the corresponding RCS file in the $CVSROOT/CVSROOT directory. # The remainder of the line is an error message to use if the file cannot # be checked out. # # File format: # # [<whitespace>]<filename><whitespace><error message><end-of-line> # # comment lines begin with '#' log_accum.pl file not found #options file not found loginfo
# The "loginfo" file controls where "cvs commit" log information
# is sent. The first entry on a line is a regular expression which must match # the directory that the change is being made to, relative to the # $CVSROOT. If a match is found, then the remainder of the line is a filter # program that should expect log information on its standard input. # # If the repository name does not match any of the regular expressions in this # file, the "DEFAULT" line is used, if it is specified. # # If the name ALL appears as a regular expression it is always used # in addition to the first matching regex or DEFAULT. # # You may specify a format string as part of the # filter. The string is composed of a `%' followed # by a single format character, or followed by a set of format # characters surrounded by `{' and `}' as separators. The format # characters are: # # s = file name # V = old version number (pre-checkin) # v = new version number (post-checkin) # # For example: #DEFAULT (echo ""; id; echo %s; date; cat) >> $CVSROOT/CVSROOT/commitlog # or #DEFAULT (echo ""; id; echo %{sVv}; date; cat) >> $CVSROOT/CVSROOT/commitlog DEFAULT /usr/bin/perl $CVSROOT/CVSROOT/log_accum.pl %s ÀÌÁ¦ ÀÌ ÆÄÀϵ鵵 Ä¿¹Ô ÇÕ´Ï´Ù.
CVSROOT# cvs commit
¸ÞÀϸµ ¸®½ºÆ® ¼³Á¤¿¡¼ °¢ ¸â¹öµéÀÇ À̸ÞÀÏ ÁÖ¼Ò¸¦ Ãß°¡ÇØ¾ß ÇÕ´Ï´Ù. @users.kldp.netÀ¸·Î Ä¿¹Ô ¸ÞÀÏÀÌ º¸³»Áö±â ¶§¹®¿¡ ÇØ´ç ¸ÞÀÏÀ» Çã¿ëÇØ ÁÖ¾î¾ß ÇÕ´Ï´Ù. Çã¿ëÇØ ÁÖÁö ¾ÊÀ¸¸é ¸ÞÀϸµ ¸®½ºÆ®¿¡ Æ÷½ºÆà µÇÁö ¾Ê½À´Ï´Ù.
¸ÞÀϸµ ¸®½ºÆ® °ü¸®ÀÚ ÆäÀÌÁö·Î µé¾î°©´Ï´Ù.
Privacy options -> Sender filters -> Non-member filters(List of non-member addresses whose postings should be automatically accepted.)
°³ÀÎ Á¤º¸ º¸È£ Á¤Ã¥ -> º¸³½ÀÌ °É·¯³»±â -> ºñȸ¿ø °É·¯³»±â(ºñȸ¿øÀÇ ÁÖ¼ÒÁß º¸³½ ±ÛÀ» ÀÚµ¿À¸·Î ¹Þ¾ÆµéÀÏ ¸ñ·ÏÀ» ³ª¿Çϼ¼¿ä.)
hello@users.kldp.net
hi@users.kldp.net °¢ ¸â¹öµéÀÇ ¸ÞÀÏ ÁÖ¼Ò¸¦ Ãß°¡ÇÕ´Ï´Ù.
ÀÌÁ¦ºÎÅÍ ¼Ò½º¸¦ ¼öÁ¤ÇÏ°í Ä¿¹ÔÀ» ÇÏ¸é ¸ÞÀϸµ ¸®½ºÆ®·Î Ä¿¹Ô ¸Þ½ÃÁö°¡ Æ÷½ºÆà µÉ °ÍÀÔ´Ï´Ù.
Please see CVSCommitNotification
3. KLDPNetÀÇ CVS, SSH ¾ÏÈ£ ¾øÀÌ »ç¿ëÇϱ⠶°³¹ßÀÚµéÀº anonymous ·Î Á¢¼ÓÇÏÁö ¾Ê°í, ÀÚ½ÅÀÇ °èÁ¤À¸·Î cvs·Î Á¢¼ÓÇÏ¿© ¼Ò½º¸¦ ¼öÁ¤ÇÒ ¼ö ÀÖ½À´Ï´Ù.
À̶§, ¸Å¹ø ¾ÏÈ£¸¦ ¹°¾î º¸°Ô µÇ´Âµ¥, ÀÌ´Â CVS°¡ ¿ÜºÎ ÇÁ·Î±×·¥À¸·Î SSH¸¦ »ç¿ëÇÏ¸é¼ SSHÀÇ ÀÎÁõ ¹æ½ÄÀ»
µû¸£±â ¶§¹®ÀÔ´Ï´Ù.
KLDPNet cvs ÀúÀå¼ÒÀÇ °³ÀÎ °èÁ¤¿¡´Â sshdÀÇ public key method ÀÎÁõ ¹æ½Ä¿¡ »ç¿ëµÇ´Â
~/.ssh/authorized_keys ÆÄÀÏÀÌ ÀÖ¾î, ¿ÜºÎÀÇ public key¸¦ µî·ÏÇÏ´Â ¹æ¹ýÀ» ¼³¸íÇÏ°Ú½À´Ï´Ù.
openssh¸¦ »ç¿ëÇÒ ¶§¸¦ °¡Á¤ÇÏ°í ¼³¸íµå¸®°Ú½À´Ï´Ù.
rsa1 ¿ë private/public key pair ¸¦ ¸¸µé±â
$ ssh-keygen -t rsa1
Generating public/private rsa1 key pair. Enter file in which to save the key (/hunkim/.ssh/identity): Enter passphrase (empty for no passphrase): xxxx Enter same passphrase again: xxxx Your identification has been saved in /hunkim/.ssh/identity. Your public key has been saved in /hunkim/.ssh/identity.pub. The key fingerprint is: ba:47:d9:81:81:14:d0:ca:f5:f5:9b:27:11:62:25:5d hunkim@ucsc.edu passphrase¶õ private key¸¦ ¾ÏÈ£ÈÇϴµ¥ »ç¿ëµÇ´Â ¾ÏÈ£ÀÔ´Ï´Ù.
ÀÌ ÇÔÈ£¸¦ °ø¹éÀ¸·Î Çصµ ÁÁÁö¸¸ º¸¾È»ó ÁöÁ¤À» ÇØµÎ½Ã°í ´ÙÀ½°ú °°ÀÌ ssh-agent¸¦ »ç¿ëÇϽô°ÍÀÌ ÁÁ½À´Ï´Ù.
ssh-agent´Â ´ÙÀ½°ú °°ÀÌ »ç¿ëÇÏ½Ã¸é µË´Ï´Ù.
$ eval `ssh-agent`
Agent pid 14502 $ ssh-add Enter passphrase for /hunkim/.ssh/identity: xxxx Identity added: /hunkim/.ssh/identity (/hunkim/.ssh/identity) ~/.ssh/identity.pub ÆÄÀÏÀÌ »ý¼ºµÈ public keyÀÔ´Ï´Ù.
¸¸µç public key ¸¦ KLDPNet ¿¡ µî·Ï
KLDPNetÀÇ ~/.ssh/authorized_keys ÆÄÀÏ¿¡ µî·ÏÇÏ´Â ¹æ¹ýÀÔ´Ï´Ù.
ÀÌ ÆäÀÌÁö¸¦ ·Î±×ÀÎÇÑµÚ ¿¾îº¸¸é, »ý¼ºÇÑ public key¸¦ µî·ÏÇϴ âÀÌ ³ª¿É´Ï´Ù.
ÀÌ Ã¢¿¡ »ý¼ºµÈ Public keyÀÎ ~/.ssh/identity.pub ÆÄÀÏÀÇ ³»¿ëÀ» º¹»çÇØ ³Ö½À´Ï´Ù.
ÁÖÀÇÇÒ °ÍÀº À§ ³»¿ëÀÌ ÁÙ¹Ù²ÞµÇ¾î µé¾î°¡´Â ÀÏÀÌ ¾øµµ·ÏÇؾßÇÑ´Ù´Â °ÍÀÔ´Ï´Ù.
¸Ç ¾Õ°ú µÚÀÇ °ø¹éÀº »ó°ü¾ø½À´Ï´Ù.
µî·ÏµÈ public key´Â ¹Ù·Î ¹Ý¿µµÇÁö ¾Ê½À´Ï´Ù.
crontab¿¡ µî·ÏµÈ ÀÛ¾÷ÀÌ ½ÇÇàµÉ ¶§¿¡ ÀϾ±â ¶§¹®ÀÔ´Ï´Ù.
SSH Version 1.0 »ç¿ë ¼³Á¤
KLDPNet´Â ssh version 1.0 À¸·Î ÀÛµ¿ÇϹǷΠÀÌ »çÀÌÆ®¿¡ ´ëÇؼ´Â ±âº»ÀûÀ¸·Î ¹öÀüÀ» ¹Ù²Ùµµ·Ï ÇÕ´Ï´Ù.
~/.ssh/config ÆÄÀÏÀ» ´ÙÀ½°ú °°ÀÌ ÀÛ¼ºÇÕ´Ï´Ù.
Host *.kldp.net
Protocol 1 public key update°¡ ÀϾÀ»°Å¶ó »ý°¢µÈ ÈÄ ½ÃµµÇغ¸¼¼¿ä.
4. Q&A (Áú¹®°ú´ë´ä) ¶Q: kldp.netÀÇ cvs¿¡¼ cvs -z3 -d:pserver:anonymous@cvs.kldp.net:/cvsroot/ÇÁ·ÎÁ§Æ®¸í co modulename À¸·Î µÇ¾î Àִµ¥, ¿©±â¿¡¼ modulename Àº ¹«¾ùÀ» ¸»ÇÏ´Â °ÍÀΰ¡¿ä?
A: È®ÀÎÇغ¸´Ï CVSROOT ÀÇ ÇÏÀ§ Æú´õ°¡ modulename ÀÌ µÇ´Â °Í °°Àºµ¥. ¸ÂÁÒ?
Q: ÇöÀç KLDPNetÀÇ CVS°¡ !SSL1À¸·Î ¿¬°á °¡´ÉÇմϱî? SSL2·Î Á¢¼ÓÇØ¾ß ÇÏ´Â °Í °°Àºµ¥, Ȥ½Ã È®ÀÎ °¡´ÉÇϽŠºÐ²²¼´Â È®ÀÎÇØÁÖ½Ã¸é °¨»çÇÏ°Ú½À´Ï´Ù.
|
Among the lucky, you are the chosen one. |