HTTP 404 when attempting to fetch Arm64 packages on 24.04.1

I use continuous integration for a project, and starting last week (when GitHub switched ubuntu-latest from 22.04.5 to 24.04.1), it can no longer fetch the required Arm64 packages.

For context, here is the section of my continuous integration script that’s failing:

# https://learn.microsoft.com/en-us/dotnet/core/deploying/native-aot/cross-compile#linux
- name: Install Arm64 Dependencies
  if: matrix.config.runtime == 'linux-arm64'
  run: |
    sudo dpkg --add-architecture arm64
    sudo bash -c 'cat > /etc/apt/sources.list.d/arm64.list <<EOF
    deb [arch=arm64] http://ports.ubuntu.com/ubuntu-ports/ jammy main restricted
    deb [arch=arm64] http://ports.ubuntu.com/ubuntu-ports/ jammy-updates main restricted
    deb [arch=arm64] http://ports.ubuntu.com/ubuntu-ports/ jammy-backports main restricted universe multiverse
    EOF'
    sudo sed -i -e 's/deb http/deb [arch=amd64] http/g' /etc/apt/sources.list
    sudo sed -i -e 's/deb mirror/deb [arch=amd64] mirror/g' /etc/apt/sources.list
    sudo apt update
    sudo apt install -y clang llvm binutils-aarch64-linux-gnu gcc-aarch64-linux-gnu zlib1g-dev:arm64
E: Failed to fetch http://security.ubuntu.com/ubuntu/dists/noble/main/binary-arm64/Packages  404  Not Found [IP: 52.147.219.192 80]
E: Failed to fetch http://security.ubuntu.com/ubuntu/dists/noble-updates/main/binary-arm64/Packages  404  Not Found [IP: 52.147.219.192 80]
E: Failed to fetch http://security.ubuntu.com/ubuntu/dists/noble-backports/universe/binary-arm64/Packages  404  Not Found [IP: 52.147.219.192 80]
E: Failed to fetch http://security.ubuntu.com/ubuntu/dists/noble-security/main/binary-arm64/Packages  404  Not Found [IP: 52.147.219.192 80]

The problem started sometime between January 7th and January 9th. I checked https://status.canonical.com/ just to be safe and noticed no issues reported for security.ubuntu.com in the time since the issue started.

Workaround

I can obviously revert to 22.04.

Moderator Request

Please edit your post to contain the version of Ubuntu you are using.

Thank you.

Thank you. I updated my post.

1 Like

Ports are not served from security.ubuntu.com, if you check the full URL of security.ubuntu.com at https://security.ubuntu.com/ubuntu/dists/noble/main/ you will see there are only amd64 and i386 binaries …

Other arches live on the ports servers, below is a sources.list from my arm64 laptop …

$ cat /etc/apt/sources.list.d/ubuntu.sources
Types: deb
URIs: http://ports.ubuntu.com/ubuntu-ports/
Suites: noble noble-updates noble-backports
Components: main restricted universe multiverse
Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg

Types: deb
URIs: http://ports.ubuntu.com/ubuntu-ports/
Suites: noble-security
Components: main restricted universe multiverse
Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg

Also, the lines in your action which mention the ports url have the 22.04 code name (jammy) in them, when they probably should have the 24.04 code name (noble) in them, if you’re using 24.04.1?

1 Like

I changed them to noble and still get the same issue.

You need to change your /etc/apt/sources.list.d/ubuntu.sources to match the one posted by @ogra:

Types: deb
URIs: http://ports.ubuntu.com/ubuntu-ports/
Suites: noble noble-updates noble-backports
Components: main restricted universe multiverse
Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg

Types: deb
URIs: http://ports.ubuntu.com/ubuntu-ports/
Suites: noble-security
Components: main restricted universe multiverse
Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg

If it doesn’t look exactly like this, things will be broken and you’ll get the 404 errors.