Comment puis-je corriger une erreur 404 lors de l'utilisation d'un PPA ou de la mise à jour de mes listes de paquets?

238

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?

    
posée Pedro 14.10.2011 - 03:16
la source

8 réponses

282

Suppression automatisée

passez directement au bas de cette réponse pour une méthode scriptée permettant de supprimer les sources de logiciels incriminées pour toutes les versions d'ubuntu antérieures à Ubuntu 15.04

Que 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 à jour et a réactivé un logiciel source PPA qui n'existe plus
  2. Un utilisateur a saisi manuellement une nouvelle source de logiciel de manière incorrecte
  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

Notez qu'un # au début d'une ligne de texte signifie qu'il est mis en commentaire 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 depuis un terminal ou cliquez sur le bouton Détails dans Update Manager après avoir appuyé sur le bouton Actualiser, vous verrez des erreurs telles que:

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

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

gksu gedit /etc/apt/sources.list

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 les versions 15.04 et 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 Contactez-moi Launchpad

Comment utiliser:

sudo banish404

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

Plus d'info

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:

réponse donnée fossfreedom 05.01.2012 - 01:15
la source
47

Suppression automatisée de PPA 404 introuvable via le 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(,26) }' /tmp/update.txt > /tmp/awk.txt; awk -F '/' '{ print "/" }' /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 fichier ppa-remove dans /usr/bin directory.Ainsi, vous pouvez y accéder de n'importe où.

Utilisation

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"
La commande

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

sudo apt-get update >> /tmp/update.txt 2>&1; awk '( /W:/ && /launchpad/ && /404/ ) { print substr(,26) }' /tmp/update.txt > /tmp/awk.txt; awk -F '/' '{ print "/" }' /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 écrits dans le fichier /tmp/update.txt

  2. awk '( /W:/ && /launchpad/ && /404/ ) { print substr(,26) }' /tmp/update.txt > /tmp/awk.txt; awk -F '/' '{ print "/" }' /tmp/awk.txt > /tmp/awk1.txt;

Awk recherche la ligne composée de W: , launchpad , 404 dans le fichier /tmp/update.txt . S'il trouve que dans cette ligne il affiche (stdout) toutes les lettres à partir du 26ème emplacement dans column5.Cette sortie standard a été redirigée (écrite) vers le fichier /tmp/awk.txt .

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.Maintenant la prochaine commande,

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

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

Maintenant, le fichier /tmp/awk1.txt contient la ligne pitti/postgresql .

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

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

tput sgr0

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

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

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

Captures d'écran

    
réponse donnée Avinash Raj 10.03.2014 - 19:08
la source
20

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

ppa: screenlets / ppa

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

Pour vous 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?

Voici 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.

    
réponse donnée Aditya 16.02.2013 - 19:59
la source
17

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*
    
réponse donnée Braiam 23.12.2013 - 19:08
la source
3

Choisissez un ancien référentiel

Si vous avez vraiment besoin des packages de ce référentiel, vous pouvez utiliser les miroirs des versions antérieures.

Cependant, notez que les versions antérieures ne sont pas toutes compatibles avec les versions antérieures ; 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 soit de créer à partir de sources, soit d’attendre que le fournisseur publie le référentiel pour votre version Ubuntu. Nous ne connaissons pas exactement lorsque les fournisseurs de paquetages publieront leur paquet pour notre version. Vous êtes donc en charge de vérifier leur dépôt pour votre version.

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

Étapes

  1. Faites comme d'habitude sudo apt update après avoir ajouté PPA / repository. Vous pouvez remarquer qu'il y a 404 erreurs lors de la mise à jour; ignorez simplement ceci.
  2. Ouvrez le répertoire du référentiel qui génère une erreur 404 avec votre navigateur. dans ce cas, il s'agit de https://dl.winehq.org/wine-builds/ubuntu . Généralement, les versions disponibles sont situées dans dists/ .
  3. Après l'avoir localisé, ouvrez Software & amp; Mises à jour 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 par artful .
  4. Faites sudo apt update à nouveau.
  5. Vous avez terminé! Maintenant, vous n'avez plus d'erreurs 404 lors de la mise à jour de vos listes de paquets.
  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.
réponse donnée Aryo Adhi 23.05.2018 - 08:07
la source
2

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ésactivez tous vos PPA;
  2. Exécutez sudo apt-get update depuis le terminal;
  3. Activez à nouveau vos CAÉ;
  4. Exécuter sudo apt-get update ;

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

    
réponse donnée Danilo 19.11.2013 - 21:22
la source
1

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

Vous pouvez soit:

A) en déterminer une manuellement en consultant cette liste et en choisissant le plus récent miroir. (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 le logiciel & amp; Met à jour l’application comme indiqué ci-dessous: Sélectionnez ensuite Télécharger de suivi de 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 serveur le mieux adapté aux conditions actuelles.

    
réponse donnée Elder Geek 15.01.2017 - 15:57
la source
0

J'ai essayé toutes les réponses possibles, mais la seule solution consistait à copier le Ubuntu 16.04 Xenial par défaut /etc/apt/sources.list fichier à mon /etc/apt/sources.list .

Sources: lien

Cela a sauvé mon Linux.

    
réponse donnée Damjan Pavlica 03.05.2018 - 13:06
la source

Lire d'autres questions sur les étiquettes