カテゴリー: Computer

  • FreeBSD7はPostgreSQL, MySQLユーザにとって救いになるか?

    クリックして7.0%20Preview.pdfにアクセス

    にFreeBSD7上でのPostgreSQLとMySQLのベンチマークが載っています。

    PostgreSQL 8.2.4 – 11ページ

    ピーク性能でおよそ5400transactions/secほど。

    MySQL 5.0.45 – 15ページ

    ピーク性能でおよそ3800transactions/secほど。

    Kernelの主要な部分すべてがパラレルに動作するようになったため、かなり高速(数値にして数倍)になったようです。

    グラフからもPostgreSQLの方がかなり良い性能であることが分かりますが、PDFファイル(16ページ)によると

    On this benchmark PostgreSQL is 35% – 45% faster thanMySQL at all loads

    とPostgreSQLの方が全般的に良い性能だったそうです。PostgreSQL 8.3は確実に8.2よりもさらに良い性能を期待できると思います。MySQLも5.1や6.0を利用した方が良い性能が期待できるのかも知れません。

    このPDFのベンチマークはデータベースの性能を計る為のベンチマークではなく、OSの性能を計る為のベンチマークです。データベースサーバ設定、SQL文やテーブル構成などが不明なのでデータベースの性能のベンチマークとしては参考値くらいでしかありません。MySQLのテストではMyISAMを使っていると思われますが、MyISAMならこれくらいの性能差は普通です。

  • MySQL5.0.51では不十分

    http://nvd.nist.gov/nvd.cfm?cvename=CVE-2007-5968

    によるとMySQL 5.1.23には脆弱性ありその概要は以下とされています。

    Overview
    MySQL 5.1.x before 5.1.23 might allow attackers to gain privileges via unspecified use of the BINLOG statement in conjunction with the binlog filename, which is interpreted as an absolute path by some components of the product, and as a relative path by other components.
    
    Impact
    CVSS Severity (version 2.0):
    CVSS v2 Base score: 10.0 (High) (AV:N/AC:L/Au:N/C:C/I:C/A:C) (legend)
    Impact Subscore: 10.0
    Exploitability Subscore: 10.0
    
    Access Vector: Network exploitable
    Access Complexity: Low
    **NOTE: Access Complexity scored Low due to insufficient information
    Authentication: Not required to exploit
    Impact Type: Provides administrator access, Allows complete confidentiality, integrity, and availability violation , Allows unauthorized disclosure of information , Allows disruption of service
    

    MySQL 5.0系の最新版は5.0.51ですが、これには上記の脆弱性の修正が含まれているか気になったので調べてみました。

    http://nvd.nist.gov/nvd.cfm?cvename=CVE-2007-5969
    これは同じ日付のMySQL 5.0.51のCVEエントリです。これにはBINLOGの脆弱性に関する記述がありませんでした。リリースノートのURLがあったので見てみましたが以下のリリースノートにの記述がありませんでした。(現時点で)

    5.0.51のリリースノート
    http://dev.mysql.com/doc/refman/5.0/en/releasenotes-cs-5-0-51.html

    5.0.52のリリースノート(現時点では、Enterprise版のユーザしかダウンロード出来ない?)
    http://dev.mysql.com/doc/refman/5.0/en/releasenotes-es-5-0-52.html

    5.0.54のリリースノート(現時点ではまだダウンロード出来ない)
    http://dev.mysql.com/doc/refman/5.0/en/releasenotes-es-5-0-54.html

    5.0には影響ない?
    5.0.51で修正?
    5.0.52で修正?
    5.0.54で修正?

    どれなのかよく分かりません。分かったのはMySQLはコミュニティ版とエンタープライズ版でセキュリティパッチリリースを差別化している事です。5.0.52にもセキュリティフィックスが記載されています。つまり最新のコミュニティ版の5.0.51では不十分です。探せばダウンロードできるのか?アカウントを取ればダウンロードできるのか?いづれにせよどれが最新で安全なのか分かりづらいです。

    リポジトリへのコミットを見ていればセキュリティパッチを見分けてインストールする事も可能ですが、とても一般向けとは言い難いです。

    MySQL 6.0のバージョン管理にはBitKeeperを利用しているようです。5.1、5.0はsubversionのようなので今はまだよいですが、BitKeeperも障壁の一つになりそうです。リポジトリ自体にアクセスしてみよう、と思ったのですが少しググっただけではどこへアクセスすればよいのか分かりませんでした…

    追記
    しばらくしてからまた新しいMySQLのCVEが出ています。
    http://nvd.nist.gov/nvd.cfm?cvename=CVE-2007-5970
    http://nvd.nist.gov/nvd.cfm?cvename=CVE-2007-6303
    http://nvd.nist.gov/nvd.cfm?cvename=CVE-2007-6304

    新しい方は明確にかいてあるので古い方はどうなの?と思わなくてもよいようになっています。

  • PHPで実装されたベイズフィルタ

    PHPで実装されたベイズフィルタを見かけました。
    http://www.atomicmpc.com.au/forums.asp?s=2&c=10&t=4466
    ライセンスはGPLライセンスです。

    ソースコードを見ると当然ですが半角スペースでトークンに分解しているので日本語では使えません。しかし、mecabなどを使用して使えるようにするのはそう難しくありません。もともとベイズフィルタは難しいアルゴリズムではないので読むと直ぐに理解できると思います。PHPで利用できる形態素解析モジュールは幾つかあります。

    しばらく前には毎日数百のコメントスパムが送信されてきていました。b2evolutionデフォルト設定でコメントのモデレートが必須化されてから時間が経過してきたので今はかなり減ってきています。必要性は減ってきてはいますが時間があったら改善したい所です。

  • Rails 1.2.6 リリース

    1.2.4などで修正を試みたセキュリティ上の問題が完全ではなかったようです。
    セッションIDの固定化が可能な脆弱性が(こんどは完全に?)修正されたようです。

    The rails core team has released ruby on rails 1.2.6 to address a bug in the fix for session fixation attacks (CVE-2007-5380). The CVE Identifier for this new issue is CVE-2007-6077.

    PHPの場合、Session Adoptionに脆弱(普通にアプリを作るとSession Fixationにも脆弱なる設定がついこの間までデフォルト…)ですがいつ直すつもりなんでしょう… パッチはあるのですけどね…

  • Parallels Desktopインストール後にVistaが起動しない場合の対処

    BootcampのVistaのVMを訳あってVMWare FusionからParallels Desktopに切り替えようとしたのですが、VMからブートしなくなりました。VMWare Toolsは予めVMWare Fusionで起動中に削除しています。Parallelsが入力をトラップしてしまうのかOSXのマウスも

    Bootcampで直接Windows Vistaを起動しようとすると、BUGCODE_USB_DRIVERとかいうメッセージがブルースクリーンなって出ていました。その後もう一度Bootcampからブートしようとするとprlfs.sysを読み込んだ時にブルースクリーン…

    Parallels関係っぽいドライバなのでセーフモードのコマンドプロンプトからc:\windows\system32\drivers\prlfs.sysを削除するとブートできるようになりました。(とりあえずParallelsからブートして、Bootcampでのブートは試してません)

    別に電源ボタン長押しで切っても大丈夫だと思いますが、Vistaにもshutdownコマンドがあるのでshutdown /sなどとするとシャットダウンできます。

    コマンドは以下の通りです。システム管理者アカウントで実行

    cd c:\windows\system32\drivers
    del prlfs.sys
    shutdown /s /t 0

    ParallelsでWindows Vistaを起動後、Parallels Toolsを再インストールすると正常に動作すれば良いのですが、また同じ症状になりました。

    最初にParallelsをインストールしたときも素直には動作しませんでした。VMWareに比べていろいろやり過ぎている(?)のか気の利いたツールや機能は多いのですが、VMWare Fusionと比べると安定性にはかなり劣る気がします。

  • MomongaLinux4でCanon iP7500を使う

    Canon iP7500をMomongaLinuxから利用するには

    http://www.canon-sales.co.jp/drv-upd/bj/bjlinux260.html

    に掲載されているフィルタをインストールしてCUPSのプリンタ設定ページからドライバを選択すれば利用できるようになります。

    バイナリrpmを入れても良いのですが、以前にうまく動作しなかった事があるのでSRPMからインストールすることにします。

    このcnijfilter-commonはlibxml(obsoleteなパッケージです)が必要なので、どこかから適当なSRPMを拾ってきます。rpmbuildコマンドでビルドするとlibtoolでエラーが発生するので/usr/sbin/libtoolで上書きします。書き換えていれば問題無くビルドできました。

    次にcnijfilterのビルドですが、まずcups-devel, gtk+1-develをインストールしておきます。他にも必要な開発用パッケージがあるかもしれません。必要な物はインストールします。

    %installセクションの

    install -c -s -m 755 ${PR_ID}/database/* ${RPM_BUILD_ROOT}%{_libdir}/bjlib

    の-sオプションを削除します。ライブラリでもないファイルに-s(stripオプション)が付いているのでエラーになります。後はrpmbuildでビルドして出来上がったrpmを全部インストールします。

    CUPSは再起動しないと新しいドライバを読み込まないので再起動します。その後、プリンタメーカでCanonを選択するとcnijfilterがサポートするプリンタ(Canon PIXUS iP4200 / PIXUS iP6600D / PIXUS iP7500 / PIXUS MP500)が一覧に表示されるようになります。

    サポートディストリビューションはSUSE Linux 10.0、Turbolinux FUJIとなっていますが同じ手順でFedoraなどにもインストールできると思います。ここにRedHat系のOSが載っていないのはサポート負荷軽減の為?と勘ぐりたくなります。Libxml2を使うように書き換えればもっと簡単に多くのディストリビューションで使えるようになると思います。

    Canonのページを見るとUSBからの接続しかできないような記述になっていますがネットワークプリンタとして接続できればLPDでもIPPでも印刷できます。

    MomongaLinux3以来のインストールでしたが以前よりインストールが簡単になっていました。以前はインストール済みのライブラリ(確かlibpngとか)を強制的に別バージョンに見せてインストールしたと思うのですが今回はそのような荒技を使わなくても普通にインストール出来ました。

    Mac OSXにはiP7500用のドライバがあるのですがこのドライバはMacのUSBポートに直接iP7500が刺さっていないと動作しない代物です。OSXもCUPSを使っています。CUPSのフィルタならOSXでも使えるはずなので余裕があるときにインストールしてみたいと思います。

    追記:
    とりあえずビルドした物を公開しました。よろしければどうぞ。
    http://wiki.ohgaki.net/index.php?Momonga%20Linux%2FCanon%20Printer

  • PHP 5.3とPHP 5.2

    ちょっと前にPHP 5.3のブランチが作られた、と書きましたが今度は前のマイナーバージョンもしばらくメンテナンスされます。どれくらいメンテナンスされるかは分かりませんが、メンテナンスされるのは良い事です。

    PHP 5.3とPHP6の位置づけですが、基本的にPHP6 = PHP 5.x(最新版)- Unicodeサポートという形で合意が形成されているでPHP 5.xのマイナー版は機能追加が行われる予定です。

    PHP 5.3がリリースされても慌ててPHP 5.2から5.3にアップグレードする必要はありません。ただし、PHP 5.2のサポートはそれほど長くはないので次々とPHP 5.xへとアップグレードする必要性がなくなる訳ではありません。

    PHP 5.3は来年の第一四半期にリリース予定です。

  • 簡単なベンチマーク

    最近のPostgreSQL, MySQL, SQLiteのパフォーマンスはどうかな?と言うことで非常に簡単なベンチマークをしてみました。

    デフォルト状態のデータベースに郵便番号データ(12万件とちょっと)をINSERTしてみました。フラグを除く全てのフィールドをテキスト型として定義し、全てのフィールドを挿入しました。旧番号と現行番号にインデックスを付けています。スクリプトはPHPで記述し、DBが動作しているPC上からPHP 5.2.4で実行しました。1レコードが分割されている場合などは無視して挿入しているので12万2000レコードになりました。

    PC

    CPU: PentiumD 2.8GHz
    Memory: 3GB
    HDD: PATA

    DBMS

    MySQL: 5.0.45
    PostgreSQL: 8.2.4
    SQLite: 3.4.0 (PDO)

    実行結果(12万行INSERTの実行時間)

    InnoDb: 130.70663690567
    MyISAM: 131.24672317505
    Postgres: 159.47350597382
    SQLite: 676.43534302711

    MySQLもPostgreSQLもチューニングは一切無しで実行しています。

    非同期クエリを利用するとPostgreSQLもInnoDb, MyISAMと同じくらいの速度になりました。

    どのDBもペンチマーク中はディスク待ちの状態でCPU時間はあまり使っていませんでした。

    MySQLとPostgresは概ね予想通りの結果でしたが、SQLiteが異常に遅いのでPDOを使わないで計測してみましたがあまり変わりませんでした。トランザクションかな?と思いBEGIN, COMMITを付けてみましたが変わりませんでした。

    INSERTしたレコードをランダムにSELECTしてみました。番号はmt_rand関数で生成したのでほとんどがINDEXにヒットしないので、インデックスを利用した検索の最悪のケースのテストになります。単純にテーブルから検索をするだけです。永続的接続を利用しています。

    Webサーバ:Apache 2.2.6
    クライアント: ab -n 10000 -c 10 (別PCから実行。Athlon64 3500+/3GBメモリ)

    パフォーマンス:リクエスト/秒

    Postgres: 947.58
    SQLite: 1096.00
    MySQL(MyISAM): 1190.35
    MySQL(InnoDb): 1245.85

    概ね予想通りの結果ですが、SQLiteが思っていたより遅いです。PostgreSQLは接続のネゴシエーション処理が重いので非永続的接続を利用するとかなりパフォーマンスが落ちます。システム全体でDBへの接続数を上手に制御できていない場合はpgpoolを利用するとパフォーマンス(システム全体のスループット)が改善することがこの事からも分かります。

    「Postgresでこんな数字でないよ」という方、pg_pconnectで試してみましょう。コネクションプーリングが無いと話になりません。

  • VMWare Fusion 1.1 beta vs. Paralells Desktop 3.0

    Boot CampでOSXとVistaをデュアルブートにして利用しています。Boot Camp 1.4 betaにアップグレードしてからParalellsの調子が非常に悪く、直ぐに固まるのでVMWare Fusionを試してみる事にしました。

    キーボードの配列がAT配列になる、ディスプレイドライバの設定に問題があったのかVistaの画面がSVGAになった、Boot Campのドライバをインストールし直す必要があった、などのマイナーなトラブルは有りましたが普通に使えます。もっともチャレンジャーにもParalellsをアンインストールしないでVMWare Fusionをインストールした事が問題の原因かもしれませんが。

    結論から言うとVMWareを使う事にしました。

    – CPU消費が少ない
    – 速い(体感的に)

    が決め手になりました。Paralellsでぎくしゃくしていたアプリもかなり快適に動作するようになりました。フルスクリーンも使いやすいです。(OSXのメニューバーは邪魔なのでVMWareを使っている時のように隠れてくれるとうれしいのですが… 確かアプリ毎だった気がするのでOSでは変えれないのかもしれません。知らないだけで設定があるのかな?)

    3DとDual Coreを有効にする設定も試してみましたが、3Dを有効にするとVistaでは無理ある(?)らしくまともに利用できませんでした。Dual Coreも有効にして少し使うとフリーズしたので無効にしました。

    細かい所、例えばMacに無いキーが送信できるなどの機能はParalellsの方が良い感じです。しかし、VMWareは多少の問題は在りますが、軽快に動く方が助かるのでVMWareに乗り換えると思います。

    Paralellsをインストールしている方でVMware Fusionを試したい方は最初にParallelsでWindowsを起動してParalells Toolをアンインストールした方が良いです。このツールはParallelsで起動していないとセットアッププログラムが動作しないようになっています。このツールを削除しておくとここに書いていたキーボードやドライバの問題は発生しないのかもしれません。

  • OSX 10.5 Leopardは10/19(大安)発売?

    テキトーにMac OSXのニュースを見ていたらLeopardの発売日は10/19の大安ではないか?と言う説を見つけました。

    過去発売日の4回のうち2回は大安、他も先勝などの縁起の良い日だったそうです。日本はAppleにとってお得意様だから縁起の良い日に発売しているのでは?と書かれていました。

    ブックマークしなかったので元ネタURL無しで申し訳ないです。

    追記:
    見つけました。
    http://blogs.itmedia.co.jp/2013/2007/10/mac_os_x_leopar_b514.html

    http://japan.cnet.com/news/biz/story/0,2000056020,20358086,00.htm
    によると10月26日(金)発売かも、となっています。

  • Boot Camp 1.4 beta

    OSXのソフトウェアアップデートでEFI(MacのBIOSのようなもの)のアップデートがあったので、もしかして、と思ってBoot Campをダウンロードし直してみました。

    現時点の日本語サイトでは「1.3 beta」と表示されていますが、ダウンロードした中身は「1.4 beta」になっていました。早速インストールしてドライバディスクを作成し、Vistaにドライバを入れてみました。特に変わったところは感じられませんがドライバ類は更新されたようです。

    英語サイトのBoot Campのページは「1.4 beta」と表示され、大きくなったダウンロードサイズも正しく表示されていました。

    安定性で困っている方、アップデートを試してみてはいかがでしょうか?

    追記:
    Pallarels Desktopと相性が良くないようです。私の環境ではフリーズしたようになって仮想環境(Boot Camp)が満足に利用できない状態です。

  • Python 3000は良いですね。

    備考:古いブログですが公開し忘れしてい分です。

    PHP5/PHP6の開発もPython 3000 (Python 3.0)のようになれば素晴らしいのですが、難しいでしょうね…

    後方互換性は非常に重要です。今まで動いていたプログラムがバージョンアップしたら動かなくなる、と言う事態は開発者であれば誰でも避けたいものです。しかし、後方互換性を重視するあまりツジツマが合わなくなる事がよくあります。時間と共に合わなくなったツジツマはだんだんと大きくなっていきます。最初のうちは合わないツジツマはあった方が良い物ですが、だんだんと使い辛いものなっていきます。

    些細な事ですがPHPの場合、古い関数の命名規約は「thisisfunctionname」と単語の区切りを付けないルールでしたが今のルールは「this_is_function_name」と単語を_で区切るルールになっています。この為、システムにデフォルトで含まれる基本的な関数であっても2つの命名規約に則った関数名が使われています。PHPには関数のエイリアス機能があるので新しい命名規約に則った関数名と古い関数名両方が存在しても問題無く利用できる機能があります。にも関わらず新しい命名規約に則った関数は作られていません。(と言うより反対する人がいるので作れなかった)クラス名や関数名も最近の言語に習って大文字・小文字を区別する方が良いと思いますが、これも実現できませんでした。(PHP5開発の際に議論されたが却下)

    代わりにPHPプロジェクトが選択している仕様変更の手順はメジャーバージョンアップ、マイナーバージョンの度に徐々に少しずつ仕様を変更していく手順を取っています。strtotimeが失敗した場合の戻り値が-1からfalseに変更されたのもその一例です。

    Python 2.xとPython 3.xが描いているようなアップグレードが言語として理想的なアップグレードの一つだと思います。

  • PHP 5.3ブランチ

    PHP 5.3のブランチが出来ています。

    個人用のアプリケーションなら、「Release fast, release early」でも良いと思いますが、フレームワークに近い言語が「Release fast, release early」だと困る方も多いと思います。互換性を維持しないアップグレードは1年に一回以内、出来れば18ヶ月か24ヶ月サイクルくらいに留めた方が良いと思います。

    モジュールを別途配布するようにすればかなり現実的になるのですけどね…
    PHP Core, PHP Standard, PECL, 3rd party, 程度に分けて管理すれば良いと思います。

    とにかく、準備が必要な方はテストで使ってみては?

    http://cvs.php.net/viewvc.cgi/php-src/?pathrev=PHP_5_3

  • Linuxの電源管理

    Linuxパワーユーザには当たり前の情報が多いですが、IDFでlesswatts.orgがお披露目となったようです。

    と同じ情報が掲載されているものが多いようです。

    LinuxをノートPCで利用する場合に少しでも長くバッテリを利用する為のTipsが掲載されています。サーバの消費電力軽減にも役立つTipsもあります。Intelチップ専用のTipsもありますが、Intel以外でも使えるTipsもあります。Kernelやコマンドがサポートしていないと利用できない機能もあります。

    サイトの掲載されているTIPS:

    • SMPスケジューラの電源管理有効化

      echo 1 > /sys/devices/system/cpu/sched_mc_power_savings

    • SATA電源管理有効化

      hdparm -B 1 -S 12 /dev/sda

      -B set Advanced Power Management setting (1-255)
      -S set standby (spindown) timeout
      -y put IDE drive in standby mode
      -Y put IDE drive to sleep
      -Z disable Seagate auto-powersaving mode

    • ラップトップモードの有効化

      echo 5 > /proc/sys/vm/laptop_mode

    • CD/DVDをポールしない

      hal-disable-polling –device /dev/scd0

      デスクトップでもCD/DVDを挿入した場合に操作を選択するダイアログを表示されない為に利用すると便利。

    • WOL(Wake on LAN)の無効化

      ethtool -s eth0 wol d

    • Gigabit LANを100Mbpsに変更

      ethtool -s eth0 autoneg off speed 100

      1000Mbpsに戻すには最後のパラーメータを1000にしてethtoolを実行。

    • Intel Wirelessアダプタの省電源機能の有効化

      iwpriv eth1 set_power 5

      省電源機能を無効にするには最後のパラメータを6にして実行。

    • 自動アソシエートモードの無効化

      rmmod ipw2200
      modprobe ipw2200 associate=0

      WiFiアクセスポイントを一生懸命探さなくなる。

    • WiFiの無効化(電波OFF)

      for i in `find /sys -name “rf_kill” ; do echo 1 > $i ; done

      有効にするには

      for i in `find /sys -name “rf_kill” ; do echo 0 > $i ; done

    • Bluetoothの無効化

      hciconfig hci0 down
      rmmod hci_usb

    • バックライトの調整

      xbacklight -set 50

    • DMPS(ディスプレイの電源管理)有効化

      xset +dpms

      120秒のアイドルで電源OFF

      xset dpms 0 0 120

    • TV/VGA/DVI出力の無効化

      xrandr –output TMDS –off

    • Realtimeの有効化

      mount -o remount,relatime /

      atimeの様にアクセス時間の記録をsyncしない(直ぐにatimeをアップデートしない)のでディスクの利用が効率化する。デスクトップでもお勧め。

    • サウンドカードの省電源機能の有効化(AC97)

      echo 1 > /sys/module/snd_ac97_codec/parameters/power_save
      echo 1 > /dev/dsp

    • HDAサウンドの省電源機能の確認(HDAのみ)

      cat /sys/module/snd_hda_intel/parameters/power_save

      0より大きな数値で有効化されている。

    • BIOS設定の変更

      * Processor C1E support: This enables maximum power saving of the processor when idle.
      * Enhanced Speedstep (EIST): This allows Linux to optimally reduce the frequency and voltage of the processor when not using the maximum capacity.
      * Fan control: Set to “auto speed”; this allows the fans to slow down (and use less power) when the temperatures in the machine allow this.
      * Enable the HPET (often called “Multimedia timer”) option. This allows Linux with tickless idle to maximally save power by being idle longer.

      BIOS設定はハードウェア管理機能が不明なデバイスとして認識しないよう、一部の省電源機能を無効化しています。上記の機能を有効化すると消費電力が少なくなります。

  • MSが勝手にWindows Update関連ファイルを更新

    ZD Net本家のブログによるとMSは何の通知もなしに勝手にXP/VistaのWindows Update関連ファイル更新しているそうです。「勝手に更新」とはWindows Updateを実行しない設定にしているにも関わらず密かにアップデートしている、と言うことです。

    変更されたファイルは以下のファイルだそうです。

    The files on Vista are:

    * wuapi.dll
    * wuapp.exe
    * wuauclt.exe
    * wuaueng.dll
    * wucltux.dll
    * wudriver.dll
    * wups.dll
    * wups2.dll
    * wuwebv.dll

    And on XP SP2:

    * cdm.dll
    * wuapi.dll
    * wuauclt.exe
    * wuaucpl.cpl
    * wuaueng.dll
    * wucltui.dll
    * wups.dll
    * wups2.dll
    * wuweb.dll

    Windows Updateだけは何が何でも最新版にしたかったのか、古いバージョンをメンテナンスするのが面倒になったのか、理由は分かりませんがQA/テストを行っている方には非常に迷惑な話です。

    好意的に推測するとWindows Updateのファイルの更新が必要な場合、先に更新しておかないと一旦Windows Updateを終了し、またWindows Updateを実行しなければならないからだと思います。

    理由はともかく、他人のPCにインストールされているファイルを密かに更新するのはマルウェア的すぎます。

    追記:
    MSによるとサービス開始以来Windows Updateのファイルは密かに更新しており通常の動作だとの事です。

    Microsoft said that the Windows Update service automatically updates itself “from time to time to ensure that it is running the most current technology.” “This is normal behavior, and it has worked this way since the service debuted several years ago,” the company said.

    http://www.itworld.com/Comp/2218/070913msupdates/

    古いURLとか、維持したくなかったのかな?