49 lines
1.7 KiB
Bash
49 lines
1.7 KiB
Bash
#!/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 "Сервисы запустятся автоматически при следующей загрузке."
|