|
|
|
|
@ -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 |
|
|
|
|
|