Linux中apt是Advanced Package Tool的缩写,是Debian及其衍生发行版(比如Ubuntu、Linux Mint等)中默认的包管理工具,主要用于管理系统中的软件包,包括软件的安装、更新、卸载、依赖处理等操作。它是在传统dpkg包管理工具基础上发展而来的上层工具,解决了dpkg无法自动处理软件依赖的问题,大幅降低了普通用户管理软件的门槛。

apt的核心作用
apt的核心价值是简化Linux系统下的软件管理流程,它的主要功能包括以下几个方面:
- 自动处理软件依赖:安装某个软件时,会自动检测并安装该软件运行所需的所有依赖包,不需要用户手动逐个查找安装。
- 管理软件源:可以从配置的软件源中获取最新的软件包信息,保证安装的软件是最新稳定版本。
- 统一的软件操作接口:把安装、更新、卸载、搜索等操作整合到统一的命令格式下,学习成本更低。
apt的常用命令
以下是日常使用中最常见的apt命令,所有命令都需要root权限或者配合sudo使用:
更新软件源索引
在安装或更新软件前,建议先执行这个命令,获取软件源中最新的软件包列表:
# 更新软件源索引 sudo apt update
升级已安装的软件包
升级系统中所有可更新的软件包到最新版本:
# 升级所有已安装软件 sudo apt upgrade # 升级时允许移除旧依赖,处理更彻底 sudo apt full-upgrade
安装软件包
安装指定的软件包,会自动处理所有依赖:
# 安装nginx服务 sudo apt install nginx # 同时安装多个软件包 sudo apt install curl wget git
卸载软件包
卸载不需要的软件,支持保留配置或者完全删除:
# 卸载软件但保留配置文件 sudo apt remove nginx # 完全卸载软件包括配置文件 sudo apt purge nginx
搜索和查看软件包信息
查找软件源中符合关键词的软件包,或者查看某个软件包的详细信息:
# 搜索包含nginx关键词的软件包 apt search nginx # 查看nginx软件包的详细信息 apt show nginx
清理无用依赖和缓存
删除不再需要的依赖包和下载的安装缓存,释放磁盘空间:
# 删除不再需要的依赖包 sudo apt autoremove # 清理下载的安装包缓存 sudo apt clean
apt和apt-get的区别
很多用户会疑惑apt和apt-get有什么不同,二者都是Debian系的包管理工具,但是定位和用法有区别:
| 对比项 | apt | apt-get |
|---|---|---|
| 推出时间 | 较新,2014年随Ubuntu 16.04推出 | 较早,是传统的包管理命令 |
| 命令复杂度 | 命令更简洁,参数更友好,输出信息更清晰 | 命令参数较多,输出信息偏底层 |
| 功能覆盖 | 整合了apt-get、apt-cache等多个工具的核心功能 | 功能更细分,不同操作需要用不同命令 |
| 适用场景 | 适合普通用户日常使用 | 更适合脚本和自动化场景 |
简单来说,日常手动管理软件优先使用apt,编写自动化脚本时如果需要更稳定的行为可以选择apt-get。
apt的底层依赖
apt本身是上层工具,底层依赖dpkg来完成软件包的实际安装、卸载操作。dpkg是Debian系最基础的包管理工具,负责处理.deb格式的软件包,但是无法自动解决依赖问题,而apt就是在dpkg基础上做了封装,补充了依赖处理的能力,让软件管理更便捷。
注意:apt只适用于Debian、Ubuntu、Linux Mint等基于Debian的发行版,RedHat、CentOS等发行版使用的是yum或者dnf包管理工具,不要混用命令。