カテゴリー
未分類

心機一転こっちで開始

ということで、こっちで新しく日記を開始します。

よろしくお願いします。

追記テスト

カテゴリー
FreeBSD

過去記事: mediatombの設定

(この記事は2009年5月2日現在の記事です)

ファイルサーバにあるメディアファイルをPS3を使って再生できないか,ということで探してみたところ,
MediaTomb
というDLNAサーバの実装があるらしい.
早速net/mediatombからインストール.

設定だが,最初にmediatombを起動する(/usr/local/etc/rc.d/mediatomb start)前に,文字コードとmime typeの設定が必要.
/usr/local/etc/mediatomb/config.xmlに以下のように行を追加する.


  <import hidden-files="no">
    <filesystem-charset>UTF-8</filesystem-charset> ←この行追加
    <metadata-charset>CP932</metadata-charset> ←この行追加
    <scripting script-charset="UTF-8">

...

      <extension-mimetype ignore-unknown="no">
...
        <map from="flv" to="video/x-flv"/>
        <map from="mpg" to="video/mpeg"/> ←追加
        <map from="MPG" to="video/mpeg"/> ←追加
        <map from="mpeg" to="video/mpeg"/> ←追加
        <map from="m2ts" to="video/mpeg"/> ←追加
        <map from="avi" to="video/divx"/> ←追加
      </extension-mimetype>

これがないと文字化けする上に,後から設定を変えても反映されない.
おそらくデータベースを最初に作ってしまうため.

で,起動したら,ブラウザで49152番ポートに繋いで編集画面を出す.
左上の「Filesystem」を選び,左のツリーからメディアファイルの置き場所を選ぶ.
右にある,+と矢印が合わさったようなアイコンをクリックする.
これは「ファイルシステムを自動でスキャンしてメディアファイルをデータベースに登録」する設定なので,適宜設定する.
Scan Modeを「Timed」とし,必要に応じてRecursiveを設定する.

ここまでやったらPS3を起動し,「フォト」「ミュージック」「ビデオ」でMediaTombが見えれば成功だ.

カテゴリー
FreeBSD

過去記事: Remove UFS!: FreeBSDをGPTを使ってpure ZFS環境にする

(この記事は2009年4月24日現在の記事です。転載するにあたり編集していないので、最新の情報を得るようにしてください)

FreeBSDのルートパーティションをZFSにする方法は,How to install FreeBSD 7.0 under ZFSにある方法が知られている.この方法では,カーネルを置くUFSパーティションは必要だった.ところが最近では,カーネル,スワップもZFSパーティションに置くことが可能になった.以下,方法を記述する.8-currentが入っていて,新しいディスクを2本買ってきた状態からスタート.(7から8に上げる際の注意点は以前の記述を参照).

ZFS対応のローダを作成:

/etc/make.confに「LOADER_ZFS_SUPPORT=YES」を追加してbuildworld & installworld.

gpartを使って新しいpoolのための領域を作る:

理論的なことはnorkさんの記事を参照.「GPT(PMBR)の場合」というのが今回の方法.

以下,新しく作るpoolの名前をboottankとし,ad4とad6に新しいディスクが刺さっているとする.


# gpart create -s GPT ad4
# gpart add -b 34 -s 128 -t freebsd-boot ad4
# gpart show ad4 (空きセクタ数をメモっておく)
# gpart add -b 162 -s さっきメモした空きセクタ数 -t freebsd-zfs ad4
# gpart bootcode -b /boot/pmbr -p /boot/gptzfsboot -i 1 ad4
(同じ処理をad6にも行う)

新しいpoolを作ってデータをコピーする:


# zpool create boottank mirror /dev/ad4p2 /dev/ad6p2
# zfs set mountpoint=none boottank
# zfs create boottank/root
# zfs create boottank/usr
# zfs create boottank/usr/home
# zfs create boottank/var
# zfs set mountpoint=/boottank boottank/root
# zfs set mountpoint=/boottank/usr boottank/usr
# zfs set mountpoint=/boottank/usr/home boottank/usr/home
# zfs set mountpoint=/boottank/var boottank/var
# cd /
# find -x . | cpio -pmd /boottank
# find -x /boot | cpio -pmd /boottank/boot
# find -x /usr | cpio -pmd /boottank/usr
(以下,元のZFSプールにあるファイルシステムごとにfind&cpioを繰り返す)

こまごまとした設定:


(スワップ領域確保&設定)
# zfs create -V 4g boottank/swap
# zfs set org.freebsd:swap=on boottank/swap

(起動設定)
# zpool set bootfs=boottank/root
# vi /boottank/boot/loader.conf
----
vfs.root.mountfrom="zfs:boottank/root"
----
# vi /boottank/etc/fstab
----
(/bootとswapの設定を削除)
----
# cp /boot/zfs/zpool.cache /boottank/boot/zfs

(マウントポイントの設定)
# zfs set mountpoint=/usr/home boottank/usr/home
# zfs set mountpoint=/usr boottank/usr
# zfs set mountpoint=/var boottank/var
# cd /
# zfs set mountpoint=legacy boottank/root

勝負の再起動:

ここで電源を切り,古いディスクを外す.新しいディスクのみで起動したら成功だ.おめでとう!

カテゴリー
FreeBSD

過去記事: FreeBSD 7から8へ上げるZFS使いは気を付けろ

(この記事は2009年1月22日現在の情報です。転載にあたって内容の推敲などはしていません。かならず最新の情報を参照するようにしてください)

FreeBSD 7.1から8-currentに上げてみた時に気づいた事を列挙.

1. カーネルをmake installkernelしてから再起動すると,zfsコマンドが「internal error: out of memory」と言って使えない.
→新しいカーネルで古いzfs/zpoolコマンドは使えない.マウントする時は「mount -t zfs tank/usr /usr」のように,mountコマンドを使うこと.新しいzfsコマンドをインストールしたら,そのzfsコマンドが使える.

2. make installworldすると,libc.so.7をインストールする時にchflags関係のエラーで失敗する.
→ZPOOLとZFSをアップグレードしないと,chflags関係のコマンドが失敗するのが原因.make installworldする際に「make NO_FSCHG=true installworld」とすること.一旦ZPOOL/ZFSをアップグレードすれば,その後は普通にmake installworldしてよい.もしlibc.so.7が存在しない状態になったら,/rescue/ 以下にあるcpコマンドを使って/usr/obj 以下からコピーする.

3. 無線LANが使えない
→無線LANのインターフェースの作成方法が変わり,wlan*というインターフェースを作ってそのインターフェースに設定をするようになった.iwn(4)とかのマニュアルを参照すること,

4. USBモデムのデバイスファイル名が変わった.
→/dev/cuaU* になった(Uが大文字)