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.gz
和patch
补丁文件放到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
此处评论已关闭