RPM包安装及管理

RPM:红帽包管理器(RedHat Package Manager)

详细参数: 
-h (or --hash)        安装时输出hash记号 (``#'') 
--test                只对安装进行测试,并不实际安装。 
--percent             以百分比的形式输出安装的进度。 
--excludedocs         不安装软件包中的文档文件 
--includedocs         安装文档 
--replacepkgs         强制重新安装已经安装的软件包 
--replacefiles        替换属于其它软件包的文件 
--force               忽略软件包及文件的冲突 
--noscripts           不运行预安装和后安装脚本 
--prefix <path>       将软件包安装到由 <path> 指定的路径下 
--ignorearch          不校验软件包的结构 
--ignoreos            不检查软件包运行的操作系统 
--nodeps              不检查依赖性关系 
--ftpproxy <host>     用 <host> 作为 FTP代理 
--ftpport <port>      指定FTP的端口号为 <port> 
--oldpackage          给已经安装了最高版本的RPM降级
安装与卸载
rpm -i    #在该rpm包与该包的旧版本未被安装过的情况下,安装该rpm包。
rpm -U    #无论系统是否有安装过某rpm包或其旧版本,安装或更新指定的rpm包。
rpm -F    #仅在系统已安装某rpm包的旧版本rpm包时,更新rpm包。否则不安装。
rpm –e    #删除已经安装的包

# 要显示进度,就需要加vh参数
RPM包的查询
rpm -q:查询某一个RPM包是否已安装
rpm -qi:查询某一个RPM包的详细信息
rpm -ql:列出某RPM包中所包含的文件
rpm -qf:查询某文件属于哪一个RPM包
rpm -qa:列出当前系统所有已安装的包

rpmbuild 命令

~/rpmbuild
~/rpmbuild/SOURCES              #放置打包资源,包括源码打包文件和补丁文件等
~/rpmbuild/SPECS                #放置SPEC文档
~/rpmbuild/BUILD                #打包过程中的工作目录
~/rpmbuild/RPMS                 #存放生成的二进制包
~/rpmbuild/RPMS/i386            #存放生成的i386结构包
~/rpmbuild/SRPMS                #存放生成的源码包
-bp    只作准备 (解压与打补丁)
-bc    准备并编译
-bi    编译并安装
-bl    检验文件是否齐全
-ba    编译后做成*.rpm和src.rpm
-bb    编译后做成*.rpm
-bs    只做成*.src.rpm 

-tc -ti -ta -tb -ts 的功能类似,只是所需参数由spec文件变成tar包。

.tar.gzpatch补丁文件放到SOURCES目录,不需要解压
构建spec文件并放到SPECS目录
一般先rpmbuild -bp ,再-bc 再-bi 如果没问题,rpmbuild -bb制作rpm包

# 构建nginx的RPM包

cd ~/rpmbuild/SOURCES/
wget http://nginx.org/download/nginx-1.2.1.tar.gz

cd ~/rpmbuild/
rpmbuild -ba SPECS/nginx.spec
如果觉得我的文章对你有用,请随意赞赏