Я переместил свой комментарий сюда, чтобы поддержать более богатое форматирование.
Я не могу сообщить о том, что вам нужно '+', я только читаю сообщение об ошибке, в котором говорится, что systemd игнорирует путь ExecStartPre, поскольку он не абсолютен.
Возможно, это функция, которая существует в freedesktop.org, но мой выпуск Redhat 7.6 (который, как вы указываете, вы используете) не включает аналогичный оператор (или таблицу) в systemd.service справочная страница файла модуля. Кроме того, вы получаете очень четкое сообщение об ошибке в этой строке в файле модуля.
В справочной странице упоминаются "-" и "@", но ни одна из других ...
Вот выдержка из справочной страницы (и я предоставил ссылку выше на полную страницу).
ExecStartPre=, ExecStartPost=
Additional commands that are executed before or after the command in ExecStart=, respectively. Syntax is the same as for ExecStart=, except that multiple command lines are
allowed and the commands are executed one after the other, serially.
If any of those commands (not prefixed with "-") fail, the rest are not executed and the unit is considered failed.
Note that ExecStartPre= may not be used to start long-running processes. All processes forked off by processes invoked via ExecStartPre= will be killed before the next service
process is run.
Я предлагаю сначала удалить знак «+» и посмотреть, что произойдет, а затем продвинуться вперед.