linux中yum和wget指令的区别
yum 和 wget 都是 Linux 上的下载工具,但它们的用途、下载方式和适用场景不同。以下是它们的 主要区别:
1. yum 是软件包管理器,wget 是文件下载工具
| 功能 | yum | wget |
|---|---|---|
| 用途 | 安装、更新和管理 RPM 软件包 | 从 HTTP/HTTPS/FTP 下载文件 |
| 工作方式 | 通过 yum 仓库获取软件包及其依赖项 | 仅下载文件,不管理安装 |
| 依赖管理 | 自动解析依赖,安装所需的软件包 | 只下载文件,不解析依赖 |
| 适用场景 | 需要安装软件,例如 yum install wget | 下载网页、文件、脚本、二进制文件等 |
| 协议支持 | 只支持访问 Yum 仓库(通常是 HTTP/HTTPS) | 支持 HTTP、HTTPS、FTP |
| 是否需要 root 权限 | 需要 (sudo 或 root 用户) | 不需要 root |
示例
使用 yum 安装软件
yum install wget -y
📌 作用:安装 wget,并自动安装所需的依赖项。
使用 wget 下载文件
wget https://example.com/file.tar.gz
📌 作用:下载 file.tar.gz,但不会自动安装它。
2. yum 主要用于软件包管理
(1)安装软件
yum install nginx -y
📌 作用:安装 nginx,并自动安装所有依赖项。
(2)更新系统
yum update -y
📌 作用:更新所有软件包到最新版本。
(3)搜索软件包
yum search git
📌 作用:查找包含 "git" 关键字的软件包。
(4)查看已安装软件
yum list installed | grep wget
📌 作用:检查 wget 是否已安装。
3. wget 主要用于下载文件
(1)下载单个文件
wget https://example.com/file.zip
📌 作用:从 example.com 下载 file.zip 到本地。
(2)断点续传
wget -c https://example.com/file.zip
📌 作用:如果下载中断,继续下载文件。
(3)下载网页
wget -O index.html https://example.com
📌 作用:将网页保存为 index.html。
(4)递归下载整个网站
wget -r -np -k https://example.com
📌 作用:下载整个 example.com 站点。
4. yum 和 wget 的典型使用场景
| 场景 | 应该用 yum 还是 wget? |
|---|---|
安装 nginx | yum install nginx |
| 更新系统 | yum update -y |
下载一个 .tar.gz 文件 | wget https://example.com/file.tar.gz |
安装 wget 本身 | yum install wget |
下载 .rpm 包并手动安装 | wget https://example.com/package.rpm + rpm -ivh package.rpm |
5. yum 和 wget 结合使用
有时候你需要 先用 wget 下载 .rpm 文件,然后用 yum 或 rpm 安装:
wget http://mirrors.aliyun.com/nginx/nginx-1.20.1.rpm
yum localinstall nginx-1.20.1.rpm -y
📌 作用:
- 用
wget下载nginx的.rpm文件。 - 用
yum localinstall安装.rpm,并解析依赖。
6. curl vs wget vs yum
| 工具 | 主要用途 | 是否自动安装 | 是否多线程 |
|---|---|---|---|
yum | 安装和管理软件包 | ✅ 是 | ❌ 否 |
wget | 下载文件(支持 HTTP/FTP) | ❌ 否 | ❌ 否(单线程) |
curl | 发送 HTTP 请求、API 调用 | ❌ 否 | ❌ 否(默认单线程) |
7. 总结
✅ yum 适用于:
- 安装、更新、删除软件包
- 自动解决软件依赖关系
- 适用于
CentOS/RHEL
✅ wget 适用于:
- 下载网页、文件、脚本、压缩包
- 支持 HTTP、HTTPS、FTP
- 断点续传
如果你想安装软件 (如 wget 本身),应该使用:
yum install wget
如果你只是想下载一个 .tar.gz 文件,而不是安装它,应该使用:
wget https://example.com/file.tar.gz
🚀 所以 yum 适合安装软件,而 wget 适合下载文件!
是的,wget 只负责下载文件,如果你下载的是一个 RPM 安装包,那么你还需要使用 yum 或 rpm 来安装它。
🔹 示例:使用 wget 下载并安装软件
如果官方 yum 源没有你需要的软件,你可以先用 wget 下载 RPM 包,再手动安装。
1️⃣ 使用 wget 下载 RPM 安装包
wget http://mirrors.aliyun.com/nginx/nginx-1.20.1.rpm
📌 这里 wget 只是把 nginx-1.20.1.rpm 下载到本地。
2️⃣ 使用 yum 安装该 RPM 包
yum localinstall nginx-1.20.1.rpm -y
📌 yum localinstall 会自动解析和安装依赖项,确保安装成功。
3️⃣ 如果 yum 源不可用,可以用 rpm 安装
如果你不想使用 yum,也可以用 rpm 命令直接安装:
rpm -ivh nginx-1.20.1.rpm
📌 但是 rpm 不会自动解决依赖问题,如果缺少依赖,需要手动安装!
如果缺少依赖,可以先运行:
rpm -ivh nginx-1.20.1.rpm
如果报错,例如:
error: Failed dependencies:libssl.so.10 is needed by nginx-1.20.1.rpm
你需要手动安装依赖:
yum install libssl.so.10
然后再安装 nginx-1.20.1.rpm。
🔹 总结
| 操作 | 命令 | 作用 |
|---|---|---|
| 下载 RPM 包 | wget URL | 下载软件包 |
用 yum 安装 | yum localinstall package.rpm -y | 推荐方式,自动解析依赖 |
用 rpm 安装 | rpm -ivh package.rpm | 可能需要手动安装依赖 |
| 查找 RPM 依赖 | rpm -qR package.rpm | 查看软件包依赖 |
🚀 如果你不确定用哪个,优先使用 yum localinstall!
相关文章:
linux中yum和wget指令的区别
yum 和 wget 都是 Linux 上的下载工具,但它们的用途、下载方式和适用场景不同。以下是它们的 主要区别: 1. yum 是软件包管理器,wget 是文件下载工具 功能yumwget用途安装、更新和管理 RPM 软件包从 HTTP/HTTPS/FTP 下载文件工作方式通过 yu…...
《又是二叉树?递归与回溯的经典应用》
“ 我喜欢晴天,你恰好是最好的太阳” 226.翻转二叉树 力扣题目链接(opens new window) 翻转一棵二叉树。 这道题我们可以通过递归法解决,我们只要递归的把每一个节点的左右孩子反转一下就能解决了。 代码如下: var invertTree function(ro…...
Qt/C++音视频开发82-系统音量值获取和设置/音量大小/静音
一、前言 在音视频开发中,音量的控制分两块,一个是控制播放器本身的音量,绝大部分场景都是需要控制这个,这个不会影响系统音量的设置。还有一种场景是需要控制系统的音量,因为播放器本身的音量是在系统音量的基础上控…...
从零到精通文本指令:打造个人AI助理的完整指令库(Prompt 指令实操)
文章目录 从零到精通文本指令:打造个人AI助理的完整指令库(Prompt 指令实操)创作指令创作指令**润色指令****扩写指令** 问答指令直接问答材料问答时间逻辑问答 总结、摘要、翻译指令总结信息抽取翻译 从零到精通文本指令:打造个人AI助理的完整指令库(Pr…...
C# NX二次开发:获取模型中所有的草图并获取草图中的对象
大家好,今天接着讲NX二次开发获取草图相关。 获取草图的方法是从workPart中获取,如下面的例子所示: List<Tag> tags new List<Tag>(); SketchCollection sketchCollection workPart.Sketches; …...
基于SpringBoot和MybatisPlus实现通用Controller
基于SpringBoot和MybatisPlus实现通用Controller,只需要创建实体类和mapper接口,单表增删改查接口就已经实现,提升开发效率 1.定义通用controller package com.xian.controller;import cn.hutool.core.map.MapUtil; import com.baomidou.my…...
锤头线和倒锤头线
1、锤头线 是指一根没有上影线或上影线很短,而下影线很长,实体却很小的K线。其K线实体可以是阴线或是阳线,类似于T字。 锤头线的特征有以下三点: 实体很小,下影线长度大于或等于实体的两倍。下影线越长时,如股价处于低位,则上涨的可能性越大。 如股价处于高位,则下跌…...
蓝桥杯嵌入式组第十二届省赛题目解析+STM32G431RBT6实现源码
文章目录 1.题目解析1.1 分而治之,藕断丝连1.2 模块化思维导图1.3 模块解析1.3.1 KEY模块1.3.2 LED模块1.3.3 LCD模块1.3.4 TIM模块1.3.5 UART模块1.3.5.1 uart数据解析 2.源码3.第十二届题目 前言:STM32G431RBT6实现嵌入式组第十二届题目解析源码&#…...
STM32上实现简化版的AUTOSAR DEM模块
文章目录 摘要摘要 在一些可以不使用AUTOSAR的项目中,往往也有故障检测和DTC存储的需求,开发一套类似于AUTOSAR DEM模块的软件代码,能够满足DTC的检出和存储,使用FalshDB代替Nvm模块,轻松构建持久化存储,如果你也有这样的需求,请阅读本篇,希望能够帮到你。 /*********…...
如何用终端运行一个SpringBoot项目
在项目开发阶段,为了能够快速测试一个SpringBoot项目的执行结果,就可以采用终端(黑窗)运行查看,因为我们不能要求每一个客户都安装idea并且适配我们的项目版本。 下面将展示打包运行这两个方面的过程: 创建…...
多线程与并发编程 面试专题
多线程与并发编程 面试专题 线程的基础概念基础概念线程的创建线程的状态线程的终止方式start 与 run 区别线程的常用方法 锁锁的分类深入synchronized深入ReentrantLock死锁问题 阻塞队列线程池 线程的基础概念 基础概念 进程与线程 进程:指运行中的程序。 比如我…...
米尔电子-LR3568-烧录鸿蒙
最近开始搞鸿蒙,用的是米尔的LR3568。 开贴记录。 首先要在LR3568上烧录鸿蒙 一、安装准备 1.从米尔电子上下载资料 网址:米尔开发者中心 注册完成后,进入页面,选择我的产品,添加PN和SN PN和SN可以在包装盒上找到 添加到这里…...
Redis Sentinel 及 Redisson 连接问题全解析
在 Kubernetes (k8s) 环境下使用 Redis Sentinel 进行高可用部署时,可能会遇到 failover 超时、Sentinel 误判、Spring Boot 连接失败 以及 Redisson 配置错误等问题。本文将对这些问题进行汇总分析,并提供详细的解决方案。 1️⃣ Redis Sentinel 介绍 …...
基于Flink SQL的实时指标多维分析模型
数据流程介绍 1.创建源表kafka接入消息队列数据,定义字段映射规则; 2.创建目标表es_sink配置Elasticsearch输出; 3.通过多级视图(tmp→tmp_dedup→tmp1/tmp2→tmp3→tmp_groupby)实现数据清洗、去重、状态计算&#x…...
算法刷题整理合集(一)
算法刷题整理合集(一) 本篇博客旨在记录自已的算法刷题练习成长,里面注有详细的代码注释以及和个人的思路想法,希望可以给同道之人些许帮助。本人也是算法小白,水平有限,如果文章中有什么错误或遗漏之处&am…...
C++ STL—— String库
在C编程中,字符串操作是几乎每个项目都会涉及的基础功能。C标准模板库(STL)中的string类为我们提供了强大而灵活的工具,使得字符串的处理变得简单高效。无论是字符串的创建、修改、查找,还是复杂的文本处理,…...
【从零开始学习计算机科学】数据库系统(二)关系数据库 与 关系代数
【从零开始学习计算机科学】数据库系统(二)关系数据库 与 关系代数 关系数据库结构化查询语言SQL数据定义语言(DDL)数据查询语言(Data Query Language, DQL)数据操纵语言(Data Manipulation Language, DML)数据控制语言(Data Control Language, DCL)关系型数据库的优…...
DoS攻击防范
一、网络架构优化 使用CDN或反向代理 通过内容分发网络(CDN)或反向代理(如Nginx)分散流量,将请求分发到多个服务器节点,减轻单点压力,同时过滤异常请求。 负载均衡技术 部署负载均衡设备&#…...
Linux驱动开发实战(四):设备树点RGB灯
Linux驱动开发实战(四):设备树点RGB灯 文章目录 Linux驱动开发实战(四):设备树点RGB灯前言一、驱动实现1.1 驱动设计思路1.2 关键数据结构1.3 字符设备操作函数1.4 平台驱动探测函数1.5 匹配表和平台驱动结…...
vue中,watch里,this为undefined的两种解决办法
提示:vue中,watch里,this为undefined的两种解决办法 文章目录 [TOC](文章目录) 前言一、问题二、方法1——使用function函数代替箭头函数()>{}三、方法2——使用that总结 前言 尽量使用方法1——使用function函数代替箭头函数()…...
设计模式C++
针对一些经典的常见的场景, 给定了一些对应的解决方案,这个就叫设计模式。 设计模式的作用:使代码的可重用性高,可读性强,灵活性好,可维护性强。 设计原则: 单一职责原则:一个类只做一方面的…...
前端构建工具进化论:从Grunt到Turbopack的十年征程
前端构建工具进化论:从Grunt到Turbopack的十年征程 一、石器时代:任务自动化工具(2012-2014) 1.1 Grunt:首个主流构建工具 // Gruntfile.js 典型配置 module.exports function(grunt) {grunt.initConfig({concat: {…...
设备预测性维护:企业降本增效的关键密码
在当今竞争激烈的商业战场中,企业犹如一艘在波涛汹涌大海上航行的巨轮,要想乘风破浪、稳步前行,降本增效便是那至关重要的 “船锚”,帮助企业在复杂的市场环境中站稳脚跟。而设备预测性维护,正是开启企业降本增效大门的…...
css基本功
为什么 ::first-letter 是伪元素? ::first-letter 的作用是选择并样式化元素的第一个字母,它创建了一个虚拟的元素来包裹这个字母,因此属于伪元素。 grid布局 案例一 <!DOCTYPE html> <html lang"zh-CN"><head&…...
信号处理抽取多项滤波的数学推导与仿真
昨天的《信号处理之插值、抽取与多项滤波》,已经介绍了插值抽取的多项滤率,今天详细介绍多项滤波的数学推导,并附上实战仿真代码。 一、数学变换推导 1. 多相分解的核心思想 将FIR滤波器的系数 h ( n ) h(n) h(n)按相位分组,每…...
C++双端队列知识点+习题
在C中,双端队列(Deque,发音为“deck”)是标准模板库(STL)中的一种容器适配器,其全称为Double-Ended Queue。它结合了队列和栈的特点,允许在容器的两端(前端和后端&#x…...
【递归、搜索和回溯算法】专题二 :二叉树中的深搜
二叉树中的深搜 深度优先遍历(DFS):一种沿着树或图的深度遍历节点的算法,尽可能深地搜索树或图的分支,如果一条路径上的所有结点都被遍历完毕,就会回溯到上一层,继续找一条路遍历。 在二叉树中…...
Vue3计算属性深度解析:经典场景与Vue2对比
一、计算属性的核心价值 计算属性(Computed Properties)是Vue响应式系统的核心特性之一,它通过依赖追踪和缓存机制优雅地解决模板中复杂逻辑的问题。当我们需要基于现有响应式数据进行派生计算时,计算属性总能保持高效的性能表现…...
UE5与U3D引擎对比分析
Unreal Engine 5(UE5)和Unity 3D(U3D)是两款主流的游戏引擎,适用于不同类型的项目开发。以下是它们的主要区别,分点整理: 1. 核心定位 UE5: 主打3A级高画质项目(如主机/P…...
【vue3学习笔记】(第150-151节)computed计算属性;watch监视ref定义的数据
尚硅谷Vue2.0Vue3.0全套教程丨vuejs从入门到精通 本篇内容对应课程第150-151节 课程 P150节 《computed计算属性》笔记 写一个简单的 姓、名输入框效果: 用vue2的形式定义一个计算属性 fullName: 测试页面展示无问题: 但是,在vue…...
