这篇文章主要是课程取向的,所以才会使用一个已经超出生命周期的32位Ubuntu版本。在对自己的水平有些许信心后,更建议安装仍提供32位版本的Debian最新版,即Debian 11。新的系统有更好的软件支持,更安全,也更加易用。
选择VMware Workstation主要是个人认为因为它的操作对小白较友好。本文以VMware Workstation Pro 16.2.2和Windows 11为例,最近几个VMware版本和Windows 10操作基本相同。
折叠框中的内容,是我认为可以帮助理解的补充知识,但不看这部分不影响你按照步骤装好一个虚拟机。如果还有疑问,欢迎评论。
什么是虚拟机?
如果你读过《三体III:死神永生》,你大概记得其中出现了一个小型的宇宙,物质来源于最初的大宇宙,当中有智子等人,与大宇宙隔离,独立生活。有一天,探测到由于小型宇宙带走了太多的物质,导致大宇宙的物质不够,需要将小型宇宙的物质移回大宇宙才能让宇宙继续存在(记得可能不准确,欢迎指正)。
虚拟机是同样的道理,它划走物理机的一部分硬件而创造出一个以假乱真而又几乎完全隔离小型的物理机形态,你可以在上面跟物理机一样安装操作系统,研究程序原理,打游戏,做你想做的事情。虚拟机就相当于小型宇宙,而物理机相当于大宇宙,当虚拟机占用太大的时候,物理机也是会带不动的。
对于CPU、内存和显卡,VMware Workstation Pro的虚拟化技术是将虚拟机占用作为一个进程;对于网络,是在物理机上安装虚拟网卡,模拟虚拟机连接到物理机网络上;而对于硬盘,使用文件模拟,这使得虚拟机可以拷贝、移动,当成一些文件来对待。什么是Ubuntu?
Linux(严谨点,GNU/Linux)是Linus Torvalds由Unix得到灵感,编写的开源自由的系统,它属于 “类Unix”。我们熟悉的macOS就是Unix的一个分支,Debian Foundation基于Linux开发了Debian,而Canonical基于Debian开发了Ubuntu。
Debian、Ubuntu和其他一些系统如Arch Linux、Alpine、Kali Linux等统称为Linux的发行版,意为包装好供用户使用的Linux版本。如果你对Unix系统的历史知识有些兴趣,可以看一下下面这张图。
Unix系统演化图。版权信息:Eraserhead1, Infinity0, Sav_vas, CC BY-SA 3.0 https://creativecommons.org/licenses/by-sa/3.0, via Wikimedia Commons
环境准备
首先要从 Canonical 网站 下载Ubuntu 12.04 LTS的镜像。在下面的列表中找到ubuntu-12.04.5-desktop-i386.iso,然后点击此链接即可下载。”创建虚拟机“之前能够下载完成就行了。
然后从 VMware 网站找到Workstation 16 Pro for Windows并点击Download Now。
VMware Workstation安装包下载之后,打开安装包,同意许可协议。
安装位置可以任选,“增强型键盘驱动程序”和 “添加到PATH” 也可以任选,我印象里VMware的命令行程序用得不多,所以不需要加到PATH中。
“启动时检查更新”和 “加入用户体验计划” 按需选择。
创建两个快捷方式按需选择。
最后,点击安装即可安装。
第一次打开VMware的时候应该会提示激活。激活码请自行搜索寻找,如财力雄厚建议入正。
创建虚拟机
VMware Workstation左上角文件 - 新建虚拟机。
类型选择典型。
” 安装客户机操作系统 “时,选择”稍后安装操作系统“-”Linux“-”Ubuntu“。如果你让VMware帮你安装,后续调整中文的操作可能有困难。
”虚拟机名称”和 “路径” 可以自行决定,但个人建议本路径下保证50GB左右空闲。我们需要划出大量空间作为虚拟机的硬盘,虽然不会立即全部占满,但最好还是留有空余。
“最大磁盘大小 “我填写了45GB,读者也可以按需填写。这个值后期可以扩大,但需要使用分区工具同步扩大系统分区,有一定的学习成本,所以建议一开始就做得大一点。是否拆分多个文件,也是按需选择。
下一步后,点击”自定义硬件 “。” 内存 “设定最大4GB即可,因大部分人电脑都是16GB RAM,不缺这4G;” 处理器 “中” 每个处理器的内核数量 “建议设定为你的处理器线程数量,这个可以在任务管理器 - 性能 - CPU的” 逻辑处理器 “查看。” 新CD/DVD(SATA)“选择”使用ISO映像文件“,浏览你的Ubuntu ISO镜像(就是之前下载的ubuntu-12.04.5-xxxxxxx.iso)并选择它,然后勾选“启动时连接”。
为什么是4GB?
因为32位计算机最大寻址范围就是4GB,即 $2^{32}Bytes=4294967296Bytes=4GBytes$。更大的内存空间在正常情况下无法被32位系统利用,加了也相当于没加。
实际上还有硬件所需的一部分寻址空间,导致可用内存低于4GB。但一般情况下,设置的上限直接当成4GB就行了。
点击关闭 - 完成,虚拟机就创建好了。
安装操作系统
我们现在创建的虚拟机是完全空白的,里面什么都没有,而我们需要的正是把Ubuntu 12.04 LTS装进去。
直接点左上方的开机。因为硬盘中没有东西可以启动,而我们又连接了ISO文件作为光盘(可以直接想象成一个光盘刻有Ubuntu镜像,放入虚拟机的光驱中。什么,你不会不知道光盘是啥吧?),就可以从光盘启动,具体原理应该后面会讲。
在第一个页面,先在左边选择中文简体,再选择” 安装Ubuntu“。
“安装中下载更新” 可选可不选,反正软件源已经停止服务了(见下文)。“安装这个第三方软件” 建议选择。
选择 “清除整个磁盘并安装Ubuntu”,继续。不用害怕,清除的只是虚拟机的硬盘,不会对你的其他文件造成任何影响。然后直接点击 “现在安装”。
在安装的过程中,会有一些设置需要你完成。”你在什么地方 “对话框,你可以填入你的城市名,也可以直接选Shanghai,没有区别。” 键盘布局“直接下一步,反正不自带中文输入法,跳过。
“您是谁” 中,填入姓名(可以随便填)、计算机名(会展示在终端中,不重要)、用户名(默认用户)和密码。密码一定要记住。 是否自动登录看你心情,但个人倾向于不加密主目录。
Linux的用户管理机制
Linux系统中,有一个root账户,拥有系统最高权限,类似于Windows的Administrator超级管理员账户。其他的用户没有root用户这样的权限,但在将他们加入sudoer列表之后,他们能够使用sudo命令暂时获得root用户的权限,执行一部分命令。这些用户也可以使用su命令切换到root用户。
Ubuntu默认不开放root账户登录,官方更推荐在每个需要的命令前加上sudo。
也或许你听说过Android系统获取root权限的说法,
参见 维基百科
点击继续,Ubuntu会继续安装系统。当提示”安装完毕 “时,点击下方VMware的提示框中的” 我已完成安装 “,然后点击” 现在重启“。
确认右下角光盘图标旁没有绿点,然后按下回车。如果重启后提示 “remove installation media and press enter” 等文字,右键右下角光盘图标,点击断开,然后在虚拟机中回车。
请注意:如果你的鼠标在虚拟机窗口内,但却是Windows小手样式,说明你的输入没有被发送到虚拟机中。只有在窗口中点一下之后,你按Enter才会被Ubuntu捕捉到。可以使用Ctrl+Alt来切换输入发送到虚拟机中或是物理机中。
之后系统就会开始自动登录。输入密码登录后大概是这个样子。
根据 Ubuntu 的发布周期,显然这个版本是已经不受支持的。但如果你想和老师的步调尽量保持一致,同时对自己解决不同版本之间问题的能力完全没有信心,不要升级14.04。
安装软件
到现在,系统已经装好了,但我强烈建议做一下以下的操作。
以下要输入的内容较多,由于虚拟机和物理机默认不共享剪贴板,建议先在虚拟机内部的Firefox中打开本网页,然后复制所需的部分。
安装VMware Tools
这个东西可以显著增强虚拟机的流畅度。在比较旧的Ubuntu中,我们需要手动安装。
如果VMware提示安装Tools,点击安装。如果没有弹出,也可以使用顶部” 虚拟机 - 安装VMware Tools“选项来启动这个过程。
正常情况下应该会弹出一个文件管理器窗口,没有的话也可以点击左边Dock栏的的DVD图标打开。复制里面的tar.gz文件,点击窗口左侧的 “主文件夹”,在这里粘贴。
Linux的文件系统
Linux与Windows不同,并不靠盘符区分硬盘分区,而是将所有东西放到一个主目录中。默认只有系统所在的分区会包含在其中,其他分区依靠一种称为 “挂载”(mounting)的机制。
在这之前需要说明,在Linux中遵循 “万物皆文件” 的原则,其他的分区、传感器接收的数据、键盘输入,甚至随机熵等都是以文件形式表示的,这个我也不太理解,知道就行。
所谓挂载,就是将主目录中的一个路径指定为访问另一个分区的根目录。如果你是Windows用户,可以想象一下电脑只留一个C盘,D盘本来是不会显示的,但你指定了一个目录如C:\DiskD\ 来指向原来的D:\,对D盘的读写则必须通过上面的路径来达到。
值得一提的是,现在已经有自动挂载机制了,所以其他分区和U盘之类的设备都会自动挂载到系统上,大部分时候不需要自行配置。
一个路径以 / 开头,指的是绝对路径,从根目录开始算起;若没有 /,或是./,则是相对路径,从当前目录开始算起。
root用户的用户目录是 / root/,而其他用户的目录是 / usr / 用户名 /。上文的 “主文件夹” 就是 / usr / 用户名 / home/。因为虚拟光驱中的文件无法写入,所以需要使用这种方式。
在桌面按下Ctrl+Alt+T打开终端,依次(指上一个命令执行完毕后,再输下一个)输入以下命令(井号开头的部分都是注释,无需输入;文件名可能有差异,请留意):
|
|
Shell和Terminal
详见 https://blog.csdn.net/weixin_38214171/article/details/90050340
然后输入你的用户密码(字符不可见),回车,就可以开始安装了。遇到任何提示都可以直接回车,保持默认选项不变。
更换软件源并升级软件包
为了安装软件和安全更新,需要换源。
APT和软件源
有一种程序叫做 “包管理器”。顾名思义,这类程序的作用就是管理软件。在Windows上有winget,在macOS上有Homebrew,而对于Debian和基于此的Ubuntu,默认的包管理器是apt。
apt在更新列表(update)、升级应用(upgrade)、安装应用(install)的时候,会访问软件源,并从其中获取相应的资源。软件源的列表存储于 / etc/apt/sources.list。
上面已经说过,Ubuntu 12.04已经不受支持,所以官方默认软件源已经不再提供服务,但Ubuntu有old-releases软件源(参见 官方文档)。
在新版本中,也推荐进行换源操作,以加速访问,比较著名的有 清华源、中科大 源(请勿使用Ubuntu 12.04的清华源,可能有些问题)。
输入以下命令。
|
|
在弹出的窗口中,将文件内容全部删除,替换为:
|
|
这是 Ubuntu 12.04的 软件源archive。完成后,使用Ctrl+S保存,然后关闭。对于不同的Ubuntu版本,请使用不同的软件源;一个比较简单的判断方法是查看版本代号,如12.04是Precise,14.04是Trusty,20.04是Focal,22.04是Jammy,如果不含你的版本对应代号,一定不能直接使用。
虽然这是一个停止支持的Ubuntu版本,但还是建议将软件包更新到最新版本。
为加速访问,如果已有HTTP代理服务器,可以先 参照这里 设置代理,具体请自行研究。
在终端中依次输入
|
|
如果第一步报错,请检查sources.list是否输入正确。如果提示 “您希望继续执行吗”,输入y并回车。如果提示” 有几个包无法下载“,则重新执行上述第一条命令。
安装中文输入法
如你所见我们的Ubuntu是打不了中文的。而桌面等文件夹默认就是用中文命名的,现在连个桌面都cd不进去,所以当然要安装中文输入法。
在终端执行以下命令以安装fcitx:
|
|
然后点击顶部状态栏右边的键盘图标,选择” 汉语 - Pinyin“,就可以切换中文输入法了。可以发现,右上角的键盘已经变成了 “拼”。
还是没搞懂?这里有成品
如果你实在是不会安装,可以使用我按照上面步骤预先安装好的虚拟机文件,在VMware Workstation Pro 16.2.2上实测可用,链接如下,用户名和密码均为cyp0633。但我仍然建议先尝试自行安装,这对你的学习也有益,也给我服务器省点流量。
https://drive.cyp0633.icu/s/d4H0
虚拟机本体使用分卷压缩,包含3个文件共2.01GB,请全部下载解压,打开其中的vmx文件即可使用,强烈建议使用SHA-256做checksum。
附录:一些建议 / 提醒
- 请尽量适应终端命令行操作为主,GUI界面为辅的方式,在Linux上这样效率非常高。
- 如果你有任何问题,请Google/Bing。若能翻译成英语再搜索,则能搜索到Stack Overflow等网站的大佬的解答。
- Linux的软件包管理机制和文件管理机制,与Windows有非常大不同,而与macOS比较相似。
- 虚拟机的 “快照” 功能十分有用,它类似于Git的label机制,可以在发现问题时快速回到之前保存过的状态,非常适合试病毒。