NASのSingularityサンドボックス

NASのSingularityサンドボックス

同じSingularityコンテナを実行したい複数のマシンがあります。私たちはすでに各マシンにNASがインストールされているので、展開を考えずにNASを保存するのに最適な場所だと思いました。

最初はテストのために読み取り専用コンテナを入れました。その後、コンテナ内に追加のシステムパッケージをインストールする必要があります。そのため、NASに直接新しいサンドボックスコンテナを構築します(NASへのルートアクセス権があります)。ただし、サンドボックスにパッケージをインストールすることはできません(Singularityシェルは-w書き込みフラグとroot権限で始まります)、次のエラーが発生します。たとえば、yum updateサンドボックス内で起動すると、次のようになります。

error: cannot get shared lock on /var/lib/rpm/Packages
error: cannot open Packages index using db5 - Operation not permitted (1)
error: cannot open Packages database in /var/lib/rpm
Error: Error: rpmdb open failed

マシンの1つにローカルにサンドボックスコンテナをビルドしてアクセスすると、パッケージマネージャを介してソフトウェアをインストールできます。

これを設定するには、次のコマンドを実行します。まず、イメージライブラリからサンドボックスを構築します。この場合、AlmaLinux 8(CentOS 7も試しましたが、同じ問題がありました)。次に、パッケージをインストールするためにシェルモードでサンドボックスに入ります。

singularity build --sandbox al8.6-sandbox library://library/default/almalinux:8
singularity shell -w -B /mnt:/mnt al8.6-sandbox

NASエラーの原因は何ですか?

関連情報