Linux使用createrepo制作本地yum源

1、什么是createrepo?

createrepo 是一个对rpm 文件进行索引建立的工具。大体功能就是对指定目录下的rpm文件进行检索,把每个rpm文件的信息存储到指定的索引文件中,这样方便远程yum命令在安装更新时进行检索。

2、createrepo的应用场景

很多场景,我们需要在内网环境离线去安装软件包。但是在实际安装过程中缺少依赖包。这时我们在本地可以联网的环境下载所需的依赖包,制作成yum源,并打成tar包。这样我们就可以在内网环境,使用yum命令安装依赖的rpm包。

3、实战演练:

0、下载依赖包
[root@ServerA ~]# yum install --downloadonly --downloaddir=/Packages package-name

1、安装createrepo软件包
[root@ServerA ~]# yum install -y createrepo


2、进入本地rpm包目录
[root@ServerA yum]# ll

总用量 244

dr-xr-xr-x 2 root root 200704 12月 4 15:48 Packages

[root@ServerA yum]# pwd

/root/yum

[root@ServerA Packages]# createrepo ./


3、执行完后可以看到生成的repodata目录
[root@ServerA yum]#

[root@ServerA yum]# ll

总用量 248

dr-xr-xr-x 2 root root 200704 12月 4 15:48 Packages

drwxr-xr-x 2 root root 4096 12月 4 15:49 repodata

[root@ServerA yum]#

[root@ServerA yum]# cd repodata/

[root@ServerA repodata]# ls

40bac61f2a462557e757c2183511f57d07fba2c0dd63f99b48f0b466b7f2b8d2-other.xml.gz

89f2f521e86842c3874e2d3e0adf9fcc57f51a677007695372fef9cbc094a93a-primary.sqlite.bz2

9710c85f1049b4c60c74ae5fd51d3e98e4ecd50a43ab53ff641690fb164a6d63-other.sqlite.bz2

cfa741341d5d270d5b42d6220e2908d053c39a2d8346986bf48cee360e6f7ce8-filelists.xml.gz

d863fcc08a4e8d47382001c3f22693ed77e03815a76cedf34d8256d4c12f6f0d-filelists.sqlite.bz2

e4567be6b0b9a3fa62ae0c731d0ace9656c93f38cac1947e37c4d58d4a097d1a-primary.xml.gz

repomd.xml


至此个人yum源完成


4、编辑yum配置文件使用
[root@ServerA repodata]# vim /etc/yum.repo/yum.repo
[yum2]
name=yum2
baseurl=file:///root/yum/
gpgcheck=0
enabled=1

5、将/etc/yum.repo/目录的其他repo源移备份,以免受影响

[root@ServerA repodata]# cd /etc/yum.repo.d/
[root@ServerA repodata]# mv epel.repo  epel.repo.bak

 

6、完成,测试使用
#清空yum源
[root@ServerA repodata]# yum clean all

#更新yum源
[root@ServerA repodata]# yum makecache

#查看已加载的yum源,如果新添加的repo状态是enabled状态,说明加载成功。

[root@ServerA repodata]#  yum repolist all


7、关于更新yum仓
不需要重新生成,使用createrepo --update 路径即可
[root@ServerA yum]# createrepo --update ./


[root@ServerA yum]# yum install package-name -y

posted @ 2021-12-14 14:55  业余砖家  阅读(4202)  评论(0编辑  收藏  举报