蚊章汇 - 系统管理员
type: channel
link: https://linuxcn.bwsl.wang/tag/%E7%B3%BB%E7%BB%9F%E7%AE%A1%E7%90%86%E5%91%98/
items: 硬核观察 #1077 科学海盗湾 Sci-Hub 创始人获 EFF 年度大奖
items: 24 个必知必会的系统管理员面试问题
items: 你需要知道什么才能成为系统管理员？
items: 系统管理员入门：排除故障
items: 如何成为一名懒惰的系统管理员
items: 我的第一个系统管理员错误
items: 开源云技能认证：系统管理员的核心竞争力
items: 为什么你应该成为一名系统管理员？
items: Linux 系统管理员 2017 年的 10 个新决心
items: 系统管理员的容器时代之殇

硬核观察 #1077 科学海盗湾 Sci-Hub 创始人获 EFF 年度大奖
type: item
date: 2023-07-29T18:03:16+08:00
description: 科学海盗湾 Sci-Hub 创始人获 EFF 年度大奖电子前沿基金会（EFF）将 2023 年度大奖授予了 Sci-Hub 的创始人 Alexandra Elbakyan。Sci-Hub 是她在 2011 年还是一名大学生时创办的，为所有科学知识提供免费不受限制的访问。它在今天发展成为一个包含逾 8830 万篇论文和书籍的数据库，任何人都可以下载和阅读。EFF 称，Sci-Hub 是数百万学生和研究人员的重要资源。一些医学专家甚至认为，该网站有助于挽救生命。Sci-Hub 打破了期刊出版业的垄断机制，因而她成为了众多诉讼和政府行动的目标，但她仍然坚持其信念而不动摇。本次获奖者还有 图书馆自由项目 Library Freedom Project 和 Signal 基金会。Linux 之父 Linus Torvalds 之前也获得过该奖项。消息来源：EFF老王点评：无需多说，就一个字，?昨天是系统管理员日昨天（7 月 28 日）是 “ 系统管理员日 System Administrator Appreciation Day ”，其组织者表示，全世界都应该借此机会 “向那些风雨无阻地预防灾难、保护 IT 安全和扑灭技术火灾的英雄们致敬”。该活动由系统管理员 Ted Kekatos 于 1999 年创立，每年 7 月的最后一个星期五都会举行庆祝活动，以表彰和感谢这些兢兢业业，但往往不被重视的 IT 专业人员所做出的贡献。消息来源：The Register老王点评：国内了解并庆祝该日子的系统管理员们非常少，连我这样一个老系统管理员都是第一次知道。国内往往会庆祝另外一个日子 —— 代表 7X24 运维的 7.24。美国立法禁止汽车制造商在新车中取消调幅广播今年至少有七家汽车制造商在其电动汽车中 取消 了调幅广播，其中包括福特、特斯拉、宝马和大众。迫于压力，福特在今年 5 月改变了取消的做法。美国参议院商业委员会周四批准了一项立法，禁止汽车制造商在新车中取消调幅广播。立法者称，失去调幅广播会破坏向公众提供关键公共安全信息的联邦系统。消息来源：路透社老王点评：虽然调幅广播是很老的技术了，但是它仍然有不可取代的优势。你有多久没有收听过调幅广播了？

24 个必知必会的系统管理员面试问题
type: item
date: 2019-12-14T20:50:06+08:00
description: 即将进行系统管理员工作面试吗？阅读本文，了解你可能会遇到的一些问题以及可能的答案。作为一个经常与计算机打交道的极客，在硕士毕业后在 IT 行业选择我的职业是很自然的选择。因此，我认为走上系统管理员之路是正确的路径。在我的职业生涯中，我对求职面试过程非常熟悉。现在来看一下对该职位的预期、职业发展道路，以及一系列常见面试问题及我的回答。系统管理员的典型任务和职责组织需要了解系统工作原理的人员，以确保数据安全并保持服务平稳运行。你可能会问：“等等，是不是系统管理员还能做更多的事情？”你是对的。现在，一般来说，让我们看一下典型的系统管理员的日常任务。根据公司的需求和人员的技能水平，系统管理员的任务从管理台式机、笔记本电脑、网络和服务器到设计组织的 IT 策略不等。有时，系统管理员甚至负责购买和订购新的 IT 设备。那些寻求系统管理工作以作为其职业发展道路的人可能会发现，由于 IT 领域的快速变化是不可避免的，因此难以保持其技能和知识的最新状态。所有人都会想到的下一个自然而然的问题是 IT 专业人员如何掌握最新的更新和技能。简单的问题这是你将遇到的一些最基本的问题，以及我的答案：1、你在 *nix 服务器上登录后键入的前五个命令是什么？lsblk 以查看所有的块设备信息who 查看谁登录到服务器top，以了解服务器上正在运行的进程df -khT 以查看服务器上可用的磁盘容量netstat 以查看哪些 TCP 网络连接处于活动状态2、如何使进程在后台运行，这样做的好处是什么？你可以通过在命令末尾添加特殊字符 ＆ 来使进程在后台运行。通常，执行时间太长并且不需要用户交互的应用程序可以放到后台，以便我们可以在终端中继续工作。（引文）3、以 root 用户身份运行这些命令是好事还是坏事？由于两个主要问题，以 root 身份运行（任何命令）是不好的。第一个是风险。当你以 root 身份登录时，无法避免你由于粗心大意而犯错。如果你尝试以带有潜在危害的方式更改系统，则需要使用 sudo，它会引入一个暂停（在你输入密码时），以确保你不会犯错。第二个原因是安全。如果你不知道管理员用户的登录信息，则系统更难被攻击。拥有 root 的访问权限意味着你已经能够进行管理员身份下的一半工作任务。4、rm 和 rm -rf 有什么区别？rm 命令本身仅删除指明的文件（而不删除目录）。使用 -rf 标志，你添加了两个附加功能：-r（或等价的 -R、--recursive）标志可以递归删除目录的内容，包括隐藏的文件和子目录；而 -f（或 --force）标志使 rm 忽略不存在的文件，并且从不提示你进行确认。5、有一个大小约为 15GB 的 Compress.tgz 文件。你如何列出其内容，以及如何仅提取出特定文件？要列出文件的内容：tar tf archive.tgz要提取特定文件：tar xf archive.tgz filename有点难度的问题这是你可能会遇到的一些较难的问题，以及我的答案：6、什么是 RAID？什么是 RAID 0、RAID 1、RAID 5、RAID 6 和 RAID 10？RAID（ 廉价磁盘冗余阵列 Redundant Array of Inexpensive Disks ）是一种用于提高数据存储性能和/或可靠性的技术。RAID 级别为：RAID 0：也称为磁盘条带化，这是一种分解文件并将数据分布在 RAID 组中所有磁盘驱动器上的技术。它没有防止磁盘失败的保障。（引文）RAID 1：一种流行的磁盘子系统，通过在两个驱动器上写入相同的数据来提高安全性。RAID 1 被称为镜像，它不会提高写入性能，但读取性能可能会提高到每个磁盘性能的总和。另外，如果一个驱动器发生故障，则会使用第二个驱动器，发生故障的驱动器需要手动更换。更换后，RAID 控制器会将可工作的驱动器的内容复制到新驱动器上。RAID 5：一种磁盘子系统，可通过计算奇偶校验数据来提高安全性和提高速度。RAID 5 通过跨三个或更多驱动器交错数据（条带化）来实现此目的。在单个驱动器发生故障时，后续读取可以从分布式奇偶校验计算出，从而不会丢失任何数据。RAID 6：通过添加另一个奇偶校验块来扩展 RAID 5。此级别至少需要四个磁盘，并且可以在任何两个并发磁盘故障的情况下继续执行读/写操作。RAID 6 不会对读取操作造成性能损失，但由于与奇偶校验计算相关的开销，因此确实会对写入操作造成性能损失。RAID 10：RAID 10 也称为 RAID 1 + 0，它结合了磁盘镜像和磁盘条带化功能来保护数据。它至少需要四个磁盘，并且跨镜像对对数据进行条带化。只要每个镜像对中的一个磁盘起作用，就可以检索数据。如果同一镜像对中的两个磁盘发生故障，则所有数据将丢失，因为带区集中没有奇偶校验。（引文）…

你需要知道什么才能成为系统管理员？
type: item
date: 2019-11-24T18:39:18+08:00
description: 通过获得这些起码的能力，开始你的系统管理员职业。昔日的系统管理员整天都在调教用户和摆弄服务器，一天的时间都奔波在几百米长的电缆之间。随着云计算、容器和虚拟机的复杂性的增加，而今依然如此。以外行人来看，很难准确确定系统管理员的确切职能，因为他们在许多地方都扮演着一个不起眼的角色。没人能在培训中知道自己工作中所需要的一切知识，但是每个人其实都需要一个坚实的基础。如果你想走上系统管理的道路，那么这是你个人自学或在正式培训中应重点关注的内容。Bash当你学习 Bash Shell 时，你学习的不仅是 Bash Shell，你学习的也是 Linux、BSD、MacOS 甚至Windows（在适当条件下）的通用界面。你将了解语法的重要性，因此可以快速适应思科路由器的命令行或微软 PowerShell 等系统，最终你甚至可以学习更强大的语言，如 Python 或 Go。而且，你还会开始进行程序性思考，以便可以分析复杂的问题并将其分解为单个组件，这很关键，因为这就是系统（例如互联网、组织的内部网、Web 服务器、备份解决方案）是如何设计的。不止于此，还有更多。由于最近 DevOps 和容器的发展趋势，了解 Bash shell 变得尤为重要。你的系统管理员职业可能会将你带入一个视基础设施为代码的世界，这通常意味着你必须了解脚本编写的基础知识、基于 YAML配置的结构，以及如何与容器（运行在沙盒文件内部的微型 Linux 系统）交互。你会知道 Bash 是高效管理激动人心的开源技术的门户，因此请进入 Bash 世界吧。资源有很多方法可以在 Bash shell 中进行练习。尝试一下便携式 Linux 发行版。你无需安装 Linux 即可使用 Linux，因此，请拿一块闲置的 U 盘，花个晚上或周末的空闲时光，来适应基于文本的界面。这里有几篇很棒的 Bash 文章。要注意的是 Bash 练习的关键在于要练习，你必须有要做的练习才行。而且，在你知道如何使用 Bash 之前，你可能不知道该练习什么。如果是这样，请去 Over The Wire 玩一下 Bandit 游戏。这是一款针对绝对初学者的游戏，具有 34 个级别的交互式基本技巧，可让你熟悉 Linux shell。Web 服务器设置一旦你习惯了 Bash，你应该尝试设置一个 Web 服务器。并不是所有的系统管理员都会四处设置 Web 服务器甚至维护 Web 服务器，但是你在安装和启动 HTTP 守护程序、配置 Apache 或 Nginx，设置正确权限和配置防火墙时所掌握的技能是你每天都需要使用的技能。经过一些努力，你可能会开始注意到自己的某些工作模式。在尝试管理可用于生产环境的软件和硬件之前，你可能认为某些概念是理所当然的，而你在成为新手的管理员角色时，将不再受到它们的影响。起初这可能会令人沮丧，因为每个人都喜欢在自己做好所做的事情，但这实际上是一件好事。让自己接触新技能，那就是你学习的方式。此外，你在第一步中付出的努力越多，最终当你在默认的 index.html 上看到胜利的“it works!”就越甜蜜！资源David Both 撰写了有关 Apache Web 服务器配置的出色文章。值得一提的是，请逐步阅读他的后续文章，其中介绍了如何在一台计算机上托管多个站点。DHCP动态主机配置协议（DHCP）是为网络上的设备分配 IP 地址的系统。在家里，ISP（互联网服务提供商）支持的调制解调器或路由器可能内置了 DHCP 服务器，因此可能不在你的权限范围内。如果你曾经登录家用路由器来调整 IP 地址范围或为某些网络设备设置了静态地址，那么你至少对该概念有所了解。你可能会将其理解为对网络上的设备分配了一种 IP 地址形式的电话号码，并且你可能会意识到计算机之间通过广播发送到特定 IP 地址的消息彼此进行通信。消息标头由路径上的路由器读取，每个消息标头都将消息定向到路径上的第二个逻辑路由器，以达到其最终目标。即使你了解了这些概念，要从对 DHCP 的基本了解再进一步是架设 DHCP 服务器。安装和配置自己的 DHCP 服务器可能会导致家庭网络中的 DHCP 冲突（如果可以的话，请尽量避免这样做，因为它肯定会干掉你的网络，直到解决为止），要控制地址的分配、创建子网，并监控连接和租赁时间。更重要的是，设置 DHCP 并尝试不同的配置有助于你了解网络之间的关系。你会了解网络如何在数据传输中表示“分区”，以及必须采取哪些步骤才能将信息从一个网络传递到另一个。这对于系统管理员来说至关重要，因为网络肯定是工作中最重要的方面之一。资源在运行自己的 DHCP 服务器之前，请确保家庭路由器（如果有）中的 DHCP 服务器处于非活动状态。一旦启动并运行了 DHCP 服务器，请阅读 Archit Modi 的网络命令指…

系统管理员入门：排除故障
type: item
date: 2019-08-06T18:07:00+08:00
description: 我通常会严格保持此博客的技术性，将观察、意见等内容保持在最低限度。但是，这篇和接下来的几篇文章将介绍刚进入系统管理/SRE/系统工程师/sysops/devops-ops（无论你想称自己是什么）角色的常见的基础知识。请跟我来！“我的网站很慢！”我只是随机选择了本文的问题类型，这也可以应用于任何与系统管理员相关的故障排除。我并不是要炫耀那些可以发现最多的信息的最聪明的“金句”。它也不是一个详尽的、一步步指导的、并在最后一个方框中导向“利润”一词的“流程图”。我会通过一些例子展示常规的方法。示例场景仅用于说明本文目的。它们有时会做一些不适用于所有情况的假设，而且肯定会有很多读者在某些时候说“哦，但我觉得你会发现……”。但那可能会让我们错失重点。十多年来，我一直在从事于支持工作，或在支持机构工作，有一件事让我一次又一次地感到震惊，这促使我写下了这篇文章。有许多技术人员在遇到问题时的本能反应，就是不管三七二十一去尝试可能的解决方案。“我的网站很慢，所以”，我将尝试增大 MaxClients/MaxRequestWorkers/worker_connections我将尝试提升 innodb_buffer_pool_size/effective_cache_size我打算尝试启用 mod_gzip（遗憾的是，这是真实的故事）“我曾经看过这个问题，它是因为某种原因造成的 —— 所以我估计还是这个原因，它应该能解决这个问题。”这浪费了很多时间，并会让你在黑暗中盲目乱撞，胡乱鼓捣。你的 InnoDB 的缓冲池也许达到 100％ 的利用率，但这可能只是因为有人运行了一段时间的一次性大型报告导致的。如果没有排除这种情况，那你就是在浪费时间。开始之前在这里，我应该说明一下，虽然这些建议同样适用于许多角色，但我是从一般的支持系统管理员的角度来撰写的。在一个成熟的内部组织中，或与规模较大的、规范管理的或“企业级”客户合作时，你通常会对一切都进行检测、测量、绘制、整理（甚至不是文字），并发出警报。那么你的方法也往往会有所不同。让我们在这里先忽略这种情况。如果你没有这种东西，那就随意了。澄清问题首先确定实际上是什么问题。“慢”可以是多种形式的。是收到第一个字节的时间吗？从糟糕的 Javascript 加载和每页加载要拉取 15 MB 的静态内容，这是一个完全不同类型的问题。是慢，还是比通常慢？这是两个非常不同的解决方案！在你着手做某事之前，确保你知道实际报告和遇到的问题。找到问题的根源通常很困难，但即便找不到也必须找到问题本身。否则，这相当于系统管理员带着一把刀去参加枪战。唾手可得首次登录可疑服务器时，你可以查找一些常见的嫌疑对象。事实上，你应该这样做！每当我登录到服务器时，我都会发出一些命令来快速检查一些事情：我们是否发生了页交换（free / vmstat），磁盘是否繁忙（top / iostat / iotop），是否有丢包（netstat / proc/net/dev），是否处于连接数过多的状态（netstat），有什么东西占用了 CPU（top），谁在这个服务器上（w / who），syslog 和 dmesg 中是否有引人注目的消息？如果你从 RAID 控制器得到 2000 条抱怨直写式缓存没有生效的消息，那么继续进行是没有意义的。这用不了半分钟。如果什么都没有引起你的注意 —— 那么继续。重现问题如果某处确实存在问题，并且找不到唾手可得的信息。那么采取所有步骤来尝试重现问题。当你可以重现该问题时，你就可以观察它。当你能观察到时，你就可以解决。如果在第一步中尚未显现出或覆盖了问题所在，询问报告问题的人需要采取哪些确切步骤来重现问题。对于由太阳耀斑或只能运行在 OS/2 上的客户端引起的问题，重现并不总是可行的。但你的第一个停靠港应该是至少尝试一下！在一开始，你所知道的是“某人认为他们的网站很慢”。对于那些人，他们可能还在用他们的 GPRS 手机，也可能正在安装 Windows 更新。你在这里挖掘得再深也是浪费时间。尝试重现！检查日志我对于有必要包括这一点感到很难过。但是我曾经看到有人在运行 tail /var/log/... 之后几分钟就不看了。大多数 *NIX 工具都特别喜欢记录日志。任何明显的错误都会在大多数应用程序日志中显得非常突出。检查一下。缩小范围如果没有明显的问题，但你可以重现所报告的问题，那也很棒。所以，你现在知道网站是慢的。现在你已经把范围缩小到：浏览器的渲染/错误、应用程序代码、DNS 基础设施、路由器、防火墙、网卡（所有的）、以太网电缆、负载均衡器、数据库、缓存层、会话存储、Web 服务器软件、应用程序服务器、内存、CPU、RAID 卡、磁盘等等。根据设置添加一些其他可能的罪魁祸首。它们也可能是 SAN，也不要忘记硬件 WAF…

如何成为一名懒惰的系统管理员
type: item
date: 2019-01-07T06:50:00+08:00
description: 我们是聪明地工作，而不是刻苦工作，但仍能把工作做好。Linux 的系统管理员的工作总是复杂的，并且总是伴随着各种陷阱和障碍。做每件事都没有足够时间，当你想完成那个半秃头老板（PHB）给的任务时，他（只会）不停在你的后面盯着，而最核心的服务器总是在最不合时宜的时间点崩溃，问题和挑战比比皆是。而我发现，成为一名 懒惰的系统管理员 Lazy SysAdmin 可以解决这一困境。（LCTT 译注： 半秃头老板 Pointy-Haired Boss （PHB），那是呆伯特漫画中的角色，缺乏一般知识常识及其职位所应具有的管理能力，爱说大话且富有向物理显示挑战的精神，大概长成下图这样。）我在即将在 Apress 出版的新书 《The Linux Philosophy for SysAdmins》（LCTT 译注：暂译《系统管理员的 Linux 哲学》）中更详细地讨论如何成为一个懒惰的系统管理员，那书预计会在 9 月出版（LCTT 译注：已于 2018 年 8 月出版）。这本的部分内容摘录自该书，特别是第九章，“成为一名懒惰的系统管理员”。在我们讨论如何做到这点前，让我们简单了解一下成为一个名懒惰的系统管理员意味着什么。真实生产力 vs. 虚假生产力虚假生产力在我工作的地方，半秃头老板相信的管理风格叫“ 走动式管理 management by walking around ”。通过判断某人在不在他的键盘上输入东西，或者至少要看看他们显示器上显示的东西，来判断他们的工作是否有效率。这是一个糟糕的工作场所。各部门间有道很高的行政墙，这会造就了许多的、微小的沟通壁垒，大量无用的文书工作，以及获得任何事情的许可都要等待漫长的时间。因为这样、那样的原因，不可能高效地做任何事情，如果真的是这样，那是非常低效。为了看起来很忙，我们都有自己的一套 “看起来很忙”的工具包 Look Busy Kits （LBK），可能是一些短小的、用来显示一些行为活动的 Bash 脚本，或者是 top、htop、iotop 之类的程序，或者是一些持续显示某些行为活动的监控工具。这种工作场所的风气让人不可能真正高效，我讨厌这种地方，也讨厌那个几乎不可能完成任何有价值的事情的事实。这种糟糕场所对真实的系统管理员来讲是场噩梦。没有人会感到快乐。在那里花费四五个月才能完成的事，在其他地方只需的一个早晨。我们没有什么实际工作要做，却要花大量的时间干活来让自己看起来很忙。我们在默默地竞赛，看谁能创造最好的“看起来很忙”的工具包，这就是我们花费最多时间的地方了。那份工作我只做了几个月，但好像已经耗费了一生。如果你看到的这个监狱的表面，你可能会说我们是很懒，因为我们只完成了几乎为 0 的实际工作。这是个极端的例子，它完全与我所说的“我是一个懒惰的系统管理员”的意思相反，而做一个懒惰的系统管理是件好事。真实生产力我很幸运，曾为一些真正的管理者工作过 —— 他们明白，系统管理员的生产力并不是以每天花多少小时敲键盘来衡量。毕竟，即使一只猴子能敲击他们的键盘，但也不能说明结果的价值。正如我书中所言：“我是一个懒惰的系统管理员，同时我也是一个高效的系统管理员。这两者看似矛盾的说法不是相互排斥的，而是会以一种非常积极的方式相辅相成……“系统管理员在思考的时候是最高效的 —— 思考关于如何解决现有问题和避免未来的问题；思考怎样监控 Linux 计算机，以便找到预测和预示这些未来的问题的线索；思考如何让他们的工作更有效率；思考如何自动化所有这些要执行的任务，无论是每天还是每年一次的任务。“系统管理员冥思苦想的那一面是不会被非系统管理员所熟知的，那些人包括很多管理着系统管理员的人，比如那个半秃头老板。系统管理员都会以不同的方式解决他们工作中苦思的部分。一些我认识的系统管理员会在沙滩、骑自行车、参加马拉松或者攀岩时找到最好的想法。另一些人会认为静坐或听音乐的时候思考得最好。还有一些会在阅读小说、学习不相关的学科、甚至在学习 Linux 系统的时候可以最佳思考。关键是我们都有不同的方式激发我们的创造力，而这些创造力的推进器中很多并不涉及键盘上的任何一个按键。我们真正的生产力对于系统管理员周围的人来说可能是完全看不见的。”成为懒惰的系统管理员有一些简单的秘诀 —— 系统管理员要完成一切需要完成的事，而且更多的是，当所有人都处于恐慌的状态时要保持冷静和镇定。秘诀的一部分是高效工作，另一部分是把预防问题放在首位。成为懒惰系统管理员的方法多思考我相信关于懒惰系统管理员最重要的秘诀在于思考。正如上面的摘录所言，优秀的系统管理员会花大量的时候思考这些事情，如何更有效率地工作，在异常成为问题前如何定位，更聪明地工作，做其它事情的同时会考虑如何完成这些事情等等。例如，除了撰写本文之外，我现在正在想一个项目，我打算在从亚马逊和本地…

我的第一个系统管理员错误
type: item
date: 2018-07-17T23:17:00+08:00
description: 如何在崩溃的局面中集中精力寻找解决方案。如果你在 IT 领域工作，你知道事情永远不会像你想象的那样完好。在某些时候，你会遇到错误或出现问题，你最终必须解决问题。这就是系统管理员的工作。作为人类，我们都会犯错误。我们不是已经犯错，就是即将犯错。结果，我们最终还必须解决自己的错误。总是这样。我们都会失误、敲错字母或犯错。作为一名年轻的系统管理员，我艰难地学到了这一课。我犯了一个大错。但是多亏了上级的指导，我学会了不去纠缠于我的错误，而是制定一个“错误策略”来做正确的事情。从错误中吸取教训。克服它，继续前进。我的第一份工作是一家小公司的 Unix 系统管理员。真的，我是一名生嫩的系统管理员，但我大部分时间都独自工作。我们是一个小型 IT 团队，只有我们三个人。我是 20 或 30 台 Unix 工作站和服务器的唯一系统管理员。另外两个支持 Windows 服务器和桌面。任何阅读这篇文章的系统管理员都不会对此感到意外，作为一个不成熟的初级系统管理员，我最终在错误的目录中运行了 rm 命令——作为 root 用户。我以为我正在为我们的某个程序删除一些陈旧的缓存文件。相反，我错误地清除了 /etc 目录中的所有文件。糟糕。我意识到犯了错误是看到了一条错误消息，“rm 无法删除某些子目录”。但缓存目录应该只包含文件！我立即停止了 rm 命令，看看我做了什么。然后我惊慌失措。一下子，无数个想法涌入了我的脑中。我刚刚销毁了一台重要的服务器吗？系统会怎么样？我会被解雇吗？幸运的是，我运行的是 rm * 而不是 rm -rf *，因此我只删除了文件。子目录仍在那里。但这并没有让我感觉更好。我立刻去找我的主管告诉她我做了什么。她看到我对自己的错误感到愚蠢，但这是我犯的。尽管紧迫，她花了几分钟时间跟我做了一些指导。 她说：“你不是第一个这样做的人，在你这种情况下，别人会怎么做？”这帮助我平静下来并专注。我开始更少考虑我刚刚做的愚蠢事情，而更多地考虑我接下来要做的事情。我做了一个简单的策略：不要重启服务器。使用相同的系统作为模板，并重建 /etc 目录。制定了行动计划后，剩下的就很容易了。只需运行正确的命令即可从另一台服务器复制 /etc 文件并编辑配置，使其与系统匹配。多亏了我对所有东西都做记录的习惯，我使用已有的文档进行最后的调整。我避免了完全恢复服务器，这意味着一个巨大的宕机事件。可以肯定的是，我从这个错误中吸取了教训。在接下来作为系统管理员的日子中，我总是在运行任何命令之前确认我所在的目录。我还学习了构建“错误策略”的价值。当事情出错时，恐慌并思考接下来可能发生的所有坏事是很自然的。这是人性。但是制定一个“错误策略”可以帮助我不再担心出了什么问题，而是专注于让事情变得更好。我仍然会想一下，但是知道我接下来的步骤可以让我“克服它”。via: https://opensource.com/article/18/7/my-first-sysadmin-mistake作者：Jim Hall 选题：lujun9972 译者：geekpi 校对：wxy本文由 LCTT 原创编译，Linux中国 荣誉推出

开源云技能认证：系统管理员的核心竞争力
type: item
date: 2017-12-03T18:57:07+08:00
description: 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 译注1 在 opensource.com 上发文指出。Paul English 认为，现在的系统管理员较以前而言，要更多地与软件打交道，而且要能够编写脚本来协助系统管理。译注1：Paul English，计算机科学学士，UNIX/Linux 系统管理员，PreOS Security Inc. 公司 CEO，2015-2017 年于为推动系统管理员发展实践的非盈利组织—— 专业系统管理员联盟 League of Professional System Administrator 担任董事会成员。展望 2018Robert 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中国 荣誉推出

为什么你应该成为一名系统管理员？
type: item
date: 2017-08-02T18:18:00+08:00
description: 网络和系统管理工作工资高、岗位多。我们为秩序而战，而服务器大叔则需要你成为系统管理员。这是个很好的机会，因为你已经管理过你有的那些系统，你本可以不需酬劳地管理那些日逐一日地运行的系统。但还是有一些面试官，愿意拿一笔很不错的薪水来找一些人去管理他们的系统。目前，系统和网络管理的失业率几乎为零，但是美国劳工统计局估计到 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-sys…

Linux 系统管理员 2017 年的 10 个新决心
type: item
date: 2017-01-15T01:48:20+08:00
description: 当我们告别 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 发行版的文章：5 个值得了解的 Linux 服务器发行版面向 Linux 新用户的八款最佳 Linux 发行版Linux 最佳选择：总有一款桌面发行版适合你5个你应该知道的 Live Linux 桌面发行版2016：如何选择 Linux 发行版为亲朋好友挑选一款合适的 Linux 发行版最适合和最不适合新手使用的几款 Linux 发行版2015年最流行的十大 Linux 发行版2016年值得期待的几大 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 个适合系统管理员的可能新年决心。我们祝你在朝着…

系统管理员的容器时代之殇
type: item
date: 2015-04-24T19:07:27+08:00
description: 系统管理现在处于一个癫狂的时代，一片混乱。我并不是抱怨老式系统管理员们，他们还是知道如何让系统工作起来，知道怎么更新系统和如何升级扩容。这篇吐槽是关于容器、预构建虚拟机镜像的，它们真是令人难以置信的混乱，它们的脑子里面就根本没有“可信”和“升级”的概念。（题图来自 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 家族的其它东东都是这样混乱。所谓软件栈，现在的意思是“我也不知道我实际上用的是啥”。Maven 、ivy 和 sbt 这些即用的工具其实就是让你的系统从互联网下载那些无签名的二进制数据并运行在你的计算机上。再加上容器，哦天哪，更乱了。是否想过给容器进行安全更新？基本上，Docker 的思路就是下载一个未签名的二进制并运行它，然后期望它不要将任何后门放到你的公司网络里面去。这就像是我在90年代时在 Windows 上下载的共享软件一样。什么时候会出现第一个带有 Ask 工具条的 Docker 镜像呢？第一个通过 Docker 镜像传播的互联网蠕虫呢？回到前些年，Linux 发行版努力着提供一个安全的操作系统，带有签名的软件包、可信的网络、甚至还能完全的重新构建。而现在呢？什么东西都已经 Windows 化了，到处是疯狂的“App”，你下载，你运行，根本不管是否安全，是否能升级到下个版本。因为你就是“过把瘾就死”！更新：其实在 Docker 之前就有这样的作法了，Docker 只是一个新的 'curl | sudo bash' 而已。是的，这就是主流的、在你的数据中心下载并运行一个不可信软件的方法。这太糟糕了，真的。之前，系统管理员还在努力的防御安全漏洞，现在，他们自称“devops”了，然后很 happy 地把这些东西弄到他们的网络里面了！