是否可以查看 debian 包的内容?

Bla*_*man 45 package-management

我想查看 debian 包的内容,特别是如果该包正确清理了它安装的任何内容。

我还想看看它是如何安装软件的,它创建了什么目录,符号链接等。

Flo*_*sch 44

dpkg -x somefile.deb somefolder
Run Code Online (Sandbox Code Playgroud)

somefile.deb包含的文件提取到文件夹中somefolder

dpkg -e somefile.deb somefolder
Run Code Online (Sandbox Code Playgroud)

将控制数据(包脚本、元数据等)提取somefile.deb到文件夹中somefolder

某些档案管理器让您可以像浏览任何其他档案文件一样浏览 Debian 软件包。


Zok*_*oke 26

您可以dpkg在终端中使用以查看已安装包中的文件。

dpkg -L <package>
Run Code Online (Sandbox Code Playgroud)

您还可以使用它来找出特定文件来自哪个包。

dpkg -S <file>
Run Code Online (Sandbox Code Playgroud)

列出 .deb 文件的内容。

dpkg -c <file.deb>
Run Code Online (Sandbox Code Playgroud)

为了评估采取了哪些安装前/安装后操作,需要提取并手动查看这些文件。

dpkg -e <file.deb> [folder] 
Run Code Online (Sandbox Code Playgroud)

有关dpkg更多选项,请参阅手册页。


Sim*_*ter 7

dpkg -c package.deb,它列出了包安装的文件, 和dpkg --info package.deb,它显示了一般信息,包括存在哪些配置脚本(这些脚本在安装过程中的不同点运行)。

此外,.deb 包很难不清理已安装的文件,因为这些文件是自动跟踪的,除了从脚本创建的文件。Debian 有puiparts服务,它会自动测试 Debian 档案库中的软件包。


Agm*_*nor 6

是的。Debian 软件包实际上只是一个存档文件夹。因此,您应该能够使用默认的存档管理器打开它(右键单击 -> 使用存档管理器打开)。或者,您还可以在任何地方提取。我希望你能从中学到很多东西。


小智 5

是的,这只是一个普通的 AR 存档,就像 tar.gz 文件中的 tar 部分(在这种情况下为 Tape ARchive)

该存档的内容是三个文件:

  • debian-binary:deb 格式版本号。对于当前版本的 Debian,这是“2.0”。
  • control.tar.gz:所有包元信息。它告诉 dpkg 在安装软件包时要配置什么。data.tar、data.tar.gz、data.tar.bz2、data.tar.lzma 或 data.tar.xz:实际的可安装文件。
  • debian-binary 文件必须是存档中的第一个条目,否则它将不会被识别为 Debian 软件包。

您可以使用 亲自查看这一点ar t yourpackage.deb