Chef::Exceptions::ChecksumMismatch:というエラーの対処
今頃になってChefの話。
チェックサムの形式をミスってる可能性がある。
ChefではSHA-256チェックサムを採用してるっぽい。
なので、SHA-256チェックサムであるか確認しよう。
Macだったらこんな感じ。
1 2 |
user% shasum -a 256 Python-3.5.0.tgz[←対象ファイル] 584e3d5a02692ca52fce505e68ecd77248a6f2c99adf9db144a39087336b0fe0 Python-3.5.0.tgz |
以下は雑談。
ChefとChecksumの関係
nginxやpythonといったソフトをソースから構築するRecipeを作りたい。
と、いうときにremote_fileというリソースを使ってソースコードをダウンロードしてくるかと思う。
で。
remote_fileのドキュメントに書いてるがチェックサムオプションってのが存在する。
これを有効にすると無駄なダウンロードを省略してくれる。
ダウンロードする前にホスト側に次のような確認を行う
- 対象ファイルが存在するか確認
- チェックサムオプションで与えられた値と、対象ファイルのチェックサムを比較
- チェックサムが合致すればダウンロードせずに手元のファイルを使う
- チェックサムが合致しなければエラー(Chef::Exceptions::ChecksumMismatch)を吐く
と、いうわけで表題のエラーが発生したらチェックサムが間違ってるってこと。
ドキュメントを読む。
Optional, see use_conditional_get. The SHA-256 checksum of the file. Use to prevent a file from being re-downloaded. When the local file matches the checksum, the chef-client does not download it.
と、いうわけで。
SHA-256チェックサムであるか確認しよう。
Macだったらこんな感じ。
1 2 |
user% shasum -a 256 Python-3.5.0.tgz 584e3d5a02692ca52fce505e68ecd77248a6f2c99adf9db144a39087336b0fe0 Python-3.5.0.tgz |
336px
336px
関連記事
-
-
redux-sagaをざっくり入門したい
Co …
-
-
Bower再入門
Co …