9、软件包管理

news2025/2/25 13:31:59

文章目录

  • 9、软件包管理
    • 9.1 RPM
      • 9.1.1 RPM 概述
      • 9.1.2 RPM 查询命令(rpm -qa)
      • 9.1.3 RPM 卸载命令(rpm -e)
      • 9.1.4 RPM 安装命令(rpm -ivh)
    • 9.2 YUM 仓库配置
      • 9.2.1 YUM 概述
      • 9.2.2 YUM 的常用命令
      • 9.2.3 修改网络 YUM 源
    • 9.3 企业真实面试题
      • 9.3.1 百度&考满分
      • 9.3.2 瓜子二手车


尚硅谷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

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 

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%]

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 

9.2.3 修改网络 YUM 源

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

[root@hadoop101 ~] yum install wget

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

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

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

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

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

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

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

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/40471.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Linux系统中基本的启动方式

大家好, 今天主要和大家聊一聊,Linux系统的启动方式有哪些? 目录 第一:启动方式基本简介 第二​:启动模式的选择 第一:启动方式基本简介 Linux系统支持多种启动方式,可以从SD/EMMC、NAND Flas…

Jumperserver堡垒机管理服务器实战

一、 Jumpserver堡垒机简介 1、跳板机简介 跳板机就是一台服务器,开发或运维人员在维护过程中首先要统一登录到这台服务器,然后再登录到目标设备进行维护和操作。 跳板机缺点:没有实现对运维人员操作行为的控制和审计,使用跳板机的过程中还是会出现误操作、违规操作导致的…

Vue实现角色权限动态路由详细教程,在vue-admin-template基础上修改,附免费完整项目代码

前言 vue-admin-template是一个最基础的后台管理模板,只包含了一个后台需要最基础的东西,如果clone的是它的master分支,是没有权限管理的,只有完整版vue-element-admin有这个功能,但是为了小小的一个权限管理而用比较…

java框架 Spring之 AOP 面向切面编程 切入点表达式 AOP通知类型 Spring事务

AOP(Aspect Oriented Programming)面向切面编程,一种编程范式,指导开发者如何组织程序结构 作用:在不惊动原始设计的基础上为其进行功能增强 Spring理念:无入侵式/无侵入式 我们在不修改源代码的时候,为了执行另外的…

idea如何快速找到项目中对应的类(包括源码)

文章目录1. 前言2. 先说结论3. idea的全局搜索功能 MethodValidation4. 搜索spring源码(例子)1. 前言 最近在看某些功能的时候,会去看对应的源码,而有时候只知道类名,不知道从哪里进入源码,因此就比较好奇,idea的全局…

JAVA类加载器

JAVA是一种解释型语言,也就是一种边解释边执行的语言。JAVA所有源代码在执行之前,先要被编译成class文件,然后类加载器加载解析class文件,最后才执行。 JVM自带了几个类型的类加载器,JVM使用分层的软件架构方式设计类…

蜂鸟E203学习笔记(二)--蜂鸟E203总体框架

蜂鸟E203总体框架 蜂鸟E203处理器系统如下图所示 一、蜂鸟E203处理器核设计总览和顶层 1.1 蜂鸟E203处理器核的设计理念 模块化和可重用性:将处理器分成几个主体模块,每个单元之间的接口简单清晰。面积最小化:追求低功耗和小面积&#x…

DS18B20

一、DS18B20初始化时序图 (1) 先将数据线置高电平“1”。 (2) 延时(该时间要求的不是很严格,但是尽可能的短一点)。 (3) 数据线拉到低电平“0”。 (4&#xf…

【配送路径规划】基于matlab遗传算法求解静态外卖骑手路径规划问题【含Matlab源码 2248期】

⛄一、遗传算法求解静态外卖骑手路径规划问题 1 模型假设 外卖配送的实际运行是一个复杂的过程, 受诸多因素影响, 为了建立调度模型, 本文做如下假设。 (1) 外卖配送更多的是服务特殊群体, 所以本文认为外卖配送是一种预约型配送, 即在进行调度安排前, 己经获取了所有顾客的地…

Java并发-生产者消费者实现

生产者与消费者模型介绍 定义: 生产者消费者模式是一个十分经典的多线程并发协作的模式。 意义:弄懂生产者消费者问题能够让我们对并发编程的理解加深。 介绍:所谓生产者 - 消费者问题,实际上主要是包含了两类线程,…

Python面向对象编程之对象行为与特殊方法

面向对象编程之对象行为与特殊方法 python中的对象通常根据它们的行为和实现的功能进行分类。例如,所有序列类型都分在一组,如字符串,列表和元组,就是因为它们都支持一组相同的序列操作,如s[n], len[s]等。 所有基本…

【学习总结】LSD-SLAM配置与运行记录

今天安装测试了LSD-SLAM,记录配置中遇到的问题。 LSD-SLAM论文 LSD-SLAM: Large-Scale Direct Monocular SLAM, J. Engel, T. Schps, D. Cremers, ECCV 14 Semi-Dense Visual Odometry for a Monocular Camera, J. Engel, J. Sturm, D. Cremers, ICCV 13 配置环境…

SpringBoot实现多数据源(四)【集成多个 Mybatis 框架】

上一篇文章《SpringBoot实现多数据源&#xff08;三&#xff09;【AOP 自定义注解】》 四、集成多个 Mybatis 框架 实现步骤 创建一个 dynamic_mybatis 的springboot项目&#xff0c;导入依赖 pom.xml <dependencies><!--jdbc--><dependency><groupId…

Fiddler抓取手机app包

文章目录1. 配置fiddler1.1 下载fiddler1.2 配置fiddler2. 安装证书2.1 查询主机ip2.2下载证书2.3 手机安装证书2.4 查询安装的证书3. 手机设置代理4. 测试是否抓包成功大前提&#xff1a;手机和Fiddler所在的主机在同一网段&#xff0c;且能够互相访问 1. 配置fiddler 1.1 下…

第三十八篇 Vue中封装Swiper组件 2.0

上一篇内容讲到封装Swiper组件的一个过程&#xff0c;如果是静态的数据封装组件初始化在mounted当中并无多大影响&#xff0c;但是这样封装的组件复用性较低或者可能只使用一次&#xff0c;那么在动态使用通过ajax请求数据需要面临的是swiper初始化过早的问题&#xff0c;在mou…

【车间调度】基于matlab混合蛙跳算法 (SFLA) 求解简单调度问题【含Matlab源码 2247期】

⛄一、车间调度简介 在传统的SFLA中&#xff0c;每一个青蛙的位置代表一个解&#xff0c;若干个青蛙组成的种群代表一个解的集合&#xff0c;种群被划分为不同的组&#xff0c;即模因组&#xff0c;对每个模因组执行搜索过程&#xff0c;当达到终止条件后&#xff0c;重新将模…

编译原理13:SLR(1)分析表、LR(1)分析表

更强的LR分析 可以根据当前单词&#xff0c;来选择是移进还是归约。只要所有移进项目中的点后面的那些终结符&#xff0c;与归约项目生成的非终结符的Follow集合的元素没有重叠。若当前单词属于上述Follow集合里则规约 SLR(1)冲突解决办法 SLR(1)分析表的构造 SLR(1)分析表的构…

001. 组合

1.题目链接&#xff1a; 77. 组合 2.大概思路&#xff1a; 2.1题目要求&#xff1a; 给两个值 n 和 k &#xff0c;要求从[1&#xff0c;n]的区间中&#xff0c;输出所有元素数量为k的组合。&#xff08;不能有[1,1]&#xff0c;值只能取一次&#xff09; 2.2思路&#xff…

(十七)Spring6整合JUnit

文章目录环境Spring对JUnit4的支持Spring对JUnit5的支持上一篇&#xff1a;&#xff08;十六&#xff09;Spring对事务的支持 环境 spring6里程碑版本的仓库 依赖&#xff1a;spring context依赖、spring对junit的支持相关依赖、junit4依赖、junit5依赖 <!--配置多个仓库-…

Spring【Spring的创建与使用】

Spring【Spring的创建项目与使用】&#x1f34e;一.Spring创建项目&#x1f352;1.1 创建⼀个 Maven 项⽬&#x1f352;1.2 添加 Spring 框架⽀持&#x1f352;1.3 添加启动类&#x1f34e;二.Bean对象的存储与获取&#x1f352;2.1 存储 Bean 对象&#x1f349; 2.1.1 创建 Be…