一、部署 YUM 软件仓库
借助于 YUM 软件仓库,可以完成安装、卸载、自动升级rpm 软件包等任务,能够自动查找并解决 rpm 包之间的依赖关系,而无须管理员逐个、手工地去安装每个rpm 包,使管理员在维护大量 Linux服务器时更加轻松自如。特别是在拥有大量 Linux 主机的本地网络中,构建一台“源”服务器可以大大缓解软件安装、升级等对 Internet 的依赖。
YUM 的前身是 YUP(Yellow dog Updater,Yellow dog Linux 的软件更新器),最初由TSS 公司(Terra Soft Solutions,INC.)使用 Python 语言开发而成,后来由杜克大学(DuckUniversity)的 Linux 开发队伍进行改进,命名为YUM(Yellow dog Updater,Modified)。
要成功使用 YUM 机制来更新系统和软件,需要有一个包含各种rpm 安装包文件及其依赖软件的软件仓库(repository),提供软件仓库的服务器也称为“源"服务器。在客户机中只要正确指定软件仓库的地址等信息,就可以通过对应的“源"服务器来安装或更新软件
1 、准备网络安装源(服务器端)
YUM 软件仓库通常借助于 HTTP 或 FTP 协议来进行发布,这样可以面向网络中的所有客户机提供软件源服务。为了便于客户机查询软件包,获取依赖关系等信息,在软件仓库中需要提供仓库数据(repodata),其中收集了目录下所有rpm 包的头部信息。
2.准备软件仓库目录、
在 CentOS7系统的安装光盘中,已针对软件目录Packages 建立好 repodata 数据因此只要简单地将整个光盘中的内容通过 HTTP 或FTP 进行发布,就可以作为软件仓库了例如,可以创建ar/ftp/centos7目录,并确保有足够的可用空间(本例中建议大于 5GB),然后将 Centos7光盘中的所有数据复制到该目录下。
对于用户搜集的非 CentOS7光盘自带的更多其他软件包(必须包括存在依赖关系的所有安装文件),除了准备相应的目录之外,还需要手动创建 repodata 数据文件,这就要用到createrepo 工具(需要从 CentOS7光盘中安装)。
例如,若已将作为源发布的其他rpm 安装包文件存放到/var/ftp/other 目录下,则可执行以下操作为其创建 repodata 数据。
3.安装并启用vsftpd服务
访问 ftp://192.168.4.254/centos71,确保可以查看到已复制到软件仓库目录/var/ftp/centos7 下的光盘数据;访问 ftp:/1192.168.4.254/other/,可以查看非 CentOS7光盘自带的其他软件包。