I am a six-month-old Gentoo user now! Six month ago, I posted about being a newbie of Gentoo. Now I could say I am happy with my decision of switching from Fedora. Please note that Fedora is a great distribution, I personally think Fedora is better than most of distributionsUbuntu included.

If you know of Gentoo a little more, you should know that its a source-based management, you install packages (applications) by compiling source code with Gentoo package management program, Portage. It sounds scary whether if you have experience to tar xf program-x.y.z.tar.gz && cd program* && ./configure && make && make install or not. Of course, you wouldnt have to run the command but just run emerge <package> to compile and to install it. The Gentoo developers have taken care of that for you.

However, at beginning, the effort of using Portage is not as easy as other binary package management distributions. You need to understand your system more and to configure how you want the package being compiled as you do manually. You need to set up /etc/make.conf, which has C(XX)FLAGS, etc. This leads a common discussion: Does -O3 helps in program execution speed? Go google it.

You would also need to edit /etc/portage/packages.*, because sometimes you need unstable packages or you need to specify per package USE flags.

Like other binary package management, you would encounter problems sometimes. Most of them are failure to compile, I had few times. Google gentoo bugs package_name version to see if its already been reported and also check Gentoo Forums. Sometimes, you resync after, it will be resolved.

How about GCC upgrade? I had done twice and met no problems, one right after I installed Gentoo 4.1.X to 4.3.X, few days ago, 4.3.X to 4.3.4. You only need to follow the manual. If you want to do something, just google. The only drawback of Gentoo that I could think of is compiling time. The last GCC upgrade took me 21 hours to rebuild system + world. Well, its a trade-off. If every six month to do whole system rebuild, I could accept that.

For some really big package like OO.o or Chromium browser, you could emerge the binary package. Yes, Gentoo provides some binary package, try to append -bin after package name. When I first time to compile Firefox on Fedora, I thought its a big app. Once you tried OO.o or Chromium, well, you will see whats really called Big app.

About my environment, XDM > Fluxbox. I dont use GNOME or KDE months before I switched to Gentoo. The only few major GUI apps are Firefox, GIMP, GnuCash, VNCViewer, and OO.o. Firefox runs most of time on my system.

I use Midnight Command to manage files, MPD + ncmpcpp to play music, conky to monitor my system, VIM to edit files, BashPad to launch programs, xrandr to manage dual-monitor, and some self-made scripts to help myself.

I think one of major point of using Gentoo is USE flag, if you have compile a program, you would have known that ./configure --help tells about what kind of features that you can enable or disable. The binary management distributions would probably enable all because they have to meet all of users needs, therefore, the compiled result would have lots of things you would never need to use or you have no idea there is a such feature. For example, the mplayer,

> emerge -pv mplayer

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild   R   ] media-video/mplayer-1.0_rc4_p20090919-r2  USE="X a52 aac alsa ass cddb cdio dirac dts dv dvd dvdnav enca encode faac faad gif gmplayer iconv jpeg live lzo mmx mp2 mp3 network opengl osdmenu png quicktime rar real rtc schroedinger sdl shm speex sse sse2 ssse3 theora tremor truetype unicode v4l v4l2 vorbis x264 xinerama xscreensaver xv xvid -3dnow -3dnowext -aalib (-altivec) -bidi -bindist -bl -cdparanoia -cpudetection -custom-cpuopts -debug -dga -directfb -doc -dvb -dxr3 -esd -fbcon -ftp -ggi -ipv6 -jack -joystick -ladspa -libcaca -lirc -mad -md5sum -mmxext -mng -nas -nut -openal -opencore-amr -oss -pnm -pulseaudio -pvr -radio -samba (-svga) -teletext -tga -vdpau (-vidix) (-win32codecs) -xanim -xvmc -zoran" VIDEO_CARDS="-mga -nvidia -s3virge -tdfx" 0 kB

(If you want to know what the USE flags for, just run equery u mplayer.)

With Gentoo, you could turn off those that you dont need and have a cleaner version of programs and environment. This does reduce the flexibility, but you only take time to re-emerge with new USE flags and this kind of change rather happening. It is worth if you do have time.

The other good thing about Gentoo is its tools, for example, eselect, very powerful to customize some settings. Here is a sample of what it can do for you:

> eselect
Usage: eselect

Global options:
--no-color,--no-colour    Disable coloured output

Built-in modules:
help                      Display a help message
usage                     Display a usage message
version                   Display version information

Extra modules:
bashcomp                  Manage contributed bash-completion scripts
binutils                  Manage installed versions of sys-devel/binutils
blas                      Manage installed BLAS implementations
cblas                     Manage installed CBLAS implementations
ctags                     Manage /usr/bin/ctags implementations
editor                    Manage the EDITOR environment variable
env                       Manage environment variables set in /etc/env.d/
fontconfig                Manage fontconfig /etc/fonts/conf.d/ symlinks
java-nsplugin             Manage the Java plugin for Netscape-like Browsers
java-vm                   Manage the Java system and user VM
kernel                    Manage the /usr/src/linux symlink
lapack                    Manage installed LAPACK implementations
modules                   A module for querying modules. By default, it lists all available modules
news                      Read Gentoo ("GLEP 42") news items
oodict                    Manage the configuration of dictionaries for OpenOffice.Org.
opengl                    Manage the OpenGL implementation used by your system
pager                     Manage the PAGER environment variable
profile                   Manage the /etc/make.profile symlink
python                    Manage the /usr/bin/python and python.1 man symlinks.
rc                        Manage /etc/init.d scripts in runlevels
vi                        Manage /usr/bin/vi implementations
visual                    Manage the VISUAL environment variable

Gentoo is easy to maintain if you are willing to pay time first to learn. I dont know if its still easy if you use GNOME or KDE, but I am sure it is if you use other DE or just window manager because you would know your system and each configuration better. I can do everything and even more and know better. For example, I didnt know gmplayer had ceased development when I was using Fedora, but I knew it after I emerged mplayer with gmplayer USE flag. When you emerge something, you will get some good information, it might recommend you something else or some post-emerge actions. If you use Gentoo, you will learn to read messages.

I am not a very careful user I believe, maybe just above average? I know Gentoo is perfect for me, Fedora is great for me, Arch Linux is awesome for me. But I just could stop loving using Gentoo. Its simply fantastic because I have it and control it more. Its meant to be used by you, not like some are using you.

Hail Gentoo!