《Linux使用和管理指南:从云原生到可观测性》封面

内容简介

  本书主要以结构化方法介绍如何在开发或操作中使用Linux。本书还提供了使用这个开源操作系统改进工作流程的技巧,并讲解了如何获得现代终端、shell和命令的实际操作经验,如何使用Linux网络,如何管理工作负载,如何实现现代Linux可观测性。本书还讲述了如何使用容器、systemd、现代文件系统以及诸如Flatcar和Bottlerocket等不可变发行版以现代方式运行Linux应用程序。本书适合开发人员、软件架构师和站点可靠性工程师阅读。

作者简介

  Michael Hausenblas是AWS的解决方案工程主管,也是CNCF的云原生大使。他负责Prometheus、Grafana和OpenTelemetry的上游服务与托管服务。此前,Michael曾在Red Hat、Mesosphere(现为D2iQ)和MapR(现为HPE的一部分)工作,且在应用研究领域有十几年的实践经验。

目录

O'Reilly Media,Inc.介绍
前言
第1章 Linux简介
1.1 什么是现代环境
1.2 Linux故事(到目前为止)
1.3 为什么要使用操作系统
1.4 Linux发行版
1.5 资源的可见性
1.6 Linux高级概述
1.7 总结
第2章 Linux内核
2.1 Linux架构
2.2 CPU架构
2.2.1 x86架构
2.2.2 ARM架构
2.2.3 RISC-V架构
2.3 内核组件
2.3.1 进程管理
2.3.2 内存管理
2.3.3 网络
2.3.4 文件系统
2.3.5 设备驱动程序
2.3.6 系统调用
2.4 内核扩展
2.4.1 模块
2.4.2 一种扩展内核的现代方法:eBPF
2.5 总结
第3章 shell和脚本
3.1 基础知识
3.1.1 终端
3.1.2 shell
3.1.3 现代命令
3.1.4 常见的任务
3.2 人性化的shell
3.2.1 Fish shell
3.2.2 Z-shell
3.2.3 其他现代shell
3.2.4 我应该使用哪个shell
3.3 终端多路复用器
3.3.1 screen
3.3.2 tmux
3.3.3 其他多路复用器
3.3.4 我应该使用哪个多路复用器
3.4 脚本
3.4.1 脚本基础知识
3.4.2 编写可移植的bash脚本
3.4.3 检测和测试脚本
3.4.4 端到端示例:GitHub用户信息脚本
3.5 总结
第4章 访问控制
4.1 基础知识
4.1.1 资源和所有权
4.1.2 沙盒
4.1.3 访问控制类型
4.2 用户
4.2.1 管理本地用户
4.2.2 用户集中管理
4.3 权限
4.3.1 文件权限
4.3.2 进程权限
4.4 高级权限管理
4.4.1 功能
4.4.2 seccomp配置文件
4.4.3 访问控制列表
4.5 良好实践
4.6 总结
第5章 文件系统
5.1 基础知识
5.2 虚拟文件系统
5.2.1 逻辑卷管理器
5.2.2 文件系统操作
5.2.3 常用文件系统布局
5.3 伪文件系统
5.3.1 procfs
5.3.2 sysfs
5.3.3 devfs
5.4 常规文件
5.4.1 通用文件系统
5.4.2 内存文件系统
5.4.3 写时复制文件系统
5.5 总结
第6章 应用、包管理和容器
6.1 基础知识
6.2 Linux启动过程
6.3 systemd
6.3.1 单元
6.3.2 使用systemctl进行管理
6.3.3 使用journalctl进行监控
6.3.4 示例:scheduling greeter
6.4 Linux应用程序供应链
6.5 软件包和包管理器
6.5.1 RPM包管理器
6.5.2 Debian deb
6.5.3 特定语言的包管理器
6.6 容器
6.6.1 Linux命名空间
6.6.2 Linux cgroups
6.6.3 写时复制文件系统
6.6.4 Docker
6.6.5 其他容器工具
6.7 现代包管理器
6.8 总结
第7章 网络
7.1 基础知识
7.2 TCP/IP协议栈
7.2.1 链路层
7.2.2 互联网层
7.2.3 传输层
7.2.4 套接字
7.3 DNS
7.3.1 DNS记录
7.3.2 DNS查询
7.4 应用层网络
7.4.1 万维网
7.4.2 安全外壳
7.4.3 文件传输
7.4.4 网络文件系统
7.4.5 与Windows共享
7.5 高级网络主题
7.5.1 whois
7.5.2 动态主机配置协议
7.5.3 网络时间协议
7.5.4 wireshark和tshark
7.5.5 其他高级工具
7.6 总结
第8章 可观测性
8.1 基础知识
8.1.1 可观测性策略
8.1.2 术语
8.1.3 信号类型
8.2 日志
8.2.1 Syslog
8.2.2 journalctl
8.3 监控
8.3.1 设备I/O和网络接口
8.3.2 集成的性能监视器
8.3.3 工具化
8.4 高级可观测性
8.4.1 追踪和剖析
8.4.2 Prometheus和Grafana
8.5 总结
第9章 进阶主题
9.1 进程间通信
9.1.1 信号
9.1.2 命名管道
9.1.3 UNIX域套接字
9.2 虚拟机
9.2.1 基于内核的虚拟机
9.2.2 Firecracker
9.3 现代Linux发行版
9.3.1 Red Hat Enterprise Linux CoreOS
9.3.2 Flatcar Container Linux
9.3.3 Bottlerocket
9.3.4 RancherOS
9.4 精选安全主题
9.4.1 Kerberos
9.4.2 可插拔认证模块
9.5 其他现代和未来产品
9.5.1 NixOS
9.5.2 桌面上的Linux
9.5.3 嵌入式系统上的Linux
9.5.4 云IDE中的Linux
9.6 总结
附录A 有用的解决方案
附录B 现代Linux工具

最后修改:2024 年 09 月 03 日