To install a new version of the kernel, you can use
the command yum upgrade kernel. The yum install kernel command also works.
Both commands install the new kernel besides the old kernel.
Other option is to download the kernel and install
using # rpm -Uvh kernel
The kernel files for the last four kernels that you
have installed on your server will be kept in the /boot directory. The GRUB2
boot loaded automatically picks up all kernels that it finds in this directory.
In this exercise, you will install the latest
available kernel using the yum command with the assumption that your system is
subscribed to the Red Hat Subscription Management service, and the service is
accessible from your system. You will need to ensure that the exisiting kernel
and it configuration remains intact
1)
Run the uname command and check
the version of the running kernel:
[root@server1
grub2]# uname -r
3.10.0-123.el7.x86_64
|
[root@server1
/]# yum list installed kernel
Loaded
plugins: langpacks, product-id, subscription-manager
Installed
Packages
kernel.x86_64
3.10.0-123.el7
@anaconda/7.0
|
[root@server1 /]# yum info kernel
Loaded plugins: langpacks, product-id,
subscription-manager
rhel-7-server-rpms | 3.7
kB 00:00
rhel-7-server-rpms/7Server/x86_64/primary_db
| 19 MB 00:03:43
(1/2): rhel-7-server-rpms/7Server/x86_64/updateinfo
| 1.1 MB 00:00:12
(2/2):
rhel-7-server-rpms/7Server/x86_64/group_gz |
134 kB 00:00:12
Installed Packages
Name
: kernel
Arch
: x86_64
Version
: 3.10.0
Release
: 123.el7
Size
: 127 M
Repo
: installed
From repo
: anaconda
Summary
: The Linux kernel
URL
: http://www.kernel.org/
License
: GPLv2
Description : The kernel package contains the
Linux kernel (vmlinuz), the core of any
: Linux operating system. The
kernel handles the basic functions
: of the operating system: memory allocation, process allocation,
device
: input and output, etc.
Available Packages
Name
: kernel
Arch
: x86_64
Version
: 3.10.0
Release : 327.10.1.el7
Size
: 33 M
Repo
: rhel-7-server-rpms/7Server/x86_64
Summary
: The Linux kernel
URL
: http://www.kernel.org/
License
: GPLv2
Description : The kernel package contains the
Linux kernel (vmlinuz), the core of any
: Linux operating system. The
kernel handles the basic functions
: of the operating system: memory allocation, process allocation,
device
: input and output, etc.
|
[root@server1 /]# grep -v "#"
/boot/grub2/grub.cfg
[Output Truncated]
menuentry
'Red Hat Enterprise Linux Server, with Linux 3.10.0-123.el7.x86_64' --class
red --class gnu-linux --class gnu --class os --unrestricted
$menuentry_id_option
'gnulinux-3.10.0-123.el7.x86_64-advanced-a96fc17c-94c5-44ce-99af-ef74dabca6fc'
{
load_video
set
gfxpayload=keep
insmod
gzio
insmod
part_msdos
insmod
xfs
set
root='hd0,msdos2'
if [
x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root
--hint-bios=hd0,msdos2 --hint-efi=hd0,msdos2 --hint-baremetal=ahci0,msdos2
--hint='hd0,msdos2'
a96fc17c-94c5-44ce-99af-ef74dabca6fc
else
search --no-floppy --fs-uuid --set=root
a96fc17c-94c5-44ce-99af-ef74dabca6fc
fi
linux16
/boot/vmlinuz-3.10.0-123.el7.x86_64
root=UUID=a96fc17c-94c5-44ce-99af-ef74dabca6fc ro vconsole.keymap=us
crashkernel=auto
vconsole.font=latarcyrheb-sun16
initrd16
/boot/initramfs-3.10.0-123.el7.x86_64.img
}
menuentry 'Red Hat Enterprise Linux Server, with
Linux 0-rescue-27739d9d19814b4eae2ddeaed745cea6' --class red --class
gnu-linux --class gnu --class os --unrestricted $menuentry_id_option
'gnulinux-0-rescue-27739d9d19814b4eae2ddeaed745cea6-advanced-a96fc17c-94c5-44ce-99af-ef74dabca6fc'
{
load_video
insmod
gzio
insmod
part_msdos
insmod
xfs
set
root='hd0,msdos2'
if [
x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root
--hint-bios=hd0,msdos2 --hint-efi=hd0,msdos2 --hint-baremetal=ahci0,msdos2
--hint='hd0,msdos2'
a96fc17c-94c5-44ce-99af-ef74dabca6fc
else
search --no-floppy --fs-uuid --set=root
a96fc17c-94c5-44ce-99af-ef74dabca6fc
fi
linux16
/boot/vmlinuz-0-rescue-27739d9d19814b4eae2ddeaed745cea6
root=UUID=a96fc17c-94c5-44ce-99af-ef74dabca6fc ro vconsole.keymap=us
crashkernel=auto
vconsole.font=latarcyrheb-sun16
initrd16
/boot/initramfs-0-rescue-27739d9d19814b4eae2ddeaed745cea6.img
}
[Output Truncated]
|
2)
Run the yum command to install
the latest available kernel from the subscription management service using
either the update or the install subcommand:
[root@server1
/]# yum update -y kernel
Loaded
plugins: langpacks, product-id, subscription-manager
rhel-7-server-rpms |
3.7 kB 00:00:00
Resolving
Dependencies
-->
Running transaction check
--->
Package kernel.x86_64 0:3.10.0-327.10.1.el7 will be installed
-->
Processing Dependency: linux-firmware >= 20150904-43 for package:
kernel-3.10.0-327.10.1.el7.x86_64
-->
Processing Dependency: dracut >= 033-283 for package:
kernel-3.10.0-327.10.1.el7.x86_64
-->
Running transaction check
--->
Package dracut.x86_64 0:033-161.el7 will be updated
-->
Processing Dependency: dracut = 033-161.el7 for package:
dracut-network-033-161.el7.x86_64
-->
Processing Dependency: dracut = 033-161.el7 for package:
dracut-config-rescue-033-161.el7.x86_64
--->
Package dracut.x86_64 0:033-360.el7_2 will be an update
-->
Processing Dependency: systemd >= 219 for package:
dracut-033-360.el7_2.x86_64
--->
Package libertas-sd8686-firmware.noarch 0:20140213-0.3.git4164c23.el7 will be
obsoleted
--->
Package libertas-sd8787-firmware.noarch 0:20140213-0.3.git4164c23.el7 will be
obsoleted
--->
Package libertas-usb8388-firmware.noarch 2:20140213-0.3.git4164c23.el7 will
be obsoleted
--->
Package linux-firmware.noarch 0:20140213-0.3.git4164c23.el7 will be updated
--->
Package linux-firmware.noarch 0:20150904-43.git6ebf5d5.el7 will be obsoleting
-->
Running transaction check
--->
Package dracut-config-rescue.x86_64 0:033-161.el7 will be updated
--->
Package dracut-config-rescue.x86_64 0:033-360.el7_2 will be an update
--->
Package dracut-network.x86_64 0:033-161.el7 will be updated
--->
Package dracut-network.x86_64 0:033-360.el7_2 will be an update
--->
Package systemd.x86_64 0:208-11.el7 will be updated
-->
Processing Dependency: systemd = 208-11.el7 for package: systemd-python-208-11.el7.x86_64
-->
Processing Dependency: systemd = 208-11.el7 for package:
libgudev1-208-11.el7.x86_64
-->
Processing Dependency: systemd = 208-11.el7 for package:
systemd-sysv-208-11.el7.x86_64
--->
Package systemd.x86_64 0:219-19.el7_2.4 will be an update
-->
Processing Dependency: systemd-libs = 219-19.el7_2.4 for package:
systemd-219-19.el7_2.4.x86_64
-->
Processing Dependency: kmod >= 18-4 for package:
systemd-219-19.el7_2.4.x86_64
-->
Running transaction check
--->
Package kmod.x86_64 0:14-9.el7 will be updated
--->
Package kmod.x86_64 0:20-5.el7 will be an update
--->
Package libgudev1.x86_64 0:208-11.el7 will be updated
--->
Package libgudev1.x86_64 0:219-19.el7_2.4 will be an update
--->
Package systemd-libs.x86_64 0:208-11.el7 will be updated
--->
Package systemd-libs.x86_64 0:219-19.el7_2.4 will be an update
--->
Package systemd-python.x86_64 0:208-11.el7 will be updated
--->
Package systemd-python.x86_64 0:219-19.el7_2.4 will be an update
--->
Package systemd-sysv.x86_64 0:208-11.el7 will be updated
--->
Package systemd-sysv.x86_64 0:219-19.el7_2.4 will be an update
-->
Processing Conflict: systemd-219-19.el7_2.4.x86_64 conflicts initscripts <
9.49.28-1
-->
Restarting Dependency Resolution with new changes.
-->
Running transaction check
--->
Package initscripts.x86_64 0:9.49.17-1.el7 will be updated
--->
Package initscripts.x86_64 0:9.49.30-1.el7 will be an update
-->
Finished Dependency Resolution
Dependencies
Resolved
===================================================================================================================================================================================================================
Package Arch
Version
Repository
Size
===================================================================================================================================================================================================================
Installing:
kernel
x86_64
3.10.0-327.10.1.el7 rhel-7-server-rpms 33 M
linux-firmware
noarch
20150904-43.git6ebf5d5.el7
rhel-7-server-rpms 24 M
replacing libertas-sd8686-firmware.noarch
20140213-0.3.git4164c23.el7
replacing libertas-sd8787-firmware.noarch
20140213-0.3.git4164c23.el7
replacing libertas-usb8388-firmware.noarch 2:20140213-0.3.git4164c23.el7
Updating:
initscripts
x86_64
9.49.30-1.el7
rhel-7-server-rpms 429 k
Updating
for dependencies:
dracut
x86_64
033-360.el7_2
rhel-7-server-rpms 311 k
dracut-config-rescue x86_64
033-360.el7_2
rhel-7-server-rpms 50 k
dracut-network
x86_64 033-360.el7_2
rhel-7-server-rpms 90 k
kmod
x86_64
20-5.el7 rhel-7-server-rpms 114 k
libgudev1
x86_64
219-19.el7_2.4
rhel-7-server-rpms 65 k
systemd
x86_64
219-19.el7_2.4
rhel-7-server-rpms 5.1 M
systemd-libs
x86_64
219-19.el7_2.4
rhel-7-server-rpms 357 k
systemd-python x86_64
219-19.el7_2.4
rhel-7-server-rpms 98 k
systemd-sysv
x86_64
219-19.el7_2.4
rhel-7-server-rpms 52 k
Transaction
Summary
===================================================================================================================================================================================================================
Install 2 Packages
Upgrade 1 Package
(+9 Dependent packages)
Total
download size: 64 M
Downloading
packages:
No
Presto metadata available for rhel-7-server-rpms
(1/12):
dracut-config-rescue-033-360.el7_2.x86_64.rpm
| 50 kB 00:00:02
(2/12):
dracut-network-033-360.el7_2.x86_64.rpm
| 90 kB 00:00:02
(3/12):
initscripts-9.49.30-1.el7.x86_64.rpm
| 429 kB 00:00:07
(4/12):
dracut-033-360.el7_2.x86_64.rpm |
311 kB 00:00:12
(5/12):
kmod-20-5.el7.x86_64.rpm
|
114 kB 00:00:03
(6/12):
libgudev1-219-19.el7_2.4.x86_64.rpm
| 65 kB
00:00:10
(7/12):
linux-firmware-20150904-43.git6ebf5d5.el7.noarch.rpm
| 24 MB 00:11:29
(8/12):
systemd-219-19.el7_2.4.x86_64.rpm
| 5.1 MB 00:01:48
(9/12):
systemd-libs-219-19.el7_2.4.x86_64.rpm
| 357 kB 00:00:11
(10/12):
systemd-python-219-19.el7_2.4.x86_64.rpm | 98 kB
00:00:11
(11/12):
systemd-sysv-219-19.el7_2.4.x86_64.rpm
| 52 kB
00:00:04
(12/12):
kernel-3.10.0-327.10.1.el7.x86_64.rpm
| 33 MB
00:14:11
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Total 76
kB/s | 64 MB 00:14:22
Running
transaction check
Running
transaction test
Transaction
test succeeded
Running
transaction
Updating
: systemd-libs-219-19.el7_2.4.x86_64
1/26
Updating
: systemd-219-19.el7_2.4.x86_64
2/26
Updating
: dracut-033-360.el7_2.x86_64
3/26
Updating
: kmod-20-5.el7.x86_64
4/26
Updating
: initscripts-9.49.30-1.el7.x86_64
5/26
Installing :
linux-firmware-20150904-43.git6ebf5d5.el7.noarch
6/26
Installing :
kernel-3.10.0-327.10.1.el7.x86_64
7/26
Updating
: dracut-config-rescue-033-360.el7_2.x86_64
8/26
Updating
: dracut-network-033-360.el7_2.x86_64
9/26
Updating
: systemd-python-219-19.el7_2.4.x86_64 10/26
Updating
: systemd-sysv-219-19.el7_2.4.x86_64
11/26
Updating
: libgudev1-219-19.el7_2.4.x86_64
12/26
Cleanup
: dracut-network-033-161.el7.x86_64
13/26
Cleanup
: dracut-config-rescue-033-161.el7.x86_64
14/26
Cleanup
: systemd-sysv-208-11.el7.x86_64
15/26
Erasing
: libertas-sd8787-firmware-20140213-0.3.git4164c23.el7.noarch 16/26
Erasing
: libertas-sd8686-firmware-20140213-0.3.git4164c23.el7.noarch
17/26
Erasing
: 2:libertas-usb8388-firmware-20140213-0.3.git4164c23.el7.noarch
18/26
Cleanup
: linux-firmware-20140213-0.3.git4164c23.el7.noarch
19/26
Cleanup
: dracut-033-161.el7.x86_64
20/26
Cleanup
: initscripts-9.49.17-1.el7.x86_64 21/26
Cleanup
: libgudev1-208-11.el7.x86_64
22/26
Cleanup
: systemd-python-208-11.el7.x86_64
23/26
Cleanup
: systemd-208-11.el7.x86_64
24/26
Cleanup
: kmod-14-9.el7.x86_64
25/26
Cleanup
: systemd-libs-208-11.el7.x86_64
26/26
rhel-7-server-rpms/7Server/x86_64/productid |
1.7 kB 00:00:00
Verifying
: linux-firmware-20150904-43.git6ebf5d5.el7.noarch
1/26
Verifying
: systemd-python-219-19.el7_2.4.x86_64
2/26
Verifying
: kernel-3.10.0-327.10.1.el7.x86_64
3/26
Verifying
: kmod-20-5.el7.x86_64
4/26
Verifying
: systemd-libs-219-19.el7_2.4.x86_64
5/26
Verifying
: systemd-219-19.el7_2.4.x86_64 6/26
Verifying
: systemd-sysv-219-19.el7_2.4.x86_64
7/26
Verifying
: dracut-config-rescue-033-360.el7_2.x86_64
8/26
Verifying
: libgudev1-219-19.el7_2.4.x86_64
9/26
Verifying
: initscripts-9.49.30-1.el7.x86_64
10/26
Verifying
: dracut-network-033-360.el7_2.x86_64
11/26
Verifying
: dracut-033-360.el7_2.x86_64 12/26
Verifying
: kmod-14-9.el7.x86_64
13/26
Verifying
: dracut-config-rescue-033-161.el7.x86_64
14/26
Verifying
: systemd-sysv-208-11.el7.x86_64
15/26
Verifying
: systemd-python-208-11.el7.x86_64
16/26
Verifying
: libertas-sd8787-firmware-20140213-0.3.git4164c23.el7.noarch
17/26
Verifying
: 2:libertas-usb8388-firmware-20140213-0.3.git4164c23.el7.noarch
18/26
Verifying
: dracut-033-161.el7.x86_64
19/26
Verifying
: initscripts-9.49.17-1.el7.x86_64
20/26
Verifying
: systemd-libs-208-11.el7.x86_64
21/26
Verifying
: systemd-208-11.el7.x86_64
22/26
Verifying
: dracut-network-033-161.el7.x86_64
23/26
Verifying
: libertas-sd8686-firmware-20140213-0.3.git4164c23.el7.noarch
24/26
Verifying
: libgudev1-208-11.el7.x86_64
25/26
Verifying
: linux-firmware-20140213-0.3.git4164c23.el7.noarch
26/26
Installed:
kernel.x86_64 0:3.10.0-327.10.1.el7
linux-firmware.noarch 0:20150904-43.git6ebf5d5.el7
Updated:
initscripts.x86_64 0:9.49.30-1.el7
Dependency
Updated:
dracut.x86_64 0:033-360.el7_2 dracut-config-rescue.x86_64
0:033-360.el7_2 dracut-network.x86_64 0:033-360.el7_2 kmod.x86_64 0:20-5.el7
libgudev1.x86_64 0:219-19.el7_2.4 systemd.x86_64 0:219-19.el7_2.4
systemd-libs.x86_64 0:219-19.el7_2.4
systemd-python.x86_64 0:219-19.el7_2.4
systemd-sysv.x86_64 0:219-19.el7_2.4
Replaced:
libertas-sd8686-firmware.noarch
0:20140213-0.3.git4164c23.el7
libertas-sd8787-firmware.noarch 0:20140213-0.3.git4164c23.el7 libertas-usb8388-firmware.noarch
2:20140213-0.3.git4164c23.el7
Complete!
[root@server1
/]#
|
3)
Confirm that the kernel package
has been updated:
[root@server1 /]# yum list installed kernel
Loaded plugins: langpacks, product-id,
subscription-manager
rhel-7-server-rpms
| 3.7
kB 00:00:00
Installed Packages
kernel.x86_64
3.10.0-123.el7
@anaconda/7.0
kernel.x86_64
3.10.0-327.10.1.el7
|
The output indicates that a higher version 3.10.0-327.10.1.el7 has been installed.
It also shows the presence of the previous kernel.
[root@server1 /]# yum info kernel
Loaded plugins: langpacks, product-id,
subscription-manager
rhel-7-server-rpms |
3.7 kB 00:00:00
Installed Packages
Name
: kernel
Arch
: x86_64
Version : 3.10.0
Release
: 123.el7
Size
: 127 M
Repo
: installed
From repo
: anaconda
Summary
: The Linux kernel
URL
: http://www.kernel.org/
License
: GPLv2
Description : The kernel package contains the
Linux kernel (vmlinuz), the core of any
: Linux operating system. The
kernel handles the basic functions
: of the operating system: memory allocation, process allocation,
device
: input and output, etc.
Name
: kernel
Arch
: x86_64
Version
: 3.10.0
Release : 327.10.1.el7
Size
: 136 M
Repo : installed
From repo
: rhel-7-server-rpms
Summary
: The Linux kernel
URL
: http://www.kernel.org/
License
: GPLv2
Description : The kernel package contains the
Linux kernel (vmlinuz), the core of any
: Linux operating system. The
kernel handles the basic functions
: of the operating system: memory allocation, process allocation,
device
: input and output, etc.
@rhel-7-server-rpms
|
4)
The /boot/grub2/grub.cfg file
get the newest kernel menu entry added to it as well
[root@server1 /]#
grep -v "#" /boot/grub2/grub.cfg
[Output Truncated]
menuentry 'Red Hat Enterprise Linux Server
(3.10.0-327.10.1.el7.x86_64) 7.0 (Maipo)' --class red --class gnu-linux
--class gnu --class os --unrestricted $menuentry_id_option
'gnulinux-3.10.0-123.el7.x86_64-advanced-a96fc17c-94c5-44ce-99af-ef74dabca6fc'
{
load_video
set gfxpayload=keep
insmod gzio
insmod part_msdos
insmod xfs
set root='hd0,msdos2'
if [ x$feature_platform_search_hint = xy
]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos2
--hint-efi=hd0,msdos2 --hint-baremetal=ahci0,msdos2 --hint='hd0,msdos2' a96fc17c-94c5-44ce-99af-ef74dabca6fc
else
search --no-floppy --fs-uuid --set=root
a96fc17c-94c5-44ce-99af-ef74dabca6fc
fi
linux16
/boot/vmlinuz-3.10.0-327.10.1.el7.x86_64
root=UUID=a96fc17c-94c5-44ce-99af-ef74dabca6fc ro vconsole.keymap=us
crashkernel=auto
vconsole.font=latarcyrheb-sun16 LANG=en_US.utf8
initrd16
/boot/initramfs-3.10.0-327.10.1.el7.x86_64.img
}
menuentry 'Red Hat
Enterprise Linux Server, with Linux 3.10.0-123.el7.x86_64' --class red
--class gnu-linux --class gnu --class os --unrestricted $menuentry_id_option
'gnulinux-3.10.0-123.el7.x86_64-advanced-a96fc17c-94c5-44ce-99af-ef74dabca6fc'
{
load_video
set gfxpayload=keep
insmod gzio
insmod part_msdos
insmod xfs
set root='hd0,msdos2'
if [ x$feature_platform_search_hint = xy
]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos2
--hint-efi=hd0,msdos2 --hint-baremetal=ahci0,msdos2 --hint='hd0,msdos2' a96fc17c-94c5-44ce-99af-ef74dabca6fc
else
search --no-floppy --fs-uuid --set=root
a96fc17c-94c5-44ce-99af-ef74dabca6fc
fi
linux16
/boot/vmlinuz-3.10.0-123.el7.x86_64
root=UUID=a96fc17c-94c5-44ce-99af-ef74dabca6fc ro vconsole.keymap=us
crashkernel=auto
vconsole.font=latarcyrheb-sun16
initrd16
/boot/initramfs-3.10.0-123.el7.x86_64.img
}
menuentry 'Red Hat
Enterprise Linux Server, with Linux
0-rescue-27739d9d19814b4eae2ddeaed745cea6' --class red --class gnu-linux
--class gnu --class os --unrestricted $menuentry_id_option 'gnulinux-0-rescue-27739d9d19814b4eae2ddeaed745cea6-advanced-a96fc17c-94c5-44ce-99af-ef74dabca6fc'
{
load_video
insmod gzio
insmod part_msdos
insmod xfs
set root='hd0,msdos2'
if [ x$feature_platform_search_hint = xy
]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos2
--hint-efi=hd0,msdos2 --hint-baremetal=ahci0,msdos2 --hint='hd0,msdos2' a96fc17c-94c5-44ce-99af-ef74dabca6fc
else
search --no-floppy --fs-uuid --set=root
a96fc17c-94c5-44ce-99af-ef74dabca6fc
fi
linux16 /boot/vmlinuz-0-rescue-27739d9d19814b4eae2ddeaed745cea6
root=UUID=a96fc17c-94c5-44ce-99af-ef74dabca6fc ro vconsole.keymap=us
crashkernel=auto
vconsole.font=latarcyrheb-sun16
initrd16
/boot/initramfs-0-rescue-27739d9d19814b4eae2ddeaed745cea6.img
}
[Output Truncated]
|
5)
Reboot the system and you will
see the new kernel menu entry shows up the GRUB boot list. The system will boot
with this kernel as the install process has marked it as the default kernel.
6) Run the uname command again after the reboot to confirm the loading of the new kernel:
7) You can
also view the contents of either of the following files to verify the new
kernel:
# uname -r
# cat /proc/version
# cat /proc/cmdline
Thank you for reading.