2007年5月27日日曜日

今週は無し.

 今週は予定があって時間を取れなかったのでメモは無し.

 同時に、自分のスケジュール管理の甘さに茫然自失 orz

2007年5月20日日曜日

Subversionのリビジョン間差分をExport.

 Subversionを会社でテスト導入.
 最終的にVSSからの置き換えが出来るかどうかは置いておき、あらゆる作成物のバージョン管理が出来る、FSFSで運用している場合、リポジトリのバックアップもコピーも簡単に可能と言う利点がありますので、十分役にはたつでしょう.

 と言う事で実際にテスト運用してみると、リビジョン間の差分のみをExportしたいケースがある事に気づきました.
 何百ページもあるWebサイトのデータ管理なんかがそうです.

※ここから以下、すべてWindows上での話です

 結論から言えば、TortoiseSVNで普通に出来ますね.

 ◆リポジトリブラウザ→リポジトリ選択→右クリック→ログを表示→対象リビジョン(2つ)選択→リビジョンを比較→リストのファイルをすべて選択→右クリック→選択をエクスポート

 がしかし、lightmaterialはこのExport方法にまったく気づかず orz

 探してもなかなかリビジョン間差分をExportするツールが見つからず(TortoiseSVNで出来るので当たり前かもしれませんが)、やっと探し当てたのが「SvnChangeList」と言うソフト.
 しかし、このソフトでは何故かエクスポートに失敗してしまうので(ファイルが1つも出力されない. lightmaterialの環境が悪いのか?)、仕方ないから自分で作ろうと手っ取り早くVB.Netを起動.
 TortoiseSVNで出来るにも拘らず…拘らず…拘らず… orz

 まぁ、そのマヌケ過ぎて笑える程悲しい現実は置いておき.
 このメモで本当に書きたかったのはここから.
 作り始めようと思ってすぐ問題が.
 直接Subversionのクライアント機能を実装しようとすると面倒なので、「SvnChangeList」に倣ってSubversion付属のクライアント(svn.exe)を起動する方法で試みた所、日本語が思い切り文字化けします.

C:\Subversion\bin>svn
?\228?\189?\191?\231?\148?\168?\230?\150?\185?\230?\179?\149?\227?\130?\146?\231
?\159?\165?\227?\130?\138?\227?\129?\159?\227?\129?\132?\227?\129?\168?\227?\129
?\141?\227?\129?\175 'svn help' ?\227?\129?\168?\230?\137?\147?\227?\129?\163?\227
?\129?\166?\227?\129?\143?\227?\129?\160?\227?\129?\149?\227?\129?\132?\227?\128
?\130

 は?

 と思いつつネット探索してみると、この現象はかなーり有名な現象の様で、インストーラでインストールしていない場合やTortoiseSVNと同居させていると発生するとの事.
 どうやらiconvのパス指定が正常に取れていないのが原因らしいので、PATH指定してあげる事で解消します.

set APR_ICONV_PATH=[iconv diretory]
C:\Subversion\bin\svn
使用方法を知りたいときは 'svn help' と打ってください。

 [iconv directory]はSubversionのディレクトリ下にある「iconv」ディレクトリを指定します.
 これで訳の分からない文字化けからは解消されます.

 System.Diagnostics.Process(とProcessInfo)でこの辺をどう処理して良いのか思い浮かばなかったので、結局文字化けする場合はbatファイルを出力して、それを起動する方法を選択.
 何度も言うようにTortoiseSVNで出来るにも拘らず…拘らず…拘らず… orz

 完成させる前に気づきましたし、文字化けの解消方法も分かったので、すべてが無駄だった訳ではありません!!

 …はい、無駄過ぎます orz
 4時間オール無駄.
 涙でディスプレイが霞んで見えるけど気のせい気のせい.

フレッツ網の例の件.

 まぁ、各所blog含め散々あらゆる所で話題になった東日本全域にわたるフレッツ網の接続エラー問題.
 もう5日も前の話ですが、週一でしかblog管理してないので平気で過去の話題を引っ張り出しますw

 札幌に住むlightmaterialも例に漏れず影響を受けました.
 その時は仕事中で大変な事に.
 会社のチープなルータは、事業所とのVPN的な設定のせいで、事業所間通信が落ちると社内のネットワークを巻き込んで不安定になってしまうので、余計大変な事になりました.
 しかも、社内で外部に通じている回線がすべてフレッツ網経由だったので、「繋がらない理由がまったく分からない」と言う状況.
 考えてみれば、今の時代、情報収集=インターネットと言う構図が成り立っているので、そこが落ちてしまうと何の情報も得られません.
 プロバイダの問題か?
 回線(光ファイバ)の問題か?
 NTTの問題か?
 まーったく分からず一時間あれやこれやと大騒ぎ.
 結局同業他社の知人から連絡を貰い、東日本のフレッツ網が落ちていると判明.
 一時間無駄に使ってその結果かい!と何故か爆笑してしまいました.

 と同時に、こんな事態になった時、TV・ラジオでしか情報収集出来ないと言う事を痛感.
 こんな事はめったに無いでしょうが、別経由の回線増設やTV・ラジオなりの外部情報入手経路を確保しとくのも大事な事だと思う今日この頃.

svchostがCPUを食い散らかす.その後2.

 先日書いたWindowsUpdateで固まるのはMSさんのミス?、と言う件ですが、前回の記事を書いた翌日(と言っても約一週間前 orz)、さっそく試しました.

 …ほ、本当に固まらない!w
 要するに、WindowsUpdate自体の不具合だったようで.

 ただなぁ
 この現象、4月の頭から発生してたんですが、実際に対応されたのが5月の半ばなので、4月の時点で固まるケースは無かったのかもしれません.
 私の環境(会社PC)が特殊だったんでしょうか?

 

2007年5月13日日曜日

Trac Web Admin Pluginを入れてみた.

 先日書いた「Tracインストール手順メモ.」の続きです.
 とは言え、かなり間が開いてしまいましたが orz

 今回は
  
 ・Trac Web Admin Plugin [ver 0.1.2dev_r4240](Python2.4版)

 をインストールし、TracのWeb画面上から管理者機能を使える様にしようと思います.

1. setuptoolsをインストール.



 オプション機能のsetuptoolsをインストールします.
 上記の「Tracインストール手順メモ.」を先に見ていれば、ダウンロードからインストール方法まで書いてあります.
 Trac Web Admin Pluginをインストールする前に、このオプション機能をインストールしておかなければいけないようです.



2. Trac Web Admin Pluginをインストール.



 インストールと言っても、手順は非常に簡単です.
 インストールパスは、前回作成したテストプロジェクトのディレクトリである事を前提にしています.

[??@fedora]# cd /sources
mv TracWebAdmin-0.1.2dev_r4240-py2.4.egg.zip /usr/local/trac/testprj/plugins/TracWebAdmin-0.1.2dev_r4240-py2.4.egg
[??@fedora]# chown [apache user]:[apache group] TracWebAdmin-0.1.2dev_r4240-py2.4.egg

 実行している事は、Trac Web Admin Pluginの本家サイトに書いてある事だけです.
  1. ダウンロードしたファイルから「.zip」拡張子を削除
  2. プロジェクトの「plugins」ディレクトリにファイルを配置
  3. ファイル権限変更(これは書いてませんが)

 次に、プロジェクト設定ファイルで、Trac Web Admin Pluginを有効にします.

[??@fedora]# vi /usr/local/trac/testprj/conf/trac.ini
…[中略]…
[components]
webadmin.* = enable

 設定ファイル中に[components]セクションが無い場合は、適切な場所に追記します.
 この設定方法は、Tracのマニュアル(TracGuid)に記載してあります.

 さて、インストールは完了しましたが、これだけでTrac Web Admin Pluginが使える訳ではありません.
 ちゃんとユーザー設定、パーミッション設定をする必要があります.



3. ユーザー設定.



 前回のインストール手順メモでは、ごく簡単に(と言うか概要のみ)しか触れていませんでしたが、Trac用のユーザー設定を行います.

[??@fedora]# vi /usr/local/apache2/conf/extra/httpd-trac.conf
 # Tracの設定項目は省略. 前回分参照.
 <LocationMatch "/trac/[^/]+/login">
  AuthType Basic
  AuthName "Test Project"
  AuthUserFile /usr/local/trac/testprj/.htpasswd
  Require valid-user
 </LocationMatch>

 「AuthUserFile」は好みのパスを指定します.
 今回は分かり易い様に、Tracのテストプロジェクト内に「.htpasswd」と言うファイルを作成する事にしました.
 そして、実際に「.htpasswd」(要するに、普通にApacheでパスワード認証する場合と同じファイル)を生成します.

[??@fedora]# htpasswd -c -b /usr/local/trac/testprj [user name] [password]
 ※当然[user name]と[password]を自分の環境にあわせて書き換えます.

 これでユーザー設定が完了しました.
 続いて、Tracプロジェクトのパーミッション設定を行います.



3. パーミッション設定.



 Trac Web Admin Pluginはその名前の通り、Web上からAdministrator的な機能を実行する為のプラグインですので、設定したユーザーがTrac上のAdministrator権限を持っていなければいけません.
 先ほど作成したユーザーに、「TRAC_ADMIN」と言うAdministrator権限を付与します.

[??@fedora]# trac-admin /usr/local/trac/testprj permission add [user name] TRAC_ADMIN

 後は実際に使ってみるだけです.



4. Trac Web Admin Pluginを使う.



 まず、Tracからログインします.
 Tracのトップ画面標示後、右上にある「ログイン」から認証処理を実行します.
 当然、htpasswdで作成したユーザー名、パスワードを入力します.

 そうすると、画面上にユーザー名が表示され(ここまでは標準機能のログイン)、メニューバー(?)に「Admin」ボタンが追加されます.

 環境によっては(?)、認証時に以下の様なエラーが発生するかもしれません.

Traceback (most recent call last):
…[中略]…
The following error occurred while trying to extract file(s) to the Python egg
cache:

[Errno 13] Permission denied: '/root/.python-eggs'

The Python egg cache directory is currently set to:

/root/.python-eggs

Perhaps your account does not have write access to this directory? You can
change the cache directory by setting the PYTHON_EGG_CACHE environment
variable to point to an accessible directory.


 要するに、キャッシュファイルをrootディレクトリに作成しようとしてエラーが発生しているので、アクセス可能なディレクトリを指定して下さいよ、と言う事でしょう.
 この場合、↑の指示に従って、Apacheの設定ファイルに変更を加えます.

[??@fedora]# vi /usr/local/apache2/conf/extra/httpd-trac.conf
 <Location /trac>
  SetHandler mod_python
  PythonHandler trac.web.modpython_frontend
  PythonOption TracEnvParentDir /usr/local/trac
  PythonOption TracUriRoot /trac
  SetEnv PYTHON_EGG_CACHE /usr/local/trac/testprj/.python_eggs
  #↑この1行を追記
 </Location>
 # 以下はパスワード制限する場合に必要.
 <LocationMatch "/trac/[^/]+/login">
  AuthType Basic
  AuthName "Test Project"
  AuthUserFile /usr/local/trac/testprj/.htpasswd
  Require valid-user
 </LocationMatch>

 設定に誤りが無ければ、これで正常にログインできるかと思います.

 Trac Web Admin Pluginの各機能は、この「Admin」ボタンから実行可能です.
 この各種機能を使う事で、上述したtrac-adminを使用したパーミッション設定などをWeb画面上から設定可能になります.
 おお、何とも便利!!

 …ただ、これ公開用で使うのはちょっと恐い気がしないでも無いですね.
 どうなんだろう?
 まぁ、私はローカルでしか使わないので問題ありませんが.

新しくなったGoogle Analytics.

 このBloggerと言うブログはGoogleが提供している訳ですが、標準ではアクセス解析機能が付いていません.
 まぁ、他のブログの様に

  今日は何人のアクセスがあった?
  誰からのコメントが届いてる!!
  早速お礼のコメント書きにいかないと!

 と言った状況に陥らないように、敢えてBloggerを選んだので無くて良いんですが、それでも人間「誰がどんな記事を見てるのか」少しは気になりますw

 と言う事で、Bloggerにアクセス解析機能を実装する方法として、本家ではGoogle Analyticsを推奨していましたので、ブログ開設当初からひっそりとGoogle Analyticsを実装してたりします.
 まぁ、ブログの保守すら週1日しかしてないので、実際にGoogle Analyticsをチェックするのなんて月1くらいのものですがw

 そんなGoogle Analyticsがバージョンアップしたとの事
 ニュースを見て早速確認.

 おお、見やすくなってる!
 …アクセス数が「なんじゃそりゃ」的駄目過ぎな件に関しては無視の方向で orz
 気を取り直して.
 トップ画面のマイレポートには、各種データの中で、好きな機能を表示可能(ただ、各機能をマイレポートに表示するには、各機能の画面から設定を行う必要があるので、ちょっと面倒かも).
 表示位置もD&Dで変更可能.
 また、以前はレポート部分の表示についてFlashに高く依存していましたが、今回のバージョンアップからAjaxとFlashを併用して表示する様になり、非常に見やすく(軽く)なりました.
 うーん、素晴らしい.

 と、バージョンアップとは関係無いですが、ほぼ他サイトの情報に依存していて、本当に書いた事が正しいのか未検証な「怪しい「2o7.net」の正体.」と言う投稿に対して、アクセスが結構ある事に今日気付きました.
 あれかなぁ、もう少しちゃんと調べた方がいいかなぁ…

svchostがCPUを食い散らかす.その後1.

 以前書いたsvchostがCPUを食い散らかす件ですが、手動でWindowsUpdateを適用して改善したものの、また先日の定期UpdateによりCPUを食い散らかすようになりました.

 …面倒なので自動更新機能を完全OFFにw

 それが一番手っ取り早く且つ確実安全な方法だと思います.
 手動でUpdateすれば言い訳ですし.
 根本的に解決するなら…OS再インストール? orz

 このWindowsUpdateで固まる問題、正当な回避策ってあるんでしょうかねぇ?
 何が原因で現象が出るPCと出ないPCがあるのか、それを知りたい所です.

/**
 * 2007-05-13 19:00追記.
 */
 この記事書いた後、Yahoo!ニュースをたらたら見てたら、「おそらく」そのものズバリの問題についてが書いてありましたw
 ・Yahoo!ニュース(しばらくしたら見られなくなると思う)
   http://headlines.yahoo.co.jp/hl?a=20070511-00000032-imp-sci

 ・MSサイト
   Microsoft Update または Windows Update が終了しない

 明日会社で試してみよう.

入れ直したUbuntu 7.04.

 先週gnome-terminalがこける、と書きましたが、Ubuntuを入れ直した所、普通に使えました.
 どうやらアップデート中に固まったのが悪かった様です.

 何だかなぁ…
 まぁ、その後は何事もなかったかの様に、普通に使えているので問題無いですが.

 その後使っていて気付いたのが、完全にDesktop向けの用途に機能が絞られている、と言う事です.
 まぁ、名前からして

  日本語ローカライズ版Desktop CD

 なんですから、当然といえば当然かw
 どの辺がDesktop向けかと言うと、デフォルトの状態ではアップデート一覧に、サーバー関係のソフトウェアがまったくリストアップされません.
 Apache-Httpdも(見逃していなければ)リストアップされません.
 その辺はサーバー版使いなさい、と.
 でもサーバー版の日本語ローカライズは用意されていない訳です.
 まぁ、英語でも問題無いですし、自分で日本語環境突っ込めばいい話なのかもしれませんが、そんな事をしていたらせっかくの簡易な環境が、一気に他のディストリビューションより面倒になってしまいます.

 要するにDesktop用途に特化したディストリビューションだと考える方が賢明?
 もう少し使ってみようと思います.
 全体的な使い勝手は素晴らしいと思うので.

 飽きたらDebian 4.0でも入れてみようか.

2007年5月5日土曜日

gnome-terminalがこける on Ubuntu 7.04.

 駄目だこりゃ.
 さんざん褒めておいて何ですが…Terminal起動出来ないと何も出来ませんからぁぁ! orz

 意味分かりません.
 何故かgnome-terminal(要するに端末)が起動しません.
 正確に言うと、起動後(画面が表示される前)にこけます.

 オマケにgnome-terminalが駄目ならKterm Konsole入れよう!と思ったら、「アプリケーションの追加と削除」でエラーが出ます.
E: dpkg was interrupted, you must manually run 'dpkg --configure -a' to correct the problem.
E: _cache->open() failed, please report.

 …仕方なし(端末起動出来ないから).
 仮想端末(Ctrl+Alt+F1〜F6、戻る時はCtrl+Alt+F7)から原因を調べようと、仮想端末起動.
 んが、当然日本語表示出来ず、エラー表示に何が書いてあるか分かりません(文字化け).
 konするも「インストールされてねーよ!」と怒られつつ、親切にも「apt-getしてね」と書いてあったので、指示に従って

[??@ubuntu]# sudo apt-get install kon2
[??@ubuntu]# sudo dpkg --configure -a
 ※Ubuntuはデフォルトではrootでログイン出来ません(正しいあり方ですが).

 konのインストール時には文字化けのオンパレードで「Y/n」の質問され、たぶんインストールしますか?と言う事だろうと、「Y」と入力し無事インストール完了.
 って、パッケージ管理はAptだったのねw
 そして仮想端末を抜け、おもむろに「アプリケーションの追加と削除」からKonsoleを選択すると普通にインストール完了.
 ふーん.
 kon入ってないと絶望的だった訳で.
 たまたま昔RedHat9使っててkonの存在知ってたから良いような物の…
 私の様な素人にはそんな事分かりませんって.

 気を取直して、Konsole上からgnome-terminalを起動するも…エラーメッセージも無くこける!
 一応エラーメッセージは出る事は出るけど「Bus error」としか出ません orz
 おかしいなぁ.
 何だろう??
 Ubuntuのフォーラム見ても、同じような現象に対する質問が見当たりません.

 …こりゃ入れ直しですね orz

2007年5月4日金曜日

Ubuntu 7.04 on HDD.

 HDDから起動しました.
 …これはLinux(GUI上)の宿命なのか??と言うアップデートが固まる現象はさておき、何事もなかったかのように起動してくれました.

 素敵です.
 報道ステーションでの市川さんの微笑みくらい素敵です. > 意味不明


 Ubuntuのパッケージマネージャが何なのかすら知らずにインストールしてたりしますが(…Apt?…違うかw)、Fedoraから乗り換えたくなるくらいの勢いです.
 まぁ、実際はまだ乗り換えたりしませんけど.
 Fedora7も試してませんし.

 それにしても、インストール完了までが早かった.
 今までのLinuxのインストールの中で最短かも.

Ubuntu 7.04 Feisty Fawn.

 ようやく、半月に及ぶ連続仕事地獄から開放され、カレンダー通りの休みを取る事が出来ました.
 休みって素晴らしい!!!
 …と言うどーでもいい話は置いておき.

 今回の書き込みは前から執拗にインストールしたいと書いていたUbuntu(Linux)からの書き込みです.

 今まで主にと言うか99%のRedHat系Linuxおよび1%のTurboLiuxで構成されて来たLinux経験ですが、先日Debianを初めて触り、そのシンプルな素晴らしさ、Aptの素晴らしさに驚愕しました.
 そして今日は、Ubuntuの「そこまで親切なのか!」と言う『Easy』な素晴らしさに感動すら覚えました.


 Ubuntuの日本語ローカライズ版CD-ROMは2種類用意されています.
 今回試したのは通常版(グラフィカル版).
 CD-ROMからインストーラを起動しようと思ったら、想像に反してライブCD状態で起動(CD-ROMからOSを起動するKnoppixの様なOS、つまりHDDが無くても、Windowsが入っているPCでもOKですよ、と言うやつです).
 「あれ?ダウンロードするisoイメージの間違えたかな?」と思っていたら、デスクトップに「インストール」と言うアイコンが.
 あーなる程ね.
 こりゃ便利だ.
 ライブCD状態で最初に起動して、いろいろ触って気に入ったらインストール出来ますよ、と.
 Knoppixも同じ様な事が出来ますが、Knoppixより便利(簡単)かも??

 そして、更に初心者(私も含め)にやさしい「半Windowsライク」なGUI.
 起動画面すらどことなくWindowsライク(初心者にとって意味不明な起動プロセスの表示もほとんどありません. 最初の数工程を除き、Windowsの様なプログレスバーが表示されます).
 起動後のGnomeのテーマもWindowsライク.

 初心者には取っ付きやすいですねぇ.
 それに、日本語ローカライズ版がちゃんと用意されているだけあり、Debianの様に日本語を使うのにちょっとした手間をかける必要もなく、最初からSCIM-AnthyのLinux最強日本語入力環境が利用できます.

 うーん.
 なんだろう、このイージーな感覚は.
 確かにFedoraもCDを5枚用意したり、ライブCD版を探してダウンロードする労力が苦にならないなら、ほぼ同程度のEasyなLinuxではありますが、Ubuntuの場合は群を抜いてEasyと言うかイージーと言うかCD1枚でオールオーケー的な素晴らしさがあります.
 と書いている今、実は「UbuntuでHDDにUbuntu自身をインストールしながらブログを書いて」いますw
 これって今までに無かった感覚かも.
 私の中では、OSって(Windowsも含め)インストール中はただ終わるのを待っているだけ、と言うのが当たり前でしたから、インストール中にブログ書いたりなんだり出来る環境が凄く新鮮!
 ってまぁ、私が他にそういったOSを触った事が無いだけかもしれませんが orz

 あ、インストール終わったようです.
 再起動してHDDから起動でOKかな?