由于RPM程序是已经打包好的数据,里面的数据已经都编译完成,所以安装时一定需要当初安装时的主机环境才能安装,当初建立这个软件的安装环境必须也要在当前的主机上出现。那为什么会出现依赖关系呢?这就是因为你这台主机的安装环境跟当初软件编译的环境不一样而导致的,因为包装好的软件里头预设的数据库记录(RPM 是以一种数据库记录的方式来将所需要的软件安装到 Linux 系统的一套管理程序),记录这个软件要安装的时候必须要的以来的其他软件,当安装在linux系统是,rpm会先根据软件里记录的数据查询linux系统中以来的其他软件是否满足,如果满足则安装,如不满足则不安装。

    下面我来说说,yum的工作原理。

    YUM 是Yellow dog Updater, Modified 的缩写,目的就是为了解决 RPM 的依赖关系的问题,方便使用者进行软件的安装、升级等等工作。YUM 只是为了解决 RPM 的依赖关系的问题,而不是一种其它的软件安装模式。其实 YUM 的工作原理并不复杂,每一个RPM 软件的头(header)里面都会纪录该软件的依赖关系,那么如果可以将该头的内容纪录下来并且进行分析,可以知道每个软件在安装之前需要额外安装哪些基础软件。 在服务器上面先以分析工具将所有的 RPM 档案进行分析,然后将该分析纪录下来,只要在进行安装或升级时先查询该纪录的文件,就可以知道所有相关联的软件。所以 YUM 的基本工作流程如下:服务器端:在服务器上面存放了所有的RPM 软件包,然后以相关的功能去分析每个 RPM 文件的依赖性关系,将这些数据记录成文件存放在服务器的某特定目录内。 客户端:如果需要安装某个软件时,先下载服务器上面记录的依赖性关系文件,通过对服务器端下载的纪录数据进行分析,然后取得所有相关的软件,一次全部下载下来进行安装。

    而yum的安装分为本地yum和网络yum两种。

    首先是本地yum的安装。本地yum安装的时候要保证linux系统上带有光驱,有光驱的前提下才可以搭建本地yum。

    装了光驱之后,在linux中新建一个mnt/cdrom,把光驱挂载在这个挂载点中,然后编辑一下/etc/yum.repos.d/wenjianming.repo这个文件,把里面的baseurl后面的地址改变为mnt/cdrom所在的地址,并且把gpgcheck后面的数字1改为数字0,这样安装的时候就不会有寻找到密钥在安装使用了。

    第二个是网络yum的安装,网络yum的安装与本地yum的最大不同点就在于网络yum最少需要两个计算机,一台做服务器,另一台安装yum使用,而本地yum只需要一台计算机即可。下面是网络yum的安装过程。

    首先是在一台计算机上创建一个ftp服务器,然后把linux的安装盘的文件拷入到ftp服务器的目录中,这是另一台计算机主需要登陆到ftp服务器中,把需要的文件拷下来即可安装,或者编辑/etc/yum.repos.d/wenjianming.repo这个文件,把里面的beseurl后面的地址改变为ftp服务器的地址与文件所在目录即可,并且把enable后面的数字改为1,gpgcheeck后面的数字改为0,这样就可以正常的安装了。