7

私は小さな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

誰かが私が間違ったことを知っていますか?

4

1 に答える 1

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
于 2015-04-06T13:44:11.293 に答える