2008年06月24日

アカウントの利用統計が知りたい

昨今の携帯電話では、LinuxやSymbianのような汎用OSが普通に使われるようになってきているし、ユーザがどのようなアプリケーションをどれくらい使う傾向があるのかをキャリアが把握することができれば、キャリアにとっていろいろメリットがあるわけです。もちろん端末メーカにもメリットありますよね。よく使われるアプリが快適に使えるようになれば、端末の魅力が向上して、他のメーカに対して差別化できますし。

よく使われるアプリは、もっと便利になるように改善したり、よく使われるアプリの出来が悪くて消費電力が多くなっているとしたら、チューニングしてできるだけ消費電力が下がるようにしたら、ユーザの利便性があがってどんどん使ってもらえるようになります。キャリアとしては、どんどんサービスを使ってもらえれば収入が増えるってもんです。(笑)

で、NOKIAのN810のようなPDAで、ユーザがどのアプリケーションをどれくらい実行しているか、といった利用状況を知りたいとします。そういった場合、どのようにしたら確実にログがとれる方法があるのでしょうか?

N810はLinuxを使っているので、Linuxの知見が役立つわけです。

そこで、探し当てたのが、acctというやつ。これをインストールすると、ユーザがどのアプリケーションをどれくらい使用したかが、もれなく記録されるんですね。どうしてこんなことが出来るのかというと、そもそも、Linuxカーネル自体にそういった機能があるからなんですね。

じゃ、Debianな環境で、どうすればいいのかというと、

apt-get acct

これだけです。acctが起動すると、それ以降、ユーザが起動したアプリケーションの記録がもれなく記録されるという、非常〜にありがたい仕組みだったりします。

acctってなんなのかというと、GNUのコマンドなんですね。acctは以下のURLからゲット可能です。

ftp://ftp.gnu.org/gnu/acct/

ってことで、いやぁ〜便利なことこの上ないですな。

posted by まいたうん at 19:57| ☔| Comment(0) | TrackBack(0) | LinkStation/玄箱 | このブログの読者になる | 更新情報をチェックする

2007年12月22日

HD-HGLANの冷却ファンから異音が。。。

昨晩、HD-HGLANの冷却ファンから突然、大きな異音を発生するようになってしまいました。これで2回目です。

HD-HGLAN、分解の図のエントリが2006/8/28にKUREのシリコングリースを塗布して事なきを得たのですが、今回も無事に直りました。寒さのせいか、シリコングリースの粘度が高くなっていて(ラード状)、ちょっと不安になりましたが、大丈夫だったようです。

次に冷却ファンがおかしくなったらさすがに寿命だろうなと、ビクビクしつつも、次に買うなら玄箱Proですかね。

ThinkPad T42のCPUファンといい、HD-HGLANの冷却ファンといい、メカニカル系はどうしても壊れやすいので本当は無くても使える方が安心なんですけどね。

posted by まいたうん at 12:41| 🌁| Comment(0) | TrackBack(0) | LinkStation/玄箱 | このブログの読者になる | 更新情報をチェックする

2007年09月22日

Plaggerをインストールしていると思わずわらけてくる。。。

今、PlaggerをHD-HGLAN上のDebian Woodyにインストールしているのです、あまりの難解、複雑さに思わずわらけてきます。足りないモジュールがてんこもり。

え〜い、足りないモジュールを片っ端からインストールしてやるぅ〜!!!

posted by まいたうん at 19:52| ☁| Comment(0) | TrackBack(0) | LinkStation/玄箱 | このブログの読者になる | 更新情報をチェックする

2007年09月20日

wgetをhttpsに対応させる

wgetをコンパイルするときに、デフォルトのまま./configureを実行するとsslに対応しないものができてしまうため、https//*で始まるURLからダウンロードできません。

 

そこで、

./configure --with-libssl-prefix=/usr/local/openssl

のように、sslのライブラリを見に行くようにconfigureのオプションを設定してコンパイルすればOKです。

posted by まいたうん at 14:43| ☁| Comment(0) | TrackBack(0) | LinkStation/玄箱 | このブログの読者になる | 更新情報をチェックする

2007年07月22日

lighttpd-1.4.15が起動しない

玄箱(KURO-BOX) Debian Woody環境で、lighttpd-1.4.15にバージョンアップしたところ、起動時にハングアップするのか正常に起動できません。

原因は、lighttpdに付属しているモジュールのmod_compressのようです。

具体的には、mod_compressが参照しているlibz.so(Zlib)が関係しているようです。

MySQL-5.0.24は自前でZlibを内蔵していますが、Zlib本家が配布しているZlibと同じバージョンのものでもコンパイル条件が違うのか、それともMySQLでソースにパッチをあてているのかわかりませんが、相性があるようです。

○MySQL内蔵のlibz.soを参照している場合

  • lighttpd(mod_compress組み込み) → 起動しない
  • mysql → 起動する

○Zlib本家が配布しているlibz.soを参照している場合(MySQL内蔵のlibz.soを参照してない場合)

  • lighttpd(mod_compress組み込み) → 起動する
  • mysql → 起動しない

まとめると、以下のとおり。

  • lighttpdはMySQL内蔵のlib.so(Zlib)は利用できない。
  • MySQLはMySQL内蔵のlib.zo(Zlib)のみ利用できる。

ということで対策です。

# /etc/ld.so.conf

#/usr/local/mysql-5.0.24/lib/mysql
/usr/local/lib
/usr/lib
/lib

/usr/local/lib配下にZlib本家のlibz.so(Zlib)がインストールされていて、/usr/local/mysql-5.0.24/lib/mysql配下にMySQL内蔵のlibz.so(Zlib)がインストールされている環境なら、上記のようにMySQL内蔵のlibz.so(Zlib)を参照しないようにライブラリパスから外します。これで、lighttpdが正常に起動できるようになります。

また、MySQLはライブラリパスを指定しなくても内蔵libz.so(Zlib)を参照するため、MySQLも正常に起動できます。

posted by まいたうん at 23:23| 🌁| Comment(0) | TrackBack(0) | LinkStation/玄箱 | このブログの読者になる | 更新情報をチェックする

2006年11月12日

PukiWikiを初めて活用してみた

PukiWikiの練習用に「プレステ3のまとめ(仮)」を作ってみたわけですが、非力なLinkStation HD-HGLANでも快適に動くことにびっくりです。

WordPressはかなり厳しいですが、PukiWikiはDBMSを使ってないからさくさく動くのかもしれません。APCもPHPに組み込んでいるので、そちらの効果が大きいのかもしれません。

posted by まいたうん at 00:43| ☔| Comment(0) | TrackBack(0) | LinkStation/玄箱 | このブログの読者になる | 更新情報をチェックする

2006年11月05日

KURO-BOX HGでSquidを使うのはやめた方がよいかも

KURO-BOX HGにSquidを入れて使っていたのですが、どうもブラウザでの表示が遅い。

おかしいとは思っていたのですが、速度を測ってみると恐ろしいことに、だいたい、4.7Mbpsくらいしか出ていません。KURO-BOX HGのSquidを切って、直接アクセスして速度を測ってみると、27Mbpsとか出ますね。凄い差です。

一応、Bフレッツなのでこれはあきらかにおかしい。どうやら、KURO-BOX HGのSquidがボトルネックになっていたようです。

ただでさえSquidの処理は重いので、KURO-BOX HGでSquid使うのはやめといた方が良いみたいですね。

posted by まいたうん at 14:30| ☔| Comment(0) | TrackBack(0) | LinkStation/玄箱 | このブログの読者になる | 更新情報をチェックする

2006年09月27日

KURO-BOXでUSBメモリをMySQLのデータストレージにする

最近は、情報流出の防止など、会社などでのUSBメモリやUSBハードディスクなどリムーバブルな記録メディアの使用、持込が厳しく制限されるようになってきました。

会社では、これまで経費で購入したUSBメモリ/USBハードディスクは原則、廃棄、要するにぶっ壊して捨ててしまうというかなり勿体ないことを強行してます。

1GBや512MBのUSBメモリを捨てちゃうなんてあまりにも勿体なさ過ぎると思いませんか?

なんとか有効利用できないかと考えていたところ、こんなことを考えつきました。USBメモリをMySQLのデータストレージにしてしまうのです。

USBメモリはフラッシュメモリなので、書き込みの繰り返し回数には限度がありますが、読み込み、書き込み速度はHDDよりも速いはずですし、どうせ捨ててしまうものなら徹底的に使いまくって壊れたら捨てちゃえばいいと考えればあきらめもつきます。

 

というわけで手順です。

まず、普通にUSBメモリをKURO-BOXでマウントできるようにします。

(問題と解決1)

USBメモリで一般的に使われているファイルシステムはvfat(FAT32)になるのですが、ここで問題が発生します。

玄箱うぉううぉう♪さんのDebian化キットでKURO-BOX化したHD-HGLANでは、ただ単にUSBメモリを刺しても使えません。

理由は、玄箱やLinkStationではvfatは動的モジュールとして構成されているのですが、HD-HGLANの最新ファームではカーネル2.4.20のため、2.4.17のモジュールは組み込めないのです。

HD-HGLANの最新のファームは、 v1.6.1で、含まれているカーネルは2.4.20ベースです。しかし、いろいろなところで配布されている2.4.17のモジュールのもので組み込めないのです。どうやら2.4.18以降、ドライバの仕様が若干変わってしまったようで、強制的に組み込むことができないんです。(2.4.18ではサポートしなくなったAPIがある模様)

また、2.4.20のモジュールのバイナリはググっても見つからず、途方に暮れてしまいましたが、BUFFALOが配布しているファームウェアアップデータから、2.4.20用のモジュールを吸い出します。

http://buffalo.jp/download/driver/hd/hd-hglan.html

ファームウェアアップデータを展開すると、image.datが出てきますがこれがrootイメージになります。これはzip形式で圧縮されていますがパスワードがかかっているため、「unzip image.dat」とググると海外のサイトでパスワードを発見することができます。

image.datから吸い出したモジュールをKURO-BOX化したHD-HGLANに持っていくとばっちり組み込めました。当たり前ですけど、相性ばっちりです。

 

(問題と解決2)

次に、MySQLのデータベースファイルをvfatでフォーマットされたUSBメモリにコピーして、mysqldを起動しようとするとエラーが出てしまいます。Linux版のmysqldはWindows版と違い、ファイルのパーミッションやロックなど細かく見ているようでvfatではどうやらダメそうです。そこで、USBメモリをext3フォーマットします。

Windowsでは、vfat(FAT32)以外ではフォーマットできませんが、Linuxだと出来てしまうんですね。

ext3ならジャーナルファイルシステムもありますので、突然の電源断やUSBメモリの書き換え寿命に伴う書き込みエラーなどが発生しても不測の事態に対応することができそうです。

また、ext3はUSBメモリの特性に特化しているわけではないので、一応念のために定期的にデータをHDDにバックアップをとるようにしておけば更に安心でしょう。

 

(結果)

USBメモリをMySQLのデータストレージとした場合、HDDの場合とどれくらい性能が違うのかちょっと期待していたのですが、WordPressの実行速度はそんなに変わらないようです。MySQLも重いけど、PHPのレンダリングも結構重いみたいです。

ということで、やっぱり、KURO-BOX非力すぎるんですかね?

posted by まいたうん at 23:39| ☔| Comment(0) | TrackBack(0) | LinkStation/玄箱 | このブログの読者になる | 更新情報をチェックする

2006年09月23日

KURO-BOXにsamba-3.0.23cをインストールしてみた

HD-HGLANことKURO-BOX本来の使い道である、NAS機能を実現するために、最新のsamba-3.0.23cをインストールしてみました。なんだかんだいって、所要時間が丸一日かかってしまいました。。。

 

samba-2.2.x系とsamba-3.0.x系では大きく違っているため、PS2Linuxでやっていた頃のノウハウがあまり生かせませんでした。特に、文字コードの扱い、セキュリティ機能が格段に進化(libiconvを使うようになった)しているため、一から勉強し直す必要がありました。

今回、以下のサイトの情報をかなり参考にさせて頂きました。

主に参考にしたのは(1)の方です。

(1)Samba 3.0の全貌 改訂版[前編]
 〜 Samba 3.0のインストールと国際化の現状 〜
http://www.atmarkit.co.jp/flinux/special/samba3b/samba01.html

(2)Samba 3.0の全貌
− 開発者自ら語る次世代Samba −
http://www.atmarkit.co.jp/flinux/special/samba3/samba3a.html

 

<libiconvのインストール手順>

マイクロソフトが定義する、ShiftJISやEUCは、libiconvが想定しているコード体系と微妙に違うらしいので、libiconvにパッチをあてて、Windowsが期待する文字コード変換が行えるようにします。sambaはこのパッチがあたったlibiconvをリンクすることによって、従来、いろいろsambaで起きていた文字コードの問題が解決されるようになるそうです。

(1)パッチをとってくる。

http://www2d.biglobe.ne.jp/~msyk/software/libiconv...

こちらのサイトからありがたくパッチを落とさせて頂きます。

今回は、最新のlibiconv-1.10-ja-1.patch.gzを使います。

(2)GNUのサイトから、libiconv-1.10.tar.gzをとってきます。

(3)パッチを当てて、configure,make,make installを実行します。/usr/localにパッチをあてたlibiconvをインストールします。

gtar xvfz libiconv-1.10.tar.gz

cd libiconv-1.10

zcat ../libiconv-1.10-ja-1.patch.gz | patch -p1

./configure --prefix=/usr/local

make

su(rootになります)

make install

 

<samba-3.0.23cのインストール手順>

(1)http://www.samba.org/から、最新のsamba-3.0.23cのソースを取得します。

適当なフォルダにアーカイブを展開して、samba-3.0.23c/source、フォルダに移動します。

(2)samba-3.0.23cをconfigureする。

参考情報の(1)では、sambaをドメイン環境やActiveDirectory環境で運用する方法を中心に解説があります。

あくまで家庭内なので、ドメインコントローラも必要ないし、ActiveDirectoryを使いたくてもsambaはActiveDirectoryに参加するだけしかできないし、Windows server 2003なんて個人ではあまりにも高価すぎて買えません。(本当は欲しいけど)

シンプルにtdbsamによる認証さえ出来れば、まず問題ないと思います。

ということで、以下の内容でconfigureを実行します。

./configure \
  --prefix=/usr/local/samba \
  --with-libiconv=/usr/local \
  --with-automount \
  --with-smbmount \
  --with-pam \
  --with-pam_smbpass \
  --with-syslog \
  --with-quotas \
  --with-utmp \
  --with-winbind \
  --with-smbwrapper

ポイントは、赤字の--with-libiconvのところです。

パッチをあてたlibiconvを見に行くように指定してあげます。パッチをあてたlibiconvを--prefix=/usr/localでconfigureした場合、sambaのconfigureでも--with-libiconv=/usr/localと指定します。/usr/local/libではありません。/usr/local/libを指定すると、sambaがうまくパッチ済みのlibiconvとうまくリンクしてくれませんでした。

 

(3)samba-3.0.23cをビルドする。

無事にconfigureが実行できたら、makeします。

make(リターン)で、ビルド実行開始です。

samba-3.0.23cともなると、ビルドするのにとてつもなく時間がかかるので、途中、ブレイク入れるなり、食事するなり、お風呂入るなり、寝るなり、気長にコンパイルが終わるのを待ちましょう。KURO-BOXだとコンパイルが終わるのにとてつもなく時間がかかります。

(4)make installする。

これで、/usr/local/sambaのフォルダにsamba-3.0.23cがインストールされます。

(5)SWATを使用できるようにする。

/etc/inetd.confに以下の行を追加します。

SWATをinetd経由で起動できるようにするには、swatの行だけ追加すればOKです。

#:OTHER: Other services
#netbios-ns dgram udp wait root /usr/sbin/tcpd /usr/local/samba/sbin/nmbd -a
#netbios-ssn stream tcp nowait root /usr/sbin/tcpd /usr/local/samba/sbin/smbd
swat stream tcp nowait.400 root /usr/sbin/tcpd /usr/local/samba/sbin/swat swat

もし、inetd経由でsmbdも起動できるようにさせたいなら、smbdの行も追加し、コメントを外してください。

nmbdは、Windowsにsambaサーバを見せるためだけの情報サーバのようなものなので、これは常時起動が必要です。

inetdに以下のようなnmbdの行を追加すると、nmbdが使用するポート番号をnmbdのために予約してくれるんですかね。

nmbdだけは常時起動が必要なので、inetdは何も関与しないはずなんですけど。。。

(6)SWATにアクセスして、sambaの設定を行う。

SWATはデフォルトでは、WWWブラウザでポート番号901で接続できます。しかし、プロキシー経由では接続できないので、SWATにアクセスする場合は、プロキシーの例外に設定して、WWWブラウザからSWATに直接アクセスするように設定します。

このとき、sambaの設定ファイルであるsmb.confは存在しなくても大丈夫です。SWATが勝手に生成してくれますので。

(7)smb.confの設定例。

[global]
dos charset = CP932
unix charset = EUCJP-MS
display charset = CP932
workgroup = ”適当にワークグループ名を設定する”
server string = KURO-BOX Samba 3.0.23c
passdb backend = tdbsam:/usr/local/samba/private/secret.tdb smbpasswd
ldap ssl = no

[homes]
comment = Home Directories
read only = No
browseable = No

[share]
comment = share for internal only
path = ”適当なフォルダのパス名を設定する(例:/usr/local/share)”
read only = No

上記設定の簡単な解説。

  • sambaの文字コードの扱いの設定
    • dos charsetは、Windowsがどのような文字コードを使っているかを設定します。
      samba-3.0.xでは、sambaサーバ←→sambaクライアント(Windows, Mac OS Xなど)間の文字コードはすべてUnicodeでやりとりされるそうですが、今回はあえてCP932(ShiftJIS)を使うように設定してみました。
      ”UTF-8”の方がいいのかもしれませんが、今後、いろいろ試してみることにします。
    • unix charsetは、Linuxがどのような文字コードを使っているかを設定します。
      Debian Woodyでは恐らくUnicode化されていないため、EUCJP-MSで良いと思います。
      例えば、FTPクライアントである、FFFTPでもファイル名の文字コードの設定を変更できますので、相互運用は問題ないです。WebDAVとの相互運用(WebDAVだとUnicode)を考えると悩ましいですが。
    • display charsetは、SWATで表示される際の文字コードを設定するようです。
      ですが、いかんせん、この設定が有効に働いているかどうかがよくわかりませんでした。SWATは日本語化されているのですが、用意されている日本語用のページはすべてUTF-8で作られているようです。
  • sambaが参加するワークグループを設定します。
    • workgroup行で、PCと同じワークグループ名に設定してあげるとマイネットワークからPCと同じワークグループ名のところにsambaサーバが見えるようになって便利です。
  • sambaの認証方式を設定する。
    • passdb backend行で、tdbsamとsmbpasswdを併用して使えるように設定します。この設定では、記述順に優先順位が決定され、tdbsam → smbpasswdのように認証方式が選ばれます。
    • smbpasswdファイルにしろ、tdbsam認証方式で使用するファイルにせよ、デフォルトでは、/usr/local/samba/privateに保存されるようです。
  • ホームディレクトリを設定する。
    • Unixでは当たり前のユーザ毎にホームディレクトリを設定します。browseable = Noに設定することで、自分のホームディレクトリのみ表示されるようになります。それ以外見えてもあまりメリットないですし。
  • ホームディレクトリ以外を共有したい場合は、例えば、[share]のような設定を追加します。[share]は共有名なので、これが、Windowsクライアントには共有フォルダ名に見えるんですね。

(8)sambaにユーザを登録する。

SWAT上からでもユーザ登録ができるようですが、コマンドラインからユーザ登録をしてみることにします。

従来、ユーザ管理プログラムとしては、smbpasswdコマンドを使っていましたが、samba-3.0.xからはpdbeditというコマンドに変更されてようです。従来のsmbpasswdコマンドも使えるようですが、今後は、pdbeditコマンドを使った方が良いと思います。

pdbedit -a -u "ユーザ名"

(パスワードを2回聞いてくる)

これで、ユーザ登録完了です。pdbeditなら、smbpasswd認証方式であろうがtdbsam認証方式であろうが、透過的に処理してくれるので、こちらの方が便利だと思います。

ちなみに、pdbeditを使った際に、「iconvで文字コード変換がサポートされていない。。。」云々みたいなエラーメッセージが大量に表示されることがありますが考えられる原因はいくつかあります。

  • libiconvと正しくリンクされていない。
  • smb.confに変な文字コードが混ざっている。
    特に、dos charset, unix charset, display charset行に変な文字コードが混ざっていたり、設定が間違っているとこのエラーが出るようです。

ということで、上記のミスがないか確認して、正しく対処すれば問題は解決すると思います。

posted by まいたうん at 16:24| ☁| Comment(0) | TrackBack(0) | LinkStation/玄箱 | このブログの読者になる | 更新情報をチェックする

Debian Woodyのviで変な文字コードが混ざる問題

Debian Woodyに含まれるviは、nviというもので、以下のパッケージによって提供されています。

しかし、このnviは日本語に対応していないようで、デーモンの設定ファイル(sambaのsmb.confなど)を書き換える際に、WWWブラウザからコピー&ペーストすると変な文字コードが混ざってしまい、デーモンの起動が失敗してしまうことがあるようです。

ii nvi 1.79-20 4.4BSD re-implementation of vi.

同じようなことが数回起きたのでこれはいけないと思い、対策することにしました。

jvimをインストールし、デフォルトのvi(/usr/bin/vi)をjvimと置き換えます。

Debian Woodyの場合、簡単です。

/usr/bin/viは、/etc/alternative/viへのシンボリックリンクになっています。

ですので、/etc/alternativeのリンクをjvimに置き換えてあげればrootユーザのように/usr/local/binをpathに設定していない場合でも事故が起きるのを防ぐことができるようになります。

lrwxrwxrwx 1 root root 23 Sep 22 15:20 vi -> /usr/local/jvim/bin/vim
lrwxrwxrwx 1 root root 23 Sep 22 15:23 view -> /usr/local/jvim/bin/vim

EUCだのSJISだの、UTF-8だの、文字コード問題ってイヤらしいですよね。

posted by まいたうん at 15:12| ☁| Comment(0) | TrackBack(0) | LinkStation/玄箱 | このブログの読者になる | 更新情報をチェックする
×

この広告は1年以上新しい記事の投稿がないブログに表示されております。