Linked by Andrew Fries on Mon 11th Oct 2004 21:17 UTC
Linux Rubyx is an advanced, source based distro that stands out from the crowd thanks to some unusual and innovative features. It is also exceptionally lean and mean, and it goes like a rocket! I am a big fan of Rubyx and in this article I will attempt to show you why.
Order by: Score:

high level article
by verbat on Mon 11th Oct 2004 21:31 UTC

nice article to read, and to see that someone thinks the LSB is wrong about how stuff should appear on the system.
Gobonese and rubyxers I totally agree with you.

But I'd have loved to have more deep info on how the init system works.
It sounds interesting, but I just could'nt get it from its short paragraph.

Ununununununium
by Buck on Mon 11th Oct 2004 21:35 UTC

Well, Unununium guys implemented their whole OS in Python. Or at least, a major part of it. That's a modern trend I guess. The next version of Windows should be a big VB script badly put together.

Interesting Distro
by David Ross on Mon 11th Oct 2004 21:36 UTC

I might be a BSD hacker, but that is neat. I have wondered what a system that has ruby for everything would be like.

You included ruby in the base. Now the users are stuck with that version forever. Do you have the ruby you use another name? If you include Ruby in the base the users have to depend on that version, and it's hard to upgrade ruby without breaking scripts. For instance, in FreeBSD 4.x there is Perl. That version had to stay the same forever because of incompatibilities on including such an important program in base. Does this distro/or will it ever suffer from the stale effect? Upgrading the ruby in base is no answer, it will break many programs and administrators scripts.

A++ on accomplishments of the OS though ;)

Interesting Project
by Paul on Mon 11th Oct 2004 21:40 UTC

The project seems pretty interesting but I don't know how useful it is. Other than a different directory structure it really offers nothing else over gentoo. It also seems to have less prebuilt ebuilds and nothing beats gentoo's support forums.

...
by Thom Holwerda on Mon 11th Oct 2004 21:43 UTC

Rubyx indeed seems like a very interesting project; too bad I don't have any Linux installations to start off with.

As for the author: we got the message that you never used Windows.

Rubyx
by Matty on Mon 11th Oct 2004 21:49 UTC

The problem with the said project is the fragmentation of the current linux base causing confusion.

Just my thoughts...

matty

Interesting but...
by Archangel on Mon 11th Oct 2004 21:51 UTC

...sounds quite like Gentoo to me? Or I suppose Gentoo with a more Gobo-like filesystem.

Good to see they're not worried about convienience - having to download & compile their p2p client in order to download the install files is quite... interesting. But if that's the way they want it done...

*sigh*
by surrounder on Mon 11th Oct 2004 21:55 UTC

Oh yeah, nice article indeed! If I could only read the mind of my poor harddrive, tormented with at least 5 OS'es this month...I know he knows me...shivers by the thought of his boss sitting at his desk with a huge smile and an upcoming holiday....there goes my free time..*sigh* ;)

Replies...
by bsdrocks on Mon 11th Oct 2004 21:55 UTC

verbat: But I'd have loved to have more deep info on how the init system works.

I second, I recently learned that init system is written in Ruby when I visited to its website. I wish, there have more doc about init system.


David Ross: You included ruby in the base. Now the users are stuck with that version forever. Do you have the ruby you use another name? If you include Ruby in the base the users have to depend on that version, and it's hard to upgrade ruby without breaking scripts. For instance, in FreeBSD 4.x there is Perl. That version had to stay the same forever because of incompatibilities on including such an important program in base. Does this distro/or will it ever suffer from the stale effect? Upgrading the ruby in base is no answer, it will break many programs and administrators scripts.

It is something that I am wondering about it too. I hope, itself ruby can be upgrade by package system or whatever. Push any high level language in the base system is one thing that I always dislike unless itself is a package that will be installed by default.

diy with scripts?
by Anonymous on Mon 11th Oct 2004 22:14 UTC

I find it hilarious that people will go to all the trouble to write a script to handle complex system tasks such as dependancy handling but will not write a script todo trival tasks such as partition and then setting up /etc/fstab. This is not DIY this is just lazyness.

Not exciting
by Smartpatrol on Mon 11th Oct 2004 22:16 UTC

Seems like a fun project for someone who likes ruby.Other than thatI can't see the value of a system like this. Its not like companies are going to run out and run all their mission critical Application on Rubyx. Ubuntu, Rubyx, etc.. = YALD

Needs to offer something more
by Anonymous on Mon 11th Oct 2004 22:17 UTC

Sounds like an interesting project at its early stage, but I think is quite similar to Gentoo, and the latter has momentum on its side. Gentoo docs re really nice and the forums are among the best I've ever seen. And yes, Portage has almost every package that one might need

I could use it.

And about Ubuntu, whatever... I hope the day system administration will be automatic comes as soon as possible. Some companies that don't make money out of the complexity of the systems should provide the needed distros and tools.

diy with scripts?
by Joe Drago on Mon 11th Oct 2004 22:34 UTC

That is a simple case of "an itch that doesn't itch a developer doesn't get scratched."

When someone starting a fresh distro writes some scripts, the last thing on his mind (unless it's the goal of the distro) is to worry about the install. He's much more interested in writing the system config and scripts for running the machine.

Re: /etc/fstab script and P2P
by Ian on Mon 11th Oct 2004 22:35 UTC

I find it hilarious that people will go to all the trouble to write a script to handle complex system tasks such as dependancy handling but will not write a script todo trival tasks such as partition and then setting up /etc/fstab. This is not DIY this is just lazyness.
What's the point of a script to setup the /etc/fstab? Setting up the fstab is something you do once, and then you might update again every few months. Whereas installing software you do all the time. So yes, give a higher priority on automating frequent tasks even if they are complex. Dependancy handling is half the reason we use distributions in the first place.

I'm somewhat tempted by this since I'm a ruby fan. Though I don't really understand how the ebuilds could be written in ruby, with Gentoo they're written in a python shell script hybrid. But yea, one of the reasons I use Gentoo is its wide selection of ebuilds.

The P2P system sounds kinda cool, though it would make sense to use Gentoo's system of source mirrors as well (Gentoo is non-profit, sure they wouldn't mind). Is there a system to prevent P2P poisoning? Gentoo is currently work on this due to some concievable problems with MD5, they'll probably switch to a trusted key system fairly soon.

Also, I don't understand how you would login in single user mode given its weird init.d setup as described.

Closing remarks.
by blixel on Mon 11th Oct 2004 23:00 UTC

Blixel was just wondering if the author commonly talks about himself in the third person.

@ Paul
by verbat on Mon 11th Oct 2004 23:01 UTC

the really interesting thing is also the init system, you just skimmed over it, but it seems *way* better than what is usually seen on linux.
Other feature I just discovered: parallel builds/makes/distcc seems something cool, and pkges are installable from *any* user without security/functionality problems.

Whats with that red sigh?
by madclicker on Mon 11th Oct 2004 23:16 UTC

Does it has a meaning to it?

@Blixel
by andrew on Mon 11th Oct 2004 23:19 UTC

> Blixel was just wondering if the author commonly talks about himself in the third person.

Sometimes he does, though he much prefers the royal "We" ;)

@verbat
by andrew on Mon 11th Oct 2004 23:28 UTC

About the init system - I kind of skimmed over it because honestly I don't feel qualified to talk about it in more detail. I'm just a user... I hope the creator of Rubyx will chime in with better explanation.

as for package installation, it is handled by a non-root user; in fact the system creates a user for each package it installs. Yes, it means you end up with a lot of users.

RE: Whats with that red sigh?
by Jonathan on Mon 11th Oct 2004 23:56 UTC

At first I thought it was the Japanese katakana character "ka" that is used only for phonetics. But I found it is the word "chikara" that means force or strength. The two symbols looks the same.

http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-talk/84470

Ewww
by Chris on Tue 12th Oct 2004 00:32 UTC

What a disgusting way to manage a system, with symbolic links all over the place. Gah, I hope I never have to administrate something like this. I get annoyed with sparse files everywhere as much as the next guy, but thankfully good install scripts/package managers can make it easy to find things.
But config files REALLY need to be in one spot. I love how RH dumps so much into /etc/sysconfig. Wanna know why this helps?

tar -cvjf etc-data-hostname.tar.bz2 /etc

That command can save 90% of my configuration time should my hard disk die. I'm sure they link it all well, but the thought of all those links scares me.

I would like to see non-library apps become localized in their directories, but libs should throw files every which-way. Then just throw a symlink in /usr/bin/ to their exe.
It'd also be cool if everyone added something like this to makescripts:
echo "Just type 'program_command' to execute"

Re: tar
by Ian on Tue 12th Oct 2004 01:06 UTC

If you check out man tar, I'm sure tarring up the files the symbolic links point to is trivial. Symbolic links aren't that big of a deal or that messy really.

And give that (made-up statistic) 95% of users don't compile anything themselves, adding information at the end of Makefiles would be a bad habit for developers to get into. All that should be in the README.

Re: DIY with scripts
by Archangel on Tue 12th Oct 2004 02:28 UTC

"I find it hilarious that people will go to all the trouble to write a script to handle complex system tasks such as dependancy handling but will not write a script todo trival tasks such as partition and then setting up /etc/fstab. This is not DIY this is just lazyness"

How exactly would you suggest this script works? It has to set up your partitions (and hence fstab) given that the user may wish for one / partition, or that and /usr, or that and /home, or a few other combinations. They may also have partitions on the hdd already; there may be more than one hdd involved; or quite a few other scenarios I can't think of now.
Ultimately this script would ask so many questions it's not much easier than doing it manually. And given that users have to download and compile a p2p client in order to install this distro, I doubt it's really a problem for them.

v ms was right
by whatever on Tue 12th Oct 2004 02:49 UTC
DragonFlyBSD
by CaptainPinko on Tue 12th Oct 2004 03:06 UTC

I believe it's for the reasons David Ross mentioned that DragonFlyBSD is IIRC trying to remove all dependency from Perl and rewrite eveyhting in pure /bin/sh. Could be wrong.

sounds interesting
by Michael Salivar on Tue 12th Oct 2004 03:43 UTC

Gobo always intrigued me, but I'm not a big fan of all the symlinks, it seems like a hack to me. I'm sure it's the easiest option, though. Together with the init system I think I'll have to give this a try.

Does anyone know if it's fairly doable with dialup? I don't mind the wait, but I couldn't deal with Gentoo's behavior. That is downloading package one and compiling it before it goes on to compile package two instead of downloading package two while package one compiles. Maybe this isn't the case anymore, I haven't tried since... I think 1.4

Re: sounds interesting
by andrew on Tue 12th Oct 2004 04:12 UTC

Michael, I can't say I ever tried it, but I suspect White Water would not work over dial-up, just like you can't really use bittorrent on dial-up. So Rubyx might not be the best option for you. However you could try Gobo - their live CD can be downloaded over ftp; it will take whatever it takes, but at the end you'll have a pretty complete system on the CD. As to what you said about Gentoo - yes, I think it still behaves this way. But you could try distros from the Sorcerer family: Sorcerer, Lunar and Source Mage. They all have enough smarts to continue downloading other packages while compiling the first one.

Perl --> Sh was done in FreeBSD not DragonFlyBSD
by renoX on Tue 12th Oct 2004 05:04 UTC

As said Perl --> Shell was done in FreeBSD not DragonFlyBSD, I remember it because at the time FreeBSD developers said repetively that they were rewriting in shell not because they don't like Perl, but to allow the user the freedom to choose its own version.

Still, I think the problem could be reduced by putting the Perl/Ruby interpreter in a different location that the package use for downloading new user version, and put the path of the "system" interpretor in the system scripts (#!/system/ruby).
This will prevent a boot problem whatever the user download, but I think that if they invoke a system script for their user Ruby/Perl interpretor there could be problems as it would be the user interpretor which would be used..
Still it is better that not booting, well unless the user modified a system script and tested it with the user interpretor..



Right Idea wrong approach ...
by Shawn on Tue 12th Oct 2004 07:20 UTC

I can see what he is trying to accomplish with that layout change. However as would most certainly be the case, he will always be fighting an up hill battle. He will have to repackage every package upon every update.

The way I see it he notices what I have thought for some time now … ever since I was introduced to the Plan9 archival file server concept present in Venti. The idea of having a write-once, never-have-to-replace base system I imagine would make life a lot easier when dealing with installed out dated programs that reference depreciated libraries or multiple versions a program.

For those who may not be familiar with it, "In this system, a unique hash of a block's contents acts as the block identifier for read and write operations. This approach enforces a write-once policy, preventing accidental or malicious destruction of data. In addition, duplicate copies of a block can be coalesced, reducing the consumption of storage and simplifying the implementation of clients."

What this means is that with a rather limited amount of additional space you could have multiple versions of the same file, much like the way snapshots work except on a block level there would be absolutely no duplicate data, thus being highly space efficient.

One thing to be considered is that there would then be no need to use symbolic links, instead programs would link to the file they wanted and be able to get the version they need. The Plan9 binding approach comes to mind, where all relevant bin directories are bound to a single location.

There would need to be some thought put into how this would be implemented. But not much change as I can see rather simple approaches to take. If successfully implemented there would not need to be any fragmentation of the LSB since developers could continue using the standard locations. No packages would ever have to break given the fact that their required version can always be accessed.

That's where I think Gobo and Rubyx are trying to go, they just dont know it yet ...

re: sounds interesting
by nxt on Tue 12th Oct 2004 07:33 UTC

From the Gentoo Handbook (that thing you read before you install Gentoo ;)

[quote]
If you want emerge to download the sources before you continue (for instance because you don't want the internet connection to be left open while you are building all packages) you can use the --fetchonly option of emerge which will fetch all sources for you.
[/quote]

Wondering how you could miss this and still install Gentoo ;)

My view of Rubyx
by Magnus Engström on Tue 12th Oct 2004 07:44 UTC

Hi,

I'm a Rubyx fanatic since my first install of it. I'm running it on all computers at home, and having tested for a while, I'm now sure that it is stable enough to put on my clients' servers as well.

As the author of the article points out, this distro is not for the newbie or users that likes to rely on GUI utilities, but power users concerned about the system integrity will find a really nice system in Rubyx.

Many of the comments mentions that it sounds just like Gentoo with much fewer packages, but a Gentoo and Rubyx system differs _a lot_. They have in common building from source and dependency handling, but that's mostly all. Even do I haven't got much experience using Gentoo, I have noticed that Gentoo packages usually tends to patch and change things quite a lot. Rubyx packages is as much unchanged as possible from the default source installation, only applying additional patches and non-standard configurations when absolutely necessary (example: xv is patched to allow viewing png files among others).

Many of the packages currently not in Rubyx are developed by the users, and waiting for review in order to make sure that everything works as it should, providing a painless user experience. Many packages not officially added can be found in the mailinglist, make sure to check it out.

As for the lack of runlevels, I think that most users would have the need for mostly two, single user mode and full mode. Rubx doesn't have a builtin single user mode (I think ;) , but one can always supply init=/bin/bash to the kernel at bootup, and that provides a much more failsafe mode than runlevel 1 in most distributions.

RE: My view of Rubyx
by jmit on Tue 12th Oct 2004 08:45 UTC

>>Even do I haven't got much experience using Gentoo, I have noticed that Gentoo packages usually tends to patch and change things quite a lot.<<

Is this a negative thing about Gentoo? I would call this actvitiy or work in progress

@nxt
by Michael Salivar on Tue 12th Oct 2004 10:44 UTC

Wondering how you could miss this and still install Gentoo ;)

Like I said, it's been quite some time. I'm fairly sure that wasn't in the handbook when I installed it. But then, I'm not perfect, maybe I did miss it.

@jmit
by Michael Salivar on Tue 12th Oct 2004 10:58 UTC

>>Even do I haven't got much experience using Gentoo, I have noticed that Gentoo packages usually tends to patch and change things quite a lot.<<

Is this a negative thing about Gentoo? I would call this actvitiy or work in progress


Everyone's needs are different, why can't they both be advantages? Personally I prefer unpatched packages, since it both seems easier to find solutions to problems, and I feel less hesitant to submit bug reports or ask developers questions.

But then, I see the advantages of heavily patching applications too: fixing distribution specific bugs and fitting everything together more cohesively, though I don't know how much of the former you'll have without the latter.

This is just one of the many reasons there's such a wide variety of distributions.

RE: My view of Rubyx
by Magnus Engström on Tue 12th Oct 2004 11:01 UTC

>> Is this a negative thing about Gentoo? I would call this actvitiy or work in progress <<

I'd say that "work in progress" would be fitting, as the Gentoo systems I've seen has been quite broken with all patches that hasn't been thoroughly tested with all other software that also doesn't behave as expected from time to time. It is also very hard to use a Gentoo system when coming from much every other distribution, as the "standard" applications often behave very differently.

Mind that I do separate the distribution software itself and the applications. The Rubyx distribution software is quite different from "regular" distributions ;)

v Natural selection
by Sphinx on Tue 12th Oct 2004 14:40 UTC
rubyx is one large script...
by John Nilsson on Tue 12th Oct 2004 17:12 UTC

This system seems to have the same problem that gentoo has: One god tool to handle everything related to the system.

The unix filosofy of having small 'perfect' tools is not that bad. Why must pepople break it all the time?

Buy creating god tools like this you just create restrictions.

What the OSS world needs is interfaces between the components, not reimplementation of them in every god damn distribution.

How Does This...?
by Michael on Tue 12th Oct 2004 19:22 UTC

How does this compare with the other source based distros (Gentoo, Slackware, LFS, etc), as I didn't really see any mention of them in the article...this does seem like an interesting distro and I'll maybe check it out?!


Michael
http://phantasyrpg.com/main.php?view=9898

v Re: Natural selection
by Michael on Tue 12th Oct 2004 20:55 UTC
RE: How does this...?
by MobyTurbo on Wed 13th Oct 2004 00:32 UTC

Um, Slackware is not a source-based distribution. It for a long time has used binary packages identical to gzipped tarballs of binaries with a simple script to set up symlinks.

v RE: Natural Selection
by Lumbergh on Wed 13th Oct 2004 04:30 UTC
v RE: Natural Selection
by Michael Salivar on Wed 13th Oct 2004 04:56 UTC
v RE: Natural Selection
by David Adams on Wed 13th Oct 2004 05:04 UTC
REL: sounds interesting
by mudrii on Wed 13th Oct 2004 06:08 UTC

Michael Salivar
Does anyone know if it's fairly doable with dialup? I don't mind the wait, but I couldn't deal with Gentoo's behavior. That is downloading package one and compiling it before it goes on to compile package two instead of downloading package two while package one compiles. Maybe this isn't the case anymore, I haven't tried since... I think 1.4


CHK this Link ;-)
http://sourceforge.net/projects/appear/
<u>A frontend written in sh which makes Portage (the Gentoo Linux package manager) much more efficient by backgrounding downloads and allowing for automatic prelinking of packages.</u>