3.1. 概述

本章包含了构建基本的 Linux 系统时需要下载的软件包列表。我们给出的版本号对应于已经确定可以正常工作的版本,本书是基于这些版本编写的。我们强烈反对使用更新的版本,因为特定版本可用的构建命令未必适用于新版本。最新版本的软件包可能有需要排查的问题,我们会在本书的开发过程中进行排查,将解决方案找到并固定下来。

本书列出的下载位置可能失效。如果本书发布后,某个下载位置发生变化,可以用 Google (http://www.google.com/) 提供的搜索引擎找到大多数软件包。如果搜索不到,尝试 https://www.linuxfromscratch.org/lfs/mirrors.html#files 给出的备用地址。

下载好的软件包和补丁需要保存在一个适当的位置,使得在整个构建过程中都能容易地访问它们。另外,还需要一个工作目录,以便解压和编译软件包。我们可以将 $LFS/sources 既用于保存软件包和补丁,又作为工作目录。这样,我们需要的所有东西都在 LFS 分区中,因此在整个构建过程中都能够访问。

为了创建这个目录,在开始下载软件包之前,以root身份执行:

mkdir -v $LFS/sources

下面为该目录添加写入权限和 sticky 标志。Sticky 标志使得即使有多个用户对该目录有写入权限,也只有文件所有者能够删除其中的文件。输入以下命令,启用写入权限和 sticky 标志:

chmod -v a+wt $LFS/sources

存在多种获取构建 LFS 必须的软件包和补丁的方法:

如果要使用 wget-list 作为 wget 命令的输入,以下载所有软件包和补丁,使用命令:

wget --input-file=wget-list --continue --directory-prefix=$LFS/sources
[注意]

注意

上面提到的 wget-list 文件会获取 LFS 的 sysV 和 systemd 版本需要的所有软件包。对于当前版本的 LFS,它会不必要地获取五个额外的,很小的软件包。下面将会给出的 md5sums 文件则仅适用于当前版本的 LFS 手册。

另外,自 LFS-7.0 以来,本书提供一个单独的文件 md5sums,用来检查所有软件包的正确性。将该文件复制到 $LFS/sources,运行以下命令即可得到检查结果:

pushd $LFS/sources
  md5sum -c md5sums
popd

使用上面的各种方法获取文件后,都可以执行这项检查。