我已经多次阅读了这句话(下面),最近一次在这里,并且一直对如何dd用于修补任何东西感到困惑,更不用说编译器了:
30 年前,我在学校使用的 Unix 系统在 RAM 和磁盘空间方面非常有限。特别是
/usr/tmp文件系统非常小,当有人试图编译一个大程序时会导致问题。当然,无论如何,学生都不应该编写“大型程序”;大型程序通常是从“某处”复制的源代码。我们中的许多人复制/usr/bin/cc到/home/<myname>/cc,并用于dd修补二进制文件以使用/tmp代替/usr/tmp,后者更大。当然,这只会让问题变得更糟——这些副本占用的磁盘空间在那些日子里确实很重要,现在/tmp经常被填满,甚至阻止其他用户编辑他们的文件。在他们发现发生了什么之后,系统管理员做了一个chmod go-r /bin/* /usr/bin/*它“修复”了问题,并删除了我们所有的 C 编译器副本。
(强调我的)
该dd手册页只字未提修补和不认为它可能是重新定意要做到这一点呢。
二进制文件真的可以打补丁dd吗?这有什么历史意义吗?