
文章目录
一、Linux环境—bash: wget: command not found
二、Docker pull报错Error response from daemon: Get https://registry-1.docker.io/v2/: net/http: request canceled
在Linux环境下,我们经常会用wget命令下载一些安装包、文件,有时会报错bash: wget: command not found,这是因为系统未安装wget工具,解决方案如下:
请先确定你的系统版本根据系统版本选择不同的解决方案。Linux系统查看版本信息
cat /proc/version
#查看当前操作系统发行版信息
cat /etc/redhat-release
如果你的系统是 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
或者
yum update
yum install -y wget
wget --versionsudo apt-get update
sudo apt-get install wget
wget --version对于初学Linux的人来说,太多的Linux内核版本会让人不知所措,并且刚开始需要我们下载各种编译器、软件包去调试我们的环境。这个时候肯定就需要我们使用到安装下载的工具。所以这里就来一起学习Linux中yum、wget、apt-get的用法和区别吧
Linux系统分为内核版、发行版(Ubuntu/RedHat收费/CentOS-RedHat的社区版、免费)。
wget 下载地址Linux软件安装的4种安装方式:
一般来说著名的linux系统基本上分两大类:
分类 | 包管理工具 | 常见安装包格式 | |
|---|---|---|---|
基于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包 |
可以看到我们常用的CentOS和Utuntu,它们一个是基于Red Hat、一个是基于Debian的。
Linux系统如何查看版本信息
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 以后,再次查看工具 | 定义 | 功能 | 特点 |
|---|---|---|---|
yum | Red Hat系列下的软件包管理器 | 自动下载、安装、更新、删除RPM包,处理依赖关系 | 简化了软件包管理操作 |
rpm | Red Hat的软件包格式和管理工具 | 安装、卸载、查询rpm包 | 需要手动处理依赖关系 |
apt-get | Debian系列下的软件包管理工具 | 自动从软件仓库搜索、安装、升级、卸载软件包 | 自动处理依赖关系,支持多软件源 |
wget | 网络下载工具 | 通过HTTP、HTTPS、FTP等协议下载文 | 不是安装方式,但可用于下载软件包 |
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",例如安装软件包使用 "yum install \<package_name>"。apt-get 使用的命令格式为 "apt-get option",安装软件包使用 "apt-get install \<package_name>"。 总的来说,yum 和 apt-get 是 Linux 系统中用于管理软件包的两种主要工具,它们各自适用于不同的 Linux 发行版,并且根据软件包的类型(rpm 或 deb)和系统的具体配置来选择使用。两者都能自动化地处理软件包的依赖关系,并从远程仓库下载和安装软件包,但命令格式和使用方法略有不同。
相关详解及命令可查阅 Linux中yum、rpm、apt-get、wget的区别,yum、rpm、apt-get常用命令,CentOS、Ubuntu中安装wget
通过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 下载速度在国内是很慢的、网速较差,我们需要设置国内镜像服务,配置镜像加速
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"
]
}
看到网上说,可手动指定仓库,即在pull的同时指定仓库,一同贴出来,我自己是没成功
docker pull 仓库名/镜像名:版本号
#示例
docker pull docker.mirrors.ustc.edu.cn/library/mysql原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。