什么文件`make install` copy,以及在哪里?

Rya*_*rio 12 install makefile

有没有办法获得make install复制到文件系统的文件名/路径列表?有些软件包附带了一个MANIFEST文件,但不是我正在使用的文件.

Ste*_*eve 15

我在编译QEMU的自定义版本时只是在调查这个问题.我使用以下方法来计算安装的内容和位置(以及将其用作.deb文件的基础):

mkdir /tmp/installer
./configure --target-list=i386-softmmu
make
sudo make install DESTDIR=/tmp/installer
cd /tmp/installer
tree .
Run Code Online (Sandbox Code Playgroud)

Tree是一个实用程序,以视觉上吸引人的方式递归显示目录的内容 - sudo apt-get install tree对于Debian/Ubuntu用户

希望能有所帮助......我花了一些时间来解决这个问题,但我发现它可以直观地显示正在发生的事情.


Mar*_*wis 12

最简单的方法是使用chroot:在chroot监狱内运行"make install"; 计算安装前的文件列表,并将其与安装后的文件列表进行比较.

许多安装将支持--prefix配置选项和/或DESTDIR环境变量.您可以将它们用于较轻等待版本的chroot(如果您尝试将安装作为一个相当无特权的用户运行,则相信如果它尝试写入这些位置之外的位置,则安装将失败).

另一种方法是替换安装程序.许多软件包都支持一个INSTALL环境变量,它是要使用的安装程序; 有安装的跟踪版本.


Tod*_*dge 5

make uninstall 如果编译说明的作者提供了允许卸载的信息,则可能会显示文件删除后的文件(由于已经做了一段时间,所以我不能肯定地说)。

make -n install将做一个“干るÑ ”安装过程中,它可能是合理的提取及其结果的信息。