yum命令的使用与createrepo自建仓库教程
一、在开始搭建自己的YUM仓库之前,先来了解下如何获取RPM包
在默认配置下使用yum命令安装完软件后安装包是不会保留的,如果想在本地也留存一份安装包,只需要将yum配置文件/etc/yum.conf中的keepcache=0改为1即可,这样安装包都会留存在cachedir所指定的目录中,如图:
该目录下还会根据不同的yum源创建不同的目录,软件包通过哪个源安装的就会保存在哪个目录中,同时相关依赖包也会自动下载,需要注意的如果执行了yum clean all的话是会删除掉这些安装包的:
如果仅仅只是想下载软件包而不进行安装,只需要加--downloadonly选项即可,示例:
1 |
yum install httpd --downloadonly --downloaddir=/data/packages |
二、自建YUM本地仓库:
1、首先建立一个目录用于存放安装包,然后使用createrepo来创建repository仓库,如果系统里没有该命令的话需要先进行createrepo的安装
1 |
mkdir /yum/repo |
2 |
yum install createrepo |
3 |
creatrepo /yum/repo #将该目录制作成软件仓库 |
2、命令执行成功后会在该目录下创建一个repodata目录
3、创建.repo配置文件指向到本地仓库的路径,注意文件名一定要是.repo结尾
1 |
vi /etc/yum.repos.d/ test .repo |
2 |
[ test ] |
3 |
name= test #yum仓库的名字 |
4 |
baseurl= file :///yum/repo #仓库路径,由于是放在本地的只能用file协议而不是http |
5 |
enabled=1 #开启该仓库 |
6 |
gpgcheck=0 #不做gpg检查 |
4、通过yum repolist命令查看仓库及包的数量,可以看到创建的test仓库已经加载,而由于我们没有在目录中存放任何的rpm包,所以显示数量为0
三、创建企业YUM仓库
在第二步的操作中只是在本地建立了一个YUM仓库,这样别人是无法使用的。所以通常会在计划任务中把公网YUM源同步到本地(推荐使用reposync),同步后再执行一次createrepo更新元数据,最后把仓库目录通过FTP或者Nginx、Apache、NFS服务等共享出来,然后客户端的配置文件中修改如下:
1 |
[ test ] |
2 |
name= test |
3 |
enable =1 |
4 |
gpgcheck=0 |
5 |
baseurl=http://10.211.10.12 |