当前位置: 首页 > news >正文

Linux软件包管理器 yum

目录

0.前言

1.什么是软件包

2.rz和sz

2.1rz命令

2.2sz命令

2.3操作示例

3.安装前注意事项

3.1保证网络畅通

3.2确保权限

3.3配置软件仓库

3.4 检查系统更新

4.查看软件包

5.安装软件

5.1作为root用户安装软件

5.2作为非root用户安装软件

5.3注意事项

6.卸载软件

6.1使用yum卸载软件包

6.2注意事项

7.结语


(图像由AI生成) 

0.前言

在前面的章节中,我们详细介绍了Linux的基本指令和权限管理,这为我们理解和操作Linux系统打下了坚实的基础。接下来,我们将继续深入探讨Linux系统中的重要组成部分——软件包管理器yum。yum(Yellowdog Updater, Modified)是一个开源的、基于RPM的软件包管理工具,它不仅能够简化软件的安装、更新和删除过程,还可以自动解决软件包之间的依赖关系,极大地方便了系统管理员和开发人员的日常工作。本节内容将在CentOS 7.6版本的操作系统和shell 7软件环境中进行展示,旨在帮助读者熟悉和掌握yum的基本使用方法,提高在Linux系统中管理软件包的效率和能力。无论是初学者还是有经验的Linux用户,都能从中获得有益的知识和实用的技巧。

1.什么是软件包

在Linux系统中,软件包(Package)是指包含特定应用程序或功能模块的压缩文件,这些文件通常包括可执行文件、配置文件、库文件以及相关文档。安装软件包可以显著简化软件的安装和管理过程。在Linux下安装软件,一个常见的方法是下载程序的源代码,并进行编译,得到可执行程序。

但是,这种方法太麻烦了,于是有些人把一些常用的软件提前编译好,做成软件包(可以理解成Windows上的安装程序)放在一个服务器上。通过包管理器可以很方便地获取到这个编译好的软件包,直接进行安装。软件包和软件包管理器,就好比“App”和“应用商店”这样的关系。

yum(Yellow dog Updater, Modified)是Linux下非常常用的一种包管理器,主要应用在Fedora、RedHat、CentOS等发行版本上。通过yum,我们可以轻松地安装、更新和删除软件包,同时它还能自动处理软件包之间的依赖关系,极大地方便了系统管理员和开发人员的工作。

例如,在使用yum安装软件包时,只需一条简单的命令:

yum install [软件包名称]

yum会自动下载并安装指定的软件包,以及其所需的所有依赖包,从而简化了用户的操作流程。

2.rz和sz

在Linux系统中,rz和sz是用于在本地计算机和远程服务器之间进行文件传输的命令。它们分别用于接收和发送文件,是非常实用的传输工具。rz和sz命令基于ZMODEM协议工作,通常用于通过终端软件(如SecureCRT、xshell等)进行文件传输。

2.1rz命令

rz(receive ZMODEM)命令用于从本地计算机上传文件到远程服务器。当在远程服务器上执行rz命令后,本地计算机会弹出文件选择对话框,用户可以选择要上传的文件。

2.2sz命令

sz(send ZMODEM)命令用于将远程服务器上的文件下载到本地计算机。当在远程服务器上执行sz命令并指定要下载的文件后,本地计算机会自动开始接收文件。

2.3操作示例

以下是使用rz和sz命令的具体操作步骤:

  1. 通过SSH连接到远程服务器。

  2. 在远程服务器上安装lrzsz工具(如果尚未安装):

    yum install lrzsz
  3. 使用rz命令从本地计算机上传文件到远程服务器:

    rz

    执行上述命令后,本地计算机会弹出文件选择对话框,选择要上传的文件并确认,文件会自动上传到当前目录。

  4. 使用sz命令从远程服务器下载文件到本地计算机:

    sz [文件名]

    例如,将文件example.txt从远程服务器下载到本地计算机:

    sz example.txt

    执行上述命令后,文件将自动下载到本地计算机的默认下载目录。

以下是实际操作的截图,展示了从本地上传文件和从远程下载文件的具体步骤。

首先下载lrzsz:(我们使用root账户,普通账户需要在命令最前面加上sudo)

接下来输入rz,弹出提示框:

我们自己选择一个Windows系统的文件(我选的是test.cpp),点击“打开”:

 

发送完毕后,我们使用ll指令查看是否传输完成:

如上图,test.cpp文件已成功上传到/root目录。 

sz的过程不再展示。

3.安装前注意事项

在使用yum进行软件包管理时,需要注意以下几点以确保操作的顺利进行:

3.1保证网络畅通

yum命令需要从远程软件仓库下载软件包和依赖项,因此必须确保网络连接正常。可以通过ping命令验证网络连接情况。例如,使用以下命令检查与Google的连接:(国内可使用baidu.com,检查与百度的连接)

ping www.google.com

如果网络连接正常,会显示类似如下的输出:

PING www.google.com (172.217.160.68): 56 data bytes
64 bytes from 172.217.160.68: icmp_seq=0 ttl=115 time=32.1 ms
64 bytes from 172.217.160.68: icmp_seq=1 ttl=115 time=32.3 ms

如果网络连接有问题,则需要检查网络配置或联系网络管理员解决。

3.2确保权限

在使用yum进行软件包安装、升级或卸载操作时,通常需要具有超级用户(root)权限。因此,运行yum命令时请使用sudo,例如:

sudo yum install vim

3.3配置软件仓库

确保yum配置了正确的软件仓库,以便从可信赖的源下载软件包。配置文件通常位于/etc/yum.repos.d/目录下,确保这些文件配置正确并且启用了所需的仓库。

3.4 检查系统更新

定期使用yum命令检查系统更新,以确保系统软件包的最新版本和安全性。例如:

sudo yum update

该命令会更新系统中所有已安装的软件包到最新版本。

4.查看软件包

通过yum list命令可以列出当前系统中所有已安装的软件包。由于已安装的软件包数量可能非常多,我们可以使用grep命令来筛选出我们关注的软件包。例如,要查看是否安装了lrzsz软件包,可以使用以下命令:

yum list | grep lrzsz

该命令的输出示例如下:

lrzsz.x86_64 0.12.20-36.el7 @base

注意事项

  • 软件包名称: 包括主版本号、次版本号、源程序发行号。
  • x86_64 表示64位系统的安装包,i686 表示32位系统安装包。选择包时要和系统匹配。
  • el7 表示操作系统发行版本,el7 表示的是CentOS 7/RedHat 7,el6 表示CentOS 6/RedHat 6。
  • 最后一列 base 表示的是“软件源”的名称,类似于“小米应用商店”、“华为应用商店”这样的概念。

5.安装软件

通过yum,我们可以通过非常简单的一条命令完成软件的安装。下面介绍如何使用yum安装软件包,并分别举例说明在root和非root用户下的操作方法。

5.1作为root用户安装软件

当你以root用户登录系统时,可以直接使用以下命令安装软件包:

yum install [软件包名称]

例如,安装lrzsz软件包:

yum install lrzsz

执行上述命令后,yum会自动找到所有需要的软件包并下载。当提示是否确认安装时,输入y并按Enter键。出现“Complete”字样,说明安装完成。

具体过程如下图所示:

5.2作为非root用户安装软件

如果你不是以root用户登录系统,需要使用sudo命令来获取超级用户权限:

sudo yum install [软件包名称]

例如,安装lrzsz软件包:

sudo yum install lrzsz

与root用户安装过程类似,yum会自动处理依赖并下载软件包。在提示确认安装时,输入y并按Enter键。出现“Complete”字样,说明安装完成。

具体过程如下图所示:

输入用户密码后:

输入y,回车:

 安装成功。

5.3注意事项

  • 安装软件时由于需要向系统目录写入内容,一般需要sudo或者切到root账户下才能完成。
  • yum安装软件只能一个安装完了再装另一个。正在yum安装一个软件的过程中,如果再尝试用yum安装另外一个软件,yum会报错。

6.卸载软件

在Linux系统中,使用yum卸载软件包也非常简单。卸载软件时,一般需要使用root用户或具有超级用户权限的用户进行操作。以下是卸载软件包的具体步骤:

6.1使用yum卸载软件包

作为root用户或使用sudo命令,可以使用以下命令来卸载软件包:

yum remove [软件包名称]

例如,卸载lrzsz软件包:

yum remove lrzsz

执行上述命令后,系统会列出将要卸载的软件包及其相关依赖项,并提示确认。输入y并按Enter键确认卸载。完成后,会出现类似“Complete”的字样,表示软件包已经成功卸载。

过程如下图所示:

6.2注意事项

  • 卸载软件时,需要确保不会影响其他依赖该软件包的程序运行。在卸载之前,可以先查看哪些程序依赖于该软件包,以免造成系统或其他应用程序的问题。
  • 在卸载过程中,系统会提示将要删除的软件包列表,请仔细确认无误后再进行操作。
  • 卸载操作会释放软件包占用的磁盘空间,但也有可能删除相关的配置文件和用户数据,因此在操作前做好必要的备份工作。

7.结语

通过本篇博客的学习,我们系统地了解了Linux软件包管理器yum的基本使用方法,包括软件包的查看、安装和卸载等操作。掌握这些基本技能,可以大大简化Linux系统中软件的管理过程,提高工作效率。希望这些内容能够帮助读者在实际操作中更加得心应手,充分发挥Linux系统的强大功能。

相关文章:

Linux软件包管理器 yum

目录 0.前言 1.什么是软件包 2.rz和sz 2.1rz命令 2.2sz命令 2.3操作示例 3.安装前注意事项 3.1保证网络畅通 3.2确保权限 3.3配置软件仓库 3.4 检查系统更新 4.查看软件包 5.安装软件 5.1作为root用户安装软件 5.2作为非root用户安装软件 5.3注意事项 6.卸载软件 6.1使用yum卸载…...

图像变换算法

1.1 傅里叶变换 (Fourier Transform) 介绍 傅里叶变换是一种数学变换,用于将图像从空间域转换到频率域。它广泛应用于图像去噪和滤波。 原理 傅里叶变换将图像表示为频率成分的叠加,使得频率成分可以独立处理。通过对频率成分的分析和处理&#xff0…...

谷粒商城实战笔记-131~132-商城业务-商品上架-构造sku检索属性和库存查询

文章目录 一,131-商城业务-商品上架-构造sku检索属性1,开发目标2,详细设计2.1,根据spu_id获取所有的规格参数2.2,根据上一步中查询结果进一步确认是否可搜索2.3,将可搜索的属性封装到Java模型中 二&#xf…...

【Python学习-UI界面】PyQt5 QLabel小部件

序号组件说明详细介绍链接1QLabel用作占位符,用于显示不可编辑的文本、图像,或者动画GIF的电影。它也可以用作其他小部件的助记符键。2QLineEdit是最常用的输入字段。它提供了一个框,可以输入一行文本。要输入多行文本,需要使用QT…...

vue项目打包问题

缓存导致打包后js文件404 修改vue.config.js打包输出文件名为动态,例如取当前时间戳。 在index.html文件添加meta标签设置不缓存。 更新完包,假如用户此刻正访问某一个页面时,访问的包还是原来的情况导致出现bug 解决VUE项目更新后需要客户手…...

C++标准模板库(STL)|容器|vector| queue|

对STL进行总结,STL是standard template library的简写,是C中的一个标准模板库,用于实现常用的数据结构和算法,它是C程序员经常使用的一个工具箱。STL 的主要目的是提高开发效率和代码质量,使得程序员可以更加便捷地完成…...

【Android】安卓四大组件之Service用法

文章目录 使用Handler更新UIService基本特点启动方式非绑定式服务使用步骤 绑定式服务步骤 生命周期非绑定式启动阶段结束阶段 绑定式启动阶段结束阶段 前台Service使用步骤结束结束Service本身降级为普通Service降级为普通Service 使用Handler更新UI 主线程创建Handler对象&a…...

Python爬虫入门实战(详细步骤)

1. 技术选型 爬虫这个功能,我个人理解是什么语言都能写的,只要能正常发送 HTTP 请求,将响应回来的静态页面模版 HTML 上把我们所需要的数据提取出来就可以了,原理很简单,这个东西当然可以手动去统计收集,但…...

5、Linux : 网络相关

OSI七层网络模型 TCP/IP四层 概念模型 对应网络协议 应用层(Application) HTTP、TFTP, FTP, NFS, WAIS、 表示层(Presentation) 应用层 Telnet, Rlogin, SNMP, Gopher 会话层(Session) SMTP…...

Linux中针对文件权限的解析

1.文件权限详细解析: -rw-r--r--. 1 root root 114 4月 10 16:32 100.txt 1)-rw-r--r--. 总共11位 第一个“-”和最后一个“.”不用去管,剩下 rw- r-- r-- 属主 属组 其他人 u g o 第一个是“-”表示普通文件 第一个是“d”表示文件目录 …...

【0304】psql 执行“VACUUM FULL”命令的背后实现过程

1. 概述 在前面讲解Postgres内核中解析器相关(【0297】Postgres内核之 INSERT INTO 原始解析树 转 Query 树 (1))内容时,曾提到过,Postgres内核大致将用户下发的SQL语句分为三大类,这里的VACUUM FULL属于CMD_UTILITY; 因此直接调用utility.c(实用程序)中的对应函数。…...

Java常见面试题-11-MongoDb

文章目录 MongoDB 是什么?MongoDB 和关系型数据库 mysql 区别MongoDB 有 3 个数据库分别是什么?MongoDB 中的数据类型MongoDB 适用业务场景 MongoDB 是什么? mongodb 是属于文档型的非关系型数据库,是开源、高性能、高可用、可扩…...

PBLOCK

PBLOCK是附加到Vivado中分配给Pblocks的单元格的只读属性 设计套房。 Pblock是一组单元格,以及一个或多个指定 Pblock所包含的设备资源。在平面规划过程中使用了Pblocks 将其放置到组相关逻辑中,并将其分配到目标设备的某个区域。请参阅 Vivado设计套件用…...

电子纸打造智能、自动化、绿色的工作流程

电子纸打造智能、自动化、绿色的工作流程 RFID技术最早在1940年代问世,1980年开始商业化使用。直到现在RFID(无线射频识别)技术已经深入到我们生活的方方面面。特别是在工业生产、物流运输等领域,RFID技术发挥着越来越重要的作用…...

Redis 的6种回收策略(淘汰策略)详解

Redis 的6种回收策略(淘汰策略)详解 1、Redis的六种淘汰策略1. volatile-lru2. volatile-ttl3. volatile-random4. allkeys-lru5. allkeys-random6. no-eviction 2、使用策略规则 💖The Begin💖点点关注,收藏不迷路&am…...

SQL注入sqli-labs-master关卡一

本文环境搭建使用的是小皮,靶机压缩包:通过百度网盘分享的文件:sqli-labs-php7-master.zip 链接:https://pan.baidu.com/s/1xBfsi2lyrA1QgUWycRsHeQ?pwdqwer 提取码:qwer 下载解压至phpstudy的WWW目录下即可。 第一…...

LeetCode面试题Day6|LeetCode238 除自身以外数组的乘积、LeetCode134 加油站

题目1: 指路: . - 力扣(LeetCode)238 除自身以外数组的乘积 思路与分析: 除去自身元素求其他元素的乘积,或许第一反应会是数组元素积乘再除以遍历到的元素,定义一个结果数组再对应放结果值&…...

猫头虎分享:Python库 FastAPI 的简介、安装、用法详解入门教程

🐯 猫头虎分享:Python库 FastAPI 的简介、安装、用法详解入门教程 🚀 📄 摘要 作为一名专注于Python和人工智能开发的技术博主,猫头虎经常在开发过程中遇到各种挑战。最近,有粉丝问到如何高效地构建API&a…...

python连接MySQL数据库使用pymysql

开头 经过这么一段时间的学生信息管理系统的摸爬滚打,不断的学习更新的知识,不断修改自己的认知,针对pymysql以及MySQL数据库的知识做个总结,以纪念我这段时间的学习。 目录 开头 pymysql的使用流程 1.导入pymysql的工具包 方…...

AI时代下的编程趋势:程序员如何提升核心竞争力

随着人工智能和机器学习技术的飞速发展,大型语言模型和AI生成代码(AIGC)工具如ChatGPT、Midjourney、Claude等层出不穷,AI辅助编程逐渐成为现实。在这一变革的浪潮中,程序员群体面临着前所未有的挑战和机遇。一些人担忧…...

Vue记事本应用实现教程

文章目录 1. 项目介绍2. 开发环境准备3. 设计应用界面4. 创建Vue实例和数据模型5. 实现记事本功能5.1 添加新记事项5.2 删除记事项5.3 清空所有记事 6. 添加样式7. 功能扩展:显示创建时间8. 功能扩展:记事项搜索9. 完整代码10. Vue知识点解析10.1 数据绑…...

【杂谈】-递归进化:人工智能的自我改进与监管挑战

递归进化:人工智能的自我改进与监管挑战 文章目录 递归进化:人工智能的自我改进与监管挑战1、自我改进型人工智能的崛起2、人工智能如何挑战人类监管?3、确保人工智能受控的策略4、人类在人工智能发展中的角色5、平衡自主性与控制力6、总结与…...

简易版抽奖活动的设计技术方案

1.前言 本技术方案旨在设计一套完整且可靠的抽奖活动逻辑,确保抽奖活动能够公平、公正、公开地进行,同时满足高并发访问、数据安全存储与高效处理等需求,为用户提供流畅的抽奖体验,助力业务顺利开展。本方案将涵盖抽奖活动的整体架构设计、核心流程逻辑、关键功能实现以及…...

ssc377d修改flash分区大小

1、flash的分区默认分配16M、 / # df -h Filesystem Size Used Available Use% Mounted on /dev/root 1.9M 1.9M 0 100% / /dev/mtdblock4 3.0M...

2024年赣州旅游投资集团社会招聘笔试真

2024年赣州旅游投资集团社会招聘笔试真 题 ( 满 分 1 0 0 分 时 间 1 2 0 分 钟 ) 一、单选题(每题只有一个正确答案,答错、不答或多答均不得分) 1.纪要的特点不包括()。 A.概括重点 B.指导传达 C. 客观纪实 D.有言必录 【答案】: D 2.1864年,()预言了电磁波的存在,并指出…...

【大模型RAG】Docker 一键部署 Milvus 完整攻略

本文概要 Milvus 2.5 Stand-alone 版可通过 Docker 在几分钟内完成安装;只需暴露 19530(gRPC)与 9091(HTTP/WebUI)两个端口,即可让本地电脑通过 PyMilvus 或浏览器访问远程 Linux 服务器上的 Milvus。下面…...

Frozen-Flask :将 Flask 应用“冻结”为静态文件

Frozen-Flask 是一个用于将 Flask 应用“冻结”为静态文件的 Python 扩展。它的核心用途是:将一个 Flask Web 应用生成成纯静态 HTML 文件,从而可以部署到静态网站托管服务上,如 GitHub Pages、Netlify 或任何支持静态文件的网站服务器。 &am…...

鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个医院查看报告小程序

一、开发环境准备 ​​工具安装​​: 下载安装DevEco Studio 4.0(支持HarmonyOS 5)配置HarmonyOS SDK 5.0确保Node.js版本≥14 ​​项目初始化​​: ohpm init harmony/hospital-report-app 二、核心功能模块实现 1. 报告列表…...

代理篇12|深入理解 Vite中的Proxy接口代理配置

在前端开发中,常常会遇到 跨域请求接口 的情况。为了解决这个问题,Vite 和 Webpack 都提供了 proxy 代理功能,用于将本地开发请求转发到后端服务器。 什么是代理(proxy)? 代理是在开发过程中,前端项目通过开发服务器,将指定的请求“转发”到真实的后端服务器,从而绕…...

JavaScript基础-API 和 Web API

在学习JavaScript的过程中,理解API(应用程序接口)和Web API的概念及其应用是非常重要的。这些工具极大地扩展了JavaScript的功能,使得开发者能够创建出功能丰富、交互性强的Web应用程序。本文将深入探讨JavaScript中的API与Web AP…...