JavaScript is required to for searching.
跳过导航链接
退出打印视图
手册页第 1 部分:用户命令     Oracle Solaris 11.1 Information Library (简体中文)
为本文档评分
search filter icon
search icon

文档信息

前言

简介

User Commands

acctcom(1)

adb(1)

addbib(1)

admin(1)

alias(1)

allocate(1)

amt(1)

appcert(1)

apptrace(1)

apropos(1)

ar(1)

arch(1)

as(1)

asa(1)

at(1)

atq(1)

atrm(1)

audioconvert(1)

audioctl(1)

audioplay(1)

audiorecord(1)

audiotest(1)

auths(1)

auto_ef(1)

awk(1)

banner(1)

basename(1)

basename(1B)

batch(1)

bc(1)

bdiff(1)

bfs(1)

bg(1)

biff(1B)

break(1)

builtin(1)

cal(1)

calendar(1)

case(1)

cat(1)

cd(1)

cdc(1)

cdrw(1)

chdir(1)

checkeq(1)

checknr(1)

chgrp(1)

chkey(1)

chmod(1)

chown(1)

chown(1B)

ckdate(1)

ckgid(1)

ckint(1)

ckitem(1)

ckkeywd(1)

ckpath(1)

ckrange(1)

ckstr(1)

cksum(1)

cktime(1)

ckuid(1)

ckyorn(1)

clear(1)

cmp(1)

col(1)

comb(1)

comm(1)

command(1)

compress(1)

continue(1)

cp(1)

cpio(1)

cpp(1)

cputrack(1)

crle(1)

crontab(1)

csh(1)

csplit(1)

ct(1C)

ctags(1)

ctrun(1)

ctstat(1)

ctwatch(1)

cu(1C)

cut(1)

date(1)

dc(1)

deallocate(1)

decrypt(1)

delta(1)

deroff(1)

df(1B)

dhcpinfo(1)

diff(1)

diff3(1)

diffmk(1)

digest(1)

digestp(1)

dircmp(1)

dirname(1)

dirs(1)

dis(1)

disown(1)

dispgid(1)

dispuid(1)

dos2unix(1)

dpost(1)

du(1)

du(1B)

dump(1)

dumpcs(1)

dumpkeys(1)

echo(1)

echo(1B)

ed(1)

edit(1)

egrep(1)

eject(1)

elfdump(1)

elfedit(1)

elffile(1)

elfsign(1)

elfwrap(1)

encrypt(1)

enhance(1)

env(1)

eqn(1)

errange(1)

errdate(1)

errgid(1)

errint(1)

erritem(1)

error(1)

errpath(1)

errstr(1)

errtime(1)

erruid(1)

erryorn(1)

eval(1)

ex(1)

exec(1)

exit(1)

expand(1)

export(1)

exportfs(1B)

expr(1)

expr(1B)

exstr(1)

factor(1)

false(1)

fastboot(1B)

fasthalt(1B)

fc(1)

fg(1)

fgrep(1)

file(1)

file(1B)

filebench(1)

filep(1)

filesync(1)

filofaxp(1)

find(1)

finger(1)

fmt(1)

fmtmsg(1)

fold(1)

for(1)

foreach(1)

franklinp(1)

from(1B)

ftp(1)

function(1)

gcore(1)

gencat(1)

geniconvtbl(1)

genmsg(1)

get(1)

getconf(1)

getfacl(1)

getlabel(1)

getopt(1)

getoptcvt(1)

getopts(1)

gettext(1)

gettxt(1)

getzonepath(1)

glob(1)

goto(1)

gprof(1)

grep(1)

groups(1)

groups(1B)

grpck(1B)

hash(1)

hashcheck(1)

hashmake(1)

hashstat(1)

head(1)

helpdate(1)

helpgid(1)

helpint(1)

helpitem(1)

helppath(1)

helprange(1)

helpstr(1)

helptime(1)

helpuid(1)

helpyorn(1)

hist(1)

history(1)

hostid(1)

hostname(1)

i386(1)

i486(1)

iconv(1)

if(1)

indxbib(1)

install(1B)

ipcrm(1)

ipcs(1)

isainfo(1)

isalist(1)

jobs(1)

join(1)

jsh(1)

kbd(1)

kdestroy(1)

keylogin(1)

keylogout(1)

kill(1)

kinit(1)

klist(1)

kmdb(1)

kmfcfg(1)

kpasswd(1)

krb5-config(1)

ksh(1)

ksh88(1)

ksh93(1)

ktutil(1)

kvno(1)

lari(1)

last(1)

lastcomm(1)

ld(1)

ldapadd(1)

ldapdelete(1)

ldaplist(1)

ldapmodify(1)

ldapmodrdn(1)

ldapsearch(1)

ldd(1)

ld.so.1(1)

let(1)

lex(1)

lgrpinfo(1)

limit(1)

line(1)

list_devices(1)

listusers(1)

llc2_autoconfig(1)

llc2_config(1)

llc2_stats(1)

ln(1)

ln(1B)

loadkeys(1)

locale(1)

localedef(1)

logger(1)

logger(1B)

login(1)

logname(1)

logout(1)

look(1)

lookbib(1)

lorder(1)

ls(1)

ls(1B)

m4(1)

mac(1)

mach(1)

machid(1)

madv.so.1(1)

mail(1)

Mail(1B)

mail(1B)

mailcompat(1)

mailp(1)

mailq(1)

mailstats(1)

mailx(1)

make(1S)

makekey(1)

man(1)

mconnect(1)

mcs(1)

mdb(1)

mesg(1)

mkdir(1)

mkmsgs(1)

mkstr(1B)

mktemp(1)

moe(1)

more(1)

mp(1)

mpss.so.1(1)

msgcc(1)

msgcpp(1)

msgcvt(1)

msgfmt(1)

msggen(1)

msgget(1)

mt(1)

mv(1)

nawk(1)

nc(1)

ncab2clf(1)

ncakmod(1)

neqn(1)

netcat(1)

newform(1)

newgrp(1)

newsp(1)

newtask(1)

nice(1)

nl(1)

nm(1)

nohup(1)

notify(1)

nroff(1)

od(1)

on(1)

onintr(1)

optisa(1)

pack(1)

packagemanager(1)

page(1)

pagesize(1)

pargs(1)

passwd(1)

paste(1)

patch(1)

pathchk(1)

pax(1)

pcat(1)

pcred(1)

perl(1)

pfbash(1)

pfcsh(1)

pfexec(1)

pfiles(1)

pfksh(1)

pflags(1)

pfsh(1)

pftcsh(1)

pfzsh(1)

pg(1)

pgrep(1)

pkcs11_inspect(1)

pkg(1)

pkgdepend(1)

pkgdiff(1)

pkgfmt(1)

pkginfo(1)

pkglint(1)

pkgmerge(1)

pkgmk(1)

pkgmogrify(1)

pkgparam(1)

pkgproto(1)

pkgrecv(1)

pkgrepo(1)

pkgsend(1)

pkgsign(1)

pkgtrans(1)

pkill(1)

pklogin_finder(1)

pktool(1)

plabel(1)

pldd(1)

plgrp(1)

plimit(1)

pmadvise(1)

pmap(1)

pm-updatemanager(1)

popd(1)

ppgsz(1)

ppriv(1)

pr(1)

praliases(1)

prctl(1)

preap(1)

print(1)

printenv(1B)

printf(1)

priocntl(1)

proc(1)

prof(1)

profiles(1)

projects(1)

prs(1)

prt(1)

prun(1)

ps(1)

ps(1B)

psig(1)

pstack(1)

pstop(1)

ptime(1)

ptree(1)

pushd(1)

pvs(1)

pwait(1)

pwd(1)

pwdx(1)

radadrgen(1)

ranlib(1)

rcapstat(1)

rcp(1)

read(1)

readonly(1)

red(1)

refer(1)

regcmp(1)

rehash(1)

remote_shell(1)

remsh(1)

renice(1)

repeat(1)

reset(1B)

return(1)

rksh(1)

rksh88(1)

rlogin(1)

rm(1)

rmail(1)

rmdel(1)

rmdir(1)

rmformat(1)

rmmount(1)

rmumount(1)

roffbib(1)

roles(1)

rpcgen(1)

rpm2cpio(1)

rsh(1)

runat(1)

rup(1)

rup(1C)

ruptime(1)

rusage(1B)

rusers(1)

rwho(1)

sact(1)

sar(1)

sccs(1)

sccs-admin(1)

sccs-cdc(1)

sccs-comb(1)

sccs-delta(1)

sccsdiff(1)

sccs-get(1)

sccs-help(1)

sccshelp(1)

sccs-prs(1)

sccs-prt(1)

sccs-rmdel(1)

sccs-sact(1)

sccs-sccsdiff(1)

sccs-unget(1)

sccs-val(1)

scp(1)

script(1)

sdiff(1)

sed(1)

sed(1B)

select(1)

set(1)

setenv(1)

setfacl(1)

setlabel(1)

setpgrp(1)

settime(1)

sftp(1)

sh(1)

shcomp(1)

shell_builtins(1)

shift(1)

shutdown(1B)

size(1)

sleep(1)

soelim(1)

sort(1)

sortbib(1)

sotruss(1)

source(1)

sparc(1)

spell(1)

spellin(1)

split(1)

srchtxt(1)

ssh(1)

ssh-add(1)

ssh-agent(1)

ssh-http-proxy-connect(1)

ssh-keygen(1)

ssh-keyscan(1)

ssh-socks5-proxy-connect(1)

stop(1)

strchg(1)

strconf(1)

strings(1)

strip(1)

stty(1)

stty(1B)

sum(1)

sum(1B)

sun(1)

suspend(1)

svcprop(1)

svcs(1)

switch(1)

symorder(1)

sys-suspend(1)

sysV-make(1)

t300(1)

t300s(1)

t4014(1)

t450(1)

tabs(1)

tail(1)

talk(1)

tar(1)

tbl(1)

tcopy(1)

tee(1)

tek(1)

telnet(1)

test(1)

test(1B)

tftp(1)

time(1)

timemanp(1)

times(1)

timesysp(1)

timex(1)

tip(1)

touch(1)

touch(1B)

tplot(1)

tput(1)

tr(1)

tr(1B)

trap(1)

troff(1)

true(1)

truss(1)

tset(1B)

tsort(1)

tty(1)

type(1)

typeset(1)

ul(1)

ulimit(1)

umask(1)

unalias(1)

uname(1)

uncompress(1)

unexpand(1)

unget(1)

unhash(1)

unifdef(1)

uniq(1)

units(1)

unix2dos(1)

unlimit(1)

unpack(1)

unset(1)

unsetenv(1)

until(1)

updatehome(1)

uptime(1)

userattr(1)

users(1B)

uucp(1C)

uudecode(1C)

uuencode(1C)

uuglist(1C)

uulog(1C)

uuname(1C)

uupick(1C)

uustat(1C)

uuto(1C)

uux(1C)

vacation(1)

val(1)

valdate(1)

valgid(1)

valint(1)

valpath(1)

valrange(1)

valstr(1)

valtime(1)

valuid(1)

valyorn(1)

vc(1)

vedit(1)

ver(1)

vgrind(1)

vi(1)

view(1)

vipw(1B)

volcheck(1)

volrmmount(1)

w(1)

wait(1)

wc(1)

what(1)

whatis(1)

whence(1)

whereis(1B)

which(1)

while(1)

who(1)

whoami(1B)

whocalls(1)

whois(1)

write(1)

xargs(1)

xgettext(1)

xstr(1)

yacc(1)

yes(1)

ypcat(1)

ypmatch(1)

yppasswd(1)

ypwhich(1)

zcat(1)

zlogin(1)

zonename(1)

zonestat(1)

请告诉我们如何提高我们的文档:
过于简略
不易阅读或难以理解
重要信息缺失
错误的内容
需要翻译的版本
其他
Your rating has been updated
感谢您的反馈!

您的反馈将非常有助于我们提供更好的文档。 您是否愿意参与我们的内容改进并提供进一步的意见?

pkg

- 映像包管理系统的检索客户端

用法概要

/usr/bin/pkg [options] command [cmd_options] [operands]
/usr/bin/pkg refresh [-q] [--full] [publisher ...]
/usr/bin/pkg install [-nvq] [-C n] [-g path_or_uri ...]
    [--accept] [--licenses] [--no-be-activate] [--no-index]
    [--no-refresh] [--no-backup-be | --require-backup-be]
    [--backup-be-name name]
    [--deny-new-be | --require-new-be] [--be-name name]
    [--reject pkg_fmri_pattern ...] pkg_fmri_pattern ...
/usr/bin/pkg uninstall [-nvq] [-C n] [--no-be-activate]
    [--no-index] [--no-backup-be | --require-backup-be]
    [--backup-be-name name]
    [--deny-new-be | --require-new-be] [--be-name name]
    pkg_fmri_pattern ...
/usr/bin/pkg update [-fnvq] [-C n] [-g path_or_uri ...]
    [--accept] [--licenses] [--no-be-activate] [--no-index]
    [--no-refresh] [--no-backup-be | --require-backup-be]
    [--backup-be-name name]
    [--deny-new-be | --require-new-be] [--be-name name]
    [--reject pkg_fmri_pattern ...] [pkg_fmri_pattern ...]
/usr/bin/pkg list [-Hafnsuv] [-g path_or_uri ...]
    [--no-refresh] [pkg_fmri_pattern ...]
/usr/bin/pkg info [-lr] [-g path_or_uri ...] [--license]
    [pkg_fmri_pattern ...]
/usr/bin/pkg contents [-Hmr] [-a attribute=pattern ...]
    [-g path_or_uri ...] [-o attribute ...] [-s sort_key]
    [-t action_name ...] [pkg_fmri_pattern ...]
/usr/bin/pkg search [-HIaflpr] [-o attribute ...]
    [-s repo_uri] query
/usr/bin/pkg verify [-Hqv] [pkg_fmri_pattern ...]
/usr/bin/pkg fix [--accept] [--licenses]
    [pkg_fmri_pattern ...]
/usr/bin/pkg revert [-nv] [--no-be-activate]
    [--no-backup-be | --require-backup-be]
    [--backup-be-name name]
    [--deny-new-be | --require-new-be] [--be-name name]
    (--tagged tag-name ... | path-to-file ...)
/usr/bin/pkg mediator [-aH] [-F format] [mediator ...]
usr/bin/pkg set-mediator [-nv] [-I implementation]
    [-V version] [--no-be-activate]
    [--no-backup-be | --require-backup-be]
    [--backup-be-name name]
    [--deny-new-be | --require-new-be] [--be-name name]
    mediator ...
/usr/bin/pkg unset-mediator [-nvIV] [--no-be-activate]
    [--no-backup-be | --require-backup-be]
    [--backup-be-name name]
    [--deny-new-be | --require-new-be] [--be-name name]
    mediator ...
/usr/bin/pkg variant [-H] [variant.variant_name ...]
/usr/bin/pkg change-variant [-nvq] [-C n] [-g path_or_uri ...]
    [--accept] [--licenses] [--no-be-activate]
    [--no-backup-be | --require-backup-be]
    [--backup-be-name name]
    [--deny-new-be | --require-new-be] [--be-name name]
    variant_name=value ...
/usr/bin/pkg facet [-H] [facet_name ...]
/usr/bin/pkg change-facet [-nvq] [-C n] [-g path_or_uri ...]
    [--accept] [--licenses] [--no-be-activate]
    [--no-backup-be | --require-backup-be]
    [--backup-be-name name]
    [--deny-new-be | --require-new-be] [--be-name name]
    facet_name=[True|False|None] ...
/usr/bin/pkg avoid [pkg_fmri_pattern ...]
/usr/bin/pkg unavoid [pkg_fmri_pattern ...]
/usr/bin/pkg freeze [-n] [-c reason] [pkg_fmri_pattern] ...
/usr/bin/pkg unfreeze [-n] [pkg_name_pattern] ...
/usr/bin/pkg property [-H] [propname ...]
/usr/bin/pkg set-property propname propvalue
/usr/bin/pkg add-property-value propname propvalue
/usr/bin/pkg remove-property-value propname propvalue
/usr/bin/pkg unset-property propname ...
/usr/bin/pkg publisher [-HPn] [-F format] [publisher ...]
/usr/bin/pkg set-publisher [-Ped] [-k ssl_key] [-c ssl_cert]
    [-g origin_to_add | --add-origin origin_to_add ...]
    [-G origin_to_remove | --remove-origin origin_to_remove ...]
    [-m mirror_to_add | --add-mirror mirror_to_add ...]
    [-M mirror_to_remove | --remove-mirror mirror_to_remove ...]
    [--enable] [--disable] [--no-refresh] [--reset-uuid]
    [--non-sticky] [--sticky] [--search-after publisher]
    [--search-before publisher] [--search-first]
    [--approve-ca-cert path_to_CA]
    [--revoke-ca-cert hash_of_CA_to_remove]
    [--unset-ca-cert hash_of_CA_to_remove]
    [--set-property name_of_property=value]
    [--add-property-value name_of_property=value_to_add]
    [--remove-property-value name_of_property=value_to_remove]
    [--unset-property name_of_property_to_delete] 
    [--proxy proxy_to_use] publisher
/usr/bin/pkg set-publisher -p repo_uri [-Ped]
    [-k ssl_key] [-c ssl_cert] [--non-sticky] [--sticky]
    [--search-after publisher] [--search-before publisher
    [--search-first] [--approve-ca-cert path_to_CA]
    [--revoke-ca-cert hash_of_CA_to_remove]
    [--unset-ca-cert hash_of_CA_to_remove]
    [--set-property name_of_property=value]
    [--add-property-value name_of_property=value_to_add]
    [--remove-property-value name_of_property=value_to_remove]
    [--unset-property name_of_property_to_delete] 
    [--proxy proxy_to_use] [publisher]
/usr/bin/pkg unset-publisher publisher ...
/usr/bin/pkg history [-HNl] [-t [time | time-time],...]
    [-o column,...] [-n number]
/usr/bin/pkg purge-history
/usr/bin/pkg rebuild-index
/usr/bin/pkg update-format
/usr/bin/pkg version
/usr/bin/pkg help
/usr/bin/pkg image-create [-FPUfz] [--force]
    [--full | --partial | --user] [--zone]
    [-k ssl_key] [-c ssl_cert] [--no-refresh]
    [--variant variant_name=value ...]
    [-g path_or_uri | --origin path_or_uri ...]
    [-m uri | --mirror uri ...]
    [--set-property name_of_property=value]
    [--facet facet_name=(True|False) ...]
    [(-p | --publisher) [name=]repo_uri] dir

描述

pkg 是映像包管理系统的检索客户端。在有效配置下,可以调用 pkg 来为要安装的软件包创建位置(称为“映像”),然后将软件包安装到这些映像中。软件包由发布者发布。发布者可使其软件包在一个或多个系统信息库上可用,或者在软件包归档中可用。pkg 从发布者的系统信息库或软件包归档中检索软件包,然后将软件包安装到映像中。

发布者名称将个人、个人组或组织标识为一个或多个软件包的源。为避免发布者名称冲突并有帮于标识发布者,最佳做法是使用代表发布软件包实体的域名作为发布者名称。

系统信息库是客户端可在其中发布和检索软件包内容(该软件包包含的文件,例如程序和文档)和元数据(有关该软件包的信息,例如其名称和描述)的位置。例如,有一个名为 example.org 的发布者,其系统信息库位于 URI http://example.org/repository

pkg 还可以卸载软件包、刷新发布者元数据(例如可用软件包的列表)、验证映像中的软件包安装,以及查询映像中的各个标记。也可以对 pkg(5) 系统信息库执行这些查询。

映像有三种类型:完整映像:能够提供完整的系统;部分映像:与完整映像(父映像)链接,但本身无法提供完整的系统;用户映像。

选项

支持以下选项:

-?
--help

显示用法消息。

-R dir
--image-dir dir

对根目录为 dir 的映像进行操作。如果未根据环境指定或确定目录,则缺省值为 /。有关更多信息,请参见“环境变量”部分。

子命令

支持以下子命令:

pkg refresh [-q] [- -full] [publisher ...]

对于所有发布者,更新客户机可用软件包列表和发布者元数据。

publisher

仅对指定的发布者,更新客户机可用软件包列表和发布者元数据。

-q

在执行请求的操作期间隐藏进度消息。

--full

强制完全检索所有发布者元数据(而不是尝试增量更新),并请求操作期间使用的所有代理忽略高速缓存的数据。此选项用于进行故障排除,正常情况下不应使用。

pkg install [-nvq] [-C n] [-g path_or_uri ...] [--accept] [--licenses] [--no-be-activate] [--no-index] [--no-refresh ] [--no-backup-be | --require-backup-be] [--backup-be-name name] [--deny-new-be | --require-new-be] [--be-name name] [--reject pkg_fmri_pattern ...] pkg_fmri_pattern ...

安装指定软件包并将其更新到最新版本,该版本与映像中安装的软件包所允许的 pkg_fmri_pattern 匹配。要显式请求安装软件包的最新版本,请在 pkg_fmri_pattern 的版本部分使用 latest。例如,指定 vim@latest

软件包基于发布者搜索顺序和粘性进行选择。有关搜索顺序和粘性的信息,请参见 pkg publisherpkg set-publisher 命令。如果 pkg_fmri_pattern 未指定发布者,则会将第一个提供匹配软件包的发布者用作安装源。如果该发布者未提供可以安装在此映像中的软件包版本,则安装操作将失败。使用 pkg list -a 命令可查看哪些发布者提供可以安装在此映像中的软件包版本。

指定了多个 pkg_fmri_pattern 时,如果指定的软件包中有任何一个无法在此映像中安装,则指定的所有软件包都不会安装。

安装过程中,某些配置文件可能被重命名或替换。有关软件包系统如何确定要保留的文件,以及在软件包操作期间如何保留这些文件的更多信息,请参见 pkg(5) 手册页中的“文件操作”。

如果某个软件包在避免列表中,则安装该软件包会将它从该列表中删除。

-g path_or_uri

暂时将指定的软件包系统信息库或归档文件添加到从中检索软件包数据的映像的源列表内。需要客户机 SSL 证书的系统信息库不能与此选项一起使用。可以多次指定此选项。

确定要使用的软件包版本时,优先选择映像中配置的发布者,而非指定 path_or_uri 源中找到的发布者。如果映像中配置的发布者和 path_or_uri 源都提供要安装的软件包版本,则客户机将从 path_or_uri 源中检索该软件包的内容。安装或更新后,未在映像中配置的发布者提供的所有软件包都将添加到映像配置中,但添加的这些软件包没有源。使用 pkg publisher 命令可查看在映像中配置的发布者。

-n

试运行操作而不进行软件包更改。

-v

在执行请求的操作期间发出详细进度消息,并显示详细的规划信息(例如更改侧面、中介和变量)。可以多次指定此选项,以增加显示的规划信息量。

-q

在执行请求的操作期间隐藏进度消息。

-C n

指定要并行更新的子映像数。在递归检查子映像(通常为区域)时,最多可以并行更新 n 个子映像。并行更新的缺省子映像数为 1。如果 n 为 0 或负数,则并行更新所有子映像。另请参见“环境变量”部分中的 PKG_CONCURRENCY

--accept

表示同意并接受所更新或安装的软件包的许可证条款。如果存在任何需要您接受的软件包许可证,而您未提供此选项,则安装操作将失败。

--licenses

显示在此操作过程中所安装或更新的软件包的所有许可证。

--no-backup-be

不创建备份引导环境。

--no-be-activate

如果创建了一个引导环境,不将其设置为下次引导时的活动引导环境。有关更多信息,请参见 beadm(1M) 手册页。

--no-index

不在操作成功完成后更新搜索索引。

--no-refresh

不尝试联系映像发布者的系统信息库来检索最新的可用软件包列表和其他元数据。

--backup-be-name name

使用给定参数命名创建的备份引导环境。使用 --backup-be-name 表示 --require-backup-be。另请参见 beadm(1M) 手册页。

--be-name name

将新创建的引导环境重命名为给定的参数。使用 --be-name 表示 --require-new-be。另请参见 beadm(1M) 手册页。

--require-backup-be

如果不创建新的引导环境,则始终创建一个备份引导环境。如果不使用该选项,则根据映像策略创建备份引导环境。有关何时自动创建备份引导环境的说明,请参见下文“映像属性”中的 be-policy

--require-new-be

始终创建新的引导环境。如果不使用该选项,则根据映像策略创建引导环境。有关何时自动创建引导环境的说明,请参见下文“映像属性”中的 be-policy。该选项不能与 -require-backup-be 一起使用。

--deny-new-be

不创建新的引导环境。如果需要新的引导环境,则不执行此操作。

--reject pkg_fmri_pattern

阻止安装名称与给定模式匹配的软件包。如果已安装匹配的软件包,则在此操作过程会将其删除。作为组依赖性目标的被拒绝软件包将放置在避免列表中。

pkg uninstall [-nvq] [-C n] [--no-be-activate] [--no-index] [--no-backup-be | --require-backup-be ] [--backup-be-name name] [--deny-new-be | --require-new-be] [--be-name name] pkg_fmri_pattern ...

删除与 pkg_fmri_pattern 匹配的已安装软件包。

如果某个软件包是组依赖性的主体,则卸载该软件包会将它放置在避免列表中。请参见下文的 avoid 子命令。

有关选项的说明,请参见上述 install 命令。

在命令输出中,请注意任何指出已创建新引导环境的消息。如果已创建并激活新引导环境,缺省情况下,下次重新引导时会引导该环境。有关管理引导环境的信息,请参见 beadm(1M) 手册页。

pkg update [-fnvq] [-C n] [-g path_or_uri ...] [--accept] [--licenses] [--no-be-activate] [--no-index] [--no-refresh ] [--no-backup-be | --require-backup-be] [--backup-be-name name] [--deny-new-be | --require-new-be] [--be-name name] [--reject pkg_fmri_pattern ...] [pkg_fmri_pattern ...]

将当前映像中安装的所有软件包更新到最新版本,该版本需符合已安装的软件包和发布者配置对系统施加的约束。

pkg_fmri_pattern

仅更新当前映像中安装的指定软件包。如果所提供的 pkg_fmri_pattern 模式中包含星号 (*),则会按如上所述更新当前映像中安装的所有软件包。

要显式请求安装软件包的最新版本,请在 pkg_fmri_pattern 的版本部分使用 latest。例如,指定 vim@latest

可以指定比已安装版本更高或更低的版本,以便对特定软件包执行就地降级或升级。不支持跨越软件包重命名边界或过时边界更新特定的软件包。

作为将要降级的软件包的一部分、自原始版本安装以来更改了的任何保留配置文件,将使用扩展名 .update 进行重命名。有关软件包系统如何确定要保留的文件,以及在软件包升级期间如何保留这些文件的更多信息,请参见 pkg(5) 手册页中的“文件操作”。

指定了多个 pkg_fmri_pattern 时,如果指定的软件包中有任何一个无法在此映像中更新,则指定的所有软件包都不会更新。

-f

不在更新已安装的所有软件包时执行客户机最新状态检查。

对于其他所有选项,请参见上面的 install 命令。

在命令输出中,请注意任何指出已创建新引导环境的消息。如果已创建并激活新引导环境,在未指定 --no-be-activate 选项时,缺省情况下,下次重新引导时会引导该环境。有关管理引导环境的信息,请参见 beadm(1M) 手册页。

pkg list [-Hafnsuv] [-g path_or_uri ...] [--no-refresh ] [pkg_fmri_pattern ...]

显示当前映像中安装的所有软件包的列表,包括版本和安装状态等信息。缺省情况下,会排除不同体系结构或区域类型的软件包变量。输出通常包括三个列:

NAME (PUBLISHER)       VERSION                IFO
system/core-os         0.5.11-0.175.0.0.0.2.1 i--
x11/wm/fvwm (fvwm.org) 2.6.5                  i--

第一列包含软件包的名称。如果安装(或者提供)该软件包的发布者在发布者搜索顺序上不是第一个,则该发布者名称将列在软件包名称的后面,并括在括号中。第二列包含软件包的发行版本和分支版本。有关发行版本和分支版本以及变量的信息,请参见 pkg(5) 手册页。

最后一列包含一组标志,用于显示软件包的状态:

  • I 列中的 i 表明软件包已安装。

  • F 列中的 f 表明软件包已冻结。

  • O 列中的 o 表明软件包已过时。O 列中的 r 表明软件包已重命名(一种形式的过时)。

pkg_fmri_pattern

仅列出指定的软件包。

-H

在列出时省略标题。

-a

列出已安装的软件包,以及可用于安装的软件包的最新版本。如果软件包是已安装 incorporation 和映像变量所允许的,则认为这些软件包可用于安装。如果指定了一个或多个模式,则会列出与指定模式匹配的且任何已安装 incorporation 和映像变量允许的最新版本。如果不使用 -a,则仅列出已安装的软件包。

-af

列出所有变量的所有软件包的所有版本,而不管 incorporation 约束或安装状态如何。使用这些选项时,要显式列出某个软件包的最新版本,请在 pkg_fmri_pattern 的版本部分使用 latest。例如,指定 vim@latest

-g path_or_uri

使用指定的软件包系统信息库或归档文件作为操作的软件包数据源。需要客户机 SSL 证书的系统信息库不能与此选项一起使用。可以多次指定此选项。如果未指定 -n,则可使用 -g 表示 -a

-n

显示所有已知软件包的最新版本,而不管安装状态如何。

-s

显示单行短格式,用于提供软件包名称和摘要。此选项可与 -a-n-u-v 一起使用。

-u

仅列出有更高版本可用的软件包。此选项不能与 -g 一起使用。

-v

在第一列中显示完整的软件包 FMRI,包括发布者和完整版本(VERSION 列将消失)。此选项可与 -a-n-u 一起使用。

--no-refresh

不尝试联系映像发布者的系统信息库来检索最新的可用软件包列表。

pkg info [-lr] [-g path_or_uri ...] [--license] [pkg_fmri_pattern ...]

以用户可读的格式显示当前映像中安装的所有软件包的相关信息。

pkg_fmri_pattern

仅显示指定软件包的相关信息。

-g path_or_uri

使用指定的软件包系统信息库或归档文件作为操作的软件包数据源。需要客户机 SSL 证书的系统信息库不能与此选项一起使用。可以多次指定此选项。使用 -g 表示 -r

-l

仅显示已安装的软件包的相关信息。这是缺省值。

-r

根据最新的可用版本匹配软件包,并从映像中配置的发布者系统信息库检索当前未安装的软件包的相关信息(如有必要)。使用此选项时,必须至少指定一个软件包。如果不指定 -r,则缺省情况下仅显示已安装的软件包。

--license

显示软件包的许可证文本。此选项可与 -l-r 结合使用。

pkg contents [-Hmr] [-a attribute=pattern ...] [-g path_or_uri ...] [-o attribute,...] [-s sort_key] [-t action_name ...] [pkg_fmri_pattern ...]

显示映像中安装的所有软件包的内容(操作属性)。未指定选项时,显示当前映像中安装的操作的 path 属性值,按属性值的字母顺序排列。有关操作及其属性的信息,请参见 pkg(5) 手册页中的“操作”。另请参见以下伪属性名称列表。

pkg_fmri_pattern

仅显示指定软件包的内容。

-H

在输出中省略标题。

-a attribute= pattern

将输出限制为特定操作,这些操作具有在选项参数中指定的属性,且其属性值与选项参数中的 (glob) 模式匹配(位于属性名称之后,带一个等号)。如果指定了多个 -a 选项,则会显示与其中任一选项匹配的操作。

-g path_or_uri

显示指定软件包系统信息库或归档文件中可以安装在此映像中的软件包的信息。需要客户机 SSL 证书的系统信息库不能与此选项一起使用。可以安装的软件包包含当前已安装的软件包以及其他满足此映像安装条件(例如变量和侧面限制)的软件包。可以多次指定此选项。使用 -g 表示 -r

-m

显示指定软件包中所有操作的所有属性,包括无法安装在此映像中的操作。

-o attribute

显示指定属性,按列出的第一个属性的值排序。可以多次指定 -o 选项;也可以通过使用逗号分隔属性名称,将多个属性指定为一个 -o 选项的参数。仅显示包含所请求属性的操作。

-r

显示此映像中配置的发布者系统信息库中可以安装在此映像中的软件包的最新可用版本信息。可以安装的软件包包含当前已安装的软件包以及其他满足此映像安装条件(例如变量和侧面限制)的软件包。使用此选项时,必须至少指定一个软件包。

-s sort_key

按指定的操作属性对操作进行排序。如果未提供此选项,则缺省设置是按照路径进行排序或者按照 -o 选项指定的第一个属性进行排序。可以多次指定 -s 选项。

-t action_name

仅列出指定的操作。可以在一个逗号分隔的列表中指定多个操作。action_name 的值是 pkg(5) 手册页的“操作”中列出的操作之一,例如 filedirectorydriverdependset。可以多次指定此选项。

为方便起见,可以使用多个特殊的伪属性名称:

action.hash

操作的散列值(如果该操作承载了有效负荷)。

action.key

该操作的关键属性值。例如,对于 file 操作,关键属性是文件的路径。某些操作不具备关键属性。

action.name

操作的名称。例如,对于某个文件操作,这是 file

action.raw

匹配操作的所有属性。

pkg.fmri

包含操作的软件包的完整 FMRI,例如 pkg://solaris/group/feature/amp@0.5.11,5.11-0.175.0.0.0.2.1:20120705T153434Z

pkg.name

包含操作的软件包的名称,例如 web/amp

pkg.publisher

包含操作的软件包的发布者,例如 solaris

pkg.shortfmri

包含操作的软件包的短格式 FMRI,例如 pkg://solaris/group/feature/amp@0.5.11,5.11-0.175

contentssearch 子命令是彼此相关的:两者都可在系统中查询软件包的内容。contents 子命令显示一个或多个已安装或可安装软件包中的操作,根据指定的选项过滤输出。search 子命令从另一个方向处理查询,显示包含用户提供的标记的所有软件包的名称。

每个子命令都能够表达另一个子命令也能表达的某些查询。应该谨慎选择所需的子命令,因为使用其中一个子命令来表达某个给定查询,可能比使用另一个子命令更为自然。

pkg search [-HIaflpr] [-o attribute,...] [-s repo_uri] query

搜索 query 的匹配项并显示结果。请参见下文的 query 说明。

-H

在输出中省略标题。

-I

使用区分大小写的搜索。

-a

执行搜索并显示有关匹配操作的信息。这是缺省值。

-f

显示所有结果,而不考虑软件包版本。缺省情况下,search 会从结果中去除低于当前安装版本的软件包以及当前 incorporation 中排除的软件包版本。

-l

搜索映像的已安装软件包。

可以同时指定 -l-r(或 -s),在此情况下,将会同时执行本地搜索和远程搜索。

-p

显示其某些操作与每个查询词匹配的软件包。使用此选项相当于在查询中的每个词两侧添加尖括号 (<>)。有关 <> 运算符的更多说明,请参见下文的 query

-r

搜索对应于映像发布者的系统信息库。这是缺省值。

可以同时指定 -l-r(或 -s),在此情况下,将会同时执行本地搜索和远程搜索。

-o attribute

控制结果列。可以多次指定 -o 选项;也可以通过使用逗号分隔属性名称,将多个属性指定为一个 -o 选项的参数。除了上面概述的伪属性外,还为搜索结果定义了下列属性:

search.match

与搜索查询匹配的字符串。

search.match_type

包含与搜索查询匹配的字符串的属性。

-s repo_uri

搜索位于给定 URI 的 pkg(5) 系统信息库。可以多次指定此选项。不支持软件包归档。

query

缺省情况下,会将 query 解释为要精确匹配的一系列条件。可将 ?* 字符用作 glob(3C) 式通配符,以更灵活地获取查询匹配项。

除了支持简单的标记匹配和通配符搜索外,还支持更复杂的查询语言。可通过使用单引号或双引号('")来搜索短语。请务必考虑所用的 shell,使 pkg 能够真正识别 '"

支持使用 AND 和 OR 的布尔搜索。

要为哪些标记建立索引是与操作相关的,不过可以包括内容散列和路径名称。有关操作及其属性的信息,请参见 pkg(5) 手册页中的“操作”。另请参见上面 pkg contents-o 中的伪属性名称列表。

结构化查询支持以下语法:

pkg_name:action_name:index:token

action_name 的值是 pkg(5) 手册页的“操作”中列出的操作之一。index 是操作的属性。index 的值必须与 token 匹配。

并非所有操作属性都是可搜索的。例如,modefile 操作的一个属性,但是 mode 不是 index 的有效值。

index 的某些值并不是操作属性,而是从其他属性派生的值。例如,index 可以是 basename,其不是任何操作的属性,而是派生自 filedir 操作的 path 属性,它采用了路径的最后组成部分。

不同的操作类型有不同的 index 有效值。本文档并未列出所有可能的值。一些更为有用的 index 值包括,对应于文件系统操作的 basenamepath、对应于 depend 操作的依赖性类型(例如 requireoptionalgroup),以及对应于 driver 操作的 driver_namealias

index 的一个特殊值是对应于 set 操作的 name 属性值。在这种情况下,token 与对应于指定 name 属性的 value 属性的值相匹配。例如,以下搜索将查找分类为 "Development/Databases" 或 "System/Databases" 的软件包。请参见“示例”部分中查找 SMF 服务的示例。

$ pkg search info.classification:databases

结构化查询中缺少的字段使用隐式通配符。搜索 basename:pkg 将会匹配 indexbasename 且与 token pkg 匹配的所有软件包中的所有操作,如以下部分输出中所示:

$ pkg search basename:pkg
INDEX    ACTION VALUE         PACKAGE
basename dir    usr/share/pkg pkg:/package/pkg@0.5.11-0.175.0.0.0.2.1
basename dir    var/sadm/pkg  pkg:/package/svr4@0.5.11-0.175.0.0.0.2.1
basename dir    var/spool/pkg pkg:/package/svr4@0.5.11-0.175.0.0.0.2.1
basename file   usr/bin/pkg   pkg:/package/pkg@0.5.11-0.175.0.0.0.2.1

添加其他字段将会缩小搜索范围,如以下完整输出中所示:

$ pkg search file:basename:pkg
INDEX    ACTION VALUE       PACKAGE
basename file   usr/bin/pkg pkg:/package/pkg@0.5.11-0.175.0.0.0.2.1

pkg_nametoken 字段中支持显式通配符。action_nameindex 必须完全匹配。

有关搜索文件和依赖项的示例,请参见“示例”部分。

要将操作转换为包含这些操作的软件包,请使用 <>,如以下部分输出中所示:

$ pkg search \<pkg\>
PACKAGE                                  PUBLISHER
pkg:/package/pkg@0.5.11-0.175.0.0.0.2.1  solaris
pkg:/package/svr4@0.5.11-0.175.0.0.0.2.1 solaris

使用 -a 选项(缺省设置)时,搜索 token 会导致返回与 token 匹配的操作的信息,而搜索 <token> 会导致返回一个软件包列表,这些软件包包含与 token 匹配的操作。

pkg verify [-Hqv] [ pkg_fmri_pattern ...]

验证当前映像中安装的所有软件包的安装情况。如果相关发布者的当前签名策略不是 ignore,则会根据策略验证每个软件包的签名。有关如何应用签名策略的说明,请参见下文“映像属性”中的 signature-policy

pkg_fmri_pattern

仅验证当前映像中安装的指定软件包的安装情况。

-H

在验证输出中省略标题。

-q

如果出现任何致命错误,则不显示任何信息,而是返回失败消息。

-v

包括有关软件包的信息性消息。

pkg fix [--accept] [--licenses] [pkg_fmri_pattern ...]

修复 pkg verify 报告的任何错误。已安装软件包内容的验证基于定制的内容分析,该分析可能会返回与其他程序不同的结果。

pkg_fmri_pattern

仅修复 pkg verify 报告的有关当前映像中安装的指定软件包的错误。

--accept

表示同意并接受所更新或安装的软件包的许可证条款。如果存在任何需要您接受的软件包许可证,而您未提供此选项,则操作将失败。

--licenses

显示在此操作过程中要安装或更新的软件包的所有许可证。

pkg revert [-nv] [- -no-be-activate] [--no-backup-be | --require-backup-be ] [--backup-be-name name] [--deny-new-be | --require-new-be] [--be-name name] (--tagged tag-name ... | path-to-file ...)

pkg(5) 软件包提供的文件恢复为其交付时的状态。文件所有权和保护也会得到恢复。


注意

注意 - 将某些可编辑文件恢复为其缺省值可能会使系统无法引导,或导致其他故障。


--tagged tag-name

恢复所有标记有 tag-name 的文件。

path-to-file

恢复指定的文件。

对于其他所有选项,请参见上面的 install 命令。

pkg mediator [-aH] [-F format] [mediator ...]

显示所有中介的当前选定版本和/或实现。

mediator

仅显示指定中介的当前选定版本和/或实现。

-a

列出可为当前安装的软件包设置的中介。

-F

指定备用输出格式。当前,只有 tsv(Tab Separated Values,制表符分隔值)有效。

-H

在列出时省略标题。

pkg set-mediator [-nv] [-I implementation] [-V version] [--no-be-activate] [--no-backup-be | - -require-backup-be] [--backup-be-name name] [--deny-new-be | --require-new-be] [--be-name name] mediator ...

设置当前映像中指定中介的版本和/或实现。

-I implementation

设置要使用的中介接口的实现。缺省情况下,如果未指定版本,则允许所有实现版本。要指定一个没有版本的实现,请附加 @ 符号。

-v version

设置要使用的中介接口的版本。

如果指定的中介版本和/或实现当前不可用,则会删除使用指定中介的任何链接。

对于其他所有选项,请参见上面的 install 命令。

pkg unset-mediator [-nvIV] [--no-be-activate] [--no-backup-be | --require-backup-be ] [--backup-be-name name] [--deny-new-be | --require-new-be] [--be-name name] mediator ...

将指定中介的版本和/或实现恢复为系统缺省值。

-I

仅恢复中介接口的实现。

-V

仅恢复中介接口的版本。

对于其他所有选项,请参见上面的 install 命令。

pkg variant [-H] [ variant.variant_name ...]

显示在此映像中设置的所有变量的当前值。有关变量的更多信息,请参见 pkg(5) 手册页中的“侧面和变量”。

variant.variant_name

仅显示在此映像中设置的指定变量的当前值。

-H

在列出时省略标题。

pkg change-variant [-nvq] [-C n] [-g path_or_uri ...] [--accept] [--licenses] [--no-be-activate] [--no-backup-be |--require-backup-be ] [--backup-be-name name] [--deny-new-be | --require-new-be] [--be-name name] variant_name= value ...

更改在当前映像中设置的指定变量的值。

更改变量的值可能会导致删除、更新或安装某些软件包内容。更改变量值还可能会导致安装、更新或删除整个软件包,以满足新的映像配置。有关变量的更多信息,请参见 pkg(5) 手册页中的“侧面和变量”。

有关选项的说明,请参见上述 install 命令。

pkg facet [-H] [ facet_name ...]

显示使用 pkg change-facet 命令在此映像中显式设置的所有侧面的当前值。有关侧面的更多信息,请参见 pkg(5) 手册页中的“侧面和变量”。

facet_name

仅显示在此映像中设置的指定侧面的当前值。

-H

在列出时省略标题。

pkg change-facet [-nvq] [-C n] [-g path_or_uri ...] [--accept] [--licenses] [--no-be-activate] [--no-backup-be | --require-backup-be ] [--backup-be-name name] [--deny-new-be | --require-new-be] [--be-name name] facet_name=[ True|False|None] ...

更改当前映像中设置的指定侧面的值。

可以将侧面设置为 TrueFalse。将侧面设置为 None 时,系统会将缺省值 True 应用于该侧面;因此将安装任何由此侧面约束的操作。有关操作的信息,请参见 pkg(5) 手册页中的“操作”。

更改侧面的值可能会导致删除、更新或安装某些软件包内容。更改侧面值还可能会导致安装、更新或删除整个软件包,以满足新的映像配置。有关侧面的更多信息,请参见 pkg(5) 手册页中的“侧面和变量”。

有关选项的说明,请参见上述 install 命令。

pkg avoid [pkg_fmri_pattern ...]

显示每个避免安装的软件包,以及对该软件包存在组依赖性的任何软件包。

如果需要满足 require 依赖性,则会安装避免列表中的软件包。如果删除了该依赖性,则会卸载相应的软件包。

pkg_fmri_pattern

如果指定的软件包是某个组依赖性的目标,则会通过将匹配指定模式的软件包名称放置在避免列表中来避免安装这些软件包。只能避免安装当前尚未安装的软件包。如果某个软件包当前是某个组依赖性的目标,则卸载该软件包会将它放置在避免列表中。

pkg unavoid [pkg_fmri_pattern ...]

显示避免安装的软件包的列表。

pkg_fmri_pattern

从避免列表中删除指定的软件包。使用此子命令无法删除避免列表中与某个已安装软件包的组依赖性相匹配的软件包。要从避免列表中删除与某个组依赖性相匹配的软件包,请安装该软件包。

pkg freeze [-n] [-c reason] [pkg_fmri_pattern] ...

显示有关当前已冻结软件包的信息:软件包名称、版本、软件包冻结时间以及任何冻结软件包的相关原因。

冻结某个软件包不会阻止删除该软件包。删除软件包时不会显示警告。

pkg_fmri_pattern

将指定的软件包冻结到指定的版本。如果未提供版本,则必须安装该软件包,然后将它冻结在该已安装版本。冻结一个已经冻结的软件包会将冻结版本替换为新指定的版本。

如果安装或更新冻结的软件包,则其最终版本必须与冻结时使用的版本匹配。例如,如果某个软件包在冻结时的版本为 1.2,则可以将它更新到 1.2.1、1.2.9、1.2.0.0.1,等等。但该软件包的最终版本不能为 1.3 或 1.1。pkg_fmri_pattern 中提供的发布者用于查找匹配的软件包。但是,在冻结过程中不会记录发布者信息。软件包只针对其版本(而不是发布者)进行冻结。

-c reason

记录冻结软件包的 原因。当安装或更新因冻结而不能继续进行时,将会显示该原因。

-n

试运行冻结操作,并显示要冻结的软件包的列表,但不冻结任何软件包。

pkg unfreeze [-n] [ pkg_name_pattern] ...

显示有关当前已冻结软件包的信息:软件包名称、版本、软件包冻结时间以及任何冻结软件包的相关原因。

pkg_fmri_pattern

从指定的软件包中删除冻结操作施加的约束。将会忽略提供的版本。

-n

试运行解冻操作,并显示要解冻的软件包的列表,但不解冻任何软件包。

pkg property [-H] [ propname ...]

显示所有映像属性的名称和值。有关映像属性的说明,请参见下面的“映像属性”。

propname

仅显示指定属性的名称和值。

-H

在列出时省略标题。

pkg set-property propname propvalue

更新现有映像属性或添加新的映像属性。

pkg add-property-value propname propvalue

向现有映像属性添加值,或添加新的映像属性。

pkg remove-property-value propname propvalue

从现有映像属性中删除值。

pkg unset-property propname ...

删除一个或多个现有映像属性。

pkg publisher [-HPn] [-F format] [publisher ...]

按搜索优先顺序显示所有发布者、其源 URI 和镜像的列表。

publisher

仅显示指定发布者的详细配置信息。

-H

在列出时省略标题。

-P

仅显示发布者搜索顺序中的第一个发布者。

-n

仅显示已启用的发布者。

-F

指定备用输出格式。当前,只有 tsv(Tab Separated Values,制表符分隔值)有效。

pkg set-publisher [-Ped] [-k ssl_key] [-c ssl_cert] [-g origin_to_add | - -add-origin origin_to_add ...] [-G origin_to_remove | --remove-origin origin_to_remove ...] [-m mirror_to_add | - -add-mirror mirror_to_add ...] [-M mirror_to_remove | --remove-mirror mirror_to_remove ...] [--enable] [--disable] [--no-refresh] [--reset-uuid] [--non-sticky ] [--sticky] [--search-after publisher] [--search-before publisher] [--search-first] [--approve-ca-cert path_to_CA] [--revoke-ca-cert hash_of_CA_to_remove ] [--unset-ca-cert hash_of_CA_to_remove ] [--set-property name_of_property= value] [--add-property-value name_of_property =value_to_add] [--remove-property-value name_of_property=value_to_remove ] [--unset-property name_of_property_to_delete ] [--proxy proxy_to_use] publisher

更新现有发布者,或添加发布者。如果未指定任何影响搜索顺序的选项,则会将新发布者附加到搜索顺序,因此,会最后搜索这些新发布者。

-P
--search-first

将指定的发布者设置为搜索顺序中第一个。安装新软件包时,将首先搜索此发布者。对已安装软件包的更新将来自最初提供该软件包的同一发布者,前提是该发布者保持粘滞。

--non-sticky

对于最初从此发布者安装的软件包,更新可以从级别比此发布者更高的发布者处获取。

--sticky

对于从此发布者安装的软件包,更新必须也来自此发布者。这是缺省行为。

--search-before publisher

更改发布者搜索顺序,以便在此选项中指定的发布者之前搜索添加或修改的发布者。

--search-after publisher

更改发布者搜索顺序,以便在此选项中指定的发布者之后搜索添加或修改的发布者。

--approve-ca-cert path_to_CA

将指定的证书添加为可信的 CA 证书。pkg publisher 命令的详细输出中列出了用户批准的 CA 证书的 PEM 表示形式中的散列。

--revoke-ca-cert hash_of_CA_to_remove

将其 PEM 表示形式具有给定散列的证书视为已撤销。pkg publisher 命令的详细输出中列出了用户撤销的 CA 证书的散列。

--unset-ca-cert hash_of_CA_to_remove

从已批准证书列表和已撤销证书列表中删除具有给定散列的证书。

--set-property name_of_property= value

更新现有发布者属性或添加新的发布者属性。

--add-property-value name_of_property =value_to_add

向现有发布者属性添加值,或添加新的发布者属性。

--remove-property-value name_of_property =value_to_remove

从现有发布者属性中删除值。

--unset-property name_of_property_to_delete

删除现有的发布者属性。

-k ssl_key

指定客户机 SSL 密钥。

-c ssl_cert

指定客户机 SSL 证书。

-g origin_to_add
--add-origin origin_to_add

将指定的 URI 或路径添加为给定发布者的源。这应该是软件包系统信息库或归档的位置。

-G origin_to_remove
--remove-origin origin_to_remove

从给定发布者的源列表中删除 URI 或路径。可以使用特殊值 * 来删除所有源。

--no-refresh

不尝试联系映像发布者的系统信息库来检索最新的可用软件包列表和其他元数据。

--reset-uuid

选择一个新的唯一标识符,用于向其发布者标识此映像。

-m mirror_to_add
--add-mirror mirror_to_add

将 URI 添加为给定发布者的镜像。

-M mirror_to_remove
--remove-mirror mirror_to_remove

从给定发布者的镜像列表中删除 URI。可以使用特殊值 * 来删除所有镜像。

-e
--enable

启用发布者。

-d
--disable

禁用发布者。填充软件包列表时,或者执行某些软件包操作(安装、卸载和更新)时,将不使用被禁用的发布者。但是,仍可以设置和查看被禁用的发布者的属性。如果只存在一个发布者,则不能将其禁用。

--proxy proxy_to_use

使用指定的 Web 代理 URI 检索指定源 (-g) 或镜像 (-m) 的内容。代理值存储在发布者配置中。在运行时,$http_proxy 或相关环境变量会覆盖此代理设置。有关接受的环境变量名列表,请参见 curl(1) 手册页。

pkg set-publisher -p repo_uri [-Ped] [-k ssl_key ] [-c ssl_cert] [- -non-sticky] [--sticky] [--search-after publisher] [--search-before publisher] [--search-first] [--approve-ca-cert path_to_CA] [--revoke-ca-cert hash_of_CA_to_remove ] [--unset-ca-cert hash_of_CA_to_remove ] [--set-property name_of_property= value] [--add-property-value name_of_property =value_to_add] [--remove-property-value name_of_property=value_to_remove ] [--unset-property name_of_property_to_delete ] [--proxy proxy_to_use] [publisher]

repo_uri 系统信息库 URI 中检索发布者配置信息。

如果为此 set-publisher 子命令指定了发布者操作数,则仅添加或更新该发布者。如果未指定发布者,则相应添加或更新 repo_uri 中的所有发布者。

有关选项的说明,请参见上述 set-publisher 命令。与 -p 一起使用时,-P--search-first--search-before 以及 --search-after 选项仅适用于添加的发布者,而不适用于更新的发布者。

-p 选项不能与以下选项结合使用:-g--add-origin-G--remove-origin-m--add-mirror-M--remove-mirror--disable--enable--no-refresh--reset-uuid

pkg unset-publisher publisher ...

删除与一个或多个指定发布者相关联的配置。

pkg history [-HNl] [-t [time | time- time],...] [-o column,...] [-n number]

显示适用映像的命令历史记录。

-H

在列出时省略标题。

-t time
-t time-time

显示以逗号分隔列表指定的时间戳(格式为 %Y-%m-%dT%H:%M:%S)对应的日志记录(请参见 strftime(3C))。要指定时间范围,请在开始和完成时间戳之间使用连字符 (-)。可以将关键字 now 用作当前时间的别名。如果指定的时间戳包含重复的时间戳或重叠的日期范围,则每个重复的历史记录事件仅显示一次。

-l

以长格式显示日志记录,也就是说,除了显示标准格式的内容外,还包括命令的结果、命令完成时间、所用客户机的版本和名称、执行操作的用户名,以及执行命令时遇到的任何错误。

-N

显示发行说明文本。

-n number

仅显示指定数目的最近条目。

-o column

按照以逗号分隔的指定列名列表显示输出。有效的列名为:

be

在其上启动此操作的引导环境的名称。

be_uuid

在其上启动此操作的引导环境的 uuid

client

客户端的名称。

client_ver

客户端的版本。

command

用于此操作的命令行。

finish

完成此操作时的时间。

id

启动此操作的用户 ID。

new_be

此操作创建的新引导环境。

new_be_uuid

此操作创建的新引导环境的 uuid

operation

操作的名称。

outcome

此操作的结果摘要。

reason

有关此操作的结果的其他信息。

release_note

指示此操作是否已生成发行说明。

snapshot

执行此操作期间创建的快照。仅当成功完成操作后未自动删除快照时,才会记录此信息。

start

启动此操作时的时间。

time

执行此操作花费的总时间。对于用时不到一秒的操作,将显示 0:00:00。

user

启动此操作的用户名。

如果指定了 commandreason 列,则它们必须是 -o 列表中的最后一项,这样才能让输出字段彼此分隔。这两列不能显示在同一个 history 命令中。

如果系统上不再存在该引导环境,则在 benew_be 值的后面会显示一个星号 (*)。

可通过使用 be_uuidnew_be_uuid 字段查找当前引导环境名称,来获取 benew_be 的值。如果某个引导环境后来已重命名,随后又被删除,则显示的 benew_be 值是执行 pkg 操作时记录的值。

pkg purge-history

删除所有现有历史记录信息。

pkg rebuild-index

重建由 pkg search 使用的索引。这是一项恢复操作,不适用于一般用途。

pkg update-format

将映像格式更新到当前版本。完成此操作后,该映像无法再在早期版本的 pkg(5) 系统上使用。

pkg version

显示一个用于唯一标识 pkg 版本的字符串。不保证在不同版本中,此字符串在任何方面都具有类似性。

pkg help

显示用法消息。

pkg image-create [-FPUz] [-f |--force] [--full | --partial | --user] [--zone] [-k ssl_key] [-c ssl_cert] [--no-refresh] [--variant variant_name =value ...] [-g path_or_uri | --origin path_or_uri ...] [-m uri | --mirror uri ...] [--set-property name_of_property =value] [--facet facet_name=(True|False) ...] [(-p | --publisher) [name=] repo_uri] dir

dir 指定的位置,创建一个适合于软件包操作的映像。缺省的映像类型为“用户”,即 -U (--user) 选项指定的类型。可以将映像类型设置为完整映像(--F--full),或者设置为与完整映像(包括给定的 dir 路径)链接的部分映像(-P--partial)。可以使用 -g--origin 指定其他源。可以使用 -m--mirror 指定其他镜像。

必须使用 -p--publisher 选项提供软件包系统信息库 URI。如果还提供了某个发布者名称,则创建映像时仅添加该发布者。如果未提供发布者名称,则会将指定的系统信息库已知的所有发布者添加到映像。完成初始创建操作后,将会尝试检索与此发布者关联的目录。

对于使用客户端 SSL 验证的发布者,可以通过 -c-k 选项注册客户端密钥和客户端证书。此密钥和证书用于映像创建期间添加的所有发布者。

如果要在非全局区域上下文中运行映像,则可以使用 -z (--zone) 选项设置相应的变量。

-f
--force

基于现有映像强制创建一个映像。请慎用此选项。

--no-refresh

不尝试联系映像发布者的系统信息库来检索最新的可用软件包列表和其他元数据。

--variant variant_name= value

将指定的变量设置为指示值。有关变量的更多信息,请参见 pkg(5) 手册页中的“侧面和变量”。

--facet facet_name=( True|False)

将指定的侧面设置为指示值。有关侧面的更多信息,请参见 pkg(5) 手册页中的“侧面和变量”。

--set-property name_of_property= value

将指定的映像属性设置为指示值。有关映像属性的说明,请参见下面的“映像属性”。

映像属性

以下属性可定义映像的特征。这些属性存储有关映像的用途、内容和行为的信息。要查看映像中这些属性的当前值,请使用 pkg property 命令。要修改这些属性的值,请使用 pkg set-propertypkg unset-property 命令。

be-policy

(字符串)指定在打包操作期间何时创建引导环境。允许使用以下值:

default

应用缺省引导环境创建策略 create-backup

always-new

所有软件包操作均需要重新引导:在下次引导时设为活动状态的新引导环境中执行这些操作。除非显式请求,否则不创建备份引导环境。

该策略最为安全,但是它比大多数站点的需要更为严格,因为在不重新引导的情况下无法添加任何软件包。

create-backup

对于需要重新引导的软件包操作,在下一次引导时,将创建一个新的引导环境并将其设置为活动状态。如果修改了软件包或安装了可能影响内核的内容,并且该操作影响实时引导环境,将创建备份引导环境,但不会将其设置为活动状态。也可以显式请求创建备份引导环境。

仅当新安装的软件导致系统不稳定时(有可能发生,但比较少见),该策略才可能存在风险。

when-required

对于需要重新引导的软件包操作,在下一次引导时,将创建一个新的引导环境并将其设置为活动状态。除非显式请求,否则不创建备份引导环境。

该策略的风险最高,因为如果对实时引导环境的打包更改使得以后无法再进行更改,则可能没有可回退的最近引导环境。

ca-path

(字符串)一个路径名称,指向为执行 SSL 操作而将 CA 证书保存到的目录。此目录的格式特定于底层 SSL 实现。要对可信 CA 证书使用替代位置,请将此值更改为指向另一个目录。有关 CA 目录的要求,请参见 SSL_CTX_load_verify_locations(3openssl) 的 CApath 部分。

缺省值:/etc/openssl/certs

check-certificate-revocation

(布尔型)如果此属性设置为 True,则软件包客户机将尝试访问用于签名验证的证书中的任何 CRL 分发点,以确定证书自颁发以来是否已被撤销。

缺省值:False

flush-content-cache-on-success

(布尔型)如果此属性设置为 True,则完成安装或更新操作后,软件包客户机将删除其内容高速缓存中的文件。对于更新操作,仅从源引导环境中删除内容。如果随后目标引导环境中发生了打包操作,并且此选项未发生更改,则软件包客户机将刷新其内容高速缓存。

在磁盘空间有限的系统上,可以使用此属性使内容高速缓存保持为较小的大小。此属性可能会导致花费更长的时间来完成操作。

缺省值:True

mirror-discovery

(布尔型)此属性通知客户端使用 mDNS 和 DNS-SD 发现本地链路内容镜像。如果此属性设置为 True,则客户机尝试从其动态发现的镜像中下载软件包内容。要运行一个通过 mDNS 通告其内容的镜像,请参见 pkg.depotd(1M) 手册页。

缺省值:False

send-uuid

(布尔型)执行网络操作时发送映像的通用唯一标识符 (Universally Unique Identifier, UUID)。尽管用户可以禁用此选项,但是某些网络系统信息库可能会拒绝与不提供 UUID 的客户机通信。

缺省值:True

signature-policy

(字符串)确定在映像中安装、更新、修改或验证软件包时,要对清单执行哪些检查。应用于软件包的最终策略取决于映像策略和发布者策略的组合。该策略组合的严格程度至少相当于这两个策略单独执行时较严格的那一个。缺省情况下,软件包客户机不检查证书是否已撤销。要启用这些检查(可能需要客户机访问外部 Web 站点),请将 check-certificate-revocation 映像属性设置为 True。允许使用以下值:

ignore

忽略所有清单的签名。

verify

验证所有具有签名的清单的签名是否有效,但不要求签名所有安装的软件包。这是缺省值。

require-signatures

要求所有新安装的软件包至少具有一个有效签名。如果安装的软件包不具备有效签名,pkg fixpkg verify 命令也会发出警告。

require-names

require-signatures 遵循相同的要求,但还要求 signature-required-names 属性中列出的字符串显示为用于验证签名信任链的证书的通用名称。

signature-required-names

(字符串列表)在验证软件包签名时必须视为证书通用名称的名称列表。

trust-anchor-directory

(字符串)包含映像信任锚的目录的路径名称。此路径是映像的相对路径。缺省值为 ignore

use-system-repo

(布尔型)此属性指示映像是否应使用系统信息库作为映像和发布者配置的源,以及作为与提供的发布者通信的代理。缺省值为 False。有关系统信息库的信息,请参见 pkg.sysrepo(1M) 手册页。

发布者属性

以下属性定义了特定发布者的签名策略。具有相同名称的映像属性定义了该映像的签名策略。要查看特定发布者的这些属性的当前值,请使用 pkg publisher publisher_name 命令。要修改发布者的这些签名策略属性的值,请使用 pkg set-publisher 命令的 --set-property--unset-property 选项。

signature-policy

(字符串)此属性的作用与同名映像属性的功能相同,不过它仅适用于来自特定发布者的软件包。

signature-required-names

(字符串列表)此属性的作用与同名映像属性的功能相同,不过它仅适用于来自特定发布者的软件包。

示例

示例 1 在配置了发布者的情况下创建映像

使用 /aux0/example_root 中存储的发布者 example.com 创建一个新的完整映像。

$ pkg image-create -F -p example.com=http://pkg.example.com:10000 \
/aux0/example_root

示例 2 创建一个映像并指定附加源和镜像

使用发布者 example.com 创建一个新的完整映像。该映像还有一个附加镜像、两个附加源,并存储在 /aux0/example_root 中。

$ pkg image-create -F -p example.com=http://pkg.example.com:10000 \
-g http://alternate1.example.com:10000/ \
-g http://alternate2.example.com:10000/ \
-m http://mirror.example.com:10000/ \
/aux0/example_root

示例 3 在未配置发布者的情况下创建映像

在未配置发布者的情况下,在 /aux0/example_root 中创建一个新的完整映像。

$ pkg image-create -F /aux0/example_root

示例 4 安装软件包

在当前映像中安装最新版本的 widget 软件包。

$ pkg install application/widget

示例 5 列出软件包的指定内容

列出 system/file-system/zfs 软件包的内容。显示操作名称、文件模式(如果已定义)、大小(如果已定义)、路径和目标(如果为链接)。将操作限制为类型 dirfilelinkhardlink,因为指定可用于所有操作的 action.name 属性将显示一个列出了所有操作的行,而此处并不需要显示它。

$ pkg contents -t dir,file,link,hardlink \
-o action.name,mode,pkg.size,path,target system/file-system/zfs
ACTION.NAME MODE PKG.SIZE PATH                 TARGET
dir         0755          etc
dir         0755          etc/fs
dir         0755          etc/fs/zfs
link                      etc/fs/zfs/mount     ../../../usr/sbin/zfs
link                      etc/fs/zfs/umount    ../../../usr/sbin/zfs
dir         0755          etc/zfs
dir         0755          kernel
dir         0755          kernel/drv
dir         0755          kernel/drv/amd64
file        0755  1706744 kernel/drv/amd64/zfs
file        0644      980 kernel/drv/zfs.conf
dir         0755          kernel/fs
dir         0755          kernel/fs/amd64
hardlink                  kernel/fs/amd64/zfs  ../../../kernel/drv/amd64/zfs
...

示例 6 列出两个软件包的指定内容

列出 web/browser/firefoxmail/thunderbird 的内容,将显示的内容仅限于软件包名称,以及其 path 属性以 .desktop.png 结尾的操作的路径属性。

$ pkg contents -o pkg.name,path -a path=\*.desktop \
-a path=\*.png web/browser/firefox mail/thunderbird
PKG.NAME            PATH
web/browser/firefox usr/share/applications/firefox.desktop
mail/thunderbird    usr/share/applications/thunderbird.desktop
web/browser/firefox usr/share/pixmaps/firefox-icon.png
mail/thunderbird    usr/share/pixmaps/thunderbird-icon.png
...

示例 7 搜索软件包

在软件包数据库中搜索标记 bge

$ pkg search bge
INDEX       ACTION VALUE                                 PACKAGE
driver_name driver bge                                   pkg:/driver/network/ethernet/bge@0.5.11-0.175.0.0.0.2.1
basename    file   kernel/drv/sparcv9/bge                pkg:/driver/network/ethernet/bge@0.5.11-0.175.0.0.0.2.1
basename    file   kernel/drv/amd64/bge                  pkg:/driver/network/ethernet/bge@0.5.11-0.175.0.0.0.2.1
basename    file   platform/sun4v/kernel/drv/sparcv9/bge pkg:/system/kernel/platform@0.5.11-0.175.0.0.0.2.1
pkg.fmri    set    solaris/driver/network/bge            pkg:/driver/network/bge@0.5.11-0.173.0.0.0.1.0
pkg.fmri    set    solaris/driver/network/ethernet/bge   pkg:/driver/network/ethernet/bge@0.5.11-0.175.0.0.0.2.1

该标记在软件包 driver/network/bge 中,既用作代表 /kernel/drv/ arch/bge 的文件操作的基名,又用作驱动程序名称。

示例 8 搜索文件

要搜索提供某个文件的软件包,请指定该文件的全路径名,包括开头的斜杠字符。

$ pkg search -o path,pkg.name -l /usr/bin/vim
PATH         PKG.NAME
usr/bin/vim  editor/vim/vim-core

要搜索某个文件和提供该文件的软件包,请指定 file(对于 action_name)、pathbasename(对于 index),以及完整或部分文件名(对于 token)。

$ pkg search -o path,pkg.name -l file:basename:vim
PATH         PKG.NAME
usr/bin/vim  editor/vim/vim-core

示例 9 搜索文件和目录

要搜索文件和目录以及提供它们的软件包,请指定 pathbasename(对于 index)以及完整或部分文件名(对于 token)。根据您的 shell,您可能需要对通配符进行转义。

$ pkg search -o path,pkg.name -l path:*/vim
PATH           PKG.NAME
usr/bin/vim    editor/vim/vim-core
usr/share/vim  editor/vim
usr/share/vim  editor/vim/vim-core
$ pkg search -o path,pkg.name -l basename:vim
PATH           PKG.NAME
usr/share/vim  editor/vim
usr/share/vim  editor/vim/vim-core
usr/bin/vim    editor/vim/vim-core

示例 10 显示哪些软件包提供特定的 SMF 服务

要显示哪些软件包提供特定的 SMF 服务,请在结构化搜索中为 index 指定 org.opensolaris.smf.fmri 值,并为 token 指定要查找的服务名称。org.opensolaris.smf.fmri 值是 set 操作的某个属性的名称。请注意对服务名称中的 : 进行转义。

例如,要显示哪些 HTTP 服务器可用,请为 token 指定 svc:/network/http 值。

$ pkg search 'org.opensolaris.smf.fmri:svc\:/network/http*'
INDEX                    ACTION VALUE                        PACKAGE
org.opensolaris.smf.fmri set    svc:/network/http            pkg:/web/server/lighttpd-14@1.4.23-0.175.0.0.0.2.1
org.opensolaris.smf.fmri set    svc:/network/http            pkg:/web/proxy/privoxy@3.0.17-0.175.0.0.0.2.1
org.opensolaris.smf.fmri set    svc:/network/http            pkg:/web/proxy/squid@3.1.18-0.175.0.0.0.2.1
org.opensolaris.smf.fmri set    svc:/network/http            pkg:/web/java-servlet/tomcat@6.0.35-0.175.0.0.0.2.1
org.opensolaris.smf.fmri set    svc:/network/http            pkg:/web/server/apache-22@2.2.22-0.175.0.0.0.2.1
org.opensolaris.smf.fmri set    svc:/network/http:apache22   pkg:/web/server/apache-22@2.2.22-0.175.0.0.0.2.1
org.opensolaris.smf.fmri set    svc:/network/http:lighttpd14 pkg:/web/server/lighttpd-14@1.4.23-0.175.0.0.0.2.1
org.opensolaris.smf.fmri set    svc:/network/http:privoxy    pkg:/web/proxy/privoxy@3.0.17-0.175.0.0.0.2.1
org.opensolaris.smf.fmri set    svc:/network/http:squid      pkg:/web/proxy/squid@3.1.18-0.175.0.0.0.2.1
org.opensolaris.smf.fmri set    svc:/network/http:tomcat6    pkg:/web/java-servlet/tomcat@6.0.35-0.175.0.0.0.2.1

示例 11 搜索依赖于指定软件包的软件包

搜索依赖于 package/pkg 的已安装软件包。

$ pkg search -l depend::package/pkg
INDEX       ACTION VALUE                                    PACKAGE
incorporate depend package/pkg@0.5.11-0.175.0.0.0.2.1      pkg:/consolidation/ips/ips-incorporation@0.5.11-0.175.0.0.0.2.1
require     depend pkg:/package/pkg@0.5.11-0.175.0.0.0.2.1 pkg:/package/pkg/package-manager@0.5.11-0.175.0.0.0.2.1
require     depend pkg:/package/pkg@0.5.11-0.175.0.0.0.2.1 pkg:/system/library/install@0.5.11-0.175.0.0.0.2.1
require     depend pkg:/package/pkg@0.5.11-0.175.0.0.0.2.1 pkg:/package/pkg/update-manager@0.5.11-0.175.0.0.0.2.1
require     depend pkg:/package/pkg@0.5.11-0.175.0.0.0.2.1 pkg:/system/library/boot-management@0.5.11-0.175.0.0.0.2.1
require     depend package/pkg                             pkg:/system/zones/brand/brand-solaris@0.5.11-0.175.0.0.0.2.1
require     depend pkg:/package/pkg@0.5.11-0.175.0.0.0.2.1 pkg:/install/distribution-constructor@0.5.11-0.175.0.0.0.2.1
require     depend pkg:/package/pkg@0.5.11-0.175.0.0.0.2.1 pkg:/system/boot-environment-utilities@0.5.11-0.175.0.0.0.2.1
require     depend pkg:/package/pkg@0.5.11-0.175.0.0.0.2.1 pkg:/package/pkg/system-repository@0.5.11-0.175.0.0.0.2.1

示例 12 搜索依赖性

在安装的软件包中搜索所有 incorporate 依赖性。

$ pkg search -l depend:incorporate:
INDEX       ACTION VALUE                                PACKAGE
incorporate depend pkg:/BRCMbnx@0.5.11-0.175.0.0.0.2.1  pkg:/consolidation/osnet/osnet-incorporation@0.5.11-0.175.0.0.0.2.1
incorporate depend pkg:/BRCMbnxe@0.5.11-0.175.0.0.0.2.1 pkg:/consolidation/osnet/osnet-incorporation@0.5.11-0.175.0.0.0.2.1
...

示例 13 添加发布者

添加新的发布者 example.com,该发布者的系统信息库位于 http://www.example.com/repo

$ pkg set-publisher -g http://www.example.com/repo example.com

示例 14 添加具有密钥和证书的发布者

添加新的发布者 example.com,该发布者的安全系统信息库位于 https://secure.example.com/repo,其密钥和证书存储在目录 /root/creds 中。

$ pkg set-publisher -k /root/creds/example.key \
-c /root/creds/example.cert -g https://secure.example.com/repo \
example.com

示例 15 添加并自动配置发布者

使用自动配置功能添加一个新的发布者,该发布者的系统信息库位于 /export/repo

$ pkg set-publisher -p /export/repo

示例 16 添加并手动配置发布者

使用手动配置功能添加新的发布者 example.com,该发布者的系统信息库位于 /export/repo/example.com

$ pkg set-publisher -g /export/repo example.com

示例 17 添加发布者并配置代理

添加源为 http://server/repo、代理为 http://webcache:8080 的新发布者 mypub

$ pkg set-publisher -g http://server/repo \
--proxy http://webcache:8080 mypub

示例 18 验证所有签名的软件包

配置一个映像以验证所有签名的软件包。

$ pkg set-property signature-policy verify

示例 19 要求签名所有软件包

配置一个映像,以要求签名所有软件包,并要求字符串 example.com 显示为信任链中某一个证书的通用名称。

$ pkg set-property signature-policy require-names example.com

示例 20 要求对来自指定发布者的所有软件包进行签名

配置一个映像,以便必须对通过发布者 example.com 安装的所有软件包进行签名。

$ pkg set-publisher --set-property signature-policy=require-signatures \
example.com

示例 21 要求信任链中存在指定的字符串

将字符串 foo 添加到映像的通用名称列表,这些通用名称必须显示在签名的信任链中才能视为有效。

$ pkg add-property-value signature-require-names foo

示例 22 从指定发布者的信任链中删除某个字符串

从通用名称列表中删除字符串 foo,必须显示这些通用名称才能验证发布者 example.com 的签名。

$ pkg set-publisher --remove-property-value signature-require-names=foo \
example.com

示例 23 添加可信 CA 证书

添加 /tmp/example_file.pem 中存储的证书,作为发布者 example.com 的可信 CA 证书。

$ pkg set-publisher --approve-ca-cert /tmp/example_file.pem \
example.com

示例 24 撤销证书

撤销发布者 example.com 的、包含散列 a12345 的证书,防止该证书验证来自 example.com 的软件包的任何签名。

$ pkg set-publisher --revoke-ca-cert a12345 example.com

示例 25 忘记针对某个证书执行的操作

使 pkg 忘记用户曾经添加或撤销了证书 a12345

$ pkg set-publisher --unset-ca-cert a12345 example.com

示例 26 将软件包降级

将安装的软件包 foo@1.1 降级到更低的版本。

$ pkg update foo@1.0

示例 27 切换发生冲突的软件包安装

当两个软件包发生冲突时,切换所安装的软件包。假定软件包 A 依赖于软件包 B 或软件包 C,而 B 和 C 是互斥的。如果安装了 A 和 B,则使用以下命令即可改为使用 C 而不是 B,且无需卸载 A:

$ pkg install --reject B C

示例 28 列出软件包归档中的软件包

列出某个软件包归档中所有软件包的所有版本。

$ pkg list -f -g /my/archive.p5p

示例 29 列出软件包系统信息库中的软件包

列出某个系统信息库中所有软件包的所有版本。

$ pkg list -f -g http://example.com:10000

示例 30 显示有关软件包归档中某个软件包的信息

显示软件包归档中某个软件包的最新版本的软件包信息。该软件包当前不一定已安装。

$ pkg info -g /my/archive.p5p pkg_name

示例 31 显示软件包归档中某个软件包的内容

显示软件包归档中某个软件包的内容。该软件包当前未安装。

$ pkg contents -g /my/archive.p5p pkg_name

示例 32 删除发布者的所有源和镜像

删除某个发布者的所有源和镜像,并添加新的源。

$ pkg set-publisher -G '*' -M '*' -g http://example.com:10000 \
example.com

环境变量

PKG_IMAGE

用于软件包操作的映像所在的目录。如果指定了 -R,则会忽略此属性。

PKG_CLIENT_CONNECT_TIMEOUT

传输操作期间尝试建立连接时等待的秒数(针对每次尝试),达到此秒数后,客户端会异常中止操作。值 0 表示无限期等待。

缺省值:60

PKG_CLIENT_LOWSPEED_TIMEOUT

传输操作期间低于 lowspeed 限制(1024 字节/秒)的秒数,达到此秒数后,客户端会异常中止操作。值 0 表示不中止运行。

缺省值:30

PKG_CLIENT_MAX_CONSECUTIVE_ERROR

客户端异常中止操作之前发生瞬态传输错误的最大次数。值 0 表示不中止运行。

缺省值:4

PKG_CLIENT_MAX_REDIRECT

在传输操作期间,异常中止某个连接之前允许的最大 HTTP 或 HTTPS 重定向次数。值 0 表示不中止运行。

缺省值:5

PKG_CONCURRENCY

要并行更新的子映像数。如果指定了 -C 选项,则会忽略此属性。

在递归检查子映像(通常为区域)时,最多可以并行更新 $PKG_CONCURRENCY 个子映像。如果 $PKG_CONCURRENCY 为 0 或负数,则并行更新所有子映像。

缺省值:1

PKG_CLIENT_MAX_TIMEOUT

客户端异常中止操作之前每台主机上的最大传输尝试次数。值 0 表示不中止运行。

缺省值:4

http_proxyhttps_proxy

HTTP 或 HTTPS 代理服务器。

退出状态

将返回以下退出值:

0

命令成功。

1

出现错误。

2

指定的命令行选项无效。

3

请求了多项操作,但只有一部分操作成功。

4

未进行更改-没有要执行的操作。

5

无法对实时映像执行请求的操作。

6

无法完成请求的操作,因为尚未接受所安装或更新的软件包的许可证。

7

该映像当前已被另一个进程使用,无法修改。

99

发生了意外的异常。

文件

可将 pkg(5) 映像放置在较大文件系统中的任意位置。在以下文件描述中,标记 $IMAGE_ROOT 用于区分相对路径。对于典型的系统安装,$IMAGE_ROOT 等效于 /

$IMAGE_ROOT/var/pkg

完整或部分映像的元数据目录。

$IMAGE_ROOT/.org.opensolaris,pkg

用户映像的元数据目录。

在特定映像的元数据中,某些文件和目录可能包含修复和恢复期间有用的信息。标记 $IMAGE_META 引用元数据所在的顶层目录。$IMAGE_META 通常是上述两个路径之一。

$IMAGE_META/lost+found

在软件包操作期间移动的有冲突目录和文件的位置。某个已删除目录的未打包内容的位置。

$IMAGE_META/publisher

为每个发布者包含一个目录。每个目录存储特定于发布者的元数据。

$IMAGE_META 目录分层结构中的其他路径是专用的,可能会进行更改。

属性

有关下列属性的说明,请参见 attributes(5):

属性类型
属性值
可用性
package/pkg
接口稳定性
Uncommitted(未确定)

另请参见

pkgsend(1)pkg.depotd(1M)glob(3C)、pkg(5)beadm(1M)

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