• Linux基础篇之软件二进制包安装


     在Linux中需要根据不同的需求安装不同的软件服务。在Linux中,软件包分类两种源码包安装与二进制包安装。

    一、优缺点:

      优点:安装过程简单快速

      缺点:无法查看源代码、选择功能不灵活、有依赖性(需要提前一些前置依赖包)

    二、依赖性:

      1、树形依赖:若安装a,则需要提前安装b,安装b需要提前安装c。

      解决方法:安装c→安装b→安装a

      2、环形依赖:若安装a,则需要提前安装b,安装b需要提前安装c,安装c需要提前安装a。

      解决方法:abc一块安装

      3、模型依赖:安装a时缺少某些文件(一般是函数库,so.数字结尾)。

      解决方法:http://www.rpmfind.net/  通过这个网站结合所使用的系统版本可以查询缺少的文件属于包的名称。

    三、安装方法(两种方法:rpm安装方式与yum安装方式)

      (三·一、rpm安装方式)

      1、rpm安装

        (a)rpm  -ivh  软件包名   “i”是安装的意思;“v”是显示详细的信息;“h”显示安装进度。

        (b)service  服务名  start|stop|restart|status     服务的启动|停止|重启|状态

        ps:系统中有RPM包的数据库(/var/lib/rpm/),对于已安装的软件包会将其写入此数据库。因此在查询或者卸载软件时也是极其方便的(前提是安装时是默认安装)。且安装时如下图所示,一般情况下可以认为是安装成功。

        

        (c)默认安装位置

        

        (d)rpm  -ivh  软件包名  --force  (将已安装过的软件重新安装一遍,一般用于个别配置文件丢失等情况)

            rpm  -ivh  软件包名  --test     (不安装软件包,只是检测其依赖性)

      2、rpm查询

        rpm   -qa   (软件包名)      查询已安装的软件包。

        rpm  -q  |  grep   abc     查询软件包名中含有abc的的软件包

        rpm  -qi    软件包名     查询此软件的详细信息

        rpm  -qip   软件包名    查询未安装的软件包的信息

        rpm  -ql     软件包名    查询已安装的软件中包含的文件及文件的目录

        rpm  -qlp   软件包名    查询未安装的软件中包含的文件及文件的目录

        rpm  -qf    文件名      查询文件属于哪个RPM安装包(必须是RPM包安装时自动创建的文件,而不是自己手工创建的文件)

      3、rpm升级

        rpm  -Fvh  软件包名  升级安装(若安装过旧版本则升级到新版本;若没安装过,则不会进行安装)

        rpm  -Uvh  软件包名  升级安装(若安装过旧版本则升级到新版本;若没有安装过,则直接安装)

      4、rpm卸载软件

        rpm  -e  软件包名  

        rpm  -e  软件包名  --nodeps   不检测依赖性,直接强制卸载

        ps:卸载时也需要检测依赖性,但是卸载依赖包的顺序与安装时顺序相反。不建议使用--nodeps选项直接卸载。

      5、验证

        rpm  -V    已安装软件包名   校验指定的软件包中的文件

        rpm  -Vf 系统文件名     校验某个系统文件是否被修改

        若软件包有过修改,会出现下图所示(示例)

        

        (a).表示所验证属性一致;S表示文件大小被修改;M表示文件的类型或者权限被修改;5表示文件内容被修改;D表示设备的主副码被修改;L表示路径被修改;U表示所有被修改;G表示所属组被修改;T表示文件修改时间被改变;

          以上对比中都会存在一个原始值去对比。

        (b)c位置也有以下几个类型:

          c表示配置文件;d表示普通文件;g表示鬼文件(意思这个文件不应该在这个软件包内,出现情况及少);l表示许可证文件;r表示自述文件

        (c)最后是被改动的文件的所在路径

      6、数字证书

        上面记录了在软件包中会有原始值供文件去进行对比,这样可以发现文件是否被修改从而排查问题。但是如何保证原始值的准确性,这里便用到了数字证书。

        (1)数字证书原理:

              (a)必须找到原厂的公钥文件进行安装

              (b)安装RPM包时,会提取其中的证书信息与安装的原厂证书进行比对

              (c)若通过验证,则允许安装软件包;若不通过,则禁止安装并警告

        (2)证书保存位置:

     存在光盘之中

     系统之中 /etc/pki/rpm-gpg

        (3)导入方法:

          rpm  --import  /etc/pki/rpm-gpg/   RPM-GPG-KEY-CentOS-7

        (4)查询已安装的数字证书

           rpm -qa |grep gpg-pubkey

      (三·二、yum安装)

      1、yum的配置文件

      yum的配置文件存在/etc/yum.repos.d/目录中,文件扩展名为.repo的为yum的配置文件。(默认情况下CentOS-Base.repo使用此文件)。使用vim编辑器可以打开查看

      yum中参数有以下几个

      [base]  容器名称。(注意别忘记[])

      name   容器说明(可随意填写,但建议写描述,而不是乱写)

      mirrorlist  镜像网址

      baseurl  yum源的服务器地址。默认是CentOS的官方yum源服务器。可以修改为国内的yum源服务器。

      enabled  此容器是否启用。(默认不写或者enabled=1表示启用;enabled=0表示不启用)

      gpgcheck  数字证书是否启用(gpgcheck=1表示启用数字证书;gpgcheck=0表示不启用数字证书)

      gpgkey  数字证书的公钥文件保存位置。

      2、搭建本地yum源

      

      本地yum源配置文件内容:

      

       3、yum命令

        yum  list    查询yum源服务器上可安装的软件包

        yum  list  软件包名    查询是否含有某个软件包

        yum  search  关键字    查询与关键字有关的软件包

        

         yum  info  软件包名    查询软件包的详细信息

         yum  -y install  软件包名  安装软件包(-y是自动回答yes的意思)

        yum  -y  update  软件包名  升级软件包

        yum  -y  update      升级系统安装的所有软件包

        yum  -y  remove  软件包名  卸载软件包(卸载软件包会检查依赖性,并且将依赖性软件包一并卸载,但是此依赖包可能被其他软件使用。慎用)

  • 相关阅读:
    asp.net membership 修改密码
    linq直接执行sql语句
    word-wrap,word-break,white-space,text-overflow的区别和用法
    ObjectQuery查询及方法
    HTML 标签的 enctype 属性
    【C#学习笔记】类构造函数使用
    【C#学习笔记】播放wav文件
    【C#学习笔记】类型转换
    【C#学习笔记】函数重载
    【C#学习笔记】读文件
  • 原文地址:https://www.cnblogs.com/641055499-mozai/p/12728993.html
Copyright © 2020-2023  润新知