Gentoo is a great Linux distribution, it
is my personal favorite. It is very easy to cutout the extra junk
that many other Linux distros think you need. I build and work on
enterprise Linux servers for a living, and nothing is more frustrating
than to watch CUPS and ALSA getting installed on a DB2 or Oracle
database server after explicitly deselecting the option. (I'm not
trying to dog CUPS or ALSA, they're awesome...but I don't need them on
a database server)
Anyway, from an enterprise or Lan Center view, Gentoo can be difficult
to manage in large quantities.
GEMS aims to take portage's power and put it into a centrally managed
application that provides facilities for logging, collecting software
package inventory, and collecting Gentoo specific alerts.
What is GEMS?
Gems is an enterprise type management system for Gentoo Linux that
leverages the power of portage and other common open source tools.
How does it work?
One server is designated as the GEMS master. The GEMS master is a
PHP/MySQL application. The computers you wish to manage have a
GEMS endpoint installed. The GEMS master communicates with the
endpoints via socket communications, and HTTP.
What can GEMS do for me? What are the features?
- GEMS server can also be a local dist files mirror, allowing you
fetch packages with the GEMS interface
- Install packages on many computers at once with GEMS software
distribution (powered by Portage)
- Config files can be pushed with packages, reducing the need to
run etc-update
- Collect Inventory of all packages installed for all computers in
your environment
- Search the inventory by package or by computer
- Show which packages have potential GLSA warnings
- View GLSA warnings
- Browse/Search portage
- Monitor deployment status
- Collect alerts from endpoint errors and changes
GEMS is highly scalable as well. For small environments your GEMS
server can be an all in one appliance, by providing Portage rsync, dist
files mirror, and GEMS application server.
For larger environments, the Portage rsync mirror can be located on a
separate server, as well as the dist files mirror. This is all
done with the make.conf options SYNC= and GENTOO_MIRRORS=
(see the diagrams)