Ubuntu curl 问题 :curl: (48) An unknown option was passed in libcrul curl: (6) Could not resolve host:

本文针对在Ubuntu环境下使用curl命令时遇到的问题提供了详细的解决方案,包括处理curl与libcurl版本不一致导致的错误、解决curl无法解析主机名的问题以及连接被拒绝的情况。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我在使用Ubuntu 的时候

现象:curl www.baidu.com

问题:curl: (48) An unknown option was passed in to libcurl

解决:很可能你有一个更新的curl,使用旧的libcurl,不知道curl尝试使用的一个或多个选项。curl --version 出现curl与libcurl 版本不一致,出现这种情况,首先移除旧的curl与libcurl,命令 sudo apt-get remove curl 和 sudo apt-get remove libcurl3,然后安装新的版本的curl,命令:sudo apt-get inastll curl 即可。之后curl --version 出现版本一致即可。

如果没有解决有可能试一试:

ln -s /usr/bin/curl /usr/local/bin/curl

现象:curl  www.baidu.com

问题:curl: (6) Could not resolve host

解决:不幸,还有问题,但我们还可以解决

  1. IPV6已启用
  2. 错误的DNS服务器

以下是我修复它的方法:

IPV6禁用

  • 开放式终端
  • 键入su并输入登录为超级用户
  • 输入root密码
  • 键入cd /etc/modprobe.d/以将目录更改为/etc/modprobe.d/
  • 键入vi disableipv6.conf以在那里创建新文件
  • Esc + i将数据插入文件
  • install ipv6 /bin/true在文件上键入以避免加载与IPV6相关的模块
  • 键入Esc + :然后wq保存并退出
  • 键入reboot以重新启动fedora
  • 重启后打开终端并输入 lsmod | grep ipv6
  • 如果没有结果,则表示您正确禁用了IPV6

添加Google DNS服务器

  • 开放式终端
  • 键入su并输入登录为超级用户
  • 输入root密码
  • 键入cat /etc/resolv.conf以检查您的Fedora使用的DNS服务器。这主要是你的调制解调器IP地址。
  • 现在我们必须找到一个强大的DNS服务器。幸运的是,谷歌有一个开放的DNS服务器。
  • 转到此页面,找出“Google公共DNS IP地址”是什么
  • 今天是8.8.8.88.8.4.4。但是将来这些可能会改变。
  • 输入vi /etc/resolv.conf以编辑resolv.conf文件
  • 按下Esc + i将数据插入文件
  • 通过在每行的开头插入#来注释文件中的所有内容。不要删除任何内容,因为将来可能会有用。
  • 在文件中键入以下两行

    nameserver 8.8.8.8 
    nameserver 8.8.4.4

    -Type Esc + :然后wq进行保存并退出

  • 现在你完成了,一切正常(没有必要重新启动)。
  • 之后如图正常即可
  •  

3 .现象: curl -sSL https://goo.gl/6wtTN5 | bash -s 1.1.0

问题:curl: (7) Failed to connect to goo.gl port 443: Connection refused

解决:原因未知,下载https://github.com/hyperledger/fabric/tree/release-1.1,打开scripts文件夹,粘贴bootstrap.sh , 命令:chmod a+x bootstrap.sh  和 ./bootstrap.sh 即可,出现下图即可:

解决 `curl: Could not resolve host: mirrors.aliyun.com; Unknown error` 这类问题,通常涉及以下几个方面的排查和修复: ### 1. 网络连接检查 首先确认系统是否能够正常访问外部网络。可以尝试使用 `ping` 命令测试与公网的连通性: ```bash ping -c 4 aliyun.com ``` 如果无法 ping 通,则说明存在网络连接问题。需要检查物理网络、虚拟机网络配置或云主机的安全组设置[^1]。 ### 2. DNS 解析问题 由于错误提示为“Could not resolve host”,这表明域名解析失败。可以尝试以下方法: - **修改 `/etc/resolv.conf` 文件**,添加可靠的 DNS 服务器地址,例如阿里云公共 DNS 或 Google Public DNS: ```bash nameserver 8.8.8.8 nameserver 8.8.4.4 ``` 或者使用阿里云 DNS: ```bash nameserver 223.5.5.5 nameserver 223.6.6.6 ``` - **临时测试 DNS 解析情况**,使用 `nslookup` 或 `dig` 命令验证域名能否被正确解析: ```bash nslookup mirrors.aliyun.com ``` 如果返回空结果或超时,则说明当前 DNS 服务不可用[^1]。 ### 3. 更换 YUM 源 如果问题持续出现在特定镜像源(如 `mirrors.aliyun.com`),可以考虑更换为其他可用镜像源。例如将 CentOS 的默认源替换为清华大学镜像站: ```bash mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.tuna.tsinghua.edu.cn/repo/cntendos7.repo yum makecache ``` 此操作会更新软件仓库缓存并尝试使用新源进行包管理操作[^3]。 ### 4. 清除 YUM 缓存 有时候旧的缓存可能导致问题,可以尝试清除现有缓存后重新加载: ```bash yum clean all yum makecache ``` ### 5. 关闭 fastestmirror 插件(可选) 某些情况下,`fastestmirror` 插件可能会导致镜像选择异常,可以尝试关闭它: ```bash sed -i 's/enabled=1/enabled=0/g' /etc/yum/pluginconf.d/fastestmirror.conf ``` 然后再次运行 `yum install` 命令[^2]。 ### 6. IPv6 网络问题 如果日志中出现类似 `[Errno 14] curl#7 - "Failed to connect to 2407:3640:...: 网络不可达"` 的信息,可能是由于系统尝试通过 IPv6 地址访问资源但未启用 IPv6 支持。可以通过禁用 IPv6 来规避这个问题: 在 `/etc/sysctl.conf` 中添加以下内容: ```bash net.ipv6.conf.all.disable_ipv6 = 1 net.ipv6.conf.default.disable_ipv6 = 1 ``` 然后执行: ```bash sysctl -p ``` 以立即生效。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值