きょうのかんぱぱ

デジモノが大好きなかんぱぱの日記です。

LinkStationのDebianでMySQLがクラッシュする

  • 投稿日:
  • by
  • Category:

LinkStationにhackkitでdebian(etch)をインストールしていますが、これにMovable Typeのオープンソース版をインストールしてみました。

セットアップは問題なくできたのですが、使っていると突然「エラーが発生しました」と表示されます。どうやらMySQLと通信できないときがあるようです。

Connection error: Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (111)


MySQLのエラー

おかしいなぁとsyslogをみたところ、見事にMySQLが落ちてました。

Jan 20 20:55:56 hackkit mysqld[1291]: mysqld got signal 11;
Jan 20 20:55:56 hackkit mysqld[1291]: This could be because you hit a bug. It is also possible that this binary?
Jan 20 20:55:56 hackkit mysqld[1291]: or one of the libraries it was linked against is corrupt, improperly built,
Jan 20 20:55:56 hackkit mysqld[1291]: or misconfigured. This error can also be caused by malfunctioning hardware.
Jan 20 20:55:56 hackkit mysqld[1291]: We will try our best to scrape up some info that will hopefully help diagnose
Jan 20 20:55:56 hackkit mysqld[1291]: the problem, but since we have already crashed, something is definitely wrong
Jan 20 20:55:56 hackkit mysqld[1291]: and this may fail.
Jan 20 20:55:56 hackkit mysqld[1291]:?
Jan 20 20:55:56 hackkit mysqld[1291]: key_buffer_size=16777216
Jan 20 20:55:56 hackkit mysqld[1291]: read_buffer_size=131072
Jan 20 20:55:56 hackkit mysqld[1291]: max_used_connections=1
Jan 20 20:55:56 hackkit mysqld[1291]: max_connections=100
Jan 20 20:55:56 hackkit mysqld[1291]: threads_connected=1
Jan 20 20:55:56 hackkit mysqld[1291]: It is possible that mysqld could use up to?
Jan 20 20:55:56 hackkit mysqld[1291]: key_buffer_size + (read_buffer_size + sort_buffer_size)*max_connections = 233983 K
Jan 20 20:55:56 hackkit mysqld[1291]: bytes of memory
Jan 20 20:55:56 hackkit mysqld[1291]: Hope that's ok; if not, decrease some variables in the equation.
Jan 20 20:55:56 hackkit mysqld[1291]:?

メモリが少ないからかなぁと、max_connectionsを100から10にしてみましたけど、状況は変わらず。なんだろなぁ〜。

でも、LS-HGLでのMovable Type 4は結構重くて実用にはならないかもという感触でした。ちゃんと動くようになれば少しは速くなるかな?

debianの環境設定

  • 投稿日:
  • by
  • Category:



LinkStation LS-H250GLにセットアップしたdebianの環境設定開始です。


時刻設定までハックキットの説明書通りに完了し、以下のアプリケーションを追加インストールしました。



  • nkf

  • apache

  • MySQL

  • samba

  • sudo

  • ftp


あと、nanoはばっさり削除。vimで十分。


MTもいれてみようかな。あとPHPも。


また、SETI@homeにも参加してみるかな。


LinkStation LS-H250GLのdebian化完了

  • 投稿日:
  • by
  • Category:



LS-H250GLから外したHDDを実験用PCに接続し、山下さんのLS-HGL ハックキットに従ってdebian化を行いました。


手順通り進めれば全く問題ありませんでした。


私の場合は、実験用PCに接続してアカウントの調整を行う際に、標準ファームのバックアップもついでに行っておきました。


以下、作業中のスナップ写真。



  • 山下さんに送っていただいたハックキットをLS-HGLのHDDにコピー中。ここはMacで作業しました。


f:id:kanpapa:20080430223955j:image:w300



  • 今回作業用に購入したHDDです。Seagate ST3250410AS(250GB)で、標準ファームのHDDと同じメーカー、同じ外寸のものにしました。でもキャッシュは16MBと倍になっています。


f:id:kanpapa:20080502151808j:image:w300



  • LS-HGLにUSB接続した作業用HDD


f:id:kanpapa:20080502152135j:image:w300



  • 作業用HDDがsdbで認識しました。


f:id:kanpapa:20080502153147j:image:w300



  • ハックキットのインストール開始!


f:id:kanpapa:20080502153920j:image:w300



  • インストール中の様子


f:id:kanpapa:20080502154030j:image:w300



  • インストール完了しました。おきまりのsync3回。


f:id:kanpapa:20080502154141j:image:w300



  • 標準ファームのHDDと作業用HDDを交換します。


f:id:kanpapa:20080502154537j:image:w300



  • 作業用HDDに換装が完了したLS-HGL。標準ファームのHDDは箱にしまって保管しておきましょう。


f:id:kanpapa:20080502154909j:image:w300



  • 無事ログイン完了です。おつかれさまでした。


f:id:kanpapa:20080502155353j:image:w300


LinkStation LS-H250GLのHDDをDebian PCにつなぐ

  • 投稿日:
  • by
  • Category:



LS-H250GLから外したHDDを実験用PCに接続します。


以降の作業は、山下さんの LinkStation/玄箱 をハックしようを参考にさせていただいております。


もちろん、作業は自己責任でお願いします。


実はS-ATAなるHDDを触るのはこれが初めてだったりします。これまではずっとIDEだけでした・・・。


とりあえず、PCのブートディスクをDebian 4.0がインストールされているものにします。うちのデスクトップPCは実験用なのでブートディスクを簡単に交換できるようにしているのです。



  • うちのAthlon64デスクトップPCです。


f:id:kanpapa:20080429072136j:image:w300



  • 材料はこれだけ。HDDはLinkStationから取り外したもの。ケーブル類はマザーボードの付属品です。


f:id:kanpapa:20080429072414j:image:w300



  • こんな感じでS-ATA HDDを接続しました。


f:id:kanpapa:20080429072628j:image:w300


この状態で、PCのブートディスクからDebianを起動します。果たしてS-ATA HDDを無事認識してくれるのか?


f:id:kanpapa:20080501000833j:image:w300


キター!!


LinkStation LS-H250GLを分解してみた

  • 投稿日:
  • by
  • Category:

BUFFALO LinkStation LS-H250GLを分解してみました。


あくまでも参考です。分解は自己責任でお願いします。

  1. LinkStation本体をひっくり返すとネジがあります。これを外します。
    f:id:kanpapa:20080429071436j:image:w300
  2. 写真ぐらいの角度までフロントパネルをゆっくり起こし、そのままの角度で水平に引っぱるとフロントパネルが外れます。
  3. f:id:kanpapa:20080429071519j:image:w300

  4. フロントパネルの本体側の爪がひっかかる部分です。下向き斜めになっているのがミソです。
    f:id:kanpapa:20080429071624j:image:w300

  5. 本体の爪の部分です。爪を折らないように慎重に作業しましょう。
    f:id:kanpapa:20080429071643j:image:w300

  6. サイドパネルをスライドして外します。
    f:id:kanpapa:20080429071659j:image:w300

  7. 反対側も同様に外します。
    f:id:kanpapa:20080429071717j:image:w300

  8. 3本のネジでハードディスクを固定していますので、それを外します。
    f:id:kanpapa:20080429071734j:image:w300

  9. 慎重にハードディスクを外します。
    f:id:kanpapa:20080429071823j:image:w300

  10. これでハードディスクが外れました。
    f:id:kanpapa:20080429072019j:image:w300

  11. 外したハードディスクを手持ちのPCに接続しDebian化に入ります。

初代KURO-BOXに比べ格段にメンテナンスしやすくなっているのがうれしいです。

玄箱でYahoo!デベロッパーネットワークに参加する

  • 投稿日:
  • by
  • Category:



さらに何かおもしろいことはないかと思っていたところで、「Yahoo!デベロッパーネットワーク」なるものを見つけました。


Yahoo!JAPANの公開APIが使えるらしいとのことで、手持ちのYahoo!IDを使ってアプリケーションIDを取得すれば準備完了です。早速サンプルプログラムを玄箱の上で動かしてみました。


この時点で玄箱にはApache1.3とPHP4がインストール済みです。


サンプルプログラムがあったので、それを/var/wwwに展開しました。


とりあえずわかりやすそうなsearchから実験です。



$ cd


$ ls


yjws-1.7.tgz


$ zcat *.tgz | tar xvf -


$ cd yjws-1.7


$ ls -l


total 16


drwxr-xr-x 3 ocha users 4096 Sep 5 2006 auctions


drwxr-xr-x 4 ocha users 4096 Dec 15 15:06 category


drwxr-xr-x 5 ocha users 4096 Sep 5 2006 search


drwxr-xr-x 4 ocha users 4096 Sep 5 2006 webunit


$ cd search


$ ls


README.txt javascript perl php


$ cd php


$ ls


1.0


$ cd 1.0


$ ls -l


total 20


drwxr-xr-x 2 ocha users 4096 Sep 5 2006 example1


drwxr-xr-x 2 ocha users 4096 Sep 5 2006 example2


drwxr-xr-x 2 ocha users 4096 Sep 5 2006 example3


drwxr-xr-x 2 ocha users 4096 Sep 5 2006 example4


drwxr-xr-x 2 ocha users 4096 Sep 5 2006 example5


$ cd example1


$ ls


YJSearchExample.php common.php


$ cd ..


$ sudo mv example* /var/www/. ←面倒なので全部移動!


$ cd /var/www


$ ls -l


total 36


drwxr-xr-x 2 ocha users 4096 Sep 5 2006 example1


drwxr-xr-x 2 ocha users 4096 Sep 5 2006 example2


drwxr-xr-x 2 ocha users 4096 Sep 5 2006 example3


drwxr-xr-x 2 ocha users 4096 Sep 5 2006 example4


drwxr-xr-x 2 ocha users 4096 Sep 5 2006 example5


-rw-r--r-- 1 www-data www-data 5258 Apr 3 23:38 index.html


-rw-r--r-- 1 root root 20 Apr 8 13:50 info.php


$



この状態で、http://玄箱のIP/example1/YJSearchExample.php と叩いてみたところ何やらエラーが。


どうもxmldomが必要のようです。早速、検索。



$ apt-cache search domxml


php4-domxml - XMLv2 module for php4



ありました。早速インストール



$ sudo apt-get install php4-domxml



あと、



common.phpの"$appid ="部分に取得したアプリケーションIDを設定してください。



ということなので、ここに取得したアプリケーションIDを設定。


再度、http://玄箱のIP/example1/YJSearchExample.phpをブラウザで開くと、検索キーワードを入力できる画面が表示されました。


適当な言葉を入れて、検索すると、結果がちゃんと表示されます。


思ったより簡単ですね。こんな開発サーバにも玄箱は使えそうです。


玄箱でseti@homeに参加する その2

  • 投稿日:
  • by
  • Category:



玄箱でのBOINCの準備ができたところで、手持ちのPCにもBOINCをインストールする。


一度PC上でBOINCを動かしてからのほうが作業が楽だと思う。


でも最終的な目的は玄箱のBOINC clientをPCのBOINC managerで制御するため。


もし、seti@homeのアカウントを持っていない場合は、PCのBOINC managerからアカウントを取ってしまおう。うまくいくと、メールでアカウントキーが送られてくる。


玄箱にログインして次のようにコマンドを入れる。



$ boinc_cmd --host localhost --project_attach http://setiathome.berkeley.edu xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ←アカウントキー(英文字の羅列)



状態をみるのは以下のコマンド



$ boinc_cmd --get_state


$ boinc_cmd --get_message 0



PCのBOINC Managerからでも制御ができる。「高度な操作」→「コンピュータの選択」→玄箱のIPを入力すればよい。私はパスワードはつけなかったのでそこは空欄。


PCだとこれでアプリケーションをseti@homeのサーバからダウンロードして、勝手に計算を始めるはずなのだが、どうも動かない。


メッセージをみると以下のような怪しいものがでていた。



SETI@home 1 1174713403 Message from server: platform 'powerpc-unknown-linux-gnu' not found



これってもしかして、玄箱のBOINCで動くseti@homeのアプリケーションが無いってこと?


そういえば、こんなパッケージがあったことを思いだした。



boinc-app-seti - SETI@home application for the BOINC client



とりあえず、これをインストールして再度チャレンジしたらあっさり動いてしまった。


でも、そういうことなら玄箱の上ではseti@homeのアプリケーションしか動かないってことかな。


アプリケーションのソースがあれば自分でコンパイルすればいいんだろうけど。


ちなみに、玄箱で1つのWORKUNITにかかる時間は、こんな感じ。



Created 24 Mar 2007 2:13:48 UTC


Sent 24 Mar 2007 15:54:13 UTC


Received 29 Mar 2007 8:14:29 UTC


CPU time 394143.22



5日間かけてやり遂げるだけでも偉いなということで。はい。


もし玄箱でseti@homeをやっている人がいたらチームを組みたいな。


玄箱でseti@homeに参加する

  • 投稿日:
  • by
  • Category:



動き出した玄箱ですが、せっかく常時稼働しているのでBOINCを動かしてseti@homeに参加してみることにしました。


BOINCとかseti@homeとは何ぞやというのはそちらのページを読んでいただくこととして早速インストールです。


Debianのドキュメントをさがしてみたところこんなページがありました。


http://wiki.debian.org/BOINC


これによると、boinc-clientとboinc-managerとboinc-devというパッケージがあるようです。boinc-managerはboinc-clientを管理するGUIなので、KURO-BOXでは不要でしょう。


boinc-devはboincのアプリケーションを作成するためのパッケージなのでこれもあとでいれることとします。


boinc-clientで検索したところ、testingとunstableのパッケージしかないようです。そこで/etc/apt/sources.listを以下のように書き換えます。今回はCDNを使ってみました。



$ sudo vi /etc/apt/sources.list


# sources.list


deb http://security.debian.org/ stable/updates main contrib non-free


deb http://cdn.debian.or.jp/debian/ testing main contrib non-free


deb-src http://cdn.debian.or.jp/debian/ testing main contrib non-free



書き換えが終わったらupdateです。



$ sudo apt-get update


Get:1 http://cdn.debian.or.jp testing/main Packages [5555kB]


Hit http://security.debian.org stable/updates/main Packages


Hit http://security.debian.org stable/updates/main Release


Hit http://security.debian.org stable/updates/contrib Packages


Hit http://security.debian.org stable/updates/contrib Release


Hit http://security.debian.org stable/updates/non-free Packages


Hit http://security.debian.org stable/updates/non-free Release


Get:2 http://cdn.debian.or.jp testing/main Release [84B]


Get:3 http://cdn.debian.or.jp testing/contrib Packages [56.4kB]


Get:4 http://cdn.debian.or.jp testing/contrib Release [87B]


Get:5 http://cdn.debian.or.jp testing/non-free Packages [74.7kB]


Get:6 http://cdn.debian.or.jp testing/non-free Release [88B]


Get:7 http://cdn.debian.or.jp testing/main Sources [1653kB]


Get:8 http://cdn.debian.or.jp testing/main Release [83B]


Get:9 http://cdn.debian.or.jp testing/contrib Sources [21.1kB]


Get:10 http://cdn.debian.or.jp testing/contrib Release [86B]


Get:11 http://cdn.debian.or.jp testing/non-free Sources [33.2kB]


Get:12 http://cdn.debian.or.jp testing/non-free Release [87B]


Fetched 7394kB in 20s (361kB/s)


Reading Package Lists... Done



BOINC関係のパッケージがあるか確認します。



$ sudo apt-cache search boinc


boinc-app-seti - SETI@home application for the BOINC client


boinc-client - core client for the BOINC distributed computing infrastructure


boinc-dev - development files to build applications for BOINC projects


boinc-manager - GUI to control and monitor the BOINC core client


kboincspy - monitoring utility for the BOINC client


kboincspy-dev - development files for KBoincSpy plugins



まずは、boinc-clientをインストールします。



$ sudo apt-get install boinc-client



これでBOINCクライアントのインストールは完了しました。


さて、いよいよBOINCを動かします。続きはまた。



debian Linuxを玄箱にセットアップ その2

  • 投稿日:
  • by
  • Category:



玄箱(KURO-BOX)にDebian Linuxをインストールしてみましたが、このDebianはWoody(Debian 3.0)という少し古いバージョンでした。


現行はSarge(Debian 3.1)というバージョンになっていますので、それにアップグレードしてみました。


参考としたホームページは以下の通りです。



本当にこの手順通りで事足りてしまいます。ありがたいですね。


作業が終わるとこんな感じになります。



Debian GNU/Linux 3.1 KURO-BOX


KURO-BOX login:



すばらしく簡単です。


debian Linuxを玄箱にセットアップ その1

  • 投稿日:
  • by
  • Category:



玄箱(KURO-BOX)にDebian Linuxをインストールしてみました。


参考としたホームページは以下の通りです。



覚え書きとして手順を書いておきます。


1.「玄箱うぉううぉう♪」さんから、debian_2006_06_10_dist.tgzをダウンロード


2.「オモイノホカ日々徒然」さんにある手順の通りにセットアップ


3. パスワードの設定



Debian GNU/Linux 3.0 KURO-BOX


KURO-BOX login: tmp-kun


Password: xxxxxxx


Last login: Sun May 2 15:10:53 2004 from 192.168.0.32 on pts/0


Linux KURO-BOX 2.4.17_kuro-box #4 2004年 4月 16日 金曜日 11:45:05 JST ppc unknown


: 省略


tmp-kun@KURO-BOX:~$ su -


Password: xxxxxxxx


KURO-BOX:~# passwd root


Enter new UNIX password: newpassword


Retype new UNIX password: newpassword


passwd: password updated successfully


KURO-BOX:~# passwd tmp-kun


Enter new UNIX password: newpassword


Retype new UNIX password: newpassword


passwd: password updated successfully



4. IPアドレスの変更



KURO-BOX:/etc# vi /etc/hosts


127.0.0.1 localhost


#192.168.0.100 KURO-BOX ←コメントにする


192.168.3.121 KURO-BOX  ←新しいIPを設定


KURO-BOX:/etc# vi /etc/hosts.allow


 :省略


#ALL : 192.168.0.0/255.255.255.0 ←コメントにする


ALL : 192.168.3.0/255.255.255.0 ←新しいIPを設定


ALL : 127.0.0.1


KURO-BOX:/etc# vi /etc/resolv.conf


search


#nameserver 192.168.0.1 ←コメントにする


nameserver 192.168.3.1 ←我が家のDNSサーバ(ルータ)に変更


KURO-BOX:/etc # vi /etc/network/interfaces


 :省略


iface eth0 inet static


#address 192.168.0.100 ←コメントにする


#network 192.168.0.0 ←コメントにする


#netmask 255.255.255.0 ←コメントにする


#broadcast 192.168.0.255 ←コメントにする


#gateway 192.168.0.1 ←コメントにする


address 192.168.3.121 ←我が家のネットワークに合わせて書き換え


network 192.168.3.0 ←我が家のネットワークに合わせて書き換え


netmask 255.255.255.0 ←我が家のネットワークに合わせて書き換え


broadcast 192.168.3.255 ←我が家のネットワークに合わせて書き換え


gateway 192.168.3.1 ←我が家のネットワークに合わせて書き換え


iface lo inet loopback


auto eth0 lo



5. 作業用ユーザアカウントの登録



KURO-BOX:~# df -k


Filesystem 1k-blocks Used Available Use% Mounted on


/dev/hda1 2063504 154080 1804604 8% /


/dev/hda3 55375288 398944 54976344 1% /mnt


KURO-BOX:~# mkdir /mnt/home/username


KURO-BOX:~# useradd -u 1001 -g users -d /mnt/home/newuser -s /bin/bash newuser


KURO-BOX:~# passwd newuser


Enter new UNIX password: xxxxxxxx


Retype new UNIX password: xxxxxxxx


passwd: password updated successfully


KURO-BOX:~# chown newuser:users /mnt/home/newuser



6. 再起動



KURO-BOX:/mnt/home# sync


KURO-BOX:/mnt/home# sync


KURO-BOX:/mnt/home# sync


KURO-BOX:/mnt/home# reboot



これでネットワークとアカウントの設定までできました。簡単です。