[2531] Dark Arts

Title Text:You think, ‘okay, THIS is an ideal use case for hardlinks!’ but then 6 months later you’re doing some extremely cursed Google search like ‘javascript ext4’ and wondering where things went wrong.

Origin:https://xkcd.com/2531/

https://www.explainxkcd.com/wiki/index.php/2531:_Dark_Arts

黑魔法

你会这么想,“很好,这是个硬链接的理想使用案例!”,但半年之后,你就得在还没倒闭的谷歌上搜索什么 ‘javascript ext4’ ,想知道哪里出了问题。

http://xkcd.in/comic?lg=cn&id=2531

White Hat大概只是要求Cueball执行一些涉及文件系统的任务。Cueball 以异常戏剧化的独白回应,称该主题为“黑暗艺术”,并表示他宁愿与它们无关。这让人想起奇幻小说、超级英雄电影等中相当典型的场景:拥有超自然能力的人解释说他们不愿意使用它们,因为它们的使用可能产生的负面影响超过正面影响。通常这与角色的悲惨背景故事有关,在那里使用他们的力量之前曾给他们或与他们关系密切的人带来很大的痛苦。

漫画的幽默来自于平行绘制;文件系统的知识似乎不太可能对城市的规模产生负面影响,例如,将城市夷为平地,因此这种比较是双曲线的。然而,当今的大部分基础设施确实依赖于可能过于复杂的遗留系统,几十年来已经经受住了激进的政治冲突和公司期限的缩短。一个例子是最近 pgp 密钥服务器网络的关闭,或者构建最快的 linux 文件系统 (reiserfs) 的开发者如何在它被合并到 linux 之前因为谋杀了他的妻子而被监禁。不过,这个笑话与漫画349:成功类似,其中 Cueball 与技术的关系被证明具有远远超过正常人的灾难潜力。

文件系统是计算机操作系统的一部分,用于处理持久存储中的数据组织,通常将其拆分为文件和目录。它可能是一个非常复杂的软件。因此,在高级使用中很容易出错,并且由于它几乎控制给定机器上的所有数据,所犯的错误可能会产生严重的后果(例如,数据丢失)。文件系统的这些属性很可能是 Cueball 不愿意弄乱它们的原因。

ext4是与Linux操作系统内核一起使用的流行文件系统。

硬链接允许两个文件名引用同一个底层文件或目录。这些使用起来特别棘手,因为它们几乎在所有方面看起来都像普通文件,但修改它们可能会产生不明显的效果(例如,更改一个文件名所指的内容,另一个将不会保持一致)。硬链接及其误用之前已在 xkcd 中被引用,如981: Porn Folder

标题文本暗示了 Cueball 或Randall 的经历(他自己的“悲剧背景故事”,如果你愿意的话),涉及 ext4 上的硬链接。他认为他已经为他们找到了一个理想的用例,大概可以避免他们的大部分陷阱,但六个月后,最终还是不得不解决一些因他的决定而产生的难以理解的错误。

Javascript是一种最常与网页相关联的编程语言。因此,它通常不直接与计算机的文件系统交互,因为允许任意网站访问文件系统被广泛认为是一个非常糟糕的主意[需要引用]。它可以直接外的浏览器运行JavaScript的-在这种情况下,它确实有访问常用的文件系统操作,甚至在理论上对文件系统的内部-但因为它是支持不好的高级语言与工作文件系统使用的数据结构,这将是一种痛苦的、“诅咒”的处理方式。

高级 IT 专业人员(现在很少有人需要了解此类功能)将被提醒他们自己在文件系统配置方面的经验和不幸。除了硬链接之外,文件系统还可能具有许多普通用户甚至管理员都不知道的功能。此类功能容易出现错误、文档不佳或与其他系统工具的集成不佳。例如:

  • 符号链接(软链接) – 一个文件使用其名称链接到另一个文件。虽然符号链接“无处不在”,但硬链接通常是有限的。
  • 压缩的文件系统可能会对性能、配额管理和磁盘碎片造成意想不到的副作用。
  • 稀疏文件和浅拷贝(按需拷贝)。
  • 实时文件系统备份和文件锁定。
  • 只读文件系统。
  • “虚拟”文件系统,如内存支持和文件支持的文件系统,由动态数据或数据库支持。
  • “覆盖”文件系统,其中只读部分被另一个文件系统覆盖并部分遮蔽。
  • 用于读取或写入操作的文件缓存。
  • 同步文件系统。
  • 许多,更多。

“在另一个时代”可能是指在开发人员在物理服务器上安装、配置和管理操作系统和软件的时代,详细的文件系统操作很常见。当磁盘空间有限且网络速度较低时,此类操作可以节省空间和时间。虚拟化、容器化和部署框架将开发人员和管理员与此类低级细节隔离开来。

Leave a Reply

Your email address will not be published.

Categories