ヘビィ・SMD! -234ページ目

ヘビィ・SMD!

そんな・・・バナナ!!
1. 甘え度+10 恐れ度+10 寿命-1週間
2. 甘え度+10 恐れ度-10
3. 甘え度-10 恐れ度-10 寿命+1週間

[10:23]


いまからローカルマシン(32bit)に64bit OSを仮想環境に入れようと思う。(仕事で検証せんといかん)

一応適当に記事を眺めるとできるにゃできるらしい。

はてさて、どうなることやら。


あまり労力はかけずにやってみるさ。


[10:47]

以下のサイトを参考にCentOSの国内ミラーにジャンプ
http://pocketstudio.jp/linux/?CentOS

httpプロトコル版では4GBを超えるDVDイメージをダウンロードしようとすると、
どこも「接続できません」的な発言をされて失敗した。
なのでftpを利用してイメージをダウンロード。
ftp://ftp.riken.jp/Linux/centos/5.2/isos/x86_64/CentOS-5.2-x86_64-bin-DVD.iso

10分くらいでダウンロード完了。


[11:18]

qemuを利用してイメージファイルを作成。
プロンプトより以下を実行。

>qemu-img.exe create -f vmdk C:\opt\vm\64_test\tst64.vmdk 20G
Formating 'C:\opt\vm\64_test\tst64.vmdk', fmt=vmdk, size=20971520 kB

vmxeditorを利用してvmxファイルを作成。ポイントとしては
- RedHat EL4(64bit)
- メモリ512MB
- 「ISOイメージを使う」でさっきDLしたDVDのisoを指定

くらいかな。で、出来上がったのが↓

# Made by vmx-editor
config.version="8"
virtualHW.version="4"
numvcpus="1"
nvram="nvram"
memsize="512"
displayName="64test"
guestOS="rhel4-64"
Ethernet0.present="TRUE"
Ethernet0.connectionType ="nat"
logging="FALSE"
usb.present="FALSE"
Floppy0.present="FALSE"
Sound.present="FALSE"
ide0:0.present="TRUE"
ide0:0.devicetype="disk"
ide0:0.filename="C:\opt\vm\64_test\tst64.vmdk"
ide0:0.startConnected="TRUE"
ide0:1.present="TRUE"
ide0:1.autodetect="FALSE"
ide0:1.devicetype="cdrom-image"
ide0:1.filename="C:\opt\CentOS-5.2-x86_64-bin-DVD.iso"
ide0:1.startConnected="TRUE"


うごくかな・・・?


[12:01]

VMware player 2.5.1 build-126130で上のvmxファイルを起動…

Your CPU does not support long mode. Use a 32bit distribution.
…そっすか。
とりあえず、64bitのゲストOSが動くか動かないかの判定ツールがあるので確認。
http://www.vmware.com/download/ws/drivers_tools.html

したらば

This host is capable of running a 64-bit guest operating system under this VMware product.
(このホストはこのVMware製品の下で64ビットのゲストオペレーティングシステムを実行できますゎょ)
そうですかexciteさん。

サクっと動けば検証しようと思ってたけど、そうでなければこれ以上は触らない。
少なくとも仕事の時間(要するに今)を割くことはしない。
そこまでコストをかけるような案件でもないし。

まぁ、ちょっぴり。

くやしいけどね。

euc版のpukiwiki plus!をutf8版に乗せ換えようとした。
すると、trackerプラグインでバグが出た。

trackerプラグインには
// "/page"の内容が長すぎるとpreg_match()が失敗するバグ(?)があるので
// "//////////"までをマッチ対象とさせる
というバグがあり、本家ではパッチにて対処がされている。
パッチの内容をutf版にもあてたところ、全てのページがリストされなくなっちまった。


以下が対処方法。


trackerプラグインを以下のように修正

- 18行目付近
define('TRACKER_LIST_SHOW_ERROR_PAGE',TRUE);
+ define('TRACKER_PLUS_LIST_APPLY_LIMIT_PARSERANGE',TRUE);
+ define('IGNORE_MESSAGE','//////////');
- 756行目付近
+ function getFooter()
+ {
+ if ($this->strFooter == null)
+ {
+ $default_source = join('',plugin_tracker_get_source($this->config->page.'/page'));
+ $this->strFooter = substr($default_source, strpos($default_source, IGNORE_MESSAGE));
+ }
+ return $this->strFooter;
+ }
function add($page,$name)
{
- 777行目付近
$source = join('',preg_replace('/^(\*{1,3}.*)\[#[A-Za-z][\w-]+\](.*)$/','$1$2',$source));
+ // "/page"の内容が長すぎるとpreg_match()が失敗するバグ(?)があるので
+ // IGNORE_MESSAGE以降の文字列はpage宣言文字列を利用する。
+ if( TRACKER_PLUS_LIST_APPLY_LIMIT_PARSERANGE )
+ {
+ $source_pos = strpos($source, IGNORE_MESSAGE);
+ if( $source_pos > 0 )
+ {
+ $source_s = substr($source, 0, $source_pos);
+ $source = $source_s . $this->getFooter();
+ }
+ }

本家のパッチでは「"//////////"までをマッチ対象とさせる」とあるが、
どうやらutf版では
/pageで宣言した内容が全て含まれていないとlistが作れない
ような動きに見えた。なので、
- ページの内容取得
- マッチする文字列までを部分抽出
- マッチする文字列以降を宣言部分(:config/tracker/HOGE/page)から取得
- 上記2つの文字列を結合

とすることで対処。getFooterメソッドは一度しか宣言部分から取得しないようにしたが、
ほんとにこんな書き方でいいのかな?PHPのスコープ概念がよくわからん^^;

あと、この対処ができたから「今度は認証関係を設定するぞ!」

と意気込んで取り組んだところ、、、

新しく追加された認証関係のプラグインってちゃんと動かないっぽい。

(IDの検証だけしてパスワード情報を無視してる!?)

乗せ換えはまだまだ先のようだ。

れっつごーsmd-2009020300340000.jpg
新中野の千年の宴では
日曜日と月曜日は
サワー半額

だそうで。
週の頭から飲みに行きました。

ちなみに明日も飲みに行きます。
アルコール三昧だゎ…

…まぁ、ストレス発散っすよ。
ほんとはこういうことは上司がしてやるべきと思うの僕だけ?