Based on the first paragraph of the site, they're indeed using their own filesystem layout. Whether or not it's cleaner/easier/useful is, of course, up to the user.
Why ?
I mean don't get me wrong, it does look organized yes, but can someone explain me the pros and cons about such a thing ? the website is very sparse about it.
Depends on your perspective on file systems. For those that want to get to know their file system inside out (so they know what they have on their system) a more straightforward layout is its own benefit.
But you would still need a tool to manage dependencies, track updates, etc. And it will be this tool that you will need to use to keep the system in a consistent state.
Really excited to see this get active again. GoboLinux sets itself apart from other distributions being one of the few that tackle a drastic change to the filesystem. They keep compatibility with the filesystem hierarchy standard via symlinks but that is mostly hidden from the user.
For those wondering about more information there is definitely a better writeup about the file system layout on wikipedia.
I'd say the filesystem is really the differentiator here. Back when I first tried it out boot times were insanely fast compared to other distros of the day. However I'm sure that gap has been shortened (if not inversed.. haven't tried the latest version.)
Not saying the filesystem had anything to do with the boottimes. That was because they use a different boot system.
Another distribution which ditches the FHS is NixOS. On top of this, it implements a configuration management system as a core part of the OS, is a source distro with an online binary cache (so installing things by default doesn't require building anything, but it's very easy to modify package definitions), and allows for very easy rollbacks, multiple system environments, and a bunch more interesting stuff. It's also not had a multi-year hiatus as a recent part of its history.
True. But the hashes Nix uses in folder names make it a bit more complicated than it has to be. But I like both GoboLinux and NixOS and really hope one of them or a similar approach takes off some day.
As someone that just (2? 3? days ago) migrated his laptop to nixos I can certainly sympathize. That said, hashes aren't a big issue and the community is quite nice. Packages aren't thaaaat up to date, but pull requests to bump these things are answered in days (sometimes hours). I have FreeBSD PRs open for weeks...
In the end I like it. I'm not sure if this is the best thing ever, but I appreciate the fact that I have a single file that describes my whole system.
> Packages aren't thaaaat up to date, but pull requests to bump these things are answered in days (sometimes hours).
It's also possible to write custom packages as part of your configuration if you need them "right now", through `packageOverrides`. As a general rule, packages are updated by people who need newer versions of packages; there's not really a maintainer infrastructure like most distros have. If something needs to be done, whoever is affected by it does that thing. I'll point out that there's not a security team either yet, so it's not really suitable for real production use.
Personally, as someone who's battled the usual configuration management approach of "here's a fully working OS with its own ideas of how things should be done... now modify that through a really awful ad-hoc scripting language without breaking anything", NixOS is amazing. It's even possible to build tests into your system configuration!
Yes, 015 is 13 octal. :) Remember when a bunch of distros inflated their version numbers to catch up with each other? We decided to poke fun on that and make the GoboLinux version numbers octal, so we'd have "scheduled bumps", so yes, we went from 007 to 010, and will go from 017 straight to 020 in the future :)
It builds software in it's own namespace so it sees /usr/include/stdio.h as a symlink to whatever version it was built for, and the symlink won't change if you update Glibc.
In fact, the original documentation of Homebrew described this approach as "The GoboLinux Way". (They no longer call it that, but this reference is buried somewhere in their git history.)
23 comments
[ 3.1 ms ] story [ 49.7 ms ] thread* Installation of multiple versions of the same program is trivial
* Uninstall programs just by deleting a Folder
For those wondering about more information there is definitely a better writeup about the file system layout on wikipedia.
http://en.wikipedia.org/wiki/GoboLinux
As well as more recently written slides
http://gobolinux.org/doc/fisl2014/GoboLinux-015.pdf
I'd say the filesystem is really the differentiator here. Back when I first tried it out boot times were insanely fast compared to other distros of the day. However I'm sure that gap has been shortened (if not inversed.. haven't tried the latest version.)
Not saying the filesystem had anything to do with the boottimes. That was because they use a different boot system.
In the end I like it. I'm not sure if this is the best thing ever, but I appreciate the fact that I have a single file that describes my whole system.
It's also possible to write custom packages as part of your configuration if you need them "right now", through `packageOverrides`. As a general rule, packages are updated by people who need newer versions of packages; there's not really a maintainer infrastructure like most distros have. If something needs to be done, whoever is affected by it does that thing. I'll point out that there's not a security team either yet, so it's not really suitable for real production use.
Personally, as someone who's battled the usual configuration management approach of "here's a fully working OS with its own ideas of how things should be done... now modify that through a really awful ad-hoc scripting language without breaking anything", NixOS is amazing. It's even possible to build tests into your system configuration!
~] ls -l /usr/include/stdio.h | cut -b 45-
stdio.h -> /Programs/Glibc/2.3.6/include/stdio.h
Does anyone know what happens if e.g. a later version of Glibc overwrites the stdio.h 2.3.6 version found under /usr/include/stdio.h?
How does GoboLinux still retain its "compatibility with the Unix legacy" in such situations without breaking things?
It's also worth noting GoboLinux predates Homebrew by about 7 years.