一些最好的技术是一个移动的目标。当技术停滞不前时,社会往往会超越和超过它。Linux,这个被广泛使用的开源操作系统 (OS),是一项基础技术,也是一些最先进的现代计算理念的基础。因此,虽然它在三十年的发展之后仍然惊人地没有变化,但它也允许适应。因此,Linux 处于一个独特的地位,既是对技能的可靠投资(因为它不会改变),又是学习新技能的看似永恒的驱动力。
2020 年是奇怪的一年——无论从哪个角度来看——但对于 Linux 来说,这是一个典型的开发周期。回顾一下今年到目前为止的情况,并回顾一下您需要了解的关于 2020 年 Linux 的信息。
Linux 上的 ZFS
ZFS 文件系统为数据和元数据提供完整性检查、镜像冗余、高达256 万亿 yobibyte 的存储支持、硬件加速原生加密和高效复制。ZFS 是 Sun Microsystems 的一项创新,但不幸的是,它的许可证禁止默认将其与 Linux 捆绑在一起。但是,OpenZFS 组织已将该项目移植到 BSD 和 Linux,以便您可以在从笔记本电脑到数据中心的任何设备上运行 ZFS。
在 Fedora Linux 上开始使用 ZFS 非常简单,正如 Sheng Mao 在他关于在 Linux 上设置 ZFS 的文章中演示的那样。
Linux 中断
无论您对 Linux 有多熟悉,总有机会深入了解并发现它是如何如此出色地完成工作的。运行股票市场、数字电影工作室、音频工作站和其他性能密集型任务的计算机需要实时处理,而其他计算机在处理请求时可以稍微慢一些,管理计算机在任何给定毫秒内发生的无数循环绝非易事。了解 Linux 内核如何以及为何管理中断请求 (IRQ) 对于日常用户来说可能不是至关重要的,但无论您在计算机上做什么,这都是一项引人入胜的研究。阅读 Stephan Avenwedde 的文章“Linux 内核如何处理中断”以了解更多信息。
口袋里的 Linux
由于 Google 的 Android 操作系统在 Linux 内核上运行,我们中的许多人实际上口袋里都有 Linux。尽管这可能令人欣慰,但 Android 流畅的 Java 前端并不总是能提供许多 Linux 用户渴望的 Linux感觉。有些用户根本没有 Android 手机。
好消息是您可以在 Android 或 iOS 设备上使用 Linux,包括终端、Bash、Python、软件包管理器以及您喜欢的开源桌面操作系统的所有其他功能。
如果您使用的是 Android,请阅读我关于 Termux 的文章。如果您使用的是 iOS,请阅读 Lee Tusman 关于在 iOS 设备上运行 Linux 命令行的精彩文章。
Linux 上的新命令
时间在流逝,有时过去那些古老而奇特的命令不足以满足现代系统的需求。尽管您的肌肉记忆可能仍然坚持使用像 crontab
和 ifconfig
(以及 iwconfig
和 wpa_supplicant
)这样的命令,但这些命令以及更多命令都有非常好的替代品。如果您无法说服自己放弃旧命令,请熟悉 Bash 别名,因为这些新命令值得学习。
- 放弃
ifconfig
而使用nmcli
。听着,在某个时候,您必须承认ifconfig
加上iwconfig
以及涉足wpa_supplicant
(您很久以前就偷偷放弃了,转而使用wicd
)的这种不光彩的组合效率不高。Linux 现在使用nmcli
,并且它已成为一种非常易用,有时甚至是直观的方式来与您的网络交互。阅读 Dave McKay 的精彩 nmcli 教程。 - Cronjobs、
at
和batch
是独特的永恒命令,可能永远不应该被替换。它们非常适合快速简单的调度,但对于复杂的作业,您可能会在它们的补充中找到一些您喜欢的功能:systemd 定时器。David Both 提供了广泛的 systemd 定时器教程,演示了如何编写和监控重要的自定义系统任务。 gcore
和gdb
是开发人员可能熟悉的重要的调试器。Microsoft 的 ProcDump 是gcore
功能的新版本,它获取进程 ID (PID) 的核心转储,以便您可以使用gdb
对其进行分析。它更多的是一种替代方案,而不是替代品,但如果您对不同的工具感到好奇,则值得一试。阅读 Guarav Kamathe 的 ProcDump 教程以获取更多信息。
云在 Linux 上运行
随着“云”继续全速前进,Linux 仍然是其主要驱动力。云是计算机(节点)的集合,具有大规模分布式文件系统(例如 Ceph),并且通常使用 Kubernetes(“KOO-burr-net-eez”] 或 OpenShift 进行管理。
无论您对笔记本电脑或台式机甚至私有数据中心中的 Linux 有多了解,在云中运行的容器中都有一个全新的 Linux 实验世界。学习如何适应短暂的容器可能需要一些调整,但通过一些练习和一点背景知识,您可以构建一些有趣的系统,然后使用 Kubernetes 编排它们(即,使它们根据需要更新、扩展和执行)。
Jiaqi Liu 在“Kubernetes 容器编排初学者指南”中撰写了关于云工作流程的最佳概述之一。阅读它,然后下载 Chris Collins 的 Kubernetes 电子书,在 Raspberry Pi 集群上构建您自己的家庭云。
开源增长
Linux 用户喜欢 Linux 的一致性和稳定性,并且操作系统可以在保持不变的同时将其边界推向激动人心的新技术形式,这证明了原始 Unix 系统设计的成功。Linux 和开源的乐趣之一是当您开始学习新命令时获得的发现感,以及当它起作用使您的生活更轻松时获得的成就感。看看最新的 Linux 开发,今天就开始尝试一些新的东西!
15 条评论