
装完 Ubuntu 之后我一般不会马上打开浏览器去下载各种软件。干净系统先做的事情其实是把底子打好软件源、基础依赖、输入法这三样理顺了后面装什么都会顺手很多。这篇文章我从“装机后第一个小时该干什么”出发整理了一份覆盖日常办公、开发、系统维护和细节优化的 Ubuntu 装机必备软件清单适合刚入坑 Ubuntu 的新手也适合从 Windows 或 macOS 迁移过来、想把系统一次配到位的朋友。先说清楚一个原则这不是“把所有软件装一遍”的清单而是一份“按优先级装”的思路。工具不在多在于是不是真的适合你的使用场景。我会把每个软件或工具解决什么问题、为什么选它、装的时候有什么坑都尽量讲明白。你不需要照单全收挑自己用得上的就好。1. 装完系统别急着开浏览器先把软件源和基础依赖理顺很多教程会让你先去装浏览器、装输入法但我自己的习惯是先把系统的“管道”修好。所谓管道就是软件源和基础编译环境。这一步不花多长时间却决定了你后面每一次apt install是舒舒服服还是干瞪眼等进度条。1.1 换软件源给 apt 提速的基本操作Ubuntu 默认的软件源服务器在国外国内网络环境下载速度经常只有几十 KB/s装一个小工具都能等半天。这不是 Ubuntu 本身的问题是源服务器和你之间的物理距离太远。解决办法就是换成国内镜像源比如阿里云、清华、中科大这些大厂和高校维护的 apt 镜像。在 Ubuntu 24.04 里有个变化要先说清楚从 24.04 开始apt 的源配置文件不再叫/etc/apt/sources.list而是换成了 DEB822 格式路径是/etc/apt/sources.list.d/ubuntu.sources。如果你用的是 22.04 或更早版本改的才是sources.list。网上很多教程没区分版本照着复制容易出问题。拿 24.04 举例我会先备份原文件sudo cp /etc/apt/sources.list.d/ubuntu.sources /etc/apt/sources.list.d/ubuntu.sources.bak然后用编辑器打开这个文件把里面的http://archive.ubuntu.com/ubuntu/这类地址替换成镜像站地址。以清华源为例替换后执行sudo apt update正常情况下更新速度会有质的提升。这里要提醒两点第一不要在别人的博客里随手复制一整个sources.list内容覆盖自己的文件版本号、组件名不一样会导致依赖关系错乱第二如果用的是云服务器很多云厂商已经内置了内网源速度本来就很快不用再改。1.2 基础依赖先装这些再装软件能省掉不少麻烦改完源之后我建议先装一组基础包。不是每个都必须但以下几个是出现频率非常高的sudo apt install build-essential curl wget git unzip p7zip-full htop这里面最关键的是build-essential它包含了 gcc、g、make 等编译工具链。很多人过几天装某个软件时会看到“需要编译源码”的提示结果发现编译器都没有又回头补装。与其到时候折腾不如一开始就装上。curl和wget是命令行下载工具很多安装脚本都依赖它们。比如后面装 oh-my-zsh、nvm都要用 curl。git不用说哪怕你不写代码从 GitHub 下载项目或者维护自己的配置文件也常用到。unzip和p7zip-full解决压缩包解压问题尤其 7z 格式系统默认不带解压工具。当你需要安装一个本地下载的.deb包时可以顺手装个gdebisudo apt install gdebi双击.deb文件时Ubuntu 默认用软件中心打开但它对依赖关系的处理有时候不够直观。gdebi的好处是会明确告诉你缺哪些依赖并自动帮你装好。这也算装机必备里的一个小工具推荐给新手。2. 日常使用刚需输入法、浏览器与办公三件套的取舍系统底子打好了接着就是每天都要用的东西。这部分我会稍微挑剔一点因为输入法、浏览器和办公软件几乎是每个人开机必然打开的工具如果选错或者配置不当你会很痛苦。2.1 输入法fcitx5 是当前 Linux 中文输入的主力Ubuntu 默认自带的是 IBus 输入法框架配合智能拼音其实能用但词库质量和候选词排序一直不够理想。你在 Windows 上用搜狗输入法用习惯了换到 IBus 会觉得打字很“钝”。我的建议是换成 fcitx5。它是当前 Linux 桌面端中文输入体验最均衡的方案尤其在高分屏、Wayland 会话下兼容性比老一代输入法好很多。安装命令sudo apt install fcitx5 fcitx5-chinese-addons fcitx5-config-qt装完先别急着输入把输入法框架切换过去im-config -n fcitx5然后重新登录一次。如果你发现某些应用里依然无法调用 fcitx5通常是环境变量没设置好。可以在~/.xprofile里加上这三行export GTK_IM_MODULEfcitx export QT_IM_MODULEfcitx export XMODIFIERSimfcitx重启后按下Ctrl Space就能调出拼音输入法。fcitx5 的候选词排序、云拼音、颜文字、快捷输入都做得不错还支持导入词库。我一般会用fcitx5-config-qt把默认皮肤调一调顺便把候选词数量改成 9 个用起来更接近搜狗的体验。这里有一个很多人忽略的坑如果你之前用 IBus装了 fcitx5 后最好确认 IBus 没有在登录时自动启动否则两个输入法框架会抢占键盘事件导致快捷键失灵。可以在“优化工具”里禁用 IBus 的自动启动或者直接卸载sudo apt remove ibus2.2 浏览器和办公软件默认配置需要调整浏览器这块Ubuntu 24.04 默认装的是 Firefox但它是 Snap 版本。Snap 版 Firefox 启动速度偏慢和系统主题的融合也偶尔抽风。如果你不喜欢可以直接从 Firefox 官网下载 tar 包解压然后手动放在/opt目录下创建桌面快捷方式。注意官网下载的版本不会自动更新需要你定期手动下载更新包。使用国内服务较多的朋友我建议直接装 Chrome 或 Edge两者都有官方 deb 包。下载后用 gdebi 安装之后就能通过 apt 自动更新省心很多。Chrome 的优势是生态最全Edge 的优点是和微软账号同步体验好看 PDF、做笔记都比较顺手。办公软件方面LibreOffice 虽然预装且完全免费但如果你需要和同事互传 Word、Excel、PPT 文档格式兼容性还是不如 WPS。WPS Linux 版在国内办公场景几乎是必装的。安装后建议调整一下字体避免打开某些文档时出现字体替换导致的排版错乱。如果你需要参加国内视频会议腾讯会议、钉钉、飞书都有 Linux 版。我实测下来飞书和钉钉的功能相对完整腾讯会议的 Linux 版也能满足基本会议需求。装一个就够了别全装否则后台驻留程序会拖慢开机速度。3. 开发者的开机自启清单终端、编辑器与运行时环境如果你是开发者或者平时会写点脚本这一节属于重点。Linux 的魅力很大一部分就在终端和开发环境上把这些配好开发效率会明显提升。3.1 终端增强zsh oh-my-zsh tmux 的搭配Ubuntu 默认终端用的是 Bash说实话Bash 足够稳定但作为日常使用缺少一点现代化的补全体验和主题颜值。我推荐 Zsh配合 oh-my-zsh 和几个插件补全和提示能提升一个档次。安装 Zshsudo apt install zsh然后把默认 shell 改成 Zshchsh -s /usr/bin/zsh重新登录后可以安装 oh-my-zshsh -c $(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)我特别推荐两个插件zsh-autosuggestions和zsh-syntax-highlighting。前者会根据历史命令给出灰色补全提示按右键就能直接补全后者会让合法命令显示为绿色、非法命令显示为红色极大减少打错命令的概率。安装插件的方式是把仓库克隆到~/.oh-my-zsh/custom/plugins/然后在~/.zshrc里启用。有一个容易踩的坑zsh-syntax-highlighting必须放到~/.zshrc中插件列表的最后面否则高亮不会生效。别问我怎么知道的我当初盯着没有反应的终端查了半天。终端复用工具方面我建议装tmuxsudo apt install tmuxtmux 让你在一个终端窗口里开多个会话可以分屏、可以后台挂起。常用操作就三个Ctrl-b %左右分屏、Ctrl-b 上下分屏、Ctrl-b d分离会话。重新连接时用tmux attach就能回到原会话。远程开发时即使网络断了tmux 里跑的任务也不会中断这个体验是原生命令行给不了的。3.2 语言环境和容器Python 版本管理、Node.js 与 Docker很多教程会让你直接apt install python3-pip然后全局pip install各种包。我强烈不建议这么做。系统自带的 Python 是给系统工具用的你用全局 pip 装一堆项目依赖很容易把/usr/lib/python3/dist-packages搞乱最后系统某些组件罢工。我的做法是用 Miniconda 或 pyenv 管理 Python 环境。Miniconda 适合做数据分析和机器学习一条命令创建独立环境conda create -n py311 python3.11 conda activate py311pyenv 更轻量只负责切换 Python 版本适合写 Web 项目或脚本的场景。选哪一个取决于你的工作流但核心思想是一样的项目环境和系统环境分开。Node.js 也一样Ubuntu 自带的 nodejs 版本通常很旧。推荐用 nvm 安装curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash装完后nvm install --lts这样你能随时在多个 Node 版本之间切换不会破坏系统包管理器的状态。Docker 是另一块重头戏。在 Ubuntu 上安装 Docker 最省事的方式是使用官方安装脚本curl -fsSL https://get.docker.com/ | sh或者走 apt 官方源安装两者皆可。装完把当前用户加入 docker 组sudo usermod -aG docker $USER重新登录后运行docker ps就不需要加sudo了。注意docker 组的权限等同于 root只把可信用户加进去。国内网络环境下拉取 Docker Hub 镜像经常超时。解决办法是给 Docker 配置镜像源在/etc/docker/daemon.json里写 registry-mirrors 配置然后重启 docker 服务。这里我不贴具体的镜像地址因为不同的云服务商提供的地址不同你根据自己的网络环境填就行。编辑器方面VS Code 或 JetBrains 全家桶可以二选一。VS Code 的 Snap 版会有文件对话框慢的毛病我更喜欢从官网下载 deb 包安装。JetBrains 系则建议用 Toolbox 统一管理版本避免手动解压安装的混乱。4. 系统维护工具箱监控、清理、备份与常见自救装完日常软件和开发环境系统已经可以正常干活了。但 Ubuntu 用久了难免遇到磁盘满了、内存吃紧、开机变慢之类的问题。我习惯把这几个维护工具提前装好省得到时候再临时抱佛脚。4.1 进程和磁盘分析htop、glances 与 ncduhtop是终端里的任务管理器比top直观得多。CPU、内存、Swap 使用情况一目了然按F6可以按 CPU 或内存排序按F9可以直接杀掉进程。系统变卡的时候我第一反应就是打开 htop 看看是哪个进程在捣乱。glances是比 htop 信息更全面的监控工具除了 CPU 和内存还有磁盘 IO、网络流量、传感器温度。它甚至能在浏览器里跑适合装在服务器上远程观察。如果只是一台日常用的电脑htop 其实就够用了glances 属于锦上添花。磁盘分析工具我强烈推荐ncdusudo apt install ncdu运行ncdu /home它会快速扫描磁盘然后以交互式表格展示哪些目录最占空间。你还能在界面里直接删文件。注意别删系统目录尽量只操作自己的家目录。如果你更喜欢图形化界面GNOME 自带的“磁盘使用情况分析器”也能扫描大文件用起来更直观适合不想碰命令行的用户。4.2 日志、清理与快照Ubuntu 的 systemd 日志会一直累积时间长了可能占好几个 GB。查看当前日志占用journalctl --disk-usage如果觉得太大可以限制日志保留时间journalctl --vacuum-time7d这样只保留最近 7 天的日志。装完系统后我一般就执行一次然后通过配置文件设置上限避免以后再膨胀。apt 的缓存也容易堆积定期清理sudo apt autoremove sudo apt clean图形化清理工具我用过 Stacer它可以管理启动项、卸载软件、查看系统资源、清理日志。功能看上去很全面但我提醒一句在界面上看到“系统服务”这类选项时别乱点禁用你很可能不知道某个服务是干什么的禁用了系统反而出问题。备份工具这里重点推荐 Timeshift。它类似于 Windows 的系统还原点可以定期对系统目录做快照。当某次更新把系统搞崩了或者你手滑删了关键文件Timeshift 能快速把系统恢复到快照时的状态。我第一次用 Timeshift 时把快照放在了系统盘上结果某天磁盘满了系统直接进不去快照也没起到作用。后来我改成把快照放到一块单独的数据盘上才算真正安心。建议你也这样设置快照存储位置选一个和系统盘不同的物理磁盘否则“备份”和“原数据”一起坏的风险依然存在。如果某天你改了内核模块或者系统引导出了问题记得重建 initramfssudo update-initramfs -u这是 Ubuntu 遇到启动类问题时经常用到的一条自救命令。4.3 网络小工具判断是网断了还是配置错了网络出问题时很多人第一反应是“路由器坏了”但有时候只是 DNS 配置问题。装几个基础网络工具能帮你快速定位sudo apt install dnsutils tracerouteip addr查看本机 IPping测网关连通性nslookup或dig检查 DNS 解析traceroute看数据包走到哪里中断。这套组合基本能覆盖日常网络排查场景。5. 细节优化双系统时间、Swap 与固态硬盘维护如果你只是把 Ubuntu 装在虚拟机里这一节可以跳过。但如果你是装双系统或者笔记本用的是固态硬盘我建议花几分钟看完。这几项优化属于“装的时候没感觉但能避免长期小毛病”的类型。5.1 双系统时间错乱一个小命令解决Windows 和 Ubuntu 双系统最常见的问题就是时间相差 8 小时。原因是两个系统对硬件时钟的解读方式不同Windows 把主板硬件时间当作本地时间Linux 默认把它当作 UTC。于是你在 Windows 里设置了正确时间进 Ubuntu 再出来Windows 就慢了或快了 8 小时。解决办法是在 Ubuntu 里执行sudo timedatectl set-local-rtc 1 --adjust-system-clock这个命令让 Linux 也把硬件时钟当作本地时间和 Windows 保持一致。以后切换系统就不再有时差问题。如果哪天你不再用 Windows 了可以把设置改回来sudo timedatectl set-local-rtc 05.2 Swap、zram 与 fstrim关于 Swap很多人有一个误区Swap 越大越好。如果你的内存有 16 GB 或更多系统默认的 Swap 文件其实已经够用了。只有当内存不足时才需要额外调整。如果你经常跑大型编译任务或者用虚拟机可以考虑给 Swap 扩容。查看当前 Swapswapon --showUbuntu 默认使用 swap 文件而不是专门的 swap 分区。手动调整时可以新建一个更大的 swap 文件sudo fallocate -l 8G /swapfile sudo chmod 600 /swapfile sudo mkswap /swapfile sudo swapon /swapfile然后把它写入/etc/fstab保证开机自动挂载。注意如果系统里已经有一个 swap 文件新文件要和老文件错开别重复启用同一个路径。如果你的内存不大比如 8 GB我更推荐启用 zram。zram 会压缩内存中的数据相当于把一部分内存当作更高速的交换空间。系统安装过程中会自动开启这个包sudo apt install systemd-zram-generator装完重启后swapon --show会看到/dev/zram0这就是 zram 正在工作。它的优点是比磁盘 Swap 快很多缺点是会占用一些 CPU 做压缩计算。日常办公机完全值得开跑网页多开体验会好一些。固态硬盘方面Ubuntu 默认已经启用了定期 TRIM。TRIM 的作用是让 SSD 知道哪些块已经不再使用从而维持写入性能。确认定时任务是否开启systemctl status fstrim.timer如果没开启手动打开sudo systemctl enable --now fstrim.timer一个小提醒如果 Ubuntu 装在虚拟机里虚拟磁盘的 TRIM 取决于宿主机和虚拟化方案不一定生效。这种情况下不用纠结等以后真的迁移到物理机上再启用也不迟。另外SSD 用户不要去做磁盘碎片整理它不但不能提速反而会缩短 SSD 寿命。6. 装机清单这件事我自己的维护方式写了这么多最后聊一聊清单本身。很多人装完系统后喜欢到处找“一键装机脚本”希望能一条命令把所有软件装好。用过几次我就放弃了因为系统版本、桌面环境、使用场景每个人都不一样脚本装到你不需要的软件是小事装错依赖或者改了系统配置才是大麻烦。我现在用一份 Markdown 清单维护装机流程。清单分三栏必装、推荐装、用到再装。必装就百来个字装完系统照着敲一遍不超过十分钟。推荐装是看当时心情和用途。用到再装是真正遇到需求才临时搜索安装避免系统里堆一堆吃灰的软件。这种做法的好处是系统能保持干净而且重装时不需要临场翻教程。我还会顺便把 deb 包安装过的软件记录一下版本号方便以后查是否有更新。更进一步你可以在重装系统之前备份当前安装列表dpkg --get-selections packages.txt以后恢复时可以通过apt install安装大部分软件包但要注意这只是一个参考列表部分 PPA 和手动安装的软件不会在里面。源列表、用户配置、snap 包列表需要另外备份。我自己还会把壳工具的配置文件纳入 git 管理。.zshrc、.tmux.conf、.gitconfig这些文件里的私有信息不多放进仓库后新设备克隆下来软链接一下就能恢复。刚开始用会觉得有点麻烦但一旦换电脑你会感谢当时的自己。最后分享一点个人体会装机不是一个冲刺任务而是一个长期调整的过程。你不需要在第一天把所有软件装上核心的、常用的先配好剩下的等到真的有需求了再慢慢补。这样的系统用起来最顺手也最不容易出幺蛾子。