适用于 Kali、Ubuntu、Debian 等所有 Debian 系发行版
一、什么是 APT?
APT(Advanced Package Tool) 是 Debian、Ubuntu、Kali Linux 等发行版的核心软件包管理工具集,负责:
- 软件安装、卸载、更新、升级
- 依赖自动解决
- 软件源管理
- 包版本锁定、状态标记
- 系统整体更新
我们平时用的:
apt、apt-get、apt-cache、apt-mark、apt-key 等,全都属于 APT 工具家族。
二、APT 核心结构与工作流程
1. APT 由哪些部分组成?
- 前端命令 :
apt、apt-get(用户直接使用) - 查询工具 :
apt-cache - 包状态工具 :
apt-mark - 密钥管理 :
apt-key - 配置 :
/etc/apt/ - 软件源 :
/etc/apt/sources.list+/etc/apt/sources.list.d/ - 底层 :
dpkg(真正解包、安装、写入系统)
2. APT 工作流程
apt update:从源服务器拉取最新包列表到本地apt install:查本地列表 → 下载包 → 调用 dpkg 安装- 自动处理依赖:缺什么装什么
- 记录包状态:手动/自动/锁定
三、最常用命令:apt(现代统一前端)
apt 是官方推荐的日常使用命令 ,整合了 apt-get + apt-cache 的常用功能,输出更清晰、更好记。
1. 更新软件源(必须先做)
bash
sudo apt update
只更新包信息,不升级任何软件。
2. 安装软件
bash
sudo apt install 包名
# 示例
sudo apt install burpsuite nmap wireshark
3. 卸载软件
bash
# 普通卸载(保留配置)
sudo apt remove 包名
# 彻底删除(连配置一起删)
sudo apt purge 包名
4. 系统升级
bash
# 升级可更新的包
sudo apt upgrade
# 更彻底的系统升级(会增删包, Kali 推荐)
sudo apt full-upgrade
5. 搜索包
bash
apt search 关键词
6. 查看包信息
bash
apt show 包名
7. 清理无用包
bash
sudo apt autoremove
四、APT 家族所有工具完整清单
1. apt-get(传统稳定版,脚本首选)
适合写自动化脚本,输出格式稳定。
bash
sudo apt-get update
sudo apt-get install -y 包名
sudo apt-get remove 包名
sudo apt-get autoremove
sudo apt-get dist-upgrade
2. apt-cache(查询专用)
只查信息,不修改系统。
bash
apt-cache search 关键词
apt-cache show 包名
apt-cache depends 包名 # 查看依赖
apt-cache rdepends 包名 # 查看谁依赖它
apt-cache policy 包名 # 查看版本、源、优先级
3. apt-mark(包状态标记)
可以让一个软件包永远不更新。
bash
# 锁定包,禁止更新/卸载
sudo apt-mark hold 包名
# 解除锁定
sudo apt-mark unhold 包名
# 查看所有被锁定的包
apt-mark showhold
# 标记为手动安装(防止被 autoremove 删掉)
sudo apt-mark manual 包名
# 标记为自动安装(可被自动清理)
sudo apt-mark auto 包名
4. apt-key(软件源 GPG 密钥管理)
bash
sudo apt-key add 密钥文件
apt-key list
5. apt-config(查看/设置 APT 配置)
bash
apt-config dump
6. dpkg(底层安装工具)
APT 底层调用它。
bash
dpkg -i 安装包.deb
dpkg -l # 列出所有已安装包
dpkg -L 包名 # 查看安装路径
dpkg -s 包名 # 查看状态
五、APT 配置与软件源
1. 主配置文件
/etc/apt/sources.list
Kali 官方源示例:
deb http://http.kali.org/kali kali-rolling main non-free contrib
2. 额外源目录
/etc/apt/sources.list.d/
3. 更改源后必须执行
bash
sudo apt update
六、apt vs apt-get 到底用哪个?
| 场景 | 推荐命令 |
|---|---|
| 日常使用、终端手动 | apt |
| 写脚本、自动化 | apt-get |
| 查询信息 | apt / apt-cache |
| 锁定版本 | apt-mark |
简单记:手动用 apt,脚本用 apt-get。
小结
- APT = Debian 系全套包管理系统
- apt = 现代日常命令
- apt-get = 脚本稳定命令
- apt-cache = 查询
- apt-mark = 锁定版本、标记状态
- dpkg = 底层安装
- hold + 优先级配置 = 让软件永远不更新