107 lines
3.6 KiB
Bash
107 lines
3.6 KiB
Bash
#!/usr/bin/sh
|
|
|
|
# curl curl --output 1-update.sh https://git.kosenka.ru/kosenka/ubuntu.22.04/raw/branch/master/1-update.sh
|
|
# wget https://git.kosenka.ru/kosenka/ubuntu.22.04/raw/branch/master/1-update.sh
|
|
|
|
ColorRed='\033[0;31m'
|
|
ColorGreen='\033[0;32m'
|
|
ColorOff='\033[0m'
|
|
|
|
# Function to display the confirmation prompt
|
|
function confirm() {
|
|
while true; do
|
|
read -p "$1? (y/n) " yn
|
|
case $yn in
|
|
[Yy]* ) return 0;;
|
|
[Nn]* ) return 1;;
|
|
esac
|
|
done
|
|
}
|
|
|
|
clear
|
|
|
|
# check if running as root in a bash script
|
|
# https://stackoverflow.com/a/28776100
|
|
if [ `id -u` -ne 0 ]
|
|
then echo Please run this script as root or using sudo!
|
|
exit
|
|
fi
|
|
|
|
echo -e "${ColorGreen}Введите IP-адрес сервера (пример: 192.168.1.1/24):${ColorOff}"
|
|
read server_ip
|
|
|
|
echo -e "${ColorGreen}Введите IP-адреса для nameserver's (пример: 192.168.1.1, 192.168.1.2):${ColorOff}"
|
|
read nameserver_ip
|
|
|
|
echo -e "${ColorGreen}Введите IP-адреса для gateway сервера (пример: 192.168.0.1):${ColorOff}"
|
|
read gatewayserver_ip
|
|
|
|
ip -o link show | awk '{print $2,$9}'
|
|
|
|
echo -e "${ColorGreen}Введите имя сеетвого устройства (пример: enp6s19):${ColorOff}"
|
|
read netdevice
|
|
|
|
apt-get -y update && apt-get -y upgrade
|
|
|
|
### https://dondub.com/2021/07/udalenie-cloud-init-iz-ubuntu-server-21-04/
|
|
sed -i -e 's/datasource_list:/# datasource_list:/g' /etc/cloud/cloud.cfg.d/90_dpkg.cfg
|
|
echo "datasource_list: [ None ]" >> /etc/cloud/cloud.cfg.d/90_dpkg.cfg
|
|
dpkg-reconfigure cloud-init
|
|
apt purge -y cloud-init && rm -rf /etc/cloud/ && rm -rf /var/lib/cloud/
|
|
|
|
apt-get -y remove unattended-upgrades
|
|
|
|
systemctl stop apt-daily.timer
|
|
systemctl disable apt-daily.timer
|
|
systemctl stop apt-daily-upgrade.timer
|
|
systemctl disable apt-daily-upgrade.timer
|
|
systemctl disable apt-daily.service
|
|
systemctl daemon-reload
|
|
|
|
sed -i -e 's/APT::Periodic::Update-Package-Lists "1";/APT::Periodic::Update-Package-Lists "0";/g' /etc/apt/apt.conf.d/20auto-upgrades
|
|
sed -i -e 's/APT::Periodic::Unattended-Upgrade "1";/APT::Periodic::Unattended-Upgrade "0";/g' /etc/apt/apt.conf.d/20auto-upgrades
|
|
|
|
snap remove --purge snapd && apt-get -y remove snapd && apt-get -y autoremove
|
|
|
|
apt install -y netplan.io isc-dhcp-client isc-dhcp-common mc net-tools iputils-ping inetutils-traceroute htop ca-certificates
|
|
apt install -y apt-utils aptitude locales git squashfs-tools tzdata fdisk gdisk mc net-tools iputils-ping inetutils-traceroute iproute2
|
|
|
|
### ? systemctl disable snapd.service && systemctl disable snapd.socket && systemctl disable snapd.seeded.service && systemctl mask snapd.service && rm -rf /var/cache/snapd/ && apt autoremove --purge snapd -y && rm -rf ~/snap
|
|
|
|
timedatectl set-timezone Europe/Moscow
|
|
apt -y install ntp
|
|
aptitude install console-cyrillic
|
|
update-locale LANG=ru_RU.UTF-8
|
|
sed -i -e 's/# en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/' /etc/locale.gen
|
|
sed -i -e 's/# ru_RU.UTF-8 UTF-8/ru_RU.UTF-8 UTF-8/' /etc/locale.gen
|
|
dpkg-reconfigure --frontend=noninteractive locales
|
|
localectl set-locale LANG=ru_RU.UTF-8
|
|
export LANG=ru_RU.UTF-8
|
|
|
|
rm /etc/netplan/50-cloud-init.yaml
|
|
|
|
touch /etc/netplan/10-netplan-config.yaml
|
|
echo "# This is the network config written by 'subiquity'
|
|
network:
|
|
version: 2
|
|
ethernets:
|
|
$netdevice:
|
|
dhcp4: no
|
|
addresses:
|
|
- $server_ip
|
|
nameservers:
|
|
addresses: [$nameserver_ip]
|
|
routes:
|
|
- to: default
|
|
via: $gatewayserver_ip
|
|
" >> /etc/netplan/10-netplan-config.yaml
|
|
|
|
chmod 600 /etc/netplan/10-netplan-config.yaml
|
|
netplan try
|
|
netplan apply
|
|
systemctl restart systemd-networkd
|
|
|
|
if confirm "Перезагружаемся "; then
|
|
shutdown -r now
|
|
fi
|