Version 2.x introduces a new feature called Container, but what is a Container ?
A container is: a package, a virtual package, a makefile, an ebuild (gentoo) and … everything in between 🙂
When you want to use a linux distribution and you’d like to install a specific functionality (httpd server, programming language, samba, mediacenter, …) and your first concern will go to what kind of service you need to install. Then you need to try to understand what packages you need for that particular service. After a basic installation you’ll probably focus on default configuration files in order to change them and have a suitable service for your needs.
With this particular distribution I have tried to avoid big bloated packages with too many deps and I have tried to get more small packages for each single application (Gcc-symlinks are a good example), this is a benefit but exposes you to a worst effect: you need to install more packages to get your job done or to install the basic configuration.
Many distributions use virtual packages: when you install one of them you’ll have more packages installed, but again, when you finish with it you’re on your own when you decide to configure each single package to have a working service.
A container is capable of
- installing each single package (or virtual package if any)
- configure these packages for you
- create basic sample configuration files
- start required services if any
if you don’t like an existing container you can:
- get a copy of it locally (from remote repo)
- alter/modify it without special tools (like .deb configuration tools), your favorite editor is enough
- keep it locally in a special directory or store it elsewhere for future use
- if “moebius” installs a container it will look in your disk (“custom” dir) before getting a remote one with the same name, basically you can alter an official container for your special needs
- you can submit new containers to the official repository instantly
This is something you need when you execute same repetitive jobs each time on a different machine, let’s take an example: suppose you’d like to have an HTTPD server with PHP and FPM, everything ready to go. What you’ll do ?
There’s a cointaner named “lang.php.web”, this will install: NGINX (default httpd server for this distro), php wth the FPM module and each single .deb package required for them. After the basic installation this container will automatically configure nginx, php (php-fpm.conf), installs required services and sets them to have everything working in a while. After this container installation you’ll have a working httpd server with php ready to go, you’ll probably alter just the server name and nothing more.
If you upgrade moebius utility (apt-get update && apt-get install moebius) you’ll see them available