Linuxマシンでapt-getアップデートが遅い問題を解決する方法 - TechRepublic

Linuxマシンでapt-getアップデートが遅い問題を解決する方法 - TechRepublic

先月、アップデートとアップグレードに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マシンでより堅牢で信頼性の高いネットワーク体験をお楽しみいただけます。

Tagged: