tips
- Use zfs destroy or rollback instaed of pkg_
delete -af Ports Collectionを使って頻繁にアプリケーションを更新している場合、
ビッグコミットのタイミングでほぼすべてのアプリケーションをビルドし直すといった状況になることがあります。またPorts Collectionは常に開発段階にあるため、 更新するタイミングによっては誤った依存関係が入り込むこともあります。 そうなった場合、
一旦すべてのアプリケーションを削除し、 もう一度入れ直した方がいい場合があります。典型的にはpkg_ delete -afですべてのアプリケーションを削除して、 もう一度Ports Collection経由ですべてをインストールします。 FreeBSDをワークステーションとして利用しているケースでは、
GnomeやKDEと代表的なアプリケーションを使っているだけで800ほどのアプリケーションやライブラリ、 ツールがインストールされます。必要なものに絞っても600を越えてきます。H/ Wの性能にも左右されますが、 pkg_ delete -afの実行が完了するまで30分から1時間といった時間がかかります。 こうした場合、
アプリケーションやライブラリがインストールされる/usr/ localと/var/ db/ pkgをファイルシステムごとクリアしてpkg_ delete -afの代わりにする方法があります。数十分というレベルから数十秒というレベルまで時間の短縮が可能です。/usr/ localに以下に作成した設定ファイルやデータもすべてクリアされますので、 必要なデータがある場合にはバックアップをとっておく必要がありますが、 動作が把握できているならファイルシステムごとのクリアはなかなか魅力的な方法です。 たとえば次のようにZFSでファイルシステムを割り当て運用します。
pkg_
delete -afを実行するかわりに、 次のように一旦ファイルシステムをデストロイしてから、 ふたたび作成してクリアします。クリア後にアプリケーションのインストールを開始します。 destroyからcreateという作業の代わりに、
最初にtank/ usr/ localとtank/ var/ db/ pkgを作成した段階でスナップショットを作成し、 このスナップショットへロールバックするという方法もあります。 destroyする方法もrollbackする方法も、
処理時間にはそれほど大きな違いはありません。ZFSを利用するとこうした作業を実現することができます。ファイルシステムレベルでの柔軟な運用が可能になるため、 これまでUFS+GEOMで実施してきた管理とはまったく違った視点からのアプローチが可能です。