PPA wydaje się być stale offline. Ilekroć używam sudo apt-get update
, ten błąd jest wyświetlany:
W: Failed to fetch http://ppa.launchpad.net/ 404 Not Found
Jak naprawić te błędy?
apt
ppa
repository
Pedro
źródło
źródło
Odpowiedzi:
Zautomatyzowane usuwanie
przejdź do dolnej części tej odpowiedzi, aby uzyskać skryptowy sposób usunięcia szkodliwych źródeł oprogramowania dla wszystkich wersji Ubuntu przed Ubuntu 15.04
Co to są błędy 404
Jakie są przyczyny tych błędów w menedżerze aktualizacji
Zazwyczaj trzy główne obszary powodują te błędy
update-manager
gdzie są te źródła oprogramowania
Umowy PPA są zwykle zapisywane w jednej z dwóch lokalizacji
/etc/apt/sources.list
/etc/apt/sources.list.d/
na przykładwebupd8team-jupiter-natty.list
Ten plik listy zazwyczaj zawiera:
Uwaga:
#
na początku wiersza tekstu oznacza, że jest on zakomentowany i nie jest sprawdzany przez menedżera pakietów.Jak wyeliminować te błędy
Zazwyczaj po uruchomieniu
sudo apt-get update
z terminala lub kliknięciu przycisku szczegółów w Menedżerze aktualizacji po naciśnięciu przycisku odświeżania zobaczysz błędy, takie jak:Jeśli błąd wynika z umowy PPA - zwykle odznaczenie PPA o podobnej nazwie z adresem URL pokazanym w komunikacie o błędzie rozwiązuje ten problem.
Jeśli błąd 404 był spowodowany dodaniem dodatkowego repozytorium,
/etc/apt/sources.list
łatwiej jest dodać#
znak na początku wiersza, aby skomentować represyjne repozytorium, tj.Więcej informacji
Oto raport o błędzie dotyczący menedżera aktualizacji, aby rozwiązać ten problem:
Jeśli występują te problemy bez umów PPA, sprawdź to pytanie:
źródło
Automatyczne usuwanie 404 Nie znaleziono PPA poprzez skrypt
Jest to skrypt, który automatycznie usuwa wszystkie 404 PPA Nie znaleziono PPA. Skopiuj poniższy kod i wklej go do pliku i nadaj mu nazwę
ppa-remove
.Udziel uprawnienia do wykonywania skryptu
Skopiuj i wklej
ppa-remove
plik do/usr/bin
katalogu, aby uzyskać do niego dostęp z dowolnego miejsca.Stosowanie
Opis skryptu
tput setaf 6
polecenie zamienia kolor tekstu terminala na zielony, a następnie wyświetla „Inicjowanie .. Proszę czekać” w kolorze zielonym.sudo apt-get update >> /tmp/update.txt 2>&1;
Zarówno stdout, jak i stderr polecenia
sudo apt-get update
są zapisywane w pliku/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 wyszukuje dla linii, która składa się z
W:
,launchpad
,404
w/tmp/update.txt
file.If okazało się, że to w tym wierszu wyświetla (stdout) wszystkie litery począwszy od 26. miejscu w column5.This standardowe wyjście zostało przekierowanych (pisemne) do/tmp/awk.txt
pliku.Na przykład:
5. kolor -
http://ppa.launchpad.net/pitti/postgresql/ubuntu/dists/saucy/main/binary-i386/Packages
w tej piątej kolumnie zaczynamy od 26 znaku
pitti/postgresql/ubuntu/dists/saucy/main/binary-i386/Packages
Ta powyższa linia została zapisana w
/tmp/awk.txt
pliku. Teraz następne polecenie,awk znajduje kolumnę 1 i kolumnę 2 za pomocą separatora, w
/
którym kolumna 1 i kolumna 2 są łączone/
z/tmp/awk.txt
pliku, a następnie przekierowuje (zapisuje) standardowe wyjście do/tmp/awk1.txt
pliku.Teraz
/tmp/awk1.txt
plik zawierapitti/postgresql
linię.uniq /tmp/awk1.txt > /tmp/awk2.txt
Jeśli są dwa takie same wiersze,
unique
polecenie wyświetla tylko (standardowe wyjście) tylko jeden wiersz. Ten pojedynczy wiersz został zapisany w/tmp/awk2.txt
końcu/tmp/awk2.txt
składa się z unikalnych nazw PPA.To polecenie zmienia kolor tekstu terminala na biały.
W końcu
if
zostaną wykonane instrukcje warunkowe.if [ -s /tmp/awk2.txt ]
sprawdź, czy zawartość pliku /tmp/awk2.txt jest wyświetlana, czy nie. Jeśli tak, pobiera pierwszy wiersz/tmp/awk2.txt
i wykonujesudo add-apt-repository -r ppa:$line
polecenie. Kontynuuje aż do ostatniego wiersza.Jeśli nie, oznacza to, że nie ma treści, więc mówi „Żadnych umów PPA do usunięcia”.
Zrzuty ekranu
źródło
Otrzymujesz te błędy, ponieważ Twoje repozytoria PPA nie zapewniają pakietów dla twojej dystrybucji Ubuntu (tj;
quantal
).Spójrz na następujące zrzuty ekranu:
ppa: petrakis / wdt-main
ppa: screenlets / ppa
Możesz zobaczyć, że
quantal
brakuje katalogu dla, a więc dostajesz404 Not Found Error Messages
.Aby pozbyć się tych wiadomości, musisz usunąć te repozytoria PPA ze swojego systemu. Wykonaj następujące pytanie, jak usunąć PPA:
Jak to zbadać i dojść do takiego wniosku?
Oto komunikaty o błędach otrzymane w przypadku
wdt-main
PPA:Otwórz kartę przeglądarki i otwórz link, który podaje błędy 404 nie znaleziono. W takim przypadku
http://ppa.launchpad.net/petrakis/
idź głębiej jak na link, który daje błędy. Będziesz mógł zobaczyć, jaki jest rzeczywisty problem.źródło
Najbardziej prawdopodobne jest to, że umowa PPA nie jest już utrzymywana i należy ją usunąć. Możesz to zrobić, używając:
źródło
/etc/apt/sources.list
miejscu, w którym sprawdziłem, ale nie wiedziałem, że muszę też zajrzeć/etc/apt/sources.list.d/
... dzięki ..Wybierz Starsze repozytorium
Jeśli naprawdę potrzebujesz pakietów z tego repozytorium, możesz użyć kopii lustrzanych ze starszej wersji.
Należy jednak pamiętać, że nie wszystkie starsze wersje są kompatybilne wstecz ; niektóre z nich powodują konflikty z głównym repozytorium pakietów.
Jedyne, co możesz zrobić w przypadku konfliktu, to albo zbudować ze źródła, albo poczekać, aż dostawca zwolni repozytorium dla twojej wersji Ubuntu. Nie wiemy dokładnie, kiedy dostawcy pakietów udostępnią pakiet dla naszej wersji, więc to ty jesteś odpowiedzialny za sprawdzenie ich repozytorium pod kątem wydania.
Można tego używać z dowolnym repozytorium opartym na Debianie. Nie ma jednak gwarancji, że to się powiedzie.
Kroki
sudo apt update
po dodaniu PPA / repozytorium. Podczas aktualizacji można zauważyć błędy 404; zignoruj to.https://dl.winehq.org/wine-builds/ubuntu
. Zwykle dostępne wersje znajdują się wdists/
.bionic
zartful
.sudo apt update
jeszcze raz.źródło
Zauważ, że już mi się to przydarzyło i nie znalazłem się w takich sytuacjach. I działało to również dla mojego przyjaciela. Nawet nie będąc w stanie wyjaśnić, dlaczego istnieje coś, co rozwiązało ten problem:
sudo apt-get update
z terminala;sudo apt-get update
;I nagle zadziałało. Nie pytaj mnie dlaczego.
źródło
sudo apt-get update
i zadziałało idealnie.Jeśli otrzymujesz błąd 404 podczas próby uzyskania bezpieczeństwa lub plików systemowych z oficjalnego repozytorium (nie PPA), możesz wybrać inne dublowanie, aby rozwiązać ten problem.
Możesz albo:
A) określ jedną ręcznie, przeglądając tę listę i wybierając najnowszą kopię lustrzaną. (możesz wziąć pod uwagę inne czynniki, takie jak odległość i przepustowość) lub
B) Wybierz jeden automatycznie.
Tak czy inaczej możesz zacząć od aplikacji Oprogramowanie i aktualizacje, jak pokazano poniżej: Następnie wybierz Pobierz z, a następnie Inne. Następnie możesz albo ręcznie wybrać z listy kopię lustrzaną, albo kliknąć przycisk Wybierz najlepszy serwer, który uruchomi niektóre testy i wybrać najlepszy serwer dla ciebie w zależności od aktualnych warunków.
źródło
Próbowałem wszystkich możliwych odpowiedzi, ale jedynym rozwiązaniem było skopiowanie domyślnego pliku /etc/apt/sources.list Ubuntu 16.04 Xenial do mojego
/etc/apt/sources.list
.Źródła: https://gist.github.com/rohitrawat/60a04e6ebe4a9ec1203eac3a11d4afc1
To uratowało mojego Linuksa.
źródło