탐색 링크 건너뛰기 | |
인쇄 보기 종료 | |
이미지 패키징 시스템 매뉴얼 페이지 Oracle Solaris 11 Information Library (한국어) |
- 이미지 패키징 시스템 패키지 병합 유틸리티
/usr/bin/pkgmerge [-n] -d dest_repo -s variant=value[,...],src_repo ... [pkg_fmri_pattern ...]
pkgmerge는 다중 변형 패키지를 만드는 데 사용되는 패키지 게시 도구입니다. 이 과정에서는 동일한 이름 및 버전(시간 기록 제외)과 패키지를 병합하고, 주어진 소스에 대해 지정된 변형 이름 및 값과 병합하려는 버전에서 고유한 작업의 태그를 지정한 후 대상 저장소에 새 패키지를 게시합니다. 각 소스의 패키지마다 최신 버전만 사용됩니다.
각 작업의 pkg.merge.blend 속성이 병합하려는 변형의 이름으로 설정된 경우 최종 출력에 표시되는 작업에 추가된 변형 태그가 나타나지 않도록 해당 작업은 병합 전에 다른 매니페스트에 복사됩니다. pkg.merge.blend 속성 자체가 출력 매니페스트의 작업에서 제거됩니다. 여러 패스 병합에 다른 값을 사용하여 이 속성을 반복할 수 있습니다.
입력 매니페스트의 동일한 경로로 전달되는 작업이 다를 경우 오류와 함께 pkgmerge가 종료됩니다.
다음 옵션이 지원됩니다.
병합된 패키지를 게시할 대상 저장소의 파일 시스템 경로 또는 URI입니다. 대상 저장소가 존재해야 합니다. pkgrepo(1)를 사용하여 새 저장소를 만들 수 있습니다.
대상 저장소에 변경 사항을 적용하지 않은 상태로 테스트 실행을 수행합니다.
이 소스의 패키지에 사용할 변형 이름 및 값으로, 이 뒤에는 패키지를 검색할 소스 저장소나 패키지 아카이브의 파일 시스템 경로 또는 URI가 옵니다. 여러 개의 변형은 쉼표로 구분하여 지정할 수 있습니다. 모든 소스에 대해 동일한 변형이 명명되어야 합니다. 이 옵션은 여러 번 지정할 수 있습니다.
사용법 메시지를 표시합니다.
지원되는 환경 변수는 다음과 같습니다.
프로그램 실행 중 임시 데이터가 저장될 디렉토리의 절대 경로입니다. 설정하지 않을 경우 기본적으로 /var/tmp에 임시 데이터를 저장합니다.
예 1 변형 이름 및 값 지정
검색 소스에 대해 지정된 주어진 변형 이름 및 값을 사용하여 지정된 소스에서 발견된 각 패키지의 태그를 지정합니다.
$ pkgmerge -s arch=sparc,http://src.example.com \ -d http://dest.example.com
샘플 패키지:
set name=pkg.fmri value=pkg://example.com/foo@5.11,5.11-0.200:20381001T163427Z dir group=sys mode=0755 owner=root path=usr
작업 후 샘플 패키지:
set name=pkg.fmri value=pkg://example.com/foo@5.11,5.11-0.200:20381001T163427Z set name=variant.arch value=sparc dir group=sys mode=0755 owner=root path=usr
예 2 패키지 병합 및 게시
지정된 소스의 각 패키지에 대한 최신 버전을 병합하고 대상 저장소에 새 패키지를 게시합니다.
$ pkgmerge -s arch=sparc,http://src1.example.com \ -s arch=i386,http://src2.example.com \ -d /path/to/target/repository
소스 1의 샘플 패키지(SPARC):
set name=pkg.fmri value=pkg://example.com/foo@5.11,5.11-0.200:20381001T121410Z file id mode=0555 owner=root group=bin path=usr/bin/foo dir group=sys mode=0755 owner=root path=usr
소스 2의 샘플 패키지(i386):
set name=pkg.fmri value=pkg://example.com/foo@5.11,5.11-0.200:20381001T163427Z file id mode=0555 owner=root group=bin path=usr/bin/foo dir group=sys mode=0755 owner=root path=usr
병합된 패키지:
set name=pkg.fmri value=pkg://example.com/foo@5.11,5.11-0.200:20381001T163427Z set name=variant.arch value=sparc value=i386 file id mode=0555 owner=root group=bin path=usr/bin/foo variant.arch=sparc file id mode=0555 owner=root group=bin path=usr/bin/foo variant.arch=i386 dir group=sys mode=0755 owner=root path=usr
예 3 i386 및 SPARC 시스템용 디버그 및 비디버그 패키지 병합
i386 및 SPARC 시스템용의 일련의 디버그 및 비디버그 저장소에 있는 각 패키지의 최신 버전을 병합합니다.
$ pkgmerge -s arch=sparc,debug=false,/repo/sparc-nondebug \ -s arch=sparc,debug=true,/repo/sparc-debug \ -s arch=i386,debug=false,/repo/i386-nondebug \ -s arch=i386,debug=true,/repo/i386-debug \ -d /path/to/target/repository
소스 1의 샘플 패키지(SPARC 비디버그):
set name=pkg.fmri value=pkg://example.com/foo@5.11,5.11-0.200:20381001T121410Z file id mode=0555 owner=root group=bin path=usr/bin/foo dir group=sys mode=0755 owner=root path=usr
소스 2의 샘플 패키지(SPARC 디버그):
set name=pkg.fmri value=pkg://example.com/foo@5.11,5.11-0.200:20381001T121411Z file id mode=0555 owner=root group=bin path=usr/bin/foo dir group=sys mode=0755 owner=root path=usr
소스 3의 샘플 패키지(i386 비디버그):
set name=pkg.fmri value=pkg://example.com/foo@5.11,5.11-0.200:20381001T163427Z file id mode=0555 owner=root group=bin path=usr/bin/foo dir group=sys mode=0755 owner=root path=usr
소스 4의 샘플 패키지(i386 디버그):
set name=pkg.fmri value=pkg://example.com/foo@5.11,5.11-0.200:20381001T163428Z file id mode=0555 owner=root group=bin path=usr/bin/foo dir group=sys mode=0755 owner=root path=usr
병합된 패키지:
set name=pkg.fmri value=pkg://example.com/foo@5.11,5.11-0.200:20381001T163428Z set name=variant.arch value=sparc value=i386 set name=variant.debug value=false value=true file id mode=0555 owner=root group=bin path=usr/bin/foo variant.arch=sparc variant.debug=false file id mode=0555 owner=root group=bin path=usr/bin/foo variant.arch=sparc variant.debug=true file id mode=0555 owner=root group=bin path=usr/bin/foo variant.arch=i386 variant.debug=false file id mode=0555 owner=root group=bin path=usr/bin/foo variant.arch=i386 variant.debug=true dir group=sys mode=0755 owner=root path=usr
예 4 pkg.merge.blend를 사용하여 병합
pkg.merge.blend 속성을 사용하여 충돌하지 않는 두 구조에 대한 패키지를 병합합니다.
$ pkgmerge -s arch=sparc,http://src1/example.com \ -s arch=i386,http://src2.example.com \ -d /path/to/target/repository
소스 1의 샘플 패키지(SPARC):
set name=pkg.fmri value=pkg://example.com/foo@5.11,5.11-0.200:20381001T121410Z file 1d5eac1aab628317f9c088d21e4afda9c754bb76 mode=0555 owner=root \ group=bin path=usr/bin/sparc/foo pkg.merge.blend=arch file d285ada5f3cae14ea00e97a8d99bd3e357caadc0 mode=0555 owner=root \ group=bin path=usr/bin/foo dir group=sys mode=0755 owner=root path=usr
소스 2의 샘플 패키지(i386):
set name=pkg.fmri value=pkg://example.com/foo@5.11,5.11-0.200:20381001T163427Z file a285ada5f3cae14ea00e97a8d99bd3e357cb0dca mode=0555 owner=root \ group=bin path=usr/bin/i386/foo pkg.merge.blend=arch file d285ada5f3cae14ea00e97a8d99bd3e357caadc0 mode=0555 owner=root \ group=bin path=usr/bin/foo dir group=sys mode=0755 owner=root path=usr
병합된 패키지:
set name=pkg.fmri value=pkg://example.com/foo@5.11,5.11-0.200:20381001T163427Z set name=variant.arch value=sparc value=i386 file d285ada5f3cae14ea00e97a8d99bd3e357caadc0 mode=0555 owner=root \ group=bin path=usr/bin/foo file a285ada5f3cae14ea00e97a8d99bd3e357cb0dca mode=0555 owner=root \ group=bin path=usr/bin/i386/foo file 1d5eac1aab628317f9c088d21e4afda9c754bb76 mode=0555 owner=root \ group=bin path=usr/bin/sparc/foo dir group=sys mode=0755 owner=root path=usr
다음 종료 값이 반환됩니다.
명령이 성공했습니다.
오류가 발생했습니다.
잘못된 명령줄 옵션이 지정되었습니다.
예상치 않은 예외가 발생했습니다.
다음 속성에 대한 설명은 attributes(5)를 참조하십시오.
|
http://hub.opensolaris.org/bin/view/Project+pkg/