カテゴリー
Windows

本家のお世話-#43。(PHP5.4.4へアップデート)

投稿アップデート情報  追記(2013/2/14)

 php5ts.dllのクラッシュによる再起動はずいぶん減ったが,Win版ApacheとPHPのおニューが出たときにはアップデートするように心がけている。しかし,PHPはあまりに早く対処すると怖いという経験がある。本日,4日遅れくらいで,PHP5.4.4(Jun-13 22:39:02UTC)にアップデートした。

 Apache Loungeを見たら,下記のようになっていたので,php5apache2_4.dll-php-5.4-win32.zipをダウンロードし,中にあったPHP5.4.4用のphp5apache2_4.dllをPHPディレクトリにコピーした。
   14 June 2012
   php handler 5.3.14 and 5.4.4

 php.iniは前版と変更点がなかったので,そのまま利用した。もし,参考にされる方がいたら設定については,本家のお世話-#28。を参照してください。

 しっかし,php handlerが,小枝番ごとに変わっているところを見ると,まだまだ安定とは言い難いんだろうな。

追記(2013/2/14):
 php5apache2_4.dll でググって来られる方がおられるようなので,追記。 PHP5.4.10 から php5apache2_4.dll も PHP のオフィシャルバイナリに同梱されるようになりました。

カテゴリー
WordPress

本家のお世話-#42。(WordPress3.4へアップデート)

 WordPress 3.4「Green」日本語版がリリースされたので,アップデートした。WordPressのスクリプトが,PHP5.4.xに完全対応してくれば,例のApacheのクラッシュにも好影響があるのではないかとの仄かな期待もある。ホンの仄かなものだけどネ(爆)。

 本家のお世話-#23。にも書いている通り,マルチサイトにしてから親サイトの言語設定のせいか,ダッシュボードの「WordPressの更新」のところに日本語版のアップデートが表示されなくなっているので,今回も手動。ファイルを全部FTPで差し換えてから,ダッシュボードにアクセスしたら,一番上部に
   Thank you for Updating! Please visit the Update Network page to update all your sites.
というのが,表示されていた。リンクをクリックして,「Update Network page」に行く。
————————————————————————————————————————-
   Update Network

   You can update all the sites on your network through this page. It works by calling
   the update script of each site automatically. Hit the link below to update.

   [Update Network]  <<— ボタン
————————————————————————————————————————-
ということなので,ボタンをクリックしたら,数秒で,
   All done!
になった。めでたし,めでたし。

 今のところ,使用プラグインも含め,動きに特に変わった点は見られない。

 チョコチョコとあちこち仕様が変わっているようだが,ルートディレクトリで以下の2ファイルがなくなっている。
   wp-pass.php
   wp-register.php

カテゴリー
WordPress

本家のお世話-#41。(Malwareの話)

投稿アップデート情報  追記(6/23)

 臨時サーバには,ウイルス対策ソフトとして,Avira Free Antivirusを入れてある。今朝,これが34個もの「PHP/WebShell.A.1[virus]」を報告してきた。検知場所は,C:WINDOWSTempのphpxx.tmpというわけで,現時点で悪さをしているわけではないらしい。

 当然削除したが,せっかくCentOS6の練習機を建てたので,これでちょっとphpxx.tmpの中を覗いてみた。初体験。こんな感じ。
—————————————————————————————————————————
   <?php
   $auth_pass = "";
   $color = "#df5";
   $default_action = ‘FilesMan’;
   $default_use_ajax = true;
   $default_charset = ‘Windows-1251′;
   preg_replace("/.*/e","x65x76x61x6Cx28ーーーー省略1ーーーーx63x6Fx64x65x28
   ’~~~~省略2~~~~’
   x29x29x29x3B",".");
   ?>
—————————————————————————————————————————
 見たところ,普通のPHP Script。ただし,本体部分は,エンコード後圧縮されている。
 Windows-1251 は キリル文字で,この文字コードで保存されているらしい。
 x65x76x61x6Cx28ーーーー省略1ーーーーx63x6Fx64x65x28 の部分をデコードすると,
eval(gzinflate(base64_decode( 同様に,x29x29x29x3B の部分は ))); になる。本体部分(~~~~省略2~~~~)は,素人が生半可にいじるのは危ないかなと思い,何もしなかった。何か結構,深刻なタイプのBackdoorで Windows にも Linux にも影響があると書いてあるし。

 どこから着弾したのかと思って調べてみたが,よく分からない。よく分からないが,Apacheのログに,
   78.85.9.30 – – "POST ~/uploadify.php" 404 "Googlebot/2.1" <<– 関係部分のみ抜粋
というのが,phpxx.tmpと同じ時間帯にズラッと並んでいた。自鯖上には uploadify.php は1枚もないから,HTTPエラーコードはすべて404になっている。これは失敗しているけど,開いているポートから,tmpファイルとして送り込まれたということだろうか。この辺りのことが,もともとよく理解できていないのだが,今回調べてもまだよく分からない。ご存知の方は,ご教示いただけるとありがたいです。

 ところで,uploadify.php だが,6月9日づけで,WordPress Exploit Alert: Uploadify.phpという記事が見つかったから,脆弱性があるらしい。既に,パッチが出ているのかどうかははっきりしない。

 書き忘れるところだった。UAがGooglebotになっているが,逆引きすると,ホスト名は a30.sub9.net78.udm.net になるので,詐称は明らかなようだ。

追記(6/23):
 今日,WordPress Exploit Alert: Uploadify.phpを見に行ったら,新しい情報が書き込まれていた。関係のある方は,参考にされるといいかもしれない。

カテゴリー
Linux

CentOS6の練習(sudoers fileの編集)。

 LINUX Serverを建てなくてはいけないのだが,その前にちょっと,CentOS6の使い方の練習をやってみようと思う。

  • Ubuntuでお馴染みのsudoだが,CentOSのデフォルトでは使えない。
    $ sudo yum update
    [sudo] password for centos:
    とやって気づいた。以下のエラーが戻ってくる。centosというのは,使用中の一般ユーザ名。
    centos is not in the sudoers file. This incident will be reported.
    どうやら自分でsudoers fileにユーザを追加しなければいけないらしい。ところで,CentOS6デフォのインストールではSELinuxは有効だ。これは
    # getenforce
    で確認できるが,現時点でこれを打つと,Enforcingが戻ってくる。SELinuxが有効で,なおかつ,他の人が使うわけでもないので,サーバ上でsudoが使えなくても別にいいのだが,練習のためにsudoers fileとやらをいじってみることにした。

    /etc/sudoersというのがあるようなので,rootになって,
    gedit /etc/sudoers
    とやってみたら,何かすごく怒られたけど,sudoersが開くことは開いた。
    ## Allow root to run any commands anywhere
    のエリアに,
    centos ALL=(ALL) ALL
    を追加して上書き保存しようとしたら,「読み込み専用のディスクにファイルを保存しようとしています。」とまた怒られた。「読み込み専用のディスク」と言うことなので,sudoers fileだけの問題ではないらしい。

    よく見てみると,sudoers fileの8行目に
    This file must be edited with the ‘visudo’ command.
    というのがあった。visudoでググってみた。Man page of VISUDOというのがあった。しかし,いいページを見つけたな。JM Projectって,「JM Project は日本語オンラインマニュアルパッケージの作成、 配布を行なっているプロジェクトです。」ってことらしい。日本語Manの大元じゃん。

    # visudo
    とやったら今度はなんのお叱りもなく,sudoers fileが開いた。ただし,苦手なviで(泣)。ひとまず「↓」で該当場所まで移動する。「i」で挿入モードに切り替え,
    centos ALL=(ALL) ALL
    をさっきいれたいと思ったところに追加し,「←」で行頭まで移動。「Esc」で編集モードを抜ける。「o」で空白行を1行,挿入した次の行に追加する。挿入モードになっているので,再度「Esc」で編集モードを抜ける。普通のviは,「:wq」で上書き保存終了だが,visudoの場合は,「Q」と書いているので,恐る恐る押してみる。すぐに終わらずに下記のメッセージが出た。

    Entering Ex mode. Type “visual” to go to Normal mode.
    :
    「Ex mode.」と言うことなので,「w[Enter]」を打って上書き。

    “/etc/sudoers.tmp” 116L, 3819C written
    :
    と表示されたので,「q[Enter]」を打って終了。フーッ,終わった(苦笑)。
    他のページで,viの使い方説明ページじゃないのに,ここまでviの使い方を細かく書いてるとこないよな。いつも,昔知り合いに教わったノートを引っ張り出してきて,見ながらやってるんだ。「習うより慣れろ」で,常時使っていると慣れるんだろうけど……LINUX Serverに移行するんなら,本当に慣れなくては!!

    gedit /etc/sudoers で中を確認してみたら,ちゃんと行が付け加えられていた。
    $ sudo yum updateをやってみる。出来た。

カテゴリー
Linux

本家のお世話-#40。(サーバ機テンヤワンヤ-#4)

 一昨日,2週間ぶりくらいで勝った鷹が,昨日も勝った(喜)。今日は月曜日だが,交流戦の変則日程で試合があるので,勝ってほしいな(祈)。

 第4弾は切りづらくてバカ長くなってしまった。読みづらいこと甚だしいが,今のところ書き直す元気がない。だって,夕べまた,臨時サーバの調子が悪くて,おいでいただいた方のアクセスを別場所にとばして,弄っていたのだよー。このノートも本当に厳しい状態になってきた。やっぱり,ハードディスクかなあ。しかし,多少腑に落ちないところもある。何とか,サーバを帰宅させるまでは,LC550にがんばってもらいたいんだが……

 ところで,転載分のFHさんの掲示板の話を読むと,自分の考えや皆さんの提案の紆余曲折が分かって面白い。あとになって振り返ってみれば,「あれは,違っていたなあ」と思うこともあるが,リアルワールドで,ゴチャゴチャ話しながらすると,ひょいと考えもしなかったようなことを思いつくことがあるのに,似たところがある。これが複数で当たることのよさ。昔から「3人寄れば文殊の知恵」というではありませんか。みなさま,ありがとうございました。

図1

 本家のお世話-#39。での,誤差確認を経て,皆さんの意見も「やはりちょっと温度が高すぎるようだ」と言うところに落ち着いた。また,xw4200の内部の構造から考えて,「ふたを開けて稼働させても,あまり冷却効果は上がらないだろうと思う」というjuneさんからのお話もあった。実際,xw4200のふたを開けて連続稼働してみたが,さして冷却効果は増さなかった。

 しかし,私はここでちょっと脇道にそれた。本筋と全く関係ないわけではないのだが,Pen4のHyper-Threading Technologyの話が出てきて,サーバ機ならそっちの方が温度にもよさそうだというので,試そうとしたのだ。juneさんが,「セットアップとトラブルシューティング」の「3.7 Hyper-Threading 技術を有効にする(22ページ)」に書いてあるやり方を調べてくださったのだが,あとから考えるとこの説明書の記述が若干違っていた。「Device Options (デバイスオプション)」のところにあるという記述に引きずられて,ハマってしまったが,Hyper-Threadingの項目は,結局,「電源投入時オプション」のところにあった。いつものことながら,自分の思い込みにはあきれてしまう。ホント,困ったもんだ(爆)。

 まぁ,最終的には達成できて,図1のように,デバイス・マネージャ上にCPUが2つ表示されるようになった。それから,xw4200には MAS3367NP がついていたが,このSCSI Diskの温度が,HWMonitorでもEverestでも測れていなかった。SCSI DISK対応のフリーソフトをネット上で探した。他にもあるのだろうが,HDDScanHDD-SCANとは別のソフト)というのがあったので測ってみたが,朝一の電源投入直後,室温より4℃も低い17℃で,どうも,あんまり当てにできない。(転載Part4です。)

 さて,ここに至って,チョクチョク C0000218 エラーが出るようになった。これが,xw4200の中をもう一回掃除し,使っていないIEEE1394のボード(AFW-2100)を外したりした後だったので,その辺に原因があるのかと思ったのだが,あとから考えると本家のお世話-#34。に書いたように, MAS3367NP がご臨終寸前だったらしい。しかし,この時点ではそんなことはわからないから,悪あがきもしてみたけど,
C0000218エラーのメッセージが,ハード関係でなく出ることもあるらしいということにすがって(何かソフトですむ手がありそうだと,そっちに走ってしまうのが常。リアルワールドでも,そうです。 <<--- なんちゃって。),CentOS6をインストールしてしまった。で,それでやれやれ起動するようになったワイと喜んでいたら,Disk Read Errorが出るようになった。改めて,前とは別方法で地道に MAS3367NP を調べてみたら,すごい数の不良セクタが見つかったわけだ。  SCSI DISKは MAS3367NP だけしか手持ちがないから,この際,ボード(LSI Logic LSI20320A-R Ultra320)も込みで外してしまった。

 Maxtor 6Y160M0を整理して,CentOS6をインストールし直すことにしたのだが,そのためには,データの入ったままのMaxtor 6Y160M0のパーティションを,切りなおさないといけない。どういう訳か,この間利用したGparted-live0.12.0-5では起動できなかったので,たまたま手元にあった,Knoppix 5.1.0のLiveCDで起動し,該当のパーティションを切り直した。Knoppix 6.7.1でも起動できなかった。今回はその辺が目的ではないので細かく調べていないが,なんでだろう。

 Knoppix LiveCDのGpartedをGUIで使用しようとするとrootのパスワードを要求されるので,Gpartedの使用前に,rootのパスワードを設定する必要がある。
 コンソールを立ち上げて,
     su
でrootになり,
     passwd
と打つとパスワード設定画面になるので,使いやすいパスワードを設定する。このパスワードは,Knoppix LiveCDのこのセッションが終われば破棄されるので,使いやすいわかりやすいもので構わない。あとは,GUIでGpartedを起動し,普通通りパーティションを切りなおす。この作業は,CentOS6のLiveCD(i386)でも可能なのかもしれない。

 ところで,xw4200はx64にも対応しているらしいが,メモリも2ギガしか積んていないし,x64関係をインストールするとどうなるかもよくわからないので,今回使ったものは,SCSI DISKに入れたのも,空けたパーティションにインストールしたのも,理研ミラーから落としたCentOS-6.2-i386-bin-DVD1.isoとCentOS-6.2-i386-bin-DVD2.isoだ。手順はWindows7 HP 64bit SP1+CentOS6のデュアルブート-#2。を参照。実は,「Minimal Desktop」のインストールだと,CentOS-6.2-i386-bin-DVD2.isoは必要ない。また,Hyper-Threading Technologyについては,「セットアップとトラブルシューティング」の「4.3 Hyper-Threading 技術を有効にする(28ページ)」に「Linux システムでは最新のシステムBIOS とSMP カーネル が必要です。」という文言があったが,インストール前にBIOSでHyper-Threading 技術を有効にしておけば,何も問題は生じなかった(インストール後 less /proc/cpuinfo をやってみたら,cpuが2つ表示された。 <<--- cpu情報を表示させるコマンド,終了は「q」キー)。BIOSについては,今回のドタバタの間に,メーカサイトからver.01.09 Rev. a (15 7 2005)を落としてアップデートしている。ずいぶん古い日付だが,xw4200の公式BIOSとしては,これが最新のようだ。  再起動する。  ようこそ画面で基本情報設定後,作ったばかりの一般ユーザでログイン。すぐに,端末を立ち上げてrootになり,yum update する。  ≪注意≫この後しばらくは端末上のrootでの話です。

  1. viを使い慣れていないので,GUIのテキストエディタとして,Text editor for the GNOME desktop(つまりgedit)をインストール。
     yum install gedit

     hostsファイルを編集して,現サーバに接続できるようにする。
      gedit /etc/hosts
    と打つ。自宅サーバのIPv4を追加して保存。

  2. CentOSはデフォルトでは,ntfsに対応していなくて残存しているデータエリアが読めなくて不便なので,Unable to mount ntfs partition on CentOS 6.を参照しながら,ntfs-3gをインストールする。

         wget http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.i686.rpm
         rpm -Uvh rpmforge-release-0.5.2-2.el6.rf.i686.rpm
     インストール直後のCentOS6には,fuse-ntfs-3gが入っていないので,
         yum install fuse-ntfs-3g
    でこれをインストール。デスクトップから,データエリア内のパーティションを開いて読み書きを試してみる。できた。

  3. Clamavをインストールする。デーモンとして使うので,
         yum install clamd
    これで,clamav-db,clamav,clamdがインストールされる。
     clamd.conf(gedit /etc/clamd.conf)の編集。この辺は,新・懸案のLoox(DazukoFS+ClamAV+HAVP on LuPu)。の経験をもとに書いているのだが,パッケージとして出来上がっているものなので,スゴーク楽ちん。freshclam.logなんかも既にあってデフォルトのままで使えるのだ!!189行をコメントアウト。
         # User clamav <--- root権限だけに制限。Puppyのときはルートしかいなかったから関係なかったとこ。User rootの明記も必要ないみたい。  Clamavをデーモンとして起動する。      /etc/rc.d/init.d/clamd start  以下のように注意されるので,      Starting Clam AntiVirus Daemon: LibClamAV Warning: **************************************************      LibClamAV Warning: *** The virus database is older than 7 days! ***      LibClamAV Warning: *** Please update it as soon as possible. ***      LibClamAV Warning: ************************************************** 定義ファイルを更新しよう。      freshclam  まぁここまではいいとして,後のcronの使い方がよく分からん。ひとまず,テストスキャンだけやってみるか。      clamscan --infected --remove --recursive /home    ----------- SCAN SUMMARY -----------    Known viruses: 1217320    Engine version: 0.97.4    Scanned directories: 340    Scanned files: 315    Infected files: 0    Data scanned: 81.66 MB    Data read: 102.06 MB (ratio 0.80:1)    Time: 23.913 sec (0 m 23 s)  その後のスッタモンダでまだこのまま。つまり,ときどき手動でスキャンしている。今は,何かやるとき以外は,ほとんど電源OFFなので問題ないだろうが,サーバとして稼働させる前にちゃんと対処しなくては(汗)。
  4. ブログ上のflash video が見れない。FireFoxで
         http://get.adobe.com/jp/flashplayer/
    に行き,tar.gzファイルを選んでダウンロード。端末に戻り,
         cd /home/User_ID/ダウンロード
    でダウンロードフォルダに移動し,
         tar -zxvf install_flash_player_11_linux.i386.tar.gz
    で,libflashplayer.soを抽出後,これをFireFoxのプラグインフォルダにコピーする。うちの場合は,/usr/lib/mozilla/pluginsだった。
         cp libflashplayer.so /usr/lib/mozilla/plugins
     FireFoxを再起動すると,flash videoを見れるようになった。Adobe Flash Playerの更新は,手動になるなぁ。
  5. 今回の件には,温度がからんでいるので,lm_sensorsをインストールする。
         yum install lm_sensors
     自機のセンサーを捜索する。
         sensors-detect
     いろいろ質問が続くが,すべて[Enter]で構わない。質問の内容は,センサをscanするかと,/etc/sysconfig/lm_sensorsを見つけた結果で上書きするかということである。うちで,見つかったのは以下の2つだった。
    —————————————————————————–
       Driver `smsc47b397′:
         * ISA bus, address 0x480
          Chip `SMSC LPC47B397-NC Super IO’ (confidence: 9)

       Driver `lm90′:
         * Bus `nouveau-0000:01:00.0-2′
          Busdriver `drm’, I2C address 0x4c
          Chip `National Semiconductor LM89/LM99′ (confidence: 8)
    —————————————————————————–

  6. この際,hddtempも入れることにする。
         wget http://fedora-mirror01.rbc.ru/pub/epel/6/i386/hddtemp-0.3-0.20.beta15.el6.i686.rpm
         rpm -Uvh http://fedora-mirror01.rbc.ru/pub/epel/6/i386/hddtemp-0.3-0.20.beta15.el6.i686.rpm
  7. まとめてリアルタイムで表示させるために,gnome-applet-sensorsを使うことにする。(http://www.atmarkit.co.jp/flinux/rensai/linuxtips/893hddtemp.htmlを参照。)
         wget ftp://ftp.univie.ac.at/systems/linux/dag/redhat/el6/en/i386/dag/RPMS/gnome-applet-sensors-2.2.7-1.el6.rf.i686.rpm
         rpm -Uvh ftp://ftp.univie.ac.at/systems/linux/dag/redhat/el6/en/i386/dag/RPMS/gnome-applet-sensors-2.2.7-1.el6.rf.i686.rpm

≪注意≫ここでrootをexitします。

 端末でsensorsとやって測定。大したデータ取れず。以下のとおり。しかも,どっちがどっちか分からないorz。
   smsc47b397-isa-0480
   Adapter: ISA adapter
   fan1: 2898 RPM
   fan2: 0 RPM
   fan3: 0 RPM
   fan4: 1535 RPM
   temp1: +60.0°C
   temp2: +0.0°C
   temp3: +41.0°C
   temp4: +0.0°C
 hddtempでも測ってみた。ほんとかいな。今室温25℃なんだが。
     # hddtemp /dev/sda
     /dev/sda: Maxtor 6Y160M0: 39°C

 HDDTEMPを自動起動するアプリに登録する。コマンドの欄には,hddtemp -d /dev/sda を記入する。ここで,OSを再起動。先の参考ページにはログインしなおすと書いてあるのだが,それではだめだった。
 パネルにGNOME Sensors Appletを追加する。パネルを右クリックして,[パネルへ追加]を選択し,[パネルへ追加]ダイアログボックスから[Hardware Sensors Monitor]を選択して[追加]ボタンをクリックする。[Preferences]や[Configure Sensor]を自環境に合わせて,設定する。この辺が,転載Part5になる。

 さて,このあとFHさんの掲示板を読み直していて,扇風機で冷やしてみるということをまだやっていなかったのに気づいた。なにしろ,次から次へと問題が起こったので。<<--- 言い訳(汗)。やってみなくてはということで,冷やしてみた。結構,冷えたねぇ。    fan1: 2202 RPM    fan4: 1249 RPM    temp1: +53.0℃    temp3: +30.0℃    /dev/sda:Maxtor 6Y160M0: 30℃  それと,このときの副産物として,ほぼ同じものを測定していると思っていたtemp3と/dev/sdaは,まったく違うものを測っているらしいことが分かった。temp3が何を示しているのかは,はっきりしないままだが。  この辺で,juneさんにAMIBIOSのHealth Statusを教えていただいたので,その関連でBIOS項目を見直していた。そして,システムファンのアイドル段階を手動ではあるが,7段階も変更できるということを初めて知った(大汗)。  で,これを7段階の5番目(「低 <-- 1234(5)67 --> 高」)にしてみたら,
   fan1: 4026 RPM
   fan4: 2671 RPM
   temp1: +49.0°C
   temp3: +36.0°C
   /dev/sda: Maxtor 6Y160M0: 36°C
すごい。なんで5番目かというと、7番目だと,単に,ものすごーくうるさかったので(爆)。

 FHさんから,「夏場に設定”7”で無事通過できればイイですね。」というレスをいただいて,長かった「FHの掲示板」での相談を終えた。最終 —>> 転載Part6です。
 本当に,お世話になりました m(_”_)m。

カテゴリー
everyday life

レイ・ブラッドベリ死去。

 レイ・ブラッドベリ(Ray Bradbury)が亡くなりましたねぇ。91歳だった。

 華氏451度 (Fahrenheit 451),火星年代記 (The Martian Chronicles)なんかが有名だか,ウは宇宙船のウ (R Is for Rocket)や10月はたそがれの国 (The October Country)などの短編や何かが道をやってくる (Something Wicked This Way Comes)がなつかしいネ。

カテゴリー
everyday life

本家のお世話-#39。(サーバ機テンヤワンヤ-#3)

 本家のお世話-#35。の最後に書いたように,運よくグリスのことを思い出したので,FHさんのところで相談して,買いに行ってきた。腕が悪ければ,何を使っても同じかとも思ったが,逆に腕が悪いからいいものの方がましかという思いもあって,その店で一番高かったArctic Silver 5というシルバーグリスを買ってきた(爆)。

 グリスを塗るのに,もう一度シンクも外してよく見たら,まだ埃が見られたので,ついでにエアダスターで飛ばしておいた。エアダスターは,グリスと一緒に店で買ってきた。

 グリスの除去は,どういうわけか家にあった消毒用のエタノールで行なった。まぁ,そこそこきれいになってるよね(図1)。で,要領もうかがったので,グリスを塗り直して再固定した。この辺,転載Part2をお読みください m(_”_)m 。

 ここから,話は温度になってくるのだが,掲示板でのやり取りを見てると,ホント迷走してるねぇ。そのほとんどの原因は,私がサーバ機のハードウェア・スペックをちゃんと把握していなかったことにあるんだが(爆)。

 実は,PCの温度を真剣に測ったことが,あんまりない。使ってきたPCは主としてノートタイプだったので,温度の改善としては,もともとついているチルトを使って傾けるとか,台に載せて底面に風が通るようにしてやるくらい。まぁ,ファンの掃除というのもあるだろうけど,ノートの場合,ファンまでたどり着くのも結構大変だし。
 しかし,今回はサーバ機の不具合が出たときに,「熱暴走かも」という話もあったので,動かしだしたら,まず,数種のソフトを使って温度を測ってみた。もっとも,故障前にはかった温度の記録としては,EVEREST Home Editionで測ったものしかなく,しかもどんな状況での測定値かもわからない状態である。この記録(2009年10月のもの)では,GPU 45℃  GPU周囲 36℃  Maxtor6Y160M0 50℃ になっていた。

 連続稼働後に測った記録画像が図2だ。これは,上段がHWMonitor,下段がEverestのものである。

 ここで,温度測定ソフトの誤差がどのくらいかという話になって,一晩電源を落としてPCをしっかり冷やしたのち,朝一で電源投入直後の温度を測ってみた。これが右の図3になる。
 電右衛門さんのお話によると,  HDDの温度-室温-5℃=表示誤差  という式が成り立つそうで,これによると,室温が20℃だったこのときの誤差は,
29-20-5=4(℃)ということになる。つまり,連続稼働時には,実態としても,かなり温度が上がっているということになるわけだ。

図1
 
図2
 
図3

 この温度の話は,転載Part3あたりになるので,よろしく。

カテゴリー
Windows

本家のお世話-#38。(PHP5.4.3へアップデート)

投稿アップデート情報  追記(2013/2/14)

 php5ts.dllのクラッシュによる再起動は完全になくなったわけではないので,Win版ApacheとPHPのおニューが出たときにはアップデートするように心がけているのだが,PHPはあまりに早く対処すると怖いという経験がある。それに,ハードの不具合でバタバタしていたせいで後回しになっていたが,本日遅ればせながら,PHP5.4.3(May-08 18:26:37UTC)にアップデートしてみた。Apache Loungeを見たら,httpd-2.4.2-win32-VC9.zip(May-14)もタイムスタンプが変わっているようなので,これも一緒に入れ替えることにした。

 php5apache2_4.dll-php-5.4-win32.zipも実体は変わっているようなので落として展開してみたら,PHP5.4.3用のphp5apache2_4.dllが入っていた。危ない危ない。気づかなかったら,またハマるところだった。これを忘れずにPHPディレクトリに入れること。

 Apacheのhttpd.confとphp.iniは前版と変更点がなかったので,そのまま利用した。もし,参考にされる方がいたら両方の設定については,本家のお世話-#28。を参照してください。

 ついでに,MySQLもmysql-5.5.25-win32.msiにアップデートした。

追記(2013/2/14):
 php5apache2_4.dll でググって来られる方がおられるようなので,追記。 PHP5.4.10 から php5apache2_4.dll も PHP のオフィシャルバイナリに同梱されるようになりました。

カテゴリー
Windows

マイクロソフト セキュリティ アドバイザリ (2718704)

投稿アップデート情報  追記(6/9)

 まぁ,参っちゃいますねぇ。Microsoft 自身が発行した証明書が悪用されたらしく,その対応としてマイクロソフト セキュリティ アドバイザリ (2718704)が出ました。世も末じゃ。

 自動更新にしていればもうパッチが当たっているはずですが,更新プログラムとして,KB2718704があるかどうか,一応確認してみましょうね。あったら,O.K. ない場合は,Microsoft Updateを利用しましょう。それでもうまくいかない場合は,Unauthorized digital certificates could allow spoofingに行って,自分のOSに対応するものをダウンロードしてインストールしましょう。英語のページですが,ダウンロードファイルそのものは,言語別になっているので,落とす前に,日本語にしてから落としましょう。

 関係あるのは,
     Microsoft Enforced Licensing Intermediate PCA (証明書 2 つ)
     Microsoft Enforced Licensing Registration Authority CA (SHA1)
ということらしいので,結構あちこち影響あるのじゃないでしょうか。マイッタマイッタ(爆)。

追記(6/9):
 こういう悪夢の元だってことだよねえ。今回は,対象がちょっと別次元だったので,一般人はなんとか最悪のシナリオをまぬかれたってことらしい。

カテゴリー
Windows

本家のお世話-#37。(Operating System Not Found)

 朝起きて(臨時)サーバを見たら,ブラックアウトしているはずのモニタ画面に,何やら白い字が浮かんでいる。「Operating System Not Found」。えーーーーーーっ。ということで,本日,さっきまで自鯖が落ちていました。朝の5時ごろ(多分)から,夕方の6時半くらいまで。m(_”_)m。
 なんかこの頃こんなんばっか。要するに,こないだのことが根本的に解決していないということなんだろう。しかし,なんかで異常が起きて,その後,再起動し,この事態ということだよね。

 しかし,すぐに電源を落として,手動で再起動したら,普通に起きるんだよ。どうしてっ。起動後に「システムは深刻なエラーから回復しました。」の窓が出現し,それのおっしゃることには,C:\DOCUME~1\lc550\LOCALS~1\Temp\WER031f.dir00\Mini060312-01.dmp を作ったよということなので,イベントビューアからシステムのイベントを見に行ったら,なるほど,Save Dumpという項目があった。Tempのファイルは,エラーメッセージを閉じてしまうと削除されるが,ダンプファイルは C:\WINDOWS\Minidump\Mini060312-01.dmp という形で保存されていた。しかし,こっから長い1日だったねー。
 今日は珍しくなにも予定のない日で,FHさんところでお世話になった件の続きを書こうと思っていたのに。(もともとの)「サーバ機テンヤワンヤ」の記事がちっとも捗らない。

 「まぁ,これも勉強だから」ということで,ダンプファイルの解析をしてみることにした。以下の4ファイルをダウンロードした。しかし,このダウンロード,かなりブロークンリンクが多くて,正しいところに行きつくまで手間取った。「MS,ヘルプページの保守が悪いんじゃないの!?」他のメーカとは比べ物にならないくらい巨大なアーカイブだということはわかるけど,もうちょっとどうにかしてほしいヨ。

  1. Windows XP Service Pack 3 x86 製品版シンボル、全言語
    WindowsXP-KB936929-SP3-x86-symbols-full-ENU.exe のこと
  2. .NET Framework 4
  3. .NET Framework 4 Full 日本語 Language Pack(x86)
  4. Microsoft Windows SDK for Windows 7 and .NET Framework 4(winsdk_web.exe)

 この順でインストール。2.と3.はクライアント用ではなくフルバージョンということになる。当然ながら,このインストールはサーバ機ではなく,別PCに行った。

 本当は,WinDbgをスタンドアローンで使いたかったのだが,Debugging Tools for Windows をスタンドアロン コンポーネントとしてインストールするを見ると,インストール要件を満たしていないようで,よくわからないので,もういいやということでwinsdk_web.exe をインスールした(投げやりー)。
 winsdk_web.exeでは,ツールと一緒にVC10をインストールするようになっているが,同梱のVC10より新しいものがすでにインストールされていると,ライブラリの関係でインストールが失敗するので,前もって既インストールのVC10をアンインストールしておいた方が無難。
 同梱のVC10をインストールしないで,既インストール版をそのまま使うということも考えたが,既に入っているものすらしっかり認識されずにバージョンでエラーが出るくらいだから,WinDbgとVC10の連携がうまくいかないと困ると思ったので,既インストール版VC10をアンインストールして,winsdk_web.exeをインストールし,その後,MicroSoft Updateを行うという手間をかけた。

 WinDbgを起動し,メニューの「File」>>「Symbol File Path」に1.でインストールした,C:\WINDOWS\Symbols を設定する。シンボルパッケージは,ローカルにインストールしなくても,常時インターネット接続なら,ここに,SRV*c:\websymbols*http://msdl.microsoft.com/download/symbols とやってもおくと,いつも最新のシンボルが参照できるらしい。

 起動したWinDbgに,サーバからコピーしてきたMini060312-01.dmpをD&Dすると,


Microsoft (R) Windows Debugger Version 6.12.0002.633 X86
Copyright (c) Microsoft Corporation. All rights reserved.


Loading Dump File [A:\Mini060312-01.dmp]
Mini Kernel Dump File: Only registers and stack trace are available

Symbol search path is: C:\WINDOWS\Symbols
Executable search path is: 
Unable to load image ntoskrnl.exe, Win32 error 0n2
*** WARNING: Unable to verify timestamp for ntoskrnl.exe
Windows XP Kernel Version 2600 (Service Pack 3) UP Free x86 compatible
Product: WinNt, suite: TerminalServer SingleUserTS Personal
Machine Name:
Kernel base = 0x804d9000 PsLoadedModuleList = 0x8055d2c0
Debug session time: Sun Jun  3 05:18:17.788 2012 (UTC + 9:00)
System Uptime: 2 days 7:02:04.384
Unable to load image ntoskrnl.exe, Win32 error 0n2
*** WARNING: Unable to verify timestamp for ntoskrnl.exe
Loading Kernel Symbols
...............................................................
..............................................................
Loading User Symbols
Loading unloaded module list
.............................
*******************************************************************************
*                                                                             *
*                        Bugcheck Analysis                                    *
*                                                                             *
*******************************************************************************

Use !analyze -v to get detailed debugging information.

BugCheck 7A, {c03ddee4, c000000e, f77b950c, 22013860}

Unable to load image atapi.sys, Win32 error 0n2
*** WARNING: Unable to verify timestamp for atapi.sys
Probably caused by : atapi.sys ( atapi!ChannelQueryBusRelation+2f )

Followup: MachineOwner
---------

 下線のついた!analyze -vというのをクリックすると,さらに,

*******************************************************************************
*                                                                             *
*                        Bugcheck Analysis                                    *
*                                                                             *
*******************************************************************************

KERNEL_DATA_INPAGE_ERROR (7a)
The requested page of kernel data could not be read in.  Typically caused by
a bad block in the paging file or disk controller error. Also see
KERNEL_STACK_INPAGE_ERROR.
If the error status is 0xC000000E, 0xC000009C, 0xC000009D or 0xC0000185,
it means the disk subsystem has experienced a failure.
If the error status is 0xC000009A, then it means the request failed because
a filesystem failed to make forward progress.
Arguments:
Arg1: c03ddee4, lock type that was held (value 1,2,3, or PTE address)
Arg2: c000000e, error status (normally i/o status code)
Arg3: f77b950c, current process (virtual address for lock type 3, or PTE)
Arg4: 22013860, virtual address that could not be in-paged (or PTE contents if arg1 is a PTE address)

Debugging Details:
------------------


ERROR_CODE: (NTSTATUS) 0xc000000e - <Unable to get error code text>

DISK_HARDWARE_ERROR: There was error with disk hardware

BUGCHECK_STR:  0x7a_c000000e

CUSTOMER_CRASH_COUNT:  1

DEFAULT_BUCKET_ID:  DRIVER_FAULT

PROCESS_NAME:  System

TRAP_FRAME:  f7cbccdc -- (.trap 0xfffffffff7cbccdc)
ErrCode = 00000000
eax=8678e068 ebx=867bb020 ecx=00007b2a edx=867c62d4 esi=86150bc8 edi=867c60e8
eip=f77b950c esp=f7cbcd50 ebp=f7cbcd60 iopl=0         nv up ei pl zr na pe nc
cs=0008  ss=0010  ds=0023  es=0023  fs=0030  gs=0000             efl=00210246
atapi!IdePortScanBus:
f77b950c ??              ???
Resetting default scope

LAST_CONTROL_TRANSFER:  from 80523e01 to 80535876

STACK_TEXT:  
f7cbcbd4 80523e01 0000007a c03ddee4 c000000e nt!KeCheckForTimer+0x5a
f7cbcbfc 804fb2c8 813831c8 c03ddee4 f77b950c nt!MiWaitForInPageComplete+0x215
f7cbcc74 804eda7a 22013860 f77b950c c03ddee4 nt!MiDispatchFault+0x2fb
f7cbccc4 804e372b 00000000 f77b950c 00000000 nt!MmAccessFault+0x609
f7cbccc4 f77b950c 00000000 f77b950c 00000000 nt!KiTrap0E+0xdf
f7cbcd4c f77bbe29 867c60e8 867c2098 867c6030 atapi!IdePortScanBus
f7cbcd60 80566710 867c6030 867e7130 805643fc atapi!ChannelQueryBusRelation+0x2f
f7cbcd74 804e627b 867c2098 00000000 867bb020 nt!ObpRemoveObjectRoutine+0x4
f7cbcdac 8057b4dd 867c2098 00000000 00000000 nt!ExpWorkerThread+0x123
f7cbcddc 804fa90f 804e61a6 00000001 00000000 nt!HvMarkDirty+0x174
f7cbce04 00000000 0000ffff fffcfffc fffcfffc nt!KeStartThread+0xd


STACK_COMMAND:  kb

FOLLOWUP_IP: 
atapi!ChannelQueryBusRelation+2f
f77bbe29 ??              ???

SYMBOL_STACK_INDEX:  6

SYMBOL_NAME:  atapi!ChannelQueryBusRelation+2f

FOLLOWUP_NAME:  MachineOwner

MODULE_NAME: atapi

IMAGE_NAME:  atapi.sys

DEBUG_FLR_IMAGE_TIMESTAMP:  4802539d

FAILURE_BUCKET_ID:  0x7a_c000000e_atapi!ChannelQueryBusRelation+2f

BUCKET_ID:  0x7a_c000000e_atapi!ChannelQueryBusRelation+2f

Followup: MachineOwner
---------

が追加表示された。読んでみると,ntoskrnl.exeがロードできないと言ってるのは当たり前だろうが,
   Arg2: c000000e, error status (normally i/o status code)
なんていうところがあって,atapi関係がうまくいっていないことが書いてある。そうすると,やっぱり,HDDかなと思って調べたんだけど,この間と同じような状態で,bad sectorsは0なんだよね。

 臨時サーバは,NECのノートだから剥ぐってHDDを調べるのも面倒くさくて,この間やらなかったメモリーテストをMemTest86+でやってみた。そしたら,2枚のモジュールのうち1枚で,何度やっても1カ所だけだけどエラーが出る。しかし,このHDDとmemoryの健康診断に,時間のかかることかかること。終わったころには,疲れ果てて,もう逆さに振ってもやる気が出ない。

 結局この1枚を外して,サーバを再起動したのがさっきなんだけど,これで様子見ということにしよう。もし,今度同じようなことが起きたら,LC550をちょっと脱がしてHDD調べてみないといけないかなぁ。NECのノートって,HDDがホント見にくいよね。そう思いません?

追記:
 でも,結局なんで再起動が発生したのかはつかめなかった。上のでわかったのはあくまでも,再起動後,ntoskrnl.exeがロードできなかった件だけなのだ。