5
Votes
Not really a FUD, but an answer to something I’ve always wondered: Why the hell do we need 10 different directories for binaries? A stunning illustration of the haphazard development of UNIX standards.
Not really a FUD, but an answer to something I’ve always wondered: Why the hell do we need 10 different directories for binaries? A stunning illustration of the haphazard development of UNIX standards.
Comments
To start with, I should be fair and point out that there are quite a few locations for Windows binaries. They’re actually structured locations, though, so you don’t need a beard as long as Old Father Time’s to work out where to look.
It’s not something the Loons like to talk about, because it puts them in a very bad light. Essentially it boils down to a combination of failed security policies and a history of bitchiness.
Let’s start with /bin, which I think was the fons et origins. Sadly, nobody in the early years of Unix could work out precisely what was in the kernel and what was built into the shell (or indeed which shell was the shell) and what was a free-standing executable. A certain amount of namespace clashing occurred.
At the same time, and ignoring bit players like Irix, the World cleaved into Two: Berkeley, and IBM/AT&T. Thus you have the origins of BSD and System V. Unfortunately, of course, they both wanted to use /bin. On the whole they solved this in a fairly amicable way: generally, Berkeley just went off in a huff and invented their own bin directories.
I’m getting ahead of myself, though. There’s also /sbin, which is the first indication that Early Loon was aware of certain gaping security holes (well documented in the Hater’s Handbook, although I don’t recall it being specific about /sbin. Think privilege escalation).
/sbin was where all the secure executables went, because only Mr Root would ever want to use those, right? Some of these executables used to have the same name as their insecure little brothers in /bin, AFAIK. But that’s all right, because they’re on a different path. And the *nix PATH environment variable is possibly the single greatest intellectual achievement known to man. Who could get that wrong?
A lot of sysadmins, evidently. Sysadmins on early *nix systems would routinely force themselves to type /sbin/fb rather than just fb (thus relying on the path), or even “frobulate,” which is what a sane operating system would have called it.
But, but. We’re not done yet!
Remember that bit about Berkeley going off in a huff? Specifically, they went off in a huff to /usr/ucb, which tends to have the sockety stuff in it. Then a Voice came from behind the Fridge, and they decided to add in /usr/ccs/bin for some unknown reason.
Now the cat was really out of the bag.
Want X binaries? I tend to forget where those are — in fact I think they are in two different places, one for running the damn thing and one for administering the mess when it goes t1ts up — and end up using find. Oops, sorry, I mean /sbin/find. Or is it /bin/find? You can’t do a lot of damage with find, unless of course you use the magic exec extensions. So it’s probably /sbin/find, just to be on the safe side.
And what’s good enough for X is good enough for anybody. You’ll notice that Linux in particular makes heavy use of /usr/bin (and occasionally, I think, /usr/share/bin, although that might just be /usr/share/lib).
This is because Linux goes a step further, security-wise, that mere mortal *nices. /sbin is for the Supreme Being, and /bin is for Acolytes. /usr/bin and the like are for, well, users. Why they didn’t just call it /n00b/bin and have done with it is beyond me. I suppose that pesky extra mount point got them down, though God knows why, because it never stops them in any other use case.
/usr/bin is for programs produced by people who you wouldn’t trust with pocket change. You should never let things in /usr/bin escape off onto other computers, or even have access to other computers. Unspeakable stupidity happens in /usr/bin.
Which is why, of course, 90% of the stuff that downstream Distros provide sits under /usr/bin.
Then there’s /var/bin, which I’ve never quite understood. There’s /etc/bin, for when /usr/bin just isn’t descriptive enough. And I believe that, when I worked on a Solaris machine, we used to install our stuff on /export/bin or some such lunacy.
Why? Because, with all the other sin bins around, nobody would quite get around to mucking with our stuff in /export/bin and consequently /sbin/fscking it up.
It’s all quite simple, really.
Note that the original argument for multiple partitions (you can put important stuff on swap or /bin, and mount it on a faster disk, or a faster file system, or a more suitable file system — typically ext2 on Linux, although the definition of “more suitable” beats me in this case; I assume “without journalling,” which almost makes sense for binaries) is totally hosed by this farrago.
Not that I know about any of this stuff.
I’m just a M$ $hill.
Bonus
I noticed this quote from a self-proclaimed newbie whilst I was checking details (I haven’t checked all of them):
“my question is what is this directories for (/usr/ccs/bin & /usr/xpg4/bin)? and why are there 2 instances of ar which can be found on both of these directories.”
Why are there two instances of ar? I can tell you that, but I’ll leave it open for the moment as a topic of discussion.
“Not that I know about any of this stuff.
I’m just a M$ $hill.”
As our great old english scholar oiaohm would say:
þu stunge álærest þæs bearges forgrindet, ic anades ándaga ond tmendes þæs bearges.
Do you mind if I quote him on that?
I’d rather you did.
But, if necessary, I will reserve it for the appropriate moment.
Feel free to quote at will my dear doctor. THough I woudn’t want to take bets on whether he would answer.
He rends to keep quiet when you really nail him.
Its double funny since our old english expert would probably have a field day correcting my grammar, considering that its been over 20 years since I really worked with old english.
For those who dont know old english, the original was:
Never teach a pig to sing,
It wastes time and and annoys the pig!
@Olderman:
And the strange thing about that is, once you actually know what it means, you can parse the original pretty easily.
Rather like reading oiaohm in general, in fact…
I should point out btw that all of that verbiage above was the result of a brain-fart.
Specifically, I didn’t even bother to look at the link.
Compare and contrast, if you will. Now, can any of my students address the rather central issue of why there are two different version of the “ar” command? (And I don’t even care which bin-like directory you can find them in. Clue: both of them are outside the kernel and outside the shell. They actually both reside in different bins.)
@Oldman:
BTW, my sincere thanks. That was excellent!
Just, in a general sense, I’m an old-fashioned sort of Oxbridge guy, and I like to hang out with people who have the same attitude on life.
For some bizarre reason that I can’t quite explain, the beargas made my day.
bearges. Sigh.
You have much to learn, young Jedi: up to and including the freakin edit button.
And, as a final comment on this insanity (other than the 'ar’ thing, which I might just take sideways). From the actual link:
“Personally, I symlink /bin /sbin and /lib to their /usr
equivalents on systems I put together. Embedded guys try to understand and
simplify…”
Indeed. And just in case you misinterpret “indeed” as some sort of sarcastic comment” it isn’t. I mean it with all my embedded little heart.
Indeed.
I totally forgot /home, btw.
Good Lord: why does any sane person in IT take this ancient piece of rubbish seriously?
One more thing, from the link;
“It [the random locations for binaries] stopped making any sense before Linux was ever invented, for multiple reasons.”
But of course that was no concern of Linus.
Nor of his slavish followers since 1992 or so.
I actually think it’s awesome.
All the apps are in the recycle bin folder; the system basically tells you that they are sh*t – all of them.
Refreshing honesty, that.
“But of course that was no concern of Linus”
But I would suggest that backward compatibility was of concern, especially if he wanted to leverage the existing pile of *nix scripts and apps.
The end results of course was the propagation of crap, that was cemented in place by use of symlinks (a.k.a why clean things up when you can just make it appear as if a needed file is in a different place than it actually is)/
I can’t really leave this without quoting the excellent Rob Landley at the end of the link:
“GPLv3: as worthy a successor as The Phantom Menace, as timely as Duke Nukem
Forever, and as welcome as New Coke.”
Indeed.
“But, if necessary, I will reserve it for the appropriate moment.”
Ah My dear doctor, your application was entirely apropos. Of course Poggo-san will not even attempt the translation.
He is just happy to see you go.
You will be missed.
@Olderman:
Actually, symlinks are one of the few positive contributions that *nix has ever made, IMHO. They’re not limited to a single partition like hard links; they’re good for temporary fixes when used in moderation; and you can take an existing legacy piece of crap with logical units all over the place and essentially provide what, in database terms, would be described as a “view.”
Symlinks are a jolly good way to hide the underlying mess.
Unfortunately, on Linux (and partially because of the BiannualForcedDeathMarch™, if you ask me), they are essentially used to map the underlying mess onto a completely new, and probably even more complex, mess.
Put a sophisticated tool in the hands of a monkey, and this is what you get.
@Olderman:
Naturally, I wear being nixed (no asterisk required) from the Pog-Blog as a badge of honour. I was particularly proud to go out in a blaze of Anglo-Saxon glory — heartfelt thanks.
I notice Robert is boasting about the uptake on his site today. It’ll be interesting if that uptake continues when he’s hell-bent on extinguishing opposing views.
I must say, irrespective of anything else, it gets quite wearisome when all you have is a mutual back-scratching exercise between Pog and oiaohm, with the occasional feeble snark from Kosmcrae thrown in.
Oh, and the two different versions of “ar” (Jim Lad)?
One, I believe, is System V, and restricts file names to twelve characters. (Can you laugh at “8.3.” little Loon? Why, yes, I believe you can!)
The other is BSD and removes this restriction.
Now, any sane implementation would unify the two, if only on the level of heuristics. (“Mmmm … every file name in this appears to be twelve characters or less. I know! I’ll write the new version out according to the new standard! After all, everybody is using the latest and greatest version now, so it’s instant compatibility! I can even save the original as a “.bak” file for all those edge cases out there!)
The revered Gurus of Unix, however, chose the path (as it were) less followed: ie, keep both of them, for no obvious gain and a huge amount of confusion.
“Naturally, I wear being nixed (no asterisk required) from the Pog-Blog as a badge of honour. I was particularly proud to go out in a blaze of Anglo-Saxon glory — heartfelt thanks”
Forgive my denseness, but I thought your leaving was voluntary, I didnt realize that you were banned.
“I must say, irrespective of anything else, it gets quite wearisome when all you have is a mutual back-scratching exercise between Pog and oiaohm, with the occasional feeble snark from Kosmcrae thrown in.”
You may have noticed that I am posting less and less these days. This is because I too am getting tired of Pog’s ability to completely ignore any point that does not jibe with his world view.
To be honest I am not sure who is the more pathetic of the crew, Pog who lives in a fantasyland, or oiaohm with his compulsive need to undercut his own arguments by telling the truth about linux’s shortcomings and then think that saying “but it is getting better” makes that admission better.
The only thing that I regret is that oiaohm didn’t take the bait and try to bulls—t his way through being an expert at old english. I actually would have committed to the substantial task of bushing up on old english grammar and syntax just to string the a$$hole along!
Anyway. It was great fun watching you beat them both to a draw!
Take care!
I think the only reason that I am still around is that I voluntarily helped him with a technical problem when he was teaching in the far North.
Beyond this I think he sees me as someone who will see the light if he calmly keeps explaining
@Olderman:
In the interests of fairness: yes, I voluntarily signed off, so it’s not a straight-forward case of censorship.
It was more than a little weird when I tried to post a one-paragraph bit in support of his comment that “HUD” is a bad idea, only to find that the post vanished into nowhere. So I’m assuming that I’m on some sort of a blacklist.
Well, it was an interesting ride while it lasted. I’d recommend it to anybody for a month or so; but, be warned, combating insanity (Koz is the worst in this respect, although the Boy from Brasil, Andrew, is coming up on the rails) is worryingly addictive.
Oh, and I think that compulsive attitude of oaiohm’s is by far his best point. If he could marry it to a couple of brief paragraphs in halfway decent English (despite his protestations, he does manage this every now and again), then I’d quite warm to him.
Well, that, and learning not to refer to anybody who disagrees with him as “you idiot.” But then, we’ve all been there occasionally.
“It was more than a little weird when I tried to post a one-paragraph bit in support of his comment that “HUD” is a bad idea, only to find that the post vanished into nowhere. So I’m assuming that I’m on some sort of a blacklist.”
Actually , Wordpress occasionally sends a post off into hyperspace for Pog’s approval before posting. Now whether he will approve it, or take the opportunity to make you disappear I can’t tell.
Assuming you really ARE going cold turkey on the dubious pleasures of posting to the pog-blog. its been real.
“Well, that, and learning not to refer to anybody who disagrees with him as “you idiot.” But then, we’ve all been there occasionally.”
As you may have noted he has stopped casting aspersions on my abilities ever since I noted that I had never had the distinction in my career of nearly landing in jail for a screwup.
It was just too easy to pass up…;-)
Later.
“You may have noticed that I am posting less and less these days. This is because I too am getting tired of Pog’s ability to completely ignore any point that does not jibe with his world view.”
This is why I always emphasize empirical evidence when confronting him. The moment you start demanding proof and clarification is the moment he starts switching the subject.
And I am still waiting for him to tell me exactly what those metaphorical “kitchen sinks”, “cars” and “boats” are in NTFS.
Who gives a sh!t? I’d like to introduce you f**ktards to something called a “package manager”. It’s something us ultra intelligent and classy Linux users have been using since 1998.
No worries, I’m sure it is something I’m sure Mafia$oft will get around to copying one day.
@Adam:
We might just have to wait for this singularly immature technology to stabilize.
Which “package manager” was it you recommend again?
@O & FT:
Actually, part of the fun of Pog is that he routinely ignores comments he cannot answer, repeats the same broken numbers, lunges off-topic, and so on. The real joy is when he actually feels (despite the rest of this Monty Python arsenal of weapons) that he has to reply … in which case, a most un-Canadian stream of abuse comes out.
It’s a sort of moral score card, of sorts. It’s nice to know that you’ve got under his skin. I was developing a nice line in getting him to protect oiaohm (which is rather sweet), and working on the idea that he would end up having to defend Koz … which is a bit much, even for Robert.
Oh well. I’m definitely banned. I just posted an innocent question to oiaohm’s weirdo assertion that you can’t put more than fifty cores on an x86 chip “because it’s all to do with RISC,” and that one vanished, too.
Can’t say I’m at all worried, but it does raise the interesting suggestion that This Other Canadian (ie Admin) has been vindicated by the aims of the site. You rarely see oiaohm babbling over the Internet at large these days: he hides on the Pog Blog.
We, on the other hand, have my fine little friend Adam.
In many ways, we can count our blessings.
I’m going to miss pointing out his obvious ignorance, however:
“No, it would not. We were using coaxial cables back in the 1970s. They were 10 mbits/s more or less, just marginal for a GUI but snappy for a textual interface like we used.”
Er, no they weren’t. The Ethernet Blue Book was released in 1980 (only a spec, mind), and IEEE 802.3 came about in 1983. I very much doubt Robert saw any of this until the late ’80s, at best.
And the comment that 10mbs is “snappy” for a “textual interface,” but not a GUI, is hilarious.
Mind you, he would theoretically have been using X at the time.
“and that one vanished, too.”
I’m not surprised, you fell into the class of posters that posed enough unfortunate questions that you annoyed the pig er Pog. Your resignation provided him with the excuse to ban you without “banning” you.
I do believe his :Oh thank God: was
gen
So it looks like iuine. HE really doesnt know how to deal with anyone who catches him in one of his many contradictions.
“You rarely see oiaohm babbling over the Internet at large these days: he hides on the Pog Blog.”
I still cant figure this guy out. He is either an extremely knowledgeable super geek, or he is a total bushwah artist who makes it up as he goes along.
Either way I can’t believe this guy actually has a job within a country mile of any enterprise, unless its as the tech equivalent of Animal on Sesame Street.
At any rate its up to flying toaster and Hanson and myself to keep Pog and his menagerie of geeks on their toes.
I would hope that you might consider just periodically sending through a a post just often enough to annoy him.
Either way, its been real my dear doctor.
Well, oiaohm most certainly is not extremely knowledgeable. I would guesstimate that every second thing he says is total nonsense and has nothing to back it up.
He’s a very smart troll, though. (If you can be a Linux troll on a Linux site.) Adam’s alter ego with the “Church of the holy trinity” doesn’t come close to “Oops, wasn’t me, I’m dyslexic/have problems with certain radio spectrums/whatever.
Basically, oiaohm can say whatever he wants, and get away with it. And this is the really smart part: because, when you can do that, you are now free to raid every single internet site you can think of and jam the lot together, without worrying whether it is at all relevant.
Sometimes he’s fired off on keywords. This, as far as I can tell, means that he’s just added another Wikipedia search to his argument, and of course it’s good for the next one and the next one and so on.
Mostly, he just goes off on wild tangents that apparently occurred to him whilst he was typing. And there’s nothing wrong with tangents, as long as they’re under control.
But oiaohm will genuinely (and I believe honestly) rant sideways on dbus and wacky forms of concurrent processing and even whether or not Intel can currently get their fabs to produce a die with 50 ×86 cores on it — I mean, seriously — and I think he actually means it.
If there was any sort of in loco parentis in Pog (naturally, there ain’t: children are just Linux fodder), then Robert would have a slightly different attitude.
Anyway, to your main point: no, oiaohm doesn’t have any experience in anything relevant. He’s like Adam in that way. This Microsoft VAR he works for? If they let him near a screwdriver, I suspect he’s lucky.
I’m still trying to work out whether his WallOGibberish™ is hand-crafted, or simply the result of a straightforward Markov chain. If I have any spare time to check, there’s plenty of stuff to feed into the learner.
Markov chain? Learner?
IP Redirection?
Socratic method?
What a nasty little idea that would be.
Just wanted to make a screenshot ohio ham would understand and stumbled upon this http://i.imgur.com/xhnHk.png
/usr/lib is completely reasonable place for binaries and /var/lib/flashplugin-installer is a completely reasonable place for shared libraries
I do not understand why Flying Toaster quote the page History of Computer Graphics regarding 3D Visualization and said it has to do with the topic in question.I just want to say that, the page about history of computer graphics has only presented some milestones regarding the development of C.G., from the main frames to the PC (desktop computer) era.In that page there is no intention to stand for linux anyway or whatsoever that has to do with TM Repository or the topic in question, meaning this topic.I am not a linux user, actually, I have always used Windows. Anyway I have nothing aganist linux. I just prefer Windows for practical reasons.
Well, what I have to say is, that page has nothing to with the topic in question or this website, and has no intention to cause any controversy.
In addition, in the same page, History of Computer Graphics and 3D Visualization there are also old samples of the website author works, but it is not saying that it is important or distinguished. It is just there because the author was involved with computer graphics, so he put some samples of its works that were made using personal computer and software that run in Windows. Again, there is nothing to do with Linux.
Now of course it has nothing to do with the topic in question because, obviously, the discussion in which this link occured simply did not happen in this FUD entry.
Even though I do remember vaguely citing that particular website (mainly for the picture with the shuttle model in it, if my memory serves me well), but I do still need you to give me the page where the discussion took place (since it happened so long ago) in order to give you a concrete answer as to what actually happened.
Don't make me do all your homework for you now.
You must be signed in to leave comments.