使用 安装 Debian 软件包时,事情是如何运作的dpkg
?我想知道在命令启动后事情是如何处理的,比如解包,尤其是指定软件包的预配置/后配置。当存在未满足的依赖关系时,它们如何管理不完整的配置?如果您添加一些步骤细节和/或指出相关来源,那将非常有帮助。谢谢。
答案1
dpkg 是一个用于安装、构建、删除和管理 Debian 软件包的工具。dpkg 的主要且更用户友好的前端是 aptitude。dpkg 本身完全通过命令行参数控制,这些参数由一个操作和零个或多个选项组成。action- 参数告诉 dpkg 要做什么,而选项则以某种方式控制操作的行为。
-i,--安装包文件...
安装软件包。如果指定了 --recursive 或 -R 选项,则 package-file 必须引用目录。
安装包括以下步骤:
提取新包的控制文件。
如果在新安装之前安装了同一包的另一个版本,请执行旧包的 prerm 脚本。
如果包提供了,则运行 preinst 脚本。
解压新的文件,同时备份旧的文件,这样如果出现问题可以恢复。
如果在新安装之前安装了同一软件包的另一个版本,请执行旧软件包的 postrm 脚本。请注意,此脚本在新软件包的 preinst 脚本之后执行,因为新文件是在删除旧文件的同时写入的。
配置软件包。请参阅 --configure 以获取有关如何执行此操作的详细信息。
-configure 包...|-一|- 待办的
配置已解压但尚未配置的软件包。如果给出 -a 或 --pending 而不是 package,则将配置所有已解压但尚未配置的软件包。
要重新配置已配置的包,请尝试 dpkg-reconfigure(8) 命令。
配置包括以下步骤:
解压conffile,同时备份旧的conffile,以便在出现问题时可以恢复。
如果包提供了,则运行 postinst 脚本。
请参阅封装状态、封装选择状态和封装标志手动的。