#!/bin/bash # Скрипт установки systemd сервисов для Carpibord set -e SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" PROJECT_DIR="$(dirname "$SCRIPT_DIR")" echo "=== Установка Carpibord сервисов ===" # Проверка root if [ "$EUID" -ne 0 ]; then echo "Запусти с sudo: sudo ./install.sh" exit 1 fi # Копируем сервисы echo "[1/4] Копирование сервисов..." cp "$SCRIPT_DIR/can0-link.service" /etc/systemd/system/ cp "$SCRIPT_DIR/carpibord.service" /etc/systemd/system/ # Обновляем путь к проекту в сервисе echo "[2/4] Настройка путей..." sed -i "s|/home/pi/carpibord|$PROJECT_DIR|g" /etc/systemd/system/carpibord.service # Определяем пользователя (кто запустил sudo) ACTUAL_USER="${SUDO_USER:-pi}" sed -i "s|User=pi|User=$ACTUAL_USER|g" /etc/systemd/system/carpibord.service # Перезагружаем systemd echo "[3/4] Перезагрузка systemd..." systemctl daemon-reload # Включаем сервисы echo "[4/4] Включение сервисов..." systemctl enable can0-link.service systemctl enable carpibord.service echo "" echo "=== Готово! ===" echo "" echo "Команды управления:" echo " sudo systemctl start carpibord # Запустить (can0 поднимется автоматически)" echo " sudo systemctl stop carpibord # Остановить" echo " sudo systemctl status carpibord # Статус" echo " journalctl -u carpibord -f # Логи в реальном времени" echo "" echo "Сервисы запустятся автоматически при следующей загрузке."