Linux系统下面制作RPM安装文件
2009-10-21 14:21
549 查看
Linux系统下面制作RPM安装文件
@for&ever 2009-10-21
制作环境
操作系统:Cent OS 5.3
软件安装名称: ForEver
软件代码位置: /opt/ForEver
代码打包后名称:ForEver_install.tar.gz
制作步骤:
1、 拷贝打包文件
将文件ForEver_install.tar.gz拷贝到目录 /usr/src/redhat/SOURCE目录下
2、 编写 ForEver-1.1.spec 文件
在目录/usr/src/redhat/SPECS 下面建立文件 ForEver-1.1.spec
内容如下:
Summary: ForEver (FE)
Name: ForEver
Version: 1.1
Release: 1
License: GPL
Group: for&ever
Source: ForEver_install.tar.gz
URL: http://blog.csdn.net/forandever Distribution: for&ever TEST Project
Vendor: for&ever
Packager: for&ever <xxxx@xxxx.com>
%description
ForEver (FE) 是测试的东东.用来测试制作 RPM安装包。
%prep
%setup -c
%build
%pre
if [ -d /opt/ForEver/ ]; then
date=`date +"%Y%m%d"`
bak=/opt/ForEver-${date}
echo ">>>>>>备份原目录为" ${bak}
mv /opt/ForEver/ ${bak}
fi
mkdir /opt/ForEver
%install
%post
chmod 777 /opt/ForEver/TMP/forandever.sh
/opt/ForEver/TMP/forandever.sh
rm -rf /opt/ForEver/TMP/forandever.sh
%preun
/opt/ForEver/stop-forandever.sh
%postun
rm -rf /etc/init.d/ForEverMgr
rm -rf /opt/ForEver
%files
/opt/ForEver/
%changelog
* Fri Oct 21 2009 forandever
- 第一次编译.
脚本功能的简单解释:
%pre段:
安装之前要执行如下操作:
判断将来RPM包的安装目录(/opt/ForEver/)是否已经存在,如果存在,就备份原目录,然后新建目录
%post段:
安装完成后,要执行如下操作:
运行 forandever.sh脚本,执行想要进行的操作(例如,根据不同的机器,修改配置文件)
%preun段:
卸载之前执行的操作:
这里是执行脚本 /opt/ForEver/stop-forandever.sh,停止 forandever的服务。
%postun段:
卸载之后要执行的操作。
这里是删除一些写在系统位置的文件和数据等。
3、 执行命令进行编译
在目录/usr/src/redhat/SPECS下执行如下的命令进行编译:
# rpmbuild -ba ForEver -1.1.spec
4、 查看制作好的安装文件,安装和卸载
在目录/usr/src/redhat/RPMS下会有生成好的 RPM安装文件。
安装使用命令:
#rpm -ivh --nodeps ForEver -1.1-1.i386.rpm
卸载使用命令:
#rpm -e ForEver -1.1-1
查看安装文件的信息使用命令:
#rpm -qpi ForEver -1.1-1.i386.rpm
附:关于SPEC脚本,比较有用的几个参数的执行时间说明:
%prep
执行时间:预处理脚本程序(prep)开始执行
%setup
%build
执行时间:编译连接脚本程序(build)开始执行
%install
执行时间:安装脚本程序(install)开始执行
%clean
执行时间:建包结束后清理脚本程序(clean)开始执行
%pre
执行时间:安装前执行脚本程序(pre)开始执行
%post
执行时间:安装后执行脚本程序(post)开始执行
%preun
执行时间:卸载前执行脚本程序(preun)开始执行
%postun
执行时间:卸载后执行脚本程序(postun)开始执行
%veryfiscript
执行时间:软件包校验脚本程序(verifyscript)开始执行
%triggerin -- xiuwu
执行时间:软件包安装时触发脚本程序(triggerin)开始执行
%triggerun -- yuntaishan < 2.0
执行时间:软件包卸载前触发脚本程序(triggerun)开始执行
%triggerpostun -- dapubu
执行时间:软件包卸载后触发脚本程序(triggerpostun)开始执行
@forandever 2009-10-21
@for&ever 2009-10-21
制作环境
操作系统:Cent OS 5.3
软件安装名称: ForEver
软件代码位置: /opt/ForEver
代码打包后名称:ForEver_install.tar.gz
制作步骤:
1、 拷贝打包文件
将文件ForEver_install.tar.gz拷贝到目录 /usr/src/redhat/SOURCE目录下
2、 编写 ForEver-1.1.spec 文件
在目录/usr/src/redhat/SPECS 下面建立文件 ForEver-1.1.spec
内容如下:
Summary: ForEver (FE)
Name: ForEver
Version: 1.1
Release: 1
License: GPL
Group: for&ever
Source: ForEver_install.tar.gz
URL: http://blog.csdn.net/forandever Distribution: for&ever TEST Project
Vendor: for&ever
Packager: for&ever <xxxx@xxxx.com>
%description
ForEver (FE) 是测试的东东.用来测试制作 RPM安装包。
%prep
%setup -c
%build
%pre
if [ -d /opt/ForEver/ ]; then
date=`date +"%Y%m%d"`
bak=/opt/ForEver-${date}
echo ">>>>>>备份原目录为" ${bak}
mv /opt/ForEver/ ${bak}
fi
mkdir /opt/ForEver
%install
%post
chmod 777 /opt/ForEver/TMP/forandever.sh
/opt/ForEver/TMP/forandever.sh
rm -rf /opt/ForEver/TMP/forandever.sh
%preun
/opt/ForEver/stop-forandever.sh
%postun
rm -rf /etc/init.d/ForEverMgr
rm -rf /opt/ForEver
%files
/opt/ForEver/
%changelog
* Fri Oct 21 2009 forandever
- 第一次编译.
脚本功能的简单解释:
%pre段:
安装之前要执行如下操作:
判断将来RPM包的安装目录(/opt/ForEver/)是否已经存在,如果存在,就备份原目录,然后新建目录
%post段:
安装完成后,要执行如下操作:
运行 forandever.sh脚本,执行想要进行的操作(例如,根据不同的机器,修改配置文件)
%preun段:
卸载之前执行的操作:
这里是执行脚本 /opt/ForEver/stop-forandever.sh,停止 forandever的服务。
%postun段:
卸载之后要执行的操作。
这里是删除一些写在系统位置的文件和数据等。
3、 执行命令进行编译
在目录/usr/src/redhat/SPECS下执行如下的命令进行编译:
# rpmbuild -ba ForEver -1.1.spec
4、 查看制作好的安装文件,安装和卸载
在目录/usr/src/redhat/RPMS下会有生成好的 RPM安装文件。
安装使用命令:
#rpm -ivh --nodeps ForEver -1.1-1.i386.rpm
卸载使用命令:
#rpm -e ForEver -1.1-1
查看安装文件的信息使用命令:
#rpm -qpi ForEver -1.1-1.i386.rpm
附:关于SPEC脚本,比较有用的几个参数的执行时间说明:
%prep
执行时间:预处理脚本程序(prep)开始执行
%setup
%build
执行时间:编译连接脚本程序(build)开始执行
%install
执行时间:安装脚本程序(install)开始执行
%clean
执行时间:建包结束后清理脚本程序(clean)开始执行
%pre
执行时间:安装前执行脚本程序(pre)开始执行
%post
执行时间:安装后执行脚本程序(post)开始执行
%preun
执行时间:卸载前执行脚本程序(preun)开始执行
%postun
执行时间:卸载后执行脚本程序(postun)开始执行
%veryfiscript
执行时间:软件包校验脚本程序(verifyscript)开始执行
%triggerin -- xiuwu
执行时间:软件包安装时触发脚本程序(triggerin)开始执行
%triggerun -- yuntaishan < 2.0
执行时间:软件包卸载前触发脚本程序(triggerun)开始执行
%triggerpostun -- dapubu
执行时间:软件包卸载后触发脚本程序(triggerpostun)开始执行
@forandever 2009-10-21
相关文章推荐
- LinuxStudyNote(43)-RPM包查询命令、查询是否安装、查询包详细信息、查询包中文件安装位置、查询系统文件属于哪个rpm包、查询软件包的依赖性
- 嵌入式 Linux cramfs文件系统制作工具安装
- 在Linux系统中安装rpm,deb,tar.gz,tar.bz2,apt,bin 格式的文件
- Linux_Hi3518E开发_制作根文件系统镜像
- linux文件系统制作(二)
- linux 下面 jdk1.7 rpm 包的安装
- linux 内核移植和根文件系统的制作
- linux中的热插拔和mdev机制(深入理解嵌入式linux文件系统的制作)
- linux 内核移植和根文件系统的制作
- LINUX移植——根文件系统制作(一)
- 用busybox制作嵌入式Linux的文件系统
- Linux系统上安装MySQL(rpm)
- linux文件系统制作流程
- Linux下tar—rpm格式文件安装
- 向U盘中安装Linux系统的经验(不是制作安装盘)
- linux系统下怎么安装.deb文件
- Linux高性能集群搭建(2)---NFS共享文件系统安装配置
- 使用U盘制作linux启动盘,并且成功安装Linux系统后,拔掉无法再次启动linux,修复引导区到硬盘
- 内核移植和文件系统制作(2):linux内核最小系统和initramfs文件系统
- linux 文件上传&软件安装(rpm)