2011.03.02

スライス単位でのgmirror

以前に250GBのHDD2台を用いてgmirrorの構成をとろうとした時、最初にFreeBSDをインストールしたHDDより、ミラーの構成を組もうとする2台目のHDDの方が、数セクター小さく、ミラーに組み込もうとしたときに拒絶された。そこで、再度容量の小さい方のHDDにインストールし直す羽目に陥ってしまった。
しかし、今日FreeBSDのMLで、詳しい人からスライス単位でもgmirrorが構成できることを教えてもらい、VMwareを用いて実験したので、以下にその方法を記述しておくことにした。

要点は、HDD2台でミラーを組むとき、最初にFreeBSDをインストールするHDDのfdiskによるパーティションを2台目のHDDのボリューム全体容量より、少し小さく設定しておくことが肝要である。
なお、HDDの容量を正確につかむには、diskinfoコマンドを使用する。

# diskinfo -v ad4 ・・・・ad4を調べる場合

1. 準備とFreeBSDインストール

VMwareでad0(20GB)とad2(15GB)の2つの仮想HDDを確保し(ad0 > ad2に注意)、fdiskでad0に12GBの領域(パーティション)を確保してFreeBSD 8.1のCDを 用いてad0にインストールを行った。

2. Livefs CDを用いてgmirrorを設定

(#Fixitのブロンプトを出すまでは、FreeBSDでRAID1(mirror)の設定を参照)
以下のように設定する。gm0s1、ad0s1とスライスで指定するのが、ボリューム全体のミラーと異なる。 
なお、Livefs CDを用いない方法でも試みたがうまくgmirrorを構成できなかった。

Fixit# chroot /dist
Fixit# kldload geom_mirror           ← gmirrorのload
Fixit# exit
Fixit# gmirror label -b round-robin gm0s1 ad0s1 ← round-robinでスライスレベルでmirrorを構成

Statusを表示してみると、下記のように表示され、スライスレベルでmirror機能が出来ている。

Fixit# gmirror status
 Name         Status   Components
  mirror/gm0s1  COMPLETE    ad0s1

3. /etc/rc.conf、/etc/fstab、/boot/loader.confの修正

(1) /etc/rc.confにswapoff=”YES”の1行を追加
(2) /etc/fstabをviで開き、ad0 → mirror/gm0に変更
  例)/dev/ad0s1a → /dev/mirror/gm0s1a
    /dev/ad0s1d → /dev/mirror/gmos1d
 vi でfstabを開いて
 :%s/ad0/mirror\/gmo/ として一括して変更して保存するのが便利である。
(3) /boot/loaderconfにgeom_mirror_load=”YES” の1行を追加する。

そして、shutdownして、HDDから普通に起動。

4. 起動

起動したらsysinstallで configure → fdiskでad2を選び、ボリューム全体(少なくともad0s1で確保したより大きく)をfreebsdパーティションとして確保する。今回の実験ではad2にはボリューム全体の15GBを割り付けた。確保したら、”w”キーを押してスライス情報を書き込む。

5. ad2s1の追加

# gmirror insert gm0s1 ad2s1

これで、同期化が始まる、statusを見ると、

# gmirror status
   Name     Status  Components
  mirror/gm0s1  DEGRADED    ad0s1
                  ad2s1(2%)

しばらくして、gmirrorの同期が完了する。
swapinfoコマンドでswap領域を見ると、これも無事確保されている。

# swapinfo
Device                          1K-blocks               Used            Avail Capacity
/dev/mirror/gm0s1b       490304                    0              490304     0%

完了の後、ad0を取り除いてad2だけでも無事起動することを確認した。

2011.02.20

ubuntuでwli-uc-gnp(USB無線LAN)の使用

さる事務所で、PCが古くなったので新しいのに置き換えるのを手伝い、いままで使っていた古いPCを液晶ディスプレイも含めて一式頂いてきたので、ubuntuとWindows XPのデュアルブートにして色々と遊んでいる。
ところが、XPでは問題なく動くBuffaloのUSB無線LANアダプターのWli-uc-gnpがubuntuでは認識すらしない。ネットで色々調べてmediatekのダウンロードのページからドライバーソースを取ってきて、修正してmakeしインストールするが、全く動く気配がなかった。
諦めていたが、Manuelのだらだらブログに書かれていた方法を試すと、リブートする必要もなく動いた。ドライバーのコンパイルなどは一切必要ない方法で、簡単であり、下記に書き留めて置く。
なお、ubuntuではデフォルトでは、suでSuper Userになれないが、不便なので私のところでは、$ sudo passwd rootとしてrootのパスワードを設定して、suができるようにしている。
まず、/etc/udev/rules.d内にある70-persistent-net.rulesにwli-uc-gnpの記述を追加する(下記枠内の赤字部分)。

# cd /etc/udev/rules.d
# vi 70-persistent-net.rules
----------------------------------------------------------------
# This file maintains persistent names for network interfaces.
# See udev(7) for syntax.
#
# Entries are automatically added by the 75-persistent-net-generator.rules
# file; however you are also free to add your own entries.
# PCI device 0x8086:0x1019 (e1000)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0f:ea:b4:28:a
8", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"
ACTION=="add", SUBSYSTEM=="usb", ATTR{idVendor}=="0411", ATTR{idProduct}=="019e", RUN+="/sbin/modprobe -qba rt2870sta"

次に/etc/modprobe.d内にnetwork_drivers.confのファイルを作り下記の赤字を書いておく。

# cd /etc/modprobe.d
# vi network_drivers.conf
-----------------------------------------------------------------------
install rt2870sta /sbin/modprobe --ignore-install rt2870sta $CMDLINE_OPTS; /bin/echo "0411 019e" > /sys/bus/usb/drivers/rt2870/new_id

さんざん悩んで、ubuntuで挿すだけで動くというPlanexのGW-USMicroNを買って使っていたが、Windows XPでは不安定で、XPではwli-uc-gnpと差し替えるという手間がかかる状況であった。
これで、ubuntuでもwli-uc-gnpが使えるようになり、スッキリした。それにしても、長々とDriverのコンパイルを行ったりしたのは、なんだったのだろう。

2011.01.19

FreeBSDでThunderbirdの日本語化

FreeBSDでも使い慣れたThunderbirdを使うため、packageでthunderbird-3.0.5_1、thunderbird-i18n-3.0.5_1を入れた。
ところが、何処をどういじっても日本語にならない。そこで下記のことを行った。

(1) Windowsで使っているThunderbirdは、3.1.7であるが、下記のchromeフォルダーをコピーして、FreeBSDに適当なディレクトリーを作って入れる。

C:\Documents and Settings\usename\Application Data\Thunderbird\Profiles\d3hnamhc.default\extensions{xxxxxxxxx}\chrome

(2) Windowsから持ってきたchromeの中のファイルの全てをFreeBSDの下記のchromeディレクトリーにコピーする。

# cp xxxxx/chrome/* /usr/local/lib/thunderbird/chrome

(3) Thunderbirdを起動して「ツール」→「言語選択」で、日本語を選択する。
  そして、Thunderbirdを再起動すれば、日本語の表示になる。

thunder.jpg

(4) Thunderbirdのアドレス帳(住所の表示順) で書いた処理を行って、住所の表示順を日本式にする。

(5) WindowsのThunderbirdでアドレス帳をエクスポートして、FreeBSDのThunderbirdでインポートする。

以上で、処置は終了であるが、Windowsのchromeの内容は、FreeBSD用のThunderbirdでも使えるのが素晴らしい。

2011.01.06

Thunderbirdのアドレス帳(住所の表示順)

FreeBSDには、全然関係ない話である。
今までに主に使ったメーラーは、ALmail、Beckyときて、今はThunderbirdを使っている。
使い勝手は、悪くないし気に入っているのであるが、アドレス帳のカテゴリーツリーが、2段までである。これは、諦めがついているが、住所の表示順序が、番地が最初で、町、都道府県と日本での住所表記の逆であるのは、何とかならないかと思っていた。
ネットで探すと、japanese_style_address-0.1.1-tb.xpiという、Add On Softが見つかった。
しかし、現在私が使っているThunderbirdの3.1.7版では、適用出来ないと拒絶される。
そこで、下記のようにしてjapanese_style_address-0.1.1-tb.xpiを作り変えて、成功した。

1. xpiファイルの解凍

今まで、知らなかったのだが、xpiファイルは、圧縮ファイルでxxxx.xpiはxxxx.zipとファイル名を変えれば、普通に解凍できる。
解凍しすると、chromeというフォルダーと、chrome.manifest,、install.rdfの2つのファイルがあるので、この中でinstall.rdfをエディターで開くと、下記に示すようにem:targetApplicationのセクションにem:maxVersion=”3.1a1pre”の記述がみつかる。
これをem:maxVersion=”3.1.*”に修正する。

<em:targetApplication>
  <RDF:Description em:id="{3550f703-e582-4d05-9a08-453d09bdfdc6}"
                   em:minVersion="3.0"
                   em:maxVersion="3.1a1pre" /> → em:maxVersion="3.1.*" />
</em:targetApplication>

2. xpiファイルの再構築

解凍して、修正したinstall.rdfとchrome.manifestならびにchromeのフォルダーの3つを選択して、Lhacaにドラッグして出来上がったzipファイルをjapanese_style_address-3.1-tb.xpiに名前を変更する。

3. xpiファイルの適用

Thunderbirdを立ち上げ、「ツール(T)」→「アドオン(A)」を選択して、開いた「アドオン」画面で「インストール」をクリックして、先に作ったxpiファイルを選択して、アドオンを適用する。
Thunderbirdを再起動すれば、見事に日本式の住所表記順に直っている。

ubuntuで使っているThunderbirdにも用いたが、問題なく適用出来た。

address.jpg

下記に修正済みのjapanese_style_address-3.1-tb.xpiを載せておく。

japanese_style_address-3.1-tb.xpi

2010.12.24

FaviconのIE8での表示

faviconを表示するのに、<head>と</head>の間に下記のように記述していた。

<link rel="SHORTCUT" ICON href="favicon.ico">

家では、ブラウザはFirefoxなので、これでFaviconが表示され、特に気にもしていなかった。
しかし、IE8では、うまく表示されないことが、分かりNetで色々調べても、どうも要領を得ないし、書いてある内容通りに指定しても、表示されず、WebのRoot directoryにfavicon.icoを入れると、subディレクトリーも含めて、全部のページにトップページのfaviconが表示される様になった。
最後に行き着いたのが、WikipediaのFaviconで、下記の2行が書かれていて、その通りに2行の挿入をしたら、一発で問題なく表示された。

<link rel="shortcut icon" href="http://example.com/favicon.ico" type="image/vnd.microsoft.icon" />
<link rel="icon" href="http://example.com/favicon.ico" type="image/vnd.microsoft.icon" />

なお、Netで引っかかる説明でimage/vnd.microsoft.iconのところをimage/x-iconと表記するものばかりであったが、IANA(Internet Assigned Numbers Authority)に登録されている表記方は、image/vnd.microsoft.iconであり、こちらを用いるのが正式とのことであった。

« Previous | Next »