人形とファイターのデフォルトシステムの事実
-
12-12-2019 - |
質問
私はまだ人形にとって非常に新しいですが、私はそれを使って展開を書いています。
私は私が既存のシステムフォルダと人形$ {アーキテクチャ}変数の間に不一致を取得していた理由から、シンボリックリンクを正しく得ることができなかった問題に出かけました。
次のように機能するには、次のコードが必要です。
Ubuntu 12.04 x86_64私は/usr/lib/libz.so
から/usr/lib/x86_64-linux-gnu/libz.so
へのリンクを取得する必要がありますが、壊れたリンクよりも存在しない/usr/lib/amd64-linux-gnu/libz.so
にインストールされています。
file {"/usr/lib/libz.so":
ensure => link,
target => "/usr/lib/${architecture}-linux-gnu/libz.so",
}
.
Puppetはファクタを使用してシステムの事実を取得し、コマンドラインでファクタを実行しています。
root@somehost:/root# facter
architecture => amd64
facterversion => 1.6.5
hardwareisa => x86_64
(....)
.
lscpu
を実行する:
root@tsomehost:/root# lscpu
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
(....)
.
私の質問は、Facaleはどこからの事実を取得しますか?
解決
Facterのマニュアルには、のDocsが含まれています。。
- アーキテクチャ HardWareModelを使用します。これは
uname -m
を呼び出してからDebian変換を呼び出します。x86_64
への - HARDINSISA 呼び出し
uname -p
amd64
$hardwaremodel
はあなたがここに欲しいものかもしれませんが、32ビットのユーザーランドを持つ64ビットカーネルを使用した場合、x86_64を返すと思います。これはおそらくあなたのユースケースには正しくありません。
他のヒント
人形とファクタのあなたのバージョンは何ですか?
多分<1.6.5ファクタバージョンがあるため、このバグがあります。
アップグレードを試してみてください。
所属していません StackOverflow