2016-10-19 5 views
1

Я разрабатываю некоторые сценарии bash, которые работают на Linux/BSD/Mac/Windows. Я хотел бы поместить их в среду busybox, чтобы заставить их работать в эмуляторе терминала Android, например termux.Android/busybox/termux test envionment

Каков наилучший способ получить тестовую среду для busybox/android? Я попытался пойти с изображением загрузочного окна докеров. Мне также нужно добавить инструменты, такие как ssh client или rsync, который работает в android termux через apt install rsync, но по очевидным причинам работать с докером не удастся.

Любые идеи? Спасибо.

ответ

3

Сам Busybox - это всего лишь один многоадресный бинарный файл, который может вести себя как множество различных инструментов. В чистой среде busybox вы, вероятно, закончите сборку busybox, чтобы включить нужные вам апплеты (например, rsync).

В своем вопросе вы указали команду apt install rsync. У Busybox нет команды apt, как вы упомянули. Возможно, будет установлен менеджер пакетов, который, в свою очередь, сможет устанавливать вещи по требованию.

В дистрибутиве Alpine Linux есть очень маленький менеджер пакетов под названием apk, а также он может использовать busybox. Официальное изображение alpine на Docker Hub, по сути, имеет только 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