ラベル IT の投稿を表示しています。 すべての投稿を表示
ラベル IT の投稿を表示しています。 すべての投稿を表示

2010年9月27日月曜日

Linuxでディスク交換

Linuxはほとんど仮想マシンでしか扱わなくなっていますが、仮想ディスクのサイズ設定や構成を後悔したりとか、パーティションの切り方を変えたくなったりした時って、仮想かどうかは関係なく結局「ディスク交換」みたいなことをしなければいけない、というか、すればいいのかなと考えていろいろと試行錯誤してみた。

これはOS等を含んだブートディスクの場合です。ブートディスクでない場合は別に悩むことなくコピーして付け替えればよいと思います。
OSその他を再インストールしてデータ移行すればいいってのはわかるが、それはそれで結構手間がかかるし、ということで。

仮想ディスク絡みだったら、ツールとかもそれなりにいろいろあるのかもしれないけどその辺はあまり調べていない。
あっても結局、仮想ディスクファイルを物理ディスク的に扱うようなものだろうから、結局やりたいことにはならない可能性大と思ったので。

それから試してたLinuxはRed Hat系です。まあ別にこの辺は大して違いはないのだろうと思いますが。

新ディスクのパーティション設定


まずは新しいディスクを用意し追加で接続する。
そしてその新ディスクのパーティション設定を行う。
新ディスクが"/dev/sdb"として接続されている例です。
# fdisk /dev/sdb

対話的に操作できるので、順に設定していく。
使うコマンドはこんな感じでしょうか。
  • p 領域テーブルを表示する
  • n 新たに領域を作成する
  • a ブート可能フラグをつける
  • t 領域のシステム ID を変更する
  •  LVMを使う場合に、IDを"8e"に変更する
  • q 変更を保存せずに終了する
  • w テーブルをディスクに書き込み、終了する

私が試した時は元のディスクが以下のような感じだったので、同じようにパーティションを二つ作成し、一つ目は「ブート可能」に、二つ目はシステムIDをLVMに変更した。
  1. /boot
  2. /dev/VolGroup00
  3.  ※LVMの物理ボリューム、論理ボリュームには / と swap

LVMを使うパーティションについては、さらに物理ボリューム、ボリュームグループ、論理ボリュームの設定を行う。
# pvcreate /dev/sdb2
# vgcreate VolGroup00new /dev/sdb2
# lvcreate -L ????m -n LogVol00 VolGroup00new

「????m」は作成する論理ボリュームのサイズを指定。
lvcreate は新ディスクでやりたいマウントポイントの構成に応じて必要な分だけ実施する。
例えば、旧ディスクは / 以下に全部入れていたのを新ディスクでは /var とか /home を分けたいとかいう場合、それぞれに必要な論理ボリュームを作成する。。

さらにファイルシステムの作成。
# mkfs -t ext3 /dev/VolGroup00new/LogVol00

SWAPパーティションの場合は mkswap しておく。
# mkswap /dev/VolGroup00new/LogVol01


データコピー


旧ディスクから新ディスクにデータをコピーします。
コピー中に元データ変更されるとトラブルになる可能性があるので、シングルユーザモードかSystemRescueCdなどを使って起動してやった方がいいでしょう。
私が試した限りではどっちでも大丈夫そうでしたが、感覚的にはやっぱりSystemRescueCdを使うのが良いと思います。
シングルユーザモードとはいってもコピー元のディスクからOS起動しているわけなので、何かある可能性は高くなるような気がする。
その辺は別に詳しくないので、あくまで「気がする」だけです。

コピーのやり方はいろいろあると思いますが、私はとりあえず今何をしているかをわかりやすくするためにコピー元とコピー先用にマウントポイントを設けてやりました。
コピー先で一部を別パーティションにする場合はdest側に追加で mkdir & mount を必要な分だけ実施。
mountとコピーはコピー元のパーティション分、繰り返します。
# mkdir /mnt/source
# mkdir /mnt/dest

# mount -t ext3 /dev/VolGroup00/LogVol00 /mnt/source
# mount -t ext3 /dev/VolGroup00new/LogVol00 /mnt/dest

# cd /mnt/source
# tar cpf - ./ | tar xpf - -C /mnt/dest

実際のコピーですが、なぜか tar を使ってコピーする例があったのでやってみた。
一応問題なく動いているっぽいです。
普通に "cp" とかでもうまくいくんではなかろうかという気はしてます。
# cd /mnt/source
# cp -a ./ /mnt/dest/

ポイントはたぶん "p"オプションで所有者、アクセス権などを引き継がせる事だろう。
cp の "-a" は "-dpR" とmanページに記載があるのでほぼ同様の効果があると思われます。

ブートセクタ設定


ここが色々と苦戦して悩んだところではありますが、普通に grub-install しました。
# mkdir /mnt/boot
# mount -t ext3 /dev/sdb1 /mnt/boot
# grub-install --root-directory=/mnt /dev/sdb

適当に"boot"というディレクトリを作成して、そこに新ディスクの/bootパーティションをマウントする。
grub-install の "--root-directory"オプションではそのマウントポイントの一つ上を指定してやる。上記の例だと "/mnt"。
マウントポイントをそのまま指定するとその下に"boot"ディレクトリが作成されて、さらにその下に"grub"となってしまうので。

あとこんな感じでエラーが出る時がある。
/dev/sdd does not have any corresponding BIOS drive.

これはインストール先にある device.map が関係しているらしいです。
(hd0) /dev/sda

こんな記述になっていたりするので、コピー先のディスクに関する記述を追加してやれば良いようです。
(hd1) /dev/sdb

ただ、ディスク交換後はこの記述は必要ないと思うし、device.map ファイルがなければ接続しているディスク等を probe してインストールしてくれるようなので、/boot パーティションに関しては先に grub-install してからデータコピーをする方が、コピーしたものへの変更作業が少ないので、なんとなく気持ちがいい気がします。
それか少し面倒だけど新ディスクが"/dev/sda"になるように付け替えて、RescueCdから起動して grub-install でもいけますが。

/etc/fstab の確認


新ディスクの"/etc/fstab"を確認して、旧ディスクを外して新ディスクから起動する時に適切にマウントされる設定となるように必要に応じて調整します。
ディスク入れ替え後は新ディスクが"/dev/sda"になると思うので変えなくてよい場合もあると思います。
ここではLVMまわりで多少試行錯誤したところがあって、「"/etc/fstab"もなるべく変更しないで済むようにしよう」とか思って、vgrename でボリュームグループ名を変更とかしてみた。
それでももちろんできましたが、後で考えたらなんか変な感じがした。

"/etc/fstab"でデバイスがLABELで記述されている場合は"e2label"でラベルを付ける。
# e2label /dev/sdb1 /boot

あと、"/boot/grub/grub.conf"の kernel のパラメータも確認しておく必要があると思います。

ディスクを入れ替えて起動


ここまでくればもう大丈夫なはず。
ということで旧ディスクをはずし、新ディスクを先頭に接続して起動します。

OS起動は無事にできても、ログインしようとするとこんなエラーが出る場合がありました。
/etc/X11/xinit/Xsession default を実行できませんでした

これはどうもselinux絡みらしく、"enforcing mode" にしているとこうなる。
"permissive mode"にしておけばログインできますが、当然の如くselinuxの警告出まくりで。

ディスクの追加・交換をした時などは「ファイルのラベル付け」をあらためてやる必要があるようです。
# restorecon -rv /

ああ、なんかこの辺よくわかっていない、、、けど、とりあえずこれで動くようにはなった。

"/.autorelabel"ってファイルを作ってリブートしても同じ効果があるはず。
でも本当にこの影響かどうかもよくわかりませんが、ブート時のメッセージの出方が変わったりとかしている。今のところ実質的な影響はなしですが。

アプリの動作確認とかはそれほどしっかりとはしていないけど、理屈の上では大丈夫なはず、というところですね。

以下、参考にしたサイトなど。


最後のSELinux Policy Editorは試していない。

そういえば、なんか Oracle の11gなんかも、この辺ちゃんと設定しないと動かせないんだけど、面倒なんでとりあえず "permissive mode" にしておく、みたいな笑っちゃう話があった気がするね。
まあ "permissive mode" にして何が引っかかるかを探す、というのは常套手段のようではありますが。
いずれ見なければいけない日が来る、と思います。

2010年9月23日木曜日

Oracleの環境変数設定でハマッた件

中途半端な知識がもとで、えらい遠回りをしてしまったので、備忘として書いておきます。
初歩的なことだと思うので「そんな恥をさらさなくても」って気もしますが、エラーメッセージやエラー番号でググってもなかなかピンポイントな解決方法が見つけられなかったので。

Oracleでいわゆる所有者ユーザのOS認証でORACLEのDBにローカル接続する為に最低限必要な環境変数の設定は以下の通り。

  • ORACLE_SID
  • ORACLE_HOME

実際には LD_LIBRARY_PATH とか PATH に $ORACLE_HOME/bin を含めるとか必要と言われるものはもう少しあるんだけど、まあ接続できるまでの最低限というところで。

で、ORACLE_HOME を忘れることはまずないと思うが、この ORACLE_SID を忘れていたために色々と遠回りしてしまいました、という話です。

まず ORACLE_HOME だけ設定して、ORACLE_SID が設定されていないとこんな感じ。
$ sqlplus / as sysdba
ERROR:
ORA-12162: TNS:net service name is incorrectly specified

ここで「@SID」を指定してみたり、どういうわけか TWO_TASK の環境変数を思い出してそれを設定してしまいました。
そうするとこうなった。
$ sqlplus / as sysdba
ERROR:
ORA-12541: TNS:no listener

Listenerが起動していないから?Listenerなんて必要ないはずなんだけど、と不思議に思いながらもListnerを起動してみる。

$ sqlplus / as sysdba
ERROR:
ORA-01031: insufficient privileges

そうすると権限がない、とか言われる。oracle所有の"dba"ユーザなんだけどなぁ...と混乱。
よくよく調べれば、Listener経由のOS認証の為には、また別の設定をしなければいけないので、その為に出ていたエラー内容だったと理解できるわけですが、調べているとこの辺に絡んだバグで対処方法の一環で「コンパイルし直せ」みたいな記事もあったりして、その対処方法を試しても何も変わらずで、悶々とした時間が過ぎ去る。

最終的にどうやって気づいたかはもう忘れましたが、結局地道にインストールマニュアルとかを読み直していたんだと思います。

ちなみに ORACLE_SID 環境変数を設定しても、TWO_TASK が設定されたままだと相変わらずListener経由接続が優先されて、"insufficient privileges"とか"no listener"とか言われます。

よくよく考えたら、"$ . dbenv" 使って環境変数設定すればいいって話ではありました。

ちなみに直接関係ないですが、"oracle"ユーザーとか"dba"グループとかって、Oracleのインストール関連のマニュアルに書いてあるけど、ほんとにそのままの名前で環境構築されたりしているときがあって、実際の名前はなんだっていいっていうのをわかっててやっているんだろうか?と疑問に思うことも多々ある。

2010年9月20日月曜日

Windows XP Mode をインストールしてみた

Windows 7 のProfessionalエディション以上で使えるという、Windows XP Modeをインストールしてみた。
で、結局使うのはやめました、ということなんですが、その辺の雑感を少々。

Windows 7 で Windows XP モードをインストールし、使用する

要は互換性に問題のある古いソフトなどを使い続ける為に、Virtual PC で WindowsXP を動かせるようにしましょう、というものですね。
インストール自体は別に難しいことは全然なくて、Microsoftのサイトの説明どおりにダウンロードしてインストールすればよいです。
途中何回か再起動が必要で再起動中にも何やらいろいろやっていたようではありますが。

Windows Virtual PC: ホーム ページ

で、普通に素のWindows XPがVirtual PCで立ち上がってきました。

ちゃんと使えるようにするには一から各種ソフトをインストールしなければいけないわけですね。

そりゃあそうだよね、というのは理解しつつも、ちょっと面倒くさくないか、と思った次第。

できることならDisk2VhdとかPhysical to Virtualの変換ツールで古いPCのデータを吸い上げて、そのコピーをVirtual PCで動かすためのライセンスの根拠としてWindows XP Modeが使えるとかしてくれないと、わざわざ使ってみようとか思わないんではないでしょうか、とか思った。

まあ、やっぱり多少古くても業務用に標準化されたPCのキッティング手順などをそれなりに確立しているであろう、企業ユーザ向けということなんだろうね。

ちなみにWindows Virtual PC ですが、相変わらずディスクイメージの上限に127GBの壁があるようで、ライセンスの問題はクリアしたとしても、私の古いXPのPCですら既にそれ超えているので単純な移行はできないみたいです。

まあ、調べればいろいろやり方はあるのでしょうけど、そこまでして古いPC環境を延命しなきゃいけないような使い方はしていませんので、これ以上の追究などは個人的には不要かなと思いました。

2010年9月18日土曜日

VMware Player が「個人利用、非商用利用に限る」という件

無償で使える仮想マシン環境というVMware Playerですが、ちょっと気になった点。

VMware Player に関する FAQ: 簡単に仮想マシンを実行できる無償ソフトウェア

VMware Player は、個人利用、および非商用利用の場合は無償で提供されます。

えっ!商用利用だめなの!?そんなこと今さら言われてもって人多い気がするけど...
というかそもそもその「商用利用」の定義って何?

EULAを見るとこんな感じに書かれていて、たぶんこれを元に上記の記述があるんだと思う。

VMware Player End User License Agreement
VMware Player is intended for your own personal non-commercial use only.

うーん、"intended"ってちょっと微妙な感じがしました。
前後の文脈からすると、「再配布を勝手にするな」って話であって、許諾条件として利用用途を制限しようとか、無償で提供する為の根拠とする記述ではないように思える。
どちらかと言えば「無保証、免責」のための記述かなって気もした。

ちなみに上記の文の後には以下の文が続きます。
Player is only distributable with written agreement from VMware. Requests for a distribution agreement should be submitted online at http://www.vmware.com/products/player/player-reseller-registration.html. Redistribution includes posting, packaging, bundling, or otherwise making available for use either within your organization or externally to 3rd party users.


業務目的での使用が全面的にダメなら同じFAQの中の以下の記述とも矛盾するしね。
VMware Player は、どのように使用できますか

VMware Player を使用すると、仮想マシン上でソフトウェアを作成、実行、評価、および共有することができます。
(省略)
  • 共有: VMware Player を使用すれば、誰でも仮想マシンを実行できるため、仕事仲間や友人と仮想マシンを共有することが可能です。たとえば、カスタマー サポート チームと開発チームとで、仮想マシン内にカプセル化されたお客様環境を共有できます。

それってどう考えても、普通は営利目的組織内でやることだと思うのですが。


で、それはそうとEULAの上記の記述は同様のものが実は VMware Server 2 のEULAにも記載されていました。

VMware Server 2 End User License Agreement
VMware Server is intended for your personal non-commercial use only.

こっちには "own" がない。その違いの意図はいったいなんだろう。
ともかく VMware Server でも同じような記述があるにもかかわらず、こちらについては「個人利用、非商用利用」に限るなんて話は全くでていない様子。
そもそもサーバ製品なんで「個人利用に限る」とか言われてもねぇ、って話ではあるが。

一応、コピーを他人に使わせることは同一組織内であってもダメと明示的に禁止しているようではありますので、そこが「個人利用」に限るという話かな。
別の人も使いたかったら、ユーザ登録すればいいわけですが。

「非商用利用」については、いわゆる「本番環境」として使うのではなく、あくまで上で動かすソフトウェアを含めた検証用で使ってね、って話であり、営利目的組織内での使用を全面的にダメという話ではないのかな、という気がしました。
それか販売目的等で他者に配布するのはダメとか。"distribution"の文脈にあるから、むしろこっちの意味が強いのかな。

ていうか、そのくらいにしておかないと回らない、というか、Microsoftとか他の競合に対抗する為にも、わざわざ無償提供するメリットとかがないんではないでしょうか。

これは私個人の私的な見解でしかないので、実際のところどうなのかは知りません。

VMware社自身の見解はどうなんでしょうねぇ?

2010年7月26日月曜日

iPhone4 が来た

色々あってすっかりブログの更新が滞っております。

ついに iPhone4 が来ました!

6月の発売日以降で予約が再開された頃にSoftbankオンラインショップで予約していたのですが、本申し込みの連絡が来たのが7月8日でした。
本人確認書類とかMNP移行関係の手続きなどもあったので、7月10日(土)の休みの日に朝から手続き。
で、家に配達されたのは7月15日頃でした。

しかし、MNPの手続きなどは、9時から19時とかまでしかできなくて、さらにいろいろと予定もあったので、切替できたのは7月18日(日)。

数ヶ月前からiPhone欲しくなっていたのですが、iPhone4 が出るのを待ってついに手にしたわけです。

で、いろいろ設定していたんだけど、どうも操作性がおかしい。

最初に気づいたのは、MySoftbank か何かで規約に同意するところで、そこで同意のチェックをするつもりでも、チェックがされずに少し下の「送信」みたいなボタンを押したものと反応されてしまって、「同意」ができず先へ進めず。
なんかよくわからず適当にいろいろやっているうちに、やっとチェックができて進めたということがあった。

その後もいろいろと触っていると、どうもタッチパネルの真ん中より少し上あたりが反応しない感じになっているのがわかった。
アプリによって反応しない位置が微妙に違う感じがするのは不思議なんだけど、やっぱり初期不良っぽい。
スクロール可能な画面なら、タッチしたい位置をスクロールで少しずらすことで操作できるんだけど、そうでない画面はどうしようもない。
ちょうどメールアドレス設定の「アカウント」のところがダメだった。
真っ先にメールアドレスの切替をしたいところなので、これには参りました。

というわけで以下のページを参考にして、渋谷のApple Storeに事前予約して今日いってきました。

iPhone and iPod touch:タッチスクリーンの反応に関するトラブルシューティング

やっぱり初期不良ということで、全交換となりました。
運よく在庫があるとのことで、その場で交換してもらえました。

3Gとか3GSだったらタッチパネルだけの交換もできるけど、iPhone4はまだそれはできない、みたいな事も言ってたかな。

というわけで、ようやくまともに使えるようになりました。

4年くらい前 iPod nano を使い始めた時に「携帯電話と一緒になればいいのに」と思ったけど、当時はまだ日本に iPhone はなく。

とりあえず、iPod と 携帯が一つになり、Bluetooth でコードのわずらわしさも減ったのでそれだけでもかなり快適に感じています。
これからは本をいちいち持ち歩かなくて済むように、
電子書籍端末として活用していきたいとか思っています。

2010年5月6日木曜日

『電子書籍の衝撃』

まだ、iPhone すら使っていない私ですが、とりあえず読んでみた。

佐々木俊尚氏による電子書籍の普及に伴う本に関する将来展望、というところでしょうか。

電子書籍の衝撃


いきなり既存の紙の書籍がなくなるとか、いうことはないのだろうけど、多様化した人それぞれの世界がますます広がっていき、既存の「マス」感覚から抜け出せない人達には到底理解できないようなものがたくさん共存するようになる、ということなんだろう。

で、やっぱり欲しくなりました、あらためて。
持ち運びにも便利だし、何より不動産コストがなくなる。

でも、iPad だとちょっと大き過ぎるかな?という気がしています。
モバイルノートPCの代替としては有力なんだろうけど、電子書籍として考えるなら、ポケットに入れて気軽に外へも持ち運べるのを期待してしまうわけで、そうすると新書くらいの大きさがちょうどいい気がしてる。
そう考えると、iPhone だとやや小さい。
あくまで携帯電話なんだと考えるなら、今でもギリギリの大きさなのかもしれないけど、携帯電話は付加機能の一部とだけ考えるなら、操作性うんぬん考えてもう少し大きくなってもいいかなって気もする。

でも、使い始めればある程度慣れるとは思うので、それを考えたらやっぱり iPhone かな。と思いました。

2010年3月30日火曜日

「日経NETWORKの表紙内容お詫び」のハガキの誤植がヒドい件

この記事に関して、「お詫び」のハガキも送られてきて、今日届きました。

「日経NETWORK2010年4月号」表紙内容誤りのお詫び - 日経NETWORK 本誌記事の訂正・補足:ITpro

いつも日経NETWORKをご愛読いただき、誠にありがとうございます。このたび、2010年3月末にお届けした「日経NETWORK2010年4月号」の表紙の内容が一部誤っておりました。ご迷惑をおかけしたことを深くお詫び申し上げます。

その誤植のひどさといったらありえない感じです。
タイトルからしてこんな感じで切れている。
日経NETWORK4月号・表紙内

その他にも変なところで中途半端に改行しているとおもったら、次の行が全然つながっていなくて文になっていないようなところがいくつもあり、誤りのお詫びでさらに墓穴を掘っていて、あきれて過ぎて笑うしかない感じです。

2010/04/02 追記:
その後、再度「お詫び」のハガキが送られてきました。

2010年3月29日月曜日

WshShellのExecで実行したコマンドが終了しない

諸事情あって、Windows Scripting HostのVBScriptでスクリプトを書いたのですが、その際に困った事で軽くググッただけでは解決しなかったのでメモしておく事にしました。
VBScript とかあまり詳しくないんですけど。

そのスクリプトではCScriptでバッチとして実行しながら、途中で他のコマンドを同期をとって実行する必要があったので、普通に以下のように考えてスクリプトを書いてみた。

  1. コマンドを実行
  2. 実行したコマンドの終了待ち
  3. 実行したコマンドの標準出力の内容を自身の標準出力に出力


このまま素直に書けばとりあえずこうなるんだと思う。MSDNとかにもほぼそのまま載っている。
以下では実行するコマンドは適当に"Test.exe"としておく。もちろん実際には違う。
あと、終了ステータス(ExitCode)のチェックとかも実際はするけど、そこは本件とは関係ないので省略してます。
Option Explicit
Dim objShell, objExec

Set objShell = WScript.CreateObject("WScript.Shell")
Set objExec = objShell.Exec("Test.exe")

Do While objExec.Status = 0
  WScript.Sleep(100)
Loop

WScript.StdOut.WriteLine "StdOut"
WScript.StdOut.WriteLine objExec.StdOut.ReadAll

とりあえずテスト的に適当なコマンドを実行してみる分には問題なさそうなので、実際に実行したいコマンドに変えてみるといつまでたってもそのコマンドのプロセスが終了しない。
そのコマンドがやるべき事は全て実行されているのだけど、プロセスが終了しないせいで制御がこちらに戻ってこないように見える。
なので、タスクマネージャとかでそのプロセスを強制的に停止してやると制御が戻ってきて標準出力の内容も表示されてた。

いろいろ試行錯誤していたのだが、どうやら実行したコマンドの標準出力の量がとても大きくて、上記のようにプロセスを強制的に停止した後で表示される内容は本来表示されるべき内容全ては表示されていない事に気づいた。

その為、以下のように終了待ちしている途中でも、標準出力にあるものは読み出していく処理を追加したところ、とりあえずは制御は戻ってきてくれたのでやりたい事はできるようにはなった。
でも、1文字読んではSleepというのは、かなりイケてないとは思うけど。
実際には Line ごとに処理していくのが妥当かな、という気がします。
Option Explicit
Dim objShell, objExec, strOut

Set objShell = WScript.CreateObject("WScript.Shell")
Set objExec = objShell.Exec("Test.exe")

Do While objExec.Status = 0
  strOut = strOut & objExec.StdOut.Read(1)
  WScript.Sleep(100)
Loop

WScript.StdOut.WriteLine "StdOut"
WScript.StdOut.WriteLine strOut & objExec.StdOut.ReadAll


以下のような適当なスクリプトを実行させて確認したところ、標準出力のサイズが4096バイトを超える場合に、標準出力の読み出しをせずに終了待ちしていると止まってしまうようです。
特に子プロセスの標準出力を読んだり表示したりしていなくても同じでした。
Option Explicit
Dim i, max

If WScript.Arguments.Count = 0 then
  WScript.Quit(1)
End If
max = WScript.Arguments.Item(0)

For i = 1 to max
  WScript.StdOut.Write(Right(i,1))
  If i = Round( ( max / 2 ), 0) Then
    WScript.Sleep( 5000 )
  End If
Next

ちなみに途中に "Sleep" を入れているのは、処理時間がかかっているように見せて呼び出し側の動きを見る為です。

ただ、こうしても、もしエラー出力(StdErr)が4096バイトを超えてきたらやっぱり止まってしまうみたいで本質的な解決にはなっていないようです。

まあ、標準出力とエラー出力の両方がそんな大量になることなんて、めったにあるものでもないだろうから、実際に実行するコマンドの特性を見ながら対処するのが現実的なところなんでしょうか。

そう割り切って考えると、"Status"で終了待ちするのではなくて、標準出力を1行ごと読み込んで標準出力のストリーム終了まで処理するという方がスッキリする。
特に"Sleep"とか入れてなくても、処理時間がかかっているときは"ReadLine"で待ちになるようなので。
それに子プロセスが終了してから一気に出力するのではなくて、随時自分の標準出力に出力する事で、子プロセスの実行状況もわかるようになるし。
Option Explicit
Dim objShell, objExec

Set objShell = WScript.CreateObject("WScript.Shell")
Set objExec = objShell.Exec("Test.exe")

WScript.StdOut.WriteLine "StdOut"
Do While Not( objExec.StdOut.AtEndOfStream )
  WScript.StdOut.WriteLine objExec.StdOut.ReadLine
Loop

WScript.StdOut.WriteLine "StdErr"
WScript.StdErr.WriteLine objExec.StdErr.ReadAll


なんかもう少しスマートなやり方はないものなんでしょうか?

2010年2月8日月曜日

Haloscanはお亡くなりになるそうで

「Bloggerでトラックバックをする方法」として使っているHaloscanのサービスが近々お亡くなりになるそうな。

JS-KitのEchoというサービスに移行できるようになっているが、こちらは30日間のトライアル後は年12ドルの有料サービスになるみたいです。

というわけで少し検討中です。あまり時間ないんですが。
コメントはBloogerのまま、トラックバックだけHaloscanという変な使い方をしていたこともあり。

2010年1月4日月曜日

ウイルスバスター2010を入れてPCが重くなる件

先日ウイルスバスターを2010にバージョンアップしたのだが、それ以来何もしていなくてもCPU使用率が常に一定以上、尋常ない程に上がっていて、明らかにおかしい。

正確な事はわかりませんが、とりあえず Google Chrome とは相性が悪いように見える。
Chromeを立ち上げると明らかにCPU使用率が上がります。
それでもしばらくは使っていられますが、そのうちChromeの方がクラッシュする事さえある。

私の場合、たいていはFirefoxとIEとChromeが同時に立ち上げている事が多くて、それぞれの用途が決まっているのだけれど、とりあえずはFirefoxで代用しておくか、と思いました。

でもChromeを使っていなくても、CPU使用率は以前に比べると上がっているように思います。

ここに書いてある事は私が観察してそう思っただけの事で、根拠はありません。
実際のところ、何が悪いのかはよくわかりません。

2009年2月12日木曜日

Oracle Enterprise Linuxをインストールしてみた

唐突ですが、Oracle Enterprise Linuxをインストールしてみた。

最初はMicrosoftのVirtual PC上でやってみたのだが、なぜかGUIのインストーラがうまく立ち上がらない。
とりあえずtext modeでインストールはできるのだが、Xを起動しようとするとやっぱりインストーラと同じような状況になって固まってしまう。X Windowなどの設定をいじってみようともしたが、結局よくわからなかった。

そこでVMWare Workstationでやってみたら何の問題もなくできました。

ここに載っている手順通りで間違いないでしょう。
インストール完全ガイド Oracle Enterprise Linux 5:ITpro

基本的にRedhat Enterprise Linux互換という方針のようなので、RedhatやCentOS関係の情報を参考にしていけばよさそうな感じだと思います。


画面はこんな感じでとてもシンプルだった。

2008年12月27日土曜日

薄くなった日経SYSTEMS

数日前のことだが、日経SYSTEMSの2009年1月号が届いてその「薄さ」に驚いた。

裏表紙をめくったところに「138」とあるので、表紙含めて140ページ。

直近のバックナンバーを見ると、10月号が172ページ、11月号が148ページ、12月号が164ページで確かに減っているけど、11月号は近いものがある。

とはいえ、実際に手に取った時に感じる薄さは衝撃的で、過去に休刊になったいくつかの雑誌のことを想起してしまった。

不景気になると真っ先に削減されるのが広告宣伝費というのは、よくある話だし、昨今の経済環境の悪化で、それだけ広告が減っているということだろうかね。

2008年12月24日水曜日

ハードディスクって安くなったね

知っている人にとっては、今さらな話。

勉強のネタとして、そろそろテクノロジー系も再開しようかと思っていて、テクノロジー系となると、実際にいろいろと試しながらでないと身にならないので、その為にはやっぱり仮想マシンが重宝するんだけど、ディスクが足りなくなるかもしれないな、と思った。

今でもトータルでは400GB以上あるから、いらないものを整理すればそれなりに空きは作れるだろうとは思っています。

ただ念の為、価格とか調べてみると、今時は1TBくらいが普通で、500GBだと外付けでも7000~8000円くらいで入手できてしまうことがわかった。

というわけで、ディスクの空き容量確保の為に苦労するのがアホらしくなって、早速500GB買ってきた。

使用年数からすると、そろそろパソコン自体が替え時なのかもしれないとは思っているのですが、とりあえずその必要性は感じずにまだまだ快適に使えています。

私の場合、デジカメとか動画とかをヘビーに使わないからだと思いますが。

2008年11月12日水曜日

ついに携帯にもスパム

世の中的には今さらな話なんだけど、昨日の夕方くらいから携帯のアドレス宛にもスパムが来るようになってしまった。

絶対どこかから漏洩したんだろうと思うけど、それもわかりようはない。

会社のアドレス宛のスパムもいまだに来るけど、それ以上に相当うざい。

というわけで、送信元のアドレスはさまざまで個別に拒否りようがないので、
ドメイン指定受信を設定することにした。

今のところ、よさげな感じです。

2008年8月9日土曜日

Microsoft装うスパム

これ、うちにも来てるやつですね、たぶん。

Microsoft装うスパム、IE 7をエサに - ITmedia エンタープライズ

Microsoftを装ってInternet Explorer(IE)7を宣伝するスパムが出回っているとして、米IM企業FaceTime Communicationsのセキュリティ研究者が注意を促している。
最近、この偽セキュリティソフトをダウンロードさせようとするCNNニュースを装ったスパムも出回っており、FaceTimeの研究者は気をつけるよう呼び掛けている。

どちらかと言えば、CNNの方が頻度が高い気がしますね。
たいていは携帯に転送されたメールでわかるので、即削除ですが。

Watch out!

2008年7月3日木曜日

haloscanが?

うーん、なんかもしかしてhaloscanがトラブってる?

Warning: the database-server was not able to find the desired database and table. Please try to reload the page by clicking on reload. If this problem is still there, contact the administrator:...

ちょっと様子見るか。

追記:
そのままにしておいて、寝て起きたら復旧してました。

2008年6月23日月曜日

COBOLも進化するとして

そういえば、10年以上前に「第2種情報処理技術者」の試験を受けた時に、プログラミング言語はCOBOLを選択したような気がする。

COBOLは今後20年以上にわたってユーザーに安心を提供する:ITpro

プログラミング環境としてみた場合,現在のCOBOLの姿は10年前の姿とは全くと言っていいほど変わっている。ビジュアルでグラフィカルな開発ツールになり,開発がやりやすくなった。プログラマにとって非常にエキサイティングな開発言語だと思う。Javaを使っている人も,ぜひ我々のツールを見てほしい。Java以上に革新的なものを見つけてもらえるだろう。
COBOLもいろいろと進化しながら使われる世界があるのは当然だし別によいと思いますよ。
個人的にはこれからこの方に進む事はないだろうと思っていますが。
まあ、仮に必要になっても、少し勉強すればなんとかなる、ぐらいには思えるし。

COBOLは今後20年以上にわたってユーザーに安心を提供する:ITpro
ユーザーはSOAを採用することで,COBOLアプリケーションの機能をWebサービスとして提供できるようになる。これは,既存のCOBOLアプリケーションを書き直すことなく再利用できるということだ。
この「再利用」って、ちょっと微妙だな、と思った。
最初から再利用を想定されて作られたものならよいと思うけど、単にブラックボックスになったアプリケーションを延命させる為にこういう技術が使われたとしたら後々悲惨な状況になるような気がするのだが。

2008年6月22日日曜日

FirefoxのCMを山手線で見た

私も昨日山手線で見て、ちょっとびっくりしました。

Firefox 3のCMビデオ、JR山手線/京浜東北線で放映される : デスクトップ - TECH WORLD

2008年6月17日より、JR東日本の山手線、中央線および京浜東北線の液晶ディスプレイ付き車両において、Firefox 3のコマーシャルビデオが放映されている。1週間限定の放映予定。

Mozilla Japan ブログ - Get Firefox ビデオアワードグランプリ受賞のユニットが Firefox 3 の 15 秒CM に挑戦!
この CM は、今まで Firefox にあまりなじみのなかった方々に、Firefox という名前や Firefox のロゴマークを認知してもらうことを目的としています。

普及を促進しようといろいろとキャンペーンするのはよいと思うけど、そんな所でCM流す事がコストに相応の効果があるのだろうか?というのが最初に思った事。

それが「ネットに関わる何か」くらいしかわかりようがない内容なので、知っている人だけが気に留めて、知らない人はただ素通りしていくだけなんではないかと思ってしまいました。ネットユーザに対する効果的なPR方法はもっと他にあるんじゃないかな、と。

まあ、知っている人の中には、そういうCMで流れたものを「自分は知っている」という優越感から知らない人に対して勝手に広報してくれる人が出てくるという2次的な効果も結構あるのかもしれません。

私がこうしてブログの記事に書いている事も、それに乗せられている事にもなるわけですが...

2008年4月28日月曜日

「PowerBuilder」新版

先日こんな記事があったばかりですが、なんとPowerBuilderの新バージョン。

「PowerBuilder」新版が発売 .NETとの連携を強化 - ITmedia エンタープライズ

アシストは4月28日、第四世代言語に対応し、直感的な操作で開発ができるソフトウェア「PowerBuilder」の最新版を発売した。


もう新規ではあまり使われなくなってきているからこそ、ああいうマイグレーションサービスが出てきているのかと思っていましたが。

まあ、当面縁はないだろうなぁと思います。.NET連携強化なら、なおさら。

2008年4月21日月曜日

Appleの更新ツールでSafariをインストール

私もこれに「引っかかって」Safariをインストールしました。

Appleの更新ツール、「バッドウェア」の認定を直前回避 - ITmedia エンタープライズ

AppleがWindows版QuickTimeやiTunesなどのソフトウェア更新ツールで、Safariブラウザなどの別のソフトウェアを「アップデート」と称してインストールさせていると問題を指摘していた。

私自身はいい機会だから試してみようとわかってやりましたが、
確かに「これはありなのか?」と率直に思っていました。

個人的には、ついでにFirefoxも入れてマルチブラウザで色々試すようになれたので、本当にいい機会になってよかったと思っています。