在许多较小的组织中,开发人员通常最终会做一些系统管理工作(原因很明显)。很多时候,他们有很好的开发技能,但很少有系统管理技能(可能都是自学的),所以必须边学边学,效率很低。
在这种情况下,是否有规范的(或仅仅是伟大的)书籍可以提供帮助?比仅仅使用 shell 更先进(大概开发人员可以做到这一点),但不是针对希望花费多年时间做这项工作的人。
理想情况下,一些相当通用的东西(尽管特定于发行版也可以),涵盖数据库、网络、一般维护等,而不仅仅是一项特定任务。
在大多数情况下,我对基于 shell 的工作(即没有安装 GUI)感兴趣,尽管如果我遗漏了一些出色的东西,请指出。
(作为类比,用 C 替换“系统管理”,我想要K&R,用 C++ 并且我想要 Meyers 的“Effective C++”)。
limoncelli http://ecx.images-amazon.com/images/I/512gcuc0aWL._BO2,204,203,200_PIsitb-sticker-arrow-click,TopRight,35,-76_AA240_SH20_OU01_.jpg
在我看来,系统和网络管理的实践是你唯一需要的。您可以在网上找到有关如何解决技术问题的具体信息。这本书给你的是一组最佳实践,它使你更容易适应系统管理员的观点。
这些年来,一些帮助我学习如何成为更好的系统管理员的书,为了我今天推荐阅读它们。
您没有说您使用哪种语言开发(尽管您通过类比暗示了 C/C++)。许多系统管理员将他们的工具开发重点放在脚本语言上,如 Ruby、Perl、Python 或普通的 Shell。我个人喜欢Ruby。
简而言之 Linux
Linux 系统管理
O'Reilly 还提供了其他一些不错的内容,但这两个内容将涵盖 Linux 管理员的大部分日常事务。
我曾经去HowtoForge和Gentoo Wiki 教程寻求设置一些配置的帮助——简单、简洁、切中要害。
然而, Ubuntu 服务器指南和Gentoo 手册有助于更好地掌握 linux 的工作原理。
至少这些是我白天作为开发人员使用的主要资源,晚上是系统管理员。
RUTE 可在线获得,并且对 Linux 的使用和 Linux 系统管理进行了不错的介绍:
http://rute.2038bug.com/rute.html.gz [这不是错字;它以.gz结尾,但可以在浏览器中查看]
如果需要,您可以购买硬拷贝,或者只是在线阅读整个内容。
一些 Linux 发行版提供了非常完整和可读的在线文档。例如:
不幸的是,一些发行版没有提供好的文档,但您通常可以使用其他发行版的文档。在这种情况下,最好知道哪些发行版彼此相似。例如,Ubuntu 是从 Debian 派生的,因此文档几乎可以互换;CentOS 和 RHEL 也是如此。
UNIX 和 Linux 系统管理手册(第 4 版) http://www.admin.com/img/Book.png
我为自己使用
Unix 电动工具
据我所知,没有经典的书籍。
假设您了解基本的 Unix 范例,并希望保持兼职系统管理员的身份,而不是过渡到全职,即您正在寻找语法指南和一些基本的良好实践:
<distro|linux|unix> in a nutshell
(作为适当的),Essential System Administration
两者均由 O'Reillys 出版。
如果你只看一个或一个,我会选择前者。
如果您想成为一名全职系统管理员,我认为很多人推荐的 Limocelli 非常棒,但我假设通过您的类比您正在寻找更多的语法指南/您可以浏览一下以找出哪些工具/facilities 存在以及这些工具可以做什么。使用 K&R C anaolgy,Limocelli 更像是一本设计模式书籍,而不是语言参考书,这就是 K&R 的 The C Prog Lang 的意义所在。
Essential Syatem Adminsitration
与 K&R C 类型的书相比,它更接近于成为一本数据结构和算法介绍书,但对于系统管理技术过程的基本介绍仍然有用。我会查看 O'Reilly 的 Linux Network Cookbook。这是使用 Linux 设置小型企业网络以运行最常见的网络服务的实用指南。