软件安装之rpm 及rpm与yum的区别(转载)

一.软件名称识别

 

  1. 1.[abrt-addon-ccpp]-[2.1.11-19].[el7].[x86_64].rpm ##rpm结尾的适用与redhat操作系统
  2. || || || ||
  3. 软件名称 软件版本 软件适用系统 64

2.yum与rpm的区别:yum适用于所有环境,而rpm要搭建本地yum源才可以使用!yum是上层管理工具,自动解决依赖性,而rpm是底层管理工具。rpm只能安装已经下载到本地机器上的rpm包,yum可以在线下载并安装rpm包,能更新系统,且还能自动处理包与包之间的依赖问题,这是rpm所不具备的


二.rpm安装软件


 

  1. rpm -ivh name.rpm ##安装 ,-v显示过程,-h指定加密方式为hash
  2. -e name ##卸载
  3. -ql name ##查询软件生成文件
  4. -qlp name.rpm ##查询软件安装后会生成什么文件
  5. -qa ##查询系统中安装的所有软件名称
  6. -qa |grep name ##查询软件是否安装
  7. -q name ##查看
  8. -qp name.rpm ##查询软件安装包安装后的名字
  9. -qf filename ##查看filename属于那个安装包
  10. -ivh name.rpm --force ##强制安装,但不能忽略依赖性
  11. -ivh name.rpm --nodeps ##忽略依赖性并且强制安装
  12. -qi name ##查看软件信息
  13. -Kv name.rpm ##检测软件包是否被篡改
  14. -qp name.rpm --scripts ##检测软件在安装或卸载过程中执行的动作

举例:
在根目录下茶创建rpm目录,将安装包放入rpm目录里。

  1. 1.查询软件安装后会生成什么文件
  2. --rpm -qlp wps-office-10.1.0.5672-1.a21.x86_64.rpm

 

  1. 2.查看软件信息
  2. --rpm -qi wps


 

  1. 3.检查软件包是否被修改
  2. 先篡改,再观察效果
  3. --echo helloworld >> wps-office-10.1.0.5672-1.a21.x86_64.rpm ##将helloworld追加到wps安装包内

--rpm -Kv wps-office-10.1.0.5672-1.a21.x86_64.rpm   ##查看软件包是否被修改


注:MD5 digest: BAD Expected(5bb5b15d9d6006305856c903999398a6) != (e2ec4416e7d020c59202bd3f4af1608a) 中间有!=符号,显示安装包已经被篡改。
 

  1. 4.检测软件在安装或卸载过程中执行的动作
  2. --rpm -qp wps-office-10.1.0.5672-1.a21.x86_64.rpm --scripts


可以看到看到软件包FluffyMcAsesome-A 在卸载后会将本机的根目录删除且不做提示,而FluffyMcAsesome-B在卸载后只会输出一个字符“fluffy”
 

  1. --rpm -qp FluffyMcAwesome-A-6.4.0-11.r19335.x86_64.rpm --scripts
  2. --rpm -qp FluffyMcAwesome-B-6.4.0-11.r19335.x86_64.rpm --scripts


三.yum与rpm的区别,yum自动解决软件依赖性,而rpm不可以!


第三方软件包在/rpm中,分别用yum和rpm安装,看区别。

  1. 1.用rpm安装wps软件
  2. --rpm -qp wps-office-10.1.0.5672-1.a21.x86_64.rpm
  3. 发现安装wps时,缺少依赖性文件,不能安装
  1. 2.用yum安装wps软件
  2. --yum -ivh wps-office-10.1.0.5672-1.a21.x86_64.rpm


安装正常完成


注:依赖性文件是指,安装wps软件,必须先安好wps软件的依赖性文件,否则wps软件不能安装,所以在用rpm安装wps时,rpm仅仅只安装指定的软件,不会安装依赖性文件,所以wps软件不能安装。若所安装软件无依赖性或者依赖性文件被解决,则可以安装,否则会报错无法安装。而使用yum安装软件时,检测到软件的依赖性文件在yum源没有安装,yum会自动安装依赖性软件后再安装软件。


四.安装Kolourpaint

先把软件放在/rpm目录里:


Kolourpaint与kolourpaint-lib(是kolourpaint的依赖性文件)
 

  1. 1.安装kolourpaint-lib时,碰到如下的依赖性问题
  2. --rpm -ivh kolourpaint-libs-4.10.5-4.el7.x86_64.rpm ##先安装依赖性文件


注:又碰到缺少依赖性文件,Kolourpaint与kolourpaint-lib(是kolourpaint的依赖性文件)相互依赖
 

  1. 2.此时,应该怎样解决?
  2. 这时候,我们需要用到nodeps参数,这个参数可以忽略软件的依赖性,直接进行安装。
  3. -- rpm -ivh kolourpaint-libs-4.10.5-4.el7.x86_64.rpm --nodeps


 

  1. 3.再安装kolourpaint
  2. --rpm -ivh kolourpaint-4.10.5-4.el7.x86_64.rpm
  3. 此时,还缺少一个依赖性软件 kde-runtime


 

  1. 4.用yum search 查找kde-runtime
  2. 找到一个kde-runtime-libs.x86_64的安装包
  3. 注:此时如果没有找到此安装包,看看之前yum黑名单是不是屏蔽了

  1. 5.安装kde-runtime-libs.x86_64的安装包
  2. --yum install kde-runtime-libs.x86_64


 

  1. 6.再次再安装kolourpaint
  2. --rpm -ivh kolourpaint-4.10.5-4.el7.x86_64.rpm


此时 发现只有一个依赖性文件,libqimageblitz.so.4
注:上一步安装完成后,此时,只缺少一个依赖性文件,这说明在进行上面的安装时,yum已经yum已经解决安装kde-runtime-libs时所需要的依赖性文件

 

  1. 7.用whatprovides查找libqimageblitz.so.4文件所对应的安装包
  2. --yum whatprovides libqimageblitz.so.4
  3. 找到了qimageblitz安装包


 

  1. 8.用yum search 查询qimageblitz安装包
  2. --yum search qimageblitz
  3. 找到了qimageblitz.x86_64软件


 

  1. 9.安装此软件qimageblitz.x86_64
  2. --yum install qimageblitz.x86_64


 

  1. 10.再次再次再安装kolourpaint
  2. --rpm -ivh kolourpaint-4.10.5-4.el7.x86_64.rpm


显示安装成功!!且画图软件可以使用

 

 

posted @ 2020-11-01 13:38  冲鸭!!!!  阅读(724)  评论(0编辑  收藏  举报