scripts/installer.sh: use the appropriate apt key wrangling for the distro.
Updates #1937 Signed-off-by: David Anderson <danderson@tailscale.com>
This commit is contained in:
parent
118fe105f5
commit
7ce9c7ce84
|
@ -23,6 +23,7 @@ main() {
|
|||
OS=""
|
||||
VERSION=""
|
||||
PACKAGETYPE=""
|
||||
APT_KEY_TYPE="" # Only for apt-based distros
|
||||
|
||||
if [ -f /etc/os-release ]; then
|
||||
# /etc/os-release populates a number of shell variables. We care about the following:
|
||||
|
@ -35,16 +36,37 @@ main() {
|
|||
OS="$ID"
|
||||
VERSION="$VERSION_CODENAME"
|
||||
PACKAGETYPE="apt"
|
||||
# Third-party keyrings became the preferred method of
|
||||
# installation in Ubuntu 20.04.
|
||||
if [ "$VERSION_ID" =~ ^2 ]; then
|
||||
APT_KEY_TYPE="keyring"
|
||||
else
|
||||
APT_KEY_TYPE="legacy"
|
||||
fi
|
||||
;;
|
||||
debian)
|
||||
OS="$ID"
|
||||
VERSION="$VERSION_CODENAME"
|
||||
PACKAGETYPE="apt"
|
||||
# Third-party keyrings became the preferred method of
|
||||
# installation in Debian 11 (Bullseye).
|
||||
if [ "$VERSION_ID" -lt 11 ]; then
|
||||
APT_KEY_TYPE="legacy"
|
||||
else
|
||||
APT_KEY_TYPE="keyring"
|
||||
fi
|
||||
;;
|
||||
raspbian)
|
||||
OS="$ID"
|
||||
VERSION="$VERSION_CODENAME"
|
||||
PACKAGETYPE="apt"
|
||||
# Third-party keyrings became the preferred method of
|
||||
# installation in Raspbian 11 (Bullseye).
|
||||
if [ "$VERSION_ID" -lt 11 ]; then
|
||||
APT_KEY_TYPE="legacy"
|
||||
else
|
||||
APT_KEY_TYPE="keyring"
|
||||
fi
|
||||
;;
|
||||
centos|ol)
|
||||
OS="$ID"
|
||||
|
@ -326,11 +348,24 @@ main() {
|
|||
echo "Please install either curl or wget to proceed."
|
||||
exit 1
|
||||
fi
|
||||
if ! type gpg >/dev/null; then
|
||||
echo "The installer needs gnupg to do keyring management."
|
||||
echo "Please install gnupg to proceed".
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# TODO: use newfangled per-repo signature scheme
|
||||
set -x
|
||||
$CURL "https://pkgs.tailscale.com/stable/$OS/$VERSION.gpg" | $SUDO apt-key add -
|
||||
$CURL "https://pkgs.tailscale.com/stable/$OS/$VERSION.list" | $SUDO tee /etc/apt/sources.list.d/tailscale.list
|
||||
$SUDO mkdir -p --mode=0755 /usr/share/keyrings
|
||||
case "$APT_KEY_TYPE" in
|
||||
legacy)
|
||||
$CURL "https://pkgs.tailscale.com/stable/$OS/$VERSION.gpg" | $SUDO apt-key add -
|
||||
$CURL "https://pkgs.tailscale.com/stable/$OS/$VERSION.list" | $SUDO tee /etc/apt/sources.list.d/tailscale.list
|
||||
;;
|
||||
keyring)
|
||||
$CURL "https://pkgs.tailscale.com/stable/$OS/$VERSION.noarmor.gpg" | $SUDO tee /usr/share/keyrings/tailscale-archive-keyring.gpg >/dev/null
|
||||
$CURL "https://pkgs.tailscale.com/stable/$OS/$VERSION.tailscale-keyring.list" | $SUDO tee /etc/apt/sources.list.d/tailscale.list
|
||||
;;
|
||||
esac
|
||||
$SUDO apt-get update
|
||||
$SUDO apt-get install tailscale
|
||||
set +x
|
||||
|
|
Loading…
Reference in New Issue