列出将由 .deb 安装的文件

列出将由 .deb 安装的文件

如何通过对 .deb 文件调用“dpkg -i”列出将安装的所有文件(及其未来位置)?源包的哪个 makefile 目标决定了这些(它是默认的“安装”目标吗?)

(问题的第二部分涉及包创建过程。我希望“make install”安装的文件列表和.deb 包安装的文件列表相同)

答案1

你可以通过运行以下命令列出 deb 文件的内容

dpkg-deb --contents package.deb

dpkg-deb可以显示有关 deb 包的大量信息。您可以通过运行来查看其他选项dpkg-deb --help

不幸的是,您无法确定 Makefile 将安装哪些文件。但是,您可以通过设置变量来安装到临时目录中DESTDIR。请注意,这主要适用于由脚本生成的 Makefile autotools./configure例如:

cd sourcecode-1.2
./configure --prefix=/usr           #Just the usual compiling stuff
make
mkdir /tmp/installedfiles           #Create a temporary directory for the files
make DESTDIR=/tmp/installedfiles install

最后make一行将安装 中的文件/tmp/installedfiles。然后您可以看到将要创建的文件,尽管这些文件和目录都将与 configure 脚本中指定的前缀相关。换句话说,/tmp/installedfiles/bin/mainprogram将安装为/usr/bin/mainprogram

我希望我回答了你的问题:)

答案2

deb 文件是一个存档文件,您可以提取它来查看其内容。

来自维基百科

从 Debian 0.93 开始,deb 文件被实现为 ar 档案。此档案的典型内容为三个文件:


  • debian-binary:deb 格式版本号。当前Debian 版本为“2.0” 。
  • control.tar.gz:所有包元信息。

  • data.tar、data.tar.gz、data.tar.bz2、data.tar.lzma 或 data.tar.xz:实际可安装的文件。

debian-binary 文件必须是档案中的第一个条目,否则它将不会被识别为 Debian 包。

因此,当您提取 deb 文件时,您将获得一个数据文件,即 data.tar/data.tar.gz/data.tar.lzma/data.tar.xz。提取此文件,您将获得此 deb 将创建或将文件放入的所有文件/目录。

相关内容