Linux系统的创建当然离不开软件包和补丁,本文就列出所需的软件列表! 既然要下载软件,当然需要一个存放软件的地方,以方便在整个构建过程中都能有效访问。...可以用目录 $LFS/sources 保存软件包和补丁,同时作为工作目录。 放到这个目录,所有需要的元素都在 LFS 分区中,因此在构建过程中的所有阶段都可以访问。...$LFS 就是上一篇中讲到的环境变量:export LFS=/mnt/lfs 创建下载目录: 在开始下载任务之前,先用 root 用户执行下面的命令创建这个目录,并且设置目录的写权限和粘滞模式: mkdir...-pv $LFS/sources chmod -v a+wt $LFS/sources 接下来就是下载所需的软件包和补丁,使用 wget-list 作为 wget 的输入: wget https...://linux.cn/lfs/LFS-BOOK-7.7-systemd/wget-list-LFS7.7-systemd-USTC wget --input-file=wget-list-LFS7.7
安装 Flex 解压软件包: cd /sources tar xf flex-2.6.4.tar.gz cd flex-2.6.4 编译、检查并安装 Flex: time { .
安装 DejaGNU 解压软件包: cd /sources tar xf dejagnu-1.6.3.tar.gz cd dejagnu-1.6.3 DejaGNU 开发者建议在专用的目录中进行构建:.../doc/dejagnu.texi 构建并安装该软件包: make install install -v -dm755 /usr/share/doc/dejagnu-1.6.3 install -v...{html,txt} /usr/share/doc/dejagnu-1.6.3 如果要测试该软件包,执行: make check 安装完成后清理工作: cd ../.. rm -rf dejagnu-1.6.3
安装 MPFR 解压软件包: cd /sources tar xf mpfr-4.1.0.tar.xz cd mpfr-4.1.0 编译、检查并安装 MPFR: time { .
安装 Readline 解压软件包: cd /sources tar xf readline-8.1.tar.gz cd readline-8.1 重新安装 Readline 会导致旧版本的库被重命名为...disable-static \ --with-curses \ --docdir=/usr/share/doc/readline-8.1 编译该软件包:...make SHLIB_LIBS="-lncursesw" 该软件包不包含测试套件。...安装该软件包: make SHLIB_LIBS="-lncursesw" install 如果您希望的话,可以安装文档: install -v -m644 doc/*.
Util-linux 软件包包含若干工具程序。这些程序中有处理文件系统、终端、分区和消息的工具。...安装 Util-linux 解压软件包: cd /sources tar -xf util-linux-2.37.2.tar.xz cd util-linux-2.37.2 准备安装 Util-linux...lib/hwclock/adjtime \ --libdir=/usr/lib \ --docdir=/usr/share/doc/util-linux...--disable-static \ --without-python \ runstatedir=/run 编译该软件包:...删除该测试以绕过这个问题: rm tests/ts/lsns/ioctl_ns chown -Rv tester . su tester -c "make -k check" 安装该软件包: make
前言 ☀️ 介绍 LFS 是什么? 为什么要使用 LFS? ❤️ LFS 文档 ???? 前言 最近,对 LFS(Linux From Scratch)颇感兴趣,因此打算开一个专栏来详细记录????...首先,放上 LFS 的官网:LFS Project! ☀️ 介绍 LFS 是什么?...Linux From Scratch (LFS) 是一个项目,可以理解为是一本指南,用于教我们如何一步步 DIY 自己的 Linux 系统!...1、LFS 帮助我们更好的理解 Linux 是如何正常运转 构建 LFS 会教我们有关 Linux 运转的所有知识,以及事物如何协同工作并相互依赖。...2、LFS 可以创建极其精简的 Linux 系统 当安装那些常规的 Linux 系统,你往往迫不得已安装那些你用不到的(甚至你都不知道它们是干什么的)程序。这些程序也许会浪费你的硬件资源。
用户定制的 linux 系统的另一个好处是安全性。通过从源码编译整个系统,您能够审查任何东西,打上所有的安全补丁,而不需要等待别人去编译好修补了安全漏洞的二进制包。...相关项目 该项目有很多相关子项目: Beyond Linux From Scratch(BLFS)标准LFS仅仅安装了足够让系统启动的基本软件,以及使新系统能够编译新软件包的开发工具。...Automated Linux From Scratch(ALFS)标准LFS只是一本书,用户需要根据书上的指引下载软件包并手动输入指令进行编译。ALFS子项目提供了把这一切自动化的脚本。...步骤 尽管目标是安装一个与现有发行版毫无关系的系统,安装LFS仍然不能无中生有,而必须要有一个可以编译软件包的运行中的Linux系统。这个系统一般称为宿主系统。...在宿主操作系统上安装LFS,需要的步骤如下: 对硬盘分区,添加用于安装LFS的用户和组(LFS教科书第2章) 下载所有需要的软件包源代码(LFS教科书第3章) 准备开发环境(LFS教科书第4章) 构造一个基本开发环境
安装 Zstd 解压软件包: cd /sources tar xf zstd-1.5.0.tar.gz cd zstd-1.5.0 编译 Zstd: make 运行以下命令,以测试编译结果: make...check 安装该软件包: make prefix=/usr install 删除静态库: rm -v /usr/lib/libzstd.a 安装完成后清理工作: cd .. rm -rf zstd-1.5.0
安装 Binutils 解压软件包: cd /sources tar xf binutils-2.37.tar.xz cd binutils-2.37 进行简单测试,确认伪终端 (PTY) 在 chroot...上游开发者提供了一个补丁,它能修复在构建一些软件包时出现的问题。应用该补丁: patch -Np1 -i ...../binutils-2.37-upstream_fix-1.patch 构建系统中的一处错误导致软件包附带的 man 页面为空。...--disable-werror \ --enable-64-bit-bfd \ --with-system-zlib 编译该软件包:...安装该软件包: make tooldir=/usr install -j1 删除无用的静态库: rm -fv /usr/lib/lib{bfd,ctf,ctf-nobfd,opcodes}.a 安装完成后清理工作
安装 D-Bus 解压软件包: cd /sources tar -xf dbus-1.12.20.tar.gz cd dbus-1.12.20 准备编译 D-Bus: ....with-system-pid-file=/run/dbus/pid \ --with-system-socket=/run/dbus/system_bus_socket 编译该软件包:...make 该软件包有测试套件,但需要 LFS 没有包含的一些软件包。...安装该软件包: make install 创建符号链接,使 D-Bus 和 systemd 使用同一个 machine-id 文件: ln -sfv /etc/machine-id /var/lib/dbus
Linux 软件包包含 Linux 内核。...安装内核 解压软件包: cd /sources tar -xf linux-5.13.12.tar.xz cd linux-5.13.12 构建内核需要三步 —— 配置、编译、安装。...下面的命令是机器是 x86_64 体系结构: cp -iv arch/x86_64/boot/bzImage /boot/vmlinuz-5.13.12-lfs-11.0-systemd System.map...在以 root 身份解压源代码包时 (就像我们在 chroot 环境中所做的那样),这些文件会获得它们之前在软件包创建者的计算机上的用户和组 ID。...配置 Linux 内核模块加载顺序 多数情况下 Linux 内核模块可以自动加载,但有时需要指定加载顺序。
安装 File 解压软件包: cd /sources tar xf file-5.40.tar.gz cd file-5.40 编译、检查并安装 File: time { .
但是,如果打错了命令,很容易导致新系统无法使用,因此在运行 strip 命令前,最好备份 LFS 系统的当前状态。 一些库的调试符号需要保存在单独的文件中。...save_usrlib="$(cd /usr/lib; ls ld-linux*) libc.so.6 libthread_db.so.1
安装 Expect 解压软件包: cd /sources tar xf expect5.45.4.tar.gz cd expect5.45.4 编译、检查并安装 Expect: time { .
本文讨论如何配置 systemd-timedated 系统服务,它的作用是配置系统时钟和时区。
从现在起,在退出并重新进入 chroot 环境时,要使用下面的修改过的 chroot 命令: logout chroot "$LFS" /usr/bin/env -i \ HOME...=/root TERM="$TERM" \ PS1='(lfs chroot) \u:\w\$ ' \ PATH=/usr/bin:/usr/sbin...执行命令删除它: find /usr -depth -name $(uname -m)-lfs-linux-gnu\* | xargs rm -rf 最后,移除上文开始时创建的临时 ‘tester’ 用户账户
Util-linux 软件包其它实用程序。包括处理文件系统、控制台、分区以及消息等工具。...首先新建目录用于存储 hwclock 程序: mkdir -pv /var/lib/hwclock 安装 Util-linux 首先进入到源码目录,解压软件包: cd /sources tar xf util-linux...-2.26.tar.xz cd util-linux-2.26 准备编译 Util-linux: ....为了全面覆盖,还必须安装其它的 BLFS 软件包。...如果需要的话,可以在重启进入完整的 LFS 系统后用以下命令运行该测试: bash tests/run.sh --srcdir=$PWD --builddir=$PWD 安装软件包: make install
安装 Jinja2 解压软件包: cd /sources tar -xf Jinja2-3.0.1.tar.gz cd Jinja2-3.0.1 安装该软件包: python3 setup.py install
安装 Procps-ng 解压软件包: cd /sources tar -xf procps-ng-3.3.17.tar.xz cd procps-3.3.17 准备编译 procps-ng: ....\ --disable-kill \ --with-systemd 编译该软件包:...安装该软件包: make install 安装完成后清理工作: cd .. rm -rf procps-3.3.17 ---- 本次分享到此结束啦~ 如果觉得文章对你有帮助,点赞、收藏、关注、评论,一键四连支持
领取专属 10元无门槛券
手把手带您无忧上云