Skip to content

Commit c7f6866

Browse files
authored
Merge pull request #84 from zerotier/systemd-check
check if systemd is running before calling systemd commands
2 parents a842e3a + 399ca3a commit c7f6866

File tree

3 files changed

+53
-30
lines changed

3 files changed

+53
-30
lines changed

.github/workflows/ci.yml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,12 @@ jobs:
3131
- "debian:12"
3232
- "debian:11"
3333
- "debian:10"
34+
- "linuxmintd/mint22-amd64:latest"
3435
- "kalilinux/kali-rolling:latest"
36+
- "redhat/ubi9:latest"
37+
- "rockylinux/rockylinux:latest"
38+
- "fedora:latest"
39+
- "fedora:rawhide"
3540

3641
container:
3742
image: ${{ matrix.container }}

htdocs/install.sh

Lines changed: 34 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
-----BEGIN PGP SIGNED MESSAGE-----
44
Hash: SHA256
55
6+
# shellcheck disable=SC2148
67
ENDOFSIGSTART=
78

89
export PATH=/bin:/usr/bin:/usr/local/bin:/sbin:/usr/sbin:/usr/local/sbin
@@ -221,6 +222,7 @@ _new_apt_signing() {
221222
echo "deb [signed-by=/usr/share/keyrings/zerotier-debian-package-key.gpg] ${URL}debian/$CODENAME $CODENAME main" >/tmp/zt-sources-list
222223
}
223224

225+
# shellcheck disable=SC2072
224226
write_apt_repo() {
225227
DISTRIBUTION=$1
226228
VERSION=$2
@@ -235,7 +237,7 @@ write_apt_repo() {
235237
$SUDO apt-get install -y gpg
236238
$SUDO chmod a+r /tmp/zt-gpg-key
237239

238-
if [[ "$DISTRIBUTION" == "ubuntu" && "$VERSION" < "22.04" ]]; then
240+
if [[ "$DISTRIBUTION" == "ubuntu" && "$VERSION" < "22.04" ]]; then
239241
_old_apt_signing $URL $CODENAME
240242
elif [[ ("$DISTRIBUTION" == "debian" || "$DISTRIBUTION" == "raspbian") && "$VERSION" -lt "10" ]]; then
241243
_old_apt_signing $URL $CODENAME
@@ -247,9 +249,9 @@ write_apt_repo() {
247249
_new_apt_signing $URL $CODENAME
248250
elif [[ "$DISTRIBUTION" == "linuxmint" && "$VERSION" == "6" ]]; then
249251
_new_apt_signing $URL $CODENAME
250-
elif [[ "$DISTRIBUTION" == "linuxmint" && ( "$VERSION" == "21" || "$VERSION" > "21" ) ]]; then
252+
elif [[ "$DISTRIBUTION" == "linuxmint" && ( "$VERSION" == "21" || "$VERSION" -gt "21" ) ]]; then
251253
_new_apt_signing $URL $CODENAME
252-
elif [[ "$DISTRIBUTION" == "linuxmint" && ( "$VERSION" == "20" || ("$VERSION" > "20" && "$VERSION" < "21" ) ) ]]; then
254+
elif [[ "$DISTRIBUTION" == "linuxmint" && ( "$VERSION" == "20" || ("$VERSION" -gt "20" && "$VERSION" -lt "21" ) ) ]]; then
253255
_old_apt_signing $URL $CODENAME
254256
else
255257
echo "Unsupported distribution $DISTRIBUTION $VERSION"
@@ -301,7 +303,7 @@ elif [ $ID == "ubuntu" ] || [ $ID == "pop" ]; then
301303
elif [ $ID == "linuxmint" ]; then
302304
echo '*** Detected Linux Mint, creating /etc/apt/sources.list.d/zerotier.list'
303305

304-
if [[ "$VERSION_ID" > "$MAX_SUPPORTED_MINT_VERSION" ]]; then
306+
if [[ "$VERSION_ID" -gt "$MAX_SUPPORTED_MINT_VERSION" ]]; then
305307
write_apt_repo $ID $MAX_SUPPORTED_MINT_VERSION $ZT_BASE_URL_HTTP $MAX_SUPPORTED_MINT_VERSION_NAME
306308
else
307309
write_apt_repo $ID $VERSION_ID $ZT_BASE_URL_HTTP ${MINT_CODENAME_MAP[${VERSION_CODENAME}]}
@@ -392,14 +394,22 @@ echo
392394
echo '*** Enabling and starting ZeroTier service...'
393395

394396
if [ -e /usr/bin/systemctl -o -e /usr/sbin/systemctl -o -e /sbin/systemctl -o -e /bin/systemctl ]; then
395-
$SUDO systemctl enable zerotier-one
396-
$SUDO systemctl start zerotier-one
397-
if [ "$?" != "0" ]; then
397+
if [[ -d /run/systemd/system ]]; then
398+
$SUDO systemctl enable zerotier-one
399+
$SUDO systemctl start zerotier-one
400+
if [ "$?" != "0" ]; then
401+
echo
402+
echo '*** Package installed but cannot start service! You may be in a Docker'
403+
echo '*** container or using a non-standard init service.'
404+
echo
405+
exit 1
406+
fi
407+
else
398408
echo
399-
echo '*** Package installed but cannot start service! You may be in a Docker'
400-
echo '*** container or using a non-standard init service.'
409+
echo '*** Package installed but cannot start service! You may be in a Docker container'
410+
echo '*** or using a non-standard init service.'
401411
echo
402-
exit 1
412+
exit 0
403413
fi
404414
else
405415
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
@@ -424,18 +434,18 @@ echo
424434
exit 0
425435
-----BEGIN PGP SIGNATURE-----
426436

427-
iQJJBAEBCAAzFiEEdKXpxFjhpDHx2lenFlcZiCPlKmEFAmbPc0oVHGNvbnRhY3RA
428-
emVyb3RpZXIuY29tAAoJEBZXGYgj5Sphl7YP/2szwVvzyFS+tQeVNWK8pr3Xjn/B
429-
ZGUeS/LtZ1v3gpciDhVqocwU5wiXYZD/Ou47lgaH2rhnprMVfYRpY/N/kuP3RybE
430-
n6KzEuHimk2aSNlUAilcdH2nhFsrgJKvvXb8KzAuMtjUfdgKBkdOMlYHpsoi7PVn
431-
UCUySaDdaIZVZDhknvN2QksRJ1ABOyGDiLMmFTJ6pM/b7WhyrItIGcmIh4qKriie
432-
WugGbCSxp9fyrUrKtf426hQQXyNelOx1z6xeJ7o/CGDfvuDT1Y+NXcdF78LWxTQF
433-
YU/51Dq5JZcSZ0LRKKjGwXDKbmy10B6iLUqWJlsVb5zndDYwXOyaNHmoVPBKnkip
434-
3O0eatUOasGPrFpDcE1W26AudoU1OCHL4q+lORgkhH0T06HHqpLcwaabAO7OvGU/
435-
E3VGF9eyKKZYpOIlZ8TcZmMMmqkAZj7pX+vd2nUxw0YKvJYgm7qLhr+SCqvYwuDk
436-
145DhgfjV0nrc5TVyHxGq++n5wTW/ceUa4DmRZlI6fHyvvo7SBD3SfE9PsbOJppY
437-
bdIiVk+vmz35OCwAQXUif+sTS1NMwt4Idmtt3fnRYzbDQDjoxJIUivTTWU+nqGLJ
438-
6qvTy7ggnZ9sT/FJNVtM3PpB2S3qUX7SeKf0qy9s+zlIFgQINzPJXyIaphwk2HLa
439-
NQ1sqHFFmu6KSfFd
440-
=WWIe
437+
iQJJBAEBCAAzFiEEdKXpxFjhpDHx2lenFlcZiCPlKmEFAmbQtMwVHGNvbnRhY3RA
438+
emVyb3RpZXIuY29tAAoJEBZXGYgj5SphoycQAJm1CLTAsEFAXtDZo6r9epypLswd
439+
AsQjok+ZL0oKmaN24vfhuaUs2+K81YqB1aOiQwiKTbos/dneTtwhxcPyorAgETl2
440+
pvnbx45C0HkRBvR7MuCIjTE7VCvHsQKoxJmYjaEAbAoMY802fhnO9UI8GO3fBwBD
441+
XiX9rJtKwqHWhQVX3A0XK7idsGZn7p96d2EkuiUNeGMapWLhwfxIuXKLLJcQtuZi
442+
AwTQpzjNWDbPy7iRMtT4O2i2hDuDHzFs6J36VxzCZrUK31Mkj6xqI1d4Kvtc8IJL
443+
IqvbyiAlRRhfqV6tR2QXv/hX4qL3XRCD7Z3mIwUSHJlYs+wTFbIqLIzz7tiKnKmJ
444+
MmjV52JfrdkMkmocJItqQd/ZsYHKsWxAt3fGtbvV5We4lwgf6MgQ1JczuDo6UHMx
445+
S7nslV9/vIm1O/t1tvkC+noQICaHLsRO69IXE7rfe+ZBjpiw/bfBf6KkTdXZ9dQK
446+
3iw/agkwiBNUYBLWGdm5a8lt50ME5Kn+alPmPHqcXUhw2f3myuUEImIXvxh37Q4b
447+
L4Jqcb9xZiJstjJSKscWcunW+9Myouug/VohuIq+YWPfLRqqVA58m3kjTFRLPTgK
448+
vwx61786MllOWzzy/fDSga8JCrkaWlBOxmRJBJRGj9ElIFyf7LL091KXpdRIC0LX
449+
YOYGXI7kgJWFYLM5
450+
=lGmV
441451
-----END PGP SIGNATURE-----

install.sh.in

Lines changed: 14 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -389,14 +389,22 @@ echo
389389
echo '*** Enabling and starting ZeroTier service...'
390390

391391
if [ -e /usr/bin/systemctl -o -e /usr/sbin/systemctl -o -e /sbin/systemctl -o -e /bin/systemctl ]; then
392-
$SUDO systemctl enable zerotier-one
393-
$SUDO systemctl start zerotier-one
394-
if [ "$?" != "0" ]; then
392+
if [[ -d /run/systemd/system ]]; then
393+
$SUDO systemctl enable zerotier-one
394+
$SUDO systemctl start zerotier-one
395+
if [ "$?" != "0" ]; then
396+
echo
397+
echo '*** Package installed but cannot start service! You may be in a Docker'
398+
echo '*** container or using a non-standard init service.'
399+
echo
400+
exit 1
401+
fi
402+
else
395403
echo
396-
echo '*** Package installed but cannot start service! You may be in a Docker'
397-
echo '*** container or using a non-standard init service.'
404+
echo '*** Package installed but cannot start service! You may be in a Docker container'
405+
echo '*** or using a non-standard init service.'
398406
echo
399-
exit 1
407+
exit 0
400408
fi
401409
else
402410
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

0 commit comments

Comments
 (0)