Let's say I have just done an aptitude safe-upgrade on a Debian system, but I was not paying attention so I did not notice if the kernel was updated or not.
How can I now determine if there was a kernel upgrade and a reboot is in order?
Let's say I have just done an aptitude safe-upgrade on a Debian system, but I was not paying attention so I did not notice if the kernel was updated or not.
How can I now determine if there was a kernel upgrade and a reboot is in order?
Compare the running kernel (uname -a) to the files in /boot and see if there is a newer version.
Aptitude logs to /var/log/aptitude and apt-get logs to /var/log/dpkg.log. If you've installed a new kernel the installation of the package should be recorded in one or both of those log files.
This is a good clue:
cat /var/run/reboot-required*; uname -a | awk '{print "linux-image-"$3}';
If the top version is higher than the bottom version then you likely have an updated kernel (and will have to reboot to activate it).
This script uses apt to get a bit more definitive:
#!/usr/bin/env bash
2021062101
Read currently operating kernel
uname -a | awk '{print "linux-headers-" $3}' > /tmp/kernelversions_currentoperating_kernel.txt
currentoperating_kernel=cat /tmp/kernelversions_currentoperating_kernel.txt
Read latest installed kernel
apt list --installed 2> /dev/null | grep linux-headers | grep amd64 | grep -v linux-headers-amd64 | tail -1 | aw
k -F/ '{print $1}' > /tmp/kernelversions_latestinstalled_kernel.txt
latestinstalled_kernel=cat /tmp/kernelversions_latestinstalled_kernel.txt
Read latest available kernel
apt list 2> /dev/null | grep linux-headers | grep amd64 | grep -v .bpo | grep -v "-all" | grep -v "-cloud" | g
rep -v "-rt" | grep -v linux-headers-amd64 | tail -1 | awk -F/ '{print $1}' > /tmp/kernelversions_latestavaila
ble_kernel.txt
latestavailable_kernel=cat /tmp/kernelversions_latestavailable_kernel.txt
Print kernel versions
echo "CURRENTLY OPERATING KERNEL: " $currentoperating_kernel
echo "LATEST INSTALLED KERNEL: " $latestinstalled_kernel
echo "LATEST AVAILABLE KERNEL: " $latestavailable_kernel
echo
echo
Delete temporary files
rm /tmp/kernelversions*
Check the LATEST INSTALLED KERNEL. If it is a higher number than CURRENTLY OPERATING KERNEL, then new kernel was installed, but you'll need to reboot to activate it.
I wrote it to exclude cloud and rt kernel versions. You might need to modify some of the grep statements if you use those.
Check menuentry entries in your /boot/grub/grub.conf
check the time stamp of the kernel/vmlinuz* , grub.conf ... and see if it was recently updated.
Look at your /var/log/audit/audit.log and search for any file modifications in /boot
...I can go on and on ... -:)