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常用命令的主要内容,如果未能解决你的问题,请参考以下文章