Cookbook情報
- 名称: apt
- 開発元: opscode
- Opscode site: http://community.opscode.com/cookbooks/apt
- Source: github.com/opscode-cookbooks/apt
- 評価したバージョン: v1.7.0
cookbook[apt]
のLWRP編、レシピ編はこちら。
概要
debian/ubuntuのパッケージリポジトリ管理システムのaptの設定を行う。
解説
cookbook[apt]
の持つLWRPについて説明。任意のリポジトリ追加やパッケージのpinning
が設定できる。
LWRP
LWRPはCookbook
名+Resource
名で指定でき、任意のレシピ内で使います。利用したいResource
をもつCookbookをrun_list
に入れておき、他のCookbook
を作る時に呼び出します。
apt_repository
aptのリポジトリを追加する。これによりpackage
リソースで追加したリポジトリからのインストールが可能になる。
公式のREADMEではnginxの例が出ているので、自作のCookbookから例を。
Mongodbの10gen提供リポジトリを追加して、インストールするレシピ。https://github.com/higanworks-cookbooks/mongodb-10gen/blob/master/recipes/default.rb
apt_repository "mongodb-10gen" do uri "http://downloads-distro.mongodb.org/repo/ubuntu-upstart" distribution "dist" components ["10gen"] keyserver "keyserver.ubuntu.com" key "7F0CEB10" end
これでリポジトリが追加され、ついでにapt-get update
される。Ver10.14以前のChefではバグでupdateが走らないため、executeで明示的に呼ぶ必要がある。
apt_preference
こちらはpreferenceのパラメータを指定して、そのとおり設定ファイルを作成するResource
。
公式READMEから使い方。
apt_preference "libmysqlclient16" do pin "version 5.1.49-3" pin_priority "700" end
こちらは有効なケースが結構限られるのであまり使っていない、ちなみに不要になったらaction:remove
で除去出来る。
適用例
apt_repository
を実際に適用したら、設定ファイルがこのように作成される。
$ cat /etc/apt/sources.list.d/mongodb-10gen.list deb http://downloads-distro.mongodb.org/repo/ubuntu-upstart dist 10gen
過不足無し、リポジトリ追加完了。
あとがき
LWRPのお手軽さと、他のレシピからも使える汎用性を紹介したいのでLWRPだけに絞ったaptのcookbook紹介を作成しました。
Cookbookはなるべく各環境で専用の物を書くものではなく、できるだけ汎用的に作ってAttributeやLWRPを活用して環境を構築するという事の参考になるはず。
0 件のコメント:
コメントを投稿