主机运行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 映像缺少用于显示许可证文件的内容,我尝试过:
- 安装 xterm 并检查 x11 是否正常工作,我认为是因为 xterm 出现了
- 安装对话框,没有改变任何东西
- 在主机上执行 dpkg,效果很好
apt-get update && apt-get install -f debconf
它没有做任何事情,debconf 已经是最新版本debconf-set-selections <<< 'graph-composer deepstream-reference-graphs/present-eula boolean true'
这是基于sudo debconf-show graph-composer
在主机上运行的。仍然出现同样的错误
答案1
尽管只DEBIAN_FRONTEND=noninteractive
在我自己的 Dockerfile 中用作参数,但事实证明,无论是谁准备的,nvcr.io/nvidia/deepstream:6.0.1-triton
都已将其添加到 ENV 中
因此解决方案是将其设置为readline
。
DEBIAN_FRONTEND=readline dpkg -i graph_composer-1.0.0_x86_64.deb
(安装dialog
然后将其设置为dialog
也可以。)
感谢用户@AB为我指明了大致的方向