10.1 基础安装(Basic Installation)
下面是关于 Bash 的安装指导。
编译 Bash 最简单的方法是:
-
使用 cd 命令进入到包含源代码的目录并且输入“./configure”来为你的系统配置 Bash。如果你在老版本的 V 系统上使用的是 csh,你可能需要输入“sh ./configure”来代替,以防止 csh 试图执行 configure 配置。
运行 configure 会花费一些时间。在运行期间,其会打印相关消息来告知你正在检查哪个特性。
-
输入“make”来编译 Bash 和构建 bashbug 漏洞报告脚本。
-
可选输入“make tests”来运行 Bash 测试组件。
-
输入“make install”来安装 bash 和 bashbug。该命令也会安装手册页和信息文件。
shell 脚本“configure”会在编译期间试图猜出多个系统依赖变量的正确值。其使用这些值在每个安装包目录(顶部目录、builtins 目录、doc 目录和 support 目录、每一个在 lib 目录下的目录和一些其它目录)中创建一个“Makefile”。其也会创建一个包含系统依赖定义的“config.h”文件。最后,其创建一个名为“config.status”的 shell 脚本文件,可在以后用于重建当前配置;创建一个用于保存测试结果的文件“config.cache”,可用于加速重新配置;创建一个包含编译输出的“config.log”文件(通常用于反编译“configure”)。如果在某些情况下“config.cache”中包含了一些你不想要的结果,你可以对其进行编辑或移除。
要想查看关于“configure”脚本的更多选项和参数说明,可以在 Bash 源目录处于当前工作目录下输入./configure --help获取。
如果你想要在非源目录中构建 Bash,例如要构建多架构 bash,只需要使用完全路径来指定配置脚本。下面的命令将在“/usr/local/build”目录下从源目录“/usr/local/src/bash-4.4”中的源码构建 bash:
mkdir /usr/local/build/bash-4.4
cd /usr/local/build/bash-4.4
bash /usr/local/src/bash-4.4/configure
make
可参见 10.3《为多架构编译》获取关于在非源目录的构建。
如果你需要在编译 Bash 时做一些非常规的事情时,请先调查清楚 configure 脚本是如何检查的,是否可以做这些事情。并且将这些配置的不同或指导说明发送给“bash-maintainers@gnu.org”,他们可以考虑将其放入下一发行版本中。
由一个名为“Autoconf”的程序使用“configure.ac”文件来创建“configure”脚本。如果你想要改变“configure.rc”或使用新版本的“Autoconf”重新生成“configure”文件,你只需要修改这个 rc 文件。如果你要这样做,确保你要使用“Autoconf” 2.5 及以上版本。
你可以输入命令“make clean”从源码目录移除生成的二进制程序文件和对象文件。也可输入“make distclean”来移除由“configure”脚本创建的文件(这样你就可以为不同类型的计算机编译 Bash 了)。