Slashdot Mirror


Toward a New Kind of Linux Distribution

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."

37 of 354 comments (clear)

  1. Ian by termos · · Score: 5, Informative

    Progeny co-founder Ian Murdock wrote

    Wouldn't it be worth mentioning that he is founder of Debian as well?

    --
    Note to self: get smarter troll to guard door.
    1. Re:Ian by Anonymous Coward · · Score: 5, Informative

      And the name "Debian" is a contraction of his name (IAN) and his "ex-girlfriend" name (Deborah) = Deb+Ian.

    2. Re:Ian by qtp · · Score: 2, Informative

      and his "ex-girlfriend" name (Deborah)

      Her being his wife might just qualify her as an "ex-girlfriend", I guess.

      --
      Read, L
  2. The Rock Linux distribution build kit by alanw · · Score: 4, Informative

    Many options are selected at compile time, rather than in configuration files, for instance processor selection. My php configuration includes "--with-mcrypt --with-gd --with-jpeg-dir --with-png-dir --with-freetype-dir". The number of different downloads for any pre-compiled distribution will be enormous.

    Rock Linux 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.

    1. Re:The Rock Linux distribution build kit by Anonymous Coward · · Score: 2, Informative
      Shouldn't you be using the new built in GD library?
      Note: Since PHP 4.3 there is a bundled version of the GD lib. This bundled version has some additional features like alpha blending, and should be used in preference to the external library since it's codebase is better maintained and more stable.
  3. Sounds like SuSE by Anonymous Coward · · Score: 5, Informative

    They started by making products designed for single roles, with a database server, a groupware and messaging server, and a fileserver.

    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!

  4. Distro for Users or for Publishers? by AlexanderYoshi · · Score: 5, Informative

    Interesting. I'd always felt that this is how Linux really works the best., rather than being a giant 1 gig hunk of software, I can pick and choose the parts I want to play with. This leads to lots of mistakes early on, but over time, you learn how to optimize and reevaluate what you need and where, with the end result of understanding your system that much better. So my question is: Was this a suggestion for Linux in general, or a suggestion for a new type of business model?

  5. Are we talking about Morphix? by HulkProtector1 · · Score: 5, Informative

    His idea sounds very close to Morphix. It allows easy building of customized live-cd distributions. It supplies its own installer too.

  6. correct me if I'm wrong by segment · · Score: 2, Informative


    But isn't/wasn't this what BeOS intended to do? On the one hand it would be nice, it would be compact as opposed to having 3! cd's full of stuff, yet at the same time, they'd better have a squadron full of developers who would change things on the fly considering the speed at which things change.

  7. Hmm, sounds like by fw3 · · Score: 2, Informative
    The (varying) approaches used by source distributions (Lunar,Source Mage, orGentoo), with varying approaches, strengths and degrees of success?

    Diversity is certainly a strength of Linux.

    --
    Linux is Linux, if One need clarify their dist: <Dist>/GNU Linux
    bsds are of course just BSD
  8. why? by qortra · · Score: 5, Informative

    Never mind that Ian Murdock is also a founder of Debian, and that Progeny has always been built on Debian; what objective reason is there for building this kind of OS on Gentoo rather than Debian?

    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.

    1. Re:why? by dmouritsendk · · Score: 5, Informative

      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?

      Just tell emerge to use precompiled binaries instead of compiling everything from source, if that's not your thing ;)

    2. Re:why? by Jay+Maynard · · Score: 5, Informative

      Ignoring for the moment that Debian is objectionable to no small number of us because of their explicit kowtowing to Stallman...

      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.

      --
      Disinfect the GNU General Public Virus!
    3. Re:why? by Anonymous Coward · · Score: 2, Informative

      Yes.. emerge -k

    4. Re:why? by netsharc · · Score: 5, Informative

      Do you know of any Gentoo precompiled binaries repositories? The binaries that come with the 1.4 Live-CD are now all outdated, and looking in Google only brings some binaries...

      Wait, I just looked again, and it looks like there's one server that supplies binaries for the different CPUs... sweet.

      --
      What time is it/will be over there? Check with my iPhone app!
    5. Re:why? by Jay+Maynard · · Score: 1, Informative

      My objection is to his redefinition of the term "free". He picked a motherhood-and-apple-pie term and applied it to his concept in order to have some of the good opinion rub off.

      Where this falls down is that true freedom must necessarily include the freedom to do things that piss others off, so long as it does not harm them. Stallman's version explicitly excludes the freedom to reuse code unless you buy in to his utopia. This is not freedom; it's a weak counterfeit. That is why I object to his redefinition of the term.

      --
      Disinfect the GNU General Public Virus!
    6. Re:why? by dmouritsendk · · Score: 2, Informative

      If you're going emerge precompiled binaries, what's the point in using Gentoo? Why not use a system that has a pretty frigging great packaging system.

      Apperently quite a few people think emerge is a frigging great packaging system ;p

      Seems to me, THE reason to use Gentoo is to build everything from source so it is optimized for your system.

      I personally agree with you, my entire system (expect my nvidia drivers :[) is has been built and optimized as i want(note: USE is great great great, everybody should welcome our use variable overlords).

      But from the looks of #gentoo (on freenode) more and more gentoo newcomers(+people who want gentoo for the easy app installation and great user community, but dont want to boughter with compiling everything) is using it.

      Also, AFAIK the GRPs are pretty optimized. Checkout: http://www.linuxiso.org/distro.php?distro=45

    7. Re:why? by BigJimSlade · · Score: 2, Informative

      If you're going emerge precompiled binaries, what's the point in using Gentoo? Why not use a system that has a pretty frigging great packaging system.

      While everybody is entitled to their opinion, you may want to actually use the product before disparaging it. Gentoo's package management *is* pretty great, IMO. Gentoo can just as easily handle binary packages. For larger installations, DistCC can be used to compile packages across multiple workstations & servers.

      The reason that I think it would make a good starting point is because portage allows for multiple packages to be rolled into a sort of "meta-package" (I have no idea if that's what this is really called). If I type "emerge kde", it will grab not only the kde-libs but also a lot of the core apps & utilities. So while you're free to grab any core packages, you can also group them together. Maybe dpkg has something similar? I don't know, but I think that feature would be perfect for such a modular distribution.

    8. Re:why? by BigJimSlade · · Score: 2, Informative

      Do you know of any Gentoo precompiled binaries repositories?

      Chinstrap is a project to have a baseline of binaries for gentoo available. I've seen it mentioned in the Gentoo forums, but haven't used it myself.

  9. Mandrake has tools for such by phoxix · · Score: 5, Informative

    There is mkcd, which allows you to create custom Mandrake CDs with the software and options you want.

    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

  10. notice the author is Ian as in Debian by gripdamage · · Score: 4, Informative

    This article is by Ian Murdock, who is the Ian in Debian. The logo isn't there because of a direct relationship to the subject of the article; the Debian logo is there because of a direct relationship to the author.

    Notice that his current project (Progeny) is about companies looking to build on a 'distribution neutral platform', 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.

  11. modularized distros by andrewagill · · Score: 4, Informative

    I think PLD (Or in English) tries to be highly modularized:

    no restrictions for a set of packages that must be included in the distribution. The user can have access to every package already prepared for PLD. If something had been prepared in conjunction with other packages, it means somebody did need it, and maybe someone will need that package in the future

    Now, this is not to suggest that PLD does this well, or that it does this actually implements what Progeny is suggesting, but it's still a starting point.

  12. Folks, stop the fanboy stuff by gilesjuk · · Score: 4, Informative

    People keep saying "should be done like Gentoo" or "Debian is like this".What Ian is trying to say is everyone needs to cooperate on this and build a framework which all distros can use.

    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).

    1. Re:Folks, stop the fanboy stuff by MooKore+2004 · · Score: 1, Informative

      Thats what dependancies and lsb is for! You tell the RPM what libaries you need and modern distros will automatically install the dependancies for you. I havent had problems with distributing my binaires, and I test on around 20 differnet distros before I release them!

  13. Re:Gentoo is not the answer. by HrothgarReborn · · Score: 3, Informative

    After my first stage 1 install of Gentoo I felt the same way. This is a lot of fun but and great for desktop but i can't administer 80 boxes like this. After using it for a few months I fell in love with how well it works and I have used RedHat, Suse, Debian, Slack and others.

    So I decided we would try it at work. We made a master build server, shared the portage directory through NFS, made a few scripts and standardized config files and now setup is only slightly longer than RedHat was. Our install documentation is not any harder to follow and it looks like upgrades and patches are going to be a lot easier as well. And we don't get the hell of some servers running 7.1 some running 7.3 and the the two new ones on 9.0 and lets keep all there different upgrade rpms around.

  14. Re:I'd like to see the opposite by pe1chl · · Score: 4, Informative

    SuSE Linux is mostly what you describe.

    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.

  15. Why Gentoo by metamatic · · Score: 5, Informative

    The point of Gentoo is that using the source for installation allows much finer grained dependency resolution.

    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.

    --
    GCHQ Quantum Insert installed. If only our tongues were made of glass, how much more careful we would be when we speak
  16. Anyone use OpenNA Linux? by Micah · · Score: 4, Informative

    My organization is standardizing on it for critical servers, and I think it does a lot of what this article talks about. On install, it asks which services you want to run ... and it ONLY installs what is absolutely necessary to run them. It's pretty lightweight, but gets the job done. And it's also hardened like you wouldn't believe, with most services preconfigured to run in a chroot() jail, something the others should have been doing from the start IMHO.

    Website

  17. Re:I notice the debian graphic... by Anonymous Coward · · Score: 2, Informative

    Because Gentoo isn't well-tested, QA'd and enormously reliable. It's a playpen for the latest bleeding-edge goodies. It's not ultra stable.

  18. Re:Impossible by nadamsieee · · Score: 1, Informative
    "much" faster? Only the kernel and glibc make more than a negligible difference; Fedora, Mandrake and other distros offer CPU-specific versions of those.

    Wrong. Please troll again. Gentoo is much much faster in some cases.

  19. Re:Impossible by thomasweber · · Score: 3, Informative

    However, once the app is installed, it is much faster than the generic i386 cruft you get from normal distributions

    Hmm, I don't think so: Debian News mentions a Debian package being faster thanks to O2 instead of O3. Now this has nothing to do with Gentoo as a distro, but are you aware of the best settings for every package you install?

    Also, quite a lot of distributions compile for >= 586

  20. Re:Impossible by Minderbinder106 · · Score: 5, Informative

    Nice link, I especially found the quote Can you conclude that "Gentoo is faster than Mandrake?" No. This is a limited test. It is likely that Mandrake is faster for some things. Also, we tested load-time performance only to be informative.

  21. Re:Impossible by nadamsieee · · Score: 2, Informative
    Hmm, I don't think so: Debian News mentions a Debian package being faster thanks to O2 instead of O3. Now this has nothing to do with Gentoo as a distro, but are you aware of the best settings for every package you install?

    No, I'm not aware of the best settings for every package I install; neither are you or anyone else for that matter. But I am aware that a good compiler + good compile options + prelinking can yield faster performance on the average. That is what Gentoo offers.

    Also, quite a lot of distributions compile for >= 586

    Great! The more the merrier. However, as a binary distro becomes more mainstream, optimizations become less and less of a option (especially for commercial distros where support costs are a real concern). GCC allows for some fairly fine grained compile options, if that is your choice. That is the main strength of Gentoo; a user has as much choice and freedom to tweek the software as (s)he wants.

  22. Re:"distribution build kit" by alanw · · Score: 3, Informative

    Correct me if I'm wrong here, but from the Rock Linux manual, it looks like installs work pretty much like they do for command line installs with ANY source based distribution, just that the installer script includes a small extra section to copy all the stuff to an ISO.

    The power of Rock isn't in installing a single package, built from source, on your system, though it can do that.

    Rock allows you to create your own bootable CD from which you can install your own custom Linux distribution.

    1) download Rock (mostly shell scripts and configuration files, and a *very* small number of patches to packages)

    2) unpack it

    3) select your configuration options - choose from a range of targets - minimal LAMP server, desktop, or create your own list of packages - select your target processor, and any configuration options you want - e.g. build postfix with mysql support.

    Some of these are available as tick boxes in the curses based configuration tool, if not you can easily edit a text file.

    4) download the sources you need

    5) start build

    6) drink beer, sleep, whatever

    7) create ISO image, burn to CD

    8) boot from CD, use curses based installation and configuration tool to install new system.

    When you building a large number of boxes to be shipped to customers, and over which you want total control, Rock is superb. I can strip my distribution down to the bare minumum, and easily apply only those security patches or upgrades to new releases of packages I have tested.
  23. Re:Impossible by jareds · · Score: 4, Informative

    If you call a function many times, it will be in the cache most of the times that it is called. If you do not call it many times, any cache miss that might occur when it is called has negligible performance impact.

    Inlining functions will increase code size because some functions will be inlined in many places. Increasing code size will generally increase cache misses simply because it occupies more space in the cache.

  24. Re: meta-packages by drinkypoo · · Score: 4, Informative

    Every package management system which supports dependencies (apt, portage, ports, etc etc) will do this. KDE is just a package which depends on all those other packages. In fact this is how it works in the real world anyway: A full KDE3.x environment is made up of such and such libraries, such and such applications, and so on. They just release a new ebuild for the new KDE version, which depends on all the new versions of the component pieces, and when you emerge -u kde all of those packages will be upgraded in order, because the system tracks dependencies. It handles it in much the same way as debian, actually, in that you can make things depend on and provide virtual/foo (for instance vim supplies virtual/editor.) You can also have packages depend on actual packages, with specified version numbers, or you can specify a version >=, etc. Of course you probably know this stuff, but I felt it was worth mentioning here. Anyway apt provides dependencies so debian has the same feature.

    --
    "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
  25. Sounds like Rubyx by CatGrep · · Score: 2, Informative

    http://www.rubyx.org/
    From the Rubyx page:
    Rubyx is an operating system, created and maintained by rubyx, a script written in the ruby language.
    The script grew out of the need to create highly specialised linux installations for a massive multi-player online game, but has become a viable operating system for general use. It is working and usable (it's running this website) and package support grows daily.


    The Rubyx script actually builds your own customizsed distro with pretty-much whatever you want in it.