6.34.2. Bash 软件包内容
安装的程序: bash, bashbug, 和 sh (链接到 bash)
安装目录: /usr/include/bash, /usr/lib/bash, 和
/usr/share/doc/bash-5.0
Bash 软件包包含 Bourne-Again Shell。
准备编译 Bash:
./configure --prefix=/usr \ --docdir=/usr/share/doc/bash-5.0 \ --without-bash-malloc \ --with-installed-readline
新配置选项的含义:
--with-installed-readline
该选项告诉 Bash 使用系统中已经安装的 readline
库而不是使用自带的 readline 版本。
编译软件包:
make
如果不需要运行测试套件的话跳转到「安装软件包」。
准备测试,确保 nobody
用户可以写源文件树:
chown -Rv nobody .
现在,以 nobody
用户身份运行测试:
su nobody -s /bin/bash -c "PATH=$PATH HOME=/home make tests"
安装软件包并将主要的可执行文件移动至 /bin
:
make install mv -vf /usr/bin/bash /bin
运行新编译的 bash 程序(替换正在运行的那个):
exec /bin/bash --login +h
参数使 bash 进程成为一个可交互的登录 shell 并停用散列使得新程序可用的时候就能发现。