web-dev-qa-db-ja.com

apt-get update stuck:security.ubuntu.comへの接続

マシンでapt-get updateを実行すると、次のようになります。

100% [Connecting to security.ubuntu.com (2001:67c:1562::15)] [Connecting to archive.canonical.com (2001:67c:1360:8c01::16)]

システムに最近変更を加えたことはなく、以前は正常に機能していたホームネットワークを使用しています。

IPv6を使用するようになった理由を説明できません。
無線ネットワークのignoreにIPv6を設定しています:

enter image description here

ip addrの出力:

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default 
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope Host lo
   valid_lft forever preferred_lft forever
inet6 ::1/128 scope Host 
   valid_lft forever preferred_lft forever
2: mlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 4c:0b:be:22:0a:b4 brd ff:ff:ff:ff:ff:ff
inet 192.168.2.106/24 brd 192.168.2.255 scope global dynamic mlan0
   valid_lft 1814086sec preferred_lft 1814086sec
inet6 ::d5:b551:28db:2789:225/64 scope global temporary dynamic 
   valid_lft 604483sec preferred_lft 85483sec
inet6 ::d5:4e0b:beff:fe22:ab4/64 scope global mngtmpaddr dynamic 
   valid_lft 604779sec preferred_lft 86379sec
inet6 fe80::4e0b:beff:fe22:ab4/64 scope link 
   valid_lft forever preferred_lft forever
77
Pabi

ネットワークのIPv6設定は無視されましたが、/etc/sysctl.confを介したIPv6の無効化は機能しました:

/etc/sysctl.confの下部に次の行を追加します。

net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1

Sudo sysctl -pを実行して、/etc/sysctl.conf設定を再読み込みします。

23
Pabi

Zach Adamsのご厚意によりこれが機能しました( https://zach-adams.com/2015/01/apt-get-cant-connect-to-security-ubuntu-fix/ ):

これは、一部のサーバーでIPv6を介して接続すると、この時点でサーバーがスタックする問題であることが判明しました。修正は本当に簡単です。

オープン/ etc/gai.conf

ラインの下で

# For sites which prefer IPv4 connections change the last line to

#を削除して、次の行のコメントを解除します。

# precedence ::ffff:0:0/96 100

これにより、引き続きIPv6を使用できますが、apt-getがスタックしないようにIPv4を優先順位として設定します。

160
billynoah

より良いアプローチは、gai.confファイルを編集する代わりに、次のようにapt-getを使用することです。

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

これを永続的にしたい場合は、bashファイルに「apt-get」のエイリアスを追加するだけです。

14
Vinay Sheshadri

他の解決策は役に立ちませんでした...私の場合、私はUbuntu 18.04を使用してaws ec2インスタンスを作成しました

Auto-assign Public IP -> no pick disable

提案されたすべての解決策を試した後、手を投げてそれを殺し、次を使用して新しいec2インスタンスを作成しました

Auto-assign Public IP -> yes  Use subnet setting (Enable) 

そしてそれはうまくいきました... apt-get update && apt-get upgradeは今幸せです

0
Scott Stensland