在FreeBSD下使用Linux模拟层运行linux软件
作者 佚名技术
来源 操作系统
浏览
发布时间 2012-06-28
我是比较认同BSD的协议以及FreeBSD负责任的开发团队模式,从而喜欢上FB的。当然,OpenBSD也很好,不过,出于性能和中文支持方面的考虑,FB更适合做桌面。 但一个不争的事实是,由于有众多商业公司的支持,Linux下的应 用软件现状要比FreeBSD下乐观的多。维护一个小众操作系统上的软件,是从商业上不值得的事情,因此,比如Realplay,Acroread之类 的,就没有FB的直接支持,当然,开源软件的话,有了万能的ports系统和勤奋的程序员,linux用户和FB用户并无多大区别。 为了能让FreeBSD的用户更好的使用系统,FB在内核里加入了一个Linux的模拟层。注意,这个不是传统意义上的模拟器,只是提供了一个Linux 的程序接口,使得在FB里通过设置,可以使用一些和内核关系不是非常密切的Linux程序(太密切的如虚拟机之类的,就不行了) 好了,要启动FB对linux的支持,使用命令 #kldload linux.ko 来加载linux的模块,注意,这需要root权限。如果你需要开机就加载这个模块的话,修改/etc/rc.conf,添加 linux_enable=”YES” 一行(推荐),或者修改/boot/loader.conf文件,添加这行: linux_load=”YES” 不过,要真正执行Linux程序的话,需要给这些程序配置相应的库。在默认情况下,FB使用的是Fedora Core 4的模拟支持,为此,我们使用ports系统安装这个环境: #cd /usr/ports/emulators/linux_base-fc4 && make install clean 当然,如果直接安装ports里面的软件,比如,因为我喜欢的opera目前还不支持FB的amd64版本,所以我只好选择使用linux的,那么我就 #cd /usr/ports/www/linux-opera && make install clean 这样会根据依赖关系,自动安装上linux_base-fc4的。 好吧,Linux发展很快,Linux上面的应用软件发展也很快。比如,现在很多的软件至少需要Linux 2.6以上版本的内核支持。而默认FB模拟层是2.4.2版本的,为此我们需要对这个模拟层进行一些配置 要让FB支持对Linux 2.6以上版本内核的模拟,首先要确认你的FB版本必须在7.0以上,6系列是不支持的。 #sysctl compat.linux.osrelease=2.6.16 #(模拟Linux的内核为2.6.16) 修改/etc/make.conf文件,加入: OVERRIDE_LINUX_BASE_PORT=fc6 修改/etc/sysctl.conf文件,加入: compat.linux.osrelease=2.6.16 使得下次开机的时候能自动设置模拟的Linux的内核版本 当然,这个也是必要的,和Linux 2.6内核配套的环境: #cd /usr/ports/emulators/linux_base-fc6 && make install clean 好了,无论是哪个内核版本,Linux环境都搭建好了,为了能正确使用Linux程序,需要模拟一个Linux的进程文件,修改/etc/fstab文件,加入: linproc /compat/linux/proc linprocfs rw 0 0 使/etc/fstab生效: #mount -a 现在,你就可以试试Linux的程序啦,什么Realplay啦,Thunderbird,Firefox(因为一些扩展和插件只支持Linux版本,如chm阅读) FB也支持rpm直接安装,不过,依赖关系可要自己好好把握了。能依赖ports系统的,还是尽量用ports吧。 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
上一篇: 让FreeBSD支持jsp下一篇: solaris,我服了
关于在FreeBSD下使用Linux模拟层运行linux软件的所有评论