3.1. 简介

本章列出了一张软件包的清单,你需要下载它们来构建一个基础的 Linux 系统。列出的软件版本号便是该软件经过确认可以正常工作的版本,也是成书时我们使用的版本。我们强烈建议不要使用更新的版本,因为某个版本的编译指令并不一定适用于更新版本。最新的软件包会包含许多问题,需要特别对应。这些对应方法会在本书的开发版本中解决并固定下来。

我们无法保证下载的地址是一直有效的。如果在本书发布后下载地址变了,大部分软件包可以用 Google (http://www.google.com/)解决。如果连搜索也失败了,那不妨试一试 http://www.linuxfromscratch.org/lfs/packages.html#packages 中提到的其他下载地址。

下载好的软件包和补丁需要保存在某处,这个某处最好是一个在整个构建过程中都能便捷地访问到的地方。另外还需要一个工作目录,用于解压并构建源码。$LFS/sources 可以同时作为软件包、补丁的存放所和工作目录。通过这个目录,所有需要的元素都将存储在 LFS 分区中,并且在整个构建过程中都可以访问。

在开始下载任务之前,先用 root 用户执行下面的命令,创建这个目录:

mkdir -v $LFS/sources

设置目录的写权限和粘滞模式。「粘滞模式」是指,即便多个用户对某个目录有写权限,但仅有文件的所有者,能在粘滞目录中删除该文件。运行以下命令将开启目录的写权限和粘滞模式:

chmod -v a+wt $LFS/sources

一个简单的一口气下载所有软件包和补丁的方法是使用 wget-list 作为 wget 的输入。例如:

wget --input-file=wget-list --continue --directory-prefix=$LFS/sources

LCTT 译注:由于这些文件都分布在国外的不同站点上,因此有些下载的会很慢。非常感谢中国科学技术大学镜像站提供的 LFS 软件包:http://mirrors.ustc.edu.cn/lfs/lfs-packages/9.0/。可以使用我们制作的 wget-list-ustchttps://github.com/LCTT/LFS-BOOK/blob/9.0-translating/wget-list-ustc 方便下载。

另外,从 LFS-7.0 开始,多了一个单独的文件 md5sums,可以在正式开始前校验所有的文件是否都正确。将这个文件复制到 $LFS/sources 目录中并执行:

pushd $LFS/sources
md5sum -c md5sums
popd