2.1.7. 包管理的事件流
这是 APT 提供的软件包管理的简单事件流摘要。
更新(“
apt update
”、“aptitude update
” 或 “apt-get update
”):从远程档案库获取档案库元数据
重建和更新 APT 使用的本地元数据
- 升级(“
apt upgrade
” 和 “apt full-upgrade
”,或 “aptitude safe-upgrade
” 和 “aptitude full-upgrade
”,或 “apt-get upgrade
” 和 “apt-get dist-upgrade
”):
选择候选版本,它所安装的软件包通常都是最新的可用版本(例外参见 第 2.7.3 节 “调整候选版本” )
解决软件包依赖关系
如果候选版本与已安装的版本不同,会从远程档案库获取所选择的二进制软件包
解包所获取的二进制软件包
运行 preinst 脚本
安装二进制文件
运行 postinst 脚本
安装(“
apt install ...
”、“aptitude install ...
“ 或者 “apt-get install …
” ):选择命令行中列出的包
解决软件包依赖关系
从远程服务器获取已选二进制包
解包所获取的二进制软件包
运行 preinst 脚本
安装二进制文件
运行 postinst 脚本
移除 (”
apt remove …
“, “aptitude remove …
” 或 “apt-get remove …
”):选择命令行中列出的包
解决软件包依赖关系
运行 prerm 脚本
移除已安装的文件,除了配置文件
运行 postrm 脚本
清除 (”
apt purge
“,“aptitude purge …
” 或 “apt-get purge …
”):选择命令行中列出的包
解决软件包依赖关系
运行 prerm 脚本
移除已安装的文件,包含配置文件
运行 postrm 脚本
这里,为了大局,我特意省略了技术细节。