通过 make install 查找添加/修改的文件的可靠方法

通过 make install 查找添加/修改的文件的可靠方法

昨天我正要问这个问题,当我点击评论按钮时,“类似问题”窗口已被修改为向我显示以下问题:如何找出使用 make 安装了哪些文件?

我认为这已经足够好了,但我不满意

我正在读 lfs 的书,我正在阅读有关的章节包管理。有一个指向提示部分的链接,可以更广泛地了解该主题,其中一个提示说:

除此之外,我还注意到目前没有 100% 可靠的方法来知道在“make install”(或其他命令)期间修改了哪些文件。

当然,fakeroot 方法不会阻止包将文件安装到它想要的位置。

TRIP,LFS(和其他 Linux 系统)的简单打包程序

我的理解是:

  • makefile 可能无法正确使用 $DESTDIR
  • 文本是 2006 年的,所以可能已经过时了(但它确实发生了)

我一直使用预编译的包管理器,我不知道后面的团队多久需要纠正这些错误。我不明白解析 makefile 为何无法“100% 可靠”

答案1

获取完成的文件操作列表的一种示例方法make install是执行:

make -n install

此命令不会安装/更改任何内容,只会打印无需密钥实际执行的操作-n(正常安装)

答案2

使用GNU 存储或者检查安装

stow:

GNU Stow 是 /usr/local 的软件安装管理器。使用符号链接,GNU Stow 可以帮助您保持安装独立(例如 /usr/local/stow/emacs 与 /usr/local/stow/perl),同时保持它们都在 /usr/local 下的错觉。

CheckInstall

CheckInstall 跟踪安装脚本(“make install”、“make install_modules”、“setup”等)创建或修改的所有文件,构建标准二进制包并将其安装在您的系统中,使您能够使用以下命令卸载它:您的发行版的标准包管理实用程序。

相关内容