应用场景
在项目实施过程中,很多实施单位存在没有外网的情况。此时,在服务器上直接使用Yum命令根本无法使用,为了方便在本地搭建环境,为了方便快捷安装软件依赖包,我们采用临时解决方案进行本地Yum仓库搭建,不但可以供搭建机器使用,更可以供整个服务器群使用。
yum仓库搭建
环境:Centos7
服务端:10.0.0.43
客户端:10.0.0.44
服务端搭建
1.1 修改yum配置文件
yum下载软件不清空
# sed -i 's#keepcache=0#keepcache=1#g' /etc/yum.conf
1.2 创建目录用来做 YUM 仓库的使用
# mkdir -p /yum/centos7
1.3 安装 createrepo 软件,用于生成 yum 仓库数据库的软件
# yum -y install createrepo yum-utils
1.4 初始化repodata索引文件
# cd /yum/centos7/
# yumdownloader tree #只下载软件不安装
# createrepo -pdo /yum/centos7/ /yum/centos7/ #更新repodata索引文件
1.5提供yum服务
可以用Apache或nginx提供web服务,但用Python的http模块更简单,适用于内网环境
# cd /yum/centos7/
# python -m SimpleHTTPServer 81 &>/dev/null &
# netstat -ntlp|grep 81 #查看81端口 起来了就可以用浏览器访问了
输入本机IP查看: 如http://10.0.0.43:81/
1.6添加新的rpm包
# yumdownloader pcre-devel openssl-devel #只下载软件不安装
# createrepo --update /yum/centos7/ #没加入一个rpm包就要更新一下
客户端配置
# mv /etc/yum.repos.d/epel.repo /etc/yum.repos.d/epel.repo.ori
# vim /etc/yum.repos.d/centos7.repo
[centos7]
name=Server
baseurl=http://10.0.0.43:81
enable=1
gpgcheck=0
临时使用指定的自己指定的centos7 库
# yum --enablerepo=centos7 --disablerepo=base,extras,updates,epel list
永久使用
sed -i -e '19a enabled=0' -e '29a enabled=0' -e '39a enabled=0' /etc/yum.repos.d/CentOS-Base.repo
测试下载
注释:/etc/resolv.conf
[root@ c7-44 ~]# cat /etc/resolv.conf
#nameserver 223.5.5.5
#nameserver 223.6.6.6[root@ c7-44 ~]# ping qq.com
ping: qq.com: Name or service not known
服务端安装nginx或者找nginx相关rpm
[root@ c7-43 ~]# yum -y install nginx
找到nginx所有的相关rpm
# find . -name '*.rpm'
添加到自己的yum仓库
# find . -name '*.rpm'|xargs -i cp {} /yum/centos7
更新自己的yum仓库
# cd /yum/centos7/
# createrepo --update /yum/centos7/
客户端重新加载yum缓存并下载nginx
# yum clean all
# yum makecache
# yum -y install nginx