Python UNIX和Linux系统管理指南
Python UNIX和Linux系统管理指南
Noah Gift, Jeremy M. Jones
杨明华, 谭励 等译
出版时间:2009年08月
页数:417
本书介绍了Python语言如何为管理UNIX和Linux服务器提供各种更加有效的任务处理方式。书中各章都提出了具体的管理问题,如并发或数据备份,然后通过Python示例提供了解决方案。通过本书,读者可以学习如何用Python开发自己的一套命令行工具来解决诸多问题。
作者建立了一个免费下载的Ubuntu虚拟机,其中包含本书的源代码和运行实例,也包括SNMP、IPython、SQLAlchemy及其他工具。通过本书,你可以发现Python在如下几个方面的作用:
● 读取文本文件并提取信息。
● 使用多线程和fork选项。
● 使用网络设备从一个进程获取另一个进程的信息。
● 创建可点击的、易于交互的GUI工具。
● 通过交互式SNMP编程实现监控大型主机集群。
● 掌握IPython shell,作为 Bash、Korn或Z-Shell的替换或补充。
● 将云计算整合到基础设施中,编写Google App引擎的应用程序。
● 通过定制脚本解决独特数据备份的难题。
● 使用Django、SQLAlchemy和Storm ORM与数据库进行交互。
通过本书及其补充的虚拟机,你可以了解如何打包并部署Python应用程序和库,以及编写代码在类似的多个UNIX和Linux平台上运行。

“本书针对Python的入门者,无论他们是否具有shell脚本编程方面的经验。与其他编程书籍不同,Jeremy和Noah在书中大量使用了现实生活中非常有用的代码示例,有助于入门者开始使用Python。 这本书不会令你失望,它将为你的成功助一臂之力!”
——《Red Hat Magazine》
杂志社,Ruth Suehle和Bascha Harris
Noah Gift使用UNIX和Linux系统十余年,曾就职于Caltech、Disney、Feature Animation和Turner Studios。他是Giftcs和Cloud Seed Software公司的合作伙伴。
Jeremy M. Jones是一名软件工程师,就职于Predictix,他是Munkware、ediplex和podgrabber等开源项目的作者。
  1. 前言
  2. 第1章 Python简介
  3. 为什么要选Python
  4. 学习的动力
  5. 一些基础知识
  6. 在Python中执行命令
  7. 在Python中使用函数
  8. 通过Import语句实现代码复用
  9. 第2章 IPython
  10. 安装IPython
  11. 基础知识
  12. 从功能强大的函数获得帮助
  13. UNIX Shell
  14. 信息搜集
  15. 自动和快捷方式
  16. 本章小结
  17. 第3章 文本
  18. Python的内建功能及模块
  19. ElementTree
  20. 本章小结
  21. 第4章 文档与报告
  22. 自动信息收集
  23. 手工信息收集
  24. 信息格式化
  25. 信息发布
  26. 本章小结
  27. 第5章 网络
  28. 网络客户端
  29. 远程过程调用
  30. SSH
  31. Twisted
  32. Scapy
  33. 使用Scapy创建脚本
  34. 第6章 数据
  35. 引言
  36. 使用 OS 模块与Data进行交互
  37. 拷贝、移动、重命名和删除数据
  38. 使用路径、目录和文件
  39. 数据比较
  40. 合并数据
  41. 对文件和目录的模式匹配
  42. 包装rsync
  43. 元数据: 关于数据的数据
  44. 存档、压缩、映像和恢复
  45. 使用tarfile模块创建TAR归档
  46. 使用tarfile模块检查TAR文件内容
  47. 第7章 SNMP
  48. 引言
  49. 对SNMP的简要介绍
  50. IPython与Net-SNMP
  51. 查找数据中心
  52. 使用Net-SNMP获取多个值
  53. 创建混合的SNMP工具
  54. Net-SNMP扩展
  55. SNMP设备控制
  56. 整合Zenoss的企业级SNMP
  57. 第8章 操作系统什锦
  58. 引言
  59. Python中跨平台的UNIX编辑
  60. PyInotify
  61. OS X
  62. Red Hat Linux系统管理
  63. Ubuntu管理
  64. Solaris系统管理
  65. 虚拟化
  66. 云计算
  67. 使用Zenoss从Linux上管理Windows服务器
  68. 第9章 包管理
  69. 引言
  70. Setuptools和Python Egg
  71. 使用easy_install
  72. easy_install的高级特征
  73. 创建egg
  74. 进入点及控制台脚本
  75. 使用Python包索引注册一个包
  76. Distutils
  77. Buildout
  78. 使用Buildout
  79. 使用Buildout进行开发
  80. virtualenv
  81. EPM包管理
  82. EPM总结:真的非常简单
  83. 第10章 进程与并发
  84. 引言
  85. 子进程
  86. 使用Supervisor来管理进程
  87. 使用Screen来管理进程
  88. Python中的线程
  89. 进程
  90. Processing模块
  91. 调度Python进程
  92. daemonizer
  93. 本章小结
  94. 第11章 创建GUI
  95. GUI创建理论
  96. 生成一个简单的PyGTK应用
  97. 使用PyGTK创建Apache日志浏览器
  98. 使用Curses创建Apache日志浏览器
  99. Web应用
  100. Django
  101. 本章小结
  102. 第12章 数据持久性
  103. 简单序列化
  104. 关系序列化
  105. 本章小结
  106. 第13章 命令行
  107. 引言
  108. 基本标准输入的使用
  109. Optparse简介
  110. 简单的Optparse使用模式
  111. Unix Mashups:整合Shell命令到Python命令行工具中
  112. 整合配置文件
  113. 本章小结
  114. 第14章 实例
  115. 使用Python管理DNS
  116. 使用OpenLDAP、Active Directory以及其他Python工具实现LDAP
  117. Apache日志报告
  118. FTP镜像
  119. 附录 回调
书名:Python UNIX和Linux系统管理指南
作者:Noah Gift, Jeremy M. Jones
译者:杨明华, 谭励 等译
国内出版社:机械工业出版社
出版时间:2009年08月
页数:417
书号:978-7-111-26663-1
原版书出版商:O'Reilly Media
Noah Gift
 
Noah Gift是加州州立大学洛杉矶分校的CIS硕士、加州理工学院圣路易斯奥比斯波营养学学士、Apple和LPI认证系统管理员,曾就职于加州理工学院、迪斯尼动画公司、索尼图像和Turner工作室。
在闲暇时间里,他喜欢与妻子Leah、儿子Liam一起弹钢琴和做运动。
Noah Gift has an M.A. in CIS from California State University, Los Angeles, a B.S. in
nutritional science from California Polytechnic San Luis Obispo, is an Apple and LPI
certified sysadmin, and has worked at companies such as Caltech, Disney Feature Animation,
Sony Imageworks, and Turner Studios.
In his free time, he enjoys hanging out with his wife, Leah, and their son, Liam, playing
the piano, and exercising religiously.
 
 
Jeremy M. Jones
 
Jeremy M. Jones是一名软件工程师,现任职于Predictix。他选择的开发工具是Python,而他对shell、Perl也有一定研究,了解Java的相关知识,当前在学习C#。他对函数式编程语言(尤其是OCaml)非常感兴趣。
他是开放源码项目Munkware的开发者,Munkware是一个多生产者/多消费者、事务性、持久队列机制的项目;他还是ediplex的开发者,ediplex是一个EDI(电子数据交换)解析引擎。此外,他也是podgrabber的开发者,podgrabber是一个podcast下载器。以上三个项目都是由Python语言编写。
Jeremy将他的空闲时间花在家庭生活和写作上。他和他的妻子Debra以及两个孩子Zane和Justus住在Georgia(Atlanta的东部)的Conyers,那里有一个名为Genevieve的实验室。
Jeremy所表达的想法和观点仅代表他个人,不代表Predictix的观点。
Jeremy M. Jones is a software engineer who works for Predictix. His weapon of choice
is Python, but he has done some shell, plenty of Perl, a touch of Java, is currently
learning C#, and finds functional programming languages (especially OCaml)
fascinating.
He is the author of the open source projects Munkware, a multiproducer/multiconsumer,
transactional, and persistent queuing mechanism; ediplex, an EDI (electronic
data interchange) parsing engine; and podgrabber, a podcast downloader. All three
projects were written in the Python language.
Jeremy spends his spare time enjoying his family and doing a little writing. He lives in
Conyers, Georgia (just east of Atlanta) with his wife, Debra, two children, Zane and
Justus, and a lab named Genevieve (how Madelinesque).
Opinions and views expressed by Jeremy are his own and not those of Predictix.
 
 
本书封面上的图片是一个红尾蚺(boa constrictor)。在整个南美洲和中美洲一些岛屿以及加勒比地区都发现有它们的踪迹,红尾蚺不是毒蛇,它们可以生活在各种各样的环境中,从沙漠到热带草原或是湿热的热带森林,但它们更喜欢生活在干旱地区中因地形而形成的潮湿环境中。它们大都依赖陆地和乔木生活, 但是当渐渐地长大,它们往往花费更多的时间在地面上。
红尾蚺有非常独特的标记,包括钻石和椭圆状花纹。表皮的颜色和花纹取决于它们的栖息地,帮助它们能够更好地隐藏,以便狩猎森林中的各种动物。
在野生环境中,红尾蚺能够扑食中小啮齿动物、蜥蜴、蝙蝠、鸟类、猫鼬、松鼠,甚至也可以扑食豹猫等一些其他较大的哺乳动物。红尾蚺冷血而且移动缓慢,它们可以在捕获大型猎物之后一个星期都不再进食。它们习惯于独行并且夜间狩猎,在它们的头上有热感装置,帮助它们寻找猎物。红尾蚺特别喜欢扑食蝙蝠,它们挂在树木或洞穴的入口等着,蝙蝠一旦飞过它们就可以一口咬住蝙蝠。不足为奇的是,红尾蚺依靠收缩使猎物致命。 蛇身就像包裹在猎物身体周围的线圈,紧缩地控制每次猎物的呼吸,最终使猎物窒息死亡。
红尾蚺在动物园中十分常见,它们也是相对常见的宠物。事实上,每年都要花费大量的美元进口它们到美国。在南非,它们被尊为“啮齿动物中的驱逐舰”,而且人们也往往出于这个原因去驯化它们。红尾蚺在洞穴中生活相当温和,可以静静的生活在那里20~30年。然而它们因为宠物贸易和装饰市场的需要而惨遭猎杀,一些红尾蚺属于濒危动物,应当受到保护。
红尾蚺季节性育种。为了吸引雄性,雌性从泄殖腔发出气味,泄殖腔是其肠道和泌尿生殖道出口。受精发生在体内,雌性红尾蚺可以同时生育多达60个婴儿。新生的红尾蚺平均在2英尺长,明显小于其堂兄弟水蟒。出生后红尾蚺可以长到13英尺长,体重超过100磅。在南美洲发现的最大红尾蚺纪录是18英尺!