Форум русскоязычного сообщества Ubuntu


Считаете, что Ubuntu недостаточно дружелюбна к новичкам?
Помогите создать новое Руководство для новичков!

Автор Тема: Ubuntu.srv не стартует motion в качестве сервиса  (Прочитано 2267 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Faster

  • Автор темы
  • Новичок
  • *
  • Сообщений: 25
    • Просмотр профиля
Доброе ВРЕМЯ СУТОК! прошу сразу не кидать тапками и не тыкать мордой в лоток,

в общем поставил (штатно) motion настроил камеры радуюсь жизни. и в итоге решил что настройка закончена. и ршил что жить ему далее нужно как сервису ( ранее сам его запускал из под рута). Причину я четко понимаю, он не может создать логи свои , но почему ? разве сервисы стартуются не из под рута ?

в общем поясните ПЖСТ как это поправить, ничего не нагуглилось толкового , и почему то многие предпочитают стартовать motion вообще в кроне???

Расскажите как правильно( если можно на пальцах для ребенка, мозг инфицирован форточками с версии 3.1)

sudo service motion status
● motion.service - LSB: Start Motion detection
   Loaded: loaded (/etc/init.d/motion; generated)
   Active: active (exited) since Fri 2018-07-27 19:05:05 +10; 1 weeks 2 days ago
     Docs: man:systemd-sysv-generator(8)
    Tasks: 0 (limit: 4644)
   CGroup: /system.slice/motion.service

июл 27 19:05:05 server motion[1920]:  * Starting motion detection daemon motion
июл 27 19:05:05 server motion[1920]:    ...done.
июл 27 19:05:04 server systemd[1]: Starting LSB: Start Motion detection...
июл 27 19:05:05 server systemd[1]: Started LSB: Start Motion detection.
июл 27 19:05:12 server motion[1988]: [-994736240:motion] [NTC] [ALL] conf_load: Processing thread 0 - config file /etc/motion/motion.conf
июл 27 19:05:12 server motion[1988]: [-994736240:motion] [NTC] [ALL] config_camera: Processing camera config file /etc/motion/cam1.conf
июл 27 19:05:12 server motion[1988]: [-994736240:motion] [NTC] [ALL] motion_startup: Motion 4.0 Started
июл 27 19:05:12 server motion[1988]: [-994736240:motion] [ERR] [ALL] myfopen: Error opening file /var/log/motion/motion.log with mode a: Permission denied
июл 27 19:05:12 server motion[1988]: [-994736240:motion] [EMG] [ALL] motion_startup: Exit motion, cannot create log file /var/log/motion/motion.log: Permission denied


Оффлайн di_mok

  • Новичок
  • *
  • Сообщений: 19
    • Просмотр профиля
    • LinuxMint
Re: Ubuntu.srv не стартует motion в качестве сервиса
« Ответ #1 : 06 Августа 2018, 09:03:17 »
Он же стартанул. Только жалуется, что на запись логов правов не хватает

Оффлайн ecc83

  • Старожил
  • *
  • Сообщений: 2121
  • Ubuntu Mate 22.04 LTS
    • Просмотр профиля
Re: Ubuntu.srv не стартует motion в качестве сервиса
« Ответ #2 : 06 Августа 2018, 09:15:21 »
Если сабж запущен не от рута, то он не сможет создавать лог в /var/log
Создайте ему директорию log в домашнем каталоге и измените путь к нему в конфиге.

Проверьте настройки:

/etc/default/motion
должно быть

start_motion_daemon=yes
в основном файле конфигурации /etc/motion/motion.conf опция

daemon on
и запускайть как демон можно командой:

motion -b -c /etc/motion/motion.conf
либо настроить запуск через systemd
« Последнее редактирование: 06 Августа 2018, 09:18:01 от ecc83 »

Оффлайн EvangelionDeath

  • Администратор
  • Старожил
  • *
  • Сообщений: 3487
  • Ubuntu 22.04 х64
    • Просмотр профиля
Re: Ubuntu.srv не стартует motion в качестве сервиса
« Ответ #3 : 06 Августа 2018, 10:40:40 »
Faster,
То что "сервисы стартуют из под root" совсем не значит, что они и работают с правами суперпользователя. Зачастую сервисы используют какого-то пользователя без привелегий (так вот nginx/apache - www-data, ряд можно продолжать)

1) Проверьте или вообще существует директория /var/log/motion
2) Проверьте права доступа к фалу и дериктории

Очень часто такое поведение связано с тем, что /var/log монтируется в tmpfs и сервис просто не умеет создавать директории (она создается на этапе установки), а после перезагрузки, как вы понимаете нужной директории несуществует
HP Pro 840 G3: Intel i5-6300U, 32GB DDR4 2133MHz, Intel 520, Intel Pro 2500 180GB/Ubuntu 22.04
Dell Latitude 5590: Intel i5-8350U, 16GB DDR4 2400MHz, Intel 620, Samsung 1TB/Ubuntu 22.04

Оффлайн ecc83

  • Старожил
  • *
  • Сообщений: 2121
  • Ubuntu Mate 22.04 LTS
    • Просмотр профиля
Re: Ubuntu.srv не стартует motion в качестве сервиса
« Ответ #4 : 06 Августа 2018, 11:01:52 »
Зачастую сервисы используют какого-то пользователя без привелегий (так вот nginx/apache - www-data, ряд можно продолжать)

Если говорить про конкретное приложение, которое тут обсуждается, а не "про вообще, как бывает в жизни", то возможность записи в служебные директории зависит от кого запущено приложение.
Выше я всё описал. Если приложение запущено от root, то он свободно пишет лог в /var/log/motion и создает pid в /var/run/motion.
Если же приложение запускается пользователем, нужно изменить пути в конфиг файле на директории, к которым есть доступ у данного пользователя.

Оффлайн Faster

  • Автор темы
  • Новичок
  • *
  • Сообщений: 25
    • Просмотр профиля
Re: Ubuntu.srv не стартует motion в качестве сервиса
« Ответ #5 : 09 Августа 2018, 13:19:34 »
1. Да я спокойно его стартовал в кроне по загрузке, но я считал что если оно может жить как сервис, почему нет ?
2. Как и где посмотреть как этот сервис и от какого юзера стартует , по любому гдето есть скрипт или конфиг ? (непредставляю как сервис работает..)
3. опция демона стоит, это к сожалению не влияет ...

Пойду исчё погуглю ... но что то прям туго

Пользователь добавил сообщение 09 Августа 2018, 13:43:29:
Походу обритаю просвещение , зашел в /var/log
и стукнул ls -l
и че я вижу всего несколько логов ито в основном системных имеют root:root
остальные все своё , но папки на чтение для всех
в общем chown,chmod затем service motion restart и вуаля камеры поднялись ... в общем тема закрыта , всем спасибо вы меня навелина мысль подумать где у меня палцы кривят
« Последнее редактирование: 09 Августа 2018, 13:43:29 от Faster »

 

Страница сгенерирована за 0.018 секунд. Запросов: 22.