JavaScript is required to for searching.
탐색 링크 건너뛰기
인쇄 보기 종료
이미지 패키징 시스템 매뉴얼 페이지     Oracle Solaris 11 Information Library (한국어)
search filter icon
search icon

문서 정보

머리말

사용자 명령

packagemanager(1)

pkg(1)

pkgdepend(1)

pkgdiff(1)

pkgfmt(1)

pkglint(1)

pkgmerge(1)

pkgmogrify(1)

pkgrecv(1)

pkgrepo(1)

pkgsend(1)

pkgsign(1)

pm-updatemanager(1)

시스템 관리 명령

표준, 환경 및 매크로

pkgsend

- 이미지 패키징 시스템 게시 클라이언트

개요

/usr/bin/pkgsend [options] command [cmd_options] [operands]
/usr/bin/pkgsend generate [-T pattern] [--target file]
    source ...
/usr/bin/pkgsend publish [-b bundle ...] [-d source ...] 
    [-s repo_uri_or_path] [-T pattern] [--no-catalog]
    [manifest ...]

설명

pkgsend는 패키지 매니페스트를 사용하여 새 패키지 및 새 패키지 버전을 이미지 패키징 저장소에 게시할 수 있도록 합니다. 저장소를 만들거나 관리하려면 pkgrepo(1)를 참조하십시오. 기존 저장소의 패키지를 기반으로 패키지 아카이브를 만들려면 pkgrecv(1)를 참조하십시오. 패키지 매니페스트에 대한 자세한 내용은 pkg(5)를 참조하십시오.

pkgsend 작업 후에 검색 색인을 구성하려면 저장소에서 pkgrepo refresh 또는 pkgrepo rebuild를 실행하십시오.

옵션

다음 옵션이 지원됩니다.

--help 또는 -?

사용법 메시지를 표시합니다.

하위 명령

지원되는 하위 명령은 다음과 같습니다.

generate [-T pattern] [--target file] source ...

source(예: SVR4 패키지, 디렉토리 또는 tar 파일)를 읽고 source를 기술하는 매니페스트를 stdout에 내보냅니다. 출력 매니페스트에서 filedir 작업에 소유자가 root로 설정되고 그룹이 bin으로 설정됩니다.

그러면 출력 매니페스트에 주석을 추가하고, pkgdepend(1)를 사용하여 종속성을 추가 또는 분석하고, pkglint(1)를 사용하여 출력 매니페스트가 올바른지 확인한 후 publish 하위 명령으로 전달할 수 있습니다.

지원되는 소스는 다음과 같습니다.

  • 파일 시스템 형식의 SVR4 패키지

  • 데이터 스트림 형식의 SVR4 패키지

  • tar 파일

  • 디렉토리

소스에 있는 파일의 기본 이름이 -T를 사용하여 지정된 패턴과 일치하는 경우 해당 파일에 대한 작업에 파일의 시간 기록이 추가됩니다. pattern은 셸 일치 규칙을 사용합니다.

*

모든 항목과 일치합니다.

?

단일 문자와 일치합니다.

[seq]

seq의 임의의 문자와 일치합니다.

![seq]

seq를 제외한 임의의 문자와 일치합니다.

지정된 소스가 디렉토리인 경우 단일 Inode에 대한 경로 이름이 여러 개 있으면 file 작업과 hardlink 작업을 구별할 수 있는 방법이 없습니다. 일반적으로 파일 시스템 영역에서 발견된 첫번째 작업이 file로 처리되며 나머지는 hardlink로 처리됩니다. 이는 파일 시스템 구현에 따라 임의적일 수 있습니다. 파일로 처리되어야 할 경로 이름을 지정하려면 --target 옵션에 대한 인수로 각 경로 이름을 전달하십시오. 다른 유형의 소스는 어떤 경로 이름이 file이며 어떤 경로 이름이 hardlink인지 표시할 수 있으므로 다른 유형의 소스에는 이 옵션이 적용되지 않습니다.

SVR4 패키지가 소스로 제공되면 pkgsend는 클래스 작업 스크립트가 있는 파일이 존재하지 않으며 사전 설치, 사후 설치, 사전 제거 또는 사후 제거 스크립트가 존재하지 않는지 확인합니다. manifest 클래스와 함께 설치된 SMF 매니페스트는 예외적입니다. BASEDIR은 재배치 가능한 모든 경로에서 제거됩니다.

SVR4 DESC 매개변수는 pkg.description 값으로 변환됩니다. SVR4 NAME 매개변수는 pkg.summary 값으로 변환됩니다.

publish [-b bundle ...] [-d source ...] [-s repo_uri_or_path] [-T pattern] [--no-catalog] [manifest ...]

제공된 소스에서 패키지에 대한 파일을 검색하여 지정된 패키지 매니페스트를 사용하는 패키지를 대상 패키지 저장소에 게시합니다. 매니페스트를 여러 개 지정할 경우 제공된 순서대로 조인됩니다. 매니페스트를 지정하지 않을 경우 stdin에서 매니페스트를 읽습니다.

-b를 사용할 경우 매니페스트에서 파일을 찾을 때 검색할 소스 목록에 지정된 번들을 추가합니다. 번들은 tar 파일, SVR4 패키지 등의 소스입니다. 이 옵션을 여러 번 지정하면 명령줄에 표시된 순서대로 소스가 검색됩니다. -b-d를 함께 지정할 경우 -d 소스가 먼저 검색됩니다. 지원되는 번들 및 사용 방법에 대한 자세한 내용은 위의 generate 하위 명령을 참조하십시오.

-d를 사용할 경우 매니페스트에서 파일을 찾을 때 검색할 소스 목록에 지정된 디렉토리를 추가합니다. 이 옵션을 여러 번 지정하면 명령줄에 표시된 순서대로 소스가 검색됩니다. 지원되는 소스 및 사용 방법에 대한 자세한 내용은 위의 generate 하위 명령을 참조하십시오.

-s를 사용할 경우 지정된 URI 또는 파일 시스템 경로에 있는 저장소에 패키지를 게시합니다. 게시 제한 및 제안 사항에 대한 자세한 내용은 아래의 "참고" 절을 참조하십시오. "환경 변수" 절도 참조하십시오.

--no-catalog를 사용할 경우 게시자의 카탈로그에 패키지를 추가하지 않습니다. 게시자 카탈로그에 대한 업데이트는 연속적으로 수행되어야 하므로 여러 패키지가 한 번에 게시될 때마다 이 옵션을 사용하는 것이 좋습니다. 게시가 완료되면 pkgrepo(1)의 refresh 하위 명령을 사용하여 개별 게시자 카탈로그에 새 패키지를 추가할 수 있습니다.

기타 모든 옵션의 경우 사용법 및 결과는 위의 generate 하위 명령을 참조하십시오.

환경 변수

PKG_REPO

대상 저장소의 경로 또는 URI입니다.

예 1 패키지 만들기 및 게시

pkgsend generate를 사용하여 패키지를 만들어 게시합니다.

$ pkgsend generate /path/to/proto > /path/to/manifests/foo.p5m

foo.p5m의 시작 부분에 example.com 게시자에 대한 패키지 FMRI를 추가합니다.

set name=pkg.fmri value=pkg://example.com/foo@1.0

결과 매니페스트는 다음과 같이 표시됩니다.

set name=pkg.fmri value=pkg://example.com/foo@1.0
dir group=sys mode=0755 owner=root path=usr
dir group=bin mode=0755 owner=root path=usr/bin
file usr/bin/foo group=bin mode=0555 owner=root path=usr/bin/foo
$ pkgsend publish -s http://example.com:10000 -d /path/to/proto \
/path/to/manifests/foo.p5m

예 2 일반 패키지 만들기 및 게시

다음 행을 포함하는 example.com 게시자에 대한 매니페스트를 만듭니다.

set name=pkg.fmri value=pkg://example.com/foo@1.0-1
file /exdir/foo mode=0555 owner=root group=bin path=/usr/bin/foo

패키지 게시:

$ pkgsend publish -s http://example.com:10000 -d /exdir

예 3 기존 매니페스트 사용

게시 및 기존 매니페스트를 기반으로 파일 시스템을 사용하여 패키지를 게시합니다.

$ pkgsend publish -s /tmp/example_repo -d /tmp/pkg_files \
/tmp/pkg_manifest

종료 상태

다음 종료 값이 반환됩니다.

0

명령이 성공했습니다.

1

오류가 발생했습니다.

2

잘못된 명령줄 옵션이 지정되었습니다.

99

예상치 않은 예외가 발생했습니다.

속성

다음 속성에 대한 설명은 attributes(5)를 참조하십시오.

속성 유형
속성 값
Availability
package/pkg
Interface Stability
커밋되지 않음

참조

pkgdepend(1), pkgrepo(1), pkg.depotd(1m), pkg(5)

http://hub.opensolaris.org/bin/view/Project+pkg/

게시 프로토콜 제한 사항으로 인해 크기가 128MB를 넘는 개별 패키지 파일을 게시할 때는 파일 시스템 기반 게시를 사용해야 합니다. 저장소에 대한 액세스 제어가 필요한 경우에도 파일 시스템 기반 게시가 권장됩니다.

파일 시스템 기반 게시를 사용할 때는 게시가 완료된 후 웹 인터페이스 또는 검색 응답에 변경 사항이 반영되도록 대상 저장소를 처리하고 있는 pkg.depotd 프로세스를 다시 시작해야 합니다. 자세한 내용은 pkg.depotd(1M)를 참조하십시오.