2008年1月31日木曜日

portsでmakeする時-jをつけてハマる。

Core2DuoベースのPCを1台組んだので、まっさらな状態からFreeBSD 7.0ベースの環境を構築。CDがBETA3のものしかなかったので、src込みでインストール、OS部分だけとりあえずRELENG_7_0を追従したものをbuildworld。

その過程で、ふと-jオプションなんてのを思い出したので、折角だから使ってみたのですが早い早い。うとうとしていたら完成してました。(今度時間を計ってみます。)

で、portsで同じように並走させたら早いかな? と思って試してみたのですが……


# cd /usr/ports/devel/make
# make -j 4
===> Vulnerability check disabled, database not found
=> make-3.81.tar.bz2 doesn't seem to exist in /usr/ports/distfiles/.
=> Attempting to fetch from http://ftp.gnu.org/gnu/make/.
make-3.81.tar.bz2 1124 kB 27 MBps
===> Extracting for gmake-3.81_2
=> MD5 Checksum OK for make-3.81.tar.bz2.
=> SHA256 Checksum OK for make-3.81.tar.bz2.
===> Patching for gmake-3.81_2
===> Applying FreeBSD patches for gmake-3.81_2
===> gmake-3.81_2 depends on shared library: intl - not found
===> Verifying install for intl in /usr/ports/devel/gettext
cd: can't cd to /usr/ports/devel/gettext/work/gettext-0.16.1
*** Error code 2
install: /usr/ports/devel/gettext/work/gettext-0.16.1/gettext-tools/misc/po-compat.el: No such file or directory
*** Error code 71
2 errors
*** Error code 2
1 error
#


あれ? 依存関係があるはずのgettextの作成を飛ばした? 慌ててやりなおし。


# make clean
===> Cleaning for gmake-3.81_2
# make
===> Vulnerability check disabled, database not found
===> Extracting for gmake-3.81_2
=> MD5 Checksum OK for make-3.81.tar.bz2.
=> SHA256 Checksum OK for make-3.81.tar.bz2.
===> Patching for gmake-3.81_2
===> Applying FreeBSD patches for gmake-3.81_2
===> gmake-3.81_2 depends on shared library: intl - not found
===> Verifying install for intl in /usr/ports/devel/gettext
===> Vulnerability check disabled, database not found
=> gettext-0.16.1.tar.gz doesn't seem to exist in /usr/ports/distfiles/.
=> Attempting to fetch from http://ftp.gnu.org/gnu/gettext/.
gettext-0.16.1.tar.gz 0% of 8339 kB 0 Bps
...


順調順調。

もう今時は portsupgrade 等を使うのが一般的でしょうし、あまりハマることはないと思うのですが、ちょっとびっくりしたのでメモ。

2008年1月29日火曜日

なぜに夜? なぜに二人?

近所のスーパーに夜食を買いに出たのですが、駐車場で見知らぬ女性2人から、『肩がこっていませんか』『困ったことはありませんか』と声をかけられました。「仕事が残ってて困ってます」などと一旦その場を離れたんですが、バイクをとってその場に戻ってみたらば、なにやら別の人を捕まえておまじない? をしている風。

捕まっていたのが若い人っぽかったので、念のためその人が解放されるまでその場にいて、ちょっと話を聞いてみると、なんでも体調をよくするまじないの練習中だとかで、誰かに試して上達したいのだとか。なんというかこう突っ込みどころ満載だったので放置しようかとも考えたのですが・・・・・・

これ、注意そらし&強奪の手口と思われても仕方ない行為だと思います。一人のときにこの手の人から話しかけられたら逃げたほうがいいよなあ・・・・・・と思いました。

無害な話だったら申し訳ないんだけど、でもそれならもっと明るいうち、人目の多いところでやってほしいなあ、と思いました。試されてるほうが不安になるようなやり方はよくないです。

と、珍しく普通の日記っぽいことを書いてみるのでありました。

2ch有志かと思ったら一人だけだったみたいです。

しばらく本業などでバタバタしていて、さっき見つけたのですが……http://www13.atwiki.jp/freebsd_manual/


つづくと書いたのはいいのだが、さほど続かなかったのが現実だ。
これが現実、ネラーはつぶやいた。
さて、そろそろ終わりにしよう。そう思った、

END


終わってました。
というか始まってもいねーだろ。


というオチがついたところで本日はこのへんで。

2008年1月18日金曜日

2ch有志が翻訳をしようと企んでいるようです。

ドキュメント翻訳用のwikiを作った人がいるようです。
http://www13.atwiki.jp/freebsd_manual/
ま、manualって書いてあるぞ……? 
それはさておき、ちょっと見てみると、どかっとリストだけ貼られてる状況。こ、これは滅入る……
wikiだけあってもしょうがないので、とりあえず3つ、提案してみます。
『目標を決めよう。』『とりあえず訳そう。』『訳すのを手伝おう。』です。

■目標を決めよう。

何よりもまず、既に訳されているかどうかを確認する必要があります。実は結構な量のドキュメントがdoc-jp(FreeBSD 日本語ドキュメンテーションプロジェクト)によって訳されているのですが、上記wikiについては、勢いでやっつけてしまいたい! 翻訳には興味あるけどSGMLとかはダルい! くらいのノリが見えます。それはそれでいいんですが、折角doc-jpが数年にわたりノウハウや訳文を積み上げているわけですから、これを活かさない手はないでしょう。

英文については、この中にあるものがターゲットになることでしょう。
/usr/doc/en_US.ISO8859-1/
( http://www.freebsd.org/doc/en/ )
例えばハンドブックであれば
/usr/doc/en_US.ISO8859-1/books/handbook/
( http://www.freebsd.org/doc/en/books/handbook/ )
こうです。分割版をお勧めします。

で、日本語訳があるかどうかは、
/usr/doc/ja_JP.eucJP/
( http://www.freebsd.org/doc/ja/ )
ここを見ることになります。例えばハンドブックであれば
/usr/doc/ja_JP.eucJP/books/handbook/
( http://www.freebsd.org/doc/ja/books/handbook/ )
こうですね。分割版を(ry

で、ハンドブックの場合なら、分割されたHTMLファイルから1つを選び、wikiで翻訳作業をしてみるとよいでしょう。

さて、ハンドブックの英語版と日本語版を見比べてみると、コピーライトもさることながら、一部章立てが違うことに気づきます(例えば二章)。これは、日本語訳した英文ファイルのバージョンと、現在の英文ファイルのバージョンが違うために起こります。なので、翻訳するときには『どのファイルを訳したか』『いつのファイルを訳したか』の2つを明確にすることが重要です。wikiには当面、どのHTMLファイルを、いつ翻訳したか、書いておけばいいと思います。

(ファイルの取扱い方を把握した人なら、バージョンを書いて元ファイルを訳すのがベスト。今は7.0-RELEASE直前なので、今後さらに英文側が変更される可能性が高いことに注意。)

なお、http://www.freebsd.org/doc/ja/ には反映されていない和文もありますので注意して下さい。( /usr/doc/ja_JP.eucJP/ 以下を手元のファイルやcvswebなどで見てみてください。 )

■『とりあえず訳そう。』

どれを訳すか決まったら翻訳作業に入るわけですが、せっかくですのでdoc-jpに合わせた訳文を心がけてみましょう。

http://www.jp.freebsd.org/doc-jp/guide.html
ここから最低限チェックしとくと良さそうなことをピックアップ。

  • 翻訳上の注意
    1. 文体は「ですます調」でお願いします。
    2. ASCII 文字セットにある文字はそれを使ってください。
    3. いわゆる「半角カナ」や「全角英数字」は使わないでください。
    4. 句読点は「、」「。」を使ってください (以前は 1 バイト文字の「,」「.」が利用されていました)。
      また、既存の文書の句読点を変換するときは、 次のことを目安に臨機応変に対応してください。
      • チェックする人の負担を減らすために、diff には句読点の 変換のみを含めるようにしてください。
      • コマンドの出力メッセージ、会社名や単位、英文の参考文献の タイトルや引用の部分はそのままにしておいてください。
      • 英単語区切りには「,」を使ってください。
    5. 日本語ドキュメントのファイル名は英語ドキュメントと 同じにしてください。
         英語版と日本語版は別のディレクトリに入れるので ファイル名で区別する必要はありません。
  • 翻訳する上で参考になるもの
    1. 不完全なものですが 対訳表 があります。
    2. 今までに翻訳されたファイルの英語版と日本語版を比較してみる。
    3. その事について 検索 してみる。
    4. NEC PC98 シリーズ用 FreeBSD の日本語ドキュメントを参考にする。 ftp://daemon.jp.FreeBSD.org/pub/FreeBSD-PC98/ にあります。
    5. ハンドブックや FAQ などは、ある一定の 指針 に沿って作業が進められています。 …が、必ずしも強制されるものではありません。
      文章が必要以上に堅苦しい表現にならない範囲で作業してください。


これくらい? ターゲットを切り分けてくれる人が増えるまでは、自分で目標を宣言しながら翻訳を積み重ねることになると思います。既に訳されてた、なんてことも起こるかもしれません。

■『訳すのを手伝おう。』

英語は苦手だけど技術的なことに興味あり、みたいな人は、まず何を訳すべきなのか、そして、訳されたテキストをどうやってdoc-jpにcontributeするところまでもっていくかを考えたらいいと思います。


  • まずは /usr/doc/ にあるドキュメントをmakeして喜んでみる(必要な知識やツールはこのあたり)。
  • 貢献方法作業手順を読んでみる。
  • ターゲットになっている文章の構造を把握し、wikiに反映することを考える。
  • wikiにどこを訳せばいいかをファイル単位で明示してみる。(未訳・既訳・更新アリのチェックを含む)
  • HTMLベースで訳している人の訳文を元ファイルに落とし込んでみる。
  • (難易度激しく高!)doc-jpプロジェクトが手動でやっている処理を自動化するようなシステムを考える。(翻訳に集中できる環境を整える)


外から見て、ひとりで思いつくのはこれくらい、です。
もっと綺麗な作業分担方法を思いついた人は、ばんばん仕切っちゃっていいと思います。みんな楽になるでしょうし。

はてさて、うまく作業が進むでしょうか? これに慣れたら doc-jp に飛び込んでみるのもよいかと思います。


追記:平成20年1月29日(火)
で、その後どうなったのかというと……
2ch有志かと思ったら一人だけだったみたいです。

2008年1月15日火曜日

send-prしてみる。(mh編)


とりあえず先に進むことにする。
本当なら porttools-0.77 と nbsmtp-1.00 で快適send-pr、の予定だったのですが、
主にネットワーク上の都合によりWebから送付、ということにします。
まずはports全体のpatch作りから、ふたたび。


  1. make update で取り込んだオリジナルの /usr/ports/japanese/mh を、一旦 /usr/ports/japanese/mh.orig にコピー。
  2. /usr/ports/japanese/mh を改めて一から修正。(このへんは過去とったdiffを活用)
  3. port test -l でチェックする。warningが出る……

    WARN: /usr/ports/japanese/mh/pkg-plist: [74]: If and only if your port is
    DOCSDIR-safe (that is, a user can override DOCSDIR when building this port
    and the port will still work correctly) consider using DOCSDIR macro;
    if you are unsure if this this port is DOCSDIR-safe, then ignore this warning

    DOCSDIRを変えても問題はないか、って?
    Makefileには DOCDIR なんてのがあるんだけど、ちょっと違うようなので、
    ここでは見過ごすことにします。(ツッコミ歓迎)
  4. port diff -d .orig | gzip -c > /tmp/ja-mh.080115.diff.gz (オリジナルのディレクトリとdiffをとります。)
  5. cd /tmp/
  6. uuencode ja-mh.080115.diff.gz ja-mh.080115.diff.gz > ja-mh.080115.uu.txt


ということで送るファイルは出来ました。(このパッチには一部Ctrl+Lが
含まれているので、このようにして送るのが安全みたい。)

さて、send-prしてみます。

http://www.freebsd.org/send-pr.html
(なぜか日本語のページからsend-prしようとするとCAPTCHA風味のところで
正しい入力ではない、と撥ねられてしまうので、本家版のほうからやります。)

一部を転載。



One line summary of the problem: [PATCH] japanese/mh for gcc 4.2 on FreeBSD 7.0
: ports
: non-critical
: low

:
I modified this ports to compile with gcc 4.2 on FreeBSD 7.0.
Please review and consider applying the following patch.
(あやしい英語だ!)
:
ここにさきほどuuencodeしたpatchを読ませる。
Finally, please enter the code from the image below to prove you're not a robot:
(CAPTCHA風味の英数字入力をして・・・)


Submit!

Thank you!

おわり。

しばらくするとsend-prした内容を受け付けた旨のメールが届きます。

手順がおかしいところがあったらコメントいただけると幸いです。

次の目標は
http://www.otsune.com/bsd/ports/install_as_user.html
http://uyota.asablo.jp/blog/2006/02/15/254777
これだな……

2008年1月11日金曜日

募集:ja-plain2がbrokenだったけどなおしてみた。

こんな感じで一応解決?




--- src/macro.h.org 2008-01-11 01:36:11.000000000 +0900
+++ src/macro.h 2008-01-11 01:33:10.000000000 +0900
@@ -2,6 +2,8 @@
* Copyright (C) 1992,1993 NEC Corporation.
* $Id: macro.h,v 2.6 1994/04/19 10:16:49 uchida Exp $ (NEC)
*/
+#define MAX_MACRO_LEN 320
+
#define MACRO_MAXARG 10

#define M_DOC_BEGIN 0
@@ -74,5 +76,5 @@

struct macDefs {
int mdef_number;
- char *mdef_def;
+ char mdef_def[MAX_MACRO_LEN];
};



これでとりあえずTeX, HTMLへの変換動作はうまくいってます。
本当ならヘッダ部の怪しいところ全部、ちゃんと配列に置き換えるべきなのかもしれません。



http://www1.odn.ne.jp/taraijpn/japanese_plain2_20080111.diff.txt
http://www1.odn.ne.jp/taraijpn/japanese_plain2_20080111.tar.gz



portsにしたのでとりあえず、動作確認してくれる人を募集します。
FreeBSD関係ない部分とそうでない部分に分ければLinuxのパッケージにも入れられるかな。
分けてくれる人も大募集。

2008年1月10日木曜日

続:ja-plain2が……

結論: portsっていうレベルじゃないぞ!?

とりあえずデバッグしてみましょう。


--- plain2.org/Makefile 2008-01-09 21:35:05.000000000 +0900
+++ plain2/Makefile 2008-01-09 23:51:01.000000000 +0900
@@ -22,15 +22,11 @@
WRKSRC= ${WRKDIR}/${PORTNAME}-${PORTVERSION:R}p${PORTVERSION:E}.orig
BUILD_WRKSRC= ${WRKDIR}/${PORTNAME}-${PORTVERSION:R}p${PORTVERSION:E}.orig/src

-MAKE_ARGS= CC="${CC}" CFLAGS="${CFLAGS} -DBSD -DKANJI -DPICTURE -DHTML -fwritable-strings"
+MAKE_ARGS= CC="${CC}" CFLAGS="-g -DBSD -DKANJI -DPICTURE -DHTML"
ALL_TARGET= ${PORTNAME}

.include

-.if ${OSVERSION} >= 700042
-BROKEN= Broken with gcc 4.2
-.endif
-
post-patch:
@${REINPLACE_CMD} -e \
's|/usr/lib/plain2|${DATADIR}|g' ${BUILD_WRKSRC}/plain2.h


まあわざわざ書くまでもないところですか。


vmbsd7# make
(中略)
cc -g -DBSD -DKANJI -DPICTURE -DHTML -o plain2 plain2.o readfile.o miscutil.o section.o example.o list.o plaintxt.o spacing.o headfoot.o hint.o justify.o texout.o output.o renumout.o macro.o htmlout.o roffout.o analyze.o table.o title.o picture.o ftitle.o


順当順当。


vmfbsd7# cd work/plain2-2.54p1.orig/src/
vmfbsd7# gdb ./plain2
GNU gdb 6.1.1 [FreeBSD]
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for details.
This GDB was configured as "i386-marcel-freebsd"...
(gdb) run -tex ./plain2.h

Starting program: /usr/ports/japanese/plain2/work/plain2-2.54p1.orig/src/plain2 -tex ./plain2.h

Program received signal SIGSEGV, Segmentation fault.
0x0805253d in macroParse (
s=0x805affd "$2]{j-article}\n\\else\\documentstyle[$3]{jarticle}\\fi\n\\setcounter{secnumdepth}{6}\n\\setcounter{tocdepth}{6}\n\\topsep=0.1cm\n\\parsep=0.1cm\n\\itemsep=0.0cm\n%\\renewcommand{\\bf}{\\protect\\pbf\\protect\\pdg}\n\\begin"..., macroNum=0,
orig=0x805af98 "\\newif\\ifNTT\\NTTfalse\n\\ifx\\gtfam\\undefined\\ifx\\gtfamily\\undefined\\NTTtrue\\fi\\fi\n\\ifNTT\\documentstyle[$2]{j-article}\n\\else\\documentstyle[$3]{jarticle}\\fi\n\\setcounter{secnumdepth}{6}\n\\setcounter{tocdept"...) at macro.c:121
121 *s = '\0';
(gdb)


macro.c で、ポインタsが指してる先に '\0' を書こうとしてますね。
んでそれは文字列の一部、と。え、文字列?


(gdb) list
116 != def_type) {
117 fprintf(stderr,"Improper argtype in \"%s %s\"\n",
118 macNames[macroNum].mname_name, orig);
119 exit(1);
120 }
121 *s = '\0';
122 if (*(s + 2) == '\0')
123 return mip;;
124 new_mip->cmac_next = macroParse(s + 2, macroNum, orig);
125 break;


これでは分からない……。該当する文字列はどこで設定しているか、macro.c を見てみると、


28 struct macDefs texMacros[] = {
29 M_DOC_BEGIN, STR_DOC_BEGIN,
30 M_DOC_END, "\\end{document}\n",
31 M_PLAIN_BEGIN, "\\par\n",
32 M_PLAIN_END, "",


とかやっていて、STR_DOC_BEGIN にあの長ったらしい文字列がdefineされていました。
で、macDefsの定義はというと、grep したらば macro.h にあるという。曰く、


75 struct macDefs {
76 int mdef_number;
77 char *mdef_def;
78 };


こ、これではダメだ……書けるはずがない。というかこれを無理やり? 書けるようにするためのコンパイルオプションが -fwritable-strings だった、というわけですね。

えー、これ直すのー?(実はすぐ直せるんだけど…)

ja-plain2がbrokenなんですけど……(未解決)

実況:ハマる ports いじり。




ja-mhの件で、過去自分が使ったことのあるものでBROKENなものが他にあるのか、調べてみると……
(参考: http://portsmon.freebsd.org/portsconcordanceforbroken.py
なんと懐かしのplain2が壊れている。
FreeBSD 7.0 では gcc4.2.1 なわけだけど、コンパイラオプションの -fwritable-strings が無いため、らしい。

なら外してみればいいじゃない!(ぉ

(本当はrootでやっちゃいけません。たぶん。)



vmbsd7# cd /usr/ports/japanese
vmbsd7# cp -r plain2 plain2.org
vmbsd7# cd plain2


こちゃこちゃとMakefileを書いてみよう。




vmfbsd7# diff -u plain2.org/Makefile plain2/Makefile
--- plain2.org/Makefile 2008-01-09 21:35:05.000000000 +0900
+++ plain2/Makefile 2008-01-09 22:20:32.000000000 +0900
@@ -22,14 +22,14 @@
WRKSRC= ${WRKDIR}/${PORTNAME}-${PORTVERSION:R}p${PORTVERSION:E}.orig
BUILD_WRKSRC= ${WRKDIR}/${PORTNAME}-${PORTVERSION:R}p${PORTVERSION:E}.orig/src

-MAKE_ARGS= CC="${CC}" CFLAGS="${CFLAGS} -DBSD -DKANJI -DPICTURE -DHTML -fwritable-strings"
+MAKE_ARGS= CC="${CC}" CFLAGS="${CFLAGS} -DBSD -DKANJI -DPICTURE -DHTML"
ALL_TARGET= ${PORTNAME}

.include

-.if ${OSVERSION} >= 700042
-BROKEN= Broken with gcc 4.2
-.endif
+#.if ${OSVERSION} >= 700042
+#BROKEN= Broken with gcc 4.2
+#.endif

post-patch:
@${REINPLACE_CMD} -e \


結果。
http://www1.odn.ne.jp/taraijpn/plain2_errlog.txt

なにが恐ろしいってbinary出来てるんだよなあ……おそるおそる実行してみよう。
(やっぱりrootでやっちゃいけません。)




vmfbsd7# ./plain2 -tex ./plain2.h
Segmentation fault (core dumped)



そりゃそうだ。まあ plain2.h に手を入れて warningを消すことを考えよう。

http://www1.odn.ne.jp/taraijpn/patch-src::plain2.h




vmbsd7# make
(中略)
===> Building for ja-plain2-2.54.1_2
cc -O2 -fno-strict-aliasing -pipe -DBSD -DKANJI -DPICTURE -DHTML -c plain2.c
cc -O2 -fno-strict-aliasing -pipe -DBSD -DKANJI -DPICTURE -DHTML -c readfile.c
cc -O2 -fno-strict-aliasing -pipe -DBSD -DKANJI -DPICTURE -DHTML -c miscutil.c
cc -O2 -fno-strict-aliasing -pipe -DBSD -DKANJI -DPICTURE -DHTML -c section.c
cc -O2 -fno-strict-aliasing -pipe -DBSD -DKANJI -DPICTURE -DHTML -c example.c
cc -O2 -fno-strict-aliasing -pipe -DBSD -DKANJI -DPICTURE -DHTML -c list.c
cc -O2 -fno-strict-aliasing -pipe -DBSD -DKANJI -DPICTURE -DHTML -c plaintxt.c
cc -O2 -fno-strict-aliasing -pipe -DBSD -DKANJI -DPICTURE -DHTML -c spacing.c
cc -O2 -fno-strict-aliasing -pipe -DBSD -DKANJI -DPICTURE -DHTML -c headfoot.c
cc -O2 -fno-strict-aliasing -pipe -DBSD -DKANJI -DPICTURE -DHTML -c hint.c
cc -O2 -fno-strict-aliasing -pipe -DBSD -DKANJI -DPICTURE -DHTML -c justify.c
cc -O2 -fno-strict-aliasing -pipe -DBSD -DKANJI -DPICTURE -DHTML -c texout.c
cc -O2 -fno-strict-aliasing -pipe -DBSD -DKANJI -DPICTURE -DHTML -c output.c
cc -O2 -fno-strict-aliasing -pipe -DBSD -DKANJI -DPICTURE -DHTML -c renumout.c
cc -O2 -fno-strict-aliasing -pipe -DBSD -DKANJI -DPICTURE -DHTML -c macro.c
cc -O2 -fno-strict-aliasing -pipe -DBSD -DKANJI -DPICTURE -DHTML -c htmlout.c
cc -O2 -fno-strict-aliasing -pipe -DBSD -DKANJI -DPICTURE -DHTML -c roffout.c
cc -O2 -fno-strict-aliasing -pipe -DBSD -DKANJI -DPICTURE -DHTML -c analyze.c
cc -O2 -fno-strict-aliasing -pipe -DBSD -DKANJI -DPICTURE -DHTML -c table.c
cc -O2 -fno-strict-aliasing -pipe -DBSD -DKANJI -DPICTURE -DHTML -c title.c
cc -O2 -fno-strict-aliasing -pipe -DBSD -DKANJI -DPICTURE -DHTML -c picture.c
cc -O2 -fno-strict-aliasing -pipe -DBSD -DKANJI -DPICTURE -DHTML -c ftitle.c
cc -O2 -fno-strict-aliasing -pipe -DBSD -DKANJI -DPICTURE -DHTML -o plain2 plain2.o readfile.o miscutil.o section.o example.o list.o plaintxt.o spacing.o headfoot.o hint.o justify.o texout.o output.o renumout.o macro.o htmlout.o roffout.o analyze.o table.o title.o picture.o ftitle.o
vmbsd7#



美しい :D

だがしかし。




vmfbsd7# ./plain2 -tex plain2.h
Segmentation fault (core dumped)


……あれー?

次回: -fwritable-strings に込められた意味とは!?
(過去どこかのblogでまったく同じハマり方をしている記事を見かけています。)

2008年1月9日水曜日

今年の目標。



この右下にずらーっと現れるJavaScript読み込みへの嫌悪感を無くすこと!

よく分かってない仕組みだから嫌なのであって、積極的に使えば嫌悪感も薄れることだろう。きっと。

Java開発者のためのAjax実践開発入門』も買ったし。
私はJava開発者じゃないけど、面白い本ですねこれ。
この本を読んでLaTeX入門の構成を見直そうかと思うくらい。

2008年1月8日火曜日

ja-mhがbrokenなんですけど・・・・・・

/usr/ports/japanese/mh がFreeBSD 7.0でBROKENになっていたので手を入れてみました。

http://www1.odn.ne.jp/taraijpn/japanese_mhtest_20071228.diff.txt
http://www1.odn.ne.jp/taraijpn/japanese_mhtest_20071228.tar.gz

昨年末勢いで作って2chのFreeBSD関係スレッドに投げたんですがリアクションが無く orz
ちゃんと動いたらsend-prしますんで誰か試してみて下さいな。

ファイル置く場所がidiskてのはどうなのか……と思ってODNに切り替え。

2008年1月2日水曜日

FreeBSD 7.0 やってみたいリスト

FreeBSD 7.0-RCになってますね。試してみたいいくつかの機能についてメモ。誰かやってくれリストとも言う。
  • ZFSを使ってみる
    • 実は一度試みたが、最小インストール後に /var, /tmp をZFSに割り当てる作戦をとった際、/varをZFSで確保したとこにコピーしようとして失敗。追加フラグの存在を失念していたためだが一端あきらめ今に至る。
    • ZFS化した後のファイルシステムに対するパフォーマンスの評価(どうやって?)
    • 使いどころを考える。(メモリ安値なら/tmpはtmpfsにすべき?)
  • lagg (リンクアグリゲーション)?
    • IEEE 802.3adに対応したスイッチが必要。
    • 実感を得られるような使い方をしていないので保留。
意外と少ないことに気づくのであった。
まああとは、利用していくにつれていろいろな変化に気づくんだろうなあ。

FAT32->NTFSへの変換

Vmware Workstation 6.0@Vistaで作っていたFreeBSD環境をFAT32でフォーマットされた外付けHDDにコピーして、実家に持って帰ったのですが、いざ実家でノートPCにつなぎVmware Player 2に読ませてみたらば、チェックしていたはずの「仮想HDDは2GBごとに分割する」がどうも効いてなかったようで、「このOSというかファイルシステムではダメですよ」みたいなエラーが出て起動しませんでした。
年末のうかつに年始で悩まされるか。がっくりだ。

というわけでちょっと探してみた結果、FAT32自体は1ファイルサイズあたり4GBが上限だったようで、確かに見てみたら分割されてる仮想HDDイメージのなかに3GBのものがあった。幸いにもイメージ全体は壊れていないようなので、ファイルシステムをコンバートすればいけるようで。
さっくり検索、convertコマンドの存在を知り、ちょいちょいっと外付けHDDをコンバート。
あっさり変換。あっさりFreeBSD@vmware 起動。めでたしめでたし。

と思ってこの記事を書こうと思い調べなおしたらば。
http://www5f.biglobe.ne.jp/~ayum/sample/filesystem.html
>変換した際にフラグメンティションが発生し、パフォーマンスが低下するようです。
引っかかった…… orz