[Решено] Не получается выполнить команду rm, размещённой в unit'е systemd

vasek
редактируя таким способом есть нюанс - если unit содержал ExecStartPre, то сначала его нужно обнулить.
Ну там написано об этом. И как я помню, конкретно ExecStartPre можно повторять.
Скопировал файл unit.service в /etc/systemd/system/ и добавил туда свою команду, результат такой же: "Отказано в доступе" с перечислением всех файлов, которые находятся в /var/lib/folder/.
vladis
результат такой же: "Отказано в доступе" с перечислением всех файлов, которые находятся в /var/lib/folder/.
Не зная что за unit, его назначение ничего сказать не возможно - это гадание ... нужно смотреть конкретно.

PS - если погадать, то предположу, что unit вполняется с занижеными правами ... если это так, то попробуй вместо
vladis
ExecStartPre=/usr/bin/sh -c 'rm -r /var/lib/folder/*'
прописать
ExecStartPre=+/usr/bin/sh -c 'rm -r /var/lib/folder/*'
Ошибки не исчезают с опытом - они просто умнеют
Провел эксперимент - в приведенный выше файл
vasek
[Service]
ExecStart=
# no login, no password
ExecStart=-/sbin/agetty -a 'vasek' –noclear %I $TERM
добавил две строчки (ExecStartPre)
[Service]
 ExecStartPre=
 ExecStart=
# no login, no password
 ExecStartPre=/usr/bin/sh -c 'rm -r /var/lib/test/*'
 ExecStart=-/sbin/agetty -a 'vasek' --noclear %I $TERM
проблем нет - файл в /var/lib/test удалился ... ищи свои ошибки.
Ошибки не исчезают с опытом - они просто умнеют
vasek
проблем нет - файл в /var/lib/test удалился … ищи свои ошибки.
Интересная у вас манера общения, чем-то напоминает "сам дурак". Как-то грубовато, по моему?
Но хочу поблагодарить, "+" в пути перед командой помог.
vladis
"+" в пути перед командой помог
То есть как и предположил, unit не имел достаточно прав ... что и не понятно. Все системные unit, расположенные в /usr/lib/systemd/ имеют права root, а вот почему этот unit не имел права root, не понятно - нужно было объяснить подробнее и привести его имя ... Это к тому, что нужно приводить больше информации, что облегчает решение проблемы и не приводит к гаданию.
В части фразы "ищи свои ошибки" - тебе было предложено несколько способов поискать причину проблемы, что похоже сделано не было .... и как в этом случае решать проблему? - гадать? ... не возможно решить проблему, не зная ее причины.
Так что не нужно обижаться ...

PS - пропиши РЕШЕНО (в названии темы) ... хотя интересно узнать почему unit не имел достаточно прав - что это за unit?
Ошибки не исчезают с опытом - они просто умнеют
vasek
тебе было предложено несколько способов поискать причину проблемы, что похоже сделано не было
Ну, я бы сюда наверно не обратился, если бы сам решил?
 
Зарегистрироваться или войдите чтобы оставить сообщение.