Debian:インストール/アップグレードするたびにdpkgインストールについて尋ねる必要があるときの最良の方法は何ですか?

Debian:インストール/アップグレードするたびにdpkgインストールについて尋ねる必要があるときの最良の方法は何ですか?

Djangoシステム用の.debインストーラがあり、ソフトウェアをインストールした人にはいくつかの質問があります。これを行う方法はいくつかありますが、Debianパッケージのベストプラクティスが何であるかを知りたいと思います。

しばしばdebconfは確かな解決策です。しかし、この場合は、Debian がこれを覚えて、それ以降のすべてのアップグレードに適用するのではなく、毎回この質問をしたいと思います。その理由は問題の性質に関連しています。具体的には、「今すぐデータベース移行を適用しますか?」、「デモデータベースを構築しますか?」という質問が出ました。

これで、すべての作業はインストール後に手動で実行できますが、これまでの経験によれば、このステップは忘れやすいので、ヒントを提供したいと思いました。他のシステムからデータベースを移行する必要がない場合は、移行手順を自動化します。移行を適用する前に実行する方が簡単です。 「デモデータベース」の質問は通常、最初のインストールでのみ使用されるため、移行の状況によって異なります。しかし、私たちはDebianがこの選択を覚えて毎回適用したくありません。既存の使用中のデータベースが破損する可能性があるためです。

だから私は本物のDebianスタイルのアプローチが何であるか疑問に思います。 postinstスクリプト内でシェルプロンプトを使用できますが、より良い方法がある場合は、できるだけ早くそれを行います。 「もう一度質問」について知っていることを追加する必要がありますが、これはグローバル設定でのみ機能するようです。このパッケージに対してこれを行うことをお勧めします。

最後に、これは内部システムであり、パブリックリポジトリでホストされていないため、無人インストールや非bashインストール環境などの考慮事項についてあまり心配しません。

これは数週間私を悩ませました。どんな助けでも大変感謝します。

ベストアンサー1

「Debian のような」方法で状況を処理できるように、問題への本格的なアプローチがあります。

debconf の質問をリセットして、毎回再表示することができます。db_resetこれは、以前の回答(必要な場合)を忘れて、db_fset ... seen false以前に表示された質問を忘れてしまった場合です。これにより、移行を適用するかどうかを毎回尋ねることができます。

デモデータベースの問題を処理するために、デモデータベースをインストールするかどうかを覚えている隠し設定を追加しました。これにより、一般的なdebconfメカニズムを使用して質問があるかどうかを覚えて最初のインストールにのみ表示し、デモデータベースがすでにインストールされていることを確認して2回インストールするのを防ぎます。

おすすめ記事