Metapackages in Ubuntu for new system provisioning
In ubuntu/debian linux software installs, there are such things as “metapackages” which is a package that just describes what OTHER packages it “needs”. For instance in ubuntu, the kubuntu-desktop package is just such a package – when choosing it, it installs everything necessary for the kubuntu desktop/customizations to install. So, I was hit with an idea while I was apt-getting 30-40 odd packages…. everytime I “provision” a new ubuntu system I have a list of packages that I want to make sure are installed, why don’t I just create a single metapackage and be done with it to make life simpler…. But how could I do this?
This article has the essentials…. make an empty directory structure….
mkdir -p package/DEBIAN
and create a control file….. *(single text file, named control in the DEBIAN folder)
example from above site…
Package: iandefors-metapackage
Essential: no
Priority: extra
Section: metapackages
Maintainer: Ian Defor
Architecture: i386
Version: 1
Depends: abiword, gnumeric, xchat-gnome
Description: Iandefor’s Metapackage
Iandefor’s preferred packages
Customized of course to your preference….
And then dpkg-deb -b package name.deb
It might be worthwhile to break your metapackages up into a couple of “thought” groups… internet / multimedia /etc… but if you’ve got several systems and want to make sure you quickly and easily install the same software on each this could be a good shortcut for you.