1. HP-UX 11.X File System 구조

1.1 File system layout

 

- Static(Shared) 디렉토리들에는 실행파일이나 OS 다큐멘테이션 등과 같은 read-only파일들이 존재한다. 이 디렉토리는 다른 호스트들에 의해 공유될 수 있다.- Dynamic(Private) 디렉토리들에는 사용자 작업 파일이나 어플리케이션 구성파일, 로그 파일 등이 존재한다. 이 곳에는 호스트마다 다른 특정한 정보들이 있다.- O/S install시 기본으로 /, /stand, /var, /opt, /usr, /tmp, /home의 file system이 구성됨.

 

1.2 Commands to Help You Navigate

- find : file 및 file system 의 구조를 탐색할 수 있다.[예제] # find . –size +1000000c|tee /tmp/bigfiles

ð

1M 이상의 파일을 찾아서 stdout 과 /tmp/bigfiles에 저장- whereis : source, binaries, man pages 을 찾을 수 있다.[예제] # whereis sendmail- which : PATH 변수에 설정된 환경 하에서 실행 파일을 찾을 수 있다.[예제] # which sendmail- file : file type을 알 수 있다.[예제] # file /usr/sbin/sendmail

 

1.3 시스템의 주요 정보 및 파일들

n

아래의 command를 실행한 후 출력 결과를 printer로 출력하여 보관한다.이 정보는 향후 시스템에 문제가 발생할 경우 필요한 최소한의 정보로 고객의 시스

템에 설치된 product에 따라 더 많은 Configuration file이 필요할 수도 있다.

시스템 관리자는 반드시 아래 내용을 Printer로 출력하여 두고 필요한 모든 Configuration file을 별도로 백업 받아둔다.

- System Configuration Information

# ioscan -fn

# strings /etc/lvmtab

# vgdisplay -v Volume-Group-Name

# lvdisplay -v Logical-Volume-Name

# bdf

# swapinfo

# sysdef

ð 현재 실행중인 o/s kernel 을 분석하여 tunable configuration parameter를 보여줌

# dmesg

# lpstat -t

# lvlnboot –v

ðboot, root, primary swap, dump logical volume에 대한 정보를 보여줌

# cat /stand/system

# cat /etc/passwd

# netstat –rn

# lanscan

 

n 시스템의 중요한 파일들/etc/passwd User ID 및 password가 들어 있는 파일/etc/group Group ID와 Group에 속한 User ID가 들어 있음/etc/fstab file system의 mount정보가 있음/etc/PATH 모든 사용자에게 적용되는 PATH 설정을 위한 파일. /etc/rc.log 시스템 부팅 시 생성되는 log 파일/etc/resolv.conf Name Server(DNS, NIS)를 지정하는 파일/etc/rc.config.d/namesvrs DNS, NIS Server 설정 파일/etc/rc.config.d/netconf hostname, ip-address, routing에 대한 정보가 있는 중요한 파일/etc/nfsconf NFS 설정을 위한 파일

 

n기타 configuration files

/etc/cmcluster/* HA Product(MC S/G, MC L/M) 의 configuration file 및 실행 파일

 

1.4 Log Files

n 무한정 커지는 log files

File name Command Description
/var/adm/wtmp last Successful login attempts
/var/adm/btmp lastb Unsuccessful login attempts
/var/adm/sulog
Log uses of “su” command
/var/adm/cron/log

/var/adm/lp/log

/var/adm/sw/sw*.log

 

- 대부분의 모든 log file들은 /var directory에 쌓인다.- O/S 및 Application 의 임시파일은 /tmp 혹은 /var/tmp directory에 쌓인다.- File system 관리적인 측면에서 정기적으로 clear 시키는 것이 좋다.

#cat /dev/null >/var/adm/wtmp or # >/var/adm/wtmp

 

n Core File

- Core File은 시스템의 어디서나 나타날 수 있다.

어떤 신호를 받을 때 만들어지고 종료되지 않은 프로세스의 코어 이미지이다.

가장 일반적인 원인으로는 메모리 위반, 잘못된 지시, 유동 소수점 예외, 버스

오류, 사용자 생성 종료 신호 등이 있다.- Core File을 이용하면 프로세스가 종료할 때 수행 중이던 일을 분석할 수 있다.[예제] # strings /tmp/core - 대체로 core 파일은 의미가 없고 size가 크기 때문에 파일 시스템 관리적인 측면

에서 삭제 해준다.

[예제] “core “ 파일을 찾아서 모두 삭제

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

 

n Large and Old Files

- Size가 5M byte 이상인 파일을 찾아냄.[예제] # find / -size +5000000c -print ( c: byte )- 5일 동안 Access하지 않은 파일을 찾아냄.[예제] # find / -atime 5days -print :

 

2. Kernel Configuration

2.1 커널의 위치

- 9.X /hp-ux

- 10.X /stand/vmunix

- 11.X /stand/vmunix

/stand/dlkm (DLKM, kernel function set directory)

2.2 커널 재구성이 필요한 경우

- Kernel parameter를 수정한 경우- 특정 driver를 추가/삭제한 경우- HP의 sub-system을 추가/삭제 한 경우

2.3 11.X 의 새로운 특징

n prior to 11.X - Static Kernel Modules

 

n 11.X – Dynamic Kernel Modules

 

2.4 커널 재구성 방법

n SAM 이용

n HP-UX 명령어를 이용

Ø 방법 1

# cd /stand

# cp system system.prev

# cd /stand/build

# /usr/lbin/sysadm/system_prep –s system

# kmtune –s dbc_max_pct=25 –S /stand/build/system

ðtunable parameter value 수정

ð-s dbc_max_pct : dynamic buffer cache 의 max percentage를 25 로 설정(set) 하라는 의미

ð-S /stand/build/system: system 파일을 명시, default는 /stand/system을 사용한다.

# kmsystem –c Y –S /stand/build/system stape

ðdriver/subsystem 추가 및 삭제

ðmodule configuration 및 loadable flag set

# cp –p system /stand/system

# mk_kernel –s system

ð 현재 directory에 vmunix_test 생성 됨

ðDLKM file은 “dlkm.vmunix_test” dir에 생성됨.

# kmupdate /stand/build/vmunix_test

ð 새롭게 생성된 kernel로 update한다. /stand에 있는 기존 version은 vmunix.prev와 dlkm.vmunix.prev로 자동 저장된다.

# cd /

# shutdown –r 0

Ø 방법 2

# cd /stand/build

# /usr/lbin/sysadm/system_prep –s system

# vi system ( 원칙적으로 kmtune/kmsystem 사용 권고)

ðtunable parameter 및 driver/sub-system 변경

# mk_kernel –o /stand/vmunix –s /stand/build/system

ð 현재 directory에 vmunix_test 생성됨. DLKM file은 “dlkm.vmunix_test” dir에 생성됨.

ð/stand 에 .update_ux라는 file이 생성되면서 rebooting시에 새로 만들어진 kernel이 자동으로 update 될 것이라는 message가 나타난다.

ð/stand에 있는 이전version은 vmunix.prev 와 dlkm.prev로 save되고 vmunix_test 가 vmunix로 dlkm.vmunix_test가 dlkm.vmunix로 부팅 시 자동 update된다.

# mv /stand/system /stand/system.prev

# cp system /stand/system

# cd /

# shutdown –r 0

 

[참조] 700 series(workstation) - 권장 Kernel Parameter 값

 

Parameter Original
Technical
Enhanced Technical Workstation Enhanced C/J Class Technical Fileserver
maxusers maxfiles maxfiles_lim maxdsiz maxtsiz maxssiz ninode maxuprc nproc* nfile* npty nstrpty maxswapchunks create_fastlinks netmemmax fs_async default_disk_ir 32 60 1024 64MB 64MB 8MB 476 50 276 32 60 60 256 0 0 0 0 128 254 2048 1280MB 512MB ~79MB 4000 256 1044 2730 200 200 1024 1 0 1 1





SAME






4096 1 -1 0 0
* Defaults based on Formulas 초기 설정값 성능을 강조한 구성 (가장 적합한 구성) Data integrity 를 강조한 구성

 

 

 

3. Swap/Dump Configuration

3.1 Swap

3.1.1 Swap의 개요

Swap 공간은 가상 메모리 시스템이 paging process에 사용하도록 예약된 고속의 기억 장치 이다. 실제 메모리는 컴퓨터의 유한한 자원이다. 아주 많은 프로세스가 실제로 수행하거나 실행할 준비가 되어 있다 해도 어느 한 순간에 실제 메모리에 들어 갈 수 있는 프로세스 수는 제한되어 있다. 실제 메모리 요구가 높으면 프로세스의 일부가 디스크상의 swap공간으로 옮겨지고 실제 메모리 요구가 낮으면 프로세스의 일부가 swap영역에서 메모리로 다시 옮겨진다.Vhand 데몬은 최근에 사용되지 않은 페이지를 찾아서 이들 페이지를 swap장치로 옮긴다. Statdaemon은 vhand가 메모리 요구에 맞을 만큼 충분히 빠르게 메모리를 비울 수 없다고 통지하면 swapper를 호출한다. 이때 vhand가 프로세스의 페이지를 swap 장치로 옮기고 swapper가 그 프로세스를 deactivation 시킨다.

 

3.1.2 Swap의 종류

        a. Device Swap : 오직 Swap 용도로만 사용되는 공간을 가짐. 주로 booting시 사용되는 Primary Swap 과 일반 작업 시 사용되는

            Secondary Swap으로 구분할 수 있다.

        b. File System Swap : 때에 따라서 Swap으로 또는 파일 시스템으로도 사용된다. Device Swap 보다느리게 작동한다. Windows의

            Temp 디렉토리 같은 역할.

c. Pseudo-Swap : 시스템의 메모리가 아주 클 때 memory 의 일부를(최대 physical memory size의 10%) swap으로 사용하여 시스템의 성능을 향상 가능함. Kernel parameter인 “swapmem_on”을 enable시켜야 사용 가능하다.

 

3.1.3 swap 영역 만들 때 성능 향상을 위한 고려 사항

          - Device Swap을 만들 시엔 하나의 큰 swap 영역보다 서로 다른 디스크에 위치

한 두개의 (및 같은 성능)의 swap이 더 좋다.

          - 한 디스크에 단지 한 개의 swap 영역 구성이 좋다. 즉 primary swap 이 위치

하고 있는 disk에 또 다른 swap 영역 구성은 좋지 않다.

          - 여러 개의 swap 영역 구성 시 서로가 비슷한 size 여야 한다.

          - 파일 시스템 swap을 만들 경우에는 access가 적은 disk 이며, 가장 빠른 디스크에 만드는 게 좋다

          - Swap 영역의 우선 순위는 device swap 영역을 파일 시스템 영역보다 높게 설정하고,같은 성능의 영역일 경우 동일한 우선 순위를

            부여한다.( 0 ~ 10, 0 이 가장 높은 순위)

 

3.1.4 Swap 만들기

newfs 또는 SAM으로 공간을 만들고 # lvcreate –L 1024 /dev/vg01/secswap

ð1GB size secondary swap 영역을 만든다.

/etc/fstab에 반영

   ð/etc/fstab 의 예
/dev/vg01/secsswap swap pri=1 0 0 # device swap
/dev/vg01/lvol2 /fileswap swapfs min=10,lim=4500,pri=2 0 0 # file swap

 

② /sbin/swapon 명령 으로 구동 시킬수 있다.

# swapon –a

ðfstab에 등록된 모든 swap 영역을 enable 시킨다.

# swapon /dev/vg01/secswap

ðsecswap 영역을 enable 시킨다.

 

3.2 Dump

3.2.1 crash dump 의 개요

crash dump는 시스템이 비정상 종료 시 physical memory 에 load 되었던 page들을 이미지 형태로 추출한 것이다. 이것은 비정상 종료를 유발시킨 원인을 분석하는데 중요한 근거 자료로 사용될 수 있기 때문에 아주 중요한 의미를 가진다.

3.2.2 crash dump 영역 특징

- 다른 덤프 영역을 특별히 지정하지 않으면, primary swap 영역이 사용된다.- 시스템에 여러 개의 다른 덤프 장치를 구성할 수 있다.- 덤프 장치로서의 논리볼륨(or 디스크 섹션)이 필요하다. (논리볼륨은 contiguous하고, bad block relocation 을 disable 해야 한다.) - Swap 영역과 dump 영역은 share 가능하지만 별도의 dump 영역을 설정하는 것이 좋다. (fast booting을 위해서, dump data를 안전하게 보호하기 위해서)

 

 

11.X 에서의 새로운 기능

No Prior to 11.X 11.X
1 Kernel에 구성 후 dump device 구성 가능 /etc/fstab에 등록
crashconf 명령어로 등록
ð No rebooting
2 Full dump 만 가능 full dump
selective dump
partial dump
3 Only root volume group 에만 dump device 구성 가능 Non-root volume group 에도 dump device 구성 가능
4 Savecore 명령어로 crash dump를 filesystem으로 save Savecore 명령어 없어짐. 대신 savecrash와 crashutil 사용
5 Tape으로 crash dump를 백업 가능 Tape으로 direct하게 formatting 불가. Filesystem에 복사 후 백업 명령어(tar)를 이용하여 tape에 백업 가능
6 Disk의 starting point로부터 4GB이내에 위치해야 한다. 제약 사항 없음.

 

3.2.3 Crash dump device 크기

          a. Full Dump

              Physical memory size + 10MB

          b. Selective Dump 시Physical memory size*0.25+10MB 혹은

시스템의 load가 많을 때 “crashconf –v”로 확인한 결과 값

          c. partial dump partial dump는 full dump를 기초로 구성된 영역 안에서 dump가 저장된다.

즉 physical memory가 32GB이고, dump device가 총 12GB가 구성되어 있다면, partial dump는 full dump 32GB 중에서 구성된 영역인 12GB가 저장된다.

 

3.2.4 Crash dump 구성

-.

SAM을 사용하는 방법

-.HP-UX 명령을 사용하는 방법

dump device 영역 생성

#lvcreate –C y –r n –L 2100 /dev/vg00/lvol9

dump device 등록

a.fstab에 등록

#vi /etc/fstab

<defive file name> <mount point> <type> <options> <backup frequency> <pass number>

/dev/vg00/lvol9 … dump defaults 0 0

                           #crashconf -a

                           혹은 command line에서 구성

#crashconf /dev/vg00/lvol9

b.dump device가 root disk에 구성 시에는 BDRA영역을 update 한다.

                        # lvlnboot –d /dev/vg00/lvol9

dump type 설정

a.selective dump 를 위한 memory class 정의

#crashconf –v

                                (default로 구성된 selective dump의 memory calss를 확인)

#crashconf –I <in-mem-class > -e <ex-mem-class >

b.full dump 구성

#crashconf –I all

or

#vi /etc/rc.config.d/crashconf

CRASH_INCLUDED_PAGES=”all”

               #/sbin/init.d/crashconf start

c. dump disable

#crashconf –e all

or

#vi /etc/rc.config.d/crashconf

CRASH_EXCLUDED_PAGES=”all”

                #/sbin/init.d/crashconf start

☞ NOTE
crashconf로 수행하는 모든 구성 사항은 시스템이 rebooting 후 사라지게 되므로 영구적으로 구성 시에는 /etc/fstab 및 /etc/rc.config.d/crashconf 에 구성한다.

 

3.2.5 Crash dump 받기(saving) - savecrash / crashutil

*

savecrash – booting 시에 수행savecore(prior to 11.x)와 비슷한 기능을 수행한다.

즉, dump device에서 filesystem으로 crash dump를 저장하고 shutdownlog에 reboot message를 기록한다.

#vi /etc/rc.config.d/savecrash

              SAVECRASH=1 로 설정 (default 임)Fast boot을 위해서 swap과 share하는 부분만 booting 시에 저장하고(즉, dump device를

              swap 영역과 share하기 때문에 부팅 후 swap activity에 의해 crash dump가 lost될 수 있다) 나머지 부분은 backgroup proces로

             실행된다. 이 부분은 특히 부팅 후 crashutil을 이용해서 저장할 수도 있다.

crashutil – booting 후에 수행- non-swap dump device에 있는 crash dump를 저장한다.- Dump format을 다양하게 변경 시켜 분석 tool(q4 or adb)에서 사용 가능하게 만든다.

 

Crash Dump 구성 사례

▷ 시스템 사양 : V2600/32GB

▷ 고객 요구사항 : 시스템이 비정상 종료 시에도 시스템의 uptime을 최대한 보장

하면서 비정상 종료를 유발한 원인 분석

      * Selective dump, 별도의 dump device 설정

# lvcreate –C y –r n –L 4200 –n dump1 /dev/vg00

# lvcreate –C y –r n –L 4200 –n dump2 /dev/vg01

ðdump 영역으로 total 약 8GB를 확보

# lvlnboot –d /dev/vg00/dump1

ðroot vg에 구성시 BDRA에 update 시킴

# vi /etc/fstab

/dev/vg01/dump2 … dump defaults 0 0

# crashconf –a

ðdump2를 enable

# crashconf –v

ðdump device 구성 확인 및 selective dump 확인

# vi /etc/rc.config.d/savecrash

SAVECRASH=0

ðfast boot을 위해서 dump를 부팅 시에 save하지 않고 부팅 후 save한다.

System panic 발생 Crash dump는 dump device에 저장됨(store) System이 완전히 부팅 후 !!

# savecrash –v –f

ð/var/adm/crash에 dump가 저장(save)되어 있음

# tar cvf /dev/rmt/0m ./var/adm/crash ./etc/shutdownlog

HP RC로 Call 접수

 

[관련 화일들]

   /sbin/init.d/crashconf à /etc/rc.config.d/crashconf/sbin/init.d/savecrash à /etc/rc.config.d/savecrash

/etc/fstab

/etc/shutdownlog

/var/adm/crach

/sbin/crashconf

/sbin/savecrash

/sbin/crashutil

 

 

4. Device Configuration

4.1 Device file의 개요

*Device file이란?Device file은 kernel에 포함된 driver(device와 관련된 중요한 정보)를 참조하고(major number를 통해서), device가 연결되어 있는 시스템의 H/W 위치를 지칭 한다.(minor number를 통해서) HP-UX는 device file을 통해 주변기기의 동작을 수행하며, device file의 성격에 따라 그 수행동작을 달리한다.

 

* Device file type

- Block device file or character device file

          - 같은 device가 두 가지의 device file을 가지는 것도 있다.

          a. Block device file. 시스템 버퍼를 이용하여 데이터를 block 단위의 묶음으로 전송. I/O 속도가 빠르다..

                주로 기억 장치에 사용 (hard disk, optical disk)

            b. Character device file. 데이터를 한번에 한 문자씩 전송. 단말기, 프린터, 플로터 등에 사용

 

 *

“/dev” Directory 구조

               device file은 /dev에 저장되며 각각의 device에 따라 subdirectory로 분류된다.

* Device file naming convention

Device file naming conventions prefix [id or device spec] [options]
예제1 /dev/rmt/0m id 를 사용한 예제즉 0m은 시스템 or 시스템 관리자에 의해 부여된 id일 뿐이다.
예제2 /dev/dsk/c0t6d0 Device spec을 사용한 예제c# : Interface Card instance
t# : Target address on bus
d# : Device unit at target

 

4.2 Listing device file

 

a. ll

b. ioscan

             : 시스템에 구성된 devic의 h/w path, 해당 device와 관련된 모든 device file을 보여준다.

            [예제1] # ioscan –fn

ð f : 시스템의 hardware를 scanning해서 full list 형태로 보여준다.

ð n : device file name 을 보여준다.[예제2] # ioscan –fnkC disk

ð Kernel i/o system data structure(실제 h/w를 scanning하지는 않음)를 scanning해서 class가 disk인 device만

   full list 형태로 보여준다.

c. lsdev

             : 시스템에 구성된 device driver를 보여준다.[예제1] # lsdev

ð <character> <block> <driver> <class> 의 순서로 보여줌[예제2] # lsdev –d spt

ð driver가 spt 인 device driver 의 list를 보여줌

d. lssf

             : device file의 특성을 보여준다.[예1] # lssf /dev/rmt/0m

 

4.3 Device file 의 생성 및 삭제

Device file 생성방법

Ø autoconfiguration

부팅 시 “ioinit “ process에 의해서 new device가 인식되어 해당 device file

이 자동으로 생성 된다.

Ø SAM

Ø insf

                  - System에 의해 instance number가 할당되지 않았을 때 사용- 한번에 여러 개를 구성 시 사용. - 새로 모든 장치를 재구성 시 사용

# insf -e

ð시스템에 있는 모든 device의 file을 새로 생성하거나 재생성

# insf –H 4/2/0 -e

ðaddress가 4/2/0에 있는 device의 device file 재생성

Ø mksf

                  - System에 의해 instance number가 할당되었을 때 사용- 특정 device file을 구성 시 사용

# mksf –v –r –C disk –m 0x005000 /dev/rdsk/c0t5d0

ðscsi address가 5번인 disk의 character device file을 생성

# mksf –v –C disk –m 0x005000 /dev/dsk/c0t5d0

ðscsi address가 5번인 disk의 block device file을 생성

Ø mknod

                  - Major number와 minor number를 이용하여 만든다.

# mknod /dev/spt/robotic_arms c 231 0x110000

ðMajor number가 231(driver number)이고 minor number(device

위치)가 0x110000인 device file을 생성

Ø rmsf

                  - 필요 없는 device의 관련된 device file(one or more)을 삭제할 때 사용

# rmsf –a –H 4/2/0

ð address가 4/2/0 이하인 모든 device file을 삭제

 

Device 설치 예제 (device file 생성) [예제 1] DLT library의 robotic controller를 위한 device file 만들기 (HP-PB)

ioscan으로 robotic controller의 H/W path를 찾는다.

# ioscan –fn

ð 현재는 “unclaimed unknown”으로 display 된다.

Kernel에 해당 driver를 포함시킨다. (다음 두 줄이 추가됨)

#vi /stand/system

spt

driver spt <H/W Path>

③ Kernel을 새로 구성한다.

☞ “Chap 4 kernel configuration” 참조

④ Spt driver의 character major number를 알아낸다.

# lsdev –d spt

ð Major number가 XXX 라고 가정

⑤ Robotic arm의 minor number를 알아내기 위해 해당 위치를 알아낸다.a. Robotic controller가 연결되어 있는 ext_bus class의 instance number 두 자리(AA)b. Robotic controller의 target class의 SCSI address 한자리(B)c. Robotic controller의 LUN number 한자리(C)

# ioscan –fn

“mknod” 명령어를 이용하여 device file을 만든다.

      #mknod /dev/spt/robotic_arms c XXX 0xAABC0000

생성된 Device file 을 확인한다.

     # ioscan –fnH <H/W Path>

ð 새로 생성된 device file이 display 된다.

     # mc –p /dev/spt/robotic_arms –r <I><D><S><M>

ð 생성된 robotic controller의 device file을 이용하여 DLT Library

상태를 display 해 본다.

 

            [예제 2] DDS3를 사용하는 tape 장치에서 DDS2용 device file 만들기

기존 DDS3의 driver 및 H/W Path 알아내기

# ioscan –fnkC tape

ð drive 및 H/W path를 알아낸다.Drive는 stape, H/W Path는 0/0/1/0.0.0 이라고 가정(N class)

② DDS2 용 device file 만들기

# mksf –d driver –H 0/0/1/0.0.0 –b DDS2 /dev/rmt/DDS2

③ Device file 확인하기

# ioscan –fnkC tape

ð 생성된 device file “/dev/rmt/DDS2” 가 display 된다.

# lssf /dev/rmt/DDS2

ð“DDS2 DAT” 라는 description이 display된다.

 

5. Disk 구성

5.1 Disk partitioning

*

Disk partition 이란?사용자의 목적에 맞게 size, 성능, 안정화 방안 등을 고려하여 만든 physical disk의 일부분

*

Disk partitioning 방법 a. Whole disk partitioning : 구성이 간편b. LVM : 많은 관리상의 유연성 및 융통성(flexibility) 제공

5.2 LVM 개요

- Logical Volume Manager

                   - OSF Product

                   – HP-UX 9.x 부터 O/S 에 bundle 되어 있다.

                   - Disk 관리를 위한 kernel에 기본 내장된 sub-system이다.

                   - LVM은 volume group이라는 disk의 집합을 만들고 volume group 내에 공간을 논리적 volume(lvol)으로

                     분할하여 각각의 partition을 구성할 수 있다.

5.3 LVM 구성 요소

* Physical Volume

                   - 의미 : LVM에 의해서 관리되는 물리적인 디스크. 즉 일반 물리적인 디스크에 LVM 데이터 구조가 생성된 디스크.

- Device file

                     (예) /dev/rdsk/c0t6d0 character device file

/dev/dsk/c0t6d0 block device file

                   - 생성 방법

# pvcreate –f /dev/rdsk/c0t6d0

* Volume Group

                   - 의미 : 한 개 이상의 physical volume으로 구성된 disk pool

- Device file

                     (예) /dev/vg01 vg01과 관련된device file을 가지고 있는 directory

/dev/vg01/group “vg01” volume group device file

                   - 생성 방법

# mkdir /dev/vg01

# mknod /dev/vg01/group c 64 0x010000

# vgcreate /dev/vg01 /dev/dsk/c0t6d0

* Logical Volume

                  - 의미 : 각각의 filesystem을 구성하는 단위로서 partition 과 같다.특정한 volume group 안에서 생성가능 하다. volume group이

                              다수의 disk로 구성된다면, lvol은 한 개의 disk 범위를 넘어 설정될 수 있다.

- Device file

                     (예) /dev/vg01/lvol1 block device file

/dev/vg01/rlvol1 character device file

                   - 생성 방법

# lvcreate –L 1024 /dev/vg01

ð 크기가 1024 MB인 logical volume을 생성

* LVM Table

                  - 의미 : 모든 LVM 정보를 가지고 있고, LVM 구성 시 자동으로 생성 및update 된다. 시스템 부팅 시 참조되어 해당 volume group을

활성화 시킨다.

                  - 위치 : /etc/lvmtab

# strings /etc/lvmtab

ð 현재 LVM 정보를 display 한다.

# mv /etc/lvmtab /etc/lvmtab.org

# vgscan –v

ð 기존 LVM 정보를 다른 이름으로 저장 후 , 현재 LVM 정보를 읽어

                               /etc/lvmtab 파일을 새로 생성

 

Volume group 생성 예제

# ioscan –fnkC disk

ð physical volume 으로 구성할 disk의 device file을 확인

# pvcreate /dev/rdsk/c2t2d0

ð physical volume으로 구성

# mkdir /dev/vg01

ð volume group 의 device file이 저장 될 directory 생성

# mknod /dev/vg01/group c 64 0x010000

ð volume group device file 생성

# vgcreate /dev/vg01 /dev/dsk/c2t2d0

ð 하나의 disk를 volume group으로 구성

# lvcreate –L 500 /dev/vg01

ð volume group vg01에 크기가 500MB인 logical volume 구성

ð logical volume 이름은 기본으로 lvol1(만들어진 순서에 따라)으로 생성

# newfs –F vxfs /dev/vg01/rlvol1

ð logical volume lvol1을 vxfs type인 File system으로 만듦

# mount /dev/vg01/lvol1 /data1

ð 특정 directory에 mount 시킨다.

 

6 File system 구성

6.1 File system concept

6.1.1 File system types

a. HFS (High performance File System)

                  HP-UX를 위한 Unix File SystemHP-UX 11.X 이전 시스템에서의 기본 file system type

b. JFS (Journaled File System)

                   HP-UX 11.X 부터 시스템 기본 file system type

                   - Base JFS : 빠른 복구 기능, 10.01 이후부터 O/S에 내장됨.

                   - Online JFS : 별도 구매 제품Online defragmentation and reorganization 가능
                                         Online expansion and contraction of file system size 가능Online backup 가능

c. NFS(Network File System)

               d. CDFS(CD-ROM File System)

6.1.2 File system 구조

             User data와 Metadata로 구성됨.

* User data

실제 사용자 데이터 파일

* Metadata

▷ Superblock

                              - File system에 대한 일반적인 정보를 가진다. 즉 file system type, 크기, 상태(status) , 그 밖의 metadata structure에 대한                                    pointer 등- Superblock은 중요한 정보를 담고 있기 때문에 여러 복사본을 유지하고 있다.

▷ Inode

                              - 파일의 정보, type, size, permissions, owner, group 등- 각각의 inode는 unique number(inode number)가 있어
                                그 number
로 인식된다.

▷ Directories

                              - 파일 이름과 inode number 사이의 mapping 정보를 가지고 있다.

 

6.1.3 Hard Link vs Symbolic link

* Hard Link

                  : Source file과 link된 파일이 서로 같은 inode number를 가진다.

* Symbolic link

                  - Source file과 link된 파일이 같은 data block을 참조하지만, 서로 다른 inode number를 가진다.- 한File system과 다른 file system

                   사이에 link을 구성할 수 있다.- Directory에 대해서도 link를 구성할 수 있다.

 

6.1.4 HFS overview

HFS구조

* HFS Block and fragments

▷ Block

- Block은 한번에 데이터를 읽고/쓰는 단위 - 4K,8K,16K,32K,64K의 단위로 설정가능, 기본은 8KB.

▷ Fragments

- 파일에 할당할 수 있는 가장 작은 단위- 1 block , 1/2 block, 1/4 block, 1/8 block 의 단위로 설정 가능,

기본단위는 1KB

- 파일의 끝 부분에만 할당가능. 즉 파일 생성시 먼저 block을 할당

나머지 부분에 한해 fragments를 할당한다.

▷ Block 및 fragments 모두file system 생성 시 size를 결정할 수 있다.

# newfs –F HFS –b 8192 –f 4096 /dev/vg01/rlvol1

ð block size는 8KB, fragments size는 block size의 1/2인 4KB로 설정함.

 

6.1.5 Vxfs Overview

Vxfs 구조

* Vxfs block and extent

▷ Block

- file에 할당할 수 있는 가장 작은 단위- 크기는 기본적으로는 1KB이며, 이 값이 가장 적합하다.

▷ Extent

- 여러 개의 block의 연속적인 그룹(contiguous group)- 파일 생성 시 extent가 할당된다.- Block이 연속적이기 때문에 파일 I/O가 빠르다.

 

6.1.6 HFS vx Vxfs

HFS Online JFS (=vxfs)
Performance Fast very fast
Recovery fast (size에 따라 비례) very fast (size와 무관)
Reorganization Not supported supported
Defragmentation Not supported Supported
Online resizing Not supported Supported
Contraction Not supported Supported
Online backup Not supported Supported
Management easy Some operation is required
(defragmentation 등)
Kernel file system supported Not supported
Inode management Static at creation time Dynamic
기 타 O/S base 별도 구매 제품

 

6.2 File system creation

File system 생성

# newfs –F HFS –b 4096 –f 2048 –o largefiles –i 4096 –m 5 /dev/vg01/rlvol1

ð Type은 HFS, block size는 4K, fragment size는 2K

ð Largefiles 을 enable시켜서 2GB이상의 file 생성 가능

ð Inode 당 bytes의 수는 기본 6144에서 4096byte로 설정. 즉 inode수가 기본 설정값 보다 많이 생성된다.

ð Minfree 의 percentage를 기본 10% 에서 5%로 줄임.

# newfs –F vxfs –o largefiles /dev/vg01/rlvol2

ð Type은 vxfs이고 largefiles을 enable 시켜서 2GB이상 file 생성 가능

ð Vxfs는 “-o largefiles”를 제외한 나머지 option은 기본값을 사용하는 것이 좋다.

Mount 할 directory 생성

# mkdir /data1

Mount 시키기

# mount /dev/vg01/lvol1 /data1

# mount –a

ð Fstab에 등록된 모든 entry를 mount 시킨다.

Umount 시키기

# fuser –us /data1

ð “data1” file system을 사용하는 모든 user id 및 pid를 보여준다.

# fuser –kuc /data1

ð file system 를 사용하는 user id 및 pid를 보여주고 kill 로 해당 프로

세스를 죽인다.

# umount /data1

Fstab에 등록시스템이 start-up 시 fstab의 entry를 읽어 자동으로 각각의file system을 해당 directory에 mount 해 준다.

# vi /etc/fstab


▷ Block : mount 될 block device file

▷ Directory : mount point

▷ Type : can be one of

- File system type: cdfs, hfs, nfs, vxfs, lofs- Swap- Swapfs- Dump- Ignore

▷ Options : 각각의 type에 대한 options

▷ Backup-frequency : 현재는 사용 용도 없음.

                    ▷ Pass-number : 시스템 부팅 시 file system을 점검하는(fsck) 순서

                       - “0” : fsck 가 무시된다.- “1” : root file system- “2~” : 그 밖의 file system

 

* HP cdrom 사용하기
 CDROM device 확인
# ioscan –fnkC disk
 Mount 시키기
# mount /dev/dsk/c0t2d0 /SD_CDROM
* Non-HP cdrom 사용하기
  Non-HP 용 cdrom은 대부분 PC CD-ROM 용으로 file system type이 여러 가지 이다. 이것들은 대부분 대문자 및 semicolon을 포함하고

  있어  mount 시 특별한 option 이 필요하다.
# mount –F cdfs –o cdcase /dev/dsk/c0t2d0 /SD_CDROM
  대문자 및 semicolon이 소문자로 전환된다.

[참조] CDFS (CD-ROM File System)

 

Non-HP CDROM 사용 시 유용한 정보

* 개요
  Non-HP 용 CD-ROM에 있는 파일 이름이 대문자로 보이거나 파일 이름 중간에 ";"이 들어 있는 것을 발견할 때가 있다. 이럴 때 다음과 

 같이 PFS명령을 이용하면 쉽게 해결할 수 있다.
  PFS는 다양한 CD-ROM file system을 지원하는데 현재까지 지원되는 파일 시스템으로는 iso9660, high sierra, RockRidge Interchange가 있다.
* CD-ROM Mount/Umount 방법
① # /usr/sbin/pfs_mountd &
② #/usr/sbin/pfsd 4 &
   ð pfs mount를 위한 daemon process를 띄우는 것이다.
③ #/usr/sbin/pfs_mount -t iso9660 -o xlat=unix /dev/dsk/c0t2d0 SD_CDROM
   ð 여기서 -t 옵션에는 iso9660(ISO9660 포맷), hsfs(High Sierra 포맷), rrip(RockRidge 포맷)이 있고 -o xlat=unix 옵션은

    모든 대문자를 소문자로 바꿔주고 파일 이름 중간에 있는 세미콜론(;)도 없애 준다.
④ #/usr/sbin/pfs_umount /dev/dsk/c0t2d0
   ð pfs_mount로 mount 한 것은 반드시 “/etc/umount” 대신 “/usr/sbin/pfs_umount”를 사용해야 한다.

[참조] PFS(Portable File System)

 

6.3 File system repair and management

* File system updates

시스템은 데이터를 buffer cache 내에서 update 후 나중에 disk로 write 를 한다. 따라서 데이터의 정보가 정확하기 위해서는 buffer cache의 내용과 disk의 내용을 일치시키는 일이 중요하다.

               시스템은 데이터의 일관성을 보장하지만, 비정상적인 종료로 인해 buffer cache에는 update가 되었지만 실제로 disk에 write가 되지

               않았을 경우에는 데이터의 일관성 즉, file system 정보가 깨지게 된다.

* Sync, syncer

▷ Sync

            - Buffer cache의 내용을 disk에 write 한다.- File system의 일관성을 유지한다.- “syncer” daemon이 정기적으로 호출하여

              buffer cache의 내용을 disk에 write한다.

            - 사용자에 의해 임의로 호출하여 buffer cache의 내용을 disk에 update 할 수 있다.

▷ Syncer

            - 시스템 부팅 시 호출되어 sync 명령어를 정기적으로 실행시킨다.

* Fsck

                 - File system의 metadata의 일관성을 유지한다.- Metadata가 깨졌을 시에 복구를 시도한다.

# fsck –F HFS –y /dev/vg01/rlvol1

ð F/s type이 HFS 이고, 모든 response 에 yes로 답하여 깨진 파일에 대해 복구 및 삭제를 실시한다.

# fsck –F vxfs –o full /dev/vg01/rlvol2

ð F/S type이 vxfs 이고, intent log 가 아닌 전체 metadata 에 대해서 점검을 실시한다.

* lost+found

                  - fsck로 점검 후 깨진 file이 이 디렉토리 내에 생성된다.- 파일의 이름이 inode number로 생성되기 때문에,파일의 일부 정보를 가지고

원래 파일 이름을 추측하여(file , strings, what 등의 명령어를 이용하여 original file 을 추측) 원위치에 복사한다.- “lost+found”

directory가 삭제 되었을 시 mklost+found 명령어로 다시 생성한다.

*File system management

bdf # bdf –i
전체적인 파일 시스템 크기 및 사용 현황, free space 등을 보여준다. inode 사용 현황까지 보여준다.
du # du –sk /data
directory의 disk 사용량을 KB로 보여준다.
extendfs # extendfs –F vxfs /dev/vg01/rlvol1
file system의 크기를 늘린다. (Logical volume 확장 후 사용)

 

 

7. 시스템 기동 및 정지

7.1 Operation states

* Muti-user mode

          - 보통의 시스템 운영 상태- 일반 사용자들이 log-in 할 수 있다.- File system이 mount 되는 상태- 대부분의 service 및 daemon이

            기동된 상태

* Single-user mode

          - 특별한 시스템 작업을 위한 시스템 상태. - 오직 root 사용자 만이 log-in 가능하다.- O/S 상의 주요한 file system 만 mount 된다.

          - 대부분의 service 및 daemon은 정지된다.

 

7.2 시스템 기동 ( V-class 제외)

7.2.1 BOOT ROM의 시작 단계

시스템 전원을 ON하면 Boot Program이 초기화를 수행하고 H/W검사가 완료되면 기본 부트 경로와 콘솔 경로를 초기화 하면서 화면 아래와 같은 부트 메시지가 나온다.

* 자동 부팅 (autobooting)

         터미널 화면에 표시된 것처럼 10초 이내에 아무런 key를 누르지 않는다면,시스템은 자동으로 부팅이 됩니다. (Primary Boot Path에

         설정된 device로 Boot)

* 수동 부팅 (manual booting)

          10초 이내에 어떤 key를 누르게 되면(700 시스템은 ESC), 시스템은 수동 부트 모드 상태로 전환됩니다.

 

수동부트로 전환되면 아래와 같은 PDC Main Menu 화면이 나타납니다.

Boot device path 찾기 “Main Menu” 에서 ‘sea’ 를 입력하면 부팅 가능한 boot path를 보여준다.여기서 나타난 boot device의 path로 부팅을 시도한다. boot disk ( root disk)가 fail일 경우 혹은 system install시 tape이나 CD-ROM 으로 booting시 해당 device의 path를 찾고자 할 때 ‘search’ 를 사용한다.

② Booting 하기

-Main Menu : Enter Command or Menu : bo pri

  ð Primary boot path 로 부팅한다. (일반적으로 root disk)

-Main Menu : Enter Command or Menu : bo alt

  ð Alternative boot path로 부팅한다. (tape 혹은 CD-ROM)

-Main Menu : Enter Command or Menu : bo p6

ð ‘search’ 결과에서 보여지는 특정 device의 index를 지정해 부팅한다.

③ 단일 사용자 모드로 부팅하기

Interact with IPL (Y or N) ? > y /* “y”를 입력한다. */

☞ ISL(Initial System Loader) 부트를 interact 방식으로 한다.

ISL> hpux –is

☞ ISL 프롬프트에서 아래와 같이 입력한다.

 

④ 예비 커널로 부팅하기

Interact with IPL (Y or N) ? > y /* “y”를 입력한다. */

☞ ISL(Initial System Loader) 부트를 interact 방식으로 한다.

ISL> hpux disc(52.6.0;0)/stand/vmunix.prev

☞ ISL 프롬프트에서 아래와 같이 입력한다.

 

[참조] V-Class 시스템의 부팅 과정

V-class 시스템은 ISL 단계가 없어졌다. 따라서 ISL에서 실행했던 작업들은 모두PDC/ROM의 단계에서 실행한다. 즉 ISL mode에서 hpux 명령어를 사용했던 사항들은 PDC/ROM 단계(Main Menu prompt 상태)에서 “boot” 명령어를 이용한다.

[예제] MainMenu> boot –is[예제] MainMenu> boot –is /stand/vmunix.prev

 

 

 

7.2.2 Kernel 의 시작 단계

부팅 ROM의 시작 단계에서 하드웨어를 점검한 후, 부팅 프로그램은 운영 체제의 복사본 즉, 커널(/stand/vmunix)을 찾아서 시스템의 메모리에 로드하여 사용자가시스템을 사용할 수 있도록 작동시킨다.

 

▶ 메모리에 로드된 /stand/vmunix는 다음과 같은 순서로 작업을 수행합니다.

① 하드웨어 장치를 찾아서 구성합니다.

② 루트 파일 시스템을 찾고, 쉘을 시작합니다.

/sbin/pre_init_rc에서 명령을 읽습니다.

④ 첫번째 프로세스인 /sbin/init은 /etc/inittab의 초기화 파일을 읽어들여서,정상적인 작업 조건의 환경을 정의합니다.

⑤ 시스템 부트가 완료되면 시스템 콘솔에서 Startup Checklist가 나오며, 시스템 환경에 필요한 스크립트를 수행합니다. 이 내용을 검증하여 시스템의정상 구동 여부를 확인합니다.

⑥ 시스템 Start-up Checklist가 완료되면 Login 프롬프트가 나오면 시스템 booting이 완료된 것입니다.

 

▶ 커널이 메모리에 로드된 후의 진행 사항을 그림으로 보면 다음과 같습니다.


 

7.3 시스템 정지

시스템을 종료 시 불가피한 상황을 제외하고는 “shutdown” 혹은 “reboot” 명령어를 사용하여 정지시킨다. 시스템이 완전히 정지 된 후 주변 장치의 전원을 OFF 시킨다.

shutdown 방법 – “shutdown” 명령어 사용 방법shutdown은 시스템 활동을 질서 정연하고 일관된 방법으로 정지시킨다. 시스템 활동이 멈춘 후에 관리 작업을 수행하거나 시스템을 재부팅 하거나 종료 시킬 수 있다.

 

▷ “shutdown” 명령어는 다음과 같은 일을 수행함.- 지정된 시간(초 단위)동안 기다린다.- /etc/rc.config.d의 모든 파일을 실행한다. 이들 스크립트는 나중에 /sbin/rc에서평가된 변수만을 설정한다.- /sbin/rc*.d(여기서 *은 현재의 실행 수준임)에서 실행 수준을 1씩 감소 시켜서 /sbin/rc0.d까지 모든 stop 스크립트를 실행시킨다. Stop 스크립트는 대문자 K로 시작하는 이름을 가진 실행 스크립트이다.

 

[Syntax]
/sbin/shutdown [-r or –h] [grace]
[옵션 설명]no options 단일 사용자 모드로 전환-h 시스템이 단일 사용자 모드로 들어간 후에 시스템을 정지-r 시스템이 단일 사용자 모드로 들어간 후에 시스템을 다시 부팅grace 유예 시간을 지정 가능. 즉 주어진 값은 shutdown이 시스템에서 실행중인 모든 프로세스를 종료 시키기 위해 기다리는 시간이다.(초 단위) 기본값은 60초임

 

[예제] # shutdown or #init s

ð 다중 사용자 모드에서 단일 사용자 모드로 이동 시 사용[예제] # shutdown –h 60

ð 60초 후에 시스템 완전 종료 시작함.[예제] # shutdown –r 0

ð 0초 후에 시스템 재부팅 시작함.

 

Reboot 방법 – “reboot” 명령어 사용 방법선택 항목을 지정하지 않고 shutdown 명령어를 사용하여 시스템을 종료 시키면 시스템은 단일 사용자 실행수준으로 남아 있으므로 여러 작업을 수행할 수 있다. 이들작업을 수행 한 후 “reboot” 명령어를 사용하면 시스템을 다시 부팅하거나 정지 시킬수 있다.

 

Reboot 명령의 기본 활동은 디스크와 메모리의 내용을 동기 시키고 시스템을 다시부팅하는 것이다. 이 명령은 언제나 시스템이 단일 사용자 실행 수준에 있을 때 사용한다.[예제] #reboot or #init 실행수준의 값( 예, #init 4)

ð 단일 사용자 모드에서 다시 부팅 시 사용[예제] #reboot –h

ð 단일 사용자 모드에서 완전히 시스템을 종료 시 사용

 

7.4 Run level

* Run levels

* Viewing and change run level

          - 현재 run level 및 이전 run level 상태 보기

          [예제] # who –r- run level 변경하기[예제] # init 4

ð run level 4로 변경

*

Inittab 파일“init” process는 /etc/inittab 파일의 내용을 읽어 실행한다. Inittab 은 시스템 기본 run level을 정의하고, console, modem 및 teminal의 login process를 관장하는 getty or uugetty 데몬을 실행시켜 준다.

[예제] # vi /etc/inittabinit:4:initdefault: à default run level을 4로 변경# init q à “init” 데몬이 rescan하여 inittab 파일 변경을 감지함.

 

8. HP Software/Patch 설치 및 제거 with SD-UX

8.1 Software Distributor-HP-UX 개요

Software Distributor-HP-UX(SD-UX)는 software 관리와 관련된 모든 작업 사항(설치,제거,수정,구성)을 수행하는 프로그램이다. 향상된 기능을 갖춘 SD-O를 사용하면 한 node에서 나머지 다른 node들의 software management가 가능하다.

8.2 SD-UX command 사용법 요약

* swcopy

시스템 관리자가 소프트웨어 패키지로부터(or depot 로부터) 특정 depot 으로 복사

하는데 쓰이는 명령으로, 여러 개의 depot을 하나의 depot으로 만들 때 유용하다.

SD-OV를 이용하면 한 node의 disk에 depot을 swcopy 후 central에서 나머지 node로 한번에 install 수행할 수 있다.

* swinstall

           CD-ROM/테이프 또는 특정 depot 로부터 local host에 소프트웨어를 설치하거나 업데이트 한다.

           [예제1] 현 디렉토리내에 있는 software라는 depot에 있는 모든 소프트웨어를 설치

# swinstall –s $PWD/software \*

           [예제2] HP에서 제공된 CD-ROM으로 소프트웨어를 설치할 때

# ioscan –fnkCdisk

ð CDROM 의 device file을 확인, N4000일 경우 /dev/dsk/c0t2d0

# mount /dev/dsk/c0t2d0 /SD_CDROM

# swinstall –s /SD_CDROM

☞ NOTE
11.0에서 /SD_CDROM의 mount 는 생략 가능하다. 즉, swinstall –s /SD_CDROM 과 같이만 사용해도 OS에서 자동으로 mount 시켜 읽어온다.

 

* swlist

현 시스템, depot 혹은 미디어에 있는 소프트웨어의 목록을 보여준다.[예제] 시스템에 설치되어 있는 소프트웨어 및 patch를 보여줌

# swlist

                 [예제] 시스템에 설치되어 있는 software 를 level 별로 보여줌.

# swlist –l <root/depot/bundle/product/subproduct/fileset/file>

                 [예제] CD-ROM내의 depot 내용을 보여줌

# swlist –s /SD_CDROM

 

* swpackage

소프트웨어 업체나 시스템 관리자가 소프트웨어를 패키지 하는데 쓰이는 명령.

                 [예제] 현 디렉토리내에 있는 software라는 depot에 있는 모든 소프트웨어를

테이프에 패키지할 때

# swpackage –s `pwd`/software –d /dev/rmt/0m –x target_type=tape

* swremove

현 시스템에 설치되어 있는 소프트웨어나 depot에 있는 소프트웨어의 제거.

              [예제] 현 시스템에 설치되어 있는 B3910AA_APZ이라는 이름의 소프트웨어bundle을 제거하고자 할 때

# swremove B3910AA_APZ

              [예제] 만일 현 시스템에서 쓰고 있는 라이브러리나 커널과 연관이 있는 제품을

제거할 때

# swremove –x autoreboot=true B3910AA_APZ

* swconfig

              Install 된 software를 configure 시킨다. 대체로 swinstall 수행 시 swconfig가 수행

되지만 configuration이 실패 시 manual로 수행해 준다.

            [예제] 시스템에 있는 모든 fileset을 configuration 할 때

# swconfig \*

            [예제] 시스템에 있는 B3910AA_APZ를 configuration 할 때

# swconfig B3901AA_APZ

* swverify

         install 된 software의 integrity 를 점검한다. Software나 patch를 install 후 install 의 성공여부를 확인하기 위해 사용될 수 있다.

           [예제] 시스템에 있는 모든 filest을 점검

# swverify \*

            [예제] 시스템에 있는 B3901AA_APZ을 점검

# swverify B3901AA_APZ

* 그 밖에 swacl , swmodify , swreg 등이 있다.

 

8.3 HP 소프트웨어 설치 방법

# /etc/mount /dev/dsk/c1t2d0 /SD_CDROM

# /usr/sbin/swinstall –s /SD_CDROM

ð software install을 실시하면 TUI 혹은 GUI가 뜬다.

설치하려는 소프트웨어와 관련된 부분을 선택한 후 Action 메뉴에서 “Mark for Install”을 실행시킨다.

④ 다시 “Action Menu” 밑에 있는 “Install(Analysis)를 실행시킨다.(HPUX 10.20 부터 Mark 과정 생략 가능함)

ð 이때 "Install Analysis" window가 나타난다.

ð 여기서 Analysis가 끝나면 "View Log File" button을 누른다. 마지막 줄에 "The Analysis Phase succeeded"라고 나오면 Analysis가 무사히 끝난 것이다.

ð 만일 error가 나타나면 가장 처음 error로 가서 내용을 확인한 후 조치를 취한다.대개의 경우 조치 사항이 log에 기록되어 있다.

⑤ 그 다음 "Install Analysis" window로 돌아가서 "OK" button을 누른다.

ð 계속되는 질문에 "OK"를 선택하면 Install이 수행된다.

⑥ 다 끝나면 "Done" button을 누른 후 swinstall을 종료한다.

ð Software 종류에 따라서 시스템을 재 부팅하기도 한다.

⑦ Install을 확인하려면 "swlist" 라는 명령을 실행한다.

 

8.4 Patch 설치 방법

① patch 화일을 /tmp 밑에 다운로드 받는다.

ð 예제로 “PHSS_12345” 을 설정

② HP-UX에서 shell archive를 푼다

# sh PHSS_12345

ð PHSS_12345.depot 와 PHSS_12345.text 가 생성됨.

# swinstall -s /tmp/ PHSS_12345.depot

ð 여기서 –s 다음에 절대경로를 써야 함.

ð GUI or TUI 가 뜬다.

ð Non-interactive mode에서 작업 시는 full option을 준다.

# swinstall –x autoreboot=true –x patch_match_target=true \

-s /tmp/PHSS_12345.depot

④ 나머지 사항은 “7.2 HP 소프트웨어 설치법”의 3번부터 동일

 

[참조1] swinstall 시 주의 사항

위에서 현재 CD-ROM에 있는 모드 소프트웨어를 설치하려면 “swinstall –s /cdrom \*”을 수행.

소프트웨어를 설치하려고 하던 중에 /etc/fstab에 있는 내용 중에 일부가 마운트되지 않았다는 메시지가 나오는 경우: 해당 entry를 /etc/fstab에서 삭제하거나 swinstall의 옵션에서 마운트에 관련된 사항을 확인하는 옵션을 disable 한다.

그밖에 Analysis 작업 도중 에러가 발생하면 “View Log” 버튼을 클릭하여 로그 화일의 내용을 살펴 보아야 한다. 대개의 경우 로그 파일에 조치사항이 나와 있다.

 

[참조2] Patch 파일 받는 방법

Patch 란?Patch란 HP가 제공하는 H/W, OS 및 application s/w에 문제나 버그가 발견될 시 해결을 위해 제공하는 fix s/w를 말한다. 이것은 계속해서 내용이 update되고 새로운내용이 추가 된다.

* Patch Site

   HP의 Patch는 “HP Electronic Support Center”라는 국제적인 Web을 통해 제공된다. URL http://us-support.external.hp.com 또는 http://www.itresourcecenter.hp.com이 web site에 들어가면 User ID와 Password를 확인하는데 처음으로 이 site를 방문할 경우 “New Users Register Now!”를 선택하여 User 등록을 하면 곧바로 ID와 password를 받을 수 있다.원하는 patch를 찾으려면 정확한 patch 번호를 아는 것이 제일 좋지만 대개의 경우 keyword에 의해 찾을 수 있다.

 

[참조3] HP Software Web Site 소개

HP-UX 사용자들에게 매우 유용한 Web Site가 있다.URL http://www.software.hp.com/

이곳에는 다음과 같은 것들이 있다.- HP-UX9.0x를 HP-UX10.20으로 Upgrade하고 싶은 고객은 Transition Toolkit을 무료로 Order할 수 있다. “Development Tools & Distributed Computing”을 선택해서 들어 가면 됨.- HP-UX 10.20 ACE(Additional Core Enhancement) Version을 다운로드 받을 수 있다.(무상)- 기타 무상으로 사용할 수 있는 HP Software (OpenGL Runtime, PowerShade,Netscape FastTrack Server, Communicator …)를 다운로드 할 수 있다.- Public Domain Software(공짜 software)를 받을 수 있다. (편리한 Search 기능이 제공됨)- 구매해야 하는 제품에 대하여는 Trial Version을 다운로드할 수 있고 Order 하는 방법을 제공한다.

 

[참조4] HP Technical Documentation Web Site 소개

아래의 web site에서 HP h/w 및 s/w product의 최신 기술문서와 manual들을 찾아볼 수 있다. (HTML 이나 PDF 포맷으로 되어 있음)
URL http://docs.hp.com/

 

[참조5] 소프트웨어 depot을 package하는 방법

① source directory(임의로 만듦. 여기서는 /SOURCE라 가정)에 관련된 patch를 모두 푼다.

# mkdir /SOURCE ; cd /SOURCE

# sh PHCO_12345; sh PHSS_13579

② 각각의 개별 depot 을 하나의 depot으로 모은다.

# for i in `ls -l *.depot|cut –d . –f 1|awk ‘{print $9}’`

do

swcopy -s "$PWD/$i.depot" -x target_directory="$PWD/depot”

-x enforce_dependencies=false -x software=$i

done

ð “/DEPOT” directory는 자동으로 생성되고 위의 명령어는non-interactive mode로 실행된다.

③ 모아진 depot을 tape으로 package한다.

# swpackage -s "/DEPOT" -d /dev/rmt/0m -x target_type=tape

 

9. Backup/Restore

9.1 Backup 개요

                    - O/S Configuration 변경 시 반드시 O/S 백업 수행

                    - Root file system과 data file system 을 별도의 tape으로 백업

                    - 가능한 file system 별로 백업 수행

9.2 tar

* 백업

▷ O/S 데이터 백업

① DB & Application shutdown 시킴

② Single-user mode로 전환

  # shutdown 0

③ O/S 관련 directory만 mount시킴, “bdf” 로 확인

④ # cd / (root directory로 이동)

⑤ tape을 드라이브에 넣는다.

# tar cvf /dev/rmt/0m ./

▷ 일반 데이터 백업

일반적으로 수십 ~ 수백 MB 정도의 데이터를 백업하는데 적합

                         [예제] # cd /data ; # tar cvf /dev/rmt/0m .

ð data를 상대 path로 백업 받음 (# tar cv . 과 같음)

   [예제] # tar cvf /dev/rmt/0m /data

ð data를 절대 path로 백업 받음

  [예제] # tar rvf /dev/rmt/0m .

ð 기존 tape에 덧붙여 백업 받음

  [예제] # tar tvf /dev/rmt/0m

ð 백업 받은 내용을 tape에서 확인함

* 복구

▷ 절대 path로 백업 받았을 시

# tar xvf /dev/rmt/0m

ð data는 백업 받은 절대 path로 복구된다.

▷ 상대 path로 백업 받았을 시

# cd /data ; # tar xvf /dev/rmt/0m

ð 복구하고자 하는 directory로 이동 후 복구

9.3 cpio

* 백업

   - copy input to output

                 - 대용량의 data를 ‘disk대 disk’ 혹은 ‘disk대 tape’ 등 자유자재로 사용가능

                    [예제] #cd /data ; # find . –print –depth -xdev|cpio –pxdmluv /new-data

ð ‘data’ directory에 있는 모든 내용을 ‘/new-data’로 백업 받음

   [예제] #cd /data ; # find . –print|cpio –ocvBhx > /dev/rmt/0m

ð ’data’ directory에 있는 모든 내용을 tape으로 백업 받음

* 복구

                [예제] # cd /data ; # cpio -icdBumvhx < /dev/rmt/0m

ð 복구 할 directory로 이동 후 복구한다.

9.4 fbackup

* 백업

                - HP system에서만 동작하며 SAM으로도 가능

                - tar보다 속도가 빠르다.

                - Backup 된 파일들의 list를 볼 수 있다.

                - 백업 방법- SAM 이용

# sam

ð Backup and Recovery 선택

ð Interactive Backup and Recovery 선택

ð 백업 받을 Device 장치를 마크(space bar 이용) 한 후 [Action] 메뉴를 선택

ð Back up files Interactively … 선택

ð Specify Tape Device Option … 선택 -> 원하는 Device option 선택

ð Select Backup Scopy 선택 -> 원하는 파일 시스템을 add 한다.

ð OK 를 누르면 백업이 진행됨- 명령어 이용[예제] # fbackup –f device_file –i path –e path

ð f : 출력을 보낼 장치파일, 일반적으로 tape

ð i : 백업 시 포함시킬 directory path

ð e : 백업 시 제외시킬 directory path[예제] # fbackup –f device file –g graph_file

ð g : 백업에서 포함 또는 제외시킬 파일과 디렉토리의 목록이 들어 있는 파일

ð “-i”,”-e” option 대신 사용. 상대 path,절대 path 모두 가능[예제] # fbackup –f /dev/rmt/0m –i / -e /home

ð tape 장치로 “/home” directory를 제외 한 모든 파일 및 현재 마운트 되어 있는 모든 파일시스템을 백업한다.

* 복구

   - SAM 이용

       # sam

ð Backup and Recovery 선택

ð Interactive Backup and Recovery 선택

ð Restore할 Device 장치를 마크(space bar 이용) 한 후 [Action] 메뉴를 선택

ð Restore Files or Directories 선택

ð  뉴내용 선택한 후 OK 누르면 실행

                   - 명령어 이용[예제] # frecover –x –f /dev/rmt/0m –i {path} –e {path}

ð -i path : 복구 할 directory

ð -e path : 복구하지 않을 directory[예제] # frecover –r –f /dev/rmt/0m

ð tape으로부터 모두 복구

 

9.5 dd

- 직접적인 Image Copy 수행

- Bit 단위로 복사하기 때문에 선택적 복구 불가능

- Disk의 복사본을 만들 때 유용- Redundant O/S용으로 활용 가능 [예제] #dd if=<source> of=<destination> (방향 중요함!)

#dd if=/dev/rdsk/c0t6d0 of=/dev/rdsk/c0t5d0 bs=1024k

#dd if=/dev/rdsk/c0t6d0 of=/dev/rmt/0m bs=12k

 

9.6 Make_recovery

* 개요

- Make_recovery는 ignite-ux의 일부 기능이다. - Make_recovery는 “system recovery boot tape” 을 생성하는데 사용된다.

즉, 시스템의 Root disk failure 시 O/S를 재설치 하지 않고 미리 생성한 recovery tape을 이용하여 시스템을 부팅하여 O/S 데이터를 신속하게 restore 할 수 있다. - Recovery tape 생성 시 /var 에 32MB 가 필요하다. - Boot image를 생성하기 위해 필요한 공간으로 make_recovery 는 /var에boot-image를 생성 한 후 “dd” 명령어로 /dev/rmt/0mn 에 복사한다.- Boot image를 제외한 나머지 file들은 “pax” 명령어로 백업된다.- Online 상태에서도 백업 가능하다.- 서로 다른 시스템의 O/S 복제 시에도 사용 가능하다.- 별도로 ignite-ux s/w 를 설치 해야 한다.

ð fileset 은 /opt/ignite 에 설치됨.

* 백업

▷ O/S 기본 백업

 : 기본적으로 O/S critical directory 만 백업 받는다.

- /stand, /sbin, /dev, /etc : 모두 포함

- /usr, /opt, /var : 일부 포함

[예제] # make_recovery –d /dev/rmt/0mn (-d 이하 생략 가능)

▷ O/S full 백업

 : vg00 에 포함된 모든 data를 백업 받는다.[예제] # make_recovery –A –d /dev/rmt/0mn

 

* 복구

▷ O/S 전체 복구

① System을 recovery tape으로 부팅한다.

부팅 후 batch mode 및 interactive mode로 복구 할 수 있다.

- Batch mode

ð 백업 받은 disk 에 백업 받은 상태 그대로 복구 시 사용한다. 즉, tape으로 부팅 후 ignite-ux 화면 load 시 interrupt을 걸지 않으면 자동으로 batch mode로 들어가 recovery 작업이 수행된다.

- Interactive mode

ð tape 으로 부팅 후 ignite-ux 화면 load 시 아무 key나 누르면 interactive mode 로 들어갈 수 있다.

ð Interactive mode에서는 restore 할 disk 지정, O/S file system layout 변경 등 다양한 flexibility를 제공한다.

▷ 일부 파일 복구

복구 tape에서 boot image를 skip하고 file 이 백업된 곳으로 이동

# mt –t /dev/rmt/0mn fsf 1

원하는 파일 복구

# tar xvf /dev/rmt/0m etc/passwd opt/

 

10 Job Scheduling

10.1 cron

cron 이란?실행 프로그램을 일정/계획하여 자동으로 실행시켜주는 방법 중 한 가지이며, cron은 사용자가 지정한 주기로 하나 이상의 작업을 일정 계획한다. 주로 일간 백업과 주간 백업과 같이 일정한 간격으로 명령이 실행되도록 계획할 때 사용함.

 

cron 사용 권한 ( /var/adm/cron/cron.allow, cron.deny)- 기본적으로는 일반 사용자와 root 사용자가 cron 사용 가능- cron.allow : root 는 이 파일을 통해 crontab을 사용할 수 있는 사람을 제어한다. 사용자들은 자신의 이름이 cron.allow 파일에 나타나면 crontab 명령을 사용할 권한을 부여받는다.

                  - cron.deny : cron.allow가 존재하지 않으면 cron.deny를 점검하여 사용자가

사용 권한을 거부당했는지 여부를 결정한다. 두 파일이 모두 존재하면, cron.allow가 우선권을 가진다. 두 파일이 모두 없으면, root만이 작업을 제출할 수 있다. 빈 cron.deny 파일은 모든 사람이 crontab를 사용할 수 있게 만든다.

 

cron.allow cron.deny 사용 권한
File not exists File not exists Root
exists Ignored Allow 에 등록된 모든 사용자
File not exists Exists Deny에 등록되지 않은 모든 사용자
Empty Ignored Root
File not exists empty 모든 사람

 

* Log file

 기본적으로 cron은 명령을 실행할 때마다 /var/adm/cron/log 에 기록을 남김.

 

10.2 Cronfile 작성법

Cronfile은 사용자가 Job Scheduling 을 정의하는 파일로써, 이 파일의 항목들은 “cron” daemon이 해석할 수 있는 미리 정의된 특정한 형식을 가져야 한다.

 

Cronfile 구성 형식파일의 각 항목은 빈칸이나 탭으로 분리되는 여섯 개의 필드로 이루어진 행으로 구성되며 하나의 행이 하나의 작업 사항을 지칭한다.처음 다섯 필드에는 명령이 실행될 날짜와 시간을 나타내는 정수가 있다.이들 각 필드는 유효한 모든 값을 나타내는 별표 또는 쉼표로 분리된 항목의 목록을 포함할 수 있다. 각 항목에는 하나의 수, 또는 범위를 지정하는 의미에서 대시로분리된 두 수가 올 수 있습니다. 마지막 필드는 지정된 시간에 shell이 실행하는 프로그램(or 명령어)입니다. 이 필드의 퍼센트 문자는 줄바꿈 문자로 변환됩니다.

[예제] # vi test-cronfile

0 23 20 * * /sbin/date > /dev/console ---------(1)

0 0 * * 1,3,6 /sbin/tar cvf /dev/rmt/0m /home --------(2)

(1) /sbin/date의 값을 매월 20일, 밤 11시 정각에 시스템 콘솔 화면에 표시하라는 Job Scheduling

(2) /home 밑에 있는 모든 데이타를 DAT drive에 tar backup 하라는 명령으로 이 Job Schedule은 월요일, 수요일, 금요일 밤 12시 정각에 실행됨.


[참고]Shell이 실행하는 문자열에는 표준 출력과 표준 오류의 방향을 지정해야 한다. 지정하지 않으면 해당 user의 메일로 출력과 오류 메시지가 저장된다.

 

10.3 Cron 등록 및 관리

▶ crontab 명령을 이용하여 작업을 cron table에 등록한다.[예제] # crontab /tmp/test-cronfile

ð crontab은 user가 등록한 파일의 복사본을 /var/spool/cron/crontabs 에 유지한다.(사용자의 login name으로 생성) 이 복사본은 “cron” daemon이 작업실행 시에 참조하는 실제 파일이다. 따라서 cron table에 등록 후에는 원본 파일은 더 이상 의미가 없어진다.

▶ 현재 시스템에서 작동 중인 Job Schedule의 list를 보려면,[예제] # crontab -l

▶ 현재 시스템에서 작동 중인 Job Schedule 을 삭제하려면,[예제] # crontab -r

▶ 현재 시스템에서 작동 중인 Job Schedule을 편집하려면,[예제] #crontab -e

 

10.4 Cron 실행 과정

위 그림은 시스템 관리자인 root 가 job scheduling 을 계획함으로써, 연관되는 디렉토리와 파일들을 나타낸 것이다. 시스템 관리자가 /tmp 에서 test-cronfile 을 작성하고, 이를 cron table에 등록함으로써 job scheduling이 이루어진다.

 

11 Printer Management

* lp spooler

사용자들의 printing 요구 사항을 관리하고 프린터를 제어하는 명령어 및 utility

                - 기동 방법 : # lpsched - 정지 방법 : # lpshut - 상태 보기 : # lpstat -t

printer 종류

- Local printer (Serial, Parallel)

- Remore printer

- Network printer (HP JetAdmin 필요함)

☞ NOTE
JetAdmin s/w는, 아래의 Web site에서 Download 받을 수 있다.http://www.hp.com
→ Driver 클릭 → Jetadmin을 입력한 후 Search→ 해당 O/S 선택

lp spooler 에 의한 printing 절차

① printing 요청

        # lp –d LJ /etc/passwd

② destination printer를 결정한다.

ð 여기서는 “LJ”라는 printer

③ 해당 요청 사항에 특정 ID를 부여하고 printer의 queue에 저장한다.

ð “LJ-XXX” 이라는 ID를 부여하고 /var/spool/lp/request/LJ 의 queue에 저장한다.

④ 해당 printer의 interface script을 호출한다.

ð Interface scripts는 lp scheduler로부터 관련된 데이터를 받아서 printerdevice에 전달한다.

⑤ Interface scripts는 /etc/lp/interface에 위치하며, printer device 연결 시 해당device의 특징에 맞게 조정되어야 한다.

⑥ Printer device 에서 실제로 Printing 이 일어난다.

 

* Managing print queues

▷ Accept/Reject: Printing 요청을 허락 및 거부를 의미. Printing 요청을 거부하면 printer queue에 해당 요청 사항이 저장되지 않아 printing이 일어날 수 없다.

[예제] # accept LJ

[예제] # reject –r “LJ is down. User another Printer” LJ▷ Enable/Disable: Printer를 activate 혹은 deactivate 시킨다. 즉 queue에 저장된 printing 요청 사항을 처리 혹은 처리하지 않는다.

[예제] # disable LJ

[예제] # enable LJ▷ Moving Request: Queue에 저장된 printing 요청 사항을 다른 queue로 옮길 수 있다.

[예제] # lpshut ; # lpmove LJ Color-LJ ; # lpsched

ð LJ에 저장된 모든 요청 사항을 Color-LJ로 옮긴다.

ð 요청 사항을 옮기기 전 반드시 scheduler를 정지시키고, 모두 옮겨지면 다시 scheduler를 기동한다.

  [예제] # lpshut ; # lpmove LJ-111 Color-LJ

ð LJ-111 이라는 특정 요청 사항만 옮긴다.▷ Cancel: Queue에 접수된 요청 사항을 취소한다.[예제] # cancel LJ

ð LJ에 접수된 모든 요청 사항을 취소[예제] # cancel LJ-111

ð 특정 요청 사항만 취소

 

예제 printer 연결 하기

① local 에 printer device를 연결한다.

② device 파일을 만든다.(insf, mksf)

③ LP spooler에 등록 시킨다.(모든 UNIX machine은 여기에 등록 시켜야만 프린터를 사용할 수 있다)

# lpadmin -v/dev/lp1 -mlaserjet -plaser1

                                   device명 model script명 사용할 프린터명

④ 프린터가 인쇄 요구를 받을 수 있게 한다.
     # accept laser1

⑤ 프린터를 인쇄 가능한 상태로 만든다. 

            # enable laser1

LP 스케쥴러를 다시 실행 

            # lpsched

 

12. Network

12.1 Network 구성

* set_parms 사용

set_parms 는 시스템의 N/W과 관련된 사항을 구성할 때 사용하는 프로그램으로다음과 같은 arguments를 사용한다.

 

set_parms argument Comments
Hostname Hostname 을 설정
Timezone Time zone 을 설정
date_time Date and time 을 설정
root_passwd Root passwd 을 설정
Ip_address Internet protocol address 를 설정
addl_network Subnet mask, DNS, NIS 등 설정
Initial 위의 모든 사항을 설정
None Set_parms 의 사용법 설명

                [예제] # set_parms initial

 

수동 구성

① configuration file 에 구성하기

      # vi /etc/rc.config.d/netconf

② network enable 시키기

     # /sbin/init.d/net start

③ networking 확인

     # netstat –in

     # ifconfig lan0

     # ping 192.1.1.1

SAM 이용# sam à Networking and Communications 선택

 

12.2 네트웍 관리 Command

- lanadmin(landiag) 네트웍H/W 의 이상을 진단하는 명령- ifconfig 네트웍 구성 및 확인을 위해 사용하는 명령[예제1] # ifconfig lan0 à 상태 확인할 때[예제2] # ifconfig lan0 192.1.1.1 netmask 255.255.255.0 up à 네트웍 구성할 때 (임시로 할당) - netstat -r 네트웍의 routing 상태를 확인함- lanscan 설치되어 있는 NIC(Network Interface Card)의 address(예: 0x0060b018cd17) 및 상태를 확인할 수 있음- hostname 시스템 이름을 알고 싶을 때 사용- ping 네트웍 작동을 테스트할 때 사용

 

12.3 네트웍에 문제발생시 확인할 사항

하드웨어 문제인가 확인한다. 또한LAN 케이블이 HUB와 정상적으로 연결돼 있는지를 확인한다. 이 때 사용할 수 있는 명령으로는 “lanadmin”(또는 landiag)이 있다.

[예제] # lanadminð lan 또는 l 이라고 입력함
   ð display 또는 d 라고 입력함(이 때 LAN하드웨어 상태를 볼 수 있음)
   ð reset ( H/W적인 문제가 있다면 reset시간이 오래 걸림)

② 하드웨어에 이상이 없다면 IP Address가 정상적으로 부여되었나 확인한다.

[예제] # ifconfig lan0lan0: flags=863<UP,BROADCAST,NOTRAILERS,RUNNING,MULTICAST>
inet 15.32.13.19 netmask fffff800 broadcast 15.32.15.255
  ð 여기서 “UP” 되었나 확인하고, IP Address와 netmask가 정상적인지 확인한다.
  ð /etc/rc.config.d/netconf 에 제대로 설정되었는지 확인한다.

③ “ping” 명령으로 상대편과의 통신을 테스트 한다.[예제] # ping 15.32.13.18

④ Name resolution이 제대로 되는지 확인한다.

[예제] # nslookup 15.32.13.18 ð hostname 과 IP address를 확인
  ð # vi /etc/hosts 의 내용 확인
  ð # ll /etc/resolv.conf : 이 파일이 존재하면 DNS Server에 시스템이 등록되어 있는지 확인해야 함

 

12.4 Name resolution 순서

개요 nsswitch.conf 파일은 네트워크 데이터베이스로부터 정보를 얻기 위해 library routine이 사용되는 조회 정책을 명시하는 파일이다. 데이터베이스의 예로는 DNS, NIS 또는 /etc/hosts파일(local file) 등이 있다.

사용법- /etc/nsswitch.conf 에 조회 순서를 명시하여 구성한다. (SAM으로도 가능)- 예제 파일 : /etc/nsswitch.* 로 예제 파일 존재- 호스트이름 조회가 정상적으로 이루어지는 지를 알기 위해선 다음 명령을 이용한다.

           # nslookup 또는 # nslookup hostname

ð 조회하고자 하는 호스트이름을 덧붙이면 DNS 나 /etc/hosts에서 발견된원래의 호스트이름과 IP Address가 출력된다.

 

부록 1. HP-UX 명령어

* User-level commands

bdf 파일 시스템의 통계, 용량 및 빈 공간을 나타낸다.chmod 파일이나 디렉토리의 permission을 바꾼다.[예제] $ chmod 600 privatechown 파일이나 디렉토리의 ownership을 바꾼다.[예제] /dev/lp의 ownership을 lp로 변경

$ chown lp /dev/lp 

   cp 파일 및 디렉토리를 복사한다.[예제] /etc/passwd를 /etc/passwd.old로 복사

$ cp /etc/passwd /etc/passwd.old 

   [예제] /etc 디렉토리 및 하부의 파일들을 /tmp/etc로 복사

$ cp –r /etc /tmp 

   diskinfo 시스템에 설치되어 있는 디스크의 정보를 보여줌.[예제] $ diskinfo /dev/rdsk/c0t6d0du 디스크 사용에

  관한 정보를 보여줌.[예제] /tmp 디렉토리에 있는 파일들의 크기를 KB단위로 보여줌

$ du –s –k /tmp 

   exit 로그아웃하고 쉘 및 쉘 프로그램을 종료.file 파일 내용의 성격을 보여줌.[예제] /stand 디렉토리 아래에 있는

  파일들의 성격을 보여줌

$ file /stand/* 

   find 파일 시스템에서 파일의 위치를 찾는다. [예제] root 밑에 있는 모든 “core” 파일을 찾는 법

$ find / -name core -print 

   grep 파일 내에서 특정 패턴을 찾는다.[예제] $ grep -l ifconfig /sbin/init.d/*kill 프로세스를 죽일 때 사용함.

   [예제] $ kill -9 924lp 시스템의 기본 프린터에 파일을 프린트.

   [예제] $ lp myfilelpstat –t 모든 프린터 스풀러에 관련된 정보를 보여줌.ls 파일이나 디렉토리의 이름을 보여줌.

   [예제] /stand 디렉토리에 있는 모든 파일 명을 보기

$ ls /stand ll ll은 “ls –l”과 같다. 파일들의 이름 및 정보를 보여줌.man 명령 및 시스템 파일에 대한 사용법을 보여줌.

   [예제] $ man ls[참고] man page 참조 시 편리한 방법

            $ man command | col –b > /tmp/command 

$ vi /tmp/command 

more 텍스트 파일 내용을 페이지 단위로 봄.[예제] $more /.profilemore가 수행되는 동안 한 페이지의 텍스트를 더

보려면 SPACEBAR 를 누른다. 한 줄을 더 보기 위해서는 ENTER 를 누른다.mv 파일이나 디렉토리의 이름을 바꾼다.

[예제] oldfile을 newfile로 바꾸기 변경

$ mv oldfile newfile 

ps –ef 시스템에서 수행되고 있는 모든 프로세스를 보여 준다:[예제] $ ps -ef 

UID PID PPID C STIME TTY TIME COMMAND

root 0 0 0 Sep 6 ? 0:02 swapper 

root 1 0 0 Sep 6 ? 0:00 init 

root 2 0 0 Sep 6 ? 0:00 vhand 

root 3 0 0 Sep 6 ? 2:14 statdaemon 

root 4 0 0 Sep 6 ? 0:11 unhashdaemon 

root 7 0 0 Sep 6 ? 0:00 ttisr 

root 12 0 0 Sep 6 ? 0:00 lvmkd

 

UID The user who is the process owner.

PID The process ID number of the process.

PPID The process ID number of the parent process.

C Processor utilization for scheduling.

STIME Starting time of the process. If the elapsed time is greater than 24 hours, the starting date is displayed instead.

TTY The controlling terminal for the process, if any.

NOTE: A question mark (?) in this field indicates that the process is not associated with any tty.

TIME The cumulative execution time for the process (reported in the form "minutes:seconds").

COMMAND The command name.

 

rm 파일이나 디렉토리를 지운다.[예제] /var/tmp/swagent.log를 삭제

$ rm /var/tmp/swagent.log

                              [예제] /var 디렉토리 및 그 디렉토리의 내용을 삭제

$ rm –r /var

경고: 한번 파일이나 디렉토리가 지워지면 복구할 수 있는 유일한 방법은 백업으로부터 복구하는 것이다. 또한 위와 같이 디렉토리 및 디렉토리의 내용을 지우는 것을 “/”와 같은 시스템 디렉토리에 수행하는 것은 절대로 금한다.

 

rmdir 빈 디렉토리를 없앤다.[예제] 빈 디렉토리 /tmp/hp를 삭제

$ rmdir /tmp/hp

                              top 주기적으로 변하는 프로세스의 정보를 보여줌.uname 현재 로그인 되어 있는 컴퓨터의 정보를 보여준다.[예제] 시스템의 모델, OS 버전, User License수 등을 보여줌

                                         $ uname -a

                              vi 텍스트 파일을 편집한다.[예제] /.profile을 편집

$ vi /.profile

                              what 파일의 버전 정보를 보여줌[예제] $ what /usr/bin/ccwho 현재 누가 로그인 되어있는 지를 보여줌.who am i 현 사용자의 로그인 명, tty 및 로그인한 날짜/시간을 보여줌.who –r 현재의 run state를 보여줌.

 

* Administrative commands

dmesg 시스템의 diagnostic 메시지를 화면으로 출력한다.dmesg의 출력으로부터 현 시스템에 장착되어 있는 총 메모리 용량, 가용 메모리 용량, 커널 수준의 에러 및 시스템에서 사용 가능한 하드웨어의 디바이스의 하드웨어 경로를 아래의 예에서 볼 수 있다.

[예제] # dmesg

May 25 09:49

vuseg=c18000

inet_clts:ok inet_cots:ok 1 graph3

2 bus_adapter

2/0/1 c720

2/0/1.2 tgt

2/0/1.2.0 sdisk

2/0/2 lan2

2/0/4 asio0

2/0/6 CentIf

2/0/8 audio

2/0/10 fdc

ps2_readbyte_timeout: no byte after 500 uSec

2/0/11 ps2

5 bus_adapter

5/0/1 hil

5/0/2 asio0

4 eisa

8 processor

9 memory

 

System Console is on the ITE

Networking memory for fragment reassembly is restricted to 5423104 bytes

Swap device table: (start & size given in 512-byte blocks)

entry 0 - auto-configured on root device; start = 3891200, size = 302102

Defaulting dump to primary swap

Dump device table: (start & size given in 1-Kbyte blocks)

entry 0 - major is 31, minor is 0x5000; start = 2029565, size = 65537

Starting the STREAMS daemons.

B2352B HP-UX (B.10.20) #1: Sun Jun 9 08:03:38 PDT 1996

 

 

“ 메모리 크기를 나타냄”

                               Memory Information:

physical page size = 4096 bytes, logical page size = 4096 bytes

Physical: 65536 Kbytes, lockable: 39448 Kbytes, available: 48288 Kbytes

 

                  fsck file system check

                             파일 시스템이 어떤 이유(정전 등)에 의해 불안정할 때 check 및 복구하는 명령.

                   init s 시스템을 single user mode로 바꿈.init 4 시스템을 run level 4로 되돌림.insf Special 파일의 설치.[예제] 아직 special file이

                   설치되지 않은 모든 새로운 하드웨어의 special file을 설치

# insf 

   [예제] 시스템에 있는 모든 special file을 재생성하는 예:

# insf -e 

   특정 하드웨어 경로의 special 파일만 설치[예제] 하드웨어 어드레스 2/52.0.0을 이용하는데 쓰이는 모든 장치 파

일을 설치

# insf -H 2/52.0.0 

   lssf 디바이스 파일의 속성을 나타낸다.[예제] # lssf /dev/lp /dev/dsk/c0t6d0rmsf 특정 하드웨어 경로의 디바이스

파일 삭제.[예제] 하드웨어 경로 2/52.0.0에 연결되어 있는 디바이스 파일을 삭제

# rmsf -H 2/52.0.0 

  ioscan –fn 시스템에 연결되어 있는 모든 디바이스의 정보 및 그에 관련된 디바이스 파일을 찾아서 보여줌. 

   mount 마운트 된 모든 파일 시스템을 보여줌. 또한 다음과 같이 파일 시스템을 마운트할 때 사용함. 

   [예제] # mount /dev/dsk/c1t4d0 /cdrom mount –a 현재 마운트 되어 있지 않은 /etc/fstab내에 있는 모든

  파일 시스템의 마운트.

mount –p 마운트 된 파일 시스템의 옵션을 보여줌.swapinfo -t 디바이스 및 파일 시스템의 스왑에 관한 정보를

보여준다.umount 파일 시스템을 unmount한다./cdrom 파일 시스템을 unmount하기 위한 예:

[예제] # umount /cdrom

또는

# umount /dev/vg00/lvol5

 

 

부록 2. STDIN, STDOUT, STDERR 파일

출력 파일 생성 방법 : Redirecting standard output (stdout):

- Use > or 1> to create or over write the output file.

   [예제] $ cat /etc/inittab > /tmp/config.info

- Use >> or 1>> to append to the end of an existing file.

   [예제] $ cat /etc/gettydefs >>/tmp/config.info

입력 파일 사용 방법 : Redirecting standard input (stdin):

- Use < to take a command’s input from a file.

   [예제] $ mail wkc@abc.com < letter

에러 파일 생성 방법 : Redirecting standard error (stderr):

- Use 2> to create or overwrite the output file.

   [예제] # fbackup -0i /usr -e /usr/lib -f /dev/rmt/0m 2> /tmp/backup.err.log

- Use 2>> to append to the end of an existing file.

   [예제] $ tar cvf /dev/rmt/0m /home 2>> /tmp/tar.error.log

- Use 2>&1 to redirect error messages to the same file as the standard output.

   [예제] $ find /etc/ -name rc.config.d > /tmp/find.out 2>&1

+ Recent posts