8.2.3 包依赖关系
在本章前面的内容中,连续几次提到了“包依赖”这个词汇,但均未做过多的解释。一方面是从字面意义上可以大概猜到其含义,不难理解,另一方面是当时谈论还为时太早,不过现在可以正式向大家介绍它了。
所谓包依赖,就是说在安装A包之前需要已经安装了B包,其实质是A软件运行时需要依赖B软件提供的功能。比如说openssh这个工具用于远程连接服务器,而ssh客户端和服务器之间的通信必须是加密的,但是openssh本身没必要再实现一次加密算法,只需要借助openssl提供的加密功能就可以了,这样安装openssh之前就需要已经安装openssl。那么,在这种情况下安装包时怎样才能知道需要提前安装哪些必要的包呢?事实上,如果依赖关系不满足,RPM会自动提示,而且也会拒绝安装未满足依赖关系的包。但是,大多数时候这些提示都会比较模糊,有时候你不得不根据RPM给出的一些信息,借助于一些搜索工具来判断具体的包名,而这对于很多新手来说确实有一定难度。下一节中将会具体演示安装gcc时由于包依赖关系造成的问题。