create final deb file from multiple deb files
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:
- You install your God package which provides a lot packages
- One of the packages are being updated, like
libpango1.0-0
- 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):
- Create a temporary directory, e.g. "~/godpackage" and
cd
into it - Extract each .deb file using
dpkg -x filename.deb .
- Extract the control, postrm, ..., files using
dpkg --control filename.deb tmpdeb
. A new directory will be created, namedtmpdeb
. 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 - Go away from the directory:
cd ..
- Create the new debfile from
~/godpackage
and store the newly created .deb file in the current directory:dpkg-deb --build ~/godpackage .