RPM命令

来源:互联网 发布:pc安全软件 编辑:程序博客网 时间:2024/06/15 12:28

简介: 在Linux操作系统中,有一个系统软件包,它的功能类似于Windows里面的“添加/删除程序”,但是功能又比“添加/删除程序”强很多,它就是Red Hat Package Manager(简称RPM)。


必须了解:

一个典型的RPM包有着类似foo-1.0-1.i386.rpm这样的名称, 其中指明包名(foo),版本号(1.0),发行号(1),和硬件平台(i386)。
执行命令rpm -qa 后可查询出所有安装的rpm包,省略了.rpm后缀.
image/rpm1.png

包全名:`foo-1.0-1.i386.rpm`;包名:  `foo`

RPM默认安装路径:

路径 说明 /etc 一些设置文件放置的目录如/etc/crontab /usr/bin 一些可执行文件 /usr/lib 一些程序使用的动态函数库 /usr/share/doc 一些基本的软件使用手册与帮助文档 /usr/share/man 一些man page文件

摘要:

  • 安装软件 rpm -i 包全名(.rpm)
  • 删除软件 rpm -e 软件名(不是包名)
  • 更新软件 rpm -Fvh 包全名(.rpm)
  • 查找软件 rpm -q 软件名(不是包名)
  • 校验软件 rpm -Vp 包全名(.rpm)

常用命令

rpm -qa 列出所有的安装软件
rpm -q mysql 查询是否安装了mysql
rpm -qa | grep mysql 查询是否安装了mysql
rpm -ql 包名 显示安装的该包所有文件所在路径(l为小写L)

可选参数:

-ivh 获得一个详细的安装进程
--nodeps 忽略依赖关系
--force 强制安装
-U 包名:升级安装
-F 更新不管是什么直接覆盖
--replacepkgs这样 RPM 将忽略该错误信息 -vih --replacepkgs
-q name :查询
-qa查询所有已安装的RPM
-qi name 查询这个软件详细信息
-ql 显示列表
-qf path :查询一个文件属于哪个包
-qp 包名 :查文件是什么
-qpl 包名 :针对一个没装过的包


RPM 安装操作

rpm -ivh 软件包全名.rpm
典型的 RPM 有着类似 foo-1.0-1.i386.rpm这样的名称, 其中指明了包名 (foo), 版本号 (1.0), 发行号 (1), 和硬件平台 (i386)。安装一个软件包只需简单的键入以下命令:


RPM 删除操作

rpm -e name(不是包名)


更新

包的更新与包升级相似:

    rpm -Fvh foo-1.2-1.i386.rpm    foo                    ###################################

RPM 查询操作

使用命令 rpm -q来查询已安装软件包的数据库。简单的使用命令 rpm -q foo 会打印出foo软件包的包名、版本号和发行号:

 rpm -q foo foo-2.0-1                    ###################################

RPM 校验操作

效验 rpm -Va

rpm  -Vf /bin/lsrpm  -Vp 包名5 -- MD5 校验和S -- 文件长度L -- 符号链接T -- 文件修改日期D -- 设备U -- 用户G -- 用户组M -- 模式 (包含许可和文件类型)? -- 不可读文件

详细参数说明

-a  查询所有套件。-b<完成阶段><套件档>+或-t <完成阶段><套件档>+  设置包装套件的完成阶段,并指定套件档的文件名称。-c  只列出组态配置文件,本参数需配合"-l"参数使用。-d  只列出文本文件,本参数需配合"-l"参数使用。-e<套件档>或--erase<套件档>  删除指定的套件。-f<文件>+  查询拥有指定文件的套件。-h或--hash  套件安装时列出标记。-i  显示套件的相关信息。-i<套件档>或--install<套件档>  安装指定的套件档。-l  显示套件的文件列表。-p<套件档>+  查询指定的RPM套件档。-q  使用询问模式,当遇到任何问题时,rpm指令会先询问用户。-R  显示套件的关联性信息。-s  显示文件状态,本参数需配合"-l"参数使用。-U<套件档>或--upgrade<套件档> 升级指定的套件档。-v  显示指令执行过程。-vv  详细显示指令执行过程,便于排错。-addsign<套件档>+  在指定的套件里加上新的签名认证。--allfiles  安装所有文件。--allmatches  删除符合指定的套件所包含的文件。--badreloc  发生错误时,重新配置文件。--buildroot<根目录>  设置产生套件时,欲当作根目录的目录。--changelog  显示套件的更改记录。--checksig<套件档>+  检验该套件的签名认证。--clean  完成套件的包装后,删除包装过程中所建立的目录。--dbpath<数据库目录>  设置欲存放RPM数据库的目录。--dump  显示每个文件的验证信息。本参数需配合"-l"参数使用。--excludedocs  安装套件时,不要安装文件。--excludepath<排除目录>  忽略在指定目录里的所有文件。--force  强行置换套件或文件。--ftpproxy<主机名称或IP地址>  指定FTP代理服务器。--ftpport<通信端口>  设置FTP服务器或代理服务器使用的通信端口。--help  在线帮助。--httpproxy<主机名称或IP地址>  指定HTTP代理服务器。--httpport<通信端口>  设置HTTP服务器或代理服务器使用的通信端口。--ignorearch  不验证套件档的结构正确性。--ignoreos  不验证套件档的结构正确性。--ignoresize  安装前不检查磁盘空间是否足够。--includedocs  安装套件时,一并安装文件。--initdb  确认有正确的数据库可以使用。--justdb  更新数据库,当不变动任何文件。--nobulid  不执行任何完成阶段。--nodeps  不验证套件档的相互关联性。--nofiles  不验证文件的属性。--nogpg  略过所有GPG的签名认证。--nomd5  不使用MD5编码演算确认文件的大小与正确性。--nopgp  略过所有PGP的签名认证。--noorder  不重新编排套件的安装顺序,以便满足其彼此间的关联性。--noscripts  不执行任何安装Script文件。--notriggers  不执行该套件包装内的任何Script文件。--oldpackage  升级成旧版本的套件。--percent  安装套件时显示完成度百分比。--pipe<执行指令>  建立管道,把输出结果转为该执行指令的输入数据。--prefix<目的目录>  若重新配置文件,就把文件放到指定的目录下。--provides  查询该套件所提供的兼容度。--queryformat<档头格式>  设置档头的表示方式。--querytags  列出可用于档头格式的标签。--rcfile<配置文件>  使用指定的配置文件。--rebulid<套件档>  安装原始代码套件,重新产生二进制文件的套件。--rebuliddb  以现有的数据库为主,重建一份数据库。--recompile<套件档>  此参数的效果和指定"--rebulid"参数类似,当不产生套件档。--relocate<原目录>=<新目录>  把本来会放到原目录下的文件改放到新目录。--replacefiles  强行置换文件。--replacepkgs  强行置换套件。--requires  查询该套件所需要的兼容度。--resing<套件档>+  删除现有认证,重新产生签名认证。--rmsource  完成套件的包装后,删除原始代码。--rmsource<文件>  删除原始代码和指定的文件。--root<根目录>  设置欲当作根目录的目录。--scripts  列出安装套件的Script的变量。--setperms  设置文件的权限。--setugids  设置文件的拥有者和所属群组。--short-circuit  直接略过指定完成阶段的步骤。--sign  产生PGPGPG的签名认证。--target=<安装平台>+  设置产生的套件的安装平台。--test  仅作测试,并不真的安装套件。--timecheck<检查秒数>  设置检查时间的计时秒数。--triggeredby<套件档>  查询该套件的包装者。--triggers  展示套件档内的包装Script--verify  此参数的效果和指定"-q"参数相同。--version  显示版本信息。--whatprovides<功能特性>  查询该套件对指定的功能特性所提供的兼容度。--whatrequires<功能特性>  查询该套件对指定的功能特性所需要的兼容度。

参考
http://www.jb51.net/os/RedHat/1102.html