gobolinux.org — In a world where most Linux distros are derivatives of a few major, established distros, GoboLinux stands out with a radically different concept: making _all_ packages live in self-contained directories. Yeah, this is like /Applications in OSX, but there are no exceptions (so, no /System/Library mess!). And it's a live CD, so check it out.
Nov 7, 2006 View in Crawl 4
tarpitNov 7, 2006
I have heard this Idea mentioned before as if it already existed, but I have yet to see anything in wild about it.
nereusrenNov 7, 2006
New to Digg; don't see a way to reply to specific posts. Am I just blind? Anyway, from ericmoritz:"When I look at all the packages I have installed in synaptic, I have 1838 packages installed."... plus any programs that you installed manually because they aren't in your repository, which you have no way to count or keep track of."The benefit of Gobo's filesystem layout is purely aesthetic. I'm certain that there is no noticeable change in ease of use by using this method."Here's some tangible usability benefits that I have found:- I can install new versions and apps that aren't in my package manager's database, without messing up my ability to easily manage and remove those programs and programs that depend on them.- I don't need any central database keeping track of which app put what files where, because I can simply delete the Programs tree of an app I want to get rid of.- I can tell what program owns a file that is causing a conflict with a new program I'm installing. Regardless of whether I choose to leave the existing one in place or use the new one, both files are kept intact in their Program's directory, ready to be replaced if I later decide I want the other one.- I can keep multiple versions of one program, even if they conflict in binary or library names. Switching between which is "active" is done either by changing the symlinks manually, or issuing e.g. "SymlinkProgram -conflict overwrite GCC 3.4" when I need to compile a program that doesn't work with 4.0.- All of the libraries are linked into one directory, which is linked to from /usr/lib, /local/usr/lib, /lib, and so on. This can even *increase* compatability with programs that expect a specific directory to contain all the libs it needs.- Similarly, all of the binaries are linked in /System/Links/Executables, so there are no issues with setting paths and sudo-ing sbin programs. I always get surprised and frustrated by this when I go back to a legacy unix tree, and certain commands have "disappeared" from my path as a regular user.The aesthetic benefits are also significant for some users, who prefer that their package manager not be hiding anything or "doing magic" to get everything to work right. When the file system is the package manager, it is completely transparent.This is just what I can think of offhand. Read some of the explanatory articles at <a class="user" href="http://gobolinux.org/?page=documentation">http://gobolinux.org/?page=documentation</a> if you are interested in hearing about the intended benefits straight from the source.
steveofarNov 7, 2006
A lot of people here aren't realizing that OS X uses Frameworks, they are shared libraries on steroids, there's no duplication if the developers want to share libraries.E.g.> /usr/bin/otool -L /Applications/iCal.app/Contents/MacOS/iCal /System/Library/Frameworks/AddressBook.framework/Versions/A/AddressBook (compatibility version 1.0.0, current version 477.0.0) /System/Library/Frameworks/Carbon.framework/Versions/A/Carbon (compatibility version 2.0.0, current version 128.0.0) /System/Library/Frameworks/OpenGL.framework/Versions/A/OpenGL (compatibility version 1.0.0, current version 1.0.0) /System/Library/Frameworks/QuickTime.framework/Versions/A/QuickTime (compatibility version 1.0.0, current version 106.0.0)etc
guspazNov 8, 2006
Is there a good way to uninstall (delete every file installed by) a configure/make/make install? I haven't noticed one yet, and GoboLinux seems to solve that problem rather well. I hate how with *nix systems, every file from every application is sprinkled all over the file system willy-nilly, mixing and blending with every other app. I hate how I can't use a package from one distribution with another, because one puts everything in /usr/bin, and another puts everything in /usr/local/bin. I hate how fragmented everything is on Linux.I'll say this for Windows, there's a certain degree of standardization there, and it's really refreshing.
tupperbacharachNov 8, 2006
I tried Gobolinux 11 for a while. Apart from the distinctive and simplified file system hierarchy, I recall that another big plus was that the init system was unique, elegant and lightning fast.
xilonNov 8, 2006
So basically it's a "port" of the OSX file hierarchy to Linux? Even the direcotry names are similar:P"~] cd //] lsProgramsUsersSystemFilesMountDepot"ApplicationsDeveloperLibrarySystemUsersI'm not really convinced that this is any better than the current Linux way. It appears that the libraries do get shared but it's a bit confusing for me atm... It seems that the libraries are in the Programs folder?"/System/Links/Libraries] ls -l | cut -b 49-...libgtk-1.2.so.0 -> /Programs/GTK+/1.2.10/lib/libgtk-1.2.so.0.9.1"That doesn't really make any sense to me, "/usr/lib/libgtk1.2.10" makes way more sense. Imo it should be the other way, they symlinks should be within the programs directory pointing to the global libraries directory. That way it would be more portable as well.I really like the Mac OSX way where you have everying self contained and totally portable between installs (especially with the universal binaries) but I don't really see this working for Linux. I like the current way though it is sometimes hard to find stuff and REALLY difficult to totally remove an application which wasn't installed via a package manager and there's no "make uninstall" or equivalent. This would definitely eliminate that problem but it seems it will bring many more problems to the table.
ordminuteNov 8, 2006
You need to read about the Linux filesystem hierachy. If you have a terminal open, the fastest way to read about it is 'man hier'. Put simply.bin/ is for binariesetc/ is for configuration filesshare/ is for other files (application data) the program needs to resourceIf you compile an application on Linux (rare these days) it will go into /usr/local/bin.It's configuration files, if it has any will go into /usr/local/etc.It's application data will go into /usr/local/shareIf you install an application using your package manager the binary will go into /usr/bin.Configuration files will go into /usr/etc or /etc, application data into /usr/share etc.All your basic Linux GNU tools go into /bin/. Core system administration binaries into /sbin/If you're on a Debian based system (Ubuntu, Xandros, Linspire [ad infinitum]) you can easily see where programs will be installed from Debian packages:dpkg -S package-nameI'm sure Redhat based systems have a similar feature.Can you do that on Windows with Windows installers? Nope. Try looking in C:WindowsSystem32 on a year old machine used regularly..There's nothing 'willy-nilly' about the installation paths on a Linux system, you just haven't taken the time to understand it.
at2000Nov 8, 2006
ademan:have new linux users asked you what are "usr", "share" and "doc"?do you know when a file you want to find falls into /usr/lib/perl, /usr/lib/perl5, /usr/share/perl or /usr/share/perl5?