您的位置:首页 > 运维架构 > Linux

升级archlinux旧版本pacman支持xz格式软件包

2010-06-20 18:36 423 查看
用andLinux有一段时间了,想熟悉一下ArchLinux,于是安装colinux下的ArchLinux,sf上下的版本是2007.08-2版本,

先更新系统

#pacman -Sy pacman

#pacman -Su

第一步就出问题了,需要openssl >=1.0.0

#pacman -S openssl

结果安装依赖的gdbm是xz格式的。(openssl->perl->gdbm/db)老版本pacman不能识别

找了半天也没找到有用的信息,只是说新版本pacman支持xz,没有一个说怎么升级。

于是强行安装#pacman -S pacman -d,但是安装后运行出现找不到libfetch.so, pacman已经不能用了!

 

于是两条路:回退pacman;将缺少的so找到

colinux下载版本没有安装软件包的cache, 源里面也没有旧版本下载,只能从源代码构建...这个版本的abs也没安装..

 

google到一个有用的信息:http://bbs.archlinux.org/viewtopic.php?id=97718

于是ld /usr/bin/pacman看看,缺少了libfetch.so/libssl.so.1.0.0/libcrypto.so.1.0.0

从libfetch和openssl包里面找到这几个库,解压拷到/usr/lib之后,pacman可以运行了,现在更新系统

#pacman -Su

下载完成后还是不能识别xz,于是搜xz格式的信息,找到有xz包,安装xz

#pacman -S xz

还是不能识别xz格式的包,再次更新pacman,发现还有新版本可更新,依赖新版本的libarchive/

于是安装libarchive发现还有依赖链,于是逐步安装,刚好这些包都是gz格式的。到只依赖openssl的包,再次用-d选项安装,之后更新pacman可以识别xz

让后用-f选项强制安装openssl,libfetch。因为这两个包有文件已经存在了。

之后系统应该正常了

 

不知道为什么pacman更新两次,中间修改过一次mirrorlist,增加了sohu/163等。不知道是否源不同步还是pacman需要升级一次中间版本

通过ldd的信息比较,前一次版本确实没有依赖libzma.so等

 

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  cache