When installing Ubuntu Core 13.10 according to the instructions at wiki.ubuntu.com/Core/InstallationExample, step 5 says that Ubuntu 12.04 "Precise Pangolin" development kernel requires the 'wireless-crda' package. This wiki suggest to have a look at packages.ubuntu.com. However the precise/linux-image-3.8.0-37-generic page doesn't even mention the 'wireless-crda' package at all.

After reading the Ask Ubuntu articles for 'download +kernel +packages +deb', '"depends on" +kernel +packages', 'wireless-crda' and "How to automatically fetch missing dependencies when installing software from .deb?" I still don't know how to figure out all dependent packages.


The answers from How can I check dependency list for a deb package

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

doesn't output a 'wireless-crda' dependency:

Reverse Depends: 
  linux-signed-image-3.11.0-18-generic,linux-image-3.11.0-18-generic 3.11.0-18.32
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)) 
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

also doesn't output a 'wireless-crda' dependency:

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

When installing the kernel through apt-get install linux-{headers,image}-generic there is a depending 'wireless-crda' package.


How to find out - before actually installing the Ubuntu kernel .deb file - all dependent packages that need to be installed?


You can have a look packages.ubuntu.com. The apt-get install linux-{headers,image}-generic command installs two packages:

  1. linux-headers-generic
  2. linux-image-generic

1. linux-headers-generic

depends on linux-headers-3.11.0-18-generic, which depends on:

  1. libc6, which depends on libgcc1
  2. linux-headers-3.11.0-18, which depends on coreutils

2. linux-image-generic

depends on:

  1. linux-firmware
  2. linux-image-3.11.0-18-generic
  3. linux-image-extra-3.11.0-18-generic

2.2. linux-image-3.11.0-18-generic

depends on:

  1. dpkg
  2. initramfs-tools
  3. module-init-tools

2.3. linux-image-extra-3.11.0-18-generic

depends on:

  1. crda or wireless-crda
  2. linux-image-3.11.0-18-generic

And there you have found how the kernel .deb file is depending upon wireless-crda.


With apt-cache showpkg pkg-name1 or dpkg -I pkg-name1_version.deb you can get the list of the dependencies for the pkg-name1. But one of the dependency package to pkg-name1 say pkg-name2 may depend on some other package pkg-name3 and so on.

So you'll need to not only know the pkg-name1's dependencies but also for their dependencies' dependencies ... ... and then you can download the packages (that are not already installed in your system.)

  • 1
    So with neither apt-cache nor dpkg there is an option to output a walk down of all dependencies, including the dependencies of dependant packages (dependency walker), which are not already met (=installed)? – Pro Backup Mar 12 '14 at 10:06
  • Just an idea - a possible way would be creating a script to generate the entire dependency walker list with apt-cache and filter out those packages with an installed state as indicated by apt-get. (but again that would be too much to ask from me..) – precise Mar 12 '14 at 10:19

Not the answer you're looking for? Browse other questions tagged or ask your own question.