gpt4 book ai didi

android/busybox/termux 测试环境

转载 作者:行者123 更新时间:2023-11-29 17:12:08 26 4
gpt4 key购买 nike

我正在开发一些在 Linux/BSD/Mac/Windows 上运行的 bash 脚本。我想将它们移植到 busybox 环境,让它们在 android 终端模拟器(如 termux)中运行。

获得 busybox/android 测试环境的最佳方法是什么?我尝试使用 docker busybox 图像。我还需要能够添加诸如 ssh 客户端或 rsync 之类的工具,它们可以通过 apt install rsync 在 android termux 中运行,但由于显而易见的原因无法在 docker 镜像中运行。

有什么想法吗?谢谢。

最佳答案

Busybox 本身实际上只是一个单一的多调用二进制文件,可以像许多不同的工具一样运行。在纯 busybox 环境中,您可能最终会编译 busybox 以包含您需要的小程序(如 rsync)。

在您的问题中,您引用了命令 apt install rsync。 Busybox 没有你提到的 apt 命令。有可能安装一个包管理器,它反过来能够按需安装东西。

Alpine Linux 发行版有一个非常小的包管理器,叫做 apk,它也可以使用 busybox。 Docker Hub 上的 alpine 官方镜像基本上只有 busybox 和 apk。它的包基于 libmusl 而不是 glibc。肯定值得一看 alpine。

这是在 alpine 上安装 rsync 的方法:

$ docker run --rm -it alpine sh
/ # which busybox
/bin/busybox
/ # ls -lah `which mv`
lrwxrwxrwx 1 root root 12 Jun 23 19:37 /bin/mv -> /bin/busybox
/ # apk --no-cache add rsync
fetch http://dl-cdn.alpinelinux.org/alpine/v3.4/main/x86_64/APKINDEX.tar.gz
fetch http://dl-cdn.alpinelinux.org/alpine/v3.4/community/x86_64/APKINDEX.tar.gz
(1/4) Installing libattr (2.4.47-r4)
(2/4) Installing libacl (2.2.52-r2)
(3/4) Installing popt (1.16-r6)
(4/4) Installing rsync (3.1.2-r2)
Executing busybox-1.24.2-r9.trigger
OK: 5 MiB in 15 packages
/ # ls -lah `which rsync`
-rwxr-xr-x 1 root root 396.0K Apr 29 16:02 /usr/bin/rsync
/ #

其他微型包管理器也可以工作,但我不知道将它们安装到精简的 busybox 根目录(如 busybox 图像)中有多容易。对于嵌入式包管理器,我会想到 opkg 和 ipkg。

关于android/busybox/termux 测试环境,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40140533/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com