YUM是什么?
YUM 主要用于自动安装、升级 rpm 软件包,它能自动查找并解决 rpm 包之间的依赖关系。要功的使用 YUM 工具安装更新软件或系统,就需要有一个包含各种 rpm 软件包的 repository(件仓库),这个软件仓库我们习惯称为 yum 源。网络上有大量的 yum 源,但由于受到网络环的限制,导致软件安装耗时过长甚至失败。特别是当有大量服务器大量软件包需要安装时,慢的进度条令人难以忍受。因此我们在优化系统时,都会更换国内的源。相比较而言,本地 YUM 源服务器最大优点是局域网的快速网络连接和稳定性。有了局域网中YUM 源服务器,即便在 Internet 连接中断的情况下,也不会影响其他 YUM 客户端的软件安装升级。
YUM源?
(1)要成功的使用 YUM 工具安装更新软件或系统,就需要有一个包含各种 rpm 软件包的repository(软件仓库),这个软件仓库我们习惯称为 yum 源,
(2)网络上有大量的 yum 源,但由于受到网络环境的限制,导致软件安装耗时过长甚至失败,特别是当有大量服务器大量软件包需要安装时,缓慢的进度条令人难以忍受,因此我们在优化系统时,都会更换国内的源
(3)相比较而言,本地 YUM 源服务器最大优点是局域网的快速网络连接和稳定性,有了局域网中的 YUM 源服务器,即便在 Internel 连接中断的情况下,也不会影响其他 YUM 客户端的软件安装和升级。
YUM配置
yum的配置文件信息在/etc/yum.repos.d/下,我们配置的是自己的网络yum源,所以这些文件我们都把它移(mv)到别的地方。
[root@localhost ~]# cd /etc/yum.repos.d/ [root@localhost yum.repos.d]# ls CentOS-Base.repo CentOS-Base.repo.bak CentOS-Media.repo CentOS-Debuginfo.repo CentOS-Vault.repo
服务端的配置
1、在 / 下创建一个文件夹放置我们的安装包
[root@localhost ~]# mkdir /yum_source_pck
[root@localhost ~]# cd /yum_source_pck/ [root@localhost yum_source_pck]# # 上传 rpm 包到此目录,此目录下面还可以包括文件夹 获取 rpm 软件包的几种方法 (1) 开启 YUM 缓存 (2) yumdownloader pcre-devel openssl-devel # 只下载软件不安装
2、本地系统挂载光盘
mount /dev/cdrom /mnt/
[root@localhost yum_source_pck]# cp /mnt/Packages/* /yum_source_pck/ #4G左右文件,时间可能较长
[root@localhost yum_source_pck]# du -sh #查看文件大小
3、安装createrepo软件,用于生成yum仓库的软件
[root@localhost ~]# createrepo -pdo /yum_source_pck/ /yum_source_pck/ //初始化 Spawning worker 0 with 3995 pkgs ...... //部分内容省略 Sqlite DBs complete [root@localhost ~]# createrepo --update /yum_source_pck/ //每加入一个rpm包就要更新一次
4、使用python命令把80端口打开,这个地方需要在包的路径下面,通过网页把内容发布出去
[root@localhost ~]# cd /yum_source_pck/ [root@localhost yum_source_pck]# python -m SimpleHTTPServer 80 &> /dev/null &
用这个&意思是放在后台一直运行,要不然就访问不到
我们也可以访问测试一下是否可以连接
lsof -i :80
客户端
[root@aery ~]# cd /etc/yum.repos.d/ [root@aery yum.repos.d]# vim yum.repo //编辑 YUM 配置文件 [yum] name=yum install baseurl=http://192.168.111.129 enabled=1 gpgcheck=0 [root@aery yum.repos.d]# yum clean all //清除 yum 缓存 Loaded plugins: fastestmirror, refresh-packagekit, security Cleaning repos: inside Cleaning up Everything [root@aery yum.repos.d]# yum makecache //更新 YUM 缓存
使用yum安装测试
yum -y install dhcp
错误信息排查
如果出现这样的错误,进行下面的操作,删除rpm缓存,就是我们的清除yum缓存后有新的部分缓存
rm -rf /var/lib/rpm/__db.*
出现这样的执行,杀死这个yum程序,不能多线程
killall -9 yum