Friday, November 30, 2012

My Gentoo and Arch Linux fight

Arch Linux has always been my mother distro, I love the "bleeding edge" part where I don't need to re-install Arch because of a new version (Fedora/Ubuntu), even though you can still upgrade it from your current version in Fedora/Ubuntu you will still need to upgrade it and maybe break some packages because of the upgrade.
Since Arch is a rolling-release you just need to update the system every 3/4 days and you have the newest software.

Though rolling-releases distros also have their cons, one of them which affected me most was the fact that Python 2.7 was gone from being default on Arch and Python 3.3 took his place. This was a quick decision, since Python 2.7/Python 2.6 was the default in many distros for many years and still are.
The problem here is since I write Python codes for the company I work at and for myself, this breaks compatibility with the default Python 3 on Arch (a few libraries and others), so or I change the code, or I run python2 scriptname.py which is pretty annoying.

While searching for a distro that fits me, I found Gentoo, though Gentoo is a pain in the ass to install, the end results are great, Gentoo let's you add whatever Python you want as default (in my case, Python 2.7), and the most important of Gentoo; it's compiled by source. Though compiling from source can take a long time, and I mean a long time, it's worth it! It took me at least 2 days to have a full stable system up and running.
Gentoo's wiki is not as strong as Arch Linux, but their IRC support and forums are great, Arch has this great wiki, but when you ask something on IRC you usually get a very rude answer, Gentoo was different, there are some really bad-ass guys there!

Arch Linux is famous to install "what you ask and nothing more", but after my experience with Gentoo I have a different opinion, since Arch installs binary packages, it has to make sure it has everything so it will work on the computer you are working at, with Gentoo, you need to know exactly what your wills are and what computer you are working on, so you can tell Gentoo exactly what you want, what dependencies you want and you don't want by using the USE flag.

Talking about the Kernel, Gentoo was the first distro that literally made me compile and configure my own kernel for my own needs, which is something I have never done in Arch (though you can) but I enjoyed it, playing with your kernel can be a bit of a headache, though it's worth it, since you install only the modules and etc you want and nothing more!

Arch uses systemd as default service management, which it wasn't bad as I thought it would be, but I like that Gentoo kept the default BSD style, which makes things more easier, migrating from one service management to another just because you have to is a bit out of this world and time consuming.

Both pacman and emerge do a great job as packager managers, though I was really impressed with emerge because it's written in Bash and Python, and is great to know that Python is being used as a package manager for such a great distro. What did catch my attention is since emerge compiles everything from source, the computer (sometimes) becomes slower when installing something big and my system resources goes up, but there are configurations for this written in the wiki.
Personally I prefer emerge because it gave me the possibility to use it whenever another process of emerge was being used, so you could emerge something on PID 1234 and at the same time you could run another one on PID 1245 for example!

For those that are willing to install Gentoo and have it as a mother distro, I totally recommend it, make sure to follow their installation guide which is great and you will have a up and running distro.

UPDATE I:

I am no longer using Gentoo anymore, I got a lot of segmentation faults while compiling and I lost my patience for it.
I moved to Debian Wheezy and I had the same problems, I was catching a lot of Segmentation Faults in Chromium and Apt-get, later I found out I had 33 memory errors, so I changed the my Ram and re-installed Debian, everything seems to be working perfect.
Though I was never a big fan of Debian (due too much stability and old software), I am slowly changing my mind.
On my laptop I am still using Arch Linux ;-).

UPDATE II:

I am no longer using Arch Linux on my laptop, I bought myself a Macbook Pro 15 inch. I am able to run all my Linux software on it using homebrew and macports.
I can say I am pretty happy with it, though I will set up a dual boot with Arch Linux on it when I have more time.

6 gave their thought(s):

Anonymous said...

What hacks???

Add this to make.conf

PORTAGE_NICENESS=20
PORTAGE_IONICE="ionice -c 3 -p \${PID}"

modify to taste, if you want to know more then see:

man make.conf

Benjamin Mezger said...

Yeps, I meant configuration and not hacks, thanks for mentioning.

I have done this already, cheers anyway.

Tomáš Krtek-Thiemel said...

Hi,
I just want to express my depression with new Archlinux (with systemd). I LOVED Arch as it had good and lucid installation guide. But now with systemd with unclear installation guide its simply pain in the ass. Arch has died :( I'm soooo sorry. After two happiest years I'm switching back to Gentoo... :'(

Benjamin Mezger said...

@Tomáš , Yeps, I agree, though I still have Arch on my laptop I am soon planning to move back to Gentoo, just a bit out of time for this. I am running Gentoo on my server @home, which I must say, I couldn't be more happier. Good to know more peeps agree, hopefully Arch will do something about it(?).

Anonymous said...

Gentoo is great, so is Arch Linux.

Running two instances of emerge is not recommend, I believe. Bad things can happen.

To run a program in Python 2, set the first line of the main Python file to:
#!/usr/bin/env python2

This is mentioned in the official Python documentation. Having Python 3 as the default is not a good reason to change distro, in my opinion.

Anonymous said...

I don't know about all the complaints on the Arch install guides. I tried on-and-off for six months to get an Arch install to work and could never quite do it. Then on a lark I went back and tried it again last month, got it on the first time. Somewhere along the line the installation became a lot simpler; and whoever rewrote the wikis to reflect that did an awesome job simplifying the explanations.