RPM
rpm打包工具:把源代码编译后的二进制文件按照.spec文件的规则进行打包,安装这个包之后,会把可执行文件放到/usr/bin等目录下,这个时候就可以通过命令来运行可执行文件了。
- RPM包的内容:RPM包可以包含多种文件,但主要的是编译后的二进制文件(如可执行程序、库文件等)和配置文件。这些文件被安装在系统的特定位置,如
/usr/bin
、/usr/lib
、/etc
等。 - 安装RPM包:当你使用
rpm -ivh package.rpm
命令安装一个RPM包时,RPM包管理器会解压并安装包中的文件到系统的相应位置。 - 调用已安装的程序:一旦RPM包中的文件被安装到系统中,你就可以通过命令行或其他方式调用这些文件了。例如,如果RPM包安装了一个名为
myapp
的可执行文件到/usr/bin/myapp
,那么你就可以通过在终端输入myapp
来调用它。 - 源代码与RPM包:RPM包通常不包含源代码,而是包含源代码编译后的结果。如果你需要源代码,你可能需要查找RPM包的SRPM(Source RPM)版本,这是一个包含源代码和构建脚本的RPM包。SRPM允许你下载源代码,并根据需要进行编译和修改。
- 构建自己的RPM包:如果你有自己的源代码,并希望将其打包为RPM包,你可以使用
rpmbuild
工具。这涉及编写一个.spec
文件,该文件描述了如何构建和打包你的源代码。然后,你可以使用rpmbuild
命令来生成RPM包。
总之,执行一个命令调用的是RPM包中已编译和安装的可执行文件或脚本,而不是源代码本身。如果你需要源代码,你需要查找SRPM或直接从源代码仓库获取。
理解流程:
1.准备打包环境
安装 rpm-build 包。rpm-build 包含了用于使用 RPM 软件包管理器构建软件包的脚本和可执行程序。
yum install rpm-build -y
安装 rpmdevtools包。rpmdevtools包含许多有助于软件包开发的脚本。
yum install rpmdevtools -y
2.创建工作空间
rpmdev-setuptree是rpmdevtools中带的初始化环境脚本,执行后会在用户主目录下创建rpmbuild目录和.rpmmacros文件,同时生成所需的子目录和默认的控制参数。
– rpmbuild
|-- BUILD
|-- RPMS
|-- SOURCES
|-- SPECS
|-- SRPMS
3.编写.spec文件
可以使用rpmdev-newspec xxx.spec命令创建一个初始的spec文件。
4.生成rpm包
在SPECS文件夹下使用rpmbuild -ba xxx.spec命令来生产RPM二进制包(.rpm)和源码包(.src.rpm)。
5.安装rpm包
cd RPMS/x86_64;
rpm -ivh xxx-1.0.0-…x86_64.rpm;
6.卸载RPM二进制包
dnf remove xxx;