[linux] 关于 YUM 的升级安装问题

长平狐 发布于 2012/11/19 15:10
阅读 120
收藏 0
最近 CentOS 出现了一件恶心的事情,在安装某个软件过程中,我不小心把 libxml2 弄丢了,结果导致 yum 也莫名其妙的消失了,于是只能重装 yum,但是没想到重装一个 yum 引起了一大堆的问题,本人尝试了 N 种办法试图恢复,还是搞了一整天才把新的 yum 装上,真是感慨莫名阿,遂将过程速记于笔下,希望能给有需要的同志一些参考。

本人系统:CentOS 4.3 / Kernel 2.6.9-22.EL / i686 i686 i386 GNU/Linux

首 先,Google 一下,了解一下问题的大概情况,看起来也有不少朋友遇上了这种麻烦事,总结下来大约有两种做法,第一种是正常的重新安装 yum,另一种是用 apt-get 安装 yum。第一种比较保险,但是要卸载、下载、安装一大堆依赖包;第二种有点投机取巧,但是如果可以的话,那就太妙了。于是开始下载安装 apt-0.5.15cnc7-1.0.rhel4.kde.i386.rpm,rpm 安装后运行出错:E:Archive directory /var/cache/apt/archives/partial is missing. 查了半天得出结论,要手动建立目录,于是 mkdir -p /var/cache/apt/archives/partial,然后再运行又遇到一个问题,开始的时候总是提示错误 E: Failed to fetch mirror list file,然后我添加了 centos.4.list 到 /etc/apt/source.list.d 还是同样的错误,昏,最后找了半天找到 apt.conf.d/mirror-select.conf 文件,mv mirror-select.conf mirror-select.conf.bak 后,总算搞定,汉 .. apt -y  update/install yum 总算成功.. Cheers!

附上 centos.4.list
### Centos RPM Repository for Centos 4
rpm http://mirror.centos.org/ centos/4/apt/i386 os
rpm http://mirror.centos.org/ centos/4/apt/i386 updates
rpm http://mirror.centos.org/ centos/4/apt/i386 extras
rpm http://mirror.centos.org/ centos/4/apt/i386 addons
rpm http://mirror.centos.org/ centos/4/apt/i386 centosplus
rpm http://mirror.centos.org/ centos/4/apt/i386 contrib

感觉挺爽,然后决定试一试手动安装 yum,开始下载:这里介绍一个国内镜像 http://mirror.be10.com/ 基本和 http://mirror.centos.org/ 内容一样,速度很不错,下载需要的包:

centos-yumconf-4-4.5.noarch.rpm
libxml2-2.6.16-10.i386.rpm
libxml2-python-2.6.16-10.i386.rpm
python-sqlite-1.1.7-1.2.1.i386.rpm
sqlite-3.3.6-2.i386.rpm
yum-2.4.3-4.el4.centos.noarch.rpm
yum-metadata-parser-1.0-8.el4.centos.i386.rpm

删 除 yum 的所有依赖包(可以用rpm -qa | grep yum),第一次安装以后,出错:TypeError: Can not create index on requires table. 再查,发现主要的问题出在 sqlite 版本太低,于是下载相关包,重新安装,这次终于成功,各个包的依赖关系和安装顺序如下。

# rpm -ivh libxml2-2.6.16-10.i386.rpm
# rpm -ivh libxml2-python-2.6.16-10.i386.rpm
# rpm -ivh sqlite-3.3.6-2.i386.rpm
# rpm -ivh python-sqlite-1.1.7-1.2.1.i386.rpm
# rpm -ivh centos-yumconf-4-4.5.noarch.rpm
# rpm -ivh yum-metadata-parser-1.0-8.el4.centos.i386.rpm
# rpm -ivh yum-2.4.3-4.el4.centos.noarch.rpm
# yum update
...

好了,至此安装工作终于告一段落:

# apt-get install yum
Reading Package Lists... Done
Building Dependency Tree... Done
yum is already the newest version.

开始正常使用吧,脑袋和手终于可以休息一下了 ... 
原文链接:http://blog.csdn.net/shagoo/article/details/2753071
加载中
返回顶部
顶部