yum仓库搭建

517 阅读2分钟

携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第6天,点击查看活动详情

服务端搭建

1、修改yum配置文件 yum下载软件不清空

[root@ c7-41 7]# sed -i 's#keepcache=0#keepcache=1#g' /etc/yum.conf

2、创建目录用来做yum仓库使用

[root@ c7-41 7]# mkdir -p /yum/centos7

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

[root@ c7-41 7]# yum -y install createrepo yum-utils

4、初始化repodata索引文件

[root@ c7-41 7]# cd /yum/centos7
[root@ c7-41 centos7]# ls
##只下载软件不安装
[root@ c7-41 centos7]# yumdownloader tree
##更新repodata索引文件
[root@ c7-41 centos7]# createrepo -pdo /yum/centos7/ /yum/centos7/

5、提供yum服务 可以用Apache或nginx提供web服务,但用Python的http模块更简单,适用于内网环境

[root@ c7-41 centos7]# cd /yum/centos7/
[root@ c7-41 centos7]# python -m SimpleHTTPServer 81 &>/dev/null &

可以通过浏览器输入本机IP查看: 如http://10.0.0.41:81/ 6、添加新的rpm包

[root@ c7-41 centos7]# yumdownloader pcre-devel openssl-devel
[root@ c7-41 centos7]# createrepo --update /yum/centos7/

客户端搭建

1.配置yum源

[root@ c7-42 ~]# mv /etc/yum.repos.d/epel.repo /etc/yum.repos.d/epel.repo.ori
[root@ c7-42 ~]# cat >/etc/yum.repos.d/centos7.repo<<EOF
> [centos7]
> name=Server
> baseurl=http://10.0.0.41:81
> enable=1
> gpgcheck=0
> EOF
[root@ c7-42 ~]# cd /etc/yum.repos.d/
##临时使用指定的自己指定的centos7 库
[root@ c7-42 yum.repos.d]# yum --enablerepo=centos7 --disablerepo=base,extras,updates,epel list

2.永久使用

[root@ c7-42 yum.repos.d]# sed -i -e '19a enabled=0' -e '29a enabled=0' -e '39a enabled=0' /etc/yum.repos.d/CentOS-Base.repo

3、测试下载

[root@ c7-42 yum.repos.d]# vim /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

4、在服务器上安装nginx

[root@ c7-41 nginx]# yum -y install nginx
###找到nginx所有的相关rpm
[root@ c7-41]# cd /var/cache/yum/x86_64/7/
[root@ c7-41 7]# find . -name '*.rpm'

5、在服务器添加到自己的yum仓库

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

6、更新自己的yum仓库

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

7、客户端重新加载yum缓存并下载nginx

[root@ c7-42]# yum clean all
[root@ c7-42]# yum makecache
[root@ c7-42]# yum -y install nginx