• Linux基础——软件安装


    软件安装

    以前Linux程序的开发者都是通过Tarball分发程序,让用户通过make指令客制化安装,但有更简便的方式:就是将编译好的可执行软件给使用者安装

    dpkg、RPM和SRPM

    管理机制linux distribution安装包安装指令线上安装指令
    RPMRed Hat / Fedorarpm, rpmbuildyum
    dpkgDebian / Ubuntudpkgapt-get

    dpkg、RPM将编译好的程序打包,方便用户安装,但也有以下问题:

    • 软件安装的环境需与打包时的环境一致,不同distribution的安装文件并不能用在其他distribution上,可能相同distribution的不同版本间也无法相通
    • 需要满足软件的相依性,如安装B前需安装A

    为了解决上面的问题,SRPM(Source RPM)的安装文件中含有未编译的源码,通常以xxx.src.rpm命名,可根据自身需要修改配置文件安装软件

    RPM

    命令 rpm 可安装.rpm格式的安装包

    安装

    -i安装,-v查看安装信息,-h列出安装进度,若要强制安装则用以下参数

    参数(两个-)使用时机影响
    –nodeps因为软件相依性无法安装软件可能无法使用
    –replacefiles安装时已存在某文件或出现版本不符的信息,强制覆盖覆盖的文件无法还原
    –replacepkgs重新安装已安装的软件
    –force–replacefiles + --replacepkgs
    –test测试当前软件是否可以安装,用于找出相依性
    –justdb由于PRM资料库损坏或不明原因错误时,更新软件在资料库的内容
    –nosignature忽略签名
    –prefix指定安装路径
    –noscripts不让该软件在安装过程中执行某些指令

    升级

    -U 软件没有安装则直接安装,若有安装则更新,-F 若软件没有安装则不会安装,若有安装则更新

    查询

    查询是根据 /var/lib/rpm/ 的资料,-q仅查询是否安装,-qa查询所有已安装,-qi列出详细信息,-l 列出该软件的文件,-qc列出该软件的配置文件,-qd列出该软件的说明书,-qR 列出该软件的相依性文件,-qf 找出文件属于哪个软件,-q–scripts列出安装后需要执行的脚本,-qp [ilcdR] 与上面操作一样(查询未安装软件)

    在这里插入图片描述

    验证

    验证是通过比较/var/lib/rpm数据库的内容和当前linux下软件的文件,-V [software]列出某软件被改动过的文件,-Va列出系统上所有可能被改动过的文件,-Vp file 列出某软件可能被改动过的文件,-Vf 列出某文件是否被改动过

    若一个文件的所有信息都被改变,则输出

    SM5DLUGTP cdglr filename
    
    • 1

    SM5DLUGTP分别表示:

    • S:文件大小变化
    • M:类型和权限变化
    • 5:MD5已不同
    • D:主/次代码改变
    • L:link路径改变
    • U:onwer改变
    • G:group改变
    • T:建立时间改变
    • P:功能改变

    cdglr 分别表示:

    • c:config file,配置文件
    • d:documentaion,资料
    • g:ghost file,该文件不被某软件包含
    • l:license,授权文件
    • r:read me,自读文件

    签名

    上面的验证,若/var/lib/rpm 下的数据库本身就有问题,那就无法保证软件的正确性,此时可利用签名,步骤如下

    • 安装原厂公钥
    • 当安装PRM软件时,rpm会读取对比软件公钥和本机公钥
    • 若相等则安装,不相等则警告且不安装

    在这里插入图片描述

    卸载

    卸载一定要从上层往下卸载,-e 即可卸载软件

    yum

    yum会自动处理软件相依性,并可以通过网络在线安装,参数-y安装过程自动回复yes,–installroot=/xxx指定安装目录

    配置文件

    yum软件库配置文件放置在 /etc/yum.repos.d,需自行创建xxx.repo,规则有

    • [xxx]:软件库名字
    • name:说明
    • mirrorlist:镜像网址
    • baseurl:实际网站
    • enalbe:是否启动(可通过参数----enablerepo启动)
    • gpcheck:是否使用签名
    • gpkey:签名所在路径

    若修改了默认的配置文件,需yum clean all更新/var/cache/yum 的本机软件库清单

    查询

    search 搜索某个关键字,list列出yum管理的软件,info列出详细信息,provides根据文件搜索软件

    安装、更新、卸载

    install 安装,update 更新,remove 卸载

    群组

    yum还可以一次性安装一个群组的软件,grouplist 列出所有可使用群组,groupinfo查询群组包含的软件,groupinstall安装群组,groupremove移除群组

    SRPM

    命令 rpmbuild可操作.src.rpm文件,–rebuild 编译打包成.rpm安装包,–recompile编译打包并安装,通过rpm下载.src.rpm,其会在/home/xxx/rpmbuild/,其下目录意义分别是

    • SPECS:配置文件
    • SOURCES:源码(*.tar.gz)和config
    • BUILD:编译过程中的资料
    • RPMS:编译成功打包的文件
    • SRPMS:SRPMS封装的文件
  • 相关阅读:
    利用消球差透镜对各种偏振光束进行深聚焦
    leetcode 172-阶乘后的零
    Arduino驱动BNO055 10轴绝对定向传感器(惯性测量传感器篇)
    ImmunoChemistry艾美捷Annexin DNA损伤ELISA试剂盒方案
    [附源码]SSM计算机毕业设计小说网站的设计与实现1JAVA
    第二十章 构建和配置 Nginx (UNIX® Linux macOS)
    在word文档里面插入漂亮的伪代码
    Win11如何关闭最近打开项目?Win11关闭最近打开项目的方法
    FTP的主动传输和被动传输以及实现FTPClient连接池-meethigher
    手机电脑数码小程序商城的作用是什么
  • 原文地址:https://blog.csdn.net/qq_35258036/article/details/126543038