2016-10-19 10 views
1

私はLinux/BSD/Mac/Windowsで動作するいくつかのbashスクリプトを開発しています。 私はそれらをbusybox環境に移植してtermuxのようなアンドロイド端末エミュレータで実行させたいと思っています。Android/busybox/termuxのテスト環境

busybox/androidのテスト環境を取得するにはどうすればよいですか? 私はドッカーのビジーボックス画像を見ようとしました。 また、apt install rsyncでAndroidのtermuxで動作するsshクライアントやrsyncのようなツールを追加する必要がありますが、明白な理由からドッカーイメージでは機能しません。

アイデア?おかげさまで

答えて

3

Busybox自体は、多種多様なツールのように振舞うことができる単なるマルチコールバイナリです。純粋なビジブルボックス環境では、必要なアプレット(rsyncなど)を組み込むためにbusyboxをコンパイルすることになるでしょう。

あなたの質問では、apt install rsyncというコマンドを参照しました。 Busyboxには前述のようにaptコマンドがありません。必要に応じて物事をインストールすることができるパッケージマネージャをインストールすることは可能かもしれません。

Alpine Linuxディストリビューションには、apkという非常に小さなパッケージマネージャがあり、busyboxも使用できます。 Docker Hubのalpine公式画像には本質的にbusyboxとapkしかありません。パッケージはglibcの代わりにlibmuslに基づいています。それは確かにアルプスを見てみる価値があるだろう。

はここで高山での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

関連する問題