GoboLinux Rethinks The Linux Filesystems
dolbywan_kenobi writes "GoboLinux is an alternative Linux distribution which redefines the entire filesystem hierarchy. In GoboLinux we have paths such as /Programs/XFree86/4.3/ and /System/Settings/BootScripts/Reboot." By design, GoboLinux is quite a bit different from most Linux distributions, and -- notably -- is a live ISO, always nice.
First Link:
:-)
/usr/bin, and so on), but remember that they all point to the same place. This is a huge advantage, as it means, for example, that you'll never have to search for a library throughout your filesystem again -- it will always be in /lib (and in /usr/lib, because they point to the same place! -- no worries about compatibility). /etc, /var/log and /usr/bin in the expected places. However, some directories, such as the users' directories, didn't need to be linked to their "legacy" locations. This way, for a given user called "joe", you'll have, instead of /home/joe, /Users/joe. Notice also that the superuser's directory is no different than the ones from the other users, so, gobo's directory is at /Users/gobo. Mount points are under /Mount, not /mnt. /System/Settings/BootScripts you will find a few files that command the entire boot procedure: Init and Done run at system boot and shutdown, respectively; Single and Multi are used after Init for initialization of single-user and multi-user modes. Halt and Reboot are used after Done for each specific kind of finalization. The Options file separate site-specific settings from the rest of the scripts, and Tasks serves as a function library.
/Programs/XFree86/4.3/ and /System/Settings/BootScripts/Reboot. Like it? Read more...
/System/Links/Shared, FiboSandbox, and last but never the least, GoboHide. As usual, the ISO is compiled for i686 and is a "live CD" so you can try out GoboLinux without actually installing it, so you have no reason not to check it out. :)
Differences between GoboLinux and a traditional Linux system
Once you installed GoboLinux, your experience will be greatly improved if you are aware of the following facts...
* In the GoboLinux hierarchy, files are grouped by their functional category (executables, libraries, and so on). There are links at the classic directories you are used to (/bin,
* A little known UNIX rule states that what defines the superuser is its user id (which is zero), not its name. Through the years, there has been a convention to call the superuser "root". In GoboLinux, we chose to choose the superuser's name. It's called "gobo". It's fun, less ambiguous and even a bit more secure (since most crackers will try to login in your machine as root, you can setup a dummy, easy-to-break "root" account that will serve as a cracker-trap). In any case, if you wish to change the superuser's name back to "root", it is easy to do so.
* There are symbolic links relating most of the usual UNIX directories to the GoboLinux tree. Therefore, you will find directories such as
* Another major difference between GoboLinux and most Linux distributions is that it does not use a BSD nor a System V initialization procedure. Instead, it has its own. At
Second Link:
Overview
GoboLinux is an alternative Linux distribution which redefines the entire filesystem hierarchy. In GoboLinux we have paths such as
News
It's official: GoboLinux 006 is out!
May, 9th, 2003 at 1:05
Five months after the first alpha version, GoboLinux version 006 is now the official stable release. There are too many improvements to list here, the greatest ones being
Existing users don't need to reinstall from scratch (actually the idea is to never have to reinstall from scratch!). An upgrade mini-HOWTO will soon be posted on our mailing list.
To-do list: ideas for the future
May, 2nd, 2003 at 17:04
GoboLinux is all about cool ideas. A lot of them float around in the mailing list, but end up buried in the archives. Now gobolinux.org has a place to store them, with an optimistic name of To-do List. It is part of the documentation section.
New GoboLinux webpage u
Slashdot gets worse every day... Pipedot: News for nerds, without the corporate slant
Kuro5hin also has a good article on GoboLinux.
Are there any Microsoft tools for de/compressing normal archives (like ZIP, RAR, TAR.GZ, etc.)? Maybe in XP? I just use W2K + WinRAR.
Anyway, there's nothing wrong about treating compressed files as directories (especially if they have more than one file inside them). Technically, there isn't a big diference between, say, a ZIP file and a directory with file compression enabled.
Windows' default directory structure is reasonable, but I find some of the names too long (you can change them, BTW; programs will still install in the right places). I don't like drive letters at all, I would prefer drive / device names. It's possible to implement it with shares (ex., "boot:\\" instead of "c:\"), but some programs have problems with it.
On NTFS drives you can also mount volumes as directories (ex., mount your CD drive as c:\cdrom instead of e:, or whatever). NTFS is actually quite civilised.
RMN
~~~
The website gobolinux.org is currently hosted on a very "humble" server. If anybody is able to make any mirrors (especially for the ISO image), please do so. We were arranging some mirrors when we posted on Kuro5hin, but as probably always happens to everyone, we were not ready for Slashdot yet. If you want to help, drop a message to lucasvr(at)terra.com.br and we'll arrange something. Thanks!
/sbin utilities needed to get the the system to a booted state
/bin bare essential utilities needed to manipulate the system once booted or before multi-user mode
/usr/sbin system control programs needed to manage or alter a system once in multi-user mode
/usr/bin/ programs for interacting with a multi-user system
/usr/local/sbin/ system control programs that don't come from the os/hardware vendor
/usr/local/bin/ other programs that don't come from the os/hardware vendor
.org, .net and .com have lost their meanings.
Of course many modern lunix distributions break this by placing files wherever people think is cute, much like how the
--- I do not moderate.
Since the site is down, I can't give you a link, but one of the files used when installing GoboLinux allows you to set the directory names for everything.
/Programs
/Programme Dateien
They did this because originally GoboLinux was ment to run in user space. I can have an entire goboLinux install in my home directory. So in that case, I'd set:
$GOBO_PROGRAMS_DIR = ~/MyPrograms
To simplify a long story, all they did to make it a real linux distro was to change the one file that set all these variables. So the new line would be:
$GOBO_PROGRAMS_DIR =
Of course, if you live in Germany, and you can change that line to:
$GOBO_PROGRAMS_DIR =
(I used BabelFish, so excuse the translation of "Program Files". The system variable name isn't $GOBO_PROGRAMS_DIR either, but again, the site was down.)
So yes, GoboLinux does support multiple locales.
There are many more important areas that could be improved, like a consistent clipboard, working drag & drop, unique hotkeys in menus (or: hotkeys at all!), KDE's Start menu in most distributions containing literally dozens of programs, etc. etc.
If somebody uses the Linux shell, remembering that /dev means "devices" and what /usr/bin is for is the least of his worries...
Martin Kotulla SoftMaker Software GmbH
SoftMaker Office for Windows|Linux|Android
GoboLinux Rethinks The Linux Filesystem
Filesystem Hierarchy Standard has included the BSDs since 1995 - it's more than just Linux. I'm all in favor of questioning the assumptions to avoid getting caught on a local maxima, and I think this one is a dead end. FHS has some historical baggage, but it also has the strength of years of tempering.
Stop-Prism.org: Opt Out of Surveillance
/usr/share/plugins /usr/share/netscape/plugins /usr/share/mozilla/plugins
/usr/share tree, hence the name "share"; this matters more on traditional Unix hardware than it does now).
/usr/local and /usr separate - that way you, the local sysadmin (installing self-compiled stuff to /usr/local) and your package management system (installing to /usr) will never get in each others' way. /opt vs. /usr/local is a bit more subtle - you're meant to use /opt for identifiable "modules" which could be removed without side effects (I use it for games), and /usr/local for things which fit into the traditional Unix hierarchy (if you installed Mozilla in /opt the executable should be something like /opt/mozilla/mozilla or /opt/mozilla/bin/mozilla, if you installed in /usr/local it should just be /usr/local/bin/mozilla). Some distros don't have even have a /opt directory in the default install (Debian doesn't).
/usr/local vs. /opt), but it's pretty much standardized by now.
.tmp when I do backups)
/usr hierarchy is that you can put all the critical system files (/bin, /lib, ...) on a separate, smaller partition, which can sometimes even be read-only, guaranteeing that you have a bootable system.
Well, share is for platform-independent data, so that's out. (A Mac and a PC with the same Linux distro and packages should be able to use the same NFS-mounted
The rest are all possibilities, depending on whether you or your distribution vendor installed Mozilla, and whether you or they consider Mozilla to be a monolithic "black box" (like Windows apps) or an integrated part of the system (so it's easy for Galeon or other Gecko-based browsers to embed it).
It's valuable to have
I realise it's not ideal, particularly with some of the more subtle points (share vs. lib,
(I wish all my dotfiles followed a similar hierarchy, actually - I've started using symlinks to get the caches in ~/.tmp and the important config files in ~/.etc, so I can leave out
Some of the merging Gobolinux does seems like overkill; for instance, the benefit of having the
I'm an English expatriate living in Boulder, Colorado, USA. There are four of five roundabouts that I'm aware of in the state. All on small backroads, single-lane, lots of warning signs. Horrible traffic lights at 99% of the junctions, particularly the larger ones.
You end up choosing routes through the town based on the probability of hitting a red light - going in a particular circular flow because you know there's a chance you'll have a 2 minute wait if you go the other and need to make a left-turn through traffic.
The only slightly redeeming feature is that right-turn-on-red (equivalent of left-turn in the UK) kicks ass. Permitting undertaking and not having to drive on the right (left in the UK) on a multi-lane highway is sheer torture if you get stuck behind slow-moving traffic blocking both lanes.
For the love of god, I never thought I'd miss roundabouts so much. They solve so many traffic conjestion problems at junctions. But they couldn't build the damn things here because the average beginning American driver has a level of driver's ed that makes me blush and would crash and burn at the first complex multi-lane roundabout they encountered. Sigh.
The BitTorrent for GoboLinux is available at:
http://f.scarywater.net/GoboLinux-006.iso.torrent
(those using the gobolinux.org torrent are advised to switch to the scarywater.net torrent, since the gobolinux.org one is based on a bttracker running on a machine with a dynamic IP)
Probably because that's where it used to be. Back when I was using Windows, programs would either put config files in the windows directory, or their program directory. All of the system config files were in the windows directory too.
I don't know about samba specifically, but to follow good conventions, it should be called /etc/samba.conf or for multiple files be under the /etc/samba directory. Problem is, too many programs don't follow good conventions. This happens with MS Windows too.
I suppose it depends whether the programmers think of it as a config file (/etc) or data file (/usr/share). Then again, considering we are talking about KDE/GNOME programmers, who knows. I don't think they get *nix type systems in the first place.
The Linux tree makes more sense to me. If all the programs would follow the conventions, then backing up /etc, /usr/etc, and /usr/local/etc saves all the global config info. /home contains all user files and config info. /var/log contains the logs (Can be skipped if you're not paranoid). If you're running a server, parts of /var/spool may need to be backed up, but probably not for a desktop machine. Everything else can be ignored. bin, lib, share are already saved with your software disks. When backup time comes, this tree is quite easy, and has been standard for quite some time.
The main problems occur when programs don't follow the conventions. Lynx puts the config file /usr/lib/lynx--probably because the project started on a different system (DOS I think). I think Apache used to put all their stuff in /var.
The worst offenders seem to be developers who just came from a home computer background (MS DOS/Win, Amiga, Atari, whatever). They don't get the directory structure, so things go in the wrong places. When I first started with Linux, I had the same problem. I was so bad, I even wrote my own search program because I didn't know about grep.
In NT4, it lived in C:\WINNT\PROFILES\USERNAME\. This makes sense because it needed to be seperate from other user's. And, of course, it was still a special shell folder directly accessible. And why in WINNT? Because the profiles directory contains a lot of stuff you shouldn't mess with. If you can navigate directly to the My Documents folder, then hopefully you know what you're doing. Most people use the shell icon.
In 2000 and XP (unless it's an upgrade from NT) it's now in C:\Documents and Settings\username. Probably to calm down /.'ers that couldn't understand why it was in WINNT. Now they've hidden a bunch of the system files, however, so as to make you less likely to play with them. And XP has a handy C:\D&S\All Users\Shared Documents for everyone to access...and it has it's own shell folder too. Isn't that nice?
Oh, and every Windows since 95 has the ability to easily and/or programmatically change the location of the My Docs. Usually to a mapped (or unmapped) network drive. And profiles in the NT vein are accessible by the simple run command of %userprofile% without having to know the location of it.
Why do /.'ers (in general) speak so highly of the flexibility of *nix, but never bother to find the flexibility in Windows? Don't like the Program Files location? Change it! Don't like the My Documents location? Change it! Don't like Explorer as the shell? Change it!
This is already off-topic, but NT is has some POSIX compatibility so that Microsoft can sell it to the government. The US government requires POSIX compatability for all its OS's. And, btw, the POSIX subsystem in NT is totally broken -- MS made sure it will never run anything but the most basic stuff.