Создавать лог-файл при установке rpm

Как лучше всего создать файл журнала в файле спецификаций rpm? Служба, которую я создаю, работает под непривилегированным пользователем, поэтому не может создавать файлы в /var/log/.


person Noodles    schedule 10.03.2014    source источник
comment
Я думаю, что минимальный подход доступен с помощью простой команды echo во время выполнения каждого скриптлета из specfile.   -  person Erfankam    schedule 09.04.2017


Ответы (1)


Вы можете создать каталог /var/log/myservice/ и сделать его владельцем вашего пользователя. Внутри %install или make install: (игнорируя buildroot и т.п.)

install -d /var/log/myservice -o serviceuser -m 750

Это предполагает, что вы запускаете свой сервис аналогично apache, который часто работает от имени пользователя apache и по-прежнему помещает журналы в var/log/apache.

Затем добавьте соответствующее правило для /var/log/myservice в файл спецификации.

%dir /var/log/myservice
person 6EQUJ5    schedule 10.03.2014
comment
Хорошая идея, но rpmbuilid жалуется, что пользователя не существует - person Noodles; 10.03.2014
comment
Как насчет добавления каталога в обычном режиме, а также добавления и добавления пользователем его в %post ? - person 6EQUJ5; 10.03.2014
comment
+1, но на самом деле вы хотите добавить пользователя в %pre и указать пользователя/группу-владельца в разделе %files - person guido; 13.03.2014