《Linux使用和管理指南:从云原生到可观测性》迈克尔·豪森布拉斯【文字版_PDF电子书_雅书】
书名:Linux使用和管理指南:从云原生到可观测性 作者:[奥]迈克尔·豪森布拉斯(MichaelHausenblas 出版社:机械工业出版社 译者:王浩然/孟博 出版日期:2024-5 页数:/ ISBN:9787111755333 |
0.0 豆瓣评分 |
当当正版 |
淘宝购买 |
京东图书 |
点击喜欢 |
全网资源 |
内容简介:
本书主要以结构化方法介绍如何在开发或操作中使用Linux。本书还提供了使用这个开源操作系统改进工作流程的技巧,并讲解了如何获得现代终端、shell和命令的实际操作经验,如何使用Linux网络,如何管理工作负载,如何实现现代Linux可观测性。本书还讲述了如何使用容器、systemd、现代文件系统以及诸如Flatcar和Bottlerocket等不可变发行版以现代方式运行Linux应用程序。本书适合开发人员、软件架构师和站点可靠性工程师阅读。
作者简介:
Michael Hausenblas是AWS的解决方案工程主管,也是CNCF的云原生大使。他负责Prometheus、Grafana和OpenTelemetry的上游服务与托管服务。此前,Michael曾在Red Hat、Mesosphere(现为D2iQ)和MapR(现为HPE的一部分)工作,且在应用研究领域有十几年的实践经验。
目 录:
前言1
第1章 Linux简介7
1.1 什么是现代环境7
1.2 Linux故事(到目前为止)8
1.3 为什么要使用操作系统9
1.4 Linux发行版10
1.5 资源的可见性11
1.6 Linux高级概述13
1.7 总结14
第2章 Linux内核16
2.1 Linux架构16
2.2 CPU架构18
2.2.1 x86架构19
2.2.2 ARM架构20
2.2.3 RISC-V架构20
2.3 内核组件20
2.3.1 进程管理21
2.3.2 内存管理23
2.3.3 网络24
2.3.4 文件系统25
2.3.5 设备驱动程序25
2.3.6 系统调用26
2.4 内核扩展29
2.4.1 模块30
2.4.2 一种扩展内核的现代方法:eBPF31
2.5 总结32
第3章 shell和脚本35
3.1 基础知识36
3.1.1 终端36
3.1.2 shell37
3.1.3 现代命令44
3.1.4 常见的任务47
3.2 人性化的shell50
3.2.1 Fish shell50
3.2.2 Z-shell55
3.2.3 其他现代shell55
3.2.4 我应该使用哪个shell56
3.3 终端多路复用器57
3.3.1 screen57
3.3.2 tmux58
3.3.3 其他多路复用器61
3.3.4 我应该使用哪个多路复用器62
3.4 脚本63
3.4.1脚本基础知识63
3.4.2 编写可移植的bash脚本65
3.4.3 检测和测试脚本67
3.4.4 端到端示例:GitHub用户信息脚本68
3.5 总结70
第4章 访问控制72
4.1 基础知识72
4.1.1 资源和所有权72
4.1.2 沙盒73
4.1.3 访问控制类型74
4.2 用户75
4.2.1 管理本地用户76
4.2.2 用户集中管理78
4.3 权限79
4.3.1 文件权限79
4.3.2 进程权限83
4.4 高级权限管理85
4.4.1 功能85
4.4.2 seccomp 配置文件86
4.4.3 访问控制列表86
4.5 良好实践87
4.6 总结87
第5章 文件系统89
5.1 基础知识89
5.2 虚拟文件系统93
5.2.1 逻辑卷管理器95
5.2.2 文件系统操作97
5.2.3 常用文件系统布局98
5.3 伪文件系统99
5.3.1 procfs100
5.3.2 sysfs101
5.3.3 devfs103
5.4 常规文件103
5.4.1 通用文件系统104
5.4.2 内存文件系统105
5.4.3 写时复制文件系统106
5.5 总结107
第6章 应用、包管理和容器109
6.1 基础知识110
6.2 Linux启动过程111
6.3 systemd112
6.3.1 单元113
6.3.2 使用systemctl 进行管理114
6.3.3 使用journalctl进行监控115
6.3.4 示例:scheduling greeter115
6.4 Linux应用程序供应链117
6.5 软件包和包管理器119
6.5.1 RPM包管理器119
6.5.2 Debian deb122
6.5.3 特定语言的包管理器124
6.6 容器124
6.6.1 Linux命名空间126
6.6.2 Linux cgroups127
6.6.3 写时复制文件系统130
6.6.4 Docker131
6.6.5 其他容器工具134
6.7 现代包管理器135
6.8 总结136
第7章 网络138
7.1 基础知识138
7.2 TCP/IP协议栈140
7.2.1 链路层141
7.2.2 互联网层144
7.2.3 传输层151
7.2.4 套接字155
7.3 DNS156
7.3.1 DNS记录159
7.3.2 DNS查询161
7.4 应用层网络163
7.4.1 万维网163
7.4.2 安全外壳167
7.4.3 文件传输168
7.4.4 网络文件系统170
7.4.5 与Windows共享171
7.5 高级网络主题171
7.5.1 whois171
7.5.2 动态主机配置协议172
7.5.3 网络时间协议172
7.5.4 wireshark和tshark173
7.5.5 其他高级工具174
7.6 总结174
第8章 可观测性176
8.1 基础知识177
8.1.1 可观测性策略177
8.1.2 术语178
8.1.3 信号类型178
8.2 日志180
8.2.1 Syslog183
8.2.2 journalctl184
8.3 监控185
8.3.1 设备I/O和网络接口187
8.3.2 集成的性能监视器189
8.3.3 工具化192
8.4 高级可观测性192
8.4.1 追踪和剖析193
8.4.2 Prometheus和Grafana194
8.5 总结198
第9章 进阶主题199
9.1 进程间通信199
9.1.1 信号200
9.1.2 命名管道201
9.1.3 UNIX域套接字202
9.2 虚拟机203
9.2.1 基于内核的虚拟机204
9.2.2 Firecracker205
9.3 现代Linux发行版205
9.3.1 Red Hat Enterprise Linux CoreOS206
9.3.2 Flatcar Container Linux206
9.3.3 Bottlerocket207
9.3.4 RancherOS207
9.4 精选安全主题207
9.4.1 Kerberos207
9.4.2 可插拔认证模块208
9.5 其他现代和未来产品208
9.5.1 NixOS209
9.5.2 桌面上的Linux209
9.5.3 嵌入式系统上的Linux210
9.5.4 云IDE中的Linux210
9.6 总结210
附录A 有用的解决方案213
附录B 现代Linux工具219