一、环境和项目
1.环境
CentOS 7
2.项目名
db-timer
二、rpm包制作
1.查看rpm是否安装,查询版本
rpm --version
2.安装rpm-build
yum install rpm-build rpmdevtools -y
3.切换到普通用户highgo(只要是普通用户就可以,用户名无所谓)
su - highgo
4.在highgo用户的家目录创建rpmbuid文件夹
mkdir rpmbuild
5.在rpmbuid文件夹中再创建六个文件夹
mkdir BUILD BUILDROOT RPMS SRPMS SOURCES SPECS
文件夹名 | 目录的用途 |
---|---|
BUILD | 编译rpm包时的临时工作目录 |
BUILDROOT | 编译后生成的软件临时安装目录 |
RPMS | 最终生成的可安装rpm包的所在目录 |
SRPMS | 软件最终的rpm源码格式存放目录 |
SOURCES | 所有源代码和补丁文件的存放目录 |
SPECS | 存放SPEC文件的目录 |
6.把项目的jar包以及配置文件等相关文件放到SOURCES目录中
以上为我的项目所需要的相关文件,也是rpm包安装完的目录结构
7.在SPECS目录中创建myapp.spec文件
(1)手动创建
touch myapp.spec
(2)用命令创建,生成文件模板
rpmdev-newspec -o myapp.spec
8.myapp-1.0.spec文件简单配置内容
Name: db-timer
Version: 1.0
Release: 1%{?dist}
Summary: db-timer packsge
License: GPL
Source0: %{name}-%{version}.jar
Source1: config.properties
Source2: run.sh
Source3: lib
#如果还有文件继续添加就可以,Source4、Source5...
%description
%define debug_package %{nil}
%define __jar_repack 0
%prep
#%setup -n db-timer
%build
%install
rm -rf %{buildroot}
mkdir -p %{buildroot}/opt/db-timer
cp -rf %{_topdir}/SOURCES/* %{buildroot}/opt/db-timer
%files
/opt/db-timer
%changelog
9.执行命令生成rpm包
rpmbuild -ba SPECS/myapp.spec
最后输出exit 0就是成功了,rpm包在RPMS目录下。
三、rpm包操作(root用户执行命令)
1.查看
rpm -qa | grep db-timer
如果安装了会输出,否则输出为空
2.安装
rpm -ivh db-timer-1.0-1.el7.x86_64.rpm
3.卸载
rpm -e db-timer