首先写spec文件
%define _topdir /usr/src/rpm
%define _tmppath /var/tmp
Name: TestDoc
Version: 1.0
Release: 1%{?dist}
Summary: Document compiler
Group: documentation
License: KONG
Source0: %{name}.tar.gz
%description
This is for test.
%install
cp -p document.txt /home
%clean
rm -rf /home/Document.txt
%files
/home/document.txt
文件目录结构:
[root@root]$ ls -R /usr/src/rpm/
/usr/src/rpm/:
BUILD RPMS SOURCES SPECS SRPMS
/usr/src/rpm/BUILD:
document.tar.gz document.txt
/usr/src/rpm/RPMS:
athlon i386 i486 i586 i686 noarch
/usr/src/rpm/RPMS/athlon:
/usr/src/rpm/RPMS/i386:
/usr/src/rpm/RPMS/i486:
/usr/src/rpm/RPMS/i586:
/usr/src/rpm/RPMS/i686:
/usr/src/rpm/RPMS/noarch:
/usr/src/rpm/SOURCES:
/usr/src/rpm/SPECS:
/usr/src/rpm/SRPMS:
执行rpmbuild:
[root@root]$ rpmbuild -bb tmp.spec
Executing(%install): /bin/sh -e /var/tmp/rpm-tmp.18232
+ umask 022
+ cd /usr/src/rpm/BUILD
+ rm -rf /home/document.txt
+ cp -p document.txt /home
+ exit 0
Processing files: TestDoc-1.0-1
Finding Provides: /usr/lib/rpm/find-provides
Finding Requires: /usr/lib/rpm/find-requires
PreReq: rpmlib(PayloadFilesHavePrefix) <= 4.0-1 rpmlib(CompressedFileNames) <= 3.0.4-1
Requires(rpmlib): rpmlib(PayloadFilesHavePrefix) <= 4.0-1 rpmlib(CompressedFileNames) <= 3.0.4-1
Checking for unpackaged file(s): /usr/lib/rpm/check-files %{buildroot}
Wrote: /usr/src/rpm/RPMS/i386/TestDoc-1.0-1.cygwin.i386.rpm
Executing(%clean): /bin/sh -e /var/tmp/rpm-tmp.48736
+ umask 022
+ cd /usr/src/rpm/BUILD
+ rm -rf /home/document.txt
+ exit 0
我们看到生成一个rpm package了:/usr/src/rpm/RPMS/i386/TestDoc-1.0-1.cygwin.i386.rpm。
[root@root]# rpm -qpl /usr/src/rpm/RPMS/i386/TestDoc-1.0-1.cygwin.i386.rpm
/home/document.txt
[root@root]# rpm -qpi /usr/src/rpm/RPMS/i386/TestDoc-1.0-1.cygwin.i386.rpm
Name : TestDoc Relocations: (not relocateable)
......
接着我们可以rmp install了:
[root@root]$ rpm -ivh /usr/src/rpm/RPMS/i386/TestDoc-1.0-1.cygwin.i386.rpm
Preparing... ########################################### [100%]
1:TestDoc ########################################### [100%]
确认这个rpm安装成功了:
[root@root]$ rpm -qa | grep TestDoc
TestDoc-1.0-1
[root@root]# ls /home
document.txt
卸载:
[root@root]# rpm -e TestDoc-1.0-1
[root@root]# rpm --eval %_tmppath
/var/tmp
[root@root]# rpm --eval %_topdir
/usr/src/rpm