diff --git a/configure_priv.sh b/configure_priv.sh index 9706617..83f1936 100755 --- a/configure_priv.sh +++ b/configure_priv.sh @@ -210,12 +210,17 @@ configure_docker() { sudo apt remove docker docker-engine docker.io sudo apt update sudo apt install apt-transport-https ca-certificates curl gnupg lsb-release -y + # 检查系统架构是否为 x86_64 + if [[ $(uname -m) != "x86_64" ]]; then + echo "Docker is only supported on amd64 architecture." + return + fi # 添加软件源的 GPG 密钥,并向 sources.list 中添加 Docker 软件源 if [ $abroad -eq 1 ]; then - curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg + curl -fsSL https://download.docker.com/linux/ubuntu/gpg | gpg --dearmor | sudo tee /usr/share/keyrings/docker-archive-keyring.gpg > /dev/null echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null else - curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg + curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | gpg --dearmor | sudo tee /usr/share/keyrings/docker-archive-keyring.gpg > /dev/null echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null fi sudo apt-get update @@ -229,6 +234,7 @@ configure_docker() { if [ -z "$latest_version" ]; then latest_version="v2.27.0" fi + echo "Latest version of docker-compose is $latest_version" sudo curl -L "$github/docker/compose/releases/download/$latest_version/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose sudo chmod +x /usr/local/bin/docker-compose fi @@ -237,7 +243,7 @@ configure_docker() { configure_yarn() { echo "Incomplete"; return - curl -fsSL https://dl.yarnpkg.com/debian/pubkey.gpg | sudo gpg --dearmor -o /usr/share/keyrings/yarn.gpg + curl -fsSL https://dl.yarnpkg.com/debian/pubkey.gpg | gpg --dearmor | sudo tee /usr/share/keyrings/yarn.gpg > /dev/null echo "deb [signed-by=/usr/share/keyrings/yarn.gpg] https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list > /dev/null } @@ -245,16 +251,28 @@ configure_mongodb() { echo "Incomplete"; return version=7.0 - curl -fsSL https://pgp.mongodb.com/server-$version.asc | sudo gpg --dearmor -o /usr/share/keyrings/mongodb-server-$version.gpg + curl -fsSL https://pgp.mongodb.com/server-$version.asc | gpg --dearmor | sudo tee /usr/share/keyrings/mongodb-server-$version.gpg > /dev/null echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/mongodb-server-$version.gpg] https://repo.mongodb.org/apt/ubuntu $(lsb_release -cs)/mongodb-org/$version multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-$version.list > /dev/null } configure_nginx() { - echo "Incomplete"; return - - curl -fsSL https://nginx.org/keys/nginx_signing.key | sudo gpg --dearmor -o /usr/share/keyrings/nginx.gpg - echo "deb [signed-by=/usr/share/keyrings/nginx.gpg] https://nginx.org/packages/ubuntu/ $(lsb_release -cs) nginx" | sudo tee /etc/apt/sources.list.d/nginx.list > /dev/null - echo "deb-src [signed-by=/usr/share/keyrings/nginx.gpg] https://nginx.org/packages/ubuntu/ $(lsb_release -cs) nginx" | sudo tee -a /etc/apt/sources.list.d/nginx.list > /dev/null + [ $offline -eq 1 ] && return + if [ ! -f /etc/apt/sources.list.d/nginx.list ]; then + curl -fsSL https://nginx.org/keys/nginx_signing.key | gpg --dearmor | sudo tee /usr/share/keyrings/nginx.gpg > /dev/null + echo "deb [signed-by=/usr/share/keyrings/nginx.gpg] https://nginx.org/packages/ubuntu/ $(lsb_release -cs) nginx" | sudo tee /etc/apt/sources.list.d/nginx.list > /dev/null + echo "deb-src [signed-by=/usr/share/keyrings/nginx.gpg] https://nginx.org/packages/ubuntu/ $(lsb_release -cs) nginx" | sudo tee -a /etc/apt/sources.list.d/nginx.list > /dev/null + fi + if command_exists nginx; then + if confirm_action "要更新 nginx 吗?" "N"; then + sudo apt update + sudo apt upgrade nginx -y + fi + else + if confirm_action "要安装 nginx 吗?" "Y"; then + sudo apt update + sudo apt install nginx -y + fi + fi } configure_fail2ban() {