diff --git a/setup-usl-mm b/setup-usl-mm index 5621442..d7fcfac 100755 --- a/setup-usl-mm +++ b/setup-usl-mm @@ -2,77 +2,77 @@ pre_reboot_script () { - pass_var=$(dialog --passwordbox "Enter password to crypted partition for containers:" 25 25 --output-fd 1) - pass_var2=$(dialog --passwordbox "Enter password to crypted partition for containers again:" 25 25 --output-fd 1) +pass_var=$(dialog --passwordbox "Enter password to crypted partition for containers:" 25 25 --output-fd 1) +pass_var2=$(dialog --passwordbox "Enter password to crypted partition for containers again:" 25 25 --output-fd 1) - if [ "$pass_var" == "$pass_var2" ]; then - echo "Passwords match!" - else - echo "Passwords not match!" - exit 1 - fi +if [ "$pass_var" == "$pass_var2" ]; then + echo "Passwords match!" +else + echo "Passwords not match!" +exit 1 +fi - echo "Exec ifconfig" - ifconfig - read -p "Enter interface for configure bridge:" NET_IF +echo "Exec ifconfig" +ifconfig +read -p "Enter interface for configure bridge:" NET_IF - echo "Starting lsblk" - lsblk - read -p "Enter partition to encrypt:" PARTITION +echo "Starting lsblk" +lsblk +read -p "Enter partition to encrypt:" PARTITION - echo "Installing requirements" - apt install cryptsetup ecryptfs-utils zfsutils-linux -y +echo "Installing requirements" +apt install cryptsetup ecryptfs-utils zfsutils-linux -y - echo "Setting timezone to Prague" - timedatectl set-timezone Europe/Prague +echo "Setting timezone to Prague" +timedatectl set-timezone Europe/Prague - echo "Disabling zpool auto-scrub" - sed -i 's/^/#/' /etc/cron.d/zfsutils-linux +echo "Disabling zpool auto-scrub" +sed -i 's/^/#/' /etc/cron.d/zfsutils-linux - echo "Starting ecryptfs-setup-swap" - ecryptfs-setup-swap -f +echo "Starting ecryptfs-setup-swap" +ecryptfs-setup-swap -f - echo "Starting luksFormat" - echo -n "$pass_var" | cryptsetup luksFormat $PARTITION - +echo "Starting luksFormat" +echo -n "$pass_var" | cryptsetup luksFormat $PARTITION - - echo "Opening crypted partition" - echo "$pass_var" | cryptsetup open $PARTITION crypt -c - +echo "Opening crypted partition" +echo "$pass_var" | cryptsetup open $PARTITION crypt -c - - echo "Creating zpool" - zpool create crypt /dev/mapper/crypt -o ashift=12 +echo "Creating zpool" +zpool create crypt /dev/mapper/crypt -o ashift=12 - echo "Enabling compression on zpool" - zfs set compression=on crypt +echo "Enabling compression on zpool" +zfs set compression=on crypt - echo "Creating datasets crypt/lxd/dir crypt/lxd/storage" - zfs create crypt/lxd - zfs create crypt/lxd/dir - zfs create crypt/lxd/storage +echo "Creating datasets crypt/lxd/dir crypt/lxd/storage" +zfs create crypt/lxd +zfs create crypt/lxd/dir +zfs create crypt/lxd/storage - echo "Stopping and disabling lxd" - systemctl disable lxd - systemctl disable lxd.socket - systemctl stop lxd +echo "Stopping and disabling lxd" +systemctl disable lxd +systemctl disable lxd.socket +systemctl stop lxd - echo "Deleting everything in /var/lib/lxd/*" - rm /var/lib/lxd/* -r +echo "Deleting everything in /var/lib/lxd/*" +rm /var/lib/lxd/* -r - echo "Creating mountpoint /var/lib/lxd to crypt/lxd/dir" - zfs set mountpoint=/var/lib/lxd crypt/lxd/dir +echo "Creating mountpoint /var/lib/lxd to crypt/lxd/dir" +zfs set mountpoint=/var/lib/lxd crypt/lxd/dir - echo "Configuring sysctl" - echo "vm.swappiness = 1" > /etc/sysctl.d/50-usl-mm.conf - echo "vm.min_free_kbytes = 131072" >> /etc/sysctl.d/50-usl-mm.conf - echo "vm.dirty_background_ratio = 5" >> /etc/sysctl.d/50-usl-mm.conf +echo "Configuring sysctl" +echo "vm.swappiness = 1" > /etc/sysctl.d/50-usl-mm.conf +echo "vm.min_free_kbytes = 131072" >> /etc/sysctl.d/50-usl-mm.conf +echo "vm.dirty_background_ratio = 5" >> /etc/sysctl.d/50-usl-mm.conf - echo "Configuring arc cache for zfs to min 256MB and max 1536MB" - echo "options zfs zfs_arc_min=268435456" > /etc/modprobe.d/zfs.conf - echo "options zfs zfs_arc_max=1610612736" >> /etc/modprobe.d/zfs.conf +echo "Configuring arc cache for zfs to min 256MB and max 1536MB" +echo "options zfs zfs_arc_min=268435456" > /etc/modprobe.d/zfs.conf +echo "options zfs zfs_arc_max=1610612736" >> /etc/modprobe.d/zfs.conf - echo "Doing update-initramfs -u" - update-initramfs -u +echo "Doing update-initramfs -u" +update-initramfs -u - echo "Configuring network to use bridge" +echo "Configuring network to use bridge" echo "auto lo" > /etc/network/interfaces echo "iface lo inet loopback" >> /etc/network/interfaces echo " " >> /etc/network/interfaces @@ -90,46 +90,46 @@ echo " bridge_stp off" >> /etc/network/interfaces echo " bridge_fd 0" >> /etc/network/interfaces - echo "Purging netplan,disabling dhcpcd and install ifupdown" - apt purge nplan -y - rm /etc/netplan/50-cloud-init.yaml - apt install bridge-utils ifupdown -y +echo "Purging netplan,disabling dhcpcd and install ifupdown" +apt purge nplan -y +rm /etc/netplan/50-cloud-init.yaml +apt install bridge-utils ifupdown -y - echo "Doing apt update and apt dist-upgrade" - apt update - apt dist-upgrade -y +echo "Doing apt update and apt dist-upgrade" +apt update +apt dist-upgrade -y - echo "Creating onstart script in /root" - echo "#!/bin/bash" > /root/onstart - echo "read -p \"Press any button to start...\"" >> /root/onstart - echo "pass_var=\$(dialog --passwordbox \"Enter password:\" 25 25 --output-fd 1)" >> /root/onstart - echo "pass_var2=\$(dialog --passwordbox \"Enter password again:\" 25 25 --output-fd 1)" >> /root/onstart - echo "if [ \"\$pass_var\" == \"\$pass_var2\" ]; then" >> /root/onstart - echo "echo \"Passwords match!\"" >> /root/onstart - echo "else" >> /root/onstart - echo "echo \"Passwords not match!\"" >> /root/onstart - echo "exit 1" >> /root/onstart - echo "fi" >> /root/onstart - echo "echo \"Opening encrypted partition\"" >> /root/onstart - echo "echo \$pass_var | cryptsetup open $PARTITION crypt -c -" >> /root/onstart - echo "partprobe" >> /root/onstart - echo "zpool import -d /dev/mapper crypt -f -m" >> /root/onstart - echo "systemctl start lxd" >> /root/onstart +echo "Creating onstart script in /root" +echo "#!/bin/bash" > /root/onstart +echo "read -p \"Press any button to start...\"" >> /root/onstart +echo "pass_var=\$(dialog --passwordbox \"Enter password:\" 25 25 --output-fd 1)" >> /root/onstart +echo "pass_var2=\$(dialog --passwordbox \"Enter password again:\" 25 25 --output-fd 1)" >> /root/onstart +echo "if [ \"\$pass_var\" == \"\$pass_var2\" ]; then" >> /root/onstart +echo "echo \"Passwords match!\"" >> /root/onstart +echo "else" >> /root/onstart +echo "echo \"Passwords not match!\"" >> /root/onstart +echo "exit 1" >> /root/onstart +echo "fi" >> /root/onstart +echo "echo \"Opening encrypted partition\"" >> /root/onstart +echo "echo \$pass_var | cryptsetup open $PARTITION crypt -c -" >> /root/onstart +echo "partprobe" >> /root/onstart +echo "zpool import -d /dev/mapper crypt -f -m" >> /root/onstart +echo "systemctl start lxd" >> /root/onstart - chmod +x /root/onstart - read -p "Press any key for reboot" - reboot +chmod +x /root/onstart +read -p "Press any key for reboot" +reboot } post_reboot_script () { - echo "Stopping lxd and delete /var/lib/lxd/*" - systemctl stop lxd - rm /var/lib/lxd/* -r +echo "Stopping lxd and delete /var/lib/lxd/*" +systemctl stop lxd +rm /var/lib/lxd/* -r - echo "Executing /root/onstart" - bash /root/onstart +echo "Executing /root/onstart" +bash /root/onstart - echo "Configuring LXD" +echo "Configuring LXD" lxd waitready cat <> /root/.screenrc - echo "screen -t htop htop" >> /root/.screenrc - echo "screen -t mc mc" >> /root/.screenrc - echo "screen -t bash bash" >> /root/.screenrc - echo "altscreen on" >> /root/.screenrc - echo "term screen-256color" >> /root/.screenrc - echo "bind 'b' prev" >> /root/.screenrc - echo "bind 'n' next" >> /root/.screenrc - echo "hardstatus alwayslastline" >> /root/.screenrc - echo "autodetach on" >> /root/.screenrc - echo "mousetrack on" >> /root/.screenrc - echo "vbell off" >> /root/.screenrc - echo "termcapinfo xterm* ti@:te@" >> /root/.screenrc - echo "defscrollback 5000" >> /root/.screenrc - echo "scrollback 5000" >> /root/.screenrc - echo "hardstatus string \"%{=b kw} %?%-Lw%?%{=br kw}[%n %t]%{=b kw}%?%+Lw%? %= %c\"" >> /root/.screenrc +echo "Set screen settings" +echo "startup_message off" >> /root/.screenrc +echo "screen -t htop htop" >> /root/.screenrc +echo "screen -t mc mc" >> /root/.screenrc +echo "screen -t bash bash" >> /root/.screenrc +echo "altscreen on" >> /root/.screenrc +echo "term screen-256color" >> /root/.screenrc +echo "bind 'b' prev" >> /root/.screenrc +echo "bind 'n' next" >> /root/.screenrc +echo "hardstatus alwayslastline" >> /root/.screenrc +echo "autodetach on" >> /root/.screenrc +echo "mousetrack on" >> /root/.screenrc +echo "vbell off" >> /root/.screenrc +echo "termcapinfo xterm* ti@:te@" >> /root/.screenrc +echo "defscrollback 5000" >> /root/.screenrc +echo "scrollback 5000" >> /root/.screenrc +echo "hardstatus string \"%{=b kw} %?%-Lw%?%{=br kw}[%n %t]%{=b kw}%?%+Lw%? %= %c\"" >> /root/.screenrc - echo "Install utilities" - apt install -y mc htop screen zfsnap smartmontools +echo "Install utilities" +apt install -y mc htop screen zfsnap smartmontools - read -p "Done, press any key to return to main menu" - main_menu +read -p "Done, press any key to return to main menu" +main_menu } install_uptrack () { - cd /tmp - wget https://ksplice.oracle.com/uptrack/dist/bionic/ksplice-uptrack.deb - apt install libgtk2-perl dbus-x11 libglade2-0 libpython-stdlib libpython2.7-minimal libpython2.7-stdlib python python-cairo python-dbus python-gi python-glade2 python-gobject-2 python-gtk2 python-minimal python-pycurl python-yaml python2.7 python2.7-minimal -y - dpkg -i ksplice-uptrack.deb - read -p "Done, press any key to return to main menu" - main_menu +cd /tmp +wget https://ksplice.oracle.com/uptrack/dist/bionic/ksplice-uptrack.deb +apt install libgtk2-perl dbus-x11 libglade2-0 libpython-stdlib libpython2.7-minimal libpython2.7-stdlib python python-cairo python-dbus python-gi python-glade2 python-gobject-2 python-gtk2 python-minimal python-pycurl python-yaml python2.7 python2.7-minimal -y +dpkg -i ksplice-uptrack.deb +read -p "Done, press any key to return to main menu" +main_menu } + main_menu () { cmd=(dialog --nocancel --menu "Welcome in setup-lxd-mm!" 22 76 16) options=(