tgstation-server icon indicating copy to clipboard operation
tgstation-server copied to clipboard

Apt-key is removed in newer ubuntu/debian builds

Open Anticept opened this issue 6 months ago • 0 comments

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.

Anticept avatar Jun 23 '25 03:06 Anticept