关注优麒麟,更多干货等着你!
我们在安装一个 Debian 包时,可能需要在安装或者卸载时去处理一些额外的安装操作,比如:新建一个目录,停止一个正在运行的服务等。这时就要用到一些特殊的脚本,“维护者脚本”。顾名思义,这是我们的研发人员常常会用到的脚本。
常见维护者脚本报错
“dpkg (subprocess): unable to execute installed post-installation script (/var/lib/dpkg/info/xxx.postinst)”
上面这个报错应该很常见,这就是在安装时执行维护者脚本出现问题的报错。下面将会介绍一下这些脚本。
一、四大维护者脚本文件
“preinst、postinst、prerm 和 postrm
1、基本描述
binarypackage.preinst,binarypackage.postinst,binarypackage.prerm,binarypackage.postrm 这四类文件被称为维护者脚本,这些脚本被放置在 Debian 目录下的控制区内,并且被“dpkg”用来控制安装,升级和删除。
2、具体功能
这些文件是可执行脚本,在安装或删除包之前或之后自动运行。连同一个名为 control 的文件,所有这些文件都是 Debian 存档文件的 “control” 部分的一部分。下面 foo 代指二进制安装包名。
01
foo.preinst:软件安装前执行的脚本
在从 deb 文件中解压缩它所属的包之前执行此脚本。许多 preinst 脚本停止正在升级的包的服务,直到它们的安装或升级完成。
02
foo.postinst:软件安装后执行的脚本
一旦 foo 从它的

本文介绍了Debian包管理中维护者脚本的作用和执行流程,包括preinst、postinst、prerm和postrm,并强调了避免手工编辑的重要性。此外,还详细讲解了Conffiles的概念,它是如何在软件升级时保留用户配置文件的机制,以及处理文件冲突的策略。最后,提醒开发者遵循这些规则以确保软件包的正确管理。
最低0.47元/天 解锁文章
1278

被折叠的 条评论
为什么被折叠?



