-
Notifications
You must be signed in to change notification settings - Fork 31
/
Copy pathupdate.sh
106 lines (72 loc) · 3.9 KB
/
update.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
#!/bin/bash
#information
SERVICE_NAME='zelcash'
COIN_NAME='flux'
COIN_DAEMON='fluxd'
COIN_CLI='flux-cli'
COIN_PATH='/usr/local/bin'
#end of required details
# add to path
PATH=$PATH:"$COIN_PATH"
export PATH
apt_number=$(ps aux | grep 'apt' | wc -l)
if [[ "$apt_number" > 1 ]]; then
sudo killall apt > /dev/null 2>&1
sudo killall apt-get > /dev/null 2>&1
sudo dpkg --configure -a > /dev/null 2>&1
fi
#Closing zelcash daemon and purge apt package
sudo systemctl stop "$SERVICE_NAME" && sleep 3
if [[ -f /usr/local/bin/$COIN_CLI ]]; then
"$COIN_CLI" stop >/dev/null 2>&1 && sleep 3
else
zelcash-cli stop >/dev/null 2>&1 && sleep 3
fi
sudo killall "$COIN_DAEMON" >/dev/null 2>&1
sudo killall -s SIGKILL zelbenchd >/dev/null 2>&1 && sleep 1
sudo killall -s SIGKILL fluxbenchd >/dev/null 2>&1 && sleep 1
sudo apt-get purge --auto-remove "$COIN_NAME" zelcash fluxbench zelbench -y >/dev/null 2>&1 && sleep 1
sudo rm /etc/apt/sources.list.d/zelcash.list > /dev/null 2>&1
sudo rm /etc/apt/sources.list.d/flux.list > /dev/null 2>&1
if [[ "$(lsb_release -cs)" == "xenial" ]]; then
echo 'deb https://apt.runonflux.io/ '$(lsb_release -cs)' main' | sudo tee --append /etc/apt/sources.list.d/flux.list > /dev/null 2>&1
gpg --keyserver hkp://keyserver.ubuntu.com:80 --recv 4B69CA27A986265D > /dev/null 2>&1
gpg --export 4B69CA27A986265D | sudo apt-key add - > /dev/null 2>&1
if ! gpg --list-keys Zel > /dev/null; then
gpg --keyserver hkp://keys.gnupg.net:80 --recv-keys 4B69CA27A986265D > /dev/null 2>&1
gpg --export 4B69CA27A986265D | sudo apt-key add - > /dev/null 2>&1
fi
sudo apt-get update -y
sudo apt-get install "$COIN_NAME" -y
sudo chmod 755 "$COIN_PATH/"* && sleep 2
else
if gpg -k --keyring /usr/share/keyrings/flux-archive-keyring.gpg Zel > /dev/null 2>&1; then
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/flux-archive-keyring.gpg] https://apt.runonflux.io/ $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/flux.list > /dev/null 2>&1
sudo apt-get update -y
sudo apt-get install "$COIN_NAME" fluxbench -y
sudo chmod 755 "$COIN_PATH/"* && sleep 2
else
sudo chown -R $USER:$USER /usr/share/keyrings > /dev/null 2>&1
# cleaning in case if corrupted
sudo rm /usr/share/keyrings/flux-archive-keyring.gpg > /dev/null 2>&1
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/flux-archive-keyring.gpg] https://apt.runonflux.io/ $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/flux.list > /dev/null 2>&1
#downloading key && save it as keyring
gpg --no-default-keyring --keyring /usr/share/keyrings/flux-archive-keyring.gpg --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 4B69CA27A986265D > /dev/null 2>&1
if ! gpg -k --keyring /usr/share/keyrings/flux-archive-keyring.gpg Zel > /dev/null 2>&1; then
sudo rm /usr/share/keyrings/flux-archive-keyring.gpg > /dev/null 2>&1
gpg --no-default-keyring --keyring /usr/share/keyrings/flux-archive-keyring.gpg --keyserver hkp://na.pool.sks-keyservers.net:80 --recv-keys 4B69CA27A986265D > /dev/null 2>&1
fi
if ! gpg -k --keyring /usr/share/keyrings/flux-archive-keyring.gpg Zel > /dev/null 2>&1; then
sudo rm /usr/share/keyrings/flux-archive-keyring.gpg > /dev/null 2>&1
gpg --no-default-keyring --keyring /usr/share/keyrings/flux-archive-keyring.gpg --keyserver hkp://keys.gnupg.net:80 --recv-keys 4B69CA27A986265D > /dev/null 2>&1
fi
sudo apt-get update -y
sudo apt-get install "$COIN_NAME" fluxbench -y
sudo chmod 755 "$COIN_PATH/"* && sleep 2
fi
fi
if sudo systemctl list-units --full --no-legend --no-pager --plain --all --type service "$SERVICE_NAME.service" | grep -Foq "$SERVICE_NAME.service"; then
sudo systemctl start "$SERVICE_NAME"
else
"$COIN_DAEMON"
fi