PPA sembra essere costantemente offline. Ogni volta che utilizzo sudo apt-get update
, viene visualizzato questo errore:
W: Failed to fetch http://ppa.launchpad.net/ 404 Not Found
Come posso correggere questi errori?
PPA sembra essere costantemente offline. Ogni volta che utilizzo sudo apt-get update
, viene visualizzato questo errore:
W: Failed to fetch http://ppa.launchpad.net/ 404 Not Found
Come posso correggere questi errori?
Risposte:
vai alla fine di questa risposta per un modo con script per rimuovere fonti di software offensive per tutte le versioni di Ubuntu precedenti a Ubuntu 15.04
Il messaggio di errore 404 o Non trovato è un codice di risposta standard HTTP che indica che il client era in grado di comunicare con il server, ma il server non è riuscito a trovare ciò che è stato richiesto.
Il server di hosting del sito Web genererà in genere la pagina Web "404 - Pagina non trovata", quando gli utenti tentano di seguire un collegamento non funzionante o interrotto.
In genere, tre aree principali causano questi errori update-manager
I PPA vengono generalmente salvati in una delle due posizioni
/etc/apt/sources.list
/etc/apt/sources.list.d/
, ad esempiowebupd8team-jupiter-natty.list
Questo file elenco in genere contiene:
deb http://ppa.launchpad.net/webupd8team/jupiter/ubuntu oneiric main
# deb-src http://ppa.launchpad.net/webupd8team/jupiter/ubuntu oneiric main
Nota a #
all'inizio di una riga di testo significa che è commentato e non controllato dal gestore pacchetti.
In genere, se si esegue sudo apt-get update
da un terminale o si fa clic sul pulsante Dettagli in Update Manager dopo aver premuto il pulsante di aggiornamento, verranno visualizzati errori quali:
Se l'errore è dovuto a un PPA, in genere deselezionando PPA con lo stesso nome con l'URL mostrato nel messaggio di errore, questo verrà risolto.
Se l'errore 404 era dovuto a un repository aggiuntivo che è stato aggiunto, è /etc/apt/sources.list
più facile aggiungere #
carattere all'inizio della riga per commentare il repository offensivo, ad es.
gksu gedit /etc/apt/sources.list
Ecco una segnalazione di bug sul gestore aggiornamenti per risolvere questo problema:
Se riscontri questi problemi senza PPA, dai un'occhiata a questa domanda:
Questo è uno script per rimuovere automaticamente tutti i 404 PPA non trovati. Copia il codice seguente e incollalo in un file e chiamalo come 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
Autorizza l'esecuzione dello script
sudo chmod +x ppa-remove
Copia e incolla il ppa-remove
file nella /usr/bin
directory, in modo che tu possa accedervi da qualsiasi luogo.
sudo ppa-remove
[ -f /tmp/update.txt ] && sudo rm /tmp/update.txt; tput setaf 6; echo "Initializing.. Please Wait" || echo "No update file"
tput setaf 6
Il comando trasforma il colore del testo del terminale in verde, quindi visualizza "Inizializzazione .. Attendere" in colore verde.
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;
Sia stdout che stderr del comando sudo apt-get update
sono scritti nel file/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 cerca la linea che consiste W:
, launchpad
, 404
nel /tmp/update.txt
file.If ha trovato che poi in quella linea visualizza (stdout) tutte le lettere a partire dalla posizione 26 in column5.This standard output è stato reindirizzato (scritto) per il /tmp/awk.txt
file.
Per esempio:
W: Failed to fetch http://ppa.launchpad.net/pitti/postgresql/ubuntu/dists/saucy/main/binary-i386/Packages 404 Not Found
5a colonna - http://ppa.launchpad.net/pitti/postgresql/ubuntu/dists/saucy/main/binary-i386/Packages
in quella 5a colonna inizia dal 26 ° carattere- pitti/postgresql/ubuntu/dists/saucy/main/binary-i386/Packages
Questa riga sopra è stata memorizzata nel file. /tmp/awk.txt
Ora il prossimo comando,
awk -F '/' '{ print $1"/"$2 }' /tmp/awk.txt > /tmp/awk1.txt;
awk scopre la colonna1 e la colonna2 con il delimitatore in /
cui la colonna1 e la colonna2 sono concatenate /
dal /tmp/awk.txt
file e quindi reindirizza (scritto) lo stdout sul /tmp/awk1.txt
file.
Ora il /tmp/awk1.txt
file contiene una pitti/postgresql
riga.
uniq /tmp/awk1.txt > /tmp/awk2.txt
Se ci sono due stesse linee, il unique
comando visualizza (stdout) solo una riga singola. Quella singola riga è stata scritta in /tmp/awk2.txt
Infine è /tmp/awk2.txt
costituita da nomi PPA univoci.
tput sgr0
Questo comando cambia il colore del testo del terminale in bianco.
if
Verranno infine eseguite le istruzioni condizionali. if [ -s /tmp/awk2.txt ]
controlla il contenuto del file /tmp/awk2.txt presente o meno. In caso affermativo, prende la prima riga da /tmp/awk2.txt
ed esegue il sudo add-apt-repository -r ppa:$line
comando. Continua fino all'ultima riga.
Se no, significa che non ci sono contenuti, quindi dice "Nessun PPA da rimuovere".
Stai ricevendo questi errori perché i tuoi repository PPA non forniscono pacchetti per la tua distribuzione di Ubuntu (ie; quantal
).
Guarda i seguenti screenshot:
ppa: Petrakis / WDT-principale
Puoi vedere che quantal
manca la directory per e quindi stai ottenendo 404 Not Found Error Messages
.
Per sbarazzarsi di questi messaggi è necessario rimuovere questi repository PPA dal sistema. Segui questa domanda su come rimuovere i PPA:
Questi sono i messaggi di errore che ricevi per 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
Apri la scheda del browser e apri il link che fornisce 404 errori non trovati. In questo caso http://ppa.launchpad.net/petrakis/
e andare più in profondità secondo il collegamento che fornisce errori. Saresti in grado di vedere qual è il problema reale.
Il più probabile che stia accadendo è che il PPA non è più mantenuto e deve essere rimosso. Puoi farlo semplicemente usando:
sudo rm /etc/apt/sources.list.d/ppaname-ppa-$(lsb_release -sc).list*
/etc/apt/sources.list
cui ho controllato ma non sapevo che dovevo cercare /etc/apt/sources.list.d/
anche io .. grazie ..
Se hai davvero bisogno dei pacchetti da quel repository, puoi usare i mirror della versione precedente.
Tuttavia, si noti che non tutte le versioni precedenti sono compatibili con le versioni precedenti ; alcuni di essi causano conflitti con il repository dei pacchetti principale.
L'unica cosa che puoi fare quando è in conflitto è costruire dalla fonte o aspettare fino a quando il provider rilascia il repository per la tua versione di Ubuntu. Non sappiamo esattamente quando i fornitori di pacchetti rilasceranno il loro pacchetto per la nostra versione, quindi sei tu il responsabile a controllare il loro repository per la tua versione.
Questo può essere usato con qualsiasi repository basato su Debian. Tuttavia, non vi è alcuna garanzia che ciò abbia successo.
sudo apt update
dopo aver aggiunto PPA / repository. Si può notare che ci sono 404 errori durante l'aggiornamento; basta ignorarlo.
https://dl.winehq.org/wine-builds/ubuntu
. Di solito, le versioni disponibili si trovano in dists/
.
bionic
con artful
.
sudo apt update
nuovo.Nota che è già successo a me ed ero fuori da queste situazioni. E ha funzionato anche per un mio amico. Pur non potendo spiegare perché, c'è qualcosa che ha risolto quel problema:
sudo apt-get update
dal terminale;sudo apt-get update
;E improvvisamente ha funzionato. Non chiedermi perchè.
sudo apt-get update
e ha funzionato perfettamente.
Se si verifica un errore 404 durante il tentativo di ottenere file di sicurezza o di sistema da un repository ufficiale (non un PPA), è possibile scegliere un mirror diverso per risolvere questo problema.
Puoi:
A) determinane uno manualmente rivedendo questo elenco e scegliendo il mirror più recente. (potresti prendere in considerazione altri fattori come la distanza e la larghezza di banda) o
B) Scegline uno automaticamente.
In entrambi i casi è possibile iniziare con l'applicazione Software e aggiornamenti come mostrato di seguito: Quindi selezionare Scarica da seguito da Altro. Quindi puoi scegliere manualmente il mirror di tua scelta dall'elenco o fare clic sul pulsante Seleziona il server migliore che eseguirà alcuni test e scegli il server migliore per te in base alle condizioni attuali.
Ho provato tutte le risposte possibili, ma l'unica soluzione era copiare il file Ubuntu 16.04 Xenial default /etc/apt/sources.list sul mio /etc/apt/sources.list
.
Fonti: https://gist.github.com/rohitrawat/60a04e6ebe4a9ec1203eac3a11d4afc1
Ciò ha salvato il mio Linux.