软件包和补丁
本章列出了一张软件包的清单,你需要下载它们来构建一个基础的 Linux 系统。列出的软件版本号便是该软件经过确认可以正常工作的版本,也是成书时笔者使用的版本。强烈建议不要使用更新的版本,因为某个版本的编译指令并不一定适用于更新版本。最新的软件包会包含许多问题,需要特别对应。
笔者无法保证下载的地址是一直有效的。如果在本书发布后下载地址变了,大部分软件包可以用 Google(http://www.google.com/)解决。如果连搜索也失败了,那不妨试一试 http://www.linuxfromscratch.org/lfs/packages.html#packages 中提到的其他下载地址。
下载好的软件包和补丁最好保存在整个构建过程中都能便捷访问的地方。另外需要一个工作目录来解压并构建源码。$LFS/sources 一个不错的选择。可以同时存放软件包和补丁,并担任工作目录的角色。在 LFS 分区中创建这个目录,并将所有构建中需要的元素存储于该目录中,以保证这些元素在整个构建过程中都可以访问。
从本节开始,随后的命令皆须以 root 用户完成。在构建过程中中断,并重新登录后,需要检查当前用户是否为 root,环境变量$LFS 是否正确设置。
在开始下载任务之前,先用 root 用户执行下面的命令,创建这个目录:
mkdir -v $LFS/sources
设置目录的写权限和粘滞模式。“粘滞模式”是指即便多个用户对粘滞目录有写权限,但仅文件的所有者,拥有在粘滞目录中删除该文件的权限。运行以下命令更改目录的写权限和粘滞模式:
chmod -v a+wt $LFS/sources
使用 wget-list 作为 wget 的输入可以批量下载所有软件包和补丁。 可以下载官方提供的 wget-list,不过使用该 wget-list 实测下载的速度很慢:
wget https://lctt.github.io/LFS-BOOK/lfs-sysv/wget-list
sysv 和 systemd 版本的的 wget-list 完全一致,不必纠结上述下载的是 sysv 中的 wget-list。 鉴于国内如果使用这份 wget-list 下载,时间会比较长,推荐下载中科大镜像源打包好的 tar 文件:
wget http://mirrors.ustc.edu.cn/lfs/lfs-packages/lfs-packages-10.0.tar
tar -xf lfs-packages-10.0.tar
mv 10.0/* sources/
解压后便包含 md5sum 文件,确认下载软件包和补丁的校验和:
pushd $LFS/sources
md5sum -c md5sums
popd
输出的全是 OK 就可以进行下一步了。如果有软件包没下载或者校验和不对,只需要重新下载有问题的软件包即可。