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

OS10.【Linux】yum命令

目录

1.安装软件的几种方法

直接编译源代码,得到可执行程序

使用软件包管理器

2.yum

yum list命令

参数解释

yum install命令

yum remove命令

下载链接存放的位置

扩展yum源

实验:安装sl小火车命令

sl命令的选项

方法1:man sl

方法2:读源代码

3.更新yum源

查看lrzsz的下载链接

4.其他命令

yum makecache命令

yum clean all命令

yum search命令

yum update命令

yum upgrade命令


1.安装软件的几种方法

直接编译源代码,得到可执行程序

此方法较复杂,而且有版本要求(平台会限制),也会有依赖关系,配置起来较复杂

使用软件包管理器

例如CentOS下的yum(全称yellowdog updater modified)软件包管理器,软件包管理器从服务器上获取对应的软件包(需要联网),下载到本地后进行安装,执行起来只需要几个指令,非常方便

软件包管理器可以理解为手机或电脑上的"应用商店",而yum就是Linux下的应用商店

注:检查是否联网可以ping,简单使用方法是:ping + 网址

2.yum

yum list命令

列出显示所有已安装和可用的软件包(可能会有很多,可以使用OS6.【Linux】基本指令入门(5)文章提到的grep命令进行筛选)

直接执行yum list会显示两种包,这里仅展示一部分:

Installed Packages:

Available Packages:

注: yum list installed只显示已安装的软件包,而yum list available只显示可用的软件包

可用的软件包: 在已配置的软件源(repository)中存在,但尚未安装在当前系统上的软件包(软件源会在后面解释)

参数解释

软件包名称的格式: 主版本号.次版本号.源程序发行号-软件包的发行号.主机平台.cpu架构.

以这个软件包为例:

time.x86_64    1.7-45.el7    @base

x86_64:64位系统安装包,"i686": 32位系统安装包(选择包时要和系统匹配 ),el7:centos7/redhat7,base 表示的是"软件源"的名称,可以理解为:不同应用商店是不同的软件源

yum源:可以理解为存储linux应用软件的服务器

yum install命令

用于安装软件,格式为:

yum install 软件包名

安装软件时由于需要向系统目录中写入内容, 一般需要 sudo 或者切到 root 账户下才能完成.

这里采用root安装软件,例如安装Linux和Windows之间的文件互传工具lrzsz:
 

yum install lrzsz

系统询问,下面等待用户的输入:

注意字母的大小写,y是yes(确认安装),d是display(显示详细信息),N是No(取消安装)

输入y进行安装:

 注:如果不想让系统询问的话,可以对Install加加-y选项 

验证是否能使用lrzsz命令:

Windows下向test.txt写入以下内容并保存,

之后用鼠标拖动到XShell终端:

发现test.txt成功传输且打印了其中的内容:

yum remove命令

和yum install命令一样,删除软件时由于需要向系统目录中删除内容, 一般需要 sudo 或者切到 root 账户下才能完成

这里使用root身份完成:

 注:如果不想让系统询问的话,可以对remove加-y选项

下载链接存放的位置

下载软件包需要找到软件包的下载链接,其存储在以.repo为后缀的文件中

/etc有一个yum.repos.d目录,*.repo就存储在里面

 yum.repos.d目录的文件:

查看上面提到的lrzsz从哪个链接下载:

@base指的是base软件源 ,列出 yum.repos.d目录的文件

显然在CentOS-Base.repo中,使用nano打开:

上方的网站无法访问,会在本文的第3点更新yum源中访问新网站

扩展yum源

如果yum list的可用软件包中(这是官方yum源)没有某个软件,使用扩展yum源

使用以下命令安装扩展yum源:

sudo yum install epel-release

 装好后会发现/etc/yum.repos.d目录下多了几个文件:

实验:安装sl小火车命令

sl小火车命令在官方yum源是没有的,需要从扩展yum源中取得,

sudo yum install sl

只输入sl命令会展示一个动态的蒸汽火车: 

sl命令的选项
方法1:man sl

如果支持man sl,那么就比较方便查看

方法2:读源代码

github仓库地址:https://github.com/mtoyoda/sl

从main函数开始读:

int main(int argc, char *argv[])
{int x, i;for (i = 1; i < argc; ++i) {if (*argv[i] == '-') {option(argv[i] + 1);}}//......
}

for循环支持多个选项叠加,例如sl -alFc 

 如果argv[i]为'-',说明带了选项,此时到option函数执行:

void option(char *str)
{extern int ACCIDENT, LOGO, FLY, C51;while (*str != '\0') {switch (*str++) {case 'a': ACCIDENT = 1; break;case 'F': FLY      = 1; break;case 'l': LOGO     = 1; break;case 'c': C51      = 1; break;default:                break;}}
}

查看到一共4个选项-a、-F、-l和-c

-a:

-F:

从屏幕右下角飞到左上角

-l:

-c:

-alFc:

3.更新yum源

Linux操作系统默认配置的yum源是国外的,有可能yum源访问会比较慢,可能需要更新yum源:
替换yum源文件

这里提供CentOS7的一键更新yum源的命令:

curl -sLf https://gitee.com/lpsdz-ybhdsg-jk/yum-source-update/raw/master/install.sh -o ./install.sh && bash ./install.sh

查看lrzsz的下载链接

cd /etc/yum.repos.d
yum list | grep "lrzsz"

进入https://mirrors.tencent.com/centos-vault/7.9.2009/os/网站下手动查找,发现在这个目录下:

https://mirrors.tencent.com/centos-vault/7.9.2009/os/Source/SPackages/

 

4.其他命令

yum makecache命令

yum工具在每次安装指定软件包的时候,都会检测源服务器上的软件包信息,为了提高速度,使用yum makecache命令来生成元数据缓存,将服务器的软件包信息缓存到本地

yum clean all命令

清除缓存中老旧的头文件和软件包

yum search命令

在所有软件包中搜索包含有指定关键字的软件包

例如

yum search lrzsz

yum update命令

升级所有包同时,也升级软件和系统内核

yum upgrade命令

只升级所有包,不升级软件和系统内核(即软件和内核保持原样)

http://www.lryc.cn/news/2396197.html

相关文章:

  • 头歌数据库课程实验(角色管理)
  • 【android bluetooth 协议分析 03】【蓝牙扫描详解 1】【扫描关键函数 btif_dm_search_devices_evt 分析】
  • SpringBoot使用ThreadLocal保存登录用户信息
  • 多模态大语言模型arxiv论文略读(102)
  • Ubuntu系统如何部署Crawlab爬虫管理平台(通过docker部署)
  • python常用库-pandas、Hugging Face的datasets库(大模型之JSONL(JSON Lines))
  • 高端装备制造企业如何选择适配的项目管理系统提升项目执行效率?附选型案例
  • 【Dv3Admin】工具权限配置文件解析
  • AI炼丹日志-22 - MCP 自动操作 Figma+Cursor 自动设计原型
  • Python爬虫:AutoScraper 库详细使用大全(一个智能、自动、轻量级的网络爬虫)
  • 2025.6.1总结
  • [嵌入式实验]实验四:串口打印电压及温度
  • LVS+Keepalived 高可用
  • Linux正则三剑客篇
  • HTML5 视频播放器:从基础到进阶的实现指南
  • 鸿蒙HarmonyOS (React Native)的实战教程
  • 函数栈帧深度解析:从寄存器操作看函数调用机制
  • 【计算机网络】第3章:传输层—可靠数据传输的原理
  • rv1126b sdk移植
  • 第6节 Node.js 回调函数
  • OpenCV CUDA模块直方图计算------在 GPU上执行直方图均衡化(Histogram Equalization)函数equalizeHist
  • 构建系统maven
  • day13 leetcode-hot100-23(链表2)
  • Java面试八股(Java基础,Spring,SpringBoot篇)
  • Python编程基础(二)| 列表简介
  • 支持向量机(SVM):解锁数据分类与回归的强大工具
  • 代谢组数据分析(二十五):代谢组与蛋白质组数据分析的异同
  • 002 flutter基础 初始文件讲解(1)
  • AI 让无人机跟踪更精准——从视觉感知到智能预测
  • Launcher3体系化之路