GoboLinux Rethinks The Linux Filesystems 859
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.
3 comments and nearly /.ed (Score:5, Informative)
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
Another article... (Score:5, Informative)
Re:Looks like Darwin. Smells like gnu. (Score:3, Informative)
Re:Is it just me, (Score:5, Informative)
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
~~~
Re:Filename extensions (Score:4, Informative)
Err, what do you mean "no one can really tell?"
If the file has an execute bit set, it's probably executable. If the file has a directory bit, it's a directory.
Yeah, you need to understand the system before you can use it, but learning that system is trivial.
drw-rw-rw- tells you everything you need to know.
**Mirrors needed badly** (Score:2, Informative)
Re:mixed case = bad for shell (Score:3, Informative)
Explanation. (Score:5, Informative)
/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
Different locales (Score:1, Informative)
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.
Re:Looks like Darwin. Smells like gnu. (Score:1, Informative)
Re:Is it just me, (Score:2, Informative)
Fortunately, in Windows 2000/XP and higher, you can assign drive letters however you want. Check Control Panel->Administration Tools->Computer Management->Disk Management. I'm not sure if you have to be using NTFS though.
And THAT is important? (Score:3, Informative)
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
Re:Looks like Darwin. Smells like gnu. (Score:3, Informative)
You don't even have to delete the closing double quote if you want to specify a file within the dir - just add on the backslash, press the first letter, and hit [tab], and it's all taken care of for you.
*nix Filesystem, Not Just Linux (Score:3, Informative)
Filesystem Hierarchy Standard [pathname.com] 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.
Re:Is it just me, (Score:2, Informative)
True, but... (Score:3, Informative)
Technically true, and useful most of the time, but try something like merging a couple old small drives to a large one. You'll have no choice but to partition that beefy drive to end up with the same drive letters, or else do some serious registry surgery.
Good luck if one of those moved drives contains DLLs or utilities that the system expects to access during startup (I have had that situation. Ugly. Very, very ugly.)
Re:mixed case = bad for shell (Score:2, Informative)
Perhaps you're looking at it incorrectly. It seems to me that the real solution would be to make tab-expansion case-insensitive.
complete (+)
Re:For all those who ask, "Why?" (Score:5, Informative)
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
Re:mixed case = bad for shell (Score:2, Informative)
Customizing bash [cygwin.com]
~/.inputrc
# Ignore case while completing
set completion-ignore-case on
The US needs more roundabouts (totally off topic) (Score:1, Informative)
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.
Re:Is it just me, (Score:1, Informative)
Re:um.. (Score:5, Informative)
Only Windows XP has tab completion enabled by default. Windows 2000 and NT (IIRC), have this capability in CMD.EXE but it's disabled by default.
To enable it (which I do all the time in win2000), do this:
1. Hit the "Start" button
2. Select "Run"
3. enter "regedit", hit OK
4. Expand "My computer" (by clicking the little [+] beside it)
5. Expand HKEY_LOCAL_MACHINE
6. Expand SOFTWARE
7. Expand Microsoft
8. Expand Command Processor
9. Double-click "CompletionChar"
10. Replace the value that's there with 9 (which is the ASCII equivalent of the TAB key)
11. Click OK
I found this here [jacobsen.no]. I just googled for "windows 2000 tab completion" and yes, I felt lucky.. :)
Re:**Mirrors needed badly** (Score:2, Informative)
The link for the
http://gobolinux.org/download/iso/GoboLinux-006
Spread it.
-- Rafasgj
-- GoboLinux Scripts Maintainer
Re:mixed case = bad for shell (Score:3, Informative)
What you are describing is case preservation, not case sensitivity.
Case-insensitive tab-expansion (Score:1, Informative)
GoboLinux bittorent available (Score:2, Informative)
http://f.scarywater.net/GoboLinux-006.iso.torrent [scarywater.net]
(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)
Re:Is it just me, (Score:4, Informative)
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.
Re:Is it just me, (Score:3, Informative)
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!
NT and POSIX (not) (Score:2, Informative)
Re:Figures (Score:3, Informative)
Your last statement looks like the classical political split moved to software. The conserative says, "It has worked well for years. Any proposed change should be approached with great care to avoid lossage." The progressive shouts, "Revolution! It's old and too complex for me to understand so lets tear it fucking down!"
The truth, as always is between the two extremes, and that is pretty much where things are in UNIXland. There HAS been a fair amount of change in the filesystem layout over the years, just not enough to suit the revolutionaries like yourself.
Re:mixed case = bad for shell (Score:3, Informative)
On Unix a filename is a sequence of bytes. The only rule is that the sequence cannot contain a zero byte and cannot contain the byte that happens to be the ASCII character '/'. If you want to see if a given string of bytes refers to the same file as another string of bytes, you check each byte for EQAUALITY. There are no other rules.
On "case insensitive" filesystems there are LOTS of rules. You may think it is trivial but it is not. Do we assumme ISO-8859-1? What about the german double-s? What about the characters microsoft assigned to 0x80 to 0x9F? What about Unicode, or UTF-8, where many pages of codes have not even been assigned?
In fact even MicroSoft has given up on this, case-insensitivity is officially limited to the original 8-bit characters in ISO-8859-1 and possibly their C1 additions. There have already been plenty of viruses and exploits which rely on programs failing to check if two files are the same.
Anybody who thinks a low-level system interface should treat a multi-byte random length block of data like filename as anything other than binary bits is a moron with no experience programming systems.
Now conversely there is no reason why user interface programs, including shells, cannot be smarter. Case-insensitive filename completion would be a great addition (many Unix shells already do this but it is not on by default). Even better would be spelling correction, correct handling of UTF-8, correction of zero and 'o' and different numbers of spaces and other things that people also confuse, and so on. Oddly enough one of the biggest impediments to these sorts of shells is the need to talk to case-insensitive filesystems, this greately complicates the algorithims as there is more than one correct target string to match.
Maybe when the people arguing for (and against) "case insensitive" realize that this is a GUI issue that should not affect the file system at all, we might see some real "innovation". But until case-insensitive is actually removed from all file systems I am afraid this is not going to happen.