在windows上模拟linux环境,目前主要有三种方法:
1.vmware等虚拟机,缺点:占用
系统资源多,运行速度慢。
2.cygwin等模拟环境,用windows下的程序模拟实现linux下的功能,缺点:与实际linux环境有差异,并且功能模拟不完全,容易出现冲突
3.colinux/
andlinux等模拟环境,通过使用一种特殊的驱动程序,使得模拟环境可以运行在ring0特权模式下,与windows交替使用CPU,这样运行模拟环境就像运行本地系统一样,速度非常快,稳定性好。
本人最开始学习使用的vmware上安装ubuntu, 有时确实会比较卡, cygwin也安装用过确实跟LINUX有一定的差异毕竟只是个模拟环境,现在由于公司用的colinux上搭载redhat的系统,所以接触到colinux,发现确实占用资源少,并且运行速度快,做开发效率很高,值得推荐使用,下面说说具体的搭建步骤。
三. 开发环境搭建
colinux安装
点击选择coLinux-stable项,进入以下页面:
直接选择
0.7.9-linux-2.6.33.7 进入下载页面:
选择第一个
colinux-0.7.9.exe进行下载,如果你有兴趣研究colinux,可以选择第二项下载colinux的源代码进行学习研究,在此就不做讨论。
下载完成,直接双击运行,NEXT直到出现以下界面:
去掉Root Filesystem image Download前面的勾选,安装时暂不下载根文件系统的镜像,然后NEXT到,
选择安装路径,默认是装在系统盘,我的系统盘是D盘,我选择装在C盘的colinux目录下(C盘还剩76GB,安装colinux仅需空间10MB),继续NEXT直到FINISH安装完成,安装完成后网络适配器中会新增一个本地连接,重命名为TAP-colinux,并设置IP如下。
到安装目录下看到一系列生成的文件,其中README.txt中有详细的安装说明,不明白的可以阅读一下。
下载文件系统:
由于公司用的是Fedora,所以选择下载Images 2.6.x Fedora,进入下载列表:
选择下载Fedora11,因为下面描述,Fedora 10以下的版本已经不支持继续更新了。
直接选择可执行文件进行下载安装,我是直接下载放在C:\coLinux目录下,并执行安装。
解压完成后生成根文件系统的镜像以及交换分区镜像(文件系统大小为4G,swap为512MB),输入Q退出。
配置环境
复制C:\colinux目录下的example.conf文件并重命名为fedora11.conf并修改内容如下:
写一个批处理文件,start_fedora11.bat 用来启动colinux,编缉内容如下:
双击批处理文件启动colinux,输入root登录进入linux.
配置网络:
在shell命令行输入以下命令打开配置文件,默认的动态配置IP,我们修改如下保存:
然后输入如下命令重启网络服务,看到四个OK表示成功:
输入ifconfig查看一下IP配置:
然后我们测试一下,windows是否能PING通我们linux,点击windows的开始按钮输入cmd打开命令行窗口,
输入ping 192.168.10.22回车(这个IP就是我们刚配置的linux的IP)
任务基本完成了,由于linux命令行窗口太难看而且操作不方便,接下来我们将使用
secureCRT来连接到做仿真用,
但前提是linux下得安装SSH服务,我们先看一下linux是否安装此服务,输入如下命令发现服务已经安装了且在运行:
为了能连接中不出现问题,我们先关闭LINUX的防火墙,用以下命令:
永久关闭防火墙:chkconfig iptables off.
打开secureCRT,进入快速连接设置,如下:
连接并输入密码最后成功登录linux界面:
效果太单调,进行一下相关配置,选择选项->会话选项:
然后重新连接一下linux ,保正配置生效,最后效果如下:
配置共享服务:
经过上面的一番折腾,发现竟然上不了网,想下载安装包竟然连接不到网络。
发现是网络连接少了一步配置,得在windows下设置共享上网,设置方法:
打开网络和共享中心:
我现在使用的无线上网,选择无线网络连接(选择你现在正在使用的能上网的那一个网络连接),右键->属性->共享,设置如下:
然后发现你的TAP-colinux的IP被修改了:
这样这个IP相当于是colinux的网关,我们需要把linux的IP设置在该网段,才能共享windows的网卡实现上网,
具体配置IP的操作前面已讲过,这里就不重复了,最后我配置如下:
测试一下,能不能连接外部网络上网:
现在进入正题,实现colinux和windows的文件共享,要实现共享,需要在colinux下面安装 samba服务。
在colinux 命令行输入:
yum -y install samba 回车,会下载安装samba服务,期间还会下载安装一些依赖的包,
最后安装成功后如下。
把Linux系统账号添加到Sabma账户系统中(我加的root用户):
smbpasswd [option] <user>
其中:option为
-a : 新添加一个Sabma账号
-d : 禁用一个Samba账号
-e : 使被禁用的Samba账号解禁;
注意:user必须是Linux系统中的账号。
设置colinux的共享文件夹:
打开samba配置文件,
vi /etc/samba/smb.conf , 设置如下:
设置完重启服务:
测试服务是否可用,在windows下双击计算机图标在目录框输入colinux的IP地址,连接到linux,并显示出共享目录:
至此,我们即实现了在windows下共享linux的文件夹,但是每次都要这样输入IP访问很是麻烦,下面我们就来映射网络驱动器,
打开计算机,选择映射网络驱动器:
这样映射网络驱动器就完成,只要我们colinux处于开启状态,我们就可以像访问windows磁盘一样方便的访问linux下的这个
共享目录,给我们的开发带来很大的便捷,因为平时我们写代码都是使用windows下的编辑工具,而编译却要用到linux环境,
这样对于linux下的工程,我们可以在windows下进行编辑,修改完成后可以使用linux环境进行编译,这种通过映射网络驱动器
只是一种共享的方式,另外colinux还提供给我们一种文件挂载的方式,这个需要配置colinux的启动配置文件:
其中cofs0后面表示windows的目录名,我们还可以共享多个windows 下的目录给linux, 只需在colinux配置文件中继续写上:
cofsX=PATH
X写上序号数字,0以上的整数,PATH写上windows的目录的路径,然后保存配置文件,重启colinux.
然后在linux命令行输入:
mount -t cofs 0 /mnt/share
这样就把我C盘下的colinuxshare目录挂载到了linux下的/mnt/share目录,根据自己的需要进行配置就OK了,这就是实现共
的第二种方式。
测试一下linux开发环境是否可用:
1.首先装一下vim(linux下常用的文本编辑工具)和gcc(编译C/C++程序用的工具).
在linux命令行输入:
yum -y install vim gcc-c++
安装完成后,输入
gcc -v 查看一下gcc的相关信息如下:
然后我们编写一个小程序测试一下:
用vim创建并打开一个C++的源文件,编写如下代码,然后保存:
调用gcc 来编译程序,在命令行输入如下命令:
编译完后生成了一个可执行程序hello, 使用
readelf 命令查看一下它的相关信息:
输入如下命令运行看一下效果:
到此搭建环境大功告成,对于正在使用linux环境做开发的程序员,此文有一定的帮助和价值!