
先月、アップデートとアップグレードにapt-getを使用するLinuxディストリビューションに奇妙な問題が発生しました。sudo apt-get updateコマンドを実行すると、デフォルトのリポジトリへの接続時にプロセスが停止したり、アップデートプロセス中にヘッダーをダウンロードする際に速度が極端に低下したりしていました。
何度もトラブルシューティングを繰り返し、DNS、キャッシュ、ゲートウェイの問題など、間違った解決策を突き止めようとした結果、ついに問題を発見しました。解決策に驚かれるかもしれません。
参照: システム監視ポリシー (Tech Pro Research)
最初の失敗した修正
以前この問題が発生したときの解決策は、ソフトウェアとアップデートが最適なサーバーからダウンロードできるようにすることでした。これを行うには、「ソフトウェアとアップデート」を開き、ドロップダウンから「ダウンロード」をクリックして「その他」を選択します。
表示されるウィンドウ(図A)で「最適なサーバーを選択」をクリックし、システムがあなたの所在地に最適なサーバーを自動的に選択します。設定が完了したら、「サーバーを選択」をクリックし、sudoパスワードを入力して「認証」をクリックします。処理が完了したら「閉じる」をクリックし、プロンプトが表示されたら「再読み込み」をクリックします。これで完了です。
図A

通常の状況であれば、これで問題は解決しますが、今回はうまくいきませんでした。
前進、前進。
正しい修正
これを解決するのにかなり時間がかかりましたが、問題はIPv6にあります。IPv6を有効にすると、最近のネットワークスタックは時々、特にaptでアップデートしようとすると、動作が遅くなるようです。
残念ながら、ネットワーク デバイスの設定で IPv6 を無効にするだけでは不十分です。システム全体で IPv6 を完全に無効にする必要があります。そうしないと、apt がうまく機能しなくなります。
システム全体でIPv6を無効にするにはどうすればいいでしょうか?簡単です。sudo nano /etc/sysctl.confコマンドで/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 service networking restartでネットワークを再起動します。コマンドが完了したら、sudo apt-get updateを再度実行すると、プロセスが期待どおりに動作するはずです。
予想外のボーナス
IPv6をグローバルに無効化したところ、他の多くのネットワークサービスがはるかにスムーズに動作するようになりました。ウェブブラウジングの信頼性が向上し(GoogleアプリやFacebookで突然停止することがなくなりました)、Spotifyが原因不明のフリーズを起こさなくなり、ダウンロード速度も大幅に向上しました。この修正は必須です。少なくともIPv6の問題が解決するまでは。
今すぐこれを実行してください
この修正は、ネットワークやシステム上の他のスタックには影響しません。唯一の問題は、IPv6を主要なネットワークスキームとして使用している場合です。その場合、apt-getで問題が発生する可能性は低いでしょう。
このソリューションを強くお勧めします。Linuxマシンでより堅牢で信頼性の高いネットワーク体験をお楽しみいただけます。