本文共 3816 字,大约阅读时间需要 12 分钟。
centos 7.x升级后用yum install进行安装时经常出现Exiting on user cancel
,例如:
[root@localhost ~]# yum install logstashLoaded plugins: axelget, fastestmirrorNo metadata available for baseNo metadata available for docker-main-repoNo metadata available for epelNo metadata available for extrasNo metadata available for logstash-1.5No metadata available for updatesLoading mirror speeds from cached hostfile * base: mirrors.aliyun.com * epel: mirrors.ustc.edu.cn * extras: mirrors.aliyun.com * updates: mirrors.aliyun.comResolving Dependencies--> Running transaction check---> Package logstash.noarch 1:1.5.6-1 will be installed--> Finished Dependency ResolutionDependencies Resolved========================================================================================================================================================================================================= Package Arch Version Repository Size=========================================================================================================================================================================================================Installing: logstash noarch 1:1.5.6-1 logstash-1.5 86 MTransaction Summary=========================================================================================================================================================================================================Install 1 PackageTotal download size: 86 MInstalled size: 133 MIs this ok [y/d/N]: yDownloading packages:Delta RPMs disabled because /usr/bin/applydeltarpm not installed.logstash-1.5.6-1.noarch.rpm | 0 B 00:00:30 ... logstash-1.5.6-1.noarch.rpm 2% [== ] 141 kB/s | 2.5 MB 00:10:09 ETA Exiting on user cancel
总是出现Exiting on user cancel
,导致不能正常安装。
这是yum的一个bug导致的问题。修改/usr/lib/python2.7/site-packages/urlgrabber/grabber.py
.
vi /usr/lib/python2.7/site-packages/urlgrabber/grabber.py
将第1510行和1517行注释掉即可
修改前:1510 elif errcode == 42:1511 # this is probably wrong but ultimately this is what happens1512 # we have a legit http code and a pycurl 'writer failed' code1513 # which almost always means something aborted it from outside1514 # since we cannot know what it is -I'm banking on it being1515 # a ctrl-c. XXXX - if there's a way of going back two raises to1516 # figure out what aborted the pycurl process FIXME1517 raise KeyboardInterrupt
修改后:
1510 #elif errcode == 42:1511 # this is probably wrong but ultimately this is what happens1512 # we have a legit http code and a pycurl 'writer failed' code1513 # which almost always means something aborted it from outside1514 # since we cannot know what it is -I'm banking on it being1515 # a ctrl-c. XXXX - if there's a way of going back two raises to1516 # figure out what aborted the pycurl process FIXME1517 # raise KeyboardInterrupt
然后以root用户运行如下命令升级:
yum clean metadatayum clean allyum upgrade
升级完成后运行yum命令安装即可。
- 参考文档:
http://www.ostechnix.com/yum-dont-work-in-clean-centos-7-how-to-fix-it/
转载地址:http://myeym.baihongyu.com/