
Ubuntu 的版本史表面看是一串代号和数字实际上是桌面 Linux 真正走向普通用户的一本成长日记。很多人现在把 Ubuntu 当作“最容易上手的 Linux”但很少人知道从 4.10 到 19.04这个系统经历了从光盘邮寄到在线安装、从界面简陋到桌面完善、从“能用”到“用来跑服务器也稳”的完整转变。这篇文章不是只给你列版本号我会从实际使用的角度拆一遍 Ubuntu 这段演进过程顺便把很多新手常问的安装、双系统、中文输入法、软件源、网络配置、Docker 部署这些话题串进去讲。如果你正准备接触 Ubuntu或者已经装了 Ubuntu 但不太理解它的版本逻辑这篇会比较适合你。1. 从 4.10 到 19.04先搞清楚 Ubuntu 为什么会是现在这个样子1.1 第一张光盘和那句“坚持要免费”Ubuntu 的第一个正式版本是 4.10发布于 2004 年 10 月。它的命名规则非常直白4 代表 2004 年10 代表 10 月。所以 4.10 就是“2004 年 10 月发布的版本”。这个规则一直用到现在Ubuntu 22.04 就是 2022 年 4 月Ubuntu 24.04 就是 2024 年 4 月。理解了这套命名你就不会再把网上看到的“26.04”理解成一个已经存在的版本——它更像是对未来某个 LTS 长期支持版本的民间预期。4.10 时期的 Ubuntu安装方式还是光盘。当时很多人是在 Windows 里下载 ISO 文件刻录成光盘再重启进入安装界面。那个年代的 Linux 发行版很多但 Ubuntu 早期给人印象最深的一点是它明确说要让 Linux 对普通用户友好而不是只给服务器管理员或者程序员用。后来 Ubuntu 也做过免费光盘邮寄申请很多人都是靠那张光盘第一次在真实硬件上体验 Linux。我每次看这段历史都会感慨一个点现在大家装 Ubuntu 基本是 U 盘启动几分钟就能进桌面但在 4.10 时代双系统、显卡驱动、声卡、无线网卡都有可能是安装失败的拦路虎。所以后来 Ubuntu 花了很多精力去优化硬件兼容性尤其是笔记本场景。1.2 6.06 LTS第一次有“长期支持版本”这个概念2006 年的 6.06 是 Ubuntu 第一个 LTS 版本全称是 Long Term Support长期支持版本。这个概念的推出对 Ubuntu 的传播非常关键。LTS 版本有更长的维护周期桌面版一般支持 3 年服务器版支持 5 年后来一些版本甚至延伸到 10 年。这意味着企业、学校、服务器运维人员可以放心装一个版本几年内都不用被迫大版本升级只要持续更新安全补丁就够了。对于普通桌面用户来说LTS 版本也比非 LTS 版本更稳因为软件包、驱动、内核都经过了更长时间的测试。从 6.06 开始Ubuntu 实际上分成了两条线每两年一次的 LTS 版本比如 6.06、8.04、10.04、12.04、14.04、16.04、18.04、20.04、22.04、24.04。每半年一次的普通版本比如 7.10、8.10、9.04只支持 9 个月适合喜欢新功能的用户。我现在给别人推荐 Ubuntu第一句话基本都是如果你是新手或者要生产环境优先选 LTS别追普通版本。1.3 11.04 的 Unity 界面一次争议很大的设计变革2011 年的 11.04Ubuntu 放弃 GNOME 2 的传统桌面转向自研的 Unity 界面。这个改动在当时争议很大。Unity 把程序启动栏放在屏幕左侧顶部有全局菜单栏窗口按钮也调整了位置。很多人觉得这会打断原本使用 GNOME 的习惯但也有不少人觉得 Unity 在有限屏幕空间下更紧凑更适合笔记本。从历史角度看Unity 是 Ubuntu 尝试建立自己桌面生态的一段重要经历。虽然后来 Ubuntu 在 17.10 版本又切回了 GNOME但 Unity 时期积累的很多设计思路比如 HUD、通知中心、系统设置整合都影响了之后 Ubuntu 桌面的发展方向。对我来说这个版本最大的实际意义是提醒后来的用户不要害怕界面变化。Linux 桌面的特点就是可定制、可切换今天你不喜欢 Ubuntu 默认桌面以后可以装 GNOME、KDE、XFCE、Cinnamon选择非常多。1.4 18.04 LTS 和 19.04往稳定和现代化继续走18.04 Bionic Beaver 是很多人真正开始用 Ubuntu 的版本。它基于 GNOME 3.28重新启用了高度可定制的工作流支持 Wayland 显示服务器也默认使用 netplan 来管理网络配置。18.04 的稳定性表现让它在服务器市场获得了很好的口碑。很多云服务器默认镜像就是 Ubuntu 18.04我当年不少部署任务都在这个版本上跑 Docker、Nginx、MySQL、Python 服务基本没有遇到什么奇怪的发行版问题。紧接着的 19.04 Disco Dingo 属于普通版本只支持 9 个月。它主要带来了内核更新、文件系统体验优化、桌面性能改进。这个版本不是给生产环境用的更多是给开发者和喜欢追新的人提前体验。类似的普通版本还有 19.10、20.10、21.04、21.10、23.04、23.10它们的作用是测试新特性然后把成熟的部分沉淀到下一个 LTS 里。所以你看Ubuntu 的版本演进不是简单地“每半年换个数字”它有一套相当清晰的节奏普通版本负责尝鲜和收集反馈。LTS 版本负责稳定和长期维护。下一代 LTS 会把前两年普通版本里验证过的改动纳入进来。理解了这套逻辑你在选择版本的时候就不会迷茫。2. 版本代号、软件源和系统升级这些才是 Ubuntu 日常使用里最常碰到的部分2.1 代号不重要但你知道吗Ubuntu 每个版本除了数字编号还有一个动物代号比如 4.10 是 Warty Warthog18.04 是 Bionic Beaver19.04 是 Disco Dingo。数字编号决定发布顺序和日期动物名更多是社区文化的一部分。实际使用中你不需要记住每个代号。但你会发现很多配置文件、下载源地址、软件仓库路径里面会出现代号名。比如软件源文件里的bionic、focal、jammy分别对应 18.04、20.04、22.04。有一次我在一台老机器上换源看到bionic就知道这台机器装的是 18.04。如果你看到源地址里的代号和系统版本对不上更新时很容易出现 404 或者依赖冲突。所以这里记住一个核心判断方法lsb_release -a执行后能看到当前 Ubuntu 的发行版版本号和代号。后续配置软件源、安装驱动、找安装教程都以这个命令的输出为准。2.2 软件源Ubuntu 能不能顺利装软件先看它很多新手装完 Ubuntu 第一件事是打开浏览器下载各种软件包其实更正确的做法是先配置好软件源。软件源就是存放软件包的服务器地址。Ubuntu 默认源在国外在国内网络环境下可能会慢。常见的做法是换成国内镜像源比如清华、阿里、中科大等。以 Ubuntu 22.04 为例软件源配置文件一般是/etc/apt/sources.list或者/etc/apt/sources.list.d/ubuntu.sources不同版本路径有差异修改前最好备份原文件。替换之后执行sudo apt update sudo apt upgrade这两条命令一个是刷新软件包索引一个是升级已安装的软件包。如果你发现 sudo apt update 时大量连接超时、速度很慢或者提示某些软件源无法访问多半是源的问题。这里我要特别提一句不要看到网上教程就复制一串竖线|拼接的命令来换源最好手动打开源文件先确认系统代号再替换对应行。源文件写错会导致 apt 大面积报错处理起来比换源本身还麻烦。2.3 系统升级LTS 版本之间怎么升如果你用的是 Ubuntu 18.04想升到 20.04 或 22.04一般有两种路径在线升级打开“软件与更新”在“更新”标签页把“有新版本时通知我”改为“长期支持版本”然后执行系统更新。命令行升级先执行sudo do-release-upgrade工具会自动检查当前版本和最新 LTS 版本。但线上升级有个前提当前系统要足够干净软件源配置正确磁盘空间充足。升级过程一般需要较长时间期间不要断电、不要关闭终端。如果你是在生产服务器上升级建议先做快照或者整机备份。我个人的建议是如果你的 Ubuntu 用得挺稳不着急追新完全可以等到当前 LTS 支持周期快结束再考虑升级。服务器的稳定运行比新版本功能重要得多。2.4 桌面版和服务器版镜像一样安装时选择不同很多人会问 Ubuntu 桌面版和服务器版到底有什么区别。从镜像角度看Ubuntu 官方提供 Desktop 和 Server 两种安装镜像但核心软件源是一致的。桌面版默认装了 GNOME 桌面、浏览器、办公软件、多媒体工具服务器版默认不装图形界面更精简占用资源更少。如果你只想学 Linux 命令或者要搭一个跑服务的机器可以选择 Server 版。如果你想日常办公、写代码、看视频、装中文输入法那桌面版更合适。从用途来看桌面版适合个人电脑、笔记本、开发机、学习 Linux 环境的入门用户。服务器版适合云服务器、学校机房、公司内网服务器、跑 Docker/K8s 的节点、嵌入式开发环境。但这不是绝对的。Ubuntu 桌面版装好后你也可以手动安装 Docker、Nginx、MySQL 等服务器软件。服务器版也可以后期安装桌面不过需要额外配置显示管理器过程略繁琐。3. 从热门搜索词看 Ubuntu 初学者的真实需求我梳理了一下和 Ubuntu 相关的热门搜索词发现大部分都是安装、配置、命令、虚拟机这些基础操作。这其实说明一个问题很多人卡住的不是复杂的 Linux 原理而是最开始的安装和环境配置。3.1 ubuntu 安装和 ubuntu 双系统安装先摸清自己电脑情况搜索“ubuntu安装”和“ubuntu双系统安装”的人数非常多。安装 Ubuntu 本身不难难的是在安装前想清楚你这台电脑、这个使用场景适不适合双系统。我建议按这个顺序准备确认电脑硬盘空间最好预留 100GB 以上给 Ubuntu。备份重要数据至少把 Windows 里的文档、图片、项目代码备份到移动硬盘或网盘。关闭 Windows 快速启动否则 Ubuntu 可能无法正常挂载 NTFS 分区。制作 U 盘启动盘推荐用 Rufus 或 balenaEtcher。BIOS/UEFI 里设置 U 盘启动进入 Ubuntu 安装界面。分区时选择“与 Windows 共存”或者手动分区。比较稳妥的做法是先装虚拟机。虚拟机的好处是安装失败了不影响主系统适合第一次接触 Ubuntu 的人练手。搜索量里“vmware虚拟机安装ubuntu”和“虚拟机安装linux”排在前面说明很多人已经在用这种方式尝试了。虚拟机和双系统的取舍虚拟机方便、安全、适合学习和临时使用但性能有损耗显卡直通麻烦。双系统性能接近原生适合开发、深度学习、嵌入式编译等场景但占用磁盘空间切换系统需要重启。如果你要跑机器学习训练、ROS、嵌入式 Linux 开发我建议双系统或直接装 Ubuntu 单系统。如果只是体验或者写写脚本虚拟机完全够用。3.2 ubuntu 中文输入法搜狗输入法为什么总被搜到“搜狗输入法 ubuntu”和“ubuntu安装搜狗输入法”搜索量很高这很真实。因为中文输入法在 Linux 桌面环境里一直是痛点之一。Ubuntu 默认带的 IBus 框架和汉字输入方案可以打中文但不少人的候选词、词库、快捷键和 Windows 习惯不太一致所以会去装搜狗输入法。搜狗输入法 for Linux 是基于 Fcitx 输入法框架的安装步骤一般这样安装 fcitx 和 fcitx-config-gtk3。下载搜狗输入法 Linux 版 deb 包。安装后重启系统或注销重新登录。在系统设置里把输入法框架切换为 fcitx。添加搜狗输入法。要注意的是搜狗输入法对桌面环境版本有一定要求。Ubuntu 22.04 之后默认使用 GNOME 的 Wayland 会话fcitx5 的兼容性比 fcitx4 更好。如果你在 Wayland 下面发现输入法无法调用可以登录界面选择“Ubuntu on Xorg”再试。如果你不想装第三方输入法直接用系统自带的 IBus 也可以。安装中文语言包之后在“设置 - 键盘 - 输入源”里添加“汉语”然后切换快捷键一般就能唤出中文输入。3.3 ubuntu 网络配置很多服务器启动后第一件事搜索“ubuntu网络配置”排名很靠前尤其在云服务器场景里很常见。Ubuntu 18.04 之后网络配置方式和以前不一样了。以前 Ubuntu 使用/etc/network/interfaces现在默认使用 netplan配置文件是/etc/netplan/01-netcfg.yaml这个文件里可以配置 DHCP 自动获取地址也可以配置静态 IP 地址、网关、DNS。network: version: 2 ethernets: eth0: dhcp4: true配置静态 IP 的示例network: version: 2 ethernets: eth0: addresses: - 192.168.1.100/24 routes: - to: default via: 192.168.1.1 nameservers: addresses: - 223.5.5.5 - 114.114.114.114改完配置文件要先执行sudo netplan apply再执行ip addr确认地址是否生效。如果改完发现连不上 SSH很可能是 IP、网关、DNS 写错了或者 YAML 缩进有问题。网络配置这块最常见的问题就是图形界面或者云控制台里看网络正常但系统内部上不了网。这时候先ping 网关再ping 公共 IP最后ping 域名就能定位是网关问题、DNS 问题还是路由问题。3.4 linux 常用命令和运维绕不开的基础功“linux常用命令大全”“linux常用命令大全运维”“linux命令大全手册”这些搜索词说明很多人接触 Ubuntu 之后最需要的是命令能力。我平时会按场景把常用命令分成几组文件操作ls、cd、cp、mv、rm、find、tar。系统信息uname -a、free -h、df -h、top、htop。用户和权限useradd、passwd、chmod、chown、sudo。网络排查ping、ip addr、ss -lntp、curl、wget。服务管理systemctl start/stop/status/enable。很多人会问需不需要背命令。我的看法是不用刻意背但一定要理解“命令 选项 参数”的结构。多用几遍自然就记住了。把常用命令整理成一个笔记文件放在自己看得见的地方效率比死记硬背高得多。3.5 linux 提权搜索这个词时要想清楚场景搜索词里出现了“linux提权”。我不展开讲渗透测试里的技术细节但有一点要强调如果你不是在做授权范围内的安全测试或 CTF 练习不要在别人的服务器上尝试提权。这在现实中有法律风险。在合法的系统管理场景里普通用户需要通过sudo获取管理员权限执行命令这是 Ubuntu 默认的权限控制方式。root 用户可以修改系统核心配置、安装软件、管理用户和组。日常使用中尽量不要用 root 用户登录桌面也不需要一直开 root 终端。该加sudo的地方加sudo习惯之后安全性会好很多。4. 虚拟化和开发环境现代 Ubuntu 用户最集中的学习方向4.1 vmware 虚拟机安装 ubuntu为什么建议先试这一条路刚才提过虚拟机。对于刚接触 Ubuntu 的人来说VMware Workstation 里装 Ubuntu 是一个很友好的路径。步骤大致是下载 Ubuntu ISO 镜像建议用 LTS 版本。VMware 里新建虚拟机选择“稍后安装操作系统”。客户机操作系统选 Linux版本选 Ubuntu 64 位。分配 CPU、内存和磁盘。一般至少给 2 核 CPU、4GB 内存、60GB 磁盘。加载 ISO 镜像启动虚拟机。按照 Ubuntu 安装向导完成安装。虚拟机里装 Ubuntu 的一个好处是你可以随时拍快照。装系统、装软件、做测试出问题了回滚快照不用重新安装整个系统。这对学习 Ubuntu 的人来说特别友好。需要注意虚拟机里体验 Ubuntu 会有一定的性能损耗打开大型软件或者做桌面特效时会感觉比原生系统慢。这属于正常现象不用以为是 Ubuntu 本身卡。4.2 ubuntu 安装 docker从历史版本到现代部署工具Docker 是现在 Ubuntu 服务器上最常用的容器工具。安装 Docker 的正确姿势其实从 18.04 之后一直比较稳定。官方推荐通过 apt 仓库安装sudo apt update sudo apt install ca-certificates curl gnupg lsb-release然后添加 Docker 官方 GPG 密钥和仓库再安装 docker-ce、docker-ce-cli、containerd.io。安装完成后检查sudo docker run hello-world如果本地没有镜像Docker 会自动拉取并运行。看到 “Hello from Docker!” 就说明安装成功。我在这个过程中最容易遇到的问题有几种添加仓库时网络延迟高、GPG 密钥导入失败、Ubuntu 版本太老导致仓库里没有对应包。遇到这些问题建议先检查软件源、DNS 和防火墙不要反复盲目执行安装命令。如果你用国内云服务器也可以用国内镜像加速 Docker 拉取镜像。修改/etc/docker/daemon.json添加 registry-mirrors 配置然后重启 docker 服务即可。4.3 linux 系统安装 python别小看版本管理“linux系统安装python”也是一个高频搜索词。Ubuntu 系统默认可能自带 Python3但不一定是最新版本。很多开发项目会要求特定 Python 版本。不建议直接卸载系统自带 Python因为 Ubuntu 的部分系统工具依赖它。更推荐用 pyenv 或 conda 来做版本管理。用 pyenv 的流程大概是安装 git、curl、build-essential、libssl-dev 等依赖。安装 pyenv。用 pyenv install 安装指定 Python 版本。在项目目录里设置 local 版本。这样做的好处是不同项目可以用不同 Python 版本互不干扰。而且不会破坏系统自带的 Python 环境。如果你只是写点脚本系统自带的 Python3 加 pip3 通常就够用了。装第三方包时注意加--user参数避免因为权限问题改到系统目录。4.4 嵌入式 Linux 和开发板WSL、共享文件、显卡驱动这些场景热门搜索里还有“嵌入式linux项目”“开发板挂载ubuntu”“windows与linux共享文件”“ubuntu查看显卡驱动”这些词。它们代表了另一类 Ubuntu 用户做嵌入式、做 AI、做硬件开发的开发者。嵌入式 Linux 开发板挂载 Ubuntu一般是通过 NFS 或 SSH 在开发板和 Ubuntu 主机之间交换文件。共享文件时Windows 与 Ubuntu 之间可以用 Samba、SSHFS 或者直接用 VirtualBox/VMware 的共享文件夹功能。显卡驱动方面Ubuntu 查看当前驱动最常用的命令nvidia-smi如果提示没有 NVIDIA 驱动可以先看系统设置里的“软件和更新 - 附加驱动”选择推荐的 NVIDIA 驱动版本。也可以手动安装但要注意内核版本和驱动版本的兼容性。我在这个环节踩过不少坑最后总结出几条经验先确认 GPU 型号和系统架构再选驱动。不要在 Wayland 会话下折腾比较复杂的老旧 CUDA 环境Xorg 兼容性通常更好。驱动安装后重启系统可能提示安全启动证书问题。这时候需要进入 BIOS 关闭 Secure Boot或者注册 MOK 密钥。4.5 WSL 的小问题很多人会遇到但不知道原因搜索词里有“适用于 linux 的 windows 子系统必须更新到最新版本才能继续。可通过运行 wsl.e…”这明显是 WSL 使用中弹窗报错。这种情况通常发生在 Windows 旧版本或者 WSL 内核版本不匹配时。解决办法一般是打开命令提示符执行wsl --update。执行wsl --set-default-version 2。如果仍然报错检查 Windows 版本和 WSL 内核版本。WSL 对学习和开发来说很方便但它的文件系统性能和真实的 Ubuntu 还是有差距。如果你的项目涉及编译大型软件、跑 GPU 训练、操作裸设备更建议直接装双系统或者真机 Ubuntu。5. 在同一段历史里找到适合自己的 Ubuntu5.1 不同人群该怎么选版本从 4.10 到 19.04再到最近的 LTS 版本Ubuntu 的版本选择已经比较成熟了。我的建议可以按人群分新手学习优先 Ubuntu 22.04 LTS 或更新的 LTS 版本默认 GNOME 桌面教程多、软件多、遇到问题容易搜到答案。日常办公LTS 版本加中文输入法再装 Chrome、WPS、微信、腾讯会议等基础软件基本满足需求。开发环境LTS 版本或者当前普通版本。如果你想用比较新的 GCC、Python、Node.js普通版本可能在软件源里就带了新版本。服务器生产LTS 版本。这是最稳的选择安装 Docker、K8s、数据库都比较顺。嵌入式开发看开发板厂商要求。很多厂商基于 Ubuntu 18.04 或 20.04 提供交叉编译工具链这时候优先匹配厂商文档里的版本。5.2 桌面环境要不要换Ubuntu 默认的 GNOME 桌面已经很好用。但如果你觉得内存占用高或者不习惯 GNOME 的操作逻辑可以用 XFCE 或 KDE Plasma。安装 XFCEsudo apt install xfce4安装 KDE Plasmasudo apt install kde-plasma-desktop装好后在登录界面选择会话类型即可。这个自由度是 Linux 桌面的特点也是很多人选择 Ubuntu 的原因之一。切换桌面环境不影响你的文件和应用它只是改变了图形界面的展示方式。如果你在低配电脑上装 UbuntuXFCE 通常比 GNOME 更流畅。5.3 遇到问题怎么排查最后把排查思路总结一下。Ubuntu 使用中报错时不要急着重装系统按这个顺序看先看报错信息本身。把完整报错复制到搜索框里很多时候前一百条搜索结果里就有答案。再看输入和路径。文件路径带空格、文件名大小写不对、中文路径没有转义都会导致命令执行失败。看权限。文件没有读权限、脚本没有执行权限、目录没有写权限用ls -l确认一下。看依赖。缺少什么库、什么工具就安装什么但不要一次性装一大堆包容易引入冲突。看软件源。apt 报 404、无法定位软件包、依赖关系错误先把源配置检查一遍。看日志。systemd 服务报错时用journalctl -u 服务名看日志桌面面板异常时看dmesg或~/.xsession-errors。这套排查顺序适用于大部分 Ubuntu 问题。它不能直接帮你修好所有错误但能帮你把“不知道从哪里下手”的糊状状态变成“先把问题归类”。很多问题看起来是功能不支持实际是配置没到位或者路径写错了。5.4 真正的版本史能给你什么回到标题Ubuntu 从 4.10 到 19.04 这段历史不只是老用户怀旧的素材。它解释了很多今天 Ubuntu 设计决策的由来为什么要分 LTS 和非 LTS、为什么有这么多桌面环境、为什么软件源和网络配置在某个版本后会变、为什么有些教程在 16.04 上能用但在 22.04 上不能用。我现在看网上和 Ubuntu 相关的教程时第一眼就是看版本号和代号。教程写的版本系统和我本机版本不一致很多命令真的不能直接照抄。这不是 Ubuntu 不好用而是 Linux 世界的通用规则每套系统都有它的上下文。你应该掌握的是对应版本的思维方式比如包管理用 apt、网络配置用 netplan、服务管理用 systemctl然后在这个基础上灵活适配。如果你是从零开始接触 Ubuntu不必把历史上每个版本都研究一遍。挑一个 LTS 版本装好用它做两三件真实的事情比读一百篇版本科普都有效。等你在使用中真的遇到“这个旧教程写的配置从什么时候开始失效了”这种问题你自然就会理解 Ubuntu 为什么要不断演进了。踩过几次坑之后我发现很多人不是学不会 Ubuntu而是总想找一个“万能教程”覆盖所有版本。其实更好的思路是先确认自己的版本再去找对应版本的资料。把这一点养成习惯Ubuntu 的学习难度会降低一大半。