Linux 基础4 rpm安装知识点

本文介绍了Linux系统中RPM包的安装、升级、卸载、查询和验证等基础知识,包括使用`rpm -ivh`、`rpm -Uvh`、`rpm -e`等命令进行操作,并讲解了如何处理依赖问题、查看文件安装位置和校验包的完整性。此外,还阐述了如何提取RPM包中的文件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.初次安装使用包全名安装,操作已经安装的软件包时,使用包名

找到包名,是根据/var/lib/rpm 中的数据库。

 

2.rpm 安装

rpm -ivh 

i 安装 v 显示详细信息

h 显示进度  --nodeps 不检测依赖性

 

3.直接敲mount命令可以查看挂载信息。

 

4.安装时如果报以 so 结尾的模块依赖

需要去rpmfind网站上找。

 

5.rpm -Uvh 包全名

-U 升级

 

6.rpm -e 包名  

 -e 卸载

比如,我要卸载rpm -e httpd

error: Failed dependencies:

httpd = 2.2.15-15.el6.centos.1 is needed by (installed) httpd-devel-2.2.15-15.el6.centos.1.i686

它会让你先卸载 httpd-devel

 

7.

rpm -q 包名

rpm -qa 查询所有已经安装的rpm包

rpm -qa | grep httpd

rpm -qi 包名

-p 查询未安装包信息(在packages中查看)

 

rpm -ql 包名 查询文件安装位置

-p 查询未安装包信息

 

rpm -qf 系统文件名 查询系统文件属于哪个rpm包

注意是系统文件名即是通过rpm装的

 

rpm -qR 包名

-R 查询软件包的依赖性

-p 查询未安装包的信息

 

8.

rpm 包校验

rpm -V 已安装的包名
 

[root@Liu-Centos ~]# rpm -V httpd

[root@Liu-Centos ~]#

返回为空,证明没有修改

[root@Liu-Centos ~]# vim /etc/httpd/conf/httpd.conf

我们修改了配置文件

[root@Liu-Centos ~]# rpm -V httpd

S.5....T.c /etc/httpd/conf/httpd.conf

S 文件大小是否改变

M 文件的类型或者文件的权限是否被改变

5 文件的MD5校验值是否改变(可以理解为文件的内容是否改变)

D 表示文件的major和minor号是否改变

L 文件路径是否改变

U 文件的属主(所有者)是否改变

G 文件的属组是否改变

T 文件的修改时间是否改变

文件类型:

c 表示配置文件(config file)

d 普通文档(documentation)

G ghost file 很少见,就是该文件不应该在此rpm包中包含

L 授权文件 license file

R 描述文件 read me

 

9.

rpm 包 中的文件提取

rpm2cpio 包全名 | cpio -idv .文件绝对路径

2 标识英文的 to

rpm2cpio 表示将rpm包转换为cpio格式

cpio是一个标准工具,它用于创建软件档案文件和从档案文件中提取文件

cpio 选项 < [文件|设备]

-i 还原

-d 还原时自动新建目录

-v 显示还原过程

[root@Liu-Centos ~]# rpm -qf /bin/ls

coreutils-8.4-19.el6.i686

[root@Liu-Centos ~]# rpm2cpio woqu/Packages/coreutils-8.4-19.el6.i686.rpm | cpio -idv ./bin/ls

./bin/ls

24772 块

[root@Liu-Centos ~]# ls

anaconda-ks.cfg  bin  install.log  install.log.syslog