rpm常用命令

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了rpm常用命令相关的知识,希望对你有一定的参考价值。

参考技术A

1.rpm命令
1.CentOS系统上rpm命令管理程序包:安装、升级、卸载、查询和校验

2.rpm命令:rpm [OPTIONS] [PACKAGE_FILE]
1)安装:-i, --install
2)升级:-U, --update, -F, --freshen
3)卸载:-e, --erase
4)查询:-q, --query
5)校验:-V, --verify

rpm -i|–install [install-options] PACKAGE_FILE …
1)通常使用-i选项(安装)
2)-v选项显示详细信息
3)-h选项:hash marks输出进度条;每个#表示2%的进度
4)-vv:显示更详细的信息
5)- -test:测试安装,检查并报告依赖关系及冲突消息等,并不会真的安装
6)- -nodeps:忽略依赖关系;不建议
7)- -replacepkgs:重新安装
8)- -nosignature:不检查包签名信息,不检查来源合法性
9)- -nodigest:不检查包完整性信息
如:

rpm -Uvh或-Fvh -U|–upgrade/ -F|–freshen [install-options] PACKAGE_FILE …
1)-U选项:升级或安装
2)-F选项:仅升级,若未安装则不会升级
3)- -oldpackage:降级选项
4)- -force:强制升级
ps:1.不要对内核进行升级操作,linux支持多内核版本并存,可以直接安装新版本内核
2.如果某源程序包的配置文件安装后被修改过,升级时,新版本的程序提供的同一个配置文件不会覆盖原有版本的配置文件,而是把新版本的配置文件重命名(FILENAME.rpmnew)后提供。
如:

rpm -e|–erase [–allmatches] [–nodeps] [–noscripts] [–test] PACKAGE_NAME …
1)- -allmatches:卸载所有匹配指定名称的程序包的各版本

2)- -nodeps:忽略依赖关系

3)- -tesh:测试卸载,dry run模式,不会删除现有程序包
如:

1.rpm -q|–query [select-options] [query-options]
2.选择选项: [select-options]
1)-q :查询指定的程序包是否已经安装,及其版本
2)-a或- -all:查询所有已经安装过的程序包,可配合grep使用
3)-f file:查询指定的文件由哪个程序包安装生成
4)-p或- -package package_file:实现对未安装的程序包进行查询操作
5)- -whatprovides CAPABILITY:查询指定的功能由哪个程序包提供
6)- -whatrequires CAPABILITY:查询指定的CAPABILITY被哪个包所依赖;
3.[query-options]查询选项
1)-i,,–info:程序包相关的信息,版本号、大小、所属的包组,等
2)-l, --list:程序安装生成的所有文件列表
3)-c,- -configfiles:查询指定的程序包提供的配置文件
4)-d,- -docfiles:查询指定的程序包提供的文档
5)- -changelog:查询程序包的改变日志
6)- -provides:列出指定的程序包提供的所有功能
7)-R或- -requires:查询指定程序包的依赖关系
8)- -scripts:查看程序包自带的脚本片段
如:

rpm 常用命令


查询功能

命令格式 rpm {-q|--query} [select-options] [query-options]

  RPM的查询功能是极为强大,是极为重要的功能之一;举几个常用的例子,更为详细的具体的,请参考#man rpm

1、对系统中已安装软件的查询

1)查询系统已安装的软件

  语法:rpm -q 软件名

  举例:[[email protected] beinan]# rpm -q gaim

  gaim-1.3.0-1.fc4   

       查看系统中所有已经安装的包,要加 -a 参数 ;

  [[email protected] RPMS]# rpm -qa

  如果分页查看,再加一个管道 |和more命令;

  [[email protected] RPMS]# rpm -qa |more

  在所有已经安装的软件包中查找某个软件,比如说 gaim ;可以用 grep 抽取出来;

  [[email protected] RPMS]# rpm -qa |grep gaim

  上面这条的功能和 rpm -q gaim 输出的结果是一样的;

2)查询一个已经安装的文件属于哪个软件包

  语法 rpm -qf 文件名

  注:文件名所在的绝对路径要指出

  举例:

  [[email protected] RPMS]# rpm -qf /usr/lib/libacl.la

  libacl-devel-2.2.23-8

3)查询已安装软件包都安装到何处

  语法:rpm -ql 软件名 或 rpm rpmquery -ql 软件名

  举例:

  [[email protected] RPMS]# rpm -ql lynx

  [[email protected] RPMS]# rpmquery -ql lynx

4)查询一个已安装软件包的信息

  语法格式: rpm -qi 软件名

  举例:

  [[email protected] RPMS]# rpm -qi lynx

5)查看一下已安装软件的配置文件

  语法格式:rpm -qc 软件名

  举例:

  [[email protected] RPMS]# rpm -qc lynx

6)查看一个已经安装软件的文档安装位置

  语法格式: rpm -qd 软件名

  举例:

  [[email protected] RPMS]# rpm -qd lynx



7)查看一下已安装软件所依赖的软件包及文件

  语法格式: rpm -qR 软件名

  举例:

  [[email protected] beinan]# rpm -qR rpm-python

  查询已安装软件的总结:对于一个软件包已经安装,我们可以把一系列的参数组合起来用;比如 rpm -qil ;比如:

  [[email protected] RPMS]# rpm -qil lynx




2、对于未安装的软件包的查看:

  查看的前提是您有一个.rpm 的文件,也就是说对既有软件file.rpm的查看等;

1)查看一个软件包的用途、版本等信息;

  语法: rpm -qpi file.rpm

  举例:

  [[email protected] RPMS]# rpm -qpi lynx-2.8.5-23.i386.rpm

2)查看一件软件包所包含的文件;

  语法: rpm -qpl file.rpm

  举例:

  [[email protected]ocalhost RPMS]# rpm -qpl lynx-2.8.5-23.i386.rpm

3)查看软件包的文档所在的位置;

  语法: rpm -qpd file.rpm

  举例:

  [[email protected] RPMS]# rpm -qpd lynx-2.8.5-23.i386.rpm

4)查看一个软件包的配置文件;

  语法: rpm -qpc file.rpm

  举例:

  [[email protected] RPMS]# rpm -qpc lynx-2.8.5-23.i386.rpm

5)查看一个软件包的依赖关系

  语法: rpm -qpR file.rpm

  举例:

  [[email protected] archives]# rpm -qpR yumex_0.42-3.0.fc4_noarch.rpm

  /bin/bash

  /usr/bin/python

  config(yumex) = 0.42-3.0.fc4

  pygtk2

  pygtk2-libglade

  rpmlib(CompressedFileNames) <= 3.0.4-1

  rpmlib(PayloadFilesHavePrefix) <= 4.0-1

  usermode

  yum >= 2.3.2


验证下载包的完整性  -K

[[email protected] /misc/cd/Packages]# rpm -K   ./tree-1.6.0-10.el7.x86_64.rpm
tree-1.6.0-10.el7.x86_64.rpm: rsa sha1 (md5) pgp md5 OK


本文出自 “smile” 博客,谢绝转载!

以上是关于rpm常用命令的主要内容,如果未能解决你的问题,请参考以下文章

RPM常用命令以及组合使用场景

CentOS的rpm常用命令(转)

rpm 常用命令

linux常用命令:rpm 命令

Linux常用命令

RPM常用命令