Skip to content

Apt-key is removed in newer ubuntu/debian builds #2289

@Anticept

Description

@Anticept

apt-key has been deprecated for quite a while, and now it's being removed entirely. Therefore, this block no longer works as is from the readme:

sudo dpkg --add-architecture i386 \
&& sudo apt update \
&& sudo apt install -y software-properties-common \
&& sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv B6FD15EE7ED77676EAEAF910EEEDC8280A307527 \
&& sudo add-apt-repository -y "deb https://tgstation.github.io/tgstation-ppa/debian unstable main" \
&& sudo apt update \
&& sudo apt install -y tgstation-server \
&& sudo tgs-configure \
&& sudo systemctl start tgstation-server

Specifically, I am addressing these two parts (the second, add-apt-repository, isn't removed yet but its also deprecated and going to be).

&& sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv B6FD15EE7ED77676EAEAF910EEEDC8280A307527 \
&& sudo add-apt-repository -y "deb https://tgstation.github.io/tgstation-ppa/debian unstable main" \

So you will have to do some stuff before you can run the lines after. Please be aware that the old instructions used to install a globally trusted key. This stack overflow post explains in the first and paragraph what the problem is: https://askubuntu.com/a/1307181. These instructions follow more modern recommendations.

First, we have to retrieve the key using gpg.

sudo gpg --recv-keys --no-default-keyring --keyring gnupg-ring:/root/tgstation --keyserver hkp://keyserver.ubuntu.com:80 B6FD15EE7ED77676EAEAF910EEEDC8280A307527

  • This has gpg download the key (gpg --recv keys --keyserver hkp://keyserver.ubuntu.com:80 B6FD15EE7ED77676EAEAF910EEEDC8280A307527)
  • Do not add to default keyring for user (--no-default-keyring)
  • --keyring tells gpg to store keyring in /root/tgstation using the keyring v4 format (gnupg-ring:) required by apt

Next up, we have to dearmor it:
sudo gpg --dearmor /root/tgstation which makes a tgstation.gpg file. I'm sure there's a way to do this all in one go instead of handling intermediate files but I'm annoyed enough as it is with trying to figure all this out that I just am sick of it and are leaving it up to people smarter than I.

Now, sudo mv /root/tgstation.gpg /etc/apt/keyrings . You can delete the old /root/tgstation file, it's not needed now.

Next up: add-apt-repository is also deprecated and is also going to be removed at some point. So here's what you do. You could use the old 1 liner apt sources list format, but the deb822 sources format is preferred and being pushed towards.

Put this in /etc/apt/sources.list.d/tgstation_github_io.sources

Types: deb
URIs: https://tgstation.github.io/tgstation-ppa/debian/
Suites: unstable
Components: main
Signed-By: /etc/apt/keyrings/tgstation.gpg

Now you can continue with

sudo apt update \
&& sudo apt install -y tgstation-server \
&& sudo tgs-configure \
&& sudo systemctl start tgstation-server

You should also remove the old tgstation trusted keyring if you still have it, but that's for you to figure out.

Metadata

Metadata

Assignees

No one assigned

    Labels

    DocumentationDocumentation updatesHelp WantedLooking for outside answers to uncertain problemsPosix OnlyIssue only applies to non-Windows deployments

    Type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions