Pacman doesn't download anything - Always 404
Solution 1:
Try using curl
(it's part of the core, so should be installed) to download the core.db file using the command below. This will help rule out whether your problem is related to pacman
and/or its configuration, or whether your problem is related to your Internet connection.
curl -O http://mirror.aarnet.edu.au/pub/archlinux/core/os/x86_64/core.db
If core.db successfully downloads, open it in a text editor (nano core.db
or even less core.db
). If the contents look similar to this HTML below (specifically saying 404 Not Found
somewhere in the contents), then it's probably your pacman configuration. I would download the latest Arch Installation CD and re-install pacman from that.
<!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>
If core.db fails to download, then it's your Internet connection. Post any error messages you receive and we can help you further troubleshoot.
Also, run this command command
cat /etc/pacman.d/mirrorlist | grep aarnet.edu.au
and verify the output matches this
Server = http://mirror.aarnet.edu.au/pub/archlinux/$repo/os/$arch
If it does not, download the latest mirror list and uncomment your mirrors. You can do this quickly using this command (you'll still need to open it in a text editor and uncomment the lines Server = ...
lines).
sudo mv /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist~ && curl -o /etc/pacman.d/mirrorlist https://www.archlinux.org/mirrorlist/?country=AU
If after doing this, pacman -Syy
still fails, then it's my opinion your installation of pacman is completely broken. Follow the instructions on the Arch Wiki to re-install pacman.
Solution 2:
Use mirror reflector
sudo pacman -S reflector
Install it and type:
sudo reflector -l 5 --sort rate --save /etc/pacman.d/mirrorlist
Solution 3:
For the record, if you are not an ARM user, you may have a 32 bit Arch Linux, but the i686 support ended.
$ pacman -Syu --debug
If you see i686 in the repo URLs, then you should switch to Arch Linux 32. Basically you can use its mirrorlist instead of the official one.
Solution 4:
I ran into this issue today with my new Raspberry Pi 4.
In my case, pacman-mirrors generated URLs ending with
.../$arch/$repo
but it should, in fact, be
.../$repo/$arch
hence the 404 error during the download.