1.2 理解Spec脚本中各个变量 rpm的配置文档还算是比较有调理性的,按照标准的格式整理一些信息,包括:软件基础信息,以及安装、卸载前后执行的脚本,对源码包解压、打补丁、编译,安装路径和文件引用等,其中需要注意的地方为:虚拟路径的位置,以及宏的定义。 spec脚本包括很多关键字,主要有: Name: 软件包的名称,在后面的变...
1.2 理解Spec脚本中各个变量 rpm的配置文档还算是比较有调理性的,按照标准的格式整理一些信息,包括:软件基础信息,以及安装、卸载前后执行的脚本,对源码包解压、打补丁、编译,安装路径和文件引用等,其中需要注意的地方为:虚拟路径的位置,以及宏的定义。 spec脚本包括很多关键字,主要有: Name: 软件包的名称,在后面的变...
基本语法在 %build, %install 以及 rpm spec 文件的其他部分都是一致的。脚本支持一个特殊标记, -p 允许脚本直接调用一个程序,而不必启用 shell 来运行程序。(即%post -p /sbin/ldconfig) 脚本片段还传递一个参数,用于表示本软件包的个数。执行特定动作时,通过向1传递不同值,来表示不同动作(安装/升级/卸载...
SOURCES:存放源文件,配置文件,补丁文件等放置的目录 SPECS:存放SPEC文件,制作RPM包的目录 SRPMS:src格式的RPM包目录 BUILDROOT:虚拟安装目录,在整个install的过程中临时安装到此目录,把这个目录当做根来使用。所有在这个目录下的文件才是真正的目录文件,最后SPEC文件中有清理阶段,这个目录下的内容将被删除。2.3...
spec文件是制作rpm包的脚本文件,详细定义rpm包的信息、包含内容和安装位置,如软件包的名字、版本、类别、说明摘要、创建时要执行什么指令、安装时要执行什么操作、以及软件包所要包含的文件列表等等。 spec文件有多个段组成,分别定义rpm编译、打包、安装等阶段的工作内容。
在spec文件中安装rpm时,可以通过使用脚本来获取用户输入或显示提示对话框。以下是一种常见的方法: 1. 在spec文件中定义一个脚本段,例如: ```shell %pre #!/bin/bas...
编写一个rpm包,该rpm包的功能为,在rpm安装的%post中调用rpmtest.sh,rpmtest则打印当前运行脚本对应进程的信号屏蔽字: rpmtest.spec: %define __name rpmtest %define debug_package %{nil} Summary: test Name: %{__name} Version: 1.0.0 Release: product ...
在我们的实验室项目的 spec 文件中,此部分为空。 这应该放置那些需要 rpm 中的文件安装前执行的脚本。 安装后(%post) spec 文件的这一部分是另一个 Bash 脚本。 这个在文件安装后运行。 此部分几乎可以是你需要或想要的任何内容,包括创建文件、运行系统命令以及重新启动服务以在进行配置更改后重新初始化它们。
进入到SPEC目录,进行打包: rpmbuild-banginx.spec 如上图编译打包完成,rpm包如下图: 安装测试: #安装过程实际就是对上文编译后的/usr/local/nginx目录的解压过程rpm -ivh nginx-1.16.1-1.el7.centos.x86_64.rpm 如下图可以看到安装目录:/u...
当你执行yum update php-tclip -y命令升级时,%post和%postun段的执行顺序如下: 首先,执行新的2.0包spec文件中的%post段代码。 然后,执行旧的1.0包spec文件中的%postun段代码。 当升级时,完整的执行流程如下: 1、执行新包spec文件中 %pre 段.