文章目录
- 一、Linux系统管理的高级技巧
-
- [1. 性能调优与监控:](#1. 性能调优与监控:)
- [2. 自动化与脚本编写:](#2. 自动化与脚本编写:)
- [3. 文件系统与存储管理:](#3. 文件系统与存储管理:)
- 二、服务器配置优化的策略
-
- [1. 硬件选型与配置:](#1. 硬件选型与配置:)
- [2. 网络配置与优化:](#2. 网络配置与优化:)
- [3. 应用部署与调优:](#3. 应用部署与调优:)
- 三、安全策略的实施细节
-
- [1. 访问控制与认证:](#1. 访问控制与认证:)
- [2. 防火墙与入侵检测:](#2. 防火墙与入侵检测:)
- [3. 系统更新与补丁管理:](#3. 系统更新与补丁管理:)
- 四、云数据中心运维的最佳实践
-
- [1. 虚拟化与容器化:](#1. 虚拟化与容器化:)
- [2. 自动化运维与CI/CD:](#2. 自动化运维与CI/CD:)
- [3. 资源调度与容量规划:](#3. 资源调度与容量规划:)
- 《Linux系统管理、服务器设置、安全、云数据中心(第10版)》
在当今这个数字化飞速发展的时代,Linux系统以其卓越的稳定性、高度的可定制性和强大的社区支持,成为了服务器管理、云数据中心构建及安全加固等领域的核心力量。那么有哪些实用的Linux系统管理的高级技巧、服务器配置优化的策略、安全策略的实施细节以及云数据中心运维的最佳实践呢?
一、Linux系统管理的高级技巧
1. 性能调优与监控:
掌握使用如top、htop、vmstat、iostat等工具进行实时性能监控。
理解CPU、内存、磁盘IO等关键资源的使用情况,并学会根据监控结果进行相应的优化调整。
学习如何配置和使用如Prometheus、Grafana等现代化监控解决方案,实现更全面的系统监控和警报功能。
2. 自动化与脚本编写:
精通Shell脚本编程,能够编写复杂的自动化脚本以简化日常运维任务。
学习Ansible、Puppet等自动化配置管理工具,实现大规模服务器的快速部署和配置同步。
3. 文件系统与存储管理:
深入理解Linux文件系统(如ext4、XFS)的工作原理和性能特点。
掌握LVM(逻辑卷管理)的使用,实现存储的动态扩展和管理。
了解并实践基于NFS、iSCSI等网络存储技术的解决方案。
二、服务器配置优化的策略
1. 硬件选型与配置:
根据业务需求选择合适的服务器硬件,包括CPU、内存、存储和网络设备等。
优化BIOS/UEFI设置,如关闭不必要的服务和特性,以提升系统启动速度和运行效率。
2. 网络配置与优化:
配置高效的网络协议栈,如TCP/IP参数调优,以提高网络吞吐量和降低延迟。
使用负载均衡器和反向代理服务器(如Nginx、HAProxy)实现流量的智能分发和缓存加速。
3. 应用部署与调优:
根据应用特性选择合适的Web服务器(如Apache、Nginx)和数据库(如MySQL、PostgreSQL)。
对应用进行性能调优,包括代码优化、数据库索引优化、缓存策略等。
三、安全策略的实施细节
1. 访问控制与认证:
实施强密码策略,使用SSH密钥认证代替密码登录。
配置sudo和SELinux等安全模块,实现细粒度的访问控制。
2. 防火墙与入侵检测:
配置iptables或firewalld等防火墙工具,限制不必要的网络访问。
部署入侵检测系统(如Snort)和入侵防御系统(IPS),及时发现并应对潜在的安全威胁。
3. 系统更新与补丁管理:
定期更新操作系统和软件包,以修复已知的安全漏洞。
使用自动化工具(如Ansible)来管理补丁的部署和验证过程。
四、云数据中心运维的最佳实践
1. 虚拟化与容器化:
利用KVM、VMware等虚拟化技术实现资源的灵活分配和隔离。
采用Docker、Kubernetes等容器化技术,实现应用的快速部署和扩展。
2. 自动化运维与CI/CD:
实施自动化运维流程,包括配置管理、部署、监控和故障恢复等。
集成CI/CD流程,实现代码的持续集成和持续部署。
3. 资源调度与容量规划:
使用云计算平台的资源调度功能,实现资源的弹性伸缩和按需分配。
定期进行容量规划,确保云数据中心能够满足未来业务增长的需求。
Linux系统管理、服务器配置优化、安全策略实施以及云数据中心运维是一个复杂而重要的领域。通过不断学习和实践,可以不断提升自己的技能水平,为企业的数字化转型和业务发展提供强有力的技术支持。
《Linux系统管理、服务器设置、安全、云数据中心(第10版)》
编辑推荐
本书详尽介绍Linux的方方面面。全书共分为6部分,包括"入门""成为一名Linux高级用户""成为一-名Linux系统管理员""成为--名Linux服务器管理员""学习Linux安全技术"和"将Linux拓展到云"。从讲述基本的Linux概念、shell 基本命令以及图形用户界面开始,一直到最后介绍Linux 编程环境,每一部分都提供了主要命令的详细解释和流程说明。本书的一一个显著特点是安排了很多章节介绍各种流行的Linux发行版。
本书并没有追求大而全地罗列所有命令,而是选择性地讲解较常用的命令:对于新手而言,选择出版日期较近、版本较新的更好,不然,单是花在解决版本不同问题上的精力就容易让人失去兴趣。本书是近年来学习Linux的最佳图书,架构清晰,用语准确。你可以边学习边解决问题,逐步构建完整的知识体系。
本书适合打算系统、全面地学习Linux 技术的初中级用户、开源软件爱好者和大专院校的师.生阅读,也非常适合准备从事Linux 平台开发的各类人员阅读,具有- -定Linux使用经验的用户也可通过本书温习Linux知识。
内容简介
精通Linux的终极指南
《Linux系统管理、服务器设置、安全、云数据中心(第10版)》在上一版的基础上全面更新,旨在帮助Linux新手及中级用户将Linux知识和技能提升到新水平。知名Linux专家、畅销书作家Christopher Negus在本书中浓墨重彩地描述Red Hat Enterprise Linux、Fedora和Ubuntu新版本及命令行工具,并通过分步的详明演示和精选习题引导读者悟透Linux操作系统的工作原理。本书还为各类Linux认证考试提供备考资料。
Linux是云计算中大多数技术进步的核心,这意味你必须扎实掌握Linux技术,从而在未来的数据中心高效工作。本书开篇介绍Linux基础知识,接着演示如何运用这些知识将Linux系统部署为虚拟机管理程序、云控制器和虚拟机,并讲述如何管理虚拟网络和网络存储。
本书指引你获取、安装和开始使用Linux,并最终驾轻就熟地管理和保护Linux。对于那些希望将Linux用作开发工作站的软件开发人员来说,本书也是优秀的参考资源。
作者简介
Christopher Negus是Red Hat公司的首席技术作家。在Red Hat工作的十多年里,Christopher为数百名有志于成为RHCE(Red Hat Certified Engineer,Red Hat认证工程师)的IT专业人士进行了授课。他还编写了大量文档,涉及从Linux到虚拟化、云计算和容器化等各个方面。
在加入Red Hat公司之前,Christopher独自编写或者与他人合著了几十本关于Linux和UNIX的书籍,包括Red Hat Linux Bible(所有版本)、Docker Containers、CentOS Bible、Fedora Bible、Linux Troubleshooting Bible、Linux Toys、 Linux Toys Ⅱ和本书的第9版。此外,他还与别人合作为高级用户编写了几本关于Linux工具箱系列的书:Fedora Linux Toolbox、SUSE Linux Toolbox、Ubuntu Linux Toolbox、Mac OS X Toolbox和BSD UNIX Toolbox。
在成为一名独立作者之前,Christopher与别人合作在开发UNIX操作系统的AT&T公司工作了8年,然后在20世纪90年代初搬到犹他州,为Novell的UnixWare项目作出贡献。在业余时间,Christopher喜欢踢足球以及和妻儿一起享受家庭的乐趣。
目录
bash
第1章 开始使用Linux 3
1.1 理解什么是Linux 4
1.2 了解如何区分Linux和其他
操作系统 5
1.3 探讨Linux历史 6
1.3.1 Bell实验室中自由的UNIX
文化 6
1.3.2 商业化的UNIX 8
1.3.3 GNU将UNIX转变为免费 9
1.3.4 BSD失去了一些动力 10
1.3.5 Linus弥补了缺失的部分 11
1.3.6 OSI开源定义 11
1.4 理解Linux发行版本是
如何出现的 12
1.4.1 选择Red Hat发行版本 13
1.4.2 选择Ubuntu或者其他Debian
发行版本 15
1.5 利用Linux找到职业机会 15
1.5.1 了解如何利用Linux挣钱 16
1.5.2 获得Red Hat认证 17
1.6 小结 19
第2章 创建完美的Linux桌面 21
2.1 了解Linux桌面技术 22
2.2 开始使用Fedora GNOME
桌面Live镜像 23
2.3 使用GNOME 3桌面 24
2.3.1 计算机启动后 24
2.3.2 设置GNOME 3桌面 29
2.3.3 扩展GNOME 3桌面 30
2.3.4 启动桌面应用程序 31
2.3.5 停止GNOME 3桌面 35
2.4 使用GNOME 2桌面 35
2.4.1 使用Metacity窗口管理器 36
2.4.2 更改GNOME的外观 37
2.4.3 使用GNOME面板 37
2.4.4 使用AIGLX添加3D效果 41
2.5 小结 42
2.6 习题 43
第II部分 成为一名Linux高级用户
第3章 使用shell 47
3.1 shell和Terminal窗口 48
3.1.1 使用shell提示符 48
3.1.2 使用Terminal窗口 49
3.1.3 使用虚拟控制台 50
3.2 选择shell 50
3.3 运行命令 51
3.3.1 了解命令语法 52
3.3.2 查找命令 54
3.4 使用命令历史记录重复执行
命令 56
3.4.1 命令行编辑 56
3.4.2 命令行补齐 58
3.4.3 命令行重复执行 59
3.5 连接和扩展命令 60
3.5.1 命令之间的管道 60
3.5.2 连续命令 61
3.5.3 后台命令 61
3.5.4 扩展命令 62
3.5.5 扩展算术表达式 62
3.5.6 扩展变量 62
3.6 使用shell变量 63
3.6.1 创建和使用别名 64
3.6.2 退出shell 65
3.7 创建自己的shell环境 65
3.7.1 配置shell 65
3.7.2 设置提示符 66
3.7.3 添加环境变量 67
3.8 获取关于命令的信息 68
3.9 小结 70
3.10 习题 70
第4章 在文件系统中移动 73
4.1 使用基本的文件系统命令 75
4.2 使用元字符和运算符 77
4.2.1 使用文件匹配元字符 77
4.2.2 使用文件重定向元字符 78
4.2.3 使用括号扩展字符 79
4.3 列出文件和目录 80
4.4 了解文件权限和所有权 83
4.4.1 使用命令chmod(数字)更改
权限 84
4.4.2 使用chmod(字母)更改权限 85
4.4.3 使用umask设置默认的文件
权限 85
4.4.4 更改文件所有权 86
4.5 移动、复制和删除文件 86
4.6 小结 88
4.7 习题 88
第17章 配置Web服务器 341
17.1 了解Apache Web服务器 341
17.2 获取和安装Web服务器 342
17.2.1 了解httpd软件包 342
17.2.2 安装Apache 344
17.3 启动Apache 345
17.3.1 确保Apache安全 346
17.3.2 了解Apache配置文件 348
17.3.3 向Apache添加虚拟主机 351
17.3.4 允许用户发布自己的
Web内容 353
17.3.5 使用SSL/TLS保护Web
流量 354
17.4 对Web服务器进行故障排除 358
17.4.1 检查配置错误 358
17.4.2 禁止访问和服务器内部
错误 360
17.5 小结 361
17.6 习题 361
第18章 配置FTP服务器 363
18.1 了解FTP 363
18.2 安装vsftpd FTP服务器 364
18.3 启动vsftpd服务 366
18.4 确保FTP服务器安全 368
18.4.1 为FTP打开防火墙 368
18.4.2 为FTP服务器配置
SELinux 370
18.4.3 使Linux文件权限与
vsftpd相关联 371
18.5 配置FTP服务器 371
18.5.1 设置用户访问 372
18.5.2 允许上传 372
18.5.3 为Internet设置vsftpd 373
18.6 使用FTP客户端连接服务器 375
18.6.1 通过Firefox访问FTP
服务器 375
18.6.2 使用lftp命令访问FTP
服务器 376
18.6.3 使用gFTP客户端 377
18.7 小结 378
18.8 习题 378
第19章 配置Windows文件
共享(Samba)服务器 379
19.1 了解Samba 379
19.2 安装Samba 380
19.3 启动和停止Samba 381
19.3.1 启动Samba(smb)服务 381
19.3.2 启动NetBIOS(nmbd)名称
服务器 383
19.3.3 停止Samba(smb)和
NetBIOS(nmb)服务 384
19.4 确保Samba的安全 385
19.4.1 为Samba配置防火墙 385
19.4.2 为Samba配置SELinux 386
19.4.3 配置Samba主机/用户
权限 388
19.5 配置Samba 388
19.6 访问Samba共享 394
19.6.1 在Linux中访问Samba
共享 394
19.6.2 在Windows中访问Samba
共享 396
19.7 在企业中使用Samba 397
19.8 小结 397
19.9 习题 397
第20章 配置NFS服务器 399
20.1 安装NFS服务器 401
20.2 启动NFS服务 401
20.3 共享NFS 402
20.3.1 配置/etc/exports文件 403
20.3.2 导出共享文件系统 405
20.4 确保NFS服务器安全 406
20.4.1 为NFS打开防火墙 406
20.4.2 在TCP Wrappers中允许
NFS访问 408
20.4.3 为NFS服务器配置
SELinux 408
20.5 使用NFS 409
20.5.1 查看NFS共享 409
20.5.2 手动挂载NFS 410
20.5.3 在启动时挂载NFS 410
20.5.4 使用autofs按需挂载NFS 413
20.6 卸载NFS 416
20.7 小结 416
20.8 习题 416
第21章 Linux的故障排除 419
21.1 启动故障排除 419
21.1.1 了解启动方法 420
21.1.2 从固件(BISO或UEFI)
开始 421
21.1.3 为GRUB启动加载程序
进行故障排除 423
21.1.4 GRUB 2启动加载程序 424
21.1.5 启动内核 425
21.2 排除软件包的故障 433
21.3 排除网络故障 437
21.3.1 排除传出连接的故障 437
21.3.2 排除传入连接的故障 440
21.4 解决内存问题 442
21.5 在救援模式中进行故障排除 446
21.6 小结 447
21.7 习题 448
第V部分 学习Linux安全技术
第22章 理解基本的Linux安全 451
22.1 实现物理安全 451
22.1.1 实现灾难恢复 452
22.1.2 保护用户账户的安全 452
22.1.3 保护密码 455
22.1.4 保护文件系统 459
22.1.5 管理软件和服务 462
22.1.6 高级执行 463
22.2 监视系统 463
22.2.1 监视日志文件 463
22.2.2 监视用户账户 466
22.2.3 监视文件系统 469
22.3 审核和审查Linux 475
22.3.1 进行合规审查 475
22.3.2 进行安全审查 476
22.4 小结 476
22.5 习题 476
第23章 理解高级的Linux安全 479
23.1 利用加密实现Linux安全 479
23.1.1 理解哈希 480
23.1.2 理解加密/解密 481
23.1.3 实现Linux加密 488
23.2 使用PAM实现Linux安全 494
23.2.1 理解PAM身份验证过程 495
23.2.2 在Linux系统上管理PAM 497
23.2.3 获取更多关于PAM的
信息 505
23.3 小结 506
23.4 习题 506
第24章 使用SELinux增强Linux
安全 507
24.1 了解SELinux的优点 507
24.2 了解SELinux的工作原理 508
24.2.1 了解类型强制 509
24.2.2 了解多层次安全 510
24.2.3 实现SELinux安全模型 510
24.3 配置SELinux 515
24.3.1 设置SELinux模式 515
24.3.2 设置SELinux策略类型 517
24.3.3 管理SElinux安全上下文 517
24.3.4 管理SELinux策略规则包 520
24.3.5 通过布尔值管理SELinux 521
24.4 监视和排除SELinux故障 522
24.4.1 了解SELinux日志 522
24.4.2 排除SELinux日志记录
故障 524
24.4.3 解决常见的SELinux问题 525
24.5 汇总起来 526
24.6 获取更多关于SELinux的
信息 527
24.7 小结 527
24.8 习题 527
第25章 保护网络上的Linux 529
25.1 审核网络服务 529
25.1.1 使用nmap评估对网络
服务的访问 530
25.1.2 使用nmap审核网络
服务广告 533
25.2 使用防火墙 536
25.2.1 了解防火墙 537
25.2.2 实现防火墙 538
25.3 小结 549
25.4 习题 549
第VI部分 将Linux扩展到云
第26章 转移到云和容器 553
26.1 了解Linux容器 554
26.1.1 名称空间 554
26.1.2 容器的注册 555
26.1.3 基本映像和图层 555
26.2 从Linux容器开始 556
26.2.1 牵引和运行容器 556
26.2.2 启动和停止容器 559
26.2.3 构建容器映像 560
26.3 小结 564
26.4 习题 564
第27章 使用Linux进行云计算 565
27.1 Linux和云计算概述 565
27.1.1 云管理程序(也称为
计算节点) 566
27.1.2 云控制器 566
27.1.3 云存储 566
27.1.4 云身份验证 567
27.1.5 云开发和配置 567
27.1.6 云平台 567
27.2 尝试基础的云技术 568
27.3 建立一个小型的云 569
27.3.1 配置管理程序 569
27.3.2 配置存储 572
27.3.3 创建虚拟机 574
27.3.4 管理虚拟机 577
27.3.5 迁移虚拟机 577
27.4 小结 579
27.5 习题 579
第28章 将Linux部署到云 581
28.1 在云中运行Linux 581
28.2 创建Linux云镜像 582
28.2.1 配置和运行cloud-init云
实例 583
28.2.2 对云实例进行研究 584
28.2.3 克隆云实例 585
28.2.4 扩展cloud-init配置 586
28.2.5 在企业计算中使用
cloud-init 588
28.3 使用OpenStack来部署
云镜像 589
28.4 使用Amazon EC2部署
云镜像 592
28.5 小结 594
28.6 习题 594
第29章 使用Ansible自动部署、 管理
应用程序和基础设施 597
29.1 理解Ansible 597
29.2 探索Ansible组件 598
29.2.1 清单 599
29.2.2 剧本 599
29.3 逐步完成Ansible部署 600
29.3.1 先决条件 600
29.3.2 为每个节点设置SSH
密钥 601
29.4 安装Ansible 602
29.4.1 创建清单 603
29.4.2 对主机进行身份验证 603
29.4.3 创建剧本 603
29.4.4 运行剧本 605
29.5 运行特殊的Ansible命令 606
29.6 使用Ansible Tower自动化
框架 608
29.7 小结 608
29.8 习题 609
第30章 使用Kubernetes将应用程序
部署为容器 611
30.1 理解Kubernetes 612
30.1.1 Kubernetes主节点 612
30.1.2 Kubernetes工作节点 612
30.1.3 Kubernetes应用程序 613
30.1.4 Kubernetes接口 613
30.2 尝试Kubernetes 613
30.2.1 获取Kubernetes 614
30.2.2 运行Kubernetes基础指南 615
30.3 企业质量的Kubernetes
平台OpenShift 624
30.4 小结 625
30.5 习题 625
第VII部分 附录
附录A 介质 629
附录B 习题答案 637
前言/序言
"如果不使用Linux,将无法真正学习Linux。"
以上的结论是根据我20多年来教人们学习Linux总结出来的。要学好Linux,不能仅靠阅读一本书,也不能仅靠聆听一次讲座,而是需要有人引导,还需要亲手实践。
在1999年,Wiley出版社出版了我的Red Hat Linux Bible一书。该书取得的巨大成功使我有机会成为一名全职的、独立的Linux作者。在大约10年的时间里,我在安静的家庭办公室中编写了多本关于Linux的书籍,并用最好的方法讲解Linux。
在2008年,我开启了人生的新航程。我被Red Hat公司聘为一名专职讲师,为那些想要获取RHCE(Red Hat Certified Engineer)认证的专业系统管理员讲授Linux。在担任Linux讲师的3年里,我不断提升自己的教学技能,使那些没有任何Linux经验的学员逐步成为经验丰富的专家。随着时间的推移,我获得了大约10个认证,包括Red Hat架构师(RHCA)认证,从而扩大了自己对Linux的了解。
在本书的上一版本中,我将这些教学经验转换为文字,使一些从未用过Linux的门外汉成为拥有丰富经验的Linux专家。从那个版本获得的技能在这个版本中仍然有效。其中包括以下内容。
● 使初学者成为一名认证的专家:只要你使用过计算机、鼠标和键盘,就可以开始学习本书。我将讲授如何获取和使用Linux,并一步步介绍关键主题,最后学习如何管理Linux并确保其安全性。
● 以系统管理员为重点对象:学完本书后,你将会知道如何使用Linux以及如何修改和维护Linux。本书介绍的所有主题都是成为一名RHCE所需掌握的内容。此外,许多软件开发人员也在使用本书,从而知道如何将Linux系统作为开发平台进行开发或者在Linux系统中运行自己的应用程序。
● 重点介绍命令行工具:虽然在近几年,用来管理Linux的point-and-click接口得到了极大改进,但如果想要使用一些高级功能,则只能手动输入命令并编辑配置文件。我将介绍如何熟练使用Linux命令行shell。此外,在必要时,还会使用图形工具完成相同的任务,将shell功能与图形工具进行比较。
● 旨在介绍更少的Linux发行版本:在以前的版本中,大概介绍了18种不同的Linux发行版本。除了少数的例外,大部分流行的Linux发行版本都基于Red Hat(Red Hat Enterprise Linux、Fedora、CentOS等)或者基于Debian(Ubuntu、Linux Mint、KNOPPIX等)。虽然本书主要介绍了Red Hat发行版本,但部分章节将增加对Ubuntu的介绍,因为许多Linux爱好者是从Ubuntu开始学习Linux的。
● 更多演示和练习:首先,实际演示Linux能够做什么,而不是只告诉你Linux能够做什么。其次,为了能够确保掌握所学的内容,你还有机会亲自完成相关练习。每个程序和练习都将在Red Hat Enterprise Linux和Fedora中进行测试,以保证可以正常运行。此外,大多数程序和练习也可在Ubuntu中运行。
对于第10版,主要增强包括简化Linux管理、自动化任务和管理容器应用程序(单独或大规模)。
● Cockpit管理Web UI:自从创建Linux以来,人们一直试图开发简单的图形化或基于浏览器的界面来管理Linux系统。我相信,Cockpit是有史以来为管理最基本的Linux特性而创建的最好的Web UI。在本书中,我用那些关注Cockpit的工具代替了大多数旧的系统配置工具描述。使用Cockpit,现在可以通过单个界面添加用户、管理存储、监视活动和执行其他许多管理任务。
● 引入云技术:在上一版中介绍了云技术后,这里对其进行了扩展。这个范围包括设置自己的Linux主机来运行虚拟机,和在云环境(如Amazon Web Services)中运行Linux。如今在云计算方面,Linux是大多数技术进步的核心。这意味着需要深入了解Linux,从而在以后的数据中心中更有效地工作。首先,在本书的前几章学习Linux的基本知识,然后在最后几章学习如何尝试将Linux系统作为虚拟机管理程序、云控制器和虚拟机,以及如何管理虚拟网络和网络存储空间。
● Ansible:自动化管理系统的任务在现代数据中心变得越来越重要。使用Ansible,可以创建定义Linux系统状态的剧本。这包括设置安装哪些包、运行哪些服务以及如何配置特性等。一个剧本可以配置一个或上千个系统,组合成一组系统服务,并再次运行以使系统返回到已定义的状态。这个版本介绍Ansible,帮助创建第一个Ansible剧本,并展示如何运行特别的Ansible命令。
● 容器:在容器中打包和运行应用程序正成为部署、管理和更新小型、可扩展的软件服务和特性的首选方法。本书将描述如何将容器拉到系统中,运行它们,停止它们,甚至使用podman和docker命令构建自己的容器映像。
● Kubernetes和OpenShift:虽然容器本身很好,但要想在大型企业中部署、管理和升级容器,就需要一个编排平台。Kubernetes项目提供了这个平台。对于受支持的商业Kubernetes平台,可以使用OpenShift之类的产品。
本书组织结构
本书能够让你从基本的Linux基础开始学起,并逐步成为一个专业的Linux系统管理员和高级用户。
第Ⅰ部分"入门"包括2章,主要帮助你了解什么是Linux,并从一个Linux桌面开始学习。
● 第1章"开始使用Linux"介绍若干主题,比如Linux操作系统是什么,Linux的起源以及如何开始使用Linux。
● 第2章"创建完美的Linux桌面"提供关于如何创建一个桌面系统以及如何使用一些最流行的桌面功能的相关内容。
第Ⅱ部分"成为一名Linux高级用户"深入详细地介绍如何使用Linux shell、使用文件系统、操作文本文件、管理进程以及使用shell脚本。
● 第3章"使用shell"介绍如何访问shell、运行命令、撤回命令(使用历史)以及完成标记。此外,该章还描述如何使用变量、别名以及man手册(即传统的Linux命令参考手册)。
● 第4章"在文件系统中移动"包含用来列举、创建、复制和移动文件和目录的命令。此外,该章还包括更高级的主题,比如文件系统安全性(文件的所有权、权限以及访问控制列表等)。
● 第5章"使用文本文件"包含使用文本文件需要的所有知识,从基本的文本编辑器到用来查找文件以及在文件中搜索文本所需的工具。
● 第6章"管理运行中的进程"描述如何查看正在系统上运行的进程以及如何更改这些进程。其中,更改进程的方法包括终止、暂停以及发送其他类型的信号。
● 第7章"编写简单的shell脚本"介绍一些shell命令和函数,可以将它们放在一个文件中并作为一个命令运行。
第Ⅲ部分"成为一名Linux系统管理员",将学习如何管理Linux系统。
● 第8章"学习系统管理"提供关于基本图形工具、命令以及用来管理Linux系统的配置文件的相关内容。它介绍了用于简化、集中的Linux管理的Cockpit Web UI。
● 第9章"安装Linux"介绍常见安装任务,如磁盘分区和初始软件包选择,以及更高级的安装工具,比如从启动文件开始安装。
● 第10章"获取和管理软件"解释软件包的工作原理以及如何获取和管理软件包。
● 第11章"获取用户账户"讨论用来添加和删除用户和组的工具,以及如何集中管理用户账户。
● 第12章"管理磁盘和文件系统"提供关于添加分区、创建文件系统、安装文件系统以及使用逻辑卷管理的相关内容。
第Ⅳ部分"成为一名Linux服务器管理员",将学习如何创建功能强大的网络服务器以及用来管理这些服务器的工具。
● 第13章"了解服务器管理"介绍远程登录、监视工具以及Linux启动过程。
● 第14章"管理网络"讨论如何配置网络。
● 第15章"启动和停止服务"提供启动和停止服务的相关内容。
● 第16章"配置打印服务器"描述如何配置打印机,以便在Linux系统本地使用,或者通过网络在另一台计算机上使用。
● 第17章"配置Web服务器"描述如何配置一个Apache Web服务器。
● 第18章"配置FTP服务器"介绍设置vsftpd FTP服务器所需的步骤。通过使用该服务,可以让他人通过网络从你的Linux系统中下载文件。
● 第19章"配置Windows文件共享(Samba)服务器"介绍如何使用Samba进行Windows文件服务器配置。
● 第20章"配置NFS服务器"描述如何利用网络文件系统功能通过网络在不同系统之间共享文件夹。
● 第21章"Linux的故障排除"介绍用于Linux系统故障排除的流行工具。
第Ⅴ部分"学习Linux安全技术",将学习如何确保Linux系统和服务的安全。
● 第22章"理解基本的Linux安全"介绍基本的安全概念和技术。
● 第23章"理解高级的Linux安全"介绍如何使用PAM(Pluggable Authentication Modules,可插拔验证模块)和密码工具加强系统安全和验证。
● 第24章"使用SELinux增强Linux安全"演示如何使用SELinux(Security Enhanced Linux)确保系统服务的安全。
● 第25章"保护网络上的Linux"介绍用来确保系统服务安全的网络安全功能,如firewalld和iptables防火墙。
第VI部分"将Linux扩展到云",从单一系统转向容器化、云计算和自动化。
● 第26章"转移到云和容器"描述如何拉、推、启动、停止、标记和创建容器图像。
● 第27章"使用Linux进行云计算"通过描述如何设置虚拟机管理程序、构建虚拟机以及跨网络共享资源,介绍Linux系统中云计算的相关概念。
● 第28章"将Linux部署到云"描述如何将Linux镜像部署到不同的云环境,包括OpenStack、Amazon EC2或者进行了虚拟化配置的本地Linux系统。
● 第29章"使用Ansible自动部署、管理应用程序和基础设施"说明如何创建Ansible剧本,并运行即时 Ansible命令自动配置Linux系统和其他设备。
● 第30章"使用Kubernetes将应用程序部署为容器"描述Kubernetes项目,以及它是如何用于编排容器图像的,从而有可能大规模扩展到大型数据中心。
第Ⅶ部分包含了两个附录,帮助你学习关于Linux的更多知识。附录A"介质"提供关于下载Linux发行版本的相关指导。附录B"习题答案"提供第2~30章所有习题的参考答案。
如果你是一名Linux的初学者,那么可能会对什么是Linux以及Linux的起源只具有模糊的概念。你可能听说过Linux是免费的(在使用成本方面)或者开放的(可以按照自己的意愿自由使用)。在开始学习Linux之前(后面,你将学习Linux方面的所有相关知识),第1章将回答关于Linux的起源以及特点的相关问题。
你需要多花些时间认真阅读本书,这样才可以加快学习Linux的进度,并使用它满足自己的需求。这是进入Linux并成为一名Linux专家的第一步。