alma.sh 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166
  1. #!/bin/bash
  2. set -e
  3. Version=1.0
  4. #if (( $EUID != 0 )); then
  5. # echo -e "$(tput setaf 11)This must be run as root. Try 'sudo $0'.$(tput sgr0)"
  6. # exit 1
  7. #fi
  8. function print_centered {
  9. [[ $# == 0 ]] && return 1
  10. declare -i TERM_COLS="$(tput cols)"
  11. declare -i str_len="${#1}"
  12. [[ $str_len -ge $TERM_COLS ]] && {
  13. echo "$1";
  14. return 0;
  15. }
  16. declare -i filler_len="$(( (TERM_COLS - str_len) / 2 ))"
  17. [[ $# -ge 2 ]] && ch="${2:0:1}" || ch=" "
  18. filler=""
  19. for (( i = 0; i < filler_len; i++ )); do
  20. filler="${filler}${ch}"
  21. done
  22. printf "%s%s%s" "$filler" "$1" "$filler"
  23. [[ $(( (TERM_COLS - str_len) % 2 )) -ne 0 ]] && printf "%s" "${ch}"
  24. printf "\n"
  25. return 0
  26. }
  27. function intro_ {
  28. clear
  29. print_centered "$(tput setaf 244)"
  30. print_centered " _____ .__ .____ .__ "
  31. print_centered " / _ \ | | _____ _____ | | |__| ____ __ _____ ___ "
  32. print_centered " / /_\ \| | / \\__ \ | | | |/ \| | \ \/ / "
  33. print_centered " / | \ |_| Y Y \/ __ \| |___| | | \ | /> < "
  34. print_centered " \____|__ /____/__|_| (____ /_______ \__|___| /____//__/\_ \ "
  35. print_centered " \/ \/ \/ \/ \/ \/ "
  36. echo -n "$(tput sgr0)$(tput setaf 10)"
  37. print_centered "Server installation script v$Version"
  38. print_centered "Dell R640"
  39. echo -n "$(tput sgr0)"
  40. print_centered "ne pas activer le login automatique..."
  41. print_centered "appuyer sur une touche pour continuer"
  42. read -p ""
  43. }
  44. function update_ {
  45. sudo dnf -y update
  46. sudo dnf install -y epel-release
  47. sudo dnf group install -y "Development Tools"
  48. sudo dnf install -y cmake gmp-devel numactl-devel perl lynx perl-Encode-Detect perl-Time-Piece perl-open perl-encoding perl-Filter perl-Digest-SHA
  49. sudo dnf install -y git htop python-devel
  50. sudo dnf install -y tigervnc-server
  51. sudo dnf install -y remmina gparted
  52. sudo dnf install -y cmake3 libsodium libsodium-static
  53. sudo dnf install -y git make cmake gcc gcc-c++ hwloc-devel openssl-devel automake libtool autoconf
  54. sudo dnf --enablerepo=crb install -y libstdc++-static
  55. }
  56. function tigervnc_ {
  57. #cp pack && tar
  58. sudo dnf groupinstall -y "Server with GUI"
  59. sudo systemctl set-default graphical.target
  60. sudo systemctl default
  61. sudo dnf config-manager --set-enabled crb
  62. sudo dnf install -y epel-release
  63. sudo dnf update -y
  64. sudo cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:1.service
  65. sudo systemctl daemon-reload
  66. sudo systemctl start vncserver@:1
  67. sudo systemctl enable vncserver@:1
  68. sudo firewall-cmd --permanent --add-service=vnc-server
  69. sudo firewall-cmd --reload
  70. sudo firewall-cmd --add-port=5901/tcp --permanent
  71. sudo firewall-cmd --reload
  72. }
  73. function chia_ {
  74. cp /home/wareck/Build_Cube/options/chia.sh .
  75. sed -i "s/BladeBit=Yes/BladeBit=No/g" chia.sh
  76. sed -i "s/ChiaPos=Yes/ChiaPos=No/g" chia.sh
  77. sed -i "s/Miner=Yes/Miner=No/g" chia.sh
  78. sed -i "s/Toolkit for Chia v$Version/Toolkit for Chia AlmaLinux /g" chia.sh
  79. sed -i "s/sudo apt-get install/#sudo apt-get install/g" chia.sh
  80. ./chia.sh
  81. rm ./chia.sh
  82. cp /home/wareck/Build_Cube/options/flexfarmer.sh .
  83. sed -i "s/Flexpool mining software/Flexpool mining software AlmaLinux/g" flexfarmer.sh
  84. sed -i "s/build_service/#build_service/g" flexfarmer.sh
  85. sed -i "s/function #build_service/function build_service/g" flexfarmer.sh
  86. ./flexfarmer.sh
  87. rm flexfarmer.sh
  88. }
  89. function miner_ {
  90. echo -e "$(tput setaf 10)\nDownloading miners:$(tput sgr0)"
  91. cp /home/wareck/Build_Cube/pack/xmrig.tar.xz /home/wareck/
  92. cd /home/wareck
  93. if ! [ -d miners ]; then mkdir -p miners;fi
  94. cd miners
  95. if ! [ -d xmrig ]
  96. then
  97. git clone https://github.com/xmrig/xmrig.git
  98. echo -e ""
  99. fi
  100. echo -e "$(tput setaf 10)\nUncompress xmr files:$(tput sgr0)"
  101. tar xfJ /home/wareck/xmrig.tar.xz --checkpoint=.100
  102. echo "Done."
  103. echo -n -e "\n"
  104. echo -e "$(tput setaf 10)\nBuild xmrig:$(tput sgr0)"
  105. cd xmrig
  106. sed -i "s/kDefaultDonateLevel = 5;/kDefaultDonateLevel = 0;/g" src/donate.h
  107. sed -i "s/kMinimumDonateLevel = 1;/kMinimumDonateLevel = 0;/g" src/donate.h
  108. cd scripts
  109. ./build_deps.sh
  110. cd ..
  111. cd build
  112. rm -r Cm*
  113. cmake .. -DXMRIG_DEPS=scripts/deps
  114. make -j$((`nproc`+1))
  115. cd /home/wareck/miners
  116. sudo rm -r -f xmr-stak-rx
  117. sudo rm -r -f xmrig-upx
  118. echo "Done."
  119. }
  120. function webmin_ {
  121. cd /home/wareck
  122. wget -c https://github.com/webmin/webmin/releases/download/2.102/webmin-2.102.tar.gz
  123. tar xvfz webmin-2.102.tar.gz
  124. cd webmin-2.102
  125. sudo ./setup.sh
  126. }
  127. function wol_ {
  128. iface=$(ip link | awk -F: '$0 !~ "lo|vir|^[^0-9]"{print $2a;getline}')
  129. ether=$(which ethtool)
  130. echo "[Unit]" >>/tmp/wol.service
  131. echo "Description=Enable Wake On Lan" >>/tmp/wol.service
  132. echo "" >>/tmp/wol.service
  133. echo "[Service]" >>/tmp/wol.service
  134. echo "Type=oneshot" >>/tmp/wol.service
  135. echo "ExecStart = $ether --change eno1 wol g" >>/tmp/wol.service
  136. echo "ExecStart = $ether --change eno2 wol g" >>/tmp/wol.service
  137. echo "ExecStart = $ether --change eno3 wol g" >>/tmp/wol.service
  138. echo "ExecStart = $ether --change eno4 wol g" >>/tmp/wol.service
  139. echo "" >>/tmp/wol.service
  140. echo "[Install]" >>/tmp/wol.service
  141. echo "WantedBy=basic.target" >>/tmp/wol.service
  142. sudo cp /tmp/wol.service /etc/systemd/system/wol.service
  143. sudo systemctl daemon-reload
  144. sudo systemctl enable wol.service
  145. sudo systemctl start wol.service
  146. }
  147. intro_
  148. update_
  149. wol_
  150. tigervnc_
  151. chia_
  152. miner_
  153. webmin_