Ubuntu: apt-get update very slow, stuck at “Waiting for headers”


I have looked at similar questions:

Stuck at 0% [waiting for headers]

apt-get update stuck on "Waiting for Headers" when using Windows XP ICS

However neither one of them answer my problem.

I am running 12.04 AMD64 and have recently started getting an issue that when I update my repos from my connection at home through a terminal, using sudo apt-get update, it takes forever (literally after 2 hours it was at 28%), however when I run from a different location it takes less than 5 minutes to complete.

I have attempted changing which mirror I use but that does not solve the issue. I have also cut down what is in my sources list but this also makes no difference. There are no faults on my ADSL line as I have already contacted my ISP to check this. It also makes no difference if I use a WiFi or network cable connection.

What could be my issue?

A speed test (www.speedtest.net) comes out at about 0.9 Mbps down and 0.42 Mbps up (which is a shade under the advertised line speed), I reside in South Africa and use the UCT LEG server. But I have also tried the other mirrors available in SA....none of them make a difference.


This sounds like it may be an issue with third party repos. I know Google's repo takes several minutes to respond here sometimes. If you have third party repos set up, open Update Manager, click Settings, then the "Other Software" tab. Uncheck all checkboxes, then hit close.

Update ManagerUpdate Manager - Other Software

Now, fire up a terminal and use the following command and see if it is any better with the following command:

sudo apt-get update  

If it is better, go back and enable each repo and recheck one by one until you find the problem repo.

If that does not work, you can have the update manager select the best main repos to use automatically. To do that, open Update Manager, then click Settings. Select the Ubuntu Software tab, then in the "Download from:" dropdown, select Other...

Update Manager - Ubuntu Software Tab

Now, in the window that pops up, click "Select Best Server"

Update Manager - Choose a Download Server

It will then perform several tests to select the best server for you. Once it is completed, just click Choose Server.

Update Manager - Choose a Download Server

Now, fire up the terminal and check again.


I found a solution which helped me here: https://www.kubuntuforums.net/showthread.php?57567-Ubuntu-problems-on-update

You can let apt-get to regenerate lists cache using:

sudo apt-get clean  cd /var/lib/apt  sudo mv lists lists.old  sudo mkdir -p lists/partial  sudo apt-get clean  sudo apt-get update   


This is mostly because of "MTU size", been having this issue for a while and after some deep inspection i have found out that my isp has an mtu size of 1440 while the default for eth interface is 1500.

to know the max mtu size please see here.

to set your mtu packet size you can either use the network connection option from the network icon or use terminal as in this link.


If you have synaptic installed, try to trigger apt-get update within synaptic by clicking on "Reload". Of course, it will also hang but when you abort it, it will print the name of the repository were it stopped, for example:

Failed to fetch http://debian.sur5r.net/i3/dists/quantal/InRelease    Some index files failed to download. They have been ignored, or old ones used instead.  

Temporarily disabling the repositories reported there should fix the problem. In synaptic, you can disable them under "Settings -> Other Software".


Found this apt-get update stuck on "Waiting for Headers" when using Windows XP ICS very insightful.

You may want to try installing and running netselect, and copying the generated sources.list to /etc/apt/sources.list

Hope this helps.


I've encountered this problem on somebody else's laptop which I was asked to upgrade. After an hour of head scratching, the inspection of /etc/environment revealed that there was anon-proxy installed on the system. Removing it fixed the problem.

So, check your proxy settings in /etc/environment


Sometimes, all you need to do is just switch to the main server for updates. Updates, depending on your geographical area, sometimes don't come from the main servers for faster deliveries.

For whatever reasons, the relay servers might not be responding as quick as possible to certain requests, so temporarily switching to Main Server for updates should fix it.

When you open your Software and Updates, select "Main Server" from the Download From option.

You should be good to go. Switching to main server always works for me. :)

Note:If u also have question or solution just comment us below or mail us on toontricks1994@gmail.com
Next Post »