由于国庆也没有安排出去玩,所以就全宅在家里研究Linux了,就当是赶时髦吧。入门还谈不上,许多基本概念都还没了解清楚,不过各种各样的问题也解决了不少了。这里就记录一下VirtualBox安装里的一些注意事项
1.版本
首先要搞清楚直接从源里安装的是OSE(Open Source Edition)版本的,而从Sun VirtualBox的网站 上则可以下载到PUEL版本。区别在什么地方?PUEL(Personal Use and Evaluation License)不开源,但个人使用仍然免费,而且功能更强大,主要多支持一些特性:USB,RDP,USB over RDP。更详细区别参见这里 。这些功能其实挺实用的,建议一定要用这个版本。
2.重新编译内核
不要被这个话题吓到了。其实我对重新编译内核一窍不通,但是其实人家都已经给你准备好足够的脚本了,只要你能按照提示去操作就没有多大困难。
如果你的Fedora更新到了最新内核,那在安装的时候几乎一定会出这个问题的。照官方说法,内核改变之后一些地址会改变,如果不重新编译VirtualBox的某个模块则很容易造成错误。所以在重新编译内核之前会遇到
kernel driver not installed
这样的错误,并且会提示你用
/etc/init.d/vboxdrv setup
来安装kernel driver(注意先用su提升权限)。这个操作会自动触发重新编译内核的操作,但是前提是你要先安装DKMS,大概是一个内核版本跟踪和帮助重新编译的工具包吧,可以直接在源里找到和安装。另外Fedora默认是没有安装GCC的,要编译还得先去下载个GCC。在源里可以找到,也可以用
sudo yum install gcc
3.启用USB支持
我把OSE版本卸载掉费了这么大劲才装上PUEL,当发现PUEL里的USB支持还是灰的的时候,一下子心都凉了。玩我的吧?开始一直以为是我自己不会用,后来查了不少资料后发现其实是VirtualBox的一个Bug,奇怪的是,我用尽了找到的各种办法,无论是修改配置文件,还是修改规则,通通不管用。最后无意中却在VirtualBox的Bug跟踪系统中找到答案,这就是为什么我这个点还没睡的原因:
sudo umount /proc/bus/usb/
之后再运行VirtualBox就万事大吉了。更具体的解释可以参考这里 。原因大概是Linux升级过程中对USB访问方式的一个改动造成的问题。
终于可以踏踏实实地睡个好觉了!