Could not retrieve mirrorlist http://mirrorlist.centos.org/?release=6&arch=x86_64&repo=os error was
12: Timeout on http://mirrorlist.centos.org/?release=6&arch=x86_64&repo=os: (28, 'Operation too slow. Less than 1 bytes/sec transfered the last 30 seconds')
Error: Cannot find a valid baseurl for repo: base
You would think this should be fine and simple like using a proxy with most other software?
However you would be severely mistaken to think like I did!
First of all yum CANNOT even use a SOCKS server, it only supports http://!
Fine, so we will set one in yum.conf like so: proxy=http://somehost:8080
Another way is to set an all_proxy or http_proxy environment variable (this saves you from adding the proxy to yum itself but beware it means all operations are proxied):
export all_proxy="http://someurl:8080"
#or
export http_proxy="http://someurl:8080"
Let's do a yum update:
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
Could not retrieve mirrorlist http://mirrorlist.centos.org/?release=6&arch=x86_64&repo=os error was
12: Timeout on http://mirrorlist.centos.org/?release=6&arch=x86_64&repo=os: (28, 'Operation too slow. Less than 1 bytes/sec transfered the last 30 seconds')
Error: Cannot find a valid baseurl for repo: base
The problem is that due to Squid's caching nature you will never get a proper result so the mirror list operation will always fail.
How can you fix it?
It's a pain, you have to go to your repos and comment out all the "mirrorlist" lines and uncomment "baseurl" lines (be sure to backup the .conf/repo before you do this).
It is really too bad there is no "seamless" way of proxying yum.
proxy, yum, centos, retrieve, mirrorlist, http, org, _, repo, os, timeout, bytes, transfered, valid, baseurl, software, severely, server, supports, conf, somehost, all_proxy, http_proxy, variable, saves, adding, beware, operations, proxied, export, quot, someurl, update, plugins, fastestmirror, loading, speeds, cached, hostfile, squid, caching, repos, uncomment, seamless, proxying,