如何在基于 Debian 的发行版中创建 *.run./*.bin 文件

如何在基于 Debian 的发行版中创建 *.run./*.bin 文件

AMD 将 Catalyst 驱动程序作为*。跑步文件,运行时会自行解压,构建然后安装司机。问题是驱动程序需要补丁才能成功构建。我想应用补丁并压缩或重新创建跑步归档,这样我下次就不用一遍又一遍地这样做了。

顺便说一句,运行文件并不是纯粹的 shell 脚本命令,它有一个包含二进制代码的部分,在提取时可能会重新创建文件和文件夹。

答案1

AMD 分发了一个可执行文件,您需要以 root 身份运行该文件来执行安装。它的名称和该名称的结尾几乎无关紧要。

该文件作为可执行文件,可以以 AMD 选择的任何方式运行。它可以是一个 shell 脚本(我猜是这样)或一个二进制可执行文件或理论上任何其他可执行文件。因此,确实不存在任何通用的方法来编辑这样的东西,同时保留其结构。

运行文件不是纯粹的shell脚本命令

是的,此类供应商提供的脚本旨在通过破坏系统来安装软件,通常包括提取tar编码并嵌入 shell 脚本内的二进制存档(如 )的方法。这就是您所说的“它有一个带有二进制代码的部分”的意思。

不过,供应商选择编码和嵌入该存档的方式也是完全任意的。它可能是一个 base64 编码的 tar 文件,或者其他任何东西。

如果您想编辑 AMD 提供的文件,您将必须检查它以了解其工作原理,然后可能解码并提取其中的某些部分,应用补丁,存档并重新编码结果,并用您的内容替换原始嵌入的内容。

底线:这种类型的临时软件安装方法不像 Debian 或 RPM 包那样结构良好,并且无法以相同的规律性和标准化进行操作。

答案2

使用的软件是 makeself.sh,由 megastep 分发,下载为 makeself.run。这是下载该包的 URL:http://stephanepeter.com/makeself/,其中解释了存档创建选项。我用它来修补 nvidia 驱动程序文件并重新创建 .run 文件。它将执行存档中现有的安装程序。

相关内容