2016-10-19 22 views
1

我正在開發一些在Linux/BSD/Mac/Windows上運行的bash腳本。 我想將它們移植到busybox環境,讓它們在android終端模擬器(如termux)中運行。Android/busybox/termux測試envionment

獲取busybox/android測試環境的最佳方法是什麼? 我試圖去與碼頭的busybox圖像。 我還需要能夠添加類似ssh客戶端或rsync的工具,它可以通過apt install rsync在Android termux中工作,但由於顯而易見的原因,在Docker鏡像中不起作用。

任何想法? 謝謝。

回答

3

Busybox本身實際上只是一個可以像許多不同工具一樣運行的多重二進制二進制文件。在純粹的busybox環境中,你最終可能會編譯busybox來包含你需要的applet(比如rsync)。

在你的問題中,你引用了一個命令apt install rsync。像你提到的,Busybox沒有apt命令。有可能安裝一個軟件包管理器,這個軟件包管理器反過來可以按需安裝。

Alpine Linux發行版有一個非常小的包管理器,名爲apk,它也可以使用busybox。 Docker Hub上的alpine官方圖像基本上只有busybox和apk。它的軟件包基於libmusl而不是glibc。肯定值得看看阿爾卑斯山。

下面是如何在高山上安裝的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讓人想起嵌入式軟件包管理器。

+0

太棒了!像魅力一樣工作,似乎足夠接近android termux環境。 – deajan

+0

Termux是否使用Busybox?當我開始Termux時,我看到BusyBox .. – Timo