Why I Still Choose Gentoo
emergelinux.tumblr.com
emergelinux.tumblr.com
These all seem downright odd as benefits.
> Finally, the control over your kernel configuration is a huge selling point
WHY? Why is this a huge selling point? Why would I, the OS user, care if the kernel is tiny and tailored? What does it materially change when I use the computer?
I guess my reasons for picking an OS are just too different. I prefer something that lets me do all the things I sat down at a computer to do. Ideally, I wouldn't even know what OS I was using.
I don't mean to demean the users of Gentoo. Especially if there's a joy to it - if you enjoy configuring kernel-level stuff, distribution hacking - that's great. All that power to you, and Gentoo looks like a good fit. But defending it with these kinds of points just seems tired and strange.
Even though it took hours for a kernel to compile (as opposed to mere minutes now), it was worth it. At the time, having the absolute latest and greatest kernel was truly a necessity, depending on your hardware. Besides, one could fire off the compilation process before she went to bed for the night so it's not as if you sat around watching the scrolling text and watching for the build to finish.
The effects of building my own kernels were noticeable. If I simply included everything and the kitchen sink -- like today's distribution-provided kernels do -- it's quite possible that my machine might not have successfully booted up after I installed the new kernel, updated my symlinks, and re-ran LILO.
Every time I ran "make menuconfig", "do I compile 'x' into the kernel or as a module?" is a question I had to ask myself over and over again. Deciding wrong quite possibly meant wasting several hours worth of my time.
Today? I'm typing this on a laptop with eight 2.7 GHz cores, 32 GIGABYTES of RAM and a terabyte of storage (roughly 8,000 times as much RAM and storage as that old PC and somewhere in the neighborhood of 5,000 times the amount of processing power).
I cannot remember the last time that I configured and built a kernel by hand. The optimizations that were once so critical are now a thing of the very, very distant past.
My motivation was very much similar to why I switched from Textmate to VIM. I hit a wall in terms of how powerful and efficient I could be with Textmate. Wheras I knew I could become equally productive in VIM within a few months and in return I would have a seemingly endless opportunity to improve my toolset in the future.
The majority of people need optimized prepackaged software - agreed - but for someone who has spent the majority of their life on a computer, via hobby and now work, the context has shifted from "I just need it to work" to making a long-term investment in my tools to maximize productivity and enjoyment of the time spent on the machine.
Main selling point is: no matter what you tweak, it _will_ work and it will work as you expected it to.
I want to hear all of it!
Thanks.
Sublime Text 3 is a great editor on its own, and while I do have packages and plugins installed, I believe new users should take the time to familiarize themselves with the editor before bloathing it with whatever X blog post says.
As to ST vs VIM, I used to use Vim, I still use it everyday. ST has a much nicer GUI than MacVim or GVim... and the stuff I used to do in Vim, I can do just as well in ST with Vi-mode.
Now if only ST3 was not proprietary software.
For me, the more I use computers for work, the more stuff I build, GUIs start to be too much in my way. I just need to learn the editor keys and window manager keys to the spine. I don't want nags from my OS to update something, some windows to float wherever they decided this time or some weird services running which I don't know they exist.
Total control on what you own. That seems to be my goal as I get older and more proficient.
* * *
I'm not implying that Vim mode is the same as Vim, it's not, not at all. But function-wise, I find most of what _I need_ right back into ST.
Also, Vim doesn't quite have multi-cursor the way ST has it. I'm sure Vim has a plugin that does it, but then you have to install it manually or with Pathogen or Vundle - Sublime's Package Manager works way better in that case.
The reason I favor a GUI over Vim's terminalish interface is that in Vim, everything has the same height and width: a char size. In Sublime, I can set my desktop manager to draw menus and stuff in super small points and keep the font of my code in a bigger point. The separator between two editor windows doesn't occupy a whole character width for itself. The status bar at the bottom as well. The autocompletion feature doesn't occupy an arbitrary character-sized space.
Fuzzy search in Sublime is great. ST3 comes with `Goto Definition` which works great too, especially when you tell Sublime what you consider being your project.
It's configurable in Python and JSON, which I find to be more readable than Vimscript and Elisp.
Its fancy design calms my need for artistic beauty, as non-hacker as this might sound. I like that it looks great.
Finally, I write a lot of Go and GoSublime is just a killer plugin.
For beauty, I really love my Solarized desktop. It's functional, the colours are nice and I know exactly where is my editor, my browser and my test terminals.
https://www.dropbox.com/s/b99hli11lklmf00/desktop.png
So, coming from the Mac OS X world, I started to see the real beauty of my engineering desktop. And of course all the configs are in Github.
Why? Those are the points that are important to him. The set of points that are important to you are likely non-intersecting. You say you're trying not to demean Gentoo users, but it sure comes off like that.
It was a cool article and I learned new things about Gentoo and what makes it appealing to its users. It just sucks to see people put that down (by calling it odd/strange/tired/etc) because it doesn't conform to what they value out of their OS.
Gentoo installs can be very snappy on old hardware, I ran it for a while on an old AMD Athlon and it booted faster and felt way more responsive than much newer machines running Vista etc.
Of course it's not as quick to install and get to a desktop than say Ubuntu, but it isn't really trying to be. Having said that it's really not all that hard, if you've used Linux before and can follow an instruction manual you will be up and going in an hour or two depending on how fast your computer can compile the code.
It's also rolling release, so you don't have to worry about doing big distribution upgrades. You can keep a gentoo install rolling away for years quite happily.
One day a few years ago I thought I'd throw it on my laptop. Biiig mistake. As an end-user I'm perfectly happy using a binary distro like Fedora. Storage is cheap and I've got lots of memory. System load is typically rather low so I just don't need the kind of performance optimizations that gentoo can provide.
As a server OS? I'd strongly consider Gentoo. As a desk/laptop OS? Hell naw.
Each to their own.
The problem with Gentoo is that it just doesn't have an active enough development community to keep up with that task in the way that Fedora, Ubuntu, Debian, or even arch can... so you're stuck doing a lot of stuff yourself, or using old software that you wouldn't be otherwise. Important bug fixes get left marked unstable forever, etc.
I think this is really unfortunate because Gentoo does better capture the inherent advantages in running an open source operating system.
As an upstream developer, I've found that Gentoo users seem to pretty much the only GNU/Linux users who send _patches_ with their bug reports— even more so than the _packagers_ of other distributions. It's especially remarkable when you consider how many more users these other systems have. I don't believe that it's just because Gentoo attracts the geekiest of the geeky, it's because the distribution inherently gives all the users the tools to contribute back and makes them take some of the startup costs, empowering them to contribute.
I wish all distributions were more like gentoo. Innovations in other areas are also important, but there is something to be said about recognizing what makes your system uniquely good and maximizing it— rather than imitating the competitions' strengths... in contrast to what I see with the major distros copying MSFT's and Apple's Signed-everything secureboot stuff, and their bondage and discipline tablet oriented UIs.
Also, the article had some fantastic (unintentional?) references to http://funroll-loops.info/
I used Gentoo for a while thinking I cared about the system logger or cron. I don't. 99.9% of stuff can be installed with the default settings. Painting an actual racing stripe on my workstation would be a more efficient use of my time compared to the cost and any mythical benefits installing Gentoo provides.
Nothing wrong with that, that was me at one time. Of course, at the time I too swore up and down that all the time I spent maintaining my system(s) was because it was somehow really important for me to do so, and I only had a vague suspicion that it was really just me having fun learning about stuff and hacking around on all sorts of low-level things that I wouldn't get to mess around with otherwise. I still do it when I find the time but it's usually with a little more self-awareness about my motivations for doing so. :)
However -- to some, me included, maintaining an operating system environment is somewhat of a hobby. Operating systems like Gentoo provide standardized ways to configure how an application is built, and more importantly it provides ways to configure what compile-time features are (and are not) included in the binary. While most people wouldn't find the effort worth the yield, there are people who spend years of their life meticulously making a ship in a bottle. People enjoy it anyway.
Another draw to Gentoo for me is the way they handle package management. You can stick to stable, and packages will be relatively well-tested and mature, or you can choose unstable which will offer you bleeding edge packages. You can also have a stable system, and mark only a few packages unstable. Not many distributions offer a system like that. They are usually completely stable, or don't offer a way to keep most of your system stable while letting a few packages be unstable.
I've used Gentoo for a long time, and my maintenance is nearly nothing these days. Few problems arise (a new GCC version breaks a program or something), but I've actually gained enough practical knowledge to go about fixing these problems rather painlessly for the average case.
I've spent enough time on other linux distros chasing down PPAs, or trying to diagnose weird issues that it refuses to log because it might intimidate the user.
That way I know exactly what dependencies I am dealing with and what all I need to be aware of when configuring any tool.
Might not be the same, because I am in the dist kernel upgrade group.
In addition, I could save a helluva lot more money by not owning a motorcycle and driving the SUV. To me, though, it's worth every penny.
To this I say: Arch has source-based package management too! It's called makepkg, and is indispensable for long-time Arch users, as it allows you to build packages not in the official repos, or tweak the build flags of official packages.
As always, the Arch wiki has extensive documentation.
* Here are docs on makepkg https://wiki.archlinux.org/index.php/Makepkg
* Here are docs on installing unofficial packages from the Arch User Repository https://wiki.archlinux.org/index.php/AUR
* Here are instructions on installing custom versions of official packages from source using ABS (https://wiki.archlinux.org/index.php/ABS)
However, I disagree with the author suggesting Gentoo is anything near Linux from Scratch (LFS). A base 'stage3' (initial filesystem) image for Gentoo is quite large these days (~170MB compressed) and includes python, perl, bash, etc. (Squashfs with busybox and a kernel is a base Linux system!)
Like any project, Gentoo's not perfect and has its issues. While I personally prefer it to others, I also see the value in other systems for people with different goals (such as reasonably automated security updates, strong commercial support, etc.). As always, right tool for the job.
1. "but users of binary package management still install extra support for things they may never use."
2. Custom kernel with only what you need
3. "Even menial things such as choice of system logger and cron daemon can be chosen and configured exactly the way you want"
Why are those meaningful advantages? For example, if it makes my computer run faster, great, but does it? (I doubt it.)
Most of the other stuff is just giving major props to Portage... I mean yeah, I'm sure the "revdep-rebuild function" is great, but since I'm using a binary distro, I don't need it!
3 is also a feature of Arch. The problem is now you have to spend time setting that stuff up. More problematic is you have to actually know you need to set something up. Did you remember/bother to tweak, your ssd settings in fstab? Setup OpenAL for 3d sound? Your HDD IO schedular? Your TCP buffer settings? Your font renderers antialiasing? All that crap sould be taken care of (although admitidly distros don't seem to do things like setup SSD schedulers to deadline/nop.
1 seems a be redonculious. There is very little reason to really worry about having a few extra packages lying around as long as there not running stuff in the background. I think it's more for people with a case of OCD about their file system.
... not that I could really run Gentoo on that either though.
I use Arch too, and no, I didn't think to do that. Thanks!
Portage is my favorite package manager, but it's not without its problems. I occasionally get frustrated by dependency conflicts. One thing I think the submission should have mentioned is the `eix` tool, which is to Portage's `emerge` as `slocate` is to `find`. It's a much better experience for finding out what packages are available or a description of a package.
Another feature I like about Gentoo is 'rolling releases'. I don't ever have to do a dist-upgrade, I just update the packages I want to update when they have updates. And I'm still happily using gnome2.
Some people are offended by the installation process. I think that's a good enough litmus-test for whether they would enjoy Gentoo or not.
The major one was packages never being marked as stable. There was a file you could add packages to in order to allow unstable versions, but it just kept getting longer and longer. If I wanted long term stability, I'd use Debian. For desktops and workstations, I expect things to be "fresh" where each distro has their own tastes for fresh, but certainly measured in months. (I switched to Ubuntu because I knew I'd get fresh Gnome, at a time when there were good system enhancements like NetworkManager.)
A quick check on http://packages.gentoo.org shows that no version of Gnome 3 appears to be marked stable. For the software package I am an author of, the most recent version marked stable was released 13 months ago and there have been 10 releases since! LibreOffice does seem to be an up to date version, as does emacs.
One area when Gentoo shines are the docs - they are very very good. I did try Arch a while back and ended up in a maze of using the wrong one out of official and unofficial documentation.
I got the heck out of there. That being said, the founder Daniel Robbins is a nice guy and taught me a lot.
ACCEPT_KEYWORDS="~amd64"
which automatically installs "unstable" versions of packages. Unstable is pretty damn stable in my experience. Maybe not server-proof, but fine for a desktop.> The purpose of ~arch is for testing new packages added to Portage. ... The use of ~arch denotes an ebuild requires testing.
Most original developers don't release broken packages so in general new versions tend to be stable.
This covers the moving from ~arch to arch: http://www.gentoo.org/proj/en/devrel/handbook/handbook.xml?p...
The guideline there is about a month and no outstanding bug reports. That would be perfect, but unfortunately packages lag because it is easier for the maintainer to not mark them stable. It has probably been discussed before, but the inertia being towards things going stable with inaction rather than the other way around would help.
This whole post could have been sarcasm. I know it isn't, but, this is exactly what I never ever want from the computer I use for daily tasks. I just want it to work.
Portage is brilliant, and *BSD would benefit heavily from it, but at the time it just wasn't production ready. Too bad the GentooBSD project has been dead in the water for a few years.
I wrote a guide years ago on setting up a Stage 1 install[1], it's heavily out of date but may provide an insight into how things on the Gentoo side have changed over the years.
An interesting fork-ish project is Exherbo, which is basically Gentoo but much lighter (in architecture, not performance really), cleaner (in my opinion) and modern.
It's not for everyone, but if Gentoo tickled your fancy but you found it a bit old-feeling, give Exherbo a shot!
Full disclosure: I have absolutely no connection with Exherbo or its maintainers.
Instead, I booted with a BSD kernel having an embedded root filesystem and proceeded to rescue the disk.
This is why I often can't take Gentoo users seriously. Some certainly know what they're doing (Google built their systems from Gentoo, didn't they?). But too many others only think they do.
Is hellbanning automated, or is it the work of human judgment? Perhaps it is a technical issue that results in [dead] comments?
There's also Funtoo (http://funtoo.org) out there, which is maintained by the creator of Gentoo (Daniel Robbins). It has a couple of neat features like a git-based portage tree, for example.
I really like the ports system, and from what I've heard, Portage is based on the FreeBSD ports system.
Sounds great.