
1. 为什么在VM里装Ubuntu 20.04 LTS依然是个好选择最近帮几个刚入行的朋友搭开发环境发现他们还在纠结选哪个Linux发行版和版本。我直接建议别想太多先在虚拟机里装个Ubuntu 20.04 LTS。这话一说有人就问了“这都2024年了Ubuntu都出到24.04了为啥还推荐一个四年前的‘老’版本” 这问题问得好也恰恰点出了很多新手甚至一些老手在环境搭建第一步就容易踩的坑——盲目追新。Ubuntu 20.04 LTS代号Focal Fossa发布于2020年4月。LTS代表“长期支持”官方提供长达5年的标准支持直到2025年4月对于企业用户还可以购买扩展安全维护。这意味着什么意味着它的核心系统、软件仓库在2025年之前都会持续收到安全更新和关键Bug修复系统基石是稳固的。对于学习、开发、甚至是轻度生产环境来说稳定性远比拥有几个花哨的新特性重要。你肯定不希望正在调试一个复杂的项目时系统自动更新了一个不兼容的库导致环境崩掉。其次生态兼容性无敌。经过四年的沉淀几乎所有主流软件、开发工具、第三方库都对Ubuntu 20.04提供了近乎完美的支持。无论是Docker、Kubernetes、各种编程语言环境Python、Node.js、Go、Java还是像VS Code、IntelliJ IDEA这类IDE你都能找到大量现成的、经过验证的安装教程和配置方案。社区里你遇到的99%的问题几乎都能搜到针对20.04的解决方案。而新版本如22.04、24.04虽然也兼容大部分软件但偶尔会遇到一些依赖库版本冲突、驱动不完善等“先锋队”才会遇到的问题。对于初学者一个“踩坑少、资料多”的环境能让你把精力集中在学习核心内容上而不是和系统环境搏斗。最后从虚拟机VM实践的角度来看Ubuntu 20.04 LTS对硬件资源的要求相对温和在虚拟机里跑起来更流畅。你的宿主机可能是Windows或macOS分配给虚拟机的内存和CPU资源有限。一个更成熟、优化更好的系统版本在有限的虚拟资源下往往能提供更稳定和跟手的体验。所以无论你是想学习Linux命令、搭建Web服务器、进行软件开发还是单纯想有一个隔离的沙盒环境做实验在VM里安装Ubuntu 20.04 LTS都是一个非常稳妥且高效的起点。2. 虚拟机软件选型与宿主机准备要点工欲善其事必先利其器。在下载Ubuntu镜像之前得先把“房子”虚拟机软件准备好。目前主流的选择有三个VMware Workstation Player个人版免费、VirtualBox完全免费开源和Hyper-VWindows专业版/企业版自带。我的建议是如果你是Windows用户且系统是专业版以上可以优先考虑Hyper-V否则VMware Workstation Player是更省心的选择。为什么这么选VirtualBox虽然免费但在性能和与宿主机特别是Windows 11/10最新版的兼容性上有时会出一些幺蛾子比如USB设备识别、显卡加速、文件拖拽等方面的问题可能需要额外折腾。对于新手我们不希望把时间浪费在解决虚拟机软件本身的问题上。VMware Workstation Player在易用性和性能上做得更均衡安装过程简单对Ubuntu的“开箱即用”支持非常好提供了完善的VMware Tools增强功能包能无缝实现宿主机和虚拟机之间的文件共享、剪贴板共享、屏幕自适应调整。它的个人免费版对于学习和开发完全够用。如果你使用的是Windows 10/11专业版、企业版或教育版那么内置的Hyper-V是一个强大的替代方案。它是Type-1类型的裸机虚拟化性能理论上更优资源开销更小。启用方法也简单打开“控制面板” - “程序” - “启用或关闭Windows功能”勾选“Hyper-V”包括管理工具重启即可。之后你就可以在开始菜单找到“Hyper-V管理器”了。不过要注意开启Hyper-V后你的Windows本身也会运行在Hyper-V虚拟化层之上这可能会导致一些传统的虚拟机软件如VMware、VirtualBox无法以硬件加速模式运行或者与某些依赖VT-x/AMD-V的软件如某些安卓模拟器冲突。如果你电脑上还有其他这类软件就需要权衡一下。对于macOS用户主流选择是VMware Fusion Player个人免费或开源的UTM。Parallels Desktop虽然体验极佳但它是收费的。新手用VMware Fusion Player足以。在安装虚拟机软件前务必进入你电脑的BIOS/UEFI设置确认并开启CPU的虚拟化技术Intel VT-x 或 AMD-V。这个选项通常在“Advanced”或“CPU Configuration”菜单里名称可能是“Intel Virtualization Technology”、“VT-d”、“AMD SVM”等。这是虚拟机能够高效运行的基础没开启的话后续安装会报错或性能极差。最后为你的Ubuntu虚拟机规划好“住处”。建议在SSD硬盘上预留至少25GB的可用空间这是安装系统本身的最小建议如果你想在里面放很多项目文件建议50GB以上。内存方面分配给虚拟机至少2GB2048MB才能保证基本流畅如果宿主机内存有8GB或以上分配4GB是更舒适的选择。处理器核心数分配2个核心通常就能满足大部分学习开发需求。3. 获取系统镜像与创建虚拟机的关键步骤准备好了虚拟机软件接下来就是获取“建筑材料”——Ubuntu 20.04 LTS的ISO镜像文件。务必从官方渠道下载这是保证系统纯净、安全的第一步。直接访问Ubuntu官方网站的下载页面找到20.04 LTS的版本。通常你会看到“Desktop image”和“Server image”两个选项我们选择“Desktop image”它包含图形化界面更适合初学者上手。下载下来的文件大概2.6GB左右是一个以.iso结尾的文件比如ubuntu-20.04.6-desktop-amd64.iso。后面的“6”代表这是第6个更新版本集成了截至发布时的所有更新比最初发布的20.04.0更稳定。以最常用的VMware Workstation Player为例我们一步步创建虚拟机打开VMware点击“创建新虚拟机”。选择“典型”配置即可下一步。在“安装程序光盘映像文件”这一项点击“浏览”找到你刚才下载的.iso文件。VMware会自动检测到这是Ubuntu 64位系统。接下来需要设置一个“简易安装信息”。这里有个小技巧强烈建议在这里预先设置好你的用户名、密码和计算机名。勾选“使用简易安装”然后填入信息。比如全名可以写Your Name用户名用dev或ubuntu小写无空格密码设一个你记得住的。这样在安装过程中系统会自动跳过手动创建用户那一步实现无人值守安装非常省事。为虚拟机命名并选择存储位置。位置请选在你之前预留了足够空间的磁盘分区。指定磁盘容量。默认的20GB对于只装系统来说勉强够用但如前所述我建议至少调到40GB或更多。选择“将虚拟磁盘存储为单个文件”这样性能更好管理也方便。在最后一步“已准备好创建虚拟机”时先别急着点完成点击“自定义硬件...”。这里是精细化配置的关键。内存根据宿主机情况调整例如宿主机16GB可以分4GB给虚拟机。处理器数量选2每个处理器的核心数也选2即总共2核心2线程或根据你CPU逻辑核心数合理分配。网络适配器默认的“NAT”模式就行。这种模式下虚拟机会共享宿主机的IP地址上网就像你家路由器下的另一台设备宿主机和虚拟机可以互相访问虚拟机也能直接访问外网是最省心的网络模式。显示器将“加速3D图形”勾选上这对后续使用图形界面有性能提升。确认无误后关闭硬件设置窗口点击“完成”。虚拟机创建好后VMware会自动启动并开始运行简易安装流程。你基本上只需要看着它自动完成分区、拷贝文件、安装系统等一系列操作期间可能会重启一两次。最终它会进入Ubuntu的登录界面用你之前设置的用户名和密码登录即可。如果安装过程中没有使用简易安装预设密码那么第一次启动时会提示你创建用户。注意在安装过程中如果遇到“Install third-party software for graphics and Wi-Fi hardware and additional media formats”这个选项建议勾选。它会安装一些额外的驱动和编解码器如MP3播放支持让系统体验更完整。虽然这涉及非自由软件但对于个人桌面使用来说非常方便。4. 安装后的首要十件事从能用变好用当你第一次进入Ubuntu 20.04的桌面一个干净的系统呈现在眼前。但要让这个系统真正成为一个顺手的开发或学习环境我们还需要进行一些关键的初始设置。这些事情做与不做后续的使用体验天差地别。4.1 更换软件源与系统更新系统安装后第一件事就是更换软件源服务器地址。默认的源服务器可能在国外更新和下载软件速度会很慢。我们需要将其替换为国内的镜像源比如阿里云、腾讯云、清华大学的镜像站。打开“软件和更新”程序可以在应用菜单里搜索。点击“下载自”旁边的下拉框选择“其他...”。在弹出的服务器列表里找到“China”然后选择一个镜像站比如mirrors.aliyun.com。选择后系统会要求你重新加载软件源信息。关闭窗口系统会自动刷新。接下来打开终端快捷键CtrlAltT执行全面的系统更新sudo apt update # 刷新软件源列表获取最新的软件包信息 sudo apt upgrade # 升级所有已安装的软件包到最新版本 sudo apt dist-upgrade # 处理升级过程中可能出现的依赖关系变更更智能这个过程会下载并安装大量更新需要一些时间。更新完成后强烈建议重启一次系统以确保所有更新特别是内核更新完全生效。4.2 安装VMware Tools / Open VM Tools这是让虚拟机体验脱胎换骨的一步。它提供了宿主机和虚拟机之间的一系列集成功能剪贴板共享可以在宿主机和虚拟机之间复制粘贴文本。文件拖放可以直接将文件从宿主机桌面拖到虚拟机里反之亦然。屏幕自适应调整虚拟机窗口大小时Ubuntu桌面分辨率会自动适应。更好的性能特别是图形和鼠标响应。对于VMware如果你使用的是Workstation 16及以上版本Ubuntu 20.04通常已经自带了开源的open-vm-tools并且默认启用。我们可以验证并确保其完整安装sudo apt install open-vm-tools-desktop安装后重启虚拟机即可生效。如果你使用的是较老的VMware或者发现功能不正常也可以尝试安装VMware官方的Tools。在VMware菜单栏点击“虚拟机” - “安装VMware Tools”这会在虚拟机内挂载一个光盘镜像里面包含安装脚本。但通常来说open-vm-tools是更推荐的选择因为它通过系统包管理器管理更新更方便。4.3 配置基础开发环境作为一个准开发环境一些基础工具链必不可少。安装Build Essential编译工具集这是一组包含GCC、G、make等编译和构建软件必需的工具包。很多软件的源码安装都依赖它。sudo apt install build-essential安装Git版本控制工具这是现代开发的标配。sudo apt install git git config --global user.name Your Name git config --global user.email your.emailexample.com安装Python3及pipUbuntu 20.04默认已经安装了Python 3.8但pipPython包管理器可能需要单独安装。sudo apt install python3-pip为了避免系统Python环境被污染强烈建议后续为每个项目使用venv虚拟环境。4.4 优化终端与Shell体验默认的终端和Bash Shell能用但可以更好。安装并配置Zsh和Oh My ZshZsh是一个功能更强大的Shell配合Oh My Zsh框架可以提供智能补全、主题美化、丰富的插件等功能极大提升命令行效率。sudo apt install zsh sh -c $(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)安装脚本会提示你是否将默认Shell切换为Zsh选择“是”。之后你可以通过编辑~/.zshrc文件来更换主题如agnoster、robbyrussell和启用插件如git、z快速跳转目录。安装常用命令行工具一些能让生活更轻松的工具。sudo apt install tree htop net-tools curl wgettree: 以树状图列出目录内容。htop: 一个强大的交互式进程查看器比top更直观。net-tools: 包含ifconfig等传统网络工具虽然ip命令是未来但ifconfig更广为人知。curl/wget: 命令行下载工具。4.5 设置共享文件夹如果需要如果你需要在宿主机和虚拟机之间频繁交换大量文件仅靠拖放可能不够。可以设置一个共享文件夹。在VMware中先关闭虚拟机。在虚拟机设置 - “选项” - “共享文件夹”中添加宿主机上的某个目录并选择“总是启用”。启动虚拟机后共享文件夹通常会被自动挂载到/mnt/hgfs/目录下。如果没有可能需要手动安装open-vm-tools-desktop前面已做并检查内核模块是否加载。4.6 调整系统设置与外观隐私设置进入“设置” - “隐私”关闭“位置服务”、“诊断”等你不希望开启的选项。电源管理在“设置” - “电源”中将“空白屏幕”和“自动挂起”调成“从不”或一个较长的时间避免在下载或编译时系统自动休眠。外观安装Gnome Tweaks工具来深度定制外观。sudo apt install gnome-tweaks安装后你可以在这里启用最小化点击、调整字体、更换主题、管理扩展等。4.7 安装必备的日常软件通过Ubuntu Software基于Snap或直接使用apt命令安装浏览器Firefox已预装也可以安装Google Chrome。wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb sudo apt install ./google-chrome-stable_current_amd64.deb编辑器/IDEVisual Studio Code是跨平台首选。sudo snap install --classic code通讯工具如Telegram、Slack等可通过Snap或官网下载.deb包安装。4.8 配置快照与备份策略这是虚拟机最大的优势之一——快照。在进行了大量配置、安装了很多软件系统处于一个稳定好用的状态时务必创建一个快照。在VMware里点击“虚拟机” - “快照” - “拍摄快照”给它起个名字比如“Base with Dev Tools”。这样以后无论你把系统玩坏了还是想测试一个危险的操作都可以瞬间回滚到这个干净的状态。养成重要操作前拍快照的习惯能为你节省无数重装系统的时间。4.9 网络与防火墙基础配置Ubuntu 20.04默认使用了ufwUncomplicated Firewall作为防火墙前端但默认是关闭的。如果你需要开启防火墙并只开放必要的端口比如SSH的22端口Web服务的80/443端口可以这样操作sudo ufw allow ssh # 允许SSH连接 sudo ufw allow 80/tcp # 允许HTTP sudo ufw allow 443/tcp # 允许HTTPS sudo ufw enable # 启用防火墙 sudo ufw status verbose # 查看规则状态对于纯粹在NAT模式下做开发的本地虚拟机防火墙不开启通常问题也不大但了解如何管理是必要的技能。4.10 探索与下一步完成以上步骤你的Ubuntu 20.04虚拟机就已经从一个裸系统变成了一个功能齐全、高效易用的开发学习平台。你可以开始学习Linux常用命令和文件系统结构。搭建LAMP/LEMPApache/Nginx MySQL PHP或MEAN/MERNMongoDB Express Angular/React Node.js等Web开发栈。学习Docker容器技术在更干净的环境里运行应用。配置SSH服务学习从宿主机用终端远程连接虚拟机。这个环境就像你的数字实验室稳定、隔离、可随时重置。基于这个坚实的基础任何更深入的学习和探索都会事半功倍。