PPA scheint ständig offline zu sein. Wann immer ich Sudo apt-get update
verwende, wird dieser Fehler angezeigt:
W: Failed to fetch http://ppa.launchpad.net/ 404 Not Found
Wie behebe ich diese Fehler?
fahren Sie am Ende dieser Antwort mit Skripten 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 in update-manager
.
PPAs werden normalerweise an einem von zwei Speicherorten gespeichert
/etc/apt/sources.list
/etc/apt/sources.list.d/
zum Beispiel webupd8team-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 #
am Anfang einer Textzeile bedeutet, dass es auskommentiert ist und nicht vom Paketmanager überprüft wird.
Wenn Sie Sudo apt-get update
von einem Terminal aus ausführen oder auf die Detailschaltfläche im Update Manager klicken, nachdem Sie auf die Aktualisierungsschaltfläche 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 Fehler 404 auf ein zusätzliches Repository zurückzuführen ist, das zu /etc/apt/sources.list
hinzugefügt wurde, ist es einfacher, #
Zeichen an den Anfang der Zeile zu setzen, 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 bekommen, überprüfen Sie diese Frage:
Dies ist ein Skript zum automatischen Entfernen aller nicht gefundenen 404-PPAs. 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 Datei ppa-remove
und fügen Sie sie in das Verzeichnis /usr/bin
ein. So können Sie von überall 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"
Der Befehl tput setaf 6
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 /tmp/update.txt
geschrieben.
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 nach der Zeile, die aus W:
, launchpad
, 404
in der /tmp/update.txt
-Datei besteht. Wenn gefunden, werden in dieser Zeile alle Buchstaben (stdout) angezeigt Diese Standardausgabe wurde in die /tmp/awk.txt
-Datei umgeleitet (geschrieben).
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 fünften Spalte beginnend mit dem 26. Zeichen pitti/postgresql/ubuntu/dists/saucy/main/binary-i386/Packages
Diese obige Zeile wurde in der /tmp/awk.txt
-Datei gespeichert.
awk -F '/' '{ print $1"/"$2 }' /tmp/awk.txt > /tmp/awk1.txt;
awk findet die Spalten 1 und 2 mit dem Trennzeichen /
heraus, wobei die Spalten 1 und 2 durch /
aus der /tmp/awk.txt
-Datei verkettet werden, und leitet dann die stdout -Datei in die /tmp/awk1.txt
-Datei um (schreibt sie) .
Jetzt enthält die Datei /tmp/awk1.txt
die Zeile pitti/postgresql
.
uniq /tmp/awk1.txt > /tmp/awk2.txt
Wenn es zwei gleiche Zeilen gibt, zeigt der Befehl unique
nur eine Zeile (stdout) an. Diese einzelne Zeile wurde in /tmp/awk2.txt
geschrieben. Schließlich besteht /tmp/awk2.txt
aus eindeutigen 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 ]
Prüfe, ob der Inhalt der Datei /tmp/awk2.txt vorhanden ist oder nicht. Wenn ja, dann nimmt sie die erste Zeile von /tmp/awk2.txt
und führt den Befehl Sudo add-apt-repository -r ppa:$line
aus letzte Linie.
Wenn nein, bedeutet dies, dass kein Inhalt vorhanden ist. Daher wird "Keine zu entfernenden PPAs" angezeigt.
Diese Fehler treten auf, weil Ihre PPA-Repositorys keine Pakete für Ihre Ubuntu-Distribution bereitstellen (dh quantal
).
Schauen Sie sich die folgenden Screenshots an:
Sie können sehen, dass das Verzeichnis für quantal
fehlt und Sie daher 404 Not Found Error Messages
erhalten.
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/
_ und gehen Sie gemäß dem fehlerhaften Link tiefer. 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*
Wenn Sie wirklich die Pakete aus dem Repository benötigen, können Sie die Mirrors aus älteren Releases verwenden.
Bitte beachten Sie jedoch, dass nicht alle älteren Releases abwärtskompatibel ; 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 Ihr zu überprüfen Freisetzung.
Dies kann mit jedem Debian-basierten Repository verwendet werden. Es gibt jedoch keine Garantie, dass dies erfolgreich sein wird.
Sudo apt update
aus. 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
durch 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.Sudo apt-get update
aus;Und plötzlich hat es geklappt. Frage mich nicht warum.
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) Manuell bestimmen, indem diese Liste durchgesehen und der aktuellste Spiegel ausgewählt wird. (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 unten gezeigt 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 Datei buntu 16.04 Xenial default /etc/apt/sources.list in mein /etc/apt/sources.list
zu kopieren.
Quellen: https://Gist.github.com/rohitrawat/60a04e6ebe4a9ec1203eac3a11d4afc1
Das hat mein Linux gerettet.