Linked by Thom Holwerda on Mon 30th Jan 2012 20:39 UTC
General Unix Finally something really interesting to talk about. If you've used UNIX or any of its derivatives, you've probably wondered why there's /bin, /sbin, /usr/bin, /usr/sbin in the file system. You may even have a rationalisation for the existence of each and every one of these directories. The thing is, though - all these rationalisations were thought up after these directories were created. As it turns out, the real reasoning is pretty damn straightforward.
Thread beginning with comment 505615
To view parent comment, click here.
To read all comments associated with this story, please click here.
Alfman
Member since:
2011-01-28

jabjoe,


I think your missing the point: it's not about the difficulty, it's about continually discussing and working on ways of making linux better. You seem to indicate that it's good enough for you, therefor other's like me shouldn't bother tackling it to suit our needs. But my opinion is that complacency might be holding linux back. It's not to discredit the achievements of the past by any means, but we also need to look forward. I'm not alone in wanting more consistency in the file system, and I'm glad others like GoboLinux are working on ways to try to clean things up a bit.

Reply Parent Score: 2

jabjoe Member since:
2009-05-06

I don't think the file hierarchy needs to be seen by most users. The UI guides them to stay in home and provides drives not mounts (though of course they are really mounts). They have UIs to configure things. Any users more advanced than that can understand the file hierarchy, it is not hard, very little to read. So who is this for?

The difficulty can not be dismissed. Cutting the wood how you want regardless of grain, just makes crappy furniture.
The difficult is not in the changing of decades and decades of code (which you aren't going to be able to do, so you will need a legacy tree). The difficult is getting everyone to commit to such a large body of work for so little gain. They won't agree to a all new hierarchy, and they won't agree to some indirection standard. Even if the world wasn't what it is and you convinced the majority of developers to change, there will still be enough that you have to do a legacy tree, making your system more complex than what was there before as it requires both and to understand how they interact.

We already have a mess like this with audio. OSS, ALSA and PA. Revolution doesn't work. If the Linux audio guys had evolved OSS instead of made ALSA, they would have come to something like OSSv4 and we wouldn't have this mess.

I can see you are determined and single minded when you have committed to something, like myself, but you are on the wrong track and I hope you don't waste years on this. You have been calm and patient making your point, that bodes well, so maybe you can see what I'm saying and avoid this time/life sink.

Reply Parent Score: 2

Alfman Member since:
2011-01-28

jabjoe,

"I don't think the file hierarchy needs to be seen by most users."

Sometimes it's difficult to avoid, but I am not going to disagree with you on this point in principal.

"Any users more advanced than that can understand the file hierarchy, it is not hard, very little to read. So who is this for?"

It's not about only about "understanding", but about organizational consistency, clarity, and the simplicity of keeping application files together. Frankly dos applications were much easier to manage because they had this property. Of course external dependencies are sometimes a necessary evil, however it would be great if those external dependencies could be managed using simple & explicit resource dependency maps.

Of course what we have now works, and the repositories hide alot of the complexity for most users. But that is just pushing the problem upstream. Install an app like asterisk or ffmpeg from source and tell me dependency hell isn't a problem under linux. I think solutions are within reach, but we need to start with cleaning up our messy inconsistent directory hierarchies.


"The difficulty can not be dismissed."

I don't think the solution needs to be as difficult as you imagine. Mine is just one solution, but there are other possibilities. I think it could be done transparently by adding a process resource map which would get loaded by the distro. This map could be anywhere, but in a GoboLinux hierarchy it would make sense to keep in the application's directory. This would allow the distro to abstract absolute hard coded paths in binaries to distro specific paths. As with GoboLinux today, this would also make managing/running multiple versions a breeze.

"You have been calm and patient making your point, that bodes well, so maybe you can see what I'm saying and avoid this time/life sink."

I'm not getting a clear message on whether you are speaking so discouragingly because you don't want others to make progress on this front, or if you merely think we're too entrenched in compatibility issues to fix it.

Reply Parent Score: 2