linux下如何进行打包?下面我们就通过rpmbuild进行这些操作,将需要编译安装的包打车rpm的二进制报。
一、安装rpmbuild包
1
|
$
sudo
yum
install
-y rpm-build
|
二、初始化打包目录
1
2
3
|
$
cd
/export
$
sudo
mkdir
-p rpmbuild/{BUILD,BUILDROOT,RPMS,SOURCES,SPECS}
$
sudo
chown
-R $(
whoami
): rpmbuild
|
三、准备spec文件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
|
%define name xxx
%define version xxx
%define release 0
Namese: %{name}
Version: %{version}
Release: %{release}%{?dist}
Summary: xxxx
Group:
License:
URL:
Source0: xxx-{version}.
tar
.gz
#BuildRoot: %{buildroot}/%{name}–%{version}–%{release}-root-%(%{__id_u} -n)
Autoreq: no
#Patch0:
#BuildArch:
BuildRequires:
Requires:
%description
%prep
%setup -q
#%patch0 -p1
.
/configure
%build
make
-j4
%
install
rm
-fr $RPM_BUILD_ROOT
make
install
DESTDIR=${RPM_BUILD_ROOT}
make
install
-world DESTDIR=${RPM_BUILD_ROOT}
%post
%postun
%clean
rm
-fr $RPM_BUILD_ROOT
%files
%defattr(-,root,root,-)
|
四、打包
先配置变量方便以后的使用:
1
2
3
4
|
$
sudo
vim
/etc/profile
.d
/rpmbuild
.sh
#!/bin/env bash
alias
rpmbuild=
'rpmbuild --define "_topdir /data/rpmbuild" -bb'
$
sudo
source
/etc/profile
.d
/rpmbuild
.sh
|
打包就只需要执行:
1
|
$ rpmbuild path
/xxx
.spec
|
五、~/.rpmmacros
1
2
3
4
|
%_topdir %(
echo
$HOME)
/rpmbuild
%_tmppath %{_topdir}
/tmp
%buildroot %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
%_rpmfilename %%{NAME}-%%{VERSION}-%%{RELEASE}.%%{ARCH}.rpm
|
如果想深入体验LINUX系统的新手,也可以先下载一个方德Linux软件中心试用一下。
免费下载地址:http://www.nfs-cloud.cn:81/appCenter/open/softcenter