I've heard some packages being classified as a meta-package. So now I am left wondering what is the difference between a meta-package and a package?
These packages do not contain actual software, they simply depend on other packages to be installed.
It is important to note that removing a meta package does NOT remove the packages it installed:
when a metapackage is automatically removed by the removal or purging of any one, or more, of its underlying dependencies, all of the other packages that were in the metapackage's depends list are still installed on the system.
You can look at the structure of a typical meta package by pulling (for example) ubuntu-desktop:
apt-get source ubuntu-desktop
and then looking at the structure, you'll find the list of packages each meta-package recommends, as well as the structure of putting it all together in
Metapackages are a link to existing package or packages. So they are essentially a script that installs other packages.They keep the packages as dependencies
Eg: the package
ubuntu-desktop installs all the packages needed for the Default UI for ubuntu. But uninstalling the same doesen't uninstall its dependencies
A meta-package pulls in other packages, and by definition should not do anything else.
A package usually has some sort of content (files, applications, documentation, a script, or such).
Simply said, a meta package has nothing in it, except empty docs. The only thing it has is metadata, which means that it can have dependencies, or conflicts etc...
Metapackage is not your regular package. It is a way to always install latest packages of a software. For example on ubuntu 'emacs' metapackage always installs the latest available version of emacs.