PPA scheint ständig offline zu sein. Wann immer ich benutze sudo apt-get update
, wird dieser Fehler angezeigt:
W: Failed to fetch http://ppa.launchpad.net/ 404 Not Found
Wie behebe ich diese Fehler?
PPA scheint ständig offline zu sein. Wann immer ich benutze sudo apt-get update
, wird dieser Fehler angezeigt:
W: Failed to fetch http://ppa.launchpad.net/ 404 Not Found
Wie behebe ich diese Fehler?
Antworten:
Fahren Sie am Ende dieser Antwort mit einem Skript fort, um problematische Software-Quellen für alle Ubuntu-Versionen vor Ubuntu 15.04 zu entfernen
Die Fehlermeldung 404 oder Nicht gefunden ist ein HTTP-Standardantwortcode, der angibt, dass der Client mit dem Server kommunizieren konnte, der Server jedoch die angeforderte Nachricht nicht finden konnte.
Der Hosting-Server der Website generiert normalerweise die Webseite "404 - Seite nicht gefunden", wenn Benutzer versuchen, einem fehlerhaften oder toten Link zu folgen.
In der Regel verursachen drei Hauptbereiche diese Fehler update-manager
PPAs werden normalerweise an einem von zwei Speicherorten gespeichert
/etc/apt/sources.list
/etc/apt/sources.list.d/
zum Beispielwebupd8team-jupiter-natty.list
Diese Listendatei enthält normalerweise:
deb http://ppa.launchpad.net/webupd8team/jupiter/ubuntu oneiric main
# deb-src http://ppa.launchpad.net/webupd8team/jupiter/ubuntu oneiric main
Beachten Sie, dass ein a #
am Anfang einer Textzeile bedeutet, dass es auskommentiert ist und nicht vom Paketmanager überprüft wird.
Wenn Sie auf sudo apt-get update
einem Terminal ausgeführt werden oder auf die Detailschaltfläche in Update Manager klicken, nachdem Sie auf die Schaltfläche "Aktualisieren" geklickt haben, werden in der Regel folgende Fehler angezeigt:
Wenn der Fehler auf eine PPA zurückzuführen ist - in der Regel wird dies behoben, indem Sie die gleichnamige PPA mit der in der Fehlermeldung angegebenen URL deaktivieren.
Wenn der 404-Fehler auf ein zusätzliches Repository zurückzuführen ist, das hinzugefügt wurde, /etc/apt/sources.list
ist es einfacher, #
dem Zeilenanfang ein Zeichen hinzuzufügen , um das fehlerhafte Repository auszukommentieren, d. H
gksu gedit /etc/apt/sources.list
Hier ist ein Fehlerbericht über den Update Manager, um dieses Problem zu lösen:
Wenn Sie diese Probleme ohne PPAs haben, überprüfen Sie diese Frage:
Dies ist ein Skript, mit dem alle nicht gefundenen 404-PPAs automatisch entfernt werden. Kopieren Sie den folgenden Code, fügen Sie ihn in eine Datei ein und benennen Sie ihn als 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
Erteilen Sie dem Skript die Ausführungsberechtigung
sudo chmod +x ppa-remove
Kopieren Sie die ppa-remove
Datei und fügen /usr/bin
Sie sie in das Verzeichnis ein. So können Sie von überall aus darauf zugreifen.
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
Befehl verwandelt die Terminal-Textfarbe in Grün. Anschließend wird "Initializing ..Please Wait" in Grün angezeigt.
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;
Sowohl stdout als auch stderr des Befehls sudo apt-get update
werden in die Datei geschrieben/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 sucht die Linie , die von besteht W:
, launchpad
, 404
in der /tmp/update.txt
file.If festgestellt, dass dann in dieser Zeile zeigt es (stdout) alle Briefe vom 26. Standort in column5.This Startstandardausgabe umgeleitet wurde (geschrieben) in die /tmp/awk.txt
Datei.
Zum Beispiel:
W: Failed to fetch http://ppa.launchpad.net/pitti/postgresql/ubuntu/dists/saucy/main/binary-i386/Packages 404 Not Found
5. Spalte - http://ppa.launchpad.net/pitti/postgresql/ubuntu/dists/saucy/main/binary-i386/Packages
in dieser 5. Spalte ab dem 26. Zeichen pitti/postgresql/ubuntu/dists/saucy/main/binary-i386/Packages
Diese obige Zeile wurde in /tmp/awk.txt
file.Now den nächsten Befehl gespeichert ,
awk -F '/' '{ print $1"/"$2 }' /tmp/awk.txt > /tmp/awk1.txt;
awk findet die Spalten 1 und 2 mit dem Trennzeichen heraus, durch /
das die Spalten 1 und 2 /
aus der /tmp/awk.txt
Datei verkettet werden, und leitet dann die Standardausgabe in die Datei um (schreibt sie) /tmp/awk1.txt
.
Jetzt /tmp/awk1.txt
Datei enthält pitti/postgresql
Zeile.
uniq /tmp/awk1.txt > /tmp/awk2.txt
Wenn es zwei gleiche Zeilen sind, unique
Befehl zeigt (stdout) einzelne Zeile only.That einzige Zeile geschrieben wurde /tmp/awk2.txt
schließlich /tmp/awk2.txt
besteht aus einzigartigen PPA Namen.
tput sgr0
Dieser Befehl ändert die Farbe des Terminaltexts in Weiß.
Schließlich werden if
bedingte Anweisungen ausgeführt. if [ -s /tmp/awk2.txt ]
überprüfen Sie die Inhalte der Datei /tmp/awk2.txt präsentiert oder not.If ja, dann nimmt es die erste Zeile aus /tmp/awk2.txt
und führt sudo add-apt-repository -r ppa:$line
command.It bis zur letzten Zeile fortgesetzt wird .
Wenn nein, bedeutet dies, dass kein Inhalt vorhanden ist. Daher wird "Keine zu entfernenden PPAs" angezeigt.
Sie erhalten diese Fehler, weil Ihre PPA-Repositorys keine Pakete für Ihre Ubuntu-Distribution (dh; quantal
) bereitstellen .
Schauen Sie sich die folgenden Screenshots an:
Sie können sehen, dass das Verzeichnis für quantal
fehlt und daher erhalten Sie 404 Not Found Error Messages
.
Um diese Nachrichten loszuwerden, müssen Sie diese PPA-Repositorys von Ihrem System entfernen. Befolgen Sie diese Frage zum Entfernen von PPAs:
Dies sind die Fehlermeldungen, die Sie für wdt-main
PPA erhalten:
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
Öffnen Sie Ihren Browser-Tab und öffnen Sie den Link, der 404 Not Found Errors enthält. In diesem Fall http://ppa.launchpad.net/petrakis/
gehen Sie tiefer, wie in dem fehlerhaften Link angegeben. Sie könnten sehen, was das eigentliche Problem ist.
Am wahrscheinlichsten ist, dass der PPA nicht mehr gewartet wird und entfernt werden muss. Sie können dies einfach mit:
sudo rm /etc/apt/sources.list.d/ppaname-ppa-$(lsb_release -sc).list*
/etc/apt/sources.list
wo ich überprüfen , habe aber wusste nicht , dass ich aussehen musste /etc/apt/sources.list.d/
auch .. Dank ..
Wenn Sie die Pakete aus diesem Repository wirklich benötigen , können Sie die Mirrors aus älteren Releases verwenden.
Beachten Sie jedoch, dass nicht alle älteren Versionen abwärtskompatibel sind . Einige von ihnen verursachen Konflikte mit Ihrem Hauptpaket-Repository.
Das Einzige, was Sie tun können, wenn Konflikte auftreten, ist, entweder aus dem Quellcode zu erstellen oder zu warten, bis der Anbieter das Repository für Ihre Ubuntu-Version freigegeben hat. Wir wissen nicht genau, wann die Paketanbieter ihr Paket für unsere Version freigeben werden. Sie sind also dafür verantwortlich, ihr Repository auf Ihre Freigabe zu überprüfen.
Dies kann mit jedem Debian-basierten Repository verwendet werden. Es gibt jedoch keine Garantie dafür, dass dies erfolgreich sein wird.
sudo apt update
nachdem Sie PPA / Repository hinzugefügt haben. Sie können feststellen, dass beim Aktualisieren 404-Fehler auftreten. ignoriere das einfach.
https://dl.winehq.org/wine-builds/ubuntu
. In der Regel befinden sich verfügbare Releases in dists/
.
bionic
mit artful
.
sudo apt update
nochmal.Beachten Sie, dass es mir schon passiert ist und ich aus diesen Situationen heraus war. Und es funktionierte auch für einen Freund von mir. Auch wenn wir nicht erklären können, warum, gibt es etwas, das dieses Problem gelöst hat:
sudo apt-get update
Vom Terminal aus laufen ;sudo apt-get update
;Und plötzlich hat es geklappt. Frage mich nicht warum.
sudo apt-get update
und es hat perfekt funktioniert.
Wenn beim Abrufen von Sicherheits- oder Systemdateien aus einem offiziellen Repository (nicht einem PPA) ein 404-Fehler auftritt, können Sie zur Behebung dieses Problems einen anderen Spiegel auswählen.
Du kannst entweder:
A) Ermitteln Sie eine manuell, indem Sie diese Liste überprüfen und den aktuellsten Spiegel auswählen. (Sie können auch andere Faktoren wie Entfernung und Bandbreite berücksichtigen) oder
B) Wählen Sie automatisch eine aus.
So oder so können Sie mit der Software & Updates-Anwendung wie folgt beginnen: Wählen Sie dann Download aus, gefolgt von Andere. Dann können Sie entweder manuell den Spiegel Ihrer Wahl aus der Liste auswählen oder auf die Schaltfläche Select best Server (Bester Server auswählen) klicken, um einige Tests durchzuführen und abhängig von den aktuellen Bedingungen den besten Server für Sie auszuwählen.
Ich habe jede mögliche Antwort ausprobiert, aber die einzige Lösung bestand darin, die Ubuntu 16.04 Xenial-Standarddatei /etc/apt/sources.list auf meine zu kopieren /etc/apt/sources.list
.
Quellen: https://gist.github.com/rohitrawat/60a04e6ebe4a9ec1203eac3a11d4afc1
Das hat mein Linux gerettet.