2009年04月01日

BluetoothキーボードでCtrlとCapsを入れ替え

果たしてこんな需要あるのかどうか…。
N810に接続したBluetoothキーボードでCtrlとCapsを入れ替える方法。
(ちなみに私が入手したのはリュウドのRBK-2000BTII。N810と組み合わせると非常に快適なモバイル物書き環境が!)

方法は至って簡単。
/usr/share/X11/xkb/symbols/pc に以下の1行を付け加えるだけ。(root権限が必要になりますのでご注意を!)
include "ctrl(swapcaps)"

ただし追加する場所はどこでもいいわけではなくて、上記のinclude文でCAPSLCTLの既存定義を上書きするので、CAPSLCTLが定義された後に書いておく必要があります。key <MENU>の後、modifier_mapの前くらいがちょうどいいのではないでしょうか。

変更が完了したらコントロールパネルからBluetooth Keyboardを選択し、そのままOKを押して終了すれば定義が反映されるはずです。

たぶんBluetooth接続じゃなくてUSB接続でも大丈夫と思われます。
あと頑張ってjpの定義ファイルも作れば日本語キーボードも配列どおりに使えるようになると思われます。
(どっちも試してません…)

ちなみにNokia純正のSU-W8をカスタマイズする場合は /usr/share/X11/xkb/symbols/nokia_vndr/su-8w が、内蔵キーボードの場合は /usr/share/X11/xkb/symbols/nokia_vndr/rx-44 がカスタマイズ対象になります。

もうちょっと使い込んでみて、さらに使いやすいカスタマイズをしたいところ。余ってるSuperキーをZenkaku_Hankakuにしたら幸せになれるのかな?

毎度おなじみmoyashiさんのひとりぶろぐにある以下のエントリを参考にさせていただきました。いつもありがとうございます!!

ひとりぶろぐ: [N810]NOKIA N810のキーボードカスタマイズ
http://moyashi.air-nifty.com/hitori/2008/01/n810nokia_n810_0cc3.html


−追記:2009/04/02−

どうやら原因はxbindkeysかukeyboardだったみたいです。
両方ともアンインストールしたら問題なく動くようになりました。
(どっちが本当の原因かは検証してないです…すいません)


−追記:2009/04/01−

BT接続が切れると設定が毎回リセットされてしまうことが判明。
接続するたびにコントロールパネルを開くのはあまりにも面倒。
何か良い回避策はないものでしょうか…。
posted by 月水和尚 (とも) at 14:36 | Comment(7) | TrackBack(0) | Nokia/Symbian

2009年03月19日

ルートファイルシステムにInternal memory cardを使う

N810の内蔵メモリは256MB。
色々インストールすると、結構すぐに一杯になってしまいます。
Internal Memory Cardは2GBもあるのに…と悔しがっていたら、KimitakeさんがInternal Memory Cardをルートファイルシステムにする方法を教えてくださいました。(感謝!)

以下の3つのサイトを参考にしつつ、実際に試してみます。

Boot from MMC for N800 - Kimitake's blog
http://kimitakeblog.net/item/500

Booting from a flash card - maemo.org wiki
http://wiki.maemo.org/Booting_from_a_flash_card

Partitioning a flash card - maemo.org wiki
http://wiki.maemo.org/Partitioning_a_flash_card

この先の手順で使用するいくつかのパッケージはデフォルトで設定されているリポジトリには入っていないものがあります。なので以下のリポジトリをパッケージマネージャから追加しておいてください。
Catalogue name : Maemo Chinook
Web address : http://repository.maemo.org/
Distribution : chinook
Components : free non-free

ついでにmaemo ExtrasDisabledのチェックを外しておきましょう。

ここから先、全ての作業はrootで実施してください。
rootの取得はopensshをインストールするのが一番簡単だと思います。
(作業もみんなリモートから出来ますし)

まずはパーティショニングのためにe2fsprogsをインストールします。
apt-get install e2fsprogs

パーティショニングの対象となるInternal Memory Cardをumountします。中身はきれいさっぱり消してしまうので、必要なファイルがあれば別の場所にコピーしておくのをお忘れなく。
umount /dev/mmcblk0p1

ではパーティションを切りましょう。
sfdisk /dev/mmcblk0

するとディスクの現状態が表示され、最後に
/dev/mmcblk0p1 :

と表示されていると思います。これが第1パーティションの設定プロンプトになります。第1パーティションは512MBのVFATにしたいので、以下のとおり入力します。
/dev/mmcblk0p1 :1,16384,6
/dev/mmcblk0p1 1 16384 16384 524288 6 FAT16
太字の部分が入力した内容です。
同様に第2パーティションも設定します。こちらは残り(約1.5GB)のext2です。
/dev/mmcblk0p2 :16385,,
/dev/mmcblk0p2 16385 61439 45055 1441760 83 Linux
第3、第4パーティションは設定しないので何も入力せずにEnterを押してください。私の環境だと何故か第3パーティションが出来てしまうんですが、気にしないことにしています。
最後にディスクに書いていいか聞かれますので、yを入力します。
Do you want to write this to disk? [ynq] y

これでパーティショニングは完了したので、一度再起動します。
reboot

第1パーティションは自動でマウントされている(はず)ので、umountします。
umount /dev/mmcblk0p1

先ほど作成したパーティションをフォーマットします。
mkdosfs /dev/mmcblk0p1
mke2fs /dev/mmcblk0p2

続いてbootmenuをインストールします。
まずはインストールで必要になるwgettarをインストールしましょう。(tarは標準で入っているbusyboxのものだとうまく行かないのでこちらのバイナリを使用します)
apt-get -y --force-yes install wget
mkdir -p /home/user/bin
cd /home/user/bin
wget http://www.nmacleod.com/nokia/bin/tar
chmod +x tar

bootmenuをダウンロードし、ファイルを展開します。
cd /home/user/bin
wget http://fanoush.wz.cz/maemo/initfs_flasher.tgz
tar zxvf initfs_flasher.tgz
cd /home/user/bin/initfs_flasher/

bootmenuをカスタマイズするために、設定ファイルを記述します。
cp bootmenu.conf.n8x0.example bootmenu.conf
vi bootmenu.conf

内容はこんな感じにしました。
(先々を考えてExternal memory cardからもboot出来るようにしてます)
# bootmenu customisation file

# timeout for automatic selection when no key is pressed
MENU_TIMEOUT=3

# menu items
MENU_MIN=1 # first item index

#no need to redefine
#MENU_1_NAME="Internal flash"
#MENU_1_ID="flash"

MENU_2_NAME="Internal MMC card, partition 2, ext2"
MENU_2_ID="mmc2"
MENU_2_DEVICE="${INT_CARD}p2"
MENU_2_MODULES="mbcache ext2"
MENU_2_FSTYPE="ext2"
MENU_2_FSOPTIONS="noatime"
[ -d "/sys/block/${INT_CARD}/${MENU_2_DEVICE}" ] || MENU_2_NAME="(${MENU_2_NAME}) N/A"

MENU_3_NAME="External MMC card, partition 2, ext3"
MENU_3_ID="mmc1"
MENU_3_DEVICE="${EXT_CARD}p2"
MENU_3_MODULES="mbcache jbd ext3"
MENU_3_FSTYPE="ext3"
MENU_3_FSOPTIONS="noatime" #",data=writeback"
[ -d "/sys/block/${EXT_CARD}/${MENU_4_DEVICE}" ] || MENU_4_NAME="(${MENU_4_NAME}) N/A"

MENU_4_NAME="Power off (when not on charger)"
MENU_4_ID="off"

#last item index, change if you add/remove items
MENU_MAX=4

initfsを作成します。
./initfs_flash

途中で色々聞かれますが、全部yesと答えてしまってOKです。
作成にはそこそこ時間がかかります。のんびり待ちましょう。
最後にrebootを求められるので、素直に従いましょう。

再起動したら、デフォルトのブートデバイスを設定します。
chroot /mnt/initfs cal-tool --set-root-device ask:mmc2

内蔵メモリにある現在のシステムを全てInternal memory cardにコピーします。
mkdir /mnt/mmc2
mkdir /mnt/internal
mount /dev/mmcblk0p2 /mnt/mmc2
mount -t jffs2 /dev/mtdblock4 /mnt/internal
/home/user/bin/tar cf - -C /mnt/internal . | /home/user/bin/tar xvf - -C /mnt/mmc2

コピーが終わったらumountして再起動しましょう。
umount /mnt/mmc2
umount /mnt/internal
rmdir /mnt/mmc2 /mnt/internal
reboot

うまく行っていれば再起動後にbootmenuが出てくるはずです。
Internal MMC card, partition 2, ext2を選択してEnterを押してください。
(押さなくても3秒でタイムアウトして起動してくるはずですが)

さて、ルートファイルシステムが大きくなったか確認してみましょう。
df -h
/dev/mmcblk1p2 1.4G 245.6M 1.0G 19% /
こんな感じに表示されればOKです。(他にもいろいろ出ますが)

ちょっと気になる事が1つ。内蔵→Internal Memory Cardとシステムを移動すると、ディスクの使用量が倍くらいに跳ね上がってしまうんです。これってファイルシステムのブロックサイズの問題とか、そういう理由なんですかね?まぁそれを補って余りあるくらいパーティションサイズは大きくなるのでいいんですけど。

上記の作業中、もし運悪くN810が起動しなくなってしまった場合(私も一度なりました)は、慌てず騒がず本体の初期化をしましょう。初期化用のツール(本来の用途はSoftware Updater)は以下で提供されています。

Nokia USA - Software update - Nokia N810 support
http://www.nokiausa.com/A4686323

ツールをダウンロードしてインストールしたら、

1.N810の電源を切る(切れなければ電池抜く)
2.十分に充電したらACアダプタを外す
3.Software Update Wizardを導入したPCにUSBケーブルで接続する
4.Swapキー(左側の四角が2つ重なったアイコンのヤツ)を押しながら電源ON
5.PC側でSoftware Update Wizardを起動する
6.指示に従ってアップデート開始

とすれば元に戻ります。Don't panic!
ちなみに戻しの手順はいつもこちらのページを参考にさせていただいております。(感謝!)

サルにもわかるN810(OSアップデート) - 一口! - Yahoo!ブログ
http://blogs.yahoo.co.jp/hinoe_uma66/12835323.html

Enjoy! ;-)
posted by 月水和尚 (とも) at 16:29 | Comment(5) | TrackBack(0) | Nokia/Symbian

2009年03月10日

Dropboxが超便利!

オンライン同期サービスのDropboxが超便利!
個人的にずっとオンラインストレージに対して不満に思っていた、

・ネットワークに繋がってないと使えない
・都度ファイルをダウンロードすることになるので重い
・サービスが消滅したらファイルは全滅?


という部分が見事に解消されています。素晴らしい。

所謂オンラインストレージの場合、データはネットワーク上に持ちます。それをドライブとしてマウントしたり、専用のソフトで扱ったり、ブラウザからアクセスしたりすることになると思います。常にネットワークを利用し、常に最新のファイルがサーバ上にしか存在しないため、上に書いたような不満を感じてました。(ローカルキャッシュするとか色々工夫しているサービスもありますが、あまり根本的な解決策にはなっていない)

これがDropboxの場合、データは基本的にローカルに持ちます。そのためネットワークに繋がってなくてもファイルは利用可能ですし、アクセス速度もローカルHDDと同等。(当たり前ですなね)

では何がオンラインなのかというと、Dropboxではある特定のディレクトリ配下を監視して、ファイルに変更があった場合に変更内容をサーバにアップロードする、という動作をします。アップロードは自動で行われますし、ネットワークに繋がっていない場合はアップロードを待機して、あとでネットワークに繋がったときに溜まっていた変更分をまとめてアップロードしてくれます。

アップロードされたファイルはサーバに保管されるだけではなく、他の同期対象のPCに対して自動的に配信されます。もちろん、ネットワークに繋がってない(電源すら立ち上がってない)場合でも全然問題なくて、ネットワークに繋がった(電源が立ち上がった)あとで最終更新からの変更分をまとめてダウンロードしてくれます。同期対象のPCが全て同じ状態に保たれてくれるため、隔地バックアップみたいな効果も生まれると思います。

もちろん、普通のオンラインストレージのようにブラウザ経由でファイルを取り出すことも可能ですし、自動でバージョン管理もしてくれているので過去日付のファイルを取り出すことも可能です。そしてブラウザ経由ならiPhone/iPod Touchからでもアクセスできます。(実はやったことないんですが)

同期用のクライアントもWindows、Mac、Linuxと対応されているので、マルチプラットフォーム環境でのファイル同期も思いのままです。

…と、ここまでいいことずくめで書いてきたDropboxですが、1つだけ注意点。それは、所謂オンラインストレージと違い、利用可能なストレージが増えることはないという点。データは全部ローカルにあり、サーバではその最新版を保管、複数拠点での同期、バージョン管理をしているだけなので、追加ディスク的な使い方は出来ません。個人的には全然問題ないんですが、例えばNetbookを使っていてローカルストレージが16GBしかないのでオンラインで増量を!と言うようなニーズには残念ながら向きません。ご注意下さい。

個人的には使用頻度の高いファイル(例えばメモ書きとか)はDropbox、それほど使わないけどどこからでも利用できると便利なファイル(例えばマニュアルとか)はオンラインストレージと、それぞれのサービスの利点を理解してうまく使い分けるのが一番いいのではないかなと思ってます。

Dropboxのサービスは2GBまでは無料で使えます。有料版は50GBまで。私は持ち歩きたいデータはそんなにないので、無料版のまま使わせてもらってます。今だと紹介キャンペーンをやっていて、以下のリンクからユーザ登録していただけると+250MBのスペースがもらえます。(つまり2.25GB使えることになる)

https://www.getdropbox.com/referrals/NTQ4NzM3Mzk

ちなみに登録していただけると、私にも+250MBのスペースがいただけます。自分だけもらえるんだと紹介リンクもやらしいかな…と思ったんですが、お互い幸せになれるのであえてご紹介。アフェリエイトっぽいのは嫌い!という方は、もちろん普通に登録していただいても問題ないですよ。

最後に念のための注意点を1つ。

通信はSSLで暗号化されていますし、サーバ側もそれなりのセキュリティ対策をしているとは思いますが、インターネットを介したサービスである以上情報漏洩のリスクがないとは言い切れません。それこそシステム的にものすごい強固であっても、自分が設定したパスワードの強度が低ければ不正ログインされる可能性だってありますし。

なのでDropboxでどんなファイルを同期するかについては、ご自身でしっかりと考えていただきますようお願いいたします。インターネットは怖いところなので、最後に自分を守るのは自分自身です。(これは自戒の意味も込めて)

…とは言え、私はある程度名の知れたサービスは基本的に信じることにしているので、それなりに重要なファイルでもあまり気にせず同期対象にしてしまっていますが。カード番号を書いたテキストファイルはさすがにやめとこうかな、とかその程度ですね。(全然自戒してない>自分)

単独PC上にあるデータのオンラインバックアップとして、会社と自宅のPCの同期用として、他にもいろんな使い方が考えられると思います。個人的には一押しのサービスなので、興味がある方は是非とも使ってみてください。何と言っても、無料ですしね!
posted by 月水和尚 (とも) at 11:24 | Comment(0) | TrackBack(0) | Webサービス

2009年03月09日

VMware Infrastructure Clientをubuntuで動かす

最近VMware ESXiがすごくお気に入りです。

それまではずっと仮想化=Xenの人だったのですが、各ディストリビューションでのXenのサポートがあまり進んでない(むしろ最近後退すらしているような気が…)のと、ESXiがあまりにもさくさく使えるのと相まって、すっかり浮気気味です。(もちろんXenの方が便利なシーンもたくさんあるのですが)

ただESXiのネックは、専用の管理クライアントが必要なこと。Xenのように実機のコンソールからログインしてCUIレベルでさくさく管理というわけにはいきません。(コンソールからログインも出来るらしいのですが、unsupportedな手順になってしまうので)

さらに困った事には、管理クライアントであるVMware Infrastructure ClientはWindowsでしか動きません。ESXi上のサーバにLinuxしか使わない環境でもWindowsが必須なんてあんまりだ…。

というわけで、VMware Infrastructure ClientをLinuxで動かしてみました。こちらで検証した環境はubuntu 8.04ですが、特にubuntuに特化した事はしてないと思うので他のディストリビューションでも似たような手順で実現可能だと思われます。

基本的な手順はこちらの内容を参考にさせていただきました。

vmware infrastructure client on ubuntu … an update
http://www.virtualinsanity.com/index.php/2009/02/02/vmware-infrastructure-client-on-ubuntu-an-update/

まずはWineをインストールするのですが、公式リポジトリにある1.0ではうまく動いてくれないため、WineHQにある最新の開発版(2009/03/09時点で1.1.16)をインストールするために、以下の2つのコマンドを実行します。
wget -q http://wine.budgetdedicated.com/apt/387EE263.gpg -O- | sudo apt-key add -
sudo wget http://wine.budgetdedicated.com/apt/sources.list.d/hardy.list -O /etc/apt/sources.list.d/winehq.list

これで最新の開発版が使えるようになりました。
いつものようにWineをインストールします。
sudo apt-get install wine

続いてWineの導入補助スクリプト(という表現でいいのかな?)であるwinetricksを導入します。導入と言っても、スクリプトをダウンロードしてくるだけなので以下のコマンド1つだけでOKです。
wget http://www.kegel.com/wine/winetricks

保存する場所はたぶんどこでも大丈夫です。
そうしたらwinetricksが利用するcabextractも導入します。
sudo apt-get install cabextract

winetricksを使って必要なWindowsコンポーネントを導入します。
sh winetricks dotnet20 ie6 winxp

途中で(Windowsユーザには)見慣れたダイアログボックスが出てくると思うので、普通にインストールを進めちゃってください。

以上でクライアントを導入する環境は整いました。ESXiが稼働しているサーバから、クライアントアプリをダウンロードしてインストールします。(普通にexeファイルをダブルクリックすればWineが良きに計らってくれます)

これで準備万端…と言いたいところなのですが、どうもWineの通信関連に問題があるらしく、クライアント−サーバ間の通信にSSL(HTTPS)を使うとクライアント側が落ちてしまうとの事。HTTPで通信しようとしてもデフォルトではHTTPSにリダイレクトされてしまいます。そこでHTTPでのアクセスを可能にするためにサーバ側の設定を変更します。これは正規の手順ではないので、本番稼働中のサーバなど、ダウンが許されないサーバでは絶対に行わないでください

まずはESXiにコマンドレベルでログインします。そのために、ESXiが稼働している実機のコンソールにてAlt+F1を押します。するとコマンドっぽい画面(表現下手でスミマセン…)に変わるので、キーボードからunsupportedと打ち込んでEnterを押します。打ち込んだ文字は画面には表示されませんが、気にしないでください。するとパスワード入力のプロンプトが表示されるので、サーバ導入時に設定したパスワードを入力してEnterを押します。無事に完了すると、見慣れたLinuxのコマンドプロンプトが現れます。

ここで修正すべきファイルは /etc/vmware/hostd/proxy.xml で、ファイルに記述されている httpsWithRedirecthttpAndHttps に変更します。viなどで普通に変更されてもいいですが、たぶん以下のコマンドを実行すれば意図したとおりに変更されると思います。
cd /etc/vmware/hostd
cp proxy.xml proxy.xml.org
sed 's/httpsWithRedirect/httpAndHttps/' proxy.xml.org > proxy.xml

修正が完了したらESXiを再起動しましょう。
reboot

再起動が完了したら、いよいよクライアントから接続します。
IP Address / Nameの部分は通常IPアドレスだけ記述すればOKなのですが、それだとHTTPSで通信を始めてしまうため、明示的に http://xxx.xxx.xxx.xxx とプロトコル名込みで記述してください。ここまで全ての手順が正しく完了していれば、VMware Infrastructure Clientが無事に起動してくれると思います。

まだざっとしか使っていませんが、現時点で分かっている不具合は以下のとおりです。

・Consoleが使えない
・右クリックが軒並み全滅
・Getting Startedの表示がおかしい

Getting Startedは設定で消せちゃうようなタブなので特に影響はなく、右クリックに関してもメニュー等別の方法で目的の処理までたどり着けるようなのですが、Consoleが使えないのはちょっと致命的。Linuxクライアントから新しいVMを作るのはちょっと無理のようです。トラブルシューティングなども最後はコンソールからの操作が頼りなので何とか解決してくれるといいんですが、今のところどうしようもないみたいです。ひょっとしたらWineのバージョンが上がったら解決するかも…と淡い期待。(それよりも本家VMwareからLinuxクライアントが出てほしいところですが)

とは言え、とりあえずVMの操作やリソース状態の確認、データストアの操作などは問題なくできるので、それなりに利用価値はありそうです。通常の運用端末はLinuxにしておき、いざという時は別途WindowsPCを持ち込んで対処するとか。(少なくともWindowsのライセンス数の削減には貢献できそう)

ワッサーで助言を下さった@kimitakeさん、@umqさん、@naru01さん、ありがとうございました!
posted by 月水和尚 (とも) at 15:20 | Comment(0) | TrackBack(0) | Linux(ディストリビューション固有)

2009年01月27日

Prismでフォントサイズの変更

Wassr専用クライアントとして私はPrismを使っているのですが、フォントサイズの変更など細かな設定が出来ないのが玉に瑕。仕事用の作業環境をGentooからUbuntuに変更したら、フォントが小さくて文字を読むのが大変辛くなってしまいました。根はFirefoxと一緒のはずなので、きっと設定ファイルを弄れば何とかなるはず…と思って調べてみると、やっぱり何とかなりました。

~/prism/xxxxxxxx.default/prefs.js に以下の記述を追加します。
user_pref("font.size.variable.ja", 18);
user_pref("font.size.variable.x-western", 18);
user_pref("font.size.variable.x-unicode", 18);
user_pref("font.size.variable.x-user-def", 18);
user_pref("font.size.fixed.ja", 18);
user_pref("font.size.fixed.x-western", 18);
user_pref("font.size.fixed.x-unicode", 18);
user_pref("font.size.fixed.x-user-def", 18);

user_pref("font.min-size.variable.ja", 16);
user_pref("font.min-size.variable.x-western", 16);
user_pref("font.min-size.variable.x-unicode", 16);
user_pref("font.min-size.variable.x-user-def", 16);
user_pref("font.min-size.fixed.ja", 16);
user_pref("font.min-size.fixed.x-western", 16);
user_pref("font.min-size.fixed.x-unicode", 16);
user_pref("font.min-size.fixed.x-user-def", 16);

私の環境ではこれでちょうどいいサイズになりました。
あとは使う環境によって適当に数値を変更すればOKかと。
フォントサイズだけじゃなくて、他にもいろいろ変更できそうですね。

以下のページを参考にさせていただきました。(ありがとうございます!)

劣化デジタル [n810] ブラウザのフォントサイズを指定する
http://chum54.blog103.fc2.com/blog-entry-9.html


ここから先は雑談ですが…。
posted by 月水和尚 (とも) at 17:20 | Comment(0) | TrackBack(0) | Firefox

2008年11月20日

Xen Summit Tokyo 2008

Xen Summit Tokyo 2008に参加中です。
現地からリアルタイム中継してますんで、お暇な方は遊びに来てくださ〜い。

Xen Summit Tokyo 2008 勝手にメモ
http://wassr.jp/channel/xensummit2008
posted by 月水和尚 (とも) at 21:32 | Comment(0) | TrackBack(0) | Xen/仮想化全般

2008年08月21日

Touch the future!

い、いや、あの、つい出来心で…。

touch.jpg

発売当初からずっと気になってはいたのですが、

・あんまり音楽を聴かない
・ほとんどテレビを見ない

という私にはちょっと違うよな、と自分に言い聞かせてずいぶん頑張ってたんですけどねぇ。隣の先輩に目の前でポチられるってのは想像以上に攻撃力が高かったです。

ただ私にとってラッキーだったのは、購入時点でiPhone 2.0 ソフトウェアアップデートNuevasyncが存在したこと。Googleカレンダーとネットワークで同期(所謂OTA同期)できるPDAを探していた私にはばっちりツボに入りました。

だもんで、購入してからしばらくは完全にPDAとして使ってました。ヘッドフォンを刺したのが使い始めて2週間過ぎた頃というあたりが終わってます。上記どちらが欠けても、ちょっと遊んだら飽きちゃってお蔵入りコースだったかもしれません。

ちなみに新品ではなく、整備済製品の8GBモデルを買いました。ちゃんと1年保証が付いて39%オフですから、これはお得だと思います。ちょっと前までは入荷してもすぐ売り切れてしまっていましたが、最近は安定して在庫があるようですね。(在庫がある=それだけ初期不良交換が発生してるって事なので、喜んでいい事なのかどうか分かりませんが…)

ぼちぼちと使っていきたいと思います。
posted by 月水和尚 (とも) at 14:00 | Comment(10) | TrackBack(0) | iPhone/iPod Touch

2008年08月15日

CentOS on Gentoo その2

"CentOS on Gentoo"の構築方法は何とか分かったものの、やはりディスクが特殊形式なのは何かと不便。Dom0側からmountして中身を確認することも、LVMの特性を生かしてディスクの拡張をすることも出来ません。せっかくのXen環境なのに、これはイマイチ嬉しくない。

というわけで、ムリヤリ何とかしてみました。

作業を始める前に、Dom0側でNFSが使えるようにしておいてください。
私の場合はGentooなので、
emerge -av nfs-utils

と、これでOK。(のはず…違いましたっけ?)

まずは前回の手順に従い、普通にCentOSをインストールします。(1から全てvirt-installに頼らずに入れる方法は残念ながら思いつきませんでした)

続いてDom0側で適当なサイズのLV(ルートファイルシステムになるLVなので用途にあったサイジングをしてください)を作成します。作成したらext3でフォーマットし、適当なディレクトリ(/mntとか)にマウントします。
lvcreate -L3G -ndomU_cent2_root rootvg
mkfs.ext3 /dev/rootvg/domU_cent2_root
mount /dev/rootvg/domU_cent2_root /mnt

マウントしたファイルシステムをNFSで公開します。
/etc/exports
/mnt 192.168.0.0/255.255.255.0(rw,no_root_squash,subtree_check)

と、こんな感じに記述を入れていただければOKです。
(もちろんIPは環境に合わせて適宜変更してくださいね)

そしたら設定を有効にすべくnfsを再起動します。
/etc/init.d/nfs restart

次にCentOSにログインし、先ほど定義したNFS領域をマウントしましょう。
mount -t nfs 192.168.0.2:/mnt /mnt

ここで指定するIPはDom0の(というかNFSを公開してるサーバの)IPです。

無事マウントできたら、CentOSの中のファイルを根こそぎコピーします。ただし/proc/sys/selinux配下はコピーできないので対象としません。また/dev配下は一部コピーに失敗しますが気にしないでください。
cd /
cp -ap bin boot dev etc home lib media misc net opt root sbin srv tmp usr var /mnt

けっこう時間がかかります。のんびり待ちましょう。
コピーが完了したらCentOSはシャットダウンしてしまってください。

NFS公開を終了します。
/etc/exportsに書き加えた記述を消し、nfsを再起動(または停止)してください。

先ほどコピーしたファイルシステムの中を整備します。
まずはコピーしなかったディレクトリを作成しておきます。
cd /mnt
mkdir proc sys selinux

ディスクの定義が変わったので、fstabも変更しておきます。

/mnt/etc/fstab
/dev/sda1 / ext3 defaults 1 1
tmpfs /dev/shm tmpfs defaults 0 0
devpts /dev/pts devpts gid=5,mode=620 0 0
sysfs /sys sysfs defaults 0 0
proc /proc proc defaults 0 0
ここではswapは定義してません。(あとで適宜追加してください)

あと、/selinux配下を消してしまったのでSELinuxが使えません。このままだと立ち上げてもログインすら出来ない状態になってしまうので、SELinuxをオフにします。

/mnt/etc/selinux/config
SELINUX=enforcing
 ↓ 変更
SELINUX=disabled

カーネルとRAMDISKはDom0側に取り出しておきます。
cp /mnt/boot/vmlinuz-2.6.18-92.1.6.el5xen /boot/cent-vmlinuz-2.6.18-92.1.6.el5xen
cp /mnt/boot/initrd-2.6.18-92.1.6.el5xen.img /boot/cent-initrd-2.6.18-92.1.6.el5xen.img

ファイル名は環境に合わせて適宜変更してください。(その時導入されてるカーネルのバージョンでファイル名が変わってしまうので)

これで準備は完了です。ファイルシステムをumountします。
cd /
umount /mnt

最後にXenの設定ファイルを書きます。
kernel = "/boot/cent-vmlinuz-2.6.18-92.1.6.el5xen"
ramdisk = "/boot/cent-initrd-2.6.18-92.1.6.el5xen.img"
memory = 256
name = "cent2"
vif = ['mac=00:16:3e:00:00:02, bridge=xenbr0']
disk = ['phy:rootvg/domU_cent2_root,sda1,w']
root = "/dev/sda1 ro"

ファイル名は/etc/xen/cent5_2としましょう。(何でもいいんですが)

全ての準備が整いました。CentOSを起動しましょう。
xm create -c cent5_2

"CentOS on gentoo"環境(ばーじょん2)のできあがり♪
これでCentOSもだいぶ扱いやすくなりました。

以下のサイトの情報を参考にさせていただきました。
(ありがとうございました!)

NFS-mount
http://www.furyu.atnifty.com/cgi-bin/readtext.cgi?title=NFS-mount&fname=./memo/Linux/PC-HowTo/nfs_mount.txt

STBBS.NET blog: RedHat, CentOSで SELinuxをオフにする
http://www.stbbs.net/blog/2007/10/redhat-centos-selinux.html
posted by 月水和尚 (とも) at 18:34 | Comment(0) | TrackBack(0) | Xen/仮想化全般

2008年08月04日

リンク先の内容に応じてマウスカーソルを変更

Firefox3にしたら、TargetAlertが動かなくなってしまいました…。
何か良い代替策は…と探してみたら、userConetnt.cssで対応する方法を見つけました。

ふと今日は・・・・・・  userContent.css で特定リンクのマウスカーソルを変化させる
http://xxsionxx.blog17.fc2.com/blog-entry-753.html

TargetAlertと違いマウスカーソルを変化させるので、ページのレイアウトが変わってしまうこともありません。それでいて機能的には全く損失がないので、もう言うことなしです!作者のSIONさんに大感謝!!

内容の詳細は上記リンク先を見ていただくとして、ここには作成したuserContent.cssだけ置いておきます。激しく自分用ですが、ご入り用の方がいらっしゃればどうぞ。
posted by 月水和尚 (とも) at 17:23 | Comment(0) | TrackBack(0) | Firefox

2008年07月15日

CentOSでyumのリポジトリをiijに変更(一撃で!)

一撃と言いつつ、コマンド3つ使いますが。(汗)
cd /etc/yum.repos.d
mv CentOS-Base.repo CentOS-Base.repo.org
grep -v mirrorlist CentOS-Base.repo.org | sed -e 's@mirror.centos.org@ftp.iij.ad.jp/pub/linux@' -e 's/#baseurl/baseurl/' > CentOS-Base.repo

毎度書き換えるの面倒だったので、これで一手間省けました。
posted by 月水和尚 (とも) at 18:07 | Comment(0) | TrackBack(0) | Linux(ディストリビューション固有)
×

この広告は180日以上新しい記事の投稿がないブログに表示されております。