I'm running Ubuntu Server 10.04 LTS. When I login I see the message:

39 packages can be updated.
18 updates are security updates.

The usual formula of

sudo apt-get update
sudo apt-get upgrade

gives me a message I've not seen on this box:

The following packages have been kept back:
  linux-headers-server linux-image-server linux-server

If I give the go ahead to the apt-get upgrade the rest of the packages are upgraded as I expect.

How do I update the kernel files?

EDIT: I missed this earlier question and answer that basically solved my problem:

Can someone clarify Ubuntu (Debian) dist-upgrade for me?

  • Adding on to the question, where does aptitude safe-upgrade and aptitude full-upgrade fit in?
    – wag2639
    Jun 23, 2010 at 5:49

2 Answers 2


Usually, in this case you would want to use apt-get dist-upgrade

If you do not wish to run dist-upgrade by fear of breaking something by an accident removal, you can also tell apt-get to upgrade only the packages that were kept back, like this:

In your case:

sudo apt-get install linux-headers-server linux-image-server linux-server

Just specify the packages from the list that apt-get gave you (i.e. "The following packages have been kept back").


I think the following is the solution to my problem. After running

sudo apt-get update
sudo apt-get upgrade

I also need to run

sudo apt-get dist-upgrade

and then reboot the server. This seemed to work for me, but if anyone has more experience please feel free to edit this answer, comment on it or supply a better answer.

  • 2
    See this answer about the differences between upgrade and dist-upgrade
    – Zoredache
    Jun 22, 2010 at 23:52
  • Excellent! Thank you, Zoredache, that cleared up my confusion as to what dist-upgrade was actually doing. I didn't want to accidentally upgrade my LTS server box to the next version of Ubuntu. Now I know it won't. Jun 24, 2010 at 17:41

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .