软件的安装及管理、yum命令与rpm命令

安装软件

yum命令与rpm命令的区别:

rpm是由红帽公司开发的软件包管理方式,使用rpm我们可以方便的进行软件的安装、查询、卸载、升级等工作。
但是rpm软件包之间的依赖性问题往往会很繁琐,尤其是软件由多个rpm包组成时。但rpm可以解决死循环依赖性,这是yum解决不了的

Yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器。
基於RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载、安装。但当yum仓库里没有相应的依赖包时,它将无法解决依赖性就会报错

软件包名称详解:

wps-office-10.1.0.5672-1.a21.x86_64.rpm 
   [1]         [2]      [3]    [4]  [5]


[1] 软件名称

[2] 软件版本

[3] 适用系统

[4] 适用架构

[5] 适用rpm体系软件
  注意:做此实验时,真机已经搭建好了yum源和yum源的共享

(1)yum命令

yum   install    软件名(softwarename)     #安装某个软件
yum   reinstall  软件名                     #重新安装某个软件
yum   repolist                             #列出设定yum源信息
yum   remove     软件名                     #卸载某个软件
yum   list       软件名                     #查看软件源中是否有此软件
yim   list       all                       #列出所有的软件名
yum   list       installed                 #列出已安装好的软件名
yum   list       available                  #列出未安装但可以用yum安装的软件名
yum   search        软件信息                 #根据软件信息搜索软件名称
yum   whatprovides  文件名/命令              #在yum源中查找包含filename文件的软件包
yum   clean      all                        #清空yum缓存
yum   history                               #查看系统软件改变历史(比如install,remove等重要操
作)
yum  update                                 #更新软件
yum  info        软件名                      #查看软件信息
yum  groups      list                       #查看软件组信息
yum  groups  info  软件组名(softwaregroup) #查看软件组中包含的软件
yum  groups      install   软件组           #安装组件
yum  groups      remove    软件组名         #卸载组件

实验:

##列出yum源中所有的软件名
[root@localhost ~]# yum list

在这里插入图片描述

##列出系统中已安装好的软件名
[root@localhost ~]# yum list installed

在这里插入图片描述

##列出未安装但可以用yum安装的软件名
[root@localhost ~]# yum list available

在这里插入图片描述

##查看软件源(yum源)中是否有dhcp
[root@localhost ~]# yum list dhcp

在这里插入图片描述

[root@localhost ~]# yum list available | wc -l 
3166
[root@localhost ~]# yum list installed | wc -l 
1227

在这里插入图片描述

@@如果删除dhcp服务的配置文件,只能是重新安装dhcp服务,才能恢复
[root@localhost ~]# yum  list dhcp

在这里插入图片描述

[root@localhost ~]# ll /etc/dhcp

在这里插入图片描述

[root@localhost ~]# rm -rf /etc/dhcp
[root@localhost ~]# ll /etc/dhcp

在这里插入图片描述

[root@localhost ~]# yum install dhcp

在这里插入图片描述

##重新安装; -y表示直接安装不提示
[root@localhost ~]# yum reinstall -y dhcp

在这里插入图片描述

[root@localhost ~]# ll /etc/dhcp

在这里插入图片描述

##卸载dhcp
[root@localhost ~]# yum remove dhcp -y
##安装dhcp
[root@localhost ~]# yum install dhcp -y
##查看dhcp软件信息
[root@localhost ~]# yum info dhcp

在这里插入图片描述

##根据软件信息搜索软件名
[root@localhost ~]# yum search dhcp

在这里插入图片描述

##搜索浏览器
[root@localhost ~]# yum search web

在这里插入图片描述

@@如果丢失了软件所包含的文件,想要根据文件名搜索软件名只能用whatprovides
[root@localhost ~]# rm -rf /etc/dhcp
[root@localhost ~]# yum search /etc/dhcp

在这里插入图片描述

##在yum源中查找包含某个文件(目录)或者命令(二进制文件)的软件名
[root@localhost ~]# yum whatprovides /etc/dhcp

在这里插入图片描述

@@groups 表示软件组:多个软件
##查看软件组信息
[root@localhost ~]# yum groups list

在这里插入图片描述

#可用tabble键可补齐
[root@localhost ~]# yum groups info

在这里插入图片描述

##查看GNOME软件组中包含的软件
[root@localhost ~]# yum groups info GNOME

在这里插入图片描述

#可用tabble键可补齐
[root@localhost ~]# yum groups install

在这里插入图片描述

##安装Additional Development组件
[root@localhost ~]# yum groups install Additional Development

在这里插入图片描述

##卸载组件
[root@localhost ~]# yum groups remove Additional Development

2.如何安装带有依赖性的软件

(1).安装wps

 yum 源可以忽略部分依赖性 ;实际上安装wps时,安装了两个软件,一个是它的依赖性,由于yum仓库中有这个包的依赖性。所以就直接解决了依赖性
@1.下载wps
[root@localhost ~]# ls
wps-office-9.1.0.4961-1.a18p1.x86_64.rpm
@2.安装wps
[root@localhost~ ]# yum install -y wps-office-10.1.0.5672-1.a21.x86_64.rpm

在这里插入图片描述
(2).安装画图软件

   有依赖性并且这些依赖性构成死循环(a需要b,b又需要a),此时使用yum源无法解决

方法1:逐步解决依赖性

@1.下载画图软件包(libs为它的依赖包)
[root@localhost ~]# ls
kolourpaint-4.10.5-4.el7.x86_64.rpm
kolourpaint-libs-4.10.5-4.el7.x86_64.rpm
##直接安装失败
[root@localhost ~]# yum install -y kolourpaint-4.10.5-4.el7.x86_64.rpm

在这里插入图片描述

[root@localhost~ ]# yum install -y kolourpaint-libs-4.10.5-4.el7.x86_64.rpm

在这里插入图片描述

此时需要用rpm命令来解决它的依赖性
@2.解决依赖性
[root@localhost ~]# rpm -ivh kolourpaint-4.10.5-4.el7.x86_64.rpm

在这里插入图片描述

[root@localhost ~]# yum list kde-runtime 

在这里插入图片描述

[root@localhost ~]# yum install -y kde-runtime.x86_64 
## --nodeps 表示忽略依赖性
[root@localhost ~ ]# rpm -ivh kolourpaint-libs-4.10.5-4.el7.x86_64.rpm --nodeps

在这里插入图片描述

##此时依旧有依赖性
[root@localhost ~]# rpm -ivh kolourpaint-4.10.5-4.el7.x86_64.rpm 

在这里插入图片描述

##用search无法搜索到相关的软件包;因为libqimageblitz.so.4是一个文件
[root@localhost ~]# yum search libqimageblitz.so.4

在这里插入图片描述

##此时可以用whatprovides搜索软件名
[root@localhost ~]# yum whatprovides */libqimageblitz.so.4

在这里插入图片描述

[root@localhost ~]# yum install -y qimageblitz-0.0.6-7.el7.x86_64

在这里插入图片描述

@3.重新安装,成功!
[root@localhost ~]# rpm -ivh kolourpaint-4.10.5-4.el7.x86_64.rpm 

在这里插入图片描述

@3测试:
##打开画图软件报错,因为连接虚拟机时未开启图形
[root@localhost ~]# kolourpaint

在这里插入图片描述

[root@localhost ~]# exit
##以图形方式连接虚拟机
[root@foundation34 ~]# ssh [email protected] -X
##再次打开画图软件,成功!
[root@localhost ~]# kolourpaint

在这里插入图片描述
方法2:下载好软件包和依赖包后直接一起安装即可!

 ##先强制卸载 kolourpain
 [root@localhost ~]# rpm -e kolourpaint --nodeps
 [root@localhost ~]# ls
 kolourpaint-4.10.5-4.el7.x86_64.rpm
 kolourpaint-libs-4.10.5-4.el7.x86_64.rpm
 [root@localhost ~]# yum install -y kolourpaint-libs-4.10.5-4.el7.x86_64.rpm  kolourpaint-4.10.5-4.el7.x86_64.rpm 

在这里插入图片描述

[root@localhost ~]# kolourpaint 

在这里插入图片描述
3.rpm命令

rpm -ivh name.rpm             # -i安装,-v显示过程 -h指定加密方式为hash加密
rpm -ivh name.rpm  --force    #强制安装,但不能忽略依赖性
rpm -ivh name.rpm  --nodeps  --force    #强制安装并且忽略依赖性
rpm -e   name           #卸载
rpm -ql  name           #查询软件生成文件
rpm -qc  name           #查询软件的配置文件名称
rpm -qd  name           #查询软件的说明文件名称
rpm -qlp name.rpm       #查询软件安装后会生成什么文件
rpm -qa                 #查询系统中安装的所有软件名称
rpm -qa |grep name      #查询软件是否安装
rpm -q   name           #查询软件是否安装
rpm -qp  name.rpm       #查询软件安装包安装后的名字(p #pack 安装包)
rpm -qf filename        #查看filename属于那个安装包
rpm -qi  name           #查看软件信息
rpm -Kv  name.rpm       #检测软件包是否被篡改
rpm -qp  name.rpm  --scripts     #检测软件在安装或者卸载过程中执行的动作

注意:name.rpm           #安装包的名称 
     name               #软件的名称   
     -qa |grep          后边跟的名字是模糊指定 
     -q                 后边跟的名字是精确指定的
解决依赖性的方法:(1)先下载所需软件依赖的软件,再下载所需软件
                (2)--nodeps  它的主要作用是解决依赖性的死循环

补充:xml是可扩展语言,用于数据封装

实验:

[root@localhost ~]# ls
kolourpaint-4.10.5-4.el7.x86_64.rpm       wps-office-10.1.0.5672-1.a21.x86_64.rpm
kolourpaint-libs-4.10.5-4.el7.x86_64.rpm
##卸载wps软件
[root@localhost ~]# yum remove -y wps-office
##-h表示指定加密方式为hash加密
[root@localhost ~]# rpm -ih wps-office-10.1.0.5672-1.a21.x86_64.rpm 

在这里插入图片描述

##-e表示卸载
[root@localhost ~]# rpm -e wps-office
####-v表示显示安装过程的详细信息
[root@localhost ~]# rpm -ivh wps-office-10.1.0.5672-1.a21.x86_64.rpm 

在这里插入图片描述

[root@localhost ~]# rpm -e wps-office
##无法卸载,因为有依赖性
[root@localhost ~]# rpm -e kolourpaint

在这里插入图片描述

##--nodeps表示忽略依赖性,此时便可以卸载掉
[root@localhost ~]# rpm -e kolourpaint --nodeps
##-q表示该软件是否安装
[root@localhost ~]# rpm -q kolourpaint
package kolourpaint is not installed
[root@localhost ~]# rpm -q httpd
httpd-2.4.6-40.el7.x86_64
[root@localhost ~]# rpm -q wps-office
package wps-office is not installed

在这里插入图片描述

##查询系统中是否安装了httpd
[root@localhost ~]# rpm -qa | grep httpd

在这里插入图片描述

##安装wps
[root@localhost ~]# rpm -ivh wps-office-9.1.0.4961-1.a18p1.x86_64.rpm 
##-qp表示查询软件安装包安装后的名字(p 表是pack安装包)
[root@localhost ~]# rpm -qp httpd
error: open of httpd failed: No such file or directory
##必须是以.rpm结尾的安装包
[root@localhost ~]# rpm -qp wps-office-9.1.0.4961-1.a18p1.x86_64.rpm
wps-office-9.1.0.4961-1.a18p1.x86_64

在这里插入图片描述

[root@localhost ~]# rpm -qp kolourpaint-libs-4.10.5-4.el7.x86_64.rpm 

在这里插入图片描述

##查询软件生成的文件
[root@localhost ~]# rpm -ql httpd 

在这里插入图片描述

##-ql后边跟的软件名而不是软件包
[root@localhost ~]# rpm -ql wps-office-10.1.0.5672-1.a21.x86_64.rpm 

在这里插入图片描述

[root@localhost ~]# rpm -ql wps-office

在这里插入图片描述

##查询软件的配置文件名称
[root@localhost ~]# rpm -qc httpd

在这里插入图片描述

[root@localhost ~]# rpm -qc chrony

在这里插入图片描述

[root@localhost ~]# rpm -qc openssh-server

在这里插入图片描述

##查看软件信息
[root@localhost ~]# rpm -qi httpd

在这里插入图片描述

##查询软件的说明文件名称
[root@localhost ~]# rpm -qd dhcp

在这里插入图片描述

##查看某个文件属于哪个安装包
[root@localhost ~]# rpm -qf /etc/httpd/

在这里插入图片描述

[root@localhost ~]# rm -rf /bin/ls
[root@localhost ~]# ls
-bash: /usr/bin/ls: No such file or directory
[root@localhost ~]# rpm -qf /bin/ls

在这里插入图片描述

[root@localhost ~]# yum reinstall -y coreutils-8.22-11.el7.x86_64
[root@localhost ~]# ls
kolourpaint-4.10.5-4.el7.x86_64.rpm
kolourpaint-libs-4.10.5-4.el7.x86_64.rpm
wps-office-9.1.0.4961-1.a18p1.x86_64.rpm
##安装画图软件
[root@localhost ~]# yum install -y kolourpaint-4.10.5-4.el7.x86_64.rpm  kolourpaint-libs-4.10.5-4.el7.x86_64.rpm
##卸载,发现有依赖性 
[root@localhost ~]# rpm -e kolourpaint

在这里插入图片描述

## --force表示强制安装,但不能忽略依赖性
[root@localhost ~]# rpm -e kolourpaint --force
rpm: only installation and upgrading may be forced
## --nodeps表示忽略依赖性
[root@localhost ~]# rpm -e kolourpaint --nodeps
[root@localhost ~]# rpm -q kolourpaint
package kolourpaint is not installed

在这里插入图片描述

[root@localhost ~]# ls
kolourpaint-4.10.5-4.el7.x86_64.rpm
kolourpaint-libs-4.10.5-4.el7.x86_64.rpm
wps-office-9.1.0.4961-1.a18p1.x86_64.rpm
##备份
[root@localhost ~]# cp kolourpaint-4.10.5-4.el7.x86_64.rpm kolourpaint-4.10.5-4.el7.x86_6411.rpm
[root@localhost ~]# rpm -Kv kolourpaint-4.10.5-4.el7.x86_6411.rpm 

在这里插入图片描述

##模拟篡改软件信息
[root@localhost ~]# echo hello >> kolourpaint-4.10.5-4.el7.x86_6411.rpm 
##检测软件包是否被篡改
[root@localhost ~]# rpm -Kv kolourpaint-4.10.5-4.el7.x86_6411.rpm 

在这里插入图片描述

[root@localhost ~]# rm -rf kolourpaint-4.10.5-4.el7.x86_6411.rpm

@@在网站上下载好的软件包,并非直接安装。在安装之前需要注意查看软件是否被恶意窜改,或者是否在安装或者卸载过程中会执行破坏性动作
##这是我下载的两个软件包
[root@localhost ~]# ls
FluffyMcAwesome-A-6.4.0-11.r19335.x86_64.rpm
FluffyMcAwesome-B-6.4.0-11.r19335.x86_64.rpm

@1.检测软件包是否被篡改;发现两个软件包都没有被篡改过
[root@localhost ~]# rpm -Kv FluffyMcAwesome-A-6.4.0-11.r19335.x86_64.rpm
[root@localhost ~]# rpm -Kv FluffyMcAwesome-B-6.4.0-11.r19335.x86_64.rpm

在这里插入图片描述

@2.检测软件在安装或者卸载过程中执行的动作
[root@localhost ~]# rpm -qp FluffyMcAwesome-A-6.4.0-11.r19335.x86_64.rpm --scripts
[root@localhost ~]# rpm -qp FluffyMcAwesome-B-6.4.0-11.r19335.x86_64.rpm --scripts

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/lilygg/article/details/83582538