详细rpm用法
什么是RPM命令

什么是RPM命令RPMRPM 是Red Hat Package Manager的缩写,本意是Red Hat 软件包管理,顾名思义是Red Hat 贡献出来的软件包管理;在Fedora 、Redhat、Mandriva、SuSE、YellowDog等主流发行版本,以及在这些版本基础上二次开发出来的发行版采用;RPM包里面都包含可执行的二进制程序。
一个RPM 包中的应用程序,有时除了自身所带的附加文件保证其正常以外,还需要其它特定版本文件,这就是软件包的依赖关系;一、RPM包管理的用途1、可以安装、删除、升级和管理软件;当然也支持在线安装和升级软件;2、通过RPM包管理能知道软件包包含哪些文件,也能知道系统中的某个文件属于哪个软件包;3、可以在查询系统中的软件包是否安装以及其版本;4、作为开发者可以把自己的程序打包为RPM 包发布;5、软件包签名GPG和MD5的导入、验证和签名发布6、依赖性的检查,查看是否有软件包由于不兼容而扰乱了系统;二、RPM 的使用权限RPM软件的安装、删除、更新只有root权限才能使用;对于查询功能任何用户都可以操作;如果普通用户拥有安装目录的权限,也可以进行安装;三、rpm 的一点简单用法我们除了软件包管理器以外,还能通过rpm 命令来安装;是不是所有的软件包都能通过rpm 命令来安装呢?不是的,文件以.rpm 后缀结尾的才行;有时我们在一些网站上找到file.rpm ,都要用rpm 来安装;一)初始化rpm 数据库通过rpm 命令查询一个rpm 包是否安装了,也是要通过rpm 数据库来完成的;所以我们要经常用下面的两个命令来初始化rpm 数据库[root@localhost beinan]# rpm --initdb[root@localhost beinan]# rpm --rebuilddb注:这个要花好长时间;注:这两个参数是极为有用,有时rpm 系统出了问题,不能安装和查询,大多是这里出了问题;二)RPM软件包管理的查询功能命令格式rpm {-q|--query} [select-options] [query-options]RPM的查询功能是极为强大,是极为重要的功能之一;举几个常用的例子,更为详细的具体的,请参考#man rpm1、对系统中已安装软件的查询;1)查询系统已安装的软件;语法:rpm -q 软件名举例:[root@localhost beinan]# rpm -q gaimgaim-1.3.0-1.fc4-q就是--query ,中文意思是"问",此命令表示的是,是不是系统安装了gaim ;如果已安装会有信息输出;如果没有安装,会输出gaim 没有安装的信息; 查看系统中所有已经安装的包,要加-a 参数;[root@localhost RPMS]# rpm -qa如果分页查看,再加一个管道|和more命令;[root@localhost RPMS]# rpm -qa |more在所有已经安装的软件包中查找某个软件,比如说gaim ;可以用grep 抽取出来;[root@localhost RPMS]# rpm -qa |grep gaim上面这条的功能和rpm -q gaim 输出的结果是一样的;2)查询一个已经安装的文件属于哪个软件包;语法rpm -qf 文件名注:文件名所在的绝对路径要指出举例:[root@localhost RPMS]# rpm -qf /usr/lib/libacl-devel-2.2.23-83)查询已安装软件包都安装到何处语法:rpm -ql 软件名或rpmquery -ql 软件名举例:[root@localhost RPMS]# rpm -ql lynx [root@localhost RPMS]# rpmquery -ql lynx 4)查询一个已安装软件包的信息语法格式:rpm -qi 软件名举例:[root@localhost RPMS]# rpm -qi lynx5)查看一下已安装软件的配置文件;语法格式:rpm -qc 软件名举例:[root@localhost RPMS]# rpm -qc lynx6)查看一个已经安装软件的文档安装位置:语法格式:rpm -qd 软件名举例:[root@localhost RPMS]# rpm -qd lynx7)查看一下已安装软件所依赖的软件包及文件;语法格式:rpm -qR 软件名举例:[root@localhost beinan]# rpm -qR rpm-python查询已安装软件的总结:对于一个软件包已经安装,我们可以把一系列的参数组合起来用;比如rpm -qil ;比如:[root@localhost RPMS]# rpm -qil lynx2、对于未安装的软件包的查看:1)查看一个软件包的用途、版本等信息;语法:rpm -qpi file.rpm举例:[root@localhost RPMS]# rpm -qpi lynx-2.8.5-23.i386.rpm2)查看一件软件包所包含的文件;语法:rpm -qpl file.rpm举例:[root@localhost RPMS]# rpm -qpllynx-2.8.5-23.i386.rpm3)查看软件包的文档所在的位置;语法:rpm -qpd file.rpm举例:[root@localhost RPMS]# rpm -qpd lynx-2.8.5-23.i386.rpm5)查看一个软件包的配置文件;语法:rpm -qpc file.rpm举例:[root@localhost RPMS]# rpm -qpc lynx-2.8.5-23.i386.rpm4)查看一个软件包的依赖关系语法:rpm -qpR file.rpm举例:[root@localhost archives]# rpm -qpR yumex_0.42-3.0.fc4_noarch.rpm/bin/bash/usr/bin/pythonconfig(yumex) = 0.42-3.0.fc4pygtk2pygtk2-libgladerpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 usermode yum >= 2.3.2三)软件包的安装、升级、删除等;1、安装和升级一个rpm 包;[root@localhost beinan]#rpm -vih file.rpm注:这个是用来安装一个新的rpm ;[root@localhost beinan]#rpm -Uvh file.rpm注:这是用来升级一个rpm 包;如果有依赖关系的,请解决依赖关系,其实软件包管理器能很好的解决依赖关系,请看前面的软件包管理器的介绍;如果您在软件包管理器中也找不到依赖关系的包;那只能通过编译他所依赖的包来解决依赖关系,或者强制安装; 语法结构:[root@localhost beinan]# rpm -ivh file.rpm --nodeps --force[root@localhost beinan]# rpm -Uvh file.rpm --nodeps --force举例应用:[root@localhost RPMS]# rpm -ivh lynx-2.8.5-23.i386.rpmPreparing... ########################################### [100%]1:lynx ########################################### [100%][root@localhost RPMS]# rpm -ivh --replacepkgs lynx-2.8.5-23.i386.rpmPreparing... ########################################### [100%]1:lynx ###########################################[100%]注:--replacepkgs 参数是以已安装的软件再安装一次;有时没有太大的必要;测试安装参数--test ,用来检查依赖关系;并不是真正的安装;[root@localhost RPMS]# rpm -ivh --test gaim-1.3.0-1.fc4.i386.rpmPreparing... ########################################### [100%]由新版本降级为旧版本,要加--oldpackage 参数;[root@localhost RPMS]# rpm -qa gaim[root@localhost RPMS]# rpm -Uvh --oldpackage gaim-1.3.0-1.fc4.i386.rpmPreparing... ########################################### [100%]1:gaim ########################################### [100%][root@localhost RPMS]# rpm -qa gaimgaim-1.3.0-1.fc4为软件包指定安装目录:要加--relocate 参数;下面的举例是把gaim-1.3.0-1.fc4.i386.rpm指定安装在/opt/gaim 目录中;[root@localhost RPMS]# rpm -ivh --relocate=/opt/gaim gaim-1.3.0-1.fc4.i386.rpmPreparing... ###########################################[100%]1:gaim ########################################### [100%][root@localhost RPMS]# ls /opt/gaim为软件包指定安装目录:要加-relocate 参数;下面的举例是把lynx-2.8.5-23.i386.rpm 指定安装在/opt/lynx 目录中;[root@localhost RPMS]# rpm -ivh --relocate=/opt/lynx --badreloc lynx-2.8.5-23.i386.rpmPreparing... ########################################### [100%]1:lynx ########################################### [100%]我们安装在指定目录中的程序如何调用呢?一般执行程序,都放在安装目录的bin或者sbin目录中;看下面的例子;如果有错误输出,就做相应的链接,用ln -s ;[root@localhost RPMS]# /opt/lynx/usr/bin/lynxConfiguration file /etc/lynx.cfg is not available.[root@localhost RPMS]# ln -s /opt/lynx/etc/lynx.cfg /etc/lynx.cfg[root@localhost RPMS]# /opt/lynx/usr/bin/lynx 2、删除一个rpm 包;[root@localhost beinan]#rpm -e 软件包名举例:我想移除lynx 包,完整的操作应该是:[root@localhost RPMS]# rpm -e lynx如果有依赖关系,您也可以用--nodeps 忽略依赖的检查来删除。
rpm详解

1)RPM(Redhat Package Management)是由RedHat研发的,在Linux 系统下的系统包管理工具。
RPM包的产生目的:使包的安装和卸载过程更容易,他能够证实一个包是否已正确安装了,能简化包的建立过程,能从原始码建立整个包,他能用于不同的体系结构。
RPM系统已成为目前Linux系统下包管理工具事实上的标准,并且他也移植到非常多商业的unix系统之下。
RPM包组成:由包标签对他标识,包标签包含软件名,软件版本,包的发行版本几部分。
在包的内部还包含包的建立时间,包的内容描述,安装包的所有文件的大小,数字签名以证实包的完整性等信息。
RMP包还包含包内的文件信息,其中包括:每个文件的文件名,每个文件的权限,文件的属组和拥有者,每个文件的md5校验和,文件的内容等。
RPM包名的组成:rpm包的名字都包含一个后缀“arch.rpm”,arch 指的是体系结构,对于Intel平台的有i386、i586、i686等,你所安装的包必须要和机器上的共享库的版本相匹配。
如果你发现某个RPM包没有安装,你能自己安装。
所有时候,你都能(必须是root用户)安装RPM包。
RPM包管理系统提供的功能:安装新的包,卸载旧的包,将一个旧包升级为新的包,获得已安装包的信息等。
周详讲述RPM源码包的构成:RPM需要一系列目录完成建立的工作。
正常的目录结构通常由一个顶级目录/usr/src/redhat/和五个子目录构成。
这五个子目录分别是:SOURCES------包含原始的源文件和补丁文件。
SPECS--------包含控制RPM包建立过程的spec文件。
BUILD--------包含源码解包和软件建立的目录。
RPMS---------包含建立过程创建的二进制包文件。
SRPMS--------包含建立过程创建的源码包文件。
(在RPMS或SRPMS目录下通常还会有关于RPM包目标平台的目录。
例如,i386、i586、i686等代表和Intel兼容cpu的平台,noarch目录下的RPM 包代表能在所有平台下执行。
Rpmfind用法详解

Rpmfind用法一、工作原理Rpmfind是rpm2html的客户端工具。
Rpm2html以RDF格式导出 主机上的所有包信息。
这样就生成了一个以小文件组成的RPM包及关联资源信息的简单的描述文件。
当使用rpmfind查找包时,若本地RPM包存在,它首先查找本地RPM库,如果不存在,它将从rufus(如网站)上请求一个关联的RDF文件。
然后解析其内容,查找包信息(distribution, vendor, version, date, etc...)。
在此基础上, rpmfind根据情况对包进行排序。
然后检出第一个包并去取其更复杂的信息如这些包的依赖关系。
并在此基础上对包的依赖关系进行检验,再取出下一依赖关系,直到结束为止。
最后,rpmfind显示取到的包列表以及这些包共占的硬盘空间。
如果rpmfind提示有个包需要的资源无效或者是一个libc的升级包,它将丢弃该包,并使用列表中的下一个,如此反复,直到结束。
这是一个高度的递归过程。
二、用法1.查找RPM包该模式用于查找与给定关键字相关的包$ rpmfind --apropos borland1: ftp:///linux/contrib/i386/rhide-1.3-1.i386.rpmrhide : Rhide is a very nice IDE exactly like Borland's$2.安装RPM包这是rpmfind的缺省工作模式,首先查找给定的包是否已经安装,如果已安装,则退出,否则从配置文件中指定的地址下载一个进行安装。
$ rpmfind xbillArch : i586, Os : LinuxDefault distribution : Red Hat Software(Hurricane)owning 249 of 338 installed packagesGet //linux/RDF/resources/xbill.rdfGet//linux/RDF/redhat/5.0/i386/xbill-2.0-2.i386.rdf### To Transfer:ftp:///linux/redhat/redhat-5.0/i386/RedHat/RPMS/xbill-2 .0-2.i386.rpmDo you want to download these files to /tmp [Y/n/a] ? : ysaving to /tmp/xbill-2.0-2.i386.rpm$rpm -i /tmp/xbill-2.0-2.i386.rpm3.升级RPM包缺省情况下,rpmfind不会替换已经存在的包,因此使用—upgrade参数,rpmfind就会寻找旧包的一个替代。
在RHEL5.0中用YUM解决RPM包的依赖关系

一、使用yum实现本地安装RPM包的依赖关系:1.添加一块硬盘,新分区并挂载到/install目录(也可以是其他目录)或直接在现有文件树中建一个新目录如/install2.将linux的光盘放入光驱并挂载光驱,将光盘中的所有内容复制到/install目录中:#cd 光驱挂载点#cp –a * /install3.删除子目录中的repodata目录:(LINUX5.0的RPM包存在于Cluster,ClusterStorage,Server,VT目录中。
子目录指的就是这几个目录。
)4.安装createrepo软件包,该RPM包在Server目录中。
5.使用createrepo /install创建RPM包的依赖关系库。
6.编辑索引文件,索引文件的路径:/etc/yum.repos.d/[root@localhost yum.repos.d]# vi /etc/yum.repos.d/server.repo (重命名后的文件名,也可以不重名)[server] --仓库的名字最好和索引文件名一致name=server --任意指定#baseurl=ftp:///pub/redhat/linux/enterprise/$releasever/en/os/$basearch/Debuginfo/--注释掉原URLbaseurl=file:///install --指定本地路径enabled=1 --使该仓库生效gpgcheck=0 --取消gpg校验#gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release7.验证:例如安装gcc:#yum install gcc*二、使用YUM实现网络安装RPM包的依赖关系:1.服务器端设置:先按使用YUM本地安装RPM包的依赖关系设置关系库,然后安装VSFTPD(也可以是APACHE),并设置匿名FTP的工作目录为/install目录(方法是修改VSFTPD.CONF文件添加anon_root=/install 或修改ftp系统用户的宿主目录为/install).启动VSFTPD服务。
Linuxrpm软件包信息查看

Linuxrpm软件包信息查看rpm简介rpm(英⽂全拼:redhat package manager)原本是 Red Hat Linux 发⾏版专门⽤来管理 Linux 各项套件的程序,由于它遵循 GPL 规则且功能强⼤⽅便,因⽽⼴受欢迎。
逐渐受到其他发⾏版的采⽤。
RPM 套件管理⽅式的出现,让 Linux 易于安装,升级,间接提升了 Linux 的适⽤度。
语法参数下⾯是rpm的基本的语法和选项[root@192 ~]# rpm --help⽤法: rpm [选项...]查询/验证软件包选项:-a, --all 查询/验证所有软件包-f, --file 查询/验证⽂件属于的软件包-g, --group 查询/验证组中的软件包-p, --package 查询/验证⼀个软件包--pkgid query/verify package(s) with package identifier--hdrid query/verify package(s) with header identifier--triggeredby query the package(s) triggered by the package--whatrequires query/verify the package(s) which require a dependency--whatprovides 查询/验证提供相关依赖的软件包--nomanifest 不把⾮软件包⽂件作为清单处理查询选项(⽤ -q 或 --query):-c, --configfiles 列出所有配置⽂件-d, --docfiles 列出所有程序⽂档-L, --licensefiles list all license files--dump 转储基本⽂件信息-l, --list 列出软件包中的⽂件--queryformat=QUERYFORMAT 使⽤这种格式打印信息-s, --state 显⽰列出⽂件的状态验证选项(⽤ -V 或 --verify):--nofiledigest 不验证⽂件摘要--nofiles 不验证软件包中⽂件--nodeps 不验证包依赖--noscript 不执⾏验证脚本安装/升级/擦除选项:--allfiles 安装全部⽂件,包含配置⽂件,否则配置⽂件会被跳过。
RPM命令详解

RPM命令详解rpm 常用命令1.安装一个包# rpm -ivh2.升级一个包# rpm -Uvh3.移走一个包# rpm -e4.安装参数--force 即使覆盖属于其它包的文件也强迫安装--nodeps 如果该RPM包的安装依赖其它包,即使其它包没装,也强迫安装。
5.查询一个包是否被安装# rpm -q < rpm package name>6.得到被安装的包的信息# rpm -qi < rpm package name>7.列出该包中有哪些文件# rpm -ql < rpm package name>8.列出服务器上的一个文件属于哪一个RPM包#rpm -qf9.可综合好几个参数一起用# rpm -qil < rpm package name>10.列出所有被安装的rpm package# rpm -qa11.列出一个未被安装进系统的RPM包文件中包含有哪些文件?# rpm -qilp < rpm package name><>一、安装命令格式:rpm -i ( or --install) options file1.rpm ... fileN.rpm参数:file1.rpm ... fileN.rpm 将要安装的RPM包的文件名详细选项:-h (or --hash) 安装时输出hash记号 (``#'')Print 50 hash marks as the package archive is unpacked. Usewith -v|--verbose for a nicer display.--test 只对安装进行测试,并不实际安装。
--percent 以百分比的形式输出安装的进度。
--excludedocs 不安装软件包中的文档文件--includedocs 安装文档--replacepkgs 强制重新安装已经安装的软件包--replacefiles 替换属于其它软件包的文件--force 忽略软件包及文件的冲突--noscripts 不运行预安装和后安装脚本--prefix 将软件包安装到由指定的路径下--ignorearch 不校验软件包的结构--ignoreos 不检查软件包运行的操作系统--nodeps 不检查依赖性关系--ftpproxy 用作为 FTP代理--ftpport 指定FTP的端口号为通用选项-v 显示附加信息-vv 显示调试信息--root 让RPM将指定的路径做为"根目录",这样预安装程序和后安装程序都会安装到这个目录下--rcfile 设置rpmrc文件为--dbpath 设置RPM 资料库存所在的路径为二、删除命令格式:rpm -e ( or --erase) options pkg1 ... pkgN参数pkg1 ... pkgN :要删除的软件包详细选项--test 只执行删除的测试--noscripts 不运行预安装和后安装脚本程序--nodeps 不检查依赖性通用选项-vv 显示调试信息--root 让RPM将指定的路径做为"根目录",这样预安装程序和后安装程序都会安装到这个目录下--rcfile 设置rpmrc文件为--dbpath 设置RPM 资料库存所在的路径为三、升级命令格式rpm -U ( or --upgrade) options file1.rpm ... fileN.rpm参数file1.rpm ... fileN.rpm 软件包的名字详细选项-h (or --hash) 安装时输出hash记号 (``#'')--oldpackage 允许"升级"到一个老版本--test 只进行升级测试--excludedocs 不安装软件包中的文档文件--includedocs 安装文档--replacepkgs 强制重新安装已经安装的软件包--replacefiles 替换属于其它软件包的文件--force 忽略软件包及文件的冲突--percent 以百分比的形式输出安装的进度。
rpm

LINUX软件包的一般安装方法 在LINUX的世界里,软件的安装主要的是有两种方式,一种是rpm包,还有一种就是tar包。
对于这两种包,一般的安装方法是这样的: 1)rpm包的安装 安装rpm包时需要一个参数就是-i.也就是就是可以用这样的命令来安装: rpm -i *.rpm 但是我们在安装时总是希望能看到一些信息,这时就可以用这样的命令: rpm -ivh *.rpm 这时就会显示出软件包的安装进度以及安装中的信息等。
如果想要安装的软件包系统中已经存在而只需要升级安装一下的话可以这样来做: rpm -U *.rpm 这样就会升级系统中已经存在软件包了。
而御载一个已安装的软件包的命令是这样的: rpm -e packagename 要想列出系统已经安装的rpm包的清单可以输入下面的命令: rpm -qa 但是此时列出的清单会是很长的,而我们所需要的只是其中的一个,这时我们可以用下列的命令来达到我们的目的: rpm -qa |grep -i 'name' 在软件包的安装过程中我们有可能用到的参数如下: --force 强行安装 -v 用符号“#”来显示安装进度 --percent 用百分比来显示安装进度 -nodeps 忽视已丢失的依赖性文件强行进行安装 -test 这个参数并不进行实际的安装,而只是检查软件包能否成功安装 -v 告诉RPM报告每一步的情况 2)tar包 tar包有两种格式,一种是.tar.gz,另一种就是tar.bz2.这两种包的安装方法一般是这样的: 解压:这两种包要有用两个不同的命令来解包,分别是: tar -xzvf *.tar.gz tar -xvjf *.tar.bz2 解压以后进入解压出来的目录,看一下里面的东西,一般而言这样的包里会有README文件的,打开看一下的他的安装方法。
一般来说这样的包安装一般是下面的步骤: make make install 这样就会将软件包安装上了。
RPM命令用法详解

RPM命令⽤法详解RPM 有五种基本的操作⽅式(不包括创建软件包): 安装, 卸载, 升级, 查询,和验证。
下⾯我们就来逐⼀的讲解吧。
⼀、安装RPM包RPM 软件包通常具有类似foo-1.0-1.i386.rpm 的⽂件名。
其中包括软件包的名称(foo),版本号(1.0),发⾏号(1),和硬件平台(i386)。
安装⼀个软件包只需简单的键⼊以下命令:$ rpm -ivh foo-1.0-1.i386.rpmfoo ####################################RPM安装完毕后会打印出软件包的名字(并不⼀定与⽂件名相同),⽽后打印⼀连串的#号以表⽰安装进度。
虽然软件包的安装被设计的尽量简单易⾏,但还是可能会发⽣如下的错误:1、软件包已被安装如果您的软件包已被安装, 将会出现以下信息:$ rpm -ivh foo-1.0-1.i386.rpmfoo package foo-1.0-1 is already installederror: foo-1.0-1.i386.rpm cannot be installed如果您仍旧要安装该软件包,可以在命令⾏上使⽤--replacepkgs 选项,RPM将忽略该错误信息强⾏安装。
2、⽂件冲突如果您要安装的软件包中有⼀个⽂件已在安装其它软件包时安装,会出现以下错误信息:# rpm -ivh foo-1.0-1.i386.rpmfoo /usr/bin/foo conflicts with file from bar-1.0-1error: foo-1.0-1.i386.rpm cannot be installed要想让RPM 忽略该错误信息,请使⽤--replacefiles 命令⾏选项。
3、未解决依赖关系RPM软件包可能依赖于其它软件包,也就是说要求在安装了特定的软件包之后才能安装该软件包。
如果在您安装某个软件包时存在这种未解决的依赖关系。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
详细rpm用法一、安装.src.rpm软件包 (1)方法一: (1)方法二: (2)二、rpmbuild命令使用 (2)*使用命令:rpmbuild .[OPTION] (2)*从文件<specfile>建立 (2)*从<tarball>包建立 (3)*从<source package>包建立 (3)*rpmbuild的其他使用项 (3)*所有rpm都可使用的选项 (4)*附加选项 (5)*帮助选项 (5)三、在Linux系统中RPM 命令参数使用详解 (5)1、安装 (5)2、删除卸载 (7)3、升级 (8)4、查询 (9)5、校验已安装的软件包 (11)6、校验软件包中的文件 (12)7、其它RPM选项 (13)一、安装.src.rpm软件包有些软件包是以.src.rpm结尾的,这类软件包是包含了源代码的rpm包,在安装时需要进行编译。
这类软件包有两种安装方法:方法一:1.执行rpm -i your-package.src.rpm2.cd /usr/src/redhat/SPECS3.rpmbuild -bp your-package.specs 一个和你的软件包同名的specs文件4.cd /usr/src/redhat/BUILD/your-package/ 一个和你的软件包同名的目录5../configure 这一步和编译普通的源码软件一样,可以加上参数6.make7.make install方法二:1.执行rpm -i you-package.src.rpm2.cd /usr/src/redhat/SPECS (前两步和方法一相同)3.rpmbuild -bb your-package.specs 一个和你的软件包同名的specs文件这时,在/usr/src/redhat/RPM/i386/ (根据具体包的不同,也可能是i686,noarch等等) 在这个目录下,有一个新的rpm包,这个是编译好的二进制文件。
执行:rpm -i new-package.rpm即可安装完成。
二、rpmbuild命令使用Usage: rpmbuild [OPTION...]*使用命令:rpmbuild ·[OPTION]Build options with [ <specfile> | <tarball> | <source package> ]:*建立包的选项有:[ 从文件<specfile>建立|从<tarball>包建立|从<source package>包建立]*从文件<specfile>建立-bp build through %prep (unpack sources and apply patches) from <specfile>* -bp 从<specfile>文件的%prep段开始建立(解开源码包并打补丁)-bc build through %build (%prep, then compile) from <specfile>*-bc 从<specfile>文件的%build-bi build through %install (%prep, %build, then install) from <specfile>-bl verify %files section from <specfile>*检查<specfile>文件的%files段-ba build source and binary packages from <specfile>*建立源码和二进制包-bb build binary package only from <specfile>*只建立二进制包-bs build source package only from <specfile>*只建立源码包*从<tarball>包建立-tp build through %prep (unpack sources and apply patches) from <tarball>-tc build through %build (%prep, then compile) from <tarball>-ti build through %install (%prep, %build, then install) from <tarball>-ta build source and binary packages from <tarball>*建立源码和二进制包-tb build binary package only from <tarball>*只建立二进制包-ts build source package only from <tarball>*只建立源码包*从<source package>包建立--rebuildbuild binary package from <source package>*建立二进制包--recompilebuild through %install (%prep, %build, then install) from <source package> *rpmbuild的其他使用项--buildroot=DIRECTORY override build root*确定以root目录建立包--clean remove build tree when done*完成打包后清除BUILD下的文件目录--nobuild do not execute any stages of the build*不进行BUILD的阶段--nodeps do not verify build dependencies*不检查建立包时的关联文件--nodirtokensgenerate package header(s) compatible with (legacy) rpm[23] packaging--rmsource remove sources when done*完成打包后清除sources--rmspec remove specfile when done*完成打包后清除specfile--short-circuit skip straight to specified stage (only for c,i)*跳过--target=CPU-VENDOR-OSoverride target platform*确定包的最终使用平台Common options for all rpm modes:*所有rpm都可使用的选项-D, --define='MACRO EXPR' define MACRO with value EXPR*预定义-E, --eval='EXPR' print macro expansion of EXPR*显示大量EXPR扩展信息--macros=<FILE:...> read <FILE:...> instead of default file(s)*读<FILE:...>文件代替默认文件--nodigest don't verify package digest(s)*不检查包的说明信息--nosignature don't verify package signature(s)*不检查包的签名信息--rcfile=<FILE:...> read <FILE:...> instead of default file(s)*读<FILE:...>文件代替默认文件-r, --root=ROOT use ROOT as top level directory (default: "/")*使ROOT为最高级别的路径--querytags display known query tags*显示已知的有疑问的地方--showrc display final rpmrc and macro configuration*显示最终的配置信息--quiet provide less detailed output*提供少量的信息-v, --verbose provide more detailed output* 提供大量的详细的信息--version print the version of rpm being used*显示rpm包的版本Options implemented via popt alias/exec:*附加选项--dbpath=DIRECTORY use database in DIRECTORY--with=<option> enable configure <option> for build*建立时允许配置的选项--without=<option> disable configure <option> for build*建立时不允许配置的选项Help options:*帮助选项-?, --help Show this help message* 显示帮助信息--usage Display brief usage message*显示使用方法的信息三、在Linux系统中RPM 命令参数使用详解1、安装命令格式:rpm -i ( or --install) options file1.rpm ... fileN.rpm参数:file1.rpm ... fileN.rpm 将要安装的RPM包的文件名详细选项:-h (or --hash) 安装时输出hash记号(``#'')--test 只对安装进行测试,并不实际安装。
--percent 以百分比的形式输出安装的进度。
--excludedocs 不安装软件包中的文档文件--includedocs 安装文档--replacepkgs 强制重新安装已经安装的软件包--replacefiles 替换属于其它软件包的文件--force 忽略软件包及文件的冲突--noscripts 不运行预安装和后安装脚本--prefix 将软件包安装到由指定的路径下--ignorearch 不校验软件包的结构--ignoreos 不检查软件包运行的操作系统--nodeps 不检查依赖性关系--ftpproxy 用作为FTP代理--ftpport 指定FTP的端口号为通用选项-v 显示附加信息-vv 显示调试信息--root 让RPM将指定的路径做为"根目录",这样预安装程序和后安装程序都会安装到这个目录下--rcfile 设置rpmrc文件为--dbpath 设置RPM 资料库存所在的路径为例子:1>.安装软件rpm -ivh *.rpm若系统提示此软件已安装过或因其他原因无法继续安装,但若我们确实想执行安装命令,可以在-ivh后加一参数“-replacepkgs”。