談?wù)揜PM對(duì)好多編譯安裝的朋友來(lái)多,RPM安裝是傻瓜安裝。
呵呵,其實(shí)RPM是一種非常有效果的集中部署的解決方案。
yum+RPM是非??焖俦憬莸拇笠?guī)模部署方案。
下面簡(jiǎn)單介紹下rpm的制作:
以cronolog為例:
首先下載cronolog的源碼包。
解開源碼包,tar xzvf cronolog-1.6.2.tar.gz
找到 cronolog.spec 該文件是定制如何生成RPM包的配置文件
vim cronolog.spec
%define name cronolog
%define version 1.6.2
%define release 1
%define group System Networking/Daemons
Summary: a flexible log file rotation program for Apache
Name: %{name}
Version: %{version}
Release: %{release}
Copyright: Apache license
Group: %{group}
Packager: Andrew Ford A.Ford@ford-mason.co.uk>
URL: http://www.ford-mason.co.uk/resources/cronolog/
Source: http://www.ford-mason.co.uk/resources/cronolog/cronolog-%version.tar.gz
BuildRoot: /tmp/%{name}-root
%description
"cronolog" is a simple program that reads log messages from its input
and writes them to a set of output files, the names of which are
constructed using template and the current date and time. The
template uses the same format specifiers as the Unix date command
(which are the same as the standard C strftime library function).
%changelog
%prep
%setup -n %{name}-%{version}
%build
./configure
make
%install
rm -rf $RPM_BUILD_ROOT
mkdir -p $RPM_BUILD_ROOT/usr/share/doc/%{name}-${RPM_PACKAGE_VERSION} -m 755
make prefix=$RPM_BUILD_ROOT/usr mandir=$RPM_BUILD_ROOT/usr/share/man install
install -m 644 README $RPM_BUILD_ROOT/usr/share/doc/%name-${RPM_PACKAGE_VERSION}
#install -m 644 $RPM_SOURCE_DIR/doc/cronolog.1m $RPM_BUILD_ROOT/usr/man/man1/cronolog.1
#install -m 755 $RPM_SOURCE_DIR/src/cronolog $RPM_BUILD_ROOT/usr/sbin/cronolog
#strip $RPM_BUILD_ROOT/usr/sbin/* || echo Ignored strip on a non-binary file
%post
%preun
%postun
%clean
rm -rf $RPM_BUILD_ROOT
%files
#%attr(-,root,root) /usr/share/doc/%{name}-%{version}/README
%attr(-,root,root) /usr/sbin/cronolog
%attr(-,root,root) /usr/sbin/cronosplit
#%files man
%attr(644,root,root) /usr/share/man/man1/*.1*
%doc README
復(fù)制代碼然后,將源碼包復(fù)制到 /usr/src/redhat/SOURCES/
cp cronolog-1.6.2.tar.gz /usr/src/redhat/SOURCES/
執(zhí)行,rpmbuild -ba cronolog.spec
這樣RPM包就生成了,^_^
ls -l /usr/src/redhat/RPMS/i386/