这个是自己写在CSDN上写的第一个技术博客, 因为最近自己在研究rpm打包. 今天把它分享出来哈~~ rpm的优势就是安装和后期升级方便快捷,无需再次手动编译源代码。节省很多时间。. 这里已Nginx 服务器安装包为实例进行试验.
环境:
1. 系统: CentOS release 6.5 (Final) x86_64
2.硬件: KVM虚拟机, 双核CPU,2G内存,50G硬盘
3.user: 使用普通用户,这里登陆方式是: user+key
4.权限: 使用sudo 可使用root权限
前期准备:
1. nginx 官网下载最新压缩包: wget http://nginx.org/download/nginx-1.6.0.tar.gz
2. 安装 rpmbuild 编译必备工具(群组安装方式): yum groupinstall "Development Tools"
开始定制:
1. 建好工作目录(这里也可以不建,默认工具安装会自动建立)
[huzhong@s186 ~]$ mkdir rpmbuild/{BUILD,BUILDROOT,RPMS,SOURCES,SPECS,SRPMS}
[huzhong@s186 ~]$ cd rpmbuild/SPECS/
2. 开始编写定制包用的spec文件(文件内容如下)
环境:
1. 系统: CentOS release 6.5 (Final) x86_64
2.硬件: KVM虚拟机, 双核CPU,2G内存,50G硬盘
3.user: 使用普通用户,这里登陆方式是: user+key
4.权限: 使用sudo 可使用root权限
前期准备:
1. nginx 官网下载最新压缩包: wget http://nginx.org/download/nginx-1.6.0.tar.gz
2. 安装 rpmbuild 编译必备工具(群组安装方式): yum groupinstall "Development Tools"
开始定制:
1. 建好工作目录(这里也可以不建,默认工具安装会自动建立)
[huzhong@s186 ~]$ mkdir rpmbuild/{BUILD,BUILDROOT,RPMS,SOURCES,SPECS,SRPMS}
[huzhong@s186 ~]$ cd rpmbuild/SPECS/
2. 开始编写定制包用的spec文件(文件内容如下)
[
huzhong@
s186
SPECS
]$
cat
nginx.
spec
%
define
_localstatedir
/
home
%
define
nginx_user
nginx
%
define
nginx_group
nginx
# distribution specific definitions
%
define
use_systemd
(
0
%
{
?
fedora
}
&&
0
%
{
?
fedora
}
>=
18
)
||
(
0
%
{
?
rhel
}
&&
0
%
{
?
rhel
}
>=
7
)
%
if
0
%
{
?
rhel
}
==
5
Group:
System
Environment
/
Daemons
Requires
(
pre
):
shadow
-
utils
Requires:
initscripts
>=
8.36
Requires
(
post
):
chkconfig
Requires:
openssl
BuildRequires:
openssl
-
devel
%
endif
%
if
0
%
{
?
rhel
}
==
6
Group:
System
Environment
/
Daemons
Requires
(
pre
):
shadow
-
utils
Requires:
initscripts
>=
8.36
Requires
(
post
):
chkconfig
Requires:
openssl
>=
1.0.1
BuildRequires:
openssl
-
devel
>=
1.0.1
%
define
with_spdy
1
%
endif
%
if
0
%
{
?
rhel
}
==
7
Group:
System
Environment
/
Daemons
Requires
(
pre
):
shadow
-
utils
Requires:
systemd
Requires:
openssl
>=
1.0.1
BuildRequires:
systemd
BuildRequires:
openssl
-
devel
>=
1.0.1
%
define
with_spdy
1
%
endif
%
if
0
%
{
?
suse_version
}
Group:
Productivity
/
Networking
/
Web
/
Servers
BuildRequires:
libopenssl
-
devel
Requires
(
pre
):
pwdutils </