Frage Wie kann ich einen Fehler 404 beheben, wenn ich eine PPA verwende oder meine Paketlisten aktualisiere?


PPA scheint ständig offline zu sein. Immer wenn ich benutze sudo apt-get update, dieser Fehler wird angezeigt:

W: Failed to fetch http://ppa.launchpad.net/ 404  Not Found

Wie behebe ich diese Fehler?


240
2017-10-14 01:16


Ursprung


Da dies scheint eine der wichtigsten „Fehler holen“ Antworten zu sein, ich mag nur hier darauf hin, dass dies auch mit Ubuntu „Partnern“ URLs in dem sources.list passieren kann; Überprüfen Sie Ihre Fehler, um zu sehen, ob dies die sind, und versuchen Sie, sie zu kommentieren. Ich stieß auf dieses Problem (und die Lösung), die von Quetzal aufrüsten. - joseph_morris


Antworten:


Automatische Entfernung

Überspringe diese Antwort mit einem Skript, um anstößige Software-Quellen für alle Ubuntu-Versionen vor Ubuntu 15.04 zu entfernen

Was sind 404 Fehler?

Die 404- oder Nicht gefunden-Fehlermeldung ist ein HTTP-Standardantwortcode   zeigt an, dass der Client mit dem Server kommunizieren konnte,   aber der Server konnte nicht finden, was angefordert wurde.

Der Website-Hosting-Server generiert in der Regel "404 - Page Not   Gefundene "Webseite", wenn Benutzer versuchen, einem unterbrochenen oder toten Link zu folgen.

Was sind die Ursachen für diese Fehler in Update-Manager?

In der Regel verursachen drei Hauptbereiche diese Fehler update-manager

  1. Ein Benutzer hat gerade eine PPA-Softwarequelle aktualisiert und wieder aktiviert, die nicht mehr existiert enter image description here
  2. Ein Benutzer hat eine neue Softwarequelle manuell falsch eingegeben enter image description here
  3. Ein PPA wurde hinzugefügt, aber der Betreuer hat anschließend einige / alle PPA gelöscht

Wo sind diese Softwarequellen?

PPAs werden normalerweise an einem von zwei Orten gespeichert

  1. /etc/apt/sources.list 
  2. in einer entsprechend benannten Datei mit einer .list Dateierweiterung in /etc/apt/sources.list.d/ beispielsweise 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

Kein Tee # am Anfang einer Textzeile bedeutet, dass es auskommentiert ist und nicht vom Paketmanager geprüft wird.

Wie man diese Fehler beseitigt

Normalerweise, wenn Sie laufen sudo apt-get update Klicken Sie im Update Manager auf ein Terminal, oder klicken Sie auf die Schaltfläche Details, nachdem Sie auf die Schaltfläche zum Aktualisieren geklickt haben.

enter image description here 

Wenn der Fehler auf eine PPA zurückzuführen ist, wird dies normalerweise durch Aufheben der Entschlüsselung der PPA mit der URL, die in der Fehlermeldung angezeigt wird, behoben.

enter image description here 

Wenn der 404-Fehler auf ein zusätzliches Repository zurückzuführen ist, das hinzugefügt wurde /etc/apt/sources.list dann ist es einfacher hinzuzufügen # Zeichen an den Anfang der Zeile, um das anstößige Repository auskommentieren, d. h.

gksu gedit /etc/apt/sources.list

enter image description here

Skriptentfernung für alle ubuntu-Versionen vor 15.04

Ich habe ein schnelles Skript geschrieben, das nach PPAs und Software-Quellen sucht, die die 404-Fehler aufweisen. Dies funktioniert für alle Ubuntu-Versionen vor 15.04. Führen Sie ab 15.04 die oben beschriebenen manuellen Methoden aus.

Es ist in meinem PPA:

sudo add-apt-repository ppa:fossfreedom/packagefixes
sudo apt-get update
sudo apt-get install banish404

Sie können das Deb-Paket einfach herunterladen und direkt installieren:

wget https://launchpad.net/~fossfreedom/+archive/packagefixes/+files/banish404_0.1-4_all.deb
sudo dpkg -i banish404_0.1-4_all.deb

N.B. Es ist das gleiche Deb-Paket für alle Distributionen.

Fragen / Kommentare / Verbesserung bitte via Launchpad Kontaktieren Sie mich Link

Wie benutzt man:

sudo banish404

Das Skript wird automatisch Ihre Quellen vor der Änderung sichern - zu finden in /etc/apt

Mehr Info

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:


285
2018-01-05 00:15



Verwenden Sie jetzt, um mein Problem hoffentlich zu beheben - für den Seelenfrieden wäre es großartig, wenn Sie einen Link [oder einen kurzen Abschnitt] hinzufügen könnten, wie Sie das Backup bei Bedarf wiederherstellen können - Louis Maddox
Wenn Sie diese ppas entfernen, bedeutet das, dass Sie die relevanten Updates von woanders bekommen müssen? - Addem
@fossfreedom Warum funktioniert das nicht über 15.04? - Mark Yisri
Ich benutzte die Skriptentfernung für Ubuutu 14.04. Es hat super funktioniert. Danke vielmals. - Mohit Mittal
Hinweis - Die Skriptlösung funktioniert nicht auf Ubuntu Server, ohne eine Anzeige einzurichten (Getestet mit 14.04 LTS). - cerd


Automatisches Entfernen von 404 Nicht gefundene PPAs durch Skript

Dies ist ein Skript, um automatisch alle 404 Nicht gefunden PPA's zu entfernen. Kopieren Sie den folgenden Code und fügen Sie ihn in eine Datei ein und nennen 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

Gib dem Skript Ausführungsberechtigung

sudo chmod +x ppa-remove

Kopiere und füge die ppa-remove Datei in /usr/bin Verzeichnis.So können Sie von überall darauf zugreifen.

Verwendung

sudo ppa-remove

Skriptbeschreibung

[ -f /tmp/update.txt ] && sudo rm /tmp/update.txt; tput setaf 6; echo "Initializing.. Please Wait" || echo "No update file"

tput setaf 6 Der Befehl ändert die Farbe des Terminaltextes in Grün. Und dann wird "Initializing ..Please Wait" in grüner Farbe 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
  1. 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

  2. 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 besteht aus W:,launchpad,404 in dem /tmp/update.txt file.Wenn es gefunden, dass dann in dieser Zeile (stdout) alle Buchstaben ab dem 26. Stelle in Spalte5 angezeigt. Diese Standardausgabe wurde umgeleitet (geschrieben) in die /tmp/awk.txtDatei.

Beispielsweise:

W: Failed to fetch http://ppa.launchpad.net/pitti/postgresql/ubuntu/dists/saucy/main/binary-i386/Packages  404  Not Found

5. Kolumn - http://ppa.launchpad.net/pitti/postgresql/ubuntu/dists/saucy/main/binary-i386/Packages

in dieser 5. Spalte beginnen von 26. Charakter- pitti/postgresql/ubuntu/dists/saucy/main/binary-i386/Packages

Diese obere Zeile wurde in gespeichert /tmp/awk.txt file.Now der nächste Befehl,

awk -F '/' '{ print $1"/"$2 }' /tmp/awk.txt > /tmp/awk1.txt;  

awk finde die Spalte1 und Spalte2 mit dem Trennzeichen heraus / wo die Spalte1 und die Spalte2 verkettet sind /von dem /tmp/awk.txt Datei und leitet dann das stdout um (geschrieben) /tmp/awk1.txt Datei.

Jetzt /tmp/awk1.txt Datei enthält pitti/postgresql Linie.

uniq /tmp/awk1.txt > /tmp/awk2.txt

Wenn es zwei gleiche Linien gibt, unique Befehl zeigt (stdout) nur eine einzelne Zeile an. In diese einzelne Zeile wurde geschrieben /tmp/awk2.txt Endlich /tmp/awk2.txt besteht aus eindeutigen PPA-Namen.

tput sgr0

Dieser Befehl ändert die Farbe des Terminaltextes in Weiß.

Endlich if bedingte Anweisungen werden ausgeführt. if [ -s /tmp/awk2.txt ] check für den Inhalt von /tmp/awk2.txt Datei präsentiert oder nicht.Wenn ja, dann nimmt es die erste Zeile aus /tmp/awk2.txt und führt aus sudo add-apt-repository -r ppa:$line command.It weiter bis zur letzten Zeile.

Wenn nein, bedeutet dies, dass kein Inhalt vorhanden ist. So heißt es "Keine PPA's werden entfernt".

Screenshots

enter image description here

enter image description here


49
2018-03-10 18:08



/ usr / bin / ppa-remove: Zeile 32: Syntaxfehler: unerwartetes Ende der Datei - Shravan40


Sie erhalten diese Fehler, weil Ihre PPA-Repositorys keine Pakete für Ihre Ubuntu-Distribution bereitstellen (dh; quantal).

Schau dir die folgenden Screenshots an:

ppa: petrakis / wdt-main Launchpad logo

wdt-main

ppa: scrinlets / ppa Launchpad logo

screenlets

Sie können sehen, dass das Verzeichnis für quantal fehlt und du bekommst also 404 Not Found Error Messages.

Um diese Nachrichten loszuwerden, müssen Sie diese PPA-Repositories von Ihrem System entfernen. Befolgen Sie diese Frage zum Entfernen von PPAs:


Wie untersucht man das und kommt zu dieser Schlussfolgerung?

Dies sind die Fehlermeldungen, die Sie erhalten 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

Öffnen Sie Ihre Browser-Registerkarte und öffnen Sie den Link, der 404 Not Found Errors enthält. In diesem Fall http://ppa.launchpad.net/petrakis/ und gehen Sie tiefer als der Link, der Fehler gibt. Sie könnten sehen, was das eigentliche Problem ist.


20
2018-02-16 18:59





Am wahrscheinlichsten ist, dass das PPA nicht länger aufrechterhalten wird und entfernt werden muss. Sie können dies nur tun mit:

sudo rm /etc/apt/sources.list.d/ppaname-ppa-$(lsb_release -sc).list*

17
2017-12-23 18:08



Das hat gerade eine doppelte Frage gespeichert, die gepostet wurde. Ich hatte den Körper meines Q bereit und gerade als ich anfing, meinen Titel einzugeben, fand der Link .. Warum behalten sie nicht die ganze Liste an einem Ort! Dort sind einige aufgeführt /etc/apt/sources.list wo ich nachgesehen habe, aber nicht wusste, dass ich reinschauen musste /etc/apt/sources.list.d/ auch .. danke .. - precise
dies und das Hinzufügen der richtigen neuen PPA erwies sich als die beste (einzige funktionierende) Lösung für mich. - markus-tharkun


Wählen Sie Älteres Repository

Wenn Sie die Pakete wirklich brauchen Das Repository, können Sie die Spiegel von älteren Release verwenden.

Beachten Sie jedoch, dass nicht alle älteren Versionen sind rückwärtskompatibel; einige von ihnen verursachen Konflikte mit Ihrem Haupt-Paket-Repository.

Das einzige, was Sie tun können, wenn Konflikte auftreten, ist, entweder von der Quelle aus zu bauen oder zu warten, bis der Provider das Repository für Ihre Ubuntu-Version freigibt. Wir wissen es nicht genau Wenn die Paketanbieter ihr Paket für unsere Version veröffentlichen, sind Sie derjenige, der das Repository für Ihre Veröffentlichung überprüft.

Dies kann mit jedem Debian-basierten Repository verwendet werden. Es gibt jedoch keine Garantie, dass dies erfolgreich sein wird.

Schritte

  1. Mach es normal sudo apt update nach dem Hinzufügen von PPA / Repository. Sie können feststellen, dass beim Aktualisieren 404 Fehler aufgetreten sind. ignoriere das einfach. 404 Error
  2. Öffnen Sie das Repository-Verzeichnis, das einen 404-Fehler in Ihrem Browser verursacht. in diesem Fall ist es https://dl.winehq.org/wine-builds/ubuntu. In der Regel befinden sich verfügbare Versionen in dists/. Mirrors
  3. Nachdem Sie es gefunden haben, öffnen Sie Software & Updates, und ersetzen Sie Ihren Veröffentlichungsnamen durch das verfügbare Release. vorzugsweise neueste oder LTS. Ersetzen Sie den Abschnitt "Distribution" in Binär- und Quellcode-Spiegelungen. In diesem Fall ersetze ich bionic mit artful. enter image description here
  4. Machen sudo apt update nochmal.
  5. Sie sind fertig! Jetzt haben Sie keine 404 Fehler mehr beim Aktualisieren Ihrer Paketlisten. enter image description here
  6. Wenn die Pakete für Ihre Ubuntu-Version veröffentlicht sind, wiederholen Sie Schritt 3 und 4, indem Sie den Abschnitt "Distribution" durch Ihren Distributionsnamen ersetzen.

4
2018-05-23 06:07





Beachten Sie, dass es mir bereits passiert ist und ich aus diesen Situationen heraus war. Und es hat auch für einen Freund von mir funktioniert. Auch wenn man nicht erklären kann, warum, gibt es etwas, das dieses Problem gelöst hat:

  1. Deaktivieren Sie alle Ihre PPAs.
  2. Lauf sudo apt-get update vom Terminal;
  3. Aktivieren Sie Ihre PPAs wieder zurück;
  4. Lauf sudo apt-get update;

Und plötzlich hat es funktioniert. Frage mich nicht warum.


2
2017-11-19 20:22



Machte keinen Unterschied für mich. Noch 404s. - kwoxer
Ich habe einige unerwünschte PPAs deaktiviert und versucht sudo apt-get update und es hat perfekt funktioniert. - Shashanth


Wenn Sie beim Versuch, Sicherheits- oder Systemdateien von einem offiziellen Repository (keine PPA) zu erhalten, einen 404-Fehler erhalten, können Sie einen anderen Spiegelserver auswählen, um dieses Problem zu beheben.

Du kannst entweder:

EIN) Bestimmen Sie Manuell durch Überprüfen diese Liste und Auswahl des aktuellsten Spiegels. (Sie können andere Faktoren wie Entfernung und Bandbreite in Betracht ziehen) oder

B) Wähle einen automatisch aus.

In beiden Fällen können Sie mit der Anwendung Software & Updates wie folgt beginnen: Wählen Sie Download von gefolgt von Andere. Dann können Sie entweder manuell den Spiegel Ihrer Wahl aus der Liste auswählen oder auf die Schaltfläche Besten Server auswählen klicken, der einige Tests ausführt und abhängig von den aktuellen Bedingungen den für Sie besten Server auswählt.

SnU


1
2018-01-15 14:57





Ich habe jede mögliche Antwort ausprobiert, aber die einzige Lösung war, das zu kopieren Ubuntu 16.04 Xenial Standard /etc/apt/sources.list  Datei zu meinem /etc/apt/sources.list.

Quellen: https://gist.github.com/rohitrawat/60a04e6ebe4a9ec1203eac3a11d4afc1

Das hat mein Linux gerettet.


0
2018-05-03 11:06