【Linux精讲系列】——yum软件包管理

作者主页

📚lovewold少个r博客主页

   ⚠️本文重点Linux系统软件包管理工具yum讲解

😄每日一言:踏向彼岸的每一步,都是到达彼岸本身。

目录

前言

 Linux系统下的软件下载方式

yum

查看软件包

如何安装软件

如何卸载软件

yum下载源

更换yum源(以阿里云为例)

下载新的 CentOS-Base.repo 到 /etc/yum.repos.d/

运行 yum makecache 生成缓存

总结


前言

        无论是使用Windows还是使用安卓手机,我们的生活越来越方便离不开软件的支持。在Windows中,我们能通过软件商店或者各种各样的平台下载想要的软件来支撑自己更加舒服的使用电脑。而软件商店的出现,起一个中间管理的身份,处于客户端和服务商之间的一个平台。对于每一个使用自家设备的用户,要想保证用户体验就得避免垃圾软件和捆绑下载。

        相比较通过第三方下载的无保障,各家的软件商店起到一个分类集合以及甄别的过程,特别是对于p2p下载方式的软件。自带各家产品经理跑到用户电脑进行捆绑安装,这种流氓行为只会引起用户的投诉,要想保证软件的合理安装,各家的软件商店就得保障软件的安全可靠问题。而yum也就是Linux系统的软件管理工具。

 Linux系统下的软件下载方式

        对于一款系统,支持软件生态是必须的,Linux系统下也可以安装软件。

        一种方式是下载程序的源代码,自行编译,得到可执行程序。但是这种方式是有极大的风险的,源代码虽然可以观察,但是也可能留各种bug漏洞引起系统问题。同时对于使用者来讲,需要自行编译,这种方式是非常复杂的。

        于是有人就把一些常用的软件提前编译好,做成软件包,放在一个服务器上,通过包管理器可以很方便的获取到这个已经编译好的软件直接安装。

         yum (Yellow dog Updater,Modified) 是Linux系统下一种非常常用的包管理器,主要应用在Fedora,RedHat,Centos等发行版上。

        基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载、安装。

         yum 提供了查找、安装、删除某一个、一组甚至全部软件包的命令,而且命令简洁而又好记。

yum

查看软件包

使用yum所有操作之前,首先要保证主机或者虚拟机网络畅通。

通过 ping 指令验证网络是否联通。

ping www.baidu.cow

通过 yum list 命令可以罗列当前一共有哪些软件包,由于包的数目非常多,我们需要使用 grep 命令罗列我们关注的包,例如:

yum list | grep lrzsz

结果如下:

显示结果的软件信息展示主要包含以下内容:

  • 软件包名称.主版本号.次版本号.源代码发行号-软件包的发行号.主机平台.cup架构
  • "x86_64"后缀表示64位系统的安装包,"i686"后缀表示32位系统的安装包,选择软件包的时候要与系统匹配。
  • "el7"表示操作系统的版本,"el7"表示的是centos7/redhat7,"el6"表示centos6/redhat6。
  • 最后一列,@os表示的是"软件源"的名称,类似于"小米应用商店","华为应用商店"这样的概念。

如何安装软件

通过yum,我们通过一条很简单的命令完成sl的安装。

sudo yum install sl

结果如下:

接着系统会确定是否安装,输入y确定安装即可。

出现Complete!就表示安装成功

注意事项

  •         安装软件一般需要向系统目录写入文件,因此权限上需要使用sudo指令或者切换到root账户下才能完成。
  •         yum安装软件只能安装完一个后再安装另一个,如果安装过程中尝试安装另一个yum会报错

如何卸载软件

sl为卸载软件名,我这里卸载的是sl软件。

sudo yum remove sl

yum下载源

        下载软件除了指定的部分来源,还有很多下载的地方。好比去商店买水,不是每一家都买的有一块钱的矿泉水,而yum的下载源也不止一个。

        我们知道Linux作为一个开源平台,维护和大部分系统贡献者是国外的程序员。大部分软件都是国外程序员写的,因此我们不一定能访问到他们发布的软件源。同时CentOS自带yum仓库源网址是国外的网址,所以从国内下载国外网址的rpm包有时候会很慢或者无法下载,这时可以更换国内的yum仓库源来解决这个问题。因此,为了避免软件下载缓慢和下载软件厂商不能访问到,国内将这些软件包进行集中整理,形成了不同的下载源。

国外的yum源访问速度较慢,一般情况下建议替换成国内的免费yum源。国内提供了不少优秀的yum源,例如:

  • 搜狐开源镜像站:http://mirrors.sohu.com/
  • 网易开源镜像站:http://mirrors.163.com/
  • 中国科学技术大学:   http://mirrors.ustc.edu.cn/
  • 清华大学: http://mirrors.tuna.tsinghua.edu.cn/
  • 电子科技大学:http://ubuntu.uestc.edu.cn/

更换yum源(以阿里云为例)

进入/etc/yum.repos.d目录下,可以查看yum源文件。

cd /etc/yum.repos.d

结果如下:

备份

mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup

下载新的 CentOS-Base.repo 到 /etc/yum.repos.d/

下载需要对应Linux系统版本我这里是Centos7

wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo

结果如下:

运行 yum makecache 生成缓存

yum clean all
yum makecache 

结果如下:


总结

        yum(Yellowdog Updater, Modified)是一个在Linux系统中用于管理软件包的包管理工具。它通常用于基于Red Hat的发行版,如Fedora和CentOS。以下是一些常见的Yum指令及其用途的总结:

1. 安装软件包: 用于安装指定软件包及其依赖项。

yum install package_name

2. 升级软件包:用于更新特定软件包。

 yum update package_name

3. 升级系统中的所有软件包:用于更新系统中的所有软件包和依赖项。

yum update

4. 搜索软件包: 用于在仓库中搜索与关键字匹配的软件包。

yum search keyword

5. 列出已安装的软件包:用于列出系统上已安装的软件包。

yum list installed

6. 列出可用的软件包: 用于列出仓库中所有可用的软件包。

yum list available

7. 删除软件包:用于卸载指定的软件包。

yum remove package_name

8. 清理缓存:用于清理已下载的软件包文件。

yum clean packages

9. 显示软件包信息: 用于显示特定软件包的详细信息,包括版本、依赖关系等。

yum info package_name

10. 禁用或启用仓库:用于禁用或启用特定仓库,可以帮助管理软件包源。

yum-config-manager --disable repository_name
yum-config-manager --enable repository_name

11. 清除所有事务:用于清除Yum事务的缓存,可以用于解决一些包管理问题。

yum clean all

12. 检查依赖关系:用于列出指定软件包的依赖关系。

yum deplist package_name

        这些是一些常见的yum指令,用于在Linux系统上管理软件包。yum提供了强大的包管理功能,使您可以轻松地安装、更新和卸载软件包,并处理它们之间的依赖关系。


    作者水平有限,如有错误欢迎指正!


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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Apollo上机实践:一次对自动驾驶技术的亲身体验

上机实践 概述自动驾驶通信分布式系统开发模式开发工具 自动驾驶感知传感器特性感知流程及算法部署感知模型 自动驾驶决策规划决策规划流程和算法使用 Dreamview 进行控制在环的规划调试开发规划场景和算法 福利活动 主页传送门:📀 传送 概述 Apollo 是…

网络协议--TCP的交互数据流

19.1 引言 前一章我们介绍了TCP连接的建立与释放,现在来介绍使用TCP进行数据传输的有关问题。 一些有关TCP通信量的研究如[Caceres et al. 1991]发现,如果按照分组数量计算,约有一半的TCP报文段包含成块数据(如FTP、电子邮件和U…

阿里云的OSS云存储的基本使用

阿里云官网:阿里云-计算,为了无法计算的价值 通过阿里云官网,登录进入用户的界面,在搜索框中输入OSS,然后进入阿里云的对象存储OSS的控制台。(未开通的开通即可) 创建 Bucket 点击【Bucket 列…

车载电子电器架构 —— 基于AP定义车载HPC

我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 屏蔽力是信息过载时代一个人的特殊竞争力,任何消耗你的人和事,多看一眼都是你的不对。非必要不费力证明自己,无利益不试图说服别人,是精神上的节…

基于物联网、大数据、云计算、人工智能等技术的智慧工地源码(Java+Spring Cloud +UniApp +MySql)

智慧工地是指利用物联网、大数据、云计算、人工智能等技术手段,为建筑施工现场提供智能硬件及物联网平台的解决方案,实现建筑工地的实时化、可视化、多元化、智慧化、便捷化。智慧工地的建设目标是实现全天候的管理监控,提高施工效率和质量&a…

【OpenCV实现图像找到轮廓的不同特征,就像面积,周长,质心,边界框等等。】

文章目录 概要图像矩凸包边界矩形 概要 OpenCV是一个流行的计算机视觉库,它提供了许多图像处理和分析功能,其中包括查找图像中物体的轮廓。通过查找轮廓,可以提取许多有用的特征,如面积、周长、质心、边界框等。 以下是几种使用…

AI:41-基于基于深度学习的YOLO模型的玉米病害检测

🚀 本文选自专栏:AI领域专栏 从基础到实践,深入了解算法、案例和最新趋势。无论你是初学者还是经验丰富的数据科学家,通过案例和项目实践,掌握核心概念和实用技能。每篇案例都包含代码实例,详细讲解供大家学习。 📌📌📌本专栏包含以下学习方向: 机器学习、深度学…

mac系统u盘启动盘制作教程,更新至macOS Sonoma 14

mac系统怎么制作装系统的u盘,如果您要在多台电脑上安装 macOS,而又不想每次都下载安装器,这时可引导安装器就会很有用。一起来看苹果电脑u盘启动盘制作教程吧。 Macos系统安装包合集包揽macos 10.15,macos 11和苹果最新系统等多个版本 1、A…

SSH 无密登录设置

1 ) 配置 ssh (1)基本语法 ssh 另一台电脑的 IP 地址(2)ssh 连接时出现 Host key verification failed 的解决方法 [libaihadoop102 ~]$ ssh hadoop103 ➢ 如果出现如下内容 Are you sure you want to continue c…

利用远程IO模块,轻松驾驭食品包装生产的自动化

常见的自动化包装系统,它的核心部分通常由一系列高端设备组成,包括自动开箱机、自动封箱机、自动捆扎机、装箱机器人、码垛机器人等。这些设备协同工作,形成一条高效运转的生产线,从开箱到装箱,再到码垛,每…

__attribute__中的constructor和destructor--如何让程序退出时调用指定函数

背景 假设你在开发一个基础组件x,然后你设计了一个x_init接口用来初始化这个组件,相应地你设计了一个x_deinit来去初始化。这样其它模块要用到这个组件时,先调一下x_init, 用完了再调一下x_deinit。init和deinit这是一对很常见的接口&#x…

贪心算法学习——最长单调递增子序列

目录 ​编辑 一,题目 二,题目接口 三,解题思路和代码 一,题目 给你一个整数数组 nums ,找到其中最长严格递增子序列的长度。 子序列 是由数组派生而来的序列,删除(或不删除)数组…

钡铼技术ARM工控机在机器人控制领域的应用

ARM工控机是一种基于ARM架构的工业控制计算机,用于在工业自动化领域中进行数据采集、监控、控制和通信等应用。ARM(Advanced RISC Machine)架构是一种低功耗、高性能的处理器架构,广泛应用于移动设备、嵌入式系统和物联网等领域。…

Linux高级命令(扩展)

一、find命令 1、find命令作用 在Linux操作系统中,find命令主要用于进行文件的搜索。 2、基本语法 # find 搜索路径 [选项 选项的值] ... 选项说明: -name :根据文件的名称搜索文件,支持*通配符 -type :f代表普通文…

笔记本电脑的键盘鼠标如何共享控制另外一台电脑

环境: 联想E14 x2 Win10 across 2.0 问题描述: 笔记本电脑的键盘鼠标如何共享控制另外一台电脑 解决方案: 1.下载across软件,2台电脑都按装,一台设为服务端,一台客户端 2.把配对好设备拖到右边左侧…

【C语言实现扫雷小游戏——可展开一片】

文章目录 1. 游戏分析和设计1.1扫雷游戏的功能说明1.2数据结构的分析与设计 2.代码实现2.1基本框架2.2初始化棋盘2.3打印棋盘2.4布置雷2.4统计周围雷的个数2.5排查雷2.6展开一片 3.完成代码3.1game.h3.2 game.c3.3test.c 学习完了函数和数组,让我们做个扫雷小游戏巩…

JS中的元编程

ES6(ECMAScript 2015)新增了对 Reflect 和 Proxy 对象的支持,使得我们能够便捷地进行元编程。让我们通过示例来学习它们的用法。 1、什么是元编程 元编程 无异于 编程中的魔法!如果编写一个“能够读取、修改、分析、甚至生成新程…

【Linux】rpm和yum的使用

不知道是不是有和我一样的宝子们,在rpm上卡了老久老久,但其实搞通了,理解了原理之后,不难的,所以不管你现在遇到的困难是什么,都不要放弃,一定要坚持,加油。 一、rpm 1.rpm rpm的…

单例模式及其使用场景

单例模式(Singleton):指在一个系统中某个类只存在一个实例,类中自行实例化,实例向该系统提供统一的访问接口。 单例模式有两种表现形式,饿汉式:类加载时,就进行实例化;懒…

案例分析真题-系统建模

案例分析真题-系统建模 2009年真题 【问题1】 【问题2】 【问题3】 2012年真题 【问题1】 【问题2】 【问题3】 2014年真题 【问题1】 【问题2】 骚戴理解:这个题目以前经常考,不知道今年会不会考,判断的话就是看加工有没有缺少输入和输出&a…