图书介绍

手把手教你构建自己的Linux系统PDF|Epub|txt|kindle电子书版本网盘下载

手把手教你构建自己的Linux系统
  • 孙海勇编著 著
  • 出版社: 北京:人民邮电出版社
  • ISBN:9787115237149
  • 出版时间:2010
  • 标注页数:542页
  • 文件大小:181MB
  • 文件页数:562页
  • 主题词:Linux操作系统

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

手把手教你构建自己的Linux系统PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

第1章 走近GNU/Linux、LFS1

1.1 GNU、Linux、Hurd及开源软件2

1.1.1 开源的兴起——GNU简介2

1.1.2 开源项目的标志—Linux简介3

1.1.3 “古老的开源内核”——Hurd简介3

1.1.4 越来越多的开源软件4

1.2 GNU/Linux的发行版4

1.2.1 Debian GNU/Linux——发行版中的常青树4

1.2.2 RedHat Linux——Linux系统的代名词4

1.2.3 Slackware Linux——古老而简洁的发行版5

1.2.4 Arch Linux——快速、轻量的发行版5

1.2.5 Gentoo——可高度定制的发行版5

1.2.6 越来越多的Linux发行版6

1.3 创造自己的GNU/Linux系统——LFS6

1.4 GNU/Linux相关标准化介绍6

1.4.1 POSIX标准简介7

1.4.2 LSB——Linux系统兼容的新起点7

1.4.3 FHS——文件存放标准7

1.5 源代码定制系统相关网络资源8

第2章基 础准备——Linux系统定制原理9

2.1 Linux系统的组成及架构10

2.1.1 了解Linux——Linux系统使用案例分析10

2.1.2 Linux系统的一般组成11

2.1.3 Linux系统的架构14

2.2 Linux的启动过程16

2.3 本地定制Linux系统的原理18

2.3.1 名词说明18

2.3.2 源代码的编译过程19

2.3.3 系统制作的反向分析20

2.4 本地定制GNU/Linux系统的制作步骤设计30

2.4.1 制作流程分解30

2.4.2 制作过程中的相关技术33

2.4.3 制作步骤设计38

第3章 制作GNU/Linux系统的准备工作43

3.1 准备好你的计算机44

3.2 下载必要的软件44

3.2.1 LiveCD的下载44

3.2.2 虚拟机软件——VirtualBox45

3.2.3 LiveCD的使用54

3.3 保存和恢复工作状态的方法55

3.3.1 虚拟机专用的状态保存及恢复方法55

3.3.2 通用的恢复方法56

3.4 创建制作分区56

3.4.1 设置新的分区56

3.4.2 格式化分区57

第4章 本地定制GNU/Linux系统——临时系统61

4.1 设置环境变量62

4.1.1 “创作基地”的建立62

4.1.2 建立用于制作系统的用户64

4.1.3 设置制作用户的环境66

4.1.4 创建测试文件67

4.1.5 恢复工作状态(1)68

4.2 编译软件包的一般步骤70

4.2.1 什么是软件包70

4.2.2 软件包的下载70

4.2.3 软件包解压缩71

4.2.4 进入源代码目录72

4.2.5 给源代码应用补丁文件73

4.2.6 配置源代码74

4.2.7 编译源代码和安装软件74

4.2.8 软件包编译安装过程正确性判断75

4.2.9 软件包编译安装过程记录76

4.2.10 软件包安装的文件77

4.2.11 反安装软件包77

4.2.12 删除源代码目录78

4.3 预工具链78

4.3.1 汇编链接器(Binutils)78

4.3.2 编译器(GCC)81

4.4 临时工具链85

4.4.1 内核头文件(Linux kernel headers)85

4.4.2 基本C库(Glibc)87

4.4.3 调整工具链89

4.4.4 汇编工具(Binutils)91

4.4.5 编译工具(GCC)92

4.4.6 测试工具集96

4.5 临时系统98

4.5.1 文本交互函数库(Ncurses)98

4.5.2 用户交互环境(Bash)98

4.5.3 压缩工具(Bzip2)99

4.5.4 常用命令工具集(Coreutils)100

4.5.5 文件比较工具(Diffutils)101

4.5.6 文件查找工具(Findutils)101

4.5.7 文本处理工具(Gawk)102

4.5.8 国际化语言支持工具(Gettext)102

4.5.9 文本匹配搜索工具(Grep)103

4.5.10 压缩工具(Gzip)103

4.5.11 宏处理工具(M4)104

4.5.12 语法分析工具(Bison)104

4.5.13 编译过程控制工具(Make)105

4.5.14 补丁文件使用工具(Patch)105

4.5.15 广泛使用的脚本语言(Perl)106

4.5.16 文本流编辑工具(Sed)107

4.5.17 文件打包工具(Tar)107

4.5.18 信息阅读工具(Texinfo)108

4.5.19 清理临时系统108

4.5.20 退出临时系统制作用户110

4.5.21 恢复工作状态(2)110

第5章 本地定制GNU/Linux系统——目标系统112

5.1 目标系统环境设置113

5.1.1 设置环境变量113

5.1.2 恢复工作状态(3)116

5.1.3 建立目标环境目录117

5.1.4 建立目标系统用户120

5.1.5 建立必要的文件122

5.2 目标系统工具链的制作123

5.2.1 Linux内核头文件(Linux-Header)123

5.2.2 GNU基本C库(Glibc)124

5.2.3 调整工具链133

5.2.4 ZIP格式支持库(Zlib)135

5.2.5 汇编器(Binutils)138

5.2.6 任意精度算法库(GMP)141

5.2.7 高精度浮点数算法库(MPFR)142

5.2.8 编译器(GCC)143

5.2.9 工具链的回测146

5.3 目标系统的制作147

5.3.1 Linux系统帮助手册(Man-Pages)147

5.3.2 高性能数据库(Berkeley DB)149

5.3.3 阶段性检查151

5.3.4 文本流编辑工具(Sed)151

5.3.5 软件包安装信息读取工具(Pkg-config)153

5.3.6 文本下的鼠标工具(GPM)154

5.3.7 文本环境交互函数库(Ncurses)155

5.3.8 Linux系统常用工具(Util-Linux-ng)158

5.3.9 EXT文件系统管理工具(E2fsprogs)162

5.3.10 常用命令工具集(Coreutils)165

5.3.11 端口及协议文件(Iana-etc)169

5.3.12 宏处理工具(M4)169

5.3.13 语法分析工具(Bison)170

5.3.14 常用进程管理工具(Procps)171

5.3.15 文本匹配搜索工具(Grep)172

5.3.16 行编辑支持库(Readline)173

5.3.17 用户交互环境工具(Bash)175

5.3.18 恢复工作状态(4)176

5.3.19 GNU通用库支持工具(Libtool)177

5.3.20 小型数据库(GDBM)178

5.3.21 常用网络工具集(Inetutils)179

5.3.22 脚本语言工具(Perl)180

5.3.23 自动化配置脚本生成工具(Autoconf)183

5.3.24 自动化编译脚本生成工具(Automake)184

5.3.25 压缩工具(Bzip2)184

5.3.26 文件比较工具(Diffutils)187

5.3.27 文件类型查询工具(File)188

5.3.28 文本处理工具(Gawk)188

5.3.29 文件查找工具(Findutils)189

5.3.30 程序生成工具(Flex)191

5.3.31 国际化语言支持工具(Gettext)192

5.3.32 格式化文本工具(Groff)194

5.3.33 压缩工具(Gzip)196

5.3.34 网络管理工具(IPRoute2)197

5.3.35 键盘映射表工具(Kbd)199

5.3.36 分页查看命令(Less)202

5.3.37 编译过程控制工具(Make)203

5.3.38 帮助手册查看工具(Man-DB)204

5.3.39 Linux内核模块管理工具(Module-Init-Tools)205

5.3.40 补丁文件使用工具(Patch)206

5.3.41 进程管理工具(Psmisc)207

5.3.42 密码管理工具(Shadow)208

5.3.43 日志记录工具(Rsyslog)210

5.3.44 开关机过程控制工具(Sysvinit)212

5.3.45 文件打包工具(Tar)214

5.3.46 信息阅读工具(Texinfo)215

5.3.47 设备文件自动管理工具(Udev)217

5.3.48 动态网络地址获取工具(DHCPCD)220

5.3.49 强大的文本编辑器(VIM)221

5.3.50 压缩工具(XZ-Utils)223

5.3.51 数值处理工具(Bc)225

5.3.52 加密算法支持库(OpenSSL)226

5.3.53 安全的主机互联工具(OpenSSH)228

5.3.54 文件下载工具(Wget)230

5.3.55 Linux系统启动脚本集(Bootscript)231

5.3.56 安装启动器(GRUB)233

5.3.57 Linux内核235

5.3.58 清除调试信息237

5.4 使系统可以启动238

5.4.1 制作目标系统启动相关文件238

5.4.2 设置启动器43

5.4.3 重新启动进入新系统246

5.5 如何提高成功率以及部分常见问题的解决方法247

5.5.1 制作前的准备247

5.5.2 制作中的常见问题248

5.5.3 制作后的疑问255

第6章 LiveCD/DVD的制作257

6.1 LiveCD启动原理258

6.1.1 计算机的引导过程258

6.1.2 LiveCD的启动过程263

6.2 LiveCD相关技术介绍265

6.2.1 回环设备(Loop Device)265

6.2.2 镜像文件266

6.2.3 临时文件系统——TmpFS268

6.2.4 压缩文件系统——SquashFS269

6.2.5 复合文件系统——AUFS269

6.2.6 启动器——GRUB271

6.3 LiveCD制作的准备工作271

6.3.1 工作目录272

6.3.2 压缩文件系统操作工具(Squashfs-tools)272

6.3.3 光盘文件制作工具(Mkisofs)273

6.3.4 文件打包工具(Cpio)274

6.3.5 文件下载工具(CURL)275

6.3.6 版本管理工具(Git)275

6.4 LiveCD最终系统的制作276

6.5 LiveCD专用内核制作279

6.5.1 LiveCD对内核的要求279

6.5.2 AUFS的内核补丁280

6.5.3 准备Linux内核源代码280

6.5.4 配置Linux内核源代码281

6.5.5 编译安装LiveCD专用内核285

6.6 LiveCD初始化辅助系统的制作286

6.6.1 Initrd286

6.6.2 Initramfs292

6.7 LiveCD的生成298

6.7.1 最终系统的完成298

6.7.2 在光盘上安装GRUB-2299

6.7.3 生成iso文件300

6.8 完成之后301

第7章 LiveUSB的制作307

7.1 LiveUSB相关原理308

7.1.1 什么是LiveUSB308

7.1.2 LiveUSB与LiveCD308

7.1.3 LiveUSB的启动311

7.2 Live系统的启动方式314

7.2.1 直接文件系统启动方式314

7.2.2 镜像文件系统启动方式315

7.2.3 U盘搜索的不同方式317

7.2.4 两类启动Live系统方式的对比319

7.3 LiveUSB制作的准备工作320

7.3.1 工作目录320

7.3.2 相关软件包的编译安装321

7.4 Live系统的制作325

7.5 LiveUSB专用内核制作328

7.5.1 LiveUSB对内核的要求328

7.5.2 AuFS的内核补丁328

7.5.3 准备Linux内核源代码329

7.5.4 配置Linux内核源代码329

7.5.5 编译安装LiveUSB专用内核333

7.6 LiveUSB初始化辅助系统的制作334

7.6.1 Initramfs的init命令334

7.6.2 制作辅助系统339

7.6.3 辅助系统与内核的合并341

7.7 LiveUSB的生成343

7.7.1 最终系统的完成343

7.7.2 设置GRUB-2344

7.7.3 创建LiveUSB的U盘346

7.7.4 U盘安装GRUB-2348

7.7.5 扫尾工作349

第8章 交叉编译GNU/Linux系统原理351

8.1 交叉编译简介352

8.1.1 交叉编译的定义352

8.1.2 交叉编译的适用范围352

8.2 目标平台的准备352

8.2.1 常见的CPU353

8.2.2 大端和小端的字节序353

8.2.3 目标平台的选择354

8.3 交叉编译原理及相关技术354

8.3.1 名词说明354

8.3.2 程序文件的交叉编译355

8.3.3 交叉编译目标系统356

8.3.4 Sysroot方式交叉编译目标系统359

8.4 交叉编译的实施步骤设计364

8.4.1 制作流程阶段分解364

8.4.2 制作步骤设计367

8.5 交叉编译的准备370

第9章 交叉编译GNU/Linux系统过程372

9.1 制作环境准备373

9.1.1 创建工作目录373

9.1.2 创建制作用户374

9.1.3 设置制作用户375

9.1.4 相关软件包下载377

9.2 目标系统准备378

9.2.1 恢复工作状态(1)378

9.2.2 建立目录结构380

9.2.3 创建必要的用户和组381

9.2.4 创建必要文件382

9.3 制作交叉工具链382

9.3.1 内核头文件(Linux-Header)382

9.3.2 Binutils交叉工具383

9.3.3 GCC交叉工具(仅支持C语言)385

9.3.4 目标系统的Glibc386

9.3.5 GCC交叉工具(支持C语言和C++语言)392

9.3.6 测试交叉工具链393

9.4 完善交叉编译环境395

9.4.1 File软件包395

9.4.2 Groff软件包396

9.4.3 Shadow软件包397

9.4.4 Ncurses软件包398

9.4.5 清理交叉编译环境399

9.5 制作目标系统400

9.5.1 制作环境设置400

9.5.2 恢复工作状态(2)402

9.5.3 Linux系统帮助手册(Man-pages)403

9.5.4 ZIP格式支持库(Zlib)403

9.5.5 汇编工具集(Binutils)404

9.5.6 任意精度算法库(GMP)406

9.5.7 高精度浮点数算法库(MPFR)407

9.5.8 编译器(GCC)408

9.5.9 文本流编辑工具(Sed)410

9.5.10 文本下的鼠标工具(GPM)411

9.5.11 文本环境交互函数库(Ncurses)411

9.5.12 Linux系统常用工具集(Util-Linux-ng)413

9.5.13 EXT文件系统管理工具(E2fsprogs)414

9.5.14 常用命令工具集(Coreutils)416

9.5.15 端口及协议文件(Iana-Etc)418

9.5.16 宏处理工具(M4)418

9.5.17 语法分析工具(Bison)418

9.5.18 进程管理工具(Procps)419

9.5.19 GNU通用库支持工具(Libtool)420

9.5.20 行编辑支持库(Readline)420

9.5.21 自动化配置脚本生成工具(Autoconf)421

9.5.22 自动化编译脚本生成工具(Automake)422

9.5.23 用户交互环境工具(Bash)422

9.5.24 压缩工具(Bzip2)424

9.5.25 网络地址自动获取工具(DHCPCD)425

9.5.26 文件比较工具(Diffutils)425

9.5.27 文件类型查询工具(File)426

9.5.28 文件查找工具(Findutils)426

9.5.29 程序生成工具(Flex)427

9.5.30 文本处理工具(Gawk)428

9.5.31 国际化语言支持工具(Gettext)429

9.5.32 文本匹配搜索工具(Grep)430

9.5.33 格式化文本工具(Groff)430

9.5.34 压缩工具(Gzip)431

9.5.35 网络测试工具集(IPutils)432

9.5.36 网络管理工具(IPRoute2)433

9.5.37 键盘映射表工具(Kbd)434

9.5.38 分页查看器(Less)435

9.5.39 编译过程控制工具(Make)435

9.5.40 帮助手册查看工具(Man)436

9.5.41 Linux内核模块管理工具(Module-Init-Tools)438

9.5.42 补丁文件使用工具(Patch)438

9.5.43 进程管理工具(Psmisc)439

9.5.44 密码管理工具(Shadow)440

9.5.45 日志记录工具(Rsyslog)441

9.5.46 开关机过程控制工具(Sysvinit)443

9.5.47 文件打包工具(Tar)445

9.5.48 信息阅读工具(Texinfo)445

9.5.49 设备文件自动管理工具(Udev)446

9.5.50 文本编辑器(VIM)447

9.5.51 文件下载工具(Wget)450

9.5.52 压缩工具(XZ-Utils)450

9.5.53 Bootscript启动脚本安装451

9.6 使系统可以启动452

9.6.1 Linux内核452

9.6.2 制作目标系统启动相关文件454

9.7 目标系统的使用456

9.7.1 切换用户457

9.7.2 目标系统所有者设置457

9.7.3 目标系统打包457

9.7.4 将系统存放到目标计算机中458

9.7.5 建立启动选项458

9.7.6 启动目标系统459

第10章 GNU/Hurd系统的制作460

10.1 GNU/Hurd简介461

10.2 GNU/Hurd制作原理463

10.3 GNU/Hurd制作的实施步骤设计466

10.3.1 制作流程阶段分解466

10.3.2 制作步骤设计470

10.4 GNU/Hurd制作的准备473

10.5 制作环境准备474

10.5.1 创建工作目录474

10.5.2 创建制作用户475

10.5.3 设置制作用户476

10.6 目标系统准备477

10.6.1 恢复工作状态(1)477

10.6.2 建立目录结构479

10.6.3 创建必要的文件480

10.7 制作交叉工具链480

10.7.1 Autoconf(工具链环境)481

10.7.2 Automake(工具链环境)481

10.7.3 启动器GRUB-1481

10.7.4 汇编链接器(Binutils)482

10.7.5 编译器(GCC)483

10.7.6 微内核头文件(GNU Mach-Headers)484

10.7.7 Hurd内核头文件(GNU Hurd-Headers)485

10.7.8 MIG(编译Hurd内核所需工具)486

10.7.9 Glibc的头文件(Glibc-Headers)487

10.7.10 Binutils(交叉工具链)488

10.7.11 GCC(交叉工具链)489

10.7.12 目标系统的C函数库(Glibc)491

10.8 制作微型目标系统493

10.8.1 GNU Mach微内核494

10.8.2 GNU Hurd内核495

10.8.3 目标系统的汇编工具(Binutils)496

10.8.4 GMP函数库497

10.8.5 MPFR函数库497

10.8.6 目标系统的编译器(GCC)498

10.8.7 临时的Bash499

10.8.8 文本流编辑工具(Sed)501

10.8.9 文本匹配搜索工具(Grep)501

10.8.10 常用命令工具集(Coreutils)502

10.8.11 编译过程控制命令(Make)503

10.8.12 文件比较工具(Diffutils)503

10.8.13 文本处理工具(Gawk)504

10.8.14 压缩工具(Gzip)505

10.8.15 文件打包工具(Tar)505

10.8.16 完成微型系统506

10.9 建立相对完整的目标系统510

10.9.1 本地制作的准备510

10.9.2 恢复工作状态(2)512

10.9.3 补丁文件使用工具(Patch)512

10.9.4 压缩工具(Bzip2)512

10.9.5 文件查找工具(Findutils)514

10.9.6 GCC编译器(C/C++)514

10.9.7 文本环境交互函数库(Ncurses)516

10.9.8 国际化语言支持工具(Gettext)517

10.9.9 信息阅读工具(Texinfo)518

10.9.10 高性能数据库(Berkeley DB)518

10.9.11 端口及协议文件(Iana-etc)519

10.9.12 EXT文件系统管理工具(E2fsprogs)519

10.9.13 宏处理工具(M4)520

10.9.14 语法分析工具(Bison)521

10.9.15 GNU通用库支持工具(Libtool)521

10.9.16 ZIP格式支持库(Zlib)522

10.9.17 脚本语言工具(Perl)522

10.9.18 行编辑支持库(Readline)523

10.9.19 自动化配置脚本生成工具(Autoconf)524

10.9.20 自动化编译脚本生成工具(Automake)524

10.9.21 文件类型查询工具(File)525

10.9.22 用户交互环境工具(Bash)525

10.9.23 程序生成工具(Flex)526

10.9.24 格式化文本工具(Groff)527

10.9.25 常用网络工具集(Inetutils)527

10.9.26 分页查看器(Less)529

10.9.27 帮助手册查看工具(Man-DB)529

10.9.28 进程管理工具(Psmisc)530

10.9.29 密码管理工具(Shadow)531

10.9.30 压缩工具(XZ-Utils)533

10.9.31 文本编辑器(VIM)533

10.9.32 文件下载工具(Wget)535

10.9.33 Hurd内核编译相关工具(MIG)536

10.10 启动GNU/Hurd系统536

10.10.1 设置系统相关配置文件536

10.10.2 重新设置GRUB配置文件538

10.10.3 重新启动,进入GNU/Hurd539

参考文献542

热门推荐