私は Puppet を使用しており、2 つのフォルダー間にシンボリック リンクを作成する必要があります。同じ構造のフォルダーが 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
。
これがどのように機能するかは非常に簡単だと思いますが、必要に応じて詳しく説明することもできます。