JavaScript is required to for searching.
탐색 링크 건너뛰기
인쇄 보기 종료
시스템 관리 설명서: 기본 관리     Oracle Solaris 10 8/11 Information Library (한국어)
search filter icon
search icon

문서 정보

본 문서 정보

1.  Oracle Solaris 관리 도구(로드 맵)

2.  Solaris Management Console 작업(작업)

3.  Oracle Java Web Console 작업(작업)

4.  사용자 계정 및 그룹 관리(개요)

5.  사용자 계정 및 그룹 관리(작업)

6.  클라이언트-서버 지원 관리(개요)

7.  디스크가 없는 클라이언트 관리(작업)

8.  시스템 종료 및 부트 소개

9.  시스템 종료 및 부트(개요)

10.  시스템 종료(작업)

11.  Oracle Solaris 부트 동작 수정(작업)

12.  Oracle Solaris 시스템 부트(작업)

13.  Oracle Solaris 부트 아카이브 관리(작업)

14.  Oracle Solaris 시스템 부트(작업) 문제 해결

15.  x86: GRUB 기반 부트(참조)

16.  x86: GRUB가 구현되지 않은 시스템 부트(작업)

17.  Oracle Solaris 자동 등록 regadm 명령 작업(작업)

18.  서비스 관리(개요)

19.  서비스 관리(작업)

20.  소프트웨어 관리(개요)

21.  Oracle Solaris 시스템 관리 도구를 사용하여 소프트웨어 관리(작업)

22.  Oracle Solaris 패키지 명령을 사용하여 소프트웨어 관리(작업)

패키지 명령을 사용하여 소프트웨어 패키지 관리(작업 맵)

패키지 명령을 사용하여 소프트웨어 패키지 관리

소프트웨어 패키지를 추가하는 방법(pkgadd)

스풀 디렉토리에 소프트웨어 패키지 추가

스풀 디렉토리에 소프트웨어 패키지를 추가하는 방법(pkgadd)

모든 설치된 패키지에 대한 정보를 나열하는 방법(pkginfo)

설치된 소프트웨어 패키지의 무결성을 검사하는 방법(pkgchk)

설치된 객체의 무결성을 검사하는 방법(pkgchk -p, pkgchk -P)

소프트웨어 패키지 제거

소프트웨어 패키지를 제거하는 방법(pkgrm)

23.  패치 관리

A.  SMF 서비스

색인

패키지 명령을 사용하여 소프트웨어 패키지 관리

다음 절차에서는 패키지 명령을 사용하여 소프트웨어 패키지를 관리하는 방법을 설명합니다.

소프트웨어 패키지를 추가하는 방법(pkgadd)

  1. 수퍼유저 또는 동등한 역할의 사용자로 로그인합니다.

    역할에는 권한 부여 및 권한이 있는 명령이 포함됩니다. 역할에 대한 자세한 내용은 System Administration Guide: Security Services의 Configuring RBAC (Task Map)를 참조하십시오.

  2. 추가하려는 패키지와 동일한 이름으로 이미 설치된 패키지를 제거합니다.

    이 단계에서는 시스템에서 추가 및 제거된 소프트웨어에 대한 기록을 제대로 유지하는지 확인합니다. 경우에 따라 시스템에 동일 응용 프로그램의 여러 버전을 유지하고자 할 수 있습니다. 여러 소프트웨어 사본 유지에 대한 전략은 패키지 제거 기준(pkgrm)을 참조하십시오. 작업 정보는 소프트웨어 패키지를 제거하는 방법(pkgrm)을 참조하십시오.

  3. 시스템에 소프트웨어 패키지를 추가합니다.
    # pkgadd -a admin-file 
    -d device-name pkgid ...
    -a admin-file

    (선택 사항) 설치 중 pkgadd 명령이 검사해야 하는 관리 파일을 지정합니다. 관리 파일 사용에 대한 자세한 내용은 관리 파일 사용을 참조하십시오.

    -d device-name

    소프트웨어 패키지에 대한 절대 경로를 지정합니다. device-name은 장치, 디렉토리 또는 스풀 디렉토리에 대한 경로가 될 수 있습니다. 패키지가 있는 경로를 지정하지 않을 경우 pkgadd 명령은 기본 스풀 디렉토리(/var/spool/pkg)를 검사합니다. 패키지가 거기에 없을 경우 패키지 설치를 실패합니다.

    pkgid

    (선택 사항) 설치할 공백으로 구분된 하나 이상의 패키지 이름입니다. 생략할 경우 pkgadd 명령은 지정된 장치, 디렉토리 또는 스풀 디렉토리에서 모든 사용 가능한 패키지를 설치합니다.

    패키지 설치 중 pkgadd 명령에서 문제가 발생할 경우 문제와 관련된 메시지가 표시되고 다음 프롬프트가 나타납니다.

    Do you want to continue with this installation?

    yes, no 또는 quit으로 응답하십시오. 하나 이상의 패키지가 지정된 경우 no를 입력하여 설치 중인 패키지의 설치를 중지합니다. pkgadd 명령은 계속해서 다른 패키지를 설치합니다. 설치를 중지하려면 quit을 입력합니다.

  4. 패키지가 제대로 설치되었는지 확인합니다.
    # pkgchk -v pkgid

    오류가 발생하지 않을 경우 설치된 파일 목록이 반환됩니다. 그렇지 않은 경우 pkgchk 명령은 오류를 보고합니다.

예 22-1 마운트된 CD에서 소프트웨어 패키지 추가

다음 예는 마운트된 Oracle Solaris 10 CD에서 SUNWpl5u 패키지를 설치하는 방법을 보여줍니다. 또한 패키지 파일이 제대로 설치되었는지 확인하는 방법도 보여줍니다.

# pkgadd -d /cdrom/cdrom0/Solaris_10/Product SUNWpl5u

    .
    .
    .
Installation of <SUNWpl5u> was successful.
# pkgchk -v SUNWpl5u
/usr
/usr/bin
/usr/bin/perl
/usr/perl5
/usr/perl5/5.8.4
.
.
.

이 예는 Solaris 10 10/08 릴리스 이상을 실행 중이 아닐 경우 사용할 경로를 보여줍니다.

# pkgadd -d /cdrom/cdrom0/s0/Solaris_10/Product SUNWpl5u

    .
    .
    .
Installation of <SUNWpl5u> was successful.
# pkgchk -v SUNWpl5u
/usr
/usr/bin
/usr/bin/perl
/usr/perl5
/usr/perl5/5.8.4
.
.
.

예 22-2 원격 패키지 서버에서 소프트웨어 패키지 설치

설치하려는 패키지를 원격 시스템에서 사용할 수 있는 경우 패키지(패키지 형식)가 포함된 디렉토리를 수동으로 마운트하고 로컬 시스템에 패키지를 설치할 수 있습니다.

다음 예는 원격 시스템에서 소프트웨어 패키지를 설치하는 방법을 보여줍니다. 이 예에서는 이름이 package-server인 원격 시스템의 /latest-packages 디렉토리에 소프트웨어 패키지가 있다고 가정합니다. mount 명령은 /mnt에 로컬로 패키지를 마운트합니다. pkgadd 명령은 SUNWpl5u 패키지를 설치합니다.

# mount -F nfs -o ro package-server:/latest-packages /mnt
# pkgadd -d /mnt SUNWpl5u
    .
    .
    .
Installation of <SUNWpl5u> was successful.

사이트에서 자동 마운터가 실행 중인 경우 원격 패키지 서버를 수동으로 마운트할 필요가 없습니다. 대신 자동 마운터 경로를 사용합니다. 이 경우 -d 옵션에 대한 인수로 /net/package-server/latest-packages를 사용합니다.

# pkgadd -d /net/package-server/latest-packages SUNWpl5u
    .
    .
    .
Installation of <SUNWpl5u> was successful.

예 22-3 관리 파일을 지정하여 원격 패키지 서버에서 소프트웨어 패키지 설치

이 예는 이전 예와 유사하지만, -a 옵션을 사용하고 noask-pkgadd 이름의 관리 파일을 지정합니다. 자세한 내용은 패키지를 추가할 때 사용자 상호 작용 피하기(pkgadd)를 참조하십시오. 이 예에서는 noask-pkgadd 관리 파일이 기본 위치인 /var/sadm/install/admin에 있다고 가정합니다.

# pkgadd -a noask-pkgadd -d /net/package-server/latest-packages SUNWpl5u

    .
    .
    .
Installation of <SUNWpl5u> was successful.

예 22-4 HTTP URL에서 소프트웨어 패키지 설치

다음 예는 HTTP URL을 장치 이름으로 사용하여 패키지를 설치하는 방법을 보여줍니다. URL은 스트림 형식 패키지를 가리켜야 합니다.

# pkgadd -d http://install/xf86-4.3.0-video.pkg

## Downloading...
..............25%..............50%..............75%..............100%
## Download Complete


The following packages are available:
  1  SUNWxf86r     XFree86 Driver Porting Kit (Root)
                   (i386) 4.3.0,REV=0.2003.02.28
  2  SUNWxf86u     XFree86 Driver Porting Kit (User)
                   (i386) 4.3.0,REV=0.2003.02.28

.
.
.

스풀 디렉토리에 소프트웨어 패키지 추가

편의를 위해 자주 설치하는 패키지를 스풀 디렉토리에 복사할 수 있습니다. 패키지를 기본 스풀 디렉토리인 /var/spool/pkg에 복사할 경우 pkgadd 명령을 사용할 때 패키지(-d device-name 인수)의 소스 위치를 지정할 필요가 없습니다. pkgadd 명령은 기본적으로 /var/spool/pkg 디렉토리에서 명령줄에 지정된 패키지를 검사합니다. 스풀 디렉토리에 패키지를 복사한다고 해서 시스템에 패키지가 설치되는 것은 아닙니다.

스풀 디렉토리에 소프트웨어 패키지를 추가하는 방법(pkgadd)

  1. 수퍼유저 또는 동등한 역할의 사용자로 로그인합니다.

    역할에는 권한 부여 및 권한이 있는 명령이 포함됩니다. 역할에 대한 자세한 내용은 System Administration Guide: Security Services의 Configuring RBAC (Task Map)를 참조하십시오.

  2. 추가하려는 패키지와 동일한 이름으로 이미 스풀된 패키지를 제거합니다.

    스풀된 패키지 제거에 대한 자세한 내용은 예 22-16을 참조하십시오.

  3. 스풀 디렉토리에 소프트웨어 패키지를 추가합니다.
    # pkgadd -d device-name 
    -s spooldir pkgid ...
    -d device-name

    소프트웨어 패키지에 대한 절대 경로를 지정합니다. device-name은 장치, 디렉토리 또는 스풀 디렉토리에 대한 경로가 될 수 있습니다.

    -s spooldir

    패키지가 스풀될 스풀 디렉토리의 이름을 지정합니다. spooldir를 지정해야 합니다.

    pkgid

    (선택 사항) 스풀 디렉토리에 추가할 공백으로 구분된 하나 이상의 패키지 이름입니다. 생략할 경우 pkgadd 명령은 모든 사용 가능한 패키지를 복사합니다.

  4. 패키지가 스풀 디렉토리에 성공적으로 복사되었는지 확인합니다.
    $ pkginfo -d spooldir
    | grep pkgid

    pkgid가 올바르게 복사된 경우 pkginfo 명령은 pkgid에 대한 한 라인의 정보를 반환합니다. 그렇지 않은 경우 pkginfo 명령은 시스템 프롬프트를 반환합니다.

예 22-5 마운트된 CD에서 스풀 디렉토리 설정

다음 예는 마운트된 SPARC 기반 Oracle Solaris 10 CD에서 기본 스풀 디렉토리(/var/spool/pkg)로 SUNWman 패키지를 전송하는 방법을 보여줍니다.

# pkgadd -d /cdrom/cdrom0/Solaris_10/Product -s /var/spool/pkg SUNWman

Transferring <SUNWman> package instance

예 22-6 원격 소프트웨어 패키지 서버에서 스풀 디렉토리 설정

복사하려는 패키지를 원격 시스템에서 사용할 수 있는 경우 패키지(패키지 형식)가 포함된 디렉토리를 수동으로 마운트하고 로컬 스풀 디렉토리에 패키지를 복사할 수 있습니다.

다음 예는 이 시나리오에 대한 명령을 보여줍니다. 이 예에서는 이름이 package-server인 원격 시스템의 /latest-packages 디렉토리에 소프트웨어 패키지가 있다고 가정합니다. mount 명령은 /mnt에 로컬로 패키지 디렉토리를 마운트합니다. pkgadd 명령은 /mnt에서 기본 스풀 디렉토리(/var/spool/pkg)로 SUNWpl5p 패키지를 복사합니다.

# mount -F nfs -o ro package-server:/latest-packages /mnt
# pkgadd -d /mnt -s /var/spool/pkg SUNWpl5p
Transferring <SUNWpl5p> package instance

사이트에서 자동 마운터가 실행 중인 경우 원격 패키지 서버를 수동으로 마운트할 필요가 없습니다. 대신 자동 마운터 경로를 사용합니다. 이 경우 d 옵션에 대한 인수로 -/net/package-server/latest-packages를 사용합니다.

# pkgadd -d /net/package-server/latest-packages -s /var/spool/pkg SUNWpl5p

Transferring <SUNWpl5p> package instance

예 22-7 기본 스풀 디렉토리에서 소프트웨어 패키지 설치

다음 예는 기본 스풀 디렉토리에서 SUNWpl5p 패키지를 추가하는 방법을 보여줍니다. 옵션이 사용되지 않을 경우 pkgadd 명령은 /var/spool/pkg 디렉토리에서 명명된 패키지를 검색합니다.

# pkgadd SUNWpl5p
    .
    .
    .
Installation of <SUNWpl5p> was successful.

모든 설치된 패키지에 대한 정보를 나열하는 방법(pkginfo)

예 22-8 설치된 패키지 나열

이 예는 독립형 시스템이나 서버 등 로컬 시스템에 설치된 모든 패키지를 나열하는 방법을 보여줍니다. 출력은 기본 범주, 패키지 이름 및 패키지에 대한 설명을 보여줍니다.

$ pkginfo
system      SUNWaccr       System Accounting, (Root)
system      SUNWaccu       System Accounting, (Usr)
system      SUNWadmap      System administration applications
system      SUNWadmc       System administration core libraries
.
.
.

예 22-9 소프트웨어 패키지에 대한 자세한 정보 표시

이 예는 지정된 패키지에 대해 사용 가능한 모든 정보가 포함된 긴 형식을 지정하여 시스템에 설치된 모든 패키지를 나열하는 방법을 보여줍니다.

$ pkginfo -l SUNWcar
  PKGINST:  SUNWcar
      NAME:  Core Architecture, (Root)
  CATEGORY:  system
      ARCH:  i386.i86pc
   VERSION:  11.10.0,REV=2005.01.21.16.34
   BASEDIR:  /
    VENDOR:  Oracle Corporation
      DESC:  core software for a specific hardware platform group
    PSTAMP:  on10ptchfeatx20110211045100
  INSTDATE:  Mar 03 2011 10:57
   HOTLINE:  Please contact your local service provider
    STATUS:  completely installed
     FILES:        2 installed pathnames
                   2 shared pathnames
                   2 directories

설치된 소프트웨어 패키지의 무결성을 검사하는 방법(pkgchk)

  1. 수퍼유저 또는 동등한 역할의 사용자로 로그인합니다.

    역할에는 권한 부여 및 권한이 있는 명령이 포함됩니다. 역할에 대한 자세한 내용은 System Administration Guide: Security Services의 Configuring RBAC (Task Map)를 참조하십시오.

  2. 설치된 패키지의 상태를 검사합니다.
    • 파일 속성 및 내용을 검사하려면 다음을 입력합니다.

      # pkgchk -a| -c -v pkid ...
    • 스풀 디렉토리의 절대 경로를 지정하려면 다음을 입력합니다.

      # pkgchk -d spooldir pkgid ...
    -a

    기본값이 파일 속성 및 내용 대신 파일 속성(권한)만 감사하도록 지정합니다.

    -c

    기본값이 파일 내용 및 속성 대신 파일 내용만 감사하도록 지정합니다.

    -v

    처리될 때 파일 이름을 표시하는 상세 정보 표시 모드를 지정합니다.

    -d spooldir

    스풀 디렉토리의 절대 경로를 지정합니다.

    pkgid

    (선택 사항) 공백으로 구분된 하나 이상의 패키지 이름입니다. pkgid를 지정하지 않을 경우 시스템에 설치된 모든 소프트웨어 패키지가 검사됩니다.

예 22-10 설치된 소프트웨어 패키지의 내용 검사

다음 예는 패키지의 내용을 검사하는 방법을 보여줍니다.

# pkgchk -c SUNWbash

오류가 발생하지 않을 경우 시스템 프롬프트가 반환됩니다. 그렇지 않을 경우 pkgck 명령은 오류를 반환합니다.

예 22-11 설치된 소프트웨어 패키지의 파일 속성 검사

다음 예는 패키지의 파일 속성을 검사하는 방법을 보여줍니다.

# pkgchk -a SUNWbash

오류가 발생하지 않을 경우 시스템 프롬프트가 반환됩니다. 그렇지 않을 경우 pkgck 명령은 오류를 반환합니다.

예 22-12 스풀 디렉토리에 설치된 소프트웨어 패키지 검사

다음 예는 스풀 디렉토리(/export/install/packages)에 복사된 소프트웨어 패키지를 검사하는 방법을 보여줍니다.

# pkgchk -d /export/install/packages
## checking spooled package <SUNWadmap>
## checking spooled package <SUNWadmfw>
## checking spooled package <SUNWadmc>
## checking spooled package <SUNWsadml>

패키지가 설치될 때까지 일부 정보를 감사할 수 없으므로 스풀된 패키지에 대해 수행되는 검사는 제한적입니다.

설치된 객체의 무결성을 검사하는 방법(pkgchk -p, pkgchk -P)

이 절차에서는 pkgchk 명령을 사용하여 설치된 객체의 무결성을 검사하는 방법을 설명합니다. 새 -P 옵션을 통해 부분 경로를 지정할 수 있습니다. 이 옵션은 파일을 패키지에 매핑하는 데 도움이 되도록 추가되었습니다. 부분 경로가 포함된 파일의 정보를 목록으로 만들려면 이 옵션을 -l 옵션과 함께 사용합니다. 전체 경로를 지정하여 설치된 객체의 무결성을 검사하려면 -p 옵션을 사용합니다. 자세한 내용은 pkgchk(1M) 매뉴얼 페이지를 참조하십시오.

  1. 수퍼유저 또는 동등한 역할의 사용자로 로그인합니다.

    역할에는 권한 부여 및 권한이 있는 명령이 포함됩니다. 역할에 대한 자세한 내용은 System Administration Guide: Security Services의 Configuring RBAC (Task Map)를 참조하십시오.

  2. 설치된 객체의 무결성을 검사합니다.
    • 전체 경로 이름에 대해 설치된 객체의 무결성을 확인하려면 다음을 입력합니다.

      # pkgchk -lp path-name
    • 부분 경로 이름에 대해 설치된 객체의 무결성을 확인하려면 다음을 입력합니다.

      # pkgchk -lP partial-path-name
    -p path

    나열된 경로 이름의 정확성만 검사합니다. path는 콤마로 구분된 하나 이상의 경로 이름이 될 수 있습니다. 기본값이 파일 속성 및 내용 대신 파일 속성(권한)만 감사하도록 지정합니다.

    -P partial-path

    나열된 부분 경로 이름의 정확성만 검사합니다. partial-path는 콤마로 구분된 하나 이상의 부분 경로 이름이 될 수 있습니다. 부분 경로에 포함된 문자열을 포함하는 경로 이름과 일치합니다. 기본값이 파일 내용 및 속성 대신 파일 내용만 감사하도록 지정합니다.

    -l

    패키지를 구성하는 선택된 파일에 대한 정보를 나열합니다. 이 옵션은 -a, -c, -f, -g-v 옵션과 호환되지 않습니다. 처리될 때 파일 이름을 표시하는 상세 정보 표시 모드를 지정합니다.

예 22-13 전체 경로 이름을 지정하여 설치된 객체의 무결성 검사

이 예는 pkgchk -lp 명령을 사용하여 전체 경로 이름을 지정함으로써 파일 시스템의 객체 내용/속성을 검사하는 방법을 보여줍니다. -l 옵션은 패키지를 구성하는 선택된 파일에 대한 정보를 나열합니다.

# pkgchk -lp /usr/sbin/pkgadd
Pathname: /usr/sbin/pkgadd
Type: regular file
Expected mode: 0555
Expected owner: root
Expected group: sys
Expected file size (bytes): 867152
Expected sum(1) of contents: 45580
Expected last modification: Jul 02 02:20:34 2004
Referenced by the following packages:
        SUNWpkgcmdsu   
Current status: installed

예 22-14 부분 경로 이름을 지정하여 설치된 객체의 무결성 검사

이 예는 pkgchk -lP 명령을 사용하여 파일이나 디렉토리 이름과 같은 부분 경로 이름을 지정함으로써 파일 시스템의 객체 내용/속성을 검사하는 방법을 보여줍니다. -l 옵션은 패키지를 구성하는 선택된 파일에 대한 정보를 나열합니다.

# pkgchk -lP /sbin/pkgadd
Pathname: /usr/sbin/pkgadd
Type: regular file
Expected mode: 0555
Expected owner: root
Expected group: sys
Expected file size (bytes): 867152
Expected sum(1) of contents: 45580
Expected last modification: Jul 02 02:20:34 2004
Referenced by the following packages:
        SUNWpkgcmdsu   
Current status: installed

Pathname: /usr/sbin/pkgask
Type: linked file
Source of link: ../../usr/sbin/pkgadd
Referenced by the following packages:
        SUNWpkgcmdsu   
Current status: installed

소프트웨어 패키지 제거

소프트웨어 패키지를 제거하거나 설치 해제하려면 소프트웨어 패키지를 추가하거나 설치하는 데 사용한 연관된 도구를 사용합니다. 예를 들어, Oracle Solaris 설치 GUI를 사용하여 소프트웨어를 설치한 경우 Oracle Solaris 설치 GUI를 사용하여 소프트웨어를 설치 해제합니다.


주의

주의 - rm 명령을 사용하여 소프트웨어 패키지를 제거하지 마십시오. 그렇게 하면 시스템에 설치된 모든 패키지를 추적하는 데이터베이스가 부정확해집니다.


소프트웨어 패키지를 제거하는 방법(pkgrm)

  1. 수퍼유저 또는 동등한 역할의 사용자로 로그인합니다.

    역할에는 권한 부여 및 권한이 있는 명령이 포함됩니다. 역할에 대한 자세한 내용은 System Administration Guide: Security Services의 Configuring RBAC (Task Map)를 참조하십시오.

  2. 설치된 패키지를 제거합니다.
    # pkgrm pkgid ...

    pkgid는 제거할 공백으로 구분된 하나 이상의 패키지 이름을 식별합니다. 생략하면 pkgrm 명령은 모든 사용 가능한 패키지를 제거합니다.

예 22-15 소프트웨어 패키지 제거

이 예는 패키지를 제거하는 방법을 보여줍니다.

# pkgrm SUNWctu

The following package is currently installed:
   SUNWctu         Netra ct usr/platform links (64-bit)
                   (sparc.sun4u) 11.9.0,REV=2001.07.24.15.53

Do you want to remove this package? y

## Removing installed package instance <SUNWctu>
## Verifying package dependencies.
## Processing package information.
## Removing pathnames in class <none>
.
.
.

예 22-16 스풀된 소프트웨어 패키지 제거

이 예는 스풀된 패키지를 제거하는 방법을 보여줍니다.

# pkgrm -s /export/pkg SUNWaudh
The following package is currently spooled:
   SUNWaudh        Audio Header Files
                   (sparc) 11.10.0,REV=2003.08.08.00.03
Do you want to remove this package? y
Removing spooled package instance <SUNWaudh>