System Restart Required

*** System Restart Required *** – Automated Linux Kernel Patches

Last updated on

You keep seeing this message *** System Restart Required *** when you log in to Linux. In this article we will see what updates have triggered this message and how to apply them.

This message indicates the presence of the file /var/run/reboot-required. Ubuntu packages can trigger the creation of this file in their post-installation script postinst.

A restart is usually required when an update to the Linux kernel has been installed. These are often security patches that only come into effect after reboot.

The file /var/run/reboot-required.pkgs lists the packages that requested the reboot. To view this file:

cat /var/run/reboot-required.pkgs

You should see a list of packages awaiting reboot:

linux-image-4.4.0-92-generic
linux-base

Above we can see there is a Linux kernel security update linux-image-4.4.0-92-generic and linux-base, which requires a system restart.

To reboot, run:

sudo reboot

You typically don’t need to restart right away, but you’ll be vulnerable to any security problems fixed in the new kernel until you do.

Another way to to find out what packages have been recently installed is to run:

zgrep -h 'status installed' /var/log/dpkg.log* | sort | tail -n 100

This will show you the last 100 packages installed. Important updates to the Linux kernel typically begin with linux-image-.

/var/log/dpkg.log
2017-08-23 06:55:31 status installed linux-headers-generic:amd64 4.4.0.92.97
2017-08-23 06:55:31 status installed linux-headers-virtual:amd64 4.4.0.92.97
2017-08-23 06:55:31 status installed linux-image-4.4.0-92-generic:amd64 4.4.0-92.115
2017-08-23 06:55:31 status installed linux-image-virtual:amd64 4.4.0.92.97
2017-08-23 06:55:31 status installed linux-virtual:amd64 4.4.0.92.97

If you just want to get rid of the ***System Restart Required*** message without restarting, you can remove the reboot flag file.

sudo rm /var/run/reboot-required

Let me know in the comments if this helped. Follow me on Twitter, Facebook and YouTube.

p.s. I increased my AdSense revenue by 68% using AI 🤖. Read my Ezoic review to find out how.

1 Star2 Stars3 Stars4 Stars5 Stars 4.88 (25 votes)

Leave a Reply

Your email address will not be published. Required fields are marked *

We use Markdown to style comments, like on Github and Reddit.
To do a line break, type two spaces after the sentence.
You can add inline code by wrapping it in backticks: `code here`

    To do an entire block of code  
    type four spaces before the line
    and it will appear in a block like this.
    <-- four empty spaces

16 replies

After restarting the system I get the following error: `Welcome to Ubuntu 18.04.2 LTS (GNU/Linux 4.15.0-1039-aws x86_64)

Failed to connect to https://changelogs.ubuntu.com/meta-release-lts. Check your Internet connection or proxy settings

How could I solve it?

Actually had a server restart automatically after patching. Not good. I want the server to reboot when I want it to, not when ubuntu thinks it should. Really, Really bad form

I agree, server reboots should always be attended in case of failure. Which version of Linux are you using that restarts the server automatically?

If the update-notifier-common is installed, Ubuntu will alert you about pending updates via the message of the day (motd) upon console or remote login.

Are you running Nginx? If so, it’s possible your PHP service may not have started on reboot. I would reboot again and wait for a minute to see if that fixes it. If not, check that your PHP service is running with sudo service --status-all

Inside some .deb files (installation packages) there is a post-installation file called postinst, which is run after installation.

If we take a look at the package linux-image-4.4.0-67-generic_4.4.0-67.88_amd64.deb, the postinst file contains the following:

my $notifier          = "/usr/share/update-notifier/notify-reboot-required";

my $warn_reboot     = 'Yes';     # Warn that we are installing a version of
                                 # the kernel we are running

# Warn of a reboot
if (-x $notifier) {
 system($notifier);
}

The shell script /usr/share/update-notifier/notify-reboot-required updates /var/run/reboot-required and /var/run/reboot-required.pkgs. This last file contains a list of packages that requested a reboot.