1. 写在开始之前:这套组合到底能帮你搞定什么事
我接触VMware加Ubuntu Server这套组合差不多有七八年了,从最早的VMware Workstation 14一路用到现在的17版本,Ubuntu也是从16.04一直追到22.04,中间踩过的坑堆起来能写一本小册子。这阵子看到不少人在问虚拟机装Ubuntu Server最小版的事,正好我最近刚在虚拟机里从零把22.04 LTS装了一遍,也顺手把网络配置、SSH远程登录、Docker部署这些后续操作全部跑通了,就想着把整个流程原原本本写出来,给需要的人省点折腾时间。
先说清楚这篇文章适合谁。你是刚接触Linux的小白也好,是Windows下用惯了图形界面想试试纯命令行服务器的老手也好,只要想在VMware虚拟机里跑一个干净、轻量、没那么多预装软件的Ubuntu Server,这篇文章都适合你。我会从ISO镜像下载开始,一步一步讲到VMware虚拟机的创建、系统的安装配置、网络设置、SSH连接,一直到装完Docker能正常跑容器为止,全程用非常直白的话讲,尽量不跳步骤。
为什么我会专门推荐最小版而不是完整版?因为在实际使用中,最小版镜像只包含系统运行必需的核心组件和SSH服务,装完后磁盘占用只有两三个GB,内存占用也就三四百MB左右。相比之下,完整版镜像会多出很多我们用不上的软件包,比如一些桌面环境组件、文档工具、示例代码之类的,白白占地方不说,还会增加被攻击的暴露面。作为服务器,软件越少、越干净,越好维护,这也是现在很多生产环境服务器都用最小化安装的原因。
有一点我想先说明白:原文素材对安装过程中“实际命令执行情况”交代得不多,所以我会在写流程的时候,把我在真实操作中验证过的步骤和命令补齐。整套流程我实测过不止一遍,你可以放心跟着做,做到哪一步有问题,直接跳到最后对应的排查部分找答案。
提示:我在每一步都会标注“为什么这么做”,不是为了凑字数,而是因为不理解原理的话,你就算这次照着装成功了,下次换个环境还是会卡住。这是很多教程忽略的地方,也是我想重点补上的部分。
2. 准备工作:镜像、工具和虚拟机参数规划
2.1 安装VMware Workstation Pro
很多人第一步就卡在VMware软件本身上。我默认你已经有一台Windows电脑,接下来需要先装一个虚拟化软件。目前市面上用得最多的是VMware Workstation Pro,版本建议直接用17.x,界面清爽,兼容性好,对Ubuntu 22.04的支持也最完善。之前用16及更老版本的朋友,如果你已经装了,界面差异不是特别大,流程一样能跟着走。
这里提醒一个容易踩坑的点:VMware Workstation Pro从17版本开始,官方对个人用户是免费使用的。我之前见不少朋友为了找个“激活码”折腾半天,其实完全没必要——直接去官网注册一个个人账号就可以拿到免费许可证。如果你装好后打开软件提示需要许可证,去软件的“帮助”菜单里找到“输入许可证密钥”,把个人免费密钥填进去就行。千万别去下载来路不明的破解版,那种包里面经常夹带乱七八糟的东西,为了省几十块钱搭上整台电脑的安全,不值当。
安装过程本身没什么好说的,一路下一步就行。需要注意的只有一个地方:安装到“自定义安装”界面时,建议把安装路径改到非C盘,VMware本身的安装包不算大,但后续虚拟机的磁盘文件会越来越大,如果你C盘空间紧张,虚拟机文件放C盘会非常难受。
2.2 下载Ubuntu Server 22.04 LTS镜像
镜像这块很多人搞不清该下哪个版本。首先明确一点:Ubuntu的服务器版本和桌面版本是分开的,桌面版叫Ubuntu Desktop,服务器版叫Ubuntu Server。我们要装的是Server版,下错了桌面版的话,整个教程就不对路了。
版本选择上,我建议直接下22.04 LTS,LTS是长期支持版,意味着官方会持续提供五年的安全和维护更新,一直到2027年。相比那种每九个月就出一个的短期版本,LTS版本在稳定性和资料丰富程度上都有明显优势,社区里大部分教程也都是基于LTS版本写的,遇到问题更容易搜到解决方案。
去Ubuntu官网的下载页面,找到Ubuntu Server那一栏,选择22.04 LTS。下载文件是一个.iso镜像文件,大小大约2GB左右。这里有一个大家经常会关注的“最小版”问题,需要仔细解释一下:
严格来说,Ubuntu Server的ISO镜像本身是统一的,但安装过程中会出现三种不同层次的“最小化”选择:
- Ubuntu Server的最小安装选项:在安装时选择“最小化”安装,系统只装核心组件,不装snap商店里的那些额外服务包,这是ISO内嵌的两套安装方案之一。
- Ubuntu Base mini ISO:官方提供的一种超小型网络安装镜像,只有几十MB,安装时通过网上下载所有组件。比较适合网络环境好、追求极致精简的场景。
- 虚拟机安装时选“最小安装”:这是指VMware创建虚拟机时,在系统安装完成前,通过引导选项实现的最精简安装。
实际操作中,我推荐用标准ISO镜像,在安装界面里选Minimized选项,这样既能控制安装包数量,又不至于像网络安装那么依赖网络环境。网上很多教程提到的“最小版”也基本都是这个意思——并不是有一个专门的精简版ISO等你下载。
注意:安装环境需要确保网络畅通。尤其是如果选择Minimized选项,安装过程中可能需要从软件源下载一些基础包,网络断了会直接卡住。
2.3 创建虚拟机前的参数规划
装VMware和下载ISO期间,我们可以先把虚拟机参数想清楚。一台虚拟机需要提前规划的参数无非是这几个:CPU核心数、内存大小、磁盘容量、网络模式。规划这些参数的时候稍微多想一点点,能避免后面频繁调整的麻烦。如果你拿不准,可以直接照抄我这套配置:
| 参数项 | 建议值 | 说明 |
|---|---|---|
| CPU处理器数量 | 2 | 每个处理器的核心数选1或2,总共留2~4核心即可 |
| 内存 | 2048MB(2GB)起步 | 如果只是想跑个系统测试,2GB够用;想装Docker和多个服务,建议4GB |
| 硬盘 | 20GB | 系统本身占2GB左右,剩余空间留给Docker镜像和数据 |
| 网络模式 | NAT | 虚拟机共享主机IP上网,稳定且不干扰局域网 |
| 系统类型 | Ubuntu 64位 | 选错位数会导致后续安装失败 |
CPU和内存的规划逻辑很简单:Ubuntu Server本身是很轻量的,2GB内存在最小安装下跑起来毫无压力,但如果你计划在虚拟机里跑Docker、MySQL这些服务,2GB就显得紧张了。我就是一开始分配了2GB,后来装了Docker和两个容器后明显感觉吃力,最后调到了4GB。所以说,内存尽量一次性给足,省得后面还要关机改配置。
磁盘大小同理,20GB是最低建议,如果你后面要玩容器、做数据存储,直接给40GB或更多也行。VMware的磁盘默认是“按需分配”的,也就是说你分20GB不是立刻占掉20GB,而是主机上实际用了多少才占多少,所以放心大胆分大一点,不会白占你主机硬盘空间。
至于网络模式,这里非常关键。VMware提供几种网络模式,常见的有桥接模式、NAT模式、仅主机模式。对新手来说,最省心的就是NAT模式:虚拟机通过主机共享IP上网,不需要额外配置什么网络参数,装完就能联外网。如果你选桥接模式,虚拟机虽然可以和局域网内其他设备互相访问,但会遇到IP分配、防火墙设置等一系列问题,新手容易卡住。
2.4 创建虚拟机的具体操作流程
参数规划好了,在VMware里创建虚拟机的具体步骤就很简单了。打开VMware Workstation Pro,主界面上点击“创建新的虚拟机”。在弹出的窗口里选择“典型(推荐)”,点“下一步”。这一步很多教程直接略过,我多说一句:典型和自定义的区别是,典型模式自动帮你处理了大部分兼容性设置,对新手友好;自定义适合需要精细控制硬件兼容级别的场景,一般用不上。
接着选择安装来源,这里选择“稍后安装操作系统”,然后点“下一步”。为什么选稍后安装?因为默认的“安装程序光盘映像文件”选项虽然可以直接挂载ISO,但VMware有时会自动检测系统类型,如果检测和你的ISO不匹配,后面启动时就会出问题。先创建一个空白虚拟机,再手动把ISO挂载进去,过程完全可控,操作也不复杂。
操作系统类型选择“Linux”,版本选择“Ubuntu 64位”。这里千万不能选错,如果你选成32位,后面挂载64位的Ubuntu ISO时会直接无法启动,提示找不到可引导的操作系统。内存和CPU按之前表格里规划的设置,磁盘也按规划的设。
创建完成后,先不要急着开机。在虚拟机列表里右键点这个虚拟机,选择“设置”,进入“CD/DVD(SATA)”选项,在右侧勾选“启动时连接”,然后在“使用ISO映像文件”处浏览并选择你刚下载的Ubuntu Server ISO镜像。确认无误后点“确定”,到这里虚拟机创建就算完成了。
3. Ubuntu Server最小版安装全流程实录
3.1 启动引导与语言选择
现在启动虚拟机,就会看到Ubuntu安装界面。这个界面有几种不同选项,包括正常安装、安全模式安装、磁盘检查等。直接回车选第一项正常安装就行。启动过程大概需要一两分钟,会看到屏幕上一堆日志刷过去,这是正常的,不用担心。
系统启动完成后会自动进入安装程序,也就是Subiquity安装器。这个安装器现在做得非常完善,全程几乎不需要命令行操作,所有的配置都可以通过交互式界面完成。这一步刚开始时会出现一个语言选择界面,建议选English,原因有两个:一是后续所有安装步骤和系统里的目录名都用英文,避免编码问题影响系统稳定性;二是如果遇到问题去搜索引擎找解决方案,英文资料的覆盖面和准确度都更高。如果你英文实在吃力,选简体中文也不是不行,系统装完后可以再改。
3.2 安装配置的几个关键界面
语言选择后,安装器会依次问你几个问题。逐一说明一下:
更新方式:安装器会问你是否导入OpenSSH公钥,以及使用什么方式安装系统。这一步有三个选项:Ubuntu Server(完整版)、Minimized(最小化)、还有第三方驱动安装等。我们要选的就是Minimized最小化安装。这个选项会跳过很多非必备的软件包,只保留核心系统、SSH服务和基础的软件管理器,效果就是系统体积小、启动快、内存占用少。如果你选了完整版,效果相当于桌面版去掉图形界面,多了一堆你用不上的包,不建议。
网络配置:这一步安装器会自动检测你的网卡。在NAT网络模式下,网卡通常会自动通过DHCP获取IP地址。安装界面会显示网卡名称和已获取到的IP信息,比如ens33配合一个192.168.x.x的地址。这里不需要做任何修改,直接回车下一步即可。如果你看到网卡显示没有IP地址,说明DHCP没有正常工作,最常见的可能性是VMware的网络服务没有启动,这时可以关掉VMware,在Windows服务里找到VMware NAT Service,确认它是启动状态,再重新打开虚拟机。
代理设置:这个直接留空,回车下一步。除非你所在的网络环境确实需要代理才能访问外网,否则填写代理反而可能造成软件源访问异常。
软件源镜像地址:安装器会让你确认Ubuntu的软件源地址。默认是archive.ubuntu.com,这个地址在国内访问速度一般,如果网络状况不是特别好,建议改成国内镜像源,比如清华的mirrors.tuna.tsinghua.edu.cn或者阿里的mirrors.aliyun.com。这一步改好的话,后续安装软件、更新系统的速度会明显快很多。需要说明一点,这里只是配置了安装器本身使用的软件源,系统装好后软件源在/etc/apt/sources.list里配置,安装完需要重新设置。
磁盘分区:安装器会问你要不要把整个磁盘都分配给Ubuntu,直接选“Use An Entire Disk”并回车就行。如果你是新手,完全不用在这里手动分区——Ubuntu默认的LVM逻辑卷管理方案已经足够好用了,它会自动创建必要的分区,也方便后续扩容。磁盘加密和LVM组配置都保持默认,这些属于进阶玩法,新手暂不需要关心。
个人账号设置:安装器会要求你创建用户名和密码,同时给服务器起一个主机名。密码强度有一定要求,建议用大小写字母加数字的组合。主机名可以随便起,比如ubuntu-server或者你的项目名。还有一个**“Import SSH key”**的选项,如果你之前没有配置过SSH密钥对,直接跳过即可,后续我们可以在系统装完后自己配置。
3.3 安装过程中需要了解的软件包选装逻辑
上面提到安装器会询问一些软件包选项,比如安装OpenSSH服务器。如果你在选择“安装OpenSSH server”时勾选了,系统装完后就会自动开启SSH服务,非常方便。我建议直接在安装过程中勾选上,省得后面手动安装。整个安装过程大约需要5~10分钟,取决于你的网速和电脑配置。安装完成后系统会提示你重启,选择“Reboot Now”重启虚拟机即可。
重启过程中会提示你移除安装介质。在VMware里这个操作就是一个下拉菜单的事:等虚拟机界面出现重启提示后,在工具栏“虚拟机”菜单里找到“可移动设备”,选择“CD/DVD”,然后点“断开连接”。不过即使你不手动断开,虚拟机重启后大概率也不会再进入安装程序,因为VMware在创建虚拟机时已经把CD/DVD设置为“启动时连接”,但VMware不会真的去引导未连接的ISO。实际验证下来,重启后正常进入系统就可以,不用太在意这一步。
当屏幕出现server login:提示符时,输入你在安装过程中设置的账号密码,就能顺利登录系统了。看到类似于root@ubuntu-server:~#的命令行提示符的那一刻,恭喜你,Ubuntu Server最小版安装成功。
4. 系统装完后的初始化配置
4.1 网络与SSH远程登录配置
系统装完后,第一件要做的事是确认网络状态。执行ip addr命令查看网卡的IP地址。正常情况下你会在输出里找到类似ens33的网卡名称,并看到一个inet一行的IP地址。如果看不到IP地址,说明网卡没有自动获取到IP,这时可以检查一下/etc/netplan/目录下的yaml配置文件,确认网卡配置是dhcp4: yes。
Ubuntu Server 22.04的网络配置和旧版本有区别,旧版本用的是/etc/network/interfaces,22.04用的是Netplan管理的yaml文件。执行sudo nano /etc/netplan/00-installer-config.yaml可以查看和修改网络配置,默认内容通常长这样:
network: ethernets: ens33: dhcp4: true version: 2如果你改动了这个文件,需要执行sudo netplan apply让配置生效。这个步骤很多新手会漏掉,改完文件直接就想看到效果,结果发现没变化,就是这个命令没执行的原因。
关于SSH远程登录,如果你在安装过程中勾选了OpenSSH server,那么现在就可以在你Windows主机上打开终端软件(比如Windows 11自带的Terminal,或者你喜欢的PuTTY、MobaXterm等),执行ssh 用户名@IP地址来远程登录虚拟机。如果提示SSH连接被拒绝,先检查一下虚拟机里SSH服务是否在运行:sudo systemctl status ssh,如果显示服务没起来,执行sudo systemctl start ssh,并设置开机自启:sudo systemctl enable ssh。
这里有个很实用的心得:在VMware里,你可以直接用鼠标点进虚拟机窗口操作,也可以按
Ctrl+Alt释放鼠标回到Windows桌面。如果你用鼠标操作虚拟机界面时不方便复制粘贴命令,建议直接在Windows上通过SSH登录虚拟机,这样复制命令、查看文档都方便得多。这是我在实际使用中觉得最提升效率的一个操作习惯。
4.2 apt软件源切换与系统更新
刚装完的系统,首先要做的事是更新软件源索引并升级现有软件包。Ubuntu 22.04默认的软件源是archive.ubuntu.com,在国内访问速度不太稳定。切换到国内镜像源的方式如下:
使用sudo nano /etc/apt/sources.list打开源列表文件,把里面的archive.ubuntu.com和security.ubuntu.com替换成你选择的国内镜像地址。以清华源为例,全部替换成mirrors.tuna.tsinghua.edu.cn即可。替换后运行:
sudo apt update这个命令会从新的软件源下载包索引列表,本质上就是把“可用的软件包名单”同步到本机。然后运行:
sudo apt upgrade -y这个命令会把你系统里已有的软件包升级到最新版本。-y参数的作用是自动回答“是否继续”的确认提示,免得升级过程中还要盯着屏幕手动回车。首次升级的软件包数量可能比较多,耗时长短取决于你的网速。升级完成后建议重启一次,让内核等关键组件完全生效:
sudo reboot这一步做完,你的系统才处于一个“能正常工作”的状态。很多新手装完系统后直接开始装软件,结果要么软件源慢到要死,要么装一半报依赖错误,根源都在于没先做这一步更新。
4.3 创建快照:给你的系统上一道保险
系统配置到这里,已经是个能跑的基本环境了,这时候我强烈建议你做一个VMware快照。快照的意思是记录当前虚拟机的完整状态,就像给系统拍一张照片,以后不管你怎么折腾,都可以一键恢复到当前这个状态。
操作方式很简单:在VMware工具栏点击“虚拟机”菜单,选择“快照”,再点“拍摄快照”,给快照起个名字,比如系统初始状态,然后点确定。快照拍摄过程需要十几秒到几十秒不等,期间虚拟机可能会短暂卡顿,正常现象。
这个习惯我从很早就养成了。每次我把系统调到“干净可用的状态”,必然先做一个快照。后面无论是要测试某个软件,还是大改配置文件导致系统崩溃,一个快照就能回到原点。没有快照,万一出问题只能重装系统,那滋味我尝过太多次了。
4.4 安装基础软件与Docker
系统更新完、快照也拍完了,现在可以根据你的实际需求安装软件了。对一个服务器来说,最基础的软件包括:vim或nano(文本编辑器,nano系统自带)、curl和wget(下载工具)、git(版本管理工具)等。执行:
sudo apt install -y curl wget git vim这里再重点说说Docker的安装。热词里出现了好几次“ubuntu安装docker”,可见需求很普遍。Ubuntu Server作为服务器系统,最常用的用途之一就是跑Docker容器。安装Docker的方式有几种:官方推荐通过官方apt源安装,一条命令搞定:
curl -fsSL https://get.docker.com | sudo sh这个脚本会自动检测你的系统版本、配置软件源并安装Docker引擎及配套的docker compose插件。安装完成后,执行:
sudo usermod -aG docker $USER这个命令把你的当前用户加入docker用户组,以后你就不用每次执行docker命令都加sudo了。执行完这个命令后,需要重新登录一次才生效,直接执行exit退出SSH再重新连接即可。
验证Docker是否正常:
docker version能看到客户端和服务端的信息,说明Docker装好了。试着跑一个测试容器:
docker run hello-world这个命令会拉取一个测试用的镜像并运行它,如果输出一段欢迎信息,说明整个链路都通了。如果你能顺利完成这一步,你的Ubuntu Server最小版虚拟机已经从一个“刚装好的裸系统”,变成了一个“能跑服务的可用环境”。
5. 常见问题与排查技巧实录
5.1 安装阶段典型问题速查
我整理了一下这些年帮人排查虚拟机安装Ubuntu问题时遇到的最高频的几个坑,做成表格方便你对照排查:
| 问题现象 | 可能原因 | 解决办法 |
|---|---|---|
| 虚拟机启动后黑屏或卡在VMware标志 | 系统类型选错(32/64位不匹配) | 关机,编辑虚拟机设置,确认系统类型为Ubuntu 64位 |
| 虚拟机无法启动,提示找不到操作系统 | ISO未正确挂载 | 检查虚拟机设置里的CD/DVD是否已勾选“启动时连接”并指向正确的ISO文件 |
| 安装界面显示网络不通,DHCP获取不到IP | VMware NAT服务未运行 | 重启VMware或手动启动VMware NAT Service服务 |
| 安装过程中下载软件包非常慢或失败 | 软件源国外地址访问慢 | 安装时选择国内镜像源,或安装后切换apt源重试 |
| 系统装好后重启再次进入安装界面 | 安装程序未退出 | 在虚拟机里拨出虚拟光驱,或在BIOS启动顺序里把硬盘调整为第一启动项 |
5.2 登录失败与SSH连接问题
热词里出现了“登录失败:failed to start login server: 以一种访问权限不允许的方式做了一个访”这个搜索词,虽然多数情况下它是其他软件(尤其是一些图形界面工具)的报错,但也提示了一个重要场景:登录相关的问题很容易让人头疼。在Ubuntu Server场景下,最常见的“登录失败”其实有两类:
一类是安装完成后在控制台登录时提示密码错误。如果你确认密码没记错,最大的可能是安装过程中键盘布局选择了非英语,导致密码里的某些符号和数字键位和你想输入的不一致。解决办法很粗暴:重装系统时把键盘布局明确选为English(US),或者安装后重新配置键盘布局:sudo dpkg-reconfigure keyboard-configuration。
另一类是SSH登录时报Permission denied (publickey,password)。这种问题常见的原因是你在Windows上使用SSH客户端时,连接的用户名或IP地址输入有误。注意,SSH登录时用户名的格式是用户名@IP地址,其中用户名必须是你安装时创建的那个,不是root。Ubuntu默认禁用了root账户的SSH登录,如果想用root直连需要额外配置,不建议新手这么干,日常操作使用sudo就够了。
5.3 网络配置与软件源相关问题
在安装完系统后,如果你发现虚拟机里能访问外网,但是宿主机访问不了虚拟机里的服务(比如你启动了一个Web服务想从Windows浏览器里访问),大概率是防火墙的问题。Ubuntu Server默认是安装并启用了ufw防火墙的,虽然默认规则是不拦截任何流量,但你如果自己开启过防火墙,就要确保端口是放开的。查看防火墙状态:
sudo ufw status如果你需要开放某个端口,比如开放22端口:
sudo ufw allow 22/tcp关于NAT模式下宿主机访问虚拟机的问题,NAT模式下虚拟机对外表现为一个隔离的网络,宿主机可以访问虚拟机,但局域网内其他电脑不能直接访问。如果你需要让其他电脑也能访问这台虚拟机,需要改用桥接模式,或者在VMware里配置端口转发。端口转发的意思就是把虚拟机某个端口映射到主机端口上,比如把虚拟机的22端口映射到主机的2222端口,这样外部设备就可以通过主机的2222端口SSH到虚拟机了。
5.4 系统启动与性能问题的排查
最小版本身非常轻量,理论上不应该出现明显的性能问题。但虚拟机的性能受宿主机资源影响很大。如果你觉得虚拟机运行卡顿,首先检查宿主机内存占用是否过高,打开任务管理器看一下内存使用情况。另外,VMware默认会为虚拟机分配动态内存,这个选项在虚拟机设置的“内存”里可以看到,勾选“预留所有客户机内存”会锁定内存,提高稳定性,代价是宿主机可用的内存变少了。
还有一种常见情况:虚拟机的磁盘空间满了。虽然我们创建时分配了20GB,但如果你后面装了Docker、拉了一堆镜像,空间很快就会紧张。排查方式:
df -h这个命令会显示当前磁盘使用情况。如果磁盘满了,可以清理Docker的缓存镜像:
docker system prune -a或者扩容虚拟机磁盘(需要在VMware里扩,然后到系统里扩展分区)。这个操作相对复杂,我建议一开始磁盘就给够,比如40GB,省得以后扩容折腾。
5.5 安装Docker后的容器启动异常
Docker装好后,可能会碰到docker run时报错,常见的是Cannot connect to the Docker daemon。这个报错的根本原因是当前用户没有操作Docker的权限,或者Docker服务没有启动。解决办法依次排查:
sudo systemctl status docker sudo systemctl start docker sudo systemctl enable docker如果你已经执行过usermod -aG docker $USER但依然提示这个错误,不要怀疑自己操作错了,执行exit退出SSH重新登录一次,或者直接重启虚拟机,让用户组变化生效。这个问题出现的频率相当高,但原因就是权限这一件事,排查起来不难。
6. 一些小技巧和使用心得
装了这么多次系统,有几件小事我觉得还是挺值得分享的。
第一件是关于VMware的“Unity模式”和“拖拽文件”。Ubuntu Server没有图形界面,所以VMware的很多图形功能并不能用。不过你依然可以把文件从Windows直接拖进虚拟机窗口里吗?不行,VMware Tools的Open-VM-Tools在Server版里默认不安装,而且即使装了,拖拽文件功能也需要图形环境支持。我个人的做法是用SCP或者SFTP传文件,命令很简单:
scp /path/to/local/file 用户名@虚拟机IP:/home/用户名/如果想要一个图形化的SFTP工具,推荐WinSCP和FileZilla,设置方式和SSH一样,主机名填虚拟机IP,用户名密码就是你的系统账号密码。上传下载文件非常直观,比命令行舒服很多。
第二件是关于虚拟机备份。除了VMware的快照功能,我还会定期用VMware的“克隆”功能做完整备份。克隆出来的虚拟机是完全独立的副本,可以随时用来测试危险操作而不用担心弄坏主力环境。做克隆之前先关机,然后在虚拟机菜单里选择“管理”–“克隆”,跟着向导走就行。
第三件是关于学会看日志。系统出问题时,尤其是服务无法启动时,最有效的排查方式是看日志。Ubuntu Server上查看系统日志的命令是:
sudo journalctl -xejournalctl是整个系统日志的查看工具,-xe参数的含义是跳到最近的错误信息并显示详细内容。这条命令的输出可能很乱,但你能从里面找到一些关键词,比如Failed、Error、Cannot之类的,然后复制这些关键词去搜索引擎搜答案。这个排查思路,比盲目重启系统、重装软件高效得多。
以我自己的经验,把这套流程完整走下来后,你得到的不仅仅是一个“装好了的虚拟机”,更重要的是你会对整个安装过程、网络结构、系统启动机制、软件包管理有一个完整的概念。之后再遇到任何Linux相关的问题,你起码知道该从哪里入手排查。装系统的过程本身就是在学Linux,这句话我越用越觉得在理。后面如果你想在这台服务器上搭网站、搭数据库、跑自动化脚本,顺着这篇文章的基础往下走,路子就顺了。