Files
condor 679e0b4184 init
2026-07-24 18:54:53 +08:00

103 lines
3.2 KiB
Bash

#!/bin/bash
# Author: yeho <lj2007331 AT gmail.com>
# BLOG: https://linuxeye.com
#
# Notes: ServerStack for Debian 9-13 and Ubuntu 16-26 (Ubuntu/Debian only)
#
# Project home page:
# https://oneinstack.com
# https://github.com/oneinstack/oneinstack
# Only Debian/Ubuntu (apt-get based) systems are supported.
if [ -e "/usr/bin/apt-get" ]; then
PM=apt-get
if ! command -v lsb_release >/dev/null 2>&1; then
echo "${CMSG}Updating apt package lists to install lsb-release...${CEND}"
apt-get -y update 2>&1 | tee -a ${oneinstack_dir}/runtime/install.log
apt-get -y install lsb-release
clear
fi
else
echo "${CFAILURE}Does not support this OS, Please install Debian 9+ or Ubuntu 16+ ${CEND}"
kill -9 $$; exit 1;
fi
# Get OS Version
Platform=$(lsb_release -is 2>/dev/null)
ARCH=$(arch)
if [[ "${Platform}" =~ ^Debian$|^Deepin$|^Uos$|^Kali$ ]]; then
Family=debian
Debian_ver=$(lsb_release -rs 2>/dev/null | awk -F. '{print $1}' | awk '{print $1}')
[[ "${Platform}" =~ ^Deepin$|^Uos$ ]] && [[ "${Debian_ver}" =~ ^20$ ]] && Debian_ver=10
[[ "${Platform}" =~ ^Kali$ ]] && [[ "${Debian_ver}" =~ ^202 ]] && Debian_ver=10
elif [[ "${Platform}" =~ ^Ubuntu$|^LinuxMint$|^elementary$ ]]; then
Family=ubuntu
Ubuntu_ver=$(lsb_release -rs 2>/dev/null | awk -F. '{print $1}' | awk '{print $1}')
if [[ "${Platform}" =~ ^LinuxMint$ ]]; then
[[ "${Ubuntu_ver}" =~ ^18$ ]] && Ubuntu_ver=16
[[ "${Ubuntu_ver}" =~ ^19$ ]] && Ubuntu_ver=18
[[ "${Ubuntu_ver}" =~ ^20$ ]] && Ubuntu_ver=20
fi
if [[ "${Platform}" =~ ^elementary$ ]]; then
[[ "${Ubuntu_ver}" =~ ^5$ ]] && Ubuntu_ver=18
[[ "${Ubuntu_ver}" =~ ^6$ ]] && Ubuntu_ver=20
fi
else
echo "${CFAILURE}Does not support this OS: ${Platform:-unknown}. Only Debian 9+ and Ubuntu 16+ are supported. ${CEND}"
kill -9 $$; exit 1;
fi
# Check OS Version
if [ ${Debian_ver} -lt 9 >/dev/null 2>&1 ] || [ ${Ubuntu_ver} -lt 16 >/dev/null 2>&1 ]; then
echo "${CFAILURE}Does not support this OS, Please install Debian 9+ or Ubuntu 16+ ${CEND}"
kill -9 $$; exit 1;
fi
command -v gcc > /dev/null 2>&1 || $PM -y install gcc
gcc_ver=$(gcc -dumpversion | awk -F. '{print $1}')
[ ${gcc_ver} -lt 5 >/dev/null 2>&1 ] && redis_ver=${redis_oldver}
if uname -m | grep -Eqi "arm|aarch64"; then
armplatform="y"
if uname -m | grep -Eqi "armv7"; then
TARGET_ARCH="armv7"
elif uname -m | grep -Eqi "armv8"; then
TARGET_ARCH="arm64"
elif uname -m | grep -Eqi "aarch64"; then
TARGET_ARCH="aarch64"
else
TARGET_ARCH="unknown"
fi
fi
if [ "$(uname -r | awk -F- '{print $3}' 2>/dev/null)" == "Microsoft" ]; then
Wsl=true
fi
if [ "$(getconf WORD_BIT)" == "32" ] && [ "$(getconf LONG_BIT)" == "64" ]; then
if [ "${TARGET_ARCH}" == 'aarch64' ]; then
SYS_ARCH=arm64
SYS_ARCH_i=aarch64
SYS_ARCH_n=arm64
else
SYS_ARCH=amd64
SYS_ARCH_i=x86-64 #ioncube
SYS_ARCH_n=x64 #nodejs
fi
else
echo "${CWARNING}32-bit OS are not supported! ${CEND}"
kill -9 $$; exit 1;
fi
THREAD=$(grep 'processor' /proc/cpuinfo | sort -u | wc -l)
# sslLibVer selection for binary tarballs
if [ ${Debian_ver} -lt 9 >/dev/null 2>&1 ]; then
sslLibVer=ssl100
elif [ ${Debian_ver} -ge 9 >/dev/null 2>&1 ] || [ ${Ubuntu_ver} -ge 16 >/dev/null 2>&1 ]; then
sslLibVer=ssl102
else
sslLibVer=unknown
fi