Pacman niczego nie pobiera - zawsze 404

13

Chcę zainstalować oprogramowanie na moim Raspberry Pi z systemem Arch Linux, ale wciąż pojawia się błąd 404.

Przeprowadziłem badania i odkryłem, że muszę to zrobić pacman -Syyi pacman -Syu...

Po uruchomieniu pacman -Syyz włączonymi wszystkimi kopiami lustrzanymi otrzymuję:

# pacman -Syy
:: Synchronizing package databases...
error: failed retrieving file 'core.db' from mirror.aarnet.edu.au : The requested URL returned error: 404 Not Found
error: failed retrieving file 'core.db' from ftp.iinet.net.au : The requested URL returned error: 404 Not Found
error: failed retrieving file 'core.db' from mirror.internode.on.net : The requested URL returned error: 404 Not Found
error: failed retrieving file 'core.db' from mirror.optus.net : The requested URL returned error: 404 Not Found
error: failed retrieving file 'core.db' from mirror.rackcentral.com.au : The requested URL returned error: 404 Not Found
error: failed retrieving file 'core.db' from syd.mirror.rackspace.com : The requested URL returned error: 404 Not Found
error: failed retrieving file 'core.db' from ftp.swin.edu.au : The requested URL returned error: 404 Not Found
error: failed retrieving file 'core.db' from archlinux.mirror.uber.com.au : The requested URL returned error: 404 Not Found
error: failed retrieving file 'core.db' from mirror1.htu.tugraz.at : The requested URL returned error: 404 Not Found
error: failed retrieving file 'core.db' from mirrors.ispros.com.bd : The requested URL returned error: 404 Not Found
error: failed retrieving file 'core.db' from ftp.byfly.by : The requested URL returned error: 404 Not Found
error: failed retrieving file 'core.db' from mirror.datacenter.by : The requested URL returned error: 404 Not Found
error: failed retrieving file 'core.db' from archlinux.cu.be : The requested URL returned error: 404 Not Found
error: failed retrieving file 'core.db' from archlinux.mirror.kangaroot.net : The requested URL returned error: 404 Not Found
error: failed retrieving file 'core.db' from archlinux.c3sl.ufpr.br : The requested URL returned error: 404 Not Found
error: failed retrieving file 'core.db' from www.las.ic.unicamp.br : The requested URL returned error: 404 Not Found`

Sprawdziłem, to mówi to dla całego core.dbpliku, na wszystkich lustrach, a extra.db, community.dba aur.db.

Jestem w stanie pingować różne serwery, więc mam internet. Robię to również przez SSH w sieci domowej.

EDYCJA: Nie używam serwera proxy.

Jeśli to pomoże, jestem w stanie użyć, rankmirrorsktóra pobiera listę serwerów lustrzanych i odkomentuje niektóre z nich do użycia, zakładam, że jest to oparte na szybkości.

James Talbert
źródło
Czy korzystasz z serwera proxy?
Daniel B,
Nie, tylko router, brak serwera proxy, chyba że mój dostawca korzysta z niego, ale ja osobiście nie.
James Talbert,
Czy możesz otwierać strony w rysiach lub linkach? (Pytam, ponieważ pacman i links / lynx używają HTTP, podczas gdy SSH i ping nie.)
Trav
Nie mam tych. Jeśli napiszę rysia lub linki w bash, dostanę polecenie, którego nie znaleziono. Wyobrażam sobie, że pacman -S lynxużyłbym tego, ale pacmanto nie działa.
James Talbert,

Odpowiedzi:

5

Spróbuj użyć curl(jest to część rdzenia, więc powinien być zainstalowany), aby pobrać plik core.db za pomocą poniższej komendy. Pomoże to wykluczyć, czy problem dotyczy pacmani / lub jego konfiguracji, czy też problem dotyczy połączenia internetowego.

curl -O http://mirror.aarnet.edu.au/pub/archlinux/core/os/x86_64/core.db

Jeśli pobieranie pliku core.db zakończy się powodzeniem, otwórz go w edytorze tekstu ( nano core.dblub nawet less core.db). Jeśli zawartość wygląda podobnie do poniższego kodu HTML (konkretnie mówiąc 404 Not Foundgdzieś w treści), prawdopodobnie jest to twoja konfiguracja Pacmana. Chciałbym pobrać najnowszą płytę Arch Arch i ponownie zainstalować z niej Pacman.

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>404 Not Found</title>
</head><body>
<h1>Not Found</h1>
<p>The requested URL /pub/archlinux/core/os/x86_64/core.db was not foun$
<hr>
<address>Apache/2.2.15 (Red Hat) Server at 127.0.0.1 Port 8080</address>
</body></html>

Jeśli pobieranie pliku core.db nie powiedzie się, oznacza to połączenie internetowe. Opublikuj wszelkie otrzymane komunikaty o błędach, a my możemy pomóc w dalszym rozwiązywaniu problemów.

Uruchom także to polecenie

cat /etc/pacman.d/mirrorlist | grep aarnet.edu.au

i sprawdź, czy dane wyjściowe pasują do tego

Server = http://mirror.aarnet.edu.au/pub/archlinux/$repo/os/$arch

Jeśli nie, pobierz najnowszą listę kopii lustrzanych i odkomentuj swoje kopie. Możesz to zrobić szybko za pomocą tego polecenia (nadal musisz go otworzyć w edytorze tekstu i odkomentować linie Server = ...wierszy).

sudo mv /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist~ && curl -o /etc/pacman.d/mirrorlist https://www.archlinux.org/mirrorlist/?country=AU

Jeśli po wykonaniu tej czynności pacman -Syynadal się nie powiedzie, to moim zdaniem instalacja Pacmana jest całkowicie zepsuta. Postępuj zgodnie z instrukcjami na Arch Wiki, aby ponownie zainstalować Pacman .

Drew Chapin
źródło
Wygląda to tak:^B▒^▒/^^G▒▒gp^▒;▒Wi?^▒▒*c^?▒?^▒▒▒>^?/^R▒=▒^▒▒Oj^A▒c▒^_▒▒^▒▒▒▒b▒^G▒^▒▒^_b▒▒▒3N
James Talbert,
W rzeczywistości jest to długi plik, ale istnieje limit znaków. To wszystko wygląda jak powyżej chociaż.
James Talbert,
Następnie pomyślnie pobrał plik core.db i potwierdziłeś, że to nie jest twoje połączenie internetowe. Zaktualizowałem swoją odpowiedź, aby zawierała kilka dodatkowych kroków.
Drew Chapin,
3

Dla przypomnienia, jeśli nie jesteś użytkownikiem ARM, możesz mieć 32-bitowy Arch Linux, ale obsługa i686 została zakończona.

$ pacman -Syu --debug

Jeśli widzisz i686 w adresach URL repo, powinieneś przełączyć się na Arch Linux 32 . Zasadniczo możesz użyć jego lustrzanej listy zamiast oficjalnej.

SzieberthAdam
źródło
Pytanie brzmi: Raspberry Pi działa na ARM.
James Talbert
Dzięki, tęskniłem za tym. Jednak Google prowadzi do tego pytania przez natywne wyszukiwanie Pacmana i 404, więc myślę, że nadal warto je zachować. Edytuję odpowiedź, aby uzyskać więcej wyjaśnień.
SzieberthAdam
2

Użyj odbłyśnika lustrzanego

sudo pacman -S reflector 

Zainstaluj i wpisz:

sudo reflector -l 5 --sort rate --save /etc/pacman.d/mirrorlist
poszukiwacz arch
źródło
1

Dzisiaj natrafiłem na ten problem z moim nowym Raspberry Pi 4.
W moim przypadku pacman-mirrors wygenerował adresy URL kończące się na

.../$arch/$repo

ale tak powinno być

.../$repo/$arch

stąd błąd 404 podczas pobierania.

Carl-Fredrik
źródło
a może (jak w moim przypadku) najpierw musisz zaktualizować pacman-mirrors z powodu zmiany struktury Link: ftp.osuosl.org/pub/manjaro-arm/repo/stable/core/aarch64 i wyszukaj „mirror-list” następnie zainstaluj go za pomocą sudo pacman -U http://ftp-osl.osuosl.org/pub/manjaro-arm/repo/stable/aarch64/core/pacman-mirrorlist-20200225-1-any.pkg.tar.xz(być może nowszej wersji, jeśli ten link zawiedzie)
Fahl-Design
0

Natknąłem się na ten problem; odkryłem, że serwer nazw (OpenNIC), którego używałem, nie rozwiązuje adresów URL na liście kopii lustrzanych.

Edytowałem /etc/resolv.conf, dodałem kolejny serwer DNS, który poprawnie rozpoznał adresy URL i Pacman pomyślnie zaktualizował:

GNU nano 2.5.3                          File: /etc/resolv.conf

nameserver 127.0.0.1
nameserver 104.238.153.178
nameserver //add new DNS server here//

Jeśli Twój resolv.conf mówi:

# Generated by resolvconf

Musisz zmodyfikować /etc/resolvconf.conf, aby te zmiany były trwałe:

GNU nano 2.5.3                         File: /etc/resolvconf.conf

name_servers=//add new DNS server here//

Muszę jeszcze znaleźć plik /etc/resolvconfconf.conf lub /etc/resolvconfconfconf.conf, więc jeśli problem polega na rozwiązaniu adresów URL, powyższe kroki powinny rozwiązać ten problem. Powodzenia! :-)

Timothy Fry
źródło