From 1413a25c274d1524eb78e80b075102205375fe25 Mon Sep 17 00:00:00 2001 From: crowetic <5431064+crowetic@users.noreply.github.com> Date: Fri, 18 Oct 2024 18:53:30 -0700 Subject: [PATCH] further improvements, function and other changes, checks for distro and arch, and more. meant to be utilized with new gateway setup script and other disstro setup in the future. Now mainly ubuntu and debian focused. --- generic-linux-setup.sh | 52 +++++++++++++++++++++++++++++------------- 1 file changed, 36 insertions(+), 16 deletions(-) diff --git a/generic-linux-setup.sh b/generic-linux-setup.sh index 0da8467..f7765b5 100644 --- a/generic-linux-setup.sh +++ b/generic-linux-setup.sh @@ -20,6 +20,14 @@ check_distro() { fi } +check_display() { + if command -v xrandr > /dev/null; then + DISPLAY_AVAILABLE=true + else + DISPLAY_AVAILABLE=false + fi +} + update_and_install_packages() { echo "${YELLOW} UPDATING DEBIAN-BASED SYSTEM AND INSTALLING REQUIRED SOFTWARE PACKAGES ${NC}\n" @@ -29,8 +37,12 @@ update_and_install_packages() { PACKAGES="gnome-software unzip vim curl openjdk-17-jre zlib1g-dev vlc chromium-browser p7zip-full libfuse2 htop net-tools bpytop ffmpeg sysbench smartmontools ksnip xsensors fonts-symbola lm-sensors" + if [ "$DISPLAY_AVAILABLE" = true ]; then + PACKAGES="$PACKAGES cinnamon-desktop-environment" + fi + for PACKAGE in $PACKAGES; do - if ! dpkg -l | grep -qw $PACKAGE; then + if ! sudo dpkg -l | grep -qw $PACKAGE; then echo "${YELLOW} Installing $PACKAGE... ${NC}" sudo apt -y install $PACKAGE else @@ -41,7 +53,7 @@ update_and_install_packages() { check_qortal_version() { LATEST_VERSION=$(curl -s https://api.github.com/repos/Qortal/qortal/releases/latest | grep -oP '"tag_name": "\K(.*)(?=")') - INSTALLED_VERSION=$(curl -s localhost:12391/admin/info | grep -oP '"buildVersion": "qortal-\K([^"]+)' || echo "") + INSTALLED_VERSION=$(curl -s localhost:12391/admin/info | grep -oP '"buildVersion": "qortal-\K[^"]+' || echo "") if [ "$LATEST_VERSION" = "$INSTALLED_VERSION" ]; then echo "${GREEN} Qortal Core is up-to-date (version: $INSTALLED_VERSION). Skipping reinstallation. ${NC}\n" @@ -53,36 +65,43 @@ check_qortal_version() { } download_qortal_core() { - if check_qortal_version; then + if ! check_qortal_version; then cd if [ -d qortal ]; then echo "${PURPLE} qortal DIRECTORY FOUND, BACKING UP ORIGINAL TO '~/backups' AND RE-INSTALLING ${NC}\n" mkdir -p backups - mv qortal backups/ + mv -f qortal backups/ fi curl -L -O https://github.com/Qortal/qortal/releases/latest/download/qortal.zip unzip qortal*.zip - rm qortal*.zip + rm -rf qortal*.zip cd qortal - rm settings.json + rm -rf settings.json curl -L -O https://raw.githubusercontent.com/crowetic/QORTector-scripts/main/settings.json chmod +x *.sh curl -L -O https://raw.githubusercontent.com/Qortal/qortal/master/tools/qort chmod +x qort echo "$LATEST_VERSION" > version.txt + cd fi } download_qortal_ui() { - cd - if [ -f qortal/Qortal-UI ]; then + ARCHITECTURE=$(uname -m) + if [ -f ~/qortal/Qortal-UI ]; then echo "${PURPLE} PREVIOUS Qortal-UI FOUND, BACKING UP ORIGINAL TO '~/backups/' AND RE-INSTALLING ${NC}\n" - mv qortal/Qortal-UI ~/backups/ + mv ~/qortal/Qortal-UI ~/backups/ fi cd qortal - curl -L -O https://github.com/Qortal/qortal-ui/releases/latest/download/Qortal-Setup-amd64.AppImage - mv Qortal-Setup*.AppImage Qortal-UI + if [ "$ARCHITECTURE" = "aarch64" ] || [ "$ARCHITECTURE" = "arm64" ]; then + curl -L -O https://github.com/Qortal/qortal-ui/releases/latest/download/Qortal-Setup-arm64.AppImage + mv Qortal-Setup-arm64.AppImage Qortal-UI + else + curl -L -O https://github.com/Qortal/qortal-ui/releases/latest/download/Qortal-Setup-amd64.AppImage + mv Qortal-Setup-amd64.AppImage Qortal-UI + fi chmod +x Qortal-UI + cd } download_other_files() { @@ -96,21 +115,21 @@ download_other_files() { chmod +x *.sh curl -L -O https://cloud.qortal.org/s/6d8qoEkQRDSCTqn/download/rebuilt-machine-setup.txt - mv rebuilt-machine-setup.txt ~/Desktop + mv -f rebuilt-machine-setup.txt ~/Desktop if [ -d ~/Pictures/wallpapers ]; then echo "${PURPLE} PREVIOUS wallpapers folder FOUND, BACKING UP ORIGINAL TO '~/backups/' AND RE-INSTALLING ${NC}\n" mkdir -p ~/backups - mv ~/Pictures/wallpapers ~/backups + mv -f ~/Pictures/wallpapers ~/backups fi if [ -d ~/Pictures/icons ]; then echo "${PURPLE} PREVIOUS icons folder FOUND, BACKING UP ORIGINAL TO '~/backups/' AND RE-INSTALLING ${NC}\n" mkdir -p ~/backups - mv ~/Pictures/icons ~/backups + mv -f ~/Pictures/icons ~/backups fi unzip Machine-files.zip - mv Machine-files/Pictures ~/ + mv -f ~/Machine-files/Pictures ~/ } setup_cron_jobs() { @@ -124,11 +143,12 @@ setup_cron_jobs() { } finish_up() { - echo "${YELLOW} SCRIPT EXECUTION FOR INSTALL SCRIPT COMPLETE. RESTARTING MACHINE IS RECOMMENDED. IF YOU ARE RUNNING THE GATEWAY NODE SETUP SCRIPT IT SHOULD CONTINUE NOW ON ITS OWN. ${NC}\n" + echo "${YELLOW} SCRIPT EXECUTION FOR INSTALL SCRIPT COMPLETE.${NC} ${RED}RESTARTING MACHINE IS RECOMMENDED.${NC}${GREEN} IF YOU ARE RUNNING THE GATEWAY NODE SETUP SCRIPT IT SHOULD CONTINUE NOW ON ITS OWN. ${NC}\n" } # Main script execution check_distro +check_display update_and_install_packages download_qortal_core download_qortal_ui