こあだんぷと
https://core-dumped.blog.ss-blog.jp/
FAQならぬRAQ(Rarely Asked Questions)な技術情報の備忘録、またはUN*Xで四苦八苦するLinux使いの軌跡。
ちょなそ
2012-08-26T22:53:27+09:00
ja
-
ライセンス認証前にハードウェア構成を変更してはいけない。
https://core-dumped.blog.ss-blog.jp/2012-08-26
Hyper-VにWindows XPをインストールをした後のライセンス認証が通らない。通らないというか、「ライセンス認証サーバと接続できません」という感じのダイアログが出て、プロキシなどのネットワーク設定を求められるがプロキシなど不要なのに何故!?という感じ。もう発売されていないOSだから?TechNet終了?とか色々考えたものの、だったらもうちょっと違うメッセージになるはず。電話認証も考え始めた頃ようやく一つ思い当たるフシが浮かんできた。当初仮想マシンにはメモリ1GBを割り当てたがWindowsインストール直後のリブートのタイミングで2GBに増やしていた。つまり、Windows XPインストール → メモリ増やす → ライセンス認証(通らない)こんな感じ。しかしこれでネットワーク的な問題になるのかね、と思いながらも一応1GBに戻してリトライ。するとあっさり認証が通った。(この後メモリを増やした)構成が変わると再認証、というのは頭にあったが、さすがにこれはなかなか気付けない。
Windows
ちょなそ
2012-08-26T22:53:27+09:00
通らないというか、「ライセンス認証サーバと接続できません」という感じのダイアログが出て、
プロキシなどのネットワーク設定を求められるがプロキシなど不要なのに何故!?という感じ。
もう発売されていないOSだから?TechNet終了?とか色々考えたものの、
だったらもうちょっと違うメッセージになるはず。
電話認証も考え始めた頃ようやく一つ思い当たるフシが浮かんできた。
当初仮想マシンにはメモリ1GBを割り当てたがWindowsインストール直後のリブートのタイミングで2GBに増やしていた。
つまり、
Windows XPインストール → メモリ増やす → ライセンス認証(通らない)
こんな感じ。
しかしこれでネットワーク的な問題になるのかね、と思いながらも一応1GBに戻してリトライ。
するとあっさり認証が通った。
(この後メモリを増やした)
構成が変わると再認証、というのは頭にあったが、さすがにこれはなかなか気付けない。
]]>
-
ブラウザの表示サイズを確認するbookmarklet
https://core-dumped.blog.ss-blog.jp/2012-08-07
ターゲットとなるブラウザサイズが決まっている場合などの確認用に。javascript:(function(){alert("Width:"+innerWidth+"\n"+"Height:"+innerHeight);})()
Web
ちょなそ
2012-08-07T20:01:07+09:00
javascript:(function(){alert("Width:"+innerWidth+"\n"+"Height:"+innerHeight);})()
]]>
-
Google検索キーワードをクオートするBookmarklet
https://core-dumped.blog.ss-blog.jp/2012-04-26
google検索結果に対してキーワードをダブルクオートで括って再検索します。面倒なので元々あるダブルクオートとか気にしてません。javascript:(function(){var s=window.location.search;var begin=s.indexOf("?q=")>=0?s.indexOf("?q="):s.indexOf("&q=");var end=s.substring(begin+1).indexOf("&")>=0?s.substring(begin+1).indexOf("&")+(begin+1):s.length;var q=s.substring(begin+3,end);q=q.split(/\+/).join(" ");q=decodeURI(q);q='"'+q.split(/[ ]+/).join('" "')+'"';q=encodeURI(q);s=s.substring(0,begin+1)+"&q="+q+s.substring(end);location.href=window.location.protocol+'//'+window.location.host+'/'+window.location.pathname+s;})()あまりテストしてません。
Web
ちょなそ
2012-04-26T19:22:52+09:00
面倒なので元々あるダブルクオートとか気にしてません。
javascript:(function(){var s=window.location.search;var begin=s.indexOf("?q=")>=0?s.indexOf("?q="):s.indexOf("&q=");var end=s.substring(begin+1).indexOf("&")>=0?s.substring(begin+1).indexOf("&")+(begin+1):s.length;var q=s.substring(begin+3,end);q=q.split(/\+/).join(" ");q=decodeURI(q);q='"'+q.split(/[ ]+/).join('" "')+'"';q=encodeURI(q);s=s.substring(0,begin+1)+"&q="+q+s.substring(end);location.href=window.location.protocol+'//'+window.location.host+'/'+window.location.pathname+s;})()
あまりテストしてません。
]]>
-
コピーしたCentOSのVMがネットワークに接続できない
https://core-dumped.blog.ss-blog.jp/2012-02-13
無償版のESXiにはVMのコピー機能がサポートされていないが、データストアブラウザ等を使ってイメージを手動でコピーすることで一応コピーすることが可能である。この方法でコピーしたCentOSを起動させるとNICが認識されずネットワークに接続できない状態になった。どうやらNICのMACアドレスの値がコピー元のものとは異なる値になっているために、新たにNICが追加された挙動になっているようだ。以下の2ファイルの修正で対応する。/etc/udev/rules.d/70-persistent-net.rulesコピー元VMのMACアドレスがNAME="eth0"、コピー先VMのMACアドレスがNAME="eth1"になっている。eth0側の記述を削除し、eth1側の記述をNAME="eth1"→NAME="eth0"に変更。/etc/sysconfig/network-scripts/ifcfg-eth0HWADDR="コピー元VMのMACアドレス"になっているところを、HWADDR="コピー先VMのMACアドレス"に変更する。(ついでにホスト名やIPアドレスなども変更する)それぞれ変更したらOS毎リブートしてやる。
VMWare
ちょなそ
2012-02-10T22:00:00+09:00
データストアブラウザ等を使ってイメージを手動でコピーすることで一応コピーすることが可能である。
この方法でコピーしたCentOSを起動させるとNICが認識されずネットワークに接続できない状態になった。
どうやらNICのMACアドレスの値がコピー元のものとは異なる値になっているために、
新たにNICが追加された挙動になっているようだ。
以下の2ファイルの修正で対応する。
/etc/udev/rules.d/70-persistent-net.rules
コピー元VMのMACアドレスがNAME="eth0"、
コピー先VMのMACアドレスがNAME="eth1"になっている。
eth0側の記述を削除し、eth1側の記述をNAME="eth1"→NAME="eth0"に変更。
/etc/sysconfig/network-scripts/ifcfg-eth0
HWADDR="コピー元VMのMACアドレス"になっているところを、
HWADDR="コピー先VMのMACアドレス"に変更する。
(ついでにホスト名やIPアドレスなども変更する)
それぞれ変更したらOS毎リブートしてやる。
]]>
-
IPv4・IPv6判別と簡易IPv6→IPv4変換
https://core-dumped.blog.ss-blog.jp/2011-06-08
World IPv6 DayにちなんでIPv6の話題。フロントにApacheのIPv6対応HTTPサーバを使っている分には、IPv4/IPv6どちらのアクセスからでも基本的にはWebアプリケーションは動く。ただしアプリがREMOTE_ADDRを参照してIPアドレスをパースする処理を持っている場合、IPv6アドレスを考慮していない場合はエラーになったり、想定外の動きをする可能性がある。(※ApacheではIPv6でもアクセス元IPアドレスはREMOTE_ADDRヘッダに入ってくる)そんなシステムでとりあえずアプリの改修なしでIPv6でアクセスを処理したい場合、ApacheでIPv4アドレスである127.0.0.1にプロキシしてやることで強制的にREMOTE_ADDRをIPv4アドレスである127.0.0.1にすることができる。RewriteEngine OnRewriteCond %{REMOTE_ADDR} :RewriteRule ^(.*)$ http://127.0.0.1/$1 [P,L](※VirtualHostを使っている場合はヘッダやListenアドレス/ポートなどの考慮が必要)アドレスの処理自体がアプリケーションのキモである場合は当然ながら意味のない処理になってしまうが、IPv6アドレスのアドレス表記にはコロン(:)がに含まれるので上記のような記述でIPv4アドレスからのアクセスはそのまま処理、IPv6アドレスからのアクセスはIPv4アドレスに変換して処理することができる。さすがにこれを運用環境でやることはあまりないだろうけど、実験や応急処置としてはお手軽な対処方法かと。
Apache
ちょなそ
2011-06-08T18:04:26+09:00
フロントにApacheのIPv6対応HTTPサーバを使っている分には、IPv4/IPv6どちらのアクセスからでも基本的にはWebアプリケーションは動く。
ただしアプリがREMOTE_ADDRを参照してIPアドレスをパースする処理を持っている場合、IPv6アドレスを考慮していない場合はエラーになったり、想定外の動きをする可能性がある。
(※ApacheではIPv6でもアクセス元IPアドレスはREMOTE_ADDRヘッダに入ってくる)
そんなシステムでとりあえずアプリの改修なしでIPv6でアクセスを処理したい場合、ApacheでIPv4アドレスである127.0.0.1にプロキシしてやることで強制的にREMOTE_ADDRをIPv4アドレスである127.0.0.1にすることができる。
RewriteEngine On
RewriteCond %{REMOTE_ADDR} :
RewriteRule ^(.*)$ http://127.0.0.1/$1 [P,L]
(※VirtualHostを使っている場合はヘッダやListenアドレス/ポートなどの考慮が必要)
アドレスの処理自体がアプリケーションのキモである場合は当然ながら意味のない処理になってしまうが、IPv6アドレスのアドレス表記にはコロン(:)がに含まれるので上記のような記述でIPv4アドレスからのアクセスはそのまま処理、IPv6アドレスからのアクセスはIPv4アドレスに変換して処理することができる。
さすがにこれを運用環境でやることはあまりないだろうけど、実験や応急処置としてはお手軽な対処方法かと。
]]>
-
スピーカーから時々「シャッ」という音がする。
https://core-dumped.blog.ss-blog.jp/2010-05-15
10年近く悩まされていた問題を最近ようやく解決することができた。タイトルの通り、PCのスピーカーから時々「シャッ」という音がするという現象があった。我が家のPCは複数台が常時起動しっぱなしで、この「シャッ」は昼夜かまわず起こる。このスピーカーには複数のPCを接続しているが、時期によって使っていたPCが異なるためサウンドカードに関係なく発生する問題ということははっきりしていた。そうなるとスピーカーがイカれてきたのかと思いきや別のスピーカ+PCのセットでも同じ現象が発生。ちなみに現在我が家のPCでスピーカーにつながっているのは、メインPC、サブPC、TV録画サーバの3台。うち2台がWindowsXP、1台がWindows7。どうもWindowsが怪しい・・・のか?
Windows
ちょなそ
2010-05-15T16:06:42+09:00
タイトルの通り、PCのスピーカーから時々「シャッ」という音がするという現象があった。
我が家のPCは複数台が常時起動しっぱなしで、この「シャッ」は昼夜かまわず起こる。
このスピーカーには複数のPCを接続しているが、時期によって使っていたPCが異なるため
サウンドカードに関係なく発生する問題ということははっきりしていた。
そうなるとスピーカーがイカれてきたのかと思いきや別のスピーカ+PCのセットでも同じ現象が発生。
ちなみに現在我が家のPCでスピーカーにつながっているのは、メインPC、サブPC、TV録画サーバの3台。
うち2台がWindowsXP、1台がWindows7。
どうもWindowsが怪しい・・・のか?
原因はやはりWindowsにあった。
エクスプローラ(IEじゃなくてExplorer)の検索コンパニオン(Ctrl-Fで出てくる機能)の
アニメーションキャラクタが時々「シャッ」音を出していた。
こいつだ。
動作は複数あるが、こういう動きをするときに「シャッ」音が発生する。
これについては、「設定を変更する」→「アニメーションキャラクタを表示しない」を選択することで解決する。
寂しい後姿と共に長年の謎がこれで消え去る。
または別のキャラクタを選ぶことも可能だけど・・・そのへんはお好みで。
]]>
-
ウィルスに冒されるとこうなる。
https://core-dumped.blog.ss-blog.jp/2010-01-17
友人から「セキュリティソフトのアラート画面ばかり出てきて手がつけられない」というヘルプ依頼のご連絡。聞けばセキュリティソフトは某先生が入っているらしいが、2006年から使っていて一度もライセンス更新していないらしい。
Windows
ちょなそ
2010-01-17T23:09:35+09:00
「セキュリティソフトのアラート画面ばかり出てきて手がつけられない」
というヘルプ依頼のご連絡。
聞けばセキュリティソフトは某先生が入っているらしいが、2006年から使っていて一度もライセンス更新していないらしい。
ていうかその状態で動くのかなN先生、と思いながらPCを立ち上げるとウィルスチェックらしきダイアログがでて、こんな画面になった。
*「いっぱい検出してるみたいなんだけど、削除できなくて…」
とにかくあらゆる操作がブロックされる。
タスクマネージャも出せないし、コントロールパネルも開けない。
出てくるのは「ウィルスを検出したからレジストして駆除しろや」的な英語のアラート。
ちなみにこのPCは以前海外で使っていたものだ。
私「メッセージは英語にしてるの?」
*「してないよ」
私「言語にJapaneseって無いのね、コレ。」
うーん、N先生が悪さしてるんだったらアンインストールしてとりあえずAvastで叩くか。
というわけでセーフモードで起動。
先ほどのダイアログは出ない。
N先生を消そうとすると、「セーフモードじゃだめよ」と怒られる。
こいつはとんだマルウェアだぜ!
仕方ないので通常モードで再起動かけている時にふと気付いた。
・・・ていうかこれN先生じゃなくね!?
つまりアレだ。ウィルスに感染しているように見せかけて登録料をせしめようというソフトってこと。
もっと早く気付けよ自分。
ダイアログには「Security tool」とあって、プログラムメニューにはタスクトレイと同じアイコンのショートカットが。
ショートカットの指しているのが
c:\Documents and Settings\All Users\Application Data\4583579898(なんか適当そうな番号)
と、いかにもアレな場所だった。(某Gブラウザとかもここだけど)
(後で調べたら典型的なフェイク型のマルウェアだった)
セーフモードで再起動後、こいつを消すとこのセキュリティソフトもどきは立ち上がらなくなった。
と、思いきやしばらくすると「Security toolをインストールしました」とダイアログ。
さすがにこれにはクラッときた。
なんかもう、他にもウィルスらしきプログラムが勝手に死に出すわ、
とりあえず入れてみたAvastは大量メール送信を検知するわでもう何が何だか。
メール文面はバイ○グラがどうのこうのっていう英語のメール。
皆さ~ん、ここがスパムメール発信基地ですよ~。
まさかスパムメール送信の現場をこの目で見るとは思わなんだ。
(接続先はAvastのSMTPサーバ)
もう「ダメだコイツ早くなんとかしないと」状態。
一つ一つ駆除しても絶対取りこぼす自信があったので、結局OS再インストールの刑となった。
こういう現象を目の当たりにしたのは実は初めてなんだけど、これは怖いねぇ。
でもPCっていいよね。人生やり直すことができて・・・。
]]>
-
FTPプロキシ経由のログイン
https://core-dumped.blog.ss-blog.jp/2009-06-26
delegateなんかでFTPプロキシを立てた場合の使い方。$ ftp プロキシサーバホスト名 プロキシサーバポート番号FTP> user ユーザID:パスワード@ホスト名:ポート番号
Tips
ちょなそ
2009-06-26T00:21:10+09:00
$ ftp プロキシサーバホスト名 プロキシサーバポート番号
FTP> user ユーザID:パスワード@ホスト名:ポート番号
]]>
-
easy_installでローカルファイルをインストール
https://core-dumped.blog.ss-blog.jp/2009-05-14
なんのことはなく、これでいける。easy_install pkg-0.0.0-py0.0.zipeasy_install pkg-0.0.0-py0.0.egg
Python
ちょなそ
2009-05-14T10:25:31+09:00
easy_install pkg-0.0.0-py0.0.zip
easy_install pkg-0.0.0-py0.0.egg
]]>
-
64ビット版Windows 7でGoogle Chromeを使うには
https://core-dumped.blog.ss-blog.jp/2009-05-05-1
Windows 7 に限った話ではないようだが、64ビット版Windows 7ではChromeがうまく動作しない。ページを開こうとするとエラーになってしまうのだ。メモリさえ食わせてやれば小気味よく動くブラウザだけにぜひ64ビット環境で使いたいと思うのが人情。起動オプションに--in-process-pluginsをつけることで正常に動くらしいが、私の環境では改善されなかった。結局、Chrome 2 Betaを使うことにした。こちらは問題なく動く。
Windows
ちょなそ
2009-05-05T12:09:11+09:00
ページを開こうとするとエラーになってしまうのだ。
メモリさえ食わせてやれば小気味よく動くブラウザだけにぜひ64ビット環境で使いたいと思うのが人情。
起動オプションに--in-process-plugins
をつけることで正常に動くらしいが、私の環境では改善されなかった。
結局、Chrome 2 Betaを使うことにした。こちらは問題なく動く。
]]>
-
Windows 7 (RC版)でユーザプロファイルをCドライブ以外に置きたい
https://core-dumped.blog.ss-blog.jp/2009-05-05
ユーザプロファイル(マイドキュメント・ブックマークなどの各ユーザ所有のファイルや設定)のデフォルトの位置は、Windows2000やXPはC:\Documents and Settings以下、VistaやWindows 7はC:\ユーザ(C:\Users)以下となっている。しかしながら、システムがインストールされるCドライブにユーザプロファイルがあることで以下のような問題が起きうる。・システムドライブの容量の圧迫・システムとデータが同時アクセスされることでの体感パフォーマンス低下やディスク断片化、寿命への影響・システムのリストア(再インストール)時の退避作業の煩雑さこれを嫌って、Cドライブ以外にユーザプロファイルを置くようにする人も少なくない。かくいう私もその一人でして、XPでの方法は様々なサイトで取り扱われていて情報も豊富。ところが、VistaやWindows 7についてはまだまだ情報も不足気味かなという感じ。以下、いろいろと調査や試行したものについて簡単にまとめた。
Windows
ちょなそ
2009-05-05T11:37:23+09:00
しかしながら、システムがインストールされるCドライブにユーザプロファイルがあることで以下のような問題が起きうる。
・システムドライブの容量の圧迫
・システムとデータが同時アクセスされることでの体感パフォーマンス低下やディスク断片化、寿命への影響
・システムのリストア(再インストール)時の退避作業の煩雑さ
これを嫌って、Cドライブ以外にユーザプロファイルを置くようにする人も少なくない。
かくいう私もその一人でして、XPでの方法は様々なサイトで取り扱われていて情報も豊富。
ところが、VistaやWindows 7についてはまだまだ情報も不足気味かなという感じ。
以下、いろいろと調査や試行したものについて簡単にまとめた。
1. インストール時の無人インストール機能を使う
Autounattend.xml ファイルにユーザプロファイルの位置を指定しておくことで最初から指定の場所がユーザプロファイルの格納場所になる。
最初からシステムを構築するのであれば選択肢としてはベストかと思うが、WindowsAIKやインストール時のドライブの認識など何かと高度な知識が要求されるケースもある。
2. プロパティで変更する
C:\Users\[ユーザ名] にはそのユーザのプロファイルフォルダが並んでおり、それぞれの「プロパティ」→「場所」で好きな場所に移動させることができる。
データの種類によってドライブや場所を好きに選べるので、場合によってはかなり便利かもしれない。
しかしながら、この方法ではOSで保護されているものは移動させることができないため、すべてのプロファイルをCドライブから追い出すことができない。
3.別ドライブに作成してリンクする
ユーザー名がchonaso、ユーザープロファイルをD:\Users以下に作りたい場合。
(1) フォルダー D:\Users を作成する。
(2) レジストリエディターで HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileListにあるProfilesDirectoryの値を、「%SystemDrive%\Users」から「D:\Users」に変更する。
(3) Administrator権限を持つ新規ユーザー(この場合chonaso)を作成する。
(4) OSを再起動(おそらくログオフでも大丈夫だけど、念のため)
(5) chonasoでログオンする。この時点でD:\Users\chonasoが作成される。
(6) セーフモードで再起動する。
(7) chonasoでログインし、コマンドプロンプトでジャンクションを作成する(下記のコマンドを実行)。
mklink /J C:\Users\chonaso D:\Users\chonaso
(8) レジストリエディターで HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileListにあるProfilesDirectoryの値を、「D:\Users」から「%SystemDrive%\Users」に変更する。(つまり元に戻す)
(9) 再起動する。
これによって一見、C:\Usersにプロファイルがあるようだが物理的にはD:\Users以下にある状態となる。
実際のところ、ユーザープロファイルの位置がC:\Usersにあると決め打ちされてるアプリケーションもあるようなので、物理的にCドライブ以外にあったとしても、Cドライブにあるように見せて予期せぬトラブルを未然に防いで置いたほうがよさそうだ。
結局10回くらいWindows 7をインストールしなおして、最終的に私は3.を採用した。
試すときは各自の責任において実施してください。
]]>
-
Subversionリポジトリ引越しでエラー
https://core-dumped.blog.ss-blog.jp/2009-04-22-1
認証関係を別のスキームで扱えるのもSubversionの便利なところ。Subversionのリポジトリはディレクトリ毎コピーすれば別のサーバでもそのまま使えるようになる。…はずなんだけど、Internal Server Error発生。Webサーバのログを見ると引越し先のSubversionが古い場合などに起きるようだ。この場合、一度dumpして新環境でloadすれば移行することができる。いちいちバージョン気にするくらいなら、dump→loadしてしまったほうが楽だね。
Tips
ちょなそ
2009-04-22T23:46:00+09:00
Subversionのリポジトリはディレクトリ毎コピーすれば別のサーバでもそのまま使えるようになる。
…はずなんだけど、Internal Server Error発生。
Webサーバのログを見ると
引越し先のSubversionが古い場合などに起きるようだ。
この場合、一度dumpして新環境でloadすれば移行することができる。
いちいちバージョン気にするくらいなら、dump→loadしてしまったほうが楽だね。
]]>
-
CVSからSubversionへの移行
https://core-dumped.blog.ss-blog.jp/2009-04-22
かなりありふれたトピックですが。とあるCVSが動いてる機器が無くなるらしく、いい機会なので現在運用中のSubversionへ移行することに。CVSリポジトリをSubversionへ移行させるにはcvs2svnを使ってリポジトリの変換を行ってやればよい。変換対象のCVSサーバには大量のリポジトリがあるので、CVSリポジトリ1つにつきSVNリポジトリ1つにすることにした。移行先はLinux+Apacheという環境。リポジトリのディレクトリをそのままCVSサーバからSubversionサーバへコピー。cvs2svnにパスを通して実行。元のCVSのコメントはシフトJISで書かれていたのでこんな書式。cvs2svn --encoding=Shift_JIS --fallback-encoding=Shift_JIS -v -s [SVNリポジトリのパス] [コピーしたCVSリポジトリのパス]※[SVNリポジトリのパス]は新規に作成されるため、存在するディレクトリ名はNG変換元のリポジトリの規模とマシンスペックによるけど結構かかる。変換されたリポジトリをSVNParentPathの下に置いてやって、ファイルの所有者を他と同じものにしてやればこれで完了。・・・と思ったらCVSROOTが入っちゃってた。別に入ってても支障はないけど、激しく邪魔なのでやりなおし。オプション指定とかで除外できそうな気もするけど、よくわからなかったのでCVSROOTディレクトリを削除してもう一度変換。これでOKっぽい。
Tips
ちょなそ
2009-04-22T12:58:51+09:00
とあるCVSが動いてる機器が無くなるらしく、いい機会なので現在運用中のSubversionへ移行することに。
CVSリポジトリをSubversionへ移行させるにはcvs2svnを使ってリポジトリの変換を行ってやればよい。
変換対象のCVSサーバには大量のリポジトリがあるので、CVSリポジトリ1つにつきSVNリポジトリ1つにすることにした。
移行先はLinux+Apacheという環境。
リポジトリのディレクトリをそのままCVSサーバからSubversionサーバへコピー。
cvs2svnにパスを通して実行。
元のCVSのコメントはシフトJISで書かれていたのでこんな書式。
cvs2svn --encoding=Shift_JIS --fallback-encoding=Shift_JIS -v -s [SVNリポジトリのパス] [コピーしたCVSリポジトリのパス]
※[SVNリポジトリのパス]は新規に作成されるため、存在するディレクトリ名はNG
変換元のリポジトリの規模とマシンスペックによるけど結構かかる。
変換されたリポジトリをSVNParentPathの下に置いてやって、ファイルの所有者を他と同じものにしてやればこれで完了。
・・・と思ったらCVSROOTが入っちゃってた。
別に入ってても支障はないけど、激しく邪魔なのでやりなおし。
オプション指定とかで除外できそうな気もするけど、よくわからなかったのでCVSROOTディレクトリを削除してもう一度変換。
これでOKっぽい。
]]>
-
Googleウェブマスターツール認証の「システムに一時的な問題」
https://core-dumped.blog.ss-blog.jp/2009-04-14
Googleのクローラやインデックスの状況確認や設定を行うためのGoogleウェブマスターツールがある。(Yahooではサイトエクスプローラーがこれに相当する)このツールでクローリングの設定を行うためには、まず自分がサイト管理者であるということを証明(認証)しなければならない。認証方法は、ツールが指定してくるURLに対してアクセス可能にすること。要求どおりファイルを置けるということは管理者なんだろう、という判断だ。たとえば、http://www.example.com/ というサイトに関してクローリングの設定を行いたいという場合は、http://www.example.com/google*************.htmlというURLがレスポンスコード200(リクエスト成功)を返すように要求される。(*************はランダムな半角英数字)ファイルを設置するなりしてGoogleに読み込ませると認証は完了し、そのサイトに関するクローリング設定やインデックス操作を行うことができるようになる。ここからが本題。あるサイトにBASIC認証を掛けたんだけど、すでにGoogleのインデックスに登録されてしまっているのでこれを削除したい。そんなわけでウェブマスターツールを使うためにrobots.txtやGoogle指定のファイルへのアクセスを許可するためにapacheの設定変更。SetEnvIf Request_URI "robots\.txt$" nopassSetEnvIf Request_URI "google****************\.html$" nopass<Location> AuthType Basic AuthName ********** AuthUserFile *************** Require valid-user Order allow,deny Satisfy any Allow from env=nopass</Location>http://xxxxxxxx/google****************.htmlにアクセスできることを確認してGoogleに読み込ませる。しかし「システムに一時的な問題が発生しました。」と表示されて認証が成功しない..
Web
ちょなそ
2009-04-14T12:55:40+09:00
Googleウェブマスターツールがある。(Yahooではサイトエクスプローラーがこれに相当する)
このツールでクローリングの設定を行うためには、まず自分がサイト管理者であるということを証明(認証)しなければならない。
認証方法は、ツールが指定してくるURLに対してアクセス可能にすること。
要求どおりファイルを置けるということは管理者なんだろう、という判断だ。
たとえば、http://www.example.com/ というサイトに関してクローリングの設定を行いたいという場合は、
http://www.example.com/google*************.html
というURLがレスポンスコード200(リクエスト成功)を返すように要求される。
(*************はランダムな半角英数字)
ファイルを設置するなりしてGoogleに読み込ませると認証は完了し、そのサイトに関するクローリング設定やインデックス操作を行うことができるようになる。
ここからが本題。
あるサイトにBASIC認証を掛けたんだけど、すでにGoogleのインデックスに登録されてしまっているのでこれを削除したい。
そんなわけでウェブマスターツールを使うためにrobots.txtやGoogle指定のファイルへのアクセスを許可するためにapacheの設定変更。
SetEnvIf Request_URI "robots\.txt$" nopass
SetEnvIf Request_URI "google****************\.html$" nopass
<Location>
AuthType Basic
AuthName **********
AuthUserFile ***************
Require valid-user
Order allow,deny
Satisfy any
Allow from env=nopass
</Location>
http://xxxxxxxx/google****************.htmlにアクセスできることを確認してGoogleに読み込ませる。
しかし「システムに一時的な問題が発生しました。」と表示されて認証が成功しない。
アクセスログを確認すると、/google****************.htmlへのアクセス(レスポンスコード=200)の他になぜか/noexist_***************.htmlというファイルへのアクセスがあった。
後者はBASIC認証が聞いているのでレスポンスコードは401(未認証)。
Googleグループによると、「指定したURL以外のページのレスポンスコードが404(存在しない)になっていることを確認するため(意訳)」とのこと。
確かにどんなリクエストでもとりあえず200を返しちゃうようなサーバがあったらこんな認証は全く意味がないわけだけど、なんか不親切だなぁ。
というわけで以下の設定を追加することで認証成功。
SetEnvIf Request_URI "noexist_****************\.html$" nopass
]]>
-
何もしてないのにCPU使用率が高い
https://core-dumped.blog.ss-blog.jp/2009-02-24
Vistaを使ってるとたまに何もしていない状態でCPU使用率が高い状態に陥ることがある。タスクマネージャの「プロセス」を見るとCPUを食ってるプロセスがない。(もちろん「すべてのユーザのプロセス」で。)まったくもって謎だったが、Process Explorerで確認すると、Hardware InterruptsがCPUを食っていることが判明。当たり前だがHardware Interruptsというのは便宜上こういう名前で表示されているだけでプロセスじゃない。よってタスクマネージャのプロセス欄には表示されない。さて、状況はわかったが原因がはっきりしない。可能性のひとつとしていわゆるPIO病(ドライブ類の転送モードがDMAではなくPIOになってしまっている状態)が挙げられるが、特にそういった状況ではなかった。で、こうなった場合は再起動するしかないかと思っていたが、一旦スリープさせてやると復帰時にはHardware InterruptsのCPU使用率は下がることがわかった。対症療法になってしまうけど、特に副作用もないので当面これで対処しようと思う。あくまで感覚的な話だが、どうも長時間(丸一日とか)起動させっぱなしだと起きる気がする。
Windows
ちょなそ
2009-02-24T17:30:14+09:00
タスクマネージャの「プロセス」を見るとCPUを食ってるプロセスがない。(もちろん「すべてのユーザのプロセス」で。)
まったくもって謎だったが、Process Explorerで確認すると、Hardware InterruptsがCPUを食っていることが判明。
当たり前だがHardware Interruptsというのは便宜上こういう名前で表示されているだけでプロセスじゃない。
よってタスクマネージャのプロセス欄には表示されない。
さて、状況はわかったが原因がはっきりしない。
可能性のひとつとしていわゆるPIO病(ドライブ類の転送モードがDMAではなくPIOになってしまっている状態)が挙げられるが、特にそういった状況ではなかった。
で、こうなった場合は再起動するしかないかと思っていたが、一旦スリープさせてやると復帰時にはHardware InterruptsのCPU使用率は下がることがわかった。
対症療法になってしまうけど、特に副作用もないので当面これで対処しようと思う。
あくまで感覚的な話だが、どうも長時間(丸一日とか)起動させっぱなしだと起きる気がする。
]]>
-
crontabの記述でdateコマンドを使う場合の注意
https://core-dumped.blog.ss-blog.jp/2009-02-19-1
軽くハマったのでメモ。crontabで定期的にコマンドを実行したときに出力されたものをログとして書き出すときに、ファイル名のサフィックスとして日時をつけることで簡易ログローテーションさせたいというケースがある。だが、以下の記述はうまくいかない。0 0 * * * /usr/local/bin/hogehoge > /var/log/hoge/log.`date +%Y%m%d` 2>&1これは%がcrontabでは特別な意味を持つ文字だからだ。詳しくはman 5 crontabで。%はバックスラッシュでエスケープすることで記述することができる。0 0 * * * /usr/local/bin/hogehoge > /var/log/hoge/log.`date +\%Y\%m\%d` 2>&1
UN*X
ちょなそ
2009-02-19T18:18:43+09:00
crontabで定期的にコマンドを実行したときに出力されたものをログとして書き出すときに、ファイル名のサフィックスとして日時をつけることで簡易ログローテーションさせたいというケースがある。
だが、以下の記述はうまくいかない。
0 0 * * * /usr/local/bin/hogehoge > /var/log/hoge/log.`date +%Y%m%d` 2>&1
これは%がcrontabでは特別な意味を持つ文字だからだ。
詳しくはman 5 crontabで。
%はバックスラッシュでエスケープすることで記述することができる。
0 0 * * * /usr/local/bin/hogehoge > /var/log/hoge/log.`date +\%Y\%m\%d` 2>&1
]]>
-
設定ファイル上でのURLエンコードされたリクエストの取り扱い
https://core-dumped.blog.ss-blog.jp/2009-02-19
apache内部でリクエストURIを処理する過程で、そのURIに含まれるURLエンコードされている部分はデコードされてしまう。これは、http://example1.com//%E3%83%86%E3%82%B9%E3%83%88 へのアクセスを http://example2.com/へリダイレクトさせようとRedirectMatch \/%E3%83%86%E3%82%B9%E3%83%88 http://example2.com/(※実ファイル上では改行しません)という設定を追加してもうまくいかない。この場合は、RedirectMatch \/テスト http://example2.com/と記述しないとならない。ここで注意するのが、全角文字の文字コード。この場合はきちんとUTF-8の「テスト」を書いてやる必要がある。不安な場合は、EUC,SJIS,UTF-8全部で書いてしまうのが確実。こんな記述しなくて済む方法をご存知の方はこっそり教えていただけるとうれしいです。関連ケースとして、mod_rewriteで以下の設定を行った場合もRewriteRule ^/hoge/(.*)$ /cgi-bin/hoge.cgi?=$1 [L]http://example.com/hoge/%E3%83%86%E3%82%B9%E3%83%88でアクセスした場合に、$1の中身は"%E3%83%86%E3%82%B9%E3%83%88"ではなく"テスト"になってしまうが、この場合はNEフラグを書いてやれば解決する。RewriteRule ^/hoge/(.*)$ /cgi-bin/hoge.cgi?=$1 [NE,L]
Apache
ちょなそ
2009-02-19T12:52:55+09:00
これは、http://example1.com//%E3%83%86%E3%82%B9%E3%83%88 へのアクセスを http://example2.com/へリダイレクトさせようと
RedirectMatch \/%E3%83%86%E3%82%B9%E3%83%88 http://example2.com/
(※実ファイル上では改行しません)
という設定を追加してもうまくいかない。
この場合は、
RedirectMatch \/テスト http://example2.com/
と記述しないとならない。
ここで注意するのが、全角文字の文字コード。この場合はきちんとUTF-8の「テスト」を書いてやる必要がある。
不安な場合は、EUC,SJIS,UTF-8全部で書いてしまうのが確実。
こんな記述しなくて済む方法をご存知の方はこっそり教えていただけるとうれしいです。
関連ケースとして、mod_rewriteで以下の設定を行った場合も
RewriteRule ^/hoge/(.*)$ /cgi-bin/hoge.cgi?=$1 [L]
http://example.com/hoge/%E3%83%86%E3%82%B9%E3%83%88
でアクセスした場合に、$1の中身は"%E3%83%86%E3%82%B9%E3%83%88"ではなく"テスト"になってしまうが、この場合はNEフラグを書いてやれば解決する。
RewriteRule ^/hoge/(.*)$ /cgi-bin/hoge.cgi?=$1 [NE,L]
]]>
-
closeの結果も評価するのだ!
https://core-dumped.blog.ss-blog.jp/2009-02-14
結構前からMovableTypeを使っているのだが、最近ページ生成したときにページが途中で途切れる現象がしばしば発生している。サーバ(レンタルサーバ)が腐ってるのかと思ってしばらくは放置していたのだが、今日は二桁回生成しなおしても改善しなかったので、調査してみたところQuotaに引っ掛かっていたっぽい。これがUI上では正常終了してるように見えるのでタチが悪い。(後で自分のブログを見たら真っ白だったとかザラ)なんでコレが正常終了なのかわからなかったので調べてみた。#人の書いたPerlスクリプトを読むことほど苦痛なことはない原因はcloseの結果をチェックしていないからだった。今の会社に入って初めて担当したシステムでこれが原因の障害に巻き込まれたのだが、これがまたその後の対応を含めてこんな糞(うん)コード書いた奴の人生もcloseさせたくなるくらい入社早々辞めたくなるくらいのトラウマな出来事だった。CとかPerlとかの入門書や入門サイト見てもopenの結果は評価してもcloseの評価をしている記述は私は見たことがない。何バイト書いたとかチェックしても実際にはライトバッファに乗っかってるだけだから、本当に成功したかどうかはflushかcloseしないとわからない。そういう意味ではJavaみたいに強制的にcatch書かされる言語は少なくとも意識させられるからマシだよね。
Tips
ちょなそ
2009-02-14T23:51:21+09:00
サーバ(レンタルサーバ)が腐ってるのかと思ってしばらくは放置していたのだが、今日は二桁回生成しなおしても改善しなかったので、調査してみたところQuotaに引っ掛かっていたっぽい。
これがUI上では正常終了してるように見えるのでタチが悪い。
(後で自分のブログを見たら真っ白だったとかザラ)
なんでコレが正常終了なのかわからなかったので調べてみた。
#人の書いたPerlスクリプトを読むことほど苦痛なことはない
原因はcloseの結果をチェックしていないからだった。
今の会社に入って初めて担当したシステムでこれが原因の障害に巻き込まれたのだが、これがまたその後の対応を含めてこんな糞(うん)コード書いた奴の人生もcloseさせたくなるくらい入社早々辞めたくなるくらいのトラウマな出来事だった。
CとかPerlとかの入門書や入門サイト見てもopenの結果は評価してもcloseの評価をしている記述は私は見たことがない。
何バイト書いたとかチェックしても実際にはライトバッファに乗っかってるだけだから、本当に成功したかどうかはflushかcloseしないとわからない。
そういう意味ではJavaみたいに強制的にcatch書かされる言語は少なくとも意識させられるからマシだよね。
]]>
-
Office複数起動
https://core-dumped.blog.ss-blog.jp/2009-01-29
ExcelシートやPowerPointのスライドを複数開いて作業することはよくあるが、複数起動できないと、ウィンドウレベルで並べて表示できなかったり(タイル表示は不便すぎ)、切り替えが結構面倒くさいで困る。以下解決策。◆Excel普通に起動できる。起動時に空のブックを作らないようにするには、-eオプションを付ける。例) Excelのショートカットのリンクを編集"C:\Program Files\Microsoft Office\OFFICE11\EXCEL.EXE" -e◆PowerPointとか1) PowerPointビューワを使う→編集できない2) バージョン違いのOfficeを入れる。→たぶん小細工が必要。出来上がったファイルの互換性を考えてもあまりおすすめできない。3) IEでファイルを開く。→Vista以降はちょっと微妙。
Windows
ちょなそ
2009-01-29T15:35:17+09:00
複数起動できないと、ウィンドウレベルで並べて表示できなかったり(タイル表示は不便すぎ)、切り替えが結構面倒くさいで困る。
以下解決策。
◆Excel
普通に起動できる。
起動時に空のブックを作らないようにするには、-eオプションを付ける。
例) Excelのショートカットのリンクを編集
"C:\Program Files\Microsoft Office\OFFICE11\EXCEL.EXE" -e
◆PowerPointとか
1) PowerPointビューワを使う
→編集できない
2) バージョン違いのOfficeを入れる。
→たぶん小細工が必要。出来上がったファイルの互換性を考えてもあまりおすすめできない。
3) IEでファイルを開く。
→Vista以降はちょっと微妙。
]]>
-
意図せず画面が回転してしまった
https://core-dumped.blog.ss-blog.jp/2009-01-16
「画面が90°回転してしまった」とパニくった親から電話が来た。実は昔同じ経験をしてあせったことがある。IntelのオンボードVGA(GMAのドライバソフトウェア)を使っている場合、Ctrl+Altを押しながらカーソルキーを押すと、その方向を上とした向きに画面が回転する。ということで通常に戻したい場合は、Ctrl+Alt+↑を押しましょう。
Windows
ちょなそ
2009-01-16T17:54:55+09:00
実は昔同じ経験をしてあせったことがある。
IntelのオンボードVGA(GMAのドライバソフトウェア)を使っている場合、Ctrl+Altを押しながらカーソルキーを押すと、その方向を上とした向きに画面が回転する。
ということで通常に戻したい場合は、Ctrl+Alt+↑を押しましょう。
]]>