rpm打包ros小结

    技术2025-03-15  30

    rpm打包

    命名规则

    rpm命令执行安装rpm包和源码包,rpm包以.rpm结尾,而源码包以.src.rpm结尾 RPM软件包命令规则 name-version-arch.rpm name-version-arch.src.rpm 示例:bind-9.8.2-0.47.rc1.el6.x86_64.rpm 示例解析: 1.name,如:bind,是软件的名称 2.version,如:9.8.2-0,是软件的版本号,版本号格式通常为“主版本号.次版本号.修正号”。47,是发布版本号,表示这个rpm软件包是第几次编译生成的 3.arch,如i386,是表示包适用的硬件平台,目前rpm支持的平台有:i386,i586,i686,sparc和alpha 4…rpm和.src.rpm,是rpm包类型后缀,rpm是编译好的二进制包,.src.rpm是源码包 5.特殊名称: (1)el*:表示发行商的版本,el6表示这个软件包是在rhel6.x/centos6.x下使用; (2)devel:表示这个rpm包是软件的开发包 (3)noarch:说明这样的软件包可以在任何平台安装和运行,不需要特定的硬件平台

    相关指令
    #rpmbuild -bp 只作准备 (解压与打补丁) -bc 准备并编译 -bi 编译并安装 -bl 检验文件是否齐全 -ba 编译后做成*.rpm和src.rpm -bb 编译后做成*.rpm -bs 只做成*.src.rpm -tc -ti -ta -tb -ts 的功能类似,只是所需参数由spec文件变成tar包。 如:cd /usr/src/redhat/SPECS rpmbuild -bp kernel-2.6.spec-ivh 安装并显示安装进度(规则:rpm –ivh 包名) 示例:rpm –ivh bind-9.8.2-0.47.rc1.el6.x86_64.rpm-Uvh 升级软件包(rpm –Uvh 包名 //升级软件包-旧升新,低升高) 示例:rpm –Uvh --oldpackage bind-9.8.2-0.47.rc1.el6.x86_64.rpm(新版本软件包降级为旧版本)-e 删除rpm软件包(rpm –e 包名) 示例:rpm –e bind-9.8.2-0.47.rc1.el6.x86_64.rpm-qpR 查看rpm包依赖关系 示例:rpm –qpR 包名-ql 列出rpm软件包内的文件信息(显示已安装软件包内容) 示例:rpm –ql vsftpd (规则:rpm –ql 软件名)-qi 列出rpm软件包描述信息(显示已安装软件包属性) 示例:rpm –qi bind (规则:rpm –qi 软件名)-qf 查看指定文件属于哪个软件包(rpm –qf 文件名) 示例:rpm –qf /etc/rc.d/init.d/named-Va 校验所有rpm包,查找丢失的文件查看命令是哪个安装包安装,安装包里有哪些文件? 一步到位:rpm -qfl ‘which rz’查看软件包信息 一步到位:rpm -qfi ’which rz ’
    打包流程
    SPEC解析

    参考:https://www.cnblogs.com/luodenglin/p/11888751.html

    Processed: 0.011, SQL: 9