9

I have a packages deb file with all dependencies deb file.

Is it possible to create a final deb file (one file) using all. Say for example firefox.deb has 10 dependencies in another .deb file. So there is an order to install all the dependencies then afterwards firefox.deb. May I create a fullFirefox.deb file which automatically maintain everything ? I do not have the source, just the deb files.

Zanna
  • 72,312
shantanu
  • 8,835

1 Answers1

8

It is possible, but you'll likely run in several issues. First, each package has it's own pre- and post-installation scripts and dependencies in the control file. Even if you make a package provide the contained packages using the Provides field, future upgrades may ruin your God package:

  1. You install your God package which provides a lot packages
  2. One of the packages are being updated, like libpango1.0-0
  3. If you upgrade that package, your God package will be removed. If there are any dependencies on it, apt-get has an unresolvable conflict.

So, it's better not to create a God package, but install each package separately. If you need to install software offline, see How can I install software or packages without Internet (offline)?

How to create a God package (not recommended):

  1. Create a temporary directory, e.g. "~/godpackage" and cd into it
  2. Extract each .deb file using dpkg -x filename.deb .
  3. Extract the control, postrm, ..., files using dpkg --control filename.deb tmpdeb. A new directory will be created, named tmpdeb. Adjust the control files like changing the name to avoid conflicts later. When done, move / merge the tmpdeb directory with the DEBIAN directory (create if needed). Repeat it for each deb file
  4. Go away from the directory: cd ..
  5. Create the new debfile from ~/godpackage and store the newly created .deb file in the current directory: dpkg-deb --build ~/godpackage .
Lekensteyn
  • 178,446