Fork me on GitHub

yum下载rpm包到本地,并使用createrepo自建yum仓库

 

使用createrepo自建yum仓库

 

 

当服务器由于某些原因没有外网时,可以通过createrepo搭建本地yum仓库,使用yum能够自动安装软件,并且自动处理好依赖关系。

那么怎么获取该软件及其依赖包的rpm包,供本地源使用?

 

本次以安装httpd为例,准备好两台服务器:

ip

备注

192.168.100.162

有外网,获取rpm包,供本地源使用

192.168.100.163

无外网,自建本地源,安装软件

1、在搭建YUM仓库之前,先来了解下如何获取RPM包

方式一:通过修改yum配置文件来获取rpm包

在默认配置下使用yum命令安装完软件后安装包是不会保留的,如果想在本地也留存一份安装包,只需要将yum配置文件/etc/yum.conf中的keepcache=0改为1即可,这样安装包都会留存在cachedir所指定的目录中

 

存放安装包的路径会根据不同的yum源创建不同的目录,软件包通过哪个源安装的就会保存在哪个目录中,同时相关依赖包也会自动下载,需要注意的如果执行了yum clean all的话是会删除掉这些安装包的:

 

 

 

方式二:通过yum的—downloadonly参数来获取rpm包,此方式仅下载软件包而不进行安装 (本次使用此方式)

[root@162 ~]# yum install httpd --downloadonly --downloaddir=/data/repo

2、使用createrepo搭建本地仓库

[root@162 ~]# yum install createrepo

[root@162 ~]# createrepo /data/repo/  #将该目录制作成软件仓库

[root@162 ~]# ll /data/repo/

-rw-r--r-- 1 root root 2844388 8月  23 05:25 httpd-2.4.6-90.el7.centos.x86_64.rpm

-rw-r--r-- 1 root root   92944 8月  23 05:25 httpd-tools-2.4.6-90.el7.centos.x86_64.rpm

-rw-r--r-- 1 root root   31264 7月   4 2014 mailcap-2.1.41-2.el7.noarch.rpm

drwxr-xr-x 2 root root    4096 1月   9 10:24 repodata #创建一个repodata目录

 

 

3、测试

登录没有外网的机器(192.168.100.163)

 

[root@163 ~]# ll /data/repo/    #把162机器上的仓库文件拷贝到本地

-rw-r--r-- 1 root root 2844388 8月  23 05:25 httpd-2.4.6-90.el7.centos.x86_64.rpm

-rw-r--r-- 1 root root   92944 8月  23 05:25 httpd-tools-2.4.6-90.el7.centos.x86_64.rpm

-rw-r--r-- 1 root root   31264 7月   4 2014 mailcap-2.1.41-2.el7.noarch.rpm

drwxr-xr-x 2 root root    4096 1月   9 10:24 repodata

[root@163 ~]# cat /etc/yum.repos.d/test.repo   #写个repo文件

[test]

name=test

enable=1

gpgcheck=0

baseurl=file:///data/repo

[root@163 ~]# yum repolist

[root@163 ~]# yum install httpd

[root@163 ~]# ss -tanlp |grep 80

LISTEN     0      128          *:80                       *:*         

 

 

 

posted @ 2020-01-09 11:03  创始人  阅读(2145)  评论(1编辑  收藏  举报