#!/bin/bash set -e Version=1.0 #if (( $EUID != 0 )); then # echo -e "$(tput setaf 11)This must be run as root. Try 'sudo $0'.$(tput sgr0)" # exit 1 #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 intro_ { clear print_centered "$(tput setaf 244)" print_centered " _____ .__ .____ .__ " print_centered " / _ \ | | _____ _____ | | |__| ____ __ _____ ___ " print_centered " / /_\ \| | / \\__ \ | | | |/ \| | \ \/ / " print_centered " / | \ |_| Y Y \/ __ \| |___| | | \ | /> < " print_centered " \____|__ /____/__|_| (____ /_______ \__|___| /____//__/\_ \ " print_centered " \/ \/ \/ \/ \/ \/ " echo -n "$(tput sgr0)$(tput setaf 10)" print_centered "Server installation script v$Version" print_centered "Dell R640" echo -n "$(tput sgr0)" echo "" print_centered "(ne pas activer le login automatique...)" sleep 3 } function update_ { echo -e "$(tput setaf 10)\nUpdate:$(tput sgr0)" sudo dnf -y update sudo dnf install -y epel-release sudo dnf group install -y "Development Tools" sudo dnf install -y cmake gmp-devel numactl-devel perl lynx perl-Encode-Detect perl-Time-Piece perl-open perl-encoding perl-Filter sudo dnf install -y perl-Digest-SHA git htop python-devel gparted sudo dnf install -y tigervnc-server cmake3 libsodium libsodium-static git make cmake gcc gcc-c++ hwloc-devel openssl-devel automake libtool autoconf sudo dnf --enablerepo=crb install -y libstdc++-static echo -e "\nDone" } function tigervnc_ { echo -e "$(tput setaf 10)\nTigerVnc:$(tput sgr0)" wget -c http://folivier.homelinux.org/cube/pack/alma.tar.xz sudo cp -r -f alma.tar.xz / rm alma.tar.xz cd / sudo tar xvfJ alma.tar.xz sudo rm alma.tar.xz sudo dnf groupinstall -y "Server with GUI" sudo systemctl set-default graphical.target sudo systemctl default sudo dnf config-manager --set-enabled crb sudo dnf install -y epel-release sudo dnf update -y sudo cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:1.service sudo systemctl daemon-reload sudo systemctl start vncserver@:1 sudo systemctl enable vncserver@:1 sudo firewall-cmd --permanent --add-service=vnc-server sudo firewall-cmd --reload sudo firewall-cmd --add-port=5901/tcp --permanent sudo firewall-cmd --reload echo -e "\nDone" } function chia_ { echo -e "$(tput setaf 10)\nChia:$(tput sgr0)" cd /home/wareck/Build_Cube/other_arch/ cp /home/wareck/Build_Cube/options/chia.sh . sed -i "s/BladeBit=Yes/BladeBit=No/g" chia.sh sed -i "s/ChiaPos=Yes/ChiaPos=No/g" chia.sh sed -i "s/Miner=Yes/Miner=No/g" chia.sh sed -i "s/Toolkit for Chia v$Version/Toolkit for Chia AlmaLinux /g" chia.sh sed -i "s/sudo apt-get install/#sudo apt-get install/g" chia.sh sh chia.sh rm chia.sh #cp /home/wareck/Build_Cube/options/flexfarmer.sh . #sed -i "s/Flexpool mining software/Flexpool mining software AlmaLinux/g" flexfarmer.sh #sed -i "s/build_service/#build_service/g" flexfarmer.sh #sed -i "s/function #build_service/function build_service/g" flexfarmer.sh #./flexfarmer.sh #rm flexfarmer.sh echo -e "\nDone" } function miner_ { echo -e "$(tput setaf 10)\nDownloading miners:$(tput sgr0)" cp /home/wareck/Build_Cube/pack/xmrig.tar.xz /home/wareck/ cd /home/wareck if ! [ -d miners ]; then mkdir -p miners;fi cd miners if ! [ -d xmrig ] then git clone https://github.com/xmrig/xmrig.git echo -e "" fi 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 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 #rm -r Cm* cmake .. -DXMRIG_DEPS=scripts/deps make -j$((`nproc`+1)) cd /home/wareck/miners sudo rm -r -f xmr-stak-rx sudo rm -r -f xmrig-upx echo -e "\nDone." } function webmin_ { cd /tmp/ curl -o setup-repos.sh https://raw.githubusercontent.com/webmin/webmin/master/setup-repos.sh chmod +x setup-repos.sh sudo ./setup-repos.sh sudo dnf install -y webmin } function wol_ { echo -e "$(tput setaf 10)\nWol modification:$(tput sgr0)" iface=$(ip link | awk -F: '$0 !~ "lo|vir|^[^0-9]"{print $2a;getline}') 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 eno1 wol g" >>/tmp/wol.service echo "ExecStart = $ether --change eno2 wol g" >>/tmp/wol.service echo "ExecStart = $ether --change eno3 wol g" >>/tmp/wol.service echo "ExecStart = $ether --change eno4 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 sudo systemctl enable wol.service sudo systemctl start wol.service echo -e "\nDone" } function drive_ { echo -e "$(tput setaf 10)\nBuild folder and mount drives:$(tput sgr0)" if ! [ -r /ramdisk/ ];then sudo mkdir /ramdisk/ ;fi if ! grep "tmpfs /ramdisk tmpfs defaults,size=110G 0 0" /etc/fstab >/dev/null then cp /etc/fstab /tmp/fstab cat <<'EOF'>> /tmp/fstab tmpfs /ramdisk tmpfs defaults,size=110G 0 0 EOF sudo cp /tmp/fstab /etc/fstab fi echo -e "\nDone" } intro_ update_ drive_ wol_ tigervnc_ chia_ miner_ #webmin_