![构建一个独立的 bash](https://linux22.com/image/158633/%E6%9E%84%E5%BB%BA%E4%B8%80%E4%B8%AA%E7%8B%AC%E7%AB%8B%E7%9A%84%20bash.png)
我想构建独立的 bash 二进制文件,希望它能在大部分 Linux 发行版上运行。完全覆盖绝对不是目标。我该如何处理这个问题?欢迎尽最大努力提出建议。我知道每个发行版都有独特的 readline 实现。如果可行的话,我想静态链接一个固定版本,并将其与独立的 bash 一起发送到 USB 棒上。
希望有人能帮助我:)干杯
答案1
下载bash静态从 Debian 打包并提取可执行文件。
ar p bash-static_*.deb data.tar.xz | tar -xJ ./bin/bash-static
如果你想看看它是如何完成的,请查看源代码。构建说明位于debian/rules
。有大量扩展正在进行,因此请运行它:
debian/rules static-build
我想你所需要的就是这个(但我还没有尝试过):
./configure --enable-static-link
make
问题是你为什么要这样做。几乎所有发行版都已将 bash 安装为 bash /bin/bash
,并且它不是可选的。使用 zsh 会更有用,它在大多数发行版中都可用,但默认情况下不安装。对于 zsh,您需要(再次,未经尝试):
./configure --enable-ldflags=-static --disable-dynamic --disable-dynamic-nss
make