yum代理更新及遇到的问题
2012-11-14 16:30
701 查看
http://www.361way.com/yumdl/661.html
众所周知,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下载个东西试下。
众所周知,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下载个东西试下。
相关文章推荐
- centos更新yum时遇到的问题
- elasticsearch学习过程中遇到的问题以及处理方式(持续更新...)
- CentOS6.3 yum更新问题
- C#设置IE代理及遇到问题的解决方案
- 【Web前端】学习中遇到的问题(长期更新)
- 学习中遇到的c++问题,持续更新
- xcode8.1更新迭代上传遇到的问题(使用环信3.0)
- 安卓开发遇到的一些问题(持续更新)
- linux中遇到的问题和解决(不断更新)
- 更新Xcode8遇到的一些问题总结
- 参考网友微信打飞机demo实现炸弹图标和数量更新时遇到的问题解决心得
- Virtualbox中Ubuntu更新遇到错误的报头问题解决
- 更新jar包遇到操作系统兼容的问题
- python更新后yum问题
- Hive SQL使用中遇到的问题与解决方案(持续更新
- 开发Android的时候遇到的问题及解决方法(不断更新)
- TensorFlow遇到的问题汇总(持续更新中......)
- Intellij IDEA2016.2.2工具使用遇到的问题以及部分快捷键(持续更新...)
- 自动更新ListView时遇到onScrollStateChanged不执行的问题
- SSH 过程遇到的问题_有空就更新