Gentoo Linux and InterWorx-CP

Are there any problems using Gentoo Linux? We are looking at this program, but the website server is Gentoo.

Thanks.

bryankiehl,

We don’t support Gentoo and there aren’t any longer term plans to do so. We may change this stance at some point but as of now there aren’t any plans for supporting it.

Chris

This might not be the best place to ask this but I will anyway: what’s the big appeal with Gentoo Linux? I see a lot of people asking for it, and more and more DCs are dropping support for it because it takes so long to install (as I understand it each software package must be manually compiled). I understand that it is extremely customizable, but I’d imagine you have to be a guru to do it, knowing exactly how each package interacts with eachother. Is the performace that much better than other distros?

[This is an honest question and i’d really appreciate people’s thoights on this.]

Gentoo is not only highly configurable, its also completly tuned to your system (since everything is compiled during install).
It does take quite longer to install compared to others (RH, CentOS, Suse etc) but gives you complete control of your server.

Its not (very) difficult to install also. Anyone that plans (or has) a hosting company that uses Linux should have basic knowledge of Linux and Linux/Unix commands.
With this basic knowledge, and the Gentoo Install Guide, its not quite hard if this guide is followed.

We also prefer Gentoo (we do use it for our GameServers) but for now our webservers use CentOS.

Have you ever installed a package that had other dependencies that you didn’t want? You wind up wasting disk space to satisfy dependencies for features you dont’ want, that only bloat the memory footprint of the package anyway. Add to that the fact that there may be a feature or two you do want that isn’t available, so you have to recompile from source anyway.

That happened to me too much, so now I use Gentoo.

Yeah’ that’s the argument I hear alot, but with today’s 100+gb hard drives does it really matter that much anymore?

When your wife loves to store gigs of Japanese music videos and concerts, yes. :slight_smile:

And why is she storing THAT on a web server? :wink:

Yes, it does matter. Anything that you have installed that you do not need is also an extra potential security risk.

+1 for the Gentoo request. This linux distribution is absolutely fabulous and now I am using it, I am wondering whether it is possible to use other distros !
All is wonderful with Gentoo, including the Portage system, the clean state of the computer (no unwanted program nor useless dependencies), the documentations, the support…

Most arguments for Gentoo are pretty weak. There is no significant gain to compiling “ls” and “mkdir” for your target architecture, and anything where it would make a difference (such as glibc, kernel, etc.) is already tuned by developers of those binary distros. When you compile “glibc” you’re not compiling for your specific computer, you’re compiling for an architecture (such as “i686”). I know a lot about Linux, and I’ve got a lot of experience compiling programs, but Red Hat has Alan Cox, so they win when it comes to Kernel optimization. Speaking of binary, since all programs ultimately need to be binaries, why not get them pre-compiled? It’s certainly faster to download a binary than souce, and the work’s already been done for you on huge server farms of immense processing power. There’s definitely something to be said for an OS which has a packaging system (such as deb, rpm), and especially one with a front-end which auto-resolves dependencies (such as apt, yum, etc.). And it’s not like Gentoo doesn’t have dependencies. It’s just a stone cold fact that some programs require other programs (or libraries) to work, Portage simply operates similar to apt or yum in this case, and downloads and compiles those deps as well. Saying they’re not deps is misleading at best. Here’s another tip: if you use RPM-based systems, you have a built-in database of MD5 signatures of every file installed by your distro. That means if someone breaks in and replaces a file, you can know it by running “rpm -V” and checking your package. If you compiled your binary from source, and it’s replaced, you have no such utility. Finally, if you’re a datacenter, and you’re installing hundreds of systems every day, you want an OS that can go from bare-metal to fully-installed and ready for the client in MINUTES, not overnight. For all of these reasons, Gentoo is a hobby OS, not a server OS.

(plese note that I make no claims on whether Gentoo is good or not good, Linux is Linux, and it’s all good. I simply believe that it is inappropriate for a server in a datacenter.)

Here’s one person’s humorous observations on Gentoo users, often in their own words:


(this is not my site, but I found it humorous, if strong language and strong opinions offend you, you’re better off not visiting)

Great points Chris, and thanks for the link, I laughed my @$$ off :wink:

The main reason I use Gentoo isn’t complie time optimizations, its configure time options. I can stick some lines in a file that says I want Python support, and then everything which can use Python does. I get exactly what I want, even when that keeps changing. When you are installing binaries, you have to use what the packager thinks you should use.

Well, that’s not quite true. Here’s how rpm handles python:


$ rpm -qa | grep python
python-2.2.2-26
gnome-python2-gtkhtml2-1.99.14-5
gnome-python2-canvas-1.99.14-5
gnome-python2-1.99.14-5
libxml2-python-2.5.4-3.rh9
python-optik-1.4-2
rpm-python-4.2-0.69
gnome-python2-bonobo-1.99.14-5
python-devel-2.2.2-26

See? That means that not only can I get a gnome package, but if I want python support for gnome, all I need to do is install gnome-python. The same is true for most packages. In fact, the only time you run into problems of the developer deciding that you need XYZ dependency or not enabling a particular option is when it’s NOT provided by a large package maintainer (like Redhat or Freshrpms). In which case you’re probably better off not using those binaries anyway. As for Gentoo’s “always use python” option, what if I didn’t want python capability in everything, say for example Apache or MySQL for security reasons? With my rpm, I can simply rpm -e it (or not install it in the first place).

Again, I agree that having the ability to add your own compile-time options is nice, we’re not all experts at package compilation, and in most cases, the package maintainer knows much better than we do what is appropriate. Of course, what I said above was not always the case. There was a time when Red Hat didn’t split their packages into multiple pieces, but that design philosophy has thankfully changed.

While it’s cool that you are willing to micro-manage what software and options you’re interested in having on your Gentoo system, most of us are not. Heck, that’s why we’re running a Control Panel after all! The problem is that Gentoo just doesn’t scale. A single system that compiles its own software on install and update, and which is managed by hand for each and every install is one thing, but managing a fleet of servers (I’ve had the dubious honor of being the person ultimately responsible for over 3k machines, at one point in my career) and it’s a completely unworkable situation. And before you mention that portage or some other Gentoo package can download and automatically apply patches and security updates, etc. please consider that if you’re not “doing it yourself” there’s really no longer any reason to run a source-based system as opposed to a binary-based one.

Finally, Gentoo users far too often overlook .src-deb and .srpm packages. These packages are the actual source code, just like on your Gentoo system. In fact, both apt and rpm can create brand new rpms from .tar.gz files (provided the devloper is kind enough to include a .spec file, which most do). Simply running an rpm --rebuild command against the .tar.gz (you don’t even have to unpack it!) makes a binary that you can then use on all of your systems, saving time and bandwidth. In fact, I’m pretty sure that this is what Interworx does when creating their rpms for distribution from their update servers on -iworx specific packages. So really, rpm and apt have the best of both worlds, enabling MD5 signing of source-installed packages, along with simple package management, without requiring the wasted machine and bandwidth resources to re-invent the wheel on each and every system you manage.

I’ve got nothing against Gentoo as an OS, but I still maintain that it is only appropriate for a hobbyist’s desktop, and not for a server or group of servers. YMMV :slight_smile:

Perhaps Python was a bad example since its modular (as in externally). Portage is handy when you have packages with options like that which must be at compile time.

[ebuild   R   ] media-video/mplayer-1.0_pre7-r1  +3dfx +3dnow -3dnowext +X +aac +aalib +alsa (-altivec) +arts +bidi -bl -cdparanoia -cpudetection -custom-cflags -debug +dga +directfb +divx4linux +doc -dts -dv -dvb -dvd -dvdread -edl +encode +esd +fbcon +ggi +gif +gtk -i8x0 +ipv6 -jack -joystick +jpeg -libcaca +lirc +live -lzo +mad -matroska -matrox +mmx -mmxext -mythtv -nas +nls -nvidia +opengl +oss +png -real -rtc +samba +sdl +sse -sse2 +svga -tga +theora +truetype +v4l +v4l2 +vorbis -win32codecs -xanim +xinerama +xmms +xv +xvid -xvmc 7,621 kB 

And then what if I want to install, say, amaroK, and use the Xine back-end. Say I want to include support for AAC audio, but its not in the Xine package for my distro. I yum install amarok, get Xine installed automatically, and then, seeing that it uses Xine but lacks AAC support, have to go back and rebuild and reinstall Xine with that option. If I used Gentoo and had aac in my use flags, Xine would have been installed with AAC support the first time.

[ebuild   R   ] media-libs/xine-lib-1.0.1-r3  +X -a52 +aac +aalib +alsa (-altivec) +arts -cle266 +directfb -dvd -dxr3 +esd +fbcon -ffmpeg +flac +gnome -i8x0 +ipv6 -libcaca +mad +mng +nls -nvidia +opengl +oss +png +samba +sdl +speex +theora +v4l -vcd -vidix +vorbis -win32codecs +xinerama +xv -xvmc 7,607 kB 

Portage USE flags can be applied globally or via globs.

Compiling an update for 3k machines individually would be a pain, which is why you can build it on one and distribute the binaries.

Yes, you can rebuild individual packages of other types from source, but the point is that with Portage you don’t have to do that part. While it seems like micro-managing (and it is possible to do that), “proper” use of Portage means that things should never be more complicated than using YUM, and you’ll never have to rebuild anything for a specific feature, since it can be built taking your global defaults into account.

If the pre-compiled packages tend to have what you want in terms of options, then Gentoo just won’t make sense. If you frequently rpm --rebuild, you’ll start to see the situations where Gentoo shines. It all depends on situation. To say Gentoo is only a hobbyists desktop isn’t really being open about the problems it solves for a lot of people.

Of course this is all portage vs rpm vs deb now :slight_smile: Not really a Gentoo issue, although that is what is at the core of Gentoo.

I think that, on the contrary, it was a great example. Servers need rock solid software that’s as modular as possible to allow for their unique applications. I think that AAC audio libraries and Xine are probably a bit more rare in server applications. Further, nothing is stopping you from rolling-your-own when a situation like this arises.

Portage USE flags can be applied globally or via globs.

Doesn’t this lead to kitchen-sink USE flags? Why would I want Samba compiled with php and perl enabled? Again, this is for a server, not for the desktop, where it admittedly would be useful to have this option. I have never suggested that Gentoo wasn’t a great Desktop OS, just that it was a poor choice on servers.

Compiling an update for 3k machines individually would be a pain, which is why you can build it on one and distribute the binaries.

Distribute binaries? Isn’t that anethma to Gentoo? I joke, but at this point, what’s the difference between Gentoo and a binary-based OS excepting that you built the first binary? I’d prefer to rely on large groups of people quality testing my binaries before I use them on my servers, and only roll my own when I need some oddball configuration.

To say Gentoo is only a hobbyists desktop isn’t really being open about the problems it solves for a lot of people.

You mistake my meaning. A hobbyist is someone who does something out of a desire to do it, not someone who does something professionally. As illustrated (at great length) by both of us above, Gentoo isn’t really meant for servers, it’s meant for small installations that have very specific users running them. Those folks are called hobbyists. I’m not relagating Gentoo to the fringe of Linux society, I have been trying all along to show why I think Interworx has chosen to not support Gentoo, and why I wouldn’t suggest that anyone run it on a server. Here’s another example. I love Ubuntu Linux, and I hand out CDs of it to anyone who will take them. However, I would never use Ubuntu on a server, because that’s not what it’s meant for. I probably could force it to do a server’s work, but it just isn’t an appropriate choice. It’s a great OS, and I think it’s a huge step forward for Linux on the desktop, but it’s not for the server.

Of course this is all portage vs rpm vs deb now :slight_smile: Not really a Gentoo issue, although that is what is at the core of Gentoo.

I think that it’s an easy distraction. The core issues with Gentoo on a server is that it is by its very nature source-based, and that means lots of bandwidth and system resources spent compiling software into binaries, when you could just as easily download the binaries in the first place. This, in addition to the points raised above, point to it being good for a Linux lover’s desktop, but a poor choice for a datacenter.

The AAC thing was just example because I had recompiled amaroK the day before. Even for server tasks, I wind up having to compile a lot of stuff myself to get the options I want. That is the core reason why I don’t think Gentoo is a bad server choice. I’d agree that in most situations Gentoo is a stupid choice for a server, and if I would place supporting it as a low priority too. I’m just saying that to completely shut out Gentoo from that role is hasty.