我在一个没有sudo权限的系统上遇到了一些奇点问题。奇点是这个系统上的一个模块,这样其他用户就可以使用它。我是第一个尝试使用它的用户。我正在尝试使用--fakeroot (-f)来构建一个非常简单的容器。
$ module load singularity
$ singularity --version
singularity version 3.6.4
$ cat t.def
Bootstrap: library
From: ubuntu:18.04
Stage: build
$ singularity build -f t.sif t.def
ERROR : Failed to create container process: Invalid argument
$ singularity -d build -f t.sif t.def
DEBUG [U=1013,P=8140] persistentPreRun() Singularity version: 3.6.4
DEBUG [U=1013,P=8140] persistentPreRun() Parsing configuration file /opt/singularity/3.6.4//etc/singularity/singularity.conf
DEBUG [U=1013,P=8140] handleConfDir() /home/Thomas.Robinson/.singularity already exists. Not creating.
DEBUG [U=1013,P=8140] init() Use starter binary /opt/singularity/3.6.4/libexec/singularity/bin/starter-suid
VERBOSE [U=0,P=8140] print() Set messagelevel to: 5
VERBOSE [U=0,P=8140] init() Starter initialization
DEBUG [U=0,P=8140] get_pipe_exec_fd() PIPE_EXEC_FD value: 8
VERBOSE [U=0,P=8140] is_suid() Check if we are running as setuid
VERBOSE [U=0,P=8140] priv_drop() Drop root privileges
DEBUG [U=1013,P=8140] init() Read engine configuration
DEBUG [U=1013,P=8140] init() Wait completion of stage1
VERBOSE [U=1013,P=8150] priv_drop() Drop root privileges permanently
DEBUG [U=1013,P=8150] set_parent_death_signal() Set parent death signal to 9
VERBOSE [U=1013,P=8150] init() Spawn stage 1
DEBUG [U=1013,P=8150] startup() fakeroot runtime engine selected
VERBOSE [U=1013,P=8150] startup() Execute stage 1
DEBUG [U=1013,P=8150] StageOne() Entering stage 1
VERBOSE [U=1013,P=8140] wait_child() stage 1 exited with status 0
DEBUG [U=1013,P=8140] cleanup_fd() Close file descriptor 4
DEBUG [U=1013,P=8140] cleanup_fd() Close file descriptor 5
DEBUG [U=1013,P=8140] cleanup_fd() Close file descriptor 6
DEBUG [U=1013,P=8140] init() Set child signal mask
DEBUG [U=1013,P=8140] init() Create socketpair for master communication channel
DEBUG [U=1013,P=8140] init() Create RPC socketpair for communication between stage 2 and RPC server
VERBOSE [U=1013,P=8140] user_namespace_init() Create user namespace
VERBOSE [U=1013,P=8140] pid_namespace_init() Create pid namespace
ERROR [U=1013,P=8140] init() Failed to create container process: Invalid argument调试版本不提供有关无效参数的任何信息。我试图删除其中一个文件,但它只是告诉我缺少一个参数。是奇点安装、我的.def文件有问题,还是我做了什么完全错误的事情?
谢谢你的帮助。
发布于 2020-10-24 16:26:30
你能检查一下系统enable unprivileged user namespace creation’吗?默认情况下未启用。
文档:https://sylabs.io/guides/3.6/admin-guide/user_namespace.html#user-namespace-requirements
在我的环境CentOS 7.4中,启用了:
sudo sh -c 'echo user.max_user_namespaces=15000 \
>/etc/sysctl.d/90-max_net_namespaces.conf'
sudo sysctl -p /etc/sysctl.d /etc/sysctl.d/90-max_net_namespaces.confhttps://stackoverflow.com/questions/64466390
复制相似问题