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

根据wiki.ubuntu.com/Core/InstallationExample上的说明安装Ubuntu Core 13.10时,第5步说Ubuntu 12.04“Precise Pangolin”开发内核需要 ‘wireless-crda’软件包。 这个维基建议看看packages.ubuntu.com 。 但是精确的/ linux-image-3.8.0-37-generic页面根本没有提到’wireless-crda’包。

在阅读了Ask Ubuntu的文章“下载+内核+软件包+ deb”后, “”依赖于“+ kernel + packages” , “wireless-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文件之前 – 需要安装的所有依赖包?

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

  1. Linux的头-通用
  2. Linux的图像一般

1. linux-headers-generic

取决于linux-headers-3.11.0-18-generic ,它取决于:

  1. libc6 ,它依赖于libgcc1
  2. linux-headers-3.11.0-18 ,它取决于coreutils

2. linux-image-generic

依赖于取决于:

  1. Linux的固件
  2. Linux的图像3.11.0-18generics
  3. Linux的图像超3.11.0-18generics

2.2。 Linux的图像3.11.0-18generics

依赖于取决于:

  1. 的dpkg
  2. initramfs的工具
  3. 模块初始化工具

2.3。 Linux的图像超3.11.0-18generics

依赖于取决于:

  1. crda或wireless-crda
  2. Linux的图像3.11.0-18generics

在那里你已经发现内核.deb文件是如何依赖于wireless-crda的。

使用apt-cache showpkg pkg-name1dpkg -I pkg-name1_version.deb您可以获取pkg-name1的依赖项列表。 但是pkg-name1的依赖包之一说pkg-name2可能依赖于其他一些包pkg-name3等等。

因此,您不仅需要知道pkg-name1的依赖关系,还要了解它们的依赖关系……然后您可以下载软件包(系统中尚未安装的软件包)。