Linux From Scratch(LFS11.0)进入 Chroot 构建临时工具 - 清理和备份临时系统

Posted Lucifer三思而后行

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux From Scratch(LFS11.0)进入 Chroot 构建临时工具 - 清理和备份临时系统相关的知识,希望对你有一定的参考价值。

清理

首先,删除临时工具的文档,以防止它们进入最终构建的系统,并节省大约 35 MB:

rm -rf /usr/share/{info,man,doc}/*

其次,libtool .la 文件仅在链接到静态库时有用。在使用动态共享库时它们没有意义,甚至可能有害,特别是在使用非 autotools 构建系统时容易产生问题。

继续在 chroot 环境中运行命令,删除它们:

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

当前临时系统使用约 3 GB 空间,但是我们已经不需要其中的 /tools 目录了。该目录使用约 1 GB 存储空间。

现在删除它:

rm -rf /tools

📢 以下操作非必选,可以不做!我们选择使用虚拟机快照来备份!

备份

以下步骤在 chroot 环境之外进行。这意味着,在进行它们之前,必须离开 chroot 环境。这是为了访问 chroot 环境之外的文件系统位置,以写入或读取备份档案,备份档案不应存放在 $LFS 目录树中,以保证安全。

现在,如果需要进行备份,离开 chroot 环境:

exit

现在,已经为临时系统安装了所有必要的程序和库,且临时系统状态良好。可以将临时系统备份起来,以便以后重新使用。如果在后续章节发生了无法挽回的错误,通常来说,最好的办法是删除所有东西,然后 (更小心地) 从头开始。不幸的是,这也会删除所有临时工具。为了避免浪费时间对已经构建成功的部分进行返工,可以准备一个备份。

确认在 root 的主目录中,有至少 1 GB 的可用存储空间 (源代码压缩包也会被包含在备份档案中)。

在进行备份之前,解除内核虚拟文件系统的挂载:

umount $LFS/dev{/pts,}
umount $LFS/{sys,proc,run}

运行以下命令,创建备份档案:

📢 注意: 由于备份档案需要进行压缩,即使您的系统运行速度较快,该命令也会消耗较长的时间 (可能超过 10 分钟)。

另外,务必确认 LFS 环境变量已经为 root 用户设定好。

cd $LFS 
tar -cJpf $HOME/lfs-temp-tools-11.0-systemd.tar.xz .

可以将 $HOME 替换成您选择的其他目录,如果您不想将备份存储在 root 的主目录中!

还原

如果您犯下了一些错误,并不得不重新开始构建,您可以使用备份档案还原临时系统,节约一些工作时间。由于源代码在 $LFS 中,它们也包含在备份档案内,因此不需要重新下载它们。在确认 $LFS 设定正确后,运行以下命令从备份档案进行还原:

⚠️ 警告:下面的命令非常危险。 如果您在没有切换到 $LFS 目录或 LFS 环境变量没有为 root 用户正确设定的情况下运行了 rm -rf ./* 命令,它会完全摧毁宿主系统。后果自负。

cd $LFS 
rm -rf ./* 
tar -xpf $HOME/lfs-temp-tools-11.0-systemd.tar.xz

再一次复查环境是否配置正确,即可继续构建系统。


本次分享到此结束啦~

如果觉得文章对你有帮助,点赞、收藏、关注、评论,一键四连支持,你的支持就是我创作最大的动力。

❤️ 技术交流可以 关注公众号:Lucifer三思而后行 ❤️

以上是关于Linux From Scratch(LFS11.0)进入 Chroot 构建临时工具 - 清理和备份临时系统的主要内容,如果未能解决你的问题,请参考以下文章

Linux From Scratch(LFS11.0)构建 LFS 系统 - 清理系统

Linux From Scratch(LFS11.0)构建 LFS 系统 - GCC-11.2.0

Linux From Scratch(LFS11.0)收尾工作

Linux From Scratch(LFS11.0)收尾工作

Linux From Scratch(LFS11.0)构建 LFS 系统 - Diffutils-3.8

Linux From Scratch(LFS11.0)构建 LFS 系统 - Inetutils-2.1