yum出错的解决方法

1、第一种错误

之前我的yum一直挺好用,后来突然出错了,装什么都装不上,所有的都报错如下:

 

Loaded plugins: refresh-packagekit
YumRepo Warning: not using ftp, http[s], or file for repos, skipping - <html><head>
YumRepo Warning: not using ftp, http[s], or file for repos, skipping - <meta http-equiv="Content-Type" c>
Traceback (most recent call last):
  File "/usr/bin/yum", line 29, in <module>
    yummain.user_main(sys.argv[1:], exit_code=True)
  File "/usr/share/yum-cli/yummain.py", line 241, in user_main
    errcode = main(args)
  File "/usr/share/yum-cli/yummain.py", line 116, in main
    result, resultmsgs = base.doCommands()
  File "/usr/share/yum-cli/cli.py", line 307, in doCommands
    self._getTs()
  File "/usr/lib/python2.5/site-packages/yum/depsolve.py", line 98, in _getTs
    self._getTsInfo()
  File "/usr/lib/python2.5/site-packages/yum/depsolve.py", line 104, in _getTsInfo
    self._tsInfo.setDatabases(self.rpmdb, self.pkgSack)
  File "/usr/lib/python2.5/site-packages/yum/__init__.py", line 576, in <lambda>
    pkgSack = property(fget=lambda self: self._getSacks(),
  File "/usr/lib/python2.5/site-packages/yum/__init__.py", line 419, in _getSacks
    self.repos.populateSack(which=repos)
  File "/usr/lib/python2.5/site-packages/yum/repos.py", line 245, in populateSack
    sack.populate(repo, mdtype, callback, cacheonly)
  File "/usr/lib/python2.5/site-packages/yum/yumRepo.py", line 149, in populate
    if self._check_db_version(repo, mydbtype):
  File "/usr/lib/python2.5/site-packages/yum/yumRepo.py", line 203, in _check_db_version
    return repo._check_db_version(mdtype)
  File "/usr/lib/python2.5/site-packages/yum/yumRepo.py", line 928, in _check_db_version
    repoXML = self.repoXML
  File "/usr/lib/python2.5/site-packages/yum/yumRepo.py", line 1086, in <lambda>
    repoXML = property(fget=lambda self: self._getRepoXML(),
  File "/usr/lib/python2.5/site-packages/yum/yumRepo.py", line 1078, in _getRepoXML
    self._loadRepoXML(text=self)
  File "/usr/lib/python2.5/site-packages/yum/yumRepo.py", line 1068, in _loadRepoXML
    return self._groupLoadRepoXML(text, ["primary"])
  File "/usr/lib/python2.5/site-packages/yum/yumRepo.py", line 1052, in _groupLoadRepoXML
    if self._commonLoadRepoXML(text):
  File "/usr/lib/python2.5/site-packages/yum/yumRepo.py", line 904, in _commonLoadRepoXML
    result = self._getFileRepoXML(local, text)
  File "/usr/lib/python2.5/site-packages/yum/yumRepo.py", line 772, in _getFileRepoXML
    cache=self.http_caching == 'all')
  File "/usr/lib/python2.5/site-packages/yum/yumRepo.py", line 643, in _getFile
    result = self.grab.urlgrab(relative, local,
  File "/usr/lib/python2.5/site-packages/yum/yumRepo.py", line 463, in <lambda>
    grab = property(lambda self: self._getgrab())
  File "/usr/lib/python2.5/site-packages/yum/yumRepo.py", line 458, in _getgrab
    self._setupGrab()
  File "/usr/lib/python2.5/site-packages/yum/yumRepo.py", line 447, in _setupGrab
    self._grab = mgclass(self._grabfunc, self.urls,
  File "/usr/lib/python2.5/site-packages/yum/yumRepo.py", line 548, in <lambda>
    urls = property(fget=lambda self: self._geturls(),
  File "/usr/lib/python2.5/site-packages/yum/yumRepo.py", line 545, in _geturls
    self._baseurlSetup()
  File "/usr/lib/python2.5/site-packages/yum/yumRepo.py", line 514, in _baseurlSetup
    self.mirrorurls = self._replace_and_check_url(mirrorurls)
  File "/usr/lib/python2.5/site-packages/yum/yumRepo.py", line 536, in _replace_and_check_url
    print 'YumRepo Warning: not using ftp, http[s], or file for repos, skipping - %s' % (url)
  File "/usr/lib/python2.5/codecs.py", line 303, in write
    data, consumed = self.encode(object, self.errors)
UnicodeDecodeError: 'ascii' codec can't decode byte 0xbb in position 78: ordinal not in range(128)

 

 

于是上网查了一下,有人说是fastmirror的问题,于是使用

yum remove yum-fastmirror

发现这个命令也是报以上错误^_^,于是继续google,终于找到解决的方法;

yum clean all

之后yum东西就不再报这个错了,同时fastmirror还能继续使用

扫描二维码关注公众号,回复: 1210663 查看本文章

 

 

知其然,还要知其所以然,于是man yum,可以看到,clean选项的作用是:

Is  used  to clean up various things which accumulate in the yum
cache directory over time.  More complete details can  be  found

in the Clean Options section below.

这个命令是用来清除缓存目录(/var/cache/yum)下的软件包及旧的headers的
命令:yum clean, yum clean all (= yum clean packages; yum clean oldheaders)

 

2、第二种错误:

[root@macross linux下上网相关]# yum install unrar
载入插件: refresh-packagekit
锁已被用 /var/run/yum.pid:  另外的一个复制正在运行在 PID为 3230.
另外一个应用程序正在适用yum锁;等待其退出 ... ...
另外一个应用程序正在适用yum锁;等待其退出 ... ...
另外一个应用程序正在适用yum锁;等待其退出 ... ...
另外一个应用程序正在适用yum锁;等待其退出 ... ...

 

 

那是因为有其他的进程在使用yum
使用kill -9 3230就可以了,如果还有其他的在占用就继续更改数字

猜你喜欢

转载自whxhz.iteye.com/blog/1872727