第一部分 基本管理技术 1
第1章 从何处入手 3
系统管理员的基本任务 4
账号管理 4
增删硬件 4
执行备份 5
安装和更新软件 5
监视系统 5
故障诊断 5
维护本地文档 5
时刻警惕系统安全 6
救火 6
读者的知识背景 6
UNIX和Linux之间的摩擦 7
Linux的发行版本 9
本书使用的示例系统 10
用作示例的Linux发行版本 11
用作示例的UNIX发行版本 12
特定于系统的管理工具 13
表示法和印刷约定 13
单位 14
手册页和其他联机文档 16
手册页的组织 16
man:读取手册页 17
手册页的保存 17
GNU Texinfo 18
其他的权威文档 18
针对系统的专门指南 18
针对软件包的专门文档 19
书籍 19
RFC和其他Internet文档 20
LDP 20
其他的信息资源 20
查找和安装软件的途径 21
判断软件是否已经安装 22
增加新软件 23
从源代码编译软件 25
重压下的系统管理员 26
推荐读物 27
习题 28
第2章 脚本和shell 29
shell的基础知识 30
编辑命令 30
管道和重定 31
变量和引用 32
常见的过滤命令 33
bash脚本编程 37
从命令到脚本 38
输入和输出 38
命令行参数和函数 40
变量的作用域 42
控制流程 43
循环 45
数组和算术运算 47
正则表达式 48
匹配过程 49
普通字符 49
特殊字符 50
正则表达式的例子 51
捕获 52
贪心、懒惰和灾难性的回溯 53
Perl编程 54
变量和数组 55
数组和字符串文字 56
函数调用 56
表达式里的类型转换 57
字符串表达式和变量 57
哈希 57
引用和自动生成 59
Perl语言里的正则表达式 60
输入和输出 61
控制流程 61
接受和确认输入 63
Perl用作过滤器 64
Perl的附加模块 65
Python脚本编程 66
Python快速入门 67
对象、字符串、数、列表、字典、元组和文件 69
确认输入的例子 70
循环 71
脚本编程的最佳实践 73
推荐读物 74
Shell基础知识和bash脚本编程 74
正则表达式 75
Perl脚本编程 75
Python脚本编程 75
习题 76
第3章 引导和关机 77
引导 78
恢复模式下引导进入shell 78
引导过程的步骤 78
初始化内核 79
配置硬件 79
创建内核进程 79
操作员干预(仅限恢复模式) 80
执行启动脚本 81
引导进程完成 81
引导PC 82
GRUB:全面统一的引导加载程序 83
内核选项 84
多重引导 85
引导进入单用户模式 86
用GRUB引导单用户模式 86
SPARC上的单用户模式 86
HP-UX 的单用户模式 87
AIX的单用户模式 87
启动脚本 87
init及其运行级 88
启动脚本概述 89
Red Hat启动脚本 91
SUSE的启动脚本 93
Ubuntu的启动脚本和Upstart守护进程 94
HP-UX的启动脚本 95
AIX 的启动 95
引导Solaris 97
Solaris的SMF 97
崭新的世界:用SMF引导系统 99
重新引导和关机 100
shutdown:停止系统的妥善方式 100
关闭系统的更简单方式 101
习题 102
第4章 访问控制和超级权限 103
传统的UNIX访问控制 104
文件系统的访问控制 104
进程的所有权 105
root账号 105
setuid和setgid执行方式 106
现代的访问控制 106
基于角色的访问控制 108
SELinux:增强安全性的Linux 109
POSIX能力(Linux) 109
PAM:可插入式身份验证模块 109
Kerberos:第三方的加密验证 110
访问控制列表 110
实际中的访问控制 110
选择root的口令 111
登录进入root账号 112
su:替换用户身份 113
sudo:受限的su 113
口令保险柜和口令代管 117
root之外的其他伪用户 118
习题 119
第5章 进程控制 120
进程的组成部分 120
PID:进程的ID号 121
PPID:父PID 121
UID和EUID:真实的和有效的用户ID 122
GID和EGID:真实的和有效的组ID 122
谦让度 123
控制终端 123
进程的生命周期 123
信号 124
kill:发送信号 127
进程的状态 128
nice和renice:影响调度优先级 129
ps:监视进程 130
用top、prstat和topas动态监视进程 133
/proc文件系统 135
strace、truss和tusc:追踪信号和系统调用 136
失控进程 138
推荐读物 139
习题 139
第6章 文件系统 140
路径名称 142
绝对路径和相对路径 142
文件名中的空白 142
挂载和卸载文件系统 143
文件树的组织 145
文件类型 147
普通文件 149
目录 149
字符设备文件和块设备文件 150
本地域套接口 151
有名管道 151
符号链接 151
文件属性 152
权限位 152
setuid和setgid位 153
粘附位 154
Is:列出和查看文件 154
chmod:改变权限 156
chown和chgrp:改变归属关系和组 157
umask:分配默认的权限 158
Linux上额外标志 158
访问控制列表 159
UNIXACL简史 160
ACL的实现 161
系统支持的ACL 162
POSIX的ACL 162
NFSv4的ACL 166
习题 173
第7章 添加新用户 174
/etc/passwd文件 176
登录名 176
加密的口令 179
UID号 180
默认的GID号 181
GECOS字段 181
主目录 182
登录shell 182
/etc/shadow和/etc/security/passwd文件 183
/etc/group文件 186
添加用户:基本步骤 187
编辑passwd和group文件 188
设置口令 188
创建主目录并安装启动文件 189
设置权限和所属关系 190
设置邮件主目录 190
配置角色和管理特权 190
收尾步骤 191
用useradd添加用户 191
Ubuntu上的useradd 192
SUSE上的useradd 193
Red Hat上的useradd 193
Solaris 上的useradd 194
HP-UX上的useradd 194
AIX的useradd 195
useradd举例 197
用newusers成批添加用户(Linux) 197
删除用户 198
禁止登录 200
用系统的专门工具管理用户 201
用PAM降低风险 201
集中管理账号 201
LDAP和Active Directory 202
单一登录系统 202
身份管理系统 203
推荐读物 204
习题 205
第8章 存储 206
只想加一块硬盘! 207
Linux的做法 207
Solaris的做法 208
HP-UX的做法 208
AIX的做法 209
存储硬件 209
硬盘 210
固态盘 212
存储硬件接口 213
PATA接口 215
SATA接口 215
并行SCSI 216
串行SCSI 219
SCSI和SATA的比较 219
层层剖析:存储上的软件 220
硬盘的安装和底层管理 223
在硬件层面上的安装核实 223
磁盘设备文件 224
格式化和坏块管理 226
ATA安全擦除 227
hdparm:设置磁盘和接口参数(Linux) 229
使用SMART监视磁盘 230
磁盘分区 231
传统的分区方式 233
Windows的分区 234
GPT:GUID分区表 235
Linux的分区 236
Solaris的分区 236
HP-UX的分区 237
RAID:廉价磁盘冗余阵列 237
软硬RAID对比 237
RAID的级别 238
硬盘故障恢复 241
RAID 5的缺点 241
mdadm:Linux上的软RAID 242
逻辑卷管理 246
LVM的实现 246
Linux的逻辑卷管理 247
HP-UX的逻辑卷管理 251
AIX的逻辑卷管理 253
文件系统 254
Linux文件系统:ext家族的文件系统 255
HP-UX文件系统 256
AIX的JFS2文件系统 257
文件系统的术语 257
文件系统的多态性 258
mkfs:格式化文件系统 258
fsck:检查和修复文件系统 259
挂载文件系统 260
设置自动挂载 260
挂载USB设备 263
启用交换分区 264
ZFS:解决所有存储问题 264
ZFS体系结构 265
举例:Solaris磁盘分区 266
文件系统和属性 266
属性继承 268
每个用户一个文件系统 269
快照和克隆 269
原始卷 271
通过NFS、CIFS和iSCSI共享文件系统 271
存储池管理 272
存储区域网络 274
SAN网络 275
iSCSI:SCSI over IP 276
从iSCSI卷引导 277
iSCSI的厂商特性 277
习题 281
第9章 周期性进程 283
cron:按时间表执行命令 283
crontab文件的格式 284
crontab管理 286
Linux及其Vixie-CRON的扩展 287
cror的常见用途 288
简单的提醒功能 288
清理文件系统 289
配置文件的网络分布 290
循环日志文件 290
习题 291
第10章 备份 292
备份基本原理 293
从中心位置执行所有的备份 293
给备份介质加卷标 293
选择合理的备份间隔 294
仔细选择文件系统 294
在单一介质上做日常转储 294
异地保存介质 295
保护备份 295
备份期间限制活动 296
查验介质 297
发掘介质的寿命 297
为备份而设计数据 298
做最坏的准备 298
备份设备和介质 299
光盘:CD-R/RW、DVD±R/RW、DVD-RAM和蓝光 299
便携和移动硬盘 300
磁带概述 301
小型磁带机:8mm磁带和DDS/DAT 301
DLT和S-DLT 301
AIT和SAIT 302
VXA和VXA-X 302
LTO 302
自动选带机、自动换带机以及磁带库 302
硬盘 303
因特网和云备份服务 303
介质类型小结 304
设备选型 304
节省空间和时间与增量备份 305
简单的计划 306
适中的计划 307
用dump建立备份机制 307
转储文件系统 308
用restore从转储中恢复 310
恢复整个文件系统 313
恢复到新硬盘上 314
为系统升级而执行转储和恢复 314
使用其他存档程序 315
tar:给文件打包 315
dd:处理位流 316
ZFS的备份 316
使用同一卷磁带上的多个文件 317
Bacula 318
Bacula的模型 319
设置Bacula 320
安装数据库和Bacula的守护进程 320
配置Bacula的守护进程 321
公共的配置段 322
bacular-dir.conf:配置控制文件 324
bacula-sd.conf:配置存储守护进程 327
bconsole.conf:配置控制台 328
安装和配置客户端的文件守护进程 328
启动Bacula的守护进程 329
向存储池添加介质 329
执行一次手工备份 330
执行一次恢复工作 330
给Windows客户机做备份 333
监视和调试Bacula的配置 334
Bacula的技巧和窍门 334
Bacula的替代工具 335
商用备份产品 335
ADSM/TSM 336
VeritasNetBackup 336
EMCNetWorker 337
其他选择 337
推荐读物 337
习题 337
第11章 系统日志与日志文件 340
日志文件的位置 341
不用管理的文件 342
厂商特有的文件 344
syslog:系统事件的日志程序 344
syslog的体系结构 345
配置syslogd 345
配置文件举例 349
调试syslog 351
syslog的其他替代方案 351
Linux内核和引导时刻日志 352
IAIX:日志记录和出错处理 353
AIX的syslog配置 355
logrotate:管理日志文件 356
分析日志文件 358
日志记录的策略 359
习题 361
第12章 软件安装和管理 362
安装Linux和OpenSolaris 363
从网络引导PC 363
为Linux设置PXE 364
非PC的网络引导 364
Kickstart:RHEL的自动安装程序 365
AutoYaST:SUSE的自动安装工具 367
用Ubuntu的安装程序自动安装 368
安装Solaris 370
使用JumpStart网络安装 371
使用自动安装程序进行网络安装 375
安装HP-UX 377
用Ignite-UX自动安装 379
使用NIM安装AIX 380
软件包管理 381
Linux的高级软件包管理系统 382
rpm:管理RPM软件包 382
dpkg:管理Debian的软件包 383
Linux的高级软件包管理系统 384
软件包的库 385
RHN:RedHat网络 387
APT:高级软件包工具 387
配置apt-get 388
/etc/apt/sources.list文件的例子 389
创建本地的库镜像 390
自动执行apt-get 391
yum:管理RPM的发布 391
Zypper:SUSE的软件包管理 392
UNIX的软件包管理 393
Solaris软件包 394
HP-UX软件包 394
AIX的软件管理 396
版本控制 397
创建备份文件 397
正规的版本控制系统 398
Subversion 399
Git 401
软件的本地化和配置 404
本地化的组织 405
测试 406
本地编译软件 407
发布本地软件 408
配置管理工具 408
cfengine:计算机免疫系统 408
LCFG:大规模配置系统 409
Template Tree 2:cfengine的帮手 410
DMTF/CIM:公共信息模型 410
通过NFS共享软件 411
软件包的名字空间 411
依赖关系的管理 412
封装脚本 413
推荐读物 413
习题 414
第13章 驱动程序和内核 415
内核的适应性 416
驱动程序和设备文件 417
设备文件和设备号 418
创建设备文件 419
设备的命名约定 420
自定义内核和可加载模块 420
配置Linux 内核 421
调整Linux内核参数 421
构造Linux内核 423
内核没问题就不要改它 423
配置内核选项 423
构建Linux内核的二进制文件 425
添加Linux设备驱动程序 425
配置Solaris内核 427
Solaris内核区 427
用/etc/system配置内核 428
添加一个Solaris设备驱动程序 430
调试Solaris的配置 430
配置HP-UX内核 431
管理AIX内核 432
ODM 432
内核调配 434
可加载内核模块 434
Linux的可加载内核模块 435
Solaris的可加载内核模块 436
I Linux udev的意义和作用 437
Linux sysfs:设备对外的窗口 438
用udevadm浏览设备 439
构造规则和固定不变的名字 439
推荐读物 443
习题 444
第二部分 网络管理技术 447
第14章 TCP/IP网络 447
TCP/IP和Internet 447
Internet的运行管理 448
网络的标准和文献 449
连网技术概述 450
IPv4和IPv6 451
分组和封装 452
以太网组帧 453
最大传输单位(MTU) 453
分组地址 454
硬件(MAC)地址 454
IP地址 455
主机名“地址” 456
端口 456
地址类型 456
IP地址详解 457
IPv4地址分类 457
子网 458
计算子网的技巧和工具 459
CIDR:无类域间路由 460
地址分配 461
私用地址和NAT 462
IPv6地址 464
路由选择 465
路由表 466
CMP重定向 467
ARP:地址解析协议 468
DHCP:动态主机配置协议 469
DHCP软件 470
DHCP的工作方式 470
ISC的DHCP服务器 471
安全问题 472
IP转发 472
ICMP重定向 473
源路由 473
广播ping和其他形式的定向广播 473
IP欺骗 473
基于主机的防火墙 474
虚拟私用网络 475
PPP:点对点协议 476
基本的网络配置 476
分配主机名和IP地址 477
ifconfig:配置网络接口 478
网络硬件参数 481
route:配置静态路由 481
配置DNS 483
特定于系统的网络配置 484
Linux连网 484
NetworkManager 485
Debian和Ubuntu的网络配置 486
SUSE的网络配置 486
Red Hat的网络配置 487
Linux的网络硬件配置选项 489
Linux的TCP/IP配置选项 490
有关安全的内核变量 492
Linux的NAT和包过滤 493
Solaris连网 494
基本网络配置 494
网络配置举例 496
DHCP的配置 497
ndd:调整TCP/IP和接口 498
安全 499
防火墙和过滤机制 499
NAT 500
Solaris连网的特别之处 501
HP-UX连网 501
基本网络配置 501
网络配置举例 502
DHCP的配置 504
动态的重新配置和调整 504
安全、防火墙、过滤和NAT 505
AIX连网 506
no:管 AIX的网络可配参数 507
推荐读物 508
习题 509
第15章 路由选择 511
近观包转发 512
路由守护进程和路由协议 515
距离向量协议 515
链路状态协议 516
代价度量 517
内部协议和外部协议 517
路由协议巡礼 518
RIP和RIPng:路由信息协议 518
OSPF:开放最短路径优先 519
EIGRP:增强内部网关路由协议 519
IS-IS:ISO的“标准” 520
RDP和NDP 520
BGP:边界网关协议 520
路由策略的选择标准 521
路由守护进程 522
routed:过时的RIP实现 522
gated:第一代的多协议路由守护进程 523
Quagga:主流的路由守护进程 523
ramd:HP-UX多协议路由系统 524
XORP:计算机里的路由器 524
各操作系统的特性 525
思科路由器 525
推荐读物 528
习题 530
第16章 网络硬件 531
以太网:连网技术中的瑞士军刀 532
以太网的工作方式 532
以太网拓扑结构 533
无屏蔽双绞线 534
光纤 536
连接和扩展以太网 537
自动协商 539
以太网供电 540
巨大帧 541
无线:流动人士的LAN 541
无线网络的安全 543
无线交换机和轻量级AP 543
DSL和CM:最后一英里 543
网络测试和调试 544
建筑物布线 545
UTP 电缆的选择 545
到办公室的连接 546
布线标准 546
网络设计问题 547
网络结构与建筑物结构 547
扩展 548
拥塞 548
维护和建档 549
管理问题 549
推荐的厂商 550
电缆和连接器 550
测试仪器 550
路由器/交换机 550
推荐读物 550
习题 551