Solaris 9 에서 RRDTOOL설치하기

컴파일러는 sunfreeware.com에서 받아 설치한 것을 기준으로 했다.

쉘 환경변수는 다음과 같다.

CC=gcc
CFLAGS=-O3 -m64 -fno-omit-frame-pointer
CXX=gcc
CXXFLAGS=-O3 -m64 -fno-omit-frame-pointer -felide-constructors -fno-exceptions -fno-rtti
LDFLAGS=-R/usr/local/lib
LD_LIBRARY_PATH=/usr/local/lib
PATH=/usr/sbin:/usr/bin:/usr/local/bin:/usr/ccs/bin:/usr/local/lib

./configure 다음과 같은 에러 발생

==========================================================
Could not find the Compiler: “cc”
which has been used to build perl. You may have to compile
your own copy of perl to make this work. Binary perls often
exhibit this problem
==========================================================
perl 이 solaris cc로 컴파일되어 gcc가 모듈을 생성하지 못한다는 것으로 생각됨. sunfreeware에서 perl을 받아서 설치하기로 한다.
이상없이 잘 됨..

make

make install

Sun framebuffer software Ref. guide

심심해서 헤메던중 발견하다!!!!!

알고 있던 것이지만, 정리가 잘 되어 있어서…


http://howtosolaris.com/graphic.html

alias database /etc/mail/aliases.db out of date

syslog 에 다음과 같은 메시지가 기록됨..

Dec 6 12:44:40 solaris sendmail[681]: [ID 702911 mail.info] alias database /etc/mail/aliases.db out of date

해결방안..
newalias 명령을 한번 내려주면 됨..

sendmail에 새 앨리어스를 주면 위 명령어로 갱신됨을 알려줘야함.

secondary 네임 서버를 구성하다

서버를 두개 가지니 secondary 네임서버의 구성이 가능해 졌다.

뭐 내용이야 별게 없지만, 그동안 실습은 못해봤던 것..

다음 화일을 수정해 주고, /var/named/에는 아무것도 만들지 않아야 한다.

/etc/named.conf
zone “boxcorea.com” in {
type slave;
file “boxcorea.com.zone”;
masters { 211.218.81.53; };
};

그러면 /var/named.conf에 다음과 같은 화일이 primary dns 서버로부터 전송되어 생성된다.
; from 211.218.81.53:53 (local 61.41.220.208) using AXFR at Mon Dec 1 17:54:06 2003
$ORIGIN com.
boxcorea 886400 IN SOA boxcorea.com. root.boxcorea.com. (
9 10800 3600 604800 86400 )
886400 IN NS ns.boxcorea.com.
886400 IN MX 10 mail.boxcorea.com.
886400 IN A 211.218.81.53
$ORIGIN boxcorea.com.
mail 886400 IN A 211.218.81.53
www 886400 IN A 61.41.220.208
store 886400 IN A 211.218.81.53
blog 886400 IN A 211.218.81.53
ns 886400 IN A 211.218.81.53
#

solaris9 에서 Apache2, PHP, Mysql4.x 컴파일 및 설치

1. 모든 소스화일 다운로드

컴파일러 및 관련 라이브러리화일들은 http://sunfreeware.com에서 다운로드 받아서 설치하였음.

Sun에서 배포하는 companion CD를 이용할때에는 LDFLAG 및 PATH등을 조정하여야 한다.

설치한 패키지화일

autoconf-2.57-sol9-sparc-local.gz

libgcc-3.3-sol9-sparc-local.gz

automake-1.7.2-sol9-sparc-local.gz

libpcap-0.7.2-sol9-sparc-local.gz

bison-1.75-sol9-sparc-local.gz

libpng-1.2.4-sol9-sparc-local.gz

coreutils-4.5.4-sol9-sparc-local.gz

libtool-1.5-sol9-sparc-local.gz

flex-2.5.4a-sol9-sparc-local.gz

libxml2-2.5.5-sol9-sparc-local.gz

freetype-2.1.2-sol9-sparc-local.gz

lsof-4.68-sol9-sparc-local.gz

gcc_small-3.3.2-sol9-sparc-local.gz

m4-1.4-sol9-sparc-local.gz

gd-2.0.12-sol9-sparc-local.gz

make-3.80-sol9-sparc-local.gz

gettext-0.11.5-sol9-sparc-local.gz

ncurses-5.3-sol9-sparc-local.gz

glib-1.2.10-sol9-sparc-local.gz

shutils-2.0.15-sol9-sparc-local.gz

gnupg-1.2.1-sol9-sparc-local.gz

tar-1.13.19-sol9-sparc-local.gz

gtk+-1.2.10-sol9-sparc-local.gz

xinetd-2.3.10-sol9-sparc-local.gz

iplog-2.2.3-sol9-sparc-local.gz

zip-2.3-sol9-sparc-local.gz

jpeg-6b-sol9-sparc-local.gz

zlib-1.1.4-sol9-sparc-local.gz

사용한 소스화일들.

httpd-2.0.48.tar.gz

mysql-4.0.16.tar.gz

php-4.3.4.tar.gz

2. mysql 컴파일

컴파일러는 gcc3.2를 이용했음(sunfreeware.com에서 다운로드 하였음).

환경변수의 설정

CC=gcc CFLAGS=”-O3 -m64 -fno-omit-frame-pointer”

CXX=gcc

CXXFLAGS=”-O3 -m64 -fno-omit-frame-pointer -felide-constructors -fno-exceptions -fno-rtti”

LDFLAGS=’-R/usr/local/lib’

설정한 PATH는

PATH=/usr/sbin:/usr/bin:/usr/local/bin:/usr/ccs/bin:/usr/local/lib
./configure –prefix=/usr/local/mysql

–with-extra-charsets=complex –enable-thread-safe-client

–enable-local-infile –enable-assembler –with-named-z-libs=no –with-named-curses-libs=-lcurses –disable-shared

===========================================================================

sql_lex.cc: In function `void lex_init()’:

sql_lex.cc:85: error: `symbols’ undeclared (first use this function)

sql_lex.cc:85: error: (Each undeclared identifier is reported only once for

each function it appears in.)

sql_lex.cc:87: error: `sql_functions’ undeclared (first use this function)

sql_lex.cc: In function `int find_keyword(LEX*, unsigned int, bool)’:

sql_lex.cc:171: error: `get_hash_symbol’ undeclared (first use this function)

make[4]: *** [sql_lex.o] Error 1

make[4]: Leaving directory `/var/tmp/mysql-4.0.16/sql’

make[3]: *** [all-recursive] Error 1

make[3]: Leaving directory `/var/tmp/mysql-4.0.16/sql’

make[2]: *** [all] Error 2

make[2]: Leaving directory `/var/tmp/mysql-4.0.16/sql’

make[1]: *** [all-recursive] Error 1

make[1]: Leaving directory `/var/tmp/mysql-4.0.16′

make: *** [all] Error 2

===================================================================================

에러발생.

LD_LIBRARY_PATH=/usr/local/lib 를 추가하고, 컴파일, 결과는 같은 에러..

웹사이트 참조한 결과,

환경 변수 추가후, make clean 또는 소스화일을 다시 풀고 make해야함..

그렇게 하여 이상 없이 make끝남..

make

cd

find /* > mysql1.txt

cd /

make install

cd

find /* > mysql2.txt

diff mysql1.txt mysql2.txt > Install-Mysql.txt

3. MySQL의 구동.

4. Apache, PHP의 컴파일

Apache precompile

apache2 소스 디렉토리에서,

./configure –prefix=/usr/local/apache2 –datadir=/exprot/home/apache –sysconfdir=/etc/apache\

아래 옵션은 openna사이트를 참고 해서 적당히 바꿨음.

–exec-prefix=/usr \

–bindir=/usr/bin \

–sbindir=/usr/sbin \

–mandir=/usr/share/man \

–sysconfdir=/etc/httpd/conf \

–includedir=/usr/include/httpd \

–libexecdir=/usr/lib/httpd/modules \

–datadir=/home/httpd \

–localstatedir=/var \

–with-mpm=prefork \

–enable-access=shared \

–enable-actions=shared \

–enable-alias=shared \

–enable-auth=shared \

–enable-auth-dbm=shared \

–enable-auth-digest=shared \

–enable-autoindex=shared \

–enable-cern-meta=shared \

–enable-cgi=shared \

–enable-cgid=shared \

–enable-dav=shared \

–enable-dav-fs=shared \

–enable-dir=shared \

–enable-env=shared \

–enable-expires=shared \

–enable-file-cache=shared \

–enable-headers=shared \

–enable-include=shared \

–enable-log-config=shared \

–enable-mime=shared \

–enable-mime-magic=shared \

–enable-negotiation=shared \

–enable-rewrite=shared \

–enable-setenvif=shared \

–enable-speling=shared \

–enable-ssl=shared \

–enable-unique-id=shared \

–enable-usertrack=shared \

–enable-vhost-alias=shared \

–enable-suexec=shared \

–with-suexec-caller=www \

–with-suexec-docroot=/home/httpd \

–with-suexec-logfile=/var/log/httpd/suexec.log \

–with-suexec-bin=/usr/sbin/suexec \

–with-suexec-uidmin=500 –with-suexec-gidmin=500 \

–disable-auth-anon \

–disable-charset-lite \

–disable-disk-cache \

–disable-mem-cache \

–disable-cache \

–disable-deflate \

–disable-ext-filter \

–disable-case-filter \

–disable-case-filter-in \

–disable-example \

–disable-proxy \

–disable-proxy-connect \

–disable-proxy-ftp \

–disable-proxy-http \

–disable-status \

–disable-asis \

–disable-info \

–disable-imap \

–disable-userdir \

–with-z \

–with-ssl \

–with-suexec

make

make install
환경화일 수정후 실행. 잘 된다…

PHP소스디렉토리에서,

옵션은 openna를 참조하여 적당히 바꿨음..

./configure –with-layout=Solaris –prefix=/usr/local/php \

–with-config-file-path=/etc/apache2 \

–enable-force-cgi-redirect \

–with-apxs2=/usr/local/apache2/bin/apxs \

–with-zlib \

–with-bz2 \

–with-gd \

–with-ttf \

–with-png \

–with-jpeg-dir=/usr/local \

–with-png-dir=/usr/local \

–with-freetype-dir=/usr/local \

–with-expat-dir=/usr/local \

–with-gmp \

–with-xml \

–with-imap=shared \

–with-mysql=shared,/usr/local/mysql \

–with-mysql-sock=/tmp/mysql.sock \

–with-pgsql=shared \

–with-ldap=shared \

–with-pspell \

–disable-debug \

–disable-rpath \

–disable-posix \

–enable-pic \

–enable-discard-path \

–enable-safe-mode \

–enable-magic-quotes \

–enable-bcmath \

–enable-dio \

–enable-gd-native-ttf \

–enable-sysvsem \

–enable-sysvshm \

–enable-track-vars \

–enable-wddx \

–enable-inline-optimization \

–enable-memory-limit

에러발생….
다른 방법을 찾아봄

참고 사이트는http://www.php.net/manual/en/install.apache2.php

apache2가 설치된것을 모두 제거하고 다시 컴파일.

이때, 옵션은 최소로 주었으며, –enable-so 옵션을 더 주었음.

./configure –enable-so –prefix=/usr/local/apache2 –datadir=/export/home/apache2 –sysconfdir=/etc/apache2 –enable-autoindex=shared –enable-vhost=shared –enable-userdir=shared
에러 없이 컴파일및 설치됨.

php컴파일

./configure –with-layout=Solaris –prefix=/usr/local/php \

–with-config-file-path=/etc/apache2 \

–with-apxs2=/usr/local/apache2/bin/apxs \

–with-gd \

–with-xml \

–with-mysql=shared,/usr/local/mysql \

–with-mysql-sock=/tmp/mysql.sock \

–enable-pic \

–enable-exif \

–enable-bcmath \

–enable-inline-optimization \

–enable-zlib

위의 옵션만 사용함.

에러는 없었으나, mysql지원이 안됨

다시 컴파일

위의 옵션중에서

–with-mysql=shared,/usr/local/mysql을 –with-mysql=/usr/local/mysql로 바꿈

잘 된다..

============================================================================

컴파일된 화일들

apache2

php

mysql

 

========================================

cd sql
gen_lex_hash > lex_hash.h
ld.so.1: : fatal: libstdc++.so.6: open failed: No such file or directory
Killed

crle -l /usr/lib -l /opt/local/lib

cd ..
make

APM설치시 자동으로 Thumbnail기능 포함시키기

php컴파일시
“enable-exif” 항목을 꼭 추가한다.
gd 라이브러리와 같이 움직이는 줄 알았는데
php.net에서는 아니라고 말한다.
그런데 gd2 라이브러리와 같이 사용해야 한다고 되어
있다.
근데 gd2가 뭐지?
아뭏든 RedHat 7.2에서는 아무리 해도 안되고
말로는 RedHat 7.3서 부터 가능하다고 한다.
테스트는 안해 보았슴…
사용하는 방법은
“exif_thumbnail(filename [,width[,&height[,imagetype]]])”
로 하면 자동으로
게시판 혹은 페이지에 그 그림을 아이콘으로 표시해 준다나 어쨌다나….

windows에서 제작한 php코드를 리눅스에서 실행시킬때 필요한 옵션

php.ini의
“register_globals=Off” 을
“register_globals=On”
으로 변경한다.

OBP upgrade와 OBP commands

E450 PROM update후 발생하는 문제해결에 참고한 문서.

문제는 mfg-options invalid라는 메시지가 배너 위에 출력됨

해결은
setenv mfg-options + server
로 해결하였음.

참고문서
http://sunsolve.sun.com/handbook_pub/General/OBP.html?wrapper=false

OBP update는먼저 OS를 설치한후,
해당 PATCH를 받는다.

EP450 에 해당하는 patch id는 106122-10였음.(sunsolve 검색어로 flash prom update를 사용)
해당 패치를 푼후
flash-update-450-latest를 /flash-update로 이름 바꾼후(퍼미션은 0755),
시스템을 정지.(init 0 또는 halt)시킨후,
OK프롬프트 상에서,
boot disk /flash-update

이후, 나오는 메시지를 적당히 선택하여주면 됨.

Continue reading

Solaris Clone

솔라리스 OS백업방법중의하나..

dd를 이용하여 OS를 백업하는 방법이 아래 사이트에 나와있네요.

http://tiger.la.asu.edu/Solaris_Clone.htm

그리고, 한글 문서도…

http://solaris.mesani.net/sun-backup/

Continue reading

The IDPROM contents are invalid !

ultra60에서 The IDPROM contents are invalid 에러가 발생했다.
set-default를 했었지만 효과 없었고,
local-mac-address? true true 도 효과 없었음.
diag-switch?true로 나온것을 fals로 바꿔도 보았지만 안바뀌었었고.

검색엔진 뒤져서 밑에같은 결과가 나와서
reset했더니 정상적으로 hostid가 나오네.
아직 정확한 원인은 모르겠음.

검색결과……..

Yihaaa!!!

God for shake, the chip replacement is not the only way to do.
However, to have a spare of nvram chip is highly recommended.

Many many thanks to
Christophe Dupre
Jeff Markham
Hichael Morton
Sysadmin@astro.su.se
and especially to Buddy Lumpkin who exactly pointed me out the other great
way.

—– Buddy Lumpkin:
write down the ethernet address and hostid (if they are valid, all f’s means
it’s erased).
Let’s assume the ethernet address is 8:0:20:af:b1:cc and the hostid is
80afb1cc

Then do this:

ok 0 0 mkp
ok 8 0 20 af b1 cc 80afb1cc mkpl
^d^r

(that’s control+d followed by control+r)

if you still have troubles, try 1 1 mkp instead. (0 0 mkp did work on my
case)

Your getting the message about IDPROM contents being invalid because your
checksum is hosed up.
The mkpl command above writes the ethernet address and hostid and recreates
the checksum.
You may need a new nvram soon.

Also there should be some variation of copy nvram to clock or something like
that.
Just do a sifting copy or sifting clock to find the command.
There should be a few variations, none of them will “hurt” your system.
The command simply updates other boards in the system with the same
information.

—–

🙂
slamet fadilah
icm n ms tac2, siemens mobile networks