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

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

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

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

我想要捕获sudo make install的输出,但这似乎不起作用。 我可以在整个系统上做一个文件差异,但必须有一个更简单的方法吗? 也许如果我将它打包成.deb或其他东西?

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

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

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

如果您需要更多信息,请参阅此社区帮助页面和作者主页 。

    Interesting Posts