Gentoo Disappointment. The Ideal Distro
This is not really a questions, but a mere expression of my thoughts on how the ideal distro should be.
I, having and adventurous personality (like most linux users), decided to chose a second distro next to my Fedora (god i hate this name). I have done some research which led me to the homepage of gentoo. Since I like philosophy, especially when it is about technology, wondered what these guys were thinking when they decided to create their own systems. After reading some about the portage system, I was mesmerized by the opportunities it offered. Everything compiled for your machine! As easy to use as rpm! Just type a command and all your system would be updated! After drooling for over three minutes, I fantasized what a happy guy I would be with the power of gentoo on my side! And I began reading the install documentation. I couldn't have known that my linux life's biggest disappointment was waiting for me.
I chopped up the drive copied the required files etc. Now the magic moment had arrived. I was to type the 'emerge system' and magically gentoo was to download everything, compile them on my system, for my system, and give me a running linux! Of course the reality wasn't that perfect. Although the manual suggested taking a nap, I couldn't have known that what they meant was hibernation. The downloading part took a long while, which is nothing compared to the time it took to compile them.
Yet I thought "What the hell, just let it run for a winter!! Then you'll have a fast, reliable and stable system for the rest of your life!!". So that's what I have done. When spring came and I woke up, the operation was complete. I booted up the system: it worked!! I was so ecstatic I didn't even go fishing for salmons that morning. After a few minutes though, the dream ended. I faced reality. It was a running linux alright, but I needed some more action then a blinking cursor. I decided to install KDE. So I typed the magic word again:
And a long process started over again. Overall, it took me 4-5 hours to have XFree and Kde installed. And it wasn't stable at all. It wasn't any faster than my Fedora! Plus I can update my system a lot faster with any minor release thanks to synaptic!
Why did I do all that then? That is the question I still cannot answer. I am sure there are perfectly happy gentoo users out there, who worship their system. This is by no means an attack against them. Yet on my "Perfection" scale, gentoo and portage didn't do well.
All these adventures led me to think how a perfect linux system would be. Many people should have thought about this before me. The programs should be downloaded for the platform so they can be as fast as possible. Yet their installation time shouldn't exceed their download time. How would this be possible? Here's my solution:
Compile on demand
It is a hybrid of the portage and the rpm (or apt-get) systems. When you need to install an app you type the appropriate command, and the agent downloads the binary file. However, each file you download would be optimized for your architecture. Next to the server, another machine would act as a compiler. Its job is to download everything from a portage-like source server and compile 24 hours a day. This should be done for every application, and on every architecture. The binaries thus created are to be dispatched to traditional servers world-wide.
Thus, when the downloading agent is running, it should send the computer's specifications to the server. It will then be directed to a server that carries files for that kind of system. The file is going to be downloaded "a la rpm" and installed in short time.
Of course this seems more like scienc-fiction than reality. Yet with cpu speeds going up every few months, and applications not asking for that much, there is a serious gap between what is done, and what is possible. It may be possible to share the compiling process among every installed distro, just like the SETI@home or distributed.net projects, so that the PCs compile when they are idle, and then upload to the server.
So, if you have read this far, what do you think? Before sending carping remarks, imagine the possibility of deploying custom binaries in short time. Wouldn't that be good??