《UNIX/Linux系统管理技术手册(第四版)》(ULAHv4)是《Linux系统管理技术手册》和《UNIX系统管理技术手册》的终结版,也是Evi Nemeth的封刀之作。
《UNIX/Linux系统管理技术手册(第四版)》延续了《Linux系统管理技术手册(第二版)》以及《UNIX系统管理技术手册(第三版)》的讲解风格,以当前主流的5种Linux发行版本(Red Hat ES、SUSE、Debian、Fedora Core和Ubuntu)为例,把Linux系统管理技术分为3部分分别介绍。及时部分介绍了运行单机Linux系统涉及的各种管理知识和技术,如系统引导和关机、进程控制、文件系统管理、用户管理、设备管理、系统备份、软件配置以及cron和系统日志的管理使用等。第二部分从详细讲解TCP/IP协议基本原理开始,深入讨论了网络的两大基本应用--域名系统和路由技术,然后逐章讲解Linux上的各种Internet关键应用,如电子邮件、NFS、文件共享、Web托管和Internet服务,在这部分里还有专门的章节介绍网络硬件、网络管理与调试以及系统安全。第三部分包括了多种不容忽视的重要主题:X窗口系统、打印系统、系统维护与环境、性能分析、与Windows系统的协作、串行设备、操作系统驱动程序和内核、系统守护进程以及政策与行政管理方面的知识等。
《UNIX/Linux系统管理技术手册(第四版)》的几位作者是分别来自学术界、企业界以及职业培训领域的Linux/UNIX系统管理专家,这使得本书从及时版开始,即成为、深入而且颇富实用性的Linux系统管理专业参考书。
《UNIX/Linux系统管理技术手册(第四版)》适合于从Linux初学者到具有丰富经验的Linux专业技术人员使用。
Linux之父和O'Reilly创始人Tim倾力推荐的神作,系统管理领域内当之无愧的圣经!
UNIX类图书销量中排名一Linux类中排名第三!
Evi Nemeth,已经从科罗拉多大学计算机科学系教师的岗位上退休了。她现在正坐在自己40英尺长的帆船Wonderland号上遨游太平洋呢。这是她写的一版--当船停泊在人间天堂里的时候,用只有30波特率的GPRS收发电子邮件,是无法跟上全新系统管理技术的步伐了。
Garth Snyder,曾经在NeXT和Sun公司工作过,他从斯沃索莫学院(Swarthmore College)获得了工学学士学位,并从罗彻斯特大学取得MD和MBA学位。
Trent R. Hein,是Applied Trust公司的创办人之一,这是一家提供网络基础设施咨询服务的公司。Trent从科罗拉多大学获得了计算机科学专业学士学位。
Ben Whaley,是Applied Trust公司的企业构架主管,这是一家位于科罗拉多州波尔多的IT咨询公司。Ben在2004年获得科罗拉多大学计算机科学专业学士学位。
及时部分 基本管理技术
n第1章 从何处入手
n1.1 系统管理员的基本任务
n1.1.1 账号管理
n1.1.2 增删硬件
n1.1.3 执行备份
n1.1.4 安装和更新软件
n1.1.5 监视系统
n1.1.6 故障诊断
n1.1.7 维护本地文档
n1.1.8 时刻警惕系统安全
n1.1.9 救火
n1.2 读者的知识背景
n1.3 UNIX和Linux之间的摩擦
n1.4 Linux的发行版本
n1.5 本书使用的示例系统
n1.5.1 用作示例的Linux发行版本
n1.5.2 用作示例的UNIX发行版本
n1.6 特定于系统的管理工具
n1.7 表示法和印刷约定
n1.8 单位
n1.9 手册页和其他联机文档
n1.9.1 手册页的组织
n1.9.2 man:读取手册页
n1.9.3 手册页的保存
n1.9.4 GNUTexinfo
n1.10 其他的文档
n1.10.1 针对系统的专门指南
n1.10.2 针对软件包的专门文档
n1.10.3 书籍
n1.10.4 RFC和其他Internet文档
n1.10.5 LDP
n1.11 其他的信息资源
n1.12 查找和安装软件的途径
n1.12.1 判断软件是否已经安装
n1.12.2 增加新软件
n1.12.3 从源代码编译软件
n1.13 重压下的系统管理员
n1.14 推荐读物
n1.15 习题
n第2章 脚本和shell
n2.1 shell的基础知识
n2.1.1 编辑命令
n2.1.2 管道和重定向
n2.1.3 变量和引用
n2.1.4 常见的过滤命令
n2.2 bash脚本编程
n2.2.1 从命令到脚本
n2.2.2 输入和输出
n2.2.3 命令行参数和函数
n2.2.4 变量的作用域
n2.2.5 控制流程
n2.2.6 循环
n2.2.7 数组和算术运算
n2.3 正则表达式
n2.3.1 匹配过程
n2.3.2 普通字符
n2.3.3 特殊字符
n2.3.4 正则表达式的例子
n2.3.5 捕获
n2.3.6 贪心、懒惰和灾难性的回溯
n2.4 Perl编程
n2.4.1 变量和数组
n2.4.2 数组和字符串文字
n2.4.3 函数调用
n2.4.4 表达式里的类型转换
n2.4.5 字符串表达式和变量
n2.4.6 哈希
n2.4.7 引用和自动生成
n2.4.8 Perl语言里的正则表达式
n2.4.9 输入和输出
n2.4.10 控制流程
n2.4.11 接受和确认输入
n2.4.12 Perl用作过滤器
n2.4.13 Perl的附加模块
n2.5 Python脚本编程
n2.5.1 Python快速入门
n2.5.2 对象、字符串、数、列表、字典、元组和文件
n2.5.3 确认输入的例子
n2.5.4 循环
n2.6 脚本编程的实践
n2.7 推荐读物
nShell基础知识和bash脚本编程
n正则表达式
nPerl脚本编程
nPython脚本编程
n2.8 习题
n第3章 引导和关机
n3.1 引导
n3.1.1 恢复模式下引导进入shell
n3.1.2 引导过程的步骤
n3.1.3 初始化内核
n3.1.4 配置硬件
n3.1.5 创建内核进程
n3.1.6 操作员干预(仅限恢复模式)
n3.1.7 执行启动脚本
n3.1.8 引导进程完成
n3.2 引导PC
n3.3 GRUB:统一的引导加载程序
n3.3.1 内核选项
n3.3.2 多重引导
n3.4 引导进入单用户模式
n3.4.1 用GRUB引导单用户模式
n3.4.2 SPARC上的单用户模式
n3.4.3 HP-UX的单用户模式
n3.4.4 AIX的单用户模式
n3.5 启动脚本
n3.5.1 init及其运行级
n3.5.2 启动脚本概述
n3.5.3 Red Hat启动脚本
n3.5.4 SUSE的启动脚本
n3.5.5 Ubuntu的启动脚本和Upstart守护进程
n3.5.6 HP-UX的启动脚本
n3.5.7 AIX的启动
n3.6 引导Solaris
n3.6.1 Solaris的SMF
n3.6.2 崭新的世界:用SMF引导系统
n3.7 重新引导和关机
n3.7.1 shutdown:停止系统的妥善方式
n3.7.2 halt和reboot:关闭系统的更简单方式
n3.8 习题
n第4章 访问控制和超级权限
n4.1 传统的UNIX访问控制
n4.1.1 文件系统的访问控制
n4.1.2 进程的所有权
n4.1.3 root账号
n4.1.4 setuid和setgid执行方式
n4.2 现代的访问控制
n4.2.1 基于角色的访问控制
n4.2.2 SELinux:增强安全性的Linux
n4.2.3 POSIX能力(Linux)
n4.2.4 PAM:可插入式身份验证模块
n4.2.5 Kerberos:第三方的加密验证
n4.2.6 访问控制列表
n4.3 实际中的访问控制
n4.3.1 选择root的口令
n4.3.2 登录进入root账号
n4.3.3 su:替换用户身份
n4.3.4 sudo:受限的su
n4.3.5 口令保险柜和口令代管
n4.4 root之外的其他伪用户
n4.5 习题
n第5章 进程控制
n5.1 进程的组成部分
n5.1.1 PID:进程的ID号
n5.1.2 PPID:父PID
n5.1.3 UID和EUID:真实的和有效的用户ID
n5.1.4 GID和EGID:真实的和有效的组ID
n5.1.5 谦让度
n5.1.6 控制终端
n5.2 进程的生命周期
n5.3 信号
n5.4 kill: 发送信号
n5.5 进程的状态
n5.6 nice和renice:影响调度优先级
n5.7 ps:监视进程
n5.8 用top、prstat和topas动态监视进程
n5.9 /proc文件系统
n5.10 strace、truss和tusc:追踪信号和系统调用
n5.11 失控进程
n5.12 推荐读物
n5.13 习题
n第6章 文件系统
n6.1 路径名称
n6.1.1 路径和相对路径
n6.1.2 文件名中的空白
n6.2 挂载和卸载文件系统
n6.3 文件树的组织
n6.4 文件类型
n6.4.1 普通文件
n6.4.2 目录
n6.4.3 字符设备文件和块设备文件
n6.4.4 本地域套接口
n6.4.5 有名管道
n6.4.6 符号链接
n6.5 文件属性
n6.5.1 权限位
n6.5.2 setuid和setgid位
n6.5.3 粘附位
n6.5.4 ls:列出和查看文件
n6.5.5 chmod:改变权限
n6.5.6 chown和chgrp:改变归属关系和组
n6.5.7 umask:分配默认的权限
n6.5.8 Linux上的额外标志
n6.6 访问控制列表
n6.6.1 UNIX ACL简史
n6.6.2 ACL的实现
n6.6.3 系统支持的ACL
n6.6.4 POSIX的ACL
n6.6.5 NFSv4的ACL
n6.7 习题
n第7章 添加新用户
n7.1 /etc/passwd文件
n7.1.1 登录名
n7.1.2 加密的口令
n7.1.3 UID号
n7.1.4 默认的GID号
n7.1.5 GECOS字段
n7.1.6 主目录
n7.1.7 登录shell
n7.2 /etc/shadow和/etc/security/passwd文件
n7.3 /etc/group文件
n7.4 添加用户:基本步骤
n7.4.1 编辑passwd和group文件
n7.4.2 设置口令
n7.4.3 创建主目录并安装启动文件
n7.4.4 设置权限和所属关系
n7.4.5 设置邮件主目录
n7.4.6 配置角色和管理特权
n7.4.7 收尾步骤
n7.5 用useradd添加用户
n7.5.1 Ubuntu上的useradd
n7.5.2 SUSE上的useradd
n7.5.3 Red Hat上的useradd
n7.5.4 Solaris上的useradd
n7.5.5 HP-UX上的useradd
n7.5.6 AIX的useradd
n7.5.7 useradd举例
n7.6 用newusers成批添加用户(Linux)
n7.7 删除用户
n7.8 禁止登录
n7.9 用系统的专门工具管理用户
n7.10 用PAM降低风险
n7.11 集中管理账号
n7.11.1 LDAP和Active Directory
n7.11.2 单一登录系统
n7.11.3 身份管理系统
n7.12 推荐读物
n7.13 习题
n第8章 存储
n8.1 只想加一块硬盘!
n8.1.1 Linux的做法
n8.1.2 Solaris的做法
n8.1.3 HP-UX的做法
n8.1.4 AIX的做法
n8.2 存储硬件
n8.2.1 硬盘
n8.2.2 固态盘
n8.3 存储硬件接口
n8.3.1 PATA接口
n8.3.2 SATA接口
n8.3.3 并行SCSI
n8.3.4 串行SCSI
n8.3.5 SCSI和SATA的比较
n8.4 层层剖析:存储上的软件
n8.5 硬盘的安装和底层管理
n8.5.1 在硬件层面上的安装核实
n8.5.2 磁盘设备文件
n8.5.3 格式化和坏块管理
n8.5.4 ATA安全擦除
n8.5.5 hdparm:设置磁盘和接口参数(Linux)
n8.5.6 使用SMART监视磁盘
n8.6 磁盘分区
n8.6.1 传统的分区方式
n8.6.2 Windows的分区
n8.6.3 GPT:GUID分区表
n8.6.4 Linux的分区
n8.6.5 Solaris的分区
n8.6.6 HP-UX的分区
n8.7 RAID:廉价磁盘冗余阵列
n8.7.1 软硬RAID对比
n8.7.2 RAID的级别
n8.7.3 硬盘故障恢复
n8.7.4 RAID 5的缺点
n8.7.5 mdadm:Linux上的软RAID
n8.8 逻辑卷管理
n8.8.1 LVM的实现
n8.8.2 Linux的逻辑卷管理
n8.8.3 HP-UX的逻辑卷管理
n8.8.4 AIX的逻辑卷管理
n8.10 文件系统
n8.9.1 Linux文件系统:ext家族的文件系统
n8.9.2 HP-UX文件系统
n8.9.3 AIX的JFS2文件系统
n8.9.4 文件系统的术语
n8.9.5 文件系统的多态性
n8.9.6 mkfs:格式化文件系统
n8.9.7 fsck:检查和修复文件系统
n8.9.8 挂载文件系统
n8.9.9 设置自动挂载
n8.9.10 挂载USB设备
n8.9.11 启用交换分区
n8.10 ZFS:解决所有存储问题
n8.10.1 ZFS体系结构
n8.10.2 举例:Solaris磁盘分区
n8.10.3 文件系统和属性
n8.10.4 属性继承
n8.10.5 每个用户一个文件系统
n8.10.6 快照和克隆
n8.10.7 原始卷
n8.10.8 通过NFS、CIFS和iSCSI共享文件系统
n8.10.9 存储池管理
n8.11 存储区域网络
n8.11.1 SAN网络
n8.11.2 iSCSI:SCSI over IP
n8.11.3 从iSCSI卷引导
n8.11.4 iSCSI的厂商特性
n8.12 习题
n第9章 周期性进程
n9.1 cron:按时间表执行命令
n9.2 crontab文件的格式
n9.3 crontab管理
n9.4 Linux及其Vixie-CRON的扩展
n9.5 cron的常见用途
n9.5.1 简单的提醒功能
n9.5.2 清理文件系统
n9.5.3 配置文件的网络分布
n9.5.4 循环日志文件
n9.6 习题
n第10章 备份
n10.1 备份基本原理
n10.1.1 从中心位置执行所有的备份
n10.1.2 给备份介质加卷标
n10.1.3 选择合理的备份间隔
n10.1.4 仔细选择文件系统
n10.1.5 在单一介质上做日常转储
n10.1.6 异地保存介质
n10.1.7 保护备份
n10.1.8 备份期间限制活动
n10.1.9 查验介质
n10.1.10 发掘介质的寿命
n10.1.11 为备份而设计数据
n10.1.12 做最坏的准备
n10.2 备份设备和介质
n10.2.1 光盘:CD-R/RW、DVD±R/RW、DVD-RAM和蓝光
n10.2.2 便携和移动硬盘
n10.2.3 磁带概述
n10.2.4 小型磁带机:8mm磁带和DDS/DAT
n10.2.5 DLT和S-DLT
n10.2.6 AIT和SAIT
n10.2.7 VXA和VXA-X
n10.2.8 LTO
n10.2.9 自动选带机、自动换带机以及磁带库
n10.2.10 硬盘
n10.2.11 因特网和云备份服务
n10.2.12 介质类型小结
n10.2.13 设备选型
n10.3 节省空间和时间与增量备份
n10.3.1 简单的计划
n10.3.2 适中的计划
n10.4 用dump建立备份机制
n10.4.1 转储文件系统
n10.4.2 用restore从转储中恢复
n10.4.3 恢复整个文件系统
n10.4.4 恢复到新硬盘上
n10.5 为系统升级而执行转储和恢复
n10.6 使用其他存档程序
n10.6.1 tar: 给文件打包
n10.6.2 dd:处理位流
n10.6.3 ZFS的备份
n10.7 使用同一卷磁带上的多个文件
n10.8 Bacula
n10.8.1 Bacula的模型
n10.8.2 设置Bacula
n10.8.3 安装数据库和Bacula的守护进程
n10.8.4 配置Bacula的守护进程
n10.8.5 公共的配置段
n10.8.6 bacular-dir.conf:配置控制文件
n10.8.7 bacula-sd.conf:配置存储守护进程
n10.8.8 bconsole.conf:配置控制台
n10.8.9 安装和配置客户端的文件守护进程
n10.8.10 启动Bacula的守护进程
n10.8.11 向存储池添加介质
n10.8.12 执行一次手工备份
n10.8.13 执行一次恢复工作
n10.8.14 给Windows客户机做备份
n10.8.15 监视和调试Bacula的配置
n10.8.16 Bacula的技巧和窍门
n10.8.17Bacula的替代工具
n10.9 商用备份产品
n10.9.1 ADSM/TSM
n10.9.2 VeritasNetBackup
n10.9.3 EMCNetWorker
n10.9.4 其他选择
n10.10 推荐读物
n10.11 习题
n第11章 系统日志与日志文件
n11.1 日志文件的位置
n11.1.1 不用管理的文件
n11.1.2 厂商特有的文件
n11.2 syslog:系统事件的日志程序
n11.2.1 syslog的体系结构
n11.2.2 配置syslogd
n11.2.3 配置文件举例
n11.2.4 调试syslog
n11.2.5 syslog的其他替代方案
n11.2.6 Linux内核和引导时刻日志
n11.3 AIX:日志记录和出错处理
n11.3.1 AIX的syslog配置
n11.4 logrotate: 管理日志文件
n11.5 分析日志文件
n11.6 日志记录的策略
n11.7 习题
n第12章 软件安装和管理
n12.1 安装Linux和OpenSolaris
n12.1.1 从网络引导PC
n12.1.2 为Linux设置PXE
n12.1.3 非PC的网络引导
n12.1.4 Kickstart:RHEL的自动安装程序
n12.1.5 AutoYaST:SUSE的自动安装工具
n12.1.6 用Ubuntu的安装程序自动安装
n12.2 安装Solaris
n12.2.1 使用JumpStart网络安装
n12.2.2 使用自动安装程序进行网络安装
n12.3 安装HP-UX
n12.3.1 用Ignite-UX自动安装
n12.4 使用NIM安装AIX
n12.5 软件包管理
n12.6 Linux的高级软件包管理系统
n12.6.1 rpm:管理RPM软件包
n12.6.2 dpkg:管理Debian的软件包
n12.7 Linux的高级软件包管理系统
n12.7.1 软件包的库
n12.7.2 RHN:Red Hat网络
n12.7.3 APT:高级软件包工具
n12.7.4 配置apt-get
n12.7.5 /etc/apt/sources.list文件的例子
n12.7.6 创建本地的库镜像
n12.7.7 自动执行apt-get
n12.7.8 yum:管理RPM的
n12.7.9 Zypper:SUSE的软件包管理
n12.8 UNIX的软件包管理
n12.8.1 Solaris软件包
n12.8.2 HP-UX软件包
n12.8.3 AIX的软件管理
n12.9 版本控制
n12.9.1创建备份文件
n12.9.2 正规的版本控制系统
n12.9.3 Subversion
n12.9.4 Git
n12.10 软件的本地化和配置
n12.10.1 本地化的组