□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□

Kum-A Systems, Inc

□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□

Kum-A Systems, Inc

차    례

제 Ⅰ 편 UNIX 관리의 일반적인 사항

제 1 장 머리말

1.1 본 자료에 관하여

제 2 장 UNIX System의 관리

2.1 System의 Manager의 역할

2.2 Manager의 역할

2.2.1 사용자에 대한 역할

2.2.2 Day-to-Day Administration

2.2.3 주기적인 관리 항목

2.3 Day-to-Day Administration

2.3.1 Morning Cleanup and Inspection

2.4 UNIX File 살펴보기

2.4.1 root의 System File

2.4.2 /etc File들

2.4.3 기타

제 3 장 UNIX System의 보안

3.1 보안의 범위

3.1.1 계정 보안(Account Security)

3.1.2 FTP(File Transfer Protocol)

3.1.3 Terminals

제 4 장 Solaris System Administration - Quick reference

4.1 Solaris 2.x System의 환경

4.1.1 소개

4.1.2 File Systems

4.2 Server의 설치

4.2.1 설치를 위한 방법

4.2.2 Post-Installation Files

4.3 Boot Process

4.3.1 System Boot Procedure

4.3.2 System Run Levels

4.3.3 Adding Run Control Files

4.4 Changing Run Levels

4.4.1 shutdown

4.4.2 init

4.4.3 halt

4.4.4 reboot

4.4.5 PROM Monitor

4.5 Autoconfiguration

4.5.1 /kernel directory

4.5.2 /usr/kernel

4.5.3 /etc/System File

4.6 Device Configuration and Naming

4.6.1 Setting SCSI Device Address

4.6.2 Logical Device Name Directories in /dev

4.6.3 /etc/path-to-inst

4.6.4 Device Configuring

4.7 새로운 Disk를 추가하기 위한 작업

4.8 Mounting File Systems

4.8.1 File Systems

4.8.2 Mounting and Unmounting File Systems

4.8.3 Volume Manager : /usr/sbin/vold

4.9 Maintaining File Systems

4.9.1 Synchronizing Data

4.9.2 Check File System Inconsistencies

4.10 Backup and Recovery

4.11 Software Package Administration Commands

4.11.1 Package Commands

4.11.2 Software Manager

4.12 그 외 유틸리티

4.12.1 Disk 사용 현황

4.12.2 Disk 사용 제한

4.12.3 File 찾기

4.12.4 System File 다루기

4.12.5 사용자 계정 다루기

4.12.6 정기적인 작업 수행

4.12.7 Host의 IP Address 변경

4.12.8 System의 정보를 보기 위한 명령

4.12.9 DNS setting을 위하여 수정하는 File들

4.13 admintool의 활용

제 Ⅱ 편 솔라리스 System 관리

제 5 장 Solaris 2.x 네트워크 환경

5.1 소개

5.2 Mainframe, Personal and Workstation Computing

5.2.1 시간 분할 메인 프레임

5.2.2 개인용 컴퓨터

5.2.3 Network workstation

5.3 네트워크에 연결된 Workstation의 성능

5.3.1 remote access의 특징

5.3.2 구현

5.3.3 File 공유 네크워크 특징

5.3.4 구현

5.4 네트워크에 연결된 workstation을 위한 클라이언트 Server 모델

5.5 독립형 workstation Configuration

5.5.1 기본적 하드웨어

5.5.2 File System

5.6 Disk가 없는 클라이언트 Workstation Configuration

5.6.1 기본적 하드웨어

5.6.2 File System

5.6.3 기본적 하드웨어

5.6.4 File System

5.7 Disk가 없는 클라이언트 Server configuration

5.7.1 기본적 하드웨어

5.7.2 File System

5.7.3 기본적 하드웨어

5.7.4 File System

제 6 장 Server 설치하기

6.1 소개

6.2 Solaris 2.x가 지원하는 환경

6.3 하드웨어 요구사항

6.3.1 지원되는 하드웨어

6.3.2 메모리 요구사항

6.3.3 배포 매체

6.3.4 지원되는 Disk 타입

6.3.5 Disk 요구사항

6.3.6 최소 하드웨어 환경

6.4 Software 용어

6.4.1 Software 패키지

6.4.2 Software Clusters

6.4.3 Software 환경설정 그룹

6.4.4 환경설정 그룹 크기

6.4.5 요약

6.5 Disk Partion과 Software 요구사항

6.5.1 Server Disk Partition Guidelines

6.5.2 Solaris 2.x Disk가 없는 Client 지원

6.6 설치 과정

6.7 설치 후 정보

6.8 설치 전의 정보

6.8.1 Software 그룹

6.8.2 어느 Disk에 설치 할 것인지를 사용자 정의로 분할 것인지를 결정

6.8.3 부가적으로 어떤 원격지 File System을 부팅시 Mount할 것인지

6.8.4 설치 후 과정

6.9 SUN System Server 설치

6.9.1 Booting the Release Media

6.9.2 Local CD-ROM으로부터 부팅

6.9.3 터미널 타입 결정

6.9.4 openwindows 설치 환경

6.9.5 호스트 이름 기입

6.9.6 네트워크 설정

6.9.7 인터넷 주소 확인

6.9.8 네트워크 설정의 확인

6.9.9 Name Service 확인

6.9.10 subnetwork의 설정

6.9.11 netmask 설정

6.9.12 네트워크 정보의 확인

6.10 System 확인

6.10.1 Time zone

6.10.2 Geographic region

6.10.3 날짜와 시간

6.10.4 정보 확인

6.11 Solaris Software 설치

6.11.1 초기화

6.11.2 업그레이드

6.11.3 System 타입

6.11.4 Disk가 없는 Clients

6.11.5 Software

6.11.6 Customize(사용자요구) Software

6.11.7 Disks

6.11.8 Preserve Data?

6.11.9 Preserve Data

6.11.10 Automatically Layout File System(자동배치 File System)?

6.11.11 Automatically Layout File System

6.11.12 File Systems & Disk Layout

6.11.13 Customize Disks

6.11.14 Mount Remote File System?

6.11.15 Mount Remote File System

6.11.16 ProFile

6.11.17 Reboot?

6.11.18 Progress

6.11.19 Root Password

6.12 설치 후 File 조사

6.13 요약

6.14 Lab : Server의 설치

제 7 장 부트 프로세스

7.1 소개

7.2 부트 방법

7.3 System 부트 절차

7.3.1 부트 PROM 단계

7.3.2 부트 프로그램 단계

7.3.3 커널 초기화 단계

7.3.4 /sbin/init 단계

7.4 System 실행 레벨

7.5 /sbin/init process

7.5.1 /etc/inittab File

7.6 /etc/inittab File format

7.7 /etc/inittab File

7.8 실행 제어 스크립터

7.8.1 부트 순서

7.8.2 실행 제어 File

7.9 /etc/init.d directory

7.10 실행 제어 File 첨가

7.11 실행 제어 File 수정

제 8 장 System 실행 레벨(Level)의 변경

8.1 소개

8.2 System 셧다운의 스케쥴링

8.3 System의 실행레벨의 변경

8.3.1 shutdown 명령어

8.3.2 init 명령어

8.3.3 기타 명령들

8.4 The PROM Monitor

8.5 The Open Boot PROM

8.5.1 OBP Revision 2.x Device Names

8.5.2 OBP Revision 1.x Device Names

8.5.3 System이 부트되지 않는다면

8.5.4 중요한 System File이 missing or invalid면

8.6 System 끼어들기

8.6.1 요약

제 9 장 자동 환경설정 과정

9.1 소개

9.1.1 자동환경설정 과정

9.1.2 /kernel directory

9.1.3 /usr/kernel directory

9.2 커널 환경설정 File 수정하기

9.2.1 커널의 변수 조정하기

9.3 요약

제 10 장 디바이스 환경설정과 명명하기

10.1 소개

10.2 장치 이름

10.3 Disk 디바이스 인터페이스

10.4 SCSI 디바이스 주소 세팅하기

10.5 디바이스 정보 트리

10.6 디바이스 이름들

10.6.1 물리적 디바이스 이름들

10.6.2 목표 주소(target address)

10.6.3 Disk 번호

10.6.4 슬라이스(파티션) 번호

10.6.5 Bus-Oriented Controller

10.6.6 직접적 콘트롤러

10.6.7 논리적 디바이스 이름 directory

10.6.8 디바이스 인스턴스 이름

10.7 Disk 디바이스들을 구분하기

10.7.1 물리적 Disk 디바이스 이름과 인스턴스 Disk 디바이스 이름

10.7.2 dmesg 명령어

10.7.3 format 명령어

10.8 디바이스 환경 재설정하기

10.9 System 환경 설정 상태 보기

10.9.1 prtconf 명령어

10.9.2 sysdef 명령어

10.10 요약

제 11 장 새로운 Disk의 추가

11.1 소개

11.2 새 Disk 인식을 위한 System 재설정

11.3 Disk 파티션과 레이블 기술

11.4 포맷 유틸리티 이용

11.5 Disk 파티션 크기 재설정

11.6 포맷 유틸리티 이용

11.7 포맷 메인 메뉴 조사

11.8 Displaying the partision Menu

11.9 어디에 파티션 테이블이 저장되었는가를 탐색

11.10 새 Disk가 다른 타입일 경우

11.11 파티션 정보 표시

11.12 수행중인 파티션 테이블 조사

11.13 파티션 크기 변경

11.14 요약

제 12 장 File System의 마운팅(Mounting)

12.1 소개

12.2 로컬 및 분산 File System

12.2.1 Disk 기반인 로컬 File System

12.2.2 원거리 분산 File System

12.3 File System 마운팅과 언마운팅

12.3.1  새로운 File System에서의 마운팅 여부 Test

12.4 모든 로컬 File System의 마운팅

12.4.1 The /etc/vfstab File

12.5 마운트된 File System에 관한 정보 표시

12.6 규정된 File System 형태의 마운팅

12.6.1 File System 타입을 결정하는 법

제 13 장 볼륨 관리자(Volume Manager)

13.1 소개

13.2 사용자 명령어들

13.3 File 설정

13.4 볼퓸 Manager 중단과 시작

제 14 장 File System의 유지

14.1 Introduction

14.2 Checking File Systems

14.3 The File System Revisited

14.4 File-System의 구성요소

14.5 Block Fragments

14.6 Synchronizing Data

14.7 fsck 프로그램은 어떤 일을 하는가

14.8 Inconsistencies Checked by the fsck Program

14.9 When the fsck Program Is Run

14.10 Using the fsck Program

14.11 Using the fsck Program

14.12 Using the fsck Program

14.13 An Example With No Inconsistencies

14.14 Adjusting a Link Counter

14.15 Salvaging the Free List

14.16 Reconnecting an Allocated but Unreferenced File

14.17 Summaary

제 15 장 백업(Backup)과 복구(Recovery)

15.1 소개

15.2 왜 Backup을 수행하는가?

15.3 Types of Backups

15.3.1 Backup 명령

15.4 Backup Planning Considerations

15.5 테입 디바이스의 형태

15.6 테입 디바이스 명

15.7 ufsdump 명령

15.8 백업 준비 단계들

15.9 Using the ufsdump 명령

15.10 Dump 스케줄의 예

15.11 ufsrestore 명령어

15.12 원격 백업을 수행하기

15.13 Interactive Restore

15.14 전체 File System의 재저장

15.15 /(root) File System 재저장

15.16 Summary

15.17 Lab : 백업과 복구

제 16 장 NFS 환경 설정

16.1 소개

16.2 How the NFS Environment Works

16.2.1 NFS Servers

16.2.2 NFS Clients

16.3 Sharing and Mounting File Resources

16.4 Sharing File Resources Overview

16.4.1 The NFS Server

16.5 Mounting File Resources Overview

16.5.1 The NFS Client

16.6 Mounting and Unmounting Remote File Resources

16.6.1 The NFS Client

16.7 Required NFS Daemons

16.7.1 On the NFS Server

16.7.2 On the NFS Client

16.8 The share Command

16.9 The unshare Command

16.10 The /etc/dfs/dfstab File

16.11 The shareall Command

16.11.1 The unshareall Command

16.12 The mount Command

16.13 The umount Command

16.14 The /etc/vfstab File Review

16.15 Common NFS Error Messages and Possible Solutions

16.16 Lab : configuring the NFS Environment

제 17 장 Using the Automounter

17.1 소개

17.2 오토마운터는 어떻게 작동하는가

17.2.1 Daemon에 mount된 File 자원

17.2.2 자동으로 umount된 File 지원

17.2.3 NFS Server측면에 impact하지 않는 automounting

17.3 Automounter Maps

17.3.1 기초적인 맵의 형태

17.4 Automounter Map의 개요

17.4.1 Master Map 의 예

17.4.2 Direct Map 의 예

17.4.3 Indirect Map 예

17.5 Master Maps

17.6 Direct Maps

17.7 Indirect Maps

17.8 일반적인 auto-home setup

17.8.1 예제 시나리오

17.8.2 요구사항

17.8.3 어떻게 작동되는가?

17.9 자동마운트에 의한 변화의 전파(propagating)

17.10 요약

17.11 Lab : Using the Automounter

제 18 장 Disk 없는 클라이언트 추가

18.1 소개

18.2 diskless client의 추가

18.3 관리 도구의 사용

18.3.1 호스트 Manager

18.4 Disk 없는 클라이언트의 시동(Booting a Diskless Client)

18.5 주요 File 보기

18.6 요약

제 19 장 Software 패키지 관리 명령어

19.1 소개

19.2 패키지 정보 출력

19.2.1 pkginfo 명령어

19.3 Software 패키지 더하기

19.3.1 pkgadd 명령어

19.4 패키지 인스톨을 검사

19.4.1 pkgchk 명령어

19.5 패키지 정보 추출

19.6 Software 패키지 제거

19.6.1 pkgrm 명령어

19.7 Spooling 패키지

19.7.1 On the Server

19.7.2 On the Client

19.7.3 패키지 명령 요약

19.8 패키지 관리 명령어와 directory 요약

제 20 장 Software 관리

20.1 개요

20.2 Software 관리기 시작하기

20.3 Local System에서 Software를 제거하기

20.3.1 Icon 정의

20.4 로칼 System에 Software 더하기

20.5 리모트 호스트상의 Software 추가하고 제거하기

20.5.1 리모트 호스트에 Software 추가하기

20.6 클라이언트 지원 Software 추가하기

20.6.1 기능

20.6.2 특징

20.6.3 장점

20.7 요약

제 21 장 디바이스 관리

21.1 소개

21.2 직렬 디바이스란 무엇인가?

21.2.1 포트란 무엇인가?

21.3 직렬 디바이스들

21.3.1 알파누메릭 단말기

21.3.2 모뎀

21.4 직력 인터페이스

21.5 널 모뎀 케이블

21.6 양방향 모뎀의 셋업

21.6.1 하드웨어 케리어 검출을 이용하는 방법

21.7 요약

제 22 장 The Service Access Facility

22.1 소개

22.2 SAF 개요

22.3 SAF 구조

22.4 Service Access Controller

22.4.1 process 초기화

22.5 SAF 구조

22.6 포트 모니터 type

22.6.1 The ttymon monitor

22.6.2 The listen monitor

22.7 TTY 포트 모니터

22.7.1 터미널 초기화 절차(Continued)

22.8 The sacadm Command

22.8.1 동작 상태

22.8.2 ttymon 포트 모니터 추가

22.8.3 TTY Monitor의 열거

22.8.4 TTY Monitor의 제거

22.8.5 TTY Monitor의 시작

22.8.6 TTY Monitor을 disable 시킴

22.8.7 TTY Monitor를 enable 시킴

22.8.8 TTY Monitor의 제거

22.9 The pmadm 명령

22.9.1 Configuring Services

22.9.2 Service 상태

22.9.3 TTY Monitor로 Service를 add함

22.9.4 Service Tags

22.9.5 service 하나의 나열

22.9.6 모든 service의 나열

22.9.7 모든 포트 모니터의 나열

22.9.8 service의 disabling

22.9.9 service의 enabling

22.10 포트 모니터의 특별한 admin. 명령

22.11 TTY Monitor의 특별한 Configuration

22.11.1 ttyadm 명령

22.12 /etc/ttydefs File

22.13 터미널 제어 요소들

22.14 SAF 명령어 요약

22.15 SAF File 요약

22.16 요약

제 23 장 터미널 및 모뎀 추가

23.1 소개

23.2 Terminal 설치

23.3 양방향 모델 설치

23.4 모뎀 사용

23.4.1 tip 명령어

23.5 /etc/remote File

23.6 요약

부록1. 기타 자료 모음

1.1 System 부팅이 안될 경우 살펴볼 내용과 취할 행동들 - SunOS

1.1.1 single user mode로 Booting한다.

1.1.2 single user Booting 이 안될 경우

1.1.3 부팅시 자세히 살펴볼 사항

1.2 Catridge tape 사용

1.3 □tar" 명령어의 다른 사용

1.4 PROM mode에서 알아두면 좋은 명령어들

제 Ⅰ 편

UNIX 관리의 일반적인 사항

제 2 장

UNIX System의 관리

2.1 System의 Manager의 역할

System Manager는 System을 유지, 보수, 관리하는 일을 하며 System 사용자를 위한 각종 지원을 하여야 한다. System Manager의 역할에 따라 사용자는 System을 신뢰하거나 또는 불신하게 된다. 다음은 System관리를 시작하는 이를 위한 기초적인 주의 사항 및 지침 사항이다.

□ Root(/) directory 아래에서 Software를 설치하는 등의 작업을 하지 않는다. 치명적인 실수를 할       경우 System이 작동불능이 된다.(rm -R *)

□ 모든 작업에 앞서 작업할 대상 File과 directory를 backup한다. - 최악의 결과는 피해야 한다.

□ 초보자는 작업에 앞서 경험자의 자문을 구한다.

□ 자신이 한 작업에 대한 기록을 가진다. - 이전으로 돌아가기 위해서는 자신이 한 작업에 대해 알아      야 한다.

□ System관리는 경험치 만큼 기술(know-how)이 늘어난다.

□ 부지런한 Manager일수록 많은 사용자에게 편리함을 준다.

2.2 Manager의 역할

System Manager는 일반적으로 다음의 일들을 한다.

□ 새로운 System의 설치

□ 현재 System의 관리

□ 새로운 응용 프로그램의 설치

□ 현재 응용 프로그램의 관리

□ Software 판올림(Upgrade)

□ 하드웨어 판올림(Upgrade)

□ 하드웨어의 수행과 성능을 감시

□ System Software의 지원

□ System Software의 유지

□ 새로운 System Software 만들기

□ File System 유지

□ System 보안의 감시

□ System 데이터의 백업

□ 기타 System의 하드웨어와 데이터를 관리하기 위한 역할

2.2.1 사용자에 대한 역할

System Manager는 사용자에 대하여 다음의 작업을 하여야 한다.

□ System에 계정관리(계정 만들기, 계정 삭제, 계정 고치기...)

□ 사용자의 문제점을 해결 한다.

□ 사용자 그룹의 결정

□ 사용자의 교육

2.2.2 Day-to-Day Administration

System Manager는 매일 다음의 작업을 하여야 한다.

□ 사용자 계정의 생성과 삭제

□ 매일하는 백업, directory와 File삭제 및 보관

□ 사용자들의 지원

□ 낡은 System의 File의 삭제

□ 사용되지 않는 File이나 코어 File의 삭제

□ 스풀러(spooler) 지우기

□ 불필요한 임시File의 삭제

□ 소유권과 권한의 변경 및 링크 생성

2.2.3 주기적인 관리항목

System Manager는 System을 다음의 항목에 대하여 일정을 잡고 maintain할 책임이 있다.

□ 정규적이고 주기적인 백업

□ 공적인 기록

□ 패스워드 정리

□ 보안사항 점검과 □hole plugging"

□ Disk 정리 - 다음은 Disk의 상태와 사용자계정의 용량을 보기 위해 유용한 쉘 스크립트(shell                      script)의 예이다. 물론 이 경우 System 사용자가 적을 경우에 해당된다. System 사                     용자가 많을 경우 Disk 사용제한 크기를 설정하는 것이 바람직하다.

# more /home/local/bin/ckusrspace

df

du -s /user1/GAlab/prof/hgcho

du -s /user1/GAlab/doctor/dhlee

du -s /user1/GAlab/doctor/mgcho

du -s /user1/GAlab/doctor/dongupak

du -s /user1/GAlab/master/bhgeum

du -s /user1/GAlab/master/ejlee

du -s /user1/GAlab/master/yjyu

du -s /user1/GAlab/master/jkpark

du -s /user1/GAlab/master/shpark

du -s /user1/GAlab/master/ybkang

du -s /user1/GAlab/master/mskim

du -s /user2/project/rubsheet

du -s /user3/project/mesh

#

□ spooler 정리 - mail, printer의 spool File

2.3 Day-to-Day Administration

"Good Morning" script

□ 로컬 네트워크의 Test

□ 대용량 File Server나 stand-alone System의 down여부 점검

□ critical File System disk상에서 block수와 inode수의 점검

□ ErrorMessage를 찾기 위한 root의 mail을 점검

□ /usr에 있는 metaFile의 관찰(변경 여부 보기)

□ console logFile의 확인 - 이상여부 판단, 갱신

2.3.1 Morning Cleanup and Inspection

가장 먼저 System Manager는 System의 작업 여유 공간이 충분한가를 살펴보아야 한다. System Manager가 살펴보아야할 critical File System은 다음과 같다.

□ /

□ /usr

□ /usr/spool(or /var/spool)

□ /var(BSD 4.3, AT&T 5.4)

□ /usr/adm/message(or /usr/spool/console)

□ /tmp

1.1 root Disk

루트(root) 파티션 영역의 Disk에는 약간의 여유 Disk를 항상 확보하여야 한다.

□ space를 확보한다.

□ temporary disk space가 적을 경우 프로그램을 수행하지 못하는 경우가 발생한다.

1.2 /usr/spool과 /var/spool

[www:/var/spool] =:# ls -al

total 20

drwxrwxr-x  10 root     bin          512 Jul  3 11:19 ./

drwxrwxr-x  21 root     sys          512 May 23 17:08 ../

drwxrwsrwt   2 daemon   daemon       512 Jul  3 11:19 calendar/

drwxr-xr-x   4 root     sys          512 May 14 16:15 cron/

drwxr-xr-x   2 uucp     uucp         512 Jul 15 14:41 locks/

drwxrwxr-x   7 lp       lp           512 Jul 14 09:12 lp/

drwxr-xr-x   2 root     bin          512 Jul 14 12:01 mqueue/

drwxrwxrwx   2 bin      bin          512 May 14 16:15 pkg/

drwxr-xr-x   5 uucp     uucp         512 May 14 16:35 uucp/

drwxrwxrwt   2 uucp     uucp         512 May 14 16:35 uucppublic/

drwxrwxrwt   2 mail     mail         512 May 14 16:35 mail/

□ mail에 너무 많은 mail이 삭제되지 않은 채로 있을 경우가 있음

□ /var/spool/mail directory에 사용자의 mail이 도착

1.3 /usr/adm/messages or /usr/spool/console

□ System에서 발생한 Error나 부팅시 Message의 기록(Log)이 남는다.

□ 시간이 지나면 지날수록 크기가 증가한다.

□ 주기적인 정리(clean up)가 필요하다.

# cp /dev/null /usr/adm/messages

□ 이 부분은 System에 이상이 있을 경우 가장 우선적으로 검사하는 부분이다.

UNIX System은 부팅 될 때 주변 장치들에 이사이 있는지를 Test 한다. 이상이 없을 경우 정상      적으로 부팅이 된다. 이 때 부팅시 설치하는 기본 프로그램은 /etc/rc.local의 내용에 따른다. 부팅시      의 Message들은 /var/adm/messages File에 기록한다. 이 Message들을 살펴 봄으로서 System의 주변      장치들에 이상이 발생하였는지 아닌지를 알 수 있다. Message의 내용은 대개 다음과 같다.

# more /usr/adm/messages

Jul  6 14:53:33 www unix: esp0 at espdma0: SBus slot f 0x800000 sparc ipl 4

Jul  6 14:53:33 www unix: sd1 at esp0: target 1 lun 0

Jul  6 14:53:33 www unix: sd3 at esp0: target 3 lun 0

Jul  6 14:53:33 www unix:       <conner_1060s cyl 2036 alt 2 hd 14 sec 72>

Jul  6 14:53:33 www unix: obio0 at root

Jul  6 14:53:33 www unix: zs1 is /obio/zs@0,0

........

Jul 14 09:12:56 www unix: :

Jul 14 09:12:57 www unix: SUNW,fdtwo0 is /obio/SUNW,fdtwo@0,700000

Jul 14 09:13:07 www unix: cgsix0 at sbus0

Jul 14 09:13:08 www unix: sparc ipl 9

Jul 14 09:13:08 www unix: cgsix0 is /iommu@f,e0000000/sbus@f,e0001000/cgsix@2,0

Jul 14 19:23:11 www unix: out of per-user processes for uid 1001

Jul 14 19:24:13 www last message repeated 5 times

#

이와 같이 시간 상으로 오래된 내용이 먼저 나타난다. /usr/adm/messages File은 누가 언제 root로 login하였는지 혹은 su명령을 수행하였는지 알 수 있다. 이 Message File은 그 크기가 계속 증가하기 때문에 일정한 시기마다 refresh해 주어야 한다. 이 때 File을 삭제하지 않고 /dev/null File을 복사하여 크기를 0 byte로 만든다.

# cp /dev/null /var/adm/messages

# more messages

#

1.4 /tmp, /var/tmp or /usr/tmp

lrwxrwxrwx   1  root       13  Jul  12  1995   sys -> ./usr/kvm/sys/

drwxrwxrwx   4  bin       512  Jan  17  14:05  tmp/

drwxr-xr-x  28  root     1024  Jul  12  1995   /usr

□ System의 낙서판에 해당한다. 아무나 write 가능하다.

□ 임시 File이 생성되어 보관된다.(OS가 처리)

2.4 UNIX File 살펴보기

□ root(/) - System상의 모든 File의 기본이 되는 directory

□ /usr - System 운영에 관계되는 directory

□ /usr/spool - 몇 개의 spool library를 제외한 모든 사용자의 spool공간

□ /var - spooler와 같이 File을 빠르게 access하고 expanding할 수 있도록 하는 영역

: BSD 4.3, SunOS, System V R4

□ /usr/src - source File

□ /usr/include - 모든 System Haed File

□ /etc - System Manager와 System Programmer를 위한 toolbox

□ /usr/adm - System Manager를 위한 log File

□ /usr/spool, /var/spool - spool log

□ /usr/lib - Library

□ /bin - System에서 제공하는 실행 File

□ /usr/bin - System에서 제공하는 실행 File, BSD 4.3, AT&T 5.4

□ /sbin - System에 관련된 실행 File(주로 부팅시 실행됨)

□ /dev - 장치 node들이 있는 곳

□ /tmp - 임시 File을 두는 곳

2.4.1 root의 System File

root영역에는 가능한 최소의 File만을 두도록 한다.

□ unix, vmunix, vmlinuz, ???x - UNIX System의 커널

□ core File을 주기적으로 삭제

2.4.2 /etc Files

/etc directory 아래의 File은 UNIX Manager가 가장 눈여겨 보아야 할 File들이다. /etc directory 아래에 있는 대부분의 File은 System Manager에 의하여 편집 가능한 File들이며 이를 어떻게 설정하느냐에 따라 일반 사용자의 System 활용에 큰 영향을 준다.

2.1 rc

rc group은 UNIX의 기본 리소스를 사용 가능하도록 구동시키는 역할을 한다. SunOS의 경우 rc로 시작하는 File은 다음과 같다.

[etc] ls -al rc*

3  -rw-r--r--  1  root	2993  Aug  1  1992  rc

6  -rw-r--r--  1  root	5476  Aug  1  1992  rc.boot

1  -rw-r--r--  1  root	352  Aug  1  1992  rc.ip

5  -rw-r--r--  1  root	5018  Jan 16  22:51 rc.local

5  -rw-r--r--  1  root	5070  Jan 13  17:54 rc.local.org

3  -rwxr-xr-x  1  root	2172  Aug  1  1992  rc.single*

[etc]

이들은 단일 사용자 모드로 부팅할 때, 다중작업(Multitasking), 다중사용자(Multiuser) mode로 부팅할 때 각각 다른 리소스(resource)가 사용된다.

2.2 group

그룹 ID와 그룹 멤버쉽(Membership)을 담아 두었다.

[www:/etc] =:# cat group

root::0:root

other::1:

bin::2:root,bin,daemon

sys::3:root,bin,sys,adm

adm::4:root,adm,daemon

uucp::5:root,uucp

mail::6:root

tty::7:root,tty,adm

lp::8:root,lp,adm

nuucp::9:root,nuucp

staff::10:

daemon::12:root,daemon

sysadmin::14:

nobody::60001:

noaccess::60002:

nogroup::65534:

ftp_g::100:

[www:/etc] =:#

첫 필드는 그룹의 이름이며, 두 번째 필드는 암호 필드이며, 세 번째 필드가 그룹 ID-Number이며, 마지막 필드가 그룹에 소속된 사용자 아이디의 리스트들이다.

2.3 passwd

사용자의 아이디, 사용자 directory가 존재하는 위치를 담아둔 File

root:x:0:1:Super-User:/:/bin/csh

daemon:x:1:1::/:

bin:x:2:2::/usr/bin:

.........

kong:x:1001:10:kong seung chul:/home/kong:/bin/csh

kim:x:1002:10:kim jeong seong:/home/kim:/bin/csh

guest:x:1100:10:guest:/home5/guest:/bin/csh

..........

[www:/etc] =:#

이 System의 사용자인 □공 성철□을 예를 들어 passwd File에 대하여 알아보면

□ kong - 공성철의 아이디

□ x - password

□ 1001 - ID 번호

□ 10 - 그룹 번호

□ kong seung chul - 사용자의 comment, 이름 혹은 전화번호를 기록

□ /home/kong - 사용자의 root directory

□ /bin/csh - 사용자가 로그인을 할 때 수행되는 명령. 일반적으로 shell이 지정되지만 BBS 프로그램                 과 같이 다른 용도로도 사용이 가능하다.

2.4 motd

Message of Today의 약자로 System에 로그인하는 사용자 모두에게 알리는 공지사항이나 환영 Message가 담겨있다.

[/etc] cat motd

Sun MicroSystems Inc.	SunOS 5.5.1	Generic	May 1996

============================================================================

K U M A  S Y S T E M S, I N C

안녕하세요.

금아System에 오신것을 환영합니다.

=============================================================================]

[/etc]

2.5 vfstab

System Disk의 파티션에 관한 정보

[www:/etc] =:# more vfstab

#device	device	mount	FS	fsck	mount	mount

#to mount	to fsck	point	type	pass	at boot	options

#

#/dev/dsk/c1d0s2 /dev/rdsk/c1d0s2 /usr	ufs	1	yes	-

fd	-	/dev/fd	fd	-	no	-

/proc	-	/proc	proc	-	no	-

/dev/dsk/c0t3d0s1	-	-	swap	-	no	-

/dev/dsk/c0t3d0s0	/dev/rdsk/c0t3d0s0	/	ufs	1	no	-

/dev/dsk/c0t3d0s6	/dev/rdsk/c0t3d0s6	/usr	ufs	1	no	-

/dev/dsk/c0t3d0s5	/dev/rdsk/c0t3d0s5	/opt	ufs	2	yes	-

/dev/dsk/c0t1d0s0	/dev/rdsk/c0t1d0s0	/home0	ufs	3	yes	-

/dev/dsk/c0t1d0s5	/dev/rdsk/c0t1d0s5	/home5	ufs	4	yes	-

/dev/dsk/c0t1d0s6	/dev/rdsk/c0t1d0s6	/home6	ufs	5	yes	-

/dev/dsk/c0t1d0s7	/dev/rdsk/c0t1d0s7	/home	ufs	6	yes	-

swap	-	/tmp	tmpfs	-	yes	-

[www:/etc] =:#

2.4.3 기타

□ export - NFS(Network File System)를 위해 export되는 파티션 list, 및 export permission

□ inetd.conf - internet daemon program list

□ syslog.conf - syslog configuration File

□ utmp - 현재 System에 login한 사용자의 list

□ ttytab - active terminal을 정의

□ aliases - mail의 aliases File

제 3 장

UNIX System의 보안

3.1 보안의 범위

네트웍의 사용범위가 넓어지고 사용이 보편화되면서 보안의 문제가 심각하게 대두되고 있다.

□ 보안 - 정당한 절차를 거치지 않은 사용자로부터 System이나 데이터가 안전하게 유지되는 것.

□ 가장 완전한 보안 - 아무도 사용하지 못하도록 봉쇄

□ 네트웍의 가장 큰 장점은 다수의 컴퓨터간의 자원 공유이다.

□ 보안 정책 - 인터넷에 접속한 컴퓨터는 결코 보안에 대해 안전하다고 할 수 없다.

□ 보안을 엄격히 적용하면 할수록 공유할 수 있는 resource의 양은 적어진다.

□ 최선의 보안은 backup이다.

3.1.1 계정 보안(Account Security)

사용자의 계정을 System 관리자는 만들어주고, 만들어진 계정에 대하여 사용자에 대한 지원을 하여야 한다.

1.1 좋은 Password, 나쁜 Password

반드시 대문자, 소문자, Special character, Control Character, 숫자를 조합한 8자리를 사용 할 것.

나쁜 유형의 password(사용해서는 안될 password)

□ 자신의 이름, 배우자(애인)이름, 부모이름, 애완동물, 아이들의 이름

□ 가까운 작업자나 동료의 이름, 유명 배우의 이름, 아는 사람의 이름

□ 사용하고 있는 OS의 이름

□ 사용중인 host의 이름

□ 전화번호, 주민등록번호, 생일

□ 사용자 아이디를 변형한 암호(대소문자, 두 번 입력 등)

□ 영어사전이나 외국어사전에 등록된 단어

□ 지명이름, 대명사, 동일한 글자만으로된 암호

□ 쉬운 패턴의 글자 예)qwerty

□ 사전에 있는 단어의 역순

좋은 유형의  password

□ 대소문자를 섞어 사용한 password

□ 숫자나 마침표등이 문자와 섞인 password

□ 기억하기 쉬워서 적어둘 필요가 없는 password

□ 길이가 7-8글자 정도되는 password

□ 빠르게 타이핑 될 수 있어서, 남들이 보고 따라하기 힘든 password

이 밖의 주의사항

□ password를 적어두지 않는다. 만일 적어 두는 일이 생기더라도 noise를 준다.

□ password를 e-mail로 보내지 않는다. - 특별한 프로그램을 돌리면 mail을 capture하여서 password      라는 단어를 뽑아내는 해킹 프로그램이 있음

□ workstation에서 root로 로그인할 경우 telnet이나 ftp로 root login을 하지 않는다.(telnet, ftp는           trapping이 됨) 따라서 반드시 console로만 root login을 한다.

□ /usr/etc/pwck program을 이용 주기적으로 password를 check한다.

3.1.2 password 관리에 대한 추가 사항

□ password가 없는 사용자 계정 삭제

- who, date, lpq, telnet, shutdown 등에 U-id를 □0□으로하여 단순명령을 수행케 하는 경우가 있는        데 이들을 모두 지운다.(BBS Program은 예외)

- 찾는 방법 : $awk -F: '$2 =="" ' /etc/passwd

□ 사용이 끝난 사용자 계정 삭제

□ /etc/passwd File의 사용자 이름 필드에 만기일을 기입해 두고 주기적(1달에 1회정도)으로 이를          check하는 shell script를 수행

□ 손님계정

- guest, anonymous, public, general, sonnim등과 같은 손님 계정은 필요에 따라 만들어 사용한 후,        사용이 끝나면 즉시 지운다.

□ U-id가 □0□인 계정

- root외에 U-id가 □0□인 것은 가급적 모두 지운다.

- 찾는 방법 : $awk -F: '$3 == 0' /etc/passwd

3.2 Monitoring Account Security

System 사용중에 발생하는 문제점이나 System 사용에 대한 기록은 log File을 참조한다.

log File의 종류

□ /var/log : send mail log

□ /usr/adm/lastlog : last login time 확인

□ /etc/utmp

□ /etc/wtmp(or /usr/adm/wtmp)

□ /usr/adm/messages

□ /usr/adm/sulog 사용   예)who /usr/adm/wtmp

□ last lastcomm, acctcomm, sa, ps, ja(cray2s only)등의 command로 monitoring

주의

touch command로 log File의 CTIME, UTIME을 변경할 수 있으므로 세밀히 관찰 요.

3.2.1 Network Security

1.1 Trusted hosts 하에서의 Security

□ netrc, .rhosts, /etc/hosts.equiv File 들은 차라리 사용하지 않는게 좋다.

□ 찾아서 지우려면

# cd /

# find . -name ".rhosts" -o -name ".netrc" -print -depth -exec rm -f {} \;

# rm /etc/hosts.equiv

NAME

hosts.equiv, -rhosts - trusted remote hosts and users

DESCRIPTION

The /etc/hosts.equiv and .rhosts Files provide the "remote authentication"

database for rlogin(1C), rsh(1C), rcp(1C), and rcmd(3N). The Files specify

remote hosts and users that are considered. Trusted users are allowed to

access the local System without supplying a password.

□ Trusted Host 개념은 버클리 계열, 즉 BSD UNIX를 사용하고 있는 SUN, VAX등의 OS에서는          Netwroking Utility의 기본개념으로서 rlogin, rcmd등을 적절한 사용자가 인증 절차 없이 사용케        하는 개념.

□ kong System의 /etc/hosts.equiv에 www.kuma.co.kr가 있고 www System의 /etc/hosts.equiv에          kong.kuma.co.kr이 있을 경우 두 System간에는 rlogin만으로 password 확인 절차없이 login이 가       능하다.

3.2.2 FTP(File Transfer Protocol)

□ ftp daemon 사용토록 할 것(log 관리)

□ ftp directory는 Read Only로 할 것

□ ftp user의 제한

- /etc/ftpusers File을 만든다.

- 방법

0 $vi /etc/ftpusers

root

daemon

.

.

0 #chmod 600 /etc/ftpusers

3.2.3 Terminals

- Secure terminal

* /etc/ttytab File에서 root를 제외하고는 모든 tty의 secure를 지운다.

* 다시 $kill -HUP 1

- Smart Terminal

* talk, write등의 Command 사용할 때 지정해야 하는 terminal

* Security Control은 $mesg y(or n)

- 일반적으로 telnet명령이나 ftp명령은 packet은 trap되기 때문에 telnet이나 ftp로는 root로 login을        하지 않도록 하는 것이 좋다.

- root 로그인은 오직 console로만 하는 것이 가장 안전한 방법이며, 외부에서 root 패스워드를 알아       내더라도 login을 하지 못하게 막아 두어야 한다. 이를 위하여 /etc/default/login File을 수정한다.

[www:/etc/default] =:# cat login

#ident  "@(#)login.dfl  1.7     93/08/20 SMI"   /* SVr4.0 1.1.1.1       */

..........

# If CONSOLE is set, root can only login on that device.

# Comment this line out to allow remote login by root.

#

CONSOLE=/dev/console

# PASSREQ determines if login requires a password.

#

PASSREQ=YES

.........

# SYSLOG determines whether the syslog(3) LOG_AUTH facility should be used

# to log all root logins at level LOG_NOTICE and multiple failed login

# attempts at LOG_CRIT.

#

SYSLOG=YES

[www:/etc/default] =:#

수정된 /etc/default/login

[www:/etc/default] =:# cat login

#ident  "@(#)login.dfl  1.7     93/08/20 SMI"   /* SVr4.0 1.1.1.1       */

..........

# If CONSOLE is set, root can only login on that device.

# Comment this line out to allow remote login by root.

#

CONSOLE=/dev/console

# PASSREQ determines if login requires a password.

#

PASSREQ=NO

.........

# SYSLOG determines whether the syslog(3) LOG_AUTH facility should be used

# to log all root logins at level LOG_NOTICE and multiple failed login

# attempts at LOG_CRIT.

#

SYSLOG=YES

[www:/etc/default] =:#

제 4 장

Solaris System Administration Quitck reference

본 장에서는 Solaris System의 관리를 하기위한 기본적인 System의 구조에 관하여 알아보도록 한다.

4.1 Solaris 2.x System의 환경

4.1.1 소개

Solaris 2.x OS는 SunOS 5.x Version 이상의 OS이다. 이 OS는 SUN사의 이전 버전인 SunOS 4.x System과 많은 차이점을 가지고 있다. 계통상으로는 SunOS이지만 이 두 운영체제는 실제로는 별 연관 관계가 없다.(심지어 바이너리 File간의 호환조차 되지 않는다)

□ SunOS 4.x이하 : Solaris 1.x Version이라고도 함. BBD(Berkerly Unix)계열

□ SunOS 5.x : Solaris 2.x Version이라고도 함. System V 계열

Solaris 2.x의 특징

□ SunOS 5.x

□ Openwindow 3.x 탑제 - GUI System

□ ONC+(OpenNetwork Computing)

4.1.2 File Systems

□ / : Boot prog, OS kernel, System data File

□ swap

□ /export : Diskless server의 경우

□ /export/swap

□ /opt : unbundle S/W

□ /usr

□ /export/home : 사용자 directory

cf) /home은 NIS, NIS+ 환경에서 automount daemon이 사용

4.2 Server의 설치

4.2.1 설치를 위한 방법

Press[STOP] - A

ok boot cdrom

□ System Identification Phase - hostname, Network, IP Address, Name Service, Subnetworks,                                         Netmask, Time zone

□ Installing Solaris Software Group, Disk Layout(기존 자료 preserve 가능)

4.2.2 Post-Installation Files

/var/sadm/install

/var/sadm/install_data

/var/sadm/pkg

/var/sadm/softinfo

4.3 Boot Process

4.3.1 System Boot Procedure

1.1 Boot PROM Phase

□ PROM runs self-test diagnostics

□ PROM loads the bootblock(bootblk) program

1.2 Boot Program Phase

□ The bootblock program loads the boot(ufsboot) program

□ The boot(ufsboot) program loads the kernel(/kernel/unix)

1.3 Kernel Initialization Phase

- Kernel initializes itself and starts the init process

1.4 The /sbin/init Phase

- The init process starts the run control scripts

4.3.2 System Run Levels

System이 booting될 때 수행되는 작업과(예를 들면 disk check, quota setting, ....), daemon process (Web server, NFS server, NIS, .....)를 수행하기 위해서는 /etc/rc로 시작하는 File을 이용한다.

SunOS에서는 rc.local File이 모든 과정을 담당하였지만 Solaris에서는 rc1.d, rc2.d, ....등의 directory에 존재하는 Run control File이 이 과정을 담당한다.

□ /etc/inittab : init process가 각 run level마다 수행해야 할 작업(process)을 정의

[www:/etc] =:# cat inittab

ap::sysinit:/sbin/autopush -f /etc/iu.ap

fs::sysinit:/sbin/rcS                   >/dev/console 2>&1 </dev/console

is:3:initdefault:

p3:s1234:powerfail:/usr/sbin/shutdown -y -i5 -g0 >/dev/console 2>&1

s0:0:wait:/sbin/rc0                     >/dev/console 2>&1 </dev/console

s1:1:wait:/usr/sbin/shutdown -y -iS -g0 >/dev/console 2>&1 </dev/console

s2:23:wait:/sbin/rc2                    >/dev/console 2>&1 </dev/console

s3:3:wait:/sbin/rc3                     >/dev/console 2>&1 </dev/console

s5:5:wait:/sbin/rc5                     >/dev/console 2>&1 </dev/console

s6:6:wait:/sbin/rc6                     >/dev/console 2>&1 </dev/console

fw:0:wait:/sbin/uadmin 2 0              >/dev/console 2>&1 </dev/console

of:5:wait:/sbin/uadmin 2 6              >/dev/console 2>&1 </dev/console

rb:6:wait:/sbin/uadmin 2 1              >/dev/console 2>&1 </dev/console

sc:234:respawn:/usr/lib/saf/sac -t 300

co:234:respawn:/usr/lib/saf/ttymon -g -h -p "`uname -n` console login: " -T sun

-d /dev/console -l console -m ldterm,ttcompat

[www:/etc] =:#

- id:rstate:action:process의 순서로 구성

- respawn - 프로세서가 죽으면 다시 시작된다.

□ /sbin/rcS, ...., /sbin/rc6

□ /etc/rcS.d, /etc/rc0.d, /etc/rc1.d, /etc/rc2.d, /etc/rc3.d

□ run control File은 K, S등으로 시작하며 두자리 정수와 character로 되어 있다.

ex) S44httpd.Start

□ 사용자가 수행하고자 하는 process를 /etc/rc3.d에 두고 System을 reboot하면 된다.

(File name은 반드시 K, S로 시작하여야 한다.)

Run Levels	Function
0 1 2 3 4 5 6 S a, b, c	Prom monitor level Administrative state(single-user state) Multiuser level(with no resources shared) Multiuser level(with resources shared) Not currently used Halt Reboot to default run level 3 Single-user state Optoinal and configurable run level

4.3.3 Adding Run Control Files

□ Place the startup File in the /etc/init.d directory

□ # cd /etc/rc3.d

□ ln /etc/init.d/myfs S22myfs

4.4 Changing Run Levels

4.4.1 shutdown

# shutdown -y -g300

-y : no interrupt, -g300 : 300초 후

4.4.2 init

# init 0

4.4.3 halt

- shutdown and move to PROM monitor level

4.4.4 reboot

□ # reboot -- -s : Single-user mode

□ # reboot -- -r : reconfiguration booting(추가된 device에 대한 device File 생성)

4.4.5 PROM Monitor

ok banner

ok boot -r

ok boot -s

ok probe-scsi

cf) Disk나 System File등의 이상으로 부팅이 안될 때

ok boot cdrom -s	: boot from cdrom in single user mode

# mount /dev/dsk/c0t3d0s0 /mnt

# TERM=sun

# export TERM

# cd /mnt/etc

4.5 Autoconfiguration

4.5.1 /kernel directory

/kernel/unix program and /kernel 하위 directory의 프로그램들은 boot시 load되는데 drv, exec, fs, mics, sched, strmod, sys등이 있다.

4.5.2 /usr/kernel

boot후 필요에 따라 load

4.5.3 /etc/System File

kernel configuration을 변화시키려고 할 때 boot시 사용된다.

4.6 Device Configuration and Naming

4.6.1 Setting SCSI Device Address

□ Target 3 : first internal disk

□ Target 0, 1, 2 : Disk

□ Target 4, 5 : tape

□ Target 6 : CD-ROM

4.6.2 Logical Device Name Directories in /dev

□ dsk : Block Interface to disk devices

□ rdsk : Raw or chracter interface to disk device

□ rmt : Tape devices

□ term : Serial line devices

□ cua : Dial-out modem

□ pts : Pseudo terminal

□ fbs : Frame buffers

4.6.3 /etc/path-to-inst

4.6.4 Device Configuring

device를 인식시켜 주는 기능들

# drvconfig

# disks

# tapes

4.7 새로운 Disk를 추가하기 위한 작업

□ 하드웨어 설정(Setting up the H/W) - 새로운 하드Disk일 경우 내장인지, 외장인지, primary인지,       secondary인지에 따라서 핀 설정(pin setting)이 달라진다. 그리고 구입한 회사에 따라 pin setting       은 다르기 때문에 구입 후 매뉴얼을 참고한다. Disk의 DIP switch를 조정한다.(SCSI id를 잘         setting하는 것이 중요하다. SCSI id 0, 1, 2, 3, ....)

□ 새로운 Disk를 인식하도록 설정(configuration) - SCSI방식의 Workstation은 새로 부착된 SCSI        disk의 종류를 System이 알아내는 기능을 대부분 가지고 있다.

# drvconfig

# disks

□ Disk의 파티션(Partitioning the disk) - Disk를 파티션한다. 파티션 테이블(partition table)의 크      기는 설치할 S/W의 특성에 잘 맞게 나누어야 하며 너무 크게하거나 너무 작게 파티션을 나누지 않      는다.

[www:/] =:# format

Searching for disks...done

AVAILABLE DISK SELECTIONS:

0. c0t1d0 <CONNER-CFP2105S2.14GB-1524 cyl 2993 alt 2 hd 10 sec 140>

/iommu@f,e0000000/sbus@f,e0001000/espdma@f,400000/esp@f,800000/sd@1,0

1. c0t3d0 <conner_1060s cyl 2036 alt 2 hd 14 sec 72>

/iommu@f,e0000000/sbus@f,e0001000/espdma@f,400000/esp@f,800000/sd@3,0

Specify disk (enter its number):

위의 예를 살펴보면 c0t1d0 disk가 내장형 secondary이며, c0t3d0가 내장형 primary disk임을 알수 있다. 여기에서 나타난 Disk를 참고하여 parition할 Disk를 선택한다. disk format menu는 다음과 같다.

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

quit

format>

Disk가 처음으로 붙을 경우는 label을 할것인가 물어 본다. (y로 대답) p(parition), p(print)를 연속으로 수행하면 다음과 같은 상태가 된다.

partition> p

Current partition table (original):

Total disk cylinders available: 2036 + 2 (reserved cylinders)

Part      Tag    Flag     Cylinders        Size            Blocks

0       root    wm       0 -  203      100.41MB    (204/0/0)   205632

1       swap    wu     204 -  508      150.12MB    (305/0/0)   307440

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     509 - 1220      350.44MB    (712/0/0)   717696

6        usr    wm    1221 - 2035      401.13MB    (815/0/0)   821520

7 unassigned    wm       0               0         (0/0/0)          0

partition>

이 때 partition할 영역을 선택한 후 전체의 합이 2번째 part가 되도록 한다.

□ partition후 정보를 Disk에 기록

format> label

□ Making File Systems on the partitions

# newfs /dev/rdsk/c0t0d0s0

□ Adding the FileSystem to /etc/vfstab File

[www:/] =:# cat /etc/vfstab

#device         device          mount           FS      fsck    mount   mount

#to mount       to fsck         point           type    pass    at boot options

#

#/dev/dsk/c1d0s2 /dev/rdsk/c1d0s2 /usr          ufs     1       yes     -

fd      -       /dev/fd fd      -       no      -

/proc   -       /proc   proc    -       no      -

/dev/dsk/c0t3d0s1       -       -       swap    -       no      -

/dev/dsk/c0t3d0s0       /dev/rdsk/c0t3d0s0      /       ufs     1       no	-

/dev/dsk/c0t3d0s6       /dev/rdsk/c0t3d0s6      /usr    ufs     1       no	-

/dev/dsk/c0t3d0s5       /dev/rdsk/c0t3d0s5      /opt    ufs     2       yes	-

/dev/dsk/c0t1d0s0       /dev/rdsk/c0t1d0s0      /home0  ufs     3       yes	-

/dev/dsk/c0t1d0s5       /dev/rdsk/c0t1d0s5      /home5  ufs     4       yes	-

/dev/dsk/c0t1d0s6       /dev/rdsk/c0t1d0s6      /home6  ufs     5       yes	-

/dev/dsk/c0t1d0s7       /dev/rdsk/c0t1d0s7      /home   ufs     6       yes	-

swap    -       /tmp    tmpfs   -       yes     -

[www:/] =:#

□ Disk가 제대로 부착되었는가의 확인은 /dev/dsk directory에서도 할 수 있다.

[www:/] =:# cd /dev/dsk

[www:/dev/dsk] =:# ls

./         c0t1d0s1@  c0t1d0s4@  c0t1d0s7@  c0t3d0s2@  c0t3d0s5@

../        c0t1d0s2@  c0t1d0s5@  c0t3d0s0@  c0t3d0s3@  c0t3d0s6@

c0t1d0s0@  c0t1d0s3@  c0t1d0s6@  c0t3d0s1@  c0t3d0s4@  c0t3d0s7@

[www:/dev/dsk] =:#

4.8 Mounting File Systems

4.8.1 File Systems

Solaris System의 File System은 다음과 같다.

□ ufs - unix File System의 약자. 가장 일반적인 File System

□ pcfs - PC File System. DOS용 File을 읽고 쓰기 위한 File System

□ hsfs

□ nfs - network File System. Network을 이용하여 사용하는 File System

4.8.2 Mounting and Unmounting File Systems

/etc/vfstab File에는 부팅시에 마운트하는 File System을 명시해 준다.

# mkdir /database

# mount /dev/dsk/c0t0d0s0 /database

# umount /dev/dsk/c0t0d0s0 (or /database)

□ umount시 busy error - 사용중인 processor나 user가 있음

# fuser /database

로 확인하여 사용중인 사용자가 누구인지 알아낸다.

□ local disk mount 시킬 때

[www:/] =:# mountall -l

checking ufs FileSystems

/dev/rdsk/c0t1d0s7: is stable.

/dev/rdsk/c0t3d0s5: is stable.

/dev/rdsk/c0t1d0s6: is stable.

/dev/rdsk/c0t1d0s5: is stable.

/dev/rdsk/c0t1d0s0: is stable.

mount: /tmp already mounted

[www:/] =:#

□ PC에서 사용하던 diskette 사용하고자 할 때 - pcfs라는 directory에 File로 access가 가능하다.

# mkdir /pcfs

# mount -F pcfs /dev/diskette /pcfs

4.8.3 Volume Manager : /usr/sbin/vold

/usr/sbin/vold - diskette이나 CD-ROM을 mount 시켜주는 daemon

Media	Locations	Commands
CD-ROM	/cdrom/cdrom0 /vol/dev/aliases/cdrom0	# eject cdrom	# /etc/init.d/volmgt stop
Diskette	/floppy/floppy0 /vol/dev/aliases/floppy0	# vlocheck # eject floppy	# /etc/init.d/volmgt start

4.9 Maintaining File Systems

4.9.1 Synchronizing Data

주메모리의 데이터와 Disk 상의 데이터를 일치시키는 명령으로 주로 System halt전에 이용

# sync

cf) shutdown, reboot, halt, init에선 자동으로 수행

4.9.2 Check File System Inconsistencies

2.1 Inconsistencies

□ Blocks claimed by one or more inode and free list

□ Blocks claimed by an inode or the free list outside the range of the File System

□ Incorrect link counts

□ Blocks not accounted for anywhere ....., etc.

2.2 fsck

File System 검사기능 bad sector, lost cluster, .....

# fsck

** /dev/rdsk/c0t3d0s0

** Currently Mounted on /

** Pahse 1 - Check Blocks and Sizes

** Pahse 2 - Check Pathnames

** Pahse 3 - Check Connectivity

** Pahse 4 - Check Reference Counts

UNREF File I=18894 OWNER=lp MODE=100664

SIZE=2141 MTIME=Aug 27 12:51 1997

CLEAR?

그 외의 사용

# umountall

# fsck /dev/rdsk/c0t0d0s4 (or /export/home)

# fsck -o f,p /export/home

File System fix

# fsck -F ufs /dev/rdsk/c0t3d0s3

□ 검사 : Blocks and Sizes, Pathnames, connectivity, Reference Counts, Cyl group

□ 수정 : Adjusting a Link Counter, Salvaging the Free List, Reconnecting an Allocated but

Unreferenced File

4.10 Backup and Recovery

backup도구는 주로 tape이나 DAT drive이다.(/dev/rmt/0,1, ....)

# ufsdump 0uf /dev/rmt/0 /export/home

□ backup level : 0 (full dump) 1-9 (incremental backup)

□ /etc/dumpdates

# ufsrestore xvf /dev/rmt/0

option : xvf, tvf, rvf, ivf

# mt -f /dev/rmt/0 rew

mt - magnetic tape의 동작제어

4.11 Software Package Administration Commands

4.11.1 package Commands

□ pkginfo - 현재 설치된 package의 list 및 관련정보

□ pkgrm - 설치된 package의 삭제

□ pkgchk - package가 이상없이 설치 되었는지의 여부 확인

□ /var/sadm/pkg directory 아래에 설치된 package 정보가 있다.

# pkginfo -d /cdrom/cdrom0/s0/Solaris_2.4 -l SUNWaudio

# pkgadd -a none -d /cdrom/cdrom0/s0/Solaris_2.4 SUNWaudio

# pkgchk SUNWaudio

# pkgrm SUNWaudio

□ -a none : default directory 이외의 영역에 install

□ -l : package list

□ -d : install directory 지정

4.11.2 Software Manager

# swmtool&

Solaris System에 설치된 Software의 상태를 보기 위하여 이용하는 GUI Software manager tool. - Add, Delete, Replace 등이 있다. System에 설치된 S/W 목록 및 기능을 알 수 있다.

cf) xman 의 기능도 잘 활용하면 많은 도움을 얻을 수 있다.

# xman&

4.12 그 외 유틸리티

4.12.1 Disk 사용 현황

System Manager는 수시로 Disk의 상태를 검시하여 Disk가 부족하지 않도록 조치를 취하여야 한다.

# df -k

# df -k /etc

# df -k /var | sort -nr | head -30

4.12.2 Disk 사용 제한

System에 계정을 가진 사용자의 Disk 용량을 제한하는 명령

# edquota dongupak

# quotaon -a

# quotacheck -a

4.12.3 File 찾기

지정된 File을 검색하는 기능, 검색후 삭제하는 기능도 있음

# find / -name "a*" -exec rm {}\;

# find / -name "core" -exec rm {}\;

# find / -size 512000 -ls

4.12.4 System File 다루기

□ /var/sadm/install/pkgs - 새로운 package 추가시 full 가능성 install directory를 다른 곳으로 link

□ /var/adm/wtmp - System boot history, login history를 가짐.

□ /var/adm/wtmpx - 계속해서 size는 커짐, 주기적인 clean up 필요.

# cp /dev/null /var/adm/wtmp

주기적인 cleanup은 File을 삭제하는 방식이 아닌 크기를 0으로 만드는 방식을 이용하는 것이 바람직하다.

□ /etc/default/login - console로만 root login을 허용할 것인지 아닌지 설정 login시 항상 수행

일반적으로 root의 telnet login을 OFF시킨다.

# PASSREQ determines if login requires a password.

#

PASSREQ=YES

PASSREQ가 YES로 setting되어 있을 경우는 password 가 없는 사람의 login이 허용되지 않는다.

(BBS의 경우 NO로 setting하는 것이 일반적이다)

4.12.5 사용자 계정 다루기

Solaris에서는 사용자의 계정을 생성하기 위하여 password File을 직접 건드리지 않도록 한다.

□ admintool을 이용한다.

□ useradd shell을 이용한다.

# useradd -u uid -g group -d /export/home/dongupak -m -s /bin/csh dongupak

# passwd dongupak

# passwd -d dongupak

# su dongupak

# su - dongupak

su - dongupak으로 login할 경우 사용자의 .cshrc File이 수행된다.

4.12.6 정기적인 작업 수행

□ boot시 cron daemon이 뜬다.

□ crontable : user별로 하나씩

min	hour	day	month	weekday	command

*	0

# setenv EDITOR vi

# crontab -e

# crontab -l

# crontab -r

4.12.7 host의 Ip address 변경

host의 ip address를 변경할 때는 다음의 파일을 수정한다.

□ /etc/hosts

□ /etc/hostname.le0

□ /etc/nodename

□ /etc/net/ticlts/hosts

□ /etc/net/ticots/hosts

□ /etc/net/ticotsord/hosts

수정 후 ifconfig -a를 수행

cf) System이 소속된 class 수정시 /etc/netmasks File를 수정한다.

4.12.8 System의 정보를 보기 위한 명령

System의 CPU, memory, OS등의 정보를 보기 위한 명령

# dmesg

Jan 18 07:35

cpu0: SUNW, UltraSPARC(upaid 0 impl 0x10 ver 0x22 clock 143MHz)

SunOS Release 5.5 Version Generic [UNIX(R) System V Release 4.0]

Copyright(c) 1983-1995, Sun Microsystems, Inc.

mem=65536K(0x4000000)

avail mem = 61759488

Ethernet address = 8:0:20:7a:29:19

root nexus = Sun Ultra 1 SBus (UltraSPARC 143MHz)

sbus0 at root : UPA 0x1f 0x0 ...

....

#

4.12.9 DNS setting을 위하여 수정하는 파일들

DNS(Domain Name Server)는 host의 domain name을 ip address로 mapping해 주는 server이다.

Solaris를 설치한 시점에는 DNS가 setting 되어 있지 않기 때문에 설치후에 다음의 절차에 따른다.

□ /etc/resolv.conf File을 만든다. 내용은 다음과 같다.

# cat /etc/resolv.conf

domain kuma.co.kr

nameserver 203.251.113.3

#

□ /etc/nsswitch.conf File에서 다음 hosts 부분을 수정한다. hosts에 File 다음에 dns를 추가

group :	files

hosts :	files dns

networks :	files

protocols :	files

□ network 환경을 다시 setting한다.

# ifconfig -a

4.13 Admintool의 활용

Solaris System 관리를 위하여 필요한 도구 중에서 admintool은 아주 유용한 관리도구이다. admintool은 사용자 계정 발급, 그룹 계정 발급, host File의 내용 update, 프린터 설정, 더미 터미널 설정(dummy terminal setting), Software 관리를 할 때 아주 유용한 GUI Tool이다.

제 Ⅱ 편

솔라리스 System 관리

제 5 장

Solaris 2.x Network 환경

5.1 소개

최근까지의 Computing 환경은 시간분할 비즈니스 System과 독립형 PC로 나눌 수 있다. 많은 회사들이 현 Networking 능력에 힘입어 Closed System에서 벗어나고 있는 반면에 Sun사는 open Network 환경에 늘 기여해 왔다.

이 장에서는 여러분은 Solaris 2.x Network 환경의 성능을 재확인할 것이고 Sun Workstation에 쉽게 설치될 수 있는 기본적인 구조에 대해 배우게 될 것이다.

5.2 Mainframe, Personal and Workstation Computing

5.2.1 시간 분할 MainFrame

이것은 공유 Resource들(CPU cycle, Disk Space, single point of failure를 차지하려고 하는)의 단점에 중앙집중화된 Backup들과 관리의 집중, 주변장치들의 공유등과 같은 공유자원들의 장점을 제공한다.

5.2.2 Personal Computer

싼 가격의 단일 사용자 System에 전용 Resource를 제공한다.

5.2.3 Network Workstation

centralized backups, one point of administration, 지역 CPU와 Memory 같은 사적인 Resource의 장점에 중앙집중화된 Backup들과 관리의 집중, 주변장치들의 공유등과 같은 공유자원들의 장점을 제공한다.

5.3 Network에 연결된(Networked) workstation 성능

5.3.1 remote access의 특징

□ remote login

□ remote file copy

□ remote printing

□ remote backup

□ mailling

5.3.2 구현

□ Ethernet(Hardware, Hardware address, low-level packet protocol)

□ TCP/IP(high-level packet, connection-protocol suite, software host name, software address)

5.3.3 File 공유 Network의 특징

□ 보통의 읽기 전용 File System은 single workstation의 공간만을 차지하기 위해 Network를 통해서      혹은 System 사이에서 공유될 수 있다.

□ 쓰기 가능한 File System은 특정한 접근 권리가 주어졌을 때 Network를 통해 공유될 수 있다.

□ HOME directory는 사용자들이 어떤 workstation에서 자신의 File에 접근하려고 할 때, Network를      통해서 유효해질수 있다.

□ workstation은 root와 swap partition을 위한 최소한의 Disk 공간을 가질 수 있고 실행 File과 Data      File들을 다른 System에서 가져올 수 있다.

□ 자신의 Disk가 없는 workstation도 Booting할 수 있고 Network를 통해 원거리 System으로부터 필      요한 모든 File System을 mount할 수 있고 공간을 교환할 수 있다.

□ workstation은 다른 release software, 혹은 다른 Kernel 구조를 가진 원거리 System에서 Booting       할 수 있다.

□ 공유된 File들은 지역적인 사용을 위해서는 실제적으로 복사되어지지 않으므로 어떤 지역적인 Disk      공간도 사용할 수 없다.

5.3.4 구현

□ Sun사의 분산 Computing File System은 File 공유를 구현한다.

□ Sun의 NIS+는 network community가 사용하는 정보들의 공유된 DataBase를 구현한다.

5.4 Network에 연결된 workstation을 위한 Client Server Model

□ Server는 network상에서 다른 Machine들에게 service를 제공하는 process이다. Server Process를       수행하는 Machine를 종종 Server라고 말한다.

□ Client는 Network상에서 다른 Machine들에 의해 유효하게 된 Service들을 사용하는 Process이다.       보통 Client Process를 수행하는 Machine를 Client라 부른다.

□ File Server는 Network상의 다른 Machine들과 자신의 Disk 공간과 File들을 공유하는 Machine이       다.

□ Disk가 없는 Client Server(Boot Server)는 Disk가 없는 Client Machine이 Boot하고 작동하기 위해      필요한 모든 File들과 swap space를 제공하는 File Server이다.

□ Data가 없는 Client Server는 Data가 없는 Client Machine이 작동하기 위해 필요한 모든 모든 File      을 제공한다.

□ NIS+ Server는 자신의 Client에게 NIS+ DataBase를 제공한다.

□ print Server는 Network상의 다른 Machine들이 자신의 지역 프린터를 이용할 수 있게 해준다.

□ Mail Server는 Machine Group의 mail을 받고 NFS File System을 통해 사용자들의 mailbox가 유      효하도록 해준다.

□ Suninstall Utility에서는 □Server□란 용어가 Disk가 없는 혹은 Data가 없는 Client의 Server라           고 말해진다. 원격제어 부팅은 Server에서 정의된 Client에 자동적으로 제공된다.

5.5 독립형 Workstation Configuration

Network에서 독립적으로 System이 존재하기 때문에 이 설치 환경은 독립형이라 한다.

5.5.1 기본적 Hardware

□ Monitor, Keyboard

□ CPU, Memory

□ 선택된 Software와 개별적 swap 요구사항에 충분한 Disk 공간

□ Backup 장치

□ CD-ROM

5.5.2 File System

□ /(root) File System은 Machine-specic File들과 System 동작을 위해 중요한 Directory 포함

□ /usr는 System Software를 지원하기 위해 필요한 Library와 binaries, executable 포함

□ /export/home Directory 혹은 File System은 사용자의 HOME Directory를 포함

□ /opt는 unbundled, third-party software를 저장하기 위해 사용

5.6 Disk가 없는 Client Workstation Configuration

Disk가 없는 Client Workstation은 비록 지역 Disk를 가진 Workstation이 Disk가 없는 것처럼 Boot하기 위해 구성될 수도 있지만, 기본적으로 지역 Disk가 필요없다. 그것은 Disk가 없는 Client가 자신의 Server에서 시작하는 환경과는 다른 설치 환경이다. Disk가 없는 workstation은 Memory에 있는 자신의 OS kernel을 수행하고 자신의 명령 전부를 수행시키고 Boot하는 점에서 독립형과 다르고 Network를 통해 Disk 접근을 한다.

5.6.1 기본적 Hardware

□ Monitor, Keyboard

□ CPU, Memory

□ Ethernet hardware

5.6.2 File System

Disk가 없는 System은 Network를 통해 원거리 System으로부터 그들의 swap 공간과 /(root), /usr, /home, /opt File System을 가져온다. Data가 없는 Client Workstation 설치 환경은 한정된 지역 Disk 리소스들과 /usr와 요구된 다른 File System을 공유하기 위해서 원거리 System setup을 요구한다. local swap 지역과 root File System은 Disk가 없는 system보다 더 빠른 수행을 한다. 이것은 작업의 대부분이 지역적으로 행해지기 때문이다. 그래서 Server와 Network의 낭비가 적어 진다.

5.6.3 기본적 Hardware

□ Monitor, Keyboard

□ CPU, Memory

□ 개별 root와 swap 요구들을 위한 충분한 Disk 공간

□ Ethernet hardware

5.6.4 File System

Disk가 없는 System은 swap과 /(root) File System을 위해 자신의 local disk를 사용한다.

그들은 Network를 통해 다른 System에서 /usr, /home, /opt File System을 가져온다.

5.7 Disk가 없는 Client Server configuration

Disk가 없는 Client Server 설치 configuration은 Disk가 없는 Client를 제공하기 위해 디자인된 Server라고 말해진다.

5.7.1 기본적 Hardware

□ Monitor, Keyboard

□ CPU, Memory

□ 선택된 Software와 System의 개별적인 swap 요구조건들과 지원될 수 있는 Disk가 없는 Client         의 root와 swap 요구들을 위한 충분한 Disk 공간

□ Ethernet hardware

□ Backup장치

□ CD-ROM

5.7.2 File System

□ /(root), /usr

□ /export/home

□ /opt

□ /export는 Server가 유효하게 만들어주고 다음 사항을 포함하고 있다.

- 각각의 Disk가 없는 Client를 위한 root Directory

- Client가 요구하는 Kernel구조 binaries(kvm)에 대한 적절한 Pointer

□ /export/swap 는 각 Disk가 없는 Client를 위해 나뉜 swap File을 포함한다.

Data가 없는 Client Server 환경은 독립형으로 설치된다.

한가지 요구사항은 Client에 의해 mount될 수 있도록 NFS를 통해 /usr, /opt, /export/home File System이 공유되어야 한다. Server의 이런 형태를 위한 특별한 설치 환경 설정 option은 없다.

5.7.3 기본적 Hardware

□ Monitor, Keyboard

□ CPU, Memory

□ 선택된 Software와 System의 개별적인 swap 요구조건들과 지원될 수 있는 Disk가 없는 Client      의 root와 swap 요구들을 위한 충분한 Disk 공간

□ Backup장치

□ CD-ROM

5.7.4 File System

□ /(root) machine-specic File들과 System 동작에 중요한 Directory를 포함한다.

□ /usr는 요구된 binaries, executables, System Software를 제공하기 위해 필요한 Library를 포함      한다.

□ /export/home 은 사용자의 홈 Directory 포함한다.

□ /opt는 unbundled, third-party Software 저장을 위해 사용된다.

5.8 요약

이장에서 여러분은 다음을 배웠다.

□ Network에 연결된 workstation은 remote access와 remote File 능력을 제공한다.

□ Sun networks에는 여러종류의 Client-Server 상호작용이 있고 모든 Machine는 Client, Server 혹      은 둘다 될 수 있다.

□ Solaris 2.x Network 환경은 다섯 개의 System 구조를 가진다. 각각은 자신의 Hardware, Software      요구조건을 가진다.

- 독립형 : Network와 독립적으로 존재할 수 있다. Network를 통해 File을 공유하고 사용한다.

- Disk가 없는 Client : Network를 통해 모든 Disk 리소스를 가져온다.

- Data가 없는 Client : 단지 루트와 swap local을 가지고 Network를 통해 다른 리소스를                 가져온다.

- Disk가 없는 Client-Server : Disk가 없는 Client에게 Disk 리소스를 제공한다.

- Data가 없는 Client-Server : Data가 없는 Client에게 Disk 리소스를 제공한다.

제 6 장

Server 설치하기

6.1 소개

설치과정은 실제로 세 부분이다. System 환경설정, System 설치 후 작업이다. 설치 후 작업은 사용자 등록, Client 정보 추가 같은 것이다. 이 작업들은 이 장에서 걸쳐서 다루어 질 것이다.

6.2 Solaris 2.x가 지원하는 환경

Solaris 2.x는 다음과 같은 환경을 지원한다.

□ Network를 지원하는 독립형

□ Network를 지원하지 않는 독립형

□ Data 필요없는 Client

□ Disk 필요없는 Client

□ Server

□ Kernel 구조가 동일한 Solaris 2.x release가 작동되는 동종(homogeneous)Server

□ Kernel 구조가 다른 Solaris 2.x release가 작동되는 이종(heterogeneous)Server (SunOS 4.1.1 이상)

6.3 Hardware 요구사항

6.3.1 지원되는 Hardware

□ Sun4/nnn 시리즈 : (Sun 4 architecture) 4100, 4200, 4300, 4400

□ SPARCstationTM 시리즈 : (Sun 4c architecture) SS!, 1+, 2, SLC, ELC, IPC, IPX

□ SPARCserverTM 시리즈 : (Sun 4m architecture) 600MP, SS5, SS10, SS20, classic, 1x,

VoyagerTM

□ SPARCserver 시리즈 : (Sun 4d architecture) 100MP, 2000MP

□ SPARCengine 시리즈 : (Sun 4f architecture) SPARCenginele

□ UltraSPARC 시리즈 : (Sun 4u architecture) 1, 2, Enterprise 1/2/150/3000/4000/5000/6000/10000

6.3.2 Memory 요구사항

설치를 위해 16MB Memory가 필요하다.

6.3.3 배포 매체

Solaris 2.x release는 CD-ROM으로만 배포되고 local or remote CD-ROM Driver에서 설치 할 수 있다.

6.3.4 지원되는 Disk Type

SCSI, IPI, SMD Driver

6.3.5 Disk 요구사항

최종 사용지원 환경은 최소한 180MB가 필요하다. 개발자 환경은 270MB가 필요하다.

6.3.6 최소 하드웨어 환경

□ Sun-4 응용구조

□ 16MB Memory

□ 흑백 모니터 또는 ASCII Terminal

□ 400MB Disk 용량

□ CD-ROM Driver (local ro remote)

6.4 Software 용어

여러 용어가 설치중, 설치 후를 기술하기 위해 사용된다.

6.4.1 Software Package

Software Package는 온라인 매뉴얼과 같은 Software 응용프로그램을 기술하는 File이나 Directory를 모아둔 것이다. Solaris 2.x release는 대략 360M에 해당하는 152개의 Software Package를 포함하고 있다.

. Software Package를 만드는 것은 Package화된 또는 Package화 되지 않은 Software를 전달하는 표준방법이다. Package는 Package 관리 명령(administration commands)을 사용하여 관리할 수 있다. 또한 SUNxxx naming convention에 의해서도 일반적으로 확인할 수 있다.

6.4.2 Software Clusters

설치동안 Software Package는 Software Package의 논리적인 집합인 Software cluster로 모아져 있다. 예를 보면, System과 Network 관리 cluster는 다음과 같은 Package를 포함하고 있다.

□ System과 Network 관리 응용프로그램

□ System과 Network 관리 프레임워크(framework)

□ System과 Network 관리 root

. 어떤 cluster들은 한 개의 Package를 포함한다. 예를 들면, 온라인 매뉴얼 cluster은 온라인 매뉴얼 페이지, 즉 하나의 Package를 포함한다.

설치동안 사용된 cluster 이름은 System과 Network 관리와 같은 Sun 환경에서 논리적인 이름을 참조한다. 그리고 SUNN prefix를 사용하지는 않는다.

6.4.3 Software 환경설정 Group

Sun 설치 유틸리티는 Software 설치를 쉽게 하기 위해 Software Package와 cluster를 네 개의 환경조정 Group으로 나눈다.

Core

Core Group은 부팅에 필요한 Software와 Server가 아닌 독립형System 환경구성에 사용되는 Solaris 2.x 환경을 작동시키는 것들을 포함하고 있다. 이것은 Network Software와 OpenWindows 환경을 지원하기 위한 Driver를 포함하고 있다. 그러나 OpenWindows Software와 매뉴얼은 포함하고 있지 않다.

End User

End User Group은 Solaris 2.x을 작동시키기 위한 사용자에게 필요한 Software가 포함되어 있다. 이것은 OpenWindows 3.x Software를 포함한다. 그러나 매뉴얼은 포함하지 않는다.

Developer

Developer Group은 Solaris 2.x에서 Software를 개발하기 위해 필요한 Software를 포함한다. 이것은 컴File러 도구, OpenWindows 환경, 매뉴얼을 포함한다. 그러나 컴파일러, 디버거는 포함하지 않는다.

Entire Distribution

Entire Distribution Group은 Solaris 2.x release 모두 포함한다.

주의 : 일단 Software 환경설정 Cluster가 선택되면, Software Package나 cluster들을 추가하거나 삭제함으로서 사용자 요구에 맞게 환경설정을 할 수 있다.

6.4.4 환경설정 Group 크기

독립형 System에서 설치를 위한 각각의 환경설정 Group의 크기는 아래와 같다.

Configuration Cluster	Size
Entire Distribution	352M
Developer System Support	263
End User System Support	170M
Core System Support	69M

6.4.5 요약

네 개의 환경설정 Group은 선택된 Software Package를 이용해서 만든 Software cluster를 포함한다. 그림은 환경설정 cluster과 Software cluster과 Software Package의 차이를 보여준다.

일단 System이 설치되면, Software Package는 각각의 Package 관리 이름(SUNWxxx)에 의해 참조된다. 예를 들면, Package 관리 명령을 가지고 사용된 OpenWindows Software Package 이름은 다음과 같다.

SUNWxacx	SUNWoldcv

SUNWoladd	SUNWolimt

SUNWoldte	SUNWolinc

SUNWoldim	SUNWolsrc

SUNWoldem	SUNWolslb

SUNWoldst

Package 관련 명령은 Software 설치 cluster 이름을 인식하지 못한다.

6.5 Disk partition과 Software 요구사항

6.5.1 Server Disk Partition Guidelines

아래의 partition 크기는 최소 크기이다.

File System	End User	Developer	Entire
/root	14M	18M	18M
swap	0M	0M	0M
/usr	95M	172M	192M
/opt	8M	8M	8M
/export	18M	18M	18M
/export	28M	28M	28M

가. /root File System은 /var Directory를 포함한다. /var는 설치자 요구에 따라(예를 들면, 프린터 스풀      러, mail, name 서비스 정보) 크기를 추가할 수 있다.

나. 설치시에 Default swap 크기는 대략 System의 Memory 두배이다.

6.5.2 Solaris 2.x Disk가 없는 Client 지원

File System	First Client	Additional Space Requirements
/export	20M	10M per additional client
/export/swap	As required	As required

6.6 설치 과정

설치 과정은 세가지 단계가 있다.

□ System 환경설정 정보는 새로운 System 환경설정을 하기 위해서 사용되는 sysidtool에 의해 요청      된다.

□ SunInstall utillity는 Solaris 2.x 독립형, dataless, Server System 설치를 메뉴 방식으로 하여 쓰기      쉽다.

□ System은 Server로서, 독립형, dataless Client System으로 설치될 수 있다.

□ Upgrade 옵션은 repartition을 할 필요가 없는 Disk를 가진 Solaris 2.x 이전 것을 Upgrade             할 때에 사용된다. 추가된 제한사항은 Upgrade가 필요한 환경설정 cluster와 사용가능한 Disk          용량을 포함한다.

□ 관리 Tool은 설치후의 작업(Server에 의해 지원되어지는 Disk가 없는 Client 정의)을 수행하기          위해 GUI로 되어 있다.

다음과 같은 과정을 거친다.

□ 설치할 System이 SunOS release 이전 것이면, 이전 환경설정 정보와 Data들을 미리 저장을 해둔       다.

□ Solaris 2.x 설치 CD-ROM으로 부팅한다.

□ System 식별자를 확인하여 넣는다.

□ System 설치정보를 가지고 SunInstall을 한다.

□ 독립형, Server, Dataless Client 설치옵션을 선택한다.

□ Server를 설치하면, Disk가 없는 Client 수와 지원되는 Client architecture를 확인한다.

□ 설치할 Software를 선택한다.

□ 선택된 Software를 지원하는 Disk 환경 설정을 한다.(Server를 설치한다면 Client 정보 설정과 같은      것)

□ 설치를 시작한다.

주의 : 설치하기 전에 기존의 System 환경설정 File들과 Data들을 따로 저장을 해둔다.

6.7 설치 후 정보

설치후에 다음과 같은 정보를 알아내야 한다.

□ 호스트 이름

□ IP Address

□ Name Server Host Name

□ Name Server IP Address

□ Subnetwork mask, 가능하다면

□ Geographic region

□ 시간 설정

□ 설치 형태

□ 독립형 System

□ Server

□ Dataless Client

□ Disk가 없는 Client 수와 Client architecture(만일 Server를 설치했다면)

6.8 설치전의 정보

6.8.1 Software Group

□ 전체 배포판과 부가적으로 OEM 지원

□ 전체 배포판

□ core

□ 개발자

□ 사용자

6.8.2 어느 disk에 설치 할 것인지 disk를 사용자 정의로 분할  것인지를 결정

6.8.3 부가적으로 어떤 원격지 File System을 부팅시 Mount할 것인지

6.8.4 설치 후 과정

6.9 Sun System Server 설치

6.9.1 Booting the Release Media

아래 테이블은 Solaris 2.x CD-ROM의 부팅 명령어를 나타낸다.

System Type	Boot Sequence(old mode)	Boot Sequence(new mode)
Sun4/nnn PROM Rev. 1.x SPARCengine 1E PROM Rev. 2.x	>b sd(0,30,1) >b sd(0,6,2) >b sd(0,6,5) >b cdrom	N/A ok boot sd(0,6,2) ok boot sd(0,6,5) ok boot cdrom

6.9.2 Local CD-ROM으로부터 부팅

□ Solaris 2.x CD를 CD caddy에 넣고 CD-ROM player 안에 caddy를 넣는다.

□ superuser로써 machine을 중단시킨다.

# halt

□ 이전 page에 대략적인 부팅 명령어를 사용하라

ok boot device_name

일단 System이 성공적으로 부팅이 되면 자동적으로 그 System에 대한 정보가 나타난다.

6.9.3 터미널 타입 결정

당신이 사용하는 터미널 타입 결정을 기입하고 return를 누르시오. 만약에 당신이 Sun console에서 설치하고 있으면 이 화면은 보이지 않을 것이다.

6.9.4 openwindows 설치 환경

openwindows 설치 환경을 시작할 때 푸른 색의 배경화면과 화면 상단에는 검은 색의 Console Windows가 보여질 것이다. 화면의 중앙에는 몇 개의 회색의 dialog box가 나타날 것이다. 이 화면 구성은 나머지 software를 설치하는 동안 계속 나타난다. 본문을 읽기 쉽게 하기 위해서 다음 페이지부터는 설치의 선택과 등록을 나타내는 중앙의 dialog box만을 보여 줄 것이다.

6.9.5 호스트 이름 기입

호스트 이름은 반드시 소문자로 시작하여야 하고 숫자와 -(hyphen)를 사용할 수 있다. 만약에 설치하려는 부분에 대하여 정보가 더 필요하면 Help를 누르시오. Help는 다음의 설정 Windows를 보여준다. 호스트 이름을 기입하고 Continue를 click하거나 Return를 누르시오.

6.9.6 Network 설정

System이 Network와 연결되어 있다는 것을 확인하면 Yes를 Click하거나 Return를 누르시오.

6.9.7 인터넷 주소 확인

IP를 기입하고 Return를 누르시오.

6.9.8 Network 설정의 확인

보여진 정보가 정확한지를 확인하시오. 만약에 오류가 있다면 Change를 Click. 그러면 설치 Program은 각각 이전의 선택 메뉴로 가서 필요한 곳의 값을 바꿀 수 있다. 만약 정보가 정확하다면 Continue를 Click하시오. 다음으로 가시전까지 시간이 걸린다. System Status라는 이름을 가진 작은 Windows가 Just moment...라는 글을 중앙에 가지고 전체 화면의 중앙에 나타난다. 화면 상단에 있는 Console Window는 네트워킹 서비스가 시작되었다는 message를 보여준다.

6.9.9 Name Service 확인

당신이 사용할 name service의 타입을 선택하시오. NIS+, NIS, Other(like DNS), or None 중에서 선택하시오. 만약 NIS+, NIS, Other를 선택한다면 domain name과 domain-server의 정보를 요구하는 다음의 Windows가 나타날 것이다.

6.9.10 subnetworks의 설정

Subnets 화면은 당신의 Network가 subnetworks를 사용할지를 물을 것이다. subnetwork는 사용하는 System Group을 정의하는 큰 Network의 한 부분이다. subnets Windows에서 NO를 선택하라. 만약에 Yes를 선택하면, netmask를 위한 Windows가 보여질 것이다.

6.9.11 netmask 설정

netmask Windows는 당신이 subnet Windows에서 Yes를 선택하였을 때 나타난다. Netmask Field를 선택하고 사용되어질 subnetmask를 기입하라. 이 Field는 기본값으로 255.255.255.0을 보여준다.

6.9.12 Network 정보의 확인

지금까지 기입했던 정보가 정확한지 확인하고 Continue를 Click하라 다음 설정 Windows가 나타나기까지 조금의 시간이 필요하다. 만약 NIS나 NIS+를 namming service를 선택하였다면 화면의 상단에 있는 Console window에 name service가 시작되었다는 Message가 나타날 것이다.

6.10 System 확인

6.10.1 Time Zone

Time Zone을 설정하는 방법에는

□ Geographic region

□ Offset from GMT

□ Time Zone File

의 3가지가 존재한다. 원하는 방법을 선택하고 Set을 Click하라.

6.10.2 Geographic region

time zone region을 선택 그리고 region내의 time zone을 선택한다.

6.10.3 날짜와 시간

초기값을 혹은 새로운 값을 기입하시오.

6.10.4 정보확인

정보를 확인하고 Change나 Continue를 Click. 만약에 Change를 선택하면 Time Zone Window가 보여질 것이다. 다음 설정 Windows가 나타나기까지 조금의 시간이 필요하다. Console Window에는 identification is completed라는 Message가 나타날 것이다.

6.11 Solaris Software 설치

6.11.1 초기화

부가적인 설치의 일반적인 정보를 읽은 후에 Continue를 Click. 만약 Exit를 선택한다면, 설치 프로그램은 끝나고, console window에는 Borne shell prompt가 나타나고 설정 Windows는 사라진다. 다시 Solaris Software를 설치하기 위해서는 console window에서 설치 tool을 호출하여야 한다.

6.11.2 Upgrade

Host에 이전의 Software가 설치되어 있었다면 설치 프로그램은 Upgrade 할 것인가를 물어 볼 것이다. 만약 초기 설치를 선택한다면 그 Windows는 사라질 것이다. Upgrade는 가능한한 System의 보존을 위해 국부적인 수정만을 할 것이다. 이 프로그램은 /etc/vfstab File에 있는 모든 Mount 가능한 File System과 mount를 시작할 것이다. 만약 mount가 실패하면 Upgrade는 실패하고 끝난 것이다.

Note-Upgrade 동안은 System 타입이나 Disk, File System을 바꾸지 못한다.

Upgrade를 선택하게되면 다음부터 논의되는 초기 설치 Window에 대해서는 넘어가게 된다.

6.11.3 System 타입

다음 중에서 타입을 선택하시오.

□ 독립형

□ Server

□ Dataless client

Server를 선택하면 Disk가 없는 client 지원에 대한 정보를 요구하는 Windows가 보여질 것이다. 만약 Dataless Client를 선택하면, Dataless Client Windows가 보여질 것이다.

6.11.4 Disk가 없는 Clients

이 메뉴는 Disk가 없는 Clients의 번호와 각각의 지원될 architectures Server를 선택하기 위해 사용된다. 마우스를 이용하여 대략적인 Client의 architecture를 선택. 선택한 것을 확인한 후 Continue를 Click.

6.11.5 Sofrware

System에 설치할 Software Group을 click하고 Continue를 Click. Solaris는 5개의 Software Group를 가지고 있다. Core, End User, Entire Distribution, Entire Distribution plus OEM지원, 한 번에 한 개의 Group을 선택할 수 있다.

6.11.6 Customize(사용자 요구) Software

Customize Software Window 좌측의 스크롤 Windows는 Package가가 선택, 부분선택, 선택되자 않았음을 나타낸다. 또한 필요로한 Package와 소요되거나 충돌될 Cluster를 나타낸다. Windows의 상단 오른쪽에는 Software의 위치와 Disk 용량이 표시된다. 하단의 오른쪽에는 풀리지 않은 software간의 의존성이 나타난다. 예로 만약 User AnswerBook package를 선택하였다면 이 Windows는 X Windows optional fonts를 선택하여야 한다는 것을 알려 줄 것이다. 다른 부가적으로 바라는 software를 선택하고 OK를 Click 이전의 Software Group 선택 Windows가 나타난다. Continue는 계속 진행해나가고 Go Back는 이전의 설정 Windows로 간다.

6.11.7 Disks

이 Windows 좌측의 스크롤 List는 부트 시간에 발견되는 System의 Disk Drive를 나타낸다. 이 Windows 우측의 스크롤 List는 선택된 Disk를 나타낸다. 가능한 Disk List에서 하나를 선택하여 Add Button을 Click한다. 그러면 선택된 Disk는 좌측 List에서 우측 List로 이동하게 된다.

6.11.8 Preserve Data?

preserve data? Window는 preserve button을 Click 함으로써 Disk에 존재하는 Data를 보존할 수 있다. 다른 Preserve data Window는 보존을 원하는 영역을 선택할 수 있도록 한다. 만약 /, /usr, /var를 보존하고자 한다면 이와 같은 Directory는 설치 과정 중 같은 이름의 새로운 내용을 만들어 내기 때문에 일단 다른 이름으로 바꾸어야 한다. /export/home 혹은 다른 Disk 부분은 Solaris Computing 환경의 부분이 아니므로 보존이 가능하다.

6.11.9 Preserve Data

보존을 원하는 Disk Data의 Partition을 결정한다. 원한다면 스크롤를 해가면서 원하는 부분을 선택하고 바꿀수 있다.

6.11.10 Automatically Layout File System(자동 배치 File System)?

이 Windows에서는 직접 혹은 자동 배치를 선택할 수 있다. 직접 배치는 각 Disk Partition의 크기를 결정할 수 있다. 자동 배치는 각 Disk Partition의 크기를 자동으로 설정한다. 자동 배치의 잇점은 선택된 Disk에 대한 설치 영역 기본 설정값을 볼수 있다는 것이며, 다른 잇점은 수행 후 영역의 작은 부분의 크기를 재 조정할 수 있다는 것이다. 직접 배치를 선택하고 작업이 완료되지 않았다면 Back Button을 선택함으로써 이 Windows로 이동하여 다시 자동배치를 선택할 수 있다.

6.11.11 Automatically LayOut File System

자동으로 배치될 File System을 선택하라. /, /swap, /usr, /opt, /usr/openwin, /var는 독립형 System에서 선택할 수 있다. Server 설치에는 독립형에 /export, /export/root, /export/swap, /export/exec가 추가되어 선택되어 질 수 있다.

6.11.12 File System과 Disk Layout

이 Windows에는 이전 Windows로부터 선택된 각 Partition에 대한 기본 설정 크기가 스크롤 Windows에 나타난다. 이 기본 크기를 수정하기 위해서는 Customize Button을 Click하면 사용자가 Disk Partition 크기를 결정할 수 있는 Windows가 나타난다. Partition 크기가 적절하게 설정되면 Continue를 Click 한다.

6.11.13 Customize Disks

개인의 특별한 요구에 맞게 각각의 파티션 크기를 조절한다. 끝나면 OK 버튼을 Click한다. 이전 윈도우(파일 System and Disk Layout)이 보여진다. Cancel를 Click하는 것은 이전에 보여진 설정 윈도우에서 보여진 파티션 크기를 바꾸는 원인이 된다.

6.11.14 Mount Remote File System?

NFS File System을 설정하려고 한다면 Remote Mounts Button을 Click하거나 계속 진행하려고 한다면 Continue를 Click 하시오.

6.11.15 Mount Remote File System

이 윈도우에 NFS mount에 필요한 정보를 넣으시오. 즉 Server이름, IP 주소 등등. 이 값들이 정확한지 확인하기 위해 설치하기 전에 mount를 Test 할 수 있다.

6.11.16 Profile

Profile Window는 CD-ROM으로부터 새로운 Solaris OS를 만들기 위한 설치 프로그램이 시작되기 전에 수행하는 마지막 설정 윈도우이다.

6.11.17 Reboot?

Solaris software가 설치 된 후 자동으로 reboot할 지를 선택할 수 있는 이름없고 작은 윈도우가 보여진다.

6.11.18 Progress

이 진행 위도우는 설치되는 진행을 변화되는 눈금으로 보여준다. 스크린 상단에는 console window에 Message가 보내진다. 설치가 끝나면 자동적으로 System은 리부트되고 root password를 묻는다.

6.11.19 Root Password

새로 설치한 System에 root password를 기입하시오. 한 번 더 password를 넣으시오. 설치가 끝나고 나서 System은 준비가 되고 login prompt를 보여진다. 설치한 결과는 /var/sadm/installdata/install_log에서 발견할 수 있다.

6.12 설치 후 파일 조사

/var/sadm 디렉토리는 이전 설치에 대한 종합적인 정보를 가진 부디렉토리를 가진다.

□ /var/sadm/install에는 System에 깔린 모든 객체에 대한 리스트인 목차파일이 포함된다.

□ /var/sadm/install_data에는 System 설치시에 사용되어진 Software 설정 클러스터와 동일한

Cluster File이 존재한다. 또한 설치 과정을 기록한 install_log File을 포함한다.

□ /var/sadm/pkg에는 System에 설치된 모든 패키지에 대한 상세한 정보를 포함하고 있는 부디렉토리     를 가진다.

□ /var/sadm/softinfo에는 Solaris Version 수를 가진 INST_RELEASE File을 가진다.

6.13 요약

이 장에서는 다음과 같은 것을 설명했다.

□ Solaris 2.x가 지원하는 4개의 설정 : 네트워크에 연결되어 있는 독립형, dataless client, Disk가       없는 Client, server

□ Solaris 2.x Software를 설치하는데 요구되는 하드웨어 사양.

□ suninstall을 위해 있는 System을 어떻게 준비할 것인가.

□ suninstall을 사용하여 Solaris 2.x software를 어떻게 준비할 것인가.

□ Solaris 2.x software 설치를 위한 Disk 파티션 요구.

□ Server 설치를 성공적으로 수행하기 위한 일련의 과정

□ Solaris 2.x Software 설치를 완료후에 root password를 설정.

6.14 Lab : Server의 설치

이 실습의 목적은 Server를 설치하는 것이다.

□ 지시자의 도움을 받아 pre-installation form을 완성하시오.

□ Solaris 2.x release CD-ROM으로 부트하시오.

□ 다음 정보에 따라서 System 정보를 열거하시오.

- 여러분의 System은 네트워크와 연결되어있다.

- 여러분의 System은 name service의 클라이언트가 아니다.

- 여러분의 System의 네트워크는 지시자에 의해 명시되었을 때 subnetwork를 사용할 것이다.

- 여러분의 지리적 위치, 날짜, 시간을 training site에 맞춘다.

□ 다음의 정보에 따른 suninstall 질문들에 대해 답하시오.

- Server 설치를 선택하시오.

- Disk가 없는 clients 의 수와 지시자에 의해 지적된 client 구조를 상세화하시오.(전형적으로 하        나의 Disk가 없는 client를 위한 지원이 적절하다.)

- 전 분산 클러스터를 설치하시오.

- 설치 후에 재부트에 클릭하지 마시오. 지시자는 Solaris 2.x software의 성공적인 설치에 따르는 패치를 CD-ROM으로부터 설치하기 위한 방향을 제시할 것이다.

□ 프롬프트되었을 때, 지시자가 지시하는 root 패스워드를 치시오.

제 7 장

부트 프로세스

7.1 소개

이 모듈은 Solaris 2.x 부트 절차의 개념과 용어의 사용에 대해서 기술한다. 부트가 성공적으로 이루어지지 않은 시스템의 수리원의 역할과 시스템 관리자로 있는 동안의 부트 프로세스 단계의 기본 기술은 동일하다.

Sun workstation에서의 halt와 boot 명령의 사용은 이 모듈의 후반부에 기술한다.

7.2 부트방법

□ 부트 PROM

각각의 Sun System은 커널을 load하기 전에 작동을 제어하는 모니터 프로그램을 PROM               (Programmable Read-Only Memory)이 가지고 있다. 부트 PROM은 시스템에 소속 되어있는 접근      디바이스와 동일성을 허락하는 디바이스 드라이버를 내장하고 있다.

□ 부트블럭

시스템의 주 부트프로그램(bootblock)은 bootstrap 과정에서 사용된다. bootstrap 과정은 부트프로그      램이 secondary 부트프로그램을 메모리 속으로 load 하기 위해서 사용되는 때이다. 그래서 운영체제      는 □자신의 bootstrap에 의해서 스스로를 나타나게 할 수 있다.□ bootblock은 물리적 섹터 1-15번       부트 디바이스의 첫 번째 파티션에 위치한다.

새로운 루트 파티션 생성에 bootblock 설치를 위해서 installboot 명령어를 사용한다.(이 절차는 다른      모듈을 포함한다.)

□ 실행 레벨

실행 레벨은 시스템 서비스(또는 프로세스)의 특별한 집합이 포함하고 있는 시스템 소프트웨어 환      경이다.

□ 실행제어 스크립트

Solaris 2.x 시스템은 파일 시스템의 체크와 mount를 제어하는 실행제어 스크립터(rc)의 종류를 제      공한다. 즉 프린터 daemon과 같은 실행 또는 정지 프로세스, NFS 클라이언트-서버 daemon, 그리      고 sendmail daemon, 그리고 task의 제어를 수행한다.

□ 적재가능한 커널 모듈

Solaris 2.x 계산 환경은 조그만 정적 코어(kernel)과 동적 적재가능한 모듈의 집합의 구성으로 이루      어진다. 프로그램이 실행하게 되면 커널속으로 프로그램들이 적재되어 질 것이다. 적재가능한 커널      모듈은 디바이스, 파일 시스템, 그리고 시스템 call을 포함한다.

7.3 시스템 부트 절차

7.3.1 부트 PROM 단계

부트 PROM 수행은 부트 순서의 첫 부분에 다음의 단계로 수행되어 진다.

1. 시스템 장치의 인식 명세를 출력한다.

모델 타입, 키보드 타입, PROM revision 번호, 장착된 RAM의 양, PROM 시리얼 번호, Ethernet        address, 그리고 호스트 ID를 출력한다.

2. 자가 진단 실행

부트 PROM은 하드웨어와 메모리의 이상유무로 자가 진단을 수행한다. 자가진단의 성공적인 수행      은 부트 순서를 계속 진행하게 한다.

3. PROM 속에 지정되어 있는 default 부트 디바이스로부터 부트 프로그램을 찾는다. 부트 PROM          bootblk(섹터 1-15에 위치)라고 부르는 시스템의 시스템의 주된 부트 프로그램을 읽는다. 그것은        ufs 파일 시스템 reader를 한다. 부트 PROM은 대체 부트 디바이스의 시도로 프로그램 되어질 수       있다.(이것의 이 모듈의 후반에 있다.)

4. 부트 프로그램 적재

파일 시스템의 reader는 부트 디바이스를 오픈시켜서 /ufsboot 라 불리우는 secondary 부트 프로그      램을 찾고 그리고 그것을 메모리로 load한다.

7.3.2 부트 프로그램 단계

이점에서 /ufsboot 프로그램을 살펴본다.

1. /ufsboot 프로그램이 load된 후에 부트 프로그램은 kernel(/kernel/unix)을 load 한다.

7.3.3 커널 초기화 단계

1. 커널은 /ufsboot 부트 프로그램 loading module을 사용하여 커널이 자체적으로 초기화가 되는 즉시 파일을 load한다.

커널이 필요한 양 만큼의 루프 파티션을 모듈로 read할 때, 자신의 자원을 사용하여 계속적인 시스템 초기화와 메모리로부터 /ufsboot 프로그램을 unmaps한다.

7.3.4 /sbin/init 단계

1. 커널은 사용자 프로세스와 시작 /sbin/inti program을 생성한다. /sbin/init program은 /etc/inittab 파일의 정보를 이용하여 프로세스를 시작한다.

초기 프로세스는 rc 스크립트를 실행한다. 또는 스크립트, 다른 스크립트의 종류를 실행한다. 스크립트들은 파일 시스템 그리고 파일 시스템의 양, 다양한 종류의 프로세스 시작, 그리고 저체 제어수행의 task를 검사한다.

7.4 시스템 실행 레벨

일반적으로 시스템은 부팅이 성공적으로 끝난 후에 실행레벨 3(full multiuser state)으로 간다. Solaris 2.x 환경은 시스템 작동의 여러모드의 결정에 따라 여러단계의 실행모드를 제공한다.

Run Levels	Function
0 hline 1 hline 2 hline 3 hline 4 hline 5 hline 6 hline S hline a, b, c	PROM monitor level Administrative state (single-user state) Multiuser level (with no resources shared) Multiuser level (with resoruces shared) Not currently used Halt Reboot to default run level 3 Single-user state Optional and configurable run level

단일 사용자의 상태는 가상 콘솔

터미널을 의미하는데 시스템 콘솔	과 수퍼유저가 사용가능하고 이에	할당되어 진다. root 패스워드를 반	드시 알아야만 모드에서 사용 할	수 있으며 다른 유저는 login 할	수 없다. Multiuser 상태는 모든	default Terminal과 daemon	process를 실행 시킬 수 있다.

7.5 /sbin/init Process

/sbin/init Program은 두가지 주된 역할을 한다.

□ 프로세스 생성

□ /etc/inittab File의 re-reading에 의해 실행 상태의 변이를 제어

7.5.1 /etc/inittab File

inittab의 entries는 어떤 프로세스가 생성되어서 어떤 실행레벨과 어떤 수행을 하는지 알려준다. /etc/init File은 /sbin/init process에 대해 세가지 주된 아이템을 정의한다.

□ 시스템의 default 실행 레벨

□ 프로세스들이 die일 때 어떤 프로세스가 start, monitor, 그리고 restart 하는지

□ 새로운 실행 레벨이 시스템에 들어올 때 어떤 행동을 해야 하는지

7.6 /etc/inittab File Format

/etc/inittab File은 4개의 entries를 가지고 있다.

entry의 최대 크기는 512문자이다.

실행 keyword는 :

□ initdefault

default 실행레벨을 확인한다.(Sun은 3)

□ respawn

프로세스를 시작하고 프로세스가 die 되었을 때 재시작한다.

□ pwerfail

init가 강력한 fail 신호를 받았을 때 프로세스를 시작한다.

□ sysinit

콘솔접근을 시도하기 전에 프로세스를 시작하고 계속되던 작업의 완료를 위해서 기다린다.

□ wait

프로세스를 시작하고 전에 시작한 프로세스의 실행이 종료되기를 기다린다.

좀더 많은 내용은 inittab man page에 리스트 되어있다.

7.7 /etc/inittab File

/etc/inittab File은 Solaris 2.x System software의 부분이다. 이 파일의 수동적인 edit는 필요없다.

7.8 실행 제어 스크립터

7.8.1 부트 순서

1. init process는 initdefault entry가 실행 레벨 3에 설정되어 있을 때 inittab File을 본다.

2. init process는 /sbin/autopush와 /sbin/rcS와 같은 실행 필드속의 sysinit entries를 가질 때 명령어      (또는 scripts)를 실행한다. 그 때 init process는 어떤 entry rstate 필드속에 3을 가질 때 즉            /sbin/rc2, /sbin/rc3, /usr/lib/saf/sac 그리고 /usr/lib/saf/ttymon이 실행가능할 때 스크립터를 실행한     다.

3. sac와 ttymon process들은 Console과 다른 TTY Device용으로 login service를 제공받아 사용한다.     (이 주제는 다른 모듈을 포함한다.)

4. /sbin/rc2와 /sbin/rc3 스크립터는 그 하위에 /etc/rc2.d와 /etc/rc3.d 디렉토리에 각각 문자 K와 S로     시작하는 스크립트를 불러낸다. 각 실행 레벨동안 inittab File은 적어도 하나의 entry를 가진다. 각      실행 레벨동안 하나의 스크립트가 실행되어 진다. 스크립트의 이름은 /sbin/rcn으로 주어지는데 n은     실행레벨의 번호이다.(다음장의 A diagram을 보라) 각각 실행레벨의 스크립트는 아래의 /etc/rcn.d      디렉토리를 찾아서 File을 넘겨서 실행한다.(다음 장의 B diagram을 보라)

7.8.2 실행 제어 파일

파일(또는 스크립트)들의 디렉토리는 K 또는 S로 시작한다. 모든 K로 시작하는 파일은 실행 처음이고 모든 S로 시작하는 파일들은 실행 다음이다. K로 시작하는 Kill 프로세스를 사용한다. S로 시작하는 파일은 시작 프로세스를 사용한다. 두 종류의 파일의 타입은 영숫자 순서로 실행된다.

2.1 The S(tart) File

/etc/rc3.d 디렉토리는 오직 두 개의 파일을 포함한다.

□ README S15nfs.server

실행레벨2와 3의 단 한가지 차이는 실행레벨 3에서 파일 리소스의 공유이다. /etc/rc3.d 디렉토리에는 K로 시작하는 파일은 없다.

2.2 The K(ill) File

레벨 0의 변화는 시스템이 shutting down을 의미하는데 그래서 모든 프로세스는 반드시 kill 되어야 한다. /etc/rc0.d은 오직 K로 시작하는 파일을 포함하는 것을 의미한다.

□ K00ANNOUNCE K50utmpd K66nfs.server K75nfs.client

□ K201lp K55syslog K69autofs K85rpc

□ K42audit K57sendmail K70cron

스크립트가 수치적인 순서로 실행되고 있으므로 K57sendmail은 K66nfs.server File과 같은 것들 이전에 실행되고 있다.

7.9 /etc/init.d 디렉토리

rc 스트립트는 /sbin 디렉토리에 포함되어져 있다. 그들은 바로 시스템의 실행 레벨 디렉토리에 관련되어 있는 파일을 읽을 수 있다. 예로 /sbin/rc0 스트립트는 /etc/rc0.d 디렉토리의 S or K로 시작하는 파일을 읽을 수 있다.

/etc/init.d/lp stop

7.10 실행 제어 파일 첨가

시스템 서비스 증가를 위해 starup 파일 첨가를 필요로 한다면 다음 단계를 따르시오.

1. /etc/init.d/README File 속에 있는 startup File 첨가의 예제를 읽으시오

2. startup File을 위해서 존재하는 순서번호와 충돌하지 않도록 /etc/rc*.d 디렉토리에 고유으 순서번호    를 할당하시오. 또한 성공적 시작이 필요한 서비스 후의 시작을 틀림없이 만드시오

3. startup File을 /etc/init.d 디렉토리에 두고 무슨 레벨에서 서비스를 시작할 것인지 원하는 기반을 가    지고 고유의 /etc/rc*.d 디렉토리의 링크를 생성하시오

# cd /etc/rc3.d

# ln /etc/init.d/myfs S22myfs

만약 startup File을 테스트하고 다른 하나의 disable이 필요하다면 시작문자를 소문자 □s"로 readme하면 된다. File 이름을 □S" 또는 "K"로 시작하지 않으면 실행하지 않는다.

Note. 만약에 원래의 파일 이름을 사용하여 복사를 하게 된다면 두 개의 파일 모두 실행하게 될 것이다.

# cp S22myfs S22myfs.old

7.11 실행 제어 파일 수정

때때로 시스템 서비스의 startup을 만들고 startup 파일을 수정해야 할 필요가 있을 수도 있다.

Example :

네트워크 정보 서비스(Network Information Service)에 호환성을 제공하기 위해서 rpc.nids(NIS+) daemon에 -Y 옵션을 첨가한다.

1. COPY the /etc/init.d.rpcscript

# cp /etc/init.d /etc/init.d/rpc.orig

2. /etc/init.d/rpc 스크립터를 편집하고 다음 라인에서 #를 제거하라.

# EMULYP="-Y"

3. rpc Service를 시작하라.

# /etc/init.d/rpc stop

# /etc/init.d/rpc start

제 8 장

System 실행 Level의 변경

8.1 소개

이 모듈들의 명령들은 시스템의 실행레벨을 변경하는데 사용한다.

Sun System들은 전원이 계속해서 남겨지도록 설계되었다.

그렇지만, 몇몇 관리작업들을 수행할 때에는 시스템을 다운 또는 정지시켜야하고 때로는 전원을 꺼야한다.

□ 새로나온 오퍼레이팅 시스템을 설치한다.

□ 정전이 예상되면 시스템을 끈다.

□ 시스템으로부터 하드웨어를 첨가하거나 제거한다.

□ 중요한 시스템 데이터는 복구하거나 백업할때는 파일시스템의 관리를 수행한다.

8.2 시스템 셧다운의 스케쥴링

시스템을 사용하는 유저들의 능력은 시스템을 관리하는 스케쥴 작업을 위해 중요하다.

고장수리문제들 또는 하드웨어 결점을 대체하는 것 처럼 시스템이 휴지하는 것은 쉽게 예상하지 못한다.

파일시스템 유지와 백업같은 일상적인 작업들은 유저들이 그들일에 따라서 계획할 수 있도록 계획되어야 한다.

임박한 시스템의 다운을 유저들에게 알리는 메시지를 보낸다.

□ wall 명령어로 로그인한 유저들에게 메시지를 보낸다.

□ rwall 명령어로 유저들의 네트워크에 메시지를 보낸다.

□ 전자메일로 영향을 받을 수 있는 유저들에게 메시지를 보낸다.

□ 시스템이 다운되는 기간동안에 로그인 할수도 있는 유저들에게 /etc/motd(message-of-the-day) 파      일을 사용해서 메시지를 보낸다.

8.3 시스템의 실행레벨의 변경

시스템의 실행레벨을 변경시키는 모든 Solaris명령은 슈퍼유저의 권한을 가지고 있어야 한다.

실행레벨 S나 PROM 모니터레벨로 시스템을 다운시키기 위해서는 □clear shutdown"을 수행한다.

Clear shutdown은 모든 프로세서들이 정지되고 파일시스템이 unmount되고 메모리의 데이터가 디스크로 복사되는 순서적인 방법으로 다운된다.

시스템의 실행레벨을 변경시키기 위한 유용한 명령어가 몇가지 있다.

□ shutdown

□ init

□ halt

□ reboot

8.3.1 shutdown 명령어

/usr/sbin/shutdown 명령은 시스템의 run level 변경에 사용되어 진다.

정지되는 시스템 프로세서들과 unmount되는 파일시스템은 어느 시스템이 변경되어져야 되는가를 run level에 따라 멈춰지고 파일시스템이 unmount 된다.

대부분의 경우에는 multiuser에서 single-user or PROM monitor으로부터 얻어질수 있다. 그것의 장점은 사용자에게 시스템의 event를 알려주는데 있다 하겠다.

만약 shutdown 명령사용으로 시스템을 run level 0으로 초래했다면, operating system은 깨끗하게 shutdown된다. 즉, 모든 처리들은 멈추고 파일시스템은 unmount이다.

Command format:

shutdown [ y ] [ geseconds ] [ irun_level ]

Options :

y - 방해없이 system shutdown을 계속할 수 있게 한다. 다른 방법으로는 당신은 계속되는 shutdown 처리를 일러준다.

g - system shutdown 이전부터의 시간을 설정할 수 있다.

default로 1분이다.

i - default shutdown run level S 이 아닌 다른 run level로 system을 설정할 수 있다.

run level 0, 1, 5, 6에서 선택한다.

shutdown 명령을 사용하기 전에 /(root) 디렉토리로 변경하고 Openwindows 환경을 빠져나와야 한다.

(as the superuser)

8.3.2 init 명령어

init명령어는 system run level을 변경하기 위해 shutdown 명령을 대신하여 사용할 수 있다.

그렇지만, init 명령어는 run level을 변경하기 전에 주의 메시지를 보내지 않는다.

shutdown이나 init명령들은 깨끗하게 정돈된 명세에 따라 run level을 시스템을 올려놓는다.

init 명령을 사용하여 run level을 변경하기전에 반드시 superuser가 되야 한다.

명령어 형태 :

init [ 012356abcQqSs ]

0 - 6 과 S, s option들은 특유의 run level과 일치한다.

0 - 시스템을 PROM monitor level로 올려놓는다.

1 - 몇 개의 파일시스템을 mount 시키고, single-user level로 올려 놓는다. 일반유저의 login을 막는다.

2 - 시스템을 multi-user level로 올려놓는다.(자원의 공유없이)

3 - 시스템을 multi-user level로 올려놓는다.(자원을 공유)

5 - 시스템을 정지시킨다. 시스템이 정지되고 power-off된다.

6 - 정지되고 시스템은 run level 3으로 reboot된다.

S, s - 몇 파일시스템은 mount되고 single-user level로 된다. 일반사용자의 로그인을 막는다.

Q, q - init program이 /etc/inittab 파일을 다시 읽게 한다.

a, b, c Optional and configurable run level

8.3.3 기타 명령들

halt 명령 :

/usr/sbin/halt 명령은 init 0을 사용하는 것과 유사하다.

시스템은 clean shutdown을 수행하고 PROM monitor level로 된다.

그렇지만, rc0 스크립트는 실행되지 않는다.

rc0 script를 database 또는 몇가지 다른 이유로 사용했다면 사용하지 않는 것이 좋다. 그런 경우, init 0를 사용한다.

reboot 명령 :

/usr/sbin/reboot 명령은 clean shutdown을 수행하고 시스템을 default로 run level 3로 재부트한다.

이것을 고려해서 init 6과 같다.

그렇지만 halt 명령때 몇가지 문제에 응용하여, rc0 스크립트는 실행되지 않는다.

boot flag은 reboot명령에 -- 옵션을 사용하여 지나칠 수 있다.

reboot -- -s 명령을 사용하여 시스템을 재부트하고 single-user mode로 된다.

8.4 The PROM Monitor

시스템이 PROM monitor level로 되면, boot 명령을 사용하여 다른 run level로 한다.

boot 명령은 default boot device가 없다면 boot device를 상징하는 argument를 요구한다.

boot device는 다르고 독특하며 머신의 PROM level에 달려있다.

8.5 The Open Boot PROM

open boot PROM(OBP)는 모든 Sun SBus type system에서 사용되어 진다.

이전의 PROM type들보다 좋은 기능을 제공한다.

그리고 많은 device address의 booting 경로를 지정할 수 있다.

SPARCstation 2, ELC, IPX, 모든 새로운 기계들은 OBP Revision 2.0과 그리고 그 이상의 version들을 사용한다.

단지 SPARCstation 1, 1+, IPC and SLC system들만 OBP 1.x를 사용한다.

시스템의 PROM version을 알기위해 banner 명령을 사용한다.

8.5.1 OBP Revision 2.x Device Names

2.x PROM revision에서 boot device를 명시하기 위해 devalias 명령어를 이용해서 default boot device가 될 수 있는 장치를 확인할 수 있다.

ok devalias

screen /iommu@0,10000000/sbin@0,10001000/cgsix@3,0

ttyb /obio/zs@0,100000:b

ttya /obio/zs@0,100000:a

keyboard /obio/zs@0,0:forcemode

.

.

생략

위에서 장치 alias 이름은 출력의 왼쪽에서 볼 수 있다.

disk device alias sms SCSI disk target 3을 의미한다.

Example :

ok boot [ device_name ] [ option ]

ok boot disk

Options :

ok boot

- default boot device를 이용한 OBP system에서의 multi-user mode로 부트

ok boot -s

- default boot device를 이용하여 OBP system에서의 single-user mode로 부트

ok boot disk2

- alternate boot device를 이용하여 2.x OBP system boot

ok boot net

- disk 없이 Client boot

ok boot -r

- default boot device를 이용하여 kernel device를 읽어 multi-user mode boot

ok boot -v

- default boot device를 이용하여 system 검사를 하면서 multi-user mode boot

ok boot -n

- default boot device를 이용하여 kernel device를 읽어드리는 것을 Display 해줌.

각각의 옵션들은 붙여서 boot 할 수 있음.

ok boot -rvn

8.5.2 시스템이 부팅되지 않는다면

몇몇의 다른 이유들은 시스템이 부트되지 않을 것이다.

약간의 기술된 내용들은 다음 몇페이지를 cover 한다.

system disk를 확인한다.

- 시스템이 부트되지 않는다면, 부트디바이스가 시스템에 어떤 디바이스가 연결되고 확인하는 PROM monitor로부터 probe-scsi를 사용, probe-scsi-all 또는 probe-ipi 명령하는 특별한 값이 정확하게 지정되어 있지 않기 때문이다.

printenv 명령을 사용하여 boot disk를 확인할 수 있다.

8.5.3 중요한 시스템 파일이 missing or invalid면

만약 중요한 시스템 파일이 잘못이거나 손상되면 부트되지 않을 수도 있다.

Critical System File이 Missing or Invalid면

/etc/passwd file이 잘못되었거나 손상되면 시스템은 부트될 것이다.

그러나, login에서 할수 있는 것은 하나도 없다.

제 9 장

자동 환경설정 과정

9.1 소개

Solaris 2.x는 작은 정적인 코어(static core)와 요구시 Load 되는 일련의 Module로 구성되어 있다. Kernel의 Module은 System 내에서 특정한 역할을 수행하는데 사용되는 Hardware나 Software 요소이다. Load 가능한 Kernel의 Module의 예로 Device가 Access될 때 Load 되는 Device Driver가 있다.

Booting시 System은 자기 점검(self-test)를 하고 부착되어 있는 Device들을 Check한다. 그런 다음 다이나믹하게 자기 진단을 한 다음 필요에 따라서 Module을 Load한다. 부팅되고 난 다음에는 Tape Device와 같은 Device들이 Access 될 때 Device Driver들이 Load된다.

이 과정을 필요에 따라서 자동적으로 Load되기 때문에 자동환경설정이라 부른다.

9.1.1 자동환경설정 과정

장점 - 자동환경설정의 장점들은 다음과 같다.

□ Module들이 필요할 때 Load되기 때문에 Main Memory를 효과적으로 사용할 수 있다.

□ Kernel을 재구성하는데 시간이 지체되지 않는다. 왜냐하면 새로운 Device가 System에 추가될 때       이전의 SunOS release에 의해서 수행되었기 때문이다.

□ Driver들이 Kernel을 재구성하지 않을 뿐만 아니라 System을 재부팅할 필요없이 Load 될 수 있다.

System Manager는 새로운 Device들을 System에 첨가할 때 자동환경설정 과정을 사용한다. 이것은 PROM 수준의 ok 프롬프트에서 boot -r 명령어를 수행함으로써 행해지며 새로운 Device들을 인식하게 된다.

9.1.2 /kernel Directory

Default로 Load 가능한 Kernel Module들은 /kernel Directory에서 찾아볼 수 있다.

각각의 Subdirectory들은 특수한 형태의 Module들을 포함하고 있다.

Kernel

drv

exec

fs

misc

sched

strmod

sys

unix

□ drv - Device Driver들과 pseudo Device Driver들을 포함한다.

□ exec - 수행 가능한 다양한 파일들을 수행 할 때 사용되는 Module들을 포함한다.

□ fs - ufs, nfs, proc와 같은 파일 System Module들을 포함한다.

□ misc - 가상 Memory 연산과 Process간 통신시 필요한 기본적인 Module들을 포함한다.

□ sched - 스케쥴링 Class들과 상응하는 Dispatch Table Module들을 포함한다.

□ strmod - STREAMS Module들을 포함한다.

□ sys - Semaphore 연산과 같은 Load 가능한 System Call을 포함한다.

9.1.3 /usr/kernel Directory

/usr/kernel Directory도 역시 Load 가능한 Kernel Module들을 포함한다. 이 Directory는 다음과 같은 것을 포함한다.

□ System Accounting Module들과 같은 Booting 과정을 수행하는데 필요하지 않은 부가적인 Module      들을 포함한다.

□ Audio Driver와 같은 Platforms에 관계없이 공유할 수 있는 Module들을 포함한다.

/kernel과 /usr/kernel Directory들은 Booting 과정에서 필요한 Module들을 Load하는데 사용된다. 만약 Module들이 Booting 시간에 Load되지 않는 경우에는 서비스가 요청되면 Load될 수 있다.

The /etc/system File

*ident  "@(#)system     1.15    92/11/14 SMI" /* SVR4 1.5 */

*

* SYSTEM SPECIFICATION FILE

*

* moddir:

*

*       Set the search path for modules.  This has a format similar to the

*       csh path variable. If the module isn't found in the first directory

*       it tries the second and so on. The default is /kernel /usr/kernel

*

*       Example:

*               moddir: /kernel /usr/kernel /other/modules

* root device and root filesystem configuration:

*

*       The following may be used to override the defaults provided by

*       the boot program:

*

*       rootfs:         Set the filesystem type of the root.

*

*       rootdev:        Set the root device.  This should be a fully

*                       expanded physical pathname.  The default is the

*                       physical pathname of the device where the boot

*                       program resides.  The physical pathname is

*                       highly platform and configuration dependent.

*

*       Example:

*               rootfs:ufs

*               rootdev:/sbus@1,f8000000/esp@0,800000/sd@3,0:a

*

*       (Swap device configuration should be specified in /etc/vfstab.)

* exclude:

*

*       Modules appearing in the moddir path which are NOT to be loaded,

*       even if referenced. Note that `exclude' accepts either a module name,

*       or a filename which includes the directory.

*

*       Examples:

*               exclude: win

*               exclude: sys/shmsys

* forceload:

*

*       Cause these modules to be loaded at boot time, (just before mounting

*       the root filesystem) rather than at first reference. Note that

*       forceload expects a filename which includes the directory. Also

*       note that loading a module does not necessarily imply that it will

*       be installed.

*

*       Example:

*               forceload: drv/foo

* set:

*

*       Set an integer variable in the kernel or a module to a new value.

*       This facility should be used with caution.  See system(4).

*

*       Examples:

*

*       To set variables in 'unix':

*

*               set nautopush=32

*               set maxusers=40

*

*       To set a variable named 'debug' in the module named 'test_module'

*

*               set test_module:debug = 0x13

* ======================================================

*	Modified Shared Memory Parameter by SOO.

*	Date : 1997. 8. 26

* ======================================================

*	The followings are orignal statements

*

*	set shmsys:shminfo_shmmax=8388608

*	set shmsys:shminfo_shmmni=100

*	set shmsys:shminfo_shmseg=15

*	set semsys:seminfo_semmns=200

*	set semsys:seminfo_semmni=100

*	set msgsys:msginfo_msgmni=100

*	set shmsys:shminfo_shmmin=1

*	set semsys:seminfo_semmsl=200

set shmsys:shminfo_shmmax=16777216

set shmsys:shminfo_shmmin=1

set shmsys:shminfo_shmmni=300

set shmsys:shminfo_shmseg=300

set semsys:seminfo_semmns=200

set semsys:seminfo_semmni=100

set msgsys:msginfo_msgmni=100

set semsys:seminfo_semmsl=200

set scsi_options=0x58

9.2. Kernel 환경설정 파일 수정하기

/etc/system File은 Kernel의 환경설정 과정을 다르게 하기 위해서 다음과 같은 방법으로 적당하게 수정될 수도 있다.

이 환경설정 파일은 Booting시 읽혀지며 디폴트로 단지 Commants만 포함하고 있다.

이 파일은 여러 가지 방법으로 사용자에 맞게 수정될 수 있다.

□ Booting 시간에 Load되는 탐색경로(search path)을 수정하기 위해서 moddir 변수를 사용한다.

□ 어떤 Module들이 참조되었는데도 Load 되지 않았는지 알아보기 위해서 exclude 변수를 사용한다.

□ 대체할 알맞은 root Device를 결정하기 위해서 rootdev 변수를 사용한다.

□ Default로 Setting되어 있는 Kernel의 변수를 Override하기 위해서 variable=name을 사용한다.

9.2.1 Kernel의 변수 조정하기

때때로 Sun Service는 당신의 System의 구미에 맞게 조절할수 있도록 Kernel의 변수를 수정하는 것을 허용한다.

예를 들면 maxusers를 System에 활성화(active)상태에 있는 사용자의 수를 나타낸다. 이것은 수 Megabype의 System의 RAM과 같은 크기로 Setting된다.

최소의 Default Setting은 8이고 최대 1024바이트이다.

각 System과 Server에 따라서 이 값은 증가할 수 있다. 최대값은 2048이다. maxusers변수는 어떤 Kernel의 Table을 Setting하기 위해서 사용되므로 이것을 너무 높게 Setting하면 System의 효율이 떨어질수 있다는 것을 명심해야 한다.

Default Kernel 변수를 조정하기 위해서는 /etc/system File을 수정하면 된다.

1. 일반적인 /etc/system File을 복사한다.

# cp /etc/system /etc/system.orig

2. /etc/system File을 편집하고 kernel 변수를 추가한다.

set maxusers=64

3. System을 재부팅한다.

이런 변화는 Kernel의 작동을 변화시키기 때문에 이 File을 수정할 때에는 조심하여야 한다.

9.3 요약

이 장에서는 다음과 같은 것을 살펴 보았다.

□ Solaris 2.x Kernel은 필요에 따라서 Module을 Load함으로써 다이나믹하게 환경을 설정한다. 이렇      게 함으로서 Memory를 더욱더 효과적으로 사용할 수 있게 된다.

□ /kernel과 /usr/kernel Directory는 Load 가능한 Kernel의 Module들을 포함하고 있다.

□ Kernel의 변수들은 /etc/system File을 편집함으로써 수정할 수 있다.

□ Kernel의 환경설정 과정들은 여러 가지 Kernel의 변수들을 사용함으로써 수정될 수 있다.

제 10 장

Device 환경설정과 명명하기

10.1 소개

System에 있는 Disk Device를 관리하기 위해서는 Hardware에 익숙해야 하며 Disk를 식별하기 위해서 사용되는 Device 이름에 대해서도 익숙해야 한다.

Disk Device(Partition 포함)는 다음과 같은 경우에 논리적 Device 이름에 의해서 참조된다.

□ 어떤 System에서 다른 System으로 이동될 때

□ 새로운 Disk를 System에 첨가할 때

□ 논리적 Disk에 저장되어 있는 File System에 접근할 때

□ 지역적 File System을 Backup할 때

이 장에서는 Solaris 2.x에서 Disk Device들이 참조되는 다른 방법에 대해서 설명한다.

10.2 장치 이름

□ Device 제어기 - Kernel이나 Device Drive가 BUS Controller를 통해서 보낸 Signal에 기초한                             단위장치(unit)의 동작을 제어하는 Device.

모든 주변 장치들은 Controller에 연결되어 있다.

System

Bus

Device

Bus

Device with controller Bus controller CPU

Device

Bus

□ BUS-특수한 형태의 통신 언어가 사용되는 Hardware Device 사이의 길. 모든 현재의 System들은      내부 BUS를 System 버스(SBus)로 부르면, 이전 세대의 System들은 versa modula europa(VME)      를 사용하였고 현재의 주변 장치 Bus는 small computer system bus interface(SCSI)를 사용한다.

□ Bus 제어기(Host Adapter)-System BUS로부터의 명령을 Device BUS로 해석해 주는 Interface        Device

□ 장착된 Device-실제 CPU Board의 일부분인 것 대부분의 System들은 built-in SCSI Host Adapter      와 Serial Controller, Ethernet Controller 등을 가지고 있다.

10.3 Disk Device Interface

Sun은 Disk Device에 대해서 다음과 같은 Interface들을 지원한다.

□ 소형 컴퓨터 Interface(Small computer system interface(SCSI))-SCSI Device들은 SBus와               VME에 기초한 System들과 함께 사용되는 SCSI Host Adapter와 연결 되어 있다. 단지 SCSI          Interface만이 CD-ROM Drive들과 연결하는데 사용될 수 있다.

□ 지능적인 주변장치(Intelligent peripheral Interface(IPI))-IPI Disk Drive들은 VME bus를 가지고 있      는 IPI Controller에 연결된다.

□ 저장 모듈 장치(Storage module device(SMD))-SMD와 개선된 저장 모듈(enhance storage module      device(ESMD))들은 VME를 가지고 있는 System에서만 사용하는 Xylogics에 연결되어 있다.

10.4 SCSI Device Address Setting

Host Adapter에 하나 이상의 SCSI Device를 가지고 있다면 각 SCSI Target Address를 단일의 주소로 Setting해 주어야 한다.

외부 Address Swtich를 Setting해주는 것과 내부적으로 jumper를 Setting함으로써 SCSI Device들에게 단일의 주소를 제공할 수 있게 된다.

새로운 SCSI Device를 당신의 System에 추가할 때에는 기존의 번호와 충돌이 생기지 않도록 주의하여야 한다.

probe-scsi명령어를 PROM mode에서 사용함으로써 현재의 장치들과 각각의 target Num.을 알 수 있다.

최대 7개의 Device들을 각 SCSI Host Controller에 daisy-chain으로 연결된 Device를 가질 수 있으며 IPI Controller에 연결된 8개의 Device들을 가질 수 있다.

10.5 Device 정보 Tree

System이 Booting될 때 장치들에 대한 계층적인 구조가 생성된다.

예를 들면 SPARCstation System은 다음과 같은 Device 환경설정 트리 구조를 가질 수 있다.(모든 Device들이 포함된 것은 아니다.) 위 그림에서 박스는 System에 있는 서로 다른 다바이스들을 나타낸다. 예를 들면, cgsix는 cgsix Color prime buffer를 나타내고 sbus는 많은 다른 Device들을 System에 연결할 때 사용되는 주변장치 Bus를 나타낸다.

계층적 구조에서 가장 위에 위치하고 있는 오브젝트를 루트 노드라고 부른다.

루트노드 아래에 있는 중간 오브젝트들은 그것과 관계있는 Device 드라이버들을 가지고 있으며 leaf(or bus nexus) node라 불린다.

Kernel은 Drive들을 각각의 알맞은 장치들과 관련이 있는 정보를 사용하고 특수 연산을 행하고 있는 드라이버들에 대한 포인터를 제공한다.

10.6 Device Name

Solaris 2.x 환경에서는 Device들이 3가지 서로 다른 방법으로 참조된다.

□ 물리적 Device 이름들 - Device 정보 계층(또는 트리)에서의 전체 Device 패스 이름(pull path           name)을 나타낸다.

물리적 이름은 인스톨 과정이나 그 이후의 Device 환경설정 과정에서 생성되는 /devices 디렉토리       에 위치하게 된다.

□ 논리적 Device 이름들 - 관리자에 의해서 Device를 참조하기 위해서 사용되는 이름. /dev 디렉토리      에 위치하며 물리적 이름과 같이 생성된다.

□ Instance 이름들 - System에 있는 모든 가능한 장치들에 대해서 Kernel이 요약적으로 붙인 이름

10.6.1 물리적 Device 이름들

물리적 Device 이름은 Device 정보트리에서 전체적인 패스 이름을 말한다.

물리적 Device 이름들은 /devices 디렉토리에 위치하고 있으며 PROM Mode에서 사용되는 Device 이름과 상응된다.

10.6.2 target address

t0, t1, t3와 같은 target address는 각 Device를 위해서 선택된 주소 스위치 세팅에 상응한다.

외부 Disk Drive는 대체적으로 패널의 뒤에 위치하고 있는 주소 스위치를 가지고 있다.

디폴트로 desktop system은 첫 번째 내부 Disk Drive를 위해서 t3을 할당한다.

두 번째 내부 Disk Drive는 t1에 해당한다.

10.6.3 Disk 번호

Disk 번호는 항상 논리적 단위 번호(logical Unit Number(LUN))로 알려져 있으며 추가된 SCSI나 IPI Disk를 위해서는 0으로 세팅된다.

10.6.4 슬라이스(파티션) 번호

Slice 번호는 0에서 7까지 변화한다. Disk Device는 논리적 Device 이름에 그리고 논리적 Device 이름은 반드시 슬라이스 번호를 포함해야 한다.

/dev/dsk 디렉토리는 Disk Drive의 논리적 이름을 포함하고 있다.

c0t0d0s0@  c0t0d0s4@  c0t1d0s0@  c0t1d0s4@  c0t3d0s0@  c0t3d0s4@ c0t6d0s0@  c0t6d0s4@

c0t0d0s1@  c0t0d0s5@  c0t1d0s1@  c0t1d0s5@  c0t3d0s1@  c0t3d0s5@ c0t6d0s1@  c0t6d0s5@

c0t0d0s2@  c0t0d0s6@  c0t1d0s2@  c0t1d0s6@  c0t3d0s2@  c0t3d0s6@ c0t6d0s2@  c0t6d0s6@

c0t0d0s3@  c0t0d0s7@  c0t1d0s3@  c0t1d0s7@  c0t3d0s3@  c0t3d0s7@ c0t6d0s3@  c0t6d0s7@

논리적 Disk Device 이름은 System 관리자에 의해서 Disk를 사용할 때나 File System과 관련있는 명령어를 사용할 때 구분된다.

10.6.5 Bus-Oriented Controller

Sun system은 bus-oriented Controller에 연결된 Disk Device를 위해서 논리적 이름을 위해서 명명을 사용한다.

/dev/[r]dsk/c#t#d#s#

여기서 각각은 다음을 나타낸다.

c# - Controller 번호

t# - 목표번호(target number)

d# - 논리적 유닛 번호(logical unit number)

s# - 슬라이스 / 파티션번호

Example :

/dev/dsk/c0t3d0s0 ->

/devices/iommu@f,e0000000/sbu8s@f,e0001000/espdma@f,400000/esp@f,800000/sd@3,0:a

이전에 언급했듯이 논리적 Device 이름은 /dev 디렉토리에서 발견할 수 있으며 /devices 디렉토리에 있는 물리적 Device 이름과 기호적으로(symbolically) 링크되어 있다.

10.6.6 직접적 Controller

Xylogics 451이나 7053과 같이 Bus-oriented system이 아닌 직접 Controller에 연결된 Disk들은 논리적 Device 이름에 목표번호를 포함하지 않는다.

/dev/[r]dsk/c#d#s#

여기서 각각은 다음을 나타낸다.

c# - Controller 번호

d# - 논리적 유닛 번호(logical unit number)

s# - 슬라이스 / 파티션번호

Example :

c0d0s0 -> ../../devices/vme/xdc@6d,ee80/xd@0:0

10.6.7 논리적 Device 이름 디렉토리

□ dsk : Disk Device들에 대한 블록 Interface

□ rdsk : Disk Device들에 대한 raw or character interface

□ rmt : 테이프 Device들

□ term : serial line devices

□ cua : Dial-out modems

□ pts : seudo terminals

□ fbs : Frame buffers

10.6.8 Device Instance 이름

Instance 이름은 물리적 Device 이름에 대해서 Kernel이 축약해서 사용하는 이름이다.

Instance 이름은 Kernel이 처음으로 Device Instance를 발견할 때 할당된다.

Solaris 2.x에서는 Instance 이름은 /etc/path_to_inst File을 참조함으로써 물리적 이름에 할당된다.

The /etc/path_to_inst File

#

#       Caution! This file contains critical kernel state

#

"/iommu@f,e0000000" 0 "iommu"

"/iommu@f,e0000000/sbus@f,e0001000" 0 "sbus"

"/iommu@f,e0000000/sbus@f,e0001000/espdma@f,400000" 0 "dma"

"/iommu@f,e0000000/sbus@f,e0001000/espdma@f,400000/esp@f,800000" 0 "esp"

"/iommu@f,e0000000/sbus@f,e0001000/espdma@f,400000/esp@f,800000/st@5,0" 5 "st"

"/iommu@f,e0000000/sbus@f,e0001000/espdma@f,400000/esp@f,800000/st@4,0" 4 "st"

"/iommu@f,e0000000/sbus@f,e0001000/espdma@f,400000/esp@f,800000/st@6,0" 6 "st"

"/iommu@f,e0000000/sbus@f,e0001000/espdma@f,400000/esp@f,800000/st@1,0" 1 "st"

"/iommu@f,e0000000/sbus@f,e0001000/espdma@f,400000/esp@f,800000/st@0,0" 0 "st"

"/iommu@f,e0000000/sbus@f,e0001000/espdma@f,400000/esp@f,800000/st@3,0" 3 "st"

"/iommu@f,e0000000/sbus@f,e0001000/espdma@f,400000/esp@f,800000/st@2,0" 2 "st"

"/iommu@f,e0000000/sbus@f,e0001000/espdma@f,400000/esp@f,800000/sd@5,0" 5 "sd"

"/iommu@f,e0000000/sbus@f,e0001000/espdma@f,400000/esp@f,800000/sd@4,0" 4 "sd"

"/iommu@f,e0000000/sbus@f,e0001000/espdma@f,400000/esp@f,800000/sd@6,0" 6 "sd"

"/iommu@f,e0000000/sbus@f,e0001000/espdma@f,400000/esp@f,800000/sd@1,0" 1 "sd"

"/iommu@f,e0000000/sbus@f,e0001000/espdma@f,400000/esp@f,800000/sd@0,0" 0 "sd"

"/iommu@f,e0000000/sbus@f,e0001000/espdma@f,400000/esp@f,800000/sd@3,0" 3 "sd"

"/iommu@f,e0000000/sbus@f,e0001000/espdma@f,400000/esp@f,800000/sd@2,0" 2 "sd"

"/iommu@f,e0000000/sbus@f,e0001000/sbusmem@f,0" 15 "sbusmem"

"/iommu@f,e0000000/sbus@f,e0001000/cgsix@2,0" 0 "cgsix"

"/iommu@f,e0000000/sbus@f,e0001000/sbusmem@0,0" 0 "sbusmem"

"/iommu@f,e0000000/sbus@f,e0001000/sbusmem@1,0" 1 "sbusmem"

"/iommu@f,e0000000/sbus@f,e0001000/sbusmem@2,0" 2 "sbusmem"

"/iommu@f,e0000000/sbus@f,e0001000/sbusmem@3,0" 3 "sbusmem"

"/iommu@f,e0000000/sbus@f,e0001000/ledma@f,400010" 0 "ledma"

"/iommu@f,e0000000/sbus@f,e0001000/ledma@f,400010/le@f,c00000" 0 "le"

"/iommu@f,e0000000/sbus@f,e0001000/SUNW,bpp@f,4800000" 0 "bpp"

"/iommu@f,e0000000/sbus@f,e0001000/SUNW,DBRIe@f,8010000" 0 "dbri"

"/obio" 0 "obio"

"/obio/SUNW,fdtwo@0,700000" 0 "fd"

"/obio/zs@0,100000" 0 "zs"

"/obio/profile" 0 "profile"

"/obio/zs@0,0" 1 "zs"

"/options" 0 "options"

"/pseudo" 0 "pseudo"

File의 오른쪽에 있는 번호가 Device Instance이다.

Kernel은 가능한 Device Instance를 구분하기 위해서 이 이름들을 사용한다.

첫 번째 Bus에서는 Instance 번호가 target 번호와 일치한다.

그러나 새로운 SCSI Controller가 추가될 때 Instance 번호는 증가하지만 target 번호는 그대로 남아있다.(0-7)

이 File들은 부팅시 읽혀지며 add_drv(1M)과 drvconfig(1M)에 의해서 갱신된다.

Note- system 관리자는 이 File을 갱신하지 않는 것이 좋다. 왜냐하면 System이 이 File들을 관리하기 때문이다.

System 관리자는 이 File을 수정하고 재부팅을 함으로써 Instance 번호의 할당을 변경할 수 있다. 그러나 만약 System이 재부팅되기 전에 add_drv이나 drvconfig이 먼저 수행되면 이 File에 대해서 수정한 모든 정보들을 잃어 버리게 된다.

이 File을 System이 부팅될 때마다 참조된다. 이 File은 새로운 Device가 추가되고 System 환경 재설정 부팅이 수행될 때마다 새로 생성된다.

이 File은 수정되어서는 안되며 System Kernel에 의해서 관리되어야 한다.

Note- 만약 SBus 카드, Disk들, 테이프들 또는 물리적 Device들이 새로 정렬될 때에는 /etc/path_to_inst system shutdown하기 전에 제거해야 한다.

그리고 나서 -a option을 사용해서 부팅해야 한다. 그리고 모든 query에 대해서 enter Key를 치면 된다.

Caution 만약 이 File이 제거되고 위에서 언급한 것처럼 재생성되었다면 System 환경 재설정 이후에는 Device들이 이전에 가졌던 값보다 더 작은 값을 가질 수도 있다.

또한 mknod(1M)에 의해서 생성된 특수 File의 경우 예상과 다른 Device들을 참조할 수도 있다.

이런 이유로 인해서 이 File을 수정할 경우에는 주의하여야 한다.

10.7 Disk Device들을 구분하기

10.7.1 물리적 Disk Device 이름과 Instance Disk Device 이름

물리적 Disk Device 이름은 부팅시에 Device가 연결되어 있는 상태에서 따라서 derive된다.

Instance Disk Device 이름은 물리적 Device 이름에 대한 요약이다.

Instance 이름은 다음을 포함한다.

adn : s = SCSI, d = disk, n = logical disk number

stn : s = SCSI, t = tape, n = logical tape number

idn : I = IPI-2, d = disk, n = logical disk number

Instance 이름은 Kernel에 의해서 사용된다는 것을 기억해야 한다. System 관리자는 대체로 Instance 이름을 사용할 필요가 없다.

10.7.2 dmesg 명령어

dmesg 명령은 Instance 이름과 물리적 이름을 사용해서 System에 부착되어 있는 Device들을 구분한다.

이 명령의 출력을 통해서 논리적 Device 이름을 결정하는 것이 가능하다. 이 명령은 이 밖에도 System 진단 메시지, 운영체제 revision번호, 물리적 메모리 크기, 그리고 다른 정보들을 포함한다.

dmesg 명령어는 버퍼에 있고 덮어쓰기 때문에 참조할 목적을 위해서는 깨끗한 dmesg를 얻는 것을 도와준다. 이렇게 하기 위해서는 System을 정지시키고, reset을 수행한다. 그런 다음 재부팅을 한다.

10.7.3 format 명령어

어떤 Disk Device들과 Disk Interface들이 System에 연결되어 있는지 알기 위해서 다음과 같은 명령어들을 사용할 수 있다.

□ format

□ dmesg

□ prtconf

format 명령어는 논리적 Device와 물리적 Device 이름 모두를 출력한다.

10.8 Device 환경 재설정하기

새로운 Device들이 System에 추가될 때 환경 재설정 부팅이 새로운 Device를 인식하기 위해서 수행된다.

이 과정은 새로운 Device 정보 트리를 생성함으로써 시작되며 /devices 와 /dev 디렉토리를 새로 생성한다.

새로운 Device를 인식하기 위해서 System의 환경을 재설정하기 위해서는 아래와 같은 과정을 따르면 된다.

아래에서는 새로운 Disk를 System에 추가하는 예를 보여 준다.

1. System이 재부팅될 때 System 환경 재설정 부팅을 할 수 있도록 /reconfiguration File 생성

# touch /reconfigure

2. System을 정지시킨다.

3. 전원을 끈다.

4. 새로운 Disk를 System에 사용하기 위해서 적당한 케이블을 사용한다.

5. 전원을 새로 넣는다.

System 환경 재설정 부팅 과정은 새로운 Disk를 위해서 물리적, 논리적 Device 엔터티를 생성한다.

Disk를 인식하도록 System의 환경을 설정하고 난 다음에는 Disk 파티션을 설정하기 위한 과정을 수행할 수 있다.

10.9 System 환경 설정상태 보기

10.9.1 prtconf 명령어

이 명령은 System의 환경설정 정보와 메모리와 주변장치의 환경설정 정보들을 출력해 준다.

Disk와 테잎 Device Instance 이름들은 SCSI 호스트 어댑터에서의 가능한 위치를 나타내며 이것을 목표주소라 한다.

목표 주소를 할당하는 것은 같은 Interface에 연결된 다른 Device들을 구분하는 방법이 된다.

[ns:/] =:# prtconf

System Configuration:  Sun Microsystems  sun4m

Memory size: 64 Megabytes

System Peripherals (Software Nodes):

SUNW,SPARCstation-10

packages (driver not attached)

disk-label (driver not attached)

deblocker (driver not attached)

obp-tftp (driver not attached)

options, instance #0

aliases (driver not attached)

openprom (driver not attached)

iommu, instance #0

sbus, instance #0

espdma, instance #0

esp, instance #0

sd (driver not attached)

st (driver not attached)

sd, instance #0 (driver not attached)

sd, instance #1

sd, instance #2 (driver not attached)

sd, instance #3

sd, instance #4 (driver not attached)

sd, instance #5 (driver not attached)

sd, instance #6 (driver not attached)

ledma, instance #0

le, instance #0

SUNW,bpp (driver not attached)

SUNW,DBRIe (driver not attached)

mmcodec (driver not attached)

cgsix, instance #0

obio, instance #0

zs, instance #0

zs, instance #1

eeprom (driver not attached)

counter (driver not attached)

interrupt (driver not attached)

SUNW,fdtwo, instance #0

auxio (driver not attached)

power (driver not attached)

memory (driver not attached)

virtual-memory (driver not attached)

eccmemctl (driver not attached)

TI,TMS390Z50 (driver not attached)

TI,TMS390Z50 (driver not attached)

pseudo, instance #0

10.9.2 sysdef 명령어

[ns:/] =:# sysdef

*

* Hostid

*

728a9664

*

* sun4m Configuration

*

*

* Devices

*

packages (driver not attached)

disk-label (driver not attached)

deblocker (driver not attached)

obp-tftp (driver not attached)

options, instance #0

aliases (driver not attached)

openprom (driver not attached)

iommu, instance #0

sbus, instance #0

espdma, instance #0

esp, instance #0

sd (driver not attached)

st (driver not attached)

sd, instance #0 (driver not attached)

sd, instance #1

sd, instance #2 (driver not attached)

sd, instance #3

sd, instance #4 (driver not attached)

sd, instance #5 (driver not attached)

sd, instance #6 (driver not attached)

ledma, instance #0

le, instance #0

SUNW,bpp (driver not attached)

SUNW,DBRIe (driver not attached)

mmcodec (driver not attached)

cgsix, instance #0

obio, instance #0

zs, instance #0

zs, instance #1

eeprom (driver not attached)

counter (driver not attached)

interrupt (driver not attached)

SUNW,fdtwo, instance #0

auxio (driver not attached)

power (driver not attached)

memory (driver not attached)

virtual-memory (driver not attached)

eccmemctl (driver not attached)

TI,TMS390Z50 (driver not attached)

TI,TMS390Z50 (driver not attached)

pseudo, instance #0

clone, instance #0

ip, instance #0

tcp, instance #0

중간 생략

*

* System Configuration

*

swap files

swapfile             dev  swaplo blocks   free

/dev/dsk/c0t3d0s1   32,25      8 307432 307432

*

* Tunable Parameters

*

1298432        maximum memory allowed in buffer cache (bufhwm)

986        maximum number of processes (v.v_proc)

99        maximum global priority in sys class (MAXCLSYSPRI)

981        maximum processes per user id (v.v_maxup)

30        auto update time limit in seconds (NAUTOUP)

25        page stealing low water mark (GPGSLO)

5        fsflush run rate (FSFLUSHR)

25        minimum resident memory for avoiding deadlock (MINARMEM)

25        minimum swapable memory for avoiding deadlock (MINASMEM)

*

* Utsname Tunables

*

5.5.1  release (REL)

ns  node name (NODE)

SunOS  system name (SYS)

Generic  version (VER)

*

* Process Resource Limit Tunables (Current:Maximum)

*

Infinity:Infinity       cpu time

Infinity:Infinity       file size

7ffff000:7ffff000       heap size

800000:7ffff000       stack size

Infinity:Infinity       core file size

40:     400       file descriptors

Infinity:Infinity       mapped memory

*

* Streams Tunables

*

9  maximum number of pushes allowed (NSTRPUSH)

65536  maximum stream message size (STRMSGSZ)

1024  max size of ctl part of message (STRCTLSZ)

*

* IPC Messages

*

0  entries in msg map (MSGMAP)

0  max message size (MSGMAX)

0  max bytes on queue (MSGMNB)

0  message queue identifiers (MSGMNI)

0  message segment size (MSGSSZ)

0  system message headers (MSGTQL)

0  message segments (MSGSEG)

*

* IPC Semaphores

*

0  entries in semaphore map (SEMMAP)

0  semaphore identifiers (SEMMNI)

0  semaphores in system (SEMMNS)

0  undo structures in system (SEMMNU)

0  max semaphores per id (SEMMSL)

0  max operations per semop call (SEMOPM)

0  max undo entries per process (SEMUME)

0  semaphore maximum value (SEMVMX)

0  adjust on exit max value (SEMAEM)

*

* IPC Shared Memory

*

0  max shared memory segment size (SHMMAX)

0  min shared memory segment size (SHMMIN)

0  shared memory identifiers (SHMMNI)

0  max attached shm segments per process (SHMSEG)

*

* Time Sharing Scheduler Tunables

*

60      maximum time sharing user priority (TSMAXUPRI)

SYS     system class name (SYS_NAME)

10.10 요약

□ 같은 Bus Interface(Host Adapter)에 연결된 모든 Device들은 Controller(목표)주소와 논리적 유닛       번호에 의해서 유일하게 식별되어야 한다.

□ Kernel은 System에 있는 모든 Device들에 대한 계층적 또는 트리 구조를 형성한다.

□ 물리적 Device 이름은 Device 정보 트리에 있는 다소 전체 패스 이름을 나타낸다. 물리적 Device       이름을 나타내는 Device File들은 /devices 디렉토리에서 찾을 수 있다.

□ Disk Device들은 Disk나 File System과 관련있는 명령어들을 사용할 때 논리적 Device 이름에 의      해서 참조된다.

□ /etc/path_to_inst File은 마지막으로 환경설정 이후의 System에 연결되어 있는 Device Instance들을      가지고 있다. 이 File에 담겨 있는 Instance 이름은 Kernel이 서로 다른 Device들을 나타낼 때 사용      하는 요약된 이름이다.

□ 지금 현재 System에 연결되어 있는 Device들은 prtconf 명령이나 sysdef 명령어에 의해서 알 수 있      다.