From 511ba9037801d5724978a57fee53e06020f21dc5 Mon Sep 17 00:00:00 2001 From: hotyue <52734432+hotyue@users.noreply.github.com> Date: Tue, 21 Apr 2026 09:30:04 +0000 Subject: [PATCH] =?UTF-8?q?perf(core):=20=E4=BC=98=E5=8C=96=E5=8C=85?= =?UTF-8?q?=E7=AE=A1=E7=90=86=E5=99=A8=E5=AE=89=E8=A3=85=E5=8F=82=E6=95=B0?= =?UTF-8?q?=EF=BC=8C=E6=8B=92=E7=BB=9D=E5=86=97=E4=BD=99=E4=BE=9D=E8=B5=96?= =?UTF-8?q?=E6=8D=86=E7=BB=91=EF=BC=8C=E5=AE=9E=E7=8E=B0=20Agent=20?= =?UTF-8?q?=E8=8A=82=E7=82=B9=E6=9E=81=E8=87=B4=E8=BD=BB=E9=87=8F=E5=8C=96?= =?UTF-8?q?=E9=83=A8=E7=BD=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- core/install.sh | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/core/install.sh b/core/install.sh index a49f048..47de732 100755 --- a/core/install.sh +++ b/core/install.sh @@ -53,37 +53,41 @@ if [ ${#MISSING_CMDS[@]} -gt 0 ]; then if command -v apt-get >/dev/null 2>&1; then # Debian / Ubuntu 系列 apt-get update -y >/dev/null 2>&1 - apt-get install -y curl jq cron procps python3 >/dev/null 2>&1 + # [v3.6.3 抽脂级优化] 注入 --no-install-recommends 拒绝捆绑销售,大幅节省磁盘与内存 + apt-get install -y --no-install-recommends curl jq cron procps python3 >/dev/null 2>&1 systemctl enable cron >/dev/null 2>&1 && systemctl start cron >/dev/null 2>&1 elif command -v yum >/dev/null 2>&1 || command -v dnf >/dev/null 2>&1; then # RHEL / CentOS / AlmaLinux 系列 PKG_MGR="yum" - command -v dnf >/dev/null 2>&1 && PKG_MGR="dnf" - $PKG_MGR install -y curl jq cronie procps-ng python3 >/dev/null 2>&1 + OPT_ARGS="" + if command -v dnf >/dev/null 2>&1; then + PKG_MGR="dnf" + # [v3.6.3 抽脂级优化] 强行关闭 DNF 的弱依赖拉取 + OPT_ARGS="--setopt=install_weak_deps=False" + fi + $PKG_MGR install -y $OPT_ARGS curl jq cronie procps-ng python3 >/dev/null 2>&1 systemctl enable crond >/dev/null 2>&1 && systemctl start crond >/dev/null 2>&1 elif command -v apk >/dev/null 2>&1; then - # [核心修复 Issue #21] Alpine Linux 系列 + # Alpine 本身就是极致精简,无需特殊参数 echo "Alpine 探测到系统类型为 Alpine Linux,正在执行轻量级安装..." apk add --no-cache curl jq dcron procps python3 bash >/dev/null 2>&1 - # Alpine 下必须手动创建 cron spool 目录并启动 crond mkdir -p /var/spool/cron/crontabs rc-update add crond default >/dev/null 2>&1 service crond start >/dev/null 2>&1 elif command -v pacman >/dev/null 2>&1; then - # [核心修复 Issue #250] Arch Linux 系列 + # Arch Linux 系列 pacman -Sy --noconfirm curl jq cronie procps-ng python >/dev/null 2>&1 - # Arch 下某些 cronie 实现可能缺少 /root/.cache 权限,做个兼容保障 mkdir -p /root/.cache/crontab 2>/dev/null systemctl enable cronie >/dev/null 2>&1 && systemctl start cronie >/dev/null 2>&1 else - # 无法识别的系统:退出并给出清晰的引导信息 + # 无法识别的系统:退出并给出清晰的引导信息 (同步更新防捆绑参数) echo -e "\033[31m❌ 自动安装失败:系统未知的包管理器。\033[0m" echo -e "\033[33m⚠️ 请根据您的操作系统,手动执行以下安装命令后重新运行本脚本:\033[0m" - echo -e " Debian/Ubuntu: \033[36mapt-get update && apt-get install -y curl jq cron procps python3\033[0m" + echo -e " Debian/Ubuntu: \033[36mapt-get update && apt-get install -y --no-install-recommends curl jq cron procps python3\033[0m" echo -e " CentOS/RHEL: \033[36myum install -y curl jq cronie procps-ng python3\033[0m" echo -e " Alpine Linux: \033[36mapk add --no-cache curl jq dcron procps python3 bash\033[0m" echo -e " Arch Linux: \033[36mpacman -Sy curl jq cronie procps-ng python\033[0m"