Linux CreateRepo创建Repomd (xml-rpm-metadata)存储库
2023-09-14 09:09:03 时间
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读取XML文件的快速方法(linux读取xml文件)
- 【Linux分区XFS:最佳存储解决方案】(linux分区xfs)
- Linux下的覆盖式拷贝:使用精准的技巧(linux覆盖拷贝)
- Linux高级视频教程:掌握高效能技能(linux高级视频教程)
- 设备Linux系统的存储设备挂载指南(linux挂载存储)
- 管理提升效率:Linux服务器存储管理实践(linux服务器存储)
- Linux让网络浏览更加自由方便(linux代理)
- 培训马哥Linux系列:探索精彩世界(马哥linux系列)
- 查看Linux系统启动时间(查看linux启动时间)
- Linux服务器挂载存储: 实现双本地数据同步(两台linux挂载存储)
- Linux实现无缝挂接存储设备(linux挂接存储)
- 探索手机Linux的极致桌面体验(手机linux桌面)
- 掌握Linux系统中的PS命令(linux中的ps命令)
- Linux下存储过程执行指南(linux执行存储过程)
- Linux关机命令对比:Shutdown、Reboot、Poweroff(linux关机命令的区别)
- 管理Linux存储管理:实现更高效的数据存储(linux存储)
- Linux存储高效挂载实战(linux存储挂载)
- 如何在Linux上挂载光纤存储设备?(linux挂载光纤存储)
- 快速入门:学习Linux下如何查看已挂载的存储设备(linux查看挂载的存储)
- 如何在Linux上修改屏幕分辨率(linux怎么修改分辨率)
- Linux下GVFS文件系统:展示新时代文件存储(linux gvfs)
- 连接Linux,一键可视化,操作更高效(可视化连接linux)
- Linux命令快速进入D盘的操作技巧(linux命令进入d盘)
- Linux 进程:唤醒非凡的力量(linux 进程 唤醒)
- Linux查看存储信息:轻松一步实现机器存储查看任务(linux查看存储 信息)
- Linux下实现TCP/IP连接跟踪查看的方法(linux连接跟踪查看)
- Python脚本实现Linux命令快捷控制(python执行linux命令)
- MySQL和XML 如何高效存储数据(mysql xml 存储)