【Linux】Ubuntuでapt updateが出来ないエラーが発生した時の原因と対処法

今回起こった事象と考えられる原因
Ubuntu18.04でLinuxコマンド「apt update」でアップデートしようとした際にに以下のようなエラー分が表示された場合の対処法をメモします。
$ sudo apt update
エラー:1 http://jp.archive.ubuntu.com/ubuntu bionic InRelease
'jp.archive.ubuntu.com' を解決できませんでした
エラー:2 http://jp.archive.ubuntu.com/ubuntu bionic-updates InRelease
'jp.archive.ubuntu.com' を解決できませんでした
エラー:3 http://jp.archive.ubuntu.com/ubuntu bionic-backports InRelease
'jp.archive.ubuntu.com' を解決できませんでした
エラー:4 http://security.ubuntu.com/ubuntu bionic-security InRelease
'security.ubuntu.com' を解決できませんでした
エラー:5 http://archive.ubuntulinux.jp/ubuntu bionic InRelease
'archive.ubuntulinux.jp' を解決できませんでした
エラー:6 http://archive.ubuntulinux.jp/ubuntu-ja-non-free bionic InRelease
'archive.ubuntulinux.jp' を解決できませんでした
パッと見て「URLを解決できませんでした」とのことなので単純に名前解決が出来ていないように見えます。
DNSサーバにアクセスできるように設定してみましょう。
今までできていたのになんでだろ。。。
解決方法
インターネット上の名前解決が出来ていないということですので、DNSサーバの問い合わせ先IPアドレスを変更することで解決できます。
ネームサーバの問い合わせ先をデフォルトゲートウェイに変更してインターネットへアクセスできるようにしましょう。
/etc/systemd/resolv.confを編集する
$sudo vi /etc/systemd/resolved.conf
resolv.confファイルをviで開くと、今まで編集したことない場合は以下のように表示されます。
[Resolve]
#DNS=
ここのDNS変数のコメントアウト(#)を外しデフォルトゲートウェイのIPアドレスを設定します。
[Resolve]
DNS=192.168.x.x
デフォルトゲートウェイは個人用でNTTのホームゲートウェイ(光ファイバーケーブルが接続されている家の中で一番大元となるルータ)の設定を変えずにそのまま使っていれば、192.168.1.1が多いかな?と思います。
もし、判断できない、判断するのが面倒くさい場合は8.8.8.8で試してみるのもいいと思います。
会社のサーバでこの事象が起きている場合はパッケージ管理が異なってくるので社内で確認してください。
というよりも社内のセキュリティという観点から、まずそのサーバがインターネットに接続できない場合が多いかと思います。
変更出来たら保存してviエディタを終了します。
systemd-resolvedサービスを再起動する
以下のコマンドでsystemd-resolvedの再起動をします。
$ sudo systemctl restart systemd-resolved
systemd-resolveの起動状態の確認を行う場合は以下のコマンドで確認します。
$ sudo systemctl status systemd-resolved
正常に起動されている場合はアクティブ状態になっています。
Active: active (running)
DNS情報の登録状態を確認
入力したDNS情報が適用されているか?ということも確認してみましょう。
$ sudo systemd-resolve --status
正常に登録されている場合は、GrobalのDNS Serversが以下のように表示されていると思います。
Global
DNS Servers: 192.168.x.x
apt updateをもう一度実行してみる
再度、apt updateを行いますと、
$ sudo apt update
ヒット:1 http://jp.archive.ubuntu.com/ubuntu bionic InRelease
ヒット:2 http://archive.ubuntulinux.jp/ubuntu bionic InRelease
・
・
・
といったように接続に成功しました。
そもそも本当に正しくネットワーク設定できてる??
というのも、Linux初心者がUbuntuサーバではなくUbuntuデスクトップを使って初期設定時のIPアドレス固定化作業をする際に、一番設定しやすいのは、やはりGUI(デスクトップ)での設定だと思います。
このGUI設定の時に「DNSはよくわからないから空欄にしておいて手動設定だからDNSの自動もOFFにした方がいいよね✨」といったノリで設定していた場合、完全に設定ミスから今回の事象が起きています。
IPアドレス固定化の作業に限らず、他の作業でネットワーク設定を一瞬弄った程度だと、弄ったことさえも忘れると思います。
なので、今回のように/etc/systemd/resolved.confでDNSの設定をすれば解決はしますが、原因を特定するためにも一度ネットワーク設定も確認してみるのをおすすめします。
ディスカッション
コメント一覧
まだ、コメントがありません