Tags

Recent Entries

Recent Comments

Recent Trackback

Feeds

More Links


WindowsXPとVistaのデュアルブート環境からVistaのシングルブート環境に移行する

[Permalink] [Post to del.icio.us] [Post to hatena] [Post to livedoorClip]
Vista導入から2週間ほど経過しましたが、特に問題なく使用できそうなので思い切ってシングルブート環境に完全移行することにしました。

現環境のディスクは以下のような状態です。


 プライマリマスタ:WindowsXP
 プライマリスレーブ:WindowsVista


とりあえず駄目元でXPのディスクを取り外し、Vistaのディスクをマスタにして起動してみました。

結果は当然NG。
パーティションがアクティブになっていないっぽいのと、ブートに必要なファイルがごっそり無さそうな感じです。

ブートDVDで起動し、Windowsの修復→コマンドプロンプトより以下コマンドを実行
X:\sources> diskpart
DISKPART> select disk 0
DISKPART> select partition 1
DISKPART> active
DISKPART> exit

これでVistaの入っているパーティションがアクティブになります。
この上で、再度Windowsの修復を試みると、エラーを自動的に検出してブートに必要な環境を整えてくれるっぽいです。

指示に従って再起動すると無事Vistaが起動して動作も問題ないようでした。
へたれなので、一応XPのディスクは消去せずに保管しておきますが、おそらくコレで問題なく動作するかと。
Posted by: simpraight at 2007/02/17 11:28:43 | Tags: [windows] | Comments:56 | Trackbacks:0

トラックバック用ひらがなフィルタ

[Permalink] [Post to del.icio.us] [Post to hatena] [Post to livedoorClip]
英語のトラックバックスパムが「これはひどい」状態なので、ひらがなを含まないトラックバックを弾くようにフィルタを書いてみましたのでテスト。
Posted by: simpraight at 2007/02/14 23:16:17 | Tags: [日記] | Comments:2 | Trackbacks:0

リスト内の上下のLI要素をそっくり入れ替え

[Permalink] [Post to del.icio.us] [Post to hatena] [Post to livedoorClip]
します。
JavascriptのDOM関係のメソッドでまんまのがあるかと思って調べたんですがどうもなさそうなのでメモ。

/*
* @引数 li 移動させるリスト要素
* @引数 d 移動方向(up / down)
*/
function moveTo(li, d) {
d = (d=='down') ? 1 : -1;
var ul = li.parentNode;
var lis = ul.getElementsByTagName('li');
for(var i=0,l=lis.length; l>i; i++)
if(lis[i]==li){ var c = i; break; }
if(c+d<0||c+d==l) return true;
var a = [lis[c].cloneNode(true), lis[c+d].cloneNode(true)];
ul.replaceChild(a[1], lis[c]);
ul.replaceChild(a[0], lis[c+d]);
}


<ul>
<li>
リスト1
<input type="button" onclick="moveTo(this.parentNode, 'up');" value="上へ" />
<input type="button" onclick="moveTo(this.parentNode, 'down');" value="下へ" />
</li>
<li>
リスト2
<input type="button" onclick="moveTo(this.parentNode, 'up');" value="上へ" />
<input type="button" onclick="moveTo(this.parentNode, 'down');" value="下へ" />
</li>
<li>
リスト3
<input type="button" onclick="moveTo(this.parentNode, 'up');" value="上へ" />
<input type="button" onclick="moveTo(this.parentNode, 'down');" value="下へ" />
</li>
</ul>

みたいな感じで使えます。
Posted by: simpraight at 2007/02/14 10:51:20 | Tags: [javascript] | Comments:768 | Trackbacks:0

WindowsVistaにcoLinuxをインストール

[Permalink] [Post to del.icio.us] [Post to hatena] [Post to livedoorClip]
会社のPCでVistaを入れていろいろ動作確認しなさいってことで「WindowsVista Business」を数万円出して購入し、さすがに元環境を上書きするほど漢ではないのでディスク1台増設してデュアル環境でインストールしました。

動作は思っていたほど重くなくて(というかかなり軽快な部類)「アレ?結構いいじゃない」という感じです。

まぁ開発環境が動作しないと使えないので、まずはcoLinuxを放り込んでみました。


とりあえず、stableのcoLinux-0.6.4をインストールするとブルースクリーンになって強制終了(汗。
再起動するとチラッと噂の「レッドスクリーン」が表示されて終了。


ちょっwwwということで、セーフモードで起動して一旦coLinuxをアンインストールしました。

どうも一緒にインストールしたTAPドライバあたりがダメダメらしいです。
ググってみると、一応Vista対応のTAPドライバがあったりしたのですが。ひとまず現在公開されている最新版(coLinux-0.7.1-20070101.exe)をダウンロードし再トライ。


すると、さくさくとインストールは進み強制終了もなくインストールできました。


あとは、いつもの通りネットワーク共有の設定&TAPの設定を行い、C:\Program Files\coLinuxに設定ファイル(debian.conf)を作成しました。
ただ、Vistaの仕様なんでしょうけど「権限が無い」とか言われて直接保存できないのでデスクトップに保存してから、C:\Program Files\coLinux内にコピー。

debian.conf


kernel=vmlinux

cobd0=\DosDevices\g:\coLinux\root.1gb
cobd1=\DosDevices\g:\coLinux\swap.128mb
cobd2=\DosDevices\g:\coLinux\usr.1gb
cobd3=\DosDevices\g:\coLinux\home.1gb


root=/dev/cobd0
initrd=initrd.gz
mem=64
eth0=tuntap,"TAP"


そして、サービス化するためにデスクトップに以下の内容のショートカットを作成
C:\Program Files\coLinux\colinux-daemon.exe @debian.conf --install-service "coLinux"


作成したアイコンを右クリックして「管理者として実行」すればサービス化も問題なくできました。



今回はもともとXPで使用していたイメージファイルを利用したのですが全然問題ないみたいですね。
Posted by: simpraight at 2007/02/02 14:39:30 | Tags: [環境] | Comments:538 | Trackbacks:0

今日は島

[Permalink] [Post to del.icio.us] [Post to hatena] [Post to livedoorClip]
仕事で島にいくんですがどう見ても車大杉で乗れません。港であと二時間待ち。ちょっとキツい。
Posted by: simpraight at 2007/01/30 08:46:50 | Tags: [日記] | Comments:0 | Trackbacks:0

環境を軽快に

[Permalink] [Post to del.icio.us] [Post to hatena] [Post to livedoorClip]
会社のマシンはメモリをそんなに積んでないので開発環境動かしていると動作がミチミチになってしまいます。ちょっと効率に影響しつつあったのでソフトの設定を見直してみました。

1.FirefoxとThunderbird



合計で60M近くのメモリを消費しており非常に厳しい状態なので以下の設定を行いました。

config.trim_on_minimize = true

Firefoxの場合は「about:config」から、
Thunderbirdの場合は「ツール->オプション->詳細->一般タブ->設定エディタ」から
新規真偽値を設定すればおk。
この設定値を入れておくことで、最小化時のメモリ使用量が格段に低くなるらしいです。

Firefoxに関してはついでに以下の設定も行い、メモリキャッシュの上限を5MBにして消費メモリを若干減らしました。

browser.cache.memory.capacity = 5000

2.ランチャの変更



1、2年ほどGiraffe+というランチャを愛用していたのですがコレもメモリ使用量が10MBを超えておりちょっと厳しい。
ということでランチャの入れ替えを行いました。色々吟味したところ、

 ・軽い
 ・簡易なファイラとして使用できる
 ・カスタマイズが割とできる

という条件だと、CraftLaunchがかなり良いみたいなので導入してみました。
元々使用していた環境になるべくあわせるため、

 ・ランチャ起動のホットキーは「Win+Space」
 ・フォルダ名表示中に「Ctrl+Enter」でフォルダを開く
 ・ステップイン/ステップアウト

の設定を行い使用してみましたが非常に良いですコレ。特に違和感なく使えます。
動作も軽くコマンド型ランチャとしてはかなりお勧めできそうな感じです。

上記に加えてその他細かい部分の設定を見直しかなりキビキビ動くようになりました。
しばらくは幸せに仕事ができそうな感じです。
Posted by: simpraight at 2007/01/17 11:42:24 | Tags: [日記] | Comments:0 | Trackbacks:0

続・macbookがフリーズしまくる件

[Permalink] [Post to del.icio.us] [Post to hatena] [Post to livedoorClip]
フリーズしまくる問題治ったかに見せかけてまた復活。どうにもこうにもならない状況なのでnetinfoデータベースの再構築をやってました。

[Command] + [shift] を押しながら電源を入れてシングルユーザモードで起動する。

# fsck -yf
# mount -uw /
# cd /var/db
# mv netinfo/local.nidb netinfo/local.nidb.bad
# mv ./.AppleSetupDone ./.AppleSetupDone_
# reboot


再起動するとWelcomeセットアップ画面が表示されるのでちまちま初期設定。

設定完了後確認してみたところ、元の環境はそのまま引き継げている模様。とりあえずユーザ名あわせておけばいけるっぽいです。

それから数日使っていますが今のところフリーズは発症していません。うまくいったのかこれは?
Posted by: simpraight at 2007/01/10 22:57:41 | Tags: [日記] | Comments:1 | Trackbacks:0

NagiosのnrpeプラグインでMysqlの監視

[Permalink] [Post to del.icio.us] [Post to hatena] [Post to livedoorClip]
Nagiosのnrpeプラグイン使ってリモートのサーバを色々監視できます。
プラグインはバイナリだったりperlでかかれてたりするんですが基本的に実行してステータスを返すことができたら何でもよいらしいので、phpで書いてみました。

check_mysql.php


#!/opt/php5/bin/php -q
<?php
$u = array_search('-u', $argv);
$p = array_search('-p', $argv);
$d = array_search('-d', $argv);
$P = array_search('-P', $argv);
$H = array_search('-H', $argv);
$S = array_search('-S', $argv);

$user = ($u) ? $argv[$u+1] : '';
$password = ($p) ? $argv[$p+1] : '';
$database = ($d) ? $argv[$d+1] : '';
$port = ($P) ? $argv[$P+1] : '3306';
$host = ($H) ? $argv[$H+1] : 'localhost';

################################################
# connect check
################################################
$db = mysql_connect("{$host}:{$port}", $user, $password) || die("CRITICAL: ".mysql_errno().":".mysql_error()."\n");
mysql_select_db($database) || die("CRITICAL: ".mysql_errno().":".mysql_error()."\n");
################################################
# status check
################################################
$result = mysql_query("SHOW STATUS");
$status = mysql_fetch_assoc($result);
if(mysql_errno())
die("CRITICAL: ".mysql_errno().":".mysql_error()."\n");
################################################
# slave check
################################################
if($S){
$result = mysql_query("SHOW STATUS");
$status = mysql_fetch_assoc("SHOW SLAVE STATUS");
if(mysql_errno())
die("CRITICAL: ".mysql_errno().":".mysql_error()."\n");
if($status['slave_io_running']!='Yes' && $status['slave_sql_running']!='Yes')
die("CRITICAL: Slave_IO_Running = ".$status['slave_io_running'].", Slave_SQL_Running = ".$status['slave_sql_running']."\n");
}

exit("STATUS OK\n");
?>


# check_mysql.php -u [接続ユーザ名] -p [パスワード] -d [データベース名] -P [ポート番号] -H [ホスト名]
Status OK


でチェックできます。スレーブのチェックをしたい場合はオプションに「-S」を付ければおk。

nrpeから呼び出して使用する場合は、
サーバ側(nagiosサーバ)で、
# sudo vi /etc/nagios/services.cfg
define service{
use generic-service
host_name [ホスト名1,ホスト名2,...]
service_description Mysql Status
is_volatile 0
check_period 24x7
max_check_attempts 3
normal_check_interval 5
retry_check_interval 1
contact_groups [コンタクトグループ名]
notification_interval 120
notification_period 24x7
notification_options w,u,c,r
check_command check_nrpe!check_mysql_php
}

のようにサービスの定義をした上で、クライアント側(監視されるサーバ)に上記phpスクリプトを作成し
# sudo vi /etc/nagios/nrpe.cfg
command[check_mysql_php]=/usr/lib/nagios/plugins/check_mysql.php -u [ユーザ名] -p [パスワード] -d [DB名]
 ↑
この記述を追加

とすれば監視可能になります。
Posted by: simpraight at 2007/01/04 13:19:00 | Tags: [server] [tips] | Comments:7 | Trackbacks:0

あけましておめでとうございます

[Permalink] [Post to del.icio.us] [Post to hatena] [Post to livedoorClip]
あけましておめでとうございますことしもよろしくおねがいします。
Posted by: simpraight at 2007/01/04 12:42:43 | Tags: [日記] | Comments:1 | Trackbacks:0

cumulativeOffsetって

[Permalink] [Post to del.icio.us] [Post to hatena] [Post to livedoorClip]
prototype.jsの「Position.cumulativeOffset」って引数は要素オブジェクト限定なのね。要素IDじゃだめ。
Posted by: simpraight at 2006/12/25 10:07:41 | Tags: [javascript] [嵌る] | Comments:1 | Trackbacks:0