Linuxの最近のブログ記事

ここ数ヶ月mediatombの謎のフリーズに悩まされ続けた。

フリーズと言っても、プロセス自体は動いているようだが、何故かPS3とか他のDLNAクライアントから接続出来ないと言った症状

mediatombを再起動すればPS3とかから見れるようになるのだが数日経つとまたフリーズ・・・

しかたないので、その場しのぎに見たいときにmediatombを再起動していた。

が、数日前192.168.0.25から謎のDOS攻撃があるのが発覚
(DOS攻撃と言っても実際はnetstatでCLOSE_WAIT状態が異常にあった)

192.168.0.25ってなんだろ?と思ってMACアドレスから調べたらSonyであることが解り、もしやと思いBRAVIA(KDL-46HX800)の設定を見てみるとビンゴ!

BRAVIA糞だな

LS-WVLのDebianなんだが、iptableを動かしてないし、どうしたものか・・・

とりあえずBRAVIAパッチを当てて、逆にBRAVIAから認識させることによって回避出来ないか検討中・・・

ソースコードの検索でmilkodeを検討していたんだけど、どうにもRubyやらRuby gemsやら、その他のバージョンがどうのこう言われるし、Windowsではエラーになって使い物にならないしで、結局OpenGrokを使う事にした。

OpenGrokで、サーバー上のfsfs形式のSubVersion管理ファイル群をインデックスしようと思ったけど、使い方が解らない(出来ない?)ので、一度チェックアウトしてからインデックス化する事にした。

結構、悩んだのでメモ
誰かの役に立てば幸いです。

P.S.
どなたかOpenGrokでfsfs形式のSubVersion管理ファイル群を読み込ませる方法ご存じでしたらコメントよろしくお願いします。

#!/bin/bash

# チェックアウト先
SVNCHECKOUTROOT=/path/to/checkout

# リポジトリ
SVNROOT=/path/to/svnroot # without leading "/"!

cd $SVNCHECKOUTROOT
# SubVersionから最新をチェックアウト
SVN_PSERV_REPOS=(`find $SVNROOT -mindepth 1 -maxdepth 1 -type d`)

# リポジトリの数
echo ${#SVN_PSERV_REPOS[@]}

# インデックスに @ を指定して、全ての要素を for 文の値リストに指定
    command="svn checkout file://$dirc"

    echo `$command`
done
echo ${#SVN_PSERV_REPOS[@]}

# インデックスに @ を指定して、全ての要素を for 文の値リストに指定
    command="svn checkout file://$dirc"

    echo `$command`
done
for dirc in ${SVN_PSERV_REPOS[@]}
do
    command="svn checkout file://$dirc"

    echo `$command`
done

INPUTFILE=./file.lst

# 文字コードをUTF-8に変換
#find $SVNCHECKOUTROOT -type f -exec nkf -w -Lu --overwrite {} \;
find $SVNCHECKOUTROOT -type f -print0 | xargs -0 file -i | /bin/grep -v binary | cut -d: -f1 > $INPUTFILE
cat $INPUTFILE | while read line
do
    command="nkf -w -Lu --overwrite $line"
    echo `$command`
done

# あとはインデックス化
海外からTEMPerってのを買ったんだけど、Linuxで動かしたくって検索しているうちにLinuxで温度測定と言うサイトに出会ったんだが、コンパイルが通らなかった+TEMPer2、TEMPerHUMには対応していなかったので自前でソース変更しました。

せっかくなので置いときます。

temper.zip
あれだ
何故か急激にものが欲しくなるときのあれだ

今回もそれにはまった。

LinkStation(LS-WVL)にはメモリが256しか付いていないので、HotSaNICで見ると結構スワップしていた。
そんな時にふと思いついたのが「USBメモリのDRAM版ってあるんかいな?」

早速調べてみたところ
がHitした。

と言う製品で「おおお!これこそ!素晴らしい!」と思い、アメリカAmazon.comで見たところ日本には発送してくれないようで、ネットをくまなく探したんだが送ってくれそうなところはドイチェランドのお店だった。

早速、PayPalを使って注文しました。

で、昨日来たわけだが、使ってみると普通にフラッシュじゃん・・・
良く見ると「Features 32MB DRAM Cache」と書いてある
どうやらフラッシュを高速化するために32MのDRAMが乗ってるってだけみたい・・・

orz

久々の失敗衝動買いでした・・・
Windowsのログに「イベントログ」と言うものがある。
実はこれなかなか見るのが大変なうえに知らないうちにかなりのエラーが出ていたりする。

LinuxにはSyslogと言うものがあってLinux上のたいていのエラー等はSyslogを経由してファイルに保存される。

そんなLinuxに対してWindowsのイベントログをネットワーク越しに転送しようというソフトがある。
NTsyslogとソフトだ。
英語版なんだけど日本語化して且つWindows7に対応させたDenkaさんのntsyslog-1.15 日本語版版 for Vista/Windows 7と言うソフトがある。

ちょとt使ってみたのだがいろいろとエラーが出ていた・・・(汗
Oct 25 16:26:40 asus ASUS NT: <Microsoft-Windows-Security-Auditing;F5038;> コードの整合性によって、ファイルのイメージ ハッシュが有効でないと判断されました。このファイルは、無許可の変更によって破損しているか、無効なハッシュがディスク デバイス エラーの可能性を示している場合があります。  ファイル名: \Device\HarddiskVolume3\Program Files\PeerBlock\pbfilter.sys
Oct 25 16:28:08 asus ASUS NT: <Software Protection Platform Service;E12293;> '' ドメイン内でキー管理サービス (KMS) を DNS に発行できませんでした。 情報: 0x80070057
Oct 25 19:42:46 asus ASUS NT: <cdrom;W51;> ページング操作中にデバイス \Device\CdRom0 上でエラーが検出されました。

そんなエラーが出ていたとは知らなかったので少しづつ対処したんだけど、このNTsyslogと言うソフト大前提が「LinuxのPCにログを転送する」と言うところにある。
なので普通の人には使えないのだ。
そういう意味では不便なのでソースも同梱されていることだしちょっと変更してログ転送だけでなくメール送信機能も付けようかなと思う。
今日から取り組み始めますね。
まあ、気まぐれでやるので完成は何時になるか解りませんが・・・
HandBrakeのクロスコンパイルメモ

HandBrakeCLI.exeのクロスコンパイルに挑戦してみた。

(GUI側は簡単だったので省略)
Linux上でWindowsの実行ファイルをクロスコンパイルするMinGWと言うものがあるが、最近はその構築が非常に楽になったようだ。

昔はMinGW on Linux http://bitwalk.hp.infoseek.co.jp/ のようにやらなければいけなかったようだが、現在は簡単導入シェルスクリプトがある。

https://sourceforge.net/projects/mingw/files/Cross-Hosted%20MinGW%20Build%20Tool から x86-mingw32-build-1.0.1-sh.tar.bz2 をダウンロード後に解凍して中に入っているシェルスクリプトを実行するだけだ。

#wget http://(長いので省略)/x86-mingw32-build-1.0.1-sh.tar.bz2
#tar xzvf x86-mingw32-build-1.0.1-sh.tar.bz2
#cd x86-mingw32-build-1.0.1
#./x86-mingw32-build-1.0.1-sh i386-mingw32

と行えば後は対話形式で進む。
(i386-mingwは自分で決める)

さすがにコンパイルには時間がかかるなぁ

ここが本家かな
http://www.mingw.org/wiki/LinuxCrossMinGW

ソースを触りながら見てみたところwhoisサーバーによってgetsockoptの(下記で言うretval)値が返ってきてしまうようで、その為にデータを取得できていなかったようだ。

2回目のgetsockoptでは良いようなのでとりあえず以下のように修正して使用することにした。

何か釈然としないが使えるようになったのでまあいいか

ちなみに下記のパッチはVineのjwhois-4.0-2vl5に対するパッチです。
公式のものにあてるには行番号が変わってきます。

--- jwhois-4.0/src/utils.c.getsockopt   2010-10-20 18:04:49.000000000 +0900
+++ jwhois-4.0/src/utils.c      2010-10-20 17:51:55.000000000 +0900
@@ -291,6 +291,7 @@
       error = getsockopt(sockfd, SOL_SOCKET, SO_ERROR, &retval, &retlen);
       if (error < 0 || retval)
        {
+         if(error == 0) continue;
          close (sockfd);
          return -1;
        }
VineLinux5.1のjwhois
[root@inspiron votoms]# rpm -qa | grep whois
jwhois-4.0-2vl5
で特定のドメインを検索すると
「Unable  to connect to remote host」
となり検索できない

Vine4.0はkernel2.6になったのでlm_sernsorsが今までのようには入らなかった

ともかくlm_sensorsは
http://www.lm-sensors.org/

kernel2.6はどうやらi2cはいらないみたい

#tar xzvf lm_sensors-2.10.2.tar.gz
#cd lm_sensors-2.10.2
#make
Makefile:105: *** For 2.6 kernels and later, use "make user"。中止。
ありゃ、make userにしろってか
#make user
 ・
make: *** `lib/sysfs.ad' に必要なターゲット `sysfs/libsysfs.h' を make するルールがありません。中止。
ありゃ
もう一度http://www.lm-sensors.org/wiki/Downloadを見てみると
どうやらlibsysfs libraryが欲しいらしい
とりあえず困った時のapt-get
#apt-get install sysfsutils sysfsutils-devel
おお、行くねぇ
話を元に戻して
#make user
こんどは通りました
#make install
Makefile:108: *** For 2.6 kernels and later, use "make user_install"。中止。
ありゃ
#make user_install
インストール完了

と、ここまでやったんだけれども
#sensors-detect
Sorry, no sensors were detected.
Either your sensors are not supported, or they are connected to an
I2C or SMBus adapter that is not supported. See doc/FAQ,
doc/lm_sensors-FAQ.html or http://www.lm-sensors.org/wiki/FAQ
(FAQ #4.24.3) for further information.
If you find out what chips are on your board, check
http://www.lm-sensors.org/wiki/Devices for driver status.

対応していない・・・(汗

lm_sernsorsのVerupをしばらく待つことにしましょうか・・・


最近のブログ記事

せっかくなのでVineLinux4.0インストール日記みたいなのを付けてみようと思う
ちょっとわけあってこれからVineLin…
OpenID対応しています OpenIDについて

Amazonトップセラー

リンク

人気Blog Ranking

    人気ブログランキングへ