Изменение логики проверок ПО

This commit is contained in:
2025-08-10 23:54:35 +03:00
parent 44dc08f413
commit 4a03b454a8

View File

@@ -49,15 +49,15 @@ check_component() {
if [[ -n "$command_check" && $(command -v "$command_check" 2>/dev/null) ]]; then
if [[ -n "$service_check" ]]; then
if systemctl is-active --quiet "$service_check" 2>/dev/null; then
return 0 # установлен и работает
return 0
else
return 1 # установлен, но не работает
return 1
fi
else
return 0 # установлен
return 0
fi
else
return 2 # не установлен
return 2
fi
}
@@ -172,30 +172,60 @@ check_existing_installation() {
echo ""
if [ "$FORCE_REINSTALL" = false ]; then
echo "Что вы хотите сделать?"
echo "1) Продолжить (проверить/обновить конфигурацию)"
echo "2) Принудительно переустановить все компоненты"
echo "3) Выйти"
echo "🤔 Система уже настроена. Что вы хотите сделать?"
echo ""
echo "1) Оставить как есть (выйти)"
echo "2) Переустановить компоненты (обновить конфигурацию)"
echo "3) Полное удаление всех компонентов"
echo ""
read -p "Выберите опцию (1-3): " choice
case $choice in
1)
log_info "Продолжаем с проверкой конфигурации..."
return 1 # продолжить с настройкой
log_info "Установка завершена. Система уже готова к работе."
# Показываем информацию о доступе
IP_ADDR=$(hostname -I | awk '{print $1}')
if [ -f "/root/.db_password" ]; then
EXISTING_PASSWORD=$(grep "DB_PASSWORD=" /root/.db_password | cut -d'=' -f2)
else
EXISTING_PASSWORD="(не найден в /root/.db_password)"
fi
echo ""
echo "🌐 Доступ к сайту:"
echo " • http://localhost/"
echo " • http://$IP_ADDR/"
echo ""
echo "🗄️ Доступ к БД:"
echo " • Логин: root"
echo " • Пароль: $EXISTING_PASSWORD"
echo ""
exit 0
;;
2)
log_info "Начинаем принудительную переустановку..."
log_info "Начинаем переустановку компонентов..."
FORCE_REINSTALL=true
return 0 # полная переустановка
;;
3)
log_info "Установка отменена."
exit 0
echo ""
log_warning "⚠️ ВНИМАНИЕ: Это действие полностью удалит все компоненты!"
echo "Будут удалены: Apache, PHP, MariaDB, Redis и все связанные файлы."
echo ""
read -p "Вы уверены? Введите 'YES' для подтверждения: " confirm
if [ "$confirm" = "YES" ]; then
log_info "Запускаем полное удаление..."
full_uninstall
else
log_info "Удаление отменено. Выход из скрипта."
exit 0
fi
;;
*)
log_warning "Неверный выбор. Продолжаем с проверкой конфигурации..."
return 1
log_warning "Неверный выбор. Выход из скрипта."
exit 0
;;
esac
else
@@ -244,12 +274,10 @@ if [[ $EUID -ne 0 ]]; then
exit 1
fi
log_step "Определение дистрибутива..."
if [ -f /etc/os-release ]; then
. /etc/os-release
DISTRO="$ID"
FAMILY="$ID_LIKE"
log_success "Обнаружен дистрибутив: $PRETTY_NAME"
else
log_error "Не удалось определить дистрибутив."
exit 1
@@ -783,7 +811,7 @@ log_success "Учетные данные сохранены в $DB_CREDENTIALS_F
IP_ADDR=$(hostname -I | awk '{print $1}')
echo ""
log_success "Установка Altcor успешно завершена."
echo "Установка Altcor успешно завершена."
echo ""
echo "🌐 Доступ к сайту:"
echo " • http://localhost/"