Seems as my interests wander I find the need to install loads of packages for temporary tasks, once accomplished I want to remove them. Unfortunately, I don't keep track of the packages and as a result start a-fresh periodically.
I do it often enough that it doesn't take too much time. Much of it is just the identification and reinstallation of packages I regularly use.
Authoring a system installation package that identifies all my essential packages as a dependency seems as it would minimize this effort dramatically. Since packages can define dependencies and installing it can auto-resolve and install the required dependencies seems like if we authored a faux package with dependencies on the packages I want installed we'd be right on mark.
Let's start;
Start by creating a directory.
$ mkdir ~/myPackage
Next, create the necessary control file which will identify the dependencies.
$ mkdir ~/myPackage/DEBIAN
$ edit ~/myPackage/DEBIAN/control
Populate ~/myPackage/DEBIAN/control with the following:
Package: MyPackage
Version: 1.0
Section: web
Priority: optional
Architecture: all
Essential: no
Depends: gnuplot, tcl
Pre-Depends: gnuplot
Recommends:
Suggests:
Installed-Size: 1024
Maintainer: Joe Brockmeier [jzb@dissociatedpress.net]
Conflicts: wile-e-coyote
Replaces: sam-sheepdog
Provides: acme
Description: The description can contain free-form text
describing the function of the program, what
kind of features it has, and so on.
Pay special attention to the Depends: field, it's populated with tcl and gnuplot. That means, when we install this package we ask that these dependencies are installed as well.
Next, create the package by executing the following command:
$ dpkg -b ~/myPackage /tmp/myPackage.deb
All set, now just install the package as root and you'll achieve an indirect installation of the dependencies.
# gdebi /tmp/myPackage.deb
Cheers.