Linux CreateRepo创建Repomd (xml-rpm-metadata)存储库
Createrepo是linux下的创建仓库的软件包。create是创建的意思,repo是repository的缩写,是仓库的意思。
yum(Yellow dog Updater,Modified)主要的功能是方便添加、删除和更新rpm软件包。可以解决软件包依存问题,更便于管理大量的系统更新问题。它可以同时配置多个仓库或叫资源库(repository),就是存放更新和依存的软件包的地方。
repodata作为软件的仓库,其目录下有四个必要文件:filelists.xml.[gz],other.xml.[gz],primary.xml.[gz]和repomd.xml(md 意思是 metadata),其中最主要的是repomd.xml
文件。一般出现的找不到repodata目录或文件的错误的原因通常有三个:一是路径问题;二是没有生成repodate目录;三是*.repo
配置文件冲突(这个需要特意注意)
语法
createrepo [option] <directory>
安装
wget https://mirrors.aliyun.com/centos/7/os/x86_64/Packages/deltarpm-3.6-3.el7.x86_64.rpm?spm=a2c6h.25603864.0.0.2ac12137faCILJ -O deltarpm-3.6-3.el7.x86_64.rpm
wget https://mirrors.aliyun.com/centos/7/os/x86_64/Packages/libxml2-python-2.9.1-6.el7.5.x86_64.rpm?spm=a2c6h.25603864.0.0.2ac12137faCILJ -O libxml2-python-2.9.1-6.el7.5.x86_64.rpm
wget https://mirrors.aliyun.com/centos/7/os/x86_64/Packages/libxml2-2.9.1-6.el7.5.x86_64.rpm -O libxml2-2.9.1-6.el7.5.x86_64.rpm
wget https://mirrors.aliyun.com/centos/7/os/x86_64/Packages/createrepo-0.9.9-28.el7.noarch.rpm?spm=a2c6h.25603864.0.0.2ac12137faCILJ -O createrepo-0.9.9-28.el7.noarch.rpm
wget https://mirrors.aliyun.com/centos/7/os/x86_64/Packages/python-deltarpm-3.6-3.el7.x86_64.rpm?spm=a2c6h.25603864.0.0.2ac12137faCILJ -O python-deltarpm-3.6-3.el7.x86_64.rpm
参数选项说明
-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包依赖并生成新的元数据要高很多(常用) createrepo --update 目标地址
-p --pretty 以整洁的格式输出xml文件。
-d --database 该选项指定使用SQLite来存储生成的元数据,默认项。
举例
使用父目录中的 repo-group.xml 作为 groupfile,在当前目录/或子目录中查找 rpm 包,在当前目录下生成 repodata 目录和数据
createrepo -g ../repo-group.xml .
初始化源目录,产生repodata:
[root@master ~]# createrepo -pd -o ./目标地址/ ./源地址/
Sqlite DBs complete
What you have to do is that others can’t change, then you can’t do who to blame, is your own useless!
Linux CreateRepo创建Repomd (xml-rpm-metadata)存储库相关推荐
- linux git reposi,关于linux:GitLab:无法从远程存储库读取
我创建了项目并添加了ssh-key(都通过webinterface),但是当我尝试向存储库中推送内容时,出现此错误:"无法从存储库读取". 这可能是由于以下事实:.git-proj ...
- AIX 如何在 IBM AIX 上配置 YUM 并创建本地存储库
文章目录 一.如何在 IBM AIX 上配置 YUM 并创建本地存储库 1. 相关基础 1.1 什么是aix系统 2. aix系统上安装yum命令 3. 创建一个本地的 YUM 存储库步骤 二.参考 ...
- musescore源码_如何使用MuseScore在Linux上创建乐谱
musescore源码 上个月,D Ruth Bavousett撰写了有关使用Lilypond "音乐雕刻程序"创建乐谱的信息 ,这让我想到了MuseScore(她在文章中也提到过 ...
- git bitbucket_如何在Bitbucket上创建新的Git存储库并查看提交的对象
git bitbucket For the purpose of this article, Bitbucket is chosen as a Git hosting service. In orde ...
- Spring Data Solr教程:向所有存储库添加自定义方法
如果我们在现实生活中的软件项目中使用Spring Data Solr,很可能我们迟早会遇到一个要求,该要求指出我们的应用程序必须能够与本地Solr服务器和SolrCloud进行通信 . 目前,满足此要 ...
- dnf台服升级mysql_MySQL Yum存储库 安装、升级、集群
添加MySQL Yum存储库 首先,将MySQL Yum存储库添加到系统的存储库列表中.按着这些次序: 选择并下载适用于您的平台的发行包. 使用以下命令安装下载的发行包,替换platform-and- ...
- mysql 升级到集群_MySQL Yum存储库 安装、升级、集群
添加MySQL Yum存储库 首先,将MySQL Yum存储库添加到系统的存储库列表中.按着这些次序: 选择并下载适用于您的平台的发行包. 使用以下命令安装下载的发行包,替换platform-and- ...
- 将现有Git存储库推送到SVN
我一直在用Git完成所有工作并推送到GitHub. 我对软件和网站都非常满意,我不想在此时改变我的工作方式. 我的博士生顾问要求所有学生将他们的工作保存在大学托管的SVN存储库中. 我已经找到大量关于 ...
- 在github上托管Maven存储库
本文翻译自:Hosting a Maven repository on github I have a fork of a small open sourced library that I'm wo ...
最新文章
- Xamarin Visual Studio提示找不到AssemblyAttributes.cs文件
- Linux centos 集群下ssh无密码
- Linux上怎样实现文件夹重命名
- Android自定义控件实现九宫格解锁
- Elasticsearch java api 基本搜索部分详解
- c#中事件注册多个委托并获取委托列表
- 超级强大的心理定律~~!你可以变成你想要的样子!~
- PHP笔记-学生成绩例子
- 学习Spring Security
- linux的8小时差问题解决
- python中的return的返回与执行
- hihocoder 1449 : 后缀自动机三·重复旋律6(后缀自动机)
- Portlet开发指南第三章
- Google 应用与游戏出海 7 月刊: 创意工具,让应用大放异彩
- 【计算机网络微课堂】1.3 三种交换方式:电路交换、分组交换和报文交换
- u盘写保护+计算机管理,电脑如何去除u盘写保护?
- 启发式算法(Heuristic)概述
- Android状态栏添加QS快捷开关
- Pyinstaller的Spec文件用法
- 2019 Q1数字钱包行业报告 | TokenInsight
热门文章
- 在python中get是什么意思_python get函数有什么作用?示例解析
- ./config.status --recheck 而发现的error的根因与解决方案
- word中如何将所有一级标题统一格式(转载)
- 蓝桥杯第十届国赛C++研究生组 试题 A: 三升序列
- 谷歌AAB 安装到手机或者模拟器上
- 为什么很多公司都在招测试开发?
- 邮票的制作(1.主要画笔工具2.钢笔工具)
- 【操作指导 | 代码实现】挑战程序设计竞赛2:算法和数据结构
- C语言 第六章 多重循环
- android与ios ui切图关系,iOS、Android 开发单位换算及 UI 切图要求