Slashdot Mirror


If I Had My Own Distro...

Gentu writes "Adam Scheinberg writes an interesting editorial explaining what he would do if he was a developer and he had a Linux distribution. His suggestions are pretty radical, and in places resembles of what Apple had done to MacOSX with the help of BSD as the underlying technology. But if this is what it takes to get Linux into the next level, it might worth the consideration."

8 of 712 comments (clear)

  1. Re:"What Linux Needs," my reiteration. by The+Vulture · · Score: 4, Interesting

    I have to agree and disagree with you on this.

    First of all, I would like to say that I have no objections on multiple pieces of software that do the same thing, after all, variety is good. Whether they should be included in a distro, well, that's up to the distro.

    There's different Linux distributions out there that have different purposes. RedHat seems to be going after the office market, Mandrake, the home user, Debian, the person who wants complete freedom (as in speech), Slackware, the tinkerer, etc.

    I've actually had visions of making my own distro, similar to the article author - I've gotten so far as to building my own program (on Freshmeat) that parses the Linux From Scratch XML file, to generate scripts to do an (fairly) automated build. From there, I would then decide on which packages I'd like to standardize on (KDE probably), and build them, make a nice installer, and there's my homebrew Linux.

    Personally, I don't care if Linux ever gets complete mainstream acceptance, and I get the feeling that many of the core developers of the kernel and other bug projects feel the same way. However, I would love to see a good distro that:
    1. Does not use RPM for package management (I've had RPM screw up way too many times in the past).
    2. Has a decent GUI installer
    3. Can configure all of my hardware without me tewaking it (I'll understand for some of the latest/greatest hardware, like my AIW 9700 Pro, but for instance, getting wireless setup on my laptop with both RedHat 8.0 and Slackware 9.0-pre was a pain)
    4. Very configurable

    The biggest obstacle to a lot of this is that writing programs (or frontends) that are easy to use is a pain. It takes a lot of work to design a GUI, and a lot of programming, and sanity checking, and for most of these developers who are working for free, it's just not worth the time (unless the program absolutely requires a GUI).

    Until then, I keep dreaming of my magical Linux distro... What keeps me from doing it is my full-time job as a programmer, which gives me little incentive to code at night.

    -- Joe

  2. Mac OS X by Swift+Guru · · Score: 4, Interesting

    There's not a single thing he mentioned that Mac OS X doesn't have. Not one single thing. If he hadn't mentioned it once in his article I would guess that he had either never heard of it, or was making a thinly veiled jab at the OS community for not achieving anything that comes close to the usability of Mac OS X.

  3. Re:"What Linux Needs," my reiteration. by RealAlaskan · · Score: 4, Interesting
    However, I would love to see a good distro that:
    1. Does not use RPM for package management (I've had RPM screw up way too many times in the past).
    2. Has a decent GUI installer
    3. Can configure all of my hardware without me tewaking it (I'll understand for some of the latest/greatest hardware, like my AIW 9700 Pro, but for instance, getting wireless setup on my laptop with both RedHat 8.0 and Slackware 9.0-pre was a pain)
    4. Very configurable

    Knoppix?

    Seriously, Knoppix seems to have everything but a ``push me to repartition the hard drive and install automagically'' button. That link makes it look as if getting that magic button wouldn't take much effort.

  4. Re:"What Linux Needs," my reiteration. by iabervon · · Score: 4, Interesting

    Debian is also good for the user who doesn't want to deal with installers. My experience with Debian has been that "sudo apt-get install " will reliably install just about all of the programs I've tried (the main exception being valgrind on stable). RPM is a nice idea, but you have to actually find RPMs, which is a pain.

    It could really use a nice index (not a list; an index, where you could look up "Web Browsers, m-something") of available packages. It could also use a nice index of the packages you have installed.

    For that matter, it would be nice to be able to type "apt-get install some clock" and get a nice clock. Not a particular clock, since the user obviously doesn't care, but one that some maintainer likes. And it should appear in menus as "clock", not as whatever the clock package is actually called, because the user doesn't want to know. If somebody wants "xclock", that's available to, as "xclock".

    When an application wants a web browser, it should run "web-browser [url]". That's a symlink in ~/bin to the user's current favorite web browser, or a symlink in /usr/bin to the system's favorite (or only) web browser. Maybe it should be possible to configure the application to do something different, but people probably wouldn't. We've had $PAGER for ages, and symlinks are even cooler than environment variables. My editor of choice is $EDITOR filename (actually a small shell script which does this).

  5. nutz by cdn-programmer · · Score: 4, Interesting

    I think the artical speaks for itself... if he made that distro available I would not touch it and I doubt many others would either.

    1) I am quite happy with the present directory structure. I do not want a bunch of symlinks - they are confusing and utterly unnecessary.

    2) His idea of what apps to include probably will not coincide with mine. For instance - is he planning on including emacs? How about gcc and g77?

    I'm sure he thought about gcc but I'll bet he forgot about g77.

    3) He never mentioned the most important aspect of a distro - that is its upgradeability. This is the reason I switched to Debian... Debian can be painlessly upgraded.

    I have an old machine with RedHat 6.1 in it. I bought a copy of Mandrake 8.0 Mandrake is NOT installed (does anybody want it?). The reason is the question of doing an upgrade. I _KNOW_ that the moment I try to upgrade that redhat box that it will break all over the place. If I wipe the drive I lose 3 years of work. In fact - if I were to take it out from behind the firewall - it would be hacked within the hour!

    For me it was cheaper to go buy ANOTHER computer and leave the old one as it was.

    4) He made no mention of security.

    5) He has missed the most important areas where Linux needs work. I'd like to offer My Humbol Opinion. The work needs to be in the area of the functionality of a loopback mount. We need to be able to stuff a directory tree into a single file and have the OS mount it automatically - similar to the loopback but with the following difference.

    When you do a loopback mount - the whole file system sees it. I want a mount where ONLY a single process tree sees it. This allows one to EASILY create a chroot jail for a user.

    Several years ago I tried with Kurt Seifried to create a true chroot jail in linux - we failed.

    This automatic mount to a single application could be say bash mounting into a given file or it could be a daemon mounting into a file or it could be an application mounting into a given file. This would make it possible to stuff a complete app into a single file which can be unzipped and pointed too. By doing this, different versions of an app could be simultaneously present in the machine and a user could switch back and forth with a simple pointer change. The pointer could be a symlink.

    We are already partway there with the loopback and chroot. Where the problem is stems from the apps that are NOT chrooted. As an admin when I install say something like wxWindows - I would prefer to see only one file. As a user I prefer to see all the files in the package.

    This is one step away from a true Virtual Machine for Linux - which we also need. Probably it can be done using User Mode Linux. But I think it should be supported right in the distro.

    IMHO - the present filesystem was designed to be lightweight. When disks were 40MB it probably made sense. Now that disks are past 40GB I don't think it makes sense. When they pass the TB mark in a couple years - well - IMHO they are almost unmanagable now.

    The underlying reason that this author cannot un-install the apps is because the apps are allowed to spew files all over the system. Most sysadmins don't even know where the files go and they simply trust the developers came up with a reasonable organization. If we go to a filesystem that allows us to force an app to live within a single file - then we can easily remove any old app - we simply delete the file it lives in. People can easily deal with a single file - where the problems come from is when we have 1000's of files and the make clean doesn't work right.

    IBM had this concept fully developed years ago under VM/TSO. It was called a Partition DataSet back then.

    If we had this concept in linux then for instance X-Windows might live in a file called XFree86_4.1.0.1.PDS and we might use something like ln -s XFree86_4.1.0.1.PDS startx

    If so - then when startx is run - the PDS is mounted and the

  6. What about no install program at all? by Wayne+Gramlich · · Score: 4, Interesting

    The whole concept of distribution installation is getting a little frayed around the edges. Installing a distribution made sense when everybody had CD drives and few people broadband connections. It is making less sense now. It will make even less sense 5 years from now. Why not do something new for a change? How about a distribution that is only available on the net? How about using a P2P caching file system?

    Think in terms of something that is a cross between NFS (20 years old) and BitTorrent. For example, when I access:

    /global/redhat.com/rh10.2/usr/bin/{some_program}
    it goes off and downloads and locally caches the binary. If it needs any librarys, it downloads and caches them as well. The bottom line is that the user only downloads those files that they actually use and they do not have to decide beforehand what they want. Just use it! If it isn't cached on your disk, the system fetches it. If you want to upgrade, just change your path from:
    /global/redhat.com/rh10.2/usr/bin
    to:
    /global/redhat.com/rh11.0/usr/bin

    No install program needed, just start using the new bits. When a cached file hasn't been used in a year or so, it just gets deleted by the underlying system.

    Please note, the Open Source community does not have to figure out how to charge for files downloaded, unlike some big commercial software companies out there. Thus, the Open Source community can make it easier to install and upgrade than the commercial counterparts.

    Yes, I'm glossing over a bunch of very important issues (security, multiple platforms, configuration files, load distribution, etc.), but it is time for people to start thinking about doing things in new ways rather than the way we were doing them for the past 10-30 years. I'm suggesting that we actually innovate for a change.

    -Wayne
  7. Re:Uhm... by intermodal · · Score: 4, Interesting

    well, thanks for the cut and paste, but that relates to basically nothing I said in parent. Because your post was so amusingly idiotic, i will of course respond.

    NetBSD rules! Anyway, Gentoo Linux is an interesting new distribution with some great features. Unfortunately, it has attracted a large number of clueless wannabes who absolutely MUST advocate Gentoo at every opportunity. Let's look at the language of these zealots, and find out what it really means...

    NetBSD is not my preference, Gentoo is simply an easier way of going about a linux from scratch source-approach than the actual LFS system is, and has a thriving community willing to help the less knowledgeable.

    "Although I can't use the box at the moment because it's compiling something, as it will be for the next five days, it gives me more time to check out the latest USE flags and potentially unstable optimisation settings."

    I rarely update my system. I do it whenever I either have some downtime, or will be away from my computer for a significant amount of time, like if I have a busy weekend coming up. (yes, I do actually do things other than use my computer.)

    "Apart from Hello World in Pascal at school, I've never written a single program in my life or contributed to an open source project, yet staring at endless streams of GCC output whizzing by somehow helps me contribute to international freedom."

    Idealism doesn't even enter into it. Yes, I program. No, I haven't contributed to any released opensource projects yet but I do have some things in the works. Nothing earth-shattering, as most of those are either in the works or I am not at that level of skill yet. I do not proclaim l33tness before the n00bs, nor do I consider myself to be particularly knowledgeable apart from areas I have worked on myself.

    "Last month I tried to install FreeBSD on a well-supported machine, but the text-based installer scared me off. I've never used a BSD, but the guys on Slashdot say that it's l33t though, so surely I must be for using Gentoo."

    Not a sentence of this applied to me. I have used Debian, Red Flag, Red Hat, Mandrake, Slackware, tinfoil hat, hal99 or whatever, and core linux. I found Gentoo to be a better fit for my needs, and also was better at handling dependency checks than the alternatives.

    "I've spent hours recompiling Fetchmail, X-Chat, gEdit and thousands of other programs which spend 99% of their time waiting for user input. Even though only the kernel and glibc make a significant difference with optimisations, and RPMs and .debs can be rebuilt with a handful of commands (AND Red Hat supplies i686 kernel and glibc packages), my box MUST be faster. It's nothing to do with the fact that I've disabled all startup services and I'm running BlackBox instead of GNOME or KDE."

    Perhaps my machine spends more time compiling, but I spend more time not having to deal with it compiling. Portage does it for me, when I am not at my computer anyhow. I don't see how this is a logical arguement at all. You must use Windows XP. And I do use FluxBox, but its a matter of preference.

    "...my overclocked AMD eMachines box from PC World, and apart from the third-grade made-to-break components and dodgy fan..."

    Actually I roll my own. hand picked parts, good fans, good quality power supplies and drives, and yes I run AMD but no it's not out of Intel hatred. Also, I don't overclock.

    "I'm too stupid to understand that circular dependencies can be resolved by specifying BOTH .rpms together on the command line, and that problems hardly ever occur if one uses proper Red Hat packages instead of mixing SuSE, Mandrake and Joe's Linux packages together (which the system wasn't designed for)."

    Not true. I successfully used Red Hat without such problems for about a year. I found its defaults wanting. The best part of Gentoo for me is customization from the start at low l

    --
    In SOVIET RUSSIA... erm...NSA AMERICA, the Internet logs onto YOU!
  8. In summary: A friendly Debian by Rysc · · Score: 5, Interesting

    I've scrolled halfway through the posts and haven't seen anyone say it, so I will: He's describing Debian.

    Okay, not now Debian, but a friendly Debian. His /system/commands "idea" is a clunkly thought out version of /etc/alternatives. His "One bog site where you can download packages that are guaranteed to work with your distro" describes the official apt repository nicely. His description of dependancy hell sounds like the experience of a RPM user--I wont say that Debian never has pckage problems, but I will say that I've only ever seen them in Unstable--on my Debian system dependancies are never an issue.

    I don't mean to sound like a Debian-loving zealot (though I probably am...) but 50% of what he wants Debian already does. Of the rest:

    The revamped directory structure is a must. I've looked at it every way I can, but as far as I can see the old unix layout (while close to my heart) is not going to make desktop users happy. I've heard all tha counter arguments (and made most of them myself) so don't bother. I dissagree with his names, and I don't like the way MacOSX does it either, but something has to be done. Even if it isn't renaming (people can learn any names, after all) it should be depreciating certain practices and/or not allowing them. I know there are good reasons for /bin and /usr/bin and /usr/local/bin (and on Debian at least their uses are clearly defined) but one bin directory for users and one for root should be enough. (The argument is (of course) partitioning. Mount /usr ro! /bin is on / so that the system always boots and everything else can be remote! I don't have an answer; maybe the HURD and its fancy merging directory thing will be the solution.) Debian can dictate such a change, if it could be agreed upon.

    Limiting choice. This is a Very Bad Idea. limited choice is never, ever good--this is my firm conviction. But that doesn't mean there can't be sensible defaults. Make everything work automatically and TOGETHER automatically, and have all of the choices there for those who go looking. Maybe limiting packages on the install CD is worthwhile... but the choice should always be there. Debian limits nothing, and its default setup does not work perfectly... but it has potential. I can see it pulling itself up by its bootstraps and becoming a system that works together with itself.

    Graphical installers. I'll say it one more time, I've said it before: screen one of the installer should be DOS/curses style and say "Easy install or Advanced install?" This is not to say everything he said about having the graphical install have advanced buttons isn't true; that's necessary as well. What this means is that the idiots can pick "Easy" while I pick "Advanced" and I get my sure-to-work-on-this-VGA-piece-of-shit installer complete with cfdisk partitioning and all of the gory details. There should never be a total reliance on a fully GUI install. Debian's installer is awful and could use some kind of option like this.

    Liscense. BSD-style is nice, but GPL is Free. Non-GPL is not an option.

    Kernel. This is another point in favor of Debian. It's (at least potentially) kernel agnostic. Linux today, NetBSD tomorrow, the HURD on Friday. A truly Complete Debian would allow you to pick any (supported) kernel you wanted at install time... be it Linux, or *BSD, or whatever. Doesn't matter.

    As far as source goes... the debian way seems good. apt-get source. You can't do it by mistake, and it's not like archive material so few would get it "because it's free". Bandwidth problem largely solved (or at least not seriously aggravated) and you don't piss off zealots like me.

    I will close by saying it again: Don't reinvent what Debian already does. Build a debian-based distro (a script could repackage many applications to use any new dir layout you choose). What this guy wants is a Friendly Debian and a little bit of proprietary code.

    --
    I want my Cowboyneal