![使用或忽略旧文档的启发式](https://linux22.com/image/92472/%E4%BD%BF%E7%94%A8%E6%88%96%E5%BF%BD%E7%95%A5%E6%97%A7%E6%96%87%E6%A1%A3%E7%9A%84%E5%90%AF%E5%8F%91%E5%BC%8F.png)
将它们作为搜索结果或通过参考链接获取,我经常会遇到不久前生成的文档。几个月,几年。有时文档被标记为已弃用或其他不合时宜的情况,但并非总是如此。
但即使是历史性的,它们在多大程度上仍然适用。是否可以绘制 *nix 领域变化动态的总体图?某些领域发生变化(或将来发生变化)的可能性有多大,变化幅度有多大,可能多久变化一次?
这个问题类似于 “Linux 文档项目”的更新程度和相关性如何?,但它更通用。我要求的基线如下:
(这些只是例子,与现实无关)
“主要文件系统结构已经 25 年没有改变,并且在接下来的 25 年也不会改变,正如 POSIX 保证的那样,因为这会颠覆 *nix 世界。您可以依赖长达 25 年的文档。”
“C 库的 API 每隔几个月就会改变一次,特别是在网络领域,因为它正在疯狂地绽放。但是有一堆核心功能,被认为是标准,从那时起就一直保持不变,并且永远不会改变,因为这就是轮子的重新发明。”
间接地,这个问题还询问问答网站(例如这个网站)上的提示在多大程度上随着时间的推移保持有效。
答案1
您发布的两个引用听起来像是某人的意见,而不是“文档”。
标准是移动的目标。人们可能旨在实现它们,但每隔几年它们就会更新一次,并且总会存在故意不遵循标准的扩展和情况。这适用于“适当标准”和“临时标准”。
不过,像 POSIX 这样的标准只会发生变化慢慢地随着时间的推移,新事物被引入,因为它们被发现有用、有需求并被广泛接受,而旧事物因为发现不再使用而被丢弃等等。这就是为什么 U&L 上的一些人热衷于指出一些外壳事物(例如)不兼容 POSIX,但只能与工具的某些实现的某些版本一起工作(或不工作,视情况而定)。这是一种使答案比 GNU 或其他供应商提供的特定实现更有效的方法。
查找有关系统上的接口和工具的文档的最佳位置始终是在线手册在你的系统上,以及可能随您正在使用的软件一起分发的任何其他形式的文档。
您可以在网上搜索某个标志sed
或grep
实用程序的用途,或者如何Getopt::Long
在 Perl 中使用,但这将是随实际实用程序或库一起安装的手册在你的系统上这是明确的文件。
历史文档对于运行相同旧系统的人来说很有用,这是无可否认的,但是一份文档通常是针对撰写本文时的系统或工具的。例如,如果您使用的是新的 OpenBSD 5.9 系统,并且想知道为什么sudo
不起作用,因为您正在阅读一个网页,说它应该在基本系统中,那么,如果您'已经读过afterboot(8)
手册(根据提示)描述你刚刚安装的系统。这将告诉您有关doas
公用事业。
我的观点是,Unix 的去向或来自何处并不重要。你在运行它的机器前面现在,您可以在这里找到最新的文档。
如果您在网络上看到一些内容描述如何设置 UUCP 以在主机之间交换电子邮件,或者如何在 PostgreSQL 中进行数据库复制,您必须考虑该文档的目标受众是什么以及这些工具的用途和行为由于时间的原因,对你来说有所不同。您系统上的手册有你,作为目标受众,想要了解如何使用您面前的系统的用户。
如果我的回答有点不合时宜,我很抱歉,但这是我最近一直在思考的事情。
答案2
我想说不,你不能先验地绘制地图来安全地导航。
您提到了问答网站。 IME 问答论坛在这方面通常很糟糕。你会得到一些意见,但没有完全合理的解释。通过网络搜索找到的第三方“文档”(例如人们的博客文章)通常具有类似的质量。当然,这些答案在当时是有用的;他们让你看到其他人的经验和读物。但是,即使完全过时,参考主要来源的合理解释也可能具有教育意义。
既然你问了。我想说 POSIX 就是这样的。许多供应商标准化了 1) 系统调用和 2) 实用程序命令,这些命令将在未来保持功能,以保持与现有应用程序的兼容性。
再次强调,权威就是标准本身。我在一所排名靠前的大学学习的计算机科学课程将 POSIX 线程标准与 Linux 最初的、不一致的实现尝试混为一谈。忽略第二个实现(NPTL)的反例。这些课程的材料通常可以在线获取......
问题是,一旦它被商定并纳入标准,它不一定保持相关性和有趣性。我觉得 Linux 标准库的失败就是一个例子。 (请注意,最近类似的努力,如 xdg 平板包应用程序,是针对版本化的运行时。看看 GTK 的变化速度有多快)。
我认为关注安全性提供了强有力的例子。我们只是还没有弄清楚如何构建一个安全的系统。旧的/未打补丁/未针对该错误应用缓解措施的系统今日报被认为完全损坏。所以他们不断地改变。
对 POSIX 热爱的警告:现实世界中使用的操作系统将要在某种程度上偏离了标准。 OS X、POSIX 认证 -fsync()
实施已被合法化,不做其他人认为的预期含义。某些 Linux 灰胡子认为我们应该破坏使用烦人的文件名(例如包含控制字符)的应用程序。 ETC。