APT Repositories are failing with 404

Following the instructions to setup apt repository at: https://www.elastic.co/guide/en/beats/libbeat/current/setup-repositories.html.

$ curl https://packages.elasticsearch.org/GPG-KEY-elasticsearch | sudo apt-key add -
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 1768 100 1768 0 0 3276 0 --:--:-- --:--:-- --:--:-- 3280
OK

$ sudo apt-get update
...
Get:1 https://packages.elastic.co trusty InRelease
Ign https://packages.elastic.co trusty InRelease
Ign https://packages.elastic.co trusty Release.gpg
...
Ign https://packages.elastic.co trusty Release
...
Err https://packages.elastic.co trusty/main amd64 Packages
HttpError404
Hit http://archive.ubuntu.com trusty-backports/multiverse i386 Packages
Err https://packages.elastic.co trusty/stable amd64 Packages
HttpError404
Err https://packages.elastic.co trusty/main i386 Packages
HttpError404
Hit http://archive.ubuntu.com trusty-backports/main Translation-en
Err https://packages.elastic.co trusty/stable i386 Packages
HttpError404
Hit http://archive.ubuntu.com trusty-backports/multiverse Translation-en
Ign https://packages.elastic.co trusty/main Translation-en_US
Ign https://packages.elastic.co trusty/main Translation-en
Hit http://archive.ubuntu.com trusty-backports/restricted Translation-en
Ign https://packages.elastic.co trusty/stable Translation-en_US
Hit http://archive.ubuntu.com trusty-backports/universe Translation-en
Ign https://packages.elastic.co trusty/stable Translation-en
...
W: Failed to fetch https://packages.elastic.co/beats/apt/dists/trusty/main/binary-amd64/Packages HttpError404

W: Failed to fetch https://packages.elastic.co/beats/apt/dists/trusty/stable/binary-amd64/Packages HttpError404

W: Failed to fetch https://packages.elastic.co/beats/apt/dists/trusty/main/binary-i386/Packages HttpError404

W: Failed to fetch https://packages.elastic.co/beats/apt/dists/trusty/stable/binary-i386/Packages HttpError404

E: Some index files failed to download. They have been ignored, or old ones used instead.

What about the echo part for the sources, what did you do there?

Sorry, Mark. I'm not following you. Can you be more specific or list commands you'd like executed?

It would seem the S3 objects for packages.elastic.co/beats/apt/... are either missing or not accessible to public.

The second step in the docs is echo "deb https://packages.elastic.co/beats/apt stable main" | sudo tee -a /etc/apt/sources.list.d/beats.list, is that what you did?

I just tried the steps in the instructions then without any issues.

I must have clipped it when shortening the logs. Here's the full output.

`
vagrant@dev:~$ curl https://packages.elasticsearch.org/GPG-KEY-elasticsearch | sudo apt-key add -
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 1768 100 1768 0 0 2095 0 --:--:-- --:--:-- --:--:-- 2094
OK

vagrant@dev:~$ echo "deb https://packages.elastic.co/beats/apt stable main" | sudo tee -a /etc/apt/sources.list.d/beats.list
deb https://packages.elastic.co/beats/apt stable main

vagrant@dev:~$ sudo apt-get update
Ign http://archive.ubuntu.com trusty InRelease
Get:1 http://security.ubuntu.com trusty-security InRelease [65.9 kB]
...
Get:7 http://security.ubuntu.com trusty-security/universe Sources [35.5 kB]
...
Get:12 https://packages.elastic.co trusty Release
Ign https://packages.elastic.co trusty Release
...
Get:15 https://packages.elastic.co trusty/main amd64 Packages
...
Get:23 https://packages.elastic.co stable/main i386 Packages
...
Get:25 https://packages.elastic.co stable/main Translation-en_US
...
Hit http://archive.ubuntu.com trusty/multiverse i386 Packages
Err https://packages.elastic.co trusty/main amd64 Packages
HttpError404
Hit http://archive.ubuntu.com trusty/main Translation-en
Err https://packages.elastic.co trusty/stable amd64 Packages
HttpError404
Hit http://archive.ubuntu.com trusty/multiverse Translation-en
Err https://packages.elastic.co trusty/main i386 Packages
HttpError404
Hit http://archive.ubuntu.com trusty/restricted Translation-en
Err https://packages.elastic.co trusty/stable i386 Packages
HttpError404
Ign https://packages.elastic.co trusty/main Translation-en_US
Ign https://packages.elastic.co trusty/main Translation-en
Hit http://archive.ubuntu.com trusty/universe Translation-en
Ign https://packages.elastic.co trusty/stable Translation-en_US
Ign https://packages.elastic.co trusty/stable Translation-en
Ign https://packages.elastic.co stable/main Translation-en_US
Ign https://packages.elastic.co stable/main Translation-en
Ign http://archive.ubuntu.com trusty/main Translation-en_US
Ign http://archive.ubuntu.com trusty/multiverse Translation-en_US
Ign http://archive.ubuntu.com trusty/restricted Translation-en_US
Ign http://archive.ubuntu.com trusty/universe Translation-en_US
Fetched 4,163 kB in 10s (395 kB/s)
W: Failed to fetch https://packages.elastic.co/beats/apt/dists/trusty/main/binary-amd64/Packages HttpError404

W: Failed to fetch https://packages.elastic.co/beats/apt/dists/trusty/stable/binary-amd64/Packages HttpError404

W: Failed to fetch https://packages.elastic.co/beats/apt/dists/trusty/main/binary-i386/Packages HttpError404

W: Failed to fetch https://packages.elastic.co/beats/apt/dists/trusty/stable/binary-i386/Packages HttpError404

E: Some index files failed to download. They have been ignored, or old ones used instead.
`

What's the contents of /etc/apt/sources.list.d/beats.list.

vagrant@dev:/$ cat /etc/apt/sources.list.d/beats.list
deb "https://packages.elastic.co/beats/apt" trusty main stable
deb https://packages.elastic.co/beats/apt stable main

It should just be deb https://packages.elastic.co/beats/apt stable main, looks like that first line is bad.

That worked! Thanks for your help. Now I need to determine if the TopBeat Chef recipes corrupted this file or something else I did.

Thanks for the quick feedback!

1 Like

@warkolm Was there a change to the repository? I used the TopBeat chef recipe last week to deploy topbeat and didn't have any issues. This week it fails if 'trusty' is in /etc/apt/sources.list.d/beats.list

Chef output of content diffs.
==> dev: - deb "https://packages.elastic.co/beats/apt" trusty stable main
==> dev:
==> dev: + deb "https://packages.elastic.co/beats/apt" stable main

Why would it have worked last week but not today?

There hasn't been any changes since the last release.
I don't know Chef so cannot comment more on that area sorry.

I was using 1.2.0 version of TopBeats. This week version 1.2.1 is available and APT repo started failing. Something changed on Elastic's end. Is there a specific reason the repo cannot support distribution code names?

We never have supported that because we don't specifically release for distros.

You can see here that the docs for the repo haven't changed anytime recently https://github.com/elastic/beats/commits/1.2/libbeat/docs/repositories.asciidoc

@warkolm Ok. Since beats are not built for any particular distro, I'll submit a pull request for the TopBeat Chef cookbook.

Thanks for your help.

1 Like

No worries. I have asked the Beats team about this as well, so will see if they come back with anything.