Medibuntuの利用

Medibuntuとは、簡単に言えばライセンスやら法的な問題やらでUbuntu公式には含まれないマルチメディア系パッケージを配布しているリポジトリ。

利用する方法はMedibuntu公式に書いてあるのをそのままコピペ。

sudo wget http://www.medibuntu.org/sources.list.d/$(lsb_release -cs).list –output-document=/etc/apt/sources.list.d/medibuntu.list && sudo apt-get -q update && sudo apt-get –yes -q –allow-unauthenticated install medibuntu-keyring && sudo apt-get -q update

実際のところなにやってるかというと、

http://www.medibuntu.org/sources.list.d/$(lsb_release -cs).list(lsb_release -csはUbuntuのコードネームを表す)

/etc/apt/sources.list.d/medibuntu.list
において、パッケージリストを更新して、medibuntuのGPGキーをキーリングにつっこんで、もっかいパッケージリスト更新。

なもんで、9.10なら、/etc/apt/source.listに
deb http://packages.medibuntu.org/ karmic free non-free
とでも書いて自分でキーリングにGPGキーいれてもいけるわけだけども別にこだわりがなければコピペでいいだろう。

これをやるとskypeをAPTで入れられたり、いろいろなcodecをAPTで入れられるようになったりする。

デスクトップ用途だとDebianよりよさそうだな。。。


CG-WLUSB300N再チャレンジ

以前Linuxで使おうとして挫折したが、この間結局WZR-AMPG300NHの子機つきのやつをなぜか12800円で買ったので、今度は普通にクライアントとして使おうかと思って再チャレンジ。

とりあえず、AMPG300NHはブリッジモードで動作させている。
構成的には以下のような感じ。

WAN --- ルータ --- 有線接続クライアント
          +- ブリッジ接続 - WZR-AMPG300NH --- 無線接続クライアント

で、とりあえずCoregaの公式ドライバをWindows7で試してみる。
CG-WLUSB300NWHCG-WLUSB300NBK、別々に商品ページが別れているのは嫌がらせだろうかとおもうが、とりあえずWindows7はサポートしていないらしくてインストールでこける。
まあ、
コントロールパネル->ハードウェアとサウンド->デバイスマネージャ
で選択して、
ドライバの更新->コンピュータを参照してドライバ云々->コンピュータ上の云々->ディスク使用->Vista用のドライバ
ってやれば強行突破できる。
署名されてないけど。

んで、このドライバさっぱり更新されてないんで、このままLinuxで使おうとしても32bitならいけるけど64bitだとndiswrapperがこけるのはわかっている。
ので、realtekのチップを使ってるのはわかってるので、そっちででてないかみてみる。
と、あった
RTL8192Uってやつ。
しかもWindows7用のやつもある。
ベータだけど。
とりあえず拾ってくる。
ドライバの更新->コンピュータを参照してドライバ云々->コンピュータ上の云々->ディスク使用
で入れる。
相変わらず署名されてないけど。
で、認識された。
ためしにWPA2-AESで接続してみる。
接続できる。
んじゃ、64bitも同じ手順でいけるだろうきっと。
ということでWinodws7 x64でもやってみた。
いけた。
しかもこっちは署名してるし。
接続も問題なし。

さて、問題はLinuxでいけるかどうかだ。
32bitは公式のXP 32bit用のドライバでndiswrapper使えばいけるんだけども64はだめだったので、Realtekのドライバで試してみる。
結論。
64bitじゃ無理ぽ。
Windows Vista/7用のドライバはndiswrapperじゃ理解できなくて無理、XP用のドライバはスタックトレース吐いてndiswrapperが死ぬっていう。

32bitの場合はXP用のドライバで問題なくうごくらしいんだけどねー。
結局昔とかわってないってことか。
まあ、64bitでこれ使うのは当面あきらめということで.

ext3とext4比較

ext3とext4って何が変わったのかようしらんかったのでついでに違いを調べてみた。

  1. ファイルシステムの最大サイズが16TBから1EB(1,048,576 TB)に
  2. ファイルの最大サイズが2TBから16TBに
  3. 最大サブディレクトリ数が32000から無制限に
  4. ファイルのデータへの参照方法が間接ブロックマッピングからエクステントに(前のエントリの下のほう参照)
  5. ファイルシステムへのデータの配置時、ブロックアロケータが1ブロックずつではなくたくさんのブロックに配置できるように(マルチブロックアロケーション)
  6. 遅延配置ができるように(ディレイドアロケーション)
  7. fsckが2から20倍の早さに
  8. ジャーナルにチェックサムつけるようになって信頼性向上
  9. ジャーナルを使わないモードも指定できる
  10. オンラインデフラグが可能に(未実装)
  11. inodeのデフォルトが256バイトになってナノ秒まで保持するように
  12. 持続的な事前配置が可能に(persistant preallocation)
  13. barriersオプション(RDBMSでbegin transaction, commit transactionとかやるようなもん)がデフォルトに

まあそんな感じらしい。

でまあ、ちょっとext4特有のフィーチャーに関して調べてみた。

  • extent — 4にあたる。でかいファイルへの読み書きが速くなる予定。フラグメンテーションも軽減。
  • huge_file — 1,2にあたる。たぶん。一般ユーザには関係なさそう。
  • dir_nlink — 3にあたる。企業システムとかだとたまにこれはまるんだよね。
  • extra_isize — 11にあたる。タイムスタンプがナノ秒まで見られてもありがたみがあまりよくわからないが、inodeが256バイトないとext4の固有の機能が使えないぽい。たぶんextentsとかblock group周りで使いそう。あとまあ、でかいファイルだと間接参照が減るんで、extents使わなくても大容量ファイルの取り扱いは早くなる。んじゃないかな。昔はinodeの枯渇とかありましたね。
  • flex_bg — ブロックグループのinodeとbitmapの配置位置が自由になる。これにより仮想的な大きなブロックグループを使ってinodeの割り当てをする。速度向上やフラグメンテーション軽減。
  • uninit_bg — 7にあたる。ブロックグループのデータブロックビットマップとiノードビットマップを初期化しないでアクセスする。使用されていないinodeのリストをそれぞれのブロックのiノードテーブルの最後にチェックサムをつけて保持しておいて、e2fsckのときに読むなよフラグをグループディスクリプタにくっつける。結果inodeの数が多ければ多いほどfsckにかかる時間が相対的に短くなる。

で、マウントオプション。

  • journal_checksum — 8にあたる。
  • noload — ジャーナルをロードしない。9にあたる。
  • barrier — 13。デフォルト。無効にするならnobarrierまたはbarrier=0。
  • orlov — 5。デフォルト。マルチブロックアロケータを使う。ext3までのがいいならoldalloc。
  • delalloc — 6。デフォルト。キャッシュから実際に書き出されるまでアロケーションを遅らせる。flex_bgやextentsが有効だと相乗効果でその間に配置の最適化とかが進んでより速く。キャッシュに入ったらすぐブロック確保したいならnodelalloc。

なんか12はext3でも実装されてるような。
マウントオプションはリストにあがってないやつは省き。

こうしてみてみるとext4ってよさそうな。
でもWindowsでマウントできないのはいやだなー。
extent, dir_nlink, extra_isize, flex_bg, uninit_bgってかんじかなー。
huge_fileはどっちでも。

Windowsからext4へのアクセスについて

基本的にLinuxのディストリはDebian信者なんですが、Debian派生ってことでUbuntuにも興味は持っておりまして。
で、この際だから入れてみた。
インストーラはDebianみたいにExpert Installとかないみたいで、なんか勝手にもりもりパッケージ入れられたけどまあデスクトップ用途ならありだろう。

んで、パーティションを切るときに気づいたんだけども、Ubuntu 9.10だとデフォルトのファイルシステムにext4が使用される。
ext3とext4の違いとか知らないわけだけども、まあデフォルトになってるんだから使ってやるか、ということでext4でパーティション切って入れてみた。

インストールを終えたものの、Windowsのほうの環境がまだgdgdなもんでとりあえずWindowsの環境整備をしているんだけども、そこでext4ってWindowsからアクセスできるの?っていう疑問がふとわいてきた。
そこで調べてみた。
結論から言うと、条件付きで可能。

ext2/3/4は後方互換(backward compatible)性がある。
これはどういうことかというと、ext3はext2を純粋拡張したものであり、ext4はext3を純粋拡張したものであって、ext2で持っている基本構造自体には変化がないということだ。
だから、ext2のデータはそのままext4で扱える。
ext2ファイルシステムをext4ファイルシステムにするのは簡単なのだ。
しかし、その逆となると簡単ではない。
というのは、ext3/4ファイルシステムのデータは、それらのファイルシステムで拡張されたext2では定義されていない固有の情報をすべて切り落とさなければ、ext2ファイルシステムにおいては異常なデータとなってしまうからだ。

んで、今現在Windowsからextうんたらにアクセスできるようにするソフトっていうかドライバっていうかってのはあんまりない。と思う。
ぱっと探して見つけたのは以下。

とりあえず最後のやつ以外は試したけどだめだった。
最後のやつを試さなかったのは、inodeが128byteを超えるものはサポートしないって明示してあったから。
Ubuntu 9.10では256byteがデフォルトっていうね。

ところで、ファイルシステムを作成するときにはこっそりフィーチャー(feature)と呼ばれるオプションがついている。
そのデフォルト値が/etc/mke2fs.confに書かれていたりするんだけど、それのext4がUbuntuだとこんなかんじ。

ext4 = {
 features = has_journal,extents,huge_file,flex_bg,uninit_bg,dir_nlink,extra_isize
 inode_size = 256
}

んで、このなかのextentsオプションが付与されてファイルシステムが作成されていると、上記のext3まで読めるやつでも読めなくなっちゃうようだ。
とりあえず、ext2fsdではextentsオプションをはずせば読める。
一応書けもする。
常用したら絶対何かが起きると思うけど。
ほかのソフトは知らない。

ちなみに、extentsってどういうオプションかっていうと、まあ詳しくはここを見てもらうと。
簡単に言えば、ファイルの中身(データ)ってでっかいファイルだとばらけるわけで、そういう時ext3までは、直接参照だけじゃ間に合わないんで間接参照することにして、間接参照の先で直接参照してってな具合になってたのを、「次のnブロックにデータがあるよ」っちゅー風な言い方をするように変えるんだぜ、っていうオプション。
なんか簡単にいえてない気がするけど気のせいかも。
重要なのは、extentsオプションつけてファイルシステム作ると、今までのLinuxのファイルシステムにおけるファイルの実データへの参照方法とは根本的に違う参照方法になっちゃうってこと。
そりゃext3まで対応してるソフトっていうかドライバっていうかでも読めない。

なので、解決方法は以下のどれか。

  1. extentsオプションをはずしてファイルシステムを作成する
  2. extentsオプションを後から消す(たぶんうまくいかない気がする)
  3. ext4使わないでext3使う
  4. VM使ってファイル共有
  5. extents対応のソフトを作るか作ってもらう
  6. 見えなくていいと開き直る

1は

# mke2fs -t ext4 -O ‘^extents’ /dev/sda1

とかってかんじか/etc/mke2fs.confあらかじめ書き換えるか。

2は

# tune2fs -O ‘^extents’ /dev/sda1
# e2fsck -fpDC0 /dev/sda1

みたいな。
うまくいくのかわかんないけど。
ってかたぶん無理なんだろうな。

ちなみにUbuntuだとどうもインストールプロセスでは1はできないっぽかった。
Debianのインストーラならエキスパートモードで普通にシェル立ち上げて自分でファイルシステム作ればいいんだけど、良くも悪くもUbuntuはWindowsユーザ層みたいなのをターゲットにしてるのか、インストールプロセスが簡易な反面細かいカスタマイズができないっぽかった。
あんまりいじってないから実はできるんだけど気づいてないだけかもしれないけど。

PT2@Windows7 32bit

この間Windows7 64bit版でのPT2の設定の仕方を書いたけども、今回は32bit。
といっても32bit版のほうが署名ドライバ云々がないので、64bit版より楽。

用意するものはx64よりちょっと減って以下のとおり。

64と違って署名ドライバがいりません、はい。

で、基本的にはこっち参照してもらうとして、違うところ。

  • bcdedit.exe -set TESTSIGNING ON (ドライバテスト署名モード)は不要
  • 証明書の登録(pfxファイルの配置)も不要
  • デバイスマネージャから手動で署名ドライバのインストールも不要

要するに署名ドライバ周りは一切不要。

PT2をさして公式ドライバをインストールすればPT2がそのまま認識される。
あとはx64と同じ。
まあ、こんな警告でるけど、当然無視してインストールです。

pt2win732

GTX295を買ったんだが

先週のこと。
ドスパラでnVidia Geforce GTX 295が27800円という意味不明な価格で売られていた。
個人的にはぜんぜんそんなスペックのグラボなんて必要としていないんだが、自作屋の性というかなんというか、あまりの安さに必要もないのに買ってしまった。
ちなみに相場は45000円以上ってかんじだとおもわれる。

で、早速取り付けようとしてみたわけだが、さすがハイエンドグラボ、電源が足りなくて取り付けられない。
ということでりこと相談。
すると、Core i7ももくろむと800Wクラスになってくるんじゃないか、ということになった。
で、いろいろと吟味して電源をぽちった。

続きを読む GTX295を買ったんだが

Windows7でネットワーク接続情報の保存

うちではSambaを使ってディレクトリの共有とかもやってるんで、よく使うところはネットワークドライブとして割り当てをした。
やり方は簡単で、ネットワークドライブを割り当てたいディレクトリをエクスプローラで右クリックしてネットワークドライブの割り当てすればいい。
なんだけども、再起動すると認証情報が記憶されていなくて、毎回入力しないといけなかった。
面倒だから記憶させたいので、何かないかと探していたらあった。

sikaku

コントロール パネルユーザー アカウントと家族のための安全設定資格情報マネージャー

ここからWindows 資格情報の追加を選んで認証情報を登録してやったら、再起動しても記憶されたままになった。