System Admin  «Prev  Next»
Lesson 2 There is no such thing as UNIX
Objective Determine which Version of UNIX is installed on your Machine

Determine which Version of UNIX is installed on your Machine

Here's the breakdown of commands to determine your UNIX version, along with explanations: Core Command:
uname -a
This is the most universal command that works across most UNIX-based systems (Linux, macOS, BSD, Solaris, etc.). It provides general system information, including:
  • Kernel name
  • Kernel version
  • Operating system name
  • Machine hardware/architecture

Additional Commands (depending on your specific UNIX variant):
  1. Linux:
    • lsb_release -a: If you're on Linux, and the "lsb-release" package is installed, this command provides detailed information about your Linux distribution (like Ubuntu, Fedora, etc.) and its version.
    • cat /etc/os-release: This file often contains distribution and version information.
    • cat /etc/release OR cat /etc/version: These files may also hold version details on some Linux systems.
  2. macOS:
    • sw_vers: This command displays specific macOS version details.
    Example:
    If you run `uname -a`, you might get an output like this:
    Linux debian 5.10.0-13-amd64 #1 SMP Debian 5.10.106-1 (2023-03-06) x86_64 GNU/Linux
    
    In this output:
    • Linux: Kernel name
    • debian: Linux distribution name
    • 5.10.0-13-amd64: Kernel version
    • SMP Debian 5.10.106-1 (2023-03-06): Additional kernel build information
    • x86_64: Machine hardware architecture

How to Choose:
  1. Start with uname -a as it works on most UNIX-like systems.
  2. If you're on Linux, try the additional Linux-specific commands for more detailed information.
  3. If you're on macOS, use sw_vers.
linux Laptop
linux Laptop
Although it is common practice to talk about the "UNIX operating system" or a "UNIX machine", there is really no such thing as UNIX. Instead, there is a family of related operating systems, with many common features, all of which trace their ancestry back to a single source.

Evolution of UNIX

UNIX resulted from research at AT&T Bell Laboratories in the 1970s. The name is a pun: At the time, an operating system named MULTICS was in use at AT&T, and the inventors of UNIX made up their name to contrast their system with MULTICS. The early versions of the operating system were developed at Bell Labs through the early 1970s. Later, the UNIX code was released to various universities for further development. The most significant developments were made by the Computer Science laboratories at the University of California at Berkeley. At the same time, the commercial versions of UNIX continued to develop at AT&zmp;T. In the 1980s, the two strands of UNIX development
  1. AT&T and
  2. Berkeley
continued in parallel.

Berkeley Unix

The Berkeley strand got a major boost from Sun Microsystems, which used the Berkeley code as the basis for its SunOS operating system. The AT&T strand was picked up by companies such as IBM and HP. The picture was further complicated by a series of "alliance wars" in the late 1980s. In these battles, various groups of companies (for example, AT&T and Sun versus IBM, HP, DEC, and others) formed associations with the goal of producing so-called UNIX standards. The AT&T and Sun alliance produced UNIX System V, while the IBM/HP/DEC alliance (the Open Software Foundation) produced a system called OSF/1, which exists mostly as a set of standards without an implementation. The Berkeley Software Distribution was an operating system based on Unix which was used for research, developed and distributed by the Computer Systems Research Group at the University of California, Berkeley.


From the system administration point of view, the difference between two different UNIX versions might mean something as trivial as a favorite set of options or that one command works on one machine but not another. On the other hand, the difference might be so significant that an entire technique for managing some resource (such as printing) must be done completely differently on two different platforms. Knowing something about how the chaotic state of UNIX development came to be and understanding a bit about the family tree of the different UNIX systems are necessary pieces of background knowledge for a UNIX administrator.

BSD or System V Unix

When trying to classify a particular version of UNIX, the most important issue is to decide if the system is primarily a Berkeley-derived operating system (generically called BSD) or a System V-based operating system. The most commonly encountered BSD system is SunOS version 4.3. Berkeley's BSD version 4.4 is also fairly common.
The other systems include:
  1. Sun's Solaris system (also called SunOS version 5)
  2. HP's HP-UX
  3. IBM's AIX
  4. Linux

Solaris, HP-UX, and AIX are System V UNIX with a range of BSD compatibility options.
Linux, although similar to System V, is in a class of its own. The differences among various UNIX versions can be irritating to a system administrator.
For a programmer, the problem is much more serious. Writing code that will run reliably on a wide range of UNIX platforms is tricky.

Linux System Unix

The Development of Linux was one of the most surprising Events in the UNIX area. Linux was a new UNIX version derived from work of Linus Torvalds, who wrote the basics of the operating system himself. His work was picked up by people around the world who, in a remarkable cooperative effort, wrote a complete UNIX system from scratch. Early versions of Linux were primitive and unstable, but current versions (version 2+) are powerful and efficient. They also have an amazing range of features, mainly because whenever Web users want a new feature, they write it. From the system administrator's point of view, Linux is very much like System V UNIX. It offers the full range of facilities, and the administrative structure is similar to the other commercial UNIX versions. For someone trying to learn UNIX, it has some striking advantages:
  1. Linux is free (although if you do not have fast Internet access, buying an inexpensive CD release may be worthwhile).
  2. Linux runs well on Intel architectures. Most of the other UNIX versions are intended for RISC workstations, though Solaris, for example, does have an Intel version.
  3. Linux coexists with other PC operating systems in dual-boot configurations.

Exploring Linux History

comp.os.minix newsgroup on August 25, 1991:

Linux History

Hello everybody out there using minix:
I am doing a (free) operating system (just a hobby, will not be big and professional like gnu) for 386(486) AT clones. This has been brewing since April, and is starting to get ready. I would like any feedback on things people like/dislike in minix, as my OS resembles it somewhat (same physical layout of the filesystem (due to practical reasons) among other things)
Any suggestions are welcome, but I will not promise I will implement them :-) Linus ([email protected]) PS. Yes, it is free of any minix code, and it has a multi-threaded fs.
It is NOT protable[sic] (uses 386 task switching etc), and it probably never will support anything other than AT-harddisks, as that is all I have :-(.
Minix was a UNIX-like operating system that ran on PCs in the early 1990s. Like Minix, Linux was also a clone of the UNIX operating system. To truly appreciate how a free operating system could have been modeled after a proprietary system from AT&T Bell Laboratories, it helps to understand the culture in which UNIX was created and the chain of events that made the essence of UNIX possible to reproduce freely.


SEMrush Software