学习研究 ZeroTier 的系列文章.
本文主要介绍如何在 Linux 中卸载已安装的 ZeroTier-One 并安装指定版本.
文章目录
-
-
- 1. 卸载已安装版本
-
- 1.1 Debian/Ubuntu 发行版卸载方法
- 1.2 Redhat/CentOS 发行版卸载方法
- 2. 安装指定版本
-
- 2.1 下载安装包
- 2.2 安装
- 2.3 设置并启动 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/bashENDOFSIGSTART=export PATH=/bin:/usr/bin:/usr/local/bin:/sbin:/usr/sbin:/usr/local/sbinSUDO=
if [ "$UID" != "0" ]; thenif [ -e /usr/bin/sudo -o -e /bin/sudo ]; thenSUDO=sudoelseecho '*** This quick installer script requires root privileges.'exit 0fi
fiecho '*** 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-oneif [ "$?" != "0" ]; thenechoecho '*** Package installed but cannot start service! You may be in a Docker'echo '*** container or using a non-standard init service.'echoexit 1fi
elseif [ -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 defaultselse$SUDO chkconfig zerotier-one onfi$SUDO /etc/init.d/zerotier-one start
fiecho
echo '*** Waiting for identity generation...'while [ ! -f /var/lib/zerotier-one/identity.secret ]; dosleep 1
doneecho
echo "*** Success! You are ZeroTier address [ `cat /var/lib/zerotier-one/identity.public | cut -d : -f 1` ]."
echoexit 0
执行 zerootier-one_service.sh
即可:
sudo bash zerotier-one_service.sh