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.
This commit is contained in:
parent
1ecc541182
commit
1413a25c27
@ -20,6 +20,14 @@ check_distro() {
|
|||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
check_display() {
|
||||||
|
if command -v xrandr > /dev/null; then
|
||||||
|
DISPLAY_AVAILABLE=true
|
||||||
|
else
|
||||||
|
DISPLAY_AVAILABLE=false
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
update_and_install_packages() {
|
update_and_install_packages() {
|
||||||
echo "${YELLOW} UPDATING DEBIAN-BASED SYSTEM AND INSTALLING REQUIRED SOFTWARE PACKAGES ${NC}\n"
|
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"
|
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
|
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}"
|
echo "${YELLOW} Installing $PACKAGE... ${NC}"
|
||||||
sudo apt -y install $PACKAGE
|
sudo apt -y install $PACKAGE
|
||||||
else
|
else
|
||||||
@ -41,7 +53,7 @@ update_and_install_packages() {
|
|||||||
|
|
||||||
check_qortal_version() {
|
check_qortal_version() {
|
||||||
LATEST_VERSION=$(curl -s https://api.github.com/repos/Qortal/qortal/releases/latest | grep -oP '"tag_name": "\K(.*)(?=")')
|
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
|
if [ "$LATEST_VERSION" = "$INSTALLED_VERSION" ]; then
|
||||||
echo "${GREEN} Qortal Core is up-to-date (version: $INSTALLED_VERSION). Skipping reinstallation. ${NC}\n"
|
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() {
|
download_qortal_core() {
|
||||||
if check_qortal_version; then
|
if ! check_qortal_version; then
|
||||||
cd
|
cd
|
||||||
if [ -d qortal ]; then
|
if [ -d qortal ]; then
|
||||||
echo "${PURPLE} qortal DIRECTORY FOUND, BACKING UP ORIGINAL TO '~/backups' AND RE-INSTALLING ${NC}\n"
|
echo "${PURPLE} qortal DIRECTORY FOUND, BACKING UP ORIGINAL TO '~/backups' AND RE-INSTALLING ${NC}\n"
|
||||||
mkdir -p backups
|
mkdir -p backups
|
||||||
mv qortal backups/
|
mv -f qortal backups/
|
||||||
fi
|
fi
|
||||||
curl -L -O https://github.com/Qortal/qortal/releases/latest/download/qortal.zip
|
curl -L -O https://github.com/Qortal/qortal/releases/latest/download/qortal.zip
|
||||||
unzip qortal*.zip
|
unzip qortal*.zip
|
||||||
rm qortal*.zip
|
rm -rf qortal*.zip
|
||||||
cd qortal
|
cd qortal
|
||||||
rm settings.json
|
rm -rf settings.json
|
||||||
curl -L -O https://raw.githubusercontent.com/crowetic/QORTector-scripts/main/settings.json
|
curl -L -O https://raw.githubusercontent.com/crowetic/QORTector-scripts/main/settings.json
|
||||||
chmod +x *.sh
|
chmod +x *.sh
|
||||||
curl -L -O https://raw.githubusercontent.com/Qortal/qortal/master/tools/qort
|
curl -L -O https://raw.githubusercontent.com/Qortal/qortal/master/tools/qort
|
||||||
chmod +x qort
|
chmod +x qort
|
||||||
echo "$LATEST_VERSION" > version.txt
|
echo "$LATEST_VERSION" > version.txt
|
||||||
|
cd
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
download_qortal_ui() {
|
download_qortal_ui() {
|
||||||
cd
|
ARCHITECTURE=$(uname -m)
|
||||||
if [ -f qortal/Qortal-UI ]; then
|
if [ -f ~/qortal/Qortal-UI ]; then
|
||||||
echo "${PURPLE} PREVIOUS Qortal-UI FOUND, BACKING UP ORIGINAL TO '~/backups/' AND RE-INSTALLING ${NC}\n"
|
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
|
fi
|
||||||
cd qortal
|
cd qortal
|
||||||
curl -L -O https://github.com/Qortal/qortal-ui/releases/latest/download/Qortal-Setup-amd64.AppImage
|
if [ "$ARCHITECTURE" = "aarch64" ] || [ "$ARCHITECTURE" = "arm64" ]; then
|
||||||
mv Qortal-Setup*.AppImage Qortal-UI
|
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
|
chmod +x Qortal-UI
|
||||||
|
cd
|
||||||
}
|
}
|
||||||
|
|
||||||
download_other_files() {
|
download_other_files() {
|
||||||
@ -96,21 +115,21 @@ download_other_files() {
|
|||||||
chmod +x *.sh
|
chmod +x *.sh
|
||||||
|
|
||||||
curl -L -O https://cloud.qortal.org/s/6d8qoEkQRDSCTqn/download/rebuilt-machine-setup.txt
|
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
|
if [ -d ~/Pictures/wallpapers ]; then
|
||||||
echo "${PURPLE} PREVIOUS wallpapers folder FOUND, BACKING UP ORIGINAL TO '~/backups/' AND RE-INSTALLING ${NC}\n"
|
echo "${PURPLE} PREVIOUS wallpapers folder FOUND, BACKING UP ORIGINAL TO '~/backups/' AND RE-INSTALLING ${NC}\n"
|
||||||
mkdir -p ~/backups
|
mkdir -p ~/backups
|
||||||
mv ~/Pictures/wallpapers ~/backups
|
mv -f ~/Pictures/wallpapers ~/backups
|
||||||
fi
|
fi
|
||||||
if [ -d ~/Pictures/icons ]; then
|
if [ -d ~/Pictures/icons ]; then
|
||||||
echo "${PURPLE} PREVIOUS icons folder FOUND, BACKING UP ORIGINAL TO '~/backups/' AND RE-INSTALLING ${NC}\n"
|
echo "${PURPLE} PREVIOUS icons folder FOUND, BACKING UP ORIGINAL TO '~/backups/' AND RE-INSTALLING ${NC}\n"
|
||||||
mkdir -p ~/backups
|
mkdir -p ~/backups
|
||||||
mv ~/Pictures/icons ~/backups
|
mv -f ~/Pictures/icons ~/backups
|
||||||
fi
|
fi
|
||||||
|
|
||||||
unzip Machine-files.zip
|
unzip Machine-files.zip
|
||||||
mv Machine-files/Pictures ~/
|
mv -f ~/Machine-files/Pictures ~/
|
||||||
}
|
}
|
||||||
|
|
||||||
setup_cron_jobs() {
|
setup_cron_jobs() {
|
||||||
@ -124,11 +143,12 @@ setup_cron_jobs() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
finish_up() {
|
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
|
# Main script execution
|
||||||
check_distro
|
check_distro
|
||||||
|
check_display
|
||||||
update_and_install_packages
|
update_and_install_packages
|
||||||
download_qortal_core
|
download_qortal_core
|
||||||
download_qortal_ui
|
download_qortal_ui
|
||||||
|
Loading…
x
Reference in New Issue
Block a user