61

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.

  • 2
    Please report results from speedtest.com, and tell us your country of residence. – ish Jun 27 '12 at 10:26

10 Answers 10

43

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 Manager Update 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.

  • For me help set it to "Main server". – BG Bruno Nov 23 '14 at 23:11
  • 2
    "choose the best server" method helped me. Thank you – kommradHomer Dec 18 '15 at 10:39
43

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 
  • YES!!! Clean! Of course! <facedesk> Thanks for that mate! :D – Chiramisu Jun 22 '18 at 21:57
  • Just doing sudo apt-get clean worked well several times for me. – Andrew T Aug 6 '18 at 9:57
5

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.

  • 1
    Your first and second links are both coded to point to the second site. I found the information at the dslreports.com site to be descriptive and helpful. Unfortunately the information at the cyberciti.biz site may be a bit outdated, and (at least here) doesn't address the problem very well. – Tommy Trussell Feb 10 '15 at 7:20
2

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

1

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".

1

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.

  • 2
    Welcome to Ask Ubuntu! Whilst this may theoretically answer the question, it would be preferable to include the essential parts of the answer here, and provide the link for reference. – user98085 Jan 18 '13 at 18:27
1

Open terminal and type:

cd /etc/apt/apt.conf.d/

Now create a new file sudo nano 99self and type:

Acquire::http::Pipeline-Depth "0";
  • 3
    Welcome to Askubuntu! Could you develop your answer to explain in more depth why and how your solution works? – Marc Vanhoomissen Mar 24 '18 at 16:33
0

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. :)

0

This issue can also occur if your DNS servers aren't functioning correctly (or if you've configured the wrong DNS servers).

I ran cat /etc/resolv.conf and realised I'd mistyped the DNS server. Everything worked once I updated my network interface's DNS config. :)

0

Just go to System setting->Software & Updates and switch a server works fine for me. I guess my last selected server broke down for unknown reasons.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.