v .0.075(изменены скрипты установки и удоления)

This commit is contained in:
DND
2026-06-30 12:54:32 +07:00
parent aa07baa844
commit 1f420543c5
5 changed files with 95 additions and 85 deletions
Binary file not shown.
Binary file not shown.
Binary file not shown.
+8 -8
View File
@@ -1,19 +1,19 @@
# Сделайте скрипты исполняемыми
chmod +x install-service.sh uninstall-service.sh
# Делаем скрипты исполняемыми
chmod +x install-service.sh uninstall-service.sh install.sh
# Установка службы
sudo ./install-service.sh
# Проверка статуса
sudo systemctl status audio-recorder
sudo systemctl status DND-recorder
# Управление службой
sudo systemctl start audio-recorder
sudo systemctl stop audio-recorder
sudo systemctl restart audio-recorder
sudo systemctl start DND-recorder
sudo systemctl stop DND-recorder
sudo systemctl restart DND-recorder
# Просмотр логов
sudo journalctl -u audio-recorder -f
sudo journalctl -u DND-recorder -f
# Удаление службы
sudo ./uninstall-service.sh
sudo ./uninstall-service.sh
+87 -77
View File
@@ -1,6 +1,6 @@
#!/bin/bash
# Audio Recorder - Полное удаление службы и всех компонентов
# Audio Recorder - Полное удаление службы DND-recorder
# Запускать с правами root: sudo ./uninstall-service.sh
set -e
@@ -13,7 +13,7 @@ BLUE='\033[0;34m'
NC='\033[0m'
echo -e "${RED}========================================${NC}"
echo -e "${RED}Audio Recorder - Uninstaller${NC}"
echo -e "${RED}DND-recorder - Uninstaller${NC}"
echo -e "${RED}========================================${NC}"
# Проверка прав root
@@ -23,193 +23,203 @@ if [ "$EUID" -ne 0 ]; then
fi
# Конфигурация
SERVICE_NAME="DND-recorder"
INSTALL_DIR="/opt/audio-recorder"
SERVICE_NAME="audio-recorder"
APP_USER="audio-recorder"
DATA_DIR="/opt/audio-recorder/data"
RECORDINGS_DIR="/opt/audio-recorder/recordings"
BINARY_NAME="audio-recorder"
echo -e "${YELLOW}⚠️ WARNING: This will completely remove Audio Recorder!${NC}"
echo -e "${YELLOW}This includes:${NC}"
echo -e " - Service files"
echo -e " - Binary files"
echo -e " - Configuration files"
echo -e " - Database files"
echo -e " - Recordings (optionally)"
echo -e " - User account"
echo -e "${YELLOW}⚠️ ВНИМАНИЕ: Это полностью удалит Audio Recorder!${NC}"
echo -e "${YELLOW}Будут удалены:${NC}"
echo -e " - Служба ${SERVICE_NAME}"
echo -e " - Бинарные файлы"
echo -e " - Конфигурационные файлы"
echo -e " - База данных"
echo -e " - Записи (опционально)"
echo -e " - Пользователь ${APP_USER}"
echo -e ""
read -p "Are you sure you want to continue? (y/n): " -n 1 -r
read -p "Вы уверены, что хотите продолжить? (y/n): " -n 1 -r
echo
if [[ ! $REPLY =~ ^[Yy]$ ]]; then
echo -e "${GREEN}Uninstall cancelled.${NC}"
echo -e "${GREEN}Удаление отменено.${NC}"
exit 0
fi
# Спросить про удаление записей
echo ""
read -p "Do you want to keep your recordings? (y/n): " -n 1 -r
read -p "Сохранить записи (recordings)? (y/n): " -n 1 -r
echo
KEEP_RECORDINGS=$REPLY
echo ""
echo -e "${BLUE}Starting uninstallation...${NC}"
echo -e "${BLUE}Начинаем удаление...${NC}"
# 1. Остановка службы
echo -e "${GREEN}1. Stopping service...${NC}"
echo -e "${GREEN}1. Остановка службы...${NC}"
if systemctl is-active --quiet ${SERVICE_NAME}.service 2>/dev/null; then
systemctl stop ${SERVICE_NAME}.service
echo -e " ✓ Service stopped"
echo -e " ✅ Служба остановлена"
else
echo -e " ⚠ Service not running"
echo -e " ⚠️ Служба не запущена"
fi
# 2. Отключение службы
echo -e "${GREEN}2. Disabling service...${NC}"
echo -e "${GREEN}2. Отключение службы...${NC}"
if systemctl is-enabled --quiet ${SERVICE_NAME}.service 2>/dev/null; then
systemctl disable ${SERVICE_NAME}.service
echo -e " ✓ Service disabled"
echo -e " ✅ Служба отключена"
else
echo -e " ⚠ Service not enabled"
echo -e " ⚠️ Служба не включена"
fi
# 3. Удаление файла службы
echo -e "${GREEN}3. Removing service file...${NC}"
echo -e "${GREEN}3. Удаление файла службы...${NC}"
if [ -f "/etc/systemd/system/${SERVICE_NAME}.service" ]; then
rm -f /etc/systemd/system/${SERVICE_NAME}.service
echo -e " ✓ Service file removed"
echo -e " ✅ Файл службы удален"
else
echo -e " ⚠ Service file not found"
echo -e " ⚠️ Файл службы не найден"
fi
# 4. Перезагрузка systemd
echo -e "${GREEN}4. Reloading systemd...${NC}"
echo -e "${GREEN}4. Перезагрузка systemd...${NC}"
systemctl daemon-reload
systemctl reset-failed
echo -e " systemd reloaded"
echo -e " systemd перезагружен"
# 5. Удаление sudoers файла
echo -e "${GREEN}5. Removing sudoers file...${NC}"
echo -e "${GREEN}5. Удаление sudoers файла...${NC}"
if [ -f "/etc/sudoers.d/audio-recorder" ]; then
rm -f /etc/sudoers.d/audio-recorder
echo -e " Sudoers file removed"
echo -e " Sudoers файл удален"
else
echo -e " ⚠ Sudoers file not found"
echo -e " ⚠ Sudoers файл не найден"
fi
# 6. Удаление sysctl конфигурации
echo -e "${GREEN}6. Removing sysctl configuration...${NC}"
echo -e "${GREEN}6. Удаление sysctl конфигурации...${NC}"
if [ -f "/etc/sysctl.d/99-audio-recorder.conf" ]; then
rm -f /etc/sysctl.d/99-audio-recorder.conf
echo -e " Sysctl config removed"
echo -e " Sysctl конфиг удален"
else
echo -e " ⚠ Sysctl config not found"
echo -e " ⚠ Sysctl конфиг не найден"
fi
# 7. Удаление ALSA конфигурации (если была добавлена приложением)
echo -e "${GREEN}7. Removing ALSA configuration...${NC}"
# 7. Удаление ALSA конфигурации
echo -e "${GREEN}7. Удаление ALSA конфигурации...${NC}"
if [ -f "/etc/asound.conf" ] && grep -q "audio-recorder" /etc/asound.conf 2>/dev/null; then
rm -f /etc/asound.conf
echo -e " ALSA config removed"
echo -e " ALSA конфиг удален"
else
echo -e " ⚠ ALSA config not found or not created by app"
echo -e " ⚠ ALSA конфиг не найден"
fi
# 8. Удаление WireGuard модуля (если был добавлен приложением)
echo -e "${GREEN}8. Removing WireGuard module configuration...${NC}"
# 8. Удаление WireGuard модуля
echo -e "${GREEN}8. Удаление WireGuard модуля...${NC}"
if [ -f "/etc/modules-load.d/wireguard.conf" ] && grep -q "wireguard" /etc/modules-load.d/wireguard.conf 2>/dev/null; then
rm -f /etc/modules-load.d/wireguard.conf
echo -e " WireGuard module config removed"
echo -e " WireGuard модуль удален"
else
echo -e " ⚠ WireGuard module config not found"
echo -e " ⚠ WireGuard модуль не найден"
fi
# 9. Удаление пользователя
echo -e "${GREEN}9. Removing user account...${NC}"
echo -e "${GREEN}9. Удаление пользователя...${NC}"
if id -u ${APP_USER} > /dev/null 2>&1; then
userdel ${APP_USER} 2>/dev/null || true
echo -e " ✓ User ${APP_USER} removed"
echo -e " ✅ Пользователь ${APP_USER} удален"
else
echo -e " User ${APP_USER} not found"
echo -e " Пользователь ${APP_USER} не найден"
fi
# 10. Удаление установочной директории
echo -e "${GREEN}10. Removing installation directory...${NC}"
echo -e "${GREEN}10. Удаление установочной директории...${NC}"
if [ -d "$INSTALL_DIR" ]; then
if [ "$KEEP_RECORDINGS" = "y" ] || [ "$KEEP_RECORDINGS" = "Y" ]; then
# Сохраняем записи
echo -e " 📀 Keeping recordings..."
echo -e " 📀 Сохраняем записи..."
if [ -d "$RECORDINGS_DIR" ]; then
BACKUP_DIR="/tmp/audio-recorder-backup-$(date +%Y%m%d_%H%M%S)"
mkdir -p "$BACKUP_DIR"
cp -r "$RECORDINGS_DIR" "$BACKUP_DIR/"
echo -e " ✓ Recordings backed up to: $BACKUP_DIR"
echo -e " ✅ Записи сохранены в: $BACKUP_DIR"
fi
fi
rm -rf "$INSTALL_DIR"
echo -e " ✓ Installation directory removed"
echo -e " ✅ Установочная директория удалена"
else
echo -e " ⚠ Installation directory not found"
echo -e " ⚠️ Установочная директория не найдена"
fi
# 11. Очистка временных файлов
echo -e "${GREEN}11. Cleaning temporary files...${NC}"
echo -e "${GREEN}11. Очистка временных файлов...${NC}"
rm -rf /tmp/audio-recorder-* 2>/dev/null || true
rm -rf /tmp/wpa_supplicant.conf 2>/dev/null || true
rm -rf /tmp/openvpn_temp_*.conf 2>/dev/null || true
echo -e " ✓ Temporary files cleaned"
echo -e " ✅ Временные файлы очищены"
# 12. Очистка логов (опционально)
echo -e "${GREEN}12. Cleaning log files...${NC}"
read -p "Do you want to remove log files? (y/n): " -n 1 -r
# 12. Очистка логов
echo -e "${GREEN}12. Очистка логов...${NC}"
read -p "Удалить файлы логов? (y/n): " -n 1 -r
echo
if [[ $REPLY =~ ^[Yy]$ ]]; then
rm -rf /var/log/audio-recorder 2>/dev/null || true
rm -f /var/log/audio-recorder.log 2>/dev/null || true
journalctl --rotate --vacuum-time=1s 2>/dev/null || true
echo -e " ✓ Log files removed"
echo -e " ✅ Логи удалены"
else
echo -e " ⚠ Log files kept"
echo -e " ⚠ Логи сохранены"
fi
# 13. Проверка оставшихся процессов
echo -e "${GREEN}13. Checking for remaining processes...${NC}"
echo -e "${GREEN}13. Проверка оставшихся процессов...${NC}"
if pgrep -f "audio-recorder" > /dev/null; then
echo -e " ${YELLOW} Found remaining audio-recorder processes${NC}"
echo -e " ${YELLOW}️ Найдены остаточные процессы audio-recorder${NC}"
pkill -f "audio-recorder" 2>/dev/null || true
echo -e " ✓ Processes killed"
echo -e " ✅ Процессы остановлены"
else
echo -e " ✓ No remaining processes"
echo -e " ✅ Остаточных процессов нет"
fi
# 14. Проверка порта 80
echo -e "${GREEN}14. Checking port 80...${NC}"
if netstat -tlnp 2>/dev/null | grep -q ":80 "; then
echo -e " ${YELLOW}⚠ Port 80 is still in use by another application${NC}"
echo -e "${GREEN}14. Проверка порта 80...${NC}"
if command -v netstat &> /dev/null; then
if netstat -tlnp 2>/dev/null | grep -q ":80 "; then
echo -e " ${YELLOW}⚠️ Порт 80 занят другим приложением${NC}"
else
echo -e " ✅ Порт 80 свободен"
fi
elif command -v ss &> /dev/null; then
if ss -tlnp 2>/dev/null | grep -q ":80 "; then
echo -e " ${YELLOW}⚠️ Порт 80 занят другим приложением${NC}"
else
echo -e " ✅ Порт 80 свободен"
fi
else
echo -e " ✓ Port 80 is free"
echo -e " ⚠️ Не удалось проверить порт (netstat/ss не найдены)"
fi
echo ""
echo -e "${GREEN}========================================${NC}"
echo -e "${GREEN}Uninstallation Complete!${NC}"
echo -e "${GREEN}Удаление завершено!${NC}"
echo -e "${GREEN}========================================${NC}"
echo -e ""
echo -e "${BLUE}Summary:${NC}"
echo -e " - Service removed: ${SERVICE_NAME}"
echo -e " - Installation directory: ${INSTALL_DIR} - REMOVED"
echo -e "${BLUE}Итог:${NC}"
echo -e " - Служба удалена: ${SERVICE_NAME}"
echo -e " - Установочная директория: ${INSTALL_DIR} - УДАЛЕНА"
if [ "$KEEP_RECORDINGS" = "y" ] || [ "$KEEP_RECORDINGS" = "Y" ]; then
echo -e " - Recordings: BACKED UP"
echo -e " - Записи: СОХРАНЕНЫ в /tmp/audio-recorder-backup-*"
else
echo -e " - Recordings: REMOVED"
echo -e " - Записи: УДАЛЕНЫ"
fi
echo -e " - User: ${APP_USER} - REMOVED"
echo -e " - Пользователь: ${APP_USER} - УДАЛЕН"
echo -e ""
echo -e "${YELLOW}Note: System packages (ffmpeg, wireguard, openvpn, etc.) were NOT removed${NC}"
echo -e "${YELLOW} as they may be used by other applications.${NC}"
echo -e "${YELLOW}Примечание: Системные пакеты (ffmpeg, wireguard, openvpn и др.) НЕ БЫЛИ УДАЛЕНЫ${NC}"
echo -e "${YELLOW}так как они могут использоваться другими приложениями.${NC}"
echo -e ""
echo -e "${GREEN}To completely reinstall:${NC}"
echo -e " 1. Rebuild the application: make build-<arch>"
echo -e " 2. Run installation: sudo ./install-service.sh"
echo -e "${GREEN}Для полной переустановки:${NC}"
echo -e " 1. Пересоберите приложение: go build -o audio-recorder ."
echo -e " 2. Запустите установку: sudo ./install-service.sh"
echo -e ""
echo -e "${RED}Uninstallation finished.${NC}"
echo -e "${RED}Удаление завершено.${NC}"