|
@@ -0,0 +1,761 @@
|
|
|
|
+#!/bin/bash
|
|
|
|
+set -e
|
|
|
|
+Version=18.4.1
|
|
|
|
+Cuda=YES
|
|
|
|
+kernel_custom=YES
|
|
|
|
+Miners=Yes
|
|
|
|
+Webmin="webmin-2.105"
|
|
|
|
+driver=NVIDIA
|
|
|
|
+
|
|
|
|
+if (( $EUID != 0 )); then
|
|
|
|
+ echo -e "$(tput setaf 11)This must be run as root. Try 'sudo $0'.$(tput sgr0)"
|
|
|
|
+ exit 1
|
|
|
|
+fi
|
|
|
|
+clear
|
|
|
|
+if [ ! -f /home/wareck/.ipass ]
|
|
|
|
+then
|
|
|
|
+echo "passe=1" > /home/wareck/.ipass
|
|
|
|
+fi
|
|
|
|
+source /home/wareck/.ipass
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+export TERM=xterm-256color
|
|
|
|
+Cuda=${Cuda^^}
|
|
|
|
+kernel_custom=${kernel_custom^^}
|
|
|
|
+driver=${driver^^}
|
|
|
|
+Miners=${Miners^^}
|
|
|
|
+cpass=""
|
|
|
|
+function ubuntu_version_check {
|
|
|
|
+if [[ $(lsb_release -rs) == "20.04" ]]
|
|
|
|
+then
|
|
|
|
+
|
|
|
|
+ Ubuntu_version="20.04.6"
|
|
|
|
+
|
|
|
|
+else
|
|
|
|
+ echo "Non-compatible version !"
|
|
|
|
+ exit 0
|
|
|
|
+fi
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+function print_centered {
|
|
|
|
+ [[ $# == 0 ]] && return 1
|
|
|
|
+
|
|
|
|
+ declare -i TERM_COLS="$(tput cols)"
|
|
|
|
+ declare -i str_len="${#1}"
|
|
|
|
+ [[ $str_len -ge $TERM_COLS ]] && {
|
|
|
|
+ echo "$1";
|
|
|
|
+ return 0;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ declare -i filler_len="$(( (TERM_COLS - str_len) / 2 ))"
|
|
|
|
+ [[ $# -ge 2 ]] && ch="${2:0:1}" || ch=" "
|
|
|
|
+ filler=""
|
|
|
|
+ for (( i = 0; i < filler_len; i++ )); do
|
|
|
|
+ filler="${filler}${ch}"
|
|
|
|
+ done
|
|
|
|
+
|
|
|
|
+ printf "%s%s%s" "$filler" "$1" "$filler"
|
|
|
|
+ [[ $(( (TERM_COLS - str_len) % 2 )) -ne 0 ]] && printf "%s" "${ch}"
|
|
|
|
+ printf "\n"
|
|
|
|
+
|
|
|
|
+ return 0
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+function decompte_ {
|
|
|
|
+echo -e "$(tput setaf 10)\nReboot in 10 seconds (CRTL+C to abord):$(tput sgr0)"
|
|
|
|
+for i in {9..0}
|
|
|
|
+do
|
|
|
|
+echo -e -n "$i "
|
|
|
|
+sleep 1
|
|
|
|
+done
|
|
|
|
+echo ""
|
|
|
|
+sudo reboot
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+function intro_ {
|
|
|
|
+print_centered "$(tput setaf 5)"
|
|
|
|
+print_centered "███████╗██████╗ ██████╗ ███████╗"
|
|
|
|
+print_centered "██╔════╝██╔══██╗██╔════╝ ██╔════╝"
|
|
|
|
+print_centered "█████╗ ██║ ██║██║ ███╗█████╗ "
|
|
|
|
+print_centered "██╔══╝ ██║ ██║██║ ██║██╔══╝ "
|
|
|
|
+print_centered "███████╗██████╔╝╚██████╔╝███████╗"
|
|
|
|
+print_centered "╚══════╝╚═════╝ ╚═════╝ ╚══════╝"
|
|
|
|
+print_centered " "
|
|
|
|
+echo -n "$(tput sgr0)"
|
|
|
|
+print_centered "Edge Server installation script v$Version"
|
|
|
|
+print_centered "Ubuntu version 20.04.6"
|
|
|
|
+if [ $Cuda = "YES" ]
|
|
|
|
+then
|
|
|
|
+print_centered "CUDA Compute Drivers"
|
|
|
|
+fi
|
|
|
|
+print_centered "Stage $passe/4"
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+function update_ {
|
|
|
|
+case $passe in
|
|
|
|
+1)
|
|
|
|
+ echo -e "$(tput setaf 10)\nUpdate and install packages (second pass):$(tput sgr0)"
|
|
|
|
+ sudo apt-get update
|
|
|
|
+ echo -e ""
|
|
|
|
+ sudo apt-get install lxde lxde-icon-theme -y
|
|
|
|
+ echo -e ""
|
|
|
|
+ sudo apt-get install samba cifs-utils mdadm git build-essential libtool pkg-config automake autoconf ethtool net-tools openvpn filezilla \
|
|
|
|
+ tasksel lzma-dev lzma cmake libuv1-dev libssl-dev msr-tools tightvncserver lm-sensors openssh-server xfsprogs -y
|
|
|
|
+ echo -e ""
|
|
|
|
+ sudo apt-get install zstd pixz pbzip2 pigz btrfs-progs gparted gpart gnome-remote-desktop libcanberra-gtk-module \
|
|
|
|
+ ctorrent libcurl4-openssl-dev bison byacc screen libudev-dev libjansson-dev libncurses5-dev libmicrohttpd-dev curl nvme-cli -y
|
|
|
|
+ echo -e ""
|
|
|
|
+ sudo apt-get install libglib2.0-dev libgtk2.0-dev libsensors4-dev htop vlc locate cmake -y
|
|
|
|
+ echo -e "Done."
|
|
|
|
+ ;;
|
|
|
|
+2)
|
|
|
|
+ if [ $Cuda = "YES" ]
|
|
|
|
+ then
|
|
|
|
+ echo -e "$(tput setaf 10)\nInstall Cuda packages:$(tput sgr0)"
|
|
|
|
+ sudo apt-get install libgmp-dev libnuma-dev cmake libuv1-dev nvidia-cuda-dev libmicrohttpd-dev gcc-8 g++-8 nvidia-cuda-toolkit -y
|
|
|
|
+ fi
|
|
|
|
+ echo -e "Done.\n"
|
|
|
|
+ ;;
|
|
|
|
+esac
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+function kernel_check_ {
|
|
|
|
+unamestr=$(uname -r)
|
|
|
|
+if ! [[ "$unamestr" == "5.15.152-custom" ]]
|
|
|
|
+then
|
|
|
|
+echo -e "\n$(tput setaf 10)Custom kernel install $(tput setaf 9)5.15.152-custom(tput setaf 10) (fix DKMS/WOL) :$(tput sgr0)"
|
|
|
|
+cd /tmp/
|
|
|
|
+wget -c -q --show-progress http://folivier.homelinux.org/cube/pack/custom_kernel/
|
|
|
|
+kernel_5.15.152-custom-edge.run
|
|
|
|
+chmod +x kernel_5.15.152-custom-edge.run
|
|
|
|
+sudo ./kernel_5.15.152-custom-edge.run
|
|
|
|
+if ! [ -f /etc/modprobe.d/blacklist-nvidia-nouveau.conf ]
|
|
|
|
+then
|
|
|
|
+echo "Blacklist nvidia-nouveau driver..."
|
|
|
|
+echo "System will reboot"
|
|
|
|
+sudo bash -c "echo blacklist nouveau > /etc/modprobe.d/blacklist-nvidia-nouveau.conf"
|
|
|
|
+sudo bash -c "echo options nouveau modeset=0 >> /etc/modprobe.d/blacklist-nvidia-nouveau.conf"
|
|
|
|
+fi
|
|
|
|
+fi
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+function nvidia_driver_ {
|
|
|
|
+if [ $passe = "1" ]
|
|
|
|
+then
|
|
|
|
+ if ! [ -f /etc/modprobe.d/blacklist-nvidia-nouveau.conf ]
|
|
|
|
+ then
|
|
|
|
+ echo "Blacklist nvidia-nouveau driver..."
|
|
|
|
+ echo "System will reboot"
|
|
|
|
+ sudo bash -c "echo blacklist nouveau > /etc/modprobe.d/blacklist-nvidia-nouveau.conf"
|
|
|
|
+ sudo bash -c "echo options nouveau modeset=0 >> /etc/modprobe.d/blacklist-nvidia-nouveau.conf"
|
|
|
|
+ fi
|
|
|
|
+ if [ $Cuda = "NO" ]
|
|
|
|
+ then
|
|
|
|
+ sudo apt-get install build-essential libglvnd-dev cmake -y
|
|
|
|
+ else
|
|
|
|
+ sudo apt-get install build-essential libglvnd-dev cmake libhugetlbfs-dev libc-dev libc6-dev g++ -y
|
|
|
|
+ fi
|
|
|
|
+ echo "passe=2" > /home/wareck/.ipass
|
|
|
|
+ decompte_
|
|
|
|
+fi
|
|
|
|
+if [ $passe = "2" ]
|
|
|
|
+then
|
|
|
|
+case $Cuda in
|
|
|
|
+NO)
|
|
|
|
+ echo -e "$(tput setaf 10)\nInstall NVIDIA GTX1080 Drivers :$(tput sgr0)"
|
|
|
|
+ sleep 3
|
|
|
|
+ sudo apt-get install nvidia-driver-525 -y
|
|
|
|
+ touch /home/wareck/.pass2
|
|
|
|
+ decompte_
|
|
|
|
+ ;;
|
|
|
|
+YES)
|
|
|
|
+ echo -e "$(tput setaf 10)\nInstall CUDA Drivers :$(tput sgr0)"
|
|
|
|
+ cd /home/wareck/
|
|
|
|
+ echo -e "Download MegaDownload:"
|
|
|
|
+ git clone https://github.com/wareck/megadown.git
|
|
|
|
+ sudo cp /home/wareck/megadown/megadown /usr/local/bin/megadown
|
|
|
|
+ sudo rm -r /home/wareck/megadown
|
|
|
|
+ wget https://developer.download.nvidia.com/compute/cuda/12.4.0/local_installers/cuda_12.4.0_550.54.14_linux.run
|
|
|
|
+ chmod +x cuda_12.4.0_550.54.14_linux.run
|
|
|
|
+ sudo ./cuda_12.4.0_550.54.14_linux.run --silent --driver --toolkit
|
|
|
|
+ sudo rm cuda_12.4.0_550.54.14_linux.run
|
|
|
|
+ echo "passe=3" > /home/wareck/.ipass
|
|
|
|
+ decompte_
|
|
|
|
+;;
|
|
|
|
+esac
|
|
|
|
+fi
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+function download_packs_ {
|
|
|
|
+echo -e "$(tput setaf 10)\nDownload complement packs:$(tput sgr0)"
|
|
|
|
+wget -c -q --show-progress http://folivier.homelinux.org/cube/pack/cgminer.conf -O /home/wareck/Build_Cube/pack/cgminer.conf
|
|
|
|
+wget -c -q --show-progress http://folivier.homelinux.org/cube/pack/chia-miner.tar.xz -O /home/wareck/Build_Cube/pack/chia-miner.tar.xz
|
|
|
|
+wget -c -q --show-progress http://folivier.homelinux.org/cube/pack/gerbera.tar.xz -O /home/wareck/Build_Cube/pack/gerbera.tar.xz
|
|
|
|
+wget -c -q --show-progress http://folivier.homelinux.org/cube/pack/start_cgminer.tar.xz -O /home/wareck/Build_Cube/pack/start_cgminer.tar.xz
|
|
|
|
+wget -c -q --show-progress http://folivier.homelinux.org/cube/pack/$Webmin.tar.xz -O /home/wareck/Build_Cube/pack/$Webmin.tar.xz
|
|
|
|
+wget -c -q --show-progress http://folivier.homelinux.org/cube/pack/xmrig.tar.xz -O /home/wareck/Build_Cube/pack/xmrig.tar.xz
|
|
|
|
+wget -c -q --show-progress http://folivier.homelinux.org/cube/pack/zfsmanager-0.0.4.wbm.gz -O /home/wareck/Build_Cube/pack/zfsmanager-0.0.4.wbm.gz
|
|
|
|
+wget -c -q --show-progress http://folivier.homelinux.org/cube/pack/gpu-miners.tar.xz -O /home/wareck/Build_Cube/pack/gpu-miners.tar.xz
|
|
|
|
+
|
|
|
|
+cp /home/wareck/Build_Cube/pack/gpu-miners.tar.xz /home/wareck
|
|
|
|
+cp /home/wareck/Build_Cube/pack/pack1.tar.xz /home/wareck
|
|
|
|
+cp /home/wareck/Build_Cube/pack/pack2.tar.xz /home/wareck
|
|
|
|
+cp /home/wareck/Build_Cube/pack/pack3.tar.xz /home/wareck
|
|
|
|
+cp /home/wareck/Build_Cube/pack/xmrig.tar.xz /home/wareck
|
|
|
|
+cp /home/wareck/Build_Cube/pack/start_cgminer.tar.xz /home/wareck
|
|
|
|
+echo -e "Done."
|
|
|
|
+
|
|
|
|
+if [ ! -d /home/wareck/$Webmin ]
|
|
|
|
+then
|
|
|
|
+cp /home/wareck/Build_Cube/pack/$Webmin.tar.xz /home/wareck/
|
|
|
|
+cd /home/wareck/
|
|
|
|
+echo -e "$(tput setaf 10)\nWebmin uncompress:$(tput sgr0)"
|
|
|
|
+tar xfJ $Webmin.tar.xz
|
|
|
|
+rm $Webmin.tar.xz
|
|
|
|
+echo -e "Done"
|
|
|
|
+fi
|
|
|
|
+
|
|
|
|
+echo -e "$(tput setaf 10)\nDownloading miners:$(tput sgr0)"
|
|
|
|
+cd /home/wareck
|
|
|
|
+if ! [ -d miners ]; then mkdir -p miners;fi
|
|
|
|
+cd /home/wareck/miners
|
|
|
|
+
|
|
|
|
+if ! [ -d xmrig ]
|
|
|
|
+then
|
|
|
|
+git clone https://github.com/xmrig/xmrig.git
|
|
|
|
+echo -e ""
|
|
|
|
+fi
|
|
|
|
+echo -e "Done.\n"
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+function build_miners_ {
|
|
|
|
+cmake_ #check cmake version
|
|
|
|
+cd /home/wareck
|
|
|
|
+tar xfJ gpu-miners.tar.xz
|
|
|
|
+cd /home/wareck/miners
|
|
|
|
+
|
|
|
|
+echo -e "$(tput setaf 10)\nUncompress xmr files:$(tput sgr0)"
|
|
|
|
+tar xfJ /home/wareck/xmrig.tar.xz --checkpoint=.100
|
|
|
|
+echo "Done."
|
|
|
|
+echo -n -e "\n"
|
|
|
|
+echo -e "$(tput setaf 10)\nBuild xmrig:$(tput sgr0)"
|
|
|
|
+
|
|
|
|
+cd xmrig
|
|
|
|
+git config --global --add safe.directory /home/wareck/miners/xmrig
|
|
|
|
+git pull
|
|
|
|
+sed -i "s/kDefaultDonateLevel = 5;/kDefaultDonateLevel = 0;/g" src/donate.h
|
|
|
|
+sed -i "s/kMinimumDonateLevel = 1;/kMinimumDonateLevel = 0;/g" src/donate.h
|
|
|
|
+cd scripts
|
|
|
|
+./build_deps.sh
|
|
|
|
+cd ..
|
|
|
|
+cd build
|
|
|
|
+cmake .. -DXMRIG_DEPS=scripts/deps
|
|
|
|
+make -j$((`nproc`))
|
|
|
|
+cd ..
|
|
|
|
+echo "Done."
|
|
|
|
+
|
|
|
|
+#Reduce mode
|
|
|
|
+if [ -d /home/wareck/miners/xmrig-upx ];then rm -r /home/wareck/miners/xmrig-upx;fi
|
|
|
|
+if [ -d /home/wareck/miners/xmr-stak ];then rm -r /home/wareck/miners/xmr-stak;fi
|
|
|
|
+if [ -d /home/wareck/miners/xmr-stak-rx ];then rm -r /home/wareck/miners/xmr-stak-rx;fi
|
|
|
|
+sudo chmod -R 775 /home/wareck/miners
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+function configure_ {
|
|
|
|
+echo -e "$(tput setaf 10)\nlxPanel sensors:$(tput sgr0)"
|
|
|
|
+cd /home/wareck
|
|
|
|
+if ! [ -d sensors-lxpanel-plugin ]
|
|
|
|
+then
|
|
|
|
+git clone https://github.com/danamlund/sensors-lxpanel-plugin.git
|
|
|
|
+fi
|
|
|
|
+cd /home/wareck
|
|
|
|
+cd sensors-lxpanel-plugin
|
|
|
|
+make
|
|
|
|
+sudo make install
|
|
|
|
+sudo rm -r /home/wareck/sensors-lxpanel-plugin
|
|
|
|
+echo "Done."
|
|
|
|
+
|
|
|
|
+echo -e "$(tput setaf 10)\nConfig files:$(tput sgr0)"
|
|
|
|
+cd /home/wareck/
|
|
|
|
+zip="['firefox.desktop', 'thunderbird.desktop', 'org.remmina.Remmina.desktop', 'filezilla.desktop', 'org.gnome.Nautilus.desktop', 'org.gnome.Terminal.desktop']"
|
|
|
|
+cat <<'EOF'>> zap
|
|
|
|
+#!/bin/bash
|
|
|
|
+gsettings set org.gnome.shell.extensions.dash-to-dock dash-max-icon-size 32
|
|
|
|
+gsettings set org.gnome.desktop.background picture-uri /home/wareck/Images/mr-robot-wallpapers.jpg
|
|
|
|
+gsettings set org.gnome.shell favorite-apps "XXX"
|
|
|
|
+#su wareck -c 'gsettings set org.gnome.shell.extensions.dash-to-dock show-mounts false'
|
|
|
|
+dconf load /org/gnome/terminal/ < /usr/local/bin/zap2
|
|
|
|
+EOF
|
|
|
|
+sed -i "s/XXX/$zip/g" zap
|
|
|
|
+
|
|
|
|
+UUID=$(gsettings get org.gnome.Terminal.ProfilesList default | tr -d \')
|
|
|
|
+cat <<'EOF'>> zap2
|
|
|
|
+[legacy/profiles:/:XXX]
|
|
|
|
+default-size-columns=110
|
|
|
|
+font='Monospace 9'
|
|
|
|
+use-system-font=false
|
|
|
|
+use-theme-colors=false
|
|
|
|
+EOF
|
|
|
|
+sed -i "s/XXX/$UUID/g" zap2
|
|
|
|
+chmod +x zap
|
|
|
|
+sudo cp zap /usr/local/bin
|
|
|
|
+sudo cp zap2 /usr/local/bin
|
|
|
|
+sudo rm zap
|
|
|
|
+sudo rm zap2
|
|
|
|
+sleep 1
|
|
|
|
+
|
|
|
|
+sudo rm -r -f /etc/update-motd.d/*
|
|
|
|
+tar xfJ pack1.tar.xz --checkpoint=.10
|
|
|
|
+echo -n -e "\n"
|
|
|
|
+sudo cp /home/wareck/pack2.tar.xz /
|
|
|
|
+sudo cp /home/wareck/pack3.tar.xz /
|
|
|
|
+cd /
|
|
|
|
+sudo tar xfJ pack2.tar.xz --checkpoint=.10
|
|
|
|
+sudo tar xfJ pack3.tar.xz --checkpoint=.10
|
|
|
|
+echo -n -e "\n"
|
|
|
|
+cd /home/wareck
|
|
|
|
+
|
|
|
|
+sudo sed -i -e "s/# set constantshow/set constantshow/g" /etc/nanorc
|
|
|
|
+
|
|
|
|
+if ! grep "wareck" /etc/sudoers >/dev/null
|
|
|
|
+then
|
|
|
|
+sudo sh -c "echo \"wareck ALL=(ALL) NOPASSWD: ALL\" >> /etc/sudoers"
|
|
|
|
+fi
|
|
|
|
+
|
|
|
|
+echo -e "$(tput setaf 10)\nBuild folder and mount drives:$(tput sgr0)"
|
|
|
|
+if ! [ -r /store ];then sudo mkdir /store;fi
|
|
|
|
+if ! [ -r /raid ];then sudo mkdir /raid;fi
|
|
|
|
+if ! grep "UUID=1df72b63-fca0-45c6-992c-3e2532d5591a /media/Store ext4" /etc/fstab >/dev/null
|
|
|
|
+then
|
|
|
|
+cp /etc/fstab /tmp/fstab
|
|
|
|
+cat <<"EOF">> /tmp/fstab
|
|
|
|
+#ext4
|
|
|
|
+#UUID=1df72b63-fca0-45c6-992c-3e2532d5591a /media/Store ext4 auto,nofail,noatime,rw,user 0 0
|
|
|
|
+#btrfs temporary drives
|
|
|
|
+#/dev/md0 /raid btrfs ssd,nodatasum,nobarrier,nodatacow,discard=async,noatime 0 0
|
|
|
|
+#Chia drive
|
|
|
|
+EOF
|
|
|
|
+sudo cp /tmp/fstab /etc/fstab
|
|
|
|
+fi
|
|
|
|
+
|
|
|
|
+sudo rm /etc/hosts
|
|
|
|
+sudo cat <<'EOF'>> /etc/hosts
|
|
|
|
+127.0.0.1 localhost
|
|
|
|
+127.0.1.1 poweredge
|
|
|
|
+192.168.1.8 miniserver miniserver gogserver.dnsalias.com
|
|
|
|
+192.168.1.10 nzxt
|
|
|
|
+192.168.1.11 garage
|
|
|
|
+192.168.1.100 cube
|
|
|
|
+192.168.1.254 mafreebox.freebox.fr
|
|
|
|
+192.168.1.200 node
|
|
|
|
+
|
|
|
|
+# The following lines are desirable for IPv6 capable hosts
|
|
|
|
+::1 ip6-localhost ip6-loopback
|
|
|
|
+fe00::0 ip6-localnet
|
|
|
|
+ff00::0 ip6-mcastprefix
|
|
|
|
+ff02::1 ip6-allnodes
|
|
|
|
+ff02::2 ip6-allrouters
|
|
|
|
+EOF
|
|
|
|
+echo "Done."
|
|
|
|
+
|
|
|
|
+echo -e "$(tput setaf 10)\nSensors drivers:$(tput sgr0)"
|
|
|
|
+if ! grep "it87" /etc/modules >/dev/null
|
|
|
|
+then
|
|
|
|
+cp /etc/modules /tmp/modules
|
|
|
|
+cat <<"EOF">> /tmp/modules
|
|
|
|
+
|
|
|
|
+# Chip drivers
|
|
|
|
+it87
|
|
|
|
+EOF
|
|
|
|
+sudo cp /tmp/modules /etc/modules
|
|
|
|
+fi
|
|
|
|
+if [ -f /tmp/sensors3.conf ]
|
|
|
|
+then
|
|
|
|
+chmod 777 /tmp/sensors3.conf
|
|
|
|
+rm /tmp/sensors3.conf
|
|
|
|
+fi
|
|
|
|
+cat <<'EOF'>> /tmp/sensors3.conf
|
|
|
|
+chip "it8728-isa-0228"
|
|
|
|
+label in0 "Vcore"
|
|
|
|
+label in1 "Vdram" # "DDR3" in BIOS
|
|
|
|
+label in2 "+3.3V"
|
|
|
|
+label in3 "+5V" # Not in BIOS
|
|
|
|
+label in4 "+12V"
|
|
|
|
+ignore in5 # -12V unused
|
|
|
|
+ignore in6
|
|
|
|
+label in7 "5VSB" # Not in BIOS
|
|
|
|
+label in8 "Vbat" # Not in BIOS
|
|
|
|
+compute in3 @ * (6.8/10+1), @ / (6.8/10+1)
|
|
|
|
+compute in4 @ * 3.963, @ / 3.963
|
|
|
|
+compute in7 @ * (6.8/10+1), @ / (6.8/10+1)
|
|
|
|
+set in0_min 0.825 * 0.95
|
|
|
|
+set in0_max 1.425 * 1.05
|
|
|
|
+set in1_min 1.5 * 0.95
|
|
|
|
+set in1_max 1.5 * 1.05
|
|
|
|
+set in2_min 3.3 * 0.95
|
|
|
|
+set in2_max 3.3 * 1.05
|
|
|
|
+set in3_min 5 * 0.95
|
|
|
|
+set in3_max 5 * 1.05
|
|
|
|
+set in4_min 12 * 0.95
|
|
|
|
+set in4_max 12 * 1.05
|
|
|
|
+set in7_min 5 * 0.95
|
|
|
|
+set in7_max 5 * 1.05
|
|
|
|
+ignore cpu0_vid
|
|
|
|
+set fan4_min 100
|
|
|
|
+set fan1_min 100
|
|
|
|
+ignore fan2
|
|
|
|
+ignore fan3
|
|
|
|
+ignore fan5
|
|
|
|
+ignore in8
|
|
|
|
+ignore intrusion0
|
|
|
|
+label fan1 "fan1"
|
|
|
|
+label fan4 "fan2"
|
|
|
|
+label temp1 "MB"
|
|
|
|
+label temp2 "CPU"
|
|
|
|
+set temp2_min 0
|
|
|
|
+set temp2_max 75
|
|
|
|
+set temp1_min 0
|
|
|
|
+set temp1_max 90
|
|
|
|
+set temp1_beep 0.0
|
|
|
|
+label temp1 "VRM Temp"
|
|
|
|
+set temp1_min 0
|
|
|
|
+set temp1_max 65
|
|
|
|
+label temp2 "SB Temp"
|
|
|
|
+label temp3 "CPU Temp"
|
|
|
|
+set temp3_min 0
|
|
|
|
+set temp3_max 65
|
|
|
|
+
|
|
|
|
+chip "nvme-pci-0400"
|
|
|
|
+set temp2_max 75
|
|
|
|
+set temp2_min 20
|
|
|
|
+set temp3_max 75
|
|
|
|
+set temp3_min 20
|
|
|
|
+EOF
|
|
|
|
+
|
|
|
|
+chmod 644 /tmp/sensors3.conf
|
|
|
|
+sudo cp /tmp/sensors3.conf /etc/
|
|
|
|
+sudo sensors -s
|
|
|
|
+sensors
|
|
|
|
+
|
|
|
|
+sudo apt install ethtool -y
|
|
|
|
+iface=$(ip link | awk -F: '$0 !~ "lo|vir|^[^0-9]"{printf $2a}' | cut -d ' ' -f2)
|
|
|
|
+sudo ethtool --change $iface wol g
|
|
|
|
+
|
|
|
|
+cat <<'EOF'>> /tmp/wakemeup.sh
|
|
|
|
+#!/bin/bash
|
|
|
|
+set -e
|
|
|
|
+if ! [ -x "$(command -v etherwake)" ];then sudo apt-get install etherwake -y;fi
|
|
|
|
+clear
|
|
|
|
+echo -e "$(tput setaf 10)Wake On Lan v1.0:$(tput sgr0)"
|
|
|
|
+PS3="Select : "
|
|
|
|
+items=("Nzxt" "Garage" "Blade")
|
|
|
|
+
|
|
|
|
+select item in "${items[@]}" Quit
|
|
|
|
+ do
|
|
|
|
+ case $REPLY in
|
|
|
|
+ 1) sudo etherwake -i enp5s0 E0:D5:5E:2D:9E:CB ; break;;
|
|
|
|
+ 2) sudo etherwake -i enp5s0 58:11:22:CD:FC:7A ; break;;
|
|
|
|
+ 3) sudo etherwake -i enp5s0 78:AC:44:57:3C:50 ; break;;
|
|
|
|
+ $((${#items[@]}+1))) echo "We're done!"; break 2;;
|
|
|
|
+ *) echo "Ooops - unknown choice $REPLY"; break;
|
|
|
|
+ esac
|
|
|
|
+ done
|
|
|
|
+echo -e ""
|
|
|
|
+EOF
|
|
|
|
+sudo chmod +x /tmp/wakemeup.sh
|
|
|
|
+sudo cp /tmp/wakemeup.sh /usr/local/bin
|
|
|
|
+echo "Done."
|
|
|
|
+
|
|
|
|
+echo -e "$(tput setaf 10)\nVnc init:$(tput sgr0)"
|
|
|
|
+sudo update-rc.d vncserver defaults
|
|
|
|
+echo "Done."
|
|
|
|
+
|
|
|
|
+echo -e "$(tput setaf 10)\nOpening ports:$(tput sgr0)"
|
|
|
|
+sudo ufw allow 8333 >/dev/null
|
|
|
|
+sudo ufw allow 22 >/dev/null
|
|
|
|
+sudo ufw allow 5900 >/dev/null
|
|
|
|
+sudo ufw allow 10000 >/dev/null
|
|
|
|
+sudo ufw allow 139 >/dev/null
|
|
|
|
+sudo ufw allow 5901 >/dev/null
|
|
|
|
+sudo ufw allow 5902 >/dev/null
|
|
|
|
+sudo ufw allow 445 >/dev/null
|
|
|
|
+sudo ufw allow 1337 >/dev/null
|
|
|
|
+sudo ufw allow 1447 >/dev/null
|
|
|
|
+echo "Done."
|
|
|
|
+
|
|
|
|
+echo -e "$(tput setaf 10)\nBashrc mod:$(tput sgr0)"
|
|
|
|
+if [ $Cuda = "YES" ]
|
|
|
|
+then
|
|
|
|
+if ! grep "#mod for cuda" /home/wareck/.bashrc >/dev/null
|
|
|
|
+then
|
|
|
|
+echo '#mod for cuda' >>/home/wareck/.bashrc
|
|
|
|
+echo 'export PATH=/usr/local/cuda-12.3/bin/:$PATH'>>/home/wareck/.bashrc
|
|
|
|
+echo 'export LD_LIBRARY_PATH=/usr/local/cuda-12.3/lib64:$LD_LIBRARY_PATH'>>/home/wareck/.bashrc
|
|
|
|
+echo '' >>/home/wareck/.bashrc
|
|
|
|
+fi
|
|
|
|
+fi
|
|
|
|
+if ! grep "#mod for tightvncserver" /home/wareck/.bashrc >/dev/null
|
|
|
|
+then
|
|
|
|
+echo '#mod for tightvncserver' >>/home/wareck/.bashrc
|
|
|
|
+echo 'cd ~' >>/home/wareck/.bashrc
|
|
|
|
+fi
|
|
|
|
+echo "Done."
|
|
|
|
+
|
|
|
|
+echo -e "$(tput setaf 10)\nDisable IPv6:$(tput sgr0)"
|
|
|
|
+if ! grep "ipv6.disable=1" /etc/default/grub >/dev/null
|
|
|
|
+then
|
|
|
|
+sed -i -e "s/quiet splash/quiet splash ipv6.disable=1/g" /etc/default/grub
|
|
|
|
+sed -i -e "s/GRUB_CMDLINE_LINUX=\"/GRUB_CMDLINE_LINUX=\"ipv6.disable=1 acpi_enforce_resources=lax/g" /etc/default/grub
|
|
|
|
+sudo update-grub2
|
|
|
|
+fi
|
|
|
|
+sudo chown -R wareck:wareck /home/wareck/miners/xmr*
|
|
|
|
+sudo chown -R wareck:wareck /home/wareck/miners/cgminer*
|
|
|
|
+sudo apt-get remove light-locker* -y
|
|
|
|
+if [ ! -d /home/wareck/.config/lxpanel/LXDE/panels ]
|
|
|
|
+then
|
|
|
|
+mkdir /home/wareck/.config/lxpanel
|
|
|
|
+mkdir /home/wareck/.config/lxpanel/LXDE
|
|
|
|
+mkdir /home/wareck/.config/lxpanel/LXDE/panels
|
|
|
|
+fi
|
|
|
|
+sudo cp /home/wareck/Build_Cube/pack/panel /home/wareck/.config/lxpanel/LXDE/panels/panel
|
|
|
|
+sudo chmod 777 /home/wareck/.config/lxpanel/LXDE/panels/panel
|
|
|
|
+if [ ! -d /home/wareck/.config/lxterminal ]
|
|
|
|
+then
|
|
|
|
+mkdir /home/wareck/.config/lxterminal
|
|
|
|
+fi
|
|
|
|
+sudo cp /home/wareck/Build_Cube/pack/lxterminal.conf /home/wareck/.config/lxterminal/
|
|
|
|
+sudo chmod 777 /home/wareck/.config/lxterminal/lxterminal.conf
|
|
|
|
+echo "Done."
|
|
|
|
+echo "passe=4" >/home/wareck/.ipass
|
|
|
|
+decompte_
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+function printer_ {
|
|
|
|
+if [ ! -d /usr/local/share/foomatic/ ]
|
|
|
|
+then
|
|
|
|
+if [ ! -d /tmp/foomatic-db/ ]
|
|
|
|
+then
|
|
|
|
+cd /tmp/
|
|
|
|
+echo -e "$(tput setaf 10)\nInstall printers generic drivers:$(tput sgr0)"
|
|
|
|
+git clone https://github.com/OpenPrinting/foomatic-db.git
|
|
|
|
+fi
|
|
|
|
+cd /tmp/foomatic-db
|
|
|
|
+if [ ! -d /usr/local/share/foomatic/ ]
|
|
|
|
+then
|
|
|
|
+./make_configure
|
|
|
|
+./configure
|
|
|
|
+sudo make install
|
|
|
|
+echo "Done."
|
|
|
|
+fi
|
|
|
|
+fi
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+function mounting_drives_ {
|
|
|
|
+echo -e "$(tput setaf 10)\nMounting Drives$(tput sgr0)"
|
|
|
|
+if ! findmnt /media/store >/dev/null ; then sudo mount /media/Store ;fi
|
|
|
|
+sudo chmod 777 /media/store
|
|
|
|
+sudo chmod 777 /raid
|
|
|
|
+echo "Done."
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+function cleaning_ {
|
|
|
|
+echo -e "$(tput setaf 10)\nCleaning install files:$(tput sgr0)"
|
|
|
|
+if [ -f /pack2.tar.xz ]; then sudo rm /pack2.tar.xz ;fi
|
|
|
|
+if [ -f /pack3.tar.xz ]; then sudo rm /pack3.tar.xz ;fi
|
|
|
|
+if [ -f /home/wareck/pack1.tar.xz ]; then rm /home/wareck/pack1.tar.xz ;fi
|
|
|
|
+if [ -f /home/wareck/pack2.tar.xz ]; then rm /home/wareck/pack2.tar.xz ;fi
|
|
|
|
+if [ -f /home/wareck/pack3.tar.xz ]; then rm /home/wareck/pack3.tar.xz ;fi
|
|
|
|
+if [ -f /home/wareck/xmrig.tar.xz ]; then rm /home/wareck/xmrig.tar.xz ;fi
|
|
|
|
+if [ -f /home/wareck/gpu-miners.tar.xz ]; then rm /home/wareck/gpu-miners.tar.xz;fi
|
|
|
|
+if [ -r /home/wareck/Music ]; then sudo rm -r -f /home/wareck/Music ;fi
|
|
|
|
+if [ -r /home/wareck/Public ]; then sudo rm -r -f /home/wareck/Public ;fi
|
|
|
|
+if [ -r /home/wareck/Templates ]; then sudo rm -r -f /home/wareck/Templates ;fi
|
|
|
|
+if [ -r /home/wareck/Vidéos ]; then sudo rm -r -f /home/wareck/Vidéos ;fi
|
|
|
|
+if [ -f /home/wareck/NVIDIA-Linux-x86_64-470.74.run ]; then rm /home/wareck/NVIDIA-Linux-x86_64-470.74.run ;fi
|
|
|
|
+if [ -f /home/wareck/NVIDIA-Linux-x86_64-470.82.00.run ]; then rm /home/wareck/NVIDIA-Linux-x86_64-470.82.00.run ;fi
|
|
|
|
+if [ -f /home/wareck/.ipass ]; then rm /home/wareck/.ipass ;fi
|
|
|
|
+if [ -f /usr/local/bin/zap ]; then sudo rm /usr/local/bin/zap* ;fi
|
|
|
|
+if [ -f /home/wareck/.config/autostart/install_os.desktop ];then sudo rm /home/wareck/.config/autostart/install_os.desktop;fi
|
|
|
|
+if [ -f /home/wareck/.config/autostart/zappy.desktop ];then sudo rm /home/wareck/.config/autostart/zappy.desktop;fi
|
|
|
|
+if [ -r /lib/modules/5.15.0-60-generic ]; then sudo rm -r /lib/modules/5.15.0-60-generic ;fi
|
|
|
|
+if [ -r /lib/modules/5.15.0-46-generic ]; then sudo rm -r /lib/modules/5.15.0-46-generic ;fi
|
|
|
|
+if [ -r /lib/modules/5.15.0-70-generic ]; then sudo rm -r /lib/modules/5.15.0-70-generic ;fi
|
|
|
|
+cd /home/wareck/Build_Cube/pack
|
|
|
|
+sudo chown -R wareck:wareck /home/wareck/miners
|
|
|
|
+sudo chmod -R 775 /home/wareck/miners
|
|
|
|
+./clean.sh
|
|
|
|
+echo -e "Done. \n"
|
|
|
|
+
|
|
|
|
+echo `date` "install/update" >/home/wareck/.buildcube
|
|
|
|
+sudo apt-get autoremove -y
|
|
|
|
+sleep 1
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+function autoroot_ {
|
|
|
|
+if ! grep "#color putty" ~/.bashrc >/dev/null
|
|
|
|
+then
|
|
|
|
+echo "#color putty" >> ~/.bashrc
|
|
|
|
+echo "export TERM=xterm-256color" >> ~/.bashrc
|
|
|
|
+fi
|
|
|
|
+if [ ! -d /home/wareck/.config/autostart ]
|
|
|
|
+then
|
|
|
|
+echo -e "$(tput setaf 10)\nInit install & autostart:$(tput sgr0)"
|
|
|
|
+mkdir /home/wareck/.config/autostart
|
|
|
|
+echo -e "Done."
|
|
|
|
+sleep 1
|
|
|
|
+fi
|
|
|
|
+
|
|
|
|
+if [ ! -f /home/wareck/.config/autostart/install_os.desktop ]
|
|
|
|
+then
|
|
|
|
+cat <<'EOF'>> /home/wareck/.config/autostart/install_os.desktop
|
|
|
|
+[Desktop Entry]
|
|
|
|
+# VERSION=3.36.2
|
|
|
|
+Name=Terminal
|
|
|
|
+Comment=Use the command line
|
|
|
|
+Keywords=shell;prompt;command;commandline;cmd;
|
|
|
|
+TryExec=gnome-terminal
|
|
|
|
+Exec=gnome-terminal -- bash -c "sudo /home/wareck/Build_Cube/edge.sh; exec bash"
|
|
|
|
+Icon=org.gnome.Terminal
|
|
|
|
+Type=Application
|
|
|
|
+Categories=GNOME;GTK;System;TerminalEmulator;
|
|
|
|
+StartupNotify=true
|
|
|
|
+X-GNOME-SingleWindow=false
|
|
|
|
+OnlyShowIn=GNOME;Unity;
|
|
|
|
+Actions=new-window;preferences;
|
|
|
|
+X-Ubuntu-Gettext-Domain=gnome-terminal
|
|
|
|
+
|
|
|
|
+[Desktop Action new-window]
|
|
|
|
+Name=New Window
|
|
|
|
+Exec=gnome-terminal --window
|
|
|
|
+
|
|
|
|
+[Desktop Action preferences]
|
|
|
|
+Name=Preferences
|
|
|
|
+Exec=gnome-terminal --preferences
|
|
|
|
+EOF
|
|
|
|
+chmod +x /home/wareck/.config/autostart/install_os.desktop
|
|
|
|
+fi
|
|
|
|
+
|
|
|
|
+if [ ! -f /home/wareck/.config/autostart/zappy.desktop ]
|
|
|
|
+then
|
|
|
|
+cat <<'EOF'>> /home/wareck/.config/autostart/zappy.desktop
|
|
|
|
+[Desktop Entry]
|
|
|
|
+# VERSION=3.36.2
|
|
|
|
+Name=Terminal
|
|
|
|
+Comment=Use the command line
|
|
|
|
+Keywords=shell;prompt;command;commandline;cmd;
|
|
|
|
+TryExec=gnome-terminal
|
|
|
|
+Exec=gnome-terminal -- bash -c "/usr/local/bin/zap"
|
|
|
|
+Icon=org.gnome.Terminal
|
|
|
|
+Type=Application
|
|
|
|
+Categories=GNOME;GTK;System;TerminalEmulator;
|
|
|
|
+StartupNotify=true
|
|
|
|
+X-GNOME-SingleWindow=false
|
|
|
|
+OnlyShowIn=GNOME;Unity;
|
|
|
|
+Actions=new-window;preferences;
|
|
|
|
+X-Ubuntu-Gettext-Domain=gnome-terminal
|
|
|
|
+
|
|
|
|
+[Desktop Action new-window]
|
|
|
|
+Name=New Window
|
|
|
|
+Exec=gnome-terminal --window
|
|
|
|
+
|
|
|
|
+[Desktop Action preferences]
|
|
|
|
+Name=Preferences
|
|
|
|
+Exec=gnome-terminal --preferences
|
|
|
|
+EOF
|
|
|
|
+chmod +x /home/wareck/.config/autostart/zappy.desktop
|
|
|
|
+fi
|
|
|
|
+if ! grep "wareck" /etc/sudoers >/dev/null
|
|
|
|
+then
|
|
|
|
+sudo sh -c "echo \"wareck ALL=(ALL) NOPASSWD: ALL\" >> /etc/sudoers"
|
|
|
|
+fi
|
|
|
|
+if [ $passe="2" ]
|
|
|
|
+then
|
|
|
|
+echo -e "$(tput setaf 10)\nUpdate and install packages:$(tput sgr0)"
|
|
|
|
+sudo apt-get update
|
|
|
|
+sudo apt-get install lxde lxde-icon-theme -y
|
|
|
|
+sleep 1
|
|
|
|
+fi
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+function remove_screensaver {
|
|
|
|
+#remove screensaver
|
|
|
|
+cat <<EOF>> autostart
|
|
|
|
+@lxpanel --profile LXDE
|
|
|
|
+@pcmanfm --desktop --profile LXDE
|
|
|
|
+EOF
|
|
|
|
+sudo chmod 744 autostart
|
|
|
|
+sudo cp autostart /etc/xdg/lxsession/LXDE/
|
|
|
|
+sudo cp autostart /home/wareck/.config/lxsession/LXDE/
|
|
|
|
+sudo rm autostart
|
|
|
|
+sudo apt-get remove xscreensaver xscreensaver-data -y
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+function cmake_ {
|
|
|
|
+pids=""
|
|
|
|
+/home/wareck/Build_Cube/options/tools/_cmake.sh rollback & pids="$pids $!"
|
|
|
|
+wait $pids
|
|
|
|
+sudo ldconfig
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+function watchdog_ {
|
|
|
|
+pids=""
|
|
|
|
+/home/wareck/Build_Cube/options/watchdog.sh ext & pids="$pids $!"
|
|
|
|
+wait $pids
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+function wol_ {
|
|
|
|
+iface=$(ip link | awk -F: '$0 !~ "lo|vir|^[^0-9]"{printf $2a}' | cut -d ' ' -f2)
|
|
|
|
+ether=$(which ethtool)
|
|
|
|
+echo "[Unit]" >>/tmp/wol.service
|
|
|
|
+echo "Description=Enable Wake On Lan" >>/tmp/wol.service
|
|
|
|
+echo "" >>/tmp/wol.service
|
|
|
|
+echo "[Service]" >>/tmp/wol.service
|
|
|
|
+echo "Type=oneshot" >>/tmp/wol.service
|
|
|
|
+echo "ExecStart = $ether --change $iface wol g" >>/tmp/wol.service
|
|
|
|
+echo "" >>/tmp/wol.service
|
|
|
|
+echo "[Install]" >>/tmp/wol.service
|
|
|
|
+echo "WantedBy=basic.target" >>/tmp/wol.service
|
|
|
|
+sudo cp /tmp/wol.service /etc/systemd/system/wol.service
|
|
|
|
+sudo systemctl daemon-reload >/dev/null
|
|
|
|
+sudo systemctl enable wol.service >/dev/null
|
|
|
|
+sudo systemctl start wol.service >/dev/null
|
|
|
|
+sleep 2
|
|
|
|
+clear
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+intro_
|
|
|
|
+case $passe in
|
|
|
|
+1)
|
|
|
|
+ watchdog_
|
|
|
|
+ autoroot_
|
|
|
|
+ ubuntu_version_check
|
|
|
|
+ update_
|
|
|
|
+ kernel_check_
|
|
|
|
+ nvidia_driver_
|
|
|
|
+ ;;
|
|
|
|
+2)
|
|
|
|
+ nvidia_driver_
|
|
|
|
+ update_
|
|
|
|
+ ;;
|
|
|
|
+3)
|
|
|
|
+ download_packs_
|
|
|
|
+ printer_
|
|
|
|
+ build_miners_
|
|
|
|
+ configure_
|
|
|
|
+ ;;
|
|
|
|
+4)
|
|
|
|
+ mounting_drives_
|
|
|
|
+ cleaning_
|
|
|
|
+ remove_screensaver
|
|
|
|
+ clear
|
|
|
|
+ wol_
|
|
|
|
+ dynmotd
|
|
|
|
+ ;;
|
|
|
|
+*) ;;
|
|
|
|
+esac
|
|
|
|
+
|
|
|
|
+echo -e "$(tput setaf 10)\nEnd of script:$(tput sgr0) \n"
|
|
|
|
+echo -e "$(tput setaf 7)Need to install webmin manually (reboot required)$(tput sgr0)"
|
|
|
|
+echo -e "$(tput setaf 7)after install webmin, reboot is required $(tput sgr0)"
|
|
|
|
+echo -e ""
|
|
|
|
+
|