搭建YUM仓库

概述

  1. YUM 主要用于自动安装、升级 rpm 软件包,它能自动查找并解决 rpm 包之间的依赖关系。
  2. 使用 YUM 工具安装更新软件或系统,就需要有一个包含各种 rpm 软件包的 repository(件仓库),这个软件仓库习惯称为 yum 源。

YUM(Yellow Dog Updater Modified)为多个 Linux 发行版的软件包管理器 例如 Redhad RHEL、CentOS & Fedora。 YUM 主要用于自动安装,升级 rpm 软件包,他能自动查找并解决 rpm 包的依赖关系,YUM 自动下载 YUM 包并安装,类似软件管家的一键安装功能。

搭建内网中的YUM源

服务端配置

创建目录用来做YUM仓库使用

```bash mkdir /yum_source cd /yum_source/

# 上传 rpm 包到此目录,此目录下面还可以包括文件夹 ```

获取 rpm 软件包的几种方法

  1. 开启 YUM 缓存
  2. 只下载不安装

例如: yumdownloader pcre-devel openssl-devel

只下载软件不安装,作为忘记开启YUM 缓存的补救手段

使用系统光盘中的RPM包作为YUM仓库的YUM源文件

mount /dev/cdrom /mnt/ //挂载系统光盘 cp /mnt/Packages/* /yum_source/ //将光盘下的所有rpm包拷贝到创建的YUM仓库的目录下


  1. 安装 createrepo 软件,用于生成 yum 仓库数据库的软件

yum -y install createrepo rpm -q createrepoyum info createrepo

检查软件是否安装

  1. 初始化 repodata 索引文件(每次发布新的内容都需要更新)

详细使用方法参见 createrepo

createrepo -pdo /yum_source/ /yum_source/

初始化

createrepo --update /yum_source/

每加入一个rpm包就要更新一次

  1. 使用 python 命令开启 80 端口,或者使用ftp映射也可以

要求在 rpm 的路径下执行此命令,此命令的功能就是通过浏览器把内容发布出去

cd /yum_source/ python -m SimpleHTTPServer 80 &> /dev/null &

测试

  1. 提供 web 服务查看 80 端口是否开启

lsof -i:80 netstat -aptn

可能需要安装

  1. 打开浏览器测试

客户端配置

curl -I 192.168.1.105

检查 YUM 发布的页面客户端是否可以访问

cd /etc/yum.repos.d/ //切换到 yum 配置文件 mkdir bak //创建一个存放暂时不用的yum源配置文件目录 mv CentOS-Debuginfo.repo CentOS-Media.repo CentOS-Vault.repo bak/ //将暂时不用的yum源配置文件移动到其他目录 > CentOS-Base.repo //清空 yum 配置文件 vim CentOS-Base.repo //编辑 YUM 配置文件

 [inside] 
 name=inside yum source
 baseurl=http://192.168.1.105
 enabled=1
 gpgcheck=0

yum clean all //需要先清除 yum 以前的缓存

yum makecache //更新 YUM 缓存