I like the fact that idiots are getting in on the act of <em>making operating systems</em> at OSNews, but they really need to have a little more respect for their elders.
It it just me or does it feel really good to use terrible grammar. It’s cathartic, liberating, and makes you lose all of your responsibilities as an adult. Whee!
OSNews (Thom Holwerda specifically) talks a little about the FHS and why something like what GoboLinux implements is not preferable.
His basic excuse is, no one can be bothered. If he and the guy who did the filesystem for GoboLinux would have read the FHS spec, they would have much better reasons for using it. But first, a disclaimer:
The GoboLinux way is to use the filesystem itself as the package manager. It’s clearly aimed for people using PCs, and not something like an embedded device, a server, or other such. No admin in their right mind would ever deploy a gobolinux server cluster, and no sane embedded systems developer would use GoboLinux to lay out their filesystem. That’s OK, though, because it’s not for them. I don’t expect that the GoboLinux guys are idiots, they just know their market.
Now for the Shit-storm fury:
Thom is a fucking idiot, and as an editor of OSNews he really ought to do his fucking homework before shitting all over a standard which has had more thought put into it than he gives it credit for. The FHS isn’t old, it’s got pedigree. No one changes it not because it would break everything, but because you can’t easily improve on it.
Firstly, most Linux distributions actually do really fucking well when it comes to implementing the FHS, and Debian / Ubuntu have pretty much got it down (I say pretty much because there are exceptions, but they’re minor, and you can submit a bug report to get that fixed anyway). In any case, both myself and Thom concede that just because everyone follows the FHS doesn’t mean you should use it.
Let’s look at one of the major achievements of the FHS that using the GoboLinux system would fuck up: Imagine that you’re the sysadmin for thousands of computers of various architectures, how would you set up and mount a GoboLinux system? What permissions do people have to various chunks of the filesystem? How do you upgrade it?
What, you never thought about that? Really? The FHS did!
Our Uni has a deployment like this. a ton of boxes all running on a semi-distributed linux system. They mount /usr
on an NFS mount, keep /bin
, /boot
, etc. as a bootstrapper to mount /usr
, and keep /var
as a scratch (as the FHS dictates). They also NFS mount /home
(in a fairly complex way, because of the number of students at the uni). In any case, I can log into any box at uni as myself, and have all my user preferences saved, but still have a fairly quick system that I can use. In theory the uni deployment could also work for multiple architectures, sharing most of the same files (like icons, java jars, etc.), except for the ones which can’t be shared (like binaries). The NFS mounts to /usr
are also read-only, which is not something you can do with GoboLinux.
In embedded systems, the problem is even more crystallized. The /usr
filesystem is often put into a ROM, which is always read-only. You cannot actually edit anything in there. This is why having a /var
as an area where services can put data is imperative. I’m guessing a lot of routers could have /var
as a ramdisk, and /usr
as ROM. You can’t do that with GoboLinux.
My point is, you can’t usurp the current system while under-estimating it. The GoboLinux guys really haven’t thought through how a deployment would work in every circumstance, and they’ve made decisions which would break a lot of solutions out there. At least try and understand what the fuck is going on, and read the FHS before denouncing it as merely old...