投票順に並替
リンク元
リンク元
リンク元
リンク元
リンク元
リンク元
リンク元
リンク元
リンク元
リンク元
のくす牧場日記 のくす牧場の管理記録や雑記
1:
logrotateの逆襲
- 21:27 - 牧場長
新しいHDDをマウントして、やっとファイルの移行を始めました。
そんななか、/var/log/dss/ に、「server_status.2.gz.1.gz.2.gz.1.gz.1.gz.2.gz.1.gz.1.gz.2.gz.2.gz.1.gz.1.gz.1.gz.2.gz.1.gz.1.gz」のような圧縮ログファイルが多数ありました。たぶん、logrotateが圧縮したログを再圧縮・・・を延々繰り返していたのでしょう。
どれだけファイルができたかと思い、
どれだけのファイルがあるのでしょうか・・・。
reiserfsの、思わぬテストになってしまいましたが、このままでは面倒なのでディレクトリ毎削除中です。
reiserfs(v3.6)なのですが、このlsすらできない5GBのディレクトリの削除には時間がかかりそうです。。。
そんななか、/var/log/dss/ に、「server_status.2.gz.1.gz.2.gz.1.gz.1.gz.2.gz.1.gz.1.gz.2.gz.2.gz.1.gz.1.gz.1.gz.2.gz.1.gz.1.gz」のような圧縮ログファイルが多数ありました。たぶん、logrotateが圧縮したログを再圧縮・・・を延々繰り返していたのでしょう。
どれだけファイルができたかと思い、
$ ls -l /var/log/dss/server_status.*
を実行すると、なんと、bashが異常終了しました!!$ ls -ld /var/log/dss
をすると、ディレクトリサイズが5GB!!どれだけのファイルがあるのでしょうか・・・。
reiserfsの、思わぬテストになってしまいましたが、このままでは面倒なのでディレクトリ毎削除中です。
reiserfs(v3.6)なのですが、このlsすらできない5GBのディレクトリの削除には時間がかかりそうです。。。
リンク元
- 1 goo : ノヲト讀
- 1 google : Divx fedora 5
- 1 yahoo : AX4G BIOS アップデート
- 1 google : 懐遊堂
- 1 yahoo : fedora xawtv lsmod "/dev/video0"
- 1 google : texpoint emf
- 1 google : linux driver go7007
- 1 google : フルートのための無伴奏パルティータ midi
- 1 google : fedora core 6 test 3 compiz xgl
- 1 google : ダイヤルアップ 619
- 1 google : ダイヤルアップ 619
2:
ivtvもいれてみる
- 16:14 - 牧場長
Nyohoさんに、ivtvを入れるというのを聞いたので、ivtvを入れてみた。
カーネル 2.6.12 には、0.4.3 が最新みたいなので、これを入れる。
modprobe ivtv をしてみると
となりました。ivtvのインストールはできたのかな。
ivtv-detectもやってみると、
おお、キャプチャーカードは認識したのかな。
あとはチューナー周りなんですけどねぇ・・・。
カーネル 2.6.12 には、0.4.3 が最新みたいなので、これを入れる。
modprobe ivtv をしてみると
# lsmod|grep ivtv
ivtv 226900 0
i2c_algo_bit 14600 1 ivtv
videodev 17152 6 go7007,ivtv,saa7134
i2c_core 30592 8 go7007,ivtv,i2c_algo_bit,saa7134,it87,i2c_sensor,i2c_isa,i2c_nforce2
ivtv 226900 0
i2c_algo_bit 14600 1 ivtv
videodev 17152 6 go7007,ivtv,saa7134
i2c_core 30592 8 go7007,ivtv,i2c_algo_bit,saa7134,it87,i2c_sensor,i2c_isa,i2c_nforce2
となりました。ivtvのインストールはできたのかな。
ivtv-detectもやってみると、
# ivtv-detect
driver: saa7134-0.2.12
card: WIS Voyager or compatible, bus info PCI:0000:01:08.0
/dev/video0: YUV encoding (links: /dev/video)
/dev/vbi0: VBI encoding (links: /dev/vbi)
driver: go7007-0.9.8
card: WIS Voyager or compatible
/dev/video1: YUV encoding
driver: saa7134-0.2.12
card: WIS Voyager or compatible, bus info PCI:0000:01:08.0
/dev/video0: YUV encoding (links: /dev/video)
/dev/vbi0: VBI encoding (links: /dev/vbi)
driver: go7007-0.9.8
card: WIS Voyager or compatible
/dev/video1: YUV encoding
おお、キャプチャーカードは認識したのかな。
あとはチューナー周りなんですけどねぇ・・・。
リンク元
- 2 google : fedora core 4 php グラフ
- 2 google : crack texpoint
- 2 ocnsearch : 裏ページ 探し方
- 2 google : texpoint 日本語パッチ
- 2 google : undefined symbol: dav_xml_get_cdata
- 2 google : GRE: read from PTY failed 619
- 1 msn : ホントに焼いた
- 1 msn : ホントに焼いた
- 1 google : emacs-22 FC3
- 1 google : child pid exit signal Segmentation fault (11) 証明書
- 1 google : linux IFC-AT133
3:
ビデオキャプチャー
- 12:04 - 牧場長
PX-TV432PをLinuxで動かすべく、こちらをまねしてやってみようとしましたが、なんと、よく読むと、チューナーは動かないんですね!?
チューナーにはパナソニックの「ENG34903G」と書かれたモジュールが使われていますが、この型番か製造番号かわからない番号からはヒントなし。
wis-go7007ドライバが、kernel 2.6.10~16 にしか対応していないので、Fedora Legacyプロジェクトより kernel-2.6.12 をいただいてきて、wis-go7007ドライバを組み込みました。
これで、生映像が /dev/video0 に、エンコード済み映像が /dev/video1 にでるようになったっぽいです。
ためしに、xawtvで/dev/video0をみてみましたが、真っ暗。/dev/video1からmpegファイルを作ってみましたが、真っ黒。
やっぱりチューナーが動いていないのでしょうね。
カーネルソースを見てみると、「Panasonic VP27s/ENGE4324D」というのが、tuner-simple.c にあるではありませんか。なぜかヘッダファイルに入っていなかったので、46番を定義。
それを saa7134-card.c で指定してみましたが、やっぱりだめでした。しかし、dmesg で、tunerのエラーが出なくなりました。
この「ENGE4324D」と「ENG34903G」は関連ありそうですが、今のところまだ動きません。
さらに、チューナーモジュールの中の基盤に、フィリップスのマークの付いた「TDA 8995TS」なるチップが入っていました。
これを調べてみると、i2cバスを持ったデコーダ???
調べてみると「drivers/media/video/tda9887.c」のなかにありました。TDA9887の「PAL/NTSC限定版」っぽいですね。
PALとNTSCに限れば、TDA9887と同じようです。どうにか方向が見えてきました。
チューナーにはパナソニックの「ENG34903G」と書かれたモジュールが使われていますが、この型番か製造番号かわからない番号からはヒントなし。
wis-go7007ドライバが、kernel 2.6.10~16 にしか対応していないので、Fedora Legacyプロジェクトより kernel-2.6.12 をいただいてきて、wis-go7007ドライバを組み込みました。
これで、生映像が /dev/video0 に、エンコード済み映像が /dev/video1 にでるようになったっぽいです。
ためしに、xawtvで/dev/video0をみてみましたが、真っ暗。/dev/video1からmpegファイルを作ってみましたが、真っ黒。
やっぱりチューナーが動いていないのでしょうね。
カーネルソースを見てみると、「Panasonic VP27s/ENGE4324D」というのが、tuner-simple.c にあるではありませんか。なぜかヘッダファイルに入っていなかったので、46番を定義。
それを saa7134-card.c で指定してみましたが、やっぱりだめでした。しかし、dmesg で、tunerのエラーが出なくなりました。
この「ENGE4324D」と「ENG34903G」は関連ありそうですが、今のところまだ動きません。
さらに、チューナーモジュールの中の基盤に、フィリップスのマークの付いた「TDA 8995TS」なるチップが入っていました。
これを調べてみると、i2cバスを持ったデコーダ???
調べてみると「drivers/media/video/tda9887.c」のなかにありました。TDA9887の「PAL/NTSC限定版」っぽいですね。
PALとNTSCに限れば、TDA9887と同じようです。どうにか方向が見えてきました。
リンク元
- 6 google : 若白髪
- 4 matome : ビデオキャプチャー
- 3 yahoo : Linux PX-TV432P
- 2 matome : ビデオキャプチャー
- 2 blog : PX-TV432P
- 2 google : panasonic tuner module
- 1 google : masterdevicetimingmode
- 1 yahoo : エラー619 広帯域
- 1 google : GRE read from PTY failed fedora core 3
- 1 google : 英辞郎 パスワード
- 1 google : ITE bios
4:
カーネル奮闘記
- 10:44 - 牧場長
ビデオキャプチャー wis-go7007 のドライバは、カーネル 2.6.16以降には対応していないようで、RHEL5候補への移行は現状で諦めることにしました。
RHEL4のカーネル 2.6.9 が、現状ではベストなようです。
となると、2.6.9 で、Athlon64 X2 4400+ の powernow-k8 がエラーをはいて、クロックが下げられない(あげることはできる)問題が再燃しました。
今日とても早起きして、カーネルパッチを作成。この問題に付け焼き刃的ですが解決法ができました。
--- linux-2.6.9/arch/i386/kernel/cpu/cpufreq/powernow-k8.c 2006-09-27 02:41:45.000000000 +0900
+++ linux-2.6.9/arch/i386/kernel/cpu/cpufreq/powernow-k8.c 2006-09-27 08:54:03.000000000 +0900
@@ -277,25 +277,30 @@ static int core_voltage_pre_transition(s
{
u32 rvosteps = data->rvo;
u32 savefid = data->currfid;
+ u32 maxvid, lo;
- dprintk(KERN_DEBUG PFX
- "ph1 (cpu%d): start, currfid 0x%x, currvid 0x%x, reqvid 0x%x, rvo 0x%x\n",
+ dprintk("ph1 (cpu%d): start, currfid 0x%x, currvid 0x%x, reqvid 0x%x, rvo 0x%x\n",
smp_processor_id(),
data->currfid, data->currvid, reqvid, data->rvo);
+ rdmsr(MSR_FIDVID_STATUS, lo, maxvid);
+ maxvid = 0x1f & (maxvid >> 16);
+ dprintk("ph1 maxvid=0x%x\n", maxvid);
+ if (reqvid < maxvid) /* lower numbers are higher voltages */
+ reqvid = maxvid;
+
while (data->currvid > reqvid) {
- dprintk(KERN_DEBUG PFX "ph1: curr 0x%x, req vid 0x%x\n",
+ dprintk("ph1: curr 0x%x, req vid 0x%x\n",
data->currvid, reqvid);
if (decrease_vid_code_by_step(data, reqvid, data->vidmvs))
return 1;
}
- while ((rvosteps > 0) && ( (data->rvo + data->currvid) > reqvid) ) {
- if (data->currvid == 0) {
+ while ((rvosteps > 0) && ((data->rvo + data->currvid) > reqvid)) {
+ if (data->currvid == maxvid) {
rvosteps = 0;
} else {
- dprintk(KERN_DEBUG PFX
- "ph1: changing vid for rvo, req 0x%x\n",
+ dprintk("ph1: changing vid for rvo, req 0x%x\n",
data->currvid - 1);
if (decrease_vid_code_by_step(data, data->currvid - 1, 1))
return 1;
@@ -311,7 +316,7 @@ static int core_voltage_pre_transition(s
return 1;
}
- dprintk(KERN_DEBUG PFX "ph1 complete, currfid 0x%x, currvid 0x%x\n",
+ dprintk("ph1 complete, currfid 0x%x, currvid 0x%x\n",
data->currfid, data->currvid);
return 0;
基本的に2.6.17からのバックポートですが、合ってるかな。AMDでDualCoreなQnCを満喫したい方はどうぞ。
とはいえ、4400+/4800+以外では問題なさそうですが。
RHEL4のカーネル 2.6.9 が、現状ではベストなようです。
となると、2.6.9 で、Athlon64 X2 4400+ の powernow-k8 がエラーをはいて、クロックが下げられない(あげることはできる)問題が再燃しました。
今日とても早起きして、カーネルパッチを作成。この問題に付け焼き刃的ですが解決法ができました。
--- linux-2.6.9/arch/i386/kernel/cpu/cpufreq/powernow-k8.c 2006-09-27 02:41:45.000000000 +0900
+++ linux-2.6.9/arch/i386/kernel/cpu/cpufreq/powernow-k8.c 2006-09-27 08:54:03.000000000 +0900
@@ -277,25 +277,30 @@ static int core_voltage_pre_transition(s
{
u32 rvosteps = data->rvo;
u32 savefid = data->currfid;
+ u32 maxvid, lo;
- dprintk(KERN_DEBUG PFX
- "ph1 (cpu%d): start, currfid 0x%x, currvid 0x%x, reqvid 0x%x, rvo 0x%x\n",
+ dprintk("ph1 (cpu%d): start, currfid 0x%x, currvid 0x%x, reqvid 0x%x, rvo 0x%x\n",
smp_processor_id(),
data->currfid, data->currvid, reqvid, data->rvo);
+ rdmsr(MSR_FIDVID_STATUS, lo, maxvid);
+ maxvid = 0x1f & (maxvid >> 16);
+ dprintk("ph1 maxvid=0x%x\n", maxvid);
+ if (reqvid < maxvid) /* lower numbers are higher voltages */
+ reqvid = maxvid;
+
while (data->currvid > reqvid) {
- dprintk(KERN_DEBUG PFX "ph1: curr 0x%x, req vid 0x%x\n",
+ dprintk("ph1: curr 0x%x, req vid 0x%x\n",
data->currvid, reqvid);
if (decrease_vid_code_by_step(data, reqvid, data->vidmvs))
return 1;
}
- while ((rvosteps > 0) && ( (data->rvo + data->currvid) > reqvid) ) {
- if (data->currvid == 0) {
+ while ((rvosteps > 0) && ((data->rvo + data->currvid) > reqvid)) {
+ if (data->currvid == maxvid) {
rvosteps = 0;
} else {
- dprintk(KERN_DEBUG PFX
- "ph1: changing vid for rvo, req 0x%x\n",
+ dprintk("ph1: changing vid for rvo, req 0x%x\n",
data->currvid - 1);
if (decrease_vid_code_by_step(data, data->currvid - 1, 1))
return 1;
@@ -311,7 +316,7 @@ static int core_voltage_pre_transition(s
return 1;
}
- dprintk(KERN_DEBUG PFX "ph1 complete, currfid 0x%x, currvid 0x%x\n",
+ dprintk("ph1 complete, currfid 0x%x, currvid 0x%x\n",
data->currfid, data->currvid);
return 0;
基本的に2.6.17からのバックポートですが、合ってるかな。AMDでDualCoreなQnCを満喫したい方はどうぞ。
とはいえ、4400+/4800+以外では問題なさそうですが。
リンク元
- 4 google : cpuspeed
- 2 google : s4/275 os
- 2 yahoo : 仮想彼女 flash
- 2 live : currvid
- 1 yahoo : タワツウ・ィ・鬘シ619
- 1 google : rhel dualcore
- 1 goo : PC冷却ファン
- 1 google : uPnP linux
- 1 google : flash X86_64
- 1 google : poptop スループット
- 1 google : SQL インデックス 速度アップ
5:
HDD導入
- 12:37 - 牧場長
昨日は疲れてしまって、HDDはまだ袋に入ったままです・・・。
このディスク、使い方でいろいろ迷っています。
ファイルシステムは・・・
手堅くext3か、実績のあるreiserfs(v3.6,現状)か、はたまたXFS,JFSに手を出すか、迷っています。
OSは、半年後にはRHEL5(互換)になっているはずなのですが、絶好のOS入れ替えチャンスなので、
手堅くRHEL4.4(現状)か、Fedora Core 6 Test 2にしてRHEL5を待つか、RHEL5βを入れて、RHEL5を待つかも迷っています。
どうするべぇかなー。
このディスク、使い方でいろいろ迷っています。
ファイルシステムは・・・
手堅くext3か、実績のあるreiserfs(v3.6,現状)か、はたまたXFS,JFSに手を出すか、迷っています。
OSは、半年後にはRHEL5(互換)になっているはずなのですが、絶好のOS入れ替えチャンスなので、
手堅くRHEL4.4(現状)か、Fedora Core 6 Test 2にしてRHEL5を待つか、RHEL5βを入れて、RHEL5を待つかも迷っています。
どうするべぇかなー。
リンク元
- 2 google : limits.conf+cpu
- 2 goo : IT8211F
- 1 google : 改行がうまくいかない Outlook
- 1 google : 可聴域 テスト
- 1 google : vpn 619 エラー
- 1 google : UPnP GetExternalIPAddress
- 1 google : 松茸 養殖
- 1 google : "usb接続" smartctl linux
- 1 google : googleサイト内検索 商用フリー
- 1 google : texpoint 2. ほしい
- 1 google : texpoint 2.0 2000
6:
phpのprintf
- 12:27 - 牧場長
php 5.0.4 @ x86_64にて。久々にはまりました。
変数はすべてsignedであり、即値はunsigned?。しかも、%uのみ32bit。なかなか注意が必要ですね。
php -r 'printf("%d\n",0xffffffffffffffff);'
0
php -r 'printf("%d\n",0x7fffffffffffffff);'
9223372036854775807
php -r 'printf("%u\n",0xffffffffffffffff);'
0
php -r 'printf("%u\n",0x7fffffffffffffff);'
4294967295
php -r 'printf("%x\n",0xffffffffffffffff);'
0
php -r 'printf("%x\n",0x7fffffffffffffff);'
7fffffffffffffff
0
php -r 'printf("%d\n",0x7fffffffffffffff);'
9223372036854775807
php -r 'printf("%u\n",0xffffffffffffffff);'
0
php -r 'printf("%u\n",0x7fffffffffffffff);'
4294967295
php -r 'printf("%x\n",0xffffffffffffffff);'
0
php -r 'printf("%x\n",0x7fffffffffffffff);'
7fffffffffffffff
変数はすべてsignedであり、即値はunsigned?。しかも、%uのみ32bit。なかなか注意が必要ですね。
リンク元
7:
HDD購入
- 22:04 - 牧場長
seagateの320GBを買ってきました。広島で1万1500円でした。まぁ、こんなもんでしょう。
今晩、HDD設置のため数分間休止します。
今週~今週末は、メインディスクの切り替えのため、sea-mew.jpのサービスが断続的に中断することがあります。ご了承ください。
今晩、HDD設置のため数分間休止します。
今週~今週末は、メインディスクの切り替えのため、sea-mew.jpのサービスが断続的に中断することがあります。ご了承ください。
リンク元
- 2 google : cpuspeed
- 1 yahoo : フレッツ エラー619
- 1 msn : 若白髪
- 1 http://r.hatena.ne.jp/ryokawa/関係者/
- 1 google : DMA PIO
- 1 google : pptp エラー619
- 1 google : DMA PIO
- 1 google : popnupblog テンプレート
- 1 http://translate.google.com/translate?hl=en&sl=ja&u=http://sea-mew.jp/nox/modules/popnupblog/view/1.html&start=310,10&sa=X&oi=translate&resnum=2&ct=result&prev=/search?q=texpoint+crack&hl=en&lr=&rls=GGLG,GGLG:2005-31,GGLG:en
- 1 google : まいど1号
- 1 google : FC5 w3m long long
8:
ぞろ目
- 14:02 - 牧場長
リンク元
- 2 google : AddARGBGLXVisuals
- 1 yahoo : amavis PRESERVING EVIDENCE
- 1 yahoo : amavis PRESERVING EVIDENCE
- 1 yahoo : TROUBLE in check_mail: mime_decode-1 FAILED
- 1 google : 文章の書き方 2ch
- 1 google : NPTLとは
- 1 google : ss リカバリ s4/275
- 1 google : 呉 メロンパン
- 1 google : smartctl scsi
- 1 google : MOD_INC_USE_COUNT 2.6
- 1 google : 牧場 山形
9:
確率論
- 21:24 - 牧場長
日本語の単語100万語に、重複しないようにidをつけたいけども、データベースから探すと大変なので、ハッシュで代用。
32bitのハッシュを100万個の要素につけたとき、重複が出ない確率は・・・なんと、20万個で1%になってしまう。
36bitでも、100万個のハッシュが重複しない確率は0.07%。
まぁ多少重複しても良いんだけど、32bitと64bitのデータサイズは所詮2倍しか違わないので、64bitにするかな。
というわけで、128bitのmd5ハッシュから64bitの簡易ハッシュを作ってみた。
function make64bitHash( $l ) {
$p1 = array( '0','1','2','3','4','5','6','7','8','9','a','b','c','d','e','f' );
$p2 = array( '0','1','2','3','0','1','2','3','0','1','2','3','0','1','2','3' );
return base_convert(str_replace($p1,$p2,md5($l)),4,10);
}
最適解はわからんけど、4bit毎に取捨選択してみましたよ。64bitなら、unsigned bigintとして、MySQLでも整数値で扱えるしね。
32bitのハッシュを100万個の要素につけたとき、重複が出ない確率は・・・なんと、20万個で1%になってしまう。
36bitでも、100万個のハッシュが重複しない確率は0.07%。
まぁ多少重複しても良いんだけど、32bitと64bitのデータサイズは所詮2倍しか違わないので、64bitにするかな。
というわけで、128bitのmd5ハッシュから64bitの簡易ハッシュを作ってみた。
function make64bitHash( $l ) {
$p1 = array( '0','1','2','3','4','5','6','7','8','9','a','b','c','d','e','f' );
$p2 = array( '0','1','2','3','0','1','2','3','0','1','2','3','0','1','2','3' );
return base_convert(str_replace($p1,$p2,md5($l)),4,10);
}
最適解はわからんけど、4bit毎に取捨選択してみましたよ。64bitなら、unsigned bigintとして、MySQLでも整数値で扱えるしね。
リンク元
- 2 nifty : 2.6 MOD_INC_USE_COUNT
- 1 google : 雷サージ タップ 効果
- 1 google : 本焼きそば
- 1 google : notice child pid exit signal Segmentation fault PHP
- 1 google : MOD_INC_USE_COUNT 2.6
- 1 yahoo : dav_xml_get_cdata
- 1 nifty : 薄型携帯パソコン
- 1 google : dav_xml_get_cdata fedora core3
- 1 google : HDD Helth 使い方
- 1 google : ハッシュ重複確率
- 1 google : 確率論日記
10:
寒くなってきた
- 21:19 - 牧場長
なんだか体調を崩しやすい季節になってきましたね。
最近は心身共に調子がイマイチで、今後の生活を考えると不安です。
眠りが浅いので、変な夢をたくさん見ます。大長編の夢は結構疲れます・・・。
最近は心身共に調子がイマイチで、今後の生活を考えると不安です。
眠りが浅いので、変な夢をたくさん見ます。大長編の夢は結構疲れます・・・。
リンク元
PopnupBlog 2.05d created by
Bluemoon inc.