标签 系统管理员 下的文章

 title=

2017年开源工作报告(以下简称“报告”)显示,具有开源云技术认证的系统管理员往往能获得更高的薪酬。

报告调查的受访者中,53% 认为系统管理员是雇主们最期望被填补的职位空缺之一,因此,技术娴熟的系统管理员更受青睐而收获高薪职位,但这一职位,并没想象中那么容易填补。

系统管理员主要负责服务器和其他电脑操作系统的安装、服务支持和维护,及时处理服务中断和预防其他问题的出现。

总的来说,今年的报告指出开源领域人才需求最大的有开源云(47%),应用开发(44%),大数据(43%),开发运营和安全(42%)。

此外,报告对人事经理的调查显示,58% 期望招揽更多的开源人才,67% 认为开源人才的需求增长会比业内其他领域更甚。有些单位视开源人才为招聘最优选则,它们招聘的开源人才较上年增长了 2 个百分点。

同时,89% 的人事经理认为很难找到颇具天赋的开源人才。

为什么要获取认证

报告显示,对系统管理员的需求刺激着人事经理为 53% 的组织/机构提供正规的培训和专业技术认证,而这一比例去年为 47%。

对系统管理方面感兴趣的 IT 人才考虑获取 Linux 认证已成为行业规律。随便查看几个知名的招聘网站,你就能发现:CompTIA Linux+ 认证是入门级 Linux 系统管理员的最高认证;如果想胜任高级别的系统管理员职位,获取红帽认证工程师(RHCE)红帽认证系统管理员(RHCSA)则是不可或缺的。

戴士(Dice)2017 技术行业薪资调查显示,2016 年系统管理员的薪水为 79,538 美元,较上年下降了 0.8%;系统架构师的薪水为 125,946 美元,同比下降 4.7%。尽管如此,该调查发现“高水平专业人才仍最受欢迎,特别是那些精通支持产业转型发展所需技术的人才”。

在开源技术方面,HBase(一个开源的分布式数据库)技术人才的薪水在戴士 2017 技术行业薪资调查中排第一。在计算机网络和数据库领域,掌握 OpenVMS 操作系统技术也能获得高薪。

成为出色的系统管理员

出色的系统管理员须在问题出现时马上处理,这意味着你必须时刻准备应对可能出现的状况。这个职位追求“零责备的、精益的、流程或技术上交互式改进的”思维方式和善于自我完善的人格,成为一个系统管理员意味着“你必将与开源软件如 Linux、BSD 甚至开源 Solaris 等结下不解之缘”,Paul English 译注1opensource.com 上发文指出。

Paul English 认为,现在的系统管理员较以前而言,要更多地与软件打交道,而且要能够编写脚本来协助系统管理。

译注1:Paul English,计算机科学学士,UNIX/Linux 系统管理员,PreOS Security Inc. 公司 CEO,2015-2017 年于为推动系统管理员发展实践的非盈利组织—— 专业系统管理员联盟 League of Professional System Administrator 担任董事会成员。

展望 2018

Robert Half 2018 年技术人才薪资导览预测 2018 年北美地区许多单位将聘用大量系统管理方面的专业人才,同时个人软实力和领导力水平作为优秀人才的考量因素,越来越受到重视。

该报告指出:“良好的聆听能力和批判性思维能力对于理解和解决用户的问题和担忧至关重要,也是 IT 从业者必须具备的重要技能,特别是从事服务台和桌面支持工作相关的技术人员。”

这与Linux基金会 译注2 提出的不同阶段的系统管理员必备技能相一致,都强调了强大的分析能力和快速处理问题的能力。

译注2: Linux 基金会 The Linux Foundation ,成立于 2000 年,致力于围绕开源项目构建可持续发展的生态系统,以加速开源项目的技术开发和商业应用;它是世界上最大的开源非盈利组织,在推广、保护和推进 Linux 发展,协同开发,维护“历史上最大的共享资源”上功勋卓越。

如果想逐渐爬上系统管理员职位的金字塔上层,还应该对系统配置的结构化方法充满兴趣;且拥有解决系统安全问题的经验;用户身份验证管理的经验;与非技术人员进行非技术交流的能力;以及优化系统以满足最新的安全需求的能力。

  • 下载2017年开源工作报告全文,以获取更多信息。

via: https://www.linux.com/blog/open-source-cloud-skills-and-certification-are-key-sysadmins

作者:linux.com 译者:wangy325 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

网络和系统管理工作工资高、岗位多。

 title=

我们为秩序而战,而服务器大叔则需要你成为系统管理员。

这是个很好的机会,因为你已经管理过你有的那些系统,你本可以不需酬劳地管理那些日逐一日地运行的系统。但还是有一些面试官,愿意拿一笔很不错的薪水来找一些人去管理他们的系统。目前,系统和网络管理的失业率几乎为零,但是美国劳工统计局估计到 2024 年该领域将持续 9% 的增长

你可能会问,自动化运维怎么样?大概你已经听一些系统管理员说过,他们打算如何来自动化他们所有的工作,或者,他们如何在一个 shell 脚本里自动化完成他们前任者的工作。你听过的有多少成功的?自动化了某个任务,就会有更多的东西需要自动化。

如果你参加过系统管理者会议或观看过他们的视频,你会发现这是一个需要新鲜血液的领域。不仅仅是明显的缺少年轻人,而且相当地性别和种族不平等。虽然有点儿跑题,但是多样性已经被证明可以提高系统管理员非常感兴趣的自我恢复力、解决问题的能力,创新力和决策力。

我要成为一名系统管理员吗?

有人要你,但是你要做系统管理工作吗?如果你生活在一个第一世界国家,每年 70,000 美元的收入看上去是一个可以感到幸福的标准收入,或者说至少减少了大部分的与钱相关的压力。系统和网络管理员的中位年度收入是 80,000 美元,很容易达标,尽管明显有些人赚的更少或更多。

你曾经免费做过一些系统管理工作吗?我们大多数人都多多少少地管理一些设备,但是那并不代表你喜欢管理它。如果你曾经在你家的网络中添加了一些服务器,你就是一个备选的系统管理员。你想要为自己的孩子添加一个“我的世界”的游戏服务器么,所以你用树莓派搭建了一个?也许是时候来考虑通过做这样的工作来获取报酬了。

作为一份需要全面知识的工作,系统管理工作有很大的跨度。各种行业和各种规模的公司都需要系统管理员。大多数的位于市区里的公司需要一些现场上班的人员,但是远程办公也有很大的可能性。

每个人都是免费地用开源软件工作,但是,作为系统管理员,你也可以计酬工作。系统管理员经常把对开源项目做贡献、支持开源供应商、使用各种各样的有趣而强大的开源软件为他们日常工作的一部分。

最后,谈一下社区。以我多年的经验来看,找到一个欢迎新人的、鼓励参与的、气氛友好的、彼此帮助的社区是非常难的。系统管理员给人的刻板印象就是性情乖戾,但是我感觉现在这只不过是个过时的笑话。现在大多数的系统管理员积极地回应各种形式的有建设性的反馈,尤其是欢迎新手。我们总是能敏锐的察觉到各种各样的入门级问题,并且热心于解决它们。我们是一个有深度的、兴趣广泛的社区。问一下一个系统管理员在工作之余都干了些什么,你肯定会感到吃惊。

那么,我要从哪儿开始?

如果你被说服了,首先有个好消息。与许多技术类职业相比,从不是直接相关的四年制学历转为系统管理员是可能的。事实上,全世界有四年本科学历的系统管理员相对较少,所以不用太担心这个。对于现在的白领工作,学历确实有用,而且越相关越好。与其他的技术类职业相比,这儿有一个很自然的入门级别的职位:技术支持。

对系统管理工作的候选人来说有个坏消息是真的,在技术类领域(甚至非技术类领域):雇主在寻找有多年经验的和有高学历的人,即便是在入门级别的岗位上。雇主是刻薄的,雇主不会花钱给你培训。不过稍嫌安慰的是,这些问题在人才市场上是非常普遍的,所以不管你找什么工作都得面对这种问题。

系统管理工作可以作为其他 IT 领域的起点。比如:网络管理、数据库管理、网站可靠性工程师(SRE),再远一些的也有,软件工程师、质量保证(QA)、IT 管理。

系统管理工作的具体情况,包括其刻板的印象和一些明显的方面以及不明显的方面,是未来我们的文章的主题。我们也会涵盖这个领域可能会改变的重要方面,提供一些方法来评估和比较系统管理职位,以及在面试中问到的一些重要问题。

如果你对加入这个领域有兴趣,可以考虑加入专业系统管理者联盟(LOPSA),我在这个组织任董事会成员。会员资格是你负担得起的(可能由您的雇主负责),而学生免费。成为 LOPSA 会员,是找到同行们和与有各种经验、各种行业和工作环境中的人员讨论职业生涯的绝佳方式。

(题图 : Jason Baker, CC BY-SA 4.0)


作者简介:

Paul English - 他是 PreOS 安全公司的首席执行官,也是专业系统管理员联盟的董事会成员,该专业系统管理员联盟是一个非营利性专业协会,从 2015 年至今致力于提升系统管理工作实践。 Paul 在 1998 年获得了伍斯特理工学院的计算机学士学位。自 1996 年以来,Paul 一直是 UNIX 和 Linux 系统管理员和许多场合冠以 IT 之名的那个人。最近他在管理一些系统管理员。


via: https://opensource.com/article/17/7/why-become-sysadmin

作者:Paul English 译者:sugarfillet 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

当我们告别 2016 时,也到时间定下我们的 新年决心 了。不管你身为 Linux 系统管理员的经验水平如何,我们认为,制定接下来 12 个月的成长目标是很值得的。

如果你还没什么想法,我们将会在这篇文章分享 10 个简单的专业提升决心,你可以为 2017 年考虑一下。

1、 决定更自动化

你没必要忙得像头无头苍蝇,每天忙于解决可预见的问题。如果你发现自己每天都花费时间在执行重复的任务,你有必要现在就停下来。

在了解了所有基于 Linux 而且开源的工具后,你可以尽可能地自动化你的 Linux 任务来给自己一些休闲的时间。

你会发现,接下来的几个决心会帮你在工作上朝着这个目标前进。所以继续看下去吧。

2、 学习一门新的脚本语言

虽然每一个系统管理员应该熟练地使用 Bash 写脚本,但考虑一下其它更现代化、健壮性更强的工具也是很重要的,例如 Python。

不要只是相信我们说的话 —— 看看不久前我们发布的两篇关于 Python 的系列文章。你将会意识到,与其它语言相比,Python 带来了面向对象编程的力量,使您写出更短、健壮性更强的脚本。

3、 学习一门新的编程语言

除了学习一门新的脚本语言,(你也可以)决定花费点时间来开始学习或者提升你的编程技能。不确定从何处开始?今年的 Stackoverflow 开发者调查表明 Javascript 连续第三年引领最流行语言的榜单。

其他经典例如 Java 和 C 也值得考虑。

4、 注册一个 Github 账户并且定期更新

特别是如果你是一个编程新手,你应该考虑一下在 Github 上展示你的成果。通过允许别人去复刻你的脚本或者程序,你就能提高知识水平,并通过别人的帮助创造出更复杂的软件。

《如何安装和注册 Github 帐号》一文中了解更多。

5、 向一个开源项目做贡献

在 Github 上向一个开源项目做贡献,这是另一个学习或者提高一门新脚本语言或者编程语言能力的好办法。

如果这吸引到了你的兴趣,点击 Explore Github 页面。这里你能按热度或者编程语言浏览仓库,你能在这里面找到一些有趣的事情来做。

在此基础上,你将因回馈社区而获得满足感。

6、 每月尝试一个新的发行版

经常会有新的发行版或者分支出现,你有不同的选项以供选择。谁知道你梦想中的发行版是否就在近前,而你还没发现它?每个月去一次 Distrowatch 然后选择一个新的发行版。

如果你想要尝试一个新的发行版,希望我们的评论能帮你做出决定。也可以点击我们这里关于最好的 Linux 发行版的文章:

7、 参加一个 Linux 或者开源会议。

如果你住在由 Linux 基金会赞助的会议举办地附近,我强烈建议你去参加会议。

这不仅将会给你一个提高 Linux 知识的机会,而且将是个见见其他开源专家的机会。

8、 从 Linux 基金会的免费或付费课程中学习

Linux 基金会分别通过 edX.org 和他们自己的门户,不断地提供免费或付费课程。

免费课程的话题包括(但不仅限于)Linux 介绍、云基础设施技术介绍和 OpenStack 介绍。

另一方面,付费课程包括 LFCS 认证 和 LFCE 认证考试的准备,给开发者的 Linux ,内核内部构件,Linux 安全,性能试验,高可用性及其他。

另外,他们对企业课程有折扣,所以尝试去说服你上司来为你和你同事的训练付费。还有,也会提供周期性的免费在线研讨会,所以别忘了订阅他们的 newsletters!

你也可以考虑下看看我们最棒的在线 Linux 训练课程

9、 每周在 Linux 论坛上回答特定数量的问题

另一个回馈社区的好方法是帮助那些刚开始使用 Linux 的人。你将会发现网上的 Linux 论坛上有许多人正在寻找着答复。

牢记你曾经也是像他们那样是个新手,试着换位思考。

10、 教一个孩子或少年使用 Linux

如果我能回到 20 年前,我希望我能有台电脑,有个能在青年时学习 Linux 的机会。

我也希望我能比当年还早很多地开始编程。毫无疑问,这样事情就会简单许多。我认为给孩子和青年教授至少是基础的 Linux 和编程技巧(我对我的孩子这样做)是个重要的尝试。

教育成长中的一代如何有效地使用开源技术将会给他们选择的自由,而他们会因此永远感激你。

总结

在这篇文章里我们分享了 10 个适合系统管理员的可能新年决心。我们祝你在朝着目标的工作顺顺利利,希望你能在 2017 年成为我们网站的常客。

如果你有关于这篇文章的问题或者评论,请不要犹豫使用下面的表格提交。我们期待着收到您的信息。


作者简介:

Gabriel Cánepa 是个 GNU/Linux 系统管理员和网页开发者,他来自阿根廷圣路易斯的 Villa Mercedes 。他供职于全球领先的消费品公司,享受在日常工作的方方面面使用 FOSS(自由及开源软件) 工具来提高生产效率。.


via: http://www.tecmint.com/linux-system-administrators-new-years-resolutions-ideas/

作者:Gabriel Cánepa 译者:ypingcn 校对:jasminepeng

本文由 LCTT 原创编译,Linux中国 荣誉推出

系统管理现在处于一个癫狂的时代,一片混乱。

我并不是抱怨老式系统管理员们,他们还是知道如何让系统工作起来,知道怎么更新系统和如何升级扩容。

这篇吐槽是关于容器、预构建虚拟机镜像的,它们真是令人难以置信的混乱,它们的脑子里面就根本没有“可信”和“升级”的概念。

(题图来自 crtdot.com)

举个 Hadoop 的例子,似乎就没有人知道如何从头构建一份 Hadoop,它那令人头昏眼花的依赖关系、版本需求和构建工具让人云山雾罩。所有这些“神奇”的工具仍然是通过传统的 make 命令构建的,每个工具都是它自己带的,彼此不兼容,你得按照没有复用意义的“当日路线图”来构建。因为没有人能从头构建,所以现在大家都从一些不定是哪个的网站去下载已经编译好的二进制,基本上没有任何认证和签名

这是 NSA 和病毒们的天堂啊!不需要搞什么破解和漏洞挖掘,只需要弄个“APP”、虚拟机或 Docker 镜像,人们就会把这些恶意代码弄到他们的网络里面去。

Debian 的 Hadoop 维基页就是一个典型的例子,基本上,从 2010 年开始人们就已经放弃了从源代码构建一个 Debian 上可用的 Hadoop 包了。

要构建 Apache Bigtop,你首先需要安装 puppet3,然后用它从互联网上下载一些魔法般数据。以 sudo 的权限启动 puppet ,顺便给 NSA 开个后门(举个例子,它会下载和安装一个过期的预编译的 JDK——因为它认为你太笨了,不会安装 Java),然后期待它能顺利构建而不是抛出200行的毫无用处的报错跟踪。

我没有开玩笑,它会试着执行像下面这样的脚本:

/bin/bash -c "wget http://www.scala-lang.org/files/archive/scala-2.10.3.deb ; dpkg -x ./scala-2.10.3.deb /"

注意,甚至这并没有正常的安装这个包,而只是将其解压缩到你的根目录下!下载时也没有检查任何签名、没有通过 SSL(脚本来自 Bigtop 的 puppet 清单)。

即便你的构建正常工作了,它也会通过 Maven 下载来自互联网的没有签名的二进制代码,并用这些来构建。

不再写一些干净的、模块化的架构,所有这些现在都牵扯在混乱的依赖里面。我上次看到, hadoop 的类路径已经有 100 多个 jar 了,现在?我打赌它肯定有 150 个了。那些 HBaseGiraphFlumeCrunchPigHiveMahoutSolrSparkElasticsearch 以及 Apache 家族的其它东东都是这样混乱。

所谓软件栈,现在的意思是“我也不知道我实际上用的是啥”。

Mavenivysbt 这些即用的工具其实就是让你的系统从互联网下载那些无签名的二进制数据并运行在你的计算机上。

再加上容器,哦天哪,更乱了。

是否想过给容器进行安全更新

基本上,Docker 的思路就是下载一个未签名的二进制并运行它,然后期望它不要将任何后门放到你的公司网络里面去。

这就像是我在90年代时在 Windows 上下载的共享软件一样。什么时候会出现第一个带有 Ask 工具条的 Docker 镜像呢?第一个通过 Docker 镜像传播的互联网蠕虫呢?

回到前些年,Linux 发行版努力着提供一个安全的操作系统,带有签名的软件包、可信的网络、甚至还能完全的重新构建。

而现在呢?什么东西都已经 Windows 化了,到处是疯狂的“App”,你下载,你运行,根本不管是否安全,是否能升级到下个版本。因为你就是“过把瘾就死”!

更新:其实在 Docker 之前就有这样的作法了,Docker 只是一个新的 'curl | sudo bash' 而已。是的,这就是主流的、在你的数据中心下载并运行一个不可信软件的方法。这太糟糕了,真的。之前,系统管理员还在努力的防御安全漏洞,现在,他们自称“devops”了,然后很 happy 地把这些东西弄到他们的网络里面了!

系统管理员(sysadmins)负责日常维护生产系统和服务。其中一个关键任务就是保证功能性服务能24小时工作。为了这个,他们得很小心地计划备份方式,灾难管理策略,定时维护,安全审查,等等。和任意其他管理一样,系统管理员也有他们的必备工具。在正确的时间正确的情况下使用合适的工具,可以帮助维护操作系统的健壮,达到最小的服务中断时间和最大的运行时间。

这篇文章会介绍一些系统管理员日常活动中最常用和有效的命令行工具。如果你想推荐其他没在这里列出来的好用的工具,别忘了在评论区里分享一下。

网络工具

  1. ping:通过ICMP回应/回复报文来检查远端主机的端到端连接性(RTT延时,抖动,丢包)。用来检查系统状态和可连接性很不错。
  2. hping:网络扫描和检测工具,可以产生ICMP/TCP/UDP ping数据包。常常用于高级端口扫描,防火墙测试,手动MTU路径发现和碎片测试。
  3. traceroute:通过TTL限定的ICMP/UDP/TCP侦测包来发现从本地主机到远端目标主机之间的第三层转发路径。用来调试网络连接性和路由问题。
  4. mtr:traceroute的一个变种,能根据运行时统计数据整理出每一跳的包丢失/抖动。用来评估路由路径延时很不错。
  5. netcat/socat:TCP/IP网络里的瑞士军刀,可以读/写 TCP/UDP 协议字节流。用来调试防火墙策略和服务可用性很不错。
  6. dig:DNS调试工具,可以生成正向查询,反向查询,搜索域名服务器,检查CNAME,MX和其他DNS记录。可以在侦错的时候查询特定的DNS服务器。
  7. nslookup:另外一个DNS检查/调试工具。支持所有DNS查询和记录。可以查询特定DNS服务器。
  8. dnsyo:一个DNS测试工具,通过对全世界1500个不同网络中的大量开放解析器执行DNS查询来测试DNS传输。
  9. lsof:显示进程打开的文件信息(例如,普通文件,管道或套接字)。用来监视网络连接很不错。
  10. iftop:一个基于ncurses的命令行界面应用,可以实时监视各个网络物理接口上的网络连接和带宽占用。用来记录霸占带宽的应用、用户、目的地和端口等很不错。
  11. netstat:一个网络统计工具,可以显示状态以及统计信息,当前网络连接(TCP/UDP端口,IP地址)、路由表、TX/RX traffic以及网络协议。用来做网络相关诊断和性能调试很不错。
  12. tcpdump:一个常用的基于libpcap抓包库的包侦测工具。可以按伯克利包过滤器格式定义抓包条件。
  13. tshark:另一个命令行抓包工具,和它的GUI版本Wireshark完全兼容。支持1000种协议而且这个列表还在增加。用来调试、分析和保存实时网络封包信息很不错。
  14. ip:一个多功能的命令行网络工具,是iproute2包的一部分。可以检查和修改路由表、网络设备状态以及IP隧道设置。用来查看路由表、增加/删除静态路由、配置网络接口、以及调试路由问题很有用。
  15. ifup/ifdown:用来激活和关闭特定的网络接口。经常用于重启整个网络服务。
  16. autossh:一个能建立SSH连接并在断线后自动重新连接的程序。用来创建长时间保持的穿越严格企业网络的SSH隧道很有用。
  17. iperf:一个网络测试工具,通过在发送自定义TCP/UDP数据流来衡量主机间双向最大吞吐量。
  18. elinks/lynx:为基于命令行的服务器环境下使用的基于文字的网页浏览器。

安全工具

  1. iptables:一个用户空间下的命令行工具,用于配置Linux内核防火墙。可以创建和修改Linux内核空间的网络包接收、转发和发送规则。
  2. nmap:一个常用的为了安全审查目的的端口扫描和网络发现工具。用来在本地网络中找出哪些主机开机并运行起来了以及某台特定主机打开了哪些端口很有用。
  3. TCP Wrappers:一个主机端的网络访问控制列表工具,可以过滤进入/出去的网络请求/回复。经常配合iptables一起使用,作为额外一层安全保护。
  4. getfacl/setfacl:查看和定制文件和目录的访问控制列表,作为传统文件权限的扩展。
  5. cryptsetup:用于创建和管理LUKS加密磁盘分区。
  6. lynis:一个命令行的漏洞扫描工具。可以扫描整个Linux系统,并汇报潜在的漏洞以及相关可能解决方案。
  7. maldet:一个恶意软件扫描命令行工具,可以检测和隔离潜在的感染文件。可以在后台运行长期监视。
  8. rkhunter/chkrootkit:一个命令行工具,可以扫描本地系统里的潜在木马、隐藏后门和可疑利用,并禁用它们。

存储工具

  1. fdisk:一个磁盘分区编辑工具。用于查看、创建和修改本地磁盘或可移动磁盘的分区。
  2. sfdisk:fdisk的一个变种,能用一种非交互的方式访问或更新磁盘分区表。用来自动化备份和恢复过程中的磁盘分区很有用。
  3. parted:另一个磁盘分区编辑器,支持超过2TB的磁盘的GPT(GUID分区表)格式。gparted是parted的一个前端GTK+图形界面。
  4. df:用来查看不同分区或文件路径的已用/可用存储空间和挂载点。还有一个更易用的变种dfc。
  5. du:用来查看不同文件和目录的当前磁盘占用情况(例如,du -sh *)。
  6. mkfs:一个磁盘格式化命令,用来在独立磁盘分区上建立文件系统。有多个文件系统相关的版本:ext2、ext3、ext4、bfs、ntfs、vfat/fat。
  7. fsck:一个命令行工具,用来检查文件系统错误并尝试可能的修复。通常在启动时自动运行,但是在卸载一个分区后也可以根据需要手动运行。
  8. mount:用来映射一个物理磁盘分区、网络共享或远程存储到一个本地挂载点。任何对挂载点里的读/写操作都是对应实际存储的实际数据读/写。
  9. mdadm:一个命令行工具,用来管理物理块设备上的软件RAID设备。可以创建、构造、增长或监视RAID阵列。
  10. lvm:一套命令行工具集,用来管理卷分组和物理/逻辑卷,可以用最小的停机时间在多个物理磁盘上创建、调整大小、拆分和合并卷。

日志访问工具

  1. tail:用来查看一个(增长中的)日志文件的尾部。有几个变种,包括multitail(多窗口查看)和ztail(支持inotify和正则表达式过滤以及颜色)。
  2. logrotate:一个命令行工具,可以在根据设定的时间段拆分、压缩并通过邮件发送旧的/大的日志文件。用来管理可能产生大量日志文件的繁忙主机很有用。
  3. grep/egrep:可以通过特定的模式或正则表达式过滤日志内容。变种包括用户更友好的ack和速度更快的ag。
  4. awk:一个多功能的文本扫描和处理工具。常用于从文本/日志文件中找出特定的列或内容,并输出给其他工具。
  5. sed:一个文本流编辑工具,可以过滤和改变(例如,删除行/空格、替换/转换单词、增加计数)文本流并通过管道连接到stdout/stderr或者其他工具。

备份工具

  1. rsync:一个快速的单向增量备份和镜像工具(LCTT 译注:rsync 应是双向的)。常用于复制一个数据仓库到线下存储,可以选择通过SSH或stunnel的加密连接。
  2. rdiff-backup:另一个有效利用带宽的增量备份工具。管理两个连续快照之间的差分。
  3. duplicity:一个加密的增量备份工具。使用GnuPG加密备份,并通过SSH上传到远程服务器。

性能监视工具

  1. top:一个命令行的进程查看程序。可以监视系统负载、进程状态、CPU和内存占用。有一个更易用的变种htop。
  2. ps:显示系统所有运行中进程的一个快照。输出可以定制成显示PID、PPID、用户、负载、内存、积累的用户/系统时间、启动时间、以及更多。有一个变种pstree可以用树结构显示进程。
  3. nethogs:一个带宽监视工具,按进程来分组显示活动网络连接,实时汇报每个进程占用的(上传/下载)带宽。
  4. ngxtop:一个网页服务器访问日志解析和监视工具,界面受到了top命令启发。它可以实时汇报整理过的页面请求列表,包括频率、大小、HTTP返回值、IP地址,等等。
  5. vmstat:一个简单的命令行工具,可以显示多个实时系统特征,例如进程数、剩余内存、分页状态、CPU占用、块设备I/O活动、中断/上下文切换统计、等等。
  6. iotop:一个基于ncurses的I/O监视工具,可以实时排序显示所有运行中进程的磁盘I/O活动。
  7. iostat:一个命令行工具,可以汇报当前CPU使用情况,以及设备I/O使用情况,这里的I/O使用情况(例如,块传输速度、字节读/写速度)是按设备或分区来汇报的。

效率工具

  1. screen:用来把一个单一的终端拆分成多个持久的虚拟终端,也支持远程用户访问,类似teamviewer的屏幕分享功能。
  2. tmux:另一个终端复用工具,可以支持多个长期会话,还可以横向/纵向拆分终端。
  3. cheat:一个简单的命令行工具,可以让你查看多个常用Linux命令的备忘录,就在手边非常方便。内建的备忘录也可以完全定制。
  4. apropos:用来在帮助手册里查找描述或关键字很有用。

包管理工具

  1. apt:基于Debian系统的事实上的包管理工具,例如Debian、Ubuntu或Backtrack。一个救生圈。
  2. apt-fast:apt-get的一个支撑应用,可以通过多个并行连接明显提高apt-get的下载速度。
  3. apt-file:用来查看某个特定文件属于哪个.deb包,或者显示一个特定.deb包里的所有文件。已安装和未安装的包都能支持。
  4. dpkg:一个用来手动安装.deb包的命令行工具。强烈建议尽可能的使用apt。
  5. yum:用于基于红帽的系统的自动包管理工具,比如RHEL、CentOS或Fedora。这是另一个救生圈!
  6. rpm:通常我都是使用 rpm 来配合 yum 使用。有很多有用的参数,比如-q、-f、-l可以分别用来查询、指定文件和路径。

硬件工具

  1. lspci:一个命令行工具,可以显示已安装的PCI设备的各种信息,比如型号名称、设备驱动、设备功能、内存地址、PCI总线地址。
  2. lshw:一个命令行工具,可以查询和显示不同分类下的硬件配置的详细信息(例如,处理器、内存、主板、网络、存储)。支持多重输出格式:html、xml、json、text。
  3. inxi:一个综合硬件查看工具,可以提供不同硬件模块的总览,例如CPU,显卡,声卡,网卡,温度/风扇传感器,等等。

如果你希望推荐没有列在这里的好用的工具,不要客气,在评论区里分享一下。


via: http://xmodulo.com/2014/08/useful-cli-tools-linux-system-admins.html

作者:Sarmed Rahman 译者:zpl1025 校对:wxy

本文由 LCTT 原创翻译,Linux中国 荣誉推出

你上次编译内核是多久以前的事儿了?新生代 Linux 管理员的答案很简单:我压根儿没编译过内核。我也从没编译过内核,当然自己弄着玩儿的不算。我实在想不到我为啥需要自定义内核,所以我就用我的“开箱即用”内核了。

Linux 老鸟们可能会笑话我们,但你不能否认:随着越来越多的企业采用 Linux,新生代的 Linux 管理员虽然生就一身相当不错的技术实力,却因缺乏编译内核这类简单却基础的技能而和一个优秀的 Linux 管理员之间存在差距。我们能用时下最前沿的技术搭建一套高性能、高可用的 Web 基础设施,但你别让我们修理一台无法启动的 Linux 机器——我们会建议你扔了它,然后换个新的虚拟机。

过去的十来年里发生了很多有意思的事儿:Linux 不但变成了商品,而且其层出不穷的发行版也越来越强大和灵活。如今,一个普通的系统管理员完全不必掌握编译内核这类底层技能了。

然后,我们又见证了虚拟机技术的商品化。使用 Amazon 云主机或者 VPS 的用户也许永远不用在裸机上部署 Linux。随着混合云和私有云的日益普及,甚至很多企业级的系统管理员都不需要在裸机上部署 Linux——登录 Web 管理界面,一次性就能搞定不止 5 台 Apache 虚拟机。

时下最新的两个趋势:一个是配置管理,另一个看起来很前沿(其实一点儿都不前沿)—— 像 docker 这样的部署工具包,它们隐藏了更多 Linux 底层技术细节。每当客户要求我们在 OlinData 上配置 Linux 机器时,我们的第一个动作就是架设 Puppet。有了功能强大值得信赖的 Puppet 模块,手工配置也更快更简单了。

例如,我可以这样使用 Puppet 在新机器上安装 Apache:

node 'web01.olindata.com' {
  include apache
  apache::vhost{ 'www.olindata.com':
    docroot => '/var/www/olindata'
  }
}

在这种环境下,我甚至都不用在机器上打开日志。通过 Jenkins 这样的不间断部署工具,我可以完全自动化部署我的基础设施代码,并确保它们通过了我预置的测试。

系统管理员技能日益升级

就算有更新的工具对我们隐藏更多的技术细节,坚持 Linux 训练对系统管理员来说仍然很有价值。了解基础知识很关键,这些抽象高级工具把管理员从旧的任务中解放了出来,那么系统管理员就应该强化自己使用这些高级工具的能力。熟悉高级工具对系统管理员提升层次来说很关键,这会迫使系统管理员不断练习编写代码一类的能力,并借此发挥这些新玩意儿更大的潜力。

底层 Linux 技能需求会完全消失么?当然不会。除了商业服务器部署之外,Linux 还有大量其他用途。同时,人们也从底层操作知识中获益颇丰。最重要的是,如果你的简历上体现出了这些技能,我(还有很多其他老板)总是会优先选择你,而不是那些尚未掌握这些技能的候选人。因为你也不知道啥时候你就用上这些技能了!

Walter Heck 是 荷兰开源培训顾问公司 Olindata(一个 Linux 基金会授权的培训机构)的创始人兼 CEO,这里是计划中由 OlinData 提供的 Linux 基金会官方培训课程单


via: http://www.linux.com/news/enterprise/systems-management/780956-linux-system-administration-skills-are-changing

原文作者:Walter Heck

译者:sailing 校对:wxy

本文由 LCTT 原创翻译,Linux中国 荣誉推出