Q: Is there a way I can check to see a Linux system has a newer kernel installed?  For example, if a system has installed a new kernel, but has not yet rebooted to load it?

A: Yes, you can check the currently running kernel as well as which kernels are installed.  This will give you version numbers and you can see if there is an installed version higher than the running version.

Check of Current Kernel Version

To check which kernel is currently running on your system, use the uname command with the “release” or -r switch.  This will output the kernel version (release) number.

uname -r

Sample output:

$ uname -r
 4.15.0-50-generic

List All Installed Kernel Versions

Now that you know which kernel version you are currently running, you can check the installed versions and see if there are any later releases.

For Debian based systems (Ubuntu, Mint, etc..) you can use dpkg, then use grep to filter the results and only show the kernel (linux-image).

$ dpkg --list | grep linux-image
 ii  linux-image-4.15.0-29-generic              4.15.0-29.31
 ii  linux-image-4.15.0-50-generic              4.15.0-50.54
 ii  linux-image-generic                        4.15.0.50.52
... OUTPUT TRUNCATED ...

For RedHat or RPM based systems (CentOS, Fedora, etc..) you can query the rpm database using the rpm command.

$ rpm -q kernel
 kernel-5.0.10-300.fc30.x86_64
 kernel-5.0.13-300.fc30.x86_64
 kernel-5.0.16-300.fc30.x86_64

You can also use YUM and DNF to check installed kernels.

$ yum list kernel
 Installed Packages
 kernel.x86_64                                          5.0.10-300.fc30                                           @updates
 kernel.x86_64                                          5.0.13-300.fc30                                           @updates
 kernel.x86_64                                          5.0.16-300.fc30                                           @updates