6.59. 再次清理系统

如果编译此系统的用户不是一个程序员并且不打算在系统软件上做任何调试工作,系统大小可以通过从二进制包和库文件中删除调试链接削减大约 90 MB 的空间,这样做的代价是您以后将不能随时调试系统。

大多数人可以毫无困难地凭经验使用命令提示。但是,很容易因为一个打字错误就被报告新系统不能使用,因此在运行 strip 命令前,对系统当前数据做一个备份是一个不错的主意。

在执行清理命令之前,请特别注意确保正在运行的二进制文件不被清理。如果您不确定是否用户是进入在虚根环境(节 6.4, "进入 Chroot 环境")下操作,请首先退出虚根环境:

logout

接着用下面的命令再次进入:

chroot $LFS /tools/bin/env -i \
    HOME=/root TERM=$TERM PS1='\u:\w\$ ' \
    PATH=/bin:/usr/bin:/sbin:/usr/sbin \
    /tools/bin/bash --login

现在二进制文件和库文件能安全地被清理了:

/tools/bin/find /{,usr/}{bin,lib,sbin} -type f \
  -exec /tools/bin/strip --strip-debug '{}' ';'

很多文件将被报告说不能识别它们的文件格式,这些警告可以安全地忽略。这些警告只是表明那些文件是脚本而不是二进制文件。

如果硬盘空间非常紧张,这个 --strip-all 选项可以被用在二进制文件目录 /{,usr/}{bin,sbin} 中以获得更多的空间。不要在库文件里使用这个参数,因为这个参数将会破坏库文件。