Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

更新 quickstart 脚本 #766

Merged
merged 3 commits into from
Sep 10, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion sapi/quickstart/linux/connection-swoole-cli-alpine.sh
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#!/bin/bash
#!/usr/bin/env bash

set -exu
__DIR__=$(
Expand Down
12 changes: 12 additions & 0 deletions sapi/quickstart/linux/connection-swoole-cli-builder.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
#!/usr/bin/env bash

set -exu
__DIR__=$(
cd "$(dirname "$0")"
pwd
)

cd ${__DIR__}

docker exec -it swoole-cli-builder sh

2 changes: 1 addition & 1 deletion sapi/quickstart/linux/connection-swoole-cli-debian.sh
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#!/bin/bash
#!/usr/bin/env bash

set -exu
__DIR__=$(
Expand Down
103 changes: 53 additions & 50 deletions sapi/quickstart/linux/debian-init-minimal.sh
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#!/bin/bash
#!/usr/bin/env bash

set -exu
__DIR__=$(
Expand All @@ -14,7 +14,7 @@ while [ $# -gt 0 ]; do
case "$1" in
--mirror)
case "$2" in
china | ustc | tuna | aliyuncs | tencentyun | huaweicloud )
china | ustc | tuna | aliyuncs | tencentyun | huaweicloud)
MIRROR="$2"
;;
esac
Expand All @@ -26,63 +26,66 @@ while [ $# -gt 0 ]; do
shift $(($# > 0 ? 1 : 0))
done



if test -n "$MIRROR" ; then
{
OS_ID=$(cat /etc/os-release | grep '^ID=' | awk -F '=' '{print $2}')
VERSION_ID=$(cat /etc/os-release | grep '^VERSION_ID=' | awk -F '=' '{print $2}' | sed "s/\"//g")
case $OS_ID in
debian)
case $VERSION_ID in
11 | 12 )
# debian 容器内和容器外 镜像源配置不一样
if [ -f /.dockerenv ] && [ "$VERSION_ID" = 12 ]; then
test -f /etc/apt/sources.list.d/debian.sources.save || cp -f /etc/apt/sources.list.d/debian.sources /etc/apt/sources.list.d/debian.sources.save
sed -i 's/deb.debian.org/mirrors.ustc.edu.cn/g' /etc/apt/sources.list.d/debian.sources
sed -i 's/security.debian.org/mirrors.ustc.edu.cn/g' /etc/apt/sources.list.d/debian.sources
test "$MIRROR" = "tuna" && sed -i "s@mirrors.ustc.edu.cn@mirrors.tuna.tsinghua.edu.cn@g" /etc/apt/sources.list.d/debian.sources
# 云服务内网镜像源
test "$MIRROR" = "aliyuncs" && sed -i "s@mirrors.ustc.edu.cn@mirrors.cloud.aliyuncs.com@g" /etc/apt/sources.list.d/debian.sources
test "$MIRROR" = "tencentyun" && sed -i "s@mirrors.ustc.edu.cn@mirrors.tencentyun.com@g" /etc/apt/sources.list.d/debian.sources
test "$MIRROR" = "huaweicloud" && sed -i "s@mirrors.ustc.edu.cn@repo.huaweicloud.com@g" /etc/apt/sources.list.d/debian.sources
else
if test -n "$MIRROR"; then
{
OS_ID=$(cat /etc/os-release | grep '^ID=' | awk -F '=' '{print $2}')
VERSION_ID=$(cat /etc/os-release | grep '^VERSION_ID=' | awk -F '=' '{print $2}' | sed "s/\"//g")
case $OS_ID in
debian)
case $VERSION_ID in
11 | 12)
# debian 容器内和容器外 镜像源配置不一样
if [ -f /.dockerenv ] && [ "$VERSION_ID" = 12 ]; then
test -f /etc/apt/sources.list.d/debian.sources.save || cp -f /etc/apt/sources.list.d/debian.sources /etc/apt/sources.list.d/debian.sources.save
sed -i 's/deb.debian.org/mirrors.ustc.edu.cn/g' /etc/apt/sources.list.d/debian.sources
sed -i 's/security.debian.org/mirrors.ustc.edu.cn/g' /etc/apt/sources.list.d/debian.sources
test "$MIRROR" = "tuna" && sed -i "s@mirrors.ustc.edu.cn@mirrors.tuna.tsinghua.edu.cn@g" /etc/apt/sources.list.d/debian.sources
# 云服务内网镜像源
test "$MIRROR" = "aliyuncs" && sed -i "s@mirrors.ustc.edu.cn@mirrors.cloud.aliyuncs.com@g" /etc/apt/sources.list.d/debian.sources
test "$MIRROR" = "tencentyun" && sed -i "s@mirrors.ustc.edu.cn@mirrors.tencentyun.com@g" /etc/apt/sources.list.d/debian.sources
test "$MIRROR" = "huaweicloud" && sed -i "s@mirrors.ustc.edu.cn@repo.huaweicloud.com@g" /etc/apt/sources.list.d/debian.sources
else
test -f /etc/apt/sources.list.save || cp /etc/apt/sources.list /etc/apt/sources.list.save
sed -i "s@deb.debian.org@mirrors.ustc.edu.cn@g" /etc/apt/sources.list
sed -i "s@security.debian.org@mirrors.ustc.edu.cn@g" /etc/apt/sources.list
test "$MIRROR" = "tuna" && sed -i "s@mirrors.ustc.edu.cn@mirrors.tuna.tsinghua.edu.cn@g" /etc/apt/sources.list
test "$MIRROR" = "aliyuncs" && sed -i "s@mirrors.ustc.edu.cn@mirrors.cloud.aliyuncs.com@g" /etc/apt/sources.list
test "$MIRROR" = "tencentyun" && sed -i "s@mirrors.ustc.edu.cn@mirrors.tencentyun.com@g" /etc/apt/sources.list
test "$MIRROR" = "huaweicloud" && sed -i "s@mirrors.ustc.edu.cn@repo.huaweicloud.com@g" /etc/apt/sources.list
fi
;;
*)
echo 'no match debian OS version' . $VERSION_ID
;;
esac
;;
ubuntu)
case $VERSION_ID in
20.04 | 22.04 | 22.10 | 23.04 | 23.10)
test -f /etc/apt/sources.list.save || cp /etc/apt/sources.list /etc/apt/sources.list.save
sed -i "s@deb.debian.org@mirrors.ustc.edu.cn@g" /etc/apt/sources.list
sed -i "s@security.debian.org@mirrors.ustc.edu.cn@g" /etc/apt/sources.list
sed -i "s@security.ubuntu.com@mirrors.ustc.edu.cn@g" /etc/apt/sources.list
sed -i "s@archive.ubuntu.com@mirrors.ustc.edu.cn@g" /etc/apt/sources.list
test "$MIRROR" = "tuna" && sed -i "s@mirrors.ustc.edu.cn@mirrors.tuna.tsinghua.edu.cn@g" /etc/apt/sources.list
test "$MIRROR" = "aliyuncs" && sed -i "s@mirrors.ustc.edu.cn@mirrors.cloud.aliyuncs.com@g" /etc/apt/sources.list
test "$MIRROR" = "tencentyun" && sed -i "s@mirrors.ustc.edu.cn@mirrors.tencentyun.com@g" /etc/apt/sources.list
test "$MIRROR" = "huaweicloud" && sed -i "s@mirrors.ustc.edu.cn@repo.huaweicloud.com@g" /etc/apt/sources.list
fi
;;
24.04)
test -f /etc/apt/sources.list.d/ubuntu.sources.save || cp /etc/apt/sources.list.d/ubuntu.sources /etc/apt/sources.list.d/ubuntu.sources.save
sed -i "s@security.ubuntu.com@mirrors.ustc.edu.cn@g" /etc/apt/sources.list.d/ubuntu.sources
sed -i "s@archive.ubuntu.com@mirrors.ustc.edu.cn@g" /etc/apt/sources.list.d/ubuntu.sources
;;
*)
echo 'no match ubuntu OS version' . $VERSION_ID
;;
esac
;;
*)
echo 'no match debian OS version' . $VERSION_ID
echo 'NO SUPPORT LINUX OS'
exit 0
;;
esac
;;
ubuntu)
case $VERSION_ID in
20.04 | 22.04 | 22.10 | 23.04 | 23.10)
test -f /etc/apt/sources.list.save || cp /etc/apt/sources.list /etc/apt/sources.list.save
sed -i "s@security.ubuntu.com@mirrors.ustc.edu.cn@g" /etc/apt/sources.list
sed -i "s@archive.ubuntu.com@mirrors.ustc.edu.cn@g" /etc/apt/sources.list
test "$MIRROR" = "tuna" && sed -i "s@mirrors.ustc.edu.cn@mirrors.tuna.tsinghua.edu.cn@g" /etc/apt/sources.list
test "$MIRROR" = "aliyuncs" && sed -i "s@mirrors.ustc.edu.cn@mirrors.cloud.aliyuncs.com@g" /etc/apt/sources.list
test "$MIRROR" = "tencentyun" && sed -i "s@mirrors.ustc.edu.cn@mirrors.tencentyun.com@g" /etc/apt/sources.list
test "$MIRROR" = "huaweicloud" && sed -i "s@mirrors.ustc.edu.cn@repo.huaweicloud.com@g" /etc/apt/sources.list
;;
*)
echo 'no match ubuntu OS version' . $VERSION_ID
;;
esac
;;
*)
echo 'NO SUPPORT LINUX OS'
exit 0
;;
esac
}
}
fi

test -f /etc/apt/apt.conf.d/proxy.conf && rm -rf /etc/apt/apt.conf.d/proxy.conf
Expand Down
122 changes: 63 additions & 59 deletions sapi/quickstart/linux/debian-init.sh
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#!/bin/bash
#!/usr/bin/env bash

set -exu
__DIR__=$(
Expand All @@ -14,7 +14,7 @@ while [ $# -gt 0 ]; do
case "$1" in
--mirror)
case "$2" in
china | ustc | tuna | aliyuncs | tencentyun | huaweicloud )
china | ustc | tuna | aliyuncs | tencentyun | huaweicloud)
MIRROR="$2"
;;
esac
Expand All @@ -26,87 +26,91 @@ while [ $# -gt 0 ]; do
shift $(($# > 0 ? 1 : 0))
done



if test -n "$MIRROR" ; then
{
OS_ID=$(cat /etc/os-release | grep '^ID=' | awk -F '=' '{print $2}')
VERSION_ID=$(cat /etc/os-release | grep '^VERSION_ID=' | awk -F '=' '{print $2}' | sed "s/\"//g")
case $OS_ID in
debian)
case $VERSION_ID in
11 | 12 )
# 容器内和容器外 镜像源配置不一样
if [ -f /.dockerenv ] && [ "$VERSION_ID" = 12 ]; then
test -f /etc/apt/sources.list.d/debian.sources.save || cp -f /etc/apt/sources.list.d/debian.sources /etc/apt/sources.list.d/debian.sources.save
sed -i 's/deb.debian.org/mirrors.ustc.edu.cn/g' /etc/apt/sources.list.d/debian.sources
sed -i 's/security.debian.org/mirrors.ustc.edu.cn/g' /etc/apt/sources.list.d/debian.sources
test "$MIRROR" = "tuna" && sed -i "s@mirrors.ustc.edu.cn@mirrors.tuna.tsinghua.edu.cn@g" /etc/apt/sources.list.d/debian.sources
# 云服务内网镜像源
test "$MIRROR" = "aliyuncs" && sed -i "s@mirrors.ustc.edu.cn@mirrors.cloud.aliyuncs.com@g" /etc/apt/sources.list.d/debian.sources
test "$MIRROR" = "tencentyun" && sed -i "s@mirrors.ustc.edu.cn@mirrors.tencentyun.com@g" /etc/apt/sources.list.d/debian.sources
test "$MIRROR" = "huaweicloud" && sed -i "s@mirrors.ustc.edu.cn@repo.huaweicloud.com@g" /etc/apt/sources.list.d/debian.sources
else
if test -n "$MIRROR"; then
{
OS_ID=$(cat /etc/os-release | grep '^ID=' | awk -F '=' '{print $2}')
VERSION_ID=$(cat /etc/os-release | grep '^VERSION_ID=' | awk -F '=' '{print $2}' | sed "s/\"//g")
case $OS_ID in
debian)
case $VERSION_ID in
11 | 12)
# 容器内和容器外 镜像源配置不一样
if [ -f /.dockerenv ] && [ "$VERSION_ID" = 12 ]; then
test -f /etc/apt/sources.list.d/debian.sources.save || cp -f /etc/apt/sources.list.d/debian.sources /etc/apt/sources.list.d/debian.sources.save
sed -i 's/deb.debian.org/mirrors.ustc.edu.cn/g' /etc/apt/sources.list.d/debian.sources
sed -i 's/security.debian.org/mirrors.ustc.edu.cn/g' /etc/apt/sources.list.d/debian.sources
test "$MIRROR" = "tuna" && sed -i "s@mirrors.ustc.edu.cn@mirrors.tuna.tsinghua.edu.cn@g" /etc/apt/sources.list.d/debian.sources
# 云服务内网镜像源
test "$MIRROR" = "aliyuncs" && sed -i "s@mirrors.ustc.edu.cn@mirrors.cloud.aliyuncs.com@g" /etc/apt/sources.list.d/debian.sources
test "$MIRROR" = "tencentyun" && sed -i "s@mirrors.ustc.edu.cn@mirrors.tencentyun.com@g" /etc/apt/sources.list.d/debian.sources
test "$MIRROR" = "huaweicloud" && sed -i "s@mirrors.ustc.edu.cn@repo.huaweicloud.com@g" /etc/apt/sources.list.d/debian.sources
else
test -f /etc/apt/sources.list.save || cp /etc/apt/sources.list /etc/apt/sources.list.save
sed -i "s@deb.debian.org@mirrors.ustc.edu.cn@g" /etc/apt/sources.list
sed -i "s@security.debian.org@mirrors.ustc.edu.cn@g" /etc/apt/sources.list
test "$MIRROR" = "tuna" && sed -i "s@mirrors.ustc.edu.cn@mirrors.tuna.tsinghua.edu.cn@g" /etc/apt/sources.list
test "$MIRROR" = "aliyuncs" && sed -i "s@mirrors.ustc.edu.cn@mirrors.cloud.aliyuncs.com@g" /etc/apt/sources.list
test "$MIRROR" = "tencentyun" && sed -i "s@mirrors.ustc.edu.cn@mirrors.tencentyun.com@g" /etc/apt/sources.list
test "$MIRROR" = "huaweicloud" && sed -i "s@mirrors.ustc.edu.cn@repo.huaweicloud.com@g" /etc/apt/sources.list
fi
;;
*)
echo 'no match debian OS version' . $VERSION_ID
;;
esac
;;
ubuntu)
case $VERSION_ID in
20.04 | 22.04 | 22.10 | 23.04 | 23.10)
test -f /etc/apt/sources.list.save || cp /etc/apt/sources.list /etc/apt/sources.list.save
sed -i "s@deb.debian.org@mirrors.ustc.edu.cn@g" /etc/apt/sources.list
sed -i "s@security.debian.org@mirrors.ustc.edu.cn@g" /etc/apt/sources.list
sed -i "s@security.ubuntu.com@mirrors.ustc.edu.cn@g" /etc/apt/sources.list
sed -i "s@archive.ubuntu.com@mirrors.ustc.edu.cn@g" /etc/apt/sources.list
test "$MIRROR" = "tuna" && sed -i "s@mirrors.ustc.edu.cn@mirrors.tuna.tsinghua.edu.cn@g" /etc/apt/sources.list
test "$MIRROR" = "aliyuncs" && sed -i "s@mirrors.ustc.edu.cn@mirrors.cloud.aliyuncs.com@g" /etc/apt/sources.list
test "$MIRROR" = "tencentyun" && sed -i "s@mirrors.ustc.edu.cn@mirrors.tencentyun.com@g" /etc/apt/sources.list
test "$MIRROR" = "huaweicloud" && sed -i "s@mirrors.ustc.edu.cn@repo.huaweicloud.com@g" /etc/apt/sources.list
fi
;;
*)
echo 'no match debian OS version' . $VERSION_ID
;;
esac
;;
ubuntu)
case $VERSION_ID in
20.04 | 22.04 | 22.10 | 23.04 | 23.10)
test -f /etc/apt/sources.list.save || cp /etc/apt/sources.list /etc/apt/sources.list.save
sed -i "s@security.ubuntu.com@mirrors.ustc.edu.cn@g" /etc/apt/sources.list
sed -i "s@archive.ubuntu.com@mirrors.ustc.edu.cn@g" /etc/apt/sources.list
test "$MIRROR" = "tuna" && sed -i "s@mirrors.ustc.edu.cn@mirrors.tuna.tsinghua.edu.cn@g" /etc/apt/sources.list
test "$MIRROR" = "aliyuncs" && sed -i "s@mirrors.ustc.edu.cn@mirrors.cloud.aliyuncs.com@g" /etc/apt/sources.list
test "$MIRROR" = "tencentyun" && sed -i "s@mirrors.ustc.edu.cn@mirrors.tencentyun.com@g" /etc/apt/sources.list
test "$MIRROR" = "huaweicloud" && sed -i "s@mirrors.ustc.edu.cn@repo.huaweicloud.com@g" /etc/apt/sources.list
;;
24.04)
test -f /etc/apt/sources.list.d/ubuntu.sources.save || cp /etc/apt/sources.list.d/ubuntu.sources /etc/apt/sources.list.d/ubuntu.sources.save
sed -i "s@security.ubuntu.com@mirrors.ustc.edu.cn@g" /etc/apt/sources.list.d/ubuntu.sources
sed -i "s@archive.ubuntu.com@mirrors.ustc.edu.cn@g" /etc/apt/sources.list.d/ubuntu.sources
;;
*)
echo 'no match ubuntu OS version' . $VERSION_ID
;;
esac
;;
*)
echo 'no match ubuntu OS version' . $VERSION_ID
echo 'NO SUPPORT LINUX OS'
exit 0
;;
esac
;;
*)
echo 'NO SUPPORT LINUX OS'
exit 0
;;
esac
}
}
fi

test -f /etc/apt/apt.conf.d/proxy.conf && rm -rf /etc/apt/apt.conf.d/proxy.conf


export LANG="en_US.UTF-8"
export LC_ALL="en_US.UTF-8"
export LC_CTYPE="en_US.UTF-8"
export DEBIAN_FRONTEND=noninteractive
export TZ="UTC"
export TZ="Etc/UTC"
ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone

ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ >/etc/timezone

apt update -y
apt install -y locales
locale-gen en_US.UTF-8
export LANGUAGE="en_US.UTF-8"
export LC_ALL="en_US.UTF-8"
export LC_CTYPE="en_US.UTF-8"
export LANG="en_US.UTF-8"

apt install -y git curl wget ca-certificates
apt install -y xz-utils autoconf automake clang-tools clang lld libtool cmake bison re2c gettext coreutils lzip zip unzip
apt install -y pkg-config bzip2 flex p7zip

apt install -y gcc g++ musl-tools libtool-bin autopoint


# apt install build-essential linux-headers-$(uname -r)
apt install -y python3 python3-pip ninja-build diffutils
apt install -y python3 python3-pip ninja-build diffutils
apt install -y yasm nasm
apt install -y meson
apt install -y netcat-openbsd
Expand All @@ -120,5 +124,5 @@ aliyuncs | tencentyun | huaweicloud)
test "$MIRROR" = "aliyuncs" && pip3 config set global.index-url https://mirrors.cloud.aliyuncs.com/pypi/simple/
test "$MIRROR" = "tencentyun" && pip3 config set global.index-url https://mirrors.tencentyun.com/pypi/simple/
test "$MIRROR" = "huaweicloud" && pip3 config set global.index-url https://repo.huaweicloud.com/pypi/simple/
;;
esac

14 changes: 13 additions & 1 deletion sapi/quickstart/linux/extra/alpine-php-init.sh
Original file line number Diff line number Diff line change
@@ -1,2 +1,14 @@
apk add php82-cli php82-dev
apk add php82-iconv php82-mbstring php82-phar php82-openssl
apk add php82-posix php82-tokenizer php82-intl
apk add php82-dom php82-xmlwriter php82-xml php82-simplexml
apk add php82-pdo php82-sockets php82-curl php82-mysqlnd php82-pgsql php82-sqlite3
apk add php82-redis php82-mongodb

apk add php-cli php-iconv php-mbstring php-phar php-openssl php-posix php-curl php-tokenizer php-dom php-xmlwriter php-xml php-simplexml
php82 -v
php82 --ini
php82 --ini | grep ".ini files"

ln -sf /usr/bin/php82 /usr/bin/php
ln -sf /usr/bin/phpize82 /usr/bin/phpize
ln -sf /usr/bin/php-config82 /usr/bin/php-config
10 changes: 6 additions & 4 deletions sapi/quickstart/linux/extra/debian-php-init.sh
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@

apt install -y php-cli php-pear php-dev php-curl php-intl

# apt install -y php-mysqlnd php-pgsql php-sqlite3 php-redis php-mongodb
export TZ="Etc/UTC"
ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ >/etc/timezone
apt update -y
apt install -y php-cli php-pear php-dev php-curl php-intl
apt install -y php-mbstring php-tokenizer php-xml
apt install -y php-mysqlnd php-pgsql php-sqlite3 php-redis php-mongodb
Loading
Loading