コンテナ内の deb ファイルの dpkg のインストールが失敗し、ライセンスを提供できません。

コンテナ内の deb ファイルの dpkg のインストールが失敗し、ライセンスを提供できません。

ホスト実行中ubuntu 20.04

Dockerコンテナの基盤はnvidiaで、次のものに基づいているnvcr.io/nvidia/deepstream:6.0.1-triton必要があります。ubuntu 20.04

graph_composer debファイルをインストールしてみてください https://developer.nvidia.com/deepstream-getting-started

root@xxxx:/workspace/downloads# dpkg -i graph_composer-1.0.0_x86_64.deb 
(Reading database ... 72950 files and directories currently installed.)
Preparing to unpack graph_composer-1.0.0_x86_64.deb ...
SOFTWARE LICENSE AGREEMENT FOR NVIDIA SOFTWARE DEVELOPMENT KITS could not be presented
dpkg: error processing archive graph_composer-1.0.0_x86_64.deb (--install):
 new graph-composer package pre-installation script subprocess returned error exit status 2
Errors were encountered while processing:
 graph_composer-1.0.0_x86_64.deb

ホストコンピュータで同じ deb ファイルを実行できます。インストールが開始される前にライセンスを受け入れるGUIが表示されます。そのため、Dockerイメージにライセンスファイルを表示する内容がありません。以下を試しました。

  1. xtermをインストールし、x11が正常に動作していることを確認するためにxtermが表示されるためです。
  2. インストールダイアログ、変更なし
  3. ホストでdpkgを実行すると、うまく動作します。
  4. apt-get update && apt-get install -f debconf何もしません。 debconfはすでに最新バージョンです。
  5. debconf-set-selections <<< 'graph-composer deepstream-reference-graphs/present-eula boolean true'sudo debconf-show graph-composerこれはホストシステムでの実行に基づいています。それでも同じエラーが発生します。

ベストアンサー1

DEBIAN_FRONTEND=noninteractive私のDockerfileではパラメータとしてのみ使用されましたが、それを準備した人がENVnvcr.io/nvidia/deepstream:6.0.1-tritonに追加したことがわかりました。

だから解決策はに設定することですreadline

DEBIAN_FRONTEND=readline dpkg -i graph_composer-1.0.0_x86_64.deb 

(インストールdialog後の設定もdialog機能します。)

一般的な方向性を教えてくれた@ABユーザーに感謝します。

おすすめ記事