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

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 "$command_check" && $(command -v "$command_check" 2>/dev/null) ]]; then
if [[ -n "$service_check" ]]; then if [[ -n "$service_check" ]]; then
if systemctl is-active --quiet "$service_check" 2>/dev/null; then if systemctl is-active --quiet "$service_check" 2>/dev/null; then
return 0 # установлен и работает return 0
else else
return 1 # установлен, но не работает return 1
fi fi
else else
return 0 # установлен return 0
fi fi
else else
return 2 # не установлен return 2
fi fi
} }
@@ -172,30 +172,60 @@ check_existing_installation() {
echo "" echo ""
if [ "$FORCE_REINSTALL" = false ]; then if [ "$FORCE_REINSTALL" = false ]; then
echo "Что вы хотите сделать?" echo "🤔 Система уже настроена. Что вы хотите сделать?"
echo "1) Продолжить (проверить/обновить конфигурацию)" echo ""
echo "2) Принудительно переустановить все компоненты" echo "1) Оставить как есть (выйти)"
echo "3) Выйти" echo "2) Переустановить компоненты (обновить конфигурацию)"
echo "3) Полное удаление всех компонентов"
echo "" echo ""
read -p "Выберите опцию (1-3): " choice read -p "Выберите опцию (1-3): " choice
case $choice in case $choice in
1) 1)
log_info "Продолжаем с проверкой конфигурации..." log_info "Установка завершена. Система уже готова к работе."
return 1 # продолжить с настройкой
# Показываем информацию о доступе
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) 2)
log_info "Начинаем принудительную переустановку..." log_info "Начинаем переустановку компонентов..."
FORCE_REINSTALL=true FORCE_REINSTALL=true
return 0 # полная переустановка return 0 # полная переустановка
;; ;;
3) 3)
log_info "Установка отменена." echo ""
exit 0 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 "Неверный выбор. Продолжаем с проверкой конфигурации..." log_warning "Неверный выбор. Выход из скрипта."
return 1 exit 0
;; ;;
esac esac
else else
@@ -244,12 +274,10 @@ if [[ $EUID -ne 0 ]]; then
exit 1 exit 1
fi fi
log_step "Определение дистрибутива..."
if [ -f /etc/os-release ]; then if [ -f /etc/os-release ]; then
. /etc/os-release . /etc/os-release
DISTRO="$ID" DISTRO="$ID"
FAMILY="$ID_LIKE" FAMILY="$ID_LIKE"
log_success "Обнаружен дистрибутив: $PRETTY_NAME"
else else
log_error "Не удалось определить дистрибутив." log_error "Не удалось определить дистрибутив."
exit 1 exit 1
@@ -783,7 +811,7 @@ log_success "Учетные данные сохранены в $DB_CREDENTIALS_F
IP_ADDR=$(hostname -I | awk '{print $1}') IP_ADDR=$(hostname -I | awk '{print $1}')
echo "" echo ""
log_success "Установка Altcor успешно завершена." echo "Установка Altcor успешно завершена."
echo "" echo ""
echo "🌐 Доступ к сайту:" echo "🌐 Доступ к сайту:"
echo " • http://localhost/" echo " • http://localhost/"