PPAは常にオフラインのようです。 Sudo apt-get update
を使用するたびに、このエラーが表示されます。
W: Failed to fetch http://ppa.launchpad.net/ 404 Not Found
これらのエラーを修正するにはどうすればよいですか?
ubuntu 15.04より前のすべてのubuntuバージョンの問題のあるソフトウェアソースを削除するスクリプト化された方法については、この回答の最後までスキップしてください
404またはNot Foundエラーメッセージは、クライアントがサーバーと通信できたが、サーバーが要求されたものを見つけることができなかったことを示すHTTP標準応答コードです。
ユーザーが壊れたリンクまたはデッドリンクをたどろうとすると、Webサイトホスティングサーバーは通常「404-ページが見つかりません」Webページを生成します。
通常、3つの主要な領域がupdate-manager
でこれらのエラーを引き起こします
PPAは通常、2つの場所のいずれかに保存されます
/etc/apt/sources.list
/etc/apt/sources.list.d/
内の.listファイル拡張子を持つ適切な名前のファイル内webupd8team-jupiter-natty.list
通常、このリストファイルには以下が含まれます。
deb http://ppa.launchpad.net/webupd8team/jupiter/ubuntu oneiric main
# deb-src http://ppa.launchpad.net/webupd8team/jupiter/ubuntu oneiric main
テキスト行の先頭にある#
は、コメント化されており、パッケージマネージャーによってチェックされないことを意味します。
通常、端末からSudo apt-get update
を実行するか、更新ボタンを押した後にUpdate Managerの詳細ボタンをクリックすると、次のようなエラーが表示されます。
エラーの原因がPPAの場合-通常、エラーメッセージに示されているURLで同様の名前のPPAのチェックを外すと、これが解決されます。
404エラーの原因が/etc/apt/sources.list
に追加された追加のリポジトリにある場合、#
文字を行の先頭に追加して、問題のあるリポジトリをコメントアウトする方が簡単です。
gksu gedit /etc/apt/sources.list
この問題を解決するためのアップデートマネージャーに関するバグレポートを次に示します。
PPAなしでこれらの問題が発生している場合は、次の質問を確認してください。
これは、すべての404 Not found PPAを自動的に削除するスクリプトです。以下のコードをコピーしてファイルに貼り付け、ppa-remove
という名前を付けます。
#!/bin/bash
Sudo rm /tmp/update.txt; tput setaf 6; echo "Initializing.. Please Wait"
Sudo apt-get update >> /tmp/update.txt 2>&1; awk '( /W:/ && /launchpad/ && /404/ ) { print substr($5,26) }' /tmp/update.txt > /tmp/awk.txt; awk -F '/' '{ print $1"/"$2 }' /tmp/awk.txt > /tmp/awk1.txt; sort -u /tmp/awk1.txt > /tmp/awk2.txt
tput sgr0
if [ -s /tmp/awk2.txt ]
then
tput setaf 1
printf "PPA's going to be removed\n%s\n" "$(cat /tmp/awk2.txt)"
tput sgr0
while read -r line; do echo "Sudo add-apt-repository -r ppa:$line"; done < /tmp/awk2.txt > out
bash out
else
tput setaf 1
echo "No PPA's to be removed"
tput sgr0
fi
スクリプトに実行許可を与える
Sudo chmod +x ppa-remove
ppa-remove
ファイルをコピーして/usr/bin
ディレクトリに貼り付けます。どこからでもアクセスできるようにします。
Sudo ppa-remove
[ -f /tmp/update.txt ] && Sudo rm /tmp/update.txt; tput setaf 6; echo "Initializing.. Please Wait" || echo "No update file"
tput setaf 6
コマンドは、端末のテキストの色を緑色に変えます。そして、緑色で「Initializing ..Please Wait」を表示します。
Sudo apt-get update >> /tmp/update.txt 2>&1; awk '( /W:/ && /launchpad/ && /404/ ) { print substr($5,26) }' /tmp/update.txt > /tmp/awk.txt; awk -F '/' '{ print $1"/"$2 }' /tmp/awk.txt > /tmp/awk1.txt; uniq /tmp/awk1.txt > /tmp/awk2.txt
Sudo apt-get update >> /tmp/update.txt 2>&1;
コマンドSudo apt-get update
のstdoutとstderrの両方がファイル/tmp/update.txt
に書き込まれます
awk '( /W:/ && /launchpad/ && /404/ ) { print substr($5,26) }' /tmp/update.txt > /tmp/awk.txt; awk -F '/' '{ print $1"/"$2 }' /tmp/awk.txt > /tmp/awk1.txt;
Awkは、W:
ファイル内の404
、launchpad
、/tmp/update.txt
で構成される行を検索します。その行が見つかった場合、その行にすべての文字を表示(stdout)します。 column5の26番目の場所から開始します。この標準出力は/tmp/awk.txt
fileにリダイレクト(書き込み)されました。
例えば:
W: Failed to fetch http://ppa.launchpad.net/pitti/postgresql/ubuntu/dists/saucy/main/binary-i386/Packages 404 Not Found
5番目の列-http://ppa.launchpad.net/pitti/postgresql/ubuntu/dists/saucy/main/binary-i386/Packages
その5番目の列は26番目の文字から始まります-pitti/postgresql/ubuntu/dists/saucy/main/binary-i386/Packages
上記の行は/tmp/awk.txt
ファイルに保存されました。次のコマンドでは、
awk -F '/' '{ print $1"/"$2 }' /tmp/awk.txt > /tmp/awk1.txt;
awkは、デリミタ/
を使用してcolumn1とcolumn2を見つけ出します。column1とcolumn2は、/
ファイルからの/tmp/awk.txt
によって連結され、stdoutを/tmp/awk1.txt
ファイルにリダイレクト(書き込み)します。 。
/tmp/awk1.txt
ファイルにはpitti/postgresql
行が含まれるようになりました。
uniq /tmp/awk1.txt > /tmp/awk2.txt
同じ行が2行ある場合、unique
コマンドは(stdout)単一行のみを表示します。その単一行は/tmp/awk2.txt
に書き込まれ、最後に/tmp/awk2.txt
は一意のPPA名で構成されます。
tput sgr0
このコマンドは、端末テキストの色を白に変更します。
最後に、if
条件ステートメントが実行されます。 if [ -s /tmp/awk2.txt ]
/tmp/awk2.txtファイルの内容の有無を確認します。ある場合は、/tmp/awk2.txt
から最初の行を取得し、Sudo add-apt-repository -r ppa:$line
コマンドを実行します。最後の行。
いいえの場合、コンテンツがないことを意味します。したがって、「PPAを削除する必要はありません」と表示されます。
これらのエラーは、PPAリポジトリがUbuntuのディストリビューション用のパッケージを提供していないためです(つまり、quantal
)。
次のスクリーンショットをご覧ください。
quantal
のディレクトリが欠落しているため、 404 Not Found Error Messages
を取得していることがわかります。
これらのメッセージを取り除くには、これらのPPAリポジトリをシステムから削除する必要があります。 PPAを削除する方法に関する次の質問に従ってください。
これらは、wdt-main
PPAに関して表示されるエラーメッセージです。
W:Failed to fetch http://ppa.launchpad.net/petrakis/wdt-main/ubuntu/dists/quantal/main/source/Sources 404 Not Found
, W:Failed to fetch http://ppa.launchpad.net/petrakis/wdt-main/ubuntu/dists/quantal/main/binary-AMD64/Packages 404 Not Found
, W:Failed to fetch http://ppa.launchpad.net/petrakis/wdt-main/ubuntu/dists/quantal/main/binary-i386/Packages 404 Not Found
ブラウザのタブを開き、404 Not Foundエラーを表示するリンクを開きます。この場合はhttp://ppa.launchpad.net/petrakis/
で、エラーが発生するリンクごとに深くなります。実際の問題が何であるかを見ることができます。
最も可能性が高いのは、PPAのメンテナンスが終了し、削除する必要があることです。これを行うには、次を使用します。
Sudo rm /etc/apt/sources.list.d/ppaname-ppa-$(lsb_release -sc).list*
thatリポジトリのパッケージが本当に必要な場合は、古いリリースのミラーを使用できます。
ただし、すべての古いリリースが 後方互換性 ;ではないことに注意してください。それらのいくつかは、メインパッケージリポジトリと競合します。
競合する場合にできる唯一のことは、ソースからビルドするか、プロバイダーがUbuntuバージョンのリポジトリをリリースするまで待つことです。パッケージプロバイダーがバージョンのパッケージをいつリリースするか正確にわかりません。リリース。
これは、任意のDebianベースのリポジトリで使用できます。ただし、これが成功する保証はありません。
Sudo apt update
を実行します。更新中に404エラーが発生していることがわかります。これを無視してください。 https://dl.winehq.org/wine-builds/ubuntu
です。通常、利用可能なリリースはdists/
にあります。 bionic
をartful
に置き換えます。 Sudo apt update
を再度実行します。それはすでに私に起こり、私はこれらの状況から外れていたことに注意してください。そして、それは私の友人のためにも働きました。理由を説明できなくても、その問題を解決したものがあります。
Sudo apt-get update
を実行します。Sudo apt-get update
を実行します;そして突然動作しました。私に理由を聞かないで。
セキュリティまたはシステムファイルを(PPAではなく)公式リポジトリから取得しようとして404エラーが表示される場合は、別のミラーを選択してこの問題を解決できます。
次のいずれかが可能です。
A)このリスト を確認し、最新のミラーを選択して手動で決定します。 (距離や帯域幅などの他の要因を考慮することをお勧めします)または
B)いずれかを自動的に選択します。
どちらの方法でも、以下に示すようにSoftware&Updatesアプリケーションから開始できます。次に、[ダウンロード元]の後に[その他]を選択します。次に、リストから選択したミラーを手動で選択するか、いくつかのテストを実行して現在の条件に応じて最適なサーバーを選択する[最適なサーバーを選択]ボタンをクリックします。
すべての可能な答えを試してみましたが、唯一の解決策は、 buntu 16.04 Xenial default /etc/apt/sources.list ファイルを/etc/apt/sources.list
にコピーすることでした。
出典: https://Gist.github.com/rohitrawat/60a04e6ebe4a9ec1203eac3a11d4afc1
それは私のLinuxを救った。