从《循序渐进Linux》第一版发布,到现在已经近6年了,6年的时间,技术发生了很大的变化,Linux系统的内核版本从2.6.9(RHEL4.x)已经更新到了现在的3.10(Centos7.x),第一版中的部分内容已经陈旧,Linux系统部分运行机制也发生了很大变化,为了适应技术发展潮流,也为了所有支持这本书的读者,我决定重新修订本书,推出《循序渐进Linux》第二版。
第二版基本继承了第一版中的内容结构,基本以Redhat Linux、Centos两个Linux发行版为主进行介绍,采用的具体版本为Centos7.x/RHEL7.x;在章节上会更加突出重点,理论结合实际,企业案例和应用实战部分会增多;


在基础知识部分,简单介绍了现在Linux的应用领域,接着介绍掌握Linux学习的一些方法和技巧,然后开始介绍Linux的安装以及系统结构,当然还要介绍Linux下常用命令和使用技巧,以及Linux下软件的安装方法。


在服务器搭建篇,除去原来的内容,还增加了Mysql数据库的内容,主要介绍高性能Mysql数据库的应用,同时也增加了LAMP服务环境的搭建,然后在服务器安全策略和故障排查方面增加了很多经验和技术总结,非常值得一看。


在系统管理篇,这部分内容基本没有变化,主要修订了文件系统管理和内存管理方面的一些内容,增加了一些最新的Linux技术特性。


在性能调优篇,在原来理论的基础上增加了系统优化的案例,通过理论与实践相结合方法介绍系统优化经验。


在虚拟化、集群应用篇,这部分是本书的亮点,基本完全修订了原来的内容,三个章节分别介绍了proxmox VE虚拟化关平平台,以及高可用软件Keepalived,负载均衡软件LVS和HAproxy,介绍的方法由浅入深,前面介绍软件应用,后面通过具体的企业案例,从生产应用角度,介绍了企业环境下常用的两个高可用集群应用案例,也可以说本篇是全书的内容综合应用部分,从应用的角度全方位的介绍了企业高可用集群环境的搭建和维护过程。


封面照

《循序渐进Linux》第二版即将出版发行(附封面)_基础知识


循序渐进Linux第二版目录

第一部分 基础知识篇

1章学习Linux的经验与技巧

1.1   Linux在各领域发展的现状和趋势

         1.1.1         Linux与开源软件

         1.1.2         Linux在服务器领域的发展

         1.1.3         Linux在桌面领域的发展

         1.1.4         Linux在移动嵌入式领域的发展

         1.1.5         Linux在云计算/大数据领域的发展

1.2 选择适合自己的Linux发行版

         1.2.1常见的Linux发行版

         1.2.2初学者入门首选——Centos系列

         1.2.3桌面平台首选——Ubuntu Linux

         1.2.4企业级应用首选——Red Hat/Centos系列

1.3 养成良好的Linux操作习惯

         1.3.1一定要习惯命令行方式

         1.3.2理论结合实践

         1.3.3学会使用Linux联机帮助

         1.3.4学会独立思考问题,独立解决问题

         1.3.5学习专业英语

         1.3.6Linux学习路线图

1.4 用虚拟化技术学习Linux

         1.4.1什么是虚拟机软件

         1.4.2使用虚拟机技术的好处

         1.4.3虚拟机的运行环境和硬件需求

         1.4.4虚拟机的安装与使用 

1.5 Linux学习资源

         1.5.1网络资源、搜索引擎、论坛

         1.5.2有本书在身边

 

2章多种方式安装Linux系统

2.1 安装需求

2.2 Linux的几种安装方式

         2.2.1硬盘安装方式

         2.2.2U盘安装方式

         2.2.3网络安装方式

         2.2.4光驱安装方式

2.3 光驱安装过程

         2.3.1分区命名方案

         2.3.2开始安装

2.4 U盘安装过程

 

3 Linux系统基本结构

3.1 Linux控制台的使用

3.2 系统与硬件

         3.2.1Linux硬件资源管理

         3.2.2Linux外在设备的使用

3.3 文件系统结构介绍

         3.3.1目录结构

         3.3.2系统核心组成

3.4 运行机制介绍

         3.4.1Linux初始化init系统

         3.4.2runleveltarget的改变

         3.4.3系统关机过程

3.5系统服务管理工具systemd

         3.5.1         启动、停止、重启服务

3.5.2         查看、禁止、启用服务

3.5.3         systemd命令和sysvinit命令对比

3.6 LinuxSecureCRT

3.6.1         SecureCRT概述

3.6.2         SecureCR的安装与使用

3.6.3         SecureCRT相关的Linux命令

4 Linux常用命令及使用技巧

4.1 Linux下的shell简介

         4.1.1什么是shell

         4.1.2shell命令的语法分析

4.2 系统管理与维护

         4.2.1显示指定工作目录下内容的命令ls

         4.2.2显示当前工作目录的命令pwd

         4.2.3改变当前工作目录的命令cd

         4.2.4显示或修改系统时间与日期的命令date

         4.2.5设置用户口令的命令passwd

         4.2.6改变身份的命令su

         4.2.7清除屏幕信息的命令clear

         4.2.8显示指定命令的帮助信息的命令man

         4.2.9显示目前登录到系统的用户的命令who

         4.2.10显示登录到系统的用户信息的命令w

         4.2.11显示操作系统相关信息的命令uname

         4.2.12输出系统任务队列信息的命令uptime

         4.2.13列出目前与过去登入系统的用户相关信息的命令last

         4.2.14显示开机信息的命令dmesg

         4.2.15显示系统内存状态的命令free

         4.2.16显示系统进程瞬间的运行动态的命令ps

         4.2.17实时监控系统处理器状态的命令top

4.3 文件管理与编辑

         4.3.1创建目录的命令mkdir

         4.3.2逐屏显示内容的命令more

         4.3.3将文件的内容打印到标准输出的命令cat

         4.3.4比较文件的差异的命令diff

         4.3.5过滤文本的命令grep

         4.3.6删除某个目录及其所有文件及子目录的命令rm

         4.3.7改变指定文件的访问时间和修改时间的命令touch

         4.3.8在文件或目录之间创建链接的命令ln

         4.3.9显示文件类型的命令file

         4.3.10拷贝文件或目录的命令cp

         4.3.11在指定的路径下查找指定文件的命令find

         4.3.12分割文档的命令split

         4.3.13文件/目录改名或变更存储位置的命令mv

4.4 压缩与解压

         4.4.1压缩/解压缩文件或者目录的命令zip/unzip

         4.4.2压缩/解压缩文件的命令gzip/gunzip

         4.4.3压缩/解压缩文件的命令bzip2/bunzip2

         4.4.4将文件或者目录打包归档的命令tar

         4.4.5转换或拷贝文件的命令dd

         4.4.6重定向方式打包备份、还原恢复文件的命令cpio

4.5 磁盘管理与维护

         4.5.1检查磁盘空间占用情况的命令df

         4.5.2显示文件或目录所占用的磁盘空间的命令du

         4.5.3检查文件系统并尝试修复错误的命令fsck

         4.5.4强制把内存中的数据写回硬盘的命令sync

         4.5.5退出抽取式设备的命令eject

         4.5.6挂载/卸载指定的文件系统的命令mount/umount

4.6 网络设置与维护

         4.6.1配置网络或显示当前网络接口状态的命令ifconfig

         4.6.2将文件或目录拷贝到另一个Linux系统的命令scp

         4.6.3显示本机网络连接、运行端口和路由表等信息的命令netstat

         4.6.4显示网络数据包传输到指定主机的路径信息的命令traceroute

         4.6.5与远程的主机通信或获取远程主机对应端口的信息命令telnet

         4.6.6从网络上下载软件的命令wget

4.7 文本编辑工具vi

 

5 Linux下软件的安装与管理

5.1 源码安装方式

         5.1.1下载解压源码

         5.1.2分析安装平台环境

         5.1.3编译安装软件

         5.1.4源码安装Apache Http server

5.2 RPM工具安装方式

         5.2.1RPM包管理工具介绍

         5.2.2RPM包种类和命令

         5.2.3RPM工具的使用

5.3   yum安装方式

5.3.1         yum的安装与配置

5.3.2         yum的特点与基本用法

5.3.3         几个不错的yum

5.4 二进制包安装方式

         5.4.1安装“*.tar.gz”、“*.bz2”二进制软件包

         5.4.2提供安装程序的软件包

第二部分 服务器搭建篇

6 Linux服务器网络管理

6.1 网卡驱动的安装     

         6.1.1         网卡驱动安装的一般思路

         6.1.2         编译安装网卡

6.2   配置linux网络

         6.2.1         不同linux发行版的网络配置文件

         6.2.2         网络配置文件详解

6.3   linux网络应用

         6.3.1         Linux下的IP Alias功能

         6.3.2         开启linux代理转发功能

         6.3.3          路由的概念与配置

         6.3.4         linux路由器的架设

7 Linux下常用服务器的架设

7.1 使用OpenSSH远程管理Linux服务器

7.2 Web服务器的搭建

         7.2.1       apachetomcat整合的必要性

7.2.2        ApacheTomcat连接器

7.2.3        Apachetomcat以及JK模块的安装

7.2.4        apachetomcat整合配置

7.3   LAMP服务器的搭建

7.3.1         LAMPWordPress概述

7.3.2         LAMP服务环境的搭建

7.3.3 测试LAMP环境安装的正确性

7.4 DNS服务器的搭建

         7.4.1DNS服务概述

         7.4.2DNS服务的搭建

7.5 Samba服务器的搭建

         7.5.1Samba的概念和功能

         7.5.2Samba的安装与配置

8章构建高性能Mysql数据库系统

8.1   MySQLMariaDB

8.2 常见的高可用MySQL解决方案

         8.1.1                  主从复制解决方案

         8.1.2                   MMM高可用解决方案

         8.1.3                   Heartbeat/SAN高可用解决方案

         8.1.4                  Heartbeat/DRBD高可用解决方案

         8.1.5                   MySQL Cluster高可用解决方案

8.2   通过KeepAlived搭建MySQL双主模式的高可用集群系统

         8.2.1                  MySQL Replication介绍

         8.2.2                  MySQL Replication实现原理

         8.2.3                  MySQL Replication常用架构

         8.2.4                  MySQL主主互备模式架构图

         8.2.5                  MySQL主主互备模式配置

         8.2.6                  配置KeepAlived实现MySQL双主高可用

         8.2.7                  测试MySQL主从同步功能

         8.2.8                  测试KeepAlived实现MySQL故障转移

8.3   通过MMM构建MySQL高可用集群系统

         8.3.1                  MMM高可用MySQL方案简介

         8.3.2                  MMM典型应用方案

         8.3.3                  MMM高可用MySQL方案架构图

         8.3.4                  MMM的安装与配置

         8.3.5                  MMM的管理

         8.3.6                  测试MMM实现MySQL高可用功能

8.4   MySQL读写分离解决方案

         8.4.1         常见的MySQL读写分离方案

         8.4.2         通过Amoeba实现MySQL读写分离

9 Linux服务器安全策略

9.1 网络安全概述

         9.1.1常见攻击类型

         9.1.2防范攻击策略

9.2 操作系统常用安全策略

         9.2.1软件的升级

         9.2.2端口与服务

         9.2.3密码登录安全

         9.2.4其他安全设置

9.3 Linux软件防火墙iptables

         9.3.1iptables的使用环境

         9.3.2iptables的使用规范与语法

9.4 Linux系统的备份

         9.4.1为何要备份Linux系统

         9.4.2Linux系统需要备份的数据

         9.4.3备份的介质与方式

         9.4.4制定备份策略

         9.4.5备份工具的选择

 

10Linux故障排查思路与案例

10.1 Linux下常见系统故障的处理

         10.1.1处理Linux系统故障的思路

         10.1.2忘记Linux root密码

         10.1.3Linux系统无法启动的解决办法

10.2         Linux下常见网络故障处理

10.3         Linux服务器常见故障处理案例

10.3          Read-onlyfile system”错误与解决案例

10.4         su命令切换用户带来的困惑

10.5          NAS存储故障引起的Linux系统恢复案例

10.5.1       故障现象描述

10.5.2       问题判断思路

10.5.3       问题处理过程

10.5.4       解决问题

 

第三部分 系统管理篇

11 Linux用户权限管理

11.1 用户与用户组管理概述

         11.1.1用户与组的概念

         11.1.2用户配置文件概述

11.2 用户管理工具介绍

         11.2.1添加、切换和删除用户组命令groupadd/newgrp/groupdel

         11.2.2添加、修改和删除用户命令useradd/usermod/userdel

11.3 文件与权限的设定

         11.3.1查看文件的权限属性

         11.3.2利用chown改变属主和属组

         11.3.3利用chmod改变访问权限

 

12 Linux磁盘存储管理

12.1 磁盘管理的基本概念

         12.1.1磁盘设备在Linux下的表示方法

         12.1.2设备的挂载与使用

         12.1.3磁盘分区的划分标准

12.2 利用fdisk工具划分磁盘分区

12.2.1  fdisk参数含义介绍

12.2.2  fdisk实例讲解

12.3利用parted工具规划磁盘分区

12.3.1       parted简介

12.3.2       parted使用方法

12.3.3       parted应用实例

12.4 LVM(逻辑卷管理)

         12.4.1LVM的基本概念

         12.4.2LVM的使用术语

         12.4.3安装LVM工具

         12.4.4LVM的创建与管理

 

13 Linux文件系统管理

13.1 文件系统概述

         13.1.1什么是文件系统

         13.1.2为什么要使用文件系统

         13.1.3文件系统的使用流程

13.2 Linux下常用文件系统介绍

         12.2.1    ext3ext4文件系统

         13.2.2       Reiserfs文件系统

13.2.3        XFS文件系统

13.3 选择文件系统的标准

13.4 网络文件系统(NFS)的使用

         13.4.1NFS简介

         13.4.2NFS的实现原理

         13.4.3NFS的安装与配置

13.5 ext3/ext4文件系统上恢复误删除文件

13.5.1       如何使用“rm -rf”命令

13.5.2       extundeleteext3grep的异同

13.5.3       extundelete的恢复原理

13.5.4     安装extundelete

13.5.5       extundelete用法详解

13.5.6       实战:extundelete恢复数据的过程

14 Linux内存管理

14.1         物理内存和虚拟内存

14.2         内存的监控

14.3         交换空间swap的使用

14.4          查看进程占用内存

15 Linux系统进程管理

15.1 进程的概念和分类

15.2 进程的监控与管理

         15.2.1利用ps命令监控系统进程

         15.2.2利用pstree监控系统进程

         15.2.3利用top监控系统进程

         15.2.4 利用lsof监控系统进程与程序

15.2.5 利用pgrep查询进程ID

15.3 任务调度进程crond的使用

         15.3.1crond简介

         15.3.2crontab工具的使用

         15.3.3使用crontab工具的注意事项

15.4 关闭进程

         15.4.1kill终止一个进程

         15.4.2killall终止一组进程

第四部分 性能调优篇

16 Linux系统性能优化原则

16.1 性能问题综述

16.2影响Linux性能的因素

16.2.1系统硬件资源

16.2.2 操作系统相关资源

16.2.3 应用程序软件资源

16.3 分析系统性能涉及的人员

16.3.1                Linux运维人员

16.3.2                系统架构设计人员

16.3.3                软件开发人员

16.4          系统性能分析工具

16.5         系统性能分析标准

16.6         本章总结

17 Linux系统性能评估与优化案例

17.1 CPU性能评估

17.2 内存性能评估

17.3 磁盘I/O性能评估

17.4 网络性能评估

         17.4.1通过ping命令检测网络的连通性

         17.4.2通过netstat -i组合检测网络接口状况

         17.4.3通过netstat -r组合检测系统的路由表信息

         17.4.4通过sar -n组合显示系统的网络运行状态

         17.4.5本节总结

17.5 基于Web应用的性能分析及优化案例

17.5.1 基于动态内容为主的网站优化案例

17.5.2  基于动态、静态内容结合的网站优化案例

第五部分 虚拟化、集群应用篇

18章虚拟化云计算平台Proxmox VE

18.1 OpenVZ简介

18.2 KVM简介        

18.3 ProxmoxVE简介

18.4  安装Proxmox VE

18.5 ProxmoxVE的使用

         18.5.1       Proxmox VE功能选项说明

         18.5.2       创建openVZ虚拟机

         18.5.3       创建KVM虚拟机

19章高性能集群软件Keepalived

19.1 集群的定义

19.2 集群的特点与功能

         19.2.1高可用性与可扩展性

         19.2.2负载均衡与错误恢复

         19.2.3心跳检测与漂移IP

19.3 集群的分类

         19.3.1高可用集群

         19.3.2负载均衡集群

         19.3.3科学计算集群

19.4 HA集群中的相关术语

19.5 Keepalived介绍

         19.5.1    Keepalived的用途

         19.5.2    VRRP协议与工作原理

         19.5.3    Keepalived工作原理

         19.5.4       Keepalived的体系结构

19.6 Keepalived安装与配置

         19.6.1       Keepalived的安装过程

         19.6.2       Keepalived的全局配置

         19.6.3       KeepalivedVRRPD配置

19.6.4                KeepalivedLVS配置

19.7          Keepalived基础功能应用实例

19.7.1                Keepalived基础HA功能演示

19.7.2                通过vrrp_script实现对集群资源的监控

19.7.3                Keepalived集群中MasterBackup角色选举策略

20  负载均衡集群LVSHaproxy

20.1  LVS简介

20.2   LVS体系结构

20.3   LVS集群的特点

20.4  LVS的安装与使用

         20.4.1安装IPVS管理软件

         20.4.2  ipvsadm的用法

20.5 通过Keepalived搭建LVS高可用性集群系统

         20.5.1  实例环境

         20.5.2配置Keepalived

         20.5.3配置Real server节点

         20.5.4启动Keepalived+LVS集群系统

20.6 测试高可用LVS负载均衡集群系统

         20.6.1       高可用×××测试

         20.6.2       负载均衡测试

         20.6.3       故障切换测试

20.7 高性能负载均衡软件HAProxy

         20.7.1                HAProxy简介

         20.7.2                四层和七层负载均衡的区别

         20.7.3                HAProxyLVS的异同

20.8 HAProxy基础配置与应用实例

         20.8.1     快速安装HAProxy集群软件

         20.8.2     HAProxy基础配置文件详解

         20.8.3    通过HAProxyACL规则实现智能负载均衡

         20.8.4    管理与维护HAProxy

         20.8.5    使用HAProxyWeb监控平台

20.9 搭建HAproxy+KeepAlived高可用负载均衡系统

         20.9.1                搭建环境描述

         20.9.2                配置HAproxy负载均衡服务器

         20.9.3                配置主、备KeepAlived服务器

20.10        测试HAproxy+KeepAlived高可用负载均衡集群

         20.10.1              测试KeepAlived的高可用功能

         20.10.2              测试负载均衡功能