如何在安装 .deb 文件之前找到所有依赖(依赖遍历器)包?

如何在安装 .deb 文件之前找到所有依赖(依赖遍历器)包?

按照以下说明安装 Ubuntu Core 13.10 时wiki.ubuntu.com/Core/InstallationExample,步骤 5 说 Ubuntu 12.04 “Precise Pangolin” 开发内核需要'wireless-crda' 包。这个 wiki 建议查看packages.ubuntu.com。 但是,那precise/linux-image-3.8.0-37-generic 页面甚至根本没有提到“wireless-crda”包。

在阅读 Ask Ubuntu 文章中有关“下载 +kernel +packages +deb”的内容后,'“依赖于”+内核+软件包'‘无线-crda’和 ”如何在从 .deb 安装软件时自动获取缺失的依赖项?“我还是不知道该如何弄清楚全部依赖包。

更新#1

来自的答案如何检查 deb 包的依赖列表

1.apt-cache showpkg linux-image-3.11.0-18-generic

不输出“wireless-crda”依赖项:

Reverse Depends: 
  linux-image-3.11.0-18-generic:i386,linux-image-3.11.0-18-generic
  linux-signed-image-3.11.0-18-generic,linux-image-3.11.0-18-generic 3.11.0-18.32
  linux-image-virtual,linux-image-3.11.0-18-generic
  linux-image-generic,linux-image-3.11.0-18-generic
  linux-image-extra-3.11.0-18-generic,linux-image-3.11.0-18-generic
Dependencies: 
3.11.0-18.32 - initramfs-tools (2 0.36ubuntu6) module-init-tools (2 3.3-pre11-4ubuntu3) dpkg (2 1.10.24) fdutils (0 (null)) linux-doc-3.11.0 (16 (null)) linux-source-3.11.0 (0 (null)) linux-tools (0 (null)) linux-headers-3.11.0-18-generic (0 (null)) grub-pc (16 (null)) grub-efi-amd64 (16 (null)) grub-efi-ia32 (16 (null)) grub (16 (null)) lilo (2 19.1) hotplug (3 0.0.20040105-1) hotplug:i386 (3 0.0.20040105-1) linux-image-3.11.0-18-generic:i386 (0 (null)) 
Provides: 
3.11.0-18.32 - redhat-cluster-modules linux-image-3.0 linux-image kvm-api-4 ivtv-modules fuse-module 
Reverse Provides:

2.dpkg -I linux-image-3.11.0-18-generic_3.11.0-18.32_amd64.deb

也不会输出“wireless-crda”依赖项:

Depends: initramfs-tools (>= 0.36ubuntu6), module-init-tools (>= 3.3-pre11-4ubuntu3)
 Recommends: grub-pc | grub-efi-amd64 | grub-efi-ia32 | grub | lilo (>= 19.1)
 Suggests: fdutils, linux-doc-3.11.0 | linux-source-3.11.0, linux-tools, linux-headers-3.11.0-18-generic
 Conflicts: hotplug (<< 0.0.20040105-1)
 Provides: fuse-module, ivtv-modules, kvm-api-4, linux-image, linux-image-3.0, redhat-cluster-modules

通过安装内核时apt-get install linux-{headers,image}-generic有一个依赖的“wireless-crda”包。

问题:

如何在实际安装 Ubuntu 内核 .deb 文件之前找到答案 -全部需要安装哪些依赖包?

答案1

你可以看看packages.ubuntu.com。该apt-get install linux-{headers,image}-generic命令安装两个包:

  1. linux-headers-通用
  2. linux-image-通用

1. Linux 头文件通用

依赖于取决于Linux 标头-3.11.0-18-通用,这取决于:

  1. libc6,这取决于libgcc1
  2. Linux 标头-3.11.0-18,这取决于核心工具

2. linux-image-通用

依赖于取决于:

  1. Linux 固件
  2. Linux-映像-3.11.0-18-通用
  3. Linux-image-extra-3.11.0-18-通用

2.2. linux-image-3.11.0-18-通用

依赖于取决于:

  1. 软件包
  2. initramfs 工具
  3. 模块初始化工具

2.3. linux-image-extra-3.11.0-18-通用

依赖于取决于:

  1. 加拿大研究发展局或者无线-crda
  2. Linux-映像-3.11.0-18-通用

到这里您已经发现内核 .deb 文件是如何依赖于 wireless-crda 的。

答案2

使用apt-cache showpkg pkg-name1dpkg -I pkg-name1_version.deb你可以获取依赖项列表软件包名称1. 但其中一个依赖包软件包名称1软件包名称2可能依赖于其他包软件包名称3等等。

因此,你不仅需要知道软件包名称1的依赖项,还有它们的依赖项的依赖项......然后您可以下载软件包(尚未安装在您的系统中)。

相关内容