1 Introduction
Oracle Linux software, updates, patches and applications are usually organized in
the form of RPM packages that contain all the relevant parts of an application (e.g.
binaries, configuration files, libraries). In this module, participants will learn how to
install and manage packages on Oracle Linux 6.
With a few basic exercises we will introduce the learner to some ways to perform
Linux package management in Oracle Linux 6. We will also cover Ksplice Zero
Downtime Patching technology which is a unique feature of Oracle Linux operating
system. Upon completion of this lab participants will have learned how to install,
update, and remove Linux packages using different utilities and methods.
2 Overview
In this lab well be practicing Oracle Linux 6 Package Management tasks. We will
install, remove and update RPM packages using both the RPM and YUM utilities. We
will install the Oracle RDBMS Server 11gR2 Pre-install RPM package and explain the
purpose of this package. Well briefly review setting up a local yum repository.
Finally, we will also discuss Ksplice patching and how it can help improve uptime
and increase security of your Oracle Linux 6 systems.
Some of the topics and concepts well review are listed below.
This practice can be accomplished with a single VirtualBox Oracle Linux 6.3
instance. You must have finished the Installation lab and already have an instance
of Oracle Linux 6.3 running in your VirtualBox environment.
OL 6 - Lab 03
Page 2 of 66
A current 64 bit laptop with at least 2GB RAM and 20GB free disk space
Operating system: A 64-bit version of Microsoft Windows, Mac OS X, Linux
or Solaris. Alternatively, a 32-bit host OS installed on a 64-bit CPU with VTx/AMD-V enabled in the BIOS.
Oracle VirtualBox Software 4.2.10 or later (with Extension Pack installed)
Oracle Linux 6.3 instance running inside VirtualBox:
o VM Image Provided by instructor or downloaded on your own
o Installed in Lab 1 of Oracle Linux 6 Boot camp
The following assumptions have been made regarding the environment where this
lab is being performed:
1. Network connectivity to the Internet is available
2. Your Oracle Linux 6.3 VirtualBox instance has been installed and youve
assigned a normal user/password and a root user password.
a. The recommended user name is student1
b. The recommended password is oracle
c. The recommended root password is oracle
OL 6 - Lab 03
Page 3 of 66
OL 6 - Lab 03
Page 4 of 66
OL 6 - Lab 03
Page 5 of 66
OL 6 - Lab 03
Page 6 of 66
OL 6 - Lab 03
Page 7 of 66
You should now see the Oracle Linux 6.3 ISO image file get mounted on your
desktop. Double click the mounted DVD image to open the file manager and view the
contents of the DVD image.
OL 6 - Lab 03
Page 8 of 66
The DVD ISO image file was mounted on /media and the mount name includes
spaces in the directory name. Using a directory with spaces in the name may be a bit
tricky and hence we will unmount this DVD image and mount it on a new mount
point with a new name that does not include spaces in the directory name.
To unmount the DVD image, right click the DVD media icon on your desktop, and
select the Unmount option as shown in the screenshot below. This will keep the DVD
media inserted the virtual drive and will allow us to mount it to a new directory
mount point.
OL 6 - Lab 03
Page 9 of 66
Once the DVD media has been unmounted, we will create a new directory name
without any spaces in the name of the directory and then mount the DVD ISO image
file to that new directory.
Create a new directory called /OL6DVD on your Oracle Linux 6.3 system. Next, use
the mount command as shown below to mount the DVD device to this new directory
called /OL6DVD.
[root@examplehost /]# mkdir /OL6DVD
[root@examplehost /]# mount /dev/sr0 /OL6DVD
mount: block device /dev/sr0 is write-protected, mounting
read-only
[root@examplehost /]#
OL 6 - Lab 03
Page 10 of 66
You can run the mount command to verify that the Oracle Linux DVD ISO image file
has indeed been mounted on the /OL6DVD mount point.
[root@examplehost /]# mount
/dev/mapper/vg_examplehost-lv_root on / type ext4 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
tmpfs on /dev/shm type tmpfs
(rw,rootcontext="system_u:object_r:tmpfs_t:s0")
/dev/sda1 on /boot type ext4 (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)
gvfs-fuse-daemon on /root/.gvfs type fuse.gvfs-fuse-daemon
(rw,nosuid,nodev)
/dev/sr0 on /OL6DVD type iso9660 (ro)
[root@examplehost /]#
OL 6 - Lab 03
Page 11 of 66
Change directory and review the contents of the mounted DVD ISO image file as
shown below.
[root@examplehost /]# cd /OL6DVD/
[root@examplehost OL6DVD]# ls
EFI
Packages
ResilientStorage
EULA
README-en
eula.en_US
README-en.html
KEY-oracle
eula.py
RELEASE-NOTES-en
ScalableFileSystem
GPL
RELEASE-NOTES-en.html
HighAvailability RELEASE-NOTES-x86_64-en
images
RELEASE-NOTES-x86_64-en.html
isolinux
RELEASE-NOTES-x86-en
LoadBalancer
RELEASE-NOTES-x86-en.html
media.repo
repodata
[root@examplehost OL6DVD]#
RPM-GPG-KEY
RPM-GPG-
Server
supportinfo
TRANS.TBL
UEK2
OL 6 - Lab 03
Page 12 of 66
We will now configure this mounted DVD image file as a local package repository
that can be used by yum command to install packages. As mentioned earlier, this
learning exercise can be performed to install packages in situations where you do
not have internet access and cannot use the Oracle Public Yum Server.
Use a text editor of your preference to create a configuration file
/etc/yum.repos.d/local.repo as shown below.
[root@examplehost ~]# vi /etc/yum.repos.d/local.repo
[root@examplehost ~]#
[root@examplehost ~]# cat /etc/yum.repos.d/local.repo
[local]
name=OL6u3 DVD Repository
baseurl=file:///OL6DVD
[root@examplehost ~]#
OL 6 - Lab 03
Page 13 of 66
Next, verify using the yum repolist command and confirm that you can see a
repository with the name local in the list. If you see the local repository in the
output that means the DVD based repository is now available as repository.
[root@examplehost ~]# yum repolist
Loaded plugins: refresh-packagekit, security
repo id
repo name
status
local
OL6u3 DVD Repository
3,563
ol6_UEK_latest
Latest Unbreakable Enterprise Kernel for
Oracle Linux 6Server (x86_64)
120
ol6_latest
Oracle Linux 6Server Latest (x86_64)
18,409
repolist: 22,092
[root@examplehost ~]#
OL 6 - Lab 03
Page 14 of 66
We will install a package from this local yum repository now to verify that is
working correctly.
For this exercise, we will install the lsscsi rpm package. Before we install this
package, verify two things:
1. Make sure lsscsi rpm is not pre-installed using rpm q lsscsi command
2. Make sure you disable all the enabled channels in the
/etc/yum.repos.d/public-yum-ol6.repo file
3. List repositories using yum repolist to make sure only the local repository is
available
[root@examplehost ~]#rpm q lsscsi
package lsscsi is not installed
Edit and disable all channels by setting enabled=0 for all channels:
[root@examplehost ~]# cd /etc/yum.repos.d/
[root@examplehost ~]# vi public-yum-ol6.repo
Verify that only repository available is the local repository using the yum repolist
command:
[root@examplehost ~]#yum repolist
OL 6 - Lab 03
Page 15 of 66
We will now install the lsscsi rpm from the local repository using the yum
command to verify that it is working correctly. Run the commands shown below:
[root@examplehost yum.repos.d]# yum install lsscsi
Click y to proceed with installation of lsscsi rpm package. Note the Repository
name is listed as local in the above screenshot and this confirms that we are using
the local repository (DVD image) to install this package.
OL 6 - Lab 03
Page 16 of 66
Once the lsscsi package has been installed, you may run the yum info command to
find more information about this package as shown below.
[root@examplehost yum.repos.d]# yum info lsscsi
OL 6 - Lab 03
Page 17 of 66
Purpose
rpm -i
Install package
rpm -U
Upgrade package
rpm -e
Erase/remove package
rpm -F
rpm -q
Query option
rpm -V
Verify option
The Oracle Linux 6.3 instance should be up and running and you should be logged in
as the Oracle Linux user with a terminal window opened to enter the following
commands. Your host and the VirtualBox guest system must be able to connect to
the Internet in order to download additional software packages.
We will start this lab by reading the man page of rpm command. Run the man rpm
command on your Oracle Linux 6.3 system and go through the common options and
their purpose.
[root@examplehost ~]# man rpm
OL 6 - Lab 03
Page 18 of 66
OL 6 - Lab 03
Page 19 of 66
To query for all packages with the string ssh in the package name, run the following
rpm command:
[root@examplehost /]# rpm -qa | grep ssh
openssh-server-5.3p1-81.el6_3.x86_64
libssh2-1.2.2-11.el6_3.x86_64
openssh-clients-5.3p1-81.el6_3.x86_64
openssh-5.3p1-81.el6_3.x86_64
openssh-askpass-5.3p1-81.el6_3.x86_64
[root@examplehost /]#
OL 6 - Lab 03
Page 20 of 66
To query for an individual package, you can run the rpm command as follows:
[root@examplehost /]# rpm -q openssh-server
openssh-server-5.3p1-81.el6_3.x86_64
[root@examplehost /]#
To check if package foo is installed on your Oracle Linux 6.3 system:
[root@examplehost /]# rpm -q foo
package foo is not installed
[root@examplehost /]#
In addition to the name and version, there is other information available, e.g. the
build and installation date, license, size as well as a short summary and longer
description of the package content. In the example below, we use the i query option
to list the details of tcsh rpm package.
OL 6 - Lab 03
Page 21 of 66
Note: Observe in the above output that the qi option also shows you the Install
Date of a package.
If you want to find out which RPM a file on your Oracle Linux 6.3 system belongs to
you can run the following rpm query command. In the example below we find a file
/etc/motd on our Oracle Linux 6.3 system and want to find out which package
installed this file on the system.
[root@examplehost /]# ls -l /etc/motd
-rw-r--r--. 1 root root 0 Jan 12 2010 /etc/motd
[root@examplehost /]#
[root@examplehost /]# rpm -qf /etc/motd
setup-2.8.14-16.el6.noarch
[root@examplehost /]#
OL 6 - Lab 03
Page 22 of 66
Another cool query option that can be used to find out the list of all files that are
part of a particular package is the ql option. In the example below, we list all files
in the openssh-server package.
OL 6 - Lab 03
Page 23 of 66
The -d query option displays documentation files only in a particular package. In the
example below, the output shows all the documentation and man pages associated
with the openssh-server package.
[root@examplehost /]# rpm -qd openssh-server
/usr/share/doc/openssh-server-5.3p1/HOWTO.ssh-keycat
/usr/share/man/man5/moduli.5.gz
/usr/share/man/man5/sshd_config.5.gz
/usr/share/man/man8/sftp-server.8.gz
/usr/share/man/man8/sshd.8.gz
[root@examplehost /]#
To list all the configuration files associated with a package, you can use the c query
option of the rpm command as shown below.
OL 6 - Lab 03
Page 24 of 66
There is one more useful option that can be used with the rpm query commands. It
is the --changelog option. The --changelog option displays change information for a
package. In the example below, we look at changes that happened in different
versions of the httpd package.
[root@examplehost /]# rpm -q httpd --changelog
OL 6 - Lab 03
Page 25 of 66
OL 6 - Lab 03
Page 26 of 66
In the above examples, we installed RPM packages that were locally available on the
system. Using the rpm command, you can also install packages using other
protocols like http. In the example, below we will install the ftp RPM package from
the Oracle Public Yum Server. You will need internet connectivity for this exercise.
OL 6 - Lab 03
Page 27 of 66
To update a package, you can use the u option of the rpm command as shown in
the example below. This option works only if an update for a package is available. If
no updates are available, it will not do anything (as in example below).
[root@examplehost /]# rpm -Uhv http://publicyum.oracle.com/repo/OracleLinux/OL6/3/base/x86_64/getPackag
e/ftp-0.17-51.1.el6.x86_64.rpm
Retrieving http://publicyum.oracle.com/repo/OracleLinux/OL6/3/base/x86_64/getPackag
e/ftp-0.17-51.1.el6.x86_64.rpm
Preparing...
########################################### [100%]
package ftp-0.17-51.1.el6.x86_64 is already installed
[root@examplehost /]#
OL 6 - Lab 03
Page 28 of 66
Similarly, the f option is to freshen a package installed on your system. This will
also work only if there is a newer version of a package available than what is
installed on your system.
To erase/remove a package from your system, you can run the rpm command with
the e option. In the example below, we remove the ftp package.
[root@examplehost Packages]# rpm -e ftp
[root@examplehost Packages]#
[root@examplehost Packages]# rpm -q ftp
package ftp is not installed
[root@examplehost Packages]#
OL 6 - Lab 03
Page 29 of 66
The V option of rpm command is the verify option and can be used to verify the
integrity of a file or package installed on your system using checksum for
verification. If this command shows no output and exits it means that none of the
files have been modified in any way since the last time the RPM database was
updated. In the example below, we verify the integrity of openssh-server package
using V option and also the integrity of /etc/pam.d/sshd file on the system using
the Vf option.
[root@examplehost
[root@examplehost
[root@examplehost
[root@examplehost
If you would like to explore the remaining options of rpm command, go through the
man pages and try them out on your system. This concludes the lab on rpm
command.
OL 6 - Lab 03
Page 30 of 66
Purpose
repolist
list
install
Install package
update
Update package
info
Remove or erase
Remove package
Provides or whatprovides
clean
As we did in the earlier lab, we will start this lab by reading the man page of yum
command. Run the man yum command on your Oracle Linux 6.3 system and go
through the common options and their purpose.
[root@examplehost ~]# man yum
OL 6 - Lab 03
Page 31 of 66
Make sure you have internet connectivity and the following two channels enabled in
the /etc/yum.repos.d/public-yum-ol6.repo file:
[ol6_latest]
[ol6_uek_latest]
OL 6 - Lab 03
Page 32 of 66
If you do not have the public-yum-ol6.repo file on your system, you can use the
wget http://public-yum.oracle.com/public-yum-ol6.repo command to get that file
and then make sure both the above channels are enabled.
[root@examplehost ~]# cd /etc/yum.repos.d/
[root@examplehost yum.repos.d]# wget http://publicyum.oracle.com/public-yum-ol6.repo
OL 6 - Lab 03
Page 33 of 66
After you have enabled the channels in the repository configuration file (publicyum-ol6.repo file), you can verify the available repositories by running the yum
repolist command.
[root@examplehost /]# yum repolist
OL 6 - Lab 03
Page 34 of 66
OL 6 - Lab 03
Page 35 of 66
We will now install a package using the yum command. In the example below, we
first check using rpm to see if ftp package is already installed. If it is installed,
remove it first using the e option.
[root@examplehost /]# rpm -q ftp
ftp-0.17-51.1.el6.x86_64
[root@examplehost /]# rpm -e ftp
[root@examplehost /]# rpm -q ftp
package ftp is not installed
[root@examplehost /]#
OL 6 - Lab 03
Page 36 of 66
After removing the ftp package, install this package using the yum install
command as shown below.
[root@examplehost /]# yum install ftp
Loaded plugins: refresh-packagekit, security
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package ftp.x86_64 0:0.17-51.1.el6_3.1 will be
installed
--> Finished Dependency Resolution
......
......
Installed size: 95 k
Is this ok [y/N]: y
Downloading Packages:
.....
.....
Installed:
ftp.x86_64 0:0.17-51.1.el6_3.1
Complete!
[root@examplehost /]#
OL 6 - Lab 03
Page 37 of 66
Observe the above output and note that the ftp package was installed from the
ol6_latest channel repository on the Oracle Public Yum Server.
You can list any package installed using the yum list <package> command. In the
example below, we list the ftp package that was just installed.
[root@examplehost /]# yum list ftp
Loaded plugins: refresh-packagekit, security
Installed Packages
ftp.x86_64
0.17-51.1.el6_3.1
@ol6_latest
[root@examplehost /]#
OL 6 - Lab 03
Page 38 of 66
OL 6 - Lab 03
Page 39 of 66
OL 6 - Lab 03
Page 40 of 66
To remove a package, you can run the yum remove command as shown in the
example below where we are removing the ftp package.
[root@examplehost /]# yum remove ftp
Loaded plugins: refresh-packagekit, security
Setting up Remove Process
Resolving Dependencies
--> Running transaction check
---> Package ftp.x86_64 0:0.17-51.1.el6_3.1 will be erased
--> Finished Dependency Resolution
Dependencies Resolved
....
....
....
Removed:
ftp.x86_64 0:0.17-51.1.el6_3.1
Complete!
[root@examplehost /]#
OL 6 - Lab 03
Page 41 of 66
The yum clean all command can be used to clean the yum cache directory. See
more details of the things that can be cleaned from the yum cache directory by
reading the man pages of the yum command.
[root@examplehost /]# yum clean all
Loaded plugins: refresh-packagekit, security
Cleaning repos: local ol6_UEK_latest ol6_latest
Cleaning up Everything
[root@examplehost /]#
OL 6 - Lab 03
Page 42 of 66
OL 6 - Lab 03
Page 43 of 66
OL 6 - Lab 03
Page 44 of 66
We have now tried out some of the common yum command line options.
Lets now look at the yumdownloader command. The yumdownloader command
can be used to download RPM packages from the yum repositories. In the example
below, we will create a /tmp/myrpm directory and then use the yumdownloader
command to download the ftp RPM package to that directory.
OL 6 - Lab 03
Page 45 of 66
Now that we have looked at yum command line examples, lets look at the yum
configuration file /etc/yum.conf and understand all the parameters in this file.
Read the man pages of yum.conf file by running the man yum.conf command.
[root@examplehost /]# man yum.conf
OL 6 - Lab 03
Page 46 of 66
After reading the man pages of yum.conf configuration file, examine the
/etc/yum.conf file on your system. Review all the options and look at the default
values. Go through this file and make sure you understand each option as described
in the man pages.
Some of the important options in yum.conf file are listed below; this is not a
complete list. Refer to man pages of yum.conf for complete list and more details.
cachedir - stores cache and db files
keepcache - Determines whether or not yum keeps the cache of headers and
packages after successful installation. Value1 means keep cache
debuglevel - Debug message output level. Practical range is 0-10. Default is 2.
installonlypkgs - List of package provides that should only ever be installed, never
updated. Kernels in particular fall into this category.
installonly_limit - Number of packages listed in installonlypkgs to keep installed at
the same time. Setting to 0 disables this feature. Default is 3.
OL 6 - Lab 03
Page 47 of 66
OL 6 - Lab 03
Page 48 of 66
As you can see the cat command above did not find any pre-existing oracle
user/group on this system.
Install the oracle-rdbms-server-11gR2-preinstall package using the yum
command as shown below.
OL 6 - Lab 03
Page 49 of 66
OL 6 - Lab 03
Page 50 of 66
OL 6 - Lab 03
Page 51 of 66
As you can see from the above output, this package have created oracle user and
group needed to perform an Oracle DB 11g R2 installation.
This package also makes changes to the /etc/sysctl.conf file and adds settings that
are required for Oracle DB 11g. You can check the changes made using the cat
command as shown below.
OL 6 - Lab 03
Page 52 of 66
OL 6 - Lab 03
Page 53 of 66
This package also makes changes to the /etc/security/limits.conf file and adds
settings that are required for Oracle DB 11g. You can check the changes made using
the cat command as shown below.
[root@examplehost /]# cat /etc/security/limits.conf | grep
oracle
# oracle-rdbms-server-11gR2-preinstall setting for nofile
soft limit is 1024
oracle
soft
nofile
1024
# oracle-rdbms-server-11gR2-preinstall setting for nofile
hard limit is 65536
oracle
hard
nofile
65536
# oracle-rdbms-server-11gR2-preinstall setting for nproc
soft limit is 2047
oracle
soft
nproc
2047
# oracle-rdbms-server-11gR2-preinstall setting for nproc
hard limit is 16384
oracle
hard
nproc
16384
# oracle-rdbms-server-11gR2-preinstall setting for stack
soft limit is 10240KB
oracle
soft
stack
10240
# oracle-rdbms-server-11gR2-preinstall setting for stack
hard limit is 32768KB
oracle
hard
stack
32768
[root@examplehost /]#
OL 6 - Lab 03
Page 54 of 66
Well, that completes this lab exercise. We will not be doing the actual Database
installation in this boot camp. If you are interested in learning how to do a Database
install on Oracle Linux 6, you can refer to this Viewlet.
OL 6 - Lab 03
Page 55 of 66
Enhanced Security
Improved Serviceability
Standard
Local
Offline
Note: Installation of Ksplice is very simple but it requires a license key. If your
instructor provides you with a trial license key, you can do the following Ksplice lab.
If the trial license key is unavailable, you will not be able to perform the Ksplice lab
but you can however go through the following Viewlet which covers the standard
mode of operation for Ksplice:
Getting Started with Ksplice Zero Downtime Updates
The above viewlet will show you how to install and use Ksplice Zero downtime
updates on your Oracle Linux 6 systems. To learn about the Local and Offline modes,
you can refer to this blog and also the Ksplice Users Guide. We have also provided
some other resources in the References section below.
OL 6 - Lab 03
Page 56 of 66
OL 6 - Lab 03
Page 57 of 66
OL 6 - Lab 03
Page 58 of 66
As you can see from the above screenshot, you need to provide the Ksplice trial
access key that you received from your instructor as the argument to the sh installuptrack command. Run the sh install-uptrack <ACCESS KEY> command to install
the Ksplice software. See example below.
[root@examplehost]# sh install-uptrack <ACCESS KEY ##>
OL 6 - Lab 03
Page 59 of 66
OL 6 - Lab 03
Page 60 of 66
The Ksplice Uptrack service is now installed. Check the initial kernel version of your
Oracle Linux 6 system using the uname r command. In the example below, the
initial kernel version is 2.6.39-400.17.1.
[root@examplehost ~]# uname -r
2.6.39-400.17.1.el6uek.x86_64
[root@examplehost ~]#
OL 6 - Lab 03
Page 61 of 66
There are a couple of different ways to check for available kernel updates. You can
use the rpm query command or the yum list command as shown below to check
for available updates. In the example below, we check for UEK kernel updates using
the yum list kernel-uek command. The output shows that there is a new kernel
update available and its version is 2.6.39-400.17.2.
[root@examplehost ~]# yum list kernel-uek
You can also check for available Ksplice updates using the uptrack-show --available
command. As you can see in the output below, this command also shows that there
is a Ksplice update available.
[root@examplehost ~]# uptrack-show --available
OL 6 - Lab 03
Page 62 of 66
You can also run the uptrack-uname r command to check the effective kernel
version.
[root@examplehost ~]# uptrack-uname -r
This shows how easily you updated the kernel version of your Oracle Linux 6 system
without rebooting the system and while your applications were running on the
system. Ksplice Uptrack service applies the kernel updates in memory of the system.
Run the uname r command and you will notice that it continues to show the old
kernel version. We do this intentionally by design because some applications are not
used to kernel version changes underneath them while they are running and
because of some other technical reasons. Hence it is recommended to use the
uptrack-uname command on Ksplice enabled systems.
[root@examplehost ~]# uname -r
OL 6 - Lab 03
Page 63 of 66
To find out what Ksplice updates are installed on an Oracle Linux 6 system, you can
run the uptrack-show command as shown in the example below.
[root@examplehost ~]# uptrack-show
The good thing about Ksplice updates are that they are easy to remove as well. If you
install a Kernel update using Ksplice and for some reason want to back out and go
back to the original kernel version you can do that using the uptrack-remove
command. You can run the uptrack-remove command to remove all updates or
specific updates using the update IDs.
Run the uptrack-remove command to remove the installed Ksplice updates. In the
example below, we do not remove the Ksplice updates by answering N to abort.
[root@examplehost ~]# uptrack-remove --all
OL 6 - Lab 03
Page 64 of 66
Oracle Ksplice patches are stored locally on the file system in /var/cache/uptrack
directory and by default will automatically be re-applied after a reboot.
Ksplice also offers a web interface that can you used to manage your Ksplice enabled
systems. If you are interested in seeing the Ksplice web interface, you can ask your
instructor to use the Ksplice Uptrack account to log in and demonstrate the available
functionality. This concludes the short lab on using Ksplice zero downtime patching.
OL 6 - Lab 03
Page 65 of 66
7 References
For more information and next steps, please consult additional resources: Click the
hyperlinks to access the resource.
Oracle Linux 6 Yum Documentation
Oracle Linux 6 ULN Documentation
Ksplice Users Guide
Ksplice (PDF)
Ksplice Offline (PDF)
Ksplice (FAQ)
OL 6 - Lab 03
Page 66 of 66