出于种种原因,最近感觉还是在自己机器上装个linux写程序靠谱些,毕竟总是VPN到公司内网速度也太慢了。
本文最终实现了:
1.在windows下用virtualbox安装了ubuntu7.04命令行版
2.ubuntu能够与主机(即windows)共享网络
3.在windows下可以直接ssh到ubuntu上
遗留问题(详见文末):
1.ubuntu与主机共享文件夹失败
2.rz/sz命令安装失败
先截图如下(putty中的截图):
OK,我们一步步来说:
一.VirtualBox安装
1.到http://www.virtualbox.org/wiki/Downloads下载windows版本
2.一路点击next,出现不兼容提示框,直接继续即可。
二.Ubuntu安装
1.选择安装命令行的版本,安装即可
2.设置root密码。ubuntu的root默认居然是不启用的,需要在启动的时候,按ESC进入recovery模式,会自动以root权限登录。然后执行passwd root即可修改密码。
在前两步做完之后,我们的linux就已经能够正常启动了,并ubuntu默认与主机共享了网络,测试如下:
ping vimer.cn
ifconfig
三.设置ssh登录(VirtualBox默认的终端页面也太丑了)
1.由于默认ubuntu是没有安装ssh server的,所以需要先以root执行:
apt-get install openssh-server
执行完后,看一下端口监听状况:
netstat -lpnt
2.关闭ubuntu,在windows下,将 C:\Program Files\Oracle\VirtualBox 加入到path中,并执行:
VBoxManage modifyvm "u82" --natpf1 "guestssh,tcp,,2222,,22"
vboxmanage 修改vm配置 虚拟机名(Ubuntu) nat_port_forwarding(第1个网卡) "端口转发名(guestssh),tcp,宿主机IP(略),宿主机端口2222,虚拟机IP(略),虚拟机端口22"
这里的u82是指我的虚拟机的名字,整条命令的意思是在windows是发往localhost:2222的命令,会转发给ubuntu的22端口(22是sshserver的端口)
在cmd中netstat –a 查看,其中的两条长连接是我的2个终端:
参考链接:
http://www.felix021.com/blog/read.php?1889
http://mydebian.blogdns.org/?p=148
3.重新启动ubuntu
4.在putty中做如下设置:
总体来说效果还是不错的,就是折腾了一下午有点浪费啊,特此记录~~
对于还没解决的两个问题,说明如下:
1.共享文件夹设置失败
这里第一次安装的时候,是提示no device错误,现在根本就加载不了光盘了,等以后再研究吧。
2.rz/sz命令安装失败
执行 apt-get install lrzsz 报错:
附设置共享文件夹的几篇文章:
http://www.javaeye.com/topic/325946
http://www.linuxidc.com/Linux/2009-01/18147.htm
http://www.linuxidc.com/Linux/2008-06/13582.htm
----------------------我是无奈的分割线---------------
后记:
又折腾了半天,rz/sz用apt-get update,apt-get upgrade还是安装不上。
cdrom为空的问题倒是找到了,需要先执行一下:mount /dev/cdrom
但是最终还是安装不上,所以最终也就放弃了。
考虑了一个折中的方法,就是用SVN来进行同步,具体点就是google code。
不过还是出了点问题,就是在svn ci的时候,svn 默认是用我的ubuntu的登录用户名去验证的,结果总是返回错误。后来发现用 svn ci ----username=realname 即可。
----------------欢快的分割线-----------------
后记2:
感觉用SVN来同步还是不靠谱,之前一直受限于VirtualBox共享文件夹的概念,总是在想怎么让ubuntu访问到windows的文件夹。但是忽略了一个问题,我们完全可以让windows去访问linux的文件夹!
由于网络是互通的,所以完全可行,其中一种方法就是samba。但是samba还是要再启动一个服务,太麻烦。再想一下,我们已经实现了ssh的功能,那么其实只需要一个支持可视化登录的终端的就可以啦:
winscp
OK,完全解决!截图如下: