tips
- How to setup linux_
base-f8 tips - 最新のSkypeやFlash9を使う場合、
まだデフォルトに置き換わっていないemulators/ linux_ base-f8を使う必要があります。現状ではいくつか設定のポイントがありますので説明しておきます。 〔compat.
linux. osreleaseの値〕 8-currentの最新版を使って入ればsysctl値compat.
linux. osreleaseはすでに 『2. 6.16』 になっていますが、 そうでない場合はcompat. linux. osreleaseを 『2. 6.16』 に設定する必要があります。起動しても設定がクリアされないようにするには、 /etc/ sysctl. confに設定を追加してcompat. linux. osreleaseの値が 『2. 6.16』 になるように設定します。システムを再起動しないで即時設定を変更したい場合は 「sysctl compat. linux. osrelease=2. 6.16」 のようにコマンドを実行します。コマンドを実行しても再起動すると元に戻りますので、 /etc/ sysctl. confに書き込むのは忘れないようにしてください。 compat. linux. osrelease sysctl値を2. 6.16に設定する例 compat.
linux. osrelease=2. 6.16 〔OVERRIDE_
LINUX_ BASE_ PORT〕 Ports Collectionでlinux_
base-f8を使うことを示すためにOVERRIDE_ LINUX_ BASE_ PORT=f8を指定する必要があります。/etc/ make. confに次のような設定を追加しておきます。 /etc/ make. confに追加する設定 OVERRIDE_
LINUX_ BASE_ PORT?=f8 〔linux_
base-f8 install〕 /usr/
ports/ emulators/ linux_ base-f8/からlinux_ base-f8をインストールします。 linux_ base-f8をインストール # cd /usr/
ports/ emulators/ linux_ base-f8/ # make install clean /etc/
rc. confにLinuxバイナリ互換機能を有効にするための次の設定を追加します。 Linuxバイナリ互換機能を有効にするための設定 linux_
enable="YES" 〔linprocfs〕
次のようにLinuxプロセスファイルシステムをマウントするための設定を/etc/
fstabに追加します。 Linuxプロセスファイルシステムをマウントするための設定 linprocfs /compat/
linux/ proc linprocfs rw 0 0 システムを再起動するか
「mount linprocfs; /etc/ rc. d/ abi start」 のようにLinuxプロセスファイルシステムをマウントし、 さらにLinuxバイナリ互換機能を有効にします。 〔ja_
JP. UTF-8 locale〕 次のようにlocaledefコマンドを実行してja_
JP. UTF-8ロケールが機能するようにします。 localedefコマンドでja_ JP. UTF-8ロケールが機能するように設定 /usr/
compat/ linux/ usr/ bin/ localedef -i ja_ JP -f UTF-8 ja_ JP. UTF-8 〔JST timezone〕
日本標準時が使われるようにタイムゾーンデータからTokyoのデータを取り出して/usr/
compat/ linux/ etc/ localtimeファイルとしてコピーします。たとえばtzdata-2008i-1. fc8. noarch. rpmをダウンロードしてくるとして、 次のように操作してTokyoファイルを/usr/ compat/ linux/ etc/ localtimeファイルとしてコピーします。 日本標準時が使われるようにタイムゾーンデータをコピー # rpm2cpio tzdata-2008i-1.
fc8. noarch. rpm | cpio -idv | grep Tokyo ./ usr/ share/ zoneinfo/ right/ Asia/ Tokyo ./ usr/ share/ zoneinfo/ posix/ Asia/ Tokyo ./ usr/ share/ zoneinfo/ Asia/ Tokyo 4067 blocks # cp ./ usr/ share/ zoneinfo/ Asia/ Tokyo /usr/ compat/ linux/ etc/ localtime 〔動作例 - Skype〕
Linuxアプリケーションの動作例としてSkype (net/
skype)を実行します。UIのフォントに設定した適切なフォントが使われていること、 SCIM-Anthyなどを経由した日本語入力が可能なこと、 時刻がFreeBSDの時刻と同期していることを確かめてください。 図 Skype動作例 日本語フォントが汚い場合や日本語入力ができない場合、
時刻が9時間ずれている場合には〔ja_ JP. UTF-8 locale〕や〔JST timezone〕の作業に失敗している可能性があります。タイムゾーンはfc4を使う場合にはFreeBSDのタイムゾーンと同期しますが、 これは使っているタイムゾーンファイルのフォーマットが同じであるため、 /etc/ localtimeが適用されるからです。 8-currentでは今後タイムゾーンファイルのフォーマットが2008年形式にアップされるか、
またはf8でタイムゾーンをインストールするようにするか何らかの形で対処が行われる見通しなので、 将来的には〔JST timezone〕の作業は不要になってくると見られます。ただし現状ではこの作業が必要です。 〔簡易スクリプト〕
毎回同じ処理をするのは面倒なので、
linux_ base-f8をインストールしたら実行するスクリプトを作成しておくと便利です。たとえば次のようなスクリプトを用意しておきます。タイムゾーンファイルはTokyoだけとりだしてどこかに用意しておくものとします。最後の方のcp(1)コマンドのところを書き換えて使ってみてください。 linux_ base-f8をインストールしたら実行するスクリプト例 #!/bin/
sh # path configuration basedir=$(realpath $(dirname ${0})) packagesdir=${basedir}/packages post() { if [ -z "$(grep ^linprocfs /etc/ fstab)" ] then echo "linprocfs /compat/ linux/ proc linprocfs rw 0 0" >> /etc/ fstab fi if [ -z "$(grep ^linux_ enable /etc/ rc. conf | grep -i YES)" ] then echo 'linux_ enable="YES"' >> /etc/ rc. conf fi if [ -z "$(mount | grep linprocfs)" ] then mount linprocfs fi /etc/ rc. d/ abi start /usr/ compat/ linux/ usr/ bin/ localedef -i ja_ JP -f UTF-8 ja_ JP. UTF-8 cp "${packagesdir}"/zoneinfo-Tokyo /usr/ compat/ linux/ etc/ localtime } type "${1:-post}" > /dev/ null 2>&1 && "${1:-post}"
event
- AsiaBSDCon 2009
conference - 3月14日
(土)、 15日 (日) にAsiaBSDCon 2009のメインとなるカンファレンス (論文発表、 基調講演、 特別講演、 バンケットや交流) が開催されました。OpenBSDのTheo de Raadt氏やsendmailのEric Allman氏の講演、 最新技術の紹介や検討、 *BSD関係者との交流などが実現できた貴重なイベントだったといえます。BSDA検定の実施や日本語チュートリアルの実施など新しい試みもおこなわれました。AsiaBSDCon 2009のレポートはgihyo. jpや 『Software Design』 でまとめます。ぜひともお見逃しなく :) gihyo.
jpではこうしたフェイス・ トゥー・ フェイスで交流が持てる機会を活かしていこうと、 2009年4月から月1回ほどの周期を目処に*BSD勉強会の実施を計画しています。勉強会を通じて*BSDに関する技能や知識を伸ばすとともに、 ユーザ・ 開発者・ 企業さまが交流を持てる場としての役割をはたしていきたいと考えております。詳細はおってgihyo. jpやFreeBSD Daily Topicsで紹介します。こちらもお見逃しなく!