【问题标题】:Chroot syntax in MakefileMakefile 中的 Chroot 语法
【发布时间】:2016-03-14 07:36:51
【问题描述】:

我正在尝试调试一个 Makefile,它表面上调用一个脚本,试图将 chroot 放入某个目录。然后它也执行env 命令。

BCMD= bash

CMD= "/build/toolcrib/prepare_final_tree >crumbs/Final-prep.out 2>&1"

${BCMD} -c "chroot /home/user/Smoothwall/bcutm/distrib /tools/bin/env -i ${CMD}"

我知道它正在 chroot 到指定的目录。 env -i ${CMD} 的作用是什么,作为 chroot 的单个命令。

运行此命令后,它找不到/tools/bin/env 命令。

【问题讨论】:

  • CMD 定义中添加pwd
  • 怎么样?你能解释一下吗……这里涉及到残障人士?
  • 我很担心makefile试图使用chroot;我不会用它。
  • Makefile 调用一个运行这些命令的脚本。编辑了我的问题。

标签: linux makefile environment-variables chroot env


【解决方案1】:

您的 chroot 中似乎没有正确安装 /tools/bin/env。它可能丢失了,或者它的某些依赖项可能丢失了。

也许 chroot 有一个 /usr/bin/env,您可以使用它。

您也许可以通过在 chroot 外部运行 ldd 来找到 env 缺少的其他文件:

ldd /home/user/Smoothwall/bcutm/distrib/tools/bin/env

但是,最好将coreutils 正确安装到您的 chroot 中。

【讨论】:

  • /tools/bin/ 包含 env,我复制的是我的(非 chrooted)/usr/bin/env。
  • chroot /home/user/Smoothwall/bcutm/distrib /tools/bin/envls -l /home/user/Smoothwall/bcutm/distrib/tools/bin/env 的确切输出是什么?
  • 1. chroot:无法运行命令'/tools/bin/env':没有这样的文件或目录2.-rwxr-xr-x 1 root root 26308 Dec 8 17:27 /home/user/Smoothwall/bcutm/distrib/tools/bin/env
  • 我相信在查找动态链接库时会产生“没有这样的文件或目录”错误。您可以通过 ldd /home/user/Smoothwall/bcutm/distrib/tools/bin/env 列出这些。
猜你喜欢
  • 1970-01-01
  • 2023-03-07
  • 1970-01-01
  • 1970-01-01
  • 2017-04-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多