【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提供了强大的包管理功能,使您可以轻松地安装、更新和卸载软件包,并处理它们之间的依赖关系。
作者水平有限,如有错误欢迎指正!
相关文章:

【Linux精讲系列】——yum软件包管理
作者主页 📚lovewold少个r博客主页 ⚠️本文重点:Linux系统软件包管理工具yum讲解 😄每日一言:踏向彼岸的每一步,都是到达彼岸本身。 目录 前言 Linux系统下的软件下载方式 yum 查看软件包 如何安装软件 如何卸…...

浅谈一下Vue3的TreeShaking特性
什么是Treeshaking? Treeshaking是一个术语,通常用于描述移除JavaScript中无用代码的过程。 在Vue3中,借助于它的编译优化,可以显著减少打包后的大小。 Vue3的Treeshaking实现 Vue3中的Treeshaking主要通过以下两点实现: 源码级的Tree-shaking Vue3源码采用ES mo…...

【牛牛送书 | 第二期】《ChatGPT 驱动软件开发:AI 在软件研发全流程中的革新与实践》
目录 前言: 本书目录: 内容简介: 专家评价: 适合对象: 送书规则: 前言: 现如今,随着计算机技术的不断发展和互联网的普及,我们已经迈入了一个高效的信息处理和传…...
Qt基础之三十九:Qt Creator调试技巧
目录 一.开始调试(F5) 二.调试dll 1.Attach to Running Application 2.Attach to Unstarted Application 3.Start and Debug External Application...
Docker Nginx安装使用以及踩坑点总结
Docker Nginx安装使用以及踩坑点总结 拉取nginx镜像 docker pull nginx:latest运行镜像 暂时不需要配置volume挂载 docker run --name nginx -p 80:80 -d nginx参数详解: --name nginx 指定容器的名称 -p 80:80 映射端口 -d 守护进程运行 创建volume目录 mk…...

单位建数字档案室的意义和作用
单位建立数字档案室的意义和作用包括: 1.提高档案管理效率。数字档案室可以高效地收集、整理和存储电子文档,通过数字化处理,文档的查找和检索速度大幅提升。 2.降低管理成本。数字档案室可以通过节约空间和人力成本,降低管理成本…...

JavaWeb——关于servlet种mapping地址映射的一些问题
6、Servlet 6.4、Mapping问题 一个Servlet可以指定一个映射路径 <servlet-mapping><servlet-name>hello</servlet-name><url-pattern>/hello</url-pattern> </servlet-mapping>一个Servlet可以指定多个映射路径 <servlet-mapping>&…...

NTRU 加密方案
参考文献: [Rivest97] Rivest R L. All-or-nothing encryption and the package transform[C]//Fast Software Encryption: 4th International Workshop, FSE’97 Haifa, Israel, January 20–22 1997 Proceedings 4. Springer Berlin Heidelberg, 1997: 210-218.[…...
第一章前端开发ES6基础
认识ES6 概述 ES6表示ECMAScript规范的第六版,正式名称为ECMAScript 2015,ECMAScript是由ECMA国际标准组织制定的一项脚本语言的标准规范化,引入了许多新特性和语法。 其中包括箭头函数、let和const声明、类、模板字符串、解构赋值、参数默…...

【算法练习Day30】无重叠区间 划分字母区间合并区间
📝个人主页:Sherry的成长之路 🏠学习社区:Sherry的成长之路(个人社区) 📖专栏链接:练题 🎯长路漫漫浩浩,万事皆有期待 文章目录 无重叠区间划分字母区间合并…...

Linux部署Redis哨兵集群 一主两从三哨兵(这里使用Redis6,其它版本类似)
目录 一、哨兵集群架构介绍二、下载安装Redis2.1、选择需要安装的Redis版本2.2、下载并解压Redis2.3、编译安装Redis 三、搭建Redis一主两从集群3.1、准备配置文件3.1.1、准备主节点6379配置文件3.1.2、准备从节点6380配置文件3.1.3、准备从节点6381配置文件 3.2、启动Redis主从…...

VR结合|山海鲸虚拟展厅解决方案
方案背景 虚拟现实技术是另一项革命性的创新,它可以将用户带入一个完全虚拟的环境中。借助VR头盔和控制器,用户可以亲临虚拟现实中,与数字世界互动,仿佛置身于其中。 山海鲸根据用户实际需求变化将数字孪生与虚拟现实技术相结合…...

记一次企业微信的(CorpID)和密钥(Secret)泄漏的利用案例
文章目录 一、介绍二、利用过程1、获取AccessToken2、获取企业微信接口IP段3、获取企业微信回调IP段4、通过部门ID,查看返回的ID5、通过部门ID,查看用户列表6、通过便利ID,发现用户信息泄露,可以进行提交报告7、通过添加接口,添加企业账号8、登陆企业账号进行测试三、参考…...

使用Selenium和Java编写爬虫程序
以下是一个使用Selenium和Java编写的音频爬虫程序,该程序使用了proxy的代码。请注意,这个示例需要在IDE中运行,并且可能需要根据您的系统和需求进行调整。 import java.io.IOException; import java.util.List; import java.util.concurrent…...
【Java】PAT Basic Level 1023 组个最小数
题目 1024 组个最小数 作者 CAO, Peng 单位 Google 给定数字 0-9 各若干个。你可以以任意顺序排列这些数字,但必须全部使用。目标是使得最后得到的数尽可能小(注意 0 不能做首位)。例如:给定两个 0,两个 1ÿ…...
Redis中设置Hash数据类型的过期时间
1 方案 可以先对key进行赋值,然后对key设置一个过期时间。 (1)依赖 <dependency><groupId>redis.clients</groupId><artifactId>jedis</artifactId><version>2.7.3</version></dependency>…...

你真的了解CPU和GPU?
目录 先举个栗子 CPU 什么是CPU CPU的定义 CPU的组成 CPU的功能 GPU 什么是GPU GPU的定义 GPU的组成 GPU的功能 CPU和GPU的区别 先举个栗子 假设你正在编辑一份文档,这时可以将CPU和GPU的角色比喻为文档编辑过程中的两个不同任务。 1. CPU CPU就好比是…...

HarmonyOS开发:NodeJs脚本实现组件化动态切换
前言 上篇文章,我们使用NodeJs脚本完成了HarmonyOS项目的组件化运行,但是由于脚本是基于4.0.0.400版本的DevEco Studio开发的,可能在配置文件的修改上有些许差距,那么遇到这种情况怎么办,一种是再写一套针对性的脚本文…...

基于springboot实现就业信息管理系统项目【项目源码+论文说明】计算机毕业设计
基于springboot实现就业信息管理系统演示 摘要 随着信息化时代的到来,管理系统都趋向于智能化、系统化,就业信息管理系统也不例外,但目前国内仍都使用人工管理,市场规模越来越大,同时信息量也越来越庞大,人…...
Vue组件的本质和手写通过render渲染函数渲染组件
1.组件的本质 组件就是一组 DOM 元素的封装,本质就是一个对象 (mounted函数中打印一下组件即可看到打印的是一个对象) 如何利用javascript对象来描述一个组件? const MyComponent {render() {return {tag: div,props: {onClick: () > alert(hell…...

超短脉冲激光自聚焦效应
前言与目录 强激光引起自聚焦效应机理 超短脉冲激光在脆性材料内部加工时引起的自聚焦效应,这是一种非线性光学现象,主要涉及光学克尔效应和材料的非线性光学特性。 自聚焦效应可以产生局部的强光场,对材料产生非线性响应,可能…...

什么是库存周转?如何用进销存系统提高库存周转率?
你可能听说过这样一句话: “利润不是赚出来的,是管出来的。” 尤其是在制造业、批发零售、电商这类“货堆成山”的行业,很多企业看着销售不错,账上却没钱、利润也不见了,一翻库存才发现: 一堆卖不动的旧货…...
OpenPrompt 和直接对提示词的嵌入向量进行训练有什么区别
OpenPrompt 和直接对提示词的嵌入向量进行训练有什么区别 直接训练提示词嵌入向量的核心区别 您提到的代码: prompt_embedding = initial_embedding.clone().requires_grad_(True) optimizer = torch.optim.Adam([prompt_embedding...

基于SpringBoot在线拍卖系统的设计和实现
摘 要 随着社会的发展,社会的各行各业都在利用信息化时代的优势。计算机的优势和普及使得各种信息系统的开发成为必需。 在线拍卖系统,主要的模块包括管理员;首页、个人中心、用户管理、商品类型管理、拍卖商品管理、历史竞拍管理、竞拍订单…...
在鸿蒙HarmonyOS 5中使用DevEco Studio实现企业微信功能
1. 开发环境准备 安装DevEco Studio 3.1: 从华为开发者官网下载最新版DevEco Studio安装HarmonyOS 5.0 SDK 项目配置: // module.json5 {"module": {"requestPermissions": [{"name": "ohos.permis…...
在golang中如何将已安装的依赖降级处理,比如:将 go-ansible/v2@v2.2.0 更换为 go-ansible/@v1.1.7
在 Go 项目中降级 go-ansible 从 v2.2.0 到 v1.1.7 具体步骤: 第一步: 修改 go.mod 文件 // 原 v2 版本声明 require github.com/apenella/go-ansible/v2 v2.2.0 替换为: // 改为 v…...
[USACO23FEB] Bakery S
题目描述 Bessie 开了一家面包店! 在她的面包店里,Bessie 有一个烤箱,可以在 t C t_C tC 的时间内生产一块饼干或在 t M t_M tM 单位时间内生产一块松糕。 ( 1 ≤ t C , t M ≤ 10 9 ) (1 \le t_C,t_M \le 10^9) (1≤tC,tM≤109)。由于空间…...
node.js的初步学习
那什么是node.js呢? 和JavaScript又是什么关系呢? node.js 提供了 JavaScript的运行环境。当JavaScript作为后端开发语言来说, 需要在node.js的环境上进行当JavaScript作为前端开发语言来说,需要在浏览器的环境上进行 Node.js 可…...

算法—栈系列
一:删除字符串中的所有相邻重复项 class Solution { public:string removeDuplicates(string s) {stack<char> st;for(int i 0; i < s.size(); i){char target s[i];if(!st.empty() && target st.top())st.pop();elsest.push(s[i]);}string ret…...
写一个shell脚本,把局域网内,把能ping通的IP和不能ping通的IP分类,并保存到两个文本文件里
写一个shell脚本,把局域网内,把能ping通的IP和不能ping通的IP分类,并保存到两个文本文件里 脚本1 #!/bin/bash #定义变量 ip10.1.1 #循环去ping主机的IP for ((i1;i<10;i)) doping -c1 $ip.$i &>/dev/null[ $? -eq 0 ] &&am…...