ultra60.
solaris7
x윈도우 뜨고 로그인 하려고하면
watchdog reset
Externally initated reset
요런 메시지가 나오면서 prom 프롬프트가 떠버림..
원인및 해결방법은?
1월 07
ultra60.
solaris7
x윈도우 뜨고 로그인 하려고하면
watchdog reset
Externally initated reset
요런 메시지가 나오면서 prom 프롬프트가 떠버림..
원인및 해결방법은?
9월 12
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
9월 08
자, 이제 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 5use_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
명령으로 스팸을 학습시킴…
결과가 궁금해진다.
9월 07
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
해결..
9월 05
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
8월 31
시간이 너무 차이가 많이날때, 간단하게 시간과 날짜를 업데이트 하는 방법이 있다.
rdate 명령으로 표준시간에 맞출수 있다.
사용방법은
# rdate time.nist.gov
뒷쪽은 타임서버.
8월 10
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
결과는? 실패다.. 패치들이 의존성검사(?)를 하는 모양이다.
8월 08
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 &
8월 07
# /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모듈을 이렇게 설치하는건가?
8월 01
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)