Managing Software Sources

OS Management uses software sources to provide packages to instances, and to track the available updates to those packages.

A software source is simply a collection of packages. Software sources enable you to control which packages can be installed on instances without having to manually log in and configure the repositories on each instance.

Oracle Linux 8 also uses software sources to provide module streams to instances. For more information, see Managing Module Streams and Profiles.

Important

Software sources are available only for Oracle Linux instances at this time.

The following tasks for managing software sources are covered in this topic:

  • Adding (attaching) software sources to managed instances and managed instance groups
  • Removing (detaching) software sources from managed instances and managed instance groups
  • Creating custom software sources
  • Deleting software sources

About Software Sources

As part of the OS Management service, standard software sources are provided in the root compartment of the tenancy. The standard software sources are linked to the standard upstream repositories for the operating system. When OS Management is enabled for an instance, the default software sources for the operating system are added to the instance. You can add or remove software sources as needed.

Software Sources for Oracle Linux

Standard software sources are either parent (or base) sources or child sources. In addition to the standard software sources, you can create your own custom software sources.
Parent Software Source
The main software source for an Oracle Linux release is nominated as the parent software source. An instance can only have one parent software source, but any number of child sources.
Child Software Sources
A child software source usually provides packages that are not available in the base software source.
Software Source Examples
  • Parent software source: Oracle Linux 7 Latest (x86_64).
    • Child software source: Oracle Linux 7 Addons (x86_64).
    • Child software source: Oracle Linux 7 Development Packages (x86_64).
Important

  • The parent source must match the major release of the image used in the instance (for example, Oracle Linux 7 is a major release). Applying a parent or child source from one major release to another major release is not supported. For example, you cannot add the Oracle Linux 8 parent to an Oracle Linux 7 instance.

  • The OS Management service does not currently support moving from one major release to the next major release. However, the OS Management service does support moving from one minor release to another minor release. For example, you can move from Oracle Linux 7 Update 6 to Oracle Linux 7 Update 7. You can manage these updates as follows:

Custom Software Source

Custom software sources can be derived from the standard software sources or other custom sources. Custom sources enable you to create specific sets of packages that you want to manage and apply to instances. For example, you can create a software source with a custom package list tailored for your Bring Your Own Image (BYOI) images.

Important

You cannot upload your own packages from private yum repositories or mirrors to custom software sources. If you use private yum repositories, you can configure the OS Management service to ignore them, preventing the OS Management Service Agent plugin from overwriting the settings for those repositories. For more information, see Ignoring Private Repositories.

Adding Software Sources

Tip

If you are adding a software source that is replacing an older source, be sure to remove the older software source that is no longer required.
To add software sources for a managed instance

  1. Open the navigation menu, click Compute, and then click Instances.
  2. Under List Scope, select the compartment that contains the instance.
  3. Find the instance and click its name.
  4. On the Instance Details page, under Resources, click OS Management.
  5. Click the Actions icon (three dots) and click View OS Management Details.
  6. Click Software Sources.
  7. On the Software Sources table, click Add.
  8. In the Add Software Sources panel, find and select the software sources you want to add.
  9. Click Add.
To add software sources for a managed instance group
  1. Open the navigation menu and click Compute. Under OS Management, click Managed Instance Groups.
  2. Under List Scope, select the compartment that contains the managed instance group where you want to add the software source.
  3. On the row of the managed instance group, click the Actions icon (three dots) and click Add Software Source.
  4. In the Add Software Sources panel, find and select the software sources you want to add.
  5. Click Add Software Source.

Removing Software Sources

Note

Removing a software source does not remove packages that were installed from the software source on your system. For example, suppose you are moving from UEK R5 to UEK R6. You add the software source for UEK R6 and then remove the software source for UEK R5. Any installed UEK R5 packages are still on your system. Those packages, however, are no longer updated because the software source has been removed and thus could appear in events, such as security scans. For information about removing packages, see Removing Packages.
To remove software sources for a managed instance

  1. Open the navigation menu, click Compute, and then click Instances.
  2. In the List Scope section, select the compartment that contains the instance.
  3. Find the instance and click its name.
  4. On the instance detail page, under Resources, click OS Management.
  5. Click the Actions icon (three dots) and click View OS Management Details.
  6. On the Managed Instance Details page, click Software Sources.
  7. In the Software Sources table, select the software sources to be removed.
  8. Click Remove.
  9. In the Remove Software Source dialog box, click Remove to confirm the action.
    Important

    If the selected software source is a parent source, this action removes (detaches) the parent source and all child software sources from the managed instance.
  10. Click Close after the software sources are removed.
To remove software source for a managed instance group

  1. Open the navigation menu and click Compute. Under OS Management, click Managed Instance Groups.
  2. Under List Scope, select the compartment that contains the managed instance group where you want to remove software sources.
  3. On the row of the managed instance group, click the Actions icon (three dots) and click Remove Software Source.
  4. In the Remove Software Sources panel find and select the software sources you want to remove.
  5. Click Remove Software Source.

Creating a Custom Software Source

To create a custom software source
  1. Open the navigation menu and click Compute. Under OS Management, click Software Sources.
  2. Under List Scope, select the compartment where you want to create the software source.
  3. Click Create Software Source
  4. In the Create Software Source panel, enter the following:
    • Name: The name of the software source.

    • Description: An optional description of the software source.

    • Architecture: The architecture of the packages in the software source, for example x86_64.

    • Parent Software Source:

      • To create a child software source:

        1. Click Select Parent Software Source.

        2. In the Select Parent Software Source panel, choose the Compartment from which to select the parent software source.

        3. From the table, select the check box next to the name of an available software source to use as the parent for the child software source.

        4. Click Select Parent.

      • To create a parent (base) software source, use the default setting, None.

  5. Click Submit.
To add packages to a custom software source

  1. Open the navigation menu and click Compute. Under OS Management, click Software Sources.
  2. Under List Scope, select the compartment that contains the software source.
  3. Find the software source and click its name.
  4. Under the Available Packages table, click Add Package.
  5. In the Add Package panel, under Choose a Software Source click Select Software Source to select a different software source to use for adding packages to the custom software source.
  6. In the Select Software Source panel, choose the Compartment from which to select the software source.
  7. From the table, select an available software source. The packages for the selected source source are then populated on the Add Package panel.
  8. Find and select the packages you want to add.
  9. Click Add .
To remove packages from a custom software source

  1. Open the navigation menu and click Compute. Under OS Management, click Software Sources.
  2. In the List Scope section, select the compartment that contains the software source.
  3. Find the custom software source and click its name.
  4. Under the Available Packages section, find and select the packages you want to remove.
  5. Click Remove.
  6. In the Remove Software Source dialog box, click Remove.

Deleting Software Sources

To delete a software source

  1. Open the navigation menu and click Compute. Under OS Management, click Software Sources.
  2. In the List Scope section, select the compartment that contains the software source.
  3. Find the software source you want to delete and select it.
  4. Click Delete.
  5. In the Delete Software Source dialog box, click Delete to confirm the action.
    Note

    If a parent software source has any child software sources, they must be deleted before the parent software source can be deleted.

Ignoring Private Repositories

Note

You cannot use your own private yum repositories or mirrors with the OS Management service. If you have private yum repositories, you can configure the OS Management service to ignore them, thus preventing the OS Management Service Agent plugin from overwriting the settings for those repositories.

To configure OS Management to ignore private repositories
  1. Log in to your instance. See Connecting to an Instance.
  2. Create a file named ignored_repos.conf in the /etc/oracle-cloud-agent/plugins/osms directory.
  3. Add the name of your private repositories (one entry per line) to the /etc/oracle-cloud-agent/plugins/osms/ignored_repos.conf file.

    For example:

    private_repo_one.repo
    private_repo_two.repo
    Note

    Use the actual repository filenames in /etc/yum.repos.d that are used for your private repositories.
  4. Save the file.
  5. Restart the Oracle Cloud Agent service.
    Oracle Linux 7 and Oracle Linux 8
    sudo systemctl restart oracle-cloud-agent.service
    Oracle Linux 6
    sudo initctl restart oracle-cloud-agent

    After the Oracle Cloud Agent restarts, the OS Management Service Agent plugin removes the *.repo.osms-backup extension from those repositories and ignores anything in the yum.repo.d directory that matches the repository entries in the ignored_repos.conf file.

    Note

    OS Management features, such as scheduling updates, do not work with private repositories.

Using the API

For information about using the API and signing requests, see REST APIs and Security Credentials. For information about SDKs, see Software Development Kits and Command Line Interface.

Use these API operations for managing software sources:

For a full list of API operations available for the OS Management service, see OS Management API.