FreeBSD

A collection of 8 posts
FreeBSD

portmaster でのインストール時に依存パッケージは pkgng で入れる

FreeBSD 10.0 を使い始め、pkgng の恩恵を預かっているとはいえ、カスタムしたい ports もあります。 その際、(僕は) portmaster を使うことになるのですが、そのパッケージに依存するパッケージは、可能なら pkgng でインストールを行いたいのです。 例えば libav をカスタマイズしたいときは、下記の手順です。 もっといい方法ありそうですが…。 インストールしたい ports の config を行う # cd /usr/ports/multimedia/libav # make config ...snip... portmaster が依存でインストールするパッケージをリスト化 # portmaster --show-work multimedia/libav | grep -w 'NOT INSTALLED' | cut -d'/' -f2 > /tmp/
1 min read
FreeBSD

[FreeBSD 10.0-RELEASE] bsdinstall でも自由なパーティションレイアウトで Root on ZFS

あらすじ FreeBSD 10.0 からインストーラで ZFS が選択できるようになりました。 僕の自宅のストレージサーバは、8.2 の頃から Root on ZFS になっていたり、freebsd-update で数回メジャーバージョンを渡ってきていたりするため、そろそろ一度クリーンインストールしてスッキリしたいと思っていました。 早速 Partitioning の項目で ZFS を選択してインストールしたはいいものの、パーティションと ZFS の切り方は下記のようになっていました。 # gpart show -l => 34 209715133 vtbd0 GPT (100G) 34 1024 1 gptboot0 (512K) 1058 4194304 2 swap0 (2.0G) 4195362 205519805 3 zfs0 (98G)
3 min read
FreeBSD

zroot を細かく分割する

ストレージサーバの zroot を細かく分割しました。 FreeBSD に初めて触れたのが、このストレージサーバを構築した時なので、zroot をどの程度分割すればよいのか悩み、結局 sysinstall でのインストール時の自動割り当てを参考に分割していました。 (/tmp, /usr, /var のみ…。) 9 ヶ月程 FreeBSD を使ってきて、どこを分割すると良さそうか、分割すると何が良いのか分かってきたので、この機会に分割します。 * 環境 * FreeBSD 9.0-RELEASE amd64 プール構成 前後のファイルシステム構成の比較です。 各ファイルシステムに適切な属性を設定します。 いままで zroot zroot/tmp setuid=off zroot/usr zroot/var 分割後 zroot zroot/tmp setuid=off z
2 min read
FreeBSD

FreeBSD 8.2-RELEASE から 9.0-RELEASE への更新メモ

freebsd-update コマンドを使って 8.2-RELEASE から 9.0-RELEASE へアップグレードした時のメモです。 FreeBSD 9.0-RELEASE Installation Instructions [http://www.freebsd.org/releases/9.0R/installation.html] 事前準備 1. アップデート 9.0-RELEASE にするために必要なアップデートを行う。 (freebsd-update コマンドが変更される。) # freebsd-update fetch # freebsd-update install 2. デーモンの設定 ports で導入したソフトウェアに関する /etc/rc.conf 内の記述をコメントアウトする。 3. 再起動 # shutdown -r now アップグレード実行 4. 差分の取得・
2 min read
FreeBSD

容量の少ないプールに zroot を移動した

ストレージサーバを組んだ時、適当に zroot に 100GB を割り当てました。 4 ヶ月程運用してきましたが、zroot の容量はたったの 3GB 強です。 また、zvol を使えばいいものを、swap 用にパーティションを作っていました。 そこで、swap を含め、新しい SSD の 30GB のパーティションに zroot を移行することにしました。 zfs send、zfs receive を使うことで、容量の小さいプールにファイルシステムをコピーできます。 もちろん、移行前の "使用容量" が、移行先のプール容量より小さい必要があります。 また、 * なるべく停止せずに移行したい * プール名・構成デバイス名を保ったまま移行したい (無駄なこだわり) ということで、別の FreeBSD マシンを用意し、ssh 経由で移行することにしました。 * 移行元環境
2 min read
FreeBSD

ZFS の snapshot をローテートするスクリプトを書いた

ZFS はスナップショットを高速に撮れるので、cron などで定期的に撮っている人も多いでしょう。 しかしそのままでは、スナップショットがどんどん溜まってしまいます。 そこで、適宜削除するスクリプトを作ってみました。 手動で作成したスナップショットを消してしまわないように作りました。 * 一応、動作確認環境 * FreeBSD 8.2-RELEASE amd64 スクリプト snapshotrotate.sh #!/bin/sh # # 20110529 # rotate snapshots # PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin export PATH # # usage # if [ "${1}" = "" ] then { echo "usage:" echo "${0} /path/to/config" exit
1 min read
FreeBSD

ZFS なストレージサーバを構築した

FreeBSD 8.2-RELEASE amd64 で、ZFS なストレージサーバを構築しました。 もちろん ZFS root です。 ハードウェア構成 * Intel Core i3-2100T * DDR3-1333 4GB x 2 * DH67CL * WD2500BEVT * WD20EARS x 3 プール構成 システム用のプールです。 ルートファイルシステムをどこまで細かく分割するのが良いのか、しばらく悩みました。 とりあえず、FreeBSD を sysinstall でインストールする際の、自動割り当てを参考にしました。 今後運用していく中で必要性が出てきたら、更に細かく分割したいと思います。 現在、ディスク 1 本でプールを構成していますが、後にミラー化する予定です。 # gpart show -l ada0 => 34 488397101 ada0 GPT (233G)
2 min read