PPA semble être constamment hors ligne. 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 corriger ces erreurs?
passez au bas de cette réponse pour une méthode scriptée de suppression des sources de logiciels incriminées pour toutes les versions d'ubuntu antérieures à Ubuntu 15.04
Le message d'erreur 404 ou Introuvable est un code de réponse standard HTTP indiquant que le client a pu communiquer avec le serveur, mais que celui-ci n'a pas pu trouver ce qui avait été demandé.
Le serveur d'hébergement de site Web génère généralement une page Web "404 - Page non trouvée", lorsque les utilisateurs tentent de suivre un lien brisé ou mort.
Généralement, trois domaines principaux sont à l’origine de ces erreurs dans update-manager
Les PPA sont généralement enregistrés dans l'un des deux emplacements
/etc/apt/sources.list
/etc/apt/sources.list.d/
, par exemple webupd8team-jupiter-natty.list
Ce fichier 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 packages.
En règle générale, si vous exécutez Sudo apt-get update
à partir d'un terminal ou cliquez sur le bouton de détails dans Update Manager après avoir cliqué sur le bouton d'actualisation, des erreurs telles que:
Si l'erreur est due à un PPA - Décochez généralement le PPA portant le même nom avec l'URL indiquée dans le message d'erreur pour résoudre le problème.
Si l'erreur 404 est 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 mettre en commentaire le référentiel incriminé, c'est-à-dire i.e.
gksu gedit /etc/apt/sources.list
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:
Ceci est un script pour supprimer automatiquement tous les PPAs non trouvés. Copiez le code ci-dessous, collez-le dans un fichier et nommez-le 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
Donner l'autorisation d'exécution au script
Sudo chmod +x ppa-remove
Copiez et collez le fichier ppa-remove
dans le répertoire /usr/bin
.Pour pouvoir y accéder de n'importe où.
Sudo ppa-remove
[ -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($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;
Stdout et stderr de la commande Sudo apt-get update
sont écrits dans le fichier /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 recherche la ligne composée de W:
, launchpad
, 404
dans le fichier /tmp/update.txt
.Si elle a constaté que cette ligne affiche alors (stdout) toutes les lettres à partir du 26ème emplacement de la colonne5.Ce résultat standard a été redirigé (écrit) dans 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 commence à partir du 26ème caractère - pitti/postgresql/ubuntu/dists/saucy/main/binary-i386/Packages
Cette ligne ci-dessus a été stockée dans le fichier /tmp/awk.txt
.Maintenant, 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ù 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
.
Le fichier /tmp/awk1.txt
contient maintenant la ligne pitti/postgresql
.
uniq /tmp/awk1.txt > /tmp/awk2.txt
S'il y a deux mêmes lignes, la commande unique
affiche (stdout) une seule ligne. Cette seule ligne a été écrite dans /tmp/awk2.txt
Enfin, /tmp/awk2.txt
est composé de noms PPA uniques.
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ésent ou non. Si oui, 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.Ainsi, il est écrit "Aucun PPA à supprimer".
Vous obtenez ces erreurs car vos référentiels PPA ne fournissent pas de packages pour votre distribution d'Ubuntu (c'est-à-dire: quantal
).
Regardez les captures d'écran suivantes:
Vous pouvez voir que le répertoire pour quantal
est manquant et que vous obtenez donc 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 AAE:
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 donne 404 Erreurs introuvables. Dans ce cas, http://ppa.launchpad.net/petrakis/
et allez plus loin selon le lien qui donne les erreurs. Vous seriez en mesure de voir quel est le problème réel.
Le plus probable est que le contrat d'achat d'électricité n'est plus maintenu et doit être supprimé. Vous pouvez le faire en utilisant simplement:
Sudo rm /etc/apt/sources.list.d/ppaname-ppa-$(lsb_release -sc).list*
Si vous avez vraiment besoin des packages de que le référentiel , vous pouvez utiliser les miroirs de la version précédente.
Cependant, veuillez noter que toutes les versions plus anciennes ne sont pas compatibilité avec les versions antérieures ; certaines d'entre elles provoquent des conflits avec votre référentiel de packages principal.
La seule chose que vous puissiez faire en cas de conflit est de créer à partir des sources ou d'attendre que le fournisseur publie le référentiel de votre version d'Ubuntu. Nous ne savons pas exactement quand les fournisseurs de paquets publieront leur paquet pour notre version, vous êtes donc responsable de vérifier leur référentiel pour votre Libération.
Ceci peut être utilisé avec n'importe quel référentiel basé sur Debian. Cependant, rien ne garantit que cela réussira.
Sudo apt update
comme d'habitude après l'ajout de PPA/référentiel. Vous pouvez remarquer qu'il y a 404 erreurs lors de la mise à jour; ignorez simplement ceci. https://dl.winehq.org/wine-builds/ubuntu
. Habituellement, les versions disponibles se trouvent dans dists/
. bionic
par artful
. Sudo apt update
.Notez que cela m'est déjà arrivé et que je n'étais pas dans ces situations. Et cela a également fonctionné pour un de mes amis. Même ne pas être en mesure d'expliquer pourquoi, il y a quelque chose qui a résolu ce problème:
Sudo apt-get update
à partir du terminal;Sudo apt-get update
;Et tout à coup cela a fonctionné. Ne me demande pas pourquoi.
Si vous obtenez une erreur 404 lors de la tentative d'obtention des fichiers de sécurité ou système à partir d'un référentiel officiel (et non d'un PPA), vous pouvez choisir un autre miroir pour résoudre ce problème.
Tu peux soit:
A) déterminez-en un manuellement en consultant cette liste et en choisissant le miroir le plus récent. (vous voudrez peut-être prendre en compte d’autres facteurs tels que la distance et la bande passante) ou
B) Choisissez-en un automatiquement.
Dans tous les cas, vous pouvez démarrer avec l'application Logiciels et mises à jour comme indiqué ci-dessous: Sélectionnez ensuite Télécharger depuis puis Autre. Ensuite, vous pouvez choisir manuellement le miroir de votre choix dans la liste ou cliquer sur le bouton Sélectionner le meilleur serveur qui exécutera certains tests et choisira le meilleur serveur pour vous en fonction des conditions actuelles.
J'ai essayé toutes les réponses possibles, mais la seule solution consistait à copier le fichier buntu 16.04 Xenial par défaut /etc/apt/sources.list dans mon /etc/apt/sources.list
.
Sources: https://Gist.github.com/rohitrawat/60a04e6ebe4a9ec1203eac3a11d4afc1
Cela a sauvé mon Linux.