使用 dpkg 安装 debian 包时遵循的典型算法是什么?

使用 dpkg 安装 debian 包时遵循的典型算法是什么?

使用 安装 Debian 软件包时,事情是如何运作的dpkg?我想知道在命令启动后事情是如何处理的,比如解包,尤其是指定软件包的预配置/后配置。当存在未满足的依赖关系时,它们如何管理不完整的配置?如果您添加一些步骤细节和/或指出相关来源,那将非常有帮助。谢谢。

答案1

dpkg 是一个用于安装、构建、删除和管理 Debian 软件包的工具。dpkg 的主要且更用户友好的前端是 aptitude。dpkg 本身完全通过命令行参数控制,这些参数由一个操作和零个或多个选项组成。action- 参数告诉 dpkg 要做什么,而选项则以某种方式控制操作的行为。


-i,--安装包文件...

安装软件包。如果指定了 --recursive 或 -R 选项,则 package-file 必须引用目录。

安装包括以下步骤:

  1. 提取新包的控制文件。

  2. 如果在新安装之前安装了同一包的另一个版本,请执行旧包的 prerm 脚本。

  3. 如果包提供了,则运行 preinst 脚本。

  4. 解压新的文件,同时备份旧的文件,这样如果出现问题可以恢复。

  5. 如果在新安装之前安装了同一软件包的另一个版本,请执行旧软件包的 postrm 脚本。请注意,此脚本在新软件包的 preinst 脚本之后执行,因为新文件是在删除旧文件的同时写入的。

  6. 配置软件包。请参阅 --configure 以获取有关如何执行此操作的详细信息。


-configure 包...|-一|- 待办的

配置已解压但尚未配置的软件包。如果给出 -a 或 --pending 而不是 package,则将配置所有已解压但尚未配置的软件包。

要重新配置已配置的包,请尝试 dpkg-reconfigure(8) 命令。

配置包括以下步骤:

  1. 解压conffile,同时备份旧的conffile,以便在出现问题时可以恢复。

  2. 如果包提供了,则运行 postinst 脚本。


另请访问: 12345&6

请参阅封装状态、​​封装选择状态和封装标志手动的

相关内容