CentOS或者RHEL 系统环境下,RPM 的依赖性是个很让人头疼的问题。每次系统安装完成过后,想再装一个软件包,敲下回车之前,都会心惊胆战,生怕跳出个依赖性错误。而在一个依赖性错误的背后,可能还牵连着更多的依赖性。这个问题让很多 Linux 用户望而生畏。
RPM 包的依赖关系说起来是简单的因为它所谓的依赖关系仅仅是一个个简单的如“要安装 A,需要提前准备好 a1, a2, a3”这样的条件。
例如,当我们安装gcc时。找到安装光盘,小心翼翼地挂载上,并找到了gcc-4.1.2-50.el5.i386.rpm 尝试着用
rpm -ivh gcc-4.1.2-50.el5.i386.rpm
进行安装。系统告之缺少 glibc-devel 和 libgomp,当你试着安装 glibc-devel,系统又提示缺少 glibc-headers。继续下去,又发现缺少 kernel-headers。很苦恼,心想如果当初选择了完全安装该有多好!同时也抱怨怎么Linux就这么难用的啊,要是像Windows下面一直next多好啊!最终,按照依赖提示,递归似的完成了 gcc 的安装。很庆幸的完成了这个任务。其实只是因为这个安装任务的依赖关系还不够复杂到把我们吓退罢了。
那我强烈推荐使用yum!
yum 对 RPM 包的处理是一个典型的“空间换时间”过程。通过对源中所有 RPM 包的预处理,生成所有安装包关于包含文件,依赖,冲突等信息的索引,并且以 sqlite 格式存放在 /var/cache/yum 对应目录下面。
用DVD建立本地yum源
既然 y