Getting Started: Oracle Linux for Oracle Cloud Infrastructure

Version 6

    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 Kpslice
    • 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.

     

    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 that the root compartment is ovm.

     

    image2017-10-31 10-36-34.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 been 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 option "CREATE VIRTUAL CLOUD NETWORK PLUS RELATED RESOURCES" with 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.

    image2017-10-31 23-6-14.png

     

    Launch an Oracle Linux instance

     

    Now you are ready to launch an Oracle Linux instance.

     

    image2017-10-31 13-23-48.png

     

    The example below creates an Oracle Linux instance using the shape VM.Standard1.1 based on an Oracle Linux 7.4 instance released by Oracle on October 25, 2017.You need to use the ssh key file you created earlier.

     

    image2017-10-31 13-30-58.png

     

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

     

    image2017-10-31 13-35-4.png

     

     

     

     

     

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

     

    image2017-10-31 13-36-40.png

    You now click the instance name "Oracle-Linux-7.4-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.

    image2017-10-31 13-38-42.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 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.4 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, you create a Serial Console Connection from the Resources tab of the Oracle Cloud Infrastructure console.

     

    image2017-10-31 14-15-46.png

    Use the SSH key file created in the previous step.

     

    image2017-10-31 14-18-35.png

    After the Serial 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.
    • Copy the string to the clipboard.
    • 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).

     

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

    Proceed to register the system:

    [root@oracle-linux-7-4-vm1 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 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, a temporary password for Ksplice, and a URL for confirming your registration has been sent to your e-mail account.
    • When you receive the e-mail, open the URL that it contains, and complete the form to confirm your registration.

     

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

     

    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.

     

     

    Learn More about Oracle Linux and Oracle Cloud Infrastructure

     

    Oracle is the only cloud service provider that offers a complete Linux-optimized services stack from a single vendor - applications, middleware, database, management tools, and infrastructure.  The Oracle Linux operating system powers Oracle Cloud, and it is used extensively by thousands of Oracle Cloud customers worldwide.  As a result, you can be assured that when you run Oracle Linux in the Oracle Cloud, you are running on a well-tested and proven secure and reliable foundation.

     

    Oracle Cloud Infrastructure offers high-performance compute capabilities (as physical hardware instances) and storage capacity in a flexible overlay virtual network that is securely accessible from your on-premises network. Oracle provides free trial subscriptions so you can try out and evaluate Oracle Cloud services. Oracle Cloud services are available at several pricing and service levels. Both trial and paid subscriptions are available through http://cloud.oracle.com.

     

    Oracle Linux is the most cost-effective and integrated operating system for Oracle Cloud Infrastructure, with the best platform experience for Oracle and non-Oracle applications alike. With Oracle Cloud Infrastructure subscriptions, Oracle Linux for Oracle Cloud Infrastructure offers the access to complete and latest packages and updates for Oracle Linux, 24x7 expert Linux support, the My Oracle Support portal with an extensive Linux knowledge base, Oracle Ksplice zero-downtime security updates, and the use of Oracle Enterprise Manager Cloud Control to manage and monitor Oracle Linux instances, at no additional cost. In addition, you now have a single point of contact for cloud infrastructure, operating system, and Oracle software support.

     

    For additional information about Oracle Linux and Oracle Cloud Infrastructure, visit