Search This Blog

Monday, November 17, 2014

What s so special about Gentoo?

What is so special about Gentoo ?


Well, Like I have already said I use Gentoo for my own reasons. Today I am going to share with you the reasons because I which I use Gentoo. Gentoo is a GNU/Linux distribution which is not for everyone, reason is simple it is source based and is too difficult to install. I mean if you are new to Linux Gentoo is definitely not for you.

If you have spent some time in Linux world and are comfortable using the Terminal and command, you will find Gentoo a bit less intimidating. In my eyes Gentoo Stands for freedom. Out of all GNU/Linux distributions Gentoo is most flexible. It has some great tools for managing the system. The package manager is very powerful. The documentation is great, Live Chat support is fantastic. Forums have solution to more than 90% of all issues.


In my opinion at the heart of all Linux Distributions is the same Linux Kernel. That would be so true if we all downloaded the kernel directly from the Kernel.org website. That is however not true, each and every distribution does some or other tweak to the Vanilla Kernel to suit their needs. So every distribution ships the kernel with a few tweaks. This is true of Gentoo as well and I must say that after sing Gentoo for a long time now, the kernel they ship for the desktop is great. They also have hardened kernel which has some more tweaks to make it even more secure.Like I said, in my eyes Gentoo stands for the ultimate freedom and choice. Gentoo is the name of the fastest Penguin in the world. This kind of implies the message, Gentoo aims to be fast and responsive which it is indeed.

Gentoo is a source based distribution

Gentoo is a source based distribution. This means that every single program you install and use on a Gentoo system is to be compiled on your on System and you have the freedom to see the source code and not only that you can modify every single feature of the Program, Courtesy of the USE flags. Source code is the default way of distributing Open Source software. If you go to kernel.org and download the recent version of Linux Kernel from there, you will see that you do not get an executable, you rather get the source code,you could use any text editor to view the source code and understand it if you know C.

Gentoo has a very powerful package management framework called as Portage, Portage tree contains the software packaged by Gentoo Developers. When I mean packaged, i mean arranged in a specific format called a Ebuild which the package manager can understand. This is still source code form not binary.The command used to install a program in Gentoo is EMERGE.

Emerge is Gentoo's way of calling the compiler after downloading the source code in the form of Ebuilds and reading the various configuration files which could be used to alter the program at compile time. For example, I installing PlayonLinux It failed compile and I was not able to find a clue to it. It was failing because gtk-vnc was missing the python USE flag. I tried everything I found on the Internet, nothing worked. So I joined the GENTOO-PYTHON chat room on IRC. The guys over there actually told me what was happening. I enabled the Python USE flag for gtk-vnc and I was able to Install POL fine. This is just an example how Gentoo allows to change package features while compiling.

Since Gentoo compiles everything from source code one need to understand various aspects of compile from source, that is where the Gentoo documentation is really helpful. If one follows the documentation Gentoo can become easy. The freedom is not restricted to packages only, Gentoo does not even provide you with a pre-compiled kernel.

Gentoo makes you compile your kernel.

Gentoo provides you the ultimate freedom to understand the Linux Kernel and its source. You need to compile your kernel by hand and you have the freedom to see the various features of the kernel and select the one's applicable to your hardware. You can also see the support for various hardware in the Kernel. You get to choose according to your Hardware. Choosing selective options make the kernel compile times less. We can how Linux Kernel is adding support for different hardware with every release. You also get to understand how the Kernel actually handles the hardware and the corresponding support module.  In short Gentoo by providing the Kernel in source code literally teaches you about the inner working of the Kernel.
You also have the option of using genkernel tool which actually compiles most of the modules and support for most of the hardware whether or not you have it. It takes more time however you can still still take a look at the source code.

Gentoo has great system tools.

Gentoo not only is the definition of ultimate freedom, it also has a great set of tools called as GENTOOLKIT. Gentoolkit, it provides a set of great tools like "equery" revdep-rebuild etc.. which can make upgrading and manging Gentoo a breeze. It there is any kind of package issues after upgrade these tools can be a life saver.

Another great tool is the ESELECT tool, This tool is very helpful while changing versions among the Gentoo kernels, Or Graphics drivers, Python etc.... Just amazing at the time of making changes to  the import system  components like Python.

Gentoo is a rolling release distribution.

Gentoo is a 100% rolling release distribution. Gentoo has no fixed release schedule as it is a rolling release distribution. Packages are updated to new versions and you get them as updates. Gentoo is not as cutting as as ARCH, consequently it is relatively stable and has less breakages. This comes at a price. Gentoo maintains two branches. 


Stable:- This branch has the software which the Gentoo developers think of as stable. That is why the packages in this branch are not updated too frequently. This branch rolls at a slower rate and most people might run this for stability as it is tried and tested most bugs squashed and things are pretty stable.

Testing:- This branch has the most up to date software. This has all the new software which lands into Gentoo Repositories. This software is new, however still not 100 % following the upstream projects. There is a delay of a few weeks to let the software settle down a little bit. Most software is up to date however it is not as cutting edge as Arch Linux testing branch. However Gentoo is the first receive the Updates to KDE Desktop. I checked today Arch Linux is still at KDE 14.4.2 where as I am compiling 14.4.3 right now. Not sure it is just a first time, however it is my general experience that KDE packages are the most up to date on Gentoo.

One cane easily mix and match the branches as per need however caution is required. i have installed the Base system from the Stable branch however I want latest apps so I have all my Applications and the Desktop environment from the Testing Branch and my System is quite stable overall.

Last but not the least, Gentoo is a time consuming endeavor  and may not be fit for the common folk or new users. However if you can follow instructions and have spend a year at least on some other distribution you may attempt an install even if only in Virtualbox,  It will be a rewarding experience. It will only end up adding to your existing knowledge of Linux. So if you are an advanced Linux user please go ahead and take it for a spin.