🏆 本文收录于 《滚雪球学 Ubuntu》 专栏。
本专栏面向有一定计算机基础,但尚未系统学习 Linux / Ubuntu 的读者,采用“滚雪球式学习法”:先装好、再会用、再理解、再优化、再实战,带你从第一次进入 Ubuntu 桌面 / 终端开始,逐步掌握 Ubuntu 的日常使用、命令操作、软件安装、系统配置、开发环境搭建与服务器部署能力。
🎯适合人群:Linux 初学者、Ubuntu 新手、计算机专业学生、后端 / 运维 / 测试入门同学、想搭建 Linux 开发环境的开发者、准备学习服务器部署的同学,以及想从 Windows 过渡到 Ubuntu 工作流的用户。从“会打开终端”到“能管理系统”,从“复制命令”到“理解 Linux 思维”,这一次,我们不零散学,而是一路滚雪球!
🎉限时福利:当前专栏活动中,一次订阅,终身阅读,后续更新章节全部免费解锁👉 立即查看👈️
演示环境说明:
- 开发工具:Visual Studio Code / JetBrains 系列 IDE / Vim / Nano
- Ubuntu版本:Ubuntu 22.04 LTS / Ubuntu 24.04 LTS,推荐 Ubuntu 24.04 LTS
- Linux内核版本:Linux Kernel 6.x 或更高
- 终端环境:Bash / Zsh
- 包管理工具:APT / Snap / Flatpak
- 远程连接工具:OpenSSH / Windows Terminal / MobaXterm / Termius
- 虚拟化环境:VMware Workstation / VirtualBox / WSL2 / 云服务器
- 容器环境:Docker / Docker Compose
- 操作系统:Ubuntu Desktop / Ubuntu Server
全文目录:
- 一、前言:包管理是 Linux 世界的基础技能
- 二、本文要解决什么问题
- 三、背景知识:Ubuntu 包管理体系简介
- 3.1 什么是软件包
- 3.2 APT 的工作原理
- 3.3 apt、apt-get、dpkg 的分工
- 3.4 软件源是什么
- 四、APT 包管理核心命令全解析
- 4.1 更新软件源索引
- 4.2 安装软件包
- 4.3 卸载软件包
- 4.4 搜索软件包
- 4.5 更新已安装的软件
- 4.6 查看软件包信息
- 4.7 列出已安装的软件
- 4.8 清理无用包和缓存
- 五、dpkg 的实用操作与场景补充
- 5.1 安装本地 .deb 文件
- 5.2 查询已安装包信息
- 5.3 强制卸载与修复
- 六、实验环境准备
- 七、APT 安装流程图解
- 八、案例一:基础入门——完成第一次软件安装与系统更新
- 8.1 操作步骤
- 8.2 命令逐条解析
- 8.3 初学者常见问题
- 九、案例二:真实场景——为 Python 开发环境安装与管理依赖
- 9.1 场景描述
- 9.2 操作步骤
- 9.3 命令解析与注意事项
- 9.4 卸载与环境清理
- 十、案例三:工程化实践——服务器软件管理、批量安装与升级策略
- 10.1 场景背景
- 10.2 批量安装基础工具链
- 10.3 安装后验证与服务管理
- 10.4 生产服务器的升级策略
- 10.5 利用 dpkg 管理离线安装包
- 10.6 案例解析与工程化建议
- 十一、进阶操作:apt 的高级用法
- 11.1 锁定软件版本(hold)
- 11.2 安装指定版本
- 11.3 模拟安装与依赖预览
- 11.4 apt-mark 管理软件安装状态
- 11.5 使用 apt-cache 挖掘软件信息
- 十二、软件包状态与依赖关系深度解析
- 12.1 软件包的生命周期
- 12.2 依赖关系是什么
- 12.3 孤儿包与自动安装标记
- 十三、Desktop 与 Server 场景的包管理差异
- 十四、常见问题与踩坑总结
- 十五、Ubuntu 软件包管理最佳实践
- 十六、扩展知识点:与包管理相关的周边知识
- 16.1 环境变量与 PATH
- 16.2 软件安装后的文件分布
- 16.3 APT 与 systemd 的协作
- 十七、完整操作流程回顾
- 十八、总结
- 📌 下一篇预告
- 🧧 学习福利 · 限时开放 🧧
- 🫵 Who am I?
一、前言:包管理是 Linux 世界的基础技能
我刚开始使用 Ubuntu 的时候,有一件事让我印象非常深:在 Windows 上,安装软件几乎都要去官网找安装包,下载一个.exe,然后一路点"下一步";但在 Ubuntu 里,你只需要在终端里敲一行命令,几秒钟后软件就装好了,连依赖库都帮你处理得干干净净。这个体验让我第一次真正感受到了 Linux 包管理系统的优雅。
当然,随着使用越来越深入,我也踩过不少坑。比如执行sudo apt upgrade之后,某个服务启动不了了;或者手动从网上下了个.deb文件安装,结果依赖缺失报了一堆错;再比如删软件的时候用apt remove,以为干干净净了,其实配置文件还在磁盘上占着空间。
这些经历告诉我:包管理不仅仅是"装软件"这么简单,它背后涉及软件依赖树、软件源索引、安装状态管理、版本控制等一整套机制。如果你只是会复制命令执行,遇到问题时就会手足无措;但如果你理解了它的工作原理,不仅能装软件,还能优雅地处理依赖冲突、管理系统软件状态、设计服务器维护策略。
这篇文章是《滚雪球学 Ubuntu》第五章的第四节,专注于 APT 包管理最核心的四件事:安装、卸载、搜索、更新。我会带你从零开始,逐步深入,结合真实使用场景,把这四件事讲透。
二、本文要解决什么问题
学完这篇文章,你应该能回答以下问题,并且能够亲手完成对应操作: