装机这么多年,我越来越觉得Ubuntu 64位系统的“工具包”这三个字,其实是两件事:你装的是工具,搭的是环境。很多人拿到一台刚装好的Ubuntu,第一反应是缺这缺那,然后开始无脑 apt install,装了一堆用不上的包,真正干活的时候还是报错。这篇文章我不打算给你一份流水账式的安装清单,而是按照真实使用场景,把一套64位Ubuntu系统从命令行、桌面、开发到多媒体环境,一步步拆开,讲清楚每个工具包为什么装、装哪个版本、装完怎么验证。适合刚接触Linux的新手,也适合给那些重装过好几次系统、想在下次装机时少踩坑的朋友。
先说一个很多人忽略的前提:Ubuntu现在默认就是64位版本,但还是有大量教程、错误提示、驱动安装脚本会纠结于架构问题。uname -m 输出 x86_64 才能确认你的系统核心是64位,这也直接决定了你要下载的 .deb、.run、.tar.gz 是不是应该选 amd64 版本。另外,我见过不少人在64位系统里装32位运行库,或者反过来在纯64位环境里指望某些老工具能直接跑,结果折腾半天都没修好。所以下面的内容,全部默认基于x86_64架构的Ubuntu 22.04/24.04 LTS,这是目前最主流、最稳定的选择。
1. 装机后的第一件事:确认系统架构与换源
1.1 先验明正身:你的系统到底是什么架构
打开终端,执行下面这行命令:
bash复制uname -m
输出为 x86_64,说明是64位系统,这是绝大多数PC和服务器的情况。如果输出是 aarch64,那就是ARM64架构,常见于树莓派、开发板、Apple Silicon虚拟机等场景。输出是 i386 或 i686,说明是32位系统,这种情况在2025年已经非常少见,建议直接重装64位系统,否则后续很多工具包都会装不上。
除了内核架构,还要看系统的发行版和版本号:
bash复制lsb_release -a
cat /etc/os-release
lsb_release 如果没安装,先用 sudo apt install lsb-release 装上。这里需要提醒一句:网上很多教程都会写“Ubuntu 64位系统需要安装工具包”,但不同版本(20.04、22.04、24.04)的软件源和包名是有差异的,尤其是Python版本、OpenSSL版本、GCC默认版本,直接照搬老教程容易出问题。
1.2 换源不是玄学,是保命操作
Ubuntu默认源在国外,国内网络环境下 apt update 经常慢到怀疑人生,甚至会超时失败。换源的本质,是把 /etc/apt/sources.list 里的下载地址替换成国内镜像地址,这是一件30秒内能完成、收益极高的事。
Ubuntu 22.04及之后的版本,软件源配置文件路径改成了 /etc/apt/sources.list.d/ubuntu.sources,格式也变成了 deb822 格式,不再是以前那种简单的 /etc/apt/sources.list。很多老教程还在教改 sources.list,新系统上根本找不到,这一点必须注意。
我最推荐的做法是直接用软件源配置工具,一条命令准备好:
bash复制sudo apt update && sudo apt install -y ca-certificates
然后修改镜像源。以清华源为例,Ubuntu 24.04 的 /etc/apt/sources.list.d/ubuntu.sources 配置核心内容如下:
code复制Types: deb
URIs: https://mirrors.tuna.tsinghua.edu.cn/ubuntu/
Suites: noble noble-updates noble-backports
Components: main restricted universe multiverse
Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg
这里要注意 Suites 这一行,noble 是Ubuntu 24.04的版本代号,22.04对应的是 jammy,20.04对应的是 focal。改错代号会导致 apt update 报404,所以动手前先确认自己的系统版本。
1.3 一次完整的源更新流程
改完源之后,执行:
bash复制sudo apt update
sudo apt upgrade -y
sudo apt full-upgrade -y
sudo apt autoremove -y
apt update 是刷新软件包索引,apt upgrade 是升级现有已安装软件包,full-upgrade 会处理依赖变化,可能需要安装新包或删除冲突包。我在实际使用中建议:新装系统后一定先跑到 full-upgrade,把内核、系统库全部升级到当前源的最新状态,避免后续装软件时遇到“依赖版本太低”的问题。
另外建议大家装一个 aptitude,它在解决复杂依赖冲突时比 apt 更智能,尤其是处理“已安装软件包需要删除才能升级”这类情况时,aptitude 会给出更合理的候选方案。命令如下:
bash复制sudo apt install -y aptitude
这一步做完,你的系统才算是“可用”了,可以开始按需安装工具包。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 基础工具包:让命令行先强壮起来
2.1 编译链必须一套到位
Linux下的很多软件安装方式仍是“源码编译”,也就是下载源代码,在本地用 make 和 gcc 编译出可执行文件。很多新手在这里卡住,报错内容大多是 gcc: command not found 或者 make: command not found。一次装齐编译链的方法:
bash复制sudo apt install -y build-essential
build-essential 是一个元包,它会一次性安装 gcc、g++、make、dpkg-dev 等编译必需工具。64位系统上如果想编译32位程序,还需要安装 gcc-multilib 和 g++-multilib,但日常使用建议不要开这个,容易造成库文件混乱。
另外一个容易被忽略但非常关键的是 kernel headers,编译内核模块或安装某些驱动时会用到:
bash复制sudo apt install -y linux-headers-$(uname -r)
$(uname -r) 会自动匹配当前内核版本,这样无论在哪个内核版本下,都能装到正确的头文件。如果不装这个,装VirtualBox增强功能、某些网卡驱动时会直接失败。
2.2 网络与远程管理工具
接下来是网络诊断和远程管理工具。我每次装机必装这几样:
bash复制sudo apt install -y curl wget net-tools dnsutils iputils-ping traceroute
curl 和 wget 是下载神器。net-tools 提供 ifconfig、netstat 等命令,虽然这些命令在新系统里被 ip 和 ss 取代,但很多脚本和文档仍然依赖它们,装上没坏处。dnsutils 提供 dig 和 nslookup,排查DNS解析问题时必须用。iputils-ping 和 traceroute 用于网络连通性排查。
远程管理的话,OpenSSH服务端是必装的,尤其当你需要从Windows或Mac远程连到Ubuntu时:
bash复制sudo apt install -y openssh-server
sudo systemctl enable ssh --now
systemctl enable ssh --now 的意思是开机自启并立即启动服务。我见过很多人在装完OpenSSH后忘记启动服务,结果本地连不上,还以为是防火墙问题。另外,防火墙规则也要确认:
bash复制sudo ufw allow OpenSSH
sudo ufw enable
2.3 日常文件与解压工具
Windows下习惯了右键解压,Linux里终端解压更高效,前提是装齐解压工具。
bash复制sudo apt install -y unzip unrar p7zip-full p7zip-rar xz-utils zip
unrar 因为授权问题不在Ubuntu默认源里,但在 multiverse 组件里,换源时已经加了 multiverse 的话可以直接装上。p7zip-full 支持7z格式,p7zip-rar 额外支持RAR解压。如果不装这些,遇到 .7z 或 .rar 文件时只能干瞪眼。
文件管理方面,推荐装 htop 查看系统资源占用,tree 以树状图显示目录结构,ntfs-3g 用于挂载NTFS分区(现在Ubuntu默认已经集成,但老系统还是需要手动装):
bash复制sudo apt install -y htop tree ncdu
ncdu 是一个磁盘占用分析工具,用起来比 du 直观得多,能扫描整个磁盘并交互式查看哪个目录占了最大空间。这是排查“磁盘明明很大但莫名满了”这类问题的利器。
3. 桌面体验与中文输入法
3.1 基础字体与输入法框架
终于聊到中文环境了。很多新手装完Ubuntu后进行中文输入,发现要么按不出中文,要么选字框特别丑。这里的关键是分清“输入法平台”和“输入法引擎”两个概念。我先建个简单的表格,不然这个概念太容易混了。
| 组件 | 作用 | 常见选项 |
|---|---|---|
| 输入法平台(框架) | 负责界面、候选词、快捷键等 | Fcitx 5、IBus |
| 输入法引擎 | 真正执行输入、联想、词库 | 搜狗输入法、Google拼音、Rime、智能拼音 |
Ubuntu桌面版默认预装了IBus输入法框架,但IBus对第三方输入法的兼容性不好,尤其搜狗输入法。搜狗官方提供的Linux版是基于Fcitx平台开发的,所以我强烈建议桌面用户改用Fcitx 5。
bash复制sudo apt install -y fcitx5 fcitx5-chinese-addons fcitx5-config-qt
这里的 fcitx5-chinese-addons 提供了拼音输入引擎,fcitx5-config-qt 是图形化配置工具。装完后需要在系统设置里把输入法框架切换为Fcitx 5,方法是在 /etc/environment 文件末尾加入:
code复制GTK_IM_MODULE=fcitx
QT_IM_MODULE=fcitx
XMODIFIERS=@im=fcitx
然后注销重新登录,在右上角输入法图标里添加“拼音”输入法即可。这里提醒一句:改完环境变量后必须注销或重启才生效,只开新终端是没用的,这个坑踩过太多次了。
3.2 搜狗输入法的安装细节
如果你非要用搜狗输入法,安装流程也很清晰:
- 先去搜狗输入法官网下载Linux版64位
.deb安装包(文件名一般是sogoupinyin_x.x.x_amd64.deb)。 - 确保已经装好Fcitx框架,搜狗依赖
fcitx或fcitx5的libfcitx*库。 - 安装:
bash复制sudo apt install -y ./sogoupinyin_*.deb
这里有个非常关键的点:用 apt install ./xxx.deb 的方式安装时,apt会自动处理依赖关系并下载缺失的依赖库,而老教程里的 dpkg -i 不会自动处理依赖,装完大概率报错。两行命令效果天差地别。
装完后在Fcitx 5的配置界面中添加输入法时,可能会看到搜狗图标是灰的。我的经验是:先在“仅启用当前输入法”里勾选“拼音”,注销重新登录后,再去Fcitx配置里添加搜狗,成功概率大很多。
3.3 桌面优化工具
64位桌面系统的日常体验,离不开几个优化工具。首先是显卡驱动管理。Ubuntu默认使用开源的Nouveau驱动,但性能和稳定性都不行,尤其使用NVIDIA显卡时。用 ubuntu-drivers 工具安装闭源驱动是最安全的方案:
bash复制sudo ubuntu-drivers autoinstall
sudo reboot
autoinstall 会自动检测显卡型号并安装推荐版本的驱动。装完后用 nvidia-smi 验证驱动是否正常工作,如果这个命令能输出GPU信息表格,说明驱动装好了。这个方法比去NVIDIA官网下载 .run 文件安装靠谱得多,官网方法容易在内核升级后导致驱动失效,而apt源里的版本会跟着内核匹配好。
这里顺带提一个经验:如果你用Ubuntu主要是开发或日常办公,不建议安装“最新版”NVIDIA驱动,跟着apt源推荐走最稳。我在一台工作机上试过手动装最新版驱动,结果X11桌面起不来,折腾了一下午才回滚。稳定的驱动比最新的驱动重要得多。
另一个桌面优化是主题和Tweak工具:
bash复制sudo apt install -y gnome-tweaks gnome-shell-extensions
gnome-tweaks 可以调整字体、窗口按钮位置、顶栏行为等,是定制GNOME桌面的入口。很多网上所谓的“美化教程”,核心就是装这个工具后调一调选项。
4. 开发环境与运行库
4.1 Python工具链要按“环境”装,不要按“软件”装
很多新手装Python时有个坏习惯:直接去python.org下载安装包,然后配置系统环境变量。在Linux上完全不需要这么干,系统的 python3 已经是64位原生版本,直接就能用。
但系统Python有一个坑:pip 安装的包会污染系统环境,时间一长会出现各种“这台机器Python坏了”的灵异问题。我强烈的建议是安装并使用 venv 或 conda 管理环境:
bash复制sudo apt install -y python3 python3-pip python3-venv python3-dev
python3 -m venv myproject_env
source myproject_env/bin/activate
python3-dev 是编译Python扩展模块时必须的头文件包,如果没有它,很多用C/C++写的Python包(如 pandas 的某些依赖)会编译失败。至于 pip 换源,这个操作我每次都会做:
bash复制pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
国内网络下,这一步能明显加速 pip install 的速度,尤其是安装 numpy、pytorch 这类大体积包时。
4.2 Node.js与前端工具
如果你做Web开发,Node.js是绕不开的。Ubuntu自带源里的Node.js版本偏老,不建议直接用。现在最主流的安装方式是使用 nvm(Node Version Manager):
bash复制curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
source ~/.bashrc
nvm install --lts
nvm use --lts
nvm 的好处是可以在不同Node版本间随意切换,不会出现“这个项目要求Node 16,那个项目要求Node 20”的冲突。这也是我在换过几次Node环境后彻底放弃直接用apt安装Node的原因。
然后顺手装上常用的包管理器:
bash复制npm install -g yarn pnpm
pnpm 和 yarn 在工程化项目里用得很多,尤其 pnpm 的磁盘占用控制做得比npm好太多,大型项目里能省下几个G的空间。
4.3 数据库与容器工具
数据库工具方面,比较常见的是开发环境装一个MySQL/MariaDB或PostgreSQL。这里要注意Ubuntu仓库里的MySQL相关包名在不同版本中有变化,更稳妥的做法是从官方仓库或Docker里跑数据库。我个人在开发机上更推荐用Docker跑数据库,干净又省心。
Docker的安装建议直接使用官方脚本:
bash复制curl -fsSL https://get.docker.com | bash -s docker
sudo usermod -aG docker $USER
newgrp docker
关键点在于 usermod -aG docker $USER,这会把当前用户加入 docker 用户组,之后运行 docker ps 就不需要每次都加 sudo 了。注意要重新登录或执行 newgrp docker 才会生效。Docker能装好后,MySQL、Redis、MongoDB这些基础设施都能用一行命令拉起来,再也不用为“装数据库的时候依赖冲突”头疼了。
虚拟机场景下,Ubuntu配合VirtualBox或VMware使用也很常见。VirtualBox的安装建议从官网下载对应版本,因为Ubuntu源里的VirtualBox版本更新较慢。在虚拟机里装完Ubuntu后,记得安装增强功能(Guest Additions),否则共享文件夹、剪贴板共享、窗口自适应缩放都会缺失。增强功能的安装脚本会检查 build-essential 和 linux-headers,所以第一节里装的编译链在这里就派上用场了。
5. 显卡驱动与多媒体环境
5.1 显卡驱动的正确安装路径
前文提过 ubuntu-drivers autoinstall 这种方式,但它并不是万能的。如果你使用的是Intel核显,或者AMD显卡,Ubuntu自带的开源驱动 amdgpu 和 i915 已经集成在内核中,不需要额外安装。NVIDIA显卡则是另一个故事。
一个更精确的检测显卡型号的方式:
bash复制lspci | grep -i vga
如果确认是NVIDIA卡,但又不想用 ubuntu-drivers autoinstall 装最新版驱动,可以手动指定驱动版本:
bash复制sudo apt install -y nvidia-driver-545
sudo reboot
数字545代表驱动版本。不同显卡对驱动版本有最低要求,装太老的版本会直接提示不支持。查询自己的显卡应该用什么版本,可以看NVIDIA官网的驱动支持列表,也可以直接在apt源里选择“推荐”版本:
bash复制ubuntu-drivers devices
这个命令会列出你的显卡支持哪些驱动版本,并在推荐版本后面标注 recommended,一般直接装那个就行。装完以后,多一个建议:给自己留个“后悔药”,即记录好当前驱动版本和内核版本。如果升级内核后驱动失效,可以通过恢复模式下选择旧内核启动来应急。
5.2 视频编解码与多媒体播放
Ubuntu默认不包含MP3、H.264、H.265等格式的解码器,原因是专利和许可证问题。新装系统后,播放视频常见“没有安装解码器”的提示。解决办法是安装Ubuntu的 restricted-extras 包:
bash复制sudo apt install -y ubuntu-restricted-extras
这个包里面有Flash(已停止维护)、音视频解码器、微软Core Fonts等。装完后很多视频、音频格式都能正常播放了。另一个选择是安装 ffmpeg,一个强大的命令行音视频工具箱:
bash复制sudo apt install -y ffmpeg
ffmpeg 不仅能转换格式,还能做剪辑、录制屏幕、从视频中提取音频等。比如将 .mkv 转为 .mp4:
bash复制ffmpeg -i input.mkv -c:v copy -c:a aac output.mp4
在64位系统上,ffmpeg 默认编译了 x264、x265 等编码器,可以直接用,不需要额外折腾。如果你是做视频处理的,这个工具包的价值怎么高估都不过分。
6. 常见问题排查与工具速查
6.1 一个速查表,解决80%的日常问题
我在实际使用中,把高频问题整理成了一张表,新环境里遇到报错先对照这张表,大多数情况都能找到方向。
| 问题现象 | 排查命令 | 常见解决方案 |
|---|---|---|
| apt update 失败 | cat /etc/apt/sources.list.d/ubuntu.sources |
检查镜像源地址与版本代号是否匹配 |
| 找不到gcc/make | which gcc |
sudo apt install build-essential |
| 中文输入法按不出来 | echo $GTK_IM_MODULE |
检查环境变量是否设置,注销重登 |
| 视频无法播放 | ffplay test.mp4 |
安装 ubuntu-restricted-extras |
| NVIDIA显卡无法使用 | nvidia-smi |
重装驱动,检查内核版本匹配性 |
| 磁盘空间不足 | ncdu / |
查看大文件目录,清理缓存和旧内核 |
| 端口被占用 | ss -tlnp |
根据PID结束占用的进程 |
| 网络DNS解析失败 | dig baidu.com |
检查 /etc/resolv.conf,更换DNS |
| curl/wget请求超时 | curl -v https://example.com |
检查代理设置,确认网络连通性 |
| 虚拟机共享文件夹不可用 | ls /mnt/hgfs |
重新安装增强功能,确认 linux-headers 已装 |
这个表不是让你背,而是在遇到问题时有个排查思路。我自己重装过很多次系统,每次都靠这套流程去验证“工具包到底装齐了没”。
6.2 装工具包时最常见的几个坑
坑一:不知道命令从哪个包来。 在命令行敲 ifconfig 提示未找到,不要急着去网上乱搜,先执行 apt search ifconfig 或直接记住:不同命令对应不同工具包。用 apt-file 可以查找某个命令属于哪个包:
bash复制sudo apt install -y apt-file
sudo apt-file update
apt-file search /sbin/ifconfig
这样就能精确知道缺哪个包了,比瞎猜高效一百倍。
坑二:32位和64位库混淆。 在64位系统中,有些32位程序需要32位库,报错信息往往带有 “wrong ELF class: ELFCLASS32” 或 “ELFCLASS64” 字样。启用32位架构支持的命令是:
bash复制sudo dpkg --add-architecture i386
sudo apt update
启用后你就可以安装 libc6:i386、libssl1.1:i386 这类32位版本的库。但我要提醒一下:别有事没事都加这条,纯64位环境不要主动引入32位库,否则依赖关系会变得极其复杂。
坑三:sudo apt install 时遇上 “unmet dependencies”。 这是最多新手崩溃的地方。我的建议是优先尝试:
bash复制sudo apt --fix-broken install
如果这招没用,再用 aptitude 的交互式方案选择,或者 apt install -f 强制修复。这里的关键是观察错误提示里提到的冲突包名,而不是盲目卸载。我曾经为了装一个简单的软件,卸掉了系统自带的声音服务,结果整台机器静音了,教训就是:报错信息里的每个包名都要先查清楚再动手。
坑四:安装完工具包后不生效。 很多时候不是没装好,而是没有重新加载环境变量或服务。比如输入法装了不生效,检查环境变量;SSH服务装了连不上,检查 systemctl status ssh;Docker用户组改了没生效,重新登录或执行 newgrp docker。这些“最后一步”最容易忘,排查时先怀疑自己漏了重登或重启,再怀疑安装本身。
6.3 一次完整的工具包验收流程
我每次给新系统装完工具包后,都会跑一轮“验收命令”,确保基础环境没毛病:
bash复制uname -m
gcc --version
python3 --version
node --version
docker --version
ffmpeg -version
nvidia-smi
fcitx5 --version
每一条命令都有对应输出,说明这套系统的基础环境基本合格了。如果哪一条报了 command not found,就去补对应的包,然后验收。这个方法虽然简单,但能防止很多“装完了才发现缺个东西”的尴尬场景。
最后再分享一个习惯:每周抽一点时间,运行 sudo apt update && sudo apt upgrade -y,把系统软件包和内核升级到最新。Ubuntu 64位系统的稳定性很大程度来源于持续更新,尤其是安全补丁。但记得看完升级内容再确认,如果里面有内核升级,建议在不太忙的时候进行,方便升级完重启。长期不升级的系统,一套稳定地用到项目上线,我见过太多本来能避免的崩溃,都是因为内核和驱动版本差距过大造成的。
