Having different commands on different systems does matter

October 25, 2017

In a comment on yesterday's entry about our frustrations with OmniOS lacking a lot of normal system commands, opk wrote:

As Chris mentions, there are alternatives and on a Solaris system, that means prstat and snoop. And for the vast majority of cases, they are more than just enough. Maybe they don't have quite so many options but it's unfair to criticize the lack of top and tcpdump if it is just that you're used to typing those command names on Linux.

I'm afraid that I have to disagree; I think it absolutely is fair to criticize a modern Unix system for being different in this way. In fact, I think such gratuitous differences should be criticized regularly.

If you operate in a homogenous environment (in this case, all Illumos-based) then yes, this doesn't really matter; at most you have an initial learning process as you come into the environment. But if you operate in a heterogenous environment, every divergence between different Unixes is a point of friction and an overhead. It's yet another thing to remember (or to rediscover), and although we might think otherwise, we have only a finite capacity to remember and keep track of this sort of thing. It is simpler and better to have tcpdump and top on every system than to have to keep track of how each different system does these things.

(I don't object if a system wants to have extra commands, including ones that exist because they do more than the now-standard ones; that's up to it. I just want the standard set too.)

Today, pragmatically, merely having equivalent commands under different names is not good enough. Unixes that do this create annoyance and irritation in sysadmins that have to use them in heterogenous environments (and generally a lot of people do). You can say that it shouldn't be this way, but that's not solving the real problem. In fact, people adopted many of these tools in the first place not just because they were good but also because they created uniformity across your systems, even if you had to get there by compiling things yourself.

(To be clear, this is independent of either the features of the commands or what command line arguments they take, although differences there don't help matters. Merely renaming tcpdump to networkdump is enough to make life irritating.)

Written on 25 October 2017.
« Our frustrations with OmniOS's 'KYSTY' minimalism
The 'standard set' of Unix programs is something that evolves over time »

Page tools: View Source, Add Comment.
Login: Password:
Atom Syndication: Recent Comments.

Last modified: Wed Oct 25 01:12:55 2017
This dinky wiki is brought to you by the Insane Hackers Guild, Python sub-branch.