= 2011年8月 = * 光陰矢のごとし == 08/06 == * 大事なファイルを誤って`rm`して心が折れた。気をつけろ == 08/08 == === linux 3.0 on Arch === http://www.archlinux.org/news/changes-to-kernel-package-and-filenames/ 8/7づけで(ところでこれ、どこの時間なんだろう)、linux 3.0がTestingリポジトリからcoreリポジトリに移動した(要するに`pacman -Syu`で引っかかる)。同時にパッケージ名が`kernel26`->`linux`と変更。それに合わせて、`/boot`以下のイメージファイル名も変更されている。親切なことに以前の名前でシンボリックリンクを貼ってくれているのでgrubの`menu.lst`を書き換えずともちゃんと上がってくるが、ちゃんと書き換えた上でシンボリックリンクを削除することを推奨、とのこと。 3.0に上げてから起動が速くなった…気がする。 === netcfgのバージョンアップ === http://www.archlinux.org/news/netcfg-266-release/ 8/6づけのアップデートを適用したら起動時に無線LANインターフェース(eth1<eth0になったりeth1になったり、ということがあったので、udevのルールを書いてMACアドレスに対して名前を固定している)>>)がupしなくなった。症状としてはこんな感じ。 * 起動時にupしない。`rc.d list`してみるとnet-auto-wireless自体動いてないように見える * 起動後に`rc.d start net-auto-wireless`とかしてもダメ * `netcfg-menu`なりで使う設定を指定してやるとupする 上記リンク先をちゃんと読むと、今のところnet-auto-wirelessでだけ使われている設定ファイルが云々、と書いてある。中をのぞいてみると、 {{{ ## Define to the name of your wireless interface for net-auto-wireless WIRELESS_INTERFACE="wlan0" }}} ダメだこれ。ということでeth1に直して再起動するとちゃんと勝手に接続してくれるようになった。ちなみに、各接続先ごとの設定ファイルにもインターフェース名を各項目があるので、`netcfg-menu`で設定を直接指定した際はこちらが参照されてちゃんと動いていた、ということのようだ。 == 08/10 == === コンソールのログをとる === `script`コマンドを使う。エスケープシーケンスも残してくれちゃうのと、viとかページャを使うと出力が崩れるのが難点。 {{{ [clear@nest ~ (ret=0)]$ script test.log Script started, output file is test.log [clear@nest ~ (ret=0)]$ echo hello, world hello, world [clear@nest ~ (ret=0)]$ exit exit Script done, output file is test.log [clear@nest ~ (ret=0)]$ cat test.log Script started on Wed Aug 10 19:06:42 2011 [clear@nest ~ (ret=0)]$ echo hello, world hello, world [clear@nest ~ (ret=0)]$ exit exit Script done on Wed Aug 10 19:06:53 2011 }}} 毎回ログファイル名を指定するのも面倒なのでaliasでもするかと考えたが、よく考えたらそこまで頻繁にログを取りたいと思わないだろうし、ログを取りたいと思うようなときは何らかのひとまとまりの作業を行っているだろうから、ファイル名はすぐ思いつくだろう、ということでやめた。例えば日時からファイル名を生成するにしても、あとから検索するのが面倒。 == 08/11 == * `RSYNC_PROXY`を設定するときは`http://`とかはいらないらしい。というか付けたら残念なことになった == 08/13 == === ウィンドウマネージャつくりたい === 去年やりたいと思ってたけど、なあなあでやらず終いだったので今年こそはやりたい。モチベーション維持とメモを兼ねて、開発日記でもつけてみる。ささいな内容でも書くようにしたい。 * [[clear/note/wmdev]] == 08/17 == === 8-STABLEへのアップグレード === 自宅のデスクトップを8.2-RELEASEから8-STABLEに上げた。 1. バックアップを取る 1. `stable-supfile`を用意して`csup`でソースを同期後、`/usr/src/UPDATING`を確認 1. `make buildworld` 1. `make buildkernel` 1. `make installkernel` 1. `mergemaster -p` 1. `make installworld` 1. `mergemaster` 1. 再起動 1. `zpool upgrade` 1. bootcodeの更新。`gpart bootcode -p /boot/gptzfsboot -i 1 ad0` 1. `zfs upgrade` 1. 再起動 参考 * http://www.freebsd.org/doc/ja/books/handbook/makeworld.html * http://gihyo.jp/admin/clip/01/fdt/201106/1602 === Skype on FreeBSD === 8-STABLEに上げたので早速`net-im/skype`をコンパイルした。動くには動くものの日本語がまったく入力できず(日本語入力ONの状態で何を打っても全く何も出てこない)、使い物にならない。uimだとダメで、ibusだと大丈夫だったという事例をいくつか検索して見つけたので、ibusを入れて試してみたがやはりダメだった。 === I am hamegg === 半ば忘れていた。 == 08/19 == === GMC J-1ケースのメモ === * フロントパネルは引っ張ると外れる。けっこう力が要る * 5インチベイの中身は前から引き抜く * 2つある光学ドライブ用のふたはバネで止まっている。すぐにへたるので'''絶対に外したりしてはいけない'''(外す必要もない) * スイッチもふたと一体成型なので、壊れたら潔く諦める ---- * javaプラグインのportは`java/icedtea-web` * depend on openjdk == 08/22 == === dwm系WMとJavaアプリケーション === dwmでJavaアプリケーションを動かすとウィンドウサイズが変更できなくなったり(正確には、外枠のサイズを変更しても内側がついてこない)、全体的に挙動がおかしくなる不具合に見舞われた。調べてみると、awesomeやxmonadといったdwm系のWMで同様の事例があった。  * https://wiki.archlinux.org/index.php/Dwm#Fixing_misbehaving_Java_applications どうやらこれはJava側の問題らしい。Javaのこの挙動はICCCM([[http://tronche.com/gui/x/icccm/|Inter-Client Communication Conventions Manual]])違反とのこと。 * http://awesome.naquadah.org/wiki/Problems_with_Java これによるとnon-re-parentingなWMでこの問題が発生する。そもそもre-parentingなWMとは何かというと * http://en.wikipedia.org/wiki/Re-parenting_window_manager つまりタイトルバーやボタンといった装飾を施すためにウィンドウの親を変更するウィンドウマネージャのことで、そもそも装飾のないdwm系はnon-re-parentingだった。この問題に関する解決策は以下で述べられている。 * http://awesome.naquadah.org/wiki/Problems_with_Java#Impersonate_Another_Window_Manager LG3Dって何なのかと思ったら、 {{{ This works, because the JVM contains a hard-coded list of known non-re-parenting window managers. For maximum irony, many users prefer to impersonate “LG3D,” the non-re-parenting window manager written by Sun, in Java. }}} なるほど皮肉ですか。 == 08/29 == * `pwd_mkdb`(8)で`master.passwd`からpwd.dbとspwd.dbを作る {{{ # pwd_mkdb /etc/master.passwd }}} * `cut`コマンドで `awk '{ print $1, $2 }'` 相当のことをやる {{{ cut -d ' ' -f 1,2 }}} * デフォルトはタブ区切り == 08/30 == === 起動時のZFS mount === jail上で`/usr/ports/`以下を親環境と共有するために、nullfsでマウントするようfstabに設定を書いた。 {{{ /usr/ports /jail/gaea/usr/ports nullfs rw 0 0 }}} ZFSの構成はこんな感じになっている。 {{{ [clear@mirage ~ (ret=0)]$ zfs list NAME USED AVAIL REFER MOUNTPOINT ... pool0/jail 287M 838G 36K /jail pool0/jail/gaea 287M 838G 286M /jail/gaea ... }}} このとき、起動時のマウントに失敗してシングルユーザーモードに落ちてしまう。メッセージから判断するに、そもそも`/jail`自体がマウントできていない。`pool0/jail`は`set mountpoint`で`/jail`にマウントするよう設定してあるが、どうやら起動時にfstabに従ってマウントする段階ではまだマウントされていないらしい。`set mountpoint`をやめて、nullfsで`/usr/ports`をマウントする前に`/jail`をマウントするようfstabに書いておくことも考えたが、少し調べると`late`オプションが使えそうだったので試しに書いてみたら上手くいった。 {{{ /usr/ports /jail/gaea/usr/ports nullfs rw,late 0 0 }}} ---- * ファイル名が空白を含むときのfind + xargs: `find -print0 | xargs -0`