第 26 回 東京エリア Debian 勉強会資料会の友会
化ア
強想 × リ 勉
仮エ ン京 ア
東 ビデDebian 勉強会幹事 上川 純一
2007 年 3 月 17 日

第 26 回 東京エリア Debian 勉強会 2007 年 3 月

1 Introduction
上川 純一

今月の Debian 勉強会へようこそ。これから Debian のあやしい世界に入るという方も、すでにどっぷりとつかっているという方も、月に一回 Debian について語りませんか？
目的として次の二つを考えています。

• メールではよみとれない、もしくはよみとってられないような情報について情報共有する場をつくる• Debian を利用する際の情報をまとめて、ある程度の塊として整理するための場をつくる
Debian の勉強会ということで究極的には参加者全員が Debian Package をがりがりと作るスーパーハッカーになった姿を妄想しています。

Debian をこれからどうするという能動的な展開への土台としての空間を提供し、情報の共有をしたい、というのが目的です。

1

デビアン勉強会

目次
1Introduction

12

それぞれのイベント紹介

3

2.1

仮想化友の会紹介 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

32.2

Debian 勉強会紹介

3

事前課題

53.1

前田 耕平さん . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

53.2

芝さん . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

53.3

Yoshihiro Yoshida さん . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

63.4

芝＠岡山さん . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

63.5

岩松 信洋 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

73.6

上川 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

7

仮想化友の会常識 QUIZ

104.1

仮想化の常識 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

104.2

仮想化の利点 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

104.3

仮想化の分類 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

104.4

仮想化の仕組の常識 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

114.5

Debian での常識 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

11Windows から使える Debian 技術

125.1

Windows で Debian . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

125.2

goodbye-microsoft.com . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

125.3

cygwin/debian? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

12KVM: Debian の仮想化技術紹介

136.1

xen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

136.2

user-mode-linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

136.3openvz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

136.4

linux-vserver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

136.5

各種エミュレータ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

136.6

kvm の使いかた紹介 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

136.7

仮想化の濃い話. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1434567. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

最後に

152

第 26 回 東京エリア Debian 勉強会 2007 年 3 月

2 それぞれのイベント

紹介
平さん + 上川2.1 仮想化友の会紹介
仮想化友の会とは、という紹介をしてくれます。

2.2 Debian 勉強会紹介
Debian Project のディストリビューションの開発に興味のある人たちをターゲットに勉強会を開催しています。開始前に開発に興味があっただけの人たちが、現在はみなさまいろいろなパッケージのメンテナンスをしてくれています。東京エリア Debian 勉強会のおかげでこのメンバーがこのパッケージをメンテナンスしてくれているのです。

• 山根さん: eclipse-nls, jd, ttf-vlgothic• 岩松さん: flash, tinywm, ttf-mona• 小林さん: serf, skkdic, skksearch• みつかさん: canna• えとーさん: qwikDebian ユーザの方はどれくらいいらっしゃいますか? これらのパッケージの利用者はどれくらいいますか? Debian勉強会の成果を皆様使っているということになります。

2.2.1 東京エリア Debian 勉強会 25 回目報告
東京エリア Debian 勉強会報告。2 月の第 25 回 Debian 勉強会を実施しました。今回は初の小林さんが幹事の会の予定でしたが、小林さんがたおれてしまったので、代理開催です。
今回の参加人数は 13 人でした。あけどさん、小室さん、岩松さん、えとーさん、上川、吉田さん＠板橋、Henrichさん、前田さん、石原さん、David Smith さん、澤田さん、キタハラさん、吉田さん（女性）でした。
上川が最近の事情の紹介、事前課題の紹介をしました。「apt に足りない機能」という話題では、非常に盛り上がりました。インストールする前に changelog や README や manpage を表示するためのインタフェースや、googleと連携してパッケージをインストールできるようにするインタフェースなどがあるといいね、という話題が出ました。また、ユーザのホームディレクトリにインストールしたパッケージもシステム全体の観点から管理できるとよいねという話題も出ました。

DWN クイズはひさしぶりに DWN が頻繁にリリースされたので、１１問ありました。みなさまの Debian についての常識を問いました。よい感じですね。

dbs について岩松さんが紹介しました。dpatch, quilt によって置き換えられつつある dbs ですが、まだ使っているところもあるので抑えておく必要があります。癖のあるツールですが、この話を聞いてもうみなさん大丈夫ですよね。
そして、上川が dpatch について話をしました。ツールがどういう使い方になるのか、ということと、一つ dbs 風にも使えるのだ、という事例を紹介しました。

3

最後に、OSC での出し物に付いて議論しました。仮想化については、みなさんすでに活用しまくっているようで、おもしろい話がきけました。Debian ユーザじゃない人たちもくるだろうけど、そういう場合には Windows からDebian に安心して乗り換えてもらえるように goodbye-microsoft.com を紹介しましょう、という話をしました。仮想化の使い道としておもしろいものとして、年賀状、EDY チャージ、winny、試験用（教育）などの事例が出てきました。

4第 26 回 東京エリア Debian 勉強会 2007 年 3 月

3 事前課題上川 純一

今回の事前課題は「仮想化を実際にこういう利用方法で活用しています」というタイトルで 200-800 文字程度の文章を書いてください。というものでした。その課題に対して下記の内容を提出いただきました。

3.1 前田 耕平さん
1-3 はゲストが Windows、4 はゲスト Linux または BSD です。ホストはいずれも Debian です。
3.1.1 Windows でしか使えないハードウェア (プリンタ・スキャナ・コピー複合機) を使うため北側の部屋 (サーバルーム兼図書室) に置いているミニタワー型 PC の VMware 上の Windows を使うのに、SSHで X をポートフォワーディングさせて、和室のノート PC で使ってます。(北側の部屋は寒いので。) ちょうど今は、VMware 上の Windows をリモートで表示させて、確定申告の用紙を印刷するのにフル活用中。(年末は年賀状) 普通にリモートデスクトップを使えば？というツッコミはなしで w。結局、プリンター ((Epson CC-700)) が Windowsでしか使えないからなのですが…。

3.1.2 自社の暗号化ツール対応の為。
秘文で暗号化したファイルは Linux 上では複合できない (exe 形式) ので、VMWare か KVM 上の Windows に一度ファイルを持っていって複合した後、複合済みのファイルを Linux に持っていく、という使いかたをしています。

3.1.3 Let’s note の無線 LAN ドライバを抽出するため。
今使っている、Let’s note R3 は購入直後にきれいさっぱり Windows を消しており、ndiswrapper で Windows のドライバを使用するのに、Windows が必要だったので。

1. Panasonic のサイトからドライバを VMware 上の Windows にダウンロード。
2. 普通に展開しようとすると、ハードウェアのチェックが入るので、lhaplus で解凍＆ tarball に圧縮。
3. tarball を Linux に持っていって、展開して ndiswrapper で使用。
ipw2200 がダメだったので、ndiswrapper に逃げた結果なのですが…。
3.1.4 別のディストロを試すため。
自宅の PC や鯖にはネイティブには Debian を入れており、別のディストロを試すために、毎回入れ直すのが面倒になったので。（前はテスト専用機で１ヶ月に一度くらいの頻度でいろんなディストロを入れ直してましたが）

3.2 芝さん(2000 文字の論文を提出いただきました。)

5

3.3 Yoshihiro Yoshida さん
仮想化利用方法

3.3.1 システムバックアップ
通常のサーバの場合、ＯＳを含めたシステムバックアップの取得には、ＣＤブートやシングルユーザでのブートが必要となり、サーバの台数が多いと 時間のかかる作業となってしまいますが、仮想化ソフトを使用していれば、イメージファイルのバックアップだけですむため、バックアップ作業の時間が大幅に短縮できます。

3.3.2 サーバリプレース
古い資産を使い続けたいのに、古い OS に対応するハードウェアが見つからないのですが、そういった場合には無理にハードというケースが最近みられるウェアを探すのではなく、スペックに余裕のあるマシンに仮想化環境を構築 し、そこで古い資産を動作させることが可能です。

3.3.3 vmotion livemigration によるノンストップ切り替え
どんなクラスタソフトでも運用機と待機機が切り替わる際にはサーバの停止がし、VMotion や Live Migration といった機能を必要となってしまいます。しか使用することにより、サーバをノンストップで切り替えることが可能となります。

3.3.4 サーバの配布に使用
東京でサーバのセッティングを行い、全国の各支店に送付するようなケースな場合にも仮想化ソフトを使用すれば筐体を可能とがまれにあるのですが、そのよう東京に集める必要はなく、イメージを送付するだけでサーバの配布がなります。

3.3.5 インストーラの試験に使用
通常インストーラの試験を実施するためには、インストール、りますが、仮想化ソフトのアンインストールを繰り返し実施する必要があ

スナップショット機能を使用すると簡単にインストール前の状態に戻すことができる

ため、効率的に試験を実施することが可能になります。

3.3.6 アプリの異常系試験
通常の環境では躊躇してしまうような大胆な異常系の試験もスナップショットで簡単に環境を戻せることを考えれば、気軽に実施することが可能になりす。

3.4 芝＠岡山さん
3.4.1 旧環境の保存
旧バージョンのブラウザやフォント環境で css のテストやアプリケーションの動作チェック Visual Studio 6.0 環境の保存

3.4.2 ネットワーク環境のテスト
１マシン上で複数 OS のクライアントサーバ環境がテスト出来る開発時は高負荷かけないのでノート PC でも十分なときが多い

3.4.3 一時利用サーバ
常時使うわけではないので専用機は勿体ない PXE サーバとかです（笑）

6

3.4.4 1CDLinux で遊ぶ
VMknoppix に喧嘩を売るわけじゃないですが（むしろリスペクトですけど）Windows 上の仮想環境から knoppix立ち上げることが多いような感じです仮想環境ですと焼かなくて済むのとディスクアクセスが速いので遊びやすいです実用例ですとドイツのネットカフェで qemu から knoppix 立ち上げて日本語打ってました。
もう少し軽快になると USB メモリで HDD イメージ持ち歩くのが普通になるかもしれません。メール環境やブラウザのクッキー持ち歩くとか考えるよりシンプルですよね。

3.5 岩松 信洋
3.5.1 Debian installer のテスト
qemu を使って、Debian-installer のテストをしています。
3.5.2 別アーキテクチャ上のテスト
qemu を 実機を持っていない アーキテクチャのテストに使っています。Debian のパッケージメンテナンスを行う
時に非常にありがたい存在です。

3.5.3 CPU のシミュレーションとして実機がない場合でも、Linux カーネルの開発が行えるように、qemu を使っています。基板の設計と Linux カーネルの開発が同時に進行できるので、便利です。

3.5.4 他ディストリビューションを使う
複数のディストリビューションを使う時に Xen を使っています。コンパイラをチェックするときに、ディストリビューション毎に PC があっては管理が面倒くさいので、Xen 上で 複数のディストリビューションを動かし、テストに使っています。

3.6 上川
仮想化技術を試すために使ってみました。

3.6.1

kvm で試す openvz

openvz を試してみましょう。
まず Debian を普通にインストールします。daily image をダウンロードして、インストーラを起動、まずインストールを開始します。
$ qemu-img create debian.img 1G$ wget http://cdimage.debian.org/cdimage/daily-builds/daily/\arch-latest/i386/iso-cd/debian-testing-i386-businesscard.iso$ kvm -m 300 -hda debian.img -cdrom \debian-testing-i386-businesscard.iso -boot d -usb

$ kvm -m 300 -hda debian.img -usb

apt-get clean でディスク領域を開放します。
linux-image-vserver-686 をインストールします。すると、vserver を利用できるカーネルがインストールされます。
linux-image-xen-vserver-686 をインストールします。
util-vserver をインストールします。
debootstrap をインストールします。
vserver dancer build -m debootstrap – -d sid としてみます。
vserver dancer start とすると起動します。

7

vserver dancer enter とすると、セッションにログインできます。ps コマンドなどをうってみると、自分のセッションの属するプロセスしかみえないのがわかります。

3.6.2 goodbye-microsoft.com
ディストリビューションのインストールを試すのに最適です。goodbye-microsoft.com を試すのに使ってみました。

3.6.3 検証環境
kvm を利用して、linux のインスタンスを起動して活用しています。
user-mode-linux と chroot を昔は使っていました。仮想環境を利用してくれる pbuilder-user-mode-linux という

8

コマンドなどがあります。それを利用すると、仮想環境の中でソフトウェアパッケージのビルドなどを行ってくれます。

3.6.4 pasori
USB 経由で接続する pasori というデバイスがあります。それを利用するために kvm を利用しています。EDYのチャージなどをする際に、Windows のアプリケーションしかリリースされていないのですが、問題ありません。

qemu (すなわち kvm) には USB デバイスをゲスト OS に直接見せる機能があります。それを利用すればゲスト OSからデバイスが見えます。

3.6.5 IE 実行環境
IE を利用する Windows 環境のために kvm を利用しています。qemu の cow イメージの機能を使い、毎回使い捨てできる環境で利用しています。

9

第 26 回 東京エリア Debian 勉強会 2007 年 3 月

4 仮想化友の会常識 QUIZ
上川 純一

仮想化は最近流行しています。ただ、猫も杓子も仮想化といっている現状、本当に常識をただしく理解してますか？

OSC の会場に到達できるみなさまであれば問題ないとは思いますが、念のため確認テストをさせていただきます。

4.1 仮想化の常識問題 1. 仮想化での paravirtualization とはなにか□ A 仮想用に OS が変更されている□ B パラパラで仮装する□ C 並列で仮想化する問題 2. Intel の VTって何?
□ A 「バレーボール取ってきて」□ B 真空管 (vacuum tube)□ C Intel 社が提唱する CPU の仮想化支援の仕組

4.2 仮想化の利点
問題 3. Windows を仮想化環境で実行することによる利点は何か□ A Windows VISTA ではライセンスを考えくてすむようになる□ B Windows がフリーソフトウェアになる□ C Windows が Linux 上で動く

4.3 仮想化の分類
問題 4. 別途カーネルが独立して必要では無い仮想化実装はどれか□ A user-mode-linux□ B xen□ C openvz
問題 5. kvm はなぜカーネルのメインラインにマージされたか?
□ A 作者がイケメンだった□ B 政治力□ C 影響範囲のコードが小さい

10

問題 6. kvm は paravirtualization をどういう方式で実現しているか□ A 仮想環境で実行される Linux カーネルが paravirt ops 機構を利用し、VMCALL 命令を発行することでホストOS に連絡する□ B 根性・気合い□ C 愛情4.4 仮想化の仕組の常識問題 7. x86 CPU において VMEXIT を発行する命令として、代表例である CPUID 命令の OPCODE は下記のうちどれか。
□ A 0x55□ B 0x0f 0xa2
□ C 0x5d問題 8. AMD-V と Intel-VT の一番大きな違は次のどれか□ A 会社が違う□ B 命令が違う□ C 思い入れが違う
問題 9. Xen の Domain-U の U は何か□ A Unprivileged□ B User□ C Unix
問題 10. Xen という名前は何から由来したか□ A Xeno□ B 作者の娘の名前□ C 禅寺問題 11. KVM はなんの略か□ A Keyboard Video Mouse□ B Kernel-based Virtual Machine□ C 「これ持ってる?」「こんなビデオ持ってるぜ」
問題 12. i386 の場合の Domain-U の ring level は何?
□A1
□B2
□C3

4.5 Debian での常識問題 13. Debian Project で推奨する仮想化の技術は？
□ A xen□ B kvm□ C DFSG に合致するものならなんでもよい11

第 26 回 東京エリア Debian 勉強会 2007 年 3 月

5 Windows から使える
Debian 技術
山根

5.1 Windows で Debian（CoLinux/VMWare/etc）

5.2 goodbye-microsoft.com
5.3 cygwin/debian?

12

第 26 回 東京エリア Debian 勉強会 2007 年 3 月

6 KVM: Debian の仮想化技

術紹介
前田さん

6.1 xen
6.2 user-mode-linux
6.3 openvz
6.4 linux-vserver
6.5 各種エミュレータ
qemu(i386, arm, x86-64), aranym(m68k), hercules(s390) などが Linux が動作するという観点からは実用レベル。

6.6 kvm の使いかた紹介
6.6.1 インストール方法
kernel 2.6.20 以上の場合*1
kernel 2.6.20 以前の場合

apt-get install kvm

apt-get install kvm
m-a a-i kvm

利用方法、動作確認した内容など。

6.6.2 開発検証用
6.6.3 セキュリティーサンドボックス
6.6.4 アプライアンス
スナップショットから復旧

6.6.5 kvm で windows
6.6.6 kvm で Edy チャージ
USB を認識させればよいじゃん。必殺技。
kvm -localtime -hda winxp.cow -m 400 -usb -usbdevice host:054c:01bb

6.6.7 kvm で digress
qemu を利用して d-i のデバッグを行う。

*1 KVM のユーザ空間とカーネル空間のバージョンの整合性の問題があるため、今後もこの操作がうまくいくとは限らない。

13

6.6.8 kvm で Edy チャージ

6.7 仮想化の濃い話
6.7.1 仮想化を使って退社しました
6.7.2 正式に Linux カーネルへ取り込まれた仮想化技術 KVM(Kernel-based Virtual Machine) について解説する。
超マニアックな解説予定。

14

第 26 回 東京エリア Debian 勉強会 2007 年 3 月

7 最後に勉強会の URL を紹介する。
質問のある人は展示場に来てください。答えますよ。
宣伝告知、勉強会やりますか。

15

16

デビアン勉強会

Debian 勉強会資料
2007 年 3 月 17 日
初版第 1 刷発行
東京エリア Debian 勉強会 （編集・印刷・発行）

17