컨테이너 내부에서 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가 표시됩니다. 그래서 도커 이미지에 라이센스 파일을 표시할 내용이 누락된 것 같습니다. 다음을 시도했습니다.

  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에서는 매개변수로만 사용되었지만 이를 준비한 사람이 ENV nvcr.io/nvidia/deepstream:6.0.1-triton에 추가한 것으로 나타났습니다.

그래서 해결책은 로 설정하는 것입니다 readline.

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

(설치 dialog후 설정도 dialog작동합니다.)

일반적인 방향을 알려준 @AB 사용자에게 감사드립니다.

관련 정보