自宅サーバのLennyなDebianをアップデート…したいの(希望)

VMをぶん回したくて久々に こぁ i7 な機体に火を入れたけど、Debianっていつの間にかメジャーバージョンしておったのか。

取り敢えず/etc/soueces.listをsqueezeに書き換えてapt-get updateしているのだけど、volatileが終わっていたり、なんぞ「 子プロセス bzip2 がエラーコード (2) を返しました」とか言い出してみたり、何度やっても試しにサーバをftp.jp.debian.orgからftp.debian.orgに変えてみてもエラーが回復しなかったりよくわからん状態に。

なんかちょっと面倒になってきたというかそもそもあたしが今やりたいのはDebianを最新にすることではなくVMを動かすことだったのでいったん止めよう。

てか、面倒だから最初から入れなおしてやろうかコイツ…。

とりあえず後で何かしら手を打とう。

| | コメント (0) | トラックバック (0)

不用品のデジタルフォトフレームを小型モニターとして使いたい→挫折 orz

仕事の関係であまり欲しくもない安物デジタルフォトフレームが手元にあり、こやつの使い道をなんか探してみようとして早々に挫折するなど。

モノはDreamMaker DMF070W43。というだけでどういう経路で来たかわかる方がきっと相当するいるであろうこのギョーカイ。

サイズは7インチとそれなりに手ごろであるものの、解像度がSVGAなので一眼レフ画像とかの表示は期待できない感じの困った代物。

ふと思い出して電源を調べたところ、5V2A。コネクタ企画がViliv S5と同じ。ということはもしかしてUSB給電可能?

結論としては十分可能と判明。待機電力状態のデスクトップPCからでも充分だったので、500mAくらいで動いていそうな感じ。しかしViliv S5に使っているこのUSBケーブル、秋葉原の「どこか」で買ったやつなんだよな…どこで売っているんだっけ(汗)

仕様を確認したところ、USBケーブルでつなげばPCからデータ転送できる。例えば画像1枚だけにして、PCから定期的に画像の形で表示したいモノを送り出してやれば、あとはスライドショーで勝手にリロードしてくれたりはしないかなー、とか期待。

PCの繋ぎ先…は、CentOS release 5.5(単にアップデートをさぼっているだけで深い意味は無い)。接続してみたところ内臓メモリが/dev/sdb/になったので、mountしてみるとちゃんと見えてる。ほかのUSB Hostやメモリーカードスロットも見えているようなので、ここらに心配はなさそう。

問題は、PCに繋いでいる間は本体が動かないらしいこと。PCから定期的にデータアップロードしようとしてもこれではNG(-_-;

「PCに繋いでいる状態」はminiBポートに通電している状態の模様。PC側からmount/umountしても反応無いので。

で、ケーブルを抜いてみると勝手に電源が落ちるステキ仕様(えぇ仕様のようです)。

はい、しゅーりょー。

んー、USBメモリを繋ぐ機能はあるのだから、逆にPC側をUSBゲストにできれば、そちらのデータを定期差し替えして再読み込みさせる…なんてことはできそうな気もする。Googleると、 USB Server for Linux とか参考になるかもしれない。これはLinuxをUSBデバイスサーバ化するものなので少し毛色が違うけど、要はUSBポートに繋がれたものをリダイレクトするか、本体HDDのパーティションをリダイレクトするか、の違いだろうし。

後は、Mass Strage class周りのコードでも読んでみれ、ということかなぁ。要はUSBポートに対してファイルシステムのデータを送り出してやればいいんでしょ、的な。

多くの「USBでPC同士を通信します」的なケーブルは、実態としてはUSB LAN+LANケーブル+USB LANケーブルのような構成みたいなので、使えないと思う。てか、試しにUSB LANを繋いでみたが、ただの屍のごとく何のリアクションもなかった。

以前購入した「USB経由でPCの内臓光学ドライブをマウントします」ケーブルはもしかしたら有効かも…しれないけど、なんぞスマートでないというかエレガントさに欠けてトレーズ閣下がお怒りになりそうだ。

てか、そこまでしなくても素直に小型モニタを買ってくるとか、7インチクラスのAndroidを安く買ってきてフォトフレームにしたほうが色々高機能なんだよね。

つーことで、取り敢えずPCをUSBゲストにする方法を探したいなー、というメモを残してオチなく終わる。

| | コメント (2) | トラックバック (0)

Software Design 11月号 (2010年バックナンバーPDF付)。

今月号は2010年版バックナンバーのPDFが付いてきているので購入。さて、捨てられる本をまとめておくか…。

Software Designは毎年確実にバックナンバーPDFを付けてくれるので安心感があるのだけど、他の雑誌も例えば「年末にはバックナンバーPDFを出しますよ」と予告・宣言しておいてくれれば、雑誌をせっせと自炊整理する人の助けにもなるだろうし、年末の売り上げも期待できるんじゃないかなー、とか思うのだけど。

ついでに年初の時点で年末のPDF版をAmazonとかで予約できるような体制になっていると、購入忘れが無いというか見込み客確保にもなるんでないかとか。

11月号自体のメインはさくらインターネット大特集!誌面の1/3くらい占めている印象が。さくらちゃんを隅々まで紹介していてとてもエロい(なんぞ)

これ、次は他のデータセンター系インターネットプロバイダとかやらないと不公平ぢゃないですかね?(笑)

あとは、Hack For Japanの活動報告第1回が掲載。プログラマの一人としても、何かできることが無いか活動内容を見直したいところ。

あとは印刷環境特集。Software Designで「プリント環境」って書かれると一瞬印刷のことか基板のことかで悩むのはあたしだけか、あたしだけなのか。

#2011.10.24 追記

購入した11月号を読んでいて、デジタル版があることに初めて気づく。「雑誌オンライン.COM」で購入できるらしい。バックナンバーも買えるし、価格も紙版より100円安いし、Androidでも読める。

取り敢えず今月号を購入して読み比べるか、買っていないバックナンバーを試すか、微妙なところではある…。

あと、先日の記事でぼやいていた週刊ダイヤモンドもこちらでは単品電子版が購入できる模様。

うーん、ぬかった…。

| | コメント (0) | トラックバック (0)

Radiant CMS 0.9.1のExtension開発でFactoryGirlを使う。

RADIANT_ROOT(radiantコマンドで生成するディレクトリ)にspec/factories/を置くべし! ←結論

問題:

  • FactoryGirlは通常spec/factories/以下にテストデータの定義を置く
  • Extensionの場合、vendor/extensions/<エクステ名>/spec/が該当(するはず)
  • だがしかし、ここに定義を置いても読み込んでいる気配が無いんだなこれが
  • あ、FactoryGirlのバージョンは1.2.4 (Rails2なので)

原因:

  • FactoryGirlの検索パスは、初期状態でRAILS_ROOT/test/factories/とRAILS_ROOT/spec/factories/ (factory_girl-1.2.4/lib/factory_girl.rb)
  • Radiant CMSの場合、みょんな小細工がいろいろ入っていてRAILS_ROOT = RADIANT_ROOTになる
  • エクステのディレクトリ内でrake specしても、同様。一度RADIANT_ROOTまで上がって、そこからspecとかを呼び出している
  • なので、FactoryGirlも一生懸命RADIANT_ROOT/spec/factories/を探していたようで。

対策:

取り敢えずの逃げとしては、RADIANT_ROOTにvendor/extensions/<エクステ名>/spec/のシンボリックリンクを作ればOK。

しかしこの方法では複数のextension開発に対応できず、あとRADIANT_ROOTからvendor/extensions/<エクステ名>/spec/へのパスが2種類になってしまうので、何かの拍子に予期せぬ誤動作がでそうで怖い。

しかしextension開発中にいちいち上のほうの階層にテストデータを置きに行くのもたるい。

やり方をまだ確認していないけど、たぶんspec_helperあたりでextensionごとにfactories/の位置をFactoryGirlに教えることができると思うので、それを確立するのが一番良い気がする。

共通で使うテストデータ(たとえばRadiantCMS本体に元からあるテーブル類とか)はRADIANT_ROOT/spec/factories/に置き、extension固有データは各spec/に置く、とかが一番スマートか?

| | コメント (0) | トラックバック (0)

妹の…もといリモートのリポジトリを用意したいので。

一番手っ取り早いのは契約しているVPSとかレンタルサーバにSubversionリポジトリ作っちゃえばいいのだけど、そのVPSを初期化リセットしたくなったらどーするんだとか、いやいや世の中にはgithubってーものもあるんですぜ旦那、とかそんな宇宙毒電波が聞こえる毎日。

リポジトリに突っ込みたいのは、Macbook Airでいじっているソースとか、VPSで構築しつつあるRadiant CMSの自作エクステとか。

最終的に公開することもやぶさかではないけど、今はとても見せられませぬ、というかそこまで本気でやっていないというか。

となると公開共有が前提のgithubはちょっと用途が違うかなー、というかアレは完全プライベートのリポジトリにも使えるのか?<本を読め、買ってあるんだから

さて、どこに置いたものやら…。

| | コメント (0) | トラックバック (0)

宇宙からの毒電波により。

えっちな女子高生ラブなひとが女子小学生に手を出すまでの軌跡(hjklな人がJSに手を出すまでの軌跡)という寝言が聞こえた気がします。

えぇ、もちろんvi使いがJavaScriptに手を出すまでの軌跡、ってことですが何か。

具体的には女子高生男爵とかその辺りれすかね。かすみ遊戯的に。

| | コメント (0) | トラックバック (0)

まどか☆マギカ汚染が広がっているようデス。

本屋で何気に新刊をチェックして、思わず噴きそうに(当然即購入)。こんなところにまで契約が…(笑)

僕と契約してFreeBSD使いになってよ!

…最近FreeBSDとか見ていなかったなぁ…。Macbook Air買ったから、BSDと契約と言えばそうなんだが(Max OS XはBSD系)。たまにはインストールしてみようか?

| | コメント (0) | トラックバック (0)

Mini-ITXを4枚収納可能なATX筐体。

実はMini-ITXのAtom 330マザーが登場したころから実現を目論みつつも資金面の問題とかから実現できなかったネタなのですが、これ。

準備段階として、100円ショップの部材でPCケースを作ってみる。なんてネタもやっていました。ちなみにこの時作った筐体はある日両面テープで済ませた個所が外れて崩壊したり、その後梅雨時にMDFボードにカビが発生したりと散々なことになって廃棄していますが。

で。

マザーが4枚入るMini-ITXケースが発売に 見た目は普通のATXケース (AKIBA PC Hotline!)

相変わらず資金面は辛そうですが。

そもそもなんでコレに興味があるかというと、次のような理由で1つの筐体に複数マザーを放り込めると便利だなー、と思った次第。

  • Mini-ITXのAtom 330(今だとD550のほうが良いか)だと、HTまで使えば論理4コアマザーになる
  • しかも1枚1万円以下、低電力、低発熱
  • お手軽並列コンピューティングを考えた場合、高価なマルチコア+複数HDD+大量メモリのPC上で複数プロセスを実行するより、安価PCを複数用意してネットワークでつなぐほうが、メモリとかHDDの管理面で単純(だと思う)
  • しかしMini-ITXといえど、複数配置は場所を取る
  • だがサーバラックなど一般家屋には言語道断

まー、興味持ち始めた時代はまだVPSとか今ほど普及していないし、実際自分の趣味範囲で並列処理するようなデータをもっているかというと持っていなかったりするわけで、結局実行に移さずじまいだったのですが。

この筐体だと電源系は独立しているようなので、少しずつマザーを増やしたり、壊れたところだけ交換とかも容易にできそうですねぇ。

しかし49,800円か。うちにある小型のMini-ITX筐体(ACアダプタ電源+スリム光学ドライブ+2.5インチHDD)が13,000円だったので×4で52,000円。…んー。お値段としてはあまりお得感は無いなぁ。ケーブル類がすっきりするとか、場所移動が楽、という利点はありそうだけど。

D550マザー1枚1万、メモリ3,000円、HDD1台5,000円×2として、49,800円+(2,3000×4)=141,800円…実際にはもう少し安いかな?

| | コメント (0) | トラックバック (0)

gitのソースコード配布が復活しておる。

よく考えたらGit無いとRadiant CMSのエクステ入れられないぢゃんダメぢゃん仕方ないからEPEL使おう…と思いつつもふと魔がさしてGit本家を見に行ったところ、ソースコードのtar.gzがcode.google.comからの配布に切り替わって復活してる!!

どうやら過去のリリースも一式code.google.comに移住した模様??

ということで早速。

configureは特に指定なし。/usr/local/に入るけどまぁ良いか。パス通せば済むことだし。

粛々とmakeしてmake test。

結果。

fixed   0
success 7146
failed  0
broken  32
total   7278

…なんだbrokenって(汗)

まぁいいか(おぃ)

checkinstallでRPM化をば。

1 -  Summary: [ GIT - Fast Version Control System. ]
2 -  Name:    [ git ]
3 -  Version: [ 1.7.6.4 ]
4 -  Release: [ 1 ]
5 -  License: [ GPL ]
6 -  Group:   [ Applications/System ]
7 -  Architecture: [ x86_64 ]
8 -  Source location: [ git-1.7.6.4 ]
9 -  Alternate source location: [  ]
10 - Requires: [  ]
11 - Provides: [ git ]

こんな感じでいいかな。

出来上がったRPMをインストール。

$ sudo rpm -ivh /usr/src/redhat/RPMS/x86_64/git-1.7.6.4-1.x86_64.rpm
error: Failed dependencies:
        perl(SVN::Core) is needed by git-1.7.6.4-1.x86_64

ぬぐぐぐぐ。

# yum install subversion-devel
Installed:
  subversion-devel.i386 0:1.6.11-7.el5_6.4
  subversion-devel.x86_64 0:1.6.11-7.el5_6.4

Complete!

…が、しかしcpanでうまく入らん…。

こっちか!

# yum install subversion-perl

Installed:
  subversion-perl.x86_64 0:1.6.11-7.el5_6.4

Complete!

なんぞいつか来た道だなぁ、って。

りとらい。

$ sudo rpm -ivh /usr/src/redhat/RPMS/x86_64/git-1.7.6.4-1.x86_64.rpm
[sudo] password for kmamiya:
Preparing...                ########################################### [100%]
   1:git                    ########################################### [100%]

よし入ったらしい。

試しに適当なテストアプリを用意してエクステを拾ってきてみる。

$ script/extension install language_redirect
$ ls vendor/extensions/
language_redirect

大丈夫そう。

| | コメント (0) | トラックバック (0)

さくらのVPSにRadiant CMSをセットアップ

さくらのVPS を導入してRadiant CMSの運用環境を構築するまでのメモ。なお、バージョンが指定された物は、依存関係を解決する過程で特定した物です。2011年9月現在の結果なので、OSや各モジュールの依存状況によって変動が出る可能性があります。最新状況の確認は各自にて。

また、バージョン指定物については「可能な限り最新版、ダメだったら少しずつバージョンダウンしてみる」という手法で解決を図っていますので、例えばrspecとrspec-railsはバージョンがずれており、合わせたほうがキモチ良いなーと思いつつそのままになっていたりします。

ちなみに、あたしはクリーンインストールに成功したこの記録に到達するまで、2回のOSリセットと概ね2回のごり押しをやっていまする。だいたい、1回目で破綻しつつ勘をつかんで、2回目+ごり押しでなんとか押し込むことに成功して、3回目できれいに納める、といった感じ。

記事全体としては、大まかな作業手順導入するRPM導入するgem具体的な手順、となっています。RPMやgemは、実際には導入手順の中で数回に分けて導入作業を行っています。大抵は最初に一括インストールして問題ないはずですが、確認はしていません(4回目をやるのが面倒)。RPMとgemの関係性とかもあるので、一括作業する人は注意。

大まかな作業手順

  1. rubyのインストール(1.8系)
  2. gemsのインストール
  3. railsのインストール(2系)
  4. DB関係のインストール
  5. radiant CMSのインストール
  6. 開発環境構築
  7. Passengerのインストール
  8. 運用環境構築

導入するRPMパッケージ

rubyのコンパイルで使うものたち。ext/の内容物をコンパイルするためのライブラリ類です。あとでアレが無いコレが足りないとやるのが面倒なので、後々必要になりそうなものをあらかじめ選び、導入要件を調べた結果こうなりました。
ncurses ncurses-devel gdbm gdbm-devel openssl openssl-devel zlib zlib-devel readline readline-devel
Rails運用に使うものたち。DB2種。ほかに使いたい人はそれを。sqliteは概ね最初から入っているはず。
mysql mysql-server mysql-devel sqlite-devel
Radiant CMS運用/開発に使うものたち。基本的には開発方面で必要になった気がします。ざっくりXML系ですな。
libxml2 libxml2-devel libxslt libxslt-devel
Passenger運用に使うものたち。
httpd-devel apr apr-devel httpd-devel curl-devel

導入するgem

Ruby on Rails本体。Rails3はあたしが慣れていないせいかそもそも一般流通しているgemが追従しきれていないのか、色々要らぬトラブルが発生するので当面Rails2でいきます。
rails -v 2.3.14
SQLite。これも、最新版(1.3.3)ではエラーになるので。まぁ基本テストで使うものなので多少いい加減でも良いかと。
sqlite3-ruby -v 1.2.5
MySQLについては特にひねりはありません。
mysql
Radiant CMSの開発環境まわり。運用だけならば不要だったように思います。
cucumber cucumber-rails database_cleaner webrat
おなじく、Radiant CMSのうちバージョン指定が必要な物。ちなみに、specぢゃなくてutest使うんだい!という人には不要です。
        
  • rspec -v 1.3.0
  •     
  • rspec-rails -v 1.3.2
Radiant CMS本体。Rails2系です。Rails3系は、radiant3だったかと。
radiant
Passenger。
passenger

手順

多少端折っていますが、実際に打ち込んだコマンドのログ。

まずはRubyとRubyGemsのインストール。前提条件として、RPM化するためにcheckinstallが導入済みとなっています。

rubyについてはインストール先のみ、/usr/に変更しています。単なる趣味というか職場環境がそうなっているからというか、まぁそのあたりが理由。

$ sudo yum install ncurses ncurses-devel gdbm gdbm-devel openssl openssl-devel zlib zlib-devel readline readline-devel

Installed:
  gdbm.i386 0:1.8.0-26.2.1.el5_6.1
  gdbm-devel.i386 0:1.8.0-26.2.1.el5_6.1
  gdbm-devel.x86_64 0:1.8.0-26.2.1.el5_6.1
  ncurses-devel.i386 0:5.5-24.20060715
  ncurses-devel.x86_64 0:5.5-24.20060715
  openssl-devel.i386 0:0.9.8e-20.el5
  openssl-devel.x86_64 0:0.9.8e-20.el5
  readline-devel.i386 0:5.1-3.el5
  readline-devel.x86_64 0:5.1-3.el5
  zlib-devel.i386 0:1.2.3-4.el5
  zlib-devel.x86_64 0:1.2.3-4.el5

Dependency Installed:
  e2fsprogs-devel.x86_64 0:1.39-33.el5 keyutils-libs-devel.x86_64 0:1.2-1.el5
  krb5-devel.x86_64 0:1.6.1-62.el5     libselinux-devel.x86_64 0:1.33.4-5.7.el5
  libsepol-devel.x86_64 0:1.15.2-3.el5 libtermcap-devel.x86_64 0:2.0.8-46.1

Complete!

$ cd ruby-1.8.7-p352
$ ./configure --prefix=/usr/
$ make ; make test

test succeeded

checkinstallでRPM化するにあたり、説明文はyum infoで得られるものをそのまま使います。どうせ個人使用なんで何でも良いといえばそれまでなんですが。

また、checkinstallでは1~4までの項だけを再設定します。Summaryについては同じくyum infoの内容をコピペ。2~3もyumで取ってこれるRPMに合わせることで、あとで入れ替えるときなどに要らぬトラブルが出ないようにします(したつもり)。

$ yum info ruby >description-pak
$ vi description-pak
★Description: の項だけ残して後は削除しておく。

$ sudo /usr/local/sbin/checkinstall
★1~4まで再設定。
1 -  Summary: [ An interpreter of object-oriented scripting language ]
2 -  Name:    [ ruby ]
3 -  Version: [ 1.8.7 ]
4 -  Release: [ p352 ]

**********************************************************************

Done. The new package has been saved to

/usr/src/redhat/RPMS/x86_64/ruby-1.8.7-p352.x86_64.rpm
You can install it in your system anytime using:

      rpm -i ruby-1.8.7-p352.x86_64.rpm

**********************************************************************

$ sudo rpm -ivh /usr/src/redhat/RPMS/x86_64/ruby-1.8.7-p352.x86_64.rpm
Preparing...                ########################################### [100%]
   1:ruby                   ########################################### [100%]

gemについては何のひねりもありません。

$ cd rubygems-1.7.2/
$ sudo ruby setup.rb
RubyGems 1.7.2 installed

Ruby on Railsについては、バージョン指定しているところだけが特殊です。何も指定しないと、Rails3が入ってきます。

$ sudo gem install rails -v 2.3.14

ここで、うっかり忘れていたDB関係を入れることに。sqlite3-rubyのみバージョン指定が入ります。

$ sudo yum install sqlite-devel
$ sudo gem install sqlite3-ruby -v 1.2.5

$ sudo yum install mysql mysql-server mysql-devel

Installed:
  mysql.i386 0:5.0.77-4.el5_6.6           mysql.x86_64 0:5.0.77-4.el5_6.6
  mysql-devel.i386 0:5.0.77-4.el5_6.6     mysql-devel.x86_64 0:5.0.77-4.el5_6.6
  mysql-server.x86_64 0:5.0.77-4.el5_6.6

Dependency Installed:
  perl-DBD-MySQL.x86_64 0:3.0007-2.el5       perl-DBI.x86_64 0:1.52-2.el5

Complete!


$ sudo gem install mysql
Successfully installed mysql-2.8.1

ここで、Ruby on Railsのテストアプリを作ってみて、welcomeページ程度まで表示できることを確認しておきます。

$ rails testapp
$ cd testapp
$ script/server
★http://<IPアドレス>:3000/にアクセス

Radiant CMS関係。試行錯誤の結果、特に開発環境についてはあらかじめ相性問題を解決したgemを導入しておかないと、勝手気ままに依存関係を解消しようとした結果訳の分からない状態に突入する、という結論になりました。

$ sudo yum install libxml2 libxml2-devel libxslt libxslt-devel

Installed:
  libxml2.i386 0:2.6.26-2.1.12          libxml2-devel.i386 0:2.6.26-2.1.12
  libxml2-devel.x86_64 0:2.6.26-2.1.12  libxslt.i386 0:1.1.17-2.el5_2.2
  libxslt-devel.i386 0:1.1.17-2.el5_2.2 libxslt-devel.x86_64 0:1.1.17-2.el5_2.2

Dependency Installed:
  libgcrypt-devel.x86_64 0:1.4.4-5.el5     libgpg-error-devel.x86_64 0:1.4-2

Complete!

$ sudo gem install cucumber cucumber-rails database_cleaner webrat

Successfully installed json-1.6.1
Successfully installed gherkin-2.5.1
Successfully installed term-ansicolor-1.0.6
Successfully installed builder-3.0.0
Successfully installed diff-lcs-1.1.3
Successfully installed cucumber-1.1.0
Successfully installed gherkin-2.4.21
Successfully installed cucumber-1.0.6
Successfully installed nokogiri-1.5.0
Successfully installed mime-types-1.16
Successfully installed json_pure-1.6.1
Successfully installed rubyzip-0.9.4
Successfully installed ffi-1.0.9
Successfully installed childprocess-0.2.2
Successfully installed selenium-webdriver-2.7.0
Successfully installed rack-test-0.6.1
Successfully installed xpath-0.1.4
Successfully installed capybara-1.1.1
Successfully installed cucumber-rails-1.0.5
Successfully installed database_cleaner-0.6.7
Successfully installed webrat-0.7.3
21 gems installed

ここで以下のエラー発生。ただしどうやらドキュメント類が破損したような気配だったので放置。だがしかし、その後のgemも軒並みドキュメント類で「Could not find main page README.rdoc」というエラーが出たようなので、対処したほうがよかったのかも…。

ERROR:  While generating documentation for builder-3.0.0
... MESSAGE:   Unhandled special: Special: type=17, text=""
... RDOC args: --ri --op /usr/lib/ruby/gems/1.8/doc/builder-3.0.0/ri --title Builder -- Easy XML Building --main README.rdoc --line-numbers lib CHANGES Rakefile README README.rdoc TAGS doc/releases/builder-1.2.4.rdoc doc/releases/builder-2.0.0.rdoc doc/releases/builder-2.1.1.rdoc --title builder-3.0.0 Documentation --quiet

この時点で、「Invalid gemspec in [...]: invalid date format in specification: "2011-09-18 00:00:00.000000000Z"」というエラーが大量に出始めて非常にウザくなります。調べたところどうもgemspecの日付フォーマットが実動作にあっていないものがいくつかあるようです。仕様がDateTimeからDateに変わったか、その逆なのでしょうたぶん。

取り敢えず、一通り入れます。

$ sudo gem install rspec -v 1.3.0
Successfully installed rspec-1.3.0
1 gem installed

$ sudo gem install rspec-rails -v 1.3.2
Successfully installed rspec-rails-1.3.2
Successfully installed rspec-core-2.6.4
Successfully installed rspec-expectations-2.6.0
Successfully installed rspec-mocks-2.6.0
4 gems installed

$ sudo gem install radiant
Successfully installed will_paginate-2.3.16
Successfully installed RedCloth-4.2.8
Successfully installed radiant-0.9.1
3 gems installed

先のInvalid gemspec in …を回復させます。 gem list 等を実行するとエラーがどどっと出るので、それらのgemspecファイルを開き、s.dateに代入されている日付の文字列表現を修正します。具体的には後半の時刻部分を削除。

前:"2011-09-18 00:00:00.000000000Z" →後:"2011-09-18"

もう一度 gem list 等を実行してみて、エラーが無くなればOK…だと思います。今のところ障害は無し。

今回構築した環境では、Radiant CMS関連を実行する際にMutex (NameError)というエラーが出ます。これもたぶん標準ライブラリか何かの構成が変わった…用なのですが、対処療法としては require "thread" を追記してやることでエラーが解消します。

今回は、書き換えるファイルが最も少なくて済む方法を検討した結果として次の2ファイルに追記しました。どちらも先頭(RAILS_ROOT =の直後行)に追記しています。

  • /usr/lib/ruby/gems/1.8/gems/radiant-0.9.1/config/boot.rb
  • /usr/lib/ruby/gems/1.8/gems/radiant-0.9.1/lib/generators/instance/templates/instance_boot.rb

テストアプリを作ってみて、Radiant CMSとその開発環境(取り敢えずあたしはextensionを自作したい)が正常動作することを確認します。

$ radiant -d sqlite3 testapp
$ cd testapp
$ env RAILS_ENV=production rake db:bootstrap
$ script/server -e production

★http://<IPアドレス>:3000/にアクセス。
adminログインし、ページ作ったりレイアウト作ったりしてみてDB書き込み含めて稼働することを確認。
$ script/generate extension test_ex
$ script/generate extension_model test_ex xxx
$ pushd vendor/extensions/test_ex/
$ rake spec
★app/models/xxx.rbをちょこっといじってみる
$ rake spec
★xxx.rbをいじった結果が反映されればOK。

$ pushd

| | コメント (1) | トラックバック (0)

Radiant CMS 0.9.1でextensionをgenerateしようとするとgitを要求された顛末。

コトはさくらのVPSにRadiant CMS環境を、開発環境込みで構築しようとして起こりましたさ。

まずRadiant CMSが動くところまでで四苦八苦し(ハックなだけに)。

なんとか動いたぜー次はexntesion開発環境だぜーと思い、おもむろに script/generate extension xxx としたとき、こんなエラーなぞ。

$ script/generate extension page_category
NOTE: SourceIndex.new(hash) is deprecated; From /usr/lib/ruby/gems/1.8/gems/radiant-0.9.1/vendor/rails/railties/lib/rails/vendor_gem_source_index.rb:100:in `new'.
git version   2>&1:sh: git: command not found

まー、この"NOTE: SourceIndex.new(hash) is deprecated"もなんとかしたいのですけどね…。

で、問題はgit様。まぁこの機会に使い方を覚えるぜ?とインストを試みたところ、

  • CentOSの標準yumではRPMが無い。
  • Git本家に行ってソースコードを落とそうとしたところ、ソースのtar.bz2に何度やっても日を改めてもアクセスできない。
  • しかし「gitがダウンロードできない」的なキーワードでGoogleっても何も出てこない。

今日ようやく適切なキーワードを見つけ、真実に行き当たることができましたさ。

曰く、kernel.orgがクラックされた→gitのソースコードはkernel.org配下にある→ミラーは…無いの?(汗)

で、git無しでRadiant CMSのextensionを開発するための回避方法。つまりgit入れない。

radiant-0.9.1/lib/generators/extension/extension_generator.rb を読んだところ、どうもgit.gemが無かったり、Gitの呼び出しに失敗したときはスルーするように実装してある様子。また、件のgit: command not foundエラーは、require "git"した時点で発生します。

なんでgit.gem入れちゃったんだろう…と思っていたのですが、どうもRadiantをインストールしているどこかの段階で要求されたjewelerが依存していたことが判明。で、jewelerとは何ぞや?と調べなおすと、ソウルジェムもといrubygemの作成支援ツールのご様子。まぁ当面は要らないでしょう。

ということでgem uninstall jeweler gitなう。

結果として、

  1. script/generate extension xxxは成功。
  2. rake spec:extensionも成功。
  3. vendor/extensions/xxx/に移動し、rake specももちろん成功。
  4. spec/models/にtest_spec.rbを作成、中に適当な出力命令を仕込んでrake specしたところ、ちゃんと仕込んだ出力命令が実行されて終了。

ここまで動いたので、たぶん一安心かと。

この後もう一度さくらのVPSを初期化、Rubyのインストールから始めてみて、トラブルなく環境構築までできれば運用フェイズに移行しても良いかな、的な。

だがしかし、よく考えると運用環境に開発環境まで持ち込むのは色々危険だぜ?という真実のコトバは割と早い段階から聞こえてはいたのだけど、そこは取り敢えずスルーいたしたく。

| | コメント (0) | トラックバック (0)

gitのソースがダウンロードできないなーと思っていたら。

kernel.orgがクラックされていたのね。そのニュース全然気づかなかったよ。最近、会社命令で情報から遠ざけられているからなぁ…さすがIT系大会社。ま、そもそもgithubがブロックされているしな。

てか、目的はgitを使うことではなく、Radiant CMSをセットアップしていたらgitが無いと怒りだしたご様子なので対処していたところなのですがね。

さぁて、どうしたものかな。

| | コメント (0) | トラックバック (0)

Eye-fiデータの受け皿。

色々と考えた結果、衝動的に解決を図るなど。

結論として、受け皿は自宅デスクトップにしましたよ。

  1. カメラからはWiMAXなり適当な無線LANなりで送り出す。
  2. 必要に応じて自宅PCをWakeOnLANでたたき起こす。なお、出先では自宅LinuxサーバにSSHログインしてそこからたたき起こす。
  3. 光ファイバーでさくさくと受信。
  4. さらに光ファイバーでSugarSyncにざくざくと保存。
  5. 出先でMacbook AirなりGALAXY TabなりをSugarSyncに繋いで画像なりほかの場所に再アップロードなりお好きにどうぞ的な。
  6. 用が済んだら自宅PCはコマンドラインのshutdown /sで黙らせる。

結局ですな。

Macbook AirもGALAXY Tabも中身がシリコンメディアなので、あんまり書き込みたくないという感覚があるです。もちろん、そのためにMacbook AirはSSDがAppleCare protection対象になっている(…よね?)ことをきっちり確認したわけですが。

あと、GALAXY TabについてはEye-fiがSDカードにデータ保存しないという説(あたし含む)と、いやいやEye-fiはSDカードにちゃんと保存するよという説がどーもかみ合わなくて謎だったのだけど、最近になってようやく、「世間一般にAndroidのSDカードマウントは/mnt/sdcard/、GALAXY TabとかSとかは/mnt/sdcard/extarnal_sd/」らしい、という事実に気づきましたさ。

つまり、GALAXY Tab側がおかしいのであって、これではEye-fiが対応することはないだろう、と(GALAXY Tabのファームアップデートするとこの辺変わるのかな…?)。

まー、この方法を取ると無線WANが使えないところだと写真をカメラ外に出せないのがアレですので、一応Macbook AirにもGALAXY TabにもEye-fiのソフトをインストールしてありますがね。

しかし、ここへ来て肝心のEye-fiカードが自宅PCでもMacbook Airでも認識しない、という壮絶な問題が発生しておるのですが(汗)

元々の母艦であるVAIO Zはなぜかちゃんと認識していて、カード側のファームもアップデートしたのですがね。

Windows 7の自宅PCはカードが熱くなるまで必死に読んだあげくに降参し、Macbook Airはフォーマットしようとする始末。

うぅーむ、データを全部取り出した後でフォーマットしないとダメかね…?(汗)

…。

ここまで書き上げて、文章を見直していて気付いた。

自宅LinuxサーバでEye-fiデータを受信させれば良いのではないかと!

調べてみると、どうも動くEye-fi サーバがある、というような情報が。そのものの記事ではないので、リンクはまだ張らないけど。

てか、LinuxでEye-fiデータ受信できるなら、それ自宅サーバに置く必要ないじゃん。VPSに立ち上げておけば良いぢゃん?

うぅむ、このあたりもっと調べるか…。

#2011.09.04 深夜に追記:

寝ようとして毒電波を受信。Mac miniをサーバとして導入すれば良いぢゃない、と(爆)

…いいのかなぁ、こんなオチで。

#2011.09.10追記

ふと思い立ってEye-fi付属の専用カードリーダーを持ち出してみたところ、新・母艦PCのデスクトップではあっさりと認識。

機材との相性が悪かったのか、はたまたその日の気分が悪かったのか…。まぁなんにしても解決としよう。

あと、Eye-fiって「オンラインサービス」として独自のFTPサーバが選択できるのね。自分のサイトに自作のギャラリーシステム作ってそこ転送…とかも面白そう。プログラマ的に。

| | コメント (0) | トラックバック (0)

IMAP4メールサーバをどうやって引っ越すか、それが問題だ。

ようやっとさくらのVPSを契約し、ココログと自サイトの引っ越しおよび統合を開始し始めたのですが、ここへきて一つ問題に思い当たる。いえダイナマイトなナースさんは関係なく(何)

あたしのメールはさくらのレンタルサーバ上にあるIMAP4サーバで管理しているのですが、当初のもくろみとしては当然このレンタルサーバも解約する予定なのですよ。全部VPSに乗っけるので。

すると、IMAP4サーバも移植しないといかんのですよ。てか、どうやって?(汗)

…。重要な物だけEvernoteに記録して、残りは全部PCにダウンロードして締めたほうが確実簡単かなぁ…。そして新しいメールサーバはどうしよう?ぬぐぐ。

| | コメント (1) | トラックバック (1)

こぁ i7 PCの電源を交換。

我が家最強を誇る小悪魔、 こぁ i7 920マシン。半年ほど前に電源を抜いたまま放置していたところをパワー重視系の開発機として使うべく、1TBのHDDも追加してDebianにて復活させたのですが…。

マザーボードのリチウム電池が切れていたので交換した後、どーも調子が悪かったのです。

具体的には、

  • エラー音連続発振で起動しない
  • 起動するけどOSが一通り立ち上がった直後フリーズ
  • ふと気付くとフリーズ
  • 画面上にsyslog書き込みに失敗した旨のメッセージを出しつつ操作不能(操作のたびにsyslogに書こうとするのでシャットダウンもできず)

等々。状況的にBIOS周りを疑い、実際CMOSクリアをするとしばらくは調子が良いのでBIOSが飛びかかっているかな…と思っていたのです。

で、そろそろメモリなど適合部品も手に入りにくくなってきたし、いっそCPUとM/Bとメモリを売り払ってしまおうと思っていたのですが…。最後に改めてGoogle様に聞いてみたところ、電源の劣化ではないかと言うことに気付きましたさ。

実際、HDDを取り払った状態での12V電圧が11.795Vといった具合にすこーし低いのです。他のは一応定格超過しているのですが。

という事で、売り払う前にまずは電源交換を。別の こぁ i5機も電源を強化したかったところなので、電源ユニットが無駄になることはないであろうと。

購入したのは Huntkey パソコン用ATX電源500W BK-5000

お値段そこそこ、12Vが4ライン化されているのが少し安心?(よくわからない)

80Plusへの適合はしていませんが、まぁ24時間連続フル稼働させるもんではない予定なので、当面あまり関係は無いかと。連続稼働させる気になったら再交換しても良いかも。

M/B側への供給ケーブルは、電源ユニット直付けなので、不要なラインがあっても外せません。まぁまとまりが良いので、それほど邪魔とは思いませんけどね。ケーブル帯も数本付いてきます。

従来搭載しているのも500Wなので、ここは変更なし。実は こぁ i7機に最近安いメモリを増設してしまい、12GBメモリ機などと言う意味不明な化物化も考えてはいるのですが…(12GBメモリだとたぶん500Wぢゃ足りない)。

ま、その場合はこの500Wを こぁ i5機に積むので良し、と。

本日交換して電源チェックしたところ、HDD繋いでも12Vは定格超過。代わりに5Vがすこーし下回っているけど…だ、大丈夫かな?(汗)

現状4時間ほど連続運転させていますが、特に障害は出ていない様子。まぁこれで様子見ですかねー。


しかし古い電源ユニットはどうしたものか…。それほどシビアな用途で使わなければ、まだまだ使える…かな?

参考までに、搭載した Core i7 920機の構成:

  • Core i7 920
  • メモリDDR3 10600 2GB×3 (6GB)
  • HDD 50GB ×1 (OS用)
  • HDD 1TB×1 (大量データ用)
  • Matrox Milleunium II 8MB (当初はGeForce積んでいたのですが、調子が悪い時に省電力狙いで交換、そのまま)
  • 光学ドライブなし

いたって普通というか、たぶんCPUの割にしょぼい構成だと思うので、あんまり参考にはならないかも。特にグラフィックボードのチョイスが(笑)

でも、このグラフィックボードでもDebian lenny + LXDE だとちゃんと使えるンよ?

元々SSHログインで使う予定だったので、ビデオは「とりあえずコンソールが映れば良い」程度という判断。

ちなみに、当面の主用途はお仕事で関係する技術の予備研究/検証用にJava開発に使いまする。Javaはメモリを喰うので、安いVPSだと足りんのです。

| | コメント (0) | トラックバック (0)

自宅Linux (Debian 5.0.6; lenny)にmaven2を入れる。

別に大したことはしてないけど、備忘的に。

Java VM自体はOpenJDK x64のbuild 1.6.0_0-b11を使用。

maven2は当初apt-getインストールしようとしたのだけど、時間がかかるのと依存パッケージにGNU Javaっぽいのが居たのが気になったので中止。最新版を直に導入することにします。

最新版はApache maven2の公式サイトからダウンロード。当初sourceコンパイルしようとしたのですが、コンパイルにはmaven2自身、もしくはantが必要となっており、今回素っぴんの状態からJava開発環境を導入している都合上両方共インストールされていなかったので、これも断念。バイナリを使用します。

とは言え、バイナリはtar.gzなりzipなりを解凍するだけでOK。個人用なので自分の環境に置いていてもいいのだけど、ここはきちんと配置することに決定。

置き場所は、javaコマンドの場所に近いところとして/usr/lib/に。バージョン番号付きで配置後、update-alternativeで/usr/binに導入。

# cd /usr/lib
# tar xfz apache-maven-3.0.2-bin.tar.gz
# update-alternatives --install /usr/bin/mvn mvn /usr/lib/apache-maven-3.0.2/bin/mvn 1 --slave /usr/bin/mvnDebug mvnDebug /usr/lib/apache-maven-3.0.2/bin/mvnDebug --slave /usr/bin/mvnyjp mvnyjp /usr/lib/apache-maven-3.0.2/bin/mvnyjp

確認。

$ ls /usr/bin/mvn*
/usr/bin/mvn  /usr/bin/mvnDebug  /usr/bin/mvnyjp
$ /usr/sbin/update-alternatives --display mvn
mvn -状態は auto。
 リンクは現在 /usr/lib/apache-maven-3.0.2/bin/mvn を指しています
/usr/lib/apache-maven-3.0.2/bin/mvn - 優先度 1
 スレーブ mvnyjp: /usr/lib/apache-maven-3.0.2/bin/mvnyjp
 スレーブ mvnDebug: /usr/lib/apache-maven-3.0.2/bin/mvnDebug
現在の `最適' バージョンは /usr/lib/apache-maven-3.0.2/bin/mvn です。

JAVA_HOMEを.bashrcにセットした後、適当なディレクトリで

$ mvn archetype:create -DgroupId=test -DartifactId=TestBuild

で色々とダウンロードなぞ開始。mvnの気が済んだところでおもむろにTestBuildに入り、mvn compile。

無事終了したので、試しに実行。

$ java -cp target/classes/ test.App
Hello World!

ということで動作確認終了っと。

| | コメント (0) | トラックバック (0)

Serversman@VPS (debian) にJava開発環境を構築

検証用に。

しかし最近はServersManサーバとしても使うようになっているので、リセットボタンが手軽に押せなくなっています。そろそろもう一台契約するか、ファイルサーバかサンドボックスサーバのどちらかを、用途に合った別サービスに移すことを考えるべきかも。

オチ:

Javaを満足に動かすには今のエントリープランではメモリが貧弱らしい、ということに落ち着きましたとさ。次回は他社も含めたVPS検討。どっとはらい。

方針:

  • できるだけOSパッケージをそのまま使う。
  • あまりみょんな事はしない。
  • 当面の用途はSpringフレームワークとApache Winkの検証用。お仕事目的だけど、帰宅後に思いついたことがあったとき、試す環境が無いので。お仕事サーバは乗っけないよ。そもそもディスクが大幅に足らんし。

導入作業:

まずSun JDKを導入。以下のDebianパッケージ。

  • sun-java6-jdk
  • sun-java6-doc
  • sun-java6-javadb (当面不要だけどなんとなく)

依存関係補正後;

以下の特別パッケージがインストールされます:
  avahi-daemon dbus dbus-x11 gsfonts-x11 java-common libasound2 libavahi-common-data
  libavahi-common3 libavahi-core5 libdaemon0 libdbus-1-3 libnss-mdns libxtst6
  sun-java6-bin sun-java6-jre
提案パッケージ:
  avahi-autoipd equivs libasound2-plugins binfmt-support sun-java6-demo sun-java6-source
  sun-java6-plugin ia32-sun-java6-plugin sun-java6-fonts ttf-baekmuk ttf-unfonts
  ttf-unfonts-core ttf-kochi-gothic ttf-sazanami-gothic ttf-kochi-mincho
  ttf-sazanami-mincho ttf-arphic-uming
以下のパッケージが新たにインストールされます:
  avahi-daemon dbus dbus-x11 gsfonts-x11 java-common libasound2 libavahi-common-data
  libavahi-common3 libavahi-core5 libdaemon0 libdbus-1-3 libnss-mdns libxtst6
  sun-java6-bin sun-java6-doc sun-java6-javadb sun-java6-jdk sun-java6-jre
アップグレード: 0 個、新規インストール: 18 個、削除: 0 個、保留: 23 個。
67.6MB のアーカイブを取得する必要があります。
この操作後に追加で 198MB のディスク容量が消費されます。

…と思ったんだがなんぞjavadocは面倒なことを言い出したので中止した。

ということで入りましたよ。

$ java -version
java version "1.6.0_22"
Java(TM) SE Runtime Environment (build 1.6.0_22-b04)
Java HotSpot(TM) Client VM (build 17.1-b03, mixed mode)
$ javac -version
javac 1.6.0_22

Tomcatの導入。以下のDebianパッケージ。

  • tomcat5.5

依存関係補正後;

以下の特別パッケージがインストールされます:
  ant ant-gcj ant-optional ant-optional-gcj gcj-4.3-base jsvc libbcel-java
  libcommons-beanutils-java libcommons-collections-java libcommons-collections3-java
  libcommons-daemon-java libcommons-dbcp-java libcommons-digester-java
  libcommons-el-java libcommons-launcher-java libcommons-logging-java
  libcommons-modeler-java libcommons-pool-java libecj-java libecj-java-gcj libgcj-bc
  libgcj-common libgcj9-0 libgcj9-0-awt libgcj9-jar libjaxp1.3-java libjaxp1.3-java-gcj
  liblog4j1.2-java liblog4j1.2-java-gcj libmx4j-java libregexp-java libservlet2.3-java
  libservlet2.4-java libtomcat5.5-java libxerces2-java libxerces2-java-gcj
提案パッケージ:
  ant-doc libbsf-java liboro-java libxalan2-java junit jython antlr libjdepend-java
  libgnumail-java libxml-commons-resolver1.1-java libcommons-net-java libjsch-java
  javacc libbcel-java-doc libcommons-beanutils-java-doc libcommons-collections3-java-doc
  libavalon-framework-java liblogkit-java classpath-doc ecj libgcj9-dbg
  libservlet2.4-java-gcj libxerces2-java-doc libapache2-mod-jk tomcat5.5-webapps
  tomcat5.5-admin
以下のパッケージが新たにインストールされます:
  ant ant-gcj ant-optional ant-optional-gcj gcj-4.3-base jsvc libbcel-java
  libcommons-beanutils-java libcommons-collections-java libcommons-collections3-java
  libcommons-daemon-java libcommons-dbcp-java libcommons-digester-java
  libcommons-el-java libcommons-launcher-java libcommons-logging-java
  libcommons-modeler-java libcommons-pool-java libecj-java libecj-java-gcj libgcj-bc
  libgcj-common libgcj9-0 libgcj9-0-awt libgcj9-jar libjaxp1.3-java libjaxp1.3-java-gcj
  liblog4j1.2-java liblog4j1.2-java-gcj libmx4j-java libregexp-java libservlet2.3-java
  libservlet2.4-java libtomcat5.5-java libxerces2-java libxerces2-java-gcj tomcat5.5
アップグレード: 0 個、新規インストール: 37 個、削除: 0 個、保留: 23 個。
1 個のパッケージが完全にインストールまたは削除されていません。
38.5MB のアーカイブを取得する必要があります。
この操作後に追加で 93.9MB のディスク容量が消費されます。

またもsun-java6-docが入ろうとした。

maven2の導入。以下のDebianパッケージ。

  • maven2

依存関係補正後。

以下の特別パッケージがインストールされます:
  antlr libantlr-java libantlr-java-gcj libclassworlds-java libcommons-cli-java
  libcommons-codec-java libcommons-httpclient-java libcommons-lang-java
  libcommons-net-java libcommons-openpgp-java libdoxia-java libganymed-ssh2-java
  libjdom0-java libjsch-java libjtidy-java liblogkit-java liboro-java
  libplexus-classworlds-java libplexus-component-api-java
  libplexus-container-default-java libplexus-interactivity-api-java libplexus-utils-java
  libplexus-velocity-java libslide-webdavclient-java libwagon-java libwerken.xpath-java
  libxalan2-java libxalan2-java-gcj velocity
提案パッケージ:
  libclassworlds-java-doc libcommons-httpclient-java-doc libcommons-openpgp-java-doc
  libdoxia-java-doc libjtidy-java-doc libgnumail-java libplexus-classworlds-java-doc
  libplexus-component-api-java-doc libplexus-container-default-java-doc
  libplexus-interactivity-api-java-doc libplexus-utils-java-doc
  libplexus-velocity-java-doc libwagon-java-doc libxalan2-java-doc libbsf-java
  libxsltc-java velocity-doc
以下のパッケージが新たにインストールされます:
  antlr libantlr-java libantlr-java-gcj libclassworlds-java libcommons-cli-java
  libcommons-codec-java libcommons-httpclient-java libcommons-lang-java
  libcommons-net-java libcommons-openpgp-java libdoxia-java libganymed-ssh2-java
  libjdom0-java libjsch-java libjtidy-java liblogkit-java liboro-java
  libplexus-classworlds-java libplexus-component-api-java
  libplexus-container-default-java libplexus-interactivity-api-java libplexus-utils-java
  libplexus-velocity-java libslide-webdavclient-java libwagon-java libwerken.xpath-java
  libxalan2-java libxalan2-java-gcj maven2 velocity
アップグレード: 0 個、新規インストール: 30 個、削除: 0 個、保留: 23 個。
1 個のパッケージが完全にインストールまたは削除されていません。
12.9MB のアーカイブを取得する必要があります。
この操作後に追加で 41.3MB のディスク容量が消費されます。

JAVAHOMEをセットしないとmaven2は動かない。javaコマンド自体は/usr/bin/にあるけど、こいつはalternativesで管理されているのでJAVA_HOMEは別の場所。

$ /usr/sbin/update-alternatives --list java

/usr/lib/jvm/java-6-sun/jre/bin/java

$ export JAVA_HOME="/usr/lib/jvm/java-6-sun/"

あとでちゃんと.bashrcとかも変えよう。

…mvn --versionですら、heapが足らんと文句を言うので、

export MAVEN_OPTS=-Xmx64m

も追加実行したところ動くように。よく見るとjavaでも同じ現象。ServersMan@VPSのEntryプランだと、Javaはきついか?

その後、createを走らせようとしたところで致命的な自体に。-Xmxを100mまで変えてみたところ、指定値が確保できるメモリ量より大きくなりすぎて失敗するか、Maven2のほうが指定値より多くのメモリを要求して失敗するかの2パターンに収束。ダメっぽいデス。

OS的には、150MB程度まではメモリ残っていたようではあるのですが…。

Entryプランだと保障256MB、最大512MBなので、タイミングを選べばもう少し動く可能性はあり。ただ、Javaは元々メモリ喰いなので、「運が良ければ512MB環境になって動く」ではNG。となると、最低限次レベルのStandard、保障512MBの世界が必要…。

この価格帯になると他社のVPSサービスも視野に入ってくるので、一度全体的な調査・検討が必要なようです。

| | コメント (0) | トラックバック (0)

kernel 2.6.35.5をdebian (lenny)にコンパイルして導入。

目的:

VAIO Z (VPCZ12AGJ) にdebian (lenny)をインストールしようとしたところ、有線LANが認識せず。Googleをさまよった結論としてここはe1000eドライバをあてがう必要があり、これはkernel 2.6.31以降でサポートされ、lennyはkernel 2.6.26である、ということに。

kernel 2.6.31自体はdebianでコンパイル使用できる実績があるようなので、自力コンパイルに挑戦してみる。

選択したカーネルは2.6.35.5。http://www.kernel.org/で公開されていたstable最新版。これで問題が出るようなら、順次古いものに切り替えていく予定。

資料:

概ね前者。「公式の」やりかたとして後者を確認しつつ読んでいたけど、別にみょんなこと(失礼な…)はしていないみたいなので前者にそのまま従うことに。

  1. Yet Another Diary; Debian Lennyでのカーネルコンパイル
  2. Debian リファレンス; 9.7. カーネル

環境構築:

取り敢えず基本的なものと、資料に記載されているものを一通り。

fakerootってなんぞ?とか思ったけど、rootっぽいことができる環境を用意してくれるようね。しかし前者の資料に従った結果全部sudoしてしまったので、結局使わないのであった。どっとはらい。

  • g++
  • kernel-package
  • bzip2
  • build-essential (どーもこれにg++入っているっぽい…)
  • libncurses5-dev (つい出来心でmake menuconfigを起動してみたら要求された)
  • fakeroot

あとは国内法に則って粛々とコンパイルを進めまする。途中で釈放なんてしないモン!

コンパイル中の調整:

以下のエラーが発生。grep対象のinclude/linux/compile.hは存在せず、近いものはcompiler.h。しかしこの中には"LINUX_COMPILER”なる文字列は存在しない。

compiler.hに対してこのgrepを実行しても、出てくるのはヘッダファイルの読み込みチェックに使用する"#ifndef __LINUX_COMPILER_H"周辺なので、どうも目的にあっていない気がする。

uname -a >> debian/buildinfo
echo using the compiler: >> debian/buildinfo
grep LINUX_COMPILER include/linux/compile.h | \
           sed -e 's/.*LINUX_COMPILER "//' -e 's/"$//' >> debian/buildinfo
grep: include/linux/compile.h: そのようなファイルやディレクトリはありません
echo applied kernel patches: >> debian/buildinfo

資料1のほうを確認すると、同じエラーは出ていないものの、"compile.h"に関する記載が見つかる。include/generated/compile.hというものがあるらしい。こちらのファイルを確認したところ、LINUX_COMPLIERとしてコンパイラ名に関する文字列が定義されていたので、たぶんこっちが正解と判断。

ビルド環境下でgrep -R "compile.h" * として、修正対象を探す。debian/ruleset/targets/common.mkが該当するらしいので、これを修正。

make-kpkg cleanは省略して再度コンパイル。

ここは通った後、資料1にあった問題が発生したので記述どおりに対応、再々度コンパイルして完走。

あとは、出来上がったパッケージをインストール、再起動、e1000eドライバを使用するように設定したところ、無事ネットワークに接続しましたとさ。

次は無線LANとWiMAXだが…。なんかこいつらは既に認識しているっぽい気配なんだよな…。

| | コメント (0) | トラックバック (0)

DVRP-U8XLE2BUをThinkPad Edge 13で使う(Win/Boot/巫女ぐにょ)。

横浜ビックパソコン館が最終日なので物色。ノート幼DVDドライブのDVRP-U8XLE2BUが2,980円だったので保護。持ち歩きようというより、ある程度携帯性のある外付けドライブがほしかったさ。別に読み取り専用でもよかったさ。

とりあえずThinkPad Edge 13に繋いでみる。ACなしでのバスパワー+ノートもバッテリーモードにて。…問題なく使えるようです。…焼き入れは試していませんが。

おもむろに、巫女ぐにょ3.5のライブDVDを挿入、再起動。…機動成功&linuxからもアクセスできる様子。

しかし、巫女ぐにょはThinkPadのバッテリーもBlueToothも認識するのだけど、電力効率の制御が甘い、もしくはDVDドライブが吸い取っているらしく、すごい勢いでバッテリーが消えていく。Windows使用で1時間くらい持つところ、30分持たない…(汗)

最終目標的にはThinkPadのHDD空き領域にlinuxを入れたかったのだけど、なんかこのバッテリー消費はヤバいのと、入れるなら巫女ぐにょ4.0だろー、と思って終了。

現在最新版ISOをデスクトップlinuxにて焼き焼き中。

ま、別に巫女でなくても良いんだけどさ?あたしの真紅のThinkPad、霊夢仕様にしちゃったので(えぇ仕事用ですが何か?)、ここは巫女かなー、とか。

| | コメント (0) | トラックバック (0)

なんということでしょう。WILLCOMが終わっているではありませんか。

実はWILLCOM DDがWindows 7 x64に対応していない罠。

参考:  QA番号003597 どの機種のドライバソフトがWindows 7に対応していますか?

これによると、DDはWIn7には対応するものの、32bitのみらしい。ほかの対応機種を入手するしかないのか…。HYBRID W-ZERO3が契約できればベストだけど、どーもWILLCOM、増産する気がないらしいしなぁ…。

中古購入は契約できないらしいけど、中古で本体だけ手に入れて、通信契約は通常のPRINで…、なら可能なのかしら?

てなことで、当面はEMチャージに頼るしかないのか…。

あとは、Virtual XPとかだが…?

| | コメント (0) | トラックバック (0)

ThinkPad Edge 13の続き#1

リカバリディスクはやっぱり普通の一般的で常識的に良識に基づいた「工場出荷状態に戻す」やつで合っているようです。Windows Updateも全部消えたので。

リカバリ後、Windows Updateを一通り入れて、そのあとはHDDのパーティション切りなおし。Windows 7は、OS自前でパーティションサイズ変更ができるのを忘れていましたさ。

  • C:50GB (残容量30GBくらい)
  • D:100GB
  • Q:(リカバリ領域)
  • 未使用:150GBくらい

…Linuxでも入れてみようかな…と。

後は、不要ソフトのアンインストール大会。…しかし、やっぱりThinkPadオリジナル品はどこまで消したものかが悩ましい。様子見ながら使わないところを抉っていくか…。

| | コメント (0) | トラックバック (0)

ServersMan@VPSの環境構築#3。

rubyの状態を確認したところ、どうもビルド時点で色々とライブラリが足りていなかったことが判明。要るモノをチェックして、ビルドし直し(や、個別にビルドできるのは調べてわかったんだけど、面倒なので)。

rubyビルド環境のext/にあるモノを調べる。以下のスクリプトでライブラリを叩いてみて、LoadErrorになったら足りないぞ、ということで。

$ cat Setup |perl -ne 'next if $_ =~ /#option /;next if $_ =~ /#Win32API/;next if $_ =~ /^$/;$name = substr($_, 1);print $name."\n";system( "ruby -r $name" );'|grep LoadError

この時点でzlib-devel、openssl-develまでは入れていたので、足りないとわかったのは以下。各々内容を確認して、入れるかどうか決める。

  • curses
    …端末操作ライブラリらしい。面白そうだから入れる。yumで指定するときは、ncursesになるので注意。
  • dbm
  • gdbm
    …dbmかgdbmのどちらか片方あれば良さ気。gdbmを入れる。
  • readline
    …入れる。
  • tcltklib
  • tk
    この2つはGUI系なので、入れない。
  • あとWin系のが1つ混じってたけどそれは見なかった方向で。

yumで各々の実行ランタイム(?)の有無をチェック後、develをインストール。

Dependencies Resolved

==========================================================================================
Package                    Arch           Version                   Repository      Size
==========================================================================================
Installing:
gdbm-devel                 i386           1.8.0-26.2.1              base            36 k
ncurses-devel              i386           5.5-24.20060715           base           1.6 M
readline-devel             i386           5.1-3.el5                 base           146 k
Installing for dependencies:
libtermcap-devel           i386           2.0.8-46.1                base            56 k

Transaction Summary
==========================================================================================
Install      4 Package(s)
Update       0 Package(s)
Remove       0 Package(s)

で、rubyをもう一度configureしてmakeしてmake test。

そしてrubyのパッケージづくりとインストール。

$ sudo /usr/local/sbin/checkinstall --fstrans=no

なんか、ファイルコピーがみょんに時間かかるわね…。

念のため、できたRPMの内容をチェック。

$ rpm -qp --list /usr/src/redhat/RPMS/i386/ruby-1.8.7_p249-1.i386.rpm

大丈夫そうなので、インストール。

$ sudo rpm -ivh /usr/src/redhat/RPMS/i386/ruby-1.8.7_p249-1.i386.rpm

確認。
$ ruby -v
ruby 1.8.7 (2010-01-10 patchlevel 249) [i686-linux]
$ which ruby
/usr/bin/ruby

あと、省略するけどライブラリ類の有無も、必要分を調べたときと同じスクリプトでチェック。

よしよし。次はgemsを入れて、いよいよRuby on Railsの導入へ。

RubyForgeでRubyGemsの最新版を取得。

$ sudo ruby setup.rb
RubyGems installed the following executables:
        /usr/bin/gem

$ which gem
/usr/bin/gem
$ gem -v
1.3.6
$ gem list

*** LOCAL GEMS ***

で、Railsをいよいよ入れるですよ。

$ sudo gem install rails

Successfully installed rake-0.8.7
Successfully installed activesupport-2.3.5
Successfully installed activerecord-2.3.5
Successfully installed rack-1.0.1
Successfully installed actionpack-2.3.5
Successfully installed actionmailer-2.3.5
Successfully installed activeresource-2.3.5
Successfully installed rails-2.3.5
8 gems installed

$ rails -v
Rails 2.3.5

$ rails testapp
$ cd testapp/
$ script/server --port=2222
=> Booting WEBrick
=> Rails 2.3.5 application starting on http://0.0.0.0:2222
=> Call with -d to detach
=> Ctrl-C to shutdown server
[2010-04-20 23:57:02] INFO  WEBrick 1.3.1
[2010-04-20 23:57:02] INFO  ruby 1.8.7 (2010-01-10) [i686-linux]
[2010-04-20 23:57:02] INFO  WEBrick::HTTPServer#start: pid=9320 port=2222

動いた…かな?

http://183.181.170.141:2222/へアクセス。

画面は出たんだけど…"About your application’s environment"クリックしたら、sqlite3アダプタが入っていなくてエラーに。ま、これは仕方ないやね。

調べてみるとそもそもyumでsqlite-develが入っていないと言うオチがつき、面倒なので一応終わったことにする。

あ、21日の2:00からメンテやるみたい。一応screenは落としておこう。

| | コメント (0) | トラックバック (0)

ServersMan@VPS の環境構築#2。

Rubyはまぁmake test通っているからいいだろう、という結論にしてみる。

一応checkinstallでRPM化しておこう。ということで1.6.2をコンパイル。

Checkinstall 1.6.2

すわっ!?makeに失敗。「msgfmtが無い」とか言ってるし。…gettextパッケージに入っているらしい。

出典:パッケージリビルド時に msgfmt: command not found というエラーがでる。

日付がやたら古いけど、まぁ定番アイテムってことだろう。

$ sudo yum install gettext

Dependencies Resolved

==========================================================================================
Package              Arch              Version                   Repository         Size
==========================================================================================
Installing:
gettext              i386              0.14.6-4.el5              base              1.4 M

Transaction Summary
==========================================================================================
Install      1 Package(s)
Update       0 Package(s)
Remove       0 Package(s)

Total download size: 1.4 M

Installed:
  gettext.i386 0:0.14.6-4.el5

Complete!

うむ、入れたさ。

$ make
$ sudo make install

で、まずは自分自身をRPM化する。…っと、rpmbuildが無いわ。

$ sudo yum install rpm-build

Dependencies Resolved

==========================================================================================
Package              Arch            Version                       Repository       Size
==========================================================================================
Installing:
rpm-build            i386            4.4.2.3-18.el5                base            301 k
Installing for dependencies:
patch                i386            2.5.4-29.2.3.el5              base             64 k

Transaction Summary
==========================================================================================
Install      2 Package(s)
Update       0 Package(s)
Remove       0 Package(s)

Total download size: 366 k

Installed:
  rpm-build.i386 0:4.4.2.3-18.el5

Dependency Installed:
  patch.i386 0:2.5.4-29.2.3.el5

Complete!

$ sudo /usr/local/sbin/checkinstall

/usr/src/redhat/RPMS/i386/checkinstall-1.6.2-1.i386.rpmができた。--force付きで上書きインストール、rpmが認識できるようにしてやりませぅ。

$ sudo rpm -i --force  /usr/src/redhat/RPMS/i386/checkinstall-1.6.2-1.i386.rpm

とりあえずここまで。

| | コメント (0) | トラックバック (0)

ServersMan@VPSの環境構築#1。

まずはscreen -Rしておこう。

そういえば、 sudo時のaudit_log_user_command(): Connection refusedについてはGoogleるとこんな記事が。

http://d.hatena.ne.jp/tullio/20080930/1222788803

見なかったことにする、もしくは最新のsudoを使うらしい。

sudo新しいのがyumで取れるみたい。
Installed Packages
Name       : sudo
Arch       : i386
Version    : 1.6.9p17
Release    : 5.el5

Available Packages
Name       : sudo
Arch       : i386
Version    : 1.6.9p17
Release    : 6.el5_4

なので更新。
$ sudo yum update sudo

Updated:
  sudo.i386 0:1.6.9p17-6.el5_4

Complete!

どれ、
$ sudo ls /root
audit_log_user_command(): Connection refused

ち、だめか。

さてもさてもコンパイラを。
Name       : gcc-c++
Arch       : i386
Version    : 4.1.2
Release    : 46.el5_4.2

$ sudo yum install gcc-c++

Installed:
  gcc-c++.i386 0:4.1.2-46.el5_4.2

Dependency Installed:
  cpp.i386 0:4.1.2-46.el5_4.2                    gcc.i386 0:4.1.2-46.el5_4.2
  glibc-devel.i386 0:2.5-42.el5_4.3              glibc-headers.i386 0:2.5-42.el5_4.3
  kernel-headers.i386 0:2.6.18-164.15.1.el5      libgomp.i386 0:4.4.0-6.el5
  libstdc++-devel.i386 0:4.1.2-46.el5_4.2

Complete!

入れた。次はRuby。

Rubyのソースを取得。1.9は職場でえらい目にあったので、学習して1.8最新版で。
ftp://ftp.ruby-lang.org/pub/ruby/1.8/ruby-1.8.7-p249.tar.bz2

rubyは/usr/local/が初期状態だけど、職場の環境(というかRHELの環境)に合わせて/usr/に入れる。
$ ./configure --prefix=/usr

まぁアレだ。並列コンパイルとかはやめておこうか。一応時間を計測。
$ time make

real    2m17.749s
user    0m51.361s
sys     0m3.532s

これも(むしろこれが)長いよね。
$ time make check

screen使っておけば切断してしまっても処理とかログとか残るので、こういう長い処理のときは有効やね。
てか、今WILLCOMで繋いでいるし! (In 横須賀線グリーン車<疲れたんだよ今日…)

1950 tests, 1343768 assertions, 2 failures, 52 errors
make: *** [test-all] Error 1

real    15m8.793s
user    5m50.252s
sys     0m9.370s

なんかエラー出てるけど、ざっと見ると

53) Error:
test_soapbodyparts(WSDL::SOAP::TestSOAPBodyParts):
Errno::EADDRINUSE: Address already in use - bind(2)

こんなのがいくつか出てるんで、たぶんhttpdが上がっている状態でport 80を奪い合った結果…かしら?
まぁそろそろいったん終了。

自宅にたどり着いたので、続きを。エラーの内容をちゃんと見る。

  1) Failure:
test_too_big_to_s(TestBignum) [./test/ruby/test_bignum.rb:103]:
<RangeError> exception expected but was
Class: <NoMemoryError>
Message: <"failed to allocate memory">
---Backtrace---
./test/ruby/test_bignum.rb:103:in `<<'
./test/ruby/test_bignum.rb:103:in `test_too_big_to_s'
./test/ruby/test_bignum.rb:103:in `test_too_big_to_s'
---------------


これはメモリ不足か。あきらめるしかないね。
あとは案の定、port 80関連。

Apache2を止める。
$ sudo /sbin/service httpd stop
Password:
audit_log_user_command(): Connection refused
Stopping httpd:                                            [  OK  ]


で、再びテスト。
$ time make check

test_soapbodyparts(WSDL::SOAP::TestSOAPBodyParts):
Errno::EADDRINUSE: Address already in use - bind(2)


エラー再び。Googleで回避策を漁る。

…!そうか、port 80はrootでないと確保できないか?

$sudo bash -c "time make check"

…改善しない。

仕方ないのでいったんrootに降りて、別の環境で.configureからやり直してみる。

今make check中だけど…エラー出てるな…。これで同じモノが出るようなら、もっときちんと状況確認すべきですな。ライブラリとか、足りてないかも知れないしね。

(や、素直にyum install rubyしろ、という噂も…)

…寝るか。明日から二人に分離しないといけないし!

…とか言っていたら、make check終わった。エラー変わらず。SOAPとか使うつもりないし、吐いているのWebrickだし、もうこのままで良いかなぁ…。

あー。エラーログ見直してみたら、なんかインストールする前から「/usr/bin/rubyが無ぇっ」とかやってるのね。
てか、READMEによるとrubyはmake testまで通れば良いんだったか…。make checkがあるとついそっちまで通したくなってしまうのだけど…。面倒だからこのままイクかー。

リモートゆえ、何かトラブった時のリカバリが面倒なので、危ない橋は渡りたくないんだけどなー<ならばyumで1.8.5を入れろよ

| | コメント (1) | トラックバック (0)

ServersMan@VPS開通デス。

うーん、やっぱり本格的にいじれるのは週末やね。

取敢えず

  • 初回ログイン
  • rootパスワード変更
  • 環境チェック
  • 作業用アカウント作成

…あたりまでやっておこう。

dfの結果:

# df
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/simfs            10485760    527652   9958108   6% /
none                    131072         4    131068   1% /dev

うーん、予想通り、HDD容量10GB=OS込で10GBですね。とはいってもこの時点で残り9.5GB余っているので、まぁそんなに困るモノではなさそうだけど。

ところでこれ、思いっきり単一パーティションなのですが、本格的運用サーバ用途で考えると問題出たりしないんでしょうかねぇ…?

yum listの結果:

…貼り付けるとえらいことになるので省略。しかしこれ、OpenOfficeとかFirefoxとか、X-Window関連も入っているような…。
インストール済みパッケージについては、ダイエットが必要かもしれませんな…。

「デスクトップ」とかで入れたのかなぁ…。

開発環境:

あー。しかし開発環境類は入っていない感じ。java、rubyのほか、C/C++コンパイラ系も見当たらず。まずはこの辺からか…。

unameの出力とかlib64/がないあたりとか、32bit版かこれは…。まぁ上位プランでもメモリそんなに多くないし、どうでもいい問題ではあるわね。

要調査:

作業用ユーザ作って、sudoerに指定してログインし直したのだけど、sudo実行すると出てくる以下のエラーは何?sudo自体は結局成功しているみたいだけど。

$ sudo ls /root
audit_log_user_command(): Connection refused

まぁこのあたりで寝るか。今しがたFirefoxも落ちた(むしろWin7が落ちた)ことだし。

| | コメント (0) | トラックバック (0)

ServersMan@VPSの開通予告が来ました。

…危なかったよ…。

メール振り分け設定の優先順位の都合から、アダルトサイトなDTIのほうに入っちゃってたよ…(笑)

もとい。
ServersMan@VPSから開通予告が届きました。

2010年4月14日(水) 13:00~

だそうデス。なんで時間まで指定しているんだろう…。まるで怪盗予告のようだ(笑)

ま、あたし平日は普通に仕事なので、接続できるのは夜…か、気が向いたときにモバイルで忍び込んでみる程度が関の山かと思いますがっ。

明後日なので、作業手順くらいは練っておいてもいいかもね…。

あと、残り2つのプランについても案内が。

※キャンペーンとして、現在、 最大3ヵ月無料を適用させていただいておりますが、7月末までのプラン変更であれば、最大3カ月無料を引き続き適用させていただきます

とのこと。

これで、当初申し込みを躊躇っていた「すぐ使ってみたいけど対象プランがまだ開始していなくて、しかも無料キャンペーンは1回限り」という悩みは解消です。

あー。となるとプラン変更時データの移行はどんなふうになるんだろ。

解約+契約なら普通データ消えるわね。仮想サーバ機器/OSの設定が同じなら、rsyncかなにかでガッ、と逝くのが楽そうではあるけどね。

ま、今は趣味でつついてみるだけなので、最初のEntryプランで好き放題いじり倒して、その記録を元に次のプランできっちり構築し直す、なんて行動計画でも良さ気だけど。

FAQに「Q.ディスクの容量変更はできますか?」「A.プラン変更をしてください。」とあるのを見ると、もしかするとプラン変更ではディスクとメモリの割り当てだけ設定変更して、環境はそのまま残る…という可能性もありそう?

あ、そういえばこのディスク容量、「OS込で10GB」なのか「OS除いて10GB」なのか、どっちだろうね。今ざっと見なおしたところでは、説明 が無いような気がするけど。後者はOSバージョンによって微妙な増減が面倒だろうから、やっぱり前者かなぁ。

だとすると、Entryプランの実空き容量って多くても7GBとか、そんなんだったり?ま、明後日にははっきりするので、今更問い合わせてみること もないけどね。

さてさて、まずは何からしてやりましょうかね。

仕事柄「弾幕はCPUパワー(違)」的にマシンをぶん回すことが多いので、そっち系のベンチマークも回してみたい気もするけど。まずはBLASTでもつっこんでみようか。

| | コメント (0) | トラックバック (0)

や、別にいいんだけどさ…。

Snapshot

「メディア掲載情報」としてカウントするなら、とりあえずサーバー割り振ってよ、とか思った。ちょっとだけ。

Googleの検索結果と比較すると、自動収集というわけでもないみたい。プロの広報+申し込んだ人…かなぁ…。

しかし割り当てが来るのは何時の事やら。

| | コメント (1) | トラックバック (0)

KURO-Z/NAS-KITが発売開始(?)になっていた。

楽天市場にて、 「取り寄せ」扱いでの販売が1店舗。

さてどうしようか。アイテムとしては面白気なんだけど、現実をみると予算を考えないとなぁ…。

てか、うちのBBルータのEthernet、口が余っていないという現実も考えないとだめか?(笑)

Amazonの取り扱いは無しか。

玄人志向、拡張カード型のNASキット「KURO-Z/NAS-KIT」 (PC Watch)

玄人志向は、拡張カード型のNASキット「KURO-Z/NAS- KIT」(クローゼットNASキット)を4月上旬に発売する。価格はオープンプライスで、店頭予想価格は4,800円前後の見込み。

| | コメント (0) | トラックバック (0)

ServersMan@VPSに申し込んでみました。

プランはEntryで。現在「2週間以内に提供」らしいです。

こーいうのに限って、「2週間のうちに残り2プランが開始した」か、「2週間は来ないだろうと思っていたら翌日開通してあたふた」の2択になったりするんですよね(笑)

| | コメント (0) | トラックバック (0)

BUFFALOのタッチレボリューションキーボード(Linux編)。

まー別に何の意外性も無く、普通に使えたわけですが。

起動時にUSB接続しっぱなしだと認識しないのは、キーボードのせいかPCの個性か、はたまたCentOSのインストールディスクの個性か。

インストール後の起動では特にトラブル出なかったので、深く追求しないことにしよう。うん、それがいい(笑)

マウスボタン、スクロールモード、センサー部の左クリック、全て問題なしの様子。どうせWindowsキーが左ボタンで殺されているので、ある意味非Windows機向きかもね。

確認したのはCentOS 5.4をネットワークインストールから。前述したとおり、起動直後USBを刺し直さないと認識しないトラブルあり。が、キーボードが悪いのかは不明。

| | コメント (0) | トラックバック (0)

NetWalkerガリガリ活用術。

うーん、モバイル機器としては、この手の本が出るのが遅かったねぇ>NetWalker

内容としては、ざっくり

  1. 概観の説明。
  2. 無線LANとかイー・モバイルとかBlueToothな接続の設定方法。
  3. 便利なLinuxアプリの紹介。消費メモリ量のチューニングなど。
  4. 電子辞書導入(EPWING形式)。
  5. リカバリMicroSDカードや本体カーネル周りの改造方法。デスクトップ環境入れ替えたり。
  6. Fedora導入。

といった感じ。3つめ辺りから雲行きが怪しくなり、最後の2つで一気にレベルが跳ね上がりますが、全体としても最後の2つに手を出しかねない人を向いて書いている節が。

ファイルシステムの解説とか、メモリやバッテリー消費を減らす方法とか、SSDの温存とか、「安くて小さいネットブック!」とか思って手を出した初心者(いるのか?)を救済する手段には役立ちません。むしろ混乱するか。

てか、初心者向けの本はのっけの13ページ目でCPUコアのブロック図なんて載せない(笑)

向いているのは、「なんかUbuntu積んだモバイル機があるらしいぞ」と手を出したLinuxを比較的常用しているあたり。むしろ廃人臭がしなくもないところ。

PCでのクロスコンパイル方法、クロスコンパイルしたモノを導入する方法とかもあるので、手を出そうとしている人は見ておいて損はないかも(いや、自分で調べれば良いんだけどさ…。面倒だし)。

本体も辞書モデルならAmazonお急ぎ便で明日には届くようなので、廃人の方はこの際揃えて連休を過ごせばいいのさね(笑)

てか、本体SSDがまさか基板直装とは思わなんだ。つまり劣化したら本体ごと買い替えってことかい!せいぜいメーカー送りだと思っていたのだけど。早いところSDカードベースの動作にするべきか…。

ところで、うちのNetWalkerはこの間ウィルコムモデム導入を試みたあたりから無線LANが効かなくなっているのですが、いったいどうしたものやら…(汗)

リカバリが面倒だなぁというか、本体SSD消耗したくないなぁ。

あ、いつの間にか液晶保護フィルムやらレザーケースが出ている。

| | コメント (0) | トラックバック (0)

誰が雄猫殺したの?

それは私。killしてむしろkill -9。kill -9って聞いてチルノだと思ったのはあたしだけか。そーなのかー。

むしろ一生死んでくれ(意味不明)

/etc/init.d/に起動・停止スクリプトが書いてありました。

chkconfigを見ると、ちゃんと妥当なrunlevelも設定してありました。

サーバの起動時には、ちゃぁんと起動していました。

まぁエライ。

でもね。

起動する相手が全く違っていたら、そんなの何にもならないんぢゃーーーーーーっ!

そもそも、Tomcatが複数インストールされているってところも既に言語道断なのだが。

起動するTomcatは間違えてるし、その間違えたTomcatには古いアプリがデプロイされたままだし、一緒に使うMySQLも起動相手を間違ってるし、そこにも古いデータベースが入ったままだし、挙句サブシステムはさらに別のTomcatで動いていて、そっちは自動起動すらしていないと!!

…コレ、あたしがメンテ担当ぢゃないんだけど…。

| | コメント (0) | トラックバック (0)

NetWalkerへWILLCOMモデムを設定…したかったんだが。

ダメだこれは、あたしにゃ無理だ。壊す前にやめておこう…。

  • debian(lenny)にRX420AL+DDを刺してdmesg確認したところ、pl2303ドライバで認識するらしい。
  • NetWalkerに刺してudevadm monitorすると、なんか汎用のusb_deviceになっちゃってるぽいよーな。
    ちなみに、このあたりの追いかけ方は、丁度都合よく昨日買ってきたSoftwareDesign 12月号で解説していた。
  • /lib/modules/2.6…/kernel/drivers/usb/serial/を覗きに行くと、lennyにはpl2303.koがあるけど、NetWalkerには無いと。つまりまずはこれが必要ってことかね?
  • ソースを探していたら、どこかのエライ人がバイナリを提供しているらしい、という話をみつけ、試してみる。
  • しかしInvalid module format。
  • よく見ると、カーネルバージョンが違うし。ていうかこれはどっちのカーネルが正しいんだ?
  • むしろやっぱりソースを探そう。てか、リポジトリで公開している?
  • しかし2.6.28.15.50araneo1。
  • 動いているカーネルは2.6.28-271-gec75a15。…合っていないの???
  • …止めておくか…。

利便性を考えると、pppconfigではなくてちゃんとNetworkManagerで切り替えできるところまで持っていきたいのですが―。

ま、あたしLinuxはハッカーとか管理者とか目指していないしっ!
…なぜかここ数カ月、root権ふりまわしてビルド&インストールを繰り返している気もするけど…仕事で…(汗)

| | コメント (0) | トラックバック (0)

NetWalkerとPCをUSBで素敵にデータ共有したかった。

NetWalkerは単なるLinux機なんだから
 ↓
Linuxなら自分自身をUSBゲストとして振る舞うドライバがあっても良いんでない?
 ↓
うーん、やっぱりハード側にコントローラが必要??
 ↓
てか、USB通信ケーブルで繋げば良いんでない?
 ↓
てか、それって両端にUSB-LAN繋いでクロスケーブルで繋げば済むんぢゃ…。
 ↓
てか、家庭内LANあるんだから素直にLAN接続しろや
 ↓
NetWalkerにsshdが入ってないわ…apt-get install sshだだだだ。
 ↓
Tera Termで繋いでも嬉しくないわね…。エクスプローラでさくっと表示したいわね…。
 ↓
sambaサーバも入れる…いやいやそんな色々入れていると容量が。てか、sambaサーバほど大仰なモノはいらんぞ?
 ↓
SSHプロトコルでエクスプローラみたいに使える奴はいないかのぉ…。
 ↓
WinSCPを使えってばさ?
 ↓
めでたく表示されました♪

…素直にWinSCPに気づけよあたし…。仕事では使っているぢゃんあたし…。

てか、SHARPはNetWalkerの素敵なクレードルを出してはくれないんだろうか。

縦に刺すとUSB HDDとして認識しますよー、とか<それどんなMURAMASA

縦置き拡張ボックスの横に縦刺しすると、素敵にツインタワーが完成♪とか<それどんな世界貿易センタービルX68000

| | コメント (0) | トラックバック (0)

バックアップ中…。

結局。

どうもディスク自体は比較的無事で、一度でも回転を落とすとそこでアウトになるらしいことが判明。

試しに繋いだLinuxマシンでddしてみたところ、順調に吸い出せているらしい…、が、そのマシンは元々小型優先の機体だったので、コピー先ディスクが不足して中断。

仕方がないので元凶だったWindows7マシンの空きディスクにCentOSを入れ、そこでddすることに…したのだけど。

手持ちのインストールDVDがどーしてもうまく動かず、1日費やす。

よくよく考えたら、CentOS 5.3だとギガビットEtherがうまく認識しない問題、あったじゃん>あたし

そこで最新のCentOS 5.4のインストールを試みるも、こっちはこっちでパーティションフォーマット後でフリーズ。何度やってもフリーズ。

なんでぢゃーっ!…って試しにFTPインストールからHTTPインストールに変えたら、あっさり済んだオチ。なんでぢゃーっ!!

で、Windows7が入っている、500GB中50GBしか使っていないHDDの、残り450GBをmkfs.ext3中。<今ここ

この後、

  1. トラブったHDDをUSB経由で繋いで、用意した領域にddでイメージファイル保存。
  2. 交換用のHDDを繋いで、イメージファイルからddで復元。容量が違うので、余りが出てしまうけど…。
  3. 450GB領域を再びWindowsでフォーマットして、交換用HDDに再現したディスク内容をコピー。ここまでくれば一安心か。

…1.の時点で、交換用HDDに直ddした方が早いか?

| | コメント (0) | トラックバック (0)

自宅Linuxマシン+NetWalker=X Window端末。

…をやりたいのですが、取り敢えずうまくいっていない状態。

てか、どのポイントが問題なんだかよくわからん。

NetWalkerのSSDをあまり書き変えたくないわけですよ。

メール受信とかやると、結構頻繁に書き換えそうでアレだなぁ、と思っているわけですよ。

思いついたわけですよ。

自宅サーバにリモート接続して、自宅サーバ上のThunderbirdをNetWalker側のXサーバに表示させればいいぢゃん?、と。

だってNetWalkerはLinuxなわけですし!
自宅サーバはHDDなので、書き換え回数を気にする必要もないですし!
これぞクラ優曇華って奴ですし?!(最後何か違う)

…なんだけどね?

とりあえず、自宅サーバはダイナミックDNSで接続できるようにしてありますさ。

NetWalkerのxhostsに、ダイナミックDNSのドメイン名を追加しましたさ。

なにより問題だったのは、毎回IPアドレスが変わってしまううえにドメイン名なんて持っているわけ無いイー・モバイル接続のNetwalkerを、どうやって-displayに指定すればいいのさ?、という点ですさ。まぁIPアドレスで渡したけど。

…うーん、xeyesが表示されない…。

…書き留めていて思いついた。ブロードバンドルータで、X Window用のポート開けないといけないのか?てか、何番だろ?

もしくは、sshポート転送で通過?

最大の問題は、自宅のPCがあるところは、イー・モバイルの圏外ということデスね(--;

あと、これがうまくいったら、応用として自宅サーバを踏み台にしてWindowsマシンをLAN Wakeupさせて妹デスクトップ、までやりたいですな!

NetWalkerはシンクライアントとして位置づけるのが一番良いんでないかと思う今日この頃。

NECはLUIサーバの仕様を公開して端末機器を安く売れば、SHARPに対抗できるんではないかと思う今日この頃。

| | コメント (0) | トラックバック (1)

NetWalkerはMicroSDブートできる…らしい?

NetWalkerどーしよーかなー、でもSSDだからいじっているうちにどんどん劣化するのが恐怖だなー、USBブートできないかなー、と思ってGoogle先生にお伺いをたてていたのです。

で、見つけた記事。

NetWalker PC-Z1触ってみた (CreativeStation::Blog)

…の、

SDからのboot可能(開発部の人談)
システム入ったSDカード入れて、両クリック状態で電源ON
Androidとか別ディストリとか色々やって下さいとのこと

この部分。

外部メディアブートできるなら、SSD劣化の心配はしなくても良いかも?
本末を転倒させても良いならば、MicroSDからブートしてMicroSDだけを使うように構築してしまえばいいし。


サンディスク/SanDisk製
マイクロSDHC16GB

…てか、そうすればディスク領域がもっと増える…かも?MicroSDHC、16GBくらい出ているもんねぇ?

たぶん、冷静に考えるとMicroSDHCより、SSDのほうが安くて速くて長寿命、という結論にたどり着く可能性が高いけど。

んんん、こいつはやっぱり苦労徒もとい玄人向き機材デスね。出荷状態では満足せず、自分で増強しなさいと、そういっているデスね?

そしてこの連休直前に急きょ先行販売なんてことをやったというのは、つまり連休中に遊びなさい、ホレ、と言っているデスね?

その調子で、SSDとか各種部品の交換サービスとか、部品販売とかやってくれると、かなり喰い付きが良さそうな気がしますよ??

設計図公開とかな!<やった…と聞いたのだが。

マンハッタンシェイプとかな!!<現物がもう無いがな!

別の場所でBlue Tooth認識できたっていう話も見かけたし(てか、ベースがLinuxなら自分でコンパイルすればなんでもできそうな…?)、Blue Toothアダプタなら小さいので、刺しておいてもそんなに邪魔でないだろうし、そうすればスマートフォンをルータとしてWANが使える、かな?かな?かな?

どうも「次」で色々とやる気があるみたいだけど、しかし「次」のためには「今」が売れないと続かないわけで、ここは手を出すべきなんだろうか??

他のメーカーがどう動くか、という点も気になるところだけど、じゃあ対抗馬はどこだ?、というと、「Zaurus」と言ったら「ClieでPalm」なSONY…か?さすがにこっちにまでは来そうにない気がするが…。

HTCはスマートフォンシリーズではほぼ独走だけど、なぜかPCタイプのシリーズは日本で見かけないよね。新しく出る携帯も、キーボード付きって無いし。

HP-200LXの後継機を本気で開発(つまり、あのサイズ、あの操作性を継承)すればヒューレット・パッカードが勝利できそうだけど、今の製品方向を考えるとまず無理。

こうして考えると、あんまり対抗馬になれそうな実力&方向性をもったところ、なさそうですねぇ…。

どうかなー。どうしようかなー。

ちなみにViliv S5はHDDリカバリのため、中身を入れ替えたりしていじるには少々抵抗があるのよね。

| | コメント (0) | トラックバック (0)

ThunderbirdベースのWebメーラってないかしらね。

かなり前から欲しくて、時々Google先生にお尋ねしていたりもするのですが。

  • 普段はThunderbird。特に乗り換える気もしない(現在は、Windows Mobile同期用にOutlookも併用してますが)。
  • SPAMがひどいので、SPAMフィルタ通していない状態でメールを見るのは現実的でない。
  • たまーにSPAM以外のメールがSPAMとしてフィルタされてしまうので、フィルタ設定を「判定したら削除」とはできない。
  • さくらインターネット標準のWebメーラはSPAMフィルタが付いているが、こいつで振り分けさせると、Thunderbirdとは別のディレクトリに入れてしまう。そこに入ったメールはThunderbirdで読めないので、整理が面倒。

ということで、いっそThuderbirdでメールを受信処理したものをWebメーラとして表示できれば、割と幸せなんでないかな?、と思うのです。

ThunderbirdってLinux用もあるわけで、稼働させるだけなら簡単なはず。
UI部分はXMLベースで定義していたような記憶があるので、割と簡単にHTML UIを作れるんでないかなー、と思っているわけですよ。

UIをThunderbirdと同じにできれば、使い勝手もよさそうだし。

何か、Webメーラが使うSPAMディレクトリと、Thunderbirdが使うSPAMディレクトを合わせることができれば、まぁそれでもいいんですけどねぇ。

Googleにしても、"Thunderbird"も"Webメーラ"もあまりにインターネットでの一般用語すぎて、どうにも的確な検索キーを指定できないのが難点だ…。

| | コメント (0) | トラックバック (0)

空気を読むのに1日、コーディングに10分。

Ruby on Railsは確かに便利な孫の手が数多く準備されているけど、その内部仕様理解に引っ掛かると、回復にめっさ手間取る。

今日は、has_belongs_to_manyで自動生成されるテーブルの名前が、あたしが作ったテーブル名と違うことに気付かず、1日のたうち回ってしまったとさ。

原因は、productsとprojectsの多対多関係を表現させるテーブル。

RonR的にはproducts_projects、あたし的にはprojects_products。

よくよく見ればアルファベット順に並べてあるだけで、あたしの命名も単に「そのときprojectsに注目していただけ」で特に理由もないのだけど。

問題は、エラーの原因がテーブル名にあることに気付けないエラーメッセージかと。
結局、エラー箇所だったSQLite3のアダプタにデバッグコード仕込んで、テーブル名を引きずり出して気付いたという…。
エラーメッセージにエラー原因を含めておいてよ…。

テーブル名を直して、10分コードを書けば、問題箇所はあっさり稼働状態に。
元々がテーブルレイアウトされてるアプリなので表示がめっさずれてるけど、まぁこんなのは後でもいいか。

| | コメント (0) | トラックバック (0)

屋外USBカメラの設置。

めじろライブ配信をすべく、USBカメラを使った屋外カメラを構築。といっても大したことはしていませんが…。

要件:

  • 屋外設置が必要。室内から超望遠、という手段もありだが、その場合窓が閉まらなくなる問題がっ
  • 動画記録したい。動体感知機能も欲しい。
  • 外部配信したい。せっかくなので。
  • Windowsマシンを24時間立ち上げておくのは不安なので、Linuxベースで一つ。

使用機材:

使用ソフト:

USBカメラ本体は、黒系、そこそこ高画質、小型、を基準に選定。Logitecの稼働型、とかも惹かれるのだけど、屋外設置だと可動部分が早々に破損しそうなので断念。

ピノーの小型PCは、前々からDebianを入れて家庭内サーバとしていたものを転用。Atom N330機とどっちにしようかと思ったけど、そこまでのマシンパワーは必要なかろう、と。

手順:

  1. USBカメラに加工。まず、足は外します。邪魔なので。
  2. 防水と隠蔽を兼ね、黒のビニールテープでぐるぐる巻きます。
    今回のカメラは比較的黒いのですが、ワンポイントに銀のラインが入っているので、ここを潰します。あと、動作確認LEDは単なる邪魔ものなので、これもきっちり巻きます。
    本当はレンズにもカバーをつけて防水したいのですが…。てきとうな材料がないので、まぁ木陰だしレンズ自体が中に引っ込んでいるから大丈夫かなー、ということでそのまま。
    プラ部品の継ぎ目、ケーブルの出口あたりは、念入りに巻いておく必要があるかと。
  3. USB延長ケーブルを、室内から室外に通します。室外側がメス端子(USBカメラをつなぐの)です。これには、エアコンのダクトを使用。適当にひっぱりだしていったん終了。
  4. USBカメラを設置します。屋外での現物合わせな作業なので、ノートPC必須です。LOOX Uを久しぶりに引っ張りだしました。
    ごそごそやり始めた時点でメジロは早々に逃げ出してしまったのですが、あんまり時間をかけていると戻ってこなくなりそうだったので、手早くやる必要があるかと。
    設置方法は、枝に引っ掛け、園芸用の緑の針金で固定し、さらにケーブルも手近な枝に固定して、ケーブルが風に揺られたとき、カメラがずれないようにします。
  5. カメラのUSBケーブルと、延長ケーブルを接続。そしてビニールテープでひたすら素巻きにして防水。カメラ本体よりも気を使わないといけないかもしれませぬ。
  6. 屋外側のケーブル長を調整…は、まだやってないや(汗)外側に、余ったケーブルがだらんと出てる…。
  7. 室内側は、まずWindows機に繋ぎ、動作チェック。
  8. 次いで、Linux機に接続。
  9. fwebcamは、まぁコンパイルしてインストールすれば使えたので、適当に。

さて、一番の懸念は、台風でケーブルが共振しないかと、防水加工がどこまで通用するか、ですな…。とりあえず、今週中ごろの大雨は、問題なかったようですが。

| | コメント (0) | トラックバック (0)

メジロが巣を作りました。

はい、ゾンビの正体はこれです>謎<

庭の紅葉の中に、先々週ごろからメジロが巣作りを始めています。現在は巣が完成したらしく、割と中にいることが多いようです。

Dsc_0131 Dsc_0132 これは、先週撮った巣作り段階の様子。
室内の窓からNikon D60+TAMRONの100-300mmレンズにて撮影。

なんてゆーか、カーテン閉めてちょっとだけレンズ出して望遠で、という、完全な盗撮セッティングで撮影していたので、レンズの先に民家がなくてよかった…という状況な(笑)

しかし、手前の枝が邪魔、というのもあるけど、300mmではこれが限界のようで。野生動物を撮るなら、もっと長いレンズを買え、ということですかねー。

20090620143101 20090620062201

で、現在。

先週の日曜日に急いでUSBカメラを設置して、今日からようやっとライブ配信できる状態に。

左が朝6時半、右が現在。左のほうはカメラのほうに顔が向いている状態なのですが、右のようにしっぽしか見えていない写真ばっかりが…(汗)

もう少し右を撮れるようにしたいのですが、設置した枝の位置関係の問題と、なによりもそろそろ卵を産み始めているのでは?という懸念から、すでに手を出せない状態…。

ていうか、昨日、夜だったら寝てるだろう、と思ってそっと作業を始めたところ、びびって逃げ出してしまい…。これはいかん、と。

ライブ配信は、今日の昼になって辛うじて公開できた、という状態なので、もちょっと最適化してからURLを展開しようかと思っていまする。

てか、緊急設置だったので部屋の中をUSBとLANケーブルが這いまわっている状態(汗)

最低1回は、サーバ止めないとだめだなこりゃ…。

| | コメント (0) | トラックバック (0)

だめだこりゃ。

起動はするが、起動途中でグラフィカルモードに切り替わった途端、緑の縦線で画面が覆いつくされる。Matrixデスか?

辛抱して起動させてみるも、run levelが5のままなので、ログイン画面もやっぱり緑の縦線に。

起動時にGrubの設定を編集、run levelを3で起動すると、ちゃんと起動できた。

が、ログイン後startxしてみると、やっぱり同じ症状。ディスプレイドライバが逝かれたな、これは。

うーん、X-Windowの設定をやり直すか、試しにクリーンインストールしてみるか(そしてその時に今度こそWindows 7用領域を切るか)。どうしたものやら。

| | コメント (0) | トラックバック (0)

CentOS5.3のアップデートインストールをCore i7機に。

「Linux軽量化」の記事が気になって日経Linuxを買ったら、いつのまにかCentOSの5.3がリリースされていることに(雑誌に付いてきていることに)気づいたので、家のメインマシンに入れたものの、何故かいつの間にか起動不能になっていたCentOS 5.2をなんとかする気になった(軽量化の話はどうした)。

で、5.2のときはブートCD+内蔵DVDドライブで起動に失敗したり、ギガビットイーサの認識に失敗してネットワークが使用不能になったりと要らん苦労が多い組み合わせだったので、さすがに今回のバージョンアップではすっきり解決しているだろうと思ったのですが…。甘かったらしい?

インストールは、前回と同じくx86-64。雑誌付録はどうせ32bit版だろうと思ったので、ネットからDVDイメージをダウンロード。いちおう、フルセットとnetinstを。

フルセットは焼くのに時間がかかりそうで嫌だったので、netinstをDVDに焼き付け。ちなみに、この時は

  1. Windowsでダウンロード。
  2. Windows用のトーストソフトが無かったので、おもむろにVirtual Boxでdebianを起動。
  3. 仮想debianから、smbmountでWindowsディスクをマウント。
    $ sudo mount -t smbfs -o username=xxx,password=xxx //windows/share /mnt/share
  4. 仮想debianから、物理DVDドライブに入れたDVD-Rに焼き付け。X-Windowで、右クリック一発。8GBなので、まぁ数分でこんがりと。

…という、見事に挙動不審な行動をとってみたり。

そして、おもむろにWindowsを終了し、焼いたDVD-Rで起動!ネットワークメディアの選択で、FTPを選択!えぇっ?!URLなんて覚えてないよっ?!<リストが出てくるdebianと間違えていたオチ

とりあえず、予備機のAtom+CentOS機を起動、ネットで確認、転記。待つこと数分…。ふと気づくと、そこには一面のモザイクがっ(爆)

ウンともスンとも言わないので、とりあえずESC+CTRL+ALT+BackSpaceしてみる。…なんかキーが余計な気もするけど、まぁいいか。

案の定、X-Windowの起動に失敗したようなのだけど…。特にエラーメッセージが出ていないので、なんか原因不明。

トライ2。失敗した原因がネットワーク障害にある可能性があったので、netinstから本体を取ってくる場所を、インターネットからLANに切り替えてみる。

フルセットのISOイメージは、家庭内サーバとして起動していたdebian機で落としていたので、ここでHTTP公開することに。

ちなみに、この機体は光学ドライブを積んでいないので、さっきのDVD焼きには使えなかったのですな。そしてこいつから他のトースト可能マシンに転送する時間が鬱陶しかったので、焼き付けはしない方向で。

  1. 適当にディレクトリを掘る。
    $ sudo mkdir -p /var/www/Linux/centos/5.3
  2. ISOイメージをマウント。
    $ sudo mount -t iso9660 -o loop ~/share/CentOS-5.3-x86_64-bin-DVD.iso /var/www/Linux/centos/5.3
  3. HTTP経由で参照できることを確認。
  4. 確認したURLをインストーラに指定。

で、めでたく失敗(おぃ

トライ3。いい加減グラフィックインストールはあきらめ、テキストモード発動。DVD起動直後、linux textでGo!

…途中、VNCモードに気をとられて試すも、やはり失敗。うーん、どうもグラフィックインストールは絶望的か?ビデオカードが悪いのか?

トライ4で完全テキストインストール(英語)。途中、「既存のCentOSをアップグレードするか?」と聞かれたので、さっくりアップデートしてもらうことに。

そして今、インストール待ち。30分経過で、94%完了。無事に起動すると良いのだけどねぇ…。

…あ。
今回のインストール時に、Windows 7RC用の領域を切り直せば良かった!<馬鹿

そうこうしているうちに、インストールは終わったらしい…が、ゲージが100%になったのに画面が進まないって言うのは…。失敗?(汗)

#ぬわ。タイトルが「5.3]ではなくて「3.5」になってた…(汗)

| | コメント (0) | トラックバック (1)