Always willing to try out new competitors in the web browser market, Google Chrome (unstable for linux) has been installed on my computers for some time now. However, a few months ago problems arose with running something as simple as

sudo apt-get update

Which kept giving me the “Waiting for headers” message until I forcefully stopped it. Back then, I did not care much for it and simply removed the Google Chrome repository. Downside of this is that Google Chrome did not get updated any more, making it quite pointless to use the unstable Dev Channel version to begin with. I assume this problem is for all channels though, so this post remains relevant regardless.

Similarly, trying to updating the sources through update-manager errored on me

Failed to fetch http://dl.google.com/linux/deb/dists/stable/main/i18n/Translation-en_US.bz2
Failed to fetch http://dl.google.com/linux/deb/dists/stable/Release
Some index files failed to download, they have been ignored, or old ones used instead.

Turns out the problem lies with the way the updates are fetched. It uses HTTP Pipelining which is, for whatever reason, no longer supported by those particular Google servers that serve the updates. Good thing the fix is an easy one, simply tell apt-get to not use pipelining during the update.

sudo apt-get -o Acquire::http::Pipeline-Depth=0 update

If you update often, you’ll want to either add an alias to ~/.bashrc or fiddle with apt-get settings (or of course, remove Google’s repository).

If you want to try out Google Chrome yourself (be it Stable, Beta or Dev), visit the dev channel.

Also note that Google acknowledges the problem, but has no time frame on when it will be fixed.