前言:
在我们日常工作中呢,常常会遇到在内网部署的情况,在内网的情况下我们就没法直接使用yum install -y去直接安装某些东西,这时候就需要我们配置本地yum源来帮我们更加正确高效的完成工作。
在外网下载对应rpm包至本地:
如何下载rpm包呢,我们需要找到一台连接外网的linux机器,大多数情况都是使用自己本地虚拟机来完成哈哈哈…这里呢其实有两种工具可以选择Downloadonly、Yumdownloader
Downloadonly工具
若没有安装过的请先安装:
yum install yum-plugin-downloadonly

yum install --downloadonly --downloaddir=软件包位置[可选] + 软件包名(可加上版本号,指定版本)
# 只能下载当前系统没有安装过的包。这里需要注意若是现在机器安装多对应依赖包这里也是无法下载的,这样会导致下载的依赖不全。

在这里插入图片描述

yum reinstall --downloadonly --downloaddir=软件包位置[可选] + 软件包名(可加上版本号,指定版本)
# 只能下载当前系统安装过的包。这里这个工具就会有个bug,它无法将对应依赖包下载下来。

这里博主安装过httpd下面我们下载。可以看到对应依赖一个没有下载下来。
在这里插入图片描述

个人感觉这个工具两个命令各有一个限制着实很变态啊。
Yumdownloader工具
先安装:
yum install yum-utils

yumdownloader --resolve(可选,意为下依赖包) + --destdir=软件存放位置 (可选) +软件包名

在这里插入图片描述
Yumdownloader工具与Downloadonly有一个同样致命的缺点就是若电脑上已经安装了对应的依赖这里就不会再去下载。所有博主建议,若是真的需要做本地yum源在找下载rpm包机器的时候最好去找一台全新的机器去做,使用虚拟机还是很容易做到的。
reposync工具:
我们可以通过 yum 命令的reposync命令下载 某一个repo源的所有RPM 软件包。其实也是非常好用的。

reposync -r repo源的名称 + -p + 指定下载的路径(可选)

意思一下下载几个,hahahha…
在这里插入图片描述
制作yum仓库:
我们就拿刚刚下载好的httpd的包举例子。
先安装:yum install createrepo
生成负荷要求的rpm仓库:createrepo 放rpm包路径 执行后对应目录下就会多一个repodata文件夹。
在这里插入图片描述
我们可以直接将该文件夹直接拷贝到内网机器中。
制作repo源。

vi /etc/yum.repos.d/test.repo   
[test]                                       # 当前yum源名字
name=test
enable=1                                     # 当前文档启用
gpgcheck=0                                   # 校验
baseurl=file:///data/repo                   # 本地是file,网络是http

将/etc/yum.repos.d目录下文件另存都一个文件夹中:
mv C* test
在这里插入图片描述
测试一下使用yum install -y 安装httpd。看成功了。
在这里插入图片描述
如何后续想放更新rpm仓库只需要在将新的rpm文件放在该目录下,然后执行:createrepo --update 文件路径
最后再补充一个命令哈哈哈。如果想用过yum删除对应工具:yum remove 文件名 这个命令对应的依赖不能一起删除哦。

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐