UNIX/Linux 系统管理技术手册.pdf

UNIX/Linux 系统管理技术手册.pdf
 

书籍描述

编辑推荐
《UNIX/Linux 系统管理技术手册(第4版)》的几位作者是分别来自学术界、企业界以及职业培训领域的Linux/UNIX系统管理专家,这使得《UNIX/Linux 系统管理技术手册(第4版)》从第一版开始,即成为全面、深入而且颇富实用性的Linux系统管理权威参考书。《UNIX/Linux 系统管理技术手册(第4版)》延续了《Linux系统管理技术手册(第2版)》以及《UNIX系统管理技术手册(第3版)》的讲解风格,以当前主流的5种Linux发行版本(Red Hat ES、SUSE、Debian、Fedora Core和Ubuntu)为例,把Linux系统管理技术分为3部分分别介绍。

作者简介
作者:(美国)内梅特(Evi Nemeth) (美国)Garth Snyder (美国)Trent R.Hein (美国)Ben Whaley 译者:张辉

Evi Nemeth,(sailingevi@gmail tom)已经从科罗拉多大学计算机科学系教师的岗位上退休民。她现在正坐在自己1.2米长的帆船Wonderland号上邀游太平洋呢。这是她写的最后一版——当船停泊在人间天堂里的时候,用只有30波特的GPRS收发电子邮件,是无法跟上最新系统管理技术的步伐了。
Garth Snyder,(snyderga@simon.rochester.edu)曾经在NeXT和Sun公司工作过,他从斯沃索莫学院(Swarthmore College)获得了工学学士学位,并从罗彻斯特大学取得MD和MBA学位。
Trent R.Hein是Applied Trust公司的创办人之一,这是一家提供网络基础设施咨询服务的公司。Trent从科罗拉多大学获得了计算机科学专业学士学位。
Bell Whaley是AppliedTrust公司的企业构架主管,这是一家位于科罗拉多州波尔多的IT咨询公司。Ben在2004年获得科罗拉多大学计算机科学专业学士学位。

目录
第一部分 基本管理技术
第1章 从何处入手
1.1 系统管理员的基本任务
1.1.1 账号管理
1.1.2 增删硬件
1.1.3 执行备份
1.1.4 安装和更新软件
1.1.5 监视系统
1.1.6 故障诊断
1.1.7 维护本地文档
1.1.8 时刻警惕系统安全
1.1.9 救火
1.2 读者的知识背景
1.3 UNIX和Linux之间的摩擦
1.4 Linux的发行版本
1.5 本书使用的示例系统
1.5.1 用作示例的Linux发行版本
1.5.2 用作示例的UNIX发行版本
1.6 特定于系统的管理工具
1.7 表示法和印刷约定
1.8 单位
1.9 手册页和其他联机文档
1.9.1 手册页的组织
1.9.2 man:读取手册页
1.9.3 手册页的保存
1.9.4 GNUTexinfo
1.10 其他的权威文档
1.10.1 针对系统的专门指南
1.10.2 针对软件包的专门文档
1.10.3 书籍
1.10.4 RFC和其他Internet文档
1.10.5 LDP
1.11 其他的信息资源
1.12 查找和安装软件的途径
1.12.1 判断软件是否已经安装
1.12.2 增加新软件
1.12.3 从源代码编译软件
1.13 重压下的系统管理员
1.14 推荐读物
1.15 习题
第2章 脚本和shell
2.1 shell的基础知识
2.1.1 编辑命令
2.1.2 管道和重定向
2.1.3 变量和引用
2.14常见的过滤命令
2.2 bash脚本编程
2.2.1 从命令到脚本
2.2.2 输入和输出
2.2.3 命令行参数和函数
2.2.4 变量的作用域
2.2.5 控制流程
2.2.6 循环
2.2.7 数组和算术运算
2.3 正则表达式
2.3.1 匹配过程
2.3.2 普通字符
2.3.3 特殊字符
2.3.4 正则表达式的例子
2.3.5 捕获
2.3.6 贪心、懒惰和灾难性的回溯
2.4 Perl编程
2.4.1 变量和数组
2.4.2 数组和字符串文字
2.4.3 函数调用
2.4.4 表达式里的类型转换
2.4.5 字符串表达式和变量
2.4.6 哈希
2.4.7 引用和自动生成
2.4.8 Perl语言里的正则表达式
2.4.9 输入和输出
2.4.10 控制流程
2.4.11 接受和确认输入
2.4.12 Perl用作过滤器
2.4.13 Perl的附加模块
2.5 Python脚本编程
2.5.1 Python快速入门
2.5.2 对象、字符串、数、列表、字典、元组和文件
2.5.3 确认输入的例子
2.5.4 循环
2.6 脚本编程的最佳实践
2.7 推荐读物
Shell基础知识和bash脚本编程
正则表达式
Perl脚本编程
Python脚本编程
2.8 习题
第3章 引导和关机
3.1 引导
3.1.1 恢复模式下引导进入shell
3.1.2 引导过程的步骤
3.1.3 初始化内核
3.1.4 配置硬件
3.1.5 创建内核进程
3.1.6 操作员干预(仅限恢复模式)
3.1.7 执行启动脚本
3.1.8 引导进程完成
3.2 引导PC
3.3 GRUB:全面统一的引导加载程序
3.3.1 内核选项
3.3.2 多重引导
3:4 引导进入单用户模式
3.4.1 用GRUB引导单用户模式
3.4.2 SPARC上的单用户模式
3.4.3 HP-UX的单用户模式
3.4.4 AIX的单用户模式
3.5 启动脚本
3.5.1 init及其运行级
3.5.2 启动脚本概述
3.5.3 RedHat启动脚本
3.5.4 SUSE的启动脚本
3.5.5 Ubuntu的启动脚本和Upstart守护进程
3.5.6 HP-UX的启动脚本
3.5.7 AIX的启动
3.6 引导Solaris
3.6.1 Solaris的SMF
3.6.2 崭新的世界:用SMF引导系统
3.7 重新引导和关机
3.7.1 shtudown:停止系统的妥善方式
3.7.2 halt和reboot:关闭系统的更简单方式
3.8 习题
第4章 访问控制和超级权限
4.1 传统的UNIX访问控制
4.1.1 文件系统的访问控制
4.1.2 进程的所有权
4.1.3 root账号
4.1.4 setuid和setgid执行方式
4.2 现代的访问控制
4.21 基于角色的访问控制
4.2.2 SELinux:增强安全胜的Linux
4.2.3 POSIX能力(Linux)
4.2.4 PAM:可插入式身份验证模块
4.2.5 Kerberos:第三方的加密验证
4.2.6 访问控制列表
4.3 实际中的访问控制
4.3.1 选择root的口令
4.3.2 登录进入root账号
4.3.3 su:替换用户身份
4.3.4 sudo:受限的su
4.3.5 口令保险柜和口令代管
4.4 root之外的其他伪用户
4.5 习题
第5章 进程控制
5.1 进程的组成部分
5.1.1 PID:进程的ID号
5.1.2 PPID:父PID
5.1.3 UID和EUID:真实的和有效的用户ID
5.1.4 GID和EGID:真实的和有效的组ID
5.1.5 谦让度
5.1.6 控制终端
5.2 进程的生命周期
5.3 信号
5.4 kill:发送信号
5.5 进程的状态
5.6 nice和tenice:影响调度优先级
5.710s:监视进程
5.8 用top、prstat和topas动态监视进程
5.9 /proc文件系统
5.10 strace、miss和ruse:追踪信号和系统调用
5.11 失控进程
5.12 推荐读物
5.13 习题
第6章 文件系统
6.1 路径名称
6.1.1 绝对路径和相对路径
6.1.2 文件名中的空白
6.2 挂载和卸载文件系统
6.3 文件树的组织
6.4 文件类型
6.4.1 普通文件
6.4.2 目录
6.4.3 字符设备文件和块设备文件
6.4.4 本地域套接口
6.4.5 有名管道
6.4.6 符号链接
6.5 文件属性
6.5.1 权限位
6.5.2 setuid和setgid位
6.5.3 粘附位
6.5.4 Is:列出和查看文件
6.5.5 chmod:改变权限
6.5.6 chown和chgrp:改变归属关系和组
6.5.7 umask:分配默认的权限
6.5.8 Linux上的额外标志
6.6 访问控制列表
6.6.1 UNIXACL简史
6.6.2 ACL的实现
6.6.3 系统支持的ACL
6.6.4 POSIX的ACL
6.6.5 NFSv4的ACL
6.7习题
……
第7章 添加新用户
第8章 存储
第9章 周期性进程
第10章 备份
第11章 系统日志与日志文件
第12章 软件安装和管理
第13章 驱动程序和内核

文摘
版权页:

UNIX/Linux 系统管理技术手册

插图:

UNIX/Linux 系统管理技术手册

因为UNIX和nnux系统颇为相似,所以本书会同时讲解这两种系统的管理。遗憾的是,在一句话里同时用UNIX和Linux这两个称谓,就仿佛一脚踏入了政治漩涡,或许也像是陷入了一大片泥潭。不过,既然UNIX和Linux之间的关系似乎呈现出某些混淆和冲突,所以要避开不谈我们的立场也比较困难。下面是我们的观点,还有我们对事实的简要说明。有关UNIX和Linux历史的更多资料,可参考本书后面的介绍。
Linux重新实现并优化了UNIX内核。Linux遵循POSIX标准,能够在几种硬件平台上运行,兼容现有的大多数UNIX软件。它同大多数(但不是全部)别的UNIX变体不一样,区别之处在于,它是自由的,开放源代码的,而且是由成百上千不同的个人和组织无私奉献协同开发出来的。与此同时,传统的UNIX厂商则继续改善自己的系统,所以肯定存在一些领域,在这些领域内,商业UNIX系统比Linux强。
无论两种系统有什么相对而言的优缺点,Linux从法律上、从开发上以及从历史上看,都和UNIX有着明显的区别,因此不能把Linux称为UNIX,或者UNIX的一种版本。这样做会忽视Linux社区所做的工作和创新。同时,坚持认为Linux不是UNIX的话,又会有点儿误导性。如果做出来的东西走路像鸭子,叫起来像鸭子,那或许可以说,造的就是鸭子!(译者注:源自一句西方谚语。If it lookslike a duck,walks like a duck,and quacks like a duck,it must be a duck!看起来像鸭子,走起路来像鸭子,叫起来也像鸭子,那一定是鸭子!这里的意思是,不能因为Linux像UNIX,就把Linux当成UNIX。)
即便在Linux阵营里也存在分歧。有人举证说,把Linux发行版本简称为“Linux”,那么开发人员在内核之外运行的那些软件(在一般系统上实际是很大一部分软件)上投入的工作,就没有得到承认。偏偏不巧,最常推荐的替代称谓“GNU/Linux”也有其自己的政治包袱,所以只有Debian这个发行版本才正式采用它。维基百科上有关“GNU/Linux命名争议”的条目列举出了争执双方的论点。有意思的是,现如今,甚至在大多数UNIX系统上,也是开源软件的使用占据主导,但还没有人提GNU/UNIX这样的说法。
Linux软件就是UNIX软件。多亏有了GNU计划,使UNIX系统更富价值的重要软件大多都以某种开放源代码的形式被开发出来。在Linux和非Linux系统上运行的代码是相同的。比如说,Web 服务器Apache全然不在意它是在Linux上还是在HP-UX上运行。从应用软件的角度来看,Linux只不过是得到最好支持的UNIX变体之一罢了。
另外还值得一提的是,Linux不是现今世界唯一的自由UNIX版本。OpenSolaris系统也是自由和开源的,虽然在某些讲求纯开源的人眼里来看,它的许可证条款存有疑点。FreeBSD、NetBSD和OpenBSD——都是从UC Berkeley(加州大学伯克利分校)的BSD(伯克利软件发布,即BerkeleySoftware Distribution)发展而来的分支——都有其各自的热诚追随者。虽然这些操作系统从第三方软件厂商得到的支持有点儿少,但它们在功能和可靠性上却往往可以同Linux相媲美。
UNIX和Linux系统用于生产环境已经有许多年了,而且它们都表现不错。现在要在它们之间做出选择,更多考虑的是软件打包机制、能获得的支持以及使用习惯的惰性,而不是品质或者成熟度实际有什么样的差别。
本书里对“Linux”的评论一般也都适用于各种Linux发行版本,但不适用于传统的UNIX变体。“UNIX”的含义稍有点儿多变,因为我们偶尔也会用在包括Linux在内的所有UNIX变体所共有的属性上(例如,“UNIX文件权限”)。为了避免混淆,在想表达二者都有的情况下,我们通常说“UNIX和Linux”。

内容简介
《UNIX/Linux 系统管理技术手册(第4版)》分为三大部分分析:第一部分全面介绍了运行单机Linux系统涉及的各种管理知识和技术,如系统引导和关机、进程控制、文件系统管理、用户管理、设备管理、系统备份、软件配置以及cron和系统日志的管理使用等。第二部分从详细讲解TCP/IP协议基本原理开始,深入讨论了网络的两大基本应用——域名系统和路由技术,然后逐章讲解Linux上的各种Internet关键应用,如电子邮件、NFS、文件共享、Web托管和Internet服务,在这部分里还有专门的章节介绍网络硬件、网络管理与调试以及系统安全。第三部分包括了多种不容忽视的重要主题:X窗口系统、打印系统、系统维护与环境、性能分析、与Windows系统的协作、串行设备、操作系统驱动程序和内核、系统守护进程以及政策与行政管理方面的知识等。

购买书籍

当当网购书 京东购书 卓越购书

PDF电子书下载地址

相关书籍

搜索更多