openssh-client가 설치한 groupadd로 인해 Singularity 빌드가 실패했습니다.

openssh-client가 설치한 groupadd로 인해 Singularity 빌드가 실패했습니다.

Singularity에서 가짜 루트 또는 정의 파일의 모든 항목에서 Ubuntu 기반 빌드를 빌드하면 치명적인 %post오류 와 함께 실패합니다.apt update -yapt install -y openssh-clientapt-get-f

groupadd: failure while writing changes to /etc/group
addgroup: `/sbin/groupadd -g 101 ssh' returned error code 10. Exiting.
Errors were encountered while processing: openssh-client E: Sub-process /usr/bin/dpkg returned an error code (1)
FATAL: While performing build: while running engine: exit status 100

사용자 추가가 왜 문제인지 이해하지만 yum updateRocky 9에서는 잘 작동합니다(일부 요구 사항으로 인해 전환할 수 없습니다). 이것은 클러스터에 있으며 루트 액세스 권한이 없고 Singularity를 ​​사용해야 하며 docker를 사용할 수 없습니다. 기본 OS는 CentOS 7이고 glibc 문제는 극복할 수 없습니다. Nvidia의 Docker Ubuntu 이미지부터 서명되지 않은 Singularity 이미지까지 공식적으로 서명된 다양한 Ubuntu 이미지를 사용해 보았습니다.

Conda는 ssh를 설치할 수 있지만 문제가 apt update실패하여 해결할 수 없습니다.

온라인에는 부족한 부분이 너무 많아서 뭔가 뻔한 게 빠진 것 같은 느낌이 듭니다...

답변1

해결책은 패키지 관리자를 속이는 것입니다동등한

apt-get install -y equivs
# Manual `equivs-control openssh-client`
echo 'Section: misc' > openssh-client
echo 'Priority: optional' > openssh-client
echo 'Standards-Version: 3.9.2' > openssh-client
echo 'Package: openssh-client' > openssh-client
echo 'Version: 1:8.9p1-3ubuntu0.4' > openssh-client
echo 'Maintainer: Your Name <[email protected]>' > openssh-client
echo 'Provides: openssh-client' > openssh-client
echo 'Architecture: amd64' > openssh-client
echo 'Description: fake package' > openssh-client
equivs-build openssh-client
dpkg -i equivs-dummy_1.0_all.deb

관련 정보