솔라리스 10 u10 기본 설정 - 윈디하나의 솔라나라
|
anon
으로 표시 하지 않음root@wl ~ # cat /etc/release 1) Oracle Solaris 10 1/13 s10x_u11wos_24a X86 Copyright (c) 1983, 2013, Oracle and/or its affiliates. All rights reserved. Assembled 17 January 2013 root@wl ~ # isainfo -kv 64-bit amd64 kernel modules 2) root@wl ~ #1) [오라클 솔라리스 10, 2013년 1월 배포, 업데이트번호는 11, x86버전]이라는 의미다.
# 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.2551) /etc/hosts에 자신의 호스트 이름과 맞는 IP가 입력되어있는지 확인한다. 이 예제에서 호스트 이름은 wl 이다.
┌─┐ │A├──┐ └─┘ ┌┴─┐ ┌───┐ ┏───┓ │허브├─┤라우터├─┤인터넷├↔ ┌─┐ └┬─┘ └───┘ ┗───┛ │B├──┘ └─┘
A: 세팅하고 있는 호스트. 192.168.0.3 B: 이미 세팅되었으며 정상 작동하고 있는 호스트. 192.168.0.2 라우터: 192.168.0.1
# 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세팅, 스위치의 작동은 정상임
# 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 211.204.126.106 211.204.126.106 is alive #- 성공시 라우터의 설정이 정상적으로 되어있으며 네트워크는 정상적으로 작동함
# 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
#
- 성공시 호스트의 도메인 서버 세팅 및 도메인 서버가 제대로 작동함# 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 - #
# 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 61) 패치 클러스터는 패치 언인스톨을 위해 관련 파일을 압축해 저장해 놓는데 이 파일의 크키가 꽤 크다. 게다가 압축률 안좋은 .Z 확장자로 압축한다. /var/sadm/pkg/*/save/*/*.Z 파일이 그것이다. -nosave옵션을 주면 이를 생성하지 않을 수 있다. 단 패치의 언인스톨은 불가능해진다.
# 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개의 호스트를 등록할 수 있다. (더 등록하려면 계정을 더 생성하면 된다. 당연하지만 주민등록번호 안 받는다 ^^)
# 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
에 연결되어있는 약어이다.$md5,rounds=rounds$salt$$checksum
또는 $md5$salt$$checksum
(rounds 가 0인 경우)형태의 출력이 나온다.__unix__
를 md5로 변경한다. 8자를 초과하는 패스워드도 지원해준다. 이후 패스워드 변경시 /etc/shadow
파일의 패스워드 필드가 $md5로 시작하는 것을 볼 수 있다. 참고로 패스워드 필드에서
*LK*는 잠금상태,
NP는 로그인 불가상태를 의미한다.
__unix__
로 암호화 되어있는 패스워드를 MD5로 암호화 하기 위해 root 패스워드를 한번 더 변경한다./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/
root@wl ~ # nonexissts -bash: nonexissts: command not found 127 root@wl ~ # ls -al nofile nofile: 해당 파일이나 디렉토리가 없음 2 root@wl ~ # ls -al src/ 총 50051 ... root@wl ~ #
PS1="\u@\h ^[[1;31m\w^[[0m \\$ "; export PS1처럼 입력할 수 있다. ^[[의 ^[부분은 안시 이스케이프 코드(ANSI Escape Code)로, vi에디터의 입력 모드에서, Ctrl+V를 누르고 ESC키를 눌러 입력해야 한다.
# svcadm enable sar
# EDITOR=/usr/bin/vi; export EDITOR
# crontab -e sys 1)
0 * * * 0-6 /usr/lib/sa/sa1
20,40 8-17 * * 1-5 /usr/lib/sa/sa1
5 18 * * 1-5 /usr/lib/sa/sa2 -s 8:00 -e 18:01 -i 1200 -A
1) 주석만 풀어주면 된다.
# vi /etc/inet/ntp.conf 1)
server ntp1.sjtel.net
server ntp2.sjtel.net
# svcadm enable ntp
1) ntp1.sjtel.net(ntp1.epidc.co.kr) 의 NTP서버를 사용했다. 사용하고 있는 ISP나 IDC에 다른 시간 서버가 있다면 그걸 사용하는게 더 좋다.
# 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.]과 같은 메시지가 발생하지만 생성 되어있다. (그리고 정상적으로 사용 가능하다)
# 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
# vi /etc/hosts xxx.xxx.xxx.xxx wl.local. wl loghost
# sync # sync # shutdown -y -i 6 -g 0
svcadm disable svc:/application/management/wbem:default
명령을 사용해 기능을 끄면 된다.root@wl ~ # /usr/sbin/smc
svcadm disable svc:/system/webconsole:console
명령을 사용해 기능을 끄면 된다.svccfg -s svc:/system/webconsole setprop options/tcp_listen = true; smcwebserver restart
명령을 사용하면 된다.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/311) 패치를 설치한다. (반드시 설치해야 한다) 만약 오류가 나면 디렉토리를 이동해본다. 패치 파일은 (nobody 사용자로 실행되는) 패치 데몬이 읽을 수 있는 위치에 있어야 한다.
/opt/developerstudio12.5
에 전체설치된다. 약 1GB정도의 용량을 차지한다.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 ~ #
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...
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를 참조하자.
솔라나라의 문서는 각종 데몬을 공개된 소스를 이용해 빌드해 설치하고 있으며, 따라서 솔라나라를 따라하려면 컴파일러를 설치해야 한다. GNU패키징, 컴파일, C/C++문법 등을 알면 이 과정을 쉽게 할 수 있지만, 빌드 환경을 처음 접하는 사람은 어렵다. 따라서 솔라리스에 처음인경우, 컴파일에 의한 설치만 고집하지 않길 바란다. 중요한건 데몬 설치가 아닌 '서비스'다. 이후에 서비스에 익숙해지면 그때가서 소스로 컴파일 해도 늦지 않다.
솔라리스 11부터는 리눅스의 apt-get(8)이나 yum(8)과 유사한 IPS(Image Packaging System, pkg(5), 윈디하나의 솔라나라: IPS)를 지원하기 때문에 프로그램을 설치하기 더욱 쉬워졌으며, 솔라리스 10에서는 OpenCSW Solaris packages라는 오픈 프로젝트를 사용하는 것도 좋다.
RSS ATOM XHTML 5 CSS3 |
Copyright © 2004-2025 Jo HoSeok. All rights reserved. |