apt-get 和 apt-cache 是 Debian/Ubuntu 系统中两个核心的底层包管理工具,它们都基于 dpkg,但用途不同。
apt 命令,它结合了 apt-get 和 apt-cache 的常用功能,并提供更好看的输出。
常见的apt命令
查看已安装的包
# 这会列出所有已安装的软件包,包括名称、版本和架构。
apt list --installed |grep nginx
dpkg -l |grep nginx
# 检查某个包是否确切安装
dpkg -s nginx
# 列出所有包含 "nginx" 的包(不管是否安装)
apt-cache search nginxapt-get 命令
管理已安装的软件包,对系统进行更改
# 安装一个包
sudo apt-get install nginx
# 卸载包(保留配置文件)
sudo apt-get remove nginx
# 彻底卸载包(包括配置文件)
sudo apt-get purge nginx
# 更新软件包列表(必须先运行才能获取最新信息)
sudo apt-get update
# 升级所有可升级的包
sudo apt-get upgrade
# 自动删除无用的依赖包
sudo apt-get autoremoveapt-cache命令
从本地的包索引中查询可用软件包的信息,不会修改系统。
# 搜索软件包(名称或描述中包含关键字)
apt-cache search nginx
# 显示某个包的详细信息(版本、依赖、描述等)
apt-cache show nginx
# 查看包的版本和安装优先级
apt-cache policy nginx
# 输出示例:
# Installed: (none)
# Candidate: 1.18.0-6ubuntu14.4
# Version table:
# 1.18.0-6ubuntu14.4 500
# 500 http://archive.ubuntu.com/ubuntu focal-updates/main amd64 Packages
#该软件包在所有已配置的软件源中存在的各个版本,以及这些版本来自哪个发行版(release)、组件(如 main, universe)和镜像站点。
apt-cache madison nginx
# 输出示例
# nginx | 1.18.0-6ubuntu14.4 | http://archive.ubuntu.com/ubuntu focal-updates/main amd64 Packages
# nginx | 1.18.0-6ubuntu14.4 | http://security.ubuntu.com/ubuntu focal-security/main amd64 Packages
# nginx | 1.18.0-0ubuntu1 | http://archive.ubuntu.com/ubuntu focal/main amd64 Packages
# 输出格式是固定的列对齐格式,便于人工阅读,但不适合脚本解析(建议用 apt-cache policy 替代用于脚本)
# 查看包的依赖关系
apt-cache depends nginx
# 反向依赖:查看哪些包依赖于某个包
apt-cache rdepends nginx