如何在Debian系统上安装Debian软件包时读取输入

时间:2012-06-04 17:04:28

标签: linux ubuntu package debian debconf

我创建了一个小的Debian软件包,它必须从用户那里获取输入并打印出来。

为了在postinst脚本上从用户“read”命令获取输入将无法在Debian系统上运行我不知道究竟是什么原因,但它在Ubuntu系统中有效。

后来我发现我们必须使用模板文件为Debian系统使用“debconf”。

模板文件:

Template: test/input
Type: text
Description: enter some text, which will be displayed

postinst脚本:

 db_get test/input
    echo "you have entered ::$RET" >&2

但是当我安装我的测试包时,我收到了这个错误:

  

Can't exec "postinst": No such file or directory at /usr/share/perl/5.10/IPC/Open3.pm line 168. <br>open2: exec of postinst configure failed at /usr/share/perl5/Debconf/ConfModule.pm line 59

有谁知道我做错了什么?

1 个答案:

答案 0 :(得分:1)

您的 postinst 脚本应如下所示:

#!/bin/bash

set -e

. /usr/share/debconf/confmodule

case "$1" in
  configure)
    db_get test/input
    echo "you have entered ::$RET" >&2
  ;;
esac
db_stop