1. 为什么我仍然推荐在VMware里装Ubuntu 18.04过去几年我一直在用虚拟机做开发环境隔离几乎每台Windows电脑上都装了VMware Workstation里面再塞几个Linux发行版轮换使用。最近接手一个模拟项目X需要跑一堆老版本依赖翻来翻去还是Ubuntu 18.04最省事。虽然18.04已经过了官方标准支持期但它的软件源、兼容性和社区资料都非常成熟很多遗留系统的部署文档、编译教程、运维脚本都默认基于18.04写用20.04或22.04反而容易踩版本坑。于是在VMware上再装一台Ubuntu 18.04整个流程重新走了一遍顺手把之前栽过的跟头也整理出来。先说说这篇内容适合谁参考第一次接触VMware的小白、需要快速搭一台能用Linux的前端或后台开发、还有做运维巡检的老手想在本地复现生产环境。无论你是哪种情况跟着这套步骤走基本一小时以内就能把一台Ubuntu 18.04跑起来而且网络、共享目录、屏幕分辨率这些容易出幺蛾子的地方都能提前规避掉。在做具体操作之前先厘清两个核心概念这对后面排错特别有帮助。VMware Workstation本质上是一个硬件虚拟化软件它把你真实的CPU、内存、硬盘、网卡抽象成一套虚拟设备Ubuntu看到的是一个完整但假的电脑。所以虚拟机里的系统配置并不完全等于你本机的真实性能而是你分配给它的那部分资源。这就引出一个关键原则VMware里的配置不是越大越好也不是越小越省必须结合目标系统去权衡。Ubuntu 18.04的桌面版默认要求2GB内存、20GB硬盘但如果只给它2GB内存用Firefox开几个标签页就卡得不行。反过来如果给一台只有8GB内存的笔记本分配到6GB给虚拟机宿主机自己先顶不住了。我自己的经验是至少4GB内存、双核CPU、40GB磁盘这样的资源给Ubuntu 18.04桌面版日常编译、写代码、跑测试都足够舒服。如果只做命令行使用或者服务器级部署2GB内存加20GB磁盘也够但后续编译大型C项目时会比较吃力。还有个容易忽略的点虚拟机的性能受限于宿主机但宿主机也要给虚拟机预留足够余量。虚拟机里的内核使用实际上很大程度依赖宿主机的物理内存和CPU虚拟化支持。如果CPU没有开启VT-x或AMD-VVMware会直接性能暴跌甚至无法启动64位系统。所以在装系统之前先进BIOS确认一下虚拟化选项已经打开这一步比后面的所有配置都重要。接下来开始正题。我将整个过程拆成六个阶段每个阶段里既包含操作步骤也包含你为什么应该这样做的理由。有配置参数不理解的地方可以先照抄再回来看解释。2. ISO镜像下载与宿主机专项检查看似无聊实则决定成败2.1 去哪里下载安全且完整的Ubuntu 18.04镜像Ubuntu 18.04的官方镜像现在仍然可以在Ubuntu官方站点找到只是默认页面会优先推20.04和22.04需要自己切到老版本列表。不少第三方站点也提供镜像下载但我不建议随便找链接虚拟机里装的系统要长期使用镜像被篡改的风险比本机还难防备。官方镜像有校验码下载后可以做一个完整性比对这一点很多人直接跳过了直到某次装完系统出现奇怪的报错才回头找原因。镜像选型上有两个分支桌面版desktop和服务器版server。桌面版自带GUI安装过程中有图形界面引导最适合新手和日常开发服务器版只有命令行安装过程和后续管理都更轻量适合搭服务、跑脚本、做生产环境的模拟。如果你不确定选哪个先装桌面版装完以后在里面开终端做管理也不影响。你要是想模拟一个无头服务器那server版更省资源。18.04还有一个小版本的区别主要指的是更新累积到哪一个时间点的镜像比如18.04.5、18.04.6。小版本越新预置的驱动和补丁越全。除非你有特殊理由不然优先找最后那个点版本比如18.04.6这个在兼容性和稳定性上都比最早的18.04.0好很多。2.2 宿主机资源分配的最低与推荐参数对照在VMware里新建虚拟机之前先确认宿主机能满足最低负载这是很多人容易倒在第一关的地方。一个典型的场景你的Windows本子有16GB内存自以为分配给虚拟机4GB没问题结果宿主机上还开着几十个浏览器标签页、微信、钉钉、一个IDE实际可用内存已经不足8GB虚拟机一启动就极度卡顿。所以检查自己当前内存占用率比看总内存容量更实在。我整理了一个资源配置参考表你可以直接对照使用后续可根据实际负载再做微调使用场景CPU核心数内存磁盘空间网络模式建议最小化命令行体验12GB20GBNAT桌面日常使用24GB40GBNAT或桥接开发编译、测试服务器48GB60GB及以上桥接或仅主机磁盘空间这块要注意一个细节VMware的虚拟磁盘默认是有两种设置动态分配和固定大小。动态分配的意思是虚拟磁盘文件会随着内部使用量增长而增大安装时看起来只占几百KB实际使用到20GB时文件就会涨到20GB。固定大小是一开始就划出一整块空间比如你设置40GB宿主机真实的物理磁盘立刻就会减少40GB可用空间。两者在性能上差别很明显。固定大小的虚拟磁盘因为磁盘文件连续分配读写性能更稳定增长速度也好把控动态分配在长时间使用后容易产生磁盘碎片和体积膨胀问题。如果宿主机磁盘空间充裕我建议直接选固定大小省得日后清理虚拟磁盘快照时处处被动。如果你非要用动态分配也要记得定期清理快照和系统垃圾否则虚拟磁盘文件会无限制膨胀。2.3 必须提前打开CPU虚拟化开关的排查方法CPU虚拟化开关不在VMware里设置而是在BIOS或者UEFI里。不同的主板厂商这个选项名称不一样常见的有Intel Virtualization Technology、Intel VT-x、AMD SVM Mode、SVM等。有的笔记本出厂默认开启但也有不少默认关闭。关闭状态下一启动Ubuntu 18.04的64位安装程序VMware会弹一个警告说此主机支持Intel VT-x但Intel VT-x处于禁用状态。如果你从没看到过这个提示不代表你没问题有可能你的CPU压根不支持虚拟化。进BIOS的方法各家机器不一样普遍做法是重启电脑在开机画面时持续按F2、Del、F12或Esc具体键位可以在开机画面的角落看到提示。进入后找到虚拟化相关选项把它设为Enabled保存退出。改完以后可以在Windows里打开任务管理器查看性能标签页的CPU部分如果虚拟化一栏显示已启用就说明设置成功了。这个步骤我建议在创建虚拟机之前就做完否则你一路折腾到安装界面才发现不对劲会白白浪费大量时间。另外还有个容易被忽略的细节Windows的Hyper-V或者内核隔离功能会占用虚拟化资源导致VMware虚拟机的性能明显下降。如果你机器上同时开着Hyper-V可以在启用或关闭Windows功能里把Hyper-V勾选去掉然后重启。这一步不是必须的但很多时候VMware跑Linux变慢罪魁祸首就是这个。3. 新建虚拟机的每一步配置及其背后的性能与兼容性考量3.1 选对虚拟机版本和操作系统类型启动VMware Workstation以后选择创建新的虚拟机会出现一个向导。界面有两种模式典型推荐和自定义。新手用典型模式很方便但典型模式隐藏了一些关键参数比如虚拟磁盘类型、固件类型、声卡/打印机这些外设是否启用。如果你有一定基础或者希望后续减少兼容性问题直接选自定义多花两分钟换来更干净的环境。在选择虚拟机硬件兼容性这一步VMware会问你要兼容到哪个版本比如Workstation 12、14、15、16等。版本越高功能越新但如果你的VMware安装版本较旧选择过高的兼容性会报错。我的建议是选择当前VMware版本能选到的最高项除非你有迁移到其他平台的计划才去考虑低版本兼容性。对于仅在本机长期使用的场景这个选项其实影响不大。接下来选择安装程序光盘映像文件iso直接指定你下载的Ubuntu 18.04镜像。这里有一个很多人踩过的坑VMware的简易安装模式会自动识别并执行无人值守安装界面非常好但它默认安装一个你都没法指定磁盘布局的Ubuntu而且用户名和主机名都是它自己生成的后续改起来麻烦。建议选择稍后安装操作系统然后手动走完每一步这样你能完全掌控分区和软件源。虽然多了几步操作但更可控。在选择客户机操作系统页面选择Linux版本选择Ubuntu 64位。如果你的机器是32位的就选32位版但18.04本身对32位支持已经慢慢减少了尽量用64位。3.2 内存、CPU、磁盘的精细调整向导会让你输入虚拟机的名称和位置。名称建议体现用途比如Ubuntu-18.04-Dev这样后面同时开启多台虚拟机时一看名字就明白这台是做什么的。存储位置一定要放在一个剩余空间充足的盘符上不要默认放C盘尤其当你的C盘是固态硬盘且容量紧张时虚拟磁盘文件动辄几十GBC盘爆掉会连带拖垮整个系统。接下来是设置CPU和内存。VMware允许你给虚拟机分配多个处理器每个处理器可以有多个核心。这个部分容易误解虚拟机内看到的CPU核心数不一定要跟物理机的CPU拓扑完全对应。比如真机是4核8线程你给虚拟机分配2个处理器、每个处理器2个核心跟1个处理器、4个核心在实际使用中性能差异很小。关键是总核心数别超过宿主机的逻辑处理器数量。你可以在Windows任务管理器里查看逻辑处理器数量一般就是下方标出的xx。内存方面我建议桌面开发环境锁定4GB起步。如果你只有8GB物理内存分配4GB之后宿主机会有点紧张但还扛得住如果你有16GB给6GB或8GB都行。一个相关细节是内存预留默认勾选的是立即分配所有内存这会导致虚拟机一启动就占掉你指定的那部分物理内存好处是性能稳定坏处是宿主机内存一下减少一大块。如果你心疼宿主机性能可以不勾选让VMware根据负载动态分配代价是偶尔有轻微延迟。我个人倾向于勾上因为对虚拟机的性能一致性有要求。然后设置磁盘容量。这里有一个经常被忽略的点不管后期你是否需要扩展虚拟磁盘容量设置得越大对应的虚拟磁盘文件在固定大小模式下占用的宿主机空间也越多。所以别一上来就设200GB除非你确实有数据仓库类需求。40GB是推荐值日常开发足够后面不够用再加也是一样的。磁盘类型选SCSI通常没毛病NVMe在个别场景下性能更好但兼容性测试中发现部分18.04老内核对NVMe虚拟磁盘的支持有轻微瑕疵SCSI最稳。3.3 网络模式选择NAT、桥接和仅主机模式的实际差异这一步是整个虚拟机网络配置中最容易让人困惑的地方。VMware提供了三种常见的网络模式每种对应不同的网络语义。NAT模式虚拟机把宿主机的网络当成一座桥虚拟机内部通过一个虚拟NAT设备访问外网宿主机相当于一个网关。所有虚拟机都处于一个私有网段默认是192.168.xxx.0从外部看只有宿主机这一个IP在通信。NAT模式的好处是宿主机能联网虚拟机就能联网不需要额外的网络配置非常省心。坏处是外部网络无法主动访问到虚拟机除非你自己配置端口转发。桥接模式虚拟机会直接与宿主机共用物理网卡获得一个和宿主机同一局域网网段内的真实IP。外部设备可以直接通过网络访问这台虚拟机就像它是一台真实的独立电脑。这种模式非常适合测试服务器场景但前提是局域网里有DHCP服务器或者你自己手动配置静态IP。如果你经常切换WiFi或者办公网络有接入认证桥接模式常常会失灵这时切回NAT模式反而稳定。仅主机模式虚拟机只能和宿主机通信无法访问外网适合隔离环境测试。对于普通开发来说绝大多数场景选NAT就够了既能上网又不会干扰局域网。如果你计划在虚拟机里部署Web服务并希望能从宿主机浏览器直接访问NAT也可以做端口转发达成不需要非得切换桥接。还有一个虚拟化Intel VT-x/EPT或AMD-V/RVI的勾选在虚拟机设置里默认开启可以显著提高虚拟机的性能。如果发现虚拟机运行特别慢先检查这一项是否被关闭。4. Ubuntu 18.04安装过程全拆解从图形引导到分区和用户设置4.1 Ubuntu安装器启动阶段可能出现的问题和应对用ISO启动虚拟机后正常情况下你会看到紫色背景的GRUB引导菜单选择Install Ubuntu回车就会进入安装流程。如果你的菜单是英文别慌只是语言显示设置问题。选择中文简体继续即可。这里有一个经常遇到的现象系统启动到图形界面时屏幕可能卡在logo处或黑屏一会儿。很多人以为死机了直接关闭虚拟机结果反复重启还是进不去。真实原因是虚拟机默认显示驱动对某些帧缓冲模式兼容性一般尤其当分辨率较高时加载需要更长时间。此时应该耐心等待通常30秒到1分钟就会进入安装界面。如果你实在等不下去可以在虚拟机设置里将显卡显存调高一些或者暂时降低启动时的图形分辨率。安装界面第一步会询问是否安装第三方软件比如MP3解码器和无线网卡驱动。对于绝大多数桌面使用场景建议勾上因为后续编译环境需要额外安装不少工具。这个勾选跟系统更新没有任何冲突放心选。4.2 安装类型中分区策略的两种路线到安装类型这一步很多人第一次会犹豫。Ubuntu 18.04安装器提供清除整个磁盘并安装Ubuntu和其他选项手动分区两种主要通路。在虚拟机里磁盘就是我们之前创建的虚拟磁盘不存在别的数据需要保留所以直接选清除整个磁盘并安装Ubuntu既快又稳。安装器会自动创建好交换分区和根分区不需要你做任何额外干预。但如果你有特定的分区需求比如想把/home单独分出来或者需要预留一部分空间给其他系统测试就选其他选项。手动分区时要至少创建两个分区一个挂载点为根目录 / 建议使用ext4格式一个用于交换空间swap大小可以设置为物理内存的1到2倍比如4GB内存就划4GB或8GB。有人问swap分区有没有必要有。即使你的内存足够大内核在内存紧张时会用到swap做回收没有它可能直接导致OOM进程被杀。还要注意引导加载器GRUB的安装位置。默认会安装到虚拟磁盘的第一块设备比如/dev/sda不要改成别的位置否则虚拟机启动时会找不到引导记录直接卡在黑屏和grub提示符之间。分区格式上18.04默认用ext4这也是最稳的选择。不要为了好奇去尝试ZFS或Btrfs除非你已经对它们非常熟悉否则后续扩容、快照、故障恢复都很麻烦。想体验新文件系统可以另开虚拟机测试别拿主工作环境练手。4.3 用户账户和主机名的设计建议在设置用户名和主机名时系统默认会让你创建一个普通账户这个账户后续可以通过sudo命令获取管理员权限。主机名建议用短小且不包含特殊字符的命名比如ubuntu-dev、node1。千万不要用空格或大写字母否则后续很多服务配置里会对主机名解析产生奇怪的问题。密码规则上虚拟机环境因为没有物理安全威胁你可以设置一个方便记忆的密码但别设置成空密码或纯数字因为后面你用SSH连接时密码强度会直接影响认证策略。另一个跟备份相关的操作不要在安装过程中勾选加密整个系统。这个功能在真实机器上很有价值但在虚拟机里一旦虚拟磁盘文件损坏加密会大大增加恢复数据的难度。虚拟机本身已经有了一层隔离没必要再叠加一道锁。走完这些步骤等待安装进度条走完。这时系统会要求重启。VMware通常会自动弹出按Enter键重启点击后虚拟机将重新引导进入新装的系统。5. 安装后必做的系统初始化软件源、open-vm-tools与共享目录5.1 更换APT软件源为什么必须做这一步Ubuntu 18.04默认的软件源指向的是官方区域源对于大陆用户来说连接速度往往不稳定执行sudo apt update时可能长时间卡住或报一大串错误。更糟糕的是某些时候官方源被网络波动影响下载一半就断开损坏了包管理的缓存。所以装完系统的第一件事就是更换为速度更快、同步更稳定的软件源。修改之前先备份你的源文件养成习惯总没错sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak然后编辑源文件把里面的archive.ubuntu.com替换为你所在区域或较快的镜像源。常见的镜像源有清华、阿里、中科大等。我以阿里源为例18.04对应的源条目大致是这样sudo sed -i s/archive.ubuntu.com/mirrors.aliyun.com/g /etc/apt/sources.list sudo sed -i s/security.ubuntu.com/mirrors.aliyun.com/g /etc/apt/sources.list如果你用的不是阿里镜像换成其他源的地址也一样核心就是让所有archive和security条目指向同一个可用的镜像节点。改完后执行sudo apt update sudo apt upgrade这里有个经验点更新过程中如果提示某个软件包版本冲突通常是因为PPA或第三方源里存在相同包名。解决思路是先看看sources.list里是否残留了无用条目而不是强行用apt -f install。盲目强制修复有可能把系统依赖关系弄坏。5.2 安装open-vm-tools而不是VMware ToolsVMware Workstation自带一个VMware Tools需要从界面菜单安装VMware Tools挂载一个ISO然后在虚拟机内运行脚本。这条路可行但每次升级内核后都要重新编译或重装非常麻烦。我强烈建议直接安装open-vm-tools这是Linux社区维护的开源版本功能更全不需要手动挂载ISO而且与Ubuntu内核模块的适配性更好。执行sudo apt install open-vm-tools open-vm-tools-desktop安装完成后重启虚拟机即可生效。open-vm-tools提供自动适应分辨率、复制粘贴共享、鼠标无缝进出窗口、关机信号同步等功能。注意如果你同时装了VMware原版Tools和open-vm-tools两者会功能冲突出现奇怪的剪贴板失灵问题。解决方案是卸载掉其中一个保留一个。还有一点如果虚拟机是服务器版没有GUIopen-vm-tools-desktop不需要装装open-vm-tools就够了。反之桌面版千万不要漏掉-desktop包否则共享目录挂载和分辨率适配可能不生效。5.3 共享文件夹和剪贴板共享的设置逻辑VMware的共享文件夹功能本质上是通过open-vm-tools内置的文件系统驱动来挂载宿主机目录到虚拟机内。这个功能在设计时就有意让虚拟机内看到的是共享文件夹这样一个特殊路径默认位置是/mnt/hgfs。第一次使用往往会踩坑你明明在VMware设置里加了共享文件夹但虚拟机里ls /mnt/hgfs却什么都没看到或者根本没有这个目录。此刻第一步检查open-vm-tools服务是否在运行systemctl status open-vm-tools如果服务状态正常但还是看不到共享目录执行手动挂载sudo mkdir -p /mnt/hgfs sudo vmhgfs-fuse .host:/ /mnt/hgfs -o allow_other -o uid1000这里.host:/表示所有宿主机共享的根路径uid1000对应你创建的普通用户的用户ID。如果想开机自动挂载需要把这一条写入/etc/fstab或者创建一个systemd服务来执行挂载命令。另外剪贴板共享双向复制粘贴如果没有生效通常是open-vm-tools-desktop没有安装或者桌面会话启动时没有加载对应模块。重启一次虚拟机往往能解决80%的相似问题。如果重启后还不行在虚拟机设置里检查隔离选项确认启用复制粘贴和启用拖放两个勾选项都是勾上的。这两个选项默认可能没被打开但没人会想到这个位置。6. 实战排错记录我在后续使用中遇到的四类典型问题6.1 虚拟机开机卡在Ubuntu logo无法进入桌面这个问题在18.04上发生过不止一次而且很多时候并不是系统装坏了而是显示驱动或分辨率设置惹的祸。如果你在GRUB界面能看到菜单选择Ubuntu后卡在logo可以先在GRUB菜单编辑启动项在内核参数一行加上nomodeset然后按CtrlX启动。nomodeset会让内核使用基础显示模式绕开部分GPU驱动的兼容问题。如果这样能进入系统说明问题出在驱动上可以考虑重装或更新桌面环境相关的驱动包。在虚拟机里最好的处理方式其实是升级到18.04的后续点版本很多显示驱程的Bug已经被修复。另一个原因是磁盘空间满了Ubuntu开机时如果根分区剩余空间不足桌面登录管理器可能起不来直接黑屏或回弹。用命令行方式登录或启动恢复模式清理一下/var/log和apt缓存通常能救回来。6.2 虚拟机时间总是漂移或错误如果你发现Ubuntu里的时间经常比真实时间慢或快而且你改完系统时间以后过一会儿又被改回去了这往往是时间同步机制和宿主机之间产生了冲突。虚拟机里clocksource和NTP都在起作用open-vm-tools也有自己的时间同步策略。最简单的办法是让系统只信任NTP服务sudo timedatectl set-ntp true同时在VMware的虚拟机设置中把选项里的客户机时间同步去勾选或不强制启用避免由宿主机反向同步到虚拟机里。否则只要Windows宿主机的时间稍有偏差虚拟机就会跟着跑偏这对依赖日志完整性的开发调试会造成很大的困扰。6.3 虚拟磁盘文件越来越大如何定位空间占用使用几个月后你可能会发现存放虚拟机的目录占用了宿主机好几十GB明明虚拟机内部才用了十几GB。这是因为快照和删除文件后没有自动回收空间。对于ext4文件系统删除文件后虚拟磁盘文件的大小并不会自动降下来它只是标记为已释放底层块留着等下次写入。你在虚拟机里rm掉大文件虚拟磁盘文件还是会保持原大小。解决思路是在虚拟机内执行一次零填充然后把磁盘压缩sudo dd if/dev/zero of/tmp/zero.bin bs1M sudo rm /tmp/zero.bin这条命令会在虚拟磁盘内填满临时文件把空闲块全部置零然后删除它。之后关闭虚拟机在VMware里找到菜单虚拟机 - 管理 - 压缩磁盘它会重新组织虚拟磁盘文件把空块剔除掉。这个过程需要一段时间但效果明显。注意压缩前做好快照或者备份万一断电或异常中断可能会导致虚拟磁盘损坏。6.4 窗口分辨率不跟随窗口大小变化刚装完Ubuntu 18.04很多人发现虚拟机窗口拉大以后Ubuntu桌面分辨率没有自动跟着变。这个问题的根因多半是没有正确加载open-vm-tools桌面服务。先确认open-vm-tools-desktop已安装再检查xrandr输出是否显示了正确的显示模式。如果显示模式列表很乱可以执行xrandr --output Virtual1 --auto这个命令会让系统重新探测当前显示模式。如果还不行检查一下系统设置里的显示选项确认分辨率不是被手动锁定。我见过最离谱的情况是用户在系统设置里把分辨率调到了一个固定值然后过了很久都不知道为什么拖动窗口没有反应。7. 从能开机到真正好用的几条经验很多教程讲到这里就打住了但真正玩虚拟机的人都明白装完系统只是开始了后面日常使用的体验才是决定性的。这里分享几个长期使用心得。第一快照功能一定要用起来。VMware的快速快照可以在你进行危险操作之前保存一个时光机比如修改内核参数、安装不熟悉的软件包、调整网络配置不管操作成功还是失败一键就能回滚。每次安装大型软件或编译内核之前拍一个快照成本极低收益极高。快照不是越拍越好保留太多快照会让虚拟磁盘文件杂乱膨胀用完后及时删除旧快照。第二合理配置自动启动和关机策略。如果你把虚拟机当作本机服务使用可以设置让VMware Workstation在后台运行并且让Ubuntu响应宿主机关机信号这样能避免直接强制关闭虚拟机导致文件系统损坏。在虚拟机设置里勾选关闭客户机选项系统会在宿主机关机时优雅地关闭Ubuntu。日常工作结束后最好不要挂着无数未保存的会话就强行关闭VMware。第三善用NAT端口转发实现外部访问。在NAT模式下外部设备不方便直接访问虚拟机但VMware允许你在虚拟网络编辑器中为特定端口做转发。比如你想在虚拟机里跑一个80端口的Web服务然后从局域网里的手机访问可以配置端口转发规则宿主机8888端口转发到虚拟机IP的80端口。这样既保留了NAT模式的网络隔离又能让外部设备勉强访问到特定服务。第四把虚拟机里的开发环境做成可复用的模板。装好Ubuntu 18.04配好软件源、常用工具、SSH键再清理一遍系统日志和临时文件然后把这个虚拟机目录整个复制一份或者做成模板。下次需要一台新虚拟机时直接复制这个模板并调整参数半小时内就能拉起一个新环境不用再从零安装系统。需要注意的是复制虚拟机目录时要确保原虚拟机的快照已清理干净且虚拟机处于关闭状态否则复制出来的文件可能处于不一致状态。对于18.04这个版本虽然官方支持已经结束但社区资源和各种轮子依然丰富。如果只是需要一个稳定的Linux环境跑日常任务18.04在虚拟机里仍然表现非常可靠。最后分享一个小的实用技巧在Ubuntu 18.04里安装完系统后我习惯第一时间执行一次系统更新然后安装build-essential和git这两个基础包。它们不仅给后续编译各种软件铺路还能避免很多缺依赖类型的报错省得每次都要临时查包名和安装错误日志。经过这一步之后后续无论是装Python环境、Redis还是编译C项目都会顺畅很多。
阅读完成 · 觉得有帮助?