实战:如何使用网络上下载的软件包做一个自己的yum源仓库?(离线rpm包制作yum源仓库)-已成功测试-20210428

image-20210428210427137

测试环境

1台centos7.7 1908虚机;
配置nat模式,可上外网,已配置好阿里yum源;

一、安装createrepo

createrepo 命令用于创建yum源(软件仓库),即为存放于本地特定位置的众多rpm包建立索引,描述各包所需依赖信息,并形成元数据

#默认系统无安装creatrepo软件,因此需要yum进行安装:
[root@hg ~]# rpm -qa|grep createrepo
[root@hg ~]# yum install -y createrepo
[root@hg ~]# rpm -qa|grep createrepo #验证
createrepo-0.9.9-28.el7.noarch

二、保存通过yum安装的相应rpm包?

有如下几种方式:

(1)使用–downloadonly选项(推荐)只下载不安装yum包!

注意,–downloadonly选项是有yum软件包提供的,默认是已经提供的。

image-20210428192240043

  • –downloadonly选项用法

用法1:

yum install --downloadonly RPM_Name
#下载的文件位于/var/cache/yum/x86_64/7/目录下,视系统版本而定。

用法2:(推荐)

yum install -y RPM_Name --downloadonly --downloaddir=保存文件目录名

#注意:
这个--downloadonly选项代表只下载不安装相应的rpm包,包括依赖包;
--downloaddir=保存文件目录名:会在当前目录下生成相应目录的;

(1)用法1测试过程(测试成功)

[root@hg ~]# rpm -qa|grep httpd #未安装httpd软件

image-20210428193154420

由于指定了–downloadonly选项,所以httpd软件没有被安装:

image-20210428193247728

下载的rpm包只是缓存到了/var/cache/yum/x86_64/7目录下:

image-20210428193516998

(2)用法2测试过程(已成功测试)–本次采用这种方式!(推荐)

[root@hg ~]# yum install --downloadonly httpd --downloaddir=httpd

image-20210428193659302

image-20210428193724077

(2)使用yumdownloader命令(只下载rpm包不安装)–不推荐!

yum downloader命令依赖于 yum-utils,因此先需要通过yum安装 yum-utils软件包:

image-20210428194113707

[root@hg ~]# yum install -y yum-utils
  • 用法
#yum downloader RPM_Name
下载的包位于当前目录下。但是,只下载指定的包,不会把该包依赖的包都下载下来的。
  • 测试过程
[root@hg ~]# yumdownloader httpd

image-20210428194503631

(3)yum开启缓存(相对于第一种方式感觉比较笨拙些)

默认情况下,yum安装的rpm包都不会被保存到本地,但可通过设置keepcache参数使其在安装软件包的同时保存rpm包。

[root@hg ~]# vim /etc/yum.conf[main]cachedir=/var/cache/yum/$basearch/$releaseverkeepcache=1			#修改为1表示开启缓存#centos8配置文件路径在/etc/dnf/dnf.confcachedir=/var/cache/dnf/packagekeepcache=1注意:缓存好相关rpm包后可用如下命令将all rpm包拷贝到对应目录,进一步构建自己的yum源仓库:find ./ -name "*.rpm" -exec cp -r {} /opt/php72  \

image-20210428195214073

  • 测试过程
[root@hg ~]# vim /etc/yum.conf 

image-20210428203322964

[root@hg ~]# rpm -qa|grep httpd[root@hg ~]# yum install httpd -y

image-20210428203442897

image-20210428203509430

image-20210428203544935

三、生成repodata文件

[root@hg httpd]# createrepo ./

image-20210428204841946

四、编辑.repo配置文件

cat >> /etc/yum.repos.d/httpd.repo <<EOF[httpd]name=httpdbaseurl=file:///root/httpdenable=1gpgcheck=0EOF

image-20210428204507380

五、修改完成后使用本地 yum 源快速安装

这里为了测试,需要把阿里云源先注释掉:

[root@hg yum.repos.d]# rpm -qa|grep httpd[root@hg ~]# cd /etc/yum.repos.d/[root@hg yum.repos.d]# lsbackup  CentOS-Base.repo  httpd.repo[root@hg yum.repos.d]# mv CentOS-Base.repo{,.bak}[root@hg yum.repos.d]# yum install httpd -y

image-20210428205527985

image-20210428205545481

image-20210428205603564

总结

​ 工作及it学习中,养成本地保留一份rpm相关包,是一个很好的习惯,可以防止因某些软件版本更新后,无法找到当时的相应版本软件包,从而影响一些服务大搭建。

​ 好了,今天就介绍到这里了,下期见。

image-20210428210405034

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值