Gentoo is a Linux distribution with an extreme focus on flexibility and customization, right down to the kernel. For other most popular Linux distributions, please visit our dedicated Linux download page.
When I hear about Linux distros that really leave a lot of control up to the user, usually Arch Linux makes its way into the conversation, and maybe Slackware as a more extreme example. But Gentoo definitely takes it a step further, as the user must compile the kernel itself as part of the installation process.
It’s an advanced process, but Gentoo developers also make it a bit easier with the “genkernel” utility, which can help you compile the kernel in a few short commands. Advanced Linux users can still take as much time as they like to strip the kernel of components they deem unnecessary, or adding in those that they want on their system. This attribute makes Gentoo a modular operating system by design. Each user can customize their out of box experience, making Gentoo highly adaptable.
Choosing what goes into your kernel will lead to a very speedy system with a small RAM footprint. Back when Gentoo premiered in 2000, this was a very enticing feature. These days, with current hardware advancements, most Linux users will probably prefer the GUI installers and precompiled kernels that have become standard in the most common distros. However, Linux veterans that have a passion for tinkering will get their fill of it with Gentoo, and that’s really the target audience.
So, Gentoo is a good way to get your nerd fix, but it also works well for specialized servers. For example, if you are running a database server, you could exclude unrelated components from the kernel. This will give you the speediest system possible, and it will have a smaller chance of encountering problems. This is particularly useful on servers with limited hardware specs.
Granular control remains present after you get Gentoo up and running. It uses the Portage package manager (invoked with the
emerge command) and
USE flags to optionally exclude components from the system. For example, you can install the SeaMonkey web browser, without the PulseAudio component, with the follow command.
# USE="-pulseaudio" emerge www-client/seamonkey
Such flags are also possible to set globally, which helps to ensure that certain components never find their way onto your system. PulseAudio and systemd, among others, are popular components that users like to exclude. It’s also worth mentioning that Google bases their Chrome OS off of Gentoo.