(已解决)Linux环境—bash: wget: command not found; Docker pull报错Error response from daemon: Get https://registry-1.docker.io/v2/: net/http: request canceled

简介: (已成功解决)Linux环境报错—bash: wget: command not found;常见Linux发行版本,Linux中yum、rpm、apt-get、wget的区别;Docker pull报错Error response from daemon: Get https://registry-1.docker.io/v2/: net/http: request canceled

文章目录

一、Linux环境—bash: wget: command not found

  • 1.1 CentOS版本

  • 1.2 Debian(如Ubuntu)

  • 1.3 补充

    • 1.3.1 常见Linux发行版本
    • 1.3.2 Linux中yum、rpm、apt-get、wget的区别

二、Docker pull报错Error response from daemon: Get https://registry-1.docker.io/v2/: net/http: request canceled

  • 2.1 解决方法
  • 2.2 手动拉取 补充

一、Linux环境—bash: wget: command not found

在Linux环境下,我们经常会用wget命令下载一些安装包、文件,有时会报错bash: wget: command not found,这是因为系统未安装wget工具,解决方案如下:

请先确定你的系统版本根据系统版本选择不同的解决方案。Linux系统查看版本信息

cat /proc/version

#查看当前操作系统发行版信息
cat /etc/redhat-release

1-1.png

1.1 CentOS版本

如果你的系统是 CentOS系列,应该使用 yum 命令来安装 wget

rpm -qa | grep yum                 #检查是否安装yum包

#安装wget并验证yum
yum -y install wget
rpm -qa | grep wget
wget --version


#若显示有安装过,但是还是使用不了wget功能时,先卸载以前安装的wget再重新装一遍
yum remove wget
yum -y install wget

1-2.png

或者

yum update
yum install -y wget
wget --version

1.2 Debian(如Ubuntu)

sudo apt-get update
sudo apt-get install wget
wget --version

1.3 补充

对于初学Linux的人来说,太多的Linux内核版本会让人不知所措,并且刚开始需要我们下载各种编译器、软件包去调试我们的环境。这个时候肯定就需要我们使用到安装下载的工具。所以这里就来一起学习Linux中yum、wget、apt-get的用法和区别吧

Linux系统分为内核版、发行版(Ubuntu/RedHat收费/CentOS-RedHat的社区版、免费)。

  • yum是redhat、centos下的一个软件安装方式,它是基于RedHat的
  • ap-get是ubuntu下的一个软件安装方式,它是基于debain
  • wget不是安装方式,它是一种下载软件、类似于迅雷,如果要下载一个软件 我们可以直接wget 下载地址

Linux软件安装的4种安装方式

  • 二进制发布包安装(软件已经针对具体平台编译打包发布 只需解压、修改配置即可)
  • rpm安装(软件已经按照redhat的包管理规范进行打包 使用rpm命令进行安装 不能自行解决库依赖问题 类似于window控制面板中的程序和功能,rpm -qa查看当前系统中安装的所有软件,rpm -qa | grep mysql )
  • yum安装(一种在线软件安装方式 本质上还是rpm安装 自动下载安装包并安装 安装过程中自动解决库依赖问题)
  • 源码编译安装(软件以源码工程的形式发布 需要自己编译打包)

1.3.1 常见Linux发行版本

一般来说著名的linux系统基本上分两大类:

  • RedHat系列:Redhat、Centos、Fedora等
  • Debian系列:Debian、Ubuntu等
分类 包管理工具 常见安装包格式
基于RedHat Red Hat Enterprise Linux、Centos、Fedora、Oracle Linux yum rpm包。安装rpm包的命令是“rpm -参数”,支持tar包
基于Debian Debian、Ubuntu、Linux Mint、sidux、Google Chrome OS apt-get deb包。安装deb包的命令是“dpkg -参数”,支持tar包

可以看到我们常用的CentOSUtuntu,它们一个是基于Red Hat、一个是基于Debian的。

  • CentOS(Community Enterprise Operating System,中文意思是社区企业操作系统)是Linux发行版之一,它是来自于Red Hat Enterprise Linux依照开放源代码规定释出的源代码所编译而成。由于出自同样的源代码,因此有些要求高度稳定性的服务器以CentOS替代商业版的Red Hat Enterprise Linux使用。两者的不同,在于CentOS完全开源。
  • Ubuntu是一个以桌面应用为主的Linux操作系统,其名称来自非洲南部祖鲁语或豪萨语的“ubuntu"一词,意思是“人性”“我的存在是因为大家的存在",是非洲传统的一种价值观。Ubuntu基于Debian发行版和Gnome桌面环境,而从11.04版起,Ubuntu发行版放弃了Gnome桌面环境,改为Unity。从前人们认为Linux难以安装、难以使用,在Ubuntu出现后这些都成为了历史。Ubuntu也拥有庞大的社区力量,用户可以方便地从社区获得帮助。

Linux系统如何查看版本信息

  • 查看当前操作系统内核信息:uname -a
  • 查看当前操作系统版本信息:cat /proc/version
  • 查看当前操作系统发行版信息: cat /etc/redhat-release 或 cat /etc/issue
  • 查看cpu相关信息,包括型号、主频、内核信息等:cat /proc/cpuinfo
  • 列出所有版本信息:lsb_release -a
uname -a              #查看当前操作系统内核信息
cat /proc/version     #查看当前操作系统版本信息

#查看当前操作系统发行版信息
cat /etc/redhat-release
cat /etc/issue 或   

cat /proc/cpuinfo                          #查看cpu相关信息,包括型号、主频、内核信息等
lsb_release -a                             #列出所有版本信息。出现command not found说明没安装lsb_realease,可以执行命令yum install -y redhat-lsb安装lsb_realease,在线安装完成 #yum install -y redhat-lsb 以后,再次查看

1.3.2 Linux中yum、rpm、apt-get、wget的区别

工具 定义 功能 特点
yum Red Hat系列下的软件包管理器 自动下载、安装、更新、删除RPM包,处理依赖关系 简化了软件包管理操作
rpm Red Hat的软件包格式和管理工具 安装、卸载、查询rpm包 需要手动处理依赖关系
apt-get Debian系列下的软件包管理工具 自动从软件仓库搜索、安装、升级、卸载软件包 自动处理依赖关系,支持多软件源
wget 网络下载工具 通过HTTP、HTTPS、FTP等协议下载文 不是安装方式,但可用于下载软件包
  • yum
    • 定义:yum是Red Hat系列(包括RedHat、CentOS、Fedora等)下基于rpm包的软件包管理器,全称为Yellow dog Updater, Modified。
    • 功能:基于RPM包管理,能够自动从指定的服务器下载RPM包并安装,同时自动处理软件包之间的依赖关系,确保所有必要的依赖包都被安装。
    • 优点:简化了软件包的安装、更新、删除等管理操作,用户无需手动下载和安装依赖包。
  • rpm
    • 定义:rpm是Red Hat的软件包格式和管理工具,全称为Red Hat Package Manager。
    • 功能:用于安装、卸载和查询rpm格式的软件包。用户可以通过rpm命令直接管理rpm包。
    • 特点:rpm包是预先编译好的二进制包,安装时不需要用户编译源代码。但是使用rpm安装软件包时,需要用户手动处理依赖关系。
  • apt-get
    • 定义:apt-get是Debian系列(包括Debian、Ubuntu等)下的软件包管理工具,全称为Advanced Package Tool,又名apt-get。
    • 功能:用于自动从互联网的软件仓库中搜索、安装、升级、卸载软件包或操作系统。apt-get能够自动处理依赖关系,确保所有必要的软件包都被安装。
    • 优点:提供了强大的软件包管理功能,支持从多个软件源获取软件包,并且能够自动更新软件仓库的索引信息。
  • wget
    • 定义:wget不是安装方式,而是一种网络下载工具,类似于迅雷等下载软件。CentOS和Ubuntu都可以用 wget命令用来从指定的URL下载文件,而后通过yum、rpm、apt-get等方式安装。
    • 功能:通过HTTP、HTTPS、FTP等协议从指定的URL下载文件。wget具有在不稳定网络中重试下载的能力,非常适合用于下载大文件或网络条件较差的情况。
    • 特点wget本身并不是一种安装方式,而是一种下载工具。用户可以使用wget下载软件包后,再通过其他方式(如rpm、yum、apt-get等)进行安装。

rpm与yum区别

  • RPM 是 LINUX 下的一种软件的可执行程序,你只要安装它就可以了。这种软件安装包通常是一个RPM包(Redhat Linux Packet Manager,就是Redhat的包管理器,底层管理工具),后缀是.rpm,适用于所有环境。在安装软件时只会安装指定的软件,而不会安装依赖性文件,若所安装软件无依赖性文件或依赖性文件被解决,则可以安装,否则会报错。需要手工解决软件包的依赖关系,很复杂。

  • YUM(Yellow dog Updater, Modified)基于 rpm,增加了自动解决依赖关系的方案,是上层管理工具,是rpm的前端程序,会自动解决依赖性。yum 在服务器端(yum仓库)存有所有的 RPM 包,并将各个包之间的依赖关系记录在文件中,当使用 yum 安装 RPM 包时,yum 会先从服务器端(仓库 可为本地仓库,也可为HTTP、FTP、nfs形式使用的集中地、统一的网络仓库)下载包的依赖性文件,通过分析此文件从服务器端一次性下载所有相关的 RPM 包并进行安装。

    其特点:自动解决依赖关系;可以对rpm进行分组,基于组进行安装操作;引入仓库概念,支持多个仓库;配置简单

~~

yum install 和 apt-get install 的主要区别在于它们适用于不同的Linux发行版,‌并且处理软件包的方式有所不同。‌

  • 适用范围:‌yum 是 Fedora、‌Red Hat 和 SUSE 等基于 rpm 的 Linux 发行版的包管理器,‌而 apt-get 主要用于 Debian、‌Ubuntu 等基于 deb 的 Linux 发行版。‌这意味着,‌如果你在使用 Red Hat 系列(‌如 CentOS、‌Fedora)‌的系统上,‌你会使用 yum 来管理软件包;‌如果你在使用 Debian 系列(‌如 Ubuntu、‌Linux Mint)‌的系统上,‌则应该使用 apt-get。‌
  • 下载和安装:‌yum 和 apt-get 都能够自动从互联网的软件仓库中搜索、‌安装、‌升级和卸载软件或操作系统。‌但它们处理的方式有所不同。‌yum 能够从指定的服务器自动下载 RPM 包并且安装,‌可以自动处理依赖性关系,‌并且一次安装所有依赖的软体包,‌而无需繁琐地一次次下载、‌安装;apt-get 则用于运作 deb 包,‌提供类似的功能,‌但针对的是 deb 格式的软件包。‌
  • 命令格式:‌yum 使用的命令格式为 "yum [option] [command]",‌例如安装软件包使用 "yum install \"。‌apt-get 使用的命令格式为 "apt-get [option] [command]",‌安装软件包使用 "apt-get install \"。‌

总的来说,‌yum 和 apt-get 是 Linux 系统中用于管理软件包的两种主要工具,‌它们各自适用于不同的 Linux 发行版,‌并且根据软件包的类型(‌rpm 或 deb)‌和系统的具体配置来选择使用。‌两者都能自动化地处理软件包的依赖关系,‌并从远程仓库下载和安装软件包,‌但命令格式和使用方法略有不同。

相关详解及命令可查阅 Linux中yum、rpm、apt-get、wget的区别,yum、rpm、apt-get常用命令,CentOS、Ubuntu中安装wget

二、Docker pull报错Error response from daemon: Get https://registry-1.docker.io/v2/: net/http: request canceled

通过docker pull xxx:xxx拉取镜像时,报错 Error response from daemon: Get "https://registry-1.docker.io/v2/": net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)

该问题为网络问题,连接不通:docker官方镜像仓库Docker Hub 下载速度在国内是很慢的、网速较差,我们需要设置国内镜像服务,配置镜像加速

2.1 解决方法

sudo mkdir -p /etc/docker     #如果已有/etc/docker/daemon.son文件,可跳过这一步
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://z4zszcfk.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

如果以上修改后仍报错,可添加镜像仓库(亲测有效):vi /etc/docker/daemon.json,写入以下内容,重新systemctl daemon-reload、systemctl restart docker,再次docker pull便可成功拉取

{
   
  "registry-mirrors": [
        "https://z4zszcfk.mirror.aliyuncs.com",
        "https://0dj0t5fb.mirror.aliyuncs.com",
        "https://docker.mirrors.ustc.edu.cn",
        "https://6kx4zyno.mirror.aliyuncs.com",
        "https://registry.docker-cn.com",
        "http://hub-mirror.c.163.com",
        "https://2a6bf1988cb6428c877f723ec7530dbc.mirror.swr.myhuaweicloud.com",
        "https://docker.m.daocloud.io",
        "https://hub-mirror.c.163.com",
        "https://mirror.baidubce.com",
        "https://your_preferred_mirror",
        "https://dockerhub.icu",
        "https://docker.registry.cyou",
        "https://docker-cf.registry.cyou",
        "https://dockercf.jsdelivr.fyi",
        "https://docker.jsdelivr.fyi",
        "https://dockertest.jsdelivr.fyi",
        "https://mirror.aliyuncs.com",
        "https://dockerproxy.com",
        "https://docker.m.daocloud.io",
        "https://docker.nju.edu.cn",
        "https://docker.mirrors.sjtug.sjtu.edu.cn",
        "https://docker.mirrors.ustc.edu.cn",
        "https://mirror.iscas.ac.cn",
        "https://docker.rainbond.cc"
  ]
}

2-1.png

2.2 手动拉取 补充

看到网上说,可手动指定仓库,即在pull的同时指定仓库,一同贴出来,我自己是没成功

docker pull 仓库名/镜像名:版本号
#示例
docker pull docker.mirrors.ustc.edu.cn/library/mysql
相关文章
|
2天前
|
调度 云计算 芯片
云超算技术跃进,阿里云牵头制定我国首个云超算国家标准
近日,由阿里云联合中国电子技术标准化研究院主导制定的首个云超算国家标准已完成报批,不久后将正式批准发布。标准规定了云超算服务涉及的云计算基础资源、资源管理、运行和调度等方面的技术要求,为云超算服务产品的设计、实现、应用和选型提供指导,为云超算在HPC应用和用户的大范围采用奠定了基础。
|
9天前
|
存储 运维 安全
云上金融量化策略回测方案与最佳实践
2024年11月29日,阿里云在上海举办金融量化策略回测Workshop,汇聚多位行业专家,围绕量化投资的最佳实践、数据隐私安全、量化策略回测方案等议题进行深入探讨。活动特别设计了动手实践环节,帮助参会者亲身体验阿里云产品功能,涵盖EHPC量化回测和Argo Workflows量化回测两大主题,旨在提升量化投研效率与安全性。
云上金融量化策略回测方案与最佳实践
|
11天前
|
人工智能 自然语言处理 前端开发
从0开始打造一款APP:前端+搭建本机服务,定制暖冬卫衣先到先得
通义灵码携手科技博主@玺哥超carry 打造全网第一个完整的、面向普通人的自然语言编程教程。完全使用 AI,再配合简单易懂的方法,只要你会打字,就能真正做出一个完整的应用。
8905 20
|
15天前
|
Cloud Native Apache 流计算
资料合集|Flink Forward Asia 2024 上海站
Apache Flink 年度技术盛会聚焦“回顾过去,展望未来”,涵盖流式湖仓、流批一体、Data+AI 等八大核心议题,近百家厂商参与,深入探讨前沿技术发展。小松鼠为大家整理了 FFA 2024 演讲 PPT ,可在线阅读和下载。
4769 12
资料合集|Flink Forward Asia 2024 上海站
|
15天前
|
自然语言处理 数据可视化 API
Qwen系列模型+GraphRAG/LightRAG/Kotaemon从0开始构建中医方剂大模型知识图谱问答
本文详细记录了作者在短时间内尝试构建中医药知识图谱的过程,涵盖了GraphRAG、LightRAG和Kotaemon三种图RAG架构的对比与应用。通过实际操作,作者不仅展示了如何利用这些工具构建知识图谱,还指出了每种工具的优势和局限性。尽管初步构建的知识图谱在数据处理、实体识别和关系抽取等方面存在不足,但为后续的优化和改进提供了宝贵的经验和方向。此外,文章强调了知识图谱构建不仅仅是技术问题,还需要深入整合领域知识和满足用户需求,体现了跨学科合作的重要性。
|
23天前
|
人工智能 自动驾驶 大数据
预告 | 阿里云邀您参加2024中国生成式AI大会上海站,马上报名
大会以“智能跃进 创造无限”为主题,设置主会场峰会、分会场研讨会及展览区,聚焦大模型、AI Infra等热点议题。阿里云智算集群产品解决方案负责人丛培岩将出席并发表《高性能智算集群设计思考与实践》主题演讲。观众报名现已开放。
|
11天前
|
人工智能 容器
三句话开发一个刮刮乐小游戏!暖ta一整个冬天!
本文介绍了如何利用千问开发一款情侣刮刮乐小游戏,通过三步简单指令实现从单个功能到整体框架,再到多端优化的过程,旨在为生活增添乐趣,促进情感交流。在线体验地址已提供,鼓励读者动手尝试,探索编程与AI结合的无限可能。
三句话开发一个刮刮乐小游戏!暖ta一整个冬天!
|
10天前
|
消息中间件 人工智能 运维
12月更文特别场——寻找用云高手,分享云&AI实践
我们寻找你,用云高手,欢迎分享你的真知灼见!
887 59