Последняя активность 1711441349

All servers should run regularly

Upgrade.sh Исходник
1#!/bin/bash
2
3echo "Suppress Ubuntu ESM..."
4export DEBIAN_FRONTEND=noninteractive
5sudo pro config set apt_news=false
6sudo rm /var/lib/ubuntu-advantage/messages/*
7sudo rm /etc/apt/apt.conf.d/20apt-esm-hook.conf > /dev/null 2>&1
8
9echo "Checking default password..."
10username="anduin"
11password="Password@1234_Super"
12
13if echo "$password" | sudo -u anduin su - "$username" -c "true" > /dev/null 2>&1; then
14 echo "Current machine using default password!" | sudo tee -a /etc/motd
15 echo "Is default password. Should change!"
16fi
17
18echo "Setting timezone..."
19sudo timedatectl set-timezone UTC
20
21echo "Detecting space issues..."
22CURRENT=$(df / | grep / | awk '{ print $5}' | sed 's/%//g')
23THRESHOLD=60
24if [ "$CURRENT" -gt "$THRESHOLD" ] ; then
25 echo "Disk space alert! `date +"%Y-%m-%d %H:%M:%S"` Your root partition remaining free space is critically low. Used: $CURRENT%" | sudo tee -a /etc/motd
26fi
27
28echo "Setting hosts..."
29sudo cp /mnt/Shared/hosts /etc/
30cat /etc/hosts
31
32echo "Syncing time..."
33echo "server openwrt prefer iburst" | sudo tee "/etc/ntp.conf"
34sudo systemctl enable ntp
35ntpstat
36
37echo "Setting netplan..."
38sudo rm /etc/netplan/*
39sudo touch /etc/netplan/00-default-config.yaml
40HOSTNAME=$(hostname)
41IP_ADDRESS=$(awk -v host="$HOSTNAME" '$2 == host {print $1}' /etc/hosts)
42# If not found, crash the script:
43if [ -z "$IP_ADDRESS" ]; then
44 echo "IP address not found for $HOSTNAME"
45 exit 1
46fi
47echo "IP should be set to $IP_ADDRESS"
48sudo tee /etc/netplan/00-default-config.yaml > /dev/null << EOF
49network:
50 version: 2
51 renderer: NetworkManager
52 ethernets:
53 ens192:
54 addresses:
55 - $IP_ADDRESS/12
56 dhcp4: no
57EOF
58sudo systemctl mask systemd-networkd-wait-online.service
59sudo chown root:root /etc/netplan/00-default-config.yaml
60sudo chmod 600 /etc/netplan/00-default-config.yaml
61sudo netplan apply
62
63echo "Setting network..."
64#sudo systemctl restart NetworkManager
65sudo ip route list
66sudo ip route del default
67sudo ip route del default
68sudo ip route add default via 10.0.0.1 dev ens160 proto dhcp metric 100 # Green network
69sudo ip route add default via 10.64.0.1 dev ens192 proto dhcp metric 101 # Blue network
70
71echo "Removing snap..."
72sudo systemctl disable --now snapd
73sudo apt purge -y snapd
74sudo rm -rf /snap /var/snap /var/lib/snapd /var/cache/snapd /usr/lib/snapd ~/snap
75cat << EOF | sudo tee -a /etc/apt/preferences.d/no-snap.pref
76Package: snapd
77Pin: release a=*
78Pin-Priority: -10
79EOF
80sudo chown root:root /etc/apt/preferences.d/no-snap.pref
81echo "Snap removed"
82
83echo "Removing prometheus..."
84sudo apt autoremove prometheus-node-exporter -y
85sudo rm /etc/systemd/system/multi-user.target.wants/prometheus-node-exporter.service > /dev/null 2>&1
86sudo rm /etc/systemd/system/multi-user.target.wants/smartmontools.service > /dev/null 2>&1
87sudo rm /etc/systemd/system/multi-user.target.wants/unattended-upgrades.service > /dev/null 2>&1
88
89echo "Removing 45drives..."
90sudo rm /etc/apt/sources.list.d/45drives.sources > /dev/null 2>&1
91sudo rm /usr/share/keyrings/45drives-archive-keyring.gpg > /dev/null 2>&1
92
93echo "Setting ufw..."
94sudo ufw allow 22
95
96echo "Updating packages..."
97sudo apt update
98
99echo "Installing monitoring..."
100curl -sL http://monitoring:48466/install.sh | sudo bash
101
102echo "Installing packages..."
103sleep 5
104sudo DEBIAN_FRONTEND=noninteractive apt install -y \
105 apt-transport-https \
106 ca-certificates \
107 curl \
108 lsb-release \
109 software-properties-common \
110 wget \
111 git \
112 jq \
113 zip \
114 unzip \
115 vim \
116 net-tools \
117 dnsutils \
118 nmap \
119 htop \
120 iotop \
121 iftop \
122 ntp \
123 ntpdate \
124 ntpstat \
125 open-vm-tools
126sleep 5
127sudo DEBIAN_FRONTEND=noninteractive apt upgrade -y
128
129echo "Removing deprecated packages..."
130sleep 3
131sudo DEBIAN_FRONTEND=noninteractive apt autoremove unattended-upgrades -y
132sleep 3
133sudo DEBIAN_FRONTEND=noninteractive apt --purge autoremove -y
134sleep 3
135sudo DEBIAN_FRONTEND=noninteractive apt install --fix-broken -y
136sleep 3
137sudo DEBIAN_FRONTEND=noninteractive apt install --fix-missing -y
138sleep 3
139sudo DEBIAN_FRONTEND=noninteractive dpkg --configure -a
140sleep 3
141