8.77. 清理系统

最后,清理在执行测试的过程中遗留的一些文件:

rm -rf /tmp/*

现在需要登出,并使用新的 chroot 命令行重新进入 chroot 环境。从现在起,在退出并重新进入 chroot 环境时,要使用下面的修改过的 chroot 命令:

logout

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

这里不再使用 +h 选项,因为所有之前安装的程序都已经替换成了最终版本,可以进行散列。

如果解除了虚拟内核文件系统的挂载,必须通过手动或重启系统的方式重新挂载它们,保证在进入 chroot 时它们已经挂载好。第 7.3.2 节 “挂载和填充 /dev”第 7.3.3 节 “挂载虚拟内核文件系统”已经说明了这一过程。

在本章的前几节中,有几个静态库的安装没有被禁止,目的是满足一些软件包的退化测试需要。这些库来自于 binutils、bzip2、e2fsprogs、flex、libtool 和 zlib。如果您希望的话,可以现在删除它们:

rm -f /usr/lib/lib{bfd,opcodes}.a
rm -f /usr/lib/libctf{,-nobfd}.a
rm -f /usr/lib/libbz2.a
rm -f /usr/lib/lib{com_err,e2p,ext2fs,ss}.a
rm -f /usr/lib/libltdl.a
rm -f /usr/lib/libfl.a
rm -f /usr/lib/libz.a

在 /usr/lib 和 /usr/libexec 目录中还有一些扩展名为 .la 的文件。它们是 "libtool 档案" 文件。正如我们已经讨论过的,它们在链接到共享库,特别是使用 autotools 以外的构建系统时,是不必要,甚至有害的。执行以下命令删除它们:

find /usr/lib /usr/libexec -name \*.la -delete

如果希望了解更多关于 libtool 档案文件的信息,参阅 BLFS 章节 "About Libtool Archive (.la) files"

第 6 章第 7 章中构建的编译器仍然有一部分安装在系统上,它现在已经没有存在的意义了。执行命令删除它:

find /usr -depth -name $(uname -m)-lfs-linux-gnu\* | xargs rm -rf

/tools 也可以被删除,从而获得更多可用空间:

rm -rf /tools

最后,移除上一章开始时创建的临时 'tester' 用户账户。

userdel -r tester