'분류 전체보기'에 해당되는 글 829건

  1. 2007.07.25 Solaris 설치 후 기본적인 설정
  2. 2007.07.24 SAS(Serial Attached SCSI)에 대한 이해
  3. 2007.07.24 RMAN
  4. 2007.07.23 SELinux 에 대하여
  5. 2007.07.21 [linux] 리눅스의 각종 데몬들
  6. 2007.07.20 다이하드 4.0
  7. 2007.07.20 Solaris,HP-UX 에서 패치
  8. 2007.07.20 SOLARIS PATCH ERROR CODE
  9. 2007.07.20 Trunking
  10. 2007.07.20 FILE SYSTEM 비교
OS/SOLARIS2007. 7. 25. 02:22
반응형


   Solaris Basic Set

 

 ** 네트워크 설정 **

 

/etc/hosts

 127.0.0.1       localhost

 192.168.211.20   solaris10 loghost

 

/etc/hostname.pcn0

 solaris10

 

/etc/netmasks

 192.168.211.0     255.255.255.0

 

/etc/defaultrouter

 192.168.211.2

 

    - 부팅시 GW자동인식이 안돼면
      /etc/init.d/inetsvc

      route add default route_IP 1  
  

/etc/resolv.conf
nameserver 219.250.36.130

 

/etc/nsswitch.conf
hosts:    files dns

 

** shell 바꾸기**         

작업의 편의를 위해 root 의 쉘과 홈디렉토리부터 변경해준다.
솔라리스에서는 기본적으로 root 의 홈디렉토리를 / 로 사용하지만 관리의 편의를 위해 /root 라는 디렉토리를 만들어서 root 의 홈디렉토리로 사용한다.

 # mkdir /root
 
root의 기본 쉘을 bash로 변경해주고, 홈디렉토리를 /root 로 변경해준다.

 기본 : root:x:0:1:Super-User:/:/sbin/sh

 변경 : root:x:0:1:Super-User:/root:/bin/bash

/etc/bashrc와 root의 홈디렉토리에 .bash_profile 을 만들어준다.
 리눅스의 파일을 참조하여 사용한다.

 +++ /etc/bashrc ++++++++++++++++++++++++++++++++++++++++

# /etc/bashrc

# System wide functions and aliases
# Environment stuff goes in /etc/profile

# by default, we want this to get set.
# Even for non-interactive, non-login shells.
if [ $UID -gt 99 ] && [ "`id -gn`" = "`id -un`" ]; then
    umask 002
else
    umask 022
fi

# are we an interactive shell?
if [ "$PS1" ]; then
    case $TERM in
    xterm*)
        if [ -e /etc/sysconfig/bash-prompt-xterm ]; then
            PROMPT_COMMAND=/etc/sysconfig/bash-prompt-xterm
        else
            PROMPT_COMMAND='echo -ne "\033]0;${USER}@${HOSTNAME%%.*}:${PWD/#$HOME/~}\007"'
        fi
        ;;
    screen)
        if [ -e /etc/sysconfig/bash-prompt-screen ]; then
            PROMPT_COMMAND=/etc/sysconfig/bash-prompt-screen
        else
        PROMPT_COMMAND='echo -ne "\033_${USER}@${HOSTNAME%%.*}:${PWD/#$HOME/~}\033\\"'
        fi
        ;;
    *)
        [ -e /etc/sysconfig/bash-prompt-default ] && PROMPT_COMMAND=/etc/sysconfig/bash-prompt-default
        ;;
    esac
    # Turn on checkwinsize
    shopt -s checkwinsize
    [ "$PS1" = "\\s-\\v\\\$ " ] && PS1="[\u@\h \W]\\$ "
fi

if ! shopt -q login_shell ; then # We're not a login shell
        for i in /etc/profile.d/*.sh; do
        if [ -r "$i" ]; then
            . $i
        fi
    done
    unset i
fi
# vim:ts=4:sw=4

 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++

 +++ /etc/bashrc ++++++++++++++++++++++++++++++++++++++++

# .bash_profile

# Get the aliases and functions
if [ -f /etc/bashrc ]; then
        . /etc/bashrc
fi

# User specific environment and startup programs

PATH=$PATH:$HOME/bin

export PATH
unset USERNAME

 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++

- 다른 사용자의 shell 을 변경하고자 할때도 위와 같은 방법을 참고하여 변경해 준다.


** 솔라리스에서 한글 사용하기**

set | grep LANG 으로 설정 확인
LANG=ko

변경은  /etc/profile 에


LANG=ko
export LANG

 를 추가해 준다.


** 솔라리스에서 /home 사용하기**

 솔라리스에서는 /home을 automounter가 mount해서 사용하기 때문에 root라 할지라도 디렉토리나 파일을 만들 수 없다. 하지만 리눅스에 익숙한 관리자라면 /home 에서 모든 사용자 홈디렉토리를 관리하기를 원할 것이다. /home 을 automount 하지 않으려면 /etc/auto_master파일에서 /home부분을 주석처리 하고 시스템을 재부팅하면 된다.

/etc/auto_master

......
+auto_master
/net            -hosts          -nosuid,nobrowse
#/home           auto_home       -nobrowse
/xfn            -xfn

reboot


** 시스템 시간 맞추기**

직접 맞추기
 
 rdate 명령어를 사용하여 필요할때마다 수정해도 좋지만, 이보다는 시스템 재부팅시에 자동으로 세팅되도록 부팅 스크립트에 포함시켜 준다. time 서버로는 time.bora.net 또는 time.kriss.re.kr 를 사용한다.
 일단 현재 시간을 맞추기 위하여 프롬프트 상에서 한번 실행해 준다. 이때 리눅스에서는 -s 옵션을 주어 시스템 시간을 동기화 시키지만 솔라리스에서는 -s 옵션을 주지 않는 것을 주의한다.

rdate time.bora.net

 다음 시스템 부팅시마다 자동으로 맞추기 위하여 부팅 스크립트에 포함시켜 준다.

 /etc/rc3
 …
rdate time.bora.net

자동으로 맞추기

XNTP 라는 프로그램을 사용하면 시스템에 항상 XNTP 프로그램이 데몬으로 상주하며 자동으로 시스템 시간을 정확히 맞혀 준다 설정방법은

pkginfo | grep ntp

NTP 패키지가 설치되어 있는지 확인하고, 설치되어 있으면

/etc/inet             / 디렉토리로 이동하여, ntp.client 파일을 ntp.conf라는 이름으로 복사한다.

ntp.conf 를 열어 맨 밑에

server time.bora.net
server time.nuri.net
server gps.bora.net
server ntp1.cs.pusan.ac.kr
server ntp.ewha.net
server ntp1.gngidc.net
server ntp2.gngidc.net
server time.kriss.re.kr

를 추가해 준다.

/etc/init.d/xntpd start

다음 시스템 재부팅부터는 자동 실행된다

ntpq -p

로 ntp 서버에 정상 접속하는지 확인한다.


** DNS 설정 **

솔라리스에서 DNS 설정법은 리눅스와 약간의 차이가 있다. 먼저 리눅스처럼 resolv.conf 파일에 사용할 DNS 를 추가한다. 추가 방법은 동일하지만, 리눅스처럼 resolv.conf 파일이 생성되어 있는 것이 아니고, 시스템 관리자가 직접 생성해 줘야 한다. 위치는 리눅스와 같은 /etc/resolv.conf 가 된다.

resolv.conf

nameserver 211.115.194.2
nameserver 211.115.194.3
nameserver 203.255.112.34
search localdomain

다음으로 nsswitch.conf 라는 파일을 열어서 hosts: …. 줄의 맨 끝에 DNS를 추가해 준다.

nsswitch.conf

 …
hosts:      files dns


** 패키지 다운로드 **

http://www.sunfreeware.com

 패키지 설치 확인은 아래의 명령어를 사용하여 확인한다.

pkginfo | grep {Package Name}

 패키지 설치법

 보통 솔라리스 패키지는 패키지명-패키지버전-OS버젼-cpu타입-local.gz 으로 제공된다.
 우선 gzip 을 사용하여 gz 압축을 해제후에 pkgadd 를 사용하여 설치한다.

ex) gzip -d autoconf-2.59-sol9-intel-local.gz
  pkgadd -d autoconf-2.59-sol9-intel-local


** 컴파일 환경 만들기 **

wget 패키지를 미리 설치하여 다운로드에 사용한다
 
  ftp://ftp.sunfreeware.com/pub/freeware/intel/10/wget-1.10.2-sol10-x86-local.gz 
 
autoconf 패키지 설치

 wget ftp://ftp.sunfreeware.com/pub/freeware/intel/10/autoconf-2.59-sol10-intel-local.gz

make 패키지 설치

 wget ftp://ftp.sunfreeware.com/pub/freeware/intel/10/make-3.80-sol10-intel-local.gz


automake 패키지 설치

 wget ftp://ftp.sunfreeware.com/pub/freeware/intel/10/automake-1.9-sol10-intel-local.gz

gcc 패키지 설치

 wget ftp://ftp.sunfreeware.com/pub/freeware/intel/10/gcc-3.3.2-sol10-intel-local.gz

 

패키지는 일반적으로 /usr/local ~ 에 설치 되므로 /etc/profile 에 PATH와 LD_LIBRARY_PATH를 수정 또는 추가해 준다.

 /etc/profile

...

PATH=/usr/local/bin:$PATH
LD_LIBRARY_PATH=/usr/lib:/usr/local/lib:/usr/openwin/lib:/usr/openwin/bin:/usr/dt/lib:/usr/ucblib:/opt/lib:/usr/sfw/lib/:.
export PATH LD_LIBRARY_PATH

주의사항:
LD_LIBRARY_PATH에서 디렉토리 경로의 순서를 바꾸시면 안됩니다! 역시 PATH에서 /usr/local/bin이 앞에 나와야 합니다.


libgcc 패키지 설치

 wget ftp://ftp.sunfreeware.com/pub/freeware/intel/10/libgcc-3.3-sol10-intel-local.gz

libiconv 패키지 설치

 wget ftp://ftp.sunfreeware.com/pub/freeware/intel/10/libiconv-1.9.2-sol10-x86-local.gz


** 개발 환경 만들기**

 -- ls 하이라이팅 세팅

 솔라리스에 기본적으로 제공되는 ls 는 하이라이팅 기능을 지원하지 않으므로 fileutils에 포함되어 있는 ls를 사용하기 위하여 fileutils를 설치한다.
 현재 intel 기반 솔라리스용 fileutils 패키지를 제공하지 않으므로 앞서 세팅한 컴파일 환경을 사용하여 설치한다.

wget http://ftp.gnu.org/pub/gnu/fileutils/fileutils-4.1.tar.gz
 
gzip -d fileutils-4.1.tar.gz
tar xvf fileutils-4.1.tar.gz

cd ./fileutils-4.1

./configure

make
 make 시에 컴파일 에러가 난다면
 ........
 error: parse error before "ctid_t" 
 ........
 
 - PATH 에 /usr/ccs/bin 가 추가되어 있는지 확인
 - cd /usr/local/lib/gcc-lib/sparc-sun-solaris2.10/3.3.2/install-tools
   ./mkheaders

 

make install

 

설치가 완료되었다면, /usr/local/bin 에 ls 가 설치되었는지 확인한다.

/usr/local/bin/ls --color=auto

하이라이팅이 정상적으로 나타난다면, 쉘 스크립트에 alias 를 주어 사용한다.

/etc/profile
...
alias ls = ‘/usr/local/bin/ls --color=auto’


 -- vi 환경 설정

솔라리스에 기본적으로 제공되는 vi 는 하이라이팅 기능을 지원하지 않으므로 vim 을 설치하여 하이라이팅과 탐색 옵션 기능, 탭 설정 기능 등을 사용한다.

vim 패키지를 다운로드하여 설치한다.
wget ftp://ftp.sunfreeware.com/pub/freeware/intel/10/vim-6.3-sol10-intel-local.gz

vim 패키지를 사용하기 위해 ncurses 패키지를 다운로드하여 설치한다.
wget ftp://ftp.sunfreeware.com/pub/freeware/intel/10/ncurses-5.4-sol10-intel-local.gz
 
정상적으로 설치되었는지 확인하여 본다.
vim

이때 라이브러리 에러가 난다면 /etc/profile의 LD_LIBRARY_PATH 에 /usr/sfw/lib/ 가 포함되어 있는지 확인하여 본다.

정상적으로 실행되지만 vim 역시 하이라이팅 기능이 기본 설정이 아니다. 터미널을 ansi 표준으로 세팅하고, vi 를 vim 으로 aliasing 하고, vim 설정 파일을 각자의 홈 디렉토리에 생성하여 하이라이팅 on 한다.

/etc/profile
...
alias vi='vim'
TERM=ansi
export TERM

을 포함하여 준다.

 

기타 추가 aliasing

/etc/profile

....

alias cp='cp -i'
alias l.='ls -d .[a-zA-Z]* --color=tty'
alias ll='ls -l --color=tty'
alias ls='ls --color=tty'
alias mv='mv -i'
alias rm='rm -i'
alias vi='vim'
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'

 

그리고 각자의 홈 디렉토리에 .

/root/.vimrc

set incsearch
set hlsearch
set laststatus=2
set ts=4
set sw=4
syn on

반응형

'OS > SOLARIS' 카테고리의 다른 글

dumpadm  (0) 2007.08.02
Solaris 보안  (0) 2007.08.01
Solaris,HP-UX 에서 패치  (0) 2007.07.20
SOLARIS PATCH ERROR CODE  (0) 2007.07.20
Trunking  (0) 2007.07.20
Posted by [PineTree]
HARDWARE2007. 7. 24. 04:07
반응형
SAS(Serial Attached SCSI)는 전통적인 SCSI(Small Computer System Inteface)보다 훨씬 더 빠른 속도로 데이터를 전송하기 위해 설계된 직접 연결 스토리지용 통신 프로토콜이다.

SAS는 병렬 방식(즉 SCSI 같은 것) 대신 직렬 통신 방식을 사용한다. 즉 USB나 파이어와이어와 유사하다. SCSI의 뒤를 잇는 기술로서 SAS는 기기와 대화하는 데 이용하는 SCSI 명령을 그대로 사용한다.

SAS 드라이브는 고성능/고가용성을 위해 만들어졌으며, 가격과 성능 면에서 엔터프라이즈급 스토리지에서 사용되는 FC(Fibre Channel) 드라이브에 견줄만하다. 1세대 SAS 인터페이스는 초당 3Gbps의 쓰루풋(throughput)을 내며, 2010년까지는 12Gbps가 나오게 될 것이다.

저렴하게 대규모 스토리지 구성도 가능
SAS는 다중 P2P(Point-to-Point) 연결을 사용해 고도의 규모 가변성을 제공하는 무정지성(fault-tolerance) 설계를 가능케 한다. FC 디스크처럼 SAS 디스크는 데이터 트랜잭션이 많고 데이터 가용성이 필수적인 환경을 위해 설계돼 있다.

반면 SATA(Serial ATA)는 트랜잭션 비율이 낮고 데이터 가용성이 미션 크리티컬하지 않은 기가비트 당 비용이 낮은 대규모 스토리지를 주목적으로 설계돼 있다. 결과적으로 SATA 드라이브는 회전 속도가 느리고, MTBF(Mean Time Between Failure)가 SAS나 FC 드라이브에 비해 낮지만, 기가비트 당 비용은 훨씬 더 저렴하다.

SAS는 더 큰 주소 체계와 큰 쓰루풋, 그리고 간단한 배선을 통해 더 큰 스토리지 토폴로지를 좀더 실용적으로 만들어낸다. SAS는 와이드 68핀 리본형 SCSI 케이블을 8미터까지 쓸 수 있는 7가닥으로 구성된 가는 SAS 케이블 하나로 대체한다. 이로써 좀더 컴팩트한 설계가 가능해지고, 내부의 공기 흐름을 개선할 수 있으며, 핫플러그 연결을 단순화할 수 있게 된다. 이런 특징들로 FC의 대체품으로 더 낮은 가격에 대규모 스토리지 개발이 가능해진다.

SAS는 SATA와 호환성을 염두해 두고 설계돼, SAS와 SATA 드라이브가 동일한 SAS 컨트롤러에 혼합될 수 있다. SATA 드라이브는 SAS 컨트롤러에 꼽아서 SAS 디스크와 동일한 물리적 케이블을 이용해 통신할 수 있다.

하지만 SAS 디스크는 SATA 컨트롤러에 꼽지 못한다. 고성능 SAS 드라이브가 저가의 SATA 드라이브와 혼합돼 함께 사용될 수 있도록 함으로서 SAS는 스토리지 벤더들이 한 방에 성능, 가용성, 비용을 제대로 혼합할 수 있도록 데이터 레이아웃을 최적화할 수 있는 고도로 유연성을 지닌 스토리지 어레이를 만들 수 있게 해주는 기술이다.

SCSI 대체하는 SAS
SATA는 지속적으로 발전돼 비용이 중요한 고려 사항인 레퍼런스 타입 데이터를 저장하는 데스크톱 PC, 서브 엔트리급 서버, 서브 엔트리급 네트워크 스토리지 시스템(NAS와 SAN)에서 일반적인 디스크 인터페이스 기술이 될 것이다.

2006년 7월이 지나면 SAS는 점진적으로 엔트리급과 미드레인지급에서 선호하는 서버용 내장 스토리지로 SCSI를 대체해갈 것이다. 2.5인치 드라이브와 함께 사용된다면 SAS는 블레이드 서버 내장 스토리지로 실용적인 옵션이 될 것이다. SAS는 이 분야를 떠받치는 기술이며 스토리지 벤더들의 시장 점유율에서 변화를 촉진시키진 않을 것이다.

이 시장에서 SAS의 1차 경쟁 상대는 SATA이다. SATA는 성능면에서 계속 개선되고 있기 때문이다. 하지만 리던던시(redundancy)가 결여돼 있어 미션 크리티컬 서버에 채택되는 데엔 제약이 있을 것이다.

SAS는 미드레인지급 네트워크 스토리지 시장(즉 미드레인지급 SAN과 NAS)에서 강력한 파괴력을 일으킬 잠재력을 갖고 있다. 상호 연결이 더 간단하고 토폴로지를 고도로 확장할 수 있다는 점(용량과 성능 면에 모두)에서 SAS는 벤더들이 아주 적은 비용으로 FC 기반 시스템과 동등한 네트워크 스토리지 시스템을 만들 수 있도록 해준다.

인클로저/백플레인(backplane)이 저가이고 고성능 SAS와 저가형 SATA를 적절히 배합할 수 있다는 점 때문에 스토리지 벤더들은 현재 FC 디스크 기반 기기들(예를 들어, EMC, HP, 네트워크 어플라이언스 등)과 맞설 동적인 가격/성능적 특성을 지닌 저가형 시스템을 만들 수 있을 것이다.

2007년이면 시장 보편화
현재 시장을 선도하는 업체들이 2007년까지 경쟁 제품을 만들어내지 않는다면 저가를 무기로 새롭게 진입하는 이런 제품들이 미드레인지급 네트워크 스토리지 시장의 아래 쪽부터 성공적으로 정복해나갈 것으로 기대된다. 어떻든 이 시장은 2007년 8월에는 일상적인 시장의 형태를 띠게 될 것이다.

이런 기기를 고려하기 전에 고객들은 우선 애플리케이션/데이터셋에 이런 스토리지가 필요한지 이해해야 하며, 하이브리드 SAS/SATA 기기가 FC 대안으로서 저가에 대한 필요 조건을 만족시킬 수 있는 상황인지 알아야 한다. 그렇지 못한다면 다른 스토리지 벤더나 아키텍처를 소개받게 될 거고, 결국 복잡도가 증가하고 이익이 무엇인지 측정할 수도 없는 상황이 벌어질 것이다.

SAS 어레이가 더 저렴한 건 SAS 디스크가 FC 디스크보다 싸기 때문이 아니라는 점을 깨닫는 게 중요하다. 더 싼 이유는 상호 연결이 간단하고, 그로 인해 인클로저가 싸질 수 있으며, 동일 인클로저에 SAS와 SATA를 섞어 쓸 수 있어 기가바이트 당 비용이 더 낮아지기 때문으로 이해해야 한다. 이런 네트워크 스토리지 디바이스에서 SAS는 단지 기기의 인터페이스로만 사용되는 것이지 주요 SAN 연결로서 FC나 iSCSI를 대체하지는 않을 것이다.
반응형

'HARDWARE' 카테고리의 다른 글

썬마이크로시스템즈 CMT 비즈니스 전략  (0) 2009.07.30
AMD X2 클럭에 대한 이해 !!  (0) 2007.04.30
Posted by [PineTree]
ORACLE/ADMIN2007. 7. 24. 02:30
반응형
Oracle 8 NEW : Recovery manager 란 ?

Oracle 8 은 새로운 backup와 recovery 방법인 Recovery manager 를 제공한다.
Recovery manager(이하 RMAN) 는 backup,restore,recover process를 관리하는
tool 이다. Oracle Enterprise Manager 를 통해 GUI mode 로 가능하고,
rman 이라는 command line interface 를 함께 제공한다.

특히, OS device control 기능이 보완 되었기 때문에, 현재 backup catalog 를
유지하고, 이 정보를 이용해 OS level 에서 file 을 auto-restore 해 주기
때문에, database recovery 전에 file 을 manual 하게 restore 할 필요가
없어졌다.

Incremental backup 을 제공하고, backup 이나 restore 중에 current block
detection 을 해 주며(v$backup_corruption, v$copy_corruption 또는 alert
log 에 report), Rman 작업시에 parallelization 을 제공하며, open database
backup 동안 특별한 redo 를 발생하지 않는다.


- 구조

Recovery
manager in OEM(oracle
enterprise ---> Database
manager) <--- (catalog)
or RMAN

/| |
| |/

DATABASE ---> OS
(target to backup) <--- Device


- 구성 요소 설명

1) recovery manager
Command 를 해석하고, backup, restore, recover 를 실행하기 위해 target
database 로 command 를 전달한다. recovery catalog 를 update 한다. 실행
과정을 조정, 모니터링 한다.

2) Target database
backup,restore,recovery action 이 수행될 데이타베이스

3) Recovery Catalog
Information 저장장소. 즉, target database 의 물리적 스키마, datafile 과
archivelog 의 backup sets 과 pieces, backup script 등을 포함하고 있음.
rman 작업시 recovery catalog 정보를 이용한다.

4) channel
allocation channel 은 target database 의 backup,restore,recover 에 대한
server process 초기화를 한다. 즉, 이 channel 은 disk 를 포함 기타 OS
device 를 지정하게 되며, 이 갯수에 따라 parallelization 의 degree 가 결정
된다.


- recovery catalog 를 사용할 것인지를 결정하기
catalog 없이 RMAN 을 사용할 때의 단점은 recovery catalog 의 overhead 가
없는 대신, Point-In-Time recovery 를 쉽게 할 수 없다. 또한, control file
손상시에 recovery 할 수 없고, stored script 를 사용할 수 없다.
(datafile 이 20개 이상일 경우에는 recovery catalog 사용을 권장한다.)


- Setup

가. Recovery catalog 생성

1. Backup(target) db 외의 별도의 db 생성 (8.0.3 이상)

2. catalog DB 에 분리된 tablespace 생성

create tablespace rcvcat datafile '/oracle/rcvcat/rcvcat01.dbf'
size 20 M;

3. catalog 의 owner 생성과 권한부여

create user rman identified by rman
temporary tablespace temp
default tablespace rcvcat;

grant dba,connect,resource,recovery_catalog_owner to rman;

4. catalog 저장에 필요한 object 생성

cd $ORACLE_HOME/rdbms/admin
sqlplus rman/rman
@catrman

나. Recovery manager 기동

1. recovery catalog DB 를 사용하는 경우

rman target \"system/manager\" rcvcat \"rman/rman@orabeta1\"

(orabeta1 은 catalog DB 로 접속하는 tnsname 입니다.
즉, sqlplus rman/rman@orabeta1 하면, catalog db 와 접속되어야 합니다.)

2. recovery catalog DB 를 사용하지 않는 경우
rman target system/manager@target nocatalog

위 경우 모두, target database 를 catalog 에 등록해야 한다.
RMAN> register database;

다. Backup 시작
- Backup 은 database 가 open 또는 close(close 후에는 반드시 mount
상태이어야 한다)
- Backup 의 단위
full database
tablespace
datafile
control file
archived logs
- Backup 의 예

--full database

run {
allocate channel dev1 type disk;
allocate channel dev2 type disk;
backup full filesperset 2
(database format '/user7/ora8/backup.%n_%p') ;
release channel dev1;
release channel dev2;
}

-- tablespace

run {
allocate channel dev_1 type disk ;
backup incremental level 0
filesperset 1
(tablespace system channel dev_1 format '/vol312/net8%d_%u');
release channel dev_1;

}


-- datafile

run{
allocate channel dev1 type disk;
copy datafile "/vo3/orabeta6/backup/copy_tools.dbf"
to "/vo3/orabeta6/oradata/orabeta6/tools01.dbf"
tag "org_tools";
release channel dev1;
}


-- archived logs

create script beta_arch_full {
allocate channel dev1 type disk;
allocate channel dev2 type disk;
backup full filesperset 10
(archivelog all delete input
format '/vo3/orabeta6/backup/beta_arch.%s_%p') ;
release channel dev1;
release channel dev2;
}

-- backup to tape

run {
allocate channel t1 type 'sbt_tape';
backup
format 'dbfull_sunday_s%s_t%t'
tag 'Sunday full backup'
(database);
}

라. Restore

- Backup 으로 부터 원래 위치로 복원

- Archive log file 은 manual 하게 restore 할 수도 있고, 필요하다면
recovery 시 자동으로 restore 된다.

restore (archivelog all| like <filename | <archivelog range>);

- restore 명령
database : restore (database);
tablespace : restore (tablespace <name>,...,<name>);
datafile : restore (datafile <name>,...,<name>);
control file : restore control file to location;

- recovery 시에 database 는 어떤 상태에 있어야 하는가 ?
1) control file restore - not mount
SVRMGRL> startup nomount

2) whole database, or system tablespace - not open
SVRMGRL> startup mount

3) tablespace or datafile - open but tablespace or datafile offline
SVRMGRL> alter tablespace user_data offline temporary;
SVRMGRL> alter database datafile '/oracle/file/user_data1.dbf' offline;


마, Recovery

- Recoervy 는 file restore 후의 과정이다.

1) Archive log mode : complete recovery, incomplete recovery 가 가능하다
2) No archive log mode : consistent whole database backup 으로 부터
restore 하는 것이 유일한 option 이다.

- whole database recovery 의 예

svrmgrl
connect internal
shutdown abort
startup mount
-------------------------------------------------------------------
rman target \"system/manager\" rcvcat \"rman/rman@orabeta1\"

run {
allocate channel dev1 type disk;
allocate channel dev2 type disk;
restore database;
recover database;
release channel dev1;
release channel dev2;
}

or

run {
allocate channel dev1 type disk;
allocate channel dev2 type disk;
restore tablespace 'SYSTEM';
restore tablespace 'USERS';
recover tablespace 'SYSTEM';
recover tablespace 'USERS';
sql "alter database open ";
release channel dev1;
release channel dev2;
}

- datafile 하나가 사용할 수 없을 경우의 recovery
가정) full backup set 이 있을 경우

ORA-01157: cannot identify data file 3 - file not found
ORA-01110: data file 3: '/user7/ora8/oradata/ORA8/temp01.dbf'

SVRMGR> startup mount

rman target \"system/manager\" rcvcat \"rman/rman@orabeta1\"
RMAN> run {
allocate channel dev1 type disk;
restore database;
recover database;
release channel dev1;
};

laalaal~
반응형
Posted by [PineTree]
OS/LINUX2007. 7. 23. 22:47
반응형

<출처 : 수퍼유저코리아> - http://www.superuser.co.kr/home/lecture/?leccode=10637

 

각종 리눅스관련 트러블슈팅을 처리하다보면 공부해야할것들이 참 많다.
요즘 자주 거론되는 문제가 SELinux 관련된 문제들인데, SELinux 라면 아직 못들어본 사람이 꽤 많이 있을것이다.

SELinux의 내부적인 구현원리 같은 부분은 이 문서에 다루고자 하는 내용이 아니다.
SELinux의 아키텍처나 코드에 대한 부분을 더 많이 알기위해서는 IBM의 기술문서(http://www-128.ibm.com/developerworks/kr/library/l-selinux/index.html) 을 참고하거나 NSA의 홈페이지(http://www.nsa.gov/selinux/)등를 참고하기 바란다.
필자는 단지 여러분이 시스템을 관리하면서 새롭게 만나게되는 SELinux에 관련된 문제를 이문서를 통해서 해결할수 있기를 바랄뿐이다.

작성자 : (주)수퍼유저코리아, http://www.superuser.co.kr 서버팀

 

차례(전체목차)

1. SELInux(Security-Enhanced Linux) 란?

2. SELinux 정책이란 무엇인가?

3. SELinux 설치여부 확인

4. SELinux 기본설정 - /etc/sysconfig/selinux

5. SELinux 서비스 설정 - setenforce

6. SELinux 서비스 설정 - chcon

7. SELinux 서비스 설정 - setsebool

8. 사용중인 정책을 교체하는 방법은?

9. SELinux LOG

10. Audit2allow

11. avc: denied

12. 참고문헌 또는 URL

 

1. SELInux(Security-Enhanced Linux) 란?

top

SELinux 란 미 국가 보안국 (U.S. National Security Agency)리 오픈소스커뮤니티에 릴리즈한 Linux의 보안 강화 버전(코드 포함)으로서 리눅스 보안 모듈 구조체(Linux Security Modules(LSM) framework)를 이용하여 리눅스 커널에 의무 접근 제어(Mandatory Access Control - MAC)를 구현하는 것이다. Fedora Core3부터 기본으로 적용되기 시작하였고, 현재 대부분의 최신 리눅스 배포판에서 지원되고있다.

SELinux에 대한 이해를 돕기위해서 DAC, MAC를 잠깐 이야기 해보자.

표준 리눅스 보안은 Discretionary Access Control - DAC 모델을 따른다. DAC 모델에서, 파일과 자원에 대한 결정권은 오직 해당 객체(objects)의 사용자(user id)에게 있고 소유권(ownership)에 따라 이뤄진다. 각 사용자와 그 사용자에 의해 실행된 프로그램은 자기에게 할당된 객체에 대해 전적으로 자유재량권을 갖는다. 이러한 상황에서는, 악의 있는 일반 혹은 루트 사용자(예로, setuid와 setgid)가 실행시킨 결함이 있는 소프트웨어를 통해 주어진 객체로 원하는 어떠한 일을 해도 막아낼 방법이 없으며 보안 정책을 시스템 전체에 걸쳐 시행되도록 할 방법이 없다.

반면에 SELinux하에서 MAC는 모든 주체(subjects - 사용자, 프로그램, 프로세스)와 객체(파일, 디바이스)에 대해서 국부적으로 허가(granular permissions)해 줄 수 있다. 응용프로그램에서 불필요한 부분은 제외하고 오직 필요한 기능에 대해서만 사용 권한을 안전하게 부여하는것이 가능하다.

SELinux는 모든 주체 (사용자, 프로그램, 프로세스) 및 객체 (파일과 장치)에 각각 다른 권한을 부여할 수 있게 해줍니다. 따라서 사용자는 한 응용 프로그램에게 그 프로그램이 제대로 작동하는데 필요한 권한만 안전하게 부여할 수 있다.

 

2. SELinux 정책이란 무엇인가?

top

SELinux 정책은 사용자, 프로그램, 프로세스 그리고 이들의 동작 대상인 파일과 디바이스를 포함한 시스템 전체, 즉, 모든 주체와 객체에 대한 접근 허가(access permissions)를 포함한 패키지를 이야기한다. 페도라에서 사용가능한 정책 패키지는 strict , targeted 두가지가 있다.

페도라코어에서 SELinux 정책으로 strict policy 를 적용함으로 인해서 다양한 사용자들이 많은 문제점을 일으킴으로 인해서(일반사용자들이 SELinux를 사용하기 위해서는 수준높은 전문기술이 필요하다) 현재 RHEL4 에서는 보다 완화된 정책패키지 targeted poicy 가 설치시 기본으로 제공된다.

targeted policy는 자주 문제시되는 부분들만 우선적으로 적용시키고, 나머지는 표준 리눅스 보안과 동일하게 운영되도록 적용한 정책이다.

현재, targeted policy 에서는 dhcpd, httpd(apache.te), named, nscd, ntpd, portmap, snmpd, squid 그리고 syslogd 데몬에 대해서 관리한다.
이 데몬들에 대한 정책 파일은 /etc/selinux/targeted/src/policy/domains/program에서 찾을 수 있다.

 

3. SELinux 설치여부 확인

top

SELinux 를 사용하고 있는지를 확인하는 방법은 보안문맥을 확인하는 방법으로 알 수 있다.

파일, 사용자, 프로세스등의 문맥을 확인할 때는 -Z 라는 새 옵션을 이용해서 확인할 수 있다.

ls -lZ /etc/selinux

-rw-r--r-- root root system_u:object_r:selinux_config_t config

drwxr-xr-x root root system_u:object_r:selinux_config_t targeted

-Z옵션을 이용해서 보안문맥을 보여주는데 이 결과를 통해서 "system_u" 사용자, "object_r" 역할, "selinux_config_t" 타입을 확인할수 있다. 이런 문맥으로 SELinux의 정책에 비교해서 허용하거나 거부하게 되므로 문맥이 확인가능하다면 SELinux 를 사용중인 것이다.

파일 이외에 프로세스와 사용자에도 각각 아래처럼 보안문맥을 확인할수 있다.

root@example# ps axZ | grep squid

user_u:system_r:squid_t 3912 ? Ss 0:00 squid -D

user_u:system_r:squid_t 3915 ? S 9:10 (squid) -D

user_u:system_r:squid_t 3916 ? Ss 0:01 (unlinkd)

root@example# id

uid=0(root)

gid=0(root)groups=0(root),1(bin),2(daemon),3(sys),4(adm),6(disk),10(wheel)

context=root:system_r:unconfined_t


 

RedHat 의 SELinux 패키지 경우에는 sestatus -v 라는 명령을 이용해서 현재 SELinux의 사용상태를 아래와 같이 확인할수 있다.

[root@ns selinux]# sestatus -v

SELinux status: enabled

SELinuxfs mount: /selinux

Current mode: enforcing

Mode from config file: enforcing

Policy version: 18

Policy from config file:targeted

Policy booleans:

allow_ypbind active

dhcpd_disable_trans inactive

httpd_disable_trans active

httpd_enable_cgi active

httpd_enable_homedirs active

httpd_ssi_exec active

httpd_tty_comm inactive

httpd_unified active

mysqld_disable_trans inactive

named_disable_trans active

named_write_master_zonesactive

nscd_disable_trans active

ntpd_disable_trans inactive

portmap_disable_trans inactive

postgresql_disable_transinactive

snmpd_disable_trans inactive

squid_disable_trans inactive

syslogd_disable_trans inactive

winbind_disable_trans inactive

ypbind_disable_trans inactive

Process contexts:

Current context: root:system_r:unconfined_t

Init context: user_u:system_r:unconfined_t

/sbin/mingetty user_u:system_r:unconfined_t

/usr/sbin/sshd user_u:system_r:unconfined_t

File contexts:

Controlling term: root:object_r:devpts_t

/etc/passwd root:object_r:etc_t

/etc/shadow system_u:object_r:shadow_t

/bin/bash system_u:object_r:shell_exec_t

/bin/login system_u:object_r:bin_t

/bin/sh system_u:object_r:bin_t -> system_u:object_r:shell_exec_t

/sbin/agetty system_u:object_r:sbin_t

/sbin/init system_u:object_r:init_exec_t

/sbin/mingetty system_u:object_r:sbin_t

/usr/sbin/sshd system_u:object_r:sbin_t

/lib/libc.so.6 system_u:object_r:lib_t -> system_u:object_r:shlib_t

/lib/ld-linux.so.2 system_u:object_r:lib_t -> system_u:object_r:ld_so_t

[root@ns selinux]#

 

4. SELinux 기본설정 - /etc/sysconfig/selinux

top

배포판마다 서비스 설정방법은 차이가 있다. 필자가 테스트한 레드햇과 페도라 배포판에서는 /etc/sysconfig/selinux 파일에서 SELinux 의 사용가능한 모드를 설정한다.

/etc/sysconfig/selinux 파일의 내용

# This file controls the state of SELinux on the system.

# SELINUX= can take one of these three values:

# enforcing - SELinux security policy is enforced.

# permissive - SELinux prints warnings instead of enforcing.

# disabled - SELinux is fully disabled.

SELINUX=enforcing

# SELINUXTYPE= type of policy in use. Possible values are:

# targeted - Only targeted network daemons are protected.

# strict - Full SELinux protection.

SELINUXTYPE=targeted

이 파일에는 두부분의 설정이 있는데 SELINUX 의 상태(enforcing, permissive, disabled)를 설정하는 부분과 활성화시킬 보안정책(strict 또는 targeted 중 하나)을 결정하는 SELINUXTYPE 이라는 부분이 있다.

disabled - SELinux 보안 제어를 사용하지 않으려면 disalbed 옵션을 선택한다. disalbed 설정은 보안 제어 기능을 끄고 시스템이 보안 정책을 사용하지 않도록 설정한다.

permissive - 이것을 선택하면 서비스 거부 메시지를 통보받을 수 있다. permissive 상태로 설정하면 자료와 프로그램에 이름을 할당한 후 로그를 기록하지만 보안 정책을 사용하지는 않는다. permissive 상태는 SELinux를 처음 접하는 경우 처음부터 이 기능을 완전히 활성화하지 않고 우선 이 정책을 사용해서 일반 시스템 작업시 어떠한 영향을 미치는지 알아보려는 경우 좋은 시작점이 될 수 있다. 그러나 경고 옵션을 선택시 가끔씩 보안경고 대상이 아닌 것을 경고 대상으로 탐지하는 오류(false positive)나 경고 대상인 것을 탐지하지 않는 오류(false negative)가 발생할 가능성도 있으니 주의가 필요하다.

enforcing - SELinux를 완전히 활성화하시려면 enforcing 옵션을 선택하자. enforcing 옵션을 선택하면 추가 시스템 보안을 위해 모든 보안 정책 (예, 허가가 없는 사용자가 특정한 파일이나 프로그램에 접근하는 것을 거부하기)을 사용한다. SELinux가 완전히 실행되어도 아무런 지장을 받지않고 일반적인 시스템 작업을 수행할 수 있다고 자신하시경우 이 옵션을 선택한다.

 

5. SELinux 서비스 설정 - setenforce

top

SELinux의 서비스 상태를 변경해야 하는 필요가 있을때는 직접 /etc/sysconfig/selinux 파일에서 SELINUX=enforcing , 또는 SELINUX=permissive 처럼 수정해서 변경하는 방법도 있지만 setenforce 라는 명령어를 이용할수 있다.

"setenforce 0" 이라고 명령을 내리는것은 SELINUX=permissive 와 동일한 결과이며, "setenforce 1" 은 enforcing 모드를 의미한다. 시스템에서 SELinux 를 완전히 사용하지 않으려면 /etc/sysconfig/selinux 파일에서 SELINUX=disabled 처럼 설정하거나 시스템 부팅시에 부트로더의 파라미터로 selinux=0 이라고 주고 부팅하면 된다. (grub 을 사용하는 경우라면 grub 화면에서 e 를 누르고 편집모드로 들어간뒤에 kernel 줄의 맨 뒤에 selinux=0 을 적어주고 ESC, 그리고 b 를 눌러서 부팅하면 된다.)

sentenforce 명령은 sysadm_r 권한을 갖고 수행해야 한다; 그러기 위해, newrole 명령을 사용하거나, 아니면, su -를 사용하여 root 로 사용자 전환을 하면, 자동으로 sysadm_r 권한을 얻을 수 있다.

 

6. SELinux 서비스 설정 - chcon

top

SELinux 의 보안문맥을 변경해야 하는 경우에는 chcon 이라는 명령을 사용할수 있다.

아파치를 사용중에 분명히 디렉토리를 생성했는데도 에러가 난다면 아래처럼 http_user_content_t 를 해당 DocumentRoot 에 적용해줌으로 해결해 줄수있다.

chcon -R -t httpd_user_content_t /home/사용자계정/public_html

 

7. SELinux 서비스 설정 - setsebool

top

S[root@ns ~]# cat /etc/selinux/targeted/booleans

allow_ypbind=1

dhcpd_disable_trans=0

httpd_disable_trans=1

httpd_enable_cgi=1

httpd_enable_homedirs=1

httpd_ssi_exec=1

httpd_tty_comm=0

httpd_unified=1

mysqld_disable_trans=0

named_disable_trans=1

named_write_master_zones=1

nscd_disable_trans=1

ntpd_disable_trans=0

portmap_disable_trans=0

postgresql_disable_trans=0

snmpd_disable_trans=0

squid_disable_trans=0

syslogd_disable_trans=0

winbind_disable_trans=0

ypbind_disable_trans=0

RHEL4의 경우 전환가능한 시스템의 SELinux 설정값들을 나타내는 파일은 /etc/selinux/targeted/booleans 파일이다. 파일안의 각 항목은 system-config-securitylevel 이라는 어플리케이션이나 setsebool 이라는 명령을 이용해서 변경시킬수 있으며 setsebools 을 이용하는 경우 -P 옵션을 사용하지 않으면 설정파일은 변경되지 않고 현재의 설정만 바뀌지만 -P 옵션을 같이 사용하면 /etc/selinux/targeted/booleans 파일의 내용까지 같이 변경되어 시스템 리부팅후에도 적용된다.

 

8. 사용중인 정책을 교체하는 방법은?

top

배정책 교체는 가볍게 취할 사안이 아니다.

연구 목적으로 시험 장비(test machine)에서 새 정책을 시도하는 이외, 생산 시스템(production system)에서는 다른 정책으로 교체하기 전에 현황을 심각하게 고려해야 한다.

교체 작업은 간단하다. 이는 매우 안전한 방법이지만, 우선 시험 시스템에서 일차 시도해 보는 것이 바람직하다.

한 가지 방법은 system-config-securitylevel을 사용하여 정책을 바꾸고 재명명(relabel)하도록 파일 시스템을 설정하는 것이다.

수작업 절차는 다음과 같다:

1. /etc/selinux/config을 편집하고 SELINUXTYPE=policyname으로 정책 유형을 바꾼다.

2. 재부팅하여 돌아올 수 있는 지 확인하기위해, SELINUX=permissive모드로 설정한다. 이렇게 하면, SELinux는 정확한 정책하에서 가동될 것이지만, 만일 부정확한 파일 문맥 명명(labeling)과 같은 문제가 있으면 로그인하도록 할 것이다.

3. sysadm_r 역할을 갖춘 root로 파일 시스템을 재명명한다(relabel):

id -Z

root:sysadm_r:sysadm_t

fixfiles relabel

옵션 -l /path/to/logfile을 사용하여 표준 출력으로 로그를 볼 수 있고, 옵션 -o /path/to/file을 사용하여 검토(checked)되거나 재명명(relabel ed)된 모든 파일 리스트를 저장할 수 있다.

4. 시스템을 재부팅한다. 새 정책하에서의 재시작은 모든 시스템 프로세스가 적절한 문맥에서 시작되고 정책 변경으로 인한 모든 문제가 드러나게 한다.

5. sestatus -v 명령으로 발효된 변경사항을 확인한다. Permissive 모드로 가동된 새 시스템에서, avc: denied 메시지를 /var/log/messages에서 확인한다. 이들은 새 정책하에 문제없이 시스템이 가동되도록 해결해야 할 문제들을 표시해 준다.

6. 새 정책하에서 시스템이 만족스럽게 돌아갈 때, SELINUX=enforcing 으로 바꿔 실행 권한을 부여한다. 실시간에 enforcing을 활성화 시키기 위해 재부팅하거나 setenforce 1 을 실행한다.

 

9. SELinux LOG

top

SSELinux 의 로그는 /var/log/messages 파일에 아래처럼 나타난다.

kernel: audit(1114070701.193:0): avc: denied { read } for pid=24216

exe=/usr/libexec/mysqld name=mysql dev=cciss/c0d0p6 ino=16408

scontext=user_u:system_r:mysqld_t tcontext=root:object_r:var_lib_t

tclass=dir

이 로그는 아래와 같이 해석할수 있다.

- 읽기 요청이 거부되었다.

- PID 24216을 가진 프로세스가 read를 시도한다

- 해당프로세스는 /usr/libexec/mysqld 이다

- /dev/cciss/c0d0p6 에서 작동되고 있다

- inode 는 16408이다.

- 프로세스의 SELinux 문맥은 user_u:system_r:mysqld_t 이다.

- tcontext=root:object_r:var_lib_t : 이파일이 읽기를 시도하는 파일은 var_lib_t 타입의 root 소유파일이다.

SELinux LOG 각 항목의 의미

audit(timestamp) - This field states that it's an audit message from SELinux and that it was logged at timestamp time (in seconds since Jan. 1st, 1970).

avc - This message was from the SELinux access vector cache. Pretty much every message you are likely to see is from this cache.

denied | accepted - This field indicates whether the action was denied or accepted. You may see logs of accepted messages in some cases (like reloading the policy).

{ read | write | unlink | ... } - This field shows the type of action that was attempted, such as reading a file, writing, unlinking, loading policy, etc.

for pid=<pid> - This is the process ID that attempted the action.

exe=<executable>- This is the path to the executable that started the process.

name=<name> - This is the name of the target on which the action was attempted.

dev=<device> - This is the device on which the target file is located.

ino=<inode-number> - This is the inode of the target of the action.

scontext=<security context> - This is the process's security context. This contains user, role, and type.

tcontext=<target context> - This is the security context of the target of this action, for example, the file, directory, etc.

tclass=<target class> - This is the class of the target object, such as directory, file, device node, or something else.

 

10. Audit2allow

top

정책 작성자에게 유용한 도구는 /usr/bin/audit2allow 인데 이것은 /var/log/messages의 avc 메시지를 SELinux에 의해 사용될 수 있는 규칙으로 번역해준다. 사용이 불가능하다면 policycoreutils 패키지에 속해있으므로 yum install policycoreutils 처럼 설치 가능하다.

audit2allow명령은 세가지 방법으로 입력을 받을 수 있다. 기본은 표준입력 (stdin)이다. -i 옵션을 사용하면 /var/log/messages 로부터 입력을 읽을 수 있고 -d옵션을 사용하면 dmesg 출력으로부터 입력을 읽을 수 있다.

 

11. avc: denied

top

이 메시지는 현재 실행된 SELinux 정책이 그 응용프로그램의 동작을 허락하지 않기 때문이다. 이러한 일에는 여러 가지 사유가 존재한다.

첫째, 응용프로그램이 접근하려는 파일중 하나가 잘못 명명되어있을 수 있다. 만일 AVC 메시지가 특정 파일을 참조한다면, ls -alZ /path/to/file 을 수행하여 현재 참조하는 파일명(current label)을 조사해 보라. 만일 그것이 잘못되어 보이면, restorecon -v /path/to/file 을 시도해보라. 만일 파일과 관련된 매우 많 은 거부(denials) 상황이 존재하면, fixfiles relabel 을 수행하거나, 반복적으로 디렉토리 경로를 재명명하기 위해서 -R옵션과 함께 restorecon 을 수행하고 싶을 수 있다.

다른 때에는, 거부(denials) 현상은 정책에 의해 거부되도록 프로그램에 설정을 바꿔서 발생될 수 있다. 예를 들면, 만일 Apache를 8800포트로 바꾸면, 보안 정책, apache.te,도 관련하여 바꿔야 할 필요가 생긴다. 정책 작성에 관한 상세한 정보가 필요하면, 외부연결 리스트(External Link List)를 보라.

 

12. 참고문헌 또는 URL

top

Home of the SELinux project - http://www.nsa.gov/selinux/

The Un-Official SELinux FAQ - http://www.crypt.gen.nz/selinux/faq.html

SELinux link zoo - http://www.crypt.gen.nz/selinux/links.html

Ubuntu Linux SELinux pages - https://www.ubuntulinux.org/wiki/SELinux

2005.8 Sys Admin Magazine - http://www.samag.com/documents/s=9820/sam0508a/0508a.htm

NSA SELinux FAQ - http://www.nsa.gov/selinux/info/faq.cfm

SELinux community page - http://selinux.sourceforge.net

UnOfficial FAQ - http://www.crypt.gen.nz/selinux/faq.html

Writing SE Linux policy HOWTO - https://sourceforge.net/docman/display_doc.php?docid=21959&group_id=21266

Getting Started with SE Linux HOWTO: the new SE Linux (Debian) - https://sourceforge.net/docman/display_doc.php?docid=20372&group_id=21266

반응형

'OS > LINUX' 카테고리의 다른 글

iptables  (0) 2007.10.25
[Linux] mrtg setting  (0) 2007.10.17
[linux] 리눅스의 각종 데몬들  (0) 2007.07.21
LINUX RPM 관련 명령어  (0) 2007.07.03
C쉘 설정파일(.cshrc)  (0) 2007.04.12
Posted by [PineTree]
OS/LINUX2007. 7. 21. 18:56
반응형

◈  리눅스의 각종 데몬들

 

Redhat 8.0 System services description

작성자: 박경랑 (연세대학교 슈퍼컴퓨팅 , lanx@parallel.yonsei.ac.kr)
작성일: 2003. 4. 10 연속으로 해킹 두번 당하고 만듦 -_-

 

Name Description Port Etc
FreeWnn 일본어 변환 엔진: Kana-to-Kanji 변환 시스템의 network-extensible 버젼
http://www.freewnn.org 
   
Aep1000 aep1000/2000 coprocessor 드라이버    
amanda 네트워크를 통해 여러 host의 데이터를 backup 서버에 저장/복원하는 backup 시스템 http://www.amanda.org    
amandaidx amanda server package 의 일부    
Amd demand에 의해 device들이나 NFS host들을 마운트 시킬 수 있는 automount daemon (커널에 의한 지원이 필요없음) http://www.nber.org/amd.html    
amidxtape amanda server package 의 일부    
anacron Periodic command scheduler. cron과 달리 시스템이 계속 켜있지 않다고 가정
하루보다 더 작은 단위의 스케쥴을 수행. http://anacron.sourceforge.net/
   
apmd apm service를 지원하기 위한 daemon    
arpwatch 하드웨어 이터넷 주소와 IP 주소 쌍을 모니터링하는 툴로 로컬 네트워크에서 위장 IP를 탐지할 수 있다.    
atalk Appletalk network protocol을 이용하여 Macintosh computer들과 통신하게 하는 package. http://www.cs.mu.oz.au/appletalk/atalk.html    
atd 나중에 수행하려고 등록한 작업을 실행한다. 즉 command들을 정해진 시간에 실행되게 예약하고 load average가 충분히 낮을 때 수행한다.    
autofs amd 보다 더 발전적인 automount 시스템. 커널의 파일 시스템 코드가 automount의 mount point가 다른 보통의 기본적인 파일 시스템 상의 어디에 있는지를 알고 autofs는 그곳에서 mount point를 가져온다. http://kldp.org/HOWTO/mini/html/Automount/    
bcm5820 BCM5820 Cyptonet 드라이버를 load/unload한다    
bgpd Border Gateway Protocol 4 (BGP-4) protocol daemon (zebra와 같이 사용하기 위한 routing engine - BGPv4, BGPv4+, BGPv4-)
http://www.pointless.net/~jasper/zebra-html/zebra_65.html
   
bootparamd bootparamd server는 옛 sun workstation 들을 linux box를 통해서 net boot가 가능하게 한다. 현재 rarp와 함께 거의 쓰이지 않는데, 이를 대신해서 bootp와 dhcp가 사용된다    
cWnn 중국어 변환 엔진    
canna 일본어 변환 엔진    
chargen chargen server ver.TCP. chargen: 단순 문자열 발생 서비스 19  
chargen-udp chargen server ver.UCP    
comsat 새 메일이 왔을 때, comsat 서버는 biff client에게 이를 통보해준다.    
crond crond    
cups-lpd lagacy lpt protocol을 이용해서 CUPS와 통신하는 것을 가능하게 하는 서비스    
daytime daytime ver.TCP    
daytime-udp daytime ver.UCP    
dbskkd-cub 일본어 관련    
dhcpd dhcpd    
dhcrelay dhcp에 대한 relay 제공    
echo echo ver.TCP    
echo-udp echo ver.UDP    
eklogin 암호화된 kerberized rlogin server.(kerberize 5를 이용하여 암호화됨)    
finger finger    
firstboot 처음에 시작된느 드루이드 스타일의 프로그램    
gpm gpm란, 마우스를 사용한 'cut- and-paste'를, X 상에서 가능한것처럼, Linux의 가상 단말기 사이에서도 가능하도록 하는 프로그램이다    
gssftp gssftp    
httpd httpd    
identd 각각 tcp connection에 대해서 user의 식별을 가능하게 함. TCP port number를 통해서 서버시스템의 connection의 소유자를 인식하는 character string을 제공한다.    
imap imap    
imaps imap    
innd usenet news server    
ip6tables iptable을 이용한 packet filitering firewall의 자동화 서비스    
ipchains ipchain을 이용한 packet filitering firewall의 자동화 서비스    
ipop2 ipop    
ipop3 ipop    
iptables iptables를 사용하여 자동적으로 패킹 필터링을 한다.
http://www.linux.co.kr/theme/pageview.html?ca=200108&pageid=40&casub=iptables&st=Iptables로 기본적인 firewall 구축하기
   
ipvsadm 리눅스 가상 서버를 설치한다.
http://www.linuxvirtualserver.org/
   
irda IrDA 적외선 프로토콜
http://kldp.org/KoreanDoc/html/Kernel-KLDP/specirda.html
   
iscsi      
isdn      
kWnn Korean Conversion Engine    
kadmin The kadmin utility communicates with the kadmind server over the network, and they use Kerberos to handle authentication
http://www.redhat.com/docs/manuals/linux/RHL-7.3-Manual/ref-guide/s1-kerberos-server.html
   
keytable 키보드맵과 시스템폰트를 로드하는 역할을 수행하며 다른 프로그램을 구동시키지 않는다    
klogin kerberos rlogin
http://web.mit.edu/kerberos/www/
   
kotalk      
kprop      
krb5-telnet      
krb524      
krb5kdc      
kshell      
ktalk      
kudzu 부팅시에 새롭게 설치된 하드웨어에 대한 정보를 설정하는 데몬
http://linuxcommand.org/man_pages/kudzu8.html
   
ldap      
lpd line 프린터 데몬으로 부팅될 때 호출된다
http://www.linuxprinting.org/lpd-doc.html
   
mars-nwe NetWare 호환 파일 프린터 서버    
mdmonitor software RAID monitoring and management    
micronode_ctl ?script to apply cpu microcode    
mysqld      
named Named는 인터넷 도메인 네임 서버이며 /etc/named.con파일을 기본적으로 읽어 사용한다.
http://kldp.org/HOWTO/html/DNS-HOWTO/index.html
   
netdump http://www.redhat.com/support/wpapers/redhat/netdump/index.html    
netdump-ser      
netfs NFS, 삼바, 노벨 드라이버의 익스포트파일을 마운트 하는 역할을 한다
   
network      
nfs      
nfslock NFS file locking Server    
ntalk C++과 Ncurses 라이브러리로 작성된 채팅 프로그램
http://www.ntalk.prv.pl/
   
ntpd NTPv4를 위한 데몬
http://www.ntp.org/index.html
   
ospff6d RFC2178에 명시되어 있는 OSPFv2 라우팅 프로토콜 제공 데몬 (IPv6)    
ospfd RFC2178에 명시되어 있는 OSPFv2 라우팅 프로토콜 제공 데몬
http://www.rrf.ru/doc/zebra/ospfd.html
   
pcmcia      
pop3s      
portmap RPC(Remote Procedure Call)서비스를 위한 포트를 할당하는 역할을 하는 데몬    
postgresql      
privoxy Advanced Filtering을 제공하는 web proxy
http://www.privoxy.org/
   
psacct 프로세스 통계 관련한 패키지
http://kldp.org/HOWTO/mini/html/Process-Accounting/Process-Accounting.html#toc4
   
pxe A Preboot Execution Environment Server, PXE based 머신에서 네트워크 부팅을 할수 있게 해준다.
http://www.kegel.com/linux/pxe.html
   
radvd 라우터 통보 데몬으로 IPv6 라우터로써 Linux에서 동작한다.
http://v6web.litech.org/radvd/
   
random http://man.kldp.org/man/man4/random.4.html    
rarpd 사용자 레벨 reverse ARP 데몬 프로그램
http://www.gsp.com/cgi-bin/man.cgi?section=8&topic=rarpd
   
rawdevice raw devices를 block devices (하드 드라이브 파티션)으로 할당하는 스크립이다. /etc/sysconfig/rawdevices 참고
http://people.redhat.com/jrfuller/cms/ch-software.html
   
rexec executes command on remote host. username과 passwd기반  http://www.mkssoftware.com/docs/man1/rexec.1.asp    
rhnsd Red hat Network service. 레드헷 리눅스의 온라인 업데이트 데몬http://www.redhat.com/docs/manuals/RHNetwork/ref-guide/rhnsd.html    
ripd zebar 라우트 엔진을 지원하는 라우팅 컴포넌트
http://www.rrf.ru/doc/zebra/ripd.html
   
ripngd ripngd는 네트워크 라우팅 테이블을 관리하는 데몬으로 IPv6에 대한 라우팅 정보 프로토콜을 사용한다.
http://www.rrf.ru/doc/zebra/ripngd.html
   
rlogin rlogin는 원격 호스트상의 터미널 세션을 시작한다.
http://kldp.org/Translations/html/Cluster_QuickStart-KLDP/Cluster_QuickStart-KLDP.html#toc4start a terminal session on the remort host. (rlogind) http://www.mkssoftware.com/docs/man1/rlogin.1.asp
   
routed Routed는 네트워크 라우팅 테이블을 관리하기 위해 부팅시 호출된다.
http://www.usinglinux.org/doc/translations/ko/NET3-4-HOWTO
   
rsh executes command on other hosts.인증된 호스트의 특정 포트만 인증하여 사용 가능  http://www.mkssoftware.com/docs/man1/rsh.1.asp    
rstatd 서버의 각종 성능 통계자료를 제공, rup로 볼 수 있다.    
rsync ftp server의 addtion 두서버 양쪽의 파일을 비교하여 다른부분만 전송. http://samba.anu.edu.au/rsync/ 873  
rusersd ruser명령어가 되게해주는 서버    
rwalld remote wall (메시지 broadcast) server    
rwhod remote who가 되게해주는 서버    
saslauthd SASL authentication server.    
sendmail mail을 받는 서버    
servers an internal xinetd services. listing active servers. 9099  
services an internal xinetd services. listing active services. 9098  
sgi_fam File Alteration Monitor. File이 변화되었을 때 알려주는 기능. 중요한 파일의 변경 여부 탐지, GUI 파일매니저와 연동, http://oss.sgi.com/projects/fam    
smartd Self-Monitoring Analysis and Reporting Technology System. Hard disk fiailure 방지를 위해 주로 쓴다고함.  http://csl.cse.ucsc.edu/smart.shtml    
smb Samba의 smbd와 nmbd를 시작함. http://www.samba.org    
snmpd Simple network managerment protocol  http://geekcorp.com/snmpd/    
snmptrapd Simple network managerment protocol. trap daemon    
spamassassin SpamAssassin is a mail filter to identify spam. http://spamassassin.org/    
squid Internet object cache. 웹 프락시 캐쉬 http://www.squid-cache.org/ 3128  
swat Samba web admin tool.  http://www.samba.org 901  
syslog 커널 메시지를 읽어 기록한다. 514  
tWnn chinese conversion engine.    
talk remote host와 채팅할 수 있는 데몬.    
telnet telnet ^^;    
tftp ftp server using tftp (trivial file transfer protocol). 69  
time time server rdate를 지원하기 위한 것. tcp version    
time-udp time server rdate를 지원하기 위한 것. udp version 37  
tux thread-kernel based http server. http://www.tux.org    
ups 전원이 없을 때 자동으로 shutdown 시킴.    
vncserver Start VNC(virsual network computing) server. http://www.uk.research.att.com/vnc/    
vsftpd very secure file transfer daemon    
winbind samba win bind deamon. http://www.samba.org    
wine window emulator. http://www.winehq.com/    
wu-ftpd 일반적인 ftp 데몬. 21  
xfs x-font server http://www.suse.de/~mfabian/suse-cjk/xfs.html.    
xinetd service wrapper. http://www.xinetd.org    
yppasswdd NIS사용자들의 패스워드 데이터베이스관리.    
ypserv NIS구동을 위한 server프로그램. http://kldp.org/HOWTO/html/NIS/NIS-HOWTO-8.html    
ypxfrd NIS master와 slave간의 전송속도 향상.    
zebra GNU routing manager.  routing server나 refelctor를 구성하고자 할 때 사용. http://www.zebra.org 2600~6  
반응형

'OS > LINUX' 카테고리의 다른 글

[Linux] mrtg setting  (0) 2007.10.17
SELinux 에 대하여  (0) 2007.07.23
LINUX RPM 관련 명령어  (0) 2007.07.03
C쉘 설정파일(.cshrc)  (0) 2007.04.12
Xmanager 접속을 위한 리눅스 설정하기  (0) 2007.03.09
Posted by [PineTree]
PineTree/MOVIE2007. 7. 20. 21:44
반응형

다이하드 4.0을 보았다....

 

트랜스 포머에 이어서...기대한 만큼의 값어치...를 보여준 작품인거 같다..

 

다소 현실성이 떨어지긴 했지만...머 영화니까눈.....

 

정말 왜 다이하드인지 ......보면 알수있을듯..

 

브루스 윌리스도 마니 늙었구나... 하는 생각도...

 

 


반응형

'PineTree > MOVIE' 카테고리의 다른 글

세븐 데이즈  (0) 2007.11.19
식객  (0) 2007.11.18
D-War  (0) 2007.08.11
화려한 휴가.  (0) 2007.08.11
트랜스포머  (0) 2007.06.30
Posted by [PineTree]
OS/SOLARIS2007. 7. 20. 20:01
반응형

Content

  • Solaris 에서의 Patch
  • HP-UX 에서의 Patch
  • ACDC98 소개
  • References

 

0. General Information

이 문서는 김휘강(sakai@major.kaist.ac.kr) 에 의해 만들어 졌습니다. 저자의 허가없이 무단으로 도용, 게제할 수 없습니다.

1. Solaris 에서의 Patch

1.0. What is the patch?

    ** patch :  헝겊조각 (깁는데 쓰는), 천조각, 판자조각, 덧대는 쇳조각 (수리용)

    사전적 의미에서도 바로 짐작할 수 있듯이 , OS 가 출시된뒤 OS 내부의 package 나 application program 또는 kernel 모듈에 버그가 발견된 경우 이를 바로잡기 위해 vendor 측에서 update 모듈을 내놓는데 이것이 바로 patch 이다.

    각각의 패치에는 고유한 Patch ID 가 부여되는데 xxxxxx-xx 와 같은 형태로 부여된다.

    앞의 6 자리는 ID serial number 이고 뒤의 두자리는 revision number 이다. 그러므로 같은 ID serial number를 가지고 있다하더라도, revision number 가 높을수록 최근에 나온 patch 임을 알 수 있다.

1.1. How to apply whole Patches?

  • http://sunsolve1.sun.com/pub-cgi/us/pubpatchpage.pl 에서 공식적인 recommended patch 를 구할 수 있고, OS 별 PATCH Report 를 구할 수 있다.
    Recommended Patch 와 Security Patch 의 Patch Cluster 를 다운로드 받아서 한꺼번에 설치를 하고 난 후에는 security mailing list 에 가입하여 지속적으로 추가되는 패치사항에 대해서만 patch 를 적용하면 된다.

    Recommended Patch 를 설치하는 경우에는 OS_VERSION_Recommended.tar.Z 파일을 다운로드 한 후 다음과 같이 설치하면 된다.

    # zcat OS_VERSION_Recommended.tar.Z | tar xvf -
    # cd OS_VERSION_Recommended
    # installcluster .
    ......

    security patch 에 대해서만 patch 를 apply 하고 싶다면, "http://sunsolve1.sun.com/pub-cgi/secbul.pl 에서 security bulletin 을 읽고 자신의 OS 버전에 해당된 버그를 찾아 대응되는 패치를 적용하면 된다. 이 경우에는 install_patch 라는 스크립트를 쓰는데, 자신이 패치하려고 하는 패치의 Patch ID 가 무엇인지를 반드시 확인하도록 한다.

    예:

    다음과 같이 실행하여, 솔라리스 패치를 적용시킨다.

    예를 들어 major 란 호스트에서 Patch ID 가 103817-03 인 패치를 설치해야 하는 경우라고 하면,

    우선 자신의 호스트에 103817-03 패치가 기존에 설치되어 있는지를 확인하도록 한다. 이는 /usr/bin/showrev 커맨드를 사용하여 손쉽게 확인할 수 있다.

    # showrev -p | grep 103817-03
    Patch: 103817-03  Obsoletes:   Packages: SUNWcsu
    #

    위와같은 출력결과가 나왔다면 이미 설치가 된 경우이고 아무것도 출력결과가 없다면 설치가 되지 않은 경우이다.

    설치가 되지 않았다면 ftp://sunsolve1.sun.com/pub/patches/103817-03.tar.Z 에서 파일을 받아온 후, 다음과 같이 설치하도록 한다.

    major# ./installpatch .
    Checking installed packages and patches...
    Generating list of files to be patched...
    Verifying sufficient filesystem capacity (exhaustive method)...
    Installing patch packages...
    Patch number 103817-03 has been successfully installed.
    See /var/sadm/patch/103817-03/log for details
    Patch packages installed:
      SUNWcsu
    major#

    패치가 설치된 후에 에러메시지나 결과 log 는 /var/sadm/patch/ 디렉토리 밑에 PATCH_ID 의 디렉토리 아래에 log 파일로 저장이 되게 된다. 다음에 다루겠지만, 패치를 uninstall 하고 싶은 경우에는 /var/sadm/patch/PATCH_ID/ 디렉토리에 있는 backoutpatch 스크립트를 사용하면 된다.

    시스템에 여유공간이 별로 없는 경우라면 /var/sadm/patch 디렉토리를 삭제해도 무방하다. showrev -p 에서 읽어들이는 정보는 /var/sadm/pkg/ 디렉토리에 기록되어 있는 package information 이므로 현재 시스템에 설치되어 있는 patch 정보를 알아내는 데에는 영향을 주지 않으므로 /var/sadm/patch를 삭제해도 문제없다.

1.2. How to back out patches?

    backout을 하는 경우는 패치를 설치한 후 시스템이 비정상적으로 작동하는 경우나, OS 버전에 맞지 않는 잘못된 패치를 설치한 경우 (이런 경우는 거의 드물다. 대개 설치시 installpatch script에서 error handling을 해준다.), 또는 패치를 설치할 때 에러가 발생한 경우, 설치한 패치를 제거하고 싶을 때이다.

    이때에는 /var/sadm/patch/PATCH_ID/backoutpatch 스크립트를 실행시키면 된다.

    # backoutpatch PATCH_ID

    와 같은 형태로 명령을 수행해 주면 안전하게 패치가 uninstall 된다.

    아래의 Exit Code 는 backoutpatch를 수행할 때 발생할 수 있는 Exit Code 를 나열한 것이다.

    # Exit Codes:
    #       0   No error
    #       1   Usage error
    #       2   Attempt to backout a patch that hasn't been applied
    #       3   Effective UID is not root
    #       4   No saved files to restore
    #       5   pkgrm failed
    #       6   Attempt to back out an obsoleted patch
    #       7   Attempt to restore CPIO archived files failed
    #       8   Invalid patch id format
    #       9   Prebackout script failed
    #       10  Postbackout script failed
    #       11  Suspended due to administrative defaults
    #       12  Backoutpatch could not locate the backout data
    #       13  The relative directory supplied can't be found
    #       14  Installpatch has been interrupted, re-invoke installpatch
    #       15  This patch is required by a patch already installed, can't back it out

    아래는 major 란 호스트에서 Patch ID 가 103817-03 인 패치를 제거(back out) 하는 예이다.

    major# ./backoutpatch 103817-03
    Checking installed packages and patches...
    Patch 103817-03 has been backed out.
    major# showrev -p | grep 103817
    Patch: 103817-01  Obsoletes:   Packages: SUNWcsu
    Patch: 103817-02  Obsoletes:   Packages: SUNWcsu

     

1.3 참고사항 (중요)

  • 패치를 적용할 때 , required 패치가 설치할 패치 이전에 설치되어 있어야 한다. 참고로 Solaris 2.5.1 머쉰에서 사전에 필요한 패치를 하지 않고 패치를 실행시켰을 때의 예이다.
    Solaris2.5.1_machine# ./installpatch .
    Checking installed packages and patches...
    ERROR: This patch requires the following patches
    which have not been applied to the system:
    103566-36 106663-01 106662-01 103901-11
    Installpatch is terminating.
     
    이 예에서는 103666-36.tar.Z , 106663-01.tar.Z , 106662-01.tar.Z , 
    103901-11.tar.Z 를 pre-required patch 로 설치를 사전에 해두어야 한다.  
  • 패치를 설치할 경우나 backout 시킬 때에는 single user mode 로 로긴하여 패치를 하는 것이 원칙이다. 하지만 이것이 여의치 않을 경우 (가령, 24 시간 Full Service 를 하고 있는 시스템인 경우) 에는 가급적 시스템이 조용한 상태에서 , 즉 사용자가 뜸한 시간이라든가 작동되고 있는 프로세스 수가 적은 시간 대를 이용해서 패치를 하는 것이 바람직하다.
  • 패치를 설치한 후에는 리부팅을 시켜야 한다. 간단히 application 프로그램의 바이너리 파일만 패치하는 경우가 아닌 커널모듈이나 데몬을 패치하는 경우라면 가급적 리부팅을 시켜주도록 한다.

2. HP-UX 에서의 PATCH

2.1. How to apply whole Patches?

  • 아래의 사이트에서 패치를 구하도록 한다. 자신이 어떤 항목에 관련된 패치를 적용할 것인지 미리 키워드를 알고 있는 것이 좋다. 아직 아래의 사이트에서는 OS 별 , 패키지별 패치항목을 표로 정리해서 보여주고 있지 않다.
  • 원하는 패치를 받아왔으면 간단하게 sh을 이용하여 압축을 풀도록 한다. 압축을 풀고나면 패치에 대한 간략한 설명이 포함되어 있는 PATCH_ID.text 파일과 PATCH_ID.depot 파일이 생성되게 된다.  이 파일들을 swinstall을 이용해서 설치해 주기만 하면 된다. X windows 환경이나 CDE 환경 하에서는 GUI 로 swinstall 이 작동되며, 그렇지 않은 경우에는 text 모드로 작동되게 된다.
  • 아래는 PHCO_8246 이라는 팻치를 설치하는 예제이다.

     # sh PHCO_8246  
     PHCO_8246.text  PHCO_8246.depot
     # swinstall -s $PWD/PHCO_8246.depot

    swinstall에서 패치가 기존에 설치되어 있는지, 또는 시스템에 맞는 패치인지를 알아서 점검해 주므로 상당히 편리하다.

2.2 참고사항 (중요)

    PATCH_ID.depot 파일 내에 Automatic Reboot? 항목이 yes 인지 no 인지 사전에 반드시 확인해야 한다. Automatic Reboot 이 yes 로 되어 있는 경우 패치를 설치함과 동시에 시스템이 rebooting 되기 때문이다.

3. ACDC98 소개

  • 보안에 관련되서 한달에 한두 개 정도는 새로운 버그가 지적이 되고 이를 해결해주는 패치역시 1~2 개 정도는 꼬박꼬박 나오게 마련인데, 시스템 관리를 하면서 자기가 관리하고 있는 시스템이 어떤 것이 패치가 되어 있는지, 또 어떤 것이 패치가 되어 있지 않은지 일일이 점검해 보기는 보통 시간을 많이 잡아먹는 일이 아니다. 이를 위해 Solaris 2.x에서 Security 관련 패치에 대해 패치상황을 점검해 주고 , 필요한 패치를 다운로드 받도록 지시해 주는 간단한 프로그램이다.

    이 프로그램에서 점검해 주는 항목들은 다음과 같다. 이 프로그램 내에서는 98/11/14 일까지 발표된 security 상의 문제점을 점검하고 그에 대한 패치가 설치되어 있는가를 점검한다. 프로그램에서 체크해 주는 항목들은 꾸준히 업데이트 될 예정이다.

     

    OS Version

    check list

    Solaris 2.3

    Solaris_2.3.txt

    Solaris 2.4

    Solaris_2.4.txt

    Solaris 2.5

    Solaris_2.5.txt

    Solaris 2.5.1

    Solaris_2.5.1.txt

    Solaris 2.6

    Solaris_2.6.txt

         # gzip -dc acdc98.tar.gz | tar xvf -
           # make all
           # ./acdc

  • result report

      성공적으로 버그에 대한 검색이 끝났다면 results.html 이 생성되었을 것이다.
        시스템 내의 WWW browser 를 이용해서 보면 된다.

    다음은 captain.kaist.ac.kr 에서의 실행 예이다.


     

장점

    이 프로그램의 장점은 알고리즘이 단순하기 때문에 빠르고 시스템에 부하를 거의 주지 않는다. 또 관리자에게 도움이 될 만한 문서를 많이 제공해 주고 있다.

4. References

반응형

'OS > SOLARIS' 카테고리의 다른 글

Solaris 보안  (0) 2007.08.01
Solaris 설치 후 기본적인 설정  (0) 2007.07.25
SOLARIS PATCH ERROR CODE  (0) 2007.07.20
Trunking  (0) 2007.07.20
solaris 10 DVD 여러개 파일 한개이미지로 합치기  (0) 2007.07.19
Posted by [PineTree]
OS/SOLARIS2007. 7. 20. 03:42
반응형
패치 오류 (error code) 
 
0 No error  
1 Usage error  
2 Attempt to apply a patch that\'s already been applied 
3 Effective UID is not root  
4 Attempt to save original files failed  
5 pkgadd failed  
6 Patch is obsoleted  
7 Invalid package directory  
8 Attempting to patch a package that is not installed 
9 Cannot access /usr/sbin/pkgadd (client problem)  
10 Package validation errors  
11 Error adding patch to root template  
12 Patch script terminated due to signal  
13 Symbolic link included in patch  
14 NOT USED  
15 The prepatch script had a return code other than 0.  
16 The postpatch script had a return code other than 0.  
17 Mismatch of the -d option between a previous patch install and the current one.  
18 Not enough space in the file systems that are targets of the patch.  
19 $SOFTINFO/INST_RELEASE file not found  
20 A direct instance patch was required but not found  
21 The required patches have not been installed on the manager  
22 A progressive instance patch was required but not found  
23 A restricted patch is already applied to the package  
24 An incompatible patch is applied  
25 A required patch is not applied  
26 The user specified backout data can\'t be found  
27 The relative directory supplied can\'t be found  
28 A pkginfo file is corrupt or missing  
29 Bad patch ID format  
30 Dryrun failure(s)  
31 Path given for -C option is invalid  
32 Must be running Solaris 2.6 or greater  
33 Bad formatted patch file or patch file not found  
34 Incorrect patch spool directory 
35 Later revision already installed 
36 Cannot create safe temporary directory 
37 Illegal backout directory specified 
38 A prepatch, prePatch or a postpatch script could not be executed 
 
2번, 8번, 35번은 무시 가능하다. 
2: 이미 설치된 패치임 
8: 패키지가 설치되지 않았음(패치할 소프트웨어가 설치되지 않았음) 
35: 최신 버전이 이미 설치되었음. 
 
5번, 10, 30번 오류가 난 경우 다운로드가 잘 되었는지 부터 살피는 것이 좋다. (패치를 다운로드 하다가 깨지는 경우도 있다) 
 
pkgadd를 두번 동시에 실행하는 경우 오류가 생기기도 한다. 
 
나머지 코드는 패치하다 오류코드를 본 적이 없다. ^^; 
----- 
2004년 12월 30일: 36,37번 추가 
2005년 1월 11일: 38번 추가
반응형

'OS > SOLARIS' 카테고리의 다른 글

Solaris 설치 후 기본적인 설정  (0) 2007.07.25
Solaris,HP-UX 에서 패치  (0) 2007.07.20
Trunking  (0) 2007.07.20
solaris 10 DVD 여러개 파일 한개이미지로 합치기  (0) 2007.07.19
IPMP에 대하여  (0) 2007.07.19
Posted by [PineTree]
OS/SOLARIS2007. 7. 20. 01:48
반응형

설치준비

System 요구사항

* Hardware

Sun Ultra 60, Sun Ultra Enterprise 3x00, 4x00, 5x00, 6x00, E250,

E450, Sun Enterprise 10000, 12000, 15000 Sun Fire™ 4800, Netra

T3, T4, Sun Blade™ 100, 150, 1500, 2500 Netra™ T4.

 

* OS

Solaris 7, 8, 9 or 10

 

* NIC

Sun Quad FastEthernet adapter (qfe driver), Sun

GigabitEthernet adapter (ge driver), Sun GigaSwift

Ethernet adapter (ce driver), Sun Dual FastEthernet and

Dual SCSI/P adapter (ce driver)

 

설치

파일 위치http://www.sun.com/products/networking/ethernet/suntrunking/

참고) Sun에서 제공하는 매뉴얼을 가지고 설치하면 안됨. 다음과 같이 간단하게 설치할 수 있음.

 

위의 파일을 압축 해제 후 임의의 디렉토리에 복사한다.

#pwd

Sun_Trunking_1.3_s10/Product/sparc/

#pkgadd –d .

 

설치후 패키지 확인

#pkginfo –l SUNWtrku

PKGINST:  SUNWtrku

      NAME:  Sun Trunking Utility 1.3 for Solaris 10

  CATEGORY:  application

      ARCH:  sparc

   VERSION:  1.3,REV=2005.06.14.5.10

   BASEDIR:  /

    VENDOR:  Sun Microsystems, Inc.

      DESC:  Sun Trunking PCI/SBus Adapter Utility

    PSTAMP:  miro20050614090857

  INSTDATE:  Oct 17 2005 16:06

   HOTLINE:  Please contact your local service provider

    STATUS:  completely installed

     FILES:     25 installed pathnames

                 8 shared pathnames

                16 directories

                 5 executables

               566 blocks used (approx)

 

#pkginfo –l SUNWtrkm (이건 맨 페이지니까 설치 안해도 상관 없을 듯)

PKGINST:  SUNWtrkm

      NAME:  Sun Trunking Utiltiy 1.3 Man Pages

  CATEGORY:  system

      ARCH:  all

   VERSION:  1.3,REV=2005.06.14.10.0

   BASEDIR:  /opt

    VENDOR:  Sun Microsystems, Inc.

      DESC:  Sun Trunking PCI/SBus Adapter man pages

    PSTAMP:  miro20050614090918

  INSTDATE:  Oct 17 2005 16:05

   HOTLINE:  Please contact your local service provider

    STATUS:  completely installed

     FILES:     12 installed pathnames

                 8 directories

                44 blocks used (approx)

 

Trunking 구성

다음의 명령을 통해 자신의 시스템에 연결된 모든 NIC 정보를 얻어온다.

# grep <device> /etc/path_to_inst

* device : qfe for Sun Quad FastEthernet adapter

          ge for GigabitEthernet adapter

          ce for Ethernet adapter

 

Ex)

"/pci@1f,0/pci@1/pci@2/SUNW,qfe@0,1" 0 "qfe"

"/pci@1f,0/pci@1/pci@2/SUNW,qfe@1,1" 1 "qfe"

"/pci@1f,0/pci@1/pci@2/SUNW,qfe@2,1" 2 "qfe"

"/pci@1f,0/pci@1/pci@2/SUNW,qfe@3,1" 3 "qfe"

 

위의 리스트에서 trunking을 구성할 디바이스를 선택한다.

예를 들어 qfe1, qfe2 두 인터페이스로 네트워크 trunking을 구성하려면 다음과 같이 설정한다.

 

# Nettr –setup head-instance device=<qfe | ge | ce> members=<instance, instance, …> [policy=<number>]

* head-instance : trunking을 구성할 물리적 인터페이스들 중에서 대표 인터페이스

* device : 자신이 구성할 인터페이스의 종류

* members : trunking을 구성할 인터페이스 리스트

* policy : trunking 모드

         1 – MAC trunking

         2 – round robin

         3 – IP destination

         4 – IP source/IP destination

à policy의 구체적인 내용은 매뉴얼 참조
Ex)
다음은 위의 qfe0~1 중에서 qfe1 qfe2 두 개의 인터페이스로 head“1”(qfe1) round-robin 방식의 trunking 예를 보여준다.

# nettr –setup 1 members=1,2 device=qfe policy=2


위와 같이 구성하였으면 trunking이 잘 되었는지 확인한다.

 

# nettr –conf

Name    Head      Policy DEV Type   Original-Mac-Addr   Speed   Duplex   Link

qfe1      qfe1      2      qfe-pci    0:3:ba:c:cc:27        100     Full      DOWN

qfe2      qfe1             qfe-pci    0:3:ba:c:cc:27        100     Full      DOWN

 

위에 나열된 정보에서 마지막 Link 항목이 DOWN으로 나오는 이유는

trunking 구성 후 head IP 주소를 할당하지 않았기 때문이다. 따라서 다음과 같이 IP를 할당합니다.

 

# ifconfig qfe1 plumb 10.1.1.55 up

# nettr –conf

Name    Head      Policy DEV Type   Original-Mac-Addr   Speed   Duplex   Link

qfe1      qfe1      2      qfe-pci    0:3:ba:c:cc:27        100     Full      UP

qfe2      qfe1             qfe-pci    0:3:ba:c:cc:27        100     Full      UP

위와 같이 Link 정보가 “UP” 상태로 전환됨을 확인할 수 있다.

 

이제 모든 설정이 끝났으므로 설정된 인터페이스들이 제대로 동작하는지 확인한다.

# ./nettr -stats 1 device=qfe

Name   Ipkts        Ierrs  Opkts      Oerrs  Collis  Crc     %Ipkts  %Opkts

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

qfe1   8782         0      1563        0      0     0        60.25   65.95

qfe2   5793         0      807         0      0     0        39.75   34.05

 

다음과 같이 interval을 사용하여 주기적으로 해당 인터페이스들로 유입/유출되는 트래픽을 관찰할 수 있다.

# ./nettr -stats 1 device=qfe interval=sec

위에서 round-robin 방식으로 설정되었으므로 qfe1 qfe2가 주기적으로 통신을 함을 확인할 수 있다.

Oct 17 17:56:39 2005

Name   Ipkts        Ierrs  Opkts      Oerrs  Collis  Crc     %Ipkts  %Opkts

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

qfe1   0            0      0            0      0     0         0.00    0.00

qfe2   1            0      0            0      0     0       100.00    0.00

(Aggregate Throughput(Mb/sec): 0.00(New Peak)   0.00(Past Peak) 100.00%(New/Past))

Oct 17 17:56:40 2005

Name   Ipkts        Ierrs  Opkts      Oerrs  Collis  Crc    %Ipkts  %Opkts

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

qfe1   1            0      0            0      0       0    100.00    0.00

qfe2   0            0      0            0      0       0       0.00    0.00

(Aggregate Throughput(Mb/sec):  0.00(New Peak)  0.00(Past Peak) 100.00%(New/Past))

 

Trunking 해제

# /etc/opt/SUNWconn/bin/nettr -release 1 device=qfe

반응형

'OS > SOLARIS' 카테고리의 다른 글

Solaris,HP-UX 에서 패치  (0) 2007.07.20
SOLARIS PATCH ERROR CODE  (0) 2007.07.20
solaris 10 DVD 여러개 파일 한개이미지로 합치기  (0) 2007.07.19
IPMP에 대하여  (0) 2007.07.19
SVM(솔라리스 볼륨메니져) - 미러링  (0) 2007.07.19
Posted by [PineTree]
PineTree/etc2007. 7. 20. 00:40
반응형
반응형

'PineTree > etc' 카테고리의 다른 글

국내 토렌트 사이트모음  (0) 2010.06.04
한글주소 영문으로 변환사이트  (0) 2010.03.17
이동통신사별 카드 활인혜택  (0) 2009.07.30
남자가 수명이 짧은 7가지 이유  (1) 2008.09.07
RAID  (0) 2008.02.11
Posted by [PineTree]