LINUX.ORG.RU

Systemd как дождаться монтирования fstab?

 ,


1

2

Здравствуйте. есть юниты systemd, их нужно запускать после монтирования диска fstab /dev/sda1

[Unit]
Description=AceStream
Requires=NetworkManager-wait-online.service local-fs.target
After=NetworkManager-wait-online.service

[Service]
ExecStart=/mnt/media/acestream/autostart.sh

Но что-то не сработало.

По статусу пишет что не запущено.



Последнее исправление: cetjs2 (всего исправлений: 1)

Тебе нужно дождаться или стриггерить? В юните не сделано ни то, ни другое. В принципе, все юниты по умолчанию получают зависимость After=local-fs.target (транзитивную через basic.target -> sysinit.target -> local-fs.target), так что здесь делать ничего не нужно. Другими словами, если этот юнит и local-fs.target оказываются в одной транзакции, то они взаимно упорядочиваются. Но это не означает, что юнит вообще когда-либо будет запущен. Ты хочешь, чтобы он запускался при старте системы? Или автоматически после того, как случится это монтирование?

intelfx ★★★★★
()
Ответ на: комментарий от Apophis

Ожидания чего? Напоминаю, что задержки — это неправильный способ решения проблем в многозадачной среде. Всегда неправильный.

intelfx ★★★★★
()
Последнее исправление: intelfx (всего исправлений: 1)
Ответ на: комментарий от intelfx

У меня если честно вообще юнит не включается.

[root@centos-rpi3 ~]# systemctl status acestream
● acestream.service - AceStream
   Loaded: loaded (/usr/lib/systemd/system/acestream.service; static; vendor preset: disabled)
   Active: inactive (dead)
[root@centos-rpi3 ~]#

[root@centos-rpi3 ~]# systemctl enable acestream
[root@centos-rpi3 ~]# systemctl status acestream
● acestream.service - AceStream
   Loaded: loaded (/usr/lib/systemd/system/acestream.service; static; vendor preset: disabled)
   Active: inactive (dead)
[root@centos-rpi3 ~]#
Apophis
() автор топика
Ответ на: комментарий от Apophis

А я тебе о чём и говорю? Юниты сами по себе не запускаются. Тебе нужно создать условия для их запуска самостоятельно. Например, добавить wants-зависимость от того юнита, который должен (согласно твоему замыслу) приводить к запуску acestream.

intelfx ★★★★★
()
Ответ на: комментарий от redgremlin

Это в другую сторону. ТС просто дислексик, и ему нужно не «дождаться монтирования fstab», а сделать так, чтобы монтирование триггерило запуск его юнита.

Хотя на самом деле я плохо понимаю, чего он хочет.

intelfx ★★★★★
()
Последнее исправление: intelfx (всего исправлений: 2)
Ответ на: комментарий от intelfx

Я так понял ему это и надо. Дождаться монтирования и запустить свой юнит.

их нужно запускать после монтирования диска fstab /dev/sda1

То есть это не какая-то флешка, которую то всунули, то нет, а обычный раздел, который доступен при старте системы.

redgremlin ★★★★★
()
Ответ на: комментарий от redgremlin

Ну в таком случае у него всё из коробки должно работать, потому что юниты After=basic.target по умолчанию.

intelfx ★★★★★
()

AceStream

Ух ты! Оно ещё живое и работает под Linux?
И как там, есть нормальные/живые каналы, что с рекламой и где брать плейлисты?
Давно ещё это тыкал, большинство каналов лагало очень, хотя интернет нормальный.

ls-h ★★★★★
()

можно зайти с другой стороны: написать обычный юнит-файл без лишних requires/wants, сделать enable, а для /dev/sda1 настроить автомонтирование

anonymous
()
Ответ на: комментарий от Apophis

С таких, что если у тебя есть systemd, то это не линукс, а дерьмо!

anonymous
()
Ответ на: комментарий от ls-h

Да. у меня на centos 7 в Малине работает. Каналы ТТВ и Помойка. так же Ноксбит работает отлично.

Apophis
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.