rpm打包

首先安装打包软件
# yum install rpmbuild  rpmdevtools -y

生成打包路径
1.使用rpmdev-setuptree ,会自动在用户家目录生成一个rpmbuild的文件夹,作为工作路径
2.cd rpmbuild/SPECS路径,创建my.spec文件,仅仅需要以下内容
################my.spec##############
Name: shepherd
Version: 1.0
Release: 1
Summary: luckykris
License: [email protected]
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
首次执行之后会报错:
[[email protected] 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 -qpi *.rpm 查看rpm包的相关信息

时间: 2024-08-06 03:09:33

rpm打包的相关文章

困扰一天的rpm打包问题

rpm打包我们经常会遇到,通过直接拷贝的方式达来打包的情况.但是发现打包的时候并不是想象中的那么顺利,比如你会遇到这种情况: 通常遇上上面的警告之后,你还是能打包完成的.但是你会发现打包完成的rpm包很不正常的,无论从大小和安装方面都不行.holy shit!,我只是简单的拷贝啊.我们的rpmbuild代码也很简单: # Disable the stupid stuff rpm distros include in the build process by default: #   Disabl

Centos6_64 rpm打包实践

安装rpmbuild sudo yum install rpm-build 普通用户的配置 /home/you/rpmbuild/ 假设是要构建rpm的目录 先说说rpmbuild有什么用,给一个例子: echo "%  _topdir/home/you/rpmbuild" > ~/.rpmmacros mkdir -p /home/you/rpmbuild/{SPECS,BUILD,SRPMS,RPMS,SOURCES} /usr/lib/rpm/macros 中配置可以更改具

使用spec与fpm 2种方式进行rpm打包

最近分享zabbix与ansible好多,大家看烦了,我也没啥存货了,现在就介绍一下如何进行rpm打包吧. rpm打包有2个,一个是自己写spec,另外要给是使用ruby的fpm,我个人比较倾向于第二种fpm,这个不需要写spec文件,特简单,不过为了让大家看明白,我分别介绍一下这2款软件是如何进行rpm打包的. 目录 一.使用spec构建rpm 二.使用fpm构建rpm 一.使用spec构建rpm 在构架rpm包的时候,需要经过3个过程 1.解压源码包 2.编译环境configure 3.ma

openstack RPM打包

背景: 常见的Linux发行版主要可以分为两类,类ReadHat系列和类Debian系列,这里我们是以其软件包的格式来划分的,这两类系统分别提供了自己的软件包管理系统和相应的工具.类RedHat系统中软件包的后缀是rpm:类Debian系统中软件包的后缀是deb.另一方面,类RedHat系统提供了同名的rpm命令来安装.卸载.升级rpm软件包:类Debian系统同样提供了dpkg命令来对后缀是deb的软件包进行安装.卸载和升级等操作. rpm的全称是Redhat Package Manager,

subversion(版本控制),RPM打包

########################################################################################## subversion: 简介: subversion是一个自由/开源的版本控制系统 -->subversion允许你的数据恢复到早期版本 -->或者是检查数据修改的历史 架构: 客户端-命令行,图形 通信方式-本地访问,svn服务器,web服务器 仓库存储-文件系统(FSFS),数据库(Berkeley DB) 基

使用rpm 打包开发的postgres extension

环境准备 安装依赖包 rpmdevtools rpm-build yum install -y rpm-build rpmdevtools 初始化rpm pacakge 项目 主要是rpm 打包的目录结构 使用rpmdev-setuptree 工具 效果如下: ── rpmbuild ├── BUILD ├── RPMS ├── SOURCES ├── SPECS └── SRPMS 创建简单pg extension 扩展 具体实现的功能很简单,可以参考github 项目https://gith

以打包fuse为例介绍rpm打包工具rpmbuild的使用和SPEC文件的编写

一.rpmbuild命令的安装 yum install rpm-build 二.用法 rpmbuild -bb XXXX.spec或者rpmbuild -ba XXX.tar.gz 三.目录概述 rpmbuild在运行后会在用户目录下生成一个rpmbuild的文件夹:[[email protected] rpmbuild]# ls ~/rpmbuild/BUILD BUILDROOT RPMS SOURCES SPECS SRPMS有四个目录:BUILD:你要打包的文件将会在这里编译;BUILD

运维自动化_rpmbulid 线上服务rpm打包

运维自动化需要涉及到rpmbuild的学习,现对rpmbuild进行打包,以下是spec文件内容: # online rpmbulid for h5_back Name:             h5_bak Version:          0.0.1 Release:          1%{?dist} Summary:          data_back for h5 Group:            Applications/File License:          BSD

使用RPM 打包PG程序

1.编辑spec Summary:  gfsunny pgdb Name:     postgresql Version:  9.3.4 Release:  1 License:  peak Group:    Applications/Databases Source:   /home/pgsql/%{name}-%{version}.tar.gz BuildRoot:%{_tmppath}/%{name}-%{version}-%{release}-root Url:      http:/