# Ubuntu installation doc needs to be updated for use with new GPG keys?

**URL:** <https://discourse.openrobotics.org/t/ubuntu-installation-doc-needs-to-be-updated-for-use-with-new-gpg-keys/20923>\
**Category:** ROS General\
**Created:** [June 14, 2021, 6:29pm UTC](https://discourse.openrobotics.org/t/ubuntu-installation-doc-needs-to-be-updated-for-use-with-new-gpg-keys/20923 "2021-06-14T18:29:03Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![trusktr](https://sea2.discourse-cdn.com/flex022/user_avatar/discourse.openrobotics.org/trusktr/32/5613_2.png) [@trusktr](https://discourse.openrobotics.org/u/trusktr)\
**Post date:** [June 14, 2021, 6:29pm UTC](https://discourse.openrobotics.org/t/ubuntu-installation-doc-needs-to-be-updated-for-use-with-new-gpg-keys/20923/1 "2021-06-14T18:29:04Z")

</div>

See the two comments here:

> **[New GPG keys deployed for packages.ros.org](https://discourse.ros.org/t/new-gpg-keys-deployed-for-packages-ros-org/9454/8?u=trusktr)**
>
> Hey you all, the recommended solution is not working for me. I already had sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654 as described above in my Docker container’s Dockerfile,...

It seems that the `Installation / Ubuntu / Sources` page has outdated information, which has led to confusion.

---

<div class="post-metadata">

**Author:** ![tfoote](https://sea2.discourse-cdn.com/flex022/user_avatar/discourse.openrobotics.org/tfoote/32/3813_2.png) [@tfoote](https://discourse.openrobotics.org/u/tfoote)\
**Post date:** [June 14, 2021, 7:28pm UTC](https://discourse.openrobotics.org/t/ubuntu-installation-doc-needs-to-be-updated-for-use-with-new-gpg-keys/20923/2 "2021-06-14T19:28:17Z")

</div>

As @cottsay mentioned the current instructions should be valid.

> **[New GPG keys deployed for packages.ros.org](https://discourse.openrobotics.org/t/new-gpg-keys-deployed-for-packages-ros-org/9454/10)**
>
> The new public key uses the same private key as before, so that fingerprint is still correct. From a fresh docker pull, I ran these commands and they worked correctly for Ubuntu Bionic and Focal, targeting Melodic and Noetic respectively: $...

We’ve seen that some gpg implementations don’t import new keys to replace existing keys even if the existing key has expired.

But for simplicity of the deployment for users I’ve also updated the gpg key deployment to use the simpler https syntax from: [ROS GPG Key Expiration Incident - ROS General - Open Robotics Discourse](http://discourse.ros.org/t/ros-gpg-key-expiration-incident/20669?u=tfoote)

---

<div class="post-metadata">

**Author:** ![trusktr](https://sea2.discourse-cdn.com/flex022/user_avatar/discourse.openrobotics.org/trusktr/32/5613_2.png) [@trusktr](https://discourse.openrobotics.org/u/trusktr)\
**Post date:** [June 14, 2021, 11:18pm UTC](https://discourse.openrobotics.org/t/ubuntu-installation-doc-needs-to-be-updated-for-use-with-new-gpg-keys/20923/3 "2021-06-14T23:18:25Z")

</div>

Thanks!

It seems because the command stays the same, a docker image will remain the same if only the steps after that point have changed.

Perhaps I can slightly modify the command in the Dockerfile (f.e. add a space in the middle of the command) to force it to re-build from that point onward. I think the `https` command would have the same issue if the URL would stay the same.

---

<div class="post-metadata">

**Author:** ![ruffsl](https://sea2.discourse-cdn.com/flex022/user_avatar/discourse.openrobotics.org/ruffsl/32/83_2.png) [@ruffsl](https://discourse.openrobotics.org/u/ruffsl)\
**Post date:** [June 14, 2021, 11:39pm UTC](https://discourse.openrobotics.org/t/ubuntu-installation-doc-needs-to-be-updated-for-use-with-new-gpg-keys/20923/4 "2021-06-14T23:39:07Z")

</div>

> [@trusktr](#):
>
> Perhaps I can slightly modify the command in the Dockerfile (f.e. add a space in the middle of the command) to force it to re-build from that point onward.

Or you can simply force the docker build command to not use the existing build cache:

```auto
docker build --no-cache ...

```

> **[docker buildx build](https://docs.docker.com/reference/cli/docker/buildx/build/)**
