由于编译安装需要在系统内安装gcc环境,而导致服务端bt服务器出现故障,无法通过bt下发镜像。
因此,要么在环境内安装好编译环境后生成rpm包再在新的环境进行安装,要么就使用官方的脚本进行安装(实际上还是rpm包)。
之前使用编译安装的文章仅供参考:
解析脚本
官方的脚本为
curl -s https://install.zerotier.com | sudo bash
手动下载后,打开搜索centos可以发现
elif [ -n "`cat /etc/redhat-release 2>/dev/null | grep -i centos`" -o -n "`cat /etc/redhat-release 2>/dev/null | grep -i enterprise`" ]; then
echo "*** Found RHEL/CentOS, creating /etc/yum.repos.d/zerotier.repo"
baseurl="${ZT_BASE_URL_HTTP}redhat/el/\$releasever"
这行代码,说明脚本是通过/etc/redhat-release
这个文件来判断系统类型的。
[root@www ~]# cat /etc/redhat-release
CentOS Linux release 7.8.2003 (Core)
而噢易云的idv客户端与服务端该文件已被修改,导致脚本失效。
由于客户端与服务端本质上都是centos7,因此先保存好/etc/redhat-release
原先的内容后,再进行修改,安装完成后再还原即可。
idv-server:
[root@console Cloud_r00t]# cat /etc/redhat-release
VDI release 4.3
idv-client:
[root@idv-489b13 ~]# cat /etc/redhat-release
Idv Client release 7.6.0 (Core)
上文是该文件的原内容。修改成CentOS Linux release 7.8.2003 (Core)
即可。
安装zerotier
先使用mount -o remount,rw /
让根目录可写。
服务端
处理更新源
由于服务端使用的更新源之一:centos-openstack-liberty
已经停止维护了,而且网上也没镜像源。因此需要先禁用这个更新源:
yum-config-manager --disable centos-openstack-liberty
否则yum makecache
会报错。记得执行上面的命令后再执行yum makecache
执行脚本
由于zerotier的官网速度不太好,建议先浏览器访问https://install.zerotier.com
,获取脚本,将其重命名,我这里重命名为z,给权限后直接执行脚本即可。
[root@console Cloud_r00t]# bash z
*** ZeroTier One Quick Install for Unix-like Systems
*** Tested distributions and architectures:
*** MacOS (10.7+) on x86_64 (just installs ZeroTier One.pkg)
*** Debian (7+) on x86_64, x86, arm, and arm64
*** RedHat/CentOS (6+) on x86_64 and x86
*** Fedora (16+) on x86_64 and x86
*** SuSE (12+) on x86_64 and x86
*** Mint (18+) on x86_64, x86, arm, and arm64
*** Please report problems to contact@zerotier.com and we will try to fix.
*** Detecting Linux Distribution
*** Found RHEL/CentOS, creating /etc/yum.repos.d/zerotier.repo
*** Installing zerotier-one package...
已加载插件:fastestmirror, langpacks
zerotier | 2.9 kB 00:00:00
zerotier/7/primary_db | 27 kB 00:00:00
Loading mirror speeds from cached hostfile
* base: mirrors.ustc.edu.cn
* epel: d2lzkl7pfhq30w.cloudfront.net
* extras: mirrors.ustc.edu.cn
* updates: mirrors.ustc.edu.cn
正在解决依赖关系
--> 正在检查事务
---> 软件包 zerotier-one.x86_64.0.1.6.3-1.el7 将被 安装
--> 解决依赖关系完成
依赖关系解决
=====================================================================================================
Package 架构 版本 源 大小
=====================================================================================================
正在安装:
zerotier-one x86_64 1.6.3-1.el7 zerotier 870 k
事务概要
=====================================================================================================
安装 1 软件包
总下载量:870 k
安装大小:2.3 M
Downloading packages:
zerotier-one-1.6.3-1.el7.x86_64.rpm | 870 kB 00:00:00
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
警告:RPM 数据库已被非 yum 程序修改。
** 发现 15 个已存在的 RPM 数据库问题, 'yum check' 输出如下:
kernel-3.10.0-1127.el7.x86_64 有已安装冲突 shim-x64 < ('0', '12', '2'): shim-x64-12-1.el7.centos.x86_64
1:openstack-neutron-openvswitch-7.0.1-5085.noarch 有缺少的需求 openvswitch
1:openstack-neutron-openvswitch-7.0.1-5085.noarch 有缺少的需求 python-openvswitch
1:openstack-nova-12.0.0-5085.noarch 有缺少的需求 openstack-nova-api = ('1', '12.0.0', '5085')
1:openstack-nova-12.0.0-5085.noarch 有缺少的需求 openstack-nova-cells = ('1', '12.0.0', '5085')
1:openstack-nova-12.0.0-5085.noarch 有缺少的需求 openstack-nova-compute = ('1', '12.0.0', '5085')
1:openstack-nova-12.0.0-5085.noarch 有缺少的需求 openstack-nova-conductor = ('1', '12.0.0', '5085')
1:openstack-nova-12.0.0-5085.noarch 有缺少的需求 openstack-nova-console = ('1', '12.0.0', '5085')
1:openstack-nova-12.0.0-5085.noarch 有缺少的需求 openstack-nova-cpert = ('1', '12.0.0', '5085')
1:openstack-nova-12.0.0-5085.noarch 有缺少的需求 openstack-nova-network = ('1', '12.0.0', '5085')
1:openstack-nova-12.0.0-5085.noarch 有缺少的需求 openstack-nova-novncproxy = ('1', '12.0.0', '5085')
1:openstack-nova-12.0.0-5085.noarch 有缺少的需求 openstack-nova-objectstore = ('1', '12.0.0', '5085')
1:openstack-nova-12.0.0-5085.noarch 有缺少的需求 openstack-nova-scheduler = ('1', '12.0.0', '5085')
1:qbittorrent-nox-3.3.7-1.el7.x86_64 有缺少的需求 libtorrent-rasterbar.so.8()(64bit)
usbredir-server-0.7.1-2.el7.x86_64 有缺少的需求 usbredir(x86-64) = ('0', '0.7.1', '2.el7')
正在安装 : zerotier-one-1.6.3-1.el7.x86_64 1/1
验证中 : zerotier-one-1.6.3-1.el7.x86_64 1/1
已安装:
zerotier-one.x86_64 0:1.6.3-1.el7
完毕!
*** Enabling and starting zerotier-one service...
Created symlink from /etc/systemd/system/multi-user.target.wants/zerotier-one.service to /usr/lib/systemd/system/zerotier-one.service.
*** Waiting for identity generation...
*** Success! You are ZeroTier address [ 973e9d2ebf ].
你可以发现一堆报错,不影响使用。
开机启动
根据之前的经验,
systemctl enable zerotier-one
并不会生效,因此需要用sshd来将其调用而启动。
具体实现方法你可以点击查看,我就不再阐述了。
客户端
修改完/etc/redhat-release
后,也是使用mount -o remount,rw /
给与根目录权限,然后再下载脚本以及执行即可bash z
。
客户端的源一切正常,因此不用做过多的处理。
恢复
使用之前储存的内容,恢复/etc/redhat-release
内容即可。
使用
使用zerotier-cli join xxxxxx
即可,如果网络不好建议自建moon
版权属于:寒夜方舟
本文链接:https://www.wnark.com/archives/154.html
本站所有原创文章采用署名-非商业性使用 4.0 国际 (CC BY-NC 4.0)。 您可以自由地转载和修改,但请注明引用文章来源和不可用于商业目的。声明:本博客完全禁止任何商业类网站转载,包括但不限于CSDN,51CTO,百度文库,360DOC,AcFun,哔哩哔哩等网站。
2 条评论
为什么要这么安装呢,直接git到本地,然后 make file不就好了
确实,直接在相同的内核上编译再部署就行了,那个时候懂的不多,就没这样干