我如何解决 Rkt 的 systemd-nspawn 符号链接问题?
How do I get around Rkt's systemd-nspawn symlink issue?
我正在尝试在 Rkt 容器中制作一个简单的 Ruby 应用程序,但我的构建脚本不断给我变化:
Warning: "/bin/sh" is a symlink, which systemd-nspawn version 219 might error on
Directory /too/long/for/so/.acbuild/target lacks the binary to execute or doesn't
look like a binary tree. Refusing.
run: non-zero exit code: 1
Ending the build
谁能告诉我通常的解决方法?
这是我的构建脚本:
#!/usr/bin/env bash
set -e
acbuildend () {
export EXIT=$?;
acbuild --debug end && exit $EXIT;
}
acbuild --debug begin
trap acbuildend EXIT
rm -f sputnik2.aci
acbuild set-name jhallpr.com/sputnik
acbuild dependency add quay.io/coreos/alpine-sh
acbuild run -- apk update
acbuild run -- apk add ruby ruby-io-console
acbuild copy-to-dir ./sputnik2 /usr/src/app/sputnik2
acbuild set-working-directory /usr/src/app/sputnik2
acbuild run -- gem install bundler --no-doc --no-ri
acbuild run -- /bin/sh -c "bundle install" # <-- *falls over here*
acbuild set-exec -- /usr/bin/ruby sputnik2.rb
acbuild write sputnik2.aci
请注意,我在这里进行了炮击 (acbuild run -- /bin/sh -c...
),因为捆绑程序在 运行 作为 root 时会抱怨。但是符号链接似乎是一个非常普遍的问题。例如,如果我通过 acbuild run -- apk add
安装捆绑器,脚本会抱怨 bundle
是一个符号链接...
升级到大于 230 的 systemd 版本。
我正在尝试在 Rkt 容器中制作一个简单的 Ruby 应用程序,但我的构建脚本不断给我变化:
Warning: "/bin/sh" is a symlink, which systemd-nspawn version 219 might error on
Directory /too/long/for/so/.acbuild/target lacks the binary to execute or doesn't
look like a binary tree. Refusing.
run: non-zero exit code: 1
Ending the build
谁能告诉我通常的解决方法?
这是我的构建脚本:
#!/usr/bin/env bash
set -e
acbuildend () {
export EXIT=$?;
acbuild --debug end && exit $EXIT;
}
acbuild --debug begin
trap acbuildend EXIT
rm -f sputnik2.aci
acbuild set-name jhallpr.com/sputnik
acbuild dependency add quay.io/coreos/alpine-sh
acbuild run -- apk update
acbuild run -- apk add ruby ruby-io-console
acbuild copy-to-dir ./sputnik2 /usr/src/app/sputnik2
acbuild set-working-directory /usr/src/app/sputnik2
acbuild run -- gem install bundler --no-doc --no-ri
acbuild run -- /bin/sh -c "bundle install" # <-- *falls over here*
acbuild set-exec -- /usr/bin/ruby sputnik2.rb
acbuild write sputnik2.aci
请注意,我在这里进行了炮击 (acbuild run -- /bin/sh -c...
),因为捆绑程序在 运行 作为 root 时会抱怨。但是符号链接似乎是一个非常普遍的问题。例如,如果我通过 acbuild run -- apk add
安装捆绑器,脚本会抱怨 bundle
是一个符号链接...
升级到大于 230 的 systemd 版本。