Understanding Software Sources

OS Management Hub provides OS content to Oracle Linux instances using software sources.

A software source is a collection of packages and modules. Use software sources to control the content that's available to instances managed by OS Management Hub. When you add software sources to OS Management Hub, it's on a per region basis.

Software Source Types

Vendor Software Sources

A vendor software source is a repository of content provided by an OS vendor. Vendor software sources reside in the root compartment, but can be replicated to other compartments. Some vendor software sources might be restricted, or be a premium product, requiring an entitlement to unlock access (see Availability).

Vendor software sources are the foundational software source type in OS Management Hub. They're used as the basis for content in custom software sources and versioned custom software sources. You must first add vendor software sources to the service before creating custom software sources.

Guidelines for Adding Vendor Software Sources

When you add vendor sources to OS Management Hub, follow these guidelines:

  • Add at least one vendor software source to OS Management Hub before registering Oracle Linux instances with the service. Oracle Linux instances can't register with OS Management Hub without content available in the service.

    Note

    Autonomous Linux instances require a minimum set of vendor software sources which are automatically added to OS Management Hub when you register an Autonomous Linux instance. For more information, see Mandatory Software Sources.

  • Add at least the minimum software sources to support the OS version of an instance. Some OS versions require multiple vendor software sources. For example, Oracle Linux 8 and Oracle Linux 9 require the BaseOS and AppStream software sources. Also, if you are using Oracle Linux Unbreakable Enterprise Kernel (UEK), you need to add the UEK software source to ensure that instances get kernel updates and patches.
  • Only add the content that's relevant to your environment. This is the first level of control you have over the content available to instances in OS Management Hub. For example, if you aren't using the Ceph Storage repository in Oracle Linux 7 or the Gluster AppStream repository in Oracle Linux 8, don't add those software sources to the service.

Custom Software Sources

A custom software source is a software repository that you create with curated content. You select vendor software sources to use as a base. These must all be of the same OS version and architecture. Then, you refine the set of packages and modules the software source contains using filters or a package list. You can attach custom software sources to instances and groups.

When you create a custom software source, you can choose to have the content automatically update to use the latest packages available. OS Management Hub checks for updates once every 24 hours. You can also select to automatically resolve dependencies.

Using Filters and Package Lists

You can use either filters or a package list to identify specific content that the custom software source contains. You define filters or a package list when creating a custom software source or when editing filters or the package list for a custom software source.

Important

To resolve package and module dependencies, ensure the option to automatically resolve dependencies is selected when you create the software source. Dependency resolution only considers packages within attached software sources. If a dependent package resides in an unattached software source, it will not be included.
Filters

Use filters to either include or exclude content to build custom software sources. The types of filters include:

  • Group to specify a package group.
  • Module to specify a module stream and module stream profile.
  • Package to specify a package name and version. The acceptable package version format is 'epoch:version-release' or 'version-release'. For example, package name: edk2-ovmf and package version: 1:20210616-3.el8.
Package List

Use a package list to specify which packages to include in the custom software source. You can run rpm -qa on a reference instance to create a list of packages.

For example, the format of the packages would be:

pam-1.3.1-27.el8.x86_64
openssl-libs-1.1.1k-12.el8_9.x86_64
libreport-filesystem-2.9.5-15.0.4.el8.x86_64

Versioned Custom Software Sources

A versioned custom software source is a custom software source that's assigned a version designator. You create a versioned custom software source the same way as a custom software source by using filters or a package list to specify content.

A versioned custom software source is distinct from a custom software source in that it's:

  • Immutable, meaning after it's created, you can't change its content. You can't edit filters or the package list after you create the source.
  • Used to manage content for lifecycle environments and can't be directly attached to an instance or group.

Versioned custom software sources are promoted to a lifecycle stage and used to deliver curated, versioned content in a prescribed, methodical manner.

Availability

After adding a vendor software source to the service, the source isn't automatically available to all instances. The availability of the source can differ for OCI instances and on-premises or third-party cloud instances. The availability might differ because some software sources (such as Ksplice) require entitlements for non-OCI instances.

For example, the software source ol8_ksplice-x86_64 is automatically available to OCI instances, but is restricted and requires an entitlement for on-premises or third-party cloud instances. Until you add the entitlement, the Ksplice software source is available only for OCI instances. Another example is oci_included which is available only for OCI instances.

The availability of custom software sources depends on the availability of the vendor software sources that are used to create it. For example, if a custom source uses a vendor source that's available only in OCI, then the custom source will also be available only in OCI.

Check availability of a software source

For software sources that you've added to the service, see the software source's details page.

Possible statuses include:

  • Available for instances in: OCI: The software source is restricted for on-premises or third-party cloud instances, but can be used by OCI instances. Add an entitlement to make it available to on-premises or third-party cloud instances.
  • Available for instances in: OCI, On premises, 3rd-party cloud: The software source can be used by all instances.
  • Available for instances in: -: The software source hasn't yet been added to the service for use by instances. Add the vendor software source to make it available.

Haven't added the vendor software source yet? Check the Restricted status of a source on the add a vendor software source dialog.

Possible statuses include:

  • - (dash): The software source isn't restricted. It can be used by all instance types.
  • Unavailable in non-OCI: The software source isn't restricted, but isn't valid for use by on-premises or third-party cloud instances. For example, ol8_oci_included-x86_64 which provides packages only used by OCI instances.
  • OCI use only: The software source is restricted and can't be used by on-premises or third-party cloud until you add an entitlement.

Management Station Mirrors

An instance assigned the role of management station mirrors and distributes software sources to instances on premises or in supported third-party clouds. Management stations only mirror the software sources required to support the instances that use it. For more information, see Understanding Mirror Syncing.