Sun Java System Portal Server 6 2004Q2 管理員指南 |
第 21 章
指令行公用程式Sun Java System Portal Server 除了提供圖形使用者介面,也提供一組指令行公用程式。
本章討論的指令行公用程式列於表 21-1,而且僅與管理工作有關。此兩欄表格第一欄列出指令,而第二欄列出簡要描述。它們以功能分成群組:桌面、Rewriter 與搜尋。
同時也可用 Sun Java System Identity Server 管理的指令行介面 amadmin。amadmin 工具的主要目的是幫助管理員在 Identity Server 上執行批次管理工作,例如建立、註冊與啟動新服務;以及建立、刪除與讀取 (取得) 組織、用戶容器、群組、角色及使用者。如需詳細資訊,請參閱「Sun Java System Identity Server 6 2004Q2 Programmer's Guide」。
deploy描述
deploy 指令封裝 Sun Java System Portal Server web 應用程式檔案的來源檔案,並將此封裝部署於儲存 Portal Server 軟體的 web 容器。
Sun Java System Portal Server 的來源檔案儲存在 /opt/SUNWps/web-src 目錄。WEB-INF/xml 子目錄包含 deploy 指令合併的 web.xml 區段檔案,以形成 Sun Java System Portal Server web 應用程式的 web.xml 檔案。web.xml 區段檔案對應的區段是以 web.xml 區段檔案的字母順序合併。最終 web.xml 檔案一旦形成,opt/SUNWps/web-src 目錄中的檔案會使用 jar 指令放置於 web 應用程式歸檔 (WAR) 檔案。將此 WAR 檔案使用 deploy 指令部署於 web 容器。
語法
/opt/SUNWps/bin/deploy [redeploy]
子指令
deploy 指令需要 redeploy 子指令。如果未使用 redeploy 選項而啟動 deploy 指令,會提示標準輸入的配置資訊。
redeploy
描述
redeploy 子指令指定 deploy 指令重新使用單一資源指示碼 (URI) 以及與目前部署的 Sun Java System Portal Server web 應用程式相關的其他資訊。
語法
deploy redeploy
pdeploy描述
pdeploy 是可以用於將 Portlet web 應用程式部署及解除部署於 Portal Server 的指令行工具。
pdeploy 指令需要:
pdeploy 指令部署 Portlet 應用程式所使用的某些預設設定可以在 PDConfig.properties 檔案中取得。此檔案安裝於 /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 web 應用程式於 Portal Server。在完成此指令之後,您可以根據定義於已部署 Portlet web 應用程式的 Portlet 來建立通道。
語法
pdeploy deploy -u uid -w password {-g|-d dn} -p webcontainerpassword warfile
pdeploy deploy -h|--help
選項
描述支援哪些選項的表 12-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 指令將提供角色對映檔案以供部署 SamplePortletApp.war 檔案於 Portlet 應用程式。
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 指令將提供使用者資訊檔案以供部署 SamplePortletApp.war 檔案於 Portlet 應用程式。
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 web 應用程式的 Portlet 已建立的所有通道定義。與 Portlet web 應用程式相關的所有通道 (被移除者) 必須 手動移除。
語法
pdeploy undeploy -u uid -w password {-g|-d dn} -p webcontainerpassword -v portletwebapp
pdeploy undeploy -h|--help
選項
表 21-4 與表 21-5 描述支援的選項且包含兩欄:第一欄列出 undeploy 子指令可能的選項、引數或運算元;第二欄提供簡要描述。
表 21-5 undeploy 子指令運算元
運算元
描述
portletwebapp
指定已部署 Portlet web 應用程式的名稱。一般而言,會與 war 檔案的名稱相同而沒有 .war 副檔名。
下列 pdeploy 指令從 Portal Server 解除部署名為 SamplePortletApp 的 Portlet web 應用程式。
pdeploy undeploy -u “uid=amAdmin,ou=People,o=sesta.com,o=isp” -w admin -g
dpadmin描述
dpadmin 指令能讓您使用子指令從顯示設定檔文件中擷取、新增、修改與移除顯示設定檔物件。與顯示設定檔物件之間的所有互動都必須使用它們的原生 XML 格式。dpadmin 指令僅可以在單一顯示設定檔文件上操作。
dpadmin 指令需要:
- 子指令 (請參閱子指令)
- 使用者區別名稱與密碼以存取目錄伺服器。
- 目標顯示設定檔文件。區別的名稱以識別 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 子指令需要這些選項:
- 分別使用 -u 或 --runasdn 與 -w 或 --password 選項存取 LDAP 資料庫的管理員區別名稱與密碼。這些選項為必要。
- 使用 -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
選項
表 21-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 Java System...|http://www.sun.com/software/products/portal_srvr/home_portal.html” merge=”replace” lock=”false”/>
<String value=”Sun Java System 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>
$ dpadminmerge -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 Java System ...|http://www.sun.com/software/products/portal_srvr/home_portal.html” merge=”replace” lock=”false”/>
<String value=”Sun Java System 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 Java System” 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>
這是被指定為 HR Role 之使用者 hradmin 的「書籤」通道的合併結果。
備註
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 子指令需要這些選項:
- 分別使用 -u 或 --runasdn 與 -w 或 --password 選項存取 LDAP 資料庫的管理員區別名稱與密碼。這些選項為必要。
- 要修改的顯示設定檔節點物件由全域層級節點的 -g 或 --global 選項定義,或由具有指定的特定非全域層級節點的 -d 或 --dn 選項定義。-g 或 -d 選項為必要。
- 使用 file 引數包含 XML 輸入的檔案名稱。此引數為選擇性。不使用時,會預期來自標準輸入的 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
選項
表 21-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 Java System 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
選項
表 21-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 選項的語義會根據要移除的顯示設定檔物件的類型而有不同。表 21-9 包含兩欄:第一欄列出類型選項的可能值;第二欄提供確切要移除物件的簡要描述。
remove 子指令需要這些選項:
- 分別使用 -u 或 --runasdn 與 -w 或 --password 選項存取 LDAP 資料庫的管理員區別名稱與密碼。這些選項為必要。
- 要移除的顯示設定檔節點物件的名稱需使用 -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
選項
表 21-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"
在本範例中,指令將名為 locations 的屬性從名為 Bookmarks 的通道或容器中移除。
範例 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 子指令。子指令必須在單行輸入 (新行字元表示指令結尾)。對於每個子指令,必須在指令行中指定管理員的區別名稱與密碼。猶如子指令直接輸入 shell (沒有 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
選項
表 21-11 包含兩欄:第一欄列出 batch 子指令可能的選項、引數或運算元;第二欄提供簡要描述。支援下列選項:
選項
表 21-12 是 dpadmin 指令的摘要。此表格是由列於子標題的子指令編排。表格包含兩欄:第一欄列出可能的選項、引數或運算元;第二欄提供簡要描述。支援下列選項:
par描述
par 指令執行與指定的 .par 檔案有關的功能。它可用於將通道或提供者匯出與匯入 Sun Java System 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
描述
列出指定的目錄伺服器名稱指出的特定顯示設定檔文件中所有可用的容器與通道 (或 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 檔案、對應更新所需顯示設定檔文件的目錄伺服器名稱引數 (或關鍵字 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
在本範例中,指令將 mychannel 的通道定義與範本檔案匯出至 "dc=sesta,dc=isp" dn 的 mychannel.par。同樣地,如果是 JSPProvider 通道,directory 指令行會傳輸所有 .jsp 檔案,包括特定語言環境的版本。
import
描述
將指定 .par 檔案的物件匯入 Portal Server。此指令需要 .par 檔案、顯示設定檔文件的選擇性引數以將物件匯入目錄伺服器中指出的顯示節點 (或關鍵字 global 指出的根顯示設定檔),以及要執行的作業。如果未指定這些,會從 par 檔案中取得這些。auto 選項可用於指出您只希望執行已包含於 .par 檔案的自動擷取作業。
如果您想要新增新的通道,可以使用具有或沒有 par import 選項的 par import 指令。如果通道已存在,您必須使用 -o 選項與 par import 指令完全取代 (覆寫) 舊的通道。您可使用此子指令匯入提供者及通道。
語法
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 檔案擷取通道。
範例 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 容器中取得。
選項
表 21-13 包含兩欄:第一欄列出 par 指令可能的選項;第二欄提供簡要描述。此指令支援下列選項 (以字母順序列出):
表 21-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 以將關於公用程式的描述性資訊 (例如其版本、法律注意事項以及其他相似的資訊) 列印至標準輸出。當此選項存在時,會忽略任何子指令與所有其他選項。
-?
獲得任何子指令的說明。
引數
表 21-14 包含兩欄:第一欄列出 par 指令可能的引數;第二欄提供簡要描述。此指令需要下列引數:
表 21-14 par 指令引數
引數
描述
dn
指定目錄伺服器的區別節點以存取。使用下列格式 "o=organizationName,o=organizationalUnit"
global
指定 LDAP 的全域層級節點以存取顯示設定檔文件。
exportfile
這些檔案中每個都對應 .par 檔案中的一個項目 (提供者、通道或提供者/通道組合),而且只要指定要插入至指定的 .par 檔案的資料。如果資訊太大以致於無法列在指令行上,可以用小檔案。如需更多資訊,請參閱匯出檔案。
from
這個指定於指令行可視為等同於包含 "from" 行的匯出檔案,後跟 ("=") 等號以及由 (";") 分號隔開的任何其他行。如需行屬性的更多資訊,請參閱表 21-15 的 from。
op
指定要執行的作業。如需詳細資訊請參閱作業。
parfile
指定要執行操作的 par 檔案;那就是指出要匯入、匯出或描述的 par 檔案。
匯出檔案
這些檔案僅指定要插入 .par 檔案的資料。檔案是由包含關鍵字跟隨冒號以及空格分割欄位的行所組成。行 "from:"為必要且必須是檔案的第一行。開頭有 "#" 的行當成是註釋。
表 21-15 包含兩欄:第一欄列出可能的行關鍵字;第二欄提供簡要描述。
表 21-15 匯出檔案行屬性
行
描述
from:types name
"from" 指出要被匯出的實體。types 可以是「通道」、「提供者」或「通道,提供者」與「通道+提供者」。name 指出通道名稱,或如果要匯出提供者則是提供者名稱。如果名稱包含空格 (+)、逗號 (%2C)、冒號 (%3A)、分號 (%3B)、加號 (%2B) 或百分比符號 (%25),則 name 必須是 URL 編碼。
auto:none
"auto" 指定項目的自動擷取作業。它需要 op 引數跟隨此作業。也可以輸入 "none" 抑制自動擷取。如果未指定 "auto:"行,會產生預設自動擷取。預設作業是使用其原始名稱擷取通道與/或提供者。
auto:op
file:root|. path [types]
"file" 指出要包含的根據屬性設定的檔案。屬性可能來自 "desktop properties" 檔案,依預設位於 /etc/opt/SUNWps/desktop/desktopconfig.properties 檔案或來自要匯出或匯入項目的 getProperty() 呼叫可見的顯示設定檔。root 指定檔案位置的根,而 path 指定檔案其餘部分的路徑。root 是對應 (如同) 目錄的屬性名稱。如果 root 提供為 ".",檔案則假設為位於 Web 伺服器文件根的靜態內容。您也可以指定與檔案要產生關聯的作業類型,預設為「通道」。types 可以是「通道」、「提供者」或「通道,提供者」與「通道+提供者」。
class:class [types]
"class" 指出要與項目一起封裝的類別檔案,且您可以選擇性指定與類別檔案要產生關聯的作業類型。如果未指定,則假設為「提供者」。types 可以是「通道」、「提供者」或「通道,提供者」與「通道+提供者」;同樣地兩者都指定時,您可以使用空格。
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
它為此作業目標的顯示設定檔文件指定目錄伺服器中的區別名稱 (或關鍵字 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 檔案內容
表 21-16 包含兩欄:第一欄列出必要的全域標頭;第二欄提供簡要描述。.par 檔案必須包含下列標頭:
表 21-16 全域標頭
標頭
描述
PS-Version
指定 .par 檔案的入口網站伺服器特定版本標號。同時檢驗這是 .par 檔案。
PS-DefaultEntry
命名用於與未命名項目相關作業的項目。
PS-DPRoot
分別指出 parEntry 文件、類別、屬性為基礎的檔案與靜態內容之歸檔的根目錄。如果未指定,對應的檔案根位於歸檔的頂端。
PS-ClassRoot
PS-PBFileRoot
PS-StaticRoot
在 .par 檔案中,每個 parEntry XML 檔案必須有已命名的項目。表 21-17 包含兩欄:第一欄列出可能的標頭;第二欄提供簡要描述。每個已命名項目可能包含下列標頭:
表 21-17 已命名的項目標頭
標頭
描述
PS-EntryName
指定指令可見的項目名稱。
PS-AutoExtract
如果存在,指定項目的自動擷取作業。
PS-Include
包含實際歸檔路徑指定的歸檔檔案之逗點分隔的清單。根據 "root" 技術規定,路徑表示那些是何種檔案類型。這些檔案附加括入括弧內的編號,而編號對應檔案套用的作業類型 (遮罩 1 對於提供者,2 對於通道)。如果除了 XML 文件以外沒有檔案與項目相關,則會忽略這項。
如果 .par 檔案僅包含一個項目,因為預設項目是沒有命名時使用的項目,項目不需要在處理檔案時命名。
rwadmin描述
rwadmin 指令讓管理員能管理 Sun Java System Identity Server Rewriter 服務中可用的 Rewriter 資料。
語法
本節中描述 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
描述
此指令將本機檔案系統中可用的規則儲存至 Sun Java System Identity Server。如果您要儲存 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 可用的規則儲存至 Sun Java System Identity Server。
get
描述
此指令從 Sun Java System Identity Server 取得規則集。如果有提供 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
在本範例中,指令從 Sun Java System Identity Server 擷取名為 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
描述
此指令從 Sun Java System Identity Server 刪除規則集。此指令在沒有任何警告下刪除規則集。
語法
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
在本範例中,指令從 Sun Java System Identity Server 刪除名稱為 ExampleRuleSet 的規則集。
選項
表 21-18 是 rwadmin 指令的摘要。表格包含兩欄:第一欄列出可能的選項;第二欄提供簡要描述。此指令支援下列選項 (以字母順序列出):
表 21-18 rwadmin 指令選項
選項
描述
-b 或 --verbose
指定此引數至 rwadmin 以提供當執行指令時所發生情形的詳細資訊
filename
指定此選項與 store 子指令以指出當匯入至 Sun Java System Identity Server 時要取得規則集的檔案。指定此與 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。表 21-19 是兩欄表格,第一欄列出子指令,而第二欄提供簡要描述。
表 21-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]
選項
表 21-20 是兩欄表格,第一欄列出選項或引數,而第二欄提供簡要描述。支援下列選項:
表 21-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
指定搜尋資料庫名稱。.如果您在預設資料庫以外的任何資料庫上執行此指令,必須使用此選項。預設資料庫是標記為 datbase-name=logicaldbname 的 config/search.conf 檔案中定義的資料庫。
filename|-Q query
這是與 u、m、g 及 d 子指令一起使用的輸入選項。
filename 是使用 SOIF 格式的預設模式 (任何其他模式使用 -s 選項) 的 RD 檔案:
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,與回復資料庫。表 21-21 是兩欄表格,第一欄列出子指令,而第二欄列出簡要描述。
表 21-21 rdmgr 資料庫維護子指令
子指令
描述
-O
資料庫最適化。如果您在預設資料庫以外的任何資料庫上執行此子指令,必須使用 -y 選項。預設資料庫是標記為 datbase-name=logicaldbname 的 config/search.conf 檔案中定義的資料庫。例如,預設值是 datbase-name=default,預設資料庫目錄是 db/default。
資料庫一般不需要最適化。
-X
截斷或清空資料庫。如果您在預設資料庫以外的任何資料庫上執行此子指令,必須使用 -y 選項。用於索引的磁碟空間會回復,但是用於主資料庫的磁碟空間不會回復,將新資料新增至資料庫中該空間會被再利用。
-I
重新編列索引資料庫。如果您在預設資料庫以外的任何資料庫上執行此子指令,必須使用 -y 選項。
-E
從資料庫刪除到期的 RD。如果您在預設資料庫以外的任何資料庫上執行此子指令,必須使用 -y 選項。
-R
回復所有資料庫。這是全域指令且不需要選項。在執行此指令之前,所有資料庫程序,包括其他 rdmgr 實例與主要搜尋伺服器都必須停止。
-G
重新分割資料庫。此指令不需要選項。分割區定義於標記為 datbase-partitions=p1,p2,p3,... 的 config/search.conf 檔案中。其中 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]
選項
表 21-22 是兩欄表格,第一欄列出選項或引數,而第二欄提供簡要描述。支援下列選項:
表 21-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
指定搜尋資料庫名稱。.如果您在預設資料庫以外的任何資料庫上執行此指令,必須使用此選項。預設資料庫,您不需要使用此選項。預設資料庫是標記為 datbase-name=filename 的 config/search.conf 檔案中定義的資料庫。
範例
範例 1
在預設搜尋目錄中,
# /opt/SUNWps/bin/rdmgr -E -j 13 -p stdout -r 5
在本範例中,從資料庫中移除最多 13 個已到期 RD。stdout 的進度報告,列印以秒數顯示的過去時間以及每五個資源描述之後已處理的 RD 數目。
範例 2
搜尋引擎「當機」或沒有回應。在預設搜尋目錄中,
# /opt/SUNWps/bin/rdmgr -R
這能回復所有搜尋資料庫,並且讓搜尋引擎再度可用。使用此指令釋放資料庫中失效的鎖定並且重新處理不完整的資料交易。失效的鎖定與不完整的交易可能是由資料庫程序異常終止所造成。
用法訊息與版本子指令
表 21-23 第一欄列出顯示用法訊息或檢視版本資訊的子指令,而第二欄提供簡要描述。
回覆碼
rdmgr 指令將回覆碼傳回 shell。
0 - 成功
1 -失敗
sendrdm描述
sendrdm 指令提供機制給 CGI 或指令行為基礎的搜尋。rdm ( 資源描述管理員) 請求以SOIF 格式傳送至「搜尋」伺服器。此指令一般在啟用搜尋的 Portal Server 實例目錄中執行,也就是 /server-instance-directory/deployment_uri 目錄。這是您在安裝時選取的部署 uri 路徑。如果您選擇預設的 Portal Server 安裝,這是 /var/opt/SUNWps/https-servername/portal 目錄。其中 servername 的值是預設 PortalServer 實例名稱-您 Portal Server 的完全合格名稱。
語法
sendrdm 指令的語法是:
選項
表 21-24 是 sendrdm 指令的摘要。表格包含兩欄:第一欄列出可能的選項;第二欄提供簡要描述。此指令支援下列選項 (以字母順序列出):
表 21-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 的內容是:
程式碼範例 21-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 程序檔手動啟動自動器。此程序檔通常由排程程式用於在設定時間啟動自動器(cron 工作)。StartRobot 指令位於 /var/opt/SUNWps/https-servername/portal 目錄。
語法
# StartRobot
選項
沒有選項。
StopRobot
管理員可以使用 StopRobot 程序檔手動停止自動器。此程序檔通常由排程程式用於在設定時間停止自動器(cron 工作)。StopRobot 指令位於 /var/opt/SUNWps/https-servername/portal 目錄。
語法
# StopRobot
選項
沒有選項。