Maker tech hub — AI · 3D print · Pi · ESP32 · plus the classic tech archive.

Free ESP32 kit · Books · Network Ninja · Archive

Classic tech archive. From the original averyjparker.com tech blog — historical context; pair with modern guides where noted. Full archive · Maker projects · Network Ninja

Classic tip · Linux

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 pa…

Written by

Avery J. Parker

IT veteran, maker educator, and author of Network Ninja, 3D Printing Mastery, and AI Workflow Mastery. Business IT: Diversified Tech Solutions.

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.