For the Oracle Solaris 11.3 release, the installadm create-manifest and installadm update-manifest commands have been enhanced to allow you to edit the manifest being created or updated. Additionally, it is now possible to create a new manifest from an existing manifest in the install service. For example:
create-manifest -n servicename -m new-manifest brings up a manifest in the installadm interactive mode that is based on reasonable defaults.
create-manifest -n servicename -f file creates a manifest using the contents of the named file.
create-manifest -n servicename -f file -e allows you to edit a manifest using the contents of the named file. If the file is a derived manifest script, then you will be placed in an editor. The editor selected is either defined by the VISUAL or EDITOR environmental variables. If neither variable is defined, then the vi editor is used. If the file is not a derived manifest script, then you will edit the manifest in the installadm interactive mode.
create-manifest -n servicename -M manifest -m new-manifest creates a new manifest using the contents of the existing manifest.
create-manifest -n servicename -M manifest -e -m new-manifest creates a new manifest using the contents of the existing manifest. If the existing manifest is a derived manifest script, then you will be placed in an editor. The editor selected is either defined by the VISUAL or EDITOR environmental variables. If neither variable is defined, then the vi editor is used. If the existing manifest is not a derived manifest script, then you will edit the manifest in the installadm interactive mode.
update-manifest -n servicename -m new-manifest updates a manifest. If the manifest is a derived manifest script, then you will be placed in an editor. The editor selected is either defined by the VISUAL or EDITOR environmental variables. If neither variable is defined, then the vi editor is used. If the manifest is not a derived manifest script, then you will edit the manifest in the installadm interactive mode.
update-manifest -n servicename -f file -m manifest updates a manifest using the contents of the named file
update-manifest -n servicename -f file -m manifest -e allows you to edit a manifest that has been updated using the contents of the file. If the file is a derived manifest script, then you will be placed in an editor. The editor selected is either defined by the VISUAL or EDITOR environmental variables. If neither variable is defined, then the vi editor is used. If the file is an xml file, then you will edit the manifest in the installadm interactive mode.
You can get into the interactive editor mode either by using the –e option on the command line. Once in the interactive edit mode, you can use the following commands:
Adds an object or property. If you add the –w option the command will prompt for objects and properties. See the description of walk below.
Discards any changes made on the current level and navigates up one level.
At the top level, validates changes, saves the manifest and continues editing.
Deletes an object or property.
Validates changes made on the current level and if no errors occur navigates up one level.
Prompts whether to save the manifest and exit after the changes are validated, exit without saving uncommitted changes or continue editing.
Displays all objects and properties up to one level down.
Changes the order of multiple objects, such as software publishers.
Selects an object and navigates to that level.
Sets the value of a property.
Prompts for each settable property and any settable subobjects or subproperties for the select object.
Several example showing the interactive mode are given in the installadm(1M) man page. The following sections provide additional examples.
Example 63 Creating a Manifest Entry with installadm in the Walk ModeIn this example a second publisher is added to the manifest named test.
# installadm create-manifest -n default-sparc -m test
installadm:test> select software
installadm:test:software> info
type: IPS
name: <not specified>
facet[1]:
...
facet[20]:
name: facet.locale.zh_TW
value: true
publisher:
name: solaris
key: <not specified>
cert: <not specified>
ca-cert: <not specified>
origin: http://pkg.oracle.com/solaris/release
mirror: <not specified>
cmd-options: <not specified>
pkg-list:
action: install
name: pkg:/entire@0.5.11-0.175.3
name: pkg:/group/system/solaris-large-server
reject: <not specified>
installadm:test:software> add -w publisher
*** To terminate walk, use Ctrl-D ***
name [<not specified>]: firstboot
key [<not specified>]:
cert [<not specified>]:
ca-cert [<not specified>]:
origin [<not specified>]: file:///net/host1/export/firstbootrepo
origin [<not specified>]:
mirror [<not specified>]:
cmd-options [<not specified>]:
installadm:test:software:publisher> info
name: firstboot
key: <not specified>
cert: <not specified>
ca-cert: <not specified>
origin: file:///net/host1/export/firstbootrepo
mirror: <not specified>
cmd-options: <not specified>
installadm:test:software:publisher> end
installadm:test:software> exit
1. Save manifest and exit
2. Exit without saving uncommitted changes
3. Continue editing
Please select choice: 1
Created Manifest: 'test'
Example 64 Changing the Order of an Object with installadm
In this example, the order of the publishers is switched.
# installadm update-manifest -n default-sparc -m test
installadm:test> select software
installadm:test:software> info
type: IPS
name: <not specified>
facet[1]:
...
facet[20]:
name: facet.locale.zh_TW
value: true
publisher[1]:
name: solaris
key: <not specified>
cert: <not specified>
ca-cert: <not specified>
origin: http://pkg.oracle.com/solaris/release
mirror: <not specified>
cmd-options: <not specified>
publisher[2]:
name: firstboot
key: <not specified>
cert: <not specified>
ca-cert: <not specified>
origin: http://example.com/solaris/mybuild
mirror: <not specified>
cmd-options: <not specified>
pkg-list:
action: install
name: pkg:/entire@0.5.11-0.175.3
name: pkg:/group/system/solaris-large-server
reject: <not specified>
installadm:test:software> move publisher 2 1
installadm:test:software> info
type: IPS
name: <not specified>
...
publisher[1]:
name: firstboot
key: <not specified>
cert: <not specified>
ca-cert: <not specified>
origin: http://example.com/solaris/mybuild
mirror: <not specified>
cmd-options: <not specified>
publisher[2]:
name: solaris
key: <not specified>
cert: <not specified>
ca-cert: <not specified>
origin: http://pkg.oracle.com/solaris/release
mirror: <not specified>
cmd-options: <not specified>
pkg-list:
action: install
name: pkg:/entire@0.5.11-0.175.3
name: pkg:/group/system/solaris-large-server
reject: <not specified>
installadm:test:software> exit
1. Save manifest and exit
2. Exit without saving uncommitted changes
3. Continue editing
Please select choice: 1
Updated Manifest: 'test'