<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ja">
	<id>https://wiki.archlinux.jp/index.php?action=history&amp;feed=atom&amp;title=User-mode_Linux</id>
	<title>User-mode Linux - 版の履歴</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.archlinux.jp/index.php?action=history&amp;feed=atom&amp;title=User-mode_Linux"/>
	<link rel="alternate" type="text/html" href="https://wiki.archlinux.jp/index.php?title=User-mode_Linux&amp;action=history"/>
	<updated>2026-05-03T17:24:40Z</updated>
	<subtitle>このウィキのこのページに関する変更履歴</subtitle>
	<generator>MediaWiki 1.44.3</generator>
	<entry>
		<id>https://wiki.archlinux.jp/index.php?title=User-mode_Linux&amp;diff=14013&amp;oldid=prev</id>
		<title>Kusakata: ページの作成:「Category:仮想化 en:User-mode Linux zh-hans:User-mode Linux User-mode-Linux (UML) は Linux の中で通常プロセスとして Linux を動かす仕組み…」</title>
		<link rel="alternate" type="text/html" href="https://wiki.archlinux.jp/index.php?title=User-mode_Linux&amp;diff=14013&amp;oldid=prev"/>
		<updated>2019-02-28T14:49:50Z</updated>

		<summary type="html">&lt;p&gt;ページの作成:「&lt;a href=&quot;/index.php/%E3%82%AB%E3%83%86%E3%82%B4%E3%83%AA:%E4%BB%AE%E6%83%B3%E5%8C%96&quot; title=&quot;カテゴリ:仮想化&quot;&gt;Category:仮想化&lt;/a&gt; &lt;a href=&quot;https://wiki.archlinux.org/title/User-mode_Linux&quot; class=&quot;extiw&quot; title=&quot;en:User-mode Linux&quot;&gt;en:User-mode Linux&lt;/a&gt; &lt;a href=&quot;https://wiki.archlinux.org/index.php/User-mode_Linux_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)&quot; class=&quot;extiw&quot; title=&quot;zh-hans:User-mode Linux&quot;&gt;zh-hans:User-mode Linux&lt;/a&gt; User-mode-Linux (UML) は Linux の中で通常プロセスとして Linux を動かす仕組み…」&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新規ページ&lt;/b&gt;&lt;/p&gt;&lt;div&gt;[[Category:仮想化]]&lt;br /&gt;
[[en:User-mode Linux]]&lt;br /&gt;
[[zh-hans:User-mode Linux]]&lt;br /&gt;
User-mode-Linux (UML) は Linux の中で通常プロセスとして Linux を動かす仕組みです。UML の詳しい解説は [http://user-mode-linux.sourceforge.net/] を見てください。&lt;br /&gt;
&lt;br /&gt;
== なぜ UML を使うのか ==&lt;br /&gt;
UML を使うことで複数の (Arch-) Linux インスタンスを同時に安全に実行できます。テスト用インスタンスと本番用インスタンスを同じマシンで動かす場合など、安全にプロセスを他のプロセスと分離できます。テスト用インスタンスで何か問題が起こっても、ホストの Linux や本番用インスタンスに影響を与えません。&lt;br /&gt;
&lt;br /&gt;
== 使用方法 ==&lt;br /&gt;
3つの方法が存在します:&lt;br /&gt;
&lt;br /&gt;
* hostfs と vde2 ネットワークを使う (全ての UML は同じファイルシステムを使います)&lt;br /&gt;
* rootfs と tap ネットワークを使う (イメージビルドが必要)&lt;br /&gt;
* [https://www.marionnet.org/ Marionnet] を使う&lt;br /&gt;
Linux 3.4.4-3 ではどの方法でも動きます (2012年7月3日現在)。&lt;br /&gt;
&lt;br /&gt;
=== hostfs + vde2 による構成 ===&lt;br /&gt;
Hostfs はホストのファイルシステムを読み取り専用モードで使います。&lt;br /&gt;
&lt;br /&gt;
==== 必要パッケージ ====&lt;br /&gt;
* {{AUR|linux-usermode}}&lt;br /&gt;
* ユーティリティパッケージ: {{pkg|vde2}} {{pkg|screen}} {{AUR|start-stop-daemon}} {{AUR|rsyslog}}&lt;br /&gt;
&lt;br /&gt;
==== 起動スクリプト ====&lt;br /&gt;
* http://pastebin.com/qDE0D7Lk スクリプトを 2vm.bash としてダウンロード&lt;br /&gt;
* 通常ユーザーを使って 2vm.bash を起動 (&amp;#039;C1&amp;#039; &amp;amp; &amp;#039;C2&amp;#039; という名前の2つの VM が存在)&lt;br /&gt;
* 2vm.bash を必要に応じて修正&lt;br /&gt;
&lt;br /&gt;
=== rootfs + tap による構成 ===&lt;br /&gt;
==== 必要パッケージ ====&lt;br /&gt;
* {{AUR|linux-usermode}}&lt;br /&gt;
* ユーティリティパッケージ: {{pkg|vde2}} {{AUR|uml_utilities_tunpatch}}{{Broken package link|{{aur-mirror|uml_utilities_tunpatch}}}}&lt;br /&gt;
&lt;br /&gt;
==== rootfs イメージのビルド ====&lt;br /&gt;
1.) まず Arch Linux をインストールする大きなファイルを作成します。以下のコマンドで 1GiB のファイルが生成され、ゼロで埋められます:&lt;br /&gt;
 dd if=/dev/zero of=rootfs bs=1M count=1024&lt;br /&gt;
または:&lt;br /&gt;
 fallocate -l 1GiB ./rootfs&lt;br /&gt;
&lt;br /&gt;
2.) ビルドプロセスの後、ルートファイルシステムのイメージをフォーマットしてください:&lt;br /&gt;
 mke2fs -F rootfs&lt;br /&gt;
&lt;br /&gt;
3.) ファイルのフォーマット後、マウントしてください。以下のコマンドを root で実行 ({{ic|modprobe}} で {{ic|loop}} モジュールをロードしてください):&lt;br /&gt;
 mount -o loop rootfs /mnt&lt;br /&gt;
&lt;br /&gt;
4.) 基本システムのインストールを実行:&lt;br /&gt;
 mkdir -p /mnt/var/lib/pacman&lt;br /&gt;
 pacman -Sy base -r /mnt&lt;br /&gt;
 cd /mnt/dev&lt;br /&gt;
 mknod --mode=660 ubd0 b 98 0&lt;br /&gt;
 chown root:disk ubd0&lt;br /&gt;
&lt;br /&gt;
5.) システムを user-mode-Linux で起動する前に、Arch 環境のファイルをカスタマイズしてください。{{ic|/mnt/etc/fstab}} に以下の行を追加:&lt;br /&gt;
 /dev/ubd0 / ext2 defaults 0 0&lt;br /&gt;
&lt;br /&gt;
6.) ファイルシステムをアンマウントしてください:&lt;br /&gt;
{{Warning|If you change &amp;#039;&amp;#039;anything&amp;#039;&amp;#039; inside your mounted file system (e.g. {{ic|/mnt}}) while it is &amp;#039;&amp;#039;running&amp;#039;&amp;#039;, it may lead to significant file system corruption inside your virtual machine and &amp;#039;&amp;#039;kill&amp;#039;&amp;#039; it!}}&lt;br /&gt;
 umount /mnt&lt;br /&gt;
&lt;br /&gt;
7.) 次にネットワークの設定です。それから、tun デバイスを作成します (tun/tap について詳しくは [http://user-mode-linux.sourceforge.net/old/UserModeLinux-HOWTO.html UML how-to] を参照)。そして IP アドレスを付与してください。以下のコマンドでで必要な {{ic|tun}} モジュールをロードして、{{ic|users}} グループから読み込める tun/tap デバイスを作成して、指定した IP アドレスで設定します。セキュリティのために、特定の UML グループを作成してください。&lt;br /&gt;
 modprobe tun&lt;br /&gt;
 ip tuntap add tap0 mode tap group users&lt;br /&gt;
 chown root.users /dev/net/tun&lt;br /&gt;
 ip addr add 192.168.0.100/24 dev tap0&lt;br /&gt;
&lt;br /&gt;
8.) これでイメージを起動できます。ネットワークを使うときは、UML カーネルに適切なデバイスを教える必要があります (UML コマンドを実行するユーザーは tun デバイスにアクセスする権限が必要です):&lt;br /&gt;
 vmlinux ubd0=rootfs eth0=tuntap,,,192.168.0.100&lt;br /&gt;
&lt;br /&gt;
{{ic|,,,}} は以下のようになります:&lt;br /&gt;
 eth0=transport,tuntap device,MAC address,ip&lt;br /&gt;
&lt;br /&gt;
例:&lt;br /&gt;
 eth0=tuntap,tap0,3f:2a:bb:00:00:00,192.168.0.100&lt;br /&gt;
&lt;br /&gt;
ヘッドレスの例:&lt;br /&gt;
  vmlinux ubd0=rootfs eth0=tuntap,,,192.168.0.100 mem=128M con=pty&lt;br /&gt;
&lt;br /&gt;
=== Marionnet ===&lt;br /&gt;
[https://www.marionnet.org/ Marionnet] を使うときは {{AUR|uml_utilities}} をインストールして https://bugs.launchpad.net/marionnet/+bug/1580349 を見てください。&lt;/div&gt;</summary>
		<author><name>Kusakata</name></author>
	</entry>
</feed>