本来以为cygwin可以和真正的Linux匹敌了,但是用了一段时间发现完全不是一回事,和我想象的差距太大了。于是想到了安装个虚拟机,因为在使用Ubuntu期间也一直使用虚拟机,就不自觉的想到了甲骨文的virtualbox,安装了个Ubuntu,安装这个是很easy的事,不过还是把步骤记录下来把,还真的指不定那天就突然忘记了,简单步骤。(virtualbox_4.3.14有一个bug会导致安装出错,请避免下载这个版本的软件)
1. 新建 -> 名称(任意不过建议使用Ubuntu_32这样的名字,见名知意),类型(Linux),版本(根据需求选,我是Ubuntu 32bit)
2. 内存分配,我之前也是默认使用512MB,不过使用后发现太卡了,然后给1GB,发现还是太卡了,给了个2GB感觉还可以接受(我电脑是8G的内存)。
3. 虚拟硬盘,如果你已经创建了就使用已有的,这样可以保留之前的东西,感觉这个很方便。没有就新建,不过建议不要放在C盘,因为这个是永久可用的,以后换电脑了直接把这个镜像拷贝下就好了。
4. 基本配置好了,开始安装把。点击你新建的系统 -> 设置 -> 存储选项卡,添加一个IDE磁盘,选择你的系统镜像。这个时候建议不配置网络,因为在安装Ubuntu的时候如果联网会下载更新包与语言包之类的软件,会很久。
5. 感觉系统的安装还是很容易的,说一下关键的地方把,一般是使用其他方式安装,然后配置根目录,交换分区,这个时候就可以安装了,不过建议把虚拟硬盘分为三个分区,一个做为root分区,一个做为swap分区,一个作为数据分区。结构应该是这样的/root swap /data(liuliang,一般这个分区我都会自己的名字),如果以后系统出现不可修复的大bug,那么你数据分区的数据还是保存了的,所以建立这样一个分区是有必要的,如果你的虚拟分区为30G,那么/root分区5GB左右就合适了,主要用于安装系统,swap分区2~4GB,剩下就是数据分区了。
6. 默认到这步已经安装完成了,安装系统应该是一件很轻松的事,现在到Xshell连接虚拟机了。
7. Xshell连接虚拟机的方法很简单,就是在虚拟机开启sshd服务。
//安装sshd服务
$ sudo apt-get install openssh-server
//开启服务
$ /etc/init.d/ssh start
//关闭服务
$ /etc/init.d/ssh stop
//重启服务
$ /etc/init.d/ssh restart
8. 连接虚拟机的方式有两种,1)虚拟机的网络和物理机的网络都连在一个路由上 2)网络采用NAT连接方式,使用端口映射的方式。
8.1 点击设置菜单 -> 网络选项卡 选择连接方式为(桥接方式),然后在Ubuntu下手动配置ip地址(不要使用DHCP分配,这样的分配方式应该不是路由器的DHCP分配的ip地址,具体是怎么分配的我也没有研究)。在确保以上设置都是正确的大前提下如果使用Xshell还是连接不上估计是防火墙的问题,把物理机的防火墙关掉就好了。
8.2 点击设置菜单 -> 网络选项卡 选择连接方式(网络地址转换NAT方式), 点击下方的端口转发,协议什么的都不要改,把虚拟机的22号端口映射到物理机的自定义一个端口就好了(0不使用,1~1023系统保留,只有root用户有权限使用,1024~4999由用户分配,5000~65535由服务器端分配,所以你定义的端口应该在1024~4999的范围内)。比如我的物理机的ip地址为192.168.2.3,虚拟机的ip地址为10.0.2.15(一般使用这种方式默认都是这个地址),配置应该是这样的。
为什么是22号端口呢,因为sshd的服务默认使用的就是22号端口,当然这个端口是可以修改的,为什么是TCP协议呢,也可以修改为UDP协议,因为sshd使用的协议就是TCP/UDP协议,是不是感觉和没说一样。
具体的可以参考
/etc/services
这个文件记录了默认情况下系统内网络服务名和它们对应使用的端口号及协议,please don‘t edit it!
9. 修改sshd服务的端口号,默认情况下都是使用22端口,而且默认情况下sshd服务是开启的,这个是很危险的,很容易受到入侵(当然我是不懂的),所以需要修改它,Linux的配置文件一般名字类型都是xx_config、xx.config、xx-config、xx-xx-xxconfig这样的形式,所以进入ssd文件夹找到这样类型的文件就对了,如果有多个就看名字。在这里是一下这个名字,进去你就能够轻易看懂了,没什么好说了。
/etc/ssh/sshd_config