バグレポとか
バグレポとか
piuparts の false positive に引っかかってたのでレポート。
tdiaryが新しいバージョンが出ていたので念のためレポート。
gnome-do-plugins で twitter が使えなくなっている?一応手元ではまだ動いている。
[16781.642971] usb usb4: __pm_runtime_resume()! [16781.642972] usb usb4: __pm_runtime_resume() returns 1! [16781.642987] usb usb2: __pm_runtime_resume()! [16781.642990] usb usb2: __pm_runtime_resume() returns 1! [16781.643004] usb usb2: __pm_runtime_resume()! [16781.643006] usb usb2: __pm_runtime_resume() returns 1! [16781.643023] usb 1-1: __pm_runtime_resume()! [16781.643025] usb 1-1: __pm_runtime_resume() returns 1! [16781.643039] usb 1-4: __pm_runtime_resume()! [16781.643041] usb 1-4: __pm_runtime_resume() returns 1! [16781.643054] usb usb1: __pm_runtime_resume()! [16781.643056] usb usb1: __pm_runtime_resume() returns 1!
palm-novacomdを止める*1とこのエラーも止まる。
[23945.824072] usb usb2: __pm_runtime_suspend() from workqueue! [23945.824093] usb usb2: __pm_runtime_suspend() returns 0!
とりあえずメモ。
*1:sudo stop palm-novacomd
とりあえず、手っ取り早くcouchappのdebパッケージが欲しかったので。
$ git clone git://github.com/couchapp/couchapp.git $ cd couchapp $ git tag (snip) 0.7 0.7.0 $ cd .. $ ln -s couchapp couchapp-0.7.0 $ cd couchapp-0.7.0 $ debuild -us -uc This package has a Debian revision number but there does not seem to be an appropriate original tar file or .orig directory in the parent directory; (expected one of couchapp_0.7.0.orig.tar.gz, couchapp_0.7.0.orig.tar.bz2, couchapp_0.7.0.orig.tar.lzma, couchapp_0.7.0.orig.tar.xz or couchapp.orig) continue anyway? (y/n) y (snip) Now running lintian... W: couchapp source: debian-watch-file-in-native-package W: couchapp source: out-of-date-standards-version 3.9.0.0 (current is 3.9.1) W: couchapp source: native-package-with-dash-version W: couchapp: new-package-should-close-itp-bug W: couchapp: binary-without-manpage usr/bin/couchapp Finished running lintian. $ cd .. $ sudo apt-get install python-restkit $ sudo dpkg -i couchapp_0.7.0-1_all.deb
ダメ人間。
OpenMicroServerでsshdを使用するには、ファイルサイズの関係から、普通はCFなどにHDDイメージを展開し、CF/HDDブートしないと出来ない。が、ルータ兼ファイアウォールとして使う場合、それはちょっと無駄が多いので、今まではCFを/mntにマウントして、netfilterのスクリプトを/etc/rc.localから実行する形にしていた。ファームウェアのアップデートには、/etc/inetd.confでコメントアウトしているftpの行を有効にして、/mntのCF領域にアップロードする、という具合。操作はその度に、RS-232でつないで作業する、という感じ。ファームウェアのアップデート程度ならそれでも良いのだけれど、ファイアウォールのポリシーの変更となると、もうちょい頻度が高いので不便。これはやってられん。
ということで、HDDイメージから、sshdのファイルを持ってきて/mntに置いておき、SSD/Linux起動時に展開してsshdを実行させるようにした。
ぷらっとホームのFTPサイトから、ファームウェア一緒に配布されているHDDイメージをダウンロードする。例えば、現在使用しているファームウェアは2010年4月9日リリースの最新のもの*1なので、それと一緒にリリースされているHDDイメージ*2から、base.tgz*3, etc.tgz*4をダウンロードする。
次のようなスクリプトで抽出。
#!/bin/bash tar zxvpf base.tgz `tar ztf base.tgz | egrep 'sshd|sftp-server|libpam.so|libcrypto.so|ssh-keygen'` tar zxvpf etc.tgz `tar ztf etc.tgz | grep ssh` tar zcvpf oms-ssh.tgz ./usr ./etc
oms-ssh.tgzを/mntの任意のディレクトリ*5にFTPで転送しておく。
次のようなスクリプトを/mnt/sshdに用意する。*6
#!/bin/sh tar zxpf oms-ssh.tgz chown -R root:wheel usr etc tar zcvpf distro-ssh.tgz usr etc
このスクリプトは、本来不要なのだが、Debianではwheelグループが無いので*7chownがコケる。なので、OMS上で実行する必要がある。
ここまでの手順で作ったスクリプトは、ファームウェアがアップデートされる度に行うためのものだ。次のホストキーの作成のため、このスクリプトを実行しておく。
# cd / # tar zxpf /mnt/sshd/distro-ssh.tgz
先ほどの手順で、必要なライブラリとssh-keygenコマンドが展開されているので、ホストキーを作成する。
# ssh-keygen -f /etc/ssh/ssh_host_dsa_key -t dsa -N '' # ssh-keygen -f /etc/ssh/ssh_host_rsa_key -t rsa -N ''
OMSではデフォルトでは、/home/user1になっているので、リネームして、.sshディレクトリを作成し、FTPで転送しておいた公開鍵を登録しておく。
# mv /home/{user1,mkouhei} # usermod -d /home/mkouhei mkouhei # mkdir /home/mkouhei/.ssh # chmod 700 /home/mkouhei/.ssh (mkouhei)# cd ~/.ssh (mkouhei)# mv id_rsa.pub authorized_keys
/etc/ssh/sshd_configの設定は適宜実施するべし。
これで準備は整ったので、/mnt以下に、/mnt/sshd.shとして次のスクリプトを用意する。
#!/bin/sh cd / tar zpxf /mnt/sshd/distro-ssh.tgz /usr/sbin/sshd
このスクリプト自体の実行は、/etc/rc.localの一番下にでも追記しておく。
(snip) /mnt/sshd.sh
今までの作業は、/mnt下以外の変更はリブートすると全てパァである。なので、リブートしてもちゃんと反映されるように変更しておく。/etc/flashcfgに下記を追記しておく。
/etc/ssh /home/mkouhei
追記したら、RAMディスクに書き込んでおこう。
# flashcfg -s /etc/flashcfg
あとはリブートしてもちゃんと起動することを確認しておこう。
/usr/sbin/sshdだけならまぁ書き込めるのだが、sshdの起動に必要なlibpam.so, libcrypto.so, さらにsftp-serverなんかも入れると到底空き容量足りないのである。起動時に展開する方が無難。
*1:ftp://ftp.plathome.co.jp/pub/OMS400/STABLE-20051208/mipsel-obs1550.IPv6/installation/zImage.initrd.treeboot-product
*2:ftp://ftp.plathome.co.jp/pub/OMS400/0.4-RELEASE-20100326/mipsel-oms400.ipv6/binary/
*3:ftp://ftp.plathome.co.jp/pub/OMS400/0.4-RELEASE-20100326/mipsel-oms400.ipv6/binary/base.tgz
*4:ftp://ftp.plathome.co.jp/pub/OMS400/0.4-RELEASE-20100326/mipsel-oms400.ipv6/binary/etc.tgz
*5:ここでは/mnt/sshdとしておこう。
*6:/mnt/sshd/extract.shとした。
*7:代わりにadmグループを使う。
とりあえず、opensource@apple.com にメールを送ってみたが、1週間ほどたったが反応がないので悲しい。
それとは別にMacRubyというページを見つけたので、そちらのソースを見ると…あれ、subversionのtrunkでも直ってないな、というのを見つける。コンタクトアドレスの一つである twitter のアカウントに DM してみたところ、別アカウントから直したよーと返事がきた。ちょうどいいや、と思いLaurent Sansonettiさんに色々質問。
It was a communication problem, we forgot to tell Ruby upstream. Hopefully it won't happen again.
I agree although patches are under the ruby license (maybe it's not well specified).
As for contact address, I think they know that I maintain Ruby in OSX, why not contacting me directly? :)
ということなので、今回の件については以下のようなまとめ。
ぷらっとホームの技術情報を元に、まずlennyを8GBのCFにインストールした後、APTラインをsqueezeに変更し、apt-get update, upgrade, safe-upgrade, dist-upgradeを繰り返し、Squeezeにアップグレードしてみた。udevのアップグレードの時に、
$ sudo touch /etc/udev/kernel-upgrade
をしないとアップグレードできない、というのもあったが、基本は問題無し。アップグレード後に、sysvinitからupstartにしたみた際。cronが起動後、rc2.d以下のスクリプトの実行時に止まってしまう、という問題があった。
Running scripts in rc2.d/ took 1 seconds.
仕方ないのでupstartにはしないことにした。*1
rc2.d以下のスクリプトじゃなく、gettyの方の問題かもなぁ。
*1:別に必要ないし。
ということで、Ubuntu Magazine も Vol.5 が出るようです。
いいなぁ、ステッカー。そうそう、Canonical の CEO さんは非常にスマートでした。ああいう回転の脳みそが欲しいですね。
ちょいとPalm web OSを試したくなったので、Palm webOS SDKをSidの64bit環境にインストールしてみた。もともとKVM & libvirt & virt-managerを使用している環境なのだが、ここにvirtualbox-oseをインストールするとちょいと色々変わる。
palm-emulatorコマンドで、virtualboxを起動した後、kvmのカーネルモジュールがロードされた状態のまま、KVMゲストを起動させると、以下のようにCall Traceを吐く。
kernel:[ 5126.608323] Call Trace: Message from syslogd@host at Aug 26 23:26:47 ... kernel:[ 5126.608367] Code: 00 0f 20 d8 4a 89 84 02 80 06 00 00 0f 20 e0 4a 89 84 02 88 06 00 00 48 83 e0 70 42 8b 8c 02 68 0a 00 00 23 4a 20 09 c8 0b 42 24 <0Domain sid-squeeze-couchdb started3 e0 04 0d 3b 00 00 80 0f 22
まぁ、それでもKVMは動くんだが。その代わり、VirtualBoxを既に起動中だったらVirtualBoxのゲスト、つまりpalm emulutorは止まってしまう。これを吐かせないようにするには、kvmのカーネルモジュールをアンロードしておく。
$ sudo /etc/init.d/qemu-kvm stop
Succesfully unloaded kvm module kvm_intel.
今までのように
$ sudo virsh list --all
と実行するのではKVMの定義が表示されなくなる。sudoをつけずにvirsh list --allを実行すると、VirtualBoxで使うwebOS SDKの仮想マシンの定義が表示される。
$ virsh list --all Id Name State ---------------------------------- 1 SDK 1.4.5.465 (320x480) running
じゃあどうするかと言うと、対話モードでqemu:///systemに接続すれば使える。
$ sudo virsh Welcome to virsh, the virtualization interactive terminal. Type: 'help' for help with commands 'quit' to quit virsh # connect qemu:///system virsh # list --all Id Name State ---------------------------------- - sid-squeeze-couchdb shut off - vm-fedora12 shut off - vm-squeez-sid_sysvinit_test shut off - vm-squeeze_sid-sysvinit2 shut off - vm-ubuntu9.10 shut off
ちなみに、virt-managerではqemu:///systemへの接続がデフォルトのままなので、普通に起動できる。
起動スクリプトがupstart用なので、sysvinitからupstartに切り替えよう。
64bit環境にSDKをインストールするには、Dev Guideにあるとおり、palm-sdkとpalm-novacomを--force-architectureオプションをつけてdpkgコマンドでインストールする*1のだが、palm-sdkはapt-get remove, dpkg -eでもアンインストールできない、という問題にハマる。この問題はワシは未解決。
*1:palm-novacomはamd64用だからこのオプション要らんと想うのだが。
videolan の IRCに Sam Hocevar(2007年度のDPL)がいたので、捕まえてちょっと話した。仕事が超忙しくてDebianに関わっている時間がないとのこと。あとLinuxに関わる仕事をしてないんだそうな。
んで、openvrml をメンテすることになった。