Gobolinux


Recommended Posts

Do you guys know about Gobolinux? I'm sure a number of you know what it's about, but I'll paste some info from it's website anyway:

From http://www.gobolinux.org/

GoboLinux is a modular Linux distribution: it organizes the programs in your system in a new, logical way. Instead of having

parts of a program thrown at /usr/bin, other parts at /etc and yet more parts thrown at /usr/share/something/or/another, each program gets its own directory tree, keeping them all neatly separated and allowing you to see everything that's installed in the system and which files belong to which programs in a simple and obvious way.

This is what you see in the root of a GoboLinux system:

~] cd /

/] ls

Programs

Users

System

Files

Mount

Depot

/Programs is where all programs reside. Each program entry contains all files for that program, stored in a versioned subdirectory. Multiple versions of a program can be maintained simultaneously, so you can alternate between them as you desire, or even use both at the same time when necessary.

Just like we use the filesystem to store the programs in an organized way, we also use it to index the files by category so that the system can find a needed file without scanning hundreds of program entries. In GoboLinux, this is done with a series of directories containing symbolic links pointing to the actual files. Notice also how this gives you a handy view of "what package does file XYZ belong to".

Another important property of link-based indexing is that any references to non-existing files automatically become broken links, and therefore inactive. This makes it easy to spot and fix problems and, most importantly, ensures that the the index is always in sync with the actual functional state of the system. Say goodbye to the old problem of having the package manager complain that libXYZ is not installed even though you can see that it is there. If it's live in the links index, it's live in the system, and vice-versa.

The GoboLinux system layout seems to be a major departure from the Unix tradition. Does this mean all programs need to adjusted so that they work with the new layout? Fortunately, the answer is no. Through a mapping of traditional paths into their GoboLinux counterparts, we transparently retain compatibility with the Unix legacy.

This is particularly interesting:

There is no rocket science to this: /bin is a link to /System/Links/Executables. And as a matter of fact, so is /usr/bin. And /usr/sbin... all "binaries" directories map to the same place. Amusingly, this makes us even more compatible than some more standard-looking distributions. In GoboLinux, all standard paths work for all files, while other distros may struggle with incompatibilites such as scripts breaking when they refer to /usr/bin/foo when the file is actually in /usr/local/bin/foo.

You can read the full intro at http://www.gobolinux.org/index.php?page=at_a_glance , it's not that long, really.

Gobolinux seems to make a lot of sense, I'd like to hear your opinions about it. I've never liked the *nix file hierarchy, and think Gobolinux is an intriguing distro. It currently lacks a decent package manager (there's a crude one included, but it's a little weird), but I'm sure in time it'll surpass some of the popular distros in availability and quality.

Link to comment
Share on other sites

Because they are, lol. The project is alive since 2003, which is quite good considering that the previous ones that didn't followed the FHS are deceased (BeOS still lives under Haiku).

Link to comment
Share on other sites

http://www.techiemoe.com/tech/gobo014.htm

http://www.linux.com/articles/60133

Sounds strange to me. Certainly not anything like a "mainstream" version of Linux. They say that it is much an "educational experience"....

If you are looking at delving into Linux for the first time, or do not have any experience with Linux, this is probably not the distro for you.

Link to comment
Share on other sites

They say that it is much an "educational experience"....

There's no reason why it should be a mere educational experience...

The file hierarchy they propose (and implement) makes more sense to me than FHS does. I'd like to hear your opinions on this.

Link to comment
Share on other sites

There's no reason why it should be a mere educational experience...

The file hierarchy they propose (and implement) makes more sense to me than FHS does. I'd like to hear your opinions on this.

The Linux experience is what the user makes of it. If the file system makes sense to you, then you should go ahead and try it. If, on the other hand, you want to learn Linux the way most distros put it together, then you should try one that represents how Linux is usually presented (with the standard file system, package managers, etc.).

At any rate, no one should make that choice for you. If it seems right to you, then by all means, try it.

Link to comment
Share on other sites

I already tried it, I only wanted to hear about what others thought about it. Perhaps I should ask this question;

Are there any reasons that you think make the FHS indispensible?

Link to comment
Share on other sites

... it organizes the programs in your system in a new, logical way. Instead of having parts of a program thrown at /usr/bin, other parts at /etc and yet more parts thrown at /usr/share/something/or/another, each program gets its own directory tree, keeping them all neatly separated and allowing you to see everything that's installed in the system and which files belong to which programs in a simple and obvious way.

That statement makes the presumption that it is not logical to have your binaries in one place, and your manuals all located in another.

For me, it makes sense. But if someone prefers the Gobo way... Well more power to them. Just don't expect a lot of compatibility with other instructions posted for Linux on the internet, because the locations will all be scrambled.

Link to comment
Share on other sites

^^^ :blink: System binaries are your base install binaries, needed by root. Your /bin binaries are the system base binaries that can be used by all users.

Just because you don't see the structure doesn't mean that the structure is bad.

Link to comment
Share on other sites

Eh, I still don't see the point. Strewing things around for the mere purpose of categorizing them seems messy to me, when the same thing could be accomplished by keeping an index.

Link to comment
Share on other sites

Eh, I still don't see the point. Strewing things around for the mere purpose of categorizing them seems messy to me, when the same thing could be accomplished by keeping an index.

An index of what type? Database like? :)

Link to comment
Share on other sites

An index of what type? Database like? :)

Whoa, that's an idea... what about an OS that has some sort of "registry" to keep track of all paths and preferences... oh, wait... ;)

Link to comment
Share on other sites

Whoa, that's an idea... what about an OS that has some sort of "registry" to keep track of all paths and preferences... oh, wait... ;)

It would open up a new market for cleaners and optimizers! :shifty:

EDIT: I just read up on the Gobolinux website. They actually don't change the unix directory structure at all. They just pile on a ton of symbolic links on top to create a symbolic web of links to make it look like it is also organized as stated. Sounds messy.

Edited by markjensen
Link to comment
Share on other sites

I just read up on the Gobolinux website. They actually don't change the unix directory structure at all. They just pile on a ton of symbolic links on top to create a symbolic web of links to make it look like it is also organized as stated. Sounds messy.

No, they keep symbolic links for /dev/ /bin , etc for compatibility. The true directory structure is the one they state.

Link to comment
Share on other sites

I'm not sure how much "value" there is in re-implimenting the filesystem layout, but you have to hand it to them for doing something different. Imo, this is the essence of Open Source Software.

As for Gobo... I'm not interested enough to download an iso, and because of it's unique filesystem structure it wouldn't be amongst my top 5 recomendations either. But kudos to them for trying.

Link to comment
Share on other sites

It sounds like it would be a good idea, what they propose the structure of the directories to be. Seems like it would be nice to have one directory for binaries used by the system, another only for the apps etc, etc. Similar to windows, but the only plus i see to this is for the newbies who are switching from windows to linux and want their tree structure to be like the windows. For those who have been using linux for quite some time and are used to the file structure is hard to switch back and get used to it one more time. So like i said, it does make sense, i still sometimes wish it was this way, but i also kind of uderstand the way linux does it, and it works just as is.

I should give Gobo a try in a VM just to see how much "esier, user friendly" this structure is. Thanks for the post.

Link to comment
Share on other sites

I thinks it make sense, they copied it from mac osx (exept Volumes -> Mount) but in the case of mac os, it does a really good job at hidding the complicated part to the -user- and let them view a well organised structure. The Unix FHS is better for security, server and command line indexing, but for an user, I really think that "a cleaner mess" is better then the FHS.

Of course, like MacOS X, it have to check link once in a while, but it is not long, even with 15000+ libs and bin.

Link to comment
Share on other sites

You can use separated partition with different mount option (readonly, noexec, gid, user, selinux, advanced per user right management, max file size, limits). It is harder / totally impossible with dynamic/continuous symbolic linking. It is also impossible to have a separated /etc, /bin*, /sbin* and /tmp (with total write block, even on mount -o remount-rw), this is the only way to keep hacker changing your configuration when they manage to get in.

Server: because it is stable (no broken symlink, grouped stuff and thing like that)

Indexing: Because it dosent have to scan 1000 million dirs or rely on untrustable symlink.

*Those are in /, but / would be the most restricted one)

Link to comment
Share on other sites

You can use separated partition with different mount option (readonly, noexec, gid, user, selinux, advanced per user right management, max file size, limits). It is harder / totally impossible with dynamic/continuous symbolic linking. It is also impossible to have a separated /etc, /bin*, /sbin* and /tmp (with total write block, even on mount -o remount-rw), this is the only way to keep hacker changing your configuration when they manage to get in.

Server: because it is stable (no broken symlink, grouped stuff and thing like that)

Indexing: Because it dosent have to scan 1000 million dirs or rely on untrustable symlink.

*Those are in /, but / would be the most restricted one)

Now that's a proper response.

Link to comment
Share on other sites

This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.