
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

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.

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

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.

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.

Launch an Oracle Linux instance
Now you are ready to launch an Oracle Linux instance.

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.


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

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

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.

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 opc@129.213.18.44
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.
[opc@oracle-linux-7-4-vm1 ~]$ 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.
[opc@oracle-linux-7-4-vm1 ~]$ sudo bash
[root@oracle-linux-7-4-vm1 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]? y
Installing [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.
[opc@oracle-linux-7-4-vm1 ~]$ sudo bash
[root@oracle-linux-7-4-vm1 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!
[root@oracle-linux-7-4-vm1 opc]# docker --version
Docker version 17.06.2-ol, build d02b7ab
Once the installation is completed, you start the docker service.
[root@oracle-linux-7-4-vm1 opc]# systemctl start docker
[root@oracle-linux-7-4-vm1 opc]# systemctl enable docker
Created symlink from /etc/systemd/system/multi-user.target.wants/docker.service to /usr/lib/systemd/system/docker.service.
[root@oracle-linux-7-4-vm1 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.
[root@oracle-linux-7-4-vm1 opc]# docker login container-registry-ash.oracle.com
Username: honglin.su@oracle.com
Password:
Login Succeeded
[root@oracle-linux-7-4-vm1 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.

Use the SSH key file created in the previous step.

After the Console Connection is created, follow the steps below to access the serial console.
- Click the Actions icon (
) 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.iad.abuwcljrbinnqbhvourtxbcahyuv3becxt62ul7a4ze2g2kitgipretoqiqq@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).

Proceed to register the system:
[root@oracle-linux-7-4-vm1 opc]# uln_register

Provide your login, password and CSI to continue:

Identify the profile to use on the ULN web page:

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

Send profile information to the Unbreakable Linux Network:

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
).

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

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 yum
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)

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)

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 opc@129.213.18.44
[opc@oracle-linux-7-4-vm1 ~]$ sudo bash
[root@oracle-linux-7-4-vm1 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.
[root@oracle-linux-7-4-vm1 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 opc@129.213.25.169
[opc@oracle-linux-6-9-vm1 ~]$ sudo bash
[root@oracle-linux-6-9-vm1 opc]# prelink -au
[root@oracle-linux-6-9-vm1 opc]# yum remove prelink
[root@oracle-linux-6-9-vm1 opc]# yum install -y ksplice
[root@oracle-linux-6-9-vm1 opc]# yum install glibc* openssl*
[root@oracle-linux-6-9-vm1 opc]# reboot
Now you use the enhanced Ksplice client to perform user space patching:
[root@oracle-linux-7-4-vm1 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:
[root@oracle-linux-7-4-vm1 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.

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.