您的位置:首页 > 运维架构 > Linux

Linux From Scratch

2012-01-13 12:01 417 查看

Linux From Scratch

版本 6.2

Gerard Beekmans

Copyright 1999–2006 Gerard Beekmans

谨以本书献给 LinuxSir.org 以及所有热爱 Linux 的人们。

译者: 金步国(0-5章) ipconfigme(6-7章) bobkey(8-9章)

发布日期:2008年3月1日 [最终正式版]

[致谢]感谢之前的 LFS 5.0 和 6.0 翻译小组,没有他们之前辛勤工作积累的资料单靠我们3个人是不可能完成这项工作的。同样也要感谢所有指出预览版中错误的朋友以及对中译本提出建议与期望的朋友(随机顺序):fisow Robot5 tonytop cnhnln youbest leiv d00m3d asdmusic crandyworld juwen_zhong 晨想 alexlee1216 sonic_yq kikiwarm shooter x_crdjn ilptt linlin911911
,是你们让中文版更加完美。

[译者声明]本手册虽然不是软件,但是本着 GPL 的精神发布。任何人都可以自由使用、分发、转载,包括对本文档进行各种商业性或是非商业性的复制和再分发,但必须保留译者署名,亦不得对声明中的任何条款作任何形式的修改,也不得附加任何其它条件。您可以自由链接、下载、传播此文档,或者放置在您的网站上,甚至作为产品的一部分发行,但前提是必须保证全文完整转载,包括完整的版权信息和作译者声明。这里"完整"的含义是指不能进行任何删除/增添/注解。若有删除/增添/注解,必须逐段明确声明那些部分并非本文档的一部分。

[题外话]大部分 LFSer 都认为学习 LFS 需要有熟练使用 Linux 的基础,并且大部分听说过 LFS 的人都有一个印象:那是高手的玩具,不是我等菜鸟玩得了的……我不完全赞同,我认为基础如何并非关键,契而不舍的精神和强烈的求知欲才更加重要。想想自己接触 Linux 一个月左右的时候就有了和 Gerard 一样的想法,因为在学习 RedHat / Fedora / Debian 甚至是 Gentoo 的时候,我感觉到自己并不是在学习 Linux 而是在学习这些发行版各自的专有特性,他们把
Linux 本来的面貌层层包裹起来,让我不能深入理解背后的机制。并且这些版本各自有自己的优点和缺点,不能完全满足我的要求。其实那时候我的 Linux 水平仅仅限于会在控制台上敲几个 ls 之类的命令,从未编译过软件,连 make 都没听说过呢。但是我迫切想知道如何定制一个完全适合自己的 Linux 系统,问了好多 Linuxer ,把 Google 搜了个底朝天,也未能得到完整性的答案,唯一让我印象深刻的就是能够容纳在一张软盘上的 babyLinux ,但是它显然太简单,不能满足我的要求。一直郁闷了很久,好不容易机缘巧合,Qoo
兄弟叫我来 LinuxSir.Org 论坛的 LFS 版看看,当时论坛上只有一份不完整的 LFS 6.0 中文版,看完序言后,我激动的跳了起来,欢呼不已!这就是我梦寐以求的东西啊!于是在尚未安装过 LFS 的情况下,静下心来花了十多天时间先完整的翻译了 LFS 6.1 ,又花了5-6天时间,一行命令一行命令地完成了 LFS 的全过程。在学习 LFS 的20天里,我对 Linux 的理解发生了质的飞跃。大约没有人赞同学习 Linux 可以从 LFS 开始,这确实有一定的道理,但是 LFS 教给你的都是真正的
Linux "基础知识",并且这些知识可以为将来的进一步学习打下绝对扎实的基础。所以我要用自己的亲身经历鼓励那些刚刚接触 Linux 的新生牛犊勇敢的从 LFS 开始:没有基础不要紧,缺什么补什么!当你把 LFS 做完了,也就脱离"菜鸟"的行列了,用 LFS 给你的强大翅膀,勇敢地继续飞翔吧!

译者十分愿意与他人共享劳动成果,如果你对我的其他翻译作品或者技术文章有兴趣,可以在如下位置查看现有作品的列表:

金步国作品列表

目录

序言

前言

目标读者

先决条件

对宿主系统的要求

排版约定

本书的组织结构

勘误表

I. 简介

1. 简介

如何构建一个 LFS 系统?

与上一版本有何不同?

更新日志

资源

帮助

II. 构建前的准备工作

2. 准备一个新分区

简介

创建一个新分区

在新分区上创建文件系统

挂载新分区

3. 软件包和补丁

简介

全部软件包

需要的补丁

4. 最后的准备工作

关于环境变量 $LFS

创建 $LFS/tools 目录

添加 LFS 用户

设置工作环境

关于 SBU

关于软件包测试套件

5. 构建临时编译环境

简介

工具链技术说明

Binutils-2.16.1 - 第一遍

GCC-4.0.3 - 第一遍

Linux-Libc-Headers-2.6.12.0

Glibc-2.3.6

调整工具链

Tcl-8.4.13

Expect-5.43.0

DejaGNU-1.4.4

GCC-4.0.3 - 第二遍

Binutils-2.16.1 - 第二遍

Ncurses-5.5

Bash-3.1

Bzip2-1.0.3

Coreutils-5.96

Diffutils-2.8.1

Findutils-4.2.27

Gawk-3.1.5

Gettext-0.14.5

Grep-2.5.1a

Gzip-1.3.5

M4-1.4.4

Make-3.80

Patch-2.5.4

Perl-5.8.8

Sed-4.1.5

Tar-1.15.1

Texinfo-4.8

Util-linux-2.12r

清理系统

改变所有者

III. 构建 LFS 系统

第六章 安装系统基础软件

简介

挂载虚拟内核文件系统

包管理

进入 Chroot 环境

创建系统目录结构

创建必需的文件与符号连接

Linux-Libc-Headers-2.6.12.0

Man-pages-2.34

Glibc-2.3.6

再次调整工具链

Binutils-2.16.1

GCC-4.0.3

Berkeley DB-4.4.20

Coreutils-5.96

Iana-Etc-2.10

M4-1.4.4

Bison-2.2

Ncurses-5.5

Procps-3.2.6

Sed-4.1.5

Libtool-1.5.22

Perl-5.8.8

Readline-5.1

Zlib-1.2.3

Autoconf-2.59

Automake-1.9.6

Bash-3.1

Bzip2-1.0.3

Diffutils-2.8.1

E2fsprogs-1.39

File-4.17

Findutils-4.2.27

Flex-2.5.33

GRUB-0.97

Gawk-3.1.5

Gettext-0.14.5

Grep-2.5.1a

Groff-1.18.1.1

Gzip-1.3.5

Inetutils-1.4.2

IPRoute2-2.6.16-060323

Kbd-1.12

Less-394

Make-3.80

Man-DB-2.4.3

Mktemp-1.5

Module-Init-Tools-3.2.2

Patch-2.5.4

Psmisc-22.2

Shadow-4.0.15

Sysklogd-1.4.1

Sysvinit-2.86

Tar-1.15.1

Texinfo-4.8

Udev-096

Util-linux-2.12r

Vim-7.0

关于调试符号

再次清理系统

最终的清理

7. 配置系统启动脚本

简介

LFS-Bootscripts-6.2

启动脚本是如何工作的?

LFS 系统的设备和模块处理

配置 setclock 脚本

配置 Linux 控制台

配置 sysklogd 脚本

创建 /etc/inputrc 文件

Bash Shell 启动文件

配置 localnet 脚本

定制 /etc/hosts 文件

为设备创建惯用符号连接

配置网络脚本

8. 使 LFS 系统能够启动

简介

创建 /etc/fstab 文件

Linux-2.6.16.27

使 LFS 系统能够启动

9. 结束

结束

看看你是第几个?

重启系统

现在做什么?

IV. 附录

A. 缩写和名词

B. 致谢

C. 依赖关系

长索引

前进
序言

.
.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: