fix(install): 修复 Alpine Linux 下 dcron 依赖缺失导致 openssl 链式静默安装失败的漏洞

This commit is contained in:
hotyue
2026-04-24 09:44:29 +00:00
parent 1f21ac9a7e
commit 853e6c09e1
2 changed files with 6 additions and 4 deletions

View File

@@ -73,7 +73,8 @@ if [ ${#MISSING_CMDS[@]} -gt 0 ]; then
elif command -v apk >/dev/null 2>&1; then
# Alpine 本身就是极致精简,无需特殊参数
echo "Alpine 探测到系统类型为 Alpine Linux正在执行轻量级安装..."
apk add --no-cache curl jq dcron procps python3 bash openssl >/dev/null 2>&1
# [修复] 新版 Alpine 已废弃 dcron。优先尝试 cronie若失败则信任自带 busybox-cron并移除屏蔽以便暴露报错
apk add --no-cache curl jq cronie procps python3 bash openssl || apk add --no-cache curl jq procps python3 bash openssl
mkdir -p /var/spool/cron/crontabs
rc-update add crond default >/dev/null 2>&1
service crond start >/dev/null 2>&1
@@ -90,7 +91,7 @@ if [ ${#MISSING_CMDS[@]} -gt 0 ]; then
echo -e "\033[33m⚠ 请根据您的操作系统,手动执行以下安装命令后重新运行本脚本:\033[0m"
echo -e " Debian/Ubuntu: \033[36mapt-get update && apt-get install -y --no-install-recommends curl jq cron procps python3 openssl\033[0m"
echo -e " CentOS/RHEL: \033[36myum install -y curl jq cronie procps-ng python3 openssl\033[0m"
echo -e " Alpine Linux: \033[36mapk add --no-cache curl jq dcron procps python3 bash openssl\033[0m"
echo -e " Alpine Linux: \033[36mapk add --no-cache curl jq cronie procps python3 bash openssl\033[0m"
echo -e " Arch Linux: \033[36mpacman -Sy curl jq cronie procps-ng python openssl\033[0m"
exit 1
fi

View File

@@ -162,7 +162,8 @@ if [ ${#MISSING_CMDS[@]} -gt 0 ]; then
systemctl enable crond >/dev/null 2>&1 && systemctl start crond >/dev/null 2>&1
elif command -v apk >/dev/null 2>&1; then
echo "Alpine 探测到系统类型为 Alpine Linux正在执行轻量级安装..."
apk add --no-cache curl jq sqlite dcron procps bash >/dev/null 2>&1
# [修复] 优先尝试 cronie若失败则回退至系统内置 cron彻底避免单点依赖拖垮全局
apk add --no-cache curl jq sqlite cronie procps bash openssl || apk add --no-cache curl jq sqlite procps bash openssl
mkdir -p /var/spool/cron/crontabs
rc-update add crond default >/dev/null 2>&1
service crond start >/dev/null 2>&1
@@ -175,7 +176,7 @@ if [ ${#MISSING_CMDS[@]} -gt 0 ]; then
echo -e "\033[33m⚠ 请手动执行以下安装命令后重新运行本脚本:\033[0m"
echo -e " Debian/Ubuntu: \033[36mapt-get update && apt-get install -y --no-install-recommends curl jq sqlite3 cron procps\033[0m"
echo -e " CentOS/RHEL: \033[36myum install -y curl jq sqlite cronie procps-ng\033[0m"
echo -e " Alpine Linux: \033[36mapk add --no-cache curl jq sqlite dcron procps bash\033[0m"
echo -e " Alpine Linux: \033[36mapk add --no-cache curl jq sqlite cronie procps bash openssl\033[0m"
exit 1
fi