rpm包的制作
构建RPM包的五个步骤:
a.Tarall:获得包含源的tar文件,rombuild假定存档的顶级目录命名为Packagename-Version,该文件放置在~/rpmbuild/SOURCES/
b.Spec文件:创建spec文件并填写所需字段。将该文件放置在~/rpmbuild/SPECS/目录中
c.rpmbuild:使用rpmbuild命令构建软件包。
rpmbuild -ba demo.spec
d.签署:使用GPG密钥签署RPM软件包。可以使用rpmbuild -ba -sign demo.spec一步完成构建和签署软件包。使用rpm --resign demo-1.0.x86_64.rpm添加或更改GPG签名
e.测试
1.vim foo.spec //编辑spec文件
Group: helloing
License: GPL
URL: www.example.com/test
Source0:
BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX)
BuildRequires: /bin/rm,/bin/mkdir,/bin/cp
Requires: /bin/bash,/bin/hello
BuildRequires: %install 中要是用的命令
%configure
make %{?_smp_mflags}
%install
rm -rf $RPM_BUILD_ROOT
make install DESTDIR=$RPM_BUILD_ROOT
如果安装中没有使用到源码安装,那么configure,make,make install都要注释掉,并且要先去掉%,否则注释无效。
%install
rm -rf $RPM_BUILD_ROOT
#make install DESTDIR=$RPM_BUILD_ROOT
mkdir -p $RPM_BUILD_ROOT/usr/local/bin
cp hello $RPM_BUILD_ROOT/usr/local/bin
%clean
rm -rf $RPM_BUILD_ROOT
%attr(0755,root,root)/usr/local/bin/hello //添加文件文件的权限
2.yum install rpm-build -y
rpmbuild foo.spec
此时可定会报错error: File /root/rpmbuild/SOURCES/hello-1.0.tar.gz: No such file or directory。根据错误提示,建立文件!
mkdir -p /root/rpmbuild/SOURCES/
然后建立源文件放到目录中
mv hello-1.0.tar.gz ./rpmbuild/SOURCES/
cp foo.spec ./rpmbuild/SPECS/
3.准备GPG签名密钥
gpg --gen-key //按提示完成即可
gpg --fingerprint //查看公钥ID,后面要用到
gpg -a -o ./RPM-GPG-KEY-hello --export 32EA9B70 //导出公钥
echo '%_gpg_name 32EA9B70'> ./.rpmmacros //RPM 将用您
在上面创建的密钥签署软件包
4.rpmbuild --sign -ba foo.spec //构建和部署
5.
[root@server48 ~]# cd ~/rpmbuild/RPMS/x86_64/
[root@server48 x86_64]# ls
hello-1.0-1.el6.x86_64.rpm
rpm包的制作
原创
©著作权归作者所有:来自51CTO博客作者940188589的原创作品,请联系作者获取转载授权,否则将追究法律责任
上一篇:大量化部署——网络安装
下一篇:我的友情链接
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
OpenSSH 9.9p1 源码编译与RPM包制作在线升级
ssh在线升级
配置文件 sed 重启 -
【rpm】源码包制作rpm包|修改rpm、重新制作rpm包
另外的打包教程lanni/p/4312581.html。
linux 服务器 运维 rpm包 .net -
制作nginx的RPM包
制作nginx的RPM包
linux nginx 源码包 rpm包
















