Linux 版 (精华区)
发信人: howdoit (教练让我上场!!!), 信区: Linux
标 题: RPMDependencies:怎么回事?
发信站: 哈工大紫丁香 (Tue May 18 08:40:12 1999), 转信
"The Linux Gazette...making Linux just a little more fun!"
The Answer Guy
By James T. Dennis, answerguy@ssc.com
Starshine Technical Services, http://www.starshine.org/
RPM Dependencies:怎么回事?
>From Riccardo Donato on Sun, 22 Nov 1998
我怎么才能安装为RedHat 4.0或5.0写的RPM包?我曾尝试安装它们,但
收到出错信息
(涉及我的系统上不存在的一些库)
在任何公共论坛提问时(如mailing list,newsgroup,网上杂
志,和传统杂志),如果
问题涉及到你所看到的出错信息...
务必附上出错信息的原始文本!
另一个好习惯是,附上导致出错信息的确切的命令行或命令序列.我没
办法区分你是
从shell提示符键入'rpm'导致的错误呢,还是用RPM系统的图形界面前
端程序.
我猜想RPM系统在抱怨依存关系(dependencies).这就是说,你想安装的
软件包"依赖
于"其它的软件包(比如一个库).
通常的解决办法是,找到提供这些库或其它资源的RPM文件,并先把它们
安装上.有时
候,确定你需要安装的RPM文件及以什么顺序安装是需要点技巧的.最好
当然是Red
Hat Inc. 能提供有关这方面的更好的信息(比如放在RPM文件的"info"
页 , 就可以
用'rpm -qpi'命令看到.)有个什么'rpm --whatprovides'开关--但我
不知道那是干
什么的.
如果你有一个混合系统(拥有一些RPM包,还有一些从"tar包"甚至
Debian 包系统编
译并安装的软件包),那么另一个窍门就是用rpm命令的"--nodeps"选项
安装.不过
,这种办法并非总能管用 ,那怕你已经安装了必要的软件包.对于库这
不应是个问题
,--但是其它类型的一些文件可能没有位于"正确的地方".通常,通过建
立合适的符
号连接就能解决这一问题;不过你需要知道RPM包的程序要求哪些资源,
及要求它们
位于什么地方.(比如以下是我遇到的一个问题:安装
xemacs-20.4-1.rpm时,RPM报告
dependencies不满足, 需要 libpng.so.0.用rpm -q --whatprovides
libpng.so.0
查一下,结果报告说已安装的RPM包没有能提供libpng.so.0的.于是又
试了
rpm -qa --provides|grep libpng,试图列出所有RPM包能提供的东西,
并用grep 找到
libpng的某一版本.发现有一个包能提供libpng.so.2.这时可以找到
libpng.so.2,做指向它的符号连接libpng.so.0,再用
rpm -i --nodeps xemacs-20.4-1.rpm
"强制"安装这个RPM包.这里只要libpng.so.2能提供libpng.so.0所提
供的资源,程序的
运行就不会受什么影响. --译者注)
由于不知道你所说的具体是哪个包,我只能泛泛而论了.既然有专门介
绍RPM系统的
WEB站点http://www.rpm.com,和专门做RPM的中型公司(Red Hat,
http://www.redhat.com,和 S.u.S.E. http://www.suse.de ,
http://www.suse.com), 我在这里班门弄斧可就不太明智了.
版权所有 (C) 1998 NJLUG
出版于第35期《Linux公报》1998年12月 中文版第二期
rpm
passwd
links
ipscript
magickeys
--
☆ 来源:.哈工大紫丁香 bbs.hit.edu.cn.[FROM: bin@mtlab.hit.edu.cn]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:2.209毫秒