rpm包制作

   日期:2020-05-10     浏览:88    评论:0    
核心提示:rpm包制作流程1、指定rpm包制作位置,默认/root/rpmbuild文件夹里面包含BUILD、BUILDROOT、RPMS、SOURCES、SPECS、SRPMS文件夹2、将要打包的包放入rpmbuild/SOURCES文件夹下3、制作spec文件rpmbuild文件夹 %_topdirBUILD 编译rpm包的临时目录 %_builddirBUILDROOT 编译后生成的软件...运维

rpm包制作流程

1、指定rpm包制作位置,默认/root/rpmbuild文件夹里面包含BUILD、BUILDROOT、RPMS、SOURCES、SPECS、SRPMS文件夹
2、将要打包的包放入rpmbuild/SOURCES文件夹下
3、制作spec文件

rpmbuild文件夹 %_topdir
  • BUILD 编译rpm包的临时目录 %_builddir
  • BUILDROOT 编译后生成的软件临时安装目录 %_buildrootdir
  • RPMS 最终生成的可安装rpm包的所在目录 %_rpmdir
  • SOURCES 所有源代码和补丁文件的存放目录 %_sourcedir
  • SPECS 存放SPEC文件的目录(重要) %_specdir
  • SRPMS 软件最终的rpm源码格式存放路径(暂时忽略掉,别挂在心上)
SOURCES

待制作的包放在SOURCES里,注意如果是tar包,解压后的tar包名字必须与spec里的Source0格式一致,否则无法生成rpm包

创建spec文件(任意位置)
  • Name: rpm包的名字,默认amber
  • Version: 版本,默认v2.0.0
  • Release: 发布序号,默认1%{?dist}
  • Summary: rpm包的摘要信息
  • Group: 软件包的安装分类,默认System
  • License: rpm包的授权方式,默认GPL
  • URL: 源码包的下载路径,默认Git
  • Source0: 源代码包的名称(默认时rpmbuid回到SOURCES目录中去找),这里的name和version就是前两行定义的值。如果有其他配置或脚本则依次用Source1、Source2等等往后增加即可,例如 %{name}-%{version}.tar.gz,SOURCES目录下源包的名字必须是amber-v2.0.0.tar.gz
  • BuildRoot: %{_topdir}/BUILDROOT,默认rpmbuild的路径/root/rpmbuild/BUILDROOT
  • BuildRequires: 编译rpm包时需要的辅助工具,以逗号分隔。假如,要求编译rpm时,gcc的版本至少为4.4.2,则可以写成gcc >=4.2.2。还有其他依赖的话则以逗号分别继续写道后面。
  • Requires: 编译好的rpm包在其他机器上安装时,需要依赖的其他软件包,以逗号分隔
  • %description:rpm包的详细说明信息,但最多只能有80个英文字符
  • %install:将制作成功的rpm包里从BUILD拷贝到install指定的目录下,当用户最终用rpm -ivh amber.rpm安装软件包时,这些文件会安装到用户系统中相应的目录里rpm包制作完成后生成的位置
  • %clean:删除源代码

样例展示amber.spec

Name: amber
Version: v2020.05.07
Release: 1%{?dist}
Summary: makerpm for csdn
Group: System
License: GPL
URL: Git
Source0: %{name}-%{version}.tar.gz
%description
This tools may help you know how to make rpm
%prep
%setup -q
%build
%install
install -d $RPM_BUILD_ROOT/usr/local/amber
cp -a ~/rpmbuild/BUILD/%{name}-%{version}/* $RPM_BUILD_ROOT/usr/local/amber
%clean
rm -rf ~/rpmbuild/BUILD/%{name}-%{version}
rm -rf $RPM_BUILD_ROOT
编译spec文件

rpmbuild -bb amber.spec

-bb 只编译二进制rpm包
-bs 只编译源码rpm包(src.rpm)
-ba 同时编译二进制和源码rpm包(src.rpm)
-bp执行到%prep段,解开tar包然后把所有的补丁文件合并而生成一个完整的具最新功能的源文件

验证

1、执行上述spec文件后,若未出现报错,到RPMS里查看是否生成可安装rpm包
2、执行上述可安装rpm包,rpm -ivh amber.rpm到install 指定的位置查看rpm包是否安装成功
3、若在/usr/local/amber目录下看到amber.rpm说明rpm包制作成功!!!

将rpm包上传到yum

1、上传rpm包:rsync -av “rpm包名”
2、通过yum源安装rpm包:yum install --enablerepo=xxx rpm包名
3、查看rpm包信息:yum info rpm包名
4、卸载rpm包:yum remove rpm包名

 
打赏
 本文转载自:网络 
所有权利归属于原作者,如文章来源标示错误或侵犯了您的权利请联系微信13520258486
更多>最近资讯中心
更多>最新资讯中心
0相关评论

推荐图文
推荐资讯中心
点击排行
最新信息
新手指南
采购商服务
供应商服务
交易安全
关注我们
手机网站:
新浪微博:
微信关注:

13520258486

周一至周五 9:00-18:00
(其他时间联系在线客服)

24小时在线客服