如何将 .run 安装程序转换为 .deb 安装程序?

如何将 .run 安装程序转换为 .deb 安装程序?

我运行的是 Ubuntu 14.04。

我有许多用于项目的第三方系统库,但管理库安装很困难。有些库是 .deb 文件,有些是从源代码构建的(然后我从中创建 .deb),有些是 .run 文件。

我的目标是拥有自己的个人存储库,以 .deb 文件的形式托管这些第三方系统库。我的问题是将 .run 文件转换为 .deb 文件。

我尝试使用 checkinstall 运行 .deb 文件(特别是找到的 UEye 摄像头驱动程序)这里),希望 checkinstall 能够捕获对我的文件系统的修改,但不幸的是这是一场灾难。

有没有什么干净的方法可以将 .run 文件转换为 .deb 文件?

答案1

没有简单或通用的方法可以做到这一点。公共文件的第一部分.run(我将使用 ATI 驱动程序安装文件作为参考)是一个脚本,后面是立即存储在文件系统中的压缩数据流。要将其转换为 deb 文件,您必须在目录中解压缩流,创建目录debian/,在您的rules文件中您必须对其进行编辑,以便 dhmake 只需采用目录结构并将文件复制到它们应该在的位置,因为您没有aMakefile或使用该install脚本的等效项。

我强烈建议只要求软件分销商创建一个Debian 软件包因为大多数这些运行文件甚至不是兼容 DFSG

答案2

我最终做的是:

  1. 创建包含 .run 文件的自定义 .deb
  2. 将 .run 文件“安装”到 /tmp
  3. 用于postinst执行.run文件(然后删除)
  4. 这个特定的 .run 文件实际上提供了自己的卸载脚本,不需要原始的 .run 文件。所以我用来postrm执行该脚本。

一切都运行得很好。没有抱怨,而且非常简单。

相关内容