在CentOS/Redhat上创建RPM脚本

RPM(红帽软件包管理器)是一个基于RHEL系统中的软件包管理系统。 您可能已经看到,在RHEL系统上的所有包有扩展名  .rpm 。本教程将帮助您如何创建自己的RPM文件。 我已经创建了一个数据库备份脚本,今天我已经创建了一个RPM文件的脚本,这是有史以来我的第一次使用RPM。下面是我跟着做的步骤。

第1步:安装所需的程序包

首先安装所需的软件包创建RPM文件。
# yum install rpm-build rpmdevtools

第2步:创建目录结构

转到用户的主目录,并使用下面的命令创建所需的目录结构。
$ rpmdev-setuptree
上面的命令将创建类似下面的目录结构。
$ tree rpm
rpm
|-- BUILD
|-- RPMS
|-- SOURCES
|-- SPECS
`-- SRPMS
如果` rpmdev-setuptree `命令无法创建结构,你可以手动创建
$ mkdir -p ~/rpm/{BUILD,RPMS,SOURCES,SPECS,SRPMS,tmp}

第3步:创建rpmmacro文件

%packager YOUR_NAME
%_topdir /home/YOUR_HOME_DIR/rpm
%_tmppath /home/YOUR_HOME_DIR/rpm/tmp

第4步:将文件放入源目录中

复制~/rpm/SOURCES 文件夹内的所有文件和脚本文件夹 ,这就需要我们在RPM文件中添加。
:~/rpm/SOURCES $  tree dbbackup-1
dbbackup-1
`-- backup.sh
创建你的代码的压缩包。
:~/rpm/SOURCES $ tar czf dbbackup-1.0.tar.gz dbbackup-1/

第5步:创建SPEC文件

创建规范文件~/rpm/SPECS/dbbackup.spec 使用下面的内容。
Name: dbbackup
Version: 1
Release: 0
Summary: Database backup rpm
Source0: dbbackup-1.0.tar.gz
License: GPL
Group: Rahul
BuildArch: noarch
BuildRoot: %{_tmppath}/%{name}-buildroot
%description
Write some descripton about your package.
%prep
%setup -q
%build
%install
install -m 0755 -d $RPM_BUILD_ROOT/etc/dbbackup
install -m 0755 backup.sh $RPM_BUILD_ROOT/etc/dbbackup/backup.sh
%clean
rm -rf $RPM_BUILD_ROOT
%post
echo . .
echo .Wring some descripton here to show after package installation!.
%files
%dir /etc/dbbackup
/etc/dbbackup/backup.sh
按您的要求更改包名,脚本路径,存档名称,说明等。

第6步:构建RPM

上述步骤完成后,通过执行以下命令建立你的 rpm 。
~ $ cd ~/rpm
~/rpm $ rpmbuild -ba SPECS/dbbackup.spec
成功建成后,一个rpm文件将创建类似 ~/rpm/RPMS/noarch/dbbackup-1-0.noarch.rpm 安装RPM使用‘rpm -ivh dbbackup-1-0.noarch.rpm‘ 并检查是否所有文件都安装正确。 感谢参考这篇文章。我希望上面的步骤,将帮助你创建自己的RPM。
赞(52) 打赏
未经允许不得转载:优客志 » 系统运维
分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏