fbpx

[和訳] プレリリースアナウンス: ネイティブ 64-bit Windows Chef Client #getchef

この記事は1年以上前に投稿されました。情報が古い可能性がありますので、ご注意ください。

本稿は Pre-release Announcement : Native 64-bit Windows Chef Client (2015/11/19) の和訳です。

シェフのみなさん、こんにちは。

Windows ユーザーのみなさんにエキサイティングなニュースをお届けします。ネイティブ 64-bit Chef Client が利用できるようになりました。ダウンロードは こちら から行えます。

Chef Client の本バージョンには、Ruby の 64-bit バージョンが含まれます。これは 32-bit のプロセスを 64-bit バージョンの Windows 上で行うとき Windows ユーザーがいつも悩まされているであろう問題を取り扱っています。すなわち、Windows がこっそり行っているファイルとレジストリのリダイレクトをしなければいけないという問題です。これは予期せぬ結果やスクリプトの失敗をたびたび引き起こしてきました。

(Windows のリダイレクトに関する更なる情報は こちら ) (訳注:日本語版)

リダイレクト作業のリスクに関してもう少し詳しく説明します。Windows System32 フォルダで、ディレクトリ内のファイルを作成する簡単な Chef Recipe の例を見てください。次のコードはフォルダのパス (test_dir) を作成する環境変数を使用しています。あるべき状態を定義するために、Chef 組み込みの directory Resource と file Resource を使用しています。


process_type = ENV['PROCESSOR_ARCHITECTURE'] == 'AMD64' ? '64-bit' : '32-bit'
system32_dir = ::File.join(ENV['SYSTEMROOT'], 'system32')
test_dir = ::File.join(system32_dir, 'cheftest')
test_file = ::File.join(test_dir, 'chef_architecture_file.txt')

directory test_dir do
action :create
end

file test_file do
content "Chef made me, I come from a #{process_type} process."
end

通常 64-bit のプラットフォームで 32-bit の作業を行うときにこのコードを使用すると、Windows のリダイレクトが作動し、ファイルとディレクトリが SysWOW64 フォルダ内に作成されてしまいます。しかし、このネイティブ 64-bit Chef Client はリダイレクトの作動を防止し、快適な作業環境を約束します。

64-bit パッケージの素晴らしいところは他にもあります。MSI を 64-bit と設定できるのです。これによって、MSI のフラグをチェックして必要に応じて、グループポリシーや WMI などの Windows テクノロジーによるさらに良質なコントロールと粒度を実感できるようになるでしょう。

また、インストーラを再構築したことで、インストールにかかる時間も驚くほど短縮されるようになりました。

これはプレリリースソフトウェアです。このお知らせを早くお届けできて大変喜ばしいのですが、次の 3点に注意してください。

  • MSI のサイズが chef-client よりも大きく、約 170 MBとなっています。現在改善中であり、最終リリースまでに解決できるよう検討中です。
  • これは本番環境向けではないので、非ミッションクリティカルな環境でのみ使用してください。
  • 問題があれば github から連絡してください。
新規CTA