从程序员到Sys Admin

时间:2009-03-01 20:35:23

标签: networking sysadmin

我是网络程序员,我处理的是html,css,javascript,php和asp.net。

是否有一些好的书籍/网站可以用来成为一个系统管理员?通过sys admin,我的意思是了解TCP / IP,Linux / Win网络等。

请不要说“谷歌是你的朋友”我知道它是,但我只想要好的网站或书籍,而不是谷歌给我的万亿链接。

我知道这不是一件容易的事,但这不是不可能吗?

7 个答案:

答案 0 :(得分:5)

自从我在网络上学到大部分系统管理员资料后,不知道任何网站。 : - (

以下是我学到的一些非技术性内容,可以帮助您入门:

  • 备份是您的朋友,但只有在您验证它们时才会这样。
  • 跟踪您对系统所做的每一项更改。
  • 测试环境对于系统管理员和开发人员同样重要。
  • 在其他人都睡着的时候习惯工作。

答案 1 :(得分:3)

除了tvanfosson的回答,我还要补充一下:

文件一切 - 即使是你认为永远不会忘记的东西。

答案 2 :(得分:3)

我已将您的问题发送给团队中的一些成员。

这就是我们想出来的。

  • 使用puppet,cfengine
  • 学习配置管理
  • 学习并记住常见的raid等级。您需要交换磁盘,并且您需要知道何时可以和不可以。您还需要知道为什么使用一个raid级别而不是另一个。
  • 提高您对不同FS类型ext3 / ext4等的熟悉程度。
  • 了解linux启动过程
  • 提高您对Linux内核的熟悉程度,特别是虚拟内存,分页,内存分配和进程创建。
  • 从里到外了解您的包管理器。了解如何使用pkg管理器从源代码或二进制文件恢复,应用,更新和安装软件包。
  • 了解如何阅读“iostat,vmstat,free,valgrind,top,traceroute,ping,netstat,route和chkconfig(如果您使用它)”中包含的数据“
  • 了解如何阅读strace输出。我不能强调这一点。这根本不难阅读。
  • 了解Unix和Linux之间的差异
  • 学习脚本语言X,其中X是你喜欢的任何东西(我使用Perl和Python)
  • 学习一些C.真的,当你搞清楚奇怪的记忆问题时,它会有所帮助。
  • 了解如何启动,停止,启用和停用服务。
  • 了解不同人员的故障排除方法。系统管理员不是一个男人的军队,他们团队合作。了解你的弱点,承认并加强这一领域。
  • 了解在膝盖深处停电时如何在工作中获得很多乐趣。我希望这不会发生在你身上。
  • 培养您管理项目和截止日期的能力。
  • 了解如何说“不”
  • 批判性地思考,即使那个告诉你“我的代码没有办法使该服务器崩溃的人”无论如何都会调查它。
  • 了解如何管理apache,邮件服务器(我建议使用postfix)
  • 了解如何添加ips,路线等,并通过靴子使其保持持久性。
  • 学习,爱,记忆,吃饭,睡觉和饮用灾难恢复,成为一名出色的策划者和组织者。如果你吮吸这些东西,就可以解决它们。
  • 培养一种维护正常运行时间和用户隐私的责任感。这是系统管理员的最重要的价值。在我看来,做一个正确的事情的诚实愿望对于成为一名优秀的系统管理员至关重要。
  • 阅读,阅读,阅读并充满激情。刻意练习会让你很棒!
  • 学会保持冷静。恐慌不会使您的服务恢复运营。 - 供稿人:Eric Ericson,生产行动经理 - Baynote,Inc
  • 评估和了解不同的身份验证,例如NIS / LDAP / AD与本地身份验证 - 供稿人:Trural Pham,高级系统管理员 - Baynote,Inc
  • 在LISA或其他系统管理员组中保持活动状态。并在sysadmin论坛/博客/新闻列表中闲逛。 - 由Anonymous提供 - Baynote,Inc。 必读:

http://en.wikipedia.org/wiki/Man_page#Manual_sections - 说真的,请阅读手册页上的整个维基页面。

Cricket Liu的DNS&绑定 - 你必须阅读这本书并学会喜欢它。

O'Reilly的基本系统管理 - 一本非常好的新手书

有一个名为http://www.linux-tutorial.info/modules.php?name=MContent&pageid=89的网站 网站上的一些数据已经过时,但阅读起来很好,因为有些商店仍然在生产中使用非常旧的发行版。

我自己订阅了O'Reilly图书馆。

你知道吗!我喜欢成为一名系统管理员。我也喜欢写代码。作为一个系统管理员,我可以和很多人一起工作,这是我非常喜欢的。当我掌握的信息很少时,我也喜欢它,但我可以通过分析和批判性思维来确定问题的根本原因。我喜欢在所有起伏中担任系统管理员。

我不确定您是否希望从中获得职业,但我作为系统管理员在财务方面做得非常好。我希望你喜欢阅读。如果您愿意,请随时与我联系。我喜欢与人交谈,尤其是那些与我保持长时间工作和帮助他人的热情的人。

很抱歉这篇长篇文章。

答案 3 :(得分:2)

在虚拟机中安装Linux或租用服务器。购买一本关于您选择的发行版的好书。将服务器设置为您的Web服务器。安装Jabber / XMPP服务器。使用SMTP / IMAP等安装邮件服务器。了解OSI模型。使用C或CPP等系统语言编写一个简单的服务器,使用套接字与某些东西进行通信。

...为自己设定一些目标并开始进行黑客攻击。最好的学习方法是设定一个目标并一直工作直到完成。

答案 4 :(得分:1)

与其试图从书本中学习,如果这是你想要的职业生涯,那么就不要吝啬。

在您居住的地方找到一些优秀的计算机培训课程,这将为您提供所需的系统管理员培训。愿意花几百到几千美元。

您将学习所有内容十倍的速度,并将获得阅读和建议书籍的参考资料。

你可以在那里得到答案,然后在你不清楚或没有意义的时候得到你的问题。

如果你想要开始你的职业生涯,那么从一些训练开始是值得的。并且在简历中添加正式培训也不会造成伤害。

答案 5 :(得分:1)

您要使用的材料取决于您可能选择的系统管理专业。马上,大多数系统管理员都会进入Unix阵营或Windows阵营作为主要专业。对于这些,您可以做的最好的事情是使用操作系统和实验来获取VM并了解它们的功能。一旦您觉得自己在执行基本的系统管理员任务(脚本,安装应用程序服务器,配置网络,补丁等)方面能够胜任,我建议您获得要雇用的“核心”技术的认证。

如果你是一个体面的自学者,你会发现大多数UNIX和Windows证书都增加了一些不为人知的知识,但是大多数缺乏实际领域。没关系,因为证书不会让你成为系统管理员;他们只声称你在某些领域的能力极低,如果你没有该领域的经验,那么在你被聘用时会给你一点点优势。这些通常是昂贵的,但有些是值得你的钱(后来你可能会让你的雇主为你付钱)。

一旦你真的在你身上,你就会看到,在实践中,技术部分并不是很困难(它主要是阅读手册并记住操作系统功能的一小部分),但是在与雇主打交道时你会陷入困境/客户/最终用户在火灾发生时,这意味着您必须学习如何应对高压力情况,并能够说服人们实施技术上优越的解决方案,以免您以后的额外工作。

非常确定为什么要跳这个跳转。根据我的经验,系统管理是IT中压力最大的职业,涉及最长时间(一次24小时全天候待命),在某些情况下是最少的大脑活动,因为从那天开始日操作涉及琐碎的任务,等待系统响应。最重要的技能实际上归结为能够在打电话时保持冷静,并且几个高管呼吸着你的脖子以获得生产服务器。

从好的方面来说,你可以玩一些非常酷的玩具而且钱非常好。

答案 6 :(得分:1)

系统管理员的一些想法变成了系统工程师。

学习和使用配置管理系统。 ChefPuppet是非常强大的选择(我喜欢Chef),都是用Ruby编写的。不确定Windows,如果那是你的平台; Chef计划在明年内支持Windows。

充分利用您的软件控制技能。使用Git或Subversion(或其他)存储库维护您的配置。我喜欢Git,因为每个结账/克隆都是一个完整的存储库,所以备份很简单: - )。

尽可能使用开源工具。您可以通过改进它们来提高您的开发人员技能。

阅读Tom Limoncelli的“The Practice of System and Network Administration” - 这是一本优秀的书,涵盖了端到端系统管理的全部内容,而不是特定于平台的。

查找适用于您平台的本地用户组。加入Twitter并寻找谈论您兴趣的人。进入Freenode网络上的IRC并与其他管理员讨论系统管理。