确定软件包更新哪些文件/在机器之间复制软件

确定软件包更新哪些文件/在机器之间复制软件

我如何确定哪些文件组成了一个应用程序(从源代码构建,而不是从存储库构建),以便我可以复制它?

我从源代码构建了一个应用程序,但由于它需要构建的库与运行它的系统不兼容,所以我必须在虚拟机中构建它。(我确信有某种方法可以维护两组不同的库,但我不知道如何)。

它不需要那些更新的库来运行,所以我需要找出我需要复制的内容。

我考虑过捕获 的输出sudo make install,但似乎行不通。我可以对整个系统的文件进行差异分析,但一定有更简单的方法吗?也许我可以将其打包成 .deb 或类似的东西?

答案1

我如何确定哪些文件组成了一个应用程序(从源代码构建,而不是从存储库构建),以便我可以复制它?

大多数情况下,简单的解决方案就是使用checkinstall,它将创建一个 .deb 文件,您不仅可以将其安装在其他(兼容)系统上,还允许您卸载该软件包。

  • sudo apt-get install checkinstall -y
  • 完成后make,运行checkinstall而不是make install
  • 检查安装将安装你的应用程序,并在当前(源)文件夹中为你提供一个 .deb 文件,你可以简单地将其复制并安装在其他系统上dpkg -i
  • dpkg -r application-name可随时使用来删除应用程序(Synaptic 也支持)

请看这个社区帮助页面作者主页如果您需要更多信息。

相关内容