rpm命令

Posted

tags:

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

1.rpm命令

rpm可以用来安装,升级更新,查询,验证,卸载rpm包。


2.rpm包的使用方法

rpm -ivh 包文件 //安装

rpm -Uvh  包文件 //升级

rpm -e 包名 //卸载

rpm -qa //查询所有安装的包

rpm -q 包名 //查询一个包是否安装

rpm -qi 包名 //查询一个包的详细信息

rpm -ql 包名 //查询这个rpm包安装了哪些文件

rpm -qf 文件 //查询文件来至哪个rpm包


选项说明:

安装:

i:install安装的意思。 

v:查询更详细的信息画面。 

h:显示安装进度。


升级:

U:后面接的软件没有安装,系统给予安装;软件安装过了,更新最新版

F:后面接的软件没有安装,系统不给予安装;软件安装过了,就升级到最新版


查询:

qa:查询本机上的所有已经安装的软件。 

qf:通过某文件找出属于哪个软件。 

q:仅查询软件是否安装。 

qi:列出软件的详细信息(information),开发商,版本与说明。 

ql:列出软件所有文件与目录所在的完整的文件名(list)。 

qc:列出该软件所有设置文件。 

qd:列出软件所有帮助文件。 

qR:列出与该软件有关的依赖软件所含的文件(Required)。 

qp[licdR]:与上面一致,qp查询的是非安装的RPM包内的文件信息。


验证:

V:后面接软件名称,该软件所含的文件被改动过,才会被列出来。针对一个软件查询。 

Va:列出系统上面所有有可能被改动过的文件。针对真个系统的。 

Vp:后面接文件名,针对RPM软件包。 

Vf:列出某个文件是否被改动过。


卸载:

e:卸载


RPM安装可用的参数(不常用)

可执行参数

代表意义

--nodeps

使用时机:当软件因依赖问题无法安装时,你执意安装。问题: 可能无法正常使用。

--replacefiles

使用时机:显示某个文件已经安装在系统上时,可以使用参数覆盖。问题:要弄清楚是否可以被覆盖。

--replacepkgs

使用时机:重新安装某个意境安装的软件。

--force

使用时机:强制安装,上面两个参数的结合体。

--test

使用时机:测试软件是否可以安装到当前环境中,可以找出依赖问题。rpm -ivh re-pppoe.i386.rpm --test

--justdb

使用时机:更新数据库的相关信息

--nosignature

使用时机:略过证书检测时。

--prefix 新路径

使用时机:将软件安装到其它路径。--prefix/usr/local

--noscripts

使用时机:不想让软件安装过程中自行执行某些系统命令。


3.实例

3.1 安装rpm包

查看镜像自带的rpm包。

在虚拟机右下角连接镜像,光盘的标志。

确认mnt目录没有备挂载,然后挂载

mount /dev/cdrom /mnt

cd /mnt/Packages/

ls


安装

# rpm -ivh tree-1.6.0-10.el7.x86_64.rpm

准备中...                          ################################# [100%]

正在升级/安装...

1:tree-1.6.0-10.el7                ################################# [100%]


3.2 查询rpm安装了那些文件

# rpm -ql tree

/usr/bin/tree

/usr/share/doc/tree-1.6.0

/usr/share/doc/tree-1.6.0/LICENSE

/usr/share/doc/tree-1.6.0/README

/usr/share/man/man1/tree.1.gz


3.3 查看一个文件来自哪个rpm包

# rpm -qf `which tree`

tree-1.6.0-10.el7.x86_64


3.4 查询安装的rpm的信息

# rpm -qi tree

Name        : tree

Version     : 1.6.0

Release     : 10.el7

Architecture: x86_64

Install Date: 2018年04月18日 星期三 11时26分04秒

Group       : Applications/File

Size        : 89505

....


3.5 卸载rpm包

# rpm -e tree

没有提醒


4.验证(不常用)

针对软件,查看tree这个软件有没有被改动过。

# rpm -V tree


针对系统文件,查看系统文件针对默认情况有没有修改过(没修改的没有提示信息,下面的提示信息是删除一行空行进行测试的即如果)

# rpm -Vf /etc/crontab

S.5....T.  c /etc/crontab


前面8位的含义

字符

含义

S(file Size differs)

文件的容量大小

M(Mode differs)

文件的类型或文件属性(rwx)

5(MD5 sum differs)

MD5这种指纹码的内容

D(Device major/minor number mis-match)

设备的主次代码

L(readLink (2) path mis-patch)

Link路径

U(User ownership differs)

文件的所有者

G(Group ownership differs)

文件的所属组

T(mTime differs)

文件的创建时间


第9个字符的含义

字符

含义

c

设置文件(config file)

d

文档(documentation)

g

鬼文件(ghost file)文件不被软件包含

l

授权文件(license file)

r

自述文件(read me)


5. 重建数据库

某些操作可能导致RPM数据库/var/lib/rpm内的文件损坏。重建数据库恢复。 

rpm --rebuilddb


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

CentOS7下rpm命令详解,rpm包的安装与卸载

RPM的基础命令/yum基本命令

第三章:rpm安装软件命令

Linux rpm -e卸载命令e是哪个单词

如何安装rpm命令?

CentOS的rpm常用命令(转)