这里是普通文章模块栏目内容页
软件安装rpm与yum的区别

一.软件名称识别

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

2.yum与rpm的区别:rpm适用于所有环境,而yum要搭建本地yum源才可以使用!yum是上层管理工具,自动解决依赖性,而rpm是底层管理工具。


二.rpm安装软件

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

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

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

 

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


 

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) 中间有!=符号,显示安装包已经被篡改。
 

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


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

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


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


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

1.用rpm安装wps软件
--rpm -qp wps-office-10.1.0.5672-1.a21.x86_64.rpm
发现安装wps时,缺少依赖性文件,不能安装
2.用yum安装wps软件
--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.安装kolourpaint-lib时,碰到如下的依赖性问题
--rpm -ivh kolourpaint-libs-4.10.5-4.el7.x86_64.rpm ##先安装依赖性文件


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

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


 

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


 

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

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


 

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


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

 

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


 

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


 

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


 

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


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