createrepo自建yum仓库

一、在开始搭建自己的YUM仓库之前,先来了解下如何获取RPM包

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

[root@yum-server ~]# vim /etc/yum.conf
[main]
cachedir=/var/cache/yum/$basearch/$releasever    #这行为原有固定格式
keepcache=1                                      #表示开启缓存功能

  

该目录下还会根据不同的yum源创建不同的目录,软件包通过哪个源安装的就会保存在哪个目录中,同时相关依赖包也会自动下载

[root@yum-server ~]# yum clean all      #先清理旧的缓存
[root@yum-server ~]# yum makecache      #创建新的缓存区
[root@yum-server ~]# yum -y update      #通过“更新”的方式来下载yum包的缓存

  

注意:通过yum -y update缓存的包是对于本机之前已有的包进行更新,所以缓存下来的包也是之前安过的包,并不是所有yum仓库的包(整个yum仓库包你想想得多大)。

拓:如果仅仅只是想下载软件包而不进行安装,只需要加--downloadonly选项即可,示例:

[root@yum-server ~]# yum install httpd --downloadonly --downloaddir=/data/packages

二、自建YUM本地仓库:

1、首先建立一个目录用于存放安装包,然后使用createrepo来创建repository仓库,如果系统里没有该命令的话需要先进行createrepo的安装

[root@yum-server ~]# mkdir -p /yum/repo
[root@yum-server ~]# find /var/cache/yum/x86_64/7/ -iname "*.rpm" -exec cp -rf {} /yum/repo/ \;
[root@yum-server ~]# yum install createrepo -y         #安装createrepo功能
[root@yum-server ~]# createrepo /yum/repo/             #将该目录制作成软件仓库

  

2、命令执行成功后会在该目录下创建一个repodata目录

3、创建.repo配置文件指向到本地仓库的路径,注意文件名一定要是.repo结尾

[root@yum-server ~]# vim /etc/yum.repos.d/update.repo
[update]
name=centos update
baseurl=file:///yum/repo                  #file协议用于本主机拉去本地yum源,该主机的配置这句!!!
#baseurl=http://192.168.22.133/yum/repo   #http协议用于其他机器拉取该机的yum源,其他主机的配置这句!!!
#baseurl=ftp://192.168.22.133/update      #ftp协议用于其他机器与本机开启ftpd功能!!!
gpgcheck=0
enabled=1

  

拓:如果用ftp方式的话,需开启ftp,且需将缓存的文件夹提前拷到ftp的目录共享下

[root@yum-server ~]# mkdir /var/ftp/update
[root@yum-server ~]# cp /yum/repo /var/ftp/updata
[root@yum-server ~]# yum -y install vsftpd
[root@yum-server ~]# mv /etc/vsftpd/vsftpd.conf{,.bak}
[root@yum-server ~]# vim /etc/vsftpd/vsftpd.conf
# 开启匿名用户登录
anon_upload_enable=YES
anon_mkdir_write_enable=YES
[root@yum-server ~]# systemctl restart vsftpd

4、可做测试

方法一:通过看yum仓库情况查看新建的yum源
[root@yum-server ~]# yum repolist
方法二:通过查看缓存包的个数来看
[root@yum-server ~]# ls /yum/repo | wc -l

你可能感兴趣的:(createrepo自建yum仓库)