LFS 系列从零开始 DIY Linux 系统:构建临时系统 - 收尾工作
Posted Lucifer三思而后行
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LFS 系列从零开始 DIY Linux 系统:构建临时系统 - 收尾工作相关的知识,希望对你有一定的参考价值。
清理无用内容
如果你的 LFS 分区容量比较小,知道有些不必要的内容可以被删除也是挺好的。目前编译好的可执行文件和库大概会有 70MB 左右不需要的调试符号。
可以通过下面的命令移除这些符号:
strip --strip-debug /tools/lib/*
/usr/bin/strip --strip-unneeded /tools/{,s}bin/*
这两个命令会跳过一些文件,并提示不可识别的文件格式。大多数是脚本文件而不是二进制文件。同样还可以用宿主系统里的 strip 命令为 /tools 目录下的 strip 二进制文件清理无用内容。
注意不要对库文件使用 --strip-unneeded 选项。静态库会被损坏导致整个工具链将会需要全部重新编译。
更节省更多空间,还可以删除帮助文档:
rm -rf /tools/{,share}/{info,man,doc}
这个时候,你应该在 $LFS 分区中为下个阶段编译安装 Glibc 和 Gcc 预留至少 3GB 剩余空间。如果你可以编译安装 Glibc,那其他的就不会有问题了。
改变属主
当前,$LFS/tools 目录属于 lfs 用户,这是一个只存在于宿主系统上的帐号。
如果继续保持 $LFS/tools 目录的现状,其中的文件将属于一个没有相关联帐号的用户ID。这很危险,因为随后创建的用户有可能会分配到相同的用户ID,从而变成 $LFS/tools 目录及其中所有文件的属主,以致留下恶意操作这些文件的可能。
为了解决这个问题,你可以在随后新的 LFS 系统里创建 /etc/passwd 文件时增加一个 lfs 用户,并注意给它分配和宿主系统里相同的用户和组ID。
不过更好的方式是,通过下面的命令将 $LFS/tools 目录的属主改为 root 用户!
root 用户下执行:
export LFS=/mnt/lfs
chown -R root:root $LFS/tools
尽管 $LFS/tools 目录可以在 LFS 系统构建完成后删除,但仍然可以保留下来用于构建额外的相同版本 LFS 系统。备份 $LFS/tools 目录到底有多少好处取决于你个人。
📢 注意: 以后部分的命令都必须以 root 用户身份执行而不再是 lfs 用户。另外,再次确认下 $LFS 变量在 root 用户环境下也有定义。
本次分享到此结束啦~
如果觉得文章对你有帮助,点赞、收藏、关注、评论,一键四连支持,你的支持就是我创作最大的动力。
❤️ 技术交流可以 关注公众号:Lucifer三思而后行 ❤️
以上是关于LFS 系列从零开始 DIY Linux 系统:构建临时系统 - 收尾工作的主要内容,如果未能解决你的问题,请参考以下文章
LFS 系列从零开始 DIY Linux 系统:构建 LFS 系统 - 进入 Chroot 环境
LFS 系列从零开始 DIY Linux 系统:构建 LFS 系统 - Less-458
LFS 系列从零开始 DIY Linux 系统:构建 LFS 系统 - Diffutils-3.3
LFS 系列从零开始 DIY Linux 系统:构建 LFS 系统 - Kmod-19