diff --git a/docs/arch-linux-env-stp-hwt/SUMMARY.md b/docs/arch-linux-env-stp-hwt/SUMMARY.md index 8f7f9ce..ed691ba 100644 --- a/docs/arch-linux-env-stp-hwt/SUMMARY.md +++ b/docs/arch-linux-env-stp-hwt/SUMMARY.md @@ -1,2 +1,2 @@ + [前言](arch-linux-env-stp-hwt_0.md) -+ [第一章。Arch Linux 环境设置指南](arch-linux-env-stp-hwt_1.md) \ No newline at end of file ++ [第一章:Arch Linux 环境设置指南](arch-linux-env-stp-hwt_1.md) \ No newline at end of file diff --git a/docs/arch-linux-env-stp-hwt/arch-linux-env-stp-hwt_1.md b/docs/arch-linux-env-stp-hwt/arch-linux-env-stp-hwt_1.md index 9ab7eb8..576c29c 100644 --- a/docs/arch-linux-env-stp-hwt/arch-linux-env-stp-hwt_1.md +++ b/docs/arch-linux-env-stp-hwt/arch-linux-env-stp-hwt_1.md @@ -1,4 +1,4 @@ -# 第一章。Arch Linux 环境设置指南 +# 第一章:Arch Linux 环境设置指南 欢迎来到 Arch Linux 环境设置指南。Arch Linux 是一个非常灵活的发行版,本书将指导您到达可以建立基本系统的地步。从那里,您可以朝任何方向发展。一个简单的服务器,一个功能齐全的桌面系统。最终,Arch Linux 始终是您所做的样子。 diff --git a/docs/cfg-ipcop-fw/SUMMARY.md b/docs/cfg-ipcop-fw/SUMMARY.md index 91a3509..e1ff2f8 100644 --- a/docs/cfg-ipcop-fw/SUMMARY.md +++ b/docs/cfg-ipcop-fw/SUMMARY.md @@ -1,12 +1,12 @@ + [前言](cfg-ipcop-fw_00.md) -+ [第一章 防火墙简介](cfg-ipcop-fw_01.md) -+ [第二章。IPCop 简介](cfg-ipcop-fw_02.md) -+ [第三章。部署 IPCop 和设计网络](cfg-ipcop-fw_03.md) -+ [第四章 安装 IPCop](cfg-ipcop-fw_04.md) -+ [第五章。基本 IPCop 使用](cfg-ipcop-fw_05.md) -+ [第六章。使用 IPCop 进行入侵检测](cfg-ipcop-fw_06.md) ++ [第一章:防火墙简介](cfg-ipcop-fw_01.md) ++ [第二章:IPCop 简介](cfg-ipcop-fw_02.md) ++ [第三章:部署 IPCop 和设计网络](cfg-ipcop-fw_03.md) ++ [第四章:安装 IPCop](cfg-ipcop-fw_04.md) ++ [第五章:基本 IPCop 使用](cfg-ipcop-fw_05.md) ++ [第六章:使用 IPCop 进行入侵检测](cfg-ipcop-fw_06.md) + [第七章 虚拟私人网络](cfg-ipcop-fw_07.md) -+ [第八章。使用 IPCop 管理带宽](cfg-ipcop-fw_08.md) -+ [第九章。定制 IPCop](cfg-ipcop-fw_09.md) -+ [第十章。测试、审计和加固 IPCop](cfg-ipcop-fw_10.md) -+ [第十一章。IPCop 支持](cfg-ipcop-fw_11.md) \ No newline at end of file ++ [第八章:使用 IPCop 管理带宽](cfg-ipcop-fw_08.md) ++ [第九章:定制 IPCop](cfg-ipcop-fw_09.md) ++ [第十章:测试、审计和加固 IPCop](cfg-ipcop-fw_10.md) ++ [第十一章:IPCop 支持](cfg-ipcop-fw_11.md) \ No newline at end of file diff --git a/docs/cfg-ipcop-fw/cfg-ipcop-fw_02.md b/docs/cfg-ipcop-fw/cfg-ipcop-fw_02.md index 23b6e38..7636526 100644 --- a/docs/cfg-ipcop-fw/cfg-ipcop-fw_02.md +++ b/docs/cfg-ipcop-fw/cfg-ipcop-fw_02.md @@ -1,4 +1,4 @@ -# 第二章。IPCop 简介 +# 第二章:IPCop 简介 在我们看如何使用 IPCop 之前,我们需要首先了解 IPCop 的背景以及它构建的工具。我们还需要查看这些工具分发的许可证,因此也需要查看 IPCop 许可证。对于那些想要直接进行安装和配置并且已经了解开源软件、GPL 和 Linux 背景的人来说,本章将不太有益。然而,我们还将在本章中看到选择 IPCop 的原因以及它具有的独特功能,这在决定是否以及如何部署 IPCop 时将会有用。因此,这非常重要。 diff --git a/docs/cfg-ipcop-fw/cfg-ipcop-fw_03.md b/docs/cfg-ipcop-fw/cfg-ipcop-fw_03.md index 6beeb1f..d77d1ff 100644 --- a/docs/cfg-ipcop-fw/cfg-ipcop-fw_03.md +++ b/docs/cfg-ipcop-fw/cfg-ipcop-fw_03.md @@ -1,4 +1,4 @@ -# 第三章。部署 IPCop 和设计网络 +# 第三章:部署 IPCop 和设计网络 现在我们了解了 IPCop 作为一个与任何其他系统不连接的防火墙的功能,我们需要开始考虑它如何连接到它们,以及对我们有什么影响。正如你现在可能意识到的那样,部署 IPCop 的范围是相当广泛的,特别是与 Linux 的知识和开源软件的灵活性结合在一起,即使是一个 IPCop 盒子的可能排列方式也是相当无限的!也就是说,大多数网络使用的功能核心,在所有这些排列中,有一些核心网络布局可能在大多数 IPCop 部署中是常见的。 diff --git a/docs/cfg-ipcop-fw/cfg-ipcop-fw_05.md b/docs/cfg-ipcop-fw/cfg-ipcop-fw_05.md index 6afc7cf..517a442 100644 --- a/docs/cfg-ipcop-fw/cfg-ipcop-fw_05.md +++ b/docs/cfg-ipcop-fw/cfg-ipcop-fw_05.md @@ -1,4 +1,4 @@ -# 第五章。基本 IPCop 使用 +# 第五章:基本 IPCop 使用 现在我们已经介绍了 IPCop 防火墙的安装以及我们想要部署它的几种情况,我们可以讨论如何管理和操作 IPCop 防火墙。假设安装成功,一个默认的 IPCop 安装会呈现给我们一个 Web 界面。Web 界面允许我们通过任何 Web 浏览器配置防火墙,并且(默认情况下)仅对 Green 内部接口上的客户端启用。 diff --git a/docs/cfg-ipcop-fw/cfg-ipcop-fw_06.md b/docs/cfg-ipcop-fw/cfg-ipcop-fw_06.md index c0d3e29..3a645a0 100644 --- a/docs/cfg-ipcop-fw/cfg-ipcop-fw_06.md +++ b/docs/cfg-ipcop-fw/cfg-ipcop-fw_06.md @@ -1,4 +1,4 @@ -# 第六章。使用 IPCop 进行入侵检测 +# 第六章:使用 IPCop 进行入侵检测 现在我们有一个功能齐全的防火墙,大多数基本功能都已设置好,我们感到非常安全。但如果有恶意入侵者呢?如果他们真的进来了,我们怎么知道?我们该怎么办? diff --git a/docs/cfg-ipcop-fw/cfg-ipcop-fw_08.md b/docs/cfg-ipcop-fw/cfg-ipcop-fw_08.md index a6cfaa2..4d5a774 100644 --- a/docs/cfg-ipcop-fw/cfg-ipcop-fw_08.md +++ b/docs/cfg-ipcop-fw/cfg-ipcop-fw_08.md @@ -1,4 +1,4 @@ -# 第八章。使用 IPCop 管理带宽 +# 第八章:使用 IPCop 管理带宽 我们现在非常清楚 IPCop 不仅仅是一个基本的数据包过滤防火墙。我们已经看到了内置的入侵检测系统以及强大的 VPN 选项。我们还有另一个增加,就是通过几种不同的技术来管理流量,即流量整形和缓存。现在我们将看看如何在需要的地方使用这些技术来提高网络的性能。 diff --git a/docs/cfg-ipcop-fw/cfg-ipcop-fw_09.md b/docs/cfg-ipcop-fw/cfg-ipcop-fw_09.md index c5df868..0f16eda 100644 --- a/docs/cfg-ipcop-fw/cfg-ipcop-fw_09.md +++ b/docs/cfg-ipcop-fw/cfg-ipcop-fw_09.md @@ -1,4 +1,4 @@ -# 第九章。定制 IPCop +# 第九章:定制 IPCop IPCop 是市场上功能最齐全的 SOHO 防火墙之一,到目前为止,您应该已经熟悉了大部分功能,但您可能已经注意到了一些不足之处。也许有一些地方 IPCop 没有以恰当的方式执行某个功能,或者没有我们需要的特定功能。那么我们该怎么办呢?我们可以使用一些必要的插件来定制 IPCop。 diff --git a/docs/cfg-ipcop-fw/cfg-ipcop-fw_10.md b/docs/cfg-ipcop-fw/cfg-ipcop-fw_10.md index 68357db..6d98de2 100644 --- a/docs/cfg-ipcop-fw/cfg-ipcop-fw_10.md +++ b/docs/cfg-ipcop-fw/cfg-ipcop-fw_10.md @@ -1,4 +1,4 @@ -# 第十章。测试、审计和加固 IPCop +# 第十章:测试、审计和加固 IPCop 在本章中,我们将研究对安全和补丁管理的一些常见态度,并讨论在 IPCop 的背景下我们可能如何处理这些主题。我们还将讨论一些常见的安全风险,一些常见的安全和审计工具和测试,并找出下一步该去哪里。 diff --git a/docs/cfg-ipcop-fw/cfg-ipcop-fw_11.md b/docs/cfg-ipcop-fw/cfg-ipcop-fw_11.md index 0f240bf..ce7b2a3 100644 --- a/docs/cfg-ipcop-fw/cfg-ipcop-fw_11.md +++ b/docs/cfg-ipcop-fw/cfg-ipcop-fw_11.md @@ -1,4 +1,4 @@ -# 第十一章。IPCop 支持 +# 第十一章:IPCop 支持 我们现在已经涵盖了 IPCop 的主题,并且意识到了它在我们的网络中的用途,以及 IPCop 是否对我们特定的网络和组织有用。IPCop 的推动力是其开源性质和背后的社区,这一点我们在本书中一直试图强调。 diff --git a/docs/linux-eml/SUMMARY.md b/docs/linux-eml/SUMMARY.md index 1493231..0c3ee09 100644 --- a/docs/linux-eml/SUMMARY.md +++ b/docs/linux-eml/SUMMARY.md @@ -1,11 +1,11 @@ + [前言](linux-eml_00.md) -+ [第一章。Linux 和电子邮件基础知识](linux-eml_01.md) -+ [第二章。设置 Postfix](linux-eml_02.md) -+ [第三章。使用 POP 和 IMAP 接收邮件](linux-eml_03.md) -+ [第四章。提供 Webmail 访问](linux-eml_04.md) -+ [第五章。保护您的安装](linux-eml_05.md) -+ [第六章。开始使用 Procmail](linux-eml_06.md) -+ [第七章。高级 Procmail](linux-eml_07.md) -+ [第八章。使用 SpamAssassin 打击垃圾邮件](linux-eml_08.md) -+ [第九章。防病毒保护](linux-eml_09.md) -+ [第十章。备份您的系统](linux-eml_10.md) \ No newline at end of file ++ [第一章:Linux 和电子邮件基础知识](linux-eml_01.md) ++ [第二章:设置 Postfix](linux-eml_02.md) ++ [第三章:使用 POP 和 IMAP 接收邮件](linux-eml_03.md) ++ [第四章:提供 Webmail 访问](linux-eml_04.md) ++ [第五章:保护您的安装](linux-eml_05.md) ++ [第六章:开始使用 Procmail](linux-eml_06.md) ++ [第七章:高级 Procmail](linux-eml_07.md) ++ [第八章:使用 SpamAssassin 打击垃圾邮件](linux-eml_08.md) ++ [第九章:防病毒保护](linux-eml_09.md) ++ [第十章:备份您的系统](linux-eml_10.md) \ No newline at end of file diff --git a/docs/linux-eml/linux-eml_01.md b/docs/linux-eml/linux-eml_01.md index c61654e..594a0a2 100644 --- a/docs/linux-eml/linux-eml_01.md +++ b/docs/linux-eml/linux-eml_01.md @@ -1,4 +1,4 @@ -# 第一章。Linux 和电子邮件基础知识 +# 第一章:Linux 和电子邮件基础知识 如果你是成千上万的系统管理员之一,负责管理中小型公司的网络和计算机,并且正在考虑托管自己的电子邮件服务,那么这本书就是为你准备的。 diff --git a/docs/linux-eml/linux-eml_02.md b/docs/linux-eml/linux-eml_02.md index a92300d..74fb0ad 100644 --- a/docs/linux-eml/linux-eml_02.md +++ b/docs/linux-eml/linux-eml_02.md @@ -1,4 +1,4 @@ -# 第二章。设置 Postfix +# 第二章:设置 Postfix **邮件传输代理**(**MTA**)可能是邮件系统中最重要的部分。它负责接收来自互联网或您自己用户的消息,并尽其所能确保消息到达其目的地——其他邮件服务器或您用户的邮箱。 diff --git a/docs/linux-eml/linux-eml_03.md b/docs/linux-eml/linux-eml_03.md index 1c64805..12b138a 100644 --- a/docs/linux-eml/linux-eml_03.md +++ b/docs/linux-eml/linux-eml_03.md @@ -1,4 +1,4 @@ -# 第三章。使用 POP 和 IMAP 接收邮件 +# 第三章:使用 POP 和 IMAP 接收邮件 现在您有一个运行的电子邮件服务器,下一阶段是让用户访问他们的电子邮件。在本章中,您将学习以下内容: diff --git a/docs/linux-eml/linux-eml_04.md b/docs/linux-eml/linux-eml_04.md index b22493b..f1c6c7f 100644 --- a/docs/linux-eml/linux-eml_04.md +++ b/docs/linux-eml/linux-eml_04.md @@ -1,4 +1,4 @@ -# 第四章。提供 Webmail 访问 +# 第四章:提供 Webmail 访问 您在之前的章节中学习了如何设置和配置电子邮件服务器。现在您的电子邮件服务器已经准备好服务了,您的用户将如何访问它?在本章中,您将学习以下内容: diff --git a/docs/linux-eml/linux-eml_05.md b/docs/linux-eml/linux-eml_05.md index f54852c..005b179 100644 --- a/docs/linux-eml/linux-eml_05.md +++ b/docs/linux-eml/linux-eml_05.md @@ -1,4 +1,4 @@ -# 第五章。保护您的安装 +# 第五章:保护您的安装 对于您的 SMTP 服务器可能发生的所有事情,最糟糕的可能就是它被滥用为开放中继-一个未经您许可就向第三方中继邮件的服务器。 这将消耗大量带宽(可能会很昂贵),耗尽服务器资源(可能会减慢或停止其他服务),并且在时间和金钱上都可能很昂贵。 更严重的后果是,您的电子邮件服务器很可能最终会出现在一个或多个黑名单上,任何引用这些列表的电子邮件服务器都将拒绝接受来自您的服务器的任何邮件,直到您证明它是中继安全的。 如果您需要使用电子邮件来开展业务,您将面临一个大问题。 diff --git a/docs/linux-eml/linux-eml_06.md b/docs/linux-eml/linux-eml_06.md index 7328db8..7df0ba7 100644 --- a/docs/linux-eml/linux-eml_06.md +++ b/docs/linux-eml/linux-eml_06.md @@ -1,4 +1,4 @@ -# 第六章。开始使用 Procmail +# 第六章:开始使用 Procmail Procmail 是一种多功能的电子邮件过滤器,通常用于在将消息传递到用户收件箱之前处理消息。 diff --git a/docs/linux-eml/linux-eml_07.md b/docs/linux-eml/linux-eml_07.md index 5642972..02e1375 100644 --- a/docs/linux-eml/linux-eml_07.md +++ b/docs/linux-eml/linux-eml_07.md @@ -1,4 +1,4 @@ -# 第七章。高级 Procmail +# 第七章:高级 Procmail 现在我们已经掌握了 Procmail 的基础知识,我们可以继续开始组建一个更完整的邮件处理系统。本章中的高级技术只有在您需要非常专业的邮件处理时才需要,并且不需要为设置基本电子邮件服务器而需要。您可能希望跳过本章,在服务器完全配置和运行后再返回。 diff --git a/docs/linux-eml/linux-eml_08.md b/docs/linux-eml/linux-eml_08.md index 90b625c..5d892dc 100644 --- a/docs/linux-eml/linux-eml_08.md +++ b/docs/linux-eml/linux-eml_08.md @@ -1,4 +1,4 @@ -# 第八章。使用 SpamAssassin 打击垃圾邮件 +# 第八章:使用 SpamAssassin 打击垃圾邮件 垃圾邮件,或者有时被称为不受欢迎的商业电子邮件(UCE),是互联网的祸害。在过去的十年里,垃圾邮件不断增加,现在占据了超过一半的互联网带宽。六分之一的消费者已经对垃圾邮件采取了行动,因此有充分的商业理由将垃圾邮件从用户的收件箱中清除出去。有各种不同的垃圾邮件解决方案,从完全外包您的垃圾邮件到完全不采取任何行动。然而,如果您有自己的电子邮件服务器,您可以非常容易地添加垃圾邮件过滤。 diff --git a/docs/linux-eml/linux-eml_09.md b/docs/linux-eml/linux-eml_09.md index 8c8ad6f..19b00f4 100644 --- a/docs/linux-eml/linux-eml_09.md +++ b/docs/linux-eml/linux-eml_09.md @@ -1,4 +1,4 @@ -# 第九章。防病毒保护 +# 第九章:防病毒保护 一种普遍的观点是 Linux 不容易受到病毒攻击,那么为什么要安装防病毒解决方案?虽然 Linux 确实很少受到病毒攻击,但主要目标不是保护邮件服务器免受感染,而是减少或消除对接收者的任何风险。您的组织可能有运行 Windows 的客户端 PC,容易受到病毒攻击,或者您可能收到带有病毒的电子邮件,您可能会将其转发给客户或商业伙伴。 diff --git a/docs/linux-eml/linux-eml_10.md b/docs/linux-eml/linux-eml_10.md index 13161c8..62cd127 100644 --- a/docs/linux-eml/linux-eml_10.md +++ b/docs/linux-eml/linux-eml_10.md @@ -1,4 +1,4 @@ -# 第十章。备份您的系统 +# 第十章:备份您的系统 为了从重大硬件或软件故障中的灾难性服务丢失中恢复,绝对必须有备份。备份应该让您恢复软件(或者软件的配置)和其他需要重新建立服务的数据。这包括用户的邮件,系统的邮件队列以及它们的认证数据等。 diff --git a/docs/linux-net-prof/SUMMARY.md b/docs/linux-net-prof/SUMMARY.md index feba2fc..afa781b 100644 --- a/docs/linux-net-prof/SUMMARY.md +++ b/docs/linux-net-prof/SUMMARY.md @@ -1,19 +1,19 @@ + [前言](linux-net-prof_00.md) + [第一部分:Linux 基础](linux-net-prof_01.md) -+ [第一章:*第一章*:欢迎来到 Linux 大家庭](linux-net-prof_02.md) -+ [第二章:*第二章*:基本 Linux 网络配置和操作-处理本地接口](linux-net-prof_03.md) ++ [第一章:欢迎来到 Linux 大家庭](linux-net-prof_02.md) ++ [第二章:基本 Linux 网络配置和操作-处理本地接口](linux-net-prof_03.md) + [第二部分:Linux 作为网络节点和故障排除平台](linux-net-prof_04.md) -+ [第三章:*第三章*:使用 Linux 和 Linux 工具进行网络诊断](linux-net-prof_05.md) -+ [第四章:*第四章*:Linux 防火墙](linux-net-prof_06.md) -+ [第五章:*第五章*:具有实际示例的 Linux 安全标准](linux-net-prof_07.md) ++ [第三章:使用 Linux 和 Linux 工具进行网络诊断](linux-net-prof_05.md) ++ [第四章:Linux 防火墙](linux-net-prof_06.md) ++ [第五章:具有实际示例的 Linux 安全标准](linux-net-prof_07.md) + [第三部分:Linux 网络服务](linux-net-prof_08.md) -+ [第六章:*第六章*:Linux 上的 DNS 服务](linux-net-prof_09.md) -+ [第七章:*第七章*:Linux 上的 DHCP 服务](linux-net-prof_10.md) -+ [第八章:*第八章*:Linux 上的证书服务](linux-net-prof_11.md) -+ [第九章:*第九章*:Linux 的 RADIUS 服务](linux-net-prof_12.md) -+ [第十章:*第十章*:Linux 负载均衡器服务](linux-net-prof_13.md) -+ [第十一章:*第十一章*:Linux 中的数据包捕获和分析](linux-net-prof_14.md) -+ [第十二章:*第十二章*:使用 Linux 进行网络监控](linux-net-prof_15.md) -+ [第十三章:*第十三章*:Linux 上的入侵防范系统](linux-net-prof_16.md) -+ [第十四章:*第十四章*:Linux 上的蜜罐服务](linux-net-prof_17.md) ++ [第六章:Linux 上的 DNS 服务](linux-net-prof_09.md) ++ [第七章:Linux 上的 DHCP 服务](linux-net-prof_10.md) ++ [第八章:Linux 上的证书服务](linux-net-prof_11.md) ++ [第九章:Linux 的 RADIUS 服务](linux-net-prof_12.md) ++ [第十章:Linux 负载均衡器服务](linux-net-prof_13.md) ++ [第十一章:Linux 中的数据包捕获和分析](linux-net-prof_14.md) ++ [第十二章:使用 Linux 进行网络监控](linux-net-prof_15.md) ++ [第十三章:Linux 上的入侵防范系统](linux-net-prof_16.md) ++ [第十四章:Linux 上的蜜罐服务](linux-net-prof_17.md) + [第十五章:评估](linux-net-prof_18.md) \ No newline at end of file diff --git a/docs/linux-net-prof/linux-net-prof_02.md b/docs/linux-net-prof/linux-net-prof_02.md index 6a3ed7c..b456ef3 100644 --- a/docs/linux-net-prof/linux-net-prof_02.md +++ b/docs/linux-net-prof/linux-net-prof_02.md @@ -1,4 +1,4 @@ -# 第一章:*第一章*:欢迎来到 Linux 大家庭 +# 第一章:欢迎来到 Linux 大家庭 本书探讨了 Linux 平台和各种基于 Linux 的操作系统-特别是 Linux 如何在网络服务方面发挥作用。我们将首先讨论操作系统的一些历史,然后再看其基本配置和故障排除。从那里开始,我们将通过在 Linux 上构建各种网络相关服务来工作,这些服务在大多数组织中可能经常看到。随着我们的进展,我们将在真实的主机上构建真实的服务,并着重于在进行每项服务时保护和故障排除。到我们完成时,您应该对这些服务中的每一个都足够熟悉,以便在您自己的组织中开始实施其中一些或全部服务。正如他们所说,“每个旅程都始于一步”,所以让我们迈出这一步,从对 Linux 平台的一般讨论开始。 diff --git a/docs/linux-net-prof/linux-net-prof_03.md b/docs/linux-net-prof/linux-net-prof_03.md index 572e2b9..304a048 100644 --- a/docs/linux-net-prof/linux-net-prof_03.md +++ b/docs/linux-net-prof/linux-net-prof_03.md @@ -1,4 +1,4 @@ -# 第二章:*第二章*:基本 Linux 网络配置和操作-处理本地接口 +# 第二章:基本 Linux 网络配置和操作-处理本地接口 在本章中,我们将探讨如何在 Linux 主机上显示和配置本地接口和路由。尽可能地,我们将讨论执行这些操作的新旧命令。这将包括显示和修改 IP 地址、本地路由和其他接口参数。在此过程中,我们将讨论如何使用二进制方法构建 IP 地址和子网地址。 diff --git a/docs/linux-net-prof/linux-net-prof_05.md b/docs/linux-net-prof/linux-net-prof_05.md index c1e1af0..1799bd3 100644 --- a/docs/linux-net-prof/linux-net-prof_05.md +++ b/docs/linux-net-prof/linux-net-prof_05.md @@ -1,4 +1,4 @@ -# 第三章:*第三章*:使用 Linux 和 Linux 工具进行网络诊断 +# 第三章:使用 Linux 和 Linux 工具进行网络诊断 在本章中,我们将介绍一些“工作原理”网络基础知识,以及如何在我们的 Linux 工作站中进行网络故障排除。完成本章后,您应该具备故障排除本地和远程网络服务以及“清点”网络及其服务的工具。 diff --git a/docs/linux-net-prof/linux-net-prof_06.md b/docs/linux-net-prof/linux-net-prof_06.md index baade24..49102b5 100644 --- a/docs/linux-net-prof/linux-net-prof_06.md +++ b/docs/linux-net-prof/linux-net-prof_06.md @@ -1,4 +1,4 @@ -# 第四章:*第四章*:Linux 防火墙 +# 第四章:Linux 防火墙 Linux 几乎一直都有集成的防火墙可供管理员使用。使用本机防火墙工具,您可以创建传统的周边防火墙,包括地址转换或代理服务器。然而,在现代数据中心,这些并不是典型的用例。现代基础设施中主机防火墙的典型用例如下: diff --git a/docs/linux-net-prof/linux-net-prof_07.md b/docs/linux-net-prof/linux-net-prof_07.md index fbecc78..809fe94 100644 --- a/docs/linux-net-prof/linux-net-prof_07.md +++ b/docs/linux-net-prof/linux-net-prof_07.md @@ -1,4 +1,4 @@ -# 第五章:*第五章*:具有实际示例的 Linux 安全标准 +# 第五章:具有实际示例的 Linux 安全标准 在本章中,我们将探讨为什么 Linux 主机,就像任何主机一样,在初始安装后需要一些关怀 - 事实上,在它们的整个生命周期中 - 以进一步加固它们。在此过程中,我们将涵盖各种主题,以建立加固 Linux 主机的最终“大局”。 diff --git a/docs/linux-net-prof/linux-net-prof_09.md b/docs/linux-net-prof/linux-net-prof_09.md index e9b5d6d..5373f1a 100644 --- a/docs/linux-net-prof/linux-net-prof_09.md +++ b/docs/linux-net-prof/linux-net-prof_09.md @@ -1,4 +1,4 @@ -# 第六章:*第六章*:Linux 上的 DNS 服务 +# 第六章:Linux 上的 DNS 服务 **域名系统**(**DNS**)是当今信息社会的重要基础。技术社区中使用的一句谚语(以俳句格式表达)如下所示: diff --git a/docs/linux-net-prof/linux-net-prof_10.md b/docs/linux-net-prof/linux-net-prof_10.md index 60d53be..e103e2f 100644 --- a/docs/linux-net-prof/linux-net-prof_10.md +++ b/docs/linux-net-prof/linux-net-prof_10.md @@ -1,4 +1,4 @@ -# 第七章:*第七章*:Linux 上的 DHCP 服务 +# 第七章:Linux 上的 DHCP 服务 在本章中,我们将涵盖几个涉及**动态主机控制协议(DHCP**)的主题。顾名思义,DHCP 用于提供主机连接到网络所需的基本信息,并在某些情况下提供其他配置的位置,这使其成为大多数基础设施的关键部分。 diff --git a/docs/linux-net-prof/linux-net-prof_11.md b/docs/linux-net-prof/linux-net-prof_11.md index 0351820..a6977a7 100644 --- a/docs/linux-net-prof/linux-net-prof_11.md +++ b/docs/linux-net-prof/linux-net-prof_11.md @@ -1,4 +1,4 @@ -# 第八章:*第八章*:Linux 上的证书服务 +# 第八章:Linux 上的证书服务 在本章中,我们将涵盖几个涉及在 Linux 中使用证书来保护或加密流量,并特别是配置和使用各种**证书颁发机构**(**CA**)服务器的主题。 diff --git a/docs/linux-net-prof/linux-net-prof_12.md b/docs/linux-net-prof/linux-net-prof_12.md index ba33ce0..cf5c758 100644 --- a/docs/linux-net-prof/linux-net-prof_12.md +++ b/docs/linux-net-prof/linux-net-prof_12.md @@ -1,4 +1,4 @@ -# 第九章:*第九章*:Linux 的 RADIUS 服务 +# 第九章:Linux 的 RADIUS 服务 在本章中,我们将介绍远程身份验证拨入用户服务(RADIUS),这是在网络上验证服务的主要方法之一。我们将在服务器上实现 FreeRADIUS,将其链接到后端轻量级目录访问协议(LDAP)/安全 LDAP(LDAPS)目录,并使用它来验证对网络上各种服务的访问。 diff --git a/docs/linux-net-prof/linux-net-prof_13.md b/docs/linux-net-prof/linux-net-prof_13.md index 14d1ede..7c62785 100644 --- a/docs/linux-net-prof/linux-net-prof_13.md +++ b/docs/linux-net-prof/linux-net-prof_13.md @@ -1,4 +1,4 @@ -# 第十章:*第十章*:Linux 负载均衡器服务 +# 第十章:Linux 负载均衡器服务 在本章中,我们将讨论适用于 Linux 的负载均衡器服务,具体来说是 HAProxy。负载均衡器允许客户端工作负载分布到多个后端服务器。这允许单个 IP 扩展到比单个服务器更大,并且在服务器故障或维护窗口的情况下也允许冗余。 diff --git a/docs/linux-net-prof/linux-net-prof_14.md b/docs/linux-net-prof/linux-net-prof_14.md index 133bf74..e885a1b 100644 --- a/docs/linux-net-prof/linux-net-prof_14.md +++ b/docs/linux-net-prof/linux-net-prof_14.md @@ -1,4 +1,4 @@ -# 第十一章:*第十一章*:Linux 中的数据包捕获和分析 +# 第十一章:Linux 中的数据包捕获和分析 在本章中,我们将讨论在 Linux 中使用数据包捕获。在许多方面,数据包是数据中心中最接近*真相*的东西;经常引用的谚语是*数据包不会说谎*。无论主机或防火墙上存在什么样的策略或复杂的配置,主机和应用程序数据包始终会反映发生的情况。这使得数据包捕获,更重要的是对这些数据包进行分析成为网络管理员工具箱中的关键问题解决和故障排除技能。 diff --git a/docs/linux-net-prof/linux-net-prof_15.md b/docs/linux-net-prof/linux-net-prof_15.md index bb4ebd5..00d6d28 100644 --- a/docs/linux-net-prof/linux-net-prof_15.md +++ b/docs/linux-net-prof/linux-net-prof_15.md @@ -1,4 +1,4 @@ -# 第十二章:*第十二章*:使用 Linux 进行网络监控 +# 第十二章:使用 Linux 进行网络监控 在本章中,我们将讨论各种网络监控和管理协议、工具和方法。我们将介绍使用 syslog 进行日志记录,它可以用于记录各种主机上感兴趣的事件。这将扩展到基于云的 syslog 事件收集,允许你总结防火墙流量并将你的流量模式与互联网上的流量进行比较。 diff --git a/docs/linux-net-prof/linux-net-prof_16.md b/docs/linux-net-prof/linux-net-prof_16.md index 6202456..99d8640 100644 --- a/docs/linux-net-prof/linux-net-prof_16.md +++ b/docs/linux-net-prof/linux-net-prof_16.md @@ -1,4 +1,4 @@ -# 第十三章:*第十三章*:Linux 上的入侵防范系统 +# 第十三章:Linux 上的入侵防范系统 在本章中,我们将在数据包捕获和日志记录的基础上,探讨 Linux 平台上的入侵防范选项。**入侵防范系统**(**IPS**)确切地做了它听起来的事情-它监视流量,并且要么警报要么阻止可疑或已知的恶意流量。这可以通过各种方式来实现,具体取决于您要监视的流量。 diff --git a/docs/linux-net-prof/linux-net-prof_17.md b/docs/linux-net-prof/linux-net-prof_17.md index e345d54..7385beb 100644 --- a/docs/linux-net-prof/linux-net-prof_17.md +++ b/docs/linux-net-prof/linux-net-prof_17.md @@ -1,4 +1,4 @@ -# 第十四章:*第十四章*:Linux 上的蜜罐服务 +# 第十四章:Linux 上的蜜罐服务 在本章中,我们将讨论蜜罐 - 您可以部署以收集攻击者活动的虚假服务,其误报率几乎为零。我们将讨论各种架构和放置选项,以及部署蜜罐的风险。还将讨论几种不同的蜜罐架构。本章应该让您开始实施各种网络上的“欺骗”方法,以分散和延迟攻击者,并提供几乎没有误报的攻击者活动的高保真日志。 diff --git a/docs/linux-sh-scp-bc/linux-sh-scp-bc_01.md b/docs/linux-sh-scp-bc/linux-sh-scp-bc_01.md index 6338962..3bf0f6b 100644 --- a/docs/linux-sh-scp-bc/linux-sh-scp-bc_01.md +++ b/docs/linux-sh-scp-bc/linux-sh-scp-bc_01.md @@ -1,4 +1,4 @@ -# 第一章。开始使用 Shell 脚本 +# 第一章:开始使用 Shell 脚本 本章是关于 shell 脚本的简要介绍。它将假定读者对脚本基础知识大多熟悉,并将作为复习。 diff --git a/docs/linux-sh-scp-bc/linux-sh-scp-bc_02.md b/docs/linux-sh-scp-bc/linux-sh-scp-bc_02.md index ff4f49c..523c242 100644 --- a/docs/linux-sh-scp-bc/linux-sh-scp-bc_02.md +++ b/docs/linux-sh-scp-bc/linux-sh-scp-bc_02.md @@ -1,4 +1,4 @@ -# 第二章。使用变量 +# 第二章:使用变量 本章将展示变量在 Linux 系统和脚本中的使用方式。 diff --git a/docs/linux-sh-scp-bc/linux-sh-scp-bc_03.md b/docs/linux-sh-scp-bc/linux-sh-scp-bc_03.md index a9d3f4f..d14240f 100644 --- a/docs/linux-sh-scp-bc/linux-sh-scp-bc_03.md +++ b/docs/linux-sh-scp-bc/linux-sh-scp-bc_03.md @@ -1,4 +1,4 @@ -# 第三章。使用循环和 sleep 命令 +# 第三章:使用循环和 sleep 命令 本章展示了如何使用循环执行迭代操作。它还展示了如何在脚本中创建延迟。读者将学习如何在脚本中使用循环和`sleep`命令。 diff --git a/docs/linux-sh-scp-bc/linux-sh-scp-bc_04.md b/docs/linux-sh-scp-bc/linux-sh-scp-bc_04.md index 1bd098c..809f420 100644 --- a/docs/linux-sh-scp-bc/linux-sh-scp-bc_04.md +++ b/docs/linux-sh-scp-bc/linux-sh-scp-bc_04.md @@ -1,4 +1,4 @@ -# 第四章。创建和调用子程序 +# 第四章:创建和调用子程序 本章介绍了如何在脚本中创建和调用子程序。 diff --git a/docs/linux-sh-scp-bc/linux-sh-scp-bc_05.md b/docs/linux-sh-scp-bc/linux-sh-scp-bc_05.md index 81285f3..3a3ea23 100644 --- a/docs/linux-sh-scp-bc/linux-sh-scp-bc_05.md +++ b/docs/linux-sh-scp-bc/linux-sh-scp-bc_05.md @@ -1,4 +1,4 @@ -# 第五章。创建交互式脚本 +# 第五章:创建交互式脚本 本章展示了如何读取键盘以创建交互式脚本。 diff --git a/docs/linux-sh-scp-bc/linux-sh-scp-bc_06.md b/docs/linux-sh-scp-bc/linux-sh-scp-bc_06.md index e85ec01..c586239 100644 --- a/docs/linux-sh-scp-bc/linux-sh-scp-bc_06.md +++ b/docs/linux-sh-scp-bc/linux-sh-scp-bc_06.md @@ -1,4 +1,4 @@ -# 第六章。使用脚本自动化任务 +# 第六章:使用脚本自动化任务 本章介绍了如何使用脚本自动化各种任务。 diff --git a/docs/linux-sh-scp-bc/linux-sh-scp-bc_07.md b/docs/linux-sh-scp-bc/linux-sh-scp-bc_07.md index ef19913..8b47ade 100644 --- a/docs/linux-sh-scp-bc/linux-sh-scp-bc_07.md +++ b/docs/linux-sh-scp-bc/linux-sh-scp-bc_07.md @@ -1,4 +1,4 @@ -# 第七章-文件操作 +# 第七章:文件操作 本章将展示如何从文本文件中读取和写入。它还将涵盖文件加密和校验和。 diff --git a/docs/linux-sh-scp-bc/linux-sh-scp-bc_08.md b/docs/linux-sh-scp-bc/linux-sh-scp-bc_08.md index ff3d33d..758f717 100644 --- a/docs/linux-sh-scp-bc/linux-sh-scp-bc_08.md +++ b/docs/linux-sh-scp-bc/linux-sh-scp-bc_08.md @@ -1,4 +1,4 @@ -# 第八章。使用 wget 和 curl +# 第八章:使用 wget 和 curl 本章将展示如何使用`wget`和`curl`直接从互联网上收集信息。 diff --git a/docs/linux-sh-scp-bc/linux-sh-scp-bc_09.md b/docs/linux-sh-scp-bc/linux-sh-scp-bc_09.md index c8599d7..1cbc648 100644 --- a/docs/linux-sh-scp-bc/linux-sh-scp-bc_09.md +++ b/docs/linux-sh-scp-bc/linux-sh-scp-bc_09.md @@ -1,4 +1,4 @@ -# 第九章。调试脚本 +# 第九章:调试脚本 本章介绍了如何调试 Bash shell 脚本。 diff --git a/docs/linux-sh-scp-bc/linux-sh-scp-bc_10.md b/docs/linux-sh-scp-bc/linux-sh-scp-bc_10.md index ae49744..87423fe 100644 --- a/docs/linux-sh-scp-bc/linux-sh-scp-bc_10.md +++ b/docs/linux-sh-scp-bc/linux-sh-scp-bc_10.md @@ -1,4 +1,4 @@ -# 第十章。脚本最佳实践 +# 第十章:脚本最佳实践 本章解释了一些实践和技术,这些实践和技术将帮助读者成为更好、更高效的程序员。 diff --git a/docs/linux-sh-scp-cb/linux-sh-scp-cb_01.md b/docs/linux-sh-scp-cb/linux-sh-scp-cb_01.md index 152a080..8a74571 100644 --- a/docs/linux-sh-scp-cb/linux-sh-scp-cb_01.md +++ b/docs/linux-sh-scp-cb/linux-sh-scp-cb_01.md @@ -1,4 +1,4 @@ -# 第一章。外壳某事 +# 第一章:外壳某事 在本章中,我们将涵盖: diff --git a/docs/linux-sh-scp-cb/linux-sh-scp-cb_02.md b/docs/linux-sh-scp-cb/linux-sh-scp-cb_02.md index 5d45f45..883124a 100644 --- a/docs/linux-sh-scp-cb/linux-sh-scp-cb_02.md +++ b/docs/linux-sh-scp-cb/linux-sh-scp-cb_02.md @@ -1,4 +1,4 @@ -# 第二章。拥有一个好的命令 +# 第二章:拥有一个好的命令 在本章中,我们将涵盖: diff --git a/docs/linux-sh-scp-cb/linux-sh-scp-cb_03.md b/docs/linux-sh-scp-cb/linux-sh-scp-cb_03.md index 88a1ad2..77ac89f 100644 --- a/docs/linux-sh-scp-cb/linux-sh-scp-cb_03.md +++ b/docs/linux-sh-scp-cb/linux-sh-scp-cb_03.md @@ -1,4 +1,4 @@ -# 第三章。文件输入,文件输出 +# 第三章:文件输入,文件输出 在本章中,我们将涵盖: diff --git a/docs/linux-sh-scp-cb/linux-sh-scp-cb_04.md b/docs/linux-sh-scp-cb/linux-sh-scp-cb_04.md index cb59bd5..076fb69 100644 --- a/docs/linux-sh-scp-cb/linux-sh-scp-cb_04.md +++ b/docs/linux-sh-scp-cb/linux-sh-scp-cb_04.md @@ -1,4 +1,4 @@ -# 第四章。发短信和开车 +# 第四章:发短信和开车 在这一章中,我们将涵盖: diff --git a/docs/linux-sh-scp-cb/linux-sh-scp-cb_05.md b/docs/linux-sh-scp-cb/linux-sh-scp-cb_05.md index d7bace3..557520c 100644 --- a/docs/linux-sh-scp-cb/linux-sh-scp-cb_05.md +++ b/docs/linux-sh-scp-cb/linux-sh-scp-cb_05.md @@ -1,4 +1,4 @@ -# 第五章。纠缠的网络?一点也不! +# 第五章:纠缠的网络?一点也不! 在本章中,我们将涵盖: diff --git a/docs/linux-sh-scp-cb/linux-sh-scp-cb_06.md b/docs/linux-sh-scp-cb/linux-sh-scp-cb_06.md index 9d87e6e..153aee2 100644 --- a/docs/linux-sh-scp-cb/linux-sh-scp-cb_06.md +++ b/docs/linux-sh-scp-cb/linux-sh-scp-cb_06.md @@ -1,4 +1,4 @@ -# 第六章。备份计划 +# 第六章:备份计划 在本章中,我们将涵盖: diff --git a/docs/linux-sh-scp-cb/linux-sh-scp-cb_07.md b/docs/linux-sh-scp-cb/linux-sh-scp-cb_07.md index b2232d6..aa2c6f0 100644 --- a/docs/linux-sh-scp-cb/linux-sh-scp-cb_07.md +++ b/docs/linux-sh-scp-cb/linux-sh-scp-cb_07.md @@ -1,4 +1,4 @@ -# 第七章。老男孩网络 +# 第七章:老男孩网络 在本章中,我们将涵盖: diff --git a/docs/linux-sh-scp-cb/linux-sh-scp-cb_08.md b/docs/linux-sh-scp-cb/linux-sh-scp-cb_08.md index e416784..0a53b61 100644 --- a/docs/linux-sh-scp-cb/linux-sh-scp-cb_08.md +++ b/docs/linux-sh-scp-cb/linux-sh-scp-cb_08.md @@ -1,4 +1,4 @@ -# 第八章。戴上监视器的帽子 +# 第八章:戴上监视器的帽子 在本章中,我们将涵盖: diff --git a/docs/linux-sh-scp-cb/linux-sh-scp-cb_09.md b/docs/linux-sh-scp-cb/linux-sh-scp-cb_09.md index 482f4bc..059cc60 100644 --- a/docs/linux-sh-scp-cb/linux-sh-scp-cb_09.md +++ b/docs/linux-sh-scp-cb/linux-sh-scp-cb_09.md @@ -1,4 +1,4 @@ -# 第九章。管理调用 +# 第九章:管理调用 在本章中,我们将涵盖: diff --git a/docs/lrn-emb-linux-yocto-pj/lrn-emb-linux-yocto-pj_01.md b/docs/lrn-emb-linux-yocto-pj/lrn-emb-linux-yocto-pj_01.md index 970eba5..ad53cc5 100644 --- a/docs/lrn-emb-linux-yocto-pj/lrn-emb-linux-yocto-pj_01.md +++ b/docs/lrn-emb-linux-yocto-pj/lrn-emb-linux-yocto-pj_01.md @@ -1,4 +1,4 @@ -# 第一章。介绍 +# 第一章:介绍 在本章中,您将了解 Linux 和开源开发的优势。将介绍运行嵌入式 Linux 的系统的示例,许多嵌入式硬件平台都支持。之后,您将介绍嵌入式 Linux 系统的架构和开发环境,最后介绍 Yocto 项目,总结其 Poky 构建系统的属性和目的。 diff --git a/docs/lrn-emb-linux-yocto-pj/lrn-emb-linux-yocto-pj_02.md b/docs/lrn-emb-linux-yocto-pj/lrn-emb-linux-yocto-pj_02.md index fd9edd9..41d13b8 100644 --- a/docs/lrn-emb-linux-yocto-pj/lrn-emb-linux-yocto-pj_02.md +++ b/docs/lrn-emb-linux-yocto-pj/lrn-emb-linux-yocto-pj_02.md @@ -1,4 +1,4 @@ -# 第二章。交叉编译 +# 第二章:交叉编译 在本章中,您将了解工具链,如何使用和自定义它们,以及代码标准如何适用于它们。工具链包含了许多工具,如编译器、链接器、汇编器、调试器和各种杂项实用程序,帮助操纵生成的应用程序二进制文件。在本章中,您将学习如何使用 GNU 工具链,并熟悉其特性。您将看到涉及手动配置的示例,并同时将这些示例移至 Yocto 项目环境。在本章结束时,将进行分析,以确定手动部署工具链和自动部署工具链之间的相似性和差异,以及可用于它的各种使用场景。 diff --git a/docs/lrn-emb-linux-yocto-pj/lrn-emb-linux-yocto-pj_03.md b/docs/lrn-emb-linux-yocto-pj/lrn-emb-linux-yocto-pj_03.md index 634afa1..4443874 100644 --- a/docs/lrn-emb-linux-yocto-pj/lrn-emb-linux-yocto-pj_03.md +++ b/docs/lrn-emb-linux-yocto-pj/lrn-emb-linux-yocto-pj_03.md @@ -1,4 +1,4 @@ -# 第三章。引导加载程序 +# 第三章:引导加载程序 在本章中,将介绍在嵌入式环境中使用 Linux 系统所必需的最重要的组件之一。我指的是引导加载程序,它是一种软件,可以初始化平台并使其准备好引导 Linux 操作系统。本章将介绍引导加载程序的好处和作用。本章主要关注 U-Boot 引导加载程序,但鼓励读者也了解其他引导加载程序,如 Barebox、RedBoot 等。所有这些引导加载程序都有各自的特点,没有一种特别适合所有需求;因此,在本章中欢迎进行实验和探索。 diff --git a/docs/lrn-emb-linux-yocto-pj/lrn-emb-linux-yocto-pj_04.md b/docs/lrn-emb-linux-yocto-pj/lrn-emb-linux-yocto-pj_04.md index f89a69f..ce6ff37 100644 --- a/docs/lrn-emb-linux-yocto-pj/lrn-emb-linux-yocto-pj_04.md +++ b/docs/lrn-emb-linux-yocto-pj/lrn-emb-linux-yocto-pj_04.md @@ -1,4 +1,4 @@ -# 第四章。Linux 内核 +# 第四章:Linux 内核 在本章中,您不仅将了解有关 Linux 内核的一般信息,还将了解有关它的具体信息。本章将从 Linux 的历史和作用的简要介绍开始,然后继续解释其各种特性。不会省略与 Linux 内核源代码交互的步骤。您将了解到获取 Linux 内核映像的步骤,以及新**ARM 机器**的移植意味着什么,以及在一般情况下使用调试各种问题的方法。最后,将切换到 Yocto 项目,展示如何为给定的机器构建 Linux 内核,以及如何集成和稍后从根文件系统映像中使用外部模块。 diff --git a/docs/lrn-emb-linux-yocto-pj/lrn-emb-linux-yocto-pj_05.md b/docs/lrn-emb-linux-yocto-pj/lrn-emb-linux-yocto-pj_05.md index 6f1c0ae..a421c1e 100644 --- a/docs/lrn-emb-linux-yocto-pj/lrn-emb-linux-yocto-pj_05.md +++ b/docs/lrn-emb-linux-yocto-pj/lrn-emb-linux-yocto-pj_05.md @@ -1,4 +1,4 @@ -# 第五章。Linux 根文件系统 +# 第五章:Linux 根文件系统 在本章中,您将了解根文件系统及其结构。您还将获得有关根文件系统内容、各种设备驱动程序以及与 Linux 内核的通信的信息。我们将逐渐过渡到 Yocto 项目以及用于定义 Linux 根文件系统内容的方法。将提供必要的信息,以确保用户能够根据自己的需求定制`rootfs`文件系统。 diff --git a/docs/lrn-emb-linux-yocto-pj/lrn-emb-linux-yocto-pj_06.md b/docs/lrn-emb-linux-yocto-pj/lrn-emb-linux-yocto-pj_06.md index 2aba87b..6b11424 100644 --- a/docs/lrn-emb-linux-yocto-pj/lrn-emb-linux-yocto-pj_06.md +++ b/docs/lrn-emb-linux-yocto-pj/lrn-emb-linux-yocto-pj_06.md @@ -1,4 +1,4 @@ -# 第六章。Yocto 项目的组件 +# 第六章:Yocto 项目的组件 在本章中,您将简要介绍 Yocto 项目生态系统中的一些组件。本章的目的是介绍它们,以便在后续章节中更详细地介绍它们。它还试图引导读者进行额外阅读。对于每个工具、功能或有趣的事实,都提供了链接,以帮助感兴趣的读者寻找本书中的问题以及本章未涵盖的问题的答案。 diff --git a/docs/lrn-emb-linux-yocto-pj/lrn-emb-linux-yocto-pj_07.md b/docs/lrn-emb-linux-yocto-pj/lrn-emb-linux-yocto-pj_07.md index 54932e6..a76d913 100644 --- a/docs/lrn-emb-linux-yocto-pj/lrn-emb-linux-yocto-pj_07.md +++ b/docs/lrn-emb-linux-yocto-pj/lrn-emb-linux-yocto-pj_07.md @@ -1,4 +1,4 @@ -# 第七章。ADT Eclipse 插件 +# 第七章:ADT Eclipse 插件 在本章中,您将看到 Yocto 项目中可用工具的新视角。本章标志着对 Yocto 项目生态系统中各种工具的介绍的开始,这些工具非常有用,并且与 Poky 参考系统不同。在本章中,将简要介绍**应用开发环境**(**ADE**)并强调 Eclipse 项目和 Yocto 项目的附加插件。展示了一些插件以及它们的配置和用例。 diff --git a/docs/lrn-emb-linux-yocto-pj/lrn-emb-linux-yocto-pj_08.md b/docs/lrn-emb-linux-yocto-pj/lrn-emb-linux-yocto-pj_08.md index d7038b1..eede8e0 100644 --- a/docs/lrn-emb-linux-yocto-pj/lrn-emb-linux-yocto-pj_08.md +++ b/docs/lrn-emb-linux-yocto-pj/lrn-emb-linux-yocto-pj_08.md @@ -1,4 +1,4 @@ -# 第八章。Hob,Toaster 和 Autobuilder +# 第八章:Hob,Toaster 和 Autobuilder 在本章中,您将被介绍 Yocto 社区中使用的新工具和组件。正如标题所示,本章专门介绍另一类工具。我将从 Hob 作为图形界面开始,它正在逐渐消失,并将被一个名为 Toaster 的新网络界面所取代。本章还将介绍一个新的讨论点。在这里,我指的是 QA 和测试组件,在大多数情况下,它是缺失或不足的。Yocto 非常重视这个问题,并为其提供了解决方案。这个解决方案将在本章的最后一节中介绍。 diff --git a/docs/lrn-emb-linux-yocto-pj/lrn-emb-linux-yocto-pj_09.md b/docs/lrn-emb-linux-yocto-pj/lrn-emb-linux-yocto-pj_09.md index 15b24d1..70dea77 100644 --- a/docs/lrn-emb-linux-yocto-pj/lrn-emb-linux-yocto-pj_09.md +++ b/docs/lrn-emb-linux-yocto-pj/lrn-emb-linux-yocto-pj_09.md @@ -1,4 +1,4 @@ -# 第九章 Wic 和其他工具 +# 第九章:Wic 和其他工具 在本章中,将简要介绍一些解决各种问题并以巧妙方式解决它们的工具。这一章可以被认为是为你准备的开胃菜。如果这里介绍的任何工具似乎引起了你的兴趣,我鼓励你满足你的好奇心,尝试找到更多关于那个特定工具的信息。当然,这条建议适用于本书中提供的任何信息。然而,这条建议特别适用于本章,因为我选择了对我介绍的工具进行更一般的描述。我这样做是因为我假设你们中的一些人可能对冗长的描述不感兴趣,而只想把兴趣集中在开发过程中,而不是其他领域。对于其他对了解更多其他关键领域感兴趣的人,请随意浏览本章中提供的信息扩展。 diff --git a/docs/lrn-emb-linux-yocto-pj/lrn-emb-linux-yocto-pj_10.md b/docs/lrn-emb-linux-yocto-pj/lrn-emb-linux-yocto-pj_10.md index ce461a1..2cca20b 100644 --- a/docs/lrn-emb-linux-yocto-pj/lrn-emb-linux-yocto-pj_10.md +++ b/docs/lrn-emb-linux-yocto-pj/lrn-emb-linux-yocto-pj_10.md @@ -1,4 +1,4 @@ -# 第十章。实时 +# 第十章:实时 在本章中,您将了解 Yocto 项目的实时组件的信息。此外,在相同的背景下,将解释操作系统和实时操作系统的通用目的的简要讨论。然后我们将转向 PREEMPT_RT 补丁,试图将正常的 Linux 变成一个功能强大的实时操作系统;我们将尝试从更多角度来看待它,并最终总结并得出结论。这还不是全部,任何实时操作都需要其应用程序,因此还将简要介绍适用于实时操作系统背景下的应用程序编写的注意事项。记住所有这些,我相信现在是时候继续本章内容了;希望您喜欢。 diff --git a/docs/lrn-emb-linux-yocto-pj/lrn-emb-linux-yocto-pj_11.md b/docs/lrn-emb-linux-yocto-pj/lrn-emb-linux-yocto-pj_11.md index 77e9e35..0d7da10 100644 --- a/docs/lrn-emb-linux-yocto-pj/lrn-emb-linux-yocto-pj_11.md +++ b/docs/lrn-emb-linux-yocto-pj/lrn-emb-linux-yocto-pj_11.md @@ -1,4 +1,4 @@ -# 第十一章 安全 +# 第十一章:安全 在本章中,您将了解各种安全增强工具。我们首先来到 Linux 内核,在这里,有两个工具,SELinux 和 grsecurity,这两个工具都非常有趣,也非常必要。接下来,将解释 Yocto 项目的安全特定层。这包括包含大量工具的 meta-security 和 meta-selinux,可用于保护或审计 Linux 系统的各个组件。由于这个主题很广泛,我还会让您检查各种其他解决方案,既在 Linux 内核中实施,也在外部实施。希望您喜欢本章,并且觉得这些信息有趣且有用。 diff --git a/docs/lrn-emb-linux-yocto-pj/lrn-emb-linux-yocto-pj_12.md b/docs/lrn-emb-linux-yocto-pj/lrn-emb-linux-yocto-pj_12.md index 0fdd447..9a14399 100644 --- a/docs/lrn-emb-linux-yocto-pj/lrn-emb-linux-yocto-pj_12.md +++ b/docs/lrn-emb-linux-yocto-pj/lrn-emb-linux-yocto-pj_12.md @@ -1,4 +1,4 @@ -# 第十二章。虚拟化 +# 第十二章:虚拟化 在本章中,您将了解到 Linux 虚拟化部分出现的各种概念。正如一些人可能知道的那样,这个主题非常广泛,仅选择一些组件进行解释也是一个挑战。我希望我的决定能够让大多数对这个领域感兴趣的人满意。本章提供的信息可能并不适合每个人的需求。因此,我附上了多个链接,以获取更详细的描述和文档。我鼓励您在必要时开始阅读并了解更多。我知道我无法用几句话包含所有必要的信息。 diff --git a/docs/lrn-emb-linux-yocto-pj/lrn-emb-linux-yocto-pj_13.md b/docs/lrn-emb-linux-yocto-pj/lrn-emb-linux-yocto-pj_13.md index 0b67ac6..eb89c27 100644 --- a/docs/lrn-emb-linux-yocto-pj/lrn-emb-linux-yocto-pj_13.md +++ b/docs/lrn-emb-linux-yocto-pj/lrn-emb-linux-yocto-pj_13.md @@ -1,4 +1,4 @@ -# 第十三章。CGL 和 LSB +# 第十三章:CGL 和 LSB 在本章中,您将了解本书最后一个主题的信息,即**Carrier Grade Linux**(**CGL**)和**Linux Standard Base**(**LSB**)倡议,当然还有与 Yocto 项目集成和支持相关的内容。这里也会提到这些标准及其规范的一些信息,以及 Yocto 为它们提供的支持水平。我还将介绍一些与 CGL 相关的倡议,如**Automotive Grade Linux**和**Carrier Grade Virtualization**。它们也构成了一系列可行的解决方案,适用于各种应用。 diff --git a/docs/lrn-linux-bin-anls/lrn-linux-bin-anls_01.md b/docs/lrn-linux-bin-anls/lrn-linux-bin-anls_01.md index 86fd637..91301f3 100644 --- a/docs/lrn-linux-bin-anls/lrn-linux-bin-anls_01.md +++ b/docs/lrn-linux-bin-anls/lrn-linux-bin-anls_01.md @@ -1,4 +1,4 @@ -# 第一章。Linux 环境及其工具 +# 第一章:Linux 环境及其工具 在本章中,我们将重点关注与本书主题相关的 Linux 环境。由于本书专注于 Linux 二进制文件分析,因此利用 Linux 提供的本地环境工具并且每个人都可以访问是有意义的。Linux 已经预装了无处不在的 binutils,但是它们也可以在[`www.gnu.org/software/binutils/`](http://www.gnu.org/software/binutils/)找到。它们包含了大量对二进制文件分析和黑客行为有用的工具。这不是另一本关于使用 IDA Pro 的书。IDA 是无疑是最好的通用软件,用于反向工程二进制文件,我鼓励根据需要使用它,但是在本书中我们不会使用它。相反,您将学会如何在几乎任何 Linux 系统上开始使用已经可访问的环境进行二进制文件的黑客行为。因此,您可以学会欣赏 Linux 作为一个真正的黑客环境,其中有许多免费工具可用。在整本书中,我们将演示各种工具的使用,并随着每一章的进展对如何使用它们进行回顾。然而,让本章作为 Linux 环境中这些工具和技巧的入门或参考。如果您已经非常熟悉 Linux 环境及其用于反汇编、调试和解析 ELF 文件的工具,那么您可以简单地跳过本章。 diff --git a/docs/lrn-linux-bin-anls/lrn-linux-bin-anls_02.md b/docs/lrn-linux-bin-anls/lrn-linux-bin-anls_02.md index 7ca8459..5e43e41 100644 --- a/docs/lrn-linux-bin-anls/lrn-linux-bin-anls_02.md +++ b/docs/lrn-linux-bin-anls/lrn-linux-bin-anls_02.md @@ -1,4 +1,4 @@ -# 第二章。ELF 二进制格式 +# 第二章:ELF 二进制格式 要逆向工程 Linux 二进制文件,您必须了解二进制格式本身。 ELF 已成为 Unix 和类 Unix 操作系统的标准二进制格式。在 Linux、BSD 变体和其他操作系统中,ELF 格式用于可执行文件、共享库、目标文件、核心转储文件,甚至内核引导映像。这使得学习 ELF 对于那些想要更好地理解逆向工程、二进制黑客和程序执行的人来说非常重要。诸如 ELF 之类的二进制格式通常不是一个快速的学习过程,学习 ELF 需要一定程度的应用,随着学习的进行,需要实际的动手经验才能达到熟练程度。ELF 格式复杂而枯燥,但在逆向工程和编程任务中应用您不断发展的对它的知识时,可以带来一些乐趣。ELF 实际上是计算机科学的一个令人难以置信的组成部分,包括程序加载、动态链接、符号表查找以及许多其他紧密协调的组件。 diff --git a/docs/lrn-linux-bin-anls/lrn-linux-bin-anls_03.md b/docs/lrn-linux-bin-anls/lrn-linux-bin-anls_03.md index bba11fb..4279f05 100644 --- a/docs/lrn-linux-bin-anls/lrn-linux-bin-anls_03.md +++ b/docs/lrn-linux-bin-anls/lrn-linux-bin-anls_03.md @@ -1,4 +1,4 @@ -# 第三章 Linux 进程跟踪 +# 第三章:Linux 进程跟踪 在上一章中,我们介绍了`ELF`格式的内部结构并解释了它的内部工作原理。在使用`ELF`的 Linux 和其他 Unix 风格的操作系统中,`ptrace`系统调用与分析、调试、逆向工程和修改使用`ELF`格式的程序密切相关。`ptrace`系统调用用于连接到进程并访问整个代码、数据、堆栈、堆和寄存器范围。 diff --git a/docs/lrn-linux-bin-anls/lrn-linux-bin-anls_04.md b/docs/lrn-linux-bin-anls/lrn-linux-bin-anls_04.md index c42dcfb..b48109b 100644 --- a/docs/lrn-linux-bin-anls/lrn-linux-bin-anls_04.md +++ b/docs/lrn-linux-bin-anls/lrn-linux-bin-anls_04.md @@ -1,4 +1,4 @@ -# 第四章 ELF 病毒技术- Linux/Unix 病毒 +# 第四章:ELF 病毒技术- Linux/Unix 病毒 病毒编写的艺术已经存在了几十年。事实上,它可以追溯到 1981 年通过软盘视频游戏成功在野外发布的 Elk Cloner 苹果病毒。自 80 年代中期到 90 年代,有各种秘密团体和黑客利用他们的神秘知识设计、发布和发表病毒在病毒和黑客电子杂志中(见[`vxheaven.org/lib/static/vdat/ezines1.htm`](http://vxheaven.org/lib/static/vdat/ezines1.htm))。 diff --git a/docs/lrn-linux-bin-anls/lrn-linux-bin-anls_05.md b/docs/lrn-linux-bin-anls/lrn-linux-bin-anls_05.md index e149c8a..cf6bb7f 100644 --- a/docs/lrn-linux-bin-anls/lrn-linux-bin-anls_05.md +++ b/docs/lrn-linux-bin-anls/lrn-linux-bin-anls_05.md @@ -1,4 +1,4 @@ -# 第五章。Linux 二进制保护 +# 第五章:Linux 二进制保护 在本章中,我们将探讨 Linux 程序混淆的基本技术和动机。混淆或加密二进制文件或使其难以篡改的技术称为软件保护方案。通过“软件保护”,我们指的是二进制保护或二进制加固技术。二进制加固不仅适用于 Linux;事实上,在这个技术类型中,Windows OS 有更多的产品,也有更多的例子可供讨论。 diff --git a/docs/lrn-linux-bin-anls/lrn-linux-bin-anls_06.md b/docs/lrn-linux-bin-anls/lrn-linux-bin-anls_06.md index 2eb0ad5..28013e0 100644 --- a/docs/lrn-linux-bin-anls/lrn-linux-bin-anls_06.md +++ b/docs/lrn-linux-bin-anls/lrn-linux-bin-anls_06.md @@ -1,4 +1,4 @@ -# 第六章。Linux 中的 ELF 二进制取证 +# 第六章:Linux 中的 ELF 二进制取证 计算机取证领域广泛,包括许多调查方面。其中一个方面是对可执行代码的分析。对于黑客来说,安装某种恶意功能的最阴险的地方之一就是在某种可执行文件中。在 Linux 中,当然是 ELF 文件类型。我们已经探讨了一些感染技术,这些技术正在使用第四章,*ELF 病毒技术- Linux/Unix 病毒*,但几乎没有讨论分析阶段。调查人员应该如何探索二进制文件中的异常或代码感染?这正是本章的主题。 diff --git a/docs/lrn-linux-bin-anls/lrn-linux-bin-anls_07.md b/docs/lrn-linux-bin-anls/lrn-linux-bin-anls_07.md index 57914a8..4d6e685 100644 --- a/docs/lrn-linux-bin-anls/lrn-linux-bin-anls_07.md +++ b/docs/lrn-linux-bin-anls/lrn-linux-bin-anls_07.md @@ -1,4 +1,4 @@ -# 第七章。进程内存取证 +# 第七章:进程内存取证 在上一章中,我们检查了在 Linux 中分析 ELF 二进制文件时的关键方法和方法,特别是在涉及恶意软件时,以及检测可执行代码中寄生体存在的方法。 diff --git a/docs/lrn-linux-bin-anls/lrn-linux-bin-anls_08.md b/docs/lrn-linux-bin-anls/lrn-linux-bin-anls_08.md index 5c73375..2d3d6f6 100644 --- a/docs/lrn-linux-bin-anls/lrn-linux-bin-anls_08.md +++ b/docs/lrn-linux-bin-anls/lrn-linux-bin-anls_08.md @@ -1,4 +1,4 @@ -# 第八章。ECFS – 扩展核心文件快照技术 +# 第八章:ECFS – 扩展核心文件快照技术 **扩展核心文件快照**(**ECFS**)技术是一款插入 Linux 核心处理程序并创建专门设计用于进程内存取证的特殊进程内存快照的软件。大多数人不知道如何解析进程镜像,更不用说如何检查其中的异常。即使对于专家来说,查看进程镜像并检测感染或恶意软件可能是一项艰巨的任务。 diff --git a/docs/lrn-linux-bin-anls/lrn-linux-bin-anls_09.md b/docs/lrn-linux-bin-anls/lrn-linux-bin-anls_09.md index 1bd161a..119e6cb 100644 --- a/docs/lrn-linux-bin-anls/lrn-linux-bin-anls_09.md +++ b/docs/lrn-linux-bin-anls/lrn-linux-bin-anls_09.md @@ -1,4 +1,4 @@ -# 第九章。Linux /proc/kcore 分析 +# 第九章:Linux /proc/kcore 分析 到目前为止,我们已经涵盖了与用户空间相关的 Linux 二进制文件和内存。然而,如果我们不花一章的时间来讨论 Linux 内核,这本书就不会完整。这是因为它实际上也是一个 ELF 二进制文件。类似于程序加载到内存中,Linux 内核映像,也被称为**vmlinux**,在启动时加载到内存中。它有一个文本段和一个数据段,上面覆盖着许多与内核非常特定的部分头,这些部分头在用户空间可执行文件中是看不到的。在本章中,我们还将简要介绍 LKM,因为它们也是 ELF 文件。 diff --git a/docs/mgt-linux-ms-az/mgt-linux-ms-az_1.md b/docs/mgt-linux-ms-az/mgt-linux-ms-az_1.md index 66d007b..e533c51 100644 --- a/docs/mgt-linux-ms-az/mgt-linux-ms-az_1.md +++ b/docs/mgt-linux-ms-az/mgt-linux-ms-az_1.md @@ -1,4 +1,4 @@ -# 第一章:1. Linux:云中的历史和未来 +# 第一章:Linux:云中的历史和未来 2015 年,微软首席执行官萨提亚·纳德拉在一次演讲的结束幻灯片上写着"Microsoft ♡ Linux"。这宣布了即将发生的一系列变化,萨提亚·纳德拉希望表明微软对 Linux 和开源软件技术的兴趣。每个人都觉得这里有一些矛盾,想知道为什么微软要与开源软件技术合作。《连线》杂志报道说,纳德拉对抗争旧战斗不感兴趣,尤其是当 Linux 不管喜欢与否,已经成为当今商业技术的重要组成部分时。纳德拉告诉《连线》说:"如果你不跟上新的,你就无法生存。" diff --git a/docs/mgt-linux-ms-az/mgt-linux-ms-az_2.md b/docs/mgt-linux-ms-az/mgt-linux-ms-az_2.md index 9ff7c5a..4259fc8 100644 --- a/docs/mgt-linux-ms-az/mgt-linux-ms-az_2.md +++ b/docs/mgt-linux-ms-az/mgt-linux-ms-az_2.md @@ -1,4 +1,4 @@ -# 第二章:2. 理解 Linux 发行版 +# 第二章:理解 Linux 发行版 *好东西有很多种,Linux 发行版也是如此。* diff --git a/docs/mgt-linux-ms-az/mgt-linux-ms-az_3.md b/docs/mgt-linux-ms-az/mgt-linux-ms-az_3.md index 5aac3cc..69e5852 100644 --- a/docs/mgt-linux-ms-az/mgt-linux-ms-az_3.md +++ b/docs/mgt-linux-ms-az/mgt-linux-ms-az_3.md @@ -1,4 +1,4 @@ -# 第三章:3. 评估和迁移规划 +# 第三章:评估和迁移规划 本章将重点讨论评估现有工作负载在本地或托管环境中的有用方法,并提供一些关于规划迁移项目的指导。 diff --git a/docs/mgt-linux-ms-az/mgt-linux-ms-az_4.md b/docs/mgt-linux-ms-az/mgt-linux-ms-az_4.md index 56d1e9f..8908b3c 100644 --- a/docs/mgt-linux-ms-az/mgt-linux-ms-az_4.md +++ b/docs/mgt-linux-ms-az/mgt-linux-ms-az_4.md @@ -1,4 +1,4 @@ -# 第四章:4. 迁移到 Azure +# 第四章:迁移到 Azure 本章概述了如何根据前一章中完成的工作负载评估执行真实的迁移项目。我们创建了两个实践实验室,向您展示现实生活中的迁移如何实施。 diff --git a/docs/mgt-linux-ms-az/mgt-linux-ms-az_5.md b/docs/mgt-linux-ms-az/mgt-linux-ms-az_5.md index b142047..e50b276 100644 --- a/docs/mgt-linux-ms-az/mgt-linux-ms-az_5.md +++ b/docs/mgt-linux-ms-az/mgt-linux-ms-az_5.md @@ -1,4 +1,4 @@ -# 第五章:5\. 在 Azure 上操作 Linux +# 第五章:在 Azure 上操作 Linux 如果您回忆一下我们之前分享的迁移路线图,它是一个四阶段的过程。在前两章中,我们涵盖了*评估*和*迁移*的里程碑。在*第三章*,*评估和迁移规划*中,我们讨论了对迁移的正确评估和彻底规划的必要性,因为它们是过程中不可避免的一部分。我们还讨论了在我们的迁移旅程中完成这些里程碑所使用的工具,在*第四章*,*执行迁移到 Azure*中,我们将两台 Linux 服务器从 Hyper-V 迁移到 Azure。第一台服务器是 Ubuntu LTS,第二台是一个 MySQL 服务器,它被转换成了 Azure Database for MySQL 服务。 diff --git a/docs/mgt-linux-ms-az/mgt-linux-ms-az_6.md b/docs/mgt-linux-ms-az/mgt-linux-ms-az_6.md index 388bfc2..fd40899 100644 --- a/docs/mgt-linux-ms-az/mgt-linux-ms-az_6.md +++ b/docs/mgt-linux-ms-az/mgt-linux-ms-az_6.md @@ -1,4 +1,4 @@ -# 第六章:6.故障排除和问题解决 +# 第六章:故障排除和问题解决 我们的迁移之旅始于*第三章*,*评估和迁移规划*,在那里我们看到了评估的重要性及其对整个迁移之旅的贡献。 diff --git a/docs/ms-emb-linux-prog/ms-emb-linux-prog_01.md b/docs/ms-emb-linux-prog/ms-emb-linux-prog_01.md index c0e1e34..cc1b349 100644 --- a/docs/ms-emb-linux-prog/ms-emb-linux-prog_01.md +++ b/docs/ms-emb-linux-prog/ms-emb-linux-prog_01.md @@ -1,4 +1,4 @@ -# 第一章。起步 +# 第一章:起步 你即将开始你的下一个项目,这一次它将运行 Linux。在你动手之前,你应该考虑些什么?让我们从一个高层次来看嵌入式 Linux,看看为什么它如此受欢迎,开源许可证的影响是什么,以及你需要什么样的硬件来运行 Linux。 diff --git a/docs/ms-emb-linux-prog/ms-emb-linux-prog_02.md b/docs/ms-emb-linux-prog/ms-emb-linux-prog_02.md index 2fc2b65..fdd1770 100644 --- a/docs/ms-emb-linux-prog/ms-emb-linux-prog_02.md +++ b/docs/ms-emb-linux-prog/ms-emb-linux-prog_02.md @@ -1,4 +1,4 @@ -# 第二章。了解工具链 +# 第二章:了解工具链 工具链是嵌入式 Linux 的第一个元素,也是项目的起点。在这个早期阶段做出的选择将对最终结果产生深远影响。您的工具链应能够有效地利用硬件,使用处理器的最佳指令集,使用浮点单元(如果有的话)等。它应该支持您需要的语言,并且具有对 POSIX 和其他系统接口的稳固实现。此外,发现安全漏洞或错误时,应及时更新。最后,它应该在整个项目中保持不变。换句话说,一旦选择了工具链,坚持使用它是很重要的。在项目进行过程中以不一致的方式更改编译器和开发库将导致隐蔽的错误。 diff --git a/docs/ms-emb-linux-prog/ms-emb-linux-prog_03.md b/docs/ms-emb-linux-prog/ms-emb-linux-prog_03.md index 6132c23..96123d5 100644 --- a/docs/ms-emb-linux-prog/ms-emb-linux-prog_03.md +++ b/docs/ms-emb-linux-prog/ms-emb-linux-prog_03.md @@ -1,4 +1,4 @@ -# 第三章。关于引导加载程序的一切 +# 第三章:关于引导加载程序的一切 引导加载程序是嵌入式 Linux 的第二个元素。它是启动系统并加载操作系统内核的部分。在本章中,我将研究引导加载程序的作用,特别是它如何使用称为设备树的数据结构将控制权从自身传递给内核,也称为**扁平设备树**或**FDT**。我将介绍设备树的基础知识,以便您能够跟随设备树中描述的连接,并将其与实际硬件联系起来。 diff --git a/docs/ms-emb-linux-prog/ms-emb-linux-prog_04.md b/docs/ms-emb-linux-prog/ms-emb-linux-prog_04.md index ea91e01..d6d2978 100644 --- a/docs/ms-emb-linux-prog/ms-emb-linux-prog_04.md +++ b/docs/ms-emb-linux-prog/ms-emb-linux-prog_04.md @@ -1,4 +1,4 @@ -# 第四章。移植和配置内核 +# 第四章:移植和配置内核 内核是嵌入式 Linux 的第三个元素。它是负责管理资源和与硬件接口的组件,因此几乎影响到最终软件构建的每个方面。它通常根据您的特定硬件配置进行定制,尽管正如我们在第三章中看到的,设备树允许您通过设备树的内容创建一个通用内核,以适应特定硬件。 diff --git a/docs/ms-emb-linux-prog/ms-emb-linux-prog_05.md b/docs/ms-emb-linux-prog/ms-emb-linux-prog_05.md index 697383f..76dccac 100644 --- a/docs/ms-emb-linux-prog/ms-emb-linux-prog_05.md +++ b/docs/ms-emb-linux-prog/ms-emb-linux-prog_05.md @@ -1,4 +1,4 @@ -# 第五章。构建根文件系统 +# 第五章:构建根文件系统 根文件系统是嵌入式 Linux 的第四个也是最后一个元素。阅读完本章后,您将能够构建、引导和运行一个简单的嵌入式 Linux 系统。 diff --git a/docs/ms-emb-linux-prog/ms-emb-linux-prog_06.md b/docs/ms-emb-linux-prog/ms-emb-linux-prog_06.md index 5d85f4c..b10cb2a 100644 --- a/docs/ms-emb-linux-prog/ms-emb-linux-prog_06.md +++ b/docs/ms-emb-linux-prog/ms-emb-linux-prog_06.md @@ -1,4 +1,4 @@ -# 第六章 选择构建系统 +# 第六章:选择构建系统 前几章涵盖了嵌入式 Linux 的四个元素,并逐步向您展示了如何构建工具链、引导加载程序、内核和根文件系统,然后将它们组合成基本的嵌入式 Linux 系统。而且有很多步骤!现在是时候看看如何通过尽可能自动化来简化这个过程。我将介绍嵌入式构建系统如何帮助,并特别介绍两种构建系统:Buildroot 和 Yocto Project。这两种都是复杂而灵活的工具,需要整本书来充分描述它们的工作原理。在本章中,我只想向您展示构建系统背后的一般思想。我将向您展示如何构建一个简单的设备镜像,以便对系统有一个整体感觉,然后如何进行一些有用的更改,使用前几章中的 Nova 板示例。 diff --git a/docs/ms-emb-linux-prog/ms-emb-linux-prog_07.md b/docs/ms-emb-linux-prog/ms-emb-linux-prog_07.md index 97ddf17..2aa042c 100644 --- a/docs/ms-emb-linux-prog/ms-emb-linux-prog_07.md +++ b/docs/ms-emb-linux-prog/ms-emb-linux-prog_07.md @@ -1,4 +1,4 @@ -# 第七章。创建存储策略 +# 第七章:创建存储策略 嵌入式设备的大容量存储选项对系统的其余部分在稳健性、速度和现场更新方法方面产生了巨大影响。 diff --git a/docs/ms-emb-linux-prog/ms-emb-linux-prog_08.md b/docs/ms-emb-linux-prog/ms-emb-linux-prog_08.md index 043531d..9837bf8 100644 --- a/docs/ms-emb-linux-prog/ms-emb-linux-prog_08.md +++ b/docs/ms-emb-linux-prog/ms-emb-linux-prog_08.md @@ -1,4 +1,4 @@ -# 第八章。介绍设备驱动程序 +# 第八章:介绍设备驱动程序 内核设备驱动程序是将底层硬件暴露给系统其余部分的机制。作为嵌入式系统的开发人员,您需要了解设备驱动程序如何适应整体架构以及如何从用户空间程序中访问它们。您的系统可能会有一些新颖的硬件部件,您将不得不找出一种访问它们的方法。在许多情况下,您会发现已经为您提供了设备驱动程序,您可以在不编写任何内核代码的情况下实现您想要的一切。例如,您可以使用`sysfs`中的文件来操作 GPIO 引脚和 LED,并且有库可以访问串行总线,包括 SPI 和 I2C。 diff --git a/docs/ms-emb-linux-prog/ms-emb-linux-prog_09.md b/docs/ms-emb-linux-prog/ms-emb-linux-prog_09.md index 6c3f671..bb56820 100644 --- a/docs/ms-emb-linux-prog/ms-emb-linux-prog_09.md +++ b/docs/ms-emb-linux-prog/ms-emb-linux-prog_09.md @@ -1,4 +1,4 @@ -# 第九章。启动- init 程序 +# 第九章:启动- init 程序 我在第四章中看到了内核如何引导到启动第一个程序`init`的点,在第五章中,*构建根文件系统*和第六章中,*选择构建系统*,我看了创建不同复杂性的根文件系统,其中都包含了`init`程序。现在是时候更详细地看看`init`程序,并发现它对系统的重要性。 diff --git a/docs/ms-emb-linux-prog/ms-emb-linux-prog_10.md b/docs/ms-emb-linux-prog/ms-emb-linux-prog_10.md index 00bf6cb..aa4388d 100644 --- a/docs/ms-emb-linux-prog/ms-emb-linux-prog_10.md +++ b/docs/ms-emb-linux-prog/ms-emb-linux-prog_10.md @@ -1,4 +1,4 @@ -# 第十章。了解进程和线程 +# 第十章:了解进程和线程 在前面的章节中,我们考虑了创建嵌入式 Linux 平台的各个方面。现在是时候开始了解如何使用该平台创建工作设备了。在本章中,我将讨论 Linux 进程模型的含义以及它如何包含多线程程序。我将探讨使用单线程和多线程进程的利弊。我还将研究调度,并区分时间共享和实时调度策略。 diff --git a/docs/ms-emb-linux-prog/ms-emb-linux-prog_11.md b/docs/ms-emb-linux-prog/ms-emb-linux-prog_11.md index 4ab457f..a4b3363 100644 --- a/docs/ms-emb-linux-prog/ms-emb-linux-prog_11.md +++ b/docs/ms-emb-linux-prog/ms-emb-linux-prog_11.md @@ -1,4 +1,4 @@ -# 第十一章。管理内存 +# 第十一章:管理内存 本章涵盖了与内存管理相关的问题,这对于任何 Linux 系统都是一个重要的话题,但对于嵌入式 Linux 来说尤其重要,因为系统内存通常是有限的。在简要回顾了虚拟内存之后,我将向您展示如何测量内存使用情况,如何检测内存分配的问题,包括内存泄漏,以及当内存用尽时会发生什么。您必须了解可用的工具,从简单的工具如`free`和`top`,到复杂的工具如 mtrace 和 Valgrind。 diff --git a/docs/ms-emb-linux-prog/ms-emb-linux-prog_12.md b/docs/ms-emb-linux-prog/ms-emb-linux-prog_12.md index a5fb43a..466255c 100644 --- a/docs/ms-emb-linux-prog/ms-emb-linux-prog_12.md +++ b/docs/ms-emb-linux-prog/ms-emb-linux-prog_12.md @@ -1,4 +1,4 @@ -# 第十二章。使用 GDB 进行调试 +# 第十二章:使用 GDB 进行调试 错误是难免的。识别和修复它们是开发过程的一部分。有许多不同的技术用于查找和表征程序缺陷,包括静态和动态分析,代码审查,跟踪,性能分析和交互式调试。我将在下一章中介绍跟踪器和性能分析器,但在这里,我想集中讨论通过调试器观察代码执行的传统方法,也就是我们的情况下的 GNU 调试器 GDB。GDB 是一个强大而灵活的工具。您可以使用它来调试应用程序,检查程序崩溃后生成的后期文件(`core`文件),甚至逐步执行内核代码。 diff --git a/docs/ms-emb-linux-prog/ms-emb-linux-prog_13.md b/docs/ms-emb-linux-prog/ms-emb-linux-prog_13.md index 7109397..3c8a21d 100644 --- a/docs/ms-emb-linux-prog/ms-emb-linux-prog_13.md +++ b/docs/ms-emb-linux-prog/ms-emb-linux-prog_13.md @@ -1,4 +1,4 @@ -# 第十三章。性能分析和跟踪 +# 第十三章:性能分析和跟踪 使用源级调试器进行交互式调试,如前一章所述,可以让您深入了解程序的工作方式,但它将您的视野限制在一小部分代码上。在本章中,我将着眼于更大的图片,以查看系统是否按预期运行。 diff --git a/docs/ms-emb-linux-prog/ms-emb-linux-prog_14.md b/docs/ms-emb-linux-prog/ms-emb-linux-prog_14.md index a83540b..eb0eba6 100644 --- a/docs/ms-emb-linux-prog/ms-emb-linux-prog_14.md +++ b/docs/ms-emb-linux-prog/ms-emb-linux-prog_14.md @@ -1,4 +1,4 @@ -# 第十四章。实时编程 +# 第十四章:实时编程 计算机系统与现实世界之间的许多交互都是实时进行的,因此这对于嵌入式系统的开发人员来说是一个重要的主题。到目前为止,我已经在几个地方提到了实时编程:在第十章中,*了解进程和线程*,我研究了调度策略和优先级反转,在第十一章中,*管理内存*,我描述了页面错误的问题和内存锁定的需求。现在,是时候把这些主题联系在一起,深入研究实时编程了。 diff --git a/docs/ms-kvm-vrt/ms-kvm-vrt_02.md b/docs/ms-kvm-vrt/ms-kvm-vrt_02.md index 5f1a0f0..af2a936 100644 --- a/docs/ms-kvm-vrt/ms-kvm-vrt_02.md +++ b/docs/ms-kvm-vrt/ms-kvm-vrt_02.md @@ -1,4 +1,4 @@ -# 第一章:*第一章*:理解 Linux 虚拟化 +# 第一章:理解 Linux 虚拟化 虚拟化是一项技术,它引发了 IT 整合的重大技术转变,提供了更有效地利用资源的方式,云作为虚拟化的一个更综合、自动化和编排的版本,重点不仅在于虚拟机,还在于其他附加服务。本书共有 16 章,所有这些章节都已经安排好,以涵盖基于内核的虚拟机(KVM)虚拟化的所有重要方面。我们将从 KVM 的基本主题开始,如虚拟化概念的历史和 Linux 虚拟化,然后继续查看 KVM 的高级主题,如自动化、编排、虚拟网络、存储和故障排除。本章将为您提供有关 Linux 虚拟化中主导技术及其优势的见解。 diff --git a/docs/ms-kvm-vrt/ms-kvm-vrt_05.md b/docs/ms-kvm-vrt/ms-kvm-vrt_05.md index 878f756..3dff417 100644 --- a/docs/ms-kvm-vrt/ms-kvm-vrt_05.md +++ b/docs/ms-kvm-vrt/ms-kvm-vrt_05.md @@ -1,4 +1,4 @@ -# 第三章:*第三章*:安装 KVM Hypervisor、libvirt 和 oVirt +# 第三章:安装 KVM Hypervisor、libvirt 和 oVirt 本章为您提供了对我们书籍主题的深入了解,即**内核虚拟机**(**KVM**)及其管理工具 libvirt 和 oVirt。我们还将学习如何使用基本的 CentOS 8 部署从头开始完整安装这些工具。您会发现这是一个非常重要的主题,因为有时您可能没有安装所有必要的实用程序,特别是 oVirt,因为它是整体软件堆栈的一个完全独立的部分,也是 KVM 的免费管理平台。由于 oVirt 有很多组成部分 - 基于 Python 的守护程序和支持实用程序、库和 GUI 前端 - 我们将包括一步一步的指南,以确保您可以轻松安装 oVirt。 diff --git a/docs/ms-kvm-vrt/ms-kvm-vrt_06.md b/docs/ms-kvm-vrt/ms-kvm-vrt_06.md index 6b66c1b..3ca9b19 100644 --- a/docs/ms-kvm-vrt/ms-kvm-vrt_06.md +++ b/docs/ms-kvm-vrt/ms-kvm-vrt_06.md @@ -1,4 +1,4 @@ -# 第四章:*第四章*:Libvirt 网络 +# 第四章:Libvirt 网络 了解虚拟网络如何工作对于虚拟化非常重要。很难证明在没有虚拟网络的情况下,我们可以承担与拥有多个虚拟机的虚拟化主机相关的成本。想象一下,在虚拟化网络中有多个虚拟机,并购买网络卡,以便每个虚拟机都可以拥有自己专用的物理网络端口。通过实施虚拟网络,我们也以更可管理的方式整合了网络,无论是从管理还是成本的角度来看。 diff --git a/docs/ms-kvm-vrt/ms-kvm-vrt_07.md b/docs/ms-kvm-vrt/ms-kvm-vrt_07.md index b2ae7e2..f6b1746 100644 --- a/docs/ms-kvm-vrt/ms-kvm-vrt_07.md +++ b/docs/ms-kvm-vrt/ms-kvm-vrt_07.md @@ -1,4 +1,4 @@ -# 第五章:*第五章*:Libvirt 存储 +# 第五章:Libvirt 存储 这一章节为您提供了 KVM 使用存储的见解。具体来说,我们将涵盖运行虚拟机的主机内部存储和*共享存储*。不要让术语在这里让您困惑——在虚拟化和云技术中,术语*共享存储*表示多个虚拟化程序可以访问的存储空间。正如我们稍后将解释的那样,实现这一点的三种最常见方式是使用块级、共享级或对象级存储。我们将以 NFS 作为共享级存储的示例,以**Internet Small Computer System Interface**(**iSCSI**)和**Fiber Channel**(**FC**)作为块级存储的示例。在对象级存储方面,我们将使用 Ceph。GlusterFS 如今也被广泛使用,因此我们也会确保涵盖到它。为了将所有内容整合到一个易于使用和管理的框架中,我们将讨论一些可能在练习和创建测试环境时对您有所帮助的开源项目。 diff --git a/docs/ms-kvm-vrt/ms-kvm-vrt_08.md b/docs/ms-kvm-vrt/ms-kvm-vrt_08.md index b58055a..89f1cc9 100644 --- a/docs/ms-kvm-vrt/ms-kvm-vrt_08.md +++ b/docs/ms-kvm-vrt/ms-kvm-vrt_08.md @@ -1,4 +1,4 @@ -# 第六章:*第六章*:虚拟显示设备和协议 +# 第六章:虚拟显示设备和协议 在本章中,我们将讨论通过虚拟图形卡和协议访问虚拟机的方式。我们可以在虚拟机中使用近 10 种可用的虚拟显示适配器,并且有多种可用的协议和应用程序可以用来访问我们的虚拟机。除了 SSH 和任何一般的基于控制台的访问,市场上还有各种协议可供我们使用来访问虚拟机的控制台,如 VNC、SPICE 和 noVNC。 diff --git a/docs/ms-kvm-vrt/ms-kvm-vrt_09.md b/docs/ms-kvm-vrt/ms-kvm-vrt_09.md index d0edcf0..33ac66c 100644 --- a/docs/ms-kvm-vrt/ms-kvm-vrt_09.md +++ b/docs/ms-kvm-vrt/ms-kvm-vrt_09.md @@ -1,4 +1,4 @@ -# 第七章:*第七章*:虚拟机:安装、配置和生命周期管理 +# 第七章:虚拟机:安装、配置和生命周期管理 在本章中,我们将讨论安装和配置`virt-manager`、`virt-install`、oVirt 的不同方式,并建立在前几章中获得的知识基础上。然后,我们将对虚拟机迁移进行详细讨论,这是虚拟化的最基本方面之一,因为几乎无法想象在没有迁移选项的情况下使用虚拟化。为了能够为虚拟机迁移配置我们的环境,我们还将使用*第四章*中讨论的主题,*Libvirt 网络*,以及*第五章*中讨论的主题,*Libvirt 存储*,因为虚拟机迁移需要满足一些先决条件。 diff --git a/docs/ms-kvm-vrt/ms-kvm-vrt_10.md b/docs/ms-kvm-vrt/ms-kvm-vrt_10.md index ac95f01..25220f3 100644 --- a/docs/ms-kvm-vrt/ms-kvm-vrt_10.md +++ b/docs/ms-kvm-vrt/ms-kvm-vrt_10.md @@ -1,4 +1,4 @@ -# 第八章:*第八章*:创建和修改 VM 磁盘、模板和快照 +# 第八章:创建和修改 VM 磁盘、模板和快照 这一章代表了本书第二部分的结束,我们在这一部分专注于各种`libvirt`功能——安装`libvirt`网络和存储,虚拟设备和显示协议,安装**虚拟机**(**VMs**)并配置它们……所有这些都是为了为本书的下一部分做准备,下一部分将涉及自动化、定制和编排。为了让我们能够学习这些概念,我们现在必须把焦点转移到 VM 及其高级操作上——修改、模板化、使用快照等。本书的后面经常会提到这些主题中的一些,这些主题在生产环境中出于各种业务原因可能会更有价值。让我们深入研究并涵盖它们。 diff --git a/docs/ms-kvm-vrt/ms-kvm-vrt_12.md b/docs/ms-kvm-vrt/ms-kvm-vrt_12.md index 39a5e7f..d05edcd 100644 --- a/docs/ms-kvm-vrt/ms-kvm-vrt_12.md +++ b/docs/ms-kvm-vrt/ms-kvm-vrt_12.md @@ -1,4 +1,4 @@ -# 第九章:*第九章*:使用云初始化自定义虚拟机 +# 第九章:使用云初始化自定义虚拟机 定制虚拟机通常看起来很简单 - 从模板克隆它;启动;点击几个**下一步**按钮(或文本标签);创建一些用户、密码和组;配置网络设置... 这对于一两台虚拟机可能有效。但如果我们需要部署两三百台虚拟机并对它们进行配置呢?突然间,我们面临着一项庞大的任务 - 如果我们手动完成所有工作,这项任务将容易出现错误。我们在做这些事情的时候浪费了宝贵的时间,而不是以更简化、自动化的方式进行配置。这就是云初始化派上用场的地方,因为它可以定制我们的虚拟机,在它们上安装软件,并且可以在首次和后续虚拟机启动时进行。因此,让我们讨论一下云初始化以及它如何为你的大规模配置噩梦带来价值。 diff --git a/docs/ms-kvm-vrt/ms-kvm-vrt_13.md b/docs/ms-kvm-vrt/ms-kvm-vrt_13.md index 816c009..8fe7503 100644 --- a/docs/ms-kvm-vrt/ms-kvm-vrt_13.md +++ b/docs/ms-kvm-vrt/ms-kvm-vrt_13.md @@ -1,4 +1,4 @@ -# 第十章:*第十章*:自动化 Windows 客户端部署和自定义 +# 第十章:自动化 Windows 客户端部署和自定义 现在,我们已经介绍了在 KVM 中部署基于 Linux 的**虚拟机**(**VMs**)的不同方法,是时候将我们的重点转移到 Microsoft Windows 了。具体来说,我们将专注于在 KVM 上运行的 Windows Server 2019 机器,并涵盖部署和自定义 Windows Server 2019 虚拟机的先决条件和不同场景。本书不是基于**虚拟桌面基础设施**(**VDI**)和桌面操作系统的想法,这需要与虚拟化服务器操作系统完全不同的场景、方法和技术实施。 diff --git a/docs/ms-kvm-vrt/ms-kvm-vrt_14.md b/docs/ms-kvm-vrt/ms-kvm-vrt_14.md index b64cbde..878a382 100644 --- a/docs/ms-kvm-vrt/ms-kvm-vrt_14.md +++ b/docs/ms-kvm-vrt/ms-kvm-vrt_14.md @@ -1,4 +1,4 @@ -# 第十一章:*第十一章*:Ansible 和编排自动化 +# 第十一章:Ansible 和编排自动化 Ansible 已经成为当今开源社区的事实标准,因为它提供了很多功能,同时对您和您的基础设施要求很少。在**基于内核的虚拟机**(**KVM**)中使用 Ansible 也是很有意义的,特别是当您考虑到更大的环境。无论您只是想要简单地配置 KVM 主机(安装 libvirt 和相关软件),还是想要统一配置主机上的 KVM 网络 - Ansible 对于这两者都非常有价值。例如,在本章中,我们将使用 Ansible 来部署托管在 KVM 虚拟机内的虚拟机和多层应用程序,这在更大的环境中是非常常见的用例。然后,我们将转向更加严谨的主题,结合 Ansible 和 cloud-init,因为它们在应用时间轴和完成方式上有所不同。Cloud-init 是一种理想的自动化初始虚拟机配置的方式(主机名、网络和 SSH 密钥)。然后,我们通常转向 Ansible,以便在初始配置后执行额外的编排 - 添加软件包,对系统进行更大的更改等等。让我们看看如何在 KVM 中使用 Ansible 和 cloud-init。 diff --git a/docs/ms-kvm-vrt/ms-kvm-vrt_16.md b/docs/ms-kvm-vrt/ms-kvm-vrt_16.md index d7f7938..7f803f7 100644 --- a/docs/ms-kvm-vrt/ms-kvm-vrt_16.md +++ b/docs/ms-kvm-vrt/ms-kvm-vrt_16.md @@ -1,4 +1,4 @@ -# 第十二章:*第十二章*:使用 OpenStack 扩展 KVM +# 第十二章:使用 OpenStack 扩展 KVM 能够虚拟化一台机器是一件大事,但有时,仅仅虚拟化是不够的。问题在于如何给予个人用户工具,使他们可以在需要时虚拟化他们需要的任何东西。如果我们将以用户为中心的方法与虚拟化相结合,我们将得到一个需要能够连接到 KVM 作为虚拟化机制(不仅仅是 KVM)并使用户能够在自助环境中通过 Web 浏览器获取其虚拟机并自动配置的系统。OpenStack 增加了一件事情,因为它完全免费并且完全基于开源技术。由于其复杂性,配置这样的系统是一个大问题,在本章中,我们将向您展示 - 或者更准确地说,指向您 - 关于是否需要这样的系统的正确方向。 diff --git a/docs/ms-kvm-vrt/ms-kvm-vrt_17.md b/docs/ms-kvm-vrt/ms-kvm-vrt_17.md index 9228ae5..1ae18a3 100644 --- a/docs/ms-kvm-vrt/ms-kvm-vrt_17.md +++ b/docs/ms-kvm-vrt/ms-kvm-vrt_17.md @@ -1,4 +1,4 @@ -# 第十三章:*第十三章*:使用 AWS 扩展 KVM +# 第十三章:使用 AWS 扩展 KVM 如果你仔细观察,虚拟化是一个棘手的问题 - 模拟完整的计算机以便能够在其上运行操作系统是复杂的。出于明显的原因,将这些虚拟机放入云中甚至更加困难。之后,事情真的开始变得混乱。从概念上讲,创建能够按需运行的机器集群更加复杂,基于必须同时运行的机器数量之多。此外,不仅需要创建模拟计算机,还需要创建支持更大规模部署的所有网络和基础设施。创建一个全球云 - 不仅运行数百万台机器,而且几乎无处不在,甚至在地球上最偏远的地方 - 是少有公司尝试过的任务,只有少数公司成功。本章将总体介绍这些大型云提供商,然后介绍亚马逊作为其中最大的云提供商。我们的主要想法是介绍亚马逊的运作方式,它与本书中涵盖的其他主题的关系,以及如何在现实世界的真实机器上使用亚马逊提供的服务。 diff --git a/docs/ms-kvm-vrt/ms-kvm-vrt_19.md b/docs/ms-kvm-vrt/ms-kvm-vrt_19.md index df0bd8a..a2c08d6 100644 --- a/docs/ms-kvm-vrt/ms-kvm-vrt_19.md +++ b/docs/ms-kvm-vrt/ms-kvm-vrt_19.md @@ -1,4 +1,4 @@ -# 第十五章:*第十五章*:KVM VM 性能调优和优化 +# 第十五章:KVM VM 性能调优和优化 当我们思考虚拟化时,总会有一些问题不断出现。其中一些可能很简单,比如我们从虚拟化中能得到什么?它是否简化了事情?备份是否更容易?但是一旦我们使用虚拟化一段时间后,也会出现更复杂的问题。我们如何在计算层面加速?有没有更多的优化方法?我们可以调整什么来从存储或网络中获得更快的速度?我们可以引入一些配置更改,使我们能够在不在其中投入大量资金的情况下从现有基础设施中获得更多? diff --git a/docs/ms-kvm-vrt/ms-kvm-vrt_20.md b/docs/ms-kvm-vrt/ms-kvm-vrt_20.md index da5d1bb..228de8e 100644 --- a/docs/ms-kvm-vrt/ms-kvm-vrt_20.md +++ b/docs/ms-kvm-vrt/ms-kvm-vrt_20.md @@ -1,4 +1,4 @@ -# 第十六章:《第十六章》:KVM 平台的故障排除指南 +# 第十六章:KVM 平台的故障排除指南 如果您从《第一章》《理解 Linux 虚拟化》一直跟着这本书走到现在,那么您会知道在这本书中我们一起经历了很多 - 数百页的概念和实际方面,包括配置示例、文件和命令 - 一切。大约 700 页。到目前为止,我们几乎完全忽略了故障排除作为旅程的一部分。我们并不是基于 Linux 中一切都只是“工作”,我们根本没有任何问题,而且我们在阅读全书的过程中达到了一种“涅槃”的状态。 diff --git a/docs/ms-linux-dvc-dvr-dev/ms-linux-dvc-dvr-dev_02.md b/docs/ms-linux-dvc-dvr-dev/ms-linux-dvc-dvr-dev_02.md index 8c79b3e..31ded47 100644 --- a/docs/ms-linux-dvc-dvr-dev/ms-linux-dvc-dvr-dev_02.md +++ b/docs/ms-linux-dvc-dvr-dev/ms-linux-dvc-dvr-dev_02.md @@ -1,4 +1,4 @@ -# 第一章:*第一章*:嵌入式开发人员的 Linux 内核概念 +# 第一章:嵌入式开发人员的 Linux 内核概念 作为一个独立的软件,Linux 内核实现了一组函数,有助于避免重复发明轮子,并简化设备驱动程序的开发。这些辅助程序的重要性在于,不需要使用这些代码才能被上游接受。这是驱动程序依赖的内核核心。我们将在本书中介绍这些核心功能中最受欢迎的功能,尽管还有其他功能存在。我们将首先查看内核锁定 API,然后讨论如何保护共享对象并避免竞争条件。然后,我们将看看各种可用的工作推迟机制,您将了解在哪个执行上下文中推迟代码的部分。最后,您将学习中断的工作原理以及如何从 Linux 内核内部设计中断处理程序。 diff --git a/docs/ms-linux-dvc-dvr-dev/ms-linux-dvc-dvr-dev_03.md b/docs/ms-linux-dvc-dvr-dev/ms-linux-dvc-dvr-dev_03.md index 803e10f..509af6d 100644 --- a/docs/ms-linux-dvc-dvr-dev/ms-linux-dvc-dvr-dev_03.md +++ b/docs/ms-linux-dvc-dvr-dev/ms-linux-dvc-dvr-dev_03.md @@ -1,4 +1,4 @@ -# 第二章:*第二章*:利用 Regmap API 并简化代码 +# 第二章:利用 Regmap API 并简化代码 本章介绍了 Linux 内核寄存器映射抽象层,并展示了如何简化和委托 I/O 操作给 regmap 子系统。处理设备,无论是在 SoC 中内置的(也称为 MMIO)还是位于 I2C/SPI 总线上,都包括访问(读取/修改/更新)寄存器。Regmap 是必需的,因为许多设备驱动程序在其寄存器访问例程中使用了开放编码。**Regmap**代表**寄存器映射**。它最初是为了**ALSA SoC**(**ASoC**)而开发的,以消除编解码器驱动程序中多余的开放编码 SPI/I2C 寄存器访问例程。最初,regmap 提供了一组用于读取/写入非内存映射 I/O(例如,I2C 和 SPI 读/写)的 API。从那时起,MMIO regmap 已经升级,以便我们可以使用 regmap 来访问 MMIO。 diff --git a/docs/ms-linux-dvc-dvr-dev/ms-linux-dvc-dvr-dev_04.md b/docs/ms-linux-dvc-dvr-dev/ms-linux-dvc-dvr-dev_04.md index 63da3e8..ef49a32 100644 --- a/docs/ms-linux-dvc-dvr-dev/ms-linux-dvc-dvr-dev_04.md +++ b/docs/ms-linux-dvc-dvr-dev/ms-linux-dvc-dvr-dev_04.md @@ -1,4 +1,4 @@ -# 第三章:*第三章*:深入研究 MFD 子系统和 Syscon API +# 第三章:深入研究 MFD 子系统和 Syscon API 设备的日益密集集成导致了一种由多个其他设备或 IP 组成的设备,可以实现专用功能。随着这种设备的出现,Linux 内核中出现了一个新的子系统。这些是**MFDs**,代表**多功能设备**。这些设备在物理上看起来是独立的设备,但从软件角度来看,它们在父子关系中表示,其中子设备是子设备。 diff --git a/docs/ms-linux-dvc-dvr-dev/ms-linux-dvc-dvr-dev_05.md b/docs/ms-linux-dvc-dvr-dev/ms-linux-dvc-dvr-dev_05.md index 5573abc..2a3cdbf 100644 --- a/docs/ms-linux-dvc-dvr-dev/ms-linux-dvc-dvr-dev_05.md +++ b/docs/ms-linux-dvc-dvr-dev/ms-linux-dvc-dvr-dev_05.md @@ -1,4 +1,4 @@ -# 第四章:*第四章*:突袭通用时钟框架 +# 第四章:突袭通用时钟框架 从一开始,嵌入式系统一直需要时钟信号来编排其内部工作,无论是用于同步还是用于电源管理(例如,在设备处于活动状态时启用时钟,或者根据某些标准调整时钟,如系统负载)。因此,Linux 一直有一个时钟框架。一直只有编程接口声明支持系统时钟树的软件管理,每个平台都必须实现此 API。不同的**片上系统**(**SoCs**)有自己的实现。这样做一段时间还可以,但人们很快发现他们的硬件实现非常相似。代码也变得臃肿和冗余,这意味着需要使用平台相关的 API 来获取/设置时钟。 diff --git a/docs/ms-linux-dvc-dvr-dev/ms-linux-dvc-dvr-dev_07.md b/docs/ms-linux-dvc-dvr-dev/ms-linux-dvc-dvr-dev_07.md index de109eb..73f5589 100644 --- a/docs/ms-linux-dvc-dvr-dev/ms-linux-dvc-dvr-dev_07.md +++ b/docs/ms-linux-dvc-dvr-dev/ms-linux-dvc-dvr-dev_07.md @@ -1,4 +1,4 @@ -# 第五章:*第五章*:ALSA SoC 框架 – 利用编解码器和平台类驱动程序 +# 第五章:ALSA SoC 框架 – 利用编解码器和平台类驱动程序 音频是一种可以以各种方式产生的模拟现象。自人类开始以来,语音和音频一直是通信媒体。几乎每个内核都为用户空间应用程序提供音频支持,作为计算机与人类之间的交互机制。为了实现这一点,Linux 内核提供了一组称为**ALSA**的 API,代表**高级 Linux 音频架构**。 diff --git a/docs/ms-linux-dvc-dvr-dev/ms-linux-dvc-dvr-dev_09.md b/docs/ms-linux-dvc-dvr-dev/ms-linux-dvc-dvr-dev_09.md index b2722fc..23d4209 100644 --- a/docs/ms-linux-dvc-dvr-dev/ms-linux-dvc-dvr-dev_09.md +++ b/docs/ms-linux-dvc-dvr-dev/ms-linux-dvc-dvr-dev_09.md @@ -1,4 +1,4 @@ -# 第七章:*第七章*:解密 V4L2 和视频捕获设备驱动程序 +# 第七章:解密 V4L2 和视频捕获设备驱动程序 视频一直是嵌入式系统中固有的。鉴于 Linux 是这些系统中常用的内核,可以毫不夸张地说它本身就原生支持视频。这就是所谓的**V4L2**,代表**Video 4 (for) Linux 2**。是的!*2*是因为有第一个版本,*V4L*。V4L2 通过内存管理功能和其他元素增强了 V4L,使得该框架尽可能通用。通过这个框架,Linux 内核能够处理摄像头设备和它们连接的桥接器,以及相关的 DMA 引擎。这些并不是 V4L2 支持的唯一元素。我们将从框架架构的介绍开始,了解它的组织方式,并浏览它包括的主要数据结构。然后,我们将学习如何设计和编写桥接设备驱动程序,负责 DMA 操作,最后,我们将深入研究子设备驱动程序。因此,在本章中,将涵盖以下主题: diff --git a/docs/ms-linux-dvc-dvr-dev/ms-linux-dvc-dvr-dev_11.md b/docs/ms-linux-dvc-dvr-dev/ms-linux-dvc-dvr-dev_11.md index a24c261..6d99f14 100644 --- a/docs/ms-linux-dvc-dvr-dev/ms-linux-dvc-dvr-dev_11.md +++ b/docs/ms-linux-dvc-dvr-dev/ms-linux-dvc-dvr-dev_11.md @@ -1,4 +1,4 @@ -# 第九章:*第九章*:从用户空间利用 V4L2 API +# 第九章:从用户空间利用 V4L2 API 设备驱动程序的主要目的是控制和利用底层硬件,同时向用户公开功能。这些用户可能是在用户空间运行的应用程序或其他内核驱动程序。前两章涉及 V4L2 设备驱动程序,而在本章中,我们将学习如何利用内核公开的 V4L2 设备功能。我们将首先描述和枚举用户空间 V4L2 API,然后学习如何利用这些 API 从传感器中获取视频数据,包括篡改传感器属性。 diff --git a/docs/ms-linux-dvc-dvr-dev/ms-linux-dvc-dvr-dev_12.md b/docs/ms-linux-dvc-dvr-dev/ms-linux-dvc-dvr-dev_12.md index 390b1f4..07533b8 100644 --- a/docs/ms-linux-dvc-dvr-dev/ms-linux-dvc-dvr-dev_12.md +++ b/docs/ms-linux-dvc-dvr-dev/ms-linux-dvc-dvr-dev_12.md @@ -1,4 +1,4 @@ -# 第十章:*第十章*:Linux 内核功耗管理 +# 第十章:Linux 内核功耗管理 移动设备变得越来越复杂,具有越来越多的功能,以追随商业趋势并满足消费者的需求。虽然这些设备的一些部分运行专有或裸机软件,但它们大多数运行基于 Linux 的操作系统(嵌入式 Linux 发行版,Android 等),并且全部都是由电池供电。除了完整的功能和性能外,消费者需要尽可能长的自主时间和持久的电池。毫无疑问,完整的性能和自主时间(节能)是两个完全不兼容的概念,必须在使用设备时始终找到一个折衷方案。这种折衷方案就是功耗管理,它允许我们在不忽视设备进入低功耗状态后唤醒(或完全运行)所需的时间的情况下处理尽可能低的功耗和设备性能。 diff --git a/docs/ms-linux-dvc-dvr-dev/ms-linux-dvc-dvr-dev_14.md b/docs/ms-linux-dvc-dvr-dev/ms-linux-dvc-dvr-dev_14.md index 90486b5..19ab674 100644 --- a/docs/ms-linux-dvc-dvr-dev/ms-linux-dvc-dvr-dev_14.md +++ b/docs/ms-linux-dvc-dvr-dev/ms-linux-dvc-dvr-dev_14.md @@ -1,4 +1,4 @@ -# 第十一章:*第十一章*:编写 PCI 设备驱动程序 +# 第十一章:编写 PCI 设备驱动程序 PCI 不仅仅是一个总线,它是一个具有完整规范集的标准,定义了计算机的不同部分应该如何交互。多年来,PCI 总线已成为设备互连的事实标准,以至于几乎每个 SoC 都原生支持这样的总线。对速度的需求导致了不同版本和世代的总线。 diff --git a/docs/ms-linux-dvc-dvr-dev/ms-linux-dvc-dvr-dev_15.md b/docs/ms-linux-dvc-dvr-dev/ms-linux-dvc-dvr-dev_15.md index 9f16337..4f50d40 100644 --- a/docs/ms-linux-dvc-dvr-dev/ms-linux-dvc-dvr-dev_15.md +++ b/docs/ms-linux-dvc-dvr-dev/ms-linux-dvc-dvr-dev_15.md @@ -1,4 +1,4 @@ -# 第十二章:*第十二章*:利用 NVMEM 框架 +# 第十二章:利用 NVMEM 框架 `drivers/misc/`,在大多数情况下,每个驱动程序都必须实现自己的 API 来处理相同的功能,无论是为内核用户还是向用户空间公开其内容。结果表明,这些驱动程序严重缺乏抽象代码。此外,内核对这些设备的支持不断增加,导致了大量的代码重复。 diff --git a/docs/ms-linux-dvc-dvr-dev/ms-linux-dvc-dvr-dev_16.md b/docs/ms-linux-dvc-dvr-dev/ms-linux-dvc-dvr-dev_16.md index 0093abc..1982d55 100644 --- a/docs/ms-linux-dvc-dvr-dev/ms-linux-dvc-dvr-dev_16.md +++ b/docs/ms-linux-dvc-dvr-dev/ms-linux-dvc-dvr-dev_16.md @@ -1,4 +1,4 @@ -# 第十三章:*第十三章*:看门狗设备驱动程序 +# 第十三章:看门狗设备驱动程序 看门狗是一种旨在确保给定系统可用性的硬件(有时由软件模拟)设备。它有助于确保系统在关键挂起时始终重新启动,从而允许监视系统的“正常”行为。 diff --git a/docs/ms-linux-dvc-dvr-dev/ms-linux-dvc-dvr-dev_17.md b/docs/ms-linux-dvc-dvr-dev/ms-linux-dvc-dvr-dev_17.md index faafad6..2ca2b35 100644 --- a/docs/ms-linux-dvc-dvr-dev/ms-linux-dvc-dvr-dev_17.md +++ b/docs/ms-linux-dvc-dvr-dev/ms-linux-dvc-dvr-dev_17.md @@ -1,4 +1,4 @@ -# 第十四章:*第十四章*:Linux 内核调试技巧和最佳实践 +# 第十四章:Linux 内核调试技巧和最佳实践 大多数情况下,在开发过程中,编写代码并不是最困难的部分。困难之处在于 Linux 内核是操作系统最底层的独立软件。这使得调试 Linux 内核变得具有挑战性。然而,这得到了补偿,因为大多数情况下,我们不需要额外的工具来调试内核代码,因为大多数内核调试工具都是内核本身的一部分。我们将首先熟悉 Linux 内核发布模型,然后学习 Linux 内核发布流程和步骤。接下来,我们将关注与 Linux 内核调试相关的开发技巧(特别是通过打印进行调试),最后,我们将专注于跟踪 Linux 内核,以离线调试和学习如何利用内核 oops 结束。 diff --git a/docs/ms-linux-net-adm/ms-linux-net-adm_01.md b/docs/ms-linux-net-adm/ms-linux-net-adm_01.md index 99e181f..b2946d5 100644 --- a/docs/ms-linux-net-adm/ms-linux-net-adm_01.md +++ b/docs/ms-linux-net-adm/ms-linux-net-adm_01.md @@ -1,4 +1,4 @@ -# 第一章。设置您的环境 +# 第一章:设置您的环境 欢迎来到 Linux 网络世界!本书将指导您完善 Linux 网络管理技能。在本章中,我们将讨论启动和运行环境所需的内容。我们将讨论一些对企业网络感兴趣的 Linux 发行版,设置家庭或办公环境时需要注意的事项,以便您可以跟着本书进行学习,并设置一些我们将在本书中使用的 Linux 安装的最佳实践。基本上,我们将奠定您用来发展技能的基础。 diff --git a/docs/ms-linux-net-adm/ms-linux-net-adm_02.md b/docs/ms-linux-net-adm/ms-linux-net-adm_02.md index 8a090c3..897205d 100644 --- a/docs/ms-linux-net-adm/ms-linux-net-adm_02.md +++ b/docs/ms-linux-net-adm/ms-linux-net-adm_02.md @@ -1,4 +1,4 @@ -# 第二章。重新审视 Linux 网络基础知识 +# 第二章:重新审视 Linux 网络基础知识 无论您对 Linux 网络有很多了解,还是刚刚开始,我们将在本章中总结 Linux 网络的基础知识。虽然 Linux 中的 TCP/IP 堆栈实现了与其他平台相同的功能,但使用特定工具来管理这样的网络。在这里,我们将讨论 Linux 如何处理 IP 地址分配、网络设备命名,以及启用和禁用接口。此外,我们还将讨论用于管理接口的图形和非图形工具。 diff --git a/docs/ms-linux-net-adm/ms-linux-net-adm_03.md b/docs/ms-linux-net-adm/ms-linux-net-adm_03.md index 98ff164..304abbd 100644 --- a/docs/ms-linux-net-adm/ms-linux-net-adm_03.md +++ b/docs/ms-linux-net-adm/ms-linux-net-adm_03.md @@ -1,4 +1,4 @@ -# 第三章。通过 SSH 在节点之间通信 +# 第三章:通过 SSH 在节点之间通信 SSH 是 Linux 网络管理员最重要的工具之一。它允许您远程连接到服务器和其他工作站,并在您喜爱的终端仿真器中进行工作,所有这些都可以在您的办公桌上完成。虽然 SSH 可能不是每种情况下的完美工具,但一旦开始使用,您就无法想象没有它的生活。 diff --git a/docs/ms-linux-net-adm/ms-linux-net-adm_04.md b/docs/ms-linux-net-adm/ms-linux-net-adm_04.md index 34a27f5..4ffc676 100644 --- a/docs/ms-linux-net-adm/ms-linux-net-adm_04.md +++ b/docs/ms-linux-net-adm/ms-linux-net-adm_04.md @@ -1,4 +1,4 @@ -# 第四章。设置文件服务器 +# 第四章:设置文件服务器 在上一章中,我们介绍了 SSH 并讨论了 SCP。虽然 SCP 是手动将单个文件从一个地方传输到另一个地方的好方法,但在网络上有一个或多个中心位置来存储共享文件对于网络增加了很多价值。无论您是在商业网络上共享重要文件,还是在家庭网络上共享家庭相册,网络上的中央文件存储位置都是一个方便的资产。在本章中,我们将讨论三种实现这一目标的方法。我们首先将讨论设计文件服务器时的一些考虑事项,然后我们将介绍 NFS、Samba 和 SSHFS。 diff --git a/docs/ms-linux-net-adm/ms-linux-net-adm_05.md b/docs/ms-linux-net-adm/ms-linux-net-adm_05.md index cb136cc..6380bf7 100644 --- a/docs/ms-linux-net-adm/ms-linux-net-adm_05.md +++ b/docs/ms-linux-net-adm/ms-linux-net-adm_05.md @@ -1,4 +1,4 @@ -# 第五章。监控系统资源 +# 第五章:监控系统资源 随着您的组织需求的扩大,您的网络将随着增长和变化而增长和变化。跟踪每个节点上的资源对于稳定性非常重要。虽然 Linux 处理资源异常出色,但它只能做到这么多。CPU 可能被过度利用,磁盘变满,过多的输入/输出甚至可以使最强大的服务器停止。密切关注这些事情非常重要,特别是当系统用于生产并且被其他人依赖时。 diff --git a/docs/ms-linux-net-adm/ms-linux-net-adm_06.md b/docs/ms-linux-net-adm/ms-linux-net-adm_06.md index 6341b33..517c8ea 100644 --- a/docs/ms-linux-net-adm/ms-linux-net-adm_06.md +++ b/docs/ms-linux-net-adm/ms-linux-net-adm_06.md @@ -1,4 +1,4 @@ -# 第六章。配置网络服务 +# 第六章:配置网络服务 到目前为止,我们已经配置了我们的节点,并允许它们实际上相互通信。我们可以访问我们的节点以远程管理它们,在它们之间传输文件,监视它们的资源,并执行基本的网络操作。在本章中,我们将设计我们将用于网络的 IP 地址方案,并设置实施计划所需的服务。这将包括讨论设置和配置动态主机控制协议(DHCP)、域名服务以及网络时间协议(NTP)。 diff --git a/docs/ms-linux-net-adm/ms-linux-net-adm_07.md b/docs/ms-linux-net-adm/ms-linux-net-adm_07.md index c44e2ff..688238c 100644 --- a/docs/ms-linux-net-adm/ms-linux-net-adm_07.md +++ b/docs/ms-linux-net-adm/ms-linux-net-adm_07.md @@ -1,4 +1,4 @@ -# 第七章。通过 Apache 托管 HTTP 内容 +# 第七章:通过 Apache 托管 HTTP 内容 **Apache**是互联网上最常用的 Web 服务器。虽然还有其他可用的 Web 服务器,比如微软的**Internet Information Services**(**IIS**),但在提供 Web 内容方面,Apache 占据着统治地位。Apache 在 Linux 和 UNIX 平台上都可用,使您能够托管内容并在本地局域网以及互联网上共享。Apache 服务器有许多用途,包括(但不限于)托管博客或公司网站,或为您的公司设置员工门户网站。 diff --git a/docs/ms-linux-net-adm/ms-linux-net-adm_08.md b/docs/ms-linux-net-adm/ms-linux-net-adm_08.md index 7bb80fe..3fe9339 100644 --- a/docs/ms-linux-net-adm/ms-linux-net-adm_08.md +++ b/docs/ms-linux-net-adm/ms-linux-net-adm_08.md @@ -1,4 +1,4 @@ -# 第八章。理解高级网络概念 +# 第八章:理解高级网络概念 到目前为止,我们在 Linux 网络管理方面已经覆盖了从规划、设置文件服务器、网络服务等方面的所有内容。现在,当我们接近本书的结尾时,最后几章将通过关于高级网络、安全性甚至故障排除的信息来完善这些知识。在本章中,我们将介绍一些更高级的概念,例如子网划分、路由等! diff --git a/docs/ms-linux-net-adm/ms-linux-net-adm_09.md b/docs/ms-linux-net-adm/ms-linux-net-adm_09.md index 43af286..6fc4e6b 100644 --- a/docs/ms-linux-net-adm/ms-linux-net-adm_09.md +++ b/docs/ms-linux-net-adm/ms-linux-net-adm_09.md @@ -1,4 +1,4 @@ -# 第九章。保护您的网络 +# 第九章:保护您的网络 安全漏洞和利用它们的不法分子无处不在。在典型网络上运行的软件中包含数百万行代码,从统计上讲,要想百分之百地安全防范所有可能的威胁是不可能的。然而,一个好的网络管理员会关注网络安全的当前趋势,并采取一切可能的预防措施,以确保网络尽可能安全。在本章中,我们将探讨一些可以增加网络安全性的方法。 diff --git a/docs/ms-linux-net-adm/ms-linux-net-adm_10.md b/docs/ms-linux-net-adm/ms-linux-net-adm_10.md index 6d19343..4b112f5 100644 --- a/docs/ms-linux-net-adm/ms-linux-net-adm_10.md +++ b/docs/ms-linux-net-adm/ms-linux-net-adm_10.md @@ -1,4 +1,4 @@ -# 第十章。故障排除网络问题 +# 第十章:故障排除网络问题 没有网络是完美的。无论我们计划和实施基础设施的多么完美,问题都可能发生。作为网络管理员,您需要的最重要的技能是解决问题的能力。当问题发生时,您的理性思考和通过排除法缩小问题范围的能力将帮助您度过难关。尽管当事情变得一团糟时肯定会很有压力,但网络管理员们享受着工作的安全性。在本章中,我们将解决 Linux 网络中可能出现的一些常见问题。在我们旅程的最后一章中,我们将涵盖: diff --git a/docs/ms-linux-sh-scp/ms-linux-sh-scp_01.md b/docs/ms-linux-sh-scp/ms-linux-sh-scp_01.md index 5838c28..1d0fe1c 100644 --- a/docs/ms-linux-sh-scp/ms-linux-sh-scp_01.md +++ b/docs/ms-linux-sh-scp/ms-linux-sh-scp_01.md @@ -1,4 +1,4 @@ -# 第一章。使用 Bash 脚本的“什么”和“为什么” +# 第一章:使用 Bash 脚本的“什么”和“为什么” 欢迎来到 bash 脚本的“什么”和“为什么”。我的名字是 Andrew Mallett,我是一个 bash 脚本迷,或者更准确地说是一个脚本迷。作为管理员,我看不出手动执行重复任务的必要性。当我们选择脚本来执行我们不喜欢的繁琐任务时,我们就有更多时间做更有趣的事情。在本章中,我们将向您介绍 bash 脚本的“什么”和“为什么”。如果您是新手,它将帮助您熟悉脚本,并为那些有更多经验并希望提高技能的人提供一些很好的见解。在本章中,每个元素都旨在增加您的知识,以帮助您实现您的目标。在这个过程中,我们将涵盖以下主题: diff --git a/docs/ms-linux-sh-scp/ms-linux-sh-scp_02.md b/docs/ms-linux-sh-scp/ms-linux-sh-scp_02.md index 47bfa7c..ef0d96a 100644 --- a/docs/ms-linux-sh-scp/ms-linux-sh-scp_02.md +++ b/docs/ms-linux-sh-scp/ms-linux-sh-scp_02.md @@ -1,4 +1,4 @@ -# 第二章。创建交互式脚本 +# 第二章:创建交互式脚本 在第一章的*使用 Bash 脚本的什么和为什么*中,我们学习了如何创建脚本以及使用一些基本元素。这些包括我们在执行脚本时可以传递的可选参数。在本章中,我们将通过使用 read shell 内置命令来扩展这一点,以允许交互式脚本。交互式脚本是在脚本执行期间提示信息的脚本。在这样做的过程中,我们将涵盖以下主题: diff --git a/docs/ms-linux-sh-scp/ms-linux-sh-scp_03.md b/docs/ms-linux-sh-scp/ms-linux-sh-scp_03.md index 3a865dc..b5cc3d9 100644 --- a/docs/ms-linux-sh-scp/ms-linux-sh-scp_03.md +++ b/docs/ms-linux-sh-scp/ms-linux-sh-scp_03.md @@ -1,4 +1,4 @@ -# 第三章. 附加条件 +# 第三章:附加条件 我想我们现在可以说我们已经进入了脚本的细节部分。这些是使用条件编写到我们的脚本中的细节,用于测试语句是否应该运行。我们现在准备在脚本中添加一些智能,使我们的脚本变得更健壮,更易于使用和更可靠。条件语句可以用简单的命令行列表`AND`或`OR`命令一起编写,或者更常见的是在传统的`if`语句中。 diff --git a/docs/ms-linux-sh-scp/ms-linux-sh-scp_04.md b/docs/ms-linux-sh-scp/ms-linux-sh-scp_04.md index 1a0627e..f55a8b0 100644 --- a/docs/ms-linux-sh-scp/ms-linux-sh-scp_04.md +++ b/docs/ms-linux-sh-scp/ms-linux-sh-scp_04.md @@ -1,4 +1,4 @@ -# 第四章。创建代码片段 +# 第四章:创建代码片段 如果您喜欢使用命令行,但也喜欢使用图形**集成开发环境**(**IDE**)的一些功能,那么本章可能会为您揭示一些新的想法。我们可以使用命令行中的`vi`或`vim`文本编辑器为常用的脚本元素创建快捷方式。 diff --git a/docs/ms-linux-sh-scp/ms-linux-sh-scp_05.md b/docs/ms-linux-sh-scp/ms-linux-sh-scp_05.md index 2abf262..aebbb96 100644 --- a/docs/ms-linux-sh-scp/ms-linux-sh-scp_05.md +++ b/docs/ms-linux-sh-scp/ms-linux-sh-scp_05.md @@ -1,4 +1,4 @@ -# 第五章. 替代语法 +# 第五章:替代语法 在脚本编程的旅程中,我们已经看到我们可以使用`test`命令来确定条件状态。我们进一步发现,我们还可以使用单方括号。在这里,我们将回顾`test`命令,并更详细地查看单方括号。在更多了解方括号之后,我们将进入更高级的变量或参数管理;因此,提供默认值并理解引用问题。 diff --git a/docs/ms-linux-sh-scp/ms-linux-sh-scp_06.md b/docs/ms-linux-sh-scp/ms-linux-sh-scp_06.md index 2977a30..4828ee7 100644 --- a/docs/ms-linux-sh-scp/ms-linux-sh-scp_06.md +++ b/docs/ms-linux-sh-scp/ms-linux-sh-scp_06.md @@ -1,4 +1,4 @@ -# 第六章。使用循环迭代 +# 第六章:使用循环迭代 记住,脚本是给懒人用的。我们是世界上有更重要事情要做的人,而不是重复一项任务 100 次或更多次;循环是我们的朋友。 diff --git a/docs/ms-linux-sh-scp/ms-linux-sh-scp_07.md b/docs/ms-linux-sh-scp/ms-linux-sh-scp_07.md index 2d061cf..e865bbc 100644 --- a/docs/ms-linux-sh-scp/ms-linux-sh-scp_07.md +++ b/docs/ms-linux-sh-scp/ms-linux-sh-scp_07.md @@ -1,4 +1,4 @@ -# 第七章。使用函数创建构建块 +# 第七章:使用函数创建构建块 在本章中,我们将深入了解函数的奇妙世界。我们可以将这些视为创建强大和适应性脚本的模块化构建块。通过创建函数,我们将代码添加到一个单独的构建块中,与脚本的其余部分隔离开来。专注于改进单个函数要比尝试改进整个脚本容易得多。没有函数,很难专注于问题区域,代码经常重复,这意味着需要在许多位置进行更新。函数被命名为代码块或脚本中的脚本,并且它们可以克服与更复杂代码相关的许多问题。 diff --git a/docs/ms-linux-sh-scp/ms-linux-sh-scp_08.md b/docs/ms-linux-sh-scp/ms-linux-sh-scp_08.md index 4418e0f..633a5d1 100644 --- a/docs/ms-linux-sh-scp/ms-linux-sh-scp_08.md +++ b/docs/ms-linux-sh-scp/ms-linux-sh-scp_08.md @@ -1,4 +1,4 @@ -# 第八章。介绍 sed +# 第八章:介绍 sed 在上一章中,我们看到我们可以利用`sed`在脚本中编辑文件。`sed`命令是**流编辑器**,逐行打开文件以搜索或编辑文件内容。从历史上看,这追溯到 Unix,那时系统可能没有足够的 RAM 来打开非常大的文件。使用`sed`绝对是必不可少的。即使在今天,我们仍然会使用`sed`来对包含数百或数千条记录的文件进行更改和显示数据。这比人类尝试做同样的事情更简单、更容易、更可靠。最重要的是,正如我们所见,我们可以在脚本中使用`sed`自动编辑文件,无需人工干预。 diff --git a/docs/ms-linux-sh-scp/ms-linux-sh-scp_09.md b/docs/ms-linux-sh-scp/ms-linux-sh-scp_09.md index d43573d..f756300 100644 --- a/docs/ms-linux-sh-scp/ms-linux-sh-scp_09.md +++ b/docs/ms-linux-sh-scp/ms-linux-sh-scp_09.md @@ -1,4 +1,4 @@ -# 第九章。自动化 Apache 虚拟主机 +# 第九章:自动化 Apache 虚拟主机 现在我们已经了解了一些流编辑器`sed`,我们可以将这些知识付诸实践。在第八章中,*介绍 sed*,我们已经习惯了`sed`的一些功能;然而,这只是编辑器中所包含的一小部分功能。在本章中,我们将更多地使用`sed`,并且在使用我们的 bash 脚本时,暴露自己于工具的一些实际用途。 diff --git a/docs/ms-linux-sh-scp/ms-linux-sh-scp_10.md b/docs/ms-linux-sh-scp/ms-linux-sh-scp_10.md index 3e637cb..db0a7e7 100644 --- a/docs/ms-linux-sh-scp/ms-linux-sh-scp_10.md +++ b/docs/ms-linux-sh-scp/ms-linux-sh-scp_10.md @@ -1,4 +1,4 @@ -# 第十章 awk 基础知识 +# 第十章:awk 基础知识 流编辑器并不孤单,它还有一个大哥 awk。在本章中,我们将介绍 awk 的基础知识,并看到 awk 编程语言的强大之处。我们将了解为什么我们需要和喜爱 awk,以及在开始在接下来的两章中实际使用 awk 之前,我们如何利用一些基本功能。在这个过程中,我们将涵盖以下主题: diff --git a/docs/ms-linux-sh-scp/ms-linux-sh-scp_11.md b/docs/ms-linux-sh-scp/ms-linux-sh-scp_11.md index e8cfbfd..0ec42d6 100644 --- a/docs/ms-linux-sh-scp/ms-linux-sh-scp_11.md +++ b/docs/ms-linux-sh-scp/ms-linux-sh-scp_11.md @@ -1,4 +1,4 @@ -# 第十一章。使用 Awk 总结日志 +# 第十一章:使用 Awk 总结日志 awk 真正擅长的任务之一是从日志文件中过滤数据。这些日志文件可能有很多行,可能有 250,000 行或更多。我曾处理过超过一百万行的数据。Awk 可以快速有效地处理这些行。例如,我们将使用包含 30,000 行的 Web 服务器访问日志文件,以展示 awk 代码的有效性和良好编写。在本章中,我们将涵盖以下主题: diff --git a/docs/ms-linux-sh-scp/ms-linux-sh-scp_12.md b/docs/ms-linux-sh-scp/ms-linux-sh-scp_12.md index c306882..0d6881f 100644 --- a/docs/ms-linux-sh-scp/ms-linux-sh-scp_12.md +++ b/docs/ms-linux-sh-scp/ms-linux-sh-scp_12.md @@ -1,4 +1,4 @@ -# 第十二章。使用 Awk 改进 lastlog +# 第十二章:使用 Awk 改进 lastlog 我们已经在第十一章中看到了如何从纯文本文件中挖掘大量数据并创建复杂报告。同样,我们可以使用标准命令行工具的输出来创建广泛的报告,比如`lastlog`工具。`lastlog`本身可以报告所有用户的最后登录时间。然而,我们可能希望过滤`lastlog`的输出。也许您需要排除从未用于登录系统的用户帐户。也可能不相关报告`root`,因为该帐户可能主要用于`sudo`,而不用于记录标准登录。 diff --git a/docs/ms-linux-sh-scp/ms-linux-sh-scp_13.md b/docs/ms-linux-sh-scp/ms-linux-sh-scp_13.md index 46c56d0..15df49f 100644 --- a/docs/ms-linux-sh-scp/ms-linux-sh-scp_13.md +++ b/docs/ms-linux-sh-scp/ms-linux-sh-scp_13.md @@ -1,4 +1,4 @@ -# 第十三章。使用 Perl 作为 Bash 脚本的替代方案 +# 第十三章:使用 Perl 作为 Bash 脚本的替代方案 使用 bash 进行脚本编写可以帮助您自动化任务,并且通过掌握 bash 脚本编写,您可以取得很大成就。然而,您的旅程不应该以 bash 结束。虽然我们已经看到了在 bash 脚本中可用的功能,但我们受到可以运行的命令和它们的选项的限制。Bash 脚本允许我们访问命令;而如果我们使用 Perl 脚本,我们就可以访问系统的编程接口或 API。通过这种方式,我们通常可以用更少的资源实现更多的功能。 diff --git a/docs/ms-linux-sh-scp/ms-linux-sh-scp_14.md b/docs/ms-linux-sh-scp/ms-linux-sh-scp_14.md index a090652..d8331bd 100644 --- a/docs/ms-linux-sh-scp/ms-linux-sh-scp_14.md +++ b/docs/ms-linux-sh-scp/ms-linux-sh-scp_14.md @@ -1,4 +1,4 @@ -# 第十四章。使用 Python 作为 Bash 脚本替代品 +# 第十四章:使用 Python 作为 Bash 脚本替代品 Python 是另一种脚本语言,也是我们迄今为止看过的最新的脚本语言。与 bash 和 Perl 类似,Python 是一种解释性语言,并使用 shebang。尽管它没有 shell 界面,但我们可以访问一个名为 REPL 的控制台,在那里我们可以输入 Python 代码与系统进行交互。在本章中,我们将涵盖以下主题: diff --git a/docs/rhel-tbst-gd/rhel-tbst-gd_01.md b/docs/rhel-tbst-gd/rhel-tbst-gd_01.md index 2e67e9e..2d0178a 100644 --- a/docs/rhel-tbst-gd/rhel-tbst-gd_01.md +++ b/docs/rhel-tbst-gd/rhel-tbst-gd_01.md @@ -1,4 +1,4 @@ -# 第一章。故障排除最佳实践 +# 第一章:故障排除最佳实践 这一章,也就是第一章,可能是最重要但技术含量最低的。本书中的大多数章节涵盖了特定问题和解决这些问题所需的命令。然而,这一章将涵盖一些可以应用于任何问题的故障排除最佳实践。 diff --git a/docs/rhel-tbst-gd/rhel-tbst-gd_02.md b/docs/rhel-tbst-gd/rhel-tbst-gd_02.md index 665451d..f4acb7b 100644 --- a/docs/rhel-tbst-gd/rhel-tbst-gd_02.md +++ b/docs/rhel-tbst-gd/rhel-tbst-gd_02.md @@ -1,4 +1,4 @@ -# 第二章。故障排除命令和有用信息的来源 +# 第二章:故障排除命令和有用信息的来源 在第一章中,我们介绍了故障排除的最佳实践和涉及的高级流程。第一章是对故障排除的 20,000 英尺视图,而本章开始深入具体内容。 diff --git a/docs/rhel-tbst-gd/rhel-tbst-gd_03.md b/docs/rhel-tbst-gd/rhel-tbst-gd_03.md index e4a46e0..ba167b7 100644 --- a/docs/rhel-tbst-gd/rhel-tbst-gd_03.md +++ b/docs/rhel-tbst-gd/rhel-tbst-gd_03.md @@ -1,4 +1,4 @@ -# 第三章。故障排除 Web 应用程序 +# 第三章:故障排除 Web 应用程序 在本书的第一章和第二章中,我们介绍了故障排除过程、信息的常见位置和有用的故障排除命令。在本章中,我们将通过一个示例问题来运行,以演示多种故障排除和补救步骤。特别是,我们将看一下解决基于 Web 的应用程序问题所需的步骤。 diff --git a/docs/rhel-tbst-gd/rhel-tbst-gd_04.md b/docs/rhel-tbst-gd/rhel-tbst-gd_04.md index bea0709..cc8852f 100644 --- a/docs/rhel-tbst-gd/rhel-tbst-gd_04.md +++ b/docs/rhel-tbst-gd/rhel-tbst-gd_04.md @@ -1,4 +1,4 @@ -# 第四章。故障排除性能问题 +# 第四章:故障排除性能问题 在第三章中,我们通过使用第一章中介绍的故障排除方法论,以及第二章中找到的几个基本故障排除命令和资源,来解决了 Web 应用程序的问题。 diff --git a/docs/rhel-tbst-gd/rhel-tbst-gd_05.md b/docs/rhel-tbst-gd/rhel-tbst-gd_05.md index 86821da..3fd0ba4 100644 --- a/docs/rhel-tbst-gd/rhel-tbst-gd_05.md +++ b/docs/rhel-tbst-gd/rhel-tbst-gd_05.md @@ -1,4 +1,4 @@ -# 第五章。网络故障排除 +# 第五章:网络故障排除 在第三章中,*故障排除 Web 应用程序*,我们深入研究了故障排除 Web 应用程序;虽然我们解决了一个复杂的应用程序错误,但我们完全跳过了 Web 应用程序的网络方面。在本章中,我们将调查一个报告的问题,这将引导我们了解 DNS、路由,当然还有 RHEL 系统的网络配置等概念。 diff --git a/docs/rhel-tbst-gd/rhel-tbst-gd_06.md b/docs/rhel-tbst-gd/rhel-tbst-gd_06.md index 5cd54f9..a449c1a 100644 --- a/docs/rhel-tbst-gd/rhel-tbst-gd_06.md +++ b/docs/rhel-tbst-gd/rhel-tbst-gd_06.md @@ -1,4 +1,4 @@ -# 第六章。诊断和纠正防火墙问题 +# 第六章:诊断和纠正防火墙问题 在上一章中,我们发现了如何使用`telnet`、`ping`、`curl`、`netstat`、`tcpdump`和`ip`等命令来解决与网络相关的问题。您还了解了**TCP 协议**的工作原理,以及如何使用**DNS**将域名转换为 IP。 diff --git a/docs/rhel-tbst-gd/rhel-tbst-gd_07.md b/docs/rhel-tbst-gd/rhel-tbst-gd_07.md index 6a8ac6b..537b4ba 100644 --- a/docs/rhel-tbst-gd/rhel-tbst-gd_07.md +++ b/docs/rhel-tbst-gd/rhel-tbst-gd_07.md @@ -1,4 +1,4 @@ -# 第七章。文件系统错误和恢复 +# 第七章:文件系统错误和恢复 在第五章*网络故障排除*和第六章*诊断和纠正防火墙问题*中,我们使用了许多工具来排除由于错误配置的路由和防火墙导致的网络连接问题。网络相关问题非常常见,这两个示例问题也是常见的情况。在本章中,我们将专注于与硬件相关的问题,并从排除文件系统错误开始。 diff --git a/docs/rhel-tbst-gd/rhel-tbst-gd_08.md b/docs/rhel-tbst-gd/rhel-tbst-gd_08.md index dca9747..9e15294 100644 --- a/docs/rhel-tbst-gd/rhel-tbst-gd_08.md +++ b/docs/rhel-tbst-gd/rhel-tbst-gd_08.md @@ -1,4 +1,4 @@ -# 第八章 硬件故障排除 +# 第八章:硬件故障排除 在上一章中,我们确定了我们的 NFS 上的文件系统被挂载为**只读**。为了确定原因,我们围绕 NFS 和文件系统进行了大量的故障排除。我们使用了诸如`showmount`查看可用的 NFS 共享和`mount`命令显示已挂载的文件系统等命令。 diff --git a/docs/rhel-tbst-gd/rhel-tbst-gd_09.md b/docs/rhel-tbst-gd/rhel-tbst-gd_09.md index e4b91b6..3eb93fa 100644 --- a/docs/rhel-tbst-gd/rhel-tbst-gd_09.md +++ b/docs/rhel-tbst-gd/rhel-tbst-gd_09.md @@ -1,4 +1,4 @@ -# 第九章 使用系统工具来排除应用程序问题 +# 第九章:使用系统工具来排除应用程序问题 在上一章中,我们讨论了故障排除硬件问题。具体来说,您学会了当硬盘从 RAID 中移除并且无法读取时该怎么做。 diff --git a/docs/rhel-tbst-gd/rhel-tbst-gd_10.md b/docs/rhel-tbst-gd/rhel-tbst-gd_10.md index cd43551..8055671 100644 --- a/docs/rhel-tbst-gd/rhel-tbst-gd_10.md +++ b/docs/rhel-tbst-gd/rhel-tbst-gd_10.md @@ -1,4 +1,4 @@ -# 第十章。理解 Linux 用户和内核限制 +# 第十章:理解 Linux 用户和内核限制 在上一章中,我们使用了`lsof`和`strace`等工具来确定应用程序问题的根本原因。 diff --git a/docs/rhel-tbst-gd/rhel-tbst-gd_11.md b/docs/rhel-tbst-gd/rhel-tbst-gd_11.md index 02dabe1..99865eb 100644 --- a/docs/rhel-tbst-gd/rhel-tbst-gd_11.md +++ b/docs/rhel-tbst-gd/rhel-tbst-gd_11.md @@ -1,4 +1,4 @@ -# 第十一章。从常见故障中恢复 +# 第十一章:从常见故障中恢复 在上一章中,我们探讨了 Linux 服务器上存在的用户和系统限制。我们看了看现有的限制以及如何更改应用程序所需的默认值。 diff --git a/docs/rhel-tbst-gd/rhel-tbst-gd_12.md b/docs/rhel-tbst-gd/rhel-tbst-gd_12.md index efe0554..b3baf30 100644 --- a/docs/rhel-tbst-gd/rhel-tbst-gd_12.md +++ b/docs/rhel-tbst-gd/rhel-tbst-gd_12.md @@ -1,4 +1,4 @@ -# 第十二章。意外重启的根本原因分析 +# 第十二章:意外重启的根本原因分析 在本章中,我们将对您在之前章节中学到的故障排除方法和技能进行测试。我们将对最困难的真实场景之一进行根本原因分析:意外重启。 diff --git a/docs/rhel8-adm/rhel8-adm_02.md b/docs/rhel8-adm/rhel8-adm_02.md index db14ad5..dacdf03 100644 --- a/docs/rhel8-adm/rhel8-adm_02.md +++ b/docs/rhel8-adm/rhel8-adm_02.md @@ -1,4 +1,4 @@ -# 第一章:*第一章*:安装 RHEL8 +# 第一章:安装 RHEL8 开始使用**Red Hat Enterprise Linux**或**RHEL**的第一步是让它运行起来。无论是在您自己的笔记本电脑上作为主系统,还是在虚拟机或物理服务器上,都需要安装它以便熟悉您想要学习使用的系统。强烈建议您在阅读本书时获取一个物理或虚拟机来使用该系统。 diff --git a/docs/rhel8-adm/rhel8-adm_03.md b/docs/rhel8-adm/rhel8-adm_03.md index cf25b28..6b6d419 100644 --- a/docs/rhel8-adm/rhel8-adm_03.md +++ b/docs/rhel8-adm/rhel8-adm_03.md @@ -1,4 +1,4 @@ -# 第二章:*第二章*:RHEL8 高级安装选项 +# 第二章:RHEL8 高级安装选项 在上一章中,我们学习了如何在物理或虚拟机上安装**Red Hat Enterprise Linux**,或**RHEL**,以便在阅读本书时使用。在本章中,我们将回顾如何在云中使用 RHEL *实例*以及在这样做时出现的主要差异。 diff --git a/docs/rhel8-adm/rhel8-adm_04.md b/docs/rhel8-adm/rhel8-adm_04.md index 1e4fa40..9debae0 100644 --- a/docs/rhel8-adm/rhel8-adm_04.md +++ b/docs/rhel8-adm/rhel8-adm_04.md @@ -1,4 +1,4 @@ -# 第三章:*第三章*:基本命令和简单的 shell 脚本 +# 第三章:基本命令和简单的 shell 脚本 一旦您的第一个**Red Hat Enterprise Linux (RHEL)**系统运行起来,您就想开始使用它,练习并熟悉它。在本章中,我们将回顾登录系统、浏览系统和了解其管理基础知识的基础知识。 diff --git a/docs/rhel8-adm/rhel8-adm_05.md b/docs/rhel8-adm/rhel8-adm_05.md index 64a55b7..b8c911b 100644 --- a/docs/rhel8-adm/rhel8-adm_05.md +++ b/docs/rhel8-adm/rhel8-adm_05.md @@ -1,4 +1,4 @@ -# 第四章:*第四章*:常规操作工具 +# 第四章:常规操作工具 在本书的这一部分,我们已经安装了一个系统,并且已经涵盖了一些可以创建来自动化任务的脚本,所以我们已经到了可以专注于系统本身的地步。 diff --git a/docs/rhel8-adm/rhel8-adm_06.md b/docs/rhel8-adm/rhel8-adm_06.md index aa6cadc..0f60ddd 100644 --- a/docs/rhel8-adm/rhel8-adm_06.md +++ b/docs/rhel8-adm/rhel8-adm_06.md @@ -1,4 +1,4 @@ -# 第五章:*第五章*:使用用户、用户组和权限保护系统 +# 第五章:使用用户、用户组和权限保护系统 安全性是管理系统的关键部分,了解安全概念以便为任何系统管理员提供正确的资源访问权限是必要的。 diff --git a/docs/rhel8-adm/rhel8-adm_07.md b/docs/rhel8-adm/rhel8-adm_07.md index a8ebe4b..c117204 100644 --- a/docs/rhel8-adm/rhel8-adm_07.md +++ b/docs/rhel8-adm/rhel8-adm_07.md @@ -1,4 +1,4 @@ -# 第六章:*第六章*:启用网络连接 +# 第六章:启用网络连接 当我们在第一章安装系统时,我们启用了网络接口。然而,网络配置是,或者可以是,更多的。 diff --git a/docs/rhel8-adm/rhel8-adm_08.md b/docs/rhel8-adm/rhel8-adm_08.md index 1b61bca..679f551 100644 --- a/docs/rhel8-adm/rhel8-adm_08.md +++ b/docs/rhel8-adm/rhel8-adm_08.md @@ -1,4 +1,4 @@ -# 第七章:*第七章*:添加、打补丁和管理软件 +# 第七章:添加、打补丁和管理软件 维护系统的软件,关闭安全问题,应用修复程序并保持系统最新是系统管理中的重要任务。在本章中,我们将回顾**Red Hat 订阅管理系统**的工作原理,如何确保软件包经过验证,以及保持系统更新的其他软件管理任务。 diff --git a/docs/rhel8-adm/rhel8-adm_10.md b/docs/rhel8-adm/rhel8-adm_10.md index 6872376..e248827 100644 --- a/docs/rhel8-adm/rhel8-adm_10.md +++ b/docs/rhel8-adm/rhel8-adm_10.md @@ -1,4 +1,4 @@ -# 第八章:*第八章*:远程管理系统 +# 第八章:远程管理系统 在处理系统时,一旦安装了服务器,甚至在安装过程中,管理可以远程执行。一旦安装了一台机器,其生命周期中需要执行的任务与已经执行的任务并没有太大不同。 diff --git a/docs/rhel8-adm/rhel8-adm_12.md b/docs/rhel8-adm/rhel8-adm_12.md index 2cee406..97931e2 100644 --- a/docs/rhel8-adm/rhel8-adm_12.md +++ b/docs/rhel8-adm/rhel8-adm_12.md @@ -1,4 +1,4 @@ -# 第十章:*第十章*:使用 SELinux 保护系统 +# 第十章:使用 SELinux 保护系统 在本章中,我们将熟悉 SELinux。SELinux 已经存在一段时间了,但对其工作原理的不了解导致许多人建议禁用它。 diff --git a/docs/rhel8-adm/rhel8-adm_13.md b/docs/rhel8-adm/rhel8-adm_13.md index 1a7bfc2..570354b 100644 --- a/docs/rhel8-adm/rhel8-adm_13.md +++ b/docs/rhel8-adm/rhel8-adm_13.md @@ -1,4 +1,4 @@ -# 第十一章:*第十一章*:使用 OpenSCAP 进行系统安全配置文件 +# 第十一章:使用 OpenSCAP 进行系统安全配置文件 **SCAP**代表**安全内容自动化协议**,这是一种标准化的检查、验证和报告漏洞评估和策略评估的方式。Red Hat Enterprise Linux (RHEL) 8 包括了工具**OpenSCAP**,以及用于审计和管理系统安全的配置文件。这有助于确保您正在管理的系统符合标准的安全策略,如**支付卡行业数据安全标准**(**PCI DSS**)或**通用操作系统保护配置文件**,或简称为**OSPP**,以及发现漏洞。 diff --git a/docs/rhel8-adm/rhel8-adm_15.md b/docs/rhel8-adm/rhel8-adm_15.md index 40243df..f249014 100644 --- a/docs/rhel8-adm/rhel8-adm_15.md +++ b/docs/rhel8-adm/rhel8-adm_15.md @@ -1,4 +1,4 @@ -# 第十二章:*第十二章*:管理本地存储和文件系统 +# 第十二章:管理本地存储和文件系统 在之前的章节中,我们已经学习了安全和系统管理。在本章中,我们将专注于资源管理,特别是存储管理。 diff --git a/docs/rhel8-adm/rhel8-adm_16.md b/docs/rhel8-adm/rhel8-adm_16.md index a291c9c..1785bd9 100644 --- a/docs/rhel8-adm/rhel8-adm_16.md +++ b/docs/rhel8-adm/rhel8-adm_16.md @@ -1,4 +1,4 @@ -# 第十三章:*第十三章*:使用 LVM 进行灵活的存储管理 +# 第十三章:使用 LVM 进行灵活的存储管理 通过使用**逻辑卷管理器**(**LVM**),可以以比*第十二章*中更灵活的方式来管理本地存储和文件系统。LVM 允许您将多个磁盘分配给同一个逻辑卷(在 LVM 中相当于分区),在不同磁盘之间复制数据,并对卷进行快照。 diff --git a/docs/rhel8-adm/rhel8-adm_17.md b/docs/rhel8-adm/rhel8-adm_17.md index ef5fb94..7df86b6 100644 --- a/docs/rhel8-adm/rhel8-adm_17.md +++ b/docs/rhel8-adm/rhel8-adm_17.md @@ -1,4 +1,4 @@ -# 第十四章:*第十四章*:使用 Stratis 和 VDO 进行高级存储管理 +# 第十四章:使用 Stratis 和 VDO 进行高级存储管理 在本章中,我们将学习**Stratis**和**虚拟数据优化器**(**VDO**)。 diff --git a/docs/rhel8-adm/rhel8-adm_18.md b/docs/rhel8-adm/rhel8-adm_18.md index a0a8118..ce3a5e1 100644 --- a/docs/rhel8-adm/rhel8-adm_18.md +++ b/docs/rhel8-adm/rhel8-adm_18.md @@ -1,4 +1,4 @@ -# 第十五章:*第十五章*:理解引导过程 +# 第十五章:理解引导过程 引导过程是指从您打开机器(物理或虚拟)的那一刻到操作系统完全加载的过程。 diff --git a/docs/rhel8-adm/rhel8-adm_19.md b/docs/rhel8-adm/rhel8-adm_19.md index 6c55928..d964812 100644 --- a/docs/rhel8-adm/rhel8-adm_19.md +++ b/docs/rhel8-adm/rhel8-adm_19.md @@ -1,4 +1,4 @@ -# 第十六章:*第十六章*:内核调优和使用`tuned`管理性能配置文件 +# 第十六章:内核调优和使用`tuned`管理性能配置文件 如前几章中偶尔描述的,每个系统性能配置文件必须适应我们系统的预期用途。 diff --git a/docs/rhel8-adm/rhel8-adm_22.md b/docs/rhel8-adm/rhel8-adm_22.md index 812b6a9..3c5dfd4 100644 --- a/docs/rhel8-adm/rhel8-adm_22.md +++ b/docs/rhel8-adm/rhel8-adm_22.md @@ -1,4 +1,4 @@ -# 第十八章:*第十八章*:**练习 1** +# 第十八章:练习 1 在这个练习中,我们将运行一系列步骤,检查您在整本书中所学到的知识。与之前的章节不同,不会指示所有步骤,因此您可以自行决定执行所需的步骤以完成您的目标。建议避免参考以前的章节进行指导。相反,尝试使用您的记忆或系统中可用的工具。如果正确执行此练习,将有效地为官方考试进行培训。 diff --git a/docs/rhel8-adm/rhel8-adm_23.md b/docs/rhel8-adm/rhel8-adm_23.md index 95e136f..b278986 100644 --- a/docs/rhel8-adm/rhel8-adm_23.md +++ b/docs/rhel8-adm/rhel8-adm_23.md @@ -1,4 +1,4 @@ -# 第十九章:*第十九章*:练习 2 +# 第十九章:练习 2 在本章的第二个练习中,我们将运行一系列练习,以检查您在本书中所学知识。与本书的其他章节不同,不是所有步骤都会被指定;您可以自行决定执行必要的步骤以完成必要的目标。建议您避免查阅章节以获取指导,而是尝试使用您的记忆或系统中可用的工具。当您参加官方考试时,这种经验将是一个关键因素。 diff --git a/docs/wk-linux/wk-linux_1.md b/docs/wk-linux/wk-linux_1.md index 1eeee0e..7e51cd5 100644 --- a/docs/wk-linux/wk-linux_1.md +++ b/docs/wk-linux/wk-linux_1.md @@ -1,4 +1,4 @@ -# 第一章。介绍 +# 第一章:介绍 这本书分为多个部分。在第一部分中,我们将探索一个新的终端,并向你展示如何安装和配置它。在第二部分中,我们将集中讨论配置你的 shell,添加插件,理解正则表达式,并使用管道和子 shell。然后,所有内容将汇集成一个 shell 脚本课程。在第三部分中,我们将使用 Vim,我们推荐的编辑器。我们将涵盖从配置它到学习键盘快捷键,安装插件,甚至将其用作密码管理器的所有内容。所以让我们开始吧。 diff --git a/docs/wk-linux/wk-linux_2.md b/docs/wk-linux/wk-linux_2.md index 1d90c13..63e2c52 100644 --- a/docs/wk-linux/wk-linux_2.md +++ b/docs/wk-linux/wk-linux_2.md @@ -1,4 +1,4 @@ -# 第二章. 高效的 Shell-重新发明你的工作方式 +# 第二章:高效的 Shell-重新发明你的工作方式 在本章中,我们将从简短介绍 Vim 开始,然后查看最基本的命令,以帮助您开始进行基本的 CRUD(创建、读取、更新、删除)操作。然后,我们将升级 shell 解释器为 zsh,并使用强大的`oh-my-zsh`框架赋予其超能力。我们将介绍一些基本的正则表达式,例如使用 grep 搜索文本。然后,我们将释放 Unix 管道的力量,并使用子 shell 运行嵌入命令。本章的后半部分将帮助我们了解如何通过展示一些更高级的 shell 脚本技术来提高生产力并自动化我们的许多日常工作。 diff --git a/docs/wk-linux/wk-linux_3.md b/docs/wk-linux/wk-linux_3.md index a1fccab..b1d2617 100644 --- a/docs/wk-linux/wk-linux_3.md +++ b/docs/wk-linux/wk-linux_3.md @@ -1,4 +1,4 @@ -# 第三章 Vim 功夫 +# 第三章:Vim 功夫 Vim 的默认配置通常相当一般。为了更好地使用 Vim 的功能,我们将通过其配置文件发挥其全部潜力。然后,我们将学习一些键盘快捷键,帮助我们加快工作流程。我们还将介绍一些常用的插件,使 Vim 变得更好用。我们将看到 Vim 如何通过加密文件来存储密码。每章结束时,将展示如何自动化 Vim 并轻松配置工作环境。 diff --git a/docs/wk-linux/wk-linux_4.md b/docs/wk-linux/wk-linux_4.md index 5006878..af6426c 100644 --- a/docs/wk-linux/wk-linux_4.md +++ b/docs/wk-linux/wk-linux_4.md @@ -1,4 +1,4 @@ -# 第四章。CLI - 隐藏的配方 +# 第四章:CLI - 隐藏的配方 本章将首先关注 sed,这是一个可以吓到很多 Linux 用户的工具之一。我们将看一些基本的`sed`命令,可以将几个小时的重构工作缩短为几分钟。我们将看到如何使用 Linux 计算机定位任何文件。此外,我们还将看到当 Tmux 进入我们的技能集时,远程工作将变得更好。您可以使用最好的终端复用器运行长时间的命令,分割屏幕,并且不会丢失工作。然后,您将学习如何使用 netstat 和 nmap 等命令发现和与您的网络进行交互。最后,我们将看到 Autoenv 如何自动切换环境,以及如何使用 rm 命令通过命令行使用垃圾箱实用程序与垃圾进行交互。 diff --git a/docs/wk-linux/wk-linux_5.md b/docs/wk-linux/wk-linux_5.md index 58da0a8..99e3d0b 100644 --- a/docs/wk-linux/wk-linux_5.md +++ b/docs/wk-linux/wk-linux_5.md @@ -1,4 +1,4 @@ -# 第五章。开发者的宝藏 +# 第五章:开发者的宝藏 在本章中,我们将通过使用 Python 构建一个 Web 服务器来开始。然后,我们将看到如何使用 ImageMagick 自动处理所有图像。然后,我们将介绍 git flow 分支模型及其如何帮助您。此外,我们将看到 meld 命令行如何帮助合并我们的 git 冲突。然后,我们将重点介绍 ngrok 工具的工作原理,并看到它如何通过代理来自互联网的请求到我们的笔记本电脑。我们还将探索 jq 的多功能查询能力,它是 JSON 的瑞士军刀!最后,我们将探索管理和终止 Linux 进程的方法。 diff --git a/docs/wk-linux/wk-linux_6.md b/docs/wk-linux/wk-linux_6.md index 8e8f305..d7d352f 100644 --- a/docs/wk-linux/wk-linux_6.md +++ b/docs/wk-linux/wk-linux_6.md @@ -1,4 +1,4 @@ -# 第六章 终端艺术 +# 第六章:终端艺术 只工作而不玩耍,会使杰克变得乏味。尽管命令行对很多人来说似乎很无聊,但它可以变得非常有趣。这完全取决于你的想象力。终端可以时尚,并且可以给人留下良好的印象,特别是我们在电影中看到的那些终端。颜色、ASCII 艺术和动画可以让我们的终端栩栩如生。所以,这里有一些终端艺术! diff --git a/docs/wsl2-tip-trk-tech/wsl2-tip-trk-tech_03.md b/docs/wsl2-tip-trk-tech/wsl2-tip-trk-tech_03.md index 7eb3e88..083ba5b 100644 --- a/docs/wsl2-tip-trk-tech/wsl2-tip-trk-tech_03.md +++ b/docs/wsl2-tip-trk-tech/wsl2-tip-trk-tech_03.md @@ -1,4 +1,4 @@ -# 第二章:*第二章*:安装和配置 Windows 子系统 Linux +# 第二章:安装和配置 Windows 子系统 Linux **Windows 子系统 Linux**(**WSL**)不是默认安装的,因此开始使用它的第一步将是安装它以及您选择的 Linux **发行版**(**distro**)。通过本章的学习,您将了解如何安装 WSL 以及如何安装 Linux 发行版以供使用。您还将了解如何检查和控制 Linux 发行版,以及如何配置 WSL 中的其他属性。 diff --git a/docs/wsl2-tip-trk-tech/wsl2-tip-trk-tech_04.md b/docs/wsl2-tip-trk-tech/wsl2-tip-trk-tech_04.md index 6cfdfb7..6ae85d5 100644 --- a/docs/wsl2-tip-trk-tech/wsl2-tip-trk-tech_04.md +++ b/docs/wsl2-tip-trk-tech/wsl2-tip-trk-tech_04.md @@ -1,4 +1,4 @@ -# 第三章:*第三章*:开始使用 Windows 终端 +# 第三章:开始使用 Windows 终端 微软已经宣布在即将发布的 Windows 子系统中支持 GUI 应用程序,但在撰写本书时,即使是早期预览形式也不可用。在本书中,我们选择关注 WSL 的稳定发布功能,因此它涵盖了 WSL 的当前以命令行为中心的视图。因此,装备一个良好的终端体验是有意义的。Windows 中的默认控制台体验(由`cmd.exe`使用)在许多方面都有所欠缺,而新的 Windows 终端提供了许多好处。在本章中,我们将介绍其中一些好处,以及如何安装和开始使用 Windows 终端。 diff --git a/docs/wsl2-tip-trk-tech/wsl2-tip-trk-tech_06.md b/docs/wsl2-tip-trk-tech/wsl2-tip-trk-tech_06.md index ede2da2..3a35a84 100644 --- a/docs/wsl2-tip-trk-tech/wsl2-tip-trk-tech_06.md +++ b/docs/wsl2-tip-trk-tech/wsl2-tip-trk-tech_06.md @@ -1,4 +1,4 @@ -# 第四章:*第四章*:Windows 与 Linux 的互操作性 +# 第四章:Windows 与 Linux 的互操作性 在*第一章*中,我们将 WSL 体验与在虚拟机中运行 Linux 进行了比较;虚拟机专注于隔离,而 WSL 在 Windows 和 Linux 之间具有强大的互操作性。在本章中,您将开始了解这些功能,从与在 WSL 下运行的文件和应用程序进行交互开始,以及从 Windows 主机环境访问文件。这将包括查看如何在 Windows 和 WSL 中的脚本之间传递输出。之后,我们将看看 WSL 如何使 Linux 中的 Web 应用程序可以从 Windows 访问。 diff --git a/docs/wsl2-tip-trk-tech/wsl2-tip-trk-tech_07.md b/docs/wsl2-tip-trk-tech/wsl2-tip-trk-tech_07.md index 1fdc205..f423f00 100644 --- a/docs/wsl2-tip-trk-tech/wsl2-tip-trk-tech_07.md +++ b/docs/wsl2-tip-trk-tech/wsl2-tip-trk-tech_07.md @@ -1,4 +1,4 @@ -# 第五章:*第五章*:Linux 到 Windows 的互操作性 +# 第五章:Linux 到 Windows 的互操作性 在*第一章*中,*介绍 Windows 子系统 Linux*,我们将 WSL 体验与在虚拟机中运行 Linux 进行了比较,并提到了 WSL 的互操作性能力。在*第四章*中,*Windows 到 Linux 的互操作性*,我们看到了如何开始利用这些互操作性功能。在本章中,我们将继续探索互操作性功能,但这次是从 Linux 端进行。这将使您能够将 Windows 命令和工具的功能带入 WSL 环境中。 diff --git a/docs/wsl2-tip-trk-tech/wsl2-tip-trk-tech_08.md b/docs/wsl2-tip-trk-tech/wsl2-tip-trk-tech_08.md index dd70bfa..6171ac6 100644 --- a/docs/wsl2-tip-trk-tech/wsl2-tip-trk-tech_08.md +++ b/docs/wsl2-tip-trk-tech/wsl2-tip-trk-tech_08.md @@ -1,4 +1,4 @@ -# 第六章:*第六章*:从 Windows 终端获取更多信息 +# 第六章:从 Windows 终端获取更多信息 新的 Windows 终端在*第三章*,*开始使用 Windows 终端*中介绍过,您已经了解了如何安装它以及如何自定义配置文件的顺序和它们在该章节中使用的颜色方案。在本章中,我们将进一步探索 Windows 终端,并介绍一些在 Windows 终端中运行多个不同 shell 的方法。之后,我们将介绍如何添加自定义配置文件,以简化常见任务的流程。 diff --git a/docs/wsl2-tip-trk-tech/wsl2-tip-trk-tech_10.md b/docs/wsl2-tip-trk-tech/wsl2-tip-trk-tech_10.md index 843d21c..8a94797 100644 --- a/docs/wsl2-tip-trk-tech/wsl2-tip-trk-tech_10.md +++ b/docs/wsl2-tip-trk-tech/wsl2-tip-trk-tech_10.md @@ -1,4 +1,4 @@ -# 第八章:*第八章*:使用 WSL 发行版 +# 第八章:使用 WSL 发行版 在*第二章*中,*安装和配置 Windows 子系统 Linux*,在*介绍 wsl 命令*部分,我们看到了如何使用`wsl`命令列出我们安装的**发行版**(**distros**),在其中运行命令,并根据需要终止它们。 diff --git a/docs/wsl2-tip-trk-tech/wsl2-tip-trk-tech_12.md b/docs/wsl2-tip-trk-tech/wsl2-tip-trk-tech_12.md index 8b3349c..ebd5a60 100644 --- a/docs/wsl2-tip-trk-tech/wsl2-tip-trk-tech_12.md +++ b/docs/wsl2-tip-trk-tech/wsl2-tip-trk-tech_12.md @@ -1,4 +1,4 @@ -# 第九章:*第九章*:Visual Studio Code 和 WSL +# 第九章:Visual Studio Code 和 WSL 到目前为止,本书的重点一直是 WSL 和直接使用 WSL 进行工作。在本章中,我们将提升一个层次,开始探讨在开发应用程序时如何在 WSL 之上工作。特别是在本章中,我们将探索微软提供的免费编辑器 Visual Studio Code。 diff --git a/docs/wsl2-tip-trk-tech/wsl2-tip-trk-tech_13.md b/docs/wsl2-tip-trk-tech/wsl2-tip-trk-tech_13.md index d27d1c7..8466f95 100644 --- a/docs/wsl2-tip-trk-tech/wsl2-tip-trk-tech_13.md +++ b/docs/wsl2-tip-trk-tech/wsl2-tip-trk-tech_13.md @@ -1,4 +1,4 @@ -# 第十章:*第十章*:Visual Studio Code 和容器 +# 第十章:Visual Studio Code 和容器 在*第九章*,*Visual Studio Code 和 WSL*中,我们看到 Visual Studio Code 编辑器允许将用户界面与与我们的代码交互和运行代码的其他功能分离。通过 WSL,这使我们可以在运行我们项目的所有关键部分的 Linux 中保持熟悉的基于 Windows 的用户界面。除了允许代码交互在 WSL 中的服务器组件中运行外,Visual Studio Code 还允许我们通过 SSH 连接到代码服务器或在容器中运行它。能够在容器中运行是由**Remote-Containers**扩展提供的,本章将重点介绍如何使用此功能。我们将看到如何使用这些开发容器(或**dev container**)来封装我们的项目依赖项。通过这样做,我们可以更容易地将人们引入我们的项目,并获得一种优雅的方式来隔离可能发生冲突的工具集。 diff --git a/docs/wsl2-tip-trk-tech/wsl2-tip-trk-tech_14.md b/docs/wsl2-tip-trk-tech/wsl2-tip-trk-tech_14.md index 8ad64ec..fcb2f49 100644 --- a/docs/wsl2-tip-trk-tech/wsl2-tip-trk-tech_14.md +++ b/docs/wsl2-tip-trk-tech/wsl2-tip-trk-tech_14.md @@ -1,4 +1,4 @@ -# 第十一章:*第十一章*:命令行工具的生产力技巧 +# 第十一章:命令行工具的生产力技巧 在本章中,我们将涵盖一些使用几种不同常见命令行工具的技巧。我们将首先看看如何提高在 WSL 中使用 Git 的生产力和改善体验。Git 被广泛使用,通过提高使用它进行源代码控制的任何项目的生产力,都会得到改善。之后,我们将看看 Azure 的`az`和 Kubernetes 的`kubectl`。对于这两个 CLI,我们将部署一个简单的示例资源,然后展示一些使用它们查询数据的技巧。与许多 CLI 一样,`az`和`kubectl`都提供了在`az`或`kubectl`中获取数据的选项,这些部分涵盖的技术可能与您正在使用的其他 CLI 相关。通过有效地学习如何操作 JSON,您可以打开使用各种 API 和 CLI 进行脚本编写和自动化的新可能性。