check_is_installed 列表同步ssinstall , ssinstall 拒绝在 ACE 内部安装到 ACE

This commit is contained in:
2025-06-09 13:34:14 +08:00
parent f08366a3d5
commit c0b2edf1b0
8 changed files with 272 additions and 481 deletions

View File

@@ -257,7 +257,10 @@ function install_in_ace_env() {
local ace_cmd="$1"
local deb_path="$2"
local ace_env_pkg="${3#*:}"
if [ "$IS_ACE_ENV" != "" ]; then
echo "无法在ACE中安装ACE包"
return 1
fi
if ! ensure_ace_env "$ace_env_pkg"; then
return 1
fi
@@ -316,7 +319,7 @@ function auto_try_install() {
fi
# 如果主机安装失败且不在强制本地模式尝试ACE环境
if [ "$FORCE_NATIVE" -eq 0 ]; then
if [ "$FORCE_NATIVE" -eq 0 ] || [ "$IS_ACE_ENV" = "" ]; then
for ace_entry in "${ACE_ENVIRONMENTS_FOR_AUTOINSTALL[@]}"; do
local ace_cmd=${ace_entry%%:*}
local ace_env_pkg=${ace_entry#*:}

View File

@@ -258,6 +258,10 @@ function install_in_ace_env() {
local deb_path="$2"
local ace_env_pkg="${3#*:}"
if [ "$IS_ACE_ENV" != "" ]; then
echo "无法在ACE中安装ACE包"
return 1
fi
if ! ensure_ace_env "$ace_env_pkg"; then
return 1
fi
@@ -315,8 +319,8 @@ function auto_try_install() {
return 0
fi
# 如果主机安装失败且不在强制本地模式尝试ACE环境
if [ "$FORCE_NATIVE" -eq 0 ]; then
# 如果主机安装失败并非在ACE内运行且不在强制本地模式尝试ACE环境
if [ "$FORCE_NATIVE" -eq 0 ] || [ "$IS_ACE_ENV" = "" ]; then
for ace_entry in "${ACE_ENVIRONMENTS_FOR_AUTOINSTALL[@]}"; do
local ace_cmd=${ace_entry%%:*}
local ace_env_pkg=${ace_entry#*:}
@@ -391,7 +395,9 @@ function lock_file() {
}
function unlock_file() {
if [ -e "$1" ];then
chattr -i "$1"
fi
}
# 主安装流程

View File

@@ -2,13 +2,15 @@
dpkg -s "$1" > /dev/null
RET="$?"
if [[ "$RET" != "0" ]] &&[[ "$IS_ACE_ENV" == "" ]];then ## 如果未在ACE环境中
# 定义按顺序尝试的ACE环境命令:推荐安装包)
declare -a ace_commands_order=(
"bookworm-run:amber-ce-bookworm"
"trixie-run:amber-ce-trixie"
"deepin23-run:amber-ce-deepin23"
)
for ace_entry in "${ace_commands_order[@]}"; do
readonly ACE_ENVIRONMENTS=(
"bookworm-run:amber-ce-bookworm"
"trixie-run:amber-ce-trixie"
"deepin23-run:amber-ce-deepin23"
"sid-run:amber-ce-sid"
)
for ace_entry in "${ACE_ENVIRONMENTS[@]}"; do
ace_cmd=${ace_entry%%:*}
if command -v "$ace_cmd" >/dev/null 2>&1; then
echo "----------------------------------------"