7

Насколько я понимаю, если я укажу директиву% dir в списке файлов%, RPM не будет перечислять файлы в этом каталоге. Это может позволить вам установить определенные разрешения для рассматриваемого каталога (или пользователя, группы и т.д.). Тем не менее, я по-прежнему получаю сообщения "Файлы перечислены дважды с предупреждением", когда в дополнение к указанному каталогу я также явно перечисляю файлы. Это звучит глупо, я знаю, но файлы имеют разные права доступа к каталогу, поэтому мне нужно определять каталог отдельно, используя директиву% dir.

Если бы я не использовал директиву% dir, то да, я бы ожидал увидеть эти предупреждающие сообщения.

Я прав?

ОБНОВИТЬ:

На самом деле, файл, указанный дважды, кажется, появляется только тогда, когда я объединяю директиву% dir с директивой% config.

Таким образом, следующее без предупреждений:

%files
%dir %attr(0755,testuser,test) /app/product/tracking-tool/bin/
%dir %attr(0755,testuser,test) /app/product/tracking-tool/bin/scripts/

%attr(0755,vscc_prod,vscc) /app/product/tracking-tool/bin/run.sh
%attr(0755,vscc_prod,vscc) /app/product/tracking-tool/bin/count.sh
%attr(0755,vscc_prod,vscc) /app/product/tracking-tool/bin/delete.sh
%attr(0755,vscc_prod,vscc) /app/product/tracking-tool/bin/scripts/script1.sh

Но в результате появляются предупреждающие сообщения:

%config %dir %attr(0755,testuser,test)  /app/product/tracking-tool/config/
%config %dir %attr(0755,testuser,test)  /app/product/tracking-tool/config/properties
%config %dir %attr(0755,testuser,test)  /app/product/tracking-tool/config/other

%config %attr(0644,testuser,test)  /app/product/tracking-tool/config/xmlconfig.xml
%config %attr(0644,testuser,test)  /app/product/tracking-tool/config/properties/logging.properties
%config %attr(0600,testuser,test)  /app/product/tracking-tool/config/properties/test.txt
%config %attr(0600,testuser,test)  /app/product/tracking-tool/config/other/other.txt

Warning appear as follows:

[WARNING] warning: File listed twice: /app/product/tracking-tool/config/xmlconfig.xml
[WARNING] warning: File listed twice: /app/product/tracking-tool/config/properties/logging.properties
[WARNING] warning: File listed twice: /app/product/tracking-tool/config/properties/test.txt
[WARNING] warning: File listed twice: /app/product/tracking-tool/config/other/other.txt

1 ответ1

1

Насколько я знаю, директива% config не допускает дополнительных директив после нее, поскольку она просто используется для пометки файлов как файлов конфигурации. Попробуйте что-то вроде этого (я все еще не уверен на 100%, что директива% config работает для каталогов, в документации не сказано, работает ли она или нет):

%files
%config /app/product/tracking-tool/config/xmlconfig.xml
%config /app/product/tracking-tool/config/properties/logging.properties
%config /app/product/tracking-tool/config/other/other.txt
%dir %attr(0755,testuser,test) /app/product/tracking-tool/config/ 
%dir %attr(0755,testuser,test) /app/product/tracking-tool/config/properties
%dir %attr(0755,testuser,test) /app/product/tracking-tool/config/other
%attr(0644,testuser,test) /app/product/tracking-tool/config/xmlconfig.xml
%attr(0644,testuser,test) /app/product/tracking-tool/config/properties/logging.properties
%attr(0600,testuser,test) /app/product/tracking-tool/config/properties/test.txt
%attr(0600,testuser,test) /app/product/tracking-tool/config/other/other.txt

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .