Sun ONE Portal Server 6.2 管理员指南 |
第 14 章
命令行实用程序Sun ONE Portal Server 在其图形用户界面之外还提供了一组命令行实用程序。
本章讨论的命令行实用程序列于表 14-1 中,它们只涉及管理任务。该表共有两列,第一列列出了命令,第二列给出了简要说明。这些命令按功能进行了分组,具体功能有:“桌面”、“重写器”和搜索。
还可以使用命令行界面 amadmin 对 Sun ONE Identity Server 进行管理。amadmin 工具的主要用途是帮助管理员在 Identity Server 上执行批量管理任务,例如,创建、注册和激活新的服务,以及创建、删除和读取(获取)组织、用户容器、组、角色和用户。有关详细信息,请参阅 Sun ONE Identity Server 6.1 Programmer's Guide。
deploy说明
deploy 命令可对 Sun ONE Portal Server 网络应用程序文件的源文件进行打包并将文件包部署到 Portal Server 软件的宿主网络容器。
Sun ONE Portal Server 的源文件存储在 /opt/SUNWps/web-src 目录中。WEB-INF/xml 子目录包含 web.xml 片段文件,可以使用 deploy 命令对这些文件进行合并,以形成与 Sun ONE Portal Server 网络应用程序相应的 web.xml 文件。web.xml 片段文件的相应部分是按 web.xml 片段文件的字母排列顺序进行合并的。一旦形成了最终的 web.xml 文件,便会使用 jar 命令将 opt/SUNWps/web-src 目录中的文件放到一个网络应用程序归档 (WAR) 文件中。该 WAR 文件通过 deploy 命令部署到网络容器。
语法
/opt/SUNWps/bin/deploy [redeploy]
子命令
deploy 命令可以带有 redeploy 子命令。如果不带 redeploy 选项调用 deploy 命令,它会提示通过标准输入输入配置信息。
redeploy
说明
redeploy 子命令指定 deploy 命令重复使用与目前部署中的 Sun ONE Portal Server 网络应用程序相关联的“统一资源指示符”(URI) 及其它信息。
语法
deploy redeploy
pdeploy说明
pdeploy 是一个命令行工具,可以用来在 Portal Server 中部署和取消部署 portlet 网络应用程序。
pdeploy 命令需要下列各项:
PDConfig.properties 文件提供有 pdeploy 命令部署 portlet 应用程序时使用的某些默认设置。该文件安装在 /etc/opt/SUNWps/portlet 目录中。
pdeploy 命令在部署 portlet 应用程序时会引用 PDConfigure.properties 文件中的下列参数:
logger.log.level=SEVERE
默认情况下,日志级别设置为 SEVERE。有效值为 ALL、OFF、INFO、WARNING、SEVERE。
logger.file.dir=/var/opt/SUNWam/debug
该参数指定所部署 portlet 应用程序日志文件的存储目录。
validate_schema=true
该参数指定是否应在部署期间执行模式验证。
语法
本部分介绍 pdeploy 命令的语法。
短名称格式
pdeploy deploy -u uid -w password {-g|-d dn} -p webcontainerpassword -V -r rolesfile -f userinfofile -v -l warfile
pdeploy undeploy -u uid -w password {-g|-d dn} -p webcontainerpassword -V -v -l warfile
长名称格式
pdeploy deploy --runasdn uid --password password {--global|--dn dn} --wc_password webcontainerpassword --rolesfile rolesfile --userinfofile userinfofile --verbose --locale warfile
pdeploy deploy --help
pdeploy deploy --version
pdeploy undeploy --runasdn uid --password password {--global|--dn dn} --wc_password password --verbose --locale portletwebapp
pdeploy undeploy --help
pdeploy undeploy --version
子命令
pdeploy 命令接受以下子命令:
deploy
说明
如果子命令为 deploy,pdeploy 命令会将 portlet 网络应用程序部署到 Portal Server 中。该命令完成后,您可以基于所部署 portlet 网络应用程序中定义的 portlet 来创建频道。
语法
pdeploy deploy -u uid -w password {-g|-d dn} -p webcontainerpassword warfile
pdeploy deploy -h|--help
选项
表 14-2 介绍了所支持的选项,其中包含两列:第一列列出了 deploy 子命令可能的选项、参数或操作数;第二列给出了简要说明。
示例
在下例中,pdeploy 命令会将 /tmp/SamplePortletApp.war 部署到 Portal Server 中。
pdeploy deploy -u “uid=amAdmin,ou=people,o=sesta.com,o=isp” -w admin -p sunone -g /tmp/SamplePortletApp.war
portlet 应用程序有时会在 portlet.xml 文件中定义逻辑角色。部署期间,需要将逻辑角色映射到系统中定义的实际角色。为达到这一目的,需提供一个角色映射文件。
角色映射文件应包含 ActualRole=LogicalRole 条目。所提供的文件必须遵循 Java 属性文件格式。例如:
cn\=HRManager,dc\=iplnaet,dc\=com=Manager
cn\=Emp,dc\=iplnaet,dc\=com=Employee
以下 pdeploy 命令将提供用于在 portlet 应用程序中部署 SamplePortletApp.war 文件的角色映射文件。
pdeploy deploy -u “uid=amAdmin,ou=People,o=sesta.com,o=isp” -w admin -p sunone -r /tmp/RoleMaps -g /tmp/SamplePortletApp.war
portlet 应用程序有时需要访问与每个用户相关的信息。在部署期间,必须将逻辑用户信息条目名映射到系统中定义的实际用户信息条目名。为在部署期间达到这一目的,可以提供用户信息条目映射。
用户信息文件应包含 ActualEntryName=LogicalEntryName 条目。例如:
lastname=lname
firstname=fname
以下 deploy 命令将提供用于在 portlet 应用程序中部署 SamplePortletApp.war 文件的用户信息文件。
pdeploy deploy -u “uid=amAdmin,ou=People,o=sesta.com,o=isp” -w admin -p sunone -f /tmp/UserInfoMaps -g /tmp/SamplePortletApp.war
undeploy
说明
undeploy 子命令会从 Portal Server 中删除 portlet 应用程序。但是,它并不会全部删除已为 portlet 网络应用程序中定义的 portlet 所创建的所有频道定义。必须手动删除与(将要删除的)portlet 网络应用程序相关联的所有频道。
语法
pdeploy undeploy -u uid -w password {-g|-d dn} -p webcontainerpassword -v portletwebapp
pdeploy undeploy -h|--help
选项
表 14-4 和表 14-5 介绍了所支持的选项,它们均包含两列:第一列列出了 undeploy 子命令可能的选项、参数或操作数;第二列给出了简要说明。
以下 pdeploy 命令会从 Portal Server 中取消部署名为 SamplePortletApp 的 portlet 网络应用程序。
pdeploy undeploy -u “uid=amAdmin,ou=People,o=sesta.com,o=isp” -w admin -g
dpadmin说明
dpadmin 命令允许使用子命令在显示配置文件文档中检索、添加、修改和删除显示配置文件对象。与显示配置文件对象的所有交互都必须以其本地 XML 格式进行。dpadmin 命令只能对单个显示配置文件文档进行操作。
dpadmin 命令需要下列各项:
- 子命令(请参阅子命令)
- 用于访问 Directory Server 的用户区别名和口令。
- 目标显示配置文件文档。用于标识全局级显示配置文件文档 LDAP 节点或 --global (-g) 选项的区别名。
语法
本部分介绍 dpadmin 命令的语法。不能在同一命令行中混合使用长名称和短名称选项。
短名称格式
$ dpadmin list|merge|modify|add|remove [command-specific options] -u uid
-w password {-g|-d dn} [-l locale] [-r] [-b] [-V] [-h] [file]$ dpadmin batch [-c] -f batch-script-filename [-l locale] [-b] [-h]
长名称格式
$ dpadmin list|merge|modify|add|remove [command-specific options] --runasdn uid --password password {--global|--dn dn} [--locale locale] [--dryrun] [--verbose] [--version] [--help] [file]
$ dpadmin --version
$ dpadmin batch [--continue] --file batch-script-filename [--locale locale] [--verbose] [--help]
子命令
dpadmin 命令接受以下子命令:
list
说明
这条子命令从指定的显示配置文件文档中检索指定的显示配置文件节点对象。如果未指定任何显示配置文件节点对象,则会检索整个显示配置文件文档。显示配置文件对象以其本地 XML 格式显示于标准输出。
list 子命令接受以下选项:
- 用于访问 LDAP 数据库的管理员区别名和口令,分别使用 -u 或 --runasdn 和 -w 或 --password 选项给出。这些选项是必需的。
- 要显示的显示配置文件节点对象的名称,使用 -n 或 --name 选项给出。
- 要显示的显示配置文件节点对象,该对象是由与全局级节点相应的 -g 或 --global 选项或指定了特定非全局级节点的 -d 或 --dn 选项定义的。-g 或 -d 选项,二者必居其一。如果未在命令中指定 -n 或 --name 选项,它会显示整个显示配置文件文档。-g 或 --global 选项显示整个根显示配置文件文档。
语法
$ dpadmin list -u|--runasdn uid -w|--password password {(-g|--global)|(-d|--dn dn)} [-n|--name name]
$ dpadmin list -h|--help
选项
表 14-6 包含两列:第一列列出了 list 子命令可能的选项、参数或操作数;第二列给出了简要说明。支持下列选项:
示例
例 1
$ dpadmin list -n TemplateTableContainer -u "uid=amAdmin,ou=people,dc=org,dc=com" -w joshua -d "dc=org,dc=com"
本例从 dc=org,dc=com 组织节点获取指定的 TemplateTableContainer 并将其打印至标准输出。
例 2
$ dpadmin list -n mailcheck -u "uid=amAdmin,ou=people,dc=org,dc=com" -w joshua -g
本例转到全局级只是为了获取 mailcheck,如果找到了,会将其打印至标准输出。
例 3
$ dpadmin list -n TemplateTableContainer/Bookmark2 -u "uid=amAdmin,ou=people,dc=org,dc=com" -w joshua -d "dc=org,dc=com"
本例将获取位于容器 TemplateTableContainer 中名为 Bookmark2 的频道并将其打印至标准输出。
merge
说明
这条子命令检索并显示指定 DP 节点对象的合并结果。对象以其本地 XML 格式显示。会将要显示的对象发送至标准输出。如果不使用 -n 或 --name 选项,则会报告错误。
merge 命令接受下列参数:
--name 或 -n
name 参数指定要显示的 DP 容器、频道或提供者对象的全限定名称。如果缺少 name 参数,则会显示整个 DP 文档。如果 name 参数未指明 DP 节点对象,则会报告错误。
示例
$ dpadmin list -n “Bookmark” \
-u “uid=amAdmin,ou=People,dc=iplanet,dc=com” -w joshua \
-d “dc=iplanet,dc=com”
<Channel name=”Bookmark” provider=”BookmarkProvider”>
<Properties merge=”fuse” lock=”false” name=”_properties”>
<String name=”title” value=”My Bookmarks” merge=”replace” lock=”false”/>
<String name=”refreshTime” value=”600” merge=”replace” lock=”false”/>
<Collection name=”targets” merge=”fuse” lock=”false”>
<String value=”Sun home page|http://www.sun.com” merge=”replace” lock=”false”/>
<String value=”Everything you want to know about Sun ONE ...|http://www.sun.com/software/products/portal_srvr/home_portal.html” merge=”replace” lock=”false”/>
<String value=”Sun ONE home page|http://www.sun.com/software” advanced=”false” merge=”replace” lock=”false”/>
</Collection>
</Properties>
</Channel>
$ dpadmin list -n “Bookmark” \
-u “uid=amAdmin,ou=People,dc=iplanet,dc=com” -w joshua \
-d “cn=HR Role,dc=iplanet,dc=com”
<Channel name=”Bookmark” provider=”BookmarkProvider”>
<Properties merge=”fuse” lock=”false” name=”_properties”>
<String name=”title” value=”HR Admin Bookmarks” merge=”replace” lock=”false”/>
<Collection name=”targets” merge=”fuse” lock=”false”>
<String value=”HR Admin home page|http://hr.acme.com” merge=”replace” lock=”false”/>
</Collection>
</Properties>
</Channel>
$ dpadmin merge -n “Bookmark” \
-u “uid=amAdmin,ou=People,dc=iplanet,dc=com” -w joshua \
-d “uid=hradmin,ou=people,dc=iplanet,dc=com”
<Channel name=”Bookmark” provider=”BookmarkProvider”>
<Properties merge=”fuse” lock=”false” name=”_properties”>
<String name=”title” value=”HR Admin Bookmarks” merge=”replace” lock=”false”/>
<Collection name=”targets” merge=”fuse” lock=”false”>
<String value=”Sun home page|http://www.sun.com” merge=”replace” lock=”false”/>
<String value=”Everything you want to know about Sun ONE ...|http://www.sun.com/software/products/portal_srvr/home_portal.html” merge=”replace” lock=”false”/>
<String value=”Sun ONE home page|http://www.sun.com/software” advanced=”false” merge=”replace” lock=”false”/>
<String value=”HR Admin home page|http://hr.acme.com” merge=”replace” lock=”false”/>
</Collection>
<Collection name=”GlobalThemes” merge=”fuse” lock=”false”>
<Collection name=”theme1” merge=”fuse” lock=”false”>
<String name=”description” value=”Sun ONE” merge=”replace” lock=”false”/>
...
</Collection>
</Collection>
<Collection name=”locales” merge=”fuse” lock=”false” propagate=”true” advanced=”false”>
<String name=”en_US” value=”English (United States)” merge=”replace” lock=”false”/>
</Collection>
<String name=”docroot” value=”/docs/” merge=”replace” lock=”false”/>
<String name=”helpURL” value=”desktop/usedesk.htm” merge=”replace” lock=”false”/>
</Properties>
</Channel>
这是用户 hradmin 的“书签”频道的合并结果,该用户被分配到 HR Role 角色。
注意
merge 子命令的输出结果为聚集结果,这表示将会列出所有可用的 DP 对象。例如,诸如 GlobalThemes 和 locales 等属性虽然未在“书签”定义中明确定义,但它们仍会在输出结果中出现,因为这些属性是从“书签”频道的一个或多个父项中合并进来的。
modify
说明
这条子命令会更改现有显示配置文件对象的值。提供给 dpadmin modify 命令的数据或者来自一个或多个输入文件,或者来自标准输入(跟在命令后的 XML 片段)。
该 XML 数据始终都需要一个适当的 XML 标题和一个名称,后者唯一定义了要修改的显示配置文件对象。下例给出了一个适当的 XML 标题:
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<!DOCTYPE DisplayProfile SYSTEM "jar://resources/psdp.dtd">
modify 子命令的语义会随着将要修改的显示配置文件对象的类型而变化。当指定了 combine 选项时,显示配置文件对象中的新元素(如属性)将会与现有元素合并在一起而不是替换它们。modify 子命令有下列变化形式:
- 属性 - 可将显示配置文件对象的属性更改为新的值。要修改显示配置文件对象的属性,parent 选项是必需的。此时会在指定父项下搜索与指定名称相匹配的显示配置文件节点(频道或容器)或显示配置文件提供者对象。如果找到了这样的节点或对象,会用新的显示配置文件对象来替换该对象的属性对象。当指定了 combine 选项时,会将现有属性与新的显示配置文件对象合并在一起。
- “可用”或“选定”- 可以用新的显示配置文件对象来替换容器中的“可用”或“选定”列表。要修改此种类型的显示配置文件对象,parent 选项是必需的。此时会搜索与父项名称相匹配的显示配置文件容器。然后用新的显示配置文件对象来替换“选定”或“可用”对象。当指定了 combine 选项时,会将现有“选定”或“可用”对象与新的显示配置文件对象合并在一起。
- “字符串”、“布尔型”、“整型”、“集合”或“语言环境”- 可以用新的显示配置文件对象属性来替换显示配置文件对象中的“字符串”、“布尔型”、“整型”、“集合”或“语言环境”属性。
如果指定了 parent 选项,会(先后)搜索与指定名称相匹配的显示配置文件节点(频道或容器)或显示配置文件提供者。如果已找到,将会搜索与新属性名称相匹配的属性。如果已找到,会用新的显示配置文件对象属性来替换显示配置文件对象中的属性。
如果缺少 parent 选项,则使用显示配置文件根节点,并在根节点处替换该属性。
当指定了 combine 选项时,会将现有“集合”或“语言环境”对象与新的显示配置文件对象合并在一起。最小基本显示配置文件属性(如“字符串”、“布尔型”和“整型”)不支持 combine 选项。
最小基本显示配置文件属性(如“字符串”、“布尔型”和“整型”)不需要命名。如果未命名,则假定名称等同于该值的字符串表示。例如,下列两个显示配置文件整型对象相等:
<Integer value="3"/>
<Integer name="3" value="4"/>
modify 子命令接受以下选项:
- 用于访问 LDAP 数据库的管理员区别名和口令,分别使用 -u 或 --runasdn 和 -w 或 --password 选项给出。这些选项是必需的。
- 要修改的显示配置文件节点对象,该对象是由与全局级节点相应的 -g 或 --global 选项或指定了特定非全局级节点的 -d 或 --dn 选项定义的。-g 或 -d 选项,二者必居其一。
- XML 输入所属文件的名称,使用 file 参数给出。该参数是可选的。如果未使用该参数,XML 输入预期将来自标准输入。
- 要修改的显示配置文件对象的父项的全限定名称,使用 -p 或 --parent 选项给出。
- -m 或 --combine 选项会对显示配置文件对象进行合并。
语法
$ dpadmin modify -u|--runasdn uid -w|--password password {(-g|--global)|(-d|--dn dn)} [-p|--parent parent] [-m|--combine] file|<<EOF
$ dpadmin modify -h|--help
选项
表 14-7 包含两列:第一列列出了 modify 子命令可能的选项、参数或操作数;第二列给出了简要说明。支持下列选项:
示例
例 1
$ dpadmin modify -p TemplateTableContainer -u "uid=amAdmin,ou=people,dc=org,dc=com" -w joshua -d "dc=org,dc=com" <<EOF
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<!DOCTYPE DisplayProfile SYSTEM "jar://resources/psdp.dtd">
<Channel name="NewNews" provider="newsprovider">
<Properties>
<String name="title" value="News Channel"/>
<String name="description" value="This channel is all about news"/>
</Properties>
</Channel>
EOF
在本例中,用标准输入中指定为 XML 文本的值来修改(替换)容器 TemplateTableContainer 中名为 NewNews 的频道。
例 2
$ dpadmin modify -p TemplateTableContainer/NewNews -u "uid=amAdmin,ou=people,dc=org,dc=com" -w joshua -d "dc=org,dc=com" farble.xml
本例在频道 NewNews 中,用 farble.xml 文件中的新对象来替换文件 farble.xml 中指定的属性,其中 farble.xml 包含以下内容:
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<!DOCTYPE DisplayProfile SYSTEM "jar://resources/psdp.dtd">
<String name="welcome" value="Hi, welcome to farble land!!!!"/>
例 3
$ dpadmin list -n TemplateTableContainer -u "uid=amAdmin,ou=people,dc=org,dc=comp" -w joshua -d "dc=org,dc=com"
...
<Collection name="news">
<Collection name="bar">
<String name="msg" value="hi"/>
</Collection>
</Collection>
...
$ dpadmin modify -p TemplateTableContainer -u "uid=amAdmin,dc=org,dc=com" -w joshua -d "dc=org,dc=com" -m <<EOF
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<!DOCTYPE DisplayProfile SYSTEM "jar://resources/psdp.dtd">
<Collection name="news">
<Collection name="bar">
<String name="msg2" value="woo hoo"/>
</Collection>
</Collection>
EOF
$ dpadmin list -n TemplateTableContainer -u "uid=amAdmin,dc=org,dc=com" -w joshua -d "dc=org,dc=com"
...
<Collection name="news">
<Collection name="bar">
<String name="msg" value="hi"/>
<String name="msg2" value="woo hoo"/>
</Collection>
</Collection>
...
本例使用 combine 选项,将名为 "msg2" 的新属性添加到名为 "bar" 的集合中。注意,现有属性 "msg" 仍留在结果中。
例 4
$ dpadmin list -n test -u "uid=amAdmin,ou=people,dc=org,dc=com" -w joshua -d "dc=org,dc=com"
<Container name="test" provider="testprovider">
<Properties>
<String name="title" value="test"/>
</Properties>
<Available/>
<Selected/>
<Channels>
<Channel name="test1" provider="test1provider">
<Properties>
<Collection name="news">
<String name="msg1" value="blah"/>
<Collection name="bar">
<String name="msg2" value="hi"/>
</Collection>
</Collection>
</Properties>
</Channel>
</Channels>
</Container>
$ dpadmin modify -u "uid=amAdmin,ou=people,dc=org,dc=com" -w joshua -d "dc=org,dc=com" -m <<EOF
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<!DOCTYPE DisplayProfile SYSTEM "jar://resources/psdp.dtd">
<Container name="test" provider="testprovider">
<Properties>
<String name="title" value="Test Container"/>
</Properties>
<Available>
<Reference value="test1"/>
</Available>
<Selected>
<Reference value="test1"/>
</Selected>
<Channels>
<Channel name="test1" provider="test1provider">
<Properties>
<Collection name="news">
<String name="msg1" value="123"/>
<Collection name="bar">
<String name="msg3" value="123/>
</Collection>
</Collection>
</Properties>
</Channel>
</Channels>
</Container>
EOF
$ dpadmin list -n test -u "uid=amAdmin,ou=people,dc=org,dc=com" -w joshua -d "dc=org,dc=com"
<Container name="test" provider="testprovider">
<Properties>
<String name="title" value="Test Container"/>
</Properties>
<Available>
<Reference value="test1"/>
</Available>
<Selected>
<Reference value="test1"/>
</Selected>
<Channels>
<Channel name="test1" provider="test1provider">
<Properties>
<Collection name="news">
<String name="msg1" value="123"/>
<Collection name="bar">
<String name="msg2" value="hi"/>
<String name="msg3" value="123"/>
</Collection>
</Collection>
</Properties>
</Channel>
</Channels>
</Container>
本例用新值来替换 "title" 和 "msg1" 的值。Available 和 Selected 都添加了一个 Reference value。"news" 集合中增添了 "msg3"。本例说明,可在必要时与 modify 子命令一同使用 -m 或 -combine 选项来进行合并和替换。
例 5
$ dpadmin list -n test \
-u "uid=amAdmin,ou=People,dc=iplanet,dc=com" -w joshua \
-d "dc=iplanet,dc=com"
<Channel name="test" provider="testprovider">
<Properties>
<Collection name="foo">
<String name="foo1" value="bar"/>
</Collection>
</Properties>
</Channel>
$ dpadmin modify -p test \
-u "uid=amAdmin,ou=People,dc=iplanet,dc=com" -w joshua \
-d "dc=iplanet,dc=com" -m <<EOF
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<!DOCTYPE DisplayProfile SYSTEM "jar://resources/psdp.dtd">
<ConditionalProperties condition="client" value="nokia">
<Collection name="foo">
<String name="foo1" value="nokia bar"/>
</Collection>
</ConditionalProperties>
EOF
$ dpadmin list -n test \
-u "uid=amAdmin,ou=People,dc=iplanet,dc=com" -w joshua \
-d "dc=iplanet,dc=com"
<Channel name="test" provider="testprovider">
<Properties>
<Collection name="foo">
<String name="foo1" value="bar"/>
</Collection>
<ConditionalProperties condition="client" value="nokia">
<Collection name="foo">
<String name="foo1" value="nokia bar"/>
</Collection>
</ConditionalProperties>
</Properties>
</Channel>
$ dpadmin modify -p test \
-u "uid=amAdmin,ou=People,dc=iplanet,dc=com" -w joshua \
-d "dc=iplanet,dc=com" -m <<EOF
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<!DOCTYPE DisplayProfile SYSTEM "jar://resources/psdp.dtd">
<ConditionalProperties condition="client" value="nokia">
<ConditionalProperties condition="locale" value="en">
<String name="abc" value="nokia en abc"/>
</ConditionalProperties>
</ConditionalProperties>
EOF
$ dpadmin list -n test \
-u "uid=amAdmin,ou=People,dc=iplanet,dc=com" -w joshua \
-d "dc=iplanet,dc=com"
<Channel name="test" provider="testprovider">
<Properties>
<Collection name="foo">
<String name="foo1" value="bar"/>
</Collection>
<ConditionalProperties condition="client" value="nokia">
<Collection name="foo">
<String name="foo1" value="nokia bar"/>
</Collection>
<ConditionalProperties condition="locale" value="en">
<String name="abc" value="nokia en abc"/>
</ConditionalProperties>
</ConditionalProperties>
</Properties>
</Channel>
本例使用 Combine 选项来添加条件属性。
add
说明
这条子命令可将新的显示配置文件对象添加到显示配置文件中。该子命令要求显示配置文件中不存在要添加的对象。add 子命令可从标准输入或从指定为命令参数的一个或多个文件中为新对象读取数据。新对象的数据必须为 XML 并且要与 Sun ONE Portal Server 显示配置文件 DTD 一致。
该 XML 数据始终都需要一个合适的 XML 标题和一个名称,后者唯一定义了要修改的显示配置文件对象。下例给出了一个适当的 XML 标题:
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<!DOCTYPE DisplayProfile SYSTEM "jar://resources/psdp.dtd">
注意
附录 B 中包含有显示配置文件 DTD。
add 子命令的语义会随着将要添加的显示配置文件对象的类型而变化。如下所示:
- 显示配置文件 - 可将整个显示配置文件文档添加到指定的 LDAP 节点。如果此文档在该节点已存在,则会报告错误。添加新显示配置文件文档时,不必指定 parent 选项。
- “频道”或“容器”- 可以添加频道或容器。如果存在 parent 选项,会查找具有给定名称的父显示配置文件对象,并在该父容器下添加指定的“频道”或“容器”。如果缺少 parent 选项,则会假定父显示配置文件对象为根显示配置文件对象,进而在根下添加指定的“频道”或“容器”对象。
- 属性 - 由于所有显示配置文件节点和显示配置文件提供者对象都需要一个属性包,所以属性已经存在,不能再进行添加。请使用 modify 子命令。
- “可用”或“选定”- 由于“可用”和“选定”对象对于显示配置文件容器而言是必需的,所以它们已经存在,不能再进行添加。请使用 modify 子命令。
- “字符串”、“布尔型”、“整型”、“集合”或“语言环境”- 可以添加显示配置文件对象的“字符串”、“布尔型”、“整型”、“集合”或“语言环境”属性。要添加这种类型的显示配置文件对象属性,必须指定 parent 选项。此时会在指定父项下(先后)搜索与该名称相匹配的显示配置文件节点(频道或容器)或显示配置文件提供者。如果已找到,会将给定的显示配置文件属性添加至显示配置文件节点或显示配置文件提供者。
add 子命令接受以下选项:
- 用于访问 LDAP 数据库的管理员区别名和口令(分别对应于 -u 或 --runasdn 和 -w 或 --password 选项)。这些选项是必需的。
- 要添加的显示配置文件文档,或必须在其中添加对象的显示配置文件文档(-d 或 --dn 选项)。要添加的显示配置文件对象,该对象是由与全局级节点相应的 -g 或 --global 选项定义的。-g 或 -d 选项,二者必居其一。
- XML 输入所属文件的名称(file 参数)。
- 显示配置文件节点对象将被添加到的父项的全限定名称(-p 或 --parent 选项)。
语法
$ dpadmin add -u|--runasdn uid -w|--password password {(-g|--global)|(-d|--dn dn)} [-p|--parent parent] file|<<EOF
$ dpadmin add -h|--help
选项
表 14-8 包含两列:第一列列出了 add 子命令可能的选项、参数或操作数;第二列给出了简要说明。支持下列选项:
示例
$ dpadmin add -p SampleTabPanelContainer/Postal -u "uid=amAdmin,ou=people,o=sesta.com,o=isp" -w joshua -d "o=sesta.com,o=isp" <<EOF
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<!DOCTYPE DisplayProfile SYSTEM "jar://resources/psdp.dtd">
<Collection name="zipCodes">
<Integer value="98012"/>
<Integer value="98036"/>
<Integer value="94025"/>
<Integer value="95112"/>
</Collection>
EOF
在本例中,该命令将标准输入中指定的名为 "zipCodes" 的集合属性添加至名为 SampleTabPanelContainer 的容器中的名为 Postal 的频道。
remove
说明
这条子命令会从显示配置文件中删除现有显示配置文件对象。如果要删除的对象在指定的显示配置文件文档中不存在,则会报告错误。这条子命令接受 type、parent 和 name 选项。
type 选项指定要删除的显示配置文件对象的类型。parent 选项指定要从中删除显示配置文件对象的父显示配置文件对象的全限定名称。父显示配置文件对象类型会随着将要删除的显示配置文件对象的类型而变化。name 选项指定要删除的对象的名称。
parent 和 name 选项的语义会随着将要删除的显示配置文件对象的类型而变化。表 14-9 包含两列:第一列列出了 type 选项可能的值;第二列对删除的确切内容作了简要说明。
remove 子命令接受以下选项:
- 用于访问 LDAP 数据库的管理员区别名和口令,分别使用 -u 或 --runasdn 和 -w 或 --password 选项给出。这些选项是必需的。
- 要删除的显示配置文件节点对象的名称,使用 -n 或 --name 选项给出。该选项是必需的,除非 type=root。
- 包含要删除对象的显示配置文件文档所在的 LDAP 数据库中的显示配置文件文档节点,使用 -d (--dn) 或 -g (--global) 选项给出。-d (--dn) 或 -g (--global) 选项,二者必居其一。
- 要删除的显示配置文件节点对象的类型,使用 -t 或 --type 选项给出。该选项是必需的。
- 要删除的显示配置文件节点对象的父项的全限定名称,使用 -p 或 --parent 选项给出。
语法
$ dpadmin remove -u|--runasdn uid -w|--password password {(-g|--global)|(-d|--dn dn)} [-n|--name name] [-p|--parent parent] -t|--type type
$ dpadmin remove -h|--help
选项
表 14-10 包含两列:第一列列出了 remove 子命令可能的选项、参数或操作数;第二列给出了简要说明。支持下列选项:
示例
例 1
$ dpadmin remove -t property -p Bookmarks -n locations -u "uid=amAdmin,ou=people,o=sesta.com,o=isp" -w joshua -d "o=sesta.com,o=isp"
在本例中,命令从名为 Bookmarks 的频道或容器中删除名为 locations 的属性。
例 2
$ dpadmin remove -t provider -n "pctest" -u "uid=amAdmin,ou=people,o=sesta.com,o=isp" -w joshua -g
从全局显示配置文件中删除提供者 pctest
例 3
$ dpadmin remove --type channel --parent TemplateTableContainer --name "Test" --runasdn "uid=amAdmin,ou=people,o=sesta.com,o=isp" --password joshua --dn "o=sesta.com,o=isp"
在本例中,命令会删除名为 TemplateTableContainer 的父容器中的名为 Test 的频道。
例 4
$ dpadmin list -n X -u "uid=amAdmin,ou=people,o=sesta.com,o=isp" -w joshua -d "o=sesta.com,o=isp"
<Container name=”X” ...>
<Channels>
<Container name=”Y” ...>
<Channels>
<Channel name=”z” .../>
</Channels>
</Container>
</Channels>
</Container>
要删除频道 z,可以执行以下任一命令:
$ dpadmin remove -t channel -p X -n Y/z -u "uid=amAdmin,ou=people,o=sesta.com,o=isp" -w joshua -d "o=sesta.com,o=isp"
$ dpadmin remove -t channel -p X/Y -n z -u "uid=amAdmin,ou=people,o=sesta.com,o=isp" -w joshua -d "o=sesta.com,o=isp"
$ dpadmin remove -t channel -n X/Y/z -u "uid=amAdmin,ou=people,o=sesta.com,o=isp" -w joshua -d "o=sesta.com,o=isp"
batch
说明
batch 子命令能够以优化方式处理多个显示配置文件命令。这些子命令列于批处理脚本文件中(必需),连续执行。如果出现错误,默认做法是报告错误而后退出。-c 或 --continue 选项指示采用连续处理模式。在这种模式下,出现错误时先报告错误,然后 dpadmin 会继续执行下一条子命令。
命令批处理脚本必须是文本 (ASCII) 文档,可以包含任意多条要输入到 dpadmin 中的子命令,但不能包含 batch 子命令。子命令必须在单行输入(换行符表示命令结束)。对于每条子命令,必须在命令行中指定管理员的区别名和口令。子命令的语法与直接在命令外壳中输入子命令完全一样(不带 dpadmin 部分)。脚本不能包含 XML,因此需要 XML 输入的子命令必须通过文件来获得它。如果区别名(或 DN)包含空格,要在其两旁加上双引号。
下面是批处理脚本文件的示例(每条命令占一行):
add -p PostalMailer -u uid=amAdmin,ou=People,dc=iplanet,dc=com -w joshua -d dc=iplanet,dc=com zipCodes.xml
add -p PostalStamps -u uid=amAdmin,ou=People,dc=iplanet,dc=com -w joshua -d dc=iplanet,dc=com zipCodes.xml stampRates.xml
add -p PostalRates -d "cn=hr role,dc=iplanet,dc=com" zipCodes.xml stampRates.xml
batch 子命令接受 -c 或 --continue 选项并且需要使用 -f 或 --file 指定批处理脚本文件名。
语法
$ dpadmin batch [-c|--continue] -u|--runasdn uid -w|--password password -f|--file batch-script-file
$ dpadmin batch -h|--help
选项
表 14-11 包含两列:第一列列出了 batch 子命令可能的选项、参数或操作数;第二列给出了简要说明。支持下列选项:
选项
表 14-12 对 dpadmin 命令进行了总结。此表是按副标题中列出的子命令进行组织的。它包含两列:第一列列出了可能的选项、参数或操作数;第二列给出了简要说明。支持下列选项:
par说明
par 命令所执行的功能涉及指定的 .par 文件。该命令可用于向 Sun ONE Portal Server 导出或从中导入频道或提供者。
语法
本部分介绍 par 命令的语法。建议不要在同一命令行中混合使用长名称选项和短名称选项。
短名称格式
par containers -r uid -p password [-d] dn|global
par describe [-d] parfile
par export -r uid -p password [-m] [-d] -s staticdir [-v] parfile dn|global {exportfile|from=}...
par import -r uid -p password [-o] [-d] -s staticdir [-v] parfile [dn|global [op...]]
par import -r uid -p password -a [-d] -s staticdir [-v] parfile [dn|global]
长名称格式
par containers --runasdn uid --password password [--debug] dn|global
par describe [--debug] parfile
par export --runasdn uid --password password [--modify] [--debug] --staticdir staticdir [--verbose] parfile dn|global {exportfile|from=}...
par import --runasdn uid --password password [--overwrite] [--debug] --staticdir staticdir [--verbose] parfile [dn|global [op...]]
par import --runasdn uid --password password --auto [--debug] --staticdir staticdir [--verbose] parfile [dn|global]
子命令
支持下列子命令:
containers
说明
列出特定显示配置文件文档中的所有可用容器和频道,该文档由指定的 Directory Server 名称(或 global)指出。可以使用这个子命令作为一种辅助手段来形式化说明其它命令。
语法
par containers -r|--runasdn uid -p|--password password [-d|--debug] [-v|--verbose] dn|global
示例
par containers -r "uid=amAdmin,ou=people,o=sesta.com,o=isp" -p joshua -d "o=sesta.com,o=isp"
在本例中,命令会列出驻留于 LDAP 节点 "o=sesta.com,o=isp" 的显示配置文件文档中的所有可用容器。
describe
说明
说明指定 .par 文件的内容,包括条目以及为这些条目定义的任何内置自动提取操作。
语法
par describe parfile
示例
par describe myfile.par
在本例中,myfile.par 的命令输出或说明可能与以下内容相仿:
export
说明
用从 Portal Server 中导出的提供者或频道信息来填写指定的 .par 文件。此命令需要一个 .par 文件、一个与想要更新的显示配置文件文档相对应的 Directory Server 名称参数(或关键字 global),以及任意数目(至少需要一个)的 exportfile 或 from 说明项。from 说明项包含的信息与导出文件完全相同;唯一的区别是“行”之间是用分号分开的。
不带 -m 选项的 par export 命令会创建一个 .par 文件。带有 -m 选项的 par export 命令用于更新已有的 .par 文件和/或向其中添加内容,该文件定义了提供者、频道或容器。
语法
par export -r|--runasdn uid -p|--password password [-d|--debug] -s|--staticdir staticdir [-v|--verbose] parfile dn|global {exportfile|from=}...
par export -r|--runasdn uid -p|--password password [-d|--debug] -s|--staticdir staticdir [-v|--verbose] -m|--modify parfile dn|global {exportfile|from=}...
示例
par export -r "uid=amAdmin,ou=people,dc=sesta,dc=com" -p joshua mychannel.par "o=sesta.com,o=isp" myexport.txt
这里,myexport.txt 包含以下内容:
from:channel mychannel
directory:templateBaseDir . mychannel
description:this is my JSP based channel
在本例中,命令会从 "dc=sesta,dc=isp" dn 中将 mychannel 的频道定义和模板文件导出到 mychannel.par 中。另外,如果该频道是 JSPProvider 频道,directory 行还会传送所有 .jsp 文件,包括语言环境特定的版本。
import
说明
将对象从指定的 .par 文件导入到 Portal Server 中。此命令接受的选项有:一个 .par 文件,与要将对象导入到 Directory Server 中的所示显示节点的显示配置文件文档(或用关键字 global 指示的根显示配置文件)相应的可选参数,以及要执行的操作。如果未指定这些内容,将会从 .par 文件中来提取。auto 选项可以用来指示您只希望执行 .par 文件中已包含的自动提取操作。
如果要添加新的频道,可以使用带有或不带 -o 选项的 par import 命令。如果频道已存在,必须在 par import 命令中使用 -o 选项来完全替换(覆盖)原有频道。可以使用这条子命令导入提供者以及频道。
语法
par import -r|--runasdn uid -p|--password password [-o] [-d|--debug] -s|--staticdir staticdir [-v|--verbose] parfile [dn|global [op...]]
par import -r|--runasdn uid -p|--password password -a|--auto [-d|--debug] -s|--staticdir staticdir [-v|--verbose] parfile [dn|global]
示例
例 1
par import -r "uid=amAdmin,ou=people,o=sesta.com,o=isp" -p joshua --auto myfile.par "o=sesta.com,o=isp"
在本例中,命令会从 myfile.par 文件中提取频道,前提是在 myfile.par parfile 中定义了此项自动操作。
例 2
par import -r "uid=amAdmin,ou=people,o=sesta.com,o=isp" -p joshua myfile.par "o=sesta.com,o=isp" "entry=mychannel,channel=anothername,avail=topcontainer"
在本例中,命令会显式地提取频道,同时以不同的名称将其安装到目标 dn 中,使其在容器 topcontainer 中可用。
选项
表 14-13 包含两列:第一列列出了 par 命令可能的选项;第二列给出了简要说明。该命令支持下列选项(按字母顺序列出):
表 14-13 par 命令选项
选项
说明
-a 或 --auto
与 import 命令一起使用,以应用来自 .par 文件中的自动提取操作。此时,不能在命令行中指定任何操作。但仍可以指定 dn 参数;如果指定了该参数,它会替换自动提取操作中的 dn。如果在命令行中指定了操作,它们将被忽略。
-d --debug
指定该选项可在错误消息中产生附加调试消息。
-m 或 --modify
与 export 命令一起使用,以更新现有 .par 文件而不是替换它。将会用条目新增的所有文件来补充或替换原有文件。另外,使用该命令还可以通过 .par 文件为现有提供者或频道添加新文件。
-o 或 --overwrite
与 import 命令一起使用,以替换现有频道。
-p 或 --password
指定验证时用的口令。除 describe 之外,该选项对于所有子命令都是必需的。如果未指定,par 实用程序会对此予以提示。
-r 或 --runasdn
指定验证时用的用户区别名。除 describe 之外,该选项对于所有命令都是必需的。如果未提供,par 实用程序会对此予以提示。使用格式为 uid=userName,ou=people,o=organizationName,o=organizationalUnit
-s 或 --staticdir
定义用于导入或导出的静态内容目录的主机特定目录。
-v 或 --verbose
在执行操作时对其进行说明。与 import 和 export 命令一起使用。
-V 或 --version
为 par 指定该选项会向标准输出打印有关此实用程序的说明信息,如版本、法律声明以及其它类似信息。该选项存在时,会忽略任何子命令和其它所有选项。
-?
获取任意子命令的帮助信息。
参数
表 14-14 包含两列:第一列列出了 par 命令可能的参数;第二列给出了简要说明。该命令接受下列参数:
表 14-14 par 命令参数
参数
说明
dn
指定 Directory Server 中要访问的区别节点。使用格式为 "o=organizationName,o=organizationalUnit"
global
指定 LDAP 中用于访问显示配置文件文档的全局级节点。
exportfile
这些文件分别对应于 .par 文件中的一个条目(提供者、频道或提供者/频道组合),它们只指定了要插入到指定 .par 文件中的数据。如果信息太大无法在命令行中列出,可以将信息放到一个小型文件中。有关详细信息,请参阅导出文件。
from
在命令行中指定,采用该选项等效于包含“from”行的导出文件,其后跟有等号(“=”)以及用分号(“;”)分隔的其它各行。有关行属性的详细信息,请参阅表 14-15 中的 from。
op
指定要执行的操作。有关详细信息,请参阅操作。
parfile
指定要对其进行操作的 par 文件;即指出要导入、导出或说明的 par 文件。
导出文件
这些文件只指定要插入到 .par 文件中的数据。文件由若干行组成,每行包含一个关键字,其后跟有一个冒号以及若干用空白字符隔开的字段。“from:”行是必需的,并且它必须为文件的首行。以“#”开头的行被视为注释行。
表 14-15 包含两列:第一列列出了可能的行关键字;第二列给出了简要说明。
表 14-15 导出文件行属性
行
说明
from:types name
“from”指示将要导出的实体。types 可以是“channel”、“provider”或“channel,provider”和“channel+provider”。name 指示频道名称或提供者名称(如果将要导出的是提供者)。如果名称含有空白 (+)、逗号 (%2C)、冒号 (%3A)、分号 (%3B)、加号 (%2B) 或百分号 (%25),则 name 必须为编码 URL。
auto:none
“auto”指定对进行条目自动提取操作。它接受 op 参数,该参数跟在操作后面。还可以输入“none”来禁止自动提取。如果未指定“auto:”行,则会产生默认的自动提取操作。默认操作是提取具有原始名称的频道和/或提供者。
auto:op
file:root|. path [types]
“file”指示要基于某项属性设置加入一个文件。此属性或者可以来自“桌面属性”文件,该文件默认位于 /etc/opt/SUNWps/desktop/desktopconfig.properties 文件中,或者可以来自 getProperty() 调用可见的显示配置文件,该调用针对的是将要导出或导入的项目。root 指定文件位置的根,path 指定文件的其余路径。root 是与目录(类似项)相对应的属性名。如果给定 root 为“.”,则会假定文件为位于Web 服务器文档根处的静态内容。还可以指定要与文件关联的操作类型,默认为“channel”。types 可以是“channel”、“provider”或“channel,provider”和“channel+provider”。
class:class [types]
“class”指示要将类文件与条目包裹在一起,可选地,您还可以指定与类文件相关联的操作类型。如果未指定,则会采用“provider”。types 可以是“channel”、“provider”或“channel,provider”和“channel+provider”;另外,还可以使用空格同时指定二者。
directory:root|. dir +|.|filter [types]
“directory”表示用将要加入的所有非目录文件搜索整个目录,就像这些文件是以“file”行形式输入的。它还具有指定“filter”的能力,后者是进行递归目录搜索时必须提供的目录成分。root 指定目录的根,或者可用“.”来表示静态内容。dir 是根下的起始搜索目录,如果给定该目录为“.”,将会从根自身开始搜索。filter 指定目录中必须存在的过滤成分,这表示将要进行递归下降搜索。可将其给定为“+”来进行无过滤递归下降搜索,如果给定为“.”,则不进行递归下降搜索(只是实际目录的内容)。还可以指定操作类型,默认为“channel”。types 可以是“channel”、“provider”或“channel,provider”和“channel+provider”。
entry:name
“entry”指定在 .par 文件中使用的条目名称。如果未指定,则它默认为“from:”行中的名称。
desc:text
可以出现任意多个“desc”行,将这些行连接起来就成为用户可见的说明,该说明与条目包裹在一起。
操作
必须将导出文件或命令行中的每项操作 (op) 指定为以逗号分隔的关键字列表形式,关键字可以有值,其中大多数是可选的。操作位于以空白或空格分隔的列表中。每项操作均采用以下格式。
dpnode=dn,entry=name,provider[=name],channel[=name],container=name[,avail=name,selected]
dpnode
该项指定 Directory Server(或关键字 global)中与本操作所针对的显示配置文件文档相应的区别名。如果目前指定该名称时所在的环境已提供了此名称,则该项有可能不起作用。例如,如果 import 子命令定义了区别名,则会忽略文件中的区别名。
entry
该项指定 .par 文件中的条目名称。该项在下列情况下不需要:
如果未指定条目,par 实用程序默认作用于文件中的第一个条目。
provider
该项指示要进行提供者提取操作。如果缺少名称,它便会使用与 .par 文件中的提供者包裹在一起的名称。
channel
该项指示要进行频道提取操作。如果缺少名称,它便会使用与 .par 文件中的频道包裹在一起的名称。
container
该项只适用于频道提取,指示要将频道插入到哪个容器中。如果省略,则会将频道插入到显示配置文件文档根处的“频道”元素中。
avail
该项只适用于频道提取,指示哪个容器的“avail”(可用)列表将要接收新频道的引用。如果省略,则不创建新频道引用。
selected
该项仅在使用了“avail”时才适用。它指示“avail”列表收到引用的容器还在其“selected”列表中放置了一个引用。
当 par import 命令和 .par 文件中均有 op 信息时,命令信息优先。
Par 文件
本部分包含有关 par 文件格式的补充信息。该信息并非是运行 par 命令所必需的。
par 文件是一种 jar 文件,其中明示了要传输频道、提供者及其相关文件的条目。其目的是为了在安装提供者、频道或同时安装这两者时提供较大的灵活性。.par 文件包含以下 4 种主要文件类型:
Par 文件内容
表 14-16 包含两列:第一列列出了必需的全局标题;第二列给出了简要说明。.par 文件必须包含下列标题:
表 14-16 全局标题
标题
说明
PS-Version
指定 .par 文件特定于 Portal Server 的版本号。同时验证该文件是否是 .par 文件。
PS-DefaultEntry
为涉及未命名条目的操作所使用的条目命名。
PS-DPRoot
分别指示 parEntry 文档、类、基于属性的文件和静态内容在归档文件中的根目录。如果未指定,相应文件的根将位于归档文件的顶端。
PS-ClassRoot
PS-PBFileRoot
PS-StaticRoot
在 .par 文件中,每个 parEntry XML 文件都必须有一个已命名条目。表 14-17 包含两列:第一列列出了可能的标题;第二列给出了简要说明。与每个已命名条目相应的部分可能包含下列标题:
表 14-17 已命名条目标题
标题
说明
PS-EntryName
指定命令可见的条目名称。
PS-AutoExtract
指定与条目相应的自动提取操作(如果存在这样的操作)。
PS-Include
包含以逗号分隔的归档文件列表,这些文件由它们的实际归档路径指定。此路径隐含表示根据“root”说明,这些文件应为何种文件类型。这些文件后面附加有一个用括号括起来的编号,此编号对应于文件适用的操作类型(含有 1 的特征码代表提供者,2 代表频道)。如果除 XML 文档以外再无其它文件与条目相关联,可以忽略该项。
由于在未命名任何条目时默认条目就是所使用的条目,因此,如果 .par 文件只包含一个条目,在对文件进行操作时无需为条目命名。
rwadmin说明
rwadmin 命令使管理员能够管理在 iPlanet Directory Server Access Management Edition 重写器服务中可用的重写器数据。
语法
本部分介绍 rwadmin 命令的语法。
短名称格式
rwadmin list -u uid -w password [-l locale] [-b] [-h]
rwadmin store -u uid -w password [-l locale] [-b] [-h] filename
rwadmin get -r rulesetname -u uid -w password [-l locale] [-b] [-h] [filename]
rwadmin remove -r rulesetname -u uid -w password [-l locale] [-b] [-h]
长名称格式
rwadmin list --runasdn uid --password password [--locale locale] [--verbose] [--version] [--help]
rwadmin store --runasdn uid --password password [--locale locale] [--verbose] [--version] [--help] filename
rwadmin get --rulesetid rulesetname --runasdn uid --password password [--locale locale] [--verbose] [--version] [--help] [filename]
rwadmin remove --rulesetid rulesetname --runasdn uid --password password [--locale locale] [--verbose] [--version] [--help]
子命令
支持下列子命令:
list
说明
该命令会列出所有可用规则集名称。
语法
rwadmin list -u|--runasdn uid -w|--password password
示例
rwadmin list -u “uid=amAdmin,ou=people,o=sesta.com,o=isp” -w joshua
在本例中,命令显示所有可用规则集的名称。
store
说明
该命令将本地文件系统中可用的“规则”存储到 iPlanet Directory Server Access Management Edition 中。若要存储 DefaultRuleSet,请使用以下命令:
rwadmin store -u uid -w password /resources/DefaultRuleSet.xml
其中,/resources/DefaultRuleSet.xml 是“规则集”在 rewriter.jar 文件中的存储位置。注意,执行该命令时,如果已存在具有相同 ID 的规则集,则不会存储任何新数据。请删除现有 ID 后重试。
语法
rwadmin store -u|--runasdn uid -w|--password password filename
示例
rwadmin store -u “uid=amAdmin,ou=people,o=sesta.com,o=isp” -w joshua /opt/data/ExampleRuleSet.xml
在本例中,命令将 /opt/data/ExampleRuleSet.xml 上可用的“规则”存储到 iPlanet Directory Server Access Management Edition 中。
get
说明
该命令从 iPlanet Directory Server Access Management Edition 中获取“规则集”。如果提供了 filename,会将检索到的“规则集”存储到指定文件中,否则会将其显示在 stdout(或控制台)中。
语法
rwadmin get -r|--rulesetid ruleset -u|--runasdn uid -w|--password password [filename]
示例
例 1
rwadmin get -r “ExampleRuleSet” -u “uid=amAdmin,ou=people,o=sesta.com,o=isp” -w joshua
在本例中,命令从 iPlanet Directory Server Access Management Edition 中检索名为 ExampleRuleSet 的“规则集”并将其显示在控制台上。
例 2
rwadmin get -r “ExampleRuleSet” -u “uid=amAdmin,ou=people,o=sesta.com,o=isp” -w joshua /tmp/abc.xml
在本例中,命令从 iPlanet Directory Server Access Management Edition 中检索名为 ExampleRuleSet 的“规则集”并将其保存在 /tmp 目录下的文件 abc.xml 中。
remove
说明
该命令从 iPlanet Directory Server Access Management Edition 中删除“规则集”。该命令删除“规则集”时不会发出任何警告。
语法
rwadmin remove -r|--rulesetid ruleset -u|--runasdn uid -w|password password
示例
rwadmin remove -r “ExampleRuleSet” -u “uid=amAdmin,ou=people,o=sesta.com,o=isp” -w joshua
在本例中,命令从 iPlanet Directory Server Access Management Edition 删除名为 ExampleRuleSet 的“规则集”。
选项
表 14-18 对 rwadmin 命令进行了总结。它包含两列:第一列列出了可能的选项;第二列给出了简要说明。此命令支持下列选项(按字母顺序列出):
表 14-18 rwadmin 命令选项
选项
说明
-b 或 --verbose
为 rwadmin 指定该参数将提供执行命令时发生的详细情况
filename
与 store 子命令一同指定该选项时,用于指示在向 iPlanet Directory Server Access Management Edition 中进行导入时从中获取“规则集”数据的文件。与 get 子命令一同指定该选项时,用于指示应将检索到的“规则集”数据存储在哪个文件中。
-h 或 --help
为 rwadmin 指定该选项会向标准输出打印输出简要的帮助页。如果不存在任何子命令,会打印 rwadmin 的通用帮助页。如果存在某一条 rwadmin 子命令,则会打印该子命令特定的简要帮助页。
-l 或 --locale
使用该选项可按指定语言环境本地化所有输出消息。如果未指定,则默认使用系统语言环境。
-r 或 --rulesetid
使用该选项指定要对其进行操作的“规则集”的名称。
-u 或 --runasdn
为该选项指定用于绑定到 Directory Server 的用户区别名。
--version
为 rwadmin 指定该选项会向标准输出打印有关此实用程序的说明信息,如版本、法律声明以及其它类似信息。该选项存在时,会忽略任何子命令和其它所有参数。
-w 或 --password
为该选项指定用于绑定到 Directory Server 的用户区别名的口令。
rdmgr说明
rdmgr 命令是管理搜索服务时使用的主要命令。它为管理员提供了两种类型的子命令:一种用于管理资源描述 (RD);一种用于维护数据库。rdmgr 命令通常在具有搜索能力的 Portal Server 实例目录中运行,即 /server-instance-directory/deployment_uri 目录。这是您在安装时所选的部署 uri 路径。如果选择默认 Portal Server 安装,该目录为 /var/opt/SUNWps/https-servername/portal 目录。其中,servername 的值是默认的 Portal Server 实例名 — 您的 Portal Server 的全限定名称。
语法
rdmgr 命令的一般语法如下:
RD 子命令具体遵循以下语法:
数据库维护子命令具体遵循以下语法:
可以使用 -l number 为任意 RD 或数据库子命令设置日志级别数。设置为 1(默认)将会记录所有 rdmgr 命令。数字越大,日志文件所包含的信息越详细。可能的级别为 1 - 100。如果未指定该选项,该命令会采用由 search.conf 文件中的 debug-loglevel 定义的设置。日志文件名是由 search.conf 文件中的 rdmgr-logfile 定义的。
其中,-c search.conf 选项给出了 search.conf 文件的位置。如果不使用该选项,默认值为目前目录中的 config/search.conf。search.conf 文件列有您已设置的所有特定搜索值。
可以使用 -p progress 显示任何 RD 或数据库子命令的进度。如果只输入 -p,进度将显示在 stdout 中。
子命令
支持下列子命令:
资源描述子命令
说明
RD 子命令允许管理员以批处理方式插入或替换 RD、合并经过视图过滤的 RD、检索经过视图过滤的 RD、删除 RD 以及对 RD 进行计数。表 14-19 有两列,第一列列出了子命令,第二列给出了简要说明。
表 14-19 rdmgr RD 子命令
子命令
说明
-u
插入或替换 RD。如果未指明任何子命令,该子命令将是默认的子命令。
-m
合并经过视图过滤的 RD。
-g
检索经过视图过滤的 RD。
-d
删除 RD。
-n
对 RD 进行计数
-U
将 SOIF 中的数据库转储至 stdout。
-L
将数据库中的选定字段列至 stdout。需要 -a att 选项。
语法
# rdmgr [-umgdnUL] [-ACSTNPq] [-a att,att,...] [-b number]
[-c search.conf] [-i charset] [-o charset] [-j number] [-l number]
[-p progress] [-r number] [-s schema] [-y dbname] [filename|-Q query]
选项
表 14-20 有两列,第一列列出了选项或参数,第二列给出了简要说明。支持下列选项:
表 14-20 rdmgr RD 子命令选项
参数/操作数
说明
-A
不在默认搜索目录下的 config/schema.rdm 文件中使用模式别名。与 u 和 m 子命令一起使用。
-C
不在缺少数据库时创建数据库。与 u 和 m 子命令一起使用。
-S
禁用模式检查。与 u 和 m 子命令一起使用。
-T
对分类法进行操作。分类法用于浏览数据库内容并对其进行分类,它位于默认搜索目录下的 config/taxonomy.rdm 文件中。可与任何资源描述命令一起使用。
-N
在命令中指定的功能只对资源描述中的非持久数据起作用。数据库中的 RD 是由持久和非持久数据合并而成的。
-P
在命令中指定的功能只对资源描述中的持久数据起作用。数据库中的 RD 是由持久和非持久数据合并而成的。
-q
退出时删除 SOIF 输入文件。与 u、m、g 和 d 子命令一起使用。
-a att,att...
指定属性视图列表。att 名称不区分大小写,可以是任意属性,无论它们是否在模式中进行了定义;例如,作者或标题。如果 att 具有多个值,如 class-1、class-2 和 class-3,只需输入 class 作为 att 名称。
-b number
将索引批量设置为该 RD 数。与 u 和 m 子命令一起使用。
-c search.conf
指定 search.conf 文件的位置。如果不使用该选项,默认值为目前默认搜索目录中的 config/search.conf 文件。否则,必须给出文件的完整路径。
-i charset|-o charset
-i 选项指定输入 SOIF 流的字符集。-o 选项指定输出 SOIF 流的字符集。例如,ISO8859-1、UTF-8、UTF-16。系统支持字符集 ISO8859-1 到 ISO8859-15。-i 与 u、m 和 d 子命令一起使用。-o 与 g、U 和 L 子命令一起使用。
-j number
对检索结果数进行限制。与 u 子命令一起使用。如果未指明,则默认值为无限制,除非使用了 Q 选项(默认值为 20)。
-l number
将日志级别设置为指定的数值。设置为 1(默认)将会记录所有 rdmgr 命令。数字越大,日志文件所包含的信息越详细。可能的级别为 1 - 100。该选项可与所有子命令一同使用。
-p {stdout|stderr|
filename}
将进度信息打印或显示至 stdout、stderr 或 filename 文件。该选项可与所有子命令一同使用。以秒为单位报告计时信息。
-r number
与进度选项一起使用。每隔 number 个 RD 生成一个报告。默认值为 500。与 u、m、g、d 和 U 子命令一起使用。
-s schema
指定模式定义文件。如果不使用该选项,默认值为搜索服务器实例目录中的 config/schema.rdm 文件。
-y dbname
指定搜索数据库名。如果是对默认数据库以外的数据库运行这条命令,则需使用该选项。默认数据库在 config/search.conf 文件中定义,形如 datbase-name=logicaldbname。
filename|-Q query
该输入选项与 u、m、g 和 d 子命令一起使用。
filename 指包含 RD 的文件,这些 RD 使用 SOIF 格式的默认模式(对于其它任何模式,使用 -s 选项)。
query 可以是任何规则的搜索查询。
示例
例 1
将环境变量 LD_LIBRARY_PATH 设置为 /opt/SUNWps/lib。
在 /var/opt/SUNWps/https-sesta.com/portal 目录下,键入
# /opt/SUNWps/bin/rdmgr -U
在本例中,以 UTF-8 SOIF 格式将整个资源描述默认数据库打印输出到 stdout。
例 2
在默认搜索目录 /var/opt/SUNWps/https-sesta.com/portal 下,键入
# /opt/SUNWps/bin/rdmgr -d -Q java
在本例中,会删除在其中任意处含有 java 的所有资源描述。
数据库维护子命令
说明
数据库维护子命令允许管理员优化搜索数据库、截断或清空数据库、重建数据库索引、从数据库中删除过期的 RD 以及恢复数据库。表 14-21 有两列,第一列列出了子命令,第二列给出了简要说明。
表 14-21 rdmgr 数据库维护子命令
子命令
说明
-O
优化数据库。如果是对默认数据库以外的数据库运行该子命令,需要使用 -y 选项。默认数据库在 config/search.conf 文件中定义,形如 datbase-name=logicaldbname。例如,默认值为 datbase-name=default,默认数据库目录为 db/default。
数据库通常不需要进行优化。
-X
截断或清空数据库。如果是对默认数据库以外的数据库运行该子命令,需要使用 -y 选项。会恢复索引所用的磁盘空间,但不会恢复主数据库所用的磁盘空间,而是在向数据库增添新数据时重复使用该空间。
-I
重建数据库索引。如果是对默认数据库以外的数据库运行该子命令,需要使用 -y 选项。
-E
从数据库中删除过期的 RD。如果是对默认数据库以外的数据库运行该子命令,需要使用 -y 选项。
-R
恢复所有数据库。这是全局命令,不接受任何选项。运行该命令之前,必须停止所有数据库进程,包括其它 rdmgr 实例以及主搜索服务器。
-G
重新对数据库进行分区。该命令不接受任何选项。分区在 config/search.conf 文件中定义,形如 datbase-partitions=p1,p2,p3,...。其中,p1、p2 和 p3 是分区的文件名。运行该命令后,需要重新启动服务器。
-B
彻底删除数据库。恢复所有磁盘空间。运行该子命令时,不能执行索引操作,并且必须关闭 Portal Server。
-L
将数据库中的选定字段列至 stdout。需要 -a att 选项。如果是对默认数据库以外的数据库运行该子命令,需要使用 -y 选项。
语法
# rdmgr [-OXIERGBL] [-ASTDVNP] [-a att,att,...] [-b number]
[-c search.conf] [-j number] [-l number] [-p progress] [-r number]
[-s schema] [-y dbname]
选项
表 14-22 有两列,第一列列出了选项或参数,第二列给出了简要说明。支持下列选项:
表 14-22 rdmgr 数据库维护子命令选项
参数/操作数
说明
-A
不在默认搜索目录下的 config/schema.rdm 文件中使用模式别名。与 I 子命令一起使用。
-S
禁用模式检查。与 I 子命令一起使用。
-T
对分类法进行操作。分类法用于浏览数据库内容并对其进行分类,它位于默认搜索目录下的 config/taxonomy.rdm 文件中。与 O、X、I、E、B、U 和 L 子命令一起使用。
-D
只更新数据库;不更新索引。与 E 和 X 命令一起使用。
-V
只更新索引;不更新数据库。与 E 和 X 命令一起使用。
-N
在命令中指定的功能只对资源描述中的非持久数据起作用。数据库中的 RD 是由持久和非持久数据合并而成的。与 I、E、U 和 L 命令一起使用。
-P
在命令中指定的功能只对资源描述中的持久数据起作用。数据库中的 RD 是由持久和非持久数据合并而成的。与 I、E、U 和 L 命令一起使用。
-a att,att...
指定属性视图列表。att 名称不区分大小写,可以是任意属性,无论它们是否在模式中进行了定义;例如,作者或标题。如果 att 具有多个值,如 class-1、class-2 和 class-3,只需输入 class 作为 att 名称。
-b number
将索引批量设置为该 RD 数。与 I 命令一起使用。
-c search.conf
指定 search.conf 文件的位置。如果不使用该选项,默认值为目前默认搜索目录中的 config/search.conf 文件。否则,必须给出文件的完整路径。
-j number
对检索结果数进行限制。与 E 子命令一起使用。如果未指明,默认值为无限制。
-l number
将日志级别设置为指定的数值。设置为 1(默认)将会记录所有 rdmgr 命令。数字越大,日志文件所包含的信息越详细。可能的级别为 1 - 100。该选项可与所有子命令一同使用。
-p {stdout|stderr|
filename}将进度信息打印或显示至 stdout、stderr 或 filename。该选项可与所有子命令一同使用。
-r number
与进度选项一起使用。每隔 number 个 RD 生成一个报告。默认值为 500。与 u、m、g、d 和 U 子命令一起使用。
-s schema
指定模式定义文件。默认值是默认搜索目录中的 config/schema.rdm 文件。
-y dbname
指定搜索数据库名。如果是对默认数据库以外的数据库运行这条命令,则需使用该选项。不需要对默认数据库使用该选项。默认数据库在 config/search.conf 文件中定义,形如 datbase-name=filename。
示例
例 1
在默认搜索目录中,键入
# /opt/SUNWps/bin/rdmgr -E -j 13 -p stdout -r 5
在本例中,会从数据库中删除最多 13 项过期的 RD。进度报告输出至 stdout,该报告每隔五项资源描述打印截至目前已经过的时间(以秒单位)和已处理的 RD 数。
例 2
搜索引擎“已挂起”或无响应。在默认搜索目录中,键入
# /opt/SUNWps/bin/rdmgr -R
该命令会恢复所有搜索数据库并使得搜索引擎再次可用。使用该命令可释放数据库中无用的锁并回滚未完成的数据事务。无用的锁和未完成的事务是因异常终止数据库进程而导致的。
用法消息及版本子命令
表 14-23 在第一列中列出了用于显示用法消息或查看版本信息的子命令,在第二列中给出了简要说明。
返回码
rdmgr 命令会向命令外壳返回返回码。
0 - 成功
1 - 失败
sendrdm说明
sendrdm 命令提供基于 CGI 或命令行的搜索机制。会以 SOIF 格式向搜索服务器发送 rdm(资源描述管理器)请求。该命令通常在具有搜索能力的 Portal Server 实例目录中运行,即 /server-instance-directory/deployment_uri 目录。这是您在安装时所选的部署 uri 路径。如果选择默认 Portal Server 安装,该目录为 /var/opt/SUNWps/https-servername/portal 目录。其中,servername 的值是默认的 Portal Server 实例名 — 您的 Portal Server 的全限定名称。
语法
sendrdm 命令的语法如下:
选项
表 14-24 对 sendrdm 命令进行了总结。它包含两列:第一列列出了可能的选项;第二列给出了简要说明。此命令支持下列选项(按字母顺序列出):
表 14-24 sendrdm 命令选项
参数/操作数
说明
-d
调试模式。默认值为关闭。该选项会将其开启。
-t n
以秒为单位指定时间。命令在 n 秒后超时。默认值为 300 秒。
-u uri
为即将从中执行导入的服务器指定 uri 目录(输入完整路径)。
-v
版本。
RDM-in
RDM 请求文件名。该参数是必需的。
RDM-out
RDM 结果文件名。默认值为标准输出。
示例
在作为根的 /var/opt/SUNWps/https-servername/portal 目录中:
本例从 Compass Server 3.01x 中进行导入,使用 /rdm/incoming 作为 uri,同时将超时时间设置为一小时。rdmquery.soif 的内容如下:
代码示例 0-1
@RDMHEADER { -
catalog-service-id{48}:x-catalog://frankie.sesta.com:89/Compass-2
rdm-type{10}:rd-request
rdm-version{3}: 1.0
rdm-query-language{8}:gatherer
}
@RDMQUERY { -
scope{3}: all
}
StartRobot管理员可以使用 StartRobot 脚本来手动启动 robot。该脚本通常由调度程序用来在设定时间启动 robot(cron 作业)。StartRobot 命令位于 /var/opt/SUNWps/https-servername/portal 目录中。
语法
# StartRobot
选项
没有选项。
StopRobot
管理员可以使用 StopRobot 脚本来手动停止 robot。该脚本通常由调度程序用来在设定时间停止 robot(cron 作业)。StopRobot 命令位于 /var/opt/SUNWps/https-servername/portal 目录中。
语法
# StopRobot
选项
没有选项。