学习研究 ZeroTier 的系列文章.
本文主要介绍如何在 Linux 中卸载已安装的 ZeroTier-One 并安装指定版本.
文章目录
1. 卸载已安装版本
1.1 Debian/Ubuntu 发行版卸载方法
sudo dpkg -P zerotier-one
sudo rm -rf /var/lib/zerotier-one/
1.2 Redhat/CentOS 发行版卸载方法
sudo rpm -e zerotier-one
sudo rm -rf /var/lib/zerotier-one/
2. 安装指定版本
2.1 下载安装包
查看 Linux 系统版本信息:
$ uname -a
Linux UbuntuVM 4.15.0-142-generic #146-Ubuntu SMP Tue Apr 13 01:11:19 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 18.04.4 LTS
Release: 18.04
Codename: bionic
在下列页面找到所需版本对应的安装包:https://download.zerotier.com/RELEASES/,我这里是 zerotier-one_1.4.6_amd64.deb
.
2.2 安装
安装 gdebi
sudo apt-get install gdebi
使用 gdebi
安装 zerotier-one_1.4.6_amd64.deb
sudo gdebi zerotier-one_1.4.6_amd64.deb
2.3 设置并启动 zerotier-one 服务
官方安装脚本里含有设置启动服务的代码,我们使用其中这一部分:
下载官方脚本:
curl https://install.zerotier.com -o zerotier.sh
修改官方脚本得到服务设置启动脚本,zerotier-one_service.sh
:
#!/bin/bash
ENDOFSIGSTART=
export PATH=/bin:/usr/bin:/usr/local/bin:/sbin:/usr/sbin:/usr/local/sbin
SUDO=
if [ "$UID" != "0" ]; then
if [ -e /usr/bin/sudo -o -e /bin/sudo ]; then
SUDO=sudo
else
echo '*** This quick installer script requires root privileges.'
exit 0
fi
fi
echo '*** Enabling and starting zerotier-one service...'
if [ -e /usr/bin/systemctl -o -e /usr/sbin/systemctl -o -e /sbin/systemctl -o -e /bin/systemctl ]; then
$SUDO systemctl enable zerotier-one
$SUDO systemctl start zerotier-one
if [ "$?" != "0" ]; then
echo
echo '*** Package installed but cannot start service! You may be in a Docker'
echo '*** container or using a non-standard init service.'
echo
exit 1
fi
else
if [ -e /sbin/update-rc.d -o -e /usr/sbin/update-rc.d -o -e /bin/update-rc.d -o -e /usr/bin/update-rc.d ]; then
$SUDO update-rc.d zerotier-one defaults
else
$SUDO chkconfig zerotier-one on
fi
$SUDO /etc/init.d/zerotier-one start
fi
echo
echo '*** Waiting for identity generation...'
while [ ! -f /var/lib/zerotier-one/identity.secret ]; do
sleep 1
done
echo
echo "*** Success! You are ZeroTier address [ `cat /var/lib/zerotier-one/identity.public | cut -d : -f 1` ]."
echo
exit 0
执行 zerootier-one_service.sh
即可:
sudo bash zerotier-one_service.sh