С помощью puppet я понимаю, что могу рекурсивно копировать папки и рекурсивно устанавливать разрешения для отдельных файлов. Но у меня есть исходная папка с (очень, многими) файлами с тщательно настроенными разрешениями. Как мне сделать марионеточный эквивалент:
cp -a $source $dest
?
Это:
file { '/some/dest':
ensure => directory,
source => "/some/src",
recurse => true,
}
Разве не сохраняет режим.
Кроме того, в Best Practices: Recursive File Resources говорится использовать только рекурсивные файлы:
Когда общее количество рекурсивных файлов для управления невелико (например, десять или меньше)
Хорошо, поэтому в качестве аргумента допустим / some / src
содержит тысячи файлов со сложными режимами.
Согласно этой ссылке, мои другие варианты - это
Оба последних подхода, похоже, требуют очень много работы для достижения cp -a $ source $ dest
. Если у марионетки нет примитивов для создания архива или пакета debian из $ source
- я думаю, что нет ...
Итак: действительно ли невозможно cp -a $ source $ dest
с использованием марионетки?
Существует атрибут source_permissions
, который управляет тем, что происходит при копировании файлов без явной установки режима, который может делать то, что вы хотите. Вы должны установить для него значение использовать
или use_when_creating
.