'60.Unix'에 해당되는 글 89건

  1. 2008.12.10 솔라리스 10 네트워크 설정(IP셋팅) 3
  2. 2008.11.14 솔라리스 root 비밀번호 찾기
  3. 2008.11.14 솔라리스 10 네트워크 설정(IP셋팅)
  4. 2008.11.12 솔라리스에서 호스트 이름 혹은 IP 주소 변경하기
  5. 2008.11.12 개발을 솔라리스에서 해야 하는 이유
  6. 2008.11.12 윈도우 혹은 리눅스에서 솔라리스 파티션에 접근하기
  7. 2008.11.12 솔라리스 볼륨 메니저를 이용하여 솔라리스9, 10 에서 루트를 미러링 하는 방법
  8. 2008.11.12 Solaris 안전한 FTP 서버 만들기
  9. 2008.11.08 Solaris 정리 -1
  10. 2008.11.08 Solaris (Sprac) 하드 포멧및 인식하는 방법 sun e3500
  11. 2008.11.07 Solaris 10 하드추가 파티션 설정 1
  12. 2008.11.07 Solaris10 +Oracle10G 설치기 & 삽질기 22
  13. 2008.11.07 solaris를 설치하고 나서 Network이 되지 않을 때 체크할 사항들입니다.
  14. 2008.11.07 윈디하나의 솔라나라: 솔라리스 10 u6 기본설정
  15. 2008.11.07 IPMP (IP MultiPathing) 설정하기 (solaris8 이상 지원) 1
  16. 2008.11.07 Solaris 10 에서 openvpn 서버 설치하기
  17. 2008.11.06 솔라리스에 여러가지설치
  18. 2008.11.06 솔라리스 - 아파치 + 톰캣 + 오라클 구축 문서
  19. 2008.11.06 solaris 10 Tomcat 설치
  20. 2008.11.06 RAID-1 볼륨의 작동 방법
  21. 2008.11.06 SPARC: Solaris 설치 프로그램을 사용하여 설치 또는 업그레이드
  22. 2008.11.03 E3500system의 booting이 안될때...
  23. 2008.11.03 SPARC 플랫폼과 ZFS 를 위한 솔라리스10 점프스타트 설정
  24. 2008.11.03 SPARC: WAN 부트 설치(작업) : Solaris 10
  25. 2008.11.03 Solaris 10 1/06 OS를 빠르게 설치하는 방법
  26. 2008.10.22 Solaris 10 설치완료 후 사용기 리뷰중 (작성중임)
  27. 2008.10.21 솔라리스 설치 동영상
  28. 2008.10.21 Solaris Download and Installation Instructions
  29. 2008.10.21 Solaris 10 설치 설명서: 기본 설치
60.Unix2008. 12. 10. 19:08
반응형
1.8139랜카드 인스톨후 재부팅
2./etc/hostname.rtls0 이름
3./etc/hosts 사설아이피 이름 loghost
4./etc/defaultrouter 192.168.0.1
5./etc/nsswitch.conf  dns 추가
6./etc/resolv.conf  domain hananet.net 2개의nameserver IP
7.ifconfig rtls0 down
8.ifconfig rtls0 plumb
9.ifconfig rtls0 IP netmask 255.255.255.0 broadcast + up
10.rtls1에대해 똑같이 해주고
11.route add default 192.168.0.1 

실제예
1) ifconfig rtls0 125.140.110.124 netmask 255.0.0.0 broadcast 125.140.110.255
2) vi /etc/hosts (chmod 644 /etc/hosts 하여 쓰기 권한을 준다.)
   # internet host table
   127.0.0.1   localhost
    :: 1    localhost
    125.140.110.123  mains  loghost
:wq!

3) vi /etc/resolv.conf
    nameserver 168.126.63.1
    nameserver 168.125.63.2
:wq!

4) route add default 125.140.110.1
5) route flush (확인)
6) ifconfig -a (네트워크 셋팅 전체 확인)

반드시 sync 먼저 시켜 준 후 poweroff 로 시스템 종료를 한다
Posted by 1010
60.Unix2008. 11. 14. 15:36
반응형

시스템을 부팅시켰는데, root 암호를 모른다면?



1. stop + a
키를 눌러서 시스템을 ok 상태로 shutdown을 시킵니다
.

2. CD
를 넣고, CD-ROM으로 single booting을 수행


root
의 암호를 모르기 때문에 OS가 설치되어 있는 disk로 수행하면 소용이 없어요
.

간혹, disk single booting을 수행하시는 분이 있는데, 그건 리눅스 얘기겠죠
??


ok boot cdrom -s

3. disk
에 저장되어 있는 /etc/shadow 파일을 읽어들이기 위해서 root device


mount
해야 하는데, stop + a 키를 눌러서 시스템을 shutdown 시킨 경우에는


파일 시스템이 깨지는 경우가 많으므로, mount를 하기 전에 먼저 root device에 대한


파일 시스템을 체크해줘야 한다는걸...다들 아시죠
?? ^^*



# fsck /dev/rdsk/c0t0d0s0 ( / device
logical device name을 사용
)


4.
파일 시스템 체크가 끝났으면, root device CD-ROM의 임시 디렉토리인 /a


mount
를 수행




# mount /dev/dsk/c0t0d0s0 /a


5.
여기까지 하게되면, root device로 접근이 가능하겠죠
?

그럼, vi 통해서 /a/etc/shadow 파일을 편집을 하면 되는데, 이때, CD-ROM으로


single booting
을 수행하면, terminal type이 잘 맞지를 않아서, 화면이 깨져서 나타나게


됩니다
.

vi
편집기를 제대로 사용하기 위해서, TERM 이라는 변수를 이용해서 terminal type


맞춰주어야 합니다
.



# TERM=sun ; export TERM


6. terminal setting
이 끝났다면, vi /a/etc/shadow 파일을 열어서 root의 암호 부분을


지워주시면 되겠죠
?

그런후에 강제로 저장... 이유는 read-only 파일이기 때문이죠
..^^;



# vi /a/etc/shadow



root:imDcKVUmwoRHc:12396::::::


바로 위의 빨간색 부분을 삭제하신후 저장하시면 됩니다
..^^*


7.
저장이 끝났으면, mount해서 사용하던 root device mount를 해제합니다
.


# umount /a


8.
시스템을 rebooting 한후, root로 로그인을 할때 root 암호를 묻지 않고 로그인 가능


root
로 로그인후, 반드시 root 암호를 새로이 부여해야겠죠
?



# reboot
Posted by 1010
60.Unix2008. 11. 14. 11:35
반응형

1.8139랜카드 인스톨후 재부팅 
2./etc/hostname.rtls0 이름 
3./etc/hosts 사설아이피 이름 loghost 
4./etc/defaultrouter 192.168.0.1 
5./etc/nsswitch.conf  dns 추가 
6./etc/resolv.conf  domain hananet.net 2개의nameserver IP 
7.ifconfig rtls0 down 
8.ifconfig rtls0 plumb 
9.ifconfig rtls0 IP netmask 255.255.255.0 broadcast + up 
10.rtls1에대해 똑같이 해주고 
11.route add default 192.168.0.1 

실제예
1) ifconfig rtls0 125.140.110.124 netmask 255.0.0.0 broadcast 125.140.110.255
2) vi /etc/hosts (chmod 644 /etc/hosts 하여 쓰기 권한을 준다.)
   # internet host table
   127.0.0.1   localhost
    :: 1    localhost
    125.140.110.123  mains  loghost
:wq!

3) vi /etc/resolv.conf
    nameserver 168.126.63.1
    nameserver 168.125.63.2
:wq!

4) route add default 125.140.110.1
5) route flush (확인)
6) ifconfig -a (네트워크 셋팅 전체 확인)
Posted by 1010
60.Unix2008. 11. 12. 17:45
반응형

순서


개요

이 테크 팁은 운용중인 솔라리스 시스템의 호스트 이름 혹은 IP 주소를 바꾸는 방법에 대해 설명합니다.

이 정보는 썬 InfoDoc 21252, "How to Change the hostname and/or IP Address Without Running the sys-unconfig Command" 를 기반으로 만들어 졌습니다. (좀 더 자세한 정보는 SunSolve 를 참고하시기 바랍니다; 컨텐츠는 썬 서비스 플랜을 계약 하신 분께 공개되어 있습니다.)


옵션 1: sys-unconfig 이용하기

sys-unconfig 를 사용하면 여러개의 파일들을 기본값으로 되돌릴 수 있고, 그 다음에 호스트를 셧다운 시킵니다. 재부팅에 관해서 멘 페이지에서 설명되지 않은 것은 이러한 파일들을 재생성하도록 설정에 관한 질문을 받는 다는 것입니다. 이러한 질문들은 서버가 처음 배달 됐을때 혹은 운영체제를 제일 처음 로딩 시켰을때 받는 질문과 동일 합니다.

이제 부팅 과정에서 다음과 같은 화면을 보게 될 것입니다:

 Select the language you want to use: <select your language>
 
 Select a Locale,
 Please make a choice (0 - 59), or press h or ? for help: 
<select your location>
 
 What type of terminal are you using?
 Type the number of your choice and press Return: 
<select your terminal type, I use a DEC VT100>
 
 F2 continue, F2 continue
 
 Network Connectivity
       Networked [X] Yes
 
 DHCP
       Use DHCP [X] No
 
 Primary Network Interface
       Primary network interface [X] eri0
 
 Host Name <hostname>
 
 IP Address <ipaddress>
 
 Subnets
       System part of a subnet [X] Yes
 
 Netmask
 <netmask>
 
 IPv6
       Enable IPv6 [X] No
 
 Set a default Route
       [X] Specify one
 Default Route IP Address
       Router IP Address: <defaultrouter>
 
 Confirm Information
       F2 continue
 
 Configure Security Policy:
       Configure Kerberos Security [X] No
 
 Confirm Information
       F2 continue
 
 Name Service
       Name service [X] DNS
 
 Domain Name
       <dnsdomain>
 
 DNS Server Address
       Servers IP Address: <nameserver1>
       Servers IP Address: <nameserver2>
       Servers IP Address:
 
 DNS Search List
       Search Domain: <dnsdomain>
       Search Domain:
       Search Domain:
       Search Domain:
       Search Domain:
 
 Confirm Information
       F2 continue
 
 Time Zone
       Regions [X] <select your region>
 
 Time Zone
       Time zones [X] <select your time zone>
 
 Date and Time
   > Accept the default date and time or enter new values.

옵션 2: 파일 수정하기

호스트 이름 변경

솔라리스7 이전 버전은 다음의 파일들을 수정합니다:

/etc/inet/hosts
/etc/nodename
/etc/hostname.<interface>

여기서 <interface> 는 프라이머리 인터페이스의 이름입니다, 예를 들어 bge0.

/etc/net/ticlts/hosts
/etc/net/ticots/hosts
/etc/net/ticotsord/hosts

이제 시스템을 재부팅 합니다.

솔라리스7 에서 9 버전은 다음의 파일들을 수정합니다:

/etc/inet/hosts
/etc/nodename
/etc/hostname.<interface>

여기서 <interface> 는 프라이머리 인터페이스의 이름입니다, 예를 들어 bge0.

/etc/net/ticlts/hosts
/etc/net/ticots/hosts
/etc/net/ticotsord/hosts
/etc/inet/ipnodes

이제 시스템을 재부팅 합니다.

솔라리스10 버전은 다음의 파일들을 수정합니다:

/etc/inet/hosts
/etc/nodename
/etc/hostname.<interface>

여기서 <interface> 는 프라이머리 인터페이스의 이름입니다, 예를 들어 bge0.

/etc/inet/ipnodes

이제 시스템을 재부팅 합니다.

IP 주소 변경

솔라리스7 이전 버전은 다음의 파일들을 수정합니다:

/etc/inet/hosts
/etc/hostname.<interfaces>

여기서 <interfaces> 는 인터페이스의 이름들 입니다, 예를 들어 bge0, bge1, eri0.

/etc/net/ticlts/hosts
/etc/net/ticots/hosts
/etc/net/ticotsord/hosts

만약 새로운 서브넷으로 이동하려 한다면 다음의 파일들을 수정합니다:

/etc/inet/netmasks
/etc/defaultrouter
/etc/resolv.conf

이제 시스템을 재부팅 합니다.

솔라리스7 에서 9 버전은 다음의 파일들을 수정합니다:

/etc/inet/hosts
/etc/hostname.<interfaces>

여기서 <interfaces> 는 인터페이스의 이름들 입니다, 예를 들어 bge0, bge1, eri0.

/etc/net/ticlts/hosts
/etc/net/ticots/hosts
/etc/net/ticotsord/hosts
/etc/inet/ipnodes

만약 새로운 서브넷으로 이동하려 한다면 다음의 파일들을 수정합니다:

/etc/inet/netmasks
/etc/defaultrouter
/etc/resolv.conf

이제 시스템을 재부팅 합니다.

솔라리스10 버전은 다음의 파일들을 수정합니다:

/etc/inet/hosts
/etc/hostname.<interfaces>

여기서 <interfaces> 는 인터페이스의 이름들 입니다, 예를 들어 bge0, bge1, eri0.

/etc/inet/ipnodes

만약 새로운 서브넷으로 이동하려 한다면 다음의 파일들을 수정합니다:

/etc/inet/netmasks
/etc/defaultrouter
/etc/resolv.conf

이제 시스템을 재부팅 합니다.


저자에 관하여

Ross Moffatt 은 10년 이상 UNIX 시스템 관리자로 실한 경험이 있습니다. ross.stuff [at] telstra.com 로 연락 가능합니다.


이 아티클의 영문 원본은
http://www.sun.com/bigadmin/content/submitted/change_hostname.jsp

에서 볼수 있습니다.

"관리자코너" 카테고리의 다른 글

Posted by 1010
60.Unix2008. 11. 12. 17:43
반응형

솔라리스 익스프레스 개발자 에디션 (SXDE), 은 분기별로 배포되는 썬의 차세대 솔라리스입니다. 이 버전은 개발자들에게 특수한 기능, 하위 호환성 보장, 양질의 개발 툴, 손쉬운 다운 로드 방법, 및 오픈소스 커뮤니티에 참여할 수 있는 기회를 제공합니다.


순서

 

솔라리스 운영체제 (솔라리스 OS) 는 강력하고 안정적인 환경과 더불어 리눅스에서 볼 수 있는 현대화된 인스톨러를 통해서 갈끔하고 직관적인 설치 경험을 안겨 줍니다. 솔라리스는 무료이고 오픈된 UNIX 운영체제로 x86 과 SPARC 용 두가지 버전을 다운로드 받을 수 있습니다. 천백만명 이상의 개발자들이 지금까지 가입했고 200만이상의 CPU 에서 상용 라이센스하에 운영되고 있습니다.

썬 솔라리스10 은 최근에 InfoWorld 의 2008년 의 기술상을 가장 혁신적인 서버 OS 라는 평가를 들으며 수상했습니다. InfoWorld 는 "어떠한 서버 운영체제도 솔라리스 보다 더 다양한 요구조건을 만족하거나 환상적인 기술들을 뽐낼 수 없었다" 라고 평했습니다.

솔라리스는 단 하나의 소스 코드 베이스가 존재 합니다. 그러므로 동일한 기능을 모든 플랫폼상에서 제공합니다. 개발자는 솔라리스 운영체제에서 어플리케이션을 개발하고 최적화 함으로써 썬, HP, IBM, 그리도 Dell 등의 선도 벤더들의 시스템에서 사용할 수 있습니다.

개발자들에게 특히 솔라리스 익스프레스 개발자 에디션 이 중요한 이유는 일단 무료이고 분기별로 배포되는 썬의 차세대 솔라리스로써 오픈솔라리스의 홈이며 개발자의 협력의 장소인 OpenSolaris.org 의 코드 저장소의 소스를 이용해 빌드 되었다는 것입니다. SXDE 는 솔라리스10 에는 포함되지 않는 많은 신기술들을 포함하고 있습니다.

x86 플랫폼을 위한 SXDE 배포판은 솔라리스 어플리케이션, 자바 어플리케이션 플랫폼, 웹2.0을 개발하기 위한 최신 툴, 기술 및 플랫폼을 제공합니다. 개발자들은 다운로드, DVD 주문, 혹은 SXDE 가 미리 설정된 VMWare 가상 머신 등을 통해서 무료로 얻으실 수 있습니다.

랩탑에서의 개발환경을 지원하기위해 각 배포판마다 무선랜 지원을 위한 새로운 드라이버들을 추가 하였습니다. 9/07 배포판은 중요한 전원 관리 기능인 Enhanced Intel SppedStep Technology (EIST) 을 지원합니다. 1/08 배포판은 EIST 를 향상시켰으며 인텔4965 802.11agn 을 위한 드라이버를 포함하고 있습니다. 개발자들에게 더 편리한 설치 과정을 제공하기 위해 썬은 SXDE 를 위한 설치 및 설정 지원을 솔라리스10 서비스 지원 추가비용 없이 추가하였습니다.

SPARC 시스템을 이용하는 개발자는 최신 솔라리스 익스프레스 커뮤니티 에디션 빌드 (DVD) 혹은 (CD) 를 통해서 동일한 기능을 얻으실 수 있고 SPARC 개발자를 위한 툴은 2월 중순까지 번들 되도록 계획하고 있습니다. 이후의 솔라리스 익스프레스 개발자 에디션은 x86 과 SPARC 모두의 지원을 포함할 것입니다. 솔라리스 익스프레스 개발자 에디션의 VMWare 또한 제공 됩니다.

 
InfoWorld 수상

 썬 솔라리스10 과 ZFS 파일 시스템이 최근에 InfoWorld 의 2008 올해의 기술 상을 수상하였습니다.

 썬 솔라리스10 은 플랫폼들 중에서 가장 혁신적인 서버 OS 라는 영예를 안았습니다.

 InfoWorld 는 말하기를 "어떠한 서버 운영체제도 솔라리스 보다 더 다양한 요구조건을 만족하거나 환상적인 기술들을 뽐낼 수 없었다. 2008 년 올해의 기술상을 수상한 ZFS 파일 시스템부터 시작하여 DTrace 라는 최고의 OS 분석 툴이 지원되고 레드햇 리눅스 바이너리를 실행할 수 있는 솔라리스 컨테이너를 통한 네이티브, 빌트인 가상화(현재 어떠한 OS 도 번들하고 있지 못한) 등. 현시대의 서버 운영체제중 가장 혁신적인 버전이라고 할 수 있다"

 여기에 덧붙여 ZFS 파일 시스템은 최고의 파일 시스템 상을 수상했습니다. InfoWorld 는 ZFS 의 혁신을 칭찬했습니다: "썬의 ZFS 수준의 혁신이 매일 매일 컴퓨터 산업에서 일어 나는 것은 아니다. ZFS 의 유연함과 확장성은 현시대의 어떠한 파일 시스템또 훌쩍 뛰어 넘는다. 지속적인 IT 과학의 발전이 발전이 현 상태를 간단히 제곱으로 뛰어 넘어 버렸다. ZFS 는 현재까지의 모든 룰을 깨버리고 놀랍게도 뛰어나고 잘 구현된 솔루션이다."

솔라리스 OS 는 오픈솔라리스 소스 코드, 개발자 커뮤니티 그리고 웹사이트로 구성되어 있는 오픈솔라리스 프로젝트와 혼동되서는 안됩니다. 두가지 모두 썬에 의해 지원되고 있지만 오픈솔라리스는 개발자 커뮤니티에 의해 운영되는 개발 프로젝트 입니다.

솔라리스의 향후 버전은 오픈솔라리스 프로젝트에 의해 개발된 기술들에 기반을 둘 것입니다. 둘다 무료 바이너리 다운로드 형태로 제공되고 썬은 서비스 패키지와 정기 업데이트를 둘 모두를 위해 제공 합니다.

솔라리스는 개발자들에게 여러가지 장점을 제공합니다:

2005년 초기에 발표된 솔라리스10은 600개 이상의 신기술을 포함하고 있었고 이후 업데이트 버전과 솔라리스 익스프레스 프로그램을 통해서 더 많은 것들이 추가 되었습니다. 이들 중 상당 수는 다른 운영체제에서는 볼 수 없는 것들인데 대표적으로 솔라리스 동적 트레이스(DTrace), 솔라리스 컨테이너, 자가 예측 치료, 솔라리스 ZFS, 솔라리스 트러스티드 익스텐션 그리고 로지컬 도메인(LDoms) 가 바로 그것입니다.

DTrace 는 솔라리스10에서 소개된 디버깅 툴로 기존의 디버깅 툴로는 잡아내기 어려운 시스템의 문제를 디버그 하는데 도움을 줍니다. 이 툴은 개발자가 웹2.0에서는 매우 흔한 멀티 레이어 스포트웨어 스택(서로 다른 수많은 레이어가 존재 하는데 이것은 자바 스크립트, 자바, C/C++ 같은 서로 다른 언어로 구현되어 있음) 을 넘나다는 디버깅을 가능하도록 해줍니다.

이러한 멀티레이어에 대한 가시성은 기존의 디버깅툴로는 불가능 합니다. DTrace 의 경량성은 개발자가 프로덕션 서버에서 어플리케이션의 디버그 버전 없이도 어플리케이션을 조사할 수 있도록 도와 줍니다. 커스텀 probe 가 Firefox 같은 데스크탑의 중요 어플리케이션들에 추가 되어서 Firefox 내에서 자바 스크립트 코드에 DTrace 의 힘을 이용할 수 있고 Firefox 자체도 튜닝 할 수 있습니다.

DTrace 는 커맨드 라이브러리 libdtrace 에 의해 동작하고 이 라이브러리는 커널 내의 다양한 "DTrace provider" 에 대한 진입 포인트를 가지고 있고 이러한 "DTrace provider" 는 몇몇 커널 시스템의 논리적인 뷰를 제공 합니다. 솔라리스10은 거의 4만개 이상의 probe 를 솔라리스 커널 내에서 제공 합니다. DTrace 도구는 필요에 따라 끄거나 킬 수 있고 끈 상태로는 어떠한 오버헤드도 일으키지 않습니다. 커스텀 probe 를 만들기 위해 쿼리들이 조합될 수 있습니다.

ZFS 는 128비트이고, 예술의 경지의 파일 시스템으로, 엔드-투-엔드의 오류 검사 및 보정, 간단한 커맨드 라인 인터페이스 그리고 가상적으로 스토리지 용량에 제한이 없습니다. ZFS 는 InfoWorld 에 의해 2008년 최고의 파일 시스템 으로 선정되었습니다.

솔라리스 존 은 개발자가 머신을 서로에게 독립적인 여러개의 가상 머신으로 나눌 수 있습니다. 솔라리스 존은 솔라리스 내에서 파티션된 가상 OS 환경 입니다. 각 존은 독립된 가상 서버로 싱글 머신처럼 독잡하게 됩니다. 존은 기본적인 단위로써 운영체제의 리소스 관리 설비 와 같이 사용되면 솔라리스 컨테이너로 불립니다. 많은 개발자들은 "존" 과 "컨테이너" 를 혼용해서 사용하고 있습니다.

어플리케이션은 존을 독립적이고 보안이 강화된 운영체제 환경으로 다루고 있으며 개발자가 서로 다른 존에 어플리케이션을 설치 함으로써 각각의 어플리케이션을 독립시킬 수 있도록 합니다. 그러면서도 동시에 운영체제 리소스의 중앙 집중적인 관리가 이루어 집니다.

자가 예측 치료 기능은 솔라리스10을 위해 만들어 졌으며 하드웨어 및 어플리케이션 오류 상황을 자동으로 진단하고 고립화 시키고 복구 시킵니다. 결과적으로 비지니스-크리티컬 한 어플리케이션과 기본적인 시스템 서비스들이 소프트웨어 오류, 주요 하드웨어 컴포넌트의 오류 또한 소프트웨어의 잘못된 설정으로 인해 발생하는 문제등으로 부터 어떠한 영향도 받지 않고 계속적으로 실행될 수 있도록 합니다.

2007년 10월 자바 기술의 아버지인 제임스 고슬링은 그의 솔라리스에 관한 감격에 대해 블로깅 한 적이 있습니다: "솔라리스에는 멋진 기능들이 너무 많습니다. 저는 존과 ZFS 에 완전히 중독되었습니다. 예를 들어 저는 렙탑에서 ZFS 를 이용해 디스크를 관리합니다. 이후에 랩탑의 디스크를 USB 로 곧바로 미러링 합니다."

솔라리스는 개발자들이 어플리케이션을 배포할 모든 환경과 호환되는 통합되고 바로사용이 가능한 툴을 제공합니다. SXDE 를 통해서 최신 개발자 툴이 자동적으로 운영체제와 함께 설치 됩니다.

개발자 툴은 다음을 포함합니다:

  • 썬 스튜디오 12 12/07 소프트웨어 는 고성능 컴파일러와 툴을 제공하고, SPARC 플랫폼, x86/x64 플랫폼의 솔라리스와 리눅스를 위한 최적화된 C, C++,포트란 컴파일러를 제공하고, 또한 최신의 멀티-코어 시스템과 소스, 메모리 그리고 쓰레드 디버깅등을 지원합니다.
  • Project D-Light 는 시스템의 동작을 분석할 수 있는 몇가지 도구들을 제공합니다. (프로젝트 D-Light 는 현재 솔라리스10에서만 실행되며 DTrace 활성화된 최소 6이상의 JRE 가 필요 합니다) 프로젝트 D-Light 는 복잡한 어플리케이션과 시스템의 프로파일링을 퍼포먼스 병목현상을 가시적으로 보여주고 어플리케이션 시스템 스택상의 리소스 병목현상에 대해 개발자들이 접근 할 수 있도록 도와 줌으로써 어플리케이션과 시스템 환경을 최적화 할 수 있도록 도와 줍니다. 아주 간단한 드래그앤드롭 인터페이스로 되어 있고 DTrace 를 포함한 최신의 프로파일링 기술들의 확장 라이브러리를 제공 합니다.
  • 넷빈즈 IDE 6 는 개발자가 크로스 플랫폼 자바 데스크탑, 엔터프라이즈, Ruby on Rails, JRuby, PHP 등의 지원을 포함하는 웹 어플리케이션을 개발 할 수 있는 모든 툴들을 제공합니다.
  • 자바 플랫폼 Standard Edition 6 (Java SE) 은 개발자가 임베디드 및 실시간 환경 등을 포함한 데스크탑과 서버에서의 자바 어플리케이션 생성과 배치를 가능하도록 합니다. 자바 SE6 는 웹서비스 개발등에 필요한 클래스들을 기본적으로 제공하고 자바 플랫폼 Enterprise Edition (Java EE) 의 기반입니다.

SXDE 의 일부로 제공되는 웹 어플리케이션 스택은 널리 사용되는 오픈 소스 어플리케이션들이 솔라리스에 최적화된 형태로 제공됩니다. 이 것은 가장 대중적인 어플리케이션(아파치, PHP, MySQL, Ruby 등) 이 미리 설정되어 사용이 가능하며 컨트롤 패널을 통해서 빠르고 쉽게 서비스를 관리할 수 있습니다.

솔라리스10은 랩탑에서 데스크탑 그리고 SPARC 과 x64/x86 등의 모든 시스템에서 실행 됩니다. 랩탑과 데스크탑에서 완벽히 통합된 썬 자바 데스크탑 시스템을 통해서 솔라리스10은 파워 유저와 개발자들이 고급 기능들과 작업 생성에 가치를 줄 수 있는 개발자 툴들의 장점들을 누릴 수 있도록 합니다.


하위 호환성 보장

하위 호환성 보장은 상용 소프트웨어 개발자들에게 특히 중요합니다. 왜냐하면 유지보스는 일반적으로 소프트웨어와 연관된 가장 큰 비용이기 때문입니다. 썬은 하위 호환성 보장은 벤더들의 소프트웨어가 한 버전의 솔라리스에서 빌드된 것이 그대로 다른 버전에서도 올바르게 동작하도록 보장합니다.

이것이 다른 운영체제와 확연하게 비교 되는 점입니다. 예를 들어 시스템 컴포넌트의 비호환적인 변경 -- 예를 들어 라이브러리들 -- 이 어플리케이션에 미칠 수 있는 영향을 고려하지 않고 만들어지는 것들과 비교 됩니다. 결과적으로 어플리케이션은 고장나고 유지 보수 비용이 증가 함으로써 어플리케이션 벤더와 사용자들에게 좌절을 안겨다 줄 것입니다.

2006년 11월 과 2007년 11월 사이에 OpenSolaris.org 의 가입자는 2만명에서 8만명으로 늘었습니다. 오픈 솔라리스 프로젝트 이상으로 오픈솔라리스는 커뮤니티 이며 협동을 위한 웹 사이트 입니다. 솔라리스 소스 코드, 다운로드, 개발자 툴, 메일링 리스트, 유저 그룹, 이벤트 정보, 그리고 그 이상의 것들이 opensolaris.org 에서 이용 가능합니다. 오픈솔라리스 기술은 SPARC 과 x86 플랫폼을 위한 단일 소스 코드 베이스로써 모든 플랫폼에서 동일한 기능을 제공합니다.

GNOME 은 개발자들이 필요에 맞는 데스크탑 어플리케이션을 다양하게 사용할 수 있는 현대적인 데스크탑을 제공합니다.

GNOME 커뮤니티는 좀 더 많은 개발자들을 끌어 들이기 위해 데스크탑 어플리케이션을 C 로 개발하는 것에 대한 대안이 필요함을 인정하고 있습니다. GNOME 데스크탑의 95 퍼센트 이상이 C 로 쓰여졌으므로 많은 사람들이 여전히 썬 스튜디오 소프트웨어, 넷빈즈와 C/C++ 모듈, 그리고 이클립스를 통해서 그들의 데스크탑 어플리케이션을 C 로 개발하고 있습니다.

자바 GNOME 바인딩 은 GNOME 과 GTK+ 어플리케이션을 개발할떄 필요한 핵심 라이브러리에 대한 접근을 제공하고 있습니다. 바인딩은 하부 플랫폼의 C API 를 자바SE 에서 제공하는 JNI 를 통해 자바 API 에서 접근이 가능하도록 지원합니다. 바인딩은 솔라리스 패키지 셋의 형태로 제공되며 다음을 포함하고 있습니다:

  • API jars: 자바 API 를 제공하고 자바 GNOME API 를 import 하도록 한다
  • API libraries: JNI 네이티브 C 라이브러리를 지원하여 자바 API 가 호출할 수 있도록 한다
  • 도움말: API 소스 jar 파일들에 대한 설명을 제공함으로써 code 자동 완성 및 소스 브라우징을 IDE 에서 가능하도록 한다
  • API Javadoc: API 에 대한 이해하기 쉬운 설명을 제공한다

자바 GNOME 바인딩은 Glade-기반의 GNOME/GTK+ 어플리케이션 개발에 친숙한 개발자들에게 이러한 타입의 데스크탑 어플리케이션을 자바 언어로 대치할 수 있는 길을 제공합니다. 자바 GNOME 커뮤니티는 바인딩의 자동 생성이 가능하도록하는 재디자인 작업중에 있습니다. 이 작업을 통해서 하부 GNMOE 플랫폼과 Cairo 네이티브 라이브러리에 대한 거의 100% 의 지원을 제공하게 될 것이고 GNOME 플랫폼의 차후버전과도 계속해서 동기되도록 해 줄 것입니다.

이와 덧붙여서 새로운 GNOME DevHelp 는 gtk-doc 과 네이티브한 작업을 통해서 개발자들이 GNOME API 문서를 브라우징 하고 검색 할 수 있는 어플리케이션입니다.

솔라리스는 배치의 유연성을 제공합니다. 솔라리스는 SPARC 기반의 시스템에서 운용되든 x64/x86 시스템에서 운용되든 동일한 기능을 제공합니다. 솔라리스의 모듈화된 아키텍처는 커널을 재빌드 할 필요 없이 드라이버들이 동적으로 로딩 될 수 있도록 합니다. 커널 자체는 단일 프로세서와 멀티프로세서 환경을 지원하고 대부분 자체적으로 튜닝이 되어 있습니다. 이러한 기능들은 대용량의 배치 환경에서 단일화되고 최적화되고 강력하게 보안이 강화된 환경을 제공 합니다.

이러한 효율적인 작업은 임베디드 시스템 혹은 컴퓨팅 팜에서도 마찬 가지 입니다. 솔라리스는 그러므로 텔레커뮤니케이션, 스토리지, 네트워크 보안, 병원 그리고 정부 공공 같은 분야에 매우 적합합니다. 또한 가능한 모든 PC 의 설정 (랩탑, 데스크탑, 워크스테이션, 블레이드, 랙마운트 서버, x64/x86 기반의 8-way 서버를 포함한) 에서도 매우 적당합니다.

SXDE 를 이용해 개발된 어플리케이션은 Solaris Ready Test Suite 을 이용해 솔라리스10 API 를 사용하는지 검사함으로써 솔라리스에서 테스트되고 사용될 수 있습니다. 덧붙여서 배치 전에 솔라리스10 서버에서 파이널 빌드를 만들어야 합니다.


솔라리스에 포함된
가상화 기능은 배치를 좀 더 간편하고 유연하도록 해줍니다. 썬은 가상화 엔터프라이즈를 위한 현존하는 모든 기술들을 제공하고 미래의 가상화를 위한 혁신적인 최신 기술을 제공합니다.

솔라리스10은 메모리 배치 최적화(Memory Placement Optimization:MPO) 를 통해서 서버의 물리적 메모리의 배치를 향상시킴으로써 퍼포먼스 향상을 이룩했습니다. MPO 를 통해서 솔라리스10은 메모리를 그것에 접근하는 프로세서와 최대한 가깝게 위치시키는 동시에 시스템에서 충분히 밸런스를 이룰 수 있도록 하였습니다. 결과적으로 TPC-H 런타임이 획기적으로 감소하였고 TPC-C 퍼포먼스가 향상되었고 다수의 고성능 컴퓨팅(HPC) 어플리케이션의 실행시간이 반으로 단축되었습니다.

최근의 몇몇 솔라리스 배포판에서 쓰레드 라이브러리는 멀티쓰레드 어플리케이션을 위해 향상되었습니다. 솔라리스9 부터 썬은 기존의 'MxN' 구현을 대체하는 최적으로 튜닝되고 테스트된 '1:1' 모델을 채용하였습니다. 하부의 쓰레드 구현을 단순화 함으로써 어플리케이션은 재컴파일 없이 엄청난 퍼포먼스 향상과 안정성의 향상을 얻을 수 있습니다. 솔라리스10에서는 쓰레드 로컬 스토리지(TLS) 가 추가되었고 스토리지 퍼포먼스의 단순화 및 퍼포먼스 향상을 꾀했습니다. 새로운 쓰레드 모델과 최신 자바 가상 머신(JVM) 기술의 조합은 SPECjbb2000 퍼포먼스의 비약적인 향상을 가져 왔습니다.

많은 개발자들이 고유의 소프트웨어 환경을 관리하고 있습니다. 솔라리스10은 레드햇 리눅스에 비해 20% 이상의 소유비용 이득이 있음이 Crimson 컨설팅 그룹의 새로운 연구결과 에 의해 밝혀 졌습니다. 이 연구는 썬에 의해 스폰서 되었고 솔라리스와 레드햇 엔터프라이즈 리눅스 배치 경험이 없는 연구 참여자를 선별하여 독립적이고 분석적인 평가를 통해 디자인되고 실행 되었습니다.

솔라리스 와 SXDE 는 개발자들에게 특별한 기능, 다양한 어플리케이션, 손쉬운 다운로드 방법, 복수플랫폼 지원, 그리고 오픈 소스 커뮤니티 경험, 보장되는 하위 호환성 보장, 우월한 배치방법 및 관리 비용의 절감을 가져다 줍니다. 직접 사용해 보면 모든 것이 명확해 질 것입니다.

썬과 번영하고 있는 오픈 소스 커뮤니티의 강력한 지원을 통해서 미래는 매우 밝을 것입니다.


저자에 관하여

Janice J. Heiss 는 썬 마이크로시스템즈의 필자진중 한명으로 자바 기술을 담당하고 있습니다.
 

이 글의 영문 원본은
http://developers.sun.com/solaris/artic ··· nsolaris
에서 보실 수 있습니다.

"개발자코너" 카테고리의 다른 글

Posted by 1010
60.Unix2008. 11. 12. 17:36
반응형

파트 1 - 윈도우에서 솔라리스 파티션 접근하기

운나쁘게도 윈도우는 솔라리스 파티션을 읽을 수 없습니다. 그러므로 여러분은 듀얼 부트 (솔라리스, 윈도우즈) 설정 환경에서의 윈도우에서 솔라리스 파티션에 데이타를 읽을 수 없습니다.

이 것을 극복할 하기 위해서 여러분은 가상 PC 에뮬레이터 Qemu 와 Mialx 라이브 시디를 이용할 수 있습니다.

윈도우용 Qemu 바이너리는 아래 링크에서 구하실 수 있습니다.

http://www1.interq.or.jp/~t-takeda/qemu/

(Qemu 홈페이지는 http://fabrice.bellard.free.fr/qemu/index.html 입니다.)

그리고 Milax 라이브 시디는 아래 링크에서 구하실 수 있습니다.

http://www.milax.org/?page_id=9

Qemu 어카이브의 압축을 푼 다음 (Qemu 는 설치가 필요하지 않음) Milax ISO 이미지 milax03.iso 를 Qemu 디렉토리에 복사하고 Mialx 가상 머신을 시작하기 위해 아래의 명령어를 입력 합니다.

cd <directory_with_the_qemu_binary>

qemu.exe  -L ".\bios" -m 256 -localtime  -boot d -cdrom ./milax03.iso  -hda \\.\physicaldrive0 -net user -net nic,model=rtl8139 -redir tcp:1135::22 -name "Milax_(ssh_port:_1135)" -snapshot


주의:

파라미터"-snapshot" 은 "디스크 이미지 파일 대신 임시 파일에 쓸것" 을 의미 합니다. 이것은 Qemu 가 하드디스크에 쓰지 않음을 의미 합니다. 만약 변경사항을 하드디스크에 쓰길 원한다면 Qemu CLI 로 ctrl-alt-2 키를 이용해서 전환 하실 수 있습니다. 그리고 Qemu 커맨드 "commit ide0-hd0" 를 입력하시면 됩니다(자세한 사항은 Qemu 메뉴얼을 확인하시기 바랍니다). 가상 머신으로 돌아가기 위해서는 ctrl-alt-1 키를 이용합니다. 여러분은 절대로 Qemu 를 이용하여 -snapshot 파리미터 없이 실제 하드디스크를 접근해서는 안됩니다!!!

여러분은 Qemu 0.9.1 에서 백슬래시를 사용하려면 반드시 백슬래시 두개를 입력해야 합니다.

파라미터 "\\\\.physicaldrive0" 에서의 숫자는 사용할 디스크를 가르킵니다 - 만약 솔라리스가 첫번째 하드디스크에 있지 않다면 적절한 숫자로 바꿔주시기 바랍니다.

이 구문은 윈도우 XP (테스트됨) 에서 잘 동작하고 윈도우 2000 에서도 문제 없을 것입니다. Qemu 포럼에는 이 구문이 Vista 에서는 잘 동작하지 않는 다는 메세지들이 올라오고 있습니다 - 필자는 Vista 가 없어서 이부분을 확인해 보지 못했습니다.

이제 여러분은 가상 머신에서 솔라리스 파티션에 접근하실 수 있습니다.

여러분의 윈도우 호스트에서 가상머신에 접근하기 위해서는 다음의 명령을 이용합니다.

ssh -l alex -p 1135 localhost

혹은 scp 를 이용 합니다.

scp -p 1135  alex@localhost:/etc/release .


주의:

필자는 오직 Qemu 0.9.1 로 테스트 해 보았습니다 - 구버전의 Qemu 에서는 동작하지 않을 수도 있습니다.


파트 2 - 리눅스에서 솔라리스 파티션 접근하기

리눅스에서 위에서 언급한 workaround 는 필요 하지 않습니다. 왜냐하면 리눅스는 적어도 솔라리스 파티션과 UFS 빌트인에 대한 읽기 전용 접근을 제공하고 있기 때문입니다:

예제:

dmesg 를 이용해서 솔라리스 슬라이스를 위한 디바이스 이름을 확인해 보겠습니다:

root@tp61p:~# dmesg | grep sda

[   23.652384] sd 2:0:0:0: [sda] 312581808 512-byte hardware sectors (160042 MB)

[   23.652393] sd 2:0:0:0: [sda] Write Protect is off

[   23.652394] sd 2:0:0:0: [sda] Mode Sense: 00 3a 00 00

[   23.652403] sd 2:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA

[   23.652434] sd 2:0:0:0: [sda] 312581808 512-byte hardware sectors (160042 MB)

[   23.652439] sd 2:0:0:0: [sda] Write Protect is off

[   23.652441] sd 2:0:0:0: [sda] Mode Sense: 00 3a 00 00

[   23.652449] sd 2:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA

[   23.652451]  sda:sr0: scsi3-mmc drive: 24x/24x writer dvd-ram cd/rw xa/form2 cdda tray

[   23.677465]  sda1 sda2 sda3 sda4 < sda5 sda6 sda7 >

[   23.705547]  sda1: <solaris: [s0] sda8 [s1] sda9 [s2] sda10 [s3] sda11 [s4] sda12 [s6] sda13 [s7] sda14 >

[   23.706865] sd 2:0:0:0: [sda] Attached SCSI disk

[   28.739904] Adding 4128664k swap on /dev/sda6.  Priority:-1 extents:1 across:4128664k

[   28.945181] EXT3 FS on sda3, internal journal

[   30.894480] EXT3 FS on sda5, internal journal

root@tp61p:~#

이 예제에서 솔라리스 파티션의 슬라이스들은 리눅스 디바이스의 이름들로 접근할 수 있습니다.

Slice 	Linux device name

--------------------------------------------

s0 		sda8

s1 		sda9

s2 		sda10

s3 		sda11

s4 		sda12

s6 		sda13

s7 		sda14

여기에서 슬라이스 5번은 어떠한 리눅스 디바이스도 존재하지 않습니다. 왜냐하면 이 슬라이스는 솔라리스에서 사용되지 않기 때문입니다(슬라이스의 사이즈가 0 임)

이 슬라이스를 마운트 하려면:

root@tp61p:~# mount -t ufs -o ro /dev/sda8 /mnt
root@tp61p:~# df -k /mnt

Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/sda8             11098457   9442316   1545157  86% /mnt
root@tp61p:~# ls /mnt

alternate_root  Desktop    home        milax03.usb         mnt21                   pool           test_root
bin             dev        kernel      milax.compressed    modinfo.out             proc           tmp
boot            devices    lib         milax.uncompressed  nautilus-debug-log.txt  root           usbcopy
BSITscite.pkg   Documents  lost+found  mnt                 net                     sbin           usr
cdrom           etc        media       mnt1                opt                     sol10hvm.save  var
data            export     milax       mnt2                platform                system         xen


만약 솔라리스 슬라이스에 대한 쓰기 권한이 필요 하다면 (그리고 여러분의 리눅스 배포판이 UFS 를 위한 쓰기 접근을 지원하지 않는 다면) 혹은 여러분이 솔라리스에서 ZFS 를 사용한다면 여러분은 Qemu 를 리눅스에서 실행해서 솔라리스 파티션의 데이타에 접근하실 수 있습니다:

qemu -net user -net nic -usb -usbdevice tablet -L "/usr/local/share/qemu"  -boot d \

                        -m 512 -net nic,model=rtl8139 -redir tcp:1135::22 \

			-name "Milax_(user_network)_(ssh_port:_1135)" \

                        -hda /dev/sda -cdrom ./milax03.iso -snapshot

주의:

/dev/sda 는 솔라리스 파티션이 있는 디스크 (파티션이 아님!) 입니다.

파라미터"-snapshot" 은 "디스크 이미지 파일 대신 임시 파일에 쓸것" 을 의미 합니다. 이것은 Qemu 가 하드디스크에 쓰지 않음을 의미 합니다. 만약 변경사항을 하드디스크에 쓰길 원한다면 Qemu CLI 로 ctrl-alt-2 키를 이용해서 전환 하실 수 있습니다. 그리고 Qemu 커맨드 "commit ide0-hd0" 를 입력하시면 됩니다(자세한 사항은 Qemu 메뉴얼을 확인하시기 바랍니다). 가상 머신으로 돌아가기 위해서는 ctrl-alt-1 키를 이용합니다. 여러분은 절대로 Qemu 를 이용하여 -snapshot 파리미터 없이 실제 하드디스크를 접근해서는 안됩니다!!!


이 글의 영문 원본은
How to access a Solaris partition from Windows or Linux
에서 보실 수 있습니다.

"관리자코너" 카테고리의 다른 글

Posted by 1010
60.Unix2008. 11. 12. 17:35
반응형

이 글에서는 솔라리스 볼륨 메니저를 이용해서 루트를 미러링하는 절차에 대해 소개 합니다. 솔라리스10에서 필자는 SVM 버전 3.0, REV=2005.01.09.21.19, 를 사용했고 솔라리스9에서는 SVM 버전 1.0, REV=2002.04.14.23.49 을 사용했습니다. (주의: 결과는 동일하지 않을 수 있음.)
필요조건

첫번째로 여러분은 미러링 하고자 하는 디스크들을 구분해야 합니다. 문제의 디스크들은 format 커맨드를 이용하여 찾아낼 수 있습니다.

format 커맨드를 실행합니다; 출력 결과는 다음과 같습니다:

AVAILABLE DISK SELECTIONS:
       0. c3t2d0 <DEFAULT cyl 17845 alt 2 hd 255 sec 63>

          /pci@7b,0/pci1022,7458@11/pci1000,3060@2/sd@2,0
       1. c3t3d0 <DEFAULT cyl 17845 alt 2 hd 255 sec 63>
          /pci@7b,0/pci1022,7458@11/pci1000,3060@2/sd@3,0

예제에서 필자는 디스크 드라이브의 다른 파티션들과 루트 파티션을 미러링 할 것입니다.

드라이브들은 c3t2d0 과 c3t3d0 입니다.

루트 미러링을 위한 과정

첫째로 프라이머리 드라이브를 파티셔닝 합니다. 일반적으로 프라이머리 는 솔라리스가 현재 실행되고 있는 드라이브 입니다. (필자의 경우는 c3t2d0.) 일반적으로 이러한 작업은 데이타 손실을 방지하기 위해 솔라리스 설치 시에 수행 합니다.

여러분은 메타 데이타베이스를 위해 약 10Mbyte 정도의 용량을 가진 파티션이 필요할 것입니다.

여러분이 생성한 파티션에 만족했다면 디스크에 레이블을 지정한다음에 아래의 명령을 통해서 동일한 파티션 테이블을 전송하도록 합니다.

파티션 테이블을 하나의 드라이브로 다른 드라이브로 전송 합니다.

prtvtoc /dev/rdsk/c3t2d0s2 | fmthard -s - /dev/rdsk/c3t3d0s2

주의: s2 는 보통 오버랩(overlap) 파티션임을 유의하시기 바랍니다; 만약 디스크에 변경을 가했다면 적절한 슬라이스로 변경하시기 바랍니다.

이제 여러분은 동일한 구조를 가진 두개의 디스크를 가지게 되었습니다. 다음의 명령을 실행 합니다:

metadb -a -c 3 -f  c3t2d0s7 c3t3d0s7

-c 3 옵션은 metastat 데이타베이스의 복제본을 3벌로 생성하고 이것은 하나의 복사본이 잘못될 경우를 대비해서 입니다.

아래의 커맨드를 이용해서 루트 파티션을 생성함으로써 디스크를 초기화 할 것입니다. 필자는s0 을 사용했는데 왜냐하면 이것이 저의 루트 파티션이기 때문입니다; 여러분 상황에 맞게 적절하게 변경하시기 바랍니다.

metainit -f d11 1 1 c3t2d0s0
metainit -f d12 1 1 c3t3d0s0

이제 실제 미러를 생성 합니다:

metainit d10 -m d11

이전의 모든 단계들을 수행한 후에는 아래의 커맨드를 수행합니다. 아래의 커맨드는 자동으로 /etc/system/etc/vfstab 을 업데이트함으로써 여러분이 메타디바이스를 여러분의 루트 디스크를 사용하고 있음을 인식하도록 합니다.

metaroot d10

위의 커맨드를 수행한다음에는 다른 반쪽 미러를 루트 디바이스에 연결시키기 전에 재부팅을 해야 합니다. 여러분은 현재 마운트 되어 있는 디바이스를 연결시킬 수 없습니다. 만약 연결을 할 경우에 머신은 미쳐 버릴 것입니다. 디바이스를 연결하기 위해서 여러분은 아래의 커맨드를 수행해야 합니다:

metattach d10 d12

미러의 상태를 확인하기 위해서 여러분은 아래의 커맨드를 실행 할 수 있습니다:

metastat d10

부트 디바이스를 위한 우선순위 alias 를 이용해서 Openboot 를 수정하길 원할 수도 있는데 이럴 경우에는 다음의 명령을 이용 합니다:

ls -l /dev/dsk/c0t0d0s0

출력은 다음과 같을 것입니다.

lrwxrwxrwx 1 root root 42 Jul 12 2007 /dev/dsk/c0t0d0s0 -> ../../devices/bold*pci@1e,600000/ide@d/sd*bold@0,0:a

여러분은 위의 굵은 부분을 여러분의 결과물로 대체해야 합니다. OS 에서 다음의 명령을 수행 합니다.

eeprom "nvramrc=devalias mirror pci@1e,600000/ide@d/sd@0,0:a"
eeprom "use-nvramrc?=true"
*bold* Commands for doing this from the OK prompt, don't do this elsewise.*bold*
nvalias mirror pci@1e,600000/ide@d/sd@0,0:a

만약 단지 두개의 내장 드라이브를 미러링 하려 한다면 아래의 라인을 /etc/system 에 추가 함으로써 싱글 드라이브에서 부팅이 될수 있도록 해야 합니다. 이 것은 SVM Quorum rule 을 무시할 것입니다.

set md:mirrored_root_flag = 1



이 글의 영문 원본은
How to Mirror root With Solaris Volume Manager in the Solaris 9 and 10 OS
에서 보실 수 있습니다.


"관리자코너" 카테고리의 다른 글

Posted by 1010
60.Unix2008. 11. 12. 17:34
반응형

이 테크팁은 안전한 ftp 서버를 생성하는 방법에 대해서 설명 합니다. ftp 데몬은 비-root 유저에 의해 실행되고, 유저가 정의한 포트를 리스닝하며, chroot 를 이용한 고립된 환경에서 동작합니다. 이 구현은 표준 ftp 포트를 이용해서 root 유저가 ftpd 를 실행하도록 변경하실 수도 있습니다. 이 환경은 설정이 가능한 접근제어 권한을 통해서 미리 지정된 사용자만이 로그인 할 수 있도록 합니다. 물론 여러분이 이러한 고립된 환경을 생성하려면 root 유저 권한이 필요 합니다.

참고: 이 방법은 솔라리스9 에서만 테스트 되었지만 기타 다른 솔라리스 버전에서도 잘 동작할 것입니다.

고립된 ftp 환경을 위치할 장소를 지정합니다, 필자는 이 글에서 /ftpjail 을 사용할 것입니다.
이 디렉토리는 설정파일과 ftp 서버 바이너리를 담기에 충분한 공간,즉 약 8메가 정도 와 ftp 를 통해 전송될 파일들의 용량을 더한 만큼의 공간을 가진 마운트된 파일시스템이어야 합니다.

이 테크팁에서 설명하고 있는 고립된 FTP 환경을 위한 전체 파일 리스트를 보여주고 있는 보조자료는 다음 링크에서 찾으실 수 있습니다: http://wikis.sun.com/display/BigAdmin/Building+a+Secure+FTP+Server+-+File+List

<ftp jail root> (/ftpjail) 환경 만들기

<ftp jail root> (/ftpjail) 디렉토리 아래에 심볼릭 링크와 디렉토리들을 생성합니다.

mkdir -p /ftpjail
cd
/ftpjail
mkdir
-p dev etc etc/ftpd etc/default usr/bin usr/sbin usr/lib/security usr/lib/locale usr/lib/security/sparcv9 usr/lib usr/share/lib/zoneinfo upload
chmod
100 usr/sbin
chmod
444 dev etc/default usr/share usr/share/lib usr/share/lib/zoneinfo
chmod
555 etc etc/ftpd usr usr/bin usr/lib usr/lib/locale usr/lib/security
chmod
777 upload
Create ln -s usr/bin bin


고립 환경에 필요한 특수 디바이스 파일들을 생성하기

디바이스 심볼링 링크의 목록을 통해서 현재 사용하고 있는 특수 디바이스 파일들과 메이저, 마이너 넘버를 찾습니다.

cd /dev
ls
-l conslog null tcp ticlts ticotsord udp zero
lrwxrwxrwx  
1 root     other         31 Aug  8 12:36 conslog -> ../devices/pseudo/log@0:conslog
lrwxrwxrwx  
1 root     other         27 Aug  8 12:36 null -> ../devices/pseudo/mm@0:null
lrwxrwxrwx  
1 root     other         27 Aug  8 12:36 tcp -> ../devices/pseudo/tcp@0:tcp
lrwxrwxrwx  
1 root     other         29 Aug  8 12:36 ticlts -> ../devices/pseudo/tl@0:ticlts
lrwxrwxrwx  
1 root     other         32 Aug  8 12:36 ticotsord -> ../devices/pseudo/tl@0:ticotsord
lrwxrwxrwx  
1 root     other         27 Aug  8 12:36 udp -> ../devices/pseudo/udp@0:udp
lrwxrwxrwx  
1 root     other         27 Aug  8 12:36 zero -> ../devices/pseudo/mm@0:zero


이제 실제 디바이스 파일을 찾습니다.

cd ../devices/pseudo
ls
-l log@0:conslog mm@0:null tcp@0:tcp tl@0:ticlts tl@0:ticotsord udp@0:udp mm@0:zero
crw
-rw-rw-   1 root     sys       21,  0 Aug  8 12:36 log@0:conslog
crw
-rw-rw-   1 root     sys       13,  2 Sep 25 11:47 mm@0:null
crw
-rw-rw-   1 root     sys       13, 12 Aug  8 12:36 mm@0:zero
crw
-rw-rw-   1 root     sys       42,  0 Aug  8 12:36 tcp@0:tcp
crw
-rw-rw-   1 root     sys      105,  2 Aug  8 12:36 tl@0:ticlts
crw
-rw-rw-   1 root     sys      105,  1 Aug  8 12:36 tl@0:ticotsord
crw
-rw-rw-   1 root     sys       41,  0 Aug  8 12:36 udp@0:udp


위에서 찾은 메이저, 마이너 넘버를 이용하여 새로운 디바이스 파일들을 고립된 환경에 생성합니다.

cd /dev
ls
-l conslog null tcp ticlts ticotsord udp zero
lrwxrwxrwx  
1 root     other         31 Aug  8 12:36 conslog -> ../devices/pseudo/log@0:conslog
lrwxrwxrwx  
1 root     other         27 Aug  8 12:36 null -> ../devices/pseudo/mm@0:null
lrwxrwxrwx  
1 root     other         27 Aug  8 12:36 tcp -> ../devices/pseudo/tcp@0:tcp
lrwxrwxrwx  
1 root     other         29 Aug  8 12:36 ticlts -> ../devices/pseudo/tl@0:ticlts
lrwxrwxrwx  
1 root     other         32 Aug  8 12:36 ticotsord -> ../devices/pseudo/tl@0:ticotsord
lrwxrwxrwx  
1 root     other         27 Aug  8 12:36 udp -> ../devices/pseudo/udp@0:udp
lrwxrwxrwx  
1 root     other         27 Aug  8 12:36 zero -> ../devices/pseudo/mm@0:zero


그 다음으로 실제 디바이스 파일들의 목록을 살펴 봅니다.

cd ../devices/pseudo
ls
-l log@0:conslog mm@0:null tcp@0:tcp tl@0:ticlts tl@0:ticotsord udp@0:udp mm@0:zero
crw
-rw-rw-   1 root     sys       21,  0 Aug  8 12:36 log@0:conslog
crw
-rw-rw-   1 root     sys       13,  2 Sep 25 11:47 mm@0:null
crw
-rw-rw-   1 root     sys       13, 12 Aug  8 12:36 mm@0:zero
crw
-rw-rw-   1 root     sys       42,  0 Aug  8 12:36 tcp@0:tcp
crw
-rw-rw-   1 root     sys      105,  2 Aug  8 12:36 tl@0:ticlts
crw
-rw-rw-   1 root     sys      105,  1 Aug  8 12:36 tl@0:ticotsord
crw
-rw-rw-   1 root     sys       41,  0 Aug  8 12:36 udp@0:udp


위에서 찾은 메이저, 마이너 넘버를 이용하여 새로운 디바이스 파일들을 생성합니다.

cd  /ftpjail/dev
mknod conslog c
21 0
mknod
null c 13 2
mknod zero c
13 12
mknod tcp c
42 0
mknod ticlts c
105 2
mknod ticotsord c
105 1
mknod udp c
41 0
chmod
666 conslog null tcp ticlts ticotsord udp zero


작업한 결과를 확인 합니다.

ls -l
crw
-rw-rw-   1 root     other     21,  0 Sep 25 11:57 conslog
crw
-rw-rw-   1 root     other     13,  2 Sep 25 11:57 null
crw
-rw-rw-   1 root     other     42,  0 Sep 25 11:57 tcp
crw
-rw-rw-   1 root     other    105,  2 Sep 25 11:57 ticlts
crw
-rw-rw-   1 root     other    105,  1 Sep 25 11:57 ticotsord
crw
-rw-rw-   1 root     other     41,  0 Sep 25 11:57 udp
crw
-rw-rw-   1 root     other     13, 12 Sep 25 11:57 zero


고립된 ftp 환경에서 설정 파일들을 생성합니다
vi 같은 에디터를 사용해서 다음의 파일들을 생성합니다.

/ftpjail/etc/group

other::1:root
ftp
::30000:

/ftpjail/etc/pam.conf

ftp auth required /usr/lib/security/pam_unix.so.1
ftp account required
/usr/lib/security/pam_unix.so.1
ftp session required
/usr/lib/security/pam_unix.so.1


/ftpjail/etc/passwd
참고: 아래의 gftp 를 ftp 서버를 이용해 로그인할 유저 이름으로 변경합니다. 여러분은 ftp 서버를 로그인할때 사용할 다른 유저들을 이 파일에 추가하실 수 있습니다.

root:x:0:1:::
ftp
:x:30000:30000::/upload:/bin/false
gftp
:x:30000:30000::/upload:/bin/sh





/ftpjail/etc/shadow
참고: 아래의 gftp 를 ftp 서버를 이용해 로그인할 유저 이름으로 변경하고, $$ 를 유저가 사용할 패스워드로 변경 합니다.
암호화된 패스워드 생성을 위해서, 패스워드 설비를 이용해서 여러분이 패스워드를 알고 있는 호스트 유저의 패스워드를 변경 합니다. 그다음에 암호화된 패스워드를 /etc/shadow 에서 복사해 옵니다. passwd 유틸리티를 이용해서 패스워드를 다시 변경해야 함을 기억하시기 바랍니다. 이 파일에 있는 유저들은 반드시 var/ftpjail/etc/passwd 에 있는 유저들과 매치 되어야 합니다.
root:*LK*:6445::::::
ftp
:*LK*:13651::::::
gftp
:$$:13651::::::


/ftpjail/etc/shells

/bin/sh


/ftpjail/etc/ftpd/ftpaccess
hostname ftpserver
defaultserver
private
class   all   real,guest,anonymous  *
# all the following default to "yes" for everybody
delete          no      real,guest,anonymous
overwrite       no      real
,guest,anonymous
rename          no      real
,guest,anonymous
chmod           no      real
,guest,anonymous
umask           no      real
,guest,anonymous
# specify the upload directory information
upload  
/       *       no
upload  
/       /upload yes
greeting terse
noretrieve
*
#allow-retrieve /upload/*
defumask
777


/ftpjail/usr/bin/runme
/usr/sbin/in.ftpd -P 2020 -p 2021 -S -u 022 -W -a -Q


새롭게 생성된 파일의 퍼미션 정정하기

cd /ftpjail/etc
chmod
444 group pam.conf passwd shadow shells /ftpjail/etc/ftpd/ftpaccess
chmod
100 /ftpjail/usr/bin/runme


고립된 ftp 환경으로 현재 파일들을 복사하고, 퍼미션 정정하기

cp -p /etc/default/init /ftpjail/etc/default/init
cp
/usr/bin/sh /ftpjail/usr/bin/sh; chmod 111 /ftpjail/usr/bin/sh
cp
/usr/sbin/in.ftpd /ftpjail/usr/sbin/in.ftpd; chmod 6100 /ftpjail/usr/sbin/in.ftpd; chown 30000:30000 /ftpjail/usr/sbin/in.ftpd
cp
-rp /usr/lib/locale/* /ftpjail/usr/lib/locale
cp -rp /usr/share/lib/zoneinfo/*  /ftpjail/usr/share/lib/zoneinfo
cd /ftpjail/usr/lib
cp -p /usr/lib/libbsm.so.1 .
cp -p /usr/lib/libc.so.1 .
cp -p /usr/lib/libcmd.so.1 .
cp -p /usr/lib/libdl.so.1 .
cp -p /usr/lib/libgen.so.1 .
cp -p /usr/lib/libmd5.so.1 .
cp -p /usr/lib/libmp.so.2 .
cp -p /usr/lib/libnsl.so.1 .
cp -p /usr/lib/libpam.so.1 .
cp -p /usr/lib/libresolv.so.2 .
cp -p /usr/lib/libsecdb.so.1 .
cp -p /usr/lib/libsocket.so.1 .
cp -p /usr/lib/ld.so.1 .
cp -p /usr/lib/nss_user.so.1 .
cp -p /usr/lib/nss_files.so.1 .
chmod 555 *
cd /ftpjail/usr/lib/security
cp -p /usr/lib/security/crypt_bsdbf.so.1 .
cp -p /usr/lib/security/crypt_bsdmd5.so.1 .
cp -p /usr/lib/security/crypt_sunmd5.so.1 .
cp -p /usr/lib/security/pam* .
cd /ftpjail/usr/lib/security/sparcv9
cp -p /usr/lib/security/sparcv9/* .
 
새로운 환경을 살펴 보기 위한 초기 테스트

한가지 빼먹은것이 있는데 만약 유저가 ls 커맨드를 사용할 수 있도록 하길 원한다면 해당 파일을 환경으로 복사해야 합니다. 필자는 파일을 테스트 후에 지울 것을 추천합니다.

cp /usr/bin/ls /ftpjail/usr/bin/ls; chmod 111 /ftpjail/usr/bin/ls


고립 환경에서 sh 쉘 스크립트를 실행합니다.
참고: 환경안에서는 오직 제한된 커맨드들만이 존재 합니다. 그러나 ls 와 cd 같은 명령은 사용이 가능합니다.

chroot /ftpjail /usr/bin/sh

ftp 서버 시작하기

참고: ftpd 프로세스가 고립된 환경에서 생성되고 실행될 것이고 런타임 커맨드에서 지정된 포트를 리스닝하게 될 것입니다.

chroot /ftpjail /usr/bin/sh -c runme


서버가 시작되었는지 확인합니다.
참고: 필자의 /etc/password 파일에는 UID 30000 에 대한 항목이 없으므로 아래의 결과는 오직 숫자로 출력 됩니다.

ps -ef|grep ftpd
0030000 26704     1  0 09:04:30 ?        0:00 /usr/sbin/in.ftpd -P 2020 -p 2021 -S -u 022 -W -a -Q

ftp 서버 테스트하기

참고:/ftpjail/etc/ftpd/ftpaccess 에 설정된대로 여러분은 오직 파일의 업로드만 가능합니다.

ftp 127.0.0.1 2021
login gftp
/<as set in /ftpjail/etc/shadow>


저자에 관하여
Ross Moffatt 은 유닉스 시스템 관리자로 10년 이상 일해 왔고
ross.stuff@telstra.com 로 연락하실 수 있습니다.

이 글의 영문 원본은
Building a Secure FTP Server
에서 보실 수 있습니다.

"관리자코너" 카테고리의 다른 글

Posted by 1010
60.Unix2008. 11. 8. 17:10
반응형

1. 계정생성
 #useradd -d /export/home/user1 -s bin/ksh -m user1   (user1 추가)

 계정생성시
 admintool로 만들면 staff로 만들어진다
 useradd로 만들면 other로 만들어진다
 #passwd user1  암호설정
 #su - user1 유저로 로그인

2. cp(파일복사)
 $cp file1 file2 (파일1을 파일2로 복사한다) 없으면 생성 있으면 덮어쓰기

3. ls
ls -a 숨긴파일보기 .붙여서 만들면 숨김파일
ls -l 상세설정
ls -f 파일의 종류를 알수있다
   -일반파일
   /디랙토리
   *실행파일
   @링크파일

4. cat 안에있는 내용보기
 cat A > B  : A에서 출력된 내용을 B로 전달
 cat A >> B : A에서 출력된 내용을 B에 추가
 cat A < B  : B를 A의 인자로 입력받아 전달
 cat A << B : 입력의 끝을 지정

5. vi 편집기
esc눌러 편집모드에서
a->문자 뒤에 입력 A->줄 맨끝에 입력
<-i 문자 자리에 입력 <-I 줄 맨 앞에 입력
x 한문자삭제 dd 그줄삭제 yy 복사
$커서 맨뒤로 보내기
shift + ; (:)  wq 저장하고 종료
                 w저장
                 q종료
                 !문자뒤에 붙이면 강제종료

6.솔라리스 주소바꾸기
#vi 편집기 이용

#vi /etc/hosts 중요 ip주소가있다
다른곳에서 ip주소 호스트네임 입력하면 접속가능
#vi /etc/hostname.pcn0(pcn0는 물리적 랜카드에따라 다를수있다)
#vi /etc/nodename 자기 컴퓨터이름

#reboot or init 6 솔라리스 리부팅
#poweroff or init 5 솔라리스 종료


7.디랙토리 추가 삭제
1) mkdir 디랙토리 만들기
  -p(한번에 연달아 하위 디랙토리 만들수있다)
2) rmdir 비어있는 디랙토리 삭제
  -r 지정된 경로모두 삭제

8. 파일추가 삭제
1)touch file 파일추가
2)rm file 파일삭제
  rm [옵션] file_name
          -i      : 삭제하기 전에 사용자의 확인을 요구
          -r,-R   : 하위 디렉토리와 그 안의 파일까지 모두 삭제

9. cd 폴더이동
     cd~ 또는 cd[return] : 자신의 홈디렉토리로 이동
     cd /  : 루트 디렉토리로 이동
     cd .. : 상위디랙토리로 이용 cd ../../.. 형식이로 상위폴더 이동가능

10. pwd : 현재 작업 디렉토리 위치보기

11. 파일보기

more은 한페이지씩 보여준다 (한장씩넘기기 enter 한번에 끝까지 스페이스)

head 파일의 처음부터 지정한 라인까지 보갰다
(ex head -6 파일네임(경로)

tail 마지막라인 출력
-의 경우 마지막 몇라인까지 보갰다
+부터 시작해서 마지막까지 보갰다


12. 링크파일만들기 (바로가기파일)
ex)ln -s /export/home/user1/dir1/dir2/aa 링크네임(바로가기)
현제위치 user1 이면 바로가기 파일 만들어 진다


13. 권한설정
chmod
r 4                          u - 사용자 +
w 2                          g - 그룹   -
x 1                          o - 아무나
                             u - all    =
 u     g     o
rwx | rwx | rwx
421   421   421
 7     7     7

.symbolic mode
chmod  사용

ex)chmod u+x(x추가),go-rw(rw빼기) dante
a=rw(전부 rw로)
.octal mode

ex)chmod 542 dante

umask 기본 권한 (디폴트) 022
d777 f666
 022  022


14. 인터넷접속(netscape)

#vi /etc/hosts
192.168.123.51 ipea75

네임서버
#vi /etc/resolv.conf
nameserver 168.126.63.1 kt(dns서버)

공유기 셋팅
#vi /etc/defaultrouter
192.168.123.254

#vi /etc/nsswitch.conf
hosts : files dns

#sun_netscape & 실행
#netscape &


15 . grep
파일 그문장이 포함된 글찾을때
#grep 192 /etc/hosts (hosts 에 192포함된 줄을 찾아서 보여조라)
#gre[ -v 192 /etc/hosts (hosts에 192포함된 줄빼고 보여조라)



16. 유저삭제
1)#vi /etc/passwd -> user1 만빼고 나머지 유저를 삭제
2)#vi /etc/shadow -> user1 만빼고 나머지 유저로 삭제
3)해당유저 디랙토리 삭제


17. admintool 사용법
 #admintool &
 창뜨면 edit -> add - username 지정
 -> login shell 을 korn 으로 -> password normal passwd로
 막지막 path 에 /export/home user12
 ->admintool 로 화면 따로 local .profile 을 .profile로 변환안해도된다

 #admintool &(백그라운드로보낸다 다른작업가능) 과 #admintool(실행끝내기전 다른작업불가) 차이점
 #ps -ef | admintool (#admintool & 을 실행하고 나서실행 (프로세스 고유번호 확인후)
 
 -window-
 process창에서 (ctrl+alt-tab) 종료시키는 기능
 =>안보이는 process로 찾아서 죽일수 있다.
 #kill pid 프로세스 죽이기
 #kill (고유번호).
 안되면 강제 #kill -9 번호


18. 다른컴퓨터에서 서버접속하기
 #telnet (ip or hostname)
 #root
 ->useradd -d /export/home/ipeal -m -s /bin/ksh ipea6
 $who 개정접속 확인
 $ps -ef 로 프로세스번호확인
 root에서 kill -9로 삭제


19. 압축하기
 #tar cvf file.tar file1 file2 file3
 #tar tvf back.tar 확인
 #tar xvf back.tar 압축풀기
 #tar cvf back.tar /(절대 상대경로구분)etc

 compress back.tar (z)압축  gzip back.tar(gz)
 umcompress back.tar 압축풀기 gunzip back.tar



출처 : http://rmsh.tistory.com/3?srchid=BR1http%3A%2F%2Frmsh.tistory.com%2F3

Posted by 1010
60.Unix2008. 11. 8. 16:49
반응형

> boot - vr
 : 새로운 하드를 인식시킨다

>format
 : 인식된 하드 목록을 보고

>p
 : 파티션 설정으로 들어가서

>print
 : 파티션 목록을 보고

>fsck /dev/rdsk/c0t0d0s0
:  필요한 파티션을 파일 시스템으로 복구하고

> mount /dev/dsk/cotodoso /home
 : 마지막으로 마운트 시킨다. /home <- 폴더가 존재해야 함..꼭...(이름 중북 피하고..)

문의 : hanho9@nate.com

Posted by 1010
60.Unix2008. 11. 7. 17:20
반응형

root 로 /etc/format  명령을 내리면 장착되있는 하드의 리스트가 나옵니다..


# format
Searching for disks...done


AVAILABLE DISK SELECTIONS:
       0. c0t0d0 <SEAGATE-ST318275LC-0001 cyl 11697 alt 2 hd 10 sec 304>
          /pci@1f,4000/scsi@3/sd@0,0
       1. c0t8d0 <SEAGATE-ST318275LC-0001 cyl 11697 alt 2 hd 10 sec 304>
          /pci@1f,4000/scsi@3/sd@8,0
       2. c0t10d0 <SEAGATE-ST318406LC-0109 cyl 26123 alt 2 hd 2 sec 686>
          /pci@1f,4000/scsi@3/sd@a,0


2번 디스크를 선택 하겠습니다


Specify disk (enter its number): 2
selecting c0t10d0
[disk formatted]
Warning: Current Disk has mounted partitions.


포맷 명령어들이 나오게 됩니다..


FORMAT MENU:
        disk       - select a disk
        type       - select (define) a disk type
        partition  - select (define) a partition table
        current    - describe the current disk
        format     - format and analyze the disk
        repair     - repair a defective sector
        label      - write label to the disk
        analyze    - surface analysis
        defect     - defect list management
        backup     - search for backup labels
        verify     - read and display labels
        save       - save new disk/partition definitions
        inquiry    - show vendor, product and revision
        volname    - set 8-character volume name
        !<cmd>     - execute <cmd>, then return
        quit


여기서 파티션을 선택


format> partition


PARTITION MENU:
        0      - change `0' partition
        1      - change `1' partition
        2      - change `2' partition
        3      - change `3' partition
        4      - change `4' partition
        5      - change `5' partition
        6      - change `6' partition
        7      - change `7' partition
        select - select a predefined table
        modify - modify a predefined partition table
        name   - name the current table
        print  - display the current table
        label  - write partition map and label to the disk
        !<cmd> - execute <cmd>, then return
        quit


프린트를 선택하면 파티션 리스트가 나오게됩니다


partition> print
Current partition table (original):
Total disk cylinders available: 26123 + 2 (reserved cylinders)

Part      Tag    Flag     Cylinders         Size            Blocks
  0 unassigned    wm       0                0         (0/0/0)            0
  1 unassigned    wu       0                0         (0/0/0)            0
  2     backup    wu       0 - 26122       17.09GB    (26123/0/0) 35840756
  3 unassigned    wm       0                0         (0/0/0)            0
  4 unassigned    wm       0                0         (0/0/0)            0
  5 unassigned    wm       0                0         (0/0/0)            0
  6       home    wm       0 - 13756        9.00GB    (13757/0/0) 18874604
  7       home    wm   13757 - 26121        8.09GB    (12365/0/0) 16964780


파티션 번호를 선택하시고


partition> 6
Part      Tag    Flag     Cylinders         Size            Blocks
  6       home    wm       0 - 13756        9.00GB    (13757/0/0) 18874604


Enter partition id tag[home]: home

원하시는 유형선택
Enter partition permission flags[wm]:

적절한 퍼미션 선택
Enter new starting cyl[0]:

시작하는 사이클 선택
Enter partition size[18874604b, 13757c, 13756e, 9216.12mb, 9.00gb]: 13757c

파티션 영역 지정

 
partition> quit


format> quit


이제 포맷을 해야죠


newfs /dev/dsk/c0t10d0s6   6번째파티션을 포맷합니다



그다음 파일시스템 검사를


fsck /dev/dsk/c0t10d0s6


그다음 적절한 디렉토리생성후


마운트 시키면 됩니다..


mount /dev/dsk/c0t10d0s6 /export/home1


df -h 를 눌러 확인 후 사용하시면 됩니다..



vfstab설정 (자동마운트 설정파일)

설정전

# vi /etc/vfstab
"/etc/vfstab" 9 행, 319 문자
#device         device          mount           FS      fsck    mount   mount
#to mount       to fsck         point           type    pass    at boot options
#
fd      -       /dev/fd fd      -       no      -
/proc   -       /proc   proc    -       no      -
/dev/dsk/c0t0d0s1       -       -       swap    -       no      -
/dev/dsk/c0t0d0s0       /dev/rdsk/c0t0d0s0      /       ufs     1       no      -
/dev/dsk/c0t0d0s7       /dev/rdsk/c0t0d0s7      /export/home    ufs     2       yes     -
swap     -       /tmp    tmpfs   -       yes     -


설정후


# vi /etc/vfstab
"/etc/vfstab" 9 행, 319 문자
#device         device          mount           FS      fsck    mount   mount
#to mount       to fsck         point           type    pass    at boot options
#
fd      -       /dev/fd fd      -       no      -
/proc   -       /proc   proc    -       no      -
/dev/dsk/c0t0d0s1       -       -       swap    -       no      -
/dev/dsk/c0t0d0s0       /dev/rdsk/c0t0d0s0      /       ufs     1       no      -
/dev/dsk/c0t0d0s7       /dev/rdsk/c0t0d0s7      /export/home    ufs     2       yes     -
/dev/dsk/c0t10d0s6      /dev/rdsk/c0t10d0s6     /export/home1   ufs     3       yes     -
/dev/dsk/c0t10d0s7      /dev/rdsk/c0t10d0s7     /export/home2   ufs     4       yes     -
swap    -       /tmp    tmpfs   -       yes     -


Posted by 1010
60.Unix2008. 11. 7. 14:48
반응형

[펌]

Solaris10 +Oracle10G 설치기 & 삽질기



환경 : VMWARE 5.5.3

가상하드 : 8GB (+ 12GB)

메모리 : 512M (+ 512M)

준비물 : Solaris CD ,오라클10G(http://www.oracle.com/technology/software/products/database/oracle10g/index.html)


들어가면서 무수한 삽질을 해버렷다.

리눅스에서는 9i 를 깔다가 몇번 설치 경험이 잇기 때문에 다만몇년전이지만 그래도 기억을 되살려 별 어려움 없이 Install할거라는 큰 착각을 해버렷다 . 그 당시에는 꽤 괜찬은 서버환경과 fedora 에서 몇번 깔았던것 같다 사실 fedora 랑 오라클이랑 궁합이

잘 맞지 않는다. gcc 버젼도 낮춰야 하고 꽤 귀찬은듯 하다.

그러나 Solaris 랑은 궁합이 잘 맞지 않을까 라는 쓸데 없는 생각으로열악한 환경에서 깔기 시작햇다.

테스트용으로 사용할것 이기 때문에 VM 에서 512M 가와 8GB 가상 하드를 잡고 SWAP 도 100M 를 잡고 시작 하였다.

필요한 환경과 세팅도 숙지 않은채 Oracle 을 압축을 풀고

./runInstaller 를 실행

하드부족 요구~ㅜ.ㅜ

VM 에서 하드 12기가를 잡고 넣엇다.


하드 추가 하는 방법


1. 일단 하드를 붙인다.


2. Solaris 에서 변경된 하드웨어를 인식하게 하는 방법은 세가지가 있다.

A)부팅 시 옵션을 입력한다.
x86 버전의 경우 부팅 후 (b)oot (i)nterprete 를 고르는 부분이 있는데, 이곳에 “b ?r”을 입력한다.
PROM 프롬프트 에서는 “boot ?r” 을 입력한다.
위와 같은 방법을 거쳐 booting 이 된 후에야 다음 작업을 할 수 있다.

B)reboot -- -r  명령을 하면

 부팅시에 변경된 상황을 Solaris 에서 인식 하게 된다..


C)econfigure 파일을 만들어 준 후 reboot 을 한다.
부팅 후 init에서 불러 들이는 rc.sysinit 파일에서는
root 디렉토리에 reconfigure 라는 파일의 존재를 파악해서
시스템이 변경된 부분이 있는지 kernel 을 rebuild 하게 한다.
참고로 / 디렉토리는 root 만이 쓸 수 있으니 반드시 root로 로그인해야 한다.


3.Format 프로그램으로 사용가능한 파티션 설정및 셋팅
 처음 명령어를 실행 하면 이렇게 뜬다 . 0번은 기존꺼 1번은 추가구입(?) 하드이다.
      0.c0d0
          /pci@0,0/pci-ide@7,1/ide@0/cmdk@0,0
      1. c0d1
          /pci@0,0/pci-ide@7,1/ide@0/cmdk@1,0

1번을 고른다.


FORMAT MENU:
        disk       - select a disk
        type       - select (define) a disk type
        partition  - select (define) a partition table
        current    - describe the current disk
        format     - format and analyze the disk
        fdisk      - run the fdisk program
        repair     - repair a defective sector
        show       - translate a disk address
        label      - write label to the disk
        analyze    - surface analysis
        defect     - defect list management
        backup     - search for backup labels
        verify     - read and display labels
        save       - save new disk/partition definitions
        volname    - set 8-character volume name
        !<cmd>     - execute <cmd>, then return
        quit

이런 메뉴들이 뜬다.

먼저 fdisk 를 실행하여 Solaris 에서 사용가능한 파일 시스템을 만든다.

VM 으로 만들었기 때문에 이부분은 생략 가능하다. 실제 서버 컴퓨터는

셋팅을 해줘야 한다. 참고로 UFS 파일 시스템이다.


이제 파일 시스템을 만들었으면

partition 명령으로 파티션과 슬라이스는 잡자.


PARTITION MENU:
        0      - change `0' partition
        1      - change `1' partition
        2      - change `2' partition
        3      - change `3' partition
        4      - change `4' partition
        5      - change `5' partition
        6      - change `6' partition
        7      - change `7' partition
        select - select a predefined table
        modify - modify a predefined partition table
        name   - name the current table
        print  - display the current table
        label  - write partition map and label to the disk
        !<cmd> - execute <cmd>, then return
        quit


#>print

Part      Tag    Flag     Cylinders        Size            Blocks
  0 unassigned    wm       3 - 1562       11.95GB    (1560/0/0) 25061400
  1 unassigned    wm       0               0         (0/0/0)           0
  2     backup    wu       0 - 1562       11.97GB    (1563/0/0) 25109595
  3 unassigned    wm       0               0         (0/0/0)           0
  4 unassigned    wm       0               0         (0/0/0)           0
  5 unassigned    wm       0               0         (0/0/0)           0
  6 unassigned    wm       0               0         (0/0/0)           0
  7 unassigned    wm       0               0         (0/0/0)           0
  8       boot    wu       0 -    0        7.84MB    (1/0/0)       16065
  9 alternates    wm       1 -    2       15.69MB    (2/0/0)       32130


지금 이렇게 잡혀 잇다.

첨으로 들어 왔을시에 2,8,9 번만 잡혀 있을것이다.

만들고자 하는 파티션을 만들고 크기를 잡고 빠져 나온다.


설정을 하고 나오서 다시 Format 프롬프트에 나오면

label 명령오로 설정을 저장한다.

그리고 quit

자 이제 하드는 잡혀잇다.

이제 마지막으로

newfs /dev/rdsk/c0d1s0 이렇게 하면

드디어 마운트 할수 있는 하드 드라이브가 생겻다..


내 같은 경우 새로운 하드는 오라클 전용을로 쓰기 때문에

#>mkdir /oracle

#>mount -F ufs /dev/dsk/c0d1s0 /oracle


#> df -k
파일시스템           K바이트    사용    가용   용량    설치지점

/dev/dsk/c0d1s0      12340960 3557274 8660277    30%    /oracle

이런식으로 마운트를 확인 할수 있다.

부팅시 마운트를 유지 할려면

[root]:/etc>vi /etc/vfstab

#device         device          mount           FS      fsck    mount   mount
#to mount       to fsck         point           type    pass    at boot options
#
fd      -       /dev/fd fd      -       no      -
/proc   -       /proc   proc    -       no      -
/dev/dsk/c0d0s1 -       -       swap    -       no      -
/dev/dsk/c0d0s0 /dev/rdsk/c0d0s0        /       ufs     1       no      -
/dev/dsk/c0d0s7 /dev/rdsk/c0d0s7        /export/home    ufs     2       yes     -
/dev/dsk/c0d1s0 /dev/rdsk/c0d1s0        /oracle ufs     1       yes     -
/devices        -       /devices        devfs   -       no      -
ctfs    -       /system/contract        ctfs    -       no      -
objfs   -       /system/object  objfs   -       no      -
swap    -       /tmp    tmpfs   -       yes     -

중간에 한줄 추가 하면 된다.

/dev/dsk/c0d1s0 /dev/rdsk/c0d1s0        /oracle ufs     1       yes     -


이제 하드는 셋팅 완료다~ 힘들다..


이제 스왑파일이다.

스왑파일은 2기가 정도를 요구 하는것 같다.

정확한 스펙은 보지 않아서 모르겟지만

이제 스왑파일을 만들어 보자

먼저 스왑이 위치할 디렉토리와 파일을 만든다.


#>mkdir /oracle/swap

스왑2기기 생성
#>mkfile 2048m /oracle/swap/swapfile

[root]:/oracle/swap> swap -l
swapfile             dev  swaplo 블록   사용 가능
/dev/dsk/c0d0s1     102,1       8 1048568 1048568

[root]:/oracle/swap> swap -a /oracle/swap/swapfile

[root]:/oracle/tempswap> swap -l
swapfile             dev  swaplo 블록   사용 가능
/dev/dsk/c0d0s1     102,1       8 1048568 1048568
/oracle/tempswap/swaporacle  -        8 2097144 2097144

이제 스왑파일 생성 완료!


이제 하드웨어적인 것은 완료 된것 같다 물리적 메모리도 1기가 정도 잡아 두는게

원활한 인스톨을 위해서 좋을것 같다 Solaris 자체가 메모리를 많이 먹는것 같기도 하고


이제 Oracle 관한 환경 설정 파일이나 Shm 관련 해서 셋팅 하는 일만 남았다.

먼저 Oracle 계정을 만들어 두자.


/* 오라클 프로그램 $ORACLE_HOME=/oracle/oraapp */

groupadd oinstall

groupadd dba

useradd -g dba -G oinstall -d /oracle/ -s /usr/bin/bash oracle

# passwd oracle
# 암호지정


# /usr/openwin/bin/xhost + <- 디스플레이 활성화
# su - oracle



/* 참고
-g 옵션은 기본 그룹을 뜻하며, Redhat의 경우 생략하면 자동으로 사용자 ID와 동일하게 부여됩니다.(제가 별로 좋아하지 않는 방식이기도 하죠.)

이 경우 /etc/passwd 파일에 해당 사용자의 기본 그룹으로 반영되며, 해당 사용자가 생성하는 파일 등은 기본적으로 해당 그룹으로 생성되지요.

-G 옵션은 해당 사용자가 속하게될 그룹 목록입니다.
예를들어 기본 그룹 외에 다른 그룹(이미 존재하는)에도 소속되도록 하려면 -G 옵션과 함께 그룹목록을 지정해 주면 됩니다

*/

# su - oracle  모드에서...

# mkdir /oracle/oraapp/
# mkdir /oracle/oradata/

---------------------------------------(1)

# chown -R oracle:dba /oracle/
# chmod -R 775 /oracle/oradata
# chmod -R 775 /oracle/oraapp


---------------------------------------(2)
# chmod -R 755 oraapp
----------------------------------------
1,2중.....



vi ~/.profile  --> /oracle 안에 생성
# 추가
DISPLAY=localhost:0.0; export DISPLAY
ORACLE_BASE=/oracle; export ORACLE_BASE
ORACLE_HOME=/oracle/oraapp; export ORACLE_HOME
ORACLE_SID=orcl; export ORACLE_SID
if [ -x /usr/local/bin/dbhome ]
then
  ORACLE_HOME=`dbhome orcl`; export ORACLE_HOME
  PATH=$PATH:$ORACLE_HOME/bin; export PATH
  LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/lib
fi


vi /etc/system
# 추가
set semsys:seminfo_semmni=100
set semsys:seminfo_semmns=1024
set semsys:seminfo_semmsl=256
set semsys:seminfo_semvmx=32767
set shmsys:shminfo_shmmax=4294967295
set shmsys:shminfo_shmmin=1
set shmsys:shminfo_shmmni=100
set shmsys:shminfo_shmseg=10


이제 오라클 Install

./runInstaller

이제 Pro C만 깔면 한두달은 장난칠 거리 생긴다

Pro C셋팅은 조만간에 다시!

Posted by 1010
60.Unix2008. 11. 7. 13:13
반응형

solaris를 설치하고 나서 Network이 되지 않을 때 체크할 사항들입니다.

1. /etc/hosts
#
# Internet host table
#
127.0.0.1 localhost
[ IP Address ] hostname loghost

위 파일은 자신의 컴퓨터의 IP 주소와 이름(hostname)을 지정해 준다.
각각의 구분은 공백으로 구분하므로 반드시 공백을 띄워준다.
파일을 열어 [ IP Address ] 란에 자신의 IP 주소를 적어준다.


2. /etc/defaultrouter
기본 Gateway를 지정하는 파일이다.
기본적으로 생성되어 있지 않기 때문에 새로 만들어 준다.
# cat /etc/defaultrouter
192.168.0.1

아래와 같이 커맨드로 바로 지정해 줄 수도 있다.
# route add default xxx.xxx.xxx.xxx 1

3. /etc/nsswitch.conf
Nameserver를 지정하는 파일이다.
nameserver로 DNS를 사용할 것이기 때문에 다음과 같이 추가해 준다.
#
# /etc/nsswitch.files:
#
# An example file that could be copied over to /etc/nsswitch.conf; it
# does not use any naming service.
#
passwd: files
group: files
hosts: files dns
ipnodes: files
networks: files
....
위와 같이 "hosts: files" 줄의 마지막에 칸을 띠고 dns를 추가해 준다.

4. /etc/resolv.conf
DNS 서버를 지정해 준다.

# vi /etc/resolv.conf
domain [domain name]
nameserver xxx.xxx.xxx.xxx(DNS server IP)

5. /etc/netmasks
위 파일을 열어 자신의 Netmask 값을 넣어 준다.
#
# The netmasks file associates Internet Protocol (IP) address
......... 중 략 .................
# "decimal dot" notation, e.g:
#
# 128.32.0.0 255.255.255.0
xxx.xxx.xxx.xxx xxx.xxx.xxx.xxx
[네트워크 주소][서브넷 마스크]

6. Reboot
# reboot



1. /etc/hosts
#
# Internet host table
#
127.0.0.1 localhost
[ IP Address ] hostname loghost

위 파일은 자신의 컴퓨터의 IP 주소와 이름(hostname)을 지정해 준다.
각각의 구분은 공백으로 구분하므로 반드시 공백을 띄워준다.
파일을 열어 [ IP Address ] 란에 자신의 IP 주소를 적어준다.


2. /etc/defaultrouter
기본 Gateway를 지정하는 파일이다.
기본적으로 생성되어 있지 않기 때문에 새로 만들어 준다.
# cat /etc/defaultrouter
192.168.0.1

아래와 같이 커맨드로 바로 지정해 줄 수도 있다.
# route add default xxx.xxx.xxx.xxx 1

3. /etc/nsswitch.conf
Nameserver를 지정하는 파일이다.
nameserver로 DNS를 사용할 것이기 때문에 다음과 같이 추가해 준다.
#
# /etc/nsswitch.files:
#
# An example file that could be copied over to /etc/nsswitch.conf; it
# does not use any naming service.
#
passwd: files
group: files
hosts: files dns
ipnodes: files
networks: files
....
위와 같이 "hosts: files" 줄의 마지막에 칸을 띠고 dns를 추가해 준다.

4. /etc/resolv.conf
DNS 서버를 지정해 준다.

# vi /etc/resolv.conf
domain [domain name]
nameserver xxx.xxx.xxx.xxx(DNS server IP)

5. /etc/netmasks
위 파일을 열어 자신의 Netmask 값을 넣어 준다.
#
# The netmasks file associates Internet Protocol (IP) address
......... 중 략 .................
# "decimal dot" notation, e.g:
#
# 128.32.0.0 255.255.255.0
xxx.xxx.xxx.xxx xxx.xxx.xxx.xxx
[네트워크 주소][서브넷 마스크]

6. Reboot
# reboot

Posted by 1010
60.Unix2008. 11. 7. 12:42
반응형

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

최종 갱신일: 2008-11-03, 이 문서는 윈디하나의 솔라나라, http://www.solanara.net/에서 최근에 갱신된 문서를 찾을 수 있다.

1. 개요

  • 소프트웨어 설치 문서에 생략되어있는 공통 설정 사항에 대해, 솔라리스 10 u6 기준으로 설명하는 문서이다.
  • LD_LIBRARY_PATH와 PATH 환경변수는 반드시 일치해야 한다.
  • 본 문서는 솔라리스 10 u6 x86, 32bit을 기준으로 작성했다. 자신의 솔라리스 버전 및 업데이트 번호는 아래와 같이 확인할 수 있다.
    root@wl ~ # cat /etc/release
                           Solaris 10 10/08 s10x_u6wos_07b X86 1)
               Copyright 2008 Sun Microsystems, Inc.  All Rights Reserved.
                            Use is subject to license terms.
                                Assembled 27 October 2008
    root@wl ~ # isainfo -kv
    32-bit i386 kernel modules 2)
    root@wl ~ # 
    
    1) [솔라리스 10, 2008년 10월에 배포, 업데이트번호는 6, x86버전]이라는 뜻이다.
    2) 32비트 x86 커널을 사용하고 있다는 뜻이다.

2. 솔라리스 설정

  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 # 한국통신의 DNS 서버이다.
      nameserver 168.126.63.2
      # ping www.solarisschool.com
      www.solarisschool.com is alive
      #
      
      - 성공시 도메인 서버 세팅 및 도메인 서버가 제대로 작동함
      - 실패시 도메인 서버 세팅 확인 및 다른 도메인 서버 사용
    5. 접속 테스트
      - ICMP패킷이 올바르게 전송되는지만 확인해도 좋지만 확실하게 하기 위해서는 TCP패킷까지 보내보는 것이 좋다. 외부의 호스트에 telnet접속한 후에 다시 자시 서버로 telnet접속해보는 형식. 이건 각자의 환경에 따라 다르기 때문에 구체적인 예는 생략하겠다.
  3. 디스크 확인
    솔라리스 10 u6부터 ROOT 슬라이스도 ZFS를 이용해 설치할 수 있다. 게다가 2개 이상의 디스크가 있고 인스톨시 선택했다면 자동으로 아래와 같이 미러링 해준다. 당연히 이를 이용해야할 것이다. 아래의 예는 15GB인 디스크 2개를 선택해 설치한 예이다.
    # df -h
    파일시스템             크기   사용   가용   용량    설치지점
    rpool/ROOT/rset         15G   3.8G   8.8G    31%    /
    /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.4G   892K   1.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
                            13G   3.8G   8.8G    31%    /lib/libc.so.1
    fd                       0K     0K     0K     0%    /dev/fd
    rpool/ROOT/rset/var     15G    70M   8.8G     1%    /var
    swap                   1.4G    36K   1.4G     1%    /tmp
    swap                   1.4G    24K   1.4G     1%    /var/run
    rpool/export            15G    19K   8.8G     1%    /export
    rpool/export/home       15G    18K   8.8G     1%    /export/home
    rpool                   15G    35K   8.8G     1%    /rpool
    # zpool status
        풀: rpool
      상태: ONLINE
    스크럽: 요청된 항목이 없습니다.
      구성:
    
            NAME          STATE     READ WRITE CKSUM
            rpool         ONLINE       0     0     0
              mirror      ONLINE       0     0     0
                c1t0d0s0  ONLINE       0     0     0
                c2t0d0s0  ONLINE       0     0     0
    
    오류: 알려진 데이터 오류가 없습니다.
    # zfs list
    NAME                  USED  AVAIL  REFER  MOUNTPOINT
    rpool                5.87G  8.77G  35.5K  /rpool
    rpool/ROOT           3.87G  8.77G    18K  legacy
    rpool/ROOT/rset      3.87G  8.77G  3.80G  /
    rpool/ROOT/rset/var  69.7M  8.77G  69.7M  /var
    rpool/dump           1.00G  8.77G  1.00G  -
    rpool/export           37K  8.77G    19K  /export
    rpool/export/home      18K  8.77G    18K  /export/home
    rpool/swap              1G  9.77G    16K  -
    # 
    
  4. 솔라리스 패치 - 권장패치를 이용하는 방법
    - 솔라리스 권장 패치는 http://sunsolve.sun.com/pub-cgi/show.pl?target=patches/patch-access 에서 회원가입 후 받을 수 있다. 이곳에서 원하는 버전과 아키텍처를 선택한후 다운로드 하면 된다. 이파일은 솔라리스 전체 패치가 아니라 선에서 권장하는 권장 패치일 뿐이다. README 에는 어떠한 패치가 포함되어있는지 나와있다. 권장패치는 [썬 서비스 플랜]에 가입해야 받을 수 있으며 가입은 유료다. 예전에 찾아봤을때는 일년에 240달러였다.
    - 선은 솔라리스를 6개월에서 1년마다 업데이트해 내놓고 있다. 이것을 이용해 업그레이드 하면 최신 패치를 설치한것과 동일한 효과를 가질 수 있다.
    - 게다가 상당수 개별 패치는 무료다. (권장 패치는 개별 패치들의 모음이다. 역설적으로 말하면 README에 나와있는 패치를 일일이 다 다운받아서 수동으로 설치하면 같은 효과를 낸다는 뜻이다)
    - 여의치 않다고 생각되면 OpenSolaris 를 사용할 수 있다. 솔라나라의 내용은 모두 오픈 솔라리스와 호환된다. [레드햇 엔터프라이즈 리눅스]와 [페도라]의 관계가 [솔라리스]와 [오픈 솔라리스]의 관계와 비슷하다.
    # 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번은 무시해도 좋다. 코드에 대한 전체 설명은 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
  5. 솔라리스 패치 - smpatch 를 이용한 방법
    # 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
    # init 6
    
    1) 등록을 하지 않았다면 등록한다. 한번만 하면 된다.
    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) [싱글모드]로 전환([init s]명령을 사용하면 된다)해 [smpatch add -x idlist=/var/sadm/spool/disallowed_patch_list]명령을 주면 [설치 정책이 허용하지 않는 업데이트]를 설치할 수 있다. 허용하지 않는 패치에는 커널 업데이트와 드라이버 업데이트가 포함되기 때문에 반드시 해야한다. 또한 반드시 수동 설치해야 하는 패치도 있는데(SMPATCH LIVE UPGRADE처럼) 이는 [smpatch add -i 121431-25]처럼 명령을 주면 된다
  6. 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,5,6 1)
    CRYPT_DEFAULT=md5 2)
    # passwd root 3)
    새 암호:
    새 암호를 다시 입력하십시오:
    passwd: 암호(root용)가 성공적으로 변경되었습니다.
    # 
    
    1) 사용할 수 있는 알고리즘을 나타낸 것으로 이는 /etc/security/crypt.conf 에 연결되어있는 약어이다.
    1: UNIX crypt 알고리즘
    2a: Blowfish 알고리즘
    md5: 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 패스워드를 한번 더 변경한다.
  7. 환경 설정 파일을 변경한다. 필자는 /etc/profile을 변경한다. 가장 아래줄에 다음과 같이 추가해준다. 필자는 sh와 bash를 사용한다.
    # vi /etc/default/init
    메시지 생략
    LANG=ko.UTF-8
    # vi /etc/profile
    메시지 생략
    alias ll="ls -alF"
    tty -s && stty cs8 -istrip defeucw
    
    case "$0" in
    bash | -bash)
    	PS1="\u@\h \w \\$ "; export PS1
    	;;
    sh | -sh)
    	PS1="`/usr/ucb/whoami`@`hostname'` "
    	case `/usr/xpg4/bin/id -u` in
    		0) PS1="${PS1}# ";;
    		*) PS1="${PS1}$ ";;
    	esac
    	;;
    esac
    EDITOR=vi; export EDITOR
    CC=cc; export CC
    PATH=/usr/local/bin:/opt/SUNWspro/bin:/usr/bin:/usr/sbin:/usr/ccs/bin:/usr/openwin/bin; export PATH
    LD_LIBRARY_PATH=/usr/local/xml/lib:/usr/lib:/usr/local/lib:/usr/ucblib:/usr/ccs/lib; export LD_LIBRARY_PATH
    #
    
    ※ 이 문서에서 가장 중요한 부분이 PATH 환경변수 세팅과 LD_LIBRARY_PATH 환경변수 세팅이다. 꼭 맞춰주자. PATH와 LD_LIBRARY_PATH가 기존에 소개했던 솔라리스 9용 설정과 다르다.
    ※ 솔라리스 콘솔도 컬러를 지원하기 때문에 안시코드를 이용해 컬러를 넣을수도 있다.
    PS1="\u@\h ^[[1;31m\w^[[0m \\$ "; export PS1
    
    처럼 입력할 수 있다. ^[[의 ^[부분은 안시 이스케이프 코드로, vi에디터의 입력 모드에서, Ctrl+V를 누르고 ESC키를 눌러 입력해야 한다.
  8. SAR(System Activity Reporter)를 활성화 하고 크론의 sar 설정을 활성화한다. NTP 데몬을 활성화한다.
    # 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
    # vi /etc/inet/ntp.conf 2)
    # 한국표준과학연구원, time.bora.net
    server 203.248.240.103
    # svcadm enable ntp
    
    1) 주석만 풀어주면 된다.
    2) 여기에서는 NTP 데몬을 이용한 타임서버 동기화 방법을 설명했다. 다른 방법으로 rdate를 cron에 등록시키는 방법도 있다. [rdate time.bora.net]명령을 이용하면된다. [svcadm enable time:stream]와 [svcadm enable time:dgram]가 활성화되어있는 솔라리스 호스트라면 그 호스트에서 시간을 가져올 수 있다.
  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. 가뿐하게 한번 재시작해준다.
    # sync
    # sync
    # init 6
    

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

아래에 소개된 프로그램을 설치한다. 솔라나라의 문서를 적용하려면 반드시 설치해야 한다.

Sun Studio 12

※ cc(C 컴파일러)를 설치한다. 솔라나라는 gcc가 아닌 cc를 사용할 것이다. SunStudio12ml-solaris-x86-200709-pkg.tar.bz2 파일은 Sun Studio Downloads에서 Sun Developer Network에 무료로 가입한 후 받을 수 있다.

※ 솔라나라를 2005년 7월에 오픈하면서 이번 리뉴얼에까지 가장 많이 바뀐것이 바로 gcc기준의 문서를 cc로 바꾼것이다. 솔라리스에서 cc가 유료였던 관계로 하는수 없이 gcc를 썼었는데 Sun Studio 12부터 무료로 배포되고 사용할 수 있기 때문에 cc를 사용하는 것이다. gcc와 cc를 혼합해서 쓰는것에는 여러가지 문제가 있으며, 아직까지는 솔라리스를 제대로 지원해주는게 cc라고 생각하기 때문에 cc를 기준으로 설명한다. 솔라나라의 문서는 cc를 기준으로 하지만 gcc를 사용해도 큰 문제 없도록 구성 되어있다. sunfreeware의 gcc나 솔라리스 기본 설치된 gcc(/usr/sfw/bin/gcc)를 사용해도 문제 없다는 의미이다. 실제로 어플리케이션이 컴파일시 gcc만을 요구하는 경우 솔라리스에 이미 설치되어있는 gcc를 이용해 컴파일 할 것이다.
  1. root@wl ~ # mkdir SunStudio
    root@wl ~ # cd SunStudio
    root@wl ~/SunStudio # ./batch_installer --show-sla 1)
    메시지 생략
    Please contact Sun Microsystems, Inc.  4150 Network Circle,
    Santa Clara, California 95054 if you have questions.
    root@wl ~/SunStudio # ./batch_installer -p all --accept-sla 1)
    Java Accessibility Bridge for GNOME loaded.
    
    
    root@wl ~/SunStudio # cc 2)
    usage: cc [ options] files.  Use 'cc -flags' for details
    root@wl ~/SunStudio # 
    
    1) 라이센스를 확인한다. [./batch_installer -p all --accept-sla]는 라이센스에 동의하였으며, 아무것도 묻지 않고 전체설치할때 사용하는 명령어이다. [Java Accessibility Bridge for GNOME loaded] 메시지가 나온 이후 한참 걸린다.
    2) 위와같이 나와야 한다. [/usr/ucb/cc: language optional software package not installed] 이렇게 나오면 안된다.
  2. 컴파일러를 설치한 후에는 패치를 해야 한다. Sun Studio 12 Patches에 가보면 버전별로 받아서 설치해야할 패치 목록이 나와있다. 리스트된 패치는 모두 무료로 제공되니 받아서 설치하면 된다. 물론 SDN에 가입해야 받을 수 있다. 솔라나라의 문서는 최신패치를 적용한 것을 기준으로 작성했다.
  3. smpatch (위에서 설명) 를 이용하면 cc가 시스템과 같이 패치된다.

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
Valid XHTML 1.0 Transitional Valid CSS!
Posted by 1010
60.Unix2008. 11. 7. 12:26
반응형
IPMP (IP MultiPathing) 설정하기  (solaris8 이상 지원)
**************************************************



1) IPMP 설정 (Active-Standby 설정)


1.1) PROM 의 정보를 설정한다.

# eeprom local-mac-address?=true

; 시스템에 hme0 외에 hme1 인터페이스가 있어도 기본적으로는 mac address 가 hme0 의 mac address 를 갖게 되는데 (즉, 시스템 mac 주소를 갖는데)

hme1 에도 자기 고유의 mac address 를 가지게 하려면 local-mac-address? 를 true로 바꾸어준다.   default=false



1.2) 네트워크 장애 감지용 IP-address를 설정한다. (test IP -> 고정)

# ifconfig hme0 192.168.0.71 group black [netmask 255.255.255.0] deprecated -failover up



1.3) Service IP를 설정한다. (failover시 이동한다. -> 가변적)

# ifconfig hme0 addif 192.168.0.70 [netmask 255.255.255.0] up

: hme0 에 장애 발생시 service IP 는 qfe2 로 이동을 하므로 계속 사용할 수 있다.

test IP 는 hme0 에 대한 test 만 수행하고 이동은 하지 않으므로 사용할 수 없다.



1.4) qfe2 에 standby용 test IP를 설정한다.

# ifconfig qfe2 plumb 192.168.0.72 group black [netmask 255.255.255.0] deprecated    -failover standby up




1.5) 설정된 정보를 확인한다.

# ifconfig -a

# scstat -i  (네트워크 인터페이스 상태 확인)




1.6) 명령을 사용하여 failover 상태 점검한다.

# if_mpadm -d hme0

# ifconfig -a

# scstat -i




1.7) 원 위치 하기

# if_mpadm -r hme0

# ifconfig -a

# scstat -i






2) IPMP 설정 (Active-Active 설정)


2.1) PROM 정보를 설정한다.

# eeprom local-mac-address?=true

; 시스템에 hme0 외에 hme1 인터페이스가 있어도 기본적으로는 mac address 가 hme0 의 mac address 를 갖게 되는데 (즉, 시스템 mac 주소를 갖는데)

hme1 에도 자기 고유의 mac address 를 가지게 하려면 local-mac-address? 를 true로 바꾸어준다.   default=false


2.2) test IP 를 설정한다.

# ifconfig hme0 192.168.0.71 group black [netmask 255.255.255.0] deprecated -failover up


2.3) service IP 를 설정한다.

# ifconfig hme0 addif 192.168.0.70 [netmask 255.255.255.0] up


2.4) test IP를 설정한다.

# ifconfig qfe2 plumb 192.168.0.72 group black [netmask 255.255.255.0] deprecated -failover up


2.5) service IP를 설정한다.

# ifconfig qfe2 addif 192.168.0.73 [netmask 255.255.255.0] up

# ifconfig -a

# scstat -i



2.6) 명령을 사용하여 failover 상태 점검한다.

# if_mpadm -d hme0

# ifconfig -a

# scstat -i



2.7) 원 위치 하기

# if_mpadm -r hme0

# ifconfig -a

# scstat -i




3) IPMP 설정 제거하기


3.1) 가상 인터페이스를 제거한다.

# ifconfig qfe2:1 unplumb

# ifconfig qfe2 unplumb

# ifconfig hme0:1 unplumb



3.2) hme0 의 카드 정보를 수정한다.

# ifconfig hme0 -deprecated failover

# ifconfig hme0 group ""





4) 반영구적 사용을 위한 IPMP 설정


4.1) Active-Standby 설정시

# vi /etc/hostname.hme0

192.168.0.71 group black up -failover deprecated addif 192.168.0.70 netmask 255.255.255.0 up



# vi /etc/hostname.qfe2

192.168.0.73 group black deprecated -failover standby up




4.2) Active-Active 설정시

# vi /etc/hostname.hme0

192.168.0.71 group black up -failover deprecated addif 192.168.0.70 netmask 255.255.255.0 up



# vi /etc/hostname.qfe2

192.168.0.72 group black up -failover deprecated addif 192.168.0.73 netmask 255.255.255.0 up
Posted by 1010
60.Unix2008. 11. 7. 10:03
반응형

Solaris 10 에서 openvpn 서버 설치하기


최근 solaris 환경에 openvpn 서버를 설치할 기회가 있었는데, linux 에서와는 달리 약간의 삽질이 필요했습니다. 배포본으로부터 바이너리 및 설치 스크립트를 제공받을 수 없어서, /dev/tun 장치 파일 생성이나 ip forwarding / NAT 설정에서 조금 메모해 둘 필요가 있다고 생각되어 아래 내용을 보충해 둡니다.

작업했던 환경은 solaris 10 입니다. solaris 9 이하에서도 ip filter 설치 이외에 특별한 차이는 없습니다.
# uname -a
SunOS tomoko 5.10 Generic_127127-11 sun4v sparc SUNW,SPARC-Enterprise-T5220 Solaris

openvpn 바이너리 및 tun 드라이버 생성


본문의 [http]1.4.1 설치하기 에 해당되는 내용입니다.

우선 openvpn 소스코드에서 컴파일하지 않으면 되지 않으므로, http://www.sunfreeware.com/ 에서 gcc, libtool 등을 설치하여 기본적인 컴파일 환경을 갖추어야 합니다. 또한 openvpn 컴파일시에 필요한 openssl, lzo 라이브러리도 미리 설치해 두기로 합니다. 각 패키지가 동작하기 위한 의존성이 걸린 패키지도 설치되어 있지 않다면 함께 설치해 주세요.
# gzip -d gcc-3.4.6-sol10-sparc-local.gz
# pkgadd -d ./gcc-3.4.6-sol10-sparc-local
...
# pkgadd -d ./openssl-0.9.8h-sol10-sparc-local
# pkgadd -d ./lzo-2.03-sol10-sparc-local

이제 openvpn 소스코드를 컴파일하게 되는데, solaris 10 에는 /dev/tun 장치가 생성되어 있지 않으므로, 그냥 진행하면 아래와 같은 오류를 내면서 컴파일이 중단됩니다.
tun.c:1183:2: #error I need the symbol TUNNEWPPA from net/if_tun.h
tun.c: In function `open_tun':
tun.c:1245: error: `TUNNEWPPA' undeclared (first use in this function)
tun.c:1245: error: (Each undeclared identifier is reported only once
tun.c:1245: error: for each function it appears in.)
make[1]: *** [tun.o] Error 1
make[1]: Leaving directory `/data/pkg/openvpn/openvpn-2.0.9'

따라서 openvpn 설치 전에 미리 tun 드라이버를 생성해 둡니다. solaris 설치 시디에서 드라이버를 설치할 수 있을 것 같기도 한데, 귀찮기도 하거니와 방법도 잘 모르겠고 해서 구글링한 결과, 아래와 같은 해결책을 찾았습니다.

# wget http://vtun.sourceforge.net/tun/tun-1.1.tar.gz
# zcat tun-1.1.tar.gz | tar xvf -
# cd tun-1.1/solaris
# perl -pi~ -e 's;"TUN/TAP driver .*;"TUN/TAP driver 1.1",;' tun.c
# perl -pi~ -e 's/#define TUNSETPPA.*/$&\n\n#define TUN_VER "1.1"/' if_tun.h
# gcc -O2 -Wall -D_KERNEL -I. -m64 -mcpu=ultrasparc -c tun.c
# /usr/ccs/bin/ld -r -o tun tun.o
# file tun
tun:            ELF 64-bit MSB relocatable SPARCV9 Version 1, UltraSPARC1 Extensions Required
# cp tun /usr/kernel/drv/sparcv9/tun
# cp tun.conf /usr/kernel/drv/tun.conf
# cp if_tun.h /usr/include/net/if_tun.h
# chmod 755 /usr/kernel/drv/sparcv9/tun
# chown root:sys /usr/kernel/drv/sparcv9/tun /usr/kernel/drv/tun.conf
# chown root:bin /usr/include/net/if_tun.h
# rem_drv tun
# add_drv -v tun
# ls -als /dev/tun
1 lrwxrwxrwx 1 root sys 29 Oct 22 11:03 /dev/tun -> ../devices/pseudo/clone@0:tun

사용하는 장비의 아키텍처에 따라 gcc 옵션 및 tun 드라이버 설치 위치를 적절히 변경하면 되겠습니다. 제대로 되었다면 /dev/tun 캐릭터 디바이스가 생성됩니다.

다음으로 openvpn 소스코드 컴파일입니다. openssl 및 lzo 라이브러리 위치를 지정해 줄 필요가 있습니다. 아마도 LD_LIBRARY_PATH 에도 지정이 되어 있어야 할 것 같습니다. (귀찮아서 미확인)
# env | grep PATH
LD_LIBRARY_PATH=/usr/local/lib:/usr/local/ora:/usr/local/ssl/lib:/usr/openwin/lib:...
PATH=/usr/local/bin:/usr/local/ssl/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/ccs/bin:...
# ./configure --with-ssl-headers=/usr/local/ssl/include --with-ssl-lib=/usr/local/ssl/lib
# make
# make install
# ls -als /usr/local/sbin/openvpn
1504 -rwxr-xr-x 1 root root 1525160 Oct 22 14:57 /usr/local/sbin/openvpn

openvpn 기동시에 LD_LIBRARY_PATH 지정하는 것이 귀찮다면, 바이너리를 링크할 때 rpath 지정해 주면 편리합니다. solaris ld 는 rpath 지정하는 옵션이 -R 입니다. rpath 지정하는 것이 나쁘다는 의견도 있으므로 아래는 참고로 하시면 되겠습니다.
# gcc  -g -O2  -L/usr/local/ssl/lib -R /usr/local/lib:/usr/local/ssl/lib -o openvpn            \
    base64.o buffer.o  crypto.o error.o event.o  fdmisc.o forward.o fragment.o  gremlin.o      \
    helper.o init.o  interval.o list.o lzo.o  manage.o mbuf.o misc.o  mroute.o mss.o mtcp.o    \
    mtu.o  mudp.o multi.o ntlm.o occ.o  openvpn.o options.o otime.o  packet_id.o perf.o ping.o \
    plugin.o pool.o proto.o  proxy.o push.o reliable.o  route.o schedule.o session_id.o        \
    shaper.o sig.o socket.o  socks.o ssl.o status.o  thread.o tun.o                            \
    -lssl -lcrypto -llzo2 -lnsl -lsocket
# env | grep LD_LIBRARY_PATH
(nothing found)
# ldd openvpn
        libssl.so.0.9.8 =>       /usr/local/ssl/lib/libssl.so.0.9.8
        libcrypto.so.0.9.8 =>    /usr/local/ssl/lib/libcrypto.so.0.9.8
        liblzo2.so.2 =>  /usr/local/lib/liblzo2.so.2
        libnsl.so.1 =>   /lib/libnsl.so.1
        libsocket.so.1 =>        /lib/libsocket.so.1
        libc.so.1 =>     /lib/libc.so.1
        libdl.so.1 =>    /lib/libdl.so.1
        libgcc_s.so.1 =>         /usr/local/lib/libgcc_s.so.1
        libmp.so.2 =>    /lib/libmp.so.2
        libmd.so.1 =>    /lib/libmd.so.1
        libscf.so.1 =>   /lib/libscf.so.1
        libdoor.so.1 =>  /lib/libdoor.so.1
        libuutil.so.1 =>         /lib/libuutil.so.1
        libgen.so.1 =>   /lib/libgen.so.1
        libm.so.2 =>     /lib/libm.so.2
        /platform/SUNW,SPARC-Enterprise-T5220/lib/libc_psr.so.1
        /platform/SUNW,SPARC-Enterprise-T5220/lib/libmd_psr.so.1

ip forwarding / NAT 설정


본문의 [http]1.6.2 서버쪽의 다른 서버들 연결하기 에 해당하는 내용입니다.

solaris 10 을 기준으로 설명합니다. solaris 9 이하에서는 설정을 위한 명령어가 약간 차이가 있습니다.

ip forwarding 기능을 활성화 하기 위하여 routeadm 명령을 사용합니다. -u 옵션으로 다음 부팅시에도 적용되도록 된다고 합니다. (미확인)
# routeadm -u -e ipv4-forwarding
# routeadm
              Configuration   Current              Current
                     Option   Configuration        System State
---------------------------------------------------------------
               IPv4 routing   disabled             disabled
               IPv6 routing   disabled             disabled
            IPv4 forwarding   enabled              enabled
            IPv6 forwarding   disabled             disabled

           Routing services   "route:default ripng:default"
...
# ifconfig -a
lo0: flags=2001000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4,VIRTUAL> mtu 8232 index 1
        inet 127.0.0.1 netmask ff000000
tun0: flags=10011008d1<UP,POINTOPOINT,RUNNING,NOARP,MULTICAST,ROUTER,IPv4,FIXEDMTU> mtu 1500 index 3
        inet 10.8.0.1 --> 10.8.0.2 netmask ffffffff
        ether 0
e1000g0: flags=1100843<UP,BROADCAST,RUNNING,MULTICAST,ROUTER,IPv4> mtu 1500 index 5
        inet 210.103.xxx.xxx netmask fffffffc broadcast 210.103.xxx.xxx
        ether xx:xx:xx:xx:xx:xx

tun0, e1000g0 인터페이스 상태에 ROUTER 가 추가되었습니다. 상기 설정으로 openvpn 서버는 라우터의 역할을 하게 되고, openvpn 클라이언트로부터 tun0 를 통해 전달받은 패킷을 외부로 뿌려줄 수 있게 됩니다. 하지만 패킷의 source ip 가 openvpn 클라이언트의 사설 ip 인 상태이므로, 클라이언트가 vpn 을 통해 다른 서버와 통신할 수는 없습니다. 따라서 추가적으로 NAT 설정을 해 주어야 합니다.

linux 의 iptables 에 대응하여 solaris 에는 ip filter 가 있습니다. solaris 10 부터는 기본적으로 설치되어 있고, solaris 9 이하에서는 별도로 설치해야 합니다. 설치 방법은 어렵지 않다고 하니 구글의 도움을 받도록 합시다. 설치가 되었다면 nat 설정을 추가하고(ipnat.conf), 설정을 적용할 네트웍 디바이스를 지정합니다(pfil.ap). ipf 설정은 보다 복잡하게 할 수 있지만, 여기서는 openvpn 클라이언트의 주소지(10.8.0.0/24)에서 들어온 패킷을 외부 인터넷(e1000g)으로 연결하도록 간단하게 한 줄만 추가합니다.
# echo "map e1000g0 10.8.0.0/24 -> 0/32" >> /etc/ipf/ipnat.conf
# echo "e1000g -1 0 pfil" >> /etc/ipf/pfil.ap
# ifconfig e1000g0 down
# ifconfig e1000g0 unplumb
# ifconfig e1000g0 plumb
# ifconfig e1000g0 210.103.xxx.xxx netmask 255.255.255.252 up

pfil.ap 설정을 적용하기 위해서는 네트웍 디바이스를 내렸다 올려야 함에 유의하고, 여기까지 되었다면 pfil, ipfilter 서비스를 구동하여 상태를 확인합니다.
# svcadm enable svc:/network/pfil
# svcadm enable svc:/network/ipfilter
# ipf -V
ipf: IP Filter: v4.1.9 (592)
Kernel: IP Filter: v4.1.9
Running: yes
Log Flags: 0 = none set
Default: pass all, Logging: available
Active list: 0
Feature mask: 0x107

openvpn 클라이언트에서 인터넷을 접속할 때 vpn 서버의 ip 가 묻어 나가는 것이 확인되면 완료입니다. :-)
Posted by 1010
60.Unix2008. 11. 6. 17:20
반응형
Posted by 1010
60.Unix2008. 11. 6. 17:18
반응형
Posted by 1010
60.Unix2008. 11. 6. 17:17
반응형
환경
Tomcat 5.5
JDK 1.6

순서
JDK 1.6을 설치
Tomcat 5.5 설치
JK-Connector 설정

JDK 1.6 설치

1. http://java.sun.com 에서 솔라리스용 jdk 1.6 을 다운로드 받는다.

사용자 삽입 이미지

   32 비트 버전부터 다운 받아야 한다.
 
  #  zcat jdk-6<update>-solaris-sparc.tar.Z | tar -xf -
 
   이전 버전 패키지를 삭제한다.
  
   # pkgrm SUNWj6rt SUNWj6dev SUNWj6cfg SUNWj6man SUNWj6dmo
  
   패키지를 설치한다.
  
 #  pkgadd -d . SUNWj6rt SUNWj6dev SUNWj6cfg SUNWj6man SUNWj6dmo
  
2. 64 비트 버전을 받아 설치한다.

   # zcat jdk-6<update>-solaris-sparcv9.tar.Z | tar -xf -
  
   이전 버전 패키지를 삭제한다.
  
   # pkgrm SUNWj6rtx SUNWj6dvx SUNWj6dmx
  
   패키지를 설치한다.
  
   # pkgadd -d . SUNWj6rtx SUNWj6dvx SUNWj6dmx

Tomcat 5.5 설치
http://tomcat.apache.org 에서 Tomcat5.5를 받는다.

사용자 삽입 이미지

tar 형식으로 된 파일이 tar를 풀면서 에러가 나타났기 때문에
zip 형식으로 된 tomcat 파일을 받는다.

# unzip apache-tomcat-5.5.25.zip
압축을 풀면 디렉토리가 생긴다.
이 디렉토리를 옮긴다.
# mv ./apache-tomcat-5.5.25 /usr/local/tomcat5

아래 파일에 아래 내용을 추가한다.
# vi /etc/profile
export JAVA_HOME="/usr/jdk/jdk1.6.0_03/"
CLASSPATH=".:/usr/jdk/jdk1.6.0_03/lib/tools.jar"
export CLASSPATH
CATALINA_HOME=/usr/local/tomcat5
PATH=$PATH:$CATLINA_HOME/bin
export CATALINA_HOME
# source /etc/profile
위 명령어를 실행 시키면 적용된다.

zip 으로 압축을 푼 파일은 파일 권한에 실행 권한이 없다.
그러므로 실행권한을 준다.
디렉토리 변경후
# cd /usr/local/tomcat5/bin/
# chmod 755 ./*


# /usr/local/tomcat5/bin/startup.sh
Using CATALINA_BASE:   /usr/local/tomcat5
Using CATALINA_HOME:   /usr/local/tomcat5
Using CATALINA_TMPDIR: /usr/local/tomcat5/temp
Using JRE_HOME:       /usr/jdk/jdk1.6.0_03/

설치 확인
http://localhost:8080/
사용자 삽입 이미지


JK-Connector를 솔라리스용으로 컴파일된 걸 받는다.
http://tomcat.apache.org
이 곳에서 받을 수 있다.
사용자 삽입 이미지

이 파일을 이 위치에 둔다.

/usr/local/apache2/modules/mod_jk.so

/usr/local/tomcat5/conf/server.xml
에 아래 내용을 추가한다.
참고로 defaultHost 를 꼭 바꿔준다. localhost 로 두면 외부에서 확인 불가능이다.
<Engine name="Catalina" defaultHost="203.249.108.164"> <== 보통 요녀석 밑에 추가한다.
        <Listener
className="org.apache.jk.config.ApacheConfig" modJk="/usr/local/apache2/modules/mod_jk.so" />
        <Listener className="org.apache.jk.config.ApacheConfig" append="true" forwardAll="true" modJk="/usr/local/apache2/modules/mod_jk.so" />



/etc/apache2/httpd.conf 에 아래 내용을 추가한다.
Include "/usr/local/tomcat5/conf/auto/mod_jk.conf"
Posted by 1010
60.Unix2008. 11. 6. 17:12
반응형
이전이전: RAID-1 볼륨을 사용하는 이유

RAID-1 볼륨의 작동 방법

Solaris 볼륨 관리자에서는 가상 디스크를 사용하여 물리적 디스크와 관련 데이터를 관리합니다. Solaris 볼륨 관리자에서는 가상 디스크를 볼륨이라고 합니다. 볼륨은 시스템에 단일 논리 장치로 나타나는 물리적 슬라이스 그룹의 이름입니다. 볼륨은 표준 UNIX® 용어로 실제로 의사 또는 가상 장치입니다.

볼륨은 응용 프로그램 또는 파일 시스템(예: UFS)의 관점에서 보면 물리적 디스크와 기능적으로 동일합니다. Solaris 볼륨 관리자는 볼륨에 지정된 입출력 요청을 기본 구성 디스크로 변환합니다. Solaris 볼륨 관리자 볼륨은 슬라이스(디스크 분할 영역)나 다른 Solaris 볼륨 관리자 볼륨에서 구축됩니다.

볼륨을 사용하여 성능 및 데이터 가용성을 높입니다. 경우에 따라 볼륨으로 입출력 성능을 높일 수도 있습니다. 볼륨은 기능적으로 슬라이스와 같은 방식으로 작동합니다. 볼륨의 모양은 슬라이스와 유사하므로 최종 사용자, 응용 프로그램 및 파일 시스템에 명확히 나타납니다. 물리적 장치와 마찬가지로 Solaris Volume Manager 소프트웨어를 사용하여 블록 장치 이름이나 원시 장치 이름을 통해 볼륨에 액세스할 수 있습니다. 블록 장치 또는 원시 장치 사용 여부에 따라 볼륨 이름이 변경됩니다. 사용자 정의 JumpStart 설치 방법 및 Solaris Live Upgrade는 미러된 파일 시스템을 만들기 위해 블록 장치 사용을 지원합니다. 볼륨 이름에 대한 자세한 내용은 사용자 정의 JumpStart 및 Solaris Live Upgrade에 대한 RAID 볼륨 이름 요구 사항 및 지침 을 참조하십시오.

RAID-0 볼륨(단일 슬라이스 연결)을 사용하여 RAID-1 볼륨을 만들 경우 Solaris Volume Manager는 RAID-0 하위 미러에 데이터를 복제하고 하위 미러를 단일 볼륨으로 간주합니다.

그림 8–1은 2개의 물리적 디스크에 걸쳐 루트(/) 파일 시스템을 복제하는 미러를 보여줍니다.

그림 8–1 디스크의 루트(/) 파일 시스템에 RAID-1 볼륨 만들기

그림에 대한 설명은 컨텍스트를 참조하십시오.

그림 8–1은 다음과 같은 구성의 시스템입니다.

  • 이름이 d30인 미러는 d31d32라는 이름의 하위 미러로 구성됩니다. 미러 d30은 양쪽 하위 미러의 루트(/) 파일 시스템에 데이터를 복제합니다.

  • hdisk0의 루트( /) 파일 시스템은 이름이 d31인 단일 슬라이스 연결에 포함됩니다.

  • 루트(/) 파일 시스템은 hdisk1이라는 하드 디스크에 복사됩니다. 이 복사는 이름이 d32인 단일 슬라이스 연결입니다.


다음다음: Solaris Volume Manager 구성요소의 개요
Posted by 1010
60.Unix2008. 11. 6. 16:45
반응형
SPARC: Solaris 설치 프로그램을 사용하여 설치 또는 업그레이드

이 절차에서는 CD 또는 DVD 매체에서 독립형 SPARC 기반 시스템을 설치하는 방법에 대하여 설명합니다.


주 –

DVD-ROM 또는 CD-ROM 드라이브에 직접 연결되지 않은 컴퓨터나 도메인에서 Solaris OS를 설치하려는 경우 다른 컴퓨터에 연결된 DVD-ROM 또는 CD-ROM을 사용할 수 있습니다. 자세한 설명은 Solaris 10 설치 설명서: 네트워크 기반 설치의 부록 B, 원격으로 설치 또는 업그레이드(작업)를 참조하십시오.


시작하기 전에

설치를 시작하기 전에 다음 작업을 수행합니다.

  • 다음 매체가 있는지 확인합니다.

    • DVD 설치: Solaris 10 Operating System for SPARC Platforms DVD

    • CD 설치:

      • Solaris 10 Software CD.

      • Solaris 10 Languages for SPARC Platforms CD – 설치 프로그램은 특정 지역의 언어를 지원해야 할 경우 이 CD를 요청합니다.


        주 –

        비전역 영역이 설치된 시스템을 업그레이드할 경우 Solaris 10 Software CD를 사용할 수 없습니다. Solaris 10 Operating System DVD 또는 DVD 기반 네트워크 설치 이미지를 사용해야 합니다.


  • 시스템이 최소 요구 사항을 만족하는지 확인합니다.

    시스템이 다음 요구 사항을 만족해야 합니다.

    • 메모리 – 128MB 이상

    • 디스크 공간 – 6.8GB 이상

    • 프로세서 속도 – 200MHz 이상

    시스템 요구 사항에 대한 자세한 내용은 시스템 요구 사항 및 권장 사항을 참조하십시오.

  • Solaris OS를 설치하는 데 필요한 정보를 수집합니다.

    • 네트워크되지 않은 시스템의 경우 다음 정보를 수집합니다.

      • 설치하는 시스템의 호스트 이름

      • 시스템에서 사용하려는 언어 및 로켈

    • 네트워크된 시스템의 경우 다음 정보를 수집합니다.

      • 설치하는 시스템의 호스트 이름

      • 시스템에서 사용하려는 언어 및 로켈

      • 호스트 IP 주소

      • 서브넷 마스크

      • 이름 서비스의 유형(예: DNS, NIS 또는 NIS+)

      • 도메인 이름

      • 이름 서버의 호스트 이름

      • 이름 서버의 호스트 IP 주소

      • 루트 비밀번호

    시스템을 설치할 때 수집해야 하는 정보에 대한 내용은 설치를 위한 검사 목록을 참조하십시오. 시스템을 업그레이드하는 경우 Solaris 10 설치 설명서: Solaris Live Upgrade 및 업그레이드 계획업그레이드를 위한 검사 목록을 참조하십시오.

  • (선택 사항) 시스템을 백업합니다.

    기존 데이터 또는 응용 프로그램을 보존하려면 시스템을 백업합니다. 시스템 백업에 대한 자세한 설명은 System Administration Guide: Devices and File Systems의 24 장, Backing Up and Restoring File Systems (Overview)를 참조하십시오.

단계
  1. Solaris 10 Operating System for SPARC Platforms DVD 또는 Solaris 10 Software for SPARC Platforms - 1 CD를 넣습니다.

  2. 시스템을 부트합니다.

    • 시스템을 새로 구입한 경우 시스템을 켭니다.

    • 현재 실행 중인 시스템을 설치하려면 시스템을 종료합니다.

    ok 프롬프트가 표시됩니다.

  3. Solaris 설치 프로그램을 시작합니다.

    • 로컬 DVD 또는 CD에서 부트하고 Solaris 설치 GUI를 시작하려면 다음 명령을 입력합니다.


      ok boot cdrom
      
    • 로컬 DVD 또는 CD에서 부트하고 바탕화면 세션에서 텍스트 설치 프로그램을 시작하려면 다음 명령을 입력합니다.


      ok boot cdrom - text
      
      text

      바탕화면 세션에서 텍스트 설치 프로그램을 실행하도록 지정합니다. 기본 GUI 설치 프로그램을 변경하려면 이 옵션을 사용하십시오.

    • 로컬 DVD 또는 CD에서 부트하고 콘솔 세션에서 텍스트 설치 프로그램을 시작하려면 다음 명령을 입력합니다.


      ok boot cdrom - nowin
      
      nowin

      콘솔 세션에서 텍스트 설치 프로그램을 실행하도록 지정합니다. 기본 GUI 설치 프로그램을 변경하려면 이 옵션을 사용하십시오.

    Solaris 설치 GUI와 텍스트 설치 프로그램에 대한 자세한 내용은 Solaris 설치 프로그램 GUI 또는 텍스트 설치 프로그램 요구 사항을 참조하십시오.

    설치가 시작됩니다. 설치 프로그램에 설치하는 동안 사용할 언어를 선택하는 프롬프트가 표시됩니다.

  4. 설치하는 동안 사용할 언어를 선택하고 Enter를 누릅니다.

    잠시 후 Solaris 설치 프로그램 시작 화면이 표시됩니다.

    • Solaris GUI 설치 프로그램을 실행하는 경우 그림 2–1과 같은 화면이 표시됩니다.

    • 바탕화면 세션에서 Solaris 텍스트 설치 프로그램을 실행하는 경우 그림 2–2와 같은 화면이 표시됩니다.

    그림 2–1 Solaris GUI 설치 프로그램 시작 화면

    GUI 시작 화면은 다음 화면 캡처와 같습니다. 이 화면에는 설치 프로그램이 시스템을 구성할 때 필요한 정보 목록이 표시됩니다.
    그림 2–2 Solaris 텍스트 설치 프로그램 시작 화면

    텍스트 시작 화면은 다음 화면 캡처와 같습니다. 이 화면에는 설치 프로그램이 시스템을 구성할 때 필요한 정보 목록이 표시됩니다.
  5. 다음을 눌러 설치를 시작합니다. 메시지가 표시되면 시스템 구성 질문에 응답합니다.

    구성 질문에 응답한 후, Solaris 시작 대화 상자가 표시됩니다.

    그림 2–3 Solaris 시작 화면

    설치 시작 화면의 Next 및 Edit 버튼은 화면 캡쳐에 보이는 것과 같습니다.

    설치 질문 화면이 나타납니다.

  6. 시스템을 자동으로 재부트할 것인지 디스크를 자동으로 꺼낼 것인지 결정합니다. 다음을 누릅니다.

    매체 지정 화면이 나타납니다.

  7. 설치에 사용할 매체를 지정합니다. 다음을 누릅니다.

    라이센스 패널이 나타납니다.

  8. 설치를 계속하려면 사용권 계약에 동의해야 합니다. 다음을 누릅니다.

    Solaris 설치 그러면 설치 프로그램이 시스템을 업그레이드할 수 있는지 판단합니다. 업그레이드하려면 시스템에 반드시 기존 Solaris 루트(/) 파일 시스템이 있어야 합니다. Solaris 설치 프로그램이 필요한 조건을 검출한 후 시스템을 업그레이드합니다.

    업그레이드 또는 초기화 설치 선택 화면이 나타납니다.

  9. 초기화 설치를 수행할지 업그레이드를 수행할지 결정합니다. 다음을 누릅니다.

    비전역 영역이 설치된 시스템을 업그레이드할 경우 다음을 수행합니다.

    1. 초기화 설치 또는 업그레이드를 선택하라는 메시지가 표시되면 업그레이드를 선택합니다. 다음을 누릅니다.

    2. 시스템에 루트(/) 분할 영역이 여러 개인 경우 업그레이드할 버전 선택 패널에서 업그레이드할 분할 영역을 선택합니다.

      Solaris 설치 프로그램에서 업그레이드를 사용자 정의할 수 없다는 메시지가 표시됩니다. Solaris 설치 프로그램에서 시스템을 분석하여 업그레이드될 수 있는지 판단합니다. 업그레이드 준비 완료 페이지가 표시됩니다.

      시스템에 루트 분할 영역이 한 개만 있는 경우 Solaris 설치 프로그램에서 업그레이드할 분할 영역을 선택하라는 메시지가 표시되지 않습니다. 그 분할 영역이 자동으로 선택됩니다.

    3. 업그레이드를 계속하려면 업그레이드 준비 패널에서 지금 설치를 누릅니다.

      Solaris 설치 프로그램이 시스템을 업그레이드하기 시작합니다. 업그레이드가 완료된 후에는 보존되지 않은 일부 로컬 수정 사항을 보정할 필요가 있습니다. 자세한 내용을 보려면 단계 12단계 a로 이동합니다.

      업그레이드를 계속하지 않으려면 뒤로를 눌러 초기화 설치를 수행합니다.

  10. 수행하려는 설치의 유형을 선택합니다. 다음을 누릅니다.

    • 전체 Solaris 소프트웨어 그룹을 설치 하려면 기본 설치를 선택합니다.

    • 다음 작업을 하려면 사용자 정의 설치를 선택합니다.

      • 특정 소프트웨어 그룹 설치

      • 추가 소프트웨어 설치

      • 특정 소프트웨어 패키지 설치

      • 특정 로켈 설치

      • 디스크 레이아웃 사용자 정의

      소프트웨어 그룹에 대한 자세한 내용은 소프트웨어 그룹의 권장 디스크 공간를 참조하십시오.


    주 –

    텍스트 설치 프로그램에서는 기본 또는 사용자 정의 설치 선택 프롬프트가 표시되지 않습니다. 기본 설치를 수행하려면 텍스트 설치 프로그램에 제공된 기본 값을 사용합니다. 사용자 정의 설치를 수행하려면 텍스트 설치 프로그램 화면에서 값을 편집합니다.


  11. 프롬프트가 표시되면 추가 구성 질문에 대하여 응답합니다.

    시스템 설치에 필요한 정보를 입력하면 설치 준비 화면이 표시됩니다.

    그림 2–4 Solaris 설치 준비 화면

    설치 준비 화면은 다음 화면 캡처와 같습니다. 이 화면에 설치하는 동안 입력한 구성 정보 목록이 표시됩니다.
  12. Solaris 소프트웨어를 설치하려면 지금 설치를 누릅니다. 화면에 표시되는 설명을 따라 Solaris 소프트웨어를 설치합니다.

    Solaris 설치 프로그램이 Solaris 소프트웨어 설치를 완료하면 시스템이 자동으로 다시 부트되거나 사용자에게 직접 다시 부트하도록 프롬프트가 표시됩니다.

    추가 제품을 설치하는 경우 해당 제품의 DVD 또는 CD를 넣으라는 프롬프트가 표시됩니다. 설치 과정에 대해 적절한 설치 설명서를 참조하십시오.

    설치가 완료된 후 설치 로그가 파일에 저장됩니다. 설치 로그는 /var/sadm/system/logs/var/sadm/install/logs 디렉토리에 있습니다.

    • 처음 설치하는 경우 설치가 완료됩니다. 단계 13으로 이동합니다.

    • Solaris 소프트웨어를 업그레이드할 경우 보존되지 않은 일부 로컬 수정 사항을 보정할 필요가 있습니다. 단계 a로 계속합니다.

      1. /a/var/sadm/system/data/upgrade_cleanup 파일의 내용을 검토하여 Solaris 설치 프로그램이 보존하지 못한 로컬 수정 내용을 교정해야 하는지 판단합니다.

      2. 보존되지 않은 모든 로컬 수정 사항을 보정합니다.

  13. 설치하는 동안 자동 재부팅을 선택하지 않은 경우 시스템을 다시 부트합니다.


    # reboot
    
Posted by 1010
60.Unix2008. 11. 3. 13:39
반응형

E3500system의 booting이 안될때...

E3500 system에 Solaris 2.6 3/98또는 5/98 version의 Enduser cluster type으로install하였을 경우 booting을 하지 못하며, 다음과 비슷한 error를 보게 될것이다.
cannot load drivers for sbus@2,0/sunw,socal@c,10000/ss@0,0/ssd@w21000020370eaf1c,0:a
위와 같은 error는 다음의 package가 install되어 있지 않기 때문이므로, OS
install시 반드시 선택하여 install하여야 한다.
               SUNWhea         SunOS Header Files

        SUNWssadv       SPARCstorage Array Drivers

 

Solaris 2.5.1에서의 installboot 명령어 사용법

1. OS CD로 부팅후 CD로 부터  bootblock을 disk로 복사하여 설치 하려면 아래와 같이 
   installboot 명령을 실행 한다.
    ok boot cdrom -sw
    # installboot /cdrom/export/exec/sparc.Solaris_2.5.1 \    
     /usr/platform/`uname -i`/lib/fs/ufs/bootblk /dev/rdsk/c0txd0s0
위의 명령중 마지막 항목인 /dev/rdsk/c0txd0s0는 bootblock을 설치할 디스크의 device이름을 명기한다. 일반적으로 "/" 화일 시스템은 target 0인 디스크의 0번 slice에 만들기 때문에 bootblock이 install 될 device는 /dev/rdsk/c0t0d0s0가 되지만 다른 target 번호를 사용하는 디스크에 bootblock을 설치할 경우에는 이에 맞는 device이름을 적어준다.
2. backup 받았던 data를 restore한후 bootblock을 다시 설치 하려면 아래와 같은 명령을 사용한다. controller 1번에 연결된 target 0, slice 0의 disk에 설치 하려면 아래와 같이 installboot 명령을 실행 한다.

    # installboot /usr/platform/`uname -i`/lib/fs/ufs/bootblk /dev/rdsk/c1t0d0s0

 

새로운 디스크 설치하기

1. root로 로그인한 후 아래와 같은 명령어를 사용하여 시스템을 다운시킨다. 
             # init 0
             또는 
             # halt 
2. 시스템의 전원을 끄고 새 디스크를 연결한다.
3. 시스템의 전원을 켜고 "stop" key와 "a" key를 동시에 늘러 ok 상태로 시스템을
   내린 후 아래의 명령을 사용하여 리부팅 한다.
               ok boot -r
4.  시스템이 부팅된후 root로 로그인 하여 아래와 같이 format 명령을 실행한다.
               # format
    format명령어를 실행하면 시스템에 연결된 하드디스크가 0번 부터 선택할수 있도
    록 나열되어 보여 진다. 새로연결한 디스크 번호를 선택한후 enter키를 친다.
5.  아래와 같이 format> prompt가 보여지면 "partition"이라고 친후 enter키를 친다.
               format> partition
6.  prompt가 partition>으로 변경되면, print를 실행하여 현재 디스크의 용량을 확인
    한다.
                   partition> print
               Current partition table (unnamed):
               Total disk cylinders available: 2036 + 2 (reserved cylinders)
               Part      Tag    Flag     Cylinders        Size            Blocks
                 0 unassigned    wm       0               0         (0/0/0)          0
                 1 unassigned    wu       0               0         (0/0/0)          0
                 2     backup    wm       0 - 2035     1002.09MB    (2036/0/0) 2052288
                 3 unassigned    wm       0               0         (0/0/0)          0
                 4 unassigned    wm       0               0         (0/0/0)          0
                 5 unassigned    wm       0               0         (0/0/0)          0
                 6 unassigned    wm       0               0         (0/0/0)          0
                 7 unassigned    wm       0               0         (0/0/0)          0
    print결과에서 2번 part가 전체 디스크의 용량을 보여 주며, 위의 결과에서 보면
    전체 디스크 용량은 1002.09MB이고 2036개의 cylinder를 가지고 있음을 알수 있다
7. 사용할 slice(part)와 각 slice에 할당할 디스크 사이즈를 결정하고 아래와 같이 선택을 한다. 전체 디스크 용량을 2개의 slice로 나누고 4과 5번 slice를 사용하고자 할때;
               partition> 4
               Part      Tag    Flag     Cylinders        Size            Blocks
                 4 unassigned    wm       0               0         (0/0/0)          0
               Enter partition id tag[unassigned]: 
               Enter partition permission flags[wm]: 
               Enter new starting cyl[0]: 0
               Enter partition size[0b, 0c, 0.00mb]: 1018c
               partition> print
               Current partition table (unnamed):
               Total disk cylinders available: 2036 + 2 (reserved cylinders)
 
                              Part      Tag    Flag     Cylinders        Size            Blocks
                 0 unassigned    wm       0               0         (0/0/0)          0
                 1 unassigned    wm       0               0         (0/0/0)          0
                 2     backup    wm       0 - 2035     1002.09MB    (2036/0/0) 2052288
                 3 unassigned    wm       0               0         (0/0/0)          0
                 4 unassigned    wm       0 - 1017      501.04MB    (1018/0/0) 1026144
                 5 unassigned    wm       0               0         (0/0/0)          0
                 6 unassigned    wm       0               0         (0/0/0)          0
                 7 unassigned    wm       0               0         (0/0/0)          0
               
               partition> 5
               Part      Tag    Flag     Cylinders        Size            Blocks
                 5 unassigned    wm       0               0         (0/0/0)          0
               Enter partition id tag[unassigned]: 
               Enter partition permission flags[wm]: 
               Enter new starting cyl[0]: 1018
               Enter partition size[0b, 0c, 0.00mb]: 1018c
               partition> print
               Current partition table (unnamed):
               Total disk cylinders available: 2036 + 2 (reserved cylinders)
               Part      Tag    Flag     Cylinders        Size            Blocks
                 0 unassigned    wm       0               0         (0/0/0)          0
                 1 unassigned    wm       0               0         (0/0/0)          0
                 2     backup    wm       0 - 2035     1002.09MB    (2036/0/0) 2052288
                 3 unassigned    wm       0               0         (0/0/0)          0
                 4 unassigned    wm       0 - 1017      501.04MB    (1018/0/0) 1026144
                 5 unassigned    wm       1018 - 2035   501.04MB    (1018/0/0) 1026144
                 6 unassigned    wm       0               0         (0/0/0)          0
                 7 unassigned    wm       0               0         (0/0/0)          0
8. partition 이 끝나면 label을 실행 한다.
               partition> label 
               label 작업을 계속 할 것인지를 물어 보면 "yes" 라고 치고 
               label 작업이 다 끝나면 "quit" 을 2번 쳐서 format 상태에서 빠져 나온다.
9.  아래와 같이 newfs를 실행하여 UNIX filesystem을 새 디스크의 각 slice에 만든다  
               # newfs /dev/rdsk/c#t#d#s#
               "c#t#d#s#" 은 새 디스크의 각 slice에 해당하는 디바이스 이름을 쓴다.
               새 디스크가 coltroller 0에 연결되어 있고 targer 번호 0을 사용하고 있다면
        위의 format에의해 생성된 디스크 device는 c0t0d0s4와 c0t0d0s5가 된다.
10. newfs 작업이 끝나면 새 filesystem을 mount하여 사용한다.
        ** 명령어를 이용하여 filesystem을 mount할때 :
        # mount  -F ufs /dev/dsk/c#t#d#s# 
        ** /etc/vfstab을 사용하여  mount 할때에는 아래와 같이 vfstab에 정의한 후,  
         /dev/dsk/c#t#d#s# /dev/rdsk/c#t#d#s#  ufs 2 yes -
                   아래의 명령을 사용한다.
             # mount 
    시스템이 rebooting된 후에 자동 mount되게 하려면 /etc/vfstab에 정의해야 한다.  
9. 위의 모든 작업이 끝나면 아래 명령어를 사용하여 새 filesystem이 mount되에
   있는지 확인한다.
               # df –k
 
가상터미널 갯수 늘리기(login 사용자수 늘리기)
[A] /etc/system 화일에 아래의 내용을 추가하고 시스템을 rebooting 한다.
    # vi /etc/system
        set pt_cnt=128 ; 128개로 늘리고 싶을때.
        set npty=128
    시스템 재 부팅시 -r option을 사용하여 kernel이 reconfigure 되도록 한다.
   # reboot -- -r
 

cron job 정의하기

1. cron 명령은 지정된 날짜와 시간에 일정 작업을 주기적으로 수행하기 위해 사용되
   며 각 사용자별로 /var/spool/cron/crontabs 디렉토리에 사용자 ID와 같은 이름의
   crontab 화일을 만들어 cron job을 지정할 수 있다. 
   cron 명령은 시스템이 부팅되면서 /etc/rc2.d/S75cron 스크립트에 의해서 daemon
   형태로 수행된다.
2. 각 사용자 별로 crontab 화일을 만드는 방법은 아래와 같이 "crontab -e" 명령을
   실행하면 된다.
              % crontab -e
   위와 같이 명령을 실행하면 "vi"  editor mode로 들어가 crontab 화일을 수정할수
   있게 되는데,  만약 "vi" mode로 들어가지 않으면 "EDITOR" 환경변수를 vi로 변경
   후 crontab 명령을 다시 수행한다.
        2.1 csh을 사용하는 경우
           % setenv EDITOR vi
           % crontab -e
        2.2 sh이나 ksh을 사용하는 경우
           $ EDITOR=vi
           $ export EDITOR
           $ crontab -e
3. crontab 화일의 내용을 정의 하는 format은 아래와 같다.
           요일   실행할 명령
              분 : 0-59
              시 : 0-23
              일 : 1-31
              월 : 1-12
                  요일 : 0-6( 0: 일요일) 
   예) 매주 일요일 오전 3:15에 /var 디렉토리에 있는 core 화일을 지우는 작업
            15 3 * * 0 find /var -name core 2>/dev/null |  xargs rm -f
       매월 1일 오후 6시에 시스템 down message 보내기
            0 18 1 * * wall "System Will be down"
4. /etc/cron.d/cron.allow 화일이나 /etc/cron.d/cron.deny 화일을 이용하여 시스템
   관리자는 각 사용자별로 crontab 화일에 대한 access 권한을 제한 할 수 있다.
   4.1 crontab을 access 할 수 있는 사용자 
       - /etc/cron.d/cron.allow 화일이 존재하는 경우, 그 화일 안에 지정된 사용자 
       - /etc/cron.d/cron.allow 화일이 없는 경우, /etc/cron.d/cron.deny 화일 
         안에 지정되지 않은 사용자
 4.2 crontab을 access 할 수 없는 사용자
         - /etc/cron.d/cron.allow 화일이 존재하는 경우, 그 화일 않에 지정되지 않은
         사용자
         - /etc/cron.d/cron.allow 화일이 없는 경우, /etc/cron.d/cron.deny 화일에
         지정된 사용자
         - /etc/cron.d/cron.allow와 /etc/cron.d/cron.deny 화일이 모두 없는 경우, 
         root를 제외한 모든 사용자 
  4.3 OS가 설치되면 기본적으로 /etc/cron.d/cron.deny이 생성되고 그 안에 아래의
        사용자들이 지정된다.
         daemon
               bin
               smtp
               nuucp
               listen
               nobody
               noaccess
               /etc/cron.d/cron.allow와 /etc/cron.d/cron.deny 화일에 사용자를 지정할 때
               는 위와 같이 한줄에 한명씩 사용자를 지정한다.
5. cron에 관련된 환경은 /etc/default/cron 화일에 정의 할 수 있다.
   % cat /etc/default/cron
   CRONLOG=YES
   PATH=/usr/bin:/usr/ucb:

 

각 사용자가 속한 group의 최대수 증가시키기

1. 한 사용자가 속할수 있는 group의 수는 OS 상에서 아래와 같이 /usr/include/sys/param.h
   화일에 정의 되어 있는 것처럼 ngroup_max 변수에 의해 16으로 제한된다.
               /*
               * These define the maximum and minimum allowable values of the
               * configurable parameter NGROUPS_MAX.
               */
               #define NGROUPS_UMIN    0
               #define NGROUPS_UMAX    32
               /*
               * NGROUPS_MAX_DEFAULT: *MUST* match NGROUPS_MAX value in limits.h.
               * Remember that the NFS protocol must rev. before this can be increased
               */
               #define NGROUPS_MAX_DEFAULT     16
2. 이를 늘려주기 위해서는 아래와 같이 /etc/system화일에 지정한후 시스템을 rebooting한다.
               set ngroups_max_default = 20
   /etc/system 화일에 지정할수 있는 최대 값은 32로 제한되어있다.
3. Important note 
  이 변수의 값은 되도록이면 변경하지 않을 것을 권유한다.
  이 변수의 값이 변경되면 NFS를 사용함에 있어 영향을 미칠수 있다.

 

Solaris 2.6에서 원격 프린터 지정하기

Solaris 2.6에서는 admintool을 이용하여 remote printer를 지정하려 하면 error가
나며, 지정할 수 없다(admintool bug임). 이를 대신하여 명령어로 remote printer를 
지정하려면 아래와 같이 한다.
    # lpsystem -t bsd printer_server_name
    # lpadmin -p printer_name -s printer_server_name -I any
    # lpadmin -d printer_name               <-- default printer로 지정할때.
<예> printer_server_name 이 morning이고,
     printer_name이 kitten 이며 이를 system default printer로 지정하고 싶으면,
               # lpsystem -t bsd morning
               # lpadmin -p kitten -s morning -I any
               # lpadmin -d kitten
위와 같이 한후 admintool에서 지정한 printer가 등록되어 있는지 확인한다.
 

Disk quota 지정하는 방법

) /data3 file system에대하여 각 사용자에게 quota를 할당하고 싶은 경우
1. /etc/vfstab 수정.
               /dev/dsk/c0t1d0s6       /dev/rdsk/c0t1d0s6      /data3  ufs   1  yes rq
    /etc/vfstab에 위와 같이 마지막 항목을 "rq"로 지정한다.
2. quota를 사용하고 싶은 화일시스템의 mouting point에 가서 다음의 명령어를 실행한다.
               # cd /data3
               # touch quotas
               # chmod 600 quotas
3. 각 사용자별로 quota량을 지정한다.
               # edquota user-id
               fs /data3 blocks (soft = 100, hard = 100) inodes (soft = 100, hard = 110)
   block은 1KB단위.
   soft의 한계가 넘으면, 경고메세지가 출력되고, hard한계를 넘으면 file creat가 수행이 되지 않음. 위와 같이 quota를 지정한 경우 /data3 화일 시스템에 사용자의 disk 사용량이 100KB를 넘어서면 경고 메세지가 출력되고 110KB에 달하면 더이상 /data3 화일 시스템에 화일을 만들수 없으며, owner가 user-id로 되어있는 화일의 갯수도 100개가 넘어서면 경고 메세지가 출력되고, 또한  111개 이상의 화일은 만들 수 없다.
4.한 사용자의 quota를 다른 사용자에게 copy하는 경우
    예)  사용자 aa와 같은 quota를 사용자 bb에게 할당하려면
               # edquota -p aa bb
5. 현재 사용자가 사용하고 있는 quota 양을 알아보려면
               # quota -v user-id
6. 시스템을 재 부팅시하지 않고  quota enable이 되게 하려면 아래와 같이 실행 한다.
               # sh /etc/init.d/ufs_quota start
   disable하려면
               # sh /etc/init.d/ufs_quota stop
7. man page 참조
              quota, edquota, checkquota, repquota, quotaon, quotaoff

 

 

Root(/) 화일 시스템 복구

root(/) 화일 시스템이 손상되어 시스템 부팅이 않되는 경우 backup 받아 놓은
data를 사용하여 아래와 같이 복구 할수 있다.
1. 시스템을 down 시키고 OS CD를 CD-ROM drive에 넣는다.
2. 아래와 같이 CDROM 을 이용하여 single-user mode로 부팅한다
   ok  boot cdrom -sw
3. Bourne shell prompt(#)가 나타나면, /로 사용하던 disk device에 새로운 화일
   시스템을 만든다. /로 사용하던 disk device가 /dev/dsk/c0t3d0s0인 경우 아래와
   같이 한다. 
   # newfs /dev/rdsk/c0t3d0s0
4. 새로운 root file system을 fsck명령을 사용하여 점검한다.
   # fsck /dev/rdsk/c0t3d0s0
5. root file system을  /a로 mount한다.
   # mount /dev/dsk/c0t3d0s0 /a
6. root 화일 시스템을 backup 받아놓은 tape을 tape drive에 넣고 아래의 명령을
   실행하여 restore한다.
   # cd /a
   # ufsrestore rvf /dev/rmt/0
7. restore가 끝나면 "restore symbol table"을 지우고 새로만든 root partition을 unmount 한다. 
   # rm restoresymtable
   # cd /
   # umount /a
8. fsck 명령을 사용하여 새 root partition을 다시한번 점검한다.
   # fsck /dev/rdsk/c0t3d0s0
9.아래의 명령을 사용하여 bootblock을 설치한다. 
  # cd /usr/platform/`uname -i`/lib/fs/ufs (Solaris 2.5 이상 버젼인 경우) 
  # cd /usr/lib/fs/ufs (Solaris 2.4 이전 버젼인 경우)
  # installboot bootblk /dev/rdsk/c0t3d0s0
10. 시스템을 재 부팅한다.
    # reboot

 

Sendmail(version SMI-8.6) 구성하기

SunOS의 전자메일은 sendmail에 의해서 운영되며 sendmail은 메일의 라우팅과 forwarding 그리고 aliasing 등을 지정하여 전자메일이  원활히 전달 되도록 한다. 이 글에서는 Solaris 상에 설치되어 있는 Sendmail의 설치와 운영에 관해서 알아본다.
 
1. 설치전 확인사항
   -hostname이 등록되어 있는지 확인
        # hostname 
        #
    위와 같이 아무것도 나오지 않으면 /etc/hostname.{ethernet-interface} 화일에
    hostname을 등록한다.
    "ethernet-interface"가 "le0"인 경우에 /etc/hostname.le0 화일을 확인한다.
    예) # cat /etc/hostsname.le0
        pink
        #
   -/etc/hosts 화일에 hostname이 아래와 같은 형태로 등록되어야 한다.
        IP-address      hostname        alias-name
    예) 147.6.4.65        pink          mail pink.sun.co.kr
2. SunOs 상에 있는 Sendmail의 설치
  ** /etc/mail/main.cf 화일을 /etc/mail/sendmail.cf 화일로 복사 한다.
               # cp /etc/mail/main.cf /etc/mail/sendmail.cf
  2.1 /etc/mail/sendmail.cf 화일 수정 
   -사용 변수
        Dw, Cw : hostname을 정의 하는 부분
                         hostname을 두개이상 사용하고 이 이름 모두로 메일을 받고 
                         싶은경우 Cw에 정의한다.
             예) Dwpink
                Cwpink mail
        Dm, Cm : domain name을 정의 하는 부분
                        domain name을 두개이상 사용하고 이 이름모두로 메일을 받고
                         싶은경우 Cm에 정의한다.
             예) Dmsun.co.kr
                 Cmsun.co.kr sun.com
        DM : 사용하는 Mailer를 지정하는 부분으로 보통 같은 도메인에서 메일을
             보낼경우에는 "ether"를 사용하고 외부 도메인에도 메일을 보낼 경우
             에는 "ddn" 을 사용한다
             예) DMether
                 DMddn
        DR : default mail relay host를 지정하는 부분
            가입한  ISP(Internet Service Provider)에 문의 하여 mail relay 
                   host를 확인한다.
             예)DRmail.kornet.nm.kr
        Dj : hostname과 domainname을 지정
             예) Dj$w.$m
   - /etc/mail/sendmail.cf 화일 수정 예
        ############################################################
        #
        #       Sendmail configuration file for "MAIN MACHINES"
        #
        #       You should install this file as /etc/sendmail.cf
        #       if your machine is the main (or only) mail-relaying
        #       machine in your domain.  Then edit the file to
        #       customize it for your network configuration.
        #
        #       See the manual "System and Network Administration for the Sun
        #       Workstation". Look at "Setting Up The Mail Routing System" in
        #       the chapter on Communications.  The Sendmail reference in the
        #       back of the manual is also useful.
        #
        #       @(#)main.mc 1.17 90/01/04 SMI
        #
        ###     local info
               # delete the following if you have no sendmailvars table
               Lmmaildomain
               # my official hostname
        Dwpink
               Cwpink 
        Dmsun.co.kr
               Cmsun.co.kr
        # You have two choices here.  If you want the gateway machine to identify
        # itself as the DOMAIN, use this line:
        #Dj$m
        # If you want the gateway machine to appear to be INSIDE the domain, use:
        Dj$w.$m
        # if you are using sendmail.mx (or have a fully-qualified hostname), use:
        #Dj$w
               # major relay mailer
               DMddn
               # major relay host
               DRmail.kornet.nm.kr
               CRmail.kornet.nm.kr
               #################################################
    - mail을 보낼때 DR에 지정된 mail relay host를 거치지 않고 DNS에 정의된 mail 
      exchanger(MX)를 이용해 direct로 메일을 보내고 싶은 경우에는 아래와 같이
      sendmail.cf화일의  약 400 ~ 405번 라인의 내용을 변경한다.
               변경전
               # Replace following with above to only forward "known" top-level domains
               R$*<@$*.$+>$*           $#$M    $@$R $:$1<@$2.$3>$4     user@any.domain
               # if you are on the DDN, then comment-out both of the the lines above
               # and use the following instead:
               #R$*<@$*.$+>$*          $#ddn $@ $2.$3 $:$1<@$2.$3>$4   user@any.domain
               변경후
        # Replace following with above to only forward "known" top-level domains
               #R$*<@$*.$+>$*           $#$M    $@$R $:$1<@$2.$3>$4     user@any.domain
        # if you are on the DDN, then comment-out both of the the lines above
        # and use the following instead:
        R$*<@$*.$+>$*          $#ddn $@ $2.$3 $:$1<@$2.$3>$4   user@any.domain
   2.2 Sendmail Daemon 살리기
        #/usr/lib/sendmail -bd -q1h
                -bd : daemon이라는 것을 명시
                -q1h : Queue interval 지정
                       mail 전송시 error가 나면 /usr/spool/mqueue 디렉토리에 
                       쌓이게 되는데 여기에 쌓인 메일을 재 전송하는 주기를 
                       정하는 것으로 1시간이면 "q1h", 30분이면 "q30m"
                       이라고 지정하면 된다.
3. 메일 전송 테스트
   -메일에는 /bin/mail과 /bin/mailx의 두가지 버젼이 있는데 /bin/mailx가 
    기능상 사용하기 편하게 되어있으므로 이것을 사용하는 것이 좋다.
   -테스트
        # /bin/mailx -v 상대방전자메일주소
        위와같이 하면 메일이 전송되는 과정이 보여지는데 이 경우 제일 마지막에 
        "sent"라고 나오면 정상적으로 배달이 된것이다.
        예) hsbyun이라는 사용자가 pink.sun.co.kr 이라는 시스템에서 
            root@kum.kaist.ac.kr로 메일을 보내는 경우 
            # /bin/mailx -v root@kum.kaist.ac.kr
            Subject: test
            test mail
            .
            EOT
            # root@kum.kaist.ac.kr... Connecting to
            kum.kaist.ac.kr via ether...
            Trying 128.134.1.1...  connected.
            220 kum.kaist.ac.kr Sendmail 4.1/KUM-0.1 ready at Fri, 2 Apr 93 14:25:38 KST
            >>> HELO pink.sun.co.kr
            250 kum.kaist.ac.kr Hello pink.sun.co.kr pleased to meet you
            >>> MAIL From:
            250 ... Sender ok
            >>> RCPT To:
            250 ... Recipient ok
            >>> DATA
            354 Enter mail, end with "." on a line by itself
            >>> .
            250 Mail accepted
            >>> QUIT
            221 kum.kaist.ac.kr delivering mail
            root@kum.kaist.ac.kr... Sent

 

Sendmail(version 8.8.8+) 구성하기

1. Solaris 2.6까지 OS에 포함되어 있는 sendmail의 version은 8.6으로 현재 Internet
   상 에서 많이 사용되고 있는 8.8.x version에 비하여 그 기능과  보안에 있어 많은
   문제점을 가지고 있다. 이를 보완하기 위해 OS version이 Solaris 2.x인 경우 recommand patch를 설치하면 새로운 버젼의 sendmail(8.8.8+SUN)이 설치되며, Solaris 7에는 기본적으로 sendmail 8.9.1 버젼이 설치되어 있다..
   이 새로운 버젼에서 제공되는 sendmail.cf 화일은 기존의 것과 많은 차이가 있으며
   메일을 발신/수신하기 위하여 아래와 같이 구성한다.
2. /etc/hosts 화일
   /etc/hosts 화일에 hostname을 정의 할때 반드시 아래와 같이 hostname.domainname
   도 alias name으로 같이 정의를 한다.
              # cat /etc/hosts
                  210.123.99.21   cat               cat.sun.co.kr loghost
                                                    ^^^^^^^^^^^^^
3. /etc/mail/sendmail.cf 화일
   sendmail.cf 화일에는 외부로 송신되는 메일이 mailhost."domain-name"를 거쳐
   보내 지도록 DS 변수에 아래와 같이 정의되어 있다.
               # "Smart" relay host (may be null)
               DSmailhost.$m
   만약 외부로 보내지는 메일이 특정 메일 서버를 거쳐 보내져야 한다면 위의 DS 부
   분을 실제 메일 서버로 지정한다.
        # "Smart" relay host (may be null)
        DSmailserver-name.domain-name
   그러나 외부로 보내지는 메일이 DNS에 설정된 MX record에 의해 바로 전송되도록
   지정하고 싶으면 위에 정의된 DS 부분을 주석처리 한다.
        # "Smart" relay host (may be null)
        #DSmailhost.$m
4. /etc/mail/sendmail.cw 화일
   이 화일을 만들어 그 안에 시스템에서 받을 메일 주소(hostname, alias name)를 넣는다.
   만약 username@domainname의 형태로 보내지는 메일도 수신하려면 아래와 같이 정의한다.
              # vi /etc/mail/sendmail.cw
              cat
                  cat.sun.co.kr
                  sun.co.kr
5. Mail Relay 하기
   Sendmail 8.8.8+ 에서는 외부(다른 시스템)로 부터  Relay 되는 메일을 차단하도록
   하는 기능이 있다. 이 기능을 사용하려면, 아래의 Rule을 /etc/mail/sendmail.cf
   화일에서 Rule Set이 정의되는 처음 부분에 추가한다. 아래의 내용중 빈칸은
   "space-bar"대신 반드시 "tab"을 사용하여야 한다.
               LOCAL_CONFIG
               FR-o /etc/sendmail.cR
               LOCAL_RULESETS
               Scheck_rcpt
               # anything terminating locally is ok
               R< $+ @ $=w >           $@ OK
               R< $+ @ $=R >           $@ OK
               # anything originating locally is ok
               R$*                     $: $(dequote "" $&{client_name} $)
               R$=w                    $@ OK
               R$=R                    $@ OK
               R$@                     $@ OK
               # anything else is bogus
               R$*                     $#error $: "550 Relaying Denied"
   그러나 같은 도메인내의 client(PC)들로 부터 보내지는 메일을 relay 하도록 하고 싶은
   경우에는 /etc/sendmail.cR화일을 만들어 아래와 같이 domainname, network address 또는 client의 IP address를 등록한다. IP address를 지정시는  반드시 "[" 와 "]"안에 IP address를 적는다.
       # vi /etc/sendmail.cR
       sun.co.kr
       210.123.99
       [201.123.345.10]
       [203.234.123.1]
       위와 같이 정의한 후 sendmail daemon 을 re-start 시킨다.
       sun.co.kr 처럼 도메인을 지정할 경우에, relay하고 싶은 호스트명이 DNS에 등록되어 있어야 한다. 예를 들어, tiger.sun.co.kr 에서 들어 오는 메일을 relay하려면, tiger.sun.co.kr이 DNS에 등록되어 있어야 한다.
6. 위에 기술된 내용 이외에 특별한 요구 사항이 있을 때에는  sendmail.cf화일을 직접
   수정하지 말고 /usr/lib/mail/README 화일의 내용을 참조하여 직접 m4 명령을 사용하여
   sendmail.cf화일을 compile하여 사용한다.
   예) 메일을 보낼때 header의 From: 부분이 hostname은 보이지 않고 From: username@domainname
       의 형태로 되게 하고 싶은경우. 
       # cd /usr/lib/mail/cf
       # cp main-v7sun.mc my.mc
                                     ^^^^^^
                                       임의의 화일로 
       # vi my.mc
       my.mc 화일에 아래의 두 라인을 추가한다.
       MASQUERADE_AS($m)dnl
       FEATURE(masquerade_envelope)dnl
       # /usr/ccs/bin/m4 ../m4/cf.m4 my.mc > my.cf
       # cp my.cf /etc/mail/sendmail.cf
       sendmail daemon을 restart 한다.
       위와 같이하여 sendmail.cf 화일을 만들면 일반 사용자들이 외부 도메인에 있는 
       사용자에게 메을을 보내면 From 부분이 From: username@domain과 같이 나타난다.
       그러나 root에서 메일을 보낼경우에는 기존처럼 From: username@hostname.domainanme
       의 형태로 보여진다.
       만약 root에서 메일을 보낼때도 hostname이 보여지지 않게 하려면 sendmail.cf
       화일에서 "CE root" 라고 정의된 부분을 없앤다.
7. Sendmail Daemon 살리기
   # /usr/lib/sendmail -bd -q1h
     -bd : daemon이라는 것을 명시
     -q1h : Queue interval 지정
            mail 전송시 error가 나면 /usr/spool/mqueue 디렉토리에 쌓이게 되는데 
            여기에 쌓인 메일을 재 전송하는 주기를 정하는 것으로 1시간이면 "q1h",
            30분이면 "q30m" 이라고 지정하면 된다.
8. 3. 메일 전송 테스트
   -메일에는 /bin/mail과 /bin/mailx의 두가지 버젼이 있는데 /bin/mailx가 
    기능상 사용하기 편하게 되어있으므로 이것을 사용하는 것이 좋다.
   -테스트
        % /bin/mailx -v 상대방전자메일주소
        위와같이 하면 메일이 전송되는 과정이 보여지는데 이 경우 제일 마지막에 
       "sent"라고 나오면 정상적으로 배달이 된것이다.
        예) hsbyun이라는 사용자가 pink.sun.co.kr 이라는 시스템에서 
            root@kum.kaist.ac.kr로 메일을 보내는 경우 
            % /bin/mailx -v root@kum.kaist.ac.kr
            Subject: test
            test mail
            .
            EOT
            % root@kum.kaist.ac.kr... Connecting to
            kum.kaist.ac.kr via ether...
            Trying 128.134.1.1...  connected.
            220 kum.kaist.ac.kr Sendmail 4.1/KUM-0.1 ready at Fri, 2 Apr 93 14:2
5:38 KST
            >>> HELO pink.sun.co.kr
            250 kum.kaist.ac.kr Hello pink.sun.co.kr pleased to meet you
            >>> MAIL From:
            250 ... Sender ok
            >>> RCPT To:
            250 ... Recipient ok
            >>> DATA
            354 Enter mail, end with "." on a line by itself
            >>> .
            250 Mail accepted
            >>> QUIT
            221 kum.kaist.ac.kr delivering mail
            root@kum.kaist.ac.kr... Sent

 

Solaris 1.x에서 kernel을 새로 만드는 방법

Solaris 1.x에는 /usr/kvm/sys/`/usr/bin/arch -k`/conf/의 kernel 
configuration 화일이 있으며 새로운 kernel을 만들기 위해서는  이 화일의 내용을 
수정한뒤 새로운 kernel(vmunix)을 컴파일해야 한다.
예를들어 `/usr/bin/arch -k` 명령을 수행한 결과가 "sun4m"이고 현재 사용하는 
kernel 이름이 "GENERIC-KOR" 라면 /sys/sun4m/conf/GENERIC-KOR 화일을 수정하면 
된다. 그러나 이 화일을 직접 수정하지 말고 다른 이름의 화일로 복사한뒤, 이 
새로운 화일을 수정하는 것이 좋다.
현재 사용하고 있는 kernel 이름은 /etc/motd 화일에서 확인할 수 있다.
               % cat /etc/motd
               Sun Microsystems Inc.   SunOS 4.1.3  GENERIC-KOR August 1997
위의 결과에서 보면 OS version 다음에 보여지는 GENERIC-KOR가 현재 사용하는 
kernel의 이름이다.
kernel을 다시 만드는 작업은 아래와 같이 하며 반드시 root로 login하여야 한다.
               # cd /usr/kvm/sys/`/usr/bin/arch -k`/conf/
               # cp GENERIC-KOR GENERIC-KOR-TAPE
               # vi GENERIC-KOR-TAPE 
                 새로 추가할 사항이나 변경할 사항을 적는다
               # config GENERIC-KOR-TAPE
               # cd ../GENERIC-KOR-TAPE
               # make
               # mv /vmunix /vmunix.org
               # mv vmunix /vmunix
               # /etc/reboot
만약 위의 작업후 시스템을 새로운 kernel을 이용하여 rebooting하는데 문제가 
생기면 아래와 같이하여 기존에 사용하던 kernel로 다시 single user mode로 
booting 한후 기존에 사용하던 kernel을 다시 원래대로 복구시킨다.
               > boot vmunix.org -s
               # mv /vmunix /vmunix.new
               # ln /vmunix.org /vmunix
               # /etc/reboot

 

Solaris 2.x에서 kernel을 새로 만드는 방법

Solaris 2.x의 kernel은 1.x와는 달리 loadable module로 되어 있기 때문에 새로운 
device가 추가 또는 제거되어도 kernel을 새로 compile하지 않고, 단지 시스템을 
reconfigure 하도록 rebooting만 하면 된다.
시스템을 reconfigure 하여 booting하는 방법은 아래와 같다.
1. "/" 다렉토리에 "reconfigure" 화일을 만든후 시스템을 reboot 한다.
               # touch /reconfigure
               # reboot
               또는
               # touch /reconfigure
               # init 0
               ok boot
2. 시스템을 down 시키고 나서 boot 명령에 "-r" 옵션을 주고 부팅한다. 
               # init 0
               ok boot -r
3. 아래와 같은 옵션을 주고 "reboot" 명령을 사용하여 시스템을 rebooting한다.
               # reboot -- -r

 

시스템 기종과 설치가능한 OS 버젼

다음 설명중 OS 버젼 4.1.X는 "4.1.1, 4.1.2, 4.1.3을 나타내며 4.1.3_U1* 과  
"4.1.3C**"는 포함하지 않는다.
SYSTEM  NAME (or model)  ARCH    (MINIMUM) OS RELEASES SUPPORTED***
--------------------------------------------------------------------------------
4/15    Classic          sun4m   4.1.3C, 4.1.3_U1, 4.1.4, 5.1 -> 5.7
4/20    SLC              sun4c   4.1, 4.1.X, 4.1.3_U1, 4.1.4, 5.4 -> 5.7
4/25    ELC              sun4c   4.1.x, 4.1.3_U1, 4.1.4, 5.0 -> 5.7
4/30    LX               sun4m   4.1.3C, 4.1.3_U1, 4.1.4, 5.1 -> 5.7
4/40    IPC              sun4c   4.1, 4.1.x, 4.1.3_U1, 4.1.4, 5.0 -> 5.7
4/50    IPX              sun4c   4.1.x, 4.1.3_U1, 4.1.4, 5.0 -> 5.7
4/60    SS1              sun4c   4.1, 4.1.x, 4.1.3_U1, 4.1.4, 5.0 -> 5.7
4/65    SS1+             sun4c   4.1, 4.1.x, 4.1.3_U1, 4.1.4, 5.0 -> 5.7
4/75    SS2              sun4c   4.1.x, 4.1.3_U1, 4.1.4, 5.0 -> 5.7
4/1xx   Cobra            sun4    4.1, 4.1.x, 4.1.3_U1, 4.1.4, 5.1****, 5.2 -> 5.4
4/2xx   Sunrise          sun4    4.1, 4.1.x, 4.1.3_U1, 4.1.4, 5.1****, 5.2 -> 5.4
4/3xx   Stingray         sun4    4.1, 4.1.x, 4.1.3_U1, 4.1.4, 5.1 -> 5.4
4/4xx   Sunray           sun4    4.1, 4.1.x, 4.1.3_U1, 4.1.4, 5.1 -> 5.4
4/6xx   Galaxy 41,51     sun4m   4.1.3, 4.1.3_U1, 4.1.4, 5.1 -> 5.5.1
4/6xx   " "   41MP,512MP sun4m   5.1 -> 5.5.1
SS4     Perigee          sun4m   4.1.4, 5.4 -> 5.7
SS5     Aurora           sun4m   4.1.3_U1 Ver B, 4.1.4, 5.3 Ed II or >, 5.4->5.7
SS10    20,30,40,41,51   sun4m   4.1.3, 4.1.3_U1, 4.1.4, 5.1 -> 5.7
SS10    402MP,41MP,512MP sun4m   5.1 -> 5.7
SS20    Kodiak           sun4m   4.1.3_U1 Ver B, 4.1.4, 5.3 Ed II or >, 5.4->5.7
SS240   Voyager          sun4m   5.3 Ed II or >, 5.4 -> 5.7
SS1000  Scorpion         sun4d   5.2 -> 5.7
SC2000  Dragon           sun4d   5.2 -> 5.7
SS11    Ultra 1(140,170) sun4u   5.5 -> 5.7
SS12    Ultra 1(E)       sun4u   5.5 HW 1/96 -> 5.7
SC11    UltraServer 1    sun4u   5.5 -> 5.7
SC12    UltraServer 1(E) sun4u   5.5 HW 1/96 -> 5.7
Ultra1  Neutron          sun4u   5.5 -> 5.7
Ultra1E Electron         sun4u   5.5 HW 1/96 -> 5.7
Ultra2  Pulsar           sun4u   5.5.1 -> 5.7
UE3000  Duraflame        sun4u   5.5.1 -> 5.7
UE4000  Campfire         sun4u   5.5.1 -> 5.7
UE5000  Camfire rack     sun4u   5.5.1 -> 5.7
UE6000  Sunfire          sun4u   5.5.1 -> 5.7
UE10000 Starfire         sun4u1  5.5.1 -> 5.7
Ultra5                   sun4u   5.5.1 H/W 11/97, 5.6 H/W 3/98, 5.7
Ultra10                  sun4u   5.5.1 H/W 11/97, 5.6 H/W 3/98, 5.7
Ultra30                  sun4u   5.5.1 H/W 4/97 -> 5.7
Ultra60                  sun4u   5.5.1 H/W 11/97, 5.6 H/W 3/98, 5.7
UE250                    sun4u   5.5.1 H/W 11/97 (see FE Hbk), 5.6 H/W 5/98, 5.7
UE450                    sun4u   5.5.1 H/W 4/97 -> 5.7
Ultra450                 sun4u   5.5.1 H/W 11/97 -> 5.7
UE3500                   sun4u   5.5.1 H/W 11/97, 5.6 H/W 3/98, 5.7
UE4500                   sun4u   5.5.1 H/W 11/97, 5.6 H/W 3/98, 5.7
UE5500                   sun4u   5.5.1 H/W 11/97, 5.6 H/W 3/98, 5.7
UE6500                   sun4u   5.5.1 H/W 11/97, 5.6 H/W 3/98, 5.7
* OS 버젼 "4.1.3_U1 Version A"는 "4.1.3"과 "4.1.3C"를 통합한 것이며, "4.1.3_U1 Version B"
  는 SuperSparc module version 3.5 이상의 시스템을 지원하기 위한 것이다.
** 4.1.3C는 4/15와 4/30 만을 지원한다.
*** Solaris와 SunOS 버젼의 상관관계는 아래와 같다.
    Solaris 1.0    =  SunOS 4.1.1
    Solaris 1.0.1  =  SunOS 4.1.2
    Solaris 1.1    =  SunOS 4.1.3
    Solaris 1.1.1A =  SunOS 4.1.3_U1 Version A*
    Solaris 1.1.1B =  SunOS 4.1.3_U1 Version B
    Solaris 1.1.2  =  SunOS 4.1.4
    Solaris 2.0    =  SunOS 5.0
    Solaris 2.1    =  SunOS 5.1
    Solaris 2.2    =  SunOS 5.2
    Solaris 2.3    =  SunOS 5.3
    Solaris 2.3.2  =  SunOS 5.3 Edition II
    Solaris 2.4    =  SunOS 5.4
    Solaris 2.5    =  SunOS 5.5
    Solaris 2.5.1  =  SunOS 5.5.1
    Solaris 2.6    =  SunOS 5.6
    Solaris 7      =  SunOS 5.7

 

swapfile 추가하기

1. "df -k" 명령을 사용하여 추가하고 싶은 swap file 크기 만큼의 free space를 가지고
   있는 file system이 있는지 확인한다.
              % df -k
                  파일시스템           K바이트    사용    가용   용량    설치지점
               /dev/dsk/c0t0d0s0     962582  779074   87258    90%    /
               /proc                      0       0       0     0%    /proc
               fd                         0       0       0     0%    /dev/fd
               /dev/dsk/c0t0d0s3     865774  731198   48006    94%    /opt
               swap                   67664    8408   59256    13%    /tmp
               /dev/dsk/c0t1d0s3    8316189  933423 6551156    13%    /doc
               /dev/dsk/c0t2d0s3    8316189 2529292 4955287    34%    /export
2. 위의 결과에 따라 /export file system에 50M의 swap file을 추가 한다면,
   root 로 login하여 아래와 같이 한다.
              # cd /export
              # /usr/sbin/mkfile 50m new-swap-file
                                     ^^^^^^^^^^^^^^ -> 새로운 swap file의 이름
              # /etc/swap -a 
3. 위와 같이 한후 "swap -l" 명령으로 새로 만든 swap file이 추가되었는지 확인한다.
               # swap -l
               swapfile             dev  swaplo blocks   free
               /dev/dsk/c0t0d0s1   32,1      16 410384 371216
               /export/new-swap-file  -       16 102384 102384
4. 새로 추가한 swap file이 시스템 rebooting 후에도 사용되게 하려면 아래와 같은  
   내용을 /etc/vfstab에 추가한다.
              # vi /etc/vfstab
                /export/new-swap-file    -               -    swap    -    no    -
 

floppy diskette을 UNIX format하여 mount 하는 방법

1. floppy diskette을 drive에 넣고 아래와 같이 fdformat 명령을 실행한다.
   # fdformat -U -b "label-name"
   Formatting 1.44 MB in /vol/dev/rdiskette0/no_name
   Press return to start formatting floppy.
   ..................................................................
   #
   위의 명령중 각 option 의 내용은 아래와 같다.
               -U : floppy diskette이 이미 mount 된 경우라도 umount하여 format한다.
               -b : diskette의 label 이름을 지정하기 위한 option이다
               "label-name" : diskette에 지정할 label 이름이다.
                              이 이름은 floopy diskette 을 mount하였을때 생기는 실제
                              mount point(/floppy/"label-name")의 이름이 된다. 
2. format 이 정상적으로 끝나면 "newfs" 명령을 실행하여 filesystem을 만든다.
   # newfs /dev/rdiskette0
   만약 위의 명령을 실행했을때 아래와 같이 error message가 발생하면 volume manager
   daemon인 "vold" 를 종료시킨 후 다시 newfs 명령을 실행한다.
              # newfs /dev/rdiskette0
                  /dev/rdiskette0: Device busy
              # ps -ef|grep vold
                root   267     1  0  11월 28 ?        0:02 /usr/sbin/vold
                      ^^^^^
                      vold process id
              # kill 267
              # newfs /dev/rdiskette0
                  newfs: construct a new file system /dev/rdiskette0: (y/n)?
              위와 같이 new file system을 만들것인지 물어보면 "y"와 "retunrn" key를 친다.
3. newfs가 정상적으로 끝나면 "vold" process가 실행중인지 확인한 후, 실행중이 
   아니면 vold를 실행한다.
   # ps -ef|grep vold
    root  8321     1  1 17:26:20 ?        0:00 /usr/sbin/vold 
   위와 같이 결과가 나오지 않으면 아래와 같이 명령을 실행한다.
   # /etc/init.d/volmgt start
   volume management starting.
4. "volcheck" 명령을 실행하여 floppy diskette을 mount한후 "df" 명령으로 mount가
   되었는지 확인한다.
   # volcheck
   # df -k
   파일시스템           K바이트    사용    가용   용량    설치지점
  /dev/dsk/c0t0d0s0    1813958  696114 1063426    40%    /
  /proc                      0       0       0     0%    /proc
  fd                         0       0       0     0%    /dev/fd
  /vol/dev/diskette0/"label-name"
                        1263       9    1128     1%    /floppy/"label-name"
  위의 결과중 "label-name"은 diskette을 format 할때(fdformat) 지정한 label name 이다.
 

Power Manager

Solaris 2.6에서는 "powerd" daemon이 실행되어 일정 시간동안 작업을 하지 않으면
시스템이 자동 down되도록 지정할 수 있다. 이 Power Manager는 OS를 설치하는 과정
에서 enable/disable 할수 있으며, OS를 설치 한 후에도 아래의 관련 화일들을 이용
하여 구동할 수 있다.
1. Starting Script
   powerd daemon은 시스템이 booting되는 과정에서 /etc/rc2.d/S85power 스크립트가
   실행되면서 pmconfig 명령에 의해 구동된다.
   Power Manager 기능을 사용하지 않으려면 /etc/rc2.d/S85power 화일을 다른 이름
   의 화일로 move 시킨다.
2. Configuration File
   Power Management를 위한 configuration 화일은 /etc/power.conf 이며 pmconfig 
   명령에 의해 참조 된다.
 System down에 관한 사항은 아래와 같이 지정할 수 있다.   
   #Auto-Shutdown          Idle(min)       Start/Finish(hh:mm)     Behavior
   autoshutdown            30              9:00 9:00               shutdown
   위와 같이 지정하면 30분 동안 시스템이 사용되지 않으면 시스템이 down 된다.
   powerd daemon이 구동중이라 하더라도 시스템이 down되지 않게 power.conf 화일에
   지정하려면 아래와 같이 4번째 항목에 "noshutdown" 으로 지정한다.
   #Auto-Shutdown          Idle(min)       Start/Finish(hh:mm)     Behavior
   autoshutdown            30              9:00 9:00               noshutdown   

 

한글 사용과 관련된 환경 설정

한글 사용을 위해 지정하여야할 환경변수와 관련 화일들은 아래와 같다.
   1. /etc/default/init : 시스템에서 사용되는 Language를 아래와 같이 지정한다
               LANG=ko ;한글과 영문을 사용하는 경우
               LANG=C               ;영문만 사용하는 경우
   2. .cshrc, .profile : 각 user 별로 사용할 Language를 정의 하고, terminal 환경
                         을 지정한다.
               - csh을 사용하는 경우 .cshrc 화일에 아래와 같이 정의
                 setenv LANG ko
 stty cs8 -istrip -parenb
               - sh 또는 ksh을 사용하는 경우 .profile 화일에 아래와 같이 정의
                 LANG=ko
               export
               stty cs8 -istrip -parenb
   3. 환경 설정 확인
      % env | grep LANG
      LANG=ko
      % /bin/stty -a|grep cs8
      -parenb -parodd cs8 -cstopb -hupcl cread -clocal -loblk -crtscts
                     ^^^^^
      % /bin/stty -a|grep istrip
      -ignbrk brkint ignpar -parmrk -inpck -istrip -inlcr -igncr icrnl -iuclc 
                                           ^^^^^^^ 

 

cdrom mount 하기

cdrom을 driver에 삽입하면 Volume Management Daemon인 "vold" process에 의해
cdrom이 자동 mount 되지만, vold process가 운영 중이 아니거나 다른 이유로
인하여 cdrom이 자동 mount 되지 않으면 아래의 명령으로 mount 한다.
1. vold daemon이 운영중인 경우
   "volcheck"  명령을 실행하여 vold daemon이 cdrom을 mount 하도록 한 후 df 명령
   으로 cdrom이 mount 되었는지 확인한다.
              % /bin/volcheck
        % df -k 
2. volcheck 명령으로 mount가 되지 않는경우
   아래와 같이 "mount" 명령을 사용한다.
              # /etc/mount -F hsfs -o ro /dev/dsk/c0t6d0s0 /cdrom
   CD Driver는 기본적으로 /dev/dsk/c0t6d0s0 device를 사용한다.

 

Solaris 7에서 32/64bit kernel 지정

Solaris 7에서 kernel mode를 32bit 또는 64bit로 지정하기 위해서는 아래와 같이 
boot.conf 화일을 수정한다. 
1. 32bit로 지정하기
   Solaris 2.7에서는 기본적으로 32bit kernel로 지정되어 있고, 이를 확인하기 위
   해서는 /platform/sun4u/boot.conf 화일이 아래와 같이 지정되어 있는지 점검한 
   후 만약 다르게 지정되어 있으면 아래와 같이 수정후 시스템을 rebooting 한다.
               # vi /platform/sun4u/boot.conf
          #ALLOW_64BIT_KERNEL_ON_UltraSPARC_1_CPU=true
2. 64bit로 지정하기
   /platform/sun4u/boot.conf 화일을 아래와 같이 변경한 후 시스템을 rebooting한다.
               # vi /platform/sun4u/boot.conf
          ALLOW_64BIT_KERNEL_ON_UltraSPARC_1_CPU=true
               # reboot

 

Solaris 7(2.7)을 설치하기 위해 필요한 disk space

Solaris 7(2.7)은 설치시 kernel mode를 64bit로 사용할수 있는 library를 선택적으로 
설치할수 있기 때문에 32bit mode와 64bit mode에 따른 각각의 필요한 disk space는 
아래와 같다. 
   - Entire Distribution +OEM으로 설치시 : 32bit - 706MB
                                           64bit - 814MB
   - Entire Distribution으로 설치시      : 32bit - 697MB
                                           64bit - 805MB
   - Developer System Support으로 설치시 : 32bit - 617MB
                                           64bit - 738MB
   - End User System Support으로 설치시  : 32bit - 361MB
                                           64bit - 455MB

Root Password 복구

root password를 잊어버려 root로 login이 않되는 경우에는 OS CD를 사용하여
아래와 같이 복구를 할 수 있다. 만약 OS CD를 갖고있지 않다면 복구할 방법이
없다.
1. 시스템을 down 시키고 OS CD를 CD-ROM drive에 넣는다.
   root로 login을 할수 없으므로 시스템을 재부팅 시키기 위해서는 keyboard에서
   "stop" key와 "a" key를 동시에 눌러서 시스템을 PROM mode(ok prompt 상태)
   로 전환한다
2. 아래와 같이 CDROM 을 이용하여 single-user mode로 부팅한다
   ok  boot cdrom -sw
3. Bourne shell prompt(#)가 나타나면, /로 사용하던 disk device를 /a로 mount
   한다. /로 사용하던 disk device가 /dev/dsk/c0t0d0s0인 경우 아래와 같이 한다. 
   # fsck -y /dev/rdsk/c0t0d0s0
   # mount -F ufs -o rw /dev/dsk/c0t0d0s0 /a
4. 위와 같이 하면 기존에 /etc directory에 있던 shadow 화일이 /a/etc/shadow로
   존재하게 되며,  이 화일을 vi로 열어서 root에 정의되어 있는 password부분을
   지운다.
               # vi /a/etc/shadow
               root:vBrrOh8AIqYV6:6445::::::
             ^^^^^^^^^^^^^ 이 부분을 지운다
        변경후
               # cat /a/etc/shadow
               root::6445::::::
5. 위와 같이 한후 시스템을 재부팅 하면  root로 password 없이 login가능하다.
 

PCI bases system 에서의 Parallel Printer port

1. PCI based system들(현재 Ultra 30, 450, 5, 10, 60)의 Parallel port는 
   이전의 기계의 /dev/bpp0 대신에 /dev/ecpp0를 사용한다. 
2. 또한 ecpp driver patch를 인스톨 하여야 한다.
(104605 for 2.5.1 and 105741 for 2.6)
 

Solaris 2.6의 인스톨

1. 인스톨 방법 
               Solaris 2.6의 인스톨에는 다음과 같은 방법이 있다.
               1) Solaris Web Start
               2) 대화식 인스톨 프로그램을 사용한 신규 인스톨
               3) 대화식 인스톨 프로그램에 따른 업그래이드 인스톨
               4) 대화식 인스톨 프로그램을 사용한 네트워크 인스톨
               5) Custom Jumpstart
               6) Jumpstart
2. Solaris Web Start 
               Solaris 2.6부터 서포트되는 새로운 인스톨 유틸리티 이다.
               유저 인터페이스에 Sun의 Web 브라우저인 HotJava를 사용하고 있는 것이
               특징으로 Solaris 2.6을 신규로 인스톨 하는 경우 더욱 간단한 방법 이다.
               이것을 사용 하여 서버 패키지에 있는 언-번들 소프트웨어와 Answer Book도
               동시에 인스톨이 가능하다.
               Java 대응의 Web 브라우저를 사용하여 로컬에 콘솔을 가지고 있지 않은
               서버의 인스톨을 네트워크 상의 별개의 머신으로 부터 인스톨도 가능 하다.
3. 대화식 신규 인스톨
               종래에 사용한 일반적인 Solaris 2.x의 인스톨 방법이다.
               Solaris 2.6에도 서포트 하고 있는 윈도우 베이스 인스톨 작업이다.
               인스톨 시에 시스템 디스크 이외의 디스크를 설정이 가능하다.
4. 대화식 업-그레이드 인스톨
               Solaris Web Start가 신규의 인스톨에 대응 하고 있지 않은 것에 대해
               대화식 인스톨 프로그램(Interactive Installation Program)은 
               업-그레이드 인스톨에도 대응 하고 있다.
               Solaris 2.4이후의 OS가 인스톨 되어 있고 모든 사용 환경이 설정 되어 있는
               시스템에 대하여 업-그레이드가 가능 하다.
               업-그레이드 인스톨에는 다음과 같은 처리가 가능 하다.
               1) 업-그레이드의 대상의 디스크(시스템 디스크)를 지시
                  업-그레이드 프로그램은 그 디스크의 화일 시스템에 있는 기존 시스템의
                  각종 설정 정보를 보존 한다.
               2) 기존의 패키지의 삭제
               3) 기존의 패치의 삭제
               4) 필요한 경우 디스크 영역의 재배치
                  경우에 따라 일시적으로 백업 하기 위해 백업 장치가 필요
               5) 신규 패키지의 인스톨
               6) 디바이스 노드의 재작성
               7) 보존 하고 있는 내용을 새로운 시스템에 머지
               8) /var/sadm/install_data/upgrade_cleanup 스크립트의 작성
               9) 로그 화일 이름 등을 표시
               그러나 업-그레이드 인스톨에는 화일 변경의 유/무를 체크 하므로 내용을
               유지하기 위한 처리로 신규 인스톨에 비해 시간이 많이 소요 된다.
               시스템에 대한 변경이 큰 경우, 예를들면 인스톨 후에 화일 시스템의
               구성을 바꾸거나 시스템 화일의 일부를 삭제 하거나 절대 패스의 심볼릭
               링크를 변경한 경우는 정확한 업-그레이드가 가능하지 않는 경우도 있다.
               업-그레이드 프로그램이 참조하는 이하의 화일은 시스템의 상태를 정확히
               반영 하고 있지 않으면 않된다.
               /var/sadm/softinfor/INST_RELEASE
               /var/sadm/install/contents
               /var/sadm/install_data.clustertoc
               /var/sadm/install_data/CLUSTER
               업-그레이드 인스톨을 실행한 경우, 시스템에 대하여 인스톨한 내용은
               /var/sadm/system/logs/upgrade_log 화일에서 참조가 가능하다.
5. 대화식 네트워크 인스톨
               CD-ROM 드라이브를 가지고 있지 않은 시스템에서도 대화식의 인스톨 
               프로그램을 사용하여 네트워크를 경유하여 OS를 인스톨 가능하다.
               그 경우, CD-ROM 드라이브가 있는 기계 또는 Solaris 2.x의 CD-ROM의
               내용을 하드 디스크에 가지고 있는 기계를 인스톨 서버로 설정할 
               필요가 있다.
               인스톨 서버가 다른 서브 네트에 있는 경우는 같은 서브 네트 상에
               있는 기계를 부트 서버로 설정 한다. 인스톨 대상의 시스템은 네트워크를
               경위 하여 인스톨 프로그램을 로드 하여 인스톨 서버가 가지고 있는
               OS의 소프트웨어를 로컬의 디스크에 인스톨 한다.
6. Custom JumpStart
               이것은 다수의 기계에 인스톨 또는 업-그레이드 하는 경우에 유효한 
               방법 이다. 예를들면, 100대의 워크스테이션을 도입한 경우, 모든 기계에
               OS를 대화식으로 인스톨 하면 시간이 많이 걸린다. Custom JumpStart에는
               다음과 같은 환경을 응용하여 OS의 인스톨를 자동화 한다.
               우선 네트워크 상에 OS 미디어의 내용을 복사한 인스톨 서버를 준비 한다.
               다음 인스톨 대상의 기계가 인스톨 환경을 네트워크 경유하여 로드 가능한
               부트 서버로 설정을 추가 한다. 
7. JumpStart
               JumpStart도 다수의 기계를 간단히 인스톨 하기 위한 방법이다.
               Custom JumpStart와 다른 점은 JumpStart 전용의 소프트웨어가 로컬
               디스크에 인스톨 되어 있어야 하는 것과 인스톨 내용이 기계의 타입과 디스크
               용량에 따라 결정 되어 있다는 점이다. 인스톨 서버를 결정하고 네트워크에
               접속하여 전원을 켜고 호스트 이름 등의 정보를 입력하는 것만으로 간단히
               인스톨이 가능하다. 
8. 신규 인스톨을 위한 준비
               Solaris 2.x의 인스톨 작업은 간단하다. OS의 CD-ROM으로 부터 부트하여
               메세지에 따라 요구 하는 정보를 입력 한다. 그러나 용량 등의 항목에 대한
               작업이 있는 경우에 사전에 결정할 필요가 있다. 새로운 OS를 인스톨 하는
               경우에 필요한 정보에 대하여 결정 한다.
               1) 시스템 정보
               2) 시스템 타입의 결정
                  인스톨과 관계하는 OS의 구성 패턴을 "시스템 타입" 이라고 칭한다.
                  이것은 다음의 4가지의 타입이 있다.
                  * 스탠드 얼론
                  * OS 서버
                  * 디스크 레스 클라이언트
                  * AutoClient 시스템
               3) 소프트웨어 구성의 결정
                  Solaris 2.x의 소프트웨어는 Solaris 2.6의 경우에 400 이상의 패키지 모듈로
                  구성 되어 있다. 인스톨 프로그램에는 이용 모듈로 4개의 표준적인 패턴 으로
                  구성 되어 있다.
               4) 디스크 슬라이스 구성의 결정
               5) OS의 미디어와 메뉴얼
                  Solaris 2.5와 Solaris 2.5.1의 서버 미디어팩에는 CD-ROM이 OS의 코어부분 1개,CDE에 1개 등의 7개의 CD-ROM이지만, Solaris 2.6에는 OS에 CDE가 포함 되어 있다.
                  *Solaris 2.6의 경우
                  whiteeye# cd /cdrom/Solaris_2.6
                  whiteeye# ls -F
                  Docs/  Misc/  Patches/  Product/  Tools/
                  *Solaris 2.5.1의 경우
                  whiteeye# cd /cdrom
                  whiteeye# ls -F
                  .cdtoc                        add_install_client*
                  .install_config/               auto_install_sample/
                  .slicemapfile               export/
                  Copyright                rm_install_client*
                  Patches/                setup_install_server*
                  Solaris_2.5.1/
                  *Solaris 2.3의 경우
                  whiteeye# ls -F
                  Copyright                export/
                  NISPLUS.4.1.README               hsfs.mnt*
                  NISPLUS.TAR                  hsun4.o
                  Patches/                hsun4c.o
                  Solaris_2.3/                    inst.rr*
                  add_install_client*               rm_install_client*
                  archinfo/                setup_install_server*
                  auto_install_sample/
               6) OS 인스톨에 관련하는 예비정보
                  * man page
                    man install_scripts : OS의 CD-ROM에 포함되어 있는 인스톨 스크립트의 해설
                    man boot            : 부트 시퀸스의 해설
                    man monitor         : PROM 모니터 부터의 부트 방법
                    man re-preinstall   : JumpStart 소프트웨어의 로드 방법
                    man sysidtool       : 인스톨 시에 영향을 받는 화일, 필요한 정보
                    man sysidconfig     : 인스톨 시에 영향을 받는 화일, 필요한 정보
                    man sys-unconfig    : 시스템 화일을 공장 출하 상태로 되돌림
                    man kdnconfig       : x86용의 시스템 설정 초기화 코맨드
                  시스템 구성 화일과 네트워크 인터페이스 및 커널에 대하여 적절한 정보를 설정하기 위하여 내부의 sysidtool 라는 프로그램이 사용 된다. sysidtool은 새로운
시스템을 구성 할때 사용하는 다음의 5개의 프로그램 으로 SUNWadmap 패키지에
포함되어 있다.
                  * /usr/sbin/sysidnet
                    네트워크 관련 정보(호스트 이름, IP 어드레스 등)
                  * /usr/sbin/sysidnis
                    NIS, NIS+ 등의 네임 서비스 관련 정보 (도메인 이름 등)
                  * /usr/sbin/sysidsys
                    호스트, 아키텍쳐 고유의 정보
                  * /usr/sbin/sysidroot
                    root 패스워드
                  * /usr/sbin/sysidpm
                    전원 관리 기능의 설정
                  이상의 프로그래은 시스템 인스톨 시에 자동적으로 동작한다.
9. 디스크 슬라이스의 구성
               1) 소프트웨어 카티고리
                  소프트웨어 그룹(예전 버젼에는 클러스터 라고 호칭함)
                  소프트웨어의 선택을 일반화, 간단화 하기 위하여 제공 되는 소프트웨어의
                  그룹. 이하의 4가지중 패턴을 결정하여 필요한 소프트웨어 클라스와 
                  소프트웨어 패키지를 선택 한다.
                  * 전체 디스트리뷰션(ALL)
                    Solaris 2.x의 모든 패키지를 포함
                  * 개발자 시스템 서포트(Developers)
                    엔드 유저 시스템 서포트에 소프트웨어 개발에 필요한 항목을 추가
                  * 엔드 유저 시스템 서포트(End-users)
                    코어 시스템 서포트에 OpenWindows의 이용 환경을 추가
                  * 코어 시스템 서포트(Core)
                    Solaris 2.x의 부트와 실행에 필요한 소프트웨어만 포함
               2) 슬라이스 구성의 패턴
                  디스크 슬라이스의 구성을 결정하는 경우 이하의 점에 유의 한다.
                  * 1개의 슬라이스에 1개의 화일 시스템을 작성
                  * 1개의 디스크에는 8개의 까지의 슬라이스가 설정 가능
                  * 최소한 루트 화일 시스템과 스왑 용의 2개의 슬라이스가 필요
                  * 슬라이스는 복수의 디스크에 설정 가능 하지만 1개의 슬라이스를 복수의
                    디스크 디스크에 분산 시키는 것은 불가능 하다
                  * 스왑은 1개의 디스크에 집중 되는것 보다 복수의 디스크에 분산 시키는
                    분산 시키는 것이 성능향상에 유효 하다
                  슬라이스(=화일 시스템)를 나누는 단위로는 일반적으로 다음과 같은
                  화일 시스템을 사용 한다.
                  /
                    일반적으로 루트 화일 시스템 단독의 경우와, /var를 포함한 경우, /tmp를 
                    포함한 경우, /var+/tmp를 포함한 경우의 4가지의 패턴이 있다. 또 대용량의
                    백업 장치를 가진 시스템에서 관리를 간단히 하기 위하여 모든 OS의 화일
                    시스템을 / 의 이하에 배치하는 것도 가능 하다.
                  /usr
                    인스톨 하는 소프트웨어 클라스에 따라 필요한 사이즈가 변한다. 내용 중에
                    윈도우 시스템의 /usr/openwin를 포함 하는가, 별도의 슬라이스에 위치 시키
                    는가에 따라 크게 다를수 있다.
                  /var
                    유저의 관리 방침에 따른다. 별도의 파티션에 하지 않아도 운영이 가능하다
                  /export
                    OS 서버의 경우 클라이언트의 댓수, 각각의 클라이언트에 할당 하는 루트
                    화일 시스템, 스왑의 사이즈에 따라 결정 한다. /export/root, /export/swap,
                    /export/exec등으로 분할 하는 경우도 있다. 
                  /home
                    디폴트로 /home 디렉토리는 오토 마운트가 사용 하기 위하여 홈 디렉토리로
                    /export/home이 사용 된다.
                  /opt
                    패키지 구성에 따른다.
                  swap
                    Solaris 2.x의 스왑 사이즈는 실 메모리와 스왑 영역의 합계가 어플리케이션이 사용 하는 가상 메모리의 사이즈 이상으로 결정 한다. Solaris 2.6의 경우,
메모리와 스왑 영역의 합계 사이즈가 최저로 64MB, 윈도우 환경을 사용 하는 경우는 128MB 이상 으로 한다. Custom JumpStart에는 화일 시스템에 필요한 사이즈를 산출 하여 남은 영역 으로 부터 이하의 사이즈를 최대치로 스왑 영역이 확보 된다. 
                  /tmp
UNIX 화일 시스템으로 루트 화일 시스템에 포함 된다. tmpfs 타입을 지정하여
메모리 베이스의 화일 시스템 이다.(디폴트) /var/tmp 등에 심볼릭 링크 한다.
10. OS의 인스톨 방법
               1) 신규 인스톨 절차
   신규 인스톨을 하는 경우, Solaris 2.6에는 2개의 유틸리티로 부터 선택 가능하다.
                  * 윈도우 베이스의 인스톨 프로그램
                  * Solaris Web Start
                  신규 인스톨은 Solaris 2.6을 2 배속 CD-ROM 드라이브를 사용하여 SS20에
                  인스톨 하는 경우에 약 40분 정도이다. 보다 고속의 CD-ROM 드라이브나
                  네트워크 경유로 인스톨 하는 경우에는 단축이 가능하다.
                  새로운 디스크에 OS를 인스톨 하거나 이전의 OS의 정보를 사용 하지 않고
                  인스톨하는 경우 인스톨시에 "초기옵션"을 선택 한다.
               2) Solaris 2.6의 대화식 인스톨 프로그램을 사용 하는 경우
                  ok boot cdrom
               3) Solaris Web start를 사용 하는 경우
                  ok boot cdrom - browser
11. 인스톨 상태의 확인
               1) 인스톨 관련 정보를 표시하는 코맨드
                  CDE와 OpenWindows 환경에서 메뉴로 부터 "Workstation 정보"를 선택하여 GUI상에서 시스템에 관한 기본적인 정보를 확인한다. /usr/openwin/bin/wainfo 코맨드를 실행 하는 것도 가능하다.
소프트웨어의 설정에 대하여 개별적인 정보를 얻고자 하는 경우에 다음과 같은 코맨드가 이용 가능하다.
                  * HOST 이름
                              # uname -n    : whiteeye 
                              # hostname    : whiteeye
                              # showrev     : Hostname: whiteeye
                              # sysdef      : whiteeye node name (NODE)
                  * OS의 종류, 버젼
                              # uname -s    : SunOS
                              # uname -r    : 5.6
                              # uname -v    : Generic
                              # showrev     : Release:  5.6
                                               Kernel version:   SunOS 5.6 Generic August 1998
                              # sysdef      : 5.6 release (REL)
                                               SunOS system name (SYS)
                                               Generic version (VER)
                  * 파티션 구성
                              # df -k       : Filesystem kbytes used avail capacity Mounted on
                                               /dev/dsk/c0t3d0s0 38383 19392 15161 56% /
                                               ...........
                  * 패치 정보
                              # showrev -p  : Patch:  101331-03 Obsoletes:  Packages:  SUNWcsu.7
                                               11.5.0,REV=2.0.18,PATCH=35
                                               ........
                  * 로드 되어 있는 모듈
                              # sysdef      : * Loadable Objects
                                               strmod/bufmod
                                               strmod/connld
                                              ......
                  * 소프트웨어 패키지 구성
                              # pkginfo     : system      AXILvplr       Axil platform links
                                               system      AXILvplu       Axil usr/platform links
                                               ..............
                  네트워크에 관한 정보는 다음과 같은 코맨드가 이용 가능하다.
                  * IP Address, NetMask, Broadcast Address
               # ifconfig -a : inet 129.158.153.162 netmask ffffff00 broadcast 120.158.153.255
  하드웨어의 구성 요소에 관한 상세한 정보는 다음과 같은 코맨드가 이용 가능하다.
                  * 아키텍처 타입
                              # prtconf     : System Configuration: Sun Microsystems sun4m
                              # arch -k     : sun4m
                  * Workstation 모델
                              # prtconf  : SUNW,SPARCstation-5
                              # prtconf -vp : ......
                                                      model: 'SUNW,501-2572'
                                                      clock-frequency: 0510ff40
                                                      name: 'SUNW,SPARCstation-5'
                              # dmesg       : root nexus = SUNW,SPARCstation-5
                  * CPU 타입
                              # dmesg       : cpu0:  SUNW,UltraSPARC (upaid 0 impl 0x10 ver
                                                      0x22 clock 143 MHz)
                              # prtconf -vp :    ....
                                                      sparc-version: 00000008
                                                      mask_rev: 00000020
                                                      device_type: 'cpu'
                                                      name: 'FMI,MB86904'
                              # ok cpu-info : VPU FMI,MB86904 Rev. 2.0: 85Mhz
                         (EEPROM 코맨드)
                  * 메모리 용량
                              # dmesg       : mem = 32768k (0x2000000)
                              # prtconf     : Memory size: 32 Megabytes
                  * 시리얼 포트 디바이스
                              # dmesg       : zs0 at obio0: obio 0x1000000 sparc ipl 12
                                                      zs0 is /obio/zs@0,1000000
                              # sysdef      : zs, instance #0zs, instance #1
                  * 디스크
# dmesg       : sd3 at esp0: target 3 lun 0sd3 is /iommu@0,10000000/sbus@0,10001000/espdma@5,8400000/
                                                      esp@5,8800000/sd@3,0 
                              # sysdef      : sd, instance #2 (driver not attached)
                                                      sd, instance #3
                  * 프레임 버퍼
                              # prtconf     : cgsix, instance #0
                              # prtconf -F  : /iommu@f,e0000000/sbus@f,e0001000/cgsix@2,0
                              # dmesg       : cgsix0 at sbus0: SNus slot 3 00 SBus level 5 sparc ipl 9
                                                      cgsix0 is /iommu@0,10000000/sbus@0,10001000/cgsix@3,0
                                                      cgsix0: screen 1152x900, single buffered, 1M mappable, rev 11
                              # sysdef      : cgsix, instance #0
Root 디바이스와 Swap 디바이스 등의 정보는 /etc/vfstab 화일을 확인 하거나 다음의 코맨드의 이용이 가능 하다.
                  * Root 디바이스
                              # dmesg       : root on /iommu@0,10000000/sbus@0,10001000/espdma@5,8400000/
                                                      esp@5,8800000/sd@3,0:a fstype ufs
                  * Swap 디바이스
                              # dmesg       : dump on /dev/dsk/c0t3d0s1 size 131532K
                              # swap -l     : swapfile dev swaplo blocks free
                                                      /dev/dsk/c0t3d0s1 32,25 8 263080 209312
                              # sysdef      : swapfile dev swaplo blocks free
                                                      /dev/dsk/c0t3d0s1 32,25 8 263080 209312
                  * 시스템 보드 구성의 정보
                              # prtdiag(Sun4d, Sun4u 아키텍처만 가능)
               2) 시스템 화일의 설정
                  시스템의 기본적인 설정은 다음의 시스템 화일을 보면 이해할수 있다.
                  * /etc/passwd        : 등록된 유저정보       : Copy하여 사용하는 경우 root만 허용
                    /etc/shadow        : 
                  * /etc/group         : 등록된 그룹 정보      : 
                  * /etc/default/*     : 환경설정의 정보       : 유저에 대한 디폴트 환경 설정
                    /etc/skel/*        :
                  * /etc/vfstab        : 화일 시스템 구성      : 
                  * /etc/nsswitch.conf : 네임 서비스           : 서버의 서비스를 받는 경우에 클라이언트로 설정 필요
                    /etc/resolv.conf   : DNS 클라이언트의 설정 : DNS를 사용하는 경우
                    /etc/defaultdomain : NIS의 도메인 이름     : NIS를 사용하는 경우
                  * /etc/hosts         : 호스트 정보           : loghost등의 일부 변경이 필요한 경우가 있음
                  * /etc/nodename      : 노드 이름             :
                  * /etc/defaultrouter : 디톨트 라우터의 설정  : 환경에 따라 그대로 사용 가능
                  * /etc/services      : 네트워크 서비스의     : 어플리케이션에 의존
                    /etc/rpc           : 등록                  :
                  * /etc/sendmail.cf   : 메일 시스템 설정      : 그대로 사용 가능
                    /etc/aliases       :                       :
                  * /etc/rc?.d/*       : Daemon의 추가, 설정   : 
                    /etc/init.d/*      :                       :
                  * /etc/system        : OS의 parameter        :
               3) 로그 화일 : /var/sadm/system/logs/install_log
                  OS의 인스톨 개시부터의 로그 정보가 화일에 기록 되어 있다. 이 화일에는 이하의 내용이 있다.
                  * 화일 시스템의 구성
                  * 인스톨된 패키지의 종류
                  * 인스톨된 소프트웨어의 총용량
                  * 부트 디바이스
               4) 로그 화일 : /var/sadm/system/logs/sysidtool.log
                  OS를 인스톨할 때에 새로운 시스템에 관한 몇가지의 정보를 입력 한다. 이것은 sysidtool라고 하는 일련의 프로그램에 따라 자동적으로 처리 된다. sysidtool의 로그 정보가 화일에 기록 된다.
                  * Ethernet의 인터페이스 이름
                  * 인스톨시에 설정한 IP 어드레스
                  * 인스톨시에 설정한 Netmask의 값
                  * 타임존
                  * 선택한 네임 서비스의 종류
               5) 소프트웨어의 로그 화일 : /var/tmp/*log*
                  소프트웨어 중에 /var/tmp 디렉토리에 독자의 로그 화일을 작성하는 것이 있다.
  * AdminSuite_install_log
                  * SunSoft_CDE1.0.1_pkgadd.log.날짜
                  이들의 인스톨 로그 화일은 기본적으로 인스톨 과정에서 발생하는 문제를 기록하기 위해서 작성 된다.
 

acct(accounting) 설정하기

1. rc 화일을 지정한다.
               # ln /etc/init.d/acct /etc/rc2.d/S22acct
               # ln /etc/init.d/acct /etc/rc0.d/K22acct
2. cron 작업을 등록한다.
    2.1 /var/spool/cron/crontab/adm 화일에 다음과 같은 내용을 추가한다.
                              0 * * * * /usr/lib/acct/ckpacct
                              0 1 * * 1-6 /usr/lib/acct/dodisk
                              0 2 * * 1-6 /usr/lib/acct/runacct 2> /var/adm/acct/nite/fd2log
                              15 5 1 * * /usr/lib/acct/monacct
               시간들은 사용자의 목적에 맞게 변경할 수 있다.
    2.2 /var/spool/cron/crontab/root 화일에 다음과 같은 내용을 추가한다.
3. 시스템을 reboot하면 변경사항이 적용된다.
4. 시스템을 reboot하지 않고 accounting을 적용하려면 2번 cron 작업을
               # env EDITOR=vi crontab -e adm을 실행하여 등록하고, 
               # /usr/lib/acct/startup를 실행시킨다.
5. 실행된 프로세스들의 정보는 다음과 같이 간단히 알아 볼 수 있다.
               # lastcomm
               ls          root     pts/18         0.01 secs Mon Mar 27 17:25
               ls          root     pts/18         0.01 secs Mon Mar 27 17:25
               ls          root     pts/18         0.02 secs Mon Mar 27 17:25
               startup     root     pts/18         0.01 secs Mon Mar 27 17:25
               rm          root     pts/18         0.01 secs Mon Mar 27 17:25
6. acct를 종료하는 방법은 다음과 같다.
               # /usr/lib/acct/shutacct
7. 참고 문헌
               시스템에 설치된 메뉴얼 페이지를 참고한다.
               acct(1M), acctsh(1M), lastcomm(1)
               예제)
                              man acct

 

timezone 화일 변경 및 설정하기

1. timezone 이란 ?
    그리니치 표준시간(GMT)를 기준으로 각 지역이 위치한 경도에 따라 시간의 차이가
    있다. 이러한 동일한 시간대를 지역을 동일한 timezone을 가진다고 말한다.
    timezone에 따라 변동이 있는 시간대를 컴퓨터상에서 보정하기 위하여 컴퓨터가
    사용되는 지역에 따라 timezone정보를 컴퓨터에 지정하도록 되어있다.
    우리나라의 전지역은 하나의 시간대를 사용하며, ROK라는 timezone을 가진다.
    시스템이 제공하는 clock을 GMT 시간으로 내부적으로 사용되고, 외부에 시간이 
    나타날 때에는 환경변수 TZ에 설정된 timezone정보에 따라 GMT 표준시간이
    가공되어 지역에 맞는 시간이 나타난다.
    시간에 관련된 모든 명령어는 TZ 환경변수에 영향을 받는다.
    date 명령어를 시용하여 간단하게 테스트하면, timezone(TZ)에 따라
    시간이 다르게 나타나는 것을 알 수 있다.
               # date           
               1998년 11월  6일 금요일 오전 11시 19분 15초
               # env TZ=Hongkong date
               1998년 11월  6일 금요일 오전 10시 19분 15초
               # env TZ=Turkey date;date
               1998년 11월  6일 금요일 오전 04시 19분 15초
    위에서 보는바와 같이 홍콩은 우리나라보다 1 시간 늦고, 터키는 7 시간 늦다.
2. zone 화일
    zone화일은 /usr/share/lib/zoneinfo 디렉토리에 존재한다. 이 디렉토리에는
    테스트 화일로 된 timezone 정보화일과 컴파일된 timezone 정보화일이 있다.
    컴파일된 timezone 정보화일이 TZ 환경변수에 설정될 수 있다.
    우리나라의 timezone은 ROK이다.
               # echo $TZ
               ROK
    asia라는 화일에 ROK에 대한 timezone 정보가 들어 있다.
-----------------------------------------------------------------------
               # Rule NAME FROM  TO    TYPE   IN     ON      AT     SAVE   LETTER/S
               Rule   ROK  1960  only   -     May    15      0:00   1:00   D
               Rule   ROK  1960  only   -     Sep    13      0:00   0      S
               Rule   ROK  1987  1988   -     Jan    Sun<=14 0:00   1:00   D
               Rule   ROK  1987  1988   -     Oct    Sun<=14 0:00   0      S
               # Zone  NAME       GMTOFF  RULES   FORMAT  [UNTIL]
               Zone    Asia/Seoul 8:27:52 -       LMT     1890
                                          8:30    -       KST     1904 Dec
                                          9:00    -       KST     1928
                                          8:30    -       KST     1932
                                          9:00    -       KST     1954 Mar 21
                                          8:00    ROK     K%sT    1961 Aug 10
                                          8:30    -       KST     1968 Oct
                                          9:00    ROK     K%sT
               -----------------------------------------------------------------------
    설명:
               Rule   ROK  1960  only   -     May    15      0:00   1:00   D
               Rule   ROK  1960  only   -     Sep    13      0:00   0      S
               Rule   ROK  1987  1988   -     May    Sun<=14 0:00   1:00   D
               Rule   ROK  1987  1988   -     Oct    Sun<=14 0:00   0      S
    위의 Rule을 보면 1960에 5월 15일 부터 9월 13일까지 summer time을 적용했었고
    1987에서 1988년 2년간 summer time을 적용하였다는 내용을 알 수 있다.
    알 수 있다.  만일 계속 summer time을 사용하려면, TO 필드에 max라고 하면된다.
               Rule   ROK  1987  1988   -     Jan    Sun<=14 0:00   1:00   D
               Rule   ROK  1987  1988   -     Oct    Sun<=14 0:00   0      S
    각 필드에 대한 자세한 내용은 zic 메뉴얼 페이지를 참조하십시오.
               # man zic
3. timezone에서 summer time설정하는 법.
-----------------------------------------------------------------------
# Rule NAME FROM  TO    TYPE   IN     ON      AT     SAVE   LETTER/S
               Rule   ROK  1960  only   -     May    15      0:00   1:00   D
               Rule   ROK  1960  only   -     Sep    13      0:00   0      S
               Rule   ROK  1987  max    -     May    Sun<=14 0:00   1:00   D
               Rule   ROK  1987  max    -     Oct    Sun<=14 0:00   0      S
               # Zone  NAME       GMTOFF  RULES   FORMAT  [UNTIL]
               Zone    Seoul 8:27:52 -       LMT     1890
                                          8:30    -       KST     1904 Dec
                                          9:00    -       KST     1928
                                          8:30    -       KST     1932
                                          9:00    -       KST     1954 Mar 21
                                          8:00    ROK     K%sT    1961 Aug 10
                                          8:30    -       KST     1968 Oct
                                          9:00    ROK     K%sT
               -----------------------------------------------------------------------
    위와 같이 zoneinfo 내용을 test라는 화일로 만들어 다음의 명령어를 수행한다.
    변경된 timezone 화일이 의미하는 것은 1987년부터 매년 5월 14일 내의 최후
    일요일에 summer time을 적용하고 10월 14일 내의 최후의 일요일에 해제한다.
               # zic test
    이명령어가 실행되면 /usr/share/lib/zoneinfo 디렉토리 밑에 Seoul이라는
    컴파일된 timezone 정보화일이 생성된다.
    환경변수 TZ에 Seoul이라는 값을 설정하여, summer time 기간중에 
    date 명령어를 수행하면 1 시간 빨리 설정되어 있음을 알수 있다.
               # date
               1998년 7월  6일 월요일 오후 03시 19분 39초
               # env TZ=Seoul date
               1998년 7월  6일 월요일 오후 04시 19분 39초
4. 참고 문헌
    시스템에 설치된 메뉴얼 페이지를 참고한다.
               zic(1M), zdump(1M), ctime(3C)
               /usr/share/lib/zoneinfo/*               (timezone database)

 

일반적인 커널 파라메터 및 수정방법

1. 최대 사용자수 지정하기 (maxusers)
    최대 사용자수는 시스템에 설치된 메모리의 양에 따라 자동적으로 적절한 값이
    설정된다. 특별한 경우가 아니면 이 파라메터를 변경하지 않는 것이 바람직하다.
    또한, 이 파라메터를 기준으로 다음과 같은 파라메터들이 자동적으로 설정된다.
               max_nprocs   Maximum number of processes (default = 10 + 16 * maxusers)
               ncallout     Number of callout buffers (default = 16 + max_nprocs)
               ufs_ninode   Maximum number of inodes.
                                        (default = max_nprocs + 16 + maxusers + 64)
               ncsize       Number of dnlc entries.
                                        (default = max_procs + 16 + maxusers + 64)
    명시적으로 최대 사용자수를 지정하려면, /etc/system 화일에 다음과 같은
    라인을 추가하고, 시스템을 리부팅한다.
               set maxusers=100
2. 최대 프로세스 갯수 지정하기 (max_nprocs)
    시스템이 허용하는 최대 프로세스 수는 최대 사용자 수에 비례하여 자동으로
    설정된다. 그러나 그 갯수가 너무 적거나 많으면 사용자가 명시적으로 지정할
    수 있다.  최대 프로세스 수를 10000으로 지정하려면, /etc/system 화일에
    다음과 같은 라인을 추가하고, 리부팅한다.
               set max_nprocs=10000
3. 가상단말기 갯수 지정하기 (pt_cnt)
    시스템에 사용되는 가상단말기 갯수는 디폴트로 48개가 설정되어 있다.
    가상단말기는 /dev/pts/0, ..., /dev/pts/47로 되어 있다. 이 가상단말기는
    telnet이나 rlogin을 통해서 시스템으로 들어올 경우에 하나씩 사용된다.
    X-window에서 cmdtool이나 shelltool, dtterm을 실행하여도 하나씩 사용된다.
    만일, 가상단말기의 갯수를 128개로 늘이려면, /etc/system 화일에 다음과 같은
    라인을 추가하고, 리부팅한다.
               set pt_cnt=128
               set npty=128
    ** 시스템을 리부팅할 때에는 반드시 reconfiguration 모드로 리부팅하여야 한다.
    예제) command:
                              # reboot -- -r
                 PROM:
                              OK boot -r
4. 최대 화일 디스크립트 갯수 지정하기 (rlim_fd_cur)
    하나의 프로세스가 동시에 open할 수 있는 최대 화일의 개수는 디폴트로
    64개이고, 1024개까지 화일의 갯수를 늘릴 수 있다.
    shell에서 최대화일의 갯수를 512개로 늘이려면, 다음과 같이 지정한다.
               csh 경우)
                              limit descriptors 512
               sh, ksh 경우)
                              ulimit -n 512
    shell에서 한번 지정되면 이후에 실행되는 모든 명령어에 이 영향이 반영된다.
    만일, 디폴트 값을 128로 하고 최대 화일의 갯수를 1500까지 늘릴 수 있도록
    하려면, /etc/system 화일에 다음과 같은 내용을 추가하고, 시스템을 리부팅한다.
               set rlim_fd_max=1500
               set rlim_fd_cur=128
5. 최대 UFS inode수 지정하기 (ufs_ninode)
    시스템에서 화일을 open하면 하나의 화일에 대하여 하나의 ufs_niode를 가지게
    된다. 명시적으로 이 값을 지정하려면, /etc/system 화일에 다음과 같은 내용을
    추가하고, 시스템을 리부팅한다.
               set ufs_ninode=10000

 

shared memory parameter 설정하기

1. shared memory parameter 설명
 Name               Default                           Max                 Description
 ------   ---------------               --------------- -------------------------------------
 shmmax               1048576 (1Meg)               4294967295               shared memory segment의 최대 크기를
                                       (4GB)                             지정한다. 이 크기는 shmget(2) 시스템
                                       2.5.1 or               콜에서 요구할 수 있는 최대 크기이다.
                                       higher                             커널이 이 값 만큼의 메로리를 미리
                                                               할당하여 별도로 관리하는 것이 아니고      
                                       2147483647               필요할 때마다 할당 받아 사용한다. 그래서
                                       (2GB)                             이 값을 크게 지정하여도 시스템이 나쁜
                                       2.5 or lower               영향을 주지는 않는다.
 shmmin  1                      4294967295               shared memory segment의 최소 크기를
                                       (4GB)                             지정한다. 이 값은 변경할 필요는 없다.
                                       2.5.1 or            
                                       higher                       
                                       2147483647       
                                       2.5 or lower       
 shmseg 6                      32767                              하나의 프로세서에 할당될 수 있는 최대
                                       (32k)                shared memory segment의 갯수를 지정한다.
                                                               이 값은 segment가 할당될 때, segment의 갯수를 조사하는데 사용된다. 그러므로 이 값에 의하여 미리 할당되는 자원은
없다. 만일 이 값이 34K를 넘어서면, 주의 메세지를 출력하고, 그 값은 32k로               설정한다.
 shmmni  100                  2147483647               시스템에 가용한 shared memory
                                       (2GB)                             identifier의 최대 갯수를 지정한다. 
                                                               모든 shared memory segment는
                                                               이 identifier에 의해 관리되며, shmget(2)
                                                               시스템 콜의 리턴값이다.
                                                               identifier 1개당 약 120 바이트 정도의
                                                               메모리가 미리 할당된다.
                                                               Solaris 2.5 이상 버전에서는
                                                               메모리의 1/4 이상이 이 identifier에
                                                               할당되지 못하도록 하며, 그 이상이
                                                               할당되면 경고 메세지를 출력하고, 
shared memory module를 load하지 않는다.
2. shared memory parameter 설정하기
    shared memory parameter를 시스템에 설정하려면 /etc/system 화일에 다음과
    같은 라인을 추가하고, 시스템을 rebooting하면 변경사항이 반영된다.
                 set shmsys:shminfo_variable = value
    여기서 'variable'은 위에서 설명한 Name 필드에 있는 값이다.
    예를 들면,
               set shmsys:shminfo_shmmni = 150
    shmmni의 값을 150으로 변경한다.
3. shared memory parameter 값을 조사하기
    시스템에 설정되어 있는 shared memory parameter의 값은 'sysdef' 명령어로
    확인할 수 있다.
               $ sysdef
               .... Skip ....
               *
               * IPC Shared Memory
               *
               1048576            max shared memory segment size (SHMMAX)
                    1              min shared memory segment size (SHMMIN)
                  100               shared memory identifiers (SHMMNI)
                    6              max attached shm segments per process (SHMSEG)
               .... Skip ....
    위에 있는 값들이 0로 보일 수 도 있다. 이 경우는 shared memory module이
    커널에 올라와 있지 않기 때문이다. Solaris 2.x에서는 dynamic kernel을
    사용한다. 이는 kernel module들이 사용될 때, kernel에 결합되고, 사용하지
    않으면 커널에서 제거된다는 것을 의미한다. 강제적으로 shared memory module을
    커널에 load하려면 다음과 같이 'modload' 명령어를 사용할 수 있다.
               # modload -p sys/shmsys
    그리고 다시 sysdef 명령어는 사용하면, shared memory parameter를 확인할
    수 있다.
4. 참고 문헌
    시스템에 설치된 메뉴얼 페이지를 참고한다.
    shmget(2), shmop(2), shmat(2), shmdt(2)
    예제)
               man shmget

 

semaphore parameter 설정하기

1. semaphore parameter 개략 설명
 Name    Default     Max                 Brief Description
 ------  ------- -------------- -------------------------------------
 semmap          10               2147483647               semaphore map에 있는 entry의 갯수
 semmni   10               65535                              semaphore set (identifier)의 갯수
 semmns          60               2147483647               시스템에 있는 semaphore의 갯수
                              65535 (usage)
 semmnu          30               2147483647               시스템이 있는 "undo" structure의 갯수
 semmsl   25               2147483647               하나의 semaphore ID에 있는 semaphore 최대 갯수
                              65535 (usage)
 semopm          10               2147483647               하나의 semaphore call당 최대 operation 최대 갯수
 semume          10               2147483647               하나의 프로세서당 "undo" entry 최대 갯수
 semusz  96               *see below*               "undo" structured의 크기(byte)
 semvmx  32767               2147483647               semaphore 최대값
                              65535 (usage)
 semaem          16384               2147483647               exit시에 보정될 최대값
                              32767 (usage)
2. semaphore parameter 세부 설명
    semmap
               semaphore resource map의 크기를 정의한다. 이 map에 있는 하나의 entry는
               연속적인 가용한 semaphore를 차지한다.
               semget(2) 시스템 콜에 의해 얻어지는 semaphore set을 위한 공간이다.
    semmni
               시스템에서 사용할 수 있는 최대 semaphore sets (identifiers)를 정의한다.
               시스템에 있는 모든 semaphore set은 유일한 ID와 제어구조를 갖는다.
               각 semaphore set에 대하여 84 바이트의 커널 메모리가 미리 할당된다.
               semmni의 값을 65535 보다 크게 지정하면, 시스템은 경고 메세지를 출력하고
               이 값은 65535로 설정한다.
    semmns
               시스템에 있는 semaphore의 갯수를 정의한다. 각 semaphore에 대하여
               16 바이트의 커널 메모리가 미리 할당된다.
    semmnu
               시스템이 있는 semaphore undo structure를 정의한다. 각 undo structure에
               대하여 semusz 크기 만큼의 커널 메모리가 미리 할당된다. 
               하나의 프로세스에 대하여 undo 정보를 기록하기 위하여 하나의 undo
               structure가 필요하다.
    semmsl
               하나의 semaphore ID에 대하여 생성될 수 있는 semaphore의 갯수를 제한한다.
               논리적으로 semmsl는 semmns의 값과 같거나 적어야 한다.
               만일 이 값을 너무 크게 잡으면, 몇개의 semaphore ID가 시스템 전체에
               있는 semaphore를 독식할 수 있다.
    semopm
               하나의 semop(2) 시스템 콜에서 처리할 수 있는 operation 수를 제한한다.
    semume
               하나의 프로세스가 가질 수 있는 undo record의 수를 제한한다.
    semusz
               semaphore undo structure의 크기를 정의한다. 이 값은 사용자가 변경하는
               것이 아니고, 시스템에 의해 계산된다.
                              semusz = 8 * (semume + 2)
    semvmx
               하나의 semaphore의 최대값을 제한한다. undo structure와 semaem과의 
               연관관계가 있으므로 이 값의 디폴트 32767 보다 크게 지정하지 말아야
               한다. 만일 디폴트 보다 크게하면, SEM_UNDO 기능을 사용할 수 없다.
    semaem
               adjust-on-exit undo element의 최대값을 제한한다.
3. semaphore parameter 설정하기
    semaphore parameter를 시스템에 설정하려면 /etc/system 화일에 다음과
    같은 라인을 추가하고, 시스템을 rebooting하면 변경사항이 반영된다.
                 set semsys:seminfo_variable = value
    여기서 'variable'은 위에서 설명한 Name 필드에 있는 값이다.
    예를 들면,
               set semsys:seminfo_semmap = 15
    semmap(semaphore resource map)의 값을 15으로 변경한다.
4. semaphore parameter 값을 조사하기
    시스템에 설정되어 있는 semaphore parameter의 값은 'sysdef' 명령어로
    확인할 수 있다.
               $ sysdef
               .... Skip ....
               *
               * IPC Semaphores
               *
                   10  entries in semaphore map (SEMMAP)
                   10  semaphore identifiers (SEMMNI)
                   60  semaphores in system (SEMMNS)
                   30  undo structures in system (SEMMNU)
                   25  max semaphores per id (SEMMSL)
                   10  max operations per semop call (SEMOPM)
                   10  max undo entries per process (SEMUME)
                32767  semaphore maximum value (SEMVMX)
                16384  adjust on exit max value (SEMAEM)
               .... Skip ....
    위에 있는 값들이 0로 보일 수 도 있다. 이 경우는 semaphore module이
    커널에 올라와 있지 않기 때문이다. Solaris 2.x에서는 dynamic kernel을
    사용한다. 이는 kernel module들이 사용될 때, kernel에 결합되고, 사용하지
    않으면 커널에서 제거된다는 것을 의미한다. 강제적으로 semaphore module을
    커널에 load하려면 다음과 같이 'modload'명령어를 사용할 수 있다.
               # modload -p sys/semsys
    그리고 다시 sysdef 명령어는 사용하면, semaphore parameter를 확인할
    수 있다.
5. 커널 메모리의 제약
    Solaris 2.5 이상 버전에서는 semaphore가 메모리의 1/4 이상이 할당되지
    못하도록 하며, 그 이상이 할당되면 경고 메세지를 출력하고, semaphore module을
    load하지 않는다.
6. 참고 문헌
    시스템에 설치된 메뉴얼 페이지를 참고한다.
               semget(2), semctl(2), semop(2)
               예제)
                              man semget

 

message queue parameter 설정하기

1. message queue 개략 설명
 Name    Default Max             Brief Description
 ------  ------- -------------- -------------------------------------
 msgmap               100               2147483647               메세지 map에 있는 entry 갯수
 msgmax 2048               2147483647*               메세지 최대 크기
 msgmnb               4096               2147483647*               메세지 큐의 최대 크기
 msgmni  50               2147483647               메세지 큐 identifier의 갯수
 msgssz 8               2147483647*               메세지 segment의 크기
 msgtql    40               2147483647               시스템 메세지 헤더 갯수
 msgseg 1024               32767*                             메세지 segment의 수 (MUST BE < 32768)
2. message queue 세부 설명
    msgmap
               메세지 큐 resource map의 크기를 정의한다. 이 map에 있는 하나의 entry는
               연속적인 가용한 공간를 차지한다. 이것은 msgsnd(2) 시스템 콜에 의해
               얻어지는 메세지 큐 segment를 위한 공간으로 사용된다.  
    msgmax
               하나의 메세지에 대한 크기를 제한한다. 메세지의 크기가 이 값보다 크면
               msgsnd(2) 시스템 콜은 EINVAL 오류값을 리턴한다.
               이 값은 최대 2GB까지 사용할 수 있지만 시스템의 다른 요소들이 65535로
               제한된 것이 있기 때문에 65535보다 큰 값을 사용할 경우에 예기치 못한
               결과가 발생할 수 도 있다.
    msgmnb
               하나의 메세지 큐가 수용할 수 있는 메세지의 최대 크기를 제한한다.
               이 값은 메세지 큐에 보관되어 있는 메세지들의 크기(byte)의 합계이다.
               위에 기술된 최대값은 Solaris 2.4 이상의 버전이고, 그 이전의 버전에서는
               최대값이 65535로 제한된다. 
    msgmni
               시스템에 가용한 메세지 큐 identifier의 갯수를 정의한다.
               시스템은 이 값만큼의 msgmni control structure에 해당되는 커널 메모리를
               미리 할당한다. 하나의 control structure는 144 바이트이다.
    msgtql
               시스템에서 가용한 메세지 큐 헤더를 갯수를 정의한다. 메세지 큐에 들어
               있지만 아직 읽혀지지 않은 메세지는 하나의 메세지 큐 헤더를 차지한다.
               시스템은 이 값만큼의 msgtql control structure에 해당되는 커널 메모리를
               미리 할당한다. 하나의 control structure는 12 바이트이다.
    msgssz & msgseg
               이 두개의 값에 의하여, 모든 큐에 있는 모든 메세지에 대한 가용한 전체
               바이트 수를 정의한다. 시스템은 메세지 큐들에 대하여 커널 메모리를
               미리 할당한다. 메모리의 총합은 msgssz * msgsseg 이다.
               msgssz * msgsseg의 값은 2147483647을 넘어서는 안된다.
3. message queue parameter 설정하기
    message queue parameter를 시스템에 설정하려면 /etc/system 화일에 다음과
    같은 라인을 추가하고, 시스템을 rebooting하면 변경사항이 반영된다.
                 set msgsys:msginfo_variable = value
    여기서 'variable'은 위에서 설명한 Name 필드에 있는 값이다.
    예를 들면,
               set msgsys:msginfo_msgmap = 150
    msgmap(message queue resource map)의 값을 150으로 변경한다.
4. message queue parameter 값을 조사하기
    시스템에 설정되어 있는 message queue parameter의 값은 'sysdef' 명령어로
    확인할 수 있다.
               $ sysdef
               .... Skip ....
               *
               * IPC Semaphores
               *
                  100  entries in msg map (MSGMAP)
                 2048  max message size (MSGMAX)
                 4096  max bytes on queue (MSGMNB)
                   50  message queue identifiers (MSGMNI)
                    8  message segment size (MSGSSZ)
                   40  system message headers (MSGTQL)
                 1024  message segments (MSGSEG)
               .... Skip ....
    위에 있는 값들이 0로 보일 수 도 있다. 이 경우는 message queue module이
    커널에 올라와 있지 않기 때문이다. Solaris 2.x에서는 dynamic kernel을
    사용한다. 이는 kernel module들이 사용될 때, kernel에 결합되고, 사용하지
    않으면 커널에서 제거된다는 것을 의미한다. 강제적으로 message queue
    module을 커널에 load하려면 다음과 같이 'modload'명령어를 사용할 수 있다.
               # modload -p sys/msgsys
 그리고 다시 sysdef 명령어는 사용하면, message queue parameter를 확인할 수 있다.
5. 커널 메모리의 제약
    Solaris 2.5 이상 버전에서는 message queue가 메모리의 1/4 이상이 할당되지
    못하도록 하며, 그 이상이 할당되면 경고 메세지를 출력하고, message queue
    module을 load하지 않는다.
6. 참고 문헌
    시스템에 설치된 메뉴얼 페이지를 참고한다.
    msgget(2), msgctl(2), msgop(2), msgsnd(2), msgrcv(2)
    예제)
               man msgget

 

/ 화일 시스템이 full 되었을 경우 조치 방법

/ (root) 화일시스템이 full되었을 경우에 다음에 열거한 순서대로 화일시스템을
점검한다.
1. / 화일시스템에 사용자가 임의로 만들어 준 디렉토리가 있는면 정리한다.
2. /dev 디렉토리 밑에 일반화일이 있는지 조사한다.
               # find /dev  -type f -exec ls -l {} \;
    일반화일이 있을 경우, 모두 지우면 된다. 특히 테이프에 백업을 받을 경우에
    사용자가 디바이스명을 잘못 지정하여, 테이프에 백업되지 않고 화일에
    저장하는 경우가 있다.
3. 시스템에 있는 core 화일을 제거한다.
    core 화일을 찾아 보려면 다음과 같은 명령어를 사용한다.
               # find / -name core -print         
    core 화일을 찾아서 자동으로 지우려면 다음과 같은 명령어를 실행한다.
               # find / -name core -exec rm {} \; -print
4. /var가 root 화일 시스템이 있을 경우, /var 디렉토리 밑을 조사한다.
               # du -sk /var/* | sort -nr
    이 명령어를 실행하면 /var 밑에 있는 디렉토리 별로 그 서브 디렉토리까지
포함하여 KB 단위의 크기를 출력한다. 거기에서 사이즈가 큰 디렉토리에 대하여 조사한다.
    정상적인 시스템에 주로 문제가 될 만한 디렉토리는 다음과 같다.
               /var/adm
               /var/mail
               /var/log
               /var/preserve
               /var/spool
    4.1 /var/adm
               /var/adm 디렉토리에는 시스템이 운용중이 발생하는 메세지나 기타 정보들이
               누적 보관된다. 이 디렉토리에 큰 화일이 있으면 정리한다.
                              messmages.0, messages.1, ... 
               이러한 화일이 있으면 그냥 지워도 상관없다.
               messages 화일의 크기가 너무 크면 " # cp /dev/null messages " 명령어를
               사용하여 화일 크기를 0으로 만들 수 있다. 이 화일은 시스템에서 발생되는
               메세지를 보관하는 화일이다.
               wtmp 또는 wtmpx 화일의 크기가 너무 크면 다음과 같은 명령어를 실행하여
               그 크기를 0으로 만들 수 있다. 이 화일에는 시스템에 접속한 사용자에
               대한 정보를 가지고 있는 화일이다.
                              # cp /dev/null wtmp
                              # cp /dev/null wtmpx
               만일 pacct이 있으면 그 화일의 크기를 다음과 같은 명령어를 사용하여
크기를 0으로 만들 수 있다. 이 화일은 accounting 정보를 가지고 있는 화일이다.
                              # cp /dev/null pacct
               pacct1, pacct2, ... 등등의 화일이 있으면 그냥 지우면 된다.
               그외에도 사이즈가 큰 화일을 알아서 정리한다.
    4.2 /var/mail
               /var/mail 디렉토리에는 메일 데이타가 보관되는 곳이다. 이 디렉토리에
               사이즈가 큰 화일이 있으면, 해당 사용자에게 그 메일을 정리하도록 한다.
    4.3 기타 디렉토리에 대해서도 조사하여 불필요하게 사이즈가 큰 화일 있을
        경우 알아서 정리한다. 단 화일을 지울 때, 그 화일이 어떤 화일인지
               숙지한 후에 지울 것인가 아닌가를 결정한다.
5. / 화일 시스템에 있는 1 MB 이상되는 화일을 조사하여, 화일 크기순으로
   sort하여 그 내용을 조사한다.
               # find / -mount -size +1024k -ls > /tmp/find.list
               # sort -nr +6 /tmp/find.list > /tmp/find.list.s
     find.list.s 화일에서 비정상적인 큰 화일이 있는지 조사한다.

 

백업(Backup) 방법

Solaris 2.X에서는 다음과 같은 4가지 백업이 있다.
               1. tar
               2. cpio
               3. dd
               4. ufsdump/ufsrestore
1. tar
    tar를 화일 또는 디렉토리 전체를 백업 받는데 사용된다.
    1.1 화일 시스템에서 테이프로 백업 받기
               # tar cvf /dev/rmt/0 .
    1.2 테이프에서 화일 시스템로 백업 받기
               # tar xvf /dev/rmt/0
    1.3 테이프 내용 보기
               # tar tvf /dev/rmt/0
2. cpio
               
    2.1 화일 시스템에서 테이프로 백업 받기
               # find . -print | cpio -ocvB -O /dev/rmt/0
    2.2 테이프에서 화일 시스템로 백업 받기
               # cpio -icvBmd -I /dev/rmt/0
    2.3 테이프 내용 보기
               # cpio -ict -I /dev/rmt/0
3. dd
    3.1 화일을 테이프로 백업 받기
               # dd if=file1 of=/dev/rmt/0 bs=4096k
    3.2 테이프에서 화일로 백업 받기
               # dd if=/dev/rmt/0 of=file1 bs=4096k
4. ufsdump/ufsrestore
    4.1 화일시스템에서 테이프로 백업 받기
               # ufsdump 0cuf /dev/rmt/0  /
    4.2 테이프에서 화일 시스템으로 백업 받기
               # ufsrestore rvf /dev/rmt/0
    4.3 테이프 내용 보기
               # ufsrestore tvf /dev/rmt/0
    4.4 Interactive restore
               # ufsrestore ivf /dev/rmt/0

 

사용자(계정) 등록하기

1. 시스템에 새로운 사용자를 등록하기
               # useradd -d /export/home/guest -s /usr/bin/ksh -m guest
    이 명령어는 /export/home/guest라는 홈디렉토리를 가지는 guest 라는 사용자를
    만든다. 그 사용자의 login shell은 /usr/bin/ksh이다.
    -m 옵션은 사용자의 홈디렉토리응 만들어 준다.
    이 명령어를 실행하기전에 /export/home 디렉토리는 존재하여야 한다.
    useradd 명령어로 사용자를 만들면, 그 사용자의 암호는 lock되어 있어서 암호를
    넣어 줄때까지 이 사용자는 login할 수 없다.
    그래서 passwd 명령어를 사용하여 암호를 넣어주어야 한다.
               # passwd guest
               New password: 
               Re-enter new password: 
2. 시스템에서 사용자 제거하기
               # userdel -r guest
    guest라는 사용자를 시스템에서 제거한다. -r 옵션을 사용자의 홈디렉토리를 지운다.
6. 참고 문헌
    시스템에 설치된 메뉴얼 페이지를 참고한다.
               useradd(1M), userdel(1M), usermod(1M)
               예제)
man useradd
 

sar 데이타 수집하기

sar 데이타를 받으려면 다음과 같은 과정을 수행한다.
1. /etc/init.d/perf 화일에서 다음과 같이 # commnet를 제거한다.
               #MATCH=`who -r|grep -c "[234][   ]*0[    ]*[S1]"`
               #if [ ${MATCH} -eq 1 ]
               #then
               #       su sys -c "/usr/lib/sa/sadc /var/adm/sa/sa`date +%d`"
               #fi
               |
               |
               +--->
                              MATCH=`who -r|grep -c "[234][   ]*0[    ]*[S1]"`
                              if [ ${MATCH} -eq 1 ]
                              then
                               su sys -c "/usr/lib/sa/sadc /var/adm/sa/sa`date +%d`"
                              fi
2. /etc/init.d/perf 화일을 /etc/rc2.d 디렉토리 밑에 링크를 건다.
               # ln /etc/init.d/perf /etc/rc2.d/S21perf
3. "crontab -e sys" 명령어를 실행하여, 다음과 같은 추가한다.
   crontab -e sys를 실행하면 vi 에디터 화면이 나타난다. vi 화면이 나타나지
   않으면 환경변수 EDITOR에 vi를 설정한다.
   다음은 5분간격으로 sar 데이타를 받는 것이다.
                0,5,10,15,20,25,30,35,40,45,50,55 * * * * /usr/lib/sa/sa1
4. sar 데이타를 받기 위한 초기 작업을 한다. 다음과 같은 명령어를 실행한다.
               # sh /etc/init.d/pert start
               * reboot하지 않아도 되며, reboot하여도 sar 데이타는 계속 받힌다.
 

remote Backup 방법

Tape가 있는 시스템 tserver, Tape가 없는 시스템 client라고 가정한다.
1. Trusted Host 관계를 맺는다.
               a) client에 /.rhosts 화일을 만들고 tserver를 넣는다.
               b) tserver에 /.rhosts 화일을 만들고 client를 넣는다.
               c) tserver에서 다음과 같은 명령어가 실행되는지 확인
                              # rsh client ls
               d) client에서 다음과 같은 명령어가 실행되는지 확인
                              # rsh tserver ls
2. tar backup
               1.1 tserver에서 backup(일반적인 방법)
                              1.1.1 Disk ---> Tape
                                       tar cvf /dev/rmt/0 directory
                              1.1.2 Tape --> Disk
                                       tar xvf /dev/rmt/0
               1.2. client에서 tserver의 tape로 backup
                              1.2.2 Disk ---> Tape
                                       tserver에서 client의 /usr/lib 디렉토리를 backup하려면
                                           # rsh client "cd /usr; tar cvf - lib" > /dev/rmt/0
                              1.2.3 Tape --> Disk
                                       client에서 백업을 풀 디렉토리에 가서 다음과 같이 실행
                                           # rsh tserver "cat /dev/rmt/0" | tar xvf -
3. ufsdump/ufsrestore backup
               1.1 tserver에서 backup(일반적인 방법)
                              1.1.1 Disk ---> Tape
                                       ufsdump 0uf /dev/rmt/0 /dev/rdsk/c0t0d0s0
                              1.1.2 Tape --> Disk
                                       ufsrestore rf /dev/rmt/0
               1.2. client에서 tserver의 tape로 backup
                              1.2.2 Disk ---> Tape
                                       client에서 다음과 같이 실행
                                       # ufsdump 0uf tserver:/dev/rmt/0 /dev/rdsk/c0t0d0s0
                              1.2.3 Tape --> Disk
                                       client에서 다음과 같이 실행
                                       # ufsrestore rf tserver:/dev/rmt/0

 

한글이 입출력되지 않으면?

1. LANG 환경변수와 터니널 모드를 지정한다.
              a) sh, ksh 인 경우, 다음과 같은 내용을 홈디렉토리의 .profile 화일에 넣는다
                              LANG=ko
                              export LANG
                              stty -istrip -parenb cs8
               위의 명령어를 쉘 상에서 바로 실행하면 즉시 반영된다.
               b) csh 인 경우, 다음과 같은 내용을 홈디렉토리의 .login 화일에 넣는다
                              setenv LANG ko
                              stty -istrip -parenb cs8
               위의 명령어를 쉘 상에서 바로 실행하면 즉시 반영된다.
 

CDE: dtmail에 mp 형식을 추가하는 방법

SRDB ID: 12685
개요: CDE: dtmail에 mp 형식을 추가하는 방법
세부 설명:
Solaris 일반 데스크탑 환경 Answerbook 1.0.1에 포함된 Solaris CDE 설치 및 시스템 관리 설명서에서는 다음 방법을 사용해서 $HOME/.dt/types/dtmail.dt에 mp 형식 제어를 추가하도록 설명합니다.
#
# Override default Print action for mailboxes
# ACTION print
{
LABEL           Print
ARG_TYPE        DTMAIL_FILE
TYPE            COMMAND
WINDOW_TYPE     NO_STUDIO
EXEC_STRING     sh -c '                 dtmailpr -p -f %(File)Arg_1% | mp -m -l
|                 dtlp -u %(File)Arg_1%;'
}
그러나 이 방법을 사용해도 추가되지 않습니다! 
무엇이 잘못된 것입니까?
해결 방법 요약:
작업 정의가 잘못되었습니다.
"# ACTION print" 행에서 "#" 기호를 제거해야 합니다.
0. dtmail을 중단하십시오.
1. cp /usr/dt/appconfig/types/C/dtmail.dt ~/.dt/types/
2. $HOME/.dt/types/dtmail.dt 파일을 편집하고 인쇄 작업을 수정하십시오.
## override the Print ACTION
ACTION Print
{
        LABEL           Print
        ARG_TYPE        DTMAIL_FILE
        TYPE            COMMAND
        WINDOW_TYPE     NO_STDIO
        EXEC_STRING     sh -c '                         dtmailpr -p -f
%(File)Arg_1% |                        mp -m -l |                        dtlp
-u %(File)Arg_1%;'
}
3. CDE를 다시 시작하십시오.
4. dtmail을 시작하십시오.
*** Sun은 dtmail과 작업을 사용자 정의하는 기능을 지원하지 않습니다.
*** 이 설명서의 내용은 참고용입니다.
*** 
제품 영역: Windows
제품: CDE
SUNOS 릴리즈: Solaris 2.x
하드웨어: 모든 하드웨어
 

모든 클라이언트가 사용자 암호 없이 로그인하도록 설정하기

SRDB ID: 14816
개요: 모든 클라이언트가 사용자 암호 없이 로그인하도록 설정하기
세부 설명:
모든 클라이언트에 대하여 사용자 암호를 요구하지 않도록 하려면 어떻게 해야 합니까?
그러면 모든 클라이언트가 암호를 입력하지 않고 로그인할 수 있습니다.
해결 방법 요약:
/etc/default/login 파일에서 다음 행에 주석 표시를 하십시오.
PASSREQ=YES
행 앞에 # 기호를 사용하면 주석 표시가 됩니다.
그러면 모든 사용자가 암호를 입력하지 않고 로그인할 수 있습니다.
제품 영역: 시스템 관리
제품: 로그인
SUNOS 릴리즈: Solaris 2.5.1
하드웨어: S10-51

 

rlogin을 실행하면 "protocol error, closed connection" 오류가 발생하는 경우

SRDB ID: 15011
개요: rlogin을 실행하면 "protocol error,  closed connection" 오류가 발생하는 경우
세부 설명:
SunOS 시스템에 대하여 rlogin이 실행되지 않고 다음 오류가 발생합니다.
               "protocol error,  closed connection"
해결 방법 요약:
1. 연결하려는 시스템을 대상으로 in.rlogin에 대한 사용 권한을 확인하십시오. 사용 권한이 다음과 같아야 합니다.
    -r-xr-xr-x  1 root     staff       16384 Jan 20  1994 /usr/sbin/in.rlogind
2. /etc/inetd.conf 파일에서 login 행을 확인하십시오. 다음과 같아야 합니다.
   login               stream             tcp               nowait              root               /usr/sbin/in.rlogind               in.rlogind
제품 영역: 일반 네트워크
제품: 일반 서비스
SUNOS 릴리즈: Solaris 1.x
하드웨어: 없음

 

dtlogin을 사용해서 로그인할 때 Solaris 배너 페이지 비활성화하기

SRDB ID: 15717
개요: dtlogin을 사용해서 로그인할 때 Solaris 배너 페이지 비활성화하기
세부 설명:
dtlogin을 사용해서 로그인할 때 Solaris 배너 페이지가 표시되지 않도록 하려면 어떻게 해야 합니까?
해결 방법 요약:
/etc/dt/config/Xservers 파일에 -nobanner 옵션을 추가하는 방법으로는 이 페이지를 비활성화할 수 없습니다.
로그인과 실제 데스크탑 사이에 표시되는 "Welcome to Solaris" 화면은 Xserver 배너가 아니고, Xserver가 이미 실행되어 로그인 화면을 표시하는 것입니다.
이 배너는 /usr/dt/bin/Xsession에서 호출되는 /usr/dt/bin/dthello 프로그램에 의해 표시됩니다.
로그인할 때 다른 프로그램을 실행하려면 /usr/dt/bin/Xsession 파일을 수정해서 dtstart_hello[0] 변수의 설정을 변경해야 합니다. 현재는 "$DT_BINPATH/dthello &"로 설정되어 있습니다.
배너를 완전히 없애려면 dtstart_hello 변수가 있는 행에 주석 표시를 하십시오. 이 행은 다음과 같습니다.
    StartFirst dtstart_hello        # start desktop hello client
자세한 내용은 dthello에 대한 매뉴얼 페이지를 참조하십시오.
제품 영역: Windows
제품: CDE
SUNOS 릴리즈: Solaris 2.5
하드웨어: 모든 하드웨어

 

PS 명령을 실행할 때 터미널을 제어할 수 없다는 오류가 발생하는 경우

SRDB ID: 16374
개요: PS 명령을 실행할 때 터미널을 제어할 수 없다는 오류가 발생하는 경우
세부 설명:
PS 명령을 실행하면 터미널을 제어할 수 없다는 오류가 발생합니다.
truss도 실행되지 않고 "/proc is not proc directory message" 오류가 발생합니다.
해결 방법:
/etc/vfstab에 /proc 항목이 없습니다.
다음과 같은 항목이 있어야 합니다.
/proc       -               /proc               proc               -               no               -
제품 영역: 커널
제품: 일반
SUNOS 릴리즈: Solaris 2.x
하드웨어: 모든 하드웨어
 

"rpc.lockd cannot contact status monitor" 오류 메시지

SRDB ID: 17198
개요: "rpc.lockd cannot contact status monitor" 오류 메시지
세부 설명:
오류 메시지: rpc.lockd cannot contact status monitor
이 오류 메시지는 부팅할 때 표시되고, 시스템이 완전히 부팅된 후에도 계속 나타납니다.
ps -ef 명령을 실행하면 lockd는 실행되고 있지만 statd는 실행되지 않는다고 표시됩니다.
다음과 같은 방법을 사용해 보십시오.
1.  lockd와 statd를 중단하십시오(statd는 실행되지 않음).
2.  /etc/sm*/*의 파일을 삭제(rm 명령)하십시오. 
3.  lockd와 statd를 다시 시작하십시오.
그래도 statd가 시작되지 않습니다!
해결 방법 요약:
/etc/sm.bak에 대한 사용 권한이 잘못되었습니다. 사용 권한이 다음과 같습니다.
----------  2 root          512 May 19 15:10 sm.bak/
statd를 제대로 실행하려면 다음과 같이 하십시오.
1. sm.bak 디렉토리를 삭제하십시오.
2. 다음 사용 권한의 디렉토리를 생성하십시오.
drwxr-s---  2 root          512 May 19 15:10 sm.bak/
이렇게 하면 직접 statd를 시작할 수도 있고 다시 부팅해서 시작할 수도 있습니다.
제품 영역: 일반 네트워크
제품: NFS
SUNOS 릴리즈: Solaris 1.x
하드웨어: 모든 하드웨어
 

Solaris 2.6 시스템에 ftp 연결이 되지 않고 "530 login incorrect" 메시지가 나오는 경우

SRDB ID: 17212
개요: Solaris 2.6 시스템에 ftp 연결이 되지 않고 "530 login incorrect" 메시지가 나오는 경우
세부 설명:
Solaris 2.6 시스템에 ftp로 연결하면 다음 메시지가 나옵니다.
# ftp 
Connected to .
220  FTP server (SunOS 5.6) ready.
Name (:): 
331 Password required for .
Password: 
530 Login incorrect.
Login failed.
Solaris 2.5.1 시스템에 ftp로 연결하면 다음 메시지가 나옵니다.
# ftp 
Connected to .
220  FTP server (UNIX(r) System V Release 4.0) ready.
Name (:): 
530 User  access denied.
Login failed.
두 경우 모두 rlogin과 telnet은 제대로 연결됩니다.
해결 방법 요약:
A1: 표준이 아닌 쉘(즉, tcsh)을 사용하고 있습니다.
표준이 아닌 쉘을 사용할 경우에는 /etc/shells 파일을 작성하고 이 파일에 쉘을 추가해야 합니다. 
 
참고: /etc/shells 파일을 생성하면 이 파일에 있는 쉘만 사용됩니다. 이 파일을 작성할 때 표준이 아닌 쉘과 함께 모든 기본 쉘을 추가하는 것이 좋습니다.
다음은 맨 아래에 있는 표준이 아닌 쉘과 함께 기본 Solaris 쉘을 추가한 /etc/shells 파일의 예입니다.
 %% cat /etc/shells
  /usr/bin/sh  
  /usr/bin/csh 
  /usr/bin/ksh
  /usr/bin/jsh 
  /bin/sh      
  /bin/csh
  /bin/ksh     
  /bin/jsh
  /sbin/sh
  /sbin/jsh
  /usr/local/bin/tcsh
A2: ftp로 연결하려는 시스템의 /etc/ftpusers 파일에 사용자 목록이 있습니다. 이 파일에 항목으로 표시된 모든 사용자는 자동으로 FTP 액세스가 거부됩니다.
A3: /etc/passwd 및 /etc/shadow 파일(또는 NIS나 NIS+ 데이터베이스)에서 ftp로 연결하려는 사용자 항목의 구문이 정확한지 확인하십시오. 구문을 확인하려면 pwck를 실행하십시오.
제품 영역: 일반 네트워크
제품: ftp
SUNOS 릴리즈: Solaris 2.6
하드웨어: 없음

 

lit 도구를 사용하지 않고 컴파일러 사용권을 설치하는 방법

SRDB ID: 17252
개요: lit 도구를 사용하지 않고 컴파일러 사용권을 설치하는 방법
세부 설명:
PatchID 104829를 사용해서 lit를 패치하지 않으면 lit(사용권 설치 도구)에 문제가 있습니다. 즉, 패치를 실행하지 않으면 lit 도구가 사용권 파일에 불필요한 문자를 입력해서 사용권 오류가 발생합니다.
문제를 해결하려면 아래 설명에 따라 영구 사용권을 설정하십시오.
해결 방법 요약:
 
1. 전자 우편으로 사용권 키를 얻으려면 라이센스 센터로 전화를 하십시오.
   라이센스 센터: 1-800-USA-4SUN(3번을 선택한 다음 1번 선택)
2. 사용권 전자 우편을 받았으면 첨부 파일을 저장하십시오. 첨부된 두 개의 파일 중 하나가 사용권 파일입니다. 사용권 파일은 첫 번째 행에 "SERVER .."라는 단어가 있습니다. 또 하나의 첨부 파일은 사용권 대상 제품, 일련번호, 호스트 이름 등에 대한 정보가 있는 "User-Info" 파일입니다. 정확한 첨부 파일을 /tmp/lic로 저장하십시오.
3. 저장된 사용권 파일을 다음 위치에 복사하십시오.
   # cp /tmp/lic /etc/opt/licenses/licenses_combined
   # cp /tmp/lic //SUNWspro/license_dir/sunpro.lic,1
   는 컴파일러를 설치하기 위해 선택한 위치입니다. 기본 위치는 /opt입니다.
   참고: license_dir에 사용권이 있을 경우 이미 sunpro.lic,1 또는 sunpro.lic.X(여기서 X는 번호)라는 파일이 있을 수 있습니다. 사용할 수 있는 다음 번호를 사용해서 파일 이름을 지정해야 합니다.
4. 사용권 관리자를 다시 시작하십시오.
   # cd /etc/opt/licenses
   # ./lmdown -a -c licenses_combined
   (다시 시작하기 전에 사용권 데몬이 중단되었는지 확인하십시오.)
   # ps -ef | grep lmgrd
   # ps -ef | grep suntechd
   (이제 사용권 데몬을 시작하십시오.)
   # /etc/rc2.d/S85lmgrd
5. 다음 명령을 실행하여 사용권 데몬이 모든 사용권을 보고하는지 확인하십시오.
   # ./lmstat -a -c licenses_combined.
   사용권을 받은 각 제품에 대한 사용 정보와 데몬의 상태가 보고되어야 합니다.
6. 이제 다음 방법으로 컴파일러를 사용할 수 있습니다.
   # cd //SUNWspro/bin
   # ./cc -xlicinfo
   구입한 만큼의 사용권에 사용할 수 있는 사용권이 보고되어야 합니다. 보고된 값이 0이면 사용권 관리자가 실행되지 않은 것입니다.
   다음을 실행하여 확인하십시오.
   # touch /tmp/test.c
   # /opt/SUNWspro/bin/cc /tmp/test.c
       "test.c", line 1: warning: empty translation unit
       Undefined                       first referenced
       symbol                             in file
       main                                /opt/SUNWspro/SC4.2/lib/crt1.o
       ld: fatal: Symbol referencing errors. No output written to a.out
   사용권 오류 없이 길이가 0인 파일을 컴파일했습니다.
   컴파일에 실패하면 다음과 같은 메시지가 나옵니다.
       License Error : Cannot connect to the license server (austin)..
        for product(Sun WorkShop Compiler C).
        (License server may not have been started)
       Cannot connect to license server (-15,12:146) Connection refused
       cc: acomp failed for test.c
   이 경우에는 Sun 서비스 전화 1-800-USA-4SUN으로 문의하고 /var/tmp/license_log 파일을 전송할 준비를 하십시오.
패치 ID: 104829
제품 영역: 사용권
제품: FLEXlm
SUNOS 릴리즈: Solaris 2.x
하드웨어: 없음

 

Warning: Cannot convert string "...." to type FontList, using fixed font

SRDB ID: 17310
개요: Warning: Cannot convert string "...." to type FontList, using fixed font
세부 설명:
다른 회사 응용 프로그램을 Sun 시스템에 표시하려고 하면 다음과 같은 오류 메시지가 나옵니다.
Warning: Cannot convert string "...." to type FontList, using fixed font
응용 프로그램이 실행되지만 제대로 표시되지 않습니다. 
왜 이런 문제가 발생합니까?
해결 방법 요약:
이 오류 메시지는 응용 프로그램이 찾는 글꼴이 없기 때문입니다.
Sun 시스템에서 사용할 수 있는 글꼴이 원격 시스템의 글꼴과 다를 수 있습니다. 표시하려는 응용프로그램에 Sun Xserver에 없는 글꼴이 필요하기 때문에 필요한 글꼴을 제공할 수 없습니다. 이 경우에는 Xserver가 다른 글꼴을 선택해서 응용프로그램에 사용하기 때문에 응용프로그램이 이상하게 표시될 수 있습니다. 또 응용 프로그램이 전혀 실행되지 않을 수도 있습니다.
Sun 시스템이 원격 시스템에 있는 글꼴을 인식하도록 해야 합니다. 다음 두 가지 방법으로 이 작업을 할 수 있습니다.
 
1. 필요한 글꼴이 인식할 수 있는 형식일 경우에는 글꼴을 Sun 시스템으로 복사할 수 있습니다. ( Sun 형식은 font psd를 참조하십시오.)
2. Sun 시스템에서 필요한 글꼴의 이름을 별명으로 지정할 수 있습니다. 응용 프로그램이 찾는 글꼴을 찾을 수 없을 경우 응용 프로그램이 Sun 시스템에 있는 다른 글꼴을 사용하도록 합니다.
   다른 글꼴을 사용하게 하려면 글꼴 디렉토리 중 하나에서 fonts.alias 파일을 편집하십시오. 글꼴 디렉토리 목록을 보려면 xset -q 명령을 실행하십시오. 그 다음에 필요한 글꼴을 파일에 추가하십시오.
   이제 xset fp rehash 명령을 실행하십시오.
   (자세한 내용은 font psd를 참조하십시오.)
제품 영역: Windows
제품: 글꼴
SUNOS 릴리즈: Solaris 2.x
하드웨어: 모든 하드웨어
 

 dbx 내부 오류가 발생하는 이유

SRDB ID: 17324
개요: dbx 내부 오류가 발생하는 이유
세부 설명:
간단한 hello.c 프로그램을 컴파일할 때 디버깅을 위해 -g 옵션을 사용하는데, Workshop 디버거나 명령행 dbx를 사용하려고 하면 다음 오류가 발생합니다.
dbx: internal error: object file ends unexpectedly while reading stabs of hello.c
해결 방법 요약:
다른 컴파일러(예: gcc)를 사용해서 프로그램을 컴파일하고, 이렇게 생성된 실행 파일을 Workshop 디버거나 dbx를 사용해서 디버그할 경우에 이러한 오류가 발생합니다.
"which cc" 명령을 실행해서 /SUNWspro/bin/cc가 표시되지 않으면 다른 컴파일러를 사용하고 있는 것입니다(여기서 는 Workshop 컴파일러가 설치된 위치).
Workshop 컴파일러에서 정확한 경로(즉, //SUNWspro/bin/cc)를 지정하고 -g 옵션을 사용해서 컴파일한 다음, Workshop 디버거나 명령행 dbx를 사용해서 디버그하면 dbx 내부 오류가 발생하지 않습니다.
제품 영역: 프로그래밍
제품: 디버거
SUNOS 릴리즈: 모든 릴리즈
하드웨어: 모든 하드웨어

 

 

다른 회사 소프트웨어의 매뉴얼 페이지가 작동하지 않는 경우

SRDB ID: 17351
개요: 다른 회사 소프트웨어의 매뉴얼 페이지가 작동하지 않는 경우
세부 설명:
다른 회사에서 제공하는 소프트웨어와 매뉴얼 페이지를 로드했습니다. MANPATH에 경로를 추가하고 catman도 실행했습니다. 그러나 명령에 대하여 man을 실행하면 "No manual entry for (the command). no such file or directory."라는 메시지가 나옵니다.
해결 방법 요약:
매뉴얼 페이지 파일의 이름 표기 규칙에 문제가 있습니다. 
/usr/man/man1의 표준 파일 이름은 mem.1인데, 다른 회사에서 제공하는 파일의 이름은 mem.1T입니다. "T" 때문에 문제가 발생한 것입니다. "T"를 삭제하거나 "T"를 "t"로 변경하면 매뉴얼 페이지가 작동합니다. 대문자 "T"를 사용하면 문제가 발생합니다.
제품 영역: 모든 영역
제품: 모든 제품
SUNOS 릴리즈: Solaris 2.5.1
하드웨어: 모든 하드웨어

 

sendmail: unqualified host name/unable to qualify my own domain name

SRDB ID: 18391
개요: sendmail: unqualified host name/unable to qualify my own domain name
세부 설명:
SendMail 8.8을 사용해서 전송하면 다음 메시지가 나옵니다.
  sendmail[694]: My unqualified host name (lawlor.) unknown; sleeping for retry
  sendmail[694]: unable to qualify my own domain name (lawlor.) -- using short name
해결 방법 요약:
다음은 sendmail 버전에 대한 표입니다.
        Solaris                         sendmail
        ========================================
        7                               8.9.1b      
        2.6                             8.6
        2.6 + 105395-05 이상            8.8.8
        2.5.1                           8.6
        2.5.1 + 103594-18 이상          8.8.8
        기타 + 최신 패치                8.6
 
Solaris 7로 업그레이드하거나 최신 sendmail 패치를 사용하여(또는 sendmail 패치가 포함된 권장 패치 세트를 적용) 2.5.1/2.6을 패치하면 이런 문제가 발생합니다.
Sendmail 8.8을 사용해서 전송하려면 완전한 호스트 이름을 지정해야 하기 때문에, 로컬 도메인 이름을 알 수 있습니다.
여러 가지 방법을 사용한 후에 실패하면 다음 메시지를 표시합니다.
  sendmail[694]: My unqualified host name (lawlor.) unknown; sleeping for retry
  sendmail[694]: unable to qualify my own domain name (lawlor.) -- using short name
첫 번째 메시지를 표시한 다음 네임 서비스에 장애가 있다고 판단해서(즉, 네트워크 네임 서비스를 초기화하는 중) 60초 동안 대기했다가 두 번째 행을 표시합니다. 1분 후에 두 번째 메시지가 표시되고, sendmail은 도메인 이름을 확인하지 못하고 계속 진행합니다.
가장 간단한 방법(권장)은 /etc/hosts에 완전한 호스트 이름을 지정하고, /etc/nsswitch.conf에 "files"를 첫 번째로 지정하는 것입니다. 예를 들어 다음과 같이 하십시오.
  /etc/nsswitch.conf:
  hosts: files nisplus dns
  /etc/hosts:
  192.9.9.100               www www.sun.com
/etc/nsswitch.conf에 있는 첫 번째 네임 서비스가 "files"이면 표시된 첫 번째 네임 서비스가 완전한 호스트 이름을 반환해야 합니다.
Sendmail이 NIS/NIS+ 도메인 이름(/etc/defaultdomain에 설정된)을 사용할 수 있습니다. 이 경우에는 첫 번째 구성 요소를 제거하십시오. 예를 들어, 다음과 같이 하십시오.
  hotline.uk.sun.com -> uk.sun.com
Solaris 7에는 완전한 호스트 이름이 구성되었는지 확인해서 알려주는 /usr/lib/mail/sh/check-hostname 스크립트가 있습니다. 2.5.1/2.6에 사용할 수 있는 버전을 구하려면 아래 웹 사이트를 참조하십시오.
참고:
  Sendmail은 sendmail.cf 파일을 처리하기 전에 위의 작업을 실행하기 때문에 $m을 설정해도 메시지가 취소되거나 지연되지 않습니다.
자세한 내용은 다음 웹 사이트를 참조하십시오.
  http://www.sendmail.org/sun-specific
제품 영역: 일반 네트워크
제품: 메일
SUNOS 릴리즈: 없음
하드웨어: 없음

 

이중 헤드 표시를 사용하거나 두 번째 프레임 버퍼에 CDE를 실행하는 방법

INFODOC ID: 11669
개요: 이중 헤드 표시를 사용하거나 두 번째 프레임 버퍼에 CDE를 실행하는 방법
세부 설명:
다음 방법으로 이중 헤드(하나의 X 표시, 2개의 화면) CDE 구성을 작성하십시오.
1. 루트 권한으로 /usr/dt/config/Xservers를 /etc/dt/config/Xservers에 복사하십시오.
   * 먼저 /etc에 디렉토리를 만들어야 할 수도 있습니다.
2. /etc/dt/config/Xservers 사본에서 마지막에 있는(주석 표시가 없는)
   :0 Local local@console /usr/openwin/bin/Xsun :0
   행을 다음과 같이 변경하십시오. 
   :0 Local local@console /usr/openwin/bin/Xsun :0 -dev /dev/fb0 -dev /dev/fb1
   * Xsun 옵션에 대한 자세한 내용은 "Xsun" 매뉴얼 페이지를 참조하십시오.
   * 이 행의 장치가 시스템 구성과 일치하는지 확인하십시오.
3. 시스템을 다시 부팅하거나 CDE를 종료하고 명령에서 로그인한 다음 dtlogin을 종료했다가 다시 시작하십시오.
(참고: Solaris 2.6 이상 버전에서는 두 화면에 프론트 패널이 표시되지 않습니다. Solaris 2.7(CDE 1.3)의 경우에는 각 화면에 따로 프론트 패널이 표시됩니다.)
제품 영역: Windows
제품: CDE
SUNOS 릴리즈: Solaris 2.x
하드웨어: 모든 하드웨어

 

루트 파일 시스템 복원

INFODOC ID: 11881
개요: 루트 파일 시스템 복원
세부 설명:
루트 파일 시스템을 복원하려면 어떻게 해야 합니까?
다음 루틴을 사용하면 신속하게 파일 시스템을 복원할 수 있습니다. 이 절차에서는 ufsdump를 사용하여 루트 파일 시스템을 저장했다고 가정합니다. 또 이 설명서에서는 루트 파일 시스템이 c0t3d0s0에 있다고 가정합니다.
1. Solaris CD-ROM을 CD-ROM 드라이브로 로드하십시오.
2. 단일 사용자 모드에서 CDROM으로 부팅하십시오.
   ok  boot cdrom -s
3. BOURNE 쉘 프롬프트가 나오면 루트 파일 시스템의 파티션을 새로 설정하십시오(필요할 경우).
   a. 드라이브 파티션을 설정하려면 "format" 명령을 사용하십시오.
   b. 파일 시스템을 생성하려면 "newfs /dev/rdsk/c0t3d0s0" 명령을 사용하십시오.
 
4. 새 루트 파일 시스템을 확인하십시오.
   # fsck /dev/rdsk/c0t3d0s0
5. /a 마운트 포인트에 루트 파일 시스템을 마운트하십시오.
   # mount /dev/dsk/c0t3d0s0 /a
6. 먼저 새 루트 파일 시스템으로 이동해서 복원을 시작하십시오.
   a.  cd /a
   b.  ufsrestore rvf /dev/rmt/0
7. 복원이 완료되면 복원 기호 테이블을 제거하고 새 파일 시스템의 마운트를 해제하십시오.
   a. rm restoresymtable
   b. cd /
   c. umount /a
8. 새 루트 파티션을 한 번 더 확인하십시오.
   # fsck /dev/rdsk/c0t3d0s0
9. 부트 블록을 설치하십시오.
   # Solaris 2.4 이하 버전의 경우:
     a. cd /usr/lib/fs/ufs
     b. installboot bootblk /dev/rdsk/c0t3d0s0
   # 2.5, 2.5.1 또는 2.6의 경우:
     a. cd /usr/platform//lib/fs/ufs 
     b. 을 가져오려면 uname -i 명령을 입력하십시오. 더 쉽게 작업을 하려면 다음과 같이 cd 명령에 포함시키십시오.
              * cd /usr/platform/`uname -i`/lib/fs/ufs
               * 명령 앞뒤에 역따옴표를 사용해야 합니다.
     c. installboot bootblk /dev/rdsk/c0t3d0s0
10. 시스템을 다시 부팅하십시오.
    # reboot
참고: 다른 파일 시스템의 파티션(usr, var 등)을 복원하려면 CDROM으로 부팅한 후에 단계 3-8을 수행하십시오.
적용 대상: 하드웨어, 운영 체제/Solaris/Solaris 2.x

 

named pipe의 최대 크기

INFODOC ID: 11899
개요: named pipe의 최대 크기
세부 설명:
named pipe의 최대 크기는 얼마나 됩니까?
 
간단히 대답하면 크기에 제한이 없습니다. 자세한 내용은 아래를 참조하십시오.
/usr/include/limits.h 및 /usr/include/sys/param.h 파일에 
다음과 같은 부분이 있습니다.
#ifndef PIPE_BUF               /* max # bytes atomic in write to a pipe */
#define               PIPE_BUF       5120
#endif      /* PIPE_BUF */
#ifndef PIPE_MAX               /* max # bytes written to a pipe in a write */
#define               PIPE_MAX       5120
#endif      /* PIPE_MAX */
위 주석의 설명처럼 한 번에 최대 5120 바이트까지 pipe에 기록할 수 있습니다. 따라서 두 개의 프로그램이 동일한 pipe에 기록할 경우, 한 번에 5120 바이트 이상의 정보를 기록하려고 하면, 여러 기록 작업의 데이터가 나눠질 수 있습니다. 즉, A 프로그램이 한 번의 기록으로 5200 바이트를 기록하려고 요청하면 A 프로그램의 데이터 5120 바이트를 기록하고 B 프로그램의 데이터 50 바이트를 기록한 다음 A 프로그램의 데이터 80 바이트를 기록할 수 있습니다.
프로그램이 항상 각 기록 작업에서 5120 바이트 이하의 데이터를 기록할 경우, 다른 프로그램이 기록하는 데이터가 나눠지지 않습니다. 물론 하나의 프로그램이 pipe에 기록할 경우에는 문제가 되지 않습니다.
제품 영역: 커널
제품: 시스템 호출
SUNOS 릴리즈: Solaris 2.x
하드웨어: 모든 하드웨어

 

두 번째 하드 디스크 추가 및 구성

INFODOC ID: 13127
개요: 두 번째 하드 디스크 추가 및 구성
세부 설명:
다음은 Solaris 2.x x86에 사용할 두 번째 하드 디스크를 추가하고 구성하는 절차입니다.
먼저 하드웨어 제조업체 지시에 따라 하드 디스크를 설치하십시오. SCSI 대상 번호, 종단 장치, 전원 등과 같은 기본 사항을 확인하십시오. IDE 드라이브일 경우에는 마스터 또는 슬레이브를 결정하십시오.
드라이브가 설치되어 작동하는 것이 확인되면 부트 해석기에서 "b -sr" 옵션을 사용해서 Solaris 2.x x86으로 부팅하십시오. Solaris 2.x x86이 단일 사용자 모드로 부팅되고 새 하드 디스크에 대해 /dev/dsk/* 항목이 생성됩니다. 이 항목이 생성되지 않으면 Solaris 2.x x86이 드라이브를 인식하지 못하는 것입니다. 그러면 따로 검사를 해야 합니다.
다음에는 새 드라이브에 fdisk 파티션을 생성해야 합니다.
# format
- 다음과 같은 메뉴가 나옵니다.
AVAILABLE DISK SELECTIONS:
       0. c1t0d0 
          /pci@0,0/pci9004,8178@3/cmdk@0,0
       1. c1t1d0 
          /pci@0,0/pci9004,8178@3/cmdk@1,0
       2. c1t2d0 
          /pci@0,0/pci9004,8178@3/cmdk@2,0
Specify disk (enter its number): 
- 새 드라이브에 해당하는 번호를 입력하십시오. 다음 메뉴가 나옵니다.
FORMAT MENU:
        disk       - select a disk
        type       - select (define) a disk type
        partition  - select (define) a partition table
        current    - describe the current disk
        format     - format and analyze the disk
        fdisk      - run the fdisk program
        repair     - repair a defective sector
        label      - write label to the disk
        analyze    - surface analysis
        defect     - defect list management
        backup     - search for backup labels
        verify     - read and display labels
        save       - save new disk/partition definitions
        inquiry    - show vendor, product and revision
        volname    - set 8-character volume name5
        quit
format> 
- fdisk 옵션을 선택하십시오. (참고: SPARC용 Solaris 2.x에 이 옵션이 없습니다.) 드라이브에 파티션이 없으면 다음과 같은 메시지가 나옵니다.
The recommended default partitioning for your disk is:
  a 100% "SOLARIS System" partition. 
이것을 선택하려면 "y"를 누르십시오. 다른 파티션을 생성하려면 "n"을 누르십시오. 그러면 "fdisk" 프로그램에서 다른 파티션을 선택할 수 있습니다. 
- 전체 드라이브를 Solaris 2.X x86에 사용하려면 'y'를 입력하십시오. 그러면 format 메뉴로 돌아갑니다. 'n'을 선택하면 fdisk 메뉴가 나옵니다.
             Total disk size is 4073 cylinders
             Cylinder size is 540 (512 byte) blocks
                                           Cylinders
      Partition   Status    Type      Start   End   Length    %
      =========   ======    ========  =====   ===   ======   ===
 
THERE ARE NO PARTITIONS CURRENTLY DEFINED
SELECT ONE OF THE FOLLOWING: 
     1.   Create a partition
     2.   Change Active (Boot from) partition
     3.   Delete a partition
     4.   Exit (Update disk configuration and exit)
     5.   Cancel (Exit without updating disk configuration)
Enter Selection: 
- Solaris FDISK 파티션을 생성하려면 1을 선택하십시오. 이것은 Solaris 슬라이스 파티션(또는 파일 시스템)과 다릅니다. 종료하고 저장하려면 4를 선택하십시오. format 메뉴는 되돌아갑니다. 그 다음에 파티션(슬라이스)을 선택하십시오.
PARTITION MENU:
        0      - change `0' partition
        1      - change `1' partition
        2      - change `2' partition
        3      - change `3' partition
        4      - change `4' partition
        5      - change `5' partition
        6      - change `6' partition
        7      - change `7' partition
        select - select a predefined table
        modify - modify a predefined partition table
        name   - name the current table
        print  - display the current table
        label  - write partition map and label to the disk
        quit
partition> 
- 기본 슬라이스 크기를 표시하려면 print를 입력하십시오.
Current partition table (default):
Total disk cylinders available: 4070 + 2 (reserved cylinders)
Part      Tag    Flag     Cylinders        Size            Blocks
  0       root    wm       3 -  245       64.07MB    (243/0/0)   131220
  1       swap    wu     246 -  731      128.14MB    (486/0/0)   262440
  2     backup    wu       0 - 4072        1.05GB    (4073/0/0) 2199420
  3 unassigned    wm       0               0         (0/0/0)          0
  4 unassigned    wm       0               0         (0/0/0)          0
  5 unassigned    wm       0               0         (0/0/0)          0
  6        usr    wm     732 - 4070      880.40MB    (3339/0/0) 1803060
  7 unassigned    wm       0               0         (0/0/0)          0
  8       boot    wu       0 -    0        0.26MB    (1/0/0)        540
  9 alternates    wm       1 -    2        0.53MB    (2/0/0)       1080
partition> 
- 원하는 대로 변경하십시오. 언제든지 '?'를 입력하면 도움말이나 사용법을 볼 수 있습니다. 예를 들어, 큰 루트 파일 시스템이 필요하면 먼저 'usr'(슬라이스 6)과 'swap'(슬라이스 1)을 제거하십시오.
partition> 6
Part      Tag    Flag     Cylinders        Size            Blocks
  6        usr    wm     732 - 4069      880.14MB    (3338/0/0) 1802520
Enter partition id tag[usr]: 
Enter partition permission flags[wm]: 
Enter new starting cyl[732]: 
Enter partition size[1802520b, 3338c, 880.14mb]: 0
                                                 ^
                                                 |
                                  슬라이스 6을 제거하려면 0을 입력
- 슬라이스 1에도 동일한 작업을 하십시오.
partition> 1
Part      Tag    Flag     Cylinders        Size            Blocks
  1       swap    wu     246 -  731      128.14MB    (486/0/0)   262440
Enter partition id tag[swap]: 
Enter partition permission flags[wu]: 
Enter new starting cyl[246]: 
Enter partition size[262440b, 486c, 128.14mb]: 0
- 이제 루트 파일 시스템의 크기를 변경하십시오.
partition> 0
Part      Tag    Flag     Cylinders        Size            Blocks
  0       root    wm       3 -  245       64.07MB    (243/0/0)   131220
Enter partition id tag[root]: 
Enter partition permission flags[wm]: 
Enter new starting cyl[3]: 
Enter partition size[131220b, 243c, 64.07mb]: ?
                                              ^
                                              |
                              사용 가능한 전체 공간을 표시하려면 '?'를 입력
Expecting up to 2196180 blocks, 4067 cylinders, or 1072.35 megabytes
Enter partition size[131220b, 243c, 64.07mb]: 4067c         
                                                ^
                                                |
                                새 크기를 실린더 단위로 입력                    
- 새 슬라이스 구성을 표시하십시오.
partition> print
Current partition table (unnamed):
Total disk cylinders available: 4070 + 2 (reserved cylinders)
Part      Tag    Flag     Cylinders        Size            Blocks
  0       root    wm       3 - 4069        1.05GB    (4067/0/0) 2196180
  1 unassigned    wu       0               0         (0/0/0)          0
  2     backup    wu       0 - 4072        1.05GB    (4073/0/0) 2199420
  3 unassigned    wm       0               0         (0/0/0)          0
  4 unassigned    wm       0               0         (0/0/0)          0
  5 unassigned    wm       0               0         (0/0/0)          0
  6 unassigned    wm       0               0         (0/0/0)          0
  7 unassigned    wm       0               0         (0/0/0)          0
  8       boot    wu       0 -    0        0.26MB    (1/0/0)        540
  9 alternates    wm       1 -    2        0.53MB    (2/0/0)       1080
partition> 
- 이제 설정을 저장해야 합니다.
partition> label
Ready to label disk, continue? yes
- format 메뉴로 돌아가려면 quit를 입력하십시오. format 메뉴를 종료하려면 quit를 입력하십시오. 이제 ufs 파일 시스템으로 파일 시스템을 포맷해야 합니다. 다음 명령을 입력하면 컨트롤러 1, SCSI 대상 1, 슬라이스 0에 파일 시스템을 생성합니다.
# newfs /dev/rdsk/c1t1d0s0
newfs: construct a new file system /dev/rdsk/c1t1d0s0: (y/n)? y
- 끝으로 새 슬라이스를 마운트하여 검사하십시오.
# mount /dev/dsk/c1t1d0s0 /mnt
# cd /mnt
# df -k .
Filesystem            kbytes    used   avail capacity  Mounted on
/dev/dsk/c1t1d0s0    1028710       9  925831     1%    /mnt
제품 영역: 다른 플랫폼
제품: 구성
SUNOS 릴리즈: Solaris 2.x_x86
하드웨어: Intel X86

 

현재 작업중인 디렉토리를 프롬프트에 표시하는 방법.

INFODOC ID: 14980
개요: 현재 작업중인 디렉토리를 프롬프트에 표시하는 방법.
세부 설명:
KSH의 경우 사용자의 .profile 파일에 다음과 같이 입력하십시오.
   PS1='${PWD##*/}/ > '   # For partial pathname in the prompt.
   PS1='${PWD}/ > '       # For full pathname in the prompt.
---------------------------------------------------------------------------
CSH의 경우 .login 파일에 다음 중 한 가지를 입력하십시오.
   # For hostname and full pathname in the prompt.
   set prompt="`hostname`:$cwd % "
   alias cd 'cd \!*;set prompt="`hostname`:$cwd % "'
또는
   # For just the full pathname in the prompt.
   set prompt="$cwd % "
   alias cd 'cd \!*;set prompt="$cwd % "'
또는
   # For hostname and partial pathname in the prompt.
   set prompt="`hostname`:`basename ${cwd}` % "
   alias cd 'cd \!*;set prompt="`hostname`:`basename ${cwd}` % "'
또는
   # For just the partial pathname in the prompt.
   set prompt="`basename ${cwd}` % "
   alias cd 'cd \!*;set prompt="`basename ${cwd}` % "'
---------------------------------------------------------------------------
BOURNE 쉘의 경우: 
   Bourne 쉘(/bin/sh)에서 pwd로 변경하는 것처럼 PS1 프롬프트에서 변경하려면 계정의 .profile에 cd라는 새 함수를 생성하십시오.
   cd() { chdir $* ; PS1="`pwd` $ "; }
   이 cd 함수가 쉘에 내장된 cd 명령 대신 실행됩니다.
제품 영역: 유틸리티
제품: 쉘 스크립트
SUNOS 릴리즈: 모든 릴리즈
하드웨어: 모든 하드웨어
 

CDE: 화면 전원 관리를 변경하는 방법

INFODOC ID: 15531
개요: CDE: 화면 전원 관리를 변경하는 방법
세부 설명:
화면 보호기 시간 초과는 Xserver(즉, Xsun)의 기능입니다. 기본값은 10분이고 주기도 10분입니다. Xserver 매뉴얼 페이지에 다음과 같은 설명이 있습니다.
     -s minutes
화면 보호기의 시간 초과 시간을 분 단위로 설정합니다. 기본값은 10분입니다.
     -p minutes
        화면 보호기의 패턴 주기를 분 단위로 설정합니다. 기본값은 10분입니다.
     v       화면 보호기의 화면 끄기를 설정합니다. 이것이 기본값입니다.
     -v      화면 보호기의 화면 켜기를 설정합니다.
Solaris 2.6부터는 Xserver의 이 기능이 모니터의 전원 관리도 제어합니다. 모니터 전원을 관리하려면 화면 끄기를 설정해야 합니다. 이 Xserver 값은 로그인한 사용자가 xset 명령이나 CDE 스타일 관리자를 통해 변경할 수 있습니다. 이 설정값은 사용자가 로그인한 후에 CDE 환경에서 변경할 수 있습니다.
CDE 로그인 화면에서 Xserver가 작동하도록 하려면 다음 절차를 실행해야 합니다.
수퍼유저 권한으로,
1. /etc/dt/config/Xservers의 Xsun 행에 다음을 추가하십시오. (이 파일이 없으면 /usr/dt/config에서 복사하십시오.)
               -s  -p 
   전원 관리 기능을 비활성화하려면 -v를 추가하십시오.
   예를 들어, 다음과 같은 행이 됩니다.
:0   Local local_uid@console root /usr/openwin/bin/Xsun :0 -nobanner -s 5 -p 5
2. /etc/dt/config/Xconfig에 다음 행이 있는지 확인하십시오. (이 행이 없으면 /usr/dt/config에서 복사하십시오.)
               Dtlogin*terminateServer:   True
   그러면 사용자가 로그아웃한 후에 Xserver가 다시 시작되기 때문에 단계 1에 있는 Xservers 파일의 설명대로 기본값이 복원됩니다.
3. 구성 파일을 다시 읽도록 X Display Manager, dtlogin을 강제로 실행하십시오.
               /usr/dt/bin/dtconfig -reset
4. 로그 아웃하십시오.
Xserver 값은 로그인한 사용자가 xset 명령이나 CDE 스타일 관리자를 통해 변경할 수 있습니다. 이 설정값은 사용자가 로그인한 후에 CDE 환경에서 기본 CDE 구성이나 사용자 설정으로 변경할 수 있습니다.
제품 영역: Windows
제품: CDE
SUNOS 릴리즈: Solaris 2.6
하드웨어: 모든 하드웨어
 

정렬된 Openwin 작업 공간 배경를 사용자 정의하는 방법

INFODOC ID: 15546
개요: 정렬된 Openwin 작업 공간 배경를 사용자 정의하는 방법
세부 설명:
Solaris 2.3 이상에서 OpenWindows 작업 공간 정렬 배경을 사용자 정의하려면 다음 단계를 따르십시오.
1- 사용할 비트맵이 .xbm 형식인지 확인하십시오.
2- .xbm 파일을 다음 Openwin 패턴 디렉토리로 이동(mv 명령)하십시오.
   /usr/openwin/share/etc/workspace/patterns
   시스템 비트맵 파일이 모두 여기에 저장됩니다.
3- Openwin root 메뉴에서 "Properties..." 옵션을 선택하십시오. Properties 창이 나타납니다.
4- Category가 "Color"로 설정되어 있는지 확인하십시오.
4- "Pattern" 설정을 사용하여 사용자의 이미지를 선택하십시오.
   변경한 내용을 적용하십시오. 그러면 사용자의 OpenWindows 배경이 변경됩니다.
해결 방법 요약:
제품 영역: Windows
제품: OpenWindows
SUNOS 릴리즈: Solaris 2.x
하드웨어: 없음
 

유지 관리 작업 중에 사용자가 로그인하지 못하도록 하는 방법

INFODOC ID: 15788
개요: 유지 관리 작업 중에 사용자가 로그인하지 못하도록 하는 방법
세부 설명:
시스템 유지 관리 작업을 할 때 사용자가 로그인하지 못하도록 할 수 있습니까?
root 사용자로 /etc에 nologin이라는 파일을 생성하십시오.
로그인을 시도할 경우에 확인할 사용자를 이 파일에 입력하십시오.
nologin에 대한 매뉴얼 페이지에는 nologin 파일 사용법에 대한 자세한 설명이 없습니다. 또 Solaris 2.5에는 매뉴얼 페이지가 없습니다.
/etc/nologin 파일이 있을 경우, 사용자의 로그인 이름이 "root"가 아니면 로그인할 수 없습니다. (UID가 0인 다른 사용자도 로그인할 수 없습니다.)
이 기능은 Solaris 1.x 및 Solaris 2.5 이상에서만 사용할 수 있습니다.
해결 방법 요약:
제품 영역: 유틸리티
제품: UNIX 명령
SUNOS 릴리즈: Solaris 2.5
하드웨어: 없음

 

시작 파일을 추가하여 시스템 서비스를 추가하는 방법

INFODOC ID: 16253
개요: 시작 파일을 추가하여 시스템 서비스를 추가하는 방법
세부 설명:
시스템 서비스를 추가하기 위해 시작 파일을 추가해야 할 경우에는 다음 단계를 따르십시오.
1. 시작 파일 추가에 대한 예는 /etc/init.d/README 파일의 설명을 참조하십시오.
2. 기존 시퀀스 번호와 충돌하지 않도록 /etc/rc*d 디렉토리에 있는 시작 파일에 원하는 시퀀스 번호를 지정하십시오. 또 시작하는 서비스가 성공적으로 시작되기 위해 필요한 서비스가 먼저 나오도록 순서를 지정하십시오.
3. 시작 파일을 /etc/init.d 디렉토리에 넣고 시작할 서비스의 실행 레벨에 따라 필요한 /etc/rc*.d 디렉토리에 링크를 생성하십시오.
   # cd /etc/rc3.d
   # ln /etc/init.d/myfs S22myfs
해결 방법 요약:
제품 영역: 시스템 관리
제품: 부팅
SUNOS 릴리즈: Solaris 2.x
하드웨어: 없음

 

프로세스 주소 공간의 최대 크기

INFODOC ID: 16529
개요: 프로세스 주소 공간의 최대 크기
세부 설명:
프로세스 주소 공간의 최대 크기는 얼마나 됩니까?
대답:32비트 제한이 있습니다. 그러나 2.5 이하 버전에서는 한 프로세스의 주소 공간이 2GB로 제한됩니다.
Solaris 2.5.1의 경우, 103640-07 커널 패치로 제한을 수정하면 이론적으로 4GB까지, 실제로는 약 3.7GB까지 확장할 수 있습니다.
Solaris 2.6의 경우, 이론적으로는 4GB까지 프로세스 주소 공간이 확장되지만 실제로는 약 3.7GB로 제한됩니다.
제품 영역: 커널
제품: 일반
SUNOS 릴리즈: Solaris 2.x
하드웨어: 모든 하드웨어
 

부팅 시 CDE 시작을 명령행에서 시작하고 중단할 수 있습니까?

INFODOC ID: 16551
개요: 부팅 시 CDE 시작을 명령행에서 시작하고 중단할 수 있습니까?
세부 설명:
부팅 시 CDE 시작을 명령행에서 시작하고 중단하려면 어떻게 해야 합니까?
일반적으로 시스템을 부팅할 때 로그인 서버(dtlogin)가 자동으로 시작됩니다. 또 명령행에서 로그인 서버를 시작할 수도 있지만 먼저 root 사용자로 로그인해야 합니다.
-- 시스템을 부팅할 때 로그인 서버가 시작되도록 설정하려면 다음 명령을 입력하고 을 누르십시오.
               /usr/dt/bin/dtconfig -e
그러면 S99dtlogin 파일이 사용자의 /etc/rc2.d 디렉토리에 추가됩니다. 시스템을 다시 부팅하면 로그인 서버가 자동으로 시작됩니다.
-- 시스템을 부팅할 때 로그인 서버의 자동 시작을 비활성화하려면 다음 명령을 입력하고 을 누르십시오
               /usr/dt/bin/dtconfig -d
-- 명령행에서 로그인 서버를 시작하려면 다음 명령을 입력하고 을 누르십시오
               /usr/dt/bin/dtlogin -daemon
-- 로그인 서버, Xserver 및 전체 Solaris CDE 데스크탑을 중지시키려면 다음 명령을 입력하고 을 누르십시오
               /usr/dt/bin/dtconfig -kill
-- 명령행 세션 내에서(dtlogin이 실행되지 않아야 함) 다음과 같이 CDE를 시작하십시오.
               setenv XINITRC /usr/dt/bin/Xsession
               openwin
해결 방법 요약:
제품 영역: Windows
제품: CDE
SUNOS 릴리즈: 없음
하드웨어: 모든 하드웨어
 

root 암호를 모를 경우

INFODOC ID: 16786
개요: root 암호를 모를 경우
세부 설명:
다음 단계는 /etc/shadow 파일을 편집해서 root 암호를 고치는 방법입니다.
1)  Solaris 2.x CD-ROM을 CD-ROM 드라이브에 넣으십시오.
2)  드라이브에 CD-ROM이 있으면 stop-a 명령을 실행하십시오. 그러면 시스템이 중단되고 ok 프롬프트가 나옵니다.
3)  ok 프롬프트에서 Solaris 2.x 설치 CD-ROM을 사용해서 단일 사용자 부팅을 실행하십시오.  
      ok  boot cdrom -s
4)  "#" 프롬프트에서 시스템의 부팅 디스크(root 파일 시스템이 있는)를 찾아야 합니다.
    부팅 디스크에는 몇 가지 sun 아키텍처와 여러 가지 시스템 구성이 있습니다. 일반적으로 부팅 디스크는 대부분 컨트롤러 0(c0)에 설치되어 있습니다. 대부분의 경우, SCSI 대상은 3(t3) 또는 0(t0)입니다. Sun 시스템은 유연성이 좋기 때문에 부팅 디스크가 다른 위치에 있을 수도 있습니다. 부팅 장치의 위치를 결정해야 합니다.
    "#" 프롬프트에 다음과 같이 입력하십시오.
    # eeprom boot-device
    "disk" 또는 "disk1"처럼 간단하게 출력되거나 "/iommu/sbus/espdma@4,8400000/...../sd@3,0:a"와 같이 경로가 출력됩니다. 부팅 장치를 확인하십시오. 부팅 장치가 경로 이름인 경우에는(위와 같이) 사용자 설정 부팅 장치의 위치를 찾는 방법을 이 설명서에서 설명하지 않습니다. 그러나 대부분이 구성에서 쉽게 찾을 수 있습니다.
    "format" 명령을 실행하면 사용 가능한 디스크가 모두 표시됩니다.
    #format
    Searching for disks...done
    AVAILABLE DISK SELECTIONS:
           0. c0t0d0 
              /pci@1f,0/pci@1,1/ide@3/dad@0,0
    Specify disk (enter its number):
    여기서 format 명령을 종료하려면 d를 누르십시오.
    이제 시스템에 어떤 디스크가 있는지 알 수 있습니다. boot-device에 "disk"가 표시되고 format에 "c0t0d0"(일부 시스템에서는 "c0t3d0")이 표시되면 부팅 장치입니다. 또 boot-device에 "disk1"이 표시되고 format에 "c0t1d0"이 표시되면 부팅 장치입니다. format에 여러 디스크가 표시될 경우 "eeprom boot-device" 명령을 실행하면 부팅 디스크가 다음과 같이 표시됩니다.
    boot-device        format
    disk               c0t0d0 or c0t3d0 (machine dependant)
    disk1              c0t1d0
    disk2              c0t2d0
    disk3              c0t3d0 or c0t0d0 (machine dependant)
    and so on ....
    다음에는 시스템이 자연스럽게 다운된 것이 아니므로(root 암호가 없을 경우, Stop-a를 입력해서 시스템을 충돌시켜야 함) "fsck"를 실행해서 root 파티션(슬라이스)을 삭제해야 합니다. 또 fsck를 실행하면 슬라이스를 제대로 선택했는지도 확인할 수 있습니다.
    # fsck /dev/rdsk/cXtYd0s0
    여기서 X와 Y는 이전 절차에서 결정됩니다.
    슬라이스 0(s0)에 없는 root 파티션이 있을 수도 있지만 표준 구성은 아닙니다.
    "fsck"의 결과가 다음과 같이 출력됩니다.
    ** /dev/rdsk/c0t0d0s0
    ** last mounted on /
    ** Phase 1 .....
    .....
    두 번째 행, "** Last mounted on /" 명령을 실행하면 root fs 파티션을 정확하게 확인합니다.
    fsck에서 묻는 질문에 모두 "y"를 입력하십시오.
    고칠 항목이 너무 많으면 안됩니다. 그러면 root fs가 손상될 수 있습니다.
    fsck가 종료되면 root 파티션을 마운트할 수 있습니다.
      # mount /dev/dsk/cXtYd0s0 /a
      X와 Y는 fsck 명령의 경우와 동일합니다.
      예:
      # mount /dev/dsk/c0t0d0s0 /a
5)  root 프롬프트에서 다음 명령을 입력하십시오.
      # TERM=sun; export TERM
6)  다음 명령으로 /etc/shadow 파일을 편집하십시오.
       # vi /a/etc/shadow
7)  파일의 첫 번째 행을 수정해야 할 것입니다. 
    첫 번째 행은 다음과 같습니다.   
       root:c3.yAVmYodWsc:6445::::::
    이 행의 첫 번째와 두 번째 콜론 사이의 모든 문자를 삭제해야 할 것입니다. 완료되면 다음과 같이 됩니다.
       root::6445::::::
    문자를 삭제했으면 쓰기 강제 종료를 실행해서 vi를 종료하십시오. 명령 모드에서 다음과 같이 입력하십시오.
        :wq!
    그러면 문서가 종료되고 변경 사항이 저장됩니다.
8)  다음은 파일 시스템 마운트를 해제하는 단계입니다. 다음 명령을 수행하십시오.
        # cd /
       # umount /a                  
9)  마지막 단계는 시스템을 다시 부팅하는 것입니다. 로그인하라는 메시지가 나오면 로그인 이름을 입력하십시오. 자동으로 들어갈 수 있어야 합니다. 그런 다음 root 암호를 변경하십시오.
제품 영역: 시스템 관리
제품: 부팅
SUNOS 릴리즈: Solaris 2.x
하드웨어: 모든 하드웨어
 

CD-ROM으로 부팅할 때 패치를 설치하는 방법

INFODOC ID: 16790
개요: CD-ROM으로 부팅할 때 패치를 설치하는 방법
세부 설명:
1. root 사용자로 777 사용 권한의 임시 디렉토리에 압축된 패치를 풀어 넣으십시오.
2. 다음 명령을 실행해서 CD-ROM으로 부팅하십시오.
               # init 0                             >>>>> 부트 프롬프트로 이동.
               ok boot cdrom -s               >>>>> CD-ROM에서 단일 사용자 모드로 부팅.
3. 시스템이 시작되면 다음 명령을 실행하십시오.
               # df -k
Filesystem                      kbytes             used               avail               capacity               Mounted on  
/proc                              0               0               0               0%                   /proc 
dev/dsk/c0t3d0s0            7019               29534               40595               43%                 / 
/dev/dsk/c0t3d0g6               671222               456804               213673              69%                 /usr 
fd                                    0               0               0               0%                   /dev/fd 
/dev/dsk/c0t3d0sl           55047               11262               43730               21%                 /var 
/dev/dsk/c0t3d0s5          60591               11829               4802               20%                 /opt 
swap                              86116               400               85716               1%                   /tmp
현재 마운트된 파일 시스템이 표시됩니다.
4. /a에 액세스하기 위해 필요한 파일 시스템( /, /var, /opt, 및 /usr)을 마운트하십시오.
               # mount -F ufs /dev/dsk/c0t3d0s0 /a
               # mount -F ufs /dev/dsk/c0t3d0s1 /a/var
               # mount -F ufs /dev/dsk/c0t3d0s6 /a/usr
               # mount -F ufs /dev/dsk/c0t3d0s5 /a/opt
5. 압축을 풀어 넣은 패치가 있는 임시 디렉토리로 이동하십시오.
6. installpatch 스크립트를 실행하거나 -R 옵션을 사용해서 patchadd(2.6 이상) 명령을 실행하십시오. 
# ./installpatch -R /a 또는 # patchadd -R  /a
7. 스크립트가 실행되면 다음과 같이 표시됩니다. 
               # cd / 
               # umount /a 
               # umount /a/usr 
               # umount /a/var 
               # umount /a/opt
다시 부팅하십시오. 
               # init  6
제품 영역: 시스템 관리
제품: 패치 설치
SUNOS 릴리즈: Solaris 2.x
하드웨어: 모든 하드웨어

 

SunOS, Solaris 2.3부터 2.5.1까지 및 Solaris 2.6의 파일 크기 제한

INFODOC ID: 17075
개요: SunOS, Solaris 2.3부터 2.5.1까지 및 Solaris 2.6의 파일 크기 제한
세부 설명:
SunOS와 Solaris 2.3부터 2.5.1까지는 파일 크기를 2GB까지 지원합니다. 파일 안에 자체 오버헤드(inode 정보 등)가 포함되기 때문에 정확한 실제 크기는 2GB가 조금 안됩니다.
Solaris 2.6에서는 "largefile"을 도입해서 "제한을 높였습니다". 2.6의 largefile은 2GB와 1Tb(테라바이트) 사이의 파일을 의미합니다. 1TB가 Solaris 2.6의 파일 크기 제한입니다. 32비트 시스템에서 2GB 이상의 파일은 모두 largefile입니다.
2.6에서는 largefile을 사용해서 "large file aware" 및 "large file safe" 유틸리티를 도입했습니다. 자세한 설명은 largefile(5) 매뉴얼 페이지에 있습니다.
NFS 서버의 기능과 관계없이 아직 Solaris 2.6으로 업그레이드하지 않은 NFS 클라이언트는 2GB 파일 크기 제한보다 큰 파일을 처리하거나 읽을 수 없습니다.
largefile을 사용하기 위해 자세한 설명을 보려면 2.6 시스템 관리 설명서를 참조하거나 http://docs.sun.com 사이트를 방문하십시오.
제품 영역: 시스템 관리
제품: Disk admin
SUNOS 릴리즈: 모든 릴리즈
하드웨어: 모든 하드웨어
 
모든 dtterm이 역상 비디오를 열도록 CDE를 구성하는 방법
INFODOC ID: 17277
개요: 모든 dtterm이 역상 비디오를 열도록 CDE를 구성하는 방법.
세부 설명:
모든 dtterm이 역상 비디오에 열도록 사용자 단위로 CDE를 구성하려면 $HOME/.Xdefaults 파일에 다음 행을 추가하고 CDE를 종료했다가 다시 CDE에 로그인하십시오.
Dtterm*reverseVideo:    true
모든 dtterm에 이 구성을 사용할 경우:
1. /usr/dt/config/C/sys.resources 파일을 /etc/dt/config/C/sys.resources 파일로 복사하십시오.
2. 다음 행을 sys.resources 파일에 추가하고 로그아웃한 다음 다시 로그인하십시오.
   Dtterm*reverseVideo:    true
제품 영역: Windows
제품: CDE
SUNOS 릴리즈: Solaris 2.x
하드웨어: 모든 하드웨어
 
프론트 패널 표시 없이 CDE를 시작하는 방법
INFODOC ID: 17656
개요: 프론트 패널 표시 없이 CDE를 시작하는 방법
세부 설명:
프론트 패널을 표시하지 않고 CDE를 시작하려면 어떻게 해야 합니까?
다음과 같이 설정하면 dtwm 프론트 패널이 표시되지 않습니다. (dtwm은 CDE용 창 관리자입니다.)
    Dtwm*useFrontPanel:      False
$HOME/.Xdefaults 파일에서 이 자원을 설정할 수도 있고, /usr/dt/app-defaults/C/Dtwm 파일에 있는 기존 글로벌 자원을 "True"에서 "False"로 변경할 수도 있습니다. 이것을 설정하려면 /usr/dt/app-defaults/C/Dtwm을 /etc/dt/app-defaults/C로 복사한 다음 복사한 파일을 편집하십시오.
제품 영역: Windows
제품: CDE
SUNOS 릴리즈: Solaris 2.x
하드웨어: 모든 하드웨어

 

CDE에서 마우스 커서 이미지 변경하기

INFODOC ID: 17789
개요: CDE에서 마우스 커서 이미지 변경하기
세부 설명:
CDE 및 다른 모든 창 관리자에서 기본 마우스 커서 이미지를 변경하려면  "/usr/openwin/bin/xsetroot -cursor" 명령을 사용하고, 사용할 커서 비트맵과 커서 마스크 비트맵의 경로를 지정하십시오.
xsetroot 매뉴얼 페이지의 설명:
     -cursor cursorfile maskfile
이 명령을 사용하면 포인터 커서가 창을 벗어날 경우의 이미지를 원하는 대로 변경할 수 있습니다. 커서와 마스크 파일은 비트맵(작은 그림)이므로, bitmap(1) 프로그램을 사용해서 만들 수 있습니다. 마스크의 작동 원리를 이해할 때까지는 마스크 파일을 모두 검정색으로 사용할 것입니다.
CDE 및 다른 창 관리자에서 각 응용 프로그램이 자체 이미지를 사용해서 기본 마우스 커서 이미지를 재정의할 수 있습니다.
/usr/openwin/bin/bitmap 응용 프로그램을 사용하면 자신의 커서와 커서 마스크 비트맵을 그릴 수 있습니다. 이 응용 프로그램에 대한 자세한 내용은 bitmap 매뉴얼 페이지를 참조하십시오.
:
xsetroot -cursor /usr/openwin/share/src/xview/examples/dnd/arrow.bm
/usr/openwin
/share/src/xview/examples/dnd/arrow_mask.bm
제품 영역: Windows
제품: CDE
SUNOS 릴리즈: Solaris 2.x
하드웨어: 모든 하드웨어
 

VxFS 파일 시스템에 대한 할당량을 설정하는 방법

INFODOC ID: 17846
개요: VxFS 파일 시스템에 대한 할당량을 설정하는 방법 
세부 설명:
VxFS에 대한 할당량 설정
1. 파일 시스템의 마운트 포인트에 quotas라는 파일을 지정하십시오.
   #touch /mntpoint/quotas
2. 이 파일 시스템을 사용할 사용자에 대한 할당량 설정을 초기화하십시오.
   #vxedquota username (vi 편집기가 실행되고 할당량 설정이 표시됨)
   fs /mntpoint blocks (soft = 300, hard = 500) inodes (soft = 1000, hard = 2000)
   blocks는 1K 바이트 데이터 블록을 나타내고 inodes는 사용자가 가질 수 있는 inode 수를 나타냅니다(파일당 1 inode, 디렉토리당 1 inode를 가짐).
   soft 제한은 제한에 근접한 사용자에게 경고하는 데 사용되고, hard 제한은 절대적인 제한값입니다.
3. 이 파일 시스템에서 이 할당량 설정을 적용할 다른 사용자를 추가하십시오.
   vxedquota -p user1 user2 user3 user4 user 5 user6 ...
   이 명령을 사용하면 사용자 1에게 설정한 것과 동일한 할당량 제한이 사용자 2-6에게 설정됩니다(/etc/passwd 파일에서 사용자 이름을 원하는 대로 변경).
4. 사용자에 대한 할당량 설정을 확인하십시오.
   #vxquota -v username
5. 파일 시스템에 대한 할당량을 적용하십시오.
   #vxquotaon -v /mntpoint
   이제 할당량이 실행됩니다.
6. 지정된 할당량을 사용해서 파일 시스템을 마운트하도록 /etc/vfstab를 수정하십시오.
   /dev/dsk/c#t#d#s#   /dev/rdsk/c#t#d#s3   /mntpoint   vxfs   1   yes   quota
제품 영역: 번들을 제외한 SunOS
제품: VxFS
SUNOS 릴리즈: Solaris 2.x
하드웨어: 모든 하드웨어
 
 

로그인 전의 배너를 변경하는 방법(telnet, getty)

INFODOC ID: 17883
개요: 로그인 전의 배너를 변경하는 방법(telnet, getty)
세부 설명:
텔넷이나 터미널 세션에서 로그인 프롬프트 전에 자신이 원하는 로그인 메시지가 표시되도록 하려면 /etc/issue 파일만 편집하면 됩니다.
issue(4) 매뉴얼 페이지의 설명:
     /etc/issue 파일에는 로그인 프롬프트로 출력할 알림 메시지나 프로젝트 확인 정보가 포함됩니다. issue는 getty 프로그램을 사용해서 읽은 다음, lines 파일에서 호출되거나 재호출된 터미널에 기록하는 ASCII 파일입니다.
따라서 2.6 시스템에서는 텔넷에 다음과 같이 표시됩니다.
SunOS 5.6
<사용자가 지정한 메시지>
login:
제품 영역: 기타
제품: issue
SUNOS 릴리즈: Solaris 2.x
하드웨어: 모든 하드웨어

 

프레임 버퍼가 8비트 모드로 실행되는지 24비트 모드로 실행되는지 판단하는 방법

INFODOC ID: 17940
개요: 프레임 버퍼가 8비트 모드로 실행되는지 24비트 모드로 실행되는지 판단하는 방법
세부 설명:
프레임 버퍼가 8비트 모드로 실행되는지 24비트 모드로 실행되는지 판단하는 방법.
- #xdpyinfo | more 명령을 실행하십시오.
- "depth of root window:"라고 출력된 부분으로 내려가십시오.
- 표시된 "# planes"가 프레임 버퍼의 실행 비트 모드와 같습니다.
예를 들어, 다음 행은 프레임 버퍼가 24비트 모드로 실행되고 있음을 의미합니다.
 depth of root window:    24 planes
적용 대상: 하드웨어, 운영 체제/Solaris/Solaris 2.x
 

Solaris 7을 64비트 운영 체제로 실행하기

INFODOC ID: 18313
개요: Solaris 7을 64비트 운영 체제로 실행하기
세부 설명:
 
Solaris 7이 32비트 모드로 로드되어 실행되고 있습니다. flashprom 배너는 비활성화되었습니다. 따라서 flashprom을 업데이트하라는 스크립트가 표시되지 않습니다. 부팅할 때 64비트 운영 체제를 실행하려고 합니다.
다음과 같이 하십시오.
flashprom를 업데이트할 수 있도록 하려면 시스템 보드에서 쓰기 방지 점퍼를 옮겨야 합니다. 점퍼를 옮겨서 쓸 수 있게 하려면 해당 설명서를 참조하십시오. 다음 명령을 사용해서 단일 사용자 모드로 운영 체제를 부팅하십시오.
   boot -sw
flashprom 업데이트는 아키텍처에 따라 다릅니다. 업데이트 파일은 /usr/platform/`uname -i`/prom/`uname -i`에 실행 가능한 쉘 스크립트 형태로 되어 있습니다. (이 스크립트는 /etc/init.d/flashprom 스크립트에서 가져올 수 있습니다.)
프롬프트를 표시하려면 다음 스크립트를 실행하십시오.
   /sbin/sh /usr/platform/`uname -i`/lib/prom/`uname -i`
이 스크립트를 실행하면 프롬프트는 업데이트되지만, 64비트 부트 모드를 완료하려면 boot-file을 kernel/sparcv9/unix로 설정해야 합니다. eeprom 명령을 사용하여 OBP 환경 변수를 다음과 같이 설정하십시오.
    eeprom boot-file=kernel/sparcv9/unix
그런 다음 다시 부팅하십시오.
제품 영역: 시스템 관리
제품: 부팅
SUNOS 릴리즈: Solaris 7
하드웨어: 모든 하드웨어

 

SAR에서 자동 데이터 수집을 위한 cron 설정 방법

INFODOC ID: 18442
개요: SAR에서 자동 데이터 수집을 위한 cron 설정 방법
세부 설명:
SAR에서 자동 데이터 수집을 위한 cron 설정 방법
1. 수퍼유저 권한을 받으십시오.
2. vi 편집기에서 /etc/init.d/perf 파일을 여십시오.
다음과 같은 sadc 시작 명령을 찾으십시오. 이 명령이 있으면 행 앞에서 # 기호를 제거하여 주석 표시를 해제하십시오. 이 명령이 없으면 추가하십시오.  
다음 행에서 주석 표시를 제거하십시오.
               #MATCH=`who -r|grep -c "[234][   ]*0[    ]*[S1]"`
               #if [ ${MATCH} -eq 1 ]
               #then
               #       su sys -c "/usr/lib/sa/sadc /var/adm/sa/sa`date +%d`"
               #fi
 sadc 명령 버전은 카운터가 0으로 설정되는 시간(부팅 시간)을 의미하는 특수 레코드를 기록합니다.
sadc 명령의 출력은 sadd라는 파일에 기록되는데, 여기서 dd는 매일 시스템 작동 레코드로 사용되는 날짜입니다.
3.  vi 편집기에 시스템 crontab 파일을 여십시오.
               /var/spool/cron/crontabs/sys
다음 행을 입력하거나 주석 표시를 제거하십시오.
               0 * * * 0-6 /usr/lib/sa/sa1
               20,40 8-17 * * 1-5 /usr/lib/sa/sa1
첫 번재 항목은 일주일 내내 매시간 계속 /var/adm/sa/sadd에 레코드를 기록합니다.
두 번째 레코드는 작업량이 많은 업무 시간 동안 매시간 두 번씩 /var/aedm/sa/sadd에 레코드를 기록합니다(월요일부터 금요일까지 오전 8시부터 오후 5시 사이에 매시간 20분과 40분에).   필요하면 기본값을 변경하십시오.
4. 시스템을 다시 부팅하면 파일을 다시 읽어서 시작합니다.
적용 대상: 하드웨어, 운영 체제/Solaris/Solaris 2.x
 

Sun Webserver - Servlet 엔진의 heap 크기를 변경하는 방법

INFODOC ID: 18497
개요: Sun Webserver - Servlet 엔진의 heap 크기를 변경하는 방법
세부 설명:
SWS 2.1에서 servlet 엔진의 heap 크기를 변경하려면 어떻게 해야 합니까?
기본 heap 크기는 16 메가바이트입니다.
SWS 2.1에는 Servlet 엔진의 heap 크기를 설정하는 두 가지 구성 변수가 있습니다. 다음 두 변수를 사용해서 이 값을 설정할 수 있습니다.
               server_java_initial_heap_size  
        server_java_max_heap_size      
이 두 변수에 설정되는 값은 바이트 수입니다. 이 변수는 서버 구성 파일에만 나타나기 때문에 GUI를 사용해서 설정할 수 없습니다.
이 파일의 위치에서 위로 올라가서 "서버 블록" 아래에 있는 /etc/httpd/"name_of_server".httpd.conf 파일에 이 변수를 넣으십시오.
변경 사항을 적용하려면 서버를 다시 시작하십시오.
SWS 릴리즈 2.1 이상에만 이 매개변수가 적용됩니다!
제품 영역: 중단되지 않는 네트워크
제품: Sun Web Server
SUNOS 릴리즈: Solaris 2.x
번들을 제외한 릴리즈: 2.1
하드웨어: Sun 4
 

Java WebServer - Servlet을 참조하는 방법

INFODOC ID: 18502
개요: Java WebServer -  Servlet을 참조하는 방법
세부 설명:
Java WebServer에서 Servlet으로 사용할 자바 클래스 파일을 생성했습니다.
Java Web Server가 자바 클래스 파일을 참조할 때 이 파일을 찾도록 하려면 어떻게 해야 합니까?
CLASSPATH 변수가 ".class" servlet 파일의 위치를 지정합니다.
이 변수를 설정할 때는 다음 몇 가지 사항을 고려해야 합니다.
1) 시작할 때 또는 jserv 시작 스크립트에 서버를 지정하지 않으면, 전에 지정한 CLASSPATH 변수의 설정이 Java WebServer에 상속되지 않습니다. 아래에 예가 있습니다.
2) 웹 서버의 "bin" 디렉토리(예: /opt/JavaWebServer1.1.3/bin)에 있는 "httpd.nojre" 스크립트를 사용하면 전에 지정한 CLASSPATH 변수의 설정을 사용할 수 있습니다.
3) CLASSPATH 변수를 명확하게 설정하지 않아도 Java WebServer가 다음 기본 경로에서 .class 파일을 찾도록 설계되어 있습니다.
   Java home 디렉토리(예: /opt/JavaWebServer1.1.3) 아래 다음 디렉토리에서 찾습니다.
                              classes, servlets.
   Java Web Server의 home 디렉토리 아래 "classes" 디렉토리는 기본적으로 존재하는 디렉토리가 아니지만 관리자가 생성할 수 있습니다.
4) 경로의 구성요소가 다른 디렉토리에 대한 링크일 경우, CLASSPATH 변수가 링크를 해석해서 파일을 찾습니다.
5) 참조된 클래스가 다른 클래스를 인스턴스화할 경우에는 이 클래스도 CLASSPATH 변수에 있어야 합니다.
6) CLASSPATH 변수가 설정되면 이 변수에 설정된 디렉토리가 항목 2의 기본 디렉토리에 추가됩니다.
7) "servlets" 또는 "classes" 이외의 클래스 디렉토리 구성요소는 변경한 내용이 동적으로 로드되지 않습니다. 이렇게 다른 디렉토리에 있는 servlet의 변경 사항을 보려면, jserv를 다시 시작하거나 Java Web Server servlet 관리 창에서 직접 클래스를 로드해야 합니다.
아래 예는 /opt/JavaWebServer1.1.3/classes, /opt/JavaWebServer1.1.3/servlets 및/opt/JavaWebServer1.1.3/servlets/test 디렉토리에 액세스할 수 있도록 서버를 시작할 때 클래스 경로를 설정하는 방법입니다.
 
               jserv -classpath "/opt/JavaWebServer1.1.3/servlets/test" &
제품 영역: Java
제품: Java Web Server
SUNOS 릴리즈: Solaris 2.x
하드웨어: 모든 하드웨어

 

crontab 관리 및 사용

INFODOC ID: 3959
개요: crontab 관리 및 사용
세부 설명:
     crontab -e [ username ]                 # edit crontab file
     crontab -l [ username ]                 # list crontab file
     crontab -r [ username ]                 # remove crontab file
    crontab [ filename ]                    # copy to crontab file 
crontab 파일은 사전에 계획된 시간에 사용자 명령을 실행하기 위해 cron에 의해 사용됩니다.
crontab 명령은 지정된 사용자에 대한 crontab 파일을 편집하거나, 표시하거나, 제거하는 데 사용됩니다. root만이 [username] 매개변수를 사용할 수 있습니다.
옵션이나 매개변수 없이 crontab 명령을 실행하면 crontab 파일에 표준 입력을 기록합니다(아래 경고 참조).
crontab 파일의 형식은 다음과 같습니다. 
        Minutes Hours Date Month Day-of-Week command
설명:
        Minutes = [0부터 59까지]
        Hours   = [0부터 23까지]
        Date    = [1부터 31까지]
        Month   = [1부터 12까지]
        Day-of-Week = [0부터 7까지] (0과 7)=일요일, 1=월요일, 
          2=화요일, 3=수요일, 4=목요일, 5=금요일, 6=토요일,
        command = 스크립트 파일 또는 bourne 쉘 파일.
command를 제외한 모든 필드에 와일드 카드 문자(*)를 사용할 수 있고, 필드에 - 기호를 사용해서 범위를 지정할 수 있습니다.
         예:
                30 1 * 2,4,6,8,10,12 3-5 /usr/bin/wall /var/tmp/message 
이 명령은 2개월마다 수요일부터 금요일까지 1시 30분에 wall 명령을 사용해서 시스템의 모든 사용자에게 메시지를 전송합니다.
추가 설명:
경고
실수로 인수를 지정하지 않고 crontab 명령을 입력했을 경우, CTRL-D를 눌러 종료하지 마십시오. 그러면 crontab 파일의 모든 항목이 삭제됩니다. 대신 중지 문자(일반적으로 CTRL-C)를 눌러 종료하십시오.
일반적인 문제/일반적인 해결 방법, 질문/대답:
P: crontab 파일을 편집했지만 계속 실행되지 않습니다.
S: vi와 같은 텍스트 편집기로 직접 crontab 파일을 편집하면 안됩니다. crontab -e 명령을 사용하면 vi를 호출한 다음 변경된 내용을 cron에 알립니다.
P: crontab -e 명령을 사용해서 crontab 항목을 모두 삭제했지만 crontab -l 명령을 실행하면 삭제한 항목이 나옵니다.
S: crontab 파일을 모두 삭제하려면 crontab -r 명령을 사용하십시오. crontab -e 명령은 빈 파일을 처리하지 못하기 때문에 변경된 내용을 업데이트하지 못합니다.
Q: **** 편집기를 사용할 수 있습니까?
A: 예, 환경 변수 EDITOR를 ****으로 설정하면 됩니다.
Q: cron 작업이 중단될 때 전자 우편 메시지를 받는 것은 왜 그렇습니까?
A: 표준 출력 양식이 없기 때문입니다.
   이 메시지를 받지 않으려면 명령을 출력할 장치(/dev/console, /dev/null)나 파일을 지정하십시오.
P: 4.1 이전 시스템을 사용하고 있는데, 가끔 cron 작업이 두 번씩 중단됩니다.
S: 1022379에 대한 패치 100058-01을 전송하십시오.
Q: cron이 정상적으로 실행되고 있는지 확인할 수 있습니까?
A: crontab 파일에 "** * * * date > /dev/console" 항목을 추가하십시오. 그러면 매분마다 콘솔에 날짜가 출력됩니다.
고급 문제:
Q: cron을 사용할 수 있는 사용자를 제한할 수 있습니까?
A: /var/spool/cron/cron.allow 파일을 사용하면 cron 작업을 실행할 수 있는 사용자를 지정할 수 있습니다.
   /var/spool/cron/cron.allow 파일이 없으면 crontab이 /var/spool/cron/cron.deny 파일을 통해 작업을 실행할 수 없는 사용자를 확인합니다.
   두 파일 모두 없으면 root만이 cron 작업을 실행할 수 있습니다.
해결 방법 요약:
제품 영역: 시스템 관리
제품: cron
SUNOS 릴리즈: 4.0, 4.0.3, 4.0.3c, 4.1, 4.1.1, 4.1 PSR
하드웨어: Sun4, Sun3

du와 df가 다른 결과를 표시하는 경우

INFODOC ID: 4083
개요: du와 df가 다른 결과를 표시하는 경우
세부 설명:
"du"와 "df"가 사용된 전체 디스크 공간을 다르게 보고하는 것은 무엇때문입니까?
간단한 설명
다음 세 가지 이유로 du와 df가 서로 다른 대답을 표시할 수 있습니다.
  1. 파일 시스템에 필요한 fsck(1m)이 일정하지 않음.
  2. 파일 시스템에 없는 파일을 열어서 처리.
  3. 데이터가 포함된 디렉토리 마운트 포인트.
자세한 설명
위의 세 가지 가능성을 세부적으로 설명하기 전에 du와 df가 응답을 받는 방법을 알아야 합니다.
 . du는 파일 시스템에서 각 파일의 크기를 차례대로 확인하고 전체 크기를 기억합니다.
 . df는 파일 시스템에 대한 시스템 호출을 작성해서 여러 가지 상세정보를 요청하는데, 그 중 하나가 현재 사용된 디스크 공간입니다.
1. 파일 시스템에 필요한 fsck(1m)이 일정하지 않음.
   파일 시스템이 손상되거나 일정하지 않으면 du와 df가 다를 수 밖에 없습니다. 파일 시스템을 조사하는 프로세스(즉, du)에 의해 확인되는 결과는 실제 파일 시스템(즉, 쿼리 프로세스 df에 반환되는)과 일치하지 않습니다.
   손상되거나 일정하지 않은 파일 시스템은 fsck(1m)를 사용해서 고쳐야 합니다.
2. 파일 시스템에 없는 파일을 열어서 처리.
   실제로 파일과 관련된 디스크 블록을 삭제해도, 파일에 대한 마지막 "참조"가 제거될 때 다시 사용할 수 있도록 설정됩니다. Unix 프로세스가 파일을 열면 해당 파일에 대한 참조 수가 증가합니다. 나중에 파일 시스템에서 파일을 제거하면 프로세스가 파일을 닫을 때까지(close(2) 명령을 사용하든지 프로세스가 종료되든지) 데이터 블록은 사용할 수 있는 상태로 유지됩니다.
   이런 상태에서는 du 프로세스가 파일 시스템에 있는 파일을 확인할 수 없기 때문에 이 파일의 크기를 계산하지 않지만, df(파일 시스템에서 응답을 받는) 프로세스는 파일 시스템에 아직 이 파일이 있다는 것을 확인할 수 있습니다.
   프로세스가 파일을 닫으면(프로세스가 중단되거나 종료되거나 시스템이 다시 부팅되는 경우) 이 디스크 블록이 빈 공간 목록에 포함되므로 du와 df의 결과가 일치합니다.
3. 데이터가 포함된 디렉토리 마운트 포인트.
   파일 시스템은 디렉토리 맨 위에 마운트되기 때문에, 디렉토리 마운트 포인트에 데이터가 있으면 du 프로세스는 이 데이터를 확인할 수 없지만(마운트된 파일 시스템만 확인), 하부 파일 시스템에는 이 데이터에 대한 정보가 계속 유지됩니다. 따라서 df는 사용하고 있는 공간까지 추가해서 보고합니다.
   파일 시스템의 마운트를 해제하면 이 데이터를 확인할 수 있지만, 실행중인 프로세스가 마운트된 파일 시스템을 사용하고 있으면 마운트를 해제할 수 없습니다. 마운트 포인트 디렉토리를 확인하려면 프로세스를 찾아서서 중지시키거나(fuser(1m) 등) 다시 부팅하십시오(단일 사용자 모드에서).
제품 영역: 유틸리티
제품: UNIX 명령
SUNOS 릴리즈: 모든 릴리즈
하드웨어: 모든 하드웨어
Posted by 1010
60.Unix2008. 11. 3. 13:34
반응형
필자가 가지고 있던 장비는 썬 엔터프라이즈 3500 서버로 솔라리스10 에 ZFS 를 운용중이었고 하나의 클라이언트 머신 (썬 Netra X1 서버) 을 가지고 있었습니다. 필자의 회사의 새로운 프로젝트를 위해서 솔라리스10을 클라이언트 머신에 설치해야 했습니다.

필자가 경험한 과정들이 비슷한 작업이 필요한 사람들에게 도움이 되길 바랍니다.

참고: 이 글에서는 솔라리스10 08/07 버전을 사용했지만 03/05 이전의 버전에서도 별 무리 없이 동작할 것입니다.

필요 조건

root 혹은 시스템 관리자로 로그인 하시기 바랍니다.

또한 여러분의 부트 서버를 DHCP 서버로 설정하시기 바랍니다. 필자의 머신의 경우는 DHCP 를 다른 서버에서 얻어오긴 했지만 고정 IP 들을 등록했기 때문에 이러한 과정은 필요치 않았습니다.

또한 tftpnfs 서비스를 실행해야 합니다. 솔라리스10을 설치할때 시작 초기에 NFS 를 활성화 하였지만 tftp 는 서비스를 생성해 주어야 했습니다. 다행이도 이것은 매우 쉽습니다. 왜냐하면 거의 설정이 되어 있기 때문입니다. 여러분이 해야 할일은 단지 아래와 몇가지 변경 만을 수행하는 것입니다:

1. inetd.conf 파일을 수정합니다. 만약 vi 에 익숙하다면 그것을 사용하시기 바랍니다. 그렇지 않다면 다른 텍스트 에디터를 사용하셔도 됩니다. 필자의 머신은 모니터 혹은 키보드가 꼽혀 있지 않았기 때문에 SSH 터미널을 이용해서 수행 하였습니다.

# cd /etc
# vi inetd.conf

2. 파일의 아래쪽으로 스크롤을 내리면 다음과 같은 라인을 발견하실 수 있습니다:

# TFTPD - tftp server (primarily used for booting)
# tftp dgram  udp6  wait root  /usr/sbin/in.tftpd  in.tftpd -s
/tftpboot

3. 마지막줄의 커멘트를 제거 함으로써 다음과 같이 문서를 저장합니다:

tftp  dgram  udp6  wait root /usr/sbin/in.tftpd  in.tftpd -s
/tftpboot

4. :wq 를 입력한 후에 파일을 저장하고 vi 를 종료시킵니다.

5. inetconv 를 실행하여 서비스를 SMF 에 등록시킵니다:

# inetconv

6. 그다음에 svcadm 을 실행하여 서비스를 활성화 시킵니다. 이제 준비가 다 되었습니다:

# svcadm enable tftpd

이제 ZFS 스토리지 풀을 설정하고, 파일을 복사 한다읍에 설정 파일들을 설정하는 작업들이 남았습니다.

ZFS 스토리지 풀 설정하기

솔라리스 점프스타트 서버에 새로운 풀을 생성하였습니다:

# zpool create install c1t7d0

서버에 몇몇 사용하지 않는 예비 디스크들이 있었습니다. 그래서 이것을 솔라리스 점프스타트 서버 풀로 만들었고 그 다음에 share 들을 만들었습니다.

# zfs create install/config
# zfs create install/boot
# zfs set sharenfs=ro,anon=0 install
# zfs set sharenfs=ro,anon=0 install/config
# zfs set sharenfs=ro,anon=0 install/boot

다음으로 모든 디렉토리들이 존재 하는지 그리고 모든 것들이 정확하게 공유 되고 있는지 확인하였습니다:

# cd /install
# ls -l
drwxr-xr-x   4 root     sys       5 Jan  8 10:25 boot
drwxr-xr-x   2 root     sys       9 Jan  8 10:16 config
#
# share
-               /install   ro,anon=0   ""

-               /install/config   ro,anon=0   ""
-               /install/boot   ro,anon=0   ""

파일 복사하기

이제 솔라리스 HW807 SPARC 의 첫번째 CD 를 썬 엔터프라이즈 3500 서버에 집어 넣었습니다. cdrom 디렉토리로 이동한 다음에 setup_install_server 스크립트를 수행하였습니다:

# cd /cdrom/cdrom0/s0/Solaris_10/Tools
# ./setup_install_server /install

스크립트가 실행되었고 필요한 파일들을 /install 디렉토리로 복사 하였습니다. 완료 후에는 루트 디렉토리로 이동 한 다음에 CD 를 배출 시켰습니다:

# cd /
# eject cdrom

이제 두번째 CD 를 CD-ROM 에 넣고 Tools 디렉토리로 이동 해서 add_to_install_server 스크립트를 수행하였습니다:

# cd /cdrom/cdrom0/Solaris_10/Tools
# ./add_to_install_server /install

5개의 CD 에 모든 파일들을 복사할때 까지 유사한 단계들을 진행하였고 언어 CD 또한 /install 디렉토리에 복사 되었습니다.

다시 디스크 1번을 Cd-ROM 에 집어 넣은 다음에 Misc 디렉토리로 이동하였습니다. 그다음 이후 단계에서 생성할 profilerules 파일들을 체크하기 위해서 체크 스크립트를 복사 하였습니다:

# cd /cdrom/cdrom0/s0/Solaris_10/Misc/jumpstart_sample
# cp check /install/config
# cd /install/config

설정 파일들 설정하기

이제 부터가 재미있는 부분으로써 실질적으로 솔라리스 점프스타트에 필요한 파일들을 작성하는 시간입니다.

여러분은 디스크에서 샘플들을 복사해서 여러분에게 맞게 수정할 수 있습니다. 필자는 필자의 시스템의 용도를 알고 있기 때문에 고유의 파일들을 작성하였고 해당 파일들을 검사하고 rules.ok 파일을 생성하기 위해 체크 스크립트를 수행 하였습니다.

제일 처음 생성한 파일은 sysidcfg 입니다. 이 파일은 클라이언트가 초기 부팅 후에 어떠한 셋팅을 가질 지를 알려 줍니다. 만약 이 파일에 정보를 추가하지 않는다면 시스템은 모든 필요한 정보를 여러분에게 요청하게 됩니다. 필자는 vi 를 이용하여 /install/config 에 파일을 생성하였습니다:

# vi sysidcfg
system_locale=en_US.ISO8859-1
timezone=US/Pacific
timeserver=localhost
terminal=vt100
name_service=NONE
security_policy=NONE
root_password=<encrypted password from /etc/shadow>
network_interface=dmfe0 {hostname=<hostname of client>
                         netmask=<your network's netmask>
                         protocol_ipv6=no
                         default_route=<your gateway>}

:wq

그 다음은 rules 파일 입니다. 이 파일은 필자의 설정에서는 아주 간단합니다. 왜냐하면 오직 하나의 서버를 설정하기 때문입니다. rules 파일로 여러가지 작업들을 할 수 있습니다. 만약 솔라리스 CD에 포함되어 있는 샘플 rules 파일을 보신다면 이것을 어떻게 활용할 수 있을지 아이디어를 얻으실 수 있을 것입니다. 다음은 필자가 사용한 설정 입니다.

# vi rules
hostname <hostname of client> - profile -

:wq

begin 스크립트와 finish 스크립트를 사용하지 않는 이상 두개의 "-" 심볼은 반드시 위의 코드에 존재해야 합니다. 만약 사용하는 경우에는 "-" 심볼의 위치에 해당 스크립트들의 이름을 입력 합니다.

클라이언트를 부팅 하기 전에 여러분의 스크립트의 퍼미션을 확인 한 후에 chmod 755 를 수행 하시기 바랍니다. 이에 대한 좀 더 자세한 정보는 솔라리스 CD 의 /Solaris_10/Misc/jumpstart_samples 아래에서 샘플 rules 스크립트를 통해서 좀 더 얻으실 수 있습니다.

그 다음에 여러분은 rules 파일에 여러분이 정의한 대로 여러분의 profile 파일을 생성해야 합니다. 여러분은 rules 파일에 정의한 그대로 profile 파일의 이름을 사용해야 합니다. 필자는 profile 을 rules 파일에 지정했었기 때문에 파일의 이름은 profile 입니다. 필자의 profile 파일은 클라이언트의 파티션 사이즈, 설치 타입 및 클라이언트 타입까지 설정이 되어 있습니다.

다시 한번 vi 를 이용해서 파일을 생성하였습니다. 그러나 솔라리스 CD 안에는 여러가지 샘플들이 존재 함으로 여러분들은 필요에 맞게 수정해서 사용하실 수 있습니다. 중요한 것은 정확한 설치 타입을 아는 것입니다.

cluster 옵션은 소프트웨어 그룹에 따른 설치 타입을 지정 합니다. 다음의 테이블은 사용 가능한 값들을 나타내고 있습니다.

표 1: 소프트웨어 그룹과 그룹 이름들의 값

Reduced Network Support Software Group
SUNWCrnet
Core System Support Software Group
SUNWCreq
End User Solaris Software Group
SUNWCuser
Developer Solaris Software Group
SUNWCprog
Entire Solaris Software Group
SUNWCall
Entire Solaris Software Group Plus OEM Support
SUNWCXall

필자는 다음과 같이 설정 하였습니다:

# vi profile
install_type      initial_install
cluster           SUNWCXall
partitioning      explicit
filesys           c0t0d0s0 14000 /
filesys           c0t0d0s1 2048 /var
filesys           c0t0d0s3 1024 swap
filesys           c0t0d0s7 19500 /export/home
system_type       standalone

:wq

다음 단계는 파일들에 어떠한 실수도 존재하지 않는지 확인 하는 것입니다. 확인을 위해 check 스크립트를 수행 하였습니다.

# ./check

만약 아무런 이상이 없다면 여러분은 /install/config 디렉토리에 rules.ok 라 불리는 파일을 가지게 될 것입니다.

# ls -l
-rwxr-xr-x   1 root     root   59701 Jan  8 10:16 check
-rw-r--r--   1 root     root     232 Jan  8 10:14 profile
-rw-r--r--   1 root     root      32 Jan  8 10:15 rules
-rw-r--r--   1 root     root      57 Jan  8 10:16 rules.ok
-rw-r--r--   1 root     root     278 Jan  8 09:33 sysidcfg

올바르게 부팅 되도록 서버 설정하기

이제 실제로 부팅될 서버를 실제로 설정하는 재미있는 작업을 수행 합니다. 여러분은 클라이언트의 MAC 주소를 얻어와야 합니다. 여기에는 두가지 방법이 존재 합니다: 클라이언트에서 ifconfig -a 를 실행하거나 openboot 프롬프트에서 얻어오는 두가지 방법이 존재 합니다.

MAC 주소를 얻어온 다음 해당 정보를 여러분의 /etc/ethers 파일에 추가시켜 줍니다. 만약 이 파일을 가지고 있지 않다면 생성해 줍니다:

# cd /etc
# vi ethers
0a:3b:ba:f5:d1:e6 <client hostname>

:wq

그다음 여러분의 클라이언트를 /etc/hosts 파일에 추가 시켜 줍니다:

# vi hosts
<ip.address.for.client> <client hostname>

:wq

이제 부트 서버를 생성해야 합니다. CD-ROM 에 솔라리스10 디스크 1번을 집어 넣은 다음에 setup_install_server 를 다시 실행 합니다. 이번엔 -b 옵션과 /install/boot 디렉토리 옵션을 줍니다:

# cd /cdrom/cdrom0/s0/Solaris_10/Tools
# ./setup_install_server -b /install/boot

위의 작업이 완료 되면 CD 를 배출 합니다:

# cd /
# eject cdrom

클라이언트 설정하기

이제 클라이언트를 설정할 시간입니다. 아래와 같은 커맨드를 수행 하였습니다. 필자는 CD를 복사한 /install 디렉토리에서 직접적으로 실행 하였습니다.

주의: 아래의 작업은 CD 에서가 아닌 설치 이미지에서 반드시 수행 해야 합니다. 여러분이 커맨드를 실행한 위치가 클라이언트가 부트 이미지를 찾을 위치이기 때문입니다. 만약 CD 에서 설치 한다면 클라이언트는 CD 에서 부트 이미지를 찾을 것이고 여러분이 NFS 를 통해서 CD-ROM 을 공유하고 있지 한다면 커맨드는 실패할 것입니다.

# cd /install/Solaris_10/Tools
# ./add_install_client -e 0a:3b:ba:f5:d1:e6 -s

<server hostname>:/install -c
<server hostname>:/install/config -p
<server hostname>:/install/config <client hostname>
sun4u

이전의 커맨드들은 필요한 모든 파일들을 생성하였습니다. 그러므로 클라이언트는 부팅이 가능하고 솔라리스 설치를 시작하는데에 필요한 모든 것들을 찾을 수 있습니다. 아래는 플래그가 의미하는 바를 정리한 것입니다:

  • -e 는 클라이언트의 MAC 주소를 지정합니다.
  • -s 는 서버 설치 파일들의 위치를 지정합니다.
  • -c 는 솔라리스 점프스타트 설정 장소를 지정합니다.
  • -psysidcfg 파일의 위치를 지정합니다.
  • sun4u 는 클라이언트의 아키텍쳐를 지정합니다.

클라이언트 부팅하기

이제 클라이언트를 부팅할 준비가 되었습니다.

주의: 필자의 썬 Netra X1 서버에서 필자는 lights on management (LOM) 콘솔을 # 을 눌러서 들어갈 수 있었습니다. 그리고 breakLOM> 프롬프트에 입력하였습니다. OpenBoot 프롬프트로 들어가기 위해 필요한 어떤 작업이라도 수행하시기 바랍니다.

클라이언트에서 OpenBoot OK 프롬프트로 들어간 다음에 다음의 커맨드를 수행 합니다:

ok> boot net - install

필자가 해당 커맨드를 실행하였을때 클라이언트는 서버에 접속하였고 OS 를 다운로드한 다음에 설치 하였습니다. 필자가 해야할 일은 단지 기본 IPv4 설정을 사용하도록 알려 주는 것 뿐이었고 나머지는 알아서 수행 되었습니다.

저자에 관하여

Lucas Williams 는 UNIX 와 마이크로소프트 윈도우즈 시스템 관리자로 15년 이상 일해 왔습니다. 그는 리눅스, 솔라리스(2.6 부터 10 까지), 노벨 네트워킹, 마이크로 소프트 윈도우즈 NT 3.51 부터 서버 2008 까지의 다양한 경험이 있습니다. 스크립트 작성이 가능하고 프로덕션 환경에 배치하기전에 신기술들의 베타 테스트를 수행 합니다. 현재 그는 프로덕션 환경에서 서버를 배치할때 사용될 다양한 가상화 기술에 대해 연구하고 있습니다.


이 글의 영문 원본은
Setting Up JumpStart With Solaris 10 OS for SPARC Platforms and ZFS
에서 보실 수 있습니다.

"관리자코너" 카테고리의 다른 글

Posted by 1010
60.Unix2008. 11. 3. 13:05
반응형

14장 SPARC: WAN 부트 설치(작업)

이 장에서는 SPARC 기반 클라이언트에 WAN 부트를 설치하는 방법에 대해 설명합니다. WAN 부트 설치를 준비하는 방법은 13 장, WAN 부트 사용 설치 준비(작업) 을 참조하십시오.

이 장은 다음 내용으로 구성되어 있습니다.

작업 맵: WAN 부트를 사용하여 클라이언트 설치

다음 표에는 WAN을 통해 클라이언트를 설치하는 데 필요한 작업이 나열되어 있습니다.

표 14–1 작업 맵: WAN 부트 설치 수행

작업

설명

지침

WAN 부트 설치를 위해 네트워크를 준비합니다.

WAN 부트 설치를 수행하는 데 필요한 서버 및 파일을 설정합니다.

13 장, WAN 부트 사용 설치 준비(작업)

net 장치 별명이 클라이언트 OBP에 올바르게 설정되어 있는지 확인합니다.

devalias 명령을 사용하여 net 장치 별명이 주 네트워크 인터페이스로 설정되어 있는지 확인합니다.

클라이언트 OBP에서 net 장치 별명 확인

클라이언트에 키를 제공합니다.

설치하는 동안 OBP 변수를 설정하거나 키 값을 입력하여 키를 제공합니다.

보안 설치 구성에 이 작업이 필요합니다. 데이터 무결성을 검사하는 비보안 설치의 경우 이 작업을 완료하여 클라이언트에게 HMAC SHA1 해싱 키를 제공합니다.

클라이언트에 키 설치

WAN (wide area network)을 통해 클라이언트를 설치합니다.

적절한 방법을 선택하여 클라이언트를 설치합니다.

비대화식 WAN 부트 설치 수행

대화식 WAN 부트 설치 수행

DHCP 서버를 사용하여 WAN 부트 설치 수행

로컬 CD 매체를 사용하여 WAN 부트 설치 수행

WAN 부트 설치를 위한 클라이언트 준비

클라이언트 시스템을 설치하기 전에 다음 작업을 수행하여 클라이언트를 준비합니다.

절차 클라이언트 OBP에서 net 장치 별명 확인

boot net를 사용하여 WAN에서 클라이언트를 부트하려면 net 장치 별명을 클라이언트의 기본 네트워크 장치로 설정해야 합니다. 대부분의 시스템에서 이 별명은 이미 올바르게 설정되어 있습니다. 그러나 사용하려는 네트워크 장치에 별명이 설정되지 않은 경우 반드시 별명을 변경해야 합니다.

장치 별명 설정에 대한 자세한 내용은 OpenBoot 3.x Command Reference Manual의 “The Device Tree”를 참조하십시오.

클라이언트에서 net 장치 별명을 확인하려면 다음 단계를 수행합니다.

단계
  1. 클라이언트에서 수퍼유저가 되도록 합니다.

  2. 시스템의 실행 수준이 0이 되도록 합니다.


     # init 0
    

    ok 프롬프트가 표시됩니다.

  3. ok 프롬프트에서 OBP에 설정된 장치 별명을 확인합니다.


    ok devalias
    

    devalias 명령은 다음 예와 유사한 정보를 출력합니다.


    screen                   /pci@1f,0/pci@1,1/SUNW,m64B@2
    net                      /pci@1f,0/pci@1,1/network@c,1
    net2                     /pci@1f,0/pci@1,1/network@5,1
    disk                     /pci@1f,0/pci@1/scsi@8/disk@0,0
    cdrom                    /pci@1f,0/pci@1,1/ide@d/cdrom@0,0:f
    keyboard                 /pci@1f,0/pci@1,1/ebus@1/su@14,3083f8
    mouse                    /pci@1f,0/pci@1,1/ebus@1/su@14,3062f8
    • net 별명이 설치하는 동안 사용할 네트워크 장치로 설정되어 있으면 별명을 재설정할 필요가 없습니다. 설치를 계속하려면 클라이언트에 키 설치로 이동합니다.

    • net 별명이 사용할 네트워크 장치로 설정되어 있지 않으면 별명을 다시 설정해야 합니다. 계속합니다.

  4. net 장치 별명을 설정합니다.

    net 장치 별명을 설정하려면 다음 명령 중 하나를 선택합니다.

    • 이 설치에 대해서만 net 장치 별명을 설정하려면 devalias 명령을 사용합니다.


      ok devalias net device-path
      
      net device-path

      장치 device-pathnet 별명에 할당합니다.

    • net 장치 별명을 영구적으로 설정하려면 nvalias 명령을 사용합니다.


      ok nvalias net device-path
      
      net device-path

      net 별명에 장치 device-path 를 지정합니다.


예 14–1 net 장치 별명 확인 및 재설정

다음 명령은 net 장치 별명을 확인하고 재설정하는 방법을 보여 줍니다.

장치 별명을 확인합니다.


ok devalias
screen                   /pci@1f,0/pci@1,1/SUNW,m64B@2
net                      /pci@1f,0/pci@1,1/network@c,1
net2                     /pci@1f,0/pci@1,1/network@5,1
disk                     /pci@1f,0/pci@1/scsi@8/disk@0,0
cdrom                    /pci@1f,0/pci@1,1/ide@d/cdrom@0,0:f
keyboard                 /pci@1f,0/pci@1,1/ebus@1/su@14,3083f8
mouse                    /pci@1f,0/pci@1,1/ebus@1/su@14,3062f8

/pci@1f,0/pci@1,1/network@5,1 네트워크 장치를 사용하려면 다음 명령을 입력합니다.


ok devalias net /pci@1f,0/pci@1,1/network@5,1

WAN 부트 설치 계속

net 장치 별명을 확인한 후 적절한 부분을 참조하여 설치를 계속합니다.

클라이언트에 키 설치

보다 안전한 WAN 부트 설치나 데이터 무결성 검사를 사용한 비보안 설치의 경우 클라이언트에 키를 설치해야 합니다. 해싱 키와 암호 키를 사용하여 클라이언트로 전송된 데이터를 보호할 수 있습니다. 다음 방법으로 이러한 키를 설치할 수 있습니다.

  • OBP 변수 설정 – 클라이언트를 부트하기 전에 OBP 네트워크 부트 인수 변수에 키 값을 할당할 수 있습니다. 이러한 키는 나중에 클라이언트의 WAN 부트 설치에 사용할 수 있습니다.

  • 부트 프로세스 도중 키 값 입력 wanboot 프로그램 boot> 프롬프트에서 키 값을 설정할 수 있습니다. 이 방법으로 설치 키를 사용하면 해당 설치 키는 현재 WAN 부트 설치에 대해서만 사용됩니다.

또한 실행 중인 클라이언트의 OBP에 키를 설치할 수도 있습니다. 실행 중인 클라이언트에 키를 설치하려는 경우 시스템에 반드시 Solaris 9 12/03 OS 또는 호환 버전이 실행되어야 합니다.

클라이언트에 키를 설치하는 경우 비보안 연결을 통해 키가 전송되지 않는지 확인합니다. 사용자 사이트의 보안 정책을 수행하여 키 값의 프라이버시를 보장합니다.

절차 클라이언트 OBP에 키 설치

클라이언트를 부트하기 전에 OBP 네트워크 부트 인수에 대한 키 값을 지정할 수 있습니다. 이러한 키는 나중에 클라이언트의 WAN 부트 설치에 사용할 수 있습니다.

클라이언트 OBP에 키를 설치하려면 다음과 같이 합니다.

OBP 네트워크 부트 인자에 키 값을 할당하려면 다음 단계를 수행합니다.

단계
  1. WAN 부트 서버의 웹 서버 사용자와 동일한 사용자 역할을 가정합니다.

  2. 각 클라이언트 키 값을 표시합니다.


    # wanbootutil keygen -d -c -o net=net-ip,cid=client-ID,type=key-type
    
    net-ip

    클라이언트 서브넷의 IP 주소입니다.

    client-ID

    설치할 클라이언트의 ID입니다. 클라이언트 ID는 사용자 정의 ID나 DHCP 클라이언트 ID일 수 있습니다.

    key-type

    클라이언트에 설치할 키 유형입니다. 유효한 키 유형은 3des, aes 또는 sha1입니다.

    키의 16진수 값이 표시됩니다.

  3. 설치할 각 클라이언트 키 유형에 대해 이전 단계를 반복합니다.

  4. 클라이언트 시스템의 실행 수준이 0이 되도록 합니다.


    # init 0
    

    ok 프롬프트가 표시됩니다.

  5. 클라이언트 ok 프롬프트에서 해싱 키의 값을 설정합니다.


    ok set-security-key wanboot-hmac-sha1 key-value
    
    set-security-key

    클라이언트에 키를 설치합니다.

    wanboot-hmac-sha1

    OBP에 지시하여 HMAC SHA1 해싱 키를 설치합니다.

    key-value

    단계 2에 표시된 16진수 문자열을 지정합니다.

    HMAC SHA1 해싱 키는 클라이언트 OBP에 설치됩니다.

  6. 클라이언트 ok 프롬프트에서 암호 키를 설치합니다.


    ok set-security-key wanboot-3des key-value
    
    set-security-key

    클라이언트에 키를 설치합니다.

    wanboot-3des

    OBP에 지시하여 3DES 암호 키를 설치합니다. AES 암호 키를 사용하려면 이 값을 wanboot-aes로 설정합니다.

    key-value

    암호 키를 나타내는 16진수 문자열을 지정합니다.

    3DES 암호 키가 클라이언트 OBP에 설치됩니다.

    키를 설치하였으면 클라이언트를 설치할 준비가 된 것입니다. 클라이언트 시스템을 설치하는 방법은 클라이언트 설치를 참조하십시오.

  7. (옵션) 키가 클라이언트 OBP에 설정되어 있는지 확인합니다.


    ok list-security-keys
    Security Keys:
             wanboot-hmac-sha1
             wanboot-3des
  8. (옵션) 키를 삭제해야 할 경우 다음 명령을 입력합니다.


    ok set-security-key key-type
    
    key-type

    삭제해야 하는 키 유형을 지정합니다. wanboot-hmac-sha1, wanboot-3des , wanboot-aes 값 중 하나를 사용합니다.


예 14–2 클라이언트 OBP에 키 설치

다음 예는 클라이언트 OBP에 해싱 키와 암호 키를 설치하는 방법을 보여 줍니다.

WAN 부트 서버의 키 값을 표시합니다.


# wanbootutil keygen -d -c -o net=192.168.198.0,cid=010003BA152A42,type=sha1
b482aaab82cb8d5631e16d51478c90079cc1d463
# wanbootutil keygen -d -c -o net=192.168.198.0,cid=010003BA152A42,type=3des
9ebc7a57f240e97c9b9401e9d3ae9b292943d3c143d07f04

위 예에서는 다음 정보를 사용합니다.

net=192.168.198.0

클라이언트 서브넷의 IP 주소를 지정합니다.

cid=010003BA152A42

클라이언트의 ID를 지정합니다.

b482aaab82cb8d5631e16d51478c90079cc1d463

클라이언트의 HMAC SHA1 해싱 키 값을 지정합니다.

9ebc7a57f240e97c9b9401e9d3ae9b292943d3c143d07f04

클라이언트의 3DES 암호 키 값을 지정합니다.

설치 시 AES 암호화 키를 사용하는 경우 wanboot-3deswanboot-aes로 변경하여 암호화 키 값을 표시합니다.

클라이언트 시스템에 키를 설치합니다.


ok set-security-key wanboot-hmac-sha1 b482aaab82cb8d5631e16d51478c90079cc1d463
ok set-security-key wanboot-3des 9ebc7a57f240e97c9b9401e9d3ae9b292943d3c143d07f04

위 명령으로 다음 작업을 수행합니다.

  • b482aaab82cb8d5631e16d51478c90079cc1d463 값을 가진 HMAC SHA1 해싱 키를 클라이언트에 설치합니다.

  • 9ebc7a57f240e97c9b9401e9d3ae9b292943d3c143d07f04 값을 가진 3DES 암호화 키를 클라이언트에 설치합니다.

    설치 시 AES 암호화 키를 사용하는 경우 wanboot-3deswanboot-aes로 변경합니다.


WAN 부트 설치 계속

클라이언트에 키를 설치한 후 WAN을 통하여 클라이언트를 설치할 수 있습니다. 방법은 클라이언트 설치를 참조하십시오.

참조

키 값을 표시하는 자세한 방법은 wanbootutil(1M)매뉴얼 페이지를 참조하십시오.

절차 실행 중인 클라이언트에 해싱 키 및 암호 키 설치

실행 중인 시스템의 wanboot 프로그램 boot> 프롬프트에서 키 값을 설정할 수 있습니다. 이 방법으로 설치 키를 사용하면 해당 설치 키는 현재 WAN 부트 설치에 대해서만 사용됩니다.

실행 중인 클라이언트 OBP에 해싱 키와 암호 키를 설치하려면 다음 단계를 수행합니다.

시작하기 전에

이 절차에서는 다음을 가정합니다.

  • 클라이언트 시스템의 전원이 켜져 있습니다.

  • 보안 쉘(ssh) 같은 보안 연결을 통해 클라이언트에 액세스할 수 있습니다.

단계
  1. WAN 부트 서버의 웹 서버 사용자와 동일한 사용자 역할을 가정합니다.

  2. 클라이언트 키 값을 표시합니다.


    # wanbootutil keygen -d -c -o net=net-ip,cid=client-ID,type=key-type
    
    net-ip

    클라이언트 서브넷의 IP 주소입니다.

    client-ID

    설치할 클라이언트의 ID입니다. 클라이언트 ID는 사용자 정의 ID나 DHCP 클라이언트 ID일 수 있습니다.

    key-type

    클라이언트에 설치할 키 유형입니다. 유효한 키 유형은 3des, aes 또는 sha1입니다.

    키의 16진수 값이 표시됩니다.

  3. 설치할 각 클라이언트 키 유형에 대해 이전 단계를 반복합니다.

  4. 클라이언트 시스템의 수퍼유저가 되도록 합니다.

  5. 실행 중인 클라이언트 시스템에 필요한 키를 설치합니다.


    # /usr/lib/inet/wanboot/ickey -o type=key-type
    > key-value
    
    key-type

    클라이언트에 설치할 키 유형을 지정합니다. 유효한 키 유형은 3des, aes 또는 sha1입니다.

    key-value

    단계 2에 표시된 16진수 문자열을 지정합니다.

  6. 설치할 각 클라이언트 키 유형에 대해 이전 단계를 반복합니다.

    키를 설치한 후 클라이언트를 설치할 수 있습니다. 클라이언트 시스템을 설치하는 방법은 클라이언트 설치를 참조하십시오.


예 14–3 실행 중인 클라이언트 시스템 OBP에 키 설치

다음 예는 실행 중인 클라이언트 OBP에 키를 설치하는 방법을 보여 줍니다.

WAN 부트 서버의 키 값을 표시합니다.


# wanbootutil keygen -d -c -o net=192.168.198.0,cid=010003BA152A42,type=sha1
b482aaab82cb8d5631e16d51478c90079cc1d463
# wanbootutil keygen -d -c -o net=192.168.198.0,cid=010003BA152A42,type=3des
9ebc7a57f240e97c9b9401e9d3ae9b292943d3c143d07f04

위 예에서는 다음 정보를 사용합니다.

net=192.168.198.0

클라이언트 서브넷의 IP 주소를 지정합니다.

cid=010003BA152A42

클라이언트의 ID를 지정합니다.

b482aaab82cb8d5631e16d51478c90079cc1d463

클라이언트의 HMAC SHA1 해싱 키 값을 지정합니다.

9ebc7a57f240e97c9b9401e9d3ae9b292943d3c143d07f04

클라이언트의 3DES 암호 키 값을 지정합니다.

설치에서 AES 암호화 키를 사용하는 경우 type=3destype=aes로 변경하여 암호화 키 값을 표시합니다.

실행 중인 클라이언트 OBP에 키를 설치합니다.


# /usr/lib/inet/wanboot/ickey -o type=sha1 b482aaab82cb8d5631e16d51478c90079cc1d463
# /usr/lib/inet/wanboot/ickey -o type=3des 9ebc7a57f240e97c9b9401e9d3ae9b292943d3c143d07f04

위 명령으로 다음 작업을 수행합니다.

  • b482aaab82cb8d5631e16d51478c90079cc1d463 값을 가진 HMAC SHA1 해싱 키를 클라이언트에 설치합니다.

  • 9ebc7a57f240e97c9b9401e9d3ae9b292943d3c143d07f04 값을 가진 3DES 암호화 키를 클라이언트에 설치합니다.


WAN 부트 설치 계속

클라이언트에 키를 설치한 후 WAN을 통하여 클라이언트를 설치할 수 있습니다. 방법은 클라이언트 설치를 참조하십시오.

참조

키 값을 표시하는 자세한 방법은 wanbootutil(1M)매뉴얼 페이지를 참조하십시오.

실행 중인 시스템에 키를 설치하는 자세한 방법은 ickey(1M)을 참조하십시오.

클라이언트 설치

WAN 부트 설치를 위한 네트워크 준비를 마쳤으면 다음 중 한 가지 방법을 선택하여 시스템을 설치할 수 있습니다.

표 14–2 클라이언트 설치 방법

방법

설명

지침

비대화식 설치

클라이언트를 부트하기 전에 클라이언트에 키를 설치하고 클라이언트 구성 정보를 설정하려면 이 설치 방법을 사용합니다.

대화식 설치

부트 프로세스 도중 클라이언트 구성 정보를 설정하려면 이 설치 방법을 사용합니다.

대화식 WAN 부트 설치 수행

DHCP 서버를 사용하여 설치

설치 도중 클라이언트 구성 정보를 제공하도록 네트워크 DHCP 서버를 구성한 경우 이 설치 방법을 사용합니다.

로컬 CD 매체를 사용하여 설치

클라이언트 OBP가 WAN 부트를 지원하지 않는 경우 Solaris 10 Software CD의 로컬 사본에서 클라이언트를 부트합니다.

절차 비대화식 WAN 부트 설치 수행

클라이언트를 설치하기 전에 키를 설치하고 클라이언트 구성 정보를 설정하려면 이 설치 방법을 사용합니다. 그런 다음 WAN에서 클라이언트를 부트하여 무인 설치를 수행할 수 있습니다.

이 절차에서는 클라이언트 OBP에 키를 설치했거나 비보안 설치를 수행 중이라고 가정합니다설치 전에 클라이언트에 키를 설치하는 방법은 클라이언트에 키 설치를 참조하십시오.

단계
  1. 클라이언트 시스템이 현재 실행 중인 경우 시스템의 실행 수준이 0이 되도록 합니다.


    # init 0
    

    ok 프롬프트가 표시됩니다.

  2. 클라이언트 시스템의 ok 프롬프트에서 OBP의 네트워크 부트 인자 변수를 설정합니다.


    ok setenv network-boot-arguments  host-ip=client-IP,
    router-ip=router-ip,subnet-mask=mask-value,
    hostname=client-name,http-proxy=proxy-ip:port,
    file=wanbootCGI-URL
    

    주 –

    이 명령 샘플의 줄 바꿈은 형식 지정 용도로만 포함됩니다. 명령 입력을 마칠 때까지는 캐리지 리턴을 입력하지 마십시오.


    setenv network-boot-arguments

    OBP가 다음 부트 인수를 설정하도록 지시합니다.

    host-ip=client-IP

    클라이언트의 IP 주소를 지정합니다.

    router-ip=router-ip

    네트워크 라우터의 IP 주소를 지정합니다.

    subnet-mask=mask-value

    서브넷 마스크 값을 지정합니다.

    hostname=client-name

    클라이언트의 호스트 이름을 지정합니다.

    (선택 사항) http-proxy=proxy-ip:port

    네트워크의 프록시 서버 IP 주소와 포트를 지정합니다.

    file=wanbootCGI-URL

    웹 서버에서 wanboot-cgi 프로그램의 URL을 지정합니다.

  3. 클라이언트를 부트합니다.


    ok boot net - install
    
    net - install

    네트워크 부트 인자 변수를 사용하여 WAN에서 부트하도록 클라이언트에 지시합니다.

    클라이언트가 WAN을 통하여 설치합니다. WAN 부트 프로그램에서 필요한 설치 정보를 모두 찾지 못한 경우 wanboot 프로그램은 빠진 정보를 입력하라는 프롬프트를 표시합니다. 프롬프트에 추가 정보를 입력합니다.


예 14–4 비대화식 WAN 부트 설치

다음 예에서 클라이언트 시스템 myclient의 네트워크 부트 인수 변수는 컴퓨터가 부트되기 전에 설정됩니다. 이 예에서는 해싱 키와 암호 키가 이미 클라이언트에 설치되어 있다고 가정합니다. WAN에서 부트하기 전에 키를 설치하는 방법은 클라이언트에 키 설치를 참조하십시오.


ok setenv network-boot-arguments host-ip=192.168.198.136,
router-ip=192.168.198.129,subnet-mask=255.255.255.192
hostname=myclient,file=http://192.168.198.135/cgi-bin/wanboot-cgi
ok boot net - install
Resetting ...




Sun Blade 100 (UltraSPARC-IIe), No Keyboard
Copyright 1998-2003 Sun Microsystems, Inc.  All rights reserved.
OpenBoot 4.x.build_28, 512 MB memory installed, Serial #50335475.
Ethernet address 0:3:ba:e:f3:75, Host ID: 83000ef3.



Rebooting with command: boot net - install
Boot device: /pci@1f,0/network@c,1  File and args: - install

다음 변수가 설정됩니다.

  • 클라이언트 IP 주소가 192.168.198.136으로 설정됩니다.

  • 클라이언트의 라우터 IP 주소가 192.168.198.129로 설정됩니다.

  • 클라이언트의 서브넷 마스크가 255.255.255.192로 설정됩니다.

  • 클라이언트의 호스트 이름이 seahag로 설정됩니다.

  • wanboot-cgi 프로그램은 http://192.168.198.135/cgi-bin/wanboot-cgi에 있습니다.


참조

네트워크 부트 인수를 설정하는 자세한 내용은 set(1)을 참조하십시오.

시스템을 부트하는 자세한 내용은 boot(1M)을 참조하십시오.

절차 대화식 WAN 부트 설치 수행

설치 도중 명령줄에서 키를 설치하고 클라이언트 구성 정보를 설정하는 경우 이 설치 방법을 사용합니다.

이 절차에서는 사용자 WAN 설치에 HTTPS를 사용하고 있다고 가정합니다. 키를 사용하지 않는 비보안 설치를 수행하는 경우 클라이언트 키를 표시하거나 설치하지 마십시오.

단계
  1. WAN 부트 서버의 웹 서버 사용자와 동일한 사용자 역할을 가정합니다.

  2. 각 클라이언트 키 값을 표시합니다.


    # wanbootutil keygen -d -c -o net=net-ip,cid=client-ID,type=key-type
    
    net-ip

    설치할 클라이언트 서브넷의 IP 주소입니다.

    client-ID

    설치할 클라이언트의 ID입니다. 클라이언트 ID는 사용자 정의 ID나 DHCP 클라이언트 ID일 수 있습니다.

    key-type

    클라이언트에 설치할 키 유형입니다. 유효한 키 유형은 3des, aes 또는 sha1입니다.

    키의 16진수 값이 표시됩니다.

  3. 설치 중인 각 클라이언트 키 유형에 대해 이전 단계를 반복합니다.

  4. 클라이언트 시스템이 현재 실행 중인 경우 클라이언트가 실행 수준 0이 되도록 합니다.

  5. 클라이언트 시스템의 ok 프롬프트에서 OBP의 네트워크 부트 인수 변수를 설정합니다.


    ok setenv network-boot-arguments  host-ip=client-IP,router-ip=router-ip,
    subnet-mask=mask-value,hostname=client-name,
    http-proxy=proxy-ip:port,bootserver=wanbootCGI-URL
    

    주 –

    이 명령 샘플의 줄 바꿈은 형식 지정 용도로만 포함됩니다. 명령 입력을 마칠 때까지는 캐리지 리턴을 입력하지 마십시오.


    setenv network-boot-arguments

    OBP에 지시하여 다음 부트 인자를 설정합니다.

    host-ip=client-IP

    클라이언트의 IP 주소를 지정합니다.

    router-ip=router-ip

    네트워크 라우터의 IP 주소를 지정합니다.

    subnet-mask=mask-value

    서브넷 마스크 값을 지정합니다.

    hostname=client-name

    클라이언트의 호스트 이름을 지정합니다.

    (선택 사항) http-proxy=proxy-ip:port

    네트워크 프록시 서버의 IP 주소와 포트 번호를 지정합니다.

    bootserver=wanbootCGI-URL

    웹 서버에서 wanboot-cgi 프로그램의 URL을 지정합니다.


    주 –

    bootserver 변수의 URL 값은 HTTPS URL이 아니어야 합니다. URL은 http://로 시작해야 합니다.


  6. 클라이언트 ok 프롬프트에서 시스템을 부트합니다.


    ok boot net -o prompt - install
    
    net -o prompt - install

    클라이언트에 지시하여 네트워크에서 부트하고 설치합니다. wanboot 프로그램은 boot> 프롬프트에서 클라이언트 구성 정보를 입력하라는 메시지를 표시합니다.

    boot> 프롬프트가 표시됩니다.

  7. 암호화 키를 설치합니다.


    boot> 3des=key-value
    
    3des=key-value

    단계 2에서 설치한 3DES의 16진수 문자열을 지정합니다.

    AES 암호 키를 사용하는 경우 다음 형식으로 이 명령을 사용합니다.


    boot> aes=key-value
    
  8. 해싱 키를 설치합니다.


    boot> sha1=key-value
    
    sha1=key-value

    단계 2에 표시된 해싱 키 값을 지정합니다.

  9. 부트 프로세스를 계속하려면 다음 명령을 입력합니다.


    boot> go
    

    클라이언트는 WAN을 통해 설치합니다.

  10. 프롬프트가 표시되면 명령줄에 클라이언트 구성 정보를 입력합니다.

    WAN 부트 프로그램이 필요한 설치 정보를 모두 찾을 수 없는 경우 wanboot 프로그램에 누락된 정보를 입력하라는 프롬프트가 표시됩니다. 프롬프트에 추가 정보를 입력합니다.


예 14–5 대화식 WAN 부트 설치

다음 예에서 wanboot 프로그램은 설치 도중 클라이언트 시스템에 대해 키 값을 설정하라는 메시지를 표시합니다.

WAN 부트 서버의 키 값을 표시합니다.


# wanbootutil keygen -d -c -o net=192.168.198.0,cid=010003BA152A42,type=sha1
b482aaab82cb8d5631e16d51478c90079cc1d463
# wanbootutil keygen -d -c -o net=192.168.198.0,cid=010003BA152A42,type=3des
9ebc7a57f240e97c9b9401e9d3ae9b292943d3c143d07f04

위 예에서는 다음 정보를 사용합니다.

net=192.168.198.0

클라이언트 서브넷의 IP 주소를 지정합니다.

cid=010003BA152A42

클라이언트의 ID를 지정합니다.

b482aaab82cb8d5631e16d51478c90079cc1d463

클라이언트의 HMAC SHA1 해싱 키 값을 지정합니다.

9ebc7a57f240e97c9b9401e9d3ae9b292943d3c143d07f04

클라이언트의 3DES 암호 키 값을 지정합니다.

설치에서 AES 암호화 키를 사용하는 경우 type=3destype=aes로 변경하여 암호화 키 값을 표시합니다.

클라이언트에 있는 OBP의 네트워크 부트 인자 변수를 설정합니다.


ok setenv network-boot-arguments host-ip=192.168.198.136,
router-ip=192.168.198.129,subnet-mask=255.255.255.192,hostname=myclient,
bootserver=http://192.168.198.135/cgi-bin/wanboot-cgi

다음 변수가 설정됩니다.

  • 클라이언트 IP 주소가 192.168.198.136으로 설정됩니다.

  • 클라이언트의 라우터 IP 주소가 192.168.198.129로 설정됩니다.

  • 클라이언트의 서브넷 마스크가 255.255.255.192로 설정됩니다.

  • 클라이언트의 호스트 이름은 myclient로 설정됩니다.

  • wanboot-cgi 프로그램은 http://192.168.198.135/cgi-bin/wanboot-cgi에 있습니다.

클라이언트를 부트하고 설치합니다.


ok boot net -o prompt - install
Resetting ...


Sun Blade 100 (UltraSPARC-IIe), No Keyboard
Copyright 1998-2003 Sun Microsystems, Inc.  All rights reserved.
OpenBoot 4.x.build_28, 512 MB memory installed, Serial #50335475.
Ethernet address 0:3:ba:e:f3:75, Host ID: 83000ef3.



Rebooting with command: boot net -o prompt                            
Boot device: /pci@1f,0/network@c,1  File and args: -o prompt

boot> 3des=9ebc7a57f240e97c9b9401e9d3ae9b292943d3c143d07f04

boot> sha1=b482aaab82cb8d5631e16d51478c90079cc1d463

boot> go

위 명령으로 다음 작업을 수행합니다.

  • 9ebc7a57f240e97c9b9401e9d3ae9b292943d3c143d07f04 값을 가진 3DES 암호화 키를 클라이언트에 설치합니다.

  • b482aaab82cb8d5631e16d51478c90079cc1d463 값을 가진 HMAC SHA1 해싱 키를 클라이언트에 설치합니다.

  • 설치를 시작합니다.


참조

키 값을 표시하는 자세한 방법은 wanbootutil(1M)을 참조하십시오.

네트워크 부트 인수를 설정하는 자세한 내용은 set(1)을 참조하십시오.

시스템을 부트하는 자세한 내용은 boot(1M)을 참조하십시오.

절차 DHCP 서버를 사용하여 WAN 부트 설치 수행

DHCP 서버가 WAN 부트 옵션을 지원하도록 구성한 경우 DHCP 서버를 사용하여 설치 중에 클라이언트 구성 정보를 제공할 수 있습니다. DHCP 서버가 WAN 부트 설치를 지원하도록 구성하는 자세한 방법은 (선택 사항) DHCP 서버를 사용하여 구성 정보 제공을 참조하십시오.

이 절차에서는 다음을 가정합니다.

  • 클라이언트 시스템이 실행 중입니다.

  • 클라이언트에 키를 설치하였거나 비보안 설치를 수행 중입니다.

    설치 전에 클라이언트에 키를 설치하는 방법은 클라이언트에 키 설치를 참조하십시오.

  • SbootURISHTTPproxy WAN 부트 옵션을 지원하도록 DHCP 서버를 구성하였습니다.

    이러한 옵션을 사용하면 DHCP 서버에서 WAN 부트가 필요로 하는 구성 정보를 제공할 수 있습니다.

    DHCP 서버에 설치 옵션을 설정하는 방법은 DHCP 서비스를 사용하여 시스템 구성 정보를 미리 구성(작업)을 참조하십시오.

단계
  1. 클라이언트 시스템이 현재 실행 중인 경우 시스템의 실행 수준이 0이 되도록 합니다.


    # init 0
    

    ok 프롬프트가 표시됩니다.

  2. 클라이언트 시스템의 ok 프롬프트에서 OBP의 네트워크 부트 인자 변수를 설정합니다.


    ok setenv network-boot-arguments dhcp,hostname=client-name
    
    setenv network-boot-arguments

    OBP에 지시하여 다음 부트 인자를 설정합니다.

    dhcp

    OBP에 지시하여 DHCP 서버를 사용하여 클라이언트를 구성합니다.

    hostname=client-name

    클라이언트에 할당할 호스트 이름을 지정합니다.

  3. 네트워크에서 클라이언트를 부트합니다.


    ok boot net - install
    
    net - install

    네트워크 부트 인자 변수를 사용하여 WAN에서 부트하도록 클라이언트에 지시합니다.

    클라이언트가 WAN을 통하여 설치합니다. WAN 부트 프로그램에서 필요한 설치 정보를 모두 찾지 못한 경우 wanboot 프로그램은 빠진 정보를 입력하라는 프롬프트를 표시합니다. 프롬프트에 추가 정보를 입력합니다.


예 14–6 DHCP 서버를 사용하여 WAN 부트 설치

다음 예에서 네트워크의 DHCP 서버는 클라이언트 구성 정보를 제공합니다. 이 샘플은 클라이언트의 호스트 이름 myclient를 요청합니다.


ok setenv network-boot-arguments dhcp, hostname=myclient

ok boot net - install
Resetting ...



Sun Blade 100 (UltraSPARC-IIe), No Keyboard
Copyright 1998-2003 Sun Microsystems, Inc.  All rights reserved.
OpenBoot 4.x.build_28, 512 MB memory installed, Serial #50335475.
Ethernet address 0:3:ba:e:f3:75, Host ID: 83000ef3.



Rebooting with command: boot net - install
Boot device: /pci@1f,0/network@c,1  File and args: - install

참조

네트워크 부트 인수를 설정하는 자세한 내용은 set(1)을 참조하십시오.

시스템을 부트하는 자세한 내용은 boot(1M)을 참조하십시오.

DHCP를 구성하는 자세한 방법은 (선택 사항) DHCP 서버를 사용하여 구성 정보 제공을 참조하십시오.

절차 로컬 CD 매체를 사용하여 WAN 부트 설치 수행

클라이언트 OBP가 WAN 부트를 지원하지 않는 경우 클라이언트 CD-ROM 드라이브에 삽입된 Solaris 10 Software - 1 CD를 사용하여 설치할 수 있습니다. 로컬 CD를 사용하는 경우 클라이언트는 WAN 부트 서버가 아닌 로컬 매체에서 wanboot 프로그램을 검색합니다.

이 절차에서는 사용자 WAN 설치에 HTTPS를 사용하고 있다고 가정합니다. 비보안 설치를 수행하고 있는 경우에는 클라이언트 키를 표시하거나 설치하지 않습니다.

로컬 CD에서 WAN 부트 설치를 수행하려면 다음 단계를 수행합니다.

단계
  1. WAN 부트 서버의 웹 서버 사용자와 동일한 사용자 역할을 가정합니다.

  2. 각 클라이언트 키 값을 표시합니다.


    # wanbootutil keygen -d -c -o net=net-ip,cid=client-ID,type=key-type
    
    net-ip

    설치 중인 클라이언트의 네트워크 IP 주소입니다.

    client-ID

    설치 중인 클라이언트의 ID입니다. 클라이언트 ID는 사용자 정의 ID나 DHCP 클라이언트 ID일 수 있습니다.

    key-type

    클라이언트에 설치하는 키 유형입니다. 유효한 키 유형은 3des, aes 또는 sha1입니다.

    키의 16진수 값이 표시됩니다.

  3. 설치 중인 각 클라이언트 키 유형에 대해 이전 단계를 반복합니다.

  4. 클라이언트 시스템에서 Solaris 10 Software - 1 CD를 CD-ROM 드라이브에 삽입합니다.

  5. 클라이언트 시스템의 전원을 켭니다.

  6. CD에서 클라이언트를 부트합니다.


    ok boot cdrom -o prompt -F wanboot - install
    
    cdrom

    OBP에게 지시하여 로컬 CD-ROM에서 부트합니다.

    -o prompt

    wanboot 프로그램에 지시하여 클라이언트 구성 정보를 입력하라는 메시지를 표시합니다.

    -F wanboot

    OBP에 지시하여 CD-ROM에서 wanboot 프로그램을 로드합니다.

    - install

    클라이언트에 지시하여 WAN 부트 설치를 수행합니다.

    클라이언트의 OBP는 Solaris 10 Software - 1 CD에서 wanboot 프로그램을 로드합니다. wanboot 프로그램을 시스템을 부트하며 boot> 프롬프트가 표시됩니다.

  7. 암호 키 값을 입력합니다.


    boot> 3des=key-value
    
    3des=key-value

    단계 2에서 설치한 3DES의 16진수 문자열을 지정합니다.

    AES 암호 키를 사용하는 경우 다음 형식으로 이 명령을 사용합니다.


    boot> aes=key-value
    
  8. 해싱 키 값을 입력합니다.


    boot> sha1=key-value
    
    sha1=key-value

    단계 2에서 설치한 3DES의 16진수 문자열을 지정합니다.

  9. 네트워크 인터페이스 변수를 설정합니다.


    boot> variable=value[,variable=value*]

    boot> 프롬프트에서 다음 변수와 변수 값 쌍을 입력합니다.

    host-ip=client-IP

    클라이언트의 IP 주소를 지정합니다.

    router-ip=router-ip

    네트워크 라우터의 IP 주소를 지정합니다.

    subnet-mask=mask-value

    서브넷 마스크 값을 지정합니다.

    hostname=client-name

    클라이언트의 호스트 이름을 지정합니다.

    (선택 사항) http-proxy=proxy-ip:port

    네트워크 프록시 서버의 IP 주소와 포트 번호를 지정합니다.

    bootserver=wanbootCGI-URL

    웹 서버에서 wanboot-cgi 프로그램의 URL을 지정합니다.


    주 –

    bootserver 변수의 URL 값은 HTTPS URL이 아니어야 합니다. URL은 http://로 시작해야 합니다.


    다음 방법으로 이러한 변수를 입력할 수 있습니다.

    • boot> 프롬프트에서 한 개의 변수와 값 쌍을 입력한 다음 Enter 키를 누릅니다.


      boot> host-ip=client-IP
      boot> subnet-mask=mask-value
      
    • boot> 프롬프트 행에 변수와 값 쌍을 모두 입력한 다음 Enter 키를 누릅니다. 쉼표를 입력하여 각 변수와 값 쌍을 구분합니다.


      boot> host-ip=client-IP,subnet-mask=mask-value,
      router-ip=router-ip,hostname=client-name,
      http-proxy=proxy-ip:port,bootserver=wanbootCGI-URL
      
  10. 부트 프로세스를 계속하려면 다음 명령을 입력합니다.


    boot> go
    

    클라이언트가 WAN을 통하여 설치합니다. WAN 부트 프로그램에서 필요한 설치 정보를 모두 찾지 못한 경우 wanboot 프로그램은 빠진 정보를 입력하라는 프롬프트를 표시합니다. 프롬프트에 추가 정보를 입력합니다.


예 14–7 로컬 CD 매체를 사용하여 설치

다음 예에서 로컬 CD의 wanboot 프로그램은 설치 도중 클라이언트에 네트워크 인터페이스 변수를 설정하라는 메시지를 표시합니다.

WAN 부트 서버의 키 값을 표시합니다.


# wanbootutil keygen -d -c -o net=192.168.198.0,cid=010003BA152A42,type=sha1
b482aaab82cb8d5631e16d51478c90079cc1d463
# wanbootutil keygen -d -c -o net=192.168.198.0,cid=010003BA152A42,type=3des
9ebc7a57f240e97c9b9401e9d3ae9b292943d3c143d07f04

위 예에서는 다음 정보를 사용합니다.

net=192.168.198.0

클라이언트 서브넷의 IP 주소를 지정합니다.

cid=010003BA152A42

클라이언트의 ID를 지정합니다.

b482aaab82cb8d5631e16d51478c90079cc1d463

클라이언트의 HMAC SHA1 해싱 키 값을 지정합니다.

9ebc7a57f240e97c9b9401e9d3ae9b292943d3c143d07f04

클라이언트의 3DES 암호 키 값을 지정합니다.

설치에서 AES 암호화 키를 사용하는 경우 type=3destype=aes로 변경하여 암호화 키 값을 표시합니다.

클라이언트를 부트하고 설치합니다.


ok boot cdrom -o prompt -F wanboot - install
Resetting ...


Sun Blade 100 (UltraSPARC-IIe), No Keyboard
Copyright 1998-2003 Sun Microsystems, Inc.  All rights reserved.
OpenBoot 4.x.build_28, 512 MB memory installed, Serial #50335475.
Ethernet address 0:3:ba:e:f3:75, Host ID: 83000ef3.



Rebooting with command: boot cdrom -F wanboot - install                            
Boot device: /pci@1f,0/network@c,1  File and args: -o prompt

boot> 3des=9ebc7a57f240e97c9b9401e9d3ae9b292943d3c143d07f04

boot> sha1=b482aaab82cb8d5631e16d51478c90079cc1d463

boot> host-ip=192.168.198.124

boot> subnet-mask=255.255.255.128

boot> router-ip=192.168.198.1

boot> hostname=myclient
boot> client-id=010003BA152A42

boot> bootserver=http://192.168.198.135/cgi-bin/wanboot-cgi

boot> go

위 명령으로 다음 작업을 수행합니다.

  • 9ebc7a57f240e97c9b9401e9d3ae9b292943d3c143d07f04 값을 가진 3DES 암호화 키를 클라이언트에 입력합니다.

  • b482aaab82cb8d5631e16d51478c90079cc1d463 값을 가진 HMAC SHA1 해싱 키를 클라이언트에 입력합니다.

  • 클라이언트 IP 주소를 192.168.198.124로 설정합니다.

  • 클라이언트의 서브넷 마스크를 255.255.255.128로 설정합니다.

  • 클라이언트 라우터 IP 주소를 192.168.198.1로 설정합니다.

  • 클라이언트의 호스트 이름을 myclient로 설정합니다.

  • 클라이언트 ID를 010003BA152A42로 설정합니다.

  • wanboot-cgi 프로그램의 위치를 http://192.168.198.135/cgi-bin/wanboot-cgi/로 설정합니다.


참조

키 값을 표시하는 자세한 방법은 wanbootutil(1M)을 참조하십시오.

네트워크 부트 인수를 설정하는 자세한 내용은 set(1)을 참조하십시오.

시스템을 부트하는 자세한 내용은 boot(1M)을 참조하십시오.

Posted by 1010
60.Unix2008. 11. 3. 12:00
반응형
솔라리스 10

Solaris 10 1/06 OS를 빠르게 설치하는 방법

이 방법 가이드에서는 Solaris 10 설치에 익숙하지 않은 사용자들에게 Sun 지원 x64 또는 x86 시스템에 Solaris 10 OS를 설치하는 방법을 안내합니다. 스크린샷을 포함하는 이 단계별 가이드는 간단한 25개 단계를 통해 설치 프로세스를 안내합니다. 초보 사용자는 이 가이드의 지침에 따라 독립 실행형 x64 또는 x86 시스템에 Solaris 10 1/06 운영 체제 설치를 완료해야 합니다.

1760KPDF[1760K]
목차
 
 
 
 

설치 가정

이 가이드에서는 다음을 포함하는 몇 가지 가정 하에 진행됩니다.
  • 시스템은 x64 또는 x86 시스템입니다.
  • 시스템은 Solaris 10 OS와 호환되며 Solaris 하드웨어 호환성 목록(HCL)에 포함됩니다.
  • 시스템에 그래픽 인터페이스가 있습니다.

이 가이드는 네트워크에 연결되지 않은 독립 실행형 시스템에 가장 적절하지만 네트워크 구성 정보가 사용 가능할 경우 네트워크 연결 시스템(네트워크 인프라에 연결된 IP 주소가 있는 시스템)을 위한 단계별 설치 절차로도 사용할 수 있습니다.

설치 프로세스 중에 이 가이드에서 논의되지 않은 문제가 발생하면 Solaris 10 OS Installation Guide: Basic Installations를 참조하십시오. 이 가이드는 Sun 웹 사이트(http://docs.sun.com/app/docs/coll/1236.1)에 있는 Solaris 10 Release and Installation Collection의 일부입니다.

맨 위로

 
 
 

하드웨어 호환성 목록 확인

설치 프로세스의 첫 번째 단계는 OS를 설치할 시스템이 http://www.sun.com/bigadmin/hcl/에 있는 하드웨어 호환성 목록에 포함되어 있는지 확인하는 것입니다. (참고: 용어 "x86"은 32비트 x86 호환 가능 아키텍처 및 64비트 AMD64/Intel EM64T의 "제품군"을 나타냅니다. 그러나 용어 x64는 64비트 x86 프로세서를 사용하는 시스템을 나타냅니다. Solaris 10 OS는 x86 또는 x64로 지정된 여러 시스템에서 실행됩니다.)

맨 위로

 
 
 

기본 시스템 요구 사항

컴퓨터 시스템이 다음 요구 사항을 만족하는지 확인하십시오. 아래 요구 사항은 권장되는 최소 수준입니다. 디스크 용량과 CPU 속도가 이보다 낮은 시스템에서도 Solaris OS를 설치할 수 있지만 권장되지 않습니다.

  • 최소 256MB의 물리적 RAM
  • 최소 5GB의 사용 가능한 하드 디스크 공간
  • 최소 400MHz CPU 속도
  • DVD 또는 CD-ROM 드라이브
  • 부착된 모니터 또는 통합형 디스플레이
Solaris 시스템 요구 사항에 대한 자세한 내용을 보려면 http://www.sun.com/solaris/specs.jsp 사이트를 방문하십시오. Solaris 10에서 사용할 수 있는 타사 응용 프로그램의 자세한 목록을 보려면 http://www.sun.com/partners/10moves/solutions.html 사이트를 방문하십시오.  
 
 
 

x64 또는 x86 플랫폼용 미디어 구하기

Solaris 10 OS 1/06 릴리스는 Sun 웹 사이트에서 다운로드할 수 있습니다.

  1. Solaris 10 OS에 대한 정보를 얻으려면 http://www.sun.com/solaris/ 사이트로 이동하십시오.
  2. 다운로드 프로세스를 시작하려면 http://www.sun.com/solaris/get.jsp 사이트로 이동하십시오.
  3. 사용 가능한 다운로드 목록에서 Solaris 10을 선택하십시오.
  4. 적절한 미디어 형식(x64/x86 시스템의 경우 Solaris)을 누르십시오.
  5. Sun 다운로드 센터에 아직 등록하지 않았으면 등록하십시오.
  6. 간단한 질문에 대답하십시오.
  7. 사용권 계약을 읽어보고 동의하십시오.
  8. CD 또는 DVD를 다운로드 및 구우십시오.

    Solaris 10 OS 다운로드 또는 설치 CD 및 DVD 미디어 굽기에 대한 추가 지침, 설명 및 팁을 보려면 http://www.sun.com/solaris/self_help.jsp에 있는 Solaris 10 Self Help FAQ를 참조하십시오.

    맨 위로

     
     
     

    전원 켜기 및 미디어 부팅

    다른 운영 체제가 시스템에서 이미 실행되고 있는지 또는 새 시스템에 설치할지에 관계없이 다음 절차를 사용할 수 있습니다.

    1. 시스템 전원을 켜고 드라이브 트레이에 첫 번째 설치 CD 또는 DVD를 넣습니다.
    2. 시스템을 다시 시작합니다.
    3. 시스템이 하드 디스크에서 부팅되는 것으로 나타나고 Solaris OS 설치 관리자가 시작되지 않은 경우 시스템 전원 주기 기능을 사용합니다. 전원 주기란 시스템의 전원을 켠 후 다시 시작하는 것을 말합니다. 시스템이 부팅되기 시작하면 설치 모드로 들어갑니다. 일반적으로 입력해야 하는 키(예: "설치를 시작하려면 F2키 누르기")를 알려주는 메시지가 표시됩니다. 누를 키는 제조업체에 따라 다르며 Esc 및 F12 키가 가장 일반적으로 사용됩니다. 이 메시지를 제대로 읽지 못한 경우 볼 수 있게 될 때까지 시스템을 몇 번 다시 시작하면 됩니다.
    4. 일단 설치 모드에 들어가면 시스템의 부트 장치를 지정합니다. 이 예에서는 부트 드라이브로 CD 또는 DVD 드라이브를 지정합니다. 이렇게 하려면 부트 순서를 설명하는 목록을 찾은 후 CD 또는 DVD 드라이브가 목록 맨 처음에 나오도록 순서를 바꿉니다. 그러면 시스템이 CD 또는 DVD 드라이브에서 부팅되면서 설치 프로세스가 시작되며 아래와 같은 메시지가 표시됩니다.

      Loading stage 2....

      GNU GRUB version 0.95 ( xxK lower / xxK upper memory)

    맨 위로

     
     
     

    Solaris 10 1/06 운영 체제 설치

    Solaris 10 1/06 운영 체제 설치 및 부트 프로세스는 GNU GRUB 로더를 기반으로 합니다. 따라서 이 프로세스 중에 표시되는 메시지는 GRUB 로더에만 국한되며 이전 Solaris 설치와는 다릅니다.

    콘솔 식별

    설치 프로세스의 다음 단계는 Solaris OS가 설치되는 하드웨어 버전에 대한 콘솔 유형을 선택하는 것입니다. 화살표 키를 사용하여 하드웨어 구성에 맞는 Solaris OS 버전을 선택합니다. 대부분의 x64 및 x86 시스템에서는 이것이 기본 선택 사항입니다.

    헤드 없는 랙 장착형 시스템을 사용 중이며 직렬 콘솔에 대한 인터페이스로 직렬 포트가 필요한 경우 두 가지 직렬 콘솔 옵션을 사용할 수 있습니다. Sun Fire LX50, Sun Fire V60x 또는 Sun Fire V65x 서버와 같은 이전 x64 및 x86 시스템의 경우 Solaris Serial Console ttyb를 선택합니다.

    편집 기능 키에는 항목을 선택 또는 강조하기 위한 화살표 키, 명령을 편집하기 위한 e 키 또는 명령줄에 대한 c 키 등이 있습니다. Enter 키를 눌러 선택된 운영 체제 버전을 부팅합니다. 아무 키도 누르지 않아도 강조된 운영 체제 버전은 60초 이내에 부팅됩니다. 부트 프로세스 중에는 프롬프트가 표시되지 않습니다. 아무 버전도 선택하지 않으면 화면 시간이 초과된 후 Solaris OS가 자동으로 부팅됩니다.

    Solaris
    Solaris Serial Console ttya (headless and rack-mounted systems only)
    Solaris Serial Console ttyb (for1x50, v60x and v65x)


    설치 유형 선택

    Enter 키를 누르면 다음 메시지가 표시됩니다.

    Booting 'Solaris'
    kernel /boot/multiboot kernel/unix -B install_media=cdrom
    Multiboot-elf...

    첫 번째 모듈이 로드되면 여섯 가지 설치 옵션이 제공됩니다. 화살표 키나 스페이스바를 사용하여 옵션을 하나 선택합니다. 일정 시간 동안 아무 옵션도 선택하지 않으면 기본 설치 방법이 자동으로 선택됩니다.

    SunOS Release 5.10 Version Generic_Patch 32-bit
    Copyright 1983-2005 Sun Microsystems, Inc. All rights reserved.
    Use is subject to license terms.
    Configuring devices.

      1. Solaris Interactive (default)
      2. Custom JumpStart
      3. Solaris Interactive Text (Desktop session)
      4. Solaris Interactive Text (console session)
      5. Apply driver updates
      6. Single user shell
    Automatically continuing in xx seconds

    (timeout)


    첫 번째 옵션을 선택하거나 가만히 기다리면 다음 출력이 표시됩니다. 표시되는 하드웨어 정보(예: "bge0")는 아래에 표시되는 데이터와 정확히 동일하지 않을 수 있으며 각 단계를 완료하는 데는 몇 분 정도 걸릴 수 있습니다.

    Solaris Interactive

    Using install cd in /dev/dsk/c1t0d0p0
    Using RPC Bootparams for network configuration information.
    Attempting to configure interface bge0...
    Skipped interface bge0...
    Beginning system identification...
    Searching for configuration files(s)...
    Search complete.

    Proposed Window System Configuration for Installation:

       Video Devices:     xxxxxxxxxxxxxxx
       Video Drivers:     xxxxxxxxxxxxxxx
       Resolution/Colors: xxxxxxxxxxxxxxx
       Screen Size:       xxxxxxxxxxxxxxx
       Monitor Type:      xxxxxxxxxxxxxxx
       Keyboard Type:     xxxxxxxxxxxxxxx
       Pointing Device:   xxxxxxxxxxxxxxx

    Press  <ENTER> to accept proposed configuration
    or     <ESC> to change proposed configuration
    or     <SPACE> to pause

    <<< timeout in 30 seconds>>>

    시스템 시간이 초과되거나 Enter 키를 누르면 시스템은 그래픽 모드로 전환되며 Esc 키를 누를 때까지 다음 설치 섹션이 계속 진행됩니다. Esc 키를 누르면 하드웨어 선택 사항 및 기타 옵션을 변경할 수 있는 텍스트 기반 화면이 표시됩니다. 구성이 테스트된 후 문제가 없는 것으로 판명되면 화면은 그래픽 설치 모드로 돌아갑니다.

    시스템 구성

    일련의 화면이 표시되어 Solaris OS 구성 프로세스를 안내합니다.
    참고: 그래픽 화면에서 작업을 진행하는 동안 구성 프로세스 중에 제시된 질문에 대답하기 위해 창 내부에서 마우스로 이동해야 합니다.

    1. 시간이 초과되거나 ?Enter 키가 아닌 Esc 키를 누르면 Solaris 설치 프로그램에 대한 일련의 메시지가 표시됩니다. 메시지를 전체적으로 살펴봅니다. 옵션이 제공되면 화살표 키를 사용하여 원하는 옵션을 강조한 후 F2 키를 눌러 선택합니다. 고급 구성을 수행하려면 http://docs.sun.com/ 사이트에서 Solaris Installation Guide를 참조하십시오.
    2. 시스템의 언어를 선택합니다.

      Select Language

      0. English
      1. French
      2. German
      3. Italian
      4. Japanese
      5. Korean
      6. Simplified Chinese
      7. Spanish
      8. Swedish
      9. Traditional Chinese

      Please make a choice (0-9), or press h or ? for help:

    3. 오른쪽 아래 구석에 Solaris Install Console이라는 새 창이 표시됩니다. 이 창은 관련 설치 메시지를 표시하는 데 사용됩니다. Solaris OS 설치 질문에 대답할 수 있는 다른 창도 표시됩니다.

      Solaris Install Console
    4. welcome 화면이 표시됩니다. Next>를 눌러 설치 프로세스를 계속합니다. 설치 프로그램이 입력된 구성을 확인합니다. 제공된 구성 정보가 올바르지 않으면 해당 화면에 올바른 정보를 다시 입력하도록 요구됩니다.

      Welcome
    5. Network Connectivity 화면이 나타납니다. (참고: 시스템이 독립 실행형 시스템이면 17단계로 건너뛰어 시스템 시간과 날짜를 설정해야 합니다.) 그렇지 않고 시스템이 가정용 광대역 네트워크에 연결되어 있으면 대부분의 기본 옵션을 그대로 사용해도 됩니다. 다음 화면에서 Networked 옵션과 DHCP Server를 선택하고 가이드의 나머지 부분을 진행합니다. 시스템이 사무실 LAN에 연결되어 있으면 DHCP 서버를 사용할 수 있는지 시스템 관리자에게 문의하십시오. DHCP 서버를 사용할 수 있으면 다음 화면에서 Networked 옵션과 DHCP Server를 선택하고 가이드의 나머지 부분을 진행합니다.

      네트워크 연결


      그러나 DHCP 서버를 사용할 수 없으면 다음 정보를 확인한 후 계속하십시오.
      • 시스템의 호스트 이름
      • IP 주소
      • 네트워크 마스크
      • 기본 라우터
      • 시스템이 Kerberos를 사용할 수 있게 설정되었는지 여부
      • NIS, NIS+와 같은 이름 서비스 몇 단계 후에 DHCP configuration 화면이 표시됩니다. 이때 DHCP 서버의 사용을 묻는 메시지가 표시될 때 No를 선택해야 합니다.
    6. Next 버튼 Networked 버튼과 Next 버튼을 차례로 누릅니다.
    7. DHCP configuration 화면에 나타납니다. DHCP 서버를 사용하려면 Yes를 선택하고 Next>를 누른 후 11단계를 계속 진행합니다. DHCP 서버를 사용할 수 없으면 No를 선택하고 Next>>를 누른 후 8단계를 계속 진행합니다.

      pcn0에 대한 DHCP
    8. 시스템의 호스트 이름을 입력하고 Next>를 누릅니다. 이 예에서는 호스트 이름 cancun이 사용됩니다.

      Hostname for bge0
         Enter a hostname which...
         Host Name for bge0:
         cancun

      <Back   Next>

    9. 시스템의 IP 주소를 입력합니다. 이 예에서는 IP 주소 192.168.1.1이 사용됩니다.

      IP Address for bge0
         Enter Internet Protocol (IP)...
         IP Address for bge0: 192.168.1.1

      <Back    Next>

    10. 네트워크 마스크를 입력합니다. 이 예에서는 네트워크 마스크 255.255.255.0이 사용됩니다.

      Netmask bge0
         On this screen you must...
         Netmask bge0:
         255.255.255.0

      <Back    Next>

    11. No를 선택한 후 Next>를 눌러 네트워크 인터페이스에 대해 IPv6를 비활성화합니다.

      IPv6 for bge0
         Specify whether or not you want
         to enable IPv6...
         Enable IPv6 for bge0:
         0 Yes
         0 No
      <Back    Next>

      1. 네트워크 정보를 수동으로 입력하지 않을 경우 13단계를 계속 진행합니다.
      2. 네트워크 정보를 수동으로 입력할 경우 다음 단계가 나타납니다.
        기본 라우터를 자동으로 검색하도록 시스템을 구성합니다. Detect one을 선택하고 Next>를 누릅니다.


      Set the Default router for bge0
         The default router provides a
         bridge...
         0 Detect one
         0 Specify one
         0 None
      <Back    Next>

    12. 다음에는 Kerberos를 네트워크 인증 프로토콜로 사용하지 않도록 지정합니다. No를 선택하고 Next>를 누릅니다.

      Kerberos
    13. 다음에는 명명 서비스를 구성하지 않도록 지정합니다. None을 선택하고 Next>를 누릅니다.

      이름 서비스
    14. 다음에는 시스템에 대한 표준 시간대를 설정합니다. 이 예에서는 지리적 영역을 지정하여 표준 시간대를 설정합니다. Geographic을 선택하고 Next>를 누릅니다.

      표준 시간대
    15. 다음에는 대륙과 국가를 선택합니다. 정확한 위치에 대한 자세한 정보가 요구됩니다. 예를 들어, Americas를 선택하면 Americas의 모든 표준 시간대를 나열하는 화면이 표시됩니다. 해당 표준 시간대를 선택하고 Next>를 누릅니다.

      대륙과 국가
    16. 다음에는 날짜 및 시간을 설정하고 Next>를 누릅니다. 날짜와 시간이 자동으로 표시됩니다. 올바르면 Next>를 누르고 조정이 필요하면 텍스트 상자에 수정 내용을 입력하고 Next>를 누릅니다.

      날짜와 시간
    17. 루트 암호를 설정합니다. 입력한 암호는 화면에는 표시되지 않습니다. 두 번째 상자에 암호를 다시 입력하고 Next>를 누릅니다.

      루트 암호
    18. 마지막으로 제공된 구성 정보가 요약되어 화면에 표시됩니다. 모든 정보가 올바른지 확인하고 Confirm>을 누릅니다. 네트워크 정보를 수동으로 입력하거나 DHCP 서버를 사용하는 경우에는 다른 정보가 표시됩니다.

      Confirm Information
         Selection Information
         Hostname: cancun
         IP Address: 192.168.1.1
         System part of a subnet: Yes
         Netmask: 255.255.255.0
         Enable IPv6: No
         Default Route: Autodetect Default
         Name Service: None
         Enable Kerberos: No
         Timezone: US/Pacific

      <Back    Confirm>


    Solaris 설치

    이제 Solaris 로고가 포함된 화면이 표시됩니다. Next>를 눌러 설치 프로세스를 시작합니다. Solaris Install Console에 정보가 표시됩니다.

    Welcome

    1. 먼저 설치 관리자 옵션을 설정합니다. 설치 프로세스 마지막에 시스템이 자동으로 부팅되고 CD 또는 DVD가 꺼내지도록 지정합니다. 두 옵션에 대해 모두 Yes를 선택하고 Next>를 누릅니다.

      설치 관리자 옵션
    2. 팝업 창이 표시됩니다. OK를 누르고 계속합니다.
    3. 다음에는 설치를 수행할 미디어를 지정합니다. CD/DVD를 선택하고 Next>를 누릅니다.

      미디어 지정
    4. 설치 프로세스가 시작됩니다. 이 프로세스는 몇 초 정도 걸립니다.
    5. 사용권 계약이 표시되면 읽어봅니다.agreement. 계약 내용에 동의하면 Accept와 Next>를 차례로 눌러 설치 프로세스를 계속합니다.

      라이센스
    6. Initial Install을 선택하고 Next>를 누릅니다.
    7. Custom Install을 설치하고 Next>를 누릅니다.

      설치 유형 선택
    8. 기본 옵션을 모두 그대로 사용하여 설치하려면 이 가이드에 나오는 18단계, Ready to Install 절을 계속 진행합니다. 그렇지 않으면 아래에 나오는 9-17단계를 진행합니다.
    9. 다음에는 원할 경우 소프트웨어를 지역화합니다. > 문자를 눌러 지리적 영역을 확장합니다. 해당 지역화 버전을 선택합니다. Next>를 눌러 계속합니다. 지역화 버전을 설치하려면 Languages CD가 필요합니다. 다음 예에서는 시스템을 스페인어로 지역화합니다.

      Select Software Localizations
         Select the geographic regions...
         > Northern Africa
         > Eastern Europe
         > Southern Europe
         ...

      <Back    Next>     Exit>

    10. 해당 로케일을 선택하고 Next>를 누릅니다.

      Select System Locale
         Select the initial locale to
         be used...
         North America
         0 Spanish (Mexico, ISO...
         POSIX
         0 English (POSIX...

      <Back    Next>     Exit>

    11. 다음에는 필요한 소프트웨어 제품을 선택하고 Next>를 누릅니다. 설치를 수행하기 위해 소프트웨어가 들어 있는 배포용 CD 또는 DVD가 필요합니다.

      Select Products
         Select the products you would...
         > Solaris 10 Extra Value Software
         > Solaris 10 Documentation
         > Java Enterprise System
         > Solaris Software Companion CD

      <Back    Next>     Exit>

    12. 다음에는 추가로 필요한 소프트웨어를 선택하고 Next>를 누릅니다. 설치를 수행하기 위해 소프트웨어가 들어 있는 배포용 CD 또는 DVD가 필요합니다.

      Additional Products
         To scan for additional...
         Web Start Ready products scan
         location
         0 None
         0 CD/DVD
         0 Local or Network File System

      <Back    Next>     Exit>

    13. 그룹 선택 사항은 시스템의 사용 방식에 따라 달라집니다. 이 예에서는 Entire Group(기본 옵션)을 설치하지만 사용자 정의하지는 않습니다. Entire Group 옵션을 선택하고 Next>를 누릅니다.

      Select Solaris Software Group
         Select a Solaris software group to install:
         Solaris Software       Default    Custom    Size(MB)
         Entire Group Plus OEM    0          0        3438.7
         Entire Group             0          0        3438.7
         Developer Group          0          0        3331.5
         End User Group           0          0        2482.3
         Core Group               0          0         363.3
         Reduced Networking Group 0          0         339.5

      <Back    Next>     Exit>

    14. 부트 디스크를 선택합니다. 시스템에 디스크가 두 개 이상 있으면 화면 왼쪽에 있는 목록에서 디스크를 선택한 후 Next>를 누릅니다.

      Disk Selection
         Select which disk you want...
         Available    Selected Disk
            Add>>
            <<Remove

      <Back    Next>     Exit>

    15. 원할 경우 분할할 디스크를 선택합니다. 이전 단계에서 선택한 디스크가 나열됩니다. 디스크 하나에 파티션이 여러 개 있으면 디스크를 선택하여 수정해야 합니다. 운영 체제를 사용자 파일과 따로 두어야 할 경우에는 분할이 유용할 수 있습니다. 이 예에서는 디스크가 이미 적절한 방식으로 분할되었거나 Solaris OS에 해당 디스크 전체를 사용할 수 있다고 가정합니다. Next>를 눌러 계속합니다.

      Select Disks for fdisk Partition
      Customization
         On the next panel(s), you can...
         Please select the disk(s) to
         customize...
         0 c0d0

      <Back    Next>     Exit>

    16. 기존 파일 시스템을 보존해야 할 경우 다음 창에서 Yes를 선택하고, 그렇지 않으면 No를 선택합니다. Next>를 눌러 계속합니다.

      Preserve Data
         At least one of the disks...
            0 Yes
            0 No

      <Back    Next>     Exit>

    17. 기본 파일 시스템 레이아웃은 대부분의 시스템에 적절합니다. 스왑 공간의 추가나 /export/home 디렉토리 제거와 같은 약간의 수정 작업이 필요할 수 있습니다. 파일 시스템 레이아웃을 수정해야 할 경우 modify를 선택합니다. 새 창이 표시됩니다. 필요에 맞게 값을 변경합니다. 다음 예에서는 /export/home 디렉토리를 제거하고, 스왑 크기를 2048MB로 조정하고, 남은 공간을 루트 디렉토리에 추가합니다. 이렇게 하면 다음과 같은 파일 시스템 레이아웃이 구현됩니다. 확인을 누릅니다. 변경 내용은 이전 창에 나옵니다. Next>를 눌러 계속합니다. 구성을 사용자 정의하면 다른 메시지가 표시될 수 있습니다.

      Disk c0d0
         Slice  File System    Size
            0    /              36101
            1    swap           2048

      [OK]   [Apply]   [Reset]   [Cancel]

    18. 정보를 확인하고 Install Now를 누릅니다.

      설치 준비
    19. 정보를 확인하고 Install Now를 누릅니다. 설치 진행률 표시기가 나타납니다. 몇 분 후면 100%에 도달합니다. Pause 또는 Reboot 여부를 묻는 메시지가 표시됩니다. 시스템은 내부 하드 디스크에서 다시 부팅되어야 합니다. 다시 부팅할 때 일부 시스템은 CD/DVD 트레이에서 끌어옵니다. 이 경우 트레이에서 CD 또는 DVD를 뺀 후에 시스템을 다시 부팅하면 됩니다.

      설치 중...
    20. 시스템이 다시 부팅되기 시작하면 CD/DVD 트레이를 열어 CD/DVD를 제거합니다. 이렇게 하면 시스템이 내부 하드 디스크에서 부팅됩니다. 이것이 실패하면 설치 프로세스가 다시 시작됩니다.
    21. GNU GRUB 화면이 표시됩니다. Solaris 옵션을 강조하고 Enter 키를 누릅니다. 시스템이 다시 부팅됩니다.
    22. 시스템을 처음 부팅하면 NFS 프로토콜을 무시할지 묻는 질문이 텍스트 모드 화면에 표시됩니다. 기본값(No)을 그대로 적용하고 부팅 프로세스를 계속합니다.
    23. 설치가 CD에서 수행될 경우 설치 관리자를 시작할 수 있음을 나타내는 설치 화면이 표시됩니다. install 버튼을 누릅니다. 설치 관리자가 시작되면 화면이 파란색으로 바뀝니다. 설치 관리자가 작동되면 다음 CD를 설치할지 묻는 Solaris 화면이 표시됩니다. install 버튼을 누릅니다. 설치 프로세스 중에 빈 화면이 표시되면 모니터가 시간 초과된 것일 수 있습니다. 마우스를 이동하면 화면이 복원됩니다.
    24. 이 프로세스는 나머지 CD에서도 반복됩니다. 마지막 CD를 설치한 후에는 최종적으로 다시 부팅해야 합니다.
    25. 이제 시스템에 Solaris 10 1/06 운영 체제가 설치되었습니다.

    맨 위로

     
     
     

    추가 정보

    Solaris 10 OS에 대한 자세한 내용을 보려면 sun.com/solaris 사이트를 참조하십시오.

    매뉴얼
    Sun 설명서
    Big Admin System Administration Portal
    Sun의 새로운 기술 문서
    Sun x64/x86 시스템을 구축하도록 JumpStart 서버 구성(영문)
    로컬 부트 서버 없이 네트워크 설치 수행(영문)
    AMD 프로세서가 있는 Sun x64 시스템에서 다중 부팅 환경 구성(영문)
    관련 웹 사이트
    Solaris 랩톱 목록(x86)(영문)
    Solaris 하드웨어 호환성 목록(영문)
    Solaris 10 시스템 요구 사항(영문)
    Solaris 10 1/06 OS 기능 비교 차트(영문)
    Solaris 10을 채택하기 위한 다음 단계
    Solaris 10 using "Solaris 10 How To Guides"를 사용하여 실무 경험을 얻으시기 바랍니다.
    무료 Solaris 10 교육에 참여하십시오.
    Sun의 기업 지원 시스템은 여러분이 원하시면 언제나 달려갑니다. 지원 계약을 통해 다양한 지원을 받으십시오.
    OpenSolaris 커뮤니티에 참여하십시오.

    맨 위로

Posted by 1010
60.Unix2008. 10. 22. 00:27
반응형
사용자 삽입 이미지


VMware 를 이용하여 Solaris 10 설치 완료...
첨에는텍스트모드로 설치후
두번째 그래픽 모드로 설치
꽤 이쁜데 이정도면.
리눅스보다 원도우 보다 더 깔끔하고... 음~~

이제 여기에 다시 원도우 xp , visita , 리눅스 2종류 정도 깔아서 멀티 탭 기능 활용해서..
자바썬테크에서 시현했던 기능좀 구현해 봐야겠다....근데... 컴퓨터가 따라갈지 모르겠다.
우선 데스크탑에 테스트 해보고 일주일정도 돌려서 잘되면...
개발용 노트북도 솔라리스로 바꿔봐야겠다.
open Solaris  멋져...




1. 솔라리스에 내장되어 있는 모질라 브라우저랑 파이어폭스... (이것도 좀 써보고 블로그 다시 업해야겠다)

네이버 테스트 역쉬 잘된데....


현재 유지보수하는 업체... 역쉬 안된다... 요즘 웹표준 웹표준하는데..
원도우 리눅스 유닉스에서
인터넷익스플러, 파이어폭스 , 모질라, 오페라, 크롬 등...
다 똑같이 돌아가야 하는데.. 원도우에서 ms 익스플러만 정상적으로 돌아가다니..부끄럽기 짝이 없다.
뭐 그래도 내가 만든게 아니여서 위안이 되긴하지만...
매일 느끼는 거지만 표준이 중요하다.. 대충 만들어서 대충 쓰는것도  상황에 따라 어쩔수 없는 선택이될 수 있지만,
명세기 공공기관 싸이트가 이모양이니..에휴~






1. openoffice 사용기
 -> 먼저 다운을 받는데... www.openoffice.org 에가서 솔라리스 버전으로...


--> 압축풀고 설치...


--> 사용해보기...


--> 사용해 보니.. ms거랑 틀린게 없다. 좀더 그래픽적인 요소랑 네트워크지원 및 불필요한 기능이 있다고 할까?
지금까지 돈주고 사용한게 아깝다. 뭐~ 돈준적은 없지만..그래도...(솔직히 좀 MS게 좋긴하다..스프레드시트만큼은...)

----------> 계속 작성중....(궁금한 기능잇으면 댓글 다삼)
Posted by 1010
60.Unix2008. 10. 21. 23:27
반응형
Posted by 1010
60.Unix2008. 10. 21. 22:45
반응형
My Sun Connection

After downloading your software, find everything you need to know about Sun infrastructure software in one place.

Remember to register your Solaris product upon installation to receive free Solaris security patches and information about your Solaris product. If you have existing copies of Solaris not yet registered, please click here to register today!.


Solaris Download and Installation Instructions

Innovate with confidence - Get indemnification, expert support, updates, upgrades and more with Solaris Subscription support. Visit http://sun.com/service/subscriptions/index.jsp

Instructions: Select the files you want, then click the "Download Selected with Sun Download Manager" (SDM) button below to automatically install and use SDM (learn more). Alternately, click directly on file names to download with your browser. (Use of SDM is recommended but not required.)

Required Files
Select All File Description and Name Size
Solaris 10 5/08 x86/x64 DVD Full Image
sol-10-u5-ga-x86-dvd.iso
2,154.69 MB

Optional Files
Select All File Description and Name Size
Solaris 10 5/08 Documentation DVD
sol-10-u5-doc-ga-dvd-iso.zip
284.64 MB
md5 checksum for Documentation
sol-10-u5-doc-ga-md5sum.txt
0.12 KB
md5 checksum for x86/x64 binaries
sol-10-u5-ga-md5sum-x86.txt
1.42 KB
Easily manage your downloads (pause, resume, restart, verify). Learn more

Notes:


>>Sign-up for the BigAdmin Newsletter
The BigAdmin program offers answers to daily challenges to help
Systems Administrators stay on top of technology news. Members
receive a monthly newsletter that connects them to the latest
articles, news, and resources available on the BigAdmin and Solaris
Developer Web sites. >> More

Posted by 1010
60.Unix2008. 10. 21. 22:43
반응형
Posted by 1010