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?
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
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.
En règle générale, trois domaines principaux provoquent 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 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.
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
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
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 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ù.
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(,26) }' /tmp/update.txt > /tmp/awk.txt; awk -F '/' '{ print "/" }' /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(,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".
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:
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:
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.
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.
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.
https://dl.winehq.org/wine-builds/ubuntu
. Généralement, les versions disponibles sont situées dans dists/
.
bionic
par artful
.
sudo apt update
à nouveau. 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:
sudo apt-get update
depuis le terminal; sudo apt-get update
; Et soudain ça a marché. Ne me demande pas pourquoi.
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.
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.
Lire d'autres questions sur les étiquettes apt repository ppa