2011年6月26日

BitTorrentに挑戦

ディストリビューションのISOをダウンロードするのに、HTTPやFTPだと時間がかかりすぎ、タイムアウトなどが発生することもある。そこで、BitTorrentを使ってみようと、BitTorrentの使い方~P2Pファイル共有を楽しもう~の記事に従い、μTorrentを試行。今のところ快適。

調子がよければ、サーバに導入しようか。


以上

2011年6月25日

イエローハット

近所のイエローハット。2階に木でできたアスレチックがあり、子供連れに嬉しい店舗。

正面入口

2011年6月22日

Firefox 5 へアップデート

自宅PCのWebブラウザFirefoxを最新版の 5 にアップデート。



リリースノートから抜粋
  • CSS アニメーション に対応しました。
  • Do Not Track ヘッダ送信の設定を見つけやすいところへ移動しました。
  • パフォーマンス向上のため、HTTP アイドル接続方式の調整を行いました。
  • Canvas、JavaScript、メモリ、ネットワーキングのパフォーマンスを強化しました。
  • HTML5、XHR、MathML、SMIL、Canvas といった Web 標準への対応を強化しました。
  • 一部の言語でスペルチェックの精度を強化しました。
  • Linux デスクトップ環境との統合を強化しました。
  • WebGL コンテンツが クロスドメインテクスチャを読み込めなくなりました。
  • バックグラウンドのタブで設定されている setTimeout と setInterval のタイマー間隔が、パフォーマンス向上のため 1000ms に固定されました。
  • いくつかの安定性に関わる問題を修正しました。
  • いくつかのセキュリティ問題 を修正しました。
さて、気が付いた不具合が早速一つ。
  • Bloggerの[画像を挿入]の機能で、[選択した画像を追加]が機能しなくなっている

2011年6月19日

[WordPress]コメント入力フォームからE-Mail入力項目を無くす

WordPressコメントフォームからE-Mail欄を無くす方法を記す。

環境条件
  • WordPress 3.0.0以降
方法

[外観]-[テーマ編集]-[テーマのための関数(functions.php)]とクリック

下記コードを追加
/* E-Mailの入力項目を無くす */
function my_comment_fields($fields) {
  $fields['email'] = '';
  return $fields;
}
add_filter('comment_form_default_fields','my_comment_fields');

/* 余計な表記を無くす(ついでに) */
function my_comment_form_defaults($args){
  $args['comment_notes_before']= '';
  $args['comment_notes_after']= '';
  return $args;
}
add_filter('comment_form_defaults','my_comment_form_defaults');

参考

以上

2011年6月18日

Pukiwiki サイトの Googleウェブマスターツールへの登録について

Googleウェブマスターツールに、Pukiwikiで作ったサイトのサイトマップを登録する一番簡単な方法。

環境条件
  • Pukiwiki1.4.7
方法

Pukiwiki画面からRSSのアイコンを確認する
すると、以下のURLが確認できるはず。
http://nekosuki.sakura.ne.jp/wiki/?cmd=rss&ver=1.0

末尾1.0を2.0に置き換える
具体的には下記
http://nekosuki.sakura.ne.jp/wiki/?cmd=rss&ver=2.0

PukiwikiのFrontPage等から見える[RSS]のリンクでは、Googleウェブマスターツールは受け付けないが末尾を2.0に変えると受け付けるようになる。

参考

以上

VMware Playerのエラー

契機がはっきりしないが、VMware Playerの仮想マシンがエラーを出力し、突然起動しなくなった。

エラー内容

「構成パラメータ vnet.pollInterval の無効な値が原因でパワーオンに失敗しました。」

原因

不明

対処

該当仮想マシンの*.vmx ファイルを直接編集し、下記行を追加する

vnet.pollInterval = "1"

※原因が不明な為、上記対処の妥当性は確認できない

参考

2011年6月12日

Debian6.0をインストールしてみた on VMware Player 3.X

Debian 6.0をインストールしてみた。

環境条件
  • debian-6.0.1a-i386-netinst.iso
  • VMware Player on Windows VISTA SP2
インストール結果

CDをブートすると以下画面になるので、"Install"をそのまま選択。


2011年6月11日

GNU/Linux - カーネルソースコードを見る

以下のURLにアクセスすれば、最新版をいつでも見ることができる。

こんな便利なものがあったとは。


以上

khungtaskdについて

カーネルスレッドにkhungtaskdというものがあるが、何者か、何ができるか少し実験。

確認環境
  • CentOS 5.6
実験

機能の確認
日本語での情報は見当たらず。英語だが以下のサイトを発見。
超訳だが、「ブロックされハングアップしたプロセスを定期巡回から発見し、プロセスのスタックダンプを取る機能」 らしい。(間違い指摘歓迎)

    姿の確認
    [owner@localhost ~]$ ps -ef | grep hung
    root       156     7  0 Jun05 ?        00:00:00 [khungtaskd]
    owner    17774 17750  0 21:27 pts/0    00:00:00 grep hung
    [owner@localhost ~]$

    カーネルパラメータの確認
    [root@localhost ~]# sysctl -a | grep hung
    kernel.hung_task_warnings = 10
    kernel.hung_task_timeout_secs = 120
    kernel.hung_task_check_count = 32768
    kernel.hung_task_panic = 0
    [root@localhost ~]#

    ソースコードの確認

    http://lxr.linux.no/#linux+v2.6.30/kernel/hung_task.c参照のこと
    kernel.hung_task_warnings
    定期巡回で異常を発見する都度、カウントダウンされる。つまり、ワーニングを発生させる回数と同値。(多分)
    kernel.hung_task_timeout_secs
    0 : 機能の停止、1~ : 機能の巡回秒数(デフォルトは120)
    kernel.hung_task_check_count
    定期巡回で検査対象にするプロセスIDの最大値?
    kernel.hung_task_panic
    0 : パニックしない(デフォルト) 、1 : パニックする

    動作実験
    何かハングアップを意図的に発生させようと考えたが、方法を思いつかず。
    そこで、kernel.hung_task_timeout_secs=1(下記のようにして設定)にして、放置すれば、そのうち何かが引っかかるだろう、と待つことに。

    [root@localhost ~]# echo 1 > /proc/sys/kernel/hung_task_timeout_secs

    一晩放置したら、出てる出てる。

    Jun 11 20:59:27 localhost kernel: INFO: task kjournald:359 blocked for more than 1 secon
    ds.
    Jun 11 20:59:27 localhost kernel: "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" dis
    ables this message.
    Jun 11 20:59:27 localhost kernel: kjournald     D 000048EF  2900   359      7
    390   348 (L-TLB)
    Jun 11 20:59:27 localhost kernel:        f7c80ed4 00000046 a751e9d4 000048ef c042e51c 00
    000082 f7d80b60 0000000a
    Jun 11 20:59:27 localhost kernel:        f7c82000 a7548843 000048ef 00029e6f 00000000 f7
    c8210c c17e7200 f393ee40
    Jun 11 20:59:27 localhost kernel:        0fd00000 c041e388 c18c5a04 c18c59fc 09923ea8 c0
    42d0bb c17e76bc 09923ea8
    Jun 11 20:59:27 localhost kernel: Call Trace:
    Jun 11 20:59:27 localhost kernel:  [<c042e51c>] del_timer+0x62/0x69
    Jun 11 20:59:27 localhost kernel:  [<c041e388>] find_busiest_group+0x177/0x462
    Jun 11 20:59:27 localhost kernel:  [<c042d0bb>] getnstimeofday+0x30/0xb6
    Jun 11 20:59:27 localhost kernel:  [<c061fe36>] io_schedule+0x36/0x59
    Jun 11 20:59:27 localhost kernel:  [<c0479a25>] sync_buffer+0x30/0x33
    Jun 11 20:59:27 localhost kernel:  [<c062000d>] __wait_on_bit+0x33/0x58
    Jun 11 20:59:27 localhost kernel:  [<c04799f5>] sync_buffer+0x0/0x33
    Jun 11 20:59:27 localhost kernel:  [<c04799f5>] sync_buffer+0x0/0x33
    Jun 11 20:59:27 localhost kernel:  [<c0620094>] out_of_line_wait_on_bit+0x62/0x6a
    Jun 11 20:59:27 localhost kernel:  [<c0436bf4>] wake_bit_function+0x0/0x3c
    Jun 11 20:59:27 localhost kernel:  [<c04799a2>] __wait_on_buffer+0x1c/0x1f
    Jun 11 20:59:27 localhost kernel:  [<f8885422>] journal_commit_transaction+0x4be/0xefc [
    jbd]
    Jun 11 20:59:27 localhost kernel:  [<c042df0b>] lock_timer_base+0x15/0x2f
    Jun 11 20:59:27 localhost kernel:  [<c042df8a>] try_to_del_timer_sync+0x65/0x6c
    Jun 11 20:59:27 localhost kernel:  [<f8888c21>] kjournald+0xa1/0x1c2 [jbd]
    Jun 11 20:59:27 localhost kernel:  [<c0436bc7>] autoremove_wake_function+0x0/0x2d
    Jun 11 20:59:27 localhost kernel:  [<f8888b80>] kjournald+0x0/0x1c2 [jbd]
    Jun 11 20:59:27 localhost kernel:  [<c0436b03>] kthread+0xc0/0xed
    Jun 11 20:59:27 localhost kernel:  [<c0436a43>] kthread+0x0/0xed
    Jun 11 20:59:27 localhost kernel:  [<c0405c87>] kernel_thread_helper+0x7/0x10
    Jun 11 20:59:27 localhost kernel:  =======================

    Jun 11 21:01:02 localhost kernel: INFO: task crond:6060 blocked for more than 1 seconds.
    Jun 11 21:01:02 localhost kernel: "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" dis
    ables this message.
    Jun 11 21:01:02 localhost kernel: crond         D 00004905  2584  6060   2288
              (NOTLB)
    Jun 11 21:01:02 localhost kernel:        cb17cdcc 00000082 b815344b 00004905 00000082 f7
    d80b60 f7d80b60 00000006
    Jun 11 21:01:02 localhost kernel:        e1ef3000 b828a8bb 00004905 00137470 00000000 e1
    ef310c c17e7200 ebc42040
    Jun 11 21:01:02 localhost kernel:        00000000 cb17cdc4 00000000 cb17cdc4 0995240e c0
    42d0bb f394193c 0995240e
    Jun 11 21:01:02 localhost kernel: Call Trace:
    Jun 11 21:01:02 localhost kernel:  [<c042d0bb>] getnstimeofday+0x30/0xb6
    Jun 11 21:01:02 localhost kernel:  [<c061fe36>] io_schedule+0x36/0x59
    Jun 11 21:01:02 localhost kernel:  [<c0459db8>] sync_page+0x0/0x3b
    Jun 11 21:01:02 localhost kernel:  [<c0459df0>] sync_page+0x38/0x3b
    Jun 11 21:01:02 localhost kernel:  [<c061ff48>] __wait_on_bit_lock+0x2a/0x52
    Jun 11 21:01:02 localhost kernel:  [<c0459d33>] __lock_page+0x52/0x59
    Jun 11 21:01:02 localhost kernel:  [<c0436bf4>] wake_bit_function+0x0/0x3c
    Jun 11 21:01:02 localhost kernel:  [<c045a55b>] do_generic_mapping_read+0x1f7/0x380
    Jun 11 21:01:02 localhost kernel:  [<c045af56>] __generic_file_aio_read+0x16a/0x1a3
    Jun 11 21:01:02 localhost kernel:  [<c0459a29>] file_read_actor+0x0/0xd5
    Jun 11 21:01:03 localhost kernel:  [<c045afca>] generic_file_aio_read+0x3b/0x42
    Jun 11 21:01:03 localhost kernel:  [<c0476d87>] do_sync_read+0xb6/0xf1
    Jun 11 21:01:03 localhost kernel:  [<c0436bc7>] autoremove_wake_function+0x0/0x2d
    Jun 11 21:01:03 localhost kernel:  [<c0476cd1>] do_sync_read+0x0/0xf1
    Jun 11 21:01:03 localhost kernel:  [<c0477660>] vfs_read+0x9f/0x141
    Jun 11 21:01:03 localhost kernel:  [<c0477ae6>] sys_read+0x3c/0x63
    Jun 11 21:01:03 localhost kernel:  [<c0404f4b>] syscall_call+0x7/0xb
    Jun 11 21:01:03 localhost kernel:  =======================

    Jun 11 21:13:21 localhost kernel: INFO: task smartd:2498 blocked for more than 1 seconds
    .
    Jun 11 21:13:21 localhost kernel: "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" dis
    ables this message.
    Jun 11 21:13:21 localhost kernel: smartd        D 000049B1  2592  2498      1          2
    503  2409 (NOTLB)
    Jun 11 21:13:21 localhost kernel:        ec3e6c7c 00000086 8ff2a672 000049b1 c084e114 ec
    3e6cd8 c0575173 0000000a
    Jun 11 21:13:21 localhost kernel:        ec4b1000 8ff4aa79 000049b1 00020407 00000000 ec
    4b110c c17e7200 f3961200
    Jun 11 21:13:21 localhost kernel:        00000000 00000000 ffffffff f7d7adc0 00000000 00
    000000 00000000 ffffffff
    Jun 11 21:13:21 localhost kernel: Call Trace:
    Jun 11 21:13:21 localhost kernel:  [<c0575173>] execute_drive_cmd+0x169/0x1ab
    Jun 11 21:13:21 localhost kernel:  [<c061f905>] wait_for_completion+0x6b/0x8f
    Jun 11 21:13:21 localhost kernel:  [<c041f80f>] default_wake_function+0x0/0xc
    Jun 11 21:13:21 localhost kernel:  [<c0575b1b>] ide_do_drive_cmd+0xd7/0xfa
    Jun 11 21:13:21 localhost kernel:  [<c0579ac7>] ide_task_ioctl+0x45/0x6b
    Jun 11 21:13:21 localhost kernel:  [<c04e29ee>] blk_end_sync_rq+0x0/0x1d
    Jun 11 21:13:21 localhost kernel:  [<c0574793>] generic_ide_ioctl+0x257/0x450
    Jun 11 21:13:21 localhost kernel:  [<c057d8eb>] idedisk_ioctl+0x1c/0x20
    Jun 11 21:13:21 localhost kernel:  [<c04e51f3>] blkdev_driver_ioctl+0x4b/0x5b
    Jun 11 21:13:21 localhost kernel:  [<c04e590e>] blkdev_ioctl+0x70b/0x759
    Jun 11 21:13:21 localhost kernel:  [<c04c9c29>] inode_has_perm+0x54/0x5c
    Jun 11 21:13:21 localhost kernel:  [<c06200e8>] mutex_lock+0xb/0x19
    Jun 11 21:13:21 localhost kernel:  [<c057e05e>] idedisk_open+0x38/0xb3
    Jun 11 21:13:21 localhost kernel:  [<c04c95c3>] avc_has_perm+0x3c/0x46
    Jun 11 21:13:21 localhost kernel:  [<c04c9c29>] inode_has_perm+0x54/0x5c
    Jun 11 21:13:21 localhost kernel:  [<c047e7f7>] blkdev_open+0x0/0x44
    Jun 11 21:13:21 localhost kernel:  [<c047e813>] blkdev_open+0x1c/0x44
    Jun 11 21:13:21 localhost kernel:  [<c047595a>] __dentry_open+0xea/0x1ab
    Jun 11 21:13:21 localhost kernel:  [<c047dd12>] block_ioctl+0x13/0x16
    Jun 11 21:13:21 localhost kernel:  [<c047dcff>] block_ioctl+0x0/0x16
    Jun 11 21:13:21 localhost kernel:  [<c0487629>] do_ioctl+0x1c/0x5d
    Jun 11 21:13:21 localhost kernel:  [<c0487bbd>] vfs_ioctl+0x47b/0x4d3
    Jun 11 21:13:21 localhost kernel:  [<c0487c5d>] sys_ioctl+0x48/0x5f
    Jun 11 21:13:21 localhost kernel:  [<c0404f4b>] syscall_call+0x7/0xb
    Jun 11 21:13:21 localhost kernel:  =======================

    出た結果の見方は分からないが、検知してくれていることを確認。

    以上

    SEO - 無料相互リンク

    相互リンクを集めてみた。

    Zero Tools




    【感想】相互リンクページを自サイトに設置する必要あり。かつ、自サイトのFTPアカウントの利用して相互リンクを自動更新してくれる。只、FTPアカウントを渡したら、アカウントを悪用までいかずとも事故があったらどうすんの?と思い。相互リンクは採用見送り。アクセスランキング機能もあったので、本日から左サイドに貼ってみた。

    LINKopty




    相互リンクページへ

    【感想】 相互リンクページを自サイトに設置する必要あり。本日より設置。効果はのちほど。

    i2i(アイツーアイ)無料「相互ランキングメイカー」


    相互リンクページへ


    【感想】 ずいぶん前からお世話になっている。Googleウェブマスターの解析では、被リンクを2,000~3,000くらい稼いでいる結果となっており、SEO効果が出ているものと思われる。

    以上

      2011年6月8日

      [WordPress]ログインしている時にアクセスカウンターなどを表示したくない。

      WordPressにi2iのアクセスカンターを仕掛けているが、投稿記事のプレビュー回数やはてな等のブックマーク時のアクセスまでカウントされてしまう。

      管理者除外などしてしまえば良いのだろうが、必ずしもうまく機能するわけでない。

      このBloggerも同じ状態なのだが、とりあえず、解決したWordPressについて記しておく。

      方法

      [テーマの編集]で、テンプレートに直接アクセスカンターを仕掛ける。

      その際、以下のコードにする。青文字部分にi2iからのタグを貼り付ける。

      <?php
      if ( !is_user_logged_in() ) { 
      echo '<span id="noscripttags"><noscript>...(中略)...</script>';
      }
      ?>


      以上

      2011年6月4日

      Fedora 15をインストールする on VMware Player 3.X

      Fedora 15をVMware Playerにインストールしてみた。
      確認条件
      • VMware Player 3 on Windows XP SP3
      • Fedora 15 DVD
      インストール結果
      "Install a new system or upgrade an existing system"を選択。
      WS000121.JPG

      2011年6月3日

      HDDの温度対策(省電力設定) - RHEL/CentOS

      ハードディスクの温度を表示するツールを導入してみた。

      確認環境
      • NEC VersaProR VA15X
      • CentOS 5.6
      方法

      hddtempパッケージの導入
      # yum install hddtemp

      hddtempの実行
      # hddtemp /dev/hda
      /dev/hda: HITACHI_DK23EA-30: 64°C

      温度が高い!

      対策

      60度を超えるのはHDDに悪いらしいので、対策を検討。

      pdflushの抑制(sysctl.confに下記4つの定義を追加)
      # cat /etc/sysctl.conf
      ...
      vm.dirty_background_ratio = 30
      vm.dirty_ratio = 60
      vm.dirty_expire_centisecs = 500000
      vm.dirty_writeback_centisecs = 600000

      不要デーモンの停止
      ※割愛 参考資料を参照のこと ntpd停止が一番効いたようだ

      /var下にtmpfsを追加(fstabに下記2つの定義を追加)
      # cat /etc/fstab
      ... 
      tmpfs /tmp     tmpfs   defaults        0 0
      tmpfs /var/tmp tmpfs   defaults        0 0


      noatimeを追加 (fstabの既存定義の変更)

      [変更前]
      /dev/VolGroup00/LogVol00 / ext3 defaults          1 1

      [変更後]
      /dev/VolGroup00/LogVol00 / ext3 defaults,noatime  1 1

      HDDを停止する定義を追加(/etc/rc.d/rc/localに下記1行を追加)
      # cat /etc/rc.d/rc.local
      ...
      hdparm -S 12 /dev/hda

      最後に再起動
      # shutdown -r now

      hddtempの実行
      # hddtemp /dev/hda
      /dev/hda: HITACHI_DK23EA-30: 56°C

      少しだけ下がった。

      参考
      以上

        2011年6月2日

        RHEL/CentOS - 自宅ノートPCサーバの画面消灯

        ノートPCの液晶モニタが点灯しっぱなしで、ずっと放置してきたが、ようやく消灯方法が判明。節電と熱暴走対策の一石二鳥。

        確認条件
        • NEC VersaProR VA15X
        • CentOS 5.6
        方法

        消灯
        # vbetool dpms off

        点灯
        # vbetool dpms on

        起動時に消灯する
        /etc/rc.d/rc.localに以下1行を追加
        vbetool dpms off


        参考
        以上