윈디하나의 솔라나라: 솔라리스 기본설정
들어가기 전에
- 최종 갱신일: 2005-12-20
- 이 문서는 http://www.solanara.net/ 에서 최신버전을 구할 수 있다.
1. 읽기전에
- 소프트웨어 설치 문서에 생략되어있는 공통 설정 사항에 대해 설명한다. 설치 직후에 해야 할 일에 대해 설명하고 있는 셈이다.
- 다른 부분은 몰라도, LD_LIBRARY_PATH와 PATH 환경변수는 반드시 일치해야 한다.
- APM과 같은 프로그램은 모두 /usr/local 디렉토리 안에 설치할 것이기 때문에 용량을 충분히준다. 필자는 /usr/local을 4GB 주었다.
- 본 문서는 솔라리스 9 x86 9/04를 기준으로 작성했다. 솔라리스 10에 맞춰서 조금씩 수정하고 있는 중이다.
2. 솔라리스 설정
- 네트워크 설정 확인. 네트워크가 동작하는지 확인해야 한다. 아직 DNS가 설치된것은 아니므로, 도메인으로 외부 서버에 접속할 수 없다.
# cat /etc/hosts 1)
127.0.0.1 localhost
192.168.0.11 wl loghost
# cat /etc/hostname.pcn0 2)
wl
# cat /etc/netmasks 3)
192.168.0.0 255.255.255.0
# cat /etc/defaultrouter 4)
192.168.0.1
# ifconfig -a 5)
lo0: flags=1000849mtu 8232 index 1
inet 127.0.0.1 netmask ff000000
pcn0: flags=1000843mtu 1500 index 2
inet 192.168.0.11 netmask ffffff00 broadcast 192.168.0.255
1) /etc/hosts에 자신의 호스트 이름과 맞는 IP가 입력되어있는지 확인한다. 이 예제에서 호스트 이름은 wl 이며, 호스트의IP는 192.168.0.11 이다.
2) NIC와 호스트이름을 확인한다. pcn0는 솔라리스의 pcn 이라는 NIC의 첫번째 드라이버라는 뜻으로 벤더마다 다르다. (솔라리스 스팍용은 hme로 되어있을것이다) pcn0 인터페이스에 wl 호스트의 IP를 넣을 것이다.
3) netmask를 확인한다. 192.168.0.11의 경우 192.168.0.0/255.255.255.0에 포함된다. 따라서 넷마스크값으로 255.255.255.0 를 정해줄 것이다.
4) 기본 라우터를 확인한다. 윈도우XP로 따지자면 게이트웨이에 해당된다.
5) ifconfig -a 를 해보면 pcn0에 IP및 넷마스크가 입력된 것을 확인할 수 있다. 이 정보가 정확하면, 다음으로 단계로 넘어간다. 만약 정확하지 않다면 위 파일들을 고치거나, /usr/sbin/sys-unconfig 명령을 실행해 재시작후, 네트워크 설정을 다시 한다.
- 네트워크 테스트
예제의 네트워크 구성
┌─┐
│A├──┐
└─┘ ┌┴─┐ ┌───┐ ┏───┓
│허브├─┤라우터├─┤인터넷├─
┌─┐ └┬─┘ └───┘ ┗───┛
│B├──┘
└─┘
A: 세팅하고 있는 호스트. 192.168.0.11
B: 이미 세팅되었으며 정상 작동하고 있는 호스트. 192.168.0.3
라우터: 192.168.0.1
- 같은 스위치/허브에 물려있는 호스트로 PING 테스트
# ping 192.168.0.3
192.168.0.3 is alive
#
- 성공시 NIC와 네트워크 케이블, IP세팅, 스위치의 작동은 정상임
- 실패시 솔라리스 설정, 호스트에 연결되어있는 케이블 및 NIC 드라이버등을 점검
- 라우터로 PING 테스트
# ping 192.168.0.1
192.168.0.1 is alive
#
- 성공시 라우터까지 가는 장비 스위치/허브들도 정상임. 라우터도 응답 하고 있음.
- 실패시 라우터 관리자에게 문의 (라우터가 PING응답을 하지 않도록 설정한 경우도 있음)
- 외부 호스트로 PING 테스트
# ping 211.174.186.251
211.174.186.251 is alive
#
- 성공시 라우터의 설정이 정상적으로 되어있으며 네트워크는 정상적으로 작동함
- 실패시 라우터 관리자에게 문의 (외부에 있는 임의의 호스트가 PING응답을 하지 않도록 설정한 경우도 있음)
- 도메인으로 ping 테스트
# ping www.solarisschool.com
www.solarisschool.com is alive
#
- 성공시 도메인 서버 세팅 및 도메인 서버가 제대로 작동함
- 실패시 도메인 서버 세팅 확인 및 다른 도메인 서버 사용(이 문서에서 도메인 세팅방법은 하단에 나와있다)
- 같은 스위치/허브에 물려있는 호스트로 PING 테스트
- 선 권장 패치 실행
패치는 http://sunsolve.sun.com/pub-cgi/show.pl?target=patches/patch-access 에서 받을 수 있다. 이곳에서 원하는 버전과 아키텍처를 선택한후 다운로드 하면 된다. 솔라리스 9 x86의 경우 http://patches.sun.com/clusters/9_x86_Recommended.zip 또는 http://192.18.108.60/clusters/9_x86_Recommended.zip(192.18.108.60은 patchs.sun.com의 IP)에서 직접 받아도 된다. 이파일은 솔라리스 전체 패치가 아니라 선에서 권장하는 권장패치일 뿐이다. - root의 기본 셸과 홈 디렉토리를 변경한다. 아울러 패스워드 암호화 방식도 MD5로 변경한다.
# mkdir /root
# vi /etc/passwd
root:x:0:1:Super-User:/root:/bin/bash
# vi /etc/security/policy.conf
CRYPT_ALGORITHMS_ALLOW=1,2a,md5 1)
CRYPT_DEFAULT=md5 2)
# passwd root 3)
1) md5가 있는지 확인한다.
2) __unix__ 를 md5로 변경한다.
1: UNIX crypt 알고리즘 사용. 기본값. __unix__ 와 동일하다.
2a: Blowfish 알고리즘 사용
md5: MD5 알고리즘 사용
이후 패스워드 변경시 /etc/shadow파일을 보면 패스워드 필드가 $md5 로 시작하는 것을 볼 수 있다. 8자 이상의 패스워드도 지원해준다. 참고로 *LK*는 잠금상태, NP는 로그인 불가상태를 의미한다.
3) MD5 암호화를 위해 root 패스워드를 한번 더 변경한다.
- 환경 설정 파일을 변경한다. 필자는 /etc/profile을 변경한다. 가장 아래줄에 다음과 같이 추가해준다.
- 도메인 서버 세팅
nsswitch.conf파일의 hosts: 부분을 찾아 dns를 추가해준다
# vi /etc/nsswitch.conf
hosts: files dns
# vi /etc/resolv.conf
domain xxxx.com
nameserver 168.126.63.1 # 한국통신의 DNS 서버이다.
nameserver 168.126.63.2
- SAR(System Activity Reporter)를 설정해준다.
- 사용자를 추가해준다.
- 시간을 맞춘다. 시간은 한국 표준과학연구원의 원자시계 타임서버에서 가져온다. /usr/bin/rdate time.kriss.re.kr 이 맞으나 재시작전이라 도메인으로 찾지 못하기 때문에 IP로 접속한다. 만약 제공받는 ISP에 타임서버 또는 NTP서버가 있다면 이를 이용하는 것이 더 좋다. cron을 이용해 최소 하루에 한번정도는 실행해 시간을 맞추도록 하자.
- 가뿐하게 한번 재시작해준다.
# wget http://patches.sun.com/clusters/9_x86_Recommended.zip
# unzip 9_x86_Recommended.zip
# cd 9_x86_Recommended
# ./install_cluster
Are you ready to continue with install? [y/n]: y
Installing xxxxxx-yy...
Installation of xxxxxx-yy failed. Return code z. 1)
# sync
# sync
# sync
# reboot
1) z에 리턴된 코드중 2, 8, 35번은 무시해도 좋다. 코드에 대한 전체 설명은 message.html을 참고한다.
2 Attempt to apply a patch that's already been applied
8 Attempting to patch a package that is not installed
35 Later revision already installed
# vi /etc/profile
alias ll="ls -alF"
LANG=ko; export LANG
tty -s && stty -istrip -parenb cs8
PS1="\u@\h \w \\$ "; export PS1
EDITOR=vi; export EDITOR
CC=gcc; export CC
CPP="gcc -E"; export CPP
PATH=/usr/local/bin:/usr/sfw/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/ccs/bin; export PATH
LD_LIBRARY_PATH=/usr/local/xml/lib:/usr/lib:/usr/local/lib:/usr/ucblib:/usr/ccs/lib:/usr/sfw/lib; export LD_LIBRARY_PATH
#
- 이 문서에서 가장 중요한 부분이 PATH 환경변수 세팅과 LD_LIBRARY_PATH 환경변수 세팅이다. 꼭 맞춰주자.
# vi /etc/init.d/perf
에서 화면 내용의 지시에 따라 언 코멘트
# vi /var/spool/cron/crontabs/sys
에서 지시에 따라 언 코멘트
# /etc/init.d/perf
# /etc/rc2.d/S75cron stop
# /etc/rc2.d/S75cron start
# useradd -d /export/home/windy -g staff -m -u 101 -s /bin/bash windy
# passwd windy
# /usr/bin/rdate 203.254.163.74
# sync
# sync
# reboot
3. 기본 프로그램 설치
대부분 http://www.sunfreeware.com에서 받아 설치하는 것으로 했다. 링크는 현재 개인페이지로 했다. 각 파일에 대한 MD5는 다음과 같다. 이외에 필요한것이 있다면 그때 따로 소개하도록 하겠다.
MD5값 파일이름 패키지
e9993676d2c63417bea3adcaa0825e87 md5.tar.gz -
961e20471ac3514a171132ef1abbe8b0 gcc_small-3.4.2-sol9-intel-local.gz SMCgcc342s
0b62e11bae91e423c42737c7a08e0ecb libiconv-1.8-sol9-intel-local.gz SMCliconv
a4be1a0e4fa84da121c32d5d458489c8 top-3.5.1-sol9-intel-local.gz SMCtop
- MD5
md5.tar.gz
이 파일은 www.sun.com에서 받았다.
root@wl ~ # gtar xvfz md5.tar.gz
root@wl ~ # cd md5
root@wl ~ # mv * /usr/local/bin
root@wl ~ # cd /usr/local/bin
root@wl /usr/local/bin # ln -s md5-x86 md5
gcc 또는 gcc 라이브러리
gcc_small-3.4.2-sol9-intel-local.gz libgcc-3.4.2-sol9-intel-local.gz(라이브러리만)
libiconv-1.8-sol9-intel-local.gz
root@wl ~ # gunzip gcc_small-3.4.2-sol9-intel-local.gz
root@wl ~ # pkgadd -d gcc_small-3.4.2-sol9-intel-local
root@wl ~ # gunzip libiconv-1.8-sol9-intel-local.gz
root@wl ~ # pkgadd -d libiconv-1.8-sol9-intel-local
root@wl ~ # cd /usr/local/lib
root@wl /usr/local/lib # ln -s gcc gcc-lib
root@wl /usr/local/lib # /usr/local/libexec/gcc/i386-pc-solaris2.9/3.4.2/install-tools/mkheaders
※ 헤더파일 갱신. 위 내용은 gcc를 small 버전으로 설치했을때에만 해당된다. 풀버전인 경우 디렉토리 구조가 약간 다르다.
※ gcc를 라이브러리로 설치(libgcc-3.4.2-sol9-intel-local.gz)한 경우 패키지만 설치하면 된다. makeheaders를 해야할 필요 없다.
top
top-3.5.1-sol9-intel-local.gz
root@wl ~ # gunzip top-3.5.1-sol9-intel-local.gz
root@wl ~ # pkgadd -d top-3.5.1-sol9-intel-local
- top에 대한 설명은 top.html을 참고한다.
Copyright ? 2005 Jo HoSeok. All rights reserved.


