【问题标题】:How do I get around Rkt's systemd-nspawn symlink issue?如何解决 Rkt 的 systemd-nspawn 符号链接问题?
【发布时间】:2017-02-06 14:43:53
【问题描述】:

我正在尝试在 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 是一个符号链接...

【问题讨论】:

    标签: ruby rkt


    【解决方案1】:

    升级到大于 230 的 systemd 版本。

    【讨论】:

    • 我想我希望能找到 230 的解决方法。但由于这里缺乏 cmets,我猜没有一个。所以你的答案显然是正确的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-03-29
    • 1970-01-01
    • 1970-01-01
    • 2019-04-09
    • 2017-12-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多