3.1. 概述

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

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

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

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

mkdir -v $LFS/sources

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

chmod -v a+wt $LFS/sources

一个简便地下载所有软件包和补丁的方式是使用本书附带的 wget-list 作为 wget 命令的输入。例如:

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

译注

这些文件分布在国外的不同站点上,可能下载很慢。 可以使用一个国内镜像站:

sed 's@.*/@ftp://mirrors.ustc.edu.cn/lfs/lfs-packages/8.2/@' wget-list |
    wget -i- --continue --directory-prefix=$LFS/sources

命令中的中国科学技术大学镜像站 (斜体) 可以换成其他镜像站, 推荐西安电子科技大学校内用户使用内网镜像站 https://linux.xidian.edu.cn/mirrors

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

pushd $LFS/sources
md5sum -c md5sums
popd
[注意]

译注

wget-listmd5sum 文件是 sysvinit 版本和 systemd 版本共用的, 下载到的少数几个多余软件包属于另一个版本。