我想在 NetBSD 9.1 amd64 系统中的 chroot 内运行一项服务。如果从操作系统调用,该服务就会运行。有问题的服务是dendrite-monolith-server
。我只是为了方便使用而将文件start
复制到 chroot 中/bin/
。
# ldd bin/start
bin/start:
-lpthread.1 => /usr/lib/libpthread.so.1
-lc.12 => /usr/lib/libc.so.12
它们是硬链接的:
# ls -l usr/lib
total 8560
-r--r--r-- 2 root pe 2079984 Feb 22 23:40 lc.12
-r--r--r-- 2 root pe 2079984 Feb 22 23:40 libc.so.12
-r--r--r-- 2 root pe 93656 Feb 22 23:40 libpthread.so.1
-r--r--r-- 2 root pe 93656 Feb 22 23:40 lpthread.1
在 chroot 中/dev
,MAKEDEV all
创建了设备。
复制ld.elf_so
到 chroot/libexec
目录
# ls -l /libexec/
total 324
-r-xr-xr-x 1 0 1000 164344 Feb 22 23:47 ld.elf_so
ksh93 是静态链接的:
# chroot ./ /bin/ksh93
#
# /bin/start
/bin/ksh93: /bin/start: not found
有什么错误或缺失?
答案1
我最终将base.tar.xz
NetBSD 安装包解压到一个新目录,将 Web 服务的内容复制到那里,然后它就运行了。