>というわけで、次に Gentoo Linux に挑戦してみたのだった。
>
>なるほど、なるほど。お手軽な FreeBSD や RHL のインストーラに慣れていたので、こりゃちょっと新鮮でしたよ。 OpenBSD ほどじゃないけど、こういう素気なさは好きよ(でも見た目がグラフィカルで綺麗だから FreeBSD とかよりもとっつきやすそうに見えるのかもなあ)。後述するように、インストーラじたいの環境とかを調べたい場合にも便利だしね。
>
>まあちょっと面倒なことはあった(そもそも日本語版のインストールガイドって古すぎて内容が通じないのな)ものの、とりあえずインストールは完了。よくわからず、せっかくなのでステージ1(ぜーんぶネットワークダウンロード&手元でビルド) にしたので、ものすごーく時間がかかったけど、とりあえず完了。
>
>FreeBSD であれほど苦しんだ ACPI は普通に動いているっぽいようす。
>
>が……。
>
>今度はネットワークが認識しなくなっちゃった。困った。内蔵無線LANの話ではなく、内蔵イーサの話ね。無線LANはともかく(本当はそれも欲しいんだけど)ネットワークに繋がらないようではさすがに作業に支障をきたす。
>
>先述したようにインストール作業じたいはステージ1で行っているわけで、つまりインストーラと同じカーネル構成&モジュールがあればネットワーク接続はできるはず。で、インストーラで lsmod した感じだと e1000 かなあと思って、 emerge でインストールしてみたのだが、 modprobe でロードできない。
>
>っていうところで今日は時間ぎれ。そのうち続きをやろうと思いますが、さてはてどうすりゃいいのか誰か教えてほしいです。とりあえず他のモジュールも調べるかなー。
>
>あ、インストーラの /lib/module/…/kernel/drivers/net/ 以下をコピーしてくるという荒技もありだな(荒技すぎか)。
>
>あーちなみにカーネルは 2.6.9-gentoo-r4 になっとるようです。インストーラは r1 だったのでそれも試してみましたが、変化はなかったですね。あたりまえですが。
>
>を「うみかたん」と書くとなんか萌えキャラっぽい。
>
>というネタを思いついたのですがどうか。
>
>騎士カタンや歴史カタンや宇宙カタンではそうはいかない。
>
>風邪をひきました。喉がいたい。咳が出る。鼻水ずるずる。熱っぽくないのは幸い。
>
>週末の京フェスで一気に悪化したような気もしますがきっと気のせいです。大広間で特に上に何かをかぶるわけでもなく(ジャンパーだけかぶって)4時間ほど寝て、翌朝すごく寒かった気もしましたが、それも気のせいです。
>
>昨夜は12時間ほど寝ました。
>
>今日は講義があるのですが、そういうわけで欠席させていただきました。一言も発せずにできる仕事ならできる気もしますが、講義はさすがにつらい。
>
>大学に行って空いた分の作業をするかどうかというところで悩み中。→結局休むことにした。
>
>いってきたよ。
>
>
>駅からバスに間違えて乗る。というか、乗ってからはじめて巡回バスだということに気付き、逆方向だということに気付く orz かといって降りても正しい道を知っているわけじゃないので、ずーっと乗ることにする。1時間ほど無駄に費す。
>
>
>
>で、到着したらしたで、そこから実際の会場の建物まで行くのに迷ったり。もっとちゃんと案内してくれよ、と思った。人員がいないのはわかるけど。
>
>
>
>有川、長谷インタビューは、恐るべき準備不足のわりにはふつうだったと思った。『塩の街』はそのうち買うかも。
>
>
>
>昼食はその辺の屋台。おでんの味は関東と関西で変わるか試してみたが、コンビニの味がした。
>
>
>
>ウェアラブルの話は興味深いんだけど、ちょっと寝てしまった。HMDが見づらいってのはそうだよね。でもインプラントは非現実的だと思うな。
>
>
>
>国書の話を聴いていると、まるで国書刊行会がすごい売れているかのように聴こえるが、まぁ初版の刷り部数が違うからねぇ。沖縄の話は面白かった。
>
>
>
>オレが「若者の部屋」に入れなくなった年からこの企画がなくなるっていうのはどうなのよ。
>
>
>
>古沢ワイン部屋におじゃまさせていただいたが、顔ぶれがすごすぎたので、シャンパンをいただいたあと退席。
>
>
>
>かつきさんの身の上話は面白すぎた。SF研で大学を選ぶというのもあれだが、選び方もなあ。
>
>
>
>飛浩隆企画の途中ですごく眠くなり、部屋の隅でうたた寝(感じ悪いなぁ)。音楽の話とか、面白そうだっただけに残念。企画としては成功だったもよう。
>
>
>
>ベストSF短編がウルフのワンツーというのはいかがなものか。
>
>
>
>かつきさんのアンソロジーは編み方もさることながら、他のアンソロジストの出方を完璧に読んだ点が評価高い。
>
>
>
>あとは大広間でのんべんだらりと。
>
>
>
>かつきさんの幸せそうな笑顔に敗北する非モテ男という構図を自分から作って勝手に負けるのはどうかと思った。
>
>
>
>
>戦いは新たな局面をむかえていた。
>
>まず、そもそも BIOS をアップデートしていなかったことを思い出し、とりあえずアップデートしてみた。余談だが、 ThinkPad の BIOS 更新は異常に楽じゃのう……。
>
>で、結果としては変わらず。無念だ。
>
>次に考えたのは ACPI はさらにいくつかのモジュールに分かれていることで、それを部分的にオフにすれば良いのではないか、というものだった。
>
>いろいろな組み合わせを試してみたのだが、結果的には /boot/loader.conf に、
>
>debug.acpi.disabled="ec thermal timer"
>
>を加えたら、なんとか大丈夫だった。 thermal はなくても良いかも。
>
>このうち thermal はたぶんマザーボードの温度関係の管理で、 timer は時刻関係だろう。本質的なのは最初の ec なのだが、 ec が無効化されて timer が有効だと、定期的に「タイマがうまく行かないよぅ」というエラーを吐くので、無効化することにした。
>
>でまぁこれがどのくらい上手く行くかというと、具体的にはACアダプタのプラグを抜き挿ししても動いている、という状態になった。
>
>当然、それ以外はぜーんぜんできていない状況で、たとえばシャットダウンはまともに行かない。ただし、プロセスは全部殺して、ハードディスクの同期も終わって、さぁ OS をちゃんと終了させようか、という段階で固まるので、スイッチの長押しで終了させてもさして問題はないようだ。心情的には嫌だが。
>
>むろんサスペンドとレジュームなんて夢のまた夢。ただ、蓋を閉じても問題はない。サスペンドしないだけで元気に動いている。
>
>それから、致命的なのは Fn キーが使えないことで、押すがはやいが物凄い勢いでエラーメッセージが表示され続けて(視認ができない)、キー入力ができなくなる。そういうわけで、ディスプレイを切り替えるなら再起動しないといけないし、そもそも Fn キーを押してはいけない、というのはかなり恐い。
>
>ちなみに ec とは Embedded Controller の略。詳しくはわからないのだが、名前から想像するに ACPI まわりのコントローラなのだろうなあ。それが無効化されたら大変だろうなあ、と思うわけだが。
>
>さて、これからどうするかを考えないといけない。これでも、手元で動作実験を続ける分には問題はないのだが、普通にモバイルで使うとなると問題が山積している。そういうわけで、 Linux にしてみようかなあと考えている。で、試すならやっぱ Gentoo かなあ。とか、いろいろ考えているところです。
>
>Google の新機能。おもしろいなあ。
>
>ただ、訳の精度はひどいもんだという気はする。 Thread を「糸」と訳すのは、今のコンピュータの世界ではかなり問題があるんじゃないのか。
>
>おもしろいなあと思いつつ、一方で Google は手を広げすぎなんじゃないかという懸念もあるのよねぇ。
>
>\C-q で「半角カナ」になっちゃうのって勘弁してほしい。個人的には半角カナを使う場面は滅多にないし。一方、多くのソフトで、 Ctrl+Q は終了のためによく使うし。
>
>オフにするやり方ってどうなんだっけ? 忘れてしまったよ……。
>
>おもろい。
>
>もちろん、 CiteSeer とかは知ってたし、学内は学内でいろいろ使えるものがあるのだけど、どうやら自分は Google がやるということに面白さを見いだしているようだ。
>
>ところで、 ports や packages を便利に利用するツールとして、 portupgrade というのがあります。これは sysutils/portupgrade からインストールされます――この記法は、前者がカテゴリで後者が名前の意味です。この場合、 /usr/ports/sysutils/portupgrade からインストールができます。また、 ports ツリーの更新は、 CVSup でできます。 CVSup も sysutils/cvsup でインストールできますが、記述言語が特殊(Modula-3)なので、 ports 経由で入れると、ついでに Modula-3 の処理系が入ってしまいます。 packages 経由で入れる方が一般的にはオススメです。
>
>CVSup は supfile という特殊な形式の設定ファイルを読むことで動作します。この書き方を覚えるのは面倒かもしれませんが、 /usr/share/examples/cvsup にサンプルがたくさんあります。適当なものをコピーして、 host=CHANGE_THIS… になっているところを、 cvsup.jp.freebsd.org などとするだけで大抵はオーケーです。後は、
>
># cvsup ports-supfile
>
>などとすれば、 /usr/ports が更新されます。 standard-supfile なら、 /usr/src が更新されます。
>
>さらに、 /etc/make.conf に
>
>SUPFILE = /path/to/supfile
PORTSSUPFILE = /path/to/ports-supfile
>
>などとしておけば、
>
># cd /usr/ports; make update #=> ports の更新
# cd /usr/src; make update #=> ソースの更新
>
>でも更新ができるというお手軽さ(というかなんでもかんでも make でやりすぎ)。
>
>また、 ports が最新に保たれていれば、
>
># portupgrade -a
>
>を実行するだけで、現在のバージョンよりも新しくなっている ports を全て自動的にコンパイルしてインストールしてくれます。ただ、 portupgrade はいちいち全ての ports のバージョンを見ているわけじゃなくて、 DB を使っていますから、 CVSup したら、
>
># portsdb -u
>
>を実行すると良いでしょう。ただし、 prime のように新しいものを勝手に加えたときには、実はこれだけじゃだめですけどね。
>
>portupgrade をそのまま使えるか、というと、たまに更新するとマズいことがおきることがあるので(あるバージョンの uim とか……orz)、自動的にやるのは問題があることもあります。時間かかるし。なので、 cvsup だけ cron で定期的に実行しておき、 portupgrade は手動で行う、というのが基本的なスタイルだと思います。また、バージョンの差は portversion で確認ができます。
>
>この辺、半分くらいは
>ハンドブック
>(
>日本語訳
>ただし日本語版は情報が古い)にあるんですが、 portupgrade あたりはあんまり書いてないんですよね、そういえば。誰かがまとめた方がよいのか。
>
>そうか、混乱するかもしれませんね。→
>お布団11/17
>
>
>FreeBSD には、いわゆる package というものがあります。 sysinstall などでインストールされるのはこちらの方。コンパイル済のバイナリとメタデータをまとめて tgz にして固めたものです。 sysinstall でインストールする分には、依存関係も自動的に入れてくれるので、普通はその方法でやるのが楽でしょう。コマンドラインから実行するには、どこからか package のファイルを持ってきておいて、
>
># pkg_add filename
>
>とすれば良いです。
>
>それとは別に ports システムというのがあります。個々の package に対して Makefile を用意したよーなものだと思えばよいでしょう。 /usr/ports/... の位置にあるのがこれで、ディレクトリを見てみれば、ビルドの仕方を記述した Makefile、 FreeBSD 用のパッチになる files/patch-*、インストールした時のファイルのリストである pkg-plist などがあります。この Makefile には、 package の名前やバージョン、依存関係、特殊なビルド方法をやる場合にはその方式などが記述されています(普通に ./configure && make && make install なものだったらほとんど記述はない)。こちらは、
>
># cd /usr/ports/japanese/prime; make install
>
>などとすれば自動的に配布サイトからソースのアーカイブをダウンロードし、展開し、パッチを充て、 configure し、ビルドし、インストールします。
>
>ports 経由でインストールされたものと、 package としてインストールしたものの間には、インストール後には特に区別しません。 pkg_info でどちらのリストも出てきます。
>
>で、 prime ですが、 prime は FreeBSD の公式な packages としては存在していません。が、野良 ports や野良 packages をどこからか取ってくる分には問題ないでしょう。 prime の ports は
>ここ
>
から取ってくることができます。
>
>が、ともかくこの prime は古いし、 pkg-config のデータを入れる場所が間違ってるし、という感じですので、僕が使ったものを
>ここ
>
に用意しときました。ダウンロードしておき、
>
># cd /usr/ports/japanese; tar xzvf prime.tar.gz
>
>とすると、適切に展開されるはずです。あとは
>
># cd /usr/ports/japanese/prime; make install
>
>で大丈夫じゃなかったかと思います。たぶん。
>
>ただ僕は prime 使いではなく、この ports でインストールしたものを使ってみたものの、微妙に動作がヘンだったので、まだおかしなところがあるかもしれません。
>
>あーでも /usr/ports がないのは、どうしたものかなあ。他の ports がなくても単独で入れられるものは入れられるはずですが、 prime などの場合はたぶん、依存関係を解決する段階で、依存した ports のインストールに失敗してしまう気がしますね(具体的には ruby-sary など)。さてはて。
>