rpm包简单打包可执行文件,让你的程序更合理方便的被安装管理

rpm包简单打包可执行文件,让你的程序更合理方便的被安装管理,第1张

首先安装打包软件

1.yum install rpmbuild -y

2.yum install rpmdevtools -y

生成打包路径

1.使用rpmdev-setuptree ,会自动在用户家目录生成一个rpmbuild的文件夹,弯铅作为工作路径

2.cd rpmbuild/SPECS路径,创建my.spec文件,仅仅需要以下内容

################my.spec##############

Name: shepherd

Version:1.0

Release:1

Summary:luckykris

License: luckykris@yeah.net

Group: github

%description

%prep #打包前所要做的 *** 作

%files #你想打包的可执行文件,未来安装到的路径

%defattr(0755,root,root,-) #你想打包的可执行文件的默认权限

/usr/local/bin/shepherd#你想打包的可执行文件,未来安装到的路径

%doc

%require #包依赖 ,值得一提的是,你打包的所有文件中如果有可执行的二进制文件,安装的默认会用 ldd命令去查看 ,是否有not found的动态链接库,如果有的话,会报出依赖关系缺失异常,阻止你安装rpm包

%pre #安装包前所需要做的 *** 作

%post #安装包后所要做的 *** 作

%changelog

###################################

3.执行打包命令rpmbuild -ba shepherd.spec

首次执行之后会报错

[root@dev-ansible-server SPECS]# rpmbuild -ba shepherd.spec

Processing files: shepherd-1.0-2.x86_64

error: File not found: /root/rpmbuild/BUILDROOT/shepherd-1.0-2.x86_64/usr/local/bin/shepherd

RPM build errors:

File not found: /root/rpmbuild/BUILDROOT/shepherd-1.0-2.x86_64/usr/local/bin/shepherd

看到没有找到路径的报错,然后你需要建立这个路径:

mkdir -p /兄闹雹root/rpmbuild/BUILDROOT/shepherd-1.0-2.x86_64/usr/local/bin/

4.报错之后,你需要做的就是把你编译好的自己的程序的路径,复制到步骤3中报错的路径中。

也就是放在这个路径File not found: /root/rpmbuild/BUILDROOT/shepherd-1.0-2.x86_64/usr/local/bin/shepherd

5.放到规定路径后再次执行,就会成功打成rpm包。rpm包会放在rpmbuild/RPMS/x86_64这个路羡帆径下。

花费了将近一周的时间,才把rpm打包弄好.不能说已经了然于胸,但至少踩过了很多坑.接下来就顺顺在打包过程中的二三事.刚开始接到任务的时候,一脸懵逼.

作为专业的 JAVA Web 程序员,确定要让我干这么跨界的事情吗?之前自己虽然也安装过其他的rpm包,但我保证,我只是看说明书,跟着一路弄下来的.并且之后对它可是有多远躲多远的.不过考虑到自己的title,我知道那不应该是我关心的事情.那么问题来了,什么是rpm呢?

看到了rpm是衫迅什么,我们就来了解一下RPM相关的命令

本来准备直接 rpm -help 让大家看看相关参数的,但是考虑到内容太谨游多,感兴趣的 自行点击 .这里放几个常用的祥塌销命令.

至此,基本的rpm基础已经了解到了.那么关键的问题来了,如何制作RPM

把制作RPM,道上传闻有多种方式,我自己测过的有两种

注意:无论上述那种都需要 setup.py 及 setup.cfg 文件,描述相关的软件信息.

我自己使用的是第二种rpmbuild,

至此就可以欢快的进行打包了.执行

以上命令运行成功后会在当前用户目录下生成rpmbuild目录,该目录会包含以下子目录

--BUILD #编译之前,如解压包后存放的路径 --BUILDROOT #编译后存放的路径 --RPMS #打包完成后rpm包存放的路径 --SOURCES #源包所放置的路径 --SPECS #spec文档放置的路径 --SPRMS #源码rpm包放置的路径

安装成功后,即可直接执行相关命令了.

rpmbuild


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12345134.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存