スポンサーサイト
投稿日時 : -------- --:--
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
-------- --:-- | スポンサー広告
プラスチックを短期間で分解するバクテリア、高校生が特定
投稿日時 : 2008-05-27 23:11
 プラスチックは自然界で分解されるまでに何千年とかかり、それらの廃棄物をどう処理するかということが解決すべき重要な環境問題のひとつになっていますが、カナダの高校2年生のDaniel Burd君がこの問題の根本的な解決策になり得る発見をしたようです。
 
プラスチックを短期間で分解するバクテリア、高校生が特定 | WIRED VISION
 
Burd君はプラスチックを食べるバクテリアを特定し、そのバクテリアに最適な環境を作ることで通常は数千年かかる分解のプロセスをたった3ヶ月に短縮することに成功したようです。
 
WIRED VISION
『The Record』紙の記事によると、Burd君は、土にイースト菌を混ぜ水を加えたものの中に、粉状にしたプラスチックを入れて、30度にした。すると、自然界に放置した場合より早く、プラスチックが分解された。
 
温度や条件を変えながら何度も実験した末、Burd君は、プラスチックをムシャムシャ食べる微生物の正体を突き止めた。1つは緑膿菌(Pseudomonas)属で、もう1つはスフィンゴモナス(Sphingomonas)属だった。
 
さらに、重要なのがこのバクテリアによる分解にほとんどコストがかからないということ。
WIRED VISION
Burd君は、この発見を産業レベルに採り入れるのは簡単なはずだと言う。醗酵槽と培地、それにプラスチックがあれば、バクテリアは、プラスチックを食べて熱を発し、必要なエネルギーのほとんどを自らに供給する。副産物も、水と少量の二酸化炭素が出るだけだ。
どんなにすばらしい技術でもそれを実現するのに費用がかかり過ぎて採算がとれないのであれば、企業ベースで採用され大規模に展開される望みは少なく、環境問題に影響を与えるレベルまで普及することはまずないと思われる。温室効果ガスの排出権売買もそうだが、環境問題対策はビジネスとして成り立ち、経済システムの中で機能することが重要。そういう観点でもこの発見はあまりにすばらし過ぎる。
 
海外の高校生は自宅で核融合炉を自作したり、高校生離れしたとんでもない発見や発明をするもので、今回のも相当なものだと思います。
 
スポンサーサイト
2008-05-27 23:11 | Science | Comment(0) | Trackback(0)
Javascriptの各メソッドによる行数の数え方と処理速度比較
投稿日時 : 2008-05-25 18:43
行数の数え方: Days on the Moon
 
HTMLのtextareaのvalueやテキストファイルの行数を数えるには改行コード「\n」の数を数えばいいわけですが、どうやって数えるかによって処理速度に大きな差が出るという話です。実験環境はSpiderMonkeyJScript
 
Days on the Moon
行数カウントの実行時間 (10000 回、単位はミリ秒)
改行を含む文字列改行を含まない文字列
SpiderMonkey1.8JScript5.7SpiderMonkey1.8JScript5.7
charAt46816563891360
Array4631047382859
split1081727863
match5022037378
match
(番兵)
543250185110
indexOf952501331
replace446948262
 
 
以下は実験で使用されているコードの説明。
 

■charAt

Days on the Moon
// charAt
var lines = 1;
for (var i = 0, n = s.length; i < n; i++)
if (s.charAt(i) == "\n")
lines++;
charAtで1文字ずつ取り出して\nかどうか調べている。JScriptがなぜこんなに遅いのか分からないがとりあえず避けるべき方法と言える。
 

■Array

Days on the Moon
// Array
var lines = 1;
var chars = s.split("");
for (var i = 0, n = chars.length; i < n; i++)
if (chars[i] == "\n")
lines++;
var chars = s.split("");で1文字ずつ配列に格納する。charAtの時と違ってchars[i]で各配列の値が\nかどうかを調べる。見た目的にはcharAtと大して変わらないがJScriptではこれだけでもそれなりに速くなる。
 

■split

Days on the Moon
// split
var lines = s.split("\n").length;
\nでsplitして得られたArrayオブジェクトのlengthを調べる。速度的にも速いし非常に読みやすく理解しやすい。
 

■match

Days on the Moon
// match
var lines = (s.match(/\n/g) || []).length + 1;
matchを使って\nをグローバル検索し得られたArrayオブジェクトのlengthを調べる。「|| []」があるのは\nが見つからなかった場合に返されるオブジェクトがArrayオブジェクトではなく、lengthプロパティを参照しようとするとエラーになってしまうのでそれを回避するため。ちなみに「[].length」は0が返される。
 
 

■match(番兵)

Days on the Moon
// match (番兵)
var lines = (s + "\n").match(/\n/g).length;
さっきのmatchに番兵を置いたバージョン。「|| []」とする代わりに「\n」を文字列sの末尾に追加し、確実に一つはArrayオブジェクトが生成されるようにし、lengthプロパティ参照でエラーが起こりえないようにしている。
 

■indexOf

Days on the Moon
// indexOf
var lines = 1;
var i = -1;
while ((i = s.indexOf("\n", i + 1)) >= 0)
lines++;
indexOfで\nを検索、見つからなかった場合に返される-1になるまでwhileでループする。意外にもほぼ最速。しかし後述するが検索対象の文字列の内容によって速度が大きく変化するのでいつでも最速というわけにはいかないようです。
 

■replace

Days on the Moon
// replace
var lines = s.length - s.replace(/\n/g, "").length + 1;
sの全体のlengthから\nを削除した文字列のlengthを引くことで\nの数を判定。
 
 

■もう少し詳細に

この行数の数え方: Days on the Moonの記事を受けてトラックバックに
 
文字列処理の性能に関する考察 - blanket-log
 
というのがあってより詳しく調べてくれています。

■charAtとArrayは本当はArrayが断然速い

上記の実験ではArrayとcharAtがどちらも遅く、大して変わらないという印象でしたが、ArrayバージョンではsplitによるArrayオブジェクトへの変換に時間がかかっているだけで、ループ内の処理はcharAtと比べて断然速いようです。
 

■indexOfは検索対象文字数とループ数、時間が比例する

最速かと思われたindexOfですが、文字列中に含まれる検索対象文字(\n)が多くなると一気に速度が落ちるようです。これは改行数に比例してループ数が多くなるため時間もそれに応じて多くかかってしまうから。しかしループ数が少ない場合は新たなオブジェクトの生成などが発生しないぶんだけ非常に高速になる。
 

■splitとmatchは似ている

splitはもとの文字列への参照を持つArrayオブジェクトが生成されるだけで、内部で新たな文字列にコピーが行われるといったことがないので高速になるということらしい。matchも生成されるのはArrayオブジェクトなので、内部処理はsplitと同じようものだろうということらしいです。
 

■実はreplaceが最速

改行数が多い場合はreplaceが最速という結果になるようです。走査処理はsplitと似ているが、最終的に生成されるのが文字列というのがspilitとの違いで、そのArrayオブジェクトとStringオブジェクトの生成コストの差が性能の差になっているようです。
 
 

■まとめ

各方法にはそれぞれ得意とする分野があるので、対象文字列の内容がどのようなものかによって使い分けるのがいいと思われます。charAtは論外ですが。予想できない場合は無難にsplitを使ってれば安心かも。splitが一番可読性が高い気がするし。  
 
2008-05-25 18:43 | Javascript | Comment(0) | Trackback(0)
妻の顔を30年間見なかった男が睡眠中に覗き見して離婚を言い渡される
投稿日時 : 2008-05-21 12:38
えぇぇぇぇぇ!?ww
なんだかむちゃくちゃな話ですが事実のようです。
 
妻の顔を30年間見なかった男が睡眠中に覗き見して離婚を言い渡される - GIGAZINE
 
イスラムの女性がベールなどをかぶることで極力肌を露出させないようにする風習があるのはみんな知っていると思いますが、今回の事件はその極端な例のようです。
GIGAZINE
サウジアラビアでは姉妹や母親の顔を知らずに過ごしている人もいるとのことで、イスラム教は家の中のプライベートな場所でも肌を隠すことを強制していませんが、湾岸諸国僻地の極少数の女性は古くからの伝統として、家の中でも肌を見せないようにしているそうです。
 
今回の事件はそういった地域で結婚後30年間も妻の顔を知らずに生きてきた夫が、ついに好奇心に負けて妻の就寝中に顔を覗き見しようとしたのがバレてしまい、激怒した妻に離婚を言い渡されたということらしいです。
 
イスラム女性がベールなどで顔や肌を隠すのは、そもそもは女性を守るためらしいです。しかしここまでくるとちょっと異常だと思ってしまう。まあ実は普段から夫に対して不満があったのでここぞとばかりに離婚しただけなのかもしれませんが・・・
 
2008-05-21 12:38 | Entertainment | Comment(0) | Trackback(0)
OLPCとMS、Windows搭載「XO」ノートPCを提供へ
投稿日時 : 2008-05-16 11:58
olpc
 
   通称「100ドルPC」の「OLPC XO」にWindows搭載モデルが2008年06月に登場する見込みのようです。
 
OLPCとMS、Windows搭載「XO」ノートPCを提供へ:ニュース - CNET Japan
 
2007年12月の時点ではXO上でのWindowsの動作は調査中とのことでしたが、XO固有のデバイスのドライバなどの開発が終了したようです。
 
 そいえばOLPC計画(The One Laptop Per Child project)発表当初、Microsoftは「100ドルPC?www そんな低機能なマシンは必要ない。子供達にはうちの600ドルぐらいのやつ使わせた方がいいに決まってる」みたいな貧困層の現実を無視した傲慢な発言をしてた気がするけど撤回したんだろうか?今回の件にしてもそうだし、低スペックのUMPC用にWindows XPの提供期間を延長したことからも、Linuxに大きくシェアを奪われる現実的な可能性に対する焦りみたいなものが感じられます。
 
 まあそんな大人の事情はさておき、OLPCのような計画がなかったら一生PCに触れる機会がなかったかもしれないような子供達にとっては、それがどんなOSで動いてようが関係ないわけで、厳しい現実を生きる上での糧になることだと思います(転売されてご飯に姿を変える可能性も否定できませんが)。
 
 そっぽを向いていた巨人Microsoftを振り向かせたというのはそれだけOLPC計画が着実に実績を残しているという証拠でもあると思います。個人的にはMicrosoftのやり方はあまり好きではないけど、世界全体の流れとしては悪くない方向に向かっている気がします。
 
2008-05-16 11:58 | News | Comment(0) | Trackback(0)
本当に目にも止まらぬ早さで銃を撃つガンマン動画
投稿日時 : 2008-05-15 18:30
目にも止まらぬ早さで銃を撃つガンマンのムービー - GIGAZINE
 
 西部劇とかで見かける決闘での早撃ちシーンは、実際どのぐらい早撃ちかというのはいまいちよくわからないものですが、以下の動画ではリアルに尋常ではない早さの早撃ちが見れます。本当に目にも止まらないとは思わなかったw。早いというより速い。
 
 
YouTube - Bob Munden
 
 
もう一本。
5個の風船を0.88秒ですべて撃ち抜きます。1個あたり0.176秒。しかも銃をホルスターに収めた状態から。異常。
YouTube - Fastest gun in the west
 
 
こんなやつらに勝てる気がしない。しかしこんなに早いんじゃ見てもよく分からないので西部劇では使えないね。
 
 
2008-05-15 18:30 | Entertainment | Comment(0) | Trackback(0)
Fedora9公開 - 起動プロセスがSysVinitからUpstartに
投稿日時 : 2008-05-14 08:26
 2008/05/13(米国時間)に公開されたLinuxディストリビューション「Fedora 9」の起動プロセスが従来の「SysVinit」からUbuntu(など)で採用されている「Upstart」に変更された。
 
  最新Linux「Fedora 9」が公開:ITpro
 
 LinuxはUbuntu7.10からいじり始めましたが運悪くと言うか、当初他のディストリビューションに先駆けてUbuntuがUpstartを採用していたのでネット上に情報が極端に少なくて困りました。まあ未だにUpstartはよく分かってませんが、今月号の日経LinuxにSysVinitとUpstartの比較記事があるようなので見てみようかと。/etc/inittabが消えるのは時代の流れということになりそうですね。あとFedora9で特筆すべきは次世代ファイルシステムext4に対応した点でしょう。その他主な特徴は以下。
  • カーネルは2.6.25-14
  • GCCは4.3
  • GNOMEは2.22
  • KDEは4.0
  • ブラウザはFirefox3beta5
 
ダウンロードはこちら
 
[参考]
Fedora リリースノート
 
2008-05-14 08:26 | News | Comment(0) | Trackback(0)
「Mozilla Party JP 9.0」参加者全員に記念Tシャツプレゼント(2008/05/31開催)
投稿日時 : 2008-05-13 18:50
 Mozillaのユーザコミュニティ「もじら組」が毎年開催している恒例イベント「Mozilla Party JP 9.0」が2008年05月31日に開催されるらしいです。無料で事前申込みも不要でなんと参加者全員に「Mozilla 10 years」の記念Tシャツがプレゼントされるとのこと。たぶんフォクすけシールも。
 
「Mozilla Party JP 9.0」5月31日開催:CodeZine
 
こういったイベントに参加したことないけど、無料な上に申込み不要でTシャツもらえるならちょっと行ってみようかなw。間違いなく自宅でしか着ないけど。
 
内容的にはSUMO ProjectとかFirefox3のグラフィックについてとか。
詳細は以下。
 
CodeZine
  • 日時
  • 2008年5月31日(土) 13:00~17:40
  • 参加費
  • 無料。事前申込も不要。(2次会のぞく)
 
 
2008-05-13 18:50 | News | Comment(0) | Trackback(0)
開発開始から15年、ついにWine 1.0のリリース候補版が公開
投稿日時 : 2008-05-12 15:20
1993年06月の開発開始から15年、ついにWineのリリース候補版「Wine 1.0-rc1」が公開された。
 
出荷は間近? ついに「Wine 1.0」のリリース候補版が公開 | パソコン | マイコミジャーナル
 
15年とは・・・あまりに長いベータ版期間。最近はPhotoshopが動くようになったりして開発の進み具合をうかがわせるようなニュースがいくつかありましたが、ついに正式版リリースが近づいているようです。
Linuxのwineで動作するWindows用テキストエディタ動作比較」ではEmEditorが起動すらできなかったのが今でも残念ですが正式版ではどうなるんでしょうか。開発が正式にスタートした1993年6月にちなんで6月にリリースが見込まれているらしいですが期待です。
 
さっそく今からrc1を入れてみます。
 
[参考]
Wine HQ
 
 
2008-05-12 15:20 | News | Comment(0) | Trackback(0)
/etc/fstabのユーザ名とパスワードを外部ファイル化する
投稿日時 : 2008-05-12 08:06
/etc/fstab中のマウントオプションのパスワードとユーザ名の指定を外部ファイル化してセキュリティを高める。

■/etc/fstabのユーザ名とパスワード

 Windows共有フォルダをマウントする際にWindows側でパスワードが設定されていると以下のようにマウント時にユーザ名とパスワードをマウントオプションに指定する必要がある。
$ sudo mount -t cifs -o username=itmst,password=hogefoo,codepage=cp932,iocharset=utf8,defaults //192.168.0.2z /mnt/smb/2z
これを/etc/fstabに登録してLinux起動時に自動マウントさせる場合にも
/etc/fstab
//192.168.0.2/z /mnt/smb/2z cifs username=itmst,password=hogefoo,codepage=cp932,iocharset=utf8,defaults 0 0
というようにやはりユーザ名とパスワードを指定する。これはセキュリティ的に問題があるのでユーザ名とパスワードを外部ファイル化する。

■credentialsマウントオプションで外部ファイルを指定する

マウントオプションのcredentialsでユーザ名とパスワードを記述した外部ファイルを指定することができる。usernameとpasswordだった部分をcredentialsにして外部ファイルのパスを指定する。
/etc/fstab
//192.168.0.2/z /mnt/smb/2z cifs credentials=/etc/smbpasswd.2,codepage=cp932,iocharset=utf8,defaults 0 0
外部ファイルとして/etc/smbpasswd.2を指定しています。ファイル名は適当です。samfsでパスワードでWindowsマシンのIPが192.168.0.2なので.2をつけてみました。

■外部ファイルの書式

外部ファイルの書式は以下のように単純です。
/etc/smbpasswd.2
username=ユーザ名
password=パスワード

■外部ファイルのパーミッション

ファイルのオーナとパーミッション、保存場所には注意する必要がある。
$ sudo chown root:root /etc/smbpasswd.2
$ sudo chmod 0600 /etc/smbpasswd.2
$ ls -l /etc/smbpasswd.2
-rw------- 1 root root 32 2008-05-12 10:32 /etc/smbpasswd.2
 
 
[参考]
smbmount  
 
2008-05-12 08:06 | Linux | Comment(0) | Trackback(0)
バクテリア除去率99.99%で6000リットルの水を濾過できる携帯浄水器
投稿日時 : 2008-05-10 17:02
 バクテリアやウィルスの除去率99.99%で1回のフィルター交換まで6000リットルの水を濾過できる携帯浄水器「Lifesaver Bottle」というのがあるみたいです。
 
究極のサバイバル・ツールを求めて:画像ギャラリー(7/12) | WIRED VISION
 
lifesaver
 
他にも計12個のサバイバルツールが紹介されています。最近ハリケーンや地震が立て続けにあったせいもあるけど個人的には7つめのこの携帯浄水器に惹かれた。こんなに小さいのに濾過能力は非常に高く、
WIRED VISION
バクテリアとウイルスの除去率は99.99%とまったく申し分ないため、水に便が混ざっていても浄化できるはずだ。
とのこと。1回のフィルター交換で6000リットル濾過可能というのもすばらしい。欠点は氷点下の気温の中では使えないことぐらい。
 
公式サイトから購入できます。
The Lifesaver Bottle
 
気になるお値段の方は残念ながら安くはないです。4000リットルタイプと6000リットルタイプの2種類があります。通貨換算レートで多少変化しますが、それぞれ
 
4000リットル : UK£ 195.00 = 3.9 万円
6000リットル : UK£ 230.00 = 4.6 万円
送料 : UK£ 35.00 = 7 019 円
 
実際に被災したときなどには10万円でも安いと思ったりするんだろうけど、「何かあったときのため」に買うとなると高く感じてしまう・・・。2万ぐらいならなー。アウトドア好きな人はこの価格をどう思うんでしょうか?安全な飲料水を現地調達できるというのはすごく助かると思うけど。  
 
2008-05-10 17:02 | Thecnology | Comment(0) | Trackback(0)
駅の自動改札機の上で眠る猫とそれを完全スルーする乗客のムービー
投稿日時 : 2008-05-10 16:19
駅の自動改札機の上で眠る猫のムービーが話題に! :にゅーあきばどっとこむ  
 
JR西日本の玖村駅の自動改札機の上で猫が寝ている動画です。駅に出入りする人にはまったく気を止める気配がない。切符が顔の前に出てきてもおかまいなし。
おもしろいのは大半の乗客のほうも猫を完全スルーで普通に改札を通っているところw。日常的な光景なのか?
 
YouTube - えきねこ Station cat
 
 
ニコニコ動画アカウント持ってる人は以下リンクからどうぞ。
改札機の上から退こうとしないぬこ‐ニコニコ動画(SP1)
 
2008-05-10 16:19 | Entertainment | Comment(0) | Trackback(0)
ソフトバンク携帯とIP電話「BBフォン」との通話が24時間無料になる「ホワイトコール24」開始
投稿日時 : 2008-05-08 15:50
 一部地域で試験的に実施されていた、ソフトバンク携帯電話とIP電話「BBフォン」との国内通話が24時間無料になる通話割引サービス「ホワイトコール24」の申し込み受付が正式に開始されました。追加料金などは一切発生せず完全に無料ですが申し込みは必要なようです。
 
ソフトバンク携帯電話とIP電話「BBフォン」との国内通話が24時間無料になる通話割引サービス「ホワイトコール24」を開始 | ソフトバンクモバイル株式会社
TOP│ホワイトコール24
 
以下の条件を満たしていれば申し込み可能。
  • ソフトバンク3G携帯でホワイトプランに加入していること(法人不可)
  • 「Yahoo! BB ADSL」(または「SoftBank ブロードバンド ADSL」)に加入していること
ソフトバンクモバイル株式会社
通話割引サービス「ホワイトコール24」は、ソフトバンク3G携帯電話(個人契約の「ホワイトプラン」加入者)および「Yahoo! BB ADSL」(または「SoftBank ブロードバンド ADSL」)の両サービス加入者を対象としています。ソフトバンク携帯電話の「ホワイトプラン」専用割引サービスである「ホワイトコール24」と、「BB フォン」のオプションサービスである「ホワイトコール24」の双方に申し込むことで、ソフトバンク携帯電話から「BBフォン」のある465万世帯以上への、また「BBフォン」からソフトバンク携帯電話約1,800万加入者への国内通話が24時間無料となります。
 
 それにしても衝撃的なニュースです。通信の未来の姿が見えてきた。ところでうちのネットはYahoo! BB ADSLじゃないんだけど、BBフォンのみの契約では対象になるのかな?
 
2008-05-08 15:50 | News | Comment(0) | Trackback(0)
Ubuntu7.10→8.04アップグレードで半角全角・アンダースコアが無反応に
投稿日時 : 2008-05-07 20:17
 PC-MV1C3Eに入れてたUbuntu7.10を8.04にアップグレードした。目を離した隙に、変更済み設定ファイルを保持するかどうかのダイアログが出てて止まってることが何度もあった。なので一体どれぐらいの時間が実際のアップグレードにかかったか分からないが2時間ほどで完了。
 
 無事起動できるのかドキドキしながら再起動。ログインが表示されたので安心していたら、エラー発生。
Error activating XKB configuration.
It can happen under various circumstances:
- a bug in libxklavier library
- a bug in X server (xkbcomp, xmodmap utilities)
- X server with incompatible libxkbfile implementation
(以下省略)
というエラーメッセージが表示された。その他は特におかしいところはなさげ。内容的にどうやらキーボード関係のエラーらしい。さっそく検索しようとすると英数字は打てるが半角全角キーとアンダースコアが無反応。Ubuntuの公式日本語フォーラムで同じ症状発見。
 
Ubuntu日本語フォーラム / 8.04betaへのupgradeに伴う不具合について
 
緊急避難的対策のようですが/etc/X11/xorg.confのInputDeviceセクションの、
/etc/X11/xorg.conf
Section "InputDevice"
        Identifier      "Generic Keyboard"
        Driver          "kbd"
        Option          "CoreKeyboard"
        Option          "XkbRules"      "xorg"
        Option          "XkbModel"      "jp106"
        Option          "XkbLayout"     "jp,jp"
        Option          "XkbVariant"    "latin,"
        Option          "XkbOptions"    "grp:alt_shift_toggle,grp_led:scroll"
EndSection
以下の行を削除するか、
        Option          "XkbVariant"    "latin,"
次のように編集する。
        Option          "XkbVariant"    " "
これで再起動したら問題なく半角全角とアンダースコアキーが打てるようになった。ちなみにこの問題は7.10から8.04へアップグレードしたとき限定で、クリーンインストールした場合は大丈夫。
 
2008-05-07 20:17 | Linux | Comment(0) | Trackback(0)
Ubuntu 8.04でも/etc/hostsの127.0.1.1が修正されていない
投稿日時 : 2008-05-07 12:26
 Ubuntu 7.10以前からもある/etc/hostsのバグが8.04でも修正されていないことに気づいてビックリした。 ホスト名の名前解決の設定ファイルである/etc/hostsに「127.0.1.1」という行が存在する。
/etc/hosts
127.0.0.1 localhost
127.0.1.1 c610
 
# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts
 発見当初は「こんな単純なバグが放置されるわけないし、難解なLinuxのことだ、何か深い理由があるかもしれない」とか思い、一応127.0.1.1はコメントアウトしてから修正していましたが、これは単なる放置されたバグのようです。しかも存在しないIPを見に行くために一部のアプリケーションで動作速度に影響が出るとのこと。
Ubuntu Edgyの/etc/hostsが間違っている - うるめねっと技研 - Linux派 -
 
ということで修正。
127.0.0.1 localhost
127.0.1.1 c610
これを
127.0.0.1 localhost c610
にします。c610は各自読みかえてください。
 
2008-05-07 12:26 | Linux | Comment(0) | Trackback(0)
Ubuntu 8.04のsmbfsでWindows共有フォルダをマウントする
投稿日時 : 2008-05-07 11:42
 Ubuntu8.04をクリーンインストールしたので一から設定しなおしています。いろいろ忘れていることに気づいたのでメモ代わりに。

■smbfsはデフォルトではインストールされていない

 smbclientでWindowsフォルダにアクセスできるのに、-t smbfsや-t cifsでmountしようとすると「ファイルシステムタイプが間違ってるとかなんかそういうので無理」と言われる。
$ sudo mount -t cifs //192.168.0.2/z /mnt/smb/2z
mount: wrong fs type, bad option, bad superblock on //192.168.0.2/z,
       missing codepage or helper program, or other error
       (for several filesystems (e.g. nfs, cifs) you might
       need a /sbin/mount. helper program)
       In some cases useful info is found in syslog - try
       dmesg | tail  or so
 
そういえばデフォルトではsmbfsが入っていなかったことを思い出した。
$ dpkg --list | grep smbfs
$ 

■smbfsインストール

ということでsmbfsをインストール。
$ sudo apt-get install smbfs
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています                
状態情報を読み取っています... 完了
以下のパッケージが新たにインストールされます:
  smbfs
アップグレード: 0 個、新規インストール: 1 個、削除: 0 個、保留: 0 個。
93.3kB 中 0B のアーカイブを取得する必要があります。
この操作後に追加で 193kB のディスク容量が消費されます。
未選択パッケージ smbfs を選択しています。
(データベースを読み込んでいます ... 現在 96387 個のファイルと
ディレクトリがインストールされています。)
(.../smbfs_3.0.28a-1ubuntu4_i386.deb から) smbfs を展開しています...
smbfs (3.0.28a-1ubuntu4) を設定しています ...
 
今度はちゃんと表示される。
$ dpkg --list | grep smbfs
ii  smbfs    3.0.28a-1ubuntu4  mount and umount commands for the smbfs (for

■マウント

でマウントしてみる。
$ sudo mkdir /mnt/smb/2z ←マウントポイント作成
$ sudo mount -t cifs -o username=itmst,password=hogefoo,codepage=cp932,iocharset=utf8,defaults //192.168.0.2/z /mnt/smb/2z ←ファイルシステムとマウントオプションを指定してマウント
$ ls /mnt/smb/2z ←マウント確認
Anime Backup Movie Music
$ touch /mnt/smb/2z/日本語ファイル名テスト ←日本語ファイル名が文字化けしないことも確認
$ ls /mnt/smb/2z/
Anime Backup Movie Music 日本語ファイル名テスト

■今回使用したマウントオプション

マウントオプションは-oオプションでカンマ区切りで指定する。
usernameログインユーザ名。Windows側でパスワード設定していないなら必要ない。credentialsオプションで外部ファイル化が可能。
passwordログインパスワード。Windows側でパスワード設定していないなら必要ない。credentialsオプションで外部ファイル化が可能。
codepage=cp932Windows-Ubutu間の文字コードの違いによる文字化けを回避する。iocharset=utf8とセットで使うことでWindows標準文字コードのShift-JISとUbuntuの標準文字コードUTF-8の変換を行う。
iocharset=utf8Windows-Ubutu間の文字コードの違いによる文字化けを回避する。codepage=cp932とセットで使うことでWindows標準文字コードのShift-JISとUbuntuの標準文字コードUTF-8の変換を行う。
defaultsrw, suid, dev, exec, auto, nouser, asyncを指定したのと同じことになる。
rw読み書き可能モードでマウントする。r(ead)とw(write)のこと。roならread onlyでマウント。
suidSUIDとSGIDを有効にする。
devファイルシステム上のデバイスを利用できるようにする。
exec実行可能ファイルの実行を許可する。
automountコマンドの-aオプションでマウントされるようになる。その他ファイルシステム関連のコマンドの対象にするかどうかにも影響する。
nouserroot権限を持っていない一般ユーザがマウントすることを許可しない。
asyncファイルシステムへの I/O が非同期で行われる。syncだと同期。asyncだと信頼性は落ちるがパフォーマンスは上がる。逆にsyncだと信頼性は高いがパフォーマンスが落ちる。
マウントオプションは他にもたくさんあります。以下ページなどを参照してください。
smbmount
Manpage of MOUNT

■/etc/fstabに登録して自動マウントさせる

/etc/fstabに以下の行を追記するとLinux起動時に自動的にマウントさせることができる。  
//192.168.0.2/z /mnt/smb/2z cifs username=itmst,password=hogefoo,codepage=cp932,iocharset=utf8,defaults 0 0
改行されて表示されいるかもしれませんが実際は1行です。  
 
2008-05-07 11:42 | Linux | Comment(0) | Trackback(1)
wubiでUSB外付けハードディスクにUbuntu 8.04をインストール
投稿日時 : 2008-05-06 14:49
 「WubiでWindows上からUbuntu8.04を簡単インストール」ではインストール先を内蔵ハードディスク(sda2)に指定しました。今回は外付けハードディスク(sdb1)にインストールします。内蔵HDの時と違ってそれなりに作業が必要になります。BIOSの設定をいじる方法もありますがここでは扱いません。
 

■環境

Pen4 2.66GHz
1GB RAM
Windows XP Pro SP2
 
ディスク構成
wubi partition
この一番下の行の「ローカルディスク(Z:)」が今回インストール先になるUSB外付けHD(sdb1)。Cドライブ(sda1)にXPが入っているのでインストールはCドライブ(sda1)からZドライブ(sdb1)に行うことになります。  

■wubiの起動プロセス

 wubi経由のLinuxの起動プロセスは少し変則的です。wubiをインストールすると「c:\wubildr.mbr」と「c:\wubildr」が生成され、「c:\boot.ini」には「c:\wubildr.mbr="Ubuntu"」が追記されます。起動プロセスの流れは(たぶん)以下のようになっています。
  1. 電源投入
  2. POST
  3. BIOS
  4. MBR
  5. ブート識別子が0x80なパーティションのブートセクタ
  6. NTLDR
  7. c:\boot.iniで起動メニュー表示
  8. c:\wubildr.mbr
  9. c:\wubildr内のGRUB(?)がmenu.lst検索
  10. 見つかったmenu.lstを元にカーネルをロード
  11. Linux起動
この起動プロセスに関しては詳しく調べてみたので近いうちに別記事でまとめます。今回は外付けHDへのインストール方法に絞って解説します。
 

■wubiのインストールが完了したら再起動前に作業が必要

 sda1のXPからsdb1の外付けHDにwubiのインストールが完了したら最後に表示される画面で「後で再起動」を選択して下さい。再起動する前に作業が必要です。そのまま再起動してしまった場合は以下のようなエラーが表示されたハズです。この場合は再起動してWindowsを起動して作業すれば問題ありません。
find --set-root --ignore-floppies /ubuntu/install/boot/grub/menu.lst
 
Error 15: File not found
 
Press any key to continue...
 
Error 15 : File not found
 
これはGRUB起動時にUSBハードディスクのドライバがロードされていないことが原因で/ubuntu/install/boot/grub/menu.lstが見つからないからです。GRUBコマンドでsdb1をマウントしようとすると、
grub> root (hd1,0)
Error 21: Selected disk does not exist
そんなディスクは存在しませんと言われる。一方内蔵HDは
grub> root (hd0,5)
  Filesystem type is ext2fs, partition type 0x83
grub> root (hd0,0)
  Filesystem type is ntfs, partition type 0x7
のようにExt3だけでなくNTFSパーティションまでもマウントできます。ということでカーネルその他の起動に必要なファイルはGRUB起動時に認識可能なこれらのドライブにおいておけばいいわけです。
 

■インストール時と通常起動時では起動プロセスが少し違う

 wubiインストール後の初回再起動時はUbuntu本体を仮想ディスクである「z:\ubuntu\disks\root.disk」にインストールする必要があるので、通常再起動時とはほんの少し違うプロセスで起動します。もしZドライブが内蔵HDだったなら通常の初回再起動時は「z:\ubuntu\install\boot\grub\menu.lst」の設定を基にインストーラが起動しUbuntu本体がインストールされます。Ubuntu本体のインストール完了後は「z:\ubuntu\disks\boot\grub\menu.lst」の設定を基に通常起動します。
 

■GRUB起動時に認識可能なドライブに必要ファイルをコピーする

 しかしZドライブは外付けHDなのでGRUB起動時にはアクセスできません。なのでインストーラ起動に必要なファイルはすべてCドライブにコピーしておきます。
「z:\ubuntu\install\boot」以下の全ファイルとフォルダをディレクトリ構造を保ったまま「c:\ubuntu\install\boot」にコピーして下さい。
c:\ubuntu\install\boot  
 

■インストーラ起動用のmenu.lstを編集する

 次にコピーした「c:\ubuntu\boot\grub\menu.lst」のカーネルパラメータに少し手を加えます。これはUbuntu本体のインストーラを起動するためのGRUB設定ファイルです。以下の太字の行がカーネルパラメータですが、そこに以下のように「root=/dev/sdb1」を追記します。これでUSBハードディスクドライバをロードした後に「sdb1」がマウントされます。/dev/sdb1の部分のデバイスファイル名は環境によって異なるので各自読み替えて下さい。
title 通常モードでインストーラを開始する
find --set-root --ignore-floppies /ubuntu/install/boot/vmlinuz
kernel /ubuntu/install/boot/vmlinuz root=/dev/sdb1 debian-installer/custom-installation=/ubuntu/install/custom-installation iso-scan/filename=/ubuntu/install/installation.iso automatic-ubiquity noprompt quiet splash boot=casper ro debian-installer/locale=ja_JP.UTF-8 console-setup/layoutcode=jp console-setup/variantcode= --
initrd /ubuntu/install/boot/initrd.gz
boot
通常はデフォルトで選択される一番上のエントリだけ編集すれば大丈夫だと思いますが、念の為にすべてのエントリに追記しても構いません。あとエラーが出たり起動中に停止したときに原因が特定できるように「quiet splash」は削除しておいた方がいいかもしれません。起動プロセスが表示されるようになります。  
 

■再起動するとUbuntu本体のインストールが開始

 menu.lstの編集が終わったら再起動してNTLDRのOS選択メニューで「Ubuntu」を選択すればUbuntu本体のインストールが開始されるハズです。「Error 15: File not found」のエラーが表示される場合は先ほど編集したmenu.lstの「root=/dev/sdb1」の指定が間違っている可能性があります。デバイスファイル名は環境によって異なることに注意して下さい。
 

■Ubuntu本体のインストールが完了したらWindowsを起動する

 Ubuntu本体のインストールが完了すると自動的に再起動されますが、今度は通常起動用の必要ファイルをCドライブにコピーする作業が必要なのでWindowsを起動します。
 

■通常起動用ファイルをCドライブにコピーする

 インストールは完了したので次は通常起動するためのカーネルその他の必要ファイルをGRUB起動時にアクセス可能なCドライブにコピーします。インストール用起動ファイルをZドライブからCドライブにコピーしたときと同じように、今度は「z:\ubuntu\disks\boot」を「c:\ubuntu\disks\boot」にディレクトリ構造を保ったままコピーします。
c:\ubuntu\disks\boot
 
 これらのファイルはUbuntu本体のインストール中に生成されたもので、wubiインストール時には存在しません。
 

■通常起動用のmenu.lstを編集する

 次にUbuntuの通常起動用のc:\ubuntu\disks\boot\grub\menu.lstを編集します。すべてのエントリの、以下の1
root  (hd1,0)/ubuntu/disks
 
以下のように0に書き換えます。  
root  (hd0,0)/ubuntu/disks
 
これでvmlinuzやinitrdはCドライブからロードし、/(ルートディレクトリ)は「Z:\ubuntu\disks\root.disk」を使うことになります。ここでもカーネルパラメータの「quiet splash」を削除しておけば起動プロセスが表示されるのでトラブルシューティングが楽になると思います。
 

■c:\ubuntu\install\boot\grub\menu.lstを削除かリネーム

 Ubuntu本体のインストールが完了した時点で「Z:\ubuntu\install\boot\grub\menu.lst」が自動的に削除されています。しかし手動でコピーした「c:\ubuntu\install\boot\grub\menu.lst」の方はそのまま残っているので「menu.lst.bak」などにリネームするか、削除しておきます。これは「c:\wubildr」内蔵GRUBが「c:\ubuntu\install\boot\grub\menu.lst」を検索・ロードしてUbuntu本体のインストールを再度実行してしまわないようにするための処置です。
 

■再起動してUSB外付けハードディスクからUbuntuが起動できることを確認

 以上で作業は完了です。再起動してUbuntuがUSB外付けハードディスクから起動できることを確認して下さい。
complete  
お疲れ様でした。
 
 
2008-05-06 14:49 | Linux | Comment(0) | Trackback(0)
MobaLiveCDでWin上の一つのウィンドウとしてLinux起動
投稿日時 : 2008-05-05 16:17
1CD-Linux等のLiveCDをWin上で起動するMobaLiveCD :教えて君.net
 
という記事を見つけたので早速試してみた。
 
MobaLiveCD - Run your LiveCD on Windows
 
 MobaLiveCDはダウンロードしたらインストール不要でいきなり実行するだけで起動する。後はLiveCDLinux(1CDLinux)のisoイメージファイルを指定するとエミュレータのQEMUが起動してその中でLinuxが起動する。まあつまりMobaLiveCDはQEMUの設定なんかを全自動でやってくれるアプリケーションということです。  
 
どのLiveCDLinuxを使うかは好みです。多数存在するので以下のサイトからいろいろ試してみて下さい。
ライブCDの部屋  
 

■マシン構成

Pen4 2.66GHz
1GB RAM
Windows XP Pro SP2
 

■Ubuntu 8.04を試してみる

 とりあえず手元にUbuntu 8.04のisoがあったので試してみた。基本的な使い方は冒頭のリンクからどうぞ。結論から言えばこのスペックでは動作が重すぎて使いものにならなかった。起動するまで10分近くかかってフリーズしてるのかと思った。今のハイエンドなマシンならもっとまともに動くハズ。低スペックマシンな人はUbuntuの軽量版ディストリビューションEcolinux-lightとかいいかもしれません。
 

■まとめ

 他のLiveCDも試してもいいけど結局QEMUの動作速度の評価になってることに気づいてしまったので終了します。まあ初心者の手の出しやすさという点ではかなり評価できる。Linuxに興味を持った初心者を苦しめるisoファイルの焼き方を知らなくてもいいわけだし。焼いたり再起動したりの手間がかからないので、片っ端からいろいろなLiveCDLinuxを試したいときには重宝しそうです。iso右クリック時のメニューに「Test this with MobaLiveCD」というのを追加できるらしいのでより便利。
 
 
2008-05-05 16:17 | Linux | Comment(0) | Trackback(0)
WubiでWindows上からUbuntu8.04を簡単インストール
投稿日時 : 2008-05-04 22:22
 Windows上からパーティションに手を加えずにLinuxのUbuntu8.04をインストールすることができるwubiを試してみた。今回は内蔵HDにインストールしてみる。外付けハードディスクへインストールする場合は若干作業が必要になる。それについては別記事にする予定。
 

■wubiの特徴

  • Windows上から一つのアプリケーションのようにUbuntu 8.04をインストールできる
  • アプリケーションの追加と削除から簡単にアンインストールできる
  • Windows上で一つのファイルとして扱える仮想ディスクにインストールする
  • パーティションには一切変更を加えないので安心
  • VMWareなどのようにゲストOSとして動作するわけではないので高速
  • インストール時の設定はインストール先のドライブ指定とパスワードの設定だけなので初心者に優しい
通常インストールとVMWareの間ぐらいの位置付けという印象。
 

■下準備

 インストール先のドライブ(パーティション)は4GB以上のファイルが扱えるようにNTFSでフォーマットされていることを確認する。もしFAT32でフォーマットされているならNTFSへの変換が必要。
 空き容量は最低でも4GB必要。推奨は8GBらしいです。まあ実験的に試すだけなら4GBでも問題ないでしょう。
 デフラグはしっかりしておかないと仮想ディスクが断片化してパフォーマンスに影響するようです。
 ソフトウェアRAIDを組んでる人はインストール中に問題が発生するかもしれないので注意です。ハードウェアRAIDの場合は問題ないそうです。
 

■環境

Pen4 2.66GHz
1GB RAM
Windows XP Pro SP2
 
ディスク構成は以下
wubi partition  

■Wubiをダウンロード

 Wubi-8.04.exeを公式ページからダウンロード。1.1MBと軽量。
 
Wubi - Ubuntu Installer for Windows
 
download1
 
download2
 

■Ubuntu8.04をダウンロード

 Ubuntu本体のISOをダウンロードしておく。先にダウンロードしておかなくてもWubiのインストール中に自動でダウンロードしてくれますが、異常に速度が遅かったりするので先にレジュームがきくダウンロードツールなどで落としておいた方が得策。
Ubuntuの入手 | Ubuntu Japanese Team
「日本語ローカライズドDesktop CDのダウンロード」でダウンロードする。
 

■ISOファイルを焼くかマウントする

 DaemonToolsなどを使ってISOイメージファイルをマウントしておくか、ディスクに焼いてドライブに入れておけばWubiが自動で認識してローカルドライブから読み込んでくれる。wubiインストール時に自動ダウンロードさせる場合はこの作業は不要。
 

■wubiの初期設定

 wubiを起動するとシンプルな設定ウィンドウが表示される。
exec wubi
 
wubi setting
 
設定はインストールするドライブと仮想ディスクのサイズを選択し、パスワードを入力するだけという簡単さ。ここでの注意点はインストール先は内蔵ハードディスクを選択すること。外付けハードディスクへインストールする場合は作業が必要になる。それについては近々記事にする予定。
 
ここではCドライブ(sda1)上のXPからDドライブ(sda2)にインストールする。
 

■wubiのインストール

 設定ウィンドウで「インストール」ボタンをクリックすればあとはもう勝手にインストールしてくれます。
wubi install
 
もしここでローカルドライブにUbuntu8.04のデータが見つからない場合はネットから自動でダウンロードを開始する。
wubi download iso  

■再起動

 先にISOファイルをダウンロードしていなかった場合は時間がかかるかもしれませんが、インストール処理自体は数分で終わるはず。完了したらWindowsを再起動。
wubi reboot
 
ちなみにインストール先のディレクトリ構造は以下のようになっている。
wubi directory
 

■起動時にUbuntuを選択する

 PCを再起動するとWindowsとUbuntuのどちらを起動するか選択できるようになっています。これはc:\boot.iniにUbntuの行が追記されただけでMBRなどに変更が加えられたわけではない。
wubi boot
 

■Ubuntu本体のインストール処理

 ここからUbuntu8.04インストールの本処理が行われます。ふつうのスペックのPCなら10分もかからないうちに完了して自動で再起動されます。  
 
wubi install 1  
 
wubi install 2  
 
wubi install 3  
 

■起動確認

 自動再起動されたら前回と同じく起動時にUbuntuを選択して下さい。無事起動できれば作業は完了です。
wubi complete
 

■アンインストール

 Windowsの「アプリケーションの追加と削除」から通常のアプリケーションと全く同じようにアンインストールできます。表示名は「Ubuntu」です。
 

■まとめ

 wubiは革命的に素晴らしかった。これほどまでに初心者に優しく簡単にLinuxが導入できるツールは今までなかったと思う。心配していた動作速度もVMWareのようにもたつくこともなく、まったくストレスなく操作できるレベル。アンインストールも5秒ぐらいで完了というスピーディさにも驚かされた。
 
2008-05-04 22:22 | Linux | Comment(0) | Trackback(1)
何を書いてどこに貼ったか検索可能なRFID付箋Quickies
投稿日時 : 2008-05-04 12:04
 書いた内容を電子化することでPCで文字検索可能にし、さらにRFIDタグを利用してどこに貼ったかも管理できる付箋紙QuickiesをMIT(マサチューセッツ工科大学)の「Ambient Intelligence Group」が発表したようです。「電子付箋」や「スマートポストイット」といった感じでしょうか。紹介ビデオ中では「Intelligent Stickies」「Smart Stickies」と表現されてるようです。
 
書いた内容を検索可能で、どこに貼ったのかもわかる付せん紙「Quickies」 - GIGAZINE
 
Quickies quickies_demo  
 
 以前「書いたものと一緒に周囲の音声も記録するスマートペン」というのを紹介しましたがまあ似たようなものです。QuickiesがすごいのはRFIDタグが埋め込まれているので3次元空間上のどこに貼ったのかを認識でき(たぶん)、検索できる点でしょう。
他には書き込んだToDoリストや予定を自動的に予定表やカレンダーに反映させ、予定時間に近づくと携帯電話に通知したり、ということが可能なようでこのあたりも革命的。さすがMIT。  
YouTube - QUICKIES: sticky notes of 21st Century  
 
 現在は開発中みたいですが数年内に日本で発売されることを期待。日本語の文字認識の精度が問題になりそうだがなんとかなるんだろうか。まあローマ字という逃げ道を使っても十分実用的だと思う。  
 
2008-05-04 12:04 | Thecnology | Comment(0) | Trackback(0)
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。