2010年6月28日
chmodの謎
実行権限を付けるときに次のような操作を行うことが結構ある。
tilto@stinger:/tmp$ touch aaa
tilto@stinger:/tmp$ ls -la aaa
-rw-r--r-- 1 tilto tilto 0 2010-06-28 19:40 aaa
tilto@stinger:/tmp$ chmod +x aaa
tilto@stinger:/tmp$ ls -la aaa
-rwxr-xr-x 1 tilto tilto 0 2010-06-28 19:40 aaa
これを書き込み権限でもやった人が居て、一般ユーザに権限が付かないと言われた。
tilto@stinger:/tmp$ chmod +w aaa試してみると確かに付かない。
tilto@stinger:/tmp$ ls -la aaa
-rwxr-xr-x 1 tilto tilto 0 2010-06-28 19:40 aaa
なんでかなと調べてみるとmanに書いてあった。ユーザ指定無しでchmodした場合、aを指定したと見なされ、a指定の場合はumaskが適用されるらしい。謎でもなんでもなく、ただの仕様ですな。
tilto@stinger:/tmp$ umask確かにumaskで挙動が変わる。こんなところにまでumaskが適用されるというのが意外だった。そもそも、書き込み権与えるときは数字指定でやるから、"+w"という発想が無かった。
0022
tilto@stinger:/tmp$ umask 0000
tilto@stinger:/tmp$ chmod +w aaa
tilto@stinger:/tmp$ ls -la aaa
-rwxrwxrwx 1 tilto tilto 0 2010-06-28 19:40 aaa
2010年6月13日
squeezeのインストール
lennyからsqueezeに入れ替えた時のインストールメモ。作業の実施は2010年5月21日なので、その後の更新で色々と変更されてると思う。システムディスクを2Tのものに交換したので、新規インストール。
インストールはUNetbootin使った。最初はnetinstのISOを組み込んでみたけど上手く動かなかったんで、ネットワークインストールにしてみた。NICが対応してたらこっちの方が楽っぽい。パーテーション切るところでEARSのパフォーマンス問題対策のために手動で切らないといけないのが面倒だった。
以下、インストール後にやったことリスト。
2010年6月 5日
BD-1と蟹
もう大分たちますが、BD-1の新ファームが出ました。本当なら5.0になるはずが不具合解決出来なく、出せる部分だけを4.14にて出したという中途半端な代物。ダウンロードページでは4.1.4で登録されてるから一番上に表示されないという落ちまで付いてます。とうかこれが4/24の話でもう一ヶ月以上立つのに次のバージョンアップは来てないな……。
4.14で変わったのはUIと24fpsの自動切り替えくらいかな。UIはソニーのモロパクリ。でも出来は悪い。レスポンスがイマイチなのはCPUのクロック低いからなのだろうか。24fps切り替えもBDでしか働かない感じなのがイマイチ。24fしか無いのも改善されないかな。正確に23.976で出力してもらいたいものだ。
WindowsのNFSも試してみたんだけど、どうやら文字コードがUTF-8しか対応してないようで、現状サーバにはLinux系統を使うしかない。うちは元々Linuxなんで問題は無いんだけど、どうも高レート(40Mbpsとか)動画がちゃんと再生できない。普通に再生出来るレート(25Mbpsくらい)の物でも、鯖側で別のファイル書き込みが動くと駒落ちが発生する。BD-1の問題かなと思ってたけど、最新ファームの更新履歴では50Mbpsまで対応したとか書いてある。で、BD-1のフォーラムで情報探してたら、Realtekのチップ使ったNASと相性が悪いって話が書いてあった。そこではNAS側でリンク速度を100Mにすればいいとの事だったが、ウチでは100Mにしても症状変わらず。
NICの問題っぽいことは解ったので調査してみる。まずもう一台のサーバで試してみた。こっちはVIAチップのギガビットなPCI-Eカードが刺さっている。結果、こっちもダメ。こっちのマシンはスロットの空きがあるので、IntelのPCI-E刺してみた。そしたらちゃんと再生できるでやんの。やはり蟹が原因だったようだ。
原因がわかったのは良いんだけど、Atomマザーなので、空きスロットはない。どうしたものかと考えていると、蟹純正のドライバが性能悪いって話を目にした。蟹だしそんなことも有るだろうと思い、カーネル純正のドライバが対応してたりしないかと情報を探してみた。カーネルのChangeLog見てたら2.6.28で対応したという記述が有った。ただ、2.6.28のドライバにはバグがあるような情報も見つけたんで、2.6.30以降を使うのが良さそうだ。
本当に2.6.30以降なら大丈夫なのか調べるために、KNOPPIXの最新版使って試してみる。カーネルは2.6.31なので条件は満たしている。NFSの設定に手間取りながらも何とか動かしてみたら、ちゃんと再生出来た。蟹のドライバがうんこだって事で間違いなかった。
さて、問題の原因と対処方法は解ったのであとはどうするかだけど、方法としてはlennyのままカーネルだけ上げるか、squeezeにしてしまうか。32bitカーネルなのがなんとなく気に入らなかったのもあり、squeeze(AMD64)に入れ替えることにする。squeezeはまだtestingなんで、色々とはまったりもしたんだけど、それはまた気が向けば書くことにする。結論だけ言っておくとsqueezeにしたらちゃんと高レートの動画も再生出来るようになりました。1000Mのリンク速度で40Mも転送出来ない蟹ドライバはどうなってるんだと、そんなお話。
2010年4月 4日
LinuxでEARS使用時のパフォーマンス問題
Linuxサーバのデータ領域としてWDの2Tなドライブ使っています。EARSシリーズは4Kバイトセクタを使用している特殊なディスクで、XPだとパフォーマンスが落ちるというのは知っていました。なのでLinuxだとどうなるのかなと調べたところ、問題なさそうだったんでそのまま使ってました。でも、実際に使ってみると、書き込み処理中にパフォーマンスがやたらと落ちてるなと気にはなってました。そしたら、本当はLinuxでそのまま使うとパフォーマンスが落ちるという情報が。だめじゃん。ただこのサイトには解決法までは載ってなかった。
で、ちょこっと検索してみると、簡単な方法で解決出来そうなことが判明。でも、これパーティション切り直しだよなあ。すでに1.5Tほどデータ入ってるんだけど、どうしましょ。
2009年12月20日
mediatombのインポートスクリプト
PS3のDLNA機能は読み込めるフォルダ階層の最大値が決まっています。デフォルトのimport.jsスクリプトだとファイルのタグ情報で分類するようになっているため、基本wavで保存してるウチの鯖だとまともに分類されないんですよね。で、ディレクトリたどる方法を使おうとすると最初に書いた制限に引っかかり、たどりつけないファイルがでて来る。
仕方がないんでスクリプトを書き換えて、PS3で読める範囲で取り込むように変更してみました。文法が良くわからないんで冗長な部分が多々ある見苦しいスクリプトになってしまった。でもせっかくだし、今回変更した部分を追記で書いておこう。

この問題に関する日本語での解説。
http://www.atmarkit.co.jp/flinux/rensai/watch2010/watch03a.html
問題はこれを読んでもさっぱり解らない事だ。