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讓人想起嵌入式軟件包管理器。
太棒了!像魅力一樣工作,似乎足夠接近android termux環境。 – deajan
Termux是否使用Busybox?當我開始Termux時,我看到BusyBox .. – Timo