サーバをFreeBSD9.0にする(3)Ports地獄の一丁目

(2/12からの続き)

書き忘れ。フォーマットとスライスについて。

Bsdinstallにおいては、ブート領域のフォーマットがGPTである必要があり、その下に最低以下のスライスが必要。
1.boot領域。[Type]項目:freebsd-boot。昔からの制約で、最大512KBである。
2.Swap領域。[Type]項目:freebsd-swap。
3.ルート領域。[Type]項目:freebsd-ufs(デフォルト)[Mountpoint]項目:「/」。

Type項目は手打ち。選択されません。

さて、14日は会社でもっのすっごく嫌なことがあって、家に帰ってくるまで鬱々としていたのがかえって良かったのか、作業する頃には色々憑きものが落ちた状態になっていて(一度ブチ切れて悪態尽きまくって、はき出しきったんでしょうね)、上手く行かない理由として調べてみる事に気付いたのである。

そうだ、BIOS調べてみよう。

今まではあまり気にしてなかった(U-ATA時代はU-ATA1のMASTERにつなげば良かったので、BIOS関係なかったからね)のだが、S-ATAが入るとブート順が影響する可能性があるんじゃないかと。

結論、はい、このマザーボードには昔から馴染みの「優先起動デバイス」の他に「ハードディスク・メモリカードのブート順」がありました。
で、そのまま抜き差しすると「HDD優先、SSDなどのメモリは下位順位」に強制的になってしまう。さらに「そこにブート領域がないからって、自動的に下位に探してくれる訳ではない」ようなのだ。

で、ここをいじったら、見事ブートしました。

万歳ってことで、まずPackageでX系を入れることに。

ちなみに、ブートしたからコマンドラインでSysinstallを呼ぶことが出来ます。

で、一応X.orgとKDE4を入れることにしました。

ここで躓き。KDE4.5はグラフィックの能力が規定以下なら自分のエフェクトをバシバシ切って最適化するのですが、最新の4.7はそれをしないでCoreか何か吐いてしまい、再起動すると表示出来ない。
いや、なんでこんなおもおもおになるんだかねえ。
結果、再起動しない理由で再インストール3回。

まあとりあえず色々入れてテスト。
ちなみにKonsleなどでEUC表示をしたい場合は/Japanese/qt4-code-jpを入れるとDolphin、Konqerorも日本語を文字化けせずに表示出来る事が判明。
でもブラウザはOpera。これはportsから入れるときにFirefoxより速いから。

で、さてここでPortsを最新にする。

# portsnap fetch
# portsnap extract

※最初にソースをインストールしていれば、 #Portsnap update ね。

ところが、まずSamba-36が入らない。途中でなんかエラー吐いて止まる。これはSamba-35でも一緒。
結論から言うと、Samba-34なら入る。なお、この前に必ずlibiconvをインストールしてEUC/CP932対応のバッチを当てておくこと。

さらに、次に躓くのはApache-22とPostgresql。どっちも何らかのライブラリが違う、違うと叫ぶのである。

こらあかん。という事でここから苦悩のPorts/Package組み合わせ大会に突き進むのであった。

ちなみに、後日原因と思われる物が判明。ライブラリのPCREが、丁度この日にアップデートされたのである。所がPorts側での対応がまだ追いついていなくて、Portsによっては旧バージョンを要求したり(Packageと同じバージョン)、新バージョンを要求したりするので、インストールが先に進まなくなってしまったのである。
※ちなみにこれに気付いたのが17日です。ネタ元はこちらだった訳で。 

さあここから試行錯誤の地獄の一丁目。このあと気付くまでずーっと再インストール。XとかKとかPortsから入れてみたり色々したんだが、どうしてもあちこちでコケては再インストール。

そして17日深夜に最後の賭けに出るのであった。
(17日に続く。)