知识分享 | Debian包的潜规则(脚本篇)

关注优麒麟,更多干货等着你!

我们在安装一个 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 从它的 deb 文件中解包,这个脚本通常会完成包 foo 安装完成后的必需配置工作。通常,postinst 脚本会要求用户输入,或警告用户,如果他们接受默认值,他们应该记得返回并根据需要重新配置该包。一旦安装或升级了新包,许多 postinst 脚本就会执行脚

你可能感兴趣的:(优麒麟,debian,脚本语言)