Я использую Puppet и мне нужно создать символические ссылки между двумя папками. У меня около 10 папок с одинаковой структурой, и я всегда хочу выполнять команду ссылки в xx/yy/zz
.
Что-то вроде этого:
ln -s aa/bb/folder_to_link folders_1_to_x/yy/link_name
Я попробовал следоватьэтиуказаний, но успеха не имели.
Есть ли простая в написании команда, которая может это сделать?
решение1
Правильным решением такой проблемы в Puppet является создание определенного типа:
define folder_link (
$link_map = $name,
) {
$link_map_split = split($link_map, ':')
$origin = $link_map_split[0]
$link_name = $link_map_split[1]
$link_path = "/folders_1_to_x/yy/$link_name"
file { $link_path:
ensure => link,
target => $origin,
}
}
class foo {
folder_link { ["/aa/bb/folder_to_link:foo", "/cc/dd/folder_to_link:bar"]: }
}
Это создаст символическую ссылку, /folders_1_to_x/yy/foo
указывающую на /aa/bb/folder_to_link
, и /folders_1_to_x/yy/bar
на /cc/dd/folder_to_link
.
Я думаю, что все довольно просто, как это работает, но я могу пояснить, если нужно.