YUM仓库配置和使用

应用的环境:在项目的实施中有很多单位(公司)存在没有外网的情况下。此时,在服气上直接使用YUM是根本无法使用,为了方便的本地搭建环境,也是为了更快速的安装软件的依赖包,我采取临时搭建法,不但可以帮助机器使用,也可以供整个服务器群使用

yum仓库的搭建
首先我们需要使用两台虚拟机:

名称ip版本
服务端10.0.0.41centos7.7
客户端10.0.0.42centos7.7

服务端搭建

先修改yum的配置文件

sed -i 's#keepcache=0#keepcache=1#g' /etc/yum.conf

创建目录供yum仓库使用
这里的文件名随意

mkdir -p /yum/centos7

安装createrepo软件
主要是用于生成yum仓库的数据库软件

yum -y install createrepo   yum-utils 

初始化createrepo索引文件

cd /yum/centos7

# 只下载不安装
yumdownloader tree

#更新repodata索引文件
createrepo -pdo /yum/centos7/ /yum/centos7/

提供yum的服务
可以使用nginx和httpd提供web服务,但是Python提供的web更加方便,也适用于内网

cd /yum/centos7/
python -m SimpleHTTPServer 81 &>/dev/null &

可以在本机上的浏览器输入网址,加上端口号81 例如/10.0.0.41:81/
添加新的rpm包

# 也是只下件不安装
yumdownloader pcre-devel openssl-devel 

# 然后每加入一个rpm包就要更新一下
createrepo --update /yum/centos7/

客户端的配置

mv /etc/yum.repos.d/epel.repo /etc/yum.repos.d/epel.repo.ori

cat >/etc/yum.repos.d/centos7.repo<<EOF
[centos7]
name=Server
baseurl=http://10.0.0.41:81
enable=1
gpgcheck=0
EOF

临时使用指定的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

测试下载
先注释掉你的dns解析
然后尝试ping一下外网网址

[root@ c7-42 yum.repos.d]# cat /etc/resolv.conf
#nameserver 223.5.5.5
#nameserver 223.6.6.6

[root@ c7-42 yum.repos.d]# ping qq.com
ping: qq.com: Name or service not known

服务端安装nginx或者是httpd之类的rpm包
这里用ngin代替

[root@ c7-41 centos7]# yum -y install nginx

找到有关于的rpm包

[root@ c7-41 7]# cd /var/cache/yum/x86_64/7/
[root@ c7-41 7]# find . -name '*.rpm'
./base/packages/createrepo-0.9.9-28.el7.noarch.rpm
./base/packages/deltarpm-3.6-3.el7.x86_64.rpm
./base/packages/python-chardet-2.2.1-3.el7.noarch.rpm
./base/packages/yum-utils-1.1.31-52.el7.noarch.rpm
./base/packages/python-deltarpm-3.6-3.el7.x86_64.rpm
./base/packages/python-kitchen-1.1.1-5.el7.noarch.rpm
./base/packages/centos-indexhtml-7-9.el7.centos.noarch.rpm
./base/packages/dejavu-fonts-common-2.33-6.el7.noarch.rpm
./base/packages/dejavu-sans-fonts-2.33-6.el7.noarch.rpm
./base/packages/fontconfig-2.13.0-4.3.el7.x86_64.rpm
./base/packages/fontpackages-filesystem-1.44-8.el7.noarch.rpm
./base/packages/gd-2.0.35-26.el7.x86_64.rpm
./base/packages/gperftools-libs-2.6.1-1.el7.x86_64.rpm
./base/packages/libX11-1.6.7-2.el7.x86_64.rpm
./base/packages/libX11-common-1.6.7-2.el7.noarch.rpm
./base/packages/libXau-1.0.8-2.1.el7.x86_64.rpm
./base/packages/libXpm-3.5.12-1.el7.x86_64.rpm
./base/packages/libxcb-1.13-1.el7.x86_64.rpm
./epel/packages/nginx-1.16.1-1.el7.x86_64.rpm
./epel/packages/nginx-all-modules-1.16.1-1.el7.noarch.rpm
./epel/packages/nginx-filesystem-1.16.1-1.el7.noarch.rpm
./epel/packages/nginx-mod-http-image-filter-1.16.1-1.el7.x86_64.rpm
./epel/packages/nginx-mod-http-perl-1.16.1-1.el7.x86_64.rpm
./epel/packages/nginx-mod-http-xslt-filter-1.16.1-1.el7.x86_64.rpm
./epel/packages/nginx-mod-mail-1.16.1-1.el7.x86_64.rpm
./epel/packages/nginx-mod-stream-1.16.1-1.el7.x86_64.rpm

然后添加到你的yum库里面

[root@ c7-41 7]# find . -name '*.rpm'|xargs -i cp {} /yum/centos7

更新一下

[root@ c7-41 centos7]# cd /yum/centos7/
[root@ c7-41 centos7]# createrepo --update /yum/centos7/

客户端重新加载yum缓存的rpm包

yum clean all
yum makecache
yum -y install nginx

结束

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值