2007. 7. 3. 15:26

Openwebmail설치후WeRecommendThatYouUpdateYourPerlPackageIfYouHaveThe”perl-suid”PackageInstalled

Describe Openwebmail설치후WeRecommendThatYouUpdateYourPerlPackageIfYouHaveThe”perl-suid”PackageInstalled. here
apt-get install perl-suid 해준다.

2007. 7. 3. 15:24

Cvsup 소스 업데이트와 커널 빌드하기(STABLE).

cvsup 소스 업데이트와 커널 빌드하기..
cvsup 소스 업데이트 하기.
# cd /usr/ports/net/cvsup && make install
# cvsup -v
CVSup client, non-GUI version
Copyright 1996-2001 John D. Polstra
Software version: SNAP_16_1d
Protocol version: 16.1
Operating system: FreeBSD4
http://www.polstra.com/projects/freeware/CVSup/
Report problems to cvsup-bugs@polstra.com

이제 업그레이드를 해 보자. 4-STABLE로 업그레이드하려면 다음의 명령 하나로 할 수 있다.

# cvsup -g -L2 -h cvsup.kr.FreeBSD.org /usr/share/examples/cvsup/stable-supfile
(# cvsup -g -L2 -h cvsup2.kr.FreeBSD.org /usr/share/examples/cvsup/stable-supfile)

커널(Kernel) 컴파일(Compile)하기  
 글쓴이: 실이아빠 [홈페이지]  글쓴시간: 02/03/18 16:56  읽은수: 1361
‘팁’ 이라기에는 너무 초라하군요. 다들 아시겠지만 말입니다.
저는 사운드 카드를 추가 하면서 커널을 컴파일 해 보았습니다.
사운드 카드는 사운드 블러스트의 Vibra 128 (ES1370/ES1371)를 사용했습니다.
또한 FreeBSD Release 4.5를 사용했습니다.
1. 항상 GENERIC Kernel config 파일을 복사해서 사용합니다.
바꾼 내용을 잃어 버렸을 때에는 GNEERIC Kernel config 파일로 복원을 해야 하거든요.
# cd /usr/src/sys/i386/conf
# cp GENERIC MyKernel
2. 새로 추가된 하드웨어가 있으면 MyKernel을 수정합니다.
* 저는 사운드 카드를 인식하기 위해 아래 줄을 추가 했습니다.
device pcm #pcm0 (ES1370/ES1371)
3. 두가지 방법으로 컴파일을 할 수 있습니다.
※ 첫번째 방법
# cd /usr/src/sys/i386/conf
# usr/sbin/config MyKernel
# cd ../../compile/MyKernel
# make clean
# make depend
# make
# make install
※ 두번째 방법
# cd /usr/src
# make buildkernel KERNCONF=MyKernel
# make installkernel KERNCONF=MyKernel
4. 이렇게 하면 root 디렉토리에(/) 에 처음의 커널은 kernel.GENERIC로 백업이 되며,
방금 MyKernel Kernel Configure 파일로 컴파일 된 것이 kernel로 된다.
5. 시스템을 리부팅한다.
# sync
# shutdown -r now (or reboot)

2007. 7. 3. 15:22

Clockspeed를 이용한 시간 동기화.

Clockspeed를 이용한 시간 동기화.


D. J. Bernstein 이 만든 clockspeed는 NTP 프로토콜을 사용해 믿을만한 소스와의 시간 동기화에 쓰이는 sntpclock,
로컬 네트워크상의 컴퓨터들의 시간을 동기화 시키는데 쓰이는 데몬과 클라이언트 (taiclockd, taiclock)등을 포함하고 있다.


1. 컴파일/설치
2. 시간 조정
3. 정확한 시간으로 유지하기
4. 로컬 네트워크의 시간 동기화
5. daemontools로 clockspeed 구동하기


1. 컴파일 / 설치
?ClockSpeed 소스를 다운로드 한다.
http://cr.yp.to/clockspeed.html 사이트 참고


다운로드
http://cr.yp.to/clockspeed/clockspeed-0.62.tar.gz



# tar xzf clockspeed-0.62.tar.gz# cd clockspeed-0.62# make# make setup check


파일들은 /usr/local/clockspeed/ 에 설치되며 /etc/leapsecs.dat도 생긴다.
실행파일들은 /usr/local/clockspeed/bin 에 설치되므로 $PATH에 추가해준다.
(아래 와 같이 make시에 에러가 발생된다면 패치를 적용한후 컴파일 한다.

http://qmail.kldp.org/src/patches/glibc-2.3.1/clockspeed-0.62.errno.patch => glibc 2.3.1. 이상에서는 컴파일 에러가 됨.

make시 에러 문구 내용.


*** clockview.c:46: warning: return type of `main’ is not `int’


직접 에러패치 파일을 만들수도 있다.
# wget http://www.bsdian.com/~master/clockspeed-0.62.errno.patch혹은, 아래 처럼 만들자..# vi clockspeed-0.62.errno.patch
diff -u clockspeed-0.62.old/clockview.c clockspeed-0.62/clockview.c— clockspeed-0.62.old/clockview.c 1998-10-13 12:37:49.000000000 -0500+++ clockspeed-0.62/clockview.c 2003-05-08 09:59:26.000000000 -0500@@ -1,5 +1,6 @@ #include #include +#include #include “substdio.h” #include “readwrite.h” #include “strerr.h”diff -u clockspeed-0.62.old/error.h clockspeed-0.62/error.h— clockspeed-0.62.old/error.h 1998-10-13 12:37:49.000000000 -0500+++ clockspeed-0.62/error.h 2003-05-08 09:07:13.000000000 -0500@@ -1,7 +1,7 @@ #ifndef ERROR_H #define ERROR_H -extern int errno;+#include extern int error_intr; extern int error_nomem;diff -u clockspeed-0.62.old/leapsecs_read.c clockspeed-0.62/leapsecs_read.c— clockspeed-0.62.old/leapsecs_read.c 1998-10-13 12:37:49.000000000 -0500+++ clockspeed-0.62/leapsecs_read.c 2003-05-08 09:07:13.000000000 -0500@@ -2,7 +2,6 @@ #include #include #include -extern int errno; #include “tai.h” #include “leapsecs.h”
패치 적용하는 방법 아래 참고.
If you have glibc-2.3.1 then none of the software written by djb willcompile because of an incompatible declaration of errno.Here you can find patches correcting this problem, and source rpmswhich use these patches.To use the patches==================From the top distribution directory, apply the appropriate errno patchwith -p1. So, for example, for djbdns, you would dotar zxvf djbdns-1.05.tar.gzcd djbdns-1.05patch -p1 < /path/to/djbdns-1.05.errno.patch참고 : http://qmail.org/moni.csi.hu/pub/glibc-2.3.1/패치를 하였으니 컴파엘에 들어간다…


#make#make setup check컴파일 성공적으로 되었다면, 시간 조정에 들어간다.
2. 시간조정


일단 정확한 시간 소스를 제공할 믿을 만한 ?NTp 서버를 사용해야 하는데, ntp.nasa.gov 를 사용하자….
ntp.nasa.gov의 ip 주소는 198.123.30.132 이다.
NTP 서버의 ip를 이용하여, 자신의 시스템과 NTP 서버간의 시간 차이를 알아보자.
www:~# sntpclock 198.123.30.132 | clockviewbefore: 2004-10-04 08:34:03.420452000000000000after: 2004-10-04 11:21:28.786438787944868206위에서 본것 같이 꽤 차이가 나고 있다… 다음을 실행하여 시간을 맞춘다.


www:~# sntpclock 198.123.30.132 | clockadd다시 얼마나 차이가 나는지 재확인..


www:~# sntpclock 198.123.30.132 | clockviewbefore: 2004-10-04 11:22:02.452292000000000000after: 2004-10-04 11:22:02.452249708414793014거의 시간차이가 없음을 알수 있다.
3. 정확한 시간으로 유지하기
RTC 자체의 부정확함 때문에 한번 시간을 정확히 맞추었다 하더라도 얼마간의 시간이
지나면 다시 오차가 생기기에, 이것을 막기 위해 clockspeed를 다음과 같은 방법으로 실행해줌.


1. clockspeed를 실행하고 NTP 서버와의 오차를 기록한다…
$ clockspeed &$ sntpclock 198.123.30.132 > /usr/local/clockspeed/adjust &


2. 몇시간 뒤에 다시 오차를 clockspeed에게 알려준다.
 $ sntpclock 198.123.30.132 > /usr/local/clockspeed/adjust &


3. 몇일 후에 오차를 확인해보고 위 과정을 반복한다.
$ sntpclock 198.123.30.132 | clockview$ sntpclock 198.123.30.132 > /usr/local/clockspeed/adjust &


4. 3번과정을 몇주후, 몇개월 후에 한번 실행해주면 NTP 서버와 거의 오차가 없는 완벽한 동기화가 이뤄짐…
5. daemontools로 clockspeed 구동하기.
다음 내용은 홍덕기 님의 자료를 인용.

◦ daemontools에 clockspeed 서비스 디렉토리를 생성.

#mkdir /var/service/clockspeed

◦ 서비스의 실행 스크립트를 생성

#vi /var/service/clockspeed/run#!/bin/shexec 2>&1PATH=”/usr/local/clockspeed/bin:/sbin:/usr/sbin:/bin:/usr/bin:$PATH”exec clockspeed
◦ run 스크립트를 샐행 모드로 설정해준다.

$ chmod 755 /var/service/clockspeed/run

◦ daemontools 서비스로 실행

#ln -s /var/service/clockspeed /service 위와 같이 하면 항상 백그라운드로 clockspeed를 띄워 둘 수 있다.
아래와 같이 백그라운드에 항상 실행되어 있는 것을 알수 있다.
# ps ax 975 pts/0 Ss 0:00 -bash 976 pts/0 S 0:00 -su 996 pts/0 S 0:00 clockspeed 1080 ? S 0:00 supervise clockspeed 1081 ? S 0:00 clockspeed 1088 pts/0 R+ 0:00 ps ax


출처: http://people.kldp.org/~eunjea/clockspeed.php#install