rpm命令的管理

1.yum与rpm的区别
 yum命令在安装软件的时候会自己从镜像里找到依赖性,然后解决掉,解决不掉才会报错
 rpm命令在安装软件的时候,不会解决依赖性,适用于所有软件包的安装

2.rpm软件包名称详解(以wps的rpm包为例)

wps-office-10.1.0.5672-1.a21.x86_64.rpm
软件名称 版本号 适用系统 架构 适用rpm体系软件

3.rpm 命令详解

rpm   -ivh   name.rpm        # 安装      
	-i       # 安装      
	-v       # 显示过程      
	-h       # hash加密
rpm  -e    name.rpm          # 卸载
rpm  -p    name              # 指定查询的是软件,这个软件已经安装
rpm  -qp   name.rpm          # 指定查询的软件包,这个软件可以没有安装
rpm  -ql    name             # 查询安装软件时生成的所有文件名称(软件必须已经安装)
rpm  -qlp   name.rpm         # 查询软件安装后会生成什么文件(软件不一定安装)
rpm  -qc   name              # 查询安装软件时生成的配置文件名称   
rpm  -qd   name              # 查询安装软件时生成的说明文件名称   
rpm  -qa                     # 查询系统中安装的所有软件     
     -q        # 查看      
     -a        # 所有
rpm  -qf   filename             # 查询某文件属于哪个安装包
rpm  -ivh   name.rpm --nodeps   # 忽略依赖性
rpm  -ivh   name.rpm --force    # 强制安装,不能忽略依赖性
rpm  -Kv    name.rpm            # 检测软件包是否被篡改
rpm  -qp   name.rpm   --scripts # 检测软件在安装或卸载过程中执行的动作 
rpm  -qi    name                # 查看软件信息 
rpm  -qa  | grep name           # 查询软件是否安装(软件名可以不完整)

[root@localhost Desktop]# cd /root/Downloads/
[root@localhost Downloads]# ls
FluffyMcAwesome-A-6.4.0-11.r19335.x86_64.rpm
FluffyMcAwesome-B-6.4.0-11.r19335.x86_64.rpm
kolourpaint-4.10.5-4.el7.x86_64.rpm
kolourpaint-libs-4.10.5-4.el7.x86_64.rpm
wps-office-10.1.0.5672-1.a21.x86_64.rpm
[root@localhost Downloads]# rpm -q wps-office-10.1.0.5672-1.a21.x86_64.rpmpackage 
wps-office-10.1.0.5672-1.a21.x86_64.rpm is not installed	
[root@localhost Downloads]# rpm -pq wps-office-10.1.0.5672-1.a21.x86_64.rpm
wps-office-10.1.0.5672-1.a21.x86_64 

在这里插入图片描述

[root@localhost Downloads]# rpm -ql httpd   # 这里只列出了一部分
/etc/httpd
/etc/httpd/conf
/etc/httpd/conf.d
[root@localhost Downloads]# rpm -qc httpd

在这里插入图片描述

[root@localhost Downloads]# rpm -qd httpd   # 这里只列出了一部分
/usr/share/doc/httpd-2.4.6/ABOUT_APACHE
/usr/share/doc/httpd-2.4.6/CHANGES
/usr/share/doc/httpd-2.4.6/LICENSE
/usr/share/doc/httpd-2.4.6/NOTICE
/usr/share/doc/httpd-2.4.6/README
[root@localhost Downloads]# rpm -qa      # 查看系统中安装的所有软件
[root@localhost Downloads]# rpm -qf /etc/httpd   # 查看/etc/httpd这个文件属于哪个安装包
httpd-2.4.6-40.el7.x86_64
[root@localhost Downloads]# cp  kolourpaint-4.10.5-4.el7.x86_64.rpm kolourpaint-4.10.5-4.el7.x86_641.rpm  # 备份这个软件
[root@localhost Downloads]# rpm -Kv kolourpaint-4.10.5-4.el7.x86_641.rpm   # 查看原软件状态,ok表示正常 
[root@localhost Downloads]# echo hello >>  kolourpaint-4.10.5-4.el7.x86_641.rpm  # 改变软件内容
[root@localhost Downloads]# rpm -Kv kolourpaint-4.10.5-4.el7.x86_641.rpm  # 再次检测,就会检测出被篡改

在这里插入图片描述
检测软件在安装或卸载过程中执行的动作,来确保软件是否安全

[root@localhost Downloads]# rpm -qp FluffyMcAwesome-A-6.4.0-11.r19335.x86_64.rpm --scripts 
[root@localhost Downloads]# rpm -qp FluffyMcAwesome-B-6.4.0-11.r19335.x86_64.rpm --scripts

在这里插入图片描述

4.rpm包的拆解

rpm2cpio # 采集数据
[root@localhost Desktop]# kolourpaint    # 调用命令打开画图软件

在这里插入图片描述

模拟误删命令所在的配置文件

[root@localhost Desktop]# which kolourpaint   # 查看 kolourpaint  这个进程在哪个目录里·,方便后边恢复
/usr/bin/kolourpaint
[root@localhost Desktop]# rm -fr /usr/bin/kolourpaint
[root@localhost Desktop]#  kolourpaint    # 再次调用命令就会失败
bash: /usr/bin/kolourpaint: No such file or directory
重新安装可以解决这个问题,但是重新安装会覆盖原有的所有文件,现在可以通过rpm包拆分的方式来解决这个问题
[root@localhost software]# cp kolourpaint-4.10.5-4.el7.x86_64.rpm /mnt  # 备份这个软件包到/mnt里,在/mnt里做实验
[root@localhost software]# cd /mnt
[root@localhost mnt]# rpm2cpio kolourpaint-4.10.5-4.el7.x86_64.rpm | cpio -id   #采集rpm的文件内容到/mnt目录里
3861 blocks 
[root@localhost mnt]# ls
kolourpaint-4.10.5-4.el7.x86_64.rpm  usr
[root@localhost mnt]# cd usr/
[root@localhost usr]# ls
bin  share
[root@localhost usr]# cd bin/
[root@localhost bin]# ls  
 Kolourpaint
[root@localhost bin]# pwd    # 找到Kolourpaint的所在地
/mnt/usr/bin
[root@localhost bin]# cp kolourpaint /usr/bin/   # 恢复到Kolourpaint的默认目录下
[root@localhost bin]# kolourpaint   # 再次调用命令就又恢复了 

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/wzt888_/article/details/83515786