Linux From Scratch(LFS11.0)构建 LFS 系统 - Coreutils-8.32
Posted Lucifer三思而后行
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux From Scratch(LFS11.0)构建 LFS 系统 - Coreutils-8.32相关的知识,希望对你有一定的参考价值。
Coreutils 软件包包含用于显示和设定系统基本属性的工具。
安装 Coreutils
解压软件包:
cd /sources
tar -xf coreutils-8.32.tar.xz
cd coreutils-8.32
POSIX 要求 Coreutils 中的程序即使在多字节 locale 中也能正确识别字符边界。下面应用一个补丁,以解决 Coreutils 不满足该要求的问题,并修复其他一些国际化相关的 bug:
patch -Np1 -i ../coreutils-8.32-i18n-1.patch
现在准备编译 Coreutils:
autoreconf -fiv
FORCE_UNSAFE_CONFIGURE=1 ./configure \\
--prefix=/usr \\
--enable-no-install-program=kill,uptime
编译该软件包:
make
如果不运行测试套件,直接跳到 “安装该软件包”。
现在测试套件已经可以运行了。首先运行那些设计为由 root 用户运行的测试:
make NON_ROOT_USERNAME=tester check-root
之后我们要以 tester 用户身份运行其余测试。然而,某些测试要求测试用户属于至少一个组。为了不跳过这些测试,我们添加一个临时组,并使得 tester 用户成为它的成员:
echo "dummy:x:102:tester" >> /etc/group
修正访问权限,使得非 root 用户可以编译和运行测试:
chown -Rv tester .
现在运行测试:
su tester -c "PATH=$PATH make RUN_EXPENSIVE_TESTS=yes check"
删除临时组:
sed -i \'/dummy/d\' /etc/group
安装该软件包:
make install
将程序移动到 FHS 要求的位置:
mv -v /usr/bin/chroot /usr/sbin
mv -v /usr/share/man/man1/chroot.1 /usr/share/man/man8/chroot.8
sed -i \'s/"1"/"8"/\' /usr/share/man/man8/chroot.8
安装完成后清理工作:
cd ..
rm -rf coreutils-8.32
公众号:Lucifer三思而后行 ❤️
以上是关于Linux From Scratch(LFS11.0)构建 LFS 系统 - Coreutils-8.32的主要内容,如果未能解决你的问题,请参考以下文章
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)收尾工作