首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >嵌入式linux中的busybox显示"applet not found“

嵌入式linux中的busybox显示"applet not found“
EN

Stack Overflow用户
提问于 2013-09-27 14:02:08
回答 3查看 34.7K关注 0票数 7

我自己编译了busybox,并把它放到了我们的嵌入式linux中。但我有几个问题。

问题1:当我尝试使用诸如gzip之类的命令时,它输出"gzip: applet not found".While我检查了busybox的菜单配置,我确保我选择了"gzip“。

问题2:我曾经使用VIM,但是busybox只提供了一个链接VIM到VI的VI.So,但是当我输入vim并运行它时,它也显示"vim: applet not found“。

有人能帮我解决这个“找不到小应用程序”的问题吗?非常感谢。

PS:我把busybox的"applet“搞糊涂了,它是什么?就像java里的"applet“?

EN

回答 3

Stack Overflow用户

发布于 2018-01-05 09:57:23

问题1和2的答案是:必须首先设置PATH变量,或者在启用FEATURE_PREFER_APPLETS的情况下编译busybox。您可以使用以下命令设置PATH变量:

代码语言:javascript
运行
复制
$ export PATH=/bin:/sbin:/usr/bin:/usr/sbin

busybox小程序是一个小应用程序,通常在UNIX通用实用程序(在POSIX标准中定义)中找到。这些小程序被编译成一个可执行文件:busybox

票数 1
EN

Stack Overflow用户

发布于 2019-10-30 19:13:32

F.YI.Shebang的打字错误导致了我同样的applet not found错误。

代码语言:javascript
运行
复制
$ # The '!' was forgotten in shebang
$ cat sample.sh
#/bin/sh

echo 'hello world'

$ ./sample.sh
sample.sh: applet not found

在docker-compose中,运行上面的脚本会出现blow错误:

代码语言:javascript
运行
复制
standard_init_linux.go:211: exec user process caused "exec format error"
票数 1
EN

Stack Overflow用户

发布于 2021-03-13 21:40:30

尽管如@KEINOS指出的那样,这是一个与Java相关的问题,但这与缺少shebang符号有更多关系。当我在其中安装R包的时候,在尝试构建一个基于高山Linux的Docker镜像时,我遇到了这个问题。

我的偷工减料的解决方案是在映像中安装R,然后运行Buildx的muiltarch构建后,添加以下脚本运行:

代码语言:javascript
运行
复制
#!/bin/sh
for script in $(ls -p /usr/lib/R/bin/ | grep -v / )
do
    sed -i '1 i\#!/bin/bash\n#' "/usr/lib/R/bin/$script"
done

这将为所有R提供的脚本添加shebang符号。

即便如此,一些软件包的shell脚本也缺少shebang符号。我刚刚在其中一个文件中打开了一个PR来添加这个符号。

如果你尝试编译只是为了在基于x86的系统上运行,这个修复可能不会有什么不同,但如果你试图编译到任何其他架构,如arm/v6、arm/v7、arm/v8、ppc64le和s390x,你就会遇到这个问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19043700

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档