Oracle® Solaris 11.2의 소프트웨어 추가 및 업데이트

인쇄 보기 종료

업데이트 날짜: 2014년 7월
 
 

패키지 검증 및 검증 오류 수정

pkg verify 명령을 사용하여 이미지의 패키지 설치를 검증할 수 있습니다. 관련 게시자에 대한 현재 서명 정책이 ignore가 아니면 정책을 기반으로 각 패키지의 서명이 검증됩니다. 서명 정책을 적용하는 방법에 대한 설명은 서명된 패키지에 필요한 이미지 등록 정보를 참조하십시오. 설치된 패키지 컨텐츠에 대한 검증은 사용자 정의 컨텐츠 분석을 기반으로 수행되며 사용자 정의 컨텐츠 분석은 다른 프로그램과는 다른 결과를 반환할 수 있습니다.

패키지 이름을 제공하지 않으면 모든 설치된 패키지를 검사합니다. -v 옵션은 각 설치된 패키지마다 한 줄 이상 정보 메시지를 제공합니다. 다음 예제는 작은 출력 샘플만 보여줍니다. pkg/depot 패키지 설치에 오류가 있습니다.

$ pkg verify -v
PACKAGE                                                                 STATUS
pkg://solaris/archiver/gnu-tar                                              OK
pkg://solaris/audio/audio-utilities                                         OK
pkg://solaris/benchmark/x11perf                                             OK
...
pkg://solaris/package/pkg/depot                                          ERROR
        dir: var/cache/pkg/depot
                Group: 'pkg5srv (97)' should be 'bin (2)'
        file: var/log/pkg/depot/access_log
                editable file has been changed
        file: var/log/pkg/depot/error_log
                editable file has been changed
...
pkg://solaris/security/sudo                                                 OK
        file: etc/sudoers
                editable file has been changed
...
pkg://solaris/x11/xlock                                                     OK
pkg://solaris/x11/xmag                                                      OK
pkg://solaris/x11/xvidtune                                                  OK

pkg fix 명령을 사용하여 pkg verify 명령이 보고한 패키지 오류를 수정할 수 있습니다.

pkg verify 출력에는 설치된 sudo 패키지의 구성 요소가 패키지된 구성 요소와 다르다고 나타나지만 이러한 차이점이 검증 오류로 보고되지 않았습니다. pkg fix는 아무것도 변경하지 않습니다. /etc/sudoers 파일이 교체되지 않습니다.

$ pkg fix pkg://solaris/security/sudo
No repairs for this image.

/etc/sudoers 파일을 제거하면 패키지 검증을 실패하고 pkg fix가 파일을 교체합니다.

$ pkg fix pkg://solaris/security/sudo
Verifying: pkg://solaris/security/sudo                          ERROR
        file: etc/sudoers
                Missing: regular file does not exist
Created ZFS snapshot: 2014-03-13-22:05:42
Repairing: pkg://solaris/security/sudo
Creating Plan (Evaluating mediators): 

DOWNLOAD                                PKGS         FILES    XFER (MB)   SPEED
Completed                                1/1           1/1      0.0/0.0  990B/s

PHASE                                          ITEMS
Updating modified actions                        1/1
Updating package state database                 Done
Updating package cache                           0/0
Updating image state                            Done
Creating fast lookup database                   Done

한 파일을 다운로드하고 한 작업(file 작업)을 수정한다고 언급했듯이, 누락된 파일만 교체합니다. 다른 sudo 패키지 내용은 건드리지 않습니다. 이 작업은 복구를 수행하기 전에 현재 설치의 스냅샷을 저장했습니다. pkg fix 출력에서 “Created ZFS snapshot” 행을 살펴보십시오. 현재 이미지에 복구가 수행되었습니다.

$ zfs list -r rpool/ROOT/s11
NAME                                 USED  AVAIL  REFER  MOUNTPOINT
rpool/ROOT/s11                      16.3G  22.5G  26.1G  /
rpool/ROOT/s11@2014-03-13-23:52:19   249M      -  26.1G  -

pkg verify 출력에서 설치된 pkg/depot 패키지의 디렉토리 소유권에 오류가 있음을 알 수 있습니다. pkg fix 출력은 “Verifying” 섹션의 오류만 보여줍니다. 패키지된 구성 요소와 다른 차이점은 표시되지 않습니다.

$ ls -ld /var/cache/pkg/depot
drwxr-xr-x   3 pkg5srv  pkg5srv        3 Dec  2 19:47 /var/cache/pkg/depot/
$ pkg fix pkg://solaris/package/pkg/depot
Verifying: pkg://solaris/package/pkg/depot                      ERROR
        dir: var/cache/pkg/depot
                Group: 'pkg5srv (97)' should be 'bin (2)'
Created ZFS snapshot: 2014-03-13-22:18:52
Repairing: pkg://solaris/package/pkg/depot
Creating Plan (Evaluating mediators): 

PHASE                                          ITEMS
Updating modified actions                        1/1
Updating package state database                 Done
Updating package cache                           0/0
Updating image state                            Done
Creating fast lookup database                   Done

다음 출력은 오류가 수정되었음을 보여줍니다. 설치된 구성 요소와 패키지된 구성 요소 간의 다른 차이점은 그대로입니다.

$ ls -ld /var/cache/pkg/depot
drwxr-xr-x   3 pkg5srv  bin            3 Dec  2 19:47 /var/cache/pkg/depot/
$ pkg verify -v pkg://solaris/package/pkg/depot
PACKAGE                                                                 STATUS
pkg://solaris/package/pkg/depot                                             OK
        file: var/log/pkg/depot/access_log
                editable file has been changed
        file: var/log/pkg/depot/error_log
                editable file has been changed