• 软件安装之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


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

  • 相关阅读:
    Visual C# 2005中编写Socket网络程序
    [ASP.NET缓存BUG]这几天遇到的头痛问题之一,晚上遇到终于解决一劳永逸
    检测远程URL是否存在的三种方法<转>
    C#开源资源大汇总
    Asp.Net中动态页面转静态页面
    开发人员必进的网站
    基于反向代理的Web缓存加速——可缓存的CMS系统设计
    解决MVC3 服务器无法在已发送 HTTP 标头之后设置状态 问题
    HyperLink 控件控制图片宽度高度的几种方法
    C#进程注入
  • 原文地址:https://www.cnblogs.com/jyxqclzx/p/13909295.html
Copyright © 2020-2023  润新知