Post a Comment
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.
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.
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 
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.
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.
The problem with the said project is the fragmentation of the current linux base causing confusion.
Just my thoughts...
matty
...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...
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* 
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.
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.
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
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.
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.
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.
Blixel was just wondering if the author commonly talks about himself in the third person.
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.
> 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"
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.
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
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"
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.
"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.
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.
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
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.
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..
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 ...
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
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.
>>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
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.
>>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.
>> 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 
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 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
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.
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>




