装完 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包时,可以顺手装个gdebi:
sudo 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_MODULE=fcitx export QT_IM_MODULE=fcitx export XMODIFIERS=@im=fcitx重启后,按下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 和几个插件,补全和提示能提升一个档次。
安装 Zsh:
sudo apt install zsh然后把默认 shell 改成 Zsh:
chsh -s /usr/bin/zsh重新登录后,可以安装 oh-my-zsh:
sh -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中插件列表的最后面,否则高亮不会生效。别问我怎么知道的,我当初盯着没有反应的终端查了半天。
终端复用工具方面,我建议装tmux:
sudo 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 python=3.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 与 ncdu
htop是终端里的任务管理器,比top直观得多。CPU、内存、Swap 使用情况一目了然,按F6可以按 CPU 或内存排序,按F9可以直接杀掉进程。系统变卡的时候,我第一反应就是打开 htop 看看是哪个进程在捣乱。
glances是比 htop 信息更全面的监控工具,除了 CPU 和内存,还有磁盘 IO、网络流量、传感器温度。它甚至能在浏览器里跑,适合装在服务器上远程观察。如果只是一台日常用的电脑,htop 其实就够用了,glances 属于锦上添花。
磁盘分析工具我强烈推荐ncdu:
sudo apt install ncdu运行ncdu /home,它会快速扫描磁盘,然后以交互式表格展示哪些目录最占空间。你还能在界面里直接删文件。注意别删系统目录,尽量只操作自己的家目录。
如果你更喜欢图形化界面,GNOME 自带的“磁盘使用情况分析器”也能扫描大文件,用起来更直观,适合不想碰命令行的用户。
4.2 日志、清理与快照
Ubuntu 的 systemd 日志会一直累积,时间长了可能占好几个 GB。查看当前日志占用:
journalctl --disk-usage如果觉得太大,可以限制日志保留时间:
journalctl --vacuum-time=7d这样只保留最近 7 天的日志。装完系统后我一般就执行一次,然后通过配置文件设置上限,避免以后再膨胀。
apt 的缓存也容易堆积,定期清理:
sudo apt autoremove sudo apt clean图形化清理工具我用过 Stacer,它可以管理启动项、卸载软件、查看系统资源、清理日志。功能看上去很全面,但我提醒一句:在界面上看到“系统服务”这类选项时,别乱点禁用,你很可能不知道某个服务是干什么的,禁用了系统反而出问题。
备份工具这里重点推荐 Timeshift。它类似于 Windows 的系统还原点,可以定期对系统目录做快照。当某次更新把系统搞崩了,或者你手滑删了关键文件,Timeshift 能快速把系统恢复到快照时的状态。
我第一次用 Timeshift 时把快照放在了系统盘上,结果某天磁盘满了,系统直接进不去,快照也没起到作用。后来我改成把快照放到一块单独的数据盘上,才算真正安心。建议你也这样设置:快照存储位置选一个和系统盘不同的物理磁盘,否则“备份”和“原数据”一起坏的风险依然存在。
如果某天你改了内核模块或者系统引导出了问题,记得重建 initramfs:
sudo update-initramfs -u这是 Ubuntu 遇到启动类问题时经常用到的一条自救命令。
4.3 网络小工具:判断是网断了还是配置错了
网络出问题时,很多人第一反应是“路由器坏了”,但有时候只是 DNS 配置问题。装几个基础网络工具能帮你快速定位:
sudo apt install dnsutils tracerouteip addr查看本机 IP,ping测网关连通性,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 扩容。
查看当前 Swap:
swapon --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这些文件里的私有信息不多,放进仓库后,新设备克隆下来软链接一下就能恢复。刚开始用会觉得有点麻烦,但一旦换电脑,你会感谢当时的自己。
最后分享一点个人体会:装机不是一个冲刺任务,而是一个长期调整的过程。你不需要在第一天把所有软件装上,核心的、常用的先配好,剩下的等到真的有需求了再慢慢补。这样的系统用起来最顺手,也最不容易出幺蛾子。