Go to main content

Creating a Custom Oracle® Solaris 11.3 Installation Image

Exit Print View

Updated: December 2017
 
 

Specify Software Sources

Specify the Publisher Used when Building the Installation Image

In the source element nested within the transfer-ips-install section, edit the publisher name and origin name elements to specify which publisher to use and where the package repository is located. The repository location could be an NFS path or a local directory. You can list multiple publishers. When the distribution constructor attempts to locate packages to install, it searches publishers in the order in which they are listed in this element.

If mirrors for a publisher need to be specified, uncomment and edit the mirror name element.

The following example shows a sample source element.

<source>
   <publisher name="publisher1">
      <origin name="http://example.oracle.com/primary-pub"/>
      <mirror name="mirror.example.com"/>
   </publisher>
   <publisher name="publisher2">
       <origin name="http://example2.com/dev/solaris"/>
   </publisher>
   <publisher name="publisher3.org">
       <origin name="http://example3.com/dev"/>
   </publisher>
   <publisher name="publisher4">
       <origin name="file:///net/myserver/publisher4/repo"/>
   </publisher>
</source>

For further information about using publishers, see Adding and Updating Software in Oracle Solaris 11.3.

List the Packages to Install

The software_data element with the install attribute lists the set of packages to be installed in order to build a particular type of image, depending on which manifest you are using. For example, the dc_livecd.xml manifest lists the packages needed to build a Live Media image. Each name element lists one package name or the name of a group package that contains many packages.

<software_data action="install">
   <name>pkg:/group/system/solaris-desktop</name>
   <name>pkg:/system/install/gui-install</name>
   <name>pkg:/system/install/media/internal</name>
</software_data>

To add packages to the image, add a name element for each package.

By default, the most current package version available in the specified repository is installed. If you want to install a different version, append the version number to the package reference using the following format:

<name>pkg:/group/system/solaris-desktop@0.5.11-0.build#</name>

Note -  If you specify a specific version of a package but another package with a conflicting version is being installed as specified by an automated install service's manifest file, the package might not be installed. See Chapter 9, Assigning Customizations to AI Clients in Installing Oracle Solaris 11.3 Systems.

The Oracle Solaris release version on your system must be the same as the release version of the image that you intend to create with the distribution constructor.

Example 1  Adding Packages and Additional Publishers

In this example, a second publisher, mypublisher, and additional packages mypackage1 and mypackage2 are specified.

During the build process, the publishers are checked in the order they are listed. If packages are not found at the first publisher, the next publisher is searched for the specified packages.

<software name="transfer-ips-install" type="IPS">
   <destination>
      <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
            href="/usr/share/distro_const/lang_facets.xml"/>
   </destination>
   <source>
      <publisher name="solaris">
          <origin name="http://pkg.oracle.com/solaris/release"/>
      </publisher>
      <publisher name="mypublisher">
         <origin name="http://mypublisher.company.com"/>
      </publisher>
   </source>
   <software_data action="install">
        <name>pkg:/group/system/solaris-large-server</name>
        <name>pkg:/system/install/text-install</name>
        <name>pkg:/system/install/media/internal</name>
        <name>pkg:/mypackage1</name>
        <name>pkg:/mypackage2</name>
   </software_data>
</software>

List the Packages to Uninstall

You can use the software_data element with the uninstall attribute to uninstall an individual package or a group package definition.


Note -  A group package definition binds all the individual packages within that group into one unit that can be acted upon only as a group.

The uninstall attribute is particularly useful if you want to install a full group package but you want to omit one or more individual packages from that group. You can use the uninstall attribute to remove the group package definition and then uninstall individual packages that were installed as part of the group package.

For example, the default Live Media installation image includes a Firefox browser in the desktop group package. To omit the Firefox browser from an image you want to build, you would do the following:

  1. Install the solaris-desktop group package that includes all the software for the usual Live Media desktop. See List the Packages to Install.

  2. Uninstall the solaris-desktop group package definition.

    <software_data action="uninstall">
       <name>pkg:/group/system/solaris-desktop</name>
    </software_data>

    This action uninstalls only the group package definition, which means that the individual packages are no longer bound into a group definition. All the individual packages within that group are still installed.

  3. Use the uninstall attribute again to uninstall the Firefox package.

    <software_data action="uninstall">
       <name>pkg:/web/browser/firefox</name>
    </software_data>

    Tip  -  You can combine steps 2 and 3 into one entry as follows:
    <software_data action="uninstall">
       <name>pkg:/group/system/solaris-desktop</name>
       <name>pkg:/web/browser/firefox</name>
    </software_data>

Append any additional packages to be uninstalled at the end of the uninstall section of the software_data element.

Specify the Publisher for an Installed System

The source element nested within the transfer-ips-install attribute affects a system after that system has been installed with the image created by using the distribution constructor. It specifies information such as the publisher names and optional mirror names to specify where the installed system can access additional packages.

You can also set IPS attributes in this element. See the IPS property information on the pkg(1) man page.