获取 apt-get 停止使用 ipv6

获取 apt-get 停止使用 ipv6

我正在尝试使用apt-get update或任何其他apt-get 命令,但出现了此错误:

    Hiba történt „2001:db8:dbb:1:1:1:1:221:8049” feloldásakor 
    (-9 - A címcsalád a gépnévhez nem támogatott) 
(google translate)
    There was an error "2001: db8: DBB: 1:1:1:1:221:8049" resolving 
    (-9 - Address family for hostname not supported)

这很奇怪,因为该机器不再有 Ipv6。之前有,但是移除了路由器,将 Ipv6 分配给了该机器,然后我通过 GUI 从网络配置中删除了 ipv6 关联。

我错过了什么?

答案1

我想我找到了问题的根源,列出的 IPv6 地址无效。您是否有可能在系统中配置了 IPv6 代理(http 代理或 socks 代理)?因为它看起来像 IPv6 地址和端口 (8049)。

您可以通过执行以下操作来检查环境变量http_proxy是否包含某些值:

echo $http_proxy

或检查您的网络设置。

另一个可以定义代理的地方是 APT 配置,它位于/etc/apt/apt.conf文件或/etc/apt/apt.conf.d/目录中。您应该查找Acquire::http::Proxy "<URI>";块中的设置或写入内容:

Acquire
{
  http
  {
    Proxy "<URI>";
  };
};

另外,使用原始 IPv6 地址和 URI 时,请记住将 IPv6 地址括在括号中,例如 http://[2001:db8:dbb:1:1:1:1:221]:8049/

这可能看起来类似:

# http_proxy=2001:db8:dbb:1:1:1:1:221:8049 apt-get update
Err http://ftp.cz.debian.org wheezy InRelease                             
Err http://security.debian.org wheezy/updates InRelease                   
Err http://ftp.cz.debian.org wheezy Release.gpg
  Could not resolve 'db8:dbb:1:1:1:1:221'
Err http://security.debian.org wheezy/updates Release.gpg
  Could not resolve 'db8:dbb:1:1:1:1:221'
Reading package lists... Done
W: Failed to fetch http://ftp.cz.debian.org/debian/dists/wheezy/InRelease  
W: Failed to fetch http://security.debian.org/dists/wheezy/updates/InRelease  
W: Failed to fetch http://ftp.cz.debian.org/debian/dists/wheezy/Release.gpg  Could not resolve 'db8:dbb:1:1:1:1:221'
W: Failed to fetch http://security.debian.org/dists/wheezy/updates/Release.gpg  Could not resolve 'db8:dbb:1:1:1:1:221'
W: Some index files failed to download. They have been ignored, or old ones used instead.

更一般的提示:

您可以使用以下命令从命令行检查 IPv6 配置ip

地址:

# ip -6 a s
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qlen 1000
    inet6 2a01:5f0:1006::59bb:820d/64 scope global 
       valid_lft forever preferred_lft forever
    inet6 fe80::5054:ff:fe6a:a954/64 scope link 
       valid_lft forever preferred_lft forever

和路线:

# ip -6 r s
2a01:5f0:1006::/64 dev eth0  proto kernel  metric 256 
fe80::/64 dev eth0  proto kernel  metric 256 
default via 2a01:5f0:1006::1 dev eth0  metric 1024 

无论如何,由于正常的操作模式是先尝试 IPv6 地址,然后回退到 IPv4,而这种情况并没有发生,您还应该检查 APT 配置中是否有任何主机写为 IPv6 地址或仅解析为 IPv6 地址(正如 dobey 所建议的那样)。您可能还想检查您的 /etc/hosts 文件,您可能已经手动编写了从 .deb 存档主机名到仅 IPv6 地址的映射 - 您可以通过从 APT 配置中 ping 主机名来验证这一点(检查/etc/apt/sources.list文件和/etc/apt/sources.list.d/目录中的所有文件)。

还要检查您的代理(系统或仅 APT)配置,因为当您早已忘记此设置时,它可能会意外地出现。

答案2

尝试使用 ipv4 :

sudo apt-get -o Acquire::ForceIPv4=true update

如果您想使其持久,只需在您的 bash 文件中添加“apt-get”的别名。

相关内容