PPAは常にオフラインのようです。を使用するたびにsudo apt-get update
、このエラーが表示されます。
W: Failed to fetch http://ppa.launchpad.net/ 404 Not Found
これらのエラーを修正するにはどうすればよいですか?
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;
コマンドのstdoutとstderrの両方sudo apt-get update
がファイルに書き込まれます/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:
、launchpad
、404
で/tmp/update.txt
file.Ifそれは、その行では、標準出力をリダイレクトしcolumn5.Thisにおける26の位置から始まる(STDOUT)すべての文字を表示することが見出された(書き込まれた)/tmp/awk.txt
ファイル。
例えば:
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
単一のラインonly.Thatコマンドが表示されます(標準出力)一行がために書かれた/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*
/etc/apt/sources.list
、私がチェックしたところが、私は見ていた知らなかった/etc/apt/sources.list.d/
...あまりにも感謝...
そのリポジトリのパッケージが本当に必要な場合は、古いリリースのミラーを使用できます。
ただし、すべての古いリリースが後方互換性があるわけではないことに注意してください。それらのいくつかは、メインパッケージリポジトリとの競合を引き起こします。
競合する場合にできる唯一のことは、ソースからビルドするか、プロバイダーがUbuntuバージョンのリポジトリをリリースするまで待つことです。パッケージプロバイダーがこのバージョンのパッケージをいつリリースするかは正確にはわからないので、リリースのリポジトリを確認するのはあなたです。
これは、任意のDebianベースのリポジトリで使用できます。ただし、これが成功する保証はありません。
sudo apt update
PPA /リポジトリを追加した後は、通常どおりに実行してください。更新中に404エラーが発生していることがわかります。これを無視してください。
https://dl.winehq.org/wine-builds/ubuntu
です。通常、利用可能なリリースはにありますdists/
。
bionic
ていartful
ます。
sudo apt update
もう一度やります。セキュリティまたはシステムファイルを(PPAではなく)公式リポジトリから取得しようとして404エラーが表示される場合は、別のミラーを選択してこの問題を解決できます。
次のいずれかを実行できます。
A)このリストを確認し、最新のミラーを選択して、手動で1つを決定します。(距離や帯域幅などの他の要因を考慮することをお勧めします)または
B)自動的に選択してください。
どちらの方法でも、以下に示すようにSoftware&Updatesアプリケーションから開始できます。次に、[ダウンロード元]の後に[その他]を選択します。次に、リストから選択したミラーを手動で選択するか、いくつかのテストを実行して現在の条件に応じて最適なサーバーを選択する[最適なサーバーを選択]ボタンをクリックします。
考えられるすべての答えを試しましたが、唯一の解決策はUbuntu 16.04 Xenialのデフォルトの/etc/apt/sources.list ファイルをmy にコピーすること/etc/apt/sources.list
でした。
ソース:https : //gist.github.com/rohitrawat/60a04e6ebe4a9ec1203eac3a11d4afc1
それは私のLinuxを救った。