<< Back to shouce.jb51.net

终点

做得不错!你已经安装好你的 LFS 系统了。这也许花费了你不少的时间,但是我们希望这是值得的。我们希望你能从崭新的自己编译的 Linux 系统中找到很多乐趣。

现在你可以清除所有的调试器和编辑器的连接了。如果你不是一个程序员,并且也不打算调试你的软件,对于清除调试符号后所能带来的数十兆的空间,也许你还是感兴趣的。这种做法不会带来其他不便之处,只是无法再充分地调试软件。当你根本不知道怎么调试程序时,这应该不算问题。

声明:用下面的命令中 98% 的人没有遇到任何问题。但是最好在运行这个命令前备份一下你的 LFS 系统。这个命令有可能(很小)使你的系统不能使用 (大多数是毁坏你的内核模块和动态、静态链接库)。这多是由于笔误而不是命令本身造成的。

要说的是,我们使用的--strip-debug参数在正常情况下不会有任何危害。它不会把文件中重要的东西剥离。对于可执行程序使用--strip-all也是安全的(但不要在库文件上使用--库文件会被毁坏)。但它并不是绝对安全,而且你能得到的空间也不是很多。如果你的硬盘空间很紧张,这样做是很有价值的,你自己决定吧。请参考strip的手册页(man page)来获取其它的参数。总的看法是,为了安全起见,不要在库文件上运行strip(除了 --strip-debug外)。

如果你打算运行strip命令,尤其要注意,不要运行将被strip的程序,连bash也不行。因此你需要退出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/,usr/local/}{bin,sbin,lib} -type f \
   -exec /tools/bin/strip --strip-debug '{}' ';'

不少文件会说认不出文件类型,其中大多数是脚本。这样的警告没关系的。

建立一个名为 /etc/lfs-release 的文件应该是一个好主意。有了这个文件将方便你找出你已经在系统上安装了什么版本的LFS(在你寻求帮助时,也可以方便能帮助你的人)。你可以通过以下命令生成一个 /etc/lfs-release 文件:

echo CVS-20040109 > /etc/lfs-release