vsLinux は Linux の新しいデストリビューションです。 うそです。

ここは私の linux やネットワーク周りに関する知識の備忘録です。
virtual FDD
自宅にもlinux入れました。
今回も念のためにMBMのFD起動ディスク(MBMの記事)でマルチブート面でのトラブル対策しようと思ったんですが。メインがノートPCなんだけど、ノートにはFDD付いてないから無理なん。
それでFDイメージをCDに焼けたらいいなと思って探してみたら

ISOイメージが公開されてないDOSツールをCDブートで

しっかりありました!

任意のFDイメージをCDに焼く手順としてはこんな。


1. Virtual Disk Driver を使って仮想FDD作成(マイコンピュータにA:が出来る)
2. FDDをmakedisk(起動ディスク化する)
3. 後はてきとーに好きなファイル入れる
4. RawWriteWinを使ってFDDをイメージファイル化
5. FDイメージをISOイメージに変換するプログラムを使ってISOを作成
6. iso be 焼き!

ちょっとはしゃいでしまった。えっと、RawWriteWin使わずともVirtual Disk Driver 使えばイメージファイル化できるらしいんですが、なんかエラー出て上手く作れなかったので。

この手順で試しに MS-DOS + MBM installer 入れたCDを作成してブートしてみました。すげー。ほんとにブート出来た! CDがAドライブとしてブートした。

で、本題のMBMのディスケットイメージを同様にiso変換して焼いたところ、しっかりブートできました。
すんばらしい。一家に一枚って感じですか?(:->)


# windows2000でMS-DOS起動ディスクを作成する方法


2000のCD引っ張り出してきて


\VALUEADD\3RDPARTY\CA_ANTIV\makedisk.bat

実行すると生成される。
余計なファイル入ってるので、COMMAND.COM,config.sys,msdos.sys以外削除すれば生まれたままのMS-DOS起動ディスク完成。
WebDAV
windows 2003 server + Apache2 上でWebDAV が出来るまで。
WebDAV は http プロトコル使ってファイル管理出来る技術らしい。
windows + WebDAV の流れの説明はここに非常に詳しい説明があります。かなり参考にさせていただきました。

まず全ての準備として Apache のインストール。


Apache2
apache_2.0.53-win32-x86-no_ssl.exe

これ実行で OK。
インストールが終わるとスタートアップに登録されて

apache_stop.jpg

apache_run.jpg

こんなアイコンがタスクトレイに入って、上ならサーバ停止、下ならサーバ稼動中。とかそんな。簡単すぎて物足りない。

Apache の 設定は httpd.conf で全部出来ます。WebDAV のモジュールは最初から入ってるので、httpd.conf 開いて LoadModule 文の固まってるところに

LoadModule dav_module modules/mod_dav.so
LoadModule dav_fs_module modules/mod_dav_fs.so

さらに下のほうへ WebDAV の共有フォルダとなるフォルダを設定する文を追加して下さい…

# config for WebDAV
<IfModule mod_dav.c>
Alias /resource "c:/resource/www/resource"
  DavLockDB "c:/resource/www/davlock/DavLock"
  DAVMinTimeout 600
  <Location /resource>
    DAV On
  </Location>
</IfModule>

(インデントに全角空白を使っているのでコピペで流用しないで下さい)
Alias で c:/resource/www/resource という WebDAV 用のフォルダを /resource として定義しているので、この場合


http://your.domain.jp/resource/

で WebDAV フォルダへアクセス出来るようになりました。
/resourceと明記するのが大事。このスラッシュ忘れてうまくいかなくて死にそうになった。
あと DavLockDB というのは適当にフォルダ作っておけばよし。投げやりですいません。今回ユーザ認証の設定は飛ばしてます。

さあ、これで後は Apache を restart するだけで OK!
WebDAV が入っちゃいました。次は使ってみまっしょ。

実は Windows2k や XP には OS 標準で WebDAV フォルダを手軽にアクセス出来る機能が実装されています。すげー。
「マイネットワーク」から「ネットワークプレースを追加する」を選べば OK( 2k なら「ネットワークプレースの追加」)。

webDAV_on_windows-1s.jpg

webDAV_on_windows-2s.jpg

なんか恥ずかしながら自分間違えたので…
「ネットワーク接続」の「新しい接続を作成する」ではありません(;;

で、さっきの


http://your.domain.jp/resource/

をネットワークプレースとして指定してあげれば、図(上)のような感じで「インターネット」という項目と共に WebDAV フォルダが出現します。

これでファイルの出し入れがフォルダ感覚、かつブラウザから http プロトコル使ってフォルダにアクセスできるという話です。すごいよねー


日本語化について

このままだとあれだ。日本語ファイルが使えない。
Apache に mod_encoding というモジュール入れねばなりません。
windows 用のモジュールは用意されてないので自分でビルドしなきゃならないんですが、ネット上で配っていらっしゃる方がいましたのでありがたく使わせていただきます。さっきもリンク張ったこのサイトです。すばらしいです。ページの下のほうにあります。
自分の Apache のバージョンと合ったものをダウンロード。私の場合


mod_encoding.so.2.0.53.zip

を拝借してきました。
これを Apache のモジュール置くフォルダ(大方 %Apache folder% /modules )に入れて、httpd.conf を編集します。

LoadModule encoding_module modules/mod_encoding.so

# japanese_encoding with webDAV
<IfModule mod_encoding.c>
  EncodingEngine On
  SetServerEncoding UTF-8
  DefaultClientEncoding JA-AUTO-SJIS-MS
  AddClientEncoding "cadaver/" EUC-JP
</IfModule>

(インデントに全角空白を使っているのでコピペで流用しないで下さい)
これで OK。

最後に参考にしたサイト列挙します。すばらしいサイトばかり。
http://elug.gogo.homelinux.org/pukiwiki.php?WebDAV
http://www.ex.media.osaka-cu.ac.jp/webdav-m/

なんかだらだら書いてしまったけど
本当に大変なのはここからでしたっ
apt設定
そして今日はとうとう linuxから更新(;;)gnome、日本語、ナガカッタ

aptの設定で四苦八苦しました。
aptはパッケージ管理ユーティリティで、外からパッケージを落としてくれるのはもちろん、他のパッケージとの依存関係を調べてくれて必要なものまとめてインストールしてくれます。debianが初めて使うlinuxなのであんまりこの恩恵を体感してない気がする。

aptのサーバ(パッケージ落としてくるところ)の設定は

/etc/apt/sources.list

このファイルで行います。世界中にdebianのミラーサーバがあるので、適当な所(日本なら日本のミラーかと)に設定変更し、効率化を謀りましょう。
現在の私の設定はこんな。


roots:/etc/apt# cat sources.list
deb http://ring.fujixerox.co.jp/pub/linux/debian/debian stable main contrib non-free
deb http://ring.fujixerox.co.jp/pub/linux/debian/debian-non-US stable/non-US main contrib non-free
deb http://ring.fujixerox.co.jp/pub/linux/debian/debian-jp stable-jp main contrib non-free

deb http://ring.fujixerox.co.jp/pub/linux/debian/debian proposed-updates main contrib non-free

deb http://security.debian.org/ stable/updates main contrib non-free

deb http://ring.fujixerox.co.jp/pub/linux/debian/debian sarge main contrib non-free
deb http://ring.fujixerox.co.jp/pub/linux/debian/debian-non-US sarge/non-US main contrib non-free

そのまんまコピペ出来るしあわせ。
これを保存し、

# apt-get update

でデータベース更新して設定完了。あとは好きなようにapt-get! apt-get!

以下手順の詳細です。
まずサーバの探し方は、apt-spyやwget、netselectってパッケージ使います。各ミラーサーバにping送って速度測るらしいよ。主にこのnetselectに詳しいページを参考にしました。
とりあえず日本ではリングサーバが使えるようなのでfujixeroxのdebianミラーを使うことにしました。各サーバごとにsources.listのフォーマットが用意してあるのでこれを参考に設定(fujixeroxのフォーマット)。先に示したsources.listの前半部はこれの書き写しです。

但し、上のフォーマットでは設定が全てstable中心になっていました。
debian使うなら知ってて当然ですが、debianにはstabletestingunstableっていうディストリビューションから成り立っていて、現在

unstable -- "sid"
testing -- "sarge"
stable -- "woody"

と名前がついています。私、このこと見落としてて、ずっとstable(woody)のままでapt-getしてたのです。
(カーネルのソースが見付からなかったのは、sargeのカーネル使いながらそのソースをwoodyで探してたのが原因だったようです。)

さて、というわけでsources.listにsargeを加える事にしました。このサイト(このサイトは日本語化など、色々な点でお世話になっています)を参考にして以下の二行を追加。


deb http://ring.fujixerox.co.jp/pub/linux/debian/debian sarge main contrib non-free
deb http://ring.fujixerox.co.jp/pub/linux/debian/debian-non-US sarge/non-US main contrib non-free

こうしてなんとか設定ファイルを書き換えたわけです。
ここで注意しておくことは、この二行ではディストリビューションを"sarge"と指定しているのに対し、先のfujixeroxのフォーマットでは"stable"と書いていることです。ゆくゆくsargeがstableになった場合(てか5/30/2005になるらしい)内容が重複してしまいます。まあしばらくsargeで様子見するのでOKかと…

最後に apt-get update とは、パッケージのリストをサーバからダウンロードしておく命令です。このリストをカタログの様に眺め、欲しいパッケージを apt-get で注文するような形をとるので、updateして最新のものにしておく必要があるわけです。
aptにも色々ファミリーがいるので、今度その話も書きたいと思います。
scancode map(キーの入れ替え)
windows 2000/XP において
レジストリに scancode map というエントリを加えることで、キーボードのキー配置を自由に書き換えることが出来ます。私の場合 [caps] と [ctrl] 、[半角/全角] と [前候補変換(次候補)] を入れ替えて使ってます。そのやり方メモっとく。
詳しく説明してるかなりサイトあります。手順はこのサイトとか見たほうが分かり易いよ。

まずレジストリエディタを起動して

[HKEY_LOCAL_MACHINE]->[SYSTEM]->
[CurrentControlSet]->[Control]->[Keyboard Layout]

を表示します。ここにおいて「編集」->「新規」->「バイナリ」で

Scancode Map

というエントリを作成。

regist1s.jpg

こんな感じ。これを編集します。右クリックして「変更」を選ぶ。

regist2s.jpg

でこんな風に書き換えます。
あとはコンピュータを再起動するだけ!

詳しい説明…
2桁の数字(2桁の16進数、すなわち1byte)が並んでますが、これが4組で1セット。だと思って下さい。
するとこう読めます。


00 00 00 00
00 00 00 00 : 以上 header ( version と flag って名前らしい )

05 00 00 00 : これの後に続くセット( エントリ )の数( terminate 含 )

3A 00 1D 00 : 左ctrl(003a)->CapsLock(001d)置き換え
1D 00 3A 00 : CapsLock(001d)->左ctrl(003a)置き換え

79 00 29 00 : 前候補変換(0079)->半角/全角(0029)置き換え
29 00 79 00 : 半角/全角(0029)->前候補変換(0079)置き換え

00 00 00 00 : terminate

それぞれのキーには番号があってそれをスワップしてるわけです。header と terminate はおまじないだと思うことにする。
注意するのはキーコードが反転すること(0079が「79 00」)。CPUで処理する順で記述しろってことらしい…
で以上のレジスト情報をファイルにして上げておきます(自分のため…)。
menu-3-1.gif.reg形式のファイルアップロードできないので.txt形式になってます。拡張子.regに変えて実行すれば適用可能。

キーのスキャンコード表は、なかなか網羅したものがなかったんだけど
http://www.hiemalis.org/~keiji/PC/Translate.html
一応書いてる方いました。ただ[半角/全角]のコード間違ってるよな・・・
公式のはここにある「Keyboard Scan Code Specification」って解説書に詳しく書いてあるんだけど、表が読みにくい・英語・日本語キー網羅してないという代物なんで…


linuxでもキーマップはいじれるらしいので今度その記事書こう。
つか早速windowsの記事書いてるあたり微笑ましいよね。

後日談
窓使いの憂鬱というツール使うと、キーマッピングがかなり自在に出来ることが判明したので乗り換えました。

ホームディレクトリに .mayu という設定ファイル作って

# initialize
include "109.mayu"
include "104on109-custom.mayu"

keymap Global

# ------------------
# global keymapping
# ------------------

# switch caps(Eisuu) <-> LControl
mod ctrl += !Eisuu
mod ctrl -= LControl
key *Eisuu = *LControl
key *LControl = *Eisuu

# IME on/off at Convert key
key *Convert = A-Kanji

と書いておしまい。
104on109-custom.mayu は用意されている 104on109.mayu の{変換}キーを{Space}にする設定をコメントアウトしたもの。

その場でキー設定反映できるしコーディングだけで手軽に書けるのが気持ちいい。
ブートマネージャについて
linux導入するにあたって WindowsXP とのデュアルブートにしたかったので、フリーのブートマネージャを使うことにしました。
調べてみるとほんと色々あるのね。
ブートに関して非常に詳しいページ見つけたので参考にしました。で

MBM

ってツールに決定。主な理由としては


・ディスケットイメージからブート出来る点
いきなりMasterBootRecord書き換えは恐いし…

・設定いらずな点
最初、高機能ってことでGRUBってマネージャ考えてたんだけど設定ファイル作るのめんどくさそうなのでやめました。

とにかく手っ取り早く出来るというツール(結局それか)。
でアーカイブDLして早速解凍してみると

afx!

って内容。mbm.comをシステムディスクにコピーすんのか?と思ってmbm.txt読んでみた。どうもmbm.comはHDDのMBRをいきなり書き換えるツールらしい…
じゃあディスケットイメージのアーカイブってどこだよ。と思ってネット上を探しまわったんですが…みつからん。てかどうも最初に落としてきた圧縮ファイルに入ってるらしい。じゃあmbm.comにそんなオプションあんのか?とか格闘。

imgってフォルダに入ってました(@@;
イメージファイルとその説明書が。しまった。よく見たらMBMのサイトにも書いてあるしな。
イメージはrawritewinというライティングソフト使ってディスケットに移しました。これはwindowsでlinuxフォーマット?のイメージファイルを焼けるツールみたい。

で完成。早速作ったディスケットからブートしてみる…

なんかたくさんメニューが出てきます。1.boot menu を選択するとPCにくっついてるHDDのパーティション一覧が登場。NTFSのパーティションがwindowsXPで、extがLinuxですな。ばっちりデュアルブート成功。


でこれが数ヶ月前…(笑
今はMBR書き換えてディスケットなしでブートしてます。フロッピーだとブート以外の機能あんま使えないし(パーティションの名前付けとか)。まあ安全確認の意味でディスケットブートは有意義でした。