From 49e32beb8a2ae2b569cad24b79b7899e3c18f92b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=80=97=E5=AD=90?= Date: Sun, 23 Jul 2023 04:02:24 +0800 Subject: [PATCH] fix: rhel9 build --- scripts/install_panel.sh | 8 ++++---- scripts/mysql/install.sh | 31 ++++++++++++++++++++----------- scripts/openresty/install.sh | 20 +++++++++----------- 3 files changed, 33 insertions(+), 26 deletions(-) diff --git a/scripts/install_panel.sh b/scripts/install_panel.sh index ae008cba..14c73d5b 100644 --- a/scripts/install_panel.sh +++ b/scripts/install_panel.sh @@ -103,7 +103,7 @@ Prepare_system() { -i.bak \ /etc/yum.repos.d/[Aa]lmalinux*.repo - dnf makecache + dnf makecache -y fi dnf install dnf-plugins-core -y dnf install epel-release -y @@ -111,7 +111,7 @@ Prepare_system() { if [[ ${ipLocation} =~ "中国" ]]; then sed -i 's|^#baseurl=https://download.example/pub|baseurl=https://mirrors.aliyun.com|' /etc/yum.repos.d/epel* sed -i 's|^metalink|#metalink|' /etc/yum.repos.d/epel* - dnf makecache + dnf makecache -y fi dnf config-manager --set-enabled PowerTools dnf config-manager --set-enabled powertools @@ -119,14 +119,14 @@ Prepare_system() { dnf config-manager --set-enabled Crb dnf config-manager --set-enabled crb /usr/bin/crb enable - dnf makecache + dnf makecache -y dnf install -y curl wget zip unzip tar git jq git-core dos2unix elif [ "${OS}" == "debian" ]; then if [[ ${ipLocation} =~ "中国" ]]; then sed -i 's/deb.debian.org/mirrors.aliyun.com/g' /etc/apt/sources.list sed -i 's/security.debian.org/mirrors.aliyun.com/g' /etc/apt/sources.list fi - apt update + apt update -y apt install -y curl wget zip unzip tar git jq git dos2unix else echo -e $HR diff --git a/scripts/mysql/install.sh b/scripts/mysql/install.sh index fa8a8f76..77a8cf9e 100644 --- a/scripts/mysql/install.sh +++ b/scripts/mysql/install.sh @@ -46,18 +46,9 @@ fi # 安装依赖 if [ "${OS}" == "centos" ]; then - dnf install dnf-plugins-core -y - dnf install epel-release -y - dnf config-manager --set-enabled epel - dnf config-manager --set-enabled PowerTools - dnf config-manager --set-enabled powertools - dnf config-manager --set-enabled CRB - dnf config-manager --set-enabled Crb - dnf config-manager --set-enabled crb - /usr/bin/crb enable - dnf makecache + dnf makecache -y dnf groupinstall "Development Tools" -y - dnf install cmake bison ncurses-devel libtirpc-devel openssl-devel pkg-config openldap-devel libudev-devel cyrus-sasl-devel patchelf -y + dnf install cmake bison ncurses-devel libtirpc-devel openssl-devel pkg-config openldap-devel libudev-devel cyrus-sasl-devel patchelf rpcgen rpcsvc-proto-devel -y elif [ "${OS}" == "debian" ]; then apt update apt install build-essential cmake bison libncurses5-dev libtirpc-dev libssl-dev pkg-config libldap2-dev libudev-dev libsasl2-dev patchelf -y @@ -103,15 +94,33 @@ cd src mkdir build cd build cmake .. -DCMAKE_INSTALL_PREFIX=${mysqlPath} -DMYSQL_DATADIR=${mysqlPath}/data -DSYSCONFDIR=${mysqlPath}/conf -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_FEDERATED_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_EXTRA_CHARSETS=all -DEXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8mb4 -DDEFAULT_COLLATION=utf8mb4_general_ci -DENABLED_LOCAL_INFILE=1 -DWITH_SYSTEMD=1 -DSYSTEMD_PID_DIR=${mysqlPath} -DWITH_SSL=/usr/local/openssl-1.1 -DWITH_BOOST=../boost +if [ "$?" != "0" ]; then + echo -e $HR + echo "错误:MySQL 编译初始化失败,请截图错误信息寻求帮助。" + rm -rf ${mysqlPath} + exit 1 +fi if [[ "${cpuCore}" -gt "1" ]]; then make -j2 else make fi +if [ "$?" != "0" ]; then + echo -e $HR + echo "错误:MySQL 编译失败,请截图错误信息寻求帮助。" + rm -rf ${mysqlPath} + exit 1 +fi # 安装 make install +if [ "$?" != "0" ]; then + echo -e $HR + echo "错误:MySQL 安装失败,请截图错误信息寻求帮助。" + rm -rf ${mysqlPath} + exit 1 +fi # 配置 mkdir ${mysqlPath}/conf diff --git a/scripts/openresty/install.sh b/scripts/openresty/install.sh index 4e9095fc..770d4ded 100644 --- a/scripts/openresty/install.sh +++ b/scripts/openresty/install.sh @@ -25,21 +25,19 @@ setupPath="/www" openrestyPath="${setupPath}/server/openresty" openrestyVersion="1.21.4.1" cpuCore=$(cat /proc/cpuinfo | grep "processor" | wc -l) +ipLocation=$(curl -s https://ip.ping0.cc/geo) # 安装依赖 if [ "${OS}" == "centos" ]; then - dnf install dnf-plugins-core -y - dnf install epel-release -y - dnf config-manager --set-enabled epel - dnf config-manager --set-enabled PowerTools - dnf config-manager --set-enabled powertools - dnf config-manager --set-enabled CRB - dnf config-manager --set-enabled Crb - dnf config-manager --set-enabled crb - /usr/bin/crb enable - dnf makecache + # EPEL 9 仓库中目前没有 GeoIP-devel 包,暂时使用 Remi 仓库 + dnf install https://rpms.remirepo.net/enterprise/remi-release-9.rpm + if [[ ${ipLocation} =~ "中国" ]]; then + sed -e 's!^#mirrorlist=!mirrorlist=!g' -e 's!^mirrorlist=!#mirrorlist=!g' -e 's!^#baseurl=!baseurl=!g' -e 's!http://rpms.remirepo.net/enterprise!https://mirrors.tuna.tsinghua.edu.cn/remi/enterprise!g' -i /etc/yum.repos.d/remi* + fi + + dnf makecache -y dnf groupinstall "Development Tools" -y - dnf install tar unzip gd gd-devel git-core flex perl oniguruma oniguruma-devel libsodium-devel libxml2-devel libxslt-devel GeoIP-devel bison yajl yajl-devel curl curl-devel libtermcap-devel ncurses-devel libevent-devel readline-devel libuuid-devel brotli-devel icu libicu libicu-devel openssl openssl-devel -y + dnf install tar unzip gd gd-devel git-core flex perl oniguruma oniguruma-devel libsodium-devel libxml2-devel libxslt-devel GeoIP-devel bison yajl yajl-devel curl curl-devel ncurses-devel libevent-devel readline-devel libuuid-devel brotli-devel icu libicu libicu-devel openssl openssl-devel -y elif [ "${OS}" == "debian" ]; then apt update apt install build-essential tar unzip libgd3 libgd-dev git flex perl libonig-dev libsodium-dev libxml2-dev libxslt1-dev libgeoip-dev bison libyajl-dev curl libcurl4-openssl-dev libncurses5-dev libevent-dev libreadline-dev uuid-dev libbrotli-dev icu-devtools libicu-dev openssl libssl-dev -y