diff --git a/install.sh b/install.sh index 5767684..3063049 100644 --- a/install.sh +++ b/install.sh @@ -175,7 +175,7 @@ check_existing_installation() { if [[ $REPLY =~ ^[Yy]$ ]]; then log_info "Начинаем переустановку по запросу пользователя..." REINSTALL=true - return 1 + return 1 else echo "" log_info "Переустановка отменена. Система остается без изменений." @@ -207,13 +207,20 @@ check_existing_installation() { } full_uninstall() { - log_step "Начинаем полное удаление Altcor... :(" + log_step "Начинаем полное удаление Altcor..." log_info "Остановка сервисов..." systemctl stop nginx apache2 httpd php*-fpm mariadb mysql redis redis-server 2>/dev/null || true log_info "Удаление пакетов..." if [ "$DISTRO_FAMILY" = "debian" ]; then + + export DEBIAN_FRONTEND=noninteractive + + echo "mariadb-server mysql-server/remove-data-dir boolean true" | debconf-set-selections 2>/dev/null || true + echo "mariadb-server-10.* mysql-server/remove-data-dir boolean true" | debconf-set-selections 2>/dev/null || true + echo "mysql-server-* mysql-server/remove-data-dir boolean true" | debconf-set-selections 2>/dev/null || true + apt purge -y nginx* apache2* php* mariadb* mysql* redis* 2>/dev/null || true apt autoremove -y 2>/dev/null || true else @@ -259,9 +266,20 @@ proceed_with_installation() { log_step "Удаление старых версий пакетов..." if [ "$DISTRO_FAMILY" = "debian" ]; then + export DEBIAN_FRONTEND=noninteractive + + echo "mariadb-server mysql-server/remove-data-dir boolean true" | debconf-set-selections 2>/dev/null || true + echo "mariadb-server-10.3 mysql-server/remove-data-dir boolean true" | debconf-set-selections 2>/dev/null || true + echo "mariadb-server-10.5 mysql-server/remove-data-dir boolean true" | debconf-set-selections 2>/dev/null || true + echo "mariadb-server-10.6 mysql-server/remove-data-dir boolean true" | debconf-set-selections 2>/dev/null || true + echo "mariadb-server-10.11 mysql-server/remove-data-dir boolean true" | debconf-set-selections 2>/dev/null || true + echo "mysql-server-5.7 mysql-server/remove-data-dir boolean true" | debconf-set-selections 2>/dev/null || true + echo "mysql-server-8.0 mysql-server/remove-data-dir boolean true" | debconf-set-selections 2>/dev/null || true + apt remove -y nginx nginx-common nginx-core >/dev/null 2>&1 || true apt remove -y php7.* php8.0* php8.1* php8.2* libapache2-mod-php7.* libapache2-mod-php8.0* libapache2-mod-php8.1* libapache2-mod-php8.2* >/dev/null 2>&1 || true - env DEBIAN_FRONTEND=noninteractive apt remove --purge -y -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" mariadb* mysql* /dev/null 2>&1 || true + + apt remove --purge -y -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" mariadb* mysql* /dev/null 2>&1 || true apt autoremove -y >/dev/null 2>&1 || true rm -rf /var/lib/mysql* /etc/mysql* /var/log/mysql* 2>/dev/null || true elif [ "$DISTRO_FAMILY" = "rhel" ]; then @@ -274,6 +292,7 @@ proceed_with_installation() { log_step "Обновление списка пакетов..." if [ "$DISTRO_FAMILY" = "debian" ]; then + export DEBIAN_FRONTEND=noninteractive apt update -y >/dev/null 2>&1 apt install -y software-properties-common lsb-release ca-certificates curl wget gnupg2 apt-transport-https unzip >/dev/null 2>&1 elif [ "$DISTRO_FAMILY" = "rhel" ]; then @@ -325,6 +344,7 @@ proceed_with_installation() { log_step "Установка Apache..." if [ "$DISTRO_FAMILY" = "debian" ]; then + export DEBIAN_FRONTEND=noninteractive apt install -y apache2 >/dev/null 2>&1 elif [ "$DISTRO_FAMILY" = "rhel" ]; then $PKG_MANAGER install -y httpd >/dev/null 2>&1 @@ -333,6 +353,11 @@ proceed_with_installation() { log_step "Установка MariaDB..." if [ "$DISTRO_FAMILY" = "debian" ]; then + export DEBIAN_FRONTEND=noninteractive + + echo "mariadb-server mysql-server/root_password password ''" | debconf-set-selections 2>/dev/null || true + echo "mariadb-server mysql-server/root_password_again password ''" | debconf-set-selections 2>/dev/null || true + apt install -y mariadb-server >/dev/null 2>&1 elif [ "$DISTRO_FAMILY" = "rhel" ]; then $PKG_MANAGER install -y mariadb-server >/dev/null 2>&1 @@ -354,6 +379,7 @@ proceed_with_installation() { log_step "Установка дополнительных компонентов (Redis, LibreOffice, Java)..." if [ "$DISTRO_FAMILY" = "debian" ]; then + export DEBIAN_FRONTEND=noninteractive apt install -y redis-server libreoffice default-jre >/dev/null 2>&1 elif [ "$DISTRO_FAMILY" = "rhel" ]; then $PKG_MANAGER install -y redis libreoffice java-11-openjdk >/dev/null 2>&1 @@ -362,6 +388,7 @@ proceed_with_installation() { log_step "Установка PHP 8.3 и расширений..." if [ "$DISTRO_FAMILY" = "debian" ]; then + export DEBIAN_FRONTEND=noninteractive PHP_PACKAGES="php8.3 php8.3-cli php8.3-common php8.3-mysql php8.3-curl php8.3-gd \ php8.3-mbstring php8.3-xml php8.3-zip php8.3-opcache php8.3-intl \ php8.3-bcmath libapache2-mod-php8.3" @@ -910,7 +937,6 @@ MYSQL_SCRIPT log_step "Сохранение учетных данных..." DB_CREDENTIALS_FILE="/root/.db_password" cat > "$DB_CREDENTIALS_FILE" << EOF -# Учетные данные базы данных ALTCor DB_HOST=localhost DB_USER=root