Files
carpibord/systemd/install.sh

49 lines
1.7 KiB
Bash
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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