Check if Linux Needs a Reboot
One of the best parts of a Linux OS is that you can often patch on the fly without a need for reboot afterwards. The only thing that does definitively need a reboot is after a kernel patch. Sometimes, it isn't possible to issue the reboot right away, so the system will run as it is until you get a chance to reboot. Unfortunately, this can lead to forgetting whether a given system actually needs a reboot or not.
The most consistent way that I know to check for whether a reboot is needed is to compare kernel versions. So, to make my check a little easier, I've put together a quick script that can be run. First a few notes and then find it below.
Notes:
- This is meant for Ubuntu/Debian and derivatives, Red Hat derivatives will require some script edits.
- Copy/paste the script into a file, you can name it what you like.
- Don't forget to chmod 750 your file, or some variation of that, to give it run permissions.
Script:
#!/bin/bash # This will work on Ubuntu/Debian versions. # Milage will vary on other distros. echo -e "\nChecking if system needs to be rebooted...\n" # Capture installed kernel package pkg_version=`dpkg -s linux-image-$(uname -r) | grep Package: | awk '{print $2}'` # Capture running kernel version run_version="linux-image-`uname -r`" # Let the user know... echo -e "Installed: "$pkg_version; echo -e "Running: "$run_version"\n"; # Check if a reboot is needed, if the versions are different, then yes, else no. if [ "$pkg_version" != "$run_version" ]; then echo -e "Restart required...\n" else echo -e "Versions are the same, no restart needed...\n" fi echo "Complete."
0 Comments