v .0.075(изменены скрипты установки и удоления)
This commit is contained in:
Binary file not shown.
Binary file not shown.
Binary file not shown.
+8
-8
@@ -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
@@ -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}"
|
||||
Reference in New Issue
Block a user