75 西 Debian
西 Debian 八津
2013 8 25
75 西 Debian 2013 8
1 Introduction
Debian JP
西 Debian 勉強 Debian GNU/Linux さまなト (いパケー Debian 有のの仕
Debian す。
とし三ついま
ML 示板く、合わの情の促
的にる場
の作
ではい一ごし
1
西Debian
1 Introduction 1
2 Debian 関係ント 3
3 課題 5
4 puppet る構の実 7
5 の予 14
6 15
2
75 西 Debian 強会 2013 8
2 Debian
Debian JP
2.1 Debian 2013
6 29 ()日本駿台キ Debian 2013 した
Debian Debian に興 2 回目 140
どのきま
ントは写にレあが
*
1
*
2
2.2 西 Debian
2.2.1 72 西 Debian
72 関西 Debian 勉強 5 26 () ANNAI ランナレジサ
行なした話題すごなとた。
倉敷 Debian 」と西 Debian Ubuntu の違
Debian 使方、 Ubuntu 深めではうか
2.2.2 74 西 Debian
74 西 Debian 会は 8 3 ()サーークわれ OSC 2013 Kansai@Kyoto の出
としわれ
Debian 7.0 /ンを Raspberry Pi MK802
Wheezy ブイ布なースない
2.3 Debian
2.4 102 Debian
102 目の Debian 強会 7 20 () んぶ開催た。
ンは、岩松さんによる Debian Linux Kernel に追加された armmp フレーバーについて Debian linux
kernel / armmp ー」 Debian から Raspberry Pi 川さ Raspberry Pi 使
、そ 月刊 Debhelper dh strip ついた内した
*
1
http://gum.debian.or.jp/2013/blog/13-07-03
*
2
http://gihyo.jp/news/report/2013/07/1801
3
2.5 103 Debian
103 目の Debian 強会 8 17 () んぶ開催た。
OpenVPN 使てみさん Debian ePUB 化を
た」でし
2.6 Debian Project
DebConf 13 8 11 18 かけのヴで開れま
*
3
systemd upstart init テム Google Compute Engine AWS OpenStack ウド近の
のセンが多く目につきました。 Ubuntu daily quality improvements; overlap with Debian CUT」の CUT
他開たさンのは録配信ます
*
4
、開中の 8 16 日に Debian 20 にパす。
DebConf 14 はアオレのポドでです
は参みたすね
*
3
http://debconf13.debconf.org/
*
4
http://penta.debconf.org/dc13_schedule/index.en.html
4
75 西 Debian 強会 2013 8
3
Debian JP
の課下の
1. 管理ムをに活 (/した) 述し
者のの解の通:
3.1
1. りあ sshd bind iptables interfaces の設の更 synatpic プデト。
2. ssh のサグイ Wheezy マシるよきま
3.2
加で
管理テムくわせんたのバのリソをど使
ば改るかなど初心てはと思
3.3
ではー管つかいた、今で構ステしてん。
から環境れるードるよりた
3.4
使せん
ロイじ環に作に使
の備わり境移 (換、ルサ) のコげらいな
3.5
だ使ことがありません。ホステングサーバ屋すが、構成管理システム使たら楽になれるならぜひ使いた
5
3.6
成管理のスクリプはとくに使たことはありせん 50 台ぐらいに対して clusterssh 使ログインして
定しりしとは git deploy
にで良い思い
3.7 kino
Q:成管テムうにいか
A:状使ない希望
サーライーをにしく立い。
Debian ストりた
サー上にを作 Vagrant+Puppet 使
3.8 lurdan
模なセン理に使
のメ
設定て、したこと
ージーンレギ
の課
結果ト方でき (serverspec cucumber-nagios )
モジ線引まし
6
75 西 Debian 強会 2013 8
4 puppet
4.1
さら Wheezy 境に puppet プし際にて、 Debian
カイ分ミ成さろま際にしなしてす。
4.2
ずは、構管理としやりたいとを検討ます。今のおは、 Debian カイの部分ミーを構成る、
ことますよう検討ます
キテ amd64
Wheezy ()
あえ最低 (required) する
ジト理ツ reprepro を使
puppet reprepro 境設う。行は ()
ーへセス http
いとは、好みしてん。ミラを増たいば、がリ
時をめし
に付
Web apache2 使
Secure Apt めに GPG
場所 /var/www/debian www-data
としておあり
もあ知れ、おえてとものでずこの想めま
4.3 puppet
は、イルスト殴り
回、 puppet スタンドアロンで的に動作させる形で使ます。そのため、 puppet マンドラインクラ
アントをインストールしてださい。また、構成管理す OS 上でマニトの操作も行いまので、好みのテキ
7
エデをインストールします emacs あれば、 puppet-el
*
5
いうージを使うと、予約語の色分けどを
くれ便利業をためン管テムストおき
sudo apt-get install puppet emacs puppet-el git tig
mkdir kdm201308
cd kdm201308
git init
4.4
に考おお完成ジをるたプレのマ こう嬉しいう
下書みま
作成いた site.pp いき
mkdir manifests
emacs manifests/site.pp
# 要になりそうなパケージを class て列
class {
’apache2’:;
’reprepro’:;
’gnupg’:;
}
# reprepro ミラーデクトリをよしに設 (してほし)
reprepro::mirror { ’/var/www/debian’:
owner => ’www-data’, group => ’www-data’,
architecture => ’amd64’,
distribution => ’wheezy’,
partial => ’required’,
}
# apache ミラー公開用サイを追 (してほし)
apache2::site {
’mirror’:
content => ’;
}
るにたい
reprepro いいラー
Web
うこね。
りあ並べ class 存在いたこのでは行でせんれぞ必要
まず git きまに書ださ
git add site.pp
git commit
のあたりで、要そうであれば、回のおさらい兼ね puppet のマニフスト書式につて口頭で簡単おさ
しま料と回の (2010/06) てく
4.5 class
て、から番で何はあれ不足 class と、ストする指定
まし
*
5
vim 合は vim-puppet
8
class apache2 {
package { ’apache2’:; }
}
class reprepro {
package { ’reprepro’:; }
}
class gnupg {
package { ’gnupg’:; }
}
だけ、とず必りま、リがらタを
みてでし
けで固有定は debconf せにますで、を追するに、合の
ス定要に。ま体像たリ受けりあ
define reprepro::mirror (
$owner,
$group,
$architecture,
$distribution,
$partial
) {
}
define apache2::site (
$content
) {
}
ぞれ部をうにるかみま流し
まい、実ニフ管理うとる対きを
にしさい
にフこのないのフ
かれ、こスのいう必要敗し、な…。
*
6
管理と思の対よくますこの省けルで
誤解ようう。りもシピ使せばんウもごして
かもせん後のかにけてできないばオませ
、構ツーするから dpkg 一部ありで、
、や puppet (制御)
方針 debian policy たい盾すある
意しを煮きま
4.5.1 apache2
実は、今回はいろいろな前提の上にのているため apache2 に追加の設定は不要です。デルトのままで
reprepro て作るミそのセスずで
だ、それだとさすに味気ないですか、簡単にサイト設の仕組みを追加しみまう。これ Debian にお
は、/etc/apache2/sites-{enabled|available}/ レクリと a2ensite/a2dissite ンドによて制御さてい
です
り書くなら、 available クトリに file リソース content ルを配置し、 ensure パラメータの
enable/disable 制御 exec リソ書いたこればす。
面倒単純 content sites-enabled ます
と、そ次なるます
*
6
ケージシステとの整合をと話は、それだでセンが成立する程度にはトピあるので、ま別の機会に。
9
define apache2::site (
$content
) {
file { "/etc/apache2/sites-enabled/${name}":
content => $content,
require => Package[’apache2’],
notify => Service[’apache2’],
}
}
ルをして notify 追加 Service はま
いの class に対義をおき
class apache2 {
package { ’apache2’:; }
service { ’apache2’:; }
}
で、 apache2
なサ定を
ビスする
class が出
、実流しイト用意要がます、さど書うにも動
、そデフ
apache2 ケーンス sites-available/default
sudo apt-get install apache2
cp /etc/apache2/sites-available/default site-mirror.erb
sudo apt-get purge apache2 && sudo apt-get autoremove
ルをテンプレトとして content 渡してあげたいので、所定の場所に置した上で、マニから
むよてお
mkdir templates
mv site-mirror.erb templates
apache2::site {
’mirror’:
content => template(’site-mirror.erb’);
}
で、 apache2 完成のあ git commit てお
メー渡し法な、選いくて、はあせんられや、
どれくらい類似度の高い構成を繰り返すのか、などマニフストを作成する状況にあわせて調整するようにしてくださ
*
7
4.5.2 reprepro
reprepro 自体使は主ないに紹して
reprepro は、指定したデレクトリ Debian ミラーを構成するツールです。指定デレクトリに決たフ
てお柔軟ーをできそのなど
、気ラーるこます
*
8
メージできるど対象のソフトウアに染んでいない合は、ま puppet 抜き動作させてみ、挙動を把握
うに、手 reprepro ストす。
*
7
としてあている処理は考慮の足りな、ダメな仕事の例すので、反面師として頂けば…
*
8
フルミラーを意したい場合、別途専用のールがありま
10
sudo apt-get install reprepro
reprepro るた conf/distributions conf/updates 2 つのなり
ル置き場するレクトリに移してくださいここでは wheezy 部分ラーを作しますので、とま
記のイルしま
distributions (sources.list してされ)
す。例で wheezy す。
Codename: wheezy
Architectures: amd64
Description: wheezy-mirror
Components: main contrib
Update: wheezy wheezy-updates wheezy-security
updates 、ミめるる上ジトしま
Name: wheezy
Method: http://ftp.jp.debian.org/debian
Suite: wheezy
Components: main contrib
Architectures: amd64
VerifyRelease: AED4B06F473041FA
FilterFormula: Priority (==required)
Name: wheezy-updates
Method: http://ftp.jp.debian.org/debian
Suite: wheezy-updates
Components: main contrib
Architectures: amd64
VerifyRelease: AED4B06F473041FA
FilterFormula: Priority (==required)
Name: wheezy-security
Method: http://security.debian.org/debian-security
Suite: wheezy/updates
VerifyRelease: AED4B06F473041FA
FilterFormula: Priority (==required)
Secure APT の公のよてイして
gpg --recv-key AED4B06F473041FA
によウンする開鍵認がれま
が終るかす。
reprepro -V update wheezy
/etc/apt/souces.list 少し apt-get きる確認とい
て、こま reprepro 動作する定がきありまたの、こ puppet マニストに移してきま
reprepro したイル類をて削しま (別にしなてもいませんここでのスト容を
ため)
rm -r /var/www/debian
程作 site.pp 、設しこ法をえまパラタをプレトでるなやり
いくりまこで、フてお
ミラーは、配置するレクトリを変更すれば、ノード内に複数作成することができる (きな) ので、クラスでは
リソしてす。
11
class reprepro {
package { ’reprepro’:; }
}
define reprepro::mirror (
$distributions,
$updates,
) {
#
ラーの配置デレクトリを作成す
## ソース名としてフパスが渡されてく想定
file { "$name":
ensure => directory,
}
-> file { "${name}/conf":
ensure => directory,
}
-> file { # 定フルの名前はパラメタとして受け取る
"${name}/conf/distributions":
content => $distributions;
"${name}/conf/updates":
content => $updates;
}
}
メーをやことのでし元る必りま
# reprepro よしなに設定してしい
reprepro::mirror { ’/var/www/mirror’:
owner => ’www-data’, group => ’www-data’,
distributions => で作成したフイルの内容をペースト
後に改行が必要なで注
’,
updates => ちらも同様に
}
まで puppet を実るこ reprepro イル備さはコドをるだいう
にな。忘うに git commit きま
終的には reprepro コマンドの実 puppet らせるといのすが、話広がてしうので、回はこま
してす。
4.6
、こで作ニフ
apache2 トア
ーの reprepro 意さ
です早速まし dry run
puppet apply -v /etc/puppet/manifests/site.pp --noop
ルミ記号、書あれ puppet れま出力確認くだ
なさら、 −−noop て、のましま
4.7
puppet モジがで
回はさほ大きニフいるけでないで、 site.pp 見通ききすが 1
にダ書いも限ます程度スト割し
実例い、とで後半やりリクくだ
4.7.1
いうで切は、の好るとすがでは
をおして
12
、パ puppet う。
mkdir -p /etc/puppet/modules/
どとしま。このデクトリ以に、モジール名のレクトリを作成していくこになりまが、 Debian
利用を考えると、 ソースパケージ名」を使うといいで (バイナリケーが細かく分割されていたりする
)
ば、 apache2
mkdir -p /etc/puppet/modules/apache2/manifests
emacs /etc/puppet/modules/apache2/manifests/init.pp
よう /manifests/init.ppールのでことでき
ず、成し apache2 させださ
る上ことするう。
容にイト定は限り
再利るよメー
4.7.2 ビス
ケージモジールを切り離した後は、ノード/サイト固有の設定が site.pp に残ている状態にているはず
してく別用し (うち Web
定でうにだ、) 可能モジまし
puppet ールジモ便
ールす。
puppet
的にール
s
にな
サービスモジールはサイト固有の内容になりますので、パージモジルほど境界を気にしなくてもいいで
ば、ラーを作れば
mkdir -p /etc/puppet/services/s_mirror/manifests
emacs /etc/puppet/services/s_mirror/manifests/init.pp
て、回作した reprepro 設定内容体や apache2 サイト設など放りこむころらはじめとい
いま
4.8
とまず、今回のセンで Debian カイブのロールミラーがお手軽作れるようにているハズでで、
ステ
reprepro 設定のでかす
カルを参うに sources.list
カルに独よう reprepro 追加
のま reprepro リソめる
reprepro コマ cron みる
germinate 使てミにす
はじいくのでいかす。のリら頑
まし
13
75 西 Debian 強会 2013 8
5
Debian JP
5.1 西 Debian
、第 76 西 Debian 9 22 () 開催
の前に、 9 14 () 幌コンベンシンセンターで開催され OSC 2013 Hokkaido 張しセミナー発表
ない
11 月は 11 8 () 9 () ATC ITM で開され KOF2013 に出定で
5.2 Debian
104 京エ Debian 9 21 () に開
10 10 19 () 20 () OSC 2013 Tokyo/Fall の出催予
14
75 西 Debian 強会 2013 8
6
15
16
17
西Debian
Debian
2013 8 25 1
西 Debian
18