탐색 링크 건너뛰기 | |
인쇄 보기 종료 | |
![]() |
이미지 패키징 시스템 매뉴얼 페이지 Oracle Solaris 11 Information Library (한국어) |
- 이미지 패키징 시스템 저장 서버
/usr/lib/pkg.depotd [-a address] [-d inst_root] [-p port] [-s threads] [-t socket_timeout] [--add-content] [--cfg] [--content-root] [--debug feature_list] [--disable-ops=op[/1][,...]] [--log-access] [--log-errors] [--mirror] [--proxy-base url] [--readonly] [--rebuild] [--ssl-cert-file] [--ssl-dialog] [--ssl-key-file] [--writable-root]
pkg.depotd는 이미지 패키징 시스템용 저장 서버입니다. 패키지 저장소에 포함된 데이터에 대한 네트워크 액세스를 제공합니다. 파일 시스템을 통해 저장소에 대한 직접 액세스를 지원하지 않는 클라이언트나 네트워크 액세스가 유일한 사용 가능 또는 기본 전송 방법인 클라이언트는 일반적으로 패키지 저장 서버를 사용합니다.
검색 클라이언트 pkg(1) 등의 클라이언트는 저장소에서 직접 또는 저장 서버를 통해 패키지 목록 및 패키지 메타 데이터를 검색할 수 있습니다. 게시 클라이언트 pkgsend(1)는 저장소로 직접 또는 저장 서버를 통해 패키지의 새 버전을 보낼 수 있습니다. pkgrepo(1)를 사용하면 저장 서버에 사용할 저장소를 만들거나 직접 또는 저장 서버를 통해 저장소를 관리할 수 있습니다.
일반적으로 pkg.depotd는 시스템에서 서비스로 실행됩니다. 패키지 및 소프트웨어 개발자는 테스트용으로 개인 복사본을 실행하고자 할 수 있습니다.
저장 서버는 고유의 액세스 제어 방법을 제공하지 않습니다. 기본적으로 연결할 수 있는 모든 클라이언트는 전체 패키지 데이터를 읽고 새 패키지 버전을 게시할 수 있습니다. SMF(서비스 관리 기능)에서 실행되는 경우를 제외하고 기본적으로 읽기 전용 모드로 실행합니다. 전개 컨텐츠와 함께 공용 저장 서버를 유지 관리하는 최상의 방법은 아래의 "참고" 절에서 설명됩니다.
일반적으로 pkg.depot 서버는 해당 서비스에 연결된 smf(5) 등록 정보를 통해 구성됩니다. 인식할 수 있는 등록 정보는 다음과 같습니다.
(net_address) 연결을 위해 수신 대기할 IP 주소입니다. 기본값은 모든 활성 인터페이스에서 수신 대기하는 0.0.0.0(INADDR_ANY)입니다. 모든 활성 IPv6 인터페이스에서 수신 대기하려면 ::을 사용하십시오. 첫번째 값만 사용됩니다.
(astring) 인스턴스가 정적 및 기타 웹 컨텐츠를 찾을 파일 시스템 경로입니다. 기본값은 /usr/share/lib/pkg입니다.
(astring) 사용으로 설정할 쉼표로 구분된 디버그 기능 목록입니다. 가능한 값은 다음과 같습니다.
오류 로그에 모든 요청의 헤더를 기록합니다.
(astring) 저장 서버에 대해 사용 안함으로 설정할 쉼표로 구분된 작업 목록입니다. 작업은 operation[/version](예: catalog 또는 search_1)으로 지정됩니다.
(astring) 파일 정보가 파일 데이터 캐시로 사용될 이미지에 대한 경로입니다.
(astring) 인스턴스가 저장소 데이터를 찾을 파일 시스템 경로입니다. file_root 또는 PKG_REPO가 제공되지 않은 경우 필요합니다. 기본값은 /var/pkgrepo입니다.
(astring) 저장 프로세스가 기록한 액세스 관련 정보에 대한 대상입니다. 가능한 값은 stderr, stdout, none 또는 절대 경로 이름입니다. stdout가 tty인 경우 기본값은 stdout입니다. stdout가 tty가 아닌 경우 기본값은 none입니다.
(astring) 저장 프로세스가 기록한 오류 또는 기타 정보에 대한 대상입니다. 가능한 값은 stderr, stdout, none 또는 절대 경로 이름입니다. 기본값은 stderr입니다.
(boolean) 패키지 미러 모드 사용 여부를 설정합니다. true인 경우 게시 및 메타 데이터 작업이 사용 안함으로 설정되며 제한된 브라우저 사용자 인터페이스만 제공됩니다. pkg/readonly 등록 정보가 true인 경우 이 등록 정보는 true일 수 없습니다. 기본값은 false입니다.
(count) 인스턴스가 수신 패키지 요청을 수신 대기할 포트 번호입니다. SSL 인증서 및 키 정보가 제공되지 않은 경우 기본값은 80이며, 그렇지 않은 경우 기본값은 443입니다.
(uri) 이 등록 정보는 저장 서버에 대한 기본 URL을 변경하며 Apache 또는 역 프록시 구성의 기타 웹 서버에서 실행될 때 가장 유용합니다.
(boolean) 수정 작업(예: pkgsend(1)가 시작한 작업)을 사용 안함으로 설정할지 여부를 설정합니다. 검색 작업은 계속 사용할 수 있습니다. pkg/mirror 등록 정보가 true인 경우 이 등록 정보는 true일 수 없습니다. 기본값은 true입니다.
(count) 연결이 해제되기 전에 서버가 클라이언트의 응답을 기다릴 최대 시간(초)입니다. 기본값은 60입니다.
(count) 인덱서 정렬 파일의 최대 크기입니다. 저장 서버가 인덱싱을 위해 사용하는 RAM의 크기를 제한하거나 속도를 위해 크기를 늘리는 데 사용됩니다.
(astring) PEM 인코딩 인증서 파일에 대한 절대 경로 이름입니다. 기본값은 none입니다. 이 등록 정보는 ssl_key_file과 함께 사용해야 합니다. ssl_cert_file과 /ssl_key_file이 모두 제공된 경우에만 저장 서버가 SSL 요청에 응답합니다.
(astring) ssl_key_file 해독에 사용되는 암호문을 얻을 때 사용할 방법을 지정합니다. 가능한 값은 다음과 같습니다.
암호문에 대한 프롬프트입니다. 이것이 기본값입니다.
암호문을 얻기 위해 지정된 외부 프로그램을 실행합니다. 프로그램에 대한 첫번째 인수는 ''이며 예약되어 있습니다. 프로그램에 대한 두번째 인수는 서버의 포트 번호입니다. 암호문은 stdout에 인쇄됩니다.
FMRI와 관련된 서비스 인스턴스에서 pkg_secure/ssl_key_passphrase 등록 정보의 값을 검색하려고 시도합니다.
(astring) PEM 인코딩 개인 키 파일에 대한 절대 경로 이름입니다. 이 등록 정보는 ssl_cert_file 등록 정보와 함께 사용해야 합니다. /ssl_key_file과 ssl_cert_file이 모두 제공된 경우에만 저장 서버가 SSL 요청에 응답합니다.
(count) 요청을 처리하기 위해 시작된 스레드 수입니다. 기본값은 60입니다. 작은 규모의 배치에만 적합합니다. 이 값은 동시 클라이언트 수의 약 20배여야 합니다. threads의 최대 값은 5000입니다.
(astring) 프로그램이 쓰기 액세스 권한을 가진 디렉토리에 대한 파일 시스템 경로입니다. 이 등록 정보는 패키지 정보에 대한 쓰기 액세스 권한 없이 저장 서버를 사용으로 설정하여 파일(예: 검색 색인)을 만드는 -readonly 옵션과 함께 사용됩니다.
(astring) pkg/ssl_key_file 해독에 사용할 암호입니다. 이 값은 solaris.smf.read.pkg-server 속성을 사용하여 보호되는 읽기 권한 부여입니다.
저장 서버에 대한 BUI(브라우저 사용자 인터페이스)의 표시 및 동작은 다음 등록 정보를 통해 제어됩니다.
(astring) RSS/기본 단위 피드에 대한 설명 단락입니다.
(astring) RSS/기본 단위 피드를 시각적으로 표현하는 데 사용되는 작은 이미지의 경로 이름입니다. 경로 이름은 content_root에 상대적이어야 합니다. 기본값은 web/_themes/pkg-block-icon.png입니다.
(astring) RSS/기본 단위 피드를 시각적으로 브랜딩하거나 식별하는 데 사용할 큰 이미지의 경로 이름입니다. 이 값은 content_root에 상대적이어야 합니다. 기본값은 web/_themes/pkg-block-icon.png입니다.
(astring) 저장소를 제공하는 저장 서버가 생성한 RSS/기본 단위 피드에 대한 짧은 설명이 포함된 이름입니다. 기본값은 “package repository feed”입니다.
(count) 저장소에 대한 피드가 마지막으로 생성되기 전의 시간(시)으로, 피드 생성 시 포함됩니다.
패키지 저장 서버를 pkg(5)의 로컬 클라이언트 이미지에 대한 미러 서버로 사용할 수도 있습니다. 그러면 LAN의 서브넷을 공유하는 클라이언트가 파일 캐시를 미러링할 수 있습니다. 클라이언트는 다른 클라이언트에서 파일을 다운로드할 수 있으므로 패키지 저장 서버에서 로드가 줄어듭니다. 이 기능은 smf(5)에 의해 구성된 대체 저장 서비스로 사용할 수 있습니다. 서비스 검색에 mDNS 및 dns-sd가 사용됩니다.
일반적으로 mDNS 미러는 해당 서비스에 연결된 smf(5) 등록 정보를 통해 구성됩니다. 인식할 수 있는 등록 정보는 다음과 같습니다.
(astring) 파일 정보가 파일 데이터 캐시로 사용될 이미지에 대한 경로입니다. 기본값은 /입니다.
(count) 인스턴스가 수신 패키지 요청을 수신 대기할 포트 번호입니다. 기본값은 80입니다.
pkg.depotd는 파일 또는 기존 smf(5) 서비스 인스턴스의 등록 정보 데이터에서 기본 구성 정보를 읽을 수 있습니다.
구성 데이터를 읽고 쓸 때 사용할 파일의 경로 이름 또는 smf:fmri 형식의 문자열입니다. 여기서 fmri는 구성 데이터를 읽어올 인스턴스의 서비스 FMRI(결함 관리 리소스 식별자)입니다. 지정된 파일의 형식에 대한 자세한 내용은 아래의 “저장 서버 구성”을 참조하십시오.
사용 가능한 기존 구성 소스가 없거나 --cfg를 사용하여 제공된 구성 파일에서 읽은 값을 대체하려는 경우 다음 옵션을 사용하여 저장 서버의 기본 동작을 변경할 수 있습니다.
위의 pkg/address를 참조하십시오.
위의 pkg/content_root를 참조하십시오.
위의 pkg/inst_root를 참조하십시오.
위의 pkg/debug를 참조하십시오.
위의 pkg/disable_ops를 참조하십시오.
위의 pkg/image_root를 참조하십시오.
위의 pkg/log_access를 참조하십시오.
위의 pkg/log_errors를 참조하십시오.
위의 pkg/mirror를 참조하십시오.
위의 pkg/port를 참조하십시오.
위의 pkg/proxy_base를 참조하십시오. 빈 값이 제공된 경우 이 옵션은 무시됩니다.
위의 pkg/readonly를 참조하십시오.
위의 pkg/threads를 참조하십시오.
위의 pkg/sort_file_max_size를 참조하십시오.
위의 pkg/ssl_cert_file을 참조하십시오.
위의 pkg/ssl_dialog를 참조하십시오.
위의 pkg/ssl_key_file을 참조하십시오.
위의 pkg/socket_timeout을 참조하십시오.
위의 pkg/writable_root를 참조하십시오.
패키지 저장소에 대한 추가 관리 기능은 pkgrepo(1)가 제공합니다.
smf(5) FMRI 대신 --cfg 옵션을 사용하여 구성 파일이 제공된 경우 저장 서버는 간단한 텍스트 형식으로 모든 구성 데이터를 읽고 씁니다. 구성 데이터는 위의 “SMF 등록 정보”에서 설명됩니다. 구성 데이터는 [section] 헤더, name = value 항목 순의 섹션으로 구성됩니다. 연속 항목은 RFC 822 스타일입니다. 연속 행을 공백으로 시작하여 여러 행으로 값을 나눌 수 있습니다.
구성 파일에 제공되지 않은 필수 값은 위의 "옵션"에 나열된 옵션을 사용하여 제공해야 합니다. 샘플 구성 파일은 다음과 같이 표시될 수 있습니다.
[pkg] port = 80 inst_root = /export/repo [pub_example_com] feed_description = example.com's software update log
예 1 저장 서버를 사용으로 설정
# svcadm enable application/pkg/server
예 2 서버의 수신 포트 변경
# svccfg -s application/pkg/server setprop pkg/port = 10000 # svcadm refresh application/pkg/server # svcadm restart application/pkg/server
예 3 미러를 사용으로 설정
# svcadm enable application/pkg/dynamic-mirror
제공할 저장소가 포함된 디렉토리를 지정합니다. -d가 지정된 경우 이 값은 무시됩니다.
저장 서버가 제공한 정적 컨텐츠가 포함된 디렉토리를 지정합니다. "Files" 아래에 나열되는 파일이 이 디렉토리에 존재해야 합니다. 단, 컨텐츠는 제공된 기본 컨텐츠와 다를 수 있습니다.
다음 종료 값이 반환됩니다.
작업이 성공했습니다.
오류가 발생했습니다.
잘못된 명령줄 옵션이 지정되었습니다.
예상치 않은 예외가 발생했습니다.
기본 프레젠테이션 컨텐츠 위치입니다. 대체 위치를 선택하려면 pkg/content_root를 수정합니다.
다음 속성에 대한 설명은 attributes(5)를 참조하십시오.
|
dns-sd(1M), mdnsd(1M), pkg(1), pkgrepo(1), pkgsend(1), syslogd(1M), smf(5)
http://hub.opensolaris.org/bin/view/Project+pkg/
pkd.depotd 서비스는 서비스 식별자 svc:/application/pkg/server의 SMF가 관리합니다.
mDNS 미러 서비스는 서비스 식별자 svc:/application/pkg/dynamic-mirror의 SMF가 관리합니다.
저장 서버에 대한 읽기 액세스를 제어하려는 경우 인증 방법(예: 클라이언트 기반 SSL 인증서 액세스)과 함께 pkg(1)가 기본적으로 지원하는 HTTP 역 프록시를 사용할 수 있습니다.
구성을 변경하거나 파일 시스템 기반 작업을 사용하여 패키지 데이터를 변경하면 변경 사항이 작업 및 출력에 반영될 수 있도록 저장 서버 프로세스를 다시 시작해야 합니다. 저장 서버 프로세스를 다시 시작하려면 다음 방법 중 하나를 사용하십시오.
application/pkg/server 인스턴스를 다시 시작하려면 svcadm(1M)을 사용합니다.
kill(1)을 사용하여 저장 서버 프로세스로 SIGUSR1 신호를 보냅니다. 그러면 프로세스는 그대로 유지하지만 모든 구성, 패키지 및 검색 데이터는 재로드하는 “정상적인 다시 시작”이 실행됩니다.
# kill -USR1 pid