You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

wget报错Temporary failure in name resolution无法解析主机地址如何解决

问题根因

你遇到的问题由三个已知错误触发:

  1. 服务器DNS解析失败:无法正常解析AWS S3存储桶的公网域名,属于服务器网络配置问题
  2. 下载链接过期:你拿到的链接是AWS签名临时链接,X-Amz-Expires=180参数明确说明链接有效期只有3分钟,复制到服务器执行时大概率已经失效
  3. 文件名自动截断:带签名的URL总长度超过wget默认支持的文件名长度,自动截断后就算下载成功也会得到名称异常的文件,且你原命令中--progres=dot参数拼写错误,少了末尾的s
分步解决方案

1. 修复DNS解析问题

  • 先测试域名连通性:执行ping ni****.s3.amazonaws.com,把占位符替换为你日志里的完整S3域名
  • 如果ping不通,替换公共DNS:
    • 编辑DNS配置文件:sudo vim /etc/resolv.conf
    • 写入以下两行配置覆盖原有nameserver:
      nameserver 8.8.8.8
      nameserver 1.1.1.1
      
    • 保存后验证解析:nslookup ni****.s3.amazonaws.com,能正常返回IP地址即修复完成
  • 如果仍然解析失败,说明你的服务器网络屏蔽了AWS S3公网访问,要么更换有公网访问权限的服务器,要么在wget参数里添加代理配置:-e use_proxy=yes -e http_proxy=http://你的代理地址:端口 -e https_proxy=http://你的代理地址:端口

2. 修复命令参数与链接过期问题

  • 本地浏览器点击下载按钮,刚弹出下载任务的瞬间复制完整下载链接,必须在3分钟内将链接粘贴到服务器执行,避免签名过期
  • 给wget添加-O参数手动指定保存的文件名,避免自动截断URL,修复后的命令格式如下:
    sudo wget -v --report-speed=bits -o log --progress=dot --continue --timestamping -O 你要保存的数据集文件名.tar.gz "你刚复制的完整带签名下载链接"
    

3. 实现断开SSH会话后仍保持下载

不需要安装VNC,用nohup或者tmux即可实现后台常驻下载:

  • 简单方案用nohup:直接在命令开头加nohup、末尾加&即可
    nohup sudo wget -v --report-speed=bits -o log --progress=dot --continue --timestamping -O 数据集文件名.tar.gz "下载链接" &
    
    执行后直接关闭SSH会话也不会中断下载,随时可以用cat log查看进度,ps aux | grep wget查看进程状态
  • 更稳定方案用tmux:先执行tmux new -s download创建专属会话,在会话内执行下载命令,按Ctrl+B再按D即可退出会话,下次要查看进度执行tmux a -t download即可,断网也不会中断任务

备用方案

如果wget执行仍然失败,把浏览器开发者工具复制的curl命令加上-C -参数支持断点续传,再套nohup后台运行即可:

nohup 你复制的完整curl命令 -C - -o 保存的数据集文件名 &

内容的提问来源于stack exchange,提问作者Zabir Al Nazi Nabil

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 03:45:01