Ubuntu 中 apt 包管理工具 是真的好用,包多使用还便捷,省去的 CentOS 麻烦的编译过程。
一、APT 核心概念
- 全称:Advanced Package Tool,专为 Debian/Ubuntu 设计的包管理系统。
- 核心功能:软件包的安装、升级、移除,依赖关系自动处理,仓库源管理。
- 关键组件:
apt:用户交互命令(推荐使用,友好提示)。apt-get:传统底层工具(脚本兼容优先)。apt-cache:查询软件包信息。apt-config:管理配置选项。
二、基础操作命令
1. 更新软件源列表
sudo apt update
- 作用:同步
/etc/apt/sources.list和 PPA 源的软件包元数据。 - 日志位置:
/var/lib/apt/lists/
2. 升级已安装的包
sudo apt upgrade # 普通升级(不处理依赖冲突)
sudo apt full-upgrade # 智能升级(自动处理依赖,可能删除冲突包)
3. 软件包管理
sudo apt install <包名> # 安装(支持多个包名,空格分隔)
sudo apt remove <包名> # 卸载(保留配置文件)
sudo apt purge <包名> # 彻底卸载(删除配置文件)
sudo apt autoremove # 删除自动安装且不再需要的依赖
4. 搜索与信息查询
apt search <关键词> # 模糊搜索包名和描述
apt show <包名> # 查看包详情(版本、依赖、大小等)
apt list --installed # 列出所有已安装的包
apt policy <包名> # 查看包的安装状态和可用版本
三、高级操作技巧
1. 版本控制
- 安装指定版本:
sudo apt install <包名>=<版本号> # 如 nginx=1.18.0-0ubuntu1 - 阻止自动升级(版本锁定):
sudo apt-mark hold <包名> # 锁定 sudo apt-mark unhold <包名> # 解锁
2. 仓库源管理
- 添加 PPA 仓库:
sudo add-apt-repository ppa:<用户>/<仓库> # 如 ppa:ondrej/php sudo apt update - 删除仓库源:
sudo add-apt-repository --remove ppa:<用户>/<仓库> - 手动编辑源列表:
sudo nano /etc/apt/sources.list # 修改后需执行 apt update
3. 依赖问题修复
sudo apt --fix-broken install # 自动修复损坏的依赖
sudo dpkg --configure -a # 配合使用:修复未完成的安装
4. 模拟操作与下载
sudo apt install -s <包名> # 模拟安装(dry-run)
sudo apt download <包名> # 仅下载不安装(保存到当前目录)
5. 历史记录与回滚
- 查看操作日志:
grep 'Commandline: apt' /var/log/apt/history.log - 回滚操作:需手动重装旧版本(无内置回滚命令)。
四、典型应用场景
1. 系统维护
# 定期更新(推荐每周执行)
sudo apt update && sudo apt upgrade -y
# 清理旧版本和缓存
sudo apt autoclean # 删除旧包
sudo apt clean # 清空下载缓存(/var/cache/apt/archives/)
2. 批量操作
# 批量安装开发工具链
sudo apt install build-essential git curl python3-pip
# 导出已安装包列表 & 恢复
apt list --installed | grep -v "自动" > pkgs.txt
xargs sudo apt install -y < pkgs.txt
3. 安全审计
# 检查可升级的安全补丁
apt list --upgradable | grep -i security
# 查找非官方源安装的包
apt list --installed | grep -v ubuntu
五、注意事项与最佳实践
-
权限管理:
- 始终使用
sudo执行安装/卸载操作。 - 避免直接以 root 用户操作。
- 始终使用
-
源配置原则:
- 优先使用官方源,谨慎添加第三方 PPA。
- 定期检查
/etc/apt/sources.list,删除无效源。
-
生产环境规范:
- 重大升级前在测试环境验证。
- 使用
apt-mark hold锁定关键服务版本(如数据库、Nginx)。
-
故障处理:
- 若遇到依赖地狱,尝试:
sudo apt --fix-broken install sudo dpkg --configure -a - 紧急恢复时可通过 LiveCD 挂载磁盘修复。
- 若遇到依赖地狱,尝试:
-
替代工具:
- 图形界面:
sudo apt install synaptic(包管理器 GUI)。 - 高级工具:
aptitude(更强大的依赖解析)。
- 图形界面:
六、命令对比:apt vs apt-get
| 功能 | apt 命令 |
apt-get 等效命令 |
|---|---|---|
| 安装包 | apt install |
apt-get install |
| 删除包 | apt remove |
apt-get remove |
| 更新源 | apt update |
apt-get update |
| 升级包 | apt upgrade |
apt-get upgrade |
| 完全升级 | apt full-upgrade |
apt-get dist-upgrade |
| 搜索包 | apt search |
需使用 apt-cache search |
| 显示包信息 | apt show |
apt-cache show |
推荐优先使用 apt:输出更友好,包含进度条和颜色提示。