问题描述
我想查看 debian 包的内容,特别是如果该包正确清理了它安装的任何内容。
我还想看看它是如何安装软件的,它创建了什么目录,符号链接等。
最佳方法
采用
dpkg -x somefile.deb somefolder
将 somefile.deb
包含的文件解压到文件夹 somefolder
采用
dpkg -e somefile.deb somefolder
将 somefile.deb
的控制数据(包脚本、元数据…)提取到文件夹 somefolder
中。
某些档案管理器让您可以像浏览任何其他档案文件一样浏览 Debian 软件包。
次佳方法
您可以在终端中使用 dpkg
来查看哪些文件在已安装的包中。
dpkg -L <package>
您还可以使用它来找出特定文件来自哪个包。
dpkg -S <file>
列出 .deb-file 的内容。
dpkg -c <file.deb>
为了评估采取了哪些 pre/post-install 操作,需要提取并手动查看这些文件。
dpkg -e <file.deb> [folder]
有关更多选项,请参阅 dpkg
的 man-page。
第三种方法
有 dpkg -c package.deb
,它列出了包安装的文件,还有 dpkg --info package.deb
,它显示了一般信息,包括存在哪些配置脚本(这些脚本在安装过程中的不同点运行)。
此外,.deb 包很难不清理已安装的文件,因为这些文件是自动跟踪的,除了从脚本创建的文件。 Debian 有 piuparts 服务,它会自动测试 Debian 档案库中的软件包。
第四种方法
是的。 Debian 软件包实际上只是一个存档文件夹。因此,您应该能够使用默认的存档管理器打开它(右键单击 -> 使用存档管理器打开)。或者,您还可以在任何地方提取。我希望你能从中学到很多东西。
第五种方法
是的,它只是一个普通的 AR 存档,就像 tar.gz 文件中的 tar 部分(在这种情况下是 Tape ARchive)
此存档的内容是三个文件:
-
debian-binary:deb 格式版本号。这是当前 Debian 版本的 “2.0”。
-
control.tar.gz:所有包meta-information。它告诉 dpkg 在安装软件包时要配置什么。 data.tar、data.tar.gz、data.tar.bz2、data.tar.lzma 或 data.tar.xz:实际的可安装文件。
-
debian-binary 文件必须是存档中的第一个条目,否则它不会被识别为 Debian 软件包。