솔라리스 10 u10 기본 설정 - WindyHana's Solanara

목차

개요

솔라리스 설정

  1. 네트워크 설정 확인

    네트워크가 동작하는지 확인해야 한다. 아직 DNS 설정을 한것이 아니므로, 도메인으로 외부 서버에 접속할 수 없다.
    # cat /etc/hosts 1)
    127.0.0.1       localhost
    192.168.0.3  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=1000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4> mtu 8232 index 1
            inet 127.0.0.1 netmask ff000000
    pcn0: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2
            inet 192.168.0.3 netmask ffffff00 broadcast 192.168.0.255
    
    1) /etc/hosts에 자신의 호스트 이름과 맞는 IP가 입력되어있는지 확인한다. 이 예제에서 호스트 이름은 wl 이다.
    2) NIC와 호스트이름을 확인한다. pcn0는 솔라리스의 pcn 이라는 NIC의 첫번째 드라이버라는 뜻으로 벤더마다 다르다. (솔라리스 스팍용은 ce로 되어있을것이다) pcn0 인터페이스에 wl 호스트의 IP를 넣을 것이다.
    3) netmask를 확인한다. 필자의 시스템에선 192.168.0.3의 경우 192.168.0.0/24으로 정했다. 따라서 넷마스크값으로 255.255.255.0 를 정해주었다.
    4) 기본 라우터를 확인한다. 윈도에서는 게이트웨이라고 부른다.
    5) ifconfig -a 를 해보면 pcn0에 IP및 넷마스크가 입력된 것을 확인할 수 있다. 이 정보가 정확하면, 다음으로 단계로 넘어간다. 만약 정확하지 않다면 위 파일들을 고치거나, /usr/sbin/sys-unconfig 명령을 실행해 재시작후, 네트워크 설정을 다시 한다.
  2. 네트워크 테스트

    예제의 네트워크 구성
    ┌─┐
    │A├──┐
    └─┘ ┌┴─┐ ┌───┐ ┏───┓
        │허브├─┤라우터├─┤인터넷├↔
    ┌─┐ └┬─┘ └───┘ ┗───┛
    │B├──┘
    └─┘
    
    A: 세팅하고 있는 호스트. 192.168.0.3
    B: 이미 세팅되었으며 정상 작동하고 있는 호스트. 192.168.0.2
    라우터: 192.168.0.1
    
    1. 같은 스위치/허브에 물려있는 호스트로 PING 테스트
      # ping -s 192.168.0.2
      PING 192.168.0.21: 56 data bytes
      64 bytes from 192.168.0.2: icmp_seq=0. time=0.943 ms
      64 bytes from 192.168.0.2: icmp_seq=1. time=0.265 ms
      ^C
      #
      
      - 성공시 NIC와 네트워크 케이블, IP세팅, 스위치의 작동은 정상임
      - 실패시 호스트 설정, 호스트에 연결되어있는 케이블 및 NIC 드라이버등을 점검
    2. 라우터로 PING 테스트
      # ping -s 192.168.0.1
      PING 192.168.0.1: 56 data bytes
      64 bytes from 192.168.0.1: icmp_seq=0. time=1.37 ms
      64 bytes from 192.168.0.1: icmp_seq=1. time=0.683 ms
      ^C
      #
      
      - 성공시 라우터(게이트웨이)까지 가는 장비 스위치/허브들도 정상임. 라우터도 응답 하고 있음.
      - 실패시 네트워크 관리자 및 라우터 관리자에게 문의 (라우터가 PING응답을 하지 않도록 설정한 경우도 있음)
    3. 외부 호스트로 PING 테스트
      # ping 211.204.126.106
      211.204.126.106 is alive
      #
      
      - 성공시 라우터의 설정이 정상적으로 되어있으며 네트워크는 정상적으로 작동함
      - 실패시 네트워크 관리자 및 라우터 관리자에게 문의 (외부에 있는 임의의 호스트가 PING응답을 하지 않도록 설정한 경우도 있음)
      211.204.126.106는 솔라나라의 IP다. (아직 ICMP Echo를 막지 않았다) 여기까지 잘 되면 네트워크 설정은 마무리 된 것이다. 아래의 도메인 테스트는 옵션이다.
    4. 도메인 서버 설정 및 테스트
      # cp /etc/nsswitch.dns /etc/nsswitch.conf
      # vi /etc/resolv.conf
      domain xxxx.com
      search xxxx.com
      nameserver 168.126.63.1
      nameserver 168.126.63.2
      # ping www.solanara.net
      www.solanara.net is alive
      #
      
      - 성공시 호스트의 도메인 서버 세팅 및 도메인 서버가 제대로 작동함
      - 실패시 호스트의 도메인 서버 세팅 확인 및 도메인 서버 관리자에게 문의 또는 다른 도메인 서버 사용
      168.126.63.1와 168.126.63.2는 한국통신의 DNS 서버이다. 자체 도메인서버이 있는 경우 그 서버를 지정해주면 된다. 도메인이 없는 경우 domain, search 부분은 생략한다.
    5. 접속 테스트
      - ICMP패킷이 올바르게 전송되는지만 확인해도 좋지만, 확실히 하기 위해 TCP 패킷까지 보내보는 것이 좋다. 외부의 호스트에 telnet/ssh 접속한 후 다시 자기 서버로 telnet/ssh 접속해보는 방법을 사용해 본다. 어떠한 명령을 줘야 할 지는 각자의 환경에 따라 다르기 때문에 구체적인 예는 생략하겠다. SSH에 대한 설명은 윈디하나의 솔라나라: SSH를 참고하자.
  3. 디스크 용량 확인

    # df -h
    파일시스템             크기   사용   가용   용량    설치지점
    rpool/ROOT/s10x_u10wos_17b
                           147G   4.0G   134G     3%    /
    /devices                 0K     0K     0K     0%    /devices
    ctfs                     0K     0K     0K     0%    /system/contract
    proc                     0K     0K     0K     0%    /proc
    mnttab                   0K     0K     0K     0%    /etc/mnttab
    swap                   6.4G   968K   6.4G     1%    /etc/svc/volatile
    objfs                    0K     0K     0K     0%    /system/object
    sharefs                  0K     0K     0K     0%    /etc/dfs/sharetab
    /usr/lib/libc/libc_hwcap1.so.1
                           138G   4.0G   134G     3%    /lib/libc.so.1
    fd                       0K     0K     0K     0%    /dev/fd
    rpool/ROOT/s10x_u10wos_17b/var
                           147G    81M   134G     1%    /var
    swap                   6.4G    80K   6.4G     1%    /tmp
    swap                   6.4G    28K   6.4G     1%    /var/run
    rpool/export           147G    23K   134G     1%    /export
    rpool/export/home      147G    21K   134G     1%    /export/home
    rpool                  147G    32K   134G     1%    /rpool
    # zpool status
        풀: rpool
      상태: ONLINE
    스크럽: 요청된 항목이 없습니다.
      구성:
    
            NAME          STATE     READ WRITE CKSUM
            rpool         ONLINE       0     0     0
              mirror-0    ONLINE       0     0     0
                c0t0d0s0  ONLINE       0     0     0
                c0t1d0s0  ONLINE       0     0     0
    
    오류: 알려진 데이터 오류가 없습니다.
    # zfs list
    NAME                            USED  AVAIL  REFER  MOUNTPOINT
    rpool                          12.3G   134G  32.5K  /rpool
    rpool/ROOT                     4.05G   134G    21K  legacy
    rpool/ROOT/s10x_u9wos_14a      4.05G   134G  3.97G  /
    rpool/ROOT/s10x_u9wos_14a/var  80.6M   134G  80.6M  /var
    rpool/dump                     4.00G   134G  4.00G  -
    rpool/export                     44K   134G    23K  /export
    rpool/export/home                21K   134G    21K  /export/home
    rpool/swap                     4.25G   139G    16K  -
    #
    
  4. 솔라리스 패치 - 권장패치를 이용하는 방법

    # unzip 10_x86_Recommended.zip
    # cd 10_x86_Recommended
    # ./install_cluster -nosave 1)
    Are you ready to continue with install? [y/n]: y
    Installing xxxxxx-yy...
      Installation of xxxxxx-yy failed. Return code z. 2)
    # sync
    # sync
    # sync
    # init 6
    
    1) 패치 클러스터는 패치 언인스톨을 위해 관련 파일을 압축해 저장해 놓는데 이 파일의 크키가 꽤 크다. 게다가 압축률 안좋은 .Z 확장자로 압축한다. /var/sadm/pkg/*/save/*/*.Z 파일이 그것이다. -nosave옵션을 주면 이를 생성하지 않을 수 있다. 단 패치의 언인스톨은 불가능해진다.
    2) z에 리턴된 코드중 2, 8, 35번은 무시해도 좋다. 코드에 대한 전체 설명은 윈디하나의 솔라나라: 솔라리스 패치 메시지 코드를 참고한다.
    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
  5. 솔라리스 패치 - smpatch 를 이용한 방법

    smpatch(1M)는 일종의 자동 업데이트 프로그램이다. 솔라리스 10과 함께 제공된다. 이를 사용하려면 썬에 등록해야 하는데, 등록비용은 무료이다. 등록된 장비 내역은 Sun Inventory에서 확인할 수 있다.
    # cp /usr/lib/breg/data/RegistrationProfile.properties /tmp 1)
    # vi /tmp/RegistrationProfile.properties 
    userName=사용자아이디
    password=사용자패스워드
    # /usr/sbin/sconadm register -a -r /tmp/RegistrationProfile.properties
    sconadm이 실행되는 중
    사용자를 인증하는 중 ...
    finish registration!
    # rm /tmp/RegistrationProfile.properties 
    # smpatch get 2)
    patchpro.backout.directory      -       ""
    patchpro.baseline.directory     -       /var/sadm/spool
    patchpro.download.directory     -       /var/sadm/spool
    patchpro.install.types          -       rebootafter:reconfigafter:standard
    patchpro.patch.source           -       https://getupdates1.sun.com/
    patchpro.patchset               -       current
    patchpro.proxy.host             -       ""
    patchpro.proxy.passwd           ****    ****
    patchpro.proxy.port             -       8080
    patchpro.proxy.user             -       ""
    # smpatch analyze 3)
    메시지 생략
    # smpatch download 4)
    (으)로 패치 다운로드 /var/sadm/spool...
    xxxxxx-yy has been validated.
    메시지 생략
    # smpatch update 5)
    에서 패치 설치 /var/sadm/spool...
    xxxxxx-yy 적용되었습니다.
    메시지 생략
    설치 정책이 허용하지 않는 업데이트의 ID가 파일에
    기록되었습니다.6)
            /var/sadm/spool/disallowed_patch_list
    
    설치한 하나 이상의 업데이트를 활성화하려면 시스템을 종료해야 합니다. 시스템 종료를 시작하려면 다음 명령 중 하나를 사용해야 합니다.
    o 펌웨어 프롬프트로 이동 - init 0 또는 shutdown -i 0
    o 시스템 전원 끄기 - init 5 또는 shutdown -i 5
    o 시스템 재시작 - init 6 또는 shutdown -i 6
    # sync
    # sync
    # init 6 7)
    
    1) 등록을 하지 않았다면 등록한다. 한번만 하면 된다. 아이디가 없다면 My Sun Connection에 접속해 등록하면 된다. 별도의 비용을 지불하지 않으면 한개의 계정에 최대 5개의 호스트를 등록할 수 있다. (더 등록하려면 계정을 더 생성하면 된다. 당연하지만 주민등록번호 안 받는다 ^^)
    2) 등록이 완료되면 패치프로의 설정 내용을 확인한다. [patchpro.patch.source]가 위와같이 나오는지 확인한다. 프록시를 사용하는 경우 [smpatch set patchpro.proxy.host=xxx.xxx.xxx.xxx]와 같이 지정해 주어야 한다.
    3) 패치를 분석해본다. 설치되어있지 않은 패치번호가 나올 것이다.
    4) 패치를 다운로드 한다. /var/sadm/spool 에 패치를 받는다. 생략 가능하다. 하단에 나오는 [smpatch update] 명령에 필요한 패치를 자동으로 다운로드해준다.
    5) 패치를 적용한다. /var/sadm/spool 에 받은 패치를 실행시킨다. 만약 설치해야할 패치가 다운로드 되지 않았으면 다운로드 한다.
    6) 허용하지 않는 패치에 대한 설명은 아래를 참고한다.
    7) 시스템을 재시작한다. 패치를 위해 재시작하는 경우라면 reboot(1M) 명령을 사용하지 않는것이 좋다.

    ※ [설치 정책이 허용하지 않는 업데이트]의 설치
    1. [smpatch add -x idlist=/var/sadm/spool/disallowed_patch_list]명령으로 설치한다. 이는 설치 정책을 무시한다.
    2. 위와 같이 할 것이 아니라면, 설치 정책을 바꾸는 방법도 있다. (권장하지는 않는다)
    [[smpatch set patchpro.install.types=interactive:rebootafter:rebootimmediate:reconfigafter:reconfigimmediate:singleuser:standard]]와 같은 명령을 주면 된다.
    - 단 주의해야할 사항이 있다. [설치정책이 허용하지 않는 업데이트]란 보통 [적용후 바로 재시작해야하는 업데이트] 또는 [싱글모드로 전환해 적용해야 하는 업데이트]이다. 보통 이런 업데이트는 커널 업데이트와 드라이버 업데이트가 포함된다. (즉 중요하기 때문에 안할 수 없는 업데이트라는 뜻이다) 바로 부팅하지 않아도, 싱글모드가 아니어도 위 명령을 주면 업데이트되지만, 썬에서 심심해서 패치를 분류해 놓는 것이 아닐 것이다. (매우 드물지만 패치하다가 시스템이 다운되는 경우도 있다. 커널 패치하다가 다운된 상황을 생각해보라. ^^; 다행이도 필자는 한번도 겪어본적이 없지만, 실행중이던 어플리케이션이 종료되면서 코어덤프되는 경우는 몇번 있었다)
    ※ 수동패치해야하는 패치(예를 들어 SMPATCH LIVE UPGRADE)는 [smpatch add -i 121431-31]처럼 수동으로 설치한다.
  6. root의 기본 셸과 홈 디렉토리를 변경

    root 사용자의 홈 디렉토리는 / 이다. 이를 변경해주는 것이 루트로 작업하기 쉬워진다. root 사용자의 기본셸은 /sbin/sh 로 되어있는데 불편하지 않다면 변경하지 않아도 좋다. 아울러 패스워드 암호화 방식도 MD5로 변경하는 것이 좋다.
    # mkdir -m 700 /root
    # vi /etc/passwd
    root:x:0:1:Super-User:/root:/bin/bash
    # vi /etc/security/policy.conf
    CRYPT_ALGORITHMS_ALLOW=1,2a,md5,5,6 1)
    CRYPT_DEFAULT=md5 2)
    # passwd root 3)
    새 암호:
    새 암호를 다시 입력하십시오:
    passwd: 암호(root용)가 성공적으로 변경되었습니다.
    # exit 4)
    
    1) 사용할 수 있는 알고리즘을 나타낸 것으로 이는 /etc/security/crypt.conf 에 연결되어있는 약어이다.
    __unix__: Unix Crypt 알고리즘
    1: BSD MD5 알고리즘
    2a: BSD Blowfish 알고리즘
    md5: Sun MD5 알고리즘
    5: SHA256 알고리즘 (Solaris 10 u6 이상부터 지원)
    6: SHA512 알고리즘 (Solaris 10 u6 이상부터 지원)
    Sun MD5 Crypt는 우리가 흔히 사용하는 MD5와는 다르다. $md5,rounds=rounds$salt$$checksum 또는 $md5$salt$$checksum(rounds 가 0인 경우)형태의 출력이 나온다.
    2) __unix__를 md5로 변경한다. 8자를 초과하는 패스워드도 지원해준다. 이후 패스워드 변경시 /etc/shadow 파일의 패스워드 필드가 $md5로 시작하는 것을 볼 수 있다. 참고로 패스워드 필드에서 *LK*는 잠금상태, NP는 로그인 불가상태를 의미한다.
    3) __unix__로 암호화 되어있는 패스워드를 MD5로 암호화 하기 위해 root 패스워드를 한번 더 변경한다.
    4) 로그오프한 후 다시 로그인 해본다. 홈 디렉토리가 존재하지 않거나 기본 셸 설정을 잘못했으면 로그인이 안되는데 이를 확인하기 위함이다. (한마디로 위 작업중 오타가 발생하면 루트로 로그인이 안된다) 로그인이 안된다면 윈디하나의 솔라나라: 싱글 모드를 참고해 수정한다.
  7. 기본 설정(LD_LIBRARY_PATH, PATH 설정)

    솔라나라에서는 본셸계열의 셸을 사용하기 때문에, /etc/profile를 변경해야 한다. 가장 아래줄에 다음과 같이 추가해준다. 로그인 스크립트에 관련된 사항은 윈디하나의 솔라나라: Bash를 참고하자.
    # vi /etc/default/init
    ...
    LANG=ko_KR.UTF-8
    # vi /etc/profile
    ...
    tty -s && stty cs8 -istrip defeucw
    if [ "$TERM" = "dumb" ] || [ "$TERM" = "dumb-" ]; then
    	LANG=C; export LANG;
    fi
    
    case "$0" in
    bash | -bash)
    	PS1="\u@\h \w \\$ "
    	if [ "$0" == "-bash" ]; then
    		if [ -f ~/.bashrc ]; then
    			. ~/.bashrc
    		else
    			export HISTCONTROL=erasedups
    			alias ll="/usr/bin/ls -alhF"
    			alias pp="/usr/bin/ps -eo 'user,pid,ppid,nlwp,time,comm,s,project,zone,class,pri,rss,pmem'"
    		fi
    	fi
    	;;
    sh | -sh)
    	PS1="`/usr/ucb/whoami`@`hostname` "
    	case `/usr/xpg4/bin/id -u` in
    		0) PS1="${PS1}# ";;
    		*) PS1="${PS1}$ ";;
    	esac
    	;;
    esac
    export PS1
    EDITOR=vi; export EDITOR
    CC=cc; export CC
    CXX=CC; export CXX
    PATH=/usr/local/bin:/usr/bin:/usr/sbin:/usr/ccs/bin:/usr/openwin/bin:/usr/platform/`/usr/bin/uname -i`/sbin; export PATH
    LD_LIBRARY_PATH=/usr/local/xml/lib:/usr/local/ssl/lib:/usr/local/db/lib:/usr/platform/`/usr/bin/uname -i`/lib:/usr/local/lib:/usr/lib:/usr/ucblib:/usr/ccs/lib;export LD_LIBRARY_PATH
    MANPATH=/usr/man:/usr/local/share/man:/usr/sfw/man:/usr/openwin/man:/usr/X11/man:/opt/developerstudio12.5/share/man; export MANPATH
    PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:/usr/lib/pkgconfig; export PKG_CONFIG_PATH
    # vi .bashrc
    export HISTCONTROL=erasedups
    alias ll="/usr/bin/ls -alhF"
    alias pp="/usr/bin/ps -eo 'user,pid,ppid,nlwp,time,comm,s,project,zone,class,pri,rss,pmem'"
    export PROMPT_COMMAND='RET_VALUE=$?; if [ "$RET_VALUE" != "0" ]; then RET_VALUE="${RET_VALUE} "; else RET_VALUE=""; fi'
    export PS1="${RET_VALUE}${PS1}"
    # cp .bashrc /etc/skel/
    
  8. SAR, NTPD 활성화

  9. 사용자 추가

    # useradd -d /export/home/windy -c "윈디하나" -g staff -m -u 101 -s /bin/bash windy 1)
    xx 블록
    # passwd windy
    새 암호:
    새 암호를 다시 입력하십시오:
    passwd: 암호(windy용)가 성공적으로 변경되었습니다.
    # 
    
    1) 관리자가 주로 사용할 계정을 생성한다. (당연한 말이지만 꼭 windy가 아니어도 된다. 솔라나라와 똑같이 하라는 말 때문인지, 사용할 계정 이름까지 까지 똑같이 하는 경우를 봤다. 많이 봤다. ㅎㅁ) 8자를 초과하는 아이디를 가진 계정을 생성하면 [UX: useradd: xxxxxxxxxx name too long.]과 같은 메시지가 발생하지만 생성 되어있다. (그리고 정상적으로 사용 가능하다)
  10. 솔라나라에 필요한 작업

    솔라나라의 문서는 주로 wget(1)을 이용해 받고, (GNU)tar를 이용해 압축을 풀기 때문에 wget이나 GNU tar 를 설치해야 하지만 솔라리스 번들을 사용해도 된다. 솔라나라에서는 /usr/sfw 의 소프트웨어들을 사용하지 않는다.
    # mkdir -p /usr/local/bin
    # cd /usr/local/bin
    # ln -s /usr/sfw/bin/wget wget
    # ln -s /usr/sfw/bin/gtar tar
    
    아래와 같이 하면 wget 에 솔라나라의 루트 인증서를 등록할 수 있다. (설치하지 않아도 아무런 문제 없다)
    # cd /etc/sfw/openssl/certs
    # wget http://www.solanara.net/ca.crt
    # HASH=`/usr/sfw/bin/openssl x509 -hash -noout -in ca.crt`.0
    # mv ca.crt $HASH
    
  11. SendMail

    [My unqualified host name (wl) unknown; sleeping for retry], [unable to qualify my own domain name (wl) -- using short name]와 같은 메시지가 나오는 경우, /etc/mail/sendmail 에 도메인을 지정(Dj 매크로 사용)하면 된다. 자세한 사항은 윈디하나의 솔라나라: Sendmail + SSL + SASL, QPopper을 참조한다. 만약 도메인이 없다면 아래와 같이 [호스트명.local.]을 /etc/hosts 에 등록시켜 메시지가 나지 않게 할 수 있다.
    # vi /etc/hosts
    xxx.xxx.xxx.xxx		wl.local.	wl	loghost
    
  12. 재시작

    반드시 재시작해야 할 필요는 없지만, 설정 확인을 위해 한번 재시작해본다.
    # sync
    # sync
    # shutdown -y -i 6 -g 0
    

관리 콘솔

컴파일러/기본 라이브러리 설치

※ 아래에 소개된 프로그램을 설치한다. 솔라나라의 문서를 적용하려면 반드시 설치해야 한다.
  1. 컴파일러의 선택, cc vs gcc

  2. Solaris Studio 12.5

    1. OracleDeveloperStudio12.5-solaris-x86-pkg.tar.bz2 파일은 Oracle Solaris Studio에서 회원 가입한 후 받을 수 있다. 회원 가입은 무료다.
    2. 설치
      root@wl ~/src # tar xvfj OracleDeveloperStudio12.5-solaris-x86-pkg.tar.bz2
      root@wl ~/src # cd OracleDeveloperStudio12.5-solaris-x86-pkg
      root@wl ~/src/OracleDeveloperStudio12.5-solaris-x86-pkg # ./install_patches.sh 1)
      root@wl ~/src/OracleDeveloperStudio12.5-solaris-x86-pkg # ./developerstudio.sh --non-interactive 2)
      root@wl ~/src/OracleDeveloperStudio12.5-solaris-x86-pkg # cc -V 3)
      cc: Studio 12.5 Sun C 5.14 SunOS_i386 2016/05/31
      
      1) 패치를 설치한다. (반드시 설치해야 한다) 만약 오류가 나면 디렉토리를 이동해본다. 패치 파일은 (nobody 사용자로 실행되는) 패치 데몬이 읽을 수 있는 위치에 있어야 한다.
      2) 실행후 기다리면 /opt/developerstudio12.5 에 전체설치된다. 약 1GB정도의 용량을 차지한다.
      3) 아래와 같이 출력되어야 한다.
    3. 테스트
      helloworld.c
      다운로드 (203 바이트)
      /*
      	Print [Hello, World!]
      	WindyHana's Solanara http://www.solanara.net/
      	cc -o helloworld helloworld.c
      */
      #include <stdio.h>
      
      int main(int argc, char *argv[]) {
      	printf("Hello, World!\n");
      	return 0;
      }
      
      root@wl ~ # cc -o helloworld helloworld.c
      root@wl ~ # ./helloworld
      Hello World!
      root@wl ~ # 
      
    4. 언인스톨
      root@wl /opt/developerstudio12.5 # ./uninstall.sh --non-interactive
      Configuring the installer...
      Searching for JVM on the system...
      Extracting installation data (can take a while, please wait)...
      Running the installer wizard...
      
      언인스톨시 주의
      솔라리스 스튜디오 언인스톨시에는 소스로 컴파일된 것을 다시 컴파일해야할 수 있기 때문에, 주의해야 한다. 예를 들어 MySQL은 솔라리스 스튜디오의 libstlport.so.1 을 필요로 한다.
    5. smpatch(1M)를 이용하면 패치 라이선스가 있는 경우 시스템과 같이 cc도 패치된다.
    6. 컴파일러를 설치하는 이유는, 시스템에 최적화된 옵션으로 바이너리 파일을 빌드해 더 빠른 수행 속도를 얻기 위함이다. CFLAGS환경 변수에 -fast 옵션 하나만 넣어도 상당한 성능 향상을 느낄 수 있다. 특히 사용하는 CPU가, 아키텍처가 변경되거나 L2, L3캐시가 큰 최신 CPU를 사용할 수록 차이가 크다. 예를 들어 Sparc64 나 Nehalem, Opteron CPU인 경우 말이다.
      root@wl ~ # vi /etc/profile
      ...
      CFLAGS="-fast"; export CFLAGS;
      ...
      
      단 이렇게 하면 이진 호환성이 떨어진다. 즉 컴파일한 바이너리가 다른 호스트와 호환 되지 않는 경우가 있다. (다른 CPU를 사용하는 호스트에서 컴파일한 바이너리를 사용하지 못할 수 있다. 네할렘 전용으로 컴파일 했는데, 펜티엄4에서 실행 안된다고 불평할 수는 없다. 따라서 배포(공개)할 목적으로 만들어진 패키지는 -fast옵션을 넣어 컴파일 하지 않는다). 또한 컴파일러나 옵티마이저의 버그 때문에 오동작 할 우려도 있으니 반드시 테스트(일반적으로 make test명령 수행) 해야하고, 문제가 있다면 옵티마이즈 레벨을 낮추는 것이 좋다. (예를 들어 CFLAGS="-fast -O3"옵션으로 컴파일 한다) 컴파일러의 옵션에 대한 설명은 Oracle Solaris Studio 12.4 Information Library에서 C User's Guide - C Compiler Options Reference를 참조하자.
  3. OpenSSL

    솔라나라에서 소개하는 어플리케이션이 OpenSSL 지원하고 있으면 같이 컴파일 하도록 했다. OpenSSL의 설치 방법및 사용 방법은 윈디하나의 솔라나라: OpenSSL을 참고하자.
반드시 소스 컴파일을 사용해 설치해야 할 필요 없음

솔라나라의 문서는 각종 데몬을 공개된 소스를 이용해 빌드해 설치하고 있으며, 따라서 솔라나라를 따라하려면 컴파일러를 설치해야 한다. GNU패키징, 컴파일, C/C++문법 등을 알면 이 과정을 쉽게 할 수 있지만, 빌드 환경을 처음 접하는 사람은 어렵다. 따라서 솔라리스에 처음인경우, 컴파일에 의한 설치만 고집하지 않길 바란다. 중요한건 데몬 설치가 아닌 '서비스'다. 이후에 서비스에 익숙해지면 그때가서 소스로 컴파일 해도 늦지 않다.

솔라리스 11부터는 리눅스의 apt-get(8)이나 yum(8)과 유사한 IPS(Image Packaging System, pkg(5), 윈디하나의 솔라나라: IPS)를 지원하기 때문에 프로그램을 설치하기 더욱 쉬워졌으며, 솔라리스 10에서는 OpenCSW Solaris packages라는 오픈 프로젝트를 사용하는 것도 좋다.

완료

RSS ATOM XHTML 1.0 CSS3