1. 编写背景
云计算技术、人工智能技术、大数据技术、数据科学等专业直接服务国家新兴战略产业,而Linux系统管理是这些专业的平台课程,伴随着新兴专业的快速发展,编写一本易教易学项目导向、任务驱动的双元模式教材非常必要。
2. 本书特点
本书为教师和学生提供教、学、做、导、考一站式课程解决方案和立体化教学资源,助力易教易学。
(1) 在形式上,本书采用了纸质教材 电子活页的形式。
采用知识点微课和项目实录慕课的形式辅助教学,增加了丰富的数字资源。纸质教材和电子活页以项目为载体,以工作过程为导向,以职业素养和职业能力培养为重点,按照技术应用从易到难,教学内容从简单到复杂、从局部到整体的原则归纳教材内容。
(2) 国家精品课程和国家精品资源共享课程配套教材。
本书相关教学视频和实验视频全部放在课程网站供下载学习和在线收看。教学中用到的PPT课件、电子教案、实践教学、授课计划、课程标准、题库、论坛、学习指南、习题解答、补充材料等内容,也都放在了国家精品资源共享课程网站上。国家精品资源共享课程Linux网络操作系统网址为http://www.icourses.cn/sCourse/course_2843.html。
(3) 产教融合、书证融通、课证融通,校企双元合作开发理实一体教材。
本书内容对接职业标准和岗位需求,以企业真实工程项目为素材进行项目设计及实施,将教学内容与Linux资格认证相融合,业界专家拍摄项目视频,书证融通、课证融通。
(4) 符合三教改革精神,创新教材形态。
将教材、课堂、教学资源、LEEPEE教学法四者融合,实现线上线下的有机结合,为翻转课堂和混合课堂改革奠定基础。采用纸质教材 电子活页的形式编写教材。除教材外,本书还提供丰富的数字资源,包含视频、音频、作业、试卷、拓展资源、讨论、扩展的项目实录视频等,实现纸质教材三年修订、电子活页随时增减和修订的目标。
3. 配套的教学资源
(1) 知识点微课(近10个)、项目实录慕课(近30个)。全部的知识点微课和全套的项目实录慕课都可通过扫描书中二维码获取。
(2) 课件、教案、授课计划、项目指导书、课程标准、拓展提升、任务单、实训指导书等,以及可供参考的服务器的配置文件。
(3) 大赛试题(试卷A、试卷B)及答案、本书习题及答案。
(4) 本书配备了以下电子活页内容或视频,读者可扫描二维码学习。
使用CyrusSASL实现SMTP认证
实现邮件TLSSSL加密通信
排除系统和网络故障
OpenSSL及证书服务
安装Linux Nginx MariaDB PHP(LEMP)
配置远程管理
配置与管理电子邮件服务器
配置与管理VPN服务器
配置与管理Web服务器
配置与管理DNS服务器
配置与管理DHCP服务器
配置与管理samba服务器
配置与管理NFS服务器
配置与管理FTP服务器
本书由山东现代学院杨云、山东鹏森信息科技有限公司王春身、常州市高级职业技术学校魏尧编著,浪潮集团薛立强、浙江东方职业技术学院刁琦也参加了部分内容的编写和视频的创作。特别感谢浪潮集团、山东鹏森信息科技有限公司提供了教学案例。订购教材后请向编者索要全套备课包。
编著者2022年1月于泉城
第1章搭建与测试Linux服务器1
1.1认识Linux操作系统1
1.1.1Linux系统的历史1
1.1.2Linux的版权问题2
1.1.3理解Linux体系结构2
1.1.4认识Linux的版本3
1.1.5Red Hat Enterprise Linux 84
1.2使用VM虚拟机安装RHEL 85
1.2.1安装配置VM虚拟机5
1.2.2安装配置RHEL 8操作系统12
1.3重置root管理员密码21
1.4systemd初始化进程22
1.5启动Shell24
1.6配置常规网络25
1.6.1使用nmtui修改主机名25
1.6.2使用系统菜单配置网络26
1.6.3使用图形界面配置网络28
1.6.4使用nmcli命令配置网络31
1.7项目实录: Linux系统安装与基本配置34
1.8练习题35
第2章使用常用的Linux命令37
2.1Linux命令基础37
2.1.1了解Linux命令特点37
2.1.2后台运行程序38
2.2熟练使用文件目录类命令38
2.2.1熟练使用浏览目录类命令38
2.2.2熟练使用浏览文件类命令39
2.2.3熟练使用目录操作类命令41
2.2.4熟练使用cp命令42
2.2.5熟练使用文件操作类命令44
2.3熟练使用系统信息类命令52
2.4熟练使用进程管理类命令54Linux系统管理(RHEL 8 /CentOS 8)(微课版)目录2.5熟练使用其他常用命令58
2.6项目实录: 使用Linux基本命令61
2.7练习题62
第3章安装与管理软件包64
3.1软件包相关知识概述64
3.1.1开放源代码、编译器与可执行文件64
3.1.2make与configure65
3.1.3Tarball软件 66
3.1.4安装与升级软件66
3.1.5RPM 与 DPKG67
3.1.6RPM与SRPM 67
3.1.7i386、i586、i686、noarch和x86_64 68
3.2使用RPM 软件管理程序70
3.2.1安装软件70
3.2.2RPM 升级、更新与查询 (upgrade/freshen/query) 73
3.2.3RPM实践练习77
3.2.4RPM反安装与重建数据库(erase/rebuilddb) 78
3.3使用yum和dnf79
3.3.1yum软件仓库79
3.3.2BaseOS和AppStream 80
3.3.3修改容器产生的问题与解决方法82
3.3.4利用dnf进行查询、安装、升级与移除82
3.4管理Tarball86
3.4.1使用源代码管理软件所需要的基础软件87
3.4.2Tarball安装的基本步骤87
3.4.3Tarball软件安装的建议事项(如何删除与升级)88
3.4.4实例90
3.5项目实录: 安装和管理软件包92
3.6练习题92
第4章Shell与vim编辑器94
4.1Shell94
4.1.1Shell概述94
4.1.2Shell环境变量96
4.1.3正则表达式99
4.1.4输入/输出重定向与管道101
4.1.5Shell脚本104
4.2vim编辑器107
4.3项目实录114
项目实录一: Shell编程114
项目实录二: vim编辑器114
4.4练习题115
第5章用户和组管理117
5.1理解用户账户和组117
5.2理解用户账户文件和组文件118
5.2.1理解用户账户文件118
5.2.2理解组文件120
5.3管理用户账户121
5.3.1新建用户121
5.3.2设置用户账户口令122
5.3.3维护用户账户123
5.4管理组126
5.4.1维护组账户126
5.4.2为组添加用户126
5.5使用su命令127
5.6使用常用的账户管理命令128
5.7企业实战与应用账户管理实例129
5.8项目实录: 管理用户和组130
5.9练习题130
第6章文件系统和磁盘管理133
6.1了解文件系统133
6.1.1认识文件系统133
6.1.2理解Linux文件系统目录结构134
6.1.3理解路径与相对路径136
6.1.4Linux文件权限管理136
6.2管理磁盘141
6.2.1MBR硬盘与GPT硬盘141
6.2.2物理设备的命名规则142
6.2.3硬盘分区143
6.2.4为虚拟机添加需要的硬盘144
6.2.5硬盘的使用规划146
6.2.6使用硬盘管理工具fdisk146
6.2.7使用其他硬盘管理工具150
6.3在Linux中配置软RAID154
6.3.1常用的RAID154
6.3.2实现RAID的典型案例156
6.4LVM逻辑卷管理器159
6.4.1LVM概述159
6.4.2实现LVM的典型案例160
6.5硬盘配额配置企业案例(XFS文件系统)164
6.5.1环境需求164
6.5.2解决方案165
6.6项目实录168
项目实录一: 文件权限管理168
项目实录二: 文件系统管理169
项目实录三: LVM逻辑卷管理器169
项目实录四: 动态磁盘管理170
6.7练习题170
第7章配置防火墙和SELinux173
7.1防火墙概述173
7.1.1防火墙的特点173
7.1.2iptables与firewalld174
7.1.3NAT基础知识174
7.1.4SELinux176
7.2案例设计及准备177
7.3使用firewalld服务177
7.3.1使用终端管理工具178
7.3.2使用图形管理工具182
7.4管理SELinux185
7.4.1设置SELinux的模式185
7.4.2设置SELinux安全上下文186
7.4.3管理布尔值187
7.5NAT(SNAT和DNAT)企业实战案例189
7.5.1企业环境和需求189
7.5.2解决方案190
7.6项目实录: 配置与管理firewalld防火墙194
7.7练习题195
第8章配置与管理代理服务器197
8.1代理服务器概述197
8.1.1代理服务器的工作原理197
8.1.2代理服务器的作用198
8.2案例设计与准备198
8.2.1案例设计198
8.2.2项目准备199
8.3安装与配置squid服务器199
8.3.1安装、启动、停止与随系统启动squid服务199
8.3.2配置squid服务器200
8.4企业实战与应用203
8.4.1企业环境和需求203
8.4.2手动设置代理服务器解决方案204
8.4.3客户端不需要配置代理服务器的解决方案206
8.4.4反向代理的解决方案208
8.4.5几种错误的解决方案208
8.5项目实录210
8.6练习题210
8.7综合案例分析211
第9章Linux系统监视与进程管理212
9.1知识准备212
9.1.1进程212
9.1.2子进程与父进程214
9.1.3系统或网络服务: 常驻在内存的进程215
9.1.4Linux 的多用户、多任务环境215
9.1.5什么是作业管理216
9.2使用系统监视217
9.2.1w命令217
9.2.2who命令 217
9.2.3系统监控命令top 218
9.3作业管理223
9.3.1作业的后台管理223
9.3.2脱机管理226
9.4进程管理227
9.4.1进程的查看227
9.4.2进程的管理231
9.4.3管理进程优先级233
9.5查看系统资源235
9.6项目实录240
9.7练习题241
第10章使用gcc和make调试程序242
10.1了解程序的调试242
10.1.1编译时错误 242
10.1.2运行时错误242
10.1.3逻辑错误和语义错误243
10.2使用传统程序语言进行编译243
10.2.1安装gcc243
10.2.2单一程序: 打印 Hello World 245
10.2.3主程序、子程序链接、子程序的编译 246
10.2.4调用外部函数库: 加入链接的函数库 248
10.2.5gcc的简易用法(编译、参数与链接)249
10.3使用make进行宏编译250
10.3.1为什么要用make250
10.3.2了解makefile的基本语法与变量 253
10.4练习题255
参考文献256