在MAC OS X下用VMware安装Ubuntu
前面写的是废话:最近用C++写数据库系统,内存泄露很严重,想要安装内存检测工具valgrind,但是这东西对我的MACOSX10.6不太支持,加上一些另外的原因,我决定在MAC下安个Ubuntu。。。。什么,问我安Valgrind的流程?我刚安好Ubuntu,Valgrind还没搞定呢,跟我在mac下安装的问题一样。。。一会在说吧:P(后续:Valgrind安装流程在本文最后)
在MACOSX下用VMware安装Ubuntu流程:
1.下载安装VmwareFusion。上官网下载也行,我从太平洋上下的http://dl.pconline.com.cn/download/61935.html,然后又在百度知道上搜了3.0的序列号:YU2NJ-JVGKY-44N8R-H8Q5Y-0PGE3
安装很简单,一步步来就行了。
2.然后上Ubuntu官网下载ubuntu-10.10-desktop-i386.isohttp://www.ubuntu.com/desktop/get-ubuntu/download。下载完是个.iso镜像文件。由于mac系统默认就是使用镜像文件作为安装程序的,所以相比windows下可以省去虚拟光驱的一个步骤~
3.然后就是打开安装好的VMware,首页->在新虚拟机中安装Windows或其他操作系统->不使用光盘继续->使用操作系统安装光盘镜像文件,然后在文件对话框里选择你刚才下载好的Ubuntu系统ISO文件,最后输入密码和选择读写方式然后继续,点击完成就自动开始安装。
4.下面稍微提一下Ubuntu系统的使用。
1)命令行窗口在左上角Applications->Accessories->Terminal。安装一些自带的程序,如Java或C++的编译器时非常方便,直接输入javac,会自动提示你可供安装的包的名字和完整命令行的写法,照着写就能自动下载安装。C++的话,好像要安装g++,gcc,yacc,lex。
2)因为是Linux嘛,有些安装需要有root权限。进入root权限的命令是suroot,修改初始密码的命令是sudopasswdroot。
3)文件交流。安装完Ubuntu,从虚拟意义上它就是和MAC分开的两个系统。共享他们之间的文件有很多方式,大多需要网络或局域网络。我这里说一个最简单的不需要网络的方法:U盘。呵呵,你插入U盘时系统会问你要连接到MAC还是Linux,你就当连两个不同的机器就好了,拷贝粘贴吧~反正我觉得文件不大时一点也不麻烦,双系统的话用U盘就需要来回重启比较烦人,这个是虚拟的不需要重启。
PS:我觉得Ubuntu还蛮好用的~至今用过最好用的Linux~
Valgrind安装流程
1.继续上官网http://valgrind.org/downloads/current.html,下完了解压。
2.用命令行进入到解压完的文件夹下,然后输入./configure命令,再然后是make命令,makecheck命令,最后是makeinstall命令。如果makeinstall不能用,尤其是认真看出错的输出是文件夹建立失败,应该是你没有root权限。输入suroot登陆权限,然后再次输入makeinstall就好了~
3.完毕~
4.另外,如果用Valgrind运行程序时出现如下错误:
valgrind:Fatalerroratstartup:afunctionredirection
valgrind:whichismandatoryforthisplatform-toolcombination
valgrind:cannotbesetup.Detailsoftheredirectionare:
valgrind:
valgrind:Amust-be-redirectedfunction
valgrind:whosenamematchesthepattern:index
valgrind:inanobjectwithsonamematching:ld-linux.so.2
valgrind:wasnotfoundwhilstprocessing
valgrind:symbolsfromtheobjectwithsoname:ld-linux.so.2
就安装一下Ubuntu的ibc6-dbg包就解决了,在命令行里执行sudoapt-getinstalllibc6-dbg
这个错误是因为为了避免该工具出错,执行时会调用strlen检查,所以一开始不能找到这个函数的话,valgrind就拒绝继续执行。