User-mode Linux

出自 Arch Linux 中文维基

本文內容或本節內容已經過期。

原因: 請提供模板的第一個位置參數以概括原因。 (在Talk:User-mode Linux討論)

本文或本節需要翻譯。要貢獻翻譯,請訪問簡體中文翻譯團隊

附註: 這篇文章或章節的內容已經過期。(在 Talk:User-mode Linux# 中討論)

什麼是 user-mode-linux?[編輯 | 編輯原始碼]

User-mode-linux (UML) 是讓一個linux作為一個獨立進程運行在另一個linux上。 請在[1] 查找 uml 的詳細安裝使用指南。
這篇 wiki 文章是 這帖[失效連結 2020-08-06 ⓘ] 概要。 如果你有任何意見和建議可以在這回帖。

為什麼使用 UML?[編輯 | 編輯原始碼]

UML 是一種在同一時間運行多 (arch-)linux 的安全方式。 每個進程都是獨立去其它的, 這非常安全,例如在同一機器上進行多種測試和開發而不互相干擾。如果一些測試進程損壞並不會影響宿主系統或者開發用進程。

HOWTO[編輯 | 編輯原始碼]

運行所需:[編輯 | 編輯原始碼]

現在開始[編輯 | 編輯原始碼]

1.) 首先要創建一個獨立、大的文件用來安裝 arch。 如下命令會創建一個獨立的空的 1GB 文件 - 應該足夠安裝一個基 arch 系統。

dd if=/dev/zero of=archRootFs bs=1MB count=1000


2.) 當創建完成後格式化。 如下命令將會提示 archRootFs 不是一個 block 設備。 你可以完全忽略或者加入 -F 來使 mke2fs 可以屏蔽提示信息。

mke2fs archRootFS


3.) 格式化後加載它。 以root用戶執行如下命令:

mount -o loop archRootFs /mnt


4.) 現在開始基本系統安裝。您可以用 archbootstrap 腳本, 這會象光盤安裝一樣,不同的是這個安裝從指定目錄開始。這是一個真實的基本系統安裝 - 因而會花費一點時間!

sh archbootstrap /mnt/ ftp://archlinux-mirror


5.) 在系統以 user-mode-linux 模式啟動之前, 一些 arch 基本系統文件要求定製。 在 /mnt/etc/fstab 加入:

/dev/ubd0 / ext2 defaults 0 0

可以通過禁用 hotplugin 來加快啟動時間,在 /mnt/etc/rc.conf 加入:

DAEMONS=(syslog-ng !hotplug !pcmcia network netfs crond)


6.) 卸載文件系統。 注意: 如果你在加載的系統中改變了 任何東西 (例如 /mnt) 而它正在 運行,則很有可能 毀了 它 !

umount /mnt


7.) 下一步是配置網絡。 因此您要創建 tun 設備 (請閱讀 uml howto 得到具體的 tun/tap 信息), 分配一個 IP 地址。 如下命令將會創建 tun/tap 設備並讓普通用戶能夠使用,然後分配 ip 地址。為了安全起見您最好建立一個 uml 用戶組並賦予使用網絡設備的權限。

modprobe tun
tunctl -u users
chown root.users /dev/net/tun
ip addr add 192.168.0.100/24 dev tap0


8.) 現在可以啟動鏡像。為了使用網絡,您要在 uml 內核中聲明正確的設備值。 (確保普通用戶通過運行 uml 命令有足夠的權限使用網絡!)

vmlinux ubd0=archRootFs eth0=tuntap,,,192.168.0.100

",,," 意思是:

eth0=transport,tuntap device,MAC adress,ip

例如:

eth0=tuntap,tap0,3f:2a:bb:00:00:00,192.168.3.23

祝您開心使用 uml。