可能重复:
对于系统管理员工作,初学者应该了解/学习什么?
我很快就要大学毕业了,现在正在寻找工作机会。我对其中一份工作很感兴趣,涉及 Linux 系统管理(PHP、MySQL、Apache Webserver、BIND、bash、postfix,当然还有一般系统维护和安全)。
然而,在实习期间,我的大部分任务都涉及 Hyper-V 虚拟化和 Windows,而我并没有太多时间使用 Linux。在业余时间,我通常也是 Windows 用户,只具备非常基本的 Linux 知识。
您认为新初级求职者需要具备哪些知识和技能才能真正做好工作(和面试)的准备?任何来源,从书籍到电子书、教程、一般技能描述、命令、网站、博客……都会对我有很大帮助。
帮助我成为更好的 Linux 管理员,并为这次面试做好准备!非常感谢 :-)
编辑:正如一些人所建议的,我将更新原始问题:我在问题标题中说我是初级员工,这指的是我申请的职位名称(显然,没有经验,你几乎没有机会获得高级职位)。我对 Linux 的了解可能比我让你们理解的要多一些;我已经过了“如何设置 DNS 服务器?”阶段,dns、dhcp、webserver 等,我之前已经设置过好几次了。
我正在寻找更高级的知识、日常工作中需要的东西或面试时可能被问到的问题。我希望尽可能做好准备。
感谢您迄今为止的投入!
答案1
已经有很多信息(问题/帖子)服务器故障对于初级 Linux 管理员:
- Linux 操作指南/教程网站
- 在家设置 Linux
- 作为 Windows/Linux 管理员你绝对应该知道的工具
- 适合初学者的优秀 Linux 播客/链接
- Linux 中的隐藏功能
- 如何招募 Linux 专家
- 新手应该了解系统管理员的工作
此外,我建议你找一台旧电脑,在上面安装 Linux。玩一玩,在上面设置防火墙、DNS、DHCP 来启动和测试。你甚至可以在虚拟机中设置它并在其中做一些事情。没有什么比亲自体验一下更能帮助你了。决定如何合理使用它,并尽可能多地使用它。遇到困难时问问题(不过,先研究一下),这就是我们在这里的原因。
答案2
考虑规模、审计跟踪和撤销。
在现实世界中,你需要经常做一些事情,而且你经常需要对许多服务器进行操作。因此,脚本和自动化变得很重要。
其严格程度往往高于您在家中使用的程度。因此,您需要考虑如何记录您的更改(以便更好地识别导致服务中断的更改)以及如何在需要时撤消这些更改。
例如,知道如何将 bind 设置为主服务器和从服务器是很好的,但在我的工作中,我们在 7 个 bind 实例上托管了数百个域。一个主服务器有一个从服务器,该从服务器本身是其他 5 个从服务器的主服务器。我们使用 make 和 M4 宏为所有从服务器生成 named.conf,使用 ssh 将它们推送出去,并使用 RCS 记录对 named.conf 和一些区域文件的更改。较大的区域文件是从具有 CGI 前端的数据库生成的。
没有什么特别令人吃惊的,named.confs 大部分都很简单,只是有点大。更大的自动生成的区域文件也是如此。
我想要表达的观点是,当你在真实的工作环境中工作时,你需要能够扩展你所做的事情,你需要能够跟踪变化,你需要考虑退出。
我会熟悉自动构建工具,例如 kickstart,因为有些地方会给初级员工分配这个工作,让他们能够使用服务器并了解服务器在组织中的组装和配置方式,而不必让他们接触实时的 prd 服务器。
答案3
除了基础知识之外,您可能还应该进一步研究以下几个领域:
设置一个性能良好、足以容纳数百名用户的邮件系统、良好的垃圾邮件过滤、安全性、备份解决方案、网络邮件访问等...
学习和试验备份:选择一个好的策略,实施它,使其尽可能有效(每个人都想要备份,但不是每个人都愿意支付额外的费用)。
服务器监控:再次强调,制定一个好的策略并实施它,以便您可以监控多个服务器,目标是能够预测问题而不是在问题发生时修复它们。
安全性:审计、锁定资源、监控使用情况、复杂的防火墙情况。
...
基本上,任何突破极限的事情都会影响你为自己设定的目标和为组织设定的目标。
除此之外,我认为,要成为一名高效的高级管理人员,您需要了解公司在做什么、员工如何工作、他们做什么,并了解技术如何帮助用户提高效率和提高公司利润。IT
并非存在于真空中:努力寻找更好的方式让人们进行协作并快速安全地访问他们的数据,这是打造优秀 IT 组织的关键。
因此,这不仅仅是能够设置邮件服务器或安装安全产品,还在于利用您的技术知识和经验来帮助您正在工作的企业。
拓展你的视野,不仅限于 IT 机制,这将有助于你走得更远。
答案4
我不想这么说,但你可能高估了自己的知识。
我发现在企业中每个环境对于使用什么、如何配置每个服务器等等都有非常严格的规则。
我最初是通过在自己的时间里设置各种服务器等来学习的,但很快发现这给了我太多的自由。企业环境的配置是为了将损害降到最低,而不是为了实现有趣或有用的功能。更高级别的管理是关于为业务需求提供已知、定义的解决方案,该解决方案的范围是精确的。在较低级别,它是关于实现它,这通常更接近于你所期望的猴子工作,因为一切都应该是预先定义的。
虽然在家熟悉发行版很有用,但您还是需要在合适的环境中花时间。看看您是否可以找到当地的 LUG,在那里您可以与资深专业人士交谈并学习。了解他们的环境、程序等。
就我个人而言,我发现能够运行 Apache 真的没什么价值,因为它并不难。关键在于根据要求确定安装范围,并根据需要获取服务,不多也不少。
Renaud 的上述建议也是很好的学习点,我只是认为了解功能只是难题的一小部分,而了解业务驱动因素更为重要。