Question Comment corriger une erreur 404 lors de l'utilisation d'un PPA ou de la mise à jour de mes listes de colis?


Le PPA semble être constamment déconnecté. Chaque fois que j'utilise sudo apt-get update, cette erreur est affichée:

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

Comment puis-je corriger ces erreurs?


240
2017-10-14 01:16


origine


Comme il semble que ce soit l’une des principales réponses "Failed to fetch", je veux juste signaler ici que cela peut aussi se produire avec les URL "partenaires" d’Ubuntu dans les sources.list; vérifiez vos erreurs pour voir si ce sont celles-là et essayez de les commenter. J'ai rencontré ce problème (et cette solution) avec Quetzal. - joseph_morris


Réponses:


Enlèvement automatique

aller au bas de cette réponse pour un moyen scripté de supprimer les sources de logiciels incriminées pour toutes les versions d'ubuntu antérieures à Ubuntu 15.04

Quelles sont les erreurs 404

Le message d'erreur 404 ou Not Found est un code de réponse standard HTTP   indiquant que le client était capable de communiquer avec le serveur,   mais le serveur n'a pas pu trouver ce qui était demandé.

Le serveur d'hébergement de site Web générera généralement "404 - Page Not   "Trouvé page Web, lorsque les utilisateurs tentent de suivre un lien cassé ou mort.

Quelles sont les causes de ces erreurs dans update-manager

En règle générale, trois domaines principaux provoquent ces erreurs dans update-manager

  1. Un utilisateur vient de mettre à niveau et a réactivé un logiciel source PPA qui n'existe plus enter image description here
  2. Un utilisateur a saisi manuellement une nouvelle source logicielle de manière incorrecte enter image description here
  3. Un PPA a été ajouté, mais le responsable a par la suite supprimé certains / tous les PPA

où sont ces logiciels sources

Les PPA sont généralement enregistrés dans l'un des deux emplacements

  1. /etc/apt/sources.list 
  2. dans un fichier nommé de manière appropriée avec une extension de fichier .list dans /etc/apt/sources.list.d/ par exemple webupd8team-jupiter-natty.list

Ce fichier de liste contient généralement:

deb http://ppa.launchpad.net/webupd8team/jupiter/ubuntu oneiric main
# deb-src http://ppa.launchpad.net/webupd8team/jupiter/ubuntu oneiric main

Pas de thé # Au début d'une ligne de texte, cela signifie qu'il est commenté et n'est pas vérifié par le gestionnaire de paquets.

Comment éliminer ces erreurs

En règle générale, si vous exécutez sudo apt-get update à partir d'un terminal ou cliquez sur le bouton Détails dans Update Manager après avoir appuyé sur le bouton d'actualisation, vous verrez des erreurs telles que:

enter image description here 

Si l'erreur est due à un PPA - le fait de décoller le PPA portant le même nom avec l'URL indiquée dans le message d'erreur résoudra ce problème.

enter image description here 

Si l'erreur 404 était due à un dépôt supplémentaire ajouté à /etc/apt/sources.list alors c'est plus facile à ajouter # caractère au début de la ligne pour commenter le référentiel incriminé

gksu gedit /etc/apt/sources.list

enter image description here

Suppression de scripts pour toutes les versions d'ubuntu antérieures à 15.04

J'ai écrit un script rapide qui vérifie les PPA et les sources de logiciels qui présentent les erreurs 404. Cela fonctionne pour toutes les versions d'Ubuntu avant 15.04. Pour 15.04 et versions ultérieures, effectuez les méthodes manuelles décrites ci-dessus.

C'est dans mon PPA:

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

Vous pouvez simplement télécharger le paquet deb et l'installer directement:

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. c'est le même paquet deb pour toutes les distributions.

Questions / Commentaires / Amélioration s'il vous plaît via Lien de Launchpad Contact Me

Comment utiliser:

sudo banish404

Le script sauvegardera automatiquement vos sources avant la modification - à trouver dans /etc/apt

Plus d'informations

Voici un rapport de bogue sur le gestionnaire de mise à jour pour résoudre ce problème:

Si vous rencontrez ces problèmes sans PPA, consultez cette question:


285
2018-01-05 00:15



Utiliser maintenant pour corriger mon problème, espérons que ce serait bien si vous pouviez ajouter un lien [ou une courte section] sur la façon de "restaurer" à partir de la sauvegarde si nécessaire - Louis Maddox
Si vous supprimez ces pages, cela signifie-t-il que vous devez obtenir les mises à jour pertinentes ailleurs? - Addem
@fossfreedom Pourquoi cela ne marche-t-il pas au-dessus de 15.04? - Mark Yisri
J'ai utilisé l'enlèvement par script pour ubutu 14.04. Ça a bien marché. Merci beaucoup. - Mohit Mittal
Remarque: la solution scriptée ne fonctionne pas sur Ubuntu Server sans configuration d'affichage (Testé sur 14.04 LTS). - cerd


Suppression automatisée de PPA 404 introuvable via un script

Ceci est un script pour supprimer automatiquement tous les PPA 404 Not found. Copiez le code ci-dessous et collez-le dans un fichier et nommez-le comme 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

Autoriser l'exécution du script

sudo chmod +x ppa-remove

Copiez et collez le ppa-remove déposer dans /usr/bin répertoire.Alors que vous pouvez y accéder depuis n'importe où.

Usage

sudo ppa-remove

Description du script

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

tput setaf 6 La commande transforme la couleur du texte du terminal en vert. Ensuite, elle affiche "Initializing ..Please Wait" en vert.

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;

    Stdout et stderr de la commande sudo apt-get update sont écrites dans le fichier /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 recherche la ligne qui se compose de W:,launchpad,404 dans le /tmp/update.txt fichier.Si elle a constaté que dans cette ligne, elle affiche (stdout) toutes les lettres à partir du 26ème emplacement dans column5.Cette sortie standard a été redirigée (écrite) vers le /tmp/awk.txtfichier.

Par exemple:

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

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

dans cette 5ème colonne à partir du 26ème caractère- pitti/postgresql/ubuntu/dists/saucy/main/binary-i386/Packages

Cette ligne ci-dessus a été stockée dans /tmp/awk.txt file.Now la commande suivante,

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

awk découvre la colonne1 et la colonne2 avec le délimiteur / où colonne1 et colonne2 sont concaténées par /du /tmp/awk.txt fichier puis redirige (écrit) la sortie standard vers /tmp/awk1.txt fichier.

À présent /tmp/awk1.txt fichier contient pitti/postgresql ligne.

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

S'il y a deux lignes identiques, unique commande affiche (stdout) une seule ligne seulement. Cette seule ligne a été écrite /tmp/awk2.txt finalement /tmp/awk2.txt se compose de noms uniques de PPA.

tput sgr0

Cette commande change la couleur du texte du terminal en blanc.

finalement if les instructions conditionnelles seront exécutées. if [ -s /tmp/awk2.txt ] vérifier le contenu de /tmp/awk2.txt fichier présente ou non.Si oui, alors il prend la première ligne de /tmp/awk2.txt et exécute sudo add-apt-repository -r ppa:$line commande.Il continue jusqu'à la dernière ligne.

Si non, cela signifie qu'il n'y a pas de contenu. Donc, il est dit "Aucun PPA à supprimer".

Captures d'écran

enter image description here

enter image description here


49
2018-03-10 18:08



/ usr / bin / ppa-remove: ligne 32: erreur de syntaxe: fin inattendue du fichier - Shravan40


Vous obtenez ces erreurs car vos référentiels PPA ne fournissent pas de packages pour votre distribution d'Ubuntu (c.-à-d. quantal).

Regardez les captures d'écran suivantes:

ppa: petrakis / wdt-main Launchpad logo

wdt-main

ppa: screenlets / ppa Launchpad logo

screenlets

Vous pouvez voir que le répertoire pour quantal est manquant et vous obtenez donc 404 Not Found Error Messages.

Pour se débarrasser de ces messages, vous devez supprimer ces référentiels PPA de votre système. Suivez cette question sur la façon de supprimer les PPA:


Comment enquêter sur cela et arriver à cette conclusion?

Ce sont les messages d'erreur que vous recevez pour 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

Ouvrez l'onglet de votre navigateur et ouvrez le lien qui indique 404 erreurs non trouvées. Dans ce cas http://ppa.launchpad.net/petrakis/ et aller plus loin selon le lien qui donne des erreurs. Vous seriez en mesure de voir quel est le problème réel.


20
2018-02-16 18:59





Le plus probable est que le PPA n'est plus maintenu et doit être supprimé. Vous pouvez le faire simplement en utilisant:

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

17
2017-12-23 18:08



ceci a juste sauvé une question en double d'être postée .. J'ai eu le corps de mon Q prêt et juste comme j'ai commencé à taper mon titre a trouvé le lien .. pourquoi ne pas garder toute la liste à un endroit! il y en a énumérés dans /etc/apt/sources.list où j'ai vérifié mais je ne savais pas que je devais regarder dans /etc/apt/sources.list.d/ aussi .. merci .. - precise
Ceci et l'ajout du nouveau PPA s'est avéré être la meilleure solution (qui ne fonctionne que pour moi). - markus-tharkun


Choisissez un ancien référentiel

Si vous avez vraiment besoin des paquets de cette dépôt, vous pouvez utiliser les miroirs de la version antérieure.

Cependant, veuillez noter que toutes les anciennes versions ne sont pas rétrocompatible; certains d'entre eux provoquent des conflits avec votre référentiel de packages principal.

La seule chose que vous pouvez faire en cas de conflit est de construire à partir de sources ou d'attendre que le fournisseur libère le référentiel pour votre version d'Ubuntu. Nous ne savons pas exactement lorsque les fournisseurs de paquetages publieront leur paquet pour notre version, vous êtes donc responsable de vérifier leur dépôt pour votre version.

Cela peut être utilisé avec n'importe quel dépôt basé sur Debian. Cependant, rien ne garantit que cela réussira.

Pas

  1. Faire habituel sudo apt update après l'ajout de PPA / repository. Vous pouvez remarquer qu'il y a 404 erreurs lors de la mise à jour; ignorez simplement ceci. 404 Error
  2. Ouvrez le répertoire du référentiel qui provoque une erreur 404 avec votre navigateur. dans ce cas c'est https://dl.winehq.org/wine-builds/ubuntu. Généralement, les versions disponibles se trouvent dans dists/. Mirrors
  3. Après l'avoir localisé, ouvrez Software & Updates et remplacez le nom de votre version par la version disponible; de préférence le plus récent ou LTS un. Remplacez la section "Distribution" dans les miroirs binaires et de code source. Dans ce cas, je remplace bionic avec artful. enter image description here
  4. Faire sudo apt update encore.
  5. Vous avez terminé! Maintenant, vous n'avez plus d'erreurs 404 lors de la mise à jour de vos listes de paquets. enter image description here
  6. Lorsque les packages de votre version Ubuntu sont disponibles, répétez les étapes 3 et 4 en remplaçant la section "Distribution" par le nom de votre distribution.

4
2018-05-23 06:07





Notez que cela m'est déjà arrivé et que j'étais hors de ces situations. Et ça a aussi fonctionné pour un de mes amis. Même ne pouvant pas expliquer pourquoi, il y a quelque chose qui a résolu ce problème:

  1. Désactiver tous vos PPAs
  2. Courir sudo apt-get update du terminal;
  3. Activez à nouveau vos CAÉ;
  4. Courir sudo apt-get update;

Et soudain ça a marché. Ne me demande pas pourquoi.


2
2017-11-19 20:22



Je n'ai fait aucune différence. Encore 404s. - kwoxer
J'ai désactivé certains des PPA indésirables et j'ai essayé sudo apt-get update et cela a parfaitement fonctionné. - Shashanth


Si vous obtenez une erreur 404 en essayant d'obtenir des fichiers de sécurité ou des fichiers système à partir d'un référentiel officiel (pas un PPA), vous pouvez choisir un autre miroir pour résoudre ce problème.

Tu peux soit:

UNE) en déterminer un manuellement en passant en revue cette liste et choisir le miroir le plus courant. (vous souhaiterez peut-être prendre en compte d'autres facteurs tels que la distance et la bande passante) ou

B) Choisissez-en un automatiquement.

De toute façon, vous pouvez commencer avec l'application Logiciels et mises à jour, comme indiqué ci-dessous: Sélectionnez ensuite Télécharger à partir de suivi par Autre. Vous pouvez ensuite choisir manuellement le miroir de votre choix dans la liste ou cliquer sur le bouton Sélectionner le meilleur serveur qui exécutera des tests et choisira le meilleur serveur en fonction des conditions actuelles.

SnU


1
2018-01-15 14:57