yum代理更新及遇到的问题

2011年12月23日 发表评论 阅读评论

  众所周知,yum安装软件是分省心也很方便的。不过在平时有可能遇到无法上网的问题,而无法连结源服务器进行软件安装或更新。生产环境中我也遇到了这样的问题。不过还好,所幸的是局域网内有台web备机是连结外网的。是windows服务器,使用ccproxy软件开启局域网代理。(linux下可以使用iptables nat或者squid server代理,当然还有很多其他方法,不一而足。)

linux不能上网的服务器上如果想通过上面开启代理的服务器进行连结时,有以下几种方法:

1、在 /etc/yum.conf 中定义代理服务器,配置                                                                                                   http_proxy="http://ip或域名:端口"                                                                                                                       ftp_proxy="ftp://ip或域名:端口"                                                                                                                       proxy_username=XXX                                                                                                                                   proxy_password=XXXX                                         配置完后可直接yum,如果不生效,可以source一下,或者在文件内部再加export命令生效。(该处是全局配置,配置生效后,所有用户都可以通过代理使用。)

2、通过/etc/profile环境变量文件设置                         http_proxy="http://ip或域名:端口"                                                                                                                       ftp_proxy="ftp://ip或域名:端口"                                                                                                                       proxy_username=XXX                                                                                                                                   proxy_password=XXXX                                                                                                                                                        export http_proxy  ftp_proxy proxy_username proxy_password                                                     source /etc/profile 使配置生效。

3、配置针对单个用户生效                                                   配置其自已的环境变量文件~/.bash_profile,配置过程同上面一样,上面的写法也可以写生 http_proxy="用户名:密码@http://ip或域名:端口"                       ftp_proxy="用户名:密码@ftp://ip或域名:端口"                                                                                                                   export http_proxy ftp_proxy  

注:环境变量 http_proxy 也为 curl 、wget其他工具所用,不过curl 要求环境变量的名称是小写。yum可以识别大写或小写的 http_proxy。

在使用yum 进行文件更新时,可能会遇到一大串python的错误,大致如下:                 Setting up Install Process
Traceback (most recent call last):
  File "/usr/bin/yum", line 29, in ?
    yummain.user_main(sys.argv[1:], exit_code=True)
  File "/usr/share/yum-cli/yummain.py", line 309, in user_main
……                                               File "/usr/lib/python2.4/urllib2.py", line 580, in proxy_open
if '@' in host:
TypeError: iterable argument required
解决方法:                                           #yum clean all
#rm -f /var/lib/rpm/__db*
#rpm --rebuilddb                                                                                                                                                                           #yum check-update
#yum update                                            如果操作了还是有File "/usr/lib/python2.4/urllib2.py", line 580, in proxy_open的错误,这是因为代理配置有问题,看下是不是ftp代理未设置。因为源里有除有http站点外还有ftp站点。如果只想使用http源,可以把ftp源注释掉。另外看下代地址前是不是忘记了http://之类的字符串,还有是不是需要用户名密码认证。DNS设置是不是有也设置了(可以不设置,但最好设置上。)在此之前可以先用wget下载个东西试下。                             




本站的发展离不开您的资助,金额随意,欢迎来赏!

You can donate through PayPal.
My paypal id: itybku@139.com
Paypal page: https://www.paypal.me/361way

分类: Linux/unix/mac 标签:
  1. 本文目前尚无任何评论.