自宅のThinkPad X60に入っているDebian(Sid)のKernelをアップデート しました。2.6.18とかいう古ーいKernelから2.6.26へ一期に更新。ついでに Etchから借りていたndiswrapperのパッケージもSidのものに変更。
2008年11月23日
2007年08月31日
SDカードのマウント
ThinkPad X60に付いているSDカードスロット、X60を購入した当時はSDカードを持っていなかったので使えなくても構わないと放置していました。しかしGR Digitalを購入した事でSDカードの読み書きが必要になってしまいました。面倒だなぁ、と思って調べてみると何気に最初からスロット自体は認識されているみたいですね。簡単にマウントできました。
SDカードですが、物によってはパーティションが切られているものもあるようです(Windowsでは1つのパーティションしか見えない)。僕の購入したカードはLinux上では2つのパーティションが見えましたが、1つ目のパーティションはファイルシステムが分からなくてマウントできません(vfatではなかった)。2つ目のパーティションをvfatでマウントしたら、保存してあった画像が格納されていました。1つ目のパーティションは管理情報でも入っているんでしょうか。
X60(Debian Sid)では、SDカードは/dev/mmcblk0と/dev/mmcblk0p1として見えました。/dev/mmcblk0はマウントできなかったので、/dev/mmcblk0p1を以下のようにマウントします。
# mount -t vfat /dev/mmcblk0p1 /mnt/disk
2007年08月10日
熱問題、続き
2つの対策だけではwarnningを防ぎきれなかったので、満を持して最終対策。
その3
筐体の開放。側面の蓋を外し空けっぱなしの状態で放置してみました。扇風機の風が内部を直撃する状態。
一気に筐体内温度が10度下がりました。
ちなみに、1から3の対策を取る前はCPU温度が55度、筐体内温度が75度だったのが、現在ではCPU温度が45度、筐体内温度が55度になっています。しかし空けっぱなしは埃が気になりますね。
2007年08月09日
熱問題
サーバの熱対策。
その1
1500円で小型扇風機(人間用)を購入し、サーバ冷却用に24時間稼働。ちなみに同じ事を去年、一昨年と行なって1台扇風機をお釈迦にしている……。っていうか、わざわざファンレス電源にして、大口径低速の静音CPUファンにしてるのに意味なさすぎ。ま、このマシンを組んだ当時とは事情が違うので仕方ないけどね(組んだ当時はサーバの設置場所と寝る場所が同じ部屋だったので音が問題になったけど、今は別部屋なので音はどうでもよい)。
効果は上々。筐体内の温度が5度は下がった。
その2
1リットルのペットボトルに水を入れて凍らせ、朝その巨大氷と化したペットボトルをサーバの上にパイルダーオン。結露対策でタオルにつつんでおく。もはや精密機械とは思えません。水冷ですらない氷冷。斬新ですな。
効果はそれなり。筐体内温度が2、3度下がった。まだ氷の設置場所に改善の余地ありか。あと1リットルだと昼過ぎには溶け切るっぽい(リモートで温度だけ監視しているので氷の状況は現在不明。帰宅後に確認)。
なんつーか、素直にサーバのある部屋の冷房を付けろ、という気もする。
2007年08月08日
自宅サーバが……
熱でwarnningを吐きまくってます。これはもう、ケースを開けっぱなしにするしかないかなぁ。冷房の無い部屋に設置してあるのが問題ですな。
なにげに自宅サーバは重要で、httpサーバとして一部に公開していたりもしますし、仕事でも使ってるんですよね。sshでログインしていつものemacsで作業できるのはとても助かります。正直、このemacs以外では10行以上のスクリプトとか書く気になりません。
2007年04月14日
動かす楽しみ
読書履歴を見れば一目瞭然ですが、僕はサンデイ・プログラマ(趣味グラマと言ったりもする)だったりします。僕の職歴は、コンピュータ系書籍編集者→プログラマ→フリータを経て現在ではサーバ屋の真似事をしています。
高専の情報科卒なので学生時代からプログラミングには親しんできたのですが、学生時分は「ハードウェアの事なんか知らん! OSから上だけの世界でプログラミングするんだ」と思っていたのですが、最近では完全に逆行して「仮想化なんか知らん! OSから下の世界が楽しいんだ」と考えています。
しかし学生時代にハードウェアや低レイヤの勉強はサボっていたので、今更苦労しているわけです。アセンブリ言語やCPUの構造に触れた講義も沢山あったんですけどね……。コンパイラの実装の話しとか。
そんなわけで、/.J経由で知った組込みリアルタイムOSであるPrexの開発者Kohsuke Ohtaniさんのblogにある『OS開発の愉しみ』を読んで非常に羨ましいとか思ってしまいました。特に『2)完成したシステムのドライブ感』の部分がいいですね。完成したプログラムが思い通りに動いた瞬間に、コードが頭の中を駆け巡るのは快感です。
あのレベルまで自分が到達できるか不明ですけれども。
2007年04月11日
fsck
僕は、朝起きてまずマシンを起動する生活なわけですが皆さん如何お過しでしょうか。平日の朝なんて時間が無いのに、いきなり「/パーティションを30回 mount/umountしたので、今からfsck。HAHAHA!」とか言われてもな。fuckin' ext3と天に唾した所で、xfsをやめてext3を選択したのは自分なんですけど。設定変えてfsckのスパンをもうちょっと長くしようかな……。
2007年04月09日
Debian GNU/Linux 4.0(Etch) Release
Debian GNU/Linux 4.0(Etch)がリリースされましたね。僕はsidにしてしまったので、直接は影響ありません。しかしこれからexterminalにあった不安定なパッケージがsidに雪崩のように落ちてくるのが不安です。1、2週間はupgrade無しで行こうかな。
2007年03月29日
acpi/unstable
sid化してから、emacsでM-x display-batteryしてもモードラインにバッテリ情報が出てこなくて難儀していたのですが、解決しました。どうやらバッテリやACアダプタ関連のモジュールがロードされていなかったようです。/etc/modulesに以下のように設定してrebootしたらバッテリ情報が取得できました。
battery ac
2007年03月24日
ndiswrapper/unstable
unstable化したらndiswrapper-(source|common|utils-1.9)の新しいのが降ってきたのでモジュールのリビルドをしてみました。そしたらmodprobe ndiswapprの所でカーネルごと死にました。どうもndiswapperの1.38は駄目っぽいですね。
慌ててtestingから1.28を持ってきてダウングレードしようとしたのですが、module-assistant auto-install ndiswrapperとすると「ndiswrapper-sourceは1.28より新しい1.38があるので、そっちを使います」的なメッセージが出て、わざわざこっちがpurgeした1.38を持ってきてビルドしやがってくれます。仕方ないので再度1.38をpurgeして1.28を持ってきた上で
# module-assistant build ndiswrapper # module-assistant install ndiswapper
としました。後はndiswrapperをmodprobeして終わり。
2007年03月23日
unstable化
Debian GNU/Linux etch(現testing、後2週間程でreleaseされstable化する)をインストールし環境を整え、メインマシンとして軌道に乗って久しいThinkPad X60ですが、一念発起してsid(unstable)化する事にしました。
Debianはどちらかと言えばreleaseスパンの長いディストリビューションだと思いますが、それでも2年毎のreleaseの時に一挙に大量のパッケージをアップグレードして、互換性の不具合と戦っていくのは大変です。sid(unstable)にした場合、日々少しずつの不具合に悩まされるとは思うのですが、一斉射撃を喰らうよりはマシな気がします。
という訳で早速sid化しました。dist-upgrade自体は問題なく終了し、今の所通常通りログインして作業ができています。若干の問題と言えばemacsでdisplay-batteryしておmode lineにバッテリの状況が表示されない事です。さてどうしたものか。
2007年03月10日
公衆無線LAN
渋谷のwired cafeに無線LANフリースポットがあったので、Debian etch on ThinkPad X60で接続してみました。設定は以下の通り。
(1)アクセスポイントを探す
# iwlist wlan0 scanning wlan0 Scan completed : Cell 01 - Address: 00:16:01:25:26:7F ESSID:"FREESPOT" Protocol:IEEE 802.11g Mode:Managed Frequency:2.462 GHz (Channel 11) Quality:48/100 Signal level:-65 dBm Noise level:-96 dBm Encryption key:off Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 11 Mb/s; 6 Mb/s 9 Mb/s; 12 Mb/s; 18 Mb/s; 24 Mb/s; 36 Mb/s 48 Mb/s; 54 Mb/s Extra:bcn_int=100 Extra:atim=0 Cell 02 - Address: 00:03:2F:14:F6:E8 ESSID:"" Protocol:IEEE 802.11g Mode:Managed Frequency:2.412 GHz (Channel 1) Quality:9/100 Signal level:-90 dBm Noise level:-96 dBm Encryption key:on Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 11 Mb/s; 6 Mb/s 12 Mb/s; 24 Mb/s; 36 Mb/s; 9 Mb/s; 18 Mb/s 48 Mb/s; 54 Mb/s Extra:bcn_int=100 Extra:atim=0 Cell 03 - Address: 00:07:40:C4:97:8F ESSID:"" Protocol:IEEE 802.11g Mode:Managed Frequency:2.412 GHz (Channel 1) Quality:46/100 Signal level:-66 dBm Noise level:-96 dBm Encryption key:on Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 11 Mb/s; 6 Mb/s 9 Mb/s; 12 Mb/s; 18 Mb/s; 24 Mb/s; 36 Mb/s 48 Mb/s; 54 Mb/s Extra:bcn_int=100 Extra:atim=0
(2)NICの設定
# ifconfig wlan0 down # iwconfig wlan0 essid "FREESPOT" mode managed rate auto channel 11 key off ap 00:16:01:25:26:7F # ifconfig wlan0 up
(3)IPアドレスの取得
# dhclient wlan0
今現在wired cafeから接続中です。tcpdumpで普通にパケットが見れちゃうんだよなぁ。恐っ。
追記
wired cafeのネットワークですが、ssh(ただし22番ポートは使っていない)、popは通りませんでした。CiscoやらNokiaやらの高価なファイアウォールを使っているとは思えないので、プロトコルレベルではなくポートレベルでフィルタイングしているんでしょうか。あとDDNSで立てている自前のウェブサーバにFQDNでもIP直打ちでも接続できなかったので、接続先IPアドレスのレベルでもフィルタリングされているのかな(pingも通らないし)。となるとAirStationだけでの制御では無さそうですね。
2007年03月07日
帝国少年デスクトップ
/ が死亡――といってもファイルシステムの一貫性が崩壊したわけではありません――という事件を経て復旧し、安定稼働への入口に立ったThinkPad X60ですが、現在のデスクトップは以下のようになっています。
壁紙は帝国少年のサイトからお借りしたものです。この帝国少年のサイトにあるイラストは、すごくイマジネーションを喚起するんですよね。中華・日本風の世界観でエベロンをやったらシャーンに相当する町は、こんな風になるんだろうなとか。
デスクトップの左下に表示されているのはconkyというシステムモニタです。gkrellsに飽きたのでこちらにしてみました。しかしgkrellmsと違って、デフォルトの設定では現在時刻が表示されないのですよね。普段はこのデスクトップ上に、右半分一杯にemacsがあって、左上にmltermがいる状態なのですが、現在時刻を表示するアプリケーションが無いので、一々dateコマンドを発効して時間を確認したりします(<馬鹿)。emacsのモードラインはもうギュウギュウだしどうしようかしらん。
2007年02月27日
拡張子を取り除いたbase file nameを取り出す
たまに使うんだけど、その都度調べなおしているので備忘録をつける。
$ ls desktop/ frisk.obj thinkpad.obj g-shock.obj $ for i in *.obj > do > base=${i%%.obj} > echo $base > done frisk thinkpad g-shock $
2007年02月19日
emacs -nw in screen on ssh
会社のWindowsマシンから自宅のLinuxマシンににputtyでssh接続して、そのリモートマシンでscreenを走らせて、その中でemacs -nwしたりするわけです。そして更にemacsの中でelscreenを使ったりしちゃう。こうなると(screen用語で言う所のwindow | emacs用語で言う所のbuffer)を切り替える為のprefix keyが問題になりますな (更にemacsでframe分割したりすると、いよいよ面倒になってくる)。
今まではscreenのprefixを
2007年02月09日
SunOSとSolarisの関係
最近仕事でSolarisを弄る事が多いのですが、unameで得られる結果とSolarisのバージョンの関係をよく忘れるのでメモ。検索すれば簡単にみつかるんですけどね。手元にあると楽なのです。
SunOS | Solaris |
---|---|
5.5.1 | 2.5.1 |
5.6 | 2.6 |
5.7 | 7 |
5.8 | 8 |
5.9 | 9 |
5.10 | 10 |
2007年01月30日
Firefox 2.0
自宅のDebian GNU/Linux sargeに遅まきながらFirefox 2.0を入れてみました。mozexが使えないと困るので入れようと思ったら国際化されたmozexはFirefox 1.6までしか対応していないようでした。しかしちょっと調査してみると、mozexのXMLをちょっと書き替えるだけで使えるようになるみたいなので、さっそく試してみました。今の所問題なく動いています。
2006年10月07日
Rubyのお勉強
今の現場では、特定のウェブサイトに対してフィルタリングがかかっていて閲覧ができないサイトがあります。例えば2chとかですな。これだとカップラーメンをすすりながら、shitarabaのd20板を見るという昼休みの過し方ができないので、ションボリしておったわけです。しかし僕が運営している自宅サーバにはフィルタリングがかかっていないので(ダイナミックDNSでほいほいIP代わるし、どこからもリンクされていないので素性が不明だし、そもそも24時間動いているわけではないので当然っちゃ当然)、Rubyの勉強がてら次のような仕組みを作ってみました。ソースはへぼいので見せません。
"~/.navi2ch/"内にあるユーザのブックマーク情報からユーザが普段閲覧している各板・各スレッドのURIを生成
↓
生成したURIにあるファイルをダウンロード(wget)
↓
そのファイル一覧をHTML化して板毎に1つのファイルにする
↓
ユーザがウェブサイト外部に公開している"/public_html"配下に生成したHTMLファイルを格納
↓
これを30分毎に更新する
こうする事で僕が普段閲覧しているshitarabaのスレッドは、自宅サーバに保存されるので会社からも見る事ができます。上記のフローは全てをRubyスクリプト内部で行なっているわけではありません。実際にRubyで行なっているのはHTMLの生成までで、それ以後はshellとcronですね。
2006年09月30日
firefoxがsegmentation faultになる
2006-09-30-09:00 +0900現在以下の環境でbloglinesのmyblogに接続しようとするとfirefoxがsegmentation faultで落ちる。何故だ。
% uname -a Linux mypc 2.6.8-2-686 #1 Tue Aug 16 13:22:48 UTC 2005 i686 GNU/Linux % firefox -v Mozilla Firefox 1.0.4, Copyright (c) 1998 - 2005 mozilla.org
2006年01月28日
gpg.el
山本和彦さんの『暗号化ファイルのススメ』に触発されてgpg.elを導入してみました。なにがしかの方法で、各サービス毎のパスワードをマスタパスワードで管理する必要性は感じていたんですよね。
Emacs使いの人なら、gpg.elは簡単に導入できるのでおすすめです。使い方も極めて単純なので使用法を覚えるコストは殆どゼロです。gpg自体の使い方を知らないと若干覚える事がありますけれどね。