Step Zero

Software installation how-tos aimed at folks with technical skills tend to assume more about the install environment than is helpful.

And, even though such how-tos are aimed at folks with SysAdmin or SysAdmin-like skills, these assumptions are still unhelpful barriers to entry.

Most of these easy-if-the-target-system-has-the-same-undocumented-additions-and-changes procedures are for installing web-centric development stacks.

But setting up a development stack and kicking its virtual tyres doesn’t require being a developer.

An IT professional in a larger organisation getting nudged to allow a new tool onto their network is just as likely to be following such a procedure as the developer who wants to use it.

Hence Step Zero.

Step Zero how-tos are the missing step to get your system into the state required for that easy-if-the-assumptions-are-shared to work.

Java runtimes on desktop clients

Java is not installed by default on most client desktop operating systems. It is not, for example, installed by default on:

  • macOS;
  • Windows;
  • Ubuntu; or
  • Fedora

But development and server tools and stacks that depend on Java tend to gloss over this by assuming you have a Java runtime installed.

The meta-assumption appears to be that these tools or stacks run on servers in racks somewhere, and the Java runtime will be available on these servers thanks to an un-named SysAdmin doing their thing.

And, these assumptions are an unhelpful barrier to the developer or program manager or SysAdmin or other computing professional who wants to kick-the-tyres of a new-to-them tool.

Hence this Step Zero document: how-to install OpenJDK 11 on the four desktop client operating systems above.

Linux and macOS terminal presentation note

The displayed terminal prompt for a given terminal command reflects the privileges required to run the command.

prompt privileges
$ normal
# administrative

Depending on the account setup, escalating to administrative privileges may be possible by pre-pending a command line with the sudo command.

If that is not possible, run commands that require administrative privileges by temporarily switching to the administrator account using the su - command and entering the administrator account's passphrase when prompted.

The Windows PowerShell equivalent is the -RunAs switch. There is, however, no convention for changing the PowerShell command prompt to visually distinguish users with normal and administrative privileges.

For the procedures included here, the current Windows user must have administrative privileges.