转自:www.wzlogs.com
CoLinux是一个效率很高的Linux虚拟机。或许虚拟机这个名称对于CoLinux来说并不贴切,因为CoLinux下Linux并不是运行在一个类似于vmware的虚拟机中。运行在CoLinux里的Linux系统实际上是运行在一个修改过的Linux内核上,该内核作为一个应用程序与宿主Windows协同运行,这样所有的linux程序无需修改编译就直接可以运行在Win32下。由于不需要虚拟一个虚拟机,性能高且开销非常小,非常适合于配置不高的机器(cpu硬件虚拟化也不需要)。CoLinux还能以系统服务来运行,所以比较适合构造一个简单的无终端服务器(headless server)。
大家可以去colinux.org去下载最新的snapshot版本(应该是0.80测试版),根据我的经验,snapshot版本已经足够稳定了,不需要去用0.7之类过时的版本。
图省事的朋友可以直接下载安装别人做好的镜像,如红帽子debian等等。这里有已经安装好Ubuntu 9.04系统可以下载,将下载的Ubuntu-9.04-1gb.7z解压到一个文件夹,比如D:\ubuntu,同时创建一个ubuntu.cfg:
mem=128
kernel=vmlinux
initrd=initrd.gz
cobd0=D:\ubuntu\Ubuntu-9.04.ext3.1gb.fs
cofs0=C:\share
eth0=slirp,,tcp:2080:80/tcp:2022:22/tcp:8080:8080
root=/dev/cobd0
ro
nogui
然后打开命令行,进入colinux安装目录,运行colinux-daemon.exe -t nt @d:\ubuntu\ubuntu.cfg启动colinux启动colinux
这里不再啰嗦每个配置语句的含义,大家可以去官方wiki(已被墙了,需要代理)或文档中去找到答案。
安装后的几个问题:
sudo不起作用
在root下运行visudo在最后加入一行
%admin ALL=(ALL) ALL
然后运行groupadd admin以及adduser xxx admin(xxx即为需要sudo的用户名)
如何以系统服务运行colinux
在命令行模式下进入colinux安装目录,运行colinux-daemon.exe –install-service Ubuntu @d:\ubuntu\ubuntu.cfg
这样服务就安装成功了,运行net start ubuntu启动服务,然后就可以用ssh远程登录上去(建议先在命令行下测试之后用服务模式运行)。
colinux里的网口设备eth0被udev重命名成eth1或其他(udev device rename)
可以通过强制指定虚拟eth0的mac地址来避免被重命名:
查看文件/etc/udev/rules.d/70-persistent-net.rules:
SUBSYSTEM==”net”, ACTION==”add”, DRIVERS==”?*”, ATTR{address}==”00:ff:a6:32:40:00″, ATTR{type}==”1″, KERNEL==”eth*”, NAME=”eth0″
可以看到”00:ff:a6:32:40:00″绑定到eth0,我们可以通过指定mac地址来让设备名被映射成eth0。
修改colinux的配置文件,指定网络设备的mac地址:
eth0=slirp,00:ff:a6:32:40:00,tcp:2080:80/tcp:2022:22/tcp:8080:8080
这样每次启动colinux,ubuntu的eth0就不会被udev改名,这种方法的好处在于不需要强制修改udev的配置文件(或者禁用udev)。