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 @DevAnswers or read more.

1 Star2 Stars3 Stars4 Stars5 Stars 4.84 (19 votes)

Feedback

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

10 replies

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.

After I restart I still get “packages can be updated” message?