- Why I Use Gentoo Linux
- (Not) Why I Use Gentoo: Optimization
- (Not) Why I Use Gentoo: USE Flags
- (Not) Why I Use Gentoo: Learning about Linux
- Why I Use Gentoo: Rolling Releases
- Why I Use Gentoo: Simple Package Management
- Why I Use Gentoo: Unused Dependency Removal
- Why I Use Gentoo: Configuration File Management
- Why I Use Gentoo: Development Environment
- Why I Use Gentoo: Conclusion
Regardless of which distribution you’re using, one situation seems to come up for everyone eventually: discovering that the official repositories either lack a package you want to install or that the version available is out of date. When this happens, it’s left to you, the intrepid end-user, to find a way to install that deeply coveted package.
One approach is to scour the internet for a third-party package. With Ubuntu and its relatively recent introduction of PPAs, this has actually become a relatively productive path. As time goes on, finding packages on Linux has become increasingly easy, even if they’re not in the official repositories.
If this fails, however, the only remaining option is to create a package yourself. One of the reasons I like Gentoo is that its version of this process can be ridiculously simple. The hardest part is creating your local overlay. Once this is done, bumping the version of a package is often as simple as renaming the file and reinstalling the package.
Gentoo installs packages by following the directions in files called ebuilds. Ebuild syntax is relatively simple, and for packages with standard build systems, creating an appropriate ebuild is very easy. As a result, even adding new packages to your system (or patching existing ones) need not be frustrating. Installing a package from your local overlay is exactly the same as installing one from an official repository. All packages are first-class citizens on Gentoo.
With many other distributions, it’s certainly possible to build your own packages, but it certainly has a second-class citizen flavor. Arch has its PKGBUILD system, and Debian has excellent tools for creating .deb packages. Nonetheless, Gentoo’s system seems simplest and the most integrated, but perhaps it’s merely my biased experience talking.
As time has passed and finding packages (from both the official repositories and third-parties) has become easier, this reason has become less relevant. Nonetheless, I still find myself maintaining a small local overlay, and Gentoo’s flexibility in this area is one reason I’ve chosen it as my primary distribution.