貼った時点で Lv35、なんか評価がやたら高いが、どうせこんなのは最初だけなので記念に撮っておこう(ぉ
面白いのはブログパーツの評価も出せるところ。なんだけど測定に使えそうな適当なブログパーツを使っていないのでよく分からず。
ところでこのシステム、query string の url をエンコードしてないんだけど、これでいいんだっけ?
URLリンク付きメールは拒否–ソフトバンクモバイル、メール機能の初期設定を変更:モバイルチャンネル - CNET Japan
先日 feed 消化したときにようやくこの話題に追いついたんだけど、コトの詳細がよく分からずにモンモンとしていた。特定の URL ってなに?
Yahoo! ケータイの中のメニューを辿っていって迷惑メールフィルタリングを行う設定の中のヘルプに書いてあった。
迷惑メールに多い、出会い系やアダルトサイトにつながるURLを含むメールが受信規制されます。ただし、全ての迷惑メールが規制されるものではありません。
あーつまりアレか。出会い系サイトとかをフィルタリングで締め出しますよっていう動きは アブナイ URL を晒さないというところまできているのか。そのためにメールも弾きますよ、と。
なるほどね。
ローソンの場所を思い出したので行ってみた。
意外に買えた。
と思ったら追加になってたのか。
待ってろ TOKIO
つかオレ休みなんだろか。まー休めばいいのか。
PHP のマイナーバージョン間の互換性のなさはよく非難されるところなのだけれど、というか自分がよく文句を言っている点なんだけど、PHP_Compat という PEAR パッケージがあり、これである程度は吸収可能である。
スクリプトに
require_once( 'PHP/Compat.php' );
PHP_Compat::loadVersion();
を加えれば PHP_Compat で提供されている関数、定数が(恐らく)すべて利用できる。
しかし PHP_Compat に依存しているファイルすべてにこの記述を足して回るのは現実的ではないし、仮にそんなことやっちゃうと、必要なくなったときに外して回るのも激しくダルい。そこで上の記述だけを記したファイルを FILENAME で用意して
php.ini に
auto_prepend_file = FILENAME
か
..htaccess に
php_value auto_prepend_file FILENAME
としておくと、スクリプトの方は何もいじらずに PHP_Compat の恩恵に与れる1。このファイルの読み込みは include_path の設定に左右される。
ただし PHP_Compat の働きはあくまである程度である。というのも、すでに存在している関数の挙動が PHP のバージョン間で食い違っている場合には対応できない。なぜなら PHP はスクリプトのレベルで関数のオーバーロードを許していないから。PHP_Compat はあくまで現在利用しているバージョンで存在していない関数、定数を定義してくれるものなので、利用している PHP のバージョンが中途半端に古い場合にはやはり面倒くさい問題が残る。まぁ、思いっきり古いとそれはそれで PHP_Compat レベルではどうにもならない問題があったりするわけで、どっちにしろ困った状況なんだけど。
※ auto_prepend_file は共通のモジュールの読み込みに使うと楽できるかもと思ったけど、イマドキのフロントコントローラ方式なら全然必要ないかも。
リンク先のマニュアルでは append で説明されてるんだけど、append じゃ当然ダメでしょ。 ↩
今回は自分のやった OEM 版 Windows XP Professional + open license 版 Office 2003 Standard をコピーして増やす手順を整理してみた。
※ お前ここおかしいぞってところがあったらツッコミお願いします。
実は Sysprep について必要な基本的な知識は Windows XP Professional と Office XP の効率的な展開と構成 にすべて書かれている。したがってこれを読み込めばこのエントリは必要ない。ただ1ページが長過ぎて読み手の気力を削いでしまう構成なのが惜しいところ。
そして、上の Microsoft の記事やこのエントリを読めば分かるが、sysprep はほんの一瞬しか出てこない。ほとんどは通常のセットアップと同じであり、ディスクイメージのコピーは sysprep を利用するしないに関わらず持っていると便利な知識であり道具である。あとはパーティションサイズの調整なんかもできた方がいい。これは最近よくブックマークされている[GIGAZINE
- パーティションを操作できるフリーソフト「GParted Live CD」]2 などを参考にすればよいだろう。
Sysprep 前の段階
システムをコピーすることでセットアップに掛かる手間と時間を最大限節約するためには、まったく同じ構成の機械を揃えることがいちばんである。まぁ、Windows をコピーしたいということは、普通は何十台とか何百台とかいっぺんに導入しようとしているわけだから、バラバラに注文するなんてことはあり得ないと思うけど。
sysprep にはまったく同じ構成の機械同士でなければコピーに利用できないといった制限はないが、ここでは最も単純な例を扱う。というかこれ以外経験がないんで書きようがないのが正直なところ。どなたか詳しい人がいれば補足していただければありがたい。
不要なユーザーを削除して Administrator で作業開始
購入直後の Windows XP SP2 はユーザー作成を要求されるはずである。というか自分はそういう動作をする XP SP2 しかセットアップしたことがないのでその前提で話を進める。
この最初に作らなきゃいけないユーザー、邪魔。
Windows システムをコピーして大量のセットアップを行うわけだが、使う人はみんな違う名前である。もちろん user などの当たり障りのないユーザー名でセットアップしておいて全員そのアカウントを使うようにするというポリシーもあると思うんだけど、自分がそれをやられるとたぶん頭にくるので、今回は別な方法を採った。
まず、ユーザーを作成しないと先へ進まないのでとりあえずユーザーは作る。その後ログオフして Administrator でログオンし直し、[ マイコンピュータ ] の [ 管理 ] から先ほど作ったユーザーを削除する。通常、XP では Administrator アカウントを表に出さないために Administrator 以外の管理者カウントが必要であり、[ コントロールパネル ] の [ アカウント ] からは先ほど作った管理者アカウントを削除することはできない。しかし [ 管理 ] からは削除できる。1
Administrator アカウントの意味とかログオンの方法は @IT:Windows TIPS – Knowledge : Administratorとは? が分かりやすい。まぁ一言で言えばログオフして [ ctrl ] + [ alt ] + [ delete ] を2回叩けということである。
くり返すが、作成したユーザーの削除は必須ではないし、先にやっておかなければいけないものでもない。どういうセットアップをするかは(自分が管理者なら)自分で決めればよい。
というかプロファイルのコピーを行う場合は管理者カウントが Administrator を含めて2つ以上必要なので、この作業はあとでやった方がいいかもしれない。
アプリ、ドライバのインストール、アンインストール
この辺の作業は通常通り。プリンタの設定とかは mini-setup の辺りで自動化することができるらしいが、予め利用するプリンタをみんなインストールしておくという方法が採れるなら、この段階でインストールしてしまってよいと思う。
ユーザー向けの設定を保存する
Default User という隠し属性になっているユーザープロファイルがある。これにカスタマイズした設定を上書きしてやることで、次回以降はそのプロファイルに従って、予め設定された状態でユーザーは作成される。フォルダオプションやデスクトップのカスタマイズなどを毎回やり直す必要はない。
なお、セットアップ作業を Administrator でやっていた場合、ユーザー向けの設定も Administrator で行っていると思うが、ログオン中のユーザープロファイルをコピーすることはできないので、一度 Administrator 以外の管理者アカウントが必要になる。
ユーザープロファイルのコピー方法は上の Microsoft の解説記事の中ほどにある。
Sysprep
- factory モードで reseal する前の作業マスタを作成
- これをどこか別な場所に保存
- setup manager でユーザー名とかプロダクトキーとか必要なものを設定。あるいは展開後のセットアップ時に指定するものは空白に。
- reseal
Sysprep を実行したディスクイメージのコピー方法
この部分は Sysprep 独自でもなんでもない。ファイルシステムに依存せず、ディスク上のデータをそのまま読み書きするツールがあればそれでよい。のような市販アプリでもよいし、Windows でも動く dd でもよいし、のような製品でもよい。基本的には Disk to Disk のコピーを行う2が、満足なスピードが出る構成ならネットワーク越しにコピーしてもいいかもしれない。
ちなみに手元で試した3限りでは dd は ibs=512 obs=65536 などのように差をつけず、bs=65536 固定の方がかなり速かった4。また USB2 のケースで繋いだディスクへの書き込みでは 10MB/s 弱、IDE 直結の場合は 40MB/s 弱という数字になった。調べたら USB 接続のケースは 10MB/s くらいで頭打ちになるというのはどうもよくある話らしい。
今回自分は USB CD でブートした Frenzy で dd を叩いた。NTFS も automount できるのでコピーするシステムの確認も一応できて便利。この辺は「得意な LiveCD を一つ確保しておく」といろいろ応用ができていいと思う。
シールしたシステムをセットアップ
これは設定にもよるしコピーしたシステムのバージョンにもよる。例えば OEM 版は
- プロダクトキーの入力不要
- アクティベーションをWindows XP を再インストールするときの、OEM の事前ライセンス認証の保持により回避可能5
で、ほとんどやることはなくなる。(本来はプロダクトキーは機器固有なので入力が必要な気がするんだけど、OEM 版のためのアクティベーション情報の保存のために特殊なプロダクトキーを入れる必要があるので、本体のプロダクトキーを保存する場所ないよねぇ?)
Default User でユーザー設定をカスタマイズしてあれば、あとは使用するユーザーを作成するくらいで終わってしまう。6
メモ
ネットワークの設定はやり直し
sysprep で seal したシステムはネットワークコンポーネントのインストールをやり直す。そうするとインターフェイスに対して保存する項目を忘れてしまう。具体的には
- 共有サービスをアンインストールしておいても復活する
- DNS update の送信を抑制しても復活する
などである。この辺はスクリプト書いて自動的に設定するか、手で作業を加えるかどちらか。今回自分は面倒なのでここは手作業で対応した。上手に自動化できた人は方法教えてください。
Windows Media Player ショートカット
他の項目はカスタマイズした結果が保存されるんだけど、なぜか reseal した Windows ではデスクトップに Windows Media Player のショートカットアイコンが復活する。これ邪魔だけど消す方法が分からない。
アプリのプロダクトキー、アクティベーションは?
- open license などで同一プロダクトキーの場合はそのままコピーしてまったく問題なし。
- そうでない場合は複製ではなくインストールの「自動化」を模索する必要がありそう。
- とりあえず Office については Office 2003 Editions Deployment Center - Office 2003 Editions の効率的な導入と以前のバージョンからの移行 ら辺から辿るといろいろ分かりそう。
参考
- Windows XP Professional Deployment Center
- nLite - Deployment Tool for Unattended Windows
- nLite
- 日本語による解説
もしかして sysprep 以外にも似たようなツールはあるのかも。
dd の Windows 版には以下のようなものがある。使ったことはないので具体的な操作などは分からないが、恐らく Un*x の dd と同じような動作をするはずである。書き込み先のディスクは予めアンマウントしておかないといけないと思うんだけど、Windows でそういう操作をした記憶がないので具体的には知らない。
- dd for windows
- This is a collection of utilities and libraries intended for forensic use
- 簡単なレスキューに使える。dd, md5, wipe, nc(netcat)が使えるので、かろうじて立ち上がるようなバラせない Windows マシンでもなんとか救出できるかも。
- via コンピュータ系blog: ddでハードディスクのイメージをとっておく
なんかものすごいバッドノウハウのかほり。この他にも XP にはホスト名と同じ名前のユーザーを作成できないという変な制限があるが、これはユーザーを先に作ってホスト名を後からそれに合わせるという超バッドなノウハウで回避可能。 ↩
つまりバラしの作業が必要なので、バラしやすい機械を導入することが大切。 ↩
本体は Celeron 3GHz + UDMA 100 ↩
ただし、問題のありそうなディスクを読み込むときは ibs=512 の方がよい。今回はレスキューの場合じゃないので bs=65536 で ok. ↩
実際にはアクティベーションそのものを回避しているのではなく、アクティベーション情報を保存しておくことで、アクティベーションの操作を回避している。 ↩
逆に固定されたユーザー名で予めユーザーを作ってあれば、ぶっちゃけやることはもうない。 ↩
家の引っ越しは3月にやったのですが、今度はサイトの引っ越しです。本当はアフィリエイト周りを整備して(まだ準備しかしてない)から引っ越してくるつもりだったのですが、ちょっと予定が狂ってしまいました。ま、今の状態の方が一切広告がなくて見やすいことは見やすいんですが。
実は今年を「アフィリエイトで遊んで暮らすファーストステップ」と位置づけているので、その状態に近づけるように精一杯アサマシクいこうと思っています。
全部 euc 用の設定になっていても、.inputrc さえちゃんとしてればファイル名の補完とかできる! すげぇ! 今ごろ気づいた! Windows マシンを ssh で渡り歩くときはものすごく便利だ!
http://www.asahi.com/business/update/0618/109.html
かつてマイクロソフトは、ネット閲覧ソフトでネットスケープ社におくれをとっており、利用者を増やすためにマック対応版の供給を始めた。その後、アップルの世界的なシェアが低下したことなどから、開発を効率的に行うためにIEのマック版の開発を打ち切るものとみられる。
そういう風にもっていきましたか。。。
それはどうかと
IE:mac はかつて本家 Win 版 IE よりも WEB 標準に準拠したデキのいいブラウザとして Mac プラットフォームに歓迎されたのですが、今ではその動作のトロさと Win 版 IE との互換性の低さが逆に敬遠されていたところに Apple 謹製の Safari がダメ押しだったっていう
ちゃんとした経緯
は WEB オタ系のサイト行けばいくらでも読めるんですが、それでも触れずにはいられないです。だって asahi.com にこんなネタ載ると思わなかったし。
載せるんならちゃんと載せろ
と思うわけです。いやほんと。簡単に言えば、IE:mac は負け戦をする気ないから撤退なの!