OS/SOLARIS2007. 7. 25. 02:22
반응형


   Solaris Basic Set

 

 ** 네트워크 설정 **

 

/etc/hosts

 127.0.0.1       localhost

 192.168.211.20   solaris10 loghost

 

/etc/hostname.pcn0

 solaris10

 

/etc/netmasks

 192.168.211.0     255.255.255.0

 

/etc/defaultrouter

 192.168.211.2

 

    - 부팅시 GW자동인식이 안돼면
      /etc/init.d/inetsvc

      route add default route_IP 1  
  

/etc/resolv.conf
nameserver 219.250.36.130

 

/etc/nsswitch.conf
hosts:    files dns

 

** shell 바꾸기**         

작업의 편의를 위해 root 의 쉘과 홈디렉토리부터 변경해준다.
솔라리스에서는 기본적으로 root 의 홈디렉토리를 / 로 사용하지만 관리의 편의를 위해 /root 라는 디렉토리를 만들어서 root 의 홈디렉토리로 사용한다.

 # mkdir /root
 
root의 기본 쉘을 bash로 변경해주고, 홈디렉토리를 /root 로 변경해준다.

 기본 : root:x:0:1:Super-User:/:/sbin/sh

 변경 : root:x:0:1:Super-User:/root:/bin/bash

/etc/bashrc와 root의 홈디렉토리에 .bash_profile 을 만들어준다.
 리눅스의 파일을 참조하여 사용한다.

 +++ /etc/bashrc ++++++++++++++++++++++++++++++++++++++++

# /etc/bashrc

# System wide functions and aliases
# Environment stuff goes in /etc/profile

# by default, we want this to get set.
# Even for non-interactive, non-login shells.
if [ $UID -gt 99 ] && [ "`id -gn`" = "`id -un`" ]; then
    umask 002
else
    umask 022
fi

# are we an interactive shell?
if [ "$PS1" ]; then
    case $TERM in
    xterm*)
        if [ -e /etc/sysconfig/bash-prompt-xterm ]; then
            PROMPT_COMMAND=/etc/sysconfig/bash-prompt-xterm
        else
            PROMPT_COMMAND='echo -ne "\033]0;${USER}@${HOSTNAME%%.*}:${PWD/#$HOME/~}\007"'
        fi
        ;;
    screen)
        if [ -e /etc/sysconfig/bash-prompt-screen ]; then
            PROMPT_COMMAND=/etc/sysconfig/bash-prompt-screen
        else
        PROMPT_COMMAND='echo -ne "\033_${USER}@${HOSTNAME%%.*}:${PWD/#$HOME/~}\033\\"'
        fi
        ;;
    *)
        [ -e /etc/sysconfig/bash-prompt-default ] && PROMPT_COMMAND=/etc/sysconfig/bash-prompt-default
        ;;
    esac
    # Turn on checkwinsize
    shopt -s checkwinsize
    [ "$PS1" = "\\s-\\v\\\$ " ] && PS1="[\u@\h \W]\\$ "
fi

if ! shopt -q login_shell ; then # We're not a login shell
        for i in /etc/profile.d/*.sh; do
        if [ -r "$i" ]; then
            . $i
        fi
    done
    unset i
fi
# vim:ts=4:sw=4

 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++

 +++ /etc/bashrc ++++++++++++++++++++++++++++++++++++++++

# .bash_profile

# Get the aliases and functions
if [ -f /etc/bashrc ]; then
        . /etc/bashrc
fi

# User specific environment and startup programs

PATH=$PATH:$HOME/bin

export PATH
unset USERNAME

 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++

- 다른 사용자의 shell 을 변경하고자 할때도 위와 같은 방법을 참고하여 변경해 준다.


** 솔라리스에서 한글 사용하기**

set | grep LANG 으로 설정 확인
LANG=ko

변경은  /etc/profile 에


LANG=ko
export LANG

 를 추가해 준다.


** 솔라리스에서 /home 사용하기**

 솔라리스에서는 /home을 automounter가 mount해서 사용하기 때문에 root라 할지라도 디렉토리나 파일을 만들 수 없다. 하지만 리눅스에 익숙한 관리자라면 /home 에서 모든 사용자 홈디렉토리를 관리하기를 원할 것이다. /home 을 automount 하지 않으려면 /etc/auto_master파일에서 /home부분을 주석처리 하고 시스템을 재부팅하면 된다.

/etc/auto_master

......
+auto_master
/net            -hosts          -nosuid,nobrowse
#/home           auto_home       -nobrowse
/xfn            -xfn

reboot


** 시스템 시간 맞추기**

직접 맞추기
 
 rdate 명령어를 사용하여 필요할때마다 수정해도 좋지만, 이보다는 시스템 재부팅시에 자동으로 세팅되도록 부팅 스크립트에 포함시켜 준다. time 서버로는 time.bora.net 또는 time.kriss.re.kr 를 사용한다.
 일단 현재 시간을 맞추기 위하여 프롬프트 상에서 한번 실행해 준다. 이때 리눅스에서는 -s 옵션을 주어 시스템 시간을 동기화 시키지만 솔라리스에서는 -s 옵션을 주지 않는 것을 주의한다.

rdate time.bora.net

 다음 시스템 부팅시마다 자동으로 맞추기 위하여 부팅 스크립트에 포함시켜 준다.

 /etc/rc3
 …
rdate time.bora.net

자동으로 맞추기

XNTP 라는 프로그램을 사용하면 시스템에 항상 XNTP 프로그램이 데몬으로 상주하며 자동으로 시스템 시간을 정확히 맞혀 준다 설정방법은

pkginfo | grep ntp

NTP 패키지가 설치되어 있는지 확인하고, 설치되어 있으면

/etc/inet             / 디렉토리로 이동하여, ntp.client 파일을 ntp.conf라는 이름으로 복사한다.

ntp.conf 를 열어 맨 밑에

server time.bora.net
server time.nuri.net
server gps.bora.net
server ntp1.cs.pusan.ac.kr
server ntp.ewha.net
server ntp1.gngidc.net
server ntp2.gngidc.net
server time.kriss.re.kr

를 추가해 준다.

/etc/init.d/xntpd start

다음 시스템 재부팅부터는 자동 실행된다

ntpq -p

로 ntp 서버에 정상 접속하는지 확인한다.


** DNS 설정 **

솔라리스에서 DNS 설정법은 리눅스와 약간의 차이가 있다. 먼저 리눅스처럼 resolv.conf 파일에 사용할 DNS 를 추가한다. 추가 방법은 동일하지만, 리눅스처럼 resolv.conf 파일이 생성되어 있는 것이 아니고, 시스템 관리자가 직접 생성해 줘야 한다. 위치는 리눅스와 같은 /etc/resolv.conf 가 된다.

resolv.conf

nameserver 211.115.194.2
nameserver 211.115.194.3
nameserver 203.255.112.34
search localdomain

다음으로 nsswitch.conf 라는 파일을 열어서 hosts: …. 줄의 맨 끝에 DNS를 추가해 준다.

nsswitch.conf

 …
hosts:      files dns


** 패키지 다운로드 **

http://www.sunfreeware.com

 패키지 설치 확인은 아래의 명령어를 사용하여 확인한다.

pkginfo | grep {Package Name}

 패키지 설치법

 보통 솔라리스 패키지는 패키지명-패키지버전-OS버젼-cpu타입-local.gz 으로 제공된다.
 우선 gzip 을 사용하여 gz 압축을 해제후에 pkgadd 를 사용하여 설치한다.

ex) gzip -d autoconf-2.59-sol9-intel-local.gz
  pkgadd -d autoconf-2.59-sol9-intel-local


** 컴파일 환경 만들기 **

wget 패키지를 미리 설치하여 다운로드에 사용한다
 
  ftp://ftp.sunfreeware.com/pub/freeware/intel/10/wget-1.10.2-sol10-x86-local.gz 
 
autoconf 패키지 설치

 wget ftp://ftp.sunfreeware.com/pub/freeware/intel/10/autoconf-2.59-sol10-intel-local.gz

make 패키지 설치

 wget ftp://ftp.sunfreeware.com/pub/freeware/intel/10/make-3.80-sol10-intel-local.gz


automake 패키지 설치

 wget ftp://ftp.sunfreeware.com/pub/freeware/intel/10/automake-1.9-sol10-intel-local.gz

gcc 패키지 설치

 wget ftp://ftp.sunfreeware.com/pub/freeware/intel/10/gcc-3.3.2-sol10-intel-local.gz

 

패키지는 일반적으로 /usr/local ~ 에 설치 되므로 /etc/profile 에 PATH와 LD_LIBRARY_PATH를 수정 또는 추가해 준다.

 /etc/profile

...

PATH=/usr/local/bin:$PATH
LD_LIBRARY_PATH=/usr/lib:/usr/local/lib:/usr/openwin/lib:/usr/openwin/bin:/usr/dt/lib:/usr/ucblib:/opt/lib:/usr/sfw/lib/:.
export PATH LD_LIBRARY_PATH

주의사항:
LD_LIBRARY_PATH에서 디렉토리 경로의 순서를 바꾸시면 안됩니다! 역시 PATH에서 /usr/local/bin이 앞에 나와야 합니다.


libgcc 패키지 설치

 wget ftp://ftp.sunfreeware.com/pub/freeware/intel/10/libgcc-3.3-sol10-intel-local.gz

libiconv 패키지 설치

 wget ftp://ftp.sunfreeware.com/pub/freeware/intel/10/libiconv-1.9.2-sol10-x86-local.gz


** 개발 환경 만들기**

 -- ls 하이라이팅 세팅

 솔라리스에 기본적으로 제공되는 ls 는 하이라이팅 기능을 지원하지 않으므로 fileutils에 포함되어 있는 ls를 사용하기 위하여 fileutils를 설치한다.
 현재 intel 기반 솔라리스용 fileutils 패키지를 제공하지 않으므로 앞서 세팅한 컴파일 환경을 사용하여 설치한다.

wget http://ftp.gnu.org/pub/gnu/fileutils/fileutils-4.1.tar.gz
 
gzip -d fileutils-4.1.tar.gz
tar xvf fileutils-4.1.tar.gz

cd ./fileutils-4.1

./configure

make
 make 시에 컴파일 에러가 난다면
 ........
 error: parse error before "ctid_t" 
 ........
 
 - PATH 에 /usr/ccs/bin 가 추가되어 있는지 확인
 - cd /usr/local/lib/gcc-lib/sparc-sun-solaris2.10/3.3.2/install-tools
   ./mkheaders

 

make install

 

설치가 완료되었다면, /usr/local/bin 에 ls 가 설치되었는지 확인한다.

/usr/local/bin/ls --color=auto

하이라이팅이 정상적으로 나타난다면, 쉘 스크립트에 alias 를 주어 사용한다.

/etc/profile
...
alias ls = ‘/usr/local/bin/ls --color=auto’


 -- vi 환경 설정

솔라리스에 기본적으로 제공되는 vi 는 하이라이팅 기능을 지원하지 않으므로 vim 을 설치하여 하이라이팅과 탐색 옵션 기능, 탭 설정 기능 등을 사용한다.

vim 패키지를 다운로드하여 설치한다.
wget ftp://ftp.sunfreeware.com/pub/freeware/intel/10/vim-6.3-sol10-intel-local.gz

vim 패키지를 사용하기 위해 ncurses 패키지를 다운로드하여 설치한다.
wget ftp://ftp.sunfreeware.com/pub/freeware/intel/10/ncurses-5.4-sol10-intel-local.gz
 
정상적으로 설치되었는지 확인하여 본다.
vim

이때 라이브러리 에러가 난다면 /etc/profile의 LD_LIBRARY_PATH 에 /usr/sfw/lib/ 가 포함되어 있는지 확인하여 본다.

정상적으로 실행되지만 vim 역시 하이라이팅 기능이 기본 설정이 아니다. 터미널을 ansi 표준으로 세팅하고, vi 를 vim 으로 aliasing 하고, vim 설정 파일을 각자의 홈 디렉토리에 생성하여 하이라이팅 on 한다.

/etc/profile
...
alias vi='vim'
TERM=ansi
export TERM

을 포함하여 준다.

 

기타 추가 aliasing

/etc/profile

....

alias cp='cp -i'
alias l.='ls -d .[a-zA-Z]* --color=tty'
alias ll='ls -l --color=tty'
alias ls='ls --color=tty'
alias mv='mv -i'
alias rm='rm -i'
alias vi='vim'
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'

 

그리고 각자의 홈 디렉토리에 .

/root/.vimrc

set incsearch
set hlsearch
set laststatus=2
set ts=4
set sw=4
syn on

반응형

'OS > SOLARIS' 카테고리의 다른 글

dumpadm  (0) 2007.08.02
Solaris 보안  (0) 2007.08.01
Solaris,HP-UX 에서 패치  (0) 2007.07.20
SOLARIS PATCH ERROR CODE  (0) 2007.07.20
Trunking  (0) 2007.07.20
Posted by [PineTree]