【问题标题】:From programmer to Sys Admin从程序员到系统管理员
【发布时间】:2010-10-10 16:05:28
【问题描述】:

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

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

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

我知道这不是一个简单的步骤,但也不是不可能的,对吧?

【问题讨论】:

  • 习惯吃通心粉和奶酪。系统管理员的工资很烂。
  • 不,它没有!我公司的系统管理员得到了很多报酬
  • 我记得我大学时的系统管理员教授:“谁赚得和系统管理员一样多?嗯,银行劫匪,毒贩......”

标签: networking sysadmin


【解决方案1】:

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

这就是我们想出的。

  • 使用 puppet cfengine 学习配置管理
  • 了解并记住常见的团队副本级别。你需要交换磁盘,你需要知道什么时候可以,什么时候不能。您还需要知道为什么要使用一个团队副本而不是另一个团队。
  • 提高您对不同 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、路由等,并通过引导使其持久化。
  • 学习、热爱、记忆、吃、睡和喝灾难恢复,并成为一个伟大的计划者和组织者。如果你不擅长这些事情,那就继续努力。
  • 培养维护正常运行时间和用户隐私的责任感。这是系统管理员最重要的价值。在我看来,做正确的事的真诚愿望对于成为一名优秀的系统管理员至关重要。
  • 阅读、阅读、阅读并充满热情。刻意练习会让你变得很棒!
  • 学会保持冷静。 Panic 不会让您的服务恢复正常运行。 - 由 Baynote, Inc 生产运营经理 Eric Ericson 供稿
  • 评估和了解不同的身份验证,例如 NIS/LDAP/AD 与本地身份验证 - 由 Baynote, Inc 高级系统管理员 Truong Pham 供稿
  • 在 LISA 或其他系统管理员组中处于活动状态。并在系统管理员论坛/博客/新闻列表中闲逛。 - 由匿名者提供 - Baynote, Inc. 必读:

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

Cricket Liu 的 DNS 和绑定 - 你必须阅读这本书并学会爱上它。

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

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

我自己订阅了 O'Reilly 库。

你知道吗!我喜欢成为系统管理员。我也喜欢写代码。作为一名系统管理员,我可以和很多人一起工作,这是我非常喜欢的。我也喜欢信息很少但我可以通过分析和批判性思维确定问题的根本原因。我喜欢做一名系统管理员,经历各种风风雨雨。

我不确定您是否希望以此为职业,但作为系统管理员,我在财务方面做得很好。我希望你喜欢阅读。如果您愿意,请随时与我联系。我喜欢与人交谈,尤其是那些与我一样热衷于保持长时间正常运行和帮助他人的人。

抱歉,这篇文章太长了。

【讨论】:

    【解决方案2】:

    来自系统管理员转为系统工程师的一些想法。

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

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

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

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

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

    【讨论】:

      【解决方案3】:

      您要使用的材料取决于您可能选择的系统管理专业。大多数系统管理员一开始就属于 Unix 阵营或 Windows 阵营作为主要专业。对于这些,您可以做的最好的事情是获得一个带有操作系统的虚拟机,并试验和学习它们的功能。一旦您觉得自己能够胜任基本的系统管理员任务(编写脚本、安装应用程序服务器、配置网络、补丁等),我建议您获得您想要被聘用的任何“核心”技术的认证。

      如果你是一个体面的自学者,你会发现大多数 UNIX 和 Windows 证书都增加了一些晦涩的知识,但大多缺乏很多实用领域。没关系,因为证书不会使您成为系统管理员;他们只声称您在某些领域的能力最低,并且如果您没有该领域的经验,则在被雇用时会给您带来一点优势。这些通常很贵,但有一些是物有所值的(稍后您也许可以让您的雇主为您支付费用)。

      一旦你真正进入你就会发现,在实践中,技术部分并不是很困难(它主要是阅读手册并记住操作系统功能的足够子集),但是在与你的雇主打交道时你会陷入困境/需要扑灭火灾时的客户/最终用户,这意味着您必须学习如何处理高压力情况,并能够说服人们实施技术上优越的解决方案,从而使您免于日后的额外工作。

      非常确定您为什么要进行这次跳跃。以我的经验,系统管理是 IT 中压力最大的职业,涉及的时间最长(一次 24/7 全天候待命),在某些情况下,大脑活动最少,因为日常操作涉及琐碎的任务和等待系统响应。最重要的技能真的归结为能够说不,并在与几名高管在脖子上呼吸以​​启动生产服务器的通话中保持冷静。

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

      【讨论】:

      • 我知道压力很大。我现在工作的公司只有一个系统管理员,而应该有两个,但正如你所说,钱很好:)
      【解决方案4】:

      与其试图从书本中学习,如果这是你想做的职业转变,那就不要吝啬它。

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

      您会以十倍的速度学习所有内容,并获得参考资料供您阅读和推荐购买的书籍。

      当有不清楚或不合理的地方时,您将能够立即获得答案,然后回答您提出的问题。

      如果您想快速开始您的职业生涯,从一些培训开始是非常值得的。在你的简历中添加正式培训也没有什么坏处。

      【讨论】:

      • 这确实是一个好点!我真的很讨厌在培训课程上加速赚钱,只是因为我认为它们没有用,但如果我找到一个好的,我一定会接受它:]
      【解决方案5】:

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

      记录一切 - 即使是您认为永远不会忘记的东西。

      【讨论】:

        【解决方案6】:

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

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

        【讨论】:

        • 我真的相信最好的学习方法就是做:)谢谢
        【解决方案7】:

        不知道任何网站,因为我在有网络之前就学会了大部分系统管理知识。 :-(

        我学到了一些非技术性的东西来帮助你入门:

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

        【讨论】:

          猜你喜欢
          • 2019-04-17
          • 2017-10-10
          • 1970-01-01
          • 1970-01-01
          • 2021-12-20
          • 1970-01-01
          • 2023-03-06
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多