Gentoo

From CSLabsWiki
Revision as of 22:06, 12 December 2011 by Meshca (talk | contribs) (Added link to workshop)

Overview

Gentoo is a "meta" distribution of Linux. What differentiates it from many other distributions is that every installed program is compiled from source on the local machine. In fact, the Gentoo user can choose to compile in support for only the software he/she uses. For example, a GNOME user can deliberately compile in support for GNOME/gtk and exclude support for KDE/qt. This way, all programs are optimized specifically for the system on which they're running. Many other distributions (Debian has apt, Red Hat has RPM, etc) distribute pre-compiled binaries that are ready-to-run, but are not necessarily optimized for a specific machine or system, and may include support for programs that are not (or will never be) installed. The downside to compiling everything from source is that it becomes difficult to manage dependencies. That's why Gentoo includes a "package" system (based off of BSD's Ports system) called Portage. Each piece of software that can be installed via portage exists as an 'ebuild' in the portage tree. ebuilds contain metadata about the software (such as dependencies) and of course the source to be compiled. The portage tree can be updated by syncing it with a mirror of a more current version. Installing and maintaining a Gentoo system is a great way to learn more about Linux: its transparency aids understanding, and when it breaks you usually are forced to learn something new.

Why Gentoo is Excellent

  • Gentoo's greatest positive aspect is that you are in complete control of your system. This means that if you wanted to uninstall your compiler, or bash, or the man pages, you could do so.
  • Since the portage tree is updated incrementally, once you have a Gentoo system up and running, as long as you keep up to date with the latest portage tree, you never have to install the next "version".
  • Gentoo installations tend to be lightweight. Of course, this depends heavily upon the configuration.
  • Going along with the first point, a Gentoo configuration is by design easy to modify. A high level of control demands tools to ease administration tasks. Also see the next point.
  • Portage is awesome.

Why Gentoo is not so Excellent

  • With great power comes great responsibility. It is easy to mess things up. Badly.
  • Sometimes updating some ebuilds can break other ebuilds. This is most common when upgrading major components (X Windows, for example). The fix isn't always quick and easy.
  • Software available in the portage tree is generally not bleeding-edge. However, it is generally stable and well-debugged.
  • The performance benefits of CFLAGS and USE flags are perhaps a bit dubious. Nowadays, there is minimal performance loss associated with precompiled binaries.

Our Workshop

Gentoo Workshop

Syncing from the COSI Mirror for fun and profit

To use Clarkson's local mirror of the latest portage tree, add the following line to your make.conf (in place of an existing server, of course):

SYNC="rsync://mirror.clarkson.edu/gentoo-portage/"