大型电商网站开发,wordpress注册关键词,成都网站定制,想换掉做网站的公司首先#xff0c;下载VMware17 Pro workstation。为什么要下载VMware17 Pro workstation呢#xff1f;因为计算机系统基础实验有四个大部分#xff1a;利用位运算实现诸如a*b#xff0c;a/b#xff0c;a*(2^4)等运算#xff1b;C语言循环语句、switch语句等语句与汇编代码…首先下载VMware17 Pro workstation。为什么要下载VMware17 Pro workstation呢因为计算机系统基础实验有四个大部分利用位运算实现诸如a*ba/ba*(2^4)等运算C语言循环语句、switch语句等语句与汇编代码之间的对应关系函数栈帧与缓冲区溢出等C程序的链接、重定位。学习这四个大部分所需要的相关工具比如objdump, readelf, gdb等工具都在Linux系统上得到了更好的支持而Windows系统虽然也支持但是操作会很繁琐将注意力都从实验内容本身给分散到了系统配置上不利于实验的进行所以Linux系统被选定为开展实验所用的操作系统。但是笔记本上一般默认只有Windows操作系统如果新引入Linux系统与Windows系统一起存在于笔记本上做成双系统的话这其中的步骤将会更加复杂所以我们不采用双系统而是采用虚拟机平台VMware17 workstation。你不需要知道这个虚拟机平台是干什么用的你只需要知道利用这个虚拟机平台你能够创建一个虚拟机并选择Linux操作系统作为这台虚拟机的操作系统这样子就能够为学习计算机系统基础实验四个大部分所需要的相关工具提供支持。另外不仅是在大一做计算机系统基础实验时会使用到VMware17 Pro workstation。在大二上的计算机网络实验、大二下的数据库原理与安全实验、大二下的网络安全攻防实战、大三上的网络网络空间实战攻防能力训练等等等以及备考红帽认证工程师RHCE时备考用的Linux实验环境都涉及到了VMware17 Pro workstation这款虚拟机平台所以下载VMware17 Pro workstation并不是只在计算机系统基础实验这门课上使用一时而是将会长期一直使用基本上伴随大学四年甚至伴随着进入职场备考相关IT证书。综上所述需要下载VMware17 Pro workstation。
在一步一步安装VMware17Pro workstation时一定会经过图1安装步骤中令人比较纠结的两个选项步骤的页面并且VMware workstation安装程序只默认勾选了第二行Add VMware Workstation console tools into system PATH将VMware Workstation控制台工具添加到系统路径里面去。勾选了这一行以后使得能够在cmd或者Powershell这两种Windows自带的命令行工具中直接输入VMware Workstation相关的命令Windows系统便会自动在系统路径中寻找VMware Workstation相关的命令所在的位置这些命令本质上都是以.exe结尾的可执行文件诸如a.exe, b.exe, c.exe并且执行这些命令。如果没有将VMware Workstation控制台工具添加到系统路径里面去那么如果想在cmd或者Powershell等命令行工具中输入VMware Workstation相关的命令并执行的话就必须在cmd或者Powershell中先使用cd命令进入到这些命令可执行文件所在的目录中使得cmd或者Powershell的当前工作目录就是这些命令可执行文件所在的目录才能够成功执行。否则当系统默认先去系统路径中寻找VMware Workstation相关命令所在目录时会找不到进而报错。但是考虑到通过cmd或Powershell等命令行工具对VMware Workstation平台进行管理这种方法一般用于互联网服务器运维学习、大规模虚拟机管理学习中很少应用于管理单台虚拟机所以我们可以忽视这一点。但考虑到老师给的PPT中的要求是勾选这一条所以我们不去做任何操作把它留在那儿就可以。如果日后想学习大规模服务器运维可以尝试去VMware Workstaiton的官网下载到相关的官方文档一定要看英文因为英文下的逻辑相较于中文下的逻辑会更加清晰别怕英文没那么难读学习如何使用VMware Workstation console tools。
第一行是Enhanced Keyboard Driver (a reboot will be required to use this feature) This feature requires 10MB on your host drive.增强后的键盘驱动需要重启笔记本之后才可以使得这个功能生效这个功能需要笔记本驱动器上需要有10MB的空间。这一点是什么意思呢我们来慢慢看。首先因为键盘是一个硬件设备对应着冯诺依曼架构中的输入输出设备而基本上键盘等硬件设备都需要编写相应的驱动程序这样子Windows或者Linux操作系统才能够知道该如何使用这个硬件设备。就像插入一块U盘需要将U盘的驱动程序加载到内存中才能让Windows或者Linux操作系统使用这块U盘向U盘中存储文件或者从U盘中读取文件。插入USB线并且连接到手机上也需要将相应的驱动程序加载到内存中才能让Windows操作系统控制手机执行传输文件、清理手机存储等任务。同样的只有将控制键盘所需的驱动程序加载到内存中才可以让Windows操作系统接收到来自键盘的输入。但是因为键盘是捆死在笔记本上的不像U盘、USB线一样可以随意插拔所以控制键盘所需的驱动程序被直接嵌入到了操作系统的代码中去。注意操作系统的本质和驱动程序一样就是一些代码。当按下电源键时笔记本内部的驱动器硬件在硬盘中拷贝一份操作系统的代码将其粘贴到内存中去并且一直占用着这一小块儿内存直到按下电源键关闭笔记本。你可以打开任务管理器查看内存使用情况有些内存就是被操作系统代码占用了。因为这一行会修改键盘的驱动程序而键盘的驱动程序被内嵌到了操作系统代码中所以换言之要修改操作系统的代码。而出于安全考虑在Windows操作系统还在运行中时就去修改已经被加载到内存中的Windows操作系统的代码是不被允许的只能够修改硬盘中的Windows操作系统代码。而我们能感受的Windows操作系统的功能、界面等都是由被加载到内存中的操作系统代码决定的所以修改硬盘中的操作系统代码根本不会对我们能感受的Windows操作系统的功能、界面等产生任何影响。所以说只有重启笔记本之后才可以使得这个功能生效。另外它需要笔记本驱动器硬件需要有10MB的空间而这10MB的内容就是VMware workstation团队为Windows操作系统中控制键盘的驱动程序新添加的代码。通过查阅VMware workstation产品的相关资料了解到这个功能的主要作用有两点1. 保证中国、德国、英国、日本、荷兰、美国等各个国家生产的键盘都能够很好的适配VMware workstation产品2. 保证在VMware workstation平台上的虚拟机内即使不知道此时键盘输入会影响Windows操作系统还是虚拟机内的操作系统按下对于Windows操作系统是致命的某些快捷键时比如早期Windows操作系统的CtrlAltDelete键早期同时按下这三个键Windows系统会直接重新启动而这是致命的也不会重启Windows系统。考虑到中国的键盘已经能够很好的适配VMware workstation产品以及现在新版本的Windows操作系统在接收到键盘的CtrlAltDelete键时并不会即刻重启而是会先询问选择哪个操作。所以这个功能也是可以被忽略掉但老师给的PPT要求勾选它所以我们勾选它。如果日后想学习Windows操作系统以及Linux操作系统下的快捷键组合时可以尝试学习了解“增强后的键盘驱动程序”这个功能。
而VMware workstation被默认安装在了C盘下的Program Files(x86)目录中而Program File(x86)目录是用于存储在 Windows 操作系统中安装的 32 位应用程序的文件夹。所以我们知道VMware workstation这个程序是一个32位的程序。注意不要改变VMware workstation的默认安装目录因为日后如果做实验出现错误去询问其他人时大家看到你VMware workstation的安装目录不会时一般的做法都是让你重新安装VMware workstation即使出现的错误跟VMware workstation的安装目录没有任何关系。所以除非你自己有把握能够独立查资料排错否则不要更改安装目录。 ************************************************************************************************************** 图1安装步骤中令人比较纠结的两个选项
************************************************************************************************************** 在这个安装步骤中我们将页面调成图2老师给的PPT要求两个选项都要勾选所示的样子接着点击Next进入下一步。 ************************************************************************************************************** 图2老师给的PPT要求两个选项都要勾选
************************************************************************************************************** 图3安装步骤中第二个必将经历的令人头大的选择 第一行在系统启动时检查产品更新。这一点可有可无但考虑到更新的VMware workstation产品可能会补上一些旧版VMware workstation中的漏洞所以我们还是勾选它。第二行加入VMware客户体验提升计划。这一点对于实际做实验的影响并不大并没有强制选与不选的要求。但是VMware安装程序默认会勾选它所以选择不去动它。确保页面是图3安装步骤中第二个必将经历的令人头大的选择所示的样子点击Next进入下一步。 ************************************************************************************************************** 图3安装步骤中第二个必将经历的令人头大的选择
************************************************************************************************************** 中间还有一些省略掉的步骤而这些步骤被省略的原因是因为无论勾选不勾选它都不会对实验的完成产生任何影响。在下载完成VMware workstation之后遇到图4重启计算机以使得对VMware workstation配置的改变生效。我们将笔记本上的Edge浏览器、QQ、微信关掉然后点击Yes重新启动计算机。 ************************************************************************************************************** 图4重启计算机以使得对VMware workstation配置的改变生效 ************************************************************************************************************** 至此VMware workstation的下载与安装与配置完成但由于VMware workstation Pro默认是需要购买拿到许可证之后才能够使用如果没有许可证则只能够使用阉割版的VMware Player。我们要么在Windows操作系统下方的“搜索”栏中输入“Vmware workstation Pro”要么在桌面双击“Vmware workstation Pro”快捷方式进入VMware workstation。输入许可证“JU090-6039P-08409-8J0QH-2YR7F”有白嫖的嫌疑进入到VMware workstation页面。至此VMware workstation Pro便能够使用了。如图5VMware workstation页面概览所示已经存在的RHCE90虚拟机是作者备考红帽认证工程师RHCE所需要做练习的练习环境与该计算机系统基础实验关系不大所以可以忽略掉。 ************************************************************************************************************** 图5VMware workstation页面概览 ************************************************************************************************************** 接着导入虚拟机。不过在导入虚拟机之前先来认识它的文件。我们进入到老师给的PPT指定的网址中下载Linux操作系统发行版之一的Ubuntu。并将其解压到某位置如图6导入的虚拟机所在的目录所示。另外图6中有3个文件。第一个以.mf作为后缀的文件它用于列出 ovf 文件中ovf文件自己以及ovf文件引用的所有文件并记录了每个文件的哈希值如图7Ubuntu20.04(From_heshi_2023_11_24).mf的内容所示SHA256能够读取任意长度的输出并且输入固定长度的输出而不同输入对应的输出相同的概率极低所以可以认为只有完完全全一模一样的输出才能够产生相同的输出。利用这一特性就能够判断文件在传输时是否产生了差错以及文件是否被坏人修改而固定长度的输出如104cd9ab9a4cab42a51b8b2aac6cd18f0f6857583463f69b14c9c378666b1f9fa5db330f91f51d52c4cc5ca9870d824d37b5e0dfb6fe5947abcd47d51ef1e14b就叫做哈希值。而列出的两个文件Ubuntu20.04(From_heshi_2023_11_24).ovfUbuntu20.04(From_heshi_2023_11_24)-disk1.vmdk即为ovf文件自己以及ovf文件引用的所有文件只不过在这里ovf文件只引用了一个文件。第二个文件是以.ovf结尾的文件它是 Open Virtualization Format (开放虚拟化格式) 文件是一个文本文件用于描述虚拟机配置包括 CPU、内存、网络适配器等硬件设置和操作系统信息并且用xml语言编写如图8Ubuntu20.04(From_heshi_2023_11_24).ovf的内容所示而这份文件中具体的信息不需要我们去了解。第三个文件是以.vmdk结尾的一份大文件它就是 VMware 虚拟机磁盘格式文件包含了安装在虚拟机上的操作系统和应用程序的所有数据。换言之它拷贝了原来虚拟机硬盘里面的操作系统代码、老师额外配置的应用程序的代码以及老师用来存放东西的文件、文件夹等数据。 ************************************************************************************************************** 图6导入的虚拟机所在的目录
************************************************************************************************************** ************************************************************************************************************** 图7Ubuntu20.04(From_heshi_2023_11_24).mf的内容
************************************************************************************************************** ************************************************************************************************************** 图8Ubuntu20.04(From_heshi_2023_11_24).ovf的内容
************************************************************************************************************** 接着开始正式导入虚拟机。设置导入的虚拟机的名称为Ubuntu其实无论虚拟机设置为什么名字都不会有任何影响。接着设置虚拟机的存储路径。为什么老师给的PPT推荐是D盘呢其实PPT推荐说放在D盘是一个不好的表述。因为笔记本默认只有一块名为C盘的大小为512G的硬盘除非后面自己参考资料从C盘中拿走一部分空间为其命名为D盘否则D盘在初始时根本不存在虽然C盘、D盘看着有两张盘字面意义上看也应该有两块硬盘但事实上笔记本上永远只有一块硬盘所谓C盘、D盘只不过是为了便于管理而已。而推荐D盘的原因在现在针对笔记本电脑的情况下更多是因为VMware默认给出的存储路径比较深不方便后续自己感兴趣研究虚拟机文件情况时找这些文件而已。其实这个存储路径修不修改都无所谓。当出现图9VMware workstation针对“Ubuntu”虚拟机的配置页面时证明导入虚拟机已经成功。 ************************************************************************************************************** 图9VMware workstation针对“Ubuntu”虚拟机的配置页面
************************************************************************************************************** 成功导入虚拟机之后先不要急着打开而是先了解它的配置信息。在“Devices”下“Memory”为4GB表示该虚拟机的内存大小为4GB因为该虚拟机开启了图形化界面而图形化界面是由gnome软件包支持的并且需要在虚拟机开启时一直耗费一定的内存资源所以将内存修改到了4GB而如果使用systemctl set-default multi-user.target命令将开机默认的界面设置为命令行界面那么因为不需要加载相应的图形所以对内存的需求不会这么高所以将内存只修改为2GB就可以。像备考RHCE时其中一款工具ansible如果想充分使用ansible的功能就需要同时开启至少三台虚拟机一台作控制机两台作被控制机而ansible不需要图形化界面所以我们在创建这三台虚拟机时都将内存调整到了2GB。“Processors”为2表示有2个处理器一般来说1个处理器对应2GB内存时处理器和内存都得到了最充分的使用。而这里是4GB内存所以将处理器数量设置为2。“Hard Disk(SCSI)”为20GB表示虚拟机的硬盘的大小为20GB(SCSI)表示硬盘的种类是SCSI早期的硬盘一般有三种SATA, SCSI, SAS。在这里不需要纠结为什么是SCSI而不是SATA或者SAS。CD/DVD(SATA)为Using unknown backend表示没有CD\DVD被该虚拟机使用。事实上除非使用.iso文件创建虚拟机否则我们根本不会使用到它所以也可以忽略掉它。Network Adapter为NAT表示该虚拟机能够上网、浏览百度等。注意在扎实掌握计算机网络基础知识以及懂得基本实践操作之前千万千万不要试图修改网络相关的配置因为这部分知识比较复杂而且容易搞混并且过程很容易让人感到浮躁产生挫败感所以不要试图去修改它只需要知道该虚拟机能够正常上网即可。USB Controller为Present表示USB口能够正常使用这也就意味着我们将鼠标线通过USB插入到笔记本电脑的USB插槽后不仅可以控制Windows系统而且还可以控制虚拟机内的Ubuntu系统如果将U盘插入到笔记本电脑的USB插槽那么通过一些简单的步骤Ubuntu系统也可以读取U盘内的文件。“Display”为auto detect自动探测显示器这表示虚拟机能够借用笔记本的显示器将内容输出出来。
而在Virtual Machine Details下State为Powered off表示虚拟机的状态是关机状态Configuration file为C:\Users\35911\OneDrive\FreshmanNotes\文档\Virtual Machines\Ubuntu\Ubuntu.vmx表示采用的配置文件即为C:\Users\35911\OneDrive\FreshmanNotes\文档\Virtual Machines\Ubuntu\Ubuntu.vmx该配置文件的内容如图10Ubuntu.vmx所示。我们不需要去过度关注它的内容。Hardware compatibility为Workstation 16.2.x virtual machine表示该虚拟机能够适配16.2.x版本及以上的VMware workstation虚拟机平台。考虑到软件迭代后的新版本一般都会兼容旧版本所以我们采用的VMware17 Workstation Pro也是能够符合要求的。Primary IP address为Network information is unavailable表示暂时还没有网络信息毕竟连第一次开机都没有当然不会有网络信息。只有第一次开机之后下面几次在启动前的这个配置界面才能看到Primary IP address。而为什么会这样则千万不要深究这些是大二上学期计算机网络的知识现在不需要知道。 ************************************************************************************************************** 图10Ubuntu.vmx
************************************************************************************************************** 接着启动虚拟机启动之后的界面如图11第一次进入Ubuntu所示。第一次进入Ubuntu这款Linux发行版不要激动不要四处乱逛因为Linux系统最强大的功能是其丰富的命令行功能而不是图形化界面所以不要被其他人迅速探索到了新功能感觉自己被落下了而气馁。在虚拟机内右键点击鼠标并点击“在终端中打开”图12右键点击“在终端中打开”进入命令行图13进入Ubuntu系统的命令行界面。并且将界面调整到合适的大小图14将Ubuntu命令行界面调整到合适的大小可以使用CtrlShift这三个组合键将命令行页面放大。其实完全没有必要老师自己配一个Ubuntu系统还自己搭建各种软件完完全全可以自己下载一个最简单的CentOS7这个Linux发行版并且只开启命令行界面不加载图形化界面然后通过在Windows系统的cmd中使用SSH命令连接到这台虚拟机接着只使用命令行即可完全没有引入这么多复杂的花里胡哨的东西至于VScode编辑器、自动更换镜像源、Fython工具等只是为了提高效率但其实根本不明白底层原理用着并不踏实。而且除非团队合作完成一个几千行代码的大项目时才会用到VScode否则一般情况下用Windows系统自带的记事本或者Linux系统的vim编辑器就早已绰绰有余了。始终牢记计算机是用来解决问题的而不是创造问题的。 ************************************************************************************************************** 图11第一次进入Ubuntu
**************************************************************************************************************
************************************************************************************************************** 图12右键点击“在终端中打开
**************************************************************************************************************
************************************************************************************************************** 图13进入Ubuntu系统的命令行界面
**************************************************************************************************************
************************************************************************************************************** 图14将Ubuntu命令行界面调整到合适的大小
************************************************************************************************************** 最后我们选择使用scp命令将Windows系统中的实验一文件传输到Ubuntu虚拟机中。而要想使用scp进行文件传输我们就需要知道Windows系统的IP地址你不需要知道IP地址具体是做什么用的你只需要记住它就可以大二上的计算机网络会详细学的以及Ubuntu虚拟机的IP地址。输入ip a | grep ens33 | grep inet | awk {print $2}命令获取该虚拟机的IP地址ip a表示获取该虚拟机的网络配置信息ip a | grep ens33表示获取该虚拟机的网络配置信息但不将结果输出到桌面上而是将结果传输给命令grep ens33grep ens33表示在文本或者输出结果中找到哪一行含有ens33并且只将这一行打印出来ip a | grep ens33的结果即为命令ip a的结果中包含ens33的所有行进而ip a | grep ens33 | grep inet的结果即为命令ip a的结果中既包含ens33又包含inet的所有行awk {print $2}表示输出以空格分开的第2列ip a | grep ens33 | grep inet | awk {print $2}命令的结果即为命令ip a的结果中既包含ens33又包含inet的所有行中的第2列如图15获取虚拟机的IP地址所示我们知道了虚拟机的IP地址为192.168.133.128忽略后面的/24你现在不需要知道/24是做什么的大二上计算机网络会详细讲。
另外因为scp基于ssh而ssh服务没有在老师提供的Ubuntu系统上安装所以我们需要在Ubuntu虚拟机上安装ssh服务安装ssh服务的方法也很简单如图16在Ubuntu虚拟机上安装sshd服务所示使用sudo apt-get install openssh-server命令即可安装sshd服务。 **************************************************************************************************************
npusecubuntu:~/Desktop$ ip a | grep ens33 | grep inet | awk {print $2}
192.168.133.128/24
图15获取虚拟机的IP地址
**************************************************************************************************************
************************************************************************************************************** 图16在Ubuntu虚拟机上安装sshd服务
************************************************************************************************************** 接着获取Windows系统的IP地址打开cmd命令行窗口输入命令ipconfig | findstr IPv4得到输出结果ipconfig是Windows系统中用来查看网络配置信息的命令对应于Linux系统中的ip a与ifconfig等命令。findstr IPv4用于过滤出结果中包含IPv4的所有行相当于Linux系统中的grep IPv4或者grep IPv4具体结果如图17获取Windows系统的IP地址所示。选择192.168.133.128作为Windows系统的IP地址你不需要知道为什么选择它而不选择剩下的两个如果你的Ubuntu虚拟机的IP地址是192.168.127.xx代表1到254之间的任何数在这里你不需要知道为什么是1和254大二上计算机网络会讲那么在Windows系统中选择IP地址时就选择192.168.127.几那个如果你的Ubuntu虚拟机的IP地址是192.168.126.x那么在Windows系统中选择IP地址时就选择192.168.126.几那个如果你的Ubuntu虚拟机的IP地址是192.168.125.x那么在Windows系统中选择IP地址时就选择192.168.125.几那个......我们选定192.168.133.128作为Ubuntu虚拟机的IP地址选定192.168.133.1作为Windows系统的IP地址。 ************************************************************************************************************** 图17获取Windows系统的IP地址
************************************************************************************************************** 获取到Ubuntu虚拟机的IP地址为192.168.133.128以及Windows系统的IP地址192.168.133.1之后在Windows系统中进入实验一zip文件夹所在的工作目录如图18进入到zip文件夹所在的工作目录所示接着输入命令scp .\lab1-handout.zip npusec192.168.133.128:/home/npusec/Desktop将Windows系统中当前工作目录下的lab1-handout.zip文件夹传输到IP地址为192.168.133.128的机器也就是Ubuntu虚拟机中去并且存放到Ubuntu虚拟机的/home/npusec/Desktop当中而npusec表示Windows系统扮演Ubuntu虚拟机中的npusec用户执行传输文件的命令。如图19通过scp命令向Ubuntu系统中传输文件所示其中有一步提问Are you sure you want to continue connecting这步提问的目的是确保远程连接SSH的机器不是被其他人伪装的我们可以简单的选择yes跳过大三上密码学会详细讲到这一步的底层原理。你也可以在Ubuntu虚拟机中使用命令sudo ssh-keygen -lf ssh_host_ed25519_key -E SHA256得到ed25519密钥作者大三上密码学学的并不是很扎实所以这儿的表述可能不太准确的SHA256哈希值这条命令作者也不是很懂如图20使用ssh-keygen -lf命令得到Ubuntu虚拟机的密钥的哈希值所示Ubuntu虚拟机的密钥的哈希值为QeRO9kwp9qCySBSGECnx9fdaBPQPrKsW3nBC8BBdxbE正好跟图19中所显示的密钥的哈希值相同所以我们认为没有人伪装。 ************************************************************************************************************** 图18进入到zip文件夹所在的工作目录
**************************************************************************************************************
************************************************************************************************************** 图19通过scp命令向Ubuntu系统中传输文件
**************************************************************************************************************
************************************************************************************************************** 图20使用ssh-keygen -lf命令得到Ubuntu虚拟机的密钥的哈希值
************************************************************************************************************** 虽然Windows的IP地址并没有被使用到但是通过一些Windows系统上的配置也能够实现Ubuntu虚拟机给Windows系统传输文件 我们后续会讲到。现在我们查看Ubuntu是否已成功获取到目标文件。使用cd /home/npusec/Desktop/命令进入到/home/npusec/Desktop/文件夹使用ls命令查看当前文件夹下的所有文件与文件夹。我们发现lab1-handout.zip文件已被成功传输到Ubuntu虚拟机中如图21查看lab1-handout.zip文件所示。 ************************************************************************************************************** 图21查看lab1-handout.zip文件
************************************************************************************************************** 最后总结一下我们学会了如何安装虚拟机平台VMware workstation学会了如何导入虚拟机以及学会了如何从Windows系统向Ubuntu虚拟机中导入文件。此外记住一件事不要被你们班里的其他人干扰到他们虽然做得快键盘敲得响做出来答案时激动张狂的样子很讨厌但是基础不牢地动山摇专心打好每一步基础一步一步慢慢走记好笔记做好自己的事情就足够了。我会陪你们走完计算机系统基础实验课的。