如果编译此系统的用户不是一个程序员并且不打算在系统软件上做任何调试工作,系统大小可以通过从二进制包和库文件中删除调试链接削减大约 90 MB 的空间。这样做,除了不能随时调试系统软件外,不会引起其它的不便之处。
大部分使用了下面命令的人没有遇到什么困难。但是,这很容易出错并致使新系统不可使用,所以在运行 strip 命令以前,在当前状态下给 LFS 系统作一个备份是一个不错的主意。
在执行清理命令之前,请特别注意确保没有任何将被清理的二进制文件正在运行。如果您不确定是否用户是用第 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}
中一获得更多的空间。不要在库文件里使用这个参数,因为这个参数将会破坏库文件。