
自分が作成したパッケージの Debian パッケージ メンテナー スクリプト (インストール前スクリプトなど) を記述する場合、スクリプトが非対話型モードで実行されているかどうかを判断できるようにするにはどうすればよいでしょうか (たとえば、apt-get install
が で呼び出された場合-y
など)?
答え1
メンテナスクリプトがインストールを実行しているユーザーと対話する必要がある場合は、 を使用することをお勧めしますdebconf
。Debian パッケージでの条件付きファイルとディレクトリのインストールポインター用。これは複雑に思えるかもしれませんが、多くの利点があります。debconf
非対話型セットアップ (明示的なDEBIAN_FRONTEND=noninteractive
呼び出しによる、またはユーザーと対話する方法がないため) を処理するだけでなく、さまざまなフロントエンドをサポートし、によって管理される設定をdebconf
インストール前に設定できます (「事前シード」を使用)。これはあなたのケースには関係ないかもしれませんが、debconf
さまざまな言語のプロンプトもサポートしています。
apt-get
フラグはメンテナスクリプトの対話性とは別のものであることに注意してください。DEBIAN_FRONTEND=noninteractive は apt-get -yqq と重複していますか?