新入学生/新社会人応援企画: 第2回 Windows上でLinuxを走らせてみよう

coLinux

Linuxを使ってみたいとは思っても、Windowsから完全に移行するのはまだ早いかな、とお考えのあなた。Windows上でLinuxを動作させることができるcoLinuxを使って、まずはLinuxに触れてみてはいかがでしょうか。

連載第1回では、Linuxを始めるにあたって、どういったディストリビューションを選択すべきかを考えました。とはいえ、すぐにWindowsを捨ててLinuxに走ってしまうことをためらう方も少なくないと思います。そこで今回は、Windows上でLinuxを動作させることができるcoLinuxを紹介します。

coLinuxのインストール

coLinuxは、Windows上で動作するようにパッチが当てられたLinuxカーネルと、Windows用のデバイスドライバからなっています。2007年2月時点での最新版はcoLinux0.6.4です。Windowsのインストーラ(coLinux-0.6.4.exe)として配布されているので、これをダウンロードしてWindows上で実行します。

coLinux-0.6.4.exeを実行するとウィザードが立ち上がるので、画面の指示に従って作業を進めます。途中、インストールするコンポーネントの選択画面(図1)が表示されますが、それぞれ表1の意味になるので、使用する環境に合わせてチェックしておきます。また、図2の画面では、coLinux上にインストールするルートイメージを聞かれるので、Debianを選択しておきましょう。

図1. インストールするコンポーネントの選択画面
図1. インストールするコンポーネントの選択画面
図2. ルートイメージの選択
図2. ルートイメージの選択
表1. coLinuxのインストール時設定項目
coLinux
coLinuxカーネル。必須なので必ずチェックする
coLinux Virtual Ethernet Driver (TAP-Win32)
coLinuxからネットワークを使用するためのドライバ。通常の用途であれば、coLinuxからネットワークを利用するはずなのでチェックしておく
coLinux Bridged Ethernet (WinPcap)
Windows 2000上でcoLinuxを動作させ、かつネットワークを利用する場合に必要となるドライバ
Root Filesystem image Download
coLinux上には、Linuxディストリビューションをインストールできる。この項目がチェックされていると、Linuxディストリビューションのダウンロードも同時に行う

ディストリビューションのインストール

coLinuxをインストールすると、C:\Program Files\coLinuxなどに仮想環境がインストールされます。coLinuxの仮想環境にLinuxディストリビューションをインストールすることで、Linuxを使えるようになります。

coLinux上でDebian GNU/Linuxを動かす

coLinuxのインストール時、図2でDebianのルートイメージをダウンロードしました。まずはテストもかねて、このDebianイメージを起動してみましょう。ダウンロードしたDebainのイメージは、C:\ProgramFiles\coLinuxにある次のファイルです。

Debian-3.0r2.ext3-mit-backports.1gb.bz2

これを展開するには、bzip2が必要になります。Windows用のbzip2がhttp://www.bzip.org/で公開されているので、最新版のWindows用実行ファイル(2007年2月時点ではbzip2-104-x86-win32.exe)をダウンロードしましょう。

このファイルはインストーラではなくbzip2の実行ファイルなので、これを適当なフォルダにコピーします。今回は、ルートイメージの展開に使うだけなので、coLinuxのインストールディレクトリ(C:\ProgramFiles\coLinux)にコピーしました。コマンドプロンプトを起動して、coLinuxのインストールディレクトリに移動し、ルートイメージを展開します(実行例1)。

実行例1 Debianルートイメージの展開
C:\Documents and Settings\Administrator>cd c:\Program Files\coLinux
C:\Program Files\coLinux>bzip2-104-x86-win32.exe -d Debian-3.0r2.ext3-mit-backports.1gb.bz2
C:\Program Files\coLinux>dir Deb*
ドライブ C のボリューム ラベルがありません。
ボリューム シリアル番号は 34B4-5667 です
C:\Program Files\coLinux のディレクトリ
2006/04/01 12:56 1,073,741,824 Debian-3.0r2.ext3-mit-backports.1gb
1 個のファイル 1,073,741,824 バイト
0 個のディレクトリ 6,557,319,168 バイトの空き領域
C:\Program Files\coLinux>

次にcoLinuxの設定ファイルとなるXMLファイルを書き換えて、展開したDebianのルートイメージを実行するように指定します。設定ファイルは実行例2のようにして編集しましょう。以上で準備は整ったので、coLinuxを起動します(実行例3)。

実行例2 coLinux設定ファイルの編集
C:\Program Files\coLinux>copy default.colinux.xml debian.xml
↑coLinuxのサンプル設定ファイルをコピー
C:\Program Files\coLinux>notepad.exe debian.xml
↑コピーした設定ファイルをメモ帳でリスト1のように編集する
リスト1 Debianイメージ起動用の変更
14行目
<block_device index="0" path="\DosDevices\c:\coLinux\root_fs" enabled="true" />
  ↓ ルートイメージのファイル名を実際の環境に合わせる
<block_device index="0" path="\DosDevices\c:\
Program Files\coLinux\Debian-3.0r2.ext3-mit-backports.1gb" enabled="true" />
20行目
<block_device index="1" path="\DosDevices\c:\coLinux\swap_device" enabled="true" />
↓ とりあえずスワップ領域は使わないのでコメントアウト
<!-- <block_device index="1" path="\DosDevices\c:\
coLinux\swap_device" enabled="true" /> -->
実行例3 coLinuxを起動
C:\Program Files\coLinux>colinux-daemon.exe -c debian.xml

図3のように、「Cooperative Linux console」というウインドウが開いて、ログインプロンプトが表示されれば成功です。ユーザー名「root」、パスワード「root」でログインしてみましょう。通常のLinuxと同じように操作できます。

図3. colinux上でDebian GNU/Linuxが起動
図3. colinux上でDebian GNU/Linuxが起動

なお、coLinuxの設定ファイルには、表2のような設定項目があります。デフォルトの設定ファイルにはたくさんの記述がありますが、ほとんどはコメントアウトされています。コメントを削除すると、デフォルトではリスト2のように簡単な設定しか書かれていません。

表2 coLinuxの設定項目
タグ内容
<block_device>実マシン上のディスクデバイスをcoLinux上の仮想環境で使えるように割り当てる
<bootparams>coLinux上でLinuxカーネルを起動するときのパラメータを指定する
<memory>仮想マシンに割り当てるメモリ量を指定する
<image>coLinux上で動作するLinuxカーネルを指定する。ここに指定するカーネルは、coLinux上で動作できるようパッチが当たったものでなければいけない
<initrd>ルートイメージを読み込む前に読み込む初期RAMディスクを指定する
<network>coLinux上でネットワークを利用できるようにする
リスト2 デフォルトのcoLinux設定ファイル
<?xml version="1.0" encoding="UTF-8"?>
<colinux>
<block_device index="0" path="\DosDevices\c:\coLinux\root_fs" enabled="true" />
<block_device index="1" path="\DosDevices\c:\coLinux\swap_device" enabled="true" />
<bootparams>root=/dev/cobd0</bootparams>
<initrd path="initrd.gz" />
<image path="vmlinux" />
<memory size="64" />
<network index="0" type="tap" />
</colinux>

お好みのディストリビューションを使う場合

通常、PCにLinuxをインストールするときは、次のような操作を行うことになります。

  1. マシンにディストリビューションのCD/DVDをセットする
  2. マシンを起動してCD/DVDからインストーラを実行
  3. インストーラの指示でファイルシステムを構築し、システムファイルを展開する

しかし、coLinuxではこの手順を実行できません。coLinux上でディストリビューションのCD/DVDを起動するためには、coLinux上で動作できるインストーラ(正確にいうとインストーラのコアとなるLinuxカーネル)がCD/DVDに含まれていなければなりませんが、現状はそうなっていないためです。

この問題に対応するため、coLinux上で起動できる「coLinuxのインストーラ」を配布しているサイトも存在しています。2007年2月時点では、以下のディストリビューションに対応しており、もし使用したいディストリビューションがこのリストに含まれているなら、それを使うのが最も簡単だと思われます。

  • VineLinux 3.0/3.1/3.2 RC1/3.2/4.0 beta2/4.0
  • Fedora Core 2/3 Test1/3 Test3/3/4 Test1/4 Test3/4/5/6
  • CentOS 4.0/4.1/4.2/4.3/4.4
  • Red Hat 9

また、Ubuntu Linuxの日本語化を行っているUbuntu Japanese Teamでも、バージョンは少し前のものですが、独自に作成したUbuntuLinux 5.10対応版coLinuxイメージを用意しています。

http://www.ubuntulinux.jp/download/5.10


coLinuxのネットワーク環境

coLinuxはネットワークをサポートしていますが、インストール時点では設定がなされていない状態です。ネットワークはNAT構成か、ブリッジ構成を取れます。今回は図4のようなNAT構成と図5のようなブリッジ構成の作り方を紹介しますが、それぞれ次のような特徴があるので、使用目的に合わせてどちらかを選べば良いでしょう。

図4. テスト環境として構築するNAT構成
図4. テスト環境として構築するNAT構成
図5. テスト環境として構築するブリッジ構成
図5. テスト環境として構築するブリッジ構成
  • NAT構成:外部ネットワークからcoLinux上のゲストOSにアクセスできない。coLinux上にセキュアな環境を作りたい場合や、coLinuxのゲストOSをクライアント的に使う場合に使用する
  • ブリッジ構成:coLinux上のゲストOSが直接外部ネットワークにつながる。ゲストOS上でWebサーバを構築したり何らかのサービスを提供する場合に使用する

NAT構成

coLinuxをインストールしたことで、Windowsの「ネットワーク接続」には「ローカルエリア接続2」というアイコンができています(図6)。これをダブルクリックして[プロパティ]をクリック、[インターネットプロトコル(TCP/IP)]を選んで[プロパティ]をクリック、何ができているのかを確認しておきます。

図6. coLinuxをインストールすると、「ローカルエリア接続2」ができる
図6. coLinuxをインストールすると、「ローカルエリア接続2」ができる

ではWindows側のNAT設定を行います。「ネットワーク接続」から「ローカルエリア接続」を選び[プロパティ]をクリックすると、図7のような画面が現れます。

図7. Windows 2000/XPの「ネットワーク接続」

「詳細設定」タブをクリックすると「インターネット接続の共有」という欄に「ネットワークのほかのユーザーに、このコンピュータのインターネット接続をとおしての接続を許可する」というチェックボックスが現れます。これがNATのための設定ですので、チェックボックスをオンにしましょう。すると、次のような確認メッセージが表示されるので、[はい]をクリックします。

インターネット接続の共有を有効にすると、このコンピュータのLANアダプタが使用するIPアドレスは192.168.0.1に設定されます。このコンピュータは、ネットワーク上のほかのコンピュータに接続できなくなる可能性があります。ネットワーク上のほかのコンピュータが静的IPアドレスを持っている場合は、IPアドレスを自動的に取得するようにする必要があります。インターネット接続の共有を有効にしますか?

いささかあいまいなメッセージで何を言いたいのか分かりませんが、とにかく前述の「ローカルエリア接続2」のIPアドレスを確認すると、「192.168.0.1」になっています。次はcoLinux上にインストールされたLinuxの設定です。coLinuxを起動し、Linuxにログイン、次のように設定します。

項目
IPアドレス192.168.0.2
サブネットマスク255.255.255.0
デフォルトゲートウェイ192.168.0.1
優先DNSサーバ172.16.0.10

ブリッジ構成(Windows XPのみ)

NAT構成で設定した「インターネット接続の共有」を解除し、2つのネットワーク接続を選択状態にした上で右クリックします。すると、「ブリッジ接続」というポップアップが表示されるのでこれを選択。新しく「ネットワークブリッジ」というアイコンが表示されるので、右クリックして「インターネットプロトコル(TCP/IP)」のプロパティを開き、次のように設定します。

項目
IPアドレス192.168.1.1
サブネットマスク255.255.255.0
デフォルトゲートウェイ192.168.1.2
優先DNSサーバ172.16.0.10

Linuxは次のように設定しましょう。

項目
IPアドレス192.168.1.5
サブネットマスク255.255.255.0
デフォルトゲートウェイ192.168.1.2
優先DNSサーバ172.16.0.10

GUIの設定

最後に、coLinuxのGUIについて説明しておきます。現時点では、coLinuxはGUI機能を提供していないので、そのままでは使い勝手が良くありません。Windows上で使う分には、それほど高度なGUIは必要ないですが、coLinuxのデフォルトのコンソールではコピー&ペーストもできないので、何か代替の方法が必要だと思われます。

端末エミュレータだけ利用できれば良い場合、PuttyやPoderosaといったWindows用のフリーソフトウェアをインストールすれば良いでしょう。これらはそれぞれ完成度も高く、CUI操作を行う分には十分な使い勝手を発揮してくれるはずです(表4)。

表4 端末エミュレータ

名前特徴
Puttyフリーソフト。SSH2に対応しているほか、細かなカスタマイズが可能
Poderosa(ポデローサ)もともと商用のソフトウェアだったVaraTermがオープンソース化されたもの。SSH2対応、タブ式のGUIを搭載など高機能。複数実行には.NET環境が必要
UTF-8 TeraTrem Pro with TTSSH2シンプルなGUIで使い勝手の良いTeraTermのSSH2/UTF-8対応版。オープンソースで開発されている

どうせならGUIを利用したいという場合には、Windows上でUNIXのGUIを表示できるXサーバや、VNCを利用することになります(表5)。ただし、これらGUI環境はWindows環境との親和性が高くないため、操作性が悪く感じられることもあるかもしれません。それぞれのソフトウェアで使い勝手が違うので、興味のある方は試してください。

表5 GUIを実現するソフトウェア

名前特徴
Cygwin/XWindows上にUNIXのシステムAPIを実装し、UNIX由来のコマンド群を移植するCygwinプロジェクトに含まれるXサーバソフトウェア。オープンソースソフトウェア
XmingCygwin/Xと同じルーツを持つが、Xサーバ機能だけをパッケージしたもの。オープンソースソフトウェア
X-Deep 32米Pradeep Nambiarが商用ソフトウェアとして開発していたXサーバをフリーソフトにしたもの。比較的高機能で、使い勝手の良いインタフェースを提供する
VNC画面描画をネットワーク経由で転送するVNCプロトコルを実装したもの。UNIXだけでなく、Windowsの画面もリモートマシンに表示できる。オリジナルの実装と言えるRealVNCのほか、開発が活発なTightVNC、日本語入力の品質が高いUltr@VNCなど、さまざまな実装がある。初心者でも比較的導入しやすい

オープンソースの海へ漕ぎ出そう

以上、coLinuxの基本的な設定方法を説明しました*。「基本的な」といいつつ、複雑な操作をさせられてへきえきした方もいらっしゃるかもしれません。しかし、Windowsに比べると、「いま何をやっているか」がつかみやすかったのではないでしょうか。オープンソースは、中身がすべて見えるようになっています。調べればきちんと手応えがあるのが良いところといえるでしょう。まだまだインストールは旅のとば口。つまづくこともあるかもしれませんが、楽しみながら一歩ずつ、オープンソースライフを充実させてください。


次回は

はてなでプログラマーとして働くあの方の作業環境を紹介する予定です。著名な開発者のリアルな開発環境を知ることができるまたとない機会となるでしょう。


このページで出てきた専門用語

基本的な設定方法を説明しました

最後に1つオマケの設定を。coLinuxは、起動時にWindowsの仮想ネットワークデバイス(ローカルエリア接続2)にアクセスします。そのため、coLinuxの起動はAdministrator権限で行う必要があります。しかし、coLinuxを起動するたびにAdministratorユーザーにスイッチするのは面倒です。

そこで、最小限の手間でこれと同等のことが行えるようバッチファイルを作っておくと良いでしょう。具体的には、一般ユーザーの状態で、デスクトップなどに次の内容のファイルを作って、「debian.bat」などというファイル名で保存します。以降は、このバッチファイルを(ダブルクリックなどで)起動するだけで、Administrator権限でcoLinuxが起動します(起動時にAdministratorのパスワードを聞かれます)。

cd "C:\Program Files\coLinux"
runas /env /user:administrator "colinux-daemon.exe -c debian.xml"

参考文献

コメント

developerWorks: サイン・イン

必須フィールドは(*)で示されます。


IBM ID が必要ですか?
IBM IDをお忘れですか?


パスワードをお忘れですか?
パスワードの変更

「送信する」をクリックすることにより、お客様は developerWorks のご使用条件に同意したことになります。 ご使用条件を読む

 


お客様が developerWorks に初めてサインインすると、お客様のプロフィールが作成されます。会社名を非表示とする選択を行わない限り、プロフィール内の情報(名前、国/地域や会社名)は公開され、投稿するコンテンツと一緒に表示されますが、いつでもこれらの情報を更新できます。

送信されたすべての情報は安全です。

ディスプレイ・ネームを選択してください



developerWorks に初めてサインインするとプロフィールが作成されますので、その際にディスプレイ・ネームを選択する必要があります。ディスプレイ・ネームは、お客様が developerWorks に投稿するコンテンツと一緒に表示されます。

ディスプレイ・ネームは、3文字から31文字の範囲で指定し、かつ developerWorks コミュニティーでユニークである必要があります。また、プライバシー上の理由でお客様の電子メール・アドレスは使用しないでください。

必須フィールドは(*)で示されます。

3文字から31文字の範囲で指定し

「送信する」をクリックすることにより、お客様は developerWorks のご使用条件に同意したことになります。 ご使用条件を読む

 


送信されたすべての情報は安全です。


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=60
Zone=Linux, Open source
ArticleID=249548
ArticleTitle=新入学生/新社会人応援企画: 第2回 Windows上でLinuxを走らせてみよう
publish-date=05112007