탐색 링크 건너뛰기 | |
인쇄 보기 종료 | |
![]() |
Oracle Solaris 11.1 소프트웨어 패키지 추가 및 업데이트 Oracle Solaris 11.1 Information Library (한국어) |
pkg search 명령을 사용하여 지정한 패턴과 일치하는 데이터가 포함된 패키지를 검색할 수 있습니다.
/usr/bin/pkg search [-HIaflpr] [-o attribute ...] [-s repo_uri] query
pkg contents 명령과 마찬가지로 pkg search 명령은 패키지의 컨텐츠를 검사합니다. pkg contents 명령은 컨텐츠를 반환하고 pkg search 명령은 질의와 일치하는 패키지의 이름을 반환합니다.
기본적으로 query는 대소문자를 제외하고 정확히 일치하는 일련의 용어로 해석됩니다. 대소문자 구분 검색을 지정하려면 -I 옵션을 사용합니다. 질의어에 ? 및 * 와일드카드를 사용할 수 있습니다. 작은따옴표나 큰따옴표를 사용하여 구문을 검색할 수 있습니다. 와일드카드 또는 따옴표를 사용할 때는 셸을 고려해야 합니다.
질의어를 둘 이상 지정할 수 있습니다. 기본적으로 여러 질의어는 AND로 결합됩니다. OR을 사용하여 두 질의어를 명시적으로 결합할 수 있습니다.
다음과 같은 구조적 형태로 질의를 표현할 수 있습니다.
pkg_name:action_name:index:token
누락된 필드는 암시적으로 와일드카드로 처리됩니다. pkg_name 및 token 필드는 명시적 와일드카드를 포함할 수 있습니다. action_name 및 index 값은 정확히 일치해야 합니다. action_name 값은 작업 이름입니다. index 값은 작업의 속성 이름입니다. 패키지 작업 및 속성 목록은 pkg(5) 매뉴얼 페이지에서 “Actions”를 참조하십시오. 일부 속성은 검색할 수 없습니다. 예를 들어, mode는 file 작업의 속성이지만 mode는 index에 대한 유효한 값이 아닙니다. 일부 index 값은 다른 속성에서 파생됩니다. 예를 들어, index는 file 또는 dir 작업에 대한 path 속성의 마지막 구성 요소인 basename일 수 있습니다. 유용한 index 값의 예로는 file 및 dir 작업의 basename 및 path, depend 작업의 종속성 유형(예: require 또는 group), driver 작업의 driver_name 및 alias 등이 있습니다.
일반적으로 token 값은 index로 이름이 지정된 속성 값과 비교됩니다. 예를 들어, 다음 부분 driver 작업에서 alias는 index에 지정할 수 있는 속성 이름이고 token에는 pci108e를 지정할 수 있습니다.
driver alias=pci108e,1647 alias=pci108e,16a7
set 작업의 구문은 약간 다릅니다. set 작업의 두 가지 속성은 name과 value입니다. 이 경우 index는 name 속성 값이고 token 값은 일치하는 value 속성 값과 비교됩니다. 예를 들어 다음 부분 set 작업에서 pkg.summary는 index에 지정할 수 있고 Broadcom은 token에 지정할 수 있습니다.
set name=pkg.summary value="Broadcom 57xx 1GbE NIC Driver"
몇몇 제대로 정의된 set 작업 name 속성 값에는 pkg.fmri, info.classification, pkg.description 및 pkg.summary가 있습니다. pkg(5) 매뉴얼 페이지에서 “Set Actions”를 참조하십시오.
기본적으로 이 이미지에 대해 구성된 모든 게시자와 관련된 저장소가 검색됩니다. 이 이미지에 설치된 패키지만 검색하려면 -l 옵션을 사용합니다. 검색할 저장소의 URI를 지정하려면 -s 옵션을 사용합니다.
기본적으로 현재 설치된 패키지 또는 최신 패키지 버전에 대해서만 일치하는 항목이 표시됩니다. 일치하는 버전을 모두 표시하려면 -f 옵션을 사용합니다.
기본적으로 일치하는 모든 작업에 대해 결과가 표시되므로 한 패키지에 대해 여러 행의 결과가 생성될 수 있습니다. 일치하는 각 패키지를 한 번만 나열하려면 -p 옵션을 사용합니다.
다음 예에서는 libpower 라이브러리가 system/kernel/power 패키지에 있음을 보여줍니다.
$ pkg search -Hlo pkg.name /lib/libpower.so.1 system/kernel/power $ pkg search -lo path,pkg.name libpower.so.1 PATH PKG.NAME lib/libpower.so.1 system/kernel/power $ pkg search -Hlo path,pkg.name basename:libpower.so.1 lib/libpower.so.1 system/kernel/power $ pkg search -Hlo path,pkg.name 'path:*libpower.so.1' lib/libpower.so.1 system/kernel/power
특정 SMF 서비스를 제공하는 패키지를 표시하려면 org.opensolaris.smf.fmri 속성의 값인 서비스 이름을 검색합니다.
$ pkg search -o value,pkg.name 'org.opensolaris.smf.fmri:*network/http*' VALUE PKG.NAME ['svc:/network/http', 'svc:/network/http:apache22'] web/server/apache-22 ['svc:/network/http', 'svc:/network/http:tomcat6'] web/java-servlet/tomcat ['svc:/network/http', 'svc:/network/http:squid'] web/proxy/squid ['svc:/network/http', 'svc:/network/http:lighttpd14'] web/server/lighttpd-14
이 경우 각 속성의 값은 두 개로, 인스턴스 이름이 지정된 서비스 이름과 지정되지 않은 서비스 이름입니다. 다음 예에서는 패키지 매니페스트에서 이 속성을 지정하는 방법을 보여줍니다.
set name=org.opensolaris.smf.fmri value=svc:/network/http value=svc:/network/http:apache22
다음 예에서는 info.classification 속성 값에 "Source Code Management"가 있는 모든 패키지를 식별합니다.
$ pkg search 'info.classification:source code management' INDEX ACTION VALUE PACKAGE info.classification set Development/Source Code Management pkg:/developer/versioning/sccs@0.5.11-0.175 info.classification set Development/Source Code Management pkg:/developer/xopen/xcu4@0.5.11-0.175.1.0. info.classification set Development/Source Code Management pkg:/developer/versioning/git@1.7.9.2-0.175 info.classification set Development/Source Code Management pkg:/developer/versioning/mercurial-27@2.2. info.classification set Development/Source Code Management pkg:/library/python-2/subversion@1.7.5-0.17 info.classification set Development/Source Code Management pkg:/developer/versioning/mercurial-26@2.2. info.classification set Development/Source Code Management pkg:/library/java/subversion@1.7.5-0.175.1. info.classification set Development/Source Code Management pkg:/developer/quilt@0.60-0.175.1.0.0.21.0 info.classification set Development/Source Code Management pkg:/developer/versioning/cvs@1.12.13-0.175 info.classification set Development/Source Code Management pkg:/developer/versioning/subversion@1.7.5- info.classification set Development/Source Code Management pkg:/developer/versioning/mercurial@2.2.1-0 info.classification set Development/Source Code Management pkg:/library/perl-5/subversion@1.7.5-0.175.
이 예에서는 반복되는 정보가 대량 표시되어 중요한 정보를 쉽게 찾아볼 수 없습니다.
다음 예에서는 -o 옵션을 사용하여 패키지 이름만 표시하고 -H 옵션을 사용하여 열 제목을 생략합니다.
$ pkg search -Ho pkg.name 'info.classification:source code management' developer/versioning/sccs developer/xopen/xcu4 developer/versioning/git developer/versioning/mercurial-27 library/python-2/subversion developer/versioning/mercurial-26 library/java/subversion developer/quilt developer/versioning/cvs developer/versioning/subversion developer/versioning/mercurial library/perl-5/subversion
아래의 예에서는 지정한 패키지에 종속된 패키지를 보여줍니다.
다음 예에서는 system/kernel/power 패키지에 대해 require 종속성을 갖는 패키지를 보여줍니다. pkg contents 명령을 사용하여 i86pc 및 system/hal 패키지에 대해 require 유형 depend 작업을 표시한 경우 두 패키지 모두에 대해 system/kernel/power가 나열될 것입니다.
$ pkg search -Hlo pkg.name require:system/kernel/power system/kernel/dynamic-reconfiguration/i86pc system/hal
다음 예에서는 많은 패키지에 pkg:/x11/server/xorg@1.12.99에 대한 exclude 종속성이 있음을 보여줍니다.
$ pkg search -lo pkg.name,fmri 'depend:exclude:*xorg*' PKG.NAME FMRI x11/server/xvnc pkg:/x11/server/xorg@1.12.99 x11/server/xorg pkg:/x11/server/xorg@1.12.99 x11/server/xorg/driver/xorg-video-mga pkg:/x11/server/xorg@1.12.99 x11/server/xorg/driver/xorg-video-vesa pkg:/x11/server/xorg@1.12.99 x11/server/xorg/driver/xorg-input-vmmouse pkg:/x11/server/xorg@1.12.99 ...
Oracle Solaris 11 GUI 설치 프로그램은 solaris-desktop 그룹 패키지를 설치합니다. 텍스트 설치 프로그램 및 자동 설치 프로그램 설치의 기본 AI 매니페스트는 solaris-large-server 그룹 패키지를 설치합니다. 비전역 영역의 기본 설치 매니페스트는 solaris-small-server 그룹 패키지를 설치합니다. solaris-small-server 그룹 패키지는 서버에 더 작은 패키지 세트를 설치하는 데 사용할 수 있는 대안이기도 합니다. 다음 검색 폼을 사용하여 각 그룹에 포함된 패키지 세트를 표시할 수 있습니다.
$ pkg search -Hfo fmri '*/solaris-large-server:depend:group:*' archiver/gnu-tar compress/bzip2 ... text/texinfo web/wget
이 예에서 -o pkg.name은 질의의 pkg_name 필드에 지정된 패키지의 이름만 반환합니다.
group/system/solaris-desktop
-o fmri 옵션은 solaris-large-server 패키지에서 group 유형 종속성으로 지정된 패키지의 FMRI를 반환합니다.
기본적으로 이 이미지에 설치할 수 있는 패키지만 반환됩니다. 이 예에서는 일치하는 패키지가 반환되지 않고 대신 지정한 패키지에 있는 작업의 속성 값이 반환됩니다. 이 예에서는 속성 값이 패키지 이름입니다. 이 명령으로 반환되는 결과는 이와 비슷한 pkg contents 명령으로 반환되는 결과보다 결과의 수가 많습니다. 이 명령의 검색 결과에는 설치 가능한 패키지뿐 아니라 지정한 패키지의 group depend 작업에 지정된 모든 패키지의 이름이 포함되기 때문입니다. 예를 들어, 이 이미지에 설치할 수 없는 패키지 변형이 포함될 수도 있습니다. 이 검색의 출력을 그룹 패키지의 설치 가능한 모든 패키지 나열에 나온 pkg contents 명령의 출력과 비교해 보십시오.
참고 - 일반적으로 지정한 패키지의 컨텐츠를 표시하려면 pkg contents 명령을 사용하고 질의와 일치하는 패키지를 표시하려면 pkg search 명령을 사용합니다. 원하는 컨텐츠를 제공하는 패키지를 확인하려면 pkg contents 명령을 사용합니다.