1、此书版本 V1.02 (每隔 30 天更新一次)最新版下载地址:HTTP:/WWW.LINUXPROBE.COM/bookLINUX 就该这么学第 1 页Linux 就该这么学 HTTP:/尊敬的学员:感谢您报名参加 LinuxP 在线培训,现在班型类型包括有晚班、周末班及脱产班,您可以根据自身情况来选择最合适的班型,我们的培训采用在线培训的方式,如果您因故不能参加某天的培训,请不要着急,我们已经为您录制好了当期的培训视频,直接联系讲师或在内部资料区下载即可,我们竭诚为您提供最高质量的 Linux 在线培训课程,珍惜您对我们的信任,本教材内含大量的空白页,并附赠一只黑笔,一只蓝笔及一只红笔,方
2、便您随着上课写好笔记,另外如果学习中有任何的建议都请直接告诉我们,我们超爱您的建议!刘遄您的终身职业顾问及技术导师第 2 页Linux 就该这么学 HTTP:/目录第 0 章 让我们谈谈学习方法和红帽系统。 110.1 本书作者简介 .110.2 学习是件苦差 110.3 开源共享精神 .120.4 为什么要学 Linux? .120.5 热门的开源系统 .130.6 认识红帽认证 14第 1 章 部署虚拟环境安装 linux 系统。 171.1 准备您的工具 .171.2 安装配置虚拟机 .171.3 VM 安装 RHEL7 系统 211.4 使用 KVM 安装系统 241.5 配置 VNC
3、 服务程序 .271.6 重置 Root 用户密码 .291.7 安装虚拟机增加包 .311.8 重要的守护进程 .321.9 红帽软件包管理器 .331.10 Yum 软件仓库 .33第 3 页Linux 就该这么学 HTTP:/第 2 章 新手必须掌握的 Linux 命令。 .352.1 强大好用的 SHELL352.2 执行命令与查看帮助 .362.3 常用系统工作命令 .392.4 系统状态检测命令 .412.5 工作目录切换命令 .442.6 文本文件编辑命令 452.7 文件目录管理命令 482.8 用户与组管理命令 .512.9 打包压缩文件命令 .532.10 文件查询搜索命令
4、 .54第 3 章 管道符、重定向与环境变量。 573.1 管道命令符 .573.2 输入输出重定向 583.3 命令行通配符 593.4 实用的 PATH 变量 .613.5 重要的环境变量 .61第 4 章 Vim 编辑器与 Shell 命令脚本。 .644.1 了解 Vim 文本编辑器 644.2 了解 Shell 脚本 704.3 条件测试语句 .754.4 计划任务服务 82第 4 页Linux 就该这么学 HTTP:/第 5 章 用户身份与文件权限。 845.1 用户身份与能力 .845.2 文件权限与归属 845.3 文件的特殊权限 .855.4 文件的隐藏属性 .865.5 s
5、u 命令与 sudo 服务 885.6 文件访问控制列表 .91第 6 章 存储结构与磁盘划分。 946.1 一切从 “/”开始 .946.2 物理设备的命名规则 966.3 文件系统与数据资料 .976.4 挂载硬件设备 986.5 添加硬盘设备 .996.6 添加交换分区 .1036.7 磁盘冗余阵列 .1076.8 逻辑卷管理器 .1156.9 磁盘容量配额 .1226.10 虚拟文件系统 .1246.11 软硬方式链接 124第 7 章 Iptables 与 Firewalld 防火墙。 .1267.1 了解防火墙管理工具 .1267.2 Iptables 命令 .126第 5 页Li
6、nux 就该这么学 HTTP:/7.2.1 规则链与策略 .1267.2.2 基本的命令参数 .1287.2.3 SNAT 与 DNAT 1297.2.4 端口转发与流量均衡 .1317.3 Firewalld 防火墙 .1317.3.1 区域概念与作用 .1317.3.2 字符管理工具 .1327.3.3 图形管理工具 .1347.4 服务的访问控制列表 .137第 8 章 使用 ssh 服务管理远程主机。 1398.1 进程与服务 .1398.1.1 初始化进程 .1398.1.2 管理服务命令 .1408.1.3 监视资源与管理进程 1418.2 配置网卡连接网络 .1438.2.1 配
7、置网卡参数 .1438.2.2 查看网卡信息 .1468.2.3 绑定两块网卡 .1478.2.4 查看端口状态 .1488.3 远程控制服务 .1508.3.1 了解 sshd 服务 1508.3.2 使用 ssh 命令 151第 6 页Linux 就该这么学 HTTP:/8.3.3 安全密钥验证 .1518.3.4 远程传输命令 .1548.4 不间断会话服务 1558.4.1 了解 Screen 服务 1558.4.2 掌握命令参数 1558.4.3 创建与使用会话功能 .1568.4.4 会话共享功能 .157第 9 章 使用 Apache 服务部署静态网站。 .1599.1 网站服务
8、程序 .1599.2 选购服务器主机 .1609.3 安装 Apache 服务程序 1619.4 配置服务文件参数 .1639.5 强制访问控制安全子系统 1659.6 允许 SELinux 策略 1669.7 个人用户主页功能 .1679.8 虚拟网站主机功能 .1699.8.1 基于 IP 地址 .1709.8.2 基于主机名 .1729.8.2 基于端口号 .1749.9 Apache 的访问控制 176第 10 章 使用 Vsftpd 服务传输文件。 .17810.1 文件传输协议 .178第 7 页Linux 就该这么学 HTTP:/10.2 安装 vsftpd 服务程序 17810
9、.3 Vsftpd 的验证方式 18010.3.1 匿名访问模式 18110.3.2 本地用户模式 18310.3.3 虚拟用户模式 18510.4 可插拔认证模块 PAM 188第 11 章 使用 Samba 或 NFS 实现文件共享。 .19111.1 了解文件共享服务 .19111.2 Samba 服务 19111.2.1 安装服务程序 19111.2.2 安全共享文件 19311.3 NFS 网络文件系统 .198第 12 章 使用 Bind 提供域名解析服务。 20212.1 了解域名解析服务 .20212.2 安装 Bind 服务程序 .20212.3 DNS 服务的解析实验 .2
10、0412.3.1 正向解析实验 20512.3.2 反向解析实验 20712.4 部署从服务器 .20812.5 安全的加密传输 .21012.6 部署缓存服务器 .21312.7 分离解析技术 .219第 8 页Linux 就该这么学 HTTP:/第 13 章 使用 DHCP 动态管理主机地址。 .22313.1 动态主机管理协议 .22313.2 安装 dhcpd 服务程序 22413.3 自动管理 IP 地址 .22513.4 分配固定 IP 地址 .22813.5 DHCP 中继代理 229第 14 章 使用 Postfix 与 Dovecot 收发电子邮件。 .23114.1 电子邮
11、局系统 .23114.2 部署基础电子邮局系统 .23214.2.1 配置 Postfix 服务程序 .23314.2.2 配置 Dovecot 服务程序 23414.2.3 用户使用邮局系统 .23514.3 设置用户别名邮箱 .238第 15 章 使用 Squid 部署代理缓存服务。 24115.1 代理缓存服务 .24115.2 配置 Squid 服务程序 .24215.2.1 标准正向代理 24415.2.2 透明正向代理 24515.2.2 反向代理 24615.3 ACL 访问控制 .247第 16 章 使用 iSCSI 服务部署网络存储。 25016.1 网络存储技术 .250第
12、 9 页Linux 就该这么学 HTTP:/16.2 部署 iSCSI 存储 .25116.2.1 配置 iSCSI 服务端 25116.2.2 配置 iSCSI 客户端 255第 17 章 使用 OpenLDAP 部署目录服务。 25817.1 了解目录服务 .25817.2 目录服务实验 .25917.2.1 配置 LDAP 服务端: 25917.2.2 配置 LDAP 客户端 26517.3 自动挂载用户目录 266第 18 章 使用 MariaDB 数据库管理系统。 26818.1 数据库管理系统 .26818.2 初始化 mariaDB 服务程序 26818.3 管理数据库与表单数据
13、 .27118.3.1 创建用户并授权 .27118.3.2 创建数据库与表单 .27318.3.3 管理表单数据 27418.3.4 数据库的备份与恢复 mysqldump 命令用于备份数据库数据,格式为:“mysqldump 参数 数据库名称”。.276第 19 章 使用 PXE+Kickstart 部署无人值守安装。 27819.1 无人值守系统 .27819.2 部署相关服务程序 .278第 10 页Linux 就该这么学 HTTP:/19.2.1 配置 DHCP 服务程序 .27919.2.2 配置 TFTP 服务程序 .28019.2.3 配置 SYSLinux 服务程序 .281
14、19.2.4 配置 VSFtpd 服务程序 .28119.3 自动部署客户机 .282第 20 章 使用 LNMP 架构部署动态网站环境。 .28520.1 源码安装程序 .28520.2 部署 LNMP 架构 28620.2.1 配置 Mysql 服务 28720.2.2 配置 Nginx 服务 29020.2.3 配置 php 服务 29420.3 搭建 discuz 论坛 297第 11 页Linux 就该这么学 HTTP:/第 12 页Linux 就该这么学 HTTP:/第 0 章 让我们谈谈学习方法和红帽系统。章节简述:Hello World!全书的开篇讲述作者学习红帽 Linux
15、系统的经验以及写书过程的感悟,分析学习 Linux 的目地与意义。开源精神是种让每个从事 Linux 行业的技术人从骨子里自豪的情怀,开源产品的兴盛受益于开源社区强健的根基。优秀的 Linux 运维师能够让用户真切体会到 Linux 系统带来的高可用、高性能与安全稳定。0.1 本书作者简介本书作者刘遄从事于 linux 运维技术行业,较早时因兴趣的驱使接触到了 Linux 系统并开始学习,已在 2012 年考下红帽工程师RHCE_6,今年又分别考下 RHCE_7 版本与红帽架构师认证RHCA,深知水平有限且技术一般,若没有得益于良师益友的无私帮助,肯定不能如此顺利的完成 Linux 学业,同样
16、作为一名普通的技术人,我亲身经历过半夜还在培训班的心酸,体验过拥堵6 小时车程的无奈,所以为了能够帮助读者们快速入门 Linux 系统,此刻我正怀揣着一颗忐忑的心,竭尽全身心的斗志将书编写的更好。本书于 2015 年的春节前夕起笔,预计年末截稿(初版)为第 13 页Linux 就该这么学 HTTP:/了保证每篇文章的质量所以很可能会写不完,才与诚合,然后事可成,恃才而败。我将付出不亚于任何人的努力,与可爱的读者们一起编写、完善这本书籍,带领大家从“0”基础开始学习 linux系统,配以大量 Linux 相关实验逐步掌握运维之道,本书内含配套教学图片与视频,达到增强学员兴趣与加深记忆的作用,当然
17、都是免费的,主动抛弃不实用的部分,将重点反复实践,所以尤其适合希望尽快掌握 Linux 系统的人群。0.2 学习是件苦差我无意回避这个问题学习本是件痛苦的事情,如果学习 Linux 真的很简单,那么必是骗子说的谎话,起码这将不能给你带来高薪,打开电脑后的沉思,是该聊会天那还是追个美剧那还是打盘 LOL 那还是看看那该死的刘遄写的那本可怕 Linux 教材时,请不要忘记自己最初的梦想,十年后你会感谢此时正在努力学习的自己。我身为作者的使命就是一定要对得起您花费的时间、精力、金钱,让您每学完一个章节都是一次第 14 页Linux 就该这么学 HTTP:/进步,读完稻盛和夫先生的活法后发现“我们也可
18、以从学习中获得快乐”。“工作马马虎虎,只想在兴趣和游戏中寻觅快活,充其量只能获得一时的快感,绝不能尝到从心底涌出的惊喜和快乐,但来自工作的喜悦并不像糖果那样放进嘴里就甜味十足,而是需要从苦劳与艰辛中渗出,因此当我们聚精会神,孜孜不倦,克服艰辛后的成就感,世上没有哪种喜悦可以类比。 ”“更何况人类生活中工作占据了较大的比重,如果不能从劳动中、工作中获得充实感,那么即使从别的地方找到快乐,最终我们仍然会感到空虚和缺憾。 ”0.3 开源共享精神坦白来讲,每个从事 Linux 行业的技术人都从骨子里有一种独特的情怀,听到开源产品的兴起就会由衷的自豪,开源企业不单纯为了利益,而是互相扶持,让开源软件越来
19、越完善,根基越来越强大,开源社区越来越有人气,开源软件简单来说就是可以不受限制的使用某个软件并且随意修改,甚至修改成自己的产品再发布出去。所以开源软件一般会将软件程序与源代码一起提供给用户,最热门的六种开源许可证包括:第 15 页Linux 就该这么学 HTTP:/开源软件的特性:“使用自由”, “修改自由”, “重新发布自由”, “创建衍生品自由”。0.4 为什么要学 Linux?Linux 操作系统最初是在 1991 年 10 月份由芬兰赫尔辛基大学的在校生 Linus Torvalds 所发布,最初被发布的 LINUX 0.02 版本因其高质量的代码与开放源代码,迅速引起了一大批黑客的加
20、入,而今虽然有数百计的 Linux 发布版,但都依然统一使用 Linus Torvalds 开发/维护的系统内核,Linux 是具有类似 Unix 的程序界面与操作方法且继承了其稳定性(通常运行几年都不会宕机) 。大多数读者开始了解计算机和网络都是从“Windows”开始的吧,第 16 页Linux 就该这么学 HTTP:/肯定已经习惯了盖茨系统而且觉得足以应付日常工作啦。虽然盖茨系统确实很优秀但同时也是用户对安全性、高可用与高性能的大大牺牲,因为你一定见过右面的图片。所以读者是否考虑过为何需要长期稳定运行的网站服务器、处理大数据的集群系统或者需要协同工作的环境大多采用 Linux 系统呢?L
21、inux 的优势读者可先作了解暂不需深究,学习中再慢慢感受。0.5 热门的开源系统红帽企业系统(RedHatEnterpriseLinux,RHEL.)全球最大的开源技术厂商,全世界内使用最广泛的 Linux 发布套件,提供性能与稳定性极强的 Linux 套件系统并拥有第 17 页Linux 就该这么学 HTTP:/完善的全球技术支持。社区企业操作系统(Centos)最初是将红帽企业系统“重新编译/ 发布”给用户免费使用而广泛使用,当前已正式加入红帽公司并继续保持免费(随RHEL 更新而更新) 。红帽用户桌面版(Fedora Linux)最初由红帽公司发起的桌面版系统套件(目前已经不限于桌面版
22、) ,用户可免费体验到最新的技术或工具,而功能成熟后加入到 RHEL 中。国际化组织的开源操作系统(Debian)提供超过 37500 种不同的自由软件且拥有很高的认可度,对于各类内核架构支持性良好,稳定性、安全性第 18 页Linux 就该这么学 HTTP:/强更有免费的技术支持。基于 Debian 的桌面版(Ubuntu)Ubuntu 是一款基于 Debian 派生的产品,对新款硬件具有极强的兼容能力。普遍认为 Ubuntu 与 Fedora 都是极其出色的LINUX 桌面系统。0.6 认识红帽认证Linux 系统有上百个不同的组织、公司、机构研发并发布出不同的版本,其中红帽公司作为一家成
23、熟的操作系统厂商提供可靠的Linux 系统和完善的求援服务,红帽企业 linux 系统(RedHat Enterprise Linux,RHEL)的市场占有量极大,认可度也非常高。红帽公司推出了阶梯式的认证体系也确实能够帮助读者检查自己的能力:第 19 页Linux 就该这么学 HTTP:/同于大家的了解,本书Linux 就该这么学就是由一批中国的红帽架构师所编写。本章结束,您可以在此写下笔记:第 20 页Linux 就该这么学 HTTP:/第 21 页Linux 就该这么学 HTTP:/第 22 页Linux 就该这么学 HTTP:/第 1 章 部署虚拟环境安装 linux 系统。章节简述:
24、本章节带领读者从 0 基础了解虚拟机与红帽系统,完整的演示了在 VM 与 KVM 中安装红帽 RHEL7 系统的方法。特别增加了超级实用的 Linux 系统找回 root 密码、虚拟机功能增强包、VNC 远程控制服务等相关的技术知识点。简单了解守护进程即可,对了!在安装 RPM 软件包或配置 YUM软件仓库时请格外注意参数细节哦1.1 准备您的工具所谓工欲善其事必先利其器,在本书第一章需要读者们搭建出为课后练习实验所使用的红帽 RHEL7 系统环境,读者不需要为了课程实验而单独购买一台新电脑,下面的小节中会教给您如何通过“虚拟机” 来模拟出“ 仿真系统”,虚拟机是能够让用户在一台真机上模拟出多
25、台操作系统的软件,一般来讲当前主流的硬件配置都是没问题的。强烈建议读者采用与本书一致的虚拟机软件与 RHEL7 镜像系统,否则可能会导致实验失败!软件资源请在这里下载:http:/ 11.0虚拟机软件(必需):第 23 页Linux 就该这么学 HTTP:/功能强大的桌面虚拟计算机软件,能够让用户在单一主机同时运行多个不同的操作系统。同时支持实时快照,虚拟网络,拖拽文件以及 PXE 等强悍功能。RedHatEnterpriseLinux RHEL7.0红帽操作系统(必需):由开源软件及全球服务性系统开发商红帽公司出品,最稳定出色的 Linux 操作系统。说来真的很郁闷、其实我在高中时就有学习
26、Linux 系统的冲动,那时上网还不便捷,所以安装系统都需要去买光盘,而那时的linux 系统至少需要 6 张光盘(CD-Rom 容量为 700M) ,尝试安装了几次却一直报错,搞不懂只能放弃了,今年春节收拾屋子翻出了这些光盘,再次安装时找到了错误的原因,原来是第五张光盘被“刮花” 了,导致依赖的软件包无法安装,真的是很无语、很郁闷,原本可以早几年就开始学 Linux 系统了,所以这里提示读者:“准备齐工具后一定要校验完整性”。Hash1.0.4文件校验工具(推荐):经典实用的功能且便捷的支持文件拖拽查询,确保文件的完整与安全性,只需选中文件或直接拖拽进去,确保你在 Hash 界面上看得到 M
27、D5 与 SHA1 值与软件资源库提供的一致再使用。第 24 页Linux 就该这么学 HTTP:/1.2 安装配置虚拟机Vmware WorkStation 是一款桌面计算机虚拟软件,能够让用户在单一主机上同时运行多个不同的操作系统。每个虚拟操作系统的硬盘分区、数据配置都是独立的,同时又可以将多台虚拟机构建为一个局域网。更何况 Linux 系统要求的系统资源很低,所以读者们真的没有必要再买一台电脑,课程实验完全可以用虚拟机搞定,而且 VM 还支持实时快照、虚拟网络、拖拽文件以及 PXE等方便实用功能。执行虚拟机软件安装向导第 1 步 :运行虚拟机软件。 第 2 步:接受软件的许可。第 25
28、页Linux 就该这么学 HTTP:/第 3 步:选择典型安装。 第4 步 :选择安装到的目录。第 5 步:自动检查新版。 第 6步:帮助改进虚拟机软件。第 26 页Linux 就该这么学 HTTP:/第 7 步:在桌面上创建图标(快捷方式) 。 第 8 步:不错,一切都准备就绪了。第 9 步:正常安装中。 第 10 步:请填写密钥或直接跳过。第 11 步:安装顺利完成,Good Job!第 27 页Linux 就该这么学 HTTP:/模拟出用于安装 RHEL7 红帽操作系统的硬件配置。第 1 步:运行 “Vmware WorkStation“,看到主页面。 第 2 步:创建新的虚拟机。第 28 页Linux 就该这么学 HTTP:/第 3 步:新建虚拟机向导典型(推荐) 。 第 4 步:选择稍后安装操作系统。第 5 步:定义版本为“Red Hat Enterprise Linux 7 64 位“。 第 6 步:设置虚拟机名称与安装路径。第 7 步:设置磁盘为 20GB 即可(足够了) 。 第 8步:完成向导后请点击“自定义硬件”。第 29 页Linux 就该这么学 HTTP:/第 9 步:选择 “设置光驱”,选择到 RHEL7 镜像。 第 10步:选择“ 设置网络适配器”为“ 仅主机模式”。第 11 步:全部设置完成,请点击“完成”。