家でも会社でもあちこちでたくさんのマシンを管理する人向けの内容。一台一台マシンを手作業でセットアップしていたらそれだけで人生が終わってしまうので各位さまざまな工夫をしていると思う。そこでノウハウをまとめる。
人によっては仮想マシンを利用すればコピーするだけじゃんとか最近流行りの chef や puppet を使えという人もいると思う。何もかも仮想マシンでできれば理想だけどそうはいかないケースも多いし流行り廃りのものは 10 年 20 年経ってもそのノウハウが使えるという保証がない。やはり長年の実績があるやり方を貫くのが汎用性があって良いと思う。
基本的な方針は以下の通り
1) 公式のインストーラーを使い素の状態から環境を起こす
2) 手作業は基本的にシェルスクリプトを起動するだけ
3) いつでもどこでもこの部分は同じという基本環境にする
要は環境構築用のシェルスクリプトをきちんとメンテしておけば良いだけの話である。シェルスクリプトは中で何をやっているか直接確認することができ、必要に応じて編集することができ、たいていの環境に移植可能で長年の実績があるという点で優れている。
Debian は特別な事情が無い限り AMD64 を選択して良いだろう。まず DVD からインストーラーを起動、テキストモードのエキスパートインストールを選択する。インストール時は暗号化 LVM を採用する。これはマシンに物理攻撃を受けてデータを盗難される脅威に対する対策である。ちなみに手持ちの物理的な記憶媒体はすべて暗号化技術を採用するべきであり、そうでないとしたらいささか無防備すぎるであろう。これは PC だけでなくモバイルデバイス等でも同様である。
インストールが完了したらまずはリカバリモードで Debian を起動し LVM のパーティションをリサイズする。たいてい /usr のサイズが小さすぎるので拡張する。また Debian の標準的な自動パーティショニングでは /opt がルートから隔離されていない。この問題については /opt を /usr 配下に移動、ルートからはこの /usr/opt に /opt をシンボリックリンクすることでひとまず対策できる。
パーティションのリサイズが済んだら Debian を通常起動し git-core (リポジトリを clone する用) , vim (設定ファイルを編集する用) , ssh と rsync (遠隔操作する用) を入れる。次に他の Debian 環境から接続する。自前の環境構築用シェルスクリプトを起動して環境構築を終わらせる。ちなみに自分はスクリプトを GitHub のリポジトリに置いてある。
またデスクトップ環境のカスタマイズは面倒なので既存の環境から移行したほうがラクである。これには 2 つのやり方がある。
1. 他の Debian の /home を丸ごと rsync する
2. ~/.mozilla, ~/.icedove, ~/.config, ~/.ssh のみを rsync する
前者はやや乱暴なやりかたであり、オススメは後者である。
あとは必要なシェルスクリプトのインストーラーを都度選択することで環境構築は終了する。また各種サーバーに対する鍵の登録や管理については煩雑な手作業を避け、これもシェルスクリプトによって自動的に処理するべきである。