新書推薦:
《
造脸:整形外科的兴起(医学人文丛书)
》
售價:HK$
85.8
《
理由至上
》
售價:HK$
129.8
《
千秋堂丛书003:南渡之君——宋高宗的踌躇与抉择
》
售價:HK$
96.8
《
中国丝绸艺术大系·中国丝绸博物馆卷(明清)
》
售價:HK$
1078.0
《
为学习而设计:以任务驱动语文单元整体教学
》
售價:HK$
74.8
《
近三十年新中国史研究前沿问题
》
售價:HK$
107.8
《
中国社会各阶层分析
》
售價:HK$
96.8
《
纯粹·破壁与神游
》
售價:HK$
90.2
編輯推薦:
本书介绍操作系统的一般概念,特别是与Linux相关的部分,让你能够安装、更新和删除软件以及使用命令行工具进行性能调优和基本问题排查的能力。你将从创建一个虚拟网络并在VirtualBox虚拟机上安装Fedora(一种流行而强大的Linux发行版)开始,这个虚拟机可以让你在现有的Windows或Linux计算机上进行所有实验。然后,你将学习如何使用Xfce GUI桌面环境和Linux提供的许多命令行工具,包括虚拟控制台、各种终端仿真器、BASH和其他终端。这些工具将帮助你在命令行上进行各种操作。在这一部分,你将探索数据流和Linux中用于处理数据流的工具,并学习有关Vim文本编辑器的知识。Vim对于高级Linux用户和系统管理员来说是不可或缺的,并且我们还会介绍其他一些文本编辑器。你还将学习如何更新和安装新软件,了解更多的终端仿真器以及一些高级终端技巧。我们还将详细讨论计算机启动和Linux启动时发生的事件顺序,以及如何配置终端以及个性化定制,从而大大提高命令行的效率。最后,我们将深入研究文件和文件系统的各个方面。通过阅读本书,你将学习: (1)安装Fedora Linux并对Xfce桌面
內容簡介:
本系列图书内容概览本系列图书共三本,分别为《Linux权威指南:从小白到系统管理员 上册(原书第2版)》《Linux权威指南:从小白到系统管理员 下册(原书第2版)》《Linux权威指南:网络服务详解(原书第2版)》,每本书的内容都紧密相扣,相互衔接,共同构成一个连贯且递进的整体。在《Linux权威指南:从小白到系统管理员 上册(原书第2版)》中,主要介绍操作系统的基础知识,特别是与Linux相关的部分,并探索系统管理员的Linux哲学,为后面的学习做准备。在《Linux权威指南:从小白到系统管理员 下册(原书第2版)》中,聚焦于资深系统管理员的一系列高级知识。在《Linux权威指南:网络服务详解(原书第2版)》中,你将在现有虚拟网络中再创建一个虚拟机作为服务器来完成后续的学习任务。它还将取代虚拟网络中虚拟路由器的一些功能。本系列图书与其他Linux教学书籍的区别在于,它提供了一套完整的自学教程,建议你从第一本的开头逐步阅读,仔细阅读每一章节,认真完成书中的所有实验,并完成每个章节的练习直至第三本结束。即使你是Linux的零基础读者,遵循这个学习路径也能让你掌握成为Linux系统管理员所需的核心技能和知识。
關於作者:
戴维·博特(David Both)是一位热衷于开源软件及GNU/Linux的倡导者、培训师、作家和演讲者。他在Linux和开源软件领域耕耘逾25年,更是拥有长达50年的计算机行业经验。他是“Linux系统管理员哲学”的忠实拥护者和布道者。他在IBM工作了21年,1981年在佛罗里达州博卡拉顿担任IBM课程开发代表时,他为第一款IBM PC编写了培训课程。他曾为红帽公司讲授RHCE课程,并曾教授从“午餐学习”到五日完整课程的Linux课程。David的著作和文章体现了他传授知识、助力Linux学习者的诚挚愿望。他著有《Linux哲学》(The Linux Philosophy for SysAdmins),并与他人合著了Linux for Small Business Owners。
目錄 :
目 录 Contents
译者序
前 言
致 谢
关于作者
第1章 导读 1
1.1 关于Linux 1
1.2 Windows的诞生 2
1.3 Linux的诞生 4
1.4 敞开的匣子 4
1.5 Linux的本质 5
1.6 知识 6
1.7 灵活性 6
1.8 稳定性 7
1.9 可扩展性 8
1.10 安全性 8
1.11 自由使用权 8
1.12 长生命周期 9
1.13 抵抗恶意软件 11
1.14 我应该成为一名系统管理员吗 12
1.15 关于本书 13
1.16 关于实验 13
1.17 如果实验不起作用该怎么办 15
1.18 术语 15
1.19 如何访问命令行 15
总结 16
练习 16
第2章 操作系统简介 17
2.1 选择—真的! 17
2.2 操作系统是什么 18
2.3 硬件 18
2.3.1 主板 18
2.3.2 处理器 19
2.3.3 外围设备 21
2.4 操作系统 22
2.5 典型的操作系统功能 22
2.5.1 内存管理 23
2.5.2 多任务处理 23
2.5.3 多用户 24
2.5.4 进程管理 24
2.5.5 进程间通信 25
2.5.6 设备管理 25
2.5.7 错误处理 26
2.6 工具集 26
2.7 一段历史 26
2.7.1 从UNICS开始 26
2.7.2 UNIX 27
2.7.3 伯克利软件套件 28
2.7.4 UNIX哲学 28
2.8 Linux简史 28
2.9 核心工具集 29
2.9.1 GNU核心工具集 29
2.9.2 util-linux 30
2.9.3 非营利版权 30
2.10 游戏 31
总结 31
练习 31
第3章 系统管理员的Linux哲学 32
3.1 背景 32
3.2 哲学的结构 33
3.3 原则 34
3.3.1 数据流是一种通用接口 34
3.3.2 转换数据流 34
3.3.3 一切皆文件 35
3.3.4 使用Linux文件系统
层次标准 35
3.3.5 拥抱命令行界面 36
3.3.6 当一名懒惰的系统管理员 36
3.3.7 将一切自动化 37
3.3.8 始终使用脚本 37
3.3.9 尽早测试并经常测试 37
3.3.10 使用通俗易懂的命名 38
3.3.11 以开放格式存储数据 39
3.3.12 对数据使用单独的
文件系统 39
3.3.13 使程序可移植 40
3.3.14 使用开源软件 40
3.3.15 追求优雅 41
3.3.16 寻求简单性 41
3.3.17 使用你最喜欢的编辑器 42
3.3.18 将一切文档化 42
3.3.19 备份所有数据—经常
备份 43
3.3.20 跟随你的好奇心 44
3.3.21 没有“应该” 44
3.3.22 培养年轻的系统管理员 45
3.3.23 支持你喜欢的开源项目 45
3.3.24 现实中的变数 45
总结 46
练习 46
第4章 准备工作 47
4.1 概述 47
4.2 成为root用户 48
4.3 硬件规格 48
4.4 主机软件要求 49
4.5 安装VirtualBox 49
4.5.1 在Linux主机上安装
VirtualBox 50
4.5.2 在Windows主机上安装VirtualBox 54
4.6 创建虚拟机 56
4.6.1 VirtualBox管理器 56
4.6.2 配置虚拟网络 57
4.6.3 准备磁盘空间 59
4.6.4 下载ISO镜像文件 68
4.6.5 创建虚拟机 69
总结 74
练习 74
第5章 安装Linux 75
5.1 概述 75
5.2 插入Fedora Live镜像 76
5.3 引导Live镜像 77
5.4 安装 Fedora 79
5.4.1 开始安装 79
5.4.2 设置主机名 79
5.4.3 用户账户 80
5.4.4 硬盘分区 82
5.4.5 关于交换空间 88
5.4.6 完成分区 89
5.5 开始安装 89
5.6 完成安装 89
5.6.1 关闭Live系统 90
5.6.2 重新配置虚拟机 90
5.6.3 创建快照 91
5.7 首次开机 92
5.8 如果实验不起作用怎么办 93
总结 94
练习 94
第6章 使用Xfce桌面 95
6.1 为什么选择Xfce 95
6.1.1 桌面 95
6.1.2 文件管理器 97
6.1.3 稳定性 97
6.1.4 xfce4-terminal模拟器 97
6.1.5 可配置性 97
6.2 入门 98
6.3 登录 99
6.4 初次登录界面 99
6.5 探索Xfce桌面 100
6.5.1 屏幕保护程序 100
6.5.2 设置管理器 102
6.5.3 将启动器添加到面板2 102
6.5.4 默认应用程序 104
6.6 桌面外观 105
6.7 多个桌面 108
6.8 安装更新 109
总结 111
练习 112
第7章 使用Linux命令行 113
7.1 概述 113
7.2 准备工作 114
7.3 定义命令行 114
7.4 CLI术语 115
7.4.1 命令提示符 115
7.4.2 命令行 115
7.4.3 命令行界面 115
7.4.4 命令 116
7.4.5 终端 116
7.4.6 控制台 117
7.4.7 虚拟控制台 117
7.4.8 终端模拟器 122
7.4.9 伪终端 123
7.4.10 会话 124
7.4.11 脚本 124
7.4.12 安全脚本终端 126
7.4.13 screen 127
7.5 GUI和CLI 128
7.6 一些重要的Linux命令 129
7.6.1 PWD 129
7.6.2 目录路径符号样式 129
7.6.3 在目录树中移动 130
7.6.4 Tab补全工具 134
7.6.5 探索文件 135
7.6.6 更多命令 137
7.7 命令调用和编辑 139
总结 141
练习 141
第8章 核心工具集 142
8.1 GNU核心工具集 142
8.2 util-linux 146
总结 149
练习 150
第9章 数据流 151
9.1 数据流作为原材料 151
9.2 文本流:一个通用接口 152
9.3 STDIO文件句柄 152
9.4 为测试准备逻辑卷 153
9.4.1 存储设备的逻辑结构 153
9.4.2 创建新卷 154
9.5 生成数据流 157
9.6 用yes命令测试一个场景 160
9.7 引导记录 162
9.8 深入探究 165
9.9 随机性 166
9.10 管道流 167
9.11 构建管道流水线 168
9.12 重定向 169
9.13 使用grep命令 171
总结 172
练习 173
第10章 文本编辑器 174
10.1 为何我们需要文本编辑器 174
10.2 Vim 175
10.3 其他编辑器 176
10.3.1 Nano 176
10.3.2 Emacs 177
10.3.3 GNOME文本编辑器 177
10.3.4 gedit 177
10.3.5 Leafpad 177
10.3.6 Kate 177
10.3.7 xfw 178
10.3.8 xed 178
10.4 学习Nano 178
10.5 学习Vim 179
10.6 使用你最喜欢的文本编辑器 181
总结 182
练习 182
第11章 以root身份工作 183
11.1 为什么使用root 183
11.2 su命令 184
11.3 了解root账户 185
11.4 root的缺点 189
11.5 给用户提权 190
11.5.1 错误方式 190
11.5.2 使用sudo 190
11.5.3 sudoers文件 194
11.6 真正的系统管理员
不使用sudo 196
11.6.1 用不用sudo 196
11.6.2 有效的sudo使用方式 197
11.7 以root身份使用su命令 198
总结 198
练习 199
第12章 安装和更新软件 200
12.1 依赖引起的问题 200
12.2 RPM 201
12.3 YUM 204
12.4 DNF 204
12.4.1 安装软件包 205
12.4.2 安装更新 207
12.4.3 更新后任务 209
12.4.4 删除包 210
12.5 组 211
12.6 添加存储库 212
12.7 其他软件 214
12.7.1 安装Zoom 215
12.7.2 更新Zoom 215
12.8 关于内核 216
总结 217
练习 218
第13章 解决问题的工具 219
13.1 解决问题的艺术 219
13.1.1 解决问题的五个步骤 220
13.1.2 知识 220
13.1.3 观察 221
13.1.4 推理 221
13.1.5 行动 221
13.1.6 测试 222
13.2 系统性能观测和解决问题 222
13.3 其他类似于top的工具 233
13.3.1 htop 234
13.3.2 atop 235
13.4 更多工具 236
13.5 /proc文件系统 240
13.6 探索硬件 242
13.7 监控硬件温度 243
13.8 监控存储驱动器 245
13.9 SAR系统统计 252
13.9.1 安装和配置 252
13.9.2 检查收集的数据 252
13.10 清理 256
总结 256
练习 257
第14章 终端模拟 258
14.1 关于终端 258
14.2 我的需求 259
14.3 终端模拟器 260
14.3.1 rxvt 260
14.3.2 xfce4-terminal 260
14.3.3 LXTerminal 263
14.3.4 Tilix 264
14.3.5 Konsole 268
14.3.6 Terminator 270
总结 271
练习 272
第15章 高阶终端主题 273
15.1 Bash终端 274
15.2 终端选项 274
15.3 终端变量 275
15.4 命令 276
15.4.1 PATH 276
15.4.2 内置命令 278
15.4.3 外部命令 280
15.4.4 强制使用外部命令 280
15.5 命令行程序 280
15.6 节约时间的工具 284
15.6.1 大括号扩展 285
15.6.2 特殊模式字符 286
15.6.3 集合 288
15.6.4 元字符 289
15.7 使用grep 290
15.8 查找文件 293
总结 296
练习 296
第16章 Linux的引导与启动 297
16.1 概述 297
16.2 硬件引导 298
16.3 引导扇区 299
16.3.1 MBR 299
16.3.2 GPT 299
16.3.3 影响 299
16.4 Linux引导 300
16.4.1 GRUB 300
16.4.2 配置GRUB 307
16.4.3 GRUB引导完成 309
16.5 Linux内核 309
16.6 Linux启动 309
16.6.1 文本模式启动 309
16.6.2 systemd 311
16.7 图形登录屏幕 316
16.7.1 显示管理器 316
16.7.2 窗口管理器 317
16.7.3 如何选择 318
16.8 恢复模式 322
16.8.1 当引导到救援模式失败时 323
16.8.2 在救援模式下工作 324
16.9 关于登录 325
16.9.1 命令行登录屏幕 325
16.9.2 图形登录屏幕 326
总结 327
练习 327
第17章 终端配置 328
17.1 启动终端 329
17.1.1 启动非登录终端 330
17.1.2 启动登录终端 331
17.1.3 探索全局配置脚本 331
17.1.4 探索本地配置脚本 334
17.1.5 小试牛刀 334
17.2 探索环境 337
17.3 别名 340
总结 341
练习 341
第18章 文件、目录和链接 343
18.1 概述 343
18.2 准备工作 344
18.3 用户账户及安全 345
18.4 文件属性 345
18.4.1 文件所有权 345
18.4.2 文件权限 347
18.4.3 目录权限 349
18.4.4 组所有权含义 349
18.4.5 umask 353
18.4.6 更改文件权限 354
18.4.7 申请权限 356
18.4.8 时间戳 357
18.5 文件元结构 357
18.5.1 目录条目 357
18.5.2 索引节点 357
18.6 文件信息 357
18.7 链接 359
18.7.1 硬链接 360
18.7.2 应用多个硬链接定位文件 363
18.7.3 符号(软)链接 365
总结 367
练习 367
第19章 文件系统 368
19.1 概述 368
19.2 定义 369
19.2.1 文件系统 369
19.2.2 存储 369
19.3 文件系统功能 369
19.4 Linux文件系统层次标准 371
19.4.1 标准 371
19.4.2 解决问题 372
19.4.3 文件系统的不当使用 373
19.4.4 遵循标准 373
19.5 Linux统一目录结构 373
19.6 文件系统类型 374
19.7 挂载 375
19.8 Linux EXT4文件系统 375
19.8.1 群组 376
19.8.2 索引节点 380
19.8.3 日志 381
19.9 数据分配策略 382
19.10 修复问题 386
19.11 修复损坏的文件系统 392
19.11.1 使用Fedora Live USB
设备进行系统恢复 392
19.11.2 找回丢失的文件 394
19.12 创建一个新文件系统 395
19.12.1 查找空间 395
19.12.2 添加一个新虚拟硬盘
驱动器 396
19.13 其他文件系统 402
总结 403
练习 403
內容試閱 :
前 言
本系列图书在结构上与其他书籍大不一样。整个系列共三本,分别为《Linux权威指南:从小白到系统管理员 上册(原书第2版)》《Linux权威指南:从小白到系统管理员 下册(原书第2版)》《Linux权威指南:网络服务详解(原书第2版)》,每本书的内容都紧密相扣,相互衔接,共同构成一个连贯且递进的整体。
本系列图书与其他Linux教学书籍的区别在于,它提供了一套完整的自学教程,建议你从第一本的开头逐步阅读,仔细阅读每一章节,认真完成书中的所有实验,并完成每个章节的练习直至第三本结束。即使你是Linux的零基础读者,遵循这个学习路径也能让你掌握成为Linux系统管理员所需的核心技能和知识。
本系列图书所有的实验都是在一个或多个虚拟机(Virtual Machine,VM)组成的虚拟网络中进行的。借助免费的VirtualBox虚拟化软件,你可以在任何规模合理的主机上创建这样的虚拟环境,无论是Linux操作系统还是Windows操作系统。在这个虚拟环境中,你可以自由地进行实验,甚至可以执行那些在安装Linux的过程中可能会损坏硬件主机的错误操作,你也可以通过多个快照中的任何一个,将Linux虚拟机完全恢复。这种既能承担风险又容易恢复的灵活性使我们能学到更多。
本系列图书也可以作为参考资料使用。多年来,我一直将自己以前的那些课程材料作为参考,它们一直发挥着重要作用。我将此视为本系列图书的目标之一。
此外,对于书中给出的练习,并非所有问题都能通过简单地复习章节内容解决。有些问题需要你亲手设计实验来找出答案,并且多数情况下可能不止有一种方法,只要能产生正确的结果,就是“正确”的方法。
书籍设计
书籍的设计过程与书籍本身的结构同等重要——甚至可以说更为重要。书籍设计者的首要任务是制订一份需求清单,明确书籍的架构与内容。只有在此基础上,书籍的编写才能顺利进行。实际上,我发现先撰写总结和练习,再创作其他内容会很有帮助。我在本书的许多章节中都采用了这种方式。
本系列图书专为像你这样志向明确的学生而设计,提供了一套完整的、端到端的 Linux 培训教程,目标是培养你成为一名 Linux 系统管理员(SysAdmin)。本书将带你从零开始学习Linux,助你实现成为系统管理员的职业理想。
许多Linux培训课程都默认学员应该从初级用户课程开始学习。这些课程可能会涉及 root 用户在系统管理中的作用,但往往忽略了对未来系统管理员至关重要的实战经验。还有一些课程则完全避开了系统管理方面的内容。大部分课程的第一门课会展开一些Linux介绍,然后第二门课可能会介绍系统管理的基础知识,而第三门课可能会涉及更高级的管理主题。
坦白说,这种循序渐进的教学方法并不适合我们之中许多已经成为 Linux 系统管理员的人。我们之所以能走到这一步,至少部分归功于强烈的求知欲和对快速学习的渴望。此外,我认为这也与我们旺盛的好奇心密不可分。一旦掌握了一个基本命令,我们就会开始提问,通过实验来探索它的极限、可能导致故障的情形,以及使用不当时产生的后果。我们钻研用户手册(man page)和其他文档,了解命令在各种极端场景下的用法。如果问题无法自行出现,我们会主动去“制造”问题,研究其运作机理,并掌握解决方法。我们乐于面对失败,因为从解决问题中获得的知识远胜于一帆风顺的经历。
本系列图书从一开始就深入探讨 Linux 系统管理。你将学习使用和管理 Linux 工作站和服务器所需的大量 Linux 工具,而且每项任务往往可以灵活运用多种工具。书中还包含许多实验,为你提供系统管理员看重的实践经验。这些实验将一步步引导你领略 Linux 的优雅与精妙。你会发现,Linux 操作系统的精髓在于简洁,正是这种简洁性让Linux优雅并易于理解。
基于我多年来使用 UNIX 和 Linux 的经验,这三本书旨在向你介绍在Linux 用户和 Linux 系统管理员的日常工作中会涉及的实际操作。
但是,每个系统管理员的知识体系不可能完全一致,每个人的起点、技能、目标都不同,管理的系统配置、软硬件故障、网络环境都可能存在差异。我们解决问题的思路和工具会受所接触的导师的影响,思考方式不同,对硬件的理解程度也有差别。正是一路走来的经历塑造了我们,成就了现在的系统管理员。
因此,我会在这套书中重点讲解我认为对大家重要的知识。这些知识能够提升你的技术,帮助你充分发挥创造力,独立解决你可能从未想过也未曾遇到过的问题。
经验告诉我,错误往往比成功更具教益。所以,遇到问题时,不要急于恢复到之前的快照,而应先试着分析错误产生的原因以及最佳的恢复方法。当然,如果在合理的时间内仍然无法解决,此时再恢复快照就是明智之举了。
需要明确的是,这套书不是认证考试的应试指南,其目标不是帮助你通过任何类型的认证考试,而是传授实用的系统管理技能,帮助你成为一名合格甚至优秀的 Linux 系统管理员。
目前,红帽(Red Hat)和思科(Cisco)的认证考试质量相对较高,它们注重考察应试者解决实际问题的能力。由于我没有参加过其他认证考试,因此对此了解有限。但需要指出的是,市面上的大多数认证培训课程和参考书都以通过考试为导向,而并非侧重于教授管理Linux主机或网络的实用技能。这并不能说明它们不够好,只是目标定位与本书有所不同。
本系列图书内容概览
《Linux权威指南:从小白到系统管理员 上册(原书第2版)》
《Linux权威指南:从小白到系统管理员 上册(原书第2版)》(简称“上册”)的前3章从整体上介绍操作系统(重点讲解Linux),简要探讨了系统管理员的Linux哲学,以便为其余部分的内容做准备。
第4章引导你使用VirtualBox创建虚拟机和虚拟网络,搭建贯穿全书的实验环境。第5章带你完成Xfce版Fedora的安装,这是一款深受欢迎的强力Linux发行版。第6章聚焦Xfce桌面操作,让你在加深对命令行界面(Command Line Interface,CLI)理解的同时,也能无缝衔接图形化界面。
第7、8章将开启你的Linux命令行之旅,介绍常用命令和基本功能。第9章涉及数据流的概念以及相关的Linux操作工具。第10章简要介绍常用的文本编辑器,它们是资深Linux用户和系统管理员不可或缺的利器。你还将学习使用Vim编辑器来创建和修改Linux中大量用于配置和管理的ASCII纯文本文件。
第11~13章以系统管理员的角色进行实操,包括以root身份操作、安装软件更新或新软件包等具体任务。第14、15章侧重于各类终端模拟器和高阶终端技巧的讲解。第16章剖析计算机启动和Linux开机时的一系列流程。第17章指导你进行终端的个性化配置,大幅提升命令行操作的效率。
最后,第18、19章带你深入探索文件和文件系统的方方面面。
《Linux权威指南:从小白到系统管理员 下册(原书第2版)》
《Linux权威指南:从小白到系统管理员 下册(原书第2版)》(简称“下册”)聚焦于资深系统管理员的一系列高级知识。
第1、2章围绕逻辑卷管理(Logical Volume Management,LVM)展开深入探讨,并讲解其原理。你还将学习如何通过文件管理器来进行文件和目录操作。第3章重点介绍“一切皆文件”的Linux核心概念,并通过生动有趣的示例展现其灵活的应用。
第4章聚焦于管理和监控处于运行状态的进程的工具。第5章侧重于/proc等特殊文件系统,它们无须重启就能对内核进行监控和调优。
第6章正式引出正则表达式这一强大工具,及其在命令行模式匹配方面的功能。第7章讲解如何通过命令行进行打印机和打印任务的管理。在第8章中,你将探索一系列工具来揭秘Linux系统硬件的底层信息。
第9、10章涉及命令行编程和管理任务自动化,由浅入深,循序渐进。第11章着重介绍Ansible,这个强大的工具能够大幅简化远程主机上的大规模自动化管理。第12章讲解如何配置定时任务,让系统在指定时间自动执行特定操作。
网络相关的内容从第13章开始,第14章专门讲解NetworkManager工具的强大功能。
第15章介绍B树文件系统(B-Tree Filesystem,BtrFS)及其特性,同时指出BtrFS在多数应用场景下不是最优选择的原因。
第16~18章围绕systemd展开。作为新一代启动工具,systemd同时还肩负着系统服务和工具管理的职责。第19章深入讨论D-bus和udev,并阐释Linux如何通过它们实现设备的即插即用(Plug and Play,PnP)管理。第20章探讨传统Linux日志文件的使用,并学习配置logwatch工具以快速从海量日志中获取关键信息。
第21章介绍用户管理相关的任务,第22章介绍基本的防火墙管理操作。你将使用firewalld命令行工具,为内部、外部等不同网络环境创建防火墙区域,并管理网络接口的分配。
《Linux权威指南:网络服务详解(原书第2版)》
在《Linux权威指南:网络服务详解(原书第2版)》(简称《网络服务详解》)中,你将在现有虚拟网络中再创建一个虚拟机作为服务器来完成后续的学习任务。它还将取代虚拟网络中虚拟路由器的一些功能。
第1章通过向新虚拟机添加第二块网络接口卡(Network Interface Card,NIC)来完成工作站到服务器的角色转换,实现防火墙和路由器的功能。同时,你还将把它的网络配置从动态主机配置协议(Dynamic Host Configuration Protocol,DHCP)切换为静态IP。这个过程需要你对两块NIC进行设置,一块连接到现有的虚拟路由器,从而连接外部网络,另一块连接包含原有虚拟机的内网。
第2章从客户端和服务器两方面深入讲解域名服务(Domain Name Service,DNS)的原理和配置。你将学习使用/etc/hosts文件进行简单的域名解析,接着搭建简易的缓存域名服务器,并最终把它升级为内网的主域名服务器。
在第3章中,你将通过修改内核参数和防火墙配置,把这台新服务器变为功能完备的路由器。
第4章围绕SSHD展开,实现Linux主机间的安全远程访问。同时还会提供一些远程命令执行的实用技巧,并教你创建一个简单的命令行程序来完成远程备份任务。
虽然安全性一直贯穿于过往的内容中,但第5章会覆盖额外的安全主题,包括物理硬件层面的安全以及深化主机防御,构建更安全的系统来抵御网络攻击。
在第6章中,你将学习使用易上手的开源工具进行备份的策略和方法,它们能轻松实现完整文件系统或单个文件的备份与恢复。
第7~9章带你安装和配置一款企业级的电子邮件服务器,让它具备识别与拦截垃圾邮件和恶意软件的能力。第10章聚焦Web服务器的搭建,第11章完成WordPress的部署,它是一款灵活而强大的内容管理系统。
第12章重温电子邮件的主题,带你使用Mailman来创建邮件列表。
第13章介绍远程桌面的访问方法,因为有的时候这是完成特定任务的唯一方式。
第14章从不同角度探讨软件包管理,指导你创建RPM(Red Hat Package Manager,红帽包管理器)格式的包来分发自定义的脚本和配置文件。第15章讲解如何向Linux和Windows主机共享文件。
最后,考虑到你一定会有“学完之后往哪走?”这样的疑问,第16章会为你指明方向,帮助你规划进一步的学习。
本系列图书的学习方式
本系列图书虽然主要为自学而设计,但也完全适用于课堂环境。同时,它还可以作为一套高效、实用的参考书。过去,我在独立开展Linux培训和咨询时所编写的大量课程资料对我自己日常的运维工作大有裨益。其中的实验环节成为完成许多任务的范本,更在后来衍生为自动化的基础。我在设计本套书时沿用了很多原始的实验,因为它们时至今日仍具有借鉴意义,能够为我当前的工作提供很好的参考。
你会发现,本套书中会涉及一些看似过时的软件,例如Sendmail、Procmail、BIND、Apache Web 服务器等。它们历久弥新,更准确地说,正是因为它们的成熟度与可靠性,才成为我维护自己的系统与服务器的首选,并最终被应用于本套书。我相信在实验中使用的软件都具备独特的优势,能让你洞悉Linux系统及相关服务背后的原理。一旦掌握了精髓,迁移到其他同类软件就会变得轻而易举。况且,这些“前辈”级软件的上手难度远没有一些人想象的那么大。
本系列图书的读者对象
如果你的目标是成为精通Linux的高级用户甚至系统管理员,那么这套书就是为你而写的。多数系统管理员都有着旺盛的好奇心以及深入钻研Linux系统管理的内在驱动力。我们热衷于通过拆解和重组来探究事物的原理,乐于解决各种计算机问题。
当计算机硬件发生故障时,我们会刨根问底地探究系统反应,甚至可能保留主板、内存、硬盘等有缺陷的部件来用于测试。写这段话时,我的工作站旁就连接着一块故障硬盘,我将用它来复现一些即将在书中介绍的故障场景。
最重要的是,我们这么做完全出于乐趣,即使没有明确的职业需求,我们也会乐此不疲地钻研。对计算机硬件和Linux的浓厚兴趣促使我们收集各类软硬件,就像集邮爱好者或古董收藏家那样。计算机是我们的职业,更是不变的嗜好。正如人们钟情于船只、运动、旅行、钱币、邮票、火车以及其他千奇百怪的事物一样,我们——真正的系统管理员——将计算机视为自己的珍宝。但这绝不意味着我们的生活只有计算机。我喜欢旅行、阅读、参观博物馆、听音乐会,以及乘坐古老的火车,我的集邮册仍然在,静待我再次决定拾起它。
事实上,优秀的系统管理员(至少那些我认识的)都有着多面的兴趣爱好。我们涉猎广泛,而这一切皆源于对万事万物无穷无尽的好奇心。所以,如果你对Linux有着如饥似渴的求知欲,迫不及待想要探索,那么无论你的过往经验如何,这套书籍都非常适合你。
如果你缺乏了解Linux系统管理的强烈愿望,那么这套书就不适合你。如果你只想在别人已经配置好的Linux计算机上使用几款常用软件,那这套书也与你无缘。如果你对华丽的图形界面背后所蕴藏的强大功能毫无兴趣,同样也不必选择这套书。
为什么写作这套书
有人曾问我编写这套书的初衷。我的回答很简单:为了回馈Linux社区。在我的职业生涯中,我曾受惠于多位良师益友,他们传授给我宝贵的知识,而我希望能将这些知识连同自己的经验分享给大家。
这套书脱胎于我曾经设计和讲授的三门Linux课程的幻灯片和实验项目。基于一些原因,那些课已经停授了。但我仍然希望将自己的Linux管理经验与技巧尽可能地传承下去。我期待这套书能让我回馈社区,延续那份我曾有幸从导师那里获得的教诲与启迪。
关于Fedora版本
这套书的第1版是基于Fedora 29编写的,而目前Fedora已经发展到了第38版。在编写第2版时,我不仅扩充了内容,更吸纳了尽可能多的勘误。
如果有必要,我会更新书中需要与时俱进的图像,例如屏幕截图。尽管背景和其他视觉元素可能已随版本更新而变化,但在很多情况下早期版本Fedora的截图仍然适用,这类截图我会保留。
只有在关系到内容准确性和逻辑清晰度时,我才会用新版本的截图替换旧版。书中有些内容示例来自Fedora 29。如果你使用的是Fedora 37、38或之后更高的版本,那么背景等外观元素可能会有所差异。