watchdog reset?

ultra60.

solaris7

x윈도우 뜨고 로그인 하려고하면

watchdog reset
Externally initated reset

요런 메시지가 나오면서 prom 프롬프트가 떠버림..

원인및 해결방법은?

spamassassin…

spamassassin 에서
spamd 실행시 에러 …

unix dgram connect: Socket operation on non-socket at /usr/local/bin/spamd line xxx

solution..
add next option.

–syslog-socket=inet ..

/etc/init.d/spamd 화일
===========================================================

#!/sbin/sh
#
# Copyright (c) 2001 by Sun Microsystems, Inc
# All rights reserved.
#
#ident “@(#)spamd 05/08/06 POSS”

case “$1” in
start)
/usr/local/bin/spamd -d -i 0.0.0.0 -x -u qmaild –syslog-socket=inet &

;;
stop)
/bin/pkill spamd

;;
*)
echo “Usage: $0 { start | stop }”
exit 1
;;
esac
exit 0

Install SpamAssassin on solaris9…

자, 이제 qmail 과 courier-imap을 성공적으로 설치해서 이전에 사용하던 squirrelmail 도 이상없이 작동된다.

남은것은 스팸메일처리. SpamAssassin을 설치하려고 한다.

1. spamassassin은 perl로 되어 있으므로 perl을 설치해야 한다.
2. spamassassin을 다운로드 받는다.
3.
Using CPAN via CPAN.pm:

perl -MCPAN -e shell [as root]
o conf prerequisites_policy ask
install Mail::SpamAssassin
quit

CPAN 모듈이 설치되어 있지 않다면 perl -MCPAN -e shell 명령을 내렸을대 여러가지 설치과정을 자동으로 수행한다. 이때 wget과 같은 프로그램들의 패스를 물어본다. /usr/sfw/bin이 path에 포함되어 있도록 한다.

마지막으로 install Mail::SpamAssassin 명령을 내리면 필요한 CPAN 모듈을 반자동으로 설치한다. 물론, SpamAssassin도 자동으로 설치된다.

4. 스팸데몬의 구동

/usr/local/bin/spamd -d -i 0.0.0.0 -x -u qmaild &

5. 테스트

#/usr/local/bin/spamassassin -t

poss | 목, 09/15/2005 – 03:02

제대로 작동을 안한다. 설정화일을 바꾸어 bayes 필터를 사용가능하도록 설정했다.
=================================
rewrite_header Subject [SPAM]
report_safe 1
#trusted_networks 212.17.35.
lock_method flock
required_hits 5

use_bayes 1
bayes_path /etc/mail/spamassassin/bayes
bayes_file_mode 0700
use_auto_whitelist 1
dns_available yes
===============================

설정후

# sa-learn –spam -C /etc/mail/spamassassin –showdots –mbox –dir /path/to/spam_mbox

명령으로 스팸을 학습시킴…
결과가 궁금해진다.

courier-imapd 컴파일 에러

Compiling tlspasswordcache.c tlspasswordcache.c:9:25: openssl/ssl.h: No such file or directory

해결방법???
(Sunfreeware.com의 패키지 기준)
openssl 패키지를 설치. /usr/local/ssl 에 관련 패키지가 설치됨.
ln -s /usr/local/ssl/include/openssl /usr/local/include/openssl

해결..

courier-authlib 컴파일 에러

courier-authlib 컴파일 에러

해결방법은?(i can’t found solution… )

ysqlclient.a(string.o)
.udiv 0x198 /usr/local/mysql/lib/mysql/libmysqlclient.a(string.o)
.udiv 0x228 /usr/local/mysql/lib/mysql/libmysqlclient.a(string.o)
.udiv 0x2d0 /usr/local/mysql/lib/mysql/libmysqlclient.a(string.o)
putchar 0x1c0c /usr/local/mysql/lib/mysql/libmysqlclient.a(charset.o)
putchar 0x1dd8 /usr/local/mysql/lib/mysql/libmysqlclient.a(charset.o)
putchar 0x1e0c /usr/local/mysql/lib/mysql/libmysqlclient.a(charset.o)
putchar 0x1e40 /usr/local/mysql/lib/mysql/libmysqlclient.a(charset.o)
fstat64 0x94 /usr/local/mysql/lib/mysql/libmysqlclient.a(my_lib.o)
fstat64 0x98 /usr/local/mysql/lib/mysql/libmysqlclient.a(my_lib.o)
opendir 0x1a0 /usr/local/mysql/lib/mysql/libmysqlclient.a(my_lib.o)
stat64 0xc8 /usr/local/mysql/lib/mysql/libmysqlclient.a(my_lib.o)
stat64 0x2b4 /usr/local/mysql/lib/mysql/libmysqlclient.a(my_lib.o)
closedir 0x330 /usr/local/mysql/lib/mysql/libmysqlclient.a(my_lib.o)
closedir 0x3c8 /usr/local/mysql/lib/mysql/libmysqlclient.a(my_lib.o)
qsort 0x3f8 /usr/local/mysql/lib/mysql/libmysqlclient.a(my_lib.o)
readdir64 0x230 /usr/local/mysql/lib/mysql/libmysqlclient.a(my_lib.o)
write 0x24 /usr/local/mysql/lib/mysql/libmysqlclient.a(viosocket.o)
write 0x28 /usr/local/mysql/lib/mysql/libmysqlclient.a(viosocket.o)
realloc 0x18 /usr/local/mysql/lib/mysql/libmysqlclient.a(my_realloc.o)
chdir 0x174 /usr/local/mysql/lib/mysql/libmysqlclient.a(my_getwd.o)
getcwd 0x34 /usr/local/mysql/lib/mysql/libmysqlclient.a(my_getwd.o)
fdopen 0x2e8 /usr/local/mysql/lib/mysql/libmysqlclient.a(my_fopen.o)
fdopen 0x338 /usr/local/mysql/lib/mysql/libmysqlclient.a(my_fopen.o)
fopen64 0x114 /usr/local/mysql/lib/mysql/libmysqlclient.a(my_fopen.o)
memchr 0xc /usr/local/mysql/lib/mysql/libmysqlclient.a(strnlen.o)
ld: fatal: relocations remain against allocatable but non-writable sections
collect2: ld returned 1 exit status
make[2]: *** [libauthmysql.la] Error 1
make[2]: Leaving directory `/var/tmp/courier-authlib-0.57′
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/var/tmp/courier-authlib-0.57′
make: *** [all] Error 2

Continue reading

솔라리스에서 시스템 시간 맞추기..

시간이 너무 차이가 많이날때, 간단하게 시간과 날짜를 업데이트 하는 방법이 있다.

rdate 명령으로 표준시간에 맞출수 있다.

사용방법은

# rdate time.nist.gov

뒷쪽은 타임서버.

smpatch

smpatch ?

솔라리스에서 패치를 다운로드, 추가, 삭제할 수 있는 유틸리티..
이것을 이용하기 위해서는 PatchPro를 설치해야만 한다.

PatchPro를 설치한후

/usr/sadm/bin/smpatch [analyze | download | add | remove]

만약 SMC서버가 실행되어 있지 않는다는 메시지가 나온다면,

# /etc/init.d/init.wbem start

이렇게하면 솔라리스 패치관리는 거의 자동수준이 된다.

준비가 다 되었다면, 다음 명령으로 패치를 다운로드 받는다.

#/usr/sadm/bin/smpatch download -d /var/sadm/spool
(-d 옵션을 주지 않았다면 /var/sadm/spool 이 default 디렉토리가 된다. )

패치리스트 화일을 만든다(리스트화일을 받을 수 있는 방법이 있는지는 모르겠다. 아시는 분 있으면 댓글..)
#cd /var/sadm/spool
#ls -1 > patch_list

#/usr/sadm/bin/smpatch add -x idlist=patch_list

결과는? 실패다.. 패치들이 의존성검사(?)를 하는 모양이다.

Solaris9에 Qmail 컴파일 및 설치하기…

1. Qmail 설치전에 할 일…
컴파일 환경을 갖춘다. cc 또는 gcc를 설치하며, 관련 라이브러리들을 설치하면 된다. 다음으로 필요한 화일들을 다운로드 받는다.

2.Qmail을 컴파일 하기 전에 Ucspi-TCP를 설치해야한다. Qmail이 이것을 이용한다(tcpserver를 이용함).
Ucspi-TCP(UNIX Client-Server Program Interface)는 tcpserver, tcpclient 처럼 작은 프로그램들로 구성된 커맨드라인 인터페이스 클라이언트서버 통신 툴이다. 이것은 xinetd나 inetd를 대체할 수 있는 프로그램 정도로 생각하면 된다.

먼저, source화일을 다운로드 받는다.
http://cr.yp.to/ucspi-tcp.html 다운로드가 가능하다.

source를 풀고, conf-home 화일에서 설치 디렉토리를 변경할 수 있다.(그냥 컴파일 설치하면 /usr/local/bin에 화일들이 설치됨) conf-cc에서 컴파일러 옵션을 변경할 수 있다.

다음에 , (설치디렉토리를 변경하지 않았다면)
make
make setup check
chmod 0510 /usr/local/bin/tcpserver
chmod 0510 /usr/local/bin/tcpclient

별 에러가 없다면 설치가 성공적으로 이루어진 것이다.

2. Qmail 설치.
http://qmail.org/netqmail-1.05.tar.gz (source 화일을 다운로드 받는다.)
패치를 해야하는데, solaris용 gnu patch를 구할 수 없어서 컴파일 해서 설치했지만, 제대로 인식을 하지 못했다. 그래서, 리눅스머신에서 collate.sh를 실행해서 패치한후 패치한 소스를 가져왔다.

컴파일전에 Qmail을 실행하기위한 사용자와 그룹을 만들어준다. qmail은 root권한으로 실행되지 않는다.

# groupadd -g 81 nofiles > /dev/null 2>&1 || :
# groupadd -g 82 qmail > /dev/null 2>&1 || :

# useradd -c “Qmail server” -d /var/qmail -g 81 -s /bin/false -u 81 qmaild > /dev/null 2>&1 || :
# useradd -c “Qmail server” -d /var/qmail/alias -g 81 -s /bin/false -u 82 alias > /dev/null 2>&1 || :
# useradd -c “Qmail server” -d /var/qmail -g 82 -s /bin/false -u 83 qmailq > /dev/null 2>&1 || :
# useradd -c “Qmail server” -d /var/qmail -g 82 -s /bin/false -u 84 qmailr > /dev/null 2>&1 || :
# useradd -c “Qmail server” -d /var/qmail -g 82 -s /bin/false -u 85 qmails > /dev/null 2>&1 || :
# useradd -c “Qmail server” -d /var/qmail -g 81 -s /bin/false -u 86 qmaill > /dev/null 2>&1 || :
# useradd -c “Qmail server” -d /var/qmail -g 81 -s /bin/false -u 87 qmailp > /dev/null 2>&1 || :

홈디렉토리를 만들어준다.
# mkdir /var/qmail
# chown 0:qmail /var/qmail
# mkdir -p /etc/qmail/alias
# mkdir -p /etc/qmail/control
# mkdir -p /etc/qmail/users
# ln -sf /etc/qmail/alias /var/qmail
# ln -sf /etc/qmail/control /var/qmail
# ln -sf /etc/qmail/users /var/qmail
# ln -sf /usr/bin /var/qmail/bin
# ln -sf /usr/share/man /var/qmail/man

소스화일이 있는 디렉토리로 이동후
cc-conf를 열어 자신의 컴파일 환경에 맞게 변경한다.
cc -O2를
-O3 -m64 -fno-omit-frame-pointer
로 변경했다.

SMTP_AUTH를 사용하기위해서 qmail-smtp-auth를 설치한다.
http://members.elysium.pl/brush/qmail-smtpd-auth/ 에서 다운로드한다.

qmail-smtpd-auth-0.31.tar.gz 를 풀고
# cp auth.patch /usr/local/source/netqmail-1.05/netqmail-1.05/
# cp base64.c /usr/local/source/netqmail-1.05/netqmail-1.05/
# cp base64.h /usr/local/source/netqmail-1.05/netqmail-1.05
(/usr/local/source/netqmail-1.05/netqmail-1.05에 qmail 소스화일이 있다).

load 에서 cc 를 찾을수 없다는 에러
화일열어서 cc를 gcc로 변경

에러..
make: warning: Clock skew detected. Your build may be incomplete.
이것은 load파일을 수정했을 경우 나타나는 에러다.
find ./ -name “[Mm]akeFile” -exec touch \{\} \;
안됨..
해결방안.
gcc를 cc에 심볼릭 링크..

#make
#make setup check

sendmail 라이브러리를 사용하는 프로그램들을 위해서 심볼릭 링크를 걸어준다.
#ln -s /var/qmail/bin/sendmail /usr/lib/sendmail
# ln -s /var/qmail/bin/sendmail /usr/sbin/sendmail
# ln -sf /var/qmail/bin/qmail-qread /usr/bin/mailq
# rm -rf /var/qmail/boot/
# rm -rf /var/qmail/doc/
# maildirmake /etc/skel/Maildir

./config

Your hostname is smtp.
hard error
Sorry, I couldn’t find your host’s canonical name in DNS.
You will have to set up control/me yourself.
You’ll have to run the config-fast script located in the same source directory as follows:
./config-fast smtp.domain.com
Here I assume that your domain is domain.com and the hostname of your computer is smtp.

postmaster, mailer-daemon, root를 위한 alias를 설정함.(bash 셸로)
# echo sysadmin > .qmail-postmaster
# echo sysadmin > .qmail-mailer-daemon
# echo sysadmin > .qmail-root
# chmod 644 .qmail-*
# chown root:nofiles .qmail-*

사용자들은 홈디렉토리에 Maildir 을 만들어주기 위해서
# maildirmake $HOME/Maildir

이렇게 하면 홈디렉토리에 Maildir이 생성된다.

여기까지 성공했다면 qmail의 컴파일 설치는 끝이다.

3. qmail 설정하기.
qmail의 모든 설정 화일은 /etc/qmail/control 에 위치한다.

/etc/qmail/control/me –> 도메인이 저장되어 있으며 설치시 정확한 정보를 입력했다면 변경할 필요가 없다.

/etc/qmail/control/locals –>로컬호스트가 메일을 처리할 도메인들의 리스트.
(sendmail의 local-host-names와 비슷한 듯 하다.)

/etc/qmail/control/rcpthosts –> qmail 서버 사용이 허락된 도메인들의 리스트. 여기에 리스트가 없으면 메일을 받지 않는다(?)
이 화일은 가상메일호스팅(virtual mail hosting)과 관련되어 있다.

/etc/qmail/control/defaultdomain –>qmail이 사용하는 도메인 네임이 들어가는 화일이다. (호스트네임은 필요없다)

/etc/qmail/control/plusdomain –>역시 도메인 네임이 들어가는데, 아직 용도는 잘 모르겠다.(아시는분 리플좀…)

4. checkpassword 설치
source 화일을다운로드 한다.
http://cr.yp.to/checkpwd/checkpassword-0.90.tar.gz

압축을 풀고,
#make
#make setup check

5. 테스트
qmail 데몬을 tcpserver를 이용하여 구동한다.

#tcpserver -p -c 1024 -DRHl localhost 0.0.0.0 25 /usr/bin/tcp-env \
tcp-env /usr/bin/qmail-smtpd /bin/checkpassword /bin/true &

# /usr/local/bin/tcpserver -c 1024 -DRHl localhost 0.0.0.0 110 /usr/bin/qmail-popup \
`hostname ` /bin/checkpassword /usr/bin/qmail-pop3d Maildir &

CPAN

# /usr/local/bin/perl -MCPAN -e shell

cpan shell — CPAN exploration and modules installation (v1.61)
ReadLine support available (try ‘install Bundle::CPAN’)

cpan> install Bundle:CPAN

perl CPAN모듈을 이렇게 설치하는건가?

컴파일 환경변수

CC: 사용할 컴파일러의 이름(e.g. ‘gcc’)
CXX: 사용할 C++ 컴파일러의 이름(e.g. ‘CC’)
CFLAGS: C코드를 컴파일하기위한 컴파일러 플래그(e.g. ‘-g -O2’)
CXXFLAGS: C++코드를 컴파일하기위한 컴파일러 플래그(e.g. ‘-g -O2’)CPPFLAGS: 헤더화일을 찾기위한 인클루드 패스(-I/somedir)
LDFLAGS: 라이브러리를 찾기위한 라이브러리 패스 (-L/somedir)
run-patch 라이브러리의 개념을 지원하는 시스템들은 런타임시 공유라이브러리를 찾기위해 추가적인 아규먼트들을 필요로 한다.
솔라리스 링커는 ‘-R/somedir’의 아규먼트가 필요하고, 어떤 리눅스 시스템들은 ‘-rpath /somedir’을 필요로 한다.
LIBS: 링크에 필요한 기타라이브러리(-lsomelib)