윈디하나의 솔라나라: 솔라리스 10 u7 기본설정

목차

개요

솔라리스 설정

  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) 기본 라우터를 확인한다. 윈도우XP로 따지자면 게이트웨이에 해당된다.
    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 192.168.0.2
      192.168.0.3 is alive
      #
      
      - 성공시 NIC와 네트워크 케이블, IP세팅, 스위치의 작동은 정상임
      - 실패시 솔라리스 설정, 호스트에 연결되어있는 케이블 및 NIC 드라이버등을 점검
    2. 라우터로 PING 테스트
      # ping 192.168.0.1
      192.168.0.1 is alive
      #
      
      - 성공시 라우터(게이트웨이)까지 가는 장비 스위치/허브들도 정상임. 라우터도 응답 하고 있음.
      - 실패시 라우터 관리자에게 문의 (라우터가 PING응답을 하지 않도록 설정한 경우도 있음)
    3. 외부 호스트로 PING 테스트
      # ping 211.174.186.251
      211.174.186.251 is alive
      #
      
      - 성공시 라우터의 설정이 정상적으로 되어있으며 네트워크는 정상적으로 작동함
      - 실패시 라우터 관리자에게 문의 (외부에 있는 임의의 호스트가 PING응답을 하지 않도록 설정한 경우도 있음)
      여기까지 잘 되면 네트워크 설정은 마무리 된 것이다.
    4. 도메인으로 ping 테스트
      # 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.solarisschool.com
      www.solarisschool.com is alive
      #
      
      - 성공시 도메인 서버 세팅 및 도메인 서버가 제대로 작동함
      - 실패시 도메인 서버 세팅 확인 및 다른 도메인 서버 사용
      위 주소는 한국통신의 DNS 서버이다. 도메인이 없는 경우 domain, search 부분은 생략한다.
    5. 접속 테스트
      - ICMP패킷이 올바르게 전송되는지만 확인해도 좋지만 확실하게 하기 위해서는 TCP패킷까지 보내보는 것이 좋다. 외부의 호스트에 telnet접속한 후에 다시 자시 서버로 telnet접속해보는 형식. 이건 각자의 환경에 따라 다르기 때문에 구체적인 예는 생략하겠다.
  3. 디스크 용량 확인

    디스크 슬라이스의 크기가 원하는 대로 설정되어있는지 확인해야 한다. 설치 직후에 확인하고 고치는 것이, 서버 운용중에 발견해 고치는 것보다 훨씬 쉽기 때문이다. 특히 swap공간은 반드시 확인한다. 솔라리스 10 u6부터 ROOT 슬라이스도 ZFS를 이용해 설치할 수 있다. 게다가 2개 이상의 디스크가 있고 인스톨시 선택했다면 자동으로 아래와 같이 미러링 해준다. 당연히 이를 이용해야할 것이다. 아래의 예는 40GB인 디스크 2개를 선택해 전체 설치한 예이다.
    # df -h
    파일시스템             크기   사용   가용   용량    설치지점
    rpool/ROOT/rset         37G   3.8G    31G    11%    /
    /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                   1.5G   900K   1.5G     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
                            35G   3.8G    31G    11%    /lib/libc.so.1
    fd                       0K     0K     0K     0%    /dev/fd
    rpool/ROOT/rset/var     37G    70M    31G     1%    /var
    swap                   1.5G    76K   1.5G     1%    /tmp
    swap                   1.5G    24K   1.5G     1%    /var/run
    rpool/export            37G    19K    31G     1%    /export
    rpool/export/home       37G    18K    31G     1%    /export/home
    rpool                   37G    35K    31G     1%    /rpool
    # zpool status
         풀: rpool
       상태: ONLINE
     스크럽: 요청된 항목이 없습니다.
       구성:
    
            NAME        STATE     READ WRITE CKSUM
            rpool       ONLINE       0     0     0
              mirror    ONLINE       0     0     0
                c0d0s0  ONLINE       0     0     0
                c0d1s0  ONLINE       0     0     0
    
    오류: 알려진 데이터 오류가 없습니다.
    # zfs list 1)
    NAME                  USED  AVAIL  REFER  MOUNTPOINT
    rpool                5.63G  31.0G  35.5K  /rpool
    rpool/ROOT           3.88G  31.0G    18K  legacy
    rpool/ROOT/rset      3.88G  31.0G  3.81G  /
    rpool/ROOT/rset/var  70.1M  31.0G  70.1M  /var
    rpool/dump           1.00G  31.0G  1.00G  - 1)
    rpool/export           37K  31.0G    19K  /export
    rpool/export/home      18K  31.0G    18K  /export/home
    rpool/swap            767M  31.8G    16K  - 1)
    #
    
    1) swap과 dump 크기가 맞지 않다면 지금 수정하고 재시작 하는 것이 좋다. [# zfs set volsize=2G rpool/swap; reboot]커맨드를 이용해 크기를 다시 정의할 수 있다.
  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는 일종의 자동 업데이트 프로그램이다. 솔라리스 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]명령을 사용하지 않는것이 좋다.

    ※ [설치 정책이 허용하지 않는 업데이트]의 설치
    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 이상부터 지원)
    2) __unix__를 md5로 변경한다. 이후 패스워드 변경시 /etc/shadow파일을 보면 패스워드 필드가 $md5 로 시작하는 것을 볼 수 있다. 8자 이상의 패스워드도 지원해준다. 참고로 *LK*는 잠금상태, NP는 로그인 불가상태를 의미한다. 참고로 솔라리스 10 u6 이상 사용자들은 더 나은 알고리즘인 6(SHA512)을 사용하는 것도 좋다.
    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,time,comm,s,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/platform/`/usr/bin/uname -i`/lib:/usr/lib:/usr/local/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/sunstudio12.1/man; export MANPATH
    # vi .bashrc
    alias ll="/usr/bin/ls -alhF"
    alias pp="/usr/bin/ps -eo 'user,pid,ppid,time,comm,s,zone,class,pri,rss,pmem'"
    export HISTCONTROL=erasedups
    # cp .bashrc /etc/skel/
    
    ※ 이 문서에서 가장 중요한 부분이 PATH 환경변수 세팅과 LD_LIBRARY_PATH 환경변수 세팅이다. 꼭 맞춰주자. PATH와 LD_LIBRARY_PATH가 기존에 소개했던 솔라리스 9용 설정과 다르다.
    ※ 64비트를 지원하는 경우 CFLAGS, CXXFLAGS, ASFLAGS 환경변수를 변경해 64비트로 컴파일 할 수 있다.
    ※ 솔라리스 콘솔도 컬러를 지원하기 때문에 안시 코드를 이용해 컬러를 넣을 수 있다.
    PS1="\u@\h ^[[1;31m\w^[[0m \\$ "; export PS1
    
    처럼 입력할 수 있다. ^[[의 ^[부분은 안시 이스케이프 코드(ANSI Escape Code)로, vi에디터의 입력 모드에서, Ctrl+V를 누르고 ESC키를 눌러 입력해야 한다.
  8. SAR, NTPD 활성화

  9. 사용자 추가

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

    반드시 필요해 링크를 거는 것이 아니라 솔라나라의 문서는 모두 wget을 이용해 받고, (GNU) tar를 이용해 압축을 풀도록 되어있기 때문에 걸어놓는 것이다.
    # mkdir -p /usr/local/bin
    # cd /usr/local/bin
    # ln -s /usr/sfw/bin/wget wget
    # ln -s /usr/sfw/bin/gtar tar
    
  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,QPopper을 참조한다. 만약 도메인이 없다면 아래와 같이 [호스트명.local.]을 /etc/hosts 에 등록시켜 메시지가 나지 않게 할 수 있다.
    # vi /etc/hosts
    xxx.xxx.xxx.xxx		wl.local.	wl	loghost
    
  12. 재시작

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

Java Web Console

솔라리스에 설치되어있는 서비스에 대한 웹 콘솔 이다. 현재는 파일 시스템만 관리할 수 있다. 여기서는 간단히 소개만 하겠다. 자바 웹 콘솔에 대해서는 별도의 페이지에서 자세히 다룰 예정이다.
스크린 설명
https://localhost:6789/으로 접속한 후 root 로 로그인한다. (로컬호스트에서만 가능하다)
ZFS 관리를 선택한다.
왼편의 메뉴에서 파일 시스템을 선택한다..
여기서 각각의 파일 시스템을 관리할 수 있다. ZFS에 대한 내용은 별도의 페이지에서 다룰 예정이다.

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

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

  2. Sun Studio 12 u1

    1. SunStudio12u1-SunOS-x86-pkgs.tar.bz2 파일은 Sun Developer Network에 무료로 가입한 후 Sun Studio Downloads에서 받을 수 있다.
    2. root@wl ~ # tar xvfj SunStudio12u1-SunOS-x86-pkgs.tar.bz2
      root@wl ~ # cd SunStudio12u1-SunOS-x86-pkgs
      root@wl ~/SunStudio12u1-SunOS-x86-pkgs # ./install_patches.sh
      root@wl ~/SunStudio12u1-SunOS-x86-pkgs # ./SunStudio12u1-SunOS-x86-pkgs.sh
      root@wl ~/SunStudio12u1-SunOS-x86-pkgs # cc
      usage: cc [ options] files.  Use 'cc -flags' for details
      
    3. 테스트
      helloworld.c
       다운로드
      /*
      	Print [Hello, World!]
      	WindyHana's Solanara http://www.solanara.net/
      	cc -o helloworld helloworld.c
      */
      #include <stdio.h>
      
      int main(int argc, char *argv[]) {
      	println("Hello, World!\n");
      }
      
      root@wl ~ # cc -o helloworld helloworld.c
      root@wl ~ # ./helloworld
      Hello World!
      root@wl ~ # 
      
    4. smpatch (위에서 설명) 를 이용하면 cc가 시스템과 같이 패치된다.
    5. 컴파일러를 설치하는 이유는 컴파일을 해서 어플리케이션을 설치하기 위함이다. 그리고 패키지로 설치한 경우 보다 더 빠른 수행 속도를 얻기 위해서다. CFLAG 환경 변수에 -fast 옵션 하나만 넣어도 속도차이가 난다. 특히 사용하는 CPU가, 아키텍처가 변경되거나 L2, L3캐시가 큰 된 최신 CPU를 사용할 수록 차이는 더 크게 난다. 예를 들어 Sparc64 나 Nehalem, Opteron 인 경우에 말이다.
      root@wl ~ # vi /etc/profile
      ...
      CFLAG="-fast"; export CFLAG;
      ...
      
      단 이렇게 하면 이진 호환성이 떨어진다. 즉 컴파일한 바이너리가 다른 호스트에 호환이 되지 않는 경우가 있다. (다른 CPU를 사용하는 호스트에서 컴파일한 바이너리를 사용하지 못할 수 있다. 네할렘 전용으로 컴파일 했는데, 펜티엄4에서 실행안된다고 불평할수는 없는 노릇이니 말이다. 따라서 개발자나 배포자가 컴파일된 패키지로 배포시에는, -fast 옵션을 넣을 수 없다). 또한 컴파일러나 옵티마이저의 버그 때문에 오동작 할 우려가 있으니 반드시 테스트 해야하고, 필요에 따라 옵티마이즈 레벨을 낮추는 것이 좋다. (컴파일시 make test 또는 CFLAG="-fast -O3" 옵션 설정) 컴파일러의 옵션에 대한 설명은 C Compiler Options Reference (Sun Studio 12 Update 1 C User's Guide) 를 참조한다.
  3. OpenSSL

    더 자세한 사항은 윈디하나의 솔라나라: OpenSSL을 참고한다. 솔라나라에서 소개하는 상당수의 어플리케이션이 OpenSSL을 지원하고 있으며 SSL과 같이 컴파일할것이다.
    root@wl ~/source # wget http://www.openssl.org/source/openssl-0.9.8h.tar.gz
    root@wl ~/source # tar xvfz openssl-0.9.8h.tar.gz
    root@wl ~/source # cd openssl-0.9.8h
    root@wl ~/source/openssl-0.9.8h # ./config
    root@wl ~/source/openssl-0.9.8h # make
    root@wl ~/source/openssl-0.9.8h # make test
    root@wl ~/source/openssl-0.9.8h # make install
    

완료

여기까지 하는데 보통 1시간 정도 필요할 것이다. 많은 서버를 동시에 세팅하려면 솔라리스 10의 [플래시 아카이브] 기반 설치나 네트워크 인스톨을 추천한다.
올바른 XHTML 1.0 Transitional 입니다 올바른 CSS입니다!