apt-get updateがファイルの取得に失敗し、「一時的な障害解決…」エラーが発生する


91
Err http://archive.canonical.com natty InRelease    
Err http://security.ubuntu.com oneiric-security InRelease               
Err http://extras.ubuntu.com natty InRelease                            
Err http://security.ubuntu.com oneiric-security Release.gpg
  Temporary failure resolving ‘security.ubuntu.com’
Err http://archive.canonical.com natty Release.gpg
  Temporary failure resolving ‘archive.canonical.com’
Err http://extras.ubuntu.com natty Release.gpg
  Temporary failure resolving ‘extras.ubuntu.com’
Err http://gb.archive.ubuntu.com oneiric InRelease
Err http://gb.archive.ubuntu.com oneiric-updates InRelease
Err http://gb.archive.ubuntu.com natty-backports InRelease
Err http://gb.archive.ubuntu.com oneiric Release.gpg
  Temporary failure resolving ‘gb.archive.ubuntu.com’
Err http://gb.archive.ubuntu.com oneiric-updates Release.gpg
  Temporary failure resolving ‘gb.archive.ubuntu.com’
Err http://gb.archive.ubuntu.com natty-backports Release.gpg
  Temporary failure resolving ‘gb.archive.ubuntu.com’

Reading package lists... Done
W: Failed to fetch http://gb.archive.ubuntu.com/ubuntu/dists/oneiric/InRelease      
W: Failed to fetch http://gb.archive.ubuntu.com/ubuntu/dists/oneiric-updates/InRelease  
W: Failed to fetch http://gb.archive.ubuntu.com/ubuntu/dists/natty-backports/InRelease  
W: Failed to fetch http://security.ubuntu.com/ubuntu/dists/oneiric-security/InRelease  
W: Failed to fetch http://archive.canonical.com/ubuntu/dists/natty/InRelease  
W: Failed to fetch http://extras.ubuntu.com/ubuntu/dists/natty/InRelease  
W: Failed to fetch http://archive.canonical.com/ubuntu/dists/natty/Release.gpg  Temporary failure resolving ‘archive.canonical.com’
W: Failed to fetch http://security.ubuntu.com/ubuntu/dists/oneiric-security/Release.gpg  Temporary failure resolving ‘security.ubuntu.com’
W: Failed to fetch http://extras.ubuntu.com/ubuntu/dists/natty/Release.gpg  Temporary failure resolving ‘extras.ubuntu.com’
W: Failed to fetch http://gb.archive.ubuntu.com/ubuntu/dists/oneiric/Release.gpg  Temporary failure resolving ‘gb.archive.ubuntu.com’
W: Failed to fetch http://gb.archive.ubuntu.com/ubuntu/dists/oneiric-updates/Release.gpg  Temporary failure resolving ‘gb.archive.ubuntu.com’
W: Failed to fetch http://gb.archive.ubuntu.com/ubuntu/dists/natty-backports/Release.gpg  Temporary failure resolving ‘gb.archive.ubuntu.com’
W: Some index files failed to download. They have been ignored, or old ones used instead.

これは私が走ろうとするときに見ているものですsudo apt-get update。昨日、私のインスタンスを更新しましたが、現在これを経験しています。

回答:


142

概要

質問には2つの部分があります。

  • 一時的な解決メッセージの修正
  • パッケージ管理の問題を修正する

一時的な解決

この問題は次のいずれかである可能性があります。

  • インターネットサービスプロバイダーがインターネットネーミング(DNS)をそのDNSサーバーまたは外部DNSサーバーに正しく転送していないために一時的に発生した、または
  • ネットワークの変更により、この命名が同様にブロックされています-たとえば、新しいルーター/モデム、新しい構成でスイッチを再構成します。

DNSが解決する可能性のある問題を見てみましょう。

最初に、既知のDNSサーバーをシステムに一時的に追加します。

echo "nameserver 8.8.8.8" | sudo tee /etc/resolv.conf > /dev/null

次にを実行しsudo apt-get updateます。

これで一時的な解決メッセージが修正されたら、24時間待ってISPが問題を修正するかどうかを確認する(またはISPに連絡する)か、システムにDNSサーバーを永続的に追加できます。

echo "nameserver 8.8.8.8" | sudo tee /etc/resolvconf/resolv.conf.d/base > /dev/null

8.8.8.8 Google独自のDNSサーバーです。

ソース

使用できる別のDNSサーバーの例はOpenDNSです -例えば:

echo "nameserver 208.67.222.222" | sudo tee /etc/resolvconf/resolv.conf.d/base > /dev/null

パッケージ管理の問題

一時的な解決の問題に加えて、修正する必要のあるパッケージ管理の問題がいくつかあります。最近、Ubuntuのあるバージョンから次の推奨バージョンにアップグレードしようとしたと思います-Natty(11.04)からオナイリック(11.10)

ターミナルを開いて入力します

sudo nano /etc/apt/sources.list

リスト内で、予想していたものとは異なるディストリビューション名を持つ行を探します-あなたの場合-にアップグレードしましoneiricたが、別のリリース名がありますnatty

たとえば、次のような行を探します deb http:/archive.canonical.com/ natty backports

#行の先頭にa を追加してコメントアウトします-例えば

#deb http:/archive.canonical.com/ natty backports

保存して再実行:

sudo apt-get update && sudo apt-get upgrade

リリースの命名エラーはこれ以上ないはずです。

これを書いている時点で、可能な一般的なリリース名は含まれlucidmavericknattyoneiricprecisequantalraringsaucytrustyutopicvivid


完全に動作します:)
マドゥカジャヤラス

更新中に名前が1つ表示されると、DNSのいじりをスキップして、ソースリストに直接移動できます。
SPRBRN 14

15.04と15.10で
引き続き

1
これが機能しない場合はどうなりますか?
マットG

これはおそらく、Dockerがapt-getの更新を成功させないというDNSの問題です。
-dashesy

10

dir / etc / apt /にあるsources.listファイルから未解決のリポジトリをコメントできます。

sources.listを変更した後、apt-getリポジトリを次のようにクリーンアップします。

apt-get clean

その後、更新

apt-get update

エラーはなくなります


1
これは、一時的なDNSの問題に対する永続的な解決策です。元に戻すのを忘れると、そのリポジトリのソフトウェアは更新されず、インストールもできなくなります。
チャイT.レックス

10

この回答は、Ubuntuの古いバージョン用に書かれていることに注意してください。現在のバージョンでは、D-Busによって制御されるローカルネームサーバーが使用されます。これには、この回答の診断部分が適用されますが、ソリューションは適用されません。を/etc/resolv.conf含むnameserver 127.0.1.1か、より一般的nameserver 127.X.Y.Zには、変更しないでください。

「一時的な障害解決…」は、DNS、つまりホスト名からIPアドレスへの変換が機能していないことを意味します。最近、マシン上で何かを再構成しましたか?そうでない場合は、ISPで一時的なエラーが発生している可能性があります。

次のping -n 8.8.8.8ような行を表示し64 bytes from 8.8.8.8: …ますか?(停止するにはCtrl+ Cを押しpingます。)

  • そうでない場合は、特にIP接続の問題があります。実行traceroute -n 8.8.8.8して停止する場所を確認します。ホーム/オフィスにある場合は、ネットワーク機器を確認してください。ISPに連絡できる場合は、苦情を申し立ててください。
  • 存在する場合は、特にDNSの問題があります。の内容を確認してください/etc/resolv.conf。次のような行があるはずですnameserver 1.2.3.4(複数ある場合もあります)。行が存在する場合、ISP内に一時的な問題がある可能性があります。nameserver 8.8.8.8そのファイルに追加することで回避できる場合があります(これにより、Googleが無料で提供する追加のDNSサーバーが宣言されます)。最初の数字nameserverが127の場合、マシンにDNSリレーがあり(これは良いことです)、変更するのではなく、そのDNSリレーを構成する必要があります/etc/resolv.conf。Ubuntuの最新バージョンには、デフォルトでDNSリレーがあります。これはDnsmasqであり、D-Busによって制御されます。

1
注:ping 8.8.8.8 -c3ping 3を実行するのは一度だけで、Ctrl + Cを押す必要はありません。パラメータに-c5-c1-c100などの任意の数値を使用できます。
Arda 14年

nameserverホスト名のマシンと一緒に配置する必要がありますか?
アルバート

@albert /etc/resolv.conf重要なのは、あなたが使っているマシンのものです。しかし、最新のシステムでは、ローカルマシンを指しているだけであり、DNSに問題がある場合は、D-BusとNetworkManagerを使用する必要があります。
ジル

3

場合によっては、プロキシサーバーの背後にいるときapt.conf/etc/apt/、次のようにファイルを生成して特定のエントリを入力することが必要になることさえあります。

Acquire::http::proxy "http://<yourproxyserver>:<Port>";
Acquire::https::proxy "http://<yourproxyserver>:<Port>";
Acquire::ftp::proxy "http://<yourproxyserver>:<Port>";

認証が必要な場合、構成ファイルは次のようになります。

Acquire::http::proxy "http://<domain\user>:<password>@<yourproxyserver>:<Port>";
Acquire::https::proxy "http://<domain\user>:<password>@<yourproxyserver>:<Port>";
Acquire::ftp::proxy "http://<domain\user>:<password>@<yourproxyserver>:<Port>";

1

この問題は、誤った名前のインターフェイスが原因で発生することもあります。たとえば、Temporary failure resolvingエラーメッセージは、名前eth0が付けられていないが間違った名前が付けられているインターフェイスが原因で発生する可能性がありますeml


lightdmで直面している問題のためにアカウントにログインできません。lightdmを更新する必要があります。問題を解決する方法についての回答を展開できますか?ありがとう。
シャヤン


0

apt-getコマンドを実行すると、同様のエラーが発生しました。コンソールでSoftware Update Panelを開いていたことがわかりました。
これはコマンドラインをブロックしているように見えますapt-getが、私にはわかりません。


0

これはDNSの問題です。/etc/resolv.confファイルを確認してください。

たとえば、私の場合、この問題が発生してこのファイルをチェックしたとき、ファイルは空でした!ただし、dns-nameserverが含まれている必要があります

私の:

nameserver 192.168.10.x

192.168.10.x is my gateway ip address


3
AskUbuntuへようこそ!あなたが助けたいなら、より冗長な答えをしてください。つまり、考えられるほとんどのシナリオと、適切なチュートリアルへのリンクを移動または投稿する方法について説明します。
ダナテラ

1
チェックインの対象を明確にできます/etc/resolv.confか?
パプカイジャ

0

このエラーが発生しました。Linodeのサポートからのヒントに従って、/ etc / hostsのすべてのIPv6行をコメントアウトし、apt-get updateが機能し始めました。


0

EC2を使用している場合は、セキュリティグループ設定で、更新元のWebサイトへのアウトバウンド接続が許可されていることを確認してください。すべてのトラフィック送信設定を設定し、それが機能するかどうかを確認できます。


0

受け入れられた解決策は私にはうまくいきません。そもそもapt-get updateについて警告するだけですがTemporary failure resolving 'foo.com'nslookup foo.comまたはping foo.comで試してみるとうまくいきます!

このバグを解決するための私の非常に汚いハック/修正は、解決されたドメイン/etc/hostsをこの短いスクリプトで手動で追加することです:

resolveAptHosts()
{
    mapfile -t hosts < <(
        sed -n -r '/^#/d; s;deb(-src)? (http://|ftp://)?([^/ ]+).*;\3;p'\
        /etc/apt/sources.list | sort | uniq )
    # delete all hosts from /etc/hosts, e.g., from an earlier call
    sudo sed -i -r '/^[0-9]{1,3}(\.[0-9]{1,3}){3}[ \t]+('"$( printf '|%s'\
        "${hosts[@]//./\\.}" | sed 's/^|//' )"')[ \t]*$/d' /etc/hosts
    for host in ${hosts[@]}; do
        ip=$( nslookup "$host" | sed -n -r 's|Address:[ \t]*([0-9.]+).*|\1|p' |
              tail -1 )
        sudo bash -c "echo $ip $host >> /etc/hosts"
    done
}

更新が機能するはずです:

resolveAptHosts && sudo apt-get update

この回避策が機能する理由と、このバグを実際に解決する方法を誰かが知っていれば、永遠に感謝します。またsudo apt-get update -o Acquire::ForceIPv4=true、問題を解決するIPv6を除外するために使用してみましたが、それも助けにはなりませんでした。


0

VMware仮想マシンで同じ問題が発生しました。ホストとゲストは両方ともUbuntuです。仮想マシンの設定を変更する問題を解決しました。NATを使用する代わりに、ブリッジを設定しました。それは私のために働いた


0

エラーメッセージは、インターネットに接続していないことを示す必要があります。最初のubuntuのインストール中にアップデートを実行しない(wifi / ethernetに接続しなかった)ことを選択した場合、これらの同じエラーメッセージを見ることができます。 .. apt-get update最初のインストール中にwifiを避けた場合、wifiへの接続を許可しないRecoveryからネットワークを有効にした後でも、Recoveryを起動し、rootプロンプトの問題が発生すると、上記のエラーメッセージが表示されます。

この特定のエッジケースの解決策:イーサネットケーブルを接続し、Recoveryを起動してapt-get update、最初から再インストールするか、更新を有効にしてください。

コアの問題-インストール中にWi-Fiに接続しなかったため、パッケージの更新を回避した場合、リカバリブート中にWi-Fiログインプロンプトが表示されません-これは修正されます接続

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.