非標準シェルにパッケージをインストールすると、「フロントエンドを初期化できませんでした:ダイアログ」メッセージが表示された場合、実際にどのような結果が発生しますか?

非標準シェルにパッケージをインストールすると、「フロントエンドを初期化できませんでした:ダイアログ」メッセージが表示された場合、実際にどのような結果が発生しますか?

非対話型シェル(ファイルなど)からEmacsの一部のパッケージをインストールすると、org-babel次のメッセージが生成されます。

debconf: unable to initialize frontend: Dialog
debconf: (Dialog frontend will not work on a dumb terminal, an emacs shell buffer, or without a controlling terminal.)
debconf: falling back to frontend: Readline

mysqlの場合は、rootパスワードの入力を求めるメッセージを表示するか、ユーザーにデフォルト設定や設定などの他のことを尋ねることを知っています。

この場合、インストーラはいくつかのデフォルト設定を使用して続行できると思います。

だから私の主な関心事は次のとおりです。

  1. 結果はそれほど深刻でしょうか?

  2. インストーラに渡すことができる各パッケージに関連する応答ファイルはありますか?それとも、この目的に使用できるプリセットされた場所にあるデフォルトファイルはありますか?

答え1

引用したメッセージが示すように、フロントエンドが利用できない場合(たとえば、Emacs内でパッケージのインストールコマンドを実行するとき)、パッケージ構成Dialogシステムはより簡単なフロントエンドを使用します。Readline

実際には、画面の中央にあるテキストボックスにデフォルト設定の質問を個別にインポートするのではなく、他のメッセージとともにプレーンテキストに1つずつインポートすることを意味しますdebconf。同じ問題をすべて表示できるはずです。場合によっては、入力内容を編集する方法がさらに制限されることがあります。つまり、矢印キーが機能せず、バックスペースのみが使用可能になります。

フロントエンドも利用できず、Readlineパッケージに事前設定された設定がない場合は、組み込みのデフォルト値が使用されます。パッケージ設定に対応するデフォルト値がない場合にのみ、パッケージのインストールが失敗する可能性があります。

  1. 結果はそれほど深刻でしょうか?

さまざまな方法で表示される好みに関する質問のために混乱しない限り、それほど悪くはありません。冷静にコンピュータに表示されるメッセージを読んでください。そうすれば答えがわかります。

  1. どのような応答ファイル[...]がありますか?

はい、設定を自動化する方法があります。debconf-docパッケージがインストールされていることを確認し、man 7 debconfタイトルを使用して読んでください。事前設定されたパッケージそして無人パッケージのインストール

既定では、まだインストールしていないパッケージがある場合は、次のものを使用できます。

dpkg-preconfigure <package-name_version.deb>

パッケージを実際にインストールする前に、パッケージに関するすべての質問を確認して回答してください。後で(またはパッケージがすでにインストールされているシステムで)、以下を使用して保存されたデフォルト設定を表示できます。

debconf-show <package-name>

その後、次のようにファイルに保存する設定を選択できます。

debconf-get-selections | grep <name of setting> >>settings.txt

設定ファイルを別のホストに転送し、インポートする前に必要なだけ繰り返しますdebconf

debconf-set-selections < settings.txt

あるいは、SSHや次のような方法でパイプするだけです。

ssh root@newhost debconf-set-selections < settings.txt

後でパッケージがホストにインストールされると、構成newhost質問に対する回答がすでに提供されているため、debconfこれらの質問は対話的に尋ねられません。 (新しいバージョンのパッケージにさらに質問がある場合は、新しい質問のみが質問されます。)

関連情報