洗礼灵魂,修炼python(74)--全栈项目实战篇(2)——前期准备之详解虚拟机下安装ubuntu,基本配置,远程访问
如果上一篇我转发的关于ubuntu的博文,你看完觉得还没准备好,那么,本篇从最基础的开始,安装虚拟机到正常使用ubuntu
虚拟机
1.什么是虚拟机
虚拟机(Virtual Machine)指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。
通俗的说,我们平常看得见摸得着用得了的电脑就是物理机,与物理机相对的就是虚拟机,虚拟机本质上还是一个软件,它的功能是将物理机里的硬件资源虚拟化给虚拟出来的计算机使用(如果还是看不太懂,没事,后期使用惯了你就自然而然的会了)
2.有哪些虚拟机
主流的三个:
- VMware(功能强大,收费软件)
- virtualbox(常用功能基本都有,开源软件)
- Microsoft Virtual PC(微软旗下的产品)
当然还有其他虚拟机软件,并且VMware旗下还有个轻巧版VMplayer等等的
不过用得最多的还是VMware,本章节使用VMware(安装包自行查找,网上一堆)
3.安装虚拟机
1)安装虚拟机前提得安装好虚拟机软件(一路下一步就行,最多就选择一下安装路径,其他没什么需要改动的)
2)网上找Ubuntu的安装包下载镜像,地址:
注意:建议选择Ubuntu 16.04 LTS版
17版亲测在虚拟机下安装有问题,外国论坛给的解决办法是升级电脑BIOS,这就没必要了,就为了装个虚拟机,真没必要了。当然如果你的电脑配置够新,可以安装17版试试
中文网址:http://cn.ubuntu.com/download/
官网地址:https://www.ubuntu.com/download/desktop
打开网站,点击Download:
然后出现这个界面:
把这些全部选择为0,下面就出现了下载选项,点击download等待一会儿,出现下载窗口下载
3)在虚拟机软件下开始安装ubuntu:
打开虚拟机软件,点击创建虚拟机:
然后出现这个,两个选项都可以,我喜欢选自定义,然后下一步:
兼容性没什么可说的,继续下一步:
到这里,建议选择稍后安装:
然后待创建的虚拟机类型和位数:
注意:
如果你选择的64位系统,需要在真机电脑的BIOS上开启VT(虚拟化支持),相关的开启方法在这:https://jingyan.baidu.com/article/a24b33cd00efc719ff002b63.html
但是部分电脑不支持VT,所以如果在后续步骤出现问题,请重头再来,改成32位操作系统
继续,设置一个虚拟机的名称和虚拟机存放在本机的位置,然后下一步就行
这里直接默认,然后下一步:
选择内存,一般1G就够了:
然后网络类型,前面说过网络类型了,我这里使用的NAT:
选择I/O类型,默认设置,下一步:
虚拟磁盘类型默认设置,下一步:
创建磁盘,默认设置,下一步:
磁盘空间,一般10G就够了,然后磁盘单个还是多个随意,下面的官方解释也说得很明白了,下一步:
直接下一步:
点完成:
这样就简单的设置好虚拟机配置了:
然后,右键虚拟机-设置(或者也可以直接点CD):
选到CD,选择镜像文件:
选择浏览:
把你刚才下载的Ubuntu的镜像文件选中,然后点打开,记得点确定
这样就把虚拟机基本设置好,点开启此虚拟机
静等几分钟之后,出现这个界面,下拉滚动条,把语言切换成中文,当然看得懂英文直接用英文吧
点安装
这里要注意,其实此时虚拟机已经是联网状态,你可以在虚拟机设置里把网卡禁用了或者点右上角的,把网络断开,然后一定选择下面的【为图形或无线硬件,以及MP3……】
断开网络:
然后再点继续,不然的话,在安装时一直在更新,到时更新半天,慢慢等吧
注意此时是断网状态,其他默认设置,然后点【现在安装】就行
默认设置,点继续:
时区选上海(如果你要问为什么没有北京,姑且留住,以后慢慢说),点继续:
默认设置,直接点继续:
输入名字和密码,不用多说,密码自己记住,点继续:
然后就是漫长的等待:
不知等了多久,然后发现,安装完成,出现个类似windows的cmd下的界面然后迟迟不进入系统,建议重启一次虚拟机就行
然后输入密码,正常进入系统:
此时建议保存一次虚拟机快照,用于保存最初的状态,方便后期系统出现故障时可以恢复此快照
远程访问
注意,要能远程连接虚拟机,必须有三个前提:
- 虚拟机和真机可以互相ping通
- 虚拟机开启ssh服务
- 远程软件
如果你是使用的NAT或者桥接模式,基本上就可以搞定(其实仅主机模式虚拟机和真机也可以互通,但是为了后期项目开发需要,还是建议虚拟机设置能够连网的模式)
我这使用的是NAT模式,测试网络状态,打开火狐浏览器,打开百度网站:
发现是可以上网的。
然后下载一个远程软件,用于远程连接电脑,一般的远程软件有:
- putty
- xshell
- SecureCRT
- vnc
- ……
上面的三种都只是命令行式的远程软件,VNC支持图形界面化的远程连接,这里我使用Xshell(安装包网上一大堆)
在真机上安装好xshell后,在真机上打开xshell(注意我强调的词汇,“在真机”),出现一个界面,选择新建:
在出现的新窗口,设置名称方便后期选择,输入主机地址,此时的主机地址就是虚拟机的IP地址
怎么办呢?不知道真机地址啊,查看命令是什么呢?在linux下,查看ip地址的统一命令都是ifconfig(注意和windows下的ipconfig区分)
在虚拟机里鼠标右键,选择打开终端
图中标记出来的就是虚拟机的ip地址
然后查看真机的ip,我用的是无线网
然后你会发现,无论真机ping虚拟机,还是虚拟机ping真机的ip,都ping不通,这咋回事?
这事因为虚拟机的ip默认是自动获取的,虽然真机和虚拟机都可以访问网络,但是网关不统一,所以不能互通,需要虚拟机里手动设置网关就行,因为我选择的是NAT模式,说白了,NAT模式就是在真机里虚拟出一张虚拟网卡,这张虚拟网卡为虚拟机使用,那么这张虚拟网卡的ip其实就是虚拟机下的网关(这个不太理解的话不急,后期使用惯了,你会慢慢懂得)
那么怎么查看虚拟网卡的ip呢?
有两个方法,打开真机的网络适配器设置:
此时的无线网络连接就是我真机的无线网卡,VMnet8就是NAT模式下的虚拟网卡,VMnet1就是桥接模式下的虚拟网卡,其他的网卡不用管了,在这里没有讨论意义
右键VMnet8,查看ip地址就是它了
或者在cmd下使用刚才的命令ipconnfig ,找到VMnet8,里面的ip就是了
在虚拟机软件里也可以查看,编辑-虚拟网络编辑器
在弹出的窗口选中NAT模式,然后点击NAT设置:
得到NAT模式的网关是192.168.178.2
然后为虚拟机手动设置网络参数:
1)点击右上角的网络图标,选择编辑连接:
2)选择有线网络-编辑:
选择IPV4设置:
选择增加,设置ip,就直接用刚才自动获取的ip 192.168.178.3就行,把刚才得到的网关地址设置进去,设置dns地址和网关相同,然后保存:
等待一会儿,现在再用ping命令真机和虚拟机之间互ping的话,就可以ping通了:
(linux里ping命令不是自动停止,按ctrl+c则可以中断操作)
然后现在开始事实xshell连接了,然后你会发现,还是不能远程连接,这是因为ssh服务的问题,然后ubuntu默认不自带ssh服务,需要安装,使用apt-get install ssh 安装,然后你又发现,安装不了,提示权限不够:
(这里我已经安装过了,所以出现的提示不太一样,但是权限不够是一样的),那么就需要管理员运行,在命令前加一个sudo ,表示使用管理员帐户运行,sudo apt-get install ssh,但是还是提示无法安装,因为安装源的问题,所以这里你要重新设置一个安装源,去网上找一个国内的安装源:
安装源:
deb http://mirrors.aliyun.com/ubuntu/ xenial main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse
##测试版源
deb http://mirrors.aliyun.com/ubuntu/ xenial-proposed main restricted universe multiverse
# 源码
deb-src http://mirrors.aliyun.com/ubuntu/ xenial main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse
##测试版源
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-proposed main restricted universe multiverse
# Canonical 合作伙伴和附加
deb http://archive.canonical.com/ubuntu/ xenial partner
deb http://extras.ubuntu.com/ubuntu/ xenial main
我使用的第一个,阿里云的,感觉还不错,先复制地址,整个一行都要,然后点击右上角的齿轮图标,打开系统设置:
选择系统设置:
点击软件和更新:
再打开界面选择其他软件:
选择添加:
在输入框里,把你刚才复制的一整行安装源连接放进去:
(注意,系统已经提示你从deb 开始,光有一个链接是不行的,所以我刚才用的词语是“一整行安装源地址”)
输入后,点击添加源,然后会出现提示正在更新软件的窗口,等待几分钟后就搞定了
设置好安装源后,再使用 sudo apt-get install ssh命令安装就行了,中途如果提示输入[y/n]的,输入y,然后回车就行,然后建议重启下虚拟机
重启完后,再打开xshell,把主机地址添加进去,点连接,提示输入用户名,输入你刚才为虚拟机创建的安格帐户名,建议你可以勾选记住用户名,然后点连接:
输入刚才的帐户名的密码,点确定,等待一分钟左右即可
当出现这个,则表示已连接成功
然后你就可以做各种终端操作了,其实在这同时,虚拟机的基本设置也设置好了
以上操作我都尽量的避免用命令行操作,其实如果用命令行的话三两下就搞定的,但是怕你们从windows切换到ubuntu有很多不适,所以尽量的避免用命令行
linux简介
1.什么是linux
其实前面【网络互联技术】分类中的操作系统发展史里说过,Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。
linux本质上只是一个内核源码,每个人都有权利拿到源码然后进行各种修改,并把它做成一个全新的系统。就相当于一个裸体的人,他可以穿成各种各样的衣服,变换着样子,但是他的身体是永远不会变的。
通常的,把所有实用linux内核的系统都统称为linux
2.什么是开源
开源即开放源代码,即一个软件,它的源码是公开的,每个人都可以拿到这套源码,根据自己的需要编译为一个软件。与开源相反的就是闭源,比如Windows系统即使闭源,你是不可能看到它的源码的(不过前端时间看新闻外国一个论坛里有人把win7和win8的源码发出来了,不过很快就被和谐了),如果是闭源的话,其所属公司有所有权的,涉及到官司法律的问题的。而开源就不存在这些,随便你搞,但是别人开源,你也得开源,你也必须遵守开源规则,当然你可以把主要的代码公开,细节代码不公开
3.linux有多少
linux有上千多种,有最大的redhat(红帽)以及其分支centos,有debian,有fedora,也有ubuntu,ubuntu也有很多衍生品,有Xubuntu,还有其他各种版本,还有中国特别版优麒麟,国内以前的雨林木风和深度也去做linux了,分别是startos和deepin os,还有移动端的Remix OS,还有可以运行一些windows环境下的软件的zorin OS等等等等,但是为什么我们要选择Ubuntu呢?这是一个趋势,并且在图形界面化中的linux中,只有ubuntu是做得相对更好的。还有,别把linux看得那么陌生,你的手机安卓系统就是用ubuntu改的
4.在开发中选择windows还是linux
这个话题其实一直都有,一直都有人讨论,借一句开发大佬的话,如果你在开发中使用windows,就如同绑着手,带着脚链,穿着厚重的盔甲跳舞(原话已经背不出来了,大概是这么个意思),所以在开发中,选择linux是必要的,但是有时候不得不承认,windows就是更方便,linux就是没那么方便,但是真正爱linux的人爱到爱不释手,有的甚至把自己的真机换成linux,而用不惯linux的人也对它恨得死去活来,这个阶段都要度过的,习惯用linux了就行了,在以后的开发中,linux是重中之重