1, linux软件管理氛围:
(ア) RPM打包方式
① Yum工具是采用这种打包方式;
② 操作系统:Redhat,Fedara,CentOS。
(イ) DEBIAN打包方式
① Apt-get工具是采用这种打包方式;
② 操作系统:Ubantu
比较之后RPM打包比较容易,网络上参考的资料较多。比较倾向采用此打包方式
2, RPM包的制作:
(ア) 需要一些工具,参考网络。(可以用yum去安装,eg:yum installrpm-build)
(イ) RPM有五个文件夹是必须的。应该是系统默认的,一般在Redhat的/usr/src/redhat下有BUILD,RPMS,SOURCES,SPECS,SRPMS五个文件夹。我的默认的目录是在/root/rpmbuild
(ウ)
① 五个文件夹的作用参照网络。其中SOURCES目录中放我们的压缩文件(eg:我这里的实例的话放置的是1.tar.gz压缩文件)
② SPECS目录里存放.spec脚本,这个脚本是核心,记录rpm的安装方式。
③ BUILDROOT目录是在制作打包的过程中生成。这个目录很重要。相当于是一个虚拟的目录。下面的实例中会说明的。
④ 实例:more 1.l #生成一个文件
⑤ tar zxvf 1.l 1.tar.gz #压缩文件
⑥ cp 1.tar.gz /root/rpmbuild/SOURCES #拷贝到指定文件夹
⑦ cd /root/rpmbuild/SPECS
vi1.spec
⑤ 以下是1.spec的内容
#
# Examplespec file for nginx
#
Summary: highperformance web server
Name: 1
Version: 1
Release: 1.0
License:2-clause BSD-like license
Group:Applications/Server
Source: 1.tar.gz
URL: 1.tar.gz
Distribution:Linux
Packager:zhumaohai <admin@www.centos.bz>
%description
nginx [enginex] is a HTTP and reverse proxy server, as well as
a mail proxyserver
%prep
rm -rf$RPM_BUILD_DIR/1.tar.gz
zcat$RPM_SOURCE_DIR/1.tar.gz | tar -xvf -
echo"---------------------------"
mkdir $RPM_BUILD_ROOT[11] /home/zl[12] -p
%build
%install
install -m 755 1.l $RPM_BUILD_ROOT/home/zl[13]
%preun
if [ -z"`ps aux | grep nginx | grep -v grep`" ];then
killall nginx>/dev/null
exit 0
fi
%files
/home/zl/1.l
(エ) 制作rpm的命令:rpmbuild –ba 1.spec
生成的rpm包放在RPMS这个目录中
(オ) 安装包得命令:rpm –ivh 1-1-1.0.i386.rpm
卸载的命令:rpm –e 1