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