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'