Singularityで、偽のルートまたは定義ファイルのすべてのエントリからUbuntuベースのビルドをビルドすると、致命的な%post
エラーで失敗します。apt update -y
apt install -y openssh-client
apt-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 update
Rocky 9ではうまく機能します(一部の要件のため、切り替えることはできません)。これはクラスタ内にあり、rootアクセス権がなく、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