일본의 최대 커뮤니티 사이트 믹시를 이용하기 편하도록 플러그인을
개발하고 있는 분의 사이트
http://www.nitoyon.com/vc/
http://www.nitoyon.com/program/mb/
2005년 10월 28일 금요일
2005년 9월 20일 화요일
Linux Ant 설정하기
1.http://ant.apache.org/에서 ant download
2.linux 머신 /usr/local/에 upload
3.tar xvfz apache-ant-1.6.5-bin.tar.gz
4./home/loginUser/bash_profile편집
#ANT
export ANT_HOME=/usr/local/apache-ant-1.6.5
export PATH=$ANT_HOME/bin:$PATH
추가.(자바 홈이나 path는 없으면 않되겠죠//)
5.다른 터미널 열어서 ant -version으로 확인
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/tools/ant/launch/Launcher
이런 Exception이나면 예전 버전이 인스톨 되어있을 가능성 이 있으므로.
rpm -qa | grep ant
검색
rpm -e antxxxxx
삭제.
2.linux 머신 /usr/local/에 upload
3.tar xvfz apache-ant-1.6.5-bin.tar.gz
4./home/loginUser/bash_profile편집
#ANT
export ANT_HOME=/usr/local/apache-ant-1.6.5
export PATH=$ANT_HOME/bin:$PATH
추가.(자바 홈이나 path는 없으면 않되겠죠//)
5.다른 터미널 열어서 ant -version으로 확인
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/tools/ant/launch/Launcher
이런 Exception이나면 예전 버전이 인스톨 되어있을 가능성 이 있으므로.
rpm -qa | grep ant
검색
rpm -e antxxxxx
삭제.
2005년 9월 12일 월요일
2005년 8월 31일 수요일
flex관련링크
http://blog.naver.com/enzolove/120016177784
http://cafe.naver.com/reference.cafe?iframe_url=/ArticleRead.nhn%3Farticleid=195
http://cafe.naver.com/flashover.cafe?iframe_url=/ArticleRead.nhn%3Farticleid=102
http://cafe.naver.com/reference.cafe?iframe_url=/ArticleRead.nhn%3Farticleid=195
http://cafe.naver.com/flashover.cafe?iframe_url=/ArticleRead.nhn%3Farticleid=102
Linux Top command RSS 와 swap 자바 메모리 관계
김풍주 님의 글을 그대로 옮겨 왔습니다.
http://siyeon.com/servlet/com.siyeon.blog.Action
어떤 문제인지 구체적으로 언급이 없어서 o/s 관점에 대해서 언급합니다.
1. top 실행
2. shift - f를 후에 swap부분을 toggle
3. shitt - w를 한 후에 저장
4. 종료
5. top p b
지속적으로 관찰하는데 있어 swap를 지켜 보세요
만약 2~3일 정도 운영상태에서도 아래 문서의 마지막 그림과 같으면 정상이라고
보셔도 괜찮습니다. ( heap size가 512mb라면.. )
http://javaservice.com/~java/bbs/read.cgi?m=unix&b=unix&c=r_p&n=1103851815&p=1&s=t
참고 :
[siyeon@www siyeon]$ ps -efww | grep java
root 4497 1 0 2004 ? 00:00:00 java
root 4500 4497 0 2004 ? 00:00:00 java
root 4501 4500 0 2004 ? 00:00:01 java
siyeon 9479 8887 0 23:39 pts/2 00:00:00 grep java
[siyeon@www siyeon]$ top p 4497 b > meta_data <-- 하루 정도 실행
[siyeon@www siyeon]$ cat meta_data
11:39pm up 409 days, 8:50, 1 user, load average: 0.00, 0.02, 0.00
1 processes: 1 sleeping, 0 running, 0 zombie, 0 stopped
CPU states: 0.1% user, 0.1% system, 0.0% nice, 0.0% idle
Mem: 1031276K av, 993060K used, 38216K free, 0K shrd, 60348K buff
Swap: 1052248K av, 23368K used, 1028880K free 546212K cached
PID USER PRI NI SIZE SWAP RSS SHARE STAT %CPU %MEM TIME COMMAND
4497 root 25 5 14404 10M 3916 2552 S N 0.0 0.3 0:00 java
11:39pm up 409 days, 8:50, 1 user, load average: 0.00, 0.02, 0.00
1 processes: 1 sleeping, 0 running, 0 zombie, 0 stopped
CPU states: 0.0% user, 0.0% system, 0.0% nice, 100.0% idle
Mem: 1031276K av, 993064K used, 38212K free, 0K shrd, 60348K buff
Swap: 1052248K av, 23368K used, 1028880K free 546216K cached
PID USER PRI NI SIZE SWAP RSS SHARE STAT %CPU %MEM TIME COMMAND
4497 root 25 5 14404 10M 3916 2552 S N 0.0 0.3 0:00 java
11:40pm up 409 days, 8:50, 1 user, load average: 0.00, 0.02, 0.00
1 processes: 1 sleeping, 0 running, 0 zombie, 0 stopped
CPU states: 0.9% user, 0.7% system, 0.0% nice, 98.2% idle
Mem: 1031276K av, 993064K used, 38212K free, 0K shrd, 60348K buff
Swap: 1052248K av, 23368K used, 1028880K free 546216K cached
PID USER PRI NI SIZE SWAP RSS SHARE STAT %CPU %MEM TIME COMMAND
4497 root 25 5 14404 10M 3916 2552 S N 0.0 0.3 0:00 java
11:40pm up 409 days, 8:50, 1 user, load average: 0.00, 0.02, 0.00
1 processes: 1 sleeping, 0 running, 0 zombie, 0 stopped
CPU states: 0.0% user, 0.0% system, 0.0% nice, 100.0% idle
Mem: 1031276K av, 993072K used, 38204K free, 0K shrd, 60356K buff
Swap: 1052248K av, 23368K used, 1028880K free 546216K cached
PID USER PRI NI SIZE SWAP RSS SHARE STAT %CPU %MEM TIME COMMAND
4497 root 25 5 14404 10M 3916 2552 S N 0.0 0.3 0:00 java
11:40pm up 409 days, 8:50, 1 user, load average: 0.00, 0.02, 0.00
1 processes: 1 sleeping, 0 running, 0 zombie, 0 stopped
CPU states: 0.3% user, 0.1% system, 0.0% nice, 99.4% idle
Mem: 1031276K av, 993084K used, 38192K free, 0K shrd, 60356K buff
Swap: 1052248K av, 23368K used, 1028880K free 546220K cached
PID USER PRI NI SIZE SWAP RSS SHARE STAT %CPU %MEM TIME COMMAND
4497 root 25 5 14404 10M 3916 2552 S N 0.0 0.3 0:00 java
11:40pm up 409 days, 8:51, 1 user, load average: 0.00, 0.02, 0.00
1 processes: 1 sleeping, 0 running, 0 zombie, 0 stopped
CPU states: 0.3% user, 0.3% system, 0.0% nice, 99.2% idle
Mem: 1031276K av, 993088K used, 38188K free, 0K shrd, 60360K buff
Swap: 1052248K av, 23368K used, 1028880K free 546224K cached
PID USER PRI NI SIZE SWAP RSS SHARE STAT %CPU %MEM TIME COMMAND
4497 root 25 5 14404 10M 3916 2552 S N 0.0 0.3 0:00 java
[siyeon@www siyeon]$ grep 'load average' meta_data | awk '{print $1}' | nl > time
[siyeon@www siyeon]$ grep '4497' meta_data | awk '{print $6}' | nl > swap
[siyeon@www siyeon]$ join time swap | awk '{print $2, $3}' > data
[siyeon@www siyeon]$ cat data
11:39pm 10M
11:39pm 10M
11:40pm 10M
11:40pm 10M
11:40pm 10M
11:40pm 10M
[siyeon@www siyeon]$
위 data를 그래프로 그려 본다...
(memory 부분에서 size는 일관성 있게 해 줄것)
awk에서 column부분은 각자 시스템의 환경에 맞게 구성해 보세요.
위 부분은 swap부분을 추출했는데 rss부분도 추출해 같이 비교를 해 보세요.
To : http://javaservice.com/~java/bbs/read.cgi?m=dbms&b=jdbc&c=r_p&n=1110357251&p=1&s=t#1110357251
http://siyeon.com/servlet/com.siyeon.blog.Action
어떤 문제인지 구체적으로 언급이 없어서 o/s 관점에 대해서 언급합니다.
1. top 실행
2. shift - f를 후에 swap부분을 toggle
3. shitt - w를 한 후에 저장
4. 종료
5. top p
지속적으로 관찰하는데 있어 swap를 지켜 보세요
만약 2~3일 정도 운영상태에서도 아래 문서의 마지막 그림과 같으면 정상이라고
보셔도 괜찮습니다. ( heap size가 512mb라면.. )
http://javaservice.com/~java/bbs/read.cgi?m=unix&b=unix&c=r_p&n=1103851815&p=1&s=t
참고 :
[siyeon@www siyeon]$ ps -efww | grep java
root 4497 1 0 2004 ? 00:00:00 java
root 4500 4497 0 2004 ? 00:00:00 java
root 4501 4500 0 2004 ? 00:00:01 java
siyeon 9479 8887 0 23:39 pts/2 00:00:00 grep java
[siyeon@www siyeon]$ top p 4497 b > meta_data <-- 하루 정도 실행
[siyeon@www siyeon]$ cat meta_data
11:39pm up 409 days, 8:50, 1 user, load average: 0.00, 0.02, 0.00
1 processes: 1 sleeping, 0 running, 0 zombie, 0 stopped
CPU states: 0.1% user, 0.1% system, 0.0% nice, 0.0% idle
Mem: 1031276K av, 993060K used, 38216K free, 0K shrd, 60348K buff
Swap: 1052248K av, 23368K used, 1028880K free 546212K cached
PID USER PRI NI SIZE SWAP RSS SHARE STAT %CPU %MEM TIME COMMAND
4497 root 25 5 14404 10M 3916 2552 S N 0.0 0.3 0:00 java
11:39pm up 409 days, 8:50, 1 user, load average: 0.00, 0.02, 0.00
1 processes: 1 sleeping, 0 running, 0 zombie, 0 stopped
CPU states: 0.0% user, 0.0% system, 0.0% nice, 100.0% idle
Mem: 1031276K av, 993064K used, 38212K free, 0K shrd, 60348K buff
Swap: 1052248K av, 23368K used, 1028880K free 546216K cached
PID USER PRI NI SIZE SWAP RSS SHARE STAT %CPU %MEM TIME COMMAND
4497 root 25 5 14404 10M 3916 2552 S N 0.0 0.3 0:00 java
11:40pm up 409 days, 8:50, 1 user, load average: 0.00, 0.02, 0.00
1 processes: 1 sleeping, 0 running, 0 zombie, 0 stopped
CPU states: 0.9% user, 0.7% system, 0.0% nice, 98.2% idle
Mem: 1031276K av, 993064K used, 38212K free, 0K shrd, 60348K buff
Swap: 1052248K av, 23368K used, 1028880K free 546216K cached
PID USER PRI NI SIZE SWAP RSS SHARE STAT %CPU %MEM TIME COMMAND
4497 root 25 5 14404 10M 3916 2552 S N 0.0 0.3 0:00 java
11:40pm up 409 days, 8:50, 1 user, load average: 0.00, 0.02, 0.00
1 processes: 1 sleeping, 0 running, 0 zombie, 0 stopped
CPU states: 0.0% user, 0.0% system, 0.0% nice, 100.0% idle
Mem: 1031276K av, 993072K used, 38204K free, 0K shrd, 60356K buff
Swap: 1052248K av, 23368K used, 1028880K free 546216K cached
PID USER PRI NI SIZE SWAP RSS SHARE STAT %CPU %MEM TIME COMMAND
4497 root 25 5 14404 10M 3916 2552 S N 0.0 0.3 0:00 java
11:40pm up 409 days, 8:50, 1 user, load average: 0.00, 0.02, 0.00
1 processes: 1 sleeping, 0 running, 0 zombie, 0 stopped
CPU states: 0.3% user, 0.1% system, 0.0% nice, 99.4% idle
Mem: 1031276K av, 993084K used, 38192K free, 0K shrd, 60356K buff
Swap: 1052248K av, 23368K used, 1028880K free 546220K cached
PID USER PRI NI SIZE SWAP RSS SHARE STAT %CPU %MEM TIME COMMAND
4497 root 25 5 14404 10M 3916 2552 S N 0.0 0.3 0:00 java
11:40pm up 409 days, 8:51, 1 user, load average: 0.00, 0.02, 0.00
1 processes: 1 sleeping, 0 running, 0 zombie, 0 stopped
CPU states: 0.3% user, 0.3% system, 0.0% nice, 99.2% idle
Mem: 1031276K av, 993088K used, 38188K free, 0K shrd, 60360K buff
Swap: 1052248K av, 23368K used, 1028880K free 546224K cached
PID USER PRI NI SIZE SWAP RSS SHARE STAT %CPU %MEM TIME COMMAND
4497 root 25 5 14404 10M 3916 2552 S N 0.0 0.3 0:00 java
[siyeon@www siyeon]$ grep 'load average' meta_data | awk '{print $1}' | nl > time
[siyeon@www siyeon]$ grep '4497' meta_data | awk '{print $6}' | nl > swap
[siyeon@www siyeon]$ join time swap | awk '{print $2, $3}' > data
[siyeon@www siyeon]$ cat data
11:39pm 10M
11:39pm 10M
11:40pm 10M
11:40pm 10M
11:40pm 10M
11:40pm 10M
[siyeon@www siyeon]$
위 data를 그래프로 그려 본다...
(memory 부분에서 size는 일관성 있게 해 줄것)
awk에서 column부분은 각자 시스템의 환경에 맞게 구성해 보세요.
위 부분은 swap부분을 추출했는데 rss부분도 추출해 같이 비교를 해 보세요.
To : http://javaservice.com/~java/bbs/read.cgi?m=dbms&b=jdbc&c=r_p&n=1110357251&p=1&s=t#1110357251
2005년 7월 27일 수요일
PHP 를 이용한 SCP,SFTP
A PHP condition & Sample when Using sFtp/scp in PHP script Writtened by Jinsuk,yoon
feedback : udanax@joyon.com
it able to open a SSH connection to use SFTP / SCP without any problems
You need first Extension libssh2, PECL libraries
reference
http://docs.php.net/en/ref.ssh2.html
http://pecl.php.net
http://sourceforge.net/projects/libssh2/)
sftp와 scp를 사용하기위한 PHP환경과 예제입니다.
먼저 sftp와 scp를 사용하기 위해서는 SSH Connection이 가능해야하기때문에, libssh2, PECL라이브러리를 확장하세요. (system()명령으로도 가능은 하지만, 여러가지 고려함에..)
아래의 샘플을 통하여, php스크립트를 통해 원격으로 서버대서버로 sftp프로토콜을 사용하여 파일전송을 할수있습니다.
Example
define('SFTP_ADDR', '211.233.83.189');
$start_time = microtime(true);
// establish connection to FTP over SSH
$connection = ssh2_connect(SFTP_ADDR, 22);
$sftp = ssh2_sftp($connection);
$src_file = '/usr/local/www/data.src';
$dst_sftp_file = 'ssh2.sftp://' . $sftp . '/www/data.dst';
$dst_scp_file = '/www/data.dst';
//use SFTP wrapper
copy($src_file, $dst_sftp_file);
//use SCP
ssh2_scp_send($connection, $src_file, $dst_scp_file);
print 'Total Time: ' . microtime(true) - $start_time;
Expected result:
----------------
Expected: FAST file transfer, over 3MB/sec
Actual result:
--------------
Result: SLOW file transfer, around 30KB/sec
Feedback : udanax@joyon.com
feedback : udanax@joyon.com
it able to open a SSH connection to use SFTP / SCP without any problems
You need first Extension libssh2, PECL libraries
reference
http://docs.php.net/en/ref.ssh2.html
http://pecl.php.net
http://sourceforge.net/projects/libssh2/)
sftp와 scp를 사용하기위한 PHP환경과 예제입니다.
먼저 sftp와 scp를 사용하기 위해서는 SSH Connection이 가능해야하기때문에, libssh2, PECL라이브러리를 확장하세요. (system()명령으로도 가능은 하지만, 여러가지 고려함에..)
아래의 샘플을 통하여, php스크립트를 통해 원격으로 서버대서버로 sftp프로토콜을 사용하여 파일전송을 할수있습니다.
Example
define('SFTP_ADDR', '211.233.83.189');
$start_time = microtime(true);
// establish connection to FTP over SSH
$connection = ssh2_connect(SFTP_ADDR, 22);
$sftp = ssh2_sftp($connection);
$src_file = '/usr/local/www/data.src';
$dst_sftp_file = 'ssh2.sftp://' . $sftp . '/www/data.dst';
$dst_scp_file = '/www/data.dst';
//use SFTP wrapper
copy($src_file, $dst_sftp_file);
//use SCP
ssh2_scp_send($connection, $src_file, $dst_scp_file);
print 'Total Time: ' . microtime(true) - $start_time;
Expected result:
----------------
Expected: FAST file transfer, over 3MB/sec
Actual result:
--------------
Result: SLOW file transfer, around 30KB/sec
Feedback : udanax@joyon.com
2005년 7월 22일 금요일
CVS 커밋 발생시점에 소스 export 하기
지금 개발 하고 있는 환경이 주로 PHP를 이용한 개발 이라 CVS에서 소스를 가져와서 수정하고 SFTP로 테스트 서버에 전송 확인한 후에
CVS에 커밋을 하는 작업이 발생한다.
이제껏 자바 개발의 경우 소스를 CVS에 커밋 한다고 해도 매번 컴파일작업이 발생하기 때문에 개발 효율은 그리 높지 않았다.
PHP의 생산성은 자바와는 비교가 되지 않을 정도 이지만 위에서 언급한 CVS커밋 작업과 서버에전송작업이 업무 효율을 떨어뜨리는 원인이 되고 있었다.
PHP의 경우 commit한 것을 wep page를 통해 확인 하기 때문에 CVS 와 아파치 DocumentRoot를 연결해 두면 작업한 소스를 CVS 에 커밋 하는 것만으로 확인이 가능해 진다.
이하는 이를 위한 설정 이다.
CVSROOT위치 /home/cvs/
모듈명 bin
아파치 DocumentRoot /home/apache/doc
bin모듈에 소스를 커밋 하면 /home/apache/doc/bin 에 변경한 것이 반영되도록 한다.
[root@xxxx root]# cd /home/cvs
[root@xxxx cvs]# ls
bin CVSROOT cvstest test
만들어 주어야 하는 파일
auto_update.pl
binUpdate.sh
[root@xxxx CVSROOT]# view auto_update.pl
#!/usr/bin/perl
#cvs path
$cvs = '/usr/bin/cvs';
$usage = "usage: auto_update.pl WORKDIR [MODE]";
# process arguments
die $usage, "
" unless $workdir = $ARGV[0];
$chmod = $ARGV[1] ? "; chmod -R $ARGV[1]" : "";
# main update process which must be executed in background.
$cmd = "(cd $workdir; $cvs -q update $chmod) &";
system($cmd);
# last message.
$date = `date`; chomp($date);
$mesg = "$workdir automatically updated at $date";
print "$mesg
";
[root@xxxx CVSROOT]# view binUpdate.sh
#!/bin/sh
/home/cvs/CVSROOT/auto_update.pl /home/apache/doc
수정해 주어야 하는 파일
loginfo에 이하의 내용을 추가해 주면 된다.
bin /home/cvs/CVSROOT/binUpdate.sh bin
[root@xxxx CVSROOT]# view 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)
# t = tag or branch name
#
# For example:
#DEFAULT (echo ""; id; echo %s; date; cat) >> $CVSROOT/CVSROOT/commitlog
# or
#DEFAULT (echo ""; id; echo %{sVv}; date; cat) >> $CVSROOT/CVSROOT/commitlog
bin /home/cvs/CVSROOT/binUpdate.sh bin
---------주의 사항---------
퍼미션 관련 에러에 조심하기만 하면 아무 문제 없이
커밋한 소스를 아파치DocumentRoot 에 밀어주게 된다.
아파치 DocumentRoot의 유저 가 xxx라면
cvs의 그룹에 xxx를 등록해 주면 된다.
[root@xxx CVSROOT]# vi /etc/group
xxx:x:502:cvs사용유저1 ,cvs사용유저1,cvs사용유저2
cvs:x:503:cvs사용유저1,cvs사용유저1,cvs사용유저2,xxx
/home/apache/doc/에서
cvs checkout bin을 먼저 실행해 bin을 체크 아웃 해두는 것도 잊지 말아야 한다.
checkout시 bin 에 lock관련 정보를 write할수 없다는 에러가 발생하면 chgrp -R bin해주면 되겠죠...
CVS에 커밋을 하는 작업이 발생한다.
이제껏 자바 개발의 경우 소스를 CVS에 커밋 한다고 해도 매번 컴파일작업이 발생하기 때문에 개발 효율은 그리 높지 않았다.
PHP의 생산성은 자바와는 비교가 되지 않을 정도 이지만 위에서 언급한 CVS커밋 작업과 서버에전송작업이 업무 효율을 떨어뜨리는 원인이 되고 있었다.
PHP의 경우 commit한 것을 wep page를 통해 확인 하기 때문에 CVS 와 아파치 DocumentRoot를 연결해 두면 작업한 소스를 CVS 에 커밋 하는 것만으로 확인이 가능해 진다.
이하는 이를 위한 설정 이다.
CVSROOT위치 /home/cvs/
모듈명 bin
아파치 DocumentRoot /home/apache/doc
bin모듈에 소스를 커밋 하면 /home/apache/doc/bin 에 변경한 것이 반영되도록 한다.
[root@xxxx root]# cd /home/cvs
[root@xxxx cvs]# ls
bin CVSROOT cvstest test
만들어 주어야 하는 파일
auto_update.pl
binUpdate.sh
[root@xxxx CVSROOT]# view auto_update.pl
#!/usr/bin/perl
#cvs path
$cvs = '/usr/bin/cvs';
$usage = "usage: auto_update.pl WORKDIR [MODE]";
# process arguments
die $usage, "
" unless $workdir = $ARGV[0];
$chmod = $ARGV[1] ? "; chmod -R $ARGV[1]" : "";
# main update process which must be executed in background.
$cmd = "(cd $workdir; $cvs -q update $chmod) &";
system($cmd);
# last message.
$date = `date`; chomp($date);
$mesg = "$workdir automatically updated at $date";
print "$mesg
";
[root@xxxx CVSROOT]# view binUpdate.sh
#!/bin/sh
/home/cvs/CVSROOT/auto_update.pl /home/apache/doc
수정해 주어야 하는 파일
loginfo에 이하의 내용을 추가해 주면 된다.
bin /home/cvs/CVSROOT/binUpdate.sh bin
[root@xxxx CVSROOT]# view 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)
# t = tag or branch name
#
# For example:
#DEFAULT (echo ""; id; echo %s; date; cat) >> $CVSROOT/CVSROOT/commitlog
# or
#DEFAULT (echo ""; id; echo %{sVv}; date; cat) >> $CVSROOT/CVSROOT/commitlog
bin /home/cvs/CVSROOT/binUpdate.sh bin
---------주의 사항---------
퍼미션 관련 에러에 조심하기만 하면 아무 문제 없이
커밋한 소스를 아파치DocumentRoot 에 밀어주게 된다.
아파치 DocumentRoot의 유저 가 xxx라면
cvs의 그룹에 xxx를 등록해 주면 된다.
[root@xxx CVSROOT]# vi /etc/group
xxx:x:502:cvs사용유저1 ,cvs사용유저1,cvs사용유저2
cvs:x:503:cvs사용유저1,cvs사용유저1,cvs사용유저2,xxx
/home/apache/doc/에서
cvs checkout bin을 먼저 실행해 bin을 체크 아웃 해두는 것도 잊지 말아야 한다.
checkout시 bin 에 lock관련 정보를 write할수 없다는 에러가 발생하면 chgrp -R bin해주면 되겠죠...
피드 구독하기:
글 (Atom)