Forum Stats

  • 3,853,184 Users
  • 2,264,189 Discussions
  • 7,905,280 Comments

Discussions

Getting Started: Oracle Linux for Oracle Cloud Infrastructure

4278768
4278768 Member Posts: 1

image

Introduction

In this getting started guide, we'll show you a few simple steps to launch an Oracle Linux instance on Oracle Cloud Infrastructure and go on to perform some administrative tasks:

  • Patch the kernel with Ksplice
  • Install Oracle Container Runtime for Docker
  • Use Oracle Container Registry
  • Access the serial console
  • Register the Oracle Linux instance with the Unbreakable Linux Network
  • Patch the select user space packages with Ksplice

Those new to Oracle Cloud Infrastructure should refer to the Getting Started section in the Oracle Cloud Infrastructure documentation.

Task flow overview to launch your first Oracle Linux instance

Follow these few simple steps to launch your first Oracle Linux instance:

  • Prepare a key pair
  • Choose a compartment for your resources
  • Prepare a cloud network
  • Launch an Oracle Linux instance
  • Connect to the Oracle Linux instance

image2017-11-1 12-29-14.png

Prepare a key pair

Instances in Oracle Cloud Infrastructure use a Secure Shell (SSH) key pair instead of a password to authenticate a remote user. If you have already had an SSH-2 RSA key pair, you can use it to access Oracle Cloud Infrastructure.

If you don't have an SSH-2 RSA key pair, you can use the ssh-keygen command to generate the key pair from an Oracle Linux instance or any other Linux/UNIX environment. Or if you are using Microsoft Windows client, you can use PuTTY key generator. If you are creating an instance of Oracle Linux 8, the instance creation page will include the option of generating the key pair for you and providing you with the private key.

You use the ssh-keygen command and follow the interactive prompt to generate the key pair.

$ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/home/honsu/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/honsu/.ssh/id_rsa.
Your public key has been saved in /home/honsu/.ssh/id_rsa.pub.

Alternatively you use a complete ssh-keygen command to generate the key pair.

  • -t argument is to specify the RSA algorithm.
  • -N argument is to specify a passphrase, which you can leave it blank.
  • -b argument is to specify a 2048-bit key, which is the default value.
  • -C argument is to specify a name to identify the key.
  • -f argument is to specify the location where the key pair will be saved and the root name for the files.
$ ssh-keygen -t rsa -N "" -b 2048 -C mykey -f ~/.ssh/mykey
Generating public/private rsa key pair.
Your identification has been saved in /home/honsu/.ssh/mykey.
Your public key has been saved in /home/honsu/.ssh/mykey.pub.

Choose a compartment for your resources

Oracle Cloud Infrastructure uses the term compartment to describe a collection of related resources (such as cloud networks, compute instances, or block volumes) that you organize and manage within your account. The root compartment is the top level compartment within your account, which is created automatically when your account is provisioned by Oracle Cloud Infrastructure.

Log into the Oracle Cloud Infrastructure console.

image2017-10-31 10-36-10.png

In the example below, note that the root compartment is ovm.

Screen Shot 2020-07-02 at 10.50.49 AM.png

If you don't already have a compartment, create one to start organizing your computing resources. In the example below, the ovm-demo compartment is being created.

image2017-10-31 11-56-1.png

Prepare a cloud network

Next you need to create a virtual cloud network (VCN) to launch the Oracle Linux instance into. In the example below, we choose the default values when creating a VCN ovm-network which is placed within the compartment ovm-demo. For information about VCN features and how to customize your deployment, see Overview of Networking.

Screen Shot 2020-07-02 at 11.03.18 AM.png

Launch an Oracle Linux instance

Now you are ready to launch an Oracle Linux instance.

Screen Shot 2020-07-02 at 11.11.04 AM.png

The example below creates an Oracle Linux instance using the shape VM.Standard2.1 based on an Oracle Linux 7.8 instance released by Oracle on April 8, 2020. You need to use the ssh key file you created earlier.

Screen Shot 2020-07-02 at 11.58.06 AM.png

Screen Shot 2020-07-02 at 11.58.30 AM.png

After you click "Launch Instance", the Oracle Linux 7.8 instance is being provisioned.

Screen Shot 2020-07-02 at 1.18.55 PM.png

After a few seconds, the status is changed from "PROVISIONING" to "RUNNING".

Screen Shot 2020-07-02 at 1.20.12 PM.png

You now click the instance name "Oracle-Linux-7.8-vm1" to see the details of the instance and write down the public IP address which you'll use to connect to the instance in the next step.

Screen Shot 2020-07-02 at 1.22.09 PM.png

Connect to an Oracle Linux instance

Now you connect to the newly provisioned Oracle Linux instance by using an SSH client to access its public IP address.

$ ssh –i <private_key> <username>@<public-ip-address>
  • <private_key> is the full path and name of the file that contains the private key associated with the instance.
  • <username> is the default name for the instance. For Oracle Linux instance, the default user name is opc.
  • <public-ip-address> is your instance IP address that you retrieved from the Oracle Cloud Infrastructure console in the previous step.
$ ssh -i ~/.ssh/mykey [email protected]
The authenticity of host '129.213.18.44 (129.213.18.44)' can't be established.
ECDSA key fingerprint is SHA256:zs59184625kJ4W1gYwikSXna7JfoLrTAaDmdbp6lThA.
ECDSA key fingerprint is MD5:c2:2a:06:e8:58:16:91:e0:8d:d0:50:62:bc:df:fb:e6.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '129.213.18.44' (ECDSA) to the list of known hosts.
[[email protected] ~]$ uname -a
Linux oracle-linux-7-4-vm1 4.1.12-103.7.3.el7uek.x86_64 #2 SMP Tue Oct 10 11:12:18 PDT 2017 x86_64 x86_64 x86_64 GNU/Linux

When you’re logged in as the default user, opc, you can use the sudo command to run administrative tasks.

Perform Administrative Tasks

Patch the kernel with Ksplice

Oracle Ksplice has been installed by default for Oracle Linux instances in Oracle Cloud Infrastructure. For example, with the new instances of Oracle Linux 7.8 and Oracle Linux 6.9, all you need to do is to use uptrack-upgrade to apply the Ksplice updates, and your Oracle Linux instance is up to date with all the latest security fixes for the kernel.

[[email protected] ~]$ sudo bash
[[email protected] opc]# uptrack-upgrade
The following steps will be taken:
Install [mhqlv7mz] Improve the interface to freeze tasks.
Install [bkqzbjke] CVE-2017-1000112: Privilege escalation using the UDP Fragmentation Offload (UFO) code.
Install [fo9qzlz2] CVE-2017-7542: Buffer overflow when parsing IPV6 fragments header.

Go ahead [y/N]? yInstalling [mhqlv7mz] Improve the interface to freeze tasks.Installing [bkqzbjke] CVE-2017-1000112: Privilege escalation using the UDP Fragmentation Offload (UFO) code.Installing [fo9qzlz2] CVE-2017-7542: Buffer overflow when parsing IPV6 fragments header.Your kernel is fully up to date.Effective kernel version is 4.1.12-103.7.4.el7uek

To use Ksplice to apply security updates for the select user space packages, you need to register your system with the Unbreakable Linux Network, which is covered in the later section of the guide. To manage Ksplice zero-downtime updates, visit the Oracle Ksplice documentation for further details.

Install Oracle Container Runtime for Docker

The Oracle Linux 7 instance provisioned in Oracle Cloud Infrastructure is ready to install Oracle Container Runtime for Docker. You use yum install docker-engine command to install the latest release of Oracle Container Runtime for Docker.

[[email protected] ~]$ sudo bash
[[email protected] opc]# yum install docker-engine
Loaded plugins: langpacks, ulninfo
ksplice-uptrack                                                                                                        |  951 B  00:00:00
ol7_UEKR4                                                                                                              | 1.2 kB  00:00:00
ol7_addons                                                                                                             | 1.2 kB  00:00:00
ol7_developer                                                                                                          | 1.2 kB  00:00:00
ol7_developer_EPEL                                                                                                     | 1.2 kB  00:00:00
ol7_latest                                                                                                             | 1.4 kB  00:00:00
ol7_optional_latest                                                                                                    | 1.2 kB  00:00:00
ol7_preview                                                                                                            | 1.2 kB  00:00:00
ol7_software_collections                                                                                               | 1.2 kB  00:00:00
(1/18): ol7_addons/x86_64/updateinfo                                                                                   |  39 kB  00:00:00
(2/18): ol7_developer/x86_64/updateinfo                                                                                |  134 B  00:00:00
(3/18): ol7_developer/x86_64/primary                                                                                   |  29 kB  00:00:00
(4/18): ol7_developer_EPEL/x86_64/updateinfo                                                                           | 1.4 kB  00:00:00
(5/18): ol7_addons/x86_64/primary                                                                                      |  78 kB  00:00:00
(6/18): ol7_developer_EPEL/x86_64/primary                                                                              | 450 kB  00:00:00
(7/18): ksplice-uptrack/7Server/x86_64/primary                                                                         | 2.0 kB  00:00:00
(8/18): ol7_latest/x86_64/group                                                                                        | 681 kB  00:00:00
(9/18): ol7_latest/x86_64/updateinfo                                                                                   | 1.6 MB  00:00:00
(10/18): ol7_optional_latest/x86_64/updateinfo                                                                         | 1.2 MB  00:00:00
(11/18): ol7_preview/x86_64/updateinfo                                                                                 |  132 B  00:00:00
(12/18): ol7_preview/x86_64/primary                                                                                    | 4.6 kB  00:00:00
(13/18): ol7_UEKR4/x86_64/updateinfo                                                                                   | 130 kB  00:00:00
(14/18): ol7_software_collections/updateinfo                                                                           | 8.7 kB  00:00:00
(15/18): ol7_optional_latest/x86_64/primary                                                                            | 5.0 MB  00:00:00
(16/18): ol7_software_collections/primary                                                                              | 3.0 MB  00:00:00
(17/18): ol7_latest/x86_64/primary                                                                                     |  30 MB  00:00:00
(18/18): ol7_UEKR4/x86_64/primary                                                                                      |  23 MB  00:00:00
ksplice-uptrack                                                                                                                           7/7
ol7_UEKR4                                                                                                                             471/471
ol7_addons                                                                                                                            249/249
ol7_developer                                                                                                                         105/105
ol7_developer_EPEL                                                                                                                  1376/1376
ol7_latest                                                                                                                        23117/23117
ol7_optional_latest                                                                                                               16475/16475
ol7_preview                                                                                                                             24/24
ol7_software_collections                                                                                                          10058/10058
Resolving Dependencies
--> Running transaction check
---> Package docker-engine.x86_64 0:17.06.2.ol-1.0.1.el7 will be installed
--> Processing Dependency: container-selinux >= 2.9 for package: docker-engine-17.06.2.ol-1.0.1.el7.x86_64
--> Processing Dependency: libltdl.so.7()(64bit) for package: docker-engine-17.06.2.ol-1.0.1.el7.x86_64
--> Running transaction check
---> Package container-selinux.noarch 2:2.21-1.el7 will be installed
---> Package libtool-ltdl.x86_64 0:2.4.2-22.el7_3 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

==============================================================================================================================================
Package                              Arch                      Version                                   Repository                     Size
==============================================================================================================================================
Installing:
docker-engine                        x86_64                    17.06.2.ol-1.0.1.el7                      ol7_addons                     21 M
Installing for dependencies:
container-selinux                    noarch                    2:2.21-1.el7                              ol7_addons                     28 k
libtool-ltdl                         x86_64                    2.4.2-22.el7_3                            ol7_latest                     48 k

Transaction Summary
==============================================================================================================================================
Install  1 Package (+2 Dependent packages)

Total download size: 21 M
Installed size: 74 M
Is this ok [y/d/N]: y
Downloading packages:
(1/3): container-selinux-2.21-1.el7.noarch.rpm                                                                         |  28 kB  00:00:00
(2/3): libtool-ltdl-2.4.2-22.el7_3.x86_64.rpm                                                                          |  48 kB  00:00:00
(3/3): docker-engine-17.06.2.ol-1.0.1.el7.x86_64.rpm                                                                   |  21 MB  00:00:00
----------------------------------------------------------------------------------------------------------------------------------------------
Total                                                                                                          23 MB/s |  21 MB  00:00:00
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Installing : 2:container-selinux-2.21-1.el7.noarch                                                                                      1/3
  Installing : libtool-ltdl-2.4.2-22.el7_3.x86_64                                                                                         2/3
  Installing : docker-engine-17.06.2.ol-1.0.1.el7.x86_64                                                                                  3/3
  Verifying  : libtool-ltdl-2.4.2-22.el7_3.x86_64                                                                                         1/3
  Verifying  : docker-engine-17.06.2.ol-1.0.1.el7.x86_64                                                                                  2/3
  Verifying  : 2:container-selinux-2.21-1.el7.noarch                                                                                      3/3

Installed:
  docker-engine.x86_64 0:17.06.2.ol-1.0.1.el7

Dependency Installed:
  container-selinux.noarch 2:2.21-1.el7                                  libtool-ltdl.x86_64 0:2.4.2-22.el7_3

Complete!
[[email protected] opc]# docker --version
Docker version 17.06.2-ol, build d02b7ab

Once the installation is completed, you start the docker service.

[[email protected] opc]# systemctl start docker
[[email protected] opc]# systemctl enable docker
Created symlink from /etc/systemd/system/multi-user.target.wants/docker.service to /usr/lib/systemd/system/docker.service.
[[email protected] opc]# systemctl status docker
¿ docker.service - Docker Application Container Engine
   Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled)
  Drop-In: /etc/systemd/system/docker.service.d
           ¿¿docker-sysconfig.conf
   Active: active (running) since Tue 2017-10-31 22:26:27 GMT; 21s ago
     Docs: https://docs.docker.com
Main PID: 7128 (dockerd)
   CGroup: /system.slice/docker.service
           ¿¿7128 /usr/bin/dockerd --selinux-enabled
           ¿¿7134 docker-containerd -l unix:///var/run/docker/libcontainerd/docker-containerd.sock --metrics-interval=0 --start-timeout 2m ...

You can review Oracle Container Runtime for Docker and Oracle Linux Container Services for use with Kubernetes User's Guide for further information on how to use and manage Docker containers.

Use Oracle Container Registry

The Oracle Container Registry is the trusted source of Oracle software as Docker containers. Oracle Cloud Infrastructure customers can use the mirrored Oracle Container Registry inside Oracle Cloud Infrastructure such as container-registry-phx.oracle.com or container-registry-ash.oracle.com to pull the appropriate Docker containers. Because all network traffic stays within the Oracle Cloud data centers, no Internet traffic bandwidth is consumed, and no network charges are incurred.

[[email protected] opc]# docker login container-registry-ash.oracle.com
Username: [email protected]
Password:
Login Succeeded
[[email protected] opc]# docker pull container-registry-ash.oracle.com/os/oraclelinux:7-slim
7-slim: Pulling from os/oraclelinux
5c1d2430f67a: Pull complete
Digest: sha256:986504e314cb1485826fe0fffc76159bdc3d0a967d8783088bb85651c413a7ff
Status: Downloaded newer image for container-registry-ash.oracle.com/os/oraclelinux:7-slim

Access the serial console

To enable serial console access to your Oracle Linux instance, click the instance name "Oracle-Linux-7.8-vm1" to see the details of the instance you created, scroll down to the Resources area, and click "Console Connections" on the lefthand menu. Here you can create a new Console Connection.

Screen Shot 2020-07-02 at 1.48.10 PM.png

Use the SSH key file created in the previous step.

Screen Shot 2020-07-02 at 1.48.35 PM.png

After the Console Connection is created, follow the steps below to access the serial console.

  • Click the Actions icon (actions.png) to obtain the Connection String Information.
  • Click the corresponding "Copy Serial Console Connection..." option for your operating system
  • Paste the connection string copied from the previous step to a terminal window using an SSH client. Modify the serial console connection string to include the identity file flag, -i to specify the SSH key to use. You need to specify this for both the SSH connection and the SSH ProxyCommand, as shown in the following snippet:
$ ssh -i /<path>/<ssh_key> -o ProxyCommand='ssh -i /<path>/<ssh_key> -W %h:%p -p 443...

To access the serial console created in the previous example, use the command below:

$ ssh -i ~/.ssh/mykey -o ProxyCommand='ssh -i ~/.ssh/mykey -W %h:%p -p 443 ocid1.instanceconsoleconnection.oc1.i[email protected]instance-console.us-ashburn-1.oraclecloud.com' ocid1.instance.oc1.iad.abuwcljrhz6i7tdfmca6f3nxtes6fozdoavub43qjqlmhfxmrcb743qsfiba
The authenticity of host 'ocid1.instance.oc1.iad.abuwcljrhz6i7tdfmca6f3nxtes6fozdoavub43qjqlmhfxmrcb743qsfiba (<no hostip for proxy command>)' can't be established.
RSA key fingerprint is SHA256:6Jsnvqtw1ttR0cZ5BfqTOUq59sd9mopAIUJRPTtgo3Y.
RSA key fingerprint is MD5:fb:1c:41:17:63:17:e7:7b:fb:df:5e:c4:1c:c7:9a:f6.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'ocid1.instance.oc1.iad.abuwcljrhz6i7tdfmca6f3nxtes6fozdoavub43qjqlmhfxmrcb743qsfiba' (RSA) to the list of known hosts.

Oracle Linux Server 7.4
Kernel 4.1.12-103.7.3.el7uek.x86_64 on an x86_64

oracle-linux-7-4-vm1 login:

Register the Oracle Linux instance with the Unbreakable Linux Network

With Oracle Cloud Infrastructure subscriptions, you can use the comprehensive resources of the Unbreakable Linux Network (ULN).

First, open a browser https://linux.oracle.com/register and follow the prompt to register as a ULN user with your Oracle Cloud Infrastructure Customer Support Identifier (CSI).

image2017-11-3 9-30-29.png

Proceed to register the system:

[[email protected] opc]# uln_register

image2017-11-3 9-36-53.png

Provide your login, password and CSI to continue:

image2017-11-3 13-49-58.png

Identify the profile to use on the ULN web page:

image2017-11-3 13-51-18.png

Determine which RPMs packages on this system you want to include in your system profile:

image2017-11-3 13-52-33.png

Send profile information to the Unbreakable Linux Network:

image2017-11-3 13-57-52.png

Optionally you may configure your system to use ULN to perform Ksplice zero-downtime updates for the kernel and the select user space packages (openssl and glibc).

image2017-11-3 14-5-24.png

Log into http://linux.oracle.com with your ULN user name and password, the Oracle Linux system is now registered with ULN.

image2017-11-3 14-31-34.png

The Oracle Cloud Infrastructure CSIs are only valid for the Oracle Linux instances in the Cloud to access ULN and receive Oracle Linux Premier Support. For the on-premises systems to access ULN, you need purchase Oracle Linux Support subscriptions.

For additional information about the Unbreakable Linux Network and how to use <span class="command">yum</span> with ULN to manage your systems, please refer to Oracle Linux Unbreakable Linux Network User Guide.

Patch the select user space packages with Ksplice

The Ksplice enhanced client is available for Oracle Linux 7 and Oracle Linux 6 that can patch in-memory pages of Ksplice-aware shared libraries such as glibc and openssl for user space processes in addition to the kernel updates of the traditional Ksplice Uptrack client.

After you register your Oracle Linux instances in the Oracle Cloud Infrastructure with ULN, you register them to use Oracle Ksplice on ULN.

  • From your browser, log in to ULN linux.oracle.com with your existing user name and password. the ULN home page displays the Ksplice Uptrack Registration button.
  • Click Ksplice Uptrack Registration. The screen displays all valid Customer Support Identifiers (CSIs) for your account.
  • Select the CSI that you want to use and click Register. The screen displays an acknowledgment that a Ksplice account has been created and that an e-mail containing the Ksplice access key has been sent to your e-mail account.

The Oracle Linux instances in Oracle Cloud Infrastructure have a default Ksplice access key to patch the kernel without registration. In order to use the Ksplice enhanced client to patch the select user space packages, modify /etc/uptrack/uptrack.conf to use the Ksplice access key received in the email and comment out update_repo_url to use ULN as the Ksplice Uptrack updates repository.

[Auth]
# accesskey = dfc21b3ced9af52f6a8760c1b1860f928ba240970a3612bb354c84bb0ce5903e
accesskey = Your Ksplice access key received in the email
# The location of the Uptrack updates repository.
# update_repo_url=https://oraclecloud-updates-ksplice.oracle.com/update-repository

Subscribe to the Ksplice channels on ULN by logging into linux.oracle.com. Select the system and choose "Manage Subscriptions".

For Oracle Linux 7, the two Ksplice channels are:

  • Ksplice for Oracle Linux 7 (x86_64)
  • Ksplice aware userspace packages for Oracle Linux 7 (x86_64)

image2017-11-3 14-55-23.png

For Oracle Linux 6, the two Ksplice channels are:

  • Ksplice for Oracle Linux 6 (x86_64)
  • Ksplice aware userspace packages for Oracle Linux 6 (x86_64)

image2017-11-3 14-57-31.png

We use the Oracle Linux 7 as the example below. Log into your Oracle Linux system and install the enhanced Ksplice client:

$ ssh -i ~/.ssh/mykey [email protected]
[[email protected] ~]$ sudo bash
[[email protected] opc]# yum install -y ksplice
Loaded plugins: langpacks, rhnplugin, ulninfo
This system is receiving updates from ULN.
ol7_x86_64_addons                                                                                                    | 1.2 kB  00:00:00
ol7_x86_64_addons/updateinfo                                                                                         |  39 kB  00:00:00
ol7_x86_64_addons/primary                                                                                            |  78 kB  00:00:00
ol7_x86_64_addons                                                                                                                   249/249
ol7_x86_64_userspace_ksplice                                                                                         | 1.2 kB  00:00:00
ol7_x86_64_userspace_ksplice/updateinfo                                                                              |  19 kB  00:00:00
ol7_x86_64_userspace_ksplice/primary                                                                                 |  63 kB  00:00:00
ol7_x86_64_userspace_ksplice                                                                                                        261/261
Resolving Dependencies
--> Running transaction check
---> Package ksplice.x86_64 0:1.0.25-1.el7 will be installed
--> Processing Dependency: ksplice-tools = 1.0.25-1.el7 for package: ksplice-1.0.25-1.el7.x86_64
--> Processing Dependency: ksplice-core0 = 1.0.25-1.el7 for package: ksplice-1.0.25-1.el7.x86_64
--> Running transaction check
---> Package ksplice-core0.x86_64 0:1.0.25-1.el7 will be installed
--> Processing Dependency: libboost_filesystem-mt.so.1.53.0()(64bit) for package: ksplice-core0-1.0.25-1.el7.x86_64
--> Processing Dependency: libboost_regex-mt.so.1.53.0()(64bit) for package: ksplice-core0-1.0.25-1.el7.x86_64
--> Processing Dependency: libboost_python-mt.so.1.53.0()(64bit) for package: ksplice-core0-1.0.25-1.el7.x86_64
---> Package ksplice-tools.x86_64 0:1.0.25-1.el7 will be installed
--> Running transaction check
---> Package boost-filesystem.x86_64 0:1.53.0-27.el7 will be installed
---> Package boost-python.x86_64 0:1.53.0-27.el7 will be installed
---> Package boost-regex.x86_64 0:1.53.0-27.el7 will be installed
--> Processing Dependency: libicuuc.so.50()(64bit) for package: boost-regex-1.53.0-27.el7.x86_64
--> Processing Dependency: libicudata.so.50()(64bit) for package: boost-regex-1.53.0-27.el7.x86_64
--> Processing Dependency: libicui18n.so.50()(64bit) for package: boost-regex-1.53.0-27.el7.x86_64
--> Running transaction check
---> Package libicu.x86_64 0:50.1.2-15.el7 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

============================================================================================================================================
Package                             Arch                      Version                          Repository                             Size
============================================================================================================================================
Installing:
ksplice                             x86_64                    1.0.25-1.el7                     ol7_x86_64_ksplice                    5.0 k
Installing for dependencies:
boost-filesystem                    x86_64                    1.53.0-27.el7                    ol7_x86_64_latest                      67 k
boost-python                        x86_64                    1.53.0-27.el7                    ol7_x86_64_latest                     128 k
boost-regex                         x86_64                    1.53.0-27.el7                    ol7_x86_64_latest                     300 k
ksplice-core0                       x86_64                    1.0.25-1.el7                     ol7_x86_64_ksplice                    232 k
ksplice-tools                       x86_64                    1.0.25-1.el7                     ol7_x86_64_ksplice                     88 k
libicu                              x86_64                    50.1.2-15.el7                    ol7_x86_64_latest                     6.9 M

Transaction Summary
============================================================================================================================================
Install  1 Package (+6 Dependent packages)

Total download size: 7.7 M
Installed size: 28 M
Downloading packages:
(1/7): boost-filesystem-1.53.0-27.el7.x86_64.rpm                                                                     |  67 kB  00:00:00
(2/7): boost-python-1.53.0-27.el7.x86_64.rpm                                                                         | 128 kB  00:00:00
(3/7): boost-regex-1.53.0-27.el7.x86_64.rpm                                                                          | 300 kB  00:00:00
(4/7): ksplice-1.0.25-1.el7.x86_64.rpm                                                                               | 5.0 kB  00:00:00
(5/7): ksplice-core0-1.0.25-1.el7.x86_64.rpm                                                                         | 232 kB  00:00:00
(6/7): ksplice-tools-1.0.25-1.el7.x86_64.rpm                                                                         |  88 kB  00:00:00
(7/7): libicu-50.1.2-15.el7.x86_64.rpm                                                                               | 6.9 MB  00:00:08
--------------------------------------------------------------------------------------------------------------------------------------------
Total                                                                                                       671 kB/s | 7.7 MB  00:00:11
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Installing : boost-python-1.53.0-27.el7.x86_64                                                                                        1/7
  Installing : boost-filesystem-1.53.0-27.el7.x86_64                                                                                    2/7
  Installing : libicu-50.1.2-15.el7.x86_64                                                                                              3/7
  Installing : boost-regex-1.53.0-27.el7.x86_64                                                                                         4/7
  Installing : ksplice-core0-1.0.25-1.el7.x86_64                                                                                        5/7
  Installing : ksplice-tools-1.0.25-1.el7.x86_64                                                                                        6/7
  Installing : ksplice-1.0.25-1.el7.x86_64                                                                                              7/7
  Verifying  : ksplice-1.0.25-1.el7.x86_64                                                                                              1/7
  Verifying  : ksplice-core0-1.0.25-1.el7.x86_64                                                                                        2/7
  Verifying  : boost-regex-1.53.0-27.el7.x86_64                                                                                         3/7
  Verifying  : libicu-50.1.2-15.el7.x86_64                                                                                              4/7
  Verifying  : ksplice-tools-1.0.25-1.el7.x86_64                                                                                        5/7
  Verifying  : boost-filesystem-1.53.0-27.el7.x86_64                                                                                    6/7
  Verifying  : boost-python-1.53.0-27.el7.x86_64                                                                                        7/7

Installed:
  ksplice.x86_64 0:1.0.25-1.el7

Dependency Installed:
  boost-filesystem.x86_64 0:1.53.0-27.el7          boost-python.x86_64 0:1.53.0-27.el7          boost-regex.x86_64 0:1.53.0-27.el7
  ksplice-core0.x86_64 0:1.0.25-1.el7              ksplice-tools.x86_64 0:1.0.25-1.el7          libicu.x86_64 0:50.1.2-15.el7

Complete!

Install the Ksplice-aware versions of the user space libraries on your Oracle Linux 7 system.

[[email protected] opc]# yum update glibc* openssl*
Loaded plugins: langpacks, rhnplugin, ulninfo
This system is receiving updates from ULN.
Resolving Dependencies
--> Running transaction check
---> Package glibc.x86_64 0:2.17-196.el7 will be updated
---> Package glibc.x86_64 2:2.17-196.ksplice1.el7 will be an update
--> Processing Dependency: ksplice-helper for package: 2:glibc-2.17-196.ksplice1.el7.x86_64
--> Processing Dependency: libksplice_helper.so()(64bit) for package: 2:glibc-2.17-196.ksplice1.el7.x86_64
---> Package glibc-common.x86_64 0:2.17-196.el7 will be updated
---> Package glibc-common.x86_64 2:2.17-196.ksplice1.el7 will be an update
---> Package openssl.x86_64 1:1.0.2k-8.0.1.el7 will be updated
---> Package openssl.x86_64 2:1.0.2k-8.ksplice1.el7 will be an update
---> Package openssl-libs.x86_64 1:1.0.2k-8.0.1.el7 will be updated
---> Package openssl-libs.x86_64 2:1.0.2k-8.ksplice1.el7 will be an update
--> Running transaction check
---> Package ksplice-helper.x86_64 0:1.0.25-1.el7 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

============================================================================================================================================
Package                      Arch                 Version                                 Repository                                  Size
============================================================================================================================================
Updating:
glibc                        x86_64               2:2.17-196.ksplice1.el7                 ol7_x86_64_userspace_ksplice               3.6 M
glibc-common                 x86_64               2:2.17-196.ksplice1.el7                 ol7_x86_64_userspace_ksplice                11 M
openssl                      x86_64               2:1.0.2k-8.ksplice1.el7                 ol7_x86_64_userspace_ksplice               491 k
openssl-libs                 x86_64               2:1.0.2k-8.ksplice1.el7                 ol7_x86_64_userspace_ksplice               1.2 M
Installing for dependencies:
ksplice-helper               x86_64               1.0.25-1.el7                            ol7_x86_64_userspace_ksplice                17 k

Transaction Summary
============================================================================================================================================
Install             ( 1 Dependent package)
Upgrade  4 Packages

Total download size: 17 M
Is this ok [y/d/N]: y
Downloading packages:
Delta RPMs disabled because /usr/bin/applydeltarpm not installed.
(1/5): glibc-2.17-196.ksplice1.el7.x86_64.rpm                                                                        | 3.6 MB  00:00:02
(2/5): glibc-common-2.17-196.ksplice1.el7.x86_64.rpm                                                                 |  11 MB  00:00:14
(3/5): ksplice-helper-1.0.25-1.el7.x86_64.rpm                                                                        |  17 kB  00:00:00
(4/5): openssl-1.0.2k-8.ksplice1.el7.x86_64.rpm                                                                      | 491 kB  00:00:00
(5/5): openssl-libs-1.0.2k-8.ksplice1.el7.x86_64.rpm                                                                 | 1.2 MB  00:00:01
--------------------------------------------------------------------------------------------------------------------------------------------
Total                                                                                                       860 kB/s |  17 MB  00:00:19
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Installing : ksplice-helper-1.0.25-1.el7.x86_64                                                                                       1/9
  Updating   : 2:glibc-common-2.17-196.ksplice1.el7.x86_64                                                                              2/9
  Updating   : 2:glibc-2.17-196.ksplice1.el7.x86_64                                                                                     3/9
  Updating   : 2:openssl-libs-1.0.2k-8.ksplice1.el7.x86_64                                                                              4/9
  Updating   : 2:openssl-1.0.2k-8.ksplice1.el7.x86_64                                                                                   5/9
  Cleanup    : 1:openssl-1.0.2k-8.0.1.el7.x86_64                                                                                        6/9
  Cleanup    : 1:openssl-libs-1.0.2k-8.0.1.el7.x86_64                                                                                   7/9
  Cleanup    : glibc-2.17-196.el7.x86_64                                                                                                8/9
  Cleanup    : glibc-common-2.17-196.el7.x86_64                                                                                         9/9
  Verifying  : ksplice-helper-1.0.25-1.el7.x86_64                                                                                       1/9
  Verifying  : 2:glibc-common-2.17-196.ksplice1.el7.x86_64                                                                              2/9
  Verifying  : 2:openssl-libs-1.0.2k-8.ksplice1.el7.x86_64                                                                              3/9
  Verifying  : 2:openssl-1.0.2k-8.ksplice1.el7.x86_64                                                                                   4/9
  Verifying  : 2:glibc-2.17-196.ksplice1.el7.x86_64                                                                                     5/9
  Verifying  : 1:openssl-libs-1.0.2k-8.0.1.el7.x86_64                                                                                   6/9
  Verifying  : glibc-common-2.17-196.el7.x86_64                                                                                         7/9
  Verifying  : glibc-2.17-196.el7.x86_64                                                                                                8/9
  Verifying  : 1:openssl-1.0.2k-8.0.1.el7.x86_64                                                                                        9/9

Dependency Installed:
  ksplice-helper.x86_64 0:1.0.25-1.el7

Updated:
  glibc.x86_64 2:2.17-196.ksplice1.el7            glibc-common.x86_64 2:2.17-196.ksplice1.el7     openssl.x86_64 2:1.0.2k-8.ksplice1.el7
  openssl-libs.x86_64 2:1.0.2k-8.ksplice1.el7

Complete!

And finally, reboot the system so that it uses the new ksplice-aware user space libraries glibc and openssl.

Oracle Linux 6 has prelink installed and enabled by default, you need to perform an extra step to remove prelink before you install the Ksplice enhanced client.

$ ssh -i ~/.ssh/mykey [email protected]
[[email protected] ~]$ sudo bash
[[email protected] opc]# prelink -au
[[email protected] opc]# yum remove prelink
[[email protected] opc]# yum install -y ksplice
[[email protected] opc]# yum install glibc* openssl*
[[email protected] opc]# reboot

Now you use the enhanced Ksplice client to perform user space patching:

[[email protected] opc] ksplice -y user upgrade
Updating on-disk packages for new processes
Loaded plugins: langpacks, rhnplugin, ulninfo
This system is receiving updates from ULN.
ol7_x86_64_userspace_ksplice                             | 1.2 kB     00:00
No packages marked for update
100% |#########################################################################|
Nothing to do.

and perform kernel patching as well:

[[email protected] opc]# ksplice -y kernel upgrade
The following steps will be taken:
Install [jwzqu6k1] Kernel hang in directory entry invalidation race.
Installing [jwzqu6k1] Kernel hang in directory entry invalidation race.
Your kernel is fully up to date.
Effective kernel version is 4.1.12-103.9.2.el7uek

You can log into the Ksplice system status portal status-ksplice.oracle.com to view the status of your registered systems, the patches that have been applied, and the patches that are available. You can also create access control groups for your registered systems.

image2017-11-4 7-0-58.png

To learn more how to manage the Ksplice enhanced client, how to subscribe to Oracle Linux Unbreakable Linux Network, or how to configure Ksplice offline enhanced client, visit the resources below:

Explore advanced topics

We provide additional resources to help you make the best use of Oracle Linux for Oracle Cloud Infrastructure.

Comments