我如何确定哪些文件组成了一个应用程序(从源代码构建,而不是从存储库构建),以便我可以复制它?
我从源代码构建了一个应用程序,但由于它需要构建的库与运行它的系统不兼容,所以我必须在虚拟机中构建它。(我确信有某种方法可以维护两组不同的库,但我不知道如何)。
它不需要那些更新的库来运行,所以我需要找出我需要复制的内容。
我考虑过捕获 的输出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 也支持)