РЕШЕНО:mediatomb и systemd (Mediatomb и автостарт.)

Sabayon, Calculate, Funtoo, Exherbo

Модератор: /dev/random

Ответить
Аватара пользователя
dimonchik
Сообщения: 99
ОС: Gentoo

РЕШЕНО:mediatomb и systemd

Сообщение dimonchik »

Здравствуйте. Есть небольшая проблема, не знаю как решить.
На десктопном компьютере имеется медиасервер Mediatomb. Серевер не хочет запускаться в автоматическом режиме. Использую systemd. Mediatomb при сборке не создает unit для запуска. Поэтому решил написать его сам.
Spoiler

Код:

[Unit] Description=UPnP MediaServer After=network.target After=mysqld.service After=NetworkManager.service [Service] Type=forking EnvironmentFile=/etc/conf.d/mediatomb PIDFile=/run/mediatomb.pid ExecStart=/usr/bin/mediatomb -d -u $MEDIATOMB_USER -g $MEDIATOMB_GROUP -P $MEDIATOMB_PIDFILE -l $MEDIATOMB_LOGFILE -p $MEDIATOMB_PORT -c $MEDIATOMB_CONFIG [Install] WantedBy=multi-user.target

Вручном режиме сервис запускается.
Spoiler

Код:

systemctl status mediatomb mediatomb.service - UPnP MediaServer   Loaded: loaded (/etc/systemd/system/mediatomb.service; enabled; vendor preset: disabled)   Active: active (running) since Пт 2017-01-27 17:49:55 EET; 16s ago  Process: 5710 ExecStart=/usr/bin/mediatomb -d -u $MEDIATOMB_USER -g $MEDIATOMB_GROUP -P $MEDIATOMB_PIDFILE -l $MED IATOMB_LOGFILE -p $MEDIATOMB_PORT -c $MEDIATOMB_CONFIG (code=exited, status=0/SUCCESS) Main PID: 5711 (mediatomb)   CGroup: /system.slice/mediatomb.service           └─5711 /usr/bin/mediatomb -d -u mediatomb -g mediatomb -P /var/run/mediatomb.pid -l /var/log/mediatomb... янв 27 17:49:55 dimonchik230 systemd[1]: Starting UPnP MediaServer... янв 27 17:49:55 dimonchik230 systemd[1]: Started UPnP MediaServer.

Но стоит его добавить в автозагрузку, то он завершает работу с таким логом.
Spoiler

Код:

systemctl status mediatomb   mediatomb.service - UPnP MediaServer   Loaded: loaded (/etc/systemd/system/mediatomb.service; enabled; vendor preset: disabled)   Active: failed (Result: exit-code) since Пт 2017-01-27 17:24:11 EET; 5min ago  Process: 3053 ExecStart=/usr/bin/mediatomb -d -u $MEDIATOMB_USER -g $MEDIATOMB_GROUP -P $MEDIATOMB_PIDFILE -l $MED IATOMB_LOGFILE -p $MEDIATOMB_PORT -c $MEDIATOMB_CONFIG (code=exited, status=0/SUCCESS) Main PID: 3056 (code=exited, status=1/FAILURE) янв 27 17:24:11 dimonchik230 systemd[1]: Starting UPnP MediaServer... янв 27 17:24:11 dimonchik230 systemd[1]: Started UPnP MediaServer. янв 27 17:24:11 dimonchik230 systemd[1]: mediatomb.service: Main process exited, code=exited, status=1/FAILURE янв 27 17:24:11 dimonchik230 systemd[1]: mediatomb.service: Unit entered failed state. янв 27 17:24:11 dimonchik230 systemd[1]: mediatomb.service: Failed with result 'exit-code'.

С медиасервером использую mysql, с ним проблем нет.
Spoiler

Код:

systemctl status mysqld mysqld.service - MySQL database server   Loaded: loaded (/usr/lib64/systemd/system/mysqld.service; enabled; vendor preset: disabled)   Active: active (running) since Пт 2017-01-27 17:24:11 EET; 7min ago  Process: 2946 ExecStartPost=/usr/libexec/mysqld-wait-ready $MAINPID (code=exited, status=0/SUCCESS) Main PID: 2945 (mysqld)   CGroup: /system.slice/mysqld.service           └─2945 /usr/sbin/mysqld --basedir=/usr янв 27 17:24:10 dimonchik230 systemd[1]: Starting MySQL database server... янв 27 17:24:10 dimonchik230 mysqld[2945]: 170127 17:24:10 [Note] /usr/sbin/mysqld (mysqld 10.0.28-MariaDB... ... янв 27 17:24:11 dimonchik230 systemd[1]: Started MySQL database server. Hint: Some lines were ellipsized, use -l to show in full.

Временно нашел решение, создал mediatomb.timer
Spoiler

Код:

[Unit] Description=UPnP MediaServer [Timer] OnBootSec=2min [Install] WantedBy=timers.target

Моя система:
Spoiler

Код:

Linux dimonchik230 4.4.39-gentoo #2 SMP Mon Jan 16 21:01:18 EET 2017 x86_64 AMD Athlon™ II X3 425 Processor AuthenticAMD GNU/Linux

Код:

eselect profile list Available profile symlink targets:  [1]   default/linux/amd64/13.0  [2]   default/linux/amd64/13.0/selinux  [3]   default/linux/amd64/13.0/desktop  [4]   default/linux/amd64/13.0/desktop/gnome  [5]   default/linux/amd64/13.0/desktop/gnome/systemd  [6]   default/linux/amd64/13.0/desktop/kde  [7]   default/linux/amd64/13.0/desktop/kde/systemd  [8]   default/linux/amd64/13.0/desktop/plasma  [9]   default/linux/amd64/13.0/desktop/plasma/systemd *  [10]  default/linux/amd64/13.0/developer  [11]  default/linux/amd64/13.0/no-multilib  [12]  default/linux/amd64/13.0/systemd  [13]  default/linux/amd64/13.0/x32  [14]  hardened/linux/amd64  [15]  hardened/linux/amd64/selinux  [16]  hardened/linux/amd64/no-multilib  [17]  hardened/linux/amd64/no-multilib/selinux  [18]  hardened/linux/amd64/x32  [19]  hardened/linux/musl/amd64  [20]  hardened/linux/musl/amd64/x32  [21]  default/linux/uclibc/amd64  [22]  hardened/linux/uclibc/amd64

Mediatomb собирается с такими флагами:
Spoiler

Код:

emerge -av mediatomb * IMPORTANT: 1 news items need reading for repository 'gentoo'. * Use eselect news read to view new items. These are the packages that would be merged, in order: Calculating dependencies... done! [ebuild   R    ] net-misc/mediatomb-0.12.1-r8::gentoo  USE="exif ffmpeg flac inotify javascript magic mp4 mysql sqlite taglib thumbnail zlib -curl -debug -id3tag -lastfm -libextractor" 0 KiB  

graphik.png

Помогите избавиться от костыля.
Спасибо сказали:
Аватара пользователя
ormorph
Сообщения: 2603
ОС: Gentoo

Re: РЕШЕНО:mediatomb и systemd

Сообщение ormorph »

Это больше не по gentoo вопрос а по systemd, можно конечно в багзилу написать что не создаётся юнит.
А так тыц вроде Requires для зависимостей. Как вариант просто можно распаковать какой нибудь rpm с данной программой и просмотреть как там юнит написан.
Ну и можно просмотреть возможно юнит есть в исходнике:

Код: Выделить всё

ebuild xxxx.ebuild unpack

а дальше по выводу смотреть где искать исходное.
Спасибо сказали:
Аватара пользователя
ormorph
Сообщения: 2603
ОС: Gentoo

Re: РЕШЕНО:mediatomb и systemd

Сообщение ormorph »

Ради интереса просмотрел ебилды, в mediatomb-0.12.2_pre20160522.ebuild видно что юниты устанавливаются, в более ранней версии нет. Юниты при этом присутствуют исходнике в каталоге scripts/systemd.
Спасибо сказали:
Аватара пользователя
dimonchik
Сообщения: 99
ОС: Gentoo

Re: РЕШЕНО:mediatomb и systemd

Сообщение dimonchik »

Как вариант просто можно распаковать какой нибудь rpm с данной программой и просмотреть как там юнит написан.

Образец юнита брал из kubuntu.
Ну и можно просмотреть возможно юнит есть в исходнике:

В исходниках юнита нет. Похоже mediatomb собирается изначально только для openrc.
В OpenSUSE помнится для того чтобы добавить в автозапуск mediatomb, требуется запустить его такой командой:

Код:

/usr/lib/systemd/systemd-sysv-install enable mediatomb
Спасибо сказали:
Аватара пользователя
ormorph
Сообщения: 2603
ОС: Gentoo

Re: РЕШЕНО:mediatomb и systemd

Сообщение ormorph »

Тыц тут видно что ставится два юнита, один с зависимостями для mysql, по названию видно...
Спасибо сказали:
Аватара пользователя
dimonchik
Сообщения: 99
ОС: Gentoo

Re: РЕШЕНО:mediatomb и systemd

Сообщение dimonchik »

ormorph писал(а):
27.01.2017 21:27
Ради интереса просмотрел ебилды, в mediatomb-0.12.2_pre20160522.ebuild видно что юниты устанавливаются, в более ранней версии нет. Юниты при этом присутствуют исходнике в каталоге scripts/systemd.

Спасибо стояла версия mediatomb-0.12.1-r8 там юнита нет.
Поставлю, отпишусь.
Спасибо сказали:
Аватара пользователя
dimonchik
Сообщения: 99
ОС: Gentoo

Re: РЕШЕНО:mediatomb и systemd

Сообщение dimonchik »

Спасибо огромное все работает.
Спасибо сказали:
Ответить