3.8 About Ksplice Offline Client

3.8.1 Modifying a Local Yum Server to Act as a Ksplice Mirror
3.8.2 Updating a Local Yum Server
3.8.3 Configuring Ksplice Offline Clients

Ksplice Offline Client removes the requirement for a server on your intranet to have a direct connection to the Oracle Uptrack server. All available Ksplice updates for each supported kernel version are bundled into an RPM that is specific to that version, and this package is updated every time that a new Ksplice patch becomes available for the kernel.

A Ksplice offline client does not require a network connection to be able to apply the update package to the kernel. For example, you could use rpm to install the update package from a memory stick. However, a more usual arrangement would be to create a local yum server that acts as a mirror of the Ksplice for Oracle Linux channels on ULN. At regular intervals, you download the latest Ksplice update packages to this server. Only the local yum server requires access the Oracle Uptrack server. After installing Ksplice Offline Client on your other systems, they need only to be able to connect to the local yum server.

Note

You cannot use the web interface or the Ksplice Uptrack API to monitor systems that are running Ksplice Offline Client as such systems are not registered with https://uptrack.ksplice.com.

3.8.1 Modifying a Local Yum Server to Act as a Ksplice Mirror

The system that you want to set up as a Ksplice mirror must meet the following criteria:

  • You must have registered the system with ULN.

  • You must have configured the system as a local yum server. See Section 2.8, “Creating and Using a Local ULN Mirror”.

  • The system should also have enough disk space to store copies of the packages that it hosts. As a general rule, you require between 6 and 10 GB of space for the packages of each major release.

To set up a local yum server as a Ksplice mirror:

  1. Using a browser, log in at http://linux.oracle.com with the ULN user name and password that you used to register the system.

  2. On the Systems tab, click the link named for your system in the list of registered machines.

  3. On the System Details page, click Edit.

  4. On the Edit System Properties page, verify that the Yum Server check box is selected and click Apply Changes.

  5. On the System Details page, click Manage Subscriptions.

  6. On the System Summary page, select channels from the list of available or subscribed channels and click the arrows to move the channels between the lists.

    Modify the subscribed channels to include Ksplice for Oracle Linux for the system architectures that you want to support as well as any other channels that you want to make available to local systems.

    For example, the following table shows the channels that are available for Ksplice on Oracle Linux.

    Channel Name

    Channel Label

    Description

    Ksplice for Oracle Linux 5 (i386)

    ol5_i386_ksplice

    Oracle Ksplice clients, updates, and dependencies for Oracle Linux 5 on i386 systems.

    Ksplice for Oracle Linux 5 (x86_64)

    ol5_x86_64_ksplice

    Oracle Ksplice clients, updates, and dependencies for Oracle Linux 5 on x86_64 systems.

    Ksplice for Oracle Linux 6 (i386)

    ol6_i386_ksplice

    Oracle Ksplice clients, updates, and dependencies for Oracle Linux 6 on i386 systems.

    Ksplice for Oracle Linux 6 (x86_64)

    ol6_x86_64_ksplice

    Oracle Ksplice clients, updates, and dependencies for Oracle Linux 6 on x86_64 systems.

    For more information about the release channels that are available, see http://www.oracle.com/technetwork/articles/servers-storage-admin/yum-repo-setup-1659167.html.

  7. When you have finished selecting channels, click Save Subscriptions and log out of ULN.

3.8.2 Updating a Local Yum Server

For details of how to obtain and modify the 167283.sh script, see Section 2.8, “Creating and Using a Local ULN Mirror” .

To update the repositories for the registered channels, run the 167283.sh script on the local yum server:

  • To download only binary RPMs, enter:

    # sh 167283.sh
  • To download both binary and source RPMs, enter:

    # sh 167283.sh src

It is recommended that you set up a cron job to perform this task. For example, the following crontab entry for root runs the script twice per day at 6am and 6pm:

0 6,18 * * * sh /var/downloads/yum/167283.sh

This example assumes that the 167283.sh script is located in the /var/downloads directory.

3.8.3 Configuring Ksplice Offline Clients

Once you have set up a local yum server that can act as a Ksplice mirror, you can configure your other systems to receive yum and Ksplice updates.

To configure a system as a Ksplice offline client:

  1. In the /etc/yum.repos.d directory, edit the existing repository file, such as public-yum-ol6.repo or ULN-base.repo, and disable all entries by setting enabled=0.

  2. In the /etc/yum.repos.d directory, create the file local-yum.repo, which contains entries such as the following for an Oracle Linux 6 client:

    [ol6_x86_64_ksplice]
    name=Ksplice for $releasever - $basearch
    baseurl=http://local_yum_server/yum/OracleLinux/OL6/ksplice/$basearch/
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY
    gpgcheck=1
    enabled=1
    
    [ol6_latest]
    name=Oracle Linux $releasever - $basearch - latest
    baseurl=http://local_yum_server/yum/OracleLinux/OL6/latest/$basearch/
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY
    gpgcheck=1
    enabled=1
    
    [ol6_addons]
    name=Oracle Linux $releasever - $basearch - addons
    baseurl=http://local_yum_server/yum/OracleLinux/OL6/addons/$basearch/
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY
    gpgcheck=1
    enabled=0
    
    [ol6_oracle]
    name=Oracle Linux $releasever - $basearch - oracle
    baseurl=http://local_yum_server/yum/OracleLinux/OL6/oracle/$basearch/
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY
    gpgcheck=1
    enabled=0
    
    [ol6_ga_base]
    name=Oracle Linux $releasever GA - $basearch - base
    baseurl=http://local_yum_server/yum/OracleLinux/OL6/0/base/$basearch/
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY
    gpgcheck=1
    enabled=0
    
    [ol6_u1_base]
    name=Oracle Linux $releasever U1 - $basearch - base
    baseurl=http://local_yum_server/yum/OracleLinux/OL6/1/base/$basearch/
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY
    gpgcheck=1
    enabled=0
    
    [ol6_u2_base]
    name=Oracle Linux $releasever U2 - $basearch - base
    baseurl=http://local_yum_server/yum/OracleLinux/OL6/2/base/$basearch/
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY
    gpgcheck=1
    enabled=0
    
    [ol6_u3_base]
    name=Oracle Linux $releasever U3 - $basearch - base
    baseurl=http://local_yum_server/yum/OracleLinux/OL6/3/base/$basearch/
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY
    gpgcheck=1
    enabled=0
    
    [ol6_ga_patch]
    name=Oracle Linux $releasever GA - $basearch - patch
    baseurl=http://local_yum_server/yum/OracleLinux/OL6/0/patch/$basearch/
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY
    gpgcheck=1
    enabled=0
    
    [ol6_u1_patch]
    name=Oracle Linux $releasever U1 - $basearch - patch
    baseurl=http://local_yum_server/yum/OracleLinux/OL6/1/patch/$basearch/
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY
    gpgcheck=1
    enabled=0
    
    [ol6_u2_patch]
    name=Oracle Linux $releasever U2 - $basearch - patch
    baseurl=http://local_yum_server/yum/OracleLinux/OL6/2/patch/$basearch/
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY
    gpgcheck=1
    enabled=0
    
    [ol6_u3_patch]
    name=Oracle Linux $releasever U3 - $basearch - patch
    baseurl=http://local_yum_server/yum/OracleLinux/OL6/3/patch/$basearch/
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY
    gpgcheck=1
    enabled=0

    Replace local_yum_server with the IP address or resolvable host name of the local yum server.

    In the sample configuration, only the ol6_latest and ol6_x86_64_ksplice channels are enabled.

    Note

    As an alternative to specifying a gpgkey entry for each repository definition, you can use the following command to import the GPG key:

    # rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY
  3. Install the Ksplice offline client.

    # yum install uptrack-offline

    If yum cannot connect to the local yum server, check that the firewall settings on that server allow incoming TCP connections to port 80.

  4. Install the Ksplice updates that are available for the kernel.

    # yum install uptrack-updates-`uname -r`

    For an Oracle Linux 5 client, use this form of the command instead:

    # yum install uptrack-updates-`uname -r`.`uname -m`

    As new Ksplice updates are made available, you can use this command to pick up these updates and apply them. It is recommended that you set up a cron job to perform this task. For example, the following crontab entry for root runs the command once per day at 7am:

    0 7 * * * yum install uptrack-updates-`uname -r`

To display information about Ksplice updates, use the rpm -qa | grep uptrack-updates and uptrack-show commands.