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命令的具体操作步骤:
-
通过SSH连接到远程服务器。
-
在远程服务器上安装lrzsz工具(如果尚未安装):
yum install lrzsz
-
使用rz命令从本地计算机上传文件到远程服务器:
rz
执行上述命令后,本地计算机会弹出文件选择对话框,选择要上传的文件并确认,文件会自动上传到当前目录。
-
使用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) 介绍 傅里叶变换是一种数学变换,用于将图像从空间域转换到频率域。它广泛应用于图像去噪和滤波。 原理 傅里叶变换将图像表示为频率成分的叠加,使得频率成分可以独立处理。通过对频率成分的分析和处理࿰…...

谷粒商城实战笔记-131~132-商城业务-商品上架-构造sku检索属性和库存查询
文章目录 一,131-商城业务-商品上架-构造sku检索属性1,开发目标2,详细设计2.1,根据spu_id获取所有的规格参数2.2,根据上一步中查询结果进一步确认是否可搜索2.3,将可搜索的属性封装到Java模型中 二…...
【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辅助编程逐渐成为现实。在这一变革的浪潮中,程序员群体面临着前所未有的挑战和机遇。一些人担忧…...

【大模型RAG】拍照搜题技术架构速览:三层管道、两级检索、兜底大模型
摘要 拍照搜题系统采用“三层管道(多模态 OCR → 语义检索 → 答案渲染)、两级检索(倒排 BM25 向量 HNSW)并以大语言模型兜底”的整体框架: 多模态 OCR 层 将题目图片经过超分、去噪、倾斜校正后,分别用…...
Linux链表操作全解析
Linux C语言链表深度解析与实战技巧 一、链表基础概念与内核链表优势1.1 为什么使用链表?1.2 Linux 内核链表与用户态链表的区别 二、内核链表结构与宏解析常用宏/函数 三、内核链表的优点四、用户态链表示例五、双向循环链表在内核中的实现优势5.1 插入效率5.2 安全…...
JVM垃圾回收机制全解析
Java虚拟机(JVM)中的垃圾收集器(Garbage Collector,简称GC)是用于自动管理内存的机制。它负责识别和清除不再被程序使用的对象,从而释放内存空间,避免内存泄漏和内存溢出等问题。垃圾收集器在Ja…...
五年级数学知识边界总结思考-下册
目录 一、背景二、过程1.观察物体小学五年级下册“观察物体”知识点详解:由来、作用与意义**一、知识点核心内容****二、知识点的由来:从生活实践到数学抽象****三、知识的作用:解决实际问题的工具****四、学习的意义:培养核心素养…...

[10-3]软件I2C读写MPU6050 江协科技学习笔记(16个知识点)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16...
linux 下常用变更-8
1、删除普通用户 查询用户初始UID和GIDls -l /home/ ###家目录中查看UID cat /etc/group ###此文件查看GID删除用户1.编辑文件 /etc/passwd 找到对应的行,YW343:x:0:0::/home/YW343:/bin/bash 2.将标红的位置修改为用户对应初始UID和GID: YW3…...
【JavaSE】绘图与事件入门学习笔记
-Java绘图坐标体系 坐标体系-介绍 坐标原点位于左上角,以像素为单位。 在Java坐标系中,第一个是x坐标,表示当前位置为水平方向,距离坐标原点x个像素;第二个是y坐标,表示当前位置为垂直方向,距离坐标原点y个像素。 坐标体系-像素 …...

select、poll、epoll 与 Reactor 模式
在高并发网络编程领域,高效处理大量连接和 I/O 事件是系统性能的关键。select、poll、epoll 作为 I/O 多路复用技术的代表,以及基于它们实现的 Reactor 模式,为开发者提供了强大的工具。本文将深入探讨这些技术的底层原理、优缺点。 一、I…...

C++ Visual Studio 2017厂商给的源码没有.sln文件 易兆微芯片下载工具加开机动画下载。
1.先用Visual Studio 2017打开Yichip YC31xx loader.vcxproj,再用Visual Studio 2022打开。再保侟就有.sln文件了。 易兆微芯片下载工具加开机动画下载 ExtraDownloadFile1Info.\logo.bin|0|0|10D2000|0 MFC应用兼容CMD 在BOOL CYichipYC31xxloaderDlg::OnIni…...

GitFlow 工作模式(详解)
今天再学项目的过程中遇到使用gitflow模式管理代码,因此进行学习并且发布关于gitflow的一些思考 Git与GitFlow模式 我们在写代码的时候通常会进行网上保存,无论是github还是gittee,都是一种基于git去保存代码的形式,这样保存代码…...