User:Maffblaster/Drafts/Gentoo Primers/The Gentoo Primer

From Gentoo Wiki
Jump to:navigation Jump to:search

When comparing Gentoo to other free and open source distributions, Gentoo is a different beast. Why? Because Gentoo is among only a few[1][2][3] actively maintained distributions that compile upstream code into packages locally, that is to say Gentoo is an entirely source-based distribution.[4]

Several distributions based on Gentoo exist as downstream efforts. These inherit many of the features of Gentoo (for better or worse!), and therefore do not count as alternate source-based distributions.

The Gentoo way

As technology advances at very fast pace, there is a tendency to make things increasingly "simple" for the end user, but add many layers of complexity to the back-end. This is typically done in a matter that removes choices from the end user. It is seen in frameworks, projects, distributions, and many other places.

Much controversy is generated in these times by the efficiency of the tools, and the need to use them without knowing exactly how they work. Someone once said ... "Man will always be better than the compiler since man can use the compiler and improve the result, but the compiler can not use man to improve the result.". The problem arises when a tool has too much control over the possible outcome, preventing the owner from taking part in the action and refining the result.

Gentoo Linux is known as a meta-distribution that is custom assembled by the end user - the system administrator. It does not prevent the end user from knowing the details on which a computer operating system is built. On the contrary, it necessitates the system administrator to configure certain small aspects in order to design an environment capable of fulfilling particular needs. A well designed tool must be able to be molded to the specific needs of situation; allowing power and precision not seen in common tools.

By way of illustration, Gentoo Linux puts the student at the feet of the master in katanas, who designs a special sword for each swordsman, and gives the pupial the power to forge particular tooling rather than limit us to use generic tools.

The power, art, and beauty of Gentoo Linux lies in the ability to take code and adapt it to the specific needs of its user. This type of adaptability and complexity require the user time and dedication to understand the details of creating programs, and at the same time immerse him in the world of technology as few tools do.

The momentum in which you discover the power of the code and the ability to change it to will is the starting point to be able to change the technology and stop being a slave of the tool. That momentum is what will encourage you to discover every little detail of Gentoo Linux and will allow you to appreciate the value of complexity, not as something to be afraid of, but as something to hold onto to in order to build even more "simple" tools.

Welcome to Gentoo Linux!

Why use Gentoo?

This question may be best answered by providing some of the common reasons to not use Gentoo.

"Gentoo is for advanced users"

It is easy to admit the Gentoo Handbook's instructions for the manual installation of Gentoo is not the fastest or the most efficient way to install an operating system. Gentoo users are presently at a disadvantage with the speed and ease of OS installation. Generally other distributions provide an installation framework that guides the system administrator through the stages of the install process. Historically, this was done through a command-line interface (such as ncurses) or through a graphical wizard (such as GTK or Qt).

To compare, the Gentoo installation is like a work of art, takes time, but once completed it is something that inherits deeply personal touch. In addition, the Gentoo Handbook make this task not only bearable but a learning experience like few in the world of open source.

The idea of a time consuming installation process is a disqualifier for certain users. For other users it is a gateway to being in maximum control of the their operating system, and for many it is among the first steps understanding how Linux is assembled, all the way down from the primary bootloader to the web browser though which this page is being read.

"I have to compile everything, every time."

The build process sounds complicated, tedious and something that only experienced hackers do. But the truth is that in Gentoo, this process is as transparent as in any other distribution, the main and only difference is that in the installation of your new Gentoo, you set up your compilation tool (Portage) to use the full potential of your CPU. And if you don't have a CPU that supports compile all your programs each time you want to update your system, you can simply use the binary versions. Once the first configuration, it is not so different as yum, apt, pacman, or any other package manager.

"I don't have time to read the documentation"

If this is the reason why you don't want to use Gentoo, in reality, you should not use anything Linux-like. The learning curve is very difficult if you do not have the motivation to learn. But if you really want to know how things work, and you're interested in getting the most out of your computer, then you can give a couple of minutes a day to read a bit of documentation because it is the only way to dominate technology.

"I'm afraid of overtaxing my computer's resources"

There are hundreds of ways to install Gentoo, and as with any other installation of Linux, it is always advisable to have a backup. In addition, there are lots of users willing to help with problems of any kind in different media, such as IRC or forums. The only thing you should be afraid of is not to give you the opportunity to learn something new.

Final thoughts

Having mentioned only some of the reasons and proven that they are not 100% accurate, it is necessary to comment that Gentoo Linux is a unique experience in its kind, and in which one is able to learn many things. It is particularly interesting to software developers since that will allow them to learn and/or consolidate their knowledge in many topics. In addition, Gentoo has many projects of different nature, in which the help is always welcome. This diversity and flexibility make Gentoo a whole world of opportunities to exploit.

Pros

Choice

Gentoo is the distribution of choice in almost every sense of the world. Developers have dubbed Gentoo a meta-distribution because of its near-unlimited adaptability[5]. It is one of the only distributions that allows the end user to choose between:

Rolling release

Gentoo Portage developers tend to be far ahead other Linux distributions on both the addition of new packages and bumping version numbers for new package releases. For those that want the fastest way to have access to the newest software packages, Gentoo is the way to go.

Instructional

One of the stronger "Pros" of Gentoo is the available documentation.

Power

Gentoo is a power-user distribution. The idiom "knowledge is power" applies directory to the Gentoo ecosystem. Because it is source based, Gentoo can readily flex and adapt to run on all major supported architectures. Including, but not limited to, alpha, amd64, arm, arm64, hppa, ia64, m68k, mips, ppc, ppc64, s390, sh, sparc, and x86 architectures. There are around 18,000 packages in the Gentoo ebuild repository. Because there is so much flexibility, especially at the per-package level, knowing exactly what is necessary for the system to operate can be difficult to determine. If, however, the user knows what they want, Gentoo makes it very convenient to quickly obtain their objectives.

Cons

Choice

When you don't know what you want, choice can be a bad thing. Gentoo is primarily limited by the knowledge of the end user. Just as those who do not understand what is going on beneath the hood of car should not probably try to repair a head gasket, those who have no prior knowledge of how Unix/Linux operating systems work should probably be careful when using Gentoo.

Manual installation

In most cases, Gentoo has to be manually installed.

Difficulty updating

Due to the nature of a rolling release development, Gentoo should to be updated regularly to apply the latest security fixes and package updates. If a Gentoo system is not updated for an extended period of time, especially after major changes in the ::gentoo ebuild repository (in the form of Profile updates, major Python interpreter updates, EAPIs deprecation, etc.), it can become difficult and time-consuming to update by hand. This is an known issue and is the reason behind the special Upgrading Gentoo article. If a system has stagnated for several years without packages updates, rather than spending time resolving all blockers to system update by hand, it may be faster to migrate a Gentoo installation to a new stage tarball base.

References

  1. https://crux.nu/
  2. https://www.gobolinux.org/
  3. https://sourcemage.org/
  4. There does exist a few exceptions for certain packages that are only available in binary format. None of which are part of Gentoo profiles by default.
  5. https://gentoo.org/get-started/about/