乱读天书, 不求甚解
周祎骏的个人云笔记
Toggle navigation
乱读天书, 不求甚解
主页
Linux:系统配置
Linux:用户管理
Linux:优化排错
Linux:进程调度
Linux:文件系统
Linux:网络
Linux:系统服务
Linux:安全
Linux:内核
容器:Docker
容器:containerd
容器编排:Kubernetes
IAC:Terraform
大数据:Hadoop
大数据:Zookeeper
大数据:Hbase
消息队列:rsyslog
消息队列:kafka
数据库:MySQL
数据库:MongoDB
搜索引擎:Elasticsearch
时序数据库:OpenTSDB
网站服务:Nginx
编程:Bash
编程:Perl
编程:Python
编程:C
编程:JAVA
编程:Rust
版本控制:gitlab
知识管理:docusaurus
常用小工具
关于我
标签
Redhat 3.01 建立RPM包
2017-08-16 13:30:26
78
0
0
admin
> 通过编辑SPEC文件和运行rpmbuild命令 #流程 ##先做一个假包 ``` [root@test1 ~]# ls -R leo-1.12 leo-1.12: bin etc readme leo-1.12/bin: leo leo-1.12/etc: leo.cfg [root@test1 ~]# tar -czvf leo-1.12.tar.gz ./leo-1.12/ ``` ##安装工具 yum -y install rpmdevtools rpmbuild ##创建工作目录 ``` [root@test1 ~]# rpmdev-setuptree [root@test1 ~]# ls -R rpmbuild/ rpmbuild/: BUILD RPMS SOURCES SPECS SRPMS rpmbuild/BUILD: #打包过程中一些数据会放在这 rpmbuild/RPMS: #打好的包会放在这 rpmbuild/SOURCES: #用以打包的原始文件,配置 rpmbuild/SPECS: #SPEC文件 rpmbuild/SRPMS: #打好的SRPM会在这里 [root@test1 ~]# cd rpmbuild [root@test1 ~]# cp ../leo-1.12.tar.gz ./SOURCES/ ``` ##编辑SPEC文件 ``` Name: leo #软件包的名字,后面可以用%{name}来引用 Summary: lala #介绍 Version: 1.12 #版本号,%{version} Release: 1 #发布序列号,%{release} Group: aagroup #软件分组 License: GPL #授权 URL: localhost #软件主页 Source0: leo-1.12.tar.gz #源代码包,还可以有Source1、Source2等 #BuildRequires: #编译时依赖的包 #Requires: #该RPM包所依赖的包,>=或<=表示要大于或小于某版本 #BuildRoot: #打包时的工作目录 #Vendor: #发行商或打包组织的信息 #Disstribution: #发行版标识 %description #一些说明 This is leo %prep #预处理脚本 echo "this is prep" %setup #将SOURCES下的包解压,放到BUILD目录下 echo "this is setup" # %setup 仅将包解压 # %setup -n dir 将包解压在指定目录 # %setup -c 解压之前先创建目录 # %setup -b n 将第n个source包解压 # %setup -T 不使用默认的解压操作 %build #编译的脚本 echo "this is build" %install #把软件安装到虚拟目录的脚本 echo "this is install" echo $RPM_BUILD_ROOT rm -rf $RPM_BUILD_ROOT mkdir $RPM_BUILD_ROOT pwd cp -r * $RPM_BUILD_ROOT %files #定义哪些文件需要放入包中 %doc /readme #文档文件 %config /etc/leo.cfg #配置文件 /bin/leo %pre #rpm安装前运行的脚本 echo "this is pre" %post #rpm安装后运行的脚本 echo "this is post" %preun #rpm卸载前运行的脚本 echo "this is preun" %postun #rpm卸载后运行的脚本 echo "this is postun" ``` *** ##用rpmbuild生成包 ``` [root@test1 rpmbuild]# rpmbuild -ba SPECS/leo.spec ............... [root@test1 rpmbuild]# ls RPMS/x86_64/ leo-1.12-1.x86_64.rpm leo-debuginfo-1.12-1.x86_64.rpm [root@test1 rpmbuild]# rpm -ivh ./RPMS/x86_64/leo-1.12-1.x86_64.rpm Preparing... ########################################### [100%] this is pre 1:leo ########################################### [100%] this is post [root@test1 rpmbuild]# ls /bin/leo /bin/leo [root@test1 rpmbuild]# ls /etc/leo.cfg /etc/leo.cfg [root@test1 rpmbuild]# ls /readme /readme ``` *** #SPEC文件中宏的配置文件 /usr/lib/rpm/macros ***
上一篇:
Redhat 3.00 RPM软件管理系统
下一篇:
Redhat 3.1 YUM
文档导航