There are a number of programs that never seem to be installed with the base system, but should be. In this day and age of click-to-install, these programs will often require an additional install – I maintain that this should not be.
Most of these will be relevant to Linux, but the programs will often be missing on other commercial UNIXes also.
- Ruby. This is the first that comes to mind. I have been installing ruby onto systems since 1.46 – and ruby is still a fantastic scripting language, and one of the best implementations of object-orientated programming since Smalltalk.
- m4. I recently wrote about m4, and thought it was already installed on my Ubuntu Karmic system – not so. I used it to create a template for the APT sources.list file.
- ssh. This should be installed everywhere automatically, and not as an add-on. For many UNIX systems, ssh is an add-on product that must be selected or compiled from source.
- rsync. Rsync is a fabulous way to copy files across the network while minimizing traffic – even though it is not designed to be a fast way.
- ksh. This will surprise most commercial UNIX administrators. However, Linux does not come with ksh installed – and the emulation by GNU bash is weak. Now you can install either AT&T ksh-93 (the newest version!) or the old standby, pdksh (which is close to ksh-88).
OpenVMS is a different animal – and some of the things that should be installed by default would be perl, ruby, java, SMH, and ssh. I’m not sure if perl or ssh is installed by default, but they should be. OpenVMS should also support compliant NFS v3 and v4 support out of the box – without making it difficult to connect to other NFS servers.
What programs do you think should be in the base install?
Saw your article as soon as I posted a survey to compile a list of top 5 console application http://bit.ly/MyTop5ConsoleApps
My list would include:
* python
* vim (not just vi)
* ssh
* scp
* lsof
scp is included (or should be) along with ssh; however, seems to me I’ve found slogin missing from some ssh installs as well, so you may have a point.
Let’s say the ssh install should be complete – and scp should work! The OpenVMS install of SSH2 features a broken scp….
I have NO use for Ruby; Perl should be installed instead, but most people would not need either one.
ssh is installed on most Linux distros. sshd is not always, but should be.
The same here: Ruby, comparing to Perl, its codebase, number of sysadmin tools available, efficiecy is like an infant.
Implementing some tools for desktops in Ruby – why not, using it on server side – answer the same as in Java case: no, thanks.
Other tools are simply fabolous: maybe I might swap ksh with zsh.
I was trying to also keep myself limited to things that could be installed on all UNIXes and hopefully on OpenVMS as well; the ports of these programs (including some of those mentioned here, like python) can be found across UNIX environments and even to some extent on OpenVMS.
The biggest interest in Java (for me) is that if you have Java, you might also be able to run JRuby, Clojure, Jython, Groovy, or Scala as you desire – it’s like a dozen languages in one – and OpenVMS has an official version which is not included in the base install.
The case for Ruby is much more personal, but I still make the case that Make is pilloried for the same reason that Python is supposed to be great: enforced white-space. I also find Perl’s object-orientation to be wanting: Ruby is the way object-orientated scripting should be done – in my opinion.
However, Perl’s ubiquity is unmatched – albeit that for a long time (longer than you might imagine!), it was not included in the base install of Solaris. I think it was introduced in about Solaris 8 or so. OpenVMS now has Perl in the base, if I’m not mistaken: included with OpenVMS 8.x.
I don’t like the premise of the question. The base install should be lean! A better question would be, what 5 programs should be added at install-time. And, I’d say these:
– bash
– rsync
– python
– vim
– gnu screen
I’m assuming that ‘ssh’ is already in the base-install, too. Also, I might just as well have said “your preferred shell” and “your preferred scripting language”. Really, our lists are very similar.