<?xml version="1.0" encoding="UTF-8"?>
<rdf:RDF
	xmlns="http://purl.org/rss/1.0/"
	xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:admin="http://webns.net/mvcb/"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/"
	xml:lang="ja">
	<channel rdf:about="http://lowreal.net/blog/index.rdf">
		<title>nulog</title>
		<link>http://lowreal.net/blog/</link>
		<admin:generatorAgent rdf:resource="http://www.raelity.org/apps/blosxom/?v=2.0"/>
    <items>
      <rdf:Seq>
        <rdf:li rdf:resource="http://lowreal.net/blog/2006/12/25/1" />
        <rdf:li rdf:resource="http://lowreal.net/blog/2006/12/23/1" />
        <rdf:li rdf:resource="http://lowreal.net/blog/2006/12/08/1" />
        <rdf:li rdf:resource="http://lowreal.net/blog/2006/11/08/1" />
        <rdf:li rdf:resource="http://lowreal.net/blog/2006/11/02/1" />
        <rdf:li rdf:resource="http://lowreal.net/blog/2006/10/21/1" />
        <rdf:li rdf:resource="http://lowreal.net/blog/2006/10/14/1" />

      </rdf:Seq>
    </items>

	</channel>
	<item rdf:about="http://lowreal.net/blog/2006/12/25/1">
		<title>OS X で Esperanto を入力する</title>
		<link>http://lowreal.net/blog/2006/12/25/1</link>
		<dc:creator>cho45(さとう) (mailto:cho45@lowreal.net)</dc:creator>
		<dc:date>2006-12-25T03:36+09:00</dc:date>
		<content:encoded><![CDATA[<p>キーボードの U.S. Extended を選ぶと、Alt-6 (サーカムフレックス) Alt-b (ブリーブ) が入力できるようになるみたいだ。あとは続けて c, g, h, j, s / u をうてばいい。</p>

<p><a href="http://en.wikipedia.org/wiki/Esperanto_orthography#Mac_OS_X">Wikipedia の Esperanto の項に書いてあった</a></p>

<p>sonĝi (うたう不定形)</p>

<p>しかし全然語彙を覚えてない件</p>
]]></content:encoded>
	</item>
	<item rdf:about="http://lowreal.net/blog/2006/12/23/1">
		<title>色を何にあわせるべきか</title>
		<link>http://lowreal.net/blog/2006/12/23/1</link>
		<dc:creator>cho45(さとう) (mailto:cho45@lowreal.net)</dc:creator>
		<dc:date>2006-12-23T01:49+09:00</dc:date>
		<content:encoded><![CDATA[<p>こう定期的にモニタの色を気にしたりして、結局デフォルトに戻したりを繰り替えているけれど、何にあわせればいいのかわからない。</p>

<p>今日はなんとなく NVIDIA Contorol Panel からのキャリブレーションを実行してみた（マルチモニタの接続先を変えたので）のだけど、かなり今まで見てた色と違って怖い（ホントに恐ろしさを感じる）</p>

<p>ウェブ関連の画像を作るときは、むしろ積極的にキャリブレーションすべきじゃない気がするけど（世の中の人の殆どはキャリブレーションをしないし、そして安い液晶を使っている）、そういう考えも相まってどこにあわせるか悩む。</p>

<p>そしてついでに MacBook のキャリブレーションもしてみたけど、結構青い方向に補正された。うううううん。</p>

<hr />

<p>うーん。結局入力／出力であってればいいんだから自分の使う範囲で色があってればいいんだよなぁ……</p>

<p>ウェブの画像作る時ってどうすればいいんだ。</p>

<hr />

<p>あと疑うべきが多すぎる。モニタ自体（ハードウェア）、モニタプロファイル、モニタの設定、OS のドライバ設定、自分の眼。</p>
]]></content:encoded>
	</item>
	<item rdf:about="http://lowreal.net/blog/2006/12/08/1">
		<title>XP Reinstall</title>
		<link>http://lowreal.net/blog/2006/12/08/1</link>
		<dc:creator>cho45(さとう) (mailto:cho45@lowreal.net)</dc:creator>
		<dc:date>2006-12-08T22:21+09:00</dc:date>
		<content:encoded><![CDATA[<p>起動時にブルースクリーンさんがでしゃばってなかなか起動しなくなってしまったので再インストールしました。</p>

<p>nLite でどうでもよさそうなのを軽く削って、CD ブート。</p>

<p>起動したと思ったら NIC が認識されてなくて途方に暮れた。マザボ付録の CD からドライバ入れて解決。怖かった。これのために部屋をひっくりがえした。見つからない見つからない……結局なぜか DELL の付属品入れに入ってた。引っ越しのときに適当な大きさだったから入れたんだろうけど……</p>

<p>ネットワークが繋がったら</p>

<ul>
<li>Windows Update</li>
<li>Intel INF なんたらをインストール</li>
<li>nVidia のドライバインストール</li>
</ul>

<p>とかごたごたやった。</p>

<p>そして</p>

<ul>
<li>synergy</li>
<li>窓使いの憂鬱</li>
<li>lhaplus</li>
<li>Mozilla Firefox 2.0</li>
<li>foobar2000</li>
<li>mabinogi</li>
</ul>

<p>を入れた。既にメインマシンじゃないので適当</p>

<hr />

<p>でなんかちょっとたったらハードディスクが一気に全部使い果たされてていきなりウィルスかとあせった。なんかオフラインファイル機能が有効だったらしく、ネットワークドライブを勝手に同期されてた。こわい。</p>
]]></content:encoded>
	</item>
	<item rdf:about="http://lowreal.net/blog/2006/11/08/1">
		<title>オートリロードの設定がめんどいので設定をオートにする試み</title>
		<link>http://lowreal.net/blog/2006/11/08/1</link>
		<dc:creator>cho45(さとう) (mailto:cho45@lowreal.net)</dc:creator>
		<dc:date>2006-11-08T22:56+09:00</dc:date>
		<content:encoded><![CDATA[<p>オートリロードでリロードが楽になるのはいいんだけど、リロードさせるために設定をしたりとかするのがすっごいめんどく感じるようになってきたので設定もオートでやろうぜって思った。</p>

<p>Rinda::Ring は UDP で検索したり登録したりしてサービス呼び出せるライブラリで、これを使うと一瞬で上のようなことができちゃってオレスゲー感を味わえます。ちょーLL</p>

<p>まず tuplespace を起動する。以下のスクリプトそのまま。このタプルスペースはサービスの情報を統括してる。</p>

<pre><code>require 'rinda/ring'
require 'rinda/tuplespace'

DRb.start_service

ts = Rinda::TupleSpace.new
place = Rinda::RingServer.new(ts)

DRb.thread.join
</code></pre>

<p>次に各種リロードサービスを tuplespace に登録するスクリプト。
こいつらはブラウザとともに常駐して、リロード要求をうけつける。これらはもちろん RingServer と同じホストで動いている必要はない。</p>

<p>以下は例</p>

<p>reloadfx.rb</p>

<pre><code>#!/usr/bin/ruby

require 'rinda/ring'
require 'net/telnet'

class Reload
    def reload
        telnet = Net::Telnet.new({
            "Host" =&gt; "localhost",
            "Port" =&gt; 4242
        })
        telnet.puts("content.location.reload(true)")
        telnet.close
    end
end

reload = Reload.new
DRb.start_service(nil, reload)

provider = Rinda::RingProvider.new(:Reload, DRbObject.new(reload), 'Reload')
provider.provide

DRb.thread.join
</code></pre>

<p>reloadsafari.rb</p>

<pre><code>#!/usr/bin/ruby

require 'rinda/ring'
require 'net/telnet'

class Reload
    def reload
        &lt;&lt;-`EOC`
        osascript -e '
        tell application "Safari"
            do JavaScript "location = (location.href);" in document 1
        end tell
        '
        EOC
    end
end

reload = Reload.new
DRb.start_service(nil, reload)

provider = Rinda::RingProvider.new(:Reload, DRbObject.new(reload), 'Reload')
provider.provide

DRb.thread.join
</code></pre>

<p>でもって、上記サービスをタプルスペースから検索し、リロードメソッドを呼ぶスクリプト</p>

<pre><code>#!/usr/bin/ruby
# reload.rb
require 'rinda/ring'

DRb.start_service
ts = Rinda::RingFinger.primary

ts.read_all([:name, :Reload, DRbObject, nil]).each do |i|
    begin
        p i[2].reload
    rescue Exception =&gt; e
        puts e.message
        puts e.backtrace
    end
end
</code></pre>

<p>この reload.rb を呼ぶだけで、何の設定もなしに、ネットワーク内のブラウザをリロードする。</p>

<p>新しくブラウザを起動したら同時にそのブラウザ用の Provider を起動すれば、それも何の設定もなしにリロードしてくれるってわけですよ。やばい！</p>

<p>Rinda::Ring さいこう＞＜ DRb は Ruby の宝＞＜</p>

<p>もうちょっといぢってみる。</p>

<ul>
<li><a href="http://www2a.biglobe.ne.jp/~seki/ruby/d208.html">Rinda</a></li>
</ul>
]]></content:encoded>
	</item>
	<item rdf:about="http://lowreal.net/blog/2006/11/02/1">
		<title>Creammonkey のデバッグ改造版をつくった</title>
		<link>http://lowreal.net/blog/2006/11/02/1</link>
		<dc:creator>cho45(さとう) (mailto:cho45@lowreal.net)</dc:creator>
		<dc:date>2006-11-02T01:10+09:00</dc:date>
		<content:encoded><![CDATA[<p><ins datetime="2006-12-04T00:20:00+09:00"><a href="http://blog.8-p.info/articles/2006/12/03/creammonkey-0-8">Creammonkey 0.8</a> がリリースされたため、そちらをご利用ください :)</ins></p>

<hr />

<p><a href="http://8-p.info/Creammonkey/">Creammonkey</a> という Safari で userjs を使えるようにするものがあるのですが、userjs を書いている時いちいちメニューから Reload All User Scripts をするのが面倒くさいので改造してみました。</p>

<p>MIT ライセンスらしいのでビルドしたやつを公開。なにぶん Xcode 使ったのも初めてなのでこれでいいのかよくわかりません。ソースを公開したいときとか diff とりたいときってどこまでやればいいのかわからない。</p>

<p><a href="http://lowreal.net/2006/Creammonkey-Debug.zip">Creammonkey-Debug.zip</a> Original Copyright (c) 2006 KATO Kazuyoshi</p>

<p>Debug というメニュー項目が追加されるので、それをチェックしておけばページリロードのたびに userjs もリロードされます。</p>
]]></content:encoded>
	</item>
	<item rdf:about="http://lowreal.net/blog/2006/10/21/1">
		<title>RAID 組みました。</title>
		<link>http://lowreal.net/blog/2006/10/21/1</link>
		<dc:creator>cho45(さとう) (mailto:cho45@lowreal.net)</dc:creator>
		<dc:date>2006-10-21T10:46+09:00</dc:date>
		<content:encoded><![CDATA[<p>なんか消えてたので google cache から復元</p>

<hr />

<p>用件</p>

<ul>
<li>Ubuntu 6.06 LTS (kernel は raid 対応らしく特に設定なし)</li>
<li>dell SC430 (簡単にとりつけられるHDDスペースが二個)</li>

<li>既存の 80GB シングルを 250GB RAID1 にする。</li>
<li>ハードディスクは最大で2個までしかつなげない (わけじゃないけどケーブルがない)</li>
<li>ソフトウェア RAID 化し、どちらも起動可能にする</li>
<li>ハードディスクの実容量が若干異なることを考え、末尾いくらかそれぞれを swap にする (swap は冗長化しない)。</li>
</ul>

<p>ステップ</p>

<ol>

<li>新しいハードディスク 250GB をとりつける</li>
<li>パーティションを切り、RAID1 を一個 missing で構築する</li>
<li>grub をインストールする</li>
<li>grub の kernel 起動オプションを変更しとく</li>
<li>既存ファイルのコピー</li>
<li>古いハードディスクをとりはずし、新しいハードディスクに入れ替える。</li>
<li>同じようにパーティションをきり、RAID1 に参加させる。</li>
</ol>

<p>最終的に思ったポイント：実際ファイルコピーするのは最後にしよう。grub インストール前にファイルをコピーしてしまってハマった。</p>

<hr />

<p>まず BIOS (起動時に F2 で入る) で新しく接続したドライブを認識するようにする。SATA の on/off</p>

<pre><code>sudo fdisk /dev/sdb
&gt; p
Disk /dev/sdb: 250.0 GB, 250059350016 bytes
255 heads, 63 sectors/track, 30401 cylinders
Units = シリンダ数 of 16065 * 512 = 8225280 bytes

&gt; n
&gt; p
&gt; 1 #パーテーション番号
&gt; 1 #最初のシリンダ

&gt; +249500M
&gt; t # タイプ変更
&gt; fd # Linux raid auto detect
&gt; a # ブートフラグ

&gt; n
&gt; p
&gt; 2

&gt; [RET]
&gt; [RET]
&gt; t
&gt; 2
&gt; 82

&gt; p
Disk /dev/sdb: 250.0 GB, 250059350016 bytes
255 heads, 63 sectors/track, 30401 cylinders
Units = シリンダ数 of 16065 * 512 = 8225280 bytes

デバイス Boot      Start         End      Blocks   Id  System
/dev/sdb1   *           1       30334   243657823+  fd  Linux <b style="color: black; background-color: rgb(255, 255, 102);">raid</b> 自動検出
/dev/sdb2           30335       30401      538177+  82  Linux swap / Solaris
&gt; w

</code></pre>

<p>とりあえず swap を有効にしてみる</p>

<pre><code>$ sudo mkswap /dev/sdb2
Setting up swapspace version 1, size = 225545396 kB
no label, UUID=269dcbba-b161-4002-9a4d-29fe964d61b6

$ sudo swapon /dev/sdb2
$ swapon -s
</code></pre>

<p>RAID1 を一つのデバイスを missing にして作成する</p>

<pre><code>sudo mdadm --create /dev/md0 --level=1 --raid-devices=2 /dev/sdb1 missing 
mdadm: array /dev/md0 started.
</code></pre>

<p>ファイルシステム作成 ext3</p>

<pre><code>sudo mkfs.ext3 /dev/md0
</code></pre>

<p>grub install</p>

<pre><code>sudo grub
grub&gt; device (hd0) /dev/sdb
grub&gt; root (hd0,0)
grub&gt; install /boot/grub/stage1 d (hd0) /boot/grub/stage2 0x8000 (hd0,0)/boot/grub/menu.lst
grub&gt; quit
</code></pre>

<p>vim /etc/fstab で md0 をマウントするように</p>

<pre><code>/dev/md0       /               ext3    defaults,errors=remount-ro 0       1
proc            /proc           proc    defaults        0       0
/dev/sdb2       none            swap    sw              0       0
/dev/hda        /media/cdrom0   udf,iso9660 user,noauto     0       0
</code></pre>

<p>vim /boot/grub/menu.list の上の方に追加。md0 を root とするように</p>

<pre><code>title       Ubuntu, kernel 2.6.15-27-386 (raid)
root        (hd0,0)
kernel      /boot/vmlinuz-2.6.15-27-386 root=/dev/md0 ro quiet splash
initrd      /boot/initrd.img-2.6.15-27-386
savedefault
boot
</code></pre>

<p>作ったファイルシステムに現行システムをコピー</p>

<pre><code>cd /
sudo mkdir new-disk
sudo mount -t ext3 /dev/md0 /new-disk 
sudo telinit 1
# syslog とか全部止めたりしてファイルシステムの使用を最小限に
# ここからは ssh できないのでちまちまうってく
# パーティションは一つしかないため簡単に
cd /
cp -ax / /new-disk
mkdir /new-disk/proc
</code></pre>

<p>シャットダウンして付け替える。ここから sda は新しい 250G のディスク</p>

<p>/dev/sda にたいして、fdisk して、mdadm -a で RAID に追加</p>

<pre><code>sudo fdisk
# 上と同じ
sudo mdadm /dev/md0 -a /dev/sda1
cat /proc/mdstat
Personalities : [raid1] 
md0 : active raid1 sda1[2] sdb1[0]
      243657728 blocks [2/1] [U_]
      [&gt;....................]  recovery =  2.8% (6982720/243657728) finish=70.8min speed=55698K/sec

unused devices: &lt;none&gt;

</code></pre>

<p>こっちのディスクにも grub をインストール</p>

<pre><code>sudo grub
grub&gt; device (hd0) /dev/sda
grub&gt; root (hd0,0)
grub&gt; install /boot/grub/stage1 d (hd0) /boot/grub/stage2 0x8000 (hd0,0)/boot/grub/menu.lst
grub&gt; quit
</code></pre>

<p>設定を保存して、メールの送信先を設定しとく</p>

<pre><code>mdadm --detail --scan &gt;&gt; /etc/mdadm/mdadm.conf
dpkg-reconfigure mdadm
</code></pre>

<hr />

<p>で終わり。のはず。実際構築したときはいろいろハマって起動しなかったりした。grub のインストール手順がおかしかったのと、grub が渡す kernel 引数が悪かったせい。</p>

<p>それと頭悪くて fdisk の桁を一個間違えて RAID missing 構築までやってしまった。やりなおすために</p>

<pre><code>sudo umount /new-disk
sudo mdadm --misc --stop /dev/md0
sudo swapoff /dev/sdb2
</code></pre>

<p>とかやって、fdisk しなおした。</p>

<hr />

<p>root ファイルシステムがないとか言われて起動しなかったときは、ずっと待ってると BusyBox shell に落ちるのでそこでなおしたりした。
これは kernel 引数が RAID デバイスになっておらず /dev/sda を参照していて、sda は RAID に参加するまえでミラーリングされていなかったで、ファイルシステムが存在せずエラー、とかいうやつ。</p>

<pre><code>mount /dev/md0 /tmp; chroot tmp
</code></pre>

<p>fstab の修正をして、/boot/grub/menu.list を修正した。</p>

<p>けど、menu.list のほうが、title がかぶっていてはダメらしく、めんどいので grub 中に edit して起動して、起動してから書き換えた。</p>

<hr />

<p>そんなわけで RAID1 になりました。一度つけて外して resync の様子とか見たりしたり。RAID になったからって、別に表面所何かが変わるわけではなく、ハードディスク変えて容量が増えただけという感じ。</p>

<p><p>まだ慣れてないので、「バックアップとらないとなぁ」と不安になってしまったりする。「そういえば RAID 組んだんだからそんなに気にしなくても」とか打ち消したりとかなんとかとかとかとか。とかばっかりだなねる</p>&lt;</p>

<hr />

<p>menu.lst 検索して</p>

<pre><code># kopt=root=/dev/md0 ro
</code></pre>

<p>を設定。アップデートはしってもいいように</p>
]]></content:encoded>
	</item>
	<item rdf:about="http://lowreal.net/blog/2006/10/14/1">
		<title>RAID 組みたい</title>
		<link>http://lowreal.net/blog/2006/10/14/1</link>
		<dc:creator>cho45(さとう) (mailto:cho45@lowreal.net)</dc:creator>
		<dc:date>2006-10-14T16:11+09:00</dc:date>
		<content:encoded><![CDATA[<p>二個250GBのHDD買ってソフトウェア RAID1 にしようと思った。まだ買ってないしやってない。</p>

<p>今の SC430 には HDD が一個ついていてこいつの容量は 40GB。箱の中の下についているHDDディスク入れるところは一個だけあいてる状態。</p>

<p>なので、とりあえず一個を開いてるところに入れて、その一個だけで RAID1 を構成し、40GB をコピーして (ついでにパーティションを分け直す) から HDD を入れ替えてミラーリングという、のは、できるのだろうか。</p>

<hr />

<p>不安点</p>

<ul>
<li>ブートディスクをソフトウェア RAID にするので不安</li>
<li>パーティションの切り方がよくわからない。</li>
<li>既存のやつをコピーする方法が不安。普通のファイルとか symlink は問題ないだろうけど、デバイスファイルとかってどういう扱いなんだろう。</li>
</ul>

<hr />

<p>Windows の方は D ドライブと C ドライブを分けていて、D をデータドライブにしているんだけど、この D ドライブをそのまま RAID 上のネットワークドライブにしたい。</p>
]]></content:encoded>
	</item>
</rdf:RDF>
