Изменена логика удаления Altcor

This commit is contained in:
2025-08-11 02:10:00 +03:00
parent db7ab6afe2
commit 56eb4c588c

View File

@@ -175,7 +175,7 @@ check_existing_installation() {
if [[ $REPLY =~ ^[Yy]$ ]]; then if [[ $REPLY =~ ^[Yy]$ ]]; then
log_info "Начинаем переустановку по запросу пользователя..." log_info "Начинаем переустановку по запросу пользователя..."
REINSTALL=true REINSTALL=true
return 1 return 1
else else
echo "" echo ""
log_info "Переустановка отменена. Система остается без изменений." log_info "Переустановка отменена. Система остается без изменений."
@@ -207,13 +207,20 @@ check_existing_installation() {
} }
full_uninstall() { full_uninstall() {
log_step "Начинаем полное удаление Altcor... :(" log_step "Начинаем полное удаление Altcor..."
log_info "Остановка сервисов..." log_info "Остановка сервисов..."
systemctl stop nginx apache2 httpd php*-fpm mariadb mysql redis redis-server 2>/dev/null || true systemctl stop nginx apache2 httpd php*-fpm mariadb mysql redis redis-server 2>/dev/null || true
log_info "Удаление пакетов..." log_info "Удаление пакетов..."
if [ "$DISTRO_FAMILY" = "debian" ]; then 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 purge -y nginx* apache2* php* mariadb* mysql* redis* 2>/dev/null || true
apt autoremove -y 2>/dev/null || true apt autoremove -y 2>/dev/null || true
else else
@@ -259,9 +266,20 @@ proceed_with_installation() {
log_step "Удаление старых версий пакетов..." log_step "Удаление старых версий пакетов..."
if [ "$DISTRO_FAMILY" = "debian" ]; then 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 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 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 >/dev/null 2>&1 || true
apt remove --purge -y -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" mariadb* mysql* </dev/null >/dev/null 2>&1 || true
apt autoremove -y >/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 rm -rf /var/lib/mysql* /etc/mysql* /var/log/mysql* 2>/dev/null || true
elif [ "$DISTRO_FAMILY" = "rhel" ]; then elif [ "$DISTRO_FAMILY" = "rhel" ]; then
@@ -274,6 +292,7 @@ proceed_with_installation() {
log_step "Обновление списка пакетов..." log_step "Обновление списка пакетов..."
if [ "$DISTRO_FAMILY" = "debian" ]; then if [ "$DISTRO_FAMILY" = "debian" ]; then
export DEBIAN_FRONTEND=noninteractive
apt update -y >/dev/null 2>&1 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 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 elif [ "$DISTRO_FAMILY" = "rhel" ]; then
@@ -325,6 +344,7 @@ proceed_with_installation() {
log_step "Установка Apache..." log_step "Установка Apache..."
if [ "$DISTRO_FAMILY" = "debian" ]; then if [ "$DISTRO_FAMILY" = "debian" ]; then
export DEBIAN_FRONTEND=noninteractive
apt install -y apache2 >/dev/null 2>&1 apt install -y apache2 >/dev/null 2>&1
elif [ "$DISTRO_FAMILY" = "rhel" ]; then elif [ "$DISTRO_FAMILY" = "rhel" ]; then
$PKG_MANAGER install -y httpd >/dev/null 2>&1 $PKG_MANAGER install -y httpd >/dev/null 2>&1
@@ -333,6 +353,11 @@ proceed_with_installation() {
log_step "Установка MariaDB..." log_step "Установка MariaDB..."
if [ "$DISTRO_FAMILY" = "debian" ]; then 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 apt install -y mariadb-server >/dev/null 2>&1
elif [ "$DISTRO_FAMILY" = "rhel" ]; then elif [ "$DISTRO_FAMILY" = "rhel" ]; then
$PKG_MANAGER install -y mariadb-server >/dev/null 2>&1 $PKG_MANAGER install -y mariadb-server >/dev/null 2>&1
@@ -354,6 +379,7 @@ proceed_with_installation() {
log_step "Установка дополнительных компонентов (Redis, LibreOffice, Java)..." log_step "Установка дополнительных компонентов (Redis, LibreOffice, Java)..."
if [ "$DISTRO_FAMILY" = "debian" ]; then if [ "$DISTRO_FAMILY" = "debian" ]; then
export DEBIAN_FRONTEND=noninteractive
apt install -y redis-server libreoffice default-jre >/dev/null 2>&1 apt install -y redis-server libreoffice default-jre >/dev/null 2>&1
elif [ "$DISTRO_FAMILY" = "rhel" ]; then elif [ "$DISTRO_FAMILY" = "rhel" ]; then
$PKG_MANAGER install -y redis libreoffice java-11-openjdk >/dev/null 2>&1 $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 и расширений..." log_step "Установка PHP 8.3 и расширений..."
if [ "$DISTRO_FAMILY" = "debian" ]; then 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 \ 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-mbstring php8.3-xml php8.3-zip php8.3-opcache php8.3-intl \
php8.3-bcmath libapache2-mod-php8.3" php8.3-bcmath libapache2-mod-php8.3"
@@ -910,7 +937,6 @@ MYSQL_SCRIPT
log_step "Сохранение учетных данных..." log_step "Сохранение учетных данных..."
DB_CREDENTIALS_FILE="/root/.db_password" DB_CREDENTIALS_FILE="/root/.db_password"
cat > "$DB_CREDENTIALS_FILE" << EOF cat > "$DB_CREDENTIALS_FILE" << EOF
# Учетные данные базы данных ALTCor
DB_HOST=localhost DB_HOST=localhost
DB_USER=root DB_USER=root