在 Opensource.com,我们认为调查我们的一些作者,以了解他们认为哪些工具已经过时(但可能仍然有用!),以及他们如何看待替代实用程序,这将是一件有趣的事情。接下来是一系列回复和一些乐趣。
我们发出了以下提示
- 您是否发现您最喜欢的一些工具已经过时或被弃用?或者您只是为了新的东西而切换了它们?
- 您现在使用什么?请告诉我们一些关于您认为切换对您有何帮助的信息。
防火墙
对我来说,一个大问题是 iptables。我为了学习如何使用 iptables、ebtables 和 arptables,以及如何操作 MAC 地址等等而付出了很多努力。我围绕脚本构建了数十个防火墙来设置规则集,最终我对此非常擅长。现在 nftables 使所有这些都过时了。乐趣永无止境。我仍然认为有营销影响力的人可以使软件定义的边界发挥作用。
+1 支持 iptables
自从我 25 年前第一次学习 Linux 以来,我就一直在使用 iptables。最新的工具是 firewalld,但是我和所有其他用于基于 Red Hat 的发行版的防火墙工具仍然基于并围绕内核级别的 netfilter 模块进行封装。我发现 firewalld 工具创建了大量的规则集,但对我来说并没有比旧的 iptables 做更多的事情。我确信某些大型环境需要这些复杂的规则集,但是它们也可以使用 iptables 或像 Greg 的脚本这样的脚本来实现。
我确实喜欢 nmcli
,但是我花了一些时间来学习它。事实上,我更喜欢它而不是旧的 ifcfg
和 ip
命令。它感觉比旧的命令更集成到系统中。但是我确实喜欢旧的 ifcfg-
接口配置文件。这些文件易于创建和理解。它们不需要需要节标题的 INI 样式格式。事实上,旧式文件甚至对顺序不敏感。
ipchains?
为了进一步强调这个例子,您确定您当时没有使用 ipchains 吗?(ipfirewall 和 ipfwadm 的后继者 ipchains 直到 2001 年左右才被 iptables 取代。)
^^ 回复 Jeremy
我的第一个防火墙是 ipchains,大约在 1999 年末。之后的一切都是 iptables。那时,我必须构建自己的内核才能获得我需要的所有 netfilter 模块。像平板显示器和 DSL 这样的现代便利设施在那些日子里是科幻小说。甚至不要考虑光纤。我每天都必须骑马在暴风雪中上坡去拜访客户。然后回家也是上坡。
文本编辑
我只想问一下——谁还在使用 troff (groff),谁已经转向了...嗯,我们应该说 LibreOffice 还是 AsciiDoctor 还是...?
我有一位亲爱的朋友,他继续在他的 Sun SPARCStation V 上使用基于 troff 的产品。
[ 相关阅读 使用 groff 进行老式技术写作 ]
编辑手册页
^^ 回复 Chris
任何维护手册页的人!尽管现在很多人可能正在从其他标记生成这些手册页。有些人(像我一样)仍然直接编写或编辑 troff 文件。
标记堆栈
总有人会使用旧的东西,但是现在有更优秀的工具。我不会将 LibreOffice 用于您将 troff/groff 用于的那种东西——如果您在该级别写作,您可能依赖于您熟悉的文本编辑器、用于管理输入的源代码控制,并且您对标记语言感到满意。
这意味着您想要使用标记堆栈。有很多,包括
- Sphinx + ReST + GitHub Actions + GitHub Pages
- MkDocs + Markdown + GitLab CI + GitLab Pages
- Nikola + Jupyter Notebooks + Jenkins + (AWS S3 + CloudFront)
所有堆栈的共同点是
- 一种将不同的输入文件拉入一个连贯整体的东西 (Sphinx/MkDocs/Nikola)
- 一种合理的高级文本标记语言(ReST/Markdown/嵌入在 Jupyter Notebooks 中的 MD)
- 一个将它们转换为输出格式(通常是 HTML 文件树,但有时是 PDF 或其他格式)的 CI 管道
- 人们可以下载已发布版本的位置(GitHub Pages、GitLab Pages、AWS S3 + CloudFront)
我会注意到这些几乎是正交的选择。任何合理的生成器都可以接受任何输入(即使对于 MkDocs 来说最不真实,它也具有 mkdocs-gen-files 插件,因此您可以使用 Pandoc 将内容转换为 Markdown)。任何合理的 CI 都可以运行任何生成器并推送到任何目标。
因此,即使使用上面的列表,也有 81 个堆栈可用。
(Sphinx/MkDocs/Nikola) x (ReST/Markdown/Jupyter Notebooks) x (GHA/GitLab CI/Jenkins) x (GHP/GLP/S3+CF)
因为 Pandoc 理解 troff (ms/man),如果您真的想这样做,您可以将 troff+ms 或 troff+man 插入“标记”插槽。您可能可以在 Sun SPARCStation V 上安装 Jenkins 并继续使用相同的机器和格式。但是为什么呢?:)
Opensource.com 可能有一篇文章:“我如何使用 mkdocs+mkdocs-gen-files 和 GitLab CI 将 troff 文档转换为现代堆栈。”
其他 groff 示例
实际上,我现在正在写一篇关于“使用 groff 进行老式技术写作”的文章(这是我正在写的关于技术写作工具的更大系列的一部分)。我不使用 groff 进行严肃的技术写作,但它在我学习过的东西的工具包中,并且可能永远不会忘记。当我教授“使用数字技术写作”时,我会回顾 groff。
在写这篇文章时,我回忆起 1993 年我安装 Linux 时,Linux 上没有任何写作应用程序。没有文字处理器,只有 groff 和 LaTeX。我使用 LaTeX 编写物理实验室报告(因为它很容易进行数学运算),并使用 groff 为其他课程写论文(因为我可以选择打印到行式打印机,我认为这是一种让我的论文看起来更长的聪明方法)。如果我想用文字处理器写作,我必须双启动回到 DOS 才能运行 WordPerfect 或 Galaxy Write。StarOffice 于 1996 年为 Linux 发布。我购买了 StarOffice。
有趣的是,Brian Kernighan 仍然用 groff 撰写他所有的书。“Unix: A History and a Memoir”(2020 年)和“Understanding the Digital World”(2021 年)都是完全用 groff 处理的。
重新审视 fmt 命令
我现在经常使用 fmt
命令。它对于很多东西都非常方便。如果您以纯文本格式编写 Readme 文档(或其他文档),您就会知道当您在行中间插入一些新文本时,行尾不会在同一列结束的痛苦。您可以运行 fmt
来清理它。
更常见的是,我在一个电子邮件列表中,列表成员更喜欢以纯文本形式接收电子邮件,因此我的电子邮件客户端大部分时间都设置为纯文本。如果我需要回复某人的列表电子邮件(并且他们没有以纯文本形式发送),则段落通常只是一行长行,并且当我回复时,我的电子邮件客户端无法正确换行。它只是一个 >
在长句的开头。
所以我这样做
$ fmt -p '>' > /tmp/f
{copy & paste ">" quoted text}
^D
然后
$ cat /tmp/f
然后将结果复制并粘贴到我的电子邮件中。
引导加载程序的更改
就在你的 foo 足够锋利的时候,工具有很合理的可能性会被替换。
从 LILO 到 GRUB 是痛苦的,直到我的 GRUB-foo 达到足够的水平。GRUB2 很棒,但需要新的学习曲线。
肌肉记忆也是一个问题——ipconfig
、nslookup
和 netstat
处于自动驾驶状态。此外,如果您正在使用其他 Linux 环境,例如 Tiny Core Linux,您可能并不总是拥有最新和最棒的工具。
从 if-cfg
样式脚本切换到 nmcli
是新的学习曲线,因此这永远不会真正结束。
[ 相关阅读 6 个已弃用的 Linux 命令以及您应该改用的工具 ]
快速 FIPS 设置
通常事情会变得更好;我的两分钱。问题是,您是否发现您最喜欢的一些工具已经过时或被弃用?或者您只是为了新的东西而切换了它们?
一位同事最近问我如何在 Linux 上启用 FIPS,这是我已经有一段时间没有做的事情了。我记得这个过程是多么神秘,它涉及启用一个仓库,安装一个软件包 (dracut-fips),运行命令 (dracut
) 来重新生成 initramfs,修改 GRUB 引导加载程序配置文件 (fips=1) 等等。
还有,您现在使用什么?请告诉我们一些关于您认为切换对您有何帮助的信息。
幸运的是,在 RHEL9 上,上述内容已被 fips-mode-setup
命令替换,该命令带有两个方便的标志,--check
和 --setup
。就是这样!运行这些命令,重新启动系统,您的机器将在启用 FIPS 的情况下启动。超级简单!
既旧又舒适
显然,开源的乐趣和强烈的意见仍然存在,工具的多样性和选择最适合您的工具的自由也是如此。也许这些工具和其他类似的工具都很旧——甚至过时——但它们可能仍然有用途。其中一些较旧的实用程序激发了更现代的解决方案,而没有失去它们自身的内在价值。最后,用户舒适度和熟悉度也很重要。使用开源,所有花费在开发您的 foo 上的时间都不必因为某些供应商决定是时候发布新版本而丢失。
3 条评论