• 9、软件包管理



    尚硅谷2022版Linux教程-讲师:武晟然

    壁立千仞 无欲则刚

    9、软件包管理

    9.1 RPM

    9.1.1 RPM 概述

    RPM(RedHat Package Manager),RedHat软件包管理工具,类似windows里面的setup.exe

    是Linux这系列操作系统里面的打包安装工具,它虽然是RedHat的标志,但理念是通用的。

    RPM包的名称格式
    Apache-1.3.23-11.i386.rpm

    • “apache” 软件名称
    • “1.3.23-11”软件的版本号,主版本和此版本
    • “i386”是软件所运行的硬件平台,Intel 32位处理器的统称
    • “rpm”文件扩展名,代表RPM包

    9.1.2 RPM 查询命令(rpm -qa

    1)基本语法
    rpm -qa (功能描述:查询所安装的所有 rpm 软件包)
    2)经验技巧
    由于软件包比较多,一般都会采取过滤。rpm -qa | grep rpm软件包
    3)案例实操
    (1)查询firefox软件安装情况

    [root@centos7:101 ~]# rpm -qa | grep firefox
    firefox-68.10.0-1.el7.centos.x86_64
    
    • 1
    • 2

    9.1.3 RPM 卸载命令(rpm -e)

    1)基本语法
    (1)rpm -e RPM软件包
    (2) rpm -e --nodeps 软件包
    2)选项说明

    选项功能
    -e卸载软件包
    –nodeps卸载软件时,不检查依赖。这样的话,那些使用该软件包的软件在此之后可能就不能正常工作了。

    3)案例实操
    (1)卸载firefox软件

    [root@centos7:101 ~]# rpm -e firefox 
    
    • 1

    9.1.4 RPM 安装命令(rpm -ivh)

    1)基本语法
    rpm -ivh RPM 包全名
    2)选项说明

    选项功能
    -iinstall,安装
    -v–verbose,显示详细信息
    -h–hash,进度条
    –nodeps安装前不检查依赖

    3)案例实操
    (1)安装firefox软件

    # 进入CD光盘
    [root@centos7:101 Packages]# pwd
    /run/media/root/CentOS 7 x86_64/Packages
    # 找到获取安装包
    [root@centos7:101 Packages]# ll | grep firefox-68.10.0-1.el7.centos.x86_64.rpm 
    -rw-rw-r--.  3 root root 99060892 79 2020 firefox-68.10.0-1.el7.centos.x86_64.rpm
    # 安装
    [root@centos7:101 Packages]# rpm -ivh firefox-68.10.0-1.el7.centos.x86_64.rpm 
    准备中...                          ################################# [100%]
    正在升级/安装...
       1:firefox-68.10.0-1.el7.centos     ################################# [100%]
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    9.2 YUM 仓库配置

    9.2.1 YUM 概述

    YUM(全称为 Yellow dog Updater, Modified)是一个在 Fedora 和 RedHat 以及 CentOS中的 Shell 前端软件包管理器。基于 RPM 包管理,能够从指定的服务器自动下载 RPM 包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。

    在这里插入图片描述

    9.2.2 YUM 的常用命令

    1)基本语法
    yum [选项] [参数]
    2)选项说明

    选项功能
    -y对所有提问都回答“yes”

    3)参数说明

    参数功能
    install安装 rpm 软件包
    update更新 rpm 软件包
    check-update检查是否有可用的更新 rpm 软件包
    remove删除指定的 rpm 软件包
    list显示软件包信息
    clean清理 yum 过期的缓存
    deplist显示 yum 软件包的所有依赖关系

    4)案例实操实操
    (1)采用 yum 方式安装 firefox

    [root@centos7:101 Packages]# yum install firefox
    已加载插件:fastestmirror, langpacks
    Loading mirror speeds from cached hostfile
     * base: ftp.sjtu.edu.cn
     * extras: ftp.sjtu.edu.cn
     * updates: ftp.sjtu.edu.cn
    base                                             | 3.6 kB     00:00     
    extras                                           | 2.9 kB     00:00     
    updates                                          | 2.9 kB     00:00     
    正在解决依赖关系
    --> 正在检查事务
    ---> 软件包 firefox.x86_64.0.91.13.0-1.el7.centos 将被 安装
    --> 正在处理依赖关系 nss >= 3.67,它被软件包 firefox-91.13.0-1.el7.centos.x86_64 需要
    --> 正在处理依赖关系 nspr >= 4.32,它被软件包 firefox-91.13.0-1.el7.centos.x86_64 需要
    --> 正在处理依赖关系 libnss3.so(NSS_3.58)(64bit),它被软件包 firefox-91.13.0-1.el7.centos.x86_64 需要
    --> 正在处理依赖关系 libnss3.so(NSS_3.55)(64bit),它被软件包 firefox-91.13.0-1.el7.centos.x86_64 需要
    --> 正在处理依赖关系 libnss3.so(NSS_3.52)(64bit),它被软件包 firefox-91.13.0-1.el7.centos.x86_64 需要
    --> 正在处理依赖关系 libnss3.so(NSS_3.47)(64bit),它被软件包 firefox-91.13.0-1.el7.centos.x86_64 需要
    --> 正在处理依赖关系 libnss3.so(NSS_3.45)(64bit),它被软件包 firefox-91.13.0-1.el7.centos.x86_64 需要
    --> 正在检查事务
    ---> 软件包 nspr.x86_64.0.4.21.0-1.el7 将被 升级
    ---> 软件包 nspr.x86_64.0.4.34.0-3.1.el7_9 将被 更新
    ---> 软件包 nss.x86_64.0.3.44.0-7.el7_7 将被 升级
    --> 正在处理依赖关系 nss = 3.44.0-7.el7_7,它被软件包 nss-sysinit-3.44.0-7.el7_7.x86_64 需要
    --> 正在处理依赖关系 nss(x86-64) = 3.44.0-7.el7_7,它被软件包 nss-tools-3.44.0-7.el7_7.x86_64 需要
    ---> 软件包 nss.x86_64.0.3.79.0-4.el7_9 将被 更新
    --> 正在处理依赖关系 nss-util >= 3.79.0-1,它被软件包 nss-3.79.0-4.el7_9.x86_64 需要
    --> 正在处理依赖关系 nss-softokn(x86-64) >= 3.79.0-1,它被软件包 nss-3.79.0-4.el7_9.x86_64 需要
    --> 正在处理依赖关系 libnssutil3.so(NSSUTIL_3.59)(64bit),它被软件包 nss-3.79.0-4.el7_9.x86_64 需要
    --> 正在检查事务
    ---> 软件包 nss-softokn.x86_64.0.3.44.0-8.el7_7 将被 升级
    ---> 软件包 nss-softokn.x86_64.0.3.79.0-4.el7_9 将被 更新
    --> 正在处理依赖关系 nss-softokn-freebl(x86-64) >= 3.79.0-4.el7_9,它被软件包 nss-softokn-3.79.0-4.el7_9.x86_64 需要
    ---> 软件包 nss-sysinit.x86_64.0.3.44.0-7.el7_7 将被 升级
    ---> 软件包 nss-sysinit.x86_64.0.3.79.0-4.el7_9 将被 更新
    ---> 软件包 nss-tools.x86_64.0.3.44.0-7.el7_7 将被 升级
    ---> 软件包 nss-tools.x86_64.0.3.79.0-4.el7_9 将被 更新
    ---> 软件包 nss-util.x86_64.0.3.44.0-4.el7_7 将被 升级
    ---> 软件包 nss-util.x86_64.0.3.79.0-1.el7_9 将被 更新
    --> 正在检查事务
    ---> 软件包 nss-softokn-freebl.x86_64.0.3.44.0-8.el7_7 将被 升级
    ---> 软件包 nss-softokn-freebl.x86_64.0.3.79.0-4.el7_9 将被 更新
    --> 解决依赖关系完成
    
    依赖关系解决
    
    ========================================================================
     Package              架构     版本                     源         大小
    ========================================================================
    正在安装:
     firefox              x86_64   91.13.0-1.el7.centos     updates   106 M
    为依赖而更新:
     nspr                 x86_64   4.34.0-3.1.el7_9         updates   128 k
     nss                  x86_64   3.79.0-4.el7_9           updates   895 k
     nss-softokn          x86_64   3.79.0-4.el7_9           updates   379 k
     nss-softokn-freebl   x86_64   3.79.0-4.el7_9           updates   337 k
     nss-sysinit          x86_64   3.79.0-4.el7_9           updates    66 k
     nss-tools            x86_64   3.79.0-4.el7_9           updates   555 k
     nss-util             x86_64   3.79.0-1.el7_9           updates    80 k
    
    事务概要
    ========================================================================
    安装  1 软件包
    升级           ( 7 依赖软件包)
    
    总计:109 M
    Is this ok [y/d/N]: y
    Downloading packages:
    Running transaction check
    Running transaction test
    Transaction test succeeded
    Running transaction
    警告:RPM 数据库已被非 yum 程序修改。
      正在更新    : nspr-4.34.0-3.1.el7_9.x86_64                       1/15 
      正在更新    : nss-util-3.79.0-1.el7_9.x86_64                     2/15 
      正在更新    : nss-softokn-freebl-3.79.0-4.el7_9.x86_64           3/15 
      正在更新    : nss-softokn-3.79.0-4.el7_9.x86_64                  4/15 
      正在更新    : nss-sysinit-3.79.0-4.el7_9.x86_64                  5/15 
      正在更新    : nss-3.79.0-4.el7_9.x86_64                          6/15 
      正在更新    : nss-tools-3.79.0-4.el7_9.x86_64                    7/15 
      正在安装    : firefox-91.13.0-1.el7.centos.x86_64                8/15 
      清理        : nss-tools-3.44.0-7.el7_7.x86_64                    9/15 
      清理        : nss-sysinit-3.44.0-7.el7_7.x86_64                 10/15 
      清理        : nss-3.44.0-7.el7_7.x86_64                         11/15 
      清理        : nss-softokn-3.44.0-8.el7_7.x86_64                 12/15 
      清理        : nss-softokn-freebl-3.44.0-8.el7_7.x86_64          13/15 
      清理        : nss-util-3.44.0-4.el7_7.x86_64                    14/15 
      清理        : nspr-4.21.0-1.el7.x86_64                          15/15 
      验证中      : nss-softokn-freebl-3.79.0-4.el7_9.x86_64           1/15 
      验证中      : nss-tools-3.79.0-4.el7_9.x86_64                    2/15 
      验证中      : nss-util-3.79.0-1.el7_9.x86_64                     3/15 
      验证中      : nspr-4.34.0-3.1.el7_9.x86_64                       4/15 
      验证中      : firefox-91.13.0-1.el7.centos.x86_64                5/15 
      验证中      : nss-sysinit-3.79.0-4.el7_9.x86_64                  6/15 
      验证中      : nss-softokn-3.79.0-4.el7_9.x86_64                  7/15 
      验证中      : nss-3.79.0-4.el7_9.x86_64                          8/15 
      验证中      : nss-softokn-freebl-3.44.0-8.el7_7.x86_64           9/15 
      验证中      : nss-sysinit-3.44.0-7.el7_7.x86_64                 10/15 
      验证中      : nss-tools-3.44.0-7.el7_7.x86_64                   11/15 
      验证中      : nss-3.44.0-7.el7_7.x86_64                         12/15 
      验证中      : nss-util-3.44.0-4.el7_7.x86_64                    13/15 
      验证中      : nspr-4.21.0-1.el7.x86_64                          14/15 
      验证中      : nss-softokn-3.44.0-8.el7_7.x86_64                 15/15 
    
    已安装:
      firefox.x86_64 0:91.13.0-1.el7.centos                                 
    
    作为依赖被升级:
      nspr.x86_64 0:4.34.0-3.1.el7_9                                        
      nss.x86_64 0:3.79.0-4.el7_9                                           
      nss-softokn.x86_64 0:3.79.0-4.el7_9                                   
      nss-softokn-freebl.x86_64 0:3.79.0-4.el7_9                            
      nss-sysinit.x86_64 0:3.79.0-4.el7_9                                   
      nss-tools.x86_64 0:3.79.0-4.el7_9                                     
      nss-util.x86_64 0:3.79.0-1.el7_9                                      
    
    完毕!
    [root@centos7:101 Packages]# rpm -qa | grep firefox
    firefox-91.13.0-1.el7.centos.x86_64
    [root@centos7:101 Packages]# yum list | grep firefox
    firefox.x86_64                            91.13.0-1.el7.centos         @updates 
    firefox.i686                              91.13.0-1.el7.centos         updates 
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61
    • 62
    • 63
    • 64
    • 65
    • 66
    • 67
    • 68
    • 69
    • 70
    • 71
    • 72
    • 73
    • 74
    • 75
    • 76
    • 77
    • 78
    • 79
    • 80
    • 81
    • 82
    • 83
    • 84
    • 85
    • 86
    • 87
    • 88
    • 89
    • 90
    • 91
    • 92
    • 93
    • 94
    • 95
    • 96
    • 97
    • 98
    • 99
    • 100
    • 101
    • 102
    • 103
    • 104
    • 105
    • 106
    • 107
    • 108
    • 109
    • 110
    • 111
    • 112
    • 113
    • 114
    • 115
    • 116
    • 117
    • 118
    • 119
    • 120
    • 121
    • 122

    9.2.3 修改网络 YUM 源

    默认的系统 YUM 源,需要连接国外 apache 网站,网速比较慢,可以修改关联的网络YUM 源为国内镜像的网站,比如网易 163,aliyun 等,但是CentOS会根据ip自动更改为附近服务器下载镜像。
    1)安装 wget, wget 用来从指定的 URL 下载文件

    [root@hadoop101 ~] yum install wget
    
    • 1

    2)在/etc/yum.repos.d/目录下,备份默认的 repos 文件, [root@hadoop101 yum.repos.d] pwd/etc/yum.repos.d

    [root@hadoop101 yum.repos.d] cp CentOS-Base.repo CentOS-Base.repo.backup
    
    • 1

    3)下载网易 163 或者是 aliyun 的 repos 文件,任选其一

    [root@hadoop101 yum.repos.d] wget
    http://mirrors.aliyun.com/repo/Centos-7.repo //阿里云
    [root@hadoop101 yum.repos.d] wget
    http://mirrors.163.com/.help/CentOS7-Base-163.repo //网易 163
    
    • 1
    • 2
    • 3
    • 4

    4)使用下载好的 repos 文件替换默认的 repos 文件
    例如:用 CentOS7-Base-163.repo 替换 CentOS-Base.repo

    [root@hadoop101 yum.repos.d]# mv CentOS7-Base-163.repo CentOS-Base.repo
    
    • 1

    5)清理旧缓存数据,缓存新数据

    [root@hadoop101 yum.repos.d]#yum clean all
    [root@hadoop101 yum.repos.d]#yum makecache
    
    • 1
    • 2

    yum makecache 就是把服务器的包信息下载到本地电脑缓存起来
    6)测试

    [root@hadoop101 yum.repos.d]# yum list | grep firefox
    [root@hadoop101 ~]#yum -y
    
    • 1
    • 2

    9.3 企业真实面试题

    9.3.1 百度&考满分

    问题:Linux 常用命令
    参考答案:find、df、tar、ps、top、netstat 等。(尽量说一些高级命令)

    9.3.2 瓜子二手车

    问题:Linux 查看内存、磁盘存储、io 读写、端口占用、进程等命令
    答案:
    1、查看内存:top
    2、查看磁盘存储情况:df -h
    3、查 看磁盘 IO 读写情况:iotop(需要安装一下:yum install iotop)、iotop -o(直接查看输出比较高的磁盘读写程序)
    4、查看端口占用情况:netstat -tunlp | grep 端口号
    5、查看进程:ps -au

  • 相关阅读:
    C++对象模型(13)-- 构造函数语义学:析构函数
    [ANT]apache ant 安装说明
    [博弈]Swap Game Codeforces1747C
    利用I/O多路复用系统调用select实现一个高效服务器模型
    决策树算法在计算机视觉中的应用附matlab代码
    ElasticSearch8 - SpringBoot整合ElasticSearch
    HarmonyOS鸿蒙原生应用开发设计- 华为分享图标
    (二)安装SVN服务器,web管理界面
    Javascript 教程
    前端学习用到的一些工具网站
  • 原文地址:https://blog.csdn.net/zhao854116434/article/details/128065947