반응형

출처 : http://kyosi3t.tistory.com/6



Solaris에서 Package 관리 관련 명령어
 

- pkginfo 명령어

# pkginfo | more (전체 패키지 확인)

# poginfo -l SUNWab2s (SUNWab2s에 대한 상세 정보 출력)

# pkginfo | wc -l  (패키지 수 확인)

# pkginfo -d /cdrom/sol_8_u3_sparc/s0/solaris_8/Product | more

  (CD-ROM으로부터 패키지 정보 확인)

# pkginfo -d /cdrom/sol_8_u3_sparc/s0/solaris_8/Product -l SUNWaudio | more

  (CD-ROM으로부터 SUNWaudio 패키지 정보 확인)

 


- pkgadd 명령어

# pkgadd -d .  (현재 directory에서 directory형태로 되어 있는 패키지 모두 설치)

# pkgadd -d SUNWsan (현재 directory의 패키지중 SUNWsan 패키지만 설치)

# pkgadd -d /cdrom/sol_8_u3_sparc/s0/solaris_8/Product SUNWaudio

 (CD_ROM으로부터 SUNWsan 패키지 설치)

# pkgadd -d /cdrom/sol_8_u3_sparc/s0/solaris_8/Product -s spool SUNWaudio

 (/var/spool/pkg 디렉토리로 복사)

 


- pkgrm 명령어

# pkgrm SUNWsan

# pkgrm -s spool SUNWsan  (/var/spool/pkg로 제거된 패키지 저장)

# pkgrm -s /export/pkg SUNWsan  (spool 디렉토리 /export/pkg로 제거된 패키지 저장)

 


- pkgchk 명령어

 파일 정확성 검사 : 파일 퍼미션, 소유자, block or character device의 major/minor, 파일   크기, checksum, 수정날짜 등.

 (-l : 자세한 정보 제공

  -v : 검사한 파일리스트 제공

  -p path: 경로명의 정확성 검사 )

# pkgchk SUNWsan

#          <-- 아무런 message도 없으면 성공적인 설치

# pkgchk -v SUNWsan  (패키지에 포함된 file list)

 


# pkgchk -p /etc/passwd

  (설치시 /etc/passwd와 현재의 /etc/passwd의 변화된 정보를 보여줌)

# pkgchk -l -p /usr/bin/ls  (패키지 설치 정보 검사)

 


- /var/sadm/install/contents 파일

 pkgadd에 의해 패키지가 추가될 때마다 /var/sadm/install/contents에 정보 추가.

# grep pkgadd /var/sadm/install/contents  (pkgadd에 대한 정보를 출력)



출처 : http://www.ioneit.co.kr/ver1/bbs/board.php?bo_table=tiptech1_1&wr_id=46&page=2


이곳에서는 Solaris Sparc version의 Package & Patch에 관하여 설명하도록 하겟습니다.
    우리가 System으로 어떠한 일을 하는데 있어서 단순히 OS만을 설치하고 이것만을 사용하지는 않을 것 입니다.  대부분 어떤 작업을 하는데 있어서 좀더 편리하고, 좀더 좋은 부가적인 프로그램을 덧붙여 사용하겠죠. 파일을 압축하여 용량을 줄이는 압축프로그램, E-MAIL을 주고 받을 수 있는 E-MAIL프로그램, APHACHE, C compiler,.....등 사용자가 필요한 프로그램을 다운, 설치하여 사용합니다.

    과연 Solaris System에서는 어떻게 프로그램을 다운 받아, 설치하여 사용하는지 알아보기로 하겠습니다

SUN package
    MS나  리눅스등의 OS에서 응용프로그램을 설치하기 위해서 인스톨파일이나 RPM등을 사용하는데
    Solaris에서는 응용프로그램들을 그룹단위로 묶어 배포하는데 이를 Package라 칭합니다.
    먼저 가장 쉽게 Sun package를 접 할 수 있는것이, System 구입시 첨부되는 CD입니다. 그리고 웹 상에서도 이를 구할 수 있습니다
    Package식 배포에는 장점과 단점을 가지고 있는데,
  • 장 점 : 다른 OS와 달리 설치, 제거가 용이하다
              응용프로그램의 소스를 컴파일하여 설치를 할 경우 설치된 곳에 다른 응용프로그램도 
              같이 들어있을 가능성이 크다. 나중에 이러한 프로그램을 다시 삭제할 필요가 생겼을 
              때 해당 응용프로그램만 지운다는 것은 거의 불가능에 가깝다고 볼 수 있다.
  • 단 점 : 패키지의 종류가 많지 않다.
              패키지의 환경을 마음대로 바꿀 수 없다  

SUN 패키지 설치 이전에..
    1. 우선 System의 남은 용량을 확인합니다. ( df  -k )
2. System의 어느 디렉토리에 설치할 것 인지를 정한다.
    3. 웹이나 ftp를 통해서 다운을 받습니다.
    4. 일단 다운받은 패키지의 압축을 풉니다. (거의 파일이 압축되어있음.)
        - Z (uncompress 파일명), gz (gzip -d 파일명), zip (zip -d 파일명).. 이렇게들 풀면되구요
        - gzip 파일로 압축되어 있는건  먼저 gzip 패키지를 설치하셔야 합니다.
    5. pkgadd -d . 명령을 써서 패키지를 설치합니다.

     ※ 솔라리스의 패키지를 제공하는 사이트입니다.  http://www.sunfreeware.com

SUN 패키지 설치하기 

    pkgadd 명령 

    패키지를 추가하는 명령어이다. pkgadd에 대한 여러 옵션 중에서 가장 기본적이며 많이 쓰이는 것은 ‘-d’옵션이다. 이를 사용하지 않으면 패키지를 설치하지 못한다.
    아래의 예를 보면 pkgadd -d 다음에  "."을 붙이는데 이는 현재 디렉토리의 안에 있는 패키지들을 추가한다는 뜻입니다. "." 하나 땜에 애먹을 수 있습니다. 주의 하시기 바랍니다. 
    ※ 패키지를 추가할 때에는 SUPER-USER가 아니면 추가시킬 수 없슴.(root계정을 말하는 거예요)

    pkgadd [ -d [device | patname]] pkg_nmae

[leemary:/var/spool/pkg] pkgadd -d .
    다음과 같은 패키지를 사용할 수 있습니다.
      1  SUNWaudio     Audio applications
                       (sparc) 3.6.4,REV=1.98.08.13
    처리할 패키지(들)를 선택하십시오.(또는 모든 패키지를
    처리하려면'all'을 입력하십시오.) (default: all) [?,??,q]: 1
             *
             *
    ## 패키지 정보 처리 중
    ## 시스템 정보 처리 중
    ## 패키지 종속성 검증
             *
             *
    ## 1째 (전체: 1) 부분 설치
    <SUNWaudio>(이)가 성공적으로 설치되었습니다.
    다음과 같은 패키지를 사용할 수 있습니다.
      1  SUNWaudio     Audio applications
                       (sparc) 3.6.4,REV=1.98.08.13

     

SUN 패키지 삭제하기 

    pkgrm 명령

    이명령어는 현재 설치되어 있는 패키지를 삭제하고 싶을 때 사용하는 것으로, 사용법은 다음과 같습니다.
    pkgchk  package_name

# pkgrm SUNWaudio
     현재 설치되어 있는 패키지는 다음과 같습니다:
       SUNWaudio       Audio applications
                       (sparc) 3.6.4,REV=1.98.08.13
    이 패키지를 제거하겠습니까? y
    ## 설치된 패키지 예 <SUNWaudio> 제거
    ## 패키지 종속성 검증
    경고:
        <SUNWolrte> 패키지는 현재 제거되는 패키지에
        종속되어있습니다.
                       *
                       *
    이 패키지를 계속 제거하겠습니까? y
    ## 패키지 정보 처리 중
    ## 시스템 정보 갱신 중
    <SUNWaudio>(이)가 성공적으로 제거되었습니다.

패키지에관한 부가적 명령

    pkginfo 명령

    지정된 패키지의 정보를 알 수 있는 명령어로서, 일정패키지 폴더안에 pkginfo라는 file이 생성되어 있고, 안에 패키지의 정보에 대한 파라키터 값들이 저장되어있다.
    pkginfo [ -d [device | pathname] ] [ -l ] pkg_name

    -d : 패키지 소프트워에가 존재하고 있는, 장치명이나 절대디렉토리를 지정.
    - l : 지정 패키지의 세부적인 사항을 보고 싶을 때..
     
    다음은 Solaris 7 media에 있는 패키지를 사용한 예입니다.

# pkginfo -d /cdrom/cdrom0/s0/Solaris_2.7/Product |more
   system      FJSVhea        SunOS Header Files for FUJITSU platform specific
   system      FJSVvplr.u     Fujitsu platform specific symlinks (Root)
   system      FJSVvplr.us    Fujitsu platform links
   system      FJSVvplu.u     Fujitsu platform specific symlinks (user)
# pkginfo -d /cdrom/cdrom0/s0/Solaris_2.7/Product -l SUNWaudio
   PKGINST:  SUNWaudio
   NAME:  Audio applications
                    *
                    *
   VERSION:  3.6.4,REV=1.98.08.13
    FILES:      9 스풀된 경로 이름
                 2 디렉토리
                 3 실행 가능
                 4 패키지 정보 파일
               700 블록이 사용됨 (추정치)

     ※ pkginfo | wc -l : 현재 system에 install 되어있는 pkg의 숫자를 확인할 때 사용합니다.

    pkgchk 명령

    패키지 체크 명령어는 어떤 패키지의 추가 이후 system에 변경된 값을 기존과 비교하여 나타내주는 명령어입니다.
    패키지를 설치한후 지금과 변경된 값이 없을 경우 아무것도 디스플레이 하지 않는다
    pkgchk [-p path1, [path2..]]

# pkgchk -p /etc/group
 ERROR: /etc/group
    file size <278> expected <313> actual
    file cksum <23586> expected <25899> actual


참고 

Package의 유형

    아래의 예문  gawk-3.0.4-sol7-sparc-local.gz,  sunvts_40.tar.gz과 같은 두개의 패키지 파일이 있습니다
    이 파일의 압축을 풀고 내용을 보면 디스플래이 되는 화면이 다르다는 것을 느낄수 있을 것입니다.
    gawk-3.0.4-sol7-sparc-local.gz은 압축을 풀어도 하나의 파일이 생성이 되고 그 파일의 내용을 보면 
    패키지 파일의 이름이나 버젼등의 정보가 수록 되어있습니다.  달리 sunvts_40.tar.gz파일의 압축을 
    풀어보면 디렉토리가  생성이 되고 그 안에 패키지 정보나 기록위치등이 포함된 파일이 생성되어 
    있습니다. 이 두 유형의 패키지는 파일의 형태만 다를 뿐 설치하는 방법은 같습니다.

# ls
   gawk-3.0.4-sol7-sparc-local.gz

# gzip -d gawk-3.0.4-sol7-sparc-local.gz
# ls
   gawk-3.0.4-sol7-sparc-local
# more gawk-3.0.4-sol7-sparc-local
# PaCkAgE DaTaStReAm
   SMCgawk 1 3454
# end of header
gawk
NAME=gawk
ARCH=sparc
VERSION=3.0.4
CATEGORY=application
VENDOR=Free Software Foundation
EMAIL=steve@smc.vnet.net
PSTAMP=Steve Christensen
BASEDIR=/usr/local
CLASSES=none
0030939000081a40000000a0000000a0000000138ab966d00000d1b000000200000004a00
000000000000000000000f00000003SMCgawk/pkgmap: 1 3454
 

# ls
   sunvts_40.tar.gz
# gzip -d sunvts_40.tar.gz
# ls
   sunvts_40.tar
# tar xvf sunvts_40.tar
x SUNWvts, 0 bytes, 0 테이프 블록 
x SUNWvts/install, 0 bytes, 0 테이프 블록 
x SUNWvts/install/checkinstall, 4014 bytes, 8 테이프 블록 
x SUNWvts/install/copyright, 59 bytes, 1 테이프 블록 
# ls -al
drwxr-xr-x 11 root other 512 3월 25일 23:57 .
drwxrwxr-x 3 root sys 512 3월 12일 14:18 ..
drwxrwxr-x 4 root other 512 1999년 12월 23일 SUNWvts
drwxrwxr-x 3 root other 512 1999년 12월 23일 SUNWvtsmn
drwxrwxr-x 4 root other 512 1999년 12월 23일 SUNWvtsx
-rw-r--r-- 1 root other 17776128 3월 25일 23:56 sunvts_40.tar
#cd SUNWvts 
# ls
install pkginfo pkgmap reloc reloc.cpio.Z


    contents file
    /var/sadm/install/contents file은 설치된 pakage에 대한 log가 수록되어있다
    system의 패키지에 관한  정보를 알 수 있다.

 

 

SUN 패치..

    언제라도 발생할 수 있는 보안 침해나, 버그, y2k, 업그래이드 사항에 대하여 썬에서는 솔라리스 각 버전에 대해서 패치를 정기적으로 제공해준다.
    특히 y2k 패치가 안되어 있는 OS는 해당되는 패치를 해주어야 한다.

    패치 넘버
    솔라리스에서는 독특한 패치 ID를 부여한다. 예로 110281-02를 보면 패치넘버 110281의 두 번째 업그래이드 버전이라는 걸 알 수 있다

     

패치 구하기

    썬에서 제공하는 패치는 여러곳에서 구할 수 있으나, 대표적으로 http://sunsolve.sun.com/
    에서 쉽게 다운받을 수 있다. http, ftp로의 다운을 제공하며 패치에관 한 Report를 제공한다.
     

  • Patchfinder

    OS별로 추천되는 패치를 받을 수가 있다. 여기서는 사용자가 선택을 할 수가 없으며 단순히 썬에서 권고하는 여러 패치 ID가 하나의 파일로 압축되어져 있는 것을 다운 받을 수 있다. 그렇다고 이곳에서는 특정 패치 ID를 다운받을 수 없는 것은 아니다. Find Patch라는 패치 ID검색 기능이 있어서 이곳에서 원하는 패치 ID를 검색하여 다운 받을 수 있다. 

  • Recommended & Security Patches 
    OS별, 보안관련 패치로 분류되어 있다. 이중 패치하고자 하는 것을 선택하면 여러 패치 ID리스트가 나올 것입니다. 리스트에서 사용자가 원하는 것만 클릭해서 다운로드를 받을 수 있고 모두 받을 수도 있습니다. 선택한 것을 다운로드 받으면‘ Recommended.zip과 같이 하나의 압축파일 형태로 제공이 됩니다..

 

패치를 하기 이전에

    패키지를 설치하거나 패치를 하기 이전도 패키지 설치와 마찬가지 입니다.  System의 상황을 파악
    하여야 하고. 다운받을 곳의 위치와 필요 패키지의 설치 여부 등을 파악해야 됩니다.
    또한 자신의 서버에 어떤 패치가 설치되어 있는지에 대한 정보를 수집한다 이러한 설치된 패치 정보를 보기위해서 showrev라는 명령어를 사용한다. 이 명령어는 머신이나 소프트웨어의 정보를 보여주는 명령어이다. 

    showrev [-a] [-p] [-w] [-c command] 

    -a : 모든 정보를 보여준다. 
    -p : 패치에 관한 정보만을 보여준다. 
    -c command : 입력된 명령어(command)에 대한 정보를 보여준다. 

# showrev
Hostname: leemary
Hostid: 80c5575c
Release: 5.7
Kernel architecture: sun4u
Application architecture: sparc
Hardware provider: Sun_Microsystems
Kernel version: SunOS 5.7 Generic 106541-15 January 2001

     

패치 하기

    먼저 패치 파일을 다운받아야 겟죠.
    그리구 zip파일을 이용하여 압축을 풉니다.

     

    patchadd 명령

     patchadd    patch ID

    패치를 추가하는 명령어이다.  README 파일을 꼭 참조하시고 명령을 실행하시기 바랍니다.
    다음은 Solaris 7 OS 의 패치파일모음인 7-Recommended 파일을 다운받아 압축을 풀어 생성된
    7-Recommeded폴더의 내용과 인스톨 시키는 과정입니다.
    개별적인 패치와 달리 Recommended 패치는 install_cluster파일을 실행시켜 주시면 됩니다.
     

# ls
106300-09        107200-12        107794-01        108756-01
106327-08        107259-02        107834-03        108758-01
                            *
                            *
107115-07        107654-08        108662-01        CLUSTER_README
107148-08        107684-02        108721-02        copyright
107149-07        107702-07        108748-01        install_cluster
107171-08        107709-12        108750-01        patch_order
107180-27        107792-02        108754-01
# install_cluster
Patch cluster install script for Solaris 7 Recommended
*WARNING* SYSTEMS WITH LIMITED DISK SPACE SHOULD *NOT* INSTALL PATCHES:
With or without using the save option, the patch installation process
will still require some amount of disk space for installation and
administrative tasks in the /, /usr, /var, or /opt partitions where
patches are typically installed.  The exact amount of space will
depend on the machine's architecture, software packages already 
installed, and the difference in the patched objects size.  To be
safe, it is not recommended that a patch cluster be installed on a
system with less than 4 MBytes of available space in each of these
partitions.  Running out of disk space during installation may result
in only partially loaded patches.  Check and be sure adequate disk space
is available before continuing.
Are you ready to continue with install? [y/n]: y
Determining if sufficient save space exists...
Sufficient save space exists, continuing...
Installing patches located in /export/home/7_Recommended
Using patch_order file for patch installation sequence
Installing 106960-01...
  Installation of 106960-01 failed. Return code 2.
Installing 107038-01...
  Installation of 107038-01 failed. Return code 2.
Installing 107171-08...
                            *
                            *
                            *
 Interrupted ... Please wait
The following patches were not able to be installed:
        106960-01
        107038-01

For more installation messages refer to the installation logfile:
  /var/sadm/install_data/Solaris_7_Recommended_log
Use '/usr/bin/showrev -p' to verify installed patch-ids.
Refer to individual patch README files for more patch detail.
Rebooting the system is usually necessary after installation.
[leemary:/export/home/7_Recommended]

    ※ 패치시 패치실패 메시지가 나오면서 설치가 안되는 경우가 발생합니다. 이때 에러코드를 참조하시고
        대부분의 패치에러는 각 System에따라 필요하지 않은 패치들입니다.

     

패치 삭제하기


    patchrm 명령

    patchrm    patch ID

    추가되어 있는 패치를 삭제 시키는 명령어입니다.
    System에 패치를 시켰을 때 간혹 버그가 발생하는데, 이때 보조 디바이스를 사용하지 못한다거나 하는
    문제가 발생할 수 있습니다. 이럴 경우 해당 패치를 삭제시켜 주어야 합니다.

# patchrm 106300-09
Checking installed patches...
Patch 106300-09 has not been applied to this system.
Patchrm is terminating.

 


반응형

+ Recent posts