APT(Advanced Packaging Tools)和Dpkg(Debian Package Manager)都是Debian及其派生的Linux发行版上的包管理工具;当前使用的操作系统为Ubuntu 20.04 LTS。
APT
在镜像源中,软件包的相关信息(例如版本号、依赖关系等)会被记录下来并生成软件包列表,本地系统的APT可从镜像源获取软件包列表;当APT收到软件包管理的请求(例如安装、升级、卸载等)时,它就通过读取软件包列表、分析软件包的依赖关系并与本地系统已有的软件包进行信息对比并判断是否需要从镜像源获取软件包,随后APT可卸载软件包或访问镜像源来获取软件包并进行解压、安装、配置。
相较于Dpkg,APT可为软件包依赖关系的判断和解决提供便利,但APT无法安装系统本地的软件包。
Dpkg
Dpkg也可用于安装、卸载软件包,但作为相对底层的工具(与此相对的,APT为相对上层的工具),Dpkg可以安装本地的软件包,但不解决软件包的依赖关系,并且不关心镜像源内的软件。
附注
apt update和apt upgrade的区别
apt update
用于更新系统本地的软件包列表;apt upgrade
用于升级软件包。
要升级软件包,APT首先会读取软件包列表,只有列表中软件包的版本新于本地软件包的版本,APT才会从镜像源获取新版本的软件包,所以apt update
必须要在执行apt upgrade
之前执行。
本人小白一个(つд⊂),如有错误,请在评论区留言,谢谢(^y^)。