Slashdot Log In
Toward a New Kind of Linux Distribution
Posted by
michael
on Sat Feb 28, 2004 09:13 AM
from the please-don't-take-my-debian-away dept.
from the please-don't-take-my-debian-away dept.
An anonymous reader writes "Progeny co-founder Ian Murdock wrote a weblog entry that has been reprinted at Newsforge. He talks about how current distros are built from the top down, making a 'one-size-fits-all' solution of technology. He proposes making a modular solution that encompasses building modules so distros can include only the technology they need to suit their purpose, kinda like building from the bottom up. Interesting read, good arguments, potential for a new Linux community."
This discussion has been archived.
No new comments can be posted.
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
Full
Abbreviated
Hidden
Loading... please wait.
Ian (Score:5, Informative)
Wouldn't it be worth mentioning that he is founder of Debian as well?
I notice the debian graphic... (Score:5, Interesting)
why? (Score:5, Informative)
First of all, Debian is quite modular and simple. In fact, Lindows uses it behind their "click 'n' run" front end, and its supposed to be amazingly smooth. Debian can be used for more finely grained options, but can also be used for a modular system as described Murdock.
Plus, lets be honest; source distributions just aren't going to cut it in an environment where package installation speed is important.
Parent
Re:why? (Score:5, Informative)
Gentoo is not just a source distribution. It is true that many folks treat it that way, and doing so has its advantages. However, if you don't want to compile everything from scratch to optimize it for your specific hardware, you can install precompiled binary packages and go to town. Look at the Gentoo Reference Platform (GRP) for details.
Parent
Re:why? (Score:5, Insightful)
You realize he's the one that invented the term "free software" right? I mean seriously, how can his be a misdefinition when he's the one that came up with it in the first place?
Or did you come up with a definition of free software and then pretend it's the real one?
Parent
Re:why? (Score:5, Insightful)
Um, no...
This is not a SCO-like demand. SCO hasn't shown any proof of its claims. RMS's claim, OTOH, that the current distros have far more GNU code than Linux kernel code, is a fact. Go look at any distro if you don't believe it. And stop trying to use bandwagon buzzwords and name calling to make your arguments. Actual facts work much more nicely. If you want to prove it, go do a GNU vs. Linux SLOC count (or whatever metric would make sense) of a major distro.
Two wrongs don't make a right.Maybe I'm wrong, but you apparently just don't 'get it'. We live in a society increasingly dependent on technology. If our basic human rights become exclusively delivered by tech (they become more so daily), and tech is one big maze of toll roads, then we lose those rights. RMS doesn't misuse the word freedom; he apparently understands its meaning far more deeply than you do.
Parent
Why Gentoo (Score:5, Informative)
For example, take vim. Depending on what you have installed, it may or may not have Perl integration, Python integration, an X UI, ctags support, make or ANT integration, and so on.
A binary distribution needs to provide a different binary for every possible combination of those, if it's going to allow fine-grained choice around what the Linux system has installed. Either that, or you have to turn off a lot of functionality which could be turned on, in case the dependencies aren't installed.
With Gentoo, the binary's dependencies are determined at install time, so you can have a single package which supports all the possible combinations of other components the user might have chosen to install. If I have Perl but no Python dev tools and opted not to have Python integration, no problem, vim is built appropriately from the same package everyone else is using.
In practice, the binary distributions seem to provide only two versions of vim, a "minimal" terminal-only one, and an "everything, including X" version. Personally, I don't want either of those--I want most things, excluding Python and X. Gentoo lets me have that, Debian doesn't because it doesn't have a vim-perl-ant-make-nox-nopython package.
Parent
Re:Why Gentoo (Score:5, Insightful)
$ apt-cache search vim | grep vim
kvim - Vi IMproved - KDE 3.x version
vim - Vi IMproved - enhanced vi editor
vim-doc - Vi IMproved - Documentation files
vim-gnome - Vi IMproved - GNOME2 Version
vim-gtk - Vi IMproved - GTK2 Version
vim-latexsuite - Brings the LaTeX power to Vim
vim-lesstif - Vi IMproved - LessTif Version
vim-perl - Vi IMproved, with perl scripting support
vim-python - Vi IMproved, with python scripting support
vim-ruby - Vi IMproved, with ruby scripting support
vim-scripts - plugins for vim, adding bells and whistles
vim-tcl - Vi IMproved, with tcl scripting support
vim-vimoutliner - a script for building an outline editor on top of Vim
vimacs - Emacs emulation for Vim
vimpart - Vim Component for KDE
And you could always choose to compile the thing from source yourself. But I prefer the convenience.
(btw, I'm posting from a Gentoo machine.)
Parent
Re:why? (Score:5, Insightful)
I installed debian with a full kit of KDE in under an hour on an iMac 400. You're saying there's some new hardware that can build that equivalent with gentoo within 60 minutes?
Bullshit.
Parent
Re:why? (Score:5, Informative)
Just tell emerge to use precompiled binaries instead of compiling everything from source, if that's not your thing
Parent
Re:why? (Score:5, Informative)
Wait, I just looked again, and it looks like there's one server that supplies binaries for the different CPUs... sweet.
Parent
Re:why? (Score:5, Insightful)
Yeah, that 7+ hours compiling KDE/GNOME just flies by
Parent
Impossible (Score:5, Insightful)
It's impossible for Gentoo to be as fast as binary-only distributions because it has to the job of the binary distribution (the "make install" part) in addition to the compilation. Which, by the way, is slow (with any program or reasable size) on any hardware. I do use an athlon XP 1600+ which is fairly old (and did indeed perform quite poorly at installing Gentoo packages), but even on a Dual Xeon system, I wouldn't want to have to compile KDE from source.
But the most important thing to note is that many people do use old hardware. Why not support them as well? My work computer is a P3 700, and it runs Debian quite smoothly, and installs even big packages in less than a minute (of course, it helps that my work connection gets > 1megabyte/second to MIT's Debian mirrors). Why should that hardware not be viable? Just because you think everybody should use source only distributions? I don't think so.
Parent
Re:Impossible (Score:5, Insightful)
You're talking about install time. Yes Gentoo is 'slower' at installing apps. However, once the app is installed, it is much faster than the generic i386 cruft you get from normal distributions, simply because Gentoo apps are compiled for your specific processor.
Which do you do more over the life of an application; install it or use it?
The obvious answer is that you use it far more times than you install it (only once per version). Gentoo's method clearly wins in that respect.
But the article is about modular distros, not performance. Gentoo is pretty good at that as well. It will get better at it too. I don't have a link handy, but you'll be able to customize your own Gentoo Live CD (a.k.a Modular Gentoo).
Parent
Re:Impossible (Score:5, Insightful)
Equally, such flags as -O3, which Gentoo users seem to apply to everything, can actually be WORSE as they increase code size (function inlining) and thus result in more CPU cache misses.
In short, it's not black-and-white, and if you do some proper testing Gentoo is NOT "much faster" at all. In some cases it's slower. But most of the time the differences are barely noticable.
Parent
Still not any better than Debian (Score:5, Insightful)
I hear the argument about faster executables a great deal, and it isn't a bad argument. However, Gentoo will allow you to install binary packages, and similarly Debian will allow you to install from source packages. More than that, you can actually find or create apt repositories with dependencies that are multiplexed across a set of architectures (for example, the nerim.net Mplayer repository; just tell it "mplayer-k7" and you get all the nice optimizations for Athlons with it).
Modularity
Again, Debian can be quite modular. Have you heard of Knoppix [knoppix.net] or Morphix [morphix.org]? They are very popular, and quite modular. There are probably more Debian derivitives than any other distro because they are so modular. I realize that Gentoo might also be good in this regard, but if it isn't provably better, I don't see a reason by Debian still wouldn't be a great choice for this project.
Parent
notice the author is Ian as in Debian (Score:5, Informative)
Notice that his current project (Progeny) is about companies looking to build on a 'distribution neutral platform [progeny.com]', and the link in the article goes to a page about 'Progeny Componentized Linux.' Believe or not Gentoo is not the only highly configurable linux game in town: Progeny seems to be playing that game, but at the enterprise not the consumer level. He's definitely not thinking of Gentoo for this role. He's talking about Progeny.
Parent
Uh..? (Score:5, Interesting)
Re:Uh..? (Score:5, Interesting)
The only difference in my mind is an easier way to do this componentizing than manually, package by package, but that's practically what Gentoo does already.
Parent
Re:Uh..? (Score:5, Insightful)
it makes your machine more secure because:
A) You have less services, so less chance one of them is going to be hacked.
B) You have less programs on your machine so less (I did not say none) chance somebody who DOES break into your machine will be able to do any actual damage.
Bryan
Parent
Re:Uh..? (Score:5, Insightful)
That is, a collection of packages that work together thematically. For example; a simple productivity module which includes mozilla firefox, evolution, and openoffice. Or a multimedia module which includes xmms, mplayer, and a smattering of DVD players. Or a server module, which includes apache, samba, et al.
Kinda like tasksel [debian.org] then?
Jay (=
Parent
The Rock Linux distribution build kit (Score:5, Informative)
Rock Linux [rocklinux.org] isn't a Linux distribution: it's a distribution build kit, that allows you to build your own tailored distribution from sources, with your choice of configuration options.
Even if there aren't currently the options that you want, the simple text-mode configuration files allow you easily to add your own.
Are we talking about Morphix? (Score:5, Informative)
Parent
Sounds like SuSE (Score:5, Informative)
Modularity is great for large organizations, but at this point it would be foolish to fall into MS's line of thinking, that you need a separate server for each role in the industry. It would behoove us to try harder to break down the barriers between servers so that they can act in a cohesive, stable and seamless fashion, whether there is one server, five servers, or five thousand servers.
And that's why we need a stronger LVM!
So that's Gentoo without the compiling then...? (Score:5, Interesting)
Distro for Users or for Publishers? (Score:5, Informative)
Morphix Plug (Score:5, Interesting)
Morphix is modular, and can be adapted with less effort
The base, the Knoppix part contains the kernel, kernel modules, hardware detection, etc. This base is left untouched. You can either a change a mainmod or add lots of minimodules.
The are four basic images [sourceforge.net] to start off with. So making you own LiveCD is much easier.
It even possible to save you files, configuration and setting to the Morphix CD you using, ready for next boot up.
Did I mention the GUI installer ...
Brendan Mentioned before and here
Security (Score:5, Interesting)
configure before you download? (Score:5, Interesting)
That would be cool.
ROCK linux... (Score:5, Interesting)
Its not so much a distro, as a 'meta-build system', for building and packaging your own distro.
To me, this is the best solution, and while these sorts of build-system efforts are still in their infancy, I can see a day when you just answer a few questions, press a button, and get a custom CD designed -exclusively- for the application you've defined.
That's pretty nice. As a Linux user since the minix post, I'm excited about more and more of these sorts of 'smart build environments' becoming the 'distro construction set' de jour
Gentoo is not the answer. (Score:5, Insightful)
Gentoo is compartamentalized, but not in anyway that other distros such as debian isn't.
Both Debian and Gentoo are heavily optimizable, you choose the componates that you want etc etc.
Bot have your advantages and disavantages.
Debian's is that the developement cycles that forever to make sure that everything is working correctly, but you get a reliable computer that is usefull for hundreds of different applications.
and Gentoo's big disadvatage is that it's worthless for anything other then home desktop, but you can play around with newest technology.
(could imagine administrating a hundred gentoo boxes buy yourself and getting someone to actually think it's a good idea to pay you to run a OS on them that takes a average of two days to get installed?)
And no compiling for speed is DEFINATELY NOT WORTH IT JUST FOR A PERFORMANCE ADVANTAGE in 95% of the apps you would use on a daily basis.
But IMHO people are naturally moving towards comparmentalized OSes anyways in Linux. Weither or not they realise it.
Think about, APT and other decent package managers have caught on in a big way. Fedora can use both Apt and or Yum.
Using package managers it's easy to customize any install and the BIGGEST advantage is that it's simple to keep everything up to date and to install new programs.
A BIG advantage over closed source stuff. (once you get it set up.)
Now if most linux distros agree to stick to a common Filesystem Hierarchy system (http://www.pathname.com/fhs/) then you can use all sorts of packages together.
I could use Fedora packages, apt packages, debian packages, gentoo build scripts and all sorts of stuff and pluss get support for closed sourced software easily in any distro of my choosing.
If Debian doesn't have a new enough XFree86 build you can install it from Fedora and build the latest KDE 3.x beta from portage scripts from Gentoo.
That's what we should aim for, and a common FHS is pretty close. People are beginning to learn the best way to do stuff and the directory systems are beginning to be more and more common to all Linux distros.
In a few years I hope the consept of numbered linux distro releases will be gone and we will move to a stable/unstable model similar to Debian.
Re:Gentoo is not the answer. (Score:5, Interesting)
Parent
Mandrake has tools for such (Score:5, Informative)
And mandrake has a customizable auto bootup/install via drakx (mdk's installer system).
Add all of the above, and a little knowledge about SRPMS (if you want true customization), and it works rather well. Also Mandrake's public download edition is 100% FLOSS, so there are no issues about redistributing the software (unless *you* add some non-FLOSS stuff on your own, heh)
Sunny Dubey
Linux and the fight for world domination (Score:5, Insightful)
The thing that aroused my interest in Linux was not its cost, but its ability to be used in projects that were not limited to traditional PC software.
Imbedded linux will (as long as MS doesnt rethink its licensing) rule the non-pc computing world.
It makes perfect sence. Who cares how your C64 watch works, as long as it does.
It seems unlikely that "componentized Linux" is the answer because only imbedded linux realy needs to get down to the "Linux from scratch" kind of level - otherwise, you'll probably be looking for a higher level distro.
What does he mean? (Score:5, Interesting)
Is he just saying that distributions should go for niche markets by allowing greater customisation? So instead of installing everything of the 3 CDs you only install what you want? Kind of like every other distro?
Or is it more than that? Some kind of pluggable component system akin to Debian's virtual package "provides" system? So you can have different packages that provide standard services (mail, desktop, web-serving etc.) through common interfaces to the other components.
Folks, stop the fanboy stuff (Score:5, Informative)
In my eyes one of the problems Linux has is libraries and their versions. you can't simply take an executable and guarantee it will run on another Linux installation (unless you statically link).
We have this already. (Score:5, Funny)
Parent
Sounds like (insert denomination here) (Score:5, Insightful)
Almost all Linux distros are componentised. OK everyone let's hear it: "Linux is not Windows."
We've got distros mainly because we aren't all kernal coders who know all the in's and out's of every single chipset. Quite frankly I don't know who even has the time (but apparently some of you do). We have generic groups of packages/aptget/emerge/etc. to allow for faster deployment. And that's another beautiful part to Linux: Choices!
Yes, perhaps it's overwhelming at first, but you can build it from the ground up if that's what you really want or just pile it on thick and zesty!
The author wants to promote Progeny and "Componentized Linux", and I think there's always room for Yet Another Distro (YAD), but to say the others are doomed to fail because they came on 3 CD's (Think Fidora) is misleading. Mandrake 9.1 came on 3 CD's but it certainly won't force you to install all of it. In fact, you can just select a kernal only option, and it won't even ask for the other two disks. Not only that, but you can hand select only the packages you want. How cool is that?
So I guess what I'm trying to say is that most linux distros have options to allow their users to build it pretty much from the ground up. The reason for the different distros lies in what their vision of the ultimate system looks like when it's totally loaded down.
Big Whoop (Score:5, Insightful)
Sounds to me like a front end "Install Web Server?" "Install Development TOols?" choices that proxy a few packages is all this is about.
Aren't all Linux distros these days already got some sort of package managing that manages every file? Even the base Libc? How more moduler can you get???
I'd like to see the opposite (Score:5, Interesting)
I would like to see a linux distribution the exact opposite. One that I could give to people fed up with windows. It should detect all the hardware like knoppix. Then it will bring up a simple GUI style disk formatting tool, like the mandrake installer. Then after I select which partitions it should just install, no more questions asked. When its done all the hardware should be working. One of every necessary software application should be installed. The gui will be simply laid out with big pretty buttons. One that says Web Browser, another for Word Processor, etc. Wine, lilo and other things will be configured perfectly and automatically without user input. There will also be another big button that says "install software". It will have a big nice easy to use app that sorts softwares by categories, shows screenshots and readable descriptions of different programs. With a single click these programs will be installed and new icons will be created. With another click these programs should also be automatically updated to the newer versions without breaking anything. And of course easy uninstallation is a must too.
I see no reason why this isn't possible. Why hasn't anyone (that I know of) done it yet?
Re:I'd like to see the opposite (Score:5, Informative)
But indeed this is what is required for a desktop Linux.
No toolkit of modules, but a standard install that sets up a standard Linux installation that can be made user-friendly, can be well debugged, can be optimized w.r.t. parameter settings, etc.
Parent
Dear god. (Score:5, Interesting)
Has it occured to you that his writing isn't directed towards those of us that already use Linux? Could it be that the founder of Debian would possibly want to make a little money on his toils and ventures by selling his ideas to Suits and PHBs?
No, that couldn't be. Could it?
Yes. (And no, I'm not saying this is a bad thing.)
Stop thinking the world revolves around you (us) and your (our) zealotrous love of your distro. (Particularly you gentoovian freaks with your distcc clusters!
It's been my long-time argument (Score:5, Interesting)
Anyone use OpenNA Linux? (Score:5, Informative)
Website [openna.com]
Why this can't work (Score:5, Insightful)
Linux packaging isn't bad at all, it is actually the lack of any standards that hurts the natural evolution of a modular Linux.
GCC/glibc are moving targets. You can't depend on linking between two versions of GCC or glibc, so all the apps we package today will be of questionable use tomorrow.
All other libraries suffer from the same problem. There is no guarantee that you can upgrade or install anything on the system without breaking random other applications.
There are far too many compile time options in applications. Instead of checking for dependencies at runtime and acting on that information, the applications have to be built either for a minimal system configuration, possibly dropping features, or built with every possible dependency, making installation require far too many dependencies.
Until these issues are cleared up, there is no other way to create a distribution than top down so that all dependencies are known and accounted for or built from source.
This has been one of my major gripes with Linux (Score:5, Interesting)
The same is true for many distributions. Although a lot of software comes in packages, installations tend to range from quite heavy to almost ridiculous (about 1 GB). And the kernel, again, tends to be a fairly monolithic one, supporting a few filesystems that are unlikely to all be used, etc.
I have to say that Debian tends to be quite OK. The base install is, what? 100 MB? And to that you can just add what you need, dependencies solved for you and all. The kernels you apt-get are usually modular (although the generated ramdisks haven't always worked for me, and cannot be edited due to their being in cramfs). Still, it's annoying that when I want a feature added to my kernel, I have to reconfigure, recompile (I don't' keep the object filesaround - they take too much space), reinstall, and reboot. Sure, I could get a faster computer and a bigger hard drive, but even then, having plenty of something is no excuse to waste it.
Re:What's he on about? (Score:5, Insightful)
The only appreciable difference he could offer (which he did not, but could) is binary packages instead of having to compile everything from source.
Of course, part of the reason Gentoo is from source, and why less modular distributions are so monolithic, is that many UNIX programs require specific options at compile time to modify their behavior to fit just right on your system.
Apart from having a huge compile farm which you'd hand the equivalent of your USE flags in Gentoo, and get back a binary built just right for your system, I don't see any particularly clever way to do this.
Parent
Re:Has this guy done any research? (Score:5, Funny)
Parent
Re:Please sir, can I have some more? (Score:5, Insightful)
If by some Act of God, Linux were to become what you say it should, then the people who currently use and support it would instead switch to BSD or Darwin or OpenBeOS or some other open, polymorphic OS. Because that's what they want, not Linux for the sake of Linux.
The down side of freedom is that you need to make choices, and the down side of making choices is that you need to do some research. If you want a developer to do all that for you, then you should stick with an OS from company that will do that. Microsoft excels at it, and if that's a little bit too controlling for you, you should be quite happy with Mac. (Seriously, OS X is a great centrally-designed system.) But what see as "what's wrong" is what others see as "what's right". Deal.
Parent
Ode to a Misshapen Bathrobe (Score:5, Insightful)
Be you short or be you tall,
Be you wide or be you slim,
Be you her or be you him.
Now please, don't start to scream and yell,
We never said it would fit well.
There are times and places where one size fits all may be vaguely suitable for a good many, even the majority of, people. If one happens to be exactly that "one size" you might even wonder why anyone would ever want something else.
There are also, however, times when one size fit's all, no matter how close the fit, is simply intolerable and a wee bit of tailoring is in order.
If you don't feel the need of another Linux "dialect" than ignore it. Those that do may find the new "dialect" finally makes life bearable.
KFG
Parent