Изменен метод установки доп. компонентов и его логирование

This commit is contained in:
2025-08-14 07:11:24 +03:00
parent f4f875bfc7
commit 7663b5b04e

View File

@@ -563,27 +563,75 @@ EOF
log_error "MariaDB не смог запуститься" log_error "MariaDB не смог запуститься"
exit 1 exit 1
fi fi
log_success "MariaDB установлен и запущен" log_success "MariaDB установлен и запущен"
log_step "Установка дополнительных компонентов (Redis, LibreOffice)..." log_step "Установка дополнительных компонентов (Redis, LibreOffice)..."
if [ "$DISTRO_FAMILY" = "debian" ]; then if [ "$DISTRO_FAMILY" = "debian" ]; then
export DEBIAN_FRONTEND=noninteractive export DEBIAN_FRONTEND=noninteractive
if apt install -y redis-server libreoffice default-jre; then
log_success "Дополнительные компоненты установлены" echo "Обновление списка пакетов..."
else apt update
log_error "Ошибка установки пакетов для Debian/Ubuntu"
exit 1 echo "Установка Redis..."
fi apt install -y redis-server || { echo "Ошибка установки Redis"; exit 1; }
echo "Установка LibreOffice..."
apt install -y libreoffice || { echo "Ошибка установки LibreOffice"; exit 1; }
echo "Установка Java..."
apt install -y default-jre || { echo "Ошибка установки Java"; exit 1; }
elif [ "$DISTRO_FAMILY" = "rhel" ]; then elif [ "$DISTRO_FAMILY" = "rhel" ]; then
if $PKG_MANAGER install -y redis libreoffice; then # Проверяем и устанавливаем EPEL репозиторий
log_success "Дополнительные компоненты установлены" if ! rpm -qa | grep -q epel-release; then
echo "Установка EPEL репозитория..."
$PKG_MANAGER install -y epel-release || { echo "Ошибка установки EPEL"; exit 1; }
fi
# Включаем PowerTools/CRB репозиторий (нужен для некоторых зависимостей)
if command -v dnf >/dev/null 2>&1; then
# Rocky Linux 8+
echo "Включение PowerTools репозитория..."
dnf config-manager --set-enabled powertools >/dev/null 2>&1 || \
dnf config-manager --set-enabled crb >/dev/null 2>&1 || true
elif command -v yum >/dev/null 2>&1; then
# CentOS 7
yum-config-manager --enable extras >/dev/null 2>&1 || true
fi
# Установка Redis (правильное название пакета)
echo "Установка Redis..."
$PKG_MANAGER install -y redis || { echo "Ошибка установки Redis"; exit 1; }
# Для LibreOffice используем Flatpak или устанавливаем компоненты по отдельности
echo "Установка LibreOffice..."
# Вариант 1: Попробуем установить из стандартных репозиториев
if $PKG_MANAGER install -y libreoffice-core libreoffice-writer libreoffice-calc libreoffice-impress >/dev/null 2>&1; then
echo "LibreOffice установлен из репозиториев"
else else
log_error "Ошибка установки пакетов для RHEL" echo "Стандартная установка LibreOffice недоступна, используем Flatpak..."
exit 1
# Установка Flatpak
$PKG_MANAGER install -y flatpak || { echo "Ошибка установки Flatpak"; exit 1; }
# Добавляем Flathub репозиторий
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo || true
# Устанавливаем LibreOffice через Flatpak
flatpak install -y flathub org.libreoffice.LibreOffice || { echo "Ошибка установки LibreOffice через Flatpak"; exit 1; }
fi fi
# Установка Java
echo "Установка Java..."
$PKG_MANAGER install -y java-11-openjdk || $PKG_MANAGER install -y java-1.8.0-openjdk || { echo "Ошибка установки Java"; exit 1; }
# Запуск и включение Redis
systemctl enable redis --now >/dev/null 2>&1 || systemctl enable redis-server --now >/dev/null 2>&1 || true
fi fi
log_success "Дополнительные компоненты установлены"
log_step "Установка PHP 8.3 и расширений..." log_step "Установка PHP 8.3 и расширений..."
if [ "$DISTRO_FAMILY" = "debian" ]; then if [ "$DISTRO_FAMILY" = "debian" ]; then
export DEBIAN_FRONTEND=noninteractive export DEBIAN_FRONTEND=noninteractive