createrepo 利用本地 rpm 包创建 yum 源

  • createrepo
createrepo 命令用于创建yum源(软件仓库),即为存放于本地特定位置的众多rpm包建立索引,描述各包所需依赖信息,并形成元数据。
  • 环境准备
CentOS 7 机器一台
连网 yum 源
  • 检查是否安装
[root@localhost ~]# rpm -qa | grep createrepo
  • yum 安装 createrepo
[root@localhost ~]# yum -y install createrepo

在这里插入图片描述

  • 验证安装结果
[root@localhost local_yum]# rpm -qa | grep createrepo

在这里插入图片描述

  • 准备 rpm 包(用于创建 yum 仓库)

在这里插入图片描述

  • 使用 createrepo 创建 yum 仓库
[root@localhost local_yum]# createrepo -v -o ./ .

在这里插入图片描述

  • 查看生成元数据

在这里插入图片描述

  • 利用仓库创建本地 yum 源
[root@localhost local_yum]# vim /etc/yum.repos.d/local.repo
[local]
name=local
enable=1
baseurl=file:///home/dev/local_yum 			# yum 仓库位置
gpgcheck=0
  • 刷新 yum 列表
[root@localhost local_yum]# yum clean all
[root@localhost local_yum]# yum makecache

在这里插入图片描述

  • 验证 yum 源
[root@localhost local_yum]# yum list | grep local

在这里插入图片描述

  • createrepo 参数详解
-u  --baseurl <url>
    指定Base URL的地址
 
-o --outputdir <url>
    指定元数据的输出位置
 
-x --excludes <packages>
    指定在形成元数据时需要排除的包
 
-i --pkglist <filename>
    指定一个文件,该文件内的包信息将被包含在即将生成的元数据中,格式为每个包信息独占一行,不含通配符、正则,以及范围表达式。
 
-n --includepkg
    通过命令行指定要纳入本地库中的包信息,需要提供URL或本地路径。
 
-q --quiet
    安静模式执行操作,不输出任何信息。
 
-g --groupfile <groupfile>
    指定本地软件仓库的组划分,范例如下:createrepo -g comps.xml /path/to/rpms
    注意:组文件需要和rpm包放置于同一路径下。
 
-v --verbose
    输出详细信息。
 
-c --cachedir <path>
    指定一个目录,用作存放软件仓库中软件包的校验和信息。
    当createrepo在未发生明显改变的相同仓库文件上持续多次运行时,指定cachedir会明显提高其性能。
 
--update
    如果元数据已经存在,且软件仓库中只有部分软件发生了改变或增减,
    则可用update参数直接对原有元数据进行升级,效率比重新分析rpm包依赖并生成新的元数据要高很多。
 
-p --pretty
    以整洁的格式输出xml文件。
 
-d --database
    该选项指定使用SQLite来存储生成的元数据,默认项。
  • 参考

createrepo 命令详解
createrepo 生成仓库元数据,搭建本地yum源

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章